Rangkuman Hasil Laporan Basis data Semester 2

 RANGKUMAN PRAKTIKUM BASIS DATA


Pokok Bahasan 1: Basis Data, Model Data, Diagram E-R

A. Pendahuluan

Pokok bahasan ini mengulas konsep dasar basis data, pemodelan data, dan pembuatan diagram E-R. Mahasiswa diharapkan mampu:

  1. Memahami sistem basis data dan komponennya.
  2. Membuat desain basis data menggunakan ER-Diagram.
  3. Memahami dan mengimplementasikan fitur-fitur ER-Diagram.

B. Penyajian (Tutorial)

Konsep Sistem Basis Data
  • Basis Data: Kumpulan data yang disimpan dalam komputer dan diolah untuk menghasilkan informasi.
  • Sistem Basis Data: Ruang lingkup lebih luas, terdiri dari perangkat keras, sistem operasi, basis data, DBMS (Database Management System), dan pengguna.
Konsep Model Data
  • Model Data: Cara menjelaskan data dalam basis data dan hubungannya secara logika.
    • Object Based Data Model: Menggambarkan hubungan logis antar data berdasarkan objek (contohnya, Entity Relationship Model).
    • Record Based Data Model: Menggambarkan hubungan logis antar data dalam bentuk tabel (contohnya, Relational Model).
    • Physical Based Data Model: Menggambarkan teknis penyimpanan record dalam basis data.
Bahasa Basis Data
  • DDL (Data Definition Language): Mendefinisikan struktur basis data (membentuk, mengubah, menghapus basis data).
  • DML (Data Manipulation Language): Memproses data dalam basis data (menambah, mengolah, mengubah, menghapus data).
  • DCL (Data Control Language): Mengatur hak akses pengguna pada basis data.
Entity Relationship Diagram (ER-D)
  • Komponen ER-D: Entitas, atribut, dan kerelasian antar entitas.
    • Entitas: Obyek dasar dalam sistem (contohnya, Mahasiswa, Matakuliah).
    • Atribut: Keterangan yang terkait pada entitas.
    • Kerelasian: Hubungan antara dua entitas.
Langkah-langkah Membuat ER-Diagram
  1. Identifikasi entitas yang terlibat.
  2. Lengkapi entitas dengan atribut yang sesuai.
  3. Tentukan primary key dari setiap entitas.
  4. Identifikasi kerelasian antar entitas.
  5. Gambarkan simbol entitas, atribut, dan kerelasian secara jelas.
  6. Cek kelengkapan ER-Diagram.

Lembar Kerja dan Tugas

A. Lembar Kerja

Studi kasus perpustakaan di Universitas Muhammadiyah Sidoarjo:

  1. Setiap mahasiswa harus memiliki kartu anggota dengan kode anggota, nama, alamat, email, dan telepon.
  2. Buku yang dipinjamkan mempunyai kode buku, judul, harga, tahun terbit, pengarang, dan penerbit.
  3. Pengarang dan penerbit memiliki kode dan nama masing-masing.
  4. Buku dapat dipinjam oleh beberapa anggota, dan pengarang mungkin mengarang beberapa buku.
Langkah-langkah Merancang Basis Data Perpustakaan
  1. Identifikasi entitas: Anggota, Buku, Pengarang, Penerbit.
  2. Lengkapi atribut masing-masing entitas.
  3. Tentukan primary key.
  4. Identifikasi kerelasian antar entitas.
  5. Gambarkan ER-Diagram.
B. Tugas

Studi kasus Universitas Muhammadiyah Sidoarjo:

  1. Analisis basis data kepegawaian.
  2. Identifikasi entitas: Pegawai, Jabatan, Golongan, Jadwal, PK_Karyawan.
  3. Lengkapi atribut entitas.
  4. Tentukan primary key.
  5. Identifikasi kerelasian antar entitas.
