0% menganggap dokumen ini bermanfaat (0 suara)
143 tayangan11 halaman

Perpustakaan Sederhana dengan Java

Aplikasi perpustakaan sederhana berbasis teks dikembangkan menggunakan Java dan IDE NetBeans. Aplikasi ini memiliki fitur pendaftaran anggota, peminjaman buku, pengembalian buku, dan menampilkan daftar buku. Kode program menerapkan konsep OOP dan menggunakan array untuk menyimpan data buku.

Diunggah oleh

Andrew Sondakh
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
143 tayangan11 halaman

Perpustakaan Sederhana dengan Java

Aplikasi perpustakaan sederhana berbasis teks dikembangkan menggunakan Java dan IDE NetBeans. Aplikasi ini memiliki fitur pendaftaran anggota, peminjaman buku, pengembalian buku, dan menampilkan daftar buku. Kode program menerapkan konsep OOP dan menggunakan array untuk menyimpan data buku.

Diunggah oleh

Andrew Sondakh
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Perpustakaan Sederhana yang berbasis teks (TextBase) yang di coding dengan Java

menggunakan NetBeans IDE. Aplikasi ini memiliki fitur :


1. Pendaftaran Anggota Baru
2. Peminjaman Buku
3. Pengembalian Buku
4. Lihat Daftar Buku
Berikut adalah kode programnya :
/**

* @author Lukmanul Hakim

*/

