Anda di halaman 1dari 13

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 kd_operator * nm_operator kelamin alamat user_id pass_id Tipe data CHAR VARCHAR CHAR VARCHAR VARCHAR VARCHAR Panjang 4 45 1 100 25 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 kd_spl * nama_spl Tipe data CHAR VARCHAR Panjang 4 35

108

alamat_spl no_telp no_hp keterangan

VARCHAR VARCHAR VARCHAR MEDIUMTEXT

100 15 15

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 kd_jenis * nama_jenis keterangan Tipe data CHAR VARCHAR VARCHAR Panjang 3 50 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 kd_oleh_oleh * kd_jenis nm_oleh_oleh harga_satuan stok keterangan Tipe data CHAR CHAR VARCHAR INT SMALLINT MEDIUMTEXT Panjang 5 3 60 11 6

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 no_pembelian * kd_spl tgl_beli Tipe data CHAR CHAR DATE Panjang 7 4

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 id_dpembelian * no_pembelian kd_oleh_oleh harga_beli persen_hrg_jual jumlah Tipe data INT CHAR CHAR DOUBLE SMALLINT SMALLINT 6 6 Panjang 7 (Auto) 7 5

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 no_penjualan * nm_pembeli alamat tgl_jual Tipe data CHAR VARCHAR VARCHAR DATE Panjang 7 45 45

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 id_dpenjualan no_penjualan kd_oleh_oleh jumlah Tipe data INT CHAR CHAR SMALLINT Panjang 7 (Auto) 7 5 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> 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)

116

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