Kamus Data (Struktur Entitas)
  • Tabel Pegawai: kode_pegawai, nama_depan, nama_belakang, email, telepon, tmp_lahir, tgl_lahir, alamat, kecamatan, kabupaten_kota, provinsi, kode_pos, pendidikan_terakhir, nama_sekolah, kode_golongan, status, kode_jabatan, kode_status_pegawai, tgl_recruitment, tgl_resign.
  • Tabel Jabatan: kode_jabatan, jabatan.
  • Tabel Golongan: kode_golongan, golongan.
  • Tabel PK_Karyawan: id_pk, kode_pegawai, status_pk, tgl_ttdpk, lama_pk.
  • Tabel Jadwal: id_hari, hari, jadwal_masuk, jadwal_pulang.
  • Tabel Absensi: id_absensi, kode_pegawai, id_hari, tanggal, jam_masuk, jam_pulang, status_absensi.

Pokok Bahasan 2: Structured Query Language (SQL)

PENDAHULUAN

Bab ini membahas tentang SQL, elemen-elemen SQL, dan penerapan operasi elemen SQL pada MySQL. Setelah mempelajari, mahasiswa diharapkan mampu memahami SQL dan menggunakannya pada MySQL.

PENYAJIAN

SQL (Structured Query Language)

SQL adalah bahasa standar untuk mengakses basis data, digunakan pada berbagai platform dan DBMS seperti Oracle, Sybase, MySQL, dan Informix.

Elemen SQL

  1. Pernyataan: Perintah SQL yang meminta tindakan tertentu kepada DBMS. Kelompok utama:

    • DDL (Data Definition Language): CREATE, DROP, ALTER.
    • DML (Data Manipulation Language): INSERT, SELECT, UPDATE, DELETE.
    • DCL (Data Control Language): GRANT, REVOKE.
  2. Nama: Identitas untuk objek DBMS seperti tabel dan kolom.

  3. Tipe Data: Berbagai tipe data dalam MySQL seperti INT, FLOAT, CHAR, VARCHAR, dan DATE.

  4. Konstanta: Nilai tetap yang tidak berubah, bisa numerik atau karakter.

  5. Operator:

    • Aritmatika: +, -, *, /, %.
    • Relasi: ==, >, <, >=, <=, !=.
    • Logika: AND, OR, NOT.
    • Pembanding: IS NULL, BETWEEN, IN, LIKE.
  6. Fungsi Agregat: SUM, AVG, COUNT, MAX, MIN.

MySQL (My Structured Query Language)

MySQL adalah RDBMS yang gratis dan open-source. Kelebihannya meliputi kecepatan, kemudahan penggunaan, open-source, kapabilitas, biaya murah, keamanan, dan lintas platform.

Instalasi XAMPP

  1. Jalankan file setup MySQL.
  2. Ikuti langkah instalasi hingga selesai.
  3. Atur password dan konfigurasi lainnya.

Koneksi ke MySQL

  1. Cara 1: Melalui DOS Prompt.
  2. Cara 2: Melalui XAMPP Control Panel.

Pokok Bahasan 3: Data Definition Language (DDL)

Pendahuluan

DDL pada SQL digunakan untuk mengelola struktur data dalam basis data. Mahasiswa diharapkan dapat:

  1. Memahami dan membuat basis data.
  2. Membuat tabel serta mengelola strukturnya.

Penyajian (Tutorial)

Data Definition Language (DDL) DDL adalah bagian dari SQL yang digunakan untuk mendefinisikan struktur basis data:

  • CREATE DATABASE: Membuat basis data baru.
  • DROP DATABASE: Menghapus basis data.
  • CREATE TABLE: Membuat tabel baru.
  • ALTER TABLE: Mengubah struktur tabel (menambah, mengubah, menghapus kolom).
  • DROP TABLE: Menghapus tabel.

Untuk mempermudah, berikut ini adalah ringkasan singkat dari Pokok Bahasan IV: Data Manipulation Language (DML) yang telah Anda tuliskan:

A. Pendahuluan

