Pengelolaan Basis Data pembelian HP di ABC cell
1. Aktifitas Bisnis
1) Penjual menawarkan brosur yang berisi stok HP yang dijual.
2) Pembeli memilih HP yang akan dibeli
3) Transaksi penjualan
4) Penjual melakukan dokumentasi transaksi
5) Pembeli menyerahkan uang pembelian kepada penjual
6) Penyerahan bukti pembelian dari penjual ke pembeli
7) Selesai
2. Pemodelan Data
a. Entitas dan klasifikasi
1) Pembeli
2) Membeli
3) Handphone
b. Relasi dan Kardinalitas
Relasi : Membeli
Kardinalitas/derajat keterhubungan : many to many
3. Normalisasi
a. Atribut
1) Pembeli
#KodePembeli, NamaPembeli, alamat.
2) Membeli
#KodePembeli, #KodeBarang. TanggalBeli,
3) Handphone
#KodeBarang, MerkHandphone, TipeHandphone, harga, garansi.
b. Value/field
1) Tabel pembeli
KodePembeli | NamaPembeli | Alamat |
001 | Dani Ginanjar | BCI Garut |
002 | Kharisma Wiati Gusti | Perum Pamoyanan |
003 | Ridwan Munawar | Karpaw |
004 | Deri Setiawan | Ciawitali |
005 | Yosep Bustomi | Karangpawitan |
006 | Asep Nurjaman | Ciawitali |
007 | Yoga Nurjaman | Pasirwangi |
2) Tabel membeli
KodePembeli | KodeBarang | TanggalBeli |
001 | 001 | 02/05/2010 |
002 | 005 | 02/05/2010 |
003 | 003 | 03/05/2010 |
004 | 004 | 04/05/2010 |
005 | 002 | 07/05/2010 |
006 | 007 | 09/05/2010 |
007 | 006 | 11/05/2010 |
3) Handphone
KodeBarang | MerkHandphone | TipeHandphone | Harga | Garansi |
001 | Nokia | 2000 | Rp. 500.000 | 2 minggu |
002 | Nokia | 2000 | Rp. 500.000 | 2 minggu |
003 | Nexian | G30 | Rp. 400.000 | 1 minggu |
004 | Motorola | C115 | Rp. 350.000 | 3 minggu |
005 | Sony Ericsson | K700i | Rp. 500.000 | 1 bulan |
006 | samsung | G250 | Rp. 1.500.000 | 1 bulan |
007 | Esia | Huawei | Rp. 100.000 | 1 minggu |
c. Normal form
1) Tabel Pembeli memenuhi bentuk normal BCNF, sehingga tidak harus dinormalisasi.
KodePembeli | NamaPembeli | Alamat |
001 | Dani Ginanjar | BCI Garut |
002 | Kharisma Wiati Gusti | Perum Pamoyanan |
003 | Ridwan Munawar | Karangpawitan |
004 | Deri Setiawan | Ciawitali |
005 | Yosep Bustomi | Karangpawitan |
006 | Asep Nurjaman | Ciawitali |
007 | Dani Ginanjar | BCI Garut |
2) Tabel Membeli berada pada bentuk normal ke 3
KodePembeli | KodeBarang | TanggalBeli |
001 | 001 | 02/05/2010 |
002 | 005 | 02/05/2010 |
003 | 003 | 03/05/2010 |
004 | 004 | 04/05/2010 |
005 | 002 | 07/05/2010 |
006 | 007 | 09/05/2010 |
007 | 006 | 11/05/2010 |
Bentuk di atas harus didekomposisi menjadi tabel-tabel berikut :
Tabel membeli1
KodeBarang | TanggalBeli |
001 | 02/05/2010 |
005 | 02/05/2010 |
003 | 03/05/2010 |
004 | 04/05/2010 |
002 | 07/05/2010 |
007 | 09/05/2010 |
006 | 11/05/2010 |
Tabel membeli2
KodePembeli | TanggalBeli |
001 | 02/05/2010 |
002 | 02/05/2010 |
003 | 03/05/2010 |
004 | 04/05/2010 |
005 | 07/05/2010 |
006 | 09/05/2010 |
007 | 11/05/2010 |
3) Tabel handphone berada pada bentuk normal BCNF
KodeBarang | MerkHandphone | TipeHandphone | Harga | garansi |
001 | Nokia | 2000 | Rp. 500.000 | 2 minggu |
002 | Nokia | 2000 | Rp. 500.000 | 2 minggu |
003 | Nexian | G30 | Rp. 400.000 | 1 minggu |
004 | Motorola | C115 | Rp. 350.000 | 3 minggu |
005 | Sony Ericsson | K700i | Rp. 500.000 | 1 bulan |
006 | samsung | G250 | Rp. 1.500.000 | 1 bulan |
007 | Esia | Huawei | Rp. 100.000 | 1 minggu |
4. Structure query Language(SQL)
a. DDL
Untuk SQL DDL maka diperlukan sintak untuk membuat tabel-tabel berikut:
1) Tabel Pembeli
2) Tabel membeli1
3) Tabel membeli2
4) Tabel handphone
1) Database penjualan handphone
Syntak membuat database:
CREATE DATABASE PENJUALAN_HP
2) Tabel Pembeli
Sintak SQL : CREATE TABLE Pembeli(KodePembeli Char(3), NamaPembeli Char(30), Alamat char(100), Primary Key(KodePembeli))
3) Tabel membeli1
Sintak SQL : CREATE TABLE membeli1(TanggalBeli datetime not null,KodePembeli char(3), Primary Key(KodePembeli))
4) Tabel membeli2
Sintak SQL : CREATE TABLE membeli2(TanggalBeli datetime not null,KodeBarang char(3), Primary Key(KodeBarang))
5) Tabel Handphone
Sintak SQL : CREATE TABLE Handphone(KodeBarang char(3), MerkHandphone char(10), TipeHandphone char(5),Harga int not null, Garansi char(8), Primary Key(KodeBarang))
b. DML
INSERT data ke tabel Pembeli:
INSERT INTO Pembeli (Kode, NamaPembeli, Alamat) VALUES (‘001’, ‘Dani Ginanjar’, ‘BCI Garut’);
INSERT INTO Pembeli (Kode, NamaPembeli, Alamat) VALUES (‘002’, ‘Kharisma Wiati Gusti’, ‘Perum Pamoyanan’);
INSERT INTO Pembeli (Kode, NamaPembeli, Alamat) VALUES (‘003’, ‘Ridwan Munawar’, ‘Karangpawitan’);
INSERT INTO Pembeli (Kode, NamaPembeli, Alamat) VALUES (‘004’, ‘Deri Setiawan’, ‘Ciawitali’);
INSERT INTO Pembeli (Kode, NamaPembeli, Alamat) VALUES (‘005’, ‘Yosep Bustomi’, ‘Karangpawitan’);
INSERT INTO Pembeli (Kode, NamaPembeli, Alamat) VALUES (‘006’, ‘Asep Nurjaman’, ‘Ciawitali’);
INSERT INTO Pembeli (Kode, NamaPembeli, Alamat) VALUES (‘007’, ‘Dani Ginanjar’, ‘BCI Garut’);
INSERT data ke tabel membel1i:
INSERT INTO Membeli1 (Kodebarang,TanggalBeli ) VALUES (‘001’, ‘02/05/2010’);
INSERT INTO Membeli1 (Kodebarang,TanggalBeli ) VALUES (‘005’, ‘02/05/2010’);
INSERT INTO Membeli1 (Kodebarang,TanggalBeli ) VALUES (‘003’, ‘03/05/2010’);
INSERT INTO Membeli1 (Kodebarang,TanggalBeli ) VALUES (‘004’, ‘04/05/2010’);
INSERT INTO Membeli1 (Kodebarang,TanggalBeli ) VALUES (‘002’, ‘07/05/2010’);
INSERT INTO Membeli1 (Kodebarang,TanggalBeli ) VALUES (‘007’, ‘09/05/2010’);
INSERT INTO Membeli1 (Kodebarang,TanggalBeli ) VALUES (‘006’, ‘11/05/2010’);
INSERT data ke tabel membel2i:
INSERT INTO Membeli2 (Kodepembeli,TanggalBeli ) VALUES (‘001’, ‘02/05/2010’);
INSERT INTO Membeli2 (KodePembeli,TanggalBeli ) VALUES (‘002’, ‘02/05/2010’);
INSERT INTO Membeli2 (KodePembeli,TanggalBeli ) VALUES (‘003’, ‘03/05/2010’);
INSERT INTO Membeli2 (KodePembeli,TanggalBeli ) VALUES (‘004’, ‘04/05/2010’);
INSERT INTO Membeli2 (KodePembeli,TanggalBeli ) VALUES (‘005’, ‘07/05/2010’);
INSERT INTO Membeli2 (KodePembeli,TanggalBeli ) VALUES (‘006’, ‘09/05/2010’);
INSERT INTO Membeli2 (KodePembeli,TanggalBeli ) VALUES (‘007’, ‘11/05/2010’);
INSERT data tabel Handphone
INSERT INTO Handphone (KodeBarang, MerkHandphone, TypeHanphone, Harga, Garansi ) VALUES (‘001’, ‘Nokia’,’2000’,’Rp. 500.000’,’2Minggu’);
INSERT INTO Handphone (KodeBarang, MerkHandphone, TypeHanphone, Harga, Garansi ) VALUES (‘002’, ‘Nokia’,’2000’,’Rp. 500.000’,’1Minggu’);
INSERT INTO Handphone (KodeBarang, MerkHandphone, TypeHanphone, Harga, Garansi ) VALUES (‘003’, ‘Nexian’,’G30’,’Rp. 400.000’,’2Minggu’);
INSERT INTO Handphone (KodeBarang, MerkHandphone, TypeHanphone, Harga, Garansi ) VALUES (‘004’,’Motorola’,’C115’,’Rp. 350.000’,’3Minggu’);
INSERT INTO Handphone (KodeBarang, MerkHandphone, TypeHanphone, Harga, Garansi ) VALUES (‘005’, ‘Sony Ericsson’,’K700i’,’Rp. 500.000’,’1Bulan’);
INSERT INTO Handphone (KodeBarang, MerkHandphone, TypeHanphone, Harga, Garansi ) VALUES (‘006’, ‘Samsung’,’G250’,’Rp.1 500.000’,’1Bulan’);
INSERT INTO Handphone (KodeBarang, MerkHandphone, TypeHanphone, Harga, Garansi ) VALUES (‘007’, ‘Esia’,’Huawei’,’Rp. 100.000’,’1Minggu’);
SELECT Data untuk membuat REPORT Penjualan
Komponen-komponen :
1. TanggalBeli dari tabel membeli1
2. NamaPembeli dari tabel Pembeli
3. KodeBarang dari tabel membeli1
4. MerkHandphone dari tabel Handphone
5. TipeHandphone dari tabel Hanphone
6. Harga dari tabel Handphone
7. Garansi dari tabel Handphone
Syntak SQL
SELECT TanggalBeli FROM Membeli1
SELECT NamaPembeli FROM Pembeli
SELECT KodeBarang FROM Membeli1
SELECT MerkHandphone, TipeHandphone, Harga, Garansi FROM Handphone
5. Translasi dan simulasi
Tidak ada komentar:
Posting Komentar