10/17/2011
Algoritma & Pemograman (Flowchart & C++)
Eman Suryaman Junaedi
[email protected] [email protected] 0815-140-6565-3
Bab 5
Seleksi (Selection)
Eman Suryaman Junaedi
[email protected] [email protected] 0815-140-6565-3
1
10/17/2011
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
10/17/2011
Seleksi Sederhana Bentuk Umum IF : if (kondisi) pernyataan ;
Seleksi Sederhana : Contoh <Seleksi_1.cpp> #include
#include Output void main() { int usia; cout <<"Berapa usia anda : "; cin >>usia;
Berapa usia anda : 16 Anda tidak diperkenalkan menonton
if (usia < 17) cout <<"Anda tidak diperkenankan menonton"; getch(); }
3
10/17/2011
Seleksi Sederhana Bentuk Umum IF …. ELSE : if (kondisi) pernyataan1 ; else pernyataan2;
Seleksi Sederhana : Contoh <Seleksi_2.cpp> #include #include Output void main() { int usia; cout <<"Berapa usia anda : "; cin >>usia;
Berapa usia anda : 18 Selamat menonton
if (usia < 17) cout <<"Anda tidak diperkenankan menonton"; else cout <<“Selamat menonton”; getch(); }
4
10/17/2011
Seleksi Sederhana Apabila dalam satu kondisi memerlukan lebih dari satu intruksi yang akan dijalankan bisa menggunakan { dan } . if (kondisi) { pernyataan1 ; pernyataan2; …… pernyataanN; } else { pernyataan5; }
Seleksi Sederhana : Contoh <Seleksi_3.cpp> #include #include void main() { int usia; cout <<"Berapa usia anda : "; cin >>usia;
Output Berapa usia anda : 20 Selamat menonton Harap tenang …. Harap HP dimatikan ….
if (usia < 17) cout <<“Anda tidak diperkenankan menonton”; else { cout <<"Selamat menonton" <<endl; cout <<"Harap tenang ...." <<endl; cout <<"Harap HP dimatikan ...." <<endl; } getch(); }
5
10/17/2011
Seleksi Majemuk Bentuk Umum IF …. ELSE IF …. ELSE : if (kondisi1) { pernyataan1; } else if (kondisi2) { pernyataan2; } ……… else { pernyataan3; }
Seleksi Majemuk : Contoh
<SeleksiMajemuk.cpp>
#include #include void main() { int nilai;
Output Masukkan nilai : 50 Anda mendapatkan nilai C
cout <<"Masukkan nilai : "; cin >>nilai; if (nilai > 80) cout <<"Anda mendapatkan nilai A"; else if (nilai > 60) cout <<"Anda mendapatkan nilai B"; else cout <<"Anda mendapatkan nilai C"; getch(); }
6
10/17/2011
Seleksi Bersarang (Nested IF) if (kondisi1) { if (kondisi_1_1) pernyataan_1_1; else pernyataan_1_2; } else { pernyataan3; }
Seleksi Bersarang (Nested IF) : Contoh
<SeleksiBersarang.cpp>
#include #include void main() { 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"; else cout <<"Anda mendapatkan nilai A yang sangat baik"; } else if (nilai > 60) cout <<"Anda mendapatkan nilai B"; else cout <<"Anda mendapatkan nilai C"; getch(); }
7
10/17/2011
Latihan : <SeleksiNilaiAkhir.cpp> #include #include void main() { int nilai; cout <<"Masukkan nilai : "; cin >>nilai; if (nilai >= 0 && nilai <= 20) cout <<"Nilai akhir anda adalah E"; else if (nilai >= 21 && nilai <= 40) cout <<"Nilai akhir anda adalah D"; else if (nilai >= 41 && nilai <= 60) cout <<"Nilai akhir anda adalah C"; else if (nilai >= 61 && nilai <= 80) cout <<"Nilai akhir anda adalah B"; else if (nilai >= 81 && nilai <= 100) cout <<"Nilai akhir anda adalah A"; else cout <<"Nilai anda tidak dikenali"; getch(); }
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
10/17/2011
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
10/17/2011
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. 2. 3. 4.
Nasi Goreng Pecel Lele Capcay 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