Latihan algoritma kode program Java kali ini akan membahas cara membuat dan menghitung diskon potongan harga.
Soal ini sering dipakai untuk menguji pemahaman seputar konsep variabel, operator perbandingan, dan kondisi if else.
Soal Diskon Potongan Harga
Buatlah program yang meminta data inputan berupa total belanja. Program kemudian menghitung berapa diskon yang bisa diperoleh dengan ketentuan sebagai berikut:
- Jika total belanja kurang dari Rp. 100.000, tidak mendapat diskon.
- Jika total belanja antara Rp. 100.000 – Rp. 500.000, mendapat diskon 10%.
- Jika total belanja antara Rp. 500.000 – Rp. 1.000.000, mendapat diskon 20%.
- Jika total belanja diatas Rp.1.000.000, mendapat diskon 30%.
Kode program kemudian menampilkan harga yang harus dibayar setelah dikurangi diskon.
Berikut contoh tampilan akhir yang diinginkan (1) :
Total Belanja: Rp.200000 Selamat, anda mendapat diskon 10% Total bayar: Rp.180000
Berikut contoh tampilan akhir yang diinginkan (2) :
Total Belanja: Rp.950000 Selamat, anda mendapat diskon 20% Total bayar: Rp.760000
Berikut contoh tampilan akhir yang diinginkan (3) :
Total Belanja: Rp.2999000 Selamat, anda mendapat diskon 30% Total bayar: Rp.2099300
Berikut contoh tampilan akhir yang diinginkan (4) :
Total Belanja: Rp.70000 Total bayar: Rp.70000
Tips Membuat Kode Program Diskon Potongan Harga
Karena terdapat beberapa kondisi, kode program ini butuh struktur if else. Setiap kondisi punya syarat gabungan, sehingga juga harus paham operator perbandingan dan operator logika di bahasa Java. Terakhir, butuh sedikit operasi aritmatika untuk menghitung diskon serta total jumlah akhir yang harus dibayar.
Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian dan Cara Penulisan Variabel Bahasa Java
- Jenis-jenis Operator Aritmatika Bahasa Java
- Percabangan Kondisi IF ELSE IF Bahasa Java
- Jenis-jenis Operator Perbandingan / Relasional Java
- Jenis-jenis Operator Logika Bahasa Java
Kode Program Java Menghitung Diskon Potongan Harga
Berikut salah satu solusi dari soal menghitung diskon potongan harga menggunakan bahasa pemrograman Java:
import java.util.Scanner; class DiskonHarga { public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println("## Program Java Diskon Potongan Harga ##"); System.out.println("========================================"); System.out.println(); int total_belanja; double harga_akhir; System.out.print("Total Belanja: Rp."); total_belanja = input.nextInt(); System.out.println(); if ((total_belanja >= 100000) && (total_belanja < 500000)) { harga_akhir = total_belanja - (0.1*total_belanja); System.out.println("Selamat, anda mendapat diskon 10%"); } else if ((total_belanja >= 500000) && (total_belanja < 1000000)) { harga_akhir = total_belanja - (0.2*total_belanja); System.out.println("Selamat, anda mendapat diskon 20%"); } else if (total_belanja >= 1000000) { harga_akhir = total_belanja - (0.3*total_belanja); System.out.println("Selamat, anda mendapat diskon 30%"); } else { harga_akhir = total_belanja; } System.out.println("Total bayar: Rp."+ harga_akhir); } }
Di baris 12-13 terdapat perintah untuk deklarasi 2 variabel, yakni total_belanja dan harga_akhir.
Variabel total_belanja dipakai untuk menampung nilai input total belanja user. Ini diperoleh dari perintah total_belanja = input.nextInt()
 di baris 16.
Selanjutnya terdapat 4 pemeriksaan kondisi if else antara baris 19-33. Urutan pemeriksaan ini boleh bebas sesuai logika setiap programmer, selama memenuhi syarat soal.
Sebagai contoh, kondisi if di baris 19 akan dijalankan jika total belanja sama atau lebih besar dari 100.000, dan kurang dari 500.000. Jika ini bernilai true, maka hitung harga_akhir dengan mengurangkan isi variabel total_belanja – (0.1*total_belanja). Sebagai info tambahan, terdapat perintah cout yang berisi teks "Selamat, anda mendapat diskon 10%".
Untuk kondisi if di baris 23, akan dijalankan jika total belanja sama atau lebih besar dari 500.000, dan kurang dari 1.000.000. Jika ini bernilai true, maka hitung harga_akhir dengan mengurangkan isi variabel total_belanja – (0.2*total_belanja). Sebagai info tambahan, terdapat perintah cout yang berisi teks "Selamat, anda mendapat diskon 20%".
Untuk kondisi if di baris 27, akan dijalankan jika total belanja sama sama atau lebih besar dari 1.000.000. Jika ini bernilai true, maka hitung harga_akhir dengan mengurangkan isi variabel total_belanja – (0.3*total_belanja). Sebagai info tambahan, terdapat perintah cout yang berisi teks "Selamat, anda mendapat diskon 30%".
Terakhir, blok else di baris 31-33 akan dijalankan jika tidak memenuhi ketiga syarat diatas, yakni jika total_belanja kurang dari 100.000. Jika ini bernilai true, harga_akhir akan sama dengan total_belanja karena tidak mendapat diskon.
Total bayar kemudian ditampilkan di baris 35.
Demikian kode program latihan membuat diskon potongan harga dalam bahasa pemrograman Java. Soal seperti ini cukup sering ditemukan dengan beberapa variasi harga diskon dan syarat tambahan.