Taxi


package Taksi;

//Data Penumpang
public class Penumpang {
    private String Nama;
    private String LokAsal;
    private String LokTujuan;
    private int Jarak;
  
    //method setget
    public void setNama(String nama){
        Nama = nama;
    }
    public String getNama(){
        return Nama;
    }
    public void setJarak(int jarak){
        Jarak = jarak;
    }
    public int getJarak(){
        return Jarak;
    }
    public void setLokAsal(String asal){
        LokAsal = asal;
    }
    public String getLokAsal(){
        return LokAsal;
    }
    public void setLokTujuan(String tujuan){
        LokTujuan = tujuan;
    }
    public String getLokTujuan(){
        return LokTujuan;
    }
}

kelas taxi

package Taksi;
import Taksi.Penumpang;

public class Taksi {
    private int ID; //menggunakan private, agar hanya dapat diakses oleh kelas itu sendiri
    private String PlatNomor;
    private String NamaSopir;
    private static int tahunMasuk;
    private static int hasil[] = new int[100];//100 disini menjadi batasan array nya
    private static int Jarak[] = new int[100];
    private static int jar=0, totHasil=0, jar1; //variabel bantu
    private static int Jumlah=1;
    private static int jumTaksi;
    private Penumpang penumpang; //memanggil kelas penumpang
  
    public static void getID(){
        Taksi thun = new Taksi();
        if (Jumlah < 10){//perulangan untuk mendata ID taxi yang lebih dari satu ketika di inpukan nanti
            System.out.println(""+thun.getTahun()+"0"+thun.getJumlah());
        }else{
            System.out.println(""+thun.getTahun()+""+thun.getJumlah());
        }
        Jumlah++;
        jumTaksi++;
    }
  
    //methodsetget
    public static int getJumlah() {
        return Jumlah;
    }
    public static int jumlahTaksi(){
        return jumTaksi;
    }
    public static int jumlahSopir(){
        return Jumlah;
    }
    public static int getJarak() {
        return Jarak[jar];
    }
    public void setJarak(int Jarak) {
        this.Jarak[jar] = Jarak;
    }
    public String getPlatNomor() {
        return PlatNomor;
    }
    public void setPlatNomor(String PlatNomor) {
        this.PlatNomor = PlatNomor;
    }
    public String getNamaSopir() {
        return NamaSopir;
    }
    public void setNamaSopir(String NamaSopir) {
        this.NamaSopir = NamaSopir;
    }
    public void Perjalanan(int km, Penumpang penumpang){
        Taksi dataP = new Taksi();
        dataP.setPenumpang(penumpang);
    }
    //pembayaran taxi yang kurang dari 2 km
    public int Pembayaran(){
        jar1 = 5000;
        return jar1;
    }
  
    //pembayaran taxi yang jalan lebih dari 2 km
    public int Pembayaran(int km){
        Jarak[jar] = km;
        hasil[jar]= (km-2) * 1500 + 5000;
        return hasil[jar];
    }
  
    public static void Penghasilan(int tempuh){ //  penghasilan seluruh perusahaan
        if (tempuh>2){
            int tempuh1 = tempuh-2;
            totHasil = totHasil + (tempuh1) * 1500 + 5000; //penghasilan lebih dari 2 km
        } else {
            totHasil = totHasil + 5000; //biaya buka pintu saja
        }
    }
    public static int getPenghasilan(){
        return totHasil;
    }
    public void setPenumpang(Penumpang penump){
        penumpang = penump;
    }
    public Penumpang getPenumpang(){
        return penumpang;
    }
    public static void setTahun(int tahun){ // untuk data ID
        tahunMasuk = tahun;
    }
    public static int getTahun(){
        return tahunMasuk;
    }
}

Main

package Taksi;

import java.util.Scanner;

public class TaksiMain {

    private static int pos = 0, hasilJarak=0; //private digunakan untuk hanya bisa diakses pada kelas itu sendiri, sedangkan static untuk bisa mengakses hasil jaraknya tanpa membuat objek baru.
    private static String namaSopir[] = new String[100];
    private static int tahun[] = new int[100];
    private static String Plat[] = new String[100];
    private static String namaPenumpang[] = new String[1000];
    private static String LokAsal[] = new String[1000]; //batasan banyak lewat kota
    private static String LokTujuan[] = new String[1000];
    private static int jarak[]=new int [1000];
    private static int pen = 0;
    private static int pilih; // untuk pilihan pada switch

