#02 Peran Basis Data


Sejarah basis data bermula pada tahun 1960-an, ketika komputer mulai digunakan untuk menyimpan dan mengelola data secara elektronik. Pada masa itu, model basis data yang digunakan adalah model hirarki dan model jaringan, yang tersusun kaku dan saling tergantung. Memasuki tahun 1970-an, muncul model relasional yang diperkenalkan oleh E.F. Codd dari IBM. Model ini menjadi tonggak penting karena lebih fleksibel dan mudah digunakan, serta menjadi dasar dari banyak sistem basis data modern. Seiring berkembangnya teknologi, tahun 1980-an hingga 1990-an menghadirkan berbagai sistem manajemen basis data relasional (RDBMS) seperti Oracle, MySQL, dan SQL Server. Di era 2000-an hingga sekarang, kebutuhan akan pengolahan data besar dan cepat melahirkan basis data NoSQL dan cloud database, yang lebih cocok untuk aplikasi modern seperti media sosial, e-commerce, dan analisis data skala besar.

A. Komponen Sistem Basis Data

Sistem basis data tidak hanya terdiri dari sekumpulan data dan perangkat lunak pengelola, tetapi juga terdiri dari beberapa komponen utama yang saling terintegrasi untuk mendukung pengelolaan data secara efektif.

1. Hardware (Perangkat Keras)

Hardware adalah perangkat fisik yang digunakan untuk menyimpan dan mengakses basis data. Komponen ini meliputi server, komputer klien, perangkat penyimpanan (hard disk, SSD), dan jaringan. 
    • Server database (misalnya: server dengan MySQL)
    • Hard disk tempat menyimpan data
    • Router/switch untuk koneksi antar komputer dalam sistem database client-server

2. Software (Perangkat Lunak)

Software adalah program-program yang digunakan untuk mengelola basis data. Termasuk di dalamnya adalah DBMS, sistem operasi, dan aplikasi-aplikasi pendukung lainnya.
    • DBMS: MySQL, Oracle, PostgreSQL, SQLite
    • Sistem operasi: Windows Server, Linux Ubuntu
     Aplikasi pengelola basis data: phpMyAdmin, DBeaver, SQL Developer

3. Data

Data adalah inti dari sistem basis data. Ini mencakup semua informasi yang disimpan dan dikelola dalam basis data, mulai dari data mentah hingga hasil pengolahan.

Jenis data:

    • Data operasional (data transaksi harian)
    • Metadata (data tentang data, seperti struktur tabel)
    • Backup data (salinan cadangan untuk pemulihan)

Contoh:

    • Data pelanggan: nama, alamat, nomor HP
    • Data produk: kode produk, harga, stok

4. Stored Procedures

Stored procedure adalah kumpulan perintah SQL yang disimpan dan bisa dijalankan berulang kali di dalam database. Fungsinya untuk otomatisasi proses tertentu agar lebih efisien.

Manfaat:

    • Mengurangi duplikasi kode
    • Meningkatkan keamanan dan konsistensi data
    • Menyederhanakan pemrograman aplikasi

Contoh: 

CREATE PROCEDURE GetCustomerByID(IN cust_id INT)
BEGIN
   SELECT * FROM customers WHERE id = cust_id;
END;

5. User (Pengguna)

User adalah orang atau sistem yang berinteraksi dengan basis data. Setiap user memiliki peran dan hak akses yang berbeda.

Jenis-jenis pengguna:

    • Database Administrator (DBA): Bertanggung jawab atas pengelolaan sistem BD.
    • Programmer: Menulis program yang menggunakan basis data.
    • End User: Pengguna akhir yang memakai aplikasi berbasis data.

Contoh:

    • DBA mengelola backup data dan pengaturan user
    • Programmer membuat aplikasi kasir yang menyimpan transaksi ke database
    • Kasir menggunakan aplikasi untuk memasukkan penjualan


B. Profesi dalam Bidang Basis Data

1. Database Administrator (DBA)

Bertanggung jawab atas pengelolaan dan pemeliharaan sistem basis data agar berjalan optimal, aman, dan tersedia setiap saat.

Contoh Tugas:

    • Mengatur hak akses pengguna (user privileges)
    • Backup dan restore data secara berkala
    • Menangani performa database agar tidak lambat (tuning)
    • Menjamin keamanan data dari akses tidak sah

Contoh Profesi:

Admin database di perusahaan perbankan, rumah sakit, atau startup teknologi.

