Guest User

Untitled

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