PHP Rancangan Andhyka Widya Nugraha M3109011

commit to user 13 5. Kelengkapan completeness 6. Keamanan security 7. Kebersamaan pemakaian sharability Fathansyah.1999

2.3.3 Keuntungan Basis Data

Menurut Sutanta 2004, penyusunan suatu basis data digunakan untuk mengatasi permasalahan-permasalahan pada saat pengolahan data. Basis data yang dikembangkan dengan benar, sesuai dengan batasankaidah basis data akan memberikan beberapa keuntungan, yaitu : 1. Kerangkapan data dapat diminimalkan 2. Inkonsistensi data dapat dihindari 3. Data dalam basis data dapat digunakan secara bersama multiuser 4. Standarisasi data dapat dilakukan 5. Pembatasan untuk keamanan data dapat diterapkan 6. Integritas data dapat dipelihara 7. Perbedaan kebutuhan data dapat diseimbangkan

2.4 PHP

PHP atau resminya PHP : Hypertext Preprocessor adalah skrip bersifat server-side yang ditambahkan ke dalam HTML. PHP sendiri merupakan singkatan dari Personal Home Page Tools . Skrip ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server-side berarti pengerjaan skrip dilakukan di server, baru kemudian hasilnya dikirimkan ke browser. Prasetyo. 2008 Menurut Prasetyo 2008, PHP merupakan bahasa pemrograman berbasis web yang memiliki kemampuan untuk memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script language artinya commit to user 14 sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan dalam halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser , tetapi prosesnya secara keseluruhan dijalankan di server. Pada prinsipnya server akan bekerja apabila ada permintaan dari client . Client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server. Sifat server side ini membuat pengerjaan skrip tersebut dikerjakan di server sedangkan yang dikirim ke browser adalah hasil proses skrip tersebut yang sudah berbentuk HTML. Keunggulan dari sifat server side tersebut ialah : a. Tidak diperlukan adanya kompatibilitas browser atau harus menggunakan browser tertentu, karena serverlah yang akan mengerjakan skrip tersebut. Hasil yang dikirimkan kembali ke browser biasanya dalam bentuk teks ataupun gambar sehingga dapat dikenali oleh browser apapun b. Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server. Contoh : hubungan kedalam database. c. Skrip asli tidak dapat dilihat sehingga keamanan lebih terjamin.

2.5 MySQL

MySQL My Structured Query Language atau yang biasa dibaca mai- sekuel adalah sebuah program pembuat dan pengelola database atau yang sering disebut dengan DBMS DataBase Management System , sifat dari DBMS ini adalah Open Source dan bisa didapatkan secara gratis pada alamat http:www.mysql.com . MySQL sebenarnya produk yang berjalan pada platform Linux, dengan adanya perkembangan dan banyaknya pengguna serta lisensi dari database ini adalah Open Source, maka para pengembangnya kemudian merilis versi Windows. commit to user 15 Selain itu MySQL juga merupakan program pengakses database yang bersifat jaringan, sehingga dapat digunakan untuk aplikasi Multi User Banyak Pengguna. Kelebihan lain dari MySQL adalah menggunakan bahasa query permintaan standar SQL Structured Query Language . SQL adalah suatu bahasa permintaan yang terstruktur, SQL telah distandarkan untuk semua program pengakses database seperti Oracle, PosgreSQL, SQL Server, dan lain-lain.Nugroho.2008 commit to user 16 BAB III DESAIN DAN PERANCANGAN SISTEM Pembuatan aplikasi perpustakaan ini diawali dengan pembuatan rancangan sistem yang diwujudkan dengan perancangan Context Diagram , Data Flow Diagram , Schema Diagram , dan Entity Relationship Diagram . 3.1 Context Diagram CD Context Diagram aplikasi perpustakaan dapat dilihat pada Gambar 3.1 Gambar 3.1 Context Diagram Sistem Informasi Perpustakaan Terdapat tiga aktor yang berperan didalam aplikasi ini, yaitu admin, siswa, dan kepala sekolah. Admin merupakan petugas perpustakaan yang mengelola seluruh sirkulasi data yang terjadi didalam perpustakaan. Siswa merupakan anggota perpustakaan yaitu siswa-siswi SD Negeri 4 Jaten yang masih aktif, yang mendapatkan fasilitas pencetakan kartu dan katalog buku-buku yang ada diperpustakaan. Kepala sekolah merupakan end user yang mendapatkan fasilitas pencetakan laporan yang berisi rekap seluruh data yang ada di perpustakaan. commit to user 17 3.2 Data Flow Diagram DFD 3.2.1 Data Flow Diagram DFD Level 0 Data Flow Diagram Level 0 aplikasi perpustakaan dapat dilihat pada Gambar 3.2 Gambar 3.2 DFD Level 0 Aplikasi Perpustakaan Anggota perpustakaan yang merupakan siswa memasukkan data dirinya sebelum mencetak kartu, kemudian kartu dicetak dan dibawa ke perpustakaan untuk melakukan transaksi peminjaman dan pengembalian buku. Admin yang merupakan petugas perpustakaan mengelola seluruh sistem. Kepala sekolah mencetak laporan yang merupakan rekap data anggota, buku, dan transaksi. commit to user 18 3.2.2 Data Flow Diagram DFD Level 1 Manage Transaksi Data Flow Diagram Level 1 Manage Transaksi untuk aplikasi perpustakaan dapat dilihat pada Gambar 3.3 Gambar 3.3 DFD Level 1 Manage Transaksi Pada proses manage transaksi, admin melakukan manage data umum transaksi yaitu menginputkan NIS, nomor seri buku, dan kode buku ketika ada transaksi baru, selain itu admin melakukan manage denda yaitu menentukan nilai denda yang akan diterima siswa ketika terlambat mengembalikan buku. Dan yang terakhir, admin melakukan manage lama peminjaman yaitu menentukan waktu maksimal peminjaman buku. commit to user 19

