04 Selection+Switch_Modul prak-Algo I Versi 5 Kelas A
Praktikum : Algoritma dan Pemrograman I Modul Praktikum ke : 04 Judul Materi : Pemilihan II / Selection II
Tujuan / Sasaran : Mahasiswa dapat membuat pseudecode dan flowchart serta mempraktekkan perintah selection/ pemilihan (Switch)
Waktu (lama) : 3 Jam Aplikasi yang digunakan : C++
…
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 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’)
Flowchart START N ‘SATU’ END N = 1 F T ‘DUA’ N = 2 T F N = 3 F ‘TIGA’ N = 4 T F ‘EMPAT’ T N = 5 F ‘LIMA’ T N = 6 F ‘ENAM’ T N = 7 ‘TUJUH’ T F ‘ANGKA TIDAK
VALID’ 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):
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 : Prak4- 09.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 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
4
jika memilih rumus 3 maka akan menghitung , 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 (nama file : Prak4- 14.cpp)
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
2. Keliling Segiempat
3. Exit – Kembali Ke Menu Utama
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 : Prak4- 20.cpp)
A. Segiempat
1. Luas Segiempat
C. Keluar Program
3. Exit – Kembali Ke Menu Utama
B. Segitiga
1. Luas Segitiga
2. Keliling Segitiga
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
Media, 2009
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,
- Thompson Susabda Ngoen , Algoritma dan Struktur Data Bahasa C, Mitra Wacana