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);
}
}
01.57 | | 0 Comments