• Tidak ada hasil yang ditemukan

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

4.1.3 implementasi basis data

Pembuatan basis data dilakukan dengan menggunakan aplikasi DBMS MySQL. Implementasi basis data dalam bahasa SQL adalah sebagai berikut:

1. Tabel Users

Tabel user digunakan untuk menyimpan untuk menyimpan data user yang dapat menggunakan sistem. Struktur tabel user dapat dilihat pada Tabel 4.3.

Tabel 4.3 Implementasi tabel users

Nama Tabel Perintah

Users

CREATE TABLE `users` (

`id` int(10) unsigned NOT NULL

AUTO_INCREMENT,

`firstname` varchar(20) COLLATE utf8_unicode_ci NOT NULL,

`lastname` varchar(20) COLLATE utf8_unicode_ci NOT NULL,

`username` varchar(100) COLLATE

utf8_unicode_ci NOT NULL,

`password` varchar(64) COLLATE utf8_unicode_ci NOT NULL,

`remember_token` varchar(100) COLLATE

utf8_unicode_ci NOT NULL,

`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3

DEFAULT CHARSET=utf8

2. Tabel Pelanggan

Tabel pelanggan digunakan untuk menyimpan data pelanggan yang melakukan transaksi. Struktur tabel pelanggan dapat dilihat pada Tabel 4.4.

Tabel 4.4 Implementasi tabel pelanggan

Nama Tabel Perintah

Pelanggan

CREATE TABLE `pelanggan` (

`id` int(10) unsigned NOT NULL

AUTO_INCREMENT,

`nama_pelanggan` varchar(255) COLLATE

utf8_unicode_ci NOT NULL,

`no_hp` varchar(255) COLLATE utf8_unicode_ci NOT NULL,

`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,

`recency` float DEFAULT NULL, `frequency` float DEFAULT NULL, `monetary` float DEFAULT NULL, `skor` float DEFAULT NULL, `updated_at` date DEFAULT NULL, `created_at` date DEFAULT NULL, `id_kategori` int(5) DEFAULT NULL, `exp_diskon` date DEFAULT NULL, `jml_diskon` int(2) DEFAULT NULL, PRIMARY KEY (`id`),

KEY `id_kategori` (`id_kategori`),

CONSTRAINT `pelanggan_ibfk_1` FOREIGN

KEY (`id_kategori`) REFERENCES `kategori` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=14

DEFAULT CHARSET=utf8

COLLATE=utf8_unicode_ci;

3. Tabel Transaksi

Tabel transaksi digunakan untuk menyimpan data transaksi yang dilakukan oleh pelanggan. Struktur tabel transaksi dapat dilihat pada Tabel 4.5.

Tabel 4.5 Implementasi tabel transaksi

Nama Tabel Perintah

Transaksi

CREATE TABLE `transaksi` (

`id` int(10) NOT NULL AUTO_INCREMENT, `id_pelanggan` int(10) DEFAULT NULL, `tgl_order` date DEFAULT NULL,

`status_order` varchar(30) DEFAULT 'batal', `total` int(64) DEFAULT '0',

`admin` int(10) DEFAULT NULL, `created_at` date DEFAULT NULL, `updated_at` date DEFAULT NULL, `diskon` int(12) DEFAULT NULL, `bayar` int(64) DEFAULT NULL,

Nama Tabel Perintah

PRIMARY KEY (`id`)

KEY `id_pelanggan` (`id_ pelanggan `),

CONSTRAINT `transaksi_ibfk_1` FOREIGN KEY (`id_ pelanggan `) REFERENCES `pelanggan` (`id`) KEY `admin` (`admin `),

CONSTRAINT `transaksi_ibfk_1` FOREIGN KEY (`admin `) REFERENCES `users` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=85

DEFAULT CHARSET=latin1;

4. Tabel Detail Transaksi

Tabel detail transaksi digunakan untuk menyimpan data detail transaksi dari suatu transaksi yang dilakukan oleh pelanggan. Struktur tabel pelanggan dapat dilihat pada Tabel 4.6.

Tabel 4.6 Implementasi tabel detail transaksi

Nama Tabel Perintah

Det_Transaksi

CREATE TABLE `det_transaksi` (

`id` int(10) NOT NULL AUTO_INCREMENT, `invoice` int(10) DEFAULT NULL,

`id_produk` int(10) DEFAULT NULL, `ukuran1` int(5) DEFAULT NULL, `ukuran2` int(5) DEFAULT NULL, `jumlah` int(10) DEFAULT NULL, `total` int(64) DEFAULT NULL, `created_at` date DEFAULT NULL, `updated_at` date DEFAULT NULL, PRIMARY KEY (`id`),

KEY `invoice` (`invoice`),

KEY `det_transaksi_ibfk_2` (`id_produk`),

CONSTRAINT `det_transaksi_ibfk_2` FOREIGN KEY (`id_produk`) REFERENCES `produk` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION

) ENGINE=InnoDB AUTO_INCREMENT=74

DEFAULT CHARSET=latin1;

5. Tabel Produk

Tabel produk digunakan untuk menyimpan data produk yang dapat dibeli oleh pelanggan. Struktur tabel produk dapat dilihat pada Tabel 4.7.

Tabel 4.7 Implementasi tabel produk

Nama Tabel Perintah

Produk

CREATE TABLE `produk` (

`id` int(10) NOT NULL AUTO_INCREMENT, `nama_produk` varchar(50) DEFAULT NULL, `ukuran` varchar(10) DEFAULT NULL,

Nama Tabel Perintah

`harga` int(32) DEFAULT NULL, `updated_at` date DEFAULT NULL, `created_at` date DEFAULT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=6

DEFAULT CHARSET=latin1;

6. Tabel Kategori pelanggan

Tabel ketagori pelanggan digunakan untuk menyimpan data kategori pelanggan berdasarkan skor RFM seorang pelanggan. Struktur tabel kategori dapat dilihat pada Tabel 4.8.

Tabel 4.8 Implementasi tabel kategori pelanggan

Nama Tabel Perintah

Kategori

CREATE TABLE `kategori` (

`id` int(12) NOT NULL AUTO_INCREMENT, `nama_kategori` varchar(30) DEFAULT NULL, `bts_bawah` int(5) DEFAULT NULL,

`bts_atas` int(5) DEFAULT NULL, `diskon` float DEFAULT '0', `waktu` int(5) DEFAULT '0', `jml_diskon` int(2) DEFAULT '0', `pesan` text,

`created_at` date DEFAULT NULL, `updated_at` date DEFAULT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=5

DEFAULT CHARSET=latin1;

7. Tabel Keluhan

Tabel keluhan digunakan untuk menyimpan data keluhan dari pelanggan berdasarkan transaksi yang telah dilakukan. Struktur tabel keluhan dapat dilihat pada Tabel 4.9.

Tabel 4.9 Implementasi tabel keluhan

Nama Tabel Perintah

Keluhan

CREATE TABLE `keluhan` (

`id` int(5) NOT NULL AUTO_INCREMENT, `judul` varchar(20) DEFAULT NULL, `isi_keluhan` text,

`id_transaksi` int(5) DEFAULT NULL, `status` varchar(20) DEFAULT NULL, `created_at` date DEFAULT NULL, `updated_at` date DEFAULT NULL, PRIMARY KEY (`id`),

Nama Tabel Perintah

CONSTRAINT `keluhan_ibfk_1` FOREIGN KEY (`id_transaksi`) REFERENCES `transaksi` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=23

DEFAULT CHARSET=latin1;

8. Tabel Kritik Saran

Tabel kritik saran digunakan untuk menyimpan data kritik ataupun saran dari pelanggan untuk Akhbar Print. Struktur tabel kritik saran dapat dilihat pada Tabel 4.10.

Tabel 4.10 Implemetasi tabel kritik saran

Nama Tabel Perintah

Kritik Saran

CREATE TABLE `kritiksaran` (

`id` int(5) NOT NULL AUTO_INCREMENT, `nama` varchar(20) DEFAULT NULL, `email` varchar(40) DEFAULT NULL, `subjek` varchar(20) DEFAULT NULL, `isi` text,

`status` varchar(20) DEFAULT NULL, `id_pelanggan` int(5) DEFAULT NULL, `created_at` date DEFAULT NULL, `updated_at` date DEFAULT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

9. Tabel Promosi

Tabel promosi digunakan untuk memberikan dorongan untuk pelanggan biasa agar meningkatkan jumlah transaksi. Struktur tabel promosi dapat dilihat pada Tabel 4.11.

Tabel 4.11 Implementasi tabel promosi

Nama Tabel Perintah

Kritik Saran

CREATE TABLE `promosi` (

`id` int(5) NOT NULL AUTO_INCREMENT, `nama_promosi` varchar(20) DEFAULT NULL, `keterangan` varchar(100) DEFAULT NULL, `gambar` varchar(100) DEFAULT NULL, `created_at` date DEFAULT NULL, `updated_at` date DEFAULT NULL, `id_user` int(5) DEFAULT NULL, PRIMARY KEY (`id`)

Dokumen terkait