Anda di halaman 1dari 14

Tugas Besar 2

Perancangan Basis Data


UNIVERSITAS MERCU BUANA KRANGGAN, BEKASI

FASILKOM / TEKNIK INFORMATIKA


Dosen : Wuwuh Hartiningsih,ST,MMSI

Contoh Kasus
Pembuatan Database Penjualan

Nama : 1. M. Alfi Himawan Al Asygaf (41519310048)


2. M. Alfadi Aryono (41519310051)
3. Josbil Artha Mirando Debataraja (41519310009)
Studi Kasus
Perancangan Basis Data Sistem Jual Beli Barang

Entitas

Produsen Barang Kasir Customer Transaksi Pembayaran

Atribut

Menghubungkan Antar Entitas

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


2 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
TRANSFORMASI KE TABLE DATABASE
Gambaran ER menjadi basis data fisik (level fisik dlm abstraksi data).

Tabel Produsen
Id_produsen** nama_produsen telp_produsen alamat_produsen kota_produsen merk

Tabel Barang
kd_barang** nama_barang gender_barang id_produsen* merk ukuran warna harga

Tabel Customer
id_customer** nama_customer email_customer alamat_customer kota_customer

Tabel Kasir
id_kasir** nama_kasir

Tabel Pembayaran
kd_pembayaran** Tanggal id_customer* total id_kasir*

Tabel Transaksi
kd_pembayaran* kd_barang* qty_beli sub_total

Normalisasi

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


3 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
Tahap 1: Unnormalisasi (Belum dinormalisasi)

Tahap 2: 1NF (Normalisasi 1) Primary Key

Tahap 3: 2NF (Normalisasi 2)

a. Table Pembayaran Primary Key Foreign Key

Table Barang (Sebelum) Primary Key

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


4 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
Table Barang (Sesudah) Primary Key Foreign Key

Table Produsen Primary Key

Table Customer Primary Key

Table Kasir Primary Key

Tahap 4: 3NF (Normalisasi 3)

Table Pembayaran Primary Key Foreign Key

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


5 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
Table Barang Primary Key Foreign Key

Table Produsen Primary Key

Table Customer Primary Key

Table Kasir Primary Key

Table Transaksi Foreign Key

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


6 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
Membuat Struktur Table
Tabel Pembayaran
Field Name Tipe Data Field Size Keterangan
kd_pembayaran** Varchar 10 Primary Key
Tanggal Date Tanggal Bayar
id_customer* Varchar 5 Foreign Key
total Int Total Bayar
Id_kasir* Varchar 5 Foreign Key

Tabel Barang
Field Name Tipe Data Field Size Keterangan
kd_barang** Varchar 11 Primary Key
nama_barang Varchar 50 Nama Barang
gender_barang Varchar 6 Jenis Kelamin
id_produsen* Varchar 5 Foreign Key
ukuran Char 5 Ukuran Barang
warna Varchar 20 Warna Barang
harga Int Harga Barang

Tabel Produsen
Field Name Tipe Data Field Size Keterangan
id_produsen** Varchar 5 Primary Key
nama_produsen Varchar 50 Nama Produsen
telp_produsen Varchar 13 Kontak Produsen
alamat_produsen Varchar 100 Alamat Lengkap Produsen
kota_produsen Varchar 25 Kota Produsen
merk Varchar 20 Merk Produksi

Tabel Customer
Field Name Tipe Data Field Size Keterangan
id_customer** Varchar 5 Primary Key
nama_customer Varchar 50 Nama Pelanggan
notelp_customer Varchar 13 Kontak Pelanggan
email_customer Varchar 25 Email Pelanggan
alamat_customer Varchar 100 Alamat Lengkap Pelanggan
kota_customer Varchar 25 Kota Pelanggan

Tabel Kasir
Field Name Tipe Data Field Size Keterangan
id_kasir** Varchar 5 Primary Key
nama_kasir Varchar 50 Nama Petugas

Tabel Transaksi
Field Name Tipe Data Field Size Keterangan
kd_pembayaran* Varchar 10 Foreign Key
kd_barang* Varchar 11 Foreign Key
qty_beli Int Jumlah Beli
sub_total Int Jml.Beli*Harga Barang

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


7 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
Implementasi ke Sebuah Database

Menggunakan phpMyAdmin > MySQL

a. Membuat Database

Disini databasenya akan diberi nama penjualan

- Query SQL :

CREATE database penjualan;

- Atau bisa langsung dengan cara di bawah ini :

2. Membuat Table Sesuai Struktur Tabel di atas

- Query SQL :

USE penjualan;

a. Tabel Pembayaran

- Query SQL :

CREATE TABLE pembayaran (kd_pembayaran VARCHAR (10) PRIMARY KEY,


Tanggal DATE, id_customer VARCHAR (5), total INT, id_kasir VARCHAR (5));

- atau bisa langsung dengan cara di bawah ini :

Atau

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


8 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
1. Isi Nama Tabel 4. Untuk kd_pembayaran ke tab Indeks, set
indeks dengan PRIMARY

10
3. Scroll ke samping
2. Isi Kolom, Jenis, Ukuran

5. Untuk atribut id_customer dan id_kasir juga ke tab Indeks,


kemudian set indeks menjadi Index

6. Simpan apabila semua kolom sudah terisi. Jika kolom tabel lebih dari 4 kolom
bisa tambahkan (Add) “jumlah kolom yang mau ditambahkan” kemudian Go

- Set Index id_customer dan id_kasir juga bisa dilakukan dengan Query SQL :

ALTER TABLE pembayaran ADD INDEX (id_customer);

ALTER TABLE pembayaran ADD INDEX (id_kasir);

Table pembayaran berhasil dibuat. Hasilnya :

b. Tabel Barang

