Selasa, 04 September 2018

Dasar-Dasar Pemrograman : Percabangan Ii Dalam Java Beserta Pola Soal

Dasar-dasar Pemrograman : Percabangan II dalam Java beserta Contoh Soal



Block Statement 

Block statement atau sanggup juga disebut compound statement sanggup dipakai untuk mengeksekusi lebih dari satu statement pada suatu cabang dari suatu struktur percabangan. Untuk menciptakan block statement, Anda sanggup menempatkan statement-statement tersebut di antara pasangan kurung kurawal, ‘{‘ dan ‘}’. Contoh block statement sanggup dilihat pada gambar di bawah.


Perhatikan gambar di bawah! Pada Gambar tersebut, statement2 tidak termasuk dalam struktur percabangan if sehingga sanksi statement tersebut tidak bergantung kepada kondisi percabangan.



Multiway If-Else Statement 

Struktur percabangan if-else hanya sanggup mempunyai dua percabangan, bacalah slide dan modul ahad kemudian jikalau Anda lupa. Struktur percabangan yang mempunyai lebih dari 2 cabang sanggup dituliskan dengan memakai struktur multiway If-else. Contoh struktur multiway if-else sanggup dilihat pada Gambar di bawah ini !



Switch-Case Statement 

Struktur percabangan switch-case merupakan struktur percabangan yang bekerja dengan mengevaluasi nilai dari suatu controlling expression dan menyamakan karenanya dengan beberapa case label. Contoh dari struktur ini sanggup dilihat pada Gambar di bawah ini.



Nested-If Statement 

Terkadang, penggunaan struktur multiway if-else menjadi kurang efisien ketika terdapat beberapa kondisi yang sama pada beberapa branch berbeda, ibarat yang ditunjukan Gambar berikut.


Kode pada Gambar di atas sanggup diubah menjadi struktur nested-if ibarat yang ditunjukan oleh Gambar di bawah. Struktur nested-if, merupakan suatu struktur di mana percabangan berada di dalam struktur percabangan lain.



Latihan-Latihan Soal



Wombat TV


Televisi di Wombatland terdiri dari 100 channel (0 hingga dengan 99). Sayangnya, walau mempunyai banyak channel, Wombatland tidak memproduksi remote. Mr.Wombat mempunyai sebuah televisi produksi Wombatland. Namun, alasannya ialah Mr.Wombat tidak mempunyai remote, maka ia harus memindahkan channel TV secara manual dengan menekan tombol naik dan turun. Dia menyadari bahwa jikalau channel sudah mencapai 99, dan ia menekan tombol naik, maka channel akan kembali ke nol. Begitupun sebaliknya, jikalau channel sudah di nol dan ia menekan tombol turun, maka channel akan menjadi 99. Karena Mr.Wombat orang yang malas, ia selalu ingin meminimalkan penitikberatan tombol. Misalkan, jikalau channel awal ialah 2 dan channel tujuan ialah 95, maka ia akan menentukan menekan tombol turun sebanyak 7 kali daripada ia menekan tombol naik sebanyak 93 kali. Namun sayang sekali, Mr.Wombat tidak arif berhitung.

Bantulah Mr.Wombat untuk menyebarkan agenda yang menentukan jumlah minimal penitikberatan tombol serta tombol apa yang harus ditekan. 

Spesifikasi Input 

Input berupa dua buah bilangan bundar dan (0 ≤ , ≤ 99) yang dipisahkan oleh spasi, dimana ialah channel awal dan ialah channel tujuan. 

Spesifikasi Output 

Tampilkan String dengan format “<jumlah penekanan><spasi><Naik/Turun>”.

Contoh Input 1

4 15

Contoh Output 1 

11 Naik

Contoh Input 2 

99 93

Contoh Output 2 

6 Turun


Wombat Calendar



Di Wombatland terdapat suatu perusahaan percetakan kalender. Kalewom, sang pemilik perusahaan selalu kebingungan jikalau akan mencetak bulan Februari, apakah hanya 28 hari atau 29 hari. Jika tahun yang bersangkutan ialah tahun kabisat, maka bulan Februari mempunyai 29 hari. Jika bukan kabisat maka 28 hari. Berikut ketentuan tahun kabisat. 


  • Jika tidak habis dibagi 4: bukan kabisat 
  • Jika habis dibagi 4 dan tidak habis dibagi 100: kabisat 
  • Jika habis dibagi 4 dan habis dibagi 100, tetapi tidak habis dibagi 400: bukan kabisat Selain ketentuan di atas, semuanya termasuk tahun kabisat 

