Praktikum Modul Praktikum ke Judul Materi Tujuan / Sasaran
: Pemrograman I : 02 : Pemilihan / Selection : Mahasiswa dapat mempraktekkan perintah selection/ pemilihan (If ; If … Else ; Nested If ; Switch) : 3 Jam : Blue-J, Forte, Net-Beans
Waktu (lama) Aplikasi yang digunakan
I.
Selection (Pemilihan) Statemen ini digunakan untuk memilih bagian program yang akan dikerjakan sesuai
dengan
kondisi
yang
diberikan.
Macam-macam
statemen
pencabangan : -
If … …
……….
……
-
Perintah IF memiliki bentuk umum sebagai berikut : if (kondisi) pernyataan Bentuk diatas mempunyai arti jika kondisi bernilai benar maka pernyataan dibawahnya akan dikerjakan. Jadi
perintah
IF
merupakan
perintah
yang
menentukan
pengambilan keputusan bahwa pernyataan itu akan dikerjakan atau tidak Dibawah ini contoh
program Pemilihan/Selection, apabila data yag diinput lebih
besar atau sama dengan 60 berkomentar LULUS
Pemrograman I
Hal : 10
- If … Else …
……….
……
……….
-
Perintah IF …. ELSE memiliki bentuk umum sebagai berikut :
if (kondisi) pernyataan1 else pernyataan2
Bentuk
diatas
mempunyai
arti
jika
kondisi
benar
maka
pernyataan1 akan dikerjakan dan jika kondisi salah maka pernyataan2 yang dikerjakan.
-
Seperti pada perintah IF, maka perintah IF …. ELSE juga dapat diikuti pernyataan majemuk. Bentuk umum sebagai berikut : if (kondisi) { pernyataan1 pernyataan2 ............... ............... pernyataan_s } else { pernyataan6 pernyataan7 ................. ................ pernyataan_r }
Pemrograman I
Hal : 11
Dibawah ini contoh program Pemilihan/Selection, apabila Data yang diinput antara 60 sampai dengan 100, maka berkomentar ”LULUS” kalau tidak akan berkomentar ”TIDAK LULUS”
- IF … ELSE … IF (NESTED IF) Statemen ini digunakan untuk memilih bagian program yang akan dikerjakan sesuai dengan kondisi yang diberikan. Perintah IF dalam IF sering juga disebut dengan NESTED-IF.
…… ……
……….
……
………. ……….
Pemrograman I
Hal : 12
-
Perintah IF dalam IF atau NESTED-IF memiliki bentuk umum sebagai berikut : if (kondisi1) pernyataan1; else if(kondisi2) pernyataan2; else if(kondisi3) pernyataan3; …………. else pernyataan_t;
Dibawah ini contoh program Pemilihan/Selection, Jika pengguna memasukkan data, apabila 0-45 “Nilai E” ; 45-55 “Nilai D” ; 55-65 “Nilai C” ; 65-80 “Nilai B” ; 80-100 “Nilai A”, kalau tidak “Data Yang Diinput Tidak Valid”
Pemrograman I
Hal : 13
- 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 program Pemilihan/Selection, 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”; Jika pengguna Pemrograman I
Hal : 14
memasukkan 6, program menampilkan “Sabtu”, jika pengguna memasukkan 0, program menampilkan “Minggu”,. Jika pengguna memasukkan nilai diluar jangkauan 0-6 program menampilkan “Data tidak valid”
II.
Soal praktikum / latihan
Buat Programnya dengan nama Project Praktikum02, dimana setiap soal menggunakan 2 versi jawaban. IF....THEN 1. Dibaca dua buah bilangan yang membedakan apakah A > B, apabila lebih besar maka berkomentar “Benar” (nama class : Soal2-01) 2. Dibaca dua buah bilangan yang membedakan apakah A < B, apabila lebih kecil maka berkomentar “Salah” (nama class : Soal2-02) 3. Apabila tinggi seseorang > 160cm, dikategorikan “Manusia Melar” (nama class : Soal2-03) 4. Apabila yang dimasukkan angka > 5, maka Y = angka*10+100 (nama class : Soal2-04) Pemrograman I
Hal : 15
5. Apabila nilai ujian < 60, maka “Tidak Lulus” (nama class : Soal2-05) 6. Jika Total Belanja > 5jt, maka mendapat diskon 5% dari total belanja (nama class : Soal2-06) 7. Menentukan bilangan yang dimasukkan adalah bilangan genap (nama class : Soal2-07) 8. Apabila Total Belanja < 100.000, maka “Tidak Mendapatkan Diskon”. [Total Belanja = Quantity Barang*Harga Brg] (nama class : Soal2-08) 9. Menentukan tahun yang dimasukkan adalah tahun kabisat (nama class : Soal2-09) 10. Apabila Nilai Akhir < 60, maka “Tidak Lulus” [Nilai Akhir = 40%*UAS+ 30%*UTS+20%*Tugas+10%*Absen] (nama class : Soal2-10) 11. Apabila Total Belanja > 100jt, mendapatkan “Sepeda Motor“ (nama class : Soal2-11) IF..... THEN ..... ELSE & NESTED IF 12. Dibaca dua buah bilangan yang membedakan apakah A > B, apabila lebih besar maka berkomentar “Benar” tetapi kalau tidak akan berkomentar “Salah” (nama class : Soal2-12) 13. Dibaca dua buah bilangan yang membedakan apakah A < B, apabila lebih kecil maka berkomentar “Salah” tetapi kalau tidak akan berkomentar “Benar” (nama class : Soal2-13) 14. Apabila tinggi seseorang > 160cm, dikategorikan “Manusia Melar” tetapi kalau tidak akan berkomentar “Manusia Semampai” (nama class : Soal2-14) 15. Apabila yang dimasukkan angka > 5, maka Y = angka*10+100 tetapi kalau tidak Y=0 (nama class : Soal2-15) 16. Apabila nilai ujian < 60, maka “Tidak Lulus” tetapi kalau tidak akan berkomentar “Lulus” (nama class : Soal2-16) 17. Jika Total Belanja > 5jt, maka mendapat diskon 5% dari total belanja tetapi kalau diskon=0 (nama class : Soal2-17) 18. Menentukan bilangan yang dimasukkan adalah bilangan genap dan bilangan ganjil (nama class : Soal2-18) 19. Apabila Total Belanja < 100.000, maka “Tidak Mendapatkan Diskon”. [Total Belanja = Quantity Barang*Harga Brg] tetapi jika tidak akan berkomentar “Mendapat Diskon” (nama class : Soal2-19) 20. Bu Novita menjual mangga golek dengan harga Rp. 1.100,- per buah. Seorang pembeli akan mendapat diskon sebesar 10% jika total pembelian di atas Rp. 100.000,- Tampilkan total yang harus dibayar seorang pembeli, besarnya diskon yang didapat dan total yang harus dibayarkan sesudah dikurangi dengan diskon. (nama class : Soal2-20)
Pemrograman I
Hal : 16
21. Sebuah perusahaan akan mengadakan test penerimaan karyawan baru. Setiap pelamar akan dipanggil untuk mengikuti test jika pelamar tersebut berumur antara 20 tahun s.d. 30 tahun. Buatlah program dengan C++ yang akan memberikan keterangan apakah seseorang akan dipanggil atau tidak. Kalau usianya < 20 maka tidak dipanggil (nama class : Soal2-21) 22. Jika pengguna memasukkan 0, program menampilkan “Minggu”; Jika pengguna memasukkan nilai diluar jangkauan 0, program menampilkan “Hari tidak valid” (nama class : Soal2-22) 23. Untuk memilih huruf vokal, dari masukan karakter yang diberikan. Huruf vokal adalah e. Beri komentar jika salah (nama class : Soal2-23) 24. Hotel Merah Delima mempunyai sistem informasi tentang pembayaran penginapan, dengan masukan input : lama menginap dan harga kamar. Jumlah bayar dihitung dari lama menginap dikali dengan harga kamar/hari. Jika jumlah bayar diatas 700.000 mendapat discount 30%, jika jumlah bayar kurang dari 700.000 mendapat discount 20%. Total bayar akhir dihitung dari jumlah bayar dikurangi discount (nama class : Soal2-24) 25. Sebuah perusahaan memberikan kode bonus tersendiri bagi para salesnya. Buatlah program untuk menghitung bonus yang diterima oleh seorang sales, jika : a. Sales dengan kode Bonus A mendapat 5% dari total penjualan b. Sales dengan kode Bonus B mendapat 7% dari total penjualan c. Sales dengan kode Bonus C mendapat 10% dari total penjualan (nama class : Soal2-25) 26. Misalkan karyawan PT “XYZ” dikelompokkan berdasarkan golongannya. Upah per jam karyawan tergantung golongannya. Ketentuannya sebagai berikut : Golongan Upah per Jam Golongan Upah per Jam A Rp 3000 B Rp 3500 C Rp 4000 D Rp 4500 Jumlah jam kerja yang normal selama seminggu adalah 36 jam. Kelebihan jam kerja dianggap lembur dengan upah Rp 5000 per jam, untuk semua golongan karyawan (nama class : Soal2-26) 27. Dalam acara orientasi studi, seorang peserta harus mencari tandatangan. Tandatangan dosen dinilai 3, tandatangan mahasiswa senior yang panitia dinilai 2, tandatangan karyawan dan mahasiswa senior lain 1. Peserta dinyatakan lulus bila berhasil mendapatkan nilai 80 atau lebih, mendapat hukuman ringan bila < 80 tapi masih lebih dari 60, selain itu mendapat tugas berat. (nama class : Soal2-27) SWITCH 28. 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 class : Soal2-28) 29. 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,Pemrograman I
Hal : 17
Bila memilih diluar dari 4 menu ini akan berkomentar “Pilihan Anda Salah” (nama class : Soal2-29)
III.
Referensi -
Michael C. Daconta, Java Untuk Pemrograman C/C++, Penerbit Andi, Jogyakarta, 1997 Elliot B. Koffman I Paul A.T. Wolfgang, Objects, Abstraction, Data Structures and Design Using Java, John Wiley & Sons, Inc, 2005
Pemrograman I
Hal : 18