Pada pokok bahasan ini, dibahas mengenai Data Manipulation Language (DML), yang memungkinkan manipulasi dan pengelolaan data dalam basis data menggunakan perintah seperti insert, select, update, dan delete.

B. Penyajian (Tutorial)

Data Manipulation Language (DML)

DML memungkinkan manipulasi data dalam tabel. Terdapat dua jenis DML: prosedural dan non-prosedural.

  1. INSERT

    • Digunakan untuk menambahkan baris baru ke dalam tabel.
    • Contoh cara 1:
      sql

      INSERT INTO namatabel VALUES (nilai1, nilai2, nilai-n);
    • Contoh cara 2:
      sql

      INSERT INTO namatabel (kolom1, kolom2, kolom-n) VALUES (nilai1, nilai2, nilai-n);
  2. UPDATE

    • Digunakan untuk mengubah nilai pada satu atau beberapa kolom dalam tabel.
    sql

    UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 WHERE kondisi;
  3. SELECT

    • Digunakan untuk menampilkan data dari tabel.
    • Contoh tanpa klausa:
      sql
      SELECT * FROM namatabel;
    • Contoh dengan klausa ORDER BY (ascending/descending):
      sql

      SELECT * FROM namatabel ORDER BY kolom ASC;
    sql

    SELECT * FROM namatabel ORDER BY kolom DESC;
  4. DELETE

    • Digunakan untuk menghapus baris dari tabel.
    sql

    DELETE FROM namatabel WHERE kondisi;
  5. GROUP BY dan HAVING

    • GROUP BY: Digunakan untuk mengelompokkan hasil berdasarkan kolom tertentu.
    • HAVING: Digunakan untuk memberikan kondisi pada hasil dari GROUP BY.
  6. LIMIT

    • Digunakan untuk membatasi jumlah baris yang ditampilkan.
    sql

    SELECT * FROM namatabel LIMIT jumlah_baris;
  1. Query
    • Query digunakan untuk mengolah data dengan kriteria tertentu dari basis data, bisa melibatkan beberapa tabel.
    • Aturan: setiap field disebutkan dengan format NamaTabel.NamaField, tabel disebutkan dalam FROM, dan kondisi WHERE mempengaruhi jenis join.
  2. Jenis-Jenis Join
    • Cross Join: Penggabungan dengan perkalian kartesian.
    • Inner Join: Menampilkan data yang sesuai dengan syarat di ON.
    • Equijoin: Penggabungan dengan operator = pada WHERE.
    • Self-Join: Penggabungan antar field dari tabel yang sama.
    • Natural Join: Operasi equijoin dengan kolom yang sama sebagai penghubung.
  3. Set Operations
    • UNION: Menggabungkan hasil query dengan struktur yang sama.
    • INTERSECT: Menampilkan data yang ada di kedua query.
    • EXCEPT: Menampilkan data dari query pertama yang tidak ada di query kedua.
    • Nested Queries: Query di dalam query dengan IN, NOT IN, EXISTS, NOT EXISTS.

B. Penyajian (Tutorial)

Pokok Bahasan IV

Data Manipulation Language (DML) - MySQL

A. Pendahuluan

Data Manipulation Language (DML) adalah bagian dari SQL (Structured Query Language) yang digunakan untuk mengelola dan memanipulasi data di dalam tabel basis data. DML terdiri dari beberapa perintah utama seperti INSERT, SELECT, UPDATE, dan DELETE yang memungkinkan pengguna untuk menambah, mengambil, mengubah, dan menghapus data.

