STRUKTUR DASAR ALGORITMA Rio Widyatmoko, A.Md.Kom @riowidyatmoko PENDAHULUAN Pada dasarnya struktur dasar algoritma ada 3 : 1. Algoritma Sekuensial (runtunan) 2. Algoritma Percabangan 3. Algoritma Perulangan 1. Algoritma Sekuensial (runtunan) • Adalah struktur algoritma paling dasar yang bersisi rangkaian instruksi yang di proses secara sekuensial artinya dikerjakan satu per satu ,berurutan baris perbaris mulai dari baris pertama hingga baris terakhir, tanpa ada pengkondisian dan perulangan. • Karateristiknya adalah : – Tiap instruksi / langkah dikerjakan satu per satu. – Tiap instruksi dilaksanakan sekali, tidak ada instruksi yang diulang. – Urutan instruksiyang dilaksanakan pemroses sama dengan urutan instruksi sebagai tertulis di dalam teks algoritma. – Akhir dari instruksi terakhir merupakan akhir algoritma. 2. Algoritma Percabangan • Percabangan atau dalam bahasa yang lebih formal yaitu conditional statement merupakan suatu pernyataan yang menganalisa suatu kondisi dan mengambil keputusan • Seringkali suatu instruksi hanya bisa berdasarkan pada hasil analisa dikerjakan jika ia memenuhi suatu tersebut persyaratan tertentu, sehingga komputer tidak lagi mengerjakan instruksi secara sekuensial seperti pada runtunan melainkan berdasarkan syarat yang dipenuhi. • Contoh penggunaan : – Menentukan suatu bilangan bulat termasuk genap atau ganjil. – Menentukan siswa yang lulus atau tidak berdasarkan nilai ratarata yang diperoleh. – Dll. • Percabangan di dalam pemrograman digunakan oleh komputer untuk menentukan langkah kerja , sebuah perintah dikerjakan jika persyaratan atau kondisi tertentu dipenuhi. • Percabangan menggunakan operator kondisional yang akan menghasilkan nilai benar/true atau salah/false. • Jika nilai yang dihasilkan benar, maka perintah akan dilaksanakan, sedangkan jika salah, maka perintah tidak akan dilaksanakan. • Contoh: – 9 > 5, pasti selalu bernilai TRUE – N > 60, belum tentu benar, tergantung nilai N, sehingga terdapat alternatif pilihan yang dihasilkan, TRUE atau FALSE. JENIS Jenis algoritma percabangan : 1. Percabangan 1 kondisi 2. Percabangan 2 kondisi 3. Percabangan 2 kondisi atau lebih 4. Percabangan select case 1. Percabangan 1 Kondisi • Digunakan jika pemilihan hanya memberikan satu pilihan yang dilaksakan bila kondisi (persyaratan) dipenuhi (bernilai benar), dan tidak memberikan pilihan lain yang dilaksanakan bila kondisi bernilai salah. • Struktur: If kondisi Then ekspresi End If • Keterangan : Kondisi : suatu pernyataan yang akan dibandingkan kebenarannya. Ekspresi : suatu kode-kode yang akan dijalankan jika kondisi memenuhi syarat IfNilai>60 Kondisi True False Pernyataan sesudah Then hanya akan dilaksanakan bila <kondisi> bernilai benar (true). Bila <kondisi> bernilai salah (false), maka tidak ada pernyataan yang dilaksanakan. Statements Ket = ‘LULUS’ Jika nilai > 60 maka if (nilai > 60) then diberi keterangan =‘LULUS’; keterangan = ‘LULUS’; “Jika pembelian > 50000 maka mendapat hadiah cangkir” If pembelian > 50000 Then Hadiah = “Cangkir” 2. Percabangan 2 Kondisi • Mengantisipasi 2 kondisi (true / false) • Struktur: If kondisi Then ekspresi1 Else ekspresi 2 End If • Ekspresi -1 akan dilaksanakan jika kondisi bernilai benar, tetapi jika kondisi bernilai salah, maka ekspresi-2 yang akan dilaksanakan. Jika nilai>>60) 60 then maka if (nilai cetak(‘LULUS’) writeln(‘LULUS’) jika tidak else cetak(‘TDK LULUS’); writeln(‘TDK LULUS’); IfNilai>60 Kondisi False Tidak State 2Lulus True Lulus1 State “Jika peminjaman lebih dari 7 hari maka dikenakan denda sebesar 2000 “ “Jika bilangan habis dibagi dua maka bilangan itu adalah bilangan genap, jika tidak bilangan itu adalah bilangan ganjil”, If peminjaman > 7 Then Denda = 2000 Else Denda = 0 End If If bilangan mod 2 = 0 Then Ket = “Bilangan genap” Else Ket = “Bilangan ganjil” End If 3. Percabangan 2 Kondisi atau lebih • Biasa disebut percabangan if majemuk • Digunakan jika pemilihan memberikan lebih dari dua alternatif pilihan If <kondisi-1> then <ekspresi-1> else if <kondisi-2> then <ekspresi-2> else if <kondisi-3> then <ekspresi-3> else <ekspresi-4>; End if • • • jika kondisi1 terpenuhi maka ekspresi ke satu akan dijalankan. Sedangkan jika kondisi1 tidak memenuhi syarat maka akan dilewati dan mengecek apakah kondisi2 memenuhi syarat jika memenuhi maka ekspresi ke 2 akan dijalankan sedangkan jika tidak ada yang memenuhi syarat maka opsi terakhir yang akan dijalankan. ME REVIEW Percabangan 1 kondisi Percabangan 2 kondisi Digunakan jika pemilihan hanya memberikan satu pilihan yang dilaksakan yaitu bila kondisi dipenuhi bernilai benar dan tidak memberikan pilihan lain yang dilaksanakan bila kondisi bernilai salah. Digunakan jika pemilihan hanya memberikan dua pilihan yang dilaksakan yaitu bila kondisi dipenuhi bernilai benar dan juga memberikan pilihan lain yang dilaksanakan bila kondisi bernilai salah. If kondisi Then ekspresi End If If kondisi Then ekspresi1 Else ekspresi 2 End If Percabangan 2 kondisi atau lebih Sama dengan percabangan 2 kondisi tapi kondisi yang disediakan lebih dari 2 , PAHAM KAN ?? If <kondisi-1> then <ekspresi-1> else if <kondisi-2> then <ekspresi-2> else if <kondisi-3> then <ekspresi-3> else <ekspresi-4>; End if Percabangan 1 kondisi Percabangan 2 kondisi Percabangan 2 kondisi atau lebih Percabangan 1 kondisi “Jika pembelian > 50000 maka mendapat hadiah cangkir” Percabangan 2 kondisi “Jika nilai siswa diatas 60 maka keterangan lulus jika tidak maka tidak lulus “ If pembelian > 50000 Then Hadiah = “Cangkir” if (nilai > 60) then ket : LULUS else ket : TIDAK LULUS Percabangan 2 kondisi atau lebih 4. Percabangan Select Case • Digunakan sebagai alternatif dari percabangan if majemuk namun strukturnya lebih sederhana.Select Case juga mengerjakan suatu blok statemen berdasarkan uji nilai ekspresi. • Perbedaannya adalah pada tata cara penulisan dan pengelompokan nilai dari variabel/kondisi. • Struktur : LATIHAN Deskripsi : 1. Beri penjelasan termasuk jenis algoritma percabangan apa ? 2. Buat algoritma sesuai struktur ! Kerjakan di kertas selembar dan kumpulkan 1. “Jika peminjaman lebih dari 3. “Jika naik angkot dewasa 7 hari maka dikenakan denda 5000 remaja 3000 anak-anak sebesar 8000 “ 2000 selain itu gratis“ 2. “ Jika naik busway kurang dari jam 7 maka bayar 2000 selain itu 3500 “ 4. “Jika umur lebih atau samdengan 17 maka boleh menonton bioskop jika tidak maka tidak boleh “ 5. “Jika nilai diatas atau sama dengan 85 maka A Jika nilai diatas atau sama dengan 75 maka B Jika nilai diatas atau sama dengan 65 maka C Jika nilai diatas atau sama dengan 55 maka D Selain itu E “ 6. “Jika membeli remot maka akan mendapatkan baterai “ 9. “Jika nilai dibawah 50 maka akan muncul jelek sekali Jika nilai dibawah 70 maka akan muncul jelek Jika nilai dibawah 80 maka akan muncul baik Jika nilai dibawah 90 maka akan muncul baik sekali Selain itu jenius “ 7. “Jika membeli jam akan mendapatkan boks “ 10. 8. “Jika harga beli > 100000 maka diskon 25% Jika tidak, tidak diskon. “Jurusan di sebuah Sekolah dikodekan dengan nomor urut sebagai berikut: 1 : multimedia 2 : rpl 3 : akuntansi 4 : perkantoran Dengan memasukan kode angka jurusan, maka akan ditampilkan nama jurusan nya. Hal ini dapat dilakukan dengan: