Kembali ke E-Learning
1/24

BASIS DATA

Pengantar Teknik Informatika

Fauzi, S.Kom., M.Eng

Pertemuan 8

Memahami konsep dasar basis data, model data, DBMS, dan SQL

1
2/24

Capaian Pembelajaran

Pengetahuan

  • Memahami definisi dan konsep basis data
  • Mengetahui model-model data
  • Memahami arsitektur DBMS
  • Mengenal normalisasi database

Keterampilan

  • Dapat merancang struktur database sederhana
  • Mampu menggunakan perintah SQL dasar
  • Dapat mengidentifikasi hubungan antar tabel
  • Mampu menerapkan konsep normalisasi
2
3/24

Definisi Basis Data

Menurut Para Ahli

C.J. Date:

"Basis data adalah kumpulan data operasional yang tersimpan dan digunakan oleh sistem aplikasi dari suatu organisasi."

Ramez Elmasri:

"Database adalah koleksi data yang saling berhubungan dan memiliki makna tertentu untuk menggambarkan aspek dari dunia nyata."

Pengertian Umum

Basis Data (Database) adalah kumpulan data yang terorganisasi secara sistematis, tersimpan secara elektronik, dan dapat diakses serta dikelola dengan mudah untuk mendukung berbagai kegiatan dan pengambilan keputusan dalam suatu organisasi.

3
4/24

Karakteristik Basis Data

Data Sharing

Data dapat digunakan bersama oleh multiple user dan aplikasi secara bersamaan

Data Security

Memiliki sistem keamanan untuk melindungi data dari akses yang tidak sah

Data Redundancy

Mengurangi duplikasi data yang tidak perlu dalam sistem

Data Consistency

Menjaga konsistensi dan integritas data di seluruh sistem

Data Independence

Pemisahan antara struktur data fisik dan logis

Multiple Views

Menyediakan tampilan data yang berbeda untuk user yang berbeda

4
5/24

Model Data

Definisi Model Data

Model Data adalah representasi konseptual dari struktur data, hubungan antar data, semantik data, dan batasan-batasan yang berlaku pada data dalam suatu basis data.

Hierarchical Database Model

Contoh Model Data Hierarkis

5
6/24

Jenis-jenis Model Data

Model Hierarkis

  • Struktur data seperti pohon (tree)
  • Setiap record memiliki satu parent
  • Relasi one-to-many
  • Contoh: IBM IMS

Model Jaringan

  • Struktur data seperti graph
  • Record dapat memiliki multiple parent
  • Relasi many-to-many
  • Contoh: CODASYL, IDMS

Model Relasional

  • Data disimpan dalam bentuk tabel
  • Setiap tabel terdiri dari baris dan kolom
  • Menggunakan kunci primer dan asing
  • Contoh: MySQL, PostgreSQL, Oracle

Model Berorientasi Objek

  • Data disimpan sebagai objek
  • Mendukung konsep OOP
  • Memiliki atribut dan method
  • Contoh: ObjectDB, MongoDB
Database Models Comparison

Perbandingan Model-model Data

6
7/24

DBMS

Definisi DBMS

Database Management System (DBMS) adalah perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data.

DBMS bertindak sebagai interface antara pengguna dengan basis data fisik, menyediakan cara yang efisien dan aman untuk mengelola data.

DBMS Architecture

Arsitektur Database Management System

7
8/24

Komponen DBMS

Storage Manager

Mengelola penyimpanan data di disk

  • Buffer Manager
  • File Manager
  • Authorization Manager

Query Processor

Memproses dan mengoptimalkan query

  • DDL Interpreter
  • DML Compiler
  • Query Evaluation Engine

Transaction Manager

Mengelola transaksi database

  • Recovery Manager
  • Concurrency Control
  • Lock Manager

Data Dictionary

Menyimpan metadata sistem

  • Schema Information
  • User Information
  • Statistical Data
DBMS Three Level Architecture

Arsitektur 3 Level DBMS

8
9/24

Model Relasional

Definisi Model Relasional

Model Relasional adalah model data yang merepresentasikan data dalam bentuk tabel-tabel yang saling berhubungan. Model ini dikembangkan oleh Edgar F. Codd pada tahun 1970.

Terminologi Dasar

  • Relasi (Relation): Tabel yang berisi data
  • Tuple: Baris dalam tabel (record)
  • Atribut: Kolom dalam tabel (field)
  • Domain: Himpunan nilai yang valid
  • Degree: Jumlah atribut dalam relasi
  • Cardinality: Jumlah tuple dalam relasi

