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

script login tampa database

Script login pada java tampa Database Karna postingan yang kemarin kita sudah belajar switch case dan if else bagai mana kalau kita tambahkan login. apa anda setuju…..?? Baiklah karna anda setuju kita lihat soalnya dulu. Ok Soalnya sih sama seperti postingan yang sebelumnya Cuma bedanya kita tambahin login aja.. 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 men

contoh Flouchat perulanagn dan program sederhana

Belajar   flouchat dan program sederhana Selamat datang diblog saya, kali ini saya akan membahas   materi dasar dalam pemograman yaitu flouchat. Lebih tepanya si jenis flouchat perulangan / algoritma perulangan Contoh soal Buatlah flouchat dan programnya untuk mencetak   1 sampai 100 sendok…!!! Nah bagaimana banyangan anda tentang soal diatas mudah / sulit atau gak ngerti sama sekali, kalau gak ngerti sama sekali mari kita belajar sama Mari kita belajar membuat flowchatnya dulu     Ok kira-kira flouchatnya seperi itu. Flouchat diatas adalah contoh dari beberapa jenis flouchatnya. Apa anda merasa bingung atau sudah mengeri. Nah flouchatnya sudah jadi tinggal kita membuat programnya. Apa anda sudah mempunya bayangan bagaimana model programnya…??? Tentunya programnya itu sangat sederhana tidak susah untuk yang sudah mengerti dan susah untuk orang yang awam. hehehe Ok silahkan simak baik-baik program java dibawah ini. Program ini sangat sederhana.