Part 1
CodeIgniter4,  MYSQL

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

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
contoh di atas saya menamai database dengan db_laundry_anisa_xiirpl3
  • 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

jika terdapat pemberitahuan icon ceklis berwarna hijau seperti di atas, artinya proses pembuatan tabel beserta strukturnya berhasil dibuat
contoh di atas database dengan nama db_laundry_anisa_xiirpl3 yang memiliki 5 tabel yaitu tb_member, tb_outlet, tb_paket, tb_transaksi, tb_user
  • 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

silahkan beri nama relation_db_laundry_nama

contoh di atas saya menamai relasi dengan relation_db_laundry_anisa

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.

a founder of december skies code, a software engineering teacher, and a lifelong learner who just tries her best at whatever she does. let's work together!

Leave a Reply

Your email address will not be published. Required fields are marked *