Bantulah Kalewom untuk menentukan tahun yang akan dicetak kabisat atau bukan. 

Spesifikasi Input 

Program akan mendapatkan input berupa bilangan bundar yang merupakan tahun yang akan dicetak. 

Spesifikasi Output 

Output berupa String, “Kabisat” jikalau tahun input ialah tahun kabisat atau “Bukan kabisat” jikalau tahun input bukan tahun kabisat. 

Contoh Input 1 

1800 

Contoh Input 2 

1600 

Contoh Output 1 

Bukan kabisat 

Contoh Output 2 

Kabisat 


Rook



Mr. Wombat sedang mencar ilmu bermain catur. Sayangnya, ia tidak terlalu ingat aturan permainan catur sehingga tidak tahu apakah perpindahan bidak yang ia lakukan sah atau tidak. 

Salah satu yang sering dilupakan oleh Mr. Wombat ialah aturan benteng. Pergerakan bidak benteng pada catur dianggap sah jikalau perpindahannya sejajar horizontal atau vertikal. Perhatikan gambar berikut. Perpindahan yang sah ditandai dengan warna hijau.


Jika x merupakan posisi bidak secara horizontal dan y merupakan posisi bidak secara vertikal, tentukan apakah perpindahan bidak benteng dari x1y1 ke x2y2 sah! Jika sah, tentukan juga ke mana bidak tersebut berpindah, ke kanan, kiri, maju, atau mundur (asumsikan bidak maju jikalau nilai y membesar). 

Spesifikasi Input 

Program akan mendapatkan input berupa empat buah bilangan bundar yang merupakan x1, y1, x2, y2 yang dipisahkan oleh spasi. 

Spesifikasi Output 

Output berupa String dengan aturan sebagai berikut. 


  • “Tidak sah” jikalau perpindahan tidak sah. 
  • “Maju” jikalau bidak catur bergerak ke arah depan posisi awal. 
  • “Mundur” jikalau bidak catur bergerak ke arah belakang posisi awal. 
  • “Kanan” jikalau bidak catur bergerak ke arah kanan posisi awal. 
  • “Kiri” jikalau bidak catur bergerak ke arah kiri posisi awal. 

Contoh Input 1 

2 3 4 5 

Contoh Input 2 

2 3 2 5 

Contoh Output 1 

Tidak sah 

Contoh Output 2 

Maju 


Wombro


Seekor wombat sedang resah untuk menentukan siapa saja diantara temannya yang merupakan sobat dekatnya. Untuk itu ia menetapkan 3 level pertemanan. Level ‘Sangat bro!’ merupakan level yang ditujukan kepada temannya yang memperlihatkan ucapan ulang tahun pada tanggal yang benar dan paling lambat 2 jam sesudah jam 12 malam. Level ‘Bro!’ merupakan teman-temannya yang memperlihatkan ucapan ulang tahun tanggal yang benar saja. Sedangkan level ‘Kurang bro!’ merupakan teman-temanya yang memperlihatkan ucapan ulang tahun pada tanggal yang salah. 

Spesifikasi Masukan 

Masukan agenda terdiri dari 3 buah bilangan bundar yaitu n, m, dan x. Bilangan bundar n (0 <= n <= 23) merupakan jam temannya memperlihatkan ucapan selamat ulang tahun. Bilangan bundar m (1 <= m <= 31) merupakan tanggal temannya memperlihatkan ucapan selamat ulang tahun. Sedangkan bilangan bundar x (1 <= x <= 31) merupakan tanggal di mana sang wombat berulang tahun. 

Spesifikasi Keluaran 

Keluarkan ‘Sangat bro!’, ‘Bro!’, atau ‘Kurang bro!’ sesuai dengan deskripsi masalah. 

Contoh Masukan 1 

0 21 21 

Contoh Masukan 2 

2 21 21 

