Algoritma & Pemograman (Flowchart & C++) Eman Suryaman Junaedi eman.sj05@yahoo.co.id emansj@emansj.net 0815-140-6565-3 Bab 5 Seleksi (Selection) Eman Suryaman Junaedi eman.sj05@yahoo.co.id emansj@emansj.net 0815-140-6565-3 1
Seleksi (Selection) Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu, dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada 2 bentuk dasar seleksi / pemilihan; Statement / Penyataan IF Statement / Penyataan SWITCH Statement / Pernyataan IF Sebuah pernyataan yang dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Ada beberapa bentuk statement / pernyataan IF; Seleksi sederhana IF IF. ELSE Seleksi majemuk (bertingkat) IF. ELSE IF.. ELSE Seleksi bersarang (nested IF) 2
Seleksi Sederhana Bentuk Umum IF : if (kondisi) pernyataan ; Seleksi Sederhana : Contoh <Seleksi_1.cpp> int usia; cout <<"Berapa usia anda : "; cin >>usia; Output Berapa usia anda : 16 Anda tidak diperkenalkan menonton if (usia < 17) cout <<"Anda tidak diperkenankan menonton"; 3
Seleksi Sederhana Bentuk Umum IF. ELSE : if (kondisi) pernyataan1 ; pernyataan2; Seleksi Sederhana : Contoh <Seleksi_2.cpp> int usia; cout <<"Berapa usia anda : "; cin >>usia; Output Berapa usia anda : 18 Selamat menonton if (usia < 17) cout <<"Anda tidak diperkenankan menonton"; cout << Selamat menonton ; 4
Seleksi Sederhana Apabila dalam satu kondisi memerlukan lebih dari satu intruksi yang akan dijalankan bisa menggunakan dan. if (kondisi) pernyataan1 ; pernyataan2; pernyataann; pernyataan5; Seleksi Sederhana : Contoh <Seleksi_3.cpp> int usia; cout <<"Berapa usia anda : "; cin >>usia; if (usia < 17) cout << Anda tidak diperkenankan menonton ; cout <<"Selamat menonton" <<endl; cout <<"Harap tenang..." <<endl; cout <<"Harap HP dimatikan..." <<endl; Output Berapa usia anda : 20 Selamat menonton Harap tenang. Harap HP dimatikan. 5
Seleksi Majemuk Bentuk Umum IF. ELSE IF. ELSE : if (kondisi1) pernyataan1; if (kondisi2) pernyataan2; pernyataan3; Seleksi Majemuk : Contoh <SeleksiMajemuk.cpp> int nilai; Output Masukkan nilai : 50 Anda mendapatkan nilai C cout <<"Masukkan nilai : "; cin >>nilai; if (nilai > 80) cout <<"Anda mendapatkan nilai A"; if (nilai > 60) cout <<"Anda mendapatkan nilai B"; cout <<"Anda mendapatkan nilai C"; 6
Seleksi Bersarang (Nested IF) if (kondisi1) if (kondisi_1_1) pernyataan_1_1; pernyataan_1_2; pernyataan3; Seleksi Bersarang (Nested IF) : Contoh <SeleksiBersarang.cpp> int nilai; cout <<"Masukkan nilai : "; cin >>nilai; Output Masukkan nilai : 99 Anda mendapatkan nilai A yang sangat memuaskan if (nilai > 80) if (nilai > 90) cout <<"Anda mendapatkan nilai A yang sangat memuaskan"; cout <<"Anda mendapatkan nilai A yang sangat baik"; if (nilai > 60) cout <<"Anda mendapatkan nilai B"; cout <<"Anda mendapatkan nilai C"; 7
Latihan : <SeleksiNilaiAkhir.cpp> int nilai; cout <<"Masukkan nilai : "; cin >>nilai; if (nilai >= 0 && nilai <= 20) cout <<"Nilai akhir anda adalah E"; if (nilai >= 21 && nilai <= 40) cout <<"Nilai akhir anda adalah D"; if (nilai >= 41 && nilai <= 60) cout <<"Nilai akhir anda adalah C"; if (nilai >= 61 && nilai <= 80) cout <<"Nilai akhir anda adalah B"; if (nilai >= 81 && nilai <= 100) cout <<"Nilai akhir anda adalah A"; cout <<"Nilai anda tidak dikenali"; Latihan : <SeleksiNilaiTerbesar.cpp> Buat sebuah program menggunakan IF untuk menentukan nilai terbesar dari 2 buah bilangan, seperti yang tergambar pada flowchart dibawah ini. Waktu : 10 menit Dikerjakan dikertas dengan mencantumkan : NIM : 2010050505 NAMA : EMAN SURYAMAN JUNAEDI KELAS : 1X 8
Latihan Tulis beberapa program dari slide Bab 5 ini dan coba jalankan, program tersebut dapat ditemukan pada slide yang judulnya terdapat kata Contoh dan Latihan. Setelah semua program sukses dijalankan, copy file.cpp dan.exe ke satu folder yang bernamakan [KELAS-NAMA-NIM], contoh KELAS : 1X NIM : 2011050505 NAMA : EMAN SURYAMAN JUNAEDI 1X-EMAN SURYAMAN JUNAEDI-2011050505 Kumpulkan ke Ketua Kelas Folder yang berisi file.cpp dan.exe anda. Ketua Kelas mengumpulkan semua latihan mahasiswa pada pertemuan/perkuliahan selanjutnya. Latihan Buat Program untuk mencari nilai terbesar dari 3 buah bilangan, seperti yang tergambar dari flowchart dibawah ini. 9
Latihan Buat Program perhitungan menu makanan, yang mana terdapat beberapa kondisi di bawah ini. Nomor Pilihan Menu Makanan Harga per Porsi 1 Nasi Goreng Rp. 10.000 2 Pecel Lele Rp. 15.000 3 Capcay Rp. 20.000 4 Bakmi Goreng Rp. 25.000 Setiap pelanggan harus membeli 2 buah menu makanan yang berbeda. Adapun perhitungan diskon dalam pembelian menu makanan tersebut, antara lain; Setiap pembelian Bakmi Goreng akan mendapatkan diskon sebesar Rp. 3.000. Keseluruhan pembelian yang mana total biayanya lebih dari Rp. 30.000, akan mendapatkan diskon sebesar Rp. 5.000. Latihan 1. Nasi Goreng 2. Pecel Lele 3. Capcay 4. Bakmi Goreng Pilihan pertama : 1 Banyaknya porsi : 3 Pilihan kedua : 4 Banyaknya porsi : 1 Nasi Goreng : 3 : 30000 Bakmi Goreng : 1 : 22000 Total Biaya : 52000 Diskon : 5000 Total yang harus dibayar : 47000 10