Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- /**
- *
- * @author Maikel Chandika <mkdika@gmail.com>
- */
- public class Packinglist {
- static String member;
- static String alamatPengirim;
- static String alamatTujuan;
- static int x;
- static Paket[] pakets;
- public static void main(String[] args) {
- Scanner entry = new Scanner(System.in);
- System.out.print("Apakah Member (y/n)? ");
- member = entry.nextLine();
- System.out.print("Alamat Pengirim\t: ");
- alamatPengirim = entry.nextLine();
- System.out.print("Alamat Tujuan\t: ");
- alamatTujuan = entry.nextLine();
- System.out.print("Jumlah paket\t: ");
- x = entry.nextInt();
- pakets = new Paket[x];
- System.out.println("");
- for (int i = 0; i < pakets.length; i++) {
- System.out.println("Paket-" + (i + 1));
- pakets[i] = new Paket();
- System.out.print("Dekripsi Paket: ");
- entry = new Scanner(System.in);
- pakets[i].deskripsi = entry.nextLine();
- System.out.print("Apakah Fragile (true/false): ");
- entry = new Scanner(System.in);
- pakets[i].fragile = entry.nextBoolean();
- System.out.print("Berat Paket (kg): ");
- entry = new Scanner(System.in);
- pakets[i].berat = entry.nextDouble();
- if (pakets[i].berat < 1) {
- pakets[i].berat = 1;
- }
- if (member.equalsIgnoreCase("y")) {
- pakets[i].total = 23000 * pakets[i].berat;
- } else if (member.equalsIgnoreCase("n")) {
- pakets[i].total = 25000 * pakets[i].berat;
- }
- System.out.printf("Total Harga Pengiriman Rp. %,.2f %n", pakets[i].total);
- System.out.println("");
- }
- String p = "y";
- do {
- System.out.println("");
- System.out.println("PILIHAN MENU:");
- System.out.println("1. Urut berdasarkan deskripsi.");
- System.out.println("2. Urut berdasarkan berat.");
- System.out.println("3. Urut berdasarkan total.");
- System.out.print("Pilihan Anda? ");
- int n = entry.nextInt();
- pilihan(n);
- System.out.print("Apakah Akan Mencoba lagi (y/n)? ");
- entry = new Scanner(System.in);
- p = entry.nextLine();
- } while (p.equalsIgnoreCase("y"));
- }
- static void pilihan(int n) {
- System.out.println("");
- if (n == 1) {
- System.out.println("DAFTAR PACKING LIST (Urut Deskripsi)");
- } else if (n == 2) {
- System.out.println("DAFTAR PACKING LIST (Urut Berat)");
- } else if (n == 3) {
- System.out.println("DAFTAR PACKING LIST (Urut Total)");
- }
- if (member.equalsIgnoreCase("y")) {
- System.out.println("Member\t\t: YES");
- } else {
- System.out.println("Member\t\t: NO");
- }
- System.out.println("Alamat Pengirim\t: " + alamatPengirim);
- System.out.println("Alamat Tujuan\t: " + alamatTujuan);
- System.out.println("================================================================================");
- System.out.println(" Desk.Paket\t\tFragile\t\tBerat (Kg)\t\tTotal Harga(Rp)");
- System.out.println("================================================================================");
- // do sorting
- if (n == 1) {
- bsortDeskripsi(pakets);
- } else if (n == 2) {
- bsortBerat(pakets);
- } else if (n == 3) {
- bsortTotal(pakets);
- }
- double total = 0;
- // print result
- for (int i = 0; i < pakets.length; i++) {
- System.out.printf("%s \t\t %s \t\t %.2f \t\t\t %,.2f %n",
- pakets[i].deskripsi,
- pakets[i].fragile,
- pakets[i].berat,
- pakets[i].total);
- total += pakets[i].total;
- }
- System.out.println("================================================================================");
- System.out.printf("TOTAL HARGA KESELURUHAN \t\t\t\t\t %,.2f %n", total);
- System.out.println("JUMLAH PAKET: " + pakets.length);
- System.out.println("");
- }
- static Paket[] bsortDeskripsi(Paket[] arrs) {
- Paket temp;
- for (int i = 0; i < arrs.length - 1; i++) {
- for (int j = 0; j < arrs.length - 1; j++) {
- if (arrs[j].deskripsi.compareTo(arrs[j + 1].deskripsi) > 0) {
- temp = arrs[j];
- arrs[j] = arrs[j + 1];
- arrs[j + 1] = temp;
- }
- }
- }
- return arrs;
- }
- static Paket[] bsortBerat(Paket[] arrs) {
- Paket temp;
- for (int i = 0; i < arrs.length - 1; i++) {
- for (int j = 0; j < arrs.length - 1; j++) {
- if (arrs[j].berat > arrs[j + 1].berat) {
- temp = arrs[j];
- arrs[j] = arrs[j + 1];
- arrs[j + 1] = temp;
- }
- }
- }
- return arrs;
- }
- static Paket[] bsortTotal(Paket[] arrs) {
- Paket temp;
- for (int i = 0; i < arrs.length - 1; i++) {
- for (int j = 0; j < arrs.length - 1; j++) {
- if (arrs[j].total > arrs[j + 1].total) {
- temp = arrs[j];
- arrs[j] = arrs[j + 1];
- arrs[j + 1] = temp;
- }
- }
- }
- return arrs;
- }
- }
Add Comment
Please, Sign In to add comment