Algoritma Pemrograman Pertemuan Ke-5 Penyeleksian Kondisi Rahmady Liyantanto
[email protected] liyantanto.wordpress.com
S1 Teknik Informatika-Unijoyo
Sub Pokok Bahasan
Pendahuluan Penyeleksian Satu Kasus Penyeleksian Dua Kasus Penyeleksian Tiga Kasus atau lebih (tersarang) Struktur CASE
S1 Teknik Informatika-Unijoyo
Pendahuluan
Pada umumnya, suatu permasalahan yang kompleks mengandung suatu penyeleksian kondisi atau dikatakan permasalahan tersebut memiliki beberapa alternatif pelaksanaan aksi Dengan menyeleksi suatu kondisi, maka selanjutnya dapat ditentukan tindakan apa yang harus dilakukan, tergantung pada hasil kondisi yang diseleksi tersebut. Jadi suatu aksi hanya dikerjakan apabila persyaratan atau kondisi tertentu dipenuhi
S1 Teknik Informatika-Unijoyo
Penyeleksian Satu Kasus
Notasi algoritmik untuk analisis penyeleksian satu kasus adalah dengan menggunakan struktur IF-THEN:
Kondisi akan diseleksi oleh statemen if q Bila
kondisi bernilai benar (true): aksi sesudah kata then (dapat berupa satu atau lebih aksi) akan diproses
q Bila
kondisi bernilai salah (false): tidak ada aksi apapun yang akan dikerjakan.
Statemen endif adalah untuk mempertegas bagian awal dan bagian akhir struktur IFTHEN. S1 Teknik Informatika-Unijoyo
Contoh Penyeleksian Kondisi Satu Kasus [1] Contoh: Algoritma menentukan apakah sebuahbilangan bulat merupakan bilangan genap.
S1 Teknik Informatika-Unijoyo
Contoh Penyeleksian Kondisi Satu Kasus [2]
S1 Teknik Informatika-Unijoyo
Penyeleksian Dua Kasus
Notasi algoritmik untuk analisis penyeleksian dua kasus adalah dengan menggunakan struktur IFTHEN-ELSE:
Dalam struktur IF-THEN-ELSE: q
aksi1 akan dilaksanakan jika kondisi bernilai benar (true)
q
jika kondisi bernilai salah (false) maka aksi2 yang akan dilaksanakan
q
Statemen else menyatakan ingkaran (negation) dari kondisi.
S1 Teknik Informatika-Unijoyo
Contoh Penyeleksian Kondisi Dua Kasus [1]
Contoh: Algoritma menentukan bilangan maksimum (terbesar) dari dua buah bilangan bulat.
S1 Teknik Informatika-Unijoyo
Contoh Penyeleksian Kondisi Dua Kasus [2]
S1 Teknik Informatika-Unijoyo
Penyeleksian Tiga Kasus/Lebih (Tersarang)
Notasi algoritmik untuk analisis penyeleksian tiga kasus atau lebih (tersarang) menggunakan struktur IF-THEN-ELSE, sebagaimana halnya pada masalah dengan dua kasus Tiga kasus:
S1 Teknik Informatika-Unijoyo
Penyeleksian …(contd)
Empat kasus:
S1 Teknik Informatika-Unijoyo
Penyeleksian …(contd)
Contoh: Algoritma menentukan indeks nilai ujian mahasiswa:
S1 Teknik Informatika-Unijoyo
S1 Teknik Informatika-Unijoyo
Struktur CASE
Struktur CASE dapat digunakan untuk menganalisis penyeleksian dua kasus atau lebih dan bentuknya adalah lebih sederhana daripada struktur IF-THEN-ELSE yang memiliki bentuk bertingkat-tingkat
Kondisi1, kondisi2, ...kondisiN dapat bernilai benar atau salah. Tiap kondisi diperiksa nilai kebenarannya mulai dari kondisi pertama sampai ditemukan kondisi yang benar: q
Jika kondisi ke-k benar, maka aksi ke-k dilaksanakan, selanjutnya keluar dari struktur CASE
q
Aksi yang dipasangkan dengan kondisi ke-k dapat lebih dari satu, karena itu ia berupa runtunan
q
Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise (optional) dikerjakan. S1 Teknik Informatika-Unijoyo
Ekivalensi CASE dengan IF IF--THENTHEN-ELSE
Struktur CASE menggantikan analisis kasus yang ekivalen dengan struktur IFTHEN-ELSE berikut ini:
S1 Teknik Informatika-Unijoyo
Contoh CASE
Contoh: Algoritma menentukan nama bulan berdasarkan pada nomor bulannya.
S1 Teknik Informatika-Unijoyo
S1 Teknik Informatika-Unijoyo
Keberadaan CASE
Tidak semua bahasa pemrograman menyediakan struktur CASE (misalnya Bahasa Fortran). Bahasa Pascal dan C menyediakan struktur ini. Jika bahasa pemrograman tidak menyediakan struktur CASE, maka struktur CASE dapat diganti dengan struktur IF-THEN-ELSE yang ekivalen
S1 Teknik Informatika-Unijoyo
Kesimpulan
Suatu permasalahan dapat dianalisa berdasarkan jumlah kasus yang dimilikinya, sehingga nantinya dapat ditentukan aksi apa yang akan dilakukan bila suatu kasus dimasuki Struktur penyeleksian adalah berupa struktur IF-THEN (atau IF-THEN-ELSE) dan struktur CASE
S1 Teknik Informatika-Unijoyo
Daftar Pustaka
Jogiyanto HM [1989]. Turbo Pascal,Yogyakarta: Andi Offset. Noor Ifada [2005]. Diktat Matakuliah Algoritma Pemrograman (Hibah Kompetisi A1), Bangkalan: Jurusan Teknik Informatika, Universitas Trunojoyo. Rinaldi Munir [2003]. Algoritma dan Pemrograman dengan Pascal dan C edisi Kedua, Bandung: Informatika.
S1 Teknik Informatika-Unijoyo