public class Perpustakaan {

public static void main (String[] args){

String kembali = "Y"; //variabel untuk melakukan perulangan ke menu utama

double denda=0, sewa=0;

//Array buku sebanyak 10 buku

String[] buku = {"Kamus Inggris - Indonesia", "Kamus IT", "Kamus Indonesia - Inggris", "PC
Magazine", "MacWorld Magazine", "Keyboard Magazine", "Java Advance Networking", "Java
Opensouce Programming", "Java for Programmer", "Killer Game Programming in Java"};

while([Link]("Y")){ //perulangan untuk kembali ke awal menu

//Menu Perpustakaan

[Link]("Menu Perpustakaan Sederhana");

[Link]("---------------------------");

[Link]("1. Pendaftaran");

[Link]("2. Peminjaman Buku");

[Link]("3. Pengembalian Buku");

[Link]("4. Lihat Daftar Buku");

[Link]("---------------------------");

[Link]("\n");

[Link]("Pilih Menu : ");

String dataString = [Link]();


int pilihan = [Link](dataString);

switch(pilihan){

case 1: //Menu Pendaftaran Anggota

[Link]("------------------------");

[Link]("Pendaftaran Anggota Baru");

[Link]("------------------------");

[Link]("Nomor Anggota : ");

String nomorAnggota = [Link]();

[Link]("Nama Anggota : ");

String nama = [Link]();

[Link]("Alamat : ");

String alamat = [Link]();

[Link]("No. Telpon : ");

String nomorTelpon = [Link]();

[Link]("");

[Link]("[Link] Nama Anggota Alamat Nomor Telpon");

[Link]("-----------------------------------------------------");

[Link](nomorAnggota + "\t" + nama + "\t" + alamat + "\t" + nomorTelpon);

[Link]("-----------------------------------------------------");

[Link]("");

[Link]("Data Anda Sudah Tersimpan!!");

[Link]("Terima Kasih!");

break;

case 2: //Menu Peminjaman Buku

[Link]("---------------");

[Link]("Peminjaman Buku");

[Link]("---------------");

[Link]("Nomor Anggota : ");

String noAnggota = [Link]();

[Link]("---------------------------------- ");
[Link]("Daftar Buku Perpustakaan Sederhana ");

[Link]("---------------------------------- ");

for(int i=0;i<=9;i++){

[Link](i+1 + ".\t" + buku[i]);}

[Link]("----------------------------------\n ");

[Link]("Nomor Buku yang dipinjam : ");

String noBuku = [Link]();

int pinjam = [Link](noBuku);

[Link]("Buku yang anda pinjam : " + buku[pinjam - 1]);

//Kontrol harga sewa dari jenis buku

if(pinjam <= 3){

sewa = 3000;

}else if (pinjam >= 4 && pinjam <= 6){

sewa = 1000;

}else{

sewa = 2000;

[Link]("Harga Sewa Buku per-Minggu: " + sewa);

break;

case 3: //Menu Pengembalian Buku

[Link]("----------------");

[Link]("Pengemblian Buku");

[Link]("----------------");

[Link]("Nomor Anggota : ");

String noAng = [Link]();

[Link]("---------------------------------- ");

[Link]("Jenis Buku Perpustakaan Sederhana ");

[Link]("---------------------------------- ");

[Link]("1. Kamus ");

[Link]("2. Majalah ");


[Link]("3. TextBook ");

[Link]("----------------------------------\n ");

[Link]("Buku yang dipinjam : ");

String jnsBuku = [Link]();

int nomorBuku = [Link](jnsBuku);

[Link]("Lama Pinjam : ");

String lamaPinjam = [Link]();

int lama = [Link](lamaPinjam);

//Kontrol perhitungan denda jika terlambat dikembalikan

if(lama > 7){

denda = (lama - 7) * 500;

}else{

denda = 0;

[Link]("Denda :Rp. " + denda);

break;

case 4: //Menu Daftar Buku

[Link]("---------------------------------- ");

[Link]("Daftar Buku Perpustakaan Sederhana ");

[Link]("---------------------------------- ");

//Perulangan untuk menampilkan buku yg ada dlm Array

for(int i=0;i<=9;i++){

[Link](i+1 + ".\t" + buku[i]);}

[Link]("---------------------------------- ");

break;

default:

[Link]("Silahkan Pilih 1/2/3/4");

break;

//Pilihan kembali ke menu


[Link]("Kembali ke Menu ? Y/T : ");

kembali = [Link]();

import [Link].*;

import [Link];

//Membuat kelas dengan nama PerpustakaanSimple dan buat nama variable


beserta tipe data yang akan digunakan.

public class PerpustakaanSimple {

public static void main(String[]args){

String[]judul=new String[5];

double[]hSewa=new double[5];

double[]tSewa=new double[5];

double denda;

double telat;

double totAll=0;

//Mencetak print outnya dengan menginput nomor anggota dan nama anggota
secara manual lalu masukan jumlah buku yang akan dipinjam.

[Link](“==================================”);

[Link](” DATA PENYEWAAN BUKU PERPUSTAKAAN “);


[Link](“==================================”);

[Link](” No Anggota :”);

String noId=[Link]();

[Link](” Nama Anggota :”);

String namaId=[Link]();

[Link](“”);

[Link](“———————-“);

[Link](” PILIHAN BUKU”);

[Link](“———————-“);

[Link](“1. Kamus”);

[Link](“2. Majalah”);

[Link](“3. TextBook”);

[Link](“———————-“);

[Link](” Jumlah Pinjam Buku : “);

String jBuku=[Link]();

int j=[Link](jBuku).intValue();

[Link](“”);

[Link](“———————-“);

//Menentukan jenis buku yang akan dipinjam dengan cara menginput secara
manual.

for(int i=1;i<=j;i++){

[Link](“Buku ke- “+i);

[Link](“Pilih Satu Buku : “);

String pBuku=[Link]();
int pilih=[Link](pBuku).intValue();

[Link](“———————-“);

// Switch disini digunakan sebagai perintah untuk membuat pilihan dari jenis buku
yang diinput tadi dengan menyertai perintah case yang disesuaikan dengan jumlah
jenis bukunya.

switch(pilih){

case 1:{

[Link](“Jenis Kamus yang ada : “);

[Link](“1. Bahasa Indonesia”);

[Link](“2. Bahasa Inggris”);

[Link](“3. Bahasa Sunda”);

[Link](“Pilih yang anda mau :”);

String kamus=[Link]();

int pKamus=[Link](kamus).intValue();

if(pKamus==1){judul[i]=”Bahasa Indonesia”;}

else

if(pKamus==2){judul[i]=”Bahasa Inggris”;}

else

{judul[i]=”Bahasa Sunda”;}

[Link](“Judul Pinjaman : “+judul[i]);

break;

case 2:{

[Link](“Jenis Majalah yang ada : “);


[Link](“1. PC Media”);

[Link](“2. Sport”);

[Link](“3. Bola”);

[Link](“Pilih yang anda mau :”);

String majalah=[Link]();

int pMajalah=[Link](majalah).intValue();

if(pMajalah==1){judul[i]=”PC Media”;}

else

if(pMajalah==2){judul[i]=”Sport”;}

else

{judul[i]=”Bola”;}

[Link](“Judul Pinjaman : “+judul[i]);

break;

case 3:{

[Link](“Jenis TextBook yang ada : “);

[Link](“1. Visual [Link]”);

[Link](“2. Java Fundamental”);

[Link](“3. Microsoft Office”);

[Link](“4. Network Administrator”);

[Link](“Pilih yang anda mau :”);

String book=[Link]();

int pBook=[Link](book).intValue();
if(pBook==1){judul[i]=”Visual [Link]”;}

else

if(pBook==2){judul[i]=”Java Fundamental”;}

else

if(pBook==3){judul[i]=”Microsoft Office”;}

else

{judul[i]=”Network Administrator”;}

[Link](“Judul Pinjaman : “+judul[i]);

break;

default:

//Melakukan perhitungan terhadap buku yang dipinjam. Pada proses ini


menggunakan perintah if , karena terdapat 3 (kondisi). Dan untuk waktu pinjam
dan lamanya pengembalian buku dimasukan secara manual.

if(pilih==1){hSewa[i]=3000;}

else

if(pilih==2){hSewa[i]=1000;}

else

{hSewa[i]=2000;}}

[Link](“”);

[Link](“==================================”);

[Link](“Waktu Pinjam (Minggu)=”);

String wPinjam = [Link]();


int pinjam=[Link](wPinjam).intValue();

[Link](“Lama Kembali (Hari)=”);

String lKembali = [Link]();

int kembali=[Link](lKembali).intValue();

[Link](“==================================”);

[Link](“”);

//Pada bagian dibawah ini merupakan proses perhitungan denda jika lamanya
kembali melebihi ketentuan yang berlaku.

telat=kembali-(pinjam*7);

if(kembali<(pinjam*7)){

denda=0;}

else

denda=(telat*500);}

[Link](“==================================”);

[Link](” DATA PINJAM BUKU”);

[Link](“==================================”);

[Link](“”);

[Link](“No Anggota : “+noId);

[Link](“Nama Anggota : “+namaId);

[Link](“Waktu Pinjam : “+wPinjam);

[Link](“Lama Kembali : “+lKembali);

[Link](“Keterlambatan : “+telat);
//Coding dibawah ini untuk proses perhitungan pembayaran yang nantinya akan
dibayarkan oleh si peminjam.

for(int i=1;i<=j;i++){

tSewa[i]=(hSewa[i]*(pinjam));

totAll=totAll+tSewa[i]+denda;

[Link](“——————————————–“);

[Link](“No Judul Sewa Bayar”);

[Link](“——————————————–“);

[Link](“”+i+” “+judul[i]+” “+hSewa[i]+” “+tSewa[i]);

[Link](“——————————————–“);

[Link](“Jumlah Denda : “+denda);

[Link](“Total Bayar : “+totAll);

[Link](“——————————————–“);

Common questions

Didukung oleh AI

In Source 1, the implementation for handling book borrowing uses a fixed array of book titles and implements book ID selection directly by mapping array indices with user input, which simplifies the borrowing process. The rental fees are calculated based on conditional logic tied to hardcoded book ID ranges. In contrast, Source 2 expands on this functionality by implementing additional nested choices for book selection beyond a single array, allowing users to choose specific book types and subcategories. Source 2 also involves multi-step input processes with nested switch-case statements to accommodate detailed choices and conditions in rental operations .

The InputKeyboard class in the TextBase library program acts as a utility for handling user input from the console. It facilitates interactions by providing methods that allow reading and parsing inputs entered by users for different operations, such as member registration and book borrowing processes. Its presence helps abstract input operations away from the main logic, contributing to a cleaner and more maintainable codebase .

The rental fees for books in the TextBase library system are determined by the type of book selected. For a type 1 book (Kamus), the fee is set at 3000; for a type 2 book (Majalah), the fee is 1000; and for any other book type, the fee is 2000 per week . The system uses conditional statements to assign the appropriate rental fee based on the user's book selection .

The TextBase library system calculates a penalty for overdue book returns by determining how many days beyond the allowed rental period the book was returned. The allowed rental period is 7 days, and if the book is returned late, the system calculates the excess days and multiplies them by a penalty rate of 500 per day. If returned within the time frame, no penalty is charged .

The program utilizes control structures, such as 'switch-case' statements, to handle user actions like book borrowing and returns. These control structures allow the program to provide automatic feedback by executing specific blocks of code based on the user's menu selections. For example, when a user selects the borrowing option, the corresponding case in the switch statement processes the request, calculates rental fees, displays the selected book, and presents a rental confirmation with costs. This control flow ensures that every user selection results in immediate, contextually relevant feedback .

The TextBase library system handles inputs by prompting users for necessary data through direct console inputs, which are processed using InputKeyboard methods. It mitigates errors by offering clear instructions and possible options for each input stage. For instance, lists of books for selection and confirmation messages after data entry guide users through the process, minimizing potential errors. The structured format of user menus and conditional checks on inputs serve to catch and manage incorrect entries interactively .

The TextBase library system ensures a user-friendly interface for book selection by displaying a clear menu with numbered options representing the different types of books available for borrowing. Users can see a list of book titles with associated numbers, making it easy to select a book by entering its corresponding number. The interface provides immediate feedback on the selected book and associated rental cost, thus facilitating informed decision-making .

The TextBase library system provides a new member registration procedure that involves inputting the member's ID number, name, address, and phone number. This information is then stored, and a confirmation message is displayed indicating that the member's data has been saved .

The design of the Java-based library system supports effective management of book lists and borrowing records by using arrays to store book titles, which simplifies retrieval and display operations. The system also uses structured switch-case logic to manage different user actions such as borrowing, returning, and viewing books, ensuring that user inputs lead to the correct processes. This compartmentalization aids in maintaining clarity and order within both user-facing operations and backend processing .

Using static arrays for managing book data in the TextBase library system offers simplicity and fast access times for predefined book lists, making it efficient for small and relatively static datasets. However, this approach limits scalability and flexibility, as arrays have a fixed size and cannot dynamically grow to accommodate more books or changes in book information. Additionally, a static array does not naturally support associative data operations, which could be necessary for more complex library systems involving multiple attributes per book .

Anda mungkin juga menyukai