TIPS: Rangkuman ini hanya sebagai pemahaman secara umum. Pastikan Anda juga membaca BMP (Buku Materi Pokok) versi cetak atau digital di Ruang Baca Virtual (RBV) untuk pemahaman lebih mendalam.
DILARANG: Memperjualbelikan seluruh konten atau latihan soal yang terdapat di portal ini. Pelanggaran akan dikenakan sanksi sesuai ketentuan yang berlaku.
Praktikum SQL
Kegiatan Belajar 1: Aplikasi Basis Data
A. Aplikasi Basis Data (DBMS)
1. Definisi DBMS
DBMS (Database Management System): Aplikasi untuk menangani data dan akses pengguna supaya data terpelihara dengan baik. Menurut C.J. Date, DBMS menangani akses pengguna ke basis data. Menurut Gordon C. Everest, DBMS adalah aplikasi manajemen sumber daya data.
Fungsi DBMS: Menjaga integritas data, penyimpanan data (data storage management), kamus data, transformasi dan penyajian data, keamanan data, akses multi-user, bahasa akses dan pemrograman, interface komunikasi, manajemen transaksi.
2. MySQL
MySQL: DBMS gratis untuk keperluan pribadi dan komersial, paling populer dibanding database lain. Mendukung berbagai bahasa pemrograman, tidak membutuhkan memori besar, dapat diakses bersamaan, struktur tabel fleksibel, tipe data bervariasi, keamanan terjamin.
Kekurangan: Kurang mendukung aplikasi game dan mobile, kurang cocok untuk basis data besar, technical support kurang baik.
Unduh:https://www.mysql.com/. MySQL telah diakuisisi oleh Oracle sehingga pengembang membuat versi terpisah yaitu MariaDB.
3. MariaDB
MariaDB: Versi pengembangan terpisah dari MySQL karena diakuisisi Oracle. Keistimewaan: portabilitas stabil di berbagai OS, gratis, multi-user tanpa konflik, kecepatan baik untuk query sederhana, skala lebih besar dari MySQL.
XAMPP: Paket aplikasi X/Apache/MariaDB/PHP/Perl yang dikembangkan oleh apachefriends. Cross-platform dan sering digunakan untuk mengelola MariaDB. Diunduh dari https://www.apachefriends.org/index.html.
4. Microsoft SQL Server
SQL Server: DBMS dari Microsoft dengan fitur mirroring (duplikasi basis data) dan clustering (pengelompokan data). Berjalan di semua jenis Windows, dapat membuat clustering data, pengendalian terpusat, backup/recovery/restore.
Kekurangan: Hanya berjalan di Windows, berbayar, bahasa pemrograman terbatas, kurang cocok untuk skala besar.
5. Oracle
Oracle: DBMS dari Oracle Corporation, dikembangkan Larry Ellison, Bob Miner, dan Ed Oates sejak 1977. Memisahkan proses client-server, ukuran basis data besar, multi-user, multi-platform, manajemen transaksi optimal.
Kekurangan: Tidak gratis dan relatif mahal, spesifikasi komputer tinggi, kurang cocok untuk perusahaan kecil, rumit penggunaannya. Cocok untuk proses bisnis skala besar.
6. PostgreSQL
PostgreSQL: DBMS terkenal kuat dalam relasi, handal, integritas dan akurasi data. Digunakan oleh Yahoo, MySpace, Skype, dll. Kelebihan: arsitektur multiple process, kecepatan lebih baik dari MySQL, gratis, fitur object oriented, fitur lengkap seperti DB komersial, tipe data geometri, konektivitas baik, mendukung banyak bahasa.
Kekurangan: Kurang populer dari MySQL, penyimpanan lebih besar, di Windows harus melalui emulasi Cygwin.
B. Aplikasi XAMPP
1. Fitur XAMPP
Apache: Webserver untuk menampilkan halaman admin web.
MySQL/MariaDB: DBMS untuk menyimpan, mengisi, dan mengolah data.
FileZilla: Transfer file/folder dalam ukuran besar.
Mercury: Mail server untuk manajemen email.
Tomcat: Webserver menjalankan JSP (Java Server Pages) berbasis Java.
2. Mengakses MySQL/MariaDB
phpMyAdmin: Halaman admin web untuk mengelola basis data MySQL/MariaDB. Diakses melalui http://localhost/phpmyadmin/ setelah mengaktifkan Apache dan MySQL di XAMPP Control Panel.
Lainnya: ENUM (enumerasi hingga 65535 string), SET (kombinasi hingga 255 string).
Kegiatan Belajar 2: Praktikum SQL dengan XAMPP
A. Review SQL
1. Data Definition Language (DDL)
DDL: Kumpulan perintah SQL untuk membuat, mengubah, dan menghapus struktur objek basis data (Table, View, Index, Procedure, Function, Trigger).
CREATE: Perintah untuk membuat basis data dan tabel. Contoh: CREATE DATABASE rumahsakit; dan CREATE TABLE pasien (id_pasien int(3) PRIMARY KEY AUTO_INCREMENT, nama_pasien varchar(30), ...);
ALTER: Perintah untuk mengubah struktur tabel (menambah/mengganti nama field, menghapus field).
DROP: Perintah untuk menghapus tabel atau basis data. Contoh: DROP DATABASE rumahsakit;
2. Data Manipulation Language (DML)
DML: Kumpulan perintah SQL untuk pengolahan data dalam tabel basis data.
INSERT: Memasukkan data. Contoh: INSERT INTO pasien (id_pasien, nama_pasien, alamat_pasien, jenis_kelamin) VALUES (1, 'Joko Widodo', 'Jl. Pakis haji no 35 Jakarta', 1);
SELECT: Mengambil/menampilkan data. Contoh: SELECT * FROM pasien; (seluruh data) atau SELECT nama_pasien, jenis_kelamin FROM pasien; (field tertentu).
SELECT Bersyarat: Mengambil data dengan syarat. Contoh: SELECT nama_pasien FROM pasien WHERE jenis_kelamin='1';
SELECT Join: Mengambil data dari beberapa tabel. Contoh: SELECT p.nama_pasien, d.nama_dokter FROM pasien p JOIN pasien_dokter pd ON p.id_pasien=pd.id_pasien JOIN dokter d ON pd.id_dokter=d.id_dokter;
UPDATE: Mengubah data. Contoh: UPDATE pasien SET nama_pasien='Mirna Maryati' WHERE id_pasien=5;
DELETE: Menghapus data. Contoh: DELETE FROM pasien WHERE id_pasien=5;
B. Praktikum SQL pada XAMPP
1. Akses MySQL/MariaDB
Via Command Prompt: Jalankan XAMPP, buka CMD, arahkan ke folder xampp\mysql\bin, ketik mysql -u root. Tampilkan database dengan SHOW DATABASES;
Buat Database:CREATE DATABASE rumahsakit; — bisa via CMD atau phpMyAdmin menu SQL atau menu Databases.
Buat Tabel: Contoh tabel pasien, dokter, administrator, dokter_admin, pasien_dokter, daftar — masing-masing dengan atribut sesuai ERD.
Relasi: Atur foreign key pada tabel yang membutuhkan, lalu buat relasi melalui phpMyAdmin Designer dengan memilih referenced key (primary key) dan foreign key. Atur cascade pada on delete/on update.
3. Perintah DML Lanjutan
Fungsi Matematika: COUNT (hitung baris), SUM (total), MIN (terendah), MAX (tertinggi). Contoh: SELECT COUNT(id_pasien) FROM pasien;
Fungsi String: LEFT(x,n) ambil dari kiri, RIGHT(x,n) dari kanan, MID(x,n,z) dari tengah. Contoh: SELECT * FROM pasien WHERE LEFT(alamat_pasien,2)='Jl';
BETWEEN: Mengambil data antara dua nilai. Contoh: SELECT * FROM pasien WHERE id_pasien BETWEEN 3 AND 5;
LIKE: Mencari data berdasarkan pola karakter. Contoh: SELECT * FROM pasien WHERE alamat_pasien LIKE '%Jakarta%';
ORDER BY: Pengurutan data ASC (menaik) atau DESC (menurun). Contoh: SELECT * FROM pasien ORDER BY id_pasien DESC;
GROUP BY: Mengelompokkan data dan menghilangkan duplikat. Contoh: SELECT * FROM pasien GROUP BY jenis_kelamin;