Step by Step Perancangan Database Showroom Mobil Finish
-
Upload
boas-kapitan -
Category
Documents
-
view
847 -
download
34
description
Transcript of Step by Step Perancangan Database Showroom Mobil Finish
Step by Step DesignDatabase Showroom Mobil Bekas
Sistem Basis Data
Disusun oleh:
Boas Kamarudin Kapitan (1182018)
Fakultas
Teknik InformasiJurusan
(Sistem informasi)UNIVERSITAS ADVENT INDONESIA
2013
Database showroom mobil bekasStep by Step Design
Fakultas Teknologi Informasi UNAI
Struktur organisasi Showroom mobil :Pimpinan
Pembelian Penjualan Keuangan Pemasaran
Pembelian
1. Penjelasan OrganisasiPerusahaan shorum mobil merupakan perusahaan yang bergerak dalam jual belih mobil bekas hasil penjualan ini di tujukan dalam pasaran dalam negeri. Showroom mobil ini di dirikan dalam dua tujuan yaitu tujuan jangka pendek dan jangka panjang.Tujuannya adalah untuk mencapai target penjualan yang ditetapkan setiap bulan dan mencapai keuntungan dengan mengimbangi biaya operasional shorum.
Bagian-bagian dari Showroom Mobil bekas :
Bisnis organisasi : Jual beli mobil bekas dan bekerja sama dengan showroom mobil baru untuk menjual dan menampung mobil bekas dari showroom mobil baru.
Produk/jasa yang dijual : mobil bekas Strategi bisnis organisasi : bekerja sama dengan showroom mobil baru menampung
setiap mobil bekas yang dikembalikan oleh pelanggan karena tidak sanggup melanjutkan kredit mobil.
Visi misi organisasi : Visi : Menyediakan informasi yang selalu up-to-dateMisi : Dapat memenuhi target penjualan yang besar.
Hal-hal unik yang membedakan organisasi dengan organisasi sejenis : adalah organisasi ini telah memakai sistem komputerisasi jadi setiap barang yang di tawarkan selalu melalui website yang selalu ter up- to date
2. System Definition
Database ini dibangun untuk digunakan sebagai database pada sistem informasi sebuah Showroom mobil bekas. Aplikasi database yang akan dibangun haruslah bisa menangani proses bisnis yang ada di Showroom mobil tersebut, yang antara lain:
1. Proses bisnis penjualan mobil bekas2. Proses bisnis pengiriman mobil bekas kepada pelanggan
Batasan sistem dapat juga ditentukan dengan menentukan siapa saja user yang ingin dilayani oleh sistem dan apa saja view bagi masing-masing user:Misalnya:
1. User 1 : Direktur- Menampilkan data penjualan seluruh cabang- Menampilkan data semua pegawai.- Menampilkan data semua pelanggan seluruh cabang
2. User 2 : Manager
- Menampilkan penjualan di cabang yang dipimpin- Menampilkan pelanggan di cabang yang dipimpin- Menampilkan pembayaran di cabang yang dipimpin.
3. User 3 : Pegawai- Menampilkan halaman home dari website- Menampilkan data-data mobil bekas yang akan dijual- Menampilkan pesanan dari pelanggan- Menampilkan data pelanggan- dll
4. Requirements collection and analysis
Pada bagian ini, identifikasi semua kebutuhan data pada masing-masing proses bisnis. Identifikasi kebutuhan data juga dapat dilakukan dengan mengidentifikasi kebutuhan data untuk masing-masing user. Dibawah ini ditunjukkan cara mengidentifikasi kebutuhan data berdasarkan proses bisnis.
Beberapa hal yang perlu diperhatikan, sistem harus dapat mencatat semua data-data sehingga tidak ada terjadi resiko-resiko bisnis seperti:
1. Hilangnya data pelanggan sehingga terjadi kesulitan pada saat mengirimkan barang.2. Pengiriman barang yang tidak sesuai dengan pesanan pelanggan.3. Kesalahan pencatatan pembayaran yang dilakukan oleh pelanggan.
Kebutuhan akan data untuk aplikasi database yang akan dibangun antara lain:
1. Proses bisnis penjualan mobil
Nama pelanggan Alamat Telepon Merek Mobil
Harga Warna Cara pembayaran Jumlah pembayaran
2. Proses pengiriman mobil kepada pelanggan
Merek Mobil Tipe Warna Nama Pelanggan
Alamat Telepon Pegawai
Conceptual Database Design4.1 Mengidentifikasi entity typeEntity type yang ada adalah sebagai berikut:
Mobil Pelanggan
Pengiriman Pemilik
Penjualan
PegawaiPembayaran
4.2 Relasi antar entity
Mobil
Pelanggan
Pemilik Pengiriman
Penjualan
Pegawai Pembayaran
Pelanggan Penjualan(1, 1) (0, *)
Pengiriman Pelanggan(0, *) (1, 1)
Pegawai Penjualan(1, 1) (0, *)
Pegawai Pengiriman(1, 1) (0, *)
Penjualan Mobil(0, 1) (1, 1)
Mobil Pengiriman(1, 1) (1, 1)
Pelanggan Pembayaran(1, 1) (0, *)
Pemilik Mobil (1, 1) (0, *)
Logical Database Design1.1 Menentukan cardinality untuk setiap relasi entity
1. Pelanggan dan Penjualan
2. Pengiriman dan Pelanggan
3. Pegawai dan Penjualan
4. Pegawai dan Pengiriman
5. Penjualan dan Mobil
6. Mobil dan Pengiriman
7. Pelanggan dan Pembayaran
8. Pemilik dan mobil
melibatkan
melibatkan
melibatkan
melakukan
melibatkan
melibatkan
melibatkan
melibatkan
Pelanggan Penjualan(1, 1) (0, *)
Pengiriman Pelanggan(0, *) (1, 1)
Pegawai Penjualan(1, 1) (0, *)
Pegawai Pengiriman(1, 1) (0, *)
Penjualan Mobil(0, 1) (1, 1)
Menurunkan tabel dari relasi antar entity1. Pelanggan dan Penjualan
Tabel untuk entity di atas:tblPelanggan : IDPelanggantblPenjualan : IDPenjualan, [IDPelanggan]
2. Pengiriman dan Pelanggan
Tabel untuk entity di atas:tblPelanggan : IDPelanggantblPengiriman : IDPengiriman, [IDPelanggan]
3. Pegawai dan Penjualan
Tabel untuk entity di atas:tblPegawai : IDPegawaitblPenjualan : IDPenjualan, [IDPegawai]
4. Pegawai dan Pengiriman
Tabel untuk entity di atas:tblPegawai : IDPegawaitblPengiriman : IDPengiriman, [IDPegawai]
5. Penjualan dan Mobil
Tabel untuk entity di atas:tblMobil : IDMo bil , tblPenjualan : IDPenjualan, [IDMobil]
Mobil Pengiriman(1, 1) (1, 1)
Pelanggan Penjualan(1, 1) (0, *)
Pemilik Mobil(1, 1) (0, *)
6. Mobil dan Pengiriman
Tabel untuk entity di atas:tblMobil : IDMo bil ,tblPengiriman : IDPengiriman, [IDMobil]
7. Pelanggan dan Pembayaran
Tabel untuk entity di atas:tblPelanggan : IDPelanggantblPenjualan : IDPembayaran, [IDPembayaran]
8. Pemilik dan Mobil
Tabel untuk entity di atas:tblPelanggan : IDPe milik tblPenjualan : ID Mobil , [IDMobil]
Dari hasil penurunan tabel dari relasi entity yang ada, maka diperoleh tabel-tabel yang dihasilkan adalah sebagai berikut:
tblPengirimanIDPengirimanIDPelangganIDPegawaiIDMobil
tblPembayaranIDPembayaranIDPegawaiIDMobil
tblPenjualanIDPelangganIDMobilIDPegawai
tblPegawaiIDPegawai
tblMobilIDMobil
tblPelangganIDPelanggan
tblPemilikIDPegawai
Menambahkan atribute yang lain ke dalam tabelMenambakan atribute lain ke dalam tabel adalah menambahkan atribute-atribute yang ada pada masing-masing entity yang belum terdapat di tabel ke dalam tabel-tabel yang bersesuaian. Kemudian setelah atribute-atribute yang lain ditambahkan ke dalam tabel-tabel, maka diperoleh hasil tabel menjadi seperti di bawah ini.
Tabel-tabel yang dihasilkan di atas, kemudian diperiksa apakah mempunyai field-field yang bersifat multivalued attribute dan composite attribute. Dan hasilnya adalah sebagai berikut:
tblPenjualanIDMobilIDPelanggan Tipe pembayaranTglPenjualanTglPembayaranCara PembayaranJumlah bayarIDPegawai
tblPegawaiIDPegawaiNamaL/PTglLahirAlamat
tblMobilIDMobilTipeWarnaSpesifikasiJumlahHargaJualJlhStock
PelangganIDPelanggan
NamaAlamatTeleponTglLahirL/PPekerjaan
tblPembayaranNo FakturTglPembayaranCara PembayaranJumlah bayar
tblPemilikIDPegawaiNamaAlamatTlp
tblPengirimanIDPengirimanTglPengirimanIDMobilIDPelangganIDPegawai
1. Tabel tblPegawai, tblPelanggan,Tabel tblPegawai, tblPelanggan, tblSupplier, memiliki field yang bersifat composite attribute yaitu: Alamat. Maka field tersebut dipecah menjadi field: NmJalan, Kota dan Kode Pos (KP).
2. Tabel tblPenjualanPada tabel tblPenjualan, pembayaran dilakukan oleh pelanggan bisa saja terjadi beberapa kali. Misalnya pelanggan membayar uang muka terlebih dahulu, baru kemudian melakukan pembayaran. Akibatnya field: TglPembayaran, CaraPembayaran dan JumlahBayar menjadi field yang bersifat multivalued attribute. Sebagai solusinya, maka tblPenjualan harus dipecah menjadi tabel tblPenjualan dan tblPembayaran.
3. Tabel tblMobilTabel mobil mempunyai field Spesifikasi yang bersifat composite attribute, maka field tersebut harus dipecah menjadi seperti di bawah ini:
tblPegawaiIDPegawaiNamaL/PTglLahirNmJalanKotaKP
PelangganIDPelangganNamaNmJalanKotaKPTeleponTglLahirL/PPekerjaan
tblPenjualanNo FakturIDMobilIDPelanggan Tipe pembayaranTglPenjualanIDPegawai
tblPembayaranNo FakturTglPembayaranCara PembayaranJumlah bayar
tblMobilIDMobilTipeWarnaRem depanRem belakangTipe mesinDayaMaksTorsiMaksKoplingStarterSistem PengapianJumlahHargaJualJlhStock
1.2 Memvalidasi tabel-tabel dengan melakukan normalisasiNormalisasi dilakukan dengan cara menguji aturan-aturan normalisasi yang ada. Pada kasus ini, aturan normalisasi yang digunakan hanya aturan normalisasi yang pertama sampai yang ketiga (1NF, 2NF dan 3NF).1. Tidak ada kelompok data yang berulangPada setiap tabel, tidak ditemukan lagi kelompok data yang berulang. Semua tabel sudah memenuhi aturan nomalisasi pertama (1NF).
2. Tidak ada non primary key yang bergantung pada non primary key yang lain.Tabel mobil masih memiliki field non primary key yang bergantung pada non primary key yang lain, yaitu field Spesifikasi, yang bergantung pada field Tipe. Karena itu, sebagai solusinya, field-field tersebut harus ditempatkan di tabel tersendiri. Maka tabel tblMobil harus dipecah menjadi tabel tblMobildan tblSpesifikasi.
3. Semua non primary harus bergantung pada primary key.Semua tabel sudah memenuhi aturan dari normalisasi ketiga (3NF).
Setelah melakukan normalisasi, maka tabel-tabel yang ada di database adalah sebagai berikut:
tblMobilIDMobilIDTipeWarnaJumlahHargaJualJlhStock
tblSpesifikasiIDTipeTipeKapasitas tangkiRem depanRem belakangTipe mesinDayaMaksTorsiMaksKoplingStarterSistem Pengapian
tblPegawaiIDPegawaiNamaL/PTglLahirNmJalanKotaKP
tblPelangganIDPelangganNamaNmJalanKotaKPTeleponTglLahirL/PPekerjaan
tblPembayaranNo FakturTglPembayaranCara PembayaranJumlah bayar
1.3 Memvalidasi tabel dengan transaksi-transaksi userDari validasi yang dilakukan, maka tabel-tabel yang ada sudah memenuhi kebutuhan transaksi yang dilakukan oleh user.
1.4Membangun relasi antar tabelRelasi antar tabel-tabel yang ada di database adalah seperti yang ditunjukkan di bawah ini.
tblMobilIDMobilTipeWarnaJumlahHargaJualJlhStock
tblSpesifikasiTipeKapasitas tangkiRem depanRem belakangTipe mesinDayaMaksKoplingStarterSistem Pengapian
tblPenjualanNo FakturIDMobilIDPelanggan Tipe pembayaranTglPenjualanIDPegawai
tblPengirimanIDPengirimanTglPengirimanIDMobilIDPelangganIDPegawai
tblPemilikIDPegawaiNamaNamaJalanKotaKPTlp
1.5 Mendefinisikan integrity constraintBeberapa integrity constaint yang harus dipenuhi oleh sistem, antara lain:1. Data di tabel tblMobil, tblPelanggan, dan tblPegawai tidak dapat dihapus karena akan
merusak referential integrity.2. Pembayaran dengan transfer bank hanya dapat diterima jika dana sudah masuk ke
rekening Showroom Mobil Bekas.
Menentukan domain dari attribute
1. Pelanggan
2. PegawaiField Tipe Data Domain
IDPegawai Numberik AutoNumber Numerik 0 – 9 (6 digit)Nama Text Teks 50 karakterNamaJalan Text Teks 50 karakterTelepon Text 14 digitTglLahir DateL/P Text L dan PKota Text Text 50 karakterKodePos Text 14 digitPekerjaan Text Teks 30 karakter
3. MobilField Tipe Data Domain
IDMobil O + Numberik Huruf O + Numerik 0 – 9 (6 digit)IDTipe Text Huruf O + Numerik 0 – 9 (6 digit)Warna Text Teks 50 karakterJumlah Text Teks 50 karakterHargaJual Text Teks 50 karakterJumlahStock Text Teks 50 karakter
4. PemilikField Tipe Data Domain
IDMobil O + Numberik Huruf O + Numerik 0 – 9 (6 digit)Nama Text Teks 50 karakterNamaJalan Text Teks 50 karakterTlp Text 14 digitKota Text Teks 50 karakterKodePos Text Teks 30 karakter
5. SpesifikasiField Tipe Data Domain
IDTipe O + Numberik Huruf O + Numerik 0 – 9 (6 digit)RemDepan Text Teks 50 karakter
Field Tipe Data DomainIDPelanggan Numberik AutoNumber Numerik 0 – 9 (6 digit)Nama Text Teks 50 karakterNamaJalan Text Teks 50 karakterKota Text Text 50 karakterTelepon Text 14 digitTglLahir DateL/P Text L dan PKodePos Text Text 30 karakterPekerjaan Text Teks 30 karakter
RemBelakang Text Teks 50 karakterTipeMesin Text Teks 50 karakterDayaMaks Text Teks 50 karakterKopling Text Teks 50 karakterStarter Text Teks 50 karakterSistemPengapian Text Teks 50 karakter
6. Penjualan Field Tipe Data Domain
No Faktur P + Numberik Huruf P + Numerik 0 – 9 (6 digit)TglPenjualan DateTipe Pembayaran Kode numerik 1 = Cash, 2 = KreditTanggal Pembayaran DateCara pembayaran Teks Tunai, Transfer, kartu kreditIDMobil O + Numberik Huruf O + Numerik 0 – 9 (6 digit)IDPelanggan O + Numberik Huruf O + Numerik 0 – 9 (6 digit)IDPegawai O + Numberik Huruf O + Numerik 0 – 9 (6 digit)Jumlah Bayar Currency
7. PengirimanField Tipe Data Domain
IDPengiriman O + Numberik Huruf O + Numerik 0 – 9 (6 digit)TglPengiriman DateIDMobil O + Numberik Huruf O + Numerik 0 – 9 (6 digit)IDPelanggan O + Numberik Huruf O + Numerik 0 – 9 (6 digit)IDPegawai O + Numberik Huruf O + Numerik 0 – 9 (6 digit)
8. PembayaranField Tipe Data Domain
No Faktur P + Numberik Huruf P + Numerik 0 – 9 (6 digit)Tipe Pembayaran Kode numerik 1 = Cash, 2 = KreditTanggal Pembayaran DateCara pembayaran Teks Tunai, Transfer, kartu kreditJumlah Bayar Currency
9. ImplementationMembuat DDL untuk masing-masing tabel???
Contoh untuk tabel tblPelanggan di atas:
Create table tblPelanggan(IDPelanggan Number (5) Primary Key,
Nama Varchar(50) Not Null,NmJalan Varchar (50) Not Null,Kota Varchar(50) Not Null,KP Varchar(5),Telp Varchar(15),TglLahir Date Not Null,L/P Char(1) Check (L/P IN (“L”, “P”))Pekerjaan Varchar (50) Not Null)
Create table tblPenjualan(NoFaktur P + Numberik 0-9(6 digit)Tgl Penjualan Date,Tipe Pembayaran Kode numerikl,Carah Pembayarn Text (Tunai, transfer,kartu kredit) Not NullID Mobil O + Numberik (huruf O + Numberik 0-9)(IDPelanggan Number (5) Primary key,ID Pegawai (15),Jumlah Bayar Currency
Create table tblPegawai(IDPegawai Number (5) Primary Key,Nama Varchar(50) Not Null,NmJalan Varchar (50) Not Null,Kota Varchar(50) Not Null,KP Varchar(5),Telp Varchar(15),TglLahir Date Not Null,L/P Char(1) Check (L/P IN (“L”, “P)Kota Text (50)Kode Pos text (14)Pekerjaan Varchar (50) Not Null)
Create table tblMobil(IDMobil Number (5) Primary Key,IDTipe Text (huruf O + Numberik 0-9)Warna Text(50) Not Null,Jumlah Text Text 50 karakterHarga Jual Text 50 karakterNmJalan Varchar (50) Not Null,Jumlah Stock text (text 50 karakter)
Create table tblPemilik(IDPemilik Number (5) Primary Key,Nama Varchar(50) Not Null,NmJalan Varchar (50) Not Null,Kota Varchar(50) Not Null,Telp Varchar(15),Kota Text (50)Kode Pos text (14)
Create table tblSpesifikasi(IDTipe Number (5) Primary Key,Rem Depan Varchar(50) Not Null,Rem Belakang Varchar (50) Not Null,Tipe Mesin Varchar(50) Not Null,Daya Maks varchar (15),
Kopling Text (50)Starter text (50)Sistem Pengapian Text (50)
Create table tblPengirimanIDPengiriman number ) + Numberik primary keyTglPengiriman Date,ID Mobil O + Numberik (huruf O + Numberik 0-9)(IDPelanggan Number (5) Primary key,ID Pegawai (15),
Create table tblPembayaranNo Faktur P + Numberik (0-9)Tipe Pembayaran vachar Kode numerik 1 = cash 2 = kreditTanggal Pembayaran DateCarah pembayaran text (tunai,transfer,kartu kredit)Jumlah bayar vachar (Currency)