02 Selection+if_IfElse _Modul prak-Algo I Versi 5 Kelas A

  Praktikum : Algoritma dan Pemrograman I Modul Praktikum ke : 02 Judul Materi : Pemilihan I / Selection I Tujuan / Sasaran : Mahasiswa dapat membuat pseudocode, algoritma dan flowchart serta mempraktekkan perintah selection/ pemilihan (If ; If … Else)

  Waktu (lama) : 3 Jam Aplikasi yang digunakan : C++

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) If (N mod P = 0) then F

  N mod P = 0 Print(’BENAR’) Endif

  T ‘BENAR’ END

  {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 :

  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

  Input(N, P) F N mod P = 0

  If (N mod P = 0) then Print(’BENAR’) T

  Else ‘SALAH’ ‘BENAR’ Print(’SALAH’) END

  {Nama file : IF02.cpp}

II. Soal praktikum / latihan

  Buat Pseudecode, Flowchart dan Programnya

  Perintah  IF

  1. Jika seseorang memiliki gaji >5.000.000 maka dikategorikan orang kaya (nama file : Prak2-01.cpp)

  2. Jika seseorang memiliki tinggi berat badan badan <70 maka di kategorikan sebagai orang besar (nama file : Prak2-02.cpp)

  3. Andi mejual bolpoint di tokonya dengan harga Rp 1.000,- per biji . dengan ketentuan akan memberi diskon 20% setiap membeli seharga Rp50.000,00.

  Tampilkan total yang harus dibayar seoraang pembeli sesudah dikurangi harga diskon (nama file : Prak2-03.cpp)

  4. Tampilkan sebuah kondisi jika berat badan lebih dari 70 kg maka akan menampilkan “Kamu Gendut”.(tanpa inputan) (nama file : Prak2-04.cpp)

  5. Input nilai1 s.d nilai 5 , jika rata-rata nilai lebih dari 70 maka dinyatakan lulus (nama file : Prak2-05.cpp)

  6. Diketahui : UAS = 90 UTS = 89 Tugas = 60 Hasil=(UAS x 5%)+(UTS x 3%)+ (Tugas x 2%).

  Jika hasil > 75 maka di nyatakan “LULUS” (nama file : Prak2-06.cpp)

  7. Tampilkan soal 6 dengan menggunakan inputan (nama file : Prak2-07.cpp)

  8. Lakukan dengan inputan, jika angka > 8 , maka Y = angka * 30/ 5 (nama file : Prak2-08.cpp)

  9. Jika seorang memiliki gaji < 5.000.000 dikategorikan orang kurang mampu (nama file : Prak2-09.cpp)

  10. Karyawan di PT sejahtera dihitung perjam sebesar Rp,3500/jam. Jika jam kerja lebih dari 48 jam maka dihitung lembur. Gaji jam untuk lembur adalah Rp, 4000/jam Hitung jumlah yang harus di dapat jika dia bekerja selama seminggu (nama file : Prak2-10.cpp)

  11. Apabila Nilai Akhir < 60, maka “Tidak Lulus” [Nilai Akhir = 40%*UAS+ 30%*UTS+20%*Tugas+10%*Absen] (nama file : Prak2-11.cpp)

  12. Apabila Total Belanja > 100jt, mendapatkan “Sepeda Motor“ (nama file : Prak2- 12.cpp)

  13. Menentukan apakah sebuah bilangan benilai Negatif (nama file : Prak2-13.cpp)

  14. Jika seseorang memiliki tensi darah < 90 maka dia dikategorikan seseorang yang hipotensi (nama file : Prak2-14.cpp)

  15. Jika seseorang memiliki tensi darah > 120maka dia dikategorikan seseorang memiliki kelainan hipertensi (nama file : Prak2-15.cpp)

  16. Jika membeli barang di toko bunda akan mendapatkan diskon 50% dengan ketentuan belanja seharga >100.000 (nama file : Prak2-16.cpp)

  17. Jika seseorang belanja dengan total > 200.000 maka akan mendapatkan voucher pulsa (nama file : Prak2-17.cpp)

  18. Budi sedang berbelanja di Indomaret dengan barang yang dibelinya Susu Formula seharga 10.000, Kopi 1kg bubuk seharga 15.000 dan pampers bayi seharga 7.000 . Jika budi membeli : Susu Formula sebanyak 3 buah, Kopi 1kg bubuk 2buah, dan pamper bayi 2 buah. Hitung dan tampilkan Jumlah total belanja sebelum diskon, dan total yang harus dibayar setelah diskon. Jika total belanjanya lebih dari 50.000 maka mendapatkan diskon 10% (nama file : Prak2- 18.cpp)

  19. Apabila nilai ujian < 60 maka “Tidak lulus” (nama file : Prak2-19.cpp)

  29. Apabila Total Belanja < 100.000, maka “Tidak Mendapatkan Diskon”. [Total Belanja = Quantity Barang*Harga Brg] (nama file : Prak2-29.cpp)

  35. Apabila nilai ujian < 60, maka “Tidak Lulus” tetapi kalau tidak akan berkomentar “Lulus” (nama file : Prak2-35.cpp)

  34. Apabila yang dimasukkan angka > 5, maka Y = angka*10+100 tetapi kalau tidak Y=0 (nama file : Prak2-34.cpp)

  33. Apabila tinggi seseorang > 160cm, dikategorikan “Manusia Melar” tetapi kalau tidak akan berkomentar “Manusia Semampai” (nama file : Prak2-33.cpp)

  32. Dibaca dua buah bilangan yang membedakan apakah A < B, apabila lebih kecil maka berkomentar “Salah” tetapi kalau tidak akan berkomentar “Benar” (nama file : Prak2-32.cpp)

  31. Dibaca dua buah bilangan yang membedakan apakah A > B, apabila lebih besar maka berkomentar “Benar” tetapi kalau tidak akan berkomentar “Salah” (nama file : Prak2-31.cpp)

  Perintah  IF ...... Else

  30. Menentukan tahun yang dimasukkan adalah tahun kabisat (nama file : Prak2- 30.cpp)

  28. Menentukan bilangan yang dimasukkan adalah bilangan ganjil (nama file : Prak2- 28.cpp)

  20. Apabila Nilai Akhir > 60, maka “LULUS” [Nilai Akhir = 40%*UAS+ 30%*UTS+20%*Tugas+10%*Absen] (nama file : Prak2-20.cpp)

  27. Jika Total Belanja > 5jt, maka mendapat diskon 5% dari total belanja (nama file : Prak2-27.cpp)

  26. Apabila nilai ujian < 60, maka “Tidak Lulus” (nama file : Prak2-26.cpp)

  25. Apabila yang dimasukkan angka > 5, maka Y = angka*10+100 (nama file : Prak2- 25.cpp)

  24. Apabila tinggi seseorang > 160cm, dikategorikan “Manusia Melar” (nama file : Prak2-24.cpp)

  23. Dibaca dua buah bilangan yang membedakan apakah A < B, apabila lebih kecil maka berkomentar “Salah” (nama file : Prak2-23.cpp)

  22. Dibaca dua buah bilangan yang membedakan apakah A > B, apabila lebih besar maka berkomentar “Benar” (nama file : Prak2-22.cpp)

  21. Jika Total Belanja < 5jt, maka mendapat diskon = 0 (nama file : Prak2-21.cpp)

  36. Jika Total Belanja > 5jt, maka mendapat diskon 5% dari total belanja tetapi kalau diskon=0 (nama file : Prak2-36.cpp)

  37. Menentukan bilangan yang dimasukkan adalah bilangan genap dan bilangan ganjil (nama file : Prak2-37.cpp)

  38. 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-38.cpp)

  39. 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-39.cpp)

  40. 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 file : Prak2-40.cpp)

  41. Jika pengguna memasukkan 0, program menampilkan “Minggu”; Jika pengguna memasukkan nilai diluar jangkauan 0, program menampilkan “Hari tidak valid” (nama file : Prak2-41.cpp)

  42. Untuk memilih huruf vokal, dari masukan karakter yang diberikan. Huruf vokal adalah e. Beri komentar jika salah (nama file : Prak2-42.cpp)

  43. 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-43.cpp)

  44. 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-44.cpp)

  45. Tampilkan nilai bangun ruang yang dipilih dengan inputan, jika anda memasukan 1 makan akan menghitung keliling dan luas segitiga, jika anda memilih 2 makan akan menghitung keliling dan luas persegi. Jika anda memilih 3 ( “Tidak tersedia”) (nama file : Prak2-45.cpp)

  46. Apabila tinggi seseorang > 170cm dikatagorikan “Manusia melar” tetapi kalau kurang < 170cm disebut “Manusia Semampai” (nama file : Prak2-46.cpp)

  47. Lakukan dengan inputan, menghitung penghasilan Steam mobil dihari ke-1 dan ke-2. Jumlah pengunjung dihari pertama 7 mobil, jumlah pengunjung dihari ke 2 15 mobil. Harga untuk Steam mobil Rp. 15.000/mobil. Jika penghasilan dihari kedua > penghasilan dihari pertama mencetak “Lebih untung” jika tidak “Kurang untung” (nama file : Prak2-46.cpp) menampilkan “Kamu Gendut” jika tidak maka akan menampilkan “Berat Kamu Normal”(tanpa input) (nama file : Prak2-52.cpp) 53.

  48. Menentukan bilangan yang dimasukan apakah bilangan ganjil atau genap (nama file : Prak2-48.cpp)

  49. Sebuah hotel X menawarkan diskon kepada pelanggannya. Dengan ketentuan total bayar lebih dari 500.000 maka akan mendapatkan diskon 10% jika tidak maka tidak akan mendapat diskon. 1 hari menginap = Rp.275.000 terhitung kelipatannya. Jika Sari menginap di hotel tersebut selama 3 hari berapa total bayar sebelum diskon dan sesudah diskon (nama file : Prak2-49.cpp)

  50. Buat suatu kondisi jika x=1 maka akan menghitung luas segitiga, dan jika x=2 maka akan menghitung luas persegi, jika diketahui bahwa si A ingin menghitung luas segitiga bagaimana programnnya (tanpa inputan).(alas =12 tinggi= 20 sisi=40) (nama file : Prak2-50.cpp)

  51. Buat suatu kondisi jika x=1 maka akan menghitung luas segitiga, dan jika x=2 maka akan menghitung luas persegi.dengan menggunakan inputan.(menginput nilai x,alas,tinggi ,dan sisi) (nama file : Prak2-51.cpp)

