zenados

i-Kios Pesawat

Oct 24th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.14 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.List;
  3. import java.util.ArrayList;
  4. import java.time.LocalDate;
  5.  
  6. public class TiketPesawat
  7. {
  8.     private enum Bandara {
  9.         AhmadYani, Djuanda, SoekarnoHatta
  10.     };
  11.     private List<String> nomorHp = new ArrayList<String>();
  12.     private List<String> nomorIdentitas = new ArrayList<String>();
  13.     private Bandara bandaraDari, bandaraKe;
  14.     private int jumlahPenumpang;
  15.     private int harga;
  16.     private LocalDate tanggalKeberangkatan;
  17.     Scanner scan = new Scanner(System.in);  
  18.    
  19.     public void beliTiketPesawat()
  20.     {
  21.         System.out.println("Masukkan Jumlah Penumpang: ");
  22.         jumlahPenumpang = scan.nextInt();
  23.         for(int i = 0; i < jumlahPenumpang; i++)
  24.         {
  25.             System.out.println("Masukkan Nomor Identitas Penumpang " + (i+1) + ": ");
  26.             nomorIdentitas.add(scan.next());
  27.            
  28.             System.out.println("Masukkan Nomor HP Penumpang " + (i+1) + ": ");
  29.             nomorHp.add(scan.next());
  30.         }
  31.        
  32.         System.out.println("Masukkan Tanggal Keberangkatan (yyyy-mm-dd): ");
  33.         tanggalKeberangkatan = LocalDate.parse(scan.next());
  34.         System.out.println("");
  35.        
  36.         System.out.println("Pilih Bandara Keberangkatan");
  37.         System.out.println("1. Ahmad Yani");  
  38.         System.out.println("2. Djuanda");  
  39.         System.out.println("3. Soekarno-Hatta");
  40.         bandaraDari = kodeToBandara(scan.nextInt());
  41.         System.out.println("");
  42.        
  43.         System.out.println("Pilih Bandara Tujuan");
  44.         System.out.println("1. Ahmad Yani");  
  45.         System.out.println("2. Djuanda");  
  46.         System.out.println("3. Soekarno-Hatta");
  47.         bandaraKe = kodeToBandara(scan.nextInt());
  48.         System.out.println("");
  49.        
  50.         if (bandaraDari == bandaraKe) {
  51.             System.out.println("Bandara tidak boleh sama!");
  52.             return;
  53.         }
  54.        
  55.         hitungHarga();
  56.         printNota();
  57.     }
  58.    
  59.     public void hitungHarga()
  60.     {
  61.         if((bandaraDari == Bandara.AhmadYani && bandaraKe == Bandara.Djuanda) || (bandaraDari == Bandara.Djuanda && bandaraKe == Bandara.AhmadYani))
  62.             harga = 300000;
  63.         else if((bandaraDari == Bandara.AhmadYani && bandaraKe == Bandara.SoekarnoHatta) || (bandaraDari == Bandara.SoekarnoHatta && bandaraKe == Bandara.AhmadYani))
  64.             harga = 400000;
  65.         else if((bandaraDari == Bandara.Djuanda && bandaraKe == Bandara.SoekarnoHatta) || (bandaraDari == Bandara.SoekarnoHatta && bandaraKe == Bandara.Djuanda))
  66.             harga = 500000;
  67.            
  68.         harga = harga * jumlahPenumpang;
  69.     }
  70.    
  71.     public void printNota()
  72.     {
  73.         System.out.println("######################################");  
  74.         System.out.println("# I-Kios");
  75.         System.out.println("# TiketPesawat");
  76.         for(int i = 0; i < jumlahPenumpang; i++)
  77.         {
  78.             System.out.println("# Nomor Identitas Penumpang " + (i+1) + ": " + nomorIdentitas.get(i));
  79.             System.out.println("# Nomor HP Penumpang "+ (i+1) + ": " + nomorHp.get(i));
  80.         }
  81.         System.out.println("# Tanggal Keberangkatan: " + tanggalKeberangkatan);
  82.         System.out.println("# Bandara Dari: " + bandaraToString(bandaraDari));
  83.         System.out.println("# Bandara Ke: " + bandaraToString(bandaraKe));  
  84.         System.out.println("# Harga: " + harga);  
  85.         System.out.println("######################################");  
  86.     }
  87.    
  88.     private Bandara kodeToBandara(int kode) {
  89.         switch (kode) {
  90.             case 1:
  91.                 return Bandara.AhmadYani;
  92.             case 2:
  93.                 return Bandara.Djuanda;
  94.             case 3:  
  95.                 return Bandara.SoekarnoHatta;
  96.             default:
  97.                 return null;
  98.         }
  99.     }
  100.    
  101.     private String bandaraToString(Bandara bandara) {
  102.         switch (bandara) {
  103.             case AhmadYani:
  104.                 return "Ahmad Yani";
  105.             case Djuanda:
  106.                 return "Djuanda";
  107.             case SoekarnoHatta:  
  108.                 return "Soekarno-Hatta";
  109.             default:
  110.                 return null;
  111.         }
  112.     }
  113. }
Add Comment
Please, Sign In to add comment