Jenis-jenis Key

  • Primary Key: Kunci utama unik
  • Foreign Key: Kunci asing referensi
  • Candidate Key: Kandidat kunci utama
  • Super Key: Kunci super set
  • Alternate Key: Kunci alternatif
  • Composite Key: Kunci gabungan
9
10/24

Primary Key & Foreign Key

Primary Key

Atribut atau kombinasi atribut yang secara unik mengidentifikasi setiap tuple dalam relasi

  • Harus unik (tidak boleh duplikat)
  • Tidak boleh NULL
  • Nilainya tidak boleh berubah
  • Minimal dan stabil

Foreign Key

Atribut dalam suatu relasi yang merupakan primary key pada relasi lain

  • Membuat hubungan antar tabel
  • Menjaga integritas referensial
  • Boleh memiliki nilai NULL
  • Dapat berupa composite key
Primary and Foreign Key Relationship

Hubungan Primary Key dan Foreign Key

10
11/24

Normalisasi Database

Definisi Normalisasi

Normalisasi adalah proses mengorganisir data dalam database untuk mengurangi redundansi dan meningkatkan integritas data dengan memecah tabel besar menjadi tabel-tabel yang lebih kecil.

Tujuan Normalisasi

  • • Mengurangi redundansi data
  • • Mencegah anomali update
  • • Meningkatkan integritas data
  • • Mengoptimalkan penyimpanan

Masalah Tanpa Normalisasi

  • • Insert Anomaly
  • • Update Anomaly
  • • Delete Anomaly
  • • Data Inconsistency

Manfaat Normalisasi

  • • Struktur data terorganisir
  • • Pemeliharaan mudah
  • • Fleksibilitas tinggi
  • • Performa optimal
11
12/24

Bentuk-bentuk Normal

First Normal Form (1NF)

Setiap atribut harus atomik (tidak dapat dibagi lagi)

  • Tidak ada repeating groups
  • Setiap cell berisi satu nilai
  • Setiap record unik
  • Urutan data tidak penting

Second Normal Form (2NF)

Sudah 1NF + tidak ada partial dependency

  • Memenuhi syarat 1NF
  • Setiap non-key attribute bergantung penuh pada primary key
  • Eliminasi partial dependency
  • Berlaku untuk composite key

Third Normal Form (3NF)

Sudah 2NF + tidak ada transitive dependency

  • Memenuhi syarat 2NF
  • Tidak ada transitive dependency
  • Non-key attributes tidak bergantung pada non-key lain
  • Bentuk normal yang paling umum digunakan
Database Normalization Forms

Proses Normalisasi Database

12
13/24

SQL

Definisi SQL

Structured Query Language (SQL) adalah bahasa standar untuk mengelola dan memanipulasi database relasional. SQL digunakan untuk membuat, mengubah, dan mengambil data dari database.

SQL pertama kali dikembangkan oleh IBM pada tahun 1970-an dan menjadi standar ANSI pada tahun 1986.

CREATE

Membuat struktur

SELECT

Mengambil data

UPDATE

Mengubah data

DELETE

Menghapus data

13
14/24

Jenis-jenis Perintah SQL

DDL (Data Definition Language)

Perintah untuk mendefinisikan struktur database

  • CREATE: Membuat database, tabel, view
  • ALTER: Mengubah struktur tabel
  • DROP: Menghapus database, tabel, view
  • TRUNCATE: Menghapus semua data tabel

DML (Data Manipulation Language)

Perintah untuk memanipulasi data

  • SELECT: Mengambil data dari tabel
  • INSERT: Menambah data baru
  • UPDATE: Mengubah data yang ada
  • DELETE: Menghapus data

DCL (Data Control Language)

Perintah untuk mengontrol akses data

  • GRANT: Memberikan hak akses
  • REVOKE: Mencabut hak akses
  • DENY: Menolak hak akses
  • Mengatur security dan privileges

TCL (Transaction Control Language)

Perintah untuk mengontrol transaksi

  • COMMIT: Menyimpan perubahan
  • ROLLBACK: Membatalkan perubahan
  • SAVEPOINT: Membuat titik simpan
  • Mengatur konsistensi data
SQL Commands Classification

Klasifikasi Perintah SQL

14
15/24

Contoh Perintah SQL

DDL - Membuat Tabel

CREATE TABLE mahasiswa (
  nim VARCHAR(10) PRIMARY KEY,
  nama VARCHAR(50) NOT NULL,
  jurusan VARCHAR(30),
  angkatan INT
);

DML - Insert Data

INSERT INTO mahasiswa 
VALUES (
  '2024001', 
  'John Doe', 
  'Teknik Informatika', 
  2024
);

