Praktikum Modul Praktikum ke Judul Materi
: Algoritma dan Pemrograman I : 03 : Pemilihan II / Selection II
Tujuan / Sasaran
: Mahasiswa dapat membuat pseudecode dan flowchart serta mempraktekkan perintah selection/ pemilihan (If … Else…. If ; Nested IF)
Waktu (lama) Aplikasi yang digunakan
: 3 Jam : C++
I.
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.
……
……
………. ……
………. ……….
-
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 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 “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” ALGORITMA :
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 : 2
Pseudocode Program Memasukkan Angka dari 1 s.d. 7 Kamus N : Integer Deskripsi Read(N) if (N = 1) then Write(’SATU’) else if (N = 2) then Write(’DUA’) else if (N = 3) then Write(’TIGA’) else if (N = 4) then Write(’EMPAT’) else if (N = 5) then Write(’LIMA’) else if (N = 6) then Write(’ENAM’) else if (N = 7) then Write(’TUJUH’) else Write(’ANGKA TIDAK VALID’) endif endif endif endif endif endif endif
Nama file : IF03.cpp}
Algoritma dan Pemrograman I
Hal : 3
II.
Soal praktikum / latihan
Buat Pseudecode, Flowchart dan Programnya 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 : 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 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 file : Prak3-04.cpp)
5. 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 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%. Total 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 Fakultas yang terdiri dari : 1 : “Anda memilih Fakultas Teknik Universitas Pancasila” 2 : “Anda memilih Fakultas Hukum Universitas Pancasila” 3 : “Anda memilih Fakultas Farmasi Universitas Pancasila” 4 : “Anda memilih Fakultas Ekonomi Universitas Pancasila” 5 : “Anda memilih Fakultas Komunikasi Universitas Pancasila” 6 : “Anda memilih Fakultas Psikologi Universitas Pancasila” 7 : “Anda memilih Fakultas 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=Fakultas Ekonomi 2=Fakultas Hukum 3=Fakultas Farmasi 4=Fakultas Teknik 5=Fakultas Psikologi 6=Fakultas Pariwisata 7=Fakultas 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 : Prak321.cpp) 1. Belajar 2. Beribadah 3. Makan 4. Mandi Bila memilih di luar aktifitas tersebut maka akan berkomentar “ Anda Tidur” 22. Untuk menghitung rumus jika (pilihan = 1) maka akan menginput x dan jika (x > 5) maka menghitung ( + 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 √ + 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 “Tensi 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 : Prak327.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 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 : 8