Modul 01

Persiapan Lingkungan Server, Ekstraksi Direktori htdocs & Pembuatan Database Manual

Tahapan teknis awal menyiapkan web server lokal, mengekstrak master CodeIgniter 3 ke htdocs, membuka workspace di Sublime Text 3, serta membuat skema database secara manual di phpMyAdmin.

1

Mengaktifkan Layanan XAMPP Control Panel

Menjalankan layanan Apache HTTP Server dan basis data MySQL Server.

Langkah-Langkah:
  1. Buka aplikasi XAMPP Control Panel di laptop/PC Anda.
  2. Pada baris modul Apache, klik tombol Start hingga status berwarna hijau.
  3. Pada baris modul MySQL, klik tombol Start hingga port 3306 aktif.
XAMPP Control Panel
Gambar 1: Memastikan layanan Apache dan MySQL telah aktif pada XAMPP Control Panel.
2

Mengekstrak Berkas Master CodeIgniter 3 ke Folder htdocs

Menempatkan berkas proyek pada web root dan memberi nama folder kerja yang tepat.

Tahapan Ekstraksi & Penamaan Folder:
  1. Cari berkas master CodeIgniter 3 (format .zip) yang diberikan guru.
  2. Ekstrak arsip ZIP tersebut ke direktori web root XAMPP: C:\xampp\htdocs\
  3. Ganti nama folder hasil ekstraksi menjadi: perpustakaan (huruf kecil semua tanpa spasi).
  4. Buka folder C:\xampp\htdocs\perpustakaan\ dan pastikan langsung terlihat folder application, system, dan berkas index.php.
Ekstrak ZIP CodeIgniter 3 ke htdocs
Gambar 2: Hasil ekstraksi dan penamaan folder project perpustakaan pada direktori C:\xampp\htdocs\.
3

Membuka Direktori Project pada Sublime Text 3

Membuka workspace agar seluruh file proyek tampil di panel navigasi sidebar.

Langkah-Langkah:
  1. Buka aplikasi Sublime Text 3.
  2. Pilih menu File → Open Folder... pada bilah menu atas.
  3. Pilih folder: C:\xampp\htdocs\perpustakaan, kemudian klik tombol Select Folder.
Sublime Text 3 Open Folder
Gambar 3: Struktur direktori proyek pada sidebar Sublime Text 3.
4

Pembuatan Database & Tabel Manual di phpMyAdmin

Membuat basis data db_perpustakaan dan mendefinisikan skema 3 tabel utama.

Tahap A: Membuat Database Baru di phpMyAdmin

Karena penilaian UKK bersifat perorangan (mandiri), nama database dapat Anda sesuaikan dengan menambahkan nama/inisial Anda sendiri agar terisolasi dan tidak tertukar saat pengujian:

  1. Buka browser, akses: http://localhost/phpmyadmin/
  2. Klik menu New (Baru) di bilah navigasi sebelah kiri atau tab Databases.
  3. Ketikkan nama database:
    Standar modul: db_perpustakaan
    Atau variasi mandiri: db_perpustakaan_andi / db_perpustakaan_budi.
  4. Pilih Collation: utf8mb4_general_ci atau utf8mb4_unicode_ci (atau default), lalu klik tombol Create.
Tampilan Beranda phpMyAdmin
Gambar 4a: Tampilan beranda phpMyAdmin lokal di browser.
Membuat Database Baru di phpMyAdmin
Gambar 4b: Menginput nama database (misal: db_perpustakaan) lalu klik Create.

💡 Catatan Sinkronisasi: Jika Anda menamai database db_perpustakaan_andi, ingatlah bahwa nanti pada Modul 02 (application/config/database.php) baris 'database' => '...' harus diisi dengan nama yang sama persis!

Formulir Create New Table phpMyAdmin
Gambar 4c: Menentukan nama tabel dan jumlah kolom di database terpilih.
Mendefinisikan Struktur Kolom Tabel
Gambar 4d: Mengisi rincian nama kolom, tipe data (INT, VARCHAR, dll), panjang nilai, dan centang Auto Increment (A_I) untuk primary key.
Tahap B: Membuat Tabel 1 - users (11 Kolom)
Nama KolomTipe DataPanjangKeterangan
idINT11PRIMARY KEY, Auto Increment (A_I)
usernameVARCHAR50UNIQUE
passwordVARCHAR255Hash Bcrypt
namaVARCHAR100Nama Lengkap Siswa / Admin
nisVARCHAR20Null: Yes
kelasVARCHAR20Null: Yes
roleENUM'admin','user'Default: 'user'
statusENUM'aktif','nonaktif'Default: 'aktif'
created_atDATETIME-Default: CURRENT_TIMESTAMP
updated_atDATETIME-Null: Yes

Klik tombol Save di pojok kanan bawah.

Tahap C: Membuat Tabel 2 - buku (11 Kolom)
Nama KolomTipe DataPanjangKeterangan
idINT11PRIMARY KEY, Auto Increment (A_I)
kode_bukuVARCHAR20UNIQUE (Contoh: BK001)
judulVARCHAR200Judul Buku
penulisVARCHAR100Nama Penulis
penerbitVARCHAR100Nama Penerbit
tahun_terbitYEAR4Tahun Terbit
kategoriVARCHAR50Kategori Buku
stokINT11Default: 0
rakVARCHAR20Lokasi Rak (Contoh: Rak A1)
deskripsiTEXT-Null: Yes
created_atDATETIME-Default: CURRENT_TIMESTAMP

Klik tombol Save.

Tahap D: Membuat Tabel 3 - transaksi (8 Kolom)
Nama KolomTipe DataPanjangKeterangan
idINT11PRIMARY KEY, Auto Increment (A_I)
kode_transaksiVARCHAR30UNIQUE
user_idINT11INDEX (FK ke users.id)
buku_idINT11INDEX (FK ke buku.id)
tanggal_pinjamDATE-Tanggal Peminjaman
batas_kembaliDATE-Tenggat Waktu (+7 hari)
tanggal_kembaliDATE-Null: Yes
statusENUM'dipinjam','dikembalikan'Default: 'dipinjam'

Klik tombol Save.

Tahap E: Menambahkan Akun Administrator Default

Klik tab SQL di phpMyAdmin saat memilih database db_perpustakaan, salin dan jalankan kueri berikut:

Query SQL - Insert Admin Default
SQL
-- Password di bawah adalah hash Bcrypt valid dari 'admin123'
INSERT INTO `users` (`username`, `password`, `nama`, `role`, `status`) 
VALUES ('admin', '$2y$10$4in5gapcqD7Z/qQ/D3q4.u6eH0b8P/u6kG3.6G8j2W1gB.l1C1tGy', 'Administrator Sekolah', 'admin', 'aktif');
💡 Catatan: Baris komentar (// atau /* */) bersifat opsional/penjelas logika. Tidak wajib diketik semua agar lebih cepat.