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.
SWITCHStatemen 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)
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
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
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
Nama file : switch1.cpp}
II.
Soal praktikum / latihan
Buat Pseudocode, Algoritma, Flowchart dan Programnya
SWITCH TUNGGAL
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
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 √ (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
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)
Jenis barang B mendapat diskon = 15%, Harga setelah didiskon = 8500
20. Menu Utama untuk menghitung , dengan pilihan sebagai berikut : (nama file :
Prak4-- 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