BAB III
ANALISIS DAN PERANCANGAN SISTEM

3.1	Analisis Kebutuhan Dari Obyek Yang Dibangun
Sebelum suatu sistem informasi dikembangkan, terlebih dahulu dimulai dengan adanya suatu kebijakan dan perencanaan untuk mengembangkan sistem tersebut. Dengan perencanaan sistem yang baik diharapkan pengembangan sistem yang baru akan dapat berjalan sesuai dengan keinginan.

3.1.1	Data Yang Dibutuhkan
Sistem ini membutuhkan data-data yang saling berkaitan atau berelasi, yaitu:
1.	Data Buku
2.	Data Anggota
3.	Data Petugas
4.	Data Peminjaman
5.	Data Pengembalian

3.1.2	Perangkat Lunak Yang Digunakan
Perangkat lunak yang dipakai untuk merancang sistem ini adalah:
1.	Sistem Operasi Windows XP SP II
2.	Bahasa pemrograman visual basic 6.0
3.	Database SQL server 7.0
3.1.3	Perangkat Keras Yang Digunakan
Perangkat keras adalah komponen computer yang berbentuk fisik. Perangkat keras terdiri dari unit masukan, dan keluaran. Perangkat keras yang di gunakan adalah :
1.	Komputer processor intel core 2 duo
2.	RAM 2 GB
3.	Harddisk 250 GB
4.	Printer

3.2	Diagram Konteks

Gambar 3.1 Diagram Konteks

3.3	Perancangan Basis Data
Dalam pengembangan sistem ini dibutuhkan beberapa tabel yang akan diolah untuk dijadikan suatu informasi yang dapat menghasilkan keluaran yang diperlukan. Data yang dikumpulkan ke dalam suatu basis data dalam bentuk tabel untuk memudahkan pengolahan data.
Perancangan tabel dari Sistem Informasi Perpustakaan SMP Negeri 1 Mantingan  adalah sebagai berikut:

3.3.1	Rancangan Tabel Kategori
Tabel ini digunakan untuk mencatat atau merekam data yang berhubungan dengan data kategori buku. Spesifikasi tabel ini sebagai berikut:
Tabel 3.1 Rancangan Tabel Kategori
No	Nama Kolom	Tipe	Lebar	Keterangan	
1.
2.
3.	kode_kategori(*)
nama_kategori
lokasi_rak	char
varchar
char	3
30
7	Kode untuk kategori buku
Nama kategori buku
Lokasi rak kategori buku	

3.3.2	Rancangan Tabel Buku
Tabel ini digunakan untuk mencatat atau merekam data yang berhubungan dengan data buku. Spesifikasi tabel ini sebagai berikut:
Tabel 3.2 Rancangan Tabel Buku
No	Nama Kolom	Tipe	Lebar	Keterangan	
1.
2.
3.
4.
5.
6.
7.
8.
9.	kode_buku (*)
kode_kategori(**)
judul
penerbit
pengarang
tahun_terbit
jumlah_halaman
denda_hilang
denda_rusak	char
char
varchar
varchar
varchar
datetime
int
decimal
decimal	8
3
50
50
50
8
4
9
9	Kode buku
Kode kategori buku
Judul buku
Nama penerbit
Nama pengarang
Tahun penerbitan
Jumlah halaman buku
Denda buku yang hilang
Denda buku yang rusak	

3.3.3	Rancangan Tabel Inventaris
Tabel ini digunakan untuk mencatat atau merekam data yang berhubungan dengan data inventaris buku. Spesifikasi tabel ini sebagai berikut:
Tabel 3.3 Rancangan Tabel Inventaris
No	Nama Kolom	Tipe	Lebar	Keterangan	
1.
2.
3.	no_inventeris(*)
kode_buku (**)
status_buku	varchar
varchar
tinyint	11
8
1

	Nomor inventaris buku
Kode buku
1. Ada
2. Rusak
3. Hilang

3.3.4	Rancangan Tabel Petugas
Tabel ini digunakan untuk mencatat data yang berhubungan dengan data anggota perpustakaan. Spesifikasi tabel ini sebagai berikut:
Tabel 3.4 Rancangan Tabel Petugas
No	Nama Kolom	Tipe	Lebar	Keterangan	
1.
2.
3.

4.
5.	Kode_petugas(*)
Nama_petugas
jns_kelamin

alamat
telepon	char
varchar
char

varchar
varchar	6
50
1

50
15	Kode Petugas
Nama petugas
L = Laki-laki
P = Perempuan
Alamat petugas
Nomor telepon petugas	

3.3.5	Rancangan Tabel Anggota
Tabel ini digunakan untuk mencatat data yang berhubungan dengan data anggota perpustakaan. Spesifikasi tabel ini sebagai berikut:

Tabel 3.5 Rancangan Tabel Anggota
No	Nama Kolom	Tipe	Lebar	Keterangan	
1.
2.
3.

4.
5.
6.

7.	no_anggota(*)
nama
jenis_kelamin

alamat
telepon
status anggota

foto	char
varchar
char

varchar
varchar
enum

varchar	5
50
1

50
15
1

50	Nomor keanggotaan
Nama anggota
L = Laki - laki
P = Perempuan
Alamat anggota
Nomor telepon anggota
1. Siswa
2. Guru
3. Karyawan
Menampilkan foto	

3.3.6	Rancangan Tabel Masuk
Tabel ini digunakan untuk mencatat atau merekam data yang berhubungan dengan data anggota perpustakaan. Spesifikasi tabel ini sebagai berikut:
Tabel 3.6 Rancangan Tabel Masuk
No	Nama Kolom	Tipe	Lebar	Keterangan	
1.
2.
3.
4.
5.	no_masuk 
tgl_masuk
kode_buku (**)
jumlah_masuk
asal_masuk	char
datetime
char
int
tinyint	8
8
8
4
1

	Nomor pemasukan
Tanggal pemasukan
Kode buku
Jumlah buku yang masuk
1. Subsidi
2. Pembelian
3. Sumbangan

3.3.7	Rancangan Tabel TransPinjam
Tabel ini digunakan untuk mencatat atau merekam data yang berhubungan dengan transaksi peminjaman buku. Spesifikasi tabel ini sebagai berikut:
Tabel 3.7 Rancangan Tabel TransPinjam
No	Nama Kolom	Tipe	Lebar	Keterangan	
1.
2.
3.
4.

5.	no_pinjam (**)
no_inventaris(**)
kode_petugas(**)
status_buku

perpanjang	char
char
varchar
tinyint

smallint	10
11
6
1

2	Nomor peminjaman
Nomor inventaris
Kode Petugas
1. Ada
2. Rusak
3. Hilang
Perpanjangan	

3.3.8	Rancangan Tabel TransKembali
Tabel ini digunakan untuk mencatat atau merekam data yang berhubungan dengan transaksi pengembalian buku. Spesifikasi tabel ini sebagai berikut:
Tabel 3.8 Rancangan Tabel TransKembali
No	Nama Kolom	Tipe	Lebar	Keterangan	
1.
2.
3.
 4.
5.	no_pinjam(**) 
tgl_kembali
no_inventaris(**)
kode_petugas(**)
denda	char
datetime
char
varchar decimal 	10
8
11
6
9	Nomor peminjaman
Tanggal pengembalian
Nomor inventaris
Kode_petugas
Jumlah denda	

3.3.9	Rancangan Tabel Transaksi
Tabel ini digunakan untuk mencatat atau merekam data yang berhubungan dengan transaksi peminjaman dan pengembalian buku. Spesifikasi tabel ini sebagai berikut:
Tabel 3.9 Rancangan Tabel Transaksi
No	Nama Kolom	Tipe	Lebar	Keterangan	
1.
2.
3.	no_pinjam(*) 
tgl_pinjam
no_anggota(**)	char
datetime
char	10
8
5	Nomor peminjaman
Tanggal perpanjangan
Nomor anggota	

3.4	Relasi Antar Tabel
Relasi antar tabel merupakan alat bantu dalam menentukan langkah-langkah kerja yang dimulai dari proses pembentukan tabel, perekaman data sampai dengan pembentukan laporan-laporan sehingga dapat memudahkan pengolahan data dan dapat memberikan gambaran umum yang jelas dari jalannya suatu sistem. Berikut adalah bentuk relasi antara tabel satu dengan yang lain:

Gambar 3.2 Diagram Relasi Antar Tabel

Penjelasan Relasi Antar Tabel
Tabel T_kategori dengan tabel T_buku memiliki relasi one to many yang artinya satu kategori bisa memiliki lebih dari satu buku. Kolom yang menghubungkannya adalah kode_kategori dimana di dalam tabel T_kategori berperan sebagai kunci utama dan di dalam tabel T_buku berperan sebagai kunci tamu.
Tabel T_buku dengan tabel T_inventaris memiliki relasi one to many yang artinya satu buku bisa memiliki lebih dari satu inventaris. Kolom yang menghubungkannya adalah kode_buku dimana di dalam tabel T_buku berperan sebagai kunci utama dan di dalam tabel T_inventaris berperan sebagai kunci tamu.
Tabel T_buku dengan tabel T_masuk memiliki relasi one to many yang artinya satu buku bisa memiliki lebih dari satu pemasukan. Kolom yang menghubungkannya adalah kode_buku dimana di dalam tabel T_buku berperan sebagai kunci utama dan di dalam tabel T_masuk berperan sebagai kunci tamu.
Tabel T_inventaris dengan tabel T_TransPinjam memiliki relasi one to many yang artinya satu inventaris bisa memiliki lebih dari satu peminjaman. Kolom yang menghubungkannya adalah no_inventaris dimana di dalam tabel T_inventaris berperan sebagai kunci utama dan di dalam tabel T_TransPinjam berperan sebagai kunci tamu. Tabel T_inventaris juga memiliki relasi one to many dengan tabel T_TransKembali yang artinya satu inventaris bisa memiliki lebih atau satu pengembalian. Kolom yang menghubungkan adalah no_inventaris dimana di dalam tabel T_inventaris berperan sebagai kunci utama di dalam tabel T_TransKembali berperan sebagai kunci tamu.
Tabel T_petugas dengan tabel T_TransPinjam memiliki relasi one to many yang artinya satu petugas bisa melayani lebih dari satu peminjaman. Kolom yang menghubungkannya adalah kode_petugas dimana di dalam tabel T_petugas berperan sebagai kunci utama dan di dalam tabel T_Transpinjam berperan sebagai kunci tamu.
Tabel T_petugas dengan tabel T_Transkembali memiliki relasi one to many yang artinya satu petugas bisa melayani lebih dari satu pengembalian. Kolom yang menghubungkannya adalah kode_petugas dimana di dalam tabel T_petugas berperan sebagai kunci utama dan di dalam tabel T_Transkembali berperan sebagai kunci tamu.
Tabel T_anggota dengan tabel T_trans memiliki relasi one to many yang artinya satu anggota bisa memiliki lebih dari satu transaksi. Kolom yang menghubungkannya adalah no_anggota dimana di dalam tabel T_angggota berperan sebagai kunci utama dan di dalam tabel T_trans berperan sebagai kunci tamu.
Tabel T_trans dengan tabel T_Transpinjam memiliki relasi one to many yang artinya satu transaksi bisa melayani lebih dari satu peminjaman. Kolom yang menghubungkannya adalah no_pinjam dimana di dalam tabel T_Trans  berperan sebagai kunci utama dan di dalam tabel T_Transpinjam berperan sebagai kunci tamu.
Tabel T_trans dengan tabel T_Transkembali memiliki relasi one to yang artinya satu transaksi bisa melayani lebih dari satu pengembalian. Kolom yang menghubungkannya adalah no_pinjam dimana di dalam tabel T_trans  berperan sebagai kunci utama dan di dalam tabel T_Transkembali berperan sebagai kunci tamu.

3.5	Bagan Alir Sistem
Rancangan sistem merupakan langkah awal sebelum dilaksanakan penyelesaian terhadap suatu masalah yang ada. Untuk dapat mencapai tujuan atau hasil yang memadai sesuai kebutuhan dari permasalahan yang ada, maka diperlukan suatu rancangan sistem yang dapat menggambarkan secara garis besar seluruh masalah yang akan dikomputerisasi. Bagan alir sistem merupakan bagian yang menunjuk aliran suatu proses mulai dari pemasukan hingga menghasilkan suatu keluaran. Bagan alir Sistem Informasi Perpustakaan SMP Negeri 1 Mantingan adalah seperti terlihat pada gambar berikut:

Gambar 3.3 Bagan Alir Sistem

Keterangan:
1.	Kartu anggota
2.	Laporan Daftar Anggota
3.	Laporan Daftar Kategori Buku
4.	Laporan Data semua buku
5.	Laporan Daftar Buku terpinjam
6.	Laporan Daftar Buku per kategori
7.	Laporan Daftar Buku Rusak / Hilang
8.	Laporan Pemasukan Buku
9.	Laporan keuangan perpustakaan
10.	Laporan Daftar Petugas
11.	Laporan Peminjaman Harian
12.	Laporan Peminjaman Per periode
13.	Laporan Pengembalian Harian
14.	Laporan Pengembalian Per Periode
15.	Rincian Denda

Penjelasan Bagan Alir Sistem
Data anggota dilakukan proses rekam ke dalam tabel T_Anggota, kemudian dicetak untuk menghasilkan kartu anggota, laporan daftar anggota keseluruhan dan laporan daftar anggota yang masih meminjam buku.
Data kategori dilakukan proses rekam ke dalam tabel T_Kategori, kemudian dicetak untuk menghasilkan laporan daftar kategori buku.
Data buku dan data dari tabel kategori dilakukan proses rekam ke dalam tabel T_buku, kemudian dicetak untuk menghasilkan laporan data semua buku, laporan daftar buku per kategori, laporan daftar buku yang masih dipinjam, laporan daftar buku rusak / hilang .
Data pemasukan dan data dari tabel buku dilakukan proses rekam ke dalam tabel T_masuk dan tabel T_inventaris untuk kemudian dicetak menghasilkan laporan pemasukan buku dan pemasukan keuangan.
Data petugas dilakukan proses rekam ke dalam tabel petugas, kemudian dicetak untuk menghasilkan laporan daftar petugas.
Data transaksi, data dari tabel T_anggota, data dari tabel T_inventaris dan data dari table T_petugas dilakukan proses rekam ke dalam tabel T_trans yang di dalam nya terdapat table trans, peminjaman dan pengembalian, kemudian dicetak untuk menghasilkan laporan peminjaman harian, laporan peminjaman per periode, laporan pengembalian harian, laporan pengembalian per periode dan rincian denda.

3.6	Perancangan Masukan
Masukan (input) merupakan tahap awal dari suatu apikasi program. Untuk menghasilkan sebuah sistem yang baik, diperlukan adanya perancangan masukan yang jelas dan memiliki validasi yang baik pula.  Adapun perencanaan rancangan masukan yang dibuat untuk sistem ini adalah sebagai berikut:
3.6.1	Rancangan Masukan Data Anggota
Rancangan masukan ini digunakan untuk memasukkan/pendaftaran data anggota perpustakaan. Bentuk rancangannya adalah:

Gambar 3.4 Rancangan Masukan Data Anggota
3.6.2	Rancangan Masukan Data Petugas
Rancangan masukan ini digunakan untuk memasukkan / pendaftaran data petugas perpustakaan. Bentuk rancangannya adalah:

   Gambar 3.5 Rancangan Masukan Data Petugas
3.6.3	Rancangan Masukan Data Buku
Rancangan masukan ini digunakan untuk memasukkan data-data koleksi buku perpustakaan. Bentuk rancangannya adalah:

Gambar 3.6 Rancangan Masukan Data Buku

3.6.4	Rancangan Masukan Transaksi Peminjaman
Rancangan masukan ini digunakan untuk mencatat transaksi peminjaman buku. Bentuk rancangannya adalah:

Gambar 3.7 Rancangan Masukan Transaksi Peminjaman
3.6.5	Rancangan Masukan Transaksi Pengembalian
Rancangan masukan ini digunakan untuk mencatat transaksi pengembalian buku. Bentuk rancangannya adalah:

Gambar 3.8 Rancangan Masukan Transaksi Pengembalian

3.7	Perancangan Keluaran
Perancangan keluaran adalah hasil dari sistem informasi yang dapat dilihat. Keluaran dapat berupa hasil dari media keras ataupun hasil dari media lunak. Disamping itu keluaran dapat berupa hasil dari proses yang akan digunakan oleh proses lain dan tersimpan di suatu media.
Adapun rancangan keluaran dari Sistem Informasi Perpustakaan SMP Negeri 1 Mantingan adalah sebagai berikut:
3.7.1	Rancangan Laporan Daftar Buku Yang Masih Dipinjam
Laporan ini disajikan untuk menampilkan daftar buku yang masih dipinjam. Bentuk rancangannya adalah:

Gambar 3.9 Rancangan Laporan Daftar Buku Yang Masih Dipinjam
3.7.2	Rancangan Laporan Peminjaman Per Periode
Laporan ini disajikan untuk menampilkan daftar buku yang dipinjam selama periode tertentu. Bentuk rancangannya adalah:

Gambar 3.10 Rancangan Laporan Peminjaman Buku Per Periode
3.7.3	Rancangan Laporan Pengembalian Per Periode
Laporan ini disajikan untuk menampilkan daftar buku yang dikembalikan selama periode tertentu. Bentuk rancangannya adalah:

Gambar 3.11 Rancangan Laporan Pengembalian Per Periode