B. Perintah DML

  1. INSERT

    • Digunakan untuk menambahkan satu atau lebih baris data baru ke dalam tabel.
    • Syntax:
      sql

      INSERT INTO namatabel (kolom1, kolom2, ...) VALUES (nilai1, nilai2, ...);
    • Contoh:
      sql

      INSERT INTO buku (kode_buku, judul_buku, harga) VALUES ('B001', 'Sistem Basis Data', 25000);
  2. UPDATE

    • Digunakan untuk mengubah nilai kolom pada satu atau lebih baris dalam tabel.
    • Syntax:
      sql

      UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 WHERE kondisi;
    • Contoh:
      sql

      UPDATE buku SET judul_buku = 'Basis Data Terpadu' WHERE kode_buku = 'B001';
  3. SELECT

    • Digunakan untuk menampilkan data dari tabel berdasarkan kriteria tertentu.
    • Syntax:
      sql

      SELECT kolom1, kolom2, ... FROM namatabel WHERE kondisi;
    • Contoh:
      sql

      SELECT * FROM buku;
  4. DELETE

    • Digunakan untuk menghapus satu atau lebih baris dari tabel.
    • Syntax:
      sql

      DELETE FROM namatabel WHERE kondisi;
    • Contoh:
      sql

      DELETE FROM buku WHERE kode_buku = 'B001';

C. Penggunaan Tambahan

  • ORDER BY: Mengurutkan hasil query berdasarkan kolom tertentu.

    sql

    SELECT * FROM buku ORDER BY harga DESC;
  • GROUP BY: Mengelompokkan hasil query berdasarkan nilai kolom tertentu.

    sql

    SELECT kode_pengarang, COUNT(*) AS total_buku FROM buku GROUP BY kode_pengarang;
  • HAVING: Menerapkan kondisi setelah pengelompokan dengan GROUP BY.

    sql

    SELECT kode_pengarang, COUNT(*) AS total_buku FROM buku GROUP BY kode_pengarang HAVING COUNT(*) > 1;
  • Subquery: Menggunakan query di dalam query untuk hasil yang lebih kompleks.

    sql

    SELECT * FROM buku WHERE harga > (SELECT AVG(harga) FROM buku);
  • Aggregate Functions: Menggunakan fungsi agregat seperti COUNT, SUM, AVG, MIN, MAX.

    sql

    SELECT COUNT(*), AVG(harga), MAX(harga) FROM buku;
  • Wildcard (*): Menggunakan * untuk memilih semua kolom dalam SELECT.

    sql

    SELECT * FROM buku;

D. Contoh Penerapan

  • Update Data:

    sql

    UPDATE buku SET harga = 30000 WHERE tahun_terbit < 2000;
  • Delete Data:

    sql

    DELETE FROM buku WHERE harga < 10000;
  • Select Tanpa Klausa:

    sql

    SELECT * FROM buku;
  • Select dengan ORDER BY (Ascending):

    sql

    SELECT * FROM buku ORDER BY judul_buku ASC;
  • Select dengan GROUP BY dan HAVING:

    sql

    SELECT kode_pengarang, COUNT(*) AS total_buku FROM buku GROUP BY kode_pengarang HAVING COUNT(*) > 5;
  • Select dengan LIMIT:

    sql

    SELECT * FROM buku LIMIT 10;
  • Select dengan WHERE:

    sql

    SELECT * FROM buku WHERE harga BETWEEN 10000 AND 50000;

Kesimpulan

DML dalam MySQL memberikan kemampuan yang luas untuk mengelola data dalam basis data. Dengan menggunakan perintah INSERT, SELECT, UPDATE, dan DELETE, pengguna dapat melakukan manipulasi data yang efisien sesuai dengan kebutuhan aplikasi atau analisis data yang diinginkan. DML juga mendukung penggunaan klausa tambahan seperti ORDER BY, GROUP BY, dan fungsi agregat untuk operasi yang lebih terstruktur dan kompleks


Pokok Bahasan V

