Laundry Management Website (Part 1-Database Preparation)
Created by: Anisa Damayanti, S.Kom.
For Study Purpose Only!
Laundry adalah proses mencuci dan merawat pakaian, tekstil, atau linen lainnya untuk membersihkan kotoran, noda, atau bau yang melekat pada bahan tersebut. Proses ini umumnya melibatkan penggunaan air, deterjen, dan siklus pencucian yang bertujuan untuk menghilangkan kotoran dan bakteri yang menempel pada pakaian.
Aplikasi pengelolaan laundry berbasis website adalah perangkat lunak atau software yang dirancang untuk membantu mengelola bisnis atau layanan laundry melalui platform website. Aplikasi ini memungkinkan para pemilik usaha laundry untuk mengelola berbagai aspek operasional secara efisien dan terorganisir.
A. Persiapan Tools
- XAMPP (MySQL)
- Web Browser (Chrome, Chrome Developer, Mozilla Firefox, Microsoft Edge)
- Text Editor (Sublime Text, Visual Studio Code)
Sebelum melanjutkan ke tahapan pembuatan Database, pastikan Tools di atas sudah dipersiapkan terlebih dahulu.
B. Langkah-langkah Pembuatan Database
- Pada aplikas XAMPP pastikan mengaktifkan Module Apache dan MySQL dengan mengklik tombol Start
- Buka Web Browser seperti Chrome, Chrome Developer, Mozilla Firefox ataupun Microsoft Edge dengan memasukan paragraf url berikut: localhost/phpmyadmin kemudian tekan Enter
- Buatlah Database baru dengan nama db_laundry_nama_kelas dan klik menu SQL yang terdapat pada Top Bar
- Copy seluruh paragraf script berikut dan Paste di dalam perintah SQL
-- --------------------------------------------------------
-- Table structure for table `tb_outlet` --
-- --------------------------------------------------------
CREATE TABLE `tb_outlet` (
`id_outlet` int(11) NOT NULL,
`nama_outlet` varchar(100) NOT NULL,
`alamat_outlet` text NOT NULL,
`no_tlp` varchar(15) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `tb_outlet`
ADD PRIMARY KEY (`id_outlet`),
MODIFY `id_outlet` int(11) NOT NULL AUTO_INCREMENT;
-- --------------------------------------------------------
-- Table structure for table `tb_user` --
-- --------------------------------------------------------
CREATE TABLE `tb_user` (
`id_user` int(11) NOT NULL,
`nama_pengguna` varchar(100) NOT NULL,
`username` varchar(30) NOT NULL,
`password` text NOT NULL,
`id_outlet` int(11) NOT NULL,
`role` enum('Admin','Kasir','Owner') NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `tb_user`
ADD PRIMARY KEY (`id_user`),
ADD KEY `id_outlet` (`id_outlet`),
MODIFY `id_user` int(11) NOT NULL AUTO_INCREMENT,
ADD CONSTRAINT `tb_user_ibfk_1` FOREIGN KEY (`id_outlet`) REFERENCES `tb_outlet` (`id_outlet`) ON DELETE CASCADE ON UPDATE CASCADE;
-- --------------------------------------------------------
-- Table structure for table `tb_paket` --
-- --------------------------------------------------------
CREATE TABLE `tb_paket` (
`id_paket` int(11) NOT NULL,
`id_outlet` int(11) NOT NULL,
`jenis_paket` enum('Kiloan','Selimut','Bed Cover','Kaos','Lain') NOT NULL,
`nama_paket` varchar(100) NOT NULL,
`harga` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `tb_paket`
ADD PRIMARY KEY (`id_paket`),
ADD KEY `id_outlet` (`id_outlet`),
MODIFY `id_paket` int(11) NOT NULL AUTO_INCREMENT,
ADD CONSTRAINT `tb_paket_ibfk_1` FOREIGN KEY (`id_outlet`) REFERENCES `tb_outlet` (`id_outlet`) ON DELETE CASCADE ON UPDATE CASCADE;
-- --------------------------------------------------------
-- Table structure for table `tb_member` --
-- --------------------------------------------------------
CREATE TABLE `tb_member` (
`id_member` int(11) NOT NULL,
`nama_pelanggan` varchar(100) NOT NULL,
`alamat_pelanggan` text NOT NULL,
`jenis_kelamin` enum('Laki-laki','Perempuan') NOT NULL,
`no_tlp` varchar(15) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `tb_member`
ADD PRIMARY KEY (`id_member`),
MODIFY `id_member` int(11) NOT NULL AUTO_INCREMENT;
-- --------------------------------------------------------
-- Table structure for table `tb_transaksi` --
-- --------------------------------------------------------
CREATE TABLE `tb_transaksi` (
`id_transaksi` int(11) NOT NULL,
`id_outlet` int(11) NOT NULL,
`kode_invoice` varchar(100) NOT NULL,
`id_member` int(11) NOT NULL,
`tgl_transaksi` datetime NOT NULL,
`batas_waktu` datetime NOT NULL,
`tgl_bayar` datetime DEFAULT NULL,
`biaya_tambahan` int(11) DEFAULT NULL,
`diskon` double DEFAULT NULL,
`pajak` int(11) DEFAULT NULL,
`status_transaksi` enum('Baru','Proses','Selesai','Diambil') DEFAULT NULL,
`status_bayar` enum('Dibayar','Belum Dibayar') DEFAULT NULL,
`id_user` int(11) DEFAULT NULL,
`id_paket` int(11) NOT NULL,
`qty` double NOT NULL,
`keterangan` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `tb_transaksi`
ADD PRIMARY KEY (`id_transaksi`),
ADD KEY `id_outlet` (`id_outlet`),
ADD KEY `id_user` (`id_user`),
ADD KEY `id_paket` (`id_paket`),
ADD KEY `id_member` (`id_member`),
MODIFY `id_transaksi` int(11) NOT NULL AUTO_INCREMENT,
ADD CONSTRAINT `tb_transaksi_ibfk_1` FOREIGN KEY (`id_member`) REFERENCES `tb_member` (`id_member`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `tb_transaksi_ibfk_2` FOREIGN KEY (`id_outlet`) REFERENCES `tb_outlet` (`id_outlet`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `tb_transaksi_ibfk_3` FOREIGN KEY (`id_user`) REFERENCES `tb_user` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `tb_transaksi_ibfk_4` FOREIGN KEY (`id_paket`) REFERENCES `tb_paket` (`id_paket`) ON DELETE CASCADE ON UPDATE CASCADE;
PHP- Setelah di Paste, kemudian klik Go
- Setelah berhasil membuat 5 tabel dan struktur dari setiap tabel, langkah selanjutnya adalah merapikan Relasi antar tabel dengan masuk ke menu Designer yang terdapat pada Top Bar
- Rapikan tabel dengan cara mengarahkan setiap tabel ke arah kanan-kiri atau atas-bawah sehingga berbentuk seperti ini
- Simpan relasi yang sudah dirapikan dengan klik tombol Save page di sebelah kiri yang terdapat pada menu Designer
Sampai di sini pembuatan Database, Tabel beserta Strukturnya, dan merapikan Relasi sudah selesai dibuat. Maka selanjutnya kita akan mengkonfigurasi Database ke dalam project Website yang kita miliki agar pengelolaan Data dapat berjalan sebagaimana mestinya.
C. Konfigurasi Database
Konfigurasi ini berisi alamat Database yang dituju untuk pengelolaan Data baik itu berupa menyimpan, mengubah, maupun menghapus. Konfigurasi ini terdapat pada file app/config/Database.php.
- Open Text Editor seperti Sublime ataupun VSCode
- Pastikan sudah membuka folder project CodeIgniter yang sudah dibuat sebelumnya
- Open folder app -> config -> Database.php
- Pada file Database.php cari line public array $default dan fokus pada inisialisasi ‘username’, ‘password’, dan ‘database’
'username' => '',
'password' => '',
'database' => '',
PHP- Pada inisialisasi ‘username’ diisi dengan username yang di-setting untuk mengakses phpmyadmin atau dapat memasukan username secara default yaitu root
- Pada inisialisasi ‘password‘ diisi dengan password yang digunakan ketika mengakses phpmyadmin atau dapat dikosongkan jika memang tidak memakai password
- Pada inisialisasi ‘database‘ diisi dengan nama dari Database yang sudah dibuat sebelumnya db_laundry_nama_kelas
'username' => 'root',
'password' => '',
'database' => 'db_laundry_anisa_xiirpl3',
PHP- Jangan lupa untuk segera menyimpan perubahan script dengan klik CTRL + S pada Keyboard atau dengan pilih File -> Save
Persiapan Database sudah kita lakukan secara bertahap dimulai dari pembuatan nama Database, pembuatan Tabel dan Strukturnya, kemudian Relasi antar Tabel sampai Konfigurasi Database pada folder project Website dengan CodeIgniter 4 yang kita miliki. Setelah ini kita akan mulai menerapkan prosedur MVC (Model, View, Controller), tetapi sebelum itu kita harus mempersiapkan terlebih dahulu sebuah asset yang berisi Framework Bootstrap yang akan kita gunakan.