Struktur Dasar Algoritma STRUKTUR DASAR ALGORITMA (I) Algoritma Pemrograman SEQUENCE - RUNTUNAN SELECTION - PEMILIHAN Agus Sumaryanto, S.Kom mas.anto72@gmail.com REPETITION - PENGULANGAN 1 2 SEQUENCE - RUNTUNAN Runtunan (lanj.) Algoritma merupakan runtunan aksi 1. Tiap aksi dikerjakan satu per satu 2. Tiap aksi dilaksanakan tepat sekali, tidak ada aksi yang diulang 3. Urutan aksi yang dilakukan pemroses sama dengan urutan aksi sebagaimana yang ada dalam algoritma 4. Akhir dari aksi terakhir merupakan akhir algoritma A1 A2 A3 A4 MisalkanA1 adalah aksi pertama, A2 akandibaca setelaha1, A3 akan dibaca setelah A2 dst. A2 merupakan aksi awal sebelum A3, A3 awalaksi awal sebelum A4 Prosesakan dikerjakan secara beruntunsampai aksi terakhir selama tidakada kondisi lain. 3 4 1
Menukar Dua Buah Nilai Latihan Algoritma Menukar_Dua_Buah_Nilai A, B, C : integer Algoritma : A=10 B=5 C=A A=B B=C Read(A,B) Algoritma Menukar_Dua_Buah_Nilai A, B, C : integer Algoritma : A=10 B=5 A=B C=A B=C Read(A,B) 1. Buatlah Algoritma untuk menghitung Luas Segitiga. 2. Buatlah Algoritma untuk menghitung penjualan sebuah barang. Masukkannya adalah nama barang, jumlah, harga. Tentukan total penjualan jika dipotong diskon sebesar 15%!. Perhatikanduabuah algoritmadiatas. Bandingkan keluarannya setelah urutan diubah 5 6 A0 1. Catat waktu awal bicara 2. Catat waktu akhir bicara 3. Hitung selisih waktu bicara 4. Cetak selisih waktu bicara Algoritmadiatasmasih global, untuk menghasilkanalgoritmadetil maka harus diesktrak lagi. (lanj.) A1 1. Misal awal bicara T1=J1:M1:D1 2. Misal akhir bicara T2=J2:M2:D2 3. Selisih waktu bicara T3 (J3:M3:D3) = T2 T1 4. Cetak T3 Untukmendapatkanhasil denganpresisi tinggi maka perlu disamakan satuannyake satuan terkecil yaitu detik. 7 8 2
(lanj.) A2 1. T1=(J1 x 3600) + (M1 x 60) + D1 2. T2=(J2 x 3600) + (M2 x 60)+ D2 3. T3 = T2 T1 1. J3 = T3 DIV 3600 2. M3 = (T3 MOD 3600) DIV 60 3. D3 = (T3 MOD 3600) MOD 60 4. Cetak T3 = J3:M3:D3 Jika diperhatikanpada Algoritma (2), akan menghasilkan selisih dalamsatuan detikmaka pada Algoritma (3) harus dilakukan prosesmengembalikanke satuan jam, menit dan detik. SELECTION - PEMILIHAN Sebuah proses tidak selalu berjalan secara runtun, tapi kadang kala sebuah proses harus memenuhi kondisi tertentu. A B D C Kondisi Relasional 9 10 Struktur Pemilihan Bentuk If Then (1) Ada dua pernyataan pemilihan : 1. Pernyataan IF Then 2. Pernyataan Depend On Sebuah pemilihan adalah percabangan proses, dimana proses akan berlanjut ke sebuah aksi tergantung dari kondisi yang ada. If dengan satu pilihan : If <kondisi> then <aksi> endif If dengan 2 pilihan : If <kondisi> then <aksi1> <aksi2> endif <aksi> akan dilakukan jika <kondisi> bernilai benar <aksi1> akan dilakukanjika <kondisi> bernilai benar, jika <kondisi> salah maka <aksi2> dilakukan. 11 12 3
Bentuk If Then (2) Contoh If Then - If dengan 3 pilihan : If <kondisi1> then <aksi1> If <kondisi2> then <aksi2> <aksi3> Endif Endif <aksi1> akandilakukan jika <kondisi1> benar Jika <kondisi1> salah, periksa <kondisi2>, Jika <kondisi2> benar maka <aksi2> dilakukan, Jika <kondisi2> salah otomatis <aksi3> dilakukan Algoritma Kondisi_If a, b, c : integer; Algoritma Read(a) If a>=10 then b b+1 If a<5 then b b-1 b b+3 b akan ditambah 1 jika a lebih besar/sama dengan 10. b akan ditambah 3 jika a kurang dari 5, selain itu b akan dikurangi 1 13 14 Bentuk Depend On (1) Logika Depend On sama dengan pernyataan If Then Depend On lebih cocok untuk pilihan (aksi) banyak Penulisannya lebih simpel dari pada pernyataan If Then Biasanya digunakan untuk mengatur eksekusi dalam sebuah program bermenu Bentuk Depend On (2) Bentuk umum : Depend on <variabel> kondisi1 : aksi1 kondisi2 : aksi2 kondisi1 : aksi3.... kondisin : aksin Enddepend 15 16 4
Contoh Depend - On Latihan Algoritma Hari hari : integer Algoritma Read(hari) Depend on hari 1 : write( Senin ) 2 : write( Selasa ) 3 : write( Rabu ) 4 : write( Kamis ) 5 : write( Jumat ) 6 : write( Sabtu ) 7 : write( Sabtu ) Enddepend 17 1. Ubahlah algoritma hari dari Depend On ke bentuk baru menggunakan pernyataan If-Then-!. 2. Rancanglah algoritma untuk menentukan seorang mahasiswa dikatakan LULUS, HER dan GAGAL berdasarkan nilai yang dimasukkan!. 3. Sebuah toko dalam masa promosi memberikan diskon kepada pembeli sebesar 10%, 15% dan 20%. Dalam menentukan diskon, berdasarkan jumlah beli. Jumlah pembelian lebih dari 15 maka diskon sebesar 20%. Jika jumlah pembelian kurang dari 5 maka diskon sebesar 10%, selain itu diskon sebesar 15%. Hitung dan cetak berapa harus dibayar oleh pembeli setelah diberikan diskon. 18 5