    //output pada tampilan pertama yang menghadirkan pilihan
    public static void Pilihan() {
        System.out.println("Masukan Pilihan");
        Scanner input = new Scanner(System.in);
        System.out.println("1.Pendaftaran\n2.Transaksi dan Data Penumpang\n3.Tampilkan Data Penumpang\n4.Jumlah Taksi dan Penghasilan\n0.Keluar");
        System.out.print("Pilih: ");
        pilih = input.nextInt();
        System.out.println("==================================================");
    }
    //pendaftaran taxi
    //harus dilakukan pertama ada berapa taxi
    public static void MasukanSopir() {
        if (pos < 100) {
            Scanner input = new Scanner(System.in);
            System.out.println("==Menu Pendaftaran==");
            Taksi data = new Taksi();
            System.out.print("Nama Sopir: ");
            namaSopir[pos] = input.nextLine();
            System.out.print("Tahun Masuk: ");
            tahun[pos] = input.nextInt();
            System.out.print("Plat Nomor Kendaraan: ");
            Plat[pos] = input.next();

            data.setNamaSopir(namaSopir[pos]);
            data.setTahun(tahun[pos]);
            data.setPlatNomor(Plat[pos]);

            System.out.print("**Memiliki ID: ");
            data.getID();
            pos++;
        } System.out.println("==================================================");
    }
  
    public static void TransaksiPenumpang() {
        if (pen < 1000) {
            Taksi jar = new Taksi();
            Scanner input = new Scanner(System.in);
            System.out.println("==Masukan Data Penumpang==");
            Taksi data = new Taksi();
            System.out.print("Sopir: ");
            String namaS = input.nextLine();
            while (pos < 100) {
                if (namaS == namaSopir[pos]) {
                    break;
                }
                pos++;
            }
          
            System.out.print("Nama Penumpang: ");
            namaPenumpang[pen] = input.nextLine();
            System.out.print("Lokasi Asal: ");
            LokAsal[pen] = input.nextLine();
            System.out.print("Lokasi Tujuan: ");
            LokTujuan[pen] = input.nextLine();
            System.out.println("**Untuk Jarak \"Buka Pintu\" = 0 km**");
            System.out.print("Jarak (km): ");
            int km = input.nextInt();
            jar.setJarak(km);
            jarak[pen]=jar.getJarak();
            pen++;
            hasilJarak+=km;
            if(km==0){ //dihitung buka pintu
                jar.Pembayaran();
                System.out.println("Biaya: Rp"+jar.Pembayaran());
            } else if (km<2){
                jar.Pembayaran();
                System.out.println("Biaya: Rp"+jar.Pembayaran());
            } else {
                jar.Pembayaran(km);
                System.out.println("Biaya: Rp"+jar.Pembayaran(km));
            } jar.Penghasilan(km);
        }
        System.out.println("==================================================");
    }
  
    public static void tampilPenumpang() {
        System.out.println("==Data Penumpang==");
        Taksi hasil = new Taksi();
        for (int i = 0; i < pen; i++) {
            System.out.println("Nama: " + namaPenumpang[i]);
            System.out.println("Lokasi Asal Penumpang: " + LokAsal[i]);
            System.out.println("Lokasi Tujuan Penumpang: " + LokTujuan[i]);
            System.out.println("Jarak: " + jarak[i]+" km\n");
        } System.out.println("==================================================");
    }
  
    public static void jumlahTaksi() {
        System.out.println("==Jumlah Taksi dan Penghasilan");
        Taksi jumtak = new Taksi();
        System.out.println("Jumlah Taksi: " + jumtak.jumlahTaksi());
        System.out.println("Jumlah penghasilan Perusahaan Taksi: Rp" + jumtak.getPenghasilan());
        System.out.println("Jumlah Jarak: " +hasilJarak);
        System.out.println("==================================================");
    }
  
  
    public static void main(String[] args) { //sebagai main
        //pilihan untuk yang diinputkan
        do {
            Pilihan();
                if(pilih==1){
                MasukanSopir();
                    }
                if(pilih==2){
                TransaksiPenumpang();
                    }
                if(pilih==3){
                tampilPenumpang();
                  
                }
                if(pilih==4){
                jumlahTaksi();
                }
                if(pilih==0){
                System.exit(pilih);  
                }
          
        } while (pilih != 0);
    }
}








Diberdayakan oleh Blogger.