BAB IV
PERANCANGAN
4.1 Rancangan Umum
Tujuan dari desain sistem secara umum adalah untuk memberikan gambaran secara umum kepada user tentang sistem yang baru.
4.1.1 Kedudukan Sistem
Sistem yang dikembangkan dalam penelitian ini dikhususkan untuk
client –server aplication artinya bahwa sistem ini dapat digunakan oleh lebih dari satu sistem komputer yang mengacu pada basis data yang sama yang terintegrasi dengan jaringan / network.
4.1.2 Hardware dan Software
Kebutuhan perangkat keras (Hardware) yang dapat memenuhi aplikasi ini memiliki spesifikasi minimal sebagai berikut :
1. Prosesor minimal pentium 233 Mhz, dianjurkan dari itu. 2. Memory minimal 64 Mb.
3. Monitor VGA
4. Kapasitas Hardisk yang digunakan sebagai media penyimpanan minimal 400 Mb.
6. Keyboard dan Mouse. 7. Printer.
Sedangkan kebutuhan perangkat lunak sistem operasi yang digunakan untuk menjalankan aplikasi ini adalah sistem operasi Windows 2000, windows XP, Windows Vista, Windows Seven dan sebagai aplikasi untuk implementasi rancangan basis datanya menggunakan MySQL dengan PHP sebagai bahasa pemogramannnya.
4.1.3 Spesifikasi Rancangan IPOSC
Rancangan IPOSC (Input Proses Output Storage Control) merupakan suatu rancangan yang dikemukaan oleh Sandra Donaldson Dewitz dengan tahapan-tahapan sebagai berikut :
a. Rancangan Input
Masukan merupakan awal dimulainya suatu proses informasi. Bahan mentah dari informasi adalah data yang terdiri dari sejumlah transaksi, bukti, fakta baik berupa angka, grafik, atau tabel yang dilakukan oleh suatu organisasi. Data hasil transaksi merupakan masukan untuk sistem informasi. Akurat tidaknya suatu hasil dari sistem informasi tidak lepas dari data yang dimasukkan.
Format rancangan masukan atau input data yang berkaitan dengan sistem informasi peminjaman dan pengembalian buku adalah sebagai berikut:
- Data Anggota (No_Anggota, Nama, Nis, Alamat, Jenis_kelamin, no_telp)
- DataBuku ( Kode_Buku, Judul, Pengarang, Penerbit, Jumlah). - Data Peminjaman (no_peminjaman,Tgl_Pinjam, No_Anggota,
Kode_Buku, Tanggal_Kembali,).
- Data Pembayaran Denda (no_peminjaman, No_Anggota, Kode_Buku, Tanggal_Kembali, Denda)
b. Rancangan Proses
Rancangan ini menyangkut proses-proses yang terlibat dalam sistem Peminjaman dan pengembalian buku yaitu :
- Proses Peminjaman Buku - Proses Pengembalian Buku - Proses Pembayaran Denda
- Proses Pembuatan Laporan-Laporan c. Rancangan Output
Keluaran atau Output dari sebuah sistem merupakan hal yang penting bagi user dalam menentukan dipakai tidaknya sistem tersebut. Dalam menentukan format keluaran diperlukan kecermatan, ketelitian, dan kesabaran dengan harapan keluaran yang dihasilkan merupakan laporan-laporan yang akurat, relevan dan mudah dimengerti oleh para pemakai.
Output yang akan dihasilkan dari sistem informasi peminjaman dan pengembalian buku adalah sebagai berikut:
- Laporan peminjaman. - Laporan perolehan denda
- Informasi keanggotaan, informasi buku dan informasi transaksi yang diperoleh dari hasil query.
d. Rancangan Storage
Dalam sistem yang lama segala bentuk yang berkaitan dengan pengolahan data peminjaman masih menggunakan buku agenda untuk pencatatan datanya sedangkan sistem yang baru merupakan aplikasi perangkat lunak terkomputerisasi dengan menarapkan konsep basis data sebagai penyimpanan datanya serta menggunakan bahasa pemograman
PHP untuk aplikasinya dan MySQL untuk implementasi rancangan basis datanya.
e. Rancangan Kontrol
Dalam sistem yang lama sistem pengontrolannya masih menggunakan pengecekan data-data secara pembukuan, sedangkan dalam pengontrolan sebuah sistem yang baru pengecekannya dapat dilakukan secara terkomputerisasi.
4.2 Perancangan Struktur Table
Tabel-tabel yang terdapat dalam basis data yang digunakan dalam aplikasi perangkat lunak perpustakaan SMK Ma’arif Cicalengka sebagai berikut :
a. Tabel Member
Nama Tabel : Member Primary Key : Nis Forgen Key : -
Table 4.1 Struktur tabel Member
No Nama Field Tipe Ukuran
1 NIS Integer -
2 Nama_member Char 50
3 Kelas Char 10
b. Tabel Data Buku
Nama Tabel : Data_Buku Primary Key : Id_buku Forgen Key : -
Table 4.2 Struktur tabel Data Buku
No Nama Field Tipe Ukuran
1 Id_buku Integer 20 2 Judul_buku Char 50 3 Penerbit Char 50 4 Pengarang Char 50 5 Jumlah_buku Integer - c. Tabel Peminjaman
Nama Tabel : Peminjaman Primary Key : Id_peminjaman
Forgen Key : Id_buku, NIS, Id_petugas Table 4.3 Struktur tabel Peminjaman
No Nama Field Tipe Ukuran
1 Id_peminjaman Integer - 2 Id_buku Integer - 3 Tgl_peminjaman Date 50 4 Tgl_pengembalian Date 50 5 Id_petugsa Integer - 6 Denda double - d. Table Petugas
Nama Tabel : Petugas Primary Key : Id_petugas Forgen Key : -
Table 4.4 Struktur tabel Petugas
No Nama Field Tipe Ukuran
1 Id_petugas Integer - 2 Nama_petugas Char 50 3 Jenis_kelamin Char 10 4 Pass Char 50 5 No_telp Char 50 e. Table Denda
Nama Tabel : Denda Primary Key : Id_denda Forgen Key : -
Table 4.5 Struktur tabel Denda
No Nama Field Tipe Ukuran
1 Id_denda Integer -
f. Table Admin
Nama Tabel : Admin Primary Key : Id_admin Forgen Key : -
Table 4.6 Struktur tabel Admin
No Nama Field Tipe Ukuran
1 User_name Char 50
2 Pass Char 50
3 Nama Char 50
4.3 Perancangan Interface
Pada tampilan awal program, penulis merancang menu login untuk dapat mengakses menu utama, yang didalam menu utama terdapat menu-menu yang bisa diakses oleh user setelah login. Adapun tampilan menu sebagai berikut.
4.3.1 Menu Utama
Gambar 4.1 (Tampilan Menu Utama)
User name Password Login NIS Judul Buku Katagori Proses Batal
4.3.2 Spesifikasi Form Member
Pada tampilan dibawah ini, penulis membuat rancangan interface form member seperti pada gambar 4.2. Pada form ini hanya petugas dan admin yang dapat menambah dan mengurangi member.
Gambar 4.2 (Tampilan form Anggota)
Adapun spesifikasi algoritma dalam form member ini sebagai berikut :
Spesifikasi Algoritma
1.Input Data Member
Nama Proses : Input data Member
Keterangan : Memasukan data Member yang baru ke table Member Input : Data Member baru
Output: Data Member baru Logika : --- DEKLARASI Id_MEMBAR : Integer --- ALGORITMA
Open table MEMBER Input Id_MEMBER Read data MEMBER If Id_MEMBER ada
Baru Edit Delete
From Member X NIS Nama Member No. Member KLS Search Simpan
Tampilkan data MEMBER ke label-label MEMBER Else
Data MEMBER ada Rekam data MEMBER Close table MEMBER END.
2.Delete Data Member
Nama Proses : Delete data Member
Keterangan : Menghapus data Member dari table Member Input : Id_MEMBAR Logika : --- DEKLARASI Id_MEMBAR : Integer --- ALGORITMA
Open table MEMBER Input Id_MEMBER Read data MEMBER If Id_MEMBER ada
Tampilkan data MEMBER ke label-label MEMBER Else
Pesan ”Data member tidak ada” Delete data MEMBER
Close table MEMBER END.
3.Edit Data Member
Nama Proses : Edit data Member
Keterangan : Mengedit atau menambah data Member dari table Member Input : Id_MEMBER
Output: Data Member Logika : --- DEKLARASI Id_MEMBAR : Integer --- ALGORITMA
Open table MEMBER Input Id_MEMBER Read data MEMBER If Id_MEMBER ada
Tampilkan data MEMBER ke label-label MEMBER Input data MEMBER yang diedit
Else
Pesan ”Data Member tidak ada” Edit data MEMBER
Close table MEMBER END.
4.3.3 Spesifikasi Form Petugas
Adapun dalam pembuatan interface form petugas, penulis sengaja merancang form ini sama seperti form member. Untuk gambar interface form petugas anda bisa lihat pada gambar 4.3. Pada form ini hanya admin yang dapat menambah dan mengurangi petugas.
Gambar 4.3 (Tampilan Form Petugas)
Adapun spesifikasi algoritma dalam form petugas ini sebagai berikut : Spesifikasi Algoritma
1.Input Data Petugas
Nama Proses : Input data Petugas
Keterangan : Memasukan data Petugas yang baru ke table Petugas Input : Id_PETUGAS
Output: Data Petugas Logika : --- DEKLARASI Id_PETUGAS : Integer --- ALGORITMA
Open table PETUGAS Input Id_PETUGAS
Baru Edit Delete
From Pustakawan X Nama Pustakawan Jenis Kelamin No. Pustakawan Password Search Simpan No. Telp
Read data PETUGAS If Id_ PETUGAS ada
Tampilkan data PETUGAS ke label-label PETUGAS Else
Data PETUGAS ada Rekam data PETUGAS Close table PETUGAS END.
2.Delete Data Petugas
Nama Proses : Delete data Petugas
Keterangan : Menghapus data Petugas dari table Petugas Input : Id_PETUGAS
Output: Data Petugas Logika : --- DEKLARASI Id_PETUGAS : Integer --- ALGORITMA
Open table PETUGAS Input Id_PETUGAS Read data PETUGAS If Id_PETUGAS ada
Tampilkan data PETUGAS ke label-label PETUGAS Else
Pesan ”Data member tidak ada” Delete data PETUGAS
Close table PETUGAS END.
3.Edit Data Petugas
Nama Proses : Edit data Petugas
Keterangan : Mengedit atau menambah data Petugas dari table Petugas
Input : Id_PETUGAS Output: Data Petugas Logika : --- DEKLARASI Id_PETUGAS : Integer --- ALGORITMA
Open table PETUGAS Input Id_PETUGAS Read data PETUGAS If Id_PETUGAS ada
Tampilkan data PETUGAS ke label-label PETUGAS Input data PETUGAS yang diedit
Else
Pesan ”Data PETUGAS tidak ada” Edit data PETUGAS
END.
4.Ganti Password
Nama Proses : Ganti Password
Keterangan : Mengganti password Petugas dari table Petugas Input : Old Password dan New Password
Logika : --- DEKLARASI Id_PETUGAS : Integer --- ALGORITMA
Open tabel PETUGAS Input Old Password Read Old Password If Old Password salah
Pesan “Old Password salah” Input New Password
Rekam New Password Close table PETUGAS END.
4.3.4 Spesifikasi Form Buku
Pada form ini buku dapat ditambah dan dikurangi oleh petugas yang sudah terdaftar atau sudah tercantum didalam database. Dan interface form buku bisa dilihat pada gambar 4.4.
Gambar 4.4 (Tampilan Form Data Buku)
Baru Edit Delete
From Buku X Judul Buku Pengarang No. Buku Penerbit Search Simpan Jumlah
Adapun spesifikasi algoritma dalam form buku ini sebagai berikut : Spesifikasi Algoritma
1.Input Data Buku
Nama Proses : Input data Buku
Keterangan : Memasukan data Buku yang baru ke table Buku Input : Id_BUKU
Output: Data Buku baru Logika : --- DEKLARASI Id_BUKU : Integer --- ALGORITMA
Open table BUKU Input Id_ BUKU Read data BUKU If Id_ BUKU ada
Tampilkan data BUKU ke label-label BUKU Else
Data BUKU ada Rekam data BUKU Close table BUKU END.
2.Delete Data Buku
Nama Proses : Delete data Buku
Keterangan : Menghapus data Buku dari table Buku Input : Id_BUKU Logika : --- DEKLARASI Id_BUKU : Integer --- ALGORITMA
Open table BUKU Input Id_ BUKU Read data BUKU If Id_ BUKU ada
Tampilkan data BUKU ke label-label BUKU Else
Pesan ”Data Buku tidak ada” Delete data BUKU
Close table BUKU END.
3.Edit Data Buku
Nama Proses : Edit data Buku
Keterangan : Mengubah atau menambah data Buku dari table Buku Input : Id_BUKU
Logika :
User name Password Login DEKLARASI Id_BUKU : Integer --- ALGORITMA
Open table BUKU Input Id_BUKU Read data BUKU If Id_ BUKU ada
Tampilkan data BUKU ke label-label BUKU Input data BUKU yang diedit
Else
Pesan ”Data BUKU tidak ada” Edit data BUKU
Close table BUKU END.
4.3.5 Form Login
Sebelum program ini berjalan petugas yang sudah terdaftar harus mengisi form login ini agar bisa mengakses. Petugas hanya mengisi username dengan password yang telah dicantumkan oleh petugas pada saat mendaftar sebagai petugas.
Gambar 4.5 (Tampilan Form Login)
Adapun spesifikasi algoritma dalam form login ini sebagai berikut : Spesifikasi Algoritma
1.Login
Keterangan : Login nama dan password dari user untuk mengetahui apakah user sebagai admin atau user biasa
Input : Nama dan Password Logika : --- DEKLARASI Nama : Char Password : Char --- ALGORITMA
Input Nama dan password Open tabel PETUGAS Read data PETUGAS
If nama dan password salah
Pesan “Nama dan Password Salah” Else If nama dan password benar Show main Form
Close tabel PETUGAS END.
4.4 Perancangan Data Base
4.4.1 Entitas Dan Sub Entitas
a. Entitas
Berdasarkan Diagram arus data dari sistem peminjaman buku, dapat diidentifikasi entitas-entitas yang berhubungan dengan sistem tersebut yaitu : - Librarian menginputkan data buku dan anggota.
b. Sub Entitas
- Entitas Klasifikasi Buku dengan atribut (Jenis ,Lokasi), merupakan sub entitas dari Buku
- Entitas Golongan dengan atribut (Jenis) merupakan sub entitas dari Anggota.
4.4.2 Normalisasi
a. Un-Normal
Id_peminjaman, id_buku, NIS, tgl_peminjaman, tgl_pengembalian, id_pustakawan, denda, id_pustakawan, nama_pustakawan, jenis_kelamin, pass, no_telp, id_buku, judul_buku, penerbit, pengarang, jumlah_buku, NIS, nama_member, kelas, id_denda, jumlah_denda, user_name, pass, nama.
b. Normalisasi Tahap 1
Id_peminjaman, id_buku, NIS, tgl_peminjaman, tgl_pengembalian, id_pustakawan, denda, id_pustakawan, nama_pustakawan, jenis_kelamin, pass, no_telp, id_buku, judul_buku, penerbit, pengarang, jumlah_buku, nama_member, kelas, id_denda, jumlah_denda, user_name, nama.
c. Normalisasi Tahap - Peminjaman
id_peminjaman*, id_buku**, NIS**, tgl_peminjaman, tgl_pengembalian, id_pustakawan**, denda.
- Data_buku
id_buku*, penerbit, judul_buku, penerbit, pengarang, jumlah_buku.
- Pustakawan
- Member
NIS*, nama_member, kelas.
- Denda
id_denda*, jumlah_denda.
- Admin
User_name*, pass, nama.
d. Bentuk Boyce –Codd Normal Form (BCNF)
Tabel tersebut juga sudah memenuhi bentuk BCNF karena atribut-atribut bukan kunci sudah bergantung pada kunci utama hanya pada kunci utama yaitu Kode sehingga tabel tersebut tidak perlu di dekomposisi.
4.4.3 Tabel Relasi
Tabel relasi ini menggambarkan hubungan antara tabel- tabel yang terdapat pada database kepegawaian, yang dimana di dalam tabel tersebut terdapat field kunci (primary key), dan terdapat kunci tamu (foreign key). Kedua kunci (key) ini digunakan untuk menghubungkan antara tabel.
Gambar 4.6 Relasi table aplikasi perpustakaan SMK Ma’arif
4.5 Perancangan Antar Muka
Perangcangan antar muka dibuat guna untuk mempermudah dalam pembuatan program, perancangan antar muka juga merupakan suatu bentuk yang dapat memberikan informasi yang terbagi menjadi beberapa bagian. Perancangan yang dibuat terdiri dari struktur menu, perancangan input dan perancangan output.
Login
Menu Utama
File Proses Laporan Profil
Data Buku Data Anggota Transaksi Pinjam Kembali Keluar Peminjaman Pengembalian Laporan Peminjaman Laporan Pengembalian Software Engenering
Struktur menu adalah bentuk umum dari suatu rancangan program untuk memudahkan pemakai dalam menjalankan program sehingga pada saat menjalankan program komputer, pemakai (petugas) tidak mengalami kesulitan dalam memilih menu-menu yang diinginkan. Pada perancangan ini dibuat menu yang dapat mengintegrasikan seluruh data dalam suatu sistem dan disertai dengan instrukasi yang ada pada pilihan menu tersebut. Struktur Menu Tersebut dapat dilihat pada gambar di bawah ini :