2. Database Designer (Desainer Basis Data)

Merancang struktur basis data agar sesuai dengan kebutuhan sistem dan mudah digunakan serta dikembangkan.

Contoh Tugas:

    • Membuat diagram Entity Relationship Diagram (ERD)
    • Menentukan jenis data yang akan digunakan dalam setiap tabel
    • Merancang relasi antar tabel dan skema basis data
    • Berkolaborasi dengan pengembang sistem sebelum implementasi

Contoh Profesi:

Perancang database untuk sistem akademik, inventaris gudang, atau e-commerce.

3. Application Developer (Pengembang Aplikasi)

Membangun dan mengembangkan aplikasi yang menggunakan basis data, serta memastikan data bisa disimpan, ditampilkan, dan dikelola dengan baik oleh pengguna.

Contoh Tugas:

    • Membuat fitur input, update, delete, dan view data
    • Mengintegrasikan database dengan antarmuka pengguna (UI)
    • Menggunakan SQL dalam pemrograman aplikasi
    • Mengoptimalkan query agar aplikasi tetap cepat

Contoh Profesi:

Programmer yang membuat sistem informasi keuangan, aplikasi kepegawaian, atau aplikasi mobile berbasis data.


C. Operasi Dasar dalam Manajemen Basis Data

Manajemen basis data tidak lepas dari operasi dasar yang digunakan untuk membangun, mengelola, dan memanipulasi data di dalamnya. Operasi-operasi ini biasa dituliskan dalam SQL (Structured Query Language).

1. CREATE DATABASE

Digunakan untuk membuat sebuah basis data baru.
CREATE DATABASE sekolah;

membuat basis data bernama sekolah

2. DROP DATABASE

Digunakan untuk menghapus basis data beserta semua isinya secara permanen.
DROP DATABASE sekolah;

menghapus basis data sekolah

3. CREATE TABLE

Digunakan untuk membuat tabel baru dalam basis data.
CREATE TABLE siswa (
    id INT PRIMARY KEY,
    nama VARCHAR(50),
    jurusan VARCHAR(30)
);

membuat tabel siswa dengan tiga kolom: idnama, dan jurusan

4. DROP TABLE

Digunakan untuk menghapus tabel dari basis data.
DROP TABLE siswa;

menghapus tabel siswa dari database.

5. INSERT

Digunakan untuk menambahkan data (record) ke dalam tabel.
INSERT INTO siswa (id, nama, jurusan)
VALUES (1, 'Denis', 'PPLG');

menambahkan data siswa ke tabel siswa.

6. RETRIEVE / SEARCH (SELECT)

Digunakan untuk mengambil atau mencari data dari tabel.
SELECT * FROM siswa;
mengambil semua data dari tabel siswa
SELECT nama FROM siswa WHERE jurusan = 'PPLG';

mengambil nama siswa yang jurusannya PPLG.

7. UPDATE

Digunakan untuk mengubah data yang sudah ada dalam tabel.
UPDATE siswa
SET nama = 'Denis'
WHERE id = 1;

mengubah nama siswa dengan id 1 menjadi Denis.

8. DELETE

Digunakan untuk menghapus data dari tabel.
DELETE FROM siswa WHERE id = 1;

menghapus data siswa yang memiliki id 1.

Catatan Penting:
- Gunakan WHERE dalam perintah UPDATE dan DELETE untuk menghindari perubahan atau penghapusan semua data di tabel.
-   Setiap perintah SQL diakhiri dengan titik koma ;

 

D. Abstraksi Basis Data


Abstraksi basis data adalah proses penyederhanaan tampilan data kepada pengguna agar tidak perlu mengetahui detail teknis penyimpanan atau struktur data yang kompleks. Tujuan utamanya adalah menyembunyikan kerumitan teknis dan menyediakan tampilan data sesuai kebutuhan pengguna.

1. Tujuan Abstraksi Basis Data

    • Menyederhanakan interaksi dengan data: Pengguna hanya melihat data yang dibutuhkan
    • Meningkatkan keamanan data: Detail sensitif bisa disembunyikan dari pengguna tertentu
    • Mendukung independensi data: Perubahan di satu level tidak harus memengaruhi level lain.

2. Level Abstraksi Basis Data

Level Internal (Internal Level)