- Query SQL :

CREATE TABLE barang (kd_barang VARCHAR (11) PRIMARY KEY, nama_barang VARCHAR (50),
gender_barang VARCHAR (6), id_produsen VARCHAR (5), ukuran CHAR(5), warna VARCHAR (20),
total INT);

atau bisa langsung dengan cara seperti tahap pembuatan tabel pembayaran di atas.
2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning
9 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
- Set Index id_produsen Query SQL :

ALTER TABLE barang ADD INDEX (id_produsen);

Hasilnya :

c. Tabel Produsen

- Query SQL :

CREATE TABLE produsen (id_produsen VARCHAR (5) PRIMARY KEY, nama_produsen VARCHAR
(50), telp_produsen VARCHAR (13), alamat_produsen VARCHAR (100),
kota_produsen VARCHAR(25), merk VARCHAR (20));

Hasilnya :

d. Tabel Customer

- Query SQL :

CREATE TABLE customer (id_customer VARCHAR (5) PRIMARY KEY, nama_customer VARCHAR
(50), notelp_customer VARCHAR (13), email_customer VARCHAR (25),
alamat_customer VARCHAR(100), kota_customer VARCHAR (25));

Hasilnya :

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


10 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
e. Tabel Kasir

- Query SQL :

CREATE TABLE kasir (id_kasir VARCHAR (5) PRIMARY KEY, nama_kasir VARCHAR (50));

Hasilnya :

f. Tabel Transaksi

- Query SQL :

CREATE TABLE transaksi (kd_pembayaran VARCHAR (10), kd_barang VARCHAR (11),


qty_beli INT, sub_total INT);

- Set Index kd_pembayaran dan kd_barang dengan Query SQL :

ALTER TABLE transaksi ADD INDEX (kd_pembayaran);

ALTER TABLE transaksi ADD INDEX (kd_barang);

Hasilnya :

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


11 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
Print Relasinya

Pengujian Basis Data


Dalam pengujian basis data ini dilakukan untuk mengetes tabel-tabel yang sudah kita normalisasi
apakah sudah normal atau belum. Untuk itu kita mesti mengonsep dulu kebutuhan informasi dari
database yang kita buat itu. Tentunya rencana informasi yang akan ditampilkan adalah tidak
keluar dari cakupan database yang kita buat. Contohnya sbb :

Kebutuhan informasi

1. Menampilkan informasi penjualan barang dengan pembeli bernama Santoso

no. nama_
tanggal nama gendermerk ukuran warna qty harga sub_total
nota barang
… ... Santoso … … ... ... ... ... ... ...

2. Menampilkan informasi data penjualan Kaos Obong untuk Pria tanggal 27 Mei 2020

no. nama_
tanggal nama gender merk ukuran warna qty harga sub_total
nota barang
2020-05- Kaos
… ... Pria ... ... ... ... ... ...
27 Oblong

3. Menampilkan informasi data riwayat pembelian barang oleh customer

no. nota tanggal petugas nama no_telp alamat kota total pembelian
… ... ... ... ... ... ... ...

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


12 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
Perintah SQL :

1. Menampilkan informasi penjualan barang dengan pembeli bernama Santoso

SELECT pembayaran.kd_pembayaran, pembayaran.Tanggal, customer.nama_customer,


barang.nama_barang, barang.gender_barang, produsen.merk, barang.ukuran, barang.warna,
transaksi.qty_beli, transaksi.sub_total
FROM pembayaran INNER JOIN customer ON pembayaran.id_customer = customer.id_customer
INNER JOIN transaksi ON transaksi.kd_pembayaran = pembayaran.kd_pembayaran
INNER JOIN barang ON transaksi.kd_barang = barang.kd_barang
INNER JOIN produsen ON barang.id_produsen = produsen.id_produsen
WHERE nama_customer="Santoso"

Tampilkan hasil pengujian

2. Menampilkan informasi data penjualan Kaos Obong untuk Pria tanggal 27 Mei 2020

SELECT pembayaran.kd_pembayaran, pembayaran.Tanggal, customer.nama_customer,


barang.nama_barang, barang.gender_barang, produsen.merk, barang.ukuran, barang.warna,
transaksi.qty_beli, transaksi.sub_total
FROM pembayaran INNER JOIN customer ON pembayaran.id_customer = customer.id_customer
INNER JOIN transaksi ON transaksi.kd_pembayaran = pembayaran.kd_pembayaran
INNER JOIN barang ON transaksi.kd_barang = barang.kd_barang
INNER JOIN produsen ON barang.id_produsen = produsen.id_produsen
WHERE nama_barang="Kaos Oblong" AND gender_barang="Pria" AND Tanggal="2020-05-27"

Tampilkan hasil pengujian

3. Menampilkan informasi data riwayat pembelian barang oleh customer

SELECT pembayaran.kd_pembayaran, pembayaran.Tanggal, kasir.nama_kasir,


customer.nama_customer, customer.notelp_customer, customer.alamat_customer,
customer.kota_customer,pembayaran.total
FROM pembayaran INNER JOIN customer ON pembayaran.id_customer = customer.id_customer
INNER JOIN kasir ON pembayaran.id_kasir = kasir.id_kasir
2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning
13 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id
Tampilkan hasil pengujian

Daftar Pustaka

1. Database system: A Practical approach to design, implementation and management


2. Sistem Manajemen Basis Data
3. Oracle database 10g: SQL Fundamentals I
4. Yakub. 2008. Sistem Basis Data. Yogyakarta : Graha Ilmu

2019 Sistem Informasi Manajemen Pusat Bahan Ajar dan eLearning


14 Wuwuh Hartiningsih,ST,MMSI http://www.mercubuana.ac.id

Anda mungkin juga menyukai