Pengertian Database
**Database** (basis data) adalah **kumpulan data yang terorganisir dan tersimpan secara sistematis di dalam komputer** sehingga mudah untuk diakses, dikelola, dan diperbarui.
Dengan kata lain, database berfungsi seperti **lemari arsip digital** — semua data (misalnya data siswa, data pegawai, data pelanggan) disimpan di satu tempat, tersusun rapi, dan bisa dicari kapan saja dengan cepat.
---
## 🎯 **Tujuan Database**
1. **Menyimpan data dengan aman dan teratur.**
Semua informasi disimpan dalam bentuk tabel, kolom, dan baris.
2. **Memudahkan pengambilan data.**
Misalnya mencari nilai siswa tertentu tanpa harus membuka semua file.
3. **Menghindari data ganda atau tidak konsisten.**
4. **Memudahkan pembaruan (update), penghapusan (delete), dan penambahan (insert) data.**
5. **Mendukung banyak pengguna sekaligus.**
Misalnya beberapa guru bisa mengakses database nilai secara bersamaan.
---
## 🧩 **Komponen Utama Database**
1. **Data** → isi dari database itu sendiri (angka, teks, tanggal, dll).
2. **Hardware (perangkat keras)** → komputer atau server tempat database disimpan.
3. **Software (perangkat lunak)** → sistem manajemen database (DBMS).
4. **User (pengguna)** → orang yang membuat, mengelola, dan menggunakan data.
---
## 💡 **Contoh Sistem Database (DBMS)**
* **MySQL** – banyak digunakan di web.
* **PostgreSQL** – open source dan kuat.
* **SQLite** – ringan, cocok untuk aplikasi kecil.
* **Microsoft Access** – sering dipakai di kantor atau sekolah.
* **Oracle Database** – untuk perusahaan besar.
---
## 📊 **Contoh Sederhana**
Misalnya kamu punya database sekolah bernama `db_sekolah` dengan tabel:
* `siswa` (menyimpan data siswa)
* `guru` (menyimpan data guru)
* `nilai` (menyimpan nilai pelajaran)
Daripada menyimpan data di banyak file Excel, semua informasi itu disimpan di **satu sistem database** agar lebih efisien dan terintegrasi.
## ⚙️ **Cara Kerja Database**
Secara umum, database bekerja melalui **tiga langkah utama**:
1. **Menyimpan data (store)**
2. **Mengelola data (manage)**
3. **Mengambil data kembali (retrieve)**
Semua itu diatur oleh sistem yang disebut **DBMS (Database Management System)** seperti MySQL, SQLite, atau PostgreSQL.
---
### 🔹 1. **Penyimpanan Data (Store)**
Ketika kamu memasukkan data baru (misalnya data siswa), DBMS akan:
* Menyimpan data tersebut di dalam **tabel** (mirip seperti lembar Excel).
* Mengatur posisi data sesuai kolom (nama, kelas, alamat, dsb).
* Menyimpan data di **media penyimpanan** seperti harddisk atau SSD.
🧠 Contoh:
```sql
INSERT INTO siswa (nama_siswa, kelas, alamat)
VALUES ('Wika Nurviana', '8A', 'Jl. M. Natsir No.8');
```
➡️ Perintah di atas menyimpan data Wika ke dalam tabel `siswa`.
---
### 🔹 2. **Pengelolaan Data (Manage)**
Setelah data tersimpan, DBMS membantu kita **mengelola** data tersebut:
* **Update (ubah)** → memperbarui data jika ada perubahan.
* **Delete (hapus)** → menghapus data yang tidak dibutuhkan.
* **Query (cari)** → mencari data tertentu dengan cepat.
🧠 Contoh:
```sql
UPDATE siswa
SET alamat = 'Jl. Sakura No. 2'
WHERE nama_siswa = 'Wika Nurviana';
```
➡️ Ini mengubah alamat Wika.
---
### 🔹 3. **Pengambilan Data (Retrieve)**
Inilah bagian paling penting — **mengambil data kembali dengan cepat**.
Kamu bisa meminta (query) data tertentu dengan bahasa khusus yang disebut **SQL (Structured Query Language)**.
🧠 Contoh:
```sql
SELECT nama_siswa, kelas
FROM siswa
WHERE kelas = '8A';
```
➡️ Perintah ini menampilkan semua siswa yang berada di kelas 8A.
---
## 🔄 **Alur Kerja Lengkap**
```
Pengguna → DBMS → Database → DBMS → Pengguna
```
1. Pengguna (misalnya guru) mengirim perintah ke DBMS.
2. DBMS membaca perintah, memprosesnya, dan mengakses data dari database.
3. Hasilnya dikirim kembali ke pengguna dalam bentuk tabel atau laporan.
---
## 🔐 **Fitur Tambahan dalam DBMS**
* **Keamanan (security)** → hanya orang tertentu yang bisa mengakses.
* **Integritas data** → memastikan data valid dan tidak rusak.
* **Backup & recovery** → bisa memulihkan data jika terjadi kerusakan.
* **Koneksi multiuser** → banyak orang bisa mengakses database bersamaan.
---
0 komentar:
Posting Komentar