Setup Database MySQL

Panduan lengkap instalasi dan konfigurasi MySQL database untuk praktik CRUD

Sebelum Memulai:
1

Download dan Install XAMPP

Apa itu XAMPP?

XAMPP adalah paket software gratis yang berisi:

  • Apache - Web server
  • MySQL - Database server
  • PHP - Programming language
  • phpMyAdmin - Database management tool
Penting: XAMPP adalah paket "all-in-one" yang mudah untuk pembelajaran. Untuk production, biasanya server terpisah digunakan.
Langkah Download:
  1. Buka browser dan kunjungi: apachefriends.org
  2. Klik tombol Download sesuai sistem operasi Anda:

    Windows

    Ukuran: ~150MB

    macOS

    Ukuran: ~170MB

    Linux

    Ukuran: ~155MB
  3. Tunggu download selesai
Langkah Instalasi:
  1. Double-click file installer yang sudah didownload
  2. Jika muncul warning security, klik Yes/OK
  3. Klik Next pada welcome screen
  4. Pilih komponen yang akan diinstall (centang):
    • Apache
    • MySQL
    • PHP
    • phpMyAdmin
  5. Pilih lokasi instalasi (default: C:\xampp)
  6. Klik Next dan tunggu proses instalasi (5-10 menit)
  7. Setelah selesai, klik Finish
Instalasi Berhasil! XAMPP sudah terinstall di komputer Anda.
2

Menjalankan XAMPP Control Panel

  1. Buka XAMPP Control Panel
    • Windows: Start Menu → XAMPP → XAMPP Control Panel
    • macOS: Applications → XAMPP → manager-osx
    • Linux: Terminal → sudo /opt/lampp/manager-linux.run
  2. Anda akan melihat tampilan seperti ini:
    XAMPP Control Panel v3.3.0
    Module Status Action
    Apache Stopped
    MySQL Stopped
  3. Klik tombol Start pada:
    • Apache (untuk web server)
    • MySQL (untuk database)
  4. Status akan berubah menjadi Running
Troubleshooting Port Error:

Jika Apache gagal start dengan error "Port 80 is busy":

  1. Klik tombol Config pada Apache
  2. Pilih httpd.conf
  3. Cari Listen 80, ubah menjadi Listen 8080
  4. Save dan restart Apache
Server Berjalan! Apache dan MySQL sudah running.
3

Akses phpMyAdmin

phpMyAdmin adalah tool berbasis web untuk mengelola database MySQL dengan mudah (tanpa perlu ketik SQL manual).

  1. Buka browser (Chrome, Firefox, dll)
  2. Ketik di address bar:
    http://localhost/phpmyadmin
    Jika Apache di port 8080, gunakan: http://localhost:8080/phpmyadmin
  3. Anda akan melihat halaman login phpMyAdmin:
    phpMyAdmin Login
  4. Login dengan:
    • Username: root
    • Password: (kosongkan)
  5. Klik Login
Berhasil Masuk! Anda sekarang bisa mengelola database.
4

Membuat Database Baru

Cara 1: Menggunakan phpMyAdmin (GUI)
  1. Di phpMyAdmin, klik tab Databases di menu atas
  2. Di bagian "Create database", ketik nama database:
    db_mahasiswa
  3. Pilih Collation: utf8mb4_unicode_ci utf8mb4 mendukung semua karakter termasuk emoji
  4. Klik tombol Create
Cara 2: Menggunakan SQL (Command)
  1. Di phpMyAdmin, klik tab SQL
  2. Ketik query berikut:
-- Membuat database baru CREATE DATABASE db_mahasiswa CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- Gunakan database yang baru dibuat USE db_mahasiswa;
  1. Klik tombol Go
Database Dibuat! Database "db_mahasiswa" siap digunakan.
5

Membuat Table "mahasiswa"

Sekarang kita akan membuat table untuk menyimpan data mahasiswa.

Struktur Table:
Nama Column Tipe Data Keterangan
id INT (11) Primary Key, Auto Increment
nama VARCHAR (100) Nama mahasiswa (wajib diisi)
nim VARCHAR (20) Nomor Induk Mahasiswa (unik)
jurusan VARCHAR (50) Nama jurusan
email VARCHAR (100) Email mahasiswa (opsional)
alamat TEXT Alamat lengkap (opsional)
created_at TIMESTAMP Waktu data dibuat (otomatis)
updated_at TIMESTAMP Waktu data diupdate (otomatis)
SQL Query untuk Membuat Table:
-- Membuat table mahasiswa CREATE TABLE mahasiswa ( id INT(11) AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(100) NOT NULL, nim VARCHAR(20) NOT NULL UNIQUE, jurusan VARCHAR(50) NOT NULL, email VARCHAR(100) NULL, alamat TEXT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Penjelasan:
  • AUTO_INCREMENT: Nomor ID otomatis bertambah
  • PRIMARY KEY: ID unik untuk setiap record
  • NOT NULL: Field wajib diisi
  • UNIQUE: Tidak boleh ada duplikat
  • TIMESTAMP: Otomatis simpan tanggal/waktu
Langkah Eksekusi:
  1. Pilih database db_mahasiswa di sidebar kiri
  2. Klik tab SQL
  3. Copy-paste query di atas
  4. Klik Go
Table Berhasil Dibuat! Table "mahasiswa" siap menyimpan data.
6

Menambahkan Sample Data

Mari kita masukkan beberapa data contoh untuk testing.

-- Menambahkan 5 data mahasiswa INSERT INTO mahasiswa (nama, nim, jurusan, email, alamat) VALUES ('Ahmad Pratama', '2021001', 'Teknik Informatika', 'ahmad@email.com', 'Jl. Merdeka No. 10, Jakarta'), ('Siti Nurhaliza', '2021002', 'Sistem Informasi', 'siti@email.com', 'Jl. Sudirman No. 25, Bandung'), ('Budi Santoso', '2021003', 'Teknik Komputer', 'budi@email.com', 'Jl. Gatot Subroto No. 15, Surabaya'), ('Dewi Kartika', '2021004', 'Manajemen Informatika', 'dewi@email.com', 'Jl. Diponegoro No. 8, Yogyakarta'), ('Rizki Maulana', '2021005', 'Teknik Informatika', 'rizki@email.com', 'Jl. Ahmad Yani No. 20, Medan');
  1. Copy query di atas
  2. Paste di tab SQL
  3. Klik Go
Verifikasi Data:

Untuk melihat data yang baru dimasukkan:

SELECT * FROM mahasiswa;
Data Berhasil Ditambahkan! Anda sekarang memiliki 5 data mahasiswa.
7

Testing Koneksi PHP ke MySQL

Sekarang kita test apakah PHP bisa connect ke MySQL.

Buat File Test:
  1. Buka folder XAMPP:
    • Windows: C:\xampp\htdocs\
    • macOS: /Applications/XAMPP/htdocs/
    • Linux: /opt/lampp/htdocs/
  2. Buat folder baru bernama test-db
  3. Di dalam folder tersebut, buat file test-connection.php
  4. Isi dengan kode berikut:
<?php // Test koneksi database $host = 'localhost'; $dbname = 'db_mahasiswa'; $username = 'root'; $password = ''; try { $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "<h2 style='color: green;'>✅ Koneksi Berhasil!</h2>"; echo "<p>Database: <strong>$dbname</strong></p>"; // Hitung jumlah data $stmt = $pdo->query("SELECT COUNT(*) as total FROM mahasiswa"); $result = $stmt->fetch(); echo "<p>Total Mahasiswa: <strong>" . $result['total'] . "</strong></p>"; } catch(PDOException $e) { echo "<h2 style='color: red;'>❌ Koneksi Gagal!</h2>"; echo "<p>Error: " . $e->getMessage() . "</p>"; } ?>
  1. Save file
  2. Buka browser dan akses:
    http://localhost/test-db/test-connection.php
Jika Berhasil:

Anda akan melihat pesan:

✅ Koneksi Berhasil!

Database: db_mahasiswa

Total Mahasiswa: 5

Jika Gagal:

Periksa:

  • Apache dan MySQL running di XAMPP Control Panel
  • Nama database benar: db_mahasiswa
  • Username: root, Password: (kosong)
  • File tersimpan di htdocs/test-db/

Setup Selesai! Final Checklist:

Selamat!

Environment database Anda sudah siap untuk praktik CRUD. Lanjut ke materi berikutnya untuk belajar operasi CRUD dengan PHP!

Database Fundamental Lanjut: CRUD Operations