3.2.3 Data Flow Diagram DFD Level 1 Manage Buku

Data Flow Diagram Level 1 Manage Buku untuk aplikasi perpustakaan dapat dilihat pada Gambar 3.4 Gambar 3.4 DFD Level 1 Manage Buku Pada proses pendataan buku, admin mengelola data buku yang ada, yang hilang maupun yang rusak di perpustakaan. Kemudian admin juga melakukan update data buku yang meliputi mengedit dan menghapus data buku ketika berlangsung proses transaksi. Admin juga dapat mengelola data detail buku seperti pengarang, penerbit, jenis, dan asal buku. commit to user 20

3.2.4 Data Flow Diagram DFD Level 2 Manage Data Umum Buku

Data Flow Diagram Level 2 Manage Data Umum Buku untuk aplikasi perpustakaan dapat dilihat pada Gambar 3.5 Gambar 3.5 DFD Level 2 Manage Data Umum Buku

3.2.5 Data Flow Diagram DFD Level 2 Manage Data Pengarang

Data Flow Diagram Level 2 Manage Data Pengarang untuk aplikasi perpustakaan dapat dilihat pada Gambar 3.6 Gambar 3.6 DFD Level 2 Manage Data Pengarang commit to user 21

3.2.6 Data Flow Diagram DFD Level 2 Manage Data Penerbit

Data Flow Diagram Level 2 Manage Data Penerbit untuk aplikasi perpustakaan dapat dilihat pada Gambar 3.7 Gambar 3.7 DFD Level 2 Manage Data Penerbit

3.2.7 Data Flow Diagram DFD Level 2 Manage Data Asal Buku

Data Flow Diagram Level 2 Manage Data Asal Buku untuk aplikasi perpustakaan dapat dilihat pada Gambar 3.8 Gambar 3.8 DFD Level 2 Manage Data Asal Buku commit to user 22

3.2.8 Data Flow Diagram DFD Level 2 Manage Data Jenis Buku

Data Flow Diagram Level 2 Manage Data Jenis Buku untuk aplikasi perpustakaan dapat dilihat pada Gambar 3.9 Gambar 3.9 DFD Level 2 Manage Data Jenis Buku commit to user 23 3.3 Entity Relationship Diagram ERD ERD untuk aplikasi perpustakaan dapat dilihat pada Gambar 3.10 Gambar 3.10 ERD commit to user 24 3.4 Schema Diagram Schema Diagram menunjukkan hubungan antar tabel dalam database . Dalam aplikasi ini, bentuk dari relasi antar tabel-tabelnya dapat dilihat pada Gambar 3.11 Gambar 3.11 Schema Diagram commit to user 25

3.5 Rancangan

Database Database merupakan elemen penting yang digunakan untuk menyimpan seluruh data dari sistem. Dalam pembuatan aplikasi ini, rancangan database yang dibuat adalah sebagai berikut :

1. Tabel Buku

Nama tabel : buku Fungsi : menyimpan data buku Primary key : kode_buku Foreign key : id_jenis, id_asal, id_penerbit, id_pengarang Tabel 3.1 Tabel Buku Field Type Null Ket kode_buku varchar10 no Kode buku isbn varchar20 no Nomor ISBN judul_buku varchar100 no Judul buku id_pengarang varchar6 no id pengarang buku id_jenis varchar6 no id jenis buku id_asal varchar6 no id asal buku id_penerbit varchar6 no id penerbit buku thn_terbit year4 no tahun terbit buku harga int no harga buku tgl_masuk date no tanggal masuk buku commit to user 26

2. Tabel Jenis

Nama tabel : jenis Fungsi : menyimpan data jenis buku Primary key : id_jenis Tabel 3.2 Tabel Jenis Field Type Null Ket id_jenis varchar6 no id jenis buku jenis varchar25 no jenis buku

3. Tabel Penerbit

