ANALISIS DAN PERANCANGAN
3.1 Analisis
3.1.1 Riwayat Perusahaan
PT. Musi Langgeng Mandiri, merupakan salah satu produsen air mineral di Indonesia yang dikenal dengan merek Drinka®. Drinka® telah lulus uji quality control oleh pemerintah Singapura. Drinka® diambil dari mata air alami yang terletak di Babakan Pari kemudian melewati proses filtrasi dan pemurniaan yang modern Drinka® merupakan air minum berstandar internasional; dan tak lupa juga memenuhi kebutuhan mineral tubuh.
Adapun rangkaian produk – produk yang dihasilkan oleh Drinka® terdiri dari 4 produk seperti yang tertera dibawah ini :
• Gelas – 240 ml
• Botol sedang – 600 ml • Botol besar - 1500 ml • Galon – 19 liter
Perusahaan ini didirikan pada tanggal 15 Desember 1988 atas dasar akte notaris Tegoeh Hartanto SH dan disahkan oleh yang berwenang berdasarkan nomor 37/CN/PDT.P/1988?PN.JKT.PST dengan gudang dan kantor yang berkedudukan di Jl. Jembatan 3 no 36GE, Jakarta Utara 14440.
Perusahaan memilih lokasi di kawasan Jembatan 3 dengan alasan-alasan sebagai berikut karena lokasi Jembatan 3 merupakan salah satu komplek perkantoran dan jarak lokasi kantor dengan rumah tinggal tidak terlalu jauh. Sampai saat ini PT Musi Langgeng Mandiri belum membuka cabang di tempat lain. Jumlah pelanggan tetap yang ada saat ini sekitar 100 pelanggan.
Mengingat bahwa perusahaan ini bukan merupakan perusahaan pertama dalam bidang air mineral, maka agar dapat bertahan dalam persaingan, perusahaan mengadakan market research untuk mengetahui jenis kemasan minuman yang diinginkan oleh konsumen. Dari hasil riset ini maka perusahaan memproduksi kemasan berbentuk gelas, botol, dan galon.
Saat ini produk and pelayanan Drinka® telah digunakan oleh perusahaan – perusahaan seperti Brasali Group (Apartemen Bukit Golf Pondok Indah), Grup IKM (Honda), dan juga berbagai kompleks perumahan di Jakarta. Hal ini dikarenakan produk berkualitas tinggi dengan pelayanan yang disesuaikan untuk kebutuhan masing – masing individu yang kami sediakan dengan harga competitif.
Selain bekerja dibidang air minum, PT. Musi Langgeng Mandiri juga bekerja pada bidang management logistic. Divisi management logistic PT. Musi Langgeng Mandiri melayani process distribusi melalui darat dan laut, dimana area utama lingkupnya adalah daerah Sumatra seperti Palembang, Bangka – Belitung, Jambi, dan juga area area lainnya.Beberepa perusahaan yang saat ini bekerja sama dengan PT. Musi Langgeng Mandiri adalah Multi Bintang
Indonesia (Heineken, Bir Bintang, Green Sands), Amerta Indah Otsuka (Pocari Sweat, Soy Joy), Dima Indonesia (Guiness) dan Tirta Investama (Aqua).
Bidang lain yang juga ditekuni oleh PT. Musi Langgeng Mandiri adalah bidang perdagangan dan fabrikasi. Divisi ini bekerja sama dengan perusahaan seperti Grup Sinar Mas dan Heinz ABC dalam penyediaan, perbaikan, dan pembuatan parts untuk pabrik – pabrik mereka. Beberapa produk spesifik yang disediakan oleh PT. Musi Langgeng Mandiri adalah battery (forklift, ect), panel assy, pembuatan sealer, joints (universal joint, cross joint) dan juga penanganan kebakaran (nozzle, hose, dan integrasi keselamatan fasilitas).
3.1.2 Struktur Organisasi Perusahaan
Secara terperinci organisasi merupakan sistem dan bentuk hubungan antara wewenang (authority) dan tanggungjawab (responsibility) antara atasan dan bawahan demi tercapainya tujuan yang telah ditetapkan dengan cara yang paling baik. Hubungan tersebut akan tercapai dengan baik apabila antara atasan dan bawahan serta antara satu bagian dengan bagian lainnya dalan organisasi terjalin suatu kerjasama dan saling pengertian yang sebaik-baiknya.
Dengan demikian apabila membicarakan organisasi, maka salah satu bagian yang terpenting adalah struktur organisasi yang mengatur hubungan antara bagian-bagian yang ada dalam organisasi serta menetapkan wewenang yang tegas sehingga dapat dilakukan suatu koordinasi yang baik.
Dalam perusahaan ini fungsi-fungsi manajemen sudah dijalankan sesuai dengan kemampuan dan kebutuhan perusahaan. Rencana jangka panjang dan
jangka pendek disusun oleh direktur utama. Demikian pula dalam pemberian tugas dan wewenang pimpinan perusahaan selalu mengadakan konsultasi dan memperhatikan saran dari para staf, sehingga dengan demikian hubungan antara atasan dengan bawahan selalu berjalan dengan baik sesuai dengan rencana dan tujuan perusahaan. Direktur Utama Sekretaris Keuangan Distribusi/ Pemasaran Personalia Produksi
Kasir Penjualan Gudang
Pembelian
Gambar 3.1 Struktur Organisasi PT Musi Langgeng Mandiri
3.1.3 Pembagian Tugas dan Tanggung Jawab
Adapun struktur organisasi perusahaan dan pembagian tugas masing-masing adalah sebagai berikut :
1. Direktur utama
Tugas direktur utama adalah :
- Memegang pimpinan tertinggi dalam perusahaan.
- Mewakili para pemegang saham melalui perencanaan hingga pengendalian kegiatan manajerial perusahaan.
- Mengkoordinir segala kegiatan. Tanggung jawab :
- Memimpin, mengkoordinasi, mengarahkan, dan mengawasi seluruh kegiatan perusahaan.
- Menerima dan mengevaluasi laporan pelaksanaan kegiatan di perusahaan. - Mengangkat dan memberhentikan karyawan tetap.
2. Sekretaris
Tugas sekretaris adalah :
- Membantu direktur dalam hal pengaturan jadwal. 3. Personalia
Tugas Personalia :
- Menerima dan mendistribusikan surat-surat masuk ke perusahaan. - Menyimpan dan memelihara dokumen karyawan.
- Menjalankan administrasi karyawan. Tanggung jawab:
- Merencanakan penerimaan karyawan. - Merencanakan pelatihan internal karyawan.
- Mengembangkan dan menetapkan peraturan karyawan yang disesuaikan dengan peraturan pemerintah.
- Merencanakan program kerja sama dengan masyarakat. 4. Keuangan
Tugas keuangan:
- Mengeluarkan dan membayar uang pembelian bahan baku serta gaji karyawan dan pembayaran-pembayaran lainnya sesuai aturan perusahaan. - Melaporkan kegiatan keuangan perbulan kepada direktur.
- Membicarakan kegiatan arus keuangan setiap hari atau setiap saat dengan direktur.
Tanggung jawab:
- Menyusun kebijakan keuangan yang berhubungan dengan kegiatan akuntansi, administrasi keuangan, pengaturan sumber dana, dan penggunaan dana perusahaan.
- Mengkoordinir dan mengawasi transaksi keuangan. - Menugaskan kasir membayar gaji karyawan. - Mengawasi kelancaran keuangan perusahaan.
5. Kasir Tugas kasir:
- Menerima semua uang masuk, baik berupa tunai, giro, maupun cek. - Membantu bagian keuangan menyetor cek atau giro ke rekening bank. - Mengelola kas kecil untuk pengeluaran dana harian yang berjumlah kecil. - Membayar gaji dan uang lembur karyawan.
6. Pembelian Tugas :
- Menentukan persyaratan supplier.
- Mendata kemampuan supplier untuk memasok barang, harga barang, mutu, jumlah, dan jadwal pengiriman barang.
- Menyiapkan order pembelian untuk disetujui bagian keuangan. - Mengawasi penerimaan barang sesuai dengan order.
- Memelihara dan menyimpan seluruh catatan pembelian bahan mentah. Tanggung jawab:
- Bertanggung jawab atas kesesuaian persyaratan mutu barang-barang yang dibeli.
7. Distribusi / Pemasaran Tugas
- Melaksanakan program promosi untuk meningkatkan daya saing. - Menerima pendaftaran calon pelanggan
- Menerbitkan Bukti Pengeluaran Produk Jadi (BPBJ) dan Surat Jalan (SJ) - Mengarsipkan dokumen – dokumen yang berhubungan dengan bagian
distribusi. 8. Penjualan
Tugas penjualan:
- Menerima pesanan dari pelanggan - Membuat jadwal pengiriman barang
- Mengurus faktur-faktur yang berhubungan dengan penjualan - Memelihara dan menyimpan dokumen penjualan.
- Melaporkan kepada bagian pembelian kendala – kendala yang terjadi di pasar dan memperluas pasar.
9. Produksi
Tugas Produksi:
- Mengatur kelancaran proses produksi dari tahap bahan baku air sampai produk jadi
- Memeriksa dan menguji bahan baku, produksi jadi sesuai dengan Standar Nasional Indonesia (SNI).
- Membuat order pemesanan barang ke pabrik. Tanggung jawab:
- Bertanggung jawab atas mutu bahan baku air.
- Bertanggung jawab atas kesesuaian mutu produk akhir. - Bertanggung jawab atas arus persediaan bahan baku mentah 10. Gudang
Tugas Gudang:
- Mengeluarkan barang sesuai dengan pesanan pelanggan. - Mencatat jumlah bahan baku yang keluar masuk gudang. - Mencatat jumlah produksi akhir yang masuk gudang.
- Menjaga tingkat kerapian, kebersihan, dan keamanan gudang.
- Memberi identifikasi barang setiap barang masuk gudang dan melaksanakan penggunaan barang dengan sistem FIFO(First In First Out).
Tanggung jawab:
- Bertanggung jawab atas keselamatan bahan baku dan barang jadi yang tersimpan dalam gudang.
- Bertanggung jawab atas pemberian identifikasi atas bahan baku dan barang jadi yang ada dalam gudang.
3.1.4 Sistem yang Sedang Berjalan
3.1.4.1 Proses Bisnis dan Diagram Aliran Dokumen
Berikut ini adalah prosedur sistem transaksi yang dilakukan pada PT Musi Langgeng Mandiri :
• Prosedur pendaftaran pelanggan
Sebelum melakukan transaksi pemesanan barang, calon pelanggan harus melakukan pendaftaran terlebih dahulu kepada staf bagian distribusi / pemasaran. Pendaftaran dilakukan agar staf bagian distribusi dapat mengecek kelayakan calon pelanggan, jika calon pelanggan dianggap layak maka staf bagian distribusi akan mencatat data pelanggan dan disimpan ke dalam arsip perusahaan.
• Prosedur pemesanan barang
Pelanggan melakukan pemesanan barang ke bagian penjualan, jika pelanggan tidak melakukan perubahan pesanan, maka barang akan dikirim secara rutin sesuai dengan perjanjian yang ada di BP(Bukti Pemesanan). Jika pelanggan ingin melakukan perubahan pesanan, maka pelanggan harus melakukannya minimal sehari sebelum jadwal pengiriman barang dan paling lambat sampai dengan jam 12.00 siang. Staf bagian penjualan akan melihat jadwal pengiriman barang pada hari tersebut, kemudian menerbitkan Purchased Order (PO) 1 rangkap yang ditujukan ke bagian distribusi.
Kemudian staf bagian distribusi juga akan menerbitkan Bukti Pengeluaran Barang Jadi (BPBJ) 3 rangkap yang digunakan agar staf bagian gudang dapat mengeluarkan barang yang diminta dan nantinya digunakan untuk mencocokkan antara barang yang diminta, barang yang diberikan, dan barang yang dijual.
Lembar 1 (putih) ditujukan kepada bagian distribusi. Lembar 2 (merah) ditujukan kepada bagian gudang. Lembar 3 (biru) ditujukan kepada pengambil / driver.
Staf bagian distribusi juga akan menerbitkan Surat Jalan (SJ) 3 rangkap yang berisi nama dan alamat pelanggan, nama barang dan jumlah barang yang dijual akan diisi oleh driver.
Lembar 1 (putih) diberikan kebagian penjualan (lembar 1 akan diberikan kepada pelanggan apabila pembayaran telah dilakukan).
Lembar 2 (biru) ditujukan ke bagian distribusi dan diarsipkan. Lembar 3 (merah) ditujukan ke pelanggan.
• Prosedur pengeluaran barang
Bagian gudang menerima BPBJ dan SJ kemudian bagian gudang menyiapkan barang sesuai dengan pemesanan dan mengisi kartu stok. Setelah bagian gudang menyiapkan barang, BPBJ diarsipkan dan SJ diserahkan kepada driver.
• Prosedur pengiriman barang
Bagian gudang akan memberikan SJ dan barang sesuai dengan yang dipesan kepada driver. Driver akan mengirim barang dan mengisi SJ pelanggan sesuai dengan jumlah barang yang dipesan atau sesuai dengan jumlah gallon kosong yang tersedia di pihak pelanggan. Setelah pengiriman barang selesai dilakukan, maka driver akan menyerahkan SJ ke bagian gudang dan bagian gudang akan mendata BPBJ rangkap 3.
Lembar 1 (putih) ditujukan kepada bagian distribusi. Lembar 2 (merah) akan diarsipkan.
Lembar 3 (biru) ditujukan kepada pengambil / driver. SJ rangkap 2 ditujukan untuk :
Lembar 1 (putih) ditujukan ke bagian penjualan. Lembar 2 (biru) ditujukan ke bagian distribusi
2 D rive r 3 2 SJ 1 M eng iri m Ba ran g 3 2 SJ 1 Guda ng Pe la ngg an Men da ta BPBJ 3 SJ Me nye rahk an N
Be rsama d en gan Baran g
3 2 1 BPBJ
N
Ketera ng an u ntuk do kume n: BPBJ = Bu kti Pe ng elu ara n Prod uk Jad i SJ = Sura t Ja lan
Ketera ng an u ntuk da ta s to re: N = U rut m enu rut Nom or
2 1 SJ 4 2 SJ 1 BPBJ N Di stribu si 3 BPBJ N
• Prosedur penagihan
Setiap akhir bulan staf bagian penjualan membuat Surat Penagihan (SP) rangkap 2 berdasarkan pada SJ pelanggan pada bulan tersebut.
Lembar 1 (putih) diberikan kepada pelanggan (lembar 1 SP diberikan apabila pembayaran telah dilakukan beserta dengan lembar 1 SJ).
Lembar 2 (merah) digunakan sebagai arsip.
Jika tidak langsung melakukan pembayaran, maka pihak pelanggan harus memberikan tanda terima bahwa telah menerima SP dari PT Musi Langgeng Mandiri dan akan diberikan batas waktu sesuai dengan perjanjian. Kolektor akan melakukan penagihan kembali sesuai dengan batas waktu yang telah dijanjikan.
Untuk pelanggan dengan jenis pembayaran lunas, maka pada saat dilakukan pengiriman barang selain diterbitkan SJ, diterbitkan pula SP yang berisi nama pelanggan, alamat pelanggan, dan harga barang. Jumlah barang akan diisi sendiri oleh driver karena harus sesuai dengan SJ. Jika pembayaran telah dilakukan maka driver akan menyerahkan SJ lembar 1 kepada pelanggan, serta SP lembar 2.
• Prosedur Pemesanan sampai serah terima produk jadi
Bagian gudang melakukan pemesanan barang jadi melalui telepon dan mencatat pesanan ke dalam jurnal pesanan.
Setelah menerima pemesanan. bagian produksi melakukan produksi, staf bagian produksi akan memindahkan barang ke gudang beserta Bukti Serah Terima Produk Jadi (BSTPJ) 2 rangkap.
Lembar 1 (putih) ditujukan ke bagian produksi. Lembar 2 (merah) ditujukan ke bagian gudang.
Gambar 3.7 Diagram Alir Dokumen pada Tahap Pemesanan S ampai Penerimaan Barang
3.1.4.2 Kebutuhan Pengguna 3.1.4.2.1 Kebutuhan Informasi
Untuk menentukan kebutuhan sistem pada PT. Musi Langgeng Mandiri, kami melakukan wawancara kepada nara sumber dari bagian persediaan dan penjualan. Dari hasil wawancara tersebut kami telah menyimpulkan beberapa hal yang diperlukan dan keinginan dari divisi-divisi tersebut.
• Pegawai
Pegawai yang terlibat antara lain bagian penjualan dan bagian gudang. Kebutuhan informasi pegawai, antara lain : data pegawai, data pelanggan, data transaksi pemesanan barang, data transaksi pengeluaran barang, data penerimaan barang, data transaksi pengiriman barang, dan penagihan
• Pelanggan
Kebutuhan informasi pelanggan, antara lain : data pelanggan, data barang, data transaksi pemesanan barang, data penerimaan barang, data pengeluaran barang, data transaksi pengiriman barang, dan penagihan
• Transaksi Pemesanan Barang
Kebutuhan informasi Transaksi Pemesanan Barang, antara lain : data pegawai, data pelanggan, data barang, dan jadwal pengiriman.
• Transaksi Penerimaan Barang
Kebutuhan informasi Transaksi Penerimaan Barang, antara lain : data pegawai, data barang.
• Transaksi Pengeluaran Barang
Kebutuhan informasi Transaksi Pengeluaran Barang, antara lain : data pegawai, data barang.
• Transaksi Pengiriman Barang
Kebutuhan informasi Transaksi Pengiriman Barang, antara lain : data pegawai, data pelanggan, data barang, jadwal pengiriman, data transaksi pengeluaran barang, data kendaraan.
• Penagihan
Kebutuhan informasi Penagihan, antara lain : data pegawai, data pelanggan, data transaksi pengiriman barang.
3.1.4.2.2 Kebutuhan Keamanan Data
Agar data yang ada dapat tersimpan dengan aman dan tidak dapat diakses oleh orang yang tidak berkepentingan maka harus ada pembatasan hak akses, yaitu:
1. Direktur utama dapat mengakses semua data.
2. Bagian Personalia hanya dapat mengakses data tentang pegawai 3. Bagian Keuangan hanya dapat mengakses data tentang
4. Bagian Distribusi hanya dapat mengakses data tentang pelanggan, pemesanan barang, pengiriman barang, dan data barang
5. Bagian Gudang hanya dapat mengakses data tentang barang, pengeluaran barang, penerimaan barang.
3.1.4.2.3 Kebutuhan Integrasi Data
Agar data yang tersimpan tidak terdapat kesalahan atau ketidakcocokan data antara data yang satu dengan yang lain maka data antara bagian penjualan dan bagian persediaan harus terintegrasi.
3.1.4.2.4 Kebutuhan Transaksi
Data Entry
a) Masukkan detail dari pelanggan b) Masukkan detail dari jabatan c) Masukkan detail dari pegawai d) Masukkan detail dari Penagihan e) Masukan detail dari Kendaraan f) Masukkan detail dari Barang g) Masukkan detail dari BP h) Masukkan detail dari RKD i) Masukkan detail dari BPBJ j) Masukkan detail dari BSTPJ
k) Masukkan detail dari PO l) Masukkan detail dari Cabang m) Masukkan detail dari SJ
n) Masukkan detail dari Perusahaan o) Masukkan detail dari Jadwal Kirim
Data Update/Deletion
a) Mengubah / menghapus detail dari pelanggan b) Mengubah / menghapus detail dari jabatan c) Mengubah / menghapus detail dari pegawai d) Mengubah detail dari Penagihan
e) Menghapus detail dari Kendaraan
f) Mengubah / menghapus detail dari Barang g) Mengubah detail dari BP
h) Mengubah detail dari RKD i) Mengubah detail dari BPBJ j) Mengubah detail dari BSTPJ k) Mengubah detail dari PO
l) Mengubah / menghapus detail dari Cabang m) Mengubah detail dari SJ
n) Mengubah / menghapus detail dari Perusahaan o) Mengubah / menghapus detail dari Jadwal Kirim
Data Query
a) Tampilkan detail pegawai berdasarkan kode jabatan b) Tampilkan detail pelanggan berdasarkan hari pengiriman
c) Tampilkan detail barang beserta harga untuk pelanggan tertentu d) Tampilkan nama pelanggan dan detail dari penagihan yang
belum dibayar pada bulan dan tahun tertentu e) Tampilkan detail persediaan barang
f) Tampilkan detail PO beserta detail Barang yang dipesan berdasarkan kode RKD tertentu
g) Tampilkan detail SJ berdasarkan bulan dan kodePelanggan tertentu dari PO
h) Tampilkan detail SJ berdasarkan kode penagihan tertentu i) Tampilkan detail barang berdasarkan kode BPBJ tertentu j) Tampilkan detail barang berdasarkan kode BSTPJ tertentu k) Tampilkan detail barang berdasarkan kode PO tertentu
l) Tampilkan detail kendaraan yang diurut berdasarkan kapasitas standart terbesar
3.1.5 Permasalahan yang Dihadapi
Saat ini PT Musi Langgeng Mandiri sudah mempunyai sekitar 100 pelanggan tetap dengan jumlah rata – rata transaksi sebesar 25 transaksi setiap harinya.
Berdasarkan gambaran sistem yang sedang berjalan dapat diketahui permasalahan – permasalahan yang dihadapi oleh perusahaan ini, antara lain:
• Prosedur pemesanan barang
Bagian penjualan mengalami kesulitan dalam membuat PO untuk pelanggan, sebab bagian penjualan harus selalu mengecek jadwal pengiriman beserta jumlah barang yang akan dikirimkan kepada setiap pelanggan berdasarkan BP yang telah disepakati antara pihak pelanggan dengan pihak perusahaan.
• Prosedur pengeluaran dan penerimaan barang
Karena data belum terintegrasi antara bagian gudang, distribusi dan penjualan, maka bagian distribusi dan penjualan harus selalu menghubungi bagian gudang terlebih dahulu untuk mendapatkan informasi mengenai sisa barang yang ada di gudang barang jadi.
• Prosedur penagihan
Perhitungan tagihan pelanggan masih dilakukan secara manual sehingga memungkinkan terjadinya kesalahan. Selain itu harga barang yang dijual untuk setiap pelanggan tidak sama, karena semua harga tergantung pada BP yang telah disepakati antara pihak pelanggan dengan pihak perusahaan. Permasalahan yang lainnya adalah bagian penjualan tidak dapat langsung mengetahui pelanggan mana yang tagihannya sudah melewati tanggal jatuh tempo karena harus melakukan pengecekan terlebih dahulu terhadap setiap tagihan yang ada.
3.1.6 Usulan Pemecahan Masalah
Berdasarkan masalah-masalah di atas, maka solusi yang baik dan bermanfaat bagi pihak perusahaan adalah dengan membuat sebuah sistem basis data yang terintegrasi antara satu bagian yang lain, mampu mengelompokan
pelanggan, serta mampu menghitung dan mencetak laporan penagihan. Selain itu, basis data tersebut juga dapat mengolah data-data penting seperti PO, surat pengeluaran barang, surat jalan. Basis data itu juga mampu menyimpan data dengan aman dan dapat memperoleh data – data tersebut dengan cepat.
3.2 Perancangan
3.2.1 Perancangan Basis Data Konseptual
3.2.1.1 Mengidentifikasi Tipe – Tipe Entitas
Berikut ini merupakan tabel yang menjelaskan entiti – entiti yang digunakan dalam perancangan basis data.
Entiti Deskripsi Alias Kemunculan Pegawai Berhubungan dengan
semua pegawai yang bekerja pada PT Musi Langgeng Mandiri
Staff Setiap pegawai dapat melayani banyak PO, BPBJ, SJ, penagihan dan pembayaran
Pelanggan Berhubungan dengan semua pelanggan
yang membeli barang pada PT Musi
Langgeng Mandiri
Konsumen Setiap pelanggan dapat memesan barang
Jabatan Berhubungan dengan semua jabatan yang
berlaku dalam proses bisnis PT Musi Langgeng Mandiri
Position Setiap pegawai memiliki satu jabatan sesuai dengan tugas dan tanggung jawabnya
Entiti Deskripsi Alias Kemunculan
BP Berhubungan dengan
semua jenis barang yang dipesan oleh pelanggan, jumlah pengiriman barang, harga dari setiap barang dan jadwal pengiriman barang
Pendaftaran Setiap BP dibuat pada awal pemesanan barang milik pelanggan serta bila terjadi perubahan jadwal kirim, harga barang, jumlah
pengiriman barang dan penambahan atau pengurangan jenis barang PO Berhubungan dengan semua pemesanan barang yang dilakukan oleh pelanggan
Invoice Setiap PO dibuat berdasarkan BP, tetapi masih dimungkinkan untuk mengalami perubahan jika ada perubahan pesanan oleh pelanggan SJ Berhubungan dengan semua pengiriman barang terhadap pelanggan serta jumlah barang yang diterima oleh pelanggan
Surat Jalan Informasi pengiriman barang berupa jumlah barang yang diterima oleh pelanggan ditulis kedalam SJ setiap kali melakukan pengiriman barang
Penagihan Berhubungan dengan semua penagihan
penjualan terhadap pelanggan
Penagihan dilakukan
setiap hari atau setiap bulan berdasarkan pada jenis pembayaran pelanggan yang ada di BP
Barang Barang yang dijual oleh PT Musi Langgeng Mandiri
Produk Barang dibutuhkan dalam transaksi
penjualan
BPBJ Berhubungan dengan jumlah barang yang
keluar dari gudang
Pengeluaran
Barang Barang dikeluarkan dari gudang barang jadi pada saat ada
Entiti Deskripsi Alias Kemunculan BSTPJ Berhubungan dengan
jumlah barang yang masuk ke gudang
Penerimaan Barang
Pemasukan barang jadi dari produksi ke gudang barang jadi Kendaraan Berhubungan dengan
informasi semua kendaraan pengirim barang
Armada Kendaraan digunakan pada saat pengiriman barang kepada pelanggan
RKD Berhubungan dengan
semua urutan jadwal pengiriman barang untuk pelanggan
Rencana Kerja Distribusi
Setiap kali melakukan pengiriman barang, bagian distribusi membuat RKD untuk tiap kendaraan tertentu Perusahaan Berhubungan dengan
data perusahaan Ketika didirikan perusahaan Cabang Berhubungan dengan
cabang-cabang yang ada di perusahaan
Setiap kali dibuka cabang baru
Tabel 3.1 Identifikasi Tipe Entiti
3.2.1.2 Mengidentifikasi Tipe - Tipe Relasi
Entiti Multiplicity Relasi Entiti Multipicity
Pegawai 1..1 Menangani PO 0..*
Pegawai 1..1 Menangani Penagihan 0..*
Pegawai 1..1 Menangani BP 0..*
Pegawai 1..1 Menangani Penagihan 0..*
Pegawai 1..1 Menangani BPBJ 0..* Pegawai 1..1 Menangani RKD 0..* Pegawai 1..1 Menangani RKD 0..*
Pegawai 1..1 Menangani BSTPJ 0..*
Entiti Multiplicity Relasi Entiti Multipicity
Jabatan 1..1 Mempunyai Pegawai 1..*
Pelanggan 1..1 Memiliki BP 1..* BP 1..* Memiliki Barang 1..* PO 1..* Memiliki Barang 1..* PO 1..1 Memiliki SJ 1..1 BP 1..1 Menghasilkan PO 1..* BSTPJ 1..* Menambah Barang 1..* Penagihan 1..1 BerdasarkanPada SJ 1..* BPBJ 1..* Mengurangi Barang 1..* SJ 1..* Memiliki Barang 1..* RKD 1..1 Memiliki PO 1..* RKD 1..1 Menghasilkan BPBJ 1..1 Kendaraan 1..1 Digunakan RKD 1..* Perusahaan 1..1 Memiliki Pegawai 1..* Perusahaan 1..1 Memiliki Cabang 1..*
Cabang 1..1 Memiliki Pegawai 1..*
Cabang 1..1 Memiliki Barang 1..*
Perusahaan 1..1 Memilki Barang 1..* Tabel 3.2 Identifikasi Tipe Relasi
3.2.1.3 Identifikasi Atribut dan Tipe Entitas, Domain Atribut, Primary Key dan Candidate Key
1. Nama Entiti : Pegawai
Atribut Panjang Jenis Null MultiValue Derived
KodePegawai NamaPegawai AlamatPegawai Kota Kecamatan Kelurahan TglLahir JenisKelamin TglMasukKerja NoTelepon NoHp StatusPegawai 10 50 100 30 30 30 8 1 8 12 12 1 Char VarChar VarChar VarChar VarChar VarChar DateTime Char DateTime VarChar VarChar Boolean No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No 2. Nama Entiti : Pelanggan
Atribut Panjang Jenis Null MultiValue Derived
KodePelanggan NamaPelanggan AlamatPengiriman KotaKirim KecamatanKirim KelurahanKirim AlamatTagih KotaTagih KecamatanTagih KelurahanTagih NoTelepon 10 50 100 30 30 30 100 30 30 30 12 Char VarChar VarChar VarChar VarChar VarChar VarChar VarChar VarChar VarChar VarChar No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
NoFax StatusPelanggan 12 1 VarChar Boolean Yes No No No No No
3. Nama Entiti : Jabatan
Atribut Panjang Jenis Null MultiValue Derived
KodeJabatan NamaJabatan 6 30 Char VarChar No No No No No No 4. Nama Entiti : BP
Atribut Panjang Jenis Null MultiValue Derived
KodeBP Tanggal JenisPembayaran JmlPinjamGalon HargaPinjamGalon HariKirim StatusBP 10 8 1 - - 6 1 Char DateTime Char Integer Money VarChar Boolean No No No No No No No No No No No No Yes No No No No No No No No 5. Nama Entiti : PO
Atribut Panjang Jenis Null MultiValue Derived
KodePO Tanggal NamaBarang Qty 10 8 30 - Char DateTime VarChar Integer No No No No No No No No No No No No 6. Nama Entiti : BSTPJ
Atribut Panjang Jenis Null MultiValue Derived
KodeBSTPJ Tanggal NamaBarang 10 8 30 Char DateTime VarChar No No No No No No No No No
Qty - Integer No No No
7. Nama Entiti : BPBJ
Atribut Panjang Jenis Null MultiValue Derived
KodeBPBJ Tanggal NamaBarang Qty 10 8 30 - Char DateTime VarChar Integer No No No No No No No No No No No No
8. Nama Entiti : Barang
Atribut Panjang Jenis Null MultiValue Derived
KodeBarang NamaBarang Satuan Stok 6 30 30 - Char VarChar VarChar Integer No No No No No No No No No No No No 9. Nama Entiti : RKD
Atribut Panjang Jenis Null MultiValue Derived
KodeRKD Tanggal Keterangan 10 8 100 Char DateTime VarChar No No Yes No No No No No No
10. Nama Entiti : Kendaraan
Atribut Panjang Jenis Null MultiValue Derived
NoPolisi MerekMobil Tipe Tahun KapasitasStd StatusKendaraan 8 30 30 4 - 1 VarChar VarChar VarChar Integer Integer Boolean No No No No No No No No No No No No No No No No No No
11. Nama Entiti : SJ
Atribut Panjang Jenis Null MultiValue Derived
KodeSJ Tanggal NamaBarang Qty HargaSatuan Total 10 8 30 - - - Char DateTime VarChar Integer Integer Double No No No No No No No No No No No No No No No No No No
12. Nama Entiti : Penagihan
Atribut Panjang Jenis Null MultiValue Derived
KodePenagihan TglPenagihan TglJatuhTempo TglPembayaran Jumlah Disc Ppn TotalPenagihan StatusTagih 10 8 8 8 - - - - 1 Char DateTime DateTime DateTime Money Float Float Money Boolean No No No No No No No No No No No No No No No No No No No No No No Yes No No Yes No
13. Nama Entiti : Cabang
Atribut Panjang Jenis Null MultiValue Derived
KodeCabang Alamat Telepon Fax 6 100 12 12 Char VarChar VarChar VarChar No No No No No No No No No No No No
14. Nama Entiti : Perusahaan
Atribut Panjang Jenis Null MultiValue Derived
NamaPerusahaan Alamat Telepon Fax 50 100 10 10 VarChar VarChar VarChar VarChar No No No No No No No No No No No No Tabel 3.3 Menentukan Atribut dan Tipe Entitas
Menentukan Domain Atribut
NamaAtribut Domain Atribut
KodePegawai Terdiri dari 10 karakter dengan tipe Char, dengan cara penulisan :
• 3 karakter pertama diisi dengan kode PGW
• 2 karakter selanjutnya menunjukkan tahun masuk pegawai dengan range (00..99)
• 2 karakter selanjutnya menunjukkan bulan masuk pegawai dengan range (01..12)
• 3 karakter terakhir menunjukan urutan masuk pegawai pada tahun dan bulan yang sama dengan range (001..999)
Contoh KodePegawai :
PGW0801001, artinya pegawai masuk pada tahun 2008 bulan Januari dan merupakan orang pertama yang masuk pada tahun dan bulan tersebut.
JenisKelamin Terdiri dari 1 karakter dengan tipe Char, yang berisi nilai ‘L’ untuk laki-laki atau ‘P’ untuk perempuan.
KodePelanggan Terdiri dari 10 karakter dengan tipe Char, dengan cara penulisan :
• 3 karakter pertama diisi dengan kode PLG
pegawai dengan range (00..99)
• 2 karakter selanjutnya menunjukkan bulan masuk pegawai dengan range (01..12)
• 3 karakter terakhir menunjukan urutan masuk pegawai pada tahun dan bulan yang sama dengan range (001..999)
Contoh KodePegawai :
PLG0801001, artinya pelanggan tersebut menjadi pelanggan tetap pada tahun 2008 bulan Januari dan merupakan orang pertama yang masuk pada tahun dan bulan tersebut.
KodeBP Terdiri dari 10 karakter dengan tipe Char, dengan cara penulisan :
• 2 karakter pertama menunjukkan jenis transaksi yaitu Pendaftaran dengan kode BP
• 2 karakter selanjutnya menunjukkan tahun dibuatnya KodeBP dengan range (00.99)
• 2 karakter selanjutnya menunjukkan bulan dibuatnya KodeBP dengan range (01..12)
• karakter terakhir menunjukkan urutan nomor KodeBP yang dibuat pada tahun dan bulan yang sama dengan range (0001..9999)
Contoh KodeBP :
BP08010001, artinya BP ini dibuat pada tahun 2008 bulan Januari dengan urutan pembuatan pertama pada tahun dan bulan tersebut.
JenisPembayaran Terdiri dari 1 karakter dengan tipe Char, yang berisi nilai ‘K’ untuk kredit atau ‘L’ untuk lunas.
KodePO Terdiri dari 10 karakter dengan tipe Char, dengan cara penulisan:
• 2 karakter pertama menunjukan jenis transaksi, yaitu penjualan dengan KodePO
• 2 karakter selanjutnya menunjukkan tahun dibuatnya KodePO dengan range (00.99)
• 2 karakter selanjutnya menunjukkan bulan dibuatnya KodePO dengan range (01..12)
• karakter terakhir menunjukkan urutan nomor KodePO yang dibuat pada tahun dan bulan yang sama dengan range (0001..9999)
Contoh KodePO :
PO08010001, artinya PO ini dibuat pada tahun 2008 bulan Januari dengan urutan pembuatan ke – 1 pada tahun dan bulan tersebut.
KodeBarang Terdiri dari 6 karakter dengan tipe Char, dengan cara penulisan :
• 3 karakter pertama diisi dengan kode BRG
• 3 karakter terakhir menunjukkan urutan nomor KodeBarang dengan range (001..999)
Contoh KodeBarang : BRG001
KodeRKD
KodeRKD
Terdiri dari 10 karakter dengan tipe Char, dengan cara penulisan :
• 2 karakter pertama menunjukkan jenis transaksi, yaitu RKD dengan kode RD
• 2 karakter selanjutnya menunjukkan tahun dibuatnya KodeRKD dengan range (00..99)
• 2 karakter selanjutnya menunjukkan bulan dibuatnya KodeRKD dengan range (01..12)
• karakter terakhir menunjukkan urutan nomor KodeRKD yang dibuat pada tahun dan bulan yang
sama dengan range (0001..9999) Contoh KodeRKD :
RD08010001, artinya RKD ini dibuat pada tahun 2008 bulan Januari dengan urutan pembuatan ke – 1 pada tahun dan bulan tersebut.
KodeSJ Terdiri dari 10 karakter dengan tipe Char, dengan cara penulisan :
• 2 karakter pertama menunjukkan jenis transaksi yaitu SuratJalan, dengan kode SJ
• 2 karakter selanjutnya menunjukkan tahun dibuatnya KodeSJ dengan range (00..99)
• 2 karakter selanjutnya menunjukkan bulan dibuatnya KodeSJ dengan range (01..12)
• karakter terakhir menunjukkan urutan kodeSJ yang dibuat pada tahun dan bulan yang sama dengan range (0001..9999)
Contoh KodeSJ :
SJ08010001, artinya SJ ini dibuat pada tahun 2008 bulan Januari dengan urutan pembuatan ke – 1 pada tahun dan bulan tersebut.
KodePenagihan
KodePenagihan
Terdiri dari 10 karakter dengan tipe Char, dengan cara penulisan:
• 2 karakter pertama menunjukkan jenis transaksi yaitu penagihan, dengan kode PH
• 2 karakter selanjutnya menunjukkan tahun dibuatnya KodePenagihan dengan range (00..99)
• 2 karakter selanjutnya menunjukkan tahun dibuatnya KodePenagihan dengan range (01..12)
• karakter terakhir menunjukkan urutan KodePenagihan yang dibuat pada tahun dan bulan
yang sama dengan range (0001..9999) Contoh KodePenagihan :
PH08010001, artinya penagihan ini dibuat pada tahun 2008 bulan Januari dengan urutan pembuatan ke – 1 pada tahun dan bulan tersebut
KodeBSTPJ Terdiri dari 10 karakter dengan tipe Char, dengan cara penulisan :
• 2 karakter pertama menunjukkan jenis transaksi yaitu Penerimaan barang, dengan kode TB
• 2 karakter selanjutnya menunjukkan tahun dibuatnya KodeBSTPJ dengan range (00..99)
• 2 karakter selanjutnya menunjukkan bulan dibuatnya KodeBSTPJ dengan range (01..12)
• karakter terakhir menunjukkan urutan KodeBSTPJ yang dibuat pada tahun dan bulan yang sama dengan range (0001..9999)
Contoh KodeBSTPJ
TB08010001, artinya BSTPJ ini dibuat pada tahun 2008 bulan Januari dengan urutan pembuatan ke – 1 pada tahun dan bulan tersebut
KodeBPBJ
KodeBPBJ
Terdiri dari 10 karakter dengan tipe Char, dengan cara penulisan :
• 2 karakter pertama menunjukkan jenis transaksi yaitu Pengeluaran Barang, dengan kode PB
• 2 karakter selanjutnya menunjukkan tahun dibuatnya KodeBPBJ dengan range (00..99)
• 2 karakter selanjutnya menunjukkan bulan dibuatnya KodeBPBJ dengan range (01..12)
• karakter terakhir menunjukkan urutan KodeBPBJ yang dibuat pada tahun dan bulan yang sama dengan
range (0001..9999) Contoh KodeBPBJ :
PB08010001, artinya BPBJ ini dibuat pada tahun 2008 bulan Januari dengan urutan pembuatan ke – 1 pada tahun dan bulan tersebut
StatusTagih Terdiri dari 1 karakter dengan tipe Boolean, yang berisi nilai true (1) untuk ‘lunas’ atau false (0) untuk ‘belumLunas’. StatusPegawai Terdiri dari 1 karakter dengan tipe Boolean, yang berisi nilai
true (1) untuk ‘Aktif’ atau false (0) untuk ‘tidakAktif’.
StatusPelanggan Terdiri dari 1 karakter dengan tipe Boolean, yang berisi nilai true (1) untuk ‘Aktif’ atau false (0) untuk ‘tidakAktif’.
StatusKendaraan Terdiri dari 1 karakter dengan tipe Boolean, yang berisi nilai true (1) untuk ‘Tersedia’ atau false (0) untuk ‘tidakTersedia’. KodeJabatan Terdiri dari 6 karakter dengan tipe Char, dengan cara
penulisan :
• 3 karakter pertama diisi dengan kode JBT
• 3 karakter terakhir menunjukkan urutan nomor KodeJabatan dengan range(001..999)
Contoh KodeJabatan : JBT001
KodeCabang Terdiri dari 6 karakter dengan tipe Char, dengan cara penulisan:
3 karakter pertama diisi dengan kode CBG
3 karakter selanjutnya menunjukkan urutan nomor KodeCabang dengan range (001..999)
Contoh KodeCabang: CBG001
Menentukan Atribut Candidate dan Primary Key
Entiti Candidate Key Primary Key
Pegawai KodePegawai NoHP KodePegawai Pelanggan KodePelanggan NoTelepon NoHP KodePelanggan Jabatan KodeJabatan NamaJabatan KodeJabatan Barang KodeBarang NamaBarang KodeBarang BSTPJ KodeBSTPJ KodeBSTPJ BPBJ KodeBPBJ KodeBPBJ BP KodeBP KodeBP PO KodePO KodePO RKD KodeRKD KodeRKD
Kendaraan NoPolisi NoPolisi
SJ KodeSJ KodeSJ
Penagihan KodePenagihan KodePenagihan
Perusahaan NamaPerusahaan NamaPerusahaan
Cabang KodeCabang KodeCabang
3.2.1.4 Mempertimbangkan untuk Penggunaan Konsep Pemodelan Enhanced
Berdasarkan model ERD yang telah dihasilkan, maka penulis mempertimbangkan bahwa tidak perlu menggunakan EERD.
3.2.1.5 Mengecek Redundansi pada Model
Berdasarkan model yang telah dihasilkan, tidak terdapat model yang redundansi.
3.2.1.6 Memvalidasi Model Konseptual Lokal dengan Transaksi Pengguna
Data Query
a) Tampilkan detail pegawai berdasarkan kode jabatan b) Tampilkan detail pelanggan berdasarkan hari pengiriman c) Tampilkan detail barang beserta harga untuk pelanggan tertentu d) Tampilkan nama pelanggan dan detail dari penagihan yang belum
dibayar pada bulan dan tahun tertentu e) Tampilkan detail persediaan barang
f) Tampilkan detail PO beserta detail Barang yang dipesan berdasarkan kode RKD tertentu
g) Tampilkan detail SJ berdasarkan bulan dan kodePelanggan tertentu dari PO
h) Tampilkan detail SJ berdasarkan kode penagihan tertentu i) Tampilkan detail barang berdasarkan kode BPBJ tertentu j) Tampilkan detail barang berdasarkan kode BSTPJ tertentu k) Tampilkan detail barang berdasarkan kode PO tertentu
l) Tampilkan detail kendaraan yang diurut berdasarkan kapasitas standart terbesar
Gambar 3.10 Menggunakan Pathway untuk Memeriksa Bahwa Model Konseptual Mendukung Transaksi Query Data
3.2.2 Perancangan Basis Data Logikal
Perancangan basis data logikal merupakan suatu proses pembuatan model dengan menggunakan informasi yang diperoleh dari perusahaan serta berdasarkan pada model data spesifik.
3.2.2.1 Menghilangkan Fitur – Fitur yang Tidak Sesuai dengan Model Relasional
3.2.2.1.1 Menghilangkan many to many relationship • Relasi M emiliki (BP - Barang)
Gambar 3.11 Relasi many to many BP-Barang
Gambar 3.12 Dekomposisi Relasi many to many BP-Barang
Dilakukan identifikasi entiti baru BPDetail sehingga relasi memili diganti dengan dua relasi one-to-many (1:*). Relasi many-to-many (*:*) memiliki direpresentasikan sebagai BP memiliki BPDetail dan Barang M empunyai BPDetail.
• Relasi M enambah (BSTPJ-Barang)
Gambar 3.13 Relasi many-to-many BS TPJ-Barang
Gambar 3.14 Dekomposisi Relasi many-to-many BS TPJ-Barang Dilakukan identifikasi entity baru BSTPJDetail sehingga relasi M enambah diganti dengan dua relasi one-to-many (1:*). Relasi many-to-many (*:*) M enambah direpresentasikan sebagai BSTPJ M emiliki BSTPJDetail dan Barang M empunyai BSTPJDetail. • Relasi M emiliki (PO-Barang)
Gambar 3.16 Dekomposisi Relasi many-to-many PO-Barang Dilakukan identifikasi entiti baru PODetail sehingga relasi M emiliki diganti dengan dua relasi one-to-many (1:*). Relasi many-to-many (*:*) M emiliki direpresentasikan sebagai PO M emiliki PODetail dan Barang M empunyai PODetail.
• Relasi M engurangi (BPBJ-Barang)
Gambar 3.17 Relasi many-to-many BPBJ-Barang
Gambar 3.18 Dekomposisi Relasi many-to-many BPBJ-Barang Dilakukan identifikasi entity baru BPBJDetail sehingga relasi M engurangi diganti dengan dua relasi one-to-many (1:*). Relasi many-to-many (*:*) M engurangi direpresentasikan sebagai BPBJ M emiliki BPBJDetail dan Barang M empunyai BPBJDetail.
• Relasi M emiliki (SJ-Barang)
Gambar 3.19 Relasi many-to-many S J-Barang
Gambar 3.20 Dekomposisi Relasi many-to-many S J-Barang Dilakukan identifikasi entity baru SJDetail sehingga relasi M emiliki diganti dengan dua relasi one-to-many (1:*). Relasi many-to-many (*:*) M emiliki direpresentasikan sebagai SJ M emiliki SJDetail dan Barang M empunyai SJDetail.
3.2.2.1.2 Menghilangkan atribut Multi-Valued • Pada entiti BP
Gambar 3.21 Entiti BP dengan multi-valued
Gambar 3.22 Dekomposisi Atribut HariKirim Menjadi Entiti JadwalKirim
3.2.2.2 Menurunkan Relasi untuk Model Data Logikal 1. Strong entity types
Jabatan (KodeJabatan, NamaJabatan)
Primary Key KodeJabatan
Barang (KodeBarang, NamaBarang, Satuan, Stok)
Primary Key KodeBarang
Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon, NoHP, StatusPegawai)
Primary Key KodePegawai
Pelanggan (KodePelanggan, NamaPelanggan, Alamat Pengiriman, KotaKirim, KecamatanKirim, KelurahanKirim, AlamatPenagihan, KotaTagih, KecamatanTagih, KelurahanTagih,NoTelepon, StatusPelanggan)
Primary Key KodePelanggan
Kendaraan (NoPolisi, MerekMobil, Tipe, Tahun, KapasitasStd, StatusKendaraan)
Primary Key NoPolisi
BP (KodeBP, tgl, JenisPembayaran, JmlPinjamanGalon, HargaPinjamanGalon, StatusBP)
Primary Key KodeBP
RKD (KodeRKD, tgl, keterangan)
Primary Key KodeRKD
PO (KodePO,tgl)
Primary Key KodePO
Penagihan (KodePenagihan, TglPenagihan, TglPembayaran, disc, ppn, StatusTagih)
Primary Key KodePenagihan
Derived Jumlah (Σ(SJ.totalDijual)),
Derived tglJatuhTempo(dateadd(day,10,tglPenagihan)),
Derived totalPenagihan ((jumlah – (jumlah * disc)) + (jumlah –
(jumlah * disc)) * ppn) SJ (KodeSJ, tgl)
Primary Key KodeSJ
BPBJ (KodeBPBJ, tgl)
Primary Key KodeBPBJ
BSTPJ (KodeBSTPJ, tgl)
Primary Key KodeBSTPJ
Cabang (KodeCabang, AlamatCabang, Telepon)
Primary Key KodeCabang
Perusahaan (NamaPerusahaan, Alamat, Telepon, Fax)
Primary Key NamaPerusahaan
Tabel 3.6 Strong Entity Types
2. Weak Entity Types
BPDetail (HargaBarang, JmlDefaultKirim)
Primary Key belum ada (saat ini)
BSTPJDetail (QtyMasuk)
BPBJDetail (QtyDiberikan, QtySisaBarang, Keterangan)
Primary Key belum ada (saat ini)
SJDetail (QtyDijual, Keterangan)
Primary Key belum ada (saat ini)
Derived JumlahDijual (QtyDijual*PODetail.HargaBarang)
PODetail (qtyDiminta)
Primary Key belum ada (saat ini)
Tabel 3.7 Weak Entity Types
3. One-to-many (1:*) binary relationship types Perusahaan Memiliki Cabang
Perusahaan (NamaPerusahaan, Alamat, Telepon, Fax)
Primary Key NamaPerusahaan
Cabang ( KodeCabang,
AlamatCabang, Telepon, NamaPerusahaan)
Primary Key KodeCabang
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan) Perusahaan Memiliki Pegawai
Cabang Memiliki Pegawai Jabatan Memiliki Pegawai
Perusahaan (NamaPerusahaan, Alamat, Telepon, Fax)
Primary Key NamaPerusahaan
Cabang ( KodeCabang, AlamatCabang, Telepon, NamaPerusahaan)
Primary Key KodeCabang
Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, , Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon,
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan) Jabatan (KodeJabatan, NamaJabatan)
Primary Key KodeJabatan
NoHP, StatusPegawai, NamaPerusahaan,
KodeCabang, KodeJabatan)
Primary Key KodePegawai
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan )
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key KodeJabatan references
Jabatan(KodeJabatan) Kendaraan Digunakan RKD
Pegawai Menangangi RKD Pegawai Menangangi RKD
Kendaraan (NoPolisi, MerekMobil, Tipe, Tahun, KapasitasStd,
StatusKendaraan)
Primary Key NoPolisi
Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon, NoHP, StatusPegawai, NamaPerusahaan, KodeCabang, KodeJabatan)
Primary Key KodePegawai
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan)
Foreign Key KodeCabang references
Cabang(KodeCabang)
RKD (KodeRKD, tgl, keterangan, NoPolisi, KodePegawai, KodeDriver)
Primary Key KodeRKD
Foreign Key NoPolisi references
Kendaraan(NoPolisi)
Foreign Key KodePegawai references
Pegawai(KodePegawai)
Foreign Key KodeDriver references
Foreign Key KodeJabatan references
Jabatan(KodeJabatan) Pegawai Menangani Penagihan
Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon, NoHP, StatusPegawai, NamaPerusahaan, KodeCabang, KodeJabatan)
Primary Key KodePegawai
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan)
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key KodeJabatan references
Jabatan(KodeJabatan) Penagihan (KodePenagihan, TglPenagihan, TglPembayaran, disc, ppn, StatusTagih, KodePegawai, KodeDriver)
Primary Key KodePenagihan
Derived Jumlah (Σ(SJ.totalDijual)), Derived tglJatuhTempo (dateadd
(day,10,tglPenagihan)),
Derived totalPenagihan ((jumlah –
(jumlah * disc)) + (jumlah – (jumlah * disc)) * ppn)
Foreign Key KodePegawai references
Pegawai(KodePegawai)
Foreign Key KodeDriver references
Pegawai(KodePegawai) Pegawai Menangani BPBJ
Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon, NoHP, StatusPegawai, NamaPerusahaan, KodeCabang, KodeJabatan)
Primary Key KodePegawai
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan)
BPBJ (KodeBPBJ, tgl, KodePegawai)
Primary Key KodeBPBJ
Foreign Key KodePegawai references
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key KodeJabatan references
Jabatan(KodeJabatan) Pegawai Menangani BP
Pelanggan Memiliki BP
Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon, NoHP, StatusPegawai, NamaPerusahaan, KodeCabang, KodeJabatan)
Primary Key KodePegawai
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan)
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key KodeJabatan references
Jabatan(KodeJabatan)
Pelanggan (KodePelanggan, NamaPelanggan, Alamat Pengiriman, KotaKirim, KecamatanKirim, KelurahanKirim, AlamatPenagihan, KotaTagih, KecamatanTagih, KelurahanTagih, NoTelepon, StatusPelanggan)
Primary Key KodePelanggan
BP (KodeBP, tgl, JenisPembayaran, JmlPinjamanGalon, HargaPinjamanGalon, StatusBP, KodePegawai, KodePelanggan)
Primary Key KodeBP
Foreign Key KodePegawai references
Pegawai(KodePegawai)
Foreign Key KodePelanggan references
Pelanggan(KodePelanggan)
BP (KodeBP, tgl, JenisPembayaran, JmlPinjamanGalon,
HargaPinjamanGalon, StatusBP, KodePegawai, KodePelanggan)
Primary Key KodeBP
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodePelanggan references
Pelanggan (KodePelanggan)
JadwalKirim (HariKirim, KodeBP)
Primary Key HariKirim,KodeBP ForeignKey KodeBP references
BP(KodeBP)
Pegawai Menangani PO RKD Memiliki PO BP Memiliki PO
Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon, NoHP, StatusPegawai, NamaPerusahaan, KodeCabang, KodeJabatan)
Primary Key KodePegawai
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan)
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key KodeJabatan references
Jabatan(KodeJabatan) RKD (KodeRKD, tgl, keterangan, NoPolisi, KodePegawai, KodeDriver) PO (KodePO,tgl, KodePegawai, KodeRKD, KodeBP)
Primary Key KodePO
Foreign Key KodePegawai references
Pegawai(KodePegawai)
Foreign Key KodeRKD references
RKD(KodeRKD)
Foreign Key KodeBP references
Primary Key KodeRKD
Foreign Key NoPolisi references
Kendaraan(NoPolisi)
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodeDriver references
Pegawai(KodePegawai) BP (KodeBP, tgl, JenisPembayaran, JmlPinjamanGalon, HargaPinjamanGalon, StatusBP, KodePegawai, KodePelanggan)
Primary Key KodeBP
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodePelanggan references
Pelanggan (KodePelanggan) Pegawai Menangani BSTPJ
Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon, NoHP, StatusPegawai, NamaPerusahaan, KodeCabang, KodeJabatan)
Primary Key KodePegawai
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan)
Foreign Key KodeCabang references
Cabang(KodeCabang)
BSTPJ (KodeBSTPJ, tgl, KodePegawai)
Primary Key KodeBSTPJ
Foreign Key KodePegawai references
Foreign Key KodeJabatan references
Jabatan(KodeJabatan) Pegawai Menangani SJ
Penagihan Berdasarkan SJ
Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon, NoHP, StatusPegawai, NamaPerusahaan, KodeCabang, KodeJabatan)
Primary Key KodePegawai
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan)
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key KodeJabatan references
Jabatan(KodeJabatan) Penagihan (KodePenagihan,
TglPenagihan, TglPembayaran, disc, ppn, StatusTagih,
KodePegawai)
Primary Key KodePenagihan
Derived Jumlah (Σ(SJ.totalDijual)), Derived tglJatuhTempo (dateadd
(day,10,tglPenagihan)),
Derived totalPenagihan ((jumlah –
(jumlah * disc)) + (jumlah – (jumlah * disc)) * ppn)
Foreign Key KodePegawai references
SJ (KodeSJ, tgl, KodePegawai, KodePenagihan)
Primary Key KodeSJ
Foreign Key KodePegawai references
Pegawai(KodePegawai)
Foreign Key KodePenagihan references
Pegawai (KodePegawai) Cabang Memiliki Barang
Perusahaan Memiliki Barang
Perusahaan (NamaPerusahaan, Alamat, Telepon, Fax)
Primary Key NamaPerusahaan
Cabang ( KodeCabang, AlamatCabang, Telepon, NamaPerusahaan)
Primary Key KodeCabang
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaan)
Barang (KodeBarang, NamaBarang, Satuan, Stok, KodeCabang, NamaPerusahaan )
Primary Key KodeBarang
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusahaa n)
BP Memiliki BPDetail
Barang Mempunyai BPDetail
BP (KodeBP, tgl, JenisPembayaran, JmlPinjamanGalon,
HargaPinjamanGalon, StatusBP, KodePegawai, KodePelanggan)
Primary Key KodeBP
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodePelanggan references
Pelanggan (KodePelanggan) Barang (KodeBarang, NamaBarang, Satuan, Stok, KodeCabang, NamaPerusahaan )
Primary Key KodeBarang
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key NamaPerusahaan references
BPDetail (KodeBP, KodeBarang, HargaBarang,
JmlDefaultKirim)
Primary Key KodeBP, KodeBarang Foreign Key KodeBP references
BP(KodeBP)
Foreign Key KodeBarang references
Perusahaan (NamaPerusahaan) BSTPJ Memiliki BSTPJDetail
Barang Mempunyai BSTPJDetail BSTPJ (KodeBSTPJ, tgl,
KodePegawai)
Primary Key KodeBSTPJ
Foreign Key KodePegawai references
Pegawai (KodePegawai) Barang (KodeBarang, NamaBarang,
Satuan, Stok, KodeCabang, NamaPerusahaan )
Primary Key KodeBarang
Foreign Key KodeCabang references Cabang
(KodeCabang)
Foreign Key NamaPerusahaan references
Perusahaan (NamaPerusahaan)
BSTPJDetail (KodeBSTPJ, KodeBarang, QtyMasuk)
Primary Key KodeBSTPJ, KodeBarang Foreign Key KodeBSTPJ references
BSTPJ(KodeBSTPJ)
Foreign Key KodeBarang references
Barang(KodeBarang)
PO Memiliki PODetail
Barang Mempunyai PODetail
PO (KodePO,tgl, KodePegawai, KodeRKD, KodeBP)
Primary Key KodePO
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodeRKD references
RKD(KodeRKD)
Foreign Key KodeBP references
BP(KodeBP)
Barang (KodeBarang, NamaBarang, Satuan, Stok, KodeCabang, NamaPerusahaan )
PODetail (KodePO, KodeBarang, qtyDiminta)
Primary Key KodePO, KodeBarang Foreign Key KodePO references
PO(KodePO)
Foreign Key KodeBarang references
Primary Key KodeBarang
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key NamaPerusahaan references
Perusahaan (NamaPerusahaan) BPBJ Memiliki BPBJDetail
Barang Mempunyai BPBJDetail
BPBJ (KodeBPBJ, tgl, KodePegawai)
Primary Key KodeBPBJ
Foreign Key KodePegawai references
Pegawai (KodePegawai) Barang (KodeBarang, NamaBarang,
Satuan, Stok, KodeCabang, NamaPerusahaan )
Primary Key KodeBarang
Foreign Key KodeCabang references Cabang
(KodeCabang)
Foreign Key NamaPerusahaan references
Perusahaan (NamaPerusahaan)
BPBJDetail (KodeBPBJ, KodeBarang, QtyDiberikan,
QtySisaBarang, Keterangan)
Primary Key KodeBPBJ, KodeBarang Foreign Key KodeBPBJ references
BPBJ(KodeBPBJ)
Foreign Key KodeBarang references
Barang(KodeBarang)
SJ Memiliki SJDetail
Barang Mempunyai SJDetail
SJ (KodeSJ, tgl, KodePegawai, KodePenagihan)
Primary Key KodeSJ
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodePenagihan references
Penagihan (KodePenagihan) Barang (KodeBarang, NamaBarang, Satuan, Stok, KodeCabang,
SJDetail (KodeSJ, KodeBarang, QtyDijual, Keterangan)
Primary Key KodeSJ, KodeBarang Foreign Key KodeSJ references
SJ(KodeSJ)
Foreign Key KodeBarang references
Barang(KodeBarang)
NamaPerusahaan )
Primary Key KodeBarang
Foreign Key KodeCabang references Cabang
(KodeCabang)
Foreign Key NamaPerusahaan references
Perusahaan (NamaPerusahaan)
(QtyDijual*PODetail.Harga Barang)
Tabel 3.8 One-to-many (1:*) binary relationship types
4. One-to-one (1:1) binary relationship types
RKD Menghasilkan BPBJ
RKD (KodeRKD, tgl, keterangan, NoPolisi, KodePegawai, KodeDriver)
Primary Key KodeRKD
Foreign Key NoPolisi references
Kendaraan(NoPolisi)
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodeDriver references
Pegawai(KodePegawai)
BPBJ (KodeBPBJ, tgl,
KodePegawai, KodeRKD)
Primary Key KodeBPBJ
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodeRKD references RKD
(KodeRKD)
PO Memiliki SJ
PO (KodePO,tgl, KodePegawai, KodeRKD, KodeBP)
Primary Key KodePO
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodeRKD references
RKD(KodeRKD)
Foreign Key KodeBP references
BP(KodeBP)
SJ (KodeSJ, tgl, KodePegawai, KodePenagihan, KodePO)
Primary Key KodeSJ
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodePenagihan references
Penagihan
(KodePenagihan)
(KodePO) Tabel 3.9 One-to-one (1:1) binary relationship types
5. Dokumentasi relasi dan atribut Foreign Key
Perusahaan (NamaPerusahaan, Alamat, Telepon, Fax)
Primary Key NamaPerusahaan
Cabang ( KodeCabang,
AlamatCabang, Telepon, NamaPerusahaan)
Primary Key KodeCabang Foreign Key NamaPerusahaan
references Perusahaan (NamaPerusahaan) Pegawai (KodePegawai, NamaPegawai, AlamatPegawai, Kota, Kecamatan, Kelurahan, TglLahir, JenisKelamin, TglMasukKerja, NoTelepon, NoHP, StatusPegawai, NamaPerusahaan, KodeCabang, KodeJabatan)
Primary Key KodePegawai Foreign Key NamaPerusahaan
references Perusahaan
(NamaPerusahaan)
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key KodeJabatan references
Pelanggan (KodePelanggan, NamaPelanggan, Alamat Pengiriman, KotaKirim, KecamatanKirim, KelurahanKirim, AlamatPenagihan, KotaTagih, KecamatanTagih, KelurahanTagih, NoTelepon, StatusPelanggan)
Jabatan(KodeJabatan) Jabatan (KodeJabatan, NamaJabatan)
Primary Key KodeJabatan
Kendaraan (NoPolisi, MerekMobil, Tipe, Tahun, KapasitasStd, StatusKendaraan)
Primary Key NoPolisi
Penagihan (KodePenagihan, TglPenagihan, TglPembayaran, disc, ppn, StatusTagih, KodePegawai, KodeDriver)
Primary Key KodePenagihan
Derived Jumlah (Σ(SJ.totalDijual)), Derived tglJatuhTempo (dateadd
(day,10,tglPenagihan)),
Derived totalPenagihan ((jumlah –
(jumlah * disc)) + (jumlah –(jumlah * disc)) * ppn)
Foreign Key KodePegawai references
Pegawai(KodePegawai)
Foreign Key KodeDriver references
Pegawai(KodePegawai)
RKD (KodeRKD, tgl, keterangan, NoPolisi, KodePegawai,
KodeDriver)
Primary Key KodeRKD
Foreign Key NoPolisi references
Kendaraan(NoPolisi)
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodeDriver references
Pegawai(KodePegawai) BP (KodeBP, tgl, JenisPembayaran, JmlPinjamanGalon, HargaPinjamanGalon, StatusBP, KodePegawai, KodePelanggan)
Primary Key KodeBP
Foreign Key KodePegawai references
Pegawai (KodePegawai)
BPDetail (KodeBP, KodeBarang, HargaBarang,
JmlDefaultKirim)
Primary Key KodeBP, KodeBarang Foreign Key KodeBP references
BP(KodeBP)
Foreign Key KodeBarang references
Foreign Key KodePelanggan references
Pelanggan
(KodePelanggan)
JadwalKirim (HariKirim, KodeBP)
Primary Key HariKirim,KodeBP ForeignKey KodeBP references
BP(KodeBP)
Barang (KodeBarang,
NamaBarang, Satuan, Stok, KodeCabang, NamaPerusahaan )
Primary Key KodeBarang
Foreign Key KodeCabang references
Cabang(KodeCabang)
Foreign Key NamaPerusahaan references
Perusahaan(NamaPerusaha an)
BSTPJ (KodeBSTPJ, tgl, KodePegawai)
Primary Key KodeBSTPJ
Foreign Key KodePegawai references
Pegawai (KodePegawai)
BSTPJDetail (KodeBSTPJ,
KodeBarang, QtyMasuk)
Primary Key KodeBSTPJ, KodeBarang Foreign Key KodeBSTPJ references
BSTPJ(KodeBSTPJ)
Foreign Key KodeBarang references
Barang(KodeBarang) PO (KodePO,tgl,
KodePegawai, KodeRKD, KodeBP)
Primary Key KodePO
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodeRKD references
RKD(KodeRKD)
PODetail (KodePO, KodeBarang, qtyDiminta)
Primary Key KodePO, KodeBarang Foreign Key KodePO references
PO(KodePO)
Foreign Key KodeBarang references
Foreign Key KodeBP references
BP(KodeBP) BPBJ (KodeBPBJ, tgl,
KodePegawai, KodeRKD)
Primary Key KodeBPBJ
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodeRKD references RKD
(KodeRKD)
BPBJDetail (KodeBPBJ, KodeBarang, QtyDiberikan,
QtySisaBarang, Keterangan)
Primary Key KodeBPBJ, KodeBarang Foreign Key KodeBPBJ references
BPBJ(KodeBPBJ)
Foreign Key KodeBarang references
Barang(KodeBarang) SJ (KodeSJ, tgl, KodePegawai,
KodePenagihan, KodePO)
Primary Key KodeSJ
Foreign Key KodePegawai references
Pegawai (KodePegawai)
Foreign Key KodePenagihan references
Penagihan
(KodePenagihan)
Foreign Key KodePO references PO
(KodePO)
SJDetail (KodeSJ, KodeBarang, QtyDijual, Keterangan)
Primary Key KodeSJ, KodeBarang Foreign Key KodeSJ references
SJ(KodeSJ)
Foreign Key KodeBarang references
Barang(KodeBarang)
Derived JumlahDijual
(QtyDijual*PODetail.Harg aBarang)
Tabel 3.10 Dokumentasi Relasi dan Atribut Foreign Key 3.2.2.3 Validasi Relasi Dengan Normalisasi
1. Perusahaan
Relasi Perusahaan telah memenuhi syarat – syarat normalisasi karena tidak ada atribut bernilai jamak, tidak ada kebergantungan parsial, dan tidak ada kebergantungan transitif
2. Cabang
Relasi Cabang telah memenuhi syarat – syarat normalisasi karena tidak ada atribut bernilai jamak, tidak ada kebergantungan parsial, dan tidak ada kebergantungan transitif
3. Jabatan
Relasi Jabatan telah memenuhi syarat – syarat normalisasi karena tidak ada atribut bernilai jamak, tidak ada kebergantungan parsial, dan tidak ada kebergantungan transitif
4. Barang
Relasi Barang telah memenuhi syarat – syarat normalisasi karena tidak ada atribut bernilai jamak, tidak ada kebergantungan parsial, dan tidak ada kebergantungan transitif
5. Kota
Relasi Kota telah memenuhi syarat – syarat normalisasi karena tidak ada atribut bernilai jamak, tidak ada kebergantungan parsial, dan tidak ada kebergantungan transitif