Perangkat keras yang digunakan Perangkat lunak yang digunakan Implementasi Database

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