Tentang Program
Program ini mengelola buku-buku yang akan dipinjam oleh mahasiswa pecinta kartun anime, buku-buku yang dipinjam adalah buku tentang cerita film anime yang telah tayang di TV. Mahasiswa dapat meminjam buku kesukaan mereka dengan melakukan pencarian yang terdapat pada fitur program ini.
Narasi program
Disebuah kampus terdapat perpustakaan yang menyediakan buku khusus kartun anime, yang bertujuan mengajak mahasiswa agar terbiasa membaca. Perpustakaan ini sengaja dibuat agar mahasiswa terbiasa membaca dari hal yang mereka sukai, hingga terbiasa membaca buku-buku pelajaran
Menu program
Program ini memiliki 6 menu yang terdapat pada menu utama menu tersebut diantaranya : ( Input buku, Daftar buku, Pencarian, Pinjaman, Pengembalian, dan keluar ). Setiap menu mempunyai fungsi nya masing-masing dan saling berhubungan. Berikut adalah gambar struktur menu dari program :
Penjelasan tiap menu
1. INPUT BUKU
Menu ini berfungsi untuk menginputkan buku-buku yang ada diperpustakaan dengan inputan berupa kode buku, judul buku dan nama pengarang.
2. LIHAT DATA
Data buku yang sudah diinput akan ditampilkan pada menu ini, menu ini juga mengimplementasikan konsep pengurutan data berdasarkan kode buku.
3. CARI BUKU
Jika mahasiswa tidak tahu judul buku yang ingin mereka cari, mereka bisa menggunakan menu cari buku yang menampilkan menu sebagai berikut :
a. Kode Buku
Pilihan ini memudahkan Pustakawan untuk mencari buku berdasarkan kode buku.
b. Pengarang
Pilihan ini memudahkan Pustakawan dan pengunjung untuk mencari buku berdasarkan nama pengarangnya.
4. PINJAM BUKU
Menu ini berfungsi untuk proses peminjaman buku dengan menginputkan data peminjam berupa Nama, NPM dan Kelas.
5. PENGEMBALIAN
Menu ini berfungsi untuk menampilkan data peminjam dan untuk mengembalikan buku yang dipinjam.
6. KELUAR
Menu ini berfungsi untuk keluar dari program.
Listing program
package tugasbesar;
import java.util.Scanner;
public class TugasBesar {
static Scanner input = new Scanner(System.in);
static String nama[] = new String[50];
static int mhs[][] = new int[50][5];
static int buku1[][] = new int[50][2];
static String buku2[][] = new String[50][2];
static int peminjam[][] = new int[50][2];
static int banyak;
static int jmlpinjam;
//static int
static int jmlmhs;
public static void main(String[] args) {
char back;
int pilih;
do
{
System.out.println("\t\t\t*** STT-LIB ***");
System.out.println("\t\t\t-- MENU UTAMA --");
System.out.println("1. Input Buku");
System.out.println("2. Daftar Buku");
System.out.println("3. Pencarian");
System.out.println("4. Peminjaman");
System.out.println("5. Pengembalian");
System.out.println("6. Keluar\n");
System.out.print("Masukan Pilihan : ");
pilih = input.nextInt();
switch(pilih)
{
case 1:inputBuku();break;
case 2:System.out.println("\t\t\t-- DAFTAR BUKU --\n");daftarBuku();break;
case 3:cari();break;
case 4:pinjamBuku();break;
case 5:pengembalian();break;
case 6:System.out.println("Anda telah keluar program !");break;
default:System.out.println("Anda memasukan pilihan yang salah !");
}
if(pilih == 6)
{
back ='T';
}
else
{
System.out.print("\n\nKembali ke Menu Utama ? [Y/T] : ");
back = input.next().charAt(0);
System.out.println("-----------------------------------------------------------------");
}
}
while(back != 'T');
}
public static void inputBuku(){
System.out.println("\t\t\t-- INPUT BUKU --");
int jml,no=1;
System.out.print("Masukan jumlah buku : ");
jml = input.nextInt();
for(int i = banyak;i < banyak+jml;i++)
{
System.out.println("Buku ke "+no);
System.out.print("Kode Buku : ");buku1[i][0] = input.nextInt();
input.nextLine();
System.out.print("Judul Buku : ");buku2[i][0] = input.nextLine();
System.out.print("Pengarang : ");buku2[i][1] = input.nextLine();
System.out.print("Tahun Terbit : ");buku1[i][1] = input.nextInt();
no++;
}
banyak+=jml;
System.out.print("Buku berhasil disimpan !");
}
public static void daftarBuku(){
System.out.println("Kode Judul Pengarang Tahun");
System.out.println("=============================================");
int tkode,ttahun;
String tjudul,tpengarang;
for(int i = 0;i < banyak;i++)
{
for(int j=i+1;j < banyak;j++)
{
if(buku1[i][0] > buku1[j][0])
{
tkode = buku1[i][0];
buku1[i][0] = buku1[j][0];
buku1[j][0] = tkode;
ttahun = buku1[i][1];
buku1[i][1] = buku1[j][1];
buku1[j][1] = ttahun;
tjudul = buku2[i][0];
buku2[i][0] = buku2[j][0];
buku2[j][0] = tjudul;
tpengarang = buku2[i][1];
buku2[i][1] = buku2[j][1];
buku2[j][1] = tpengarang;
}
}
System.out.println(buku1[i][0]+" "+buku2[i][0]+" "+buku2[i][1]+" "+buku1[i][1]);
}
}
public static void pinjamBuku(){
System.out.println("\t\t\t-- PINJAM BUKU --");
daftarBuku();
int jml,no=1;
input.nextLine();
System.out.print("Masukan Nama Anda : ");nama[jmlmhs] = input.nextLine();
System.out.print("NPM : ");mhs[jmlmhs][0]= input.nextInt();
System.out.println("1. Teknik Informatika");
System.out.println("2. Teknik Industri");
System.out.println("3. Teknik Sipil");
System.out.println("4. Teknik Komputer");
System.out.print("Jurusan : ");mhs[jmlmhs][1] = input.nextInt();
String pesan = "";
do
{
System.out.print("Masukan Tanggal Pinjam [1-31] : ");mhs[jmlmhs][2] = input.nextInt();
if(mhs[jmlmhs][2] <= 0 || mhs[jmlmhs][2] > 31)
{
System.out.println("Tanggal Salah !");
}
}
while(mhs[jmlmhs][2] <= 0 || mhs[jmlmhs][2] > 31);
if(mhs[jmlmhs][2] < 25)
{
mhs[jmlmhs][3] = (mhs[jmlmhs][2])+7;
}
else
{
mhs[jmlmhs][3] = ((mhs[jmlmhs][2])+7) - 30;
}
System.out.print("Masukan Jumlah Buku yg dipinjam : ");
jml = input.nextInt();
for(int i = jmlpinjam;i < jmlpinjam+jml;i++)
{
System.out.println("Buku Ke-"+no);
System.out.print("Masukan kode buku : ");
peminjam[i][0] = input.nextInt();
for(int j = 0;j < banyak;j++)
{
mhs[jmlmhs][4] = jml;
if(peminjam[i][0] == buku1[j][0])
{
System.out.println("Anda meminjam "+buku2[j][0]);
pesan = "";
break;
}
else
{
pesan = "kode buku tidak tersedia\n";
}
System.out.print(pesan);
}
no++;
peminjam[i][1] = mhs[jmlmhs][0];
}
jmlpinjam+=jml;
jmlmhs = jmlmhs+1;
}
public static void pengembalian(){
if(jmlpinjam == 0)
{
System.out.println("\tBelum ada yang meminjam buku...");
}
else
{
System.out.print("NPM ");
System.out.print("MHS ");
System.out.print("Jurusan ");
System.out.print("BanyakPinjam ");
System.out.print("Tgl ");
System.out.println("Kembali ");
System.out.println("==============================");
for(int i=0;i< jmlmhs;i++)
{
System.out.print(mhs[i][0]+" ");
System.out.print(nama[i]+" ");
if(mhs[i][1] == 1)
{
System.out.print("T. Informatika");
}
else if(mhs[i][1] == 2)
{
System.out.print("T. Industri");
}
else if(mhs[i][1] == 3)
{
System.out.print("T. Sipil");
}
else
{
System.out.print("T. Komputer");
}
System.out.print(" "+mhs[i][4]+" buku ");
System.out.print(mhs[i][2]+" ");
System.out.println(mhs[i][3]+" ");
}
int npm;
int ts;
System.out.println("\nMasukan NPM\t: ");npm = input.nextInt();
for(int i = 0; i < jmlmhs; i++)
{
if(npm == mhs[i][0])
{
do
{
System.out.print("\tMasukan Tanggal Sekarang [1-31]\t: ");ts = input.nextInt();
if(ts <= 0 || ts > 31)
{
System.out.print("\tTanggal salah !\n");
}
}
while(ts <= 0 || ts > 31);
if(ts > mhs[i][3])
{
System.out.println("\tAnda didenda Rp. 500 karena telat mengembalikan");
}
for(int j = 0; j < jmlpinjam; j++)
{
if(peminjam[j][1] == mhs[i][0])
{
if(mhs[jmlmhs-1][0] == npm)
{
jmlmhs-=1;
break;
}
else
{
for(int x=0;x < jmlmhs; x++)
{
mhs[x][0] = mhs[x+1][0];
nama[x] = nama[x+1];
mhs[x][1] = mhs[x+1][1];
mhs[x][2] = mhs[x+1][2];
mhs[x][3] = mhs[x+1][3];
mhs[x][4] = mhs[x+1][4];
peminjam[j][1] = peminjam[j+1][1];
peminjam[j][0] = peminjam[j+1][0];
}
jmlmhs-=1;
break;
}
}
}
System.out.print("\tSilahkan kembalikan buku yang anda pinjam..");
}
}
}
}
public static void cari()
{
int pilih2;
char jawab;
do{
System.out.println("\n\t\tCARI BUKU BERDASARKAN :");
System.out.println("\t1. Kode Buku");
System.out.println("\t2. Pengarang");
System.out.print("\tMasukan pilihan anda\t: ");pilih2 = input.nextInt();
switch(pilih2)
{
case 1:{
int kode,a=0;
String pesan = "";
System.out.print("\tMasukan Kode Buku\t: ");kode = input.nextInt();
System.out.println("\tHASIL PENCARIAN\t: ");
for(int i=0;i<banyak;i++)
{
if(buku1[i][0] == kode)
{
System.out.println("\tKode Buku\t: "+buku1[i][0]);
System.out.println("\tJudul Buku\t: "+buku2[i][0]);
System.out.println("\tNama Pengarang\t: "+buku2[i][1]);
pesan="";
break;
}
else
{
pesan="\tBuku yang anda cari tidak ditemukan!";
}
}
System.out.print(pesan);
break;
}
case 2: {
String karangan;
String pesan = "";
input.nextLine();
System.out.print("\tMasukan Nama Pengarang\t: ");karangan = input.nextLine();
System.out.println("\tHASIL PENCARIAN\t: ");
for(int i= 0;i<banyak;i++)
{
if(buku2[i][1].equalsIgnoreCase(karangan))
{
System.out.println("\t Kode Buku\t: "+buku1[i][0]);
System.out.println("\tJudul Buku\t: "+ buku2[i][0]);
System.out.println("\tNama Pengarang\t: "+buku2[i][1]);
pesan="";
break;
}
else
{
pesan="\tBuku yang anda cari tidak ditemukan!";
}
}
System.out.print(pesan);
break;
}
}
System.out.print("\n\tUlangi Pencarian ? [Y/T] : ");jawab = input.next().charAt(0);
}
while(jawab =='y' || jawab == 'Y');
}
}
Tampilan Program
Menu Utaman
Input buku
Daftar dan pengembalian buku
Cari buku berdasarkan kode buku
Cari buku berdasarkan pengarang buku
Pinjam buku
Pengembalian
Semoga berguna untuk tugas matakuliah struktur data, kalau kepake copas aja listing programnya terus tempel di program java, ^_^
Terimakasih banyak anda sangat membantu :)
ReplyDeleteTerimakasih banyak, sangat bermanfaat. Sukses terus
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteGreat and I have a nifty give: How Long Does House Renovation Take house restoration companies
ReplyDelete