Nama tabel : penerbit Fungsi : menyimpan data penerbit buku Primary key : id_penerbit Tabel 3.3 Tabel Penerbit Field Type Null Ket id_penerbit varchar3 no id penerbit buku penerbit varchar40 no penerbit buku

4. Tabel Asal Buku

Nama tabel : asal_buku Fungsi : menyimpan data asal buku Primary key : id_asal Tabel 3.4 Tabel Asal Buku Field Type Null Ket id_asal varchar6 no id asal buku asal_buku varchar15 no asal buku commit to user 27

5. Tabel Pengarang

Nama tabel : pengarang Fungsi : menyimpan data pengarang buku Primary key : id_pengarang Tabel 3.5 Tabel Pengarang Field Type Null Ket id_pengarang varchar6 no id pengarang buku nama_pengarang varchar50 no nama pengarang

6. Tabel Koleksi

Nama tabel : koleksi Fungsi : menyimpan data koleksi buku Primary Key : no_seri Foreign Key : kode_buku Tabel 3.6 Tabel Koleksi Field Type Null Ket no_seri varchar20 no id asal buku tgl_masuk date no tanggal masuk buku status smallint1 yes status buku ada atau dipinjam kode_buku varchar20 no kode buku commit to user 28

7. Tabel Siswa

Nama tabel : siswa Fungsi : menyimpan data siswa Primary key : nis Tabel 3.7 Tabel Siswa Field Type Null Ket Nis varchar6 no nomor induk siswa nama_siswa varchar50 no nama siswa tmpt_lahir varchar20 no tempat lahir siswa tgl_lahir Date no tanggal lahir siswa alamat varchar50 no alamat siswa no_telp varchar15 no nomor telepon siswa thn_masuk year4 no tahun masuk siswa

8. Tabel Kepala Sekolah

Nama tabel : kepsek Fungsi : menyimpan data kepala sekolah Primary key : username Tabel 3.8 Tabel Kepala sekolah Field Type Null Ket username varchar10 no username kepala sekolah password varchar10 no password nip varchar20 no nomor induk pegawai nama varchar50 no nama kepala sekolah commit to user 29

9. Tabel Transaksi

Nama tabel : transaksi Fungsi : menyimpan data peminjaman dan pengembalian buku Primary key : id_pinjam Foreign key : no_seri, nis, id_denda, id_lama Tabel 3.9 Tabel Transaksi Field Type Null Ket id_pinjam int11 no id peminjaman no_seri varchar20 no nomor seri buku nis varchar6 no nomor induk siswa tgl_pinjam date no tanggal peminjaman tgl_harus_kembali date no tanggal harus kembali tgl_kembali date yes tanggal pengembalian denda int11 yes jumlah denda status smallint1 yes status buku

10. Tabel Denda

Nama tabel : denda Fungsi : menyimpan data jumlah denda Primary key : id_denda Tabel 3.10 Tabel Denda Field Type Null Ket id_denda int6 no id denda jumlah_denda float no jumlah denda commit to user 30

11. Tabel Lama Pinjam

Nama tabel : lama_pinjam Fungsi : menyimpan lama peminjaman buku Primary key : id_lama Tabel 3.11 Tabel Lama Pinjam Field Type Null Ket id_lama int1 no id lama peminjaman lama_pinjam int1 no lama peminjaman

12. Tabel Buku Rusak

Nama tabel : buku_rusak Fungsi : menyimpan data buku yang rusak Foreign key : no_seri, kode_buku Tabel 3.12 Tabel Buku Rusak Field Type Null Ket no_seri varchar20 no nomor seri koleksi kode_buku varchar20 no kode buku tgl_buku_rusak Date no tanggal buku rusak

13. Tabel Buku Hilang

Nama tabel : buku_hilang Fungsi : menyimpan data buku yang hilang Foreign key : no_seri, kode_buku Tabel 3.13 Tabel Buku Hilang Field Type Null Ket no_seri varchar20 no nomor seri koleksi kode_buku varchar20 no kode buku tgl_buku_hilang Date no tanggal buku hilang commit to user 31

14. Tabel Admin

Nama tabel : admin Fungsi : menyimpan data admin Primary key : id Tabel 3.14 Tabel Admin Field Type Null Ket id int3 no id admin username varchar10 no username admin password varchar50 no password admin nama_lengkap varchar100 no nama lengkap admin

15. Tabel Info

Nama tabel : info Fungsi : menyimpan data info buku terbaru di perpustakaan Primary key : id_info Tabel 3.15 Tabel Info Field Type Null Ket id_info int3 no id info judul varchar100 no judul info isi_berita text no isi info tanggal date no tanggal posting info gambar varchar100 no gambar info commit to user 32

16. Tabel

Shoutbox Nama tabel : shoutbox Fungsi : menyimpan data shoutbox dari pengunjung Primary key : id Tabel 3.16 Tabel Shoutbox Field Type Null Ket id int3 no id pesan name varchar20 no nama pengunjung message text no isi pesan date date no tanggal posting pesan commit to user 33

3.6 Diagram Alir