iii
UNIVERSITAS BINA NUSANTARA
Jurusan Teknik Informatika Program Studi Strata-1 Skripsi Sarjana Komputer Semester Genap Tahun 2005/2006
ANALISIS DAN PERANCANGAN BASIS DATA PENJUALAN, PEMBELIAN, DAN PERSEDIAAN
PADA PT. VELINDO JAYA
Arvid Athanasius Iskandar 0600610885 StevanusAnggun Jaya 0600645346
Yuri Martin 0600650182
Kelas/Kelompok : 08 PBT/06
Abstrak
Tujuan penelitian ini adalah untuk merancang suatu sistem basis data penjualan, pembelian, dan persediaan pada PT. Velindo Jaya, yang diharapkan akan mempermudah pengelolaan data dan informasi yang dibutuhkan oleh perusahaan dengan lebih cepat dan akurat.
Metode penelitian yang digunakan dalam merancang sistem basis data ini ada 3 yaitu metode pustaka, metode fact finding, dan metode perancangan. Metode pustaka dilakukan dengan mengumpulkan teori-teori dari buku teks yang berkaitan dengan masalah yang dihadapi, lalu metode fact finding dilakukan dengan menganalisa fakta-fakta yang didapat dari dokumentasi, wawancara, dan survei pada perusahaan, sedangkan metode perancangan dilakukan berdasarkan perancangan konseptual, logikal, dan fisikal.
Hasil yang dicapai dari penelitian yang telah dilakukan adalah bahwa perusahaan yang masih menggunakan sistem konvensional yaitu secara manual dalam mengelola informasinya akan mengalami masalah-masalah, yang dapat mengurangi kinerja dari perusahaan tersebut.
Simpulan yang didapat dari hasil penelitian yang telah dilakukan adalah untuk meningkatkan kinerja dari suatu perusahaan dibutuhkan suatu sistem basis data yang dapat mempermudah penanganan informasi.
Kata kunci
iv PRAKATA
Puji syukur kami ucapkan kepada Tuhan Yang Maha Esa karena atas berkat dan rahmat-Nya kami dapat menyelesaikan skripsi ini.
Penulisan skripsi ini dibuat dalam rangka untuk memenuhi salah satu persyaratan dalam menyelesaikan program Strata 1 pada Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Bina Nusantara. Sebagai bahan dalam penulisan skripsi ini penulis memilih judul “Analisis dan Perancangan Basisdata Penjualan, Pembelian dan Persediaan Pada PT. Velindo Jaya”.
Atas bantuan dan dukungan yang secara langsung, maupun tidak langsung yang telah kami terima, oleh karena itu penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Rektor Universitas Bina Nusantara, Prof. Dr. Gerardus Polla, M.App.Sc yang telah memberikan kesempatan kepada penulis untuk mengikuti kuliah dan menyelesaikan skripsi ini.
2. Ketua Jurusan Teknik Informatika, Bapak H.M.Subekti, BE, M.Sc.
3. Bapak Muh.Tassim Billah, Ir., M.Sc., selaku dosen pembimbing yang banyak memberikan pengarahan dan bimbingan kepada penulis dalam penulisan skripsi ini. 4. Bapak Ricky Wilyanto selaku Genaral Manager PT. Velindo Jaya yang telah
bersedia memberikan ijin dan kesempatan untuk melakukan survey.
v
6. Seluruh staff PT. Velindo Jaya yang telah banyak membantu dalam memberikan data-data yang berguna untuk penyusunan skripsi ini.
7. Orang tua, saudara-saudara dan teman-teman tercinta yang telah memberikan dorongan yang berharga baik secara moril maupun materiil.
8. Serta semua pihak yang namanya tidak dapat disebutkan satu-persatu.
Penulis telah berusaha sebaik mungkin dengan kemampuan yang ada dalam menyelesaikan skripsi ini untuk mendapat hasil yang sebaik-baiknya. Namun penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Oleh karena itu, dengan segala kerendahan hati penulis sangat menghargai segala kritik dan saran yang membangun.
Akhir kata, penulis berharap agar skripsi ini dapat memberikan manfaat yang berarti bagi PT. Velindo Jaya dan semua pihak yang berkepentingan dan membutuhkannya.
Jakarta, Juni 2006
vi DAFTAR ISI
Halaman Judul Luar ...
Halaman Judul Dalam ... i
Halaman Persetujuan Hardcover... ii
Abstrak ... iii
Prakata ... iv
Daftar Isi ... vi
Daftar Tabel ... xii
Daftar Gambar ... xv
Daftar Lampiran ... xxi
vii
2.1.3. Data Definition Language (DDL) ... 14
2.1.4. Data Manipulation Language (DML) ... 14
2.1.5. 4th GL (Generation Language) ... 15
2.1.6. Siklus Hidup Aplikasi Basis Data ... 16
2.1.6.1. Database Planning ... 18
2.1.6.2. System Definition ... 18
2.1.6.3. Requirement Collection and Analysis ... 19
2.1.6.4. Database Design ... 19
2.1.6.5. DBMS Selection ... 20
2.1.6.6. Application Design ... 21
2.1.6.7. Prototyping ... 21
2.1.6.8. Implementation ... 21
2.1.6.9. Data Conversion and Loading ... 22
2.1.6.10.Testing ... 23
2.1.6.11.Operational Maintenance ... 23
2.1.7. Perancangan Basis Data Konseptual, Logikal, dan Fisikal 24 2.1.7.1. Perancangan Basis data Konseptual ... 24
2.1.7.2. Perancangan Basis data Logikal ... 28
2.1.7.3. Perancangan Basis data Fisikal ... 34
2.1.8. E-R Modelling ... 36
2.1.8.1. Tipe Entiti ... 36
2.1.8.2. Tipe Relasi ... 37
viii
2.1.8.4. Kunci (Key) ... 41
2.1.8.5. Strong and Weak Entity Types ... 42
2.1.8.6. Structural Constraints ... 43
2.1.9. Normalisasi ... 45
2.2. Teori-Teori Penjualan, Pembelian, dan Persediaan ... 49
2.2.1. Penjualan ... 49
2.2.1.1. Fungsi Penjualan ... 50
2.2.2. Pembelian ... 53
2.2.2.1. Fungsi Pembelian ... 54
2.2.3. Persediaan ... 59
2.2.3.1. Fungsi Persediaan ... 60
2.2.3.2. Klasifikasi Persediaan ... 61
BAB 3 ANALISIS DAN PERANCANGAN SISTEM... 67
3.1. Gambaran Umum PT. Velindo Jaya ... 67
3.1.1. Sejarah PT. Velindo Jaya . ... 67
3.1.2. Struktur Organisasi PT. Velindo Jaya... 68
3.1.3. Wewenang dan Tanggung Jawab... 69
3.2. Sistem yang Sedang Berjalan ... 74
3.2.1. Diagram Alir Data ... 74
3.2.1.1.Diagram Konteks ... 74
3.2.1.2.Diagram Nol... 76
ix
3.2.2.1.Prosedur Pembelian... 77
3.2.2.2.Prosedur Penjualan... 82
3.2.2.3.Prosedur Persediaan ... 87
3.2.3. Analisis Kebutuhan Informasi ... 87
3.2.4. Permasalahan yang Dihadapi ... 88
3.2.5. Usulan Pemecahan Masalah... 89
BAB 4 PERANCANGAN DAN IMPLEMENTASI ... 91
4.1. Perancangan Basis Data ... 91
4.1.1. Perancangan Basis Data Konseptual ... 91
4.1.1.1. Mengidentifikasi Tipe Entity ... 91
4.1.1.2. Mengidentifikasi Tipe Relasional ... 94
4.1.1.3. Mengidentifikasi dan Asosiasi Atribut Entity .... 97
4.1.1.4. Mengidentifikasi Candidate dan Primary Key Setiap Entity ... 103
4.1.1.5. Memvalidasi Model Konseptual Lokal dengan User Transactions ... 106
4.1.2. Perancangan Basis Data Logikal ... 109
4.1.2.1. Menghilangkan Fitur tidak Kompatibel ... 109
4.1.2.2. Menentukan Relasi untuk Model Data Logikal Lokal ... 112
4.1.2.3. Menggunakan Normalisasi Validasi Relasi ... 122
x
4.1.2.5. Model Basis Data Logikal Global... 142
4.1.3. Perancangan Basis Data Fisikal ... 148
4.1.3.1. Pemilihan DBMS ... 148
4.1.3.2. Merancang relasi dasar ... 159
4.1.3.3. Merancang Representasi dari derived data ... 177
4.1.3.4. Merancang Enterprise Constraints ... 181
4.1.3.5. Analisis Transaksi ... 181
4.1.3.6. Pemilihan Index ... 185
4.1.3.7. Mengestimasi kebutuhan Besar Ruang Penyimpanan ... 189
4.1.3.8. Merancang Mekanisme Keamanan ... 200
4.2. Perancangan Aplikasi ... 206
4.2.1. Struktur Menu ... 206
4.2.2. Perancangan Input dan Output ... 206
4.2.2.1. Perancangan Input ... 206
4.2.2.2. Perancangan Output ... 223
4.2.3. State Transition Diagram ... 227
4.2.4. Implementasi ... 240
4.2.4.1. Spesifikasi Perangkat Keras ... 240
4.2.4.2. Spesifikasi Perangkat Lunak ... 240
4.2.4.3. Jadwal Implementasi ... 241
xi
BAB 5 SIMPULAN DAN SARAN ... 279
5.1. Simpulan ... 279
5.2. Saran ... 280
DAFTAR PUSTAKA ... 281
xii
DAFTAR TABEL
Tabel 3.6 Daftar Entitas 88
Tabel 4.1 Kamus Data Entiti 94
Tabel 4.2 Tabel Pembatas Multiplicity 97
Tabel 4.3 Tabel Kamus Data Atribut 102
Tabel 4.4 Tabel identifikasi candidate keys dan primary key 104 Tabel 4.5 Tabel Model Basis Data Logikal Global
Tabel 4.6 Tabel Perbandingan Dukungan Platform dari masing-masing DBMS
146 149 Tabel 4.7 Tabel Kebuthan Perangkat Keras dari SQL Server 2000 149 Tabel 4.8 Tabel Kebuthan Perangkat Keras dari Oracle 9i Database 150 Tabel 4.9 Tabel Kebuthan Perangkat Lunak dari SQL Server 2000 151 Tabel 4.10 Tabel Kebuthan Perangkat Lunak dari Oracle 9i Database 152
Tabel 4.11 Tabel Kabutuhan Perangkat Lunak dari MySQL 153
Tabel 4.12 Tabel Perbandingan antara SQL Server 2000 Standart 154 Tabel 4.13 Tabel Harga SQL Server 2000 untuk masing-masing lisnsi 154 Tabel 4.14 Tabel Harga MySQL v4.1 berdasarkan jumlah lisensi perservis database
155
Tabel 4.15 Tabel Perbandingan antara T-SQL dengan PL/SQL 156 Tabel 4.16 Tabel Perbandingan antara T-SQL dengan MySQL dialect 157 Tabel 4.17 Tabel Perbandingan batasan fitur antara SQL Server 2000 dengan
Oracle 9i Database
xiii
Tabel 4.18 Tabel Perbandingan batasan fitur antara SQL server 2000 dengan MySQL v4.1
158
Tabel 4.19 Tabel Pemesanan Detail 178
Tabel 4.20 Tabel Harga Barang 178
Tabel 4.21 Tabel Pemesanan 178
Tabel 4.22 Tabel Pemesanan 179
Tabel 4.23 Tabel Penjualan Detail 179
Tabel 4.24 Tabel Penjualan 179
Tabel 4.25 Tabel Permintaan 180
Tabel 4.26 Tabel Pembelian Detail 180
Tabel 4.27 Tabel Pembelian 181
Tabel 4.28 Tabel Cross-Referencing transactions and relations(a) 183 Tabel 4.29 Tabel Cross-Referencing transactions and relations(b) 184 Tabel 4.30 Tabel Cross-Referencing transactions and relations(c) 185 Tabel 4.31 Tabel Cross-Referencing transactions and relations(d) 185 Tabel 4.32 Tabel Interaksi antara relasi dasar dengan transaksi Query data 189
Tabel 4.33 Tabel hasil penambahan Secondary Index 189
Tabel 4.34 Tabel Perkiraan Jumlah row pada masing-masing tabel 190 Tabel 4.35 Tabel Perhitungan Kapasitas Penyimpanan untuk setiap tabel 192
Tabel 4.36 Tabel Perhitungan panjang Maximum 193
Tabel 4.37 Tabel Perhitungan Null Bitmap 194
xiv
Tabel 4.39 Tabel Perhitungan Total Ukuran Rows untuk setiap tabel 196 Tabel 4.40 Tabel Perhitungan Jumlah Rows Per Page dari setiap tabel 197 Tabel 4.41 Tabel Perhitungan jumlah free Rows perpage dari setiap tabel 198 Tabel 4.42 Tabel Perhitungan Jumlah Page untuk menyimpan semua row dari setiap tabel
199
Tabel 4.43 Tabel Perhitungan jumlah kapasitas untuk menyimpan semua data setiap tabel
200
Tabel 4.44 Tabel Perancangan Mekanisme keamanan 204
xv
DAFTAR GAMBAR
Gambar 2.1 Tahapan dalam Application Lifecycle 17
Gambar 2.2 Representasi dari entity tipe staff dan cabang 36
Gambar 2.3 Contoh Relasi Binary 37
Gambar 2.4 Contoh Relasi Ternary 37
Gambar 2.5 Contoh Relasi Quartenary 38
Gambar 2.6 Contoh hubungan rekursif entity Supervises dengan role names Supervisor dan Supervisee
38
Gambar 2.7 Contoh Klasifikasi atribut dan primary key entiti Staff dan Branch. 41
Gambar 2.8 Contoh dari Strong dan Weak Entity 43
Gambar 2.9 Contoh one-to-one relationship 44
Gambar 2.10 Contoh one-to-many relationship 44
Gambar 2.11 Contoh many-to-many relationship 44
Gambar 3.1 Struktur Organisasi PT. Velindo Jaya 69
Gambar 3.2 Diagram Konteks pada PT. Velindo Jaya 75
Gambar 3.3 Diagram Nol 76
Gambar 3.4 Diagram Alir Prosedur Pembelian Pada Divisi Pembelian 79 Gambar 3.5 Diagram Alir Prosedur Retur Pembelian Divisi Pembelian 79 Gambar 3.6 Diagram Alir Prosedur Pembelian pada Divisi Gudang 80 Gambar 3.7 Diagram Alir Prosedur Retur Pembelian pada Divisi Gudang 80 Gambar 3.8 Diagram Alir Prosedur Pembelian pada Divisi Keuangan dan Akuntansi
xvi
Gambar 3.9 Diagram Alir Prosedur Retur Pembelian pada Divisi Keuangan dan Akuntansi
81
Gambar 3.10 Diagram Alir Prosedur Penjualan pada Divisi Penjualan 84 Gambar 3.11 Diagram Alir Prosedur Retur Penjualan pada Divisi Penjualan 85 Gambar 3.12 Diagram Alir Prosedur Penjualan pada Divisi Gudang 85 Gambar 3.13 Diagram Alir Prosedur Penjualan pada Divisi Keuangan dan
Akuntansi
86
Gambar 3.14 Diagram Alir Prosedur Retur Penjualan pada Divisi Keuangan dan Akuntansi
86
Gambar 4.1 Diagam ER yang menunjukan Entiti dan Relasi 97
Gambar 4.2 Diagam ER dengan penambah Primary Key 105
Gambar 4.3 Diagam ER dengan Validasi transaksi user 108
Gambar 4.4 ER Diagram Global 146
Gambar 4.5 Struktur Menu 206
Gambar 4.6 Rancangan Layar Login 207
Gambar 4.7 Rancangan Layar Menu Utama (a) 208
Gambar 4.8 Rancangan Layar Menu Utama (b) 208
Gambar 4.9 Rancangan Layar Menu Utama (c) 209
Gambar 4.10 Rancangan Layar Menu Utama (d) 209
Gambar 4.11 Rancangan Layar Menu Utama (e) 210
Gambar 4.12 Rancangan Layar Menu Utama (f) 210
Gambar 4.13 Rancangan Layar Menu Utama (g) 211
xvii
Gambar 4.15 Rancangan Layar Menu Utama (i) 212
Gambar 4.16 Rancangan Layar Menu Utama (j) 212
Gambar 4.17 Rancangan Layar Pelanggan 213
Gambar 4.18 Rancangan Layar Pemasok 214
Gambar 4.19 Rancangan Layar Karyawan 214
Gambar 4.20 Rancangan Layar Piutang 215
Gambar 4.21 Rancangan Layar Utang 215
Gambar 4.22 Rancangan Layar Barang 216
Gambar 4.23 Rancangan Layar Permintaan 217
Gambar 4.24 Rancangan Layar Pemesanan 218
Gambar 4.25 Rancangan Layar Penjualan 219
Gambar 4.26 Rancangan Layar Pembelian 220
Gambar 4.27 Rancangan Layar Retur Penjualan 221
Gambar 4.28 Rancangan Layar Retur Pembelian 221
Gambar 4.29 Rancangan Layar Pengiriman 222
Gambar 4.30 Rancangan Layar Penerimaan 222
Gambar 4.31 Perancangan Output Laporan Penjualan 223
Gambar 4.32 Perancangan Output Laporan Pembelian 224
Gambar 4.33 Perancangan Output Laporan Retur Penjualan 225
Gambar 4.34 Perancangan Output Laporan Retur Pembelian 226
Gambar 4.35 Perancangan Output Laporan Persediaan Barang 227
Gambar 4.36 STD Menu Utama 228
xviii
Gambar 4.38 STD Menu Master Data 229
Gambar 4.39 STD Barang 229
Gambar 4.40 STD Pelanggan 230
Gambar 4.41 STD Pemasok 230
Gambar 4.42 STD Karyawan 231
Gambar 4.43 STD Utang 231
Gambar 4.44 STD Piutang 232
Gambar 4.45 STD Menu Transaction 232
Gambar 4.46 STD Transaction Penjualan Gambar 4.47 STD Transaction Pembelian
233 233
Gambar 4.48 STD Transaction Permintaan 234
Gambar 4.49 STD Transaction Pengiriman 234
Gambar 4.50 STD Transaction Penerimaan 235
Gambar 4.51 STD Menu Retur 235
Gambar 4.52 STD Retur Penjualan 236
Gambar 4.53 STD Retur Pembelian 236
Gambar 4.54 STD Menu Report 237
Gambar 4.55 STD Laporan Penjualan 237
Gambar 4.56 STD Laporan Pembelian 237
Gambar 4.57 STD Laporan Persediaan 238
Gambar 4.58 STD Laporan Retur Penjualan Gambar 4.59 STD Laporan Retur Pembelian
238 238
xix
Gambar 4.61 STD Window 239
Gambar 4.62 STD Help 239
Gambar 4.63 Layar Login 242
Gambar 4.64 Pesan Kesalahan Login 243
Gambar 4.65 Layar Splash 243
Gambar 4.66 Layar Menu Utama 244
Gambar 4.67 Layar Menu System 245
Gambar 4.68 Layar Menu Master 245
Gambar 4.69 Layar Menu Transaksi 246
Gambar 4.70 Layar Menu Retur 246
Gambar 4.71 Layar Menu Report 247
Gambar 4.72 Layar Menu View 247
Gambar 4.73 Layar Menu Window 248
Gambar 4.74 Layar Menu Help 248
Gambar 4.75 Layar Pelanggan Gambar 4.76 Layar Karyawan
249 251
Gambar 4.77 Layar Pemasok 253
Gambar 4.78 Layar Barang Gambar 4.79 Layar Utang
255 257
Gambar 4.80 Layar Piutang 258
Gambar 4.81 Layar Transaksi Permintaan 260
Gambar 4.82 Layar Transaksi Pemesanan 262
xx
Gambar 4.84 Layar Transaksi Penjualan 264
Gambar 4.85 Layar Retur Penjualan 266
Gambar 4.86 Layar Retur Pembelian 270
Gambar 4.87 Layar Laporan Penjualan 271
Gambar 4.88 Layar Preview Laporan Penjualan 272
Gambar 4.89 Layar Laporan Pembelian 273
Gambar 4.90 Layar Preview Laporan Pembelian 274
Gambar 4.91 Layar Preview Laporan Persediaan Barang 275
Gambar 4.92 Layar Laporan Retur Penjualan 275
Gambar 4.93 Layar Preview Laporan Retur Penjualan 276
Gambar 4.94 Layar Laporan Retur Pembelian 277