DML - Select Data

SELECT nim, nama, jurusan 
FROM mahasiswa 
WHERE angkatan = 2024 
ORDER BY nama;

DML - Update Data

UPDATE mahasiswa 
SET jurusan = 'Sistem Informasi' 
WHERE nim = '2024001';

JOIN - Menggabungkan Tabel

SELECT m.nama, m.nim, n.mata_kuliah, n.nilai
FROM mahasiswa m
JOIN nilai n ON m.nim = n.nim
WHERE n.nilai >= 80;
15
16/24

Proses Desain Database

Tahapan Desain Database

Desain database adalah proses sistematis untuk menciptakan struktur database yang efisien, konsisten, dan memenuhi kebutuhan aplikasi.

1. Analisis Kebutuhan

  • Identifikasi kebutuhan pengguna
  • Analisis proses bisnis
  • Dokumentasi requirement

2. Desain Konseptual

  • Entity Relationship Diagram (ERD)
  • Identifikasi entitas dan atribut
  • Menentukan relasi antar entitas

3. Desain Logikal

  • Konversi ERD ke model relasional
  • Normalisasi database
  • Definisi tabel dan constraint

4. Desain Fisik

  • Implementasi pada DBMS tertentu
  • Optimasi performa
  • Pengaturan storage

5. Implementasi

  • Pembuatan database dan tabel
  • Input data awal
  • Testing dan validasi

6. Maintenance

  • Monitoring performa
  • Backup dan recovery
  • Update dan modifikasi
16
17/24

DBMS Populer

Relational DBMS

  • MySQL: Open source, populer untuk web
  • PostgreSQL: Advanced open source
  • Oracle Database: Enterprise level
  • SQL Server: Microsoft database
  • SQLite: Embedded database

NoSQL DBMS

  • MongoDB: Document database
  • Cassandra: Wide column store
  • Redis: Key-value store
  • Neo4j: Graph database
  • CouchDB: Document oriented

Cloud Database

  • Amazon RDS: AWS managed database
  • Google Cloud SQL: Google managed
  • Azure SQL: Microsoft cloud
  • Firebase: Google real-time DB
  • DynamoDB: AWS NoSQL

Kriteria Pemilihan DBMS

Performance

Scalability

Cost

Support

17
18/24

Keamanan Database

Definisi Keamanan Database

Keamanan Database adalah perlindungan database dari akses yang tidak sah, modifikasi, atau penghancuran data, serta memastikan privasi dan integritas informasi.

Ancaman Keamanan

  • SQL Injection: Serangan melalui input query
  • Unauthorized Access: Akses tanpa izin
  • Data Breaches: Kebocoran data sensitif
  • Malware: Program jahat yang merusak
  • Insider Threats: Ancaman dari dalam
  • DoS Attacks: Serangan denial of service

Metode Perlindungan

  • Authentication: Verifikasi identitas user
  • Authorization: Kontrol hak akses
  • Encryption: Enkripsi data sensitif
  • Backup & Recovery: Cadangan dan pemulihan
  • Audit Logging: Pencatatan aktivitas
  • Access Control: Pembatasan akses

Prinsip Keamanan Database

Confidentiality

Data hanya dapat diakses oleh pihak yang berwenang

Integrity

Data tetap akurat dan tidak dimodifikasi tanpa izin

Availability

Data dapat diakses kapan saja oleh user yang sah

18
19/24

Backup dan Recovery

Pentingnya Backup & Recovery

Backup adalah proses menyalin data untuk perlindungan, sedangkan Recovery adalah proses mengembalikan data dari backup ketika terjadi kehilangan atau kerusakan.

Jenis-jenis Backup

  • Full Backup:

    Backup seluruh database

  • Incremental Backup:

    Backup data yang berubah

  • Differential Backup:

    Backup sejak full backup terakhir

Strategi Recovery

  • Point-in-Time Recovery:

    Restore ke waktu tertentu

  • Log-based Recovery:

    Menggunakan transaction log

  • Hot Standby:

    Database cadangan real-time

RTO dan RPO

RTO (Recovery Time Objective)

Waktu maksimum yang dapat ditoleransi untuk recovery sistem

RPO (Recovery Point Objective)

Jumlah maksimum data yang dapat hilang selama incident

19
20/24

Tren Teknologi Database

Cloud Database

Database yang dihosting di cloud platform

  • Scalability otomatis
  • Pay-as-you-use model
  • High availability built-in
  • Managed services

Big Data & Analytics

Database untuk volume data yang sangat besar

  • Distributed computing
  • Real-time analytics
  • Data warehousing
  • Machine learning integration

