Belajar Algoritma Pemrograman


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.

Share:

1 komentar:

Label

Recent Posts