Definisi:
Merupakan level paling rendah yang berhubungan langsung dengan cara data disimpan secara fisik di dalam media penyimpanan.
Fokus:
    • Struktur penyimpanan data
    • Indeks, blok, dan halaman penyimpanan
    • Format file dan struktur data di disk
Contoh:
Data siswa disimpan dalam bentuk file biner dengan format tertentu di hard disk, namun pengguna tidak perlu tahu bagaimana data tersebut ditata di memori.

Level Konseptual (Conceptual Level)

Definisi:
Level ini menggambarkan struktur logis keseluruhan dari basis data tanpa mempedulikan bagaimana data disimpan secara fisik.
Fokus:
    • Tabel, relasi antar tabel
    • Atribut, tipe data
    • Aturan integritas (misalnya: kunci primer, relasi antar tabel)
Contoh:
Terdapat tabel SiswaGuru, dan Kelas yang saling terhubung. Di level ini, desainer basis data menentukan bagaimana hubungan antartabel dibuat dan data apa saja yang disimpan.

Level Eksternal (External Level / View Level)

Definisi:
Level yang menampilkan tampilan data yang disesuaikan dengan kebutuhan masing-masing pengguna atau aplikasi.
Fokus:
    • Menyediakan view (pandangan terbatas) dari data
    • Menyembunyikan data yang tidak relevan bagi pengguna
Contoh:
    • Seorang siswa hanya bisa melihat data nilainya sendiri.
    • Guru hanya bisa melihat data siswa di kelas yang dia ajar.
    • Admin bisa melihat semua data.


E. Pemodelan Data



Pemodelan data adalah proses untuk membuat representasi logis dari data dan hubungan antar data yang akan digunakan dalam sistem basis data. Model ini berfungsi sebagai rancangan awal (blueprint) untuk membangun struktur database.

F. Jenis-Jenis Model Data

1. Object-Based Data Model

Model ini menggambarkan data berdasarkan objek dalam dunia nyata dan hubungannya satu sama lain. Umumnya digunakan dalam perancangan awal (konseptual) basis data.
Ciri-ciri:
    • Menggunakan diagram (ERD)
    • Fokus pada entitasatribut, dan relasi
    • Cocok untuk tahap perancangan awal basis data
Contoh:
    • Entity-Relationship (ER) Model
Menggunakan entitas (objek) dan relasi antar entitas.
Contoh: Entitas Siswa memiliki relasi Belajar dengan entitas Mata Pelajaran

 

2. Record-Based Data Model

Model ini menggambarkan data dalam bentuk tabel atau record (baris) dan biasa digunakan dalam implementasi basis data.
Terdiri dari 3 jenis utama:

a. Hierarchical Model

Data disusun seperti pohon, dari induk ke anak (parent-child).
Contoh:
Tabel Sekolah punya banyak Siswa.
Setiap anak hanya punya satu induk.
Kelebihan:
Cepat untuk data yang strukturnya tetap dan hierarkis.
Kekurangan:
Kurang fleksibel, karena hubungan hanya satu arah (atas ke bawah).

b. Network Model

Mirip seperti hierarchical, tapi lebih fleksibel: satu anak bisa punya lebih dari satu induk (many-to-many).
Contoh:
Guru mengajar banyak Murid, dan Murid bisa dibimbing oleh banyak Guru.
Kelebihan:
Mendukung relasi kompleks.
Kekurangan:
Struktur dan navigasinya rumit.

c. Relational Model (Paling Umum)

Data disimpan dalam bentuk tabel (relasi) yang saling terhubung melalui kunci (key).
Contoh:
Tabel Siswa dengan kolom id_siswanama
Tabel Nilai yang menghubungkan Siswa dengan Mapel melalui id_siswa dan id_mapel.
Kelebihan:
    • Fleksibel dan mudah dipahami
    • Didukung oleh banyak software (MySQL, PostgreSQL, dll)

d. Physical-Based Data Model

Model ini menjelaskan bagaimana data disimpan secara fisik di media penyimpanan
Fokusnya pada:
    • Alokasi ruang memori
    • Format penyimpanan (binary, file block)
    • Cara pengambilan data (retrieval)
Tujuan:
Mengoptimalkan kecepatan akses dan efisiensi ruang.
Contoh:
File indeks
Blok data dalam hard disk
Clustered vs. non-clustered indexing (Artinya, data tabel itu sendiri diurutkan berdasarkan kolom yang diindeks atau tidak )

Posting Komentar

Lebih baru Lebih lama

Formulir Kontak