AI & Machine Learning

Database dengan kemampuan AI terintegrasi

  • Automated query optimization
  • Predictive analytics
  • Intelligent indexing
  • Anomaly detection

Blockchain Database

Database dengan teknologi blockchain

  • Immutable records
  • Decentralized storage
  • Smart contracts
  • Enhanced security

Emerging Technologies

In-Memory DB

Ultra-fast processing

Graph DB

Relationship-focused

Stream Processing

Real-time data

Multi-model DB

Hybrid approach

20
21/24

Studi Kasus: Sistem Akademik

Skenario

Merancang database untuk sistem informasi akademik universitas yang mengelola data mahasiswa, mata kuliah, dosen, dan nilai.

Entitas Utama

  • Mahasiswa: NIM, Nama, Alamat, Jurusan
  • Dosen: NIDN, Nama, Departemen
  • Mata Kuliah: Kode MK, Nama MK, SKS
  • Kelas: ID Kelas, Semester, Tahun
  • Nilai: NIM, Kode MK, Nilai

Relasi Antar Entitas

  • Mahasiswa mengambil Mata Kuliah (M:N)
  • Dosen mengajar Mata Kuliah (M:N)
  • Mahasiswa memiliki Nilai (1:N)
  • Mata Kuliah dibuka di Kelas (1:N)
  • Dosen mengelola Kelas (1:N)

Contoh Implementasi Tabel

CREATE TABLE mahasiswa (
    nim VARCHAR(10) PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    alamat TEXT,
    jurusan VARCHAR(50)
);

CREATE TABLE nilai (
    nim VARCHAR(10),
    kode_mk VARCHAR(10),
    nilai DECIMAL(3,2),
    PRIMARY KEY (nim, kode_mk),
    FOREIGN KEY (nim) REFERENCES mahasiswa(nim)
);
21
22/24

Evaluasi dan Tugas

Pertanyaan Evaluasi

  • Jelaskan perbedaan antara data dan informasi dalam konteks basis data!
  • Sebutkan dan jelaskan 4 model data beserta karakteristiknya!
  • Apa yang dimaksud dengan normalisasi database dan mengapa penting?
  • Jelaskan perbedaan antara Primary Key dan Foreign Key!
  • Sebutkan jenis-jenis perintah SQL beserta contohnya!

Tugas Praktik

Tugas 1: Analisis ERD

Buat ERD untuk sistem perpustakaan dengan entitas: Buku, Anggota, Peminjaman

Tugas 2: Normalisasi

Normalisasi tabel berikut hingga bentuk 3NF

Tugas 3: SQL Query

Buat 5 query SQL untuk mengambil data dari database akademik

Project Akhir: Desain Database E-Commerce

Fase 1: Analisis

  • • Identifikasi kebutuhan sistem
  • • Analisis proses bisnis
  • • Dokumentasi requirement

Fase 2: Desain

  • • Buat ERD lengkap
  • • Normalisasi database
  • • Definisi tabel dan constraint

Fase 3: Implementasi

  • • SQL DDL untuk struktur
  • • SQL DML untuk data sample
  • • Query untuk laporan

Deadline: 2 minggu setelah perkuliahan

Submit dalam format PDF + file SQL

22
23/24

Rangkuman Materi

Konsep Kunci

  • Basis Data: Kumpulan data terorganisasi
  • DBMS: Software pengelola database
  • Model Relasional: Data dalam bentuk tabel
  • Normalisasi: Optimasi struktur data
  • SQL: Bahasa query standar
  • Keamanan: Perlindungan data

Komponen Utama

  • Tabel: Struktur penyimpanan data
  • Primary Key: Identifier unik
  • Foreign Key: Penghubung tabel
  • Normalisasi: 1NF, 2NF, 3NF
  • SQL Commands: DDL, DML, DCL, TCL
  • Security: Authentication, Authorization

Kemampuan yang Dikuasai

Memahami Konsep

Database, DBMS, Model Data

Merancang Database

ERD, Normalisasi, Struktur

Menggunakan SQL

Query, DDL, DML

"Database adalah fondasi dari sistem informasi modern"

Kuasai konsep dasar untuk membangun aplikasi yang robust

23
24/24

TERIMA KASIH

Basis Data - Pertemuan 8

Pertanyaan & Diskusi

Silakan ajukan pertanyaan mengenai materi Basis Data

Konsep & Teori

Implementasi

Studi Kasus

Keep Learning
Keep Coding
Keep Innovating

"The future belongs to those who learn more skills and combine them in creative ways."

- Robert Greene

24