Praktikum Modul Praktikum ke Judul Materi
: Algoritma dan Pemrograman I : 04 : Pemilihan II / Selection II
Tujuan / Sasaran
: Mahasiswa dapat membuat pseudecode dan flowchart serta mempraktekkan perintah selection/ pemilihan (Switch) : 3 Jam : C++
Waktu (lama) Aplikasi yang digunakan
I.
SWITCH Statemen ini merupakan pernyataan yang dirancang untuk menangani pengambilan keputusan yang melibatkan sejumlah pilihan alternatif yang diantaranya untuk menggantikan pernyataan IF bertingkat
-
… …
……….
…
………. ……….
Perintah SWICTH memiliki bentuk umum sebagai berikut : switch (ekspresi) { case konstanta1: pernyataan1; break; case konstanta2: pernyataan2; break; ................... ................... ………….. case konstanta_n: pernyataan_n; break; default: pernyataan_x;
Dari bentuk umum diatas, dapat dijelaskan bahwa ekspresi dapat berupa ungkapan yang bernilai integer atau bertipe karakter. Setiap konstanta1, konstanta2 sampai konstanta_n dapat berupa konstanta integer atau konstanta karakter. Setiap pernyataan1, pernyataan2 sampai dengan pernyataan_x dapat berupa sebuah atau beberapa pernyataan. Perintah switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstanta-konstanta yang berada di case. Pembandingan akan dimulai dari konstanta 1 sampai dengan konstanta yang terakhir. Jika hasil dari kondisi sama dengan nilai konstanta tertentu, misalnya konstanta2, maka perintah-perintah yang ada di case konstanta2 akan diproses sampai ditemui perintah break yang akan membawa proses keluar dari penyeleksian Algoritma dan Pemrograman I
Hal : 1
switch. Jika semua konstanta-konstanta yang dibandingkan tidak ada yang sama, maka perintah-perintah yang berada di default yang akan diproses. Bentuk dari default adalah optional dan jika tidak digunakan, maka tidak ada perintah-perintah di penyeleksian switch yang akan diproses jika pembandingan semua konstanta tidak ada yang sama. Dibawah ini contoh flowchart, algoritma dan program Pemilihan/Selection, Jika pengguna memasukkan 1, program menampilkan “Satu”; Jika pengguna memasukkan 2, program menampilkan “Dua”; Jika pengguna memasukkan 3, program menampilkan “Tiga”; Jika pengguna memasukkan 4, program menampilkan “Empat”; Jika pengguna memasukkan 5, program menampilkan “Lima”; Jika pengguna memasukkan 6, program menampilkan “Enam”, jika pengguna memasukkan 7, program menampilkan “Tujuh”,. Jika pengguna memasukkan nilai diluar jangkauan 1-7 program menampilkan “Angka tidak valid”
Pseudocode Program Memasukkan Angka dari 1 s.d. 7 Kamus N : Integer Deskripsi input(N) switch(N) case 1: print(’SATU’) break case 2: print (’DUA’) break case 3: print (’TIGA’) break case 4: print (’EMPAT’) break case 5: print (’LIMA’) break case 6: print (’ENAM’) break case 7: print (’TUJUH’) break default print (’ANGKA TIDAK VALID’)
Algoritma dan Pemrograman I
Hal : 2
Flowchart START N
F N=1 T ‘SATU’
F N=2 T ‘DUA’
F N=3 T ‘TIGA’
F N=4 T ‘EMPAT’
F N=5 T ‘LIMA’
F N=6 T F ‘ENAM’
N=7 T ‘TUJUH’ ‘ANGKA TIDAK VALID’
END
Algoritma dan Pemrograman I
Hal : 3
Nama file : switch1.cpp}
II.
Soal praktikum / latihan
Buat Pseudocode, Algoritma, Flowchart dan Programnya SWITCH TUNGGAL 1. Berdasarkan soal nomer satu, Anda buat Tampilan dari Huruf ”A” sampai dengan ”Z”. Jika pengguna memasukkan nilai diluar jangkauan 1-26, program menampilkan “Huruf tidak valid” . (nama file : Prak4-01.cpp):
Algoritma dan Pemrograman I
Hal : 4
2. Sebuah rumah makan “SHALERO”, membuat 4 buah menu yang terdiri dari : Menu 1 : Nasi Goreng dengan harga Rp. 5.000,Menu 2 : Gado-gado dengan harga Rp. 3.500,Menu 3 : Bubur Ayam dengan harga Rp. 2.500,Menu 4 : Ayam Bakar Pedas dengan harga Rp. 7.500,Bila memilih diluar dari 4 menu ini akan berkomentar “Pilihan Anda Salah” (nama file : Prak4-02.cpp) 3. Jika pengguna memasukkan 0, program menampilkan “Minggu”; Jika pengguna memasukkan 1, program menampilkan “Senin”; Jika pengguna memasukkan 2, program menampilkan “Selasa”; Jika pengguna memasukkan 3, program menampilkan “Rabu”; Jika pengguna memasukkan 4, program menampilkan “Kamis”; Jika pengguna memasukkan 5, program menampilkan “Jum’at” dan jika pengguna memasukkan 6, program menampilkan “Sabtu”. Jika pengguna memasukkan nilai diluar jangkauan 0-6, program menampilkan “Hari tidak valid” (nama file : Prak4-03.cpp) 4. Mencetak apabila Nilai (nama file : Prak4-04.cpp) Nilai A = “Sangat baik “ Niali B = “Baik” Nilai C = “cukup” Nilai D = “ Kurang” Nilai E = “ Gagal” 5. Buatlah program untuk untuk memilih hari dimana (1 = “senin”, 2 = “selasa”, 3 = “rabu”, 4 = “kamis”, 5 = “jum’at”, 6 = “sabtu”, 7 = “minggu”) selain memilih itu maka akan menampilkan “data tidak tersedia” (nama file : Prak4-05.cpp) 6. Sebuah rumah makan akan membuat program memilih menu makanan dimana (menu1 = rending (10000), menu2 = ayam (12000), dan menu3 = seafood(50000)), jika memilih salah satu dari menu tersebut maka akan muncul jumlah yang harus dibayar (jumlah*harga), dengan jumlah yang harus di input. (nama file : Prak4-06.cpp) 7. Jika memasukan (1 = “merah”, 2=”kuning”, 3=”hijau” dan 4 = “biru”). (nama file : Prak4-07.cpp) 8. Terdapat 3 menu yaitu menghitung luas persigi panjang, menghitung keliling persegi panjang dan menu yang terakhir keluar (nama file : Prak4-08.cpp) 9. Sebuah perusahaan akan menghitung gaji para pegawai nya dimana terbagi 3 golongan, setiap karyawan dibayar perjamnya adalah (golongan 1 = 50000, golongan2 = 25000 dan golongan3 = 10000), hitunglah gaji yang didapat perbulannya sesuai golongan yang dipilih dalam program (nama file : Prak409.cpp) 10. Konversi nilai (1 = A, 2 = B, 3 = C, 4 = D, 5 = E) (nama file : Prak4-10.cpp) 11. Konversi nilai (A = 1, B = 2, C =3, D=4, E = 5, F =6, G= 7, H = 8, I = 9, J= 10) (nama file : Prak4-11.cpp) 12. Sebuah supermarket akan menghitung bonus, dimana terdapat bonus 1, bonus2, dan bonus 3, jika memilih bonus 1 maka akan mendapatkan diskon 10%, jika memilih bonus 2 akan mendapatkan 20% dan jika memilih bonus 3 akan
Algoritma dan Pemrograman I
Hal : 5
mendapatkan diskon 30%, dengan menginput total belanja, hitunglah total yang harus dibayar setelah mendapatkan diskon. (nama file : Prak4-12.cpp) 13. Menghitung rumus dimana terdapat 3 rumus jika memilih rumus 1, maka akan menghitung ((y*5)+(y-2)), jika memilih rumus 2 akan menghitung ((y/2)+4) dan jika memilih rumus 3 maka akan menghitung − 4 , dimana variable x harus di input (nama file : Prak4-13.cpp) 14. Menghitung rumus dimana terdapat 3 rumus, jika memilih rumus pertama maka akan menghitung √ + 6 , jika memilih rumus kedua maka akan menghitung , dan jika memilih rumus ketiga akan menghitung 14.cpp)
√
(nama file : Prak4-
15. Buatlah program untuk menampikan pilihan rumus rangkaian Seri dan Pararel jika memilih pilihan S atau Seri maka menampilkan perhitungan seperti ini : (nama file : Prak4-15.cpp)
Jika memilih pilihan P atau Pararel maka menampilkan perhitungan seperti ini :
SWITCH BERSARANG 16. Menu untuk menghitung , dengan pilihan sebagai berikut : (nama file : Prak4-16.cpp) 1. Luas Segiempat 2. Luas Segitiga 3. Luas dan keliling Lingkaran 4. Keluar Program Dat a masukan dibaca dari masing-masing submenu. Cetak elemen masukkan dan hasil keluaran masing–masing pilihan. Bila salah memilih menu , beri komentar “Data Anda Salah” 17. Penggabungan resistor. Menghitung resistor pengganti dari 3 buah resistor yang disusun secara seri atau paralel. Rumus untuk resistor pengganti sebagai berikut: (nama file : Prak4-17.cpp) Seri: Rgab = R1 + R2 + R3 Paralel: 1/Rgab = 1/R1 + 1/R2 + 1/R3 Algoritma dan Pemrograman I
Hal : 6
Besar R1, R2 dan R3 serta jenis penyusunan (seri/paralel) diinput oleh user. 18. Pembelian yang mencapai nilai tertentu akan mendapatkan suatu potongan pembelian yang besarnya sesuai tabel berikut : (nama file : Prak4-18.cpp) Total Pembelian (Rp) Potongan(Rp) 0 – 1000 100 1001 – 10.000 500 10.001 – 30.000 2.000 > 30.000 4.000 Hitung besarnya potongan dan nilai yang harus dibayar untuk masing-masing
19. Untuk menyelesaikan masalah berikut : Dimana program akan menerima masukan berupa kode, jenis dan harga, dengan jenis adalah "A", "B", dan "C". Untuk setiap jenis, masing-masing akan diberikan diskon sebesar 10% untuk A,15% untuk B, dan 20% untuk C, Jika buka ketiganya maka mencetak “diskon tidak dihitung”. Program akan menghitung berapa harga setelah didiskon. (nama file : Prak4-19.cpp) Contoh masukan : Jenis = B kode = 10 harga = 10000 Contoh keluaran : Jenis barang B mendapat diskon = 15%, Harga setelah didiskon = 8500 20. Menu Utama untuk menghitung , dengan pilihan sebagai berikut : (nama file : Prak420.cpp) A. Segiempat 1. Luas Segiempat 2. Keliling Segiempat 3. Exit – Kembali Ke Menu Utama B. Segitiga 1. Luas Segitiga 2. Keliling Segitiga 3. Exit – Kembali Ke Menu Utama C. Keluar Program
III. -
-
Referensi Munir, Rinaldi, Algoritma & Pemrograman 1 & 2, Penerbit Informatika, Jakarta, 2003 Brookshear, Glenn, Computer Science, Penerbit Erlangga, Jakarta, 2004 Suryadi, Pengantar Algortima dan Pemrograman Yatini B, Indra, Pemrograman Terstruktur, J&J Learning Yogyakarta, 2001 Limanto, Susana, Algoritma dan pemrograman, Dinastindo Jakarta, 2002 Paul Tremblay, Jean, An Introduction to Computer Science an algorithmic Approach, McGraw-Hill, 1981 Wirth, Niklaus, Algorithmic + Data Structures = Programs, Prentice-Hall, 1976 Jogiyanto H.M, Kosep Dasar Pemrograman Bahasa C, Andi Offset Yogyakarta, 1993 Munir, Rinaldi, Algoritma dan Pemrograman Dalam Bahasa Pascal dan C, Informatika Bandung, 2001 Pranata, Antony, Algoritma dan Pemprograman, J&J Learning Yogyakarta, 2000 Andri Kristanto, Algoritma dan Pemrograman dengan C++, Graha Ilmu, 2003 Thompson Susabda Ngoen , Algoritma dan Struktur Data Bahasa C, Mitra Wacana Media, 2009
Algoritma dan Pemrograman I
Hal : 7