ALGORITMA
Istilah algoritma berasal dari nama ilmuwan muslim Abu Ja’far Muhammad
bin Musa Al Khawarismi.
= urutan langkah-langkah yang dinya-takan dengan jelas
dan tidak rancu utk memecahkan suatu masalah dlm rentang waktu tertentu. Setiap
langkah harus dapat dikerjakan dan mengha-silkan efek tertentu. Efek-efek dari
se-tiap langkah pada akhirnya akan meme-cahkan masalah secara keseluruhan.
= strategi pemecahan masalah yang meliputi metode dan
sistematika pemecahan yang dituliskan dalam notasi yang telah disepakati.
MASALAH MENJALANKAN
SEPEDA MOTOR :
1.
Masukkan
kunci kontak.
2.
Nyalakan
power supply kendaraan.
3.
Hidupkan
dengan tombol starter.
4.
Kurangi gas & tekan handle
kopling.
5.
Masukkan
gigi transmisi.
6.
Tambah
gas & lepas handle kopling perlahan.
-----------------
* Langkah di atas berlaku dalam
kondisi normal, untuk kondisi yang tidak normal langkah di atas tidak dapat
memecahkan masalah & beberapa langkah harus dibuat lebih rinci.
KARAKTERISTIK ALGORITMA
:
1.
Algoritma tidak boleh rancu.
2.
Algoritma harus tepat.
3.
Algoritma harus pasti.
4.
Algoritma harus berhingga.
TOP-DOWN DESIGN
= pemecahan masalah
dengan cara memecah masalah menjadi beberapa bagian yang lebih sederhana
(submasalah) dan memeriksa hubungan antara submasalah-submasalah tersebut untuk
dikembangkan menjadi lebih terperinci.
MASALAH
MENJALANKAN SEPEDA MOTOR (lebih rinci untuk langkah 3.):
3.
a. Jika indikator netral
menyala, hidupkan dengan tombol starter.
b.
Jika indikator netral tidak menyala,
netralkan gigi transmisi.
(i) Jika indikator netral menyala,
hidupkan dengan tombol
starter.
(ii) Jika indikator netral tidak
menyala, hidupkan
dengan
pedal kick starter.
Submasalah-submasalah
(disebut modul) harus memenuhi kriteria :
1.
Mengerjakan tugas spesifik.
2.
Tidak terlalu panjang.
LANGKAH-LANGKAH MASALAH
YANG PROGRAMMABLE (dapat diterjemahkan ke dalam bahasa pemrograman komputer dan
dapat dieksekusi/dijalankan) :
1.
Memecah masalah utama menjadi submasalah-submasalah secara
tepat (dekomposisi).
2.
Memeriksa setiap submasalah apakah dapat dipecahkan secara
tepat.
3.
Menggabungkan pemecahan semua submasalah dengan cara
tertentu se-hingga masalah utama terpecahkan.
4.
Ulangi langkah 1 sd 3 sedemikian se-hingga submasalah
terbagi menjadi subsubmasalah yang paling seder-hana dan dapat diterjemahkan
dalam bahasa pemrograman yang singkat.
PECAHKAN
MASALAH BERIKUT :
Diberikan bilangan cacah C, jumlahkan
bilangan kelipatan 3 mulai 0 sampai C
Misalnya masalah di
atas dinotasikan dengan jumlah(C).
1.
Isi i dan j dengan 0.
2.
Jika
i ≤ C,
a.
Naikkan harga i dan tambahkan 1 pada
j jika i kelipatan 3.
b.
Ulangi
langkah 2.
3.
Jika i > C, isi jumlah(C)
dengan j
Langkah 1 dan 3 sudah sederhana, tetapi langkah 2
perlu dibuat lebih rinci lagi:
Jika didefinisikan mod sebagai operator untuk sisa hasil bagi, maka dekomposisi dari
langkah 2 adalah :
2. Jika i ≤C,
a.
Tambahkan
1 pada i.
b.
Jika i mod 3 = 0 tambahkan 1 pada
j.
c.
Ulangi
langkah 2.
SECARA LENGKAP :
1.
Isi i dan j dengan 0.
2. Jika i ≤ C,
a.
Tambahkan
1 pada i.
b.
Jika i mod 3 = 0 tambahkan 1 pada
j.
c.
Ulangi
langkah 2.
3. Jika i = C, isi jumlah(C) dengan j
Masukkan bilangan batas : 15
Penjumlahan bilangan kelipatan tiga
antara 0 dan 15 adalah 45
program jumlah_kel3;
uses crt;
(*
T Pascal for Windows uses wincrt *)
var i, j, C, jumlah : integer;
begin
write('Masukkan bilangan batas : ');
readln(C);
i := 0;
j := 0;
repeat
i := i + 1;
if (i mod 3 = 0) then
j
:= j + i;
until i = C;
jumlah := j;
write('Penjumlahan bilangan’);
writeln(‘ kelipatan tiga ');
write('antara 0 dan ',C);
writeln(' adalah ',jumlah);
end.
PEMROGRAMAN
1.
Pendefinisan masalah.
2.
Pemilihan garis besar pemecahan.
3.
Dekomposisi langkah 2.
4.
Terjemahkan ke dalam bahasa pemrograman tertentu (coding).
5.
Pengujian (debugging).
KRITERIA PROGRAM YANG
BAIK :
Benar ->Bebas dari
kesalahan (Kesalahan : Syntax, Logika
& runtime)
1.
Jelas
->Dari sisi visual & pemakaian.
2.
Efisien
-> Dari sisi cara pemecahan masalah, waktu eksekusi & ruang penyimpanan.
BELAJAR PEMROGRAMAN VS
BELAJAR BAHASA PEMROGRAMAN
BELAJAR PEMROGRAMAN :
-
Belajar memecahkan masalah.
-
Belajar merumuskan algoritma.
BELAJAR BAHASA
PEMROGRAMAN :
= belajar menggunakan
suatu bahasa pemrograman komputer tertentu meli-puti syntax atau tata bahasa,
instruksi yang tersedia atau kosa kata, & cara pengoperasian
editor/kompilatornya.
Banyak sekali bahasa
pemrograman yang dapat digunakan, pemilihan penggunaannya sangat tergantung
pada masalah yang dipecahkan.
Belajar Pemrograman -> System Analyst
Belajar Bhs Pemrogr. ->
Programmer
System Analyst > Programmer
Untuk meningkatkan kemampuan pemrog-raman harus
belajar pemrograman. Karena dalam pemrograman
terdapat proses co-ding yang
melibatkan bahasa pemrog-raman, maka untuk meningkatkan kemam-puan pengkodean
harus belajar bahasa pemrograman.
Bahasa yang dipakai PASCAL, tetapi penekanannya
bukan pada bahasanya tetapi pada fungsinya sebagai alat bantu belajar algoritma
-> sintaks yang dipakai adalah sintaks sederhana, tidak mementingkan
tampilan masukan/keluaran.