v
UNIVERSITAS BINA NUSANTARA
Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007
PERANCANGAN BASIS DATA PENJUALAN DAN PERSEDIAAN BARANG PADA PT MEJISINAR KASIH
Fendi Santosa (0700693996)
Ruswandi (0700691246)
Kelas/Kelompok : 07PGT / 02
Abstrak
Tujuan utama dari penulisan skripsi ini adalah menganalisis sistem penjualan dan persediaan barang pada perusahaan yang sedang berjalan dan merancang basis data penjualan dan persediaan barang yang sesuai dengan kebutuhan perusahaan, serta merancang prototipe aplikasi. Metodologi penelitian yang digunakan dalam membangun rancangan basis data ini adalah dengan fact – finding technique, yaitu melakukan survei langsung ke perusahaan, melakukan wawancara pada pihak terkait, dan melakukan analisa terhadap prosedur dan dokumen perusahaan, metodologi Connolly yang terdiri dari 3 tahapan, yaitu: perancangan basis data konseptual, logikal, dan fisikal. Dari penelitian yang dilakukan, dihasilkan rancangan basis data konseptual, logikal dan fisikal untuk proses bisnis penjualan dan persediaan barang. Dengan adanya hasil rancangan basis data dan pengembangan aplikasi, diharapkan dapat memenuhi kebutuhan informasi secara cepat dan akurat.
Kata kunci:
vi PRAKATA
Puji dan syukur kepada Tuhan Yang Maha Esa atas segala rahmat dan anugerah-Nya sehingga penulis dapat menyelesaikan penyusunan laporan skripsi ini tepat pada waktu yang telah ditentukan. Tanpa penyertaan dan kebaikan dari-Nya maka semua usaha dan kerja keras ini tidak akan ada hasilnya.
Penulisan skripsi dengan judul “Perancangan Basis Data Penjualan dan Persediaan Barang pada PT Mejisinar Kasih” ini disusun sebagai salah satu persyaratan akademik untuk menyelesaikan jenjang studi Strata Satu (S1) Jurusan Teknik Informatika di Universitas Bina Nusantara.
Penulis menyadari sepenuhnya dalam penulisan skripsi ini masih terdapat kekurangan dan kelemahan yang disebabkan oleh keterbatasan penulis, baik dalam pengetahuan maupun pengalaman. Untuk itu penulis mengharapkan kritik, saran, dan tanggapan dari para pembaca. Kami berharap bahwa melalui kritik, saran, dan tanggapan tersebut dapat memberikan konstribusi yang baik sehingga skripsi ini dapat berguna di masa yang akan datang.
Tidak lupa penulis ingin mengucapkan terima kasih yang sebesar – besarnya kepada semua pihak atas segala bantuan dan dorongan yang telah diberikan. Adapun ucapan terima kasih ini penulis berikan kepada:
1. Bapak Prof. Dr. Gerardus Polla M.App.Sc , sebagai Rektor Universitas Bina Nusantara.
vii
3. Bapak H. Mohammad Subekti, BE, M.Sc sebagai Ketua Jurusan Teknik Informatika
Universitas Bina Nusantaea.
4. Bapak Fredy Purnomo S.Kom ., M.Kom., sebagai Sekretaris Jurusan Teknik Informatika Universitas Bina Nusantara.
5. Bapak Ashari S.Kom., M.Kom., sebagai dosen pembimbing yang telah banyak memberikan bimbingan, saran, dan pengarahan sehingga penulisan skripsi ini selesai pada waktunya.
6. Bapak Jaya Ginting Munthe, Drs., sebagai General Manager pada PT Mejisinar Kasih yang memberikan ijin untuk melakukan penelitian.
7. Bapak Budi Wiryawan selaku kepala bagian penjualan pada PT Mejisinar Kasih dan seluruh staf perusahaan yang telah menemani dan memberikan bantuan selama kami mengadakan penelitian.
8. Para Dosen Universitas Bina Nusantara yang selama ini secara langsung maupun tidak langsung telah memberikan ilmu pengetahuan yang berharga sebagai dukungan dalam penulisan skripsi ini.
9. Orang tua dan saudara – saudari penulis yang telah mendukung sepenuhnya atas penulisan skripsi ini.
10.Rekan – rekan penulis yang tidak dapat disebutkan satu per satu, yang telah secara langsung maupun tidak langsung memberikan bantuan dan dukungan yang sangat berguna dalam penyelesaian skripsi ini.
Jakarta, Januari 2007
viii DAFTAR ISI
Halaman Judul Luar ... i
Halaman Judul Dalam... ii
Halaman Persetujuan Hardcover ... iii
Halaman Pernyataan Dewan Penguji... iv
Abstrak ... v
Prakata... vi
Daftar Isi ... viii
Daftar Tabel ... xiii
Daftar Gambar... xvi
Daftar Lampiran... xviii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Ruang Lingkup... 2
1.3 Tujuan dan Manfaat ... 2
1.4 Metodologi ... 3
1.5 Sistematika Penulisan ... 4
BAB 2 LANDASAN TEORI ... 6
2.1 Sistem Basis Data ... 6
ix
2.1.2 Model Relasional ... 7
2.1.3 Integrity... 8
2.1.4 Concurrency... 8
2.1.5 Basis Data Relasional ... 10
2.1.6 Database Management System (DBMS) ... 13
2.1.7 Relational Database Management System (RDBMS) ... 14
2.2 Perancangan Basis Data ... 15
2.2.1 Database Application Lifecycle... 16
2.2.2 Metodologi Perancangan Basis Data... 25
2.3 Disaster Recovery... 32
2.3.1 Backup... 32
2.3.2 Recovery... 32
2.4 Database Security... 32
2.5 Pengertian Penjualan, Persediaan, dan Retur... 33
2.5.1 Penjualan... 33
2.5.2 Persediaan ... 33
2.5.3 Retur... 34
BAB 3 ANALISIS DAN PERANCANGAN... 35
3.1 Latar Belakang Perusahaan... 35
3.1.1 Sejarah Perusahaan ... 35
3.1.2 Visi dan Misi Perusahaan... 36
x
3.1.4 Tugas dan Tanggung Jawab... 37
3.2 Analisis Permasalahan ... 44
3.2.1 Sistem yang Sedang Berjalan... 44
3.2.2 Permasalahan yang Dihadapi ... 58
3.2.3 Usulan Pemecahan Masalah... 60
3.3 Perancangan Basis Data Konseptual... 61
3.3.1 Mengidentifikasi Tipe Entiti ... 61
3.3.2 Mengidentifikasi Tipe Relasi ... 63
3.3.3 Identifikasi Atribut dan Tipe Entitas... 64
3.3.4 Menentukan Domain Atribut ... 66
3.3.5 Menentukan Atribut Candidate dan Primary Key... 71
3.3.6 Memeriksa Model Terhadap Redundansi ... 72
3.3.7 Validasi Model Konseptual Lokal Terhadap Transaksi User... 73
3.4 Perancangan Basis Data Logikal ... 76
3.4.1 Menghilangkan Fitur yang Tidak Sesuai Dengan Model Relasional... 76
3.4.2 Menurunkan Relasi Untuk Model Data Logikal Global.... 82
3.4.3 Validasi Relasi Menggunakan Normalisasi ... 94
3.4.4 Mendefinisikan Integrity Constraints... 98
3.5 Perancangan Basis Data Fisikal ... 102
3.5.1 Merancang Relasi Dasar ... 102
3.5.2 Menganalisa Transaksi... 122
xi
3.5.4 Memilih Indeks ... 144
3.5.5 Memperkirakan Kebutuhan Disk Space... 147
3.5.6 Merancang User View... 167
3.5.7 Merancang Mekanisme Keamanan... 176
BAB 4 IMPLEMENTASI DAN EVALUASI ... 179
4.1 Arsitektur Database... 179
4.2 Implementasi... 179
4.2.1 Jadwal Implementasi ... 179
4.2.2 Pengadaan Hardware dan Software... 180
4.2.3 Instalasi ... 182
4.2.4 Implementasi DBMS dan Aplikasi... 182
4.2.5 Konversi Data ... 183
4.2.6 Evaluasi dan Tes ... 183
4.2.7 Pelatihan User... 185
4. 3 Evaluasi... 185
4.3.1 Evaluasi Integritas Data... 185
4.3.2 Keamanan Data (Security)... 187
4.3.3 Concurrency... 188
4.3.4 Transaction Management... 189
4.3.5 Backup Data... 190
4.3.6 Recovery... 190
xii
5.1 Simpulan ... 191 5.2 Saran ... 191
DAFTAR PUSTAKA
DAFTAR RIWAYAT HIDUP
xiii
DAFTAR TABEL
Tabel 3.1 Indentifikasi Tipe Entiti ... 61
Tabel 3.2 Identifikasi Tipe Relasi ... 63
Tabel 3.3 Menentukan Atribut dan Tipe Entitas ... 64
Tabel 3.4 Menentukan Domain Atribut ... 66
Tabel 3.5 Menentukan Atribut Candidate dan Primary Key... 71
Tabel 3.6 Strong Entity Types... 82
Tabel 3.7 Weak Entity Types... 83
Tabel 3.8 One-to-many (1:*) Binary Relationship Types... 83
Tabel 3.9 One-to-one (1:1) Binary Relationship Types... 90
Tabel 3.10 Dokumentasi Relasi dan Atribut Foreign Key... 91
Tabel 3.11 Mendefinisikan Integrity Constraints... 98
Tabel 3.12 Transaction/Relation Cross-Referenced Matrix Entri Data Transaksi (a) - (d) ... 122
Tabel 3.13 Transaction/Relation Cross-Referenced Matrix Entri Data Transaksi (e) - (h) ... 123
Tabel 3.14 Transaction/Relation Cross-Referenced Matrix Entri Data Transaksi (i) - (l) ... 124
Tabel 3.15 Transaction/Relation Cross-Referenced Matrix Entri Data Transaksi (m) - (p)... 125
Tabel 3.16 Transaction/Relation Cross-Referenced Matrix Entri Data Transaksi (q) - (r) ... 126
xiv
Tabel 3.18 Transaction/Relation Cross-Referenced Matrix Mengubah dan
Menghapus Data Transaksi (e) – (h) ... 128
Tabel 3.19 Transaction/Relation Cross-Referenced Matrix Mengubah dan Menghapus Data Transaksi (i) – (l)... 129
Tabel 3.20 Transaction/Relation Cross-Referenced Matrix Mengubah dan Menghapus Data Transaksi (m) – (p)... 130
Tabel 3.21 Transaction/Relation Cross-Referenced Matrix Mengubah dan Menghapus Data Transaksi (q) ... 131
Tabel 3.22 Transaction/Relation Cross-Referenced Matrix Melihat Data Transaksi (a) – (d) ... 132
Tabel 3.23 Transaction/Relation Cross-Referenced Matrix Melihat Data Transaksi (e) – (h) ... 133
Tabel 3.24 Transaction/Relation Cross-Referenced Matrix Melihat Data Transaksi (i) – (l)... 134
Tabel 3.25 Transaction/Relation Cross-Referenced Matrix Melihat Data Transaksi (m) – (n) ... 135
Tabel 3.26 Transaction Analysis Form untuk Transaksi Query Data (c) ... 137
Tabel 3.27 Transaction Analysis Form untuk Transaksi Query Data (d) ... 138
Tabel 3.28 Transaction Analysis Form untuk Transaksi Query Data (f) ... 139
Tabel 3.29 Transaction Analysis Form untuk Transaksi Query Data (g) ... 141
Tabel 3.30 Transaction Analysis Form untuk Transaksi Query Data (n) ... 142
Tabel 3.31 Indeks yang Digunakan pada Tabel ... 144
Tabel 3.32 Estimasi Perhitungan Baris Dalam 3 Tahun ... 147
xv
Tabel 3.34 Perhitungan Space untuk Menyimpan Clustered Index... 152
Tabel 3.35 Perhitungan Space untuk Menyimpan Setiap NonClustered Index Tambahan ... 156
Tabel 3.36 Perhitungan Total Kebutuhan Disk Space untuk Server... 167
Tabel 3.37 Merancang Mekanisme Keamanan ... 176
Tabel 4.1 Jadwal Implementasi ... 180
xvi
DAFTAR GAMBAR
Gambar 2.1 Database Application Lifecycle... 17
Gambar 3.1 Struktur Organisasi ... 37
Gambar 3.2 Diagram Alir Dokumen pada Tahap Pendaftaran... 46
Gambar 3.3 Diagram Alir Dokumen pada Tahap Pemesanan... 47
Gambar 3.4 Diagram Alir Dokumen pada Tahap Pengeluaran Barang... 49
Gambar 3.5 Diagram Alir Dokumen pada Tahap Pengiriman ... 51
Gambar 3.6 Diagram Alir Dokumen pada Tahap Pengiriman (Lanjutan)... 52
Gambar 3.7 Diagram Alir Dokumen pada Tahap Penagihan ... 53
Gambar 3.8 Diagram Alir Dokumen pada Tahap Penerimaan Barang ... 54
Gambar 3.9 Diagram Alir Dokumen pada Tahap Retur Barang ... 56
Gambar 3.10 DFD Diagram Konteks ... 57
Gambar 3.11 DFD Diagram Nol... 58
Gambar 3.12 Diagram ER yang menunjukkan tipe entiti dan relasi ... 64
Gambar 3.13 Diagram ER dengan penambahan primary key... 72
Gambar 3.14 Menggunakan pathway untuk memeriksa bahwa model konseptual mendukung transaksi query data... 75
Gambar 3.15 Relasi many-to-many BP-Barang... 76
Gambar 3.16 Dekomposisi relasi many-to-many BP-Barang ... 76
Gambar 3.17 Relasi many-to-many BSTPJ-Barang ... 76
Gambar 3.18 Dekomposisi relasi many-to-many BSTPJ-Barang... 77
Gambar 3.19 Relasi many-to-many PO-Barang ... 77
Gambar 3.20 Dekomposisi relasi many-to-many PO-Barang... 77
xvii
Gambar 3.22 Dekomposisi relasi many-to-many ReturJual-Barang... 78
Gambar 3.23 Relasi many-to-many BPBJ-Barang ... 78
Gambar 3.24 Dekomposisi relasi many-to-many BPBJ-Barang... 79
Gambar 3.25 Relasi many-to-many SJ-Barang... 79
Gambar 3.26 Dekomposisi relasi many-to-many SJ-Barang ... 79
Gambar 3.27 Entiti BP dengan multi-valued... 80
Gambar 3.28 Dekomposisi atribut hariKirim menjadi entiti JadwalKirim... 80
Gambar 3.29 Entiti Pelanggan dengan multi-valued... 81
Gambar 3.30 Dekomposisi atribut noTelepon dan noFax menjadi entiti TeleponPlgn dan FaxPlgn ... 81
Gambar 3.31 Diagram ER dengan penambahan primary key dan foreign key... 102
xviii