Tugas 1: Bahasa yang Digunakan di Pengantar Basis Data
Dalam sistem manajemen basis data (DBMS), terutama yang berbasis SQL (Structured Query Language), terdapat empat jenis sub-bahasa yang digunakan untuk berinteraksi dengan basis data. Keempatnya memiliki fungsi yang spesifik, mulai dari mendefinisikan struktur hingga memanipulasi dan mengontrol data.
1. Data Definition Language (DDL)
DDL digunakan untuk mendefinisikan, mengubah, dan menghapus struktur objek-objek basis data seperti tabel, indeks, dan pengguna. Perintah DDL bersifat permanen (autocommit) dan tidak dapat dibatalkan dengan mudah.
- Fungsi Utama: Membuat skema dan struktur basis data.
- Contoh Perintah:
CREATE: Untuk membuat objek baru (misal, `CREATE DATABASE`, `CREATE TABLE`).ALTER: Untuk mengubah struktur objek yang sudah ada (misal, `ALTER TABLE ADD COLUMN`).DROP: Untuk menghapus objek dari basis data (misal, `DROP TABLE`).TRUNCATE: Untuk menghapus semua data dari tabel secara cepat tanpa menghapus struktur tabelnya.
2. Data Manipulation Language (DML)
DML digunakan untuk mengelola dan memanipulasi data yang ada di dalam tabel. Perintah ini berhubungan dengan isi dari tabel, bukan strukturnya.
- Fungsi Utama: Memasukkan, memperbarui, dan menghapus record data.
- Contoh Perintah:
INSERT: Untuk menambahkan baris data baru ke dalam tabel.UPDATE: Untuk mengubah atau memperbarui data yang sudah ada di dalam tabel.DELETE: Untuk menghapus baris data dari tabel.
3. Data Query Language (DQL)
DQL (sering dianggap bagian dari DML) digunakan secara spesifik untuk melakukan kueri atau mengambil data dari basis data. Perintah utamanya hanya satu, tetapi sangat fleksibel dan kuat.
- Fungsi Utama: Mengambil dan menampilkan data dari satu atau lebih tabel.
- Contoh Perintah:
SELECT: Untuk memilih dan mengambil data berdasarkan kriteria tertentu, bisa digabungkan dengan klausa seperti `FROM`, `WHERE`, `GROUP BY`, `ORDER BY`.
4. Data Control Language (DCL)
DCL digunakan untuk mengontrol hak akses dan izin pengguna (privileges) terhadap basis data. Ini sangat penting untuk menjaga keamanan dan integritas data.
- Fungsi Utama: Mengelola hak akses pengguna.
- Contoh Perintah:
GRANT: Memberikan izin kepada pengguna untuk melakukan operasi tertentu (misal, `GRANT SELECT ON mahasiswa TO user1`).REVOKE: Mencabut izin yang telah diberikan kepada pengguna.
Tugas 2: Proses Pembuatan Tabel dan Input Data
Berikut adalah dokumentasi langkah-langkah pembuatan basis data, tabel, dan proses memasukkan data menggunakan perintah SQL di phpMyAdmin.
1. Membuat dan Menggunakan Database
Langkah pertama adalah membuat database baru dengan nama `haykal` dan kemudian memilih database tersebut untuk digunakan.
-- 1. Bikin database
CREATE DATABASE haykal;
-- 2. Pilih database
USE haykal;
2. Membuat Tabel Mahasiswa
Selanjutnya, membuat tabel `mahasiswa` di dalam database `haykal` dengan struktur kolom yang telah ditentukan.
-- 3. Bikin tabel di dalam database
CREATE TABLE mahasiswa (
nim VARCHAR(20) PRIMARY KEY,
nama VARCHAR(50),
prodi VARCHAR(50),
mk VARCHAR(50),
dosen VARCHAR(50),
nilai INT
);
3. Memasukkan Data ke Tabel
Setelah tabel berhasil dibuat, langkah berikutnya adalah memasukkan data mahasiswa ke dalam tabel menggunakan perintah `INSERT`.
-- 4. Isi data
INSERT INTO mahasiswa (nim, nama, prodi, mk, dosen, nilai)
VALUES ('24210076', 'Haykal Furqan Shafiq', 'Ilkom', 'Pengantar Basis Data', 'Oktalia Triananda Lovita, S.ST, MT', '100');
4. Hasil Tabel Akhir
Tabel di bawah ini menampilkan hasil akhir dari data yang telah dimasukkan.
| Nim | Nama | Prodi | Mata Kuliah | Nama Dosen | Nilai/KRS |
|---|---|---|---|---|---|
| 24210076 | Haykal Furqan Shafiq | Ilmu Komputer | Pengantar Basis Data | Oktalia Triananda Lovita, S.ST, MT | 100 |
| ... | ... | ... | ... | ... | ... |
Tugas 3: Perbedaan Basis Data Relasional dan Non-Relasional
| Kriteria | Basis Data Relasional (SQL) | Basis Data Non-Relasional (NoSQL) |
|---|---|---|
| Struktur Data | Terstruktur (Schema-on-Write). Data dalam format tabel (baris dan kolom) dengan skema kaku. | Tidak terstruktur/Semi-terstruktur (Schema-on-Read). Format beragam (dokumen, key-value, dll) dengan skema fleksibel. |
| Skema | Statis. Harus didefinisikan sebelum data dimasukkan. | Dinamis. Dapat diubah kapan saja. |
| Hubungan Data | Menggunakan relasi antar tabel (Foreign Key). | Hubungan tidak ditekankan, data terkait sering disimpan bersama. |
| Bahasa Kueri | SQL (Structured Query Language). | Tidak ada bahasa standar, tiap basis data punya sintaks sendiri. |
| Skalabilitas | Vertikal (Scale-up), menambah kekuatan satu server. | Horizontal (Scale-out), menambah lebih banyak server. |
| Konsistensi | Menganut properti ACID (konsistensi tinggi). | Menganut properti BASE (mengutamakan ketersediaan). |
| Contoh | MySQL, PostgreSQL, Oracle, SQL Server. | MongoDB, Cassandra, Redis, Neo4j. |