Contoh Masukan 3 

13 21 21 

Contoh Keluaran 1 

Sangat bro! 

Contoh Keluaran 2 

Sangat bro! 

Contoh Keluaran 3 

Bro! 


Wukalapak



Toko online Wukalapak sedang mengadakan promo dengan memperlihatkan voucher belanja. Voucher tersebut memperlihatkan diskon 10% terhadap biaya total belanja. Jika barang tidak dikirim melainkan pembeli mengambil sendiri ke gudang, maka penggunaan voucher akan memotong 20% dari harga barang. Namun voucher belanja tersebut mempunyai keterbatasan, jikalau biaya pengiriman melebihi harga barang maka voucher hanya akan memotong 5% dari biaya pengiriman barang tanpa memotong harga barang. 

Berikut ialah perhitungan biaya total dan biaya pengiriman : 

biaya_total = harga_barang + biaya_pengiriman 
biaya_pengiriman = berat_barang * 2500 

Bantulah wombat untuk menentukan uang yang harus dibayar oleh wombat tersebut ! 

Spesifikasi Masukan 

Masukan terdiri dari 2 buah bilangan bundar n dan m; dan sebuah string k . Bilangan bundar n merupakan harga barang yang akan dibeli wombat. Sedangkan bilangan bundar m merupakan berat dari barang yang akan dibeli wombat. String k merupakan string bernilai ‘dikirim’ atau ‘diambil’ yang pertanda jikalau barang yang dibeli wombat akan dikirimkan oleh penjual atau diambil sendiri oleh pembeli. 

Spesifikasi Keluaran 

Uang yang harus dibayarkan oleh wombat, dengan ketelitian 2 desimal di belakang koma. 

Contoh Masukan 

12000 3 dikirim 

Contoh Keluaran 

17550.00 


Prasyarat Mata Kuliah



Seekor wombat sedang resah dikala akan melaksanakan FRS, dosen walinya menanyakan mata kuliah apa saja yang akan diambilnya. Sebenarnya wombat tersebut telah mengetahui mata kuliah apa yang hendak diambilnya, yaitu hanya mata kuliah B, namun ia resah apakah mata kuliah tersebut sanggup diambil atau tidak alasannya ialah mata kuliah B mempunyai syarat berupa SKS minimal dan status kelulusan mata kuliah A yang menjadi prasyarat dari mata kuliah B. 

Bantulah wombat tersebut menentukan apakah ia sanggup mengambil mata kuliah B atau tidak. 

Spesifkasi Masukan 

Masukan agenda terdiri dari 3 baris. Pada baris pertama terdapat sebuah bilangan bundar n (0 <= n <= 144) yang merupakan SKS total wombat 2 semester lalu. Pada baris kedua terdapat 2 buah bilangan bulat, yaitu a dan b. Bilangan bundar a merupakan nilai mata kuliah A yang gres saja diselesaikan wombat semester kemudian dan bilangan bundar b merupakan bobot SKS mata kuliah A. Pada baris ketiga terdapat bilangan bundar r dan string k. Bilangan bundar r merupakan syarat SKS minimal untuk mengambil mata kuliah B. String k merupakan string yang bernilai ‘Lulus’ atau ‘Tempuh’. Jika string k bernilai ‘Lulus’ maka wombat harus lulus mata kuliah A untuk mengambil mata kuliah B. Jika string k bernilai ‘Tempuh’ maka wombat tidak perlu lulus mata kuliah A untuk mengambil mata kuliah B. 

Program tersebut harus sanggup berjalan dengan kondisi

  • SKS sebelum pengambilan Matkul B harus lebih besar dengan syarat
  • Jika nilai Matkul A < 50, maka tidak lulus

Spesifikasi Keluaran 

Keluarkan ‘Bisa’ jikalau wombat sanggup mengambil mata kuliah B dan ‘Tidak bisa’ jikalau sebaliknya. 

Contoh Masukan 

80 

92 4 

83 Lulus 

Contoh Keluaran 

Bisa

Sumber

http://informatika.unpar.ac.id/

Modul Daspro : Percabangan II

Tugas Praktek : Percabangan II

Sumber http://wikiwoh.blogspot.com


EmoticonEmoticon