Tentu, berikut adalah penjelasan terstruktur untuk pembuatan program perpustakaan
menggunakan aplikasi Python, mulai dari langkah-langkah, algoritma, kode program, hingga
contoh hasilnya:
✅ 1. Langkah-Langkah Pembuatan Program Perpustakaan
1. Analisis Kebutuhan
o Fitur yang dibutuhkan: tambah buku, lihat buku, pinjam buku, kembalikan buku.
o Data yang diperlukan: judul buku, penulis, status (dipinjam/tersedia).
2. Desain Program
o Tentukan struktur data (menggunakan class Buku dan Perpustakaan).
o Tentukan antarmuka pengguna (menu berbasis teks/CLI).
3. Implementasi
o Buat class dan metode sesuai kebutuhan.
o Buat fungsi menu utama.
4. Pengujian
o Jalankan program.
o Uji setiap fitur: tambah buku, pinjam, kembalikan, dll.
5. Pengembangan Lanjut (Opsional)
o Simpan data ke file (JSON/txt).
o Tambahkan GUI (dengan Tkinter).
✅ 2. Algoritma Program Perpustakaan
Algoritma: Sistem Perpustakaan Sederhana
1. Mulai program.
2. Tampilkan menu:
o Tambah Buku
o Lihat Buku
o Pinjam Buku
o Kembalikan Buku
o Keluar
3. Pengguna memilih menu.
4. Berdasarkan pilihan:
o Tambah Buku: input judul dan penulis → simpan ke list.
o Lihat Buku: tampilkan seluruh daftar buku dan statusnya.
o Pinjam Buku: pilih buku → cek status → ubah status ke dipinjam.
o Kembalikan Buku: pilih buku → cek status → ubah status ke tersedia.
5. Ulangi langkah 2 sampai pengguna memilih keluar.
6. Selesai.
✅ 3. Coding Program Perpustakaan (Python CLI)
# File: [Link]
class Buku:
def __init__(self, judul, penulis):
[Link] = judul
[Link] = penulis
[Link] = False
def __str__(self):
status = "Dipinjam" if [Link] else "Tersedia"
return f"{[Link]} oleh {[Link]} - {status}"
class Perpustakaan:
def __init__(self):
self.daftar_buku = []
def tambah_buku(self, judul, penulis):
buku = Buku(judul, penulis)
self.daftar_buku.append(buku)
print(f"Buku '{judul}' berhasil ditambahkan.")
def tampilkan_buku(self):
if not self.daftar_buku:
print("Belum ada buku.")
else:
for i, buku in enumerate(self.daftar_buku, 1):
print(f"{i}. {buku}")
def pinjam_buku(self, indeks):
if 0 < indeks <= len(self.daftar_buku):
buku = self.daftar_buku[indeks - 1]
if not [Link]:
[Link] = True
print(f"Buku '{[Link]}' berhasil dipinjam.")
else:
print("Buku sudah dipinjam.")
else:
print("Indeks buku tidak valid.")
def kembalikan_buku(self, indeks):
if 0 < indeks <= len(self.daftar_buku):
buku = self.daftar_buku[indeks - 1]
if [Link]:
[Link] = False
print(f"Buku '{[Link]}' berhasil dikembalikan.")
else:
print("Buku belum dipinjam.")
else:
print("Indeks buku tidak valid.")
def menu():
perpustakaan = Perpustakaan()
while True:
print("\n=== Sistem Perpustakaan ===")
print("1. Tambah Buku")
print("2. Lihat Daftar Buku")
print("3. Pinjam Buku")
print("4. Kembalikan Buku")
print("5. Keluar")
pilihan = input("Pilih menu (1-5): ")
if pilihan == "1":
judul = input("Masukkan Judul Buku: ")
penulis = input("Masukkan Nama Penulis: ")
perpustakaan.tambah_buku(judul, penulis)
elif pilihan == "2":
perpustakaan.tampilkan_buku()
elif pilihan == "3":
perpustakaan.tampilkan_buku()
indeks = int(input("Masukkan nomor buku yang ingin dipinjam: "))
perpustakaan.pinjam_buku(indeks)
elif pilihan == "4":
perpustakaan.tampilkan_buku()
indeks = int(input("Masukkan nomor buku yang ingin dikembalikan: "))
perpustakaan.kembalikan_buku(indeks)
elif pilihan == "5":
print("Terima kasih telah menggunakan sistem perpustakaan.")
break
else:
print("Pilihan tidak valid!")
if __name__ == "__main__":
menu()
✅ 4. Contoh Hasil Jalannya Program (Output CLI)
=== Sistem Perpustakaan ===
1. Tambah Buku
2. Lihat Daftar Buku
3. Pinjam Buku
4. Kembalikan Buku
5. Keluar
Pilih menu (1-5): 1
Masukkan Judul Buku: Python Dasar
Masukkan Nama Penulis: Budi
Buku 'Python Dasar' berhasil ditambahkan.
=== Sistem Perpustakaan ===
1. Tambah Buku
2. Lihat Daftar Buku
3. Pinjam Buku
4. Kembalikan Buku
5. Keluar
Pilih menu (1-5): 2
1. Python Dasar oleh Budi - Tersedia
Pilih menu (1-5): 3
Masukkan nomor buku yang ingin dipinjam: 1
Buku 'Python Dasar' berhasil dipinjam.
Pilih menu (1-5): 2
1. Python Dasar oleh Budi - Dipinjam
Pilih menu (1-5): 4
Masukkan nomor buku yang ingin dikembalikan: 1
Buku 'Python Dasar' berhasil dikembalikan.
Apakah kamu ingin saya bantu lanjutkan dengan penyimpanan data ke file (agar data tidak
hilang), atau menambahkan antarmuka grafis (GUI)?