BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis
3.1.1 Riwayat Perusahaan
Pada awal terbentuknya, PT. ABC Future Indonesia merupakan badan usaha
joint venture antara ABC Holdings dan Future Enterprise Singapore, kemudian
pada bulan M ay 2004 badan usaha tersebut berubah menjadi PT. ABC Future Indonesia. PT. ABC Future Indonesia terletak di M enara Imperium – Lantai 17, M etropolitan Kuningan Superblok Kav.1, Jl. Rasuna Said Jakarta 12980 Indonesia, dan gudang penyimpanan terdapat di daerah Priuk.
PT. ABC Future Indonesia merupakan perusahaan yang bergerak dalam bidang distribusi produk coffee mix 3in1 dengan merek Real Express, yang sekarang dikenal dengan REX coffee mix 3 in 1. PT. ABC Future Indonesia beroperasi di Indonesia sebagai prinsipal yang bertugas memasarkan produk REX Cofee M ix 3 in 1. Produk perusahaan diproduksi di Singapore oleh pihak Joint Venture, sehingga PT. ABC Future Indonesia tidak memiliki departemen produksi. Perusahaan berfungsi sebagai marketing company.
Pemasaran produknya menggunakan sistem distribusi tidak langsung artinya menggunakan jasa pihak lain dalam mendistribusikan produk perusahaan. Perusahaan menunjuk distributor tertentu sesuai kriteria yang diinginkan untuk menjual / mendistribusikan produknya di suatu wilayah yang telah ditentukan. Beberapa daerah distribusi produk perusahaan yaitu daerah Bandung, Palembang,
Bengkulu, Bogor, Sumatra Utara ( M edan dan sekitarnya ) dan Propinsi Riau ( Pekanbaru, Batam, dan Kepulauan Riau ).
Perusahaan juga memasarkan REX coffee mix 3in1 secara lebih meluas melalui event Pekan Raya Jakarta ( PRJ ), dan hasilnya melebihi perkiraan target. Setelah sukses melalui event PRJ, REX coffee mix 3 in 1 mulai di pasarkan di beberapa gerai modern outlet seperti di Carefour, Hypermart, M atahari, Tip Top, Diamond supermarket, serta Alfamart (mini market). Dan sampai sekarang ini, REX masih melakukan penetrasi produk ke berbagai area dan jalur distribusi yang sesuai dengan target pasarnya, menengah ke atas.
Visi perusahaan adalah menjadi salah satu perusahaan terkemuka yang menyediakan berbagai produk makanan atau minuman instant yang higienis dan berkualitas tinggi, khususnya untuk pasar di Indonesia.
M isi perusahaan adalah menjadi perusahaan yang berorientasi pasar dan memegang teguh komitmen untuk memuaskan konsumen, para pemegang saham serta karyawan perusahaan; mengelola perusahaan dengan bertanggung jawab serta memperhatikan etika berusaha yang sehat di lingkungan dimana perusahaan menjalankan usahanya.
BIS NIS
PT. ABC FUTURE INDONESIA memasarkan produk minuman serbuk
Instant Coffee mix 3in1 dalam kemasan satuan sachet yang dikemas kembali
dalam berbagai ukuran kemasan, 50 sachet (heavy users), 20 (economical pack) dan 5 sachet (trial pack). Perusahaan masih akan mengembangkan usahanya ke jenis produk lain, seperti tea mix, cereal drinks, chocolate drink, dll.
3.1.2 S tuktur Organisasi
Gambar 3.1 Struktur Organisasi
3.1.3 Pembagian Tugas dan Tanggung Jawab
1. Board of Directors
Tugas dan tanggung jawabnya adalah sebagai berikut :
• Memimpin perusahaan berdasarkan kebijaksanaan, memimpin dan mengkoordinasi semua kegiatan perusahaan.
• Bertanggung jawab terhadap seluruh sistem yang telah ditempuh, baik individu pelaksananya maupun proses berjalannya sistem itu sendiri. • Merencanakan, memonitor dan mengevaluasi aktivitas yang terjadi di
dalam perusahaan.
• Memeriksa dan menyetujui anggaran yang diperlukan untuk kemajuan perusahaan.
• Membuat keputusan–keputusan yang menyangkut kelancaran operasional perusahaan.
2. Operational Manager
M empunyai tugas untuk memantau kegiatan PT. ABC Future Indonesia secara keseluruhan. Operational M anager bertanggung jawab secara langsung kepada pihak direktur. Tugas Operational manager secara lebih rinci adalah sebagai berikut:
• Melaksanakan seluruh kegiatan operasional perusahaan sehari–hari agar perusahaan dapat berjalan lancar dan memenuhi target sesuai dengan kebijaksanaan yang telah ditetapkan.
• Memberikan laporan pertanggungjawaban atau sirkulasi keuangan perusahaan kepada direktur.
• Menetapkan kebijaksanaan–kebijaksanaan untuk meningkatkan hasil penjualan.
• Menyusun strategi penjualan yang efektif dan efisien untuk mencapai tujuan yang diinginkan serta penerapan harga untuk masing-masing produk.
• Menganalisa dan mengawasi kinerja Karyawan.
3. Accounting & Finance
Tugas dan tanggung jawabnya adalah sebagai berikut:
• Membuat Laporan Keuangan seperti Rugi/Laba dan Neraca. • Membuat Laporan Stock Opname (Persediaan).
• Mengecek hasil kerja Warehouse.
• Menerima Faktur Penjualan dan Laporan Penjualan dari Logistik • Membuat Laporan Penjualan Harian dan Bulanan
• Mengurus pembayaran tagihan kantor seperti listrik,telpon,dan keperluan lainnya.
• Bertanggung jawab kepada Operational Manager.
4. Warehouse
Tugas dan tanggung jawabnya adalah sebagai berikut: • Menerima barang dari Manufaktur.
• Mengeluarkan barang dari gudang.
• Mengisi Kartu Persediaan untuk penerimaan barang dari Manufaktur dan pengeluaran barang kepada distributor.
• Mengecek barang yang diterima dengan surat pesanan serta surat jalan dan invoice dari pusat.
• Bertanggung jawab kepada Accounting & Finance.
5. Purchasing / Logistic
Tugas dan tanggung jawabnya adalah sebagai berikut:
• Membuat surat pesanan barang yang diserahkan kepada Operational manager.
• Mengecek pengeluaran barang penjualan sebelum diserahkan ke distributor.
• Membuat Faktur Penjualan
• Mengurus pengambilan barang distributor.
6. S ales & Marketing
Tugas dan tanggung jawabnya adalah sebagai berikut :
• Mengurus sistem pemasaran produk perusahaan dengan mengadakan promosi pada saat event – event tertentu agar dapat meningkatkan penjualan perusahaan.
• Menentukan daerah / wilayah yang akan menjadi area distribusi produk. • Menunjuk distributor tertentu sesuai kriteria yang diinginkan untuk
menjual / mendistribusikan produk perusahaan di suatu wilayah yang telah ditentukan.
7. S taff Finance & Accounting
Tugas dan tanggung jawabnya adalah sebagai berikut: • Menyusun dan mengecek Faktur penjualan
• Mengelola seluruh data yang masuk ke perusahaan.
• Mengawasi dan memeriksa faktur-faktur yang telah jatuh tempo.
• Membuat dokumentasi yang rapi dan teratur dengan menyusun sistem pengarsipan yang baik atas bukti-bukti transaksi dan laporan-laporan tertulis mengenai jalannya pekerjaan.
• Bertanggung jawab terhadap laporan rugi laba. • Bertanggung jawab kepada Finance & Accounting.
8. S taff Logistic
Tugas dan tanggung jawabnya adalah sebagai berikut :
• Melayani pemesanan yang dilakukan oleh distributor.
• Mengatur dan bertanggung jawab dalam pengambilan barang distributor. • Bertanggung jawab kepada Bagian Logistic.
9. S taff Warehouse
Tugas dan tanggung jawabnya adalah sebagai berikut :
• Mencatat aktivitas barang yang keluar masuk di gudang persediaan. • Mempersiapkan barang yang dipesan oleh distributor sesuai dengan Surat
pengeluaran barang dari Operational M anager.
• Menghitung barang yang masuk maupun yang keluar secara fisik yang berada digudang persediaan.
• Membuat laporan persediaan barang secara fisik kepada Bagian Warehouse.
• Meng-update jumlah barang–barang yang tersedia di buku persediaan. • Bertanggung jawab kepada bagian Warehouse..
10. S taff Promotion
Tugas dan tanggung jawabnya adalah sebagai berikut :
• Mengkoordinasi kegiatan pemasaran dan pendistribusian barang. • Menentukan tempat promosi produk perusahaan.
• Mempersiapkan segala sesuatu yang berhubungan dengan promosi barang pada saat pemasaran produk di suatu event tertentu.
• Melakukan promosi produk yang dijual
• Mengatur acara yang dilakukan saat promosi pada suatu event tertentu • Mengatur semua dekorasi pada saat promosi produk.
• Bertanggung jawab pada Sales & Marketing
3.1.4 Sistem yang Sedang Berjalan
3.1.4.1 Proses Bisnis dan Diagram Aliran Dokumen 3.1.4.1.1 Proses Bisnis / Prosedur yang berjalan
1. Prosedur Sistem Pembelian
Proses pemesanan barang
a. Bagian logistik mengecek catatan jumlah persediaan barang, kemudian memutuskan apakah perlu membeli barang.
b. Jika sudah diputuskan akan membeli barang, Bagian Logistik akan membuat surat pembelian ( struk pembelian / SP ) tiga rangkap.
c. Surat pembelian tersebut harus mendapat persetujuan dari Operational Manager.
d. Setelah SP disetujui maka bagian logistik akan memesan barang ke M anufaktur dan konfirmasi kapan barang akan dikirim dengan menyerahkan rangkap pertama SP, rangkap ke 2 diserahkan ke bagian finance & accounting, dan rangkap ke 3 diserahkan ke bagian warehouse untuk penerimaan barang.
Proses penerimaan barang
a. M anufaktur akan mengirimkan barang yang telah dipesan oleh Perusahaan sesuai dengan waktu yang telah ditentukan.
b. Pada saat menerima barang dari M anufaktur, Bagian warehouse akan menerima faktur sebanyak dua rangkap. Bagian warehouse akan melakukan pengecekan SP dengan barang yang diterima.
c. Jika barang yang diterima sesuai dengan SP maka bagian warehouse akan menyerahkan rangkap faktur pertama ( asli ) dari manufaktur kepada Accounting, rangkap kedua disimpan untuk arsip.
d. Berdasarkan faktur tersebut Bagian warehouse akan mencatat pada Buku Persediaan Barang, Namun jika barang yang diterima tidak sesuai dengan SP maka akan dilakukan konfirmasi kepada pihak manufaktur.
Proses pembatalan pembelian
a. Jika Surat Pembelian dari bagian Logistik tidak disetujui, Operational
Manager melakukan pembatalan atas pembelian barang tersebut.
2. Prosedur Sistem Perhitungan Persediaan
a. Perhitungan fisik persediaan barang di gudang dilakukan setiap awal bulan.
b. barang harus dikelompokkan menurut jenis dan ukuran produk.
c. Bagian Accounting memperoleh data penjualan dari bagian logistik dan menyesuaikan dengan data persediaan dari pencatatan terakhir. Dari penyesuaian persediaan yang didapat, data disimpan sebagai data awal stock opname fisik.
d. Accounting memberikan perintah perhitungan persediaan atas persetujuan dari pihak manager
e. Bagian warehouse memperoleh data persediaan gudang mengenai mutasi barang selama satu bulan
f. Kemudian mengelompokkan barang sesuai dengan jenis dan ukuran barang
g. M elakukan perhitungan fisik persediaan barang di gudang
h. Selama perhitungan persediaan berlangsung tidak ada kegiatan penerimaan dan pengeluaran barang.
i. M encocokkan data persediaan gudang dengan hasil perhitungan fisik persediaan.
j. Jika hasil yang didapat sudah sama maka warehouse akan membuat berita acara stock opname dengan 2 rangkap. Rangkap pertama ( asli ) diserahkan ke bagian Accounting dan rangkap ke 2 disimpan warehouse untuk membuat penyesuaian kartu persediaan dan membuat laporan persediaan barang gudang.
k. Bagian Accounting mencocokkan berita stock opname dari warehouse dengan data awal stock opname fisik
l. Jika data yang didapat sudah sama maka Accounting membuat laporan persediaan untuk diserahkan kepada pihak manager.
3. Prosedur Sistem Penjualan ke distributor
Proses penerimaan order
a. Pihak logistik menerima order pembelian barang dari pihak distributor, kemudian bagian logistik membuat surat penjualan ( Struk Penjualan / SJ ) sebanyak 2 rangkap .
b. Surat Penjualan harus mendapat persetujuan dari Operational
Manager. Kemudian SJ rangkap ke 1 diserahkan ke warehouse untuk
proses pengeluaran barang dan rangkap ke 2 disimpan accounting sebagai arsip untuk proses penagihan / pembayaran piutang.
Proses pengeluaran dan pengambilan barang
a. Bagian warehouse mempersiapkan barang sesuai dengan SJ dan membuat surat pengeluaran barang ( 3 rangkap ), rangkap ke 1 diserahkan ke Operational Manager, rangkap ke 2 diserahkan ke bagian logistik bersama dengan barang yang telah disiapkan, dan rangkap ke 3 digabungkan dengan Surat penjualan dari logistik digunakan untuk menyesuaikan kartu persediaan.
b. Bagian logistik menerima surat pengeluaran barang beserta barang dari warehouse. Logistik mencocokan barang dari warehouse dengan DO dari pihak pembeli / distributor. Jika hasil pencocokan tidak sama maka bagian logistik akan konfirmasi ulang ke bagian warehouse. c. Bagian logistik memberi konfirmasi kepada pihak distributor bahwa
barang yang dipesan sudah disiapkan sehingga pihak distributor dapat mengambil barang yang diinginkan di gudang.
d. Jika Pihak distributor melakukan pengambilan barang, maka bagian logistik membuat surat pengambilan barang sebanyak dua rangkap. Rangkap pertama ( asli ) diserahkan untuk pihak distributor beserta barang yang diinginkan, rangkap ke 2 diserahkan ke bagian warehouse untuk referensi penyesuaian kartu persediaan.
Proses pembatalan penjualan
a. Jika Surat Penjualan dari bagian Logistik tidak disetujui, Operational
Manager melakukan pembatalan atas penjualan barang tersebut.
3.1.4.1.2 Diagram Aliran Dokumen 1. Sistem Pembelian
2. Sistem Perhitungan Persediaan
3. Sistem Penjualan
FLOW CHART SELLING GOODS
L OGIS TIC S DEP T. STA RT PENERIMAAN ORDER PENJUALAN PENGELUARAN BARANG WA REH OUSE DO dari di st ributor Bu at Su ra t Pen juala n 2 1 S urat Penjualan ( SJ ) 1 1 P ers iapk an Barang s esuai dengan SJ SJ 1 3 2 S urat Pengeluaran B arang Kartu Persediaan PEMBUATAN INVOI CE AC COU NTING
Pros es penagi han pem bay aran piutang
3 3 2 S urat Pengeluaran B arang Bersama dengan Barang y ang t elah
dis iapk an Membuat Surat P engambilan Barang 2 S urat Pengambilan B arang Ke pihak Pembeli / Dist ribut or 5 5 2 Surat Pengambilan Barang 2 Faktur Penjualan 4 Membuat S urat P engeluaran B arang Sama ? Mencocok an barang dari warehous e dengan DO dari pihak dis tribut or
K onf irm as i ul ang k e bagian warehous e y a tidak Approv al 7 PEMBATALAN PEMBELIAN Op era tion al M an ag er 7 Melakuk an Pembatalan Penjualan 4 Veri fik as i Konfirmasi ambil barang k epada dis tribut or Operational Manager PENGAMBILAN BARANG L OGISTIC S D EPT. Bersama dengan Barang 2 1 Surat Penjualan ( SJ ) tidak y a
3.1.4.2 Kebutuhan Informasi
Dalam prosedur pembelian dan penjualan di perusahaan, pihak manager membutuhkan beberapa informasi dalam mengelola PT. ABC Future Indonesia. Informasi yang dibutuhkan adalah laporan pembelian dan penjualan produk dari bagian purchasing / logistik dan diketahui oleh bagian finance & accounting. Untuk prosedur persediaan perusahaan, pihak manager mendapatkan informasi kartu persediaan dari bagian warehouse dan laporan persediaan dari bagian warehouse dan finance & accounting.
Bagian finance & accounting membutuhkan informasi penjualan dan pembelian dari bagian purchasing / logistik untuk menyusun laporan penjualan dan pembelian per periode waktu tertentu yang akan diserahkan kepada pihak manager. Selain itu bagian Finance & Accounting juga membutuhkan data persediaan barang dari bagian warehouse untuk melaporkan penyesuaian persediaan kepada pihak manager
Bagian warehouse membutuhkan informasi mengenai penerimaan dan pengeluaran barang yang disebabkan oleh transaksi pembelian dan penjualan. Informasi tersebut digunakan untuk mengupdate kartu persediaan
Bagian purchasing / logistik membutuhkan informasi mengenai data distributor dan manufaktur untuk melakukan transaksi pembelian dan penjualan barang, serta membutuhkan laporan persediaan, agar bagian purchasing / logistik mengetahui kapan seharusnya melakukan transaksi pembelian barang kepada pihak manufaktur. Dalam prosedur pengambilan
barang yang disebabkan karena penjualan kepada pihak distributor, bagian purchasing / logistik membutuhkan laporan pengeluaran barang dari bagian warehouse untuk mengurus pengambilan barang.
3.1.5 Permasalahan yang dihadapi
Berdasarkan hasil analisa yang dilakukan, ada beberapa masalah pada PT. ABC Future Indonesia :
1. Bagian logistik mengalami kesulitan untuk mengetahui persediaan barang di gudang penyimpanan dan Operational M anager kesuliatan untuk mengetahui kebenaran persediaan barang tersebut.
2. Kesulitan dalam membuat laporan setiap transaksi yang berjalan dalam perusahaan sehingga laporan setiap transaksi terlambat diterima Operational M anager.
3. Keamanan data yang kurang terjamin. Data yang disimpan hanya ada di dalam buku-buku yang kemungkinan besar dapat dilihat oleh setiap pegawai. Seluruh data dapat dilihat dan diambil sewaktu-waktu ataupun diubah dengan kesempatan yang sangat besar, sehingga integrasi dan keamanan data yang kurang terjamin
4. Kesulitan pengadaan informasi mengenai Pembelian, persediaan dan penjualan. Sistem yang berjalan pada perusahaan masih manual, hal ini menyebabkan banyak perhitungan yang dilakukan secara manual sebagai contoh : masih banyak terdapat kesalahan manusia (human error) dalam perhitungan jumlah persediaan barang yang masuk dan keluar melalui proses pembelian dan penjualan
5. Data yang dicatat dalam arsip tidak mempunyai back-up, sehingga jika terjadi suatu kecelakaan yang dikarenakan kesalahan manusia ataupun bencana alam data yang ada pada perusahaan akan hilang dan tidak dapat ditelusuri.
3.1.6 Usulan Pemecahan Masalah
M elihat berbagai masalah yang dihadapi perusahaan sekarang ini, maka diusulkan pemecahan masalah :
1. M erancang sistem basis data untuk pengelolaan data persediaan barang langsung dapat saling berhubungan, sehingga bagian logistik dapat mengetahui kapan seharusnya perusahaan membeli barang dan Operational manager dapat mengecek kebenaran persediaan yang ada digudang penyimpanan.
2. M embuat aplikasi khusus dimana aplikasi tersebut dapat menghasilkan laporan akhir setiap periode tertentu, yang dapat menampilkan semua rincian dari order barang ke manufaktur, penerimaan barang yang dikirim oleh manufaktur, sampai dengan pengeluaran barang dari gudang penyimpanan untuk didistribusikan ke distributor.
3. Sistem basis data yang dibuat dilengkapi dengan kemampuan pencarian atau pengambilan data Karyawan, data distributor, data barang, data order barang, data penerimaan barang, dan data persediaan barang.
4. Sistem basis data yang dirancang, dilengkapi dengan perhitungan otomatis yang memungkinkan tidak terjadinya kesalahan dalam perhitungan.
3.2 Perancangan
3.2.1 Perancangan Basis Data Konseptual
Tabel 3.1 Tabel Identifikasi Entitas
Nama Entiti Deskripsi Kejadian
M anufaktur Pemasok barang bagi PT. ABC FUTURE INDONESIA
PT. ABC FUTURE INDONESIA memesan produk kepada M anufaktur
Produk Jenis – jenis produk yang dimiliki oleh perusahaan
Semua jenis produk yang dijual oleh PT. ABC FUTURE INDONESIA
Distributor Organisasi / Individu yang membeli produk dari PT. ABC FUTURE INDONESIA
Distributor memesan produk dari PT. ABC FUTURE INDONESIA
M arket Daerah / wilayah pemasaran distribusi
Distributor memasarkan produk ke market – market di beberapa wilayah.
Pembelian Semua detail yang menyangkut pemesanan pembelian kepada pihak M anufaktur
Karyawan memesan pembelian produk kepada pihak manufaktur yang menambah jumlah persediaan.
Persediaan Semua detail yang menyangkut persediaan barang pada PT. ABC FUTURE INDONESIA
setiap pembelian menambah persediaan di gudang, Sebaliknya setiap penjualan menyebabkan berkurangnya persediaan di gudang.
Karyawan Karyawan yang bekerja pada PT. ABC FUTURE INDONESIA
Setiap karyawan bekerja pada PT. ABC FUTURE INDONESIA
Supervisor Supervisor ( manajer ) yang bertugas mengawasi karyawan yang bekerja pada PT. ABC FUTURE INDONESIA
Setiap karyawan PT. ABC FUTURE INDONESIA akan bertanggung jawab kepada supervisor menurut divisinya masing – masing.
Penjualan Semua detail produk yang dipesan oleh distributor
Penjualan kepada distributor yang mengurangi jumlah persediaan di gudang PT. ABC FUTURE INDONESIA
Pengambilan Semua detail produk yang diambil oleh distributor dari gudang persediaan
Distributor mengambil pesanan produk dari gudang
persediaan perusahaan Penerimaan Semua detail yang menyangkut
penerimaan barang dari M anufaktur
Perusahaan menerima pesanan barang atas pembelian kepada pihak M anufaktur.
Pengeluaran Semua detail yang menyangkut pengeluaran barang untuk distributor
Bagian warehouse melakukan pengeluaran barang untuk pesanan dari distributor
Nama Entiti Deskripsi Kejadian
Pembatalan Semua detail yang menyangkut pembatalan pemesanan barang dari distributor
Setiap barang pesanan distributor yang tidak diambil dalam waktu tertentu akan dilakukan Pembatalan.
3.2.1.2 Mengidentifikasi Tipe-Tipe Relasi
Manufaktur Pembelian Penerimaan
Pr oduk Karyawan Pembatalan Persediaan Penjualan Distributor Tradisional_Market Modern_Market 1..1 0..* Menerima 1..* Menyebabkan 1.. * 1..* Melakukan 0..* 1. .1 1. .1 Mengurus 1..* 1. .1 1.. * Mengawasi 1..1 0. .* 0..* 1.. 1 1.. 1 1. .1 1..* 1. .* Distribusi 0..* 1. .1 Melakukan 1. .* 1..* Menambah 1.. * 1..1 Memproses 1. .* 0. .* Mengalami Pengambilan 1.. * 1. .* Menyebabkan 1..* 1..* 1.. * Pengeluaran 1..1 Melakukan 0..* 1. .* 1. .* Menyebabkan 1..1 Mengurus 0..*
Gambar 3. 5 ER Diagram Konseptual bagian awal Tabel 3.2 Tabel Tipe Relasi
Entity Name
Multiplicity Relationship Entity Name
Multiplicity M anufaktur 1..1 M enerima Pembelian 0..*
Entity Name
Multiplicity Relationship Entity Name
Multiplicity Pembelian 1..* M enyebabkan Penerimaan 1..*
Karyawan 1..1 M emesan Pembelian 0..*
Karyawan 1..1 M engawasi Karyawan 1..* Karyawan 1..1 M engurus Penerimaan 1..* Karyawan 1..1 M elakukan Pengeluaran 0..* Karyawan 1..1 M engurus Pengambilan 0..* Karyawan 1..1 M elakukan Pembatalan 0..* Karyawan 1..1 M elakukan Penjualan 0..* Karyawan 1..1 M emproses Persediaan 1..* Persediaan 1..* M engandung Produk 1..*
Penjualan 1..* M engurangi Produk 1..*
Penjualan 1..* M engalami Pembatalan 1..* Penjualan 1..* M enyebabkan Pengambilan 1..* Penjualan 1..* M enyebabkan Pengeluaran 1..* Distributor 1..1 M emesan Penjualan 0..* Distributor 1..1 Distribusi M odern_M arket 1..* Distributor 1..1 Distribusi Tradisional_M arket 1..*
3.2.1.3 Mengidentifikasi dan Menghubungkan Atribut dengan Tipe-Tipe Entitas, Domain Atribut, Primary Key dan Candidate Key
Tabel 3.3 Tabel Atribut – atribut entitas
EntityName Attribute Description Data type
and Length Nulls
Multi valued
Manufaktur KdM anufaktur Secara unik mengidentifikasi M anufaktur 5 karakter no no NmM anufaktur Nama M anufaktur 40 variabel karakter no no AlmM anufaktur Alamat
M anufaktur
100 variabel karakter
no no Kota Kota M anufaktur 20 variabel
karakter
no no KodePos Kode Pos 5 karakter no no Telp Telepon
M anufaktur
15 variabel karakter
no yes
Fax Nomor telepon
fax M anufaktur
15 variabel karakter
yes yes
Produk KdProduk Secara unik
mengidentifikasik an produk
10 karakter no no
EntityName Attribute Description Data type
and Length Nulls
Multi valued karakter
Ukuran Ukuran Produk 10 variabel karakter
no no HargaBeli Harga Beli satuan
produk
M oney no no HargaJual Harga Jual satuan
produk
M oney no no
Distributor KdDistributor Secara unik mengidentifikasi Distributor
5 karakter no no
NmDistributor Nama Distributor 40 variabel karakter no no AlmtDistributor Alamat Distributor 100 variabel karakter no no Kota Kota Distributor 20 variabel
karakter
no no KodePos Kode Pos 5 karakter no no Telp Telepon
Distributor
15 variabel karakter
no yes
Fax Nomor telepon
fax Distributor
15 variabel karakter
yes yes
Market KdM arket Kode M arket 5 karakter no no
NmM arket Nama M arket 40 variabel karakter
no no Alamat Alamat M arket 100 variabel
karakter
no no
Kota Kota M arket 20 variabel
karakter
no no
KodePos KodePos 5 karakter no no
Telp Telp 15 variabel
karakter
no yes
Pembelian KdPembelian Secara unik mengidentifikasik an kode pembelian produk 20 karakter no no TglPembelian Tanggal pembelian produk Date no no
TglJatuhTempo Tanggal jatuh tempo
pembayaran pembelian
EntityName Attribute Description Data type
and Length Nulls
Multi valued kdM anufaktur Secara unik
mengidentifikasik an M anufaktur 5 karakter no no NmM anufaktur Nama M anufaktur 40 variabel karakter no no AlmM anufaktur Alamat
M anufaktur
100 variabel karakter
no no Kota Kota M anufaktur 20 variabel
karakter
no no KodePos Kode Pos 5 karakter no no Telp Telepon
M anufaktur
15 variabel karakter
no yes Fax Fax M anufaktur 15 variabel
karakter
no yes KdKaryawan Secara unik
mengidentifikasik an karyawan
5 karakter no no
Nmkaryawan Nama karyawan 40 variabel karakter
no no Jabatan Jabatan karyawan 20 variabel
karakter
no no KdSupervisor Kode Supervisor 5 karakter no no NmSupervisor Nama Supervisor 40 variabel
karakter
no no kdProduk Kode Produk 10 variabel
karakter
no no NmProduk Nama produk 20 variabel
karakter no no Ukuran Ukuran Kemasan 10 variabel karakter no no HargaBeli Harga Produk M oney no no Qty Kuantitas produk Int no no
Status Status pembelian Int No No
Keterangan Keterangan status 20 variabel karakter
no no
Diskon Diskon pembelian Float no no
Persediaan KdPersediaan Kode Persediaan 20 karakter no no TglUpdate Tanggal Update
persediaan
Date no no
KdKaryawan Kode Karyawan 5 karakter no no Nmkaryawan Nama karyawan 40 variabel
karakter
EntityName Attribute Description Data type
and Length Nulls
Multi valued Jabatan Jabatan karyawan 20 variabel
karakter
no no KdSupervisor Kode Supervisor 5 karakter no no NmSupervisor Nama Supervisor 40 variabel
karakter
no no KdProduk Kode Produk 10 karakter no no NmProduk Nama Produk 40 variabel
karakter
no no
Ukuran Ukuran kemasan
produk
10 variabel karakter
no no HargaBeli Harga beli dari
manufaktur
M oney no no HargaJual Harga jual ke
distributor
M oney no no
Qty kuantitas produk
menurut kemasan produk
Int no no
Karyawan KdKaryawan Kode Karyawan 5 karakter no no
NmKaryawan Nama Karyawan 40 variabel karakter
no no AlmKaryawan Alamat Karyawan 100 variabel
karakter
no no
Kota Kota 20 variabel
karakter
no no KodePos Kode Pos 5 karakter no no Telp Telepon
Karyawan
15 variabel karakter
no yes Jabatan Jabatan karyawan 20 variabel
karakter
no no Password Password
karyawan
6 karakter no no KdSupervisor Kode Supervisor 5 karakter no no NmSupervisor Nama Supervisor 40 variabel
karakter
no no
Penerimaan KdPenerimaan Secara unik mengidentifikasik an penerimaan produk 20 karakter no no TglPenerimaan Tanggal penerimaan produk Date no no
KdPembelian Kode Order Pembelian
EntityName Attribute Description Data type
and Length Nulls
Multi valued TglPembelian Tanggal
Pembelian
Date no no
KdKaryawan Secara unik mengidentifikasik an karyawan
5 karakter no no
NmKaryawan Nama Karyawan 40 variabel karakter
no no Jabatan Jabatan karyawan 20 variabel
karakter
no no KdSupervisor Kode Supervisor 5 karakter no no NmSupervisor Nama Supervisor 40 variabel
karakter
no no
Pengeluaran KdPengeluaran Secara unik mengidentifikasik an pengeluaran 20 karakter no no TglPengeluaran Tanggal pengeluaran produk Date no no
KdPenjualan Kode Order Penjualan
20 karakter no no TglPenjualan Tanggal
Penjualan
Date no no
KdKaryawan Kode unik Karyawan
5 karakter no no NmKaryawan Nama Karyawan 40 variabel
karakter
no no Jabatan Jabatan karyawan 20 variabel
karakter
no no KdSupervisor Kode Supervisor 5 karakter no no NmSupervisor Nama Supervisor 40 variabel
karakter
no no
Penjualan KdPenjualan Kode penjualan 20 karakter no no TglPenjualan Tanggal
penjualan
Date no no
TglJatuhTempo Tanggal jatuh tempo
Date no no
NoFaktur Nomor faktur 5 karakter no no KdKaryawan Secara unik
mengidentifikasik an karyawan
5 karakter no no
NmKaryawan Nama Karyawan 40 variabel karakter
EntityName Attribute Description Data type
and Length Nulls
Multi valued Jabatan Jabatan karyawan 20 variabel
karakter
no no KdDistributor Kode distributor 5 karakter no no NmDistributor Nama distributor 40 variabel
karakter
no no
Alamat Alamat 100 variabel
karakter
no no
Kota Kota 20 variabel
karakter
no no KodePos Kode pos 5 karakter no no
Telp Telp 15 variabel
karakter
no yes
Fax Fax 15 variabel
karakter
no yes KdProduk Kode produk 10 karakter no yes NmProduk Nama produk 20 variabel
karakter
no yes Ukuran Kode ukuran 10 variabel
karakter
no yes HargaJual Harga Jual ke
distributor
M oney no no
Qty Jumlah penjualan
menurut produk
Int no no
Status Status penjualan Int No No
Keterangan Keterangan status 20 variabel karakter
no no
Diskon Besar potongan
diskon penjualan
Float no no
Pengambilan KdPengambilan Kode
pengambilan 20 karakter no no TglPengambil-an Tanggal pengambilan Date no no
KdPenjualan Kode penjualan 20 karakter no no TglPenjualan Tanggal
Penjualan
Date no no
KdKaryawan Kode Karyawan 5 karakter no no NmKaryawan Nama Karyawan 40 variabel
karakter
no no Jabatan Jabatan karyawan 20 variabel
karakter
no no KdDistributor Kode distributor 5 karakter no no NmDistributor Nama distributor 40 variabel
karakter
EntityName Attribute Description Data type
and Length Nulls
Multi valued
Pembatalan KdPembatalan Kode Pembatalan 20 karakter no no TglPembatalan Tanggal
Pembatalan
Date no no
KdPenjualan Kode penjualan 20 karakter no yes TglPenjualan Tanggal
Penjualan
Date no no
KdKaryawan Kode Karyawan 5 karakter no no Jabatan Jabatan karyawan 20 variabel
karakter
no no KdDistributor Kode distributor 5 karakter no no NmDistributor Nama distributor 40 variabel
karakter
no no
Atribute Domain
Tabel 3.4 Tabel Atribut Domain
Field Attribute Domain
KdM anufaktur Dua karakter pertama berupa huruf ‘M N’, tiga karakter berikutnya berupa angka.
NmM anufaktur Tidak ada atribut domain yang khusus AlmtM anufaktur Tidak ada atribut domain yang khusus
Telp Hanya boleh diisi dengan karakter berupa angka Fax Hanya boleh diisi dengan karakter berupa angka
KdProduk Empat karakter pertama berupa huruf, karakter berikutnya berupa angka.
NmProduk Tidak ada atribut domain yang khusus Ukuran Tidak ada atribut domain yang khusus
HargaBeli Hanya boleh diisi dengan karakter berupa angka HargaJual Hanya boleh diisi dengan karakter berupa angka Qty Hanya boleh diisi dengan karakter berupa angka Diskon Tidak ada atribut domain yang khusus
Status Hanya boleh diisi dengan karakter angka [0,1,2,3,-1] Keterangan Tidak ada atribut domain yang khusus
KdDistributor Dua karakter pertama berupa huruf ‘DB’, dan tiga karakter berikutnya berupa angka.
NmDistributor Tidak ada atribut domain yang khusus AlmtDistributor Tidak ada atribut domain yang khusus Kota Tidak ada atribut domain yang khusus
KodePos Hanya boleh diisi dengan karakter berupa angka
KdPembelian Tiga karakter pertama berupa angka, dibatasi dengan karakter ‘/’, dua karakter berikutnya berupa huruf ‘PP’ (Permintaan
Field Attribute Domain
Pembelian), dua karakter berikutnya berupa angka yang
menunjukkan bulan dimana transaksi pembelian dilakukan, empat karakter berikutnya berupa angka menunjukkan tahun saat
transaksi berlangsung. ‘[0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/ 0-9] [0-9] [0-9] [0-9] ‘contoh : 001/PP/11/2006
TglPembelian Tidak ada atribut domain yang khusus TglJatuhTempo Tidak ada atribut domain yang khusus
KdKaryawan Dua karakter pertama berupa huruf, karakter berikutnya berupa angka.
NmKaryawan Tidak ada atribut domain yang khusus AlmtKaryawan Tidak ada atribut domain yang khusus Jabatan Tidak ada atribut domain yang khusus Password Tidak ada atribut domain yang khusus
KdSupervisor Dua karakter pertama berupa huruf, karakter berikutnya berupa angka.
NmSupervisor Tidak ada atribut domain yang khusus
KdPersediaan Tiga karakter pertama berupa angka, dibatasi dengan karakter ‘/’, dua karakter berikutnya berupa huruf ‘PS’ (Prosedur Persediaan), dua karakter berikutnya berupa angka yang menunjukkan bulan dimana transaksi persediaan dilakukan, empat karakter berikutnya berupa angka menunjukkan tahun saat transaksi berlangsung. ‘[0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/ 0-9] [0-9] [0-9] [0-9] ‘contoh : 001/PS/11/2006
TglUpdate Tidak ada atribut domain yang khusus
KdPenerimaan Tiga karakter pertama berupa angka, dibatasi dengan karakter ‘/’, dua karakter berikutnya berupa huruf ‘TT’ (Transaksi Terima), dua karakter berikutnya berupa angka yang menunjukkan bulan dimana transaksi penerimaan dilakukan, empat karakter
berikutnya berupa angka menunjukkan tahun saat transaksi
berlangsung.‘[0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/ 0-9] [0-9] [0-9] [0-9] ‘contoh : 001/ TT /11/2006
TglPenerimaan Tidak ada atribut domain yang khusus
KdPengeluaran Tiga karakter pertama berupa angka, dibatasi dengan karakter ‘/’, dua karakter berikutnya berupa huruf ‘TK’ (Transaksi Pengeluaran), dua karakter berikutnya berupa angka yang menunjukkan bulan dimana transaksi pengeluaran dilakukan, empat karakter berikutnya berupa angka menunjukkan tahun saat transaksi berlangsung.‘[0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/ 0-9] [0-9] [0-9] [0-9] ‘contoh : 001/ TK /11/2006
TglPengeluaran Tidak ada atribut domain yang khusus
NoFaktur Dua karakter pertama berupa huruf ‘FK’, karakter berikutnya berupa angka.
KdPenjualan Tiga karakter pertama berupa angka, dibatasi dengan karakter ‘/’, dua karakter berikutnya berupa huruf ‘TJ’ (Transaksi Penjualan ), dua karakter berikutnya berupa angka yang menunjukkan bulan
Field Attribute Domain
dimana transaksi penjualan dilakukan, empat karakter berikutnya berupa angka menunjukkan tahun saat transaksi berlangsung. ‘[0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/ 0-9] [0-9] [0-9] [0-9] ‘contoh : 001/ TJ /11/2006
TglPenjualan Tidak ada atribut domain yang khusus TglJatuhTempo Tidak ada atribut domain yang khusus
KdPengambilan Tiga karakter pertama berupa angka, dibatasi dengan karakter ‘/’, dua karakter berikutnya berupa huruf ‘TA’ (Transaksi
Pengambilan), dua karakter berikutnya berupa angka yang menunjukkan bulan dimana transaksi pengambilan dilakukan, empat karakter berikutnya berupa angka menunjukkan tahun saat transaksi berlangsung. ‘[0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/ 0-9] [0-9] [0-9] [0-9] ‘contoh : 001/ TA /11/2006
TglPengambilan Tidak ada atribut domain yang khusus
KdPembatalan Tiga karakter pertama berupa angka, dibatasi dengan karakter ‘/’, dua karakter berikutnya berupa huruf ‘TB’ (Transsksi Pembatalan), dua karakter berikutnya berupa angka yang menunjukkan bulan dimana transaksi pembatalan dilakukan, empat karakter berikutnya berupa angka menunjukkan tahun saat transaksi berlangsung. ‘[0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/ 0-9] [0-9] [0-9] [0-9] ‘contoh : 001/ TB /11/2006
TglPembatalan Tidak ada atribut domain yang khusus KdM arket Tidak ada atribut domain yang khusus NmM arket Tidak ada atribut domain yang khusus AlmtM arket Tidak ada atribut domain yang khusus
Primary key dan Candidate key
Tabel 3.5 Tabel Candidate key dan Primary key
Nama Entiti Candidate Key Primary Key Alternate Key
M anufaktur KdM anufaktur KdM anufaktur
Produk KdProduk KdProduk
Pembelian KdPembelian, KdM anufaktur, KdKaryawan, KdSupervisor, KdProduk KdPembelian KdM anufaktur, KdKaryawan, KdSupervisor, KdProduk Persediaan KdPersediaan, KdKaryawan, KdSupervisor, KdProduk KdPersediaan KdKaryawan, KdSupervisor, KdProduk Karyawan KdKaryawan, KdSupervisor KdKaryawan KdSupervisor
Nama Entiti Candidate Key Primary Key Alternate Key Penjualan KdPenjualan, KdFaktur. KdProduk, KdKaryawan, KdSupervisor
KdPenjualan KdFaktur. KdProduk, KdKaryawan, KdSupervisor Pengambilan KdPengambilan, KdPenjualan, KdKaryawan, KdSupervisor KdPengambilan KdPenjualan, KdKaryawan, KdSupervisor Penerimaan KdPenerimaan, KdPembelian, KdKaryawan, KdSupervisor KdPenerimaan KdPembelian, KdKaryawan, KdSupervisor Pengeluaran KdPengeluaran, KdPenjualan, KdKaryawan, KdSupervisor KdPengeluaran KdPenjualan, KdKaryawan, KdSupervisor Pembatalan KdPembatalan, KdPenjualan, KdKaryawan, KdSupervisor KdPembatalan KdPenjualan, KdKaryawan, KdSupervisor
Gambar 3.6 ER Diagram dengan Primary key
3.2.1.4 Mempertimbangkan untuk Penggunaan Konsep Pemodelan Enhanced
M arket terdiri atas dua tipe yaitu tradisional market dan modern market, dimana setiap market pasti merupakan market tradisional atau market modern.
Gambar 3.7 Entiti Market dengan Model Enchanced
Gambar 3.8 ER Diagram dengan konsep model Enchanced
3.2.1.5 Mengecek Redundansi pada Model
M engecek redudansi pada model konseptual data dilakukan dalam 2 tahapan:
Market kdMarket
Tradisional Market Modern Market
1. M emeriksa kembali entity yang mempunyai hubungan one – one ( 1:1 ) Dalam mengidentifikasikan dua entiti yang arti sebenarnya sama namun dalam penulisan kata yang berbeda atau kedua relasi memiliki relasi 1:1, maka kedua entiti tersebut harus digabungkan menjadi 1 entiti. Jika primary key kedua entiti berbeda, hanya memilih salah satu primary key kemudian primary key yang lain dapat dijadikan sebagai alternate key.
Namun dari konsep model konseptual yang telah didapat, tidak ada entiti yang memiliki hubungan 1:1. M aka tahapan ini tidak perlu dilakukan.
2. M enghilangkan relasi yang redudansi
Tahapan yang kedua adalah menghilangkan relasi yang redudansi, berulang membentuk suatu circle (lingkaran) dengan panah relasi yang searah. Tahapan ini juga tidak terdapat dalam model konseptual data yang telah dibuat.
3.2.1.6 Memvalidasi Model Konseptual Lokal dengan Transaksi Pengguna
Validasi model konseptual dengan model transaction dapat digunakan untuk memastikan bahwa rancangan konseptual yang sedang dibangun dapat mendukung transaksi yang dibutuhkan pengguna. Hal ini dapat dilakukan dengan 2 pendekatan, yaitu :
1. Pendekatan Transaksi
a) M enampilkan kode pembelian, tanggal pembelian ke manufaktur b) M enampilkan Karyawan yang melakukan pembelian barang c) M enampilkan daftar pembelian barang
d) M enampilkan karyawan yang melakukan penerimaan barang e) M enampilkan kode penjualan, tanggal penjualan dari distributor
f) M enampilkan karyawan yang melakukan penjualan g) M enampilkan daftar penjualan barang
h) M enampilkan karyawan yang melakukan pembatalan i) M enampilkan karyawan yang melakukan pengeluaran j) M enampilkan daftar persediaan barang
k) M enampilkan distributor yang melakukan distribusi ke market l) M enampilkan daftar pengambilan dari penjualan barang m) M enampilkan karyawan yang mengupdate persediaan n) Prosedur update persediaan barang dilakukan karyawan 2. Penggambaran panah transaksi dalam diagram
Gambar 3.9 ER Diagram Konseptual dengan panah transaksi
3.2.2 Pemilihan DBMS
Pemilihan DBM S dipengaruhi oleh beberapa factor sebagai berikut : 1. Kemudahan dalam dipergunakan (ease of use)
DBM S sebaiknya mudah dipergunakan oleh penggunanya. 2. Kemudahan dalam administrasi (ease of administration)
3. Kehandalan (reliability)
DBM S sebaiknya mampu mengamankan data apabila terjadi kegagalan piranti lunak atau keras.
4. Biaya (cost)
Biaya dari DBM S sebaiknya tidak melebihi anggaran yang diperkirakan oleh perusahaan.
5. Keamanan (security)
DBM S sebaiknya dapat membedakan dan memilih di antara berbagai tingkat pengguna dari yang tidak memiliki hak akses hingga hak administrasi penuh. 6. Compatibility
DBM S sebaiknya dapat bekerja dengan komponen piranti keras dan lunak lainnya dengan baik di dalam sistem manajemen informasi.
7. Persyaratan M inimum (minimum requirement)
DBM S sebaiknya mampu bekerja pada platform computer untuk menjalankan system manajemen informasi.
8. Kedekatan dengan basis data (familiarity with database)
Jika struktur dan operasi dari DBM S sudah diketahui, maka waktu yang seharusnya dihabiskan untuk mempelajari DBM S dapat difokuskan kepada perancangan.
9. Skalability
M empertimbangkan faktor besar atau kecilnya suatu perusahaan, dan seberapa banyak data yang ditampung pada DBM S tersebut.
Dari tabel perbandingan DBM S ( bab 2. ) dan beberapa faktor yang dipertimbangkan untuk memilih DBM S, penulis menyarankan M icrosoft SQL Server 2000 sebagai
DBM S yang dipergunakan untuk mengimplementasikan rancangan basis data. Keputusan ini diambil atas pertimbangan beberapa faktor berikut ini:
1 M icrosoft SQL Server 2000 memiliki kemudahan penggunaan yang lebih baik dari Oracle 9i ataupun MySQL. Hal ini terlihat dari data diatas yang menyebutkan M icrosoft SQL Server 2000 memiliki dokumentasi yang cukup mudah dimengerti dan mendapat bantuan teknis bila terjadi masalah. M ySQL secara dokumentasi sudah cukup baik namun tidak mendapat bantuan teknis bila terjadi masalah. Sedangkan dokumentasi Oracle 9i sulit dipahami sehingga menyulitkan user.
2 Dalam hal kemudahannya dalam administrasi Oracle 9i paling sulit. M icrosoft SQL Server 2000 dan M ySQL hamper sama, namun M icrosoft SQL Server 2000 lebih baik sedikit dari MySQL karena banyak fitur-fitur pedukungnya dalam proses administrasinya.
3 Dalam segi kehandalan Oracle 9i paling baik, kedua M icrosoft SQL Server 2000 kemudian M ySQL yang cuma punya kehandalan karena gratis.
4 Dari segi biaya MySQL paling baik karena tidak memerlukan biaya, dan untuk lisensi komersialnya $395. Oracle 9i memiliki biaya paling tinggi diantara ketiganya, lagipula lisensinya berdasarkan per individu bukan medianya. Sedangkan M icrosoft SQL Server 2000 berada ditengah-tengah dalam hal biaya. 5 Oracle 9i mempunyai keamanan paling baik. Kedua, M icrosoft SQL Server
2000, kemudian M ySQL yang keamanannya masih belum jelas.
6 Dalam hal kompatibilitasnya Oracle 9i mendukung strandar paling lengkap dan bisa berjalan disistem operasi yang lengkap pula. MySQL dalam hal standar kalah dengan M icrosoft SQL Server 2000 namun hanya dapat berjalan di system
operasi berbasis UNIX. M icrosoft SQL Server 2000 juga hanya dapat berjalan di system operasi buatan M icrosoft.
7 Untuk persyaratan minimum MySQL paling baik. Urutan kedua padda M icrosoft SQL Server 2000, kemudian Oracle 9i.
8 Dari segi familiarnya M icrosoft SQL Server 2000 yang paling baik karena sudah banyak yang bisa mengoperasikannya. Sedangkan Oracle 9i paling jarang dipakai.
9 Dari melihat factor scalability, M icrosoft SQL Server 2000 atau MySQL yang cocok karena perusahaan tempat rancangan basis data tersebut akan diimplementasikan, merupakan perusahaan menengah. Oracle 9i dirasa terlalu berlebih.
Dari ulasan beberapa faktor diatas dapat diambil kesimpulan bahwa Oracle 9i memiliki kemampuan yang paling baik. Namun Oracle 9i memiliki biaya yang mahal dibanding M icrosoft SQL Server 2000 maupun MySQL dan dirasa terlalu berlebih untuk perusahaan tingkat menengah. MySQL memang mempunyai biaya yang paling murah namun mempunyai banyak keterbatasan dibanding M icrosoft SQL Server 2000 dan hanya dapat berjalan di sistem operasi berbasis UNIX. M icrosoft SQL Server 2000 unggul dalam hal kemudahannya dan berada ditengah-tengah dalam hal kemampuannya, selain itu dari pihak perusahaan sudah menyanggupi masalah pendanaannya. Jadi setelah melewati berbagai pertimbangan, yang dipilih adalah M icrosoft SQL Server 2000.
3.2.3 Perancangan Basis Data Logikal
3.2.3.1 Menghilangkan Fitur-Fitur yang Tidak Sesuai dengan Model Relational
Dalam tahap ini akan dilakukan pengecekan terhadap relasi – relasi yang ada, dan apabila ada model – model konseptual yang tidak sesuai dengan model konseptual maka akan dihilangkan. M odel relasi yang tidak sesuai adalah :
a. Relasi many-to-many (*:*) baik yang binary maupun recursive
Gambar 3.11 Pemecahan menjadi dua relationship 1:* antara entity Pembelian dan Produk
Gambar 3.12 Relasi *.* antara Penjualan dan Produk
Gambar 3.14 Relasi *.* antara Pembatalan dan Penjualan
Gambar 3.15 Pemecahan menjadi dua relationship 1:* antara entity Pembatalan dan Penjualan
Gambar 3.17 Pemecahan menjadi dua relationship 1:* antara entity Penjualan dan Pengambilan
Gambar 3.18 Relasi *.* antara Penerimaan dan Pembelian
Gambar 3.20 Relasi *.* antara Pengeluaran dan Penjualan
Gambar 3.21 Pemecahan menjadi dua relationship 1:* antara entity Pengeluaran dan Penjualan
Gambar 3.23 Pemecahan menjadi dua relationship 1:* antara entity Produk dan Persediaan
b. Atribut – atribute yang multivalue
Gambar 3.24 Penghilang atribute multivalue pada entity Manufaktur
Gambar 3.25 Penghilang atribute multivalue pada entity Distributor
Gambar 3.27 Penghilang atribute multivalue pada entity Market
c. Atribut – atribute yang recursive
Gambar 3.28 Atribute yang recursive pada entity karyawan
Gambar 3.29 Penghilangan atribute recursive pada entity karyawan
3.2.3.2 Menurunkan Relasi untuk Model Data Logikal 3.2.3.2.1 Strong entities types
Manufaktur ( KdM anufkatur, NmM anufaktur, Alamat, Kota,
KodePos)
Primary key KdM anufaktur
Karyawan ( KdKaryawan, NmKaryawan, Alamat, Kota,
Primary Key KdKaryawan
Foreign Key KdSupervisor references Supervisor (KdSupervisor)
Distributor ( KdDistributor, NmDistributor, Alamat, Kota,
KodePos)
Primary key KdDistributor
Produk ( KdProduk, NmProduk, Ukuran, HargaBeli, HargaJual ) Primary Key KdProduk
Supervisor ( KdSupervisor, NmSupervisor ) Primary key KdSupervisor
Market ( KdM arket, NmM arket, Alamat, Kota, KodePos) Primary key KdM arket
3.2.3.2.2 Weak entities types
Penjualan ( KdPenjualan, TglPenjualan, TglJatuhTempo,
NoFaktur, KdKaryawan, NmKaryawan, Jabatan, KdDistributor, NmDistributor, Alamat, Kota, KodePos, Telp, Fax, Diskon, status, keterangan)
Primary Key KdPenjualan
Foreign Key KdKaryawan references Karyawan ( KdKaryawan ) Foreign Key KdDistributor references Distributor(KdDistributor)
Pembelian (KdPembelian, T glPembelian, TglJatuhTempo,
KdM anufkatur, NmM anufaktur, Alamat, Kota, KodePos, Telp, Fax, KdKaryawan, NmKaryawan, Jabatan, Diskon, status, keterangan)
Foreign Key KdM anufaktur references M anufaktur (
KdM anufaktur )
Foreign Key KdKaryawan references Karyawan ( KdKaryawan )
Penerimaan (Kd Penerimaan, T glPenerimaan, KdKaryawan,
NmKaryawan, Jabatan)
Primary Key KdPenerimaan
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
Pengeluaran (KdPengeluaran, TglPengeluaran, KdKaryawan,
NmKaryawan, Jabatan)
Primary Key KdPengeluaran
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
Persediaan (KdPersediaan, TglUpdate, KdKaryawan,
NmKaryawan, Jabatan)
Primary Key KdPersediaan
Foregin Key KdKaryawan references Karyawan (KdKaryawan)
Pembatalan (KdPembatalan, TglPembatalan, KdKaryawan,
NmKaryawan, Jabatan)
Primary Key KdPembatalan
Foreign Key KdKaryawan references Karyawan (KdKaryawan) Pengambilan (KdPengambilan, TglPengambilan, KdKaryawan,
NmKaryawan, Jabatan)
Primary Key KdPengambilan
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
HargaJual, Qty)
Primary Key KdPenjualan, KdProduk
Foreign Key KdPenjualan references Penjualan (KdPenjualan) Foreign Key KdProduk references Produk (KdProduk)
Detail_Pembelian (KdPembelian, KdProduk, NmProduk,
Ukuran, HargaBeli, Qty)
Primary Key KdPembelian, KdProduk
Foreign Key KdPembelian references Pembelian (KdPembelian) Foreign Key KdProduk references Produk (KdProduk)
Detail_Penerimaan (KdPenerimaan, KdPembelian,
TglPembelian)
Primary Key KdPenerimaan, KdPembelian
Foreign Key KdPenerimaan references Penerimaan
(KdPenerimaan)
Foreign Key KdPembelian references Pembelian (KdPembelian)
Detail_Pengeluaran (KdPengeluaran, KdPenjualan,
TglPenjualan)
Primary Key KdPengeluaran, KdPenjualan
Foreign Key KdPengeluaran references Pengeluaran
(KdPengeluaran)
Foreign Key KdPenjualan references Penjualan (KdPenjualan)
Detail_Persediaan (KdPersediaan, KdProduk, NmProduk,
Ukuran, HargaJual, Qty)
Foreign Key KdPersediaan references Persediaan (KdPersediaan) Foreign Key KdProduk reference Produk (KdProduk)
Detail_Pembatalan (KdPembatalan, KdPenjualan,
TglPenjualan)
Primary Key KdPembatalan, KdPenjualan
Foreign Key KdPenjualan references Penjualan (KdPenjualan) Foreign Key KdPembatalan references Pembatalan
(KdPembatalan)
Detail_Pengambilan (KdPengambilan, KdPenjualan,
TglPenjualan)
Primary Key KdPengambilan, KdPenjualan
Foreign Key KdPengambilan references Pengambilan
(KdPengambilan)
Foreign Key KdPenjualan references Penjualan (KdPenjualan)
TelpManufaktur (Telp, KdM anufaktur) Primary Key Telp, KdM anufaktur
Foreign Key KdM anufaktur references M anufaktur
(KdM anufaktur)
FaxManufaktur (Fax, KdM anufaktur) Primary Key Fax, KdM anufaktur
Foreign Key KdM anufaktur references M anufaktur
(KdM anufaktur)
TelpKaryawan (Telp, KdKaryawan) Primary Key Telp, KdKaryawan
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
TelpDistributor (Telp, KdDistibutor) Primary Key Telp, KdDistributor
Foreign Key KdDistibutor references Distibutor (KdDistibutor)
FaxDistributor (Fax, KdDistibutor) Primary Key Fax, KdDistributor
Foreign Key KdDistibutor references Distibutor (KdDistibutor)
TelpMarket (Telp, KdM arket) Primary Key Telp, KdM arket
Foreign Key KdM arket references M arket (KdM arket) 3.2.3.2.3 One-to-many (1:*) binary relationship types
1. Hubungan antara entity M anufaktur (parent) dengan Pembelian (child)
3. Hubungan antara entity Karyawan (parent) dengan Penjualan (child)
4. Hubungan antara entity Karyawan (parent) dengan Penerimaan (child)
6. Hubungan antara entity Karyawan (parent) dengan Persediaan (child )
7. Hubungan antara entity Karyawan (parent) dengan Pengambilan (child )
9. Hubungan antara entity Distributor (parent) dengan Penjualan (child)
10. Hubungan antara entity Distributor (parent) dengan M arket (child)
3.2.3.2.4 Many-to-many (*:*) binary relationship types
2. Hubungan antara entity Pembelian (parent) dengan Penerimaan (child)
Pembelian ( KdPembelian, TglPembelian, TglJatuhTempo, KdKaryawan,
NmKaryawan, Jabatan, KdManufkatur, NmM anufaktur, Alamat, Kota, KodePos, Telp, Fax, Diskon, status, keterangan )
Foreign Key KdManufaktur references Manuf aktur ( KdManufaktur ) Foreign Key KdKaryawan refe rences Karyawa n ( KdKaryawan ) Primary Key KdPembelian
Penerimaan (Kd Penerimaan, TglPenerimaan, KdKaryawan, NmKaryawan, Jabatan) Foreign Key KdKaryawan references Karyawan (KdKaryawan)
Primary Key KdPenerimaan
Detail_Penerimaan (KdPenerimaan, KdPembelian, TglPembelian) Primary Key KdPenerimaan, KdPem belian
Foreign Key KdPenerimaan references Penerimaan (KdPenerimaan) Foreign Key KdPembelian references Pembelian (KdPembelian)
3. Hubungan antara entity Penjualan (parent) dengan Pengeluaran (child)
4. Hubungan antara entity Produk (parent) dengan Penjualan (child)
6. Hubungan antara entity Penjualan (parent) dengan Pengambilan (child)
3.2.3.2.5 Multi-value attributes
1. Hubungan antara entity M anufaktur (parent) dengan TelpM anufaktur (child)
2. Hubungan antara entity M anufaktur (parent) dengan FaxM anufaktur (child)
3. Hubungan antara entity Karyawan (parent) dengan TelpKaryawan (child)
4. Hubungan antara entity Distributor (parent) dengan TelpDistributor (child)
5. Hubungan antara entity Distributor (parent) dengan FaxDistributor (child)
3.2.3.3 Validasi Relasi dengan Normalisasi 1. Pembelian
Bentuk normal terakhir setelah proses penghilangan fitur – fitur yang tidak relasional :
Pembelian ( @KdPembelian, T glPembelian, TglJatuhTempo, KdM anufaktur,
NmM anufaktur, Alamat, Kota, KodePos, Telp, Fax, KdKaryawan, NmKaryawan, Jabatan, Diskon, Status, keterangan )
Detail_Pembelian ( @KdPembelian, @KdProduk, NmProduk, Ukuran,
HargaBeli, Qty )
Tabel 3.6 Tabel normalisasi entity Pembelian
Tahap Pembelian
UNF Sudah memenuhi bentuk normal UNF, pada saat penghilangan fitur – fitur yang tidak relasional
1NF Sudah memenuhi bentuk normal 1NF pada saat penghilangan fitur – fitur yang tidak relasional
2NF Sudah memenuhi bentuk normal 2NF, karena tidak ada ketergantungan parsial
3NF Pembelian =
@KdPembelian + T glPembelian + TglJatuhTempo + KdM anufaktur +
KdKaryawan + Diskon + Status
Tahap Pembelian @KdPembelian+@KdProduk+HargaBeli+Qty S tatus_Pembelian = @Status + keterangan Manufaktur = @KdM anufaktur+NmM anufaktur+Alamat+Kota+KodePos+Telp+Fax Karyawan = @KdKaryawan+NmKaryawan+AlmtKaryawan+Kota+Telp+KodePos+ Jabatan+Password+KdSupervisor+NmSupervisor Produk = @KdProduk+NmProduk+Ukuran+HargaBeli+HargaJual BCNF Pembelian =
@KdPembelian+T glPembelian+TglJatuhTempo+KdM anufaktur+
KdKaryawan +Diskon + Status
Detail_Pembelian = @KdPembelian+@KdProduk+HargaBeli +Qty S tatus_Pembelian = @Status + keterangan Manufaktur = @KdM anufaktur+NmM anufaktur+Alamat+Kota+KodePos+Telp+Fax Karyawan = @KdKaryawan+NmKaryawan+AlmtKaryawan+Kota+Telp+KodePos+ Jabatan+Password+KdSupervisor Produk = @KdProduk+NmProduk+Ukuran+HargaBeli+HargaJual Supervisor = @KdSupervisor+NmSupervisor 4NF Pembelian =
@KdPembelian+T glPembelian+TglJatuhTempo+KdM anufaktur+
KdKaryawan + Diskon + Status
Tahap Pembelian @KdPembelian+@KdProduk++HargaBeli Qty S tatus_Pembelian = @Status + keterangan Manufaktur = @KdM anufaktur+NmM anufaktur+Alamat+Kota+KodePos Karyawan = @KdKaryawan+NmKaryawan+AlmtKaryawan+Kota+KodePos+Jabatan +Password+KdSupervisor Produk = @KdProduk+NmProduk+Ukuran+HargaBeli+HargaJual Supervisor = @KdSupervisor+NmSupervisor Telp Manufaktur = @Telp+Kdmanufaktur Fax Manufaktur = @Fax+Kdmanufaktur Telp Karyawan = @Telp+KdKaryawan 2. Penjualan
Bentuk normal terakhir setelah proses penghilangan fitur – fitur yang tidak relasional :
Penjualan ( @KdPenjualan, TglPenjualan, TglJatuhTempo, NoFaktur,
KdDistributor, NmDistributor, Alamat, Kota, KodePos, Telp, Fax, KdKaryawan, NmKaryawan, Jabatan, Diskon, status, keterangan)
Detail_Penjualan ( @KdPenjualan, @KdProduk, NmProduk, Ukuran,
Tabel 3.7 Tabel normalisasi entity Penjualan
Tahap Penjualan
UNF Sudah memenuhi bentuk normal UNF pada saat penghilangan fitur – fitur yang tidak relasional
1NF Sudah memenuhi bentuk normal 1NF pada saat penghilangan fitur – fitur yang tidak relasional
2NF Sudah memenuhi bentuk normal 2NF, karena tidak ada ketergantungan parsial
3NF Penjualan =
@KdPenjualan + T glPenjualan + TglJatuhTempo + NoFaktur +
KdKaryawan + KdDistributor + Diskon + Status
Detail_ Penjualan =
@KdPenjualan+@KdProduk+ HargaJual +Qty S tatus_Penjualan = @Status + Keterangan Karyawan = @KdKaryawan+NmKaryawan+AlmKaryawan+Kota+Telp+KodePos+ Jabatan+Password+KdSupervisor+NmSupervisor Produk =
@KdProduk + NmProduk + Ukuran + HargaBeli + HargaJual
Distributor =
@KdDistributor + NmDistributor + Alamat + Kota + KodePos + Telp + Fax
BCNF Penjualan =
@KdPenjualan + T glPenjualan + TglJatuhTempo + NoFaktur +
KdKaryawan + KdDistributor + Diskon+ Status
Detail_Penjualan =
@KdPenjualan+@KdProduk+ HargaJual +Qty S tatus_Penjualan =
@Status + Keterangan
Tahap Penjualan
@KdKaryawan+NmKaryawan+AlmtKaryawan+Kota+Telp+KodePos+
Jabatan+Password+ KdSupervisor
Produk = @KdProduk+NmProduk+Ukuran+ HargaBeli + HargaJual Distributor =
@KdDistributor + NmDistributor + Alamat + Kota + KodePos + Telp + Fax
Supervisor=
@KdSupervisor + NmSupervisor
4NF Penjualan =
@KdPenjualan + T glPenjualan + TglJatuhTempo + NoFaktur +
KdKaryawan + KdDistributor + Diskon+ Status
Detail_Penjualan =
@KdPenjualan + @KdProduk + HargaJual +Qty S tatus_Penjualan =
@Status + Keterangan
Karyawan =
@KdKaryawan + NmKaryawan + AlmKaryawan + Kota + KodePos +
Jabatan + Password + KdSupervisor
Produk =
@KdProduk + NmProduk + Ukuran + HargaBeli + HargaJual
Distributor =
@KdDistributor + NmDistributor + Alamat + Kota + KodePos
Supervisor = @KdSupervisor + NmSupervisor Telp Karyawan = @ Telp + @KdKaryawan Telp Distributor = @ Telp + @KdDistributor Fax Distributor = @ Fax + @KdDistributor
3. Penerimaan
Bentuk normal terakhir setelah proses penghilangan fitur – fitur yang tidak relasional :
Penerimaan ( @KdPenerimaan, T glPenerimaan, KdKaryawan,
NmKaryawan, Jabatan)
Detail_ Penerimaan ( @KdPenerimaan, @KdPembelian, T glPembelian)
Tabel 3.8 Tabel normalisasi entity Penerimaan
Tahap Penerimaan
UNF Sudah memenuhi bentuk normal UNF pada saat penghilangan fitur – fitur yang tidak relasional
1NF Sudah memenuhi bentuk normal 1NF pada saat penghilangan fitur – fitur yang tidak relasional
2NF Sudah memenuhi bentuk normal 2NF pada saat penghilangan fitur – fitur yang tidak relasional
3NF Pada bentuk normal terakhir masih terdapat transitive depedency (non key bergantung pada non-key), maka dibuat tabel baru . M aka bentuk normal 1NF menjadi :
Penerimaan =
@KdPenerimaan + T glPenerimaan + KdKaryawan Detail_ Penerimaan =
@KdPenerimaan + @KdPembelian Pembelian =
@KdPembelian+T glPembelian+TglJatuhTempo+KdM anufaktur+
KdKaryawan + Diskon + Status
Karyawan =
@KdKaryawan + NmKaryawan + AlmKaryawan + Kota + Telp +
KodePos + Jabatan + Password + KdSupervisor + NmSupervisor // M uncul tabel karyawan
Tahap Penerimaan
@KdPenerimaan + T glPenerimaan + KdKaryawan Detail_ Penerimaan =
@KdPenerimaan + @KdPembelian Pembelian =
@KdPembelian+T glPembelian+TglJatuhTempo+KdM anufaktur+
KdKaryawan + Diskon + Status
Karyawan =
@KdKaryawan + NmKaryawan + AlmKaryawan + Kota + Telp +
KodePos + Jabatan + Password + KdSupervisor
Supervisor =
@KdSupervisor + NmSupervisor
4NF Penerimaan =
@KdPenerimaan + T glPenerimaan + KdKaryawan Detail_ Penerimaan =
@KdPenerimaan + @KdPembelian Pembelian =
@KdPembelian+T glPembelian+TglJatuhTempo+KdM anufaktur+
KdKaryawan + Diskon + Status
Karyawan =
@KdKaryawan + NmKaryawan + AlmKaryawan + Kota + KodePos +
Jabatan + Password + KdSupervisor
Supervisor =
@KdSupervisor + NmSupervisor Telp Karyawan =
@Telp + @KdKaryawan
4. Pengeluaran
Bentuk normal terakhir setelah proses penghilangan fitur – fitur yang tidak relasional :
Pengeluaran ( @KdPengeluaran, TglPengeluaran, KdKaryawan,
NmKaryawan, Jabatan)
Detail_ Pengeluaran ( @KdPengeluaran, @KdPenjualan, T glPenjualan)
Tabel 3.9 Tabel normalisasi entity Pengeluaran
Tahap Pengeluaran
UNF Sudah memenuhi bentuk normal UNF pada saat penghilangan fitur – fitur yang tidak relasional
1NF Sudah memenuhi bentuk normal 1NF pada saat penghilangan fitur – fitur yang tidak relasional
2NF Sudah memenuhi bentuk normal 2NF pada saat penghilangan fitur – fitur yang tidak relasional
3NF Pada bentuk normal terakhir masih terdapat transitive depedency (non key bergantung pada non-key), maka dibuat tabel baru . M aka bentuk normal 1NF menjadi :
Pengeluaran =
@KdPengeluaran + TglPengeluaran + KdKaryawan Detail_ Pengeluaran =
@KdPengeluaran + @KdPenjualan Penjualan =
@KdPenjualan + T glPenjualan + TglJatuhTempo + NoFaktur +
KdKaryawan + KdDistributor + Diskon+ Status
Karyawan =
@KdKaryawan + NmKaryawan + AlmKaryawan + Kota + Telp +
KodePos + Jabatan + Password + KdSupervisor + NmSupervisor // M uncul tabel karyawan
BCNF Pengeluaran =
@KdPengeluaran + TglPengeluaran + KdKaryawan Detail_ Pengeluaran =
@KdPengeluaran + @KdPenjualan Penjualan =
Tahap Pengeluaran
@KdPenjualan + T glPenjualan + TglJatuhTempo + NoFaktur +
KdKaryawan + KdDistributor + Diskon+ Status
Karyawan =
@KdKaryawan + NmKaryawan + AlmKaryawan + Kota + Telp +
KodePos + Jabatan + Password + KdSupervisor
Supervisor =
@KdSupervisor + NmSupervisor
4NF Pengeluaran =
@KdPengeluaran + TglPengeluaran + KdKaryawan Detail_ Pengeluaran =
@KdPengeluaran + @KdPenjualan Penjualan =
@KdPenjualan + T glPenjualan + TglJatuhTempo + NoFaktur +
KdKaryawan + KdDistributor + Diskon+ Status
Karyawan =
@KdKaryawan + NmKaryawan + AlmKaryawan + Kota + KodePos +
Jabatan + Password + KdSupervisor
Supervisor =
@KdSupervisor + NmSupervisor Telp Karyawan =
@Telp + @KdKaryawan
5. Persediaan
Bentuk normal terakhir setelah proses penghilangan fitur – fitur yang tidak relasional :
Persediaan ( @KdPersediaan, TglUpdate, KdKaryawan, NmKaryawan,
Jabatan)
Detail_Persediaan ( @KdPersediaan, @KdProduk, NmProduk, Ukuran,
Tabel 3.10 Tabel normalisasi entity Persediaan
Tahap Persediaan
UNF Sudah memenuhi bentuk normal UNF pada saat penghilangan fitur – fitur yang tidak relasional
1NF Sudah memenuhi bentuk normal 1NF pada saat penghilangan fitur – fitur yang tidak relasional
2NF Sudah memenuhi bentuk normal 2NF, karena tidak ada ketergantungan parsial
3NF Pada bentuk normal terakhir masih terdapat transitive depedency (non key bergantung pada non-key), maka dibuat tabel baru.Bentuk normal 1NF :
Persediaan =
@KdPersediaan + TglUpdate + KdKaryawan Detail_Persediaan =
@KdPersediaan + @KdProduk + Qty
Karyawan =
@KdKaryawan + NmKaryawan + AlmKaryawan + Kota + Telp +
KodePos + Jabatan + Password + KdSupervisor + NmSupervisor // muncul tabel karyawan
Produk =
@KdProduk + NmProduk + Ukuran + HargaBeli + HargaJual // M uncul tabel produk
BCNF Persediaan =
@KdPersediaan + TglUpdate + KdKaryawan Detail_Persediaan =
@KdPersediaan + @KdProduk + Qty
Karyawan =
@KdKaryawan + NmKaryawan + AlmKaryawan + Kota + Telp +
KodePos + Jabatan + Password + KdSupervisor
Produk =
@KdProduk + NmProduk + Ukuran + HargaBeli + HargaJual