Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.08 KB | None | 0 0
  1.  
  2. import java.util.ArrayList;
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.Scanner;
  6.  
  7.  
  8. /*
  9.  * To change this license header, choose License Headers in Project Properties.
  10.  * To change this template file, choose Tools | Templates
  11.  * and open the template in the editor.
  12.  */
  13. /**
  14.  *
  15.  * @author Sandi
  16.  */
  17. public class Perpustakaan {
  18.  
  19.     int idx_buku = 0, ketemuIdx = -1, idx_pinjam = 0, ketemuIdxNRP;
  20.     Scanner input = new Scanner(System.in);
  21.     String[][] buku = new String[100][4];
  22.     String[][] pinjaman = new String[100][5];
  23.  
  24.     public static void main(String[] args) {
  25.         Perpustakaan p = new Perpustakaan();
  26.         p.menu();
  27.     }
  28.  
  29.     public void menu() {
  30.         System.out.println("========================PERPUSTAKAAN=========================");
  31.         System.out.println("1. Input Data Buku\n2. Pinjam Buku\n3. Tampil Persediaan Buku\n4. Tampil Peminjaman Buku\n5. Hapus Buku");
  32.         System.out.println("Pilih menu : ");
  33.         int pilih = input.nextInt();
  34.         if (pilih == 1) {
  35.             inputBuku();
  36.             menu();
  37.         } else if (pilih == 2) {
  38.             pinjamBuku();
  39.             menu();
  40.         } else if (pilih == 3) {
  41.             tampilPersediaanBuku();
  42.             menu();
  43.         } else if (pilih == 4) {
  44.             tampilPinjaman();
  45.             menu();
  46.         } else if (pilih == 5) {
  47.             deleteArray();
  48.             menu();
  49.         }
  50.  
  51.     }
  52.  
  53.     public void inputBuku() {
  54.         System.out.print("Kode Buku : ");
  55.         input.nextLine();
  56.         String kode = input.nextLine();
  57.         //cek apakah sudah ada data buku dengan kode yang diinput
  58. //        System.out.println("Index : " + idx_buku);
  59.         if (idx_buku > 0) {
  60.             for (int i = 0; i <= idx_buku; i++) {
  61.                 if (kode.equals(buku[i][0])) {//jika sama kode bukunya
  62.                     ketemuIdx = i; //ambil index tempat kode bukunya
  63.                 }
  64.             }
  65.         }
  66.         if (ketemuIdx == -1) {// jika ketemuIdx kosong
  67.             buku[idx_buku][0] = kode;
  68.             System.out.print("Judul Buku : ");
  69.             buku[idx_buku][1] = input.nextLine();
  70.             System.out.print("Jenis Buku : ");
  71.             buku[idx_buku][2] = input.nextLine();
  72.             System.out.print("Stok Buku : ");
  73.             buku[idx_buku][3] = input.nextLine();
  74.             idx_buku++;
  75.         } else { // jika ketemuIdx ada atau data buku sudah ada
  76.             System.out.println("Judul Buku : " + buku[ketemuIdx][1]);
  77.             System.out.println("Jenis Buku : " + buku[ketemuIdx][2]);
  78.             System.out.println("Stok Buku : " + buku[ketemuIdx][3]);
  79.             System.out.print("Stok Tambahan : ");
  80.             int tambahan = input.nextInt();
  81.             int stok = tambahan + Integer.parseInt(buku[ketemuIdx][3]); // diubah dulu ke int agar bisa ditambahkan
  82.             buku[ketemuIdx][3] = String.valueOf(stok); // diubah ke string karena tipe data String[]
  83.  
  84.         }
  85.     }
  86.  
  87.     public void pinjamBuku() {
  88.         int ketemu = 0; //jika 0 maka tidakada yang sama
  89.         System.out.println("============= Pinjam Buku =============");
  90.         do {
  91.             System.out.print("NRP : ");
  92.             input.nextLine();
  93.             String nrp = input.nextLine();
  94.             if (idx_pinjam > 0) {
  95.                 for (int i = 0; i <= idx_buku; i++) {
  96.                     if (nrp.equals(pinjaman[i][0])) {//jika sama nrpnya
  97.                         ketemu = 1; // jika 1 berarti ada nrp yang sama
  98.                     }
  99.                 }
  100.             }
  101.         } while (ketemu == 1); //lakukan aksi diatas selama masih ada nrp yang sama
  102.  
  103.         if (ketemu == 0) { //cek jika ada nrp yang sama
  104.             System.out.print("Nama Peminjam : ");
  105.             pinjaman[idx_pinjam][1] = input.nextLine();//masukan nama peminjam
  106.             int cari = -1;
  107.             do {
  108.                 System.out.print("Kode Buku : ");
  109.                 String kode = input.nextLine();
  110.                 if (idx_buku > 0) {
  111.                     for (int i = 0; i <= idx_buku; i++) {
  112.                         if (kode.equals(buku[i][0])) {
  113.                             pinjaman[idx_pinjam][2] = buku[i][0];//masukan kode buku
  114.                             System.out.println("Judul Buku : " + buku[i][1]);
  115.                             int harga = 0;
  116.                             if (buku[i][2].equalsIgnoreCase("komik")) {
  117.                                 harga = 2500;
  118.                             } else if (buku[i][2].equalsIgnoreCase("majalah")) {
  119.                                 harga = 3500;
  120.                             } else if (buku[i][2].equalsIgnoreCase("novel")) {
  121.                                 harga = 3000;
  122.                             }
  123.                             System.out.println("Harga : " + harga);
  124.                             cari = i;
  125.                             break;
  126.                         }
  127.                     }
  128.                 }
  129.             } while (cari == -1);//lakukan aksi diatas selama kode buku masih salah / tidak terdaftar
  130.             int jumlah;
  131.             int cekStok;
  132.             do {
  133.                 cekStok = 0;
  134.                 System.out.print("Jumlah pinjam : ");
  135.                 jumlah = input.nextInt();
  136.                 if (jumlah > Integer.parseInt(buku[cari][3])) {
  137.                     cekStok = 1;
  138.                 }
  139.             } while (cekStok == 1);
  140.             int stok = Integer.parseInt(buku[cari][3]) - jumlah; //kurangi stok buku
  141.             buku[cari][3] = String.valueOf(stok); //masukan stok setelah dikurangi pinjaman
  142.             pinjaman[idx_pinjam][3] = String.valueOf(jumlah); //masukan jumlah pinjaman
  143.             System.out.print("Tanggal Pinjam [ex: 17-10 (DD-MM) ] : ");
  144.             input.nextLine();
  145.             pinjaman[idx_pinjam][4] = input.nextLine(); //masukan tanggal pinjaman
  146.             idx_pinjam++;
  147.  
  148.         }
  149.  
  150.     }
  151.  
  152.     public void tampilPersediaanBuku() {
  153.         System.out.printf("%s %10s %25s %12s %3s \n", "No", "Kode Buku", "Judul", "Jenis", "Stock");
  154.         System.out.println("=======================================================================");
  155.         for (int i = 0; i < idx_buku; i++) {
  156.             System.out.printf("%d. %10s %25s %12s %3s \n", (i + 1), buku[i][0], buku[i][1], buku[i][2], buku[i][3]);
  157.         }
  158.     }
  159.  
  160.     public void tampilPinjaman() {
  161.         System.out.println("=======================================================================");
  162.         System.out.printf("%s %8s %20s %10s %14s %6s\n", "No", "NRP", "Nama Peminjam", "Kode Buku", "Jumlah Pinjam", "Tanggal Pinjam4");
  163.         System.out.println("=======================================================================");
  164.         for (int i = 0; i < idx_pinjam; i++) {
  165.             System.out.printf("%d. %8s %20s %10s %14s %6s\n", (i + 1), pinjaman[i][0], pinjaman[i][1], pinjaman[i][2], pinjaman[i][3], pinjaman[i][4]);
  166.         }
  167.     }
  168.  
  169.     public void deleteArray() {
  170.         System.out.println("========== Hapus Data Buku ==========");
  171.  
  172.         if (idx_buku > 0) {
  173.             int ketemu = 0;
  174.             do {
  175.                 System.out.print("Kode Buku : ");
  176.                 input.nextLine();
  177.                 String kode = input.nextLine();
  178.                 for (int i = 0; i <= idx_buku; i++) {
  179.                     if (kode.equals(buku[i][0])) {
  180.                         List<String[]> l = new ArrayList<String[]>(Arrays.asList(buku));
  181.                         l.remove(i);
  182.                         idx_buku--;
  183.                         String[][] array2 = l.toArray(new String[][]{});
  184.                         buku = new String[100][4];
  185.                         for (int j = 0; j <= idx_buku; j++) {
  186.                             buku[j][0] = array2[j][0];
  187.                             buku[j][1] = array2[j][1];
  188.                             buku[j][2] = array2[j][2];
  189.                             buku[j][3] = array2[j][3];
  190.                         }
  191.                         ketemu=1;
  192.                         break;
  193.                     }
  194.                 }
  195.             } while (ketemu == 0);
  196.  
  197.         } else {
  198.             System.out.println("Tidak ada data");
  199.         }
  200.     }
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement