Merancang Database Aplikasi Penjualan Penjualan

Merancang Database
Aplikasi Penjualan
Sebelum melangkah ke Bab 7 yang membahas studi kasus, Anda
wajib membaca dan melakukan semua yang ada di dalam bab ini.
Sebab dalam bab ini akan dibahas dasar-dasar dari sistem yang
akan dibangun pada bab selanjutnya.

6.1

Melihat Relasional Tabel

Penggambaran hubungan/relasi tabel ini kami maksudkan untuk
mempermudah Anda dalam memahami sistem. Berikut bentuk
relasinya apabila digambarkan dari aplikasi Visio.

Gambar 6.1 Hubungan Antartabel pada oleholehdb

105

Dengan adanya gambaran di atas, diharapkan Anda tidak mengalami kebingungan atau kesulitan untuk membuat programnya.


6.2

Memahami Prosedur Program

Sebagai tempat kasus dari aplikasi yang akan dibuat adalah sebuah
toko penjualan oleh-oleh. Toko tersebut melakukan penjualan langsung kepada konsumen. Semua barang dagangan yang diperjualbelikan tidak diproduksi sendiri, tetapi toko tersebut juga membelinya
secara langsung kepada pabrik atau supplier.
Dari gambaran di atas, yang perlu Anda buat adalah sebuah aplikasi
yang dapat membantu penjual untuk melakukan pencatatan setiap
transaksi yang dilakukan, termasuk penjualan dan pembeliannya.
Pada proyek ini, program belum mampu untuk menangani pembayaran secara kredit. Sistem pembayarannya secara tunai.

6.3

Membuat dan Mengaktifkan Database

Pada gambaran sebelumnya, Anda perlu memikirkan seberapa besar
database yang akan diperlukan. Dari hasil pemikiran tersebut, Anda
akan mengira-ngira berapa dan apa tabel yang akan digunakan
sebagai media penyimpanan datanya.

Dari analisis kami, untuk membuat aplikasi ini kita membutuhkan
8 tabel yang terdiri atas 6 tabel master dan 2 tabel transaksi.
Kedelapan tabel tersebut berada di dalam direktori Database dan
disimpan dengan nama oleholehdb.
mysql> CREATE DATABASE oleholehdb;
Query OK, 1 row affected (0.00 sec)

Selanjutnya, aktifkanlah database yang terbuat dengan perintah
berikut:
mysql> USE oleholehdb;
Database changed

Pernyataan “Database changed” di atas menandakan Anda sekarang telah aktif di dalam database oleholehdb.

106

6.4

Membuat Tabel Operator


Tabel Operator digunakan untuk merekam data-data pengguna yang
akan mengoperasikan sistem ini. Untuk dapat mengoperasikan sistem, setiap pengguna harus memiliki user dan password untuk login.
Data-data inilah yang disimpan dalam tabel operator. Berikut desain
tabelnya.
Tabel 6.1 Struktur Desain Tabel Operator
Kolom

Tipe data

Panjang

kd_operator *

CHAR

4

nm_operator

VARCHAR


45

kelamin

CHAR

1

alamat

VARCHAR

100

user_id

VARCHAR

25


pass_id

VARCHAR

25

Dari desain tabel operator di atas, Anda dapat membuatnya dalam
database MySQL menggunakan perintah berikut:
CREATE TABLE operator (
kd_operator CHAR(4) NOT NULL,
nm_operator VARCHAR(45) NOT NULL,
kelamin CHAR(1) NOT NULL,
alamat VARCHAR(100) NOT NULL,
user_id VARCHAR(25) NOT NULL,
pass_id VARCHAR(25) NOT NULL,
PRIMARY KEY (Kd_Operator)
);

Apabila berhasil, Anda akan mendapatkan tabel baru dalam database OlehOlehDb bernama operator. Berikut hasil tabel yang dibuat.


107