52. Tampilkan sebuah kondisi jika berat badan lebih dari 70 kg maka akan

  Seorang pegawai yang bekerja di perusahaan Y memperoleh gaji berbeda beda sesuai dengan golongannya. untuk pegawai yang bergolongan A mendapatkan gaji Rp.4000.000 per bulan di tambah dengan uang lembur 50.000 per jam dan yang lain tidak mendapat uang lembur. Jika Pak Anto pegawai bergolongan A . berapa gaji yang di terima pak Anto jika selama 1 bulan dia bekerja lembur selama 5 jam (nama file : Prak2-53.cpp)

III. Referensi

  • Munir, Rinaldi, Algoritma & Pemrograman 1 & 2, Penerbit Informatika,
  • Brookshear, Glenn, Computer Science, Penerbit Erlangga, Jakarta,
  • Suryadi, Pengantar Algortima dan Pemrograman - Yatini B, Indra, Pemrograman Terstruktur, J&J Learning Yogyakarta,

  2004

  • Limanto, Susana, Algoritma dan pemrograman, Dinastindo Jakarta,
  • Paul Tremblay, Jean, An Introduction to Computer Science an
  • Wirth, Niklaus, Algorithmic + Data Structures = Programs, Prentice-
  • Jogiyanto H.M, Kosep Dasar Pemrograman Bahasa C, Andi Offset Yogyakarta, 1993
  • Munir, Rinaldi, Algoritma dan Pemrograman Dalam Bahasa Pascal
  • Pranata, Antony, Algoritma dan Pemprograman, J&J Learning Yogyakarta, 2000
  • Andri Kristanto, Algoritma dan Pemrograman dengan C++, Graha Ilmu,
  • Thompson Susabda Ngoen , Algoritma dan Struktur Data Bahasa C,

  2002

  algorithmic Approach, McGraw-Hill, 1981

  Hall, 1976

  dan C, Informatika Bandung, 2001

  2003

  Mitra Wacana Media, 2009

  Jakarta, 2003

  2001