Skip to content

💾 Pengenalan Database ​

Database

📚 Apa itu Database? ​

Database atau basis data adalah kumpulan data yang dikelola sedemikian rupa berdasarkan ketentuan tertentu yang saling berhubungan sehingga mudah dalam pengelolaannya.

✅ Kemudahan yang Diperoleh: ​

FungsiDeskripsi
🔍 MencariKemudahan dalam mencari informasi
💾 MenyimpanMenyimpan informasi dengan terstruktur
🗑️ MenghapusMenghapus informasi yang tidak diperlukan

💡 Definisi Lain

Database adalah sistem yang berfungsi untuk mengumpulkan file, tabel, atau arsip yang terhubung dan disimpan dalam berbagai media elektronik.

📦 Jenis-jenis Database ​

Tipe Database

1. 📋 Relational Database (SQL) ​

SQL Database

💡 Relational Database

Database relasional menggunakan model data relasional dengan tabel untuk menyimpan data dan relasi antar tabel untuk menghubungkan data.

Contoh Database Relasional:

  • 🐬 MySQL
  • 🐘 PostgreSQL
  • 🔴 Oracle Database
  • 🔵 Microsoft SQL Server

2. 🍃 NoSQL Database ​

NoSQL Database

💡 NoSQL Database

NoSQL adalah database yang tidak menggunakan model data relasional. NoSQL menggunakan model data yang lebih fleksibel seperti dokumen, grafik, key-value, dan lainnya.

Contoh Database NoSQL:

  • 🌿 MongoDB (Document-based)
  • 📄 CouchDB (Document-based)
  • 📊 Cassandra (Column-based)
  • ⚡ Redis (Key-Value)

⚔️ Perbedaan Sintaks SQL vs NoSQL ​

Sintaks Comparison

Perbandingan sintaks SQL dan NoSQL (MongoDB)

📥 Insert a New Book Record ​

SQLNoSQL (MongoDB)
INSERT INTO untuk memasukkan data barudb.book.insert() untuk menambahkan dokumen
Kolom: ISBN, title, authorField: ISBN, title, author

📝 Catatan

Baik SQL maupun NoSQL menggunakan field yang sama (ISBN, title, author), namun dengan sintaks yang berbeda.

🔄 Update a Book Record ​

SQLNoSQL (MongoDB)
UPDATE untuk memperbarui datadb.book.update() untuk memperbarui dokumen
Langsung set nilai baruMenggunakan operator $set

Contoh:

  • SQL: Mengubah kolom price menjadi 19.99
  • MongoDB: Menggunakan $set untuk menentukan perubahan nilai price menjadi 19.99

🔍 Return All Book Titles Over $10 ​

SQLNoSQL (MongoDB)
SELECT untuk mengambil datadb.book.find() untuk query dokumen
WHERE price > 10 untuk filter{price: {$gt: 10}} untuk filter

MongoDB Options:

javascript
{ _id: 0, title: 1 }
  • _id: 0 = Tidak menampilkan field _id
  • title: 1 = Hanya menampilkan field title

🛠️ Setup Praktik & DDL: Studi Kasus Absensi ​

Teori di atas cukup. Sekarang praktik. Sepanjang sisa fundamental, kita memakai satu contoh berjalan: aplikasi absensi mahasiswa (db_absensi / tb_absensi).

Setup Database (Semua OS) ​

Siapkan server + database db_absensi mengikuti Instalasi & Setup Lingkungan (Windows/Laragon, macOS/Homebrew/XAMPP, atau Linux). Intinya: nyalakan MySQL, buka http://localhost/phpmyadmin/, buat database db_absensi.

DDL: CREATE TABLE ​

DDL (Data Definition Language) mendefinisikan struktur database/tabel. Buat tabel absensi beserta kolom dan tipe datanya:

sql
USE db_absensi;

CREATE TABLE tb_absensi (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    nim VARCHAR(20) NOT NULL,
    status ENUM('Hadir', 'Izin', 'Sakit', 'Alpa') NOT NULL,
    tanggal DATE NOT NULL
);
KolomTipeKeterangan
idINT AUTO_INCREMENT PRIMARY KEYIdentitas unik, terisi otomatis (1, 2, 3, ...)
namaVARCHAR(100) NOT NULLNama mahasiswa, wajib diisi
nimVARCHAR(20) NOT NULLNomor induk mahasiswa, wajib diisi
statusENUM(...)Hanya boleh Hadir/Izin/Sakit/Alpa
tanggalDATE NOT NULLFormat YYYY-MM-DD

Konsep PRIMARY KEY, NOT NULL, AUTO_INCREMENT, dan tipe data lengkapnya dibahas di Pengenalan MySQL. Di bawah ini versi praktiknya.

DDL: ALTER TABLE ​

Memodifikasi struktur tabel yang sudah ada:

sql
-- Menambah kolom keterangan
ALTER TABLE tb_absensi
ADD keterangan TEXT;

-- Mengubah panjang kolom nama
ALTER TABLE tb_absensi
MODIFY nama VARCHAR(150) NOT NULL;

DDL: DROP TABLE ​

Menghapus tabel secara permanen:

sql
DROP TABLE tb_absensi;

⚠️ Hati-hati!

DROP TABLE menghapus tabel beserta seluruh datanya dan tidak bisa di-undo. Pastikan nama tabel sudah benar.

✅ Checklist ​

  • [ ] Bisa menjelaskan database, tabel, baris, kolom, dan tipe data dasar
  • [ ] Laragon berjalan dan database db_absensi terbuat
  • [ ] Tabel tb_absensi terbuat via CREATE TABLE, pernah mencoba ALTER TABLE