Langsung ke konten utama

kombinasi switch case dan if else



Berlajar java kombinasikan switchcase dan if else if


Kita baca dari judulnya saja sudah kelihatan rumit bahkan sudah pusing. Tapi tenang jangan ambil pusing jawabanya gampang kok.
Ok biar gak kelamaan bingung kita langsung simak soalnya baik-baik.
SOAL :
PT. Senang UTS sedang membutuhkan seorang Developer dalam membuat aplikasi Penyewaan Mobil.
Berdasarkan hasil Analisa kebutuhan aplikasi, data – data yang dibutuhkan antara lain:
NO.
JENIS MOBIL
HARGA PER 6 JAM
1.
BMW
Rp 420.000,-
2.
LAMBORGINI
Rp 360.000,-
3.
HONDA BRIO
Rp 300.000,-
4.
SUZUKI CELERIO
Rp 240.000,-
Ketentuan aplikasi:
1.       User dapat menginputkan identitas penyewa/user (No. KTP, Nama, Alamat, No. Telp)
2.       User dapat memilih jenis Mobil yang akan disewa (1/2/3/4)
3.       User dapat menginputkan lama penyewaan mobil
4.       User dapat menginputkan status penyewa (member/sewaBaru)
Proses1:
5.       Menghitung totalHarga
·         totalHarga = hargaSewa * lamaSewa
6.       Jika statusPenyewa adalah Member, maka penyewa akan mendapatkan diskon sebesar 15 % dari totalHarga
7.       Jika statusPenyewa adalah sewaBaru, maka akan ditampilkan pesan: “Anda belum terdaftar sebagai member kami”, dan totalHarga tetap
8.       User / penyewa dapat menginputkan jumlahPembayaran
Proses 2:
9.       Menghitung Kembalian
Output:
1.       Identitas Penyewa (No. Ktp, Nama, Alamat, No. Telp)
2.       jenisMobil yang disewa
3.       Harga sewa
4.       lamaSewa
5.       statusSewa
6.       totalHarga
7.       diskon
8.       totalBayar
9.       jumlahPembayaran
10.   uangKembalian

Tips
karna ini soal cerita sebaiknya Analisa dulu soalnya biasanya soal cerita sering membuat binggung dan pusing karna harus membaca panjan lebar,yang perlu dianalisa kira-kira brapa jumlah variable/variable apa aja yang perlu dibuat dan tipe data yang pas digunakan untuk setiap variablenya.
OK……..
Dan saya akan memberikan jawaban dengan dua versi
1.       versi if else if
2.       versi Switch case



JAWABANNYA versi if else if :
/*
 * NAMA : putu eka mulyana
 * SITE : putuekamulyana.blogspot.com
 * Facebook : www.facebook/putuekamulyana
 */
package jawaban;

import java.util.Scanner;

/**
 *
 * @author putu
 */
public class PTSenangUTS {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
//variablenya
        int pilih, harga = 0, lamaSewa, totalHarga, diskon = 0, totalBayar, jumlahBayar, kembalian;
        String noKTP, nama, alamat, noTelp, statusPenyewa, jenisMobil = "";
        String dataMobil = "Merk Mobil\n"
                + "BMW\t: Rp 420.000/ 6 jam\n"
                + "Lamborgini\t: Rp 360.000/ 6 jam\n"
                + "Honda Brio\t: Rp 300.000/ 6 jam\n"
                + "Suzuki Celerio\t: Rp 240.000/ 6 jam";
//system input
        System.out.println(dataMobil);
        System.out.print("Masukkan No. KTP anda: ");
        noKTP = scan.nextLine();
        System.out.print("Masukkan Nama anda: ");
        nama = scan.nextLine();
        System.out.print("Masukkan Alamat anda: ");
        alamat = scan.nextLine();
        System.out.print("Masukkan No. TeleponL: ");
        noTelp = scan.nextLine();
        System.out.print("Pilih Jenis Mobil yang akan anda sewa (1/2/3/4): ");
        pilih = scan.nextInt();
        if (pilih == 1) {
            jenisMobil = "BMW";
            harga = 70000;
        } else if (pilih == 2) {
            jenisMobil = "Lamborgini";
            harga = 60000;
        } else if (pilih == 3) {
            jenisMobil = "Honda Brio";
            harga = 50000;
        } else if (pilih == 4) {
            jenisMobil = "Suzuki Celerio";
            harga = 40000;
        } else {
            System.out.println("pilihan tidak tersedia");
        }
        System.out.print("Masukkan lama sewa Mobil perjam:");
        lamaSewa = scan.nextInt();
        System.out.print("Masukkan status penyewa(member/sewaBaru): ");
        statusPenyewa = scan.next();
        totalHarga = harga * lamaSewa;
        if (statusPenyewa.equalsIgnoreCase("member")) {
            diskon = totalHarga * 10 / 100;
        } else if (statusPenyewa.equalsIgnoreCase("sewaBaru")) {
            System.out.println("Anda belum terdaftar sebagai member kami");
            diskon = 0;
        } else {
            System.out.println("anda telah melakukan kesalahan dalam input");
            System.exit(0);
        }
        totalBayar = totalHarga - diskon;

