Guest User

Untitled

a guest
Nov 28th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.61 KB | None | 0 0
  1. package tugasAkhir;
  2.  
  3. import java.util.*;
  4.  
  5. public class TiketTransportasi_AL {
  6. private static final Scanner in = new Scanner(System.in);
  7. static String[][] ListTiket = { { "Pesawat", "Jakarta", "Surabaya", "20/11/2018" },
  8. { "Pesawat", "Surabaya", "Jakarta", "24/11/2018" }, { "Pesawat", "Jakarta", "Denpasar", "22/11/2018" },
  9. { "Kereta", "Malang", "Surabaya", "19/11/2018" }, { "Kereta", "Surabaya", "Malang", "21/11/2018" },
  10. { "Kereta", "Surabaya", "Mojokerto", "22/11/2018" } };
  11. static boolean auth = false; // cek user login
  12. static int UserId;
  13. static ArrayList<String[]> User = new ArrayList<>();
  14. static ArrayList<String[]> Pesanan = new ArrayList<>();
  15.  
  16. /*
  17. * Array Pesanan [0] = username [1] = order id [2] = tanggal berangkat [3] =
  18. * asal [4] = tujuan [5] = jenis transportasi
  19. */
  20. public static void main(String[] args) {
  21. // Initialize administrator account
  22. signup("admin", "admin");
  23. int ch = 0;
  24. String username, pass;
  25. do {
  26. System.out.println("------------------");
  27. cetakMenu();
  28. System.out.println("------------------");
  29. System.out.print("Masukkan pilihan: ");
  30. ch = Integer.parseInt(in.nextLine());
  31. System.out.println();
  32. if (auth) {
  33. System.out.println("PROFIL AKUN ANDA :");
  34. System.out.println("Username: " + User.get(UserId)[0]);
  35. System.out.println("Password: " + User.get(UserId)[1]);
  36. switch (ch) {
  37. case 1:
  38. System.out.println("Pesanan anda:");
  39. cetakPesanan();
  40. break;
  41. case 2:
  42. System.out.print("Masukkan Order ID pesanan yang ingin anda batalkan: ");
  43. String order = in.nextLine();
  44. cancel(order);
  45. break;
  46. case 3:
  47. System.out.println("Tiket yang tersedia:");
  48. for (int i = 0; i < ListTiket.length; i++) {
  49. System.out.println(i + 1 + ". " + ListTiket[i][0] + " dari " + ListTiket[i][1] + " ke "
  50. + ListTiket[i][2] + " pada " + ListTiket[i][3]);
  51. }
  52. System.out.print("Silahkan pilih nomor tiket yang ingin anda pesan: ");
  53. int c = Integer.parseInt(in.nextLine());
  54. order(c - 1);
  55. break;
  56. case 4:
  57. System.out.print("Masukkan password baru: ");
  58. pass = in.nextLine();
  59. User.get(UserId)[1] = pass;
  60. break;
  61. case 5:
  62. System.out.println("\nAnda keluar dari akun! Pilih '3' untuk keluar dari program!");
  63. auth = false;
  64. break;
  65. case 6:
  66. System.out.println("\nAnda keluar dari program!");
  67. break;
  68. default:
  69. System.out.println("Pilihan anda tidak ada pada menu! Mohon pilih ulang!");
  70. }
  71. } else {
  72. switch (ch) {
  73. case 1:
  74. System.out.print("Masukkan username: ");
  75. username = in.nextLine();
  76. System.out.print("Masukkan password: ");
  77. pass = in.nextLine();
  78. auth = login(username, pass);
  79. if(!auth) {
  80. System.out.println("\nUsername atau password salah!");
  81. System.out.println("Akses ditolak!!\n");
  82. }
  83. break;
  84. case 2:
  85. System.out.println("Anda akan membuat akun baru");
  86. System.out.print("Masukkan username anda: ");
  87. username = in.nextLine();
  88. System.out.print("Buat password anda: ");
  89. pass = in.nextLine();
  90. signup(username, pass);
  91. break;
  92. case 3:
  93. System.out.println("Program dihentikan!");
  94. break;
  95. default:
  96. System.out.println("Pilihan anda tidak ada pada menu! Mohon pilih ulang!");
  97. }
  98. }
  99. } while (ch != (auth ? 6 : 3));
  100. }
  101.  
  102. static boolean login(String uname, String pass) {
  103. for (int i = 0; i < User.size(); i++) {
  104. if (uname.equals(User.get(i)[0]) && pass.equals(User.get(i)[1])) {
  105. UserId = i;
  106. return true;
  107. }
  108. }
  109. return false;
  110. }
  111.  
  112. static void signup(String uname, String pass) {
  113. User.add(new String[2]);
  114. User.get(User.size() - 1)[0] = uname;
  115. User.get(User.size() - 1)[1] = pass;
  116. }
  117.  
  118. static void ubahPass(String pass) {
  119.  
  120. }
  121.  
  122. static void order(int n) {
  123. Pesanan.add(new String[6]);
  124. Pesanan.get(Pesanan.size()-1)[0] = User.get(UserId)[0];
  125. Pesanan.get(Pesanan.size()-1)[1] = kodeTiket(ListTiket[n][1], ListTiket[n][2]);
  126. Pesanan.get(Pesanan.size()-1)[2] = ListTiket[n][3];
  127. Pesanan.get(Pesanan.size()-1)[3] = ListTiket[n][1];
  128. Pesanan.get(Pesanan.size()-1)[4] = ListTiket[n][2];
  129. Pesanan.get(Pesanan.size()-1)[5] = ListTiket[n][0];
  130. }
  131.  
  132. static void cancel(String id) {
  133. if(id == null) return;
  134. for(int i=0; i<Pesanan.size(); i++) {
  135. if(Pesanan.get(i)[1].equals(id)) {
  136. Pesanan.remove(i);
  137. break;
  138. }
  139. }
  140. }
  141.  
  142. static void cetakPesanan() {
  143. for(int i=0; i<Pesanan.size(); i++) {
  144. System.out.println("===========================================");
  145. System.out.println("===========================================");
  146. System.out.printf("# Order ID : %-27s%s%n", Pesanan.get(i)[1], (Pesanan.get(i)[5].equals("Pesawat") ? "PSW" : "KRT"));
  147. System.out.println("#");
  148. System.out.println("# Tanggal Keberangkatan : " + Pesanan.get(i)[2]);
  149. System.out.println("#");
  150. System.out.printf("#%35s%n", "ASAL -> TUJUAN");
  151. System.out.printf("#%25s%14s%n", Pesanan.get(i)[3], Pesanan.get(i)[4]);
  152. System.out.println("# "+Pesanan.get(i)[5].toUpperCase());
  153. System.out.println("===========================================");
  154. System.out.println("===========================================");
  155. }
  156. }
  157.  
  158. static String kodeTiket(String a, String b) {
  159. return (a.substring(0, 2).toUpperCase() + "" + b.substring(0, 2).toUpperCase() + ""
  160. + ((int) (Math.random() * 99) + 1) + "" + (char) ((int) (Math.random() * 26) + 65));
  161. }
  162.  
  163. static void cetakMenu() {
  164. String guestMenu = "1. Masuk\n2. Daftar\n3. Keluar";
  165. String userMenu = "1. Cek Tiket Pesanan\n2. Batalkan Pemesanan\n3. Pesan Tiket\n4. Ubah Password\n5. Log out\n6. Keluar";
  166. System.out.println("Silahkan memilih salah satu dari pilihan menu dibawah ini: ");
  167. System.out.println(auth ? userMenu : guestMenu);
  168. }
  169. }
Add Comment
Please, Sign In to add comment