Untuk data standar, Anda dapat memasukkan dua contoh data
dengan perintah berikut:
INSERT INTO operator
VALUES ('OP01', 'Bunafit Nugroho', 'P',
'Way Jepara, Lampung', 'NoBoN', 'aa');
INSERT INTO operator
VALUES ('OP02', 'Indah Indriyana', 'W',
'Way Jepara, Lampung', 'indah', 'aab');

Catatan
Nilai data yang dimasukan pada tabel operator di atas
nantinya yang akan digunakan untuk login sistem. Jadi,
Anda dapat login dengan user “NoBoN” dan passwordnya adalah “aa”.

6.5

Membuat Tabel Supplier


Tabel Suplayer digunakan untuk merekam data-data supplier.
Supplier adalah instansi atau pihak yang menyediakan semua oleholeh yang dijual oleh toko. Dengan adanya pencatatan nama
supplier, kita dapat mendokumentasikan daftar supplier yang ada
dan dapat dihubungkan pada transaksi pengambilan barang (pembelian). Berikut desain tabelnya.
Tabel 6.2 Struktur Desain Tabel Suplayer
Kolom

Tipe data

Panjang

kd_spl *

CHAR

4

nama_spl


VARCHAR

35

108

alamat_spl

VARCHAR

100

no_telp

VARCHAR

15

no_hp


VARCHAR

15

keterangan

MEDIUMTEXT

Dari desain tabel di atas, Anda dapat membuatnya dalam MySQL
menggunakan perintah berikut:
CREATE TABLE suplayer (
kd_spl CHAR(4) NOT NULL,
nama_spl VARCHAR(35) NOT NULL,
alamat_spl VARCHAR(100) NOT NULL,
no_telp VARCHAR(15) NOT NULL,
no_hp VARCHAR(15) default NULL,
keterangan MEDIUMTEXT,
PRIMARY KEY (Kd_Spl)
);


Setelah perintah SQL di atas dijalankan, Anda akan mendapatkan
tabel baru bernama suplayer. Berikut deskripsi tabel yang terbentuk.

6.6

Membuat Tabel Jenis

Pada studi kasus yang dibuat, tabel dibuat dengan nama
jenis_oleh_oleh. Tabel ini digunakan untuk mengategorikan jenis
oleh-oleh atau jenis barang yang dijual. Dengan cara ini, kita dapat
mengelompokkan setiap makanan ke dalam jenis tersendiri. Berikut
desain tabelnya.

109

Tabel 6.3 Struktur Desain Tabel jenis_oleh_oleh
Kolom

Tipe data


Panjang

kd_jenis *

CHAR

3

nama_jenis

VARCHAR

50

keterangan

VARCHAR

100

Dari desain tabel di atas, Anda dapat membuatnya dalam MySQL
menggunakan perintah berikut:
CREATE TABLE jenis_oleh_oleh (
kd_jenis CHAR(3) NOT NULL,
nama_jenis VARCHAR(50) NOT NULL,
keterangan VARCHAR(100) default NULL,
PRIMARY KEY (Kd_Jenis)
);

Setelah perintah pembuatan tabel di atas dijalankan, sekarang Anda
telah memiliki tabel baru bernama jenis_oleh_oleh. Berikut struktur
hasil pembuatannya.

6.7

Membuat Tabel Barang

Barang yang dijual dalam aplikasi yang dibuat adalah oleh-oleh
sehingga tabelnya dibuat dengan nama OlehOleh. Tabel ini digunakan untuk merekam semua data makanan/oleh-oleh yang dijual
pada toko. Pada tabel ini, kita memiliki kolom kunci tamu yang
berasal dari tabel jenis_oleh_oleh. Nama kunci tamu tersebut adalah
kd_jenis. Berikut desain tabelnya.

110

Tabel 6.4 Struktur Desain Tabel oleh_oleh
Kolom

Tipe data

Panjang

kd_oleh_oleh *

CHAR

5

kd_jenis

CHAR

3

nm_oleh_oleh

VARCHAR

