Praktikum Modul Praktikum ke Judul Materi Tujuan / Sasaran
: Algoritma dan Pemrograman I : 02 : Pemilihan I / Selection I : Mahasiswa dapat membuat pseudocode, algoritma dan flowchart serta mempraktekkan perintah selection/ pemilihan (If ; If … Else) : 3 Jam : C++
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 flowchart, algoritma dan program Pemilihan/Selection, apabila bilangan N habis dibagi P maka berkomentar Benar ALGORITMA : Flowchart
Pseudocode
START
Program N bagi P; Kamus N, P : Integer
N, P
Deskripsi Input(N, P)
N mod P = 0
F
If (N mod P = 0) then Print(’BENAR’) Endif
T ‘BENAR’
END
Algoritma dan Pemrograman I
Hal : 1
{Nama file : IF01.cpp}
- 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 :
Algoritma dan Pemrograman I
Hal : 2
if (kondisi) { pernyataan1 pernyataan2 ............... ............... pernyataan_s } else { pernyataan6 pernyataan7 ................. ................ pernyataan_r } Dibawah ini contoh flowchart, algoritma dan program Pemilihan/Selection, apabila bilangan N habis dibagi P maka berkomentar “BENAR” kalau tidak habis dibagi P berkomentar “SALAH” ALGORITMA : Flowchart
Pseudocode
START
Program N bagi P; Kamus
N, P
N, P : Integer Deskripsi
N mod P = 0
F
Input(N, P) If (N mod P = 0) then Print(’BENAR’)
T ‘BENAR’
‘SALAH’
Else Print(’SALAH’)
END
Algoritma dan Pemrograman I
Hal : 3
{Nama file : IF02.cpp}
II.
Soal praktikum / latihan
Buat Pseudecode, Flowchart dan Programnya 1. Dibaca dua buah bilangan yang membedakan apakah A > B, apabila lebih besar maka berkomentar “Benar” (nama file : Prak2-01.ccp) 2. Dibaca dua buah bilangan yang membedakan apakah A < B, apabila lebih kecil maka berkomentar “Salah” (nama file : Prak2-02.ccp) 3. Apabila tinggi seseorang > 160cm, dikategorikan “Manusia Melar” (nama file : Prak2-03.ccp) 4. Apabila yang dimasukkan angka > 5, maka Y = angka*10+100 (nama file : Prak204.ccp) 5. Apabila nilai ujian < 60, maka “Tidak Lulus” (nama file : Prak2-05.ccp)
Algoritma dan Pemrograman I
Hal : 4
6. Jika Total Belanja > 5jt, maka mendapat diskon 5% dari total belanja (nama file : Prak2-06.ccp) 7. Menentukan bilangan yang dimasukkan adalah bilangan genap (nama file : Prak2-07.ccp) 8. Apabila Total Belanja < 100.000, maka “Tidak Mendapatkan Diskon”. [Total Belanja = Quantity Barang*Harga Brg] (nama file : Prak2-08.ccp) 9. Menentukan tahun yang dimasukkan adalah tahun kabisat (nama file : Prak209.ccp) 10. Apabila Nilai Akhir < 60, maka “Tidak Lulus” [Nilai Akhir = 40%*UAS+ 30%*UTS+20%*Tugas+10%*Absen] (nama file : Prak2-10.ccp) 11. Apabila Total Belanja > 100jt, mendapatkan “Sepeda Motor“ (nama file : Prak211.ccp) 12. Dibaca dua buah bilangan yang membedakan apakah A > B, apabila lebih besar maka berkomentar “Benar” tetapi kalau tidak akan berkomentar “Salah” (nama file : Prak2-12.ccp) 13. Dibaca dua buah bilangan yang membedakan apakah A < B, apabila lebih kecil maka berkomentar “Salah” tetapi kalau tidak akan berkomentar “Benar” (nama file : Prak2-13.ccp) 14. Apabila tinggi seseorang > 160cm, dikategorikan “Manusia Melar” tetapi kalau tidak akan berkomentar “Manusia Semampai” (nama file : Prak2-14.ccp) 15. Apabila yang dimasukkan angka > 5, maka Y = angka*10+100 tetapi kalau tidak Y=0 (nama file : Prak2-15.ccp) 16. Apabila nilai ujian < 60, maka “Tidak Lulus” tetapi kalau tidak akan berkomentar “Lulus” (nama file : Prak2-16.ccp) 17. Jika Total Belanja > 5jt, maka mendapat diskon 5% dari total belanja tetapi kalau diskon=0 (nama file : Prak2-17.ccp) 18. Menentukan bilangan yang dimasukkan adalah bilangan genap dan bilangan ganjil (nama file : Prak2-18.ccp) 19. Apabila Total Belanja < 100.000, maka “Tidak Mendapatkan Diskon”. [Total Belanja = Quantity Barang*Harga Brg] tetapi jika tidak akan berkomentar “Mendapat Diskon” (nama file : Prak2-19.ccp) 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 file : Prak2-20.ccp) 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
Algoritma dan Pemrograman I
Hal : 5
memberikan keterangan apakah seseorang akan dipanggil atau tidak. Kalau usianya < 20 maka tidak dipanggil (nama file : Prak2-21.ccp) 22. Jika pengguna memasukkan 0, program menampilkan “Minggu”; Jika pengguna memasukkan nilai diluar jangkauan 0, program menampilkan “Hari tidak valid” (nama file : Prak2-22.ccp) 23. Untuk memilih huruf vokal, dari masukan karakter yang diberikan. Huruf vokal adalah e. Beri komentar jika salah (nama file : Prak2-23.ccp) 24. 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. (nama file : Prak2-24.ccp) 25. 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 file : Prak2-25.ccp)
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, PrenticeHall, 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 : 6