        String nota = "No. Ktp anda\t: " + noKTP
                + "\nNama anda \t:" + nama
                + "\nAlamat anda \t:" + alamat
                + "\nNo. Telepon anda\t: " + noTelp
                + "\nJenis Mobil \t:" + jenisMobil
                + "\nharga sewa \t:" + harga
                + "\nlama Sewa \t:" + lamaSewa
                + "\nStatus penyewa \t:" + statusPenyewa
                + "\ntotal Harga \t:" + totalHarga
                + "\ndiskon \t\t:" + diskon
                + "\nTotal Bayar \t:" + totalBayar;

        System.out.println(nota);
        System.out.println("Masukkan jumlah Pembayaran: ");
        jumlahBayar = scan.nextInt();
        kembalian = jumlahBayar - totalBayar;
        System.out.println("Jumlah Bayar: " + jumlahBayar);
        System.out.println("Uang Kembalian: " + kembalian);
    }
}


Jawaban Versi Switch case

/* * NAMA : putu eka mulyana
 * SITE : putuekamulyana.blogspot.com
 * Facebook : www.facebook/putuekamulyana
 */
package jawaban;

import java.util.Scanner;

/**
 *
 * @author brother
 */
public class VersiSwitCase {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int pilih, harga = 0, lamaSewa, totalHarga, diskon = 0, totalBayar, jumlahBayar, kembalian;
        String noKTP, nama, alamat, noTelp, statusPenyewa, jenisMobil = "";
        String dataMobil = "Merk Mobil\n"
                + "BMW\t: Rp 420.000/ 6 jam\n"
                + "Lamborgini\t: Rp 360.000/ 6 jam\n"
                + "Honda Brio\t: Rp 300.000/ 6 jam\n"
                + "Suzuki Celerio\t: Rp 240.000/ 6 jam";
        System.out.println(dataMobil);
        System.out.print("Masukkan No. KTP anda: ");
        noKTP = scan.nextLine();
        System.out.print("Masukkan Nama anda: ");
        nama = scan.nextLine();
        System.out.print("Masukkan Alamat anda: ");
        alamat = scan.nextLine();
        System.out.print("Masukkan No. TeleponL: ");
        noTelp = scan.nextLine();
        System.out.print("Pilih Jenis Mobil yang akan anda sewa (1/2/3/4): ");
        pilih = scan.nextInt();
        switch(pilih){
            case 1:
            jenisMobil = "BMW";
            harga = 70000;
            break;
        case 2 :
            jenisMobil = "Lamborgini";
            harga = 60000;
            break;
       case 3:
            jenisMobil = "Honda Brio";
            harga = 50000;
            break;
        case 4:
            jenisMobil = "Suzuki Celerio";
            harga = 40000;
            break;
        default:
            System.out.println("pilihan tidak tersedia");
        }
        System.out.print("Masukkan lama sewa Mobil perjam:");
        lamaSewa = scan.nextInt();
        System.out.print("Masukkan status penyewa(member/sewaBaru): ");
        statusPenyewa = scan.next();
        totalHarga = harga * lamaSewa;
        if (statusPenyewa.equalsIgnoreCase("member")) {
            diskon = totalHarga * 10 / 100;
        } else if (statusPenyewa.equalsIgnoreCase("sewaBaru")) {
            System.out.println("Anda belum terdaftar sebagai member kami");
            diskon = 0;
        } else {
            System.out.println("anda telah melakukan kesalahan dalam input");
            System.exit(0);
        }
        totalBayar = totalHarga - diskon;

        String nota = "No. Ktp anda\t: " + noKTP
                + "\nNama anda \t:" + nama
                + "\nAlamat anda \t:" + alamat
                + "\nNo. Telepon anda\t: " + noTelp
                + "\nJenis Mobil \t:" + jenisMobil
                + "\nharga sewa \t:" + harga
                + "\nlama Sewa \t:" + lamaSewa
                + "\nStatus penyewa \t:" + statusPenyewa
                + "\ntotal Harga \t:" + totalHarga
                + "\ndiskon \t\t:" + diskon
                + "\nTotal Bayar \t:" + totalBayar;

        System.out.println(nota);
        System.out.println("Masukkan jumlah Pembayaran: ");
        jumlahBayar = scan.nextInt();
        kembalian = jumlahBayar - totalBayar;
        System.out.println("Jumlah Bayar: " + jumlahBayar);
        System.out.println("Uang Kembalian: " + kembalian);
    }
}
            Dari kedua versi jawaban diatas hasilnya sama kalo gak percaya silahkan coba dua-duanya . Tergantung kalian mau pakai yang mana. Saran saya sih pakai yang dipahami dan dimengerti.
Kalau ada pertanyaan tentang postingan ini bisa langsung komentar atau hubungi saya di facebook.. OK
Semoga Sukses

Komentar

Postingan populer dari blog ini

cara instal windows 7 dengan flash disc

CARA INSTAL WINDOWS 7 MENGGUNAKA FLASH DISC  Secara umum menginstar windows 7 tidahlah sulit atau cukup menggunakan flashdisk sudah saya jelaskan beberapa waktu yang lalu. Khusus untuk windows 7 ternyata ada cara yang cukup simple untuk melakukan instalasi melalui USB flashdisk. Yang kita butuhkan hanya flashdisk dengan kapasitas minimal 4gb dan master windows 7 saja, tanpa harus direpotkan dengan program program pendukung lain. Cara yang akan saya jelaskan di sini hanya berlaku untuk windows 7, Berikut step step yang harus sobat klikedukasi ikuti 1. Siapkan flashdisk yang berkapasitas 4GB, lebih dari itu lebih bagus 2. Format terlebih dahulu flashdisk anda dengan format file system NTFS, lihat gambar 3. Siapkan dvd Instalasi windows 7, copy seluruh file yang ada pada master windows 7 ke flashdisk yang sudah kita siapkan tadi  4. Cari file BOOTMGR kemudian rubah namanya menjadi NTLDR. file bootmgr letaknya paling luar dalam master instalasi windows 7.  5. S...

istilah-istilah dalam google adsense yang harus diketahui oleh para pemula

Kamus adsense & Perihal Banned Bagi pemula yg baru mengenal AdSense mungkin belum mengetahui istilah2 yg sering dipergunakan. Berhubung pepatah mengatakan “Tak Kenal Maka Tak Sayang”, maka tidak ada salahnya untuk mempelajari terlebih dahulu arti dari istilah2 tersebut sebelum mempelajari lebih jauh mengenai AdSense.  Publisher Publisher adalah orang atau pemilik situs yg sudah bergabung dengan Google AdSense dan sudah pula memasang iklan AdSense di situs mereka. Ad Units Yg dimaksud dengan Ad Units ya iklan AdSense itu sendiri. Ad Units ini terdiri dari beberapa jenis dan ukuran. Yg paling umum adalah jenis Text Ads (lihat gambar di bawah). Pada saat pengunjung meng-klik unit iklan ini, maka, jika valid, publisher akan mendapatkan pemasukan sesuai dengan nilai CPC-nya. Untuk lebih jelasnya, perhatikan contoh masing2 jenis dan ukuran Ad Units di sini : https://www.google.com/adsense/adformats Dalam satu halaman, publisher diperb...