60

harga_satuan

INT

11

stok

SMALLINT

6

keterangan

MEDIUMTEXT

Dari desain tabel di atas, Anda dapat membuatnya dalam MySQL
menggunakan perintah berikut:
CREATE TABLE oleh_oleh (
kd_oleholeh CHAR(5) NOT NULL,
kd_jenis CHAR(3) NOT NULL,
nm_oleholeh VARCHAR(60) NOT NULL,
harga_satuan INT(11) NOT NULL default '0',
stok SMALLINT(6) NOT NULL default '0',
keterangan MEDIUMTEXT,
PRIMARY KEY (Kd_OlehOleh)
);

Setelah perintah di atas Anda jalankan, apabila berhasil, Anda sekarang memiliki tabel baru bernama oleh_oleh. Berikut deskripsinya.

111

6.8

Membuat Tabel TransPembelian
dan det_transpembelian

Tabel transpembelian merupakan tabel yang digunakan untuk merekam proses transaksi pembelian berlangsung. Sedangkan data
lengkap yang menjadi informasi detail dari pembelian akan disimpan
pada tabel transaksi bernama det_transpembelian. Berikut kedua
tabel berikut.
Tabel 6.5 Struktur Desain Tabel transpembelian
Kolom

Tipe data

Panjang

no_pembelian *

CHAR

7

kd_spl

CHAR

4

tgl_beli

DATE

Dari desain tabel di atas, Anda dapat mengimplementasikan pada
database MySQL menggunakan perintah berikut:
CREATE TABLE transpembelian (
no_pembelian CHAR(7) NOT NULL,
kd_spl CHAR(4) NOT NULL,
tgl_beli DATE NOT NULL default '0000-00-00',
PRIMARY KEY (No_Pembelian)
);

Apabila perintah di atas dijalankan berhasil, Anda sekarang telah
memiliki tabel bernama transpembelian. Berikut hasil pembuatannya.

Setelah tabel transpembelian dibuat, sekarang Anda dapat membuat
tabel det_transpembelian. Tabel ini berfungsi untuk merekam detail

112

dari barang atau oleh-oleh yang dibeli (karena Many to Many).
Desain tabel detail dapat dilihat di bawah ini.
Tabel 6.6 Struktur Desain Tabel det_transpembelian
Kolom

Tipe data

Panjang

id_dpembelian *

INT

7 (Auto)

no_pembelian

CHAR

7

kd_oleh_oleh

CHAR

5

harga_beli

DOUBLE

persen_hrg_jual

SMALLINT

6

jumlah

SMALLINT

6

Dari desain tabel di atas, Anda dapat menerapkan pembuatannya
pada database MySQL. Untuk itu, jalankanlah perintah berikut:
CREATE TABLE det_transpembelian (
id_dpembelian INT(7) NOT NULL auto_increment,
no_pembelian CHAR(7) NOT NULL,
kd_oleh_oleh CHAR(5) NOT NULL,
harga_beli DOUBLE NOT NULL,
persen_hrg_jual SMALLINT(6) NOT NULL default '0',
jumlah SMALLINT(6) NOT NULL default '0',
PRIMARY KEY (ID_dPembelian)
);

Setelah Anda menjalankan perintah di atas, sekarang Anda memiliki
tabel baru bernama det_transpembelian. Berikut hasil pembuatannya.

113

6.9

Membuat Tabel TransPenjualan
dan det_transpenjualan

Tabel tranpenjualan merupakan tabel yang digunakan untuk merekam proses transaksi penjualan berlangsung. Sedangkan data
lengkap yang menjadi informasi detail dari pembelian akan disimpan
pada tabel transaksi bernama det_transpenjualan.
Tabel 6.7 Struktur Desain Tabel transpembelian
Kolom

Tipe data

Panjang

no_penjualan *

CHAR

7

nm_pembeli

VARCHAR

45

alamat

VARCHAR

45

tgl_jual

DATE

