Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tugasAkhir;
- import java.util.*;
- public class TiketTransportasi_AL {
- private static final Scanner in = new Scanner(System.in);
- static String[][] ListTiket = { { "Pesawat", "Jakarta", "Surabaya", "20/11/2018" },
- { "Pesawat", "Surabaya", "Jakarta", "24/11/2018" }, { "Pesawat", "Jakarta", "Denpasar", "22/11/2018" },
- { "Kereta", "Malang", "Surabaya", "19/11/2018" }, { "Kereta", "Surabaya", "Malang", "21/11/2018" },
- { "Kereta", "Surabaya", "Mojokerto", "22/11/2018" } };
- static boolean auth = false; // cek user login
- static int UserId;
- static ArrayList<String[]> User = new ArrayList<>();
- static ArrayList<String[]> Pesanan = new ArrayList<>();
- /*
- * Array Pesanan [0] = username [1] = order id [2] = tanggal berangkat [3] =
- * asal [4] = tujuan [5] = jenis transportasi
- */
- public static void main(String[] args) {
- // Initialize administrator account
- signup("admin", "admin");
- int ch = 0;
- String username, pass;
- do {
- System.out.println("------------------");
- cetakMenu();
- System.out.println("------------------");
- System.out.print("Masukkan pilihan: ");
- ch = Integer.parseInt(in.nextLine());
- System.out.println();
- if (auth) {
- System.out.println("PROFIL AKUN ANDA :");
- System.out.println("Username: " + User.get(UserId)[0]);
- System.out.println("Password: " + User.get(UserId)[1]);
- switch (ch) {
- case 1:
- System.out.println("Pesanan anda:");
- cetakPesanan();
- break;
- case 2:
- System.out.print("Masukkan Order ID pesanan yang ingin anda batalkan: ");
- String order = in.nextLine();
- cancel(order);
- break;
- case 3:
- System.out.println("Tiket yang tersedia:");
- for (int i = 0; i < ListTiket.length; i++) {
- System.out.println(i + 1 + ". " + ListTiket[i][0] + " dari " + ListTiket[i][1] + " ke "
- + ListTiket[i][2] + " pada " + ListTiket[i][3]);
- }
- System.out.print("Silahkan pilih nomor tiket yang ingin anda pesan: ");
- int c = Integer.parseInt(in.nextLine());
- order(c - 1);
- break;
- case 4:
- System.out.print("Masukkan password baru: ");
- pass = in.nextLine();
- User.get(UserId)[1] = pass;
- break;
- case 5:
- System.out.println("\nAnda keluar dari akun! Pilih '3' untuk keluar dari program!");
- auth = false;
- break;
- case 6:
- System.out.println("\nAnda keluar dari program!");
- break;
- default:
- System.out.println("Pilihan anda tidak ada pada menu! Mohon pilih ulang!");
- }
- } else {
- switch (ch) {
- case 1:
- System.out.print("Masukkan username: ");
- username = in.nextLine();
- System.out.print("Masukkan password: ");
- pass = in.nextLine();
- auth = login(username, pass);
- if(!auth) {
- System.out.println("\nUsername atau password salah!");
- System.out.println("Akses ditolak!!\n");
- }
- break;
- case 2:
- System.out.println("Anda akan membuat akun baru");
- System.out.print("Masukkan username anda: ");
- username = in.nextLine();
- System.out.print("Buat password anda: ");
- pass = in.nextLine();
- signup(username, pass);
- break;
- case 3:
- System.out.println("Program dihentikan!");
- break;
- default:
- System.out.println("Pilihan anda tidak ada pada menu! Mohon pilih ulang!");
- }
- }
- } while (ch != (auth ? 6 : 3));
- }
- static boolean login(String uname, String pass) {
- for (int i = 0; i < User.size(); i++) {
- if (uname.equals(User.get(i)[0]) && pass.equals(User.get(i)[1])) {
- UserId = i;
- return true;
- }
- }
- return false;
- }
- static void signup(String uname, String pass) {
- User.add(new String[2]);
- User.get(User.size() - 1)[0] = uname;
- User.get(User.size() - 1)[1] = pass;
- }
- static void ubahPass(String pass) {
- }
- static void order(int n) {
- Pesanan.add(new String[6]);
- Pesanan.get(Pesanan.size()-1)[0] = User.get(UserId)[0];
- Pesanan.get(Pesanan.size()-1)[1] = kodeTiket(ListTiket[n][1], ListTiket[n][2]);
- Pesanan.get(Pesanan.size()-1)[2] = ListTiket[n][3];
- Pesanan.get(Pesanan.size()-1)[3] = ListTiket[n][1];
- Pesanan.get(Pesanan.size()-1)[4] = ListTiket[n][2];
- Pesanan.get(Pesanan.size()-1)[5] = ListTiket[n][0];
- }
- static void cancel(String id) {
- if(id == null) return;
- for(int i=0; i<Pesanan.size(); i++) {
- if(Pesanan.get(i)[1].equals(id)) {
- Pesanan.remove(i);
- break;
- }
- }
- }
- static void cetakPesanan() {
- for(int i=0; i<Pesanan.size(); i++) {
- System.out.println("===========================================");
- System.out.println("===========================================");
- System.out.printf("# Order ID : %-27s%s%n", Pesanan.get(i)[1], (Pesanan.get(i)[5].equals("Pesawat") ? "PSW" : "KRT"));
- System.out.println("#");
- System.out.println("# Tanggal Keberangkatan : " + Pesanan.get(i)[2]);
- System.out.println("#");
- System.out.printf("#%35s%n", "ASAL -> TUJUAN");
- System.out.printf("#%25s%14s%n", Pesanan.get(i)[3], Pesanan.get(i)[4]);
- System.out.println("# "+Pesanan.get(i)[5].toUpperCase());
- System.out.println("===========================================");
- System.out.println("===========================================");
- }
- }
- static String kodeTiket(String a, String b) {
- return (a.substring(0, 2).toUpperCase() + "" + b.substring(0, 2).toUpperCase() + ""
- + ((int) (Math.random() * 99) + 1) + "" + (char) ((int) (Math.random() * 26) + 65));
- }
- static void cetakMenu() {
- String guestMenu = "1. Masuk\n2. Daftar\n3. Keluar";
- String userMenu = "1. Cek Tiket Pesanan\n2. Batalkan Pemesanan\n3. Pesan Tiket\n4. Ubah Password\n5. Log out\n6. Keluar";
- System.out.println("Silahkan memilih salah satu dari pilihan menu dibawah ini: ");
- System.out.println(auth ? userMenu : guestMenu);
- }
- }
Add Comment
Please, Sign In to add comment