Guest User

Untitled

a guest
Nov 21st, 2017
645
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.46 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. /**
  4. *
  5. * @author Maikel Chandika <mkdika@gmail.com>
  6. */
  7. public class Packinglist {
  8.  
  9. static String member;
  10. static String alamatPengirim;
  11. static String alamatTujuan;
  12. static int x;
  13. static Paket[] pakets;
  14.  
  15. public static void main(String[] args) {
  16. Scanner entry = new Scanner(System.in);
  17.  
  18. System.out.print("Apakah Member (y/n)? ");
  19. member = entry.nextLine();
  20.  
  21. System.out.print("Alamat Pengirim\t: ");
  22. alamatPengirim = entry.nextLine();
  23.  
  24. System.out.print("Alamat Tujuan\t: ");
  25. alamatTujuan = entry.nextLine();
  26.  
  27. System.out.print("Jumlah paket\t: ");
  28. x = entry.nextInt();
  29.  
  30. pakets = new Paket[x];
  31.  
  32. System.out.println("");
  33. for (int i = 0; i < pakets.length; i++) {
  34.  
  35. System.out.println("Paket-" + (i + 1));
  36. pakets[i] = new Paket();
  37.  
  38. System.out.print("Dekripsi Paket: ");
  39. entry = new Scanner(System.in);
  40. pakets[i].deskripsi = entry.nextLine();
  41.  
  42. System.out.print("Apakah Fragile (true/false): ");
  43. entry = new Scanner(System.in);
  44. pakets[i].fragile = entry.nextBoolean();
  45.  
  46. System.out.print("Berat Paket (kg): ");
  47. entry = new Scanner(System.in);
  48. pakets[i].berat = entry.nextDouble();
  49.  
  50. if (pakets[i].berat < 1) {
  51. pakets[i].berat = 1;
  52. }
  53.  
  54. if (member.equalsIgnoreCase("y")) {
  55. pakets[i].total = 23000 * pakets[i].berat;
  56. } else if (member.equalsIgnoreCase("n")) {
  57. pakets[i].total = 25000 * pakets[i].berat;
  58. }
  59.  
  60. System.out.printf("Total Harga Pengiriman Rp. %,.2f %n", pakets[i].total);
  61. System.out.println("");
  62. }
  63.  
  64. String p = "y";
  65. do {
  66. System.out.println("");
  67. System.out.println("PILIHAN MENU:");
  68. System.out.println("1. Urut berdasarkan deskripsi.");
  69. System.out.println("2. Urut berdasarkan berat.");
  70. System.out.println("3. Urut berdasarkan total.");
  71. System.out.print("Pilihan Anda? ");
  72. int n = entry.nextInt();
  73.  
  74. pilihan(n);
  75.  
  76. System.out.print("Apakah Akan Mencoba lagi (y/n)? ");
  77. entry = new Scanner(System.in);
  78. p = entry.nextLine();
  79. } while (p.equalsIgnoreCase("y"));
  80.  
  81. }
  82.  
  83. static void pilihan(int n) {
  84. System.out.println("");
  85.  
  86. if (n == 1) {
  87. System.out.println("DAFTAR PACKING LIST (Urut Deskripsi)");
  88. } else if (n == 2) {
  89. System.out.println("DAFTAR PACKING LIST (Urut Berat)");
  90. } else if (n == 3) {
  91. System.out.println("DAFTAR PACKING LIST (Urut Total)");
  92. }
  93.  
  94. if (member.equalsIgnoreCase("y")) {
  95. System.out.println("Member\t\t: YES");
  96. } else {
  97. System.out.println("Member\t\t: NO");
  98. }
  99. System.out.println("Alamat Pengirim\t: " + alamatPengirim);
  100. System.out.println("Alamat Tujuan\t: " + alamatTujuan);
  101. System.out.println("================================================================================");
  102. System.out.println(" Desk.Paket\t\tFragile\t\tBerat (Kg)\t\tTotal Harga(Rp)");
  103. System.out.println("================================================================================");
  104.  
  105. // do sorting
  106. if (n == 1) {
  107. bsortDeskripsi(pakets);
  108. } else if (n == 2) {
  109. bsortBerat(pakets);
  110. } else if (n == 3) {
  111. bsortTotal(pakets);
  112. }
  113.  
  114. double total = 0;
  115.  
  116. // print result
  117. for (int i = 0; i < pakets.length; i++) {
  118. System.out.printf("%s \t\t %s \t\t %.2f \t\t\t %,.2f %n",
  119. pakets[i].deskripsi,
  120. pakets[i].fragile,
  121. pakets[i].berat,
  122. pakets[i].total);
  123.  
  124. total += pakets[i].total;
  125. }
  126. System.out.println("================================================================================");
  127. System.out.printf("TOTAL HARGA KESELURUHAN \t\t\t\t\t %,.2f %n", total);
  128. System.out.println("JUMLAH PAKET: " + pakets.length);
  129. System.out.println("");
  130.  
  131. }
  132.  
  133. static Paket[] bsortDeskripsi(Paket[] arrs) {
  134. Paket temp;
  135. for (int i = 0; i < arrs.length - 1; i++) {
  136. for (int j = 0; j < arrs.length - 1; j++) {
  137. if (arrs[j].deskripsi.compareTo(arrs[j + 1].deskripsi) > 0) {
  138. temp = arrs[j];
  139. arrs[j] = arrs[j + 1];
  140. arrs[j + 1] = temp;
  141. }
  142. }
  143. }
  144. return arrs;
  145. }
  146.  
  147. static Paket[] bsortBerat(Paket[] arrs) {
  148. Paket temp;
  149. for (int i = 0; i < arrs.length - 1; i++) {
  150. for (int j = 0; j < arrs.length - 1; j++) {
  151. if (arrs[j].berat > arrs[j + 1].berat) {
  152. temp = arrs[j];
  153. arrs[j] = arrs[j + 1];
  154. arrs[j + 1] = temp;
  155. }
  156. }
  157. }
  158. return arrs;
  159. }
  160.  
  161. static Paket[] bsortTotal(Paket[] arrs) {
  162. Paket temp;
  163. for (int i = 0; i < arrs.length - 1; i++) {
  164. for (int j = 0; j < arrs.length - 1; j++) {
  165. if (arrs[j].total > arrs[j + 1].total) {
  166. temp = arrs[j];
  167. arrs[j] = arrs[j + 1];
  168. arrs[j + 1] = temp;
  169. }
  170. }
  171. }
  172. return arrs;
  173. }
  174.  
  175. }
Add Comment
Please, Sign In to add comment