Dari desain tabel di atas, Anda dapat menerapkannya pada database
MySQL. Caranya Anda dapat menjalankan perintah berikut.
CREATE TABLE transpenjualan (
no_penjualan CHAR(7) NOT NULL,
nm_pembeli VARCHAR(45) NOT NULL,
alamat VARCHAR(45) NOT NULL,
tgl_jual DATE NOT NULL default '0000-00-00',
PRIMARY KEY (No_Penjualan)
);

Setelah perintah SQL di atas dijalankan, sekarang Anda telah memiliki tabel beru bernama transpenjualan. Berikut hasil deskripsinya.

Setelah tabel transpenjualan selesai dibuat, Anda sekarang dapat
melanjutkan pembuatan tabel det_transpenjualan. Tabel ini berfungsi
untuk merekam deskripsi lengkap atau daftar barang yang dijual
114

(dalam hal ini barang yang dibeli konsumen). Desain tabelnya
sebagai berikut.
Tabel 6.8 Struktur Desain Tabel det_transpenjualan
Kolom

Tipe data

Panjang

id_dpenjualan

INT

7 (Auto)

no_penjualan

CHAR

7

kd_oleh_oleh

CHAR

5

jumlah

SMALLINT

6

Dengan melihat struktur desain tabel di atas, Anda dapat menerapkannya dengan menjalankan perintah berikut:
CREATE TABLE det_transpenjualan (
id_dpenjualan INT(7) NOT NULL auto_increment,
no_penjualan CHAR(7) NOT NULL,
kd_oleh_oleh CHAR(5) NOT NULL,
jumlah SMALLINT(6) NOT NULL default '0',
PRIMARY KEY (ID_dPenjualan)
);

Setelah perintah di atas dijalankan, apabila berhasil Anda akan
segera mendapatkan tabel baru bernama det_transpenjualan di
dalam database oleholehdb. Hasil deskripsi tabel tersebut sebagai
berikut.

Yang perlu diingat, semua tabel di atas dibuat pada database bernama oleholehdb. Sehingga, pada akhir perintah, Anda telah memiliki semua tabel lengkap. Berikut tampilannya.

115

6.10 Menjalankan File Dump
Dari beberapa proses pembuatan database oleholehdb sampai
dengan pembuatan tabel det_transpenjualan, jika sebagian dari pembaca masih bingung ataupun sampai saat ini belum membuatnya,
Anda dapat membuatnya dengan cara menjalankan file dump yang
kami sertakan dalam CD penyerta buku.
File dump yang berisi database oleholehdb disimpan dengan nama
file dump_OlehOlehDb.txt, Anda bisa mendapatkannya pada direktori Database. Cara menjalankan file dumpt tersebut seperti berikut.
mysql> SOURCE E:\Database\dump_OlehOlehDb.txt
Query OK, 1 row affected (0.00 sec)
Database changed
Query OK, 0 rows
Query OK, 0 rows
Query OK, 0 rows
Query OK, 0 rows
Query OK, 0 rows
Query OK, 0 rows
Query OK, 0 rows
Query OK, 0 rows
Query OK, 0 rows
Query OK, 0 rows
Query OK, 0 rows
…………
Query OK, 0 rows
mysql>

116

affected
affected
affected
affected
affected
affected
affected
affected
affected
affected
affected

(0.00
(0.00
(0.00
(0.00
(0.00
(0.00
(0.00
(0.00
(0.00
(0.00
(0.00

sec)
sec)
sec)
sec)
sec)
sec)
sec)
sec)
sec)
sec)
sec)

affected (0.00 sec)

Pada perintah di atas, posisi Anda berada pada prompt MySQL.
Parameter “E” dari perintah “E:\Database\dump_OlehOlehDb.txt”
merupakan drive CD-ROM yang ada pada komputer kami. Apabila
CD-ROM komputer Anda terletak pada drive F atau G, Anda dapat
menyesuaikannya.

oooo0oooo

117