Praktikum : Algoritma dan Pemrograman I Modul Praktikum ke : 03 Judul Materi : Pemilihan II / Selection II ujuan / Sasaran : Mahasiswa dapat membuat pseudecode dan flowchart serta mempraktekkan perintah selection/ pemilihan (If Else. If ; Nested I) Waktu (lama) : 3 Jam Aplikasi yang digunakan : C++ I. I ELSE I (NESED I) Statemen ini digunakan untuk memilih bagian program yang akan dikerjakan sesuai dengan kondisi yang diberikan. Perintah I dalam I sering juga disebut dengan NESED-I.... - Perintah I dalam I atau NESED-I memiliki bentuk umum sebagai berikut : if (kondisi1) pernyataan1; if(kondisi2) pernyataan2; if(kondisi3) pernyataan3;. pernyataan_t; 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, Algoritma dan Pemrograman I Hal : 1
program menampilkan iga ; 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 ujuh,. Jika pengguna memasukkan nilai diluar jangkauan 1-7 program menampilkan Angka tidak valid ALGORIMA : lowchart SAR N N = 1 SAU N = 2 DUA N = 3 IGA N = 4 EMPA N = 5 LIMA N = 6 ENAM N = 7 UJUH ANGKA IDAK VALID END Algoritma dan Pemrograman I Hal : 2
Pseudocode Program Memasukkan Angka dari 1 s.d. 7 Kamus N : Integer Deskripsi Read(N) if (N = 1) then Write( SAU ) if (N = 2) then Write( DUA ) if (N = 3) then Write( IGA ) if (N = 4) then Write( EMPA ) if (N = 5) then Write( LIMA ) if (N = 6) then Write( ENAM ) if (N = 7) then Write( UJUH ) Write( ANGKA IDAK VALID ) Nama file : I03.cpp} Algoritma dan Pemrograman I Hal : 3
II. Soal praktikum / latihan Buat Pseudecode, lowchart dan Programnya 1. Berdasarkan soal nomer satu, Anda buat ampilan dari Huruf A sampai dengan Z. Jika pengguna memasukkan nilai diluar jangkauan 1-26, program menampilkan Huruf tidak valid. (nama file : Prak3-01.cpp): 2. 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 file : Prak3-02.cpp): 3. 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 : Prak3-03.cpp) 4. Misalkan karyawan P 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 file : Prak3-04.cpp) 5. Dalam acara orientasi studi, seorang peserta harus mencari tandatangan. andatangan 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 file : Prak3-05.cpp) 6. 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 diatas 500.000 mendapat discount 20%, jika jumlah bayar diatas 300.000 mendapat discount 10%. otal bayar akhir dihitung dari jumlah bayar dikurangi discount (nama file : Prak3-06.cpp) 7. 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 Algoritma dan Pemrograman I Hal : 4
menampilkan Sabtu. Jika pengguna memasukkan nilai diluar jangkauan 0-6, program menampilkan Hari tidak valid (nama file : Prak3-07.cpp) 8. Sebuah Universitas, mempunyai 7 akultas yang terdiri dari : 1 : Anda memilih akultas eknik Universitas Pancasila 2 : Anda memilih akultas Hukum Universitas Pancasila 3 : Anda memilih akultas armasi Universitas Pancasila 4 : Anda memilih akultas Ekonomi Universitas Pancasila 5 : Anda memilih akultas Komunikasi Universitas Pancasila 6 : Anda memilih akultas Psikologi Universitas Pancasila 7 : Anda memilih akultas Pariwisata Universitas Pancasila Bila memilih diluar dari 7 ini akan berkomentar Bukan di Universitas Pancasila (nama file : Prak3-08.cpp) 9. Seseorang mempunyai 3 Aktifitas yang terdiri dari : 1 : maka aktifitas Anda Makan 2 : maka aktifitas Anda Minum 3 : maka aktifitas Anda Mandi Bila memilih diluar dari 3 aktifitas ini akan berkomentar Anda Diam (nama file : Prak3-09.cpp) 10. Seseorang Dosen mempunyai range nilai yang terdiri dari : <45 : E 45 55 : D 56-60 : C 61-63 : C+ 64-67 : B- 68-71 : B 72-75 : B+ 76 79 : A- > 80 : A (nama file : Prak3-10.cpp) 11. Untuk sebuah kasus yaitu syarat tinggi badan dalam test tertentu, dimana jika jenis kelamin memilih no.1 atau laki-laki dan tinggi badan lebih dari 165, maka memenuhi syarat dan lulus, selain dari itu jika jenis kelamin memilih no.1 dan tinggi badan kurang dari 165cm maka tidak lulus. selanjutnya jika jenis kelamin memilih no.2 atau perempuan dan tinggi badan lebih dari 160 maka memenuhi syarat dan lulus, tapi jika jenis kelamin memilih no.2 atau perempuan dan tinggi badan kurang dari 160cm maka tidak lulus (nama file : Prak3-11.cpp) 12. Buatlah program untuk tampilan memilih menu seperti dibawah ini dengan menggunakan nested if (nama file : Prak3-12.cpp) Algoritma dan Pemrograman I Hal : 5
13. Jika (b < a) maka akan menghitung ((a*3)+a) jika (a > 15) maka akan menampilkan BENAR jika tidak akan menampilkan SALAH, jika (b > a) maka akan menampilkan input yang anda masukan salah (nama file : Prak3-13.cpp) 14. Sebuah restoran cepat saji akan membuat sebuah promo dimana jika (memesan > 150000) maka akan mendapatkan diskon 10% dan menampilkan total harga yang telah dikurangi diskon jika total harga yang telah dikurangi diskon lebih dari 100000 maka akan mencetak selamat anda mendapatkan souvenir (nama file : Prak3-14.cpp) 15. Seorang supir taksi akan membuat program dimana jika (jarak > 6.km) maka akan meghitung total tagihan jika (tagihan > 150000) maka akan menampilkan selamat anda mendapatkan diskon 20% dan menampilkan total tagihan yang harus dibayar setelah dikurangi diskon (harga jarak perkilometer 25000) (nama file : Prak3-15.cpp) 16. Sebuah bank akan mengadakan perekrutan karyawan, dimana akan membuat program menginput nama, dan jenis kelamin, untuk jenis kelamin terdapat 2 pilihan (1. Laki-laki dan 2.perempuan), jika (jeniskelamin = 1) maka akan menginput tinggi dan jika (tinggi >= 175), maka akan menampilkan selamat anda lulus, jika tidak akan menampilkan "Maaf, tinggi badan anda belum memenuhi syarat" jika (jeniskelamin = 2) maka akan menginput tinggi jika (tinggi >= 160) maka akan menampilkan selamat anda lulus, jika tidak akan menampilkan "Maaf, tinggi badan anda belum memenuhi syarat" (nama file : Prak3-16.cpp) 17. Untuk menampikan pilihan rumus rangkaian Seri dan Pararel jika memilih pilihan S atau Seri maka menampilkan perhitungan seperti ini : (nama file : Prak3-17.cpp) Jika memilih pilihan P/Pararel maka menampilkan perhitungan seperti ini: 18. Untuk menampilkan pilihan nilai, Pilihan A mencetak sangat baik, pilihan B mencetak baik, pilihan C mencetak cukup, pilihan D mencetak kurang, pilihan E gagal. Jika selain pilihan diatas mencetak huruf yang anda masukan salah (nama file : Prak3-18.cpp) Algoritma dan Pemrograman I Hal : 6
19. Untuk menampilkan pilihan 7 fakultas di Universitas Pancasila, dengan pilihan angka 1 7 jika selain dari pilihan itu maka tidak di tampilkan (nama file : Prak3-19.cpp) 1=akultas Ekonomi 2=akultas Hukum 3=akultas armasi 4=akultas eknik 5=akultas Psikologi 6=akultas Pariwisata 7=akultas Komunikasi 20. Untuk menampilkan jika pengguna memasukan angka 1 maka mencetak bulan januari, jika pengguna memasukan angka 2 maka mencetak bulan februari dan seterunya sampe pengguna memasukan angka 12 yang akan mencetak bulan desember, jika pengguna memasukan angka 13 maka jawabanya Bulan tidak valid (nama file : Prak3-20.cpp) 21. Seorang mahasiswa memiliki aktifitas sebagai berikut (nama file : Prak3-21.cpp) 1. Belajar 2. Beribadah 3. Makan 4. Mandi Bila memilih di luar aktifitas tersebut maka akan berkomentar Anda idur 22. Untuk menghitung rumus jika (pilihan = 1) maka akan menginput x dan jika (x > 5) maka menghitung (x + 3) selain itu maka akan menampilkan pilihan tidak tersedia (nama file : Prak3-22.cpp) 23. Jika (a < b) maka akan menghitung ((b*2)+2) jika (b > 10) maka akan menampilkan BENAR jika tidak akan menampilkan SALAH, jika (a > b) maka akan menampilkan input yang anda masukan salah (nama file : Prak3-23.cpp) 24. Untuk menghitung rumus jika (pilihan = 1) maka akan menginput x dan jika (x > 10) maka menghitung x + x selain itu maka akan menampilkan pilihan tidak tersedia (nama file : Prak3-24.cpp) 25. Menu tensi darah (nama file : Prak3-25.cpp) a. 120 b. 130 c. 110 Bila memilih di luar tensi darah tersebut akan berkomentar ensi darah anda tidak normal 26. Pilihan menu pembelian paket internet (nama file : Prak3-26.cpp) a. Paket harian b. Paket mingguan c. Paket bulanan Jika memilih di luar menu maka akan berkomentar invalid menu. Algoritma dan Pemrograman I Hal : 7
27. Untuk menampilkan keterangan berdasarkan inputan (nama file : Prak3-27.cpp) A= Sangat baik B = Baik C= Cukup D= Kurang E= Mengulang 28. Bila memasukan 1 mencetak huruf A, kalau tidak memasuka 2 mencetak huruf B, kalau tidak memasuka 3 mencetak huruf C, kalau tidak memasuka 4 mencetak huruf D, kalau tidak memasuka 5 mencetak huruf E, kalau tidak semuanya berarti pilihan salah (nama file : Prak3-28.cpp) 29. 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 : Prak3-29.cpp) 30. 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 : Prak3-30.cpp) 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 erstruktur, J&J Learning Yogyakarta, 2001 - Limanto, Susana, Algoritma dan pemrograman, Dinastindo Jakarta, 2002 - Paul remblay, 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 - hompson Susabda Ngoen, Algoritma dan Struktur Data Bahasa C, Mitra Wacana Media, 2009 Algoritma dan Pemrograman I Hal : 8