Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- /**
- *
- * @author Sandi
- */
- public class Perpustakaan {
- int idx_buku = 0, ketemuIdx = -1, idx_pinjam = 0, ketemuIdxNRP;
- Scanner input = new Scanner(System.in);
- String[][] buku = new String[100][4];
- String[][] pinjaman = new String[100][5];
- public static void main(String[] args) {
- Perpustakaan p = new Perpustakaan();
- p.menu();
- }
- public void menu() {
- System.out.println("========================PERPUSTAKAAN=========================");
- System.out.println("1. Input Data Buku\n2. Pinjam Buku\n3. Tampil Persediaan Buku\n4. Tampil Peminjaman Buku\n5. Hapus Buku");
- System.out.println("Pilih menu : ");
- int pilih = input.nextInt();
- if (pilih == 1) {
- inputBuku();
- menu();
- } else if (pilih == 2) {
- pinjamBuku();
- menu();
- } else if (pilih == 3) {
- tampilPersediaanBuku();
- menu();
- } else if (pilih == 4) {
- tampilPinjaman();
- menu();
- } else if (pilih == 5) {
- deleteArray();
- menu();
- }
- }
- public void inputBuku() {
- System.out.print("Kode Buku : ");
- input.nextLine();
- String kode = input.nextLine();
- //cek apakah sudah ada data buku dengan kode yang diinput
- // System.out.println("Index : " + idx_buku);
- if (idx_buku > 0) {
- for (int i = 0; i <= idx_buku; i++) {
- if (kode.equals(buku[i][0])) {//jika sama kode bukunya
- ketemuIdx = i; //ambil index tempat kode bukunya
- }
- }
- }
- if (ketemuIdx == -1) {// jika ketemuIdx kosong
- buku[idx_buku][0] = kode;
- System.out.print("Judul Buku : ");
- buku[idx_buku][1] = input.nextLine();
- System.out.print("Jenis Buku : ");
- buku[idx_buku][2] = input.nextLine();
- System.out.print("Stok Buku : ");
- buku[idx_buku][3] = input.nextLine();
- idx_buku++;
- } else { // jika ketemuIdx ada atau data buku sudah ada
- System.out.println("Judul Buku : " + buku[ketemuIdx][1]);
- System.out.println("Jenis Buku : " + buku[ketemuIdx][2]);
- System.out.println("Stok Buku : " + buku[ketemuIdx][3]);
- System.out.print("Stok Tambahan : ");
- int tambahan = input.nextInt();
- int stok = tambahan + Integer.parseInt(buku[ketemuIdx][3]); // diubah dulu ke int agar bisa ditambahkan
- buku[ketemuIdx][3] = String.valueOf(stok); // diubah ke string karena tipe data String[]
- }
- }
- public void pinjamBuku() {
- int ketemu = 0; //jika 0 maka tidakada yang sama
- System.out.println("============= Pinjam Buku =============");
- do {
- System.out.print("NRP : ");
- input.nextLine();
- String nrp = input.nextLine();
- if (idx_pinjam > 0) {
- for (int i = 0; i <= idx_buku; i++) {
- if (nrp.equals(pinjaman[i][0])) {//jika sama nrpnya
- ketemu = 1; // jika 1 berarti ada nrp yang sama
- }
- }
- }
- } while (ketemu == 1); //lakukan aksi diatas selama masih ada nrp yang sama
- if (ketemu == 0) { //cek jika ada nrp yang sama
- System.out.print("Nama Peminjam : ");
- pinjaman[idx_pinjam][1] = input.nextLine();//masukan nama peminjam
- int cari = -1;
- do {
- System.out.print("Kode Buku : ");
- String kode = input.nextLine();
- if (idx_buku > 0) {
- for (int i = 0; i <= idx_buku; i++) {
- if (kode.equals(buku[i][0])) {
- pinjaman[idx_pinjam][2] = buku[i][0];//masukan kode buku
- System.out.println("Judul Buku : " + buku[i][1]);
- int harga = 0;
- if (buku[i][2].equalsIgnoreCase("komik")) {
- harga = 2500;
- } else if (buku[i][2].equalsIgnoreCase("majalah")) {
- harga = 3500;
- } else if (buku[i][2].equalsIgnoreCase("novel")) {
- harga = 3000;
- }
- System.out.println("Harga : " + harga);
- cari = i;
- break;
- }
- }
- }
- } while (cari == -1);//lakukan aksi diatas selama kode buku masih salah / tidak terdaftar
- int jumlah;
- int cekStok;
- do {
- cekStok = 0;
- System.out.print("Jumlah pinjam : ");
- jumlah = input.nextInt();
- if (jumlah > Integer.parseInt(buku[cari][3])) {
- cekStok = 1;
- }
- } while (cekStok == 1);
- int stok = Integer.parseInt(buku[cari][3]) - jumlah; //kurangi stok buku
- buku[cari][3] = String.valueOf(stok); //masukan stok setelah dikurangi pinjaman
- pinjaman[idx_pinjam][3] = String.valueOf(jumlah); //masukan jumlah pinjaman
- System.out.print("Tanggal Pinjam [ex: 17-10 (DD-MM) ] : ");
- input.nextLine();
- pinjaman[idx_pinjam][4] = input.nextLine(); //masukan tanggal pinjaman
- idx_pinjam++;
- }
- }
- public void tampilPersediaanBuku() {
- System.out.printf("%s %10s %25s %12s %3s \n", "No", "Kode Buku", "Judul", "Jenis", "Stock");
- System.out.println("=======================================================================");
- for (int i = 0; i < idx_buku; i++) {
- System.out.printf("%d. %10s %25s %12s %3s \n", (i + 1), buku[i][0], buku[i][1], buku[i][2], buku[i][3]);
- }
- }
- public void tampilPinjaman() {
- System.out.println("=======================================================================");
- System.out.printf("%s %8s %20s %10s %14s %6s\n", "No", "NRP", "Nama Peminjam", "Kode Buku", "Jumlah Pinjam", "Tanggal Pinjam4");
- System.out.println("=======================================================================");
- for (int i = 0; i < idx_pinjam; i++) {
- 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]);
- }
- }
- public void deleteArray() {
- System.out.println("========== Hapus Data Buku ==========");
- if (idx_buku > 0) {
- int ketemu = 0;
- do {
- System.out.print("Kode Buku : ");
- input.nextLine();
- String kode = input.nextLine();
- for (int i = 0; i <= idx_buku; i++) {
- if (kode.equals(buku[i][0])) {
- List<String[]> l = new ArrayList<String[]>(Arrays.asList(buku));
- l.remove(i);
- idx_buku--;
- String[][] array2 = l.toArray(new String[][]{});
- buku = new String[100][4];
- for (int j = 0; j <= idx_buku; j++) {
- buku[j][0] = array2[j][0];
- buku[j][1] = array2[j][1];
- buku[j][2] = array2[j][2];
- buku[j][3] = array2[j][3];
- }
- ketemu=1;
- break;
- }
- }
- } while (ketemu == 0);
- } else {
- System.out.println("Tidak ada data");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement