BAB I: APA ITU BASIS DATA?
1.4 KARAKTERISTIK PENDEKATAN BASIS DATA
Pendekatan basis data mentransformasi cara sistem informasi menangani data dengan memisahkan definisi dan struktur data dari kode program aplikasi, serta menyediakan mekanisme antarmuka seragam bagi berbagai jenis pengguna.
1.4.1 Cara Pandang Data (Data Abstraction)
Tujuan utama sistem basis data adalah menyediakan cara pandang abstrak mengenai data kepada pengguna, yaitu menyembunyikan kerumitan teknis bagaimana data sebenarnya disimpan dan dikelola pada media fisik.
A. Arsitektur Tiga Tingkat (ANSI/SPARC)
Arsitektur standar sistem basis data dibagi menjadi tiga tingkatan abstraksi:
+-------------------------------------------------------------+
| TINGKAT VIEW / EKSTERNAL |
| [ View Mahasiswa ] [ View Dosen ] [ View Keuangan ] |
+-------------------------------------------------------------+
^
| (Logical Data Independence)
v
+-------------------------------------------------------------+
| TINGKAT KONSEPTUAL / LOGIKAL |
| Skema Komunitas: Entitas, Atribut, Relasi, Batasan |
| (Tabel Mahasiswa, Tabel KRS, Tabel Mata_Kuliah) |
+-------------------------------------------------------------+
^
| (Physical Data Independence)
v
+-------------------------------------------------------------+
| TINGKAT FISIK / INTERNAL |
| Penyimpanan Disk, Struktur File B-Tree/Hash, |
| Alokasi Byte, Kompresi, Pengindeksan Fisik |
+-------------------------------------------------------------+
-
Tingkat Fisik (Physical / Internal Level):
- Tingkat abstraksi paling rendah yang menjelaskan bagaimana (how) data sebenarnya disimpan secara fisik di media penyimpanan (hard disk, SSD).
- Menjelaskan rincian struktur data tingkat rendah, metode pengindeksan (B-Tree, Hashing), representasi blok, alokasi byte, serta algoritma kompresi atau enkripsi.
-
Tingkat Konseptual (Conceptual / Logical Level):
- Menjelaskan data apa saja (what) yang disimpan di dalam basis data serta hubungan logis antar-data tersebut.
- Menggambarkan keseluruhan basis data bagi suatu komunitas pengguna tanpa memperhatikan detail fisik penyimpanan.
- Terdiri dari definisi tabel, atribut, relasi antar-tabel, dan batasan integritas (integrity constraints). Tingkat ini dirancang oleh administrator basis data (DBA).
-
Tingkat Pandangan / Eksternal (View / External Level):
- Tingkat abstraksi tertinggi yang menggambarkan hanya bagian basis data yang relevan bagi kelompok pengguna tertentu.
- Menyembunyikan bagian data yang tidak diperlukan atau yang bersifat rahasia.
- Contoh: Mahasiswa hanya dapat melihat nilai dan KRS miliknya sendiri melalui portal akademik, sedangkan bagian keuangan melihat status pembayaran tagihan tanpa melihat detail transkrip nilai akademik.
B. Kemandirian Data (Data Independence)
Arsitektur tiga tingkat menghasilkan kemampuan penting yang disebut Kemandirian Data:
- Kemandirian Data Fisik (Physical Data Independence): Kemampuan untuk memodifikasi skema fisik (seperti mengubah media penyimpanan dari HDD ke SSD, membuat indeks baru, menyusun ulang blok data) tanpa harus mengubah skema konseptual atau program aplikasi.
- Kemandirian Data Logika (Logical Data Independence): Kemampuan untuk mengubah skema konseptual (seperti menambah atribut baru atau memecah tabel) tanpa harus mengubah skema eksternal atau program aplikasi yang tidak menggunakan perubahan tersebut.
1.4.2 Model Data
Model Data adalah sekumpulan perangkat konseptual (berupa notasi, aturan, dan simbol) yang digunakan untuk mendeskripsikan data, hubungan antar-data, semantik data, serta batasan-batasan konsistensi data.
Model data dikelompokkan ke dalam beberapa kategori utama:
1. Model Berbasis Objek (Object-Based Data Models)
Model ini menggunakan konsep entitas, objek, atribut, dan relasi logis:
- Model Entitas-Relasional (Entity-Relationship Model - ERM):
Menggambarkan dunia nyata sebagai kumpulan entitas (objek yang dapat diidentifikasi secara unik) dan relasi antar-entitas tersebut. Model ini sangat populer untuk perancangan basis data konseptual melalui ER-Diagram (ERD).
- Model Berorientasi Objek (Object-Oriented Data Model - OODM):
Menggabungkan konsep pemrograman berorientasi objek (kelas, enkapsulasi data, metode/operasi, pewarisan/inheritance) langsung ke dalam basis data.
2. Model Berbasis Rekaman (Record-Based Data Models)
Model yang menstrukturkan data ke dalam format rekaman dengan ukuran tetap:
- Model Relasional (Relational Model):
Model paling dominan dalam industri perangkat lunak modern. Diperkenalkan oleh Dr. Edgar F. Codd (IBM) pada tahun 1970. Data direpresentasikan dalam bentuk sekumpulan tabel berdimensi dua (disebut relasi), yang tersusun atas baris (tuple / record) dan kolom (attribute / field).
- Model Jaringan (Network Model):
Data direpresentasikan sebagai sekumpulan rekaman, dan relasi antar-rekaman dinyatakan dalam bentuk tautan graf (links/pointers). Mendukung relasi banyak-ke-banyak (many-to-many).
- Model Hierarkis (Hierarchical Model):
Data disusun dalam struktur hierarki pohon (tree structure) yang memiliki satu simpul akar (root node), di mana setiap simpul anak hanya boleh memiliki satu simpul induk (parent-child relationship / 1:N).
1.4.3 Bahasa Basis Data (Database Languages)
Untuk berinteraksi dengan DBMS, sistem menyediakan bahasa khusus yang terstandardisasi, umumnya berbasis SQL (Structured Query Language), yang terbagi ke dalam beberapa sub-bahasa fungsional:
1. Data Definition Language (DDL)
Digunakan untuk mendefinisikan, mengubah, dan menghapus struktur skema basis data serta objek-objeknya (tabel, view, index):
CREATE: Membuat database, tabel, atau view baru.
ALTER: Mengubah struktur tabel (menambah kolom, mengubah tipe data).
DROP: Menghapus objek basis data secara permanen.
TRUNCATE: Mengosongkan seluruh isi data tabel tanpa menghapus strukturnya.
2. Data Manipulation Language (DML)
Digunakan untuk mengakses, memanipulasi, dan memproses data yang tersimpan di dalam tabel:
- DML Deklaratif / Non-Prosedural: Pengguna hanya menspesifikasikan data apa yang diinginkan tanpa perlu memerinci bagaimana langkah algoritma mengambilnya. Contohnya kueri SQL:
SELECT: Menampilkan data yang memenuhi kriteria tertentu.
INSERT: Menambahkan rekaman data baru ke dalam tabel.
UPDATE: Memperbarui nilai data yang sudah ada.
DELETE: Menghapus rekaman data tertentu dari tabel.
- DML Prosedural: Mengharuskan pengguna menspesifikasikan urutan instruksi dan alur pengambilan data langkah demi langkah.
3. Data Control Language (DCL)
Digunakan untuk mengatur hak akses (privileges) dan keamanan akun pengguna:
GRANT: Memberikan izin akses kepada pengguna tertentu.
REVOKE: Mencabut kembali izin akses yang pernah diberikan.
4. Transaction Control Language (TCL)
Digunakan untuk mengendalikan jalannya transaksi:
COMMIT: Menyimpan perubahan transaksi secara permanen ke disk.
ROLLBACK: Membatalkan transaksi dan mengembalikan data ke keadaan sebelum transaksi dimulai.
SAVEPOINT: Menandai titik tertentu di dalam transaksi yang dapat dijadikan acuan pembatalan parsial.
1.4.4 Pengguna Basis Data dan Administrator
Pengguna sistem basis data diklasifikasikan berdasarkan peran dan cara interaksinya dengan sistem:
1. Database Administrator (DBA)
Orang atau tim yang memegang kendali pusat atas keseluruhan sistem basis data. Tanggung jawab DBA mencakup:
- Perancangan dan modifikasi skema basis data konseptual dan fisik.
- Menetapkan kebijakan otorisasi, hak akses, dan keamanan data.
- Menentukan strategi pencadangan (backup) dan pemulihan (recovery).
- Pemantauan kinerja (performance monitoring) dan penyetelan sistem (query tuning).
- Penanganan reorganisasi penyimpanan dan ketersediaan sistem (high availability).
2. Pengembang Aplikasi (Application Programmers)
Tenaga profesional perangkat lunak yang menulis kode aplikasi (menggunakan Java, PHP, Python, C#, JavaScript, Go) yang berinteraksi dengan DBMS melalui pemanggilan kueri SQL atau API database (ODBC/JDBC/ORM).
3. Pengguna Mahir (Sophisticated Users / Data Analysts)
Pengguna yang berinteraksi langsung dengan sistem basis data tanpa melalui program aplikasi jadi, melainkan menulis kueri SQL analitik tingkat lanjut atau menggunakan perkakas pemrosesan data (seperti perkakas BI, Tableau, Power BI, Python/R) untuk eksplorasi dan analisis data bisnis.
4. Pengguna Awam / Akhir (Naïve / End Users)
Pengguna yang berinteraksi dengan sistem basis data melalui antarmuka grafis (GUI) aplikasi yang telah disediakan, tanpa perlu mengetahui adanya basis data atau bahasa SQL di balik layar. Contohnya: kasir toko kelola minimarket, nasabah di mesin ATM, atau pengguna aplikasi pemesanan tiket online.
Rangkuman
- Sistem basis data menyediakan abstraksi tiga tingkat (Fisik, Konseptual, Eksternal) yang menjamin kemandirian data.
- Model Data (khususnya Model Relasional) menyediakan kerangka matematis dan konseptual untuk menyusun hubungan antar-entitas.
- Interaksi dilakukan melalui bahasa basis data terpadu (DDL, DML, DCL, TCL).
- Berbagai pemangku kepentingan mulai dari DBA, Pengembang, Analis, hingga Pengguna Akhir berkolaborasi dalam ekosistem basis data.