BAB 4 PERANCANGAN DAN IMPLEMENTASI
Gambar 4.1 Context Diagram Perpustakaan Sekolah Abdi Siswa
73
74
Gambar 4.2 Diagram Level 1 Perpustakaan Sekolah Abdi Siswa
4.1
Database Planning
4.1.1. Mission Statement Mission Statement pada Perpustakaan Sekolah Abdi Siswa adalah untukmerancang dan mengelola data-data anggota, peminjamanpengembalian, booking buku, booking ruangan, penerimaan buku, sehinggamembantu pustakawan dalam mengelola baik itu data-data
75 anggota, buku maupun data-data transaksi yang terjadi di perpustakaan Sekolah Abdi Siswa .
4.1.1 Mission Objective Setelah mendefinisikan mission statement, maka selanjutnya menetapkan mission objective dari Perpustakaan Sekolah Adi Siswa.Setiap mission objective harus mampu mengidentifikasi tugas tertentu yang akan didukung oleh basis data. Mission Objective: 1. Untuk mengelola (insert dan update) data anggota. 2. Untuk mengelola (insertdan update) data buku. 3. Untuk mengelola (insertdan update) data penerimaan buku. 4. Untuk mengelola (insertdan update) data peminjaman buku dan pengembalian buku. 5. Untuk mengelola (insert dan update ) data booking buku dan booking ruangan.
4.2
Perancangan Sistem Setelah melakukan interview dan analisis pada sistem yang sudah berjalan, maka akan dilakukan perubahan sistem yang terdahulu digunakan. Sistem yang ada di dalam perpustakaan Sekolah Abdi Siswa masih secara manual(Pengarsipan masih menggunakan kertas). Oleh karena itu dirancang sistem basis data sesuai dengan kebutuhan perpustakaan Sekolah Abdi Siswa. Tahap-tahap perancangan sistem basis data pada Perpustakaan Sekolah Abdi Siswa, meliputi: 1.
Perancangan Basis Data Konseptual (Conceptual Database Design)
2. Perancangan Basis Data Logikal (Logical Database Design) 3. Perancangan Basis DataFisikal (Physical Database Design)
76
Gambar 4.3 Sistem Boundary Perpustakaan Sekolah Abdi Siswa
4.2.1
Perancangan Basis data Konseptual Perancangan basis data Konseptual meruapakan suatu proses pembuatan dari suatu entitas dimana menggunakan data yang telah diperoleh dari perpustakaan. Ada beberapa langkah penting dalam menentukan rancangan basis data secara konseptual, diantaranya : 1. Mengidentifikasi tipe entitas 2. Mengidentifikasi tipe Relasional 3. Mengidentifikasi Atribut 4. Menentukan Domain Atribut 5. Menentukan Candidate Key,Primary Key, dan alternate key 6. Mempertimbangkan penggunaan konsep permodelan tingkat tinggi 7. Memeriksa redudansi 8. Validasi Model Konseptual dengan Transaksi User 9. Melakukan review model data konseptual dengan user
4.2.1.1 Mengidentifikasi Tipe Entity
Table 4.1 Tabel Tipe Entity Nama entitas
Deskripsi
Nama lain
Kejadian
77 Pustakawan
Berisi informasi
Admin
Satu Pustakawan melayani
Pustakawan yang
satu atau banyak
bekerja di Sekolah
pengembalian,peminjaman,
Abdi Siswa
pengembalian,booking buku, dan booking ruangan
Anggota
Berisi
informasi -
mengenai
anggota
Satu Anggota dapat melakukan satu booking
perpustakaan
ruangan, dan banyak booking buku, peminjaman serta pengembalian
Buku
Berisi informasi
-
Satu buku bisa terdapat
mengenai buku yang
dalam satu atau banyak
ada di perpustakaan
peminjaman, pengembalian dan booking buku
Peminjaman
Berisi informasi
-
Dalam satu peminjaman
mengenai transaksi
anggota dapat meminjam
peminjaman di
satu atau lebih buku
perpustakaan Sekolah Abdi siswa Pengembalian
Booking buku
Berisi informasi
-
Dalam satu pengembalian
mengenai transaksi
anggota dapat
pengembalian buku
mengembalikan satu atau
di perpustkaan
lebih buku
Berisi informasi
-
Dalam
satu
booking
mengenai buku yang
anggota dapat membooking
di booking
satu atau lebih
Booking
Berisi informasi
ruangan
mengenai ruangan
membooking satu ruangan
yang mau di
atau tidak sama sekali
booking
-
Satu
anggota
bisa
78 4.2.1.2 Menentukan Multiplicity Constraints dari Tipe Relasi
Tabel 4.2 Tabel Tipe Relationship Nama Entity
Multiplicity Relationship
Multiplicity Nama Entity
Pustakawan
1..1
Melayani
1..*
Pengembalian
1..1
Melayani
1..*
Peminjaman
1..1
Melayani
1..*
Booking ruangan
1..1
Melayani
1..*
Booking buku
1..1
Melakukan
0..*
Peminjaman
1..1
Melakukan
0..*
Booking ruangan
1..1
Melakukan
1..*
Pengembalian
1..1
Melakukan
0..*
Booking buku
1..*
Mencakup
1..*
Peminjaman
1..*
Mencakup
1..*
Booking buku
1..*
Mencakup
1..*
Pengembalian
1..1
Mencakup
1..1
Pengembalian
Anggota
Buku
Peminjaman
Gambar 4.4 ERD Konseptual Awal
79
4.2.1.3 Mengidentifikasi Tipe dan Menggabungkan Atribut Setiap Entity
Table 4.3 Tabel Atribut Entity Nama entitas
Attribute
Deskripsi
Tipe data
Null
Multi valued
Pustakawan
IdPustakawan
Berisi ID
Char(4)
No
No
Varchar(50)
No
No
Berisi nomor Varchar(12)
No
Yes
Varchar(50)
No
No
Date
No
No
Char(4)
No
No
pegawai / Pustakawan perpustakaan NamaPustakawan
Berisi nama Pustakawan perpustakaan
NoTelpon
telepon Pustakawan perpustakaan Password
Berisi password Pustakawan perpustakaan
TanggalLahir
Berisi tanggal lahir Pustakawan perpustakaan
Anggota
IdAnggota
Berisi ID anggota yang dimiliki setiap anggota perpustakaan
80 Table 4.3 Tabel Atribut Entity Nama entitas
Attribute
Deskripsi
Tipe data
Null
Multi valued
NamaAnggota
Berisi nama
Varchar(50)
No
No
Varchar(50)
No
No
Berisi nomor Varchar(12)
No
Yes
Varchar(50)
No
No
Varchar(50)
No
No
Date
No
No
Char(4)
No
No
anggota perpustakaan JenjangPendidikan
Berisi Jenjang pendidikan anggota perpustakaan
NoTelp
telepon anggota perpustakaan StatusAnggota
Berisi status Anggota
Kelas
Berisi Kelas anggota perpustakaan
TglLahir
Berisi tanggal lahir anggota perpustakaan
Peminjaman
KodePeminjaman
Berisi kode setiap transaksi peminjaman yang terjadi di perpustakaan
81 Table 4.3 Tabel Atribut Entity Nama entitas
Attribute
Deskripsi
Tipe data
Null
Multi valued
IdAnggota
Berisi ID
Char(4)
No
No
Varchar(50)
No
No
Char(4)
No
No
Varchar(50)
No
No
Int
No
No
Date
No
No
anggota yang dimiliki setiap anggota perpustakaan NamaAnggota
Berisi nama anggota perpustakaan
IdBuku
Berisi ID yang terdapat pada setiap buku
Judul
Berisi judul buku perpustakaan
JumlahBuku
Berisi jumlah buku yang dipinjam dalam sebuah transaksi peminjaman
TanggalPeminjaman
Berisi Tanggal Peminjaman buku
82
Table 4.3 Tabel Atribut Entity Nama entitas
Attribute
Deskripsi
Tipe data
Null
Multi valued
TanggalHarusKembali
Berisi
Date
No
No
Char(4)
No
No
Char(4)
No
No
Varchar(50)
No
No
Char(4)
No
No
tanggal berakhirnya masa peminjaman Pengembalian
KodePengembalian
Berisi kode setiap transaksi pengembalia n yang terjadi di perpustakaan
IdBuku
Berisi ID yang terdapat pada setiap buku
Judul
Berisi judul buku perpustakaan
KodePeminjaman
Berisi kode setiap transaksi peminjaman yang terjadi di perpustakaan
83
Table 4.3 Tabel Atribut Entity Nama entitas
Attribute
Deskripsi
Tipe data
Null
Multi valued
NamaAnggota
Berisi nama
Varchar(50)
No
No
Date
No
No
Int
Yes
No
Int
No
No
Char(4)
No
No
Varchar(50)
No
No
anggota perpustakaan TanggalPengembalian
Berisi tanggal berlangsung nya transaksi pengembalian
Denda
Berisi Denda yang harus dibayar oleh anggota (Bila tidak mengembali kan buku yang dipinjam tepat waktu)
JumlahBuku
Berisi jumlah buku yang dipinjam dalam sebuah transaksi peminjaman
Buku
IdBuku
Berisi IDyang terdapat pada setiap buku
Judul
Berisi judul buku perpustakaan
84
Table 4.3 Tabel Atribut Entity Nama entitas
Attribute
Deskripsi
Tipe data
Null
Multi valued
Pengarang
Berisi nama
Varchar(50)
No
No
Varchar(50)
No
No
Varchar(50)
No
No
Varchar(50)
No
No
Int
No
No
Int
No
No
Int
No
No
Char(4)
No
No
Date
No
No
pengarang yg terdapat pada buku Jenis
Berisi Jenis Buku yang terdapat pada setiap buku
Penerbit
Berisi nama penerbit buku
Status
Berisi Status buku
Jumlah
Berisi Jumlah buku
NoRak
Berisi Nomor Rak tempat buku ditempatkan
Stok
Berisi jumlah stok buku yang terdapat di perpustakaan
Booking Buku
KodeBookingbuku
Berisi kode setiap transaksi Booking buku yang terjadi di perpustakaan
TanggalBookingBuku
Berisi Tanggal Booking buku
85
Table 4.3 Tabel Atribut Entity Nama entitas
Attribute
Deskripsi
Tipe data
Null
Multi valued
IdBuku
Berisi IDyang
Char(4)
No
No
Char(4)
No
No
Int
No
No
Date
No
No
Varchar(50)
No
No
Varchar(50)
No
No
Char(4)
No
No
date
No
No
terdapat pada setiap buku IdAnggota
Berisi ID anggota yang dimiliki setiap anggota perpustakaan
JumlahBuku
Berisi jumlah buku yang dipinjam dalam sebuah transaksi peminjaman
TanggalPengembalian
Berisi tanggal berlangsungny a transaksi pengembalian
NamaAnggota
Berisi nama anggota perpustakaan
Judul
Berisi judul buku perpustakaan
Booking
KodeBookingruangan
Ruangan
Berisi kode Booking ruangan
TanggalBooking
Berisi Tanggal
Ruangan
Booking
86 ruangan
Nama entitas
Attribute
Deskripsi
Tipe data
Null
Multi valued
IdAnggota
Berisi ID
Char(4)
No
No
Int
No
No
Time
No
No
Time
No
No
Varchar(50)
No
No
anggota yang dimiliki setiap anggota perpustakaan BanyakPengguna
Berisikan jumlah pengguna yang akan menggunakan ruangan tersebut
JamPeminjaman
Berisikan mengenai waktu mulai peminjaman ruangan tersebut
JamSelesai
Berisikan mengenai waktu selesainya peminjaman ruangan tersebut
NamaAnggota
Berisi nama anggota perpustakaan
87
4.2.1.4 Menentukan Domain Attribute
Tabel 4.4 Tabel Domain Attribute Nama Entity
Attribute
Data
Type
Domain
and Length Pustakawan
IdPustakawan
Char(4)
attribute ‘A’-‘Z’,’az’,’0’-‘9’
NamaPustakawan
Varchar(50)
‘A’-‘Z’,’a-z’
NoTelpon
Varchar(12)
’0’-‘9’
Password
Varchar(10)
‘A’-‘Z’,’az’,’0’-‘9’
Anggota
TanggalLahir
Date
dd-mm-yyyy
IdAnggota
Char(4)
‘A’-‘Z’,’0’-‘9’
NamaAnggota
Varchar(50)
‘A’-‘Z’,’a-z’
TglLahir
Date
dd-mm-yyyy
NoTelp
Varchar(12)
’0’-‘9’
Kelas
Varchar(50)
‘A’-‘Z’,’az’,’0’-‘9’
StatusAnggota
Varchar(50)
‘A’-‘Z’,’az’,’0’-‘9’
JenjangPendidikan
Varchar(50)
‘A’-‘Z’,;az’,’0’-‘9’
Peminjaman
KodePeminjaman
Char(4)
‘A’-‘Z’,’0’-‘9’
IdAnggota
Char(4)
‘A’-‘Z’,’0’-‘9’
88 IdBuku Nama Entity
Attribute Judul NamaAnggota Denda
Pengembalian
JumlahBuku
Char(4) Data Type and Varchar(50) Length Varchar(50) Interger
Integer
‘A’-‘Z’,’0’-‘9’ Domain ‘A’-‘Z’,’aattribute z’,’0’-‘9’ ‘A’-‘Z’,’a-z’
’0’-‘9’
’0’-‘9’
NamaAnggota
Varchar(50)
‘A’-‘Z’,’a-z’
TanggalPeminjaman
Date
dd-mm-yyyy
TanggalHarusKembali
Date
dd-mm-yyyy
KodePengembalian
Char(4)
‘A’-‘Z’,’0’-‘9’
IdBuku
Char(4)
‘A’-‘Z’,’0’-‘9’
KodePeminjaman
Char(4)
‘A’-‘Z’,’0’-‘9’
IdAnggota
Char(4)
‘A’-‘Z’,’0’-‘9’
TanggalPengembalian
Date
dd-mm-yyyy
JumlahBuku
Integer
’0’-‘9’
Judul
Varchar(50)
‘A’-‘Z’,’az’,’0’-‘9’
Tabel 4.4 Tabel Domain Attribute
89
Buku
IdPustakawan
Char(4)
‘A’-‘Z’,’0’-‘9’
IdBuku
Char(4)
‘A’-‘Z’,’0’-‘9’
Judul
Varchar(50)
‘A’-‘Z’,’a-z’,’0’‘9’
Pengarang
Varchar(50)
‘A’-‘Z’,’a-z’
Status
Varchar(50)
‘A’-‘Z’,’0’-‘9’
Penerbit
Varchar(40)
‘A’-‘Z’,’a-z’
JumlahBuku
Integer
‘0’-‘9’
Jenis
Varchar(10)
‘A’-‘Z’,’a-z’,’0’‘9’
BookingBuku
NoRak
Integer
’0’-‘9’
Stok
Integer
’0’-‘9’
KodeBookingBuku
Char(4)
‘A’-‘Z’,’0’-‘9’
TanggalBookingBuku
Date
dd-mm-yyyy
IdAnggota
Char(4)
‘A’-‘Z’,’0’-‘9’
IdBuku
Char(4)
‘A’-‘Z’,’0’-‘9’
JumlahBuku
Integer
‘0’-‘9’
TanggalPengembalian
Date
dd-mm-yyyy
NamaAnggota
Varchar(50)
‘A’-‘Z’,’a-z’
Judul
Varchar(50)
‘A’-‘Z’,’a-z’,’0’‘9’
BookingRuangan
KodeBookingRuangan
Char(4)
TanggalBookingRuangan Date
‘A’-‘Z’,’0’-‘9’ dd-mm-yyyy
90 IdAnggota
Char(4)
‘A’-‘Z’,’0’-‘9’
BanyakPengguna
Integer
‘0’-‘9’
JamPeminjaman
Time
’hh:mm:ss’
JamSelesai
Time
’hh:mm:ss’
NamaAnggota
Varchar(50)
‘A’-‘Z’,’a-z’
4.2.1.5 MengidentifikasiCandidate Key dan Primary Key Pada Setiap Entity
Tabel 4.5 Tabel Candidate Key, dan Primary Key. Nama Entity
Candidate key
Primary Key
IdPustakawan
IdPustakawan
NamaPustakawan Pustakawan
TglLahir
NamaAnggota TglLahir Anggota
IdAnggota IdAnggota
Judul Buku
Pengarang IdBuku
IdBuku
91
NamaAnggota Peminjaman
Judul
KodePeminjaman
KodePeminjaman KodePengembalian Pengembalian
KodePeminjaman
KodePengembalian
IdBuku
KodeBookingBuku BookingBuku
IdAnggota
KodeBookingBuku
IdBuku
KodeBookingRuangan IdAnggota
KodeBookingRuangan
BookingRuangan NamaAnggota TanggalBookingRuangan
4.2.1.6 Mempertimbangkan Penggunaan Konsep Permodelan Tingkat Tinggi (Langkah Opsional) Pada tahap ini, ERD yang kami buat tidak menggunakan konsep spesialisasi atau generalisasi, agregasi, maupun komposisi, sehingga tahap ini tidak kami lakukan.
92
Gambar 4.5 ERD Konseptual Dengan Primary Key
4.2.1.7 Memeriksa Redudansi Pada tahap ini, ERD yang kami buat kami menemukan redudansi data pada entitas peminjaman dan booking buku. UNF Peminjaman (KodePeminjaman, IdAnggota, IdBuku, Judul, JumlahBuku, TanggalPeminjaman, TanggalHarusKembali, NamaAnggota) 1NF Peminjaman (KodePeminjaman, IdAnggota, IdBuku, TanggalPeminjaman, TanggalHarusKembali) DetailPeminjaman (KodePeminjaman, IdAnggota, NamaAnggota, IdBuku, Judul, Jumlah) 2NF Peminjaman (KodePeminjaman, IdAnggota, IdBuku, TanggalPeminjaman, TanggalHarusKembali NamaAnggota) DetailPeminjaman (KodePeminjaman, IdBuku)
93 Buku (IdBuku, Judul, Pengarang, JumlahBuku, Penerbit, NoRak, Status, Jenis, Stok) Anggota (IdAnggota,NamaAnggota,TglLahir,NoTelp,Kelas,StatusAnggota,JenjangPendidika n)
UNF BookingBuku (KodeBookingBuku, TanggalBookingBuku, IdBuku, IdAnggota, JumlahBuku, TanggalPengembalian, NamaAnggota, Judul) 1NF BookingBuku (KodeBookingBuku, IdBuku, IdAnggota, JumlahBuku, TanggalBookingBuku, TanggalPengembalian) DetailBookingBuku (KodeBookingBuku,IdBuku, IdAnggota, JumlahBuku, NamaAnggota, Judul) 2NF BookingBuku (KodeBookingBuku, IdBuku, IdAnggota, JumlahBuku, TanggalBookingBuku, TanggalPengembalian) DetailBookingBuku (KodeBookingBuku, IdBuku) Buku (IdBuku, Judul, Pengarang, JumlahBuku, Penerbit, NoRak, Status, Jenis, Stok) Anggota (IdAnggota,NamaAnggota,TglLahir,NoTelp,Kelas,StatusAnggota,JenjangPendidika n)
94 UNF Pengembalian (KodeBookingBuku, TanggalBookingBuku, IdBuku, IdAnggota, JumlahBuku, TanggalPengembalian, NamaAnggota, Judul) 1NF DetailPengembalian (KodeBookingBuku, IdBuku, IdAnggota, JumlahBuku, TanggalBookingBuku, TanggalPengembalian) DetailBookingBuku (KodeBookingBuku,IdBuku, IdAnggota, JumlahBuku, NamaAnggota, Judul) 2NF BookingBuku (KodeBookingBuku, IdBuku, IdAnggota, JumlahBuku, TanggalBookingBuku, TanggalPengembalian) DetailBookingBuku (KodeBookingBuku, IdBuku) Buku (IdBuku, Judul, Pengarang, JumlahBuku, Penerbit, NoRak, Status, Jenis, Stok) Anggota
(IdAnggota,NamaAnggota,TglLahir,NoTelp,Kelas,StatusAnggota,JenjangPendidika n)
4.2.1.8 Memvalidasi Model Data Konseptual Terhadap Transaksi User Tujuan dari langkah ini adalah untuk memastikan bahwa model data konseptual dapat mendukung kebutuhan transaksi.Transaksi user yang terjadi pada model data konseptual adalah sebagai berikut : a. Melihat rincian data anggota. b. Mengidentifikasi jumlah anggota. c. Melihat rincian data pustakawan. d. Mengidentifikasi jumlah pustakawan. e. Melihat rincian data buku.
95 f. Mengidentifikasi jumlah buku yang dimiliki. g. Melihat rincian data booking buku h. Melihat rincian data booking ruangan i. Melihat rincian data peminjaman j. Melihat rincian data pengembalian k. Melihat data anggota yang ingin melakukan peminjaman l. Melihat data buku yang dipinjam untuk dikembalikan m. Memasukkan data anggota baru n. Memasukkan data pustakawan baru o. Memasukkan data buku baru p. Memasukkan data booking buku baru q. Memasukkan data booking ruangan baru r. Memasukkan data peminjaman baru s. Memasukkan data pengembalian baru t. Mengubah data anggota u. Mengubah data pustakawan v. Mengubah data buku w. Menghapus data anggota x. Menghapus data pustakawan y. Menghapus data buku
96 Gambar 4.6 ERD Konseptual Dengan Transaksi User
4.2.1.9 Melakukan Review Model Data Konseptual Dengan User Tujuan langkah ini adalah untuk memastikan bahwa model data konseptual yang dibuat telah memenuhi kebutuhan data perpustakaan.
Setelah
melakukan review dengan petugas perpustakaan Sekolah Abdi Siswa, model data konseptual yang dibuat telah memenuhi kebutuhan.
4.2.2
Perancangan Basisdata Logikal Tujuan dari tahap ini adalah untuk menerjemahkan model data konseptual menjadi sebuah model data logical, lalu memvalidasikan model tersebut untuk memastikan bahwa secara structural sudah tepat dan mampu mendukung kebutuhan transaksi.Pada perancangan basisdata logical ini terdapat beberapa langkah, yaitu: 1. Penurunan relasi untuk model data logikal 2. Validasi relasi menggunakan normalisasi
3. ....................................................................................................................... V alidasi relasi terhadap transaksi user 4. ....................................................................................................................... M emeriksa integrity constraints 5. ....................................................................................................................... M elakukan review model data logikal dengan user 6. ....................................................................................................................... M empertimbangkan perkembangan di masa depan 7. ....................................................................................................................... P emilihan Database Management System 4.2.2.1 Penurunan Relasi Untuk Model Data Logikal Tujuan darilangkah ini adalah membuat relasi bagi model data logical untukmerepresentasikan antitas, relasi, dan atribut yang telah diidentifikasi. 4.2.2.1.1 Strong EntityTypes Untuk setiap strong entity pada model data konseptual,dibuat relasi yang mencakup semua simple atribut dari entitas tersebut
97 Pustakawan(IdPustakawan, NamaPustakawan, NoTelpon, Password, TanggalLahir) Primary Key IdPustakawan Buku(IdBuku, judul, jenis, pengarang, penerbit, status, jumlahBuku, NoRak, Stok) Primary Key IdBuku Anggota(IdAnggota, NamaAnggota, TglLahir, NoTelp, StatusAnggota, JenjangPendidikan, Kelas) 4.2.2.1.2 Weak Entity Types Peminjaman(KodePeminjaman, IdAnggota, NamaAnggota, IdBuku, Judul, JumlahBuku, TanggalPeminjaman, TanggalHarusKembali) Primary Key KodePeminjaman Foreign Key IdAnggota references Anggota(IdAnggota) Foreign Key IdBuku references Buku(IdBuku) Pengembalian(KodePengembalian, JumlahBuku, Denda, IdBuku, Judul, KodePeminjaman, NamaAnggota, IdAnggota TanggalPengembalian, IdPustakawan) Primary Key KodePengembalian Foreign Key IdBuku references Buku(IdBuku) Foreign Key KodePeminjaman references Peminjaman(KodePeminjaman) Foreign Key IdAnggota references Anggota(IdAnggota) Foreign Key IdPustakawan references Pustakawan(IdPustakawan) BookingBuku (KodeBookingbuku, TanggalBookingBuku, IdBuku, IdAnggota, JumlahBuku, TanggalPengembalian, NamaAnggota, Judul) Primary Key KodeBookingbuku Foreign Key IdBuku references Buku(IdBuku) Foreign Key IdAnggota references Anggota(IdAnggota) Foreign Key IdPustakawan references Pustakawan(IdPustakawan) BookingRuangan (KodeBookingruangan, TanggalBookingruangan, IdAnggota, BanyakPengguna, JamPeminjaman, JamSelesai, Nama) Primary Key KodeBookingruangan Foreign Key IdAnggota references Anggota(IdAnggota) Foreign Key IdPustakawan references Pustakawan(IdPustakawan) 4.2.2.1.3 One-to-many (1:*) Binary Relationship Types
98 Pada Setiap hubungan one-to-many, entitas yang berada pada one side menjadi parentdan entitas yang berada pada many side menjadi child. Berikut ini relasi one-to-many yang ada pada basis data yang telah dibuat: 1. Hubungan 1:* antara Pustakawan dan Pengembalian Pustakawan(IdPustakawan, NamaPustakawan, NoTelp, Password, TanggalLahir) Primary KeyIdPustakawan Pengembalian(KodePengembalian, JumlahBuku, Denda, IdBuku, Judul,
KodePeminjaman,
NamaAnggota,
IdAnggota
TanggalPengembalian, IdPustakawan) Primary KeyKodePengembalian Foreign KeyIdPustakawan referencesPustakawan(IdPustakawan) 2.
Hubungan
1:*
antara
pustakawan
dan
Peminjaman Pustakawan(IdPustakawan, NamaPustakawan, NoTelpon, Password, TglLahir) Primary KeyIdPustakawan Peminjaman(KodePeminjaman, IdAnggota, NamaAnggota, IdBuku, Judul, JumlahBuku, TanggalPeminjaman, TanggalHarusKembali) Primary KeyKodePeminjaman Foreign KeyIdPustakawan referencesPustakawan(IdPustakawan)
3.
Hubungan 1:* antara pustakawan dan BookingBuku Pustakawan(IdPustakawan, NamaPustakawan, NoTelpon, Password, TglLahir) Primary KeyIdPustakawan BookingBuku (KodeBookingbuku, TanggalBookingBuku, IdBuku, IdAnggota, JumlahBuku, TanggalPengembalian, NamaAnggota, Judul) Primary KeyKodeBookingbuku Foreign KeyIdPustakawan referencesPustakawan(IdPustakawan)
4.
Hubungan BookingRuangan
1:*
antara
pustakawan
dan
99 Pustakawan(IdPustakawan, NamaPustakawan, NoTelpon, Password, TglLahir) Primary KeyIdPustakawan BookingRuangan (KodeBookingruangan, TanggalBookingruangan, IdAnggota,
BanyakPengguna,
JamPeminjaman,
JamSelesai,
NamaAnggota) Primary Key KodeBookingruangan Foreign Key IdPustakawan references Pustakawan(IdPustakawan) 5. Hubungan 1:* antara Anggota dan Peminjaman Anggota(IdAnggota,
NamaAnggota,
NoTelp,
StatusAnggota,
TglLahir) Primary Key IdAnggota Peminjaman(KodePeminjaman, IdAnggota, Nama, IdBuku, Judul, JumlahBuku, TanggalPeminjaman, TanggalHarusKembali) Primary Key KodePeminjaman Foreign Key IdAnggota references Anggota(IdAnggota) 6. Hubungan 1:* antara Anggota dan Pengembalian Anggota(IdAnggota,
NamaAnggota,
NoTelp,
StatusAnggota,
TglLahir) Primary KeyIdAnggota Pengembalian(KodePengembalian, JumlahBuku, Denda, IdBuku, Judul,
KodePeminjaman,
NamaAnggota,
IdAnggota
TanggalPengembalian, IdPustakawan) Primary KeyKodePengembalian Foreign KeyIdAnggota references Anggota(IdAnggota)
7. Hubungan 1:* antara Anggota dan BookingRuangan Anggota(IdAnggota,
NamaAnggota,
NoTelp,
StatusAnggota,
TglLahir) Primary KeyIdAnggota BookingRuangan (KodeBookingruangan, TanggalBookingruangan, IdAnggota, NamaAnggota)
BanyakPengguna,
JamPeminjaman,
JamSelesai,
100 Primary KeyKodeBookingruangan Foreign
keyKodeBookingruangan
referencesBookingRuangan(KodeBookingruangan). 4.2.2.1.4 One-to-one (1:1) Binary Relationship Types Penentuan parent dan child entity untuk menggambarkan hubungan 1:1 tidak dapat dilakukan dengan melihat cardinality hubungan tersebut. Penentuan parent dan child entity dilakukan dengan memperhatikan participation constraint di antara kedua entitas tersebut.Terdapat 3 jenis participation constraint yang dapat diperimbangkan: a. Mandatory participation pada kedua entitas hubungan 1:1. b. Mandatory participation pada salah satu entitas hubungan 1:1. c. Optional participation pada kedua entitas hubungan 1:1. Pada model konseptual, terdapat 2 hubungan 1:1, yaitu antara Peminjaman-HistoryPeminjaman dan Peminjaman-PenggantianBuku. 1. Hubungan 1:1 antara Peminjaman dan Pengembalian Peminjaman(KodePeminjaman, IdAnggota, Nama, IdBuku, Judul, JumlahBuku, TanggalPeminjaman, TanggalHarusKembali) Primary KeyKodePeminjaman Pengembalian(KodePengembalian, JumlahBuku, Denda, IdBuku, Judul,
KodePeminjaman,
NamaAnggota,
IdAnggota
TanggalPengembalian, IdPustakawan) Primary KeyKodePengembalian Foreign
KeyKodePeminjaman
references
Peminjaman(KodePeminjaman)
4.2.2.1.5 Many-to-Many Binary Relationship Types Untuk setiap hubunganmany-to-many pada model data konseptual dibuat relasi yang menggambarkan hubungan tersebut.Primary key dari masing-masing entitas yang berpartisipasi dalam hubungan tersebut, turut dimasukkan ke dalam relasi yang baru dibentuk sebagai foreign key. Satu atau beberapaforeign key tersebut juga akan berperan sebagai primary key untuk relasi yang baru saja terbentuk. Relasi–relasi yang terbentuk antara lain :
101 1. Hubungan many-to-many antara Peminjaman dan Buku menghasilkan entitas baru bernama DetailPeminjaman Dari
Gambar 4.7Relasi Many-to-Many Antara Peminjaman dan Buku
Menjadi
Gambar 4.8 Menghilangkan Relasi Many-to-Many Antara Peminjaman dan Buku
DetailPeminjaman(KodePeminjaman, IdBuku, JumlahPeminjaman) Primary keyKodePeminjaman, IdBuku. Foreign key KodePeminjamanreferences Peminjaman(KodePeminjaman) Foreign key IdBuku referencesBuku(IdBuku) 2. Hubungan many-to-many antara Pengembalian dan Buku menghasilkan entitas baru bernama DetailPengembalian Dari
102
Gambar 4.9 Relasi Many-to-Many Antara Pengembalian dan Buku
Menjadi
Gambar 4.10 Menghilangkan Relasi Many-to-Many Antara Pengembalian dan Buku
DetailPengembalian(KodePengembalian, IdBuku, Jumlah) Primary KeyKodePengembalian, IdBuku. Foreign KeyKodePengembalian references Pengembalian(KodePengembalian)
3. Hubungan many-to-many antara BookingBuku dan Buku menghasilkan entitas baru bernama DetailBookingBuku Dari
103
Gambar 4.11Relasi Many-to-Many Antara DetailBookingBuku dan Buku
Menjadi
Gambar 4.12 Menghilangkan Relasi Many-to-Many Antara DetailBookingBuku dan Buku DetailBookingBuku (KodeBookingBuku, IdBuku) Primary KeyKodeBookingBuku, IdBuku. Foreign
KeyKodeBookingBuku
references
(KodeBookingBuku) Foreign KeyIdBukureferences Buku(IdBuku)
BookingBuku
104
Gambar 4.13 ERD Logikal
4.2.2.2 Validasi Relasi Menggunakan Normalisasi Tujuan dari normalisasi ini adalah untuk memastikan bahwa setiap relasi memiliki jumlah atribut minimal untuk mendukung kebutuhan data perusahaan.Tahap ini tidak dilakukan karena pada model data logical tidak terdapat redudansi, ketergantungan transitif, dan ketergantungan parsial. 4.2.2.3 Validasi Relasi Terhadap Transaski User Tujuan dari langkah ini adalah untuk memastikan bahwa relasi pada model data logical mendukung kebutuhan transaksi.Transaksi user yang terjadi pada model data konseptual adalah sebagai berikut : a. Melihat rincian data anggota b. Mengidentifikasi jumlah anggota c. Melihat rincian data pustakawan d. Mengidentifikasi jumlah pustakawan e. Melihat rincian data buku f. Mengidentifikasi jumlah buku yang dimiliki g. Melihat rincian data booking buku h. Melihat rincian data booking ruangan i. Melihat rincian data peminjaman
105 j. Melihat rincian data pengembalian k. Melihat data anggota yang ingin melakukan peminjaman l. Melihat data buku yang dipinjam untuk dikembalikan m. Memasukkan data anggota baru n. Memasukkan data pustakawan baru o. Memasukkan data buku baru p. Memasukkan data booking buku baru q. Memasukkan data booking ruangan baru r. Memasukkan data peminjaman baru s. Memasukkan data pengembalian baru t. Mengubah data anggota u. Mengubah data pustakawan v. Mengubah data buku w. Menghapus data anggota x. Menghapus data pustakawan y. Menghapus data buku
Gambar 4.14 ERD Logikal Dengan Transaksi User 4.2.2.4 Memeriksa Integrity Constraint Tujuan dari langkah ini adalah untuk melindungi database menjadi tidak lengkap, tidak akurat, atau tidak konsisten. Kendala integrity terdiri dari beberapa tipe, yaitu :
106 a. Required data Beberapa atribut harus mengandung nilai yang valid atau tidak boleh mengandung NULL.Constraint ini sudah diidentifikasi pada tahap basis data konseptual. b. Batasan Domain Setiap atribut memiliki domain, yaitu sekumpulan nilai yang sah untuk atribut constraintnya. Domain setiap atribut telah ditentukan pada tahap perancangan basis data konseptual c. Entity integrity Primary key tidak boleh NULL.Constraint ini telah ditetapkan pada tahap perancangan basis data konseptual. d. Referential integrity Memastikan bahwa seluruh nilai dari foreign key cocok dengan nilai primary key yang dihubungkan.
Tabel 4.6 Tabel Relasi dengan Referential integrity No
Relations
1.
Pustakawan(IdPustakawan, NamaPustakawan, NoTelpon, Password, TglLahir) Primary KeyIdPustakawan
2.
Anggota(IdAnggota,
NamaAnggota,
StatusAnggota, TglLahir) Primary KeyIdAnggota
Tabel 4.6 Tabel Relasi dengan Referential integrity
NoTelp,
107 No
Relations
3.
Buku(IdBuku, Judul, Pengarang, JumlahBuku, Penerbit, NoRak, Status, Jenis, Stok) Primary KeyIdBuku
4.
Peminjaman(KodePeminjaman, NamaAnggota,
IdBuku,
IdAnggota, Judul,
JumlahBuku,
TanggalPeminjaman, TanggalHarusKembali) Primary KeyKodePeminjaman Foreign KeyIdAnggotareferencesAnggota(IdAnggota) ON UPDATE CASCADE ON DELETE NO ACTION Foreign KeyIdBukureferencesBuku(IdBuku) ONUPDATE CASCADE ON DELETE NO ACTION
5.
Pengembalian(KodePengembalian, JumlahBuku, Denda, IdBuku,
Judul,
KodePeminjaman,
NamaAnggota,
IdAnggota TanggalPengembalian, IdPustakawan) Primary KeyKodePengembalian Foreign KeyIdBuku referencesBuku(IdBuku)ON UPDATE CASCADE ON DELETE NO ACTION Foreign
KeyKodePeminjaman
Peminjaman(KodePeminjaman)ON
UPDATE
references CASCADE
ON DELETE NO ACTION Foreign KeyIdAnggota references Anggota(IdAnggota)ON UPDATE CASCADE ON DELETE NO ACTION
108 Foreign
KeyIdPustakawan
references
Pustakawan(IdPustakawan)ON UPDATE CASCADE ON DELETE NO ACTION
Tabel 4.6 Tabel Relasi dengan Referential integrity No
Relations
6.
BookingRuangan (KodeBookingruangan, TanggalBookingruangan, IdAnggota, BanyakPengguna, JamPeminjaman, JamSelesai, NamaAnggota) Primary KeyKodeBookingruangan Foreign KeyIdAnggotareferencesAnggota(IdAnggota) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
KeyIdPustakawan
references
Pustakawan(IdPustakawan) ON UPDATE CASCADE ON DELETE NO ACTION
7.
BookingBuku (KodeBookingbuku, TanggalBookingBuku, IdBuku, IdAnggota, JumlahBuku, TanggalPengembalian, NamaAnggota, Judul) Primary KeyKodeBookingbuku Foreign
KeyIdBuku
referencesBuku(IdBuku)
ON
UPDATE CASCADE ON DELETE NO ACTION Foreign KeyIdAnggotareferencesAnggota(IdAnggota) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
KeyIdPustakawan
references
109 Pustakawan(IdPustakawan) ON UPDATE CASCADE ON DELETE NO ACTION 8.
DetailBookingBuku (KodeBookingBuku, IdBuku) Primary KeyKodeBookingBuku, IdBuku. Foreign KeyKodeBookingBukureferences BookingBuku (KodeBookingBuku)
ON
UPDATE
CASCADE
ON
DELETE NO ACTION Foreign KeyIdBukureferences Buku(IdBuku) ON UPDATE CASCADE ON DELETE NO ACTION
Tabel 4.6 Tabel Relasi dengan Referential integrity No
Relations
9.
DetailPeminjaman(KodePeminjaman,
IdBuku,
JumlahPeminjaman) Primary keyKodePeminjaman, IdBuku. Foreign
key
KodePeminjamanreferences
Peminjaman(KodePeminjaman) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
key
IdBuku
references
Buku(IdBuku)
ON
UPDATE CASCADE ON DELETE NO ACTION
10.
DetailPengembalian(KodePengembalian, IdBuku, Jumlah) Primary Key KodePengembalian, IdBuku Foreign
Key
KodePengembalian
Pengembalian(KodePengembalian)
ON
references UPDATE
110 CASCADE ON DELETE NO ACTION Foreign
KeyIdBuku
references
Buku(IdBuku)
ON
UPDATE CASCADE ON DELETE NO ACTION
4.2.2.5 Melakukan Review Model Data Logikal Dengan User Tujuan dari langkah ini adalah meninjau kembali model data logikal dengan user untuk memastikan bahwa model data tersebut telah menjadi representasi nyata dari kebutuhan data perusahaan.Setelahmelakukan review dengan user, model data logikal yang telah kami rancang telah sesuai dengan kebutuhan user.
4.2.2.6 Menggabungkan Model Data logikal ke Dalam Model Data Global (optional) Tujuan dari langkah ini adalah untuk menggabungkan model data logikal ke dalam sebuah model data logical global yang mewakili semua sudut pandang user terhadap database.Pada penelitian ini, tidak dilakukan penggabungan model data logikal ke dalam model data global 4.2.2.7 Memeriksa Pertumbuhan di Masa Depan Tujuan dari langkah ini adalah untuk menentukan apakah ada kemungkinan perubahan yang signifikan dan untuk menilai apakah model data logikal dapat mengakomodasi perubahan tersebut.Setelah melakukan diskusi dengan staff perpustakaan,telah disetujui bahwa model data logikal dapat mengakomodasi perubahan-perubahan yang mungkin akan terjadi di masa yang akan datang.
4.2.3
Perancangan Basisdata Fisikal Perancangan fisikal database adalah proses menghasilkan deskripsi dari
pengimplementasian
database
ke
dalam
tempat
penyimpanan
111 sekunder. Proses ini mendeskripsikan relasi dasar, organisasi file, dan index yang digunakan untuk mencapai keefisienan dalam mengakses data, dan setiap integritas data terkait, dan langkah – langkah keamanan. 4.2.3.1 Menerjemahkan
Model
Data
Logikal
Untuk
DBMS
yang
Digunakan Tujuan dari langkah ini adalah untuk menghasilkan skema database relasional dari model data logikal yang akan diimplementasikan ke dalam DBMS yang dituju. •
Perancangan Relasi Dasar Tujuan dari langkah ini adalah untuk menentukan bagaimana cara
untuk merepresentasikan relasi dasar yang telah teridentifikasi yang ada pada model data logikal ke dalam DBMS yang dituju.
1. Pustakawan( IdPustakawan
NOT NULL,
NamaPustakawan
NOT NULL,
NoTelpon
NOT NULL,
Password
NOT NULL,
TglLahir
NOT NULL,
Create table Pustakawan ( IdPustakawan CHAR (4) PRIMARY KEY, NamaPustakawan VARCHAR (50) NOT NULL, NoTelepon VARCHAR (12) NOT NULL, Password VARCHAR (50) NOT NULL, TglLahir DATE NOT NULL ); 2. Anggota( IdAnggota
NOT NULL,
NamaAnggota
NOT NULL,
JenjangPendidikan
NOT NULL,
NoTelp
NOT NULL,
Kelas
NOT NULL,
StatusAnggota
NOT NULL,
TglLahir
NOT NULL,
112 Create table Anggota( IdAnggota CHAR (4) PRIMARY KEY, NamaAnggota VARCHAR (50) NOT NULL, JenjangPendidikan VARCHAR (50) NOT NULL, NoTelp VARCHAR (12) NOT NULL, Kelas VARCHAR (50) NOT NULL, StatusAnggota VARCHAR (50) NOT NULL, TglLahir DATE NOT NULL ); 3. Buku( IdBuku
NOT NULL,
Judul
NOT NULL,
Pengarang
NOT NULL,
Jenis
NOT NULL,
Penerbit
NOT NULL,
Status
NOT NULL,
JumlahBuku
NOT NULL,
NoRak
NOT NULL,
Stok
NOT NULL,
Create table Buku ( IdBuku CHAR (4)PRIMARY KEY, Judul VARCHAR (50) NOT NULL, Pengarang VARCHAR (50) NOT NULL, Jenis VARCHAR (50) NOT NULL, Penerbit VARCHAR (50) NOT NULL, Status VARCHAR (50) NOT NULL, JumlahBuku Int NOT NULL, NoRak Int NOT NULL, Stok Int NOT NULL ); 4. Peminjaman( KodePeminjaman
NOT NULL,
IdAnggota
NOT NULL,
IdBuku
NOT NULL,
113 Judul
NOT NULL,
JumlahBuku
NOT NULL,
TanggalPeminjaman
NOT NULL,
TanggalHarusKembali
NOT NULL,
NamaAnggota
NOT NULL,
Create table Peminjaman ( KodePeminjaman CHAR (4) PRIMARY KEY, IdAnggota CHAR (4) NOT NULL, IdBuku CHAR (4) NOT NULL, Judul VARCHAR (50) NOT NULL, JumlahBuku Int NOT NULL, TanggalPeminjaman DATE NOT NULL, TanggalHarusKembali DATE NOT NULL, NamaAnggota VARCHAR (50) NOT NULL, FOREIGN
KEY
REFERENCESAnggota(IdAnggota)
IdAnggota ON
UPDATE
CASCADE ON DELETE NO ACTION, FOREIGN KEY (IdBuku) REFERENCES Buku(IdBuku) ON UPDATE CASCADE ON DELETE NO ACTION ); 5. Pengembalian( KodePengembalian
NOT NULL,
IdBuku
NOT NULL,
KodePeminjaman
NOT NULL,
IdAnggota
NOT NULL,
IdPustakawan
NOT NULL,
TanggalPengembalian
NOT NULL,
JumlahBuku
NOT NULL,
Judul
NOT NULL,
NamaAnggota
NOT NULL,
Denda
NULL,
Create table Pengembalian ( KodePengembalian CHAR (4) PRIMARY KEY, IdBuku CHAR (4) NOT NULL,
114 KodePeminjaman CHAR (4) NOT NULL, IdAnggota CHAR (4) NOT NULL, IdPustakawan CHAR (4) NOT NULL, TanggalPengembalian DATE NOT NULL, JumlahBuku Int NOT NULL, Judul VARCHAR (50) NOT NULL, NamaAnggota VARCHAR (50) NOT NULL, Denda Int NOT NULL, FOREIGN KEY (IdBuku) REFERENCESBuku(IdBuku) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN
KEY
(KodePeminjaman)
REFERENCES
Peminjaman(KodePeminjaman) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN
KEY
(IdPustakawan)
REFERENCES
Pustakawan(IdPustakawan) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN
KEY
REFERENCESAnggota(IdAnggota)
(IdAnggota) ON
UPDATE
CASCADE ON DELETE NO ACTION ); 6. BookingBuku( KodeBookingBuku
NOT NULL,
TanggalBookingBuku
NOT NULL,
IdAnggota
NOT NULL,
TanggalPengembalian
NOT NULL,
IdBuku
NOT NULL,
JumlahBuku
NOT NULL,
NamaAnggota
NOT NULL,
Judul
NOT NULL,
Create Table BookingBuku ( KodeBookingBuku CHAR (4)PRIMARY KEY, TanggalBookingBuku DATE NOT NULL, IdAnggota CHAR (4) NOT NULL, TanggalPengembalian DATE NOT NULL,
115 IdBuku Char (4) NOT NULL, JumlahBuku Int NOT NULL, NamaAnggota VARCHAR (50) NOT NULL, Judul VARCHAR (50) NOT NULL FOREIGN
KEY
(IdAnggota)
REFERENCESAnggota(IdAnggota)
ON
UPDATE
CASCADE ON DELETE NO ACTION, FOREIGN
KEY
(IdBuku)
REFERENCES
Peminjaman(IdBuku) ON UPDATE CASCADE ON DELETE NO ACTION );
7. BookingRuangan( KodeBookingRuangan
NOT NULL,
TanggalBookingRuangan
NOT NULL,
IdAnggota
NOT NULL,
BanyakPengguna
NOT NULL,
JamPeminjaman
NOT NULL,
JamSelesai
NOT NULL,
NamaAnggota
NOT NULL,
Create Table KodeBookingRuangan ( KodeBookingRuangan
CHAR
(4)PRIMARY
KEY,TanggalBookingRuangan DATE NOT NULL, IdAnggota CHAR (4) NOT NULL, BanyakPengguna Int NOT NULL, JamPeminjaman TIME NOT NULL, JamSelesaiTIME NOT NULL, NamaAnggota VARCHAR (50) NOT NULL, FOREIGN
KEY
REFERENCESAnggota(IdAnggota) CASCADE ON DELETE NO ACTION, ); 8. DetailPeminjaman( KodePeminjaman
NOT NULL,
(IdAnggota) ON
UPDATE
116 Idbuku
NOT NULL,
JumlahBuku
NOT NULL,
Create Table DetailPeminjaman ( KodePeminjaman
CHAR
(4)
PRIMARY
KEY
(KodePeminjaman), IdBuku CHAR (4) PRIMARY KEY (IdBuku), JumlahBuku Int, NOT NULL, FOREIGN
KEY
(KodePeminjaman)
REFERENCES
Peminjaman(KodePeminjaman) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (IdBuku) REFERENCESBuku(IdBuku) ON UPDATE CASCADE ON DELETE NO ACTION ); 9. DetailPengembalian( KodePengembalian
NOT NULL
IdBuku
NOT NULL
JumlahBuku
NOT NULL
KodePengembalian
CHAR
(4)PRIMARY
KEY
(KodePengembalian) IdBuku CHAR (4) PRIMARY KEY (IdBuku), JumlahBuku Int NOT NULL, FOREIGN
KEY
(KodePengembalian)
REFERENCESPengembalian(KodePengembalian)
ON
UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (IdBuku) REFERENCES Buku(IdBuku) ON UPDATE CASCADE ON DELETE NO ACTION ); 10. DetailBookingBuku( KodeBookingBuku
NOT NULL
IdBuku
NOT NULL
Create Table DetailBookingBuku ( KodeBookingBuku
CHAR
(4)
PRIMARY
(KodeBookingBuku), IdBuku CHAR (4)PRIMARY KEY (IdBuku),
KEY
117 FOREIGN
KEY
(KodePengembalian)
REFERENCESPengembalian(KodePengembalian)
ON
UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (IdBuku) REFERENCES Buku(IdBuku) ON UPDATE CASCADE ON DELETE NO ACTION •
Merancang Representasi Derived Data Tujuan dari langkah ini adalah untuk mengetahui bagaimana cara merepresentasikan derived data apapun yang terdapat di model data logikal ke dalam DBMS yang dituju. Atribut denda pada relasi Pengembalian diperoleh dengan
melakukan
proses
(tanggalKembalian
-
tanggalPeminjaman *500) •
Merancang General Constraint Tujuan dari langkah ini adalah merancang batasan umum untuk DBMS yang dituju. Berikut ini adalah berberapa general constraint yang terdapat dalam sistem: a. Jumlah buku yang dipinjam tidak dapat melebihi stok yang ada. b. Tanggal pengembalian tidakdapat kurang dari tanggal peminjaman c. Tanggal lahir tidak dapat melebihi tanggal yang tertera pada desktop computer. d. Dalam 1 peminjaman, tidak dapatmeminjam lebih dari 3 buku
4.2.3.2 Merancang Organisasi File dan Index Tujuan dari langkah ini adalah menentukan organisasi file untuk menyimpan relasi dasar dan index yang dibutuhkan untuk mencapai performa yang dapat diterima, ini merupakan cara dimana relasi dan tuples juga akan disimpan di dalam tempat penyimpanan sekunder. •
Menganalisa Transaksi Tujuan dari menganalisa transaksi adalah untuk memahami fungsi dan transaksi yang akan diterapkan pada basis data. Untuk memudahkan
118 menganalisa, makan akan digunakan transaction / relation cross refrences matrix (matrix refrensi silang transaksi/relasi). Transaksi-transaksi yang akan berjalan dalam sistem yaitu: a.
Melihat rincian data anggota
b.
Mengidentifikasi jumlah anggota
c.
Melihat rincian data pustakawan
d.
Mengidentifikasi jumlah pustakawan
e.
Melihat rincian data buku
f.
Mengidentifikasi jumlah buku yang dimiliki
g.
Melihat rincian data booking buku
h.
Melihat rincian data booking ruangan
i.
Melihat rincian data peminjaman
j.
Melihat rincian data pengembalian
k.
Melihat data anggota yang ingin melakukan peminjaman
l.
Melihat data buku yang dipinjam untuk dikembalikan
m. Memasukkan data anggota baru n.
Memasukkan data pustakawan baru
o.
Memasukkan data buku baru
p.
Memasukkan data booking buku baru
q.
Memasukkan data booking ruangan baru
r.
Memasukkan data peminjaman baru
s.
Memasukkan data pengembalian baru
t.
Mengubah data anggota
u.
Mengubah data pustakawan
v.
Mengubah data buku
w. Menghapus data anggota x.
Menghapus data pustakawan
y.
Menghapus data buku Tabel 4.7 Analisis Transaksi
Transaksi Relasi
A I
R
U
B D
I
R
Pustakawan Anggota
C U
D
I
R X
X
X
D U
D
I
R X
U
D
119 Buku Booking ruangan Booking buku Peminjaman Pengembalian Detail peminjaman Detail booking buku Detail pengembalian
Tabel 4.7 AnalisisTransaksi(Lanjutan) Transaksi Relasi
E I
R
F U
D
I
R
G U
D
I
R
U
H D
I
R
U
D
U
D
Pustakawan Anggota Buku
X
X
Booking
X
ruangan Booking buku Peminjaman Pengembalian
Tabel 4.7 AnalisisTransaksi(Lanjutan) Transaksi Relasi Detail peminjaman
E I
R
F U
D
I
R
G U
D
I
R
U
H D
I
R
120 Detail booking
X
buku Detail pengembalian
Tabel 4.7 AnalisisTransaksi(Lanjutan) Transaksi Relasi
I I
R
J U
D
I
R
K U
D
I
R
U
L D
I
R
U
Pustakawan Anggota Buku Booking ruangan Booking buku Peminjaman
X
Pengembalian Detail
X X
peminjaman Detail booking buku Detail
X
pengembalian
Tabel 4.7 AnalisisTransaksi(Lanjutan) Transaksi
M
N
O
P
D
121 Relasi
I
R
U
D
Pustakawan Anggota
I
R
U
D
I
R
U
D
I
R
U
D
U
D
X X
Buku
X
Booking ruangan Booking buku
X
Peminjaman Pengembalian Detail peminjaman Detail booking buku Detail pengembalian
Tabel 4.7 Analisa Transaksi(Lanjutan) Transaksi Relasi
Q I
R
R U
D
I
R
S U
D
I
R
T U
D
I
R
Pustakawan Anggota
X
Buku Booking ruangan
X
122 Booking buku Peminjaman
X
Pengembalian
X
Tabel 4.7 Analisa Transaksi(Lanjutan) Transaksi Relasi
Q I
R
R
U
D
I
R
S U
D
I
R
T U
D
I
R
U
D
U
D
Detail peminjaman Detail booking buku Detail pengembalian
Tabel 4.7 Analisa Transaksi(Lanjutan) Transaksi Relasi
Pustakawan
U I
R
U
V D
I
R
U
Booking ruangan Booking buku Peminjaman Pengembalian
D
I
R
U
X D
X
I
R
X
Anggota Buku
W
X X
123 Detail peminjaman Detail booking buku Detail pengembalian
Tabel 4.7 Analisa Transaksi(Lanjutan) Transaksi Relasi
Y I
R
U
D
Pustakawan Anggota Buku Booking ruangan Booking buku Peminjaman Pengembalian Detail peminjaman Detail booking buku Detail pengembalian
•
Memilih Organisasi File
X
124 Tujuan dari langkah ini adalah untuk menentukan organisasi file yang efisien untuk setiap relasi dasar. •
Memilih Index Tujuan dari langkah ini adalah untuk memastikan apakah dengan menambah index maka performa sistem juga akan meningkat. Tabel 4.8 Pemilihan Index
•
Nama Entity
Index
Nama Index
Pustakawan
IdPustakawan
idxPustakawan
Anggota
IdAnggota
idxIdAnggota
Buku
IdBuku
idxBuku
Peminjaman
KodePeminjaman
idxPeminjaman
Pengembalian
KodePengembalian
idxKodePengembalian
Booking buku
KodeBookingbuku
idxBookingbuku
Booking ruangan
KodeBookingruangan idxBookingruangan
Memperkirakan Kebutuhan Disk Space Tujuan dari langkah ini adalah untuk memperkirakan jumlah ruang disk yang akan dibutuhkan oleh database.Berikut ini adalah perhitungan estimasi kebutuhan memory selama 1 tahun ajaran dari setiap table. 1. Pustakawan Tabel 4.9 Pustakawan Field
Tipe Data
Ukuran
IdPustakawan
Char(4)
4bytes
NamaPustakawan
Varchar(50)
50 bytes
NoTelpon
Varchar(12)
12 bytes
Password
Varchar(10)
10 bytes
TanggalLahir
Date
3 bytes
Kapasitas total Pustakawan adalah sebesar 79bytes. Jumlah data Pustakawan untuk 5 tahun diperkirakan sebanyak 2 Pustakawan.Kebutuhan 2*79bytes =158bytes.
memory untuk
Pustakawan
sebesar
125 2. Anggota
Tabel 4.10 Anggota Field
Tipe Data
Ukuran
IdAnggota
Char(4)
4bytes
NamaAnggota
Varchar(50)
50 bytes
TanggalLahir
Date
3 bytes
NoTelp
Varchar(50)
50 bytes
Kelas
Varchar(50)
50 bytes
StatusAnggota
Varchar(50)
50 bytes
JenjangPendidikan
Varchar(50)
50 bytes
Kapasitas total Anggota adalah sebesar 257bytes. Jumlah data dari data anggota diperkirakan sebanyak 1000 anggota. Kebutuhan memory untuk Anggota sebesar 1000*257bytes = 257000bytes. 3. Booking Buku
Tabel 4.11 Booking Buku Field
Tipe Data
Ukuran
KodeBookingBuku
Char(4)
4bytes
TanggalBookingBuku
Date
3bytes
IdAnggota
Char(4)
10 bytes
IdBuku
Char(4)
4bytes
JumlahBuku
Integer
4bytes
TanggalPengembalian
Date
3 bytes
NamaAnggota
Varchar(50)
50 bytes
Judul
Varchar(50)
50 bytes
Kapasitas total BookingBuku adalah sebesar 128bytes. Jumlah Booking buku 1 bulan diperkirakan sebanyak 50 booking.Kebutuhan memory untuk HistoryPeminjaman selama 5 tahun sebesar 50*60*128bytes = 384000 bytes. 4. Peminjaman
126
Tabel 4.12 Peminjaman Field
Tipe Data
Ukuran
KodePeminjaman
Char(4)
4 bytes
IdAnggota
Char(4)
4bytes
IdBuku
Char(4)
4bytes
Judul
Varchar(50)
50 bytes
JumlahBuku
Integer
4 bytes
NamaAnggota
Varchar(50)
50 bytes
TanggalPeminjaman
Date
3bytes
TanggalHarusKembali
Date
3bytes
Kapasitas total Peminjaman adalah sebesar 122bytes.Jumlah peminjaman dalam 1 bulan diperkirakan sebanyak 500 transaksi peminjaman. Kebutuhan memory untuk 5 tahun sebesar 500*60*122bytes = 3660000 bytes. 5. Pengembalian
Tabel 4.13 Pengembalian Field
Tipe Data
Ukuran
KodePengembalian
Char(4)
4bytes
IdBuku
Char(4)
4 bytes
KodePeminjaman
Char(4)
4bytes
IdAnggota
Char(4)
4bytes
TanggalPengembalian
Date
3 bytes
JumlahBuku
Integer
4 bytes
Judul
Varchar(50)
50 bytes
NamaAnggota
Varchar(50)
50 bytes
Denda
Integer
4bytes
IdPustakawan
Char(4)
4bytes
127 Kapasitas total Pengembalian adalah sebesar 131bytes. Jumlah pengembalian dalam 1 bulan diperkirakan sebanyak 500 transaksi pengembalian. Kebutuhan memory untuk Pengembalian selama 5 tahun sebesar 500*60*131bytes = 3930000 bytes 6. Booking Ruangan
Tabel 4.14 BookingRuangan Field
Tipe Data
Ukuran
KodeBookingRuangan
Char(4)
4bytes
TanggalBookingRuang Date
3bytes
IdAnggota
Char(4)
4bytes
BanyakPengguna
Integer
4bytes
JamPeminjaman
Time
3bytes
JamSelesai
Time
3bytes
NamaAnggota
Varchar(50)
50 bytes
Kapasitas total BookingRuangan adalah sebesar 71bytes. Jumlah Booking dalam 1 bulan diperkirakan sebanyak 20 transaksi Booking. Kebutuhan memory untuk BookingRuangan dalam 5 tahun sebesar 20*60*71bytes = 85200 bytes. 7. Buku Tabel 4.15 Buku Field
Tipe Data
Ukuran
IdBuku
Char(4)
4bytes
Judul
Varchar(50)
50 bytes
Pengarang
Varchar(50)
50 bytes
Status
Varchar(50)
50 bytes
128 Penerbit
Varchar(50)
50 bytes
JumlahBuku
Integer
4 bytes
Jenis
Varchar(50)
10 bytes
NoRak
Integer
4 bytes
Stok
Integer
4 bytes
Kapasitas total Buku adalah sebesar 276bytes. Jumlah buku diperkirakan sebanyak 2000.Kebutuhan memory untuk buku diperkirakan sebesar 2000*276bytes = 552000 bytes. 8. DetailPeminjaman
Tabel 4.16 DetailPeminjaman Field
Tipe Data
Ukuran
KodePeminjaman
Char(4)
4 bytes
IdBuku
Char(4)
4bytes
JumlahBuku
Integer
4 bytes
Kapasitas total DetailPeminjaman adalah sebesar 12bytes. Jumlah DetailPeminjaman dalam 1 bulan diperkirakan sebanyak 500
transaksi
peminjaman.Kebutuhan
DetailPeminjaman
dalam
5
tahun
memory
untuk
diperkirakan
sebesar
500*60*12bytes = 360000 bytes. 9
DetailPengembalian
Tabel 4.17 DetailPengembalian Field
Tipe Data
Ukuran
KodePengembalian
Char(4)
4bytes
JumlahBuku
Int
4 bytes
129 IdBuku
Char(4)
4bytes
Kapasitas total DetailPengembalian adalah sebesar 12bytes. Jumlah DetailPeminjaman dalam 1 bulan diperkirakan sebanyak 500
transaksi
pengembalian.Kebutuhan
DetailPengembalian
dalam
5
tahun
memory
diperkirakan
untuk sebesar
500*60*12bytes = 360000 bytes. Kapasitas total yang dibutuhkan selama 5 tahun adalah sebagai berikut : 158 + 257000 + 384000 + 3660000 + 3930000 + 85200 + 552000 + 360000 + 360000 = 9588358 bytes = 9,5Mb 4.2.3.3 Merancang User Views Tujuan dari langkah ini adalah untuk merancang user views yang telah diperoleh pada waktu pengumpulan kebutuhan dan tahap analisa pada siklus pengembagan system database. Berikut ini adalah beberapa contoh view pada sistem : GRANT Insert, Update, Delete On Pustakawan To Pustakawan GRANT Insert, Update, Delete On Anggota To Pustakawan GRANT Insert, Update, Delete On Buku To Pustakawan GRANT Insert, Update, Delete On Peminjaman To Pustakawan GRANT Insert, Update, Delete On Pengembalian To Pustakawan GRANT Insert, Update, Delete On BookingBuku
130 To Pustakawan GRANT Insert, Update, Delete On BookingRuangan To Pustakawan
4.2.3.4 Merancang Mekanisme Keamanan Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan untuk database seperti yang diinginkan oleh user pada tahap pengumpulan kebutuhan pada siklus pengembangan system database.
Tabel 4.18 Mekanisme Keamanan Relasi \user
Pustakawan
Anggota
R
I
U
D
Pustakawan
X
X
X
X
Anggota
X
X
X
X
Buku
X
X
X
X
X
Peminjaman
X
X
X
X
X
Pengembalian
X
X
X
X
X
BookingBuku
X
X
X
X
X
BookingRuangan
X
X
X
X
X
DetailPeminjaman
X
X
DetailPengembalian
X
X
DetailBookingBuku
X
X
4.3
R
I
U
D
Perancangan Aplikasi Berikut ini merupakan aplikasi yang terdapat rancangan struktur menu. STD (State Transition Diagram) dan dilanjutkan dengan perancangan layar input dan output.
4.3.1
Struktur Menu
131 Bagian ini menjelaskan tentang sususan menu yang ada pada rancangan aplikasi yang akan digunakan. Berikut adalah rancangan menu pada aplikasi dari beberapa tampilan user.
Gambar 4.15 Struktur Menu
4.3.2
Perancangan Input dan Output Berikut ini merupakan rancangan input/output interface aplikasi yang dirancang pada tahap sebelumnya.
132
Gambar 4.16 Rancangan Layar Login
Gambar 4.17 Rancangan Layar Utama
133
Gambar 4.18 Rancangan Layar Untuk Pendaftaran Buku baru (klik Pendaftaran - Buku)
Gambar 4.19 Rancangan Layar Untuk Pendaftaran Anggota (Klik Pendaftaran - Anggota)
134
Gambar 4.20 Rancangan Layar Untuk Peminjaman (Klik Transaksi - Peminjaman)
Gambar 4.21 Rancangan Layar Untuk Pengembalian ( Klik Transaksi – Pengembalian)
135
Gambar 4.22 Rancangan Layar Untuk Booking Buku (Klik Transaksi – Booking - Buku)
Gambar 4.23 Rancangan Layar Untuk Booking Ruangan (Klik transaksi – Booking - Ruangan )
136
Laporan Buku
Gambar 4.24 Rancangan Layar Untuk Laporan (Klik Laporan- Laporan Buku)
Laporan Peminjaman
Gambar 4.25 Rancangan Layar Untuk Laporan (Klik Laporan- Laporan Peminjaman)
137
Laporan Booking Ruangan
Gambar 4.26 Rancangan Layar Untuk Laporan (Klik Laporan- Laporan Booking Ruangan)
Laporan Anggota
Gambar 4.27 Rancangan Layar Untuk Laporan (Klik Laporan- Laporan Anggota)
138
Laporan Pengembalian
Gambar 4.28 Rancangan Layar Untuk Laporan (Klik Laporan- Laporan Pengembalian)
Laporan Booking Buku
Gambar 4.29 Rancangan Layar Untuk Laporan (Klik Laporan- Laporan Booking Buku) 4.3.3
State Transition Diagram State Transition Diagram adalah suatu alat yang digunakan
untuk menggambarkan urutan dan variasi screen yang dapat terjadi selama satu sesipengguna. Berikut adalah STD sesuai dengan aplikasi yang dibuat.
139
Gambar 4.30 State Transition Diagram Login
Gambar 4.31 State Transition Diagram
Gambar 4.32 State Transition Diagram Sub menu File
140
Gambar 4.33 State Transition Diagram Sub menu Pendaftaran
Gambar 4.34 State Transition Diagram Sub menu Transaksi
141
Gambar 4.35 State Transition Diagram Sub Menu Laporan
4.4
Implementasi
4.4.1
Spesifikasi Perangkat Keras Spesifikasi perangkat keras minimum yang diperlukan dalam implementasi apliaksi basisdata pada Sekolah Abdi Siswa adalah sebagai berikut: o Server : Processor
:
Intel Pentium IV 2.4Ghz
Memory
:
512 MB
Harddisk
:
1 GB
Monitor
:
SVGA 15’’
Processor
:
Intel Pentium IV 2.4Ghz
Memory
:
512 MB
o Client :
142
4.4.2
Harddisk
:
1 GB
Monitor
:
SVGA 15’’
Spesifikasi Perangkat Lunak Spesifikasi perangkat lunak minimum yang diperlukan dalam implementasi aplikasi basisdata pada Perpustakaan Sekolah Abdi Siswa adalah : o Server: Microsoft Windows XP Service Pack 2 Database Microsoft SQL Server 2008 Aplikasi C# o Client : Microsoft Windows XP Service Pack 2
4.4.3
Petunjuk Pemakaian Sistem Berikut ini adalah petunjuk pemakaian sistem dari aplikasi Perpustakaan Sekolah Abdi Siswa.Aplikasi dimulai dengan mengklik SkripsiAbdiSiswa.exe, kemudian akan ditampilkan layar login.
Gambar 4.36 Layar Login
143 Pada layar ini user diminta untuk mengisi username dan password. Layar ini berfungsi untuk membatasi akses user(pustakawan)ke basisdata sesuai dengan hak akses yang dimiliki. Jika user mengklik tombol ‘Login’, maka akan dilakukan validasi untuk mengecek apakah uername dan password sudah sesuai dengan basisdata atau tidak. Jika sesuai maka akan masuk ke layar Main Screen. Tombol ‘
’ digunakan untuk keluar dari
aplikasi perpustakaan.exe.
Gambar 4.37 Layar Main Screen
Layar Main Screen adalah layar parent dari layar-layar yang lain. Pada layar Main Screen ini terdapat menu Logout, menu Pendaftaran berisi sub menu (pendaftaran Buku dan pendaftaran Anggota), menu transaksi berisi sub menu (Transaksi peminjaman, Transaksi Pengembalian,
dan
Transaksi Booking yang dibagi lagi menjadi(Booking Buku dan Booking Ruangan)), menu Laporan berisi sub menu (Laporan Buku, Laporan Peminjaman, Laporan Booking Ruangan, Laporan Anggota, Laporan Pengembalian, Laporan Booking Buku).
144
Gambar 4.38 Layar Pendaftaran Buku
Jika pada layar Main Screen user menekan Pendaftaran - Buku maka akan ditampilkan form pendaftaran buku, untuk mendaftarkan buku baru maka pustakawan harus menekan tombol insert terlebih dahulu lalu kemudian memasukkan data- data buku yang berupa Judul buku, pengarang, penerbit, jenis buku(dipilih), jumlah buku, dan nomor rak buku. Kemudian pustakawan dapat mengklik tombol save untuk menyimpan data dari buku baru tersebut atau cancel untuk menghapus data yang baru akan dimasukkan(clear), dan untuk mengupdate data maka pustakawan dapat mengklik buku yang telah terdaftar lalu kemudian klik tombol update maka data dari buku tersebut akan keluar yang lalu kemudian dapat diganti sesuai dengan data yang kita inginkan. Sedangkan untuk mendelete data yang telah terdaftar maka pustakawan dapat mengklik data yang telah ada dan kemudian mengklik tombol delete maka data yang tidak diinginkan akan hilang.
145
Gambar 4.39 Layar Pendaftaran Anggota
Pada layar ini pustakawan dapat menambahkan anggota baru ke dalam basisdata. Untuk menambah anggota, pustakawan terlebih dahulu harus mengklik tombol insert lalu pustakawanbisa mengisi textbox-textbox yang disediakan dengan data anggota yang ingin di-input.. Jika data semua sudah diisi maka user bisa mengklik tombol ‘Save’ untuk menyimpan dalam basisdata, jika semua data sudah sesuai dengan kriteria. Dan tombol ‘cancel’ untuk menghapus semua data yang baru diisi(clear).
146
Gambar 4.40 Layar Transaksi Peminjaman
Pada layar ini Pustakawan dapat mendaftarkan peminjaman yang dilakukan oleh anggota dengan cara memasukkan informasi anggota (ID Anggota) dan kemudian meng-klik tombol search serta memasukkan data buku(ID Buku) dan kemudian meng-klik tombol search dan pustakawan-pun harus memasukkan jumlah buku yang dipinjam barulah pustakawan mengklik tombol “save” untuk menyimpan data peminjaman yang dilakukan oleh anggota.
147
Gambar 4.41 Layar Transaksi pengembalian
Di Halaman ini digunakan pustakawan untuk menyimpan data pengembalian dengan memasukkan kode peminjaman pada textbox yang ada, lalu kemudian klik tombol”search” maka akan muncul data peminjaman yang telah dilakukan oleh anggota, dan dengan meng-klik tombol “insert” maka buku tersebut dimasukkan ke dalam daftar pengembalian dan dengan mengklik tombol “save” , maka buku tersebut telah dikembalikan.
Gambar 4.42 Layar Booking Buku
148
Halaman ini berisi mengenai booking buku yang dapat dilakukan oleh anggota, dimana pustakawan akan memasukkan kode(ID) anggota yang kemudian pustakawan harus meng-klik tombol “search” untuk menggenerate data dari anggota, lalu pustakawan dapat memasukkan data buku(ID buku) dan meng-klik tombol “search” untuk mencari data buku jika dinyatakan benar maka, pustakawan dapat mengisi jumlah buku yang ingin dibooking lalu meng-klik tombol insert untuk memasukkan data tersebut ke dalam daftar booking, dan jika sudah yakin maka dapat meng-klik tombol ”save”.
Gambar 4.43 Layar Booking Ruangan
Dalam halaman ini berisi layar booking ruangan yang hanya dapat dilakukan oleh guru. Pustakawan terlebih dahulu haruslah memasukkan data anggota(ID Anggota) yang berstatus sebagai guru, jika statusnya adalah murid maka akan muncul notifikasi jika yang bisa mem-booking ruangan adalah guru. Jika data yang dimasukkan telah benar maka, pustakawan akan memasukkan jumlah pengguna yang diinginkan oleh guru serta memasukkan jam peminjaman dan tekan tombol get yang akan otomatis pada kolom jam selesai berisi jam selesai dari peminjaman(satu jam tiga puluh menit). Maka
149 pustkawan dapat menekan tombol insert yang kemudian akan muncul pada daftar dan jika pustakawan telah yakin maka pustakawan dapat meng-klik tombol “save”.
Gambar 4.44 Layar Laporan Buku
Halaman ini berisi laporan buku yang dimiliki oleh perpustakaan Sekolah Abdi Siswa dan jika pustakawan ingin mencetak laporan ini maka dapat meng-klik tombol”print”.
Gambar 4.45 Layar Print Laporan Buku
150
Berikut adalah hasil cetakan dari laporan buku nantinya yang akan di-print. Jika laporan yang ada dirasa benar dan akan dicetak oleh pustakawan, maka pustawakan dapat meng-klik tombol “print”.
Gambar 4.46 Layar Laporan Peminjaman
Halaman ini berisi laporan Peminjaman yang telah dilakukan oleh anggota dari perpustakaan Sekolah Abdi Siswa dan jika pustakawan ingin mencetak laporan ini maka dapat meng-klik tombol”print”.
Gambar 4.47 Layar Laporan Booking Ruangan
151
Halaman ini berisi laporan Peminjaman ruangan (Booking ruangan) yang telah dilakukan oleh anggota(Guru) dari perpustakaan Sekolah Abdi Siswa dan jika pustakawan ingin mencetak laporan ini maka dapat meng-klik tombol”print”.
Gambar 4.48 Layar Laporan Anggota
Halaman ini berisi laporan Anggota yang terdaftar di perpustakaan Sekolah Abdi Siswa dan jika pustakawan ingin mencetak laporan ini maka dapat meng-klik tombol”print”.
152
Gambar 4.49 Layar Pengembalian
Layar ini berfungsi untuk menampilkan data buku-buku yang sudah dipinjam oleh anggota dari Sekolah Abdi Siswa dimana diisi oleh Pustakawan.Jika laporan ini ingin dicetak maka pustakawan hanya perlu meng-klik tombol “print”.
Gambar 4.50 Layar Laporan Booking Buku
153 Layar ini berfungsi untuk menampilkan data buku-buku yang dibooking oleh anggota dari Sekolah Abdi Siswa.Jika laporan ini ingin dicetak maka pustakawan dapat meng-klik tombol “print”.