A. Query

  • Contoh Penggunaan Jenis-Jenis Join

    • Inner Join:
      sql

      SELECT buku.kode_buku, buku.judul_buku, pengarang.kode_pengarang, pengarang.nama_pengarang FROM buku JOIN pengarang ON buku.kode_pengarang = pengarang.kode_pengarang;
    • Equijoin:
      sql

      SELECT buku.kode_buku, buku.judul_buku, pengarang.kode_pengarang, pengarang.nama_pengarang FROM buku, pengarang WHERE buku.kode_pengarang = pengarang.kode_pengarang;
    • Self-Join:
      sql

      SELECT a.kode_buku, b.judul_buku FROM buku a, buku b WHERE a.harga = '25000' AND b.harga = '50000';
    • Natural Join:
      sql

      SELECT buku.kode_buku, buku.judul_buku, pengarang.kode_pengarang, pengarang.nama_pengarang FROM buku NATURAL JOIN pengarang;
  • Set Operations

    • Union:
      sql

      SELECT tahun_terbit, judul_buku FROM buku WHERE tahun_terbit = '2003' UNION SELECT tahun_terbit, judul_buku FROM buku WHERE tahun_terbit = '2004';
    • Intersect (dengan pengganti IN):
      sql

      SELECT * FROM buku WHERE tahun_terbit = '2003' AND judul_buku IN (SELECT judul_buku FROM buku WHERE tahun_terbit = '2004');
    • Except (dengan pengganti NOT IN):
      sql

      SELECT * FROM buku WHERE tahun_terbit = '2003' AND judul_buku NOT IN (SELECT judul_buku FROM buku WHERE tahun_terbit = '2004');
    • Nested Queries:
      sql

      SELECT * FROM pengarang WHERE kode_pengarang IN (SELECT kode_pengarang FROM buku); SELECT * FROM pengarang WHERE NOT EXISTS (SELECT * FROM buku WHERE pengarang.kode_pengarang = buku.kode_pengarang);

B. View

  • Pembuatan View
    sql

    CREATE VIEW view_buku AS SELECT buku.kode_buku, buku.judul_buku, buku.tahun_terbit, pengarang.nama_pengarang FROM buku JOIN pengarang ON buku.kode_pengarang = pengarang.kode_pengarang;
  • Penggunaan View
    • Memanggil data dari view:
      sql

      SELECT * FROM view_buku;
    • Merubah definisi view (dengan REPLACE VIEW):
      sql

      CREATE OR REPLACE VIEW view_buku AS SELECT buku.kode_buku, buku.judul_buku, buku.tahun_terbit, pengarang.nama_pengarang FROM buku JOIN pengarang ON buku.kode_pengarang = pengarang.kode_pengarang WHERE buku.tahun_terbit > '2000';
    • Insert, Update, dan Delete data melalui view:
      sql

      INSERT INTO view_buku (kode_buku, judul_buku, tahun_terbit) VALUES ('BK001', 'Matematika Dasar', '2023'); UPDATE view_buku SET judul_buku = 'Fisika Modern' WHERE kode_buku = 'BK002'; DELETE FROM view_buku WHERE kode_buku = 'BK003';
    • Menghapus (drop) view:
      sql

      DROP VIEW view_buku;

C. Tugas

  • Buatlah contoh pengolahan data menggunakan query dengan berbagai jenis join dan set operations.
  • Buatlah view untuk mempermudah akses data seperti data pegawai dan absensi, dengan melibatkan informasi dari jabatan, bagian, dan golongan pegawai.

Pokok Bahasan VI

Data Control Language (DCL) / Hak Akses User - MySQL

A. Pendahuluan

Data Control Language (DCL) adalah bagian dari SQL yang digunakan untuk mengatur hak akses pengguna terhadap objek-objek dalam basis data. Dengan DCL, administrator basis data dapat mengontrol siapa yang dapat mengakses, mengubah, atau menghapus data.

B. Penyajian (Tutorial)

1. Pemahaman Hak Akses

Hak akses dalam basis data penting untuk menjaga keamanan data dan mengatur akses data sesuai dengan kebutuhan pengguna. Perintah-perintah yang terkait dengan hak akses umumnya meliputi SELECT, INSERT, UPDATE, DELETE, dan perintah-perintah lain seperti REFERENCES, INDEX, CREATE, ALTER, dan DROP.

2. Mengatur Hak Akses

Di MySQL versi 3.22 ke atas, pengaturan hak akses menggunakan perintah GRANT dan REVOKE.

  • Perintah GRANT Digunakan untuk memberikan hak akses kepada pengguna baru atau yang sudah ada.

    • Syntax Umum:

      sql

      GRANT jenis_akses ON nama_objek TO nama_pengguna IDENTIFIED BY 'password' [WITH GRANT OPTION];
    • Contoh:

      sql

      GRANT SELECT ON buku TO siska;

      Memberikan hak akses SELECT pada tabel buku kepada pengguna siska.

    • Contoh Multiple Privileges:

      sql

      GRANT SELECT, INSERT, UPDATE, DELETE ON buku TO siska, edi;

      Memberikan hak akses SELECT, INSERT, UPDATE, DELETE pada tabel buku kepada pengguna siska dan edi.

3. Membatasi Hak Akses

Hak akses dapat dibatasi untuk mempertegas kontrol terhadap pengguna. Contohnya, memberikan akses hanya pada beberapa kolom tertentu dalam sebuah tabel.

  • Contoh Batasan Hak Akses:
    sql

    GRANT SELECT, UPDATE (kode_buku, judul_buku, tahun_terbit) ON buku TO edi;
    Memberikan hak akses SELECT dan UPDATE hanya untuk kolom kode_buku, judul_buku, dan tahun_terbit kepada pengguna edi.

4. Hak Akses Penuh

Untuk memberikan semua hak akses ke pengguna terkait terhadap sebuah objek, digunakan klausa ALL PRIVILEGES.

  • Contoh Hak Akses Penuh:
    sql

    GRANT ALL PRIVILEGES ON buku TO siska;
    Memberikan semua hak akses (SELECT, INSERT, UPDATE, DELETE, dll.) pada tabel buku kepada pengguna siska.

5. Hak Akses kepada Public

Untuk memberikan hak akses kepada banyak pengguna atau secara global, dapat menggunakan klausa PUBLIC atau WORLD tergantung dari DBMS yang digunakan.

  • Contoh Hak Akses Global:
    sql

    GRANT SELECT, INSERT ON buku TO ''@'%';
    Memberikan hak akses SELECT dan INSERT pada tabel buku kepada semua pengguna dari semua host (%).

6. Pencabutan Hak Akses

Untuk mencabut hak akses dari pengguna, digunakan perintah REVOKE.

  • Contoh Pencabutan Hak Akses:

    sql

    REVOKE SELECT ON buku FROM siska;

    Mencabut hak akses SELECT dari pengguna siska terhadap tabel buku.

  • Pencabutan Hak Akses Secara Keseluruhan:

    sql

    REVOKE SELECT, INSERT ON buku FROM edi;

    Mencabut hak akses SELECT dan INSERT dari pengguna edi terhadap tabel buku.

  • Menghapus Pengguna Secara Permanen:

    sql

    DROP USER 'siska'@'localhost';

    Menghapus pengguna siska dari basis data secara permanen.

Tugas

  1. Buatlah Hak Akses User dengan Privilege:

    • User dengan hak akses SELECT pada salah satu tabel di database Anda.
    • User dengan hak akses SELECT, INSERT, dan UPDATE pada salah satu tabel di database Anda.
    • User dengan hak akses penuh terhadap basis data Anda.
    • Hak akses untuk public pada salah satu tabel dalam basis data Anda.
  2. Mencabut Hak Akses User:

    • Cabutlah hak akses salah satu user yang sudah Anda buat.
    • Cabutlah secara permanen user yang memiliki hak akses penuh.

Dengan menguasai DCL, Anda dapat mengatur basis data dengan lebih aman dan efektif sesuai dengan kebutuhan aplikasi atau kebijakan keamanan yang diterapkan.

Komentar

Postingan populer dari blog ini

Rangkuman Praktikum Jaringan Komputer

Laporan Praktikum PBO

RANGKUMAN HASIL PRAKTIKUM SISTEM OPERASI SEMESTER 3