149
BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Sistem
Tahap implementasi merupakan tahap penciptaan perangkat lunak, tahap kelanjutan dari kegiatan perancangan sistem. Tahap ini merupakan tahap dimana
sistem siap untuk dioperasikan, yang terdiri dari penjelasan mengenai lingkungan implementasi, dan implementasi program.
4.1.1 Perangkat keras yang digunakan
Spesifikasi perangkat keras yang digunakan dalam pembangunan aplikasi E-Commerce
di Toko Bocah Cilik adalah tercantum pada tabel 4.1 sebagai berikut :
Tabel 4. 1 Perangkat Keras Pembangun
Perangkat Spesifikasi
Processor AMD Turion X2 TL-58 1.90 GHz
RAM 2 GB
Harddisk 160 Gb
Monitor Resolusi 1280 x 800
VGA Nvidia GeForce 7150M 256 Mb
4.1.2 Perangkat lunak yang digunakan
Spesifikasi perangkat lunak yang digunakan dalam membangun aplikasi E-Commerce
di Toko Bocah Cilik adalah sebagai berikut:
Tabel 4. 2 Perangkat Lunak Yang Digunakan
No Perangkat Lunak
Keterangan
1 Sistem Operasi
Windows 7 Ultimate 2
Bahasa Pemrograman PHP
3 DBMS
MySQL 5.1.41 4
Web browser Mozilla firefox 3.6.3
5 Code editor
Macromedia Dreamweaver CS5 6
DFD modeler Microsoft Visio 2007
4.1.3 Implementasi Database
Pembuatan database dilakukan dengan menggunakan aplikasi DBMS MySQL
. Implementasi database dalam bahasa SQL adalah sebagai berikut: 1. Tabel admin
CREATE TABLE `admin` `id_admin` int AUTO_INCREMENT NOT NULL,
`username` varchar40, `user_email` varchar255,
`user_password` varchar60, `nama_lengkap` varchar60,
`phone1` varchar20, `phone2` varchar20,
`last_update` datetime, `last_login` datetime,
`last_login_ip_addr` varchar16, `is_active` tinyint2 DEFAULT 1,
Keys PRIMARY KEY `id_admin`
ENGINE = InnoDB;
2. Tabel member
CREATE TABLE `member` `id_member` int AUTO_INCREMENT NOT NULL,
`user_email` varchar255, `user_password` varchar60,
`nama_depan` varchar50, `nama_belakang` varchar50,
`jenis_kelamin`
enum
LAKI-LAKI,PEREMPUAN DEFAULT LAKI-LAKI,
`alamat` tinytext, `kode_pos` char7,
`id_kota` int, `phone1` varchar20,
`phone2` varchar20,
`kode_aktifasi` varchar255, `tgl_daftar` datetime,
`last_login` datetime, `last_update` datetime,
`last_login_ip_addr` varchar16, `is_online` tinyint2 DEFAULT 0,
`is_active` tinyint2 DEFAULT 0, Keys
PRIMARY KEY `id_member`, Foreign keys
CONSTRAINT `fk_member_kota_kab` FOREIGN KEY `id_kota`
REFERENCES `kota_kabupaten``id_kota` ON DELETE RESTRICT
ON UPDATE RESTRICT ENGINE = InnoDB;
CREATE INDEX `fk_member_kota_kab` ON `member`
`id_kota`; CREATE UNIQUE INDEX `member_index_mail`
ON `member` `user_email`; ENGINE=InnoDB ;
3. Tabel kategori_produk
CREATE TABLE `kategori_produk` `id_kategori_produk` int AUTO_INCREMENT NOT NULL,
`nama_kategori_produk` varchar60, Keys
PRIMARY KEY `id_kategori_produk` ENGINE = InnoDB;
4. Tabel jenis_produk
CREATE TABLE `jenis_produk` `kd_jenis_produk` char20 NOT NULL,
`nama_jenis_produk` varchar80, Keys
PRIMARY KEY `kd_jenis_produk` ENGINE = InnoDB;
5. Tabel merk_produk
CREATE TABLE `merk_produk` `kd_merk_produk` char10 NOT NULL,
`nama_merk_produk` varchar60, Keys
PRIMARY KEY `kd_merk_produk` ENGINE = InnoDB;
6. Tabel produk
CREATE TABLE `produk` `id_produk` int AUTO_INCREMENT NOT NULL,
`id_kategori_produk` int, `kd_jenis_produk` char10,
`kd_merk_produk` char10, `kd_produk` char11,
`nama_produk` varchar100, `berat_produk` float,
`harga_dasar` float, `harga_jual` float,
`diskon_std` float, `deskripsi_produk` text,
`last_update` datetime, Keys
PRIMARY KEY `id_produk`, Foreign keys
CONSTRAINT `fk_produk_jenis` FOREIGN KEY `kd_jenis_produk`
REFERENCES `jenis_produk``kd_jenis_produk` ON DELETE RESTRICT
ON UPDATE RESTRICT, CONSTRAINT `fk_produk_kategori`
FOREIGN KEY `id_kategori_produk` REFERENCES `kategori_produk``id_kategori_produk`
ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_produk_merk` FOREIGN KEY `kd_merk_produk`
REFERENCES `merk_produk``kd_merk_produk` ON DELETE RESTRICT
ON UPDATE RESTRICT ENGINE = InnoDB;
CREATE INDEX `fk_produk_jenis` ON `produk`
`kd_jenis_produk`; CREATE INDEX `fk_produk_kategori`
ON `produk` `id_kategori_produk`;
CREATE INDEX `fk_produk_merk` ON `produk`
`kd_merk_produk`;
7. Tabel opsi_warna_produk
CREATE TABLE `opsi_warna_produk` `id_opsi_warna_produk` int AUTO_INCREMENT NOT NULL,
`id_produk` int,
`id_warna_produk` int, `gambar_utama` varchar255,
`tgl_update`
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`set_produk_baru` tinyint2 DEFAULT 0, `banyak_dilihat` int,
Keys PRIMARY KEY `id_opsi_warna_produk`,
Foreign keys CONSTRAINT `fk_produk_opsi_warna`
FOREIGN KEY `id_produk` REFERENCES `produk``id_produk`
ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_warna_opsi` FOREIGN KEY `id_warna_produk`
REFERENCES `warna_produk``id_warna_produk` ON DELETE RESTRICT
ON UPDATE RESTRICT ENGINE = InnoDB;
8. Tabel opsi_gambar_produk
CREATE TABLE `gambar_produk` `id_gambar_produk` int AUTO_INCREMENT NOT NULL,
`id_opsi_warna_produk` int, `file_name_gambar` varchar255,
Keys PRIMARY KEY `id_gambar_produk`,
Foreign keys CONSTRAINT `fk_gambar_opsi_warna`
FOREIGN KEY `id_opsi_warna_produk` REFERENCES `opsi_warna_produk``id_opsi_warna_produk`
ON DELETE RESTRICT ON UPDATE RESTRICT
ENGINE = InnoDB; CREATE INDEX `fk_gambar_opsi_warna`
ON `gambar_produk` `id_opsi_warna_produk`;
9. Tabel opsi_ukuran_produk
CREATE TABLE `opsi_ukuran_produk` `id_opsi_ukuran_produk` int AUTO_INCREMENT NOT NULL,
`id_opsi_warna_produk` int, `id_ukuran` int,
`stok` tinyint, `tgl_update`
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
Keys PRIMARY KEY `id_opsi_ukuran_produk`,
Foreign keys CONSTRAINT `fk_opsi_warna_opsi`
FOREIGN KEY `id_opsi_warna_produk` REFERENCES `opsi_warna_produk``id_opsi_warna_produk`
ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_ukuran_opsi` FOREIGN KEY `id_ukuran`
REFERENCES `ukuran_produk``id_ukuran` ON DELETE RESTRICT
ON UPDATE RESTRICT ENGINE = InnoDB;
CREATE INDEX `fk_opsi_warna_opsi` ON `opsi_ukuran_produk`
`id_opsi_warna_produk`; CREATE INDEX `fk_ukuran_opsi`
ON `opsi_ukuran_produk` `id_ukuran`;
10. Tabel komentar_produk
CREATE TABLE `komentar_produk` `id_komentar_produk` int AUTO_INCREMENT NOT NULL,
`id_member` int, `id_opsi_warna_produk` int,
`id_voting_produk` int, `desk_komentar_produk` tinytext,
`last_update` datetime, `replay_by` int,
`tgl_replay` datetime, Keys
PRIMARY KEY `id_komentar_produk`, Foreign keys
CONSTRAINT `fk_comment_member` FOREIGN KEY `id_member`
REFERENCES `member``id_member` ON DELETE RESTRICT
ON UPDATE RESTRICT, CONSTRAINT `fk_comment_opsi_warna`
FOREIGN KEY `id_opsi_warna_produk` REFERENCES `opsi_warna_produk``id_opsi_warna_produk`
ON DELETE RESTRICT ON UPDATE RESTRICT
ENGINE = InnoDB; CREATE INDEX `fk_comment_member`
ON `komentar_produk` `id_member`;
CREATE INDEX `fk_komentar_produk` ON `komentar_produk`
`id_opsi_warna_produk`; CREATE INDEX `fk_vote_comment_produk`
ON `komentar_produk` `id_voting_produk`;
11. Tabel provinsi
CREATE TABLE `provinsi` `id_provinsi` int AUTO_INCREMENT NOT NULL,
`nama_provinsi` varchar100, Keys
PRIMARY KEY `id_provinsi` ENGINE = InnoDB;
12. Tabel kota_kabupaten
CREATE TABLE `kota_kabupaten` `id_kota` int AUTO_INCREMENT NOT NULL,
`id_provinsi` int, `nama_kota` varchar200,
`kab_kota` varchar200, `kd_area_telp` char5,
Keys PRIMARY KEY `id_kota`,
Foreign keys CONSTRAINT `fk_kota_kabupaten_prov`
FOREIGN KEY `id_provinsi` REFERENCES `provinsi``id_provinsi`
ON DELETE RESTRICT ON UPDATE RESTRICT
ENGINE = InnoDB; CREATE INDEX `fk_kota_kabupaten_prov`
ON `kota_kabupaten` `id_provinsi`;
13. Tabel ukuran_produk
CREATE TABLE `ukuran_produk` `id_ukuran` int AUTO_INCREMENT NOT NULL,
`id_kategori_ukuran` tinyint, `ukuran` varchar50,
`berat` varchar20, `panjang` varchar20,
Keys PRIMARY KEY `id_ukuran`,
Foreign keys CONSTRAINT `fk_kategori_ukuran_produk`
FOREIGN KEY `id_kategori_ukuran` REFERENCES `kategori_ukuran_produk``id_kategori_ukuran`
ON DELETE RESTRICT ON UPDATE RESTRICT
ENGINE = InnoDB; CREATE INDEX `fk_kategori_ukuran_produk`
ON `ukuran_produk` `id_kategori_ukuran`;
14. Tabel warna_produk
CREATE TABLE `warna_produk` `id_warna_produk` int AUTO_INCREMENT NOT NULL,
`nama_warna` varchar100, Keys
PRIMARY KEY `id_warna_produk` ENGINE = InnoDB;
15. Tabel testimoni
CREATE TABLE `testimoni` `id_testimoni` int AUTO_INCREMENT NOT NULL,
`id_member` int, `desk_testimoni` tinytext,
`tgl_update`
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
, `is_active` tinyint2 DEFAULT 1,
Keys PRIMARY KEY `id_testimoni`,
Foreign keys CONSTRAINT `fk_testimoni_member`
FOREIGN KEY `id_member` REFERENCES `member``id_member`
ON DELETE RESTRICT ON UPDATE RESTRICT
ENGINE = InnoDB; CREATE INDEX `fk_testimoni_member`
ON `testimoni` `id_member`;
16. Tabel cargo
CREATE TABLE `cargo` `id_cargo` int AUTO_INCREMENT NOT NULL,
`url_logo` varchar255, `nama_cargo` varchar100,
`website` varchar255, Keys
PRIMARY KEY `id_cargo` ENGINE = InnoDB;
17. Tabel layanan_cargo
CREATE TABLE `layanan_cargo` `id_layanan_cargo` int AUTO_INCREMENT NOT NULL,
`id_cargo` int, `nama_layanan_cargo` varchar60,
`lama_pengiriman` tinyint3, `is_active` tinyint2 DEFAULT 1,
Keys
PRIMARY KEY `id_layanan_cargo`, Foreign keys
CONSTRAINT `fk_cargo_layanan` FOREIGN KEY `id_cargo`
REFERENCES `cargo``id_cargo` ON DELETE RESTRICT
ON UPDATE RESTRICT ENGINE = InnoDB;
CREATE INDEX `fk_cargo_layanan` ON `layanan_cargo`
`id_cargo`; ENGINE = InnoDB;
18. Tabel detail_layanan_cargo
CREATE TABLE `detail_layanan_cargo` `id_detail_layanan_cargo` int AUTO_INCREMENT NOT NULL,
`id_layanan_cargo` int, `id_kota` int,
`tarif_layanan_cargo` float, `last_update` timestamp NOT NULL DEFAULT
CURRENT_TIMESTAMP, `update_by` int,
`is_active` tinyint2 DEFAULT 1, Keys
PRIMARY KEY `id_detail_layanan_cargo`, Foreign keys
CONSTRAINT `fk_detail_cargo_adm` FOREIGN KEY `update_by`
REFERENCES `admin``id_admin` ON DELETE RESTRICT
ON UPDATE RESTRICT, CONSTRAINT `fk_harga_layanan_cargo`
FOREIGN KEY `id_layanan_cargo` REFERENCES `layanan_cargo``id_layanan_cargo`
ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_hrg_lay_crg_kota_kab` FOREIGN KEY `id_kota`
REFERENCES `kota_kabupaten``id_kota` ON DELETE RESTRICT
ON UPDATE RESTRICT ENGINE = InnoDB;
CREATE INDEX `fk_detail_cargo_adm` ON `detail_layanan_cargo`
`update_by`; CREATE INDEX `fk_harga_layanan_cargo`
ON `detail_layanan_cargo` `id_layanan_cargo`;
CREATE INDEX `fk_hrg_lay_crg_kota_kab` ON `detail_layanan_cargo`
`id_kota`;
19. Tabel keranjang_belanja
CREATE TABLE `keranjang_belanja` `id_keranjang_belanja` int AUTO_INCREMENT NOT NULL,
`session_id` varchar80, `id_opsi_ukuran_produk` int,
`harga_satuan` float, `qty` tinyint,
`sub_total` float, Keys
PRIMARY KEY `id_keranjang_belanja` ENGINE = InnoDB;
20. Tabel detail_pemesanan
CREATE TABLE `detail_pemesanan` `id_detail_pemesanan` int AUTO_INCREMENT NOT NULL,
`id_pemesanan` int, `id_opsi_ukuran_produk` int,
`qty` tinyint, `harga_satuan` float,
`sub_total` float, Keys
PRIMARY KEY `id_detail_pemesanan`, Foreign keys
CONSTRAINT `fk_detail_pemesanan` FOREIGN KEY `id_pemesanan`
REFERENCES `pemesanan``id_pemesanan` ON DELETE RESTRICT
ON UPDATE RESTRICT ENGINE = InnoDB;
CREATE INDEX `fk_detail_pemesanan` ON `detail_pemesanan`
`id_pemesanan`; CREATE INDEX `fk_detail_pemesanan_opsi_ukuran`
ON `detail_pemesanan` `id_opsi_ukuran_produk`;
21. Tabel pemesanan
CREATE TABLE `pemesanan` `id_pemesanan` int AUTO_INCREMENT NOT NULL,
`tgl_pemesanan` datetime, `id_member` int,
`id_status_pemesanan` int, `id_akun_pembayaran` int,
`tgl_deadline_bayar` date, `tgl_pembayaran` date,
`tipe_pembayaran` enum BANK TRANSFER,ONLINE
PAYPAL, `nama_bank_pembayar` varchar80,
`akun_pembayar` varchar30, `nama_pembayar` varchar100,
`ket_pembayaran` varchar255, `kd_mata_uang` char6,
`total_pemesanan` float, `status_pembayaran` enum LUNAS,BELUM
LUNAS,DIPROSES DEFAULT BELUM LUNAS, `last_update` timestamp NOT NULL DEFAULT
CURRENT_TIMESTAMP, `update_by` int,
Keys PRIMARY KEY `id_pemesanan`,
Foreign keys CONSTRAINT `fk_member_pemesanan`
FOREIGN KEY `id_member` REFERENCES `member``id_member`
ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_pemesanan_admin` FOREIGN KEY `update_by`
REFERENCES `admin``id_admin` ON DELETE RESTRICT
ON UPDATE RESTRICT, CONSTRAINT `fk_status_pemesanan`
FOREIGN KEY `id_status_pemesanan` REFERENCES `status_pemesanan``id_status_pemesanan`
ON DELETE RESTRICT ON UPDATE RESTRICT
ENGINE = InnoDB; CREATE INDEX `fk_member_pemesanan`
ON `pemesanan` `id_member`;
CREATE INDEX `fk_pemesanan_admin` ON `pemesanan`
`update_by`; CREATE INDEX `fk_status_pemesanan`
ON `pemesanan` `id_status_pemesanan`;
22. Tabel pengiriman
CREATE TABLE `pengiriman` `id_pengiriman` int AUTO_INCREMENT NOT NULL,
`id_pemesanan` int, `id_detail_layanan_cargo` int,
`id_status_pengiriman` int, `tgl_pengiriman` date,
`no_resi_pengiriman` varchar30, `nama_penerima` varchar100,
`alamat_penerima` tinytext,
`kode_pos` char7, `phone1` varchar20,
`phone2` varchar20, `biaya_pengiriman` float,
Keys PRIMARY KEY `id_pengiriman`,
Foreign keys CONSTRAINT `fk_pemesanan_pengiriman`
FOREIGN KEY `id_pemesanan` REFERENCES `pemesanan``id_pemesanan`
ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_pengiriman_cargo` FOREIGN KEY `id_detail_layanan_cargo`
REFERENCES `detail_layanan_cargo``id_detail_layanan_cargo`
ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_pengiriman_status` FOREIGN KEY `id_status_pengiriman`
REFERENCES `status_pengiriman``id_status_pengiriman` ON DELETE RESTRICT
ON UPDATE RESTRICT ENGINE = InnoDB;
CREATE INDEX `fk_pemesanan_pengiriman` ON `pengiriman`
`id_pemesanan`; CREATE INDEX `fk_pengiriman_cargo`
ON `pengiriman` `id_detail_layanan_cargo`;
CREATE INDEX `fk_pengiriman_status` ON `pengiriman`
`id_status_pengiriman`;
23. Tabel akun_pembayaran
CREATE TABLE `akun_pembayaran` `id_akun_pembayaran` int AUTO_INCREMENT NOT NULL,
`url_logo` varchar255, `nama_bank` varchar50,
`cabang_bank` varchar100, `akun_bank` varchar255,
`nama_pemilik` varchar80, `tipe_akun_bayar`
enum BANK TRANSFER,ONLINE PAYPAL,
`keterangan` tinytext, `is_active` tinyint2 DEFAULT 1,
Keys PRIMARY KEY `id_akun_pembayaran`
ENGINE = InnoDB;
24. Tabel status_pemesanan
CREATE TABLE `status_pemesanan` `id_status_pemesanan` int AUTO_INCREMENT NOT NULL,
`status_pesan` varchar100, Keys
PRIMARY KEY `id_status_pemesanan` ENGINE = InnoDB;
25. Tabel status_pemesanan
CREATE TABLE `status_pengiriman` `id_status_pengiriman` int AUTO_INCREMENT NOT NULL,
`status_kirim` varchar100, Keys
PRIMARY KEY `id_status_pengiriman` ENGINE = InnoDB;
26. Tabel retur_pemesanan
CREATE TABLE `retur_pemesanan` `id_retur_pemesanan` int AUTO_INCREMENT NOT NULL,
`id_pemesanan` int, `id_member` int,
`status_retur`
enum
SUKSES,DIPROSES DEFAULT DIPROSES
,
`tgl_retur_pemesanan` datetime, `total_retur_pemesanan` float,
Keys PRIMARY KEY `id_retur_pemesanan`
ENGINE = InnoDB;
27. Tabel detail_retur_pemesanan
CREATE TABLE `detail_retur_pemesanan` `id_detail_retur_pemesanan` int AUTO_INCREMENT NOT NULL,
`id_opsi_ukuran_produk` int, `id_retur_pemesanan` int,
`qty_retur` int, `harga_satuan` float,
`sub_total_retur` float, Keys
PRIMARY KEY `id_detail_retur_pemesanan` ENGINE = InnoDB;
28. Tabel mata_uang
CREATE TABLE `mata_uang` `kd_mata_uang` char6 NOT NULL,
`nama_mata_uang` varchar60, `harga_kurs` float,
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_by` int, Keys
PRIMARY KEY `kd_mata_uang`
ENGINE = InnoDB;
4.1.4 Implementasi Antarmuka