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.
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.
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
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
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!
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
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://informatika.unpar.ac.id/
Modul Daspro : Percabangan II
Tugas Praktek : Percabangan II
EmoticonEmoticon