Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
KATA PENGANTAR
Kurikulum 2013 pada jenjang SMK didesain dengan tujuan membekali siswa agar
berkompeten pada paket keahlian masing-masing yang meliputi pengetahuan, ketrampilan dan juga
sikap. Untuk mencapai tujuan tersebut diperlukan media pembelajaran yang sesuai dan tepat tujuan.
Dari beberapa media yang dapat digunakan adalah berupa bahan ajar. Bahan ajar SMK selain
dipakai sebagai sumber belajar bagi siswa juga dapat dijadikan sebagai pedoman dalam melakukan
suatu kegiatan belajar. Untuk SMK, bahan ajar merupakan media informasi yang dirasakan efektif
karena isinya yang lengkap, padat informasi dan mudah dipahami bagi siswa. Sehingga proses
pembelajaran yang tepat guna akan dapat dicapai.
Bahan ajar SMK ini disusun sebagai lanjutan yang lebih mendalam tentang ilmu Basis data
pada keahlian Rekayasa Perangkat Lunak. Dalam bahan ajar ini akan dijelaskan teori dan praktek
mengenai Desain Basis Data dan Pengolahan Basis Data. Diharapkan modul-modul ini digunakan
sebagai sumber belajar pokok peserta pendidikan dan pelatihan (Diklat) Kejuruan khususnya SMK
dalam mencapai standar kompetensi kerja yang diharapkan dunia kerja.
Penyusun
2
DAFTAR ISI
Kata Pengantar .................................................................................................................... 1
Daftar Isi ............................................................................................................................. 2
Pendahuluan ........................................................................................................................ 6
Pembelajaran 1. Pengenalan Basis Data ....................................................................... 7
a. Tujuan Kegiatan Belajar ......................................................................................... 7
b. Indikator Pencapaian .............................................................................................. 7
c. Uraian Materi ....................................................................................................... 7
d. Aktivitas Pembelajaran ........................................................................................ 11
e. Latihan / Tugas ..................................................................................................... 11
f. Rangkuman ............................................................................................................ 11
Pembelajaran 2. Struktur Hirarki Basis Data Dan Arsitektur .................................. 12
a. Tujuan Kegiatan Belajar ......................................................................................... 12
b. Indikator Pencapaian .............................................................................................. 12
c. Uraian Materi ....................................................................................................... 12
d. Aktivitas Pembelajaran ........................................................................................ 25
e. Latihan / Tugas ..................................................................................................... 26
f. Rangkuman ............................................................................................................ 27
Pembelajaran 3. ERD (Entity Relationship Diagram) ................................................ 28
a. Tujuan Kegiatan Belajar ......................................................................................... 28
b. Indikator Pencapaian .............................................................................................. 28
c. Uraian Materi ....................................................................................................... 28
3
d. Aktivitas Pembelajaran ........................................................................................ 33
e. Latihan / Tugas ..................................................................................................... 37
f. Rangkuman ............................................................................................................ 39
Pembelajaran 4. Relasi Kardinalitas pada ERD .......................................................... 40
a. Tujuan Kegiatan Belajar ......................................................................................... 40
b. Indikator Pencapaian .............................................................................................. 40
c. Uraian Materi ....................................................................................................... 40
d. Aktivitas Pembelajaran ........................................................................................ 43
e. Latihan / Tugas ..................................................................................................... 47
f. Rangkuman ............................................................................................................ 49
Pembelajaran 5. Normalisasi Basis Data ...................................................................... 50
a. Tujuan Kegiatan Belajar ......................................................................................... 50
b. Indikator Pencapaian .............................................................................................. 50
c. Uraian Materi ....................................................................................................... 50
d. Aktivitas Pembelajaran ........................................................................................ 61
e. Latihan / Tugas ..................................................................................................... 63
f. Rangkuman ............................................................................................................ 66
Pembelajaran 6. Sistem Manajemen Basis Data (DBMS) ........................................... 67
a. Tujuan Kegiatan Belajar ......................................................................................... 67
b. Indikator Pencapaian .............................................................................................. 67
c. Uraian Materi ....................................................................................................... 67
d. Aktivitas Pembelajaran ........................................................................................ 76
e. Latihan / Tugas ..................................................................................................... 76
f. Rangkuman ............................................................................................................ 78
4
Pembelajaran 7. Basis Data Relational ......................................................................... 79
a. Tujuan Kegiatan Belajar ......................................................................................... 79
b. Indikator Pencapaian .............................................................................................. 79
c. Uraian Materi ....................................................................................................... 79
d. Aktivitas Pembelajaran ........................................................................................ 88
e. Latihan / Tugas ..................................................................................................... 89
f. Rangkuman ............................................................................................................ 90
Pembelajaran 8. SQL (Stuctured Query Language) .................................................... 91
a. Tujuan Kegiatan Belajar ......................................................................................... 91
b. Indikator Pencapaian .............................................................................................. 91
c. Uraian Materi ....................................................................................................... 91
d. Aktivitas Pembelajaran ........................................................................................ 101
e. Latihan / Tugas ..................................................................................................... 101
f. Rangkuman ............................................................................................................ 101
Pembelajaran 9. DDL (Data Definition Language) ...................................................... 102
a. Tujuan Kegiatan Belajar ......................................................................................... 102
b. Indikator Pencapaian .............................................................................................. 102
c. Uraian Materi ....................................................................................................... 102
d. Aktivitas Pembelajaran ........................................................................................ 105
e. Latihan / Tugas ..................................................................................................... 105
f. Rangkuman ............................................................................................................ 106
Pembelajaran 10. DML (Data Manipulation Language)............................................. 107
a. Tujuan Kegiatan Belajar ......................................................................................... 107
b. Indikator Pencapaian .............................................................................................. 107
5
c. Uraian Materi ....................................................................................................... 107
d. Aktivitas Pembelajaran ........................................................................................ 111
e. Latihan / Tugas ..................................................................................................... 115
f. Rangkuman ............................................................................................................ 116
Pembelajaran 11. DCL (Data Control Language) ....................................................... 117
a. Tujuan Kegiatan Belajar ......................................................................................... 117
b. Indikator Pencapaian .............................................................................................. 117
c. Uraian Materi ....................................................................................................... 117
d. Aktivitas Pembelajaran ........................................................................................ 118
e. Latihan / Tugas ..................................................................................................... 118
f. Rangkuman ............................................................................................................ 119
Daftar Pustaka ..................................................................................................................... 120
Glosarium ............................................................................................................................ 121
6
PENDAHULUAN
Kenapa harus menggunakan Basis Data (Database)?
Kebanyakan aplikasi yang dibuat digunakan untuk menyimpan dan melihat data. Data
adalah bagian terkecil yang digunakan sebagai penyusun informasi. Karena fungsi yang
sangat penting dari data agar dapat digunakan sebagai sumber informasi yang benar.
Maka perlu dibuat sebuaha rumah data yang baik dan benar. Rumah data inilah yang
disebut dengan DATABASE.
Desain database yang baik akan membuat database tersebut dapat berjalan dengan baik
dan sesuai dengan harapan ketika database dirancang dan dibuat. Keterampilan
membuat database akan sangat menentukan berhasil tidaknya aplikasi dibuat. Database
adalah jantung dari aplikasi.
Proses pembuatan aplikasi semua selalu dimulai dari desain database yang benar dulu
baru kemudian ke desain tampilan (User Interface), baru kemudian ke coding atau
pembuatan kode program. Dalam modul pembelajaran kali ini, kita akan belajar tentang
desain basis data dan perancangan serta implementasi pengolahan data mengunakan
basis data yang telah tersedia. Sehingga dalam proses belajar akan lebih mudah dengan
dilengkapi materi, contoh kasus, latihan soal dan praktikum sekaligus.
7
PEMBELAJARAN 1:
PENGENALAN BASIS DATA (DATABASE)
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini, diharapkan bahwa:
Melalui peserta didik dapat mengetahui definisi dan gambaran sebuah basis
data dalam dunia IT.
B. Indikator pencapaian kompetensi
Mengetahui definisi dan gambaran basis data
.
C. Uraian materi
1. Definisi Basis Data
Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu
dengan yang lainnya, tersimpan dalam perangkat keras komputer dan digunakan perangkat
lunak untuk memanipulasinya. Basis data merupakan salah satu komponen utama dalam
sistem informasi, karena merupakan basis dalam penyediaan informasi bagi para pemakai
(Fathansyah, 1999; Post, 1999).
Jika dibayangkan, basis data mirip dengan lemari di ruang administrasi sekolah yang
menyimpan berbagai arsip. Masing-masing jenis arsip dikelompokkan, diatur dan disimpan
pada tempat yang telah ditentukan. Sehingga akan ada kelompok arsip siswa, arsip guru,
arsip mata pelajaran, arsip keuangan, dan lain-lain. Perbedaannya hanya pada media
penyimpanannya. Kalau lemari arsip menggunakan lemari dari kayu, besi atau plastik,
sedangkan basis data menggunakan media penyimpan elektronis seperti disk (hard disc,
CD, atau tape). Gambar 1.1 memberikan ilustrasi tentang kesamaan lemari arsip dan basis
data.
Satu hal penting yang harus diperhatikan, basis data bukan hanya sekedar
penyimpanan data secara elektronis. Tidak semua penyimpanan data elektronis bisa disebut
basis data. Apabila penyimpanan itu tidak menggunakan prinsip pengaturan, pemisahan
atau pengorganisasian maka kita tidak dapat menyebut penyimpanan data tersebut sebagai
8
basis data. Pada Gambar 1.1 terlihat penerapan prinsip pengaturan, pengorganisasian atau
pemisahan, baik pada lemari arsip atau pada basis data.
Gambar 1.1. Lemari arsip dan basis data.
Prinsip utama dalam basis data adalah konsep independensi data yaitu pemisahan
data dari program aplikasinya (Lewis et al., 2002; Post, 1999). Sedangkan tujuan utama
dalam basis data adalah membantu pengguna dalam abstraksi suatu sistem. Ada tiga level
abstraksi yang biasanya digunakan yaitu physical level, conceptual level dan view level
(Gambar 10.3). Physical level menunjukkan bagaimana data akan disimpan. Conceptual
level berkaitan dengan data apa yang akan disimpan dan bagaimana hubungan antar data
tersebut. View level merupakan level tertinggi yang menjelaskan bagian-bagian basis data
pada pengguna tertentu (Ramakrishnan and Gehrke, 2000).
9
Gambar 1.2. Tingkatan dalam abstaksi data (Lewis et al., 2002).
Basis data mempunyai beberapa kriteria penting, yaitu :
1) Bersifat data oriented dan bukan program oriented.
2) Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis
datanya.
3) Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.
4) Dapat memenuhi kebutuhan sistem-sistem baru secara mudah
5) Dapat digunakan dengan cara-cara yang berbeda.
Secara bertingkat, operasi dasar basis data dapat digambarkan dalam skema pada
Gambar 1.3. Operasi-operasi tersebut meliputi:
a) Pembuatan basis data baru (create database). Operasi ini sama dengan
pembuatan atau pembelian lemari arsip yang baru.
b) Penghapusan basis data (drop database). Operasi ini sama dengan pengrusakan
atau penghancuran lemari arsip.
c) Pembuatan tabel baru (create table). Operasi ini sama dengan penambahan
kelompok arsip baru. Operasi ini baru bisa dijalankan jika basis data telah
dibuat.
d) Penghapusan tabel (drop table). Operasi ini sama dengan pengrusakan
kelompok arsip lama. Operasi ini baru bisa dijalankan jika tabel telah ada pada
suatu basis data.
10
Gambar 1.3. Operasi-operasi dasar pada basis data.
e) Pengisian atau penambahan data baru (insert data) pada suatu tabel. Operasi ini
mirip dengan penambahan lembaran arsip baru pada kelompok arsip. Operasi ini
baru bias dijalankan jika tabel telah dibuat.
f) Pengambilan data dari suatu tabel (retrieve data). Operasi ini mirip dengan
pencarian lembaran arsip yang tersimpan dalam kelompok arsip.
g) Pengubahan data dari suatu tabel (update data). Operasi ini mirip dengan
perbaikan isi lembaran arsip dari suatu kelompok arsip
h) Penghapusan data dari suatu tabel (delete). Operasi ini mirip dengan
penghapusan sebuah lembaran arsip dari suatu kelompok arsip.
Basis data dibangun untuk memenuhi tujuan dalam pengorganisasian data, yang
antara lain sebagai berikut :
1. Efisiensi meliputi kecepatan (speed), ruang simpan (space) dan keakuratan (accuracy).
2. Menangani data dalam jumlah besar.
3. Kebersamaan pemakaian (Shareability).
4. Meniadakan duplikasi dan inkonsistensi data.
11
D. AKTIVITAS PEMBELAJARAN
Dalam kegiatan ini peserta didik akan melakukan analisis terhadap contoh basis data
dalam kehidupan sehari-hari. Bentuk kelompok diskusi setiap kelompok terdiri dari 3-4
orang. Bacalah seluruh langkah dibawah ini kemudian lakukan dengan cermat dan teliti.
1. Baca dan Amati uraian materi diatas dan carilah sumber bacaan lain yang relevan
melalui media internet.
2. Analisalah contoh-contoh penerapan basis data dalam kehidupan sehari-hari
3. Diskusi dan komunikasikan hasilnya dalam kelompok dan buatlah kesimpulan.
4. Buatlah Laporan dan komunikasikan hasil laporan dan pembahasan dengan tutor.
E. LATIHAN / TUGAS
1. Berkunjunglah ke perpustakaan sekolah, kemudian buatlah pengamatan singkat. Bu-
atlah catatan untuk menentukan siapa dan apa yang terlibat dalam kegiatan perpustakaan
sekolah. Cermatilah mana yang bisa digolongkan sebagai basis data, table, field dan
record.
2. Dari hasil kegiatan no. 1 kemudian buatlah tabel-tabel dalam bentuk laporan kegiatan.
F. RANGKUMAN
Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu dengan
yang lainnya, tersimpan dalam perangkat keras komputer dan digunakan perangkat lunak
untuk memanipulasinya.
Operasi dasar basis data meliputi pembuatan basis data baru, penghapusan basis data,
pembuatan table, penghapusan table, mengubahan table, pengisian atau penambahan data
baru, pengambilan data, pengubahan data dan penghapusan data.
12
PEMBELAJARAN 2:
STRUKTUR HIRARKI BASIS DATA DAN ARSITEKTUR
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini, diharapkan bahwa:
Melalui observasi peserta didik dapat menganalisis ragam model struktur
basis data dengan tepat
Melalui observasi peserta didik dapat menganalisis ragam bentuk arsitektur
basis data dengan benar
B. Indikator pencapaian kompetensi
Menganalisis ragam model struktur dan hirarki basis data dalam bentuk diagram
Menganalisis bentuk arsitektur basis data
.
C. Uraian materi
1. Definisi Struktur Basis Data
Struktur basis data merupakan serangkaian pengetahuan tentang pemodelan data.
Pengetahuan tentang File, table, field, record indeks, abstraksi data dan serangkaian
konsep yang digunakan untuk membuat deskripsi struktur basis data. Melalui deskripsi
struktur basis data dapat ditentukan jenis data, hubungan dan konstrain (keterbatasan)
data yang ditangani. Dalam basis data, data diorganisasikan kedalam bentuk elemen data
(field), rekaman (record), dan berkas (file). Definisi dari ketiganya adalah sebagai berikut:
• Elemen (kolom atau field) data adalah satuan data terkecil yang tidak dapat dipecah lagi
menjadi unit lain yang bermakna. Misalnya data siswa terdiri dari NIS, Nama, Alamat,
Telepon atau Jenis Kelamin.
• Rekaman (record) merupakan gabungan sejumlah elemen data yang saling terkait. Istilah
lain dari record adalah baris atau tupel.
• Berkas (file) adalah himpunan seluruh record yang bertipe sama.
13
Gambar 2.1 Struktur hirarki basis data
2. Skema Atau Abstraksi Basis Data
Abstraksi data adalah merupakan tingkatan atau level bagaimana melihat data
dalam sistem basis data. Abstraksi data diwujudkan dalam pemodelan data, merupakan
sejumlah konsep yang digunakan untuk membuat deskripsi struktur basis data. Melalui
deskripsi struktur basis data, dapat ditentukan jenis data dan hubungannya dengan data
lainnya.
Skema basis data merupakan deskripsi dari basis data yang spesifikasinya
ditentukan dalam tahap perancangan. Skema ini digunakan untuk memisahkan antara
fisik basis data dan program aplikasi pemakai. Penggambaran skema basis data biasanya
ditampilkan dalam diagram yang berisi sebagian detail data dari deskripsi basis data.
Secara umum arsitektur basis data menggunakan arsitektur tiga skema yang meliputi tiga
level yaitu:
1. Level internal atau skema internal. Level ini mendifinisikan secara detail
penyimpanan basis data dan pengaksesan data. Pada level ini memuat deskripsi
struktur penyimpanan basis data, menggunakan model data fisikal.
2. Level Konseptual (skema konseptual), memuat deskripsi struktur basis data
secara keseluruhan untuk semua pemakai. Level ini memuat deskripsi tentang
entity, atribut, relasi dan konstrain tanpa memuat deskripsi data secara detail.
3. Level eksternal (skema eksternal atau view), mendefinisikan pandangan data
terhadap sekelompok pemakai (local view) dengan menyembunyikan data lain
yang tidak diperlukan oleh kelompok pemakai tersebut.
14
Gambar 2.2 Arsitektur tiga-skema sistem manajemen basis data
3. Pemodelan data
Pemodelan data merupakan sarana untuk melakukan abstraksi data, sejumlah
konsep untuk membuat deskripsi stuktur basis data. Kebanyakan model data memuat
spesifikasi untuk operasi dasar (basic operation) dalam pengaksesan dan pembaharuan
data. Pada perkembangan terakhir dikenal dengan istilah tabiat data (data behavior) pada
pemrograman berorientasi obyek. Terdapat sejumlah cara dalam merepresentasikan
model untuk perancangan basis data. Secara umum pemodelan basis data dapat
dikelompokkan menjadi dua yaitu:
1. Object based logical model. Dalam pemodelan ini struktur atau hirarki basis data
diilustrasikan berdasarkan obyek.. Model ini meliputi: 1) Model keterhubungan
entitas (Entity Relationalship Model atau ERD).
2. Model Data Semantik (Semantic Data Model). 2) Model data Fungsional (Function
Data Model).
3. Record-based logical model. Dalam model ini struktur basis data diilustrasikan
berdasarkan record. Model ini meliputi: 1) Model relational (Relational Model). 2)
Model Herarkis (Hierarchical Model) 3) Model Jaringan (Network Model).
15
4. Model keterhubungan entitas (Entity Relationalship Model/ERD)
Diagram relasi entitas atau entity-relationship diagram (ERD) adalah suatu diagram
dalam bentuk gambar atau simbol yang mengidentifikasi tipe dari entitas di dalam suatu
sistem yang diuraikan dalam data dengan atributnya, dan menjelaskan hubungan atau
relasi diantara entitas tersebut. ERD merupakan model jaringan yang menggunakan
susunan data yang disimpan dalam sistem secara abstrak. ERD berupa model data
konseptual, yang merepresentasikan data dalam suatu organisasi. ERD menekankan pada
struktur dan relationship data. ERD digunakan oleh profesional sistem untuk
berkomunikasi dengan pemakai eksekutif tingkat tinggi dalam perusahaan atau
organisasi yang tidak tertarik pada pelaksanaan operasi sistem sehari-hari, namun lebih
menekankan kepada beberapa hal yaitu:
Data apa saja yang diperlukan untuk bisnis mereka?
Bagaimana data tersebut berelasi dengan data lainnya?
Siapa saja yang diperbolehkan mengakses data tersebut?
Gambar 1.3 Contoh Entity Relationship Diagram
5. Model Hirarki Basis Data (Hierarchical Model)
Dalam model ini data disusun menurut struktur pohon. Puncak dari herarki disebut
dengan root sedangkan entitas atau interface di bawahnya dikenal sebagai induk
(parent). Entitas induk mempunyai beberapa sub entitsas yang disebut anak (child).
Entitas dalam model hirarki dilambangkan dengan empat persegi panjang. Sedangkan
16
relasi atau hubungan dengan entitas lain dinotasikan dengan garis. Gambar dibawah ini
menjelaskan salah satu contoh model hirarki basis data level konseptual sistem
perkuliahan.
Gambar 2.4 Model Herarki Sistem Perkuliahan (Level Konseptual)
Dari gambar struktur hirarki basis data diatas dapat dibuat struktur pengkodean
record data (level fisik) untuk setiap entitas beserta hubungan antar entitas. Susuan
herarkhi ditujukkan dengan tanda anak panah pada data (field) yang digunakan sebagai
kunci data (primary key, daerah diarsir). Relasi dalam herarkhi model hubungan antar
entitas dinyatakan dalam satu-banyak (one to many) atau satu – satu (one to one).
Kelemahan hararkhi model adalah tidak dapat dilakukan pencarian data pada field
atribut. Misalnya tidak dapat menampilkan data pda tabel mata kuliah berdasarkan
jum_SKS, karena jum_SKS bukan kunci data. Masalah ini dapat diatasi dengan
mengubah struktur data dengan memberi hubungan khusus (misalnya dengan variabel
pointer).
Gambar 2.5 Struktur pengkodean record data (model level fisik)
17
6. Model Jaringan Basis Data (Network Model).
Dalam model jaringan entitas induk maupun anak dapat terdiri lebih dari dua
entitas. Model ini merupakan pengembangan model hirarki. Relasi antara entitas dalam
network model adalah satu ke satu (one to one) atau satu ke banyak (one to many).
Gambar 2.6 Model struktur jaringan basis data
Dalam network data model tidak diperbolehkan terdapat relasi banyak ke banyak
(many to many). Untuk membuat relasi many to many dalam network model
dibutuhkan entitas perantara yang disebut sebagai rekaman silang (intersection record).
Dari gambar 1.6 entitas registrasi adalah merupakan entitas perantara antara etitas
mahasiswa dengan entitas mata kuliah.
Gambar 2.7 Organisasi record data pada model jaringan
18
7. Model data Relational
Model Data Relasional adalah suatu model basis data yang menggunakan tabel
dua dimensi, yang terdiri atas baris dan kolom untuk menggambarkan sebuah berkas
data. Model ini menunjukkan cara mengelola atau mengorganisasikan data secara fisik
dalam memory sekunder. Hal in akan berdampak pula pada bagaimana pengguna
mengelompokkan data dan membentuk keseluruhan data yang terkait dalam sistem
yang kita buat.
Contoh tabel dan terhubungannya Tabel Siswa
NIS Nama Alamat
10296832 Nurhayati Jakarta
10296126 Astuti Jakarta
31296500 Budi Depok
41296525 Prananingrum Bogor
50096487 Pipit Bekasi
21196353 Quraish Bogor
Tabel Mata pelajaran
Kode Nama Mata pelajaran SKS
KK021 P. Basis Data 2
KD132 SIM 3
KU122 Pancasila 2
Tabel NILAI
NIS Kode MID
FINAL
10296832 KK021 60 75
10296126 KD132 70 90
31296500 KK021 55 40
41296525 KU122 90 80
21196353 KU122 75 75
50095487 KD132 80 0
10296832 KD132 40 30
19
8. Arsitektur Basis Data
Arsitektur aplikasi basis data menjelaskan rancangan dasar aplikasi basis data yang
akan dibangun. Arsitektur basis data menggambarkan diagram interaksi antara komponen-
komponen penyusun sistem manajemen basis data. Komponen-komponen tersebut
meliputi perangkat hardware, software, jaringan komputer, dan pengguna. Berdasarkan
arsitekturnya aplikasi sistem manajemen basis data (SMBD) dibedakan menjadi beberapa
macam antara lain adalah sebagai berikut:
a. Teleprocessing Arsitektur
Teleprocessing adalah suatu arsitektur tradisional untuk multi-user system,
dimana sebuah CPU terhubung dengan beberapa workstation. Pada Arsitektur ini
semua pemrosesan dikerjakan dalam batasan fisik komputer yang sama.
Gambar 2.8. Arsitektur teleprocessing
Terminal untuk pemakai berjenis 'dumb', yang tidak dapat berfungsi sendiri dan
masing-masing dihubungkan ke komputer pusat. Terminal-terminal tersebut
mengirimkan pesan melalui subsistem pengontrol komunikasi pada sistem operasi ke
program aplikasi, yang bergantian menggunakan layanan DBMS. Dengan cara yang
sama, pesan dikembalikan ke terminal pemakai. Arsitektur ini menempatkan beban
yang besar pada komputer pusat yang tidak hanya menjalankan program aplikasi tetapi
juga harus menyelesaikan sejumlah pekerjaan pada terminal seperti format data untuk
tampilan di monitor.
20
b. Centralized Database manajemen Sistem (CDBMS)
Pada sistem ini semua proses utama dan fungsi sistem manajemen basis data
seperti user application programs dan user interface programs berada secara terpusat
di satu komputer berkecepatan dan kapasitas tinggi (main frame). Pengguna
mengakses basis data menggunakan terminal komputer. Pada arsitektur ini
digunakan komputer main frame yg menyediakan semua proses utama seperti
fungsinya pada DBMS (user application programs & user interface programs).
Bentuk arsitektur terpusat ini menggambarkan pengaksesan terminal-terminal
komputer (client) pada komputer server, berupa display informasi dan kontrol saja,
karena pada terminal komputer tidak memungkinkan memiliki resource yang lebih.
Seiring perkembangan teknologi dan turunnya harga hardware, banyak terminal user
digantikan dengan PC, akan tetapi DBMS masih ditempatkan terpusat (Application
program execution & user interface processing ditempatkan pada satu mesin).
Gambar dibawah ini menjelaskan Arsitektur Centralized Database manajemen
Sistem (CDBMS)
Gambar 2.9. Arsitektur CDBMS
c. Distributed Database manajemen Sistem (DDBMS)
DDBMS memiliki satu logikal basis data yang dibagi ke dalam beberapa
fragment. Dimana setiap fragment disimpan pada satu atau lebih komputer dibawah
kontrol dari DBMS yang terpisah dengan mengkoneksi komputer menggunakan
jaringan komunikasi. DDBMS memungkinkan direplikasi dan alokasi penyimpanan
disembunyikan sehingga tidak diketahui pengguna. Pada sistem ini data disimpan
21
pada beberapa tempat (site), setiap tempat diatur dengan suatu DBMS yang dapat
berjalan secara independent. Perangkat lunak dalam sistem ini akan mengatur
pendistribusian data secara transparan. Setiap site memiliki kemampuan untuk
mengakses permintaan pengguna pada data lokal dan juga mampu untuk memproses
data yang disimpan pada komputer lain yang terhubung dengan jaringan. Pengguna
mengakses basis data terdistribusi dengan menggunakan dua aplikasi yaitu aplikasi
lokal dan aplikasi global,
Gambar 2.10 Arsitektur DDMS
d. Client-Server Architecture
Konsep arsitektur client/server mengasumsikan sebuah kerangka dasar (framework)
yang terdiri atas banyak PC yang terhubung melalui LAN beserta tipe-tipe jaringan komputer
lainnya. Suatu Client adalah mesin user yang menyediakan kemampuan user interface dan
local processing. Suatu Server adalah mesin yang menyediakan berbagai service ke mesin
client (file access, printing, archiving, or database access). Ada kemungkinan suatu mesin
hanya menginstall software client saja, yang lain software server, atau bahkan keduanya pada
satu mesin (seperti pada gambar physical client/server sebelumnya). Dua arsitektur DBMS
yang mendasari framework client/server ialah two-tier client/server dan three-tier
client/server.
22
Gambar 2.11. Arsitektur Basis Data Client server
Gambar 1.12. Arsitektur two tier client server
Three Tier Architecture merupakan inovasi dari arsitektur client-server. Pada arsitektur
Three-tier ini terdapat application server yang berdiri di antara client dan database server.
Contoh dari application server adalah IIS (Internet Information Services), WebSphere, dan
sebagainya. Arsitektur ini memisahkan antara logika aplikasi dari manajemen data, yang
meliputi:
1. Presentation Tier (Client) Berisi interface natural yang dibutuhkan user untuk membuat
request, menyediakan input dan melihat hasil. (GUI)
2. Middle Tier (Application Layer/Web Server) Berisi logika aplikasi untuk dieksekusi,
berbagai macam kode program (C++, Java, dll) sebagai proses bisnis logic yang
kompleks. (Application Programs, Web Pages).
3. Data Management Tier (Database Server) Berisi DBMS.
23
Gambar 2.13. Aarsitektur three-tier client server
e. Arsitektur N-tier atau multi tier
Istilah arsitektur ini muncul karena dalam implementasi aplikasi basis data
dimungkinkan suatu aristektur aplikasi terdiri dari banyak tier. Salah satu contoh aplikasi basis
data yang menggunakan arsitektur ini ialah situs amazon .com, dimana pelanggan internet
dapat memesan buku secara online. Pelanggan dapat melihat katalog buku amazon.com yang
sebenarnya ada pada database amazon.com. Jika pelanggan ingin memesan salah satu buku,
maka pelanggan tersebut perlu memasukkan informasi mengenai dirinya dan yang terlebih
penting adalah data mengenai kartu kreditnya. Untuk dapat memesan buku data kartu kredit
pelanggan tersebut harus divalidasi terlebih dahulu: seperti kode PIN, masa berlaku kartu,
limit kredit. Setelah dinyatakan valid maka pelanggan dapat melakukan transaksi pemesanan
buku.
24
Gambar 2.14. Arstektur N-Tier client server
Gambar 2.15. Arsitektur basis data amazon.com
25
G. Aktivitas Pembelajaran
Dalam kegiatan ini peserta didik akan melakukan analisis terhadap ragam pemodelan
struktur basis data. Bentuk kelompok diskusi setiap kelompok terdiri dari 3-4 orang. Bacalah
seluruh langkah dibawah ini kemudian lakukan dengan cermat dan teliti.
1. Baca dan Amati uraian materi diatas dan carilah sumber bacaan lain yang relevan
melalui media internet.
2. Analisalah ragam pemodelan struktur basis data yang meliputi antara lain E/R
digram (ERD), semantic data model, functional data model, Relational Model,
Hierarchical Model dan Network Mode. Tentukan minimal Lima kriteria atau
parameter yang dijadikan dasar untuk menganalisis model struktur basis data
tersebut. (LK 2.1)
3. Tuliskan deskrepsi singkat dan contoh diagram untuk functional model, dan semantic
data model (LK 2.2)
4. Diskusi dan komunikasikan hasilnya dalam kelompok dan buatlah kesimpulan.
5. Buatlah Laporan dan komunikasikan hasil laporan dan pembahasan dengan tutor.
Tabel Lembar Kerja (LK 2.1) Analisis Ragam Model Struktur Basis Data
Kriteria
Model
Jenis Model Level (Tiga Skema)
Simbol
,
notasi, komponen
……
………..
Hierarchical
Model
Network
Model
ER Model
Relational
Model
functional
data model
semantic data
model
26
H. Latihan
1. Suatu model data yang merupakan himpunan data dan prosedur dalam relasi yang
menjelaskan hubungan logis antar data dalam suatu sistem basis data, model tersebut
meliputi entity relationship model, semantic data model, function model, binary model
dan infological model. Model tersebut adalah:
a) Model data berbasis Obyek
b) Model data berbasis record
c) Model data secara fisik
d) Model data secara konsep
2. Suatu Level dalam arsitektur tiga schema basis data yang memuat deskripsi struktur
basis data secara keseluruhan untuk semua pemakai, memuat deskripsi tentang entity,
atribut, relasi dan konstrain tanpa memuat deskripsi data secara detail adalah . . . . . .
a) Level/skema Internal
b) Level/skema konseptual
c) Level/skema eksternal
d) Level/skema Modular
3. Suatu model data yang memiliki struktur pohon dan hubungan bertingkat, model ini
terdiri dari beberapa node (filed) yang berisi rincian data agregat data, dan record. Field-
fieldnya hanya memiliki satu buah induk (parent), masing-masing parent memiliki
banyak child (anak) adalah . . . . . .
a) Entity Relationship Model
b) Semantic Data Model
c) Relational Model
d) Hierarchi Model
27
I. Rangkuman
Struktur basis data merupakan serangkaian pengetahuan tentang, file, table, field,
record indeks, abstraksi data adalah serangkaian konsep yang digunakan untuk membuat
deskripsi basis data. Struktur basis data menitik beratkan pada berbagai ragam pemodelan
data yang menggambarkan tentang obyek-obyek basis data, jenis dat, hubungan dan
konstrain data yang ditangani. Secara umum pemodelan basis data dikelompokkan
menjadi dua yaitu Object based logical model dan Record-based logical model. Object
based logical model. Dalam pemodelan ini struktur atau hirarki basis data diilustrasikan
berdasarkan object. Model ini meliputi: 1) Model keterhubungan entitas (Entity
Relationalship Model atau ERD). 2) Model Data Semantik (Semantic Data Model). 2)
Model data Fungsional (Function Data Model). Record-based logical model. Dalam
model ini struktur basis data diilustrasikan berdasarkan record. Model ini meliputi: 1)
Model relational (Relational Model). 2) Model Herarkis (Hierarchical Model) 3) Model
Jaringan (Network Model).
Arsitektur aplikasi basis data menjelaskan rancangan dasar aplikasi basis data yang
akan dibangun. Arsitektur basis data menggambarkan diagram interaksi antara
komponen-komponen penyusun sistem manajemen basis data. Beberapa ragam jenis
arsitektur aplikasi SMBD antar lain ialah: CDMS, DDMS, Arsitektur Teleprocessing,
Arsitektur File-Server Architecture. Arsitektur Singgle tier, Arsitektur two-tier
client/server, Arsitektur three-tier client/server, Arsitektur N-tier client/server, Paralel
arsitektur.
28
PEMBELAJARAN 3:
ERD (ENTITY RELATIONSHIP DIAGRAM)
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini diharapkan, melalui praktikum peserta didik dapat;
Membuat ilustrasi atau deskripsi sistem basis data dengan benar.
Menemukan entitas dan attribute sesuai ilustrasi sistem basis data.
B. Indikator Pencapaian Kompetensi
Membuat Entity Relationship Diagram.
C. Uraian materi
1. Definisi ERD
Diagram relasi entitas atau entity-relationship diagram (ERD) adalah suatu diagram
dalam bentuk gambar atau simbol yang mengidentifikasi tipe dari entitas di dalam suatu
sistem yang diuraikan dalam data dengan atributnya, dan menjelaskan hubungan atau relasi
diantara entitas tersebut. ERD merupakan model jaringan yang menggunakan susunan data
yang disimpan dalam sistem secara abstrak. ERD berupa model data konseptual yang
merepresentasikan data, karakteristik data (atribut-atributnya) dan relasi dua atau lebih data
dalam suatu organisasi sehingga membentuk basis data relasional. ERD menekankan pada
struktur dan relationship data.
2. Komponen-Komponen ERD
Untuk menggambarkan ERD yang mengilustrasikan relasi dua atau lebih data dalam
suatu sistem basis data digunakan beberapa komponen. Komponen-komponen tersebut ialah
Entitas, Atribute dan Relasi
a) Entity atau Entitas
Entitas adalah obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan
antara satu dengan lainnya (unique).Setiap entitas memiliki beberapa atribut yang
mendeskripsikan karakteristik dari objek. Entitas dapat berupa:
29
• Data Fisik (seperti mobil, rumah, manusia, pegawai, peserta didik.
• Abstrak atau konsep (seperti department, pekerjaan, mata pelajaran)
• Kejadian (pembelian, penjualan, peminjaman, dll)
Entitas dapat dibedakan menjadi dua macam yaitu Entitas kuat dan entitas lemah.
Entitas lemah adalah yang keberadaannya tergantung pada entitas lain. Gambar dibawah
ini menjelaskan notasi umum entitas kuat dengan nama entitas pegawai dan entitas lemah
dengan nama entitas tanggungan. Entitas tanggungan disebut sebagai entitas lemah karena
jika data seorang pegawai dihapus maka data tanggungannya juga akan terhapus.
Keberadaan data tanggungan tergantung pada data di pegawai
Gambar 3.1 Notasi entitas kuat (k2otak satu) dan entitas lemah kotak dua
b) Atribute
Attribute merupakan karakteristik dari entitas atau relationship, yang menyediakan
penjelasan detail tentang entitas atau relationship. Dalam penerapannya (level fisik)
atribut merupakan field atau kolom dari sebuah tabel. Misalnya entitas mahasiswa
memiliki atribute nama, alamat, NIM. Berdasarkan karakteristik atau sifatnya, atribut
dapat dikelompokkan menjadi; 1) Simple attribute dan composite attribute. 2) Single
valued attribute dan multi valued attribute. 3) Mandatory attribute 4) Derived attribute
(attribut turunan) dan 5) key attribute.
Simple Attribute atau atomic attribute adalah attribut terkecil yang tidak dapat
dibagi-bagi lagi menjadi atribut yang lebih kecil. Contohnya adalah atribut JenisKel pada
entitas pegawai. Gambar dibawah ini menjelaskan simbol atau notasi Simple Attribute
Gambar 3.2 Gambar simple attribute (JenisKel, NmDepan, Inisial, NmBlk) dan
composite attribute (Nama)
30
Composite attribute adalah atribut yang dapat dibagi menjadi atribut yang lebih
kecil. Attribut ini dapat diartikan attribute atomic yang menggambarkan atribut dasar
dengan suatu arti tertentu. Contoh: atribut Nama pada entitas pegawai dapat dipecah
menjadi atribut NmDepan, Inisial dan NmBlk. Gambar diatasmenjelaskan simbol atau
notasi composite attribute. Atribut nama merupakan composite attribute.
Single value Attribute adalah suatu atribut yang hanya mempunyai satu nilai.
Misalnya atribut NmDepan pada entitas pegawai. NmDepan seorang pegawai selalu
bernilai satu nilai, tidak mungkin lebih dari satu.
Multi Value attribute adalah atribut yang dapat memiliki lebih dari satu nilai yang
jenisnya sama dari sebuah data tunggal. Misalnya atribut lokasi pada entitas departemen
dapat berisi 2 nilai atau lebih seperti Surabaya atau Jakarta. Gambar diatas menjelaskan
simbol atau notasi Multi Value attribute. Gambar diatas menjelaskan simbol atau notasi
Single value Attribute
Single value Atribute (NmDepan) dan multivalue Atribute (Lokasi)
Derived Attribute atau Atribut Turunan adalah atribut yang nilai-nilainya diperoleh
dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan.
Misalnya atribut JmlPegawai pada entitas Departemen.
Derived Attribute Jumlah Pegawai (JmlPeawai)
c) Key attribute
Key adalah merupakan suatu atribut yang menandakan kunci dari suatu entitas yang
bersifat unik. Key attribute adalah satu atau beberapa atribut yang mempunyai nilai unik
sehingga dapat digunakan untuk membedakan data pada suatu baris/record dengan baris
lain pada suatu entitas. Key attribute dibedakan menjadi tiga yaitu: 1) Superkey 2)
Candidat Key dan 3) Primary key
31
Tabel dibawah ini menjelaskan beberapa contoh nama entitas beserta nama atribut-
atributnya.
Tabel 3.1. Daftar entitas dan atributnya
Nama entitas Nama Atribute
Pegawai NIP, NUPTK, Nama, Alamat, Agama, jenis kelamin
Siswa NIS, Nama, Alamat, Agama, jenis kelamin
Mata pelajaran Kode_mapel, Nama_mapel, Semester,
Departemen No, Nama, lokasi
Superkey adalah satu atau gabungan beberapa atribut yang dapat membedakan
setiap baris data dalam sebuah tabel secara unik. Misalnya superkey untuk entitas pegawai
antara lain: 1) NoKTP, Nama, Alamat, JenisKel, Gaji. 2) NoKTP, Nama, Alamat,
JenisKel. 3) NoKTP, Nama, Alamat. 4) NoKTP, Nama. 5) Nama (jika dapat dijamin kalau
tidak ada nama yang sama antara satu baris dengan baris yang lain). 6) NoKTP
Candidat Key adalah merupakan superkey yang jumlah atributnya paling sedikit.
Misalnya candidat key untuk entitas pegawai antara lain:
Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan
baris yang lain)
NoKTP
Primary key adalah suatu candidat key yang dipilih menjadi kunci utama karena
sering dijadikan acuan untuk mencari informasi, ringkas, menjadi keunikan suatu baris.
Misalnya NoKTP antara satu pegawai dengan pegawai lain pasti berbeda, dalam hal ini
noKTP dapat digunakan sebagai suatu key. Gambar diatas menjelaskan simbol atau notasi
primary key.
Gambar 3.3 Notasi Primary Key Attribute (NoKTP)
32
Gambar 3.4 Struktur entitas pegawai beserta atributnya
3. Prosedur Merancang ERD
ER diagram digunakan oleh profesional sistem untuk berkomunikasi dengan pemakai
eksekutif tingkat tinggi dalam perusahaan atau organisasi yang tidak tertarik pada pelaksanaan
operasi sistem sehari-hari, namun lebih menekankan kepada beberapa hal yaitu:
Data apa saja yang diperlukan untuk bisnis mereka?
Bagaimana data tersebut berelasi dengan data lainnya?
Siapa saja yang diperbolehkan mengakses data tsb?
Terdapat beberapa pendekatan dalam membuat sistem basis data yang baik antara lain
teknik dInormalisasi data dan ERD, Untuk menggambarkan ER diagram setidaknya ada tiga
langkah yang harus dilakukan oleh perancang basis data yaitu:
1. Menemukan atau mendefinisikan entitas.
2. Menemukan atau mendefinisikan atribute.
3. Menemukan atau mendefinisikan relasi.
4. Menggambarkan ERD menggunakan notasi-notasi standar.
33
D. Aktifitas Pembelajaran
1. Metode Menemukan Entitas
Entitas adalah obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan
antara satu dengan lainnya (unique).Setiap entitas memiliki beberapa atribut yang
mendeskripsikan karakteristik dari objek tersebut. Adapun prosedur atau langkah-langkah
yang seharusnya dilakukan untuk menemukan atau mendefinisikan Entitas dalam suatu sistem
data base adalah sebagai berikut :
1. Buat ilustrasi atau gambaran cerita (role of bussiness) tentang sistem yang akan dicari
entitasnya.
2. Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut.
3. Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut
sebagai atribut.
4. Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan
ia sebagai entitas)
5. Menggambarkan entitas beserta atributnya menggunakan notasi simbol yang telah
ditentukan.
2. Prosedur menemukan Entitas
Pernyataan dibawah ini menjelaskan salah satu contoh langkah-langkah yang dilakukan
untuk menemukan atau mengidintifikasi entitas dengan kasus sistem basis data di perusahaan
A. Prosedur untuk menemukan entitas tersebut adalah sebagai berikut:
1. Langkah 1: Membuat gambaran cerita tentang sistem kepegawaian di suatu perusahaan
A.
34
2. Langkah 2. Menandai pada soal cerita diatas setiap objek yang diwakili oleh kata benda
yang ada di dalam ilustrasi tersebut.
3. Langkah 3: Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti
disebut sebagai atribut. Sehingga kita menemukan entitas dan kemungkinan atributnya adalah
sebagai berikut :
Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari
pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain.
sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja
untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa
pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal
tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu
departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek
dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus
mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa
proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat
terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data
tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika
seorang pegawai pindah maka datanya akan dipindahkan / dihapus berikut data
tanggungan / keluarganya.
Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari
pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain.
sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja
untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa
pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal
tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu
departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek
dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus
mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa
proyek dan satu proyek hanya dikendalikan oleh satu departemen.Satu proyek dapat
terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data
tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika
seorang pegawai pindah maka datanya akan dipindahkan / dihapus berikut data
tanggungan atau keluarganya.
35
4. Langkah 4: Tentukan objek yang merupakan entitas (Jika memang ia memiliki
karakteristik jadikan ia sebagai entitas)
3. Prosedur Menemukan atribut.
Atribut adalah merupakan sifat-sifat atau karakteristik pada suatu entitas. Nama atribut
ini identik dengan nama kolom atau field pada suatu tabel dalam basis data. Atribut dapat
dibedakan menjadi beberapa macam antara lain adalah:
1. Simple Attribute dan Composite Attribute
2. Single Valued Attribute dan Multi Valued Attribute
3. Mandatory Attribute
4. Derived Attribute (Attribut Turunan)
5. Key Attribute (Atribut Kunci)
Adapapun untuk menemukan atribut dpat dilakukan melalui langkah-langkah dibawah
Kandidat Entitas : kandidiat Atribut, kandidat atribut….
Perusahaan: NoPerusahaan, nama, alamat
Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji
Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji
Departemen: Nomor, Nama, lokasi, jumlah pegawai
Lokasi : Lokasi
Proyek: Nomor, nama, lokasi
Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai
Entitas : Atribut1, atribut2, atribut3,… entitas / bukan entitas
a) Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu baris data) bukan
entitas
b) Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji entitas kuat
c) Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji sama dengan entitas
Pegawai
d) Departemen: Nomor, Nama, lokasi, jumlah pegawai entitas kuat
e) Lokasi : lokasi (karakteristiknya departemen, tidak memiliki karakteristik lain (unik))
bukan entitas
f) Proyek: Nomor, nama, lokasi entitas kuat
g) Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai
merupakan entitas lemah karena keberadaannya tergantung dari entitas kuat
pegawai.
36
ini yaitu:
1. Tentukan dan lengkapi karakteristik dari tiap-tiap entitas
2. Dari setiap karakteristik tersebut tentukan termasuk atribut apa
3. Menggambarkan entitas beserta atributnya dengan notasi yang sesuai
37
E. Latihan / Tugas
1. Buat ilustrasi atau gambaran cerita tentang sistem basis data yang saudara akan buat.
2. Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut.
3. Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik (atribut).
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
....................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...........................................................................................................
Kandidat Entitas : kandidiat Atribut, kandidat atribut….
…………................ : ……………………………………………….
…………................ : ……………………………………………….
…………................ : ……………………………………………….
…………................ : ……………………………………………….
…………................ : ……………………………………………….
…………................ : ……………………………………………….
38
4. Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia
sebagai entitas)
5. Tentukan dan lengkapi karakteristik dari tiap-tiap entitas dan tentukan termasuk atribut apa
Tabel 0.3. Lembar Kerja indentifikasi atribut
Entitas
(Tipe entitas)
Nama Atribut Tipe Atribut Keterangan
………………..
(……………….)
………………………..
………………………..
………………………..
………………………..
………………………..
………………………..
………………………..
………………………..
………………………..
………………………..
………………………..
………………………..
……………….
.
(………………
.)
……………………
…..
……………………
…..
……………………
…..
……………………
…..
……………………
…..
……………………
…..
……………………
…..
……………………
…..
……………………
…..
……………………
…..
……………………
…..
……………………
…..
Entitas : Atribut1, atribut2, Atribut3…., entitas / bukan entitas
…………................ : ……………………………………………….
…………................ : ……………………………………………….
…………................ : ……………………………………………….
…………................ : ……………………………………………….
…………................ : ……………………………………………….
…………................ : ……………………………………………….
39
6. Menggambarkan entitas beserta atributnya menggunakan notasi standar.
F. Rangkuman
Diagram relasi entitas atau entity-relationship diagram (ERD) adalah suatu diagram dalam
bentuk gambar atau simbol yang mengidentifikasi tipe dari entitas di dalam suatu sistem yang
diuraikan dalam data dengan atributnya, dan menjelaskan hubungan atau relasi diantara entitas
tersebut. Prosedur mengidentifikasi entitas dan atribut adalah: 1) membut ilustrasi atau gambaran
cerita tentang sistem yang akan dicari entitasnya. 2) Menandai setiap objek yang diwakili oleh
kata benda yang ada di dalam ilustrasi tersebut. 3) Menuliskan kandidat entitas dan atribut dari
obyek tersebut. 4) Menetapkan entitas dan tipe entitas. 5) Menetapkan atribut beserta type
atributnya. 6) Menggambarkan entitas beserta atributnya menggunakan notasi simbol yang telah
ditentukan.
40
PEMBELAJARAN 4:
RELASI KARDINALITAS PADA ERD
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar diharapkan, melalui praktikum peserta didik dapat:
Menemukan relasi sesuai ilustrasi sistem basis data.
Menggambar entity relationship diagram sistem basis data.
B. Indikator Pencapaian Kompetensi
Membuat Entity Relationship Diagram.
C. Uraian materi
1. Relasi
Relasi menyatakan hubungan antara dua atau beberapa entitas. Setiap relasi mempunyai
batasan (constraint) terhadap kemungkinan kombinasi entitas yang berpartisipasi. Batasan
tersebut ditentukan dari situasi yang diwakili relasi tersebut. Ragam atau jenis relasi
dibedakan menjadi beberapa macam antara lain adalah:
a. Relasi Binary. Relasi binary merupakan relasi antara dua entitas. Relasi binary ini
dibedakan menjadi :
Relasi One-to-one (notasi 1:1)
Relasi One-to-many (notasi 1:N) atau many-to-one (notasi N:1)
Relasi Many-to-many (notasi M:N)
b. Relasi Ternary. Relasi ternary adalah merupakan relasi antara tiga entitas atau lebih.
Dalam Relasi One-to-one (1:1) setiap atribute dari satu entitas berpasangan dengan
satu attribute dari entitas yang direlasikan. Dalam relasi One-to-many (1:N) atau many-
to-one (N:1) satu atribute berelasi dengan beberapa atribute dari entitas yang direlasikan.
Dalam Many-to-many (M:N) satu atribute berelasi dengan beberapa atribute dari entitas
yang direlasikan. Begitu pula sebaliknya.
41
Gambar 4.1. Ragam relasi antar entitas
Sebagaimana entias dalam relasi juga dapat dibedakan menjadi relasi kuat dan
relasi lemah. Gambar dibawah ini menjelaskan notasi umum untuk relasi kuat dan relasi
lemah.
Gambar 4.2. Notasi relasi entitas untuk entitas kuat (b) dan entitas lemah (c)
2. Batasan Partisipasi
Batasan partisipasi atau batasan hubungan entitas menjelaskan bagaimana data itu
berelasi, batasan ini menentukan bagaimana (harus ataukah tidak) berpartisipasi suatu entitas
dengan relasinya pada entitas lain. Batasan partisipasi dibedakan menjadi dua yaitu: 1)
Partisipasi Total (harus berpartisipasi) dan 2) Partisipasi Parsial (tidak harus berpartisipasi)
Contoh relasi yang merupakan partisipasi total adalah relasi antara pegawai dengan
departemen dengan nama relasi bekerja untuk dan partisipasi total disisi pegawai. Dari
deskripsi basis data disebutkan bahwa:
“Semua pegawai harus bekerja di bawah suatu departemen”
Dari pernyataan diatas mengindikasikan bahwa relasi disisi pegawai adalah relasi total
yang ditandai dengan kata kunci harus. Untuk menggambarkan relasi dengan partisipasi total
tersebut dapat dilakukan dengan dua pendekatan yaitu:
Menggunakan garis ganda pada relasi disisi pegawai
Menggunakan satu garis pada relasi disisi pegawai digabungkan dengan minimum 1
(minimum bekerja pada 1 departemen)
42
Gambar 4.3. Relasi dengan batasan partisipasi total.
Contoh relasi yang merupakan partisipasi parsial adalah relasi antara pegawai dengan
departemen dengan nama relasi mengepalai daan partisipasi parsial disisi pegawai. Dari
deskripsi basis data disebutkan bahwa:
“Beberapa pegawai mengepalai sebuah departemen (setiap pegawai tidak harus
mengepalai suatu departemen) “
Dari pernyataan diatas mengindikasikan bahwa relasi disisi pegawai adalah mempunyai
partisipasi parsial. Hal ini ditandai dengan kata kunci (beberapa pegawai ...... atau tidak
harus.....). Untuk menggambarkan relasi dengan partisipasi parsial tersebut dapat dilakukan
dengan dua pendekatan yaitu:
Menggunakan satu garis pada relasi disisi pegawai
Menggunakan satu garis pada relasi disisi pegawai digabungkan dengan minimum 0 (tidak
mengepalai departemen)
Gambar 4.4. Relasi dengan batasan (constraint) partisipasi parsial
43
D. Aktifitas Pembelajaran : Prosedur menemukan Relasi
Prosedur atau langkah-langkah yang seharusnya dilakukan untuk menemukan atau
mendefinisikan relasi dalam suatu sistem data base adalah sebagai berikut:
1. Dari gambaran cerita sistem, tandai setiap hubungan yang diwakili oleh kata kerja yang ada
di dalam ilustrasi beserta entitas yang berhubungan.
2. Identifikasikan rasio kardinalitas dari setiap hubungan.
3. Identifikasikan batasan partisipasi dari setiap hubungan yang ada berikut kemungkinan atribut
yang muncul dari setiap hubungan.
4. Gambarkan hubungan tersebut dalam bentuk notasi diagram dan gabungkan dengan notasi
Entitas dan atribut yang dibuat sebelumnya.
Pernyataan dibawah ini menjelaskan contoh langkah-langkah menemukan relasi untuk
kasus Sistem Kepegawaian di perusahaan A (lihat kembali deskripsi sistem basis data pada
kegiatan belajar sebelumnya), yaitu sebagai berikut:
1. Langkah 1 Menandai relasi dari deskriipsi cerita.
Dari gambaran cerita sistem, tandai dan tentukan setiap hubungan yang diwakili oleh
kata kerja yang ada di dalam ilustrasi dan entitas yang berhubungan.
2. Langkah 2 Identifikasi hubungan antara entitas.
Indentifikasi hubungan dilakukan dengan membuat tabel sepeti terlihat di bawah ini.
Hubungan berlangsung dua arah dari entitas 1 ke entitsas 2 dan sebaliknya. Kata kunci
hubungan satu sisi menggunakan kata aktif dan dari sisi sebaliknya menggunakan kata kunci
pasif.
Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari
pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain.
sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk
suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap
departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Tidak semua
pegawai mengepalai departemen. Sebuah departemen dapat berada di beberapa lokasi.
Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap
proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus
mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek
dan satu proyek hanya dikendalikan oleh satu departemen.Satu proyek dapat terdiri dari
beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan
pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai
pindah maka datanya akan dipindahkan / dihapus berikut data tanggungan atau keluarganya.
44
Tabel 4.1. Identifikasi hubungan antara dua entitas dua arah
Entitas 1 Hubungan Entitas 2
Pengawas
(Pegawai)
memimpin Pegawai
Pegawai dipimpin Pengawas(Pegawai)
Pegawai bekerja untuk Departemen
Departemen terdiri dari Pegawai
Pegawai mengepalai Departemen
Departemen dikepalai Pegawai
Pegawai bekerja pada Proyek
Proyek terdiri dari Pegawai
Departemen mengatur Proyek
Proyek diatur Departemen
Pegawai menanggung Tanggungan
Tanggungan ditanggung Pegawai
Tabel 4.2. Identifikasi hubungan antara dua entitas satu arah
Entitas 1 Hubungan Entitas 2
Pengawas(Pegawai) memimpin Pegawai
Pegawai bekerja untuk Departemen
Pegawai mengepalai Departemen
Pegawai bekerja pada Proyek
Departemen mengatur Proyek
Pegawai menanggung Tanggungan
3. Langkah 3 Identifikasi rasio kardinalitas
Identifikasi rasio kardinalitas menjelaskan batasan (constraint) terhadap kemungkinan
kombinasi entitas yang berpartisipasi. Identifikasi rasionalitas dapat dinyatakan dengan dua
pendekatan yaitu:
1) Banyaknya entitas berpartisipasi (one-one, one-many, many-one atau many-many), dan
Banyaknya entitas berpartisipasi (minimal dan maksimal).
Tabel 4.3. Identifikasikan rasio kardinalitas dari setiap hubungan
Entitas 1 Banyaknya
Entitas 1
yang
berpartisipasi
Hubungan Banyaknya
Entitas 2
berpartisipasi
Entitas 2
Pegawai 1 memimpin N Pegawai
Pegawai 1 dipimpin 1 Pegawai
Pegawai 1 bekerja
untuk
1 Departemen
Departemen 1 terdiri dari N Pegawai
45
Pegawai 1 mengepalai 1 Departemen
Departemen 1 dikepalai 1 Pegawai
Pegawai 1 bekerja pada N Proyek
Proyek 1 terdiri dari N Pegawai
Departemen 1 mengatur N Proyek
Proyek 1 diatur 1 Departemen
Pegawai 1 menanggung N Tanggungan
Tanggungan 1 ditanggung 1 Pegawai
Relasi antar entitas juga dapat diwujudkan dengan melibatkan identifikasikan batasan
partisipasi dari setiap hubungan yang ada. Tabel dibawah ini menjelaskn relasi yang melibatkan
banyaknya partisipasi (minimal dan maksimal).
Tabel 4.4. Indentifikasi batasan partisipasi (min, max) antara dua entitas.
Entitas 1
Banyaknya
Entitas 1
yang
berpartisipa
si
Hubungan
Banyaknya
Entitas 2
yang
berpartisipa
si
(min,max)
Entitas 2
Pegawai 1 memimpin (0,N) Pegawai
Pegawai 1 dipimpin (0,1) Pegawai
Pegawai 1 bekerja untuk (1,1) Departemen
Departemen 1 terdiri dari (1,N) Pegawai
Pegawai 1 mengepalai (0,1) Departemen
Departemen 1 dikepalai (1,1) Pegawai
Pegawai 1 bekerja pada (1,N) Proyek
Proyek 1 terdiri dari (1,N) Pegawai
Departemen 1 mengatur (0,N) Proyek
Proyek 1 diatur (1,1) Departemen
Pegawai 1 menanggung (0,N) Tanggungan
Tanggungan 1 ditanggung (1,1) Pegawai
4. Langkah 4 menggambarkan relasi antar entitas
Dari tabel Identifikasikan rasio kardinalitas untuk setiap hubungan dan tabel
indentifikasi batasan partisipasi (min, max) diatas dapat digambarkan diagram relasi
entitasnya, seperti terlihat digambar dibawah ini.
46
Gambar 4.5. Diagram relasi entitas pegawai dan departemen
(a) melibatkan batasan partisipasi, (b) melibatkan rasio kardinalitas
(min,max) dan partisipasi total/parsial
Dengan cara yang sama dapat ditemukan dan digambarkan relasi antar entitas lainnya.
Gambar dibawah ini menjelaskan ER diagram secara lengkap untuk sistem kepegawaian di
perusahaan A
Gambar 4.6. ERD sistem basis data pegawai perusahaan A
47
E. Latihan / Tugas
Berdasarkan uraian materi diatas dan hasil kegiatan belajar sebelumnya, lakukan kegiatan
berikut dengan cermat dan teliti:
1. Temukan atau identifikasi semua relasi dari deskripsi sistem basis data yang telah saudara
buat dalam kegiatan belajar sebelumnya!
2. Identifikasi untuk semua relasi entitas sesuai dengan langkah 1
Lembar Kerja Identifikasi hubungan antara dua entitas dua arah
Entitas 1 Hubungan Entitas 2
……………………….. ………………………. ………………………
……………………….. ………………………. ………………………
……………………….. ………………………. ………………………
……………………….. ………………………. ………………………
……………………….. ………………………. ………………………
……………………….. ………………………. ………………………
Lembar Kerja Identifikasi hubungan antara dua entitas satu arah
Entitas 1 Hubungan Entitas 2
……………………….
.
………………………. ……………………
…
……………………….
.
………………………. ……………………
…
……………………….
.
………………………. ……………………
…
……………………….
.
………………………. ……………………
…
……………………….
.
………………………. ……………………
…
……………………….
.
………………………. ……………………
…
3. Identifikasi rasio kardinalitas untuk setiap relasi dengan melibatkan banyaknya batasan
partisipasi (min,max)
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
48
Lembar Kerja Identifikasi relasi melibatkan rasio kardinalitas min,max
Entitas 1 Banyaknya
Entitas 1 yang berpartisipasi
Hubungan
Banyaknya Entitas 2 yang berpartisipasi
(min,max)
Entitas 2
……………... ……….. ……………… …………. …………
……………... ……….. ……………… …………. …………
……………... ……….. ……………… …………. …………
……………... ……….. ……………… …………. …………
……………... ……….. ……………… …………. …………
……………... ……….. ……………… …………. …………
……………... ……….. ……………… …………. …………
4. Gambarkan semua relasi antar entitas sehingga menghasilkan entity relationship diagram
lengkap sistem basis data.
49
F. Rangkuman
Prosedur yang dilakukan untuk menemukan relasi dalam suatu sistem basis data adalah : 1)
Dari gambaran cerita sistem, tandai setiap hubungan yang diwakili oleh kata kerja yang ada di
dalam ilustrasi beserta entitas yang berhubungan. 2) Identifikasikan rasio kardinalitas dari setiap
hubungan. 3) Identifikasikan batasan partisipasi dari setiap hubungan yang ada berikut
kemungkinan atribut yang muncul dari setiap hubungan. 4) Gambarkan hubungan tersebut dalam
bentuk notasi diagram dan gabungkan dengan notasi Entitas dan atribut yang dibuat sebelumnya.
50
PEMBELAJARAN 5:
NORMALISASI BASIS DATA
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini, melalui observasi diharapkan peserta didik dapat:
menganalisis ragam bentuk teknik normalisasi data
B. Indikator Pencapaian Kompetensi
Menganalisis teknik normalisasi basis data.
C. Uraian materi
1. Definisi Normalisasi
Normalisasi adalah suatu teknik yang menstrukturkan atau mendekomposisi atau
memecah data menggunakan cara–cara tertentu untuk mencegah timbulnya permasalahan
pengolahan data dalam basis data. Permasalahan yang dimaksud adalah berkaitan dengan
penyimpangan–penyimpangan (anomalies) yang terjadi akibat adanya kerangkapan data
dalam relasi dan inefisiensi pengolahan data. Proses normalisasi akan menghasilkan relasi
yang optimal, jika:
1. Memiliki struktur record yang mudah untuk dimengerti.
2. Memiliki struktur record yang sederhana dalam pemeliharaan.
3. Memiliki struktur record yang mudah untuk ditampilkan kembali untuk memenuhi
kebutuhan pemakai.
4. Minimalisasi kerangkapan data guna meningkatkan kinerja sistem.
Dalam merancang basis data terdapat dua pendekatan yang sering dilakukan yaitu: 1)
Model entity–relationship-diagram (ERD) yang telah dijelaskan dalam kegiatan belajar 3, 4,
5. dan 2) Menerapkan normalisasi terhadap struktur tabel yang telah diketahui.
Dalam pendekatan normalisasi, perancangan basis data bertitik tolak dari situasi nyata.
Basis data telah memiliki item–item data yang siap ditempatkan dalam baris dan kolom pada
51
tabel–tabel relasional. Demikian juga dengan sejumlah aturan tentang keterhubungan antara
item–item data tersebut. Sementara pendekatan model data ER lebih tepat dilakukan jika yang
diketahui baru prinsip sistem basis data secara keseluruhan.
Pada penerapannya dua pendekatan tersebut dilakukan secara bersama–sama. Untuk
kepentingan evaluasi dan dokumentasi, hasil normalisasi diwujudkan dalam sebuah model
data. Model data yang sudah jadi tersebut dapat dimodifikasi dengan pertimbangan tertentu.
Selanjutnya diimplementasikan dalam bentuk sejumlah struktur tabel pada sebuah basis data.
Struktur ini dapat diuji kembali dengan menerapkan aturan–aturan normalisasi, hingga
akhirnya diperoleh sebuah struktur basis data yang benar–benar efektif dan efisien. Begitulah
kedua pendekatan dapat saling memperkuat satu sama lain.
2. Bentuk-Bentuk Normalisasi
Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk
mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat.
Hasil dari proses normalisasi adalah tabel–tabel data dalam bentuk normal (normal form),
yaitu tabel–tabel data yang terhindar dari dua hal yaitu: Pengulangan informasi dan Potensi
inkonsistensi data pada operasi pengubahan. Terdapat enam bentuk normal (normal form)
dalam teknik normalisasi data, keenam bentuk tersebut adalah :
1. Bentuk Normal Tahap pertama (1st Normal Form)
2. Bentuk Normal Tahap Kedua (2nd Normal Form)
3. Bentuk Normal Tahap Ketiga (3rd Normal Form)
4. Bentuk Normal Boyce - Code (BCNF)
5. Bentuk Normal Tahap Keempat (4rd Normal Form)
6. Bentuk Normal Tahap Kelima (5rd Normal Form)
3. Proses-Proses Normalisasi data
Dalam proses normalisasi, data diuraikan dalam bentuk tabel, selanjutnya dianalisis
berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum
memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel
yang lebih sederhana sampai memenuhi bentuk yang optimal. Langkah-langkah yang
dilakukan dalam melakukan normalisasi data diperlihatkan dalam gambar dibawah ini:
52
Gambar 5.1. Langkah-langkah proses normalisasi data.
D. Aktifitas Pembelajaran: Menganalisis Bentuk-Bentuk Teknik Normalisasi Data
1. Bentuk tidak normal (Unnormalized Form)
Bentuk tidak normal ini memiliki beberapa ciri-ciri, yaitu antara lain adalah :
Merupakan kumpulan data yang akan direkam
Tidak ada keharusan mengikuti suatu format tertentu
Dapat saja data tidak lengkap atau terduplikasi
Data dikumpulkan apa adanya sesuai dengan kedatangannya.
53
Beberapa contoh tabel yang tidak normal dijelaskan dalam tabel 8.1 dan tabel 8.2
dibawah ini.
Tabel 5.1. Tabel mahasiswa yang tidak normal
Tabel 5.2.Tabel mahasiswa (Nis, nama mahasiswa, hobi1,hobi2,hobi3) yang tidak normal
2. Bentuk Normal Tahap pertama (1st Normal Form)
Bentuk normal ke satu 1 NF ini mempunyai beberapa ciri antara lain yaitu:
Setiap data dibentuk dalam flat file (file data/ rata)
Data dibentuk dalam satu record demi satu record dan nilai dari field field berupa
"atomic value", tidak dapat dibagi-bagi lagi.
Tidak ada set atribute yang berulang ulang atau atribute bernilai ganda (multivalue).
Tidak ada set atribut composite atau kombinasinya dalam domain data yang sama.
Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai
arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata sehingga artinya lain.
54
Untuk dapat memenuhi aturan 1NF, maka contoh tabel 8.1 dan tabel 8.2 diatas dirubah
atau dipecah (dekomposisi) menjadi 2 entitas, yakni entitas siswa dan entitas hobi seperti
gambar berikut :
Gambar 5.2.Hasil dekomposisi tabel mahasiswa untuk memenuhi bentuk 1NF
3. Bentuk Normal Tahap Kedua (2nd Normal Form)
Bentuk normal kedua mempunyai beberapa persyaratan antara lain adalah :
Bentuk data telah memenuhi kriteria bentuk normal kesatu.
Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary
key.
Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan dapat mewakili
atribute lain yang menjadi anggotanya.
Sebagai contoh ditentukan sebuah tabel siswa sebagai berikut :
NIS Nama_siswa Alamat Kode_ Mapel Nama_Mapel Nama_Guru Nilai
55
Tabel di atas telah memenuhi 1NF, namun belum memenuhi 2NF, {NIS,
Kode_Mapel} yang dianggap sebagai primary key sedangkan:
Tabel di atas perlu didekomposisi menjadi beberapa tabel untuk memenuhi syarat
2NF. Dekomposisi sesuai dengan functional dependencynya (FD) adalah sebagai berikut :
FD 1 : {NIS, Kode_Mapel} Nilai
FD 2 : NIS {Nama_siswa, Alamat}
FD 3 : Kode_mapel {Nama_mapel, Nama_guru}
Dari ketiga FD di atas, dekomposisi tabel menjadi sebagai berikut :
Tabel Nilai : (NIS, Kode_mapel, Nilai)
Tabel Siswa :(NIS, Nama_siswa, Alamat)
Tabel Mapel :(Kode_mapel, Nama_mapel, Nama_Guru)
4. Bentuk Normal Tahap Ketiga (3rd Normal Form)
Untuk menjadi bentuk normal ketiga (3 NF) suatu tabel harus mempunyai ciri-ciri
sebagai berikut:
1. Memenuhi bentuk 2 NF (normal kedua)
2. Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama atau
primary key.
3. Setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada
primary key secara menyeluruh
56
Berikut ini adalah contoh relasi yang telah memenuhi bentuk 2 NF, tetapi belum
memenuhi bentuk 3 NF :
NIS Nama_siswa Alamat_jln Alamat_kota Alamat_prov Kodepos
Pada relasi di atas, masih terdapat atribut non primary key (yakni Alamat_kota dan
Alamat_Prov) yang memiliki ketergantungan terhadap atribut non primary key yang lain,
yaitu Kode_pos.
Kodepos {Alamat_kota, Alamat_prov}
Untuk memenuhi syarat 3NF, maka relasi tersebut harus didekomposisi sebagai berikut :
Siswa : (NIS, Nama_siswa, Alamat_jn, Kodepos)
Kodepos : (Kodepos, Alamat_kota, Alamat_prov)
5. Boyce Code Normal Form (BCNF)
BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF. Suatu relasi yang
memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Suatu relasi yang
memenuhi 3NF belum tentu memenuhi BCNF. Karena dalam bentuk 3 NF masih
memungkinkan terjadi anomali.
Sebuah tabel dikatakan memenuhi BCNF jika untuk semua ketergantungan fungsional
dengan notasi X Y, maka X harus merupakan candidate key pada tabel tersebut. Jika
tidak demikian, maka tabel tersebut harus didekomposisi berdasarkan ketergantungan
fungsional yang ada, sedemikian hingga X menjadi candidat key dari tabel–tabel hasil
dekomposisi. Contoh tabel yang tidak memenuhi BCNF adalah sebagai berikut :
Ditentukan suatu tabel A = (E, F, G, H, I) dan berlaku ketergantungan fungsional,
sebagai berikut yaitu :
E, F G, H, I
F, G H, I
57
Tabel A tersebut tidak memenuhi BCNF karena ada pasangan key F, G yang bukan
candiday key, sehingga F, G H, I.
Sedangkan E, F adalah candidat key karena E, F G, H, I
Karena terdapat 2 ketergantungan fungsional maka tabel A tidak memenuhi BCNF. Untuk
memenuhi aturan BCNF maka tabel tersebut harus didekomposisikan menjadi:
A1 = (E, F, G) dengan ketergantungan fungsional E, F G
A2 = (F, G, H, I) dengan ketergantungan fungsional F, G H, I
Contoh lain untuk bentuk ini adalah tabel SEMINAR, dengan kunci primernya adalah
no_peserta dan kode_seminar, dengan asumsi bahwa:
Peserta dapat mengambil 1 atau 2 seminar.
Setiap seminar membutuhkan 2 instruktur.
Setiap peserta dibimbing oleh salah satu dari 2 instruktur seminar.
Setiap instruktur boleh hanya membimbing 1 seminar saja.
Pada contoh relasi berikut, no_peserta dan kode_seminar menunjukkan seorang instruktur.
Tabel 5.3. Tabel seminar
No_Peserta Kode_seminar Nama_instruktur
2201001 2281 Santi
2201002 2281 Karyadi
2201003 2291 Jeni
2201002 2291 Rendi
2201004 2291 Rendi
58
Bentuk relasi SEMINAR adalah memenuhi bentuk normal ketiga (3NF), tetapi tidak BCNF
karena Kode_seminar masih bergantung fungsi pada instruktur, jika setiap instruktur dapat
mengajar hanya pada satu seminar. Kode_seminar bergantung fungsi pada satu atribut
bukan superkey seperti yang disyaratkan oleh BCNF. Maka relasi SEMINAR harus
didekomposisi menjadi dua relasi, yaitu relasi pengajar dan seminar_instruktur, seperti
berikut ini :
Pengajar : (Nama_instruktur, Kode_seminar) dan
Seminar_instruktur : (No_peserta, Nama_instruktur)
6. Bentuk Normal Tahap ke empat (4th Normal Form)
Suatu tabel relasional dikatakan dalam bentuk normal keempat (4NF) jika memenuhi
beberapa ketentuan sebagai berikut : Bila telah berada dalam bentuk BCNF dan tidak ada
multivalued dependency nontrivial. Multivalued dependency (MVD) dipakai dalam bentuk
normal keempat (4NF). Dependensi ini dipakai untuk menyatakan hubungan satu ke bantak
(one tomany).
Setiap atribut di dalamnya tidak mengalami ketergantungan pada banyak nilai atau
dengan kalimat lain, bahwa semua atribut yang mengalami ketergantungan pada banyak
nilai adalah bergantung secara fungsional (functionally dependency) Berikut ini adalah salah
satu contoh tabel relasional yang belum memenuhi 4NF :
Tabel 5.4. contoh relasi yang belum memenuhi bentuk normal tahap 4
59
Relasi tersebut menggambarkan mengenai dosen yang mengajar matakuliah tertentu
dengan isi matakuliah yang bersangkutan. Contoh tabel dibawah ini menjelaskan dua dosen
yang mengajar pengenalan komputer, yaitu Budi dan Sanjaya.
Tabel 5.5. Penyederhanaan relasi atau tabel 8.4
Adapun isi matakuliah Pengenalan Komputer adalah Dasar Komputer, Pengenalan
Pengolahan Kata dan Pengenalan Lembaran Kerja. Relasi berikut ini memperlihatkan relasi
yang telah dinormalisasikan berdasarkan relasi sebelumnya. Langkah selanjutnya adalah
untuk memenuhi syarat bentuk normal tahap 4), maka relasi tersebut diatas dapat
didekomposisi menjadi dua relasi sebagai berikut :
Matakuliah_dosen : (Matakuliah, Dosen)
Matakuliah_isi : (Matakuliah, Isi)
7. Bentuk Normal Tahap Kelima (5th Normal Form)
Bentuk Normal 5NF dibangun berdasarkan konsep joint dependency sedangkan
keempat bentuk sebelumnya dibangun berdasarkan functional dependency. Joint dependency
menjelaskan bahwa apabila sebuah tabel telah didekomposisi menjadi tabel-tabel lebih kecil,
tabel tersebut harus bisa digabungkan lagi (join) untuk membentuk tabel semula. Bentuk
normal kelima ini sering disebut juga sebagai Projection Join Normal Form (PJNF). Suatu
tabel memenuhi bentuk normal 5rdNF jika dan hanya jika Kerelasian antar data dalam relasi
tersebut tidak dapat direkonstruksi dari struktur relasi yang memuat atribut yang lebih sedikit.
Sebagai contoh: terdapat hubungan dealer yaitu suatu perusahaan distributor kendaraan.
Dalam hal ini distributor memiliki sejumlah produk kendaraan. Tabel relasional dibawah ini
menjelaskan relasi tabel dealer, kendaraan dan distributor.
60
Tabel 5.6. Relasi Dealer Distributor dan kendaraan
Relasi tersebut telah memenuhi dependensi gabungan, Sehingga relasi tersebut dapat
didekomposisi menjadi tiga buah relasi yaitu :
Deal_Dist (Dealer_Distributor).
Dist_Kend (Distributor_Kendaraan).
Deal_Kend (Dealer_Kendaraan).
Gabungan ketiga relasi tersebut akan membentuk relasi Dealer-Distributor-Kendaraan
(DDK) dan gabungan ketiganya. Kemungkinan proyeksi tabel relasional tersebut akan
menghasilkan suatu relasi antara yang salah, namun ketiganya akan menghasilkan relasi
sesuai aslinya. Gambar dibawah ini menjelaskan tabel relasional Dealer-Distributor-
Kendaraan (DDK)
Gambar 5.4. Tabel relasional Dealer-Distributor-Kendaraan (DDK)
61
8. Efek Normalisasi
Pada kenyataannya, penerapan normalisasi juga mengakibatkan efek samping yang
tidak diharapkan,yaitu :
1. Proses dekomposisi relasi akan mengakibatkan munculnya duplikasi rinci data pada
atribut kunci penghubung (foreign key).
2. Dekomposisi relasi membuka kemungkinan tidak terpenuhi integritas refernsial
(referential integrity) dalam basis data.
3. Dekomposisi relasi akan menghasilkan semakin banyak jumpak relasi baru, sehingga
mengakibatkan inefisiensi proses menampilkan kembali data-data dari dalam basis data.
Adanya batasan penerapan pada beberapa DBMS untuk ukuran computer pribadi/PC,
berkaitan dengan batas maksimal relasi yang dapat dibuka secara bersamaan
E. Latihan / Tugas / Kasus
Sebuah Perusahaan PEC-TECH ingin membangun system informasi menggunakan basis
data untuk pengelolaan barang. Dalam hal ini informasi yang akan diperoleh adalah informasi
data stock barang keluar pada Warehouse PEC-TECH. Pengelolaan data sementara ini masih
menggunakan Microsoft excel dengan contoh keluaran Laporan Barang Keluar dan Laporan
Rekapitulasi Barang Keluar diperlihatkan dalam tabel dibawah ini.
Dengan menggunakan prinsip-prinsip normalisasi buatlah diagram relasi
tabel (relational model) dan diagram relasi entitas (entity relationship
diagram)
62
Tabel Laporan barang keluar
Tabel Laporan Rekapitulasi Barang Keluar
63
F. Lembar kerja
1. Buatlah tabel yang menjelaskan bentuk unnormal form.
2. Buatlah tabel yang menjelaskan Normalisasi Pertama (1NF/ First Normal Form)
64
3. Buatlah tabel yang menjelaskan Normalisasi Ke Dua (2 NF /Second Normal Form)
4. Jika memungkinkan buatlah tabel yang menjelaskan Normalisasi Ke Tiga (3 NF /Second
Normal Form)
65
5. Gambarkan Diagram Relational Model
6. Gambarkan diagram relasi entitasnya (Entity Relationship Diagram)
66
G. Rangkuman
Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk
mengorganisasi himpunan data dengan ketergantungan tinggi. Hasil dari proses normalisasi
adalah tabel data dalam bentuk normal. Terdapat enam bentuk normal tabel yaitu: 1) Bentuk
Normal Tahap pertama (1st NF). 2) Bentuk Normal Tahap Kedua (2nd NF). 3) Bentuk Normal
Tahap Ketiga (3rd NF). 4) Bentuk Normal Boyce - Code (BCNF). 5) Bentuk Normal Tahap
Keempat (4rd NF). 6) Bentuk Normal Tahap Kelima (5rd NF)
67
PEMBELAJARAN 6:
SISTEM MANAJEMEN BASIS DATA (DBMS)
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini diharapkan:
Melalui observasi peserta didik dapat menganalisis berbagai ragam jenis perangkat lunak
Sistem manajemen Basis Data dengan benar.
B. Indikator pencapaian Kompetensi
Membuat basis data menggunakan fitur visual DBMS
C. Uraian materi
1. Definisi Sistem manajemen basis Data
Sistem manajemen basis data (database management system, DBMS), atau sering
disingkat SMBD, adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola
suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna.
Contoh tipikal SMBD adalah akuntansi, sumber daya manusia, dan sistem pendukung
pelanggan. SMBD telah berkembang menjadi bagian standar di bagian pendukung (back
office) suatu perusahaan atau organisasi. Contoh SMBD adalah Oracle, SQL server
2000/2003, MS Access, MySQL dan sebagainya.
DBMS merupakan perangkat lunak yang dirancang untuk dapat melakukan utilisasi dan
mengelola koleksi data dalam jumlah yang besar. DBMS juga dirancang untuk dapat
melakukan manipulasi data secara lebih mudah. Sebelum ada DBMS, data pada umumnya
disimpan dalam bentuk flat file, yaitu file teks yang ada pada sistem operasi. Sampai sekarang
masih ada aplikasi yang menyimpan data dalam bentuk flat secara langsung. Menyimpan data
dalam bentuk flat file mempunyai kelebihan dan kekurangan. Penyimpanan dalam bentuk ini
akan mempunyai manfaat yang optimal jika ukuran filenya relatif kecil, seperti file password
pada sistem operasi Unix dan Unix-like. File password pada umumnya hanya digunakan
untuk menyimpan nama yang jumlahnya tidak lebih dari 1000 orang.
68
Selain dalam bentuk flat file, penyimpanan data juga dapat dilakukan dengan
menggunakan program bantu seperti spreadsheet. Penggunaan perangkat lunak ini
memperbaiki beberapa kelemahan dari flat file, seperti bertambahnya kecepatan dalam
pengolahan data. Namun demikian metode ini masih memiliki banyak kelemahan,
diantaranya adalah masalah manajemen dan keamanan data yang masih kurang. Penyimpanan
data dalam bentuk DBMS mempunyai banyak manfaat dan kelebihan dibandingkan dengan
penyimpanan dalam bentuk flat file atau spreadsheet, diantaranya :
1. Performa untuk penyimpanan data dalam bentuk DBMS cukup besar, sangat jauh berbeda
dengan performance data yang disimpan dalam bentuk flat file. Disamping memiliki unjuk
kerja yang lebih baik, juga akan didapatkan efisiensi penggunaan media penyimpanan dan
memori
2. Integritas data lebih terjamin dengan penggunaan DBMS. Masalah redudansi sering
terjadi dalam flat file. Redudansi adalah kejadian berulangnya data atau kumpulan data
yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan.
3. Independensi. Perubahan struktur database dimungkinkan terjadi tanpa harus mengubah
aplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih
mudah dengan penggunaan DBMS.
4. Sentralisasi. Data yang terpusat akan mempermudah pengelolaan database.
Kekonsistenan data yang diakses secara bersama-sama akan lebiih terjamin dari pada data
disimpan dalam bentuk file atau worksheet yang tersebar.
5. Keamanan. DBMS memiliki sistem keamanan yang lebih fleksibel daripada pengamanan
pada file sistem operasi. Keamanan dalam DBMS akan memberikan keluwesan dalam
pemberian hak akses kepada pengguna.
2. Sistem Manajemen Basis Data Relasional
Sebuah sistem manajemen basis data relasional atau dikenal sebagai relational database
management system (RDBMS) adalah sebuah program komputer (atau secara lebih tipikal
adalah seperangkat program komputer) yang dirancang untuk mengatur atau mengelola
sebuah basis data sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan
operasi-operasi data atas permintaan penggunanya. RDBMS banyak diterapkan pada berbagai
bidang kerja, misalnya akuntansi, manajemen sumber daya manusia, dan lain sebagainya.
Pada awalnya RDBMS hanya dimiliki oleh perusahaan-perusahaan berskala besar dan
memiliki perangkat komputer yang sesuai dengan spesifikasi standar yang dibutuhkan. Pada
saat itu standar yang diminta dapat dikatakan sangat tinggi yaitu untuk mendukung jumlah
69
data yang besar. Saat ini implementasinya sudah sangat banyak dan adaptatif dengan
kebutuhan spesifikasi data yang rasional sehingga dapat dimiliki dan diimplementasikan oleh
segala kalangan sebagai bagian dari investasi perusahaan.
Edgar F. Codd memperkenalkan istilah RDBMS pada makalah seminarnya yang
berjudul "A Relational Model of Data for Large Shared Data Banks". Salah satu definisi yang
cukup dikenal secara luas atas sebuah sistem basis data relasional adalah “12 hukum Codd”.
Namun demikian, pada awal implementasinya banyak model relasional yang tidak mengikuti
seluruh elemen yang terdapat dalam hokum Codd tersebut. Hal tersebut menjadikan
terminologinya berkembang untuk mendeskripsikan sebuah tipikal sistem basis data yang
lebih luas. Dalam cakupan yang minimum sistem tersebut memenuhi kriteria sebagai berikut:
menyajikan data pada pengguna dalam bentuk relasional (ditampilkan dalam bentuk
tabular, sebagai koleksi dari tabel dimana setiap tabel beriisi sekumpulan baris dan
kolom)
menyediakan operator relasional untuk memanipulasi data dalam bentuk tabular
Sistem yang pertama kali secara relatif memenuhi implementasi atas sebuah model
relasional adalah Pusat Studi Ilmiah IB, Inggris, di Peterlee; IS1 (1970-1972) dan
implementasi lain yang mengikutinya adalah PRTV (1973-1979). Sistem yang pertama kali
dijual secara komersial sebagai RDBMS adalah Multics Relational Data Srore yang
dikembangkan pada tahun 1978. Selanjutnya adalah Berkeley Ingres QUEL dan IBM BS12.
3. Ragam Jenis SMBD
Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam membuat
aplikasi program basis data dan sangat populer antara lain adalah MySQL, MS SQL Server,
Oracle, IBM DB/2, dan PostgreSQL. Sementara di pasaran terdapat sejumlah software DBMS
baik yang komersial atau open source antara lain adalah sebagai berikut: :
a. DBMS yang bersifat komersial: 4th Dimension, Dataphor, Daffodil database, DB2,
FileMaker Pro, FrontBase, Informix, InterBase, Matisse [1], Microsoft Access, Microsoft
SQL Server, Microsoft Visual FoxPro, Mimer SQL, Netezza, NonStop SQL, Oracle,
Progress 4GL, Sand Analytic Server (sebelumnya dikenal sebagai Nucleus), SmallSQL,
Sybase Adaptive Server Anywhere (sebelumnya dikenal sebagai Watcom SQL), Sybase
70
Adaptive Server Enterprise, Sybase Adaptive Server IQ, Teradata, ThinkSQL [2],
VistaDB, VMDS.
b. DBMS yang bersifat open source: antara lain : Cloudscape, Derby, Firebird, H2, HSQLDB,
Ingres, MaxDB, MonetDB, MySQL, PostgreSQL, SQLite, tdbengine
a) MySQL
MySQL adalah sebuah perangkat lunak
sistem manajemen basis data relasional
(RDBMS) yang mendukung sistem multithread,
multi-user, dengan sekitar 6 juta instalasi di
seluruh dunia. MySQL tersedia sebagai
perangkat lunak gratis di bawah lisensi GNU General Public Licenci (GPL), tetapi
mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana
penggunaannya tidak cocok dengan penggunaan GPL. Tidak seperti Apache,
merupakan software yang dikembangkan oleh komunitas umum, dan dicipta sehingga
code sumber dimiliki oleh penulisnya masing-masing.
MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu
MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode
sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL
AB adalah: David axmark, Allan larsson, dan Michael “monthy widenius. MySQL
memiliki beberapa kelebihan dan keistimewaan antara lain adalah sebagai berikut:
1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga.
2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat
lunak sumber terbuka (open source), dibawah lisensi GPL sehingga dapat
digunakan secara gratis.
3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam
menangani query sederhana, dengan kata lain dapat memproses lebih banyak
SQL per satuan waktu.
5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti
signed/unsigned integer, float, double, char, text, date, timestamp,
71
6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang
mendukung perintah Select dan Where dalam perintah (query).
7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan yang
mendetail serta sandi terenkripsi.
8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala
besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta
5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks
pada tiap tabelnya.
9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan
protokol TCP/IP, Unix Soket (UNIX), Named Pipes (NT).
10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari dua puluh bahasa. Meski pun demikian, Bahasa
Indonesia belum termasuk di dalamnya.
11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi
dan bahasa pemrograman dengan menggunakan fungsi API (Application
Programming Interface).
12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang
dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada
disertakan petunjuk online.
13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan basis data lainnya semacam
PostgreSQL ataupun Oracle.
b) Oracle
Oracle adalah relational database management system (RDBMS) untuk mengelola
informasi secara terbuka, komprehensif dan terintegrasi. RDBMS Oracle pertama kali
dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan
konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977.
Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation. Oracle
Server menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal
sebagai berikut:
Dapat bekerja di lingkungan client/server (pemrosesan tersebar)
72
Menangani manajemen space dan basis data yang besar
Mendukung akses data secara simultan
Performansi pemrosesan transaksi yang tinggi
Menjamin ketersediaan yang terkontrol
Lingkungan yang terreplikasi
Oracle merupakan DBMS yang
paling rumit dan paling mahal di dunia,
namun banyak orang memiliki kesan yang
negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan mengenai Oracle
antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal. Jika
dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih terlihat tidak
kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya sangat
mahal.
Oracle merupakan DBMS yang dirancang khusus untuk organisasi berukuran
besar, bukan untuk ukuran kecil dan menengah. Kebutuhan organisasi berukuran besar
tidaklah sama dengan organisasi yang kecil atau menengah yang tidak akan berkembang
menjadi besar. Organisasi yang berukuran besar membutuhkan fleksibilitas dan
skalabilitas agar dapat memenuhi tuntutan akan data dan informasi yang bervolume
besar dan terus menerus bertambah besar.
Kelebihan oracle adalah fleksibilitas sistem yaitu kemampuan untuk
menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-
ubah. Sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan
memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak
terganggu jika ada server yang mati. Organisasi tersebut juga mempunyai berbagai
macam aplikasi yang dibuat dengan beragam bahasa pemrograman dan berjalan di
berbagai platform yang berbeda. Oracle memiliki banyak sekali fitur yang dapat
memenuhi tuntutan fleksibilitas dari organisasi besar tersebut. Berbagai fitur tersebut
membuat Oracle menjadi DBMS yang rumit dan sulit untuk dipelajari, namun itu adalah
harga yang harus dibayar untuk mendapatkan fleksibilitas yang dibutuhkan dalam
sistem informasi di organisasi yang berukuran besar.
73
Kelebihan lainnya adalah skalabilitas yang mengacu pada kemampuan untuk terus
berkembang dengan penambahan sumber daya. Organisasi yang besar harus mampu
melakukan transaksi data dalam volume yang besar dan akan terus bertambah besar.
Jika dijalankan hanya pada satu server saja, MySQL memang bisa berjalan lebih cepat
daripada Oracle. Namun jika satu server sudah tidak bisa lagi menangani beban yang
terus bertambah besar, kinerja MySQL mengalami stagnasi karena keterbatasan server
tersebut. Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari
satu server serta data storage dengan mudah dan transparan. Hanya dengan
menambahkan server atau data storage ke dalam Oracle Grid, maka kinerja dan
kapasitas Oracle dapat terus berkembang untuk mengikuti beban kerja yang terus
meningkat.
c) FireBird
Firebird adalah salah satu aplikasi RDBMS (Relational Database Management
System) yang bersifat open source. Awalnya perusahaan Borland pada tahun 2000
mengeluarkan versi beta dari aplikasi yaitu InterBase 6.0 dengan sifat open source.
Pengembangan basis data ini diawali dari Firebird 1, dengan merubah kode berbasis C
ke dalam bahasa C++ dan merupakan pembersihan kode secara besar-besaran. Firebird
1.5 merupakan rilis pertama dari codebase Firebird 2.
Firebird (juga disebut FirebirdSQL) adalah sistem manajemen basis data
relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan
SQL-2003. RDBMS ini dapat berjalan dengan baik di Linux, Windows, maupun pada
sejumlah platform UNIX. Firebird ini dikembangkan oleh FirebirdSQL Foundation.
DBMS ini merupakan turunan dari Interbase versi open source milik Borland. Beberapa
kelebihan open source DBMS ini antara lain:
1. Firebird support dengan transaksi layaknya pada database komersial lainnya.
Sebuah transaksi bisa di-commit atau di-rollback dengan mudah. Firebird support
dengan savepoint pada transaksi dan bisa melakukan rollback kembali ke savepoint
(fungsi ini seperti fasilitas pada Oracle).
2. Firebird menggunakan sintaks standard untuk menciptakan suatu foreign key.
3. Firebird support row level locks, secara default Firebird menggunakan apa yang
disebut dengan multi-version
74
4. Concurrency system. Ini artinya bahwa semua session pada database akan melihat
data yang lama sampai data yang baru sudah di-commit ke dalam database.
5. Firebird support stored procedure dan triggers dengan bahasa yang standard
sehingga tidak akan membingungkan bagi pengguna
6. Firebird bisa melakukan replikasi, solusi untuk replikasi kebanyakan dibuat oleh
pihak ketiga, tetapi sebenarnya teknik replikasi ini seperti konsep trigger yang
selalu memonitor adanya operasi insert, update atau delete ke dalam database.
7. Firebird support dengan multiple data file dan dapat menggunakan lebih dari satu
file sebagai single logic database.
8. Software untuk mengadministrasi mudah didapat karena banyak sekali software
untuk mengadministrasi data base Firebird, misalnya saja EMS IB Manager,
IBConsole, isql, FBManager, Marathon
9. Library connection untuk Firebird sudah tersedia seperti driver untuk ODBC, JDBC
bahkan .NET database provider dan PHP
10. Memiliki banyak komunitas di internet.
d) Microsoft SQL server
Microsoft SQL Server adalah perangkat lunak relational database management
system (RDBMS) yang didesain untuk melakukan proses manipulasi database
berukuran besar dengan berbagai fasilitas. Microsoft SQL Server merupakan produk
andalan Microsoft untuk database server. Kemampuannya dalam manajemen data dan
kemudahan dalam pengoperasiannya membuat RDBMS ini menjadi pilihan para
database administrator.
DBMS merupakan suatu system perangkat lunak untuk memungkinkan user
(pengguna) untuk membuat, memelihara, mengontrol, dan mengakses database secara
praktis dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan
mamanipulasi data yang ada. Sedangkan RDBMS atau Relationship Database
Management System merupakan salah satu jenis DBMS yang mendukung adanya
relationship atau hubungan antar table. RDBMS (Relational Database Management
System) adalah perangkat lunak untuk membuat dan mengelola database, sering juga
disebut sebagai database engine. Istilah RDBMS, database server-software, dan
database engine mengacu ke hal yang sama; sedangkan RDBMS bukanlah database.
75
Beberapa contoh dari RDBMS diantaranya Oracle, Ms SQL Server, MySQL, DB2, Ms
Access.
e) Visual Foxpro 6.0
Pada tahun 1984, Fox Software memperkenalkan FoxBase untuk menyaingi
dBase II Ashton-Tate. Pada saat itu FoxBase hanyalah perangkat lunak kecil yang berisi
bahasa pemrograman dan mesin pengolah data. FoxPro memperkenalkan GUI
(Graphical Unit Interface) pada tahun 1989. FoxPro berkembang menjadi Visul FoxPro
pada tahun 1995. Kemampuan pemrograman prosedural tetap dipertahankan dan
dilengkapi dengan pemrograman berorietasi objek. Visual FoxPro 6.0 dilengkapi
dengan kemampuan untuk berinteraksi dengan produk desktop dan client/server lain dan
juga dapat membangun aplikasi yang berbasis Web. Dengan adanya Visual Studio,
FoxPro menjadi anggotanya. Sasaran utama Visual Studio adalah menyediakan alat
bantu pemrogrman dan database untuk mengembangka perangkat lunak yang memenuhi
tuntutan zaman.
Model data yang digunakan Visual FoxPro yaitu model relasional. Model
Relasional merupakan model yang paling sederhana sehingga mudah di pahami oleh
pengguna, serta merupakan paling popular saat ini. Model ini menggunakan sekumpulan
table berdimensi dua (yang disebut relasi atau table), dengan masing-masing relasi
tersusun atas tupel atau baris dan atribut. Relasi dirancang sedemikian rupa sehingga
dapat menghilangkan kemubajiran data dan mengunakan kunci tamu untuk
berhubungan dengan relasi lain.
f) Database Desktop Paradox
Database desktop merupakan suatu program “Add-Ins”, yaitu program terpisah
yang langsung terdapat pada Borland Delphi. Pada database desktop terdapat beberapa
DBMS yang terintegrasi di dalamnya antara lain Paradox 7, Paradox 4, Visual dBase,
Foxpro, Ms. SQL, Oracle, Ms. Acces, db2 dan interbase. Dari beberapa DBMS tersebut
kita akan memilih salah satu yaitu Paradox yang akan dibahas lebih lanjut, khususnya
Paradox 7. Dalam Paradox 7 ini, pada 1 file database hanya mengizinkan 1 tabel,
berbeda dengan DBMS lain yang mengizinkan beberapa tabel pada 1 file database
seperti pada Ms. Acces.
76
D. Aktifitas Pembelajaran: Mengamati Berbagai Ragai Jenis DBMS
Dalam kegiatan ini peserta didik akan melakukan pengamatan melalui teks book secara
berkelompok, satu kelompok terdiri dari dua sampai tiga orang. Dalam kegiatan ini peserta didik
akan melakukan pengamatan melalui teks book terhadap berbagai ragam jenis DBMS. Bacalah
seluruh langkah pengamatan dibawah ini kemudian lakukan dengan cermat dan teliti dengan
perangkat yang telah disediakan.
1. Bentuk kelompok diskusi setiap kelompok terdiri dari tiga orang.
2. Dengan menggunakan fasilitas internet carilah sumber bacaan tentang berbagai ragam
jenis DBMS yaitu: micorosft SQL Server, Micorsoft access, Oracle dan MySQL. Catat
hasilnya (sumber bacaan) dalam bentuk tabel
3. Diskusikan dalam kelompok untuk berbagai ragam jenis DBMS sebagaimana telah
disebutkan pada langkah 2. Untuk setiap DBMS diskusikan tentang: 1) Industri pembuat
2) fitur-fitur yang ada dalam DBMS 3) Diagram atau gambar arsitektur DBMS. 4) versi
atau software database yang ada 5) kelebihan atau kekurangan setiap DBMS. Catat
hasilnya dalam bentuk tabel.
4. Komunikasikan hasilnya dalam kelompok dan buatlah kesimpulan.
5. Presentasikan hasil diskusi bersama-sama dengan kelompok lainnya dan guru
pembimbing.
E. Latihan /Tugas
Dalam test ini setiap peserta didik membaca dengan cermat dan teliti setiap butir soal
dibawah ini. Kemudian berdasarkan uraian materi diatas tulislah jawabannya pada lembar
jawaban test formatif yang telah disediakan.
1. Jelaskan secara singkat definisi DBMS, RDBMS dan apa perbedaan keduanya?
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
.................................................................................................................
...................................................................................................................
...................................................................................................................
77
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
2. Sebutkan berbagai ragam jenis perangkat lunak DBMS baik yang bersifat komersial dan
oepn source?
.........................................................................................................:........
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
78
.........................................................................................................:........
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
F. Rangkuman
Sistem manajemen basis data (database management system, DBMS), atau sering disingkat
SMBD, adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis
data dan menjalankan operasi terhadap data yang diminta banyak pengguna.
Sebuah sistem manajemen basis data relasional atau dikenal sebagai relational database
management system (RDBMS) adalah sebuah program komputer (atau secara lebih tipikal adalah
seperangkat program komputer) yang dirancang untuk mengatur atau mengelola sebuah basis data
sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasi-operasi data
atas permintaan penggunanya.
Hukum cood adalah suatu ketentuan atau aturan dan definisi standar dari sebuah sistem basis
data relasional, yang diperkenalkan oleh Edgar F. Codd. Hukum Codd terdiri dari dua belas
kriteria atau ketentuan. Software atau perangkat lunak DBMS yang sering digunakan dalam
aplikasi program dan sangat populer adalah MySQL, MS SQL Server, Oracle, IBM DB/2, dan
PostgreSQL DBMS yang bersifat open source: antara lain : Cloudscape, Derby, Firebird, H2,
HSQLDB, Ingres, MaxDB, MonetDB, MySQL, PostgreSQL, SQLite, tdbengine
79
PEMBELAJARAN 7:
BASIS DATA RELATIONAL
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini diharapkan:
Memperoleh pemahaman tentang sistem manajemen database relational (RDBMS) dan
sistem objek manajemen database relasional (ORDBMS)
Memperoleh pemahaman konsep dasar database relational
Mengkomunikasikan gagasan database menggunakan model data yang sesuai
B. Indikator pencapaian Kompetensi
Menggambar struktur table relational
Membuat model menggunakan kovensi entitas
Berkomunikasi dengan RDBMS menggunakan pernyataan SQL.
Mengelompokkan pernyataan-pernyataan SQL dalam kelompok DDL, DML, DCL dan
Transaction control.
C. Uraian materi
1. Konsep Basis Data Relational
Dr. E.F. Codd pada tahun 1970 telah memperkenalkan model relasional sistem
database yang merupakan dasar untuk Relational Database Management System (RDBMS).
Sebelum konsep database relasional telah digunakan dua model database yaitu Network dan
Hierarchical Database. RDMBS memiliki kemudahan dalam penggunaannya dan memiliki
fleksibilitas dalam struktur, sehingga sangat cepat populer ditambah dengan beberapa vendor
yang inovatif dalam membantu mengembangkan aplikasi-aplikasi yang powerfulserta
produk-produk yang menawarkan solusi. Dalam database relasional, data disimpan dalam
bentuk relasi atau tabel dua dimensi, dan antartabel satu dengan tabel yang lainnya terdapat
hubungan atau relationship.
Komponen-komponen model ralasional meliputi : Kumpulan objek yang memiliki
keterkaitan atau relasional antar penyimpan data, Set operator yang dapat melakukan relasi
80
untuk membuat relasi yang lainnya, dan Integritas datauntuk akurasidan konsistensi. Untuk
membuat struktur tabel, mengisi data ke tabel, mengubah data dan menghapus data dari tabel
diperlukan software RDBMS, sedangkan perintah yang digunakan disebut Structure Query
Language (SQL) sehingga setiap software RDBMS dapat digunakan untuk menjalankan
perintah SQL
2. Definisi Database Relasional
Sebuah database relasional menggunakan hubungan atau tabel dua dimensi untuk
menyimpan informasi. Sebagai contoh: Kita ingin menyimpan informasi tentang semua
karyawan yang ada pada salah satu perusahaan. Dalam sebuah database relasional, kita
membuat beberapa tabel untuk menyimpan bagian-bagian informasi yang berbeda tentang
karyawan yang bekerja diperusahaan tersebut, misalnya tabel yang menyimpan informasi
tentang karyawan, tabel yang menyimpan informasi tentang departemen, tabel yang
menyimpan informasi tentang gaji.
Gambar 7. 1 Gambaran Relasional Database
3. Model Data
Modelmerupakan landasansebuah desain. Sebelum sebuah mobil diproduksi, terlebih
dahalu para perancang membuatmodelmobil dan bekerja secara rinci dan detail pada model
mobil tersebut.Dalam cara yang sama, perancang sistemmengembangkan modeluntuk
mengeksplorasi ide-ide dan meningkatkan pemahaman desain database. Tujuan sebuah
Model adalah membantu mengkomunikasikan konsep- konsep yang ada dipikiran orang.
81
Model dapat digunakan untuk melakukan hal berikut: menyampaikan/mengkomunikasikan,
mengkategorikan, menggambarkan, menentukan, menyelidiki, mengembangkan,
menganalisis, dan meniru. Model yang baik adalah model yang cocok dalam banyak
kegunaan, dapat dipahami oleh pengguna akhir, dan berisi detail yang cukup untuk
pengembang dalam membangun sistem data base.
Gambar 7. 2 Contoh Skenario Model Data
4. Model Hubungan Entitas (Entity Relationship Model)
Dalamsistem yang efektif, data dibagi menjadi kategori diskrit atau entitas. Sebuah
hubungan entitas (ER) model adalah sebuah ilustrasi dari berbagai entitas dalam bisnis dan
hubungan diantara mereka. Model ER berasal dari spesifikasi bisnis atau narasi dan
dibangun selama tahap analisis siklus hidup pengembangan sistem (System Development
Life Cycle).
Manfaat Model ER
a) Informasi Dokumen bagi organisasi dalam format yang jelas tepat.
b) Memberikan gambaran yang jelas tentang ruang lingkup kebutuhan informasi.
c) Menyediakan peta bergambar yang mudah dipahami untuk desain database.
d) Menawarkan kerangka kerja yang efektif untuk mengintegrasikan beberapa ap-
likasi.
Komponen Kunci
a. Entitas: Suatu hal yang penting tentang informasi yang perlu diketahui. Contohnya
adalah departemen, karyawan, dan pesanan.
b. Atribut: Sesuatu yang menggambarkan atau memenuhi syarat suatu entitas. Sebagai
82
contoh, untukentitas karyawan, atributnya adalah: nomor karyawan, nama, jabatan, tanggal
perekrutan, nomor departemen, dan sebagainya. Setiap atribut yang baik adalah diperlukan
atau opsional. Pernyataan ini disebut optionality.
c. Hubungan: Hubungan atau relationship adalah sebuah asosiasi antara entitasdan de-
rajat.Contohnya adalah karyawan dan departemen, dan pesanan dan item barang.
Gambar 7. 3 Model Hubungan Entitas (Entity Relationship Model)
5. Konvensi Model Hubungan Entitas
Konvensi Model ER Entitas
Untuk mewakili entitas dalam model, menggunakan konvensi sebagai berikut :
Singular, nama entitas yang unik
Nama entitas dalam huruf besar
Kotakdengan garis tipis.
Nama sinonim opsional dengan huruf besar didalam tanda kurung: ().
Atribut
Untuk mewakili atribut dalam model, menggunakan konvensi sebagai berikut :
Nama Singular dalam huruf kecil.
Asterisk(*) tanda untuk atribut wajib (yaitu, nilai-nilai yang harus diketahui).
Karakter"o" tanda untuk atribut opsional (yaitu, nilai-nilai yang mungkin
dikenal).
83
Hubungan Multi Tabel
Setiap tabel berisi data yang menggambarkan secara tepat satu entitas. Sebagai contoh,
tabel EMPLOYEES berisi informasi tentang karyawan. Kategori data yang tercantum di
bagian atas setiap tabel, dankasus- kasus individu tercantum di bawah tabel. Dengan
menggunakan formattabel, dapat dengan mudah memvisualisasikan, memahami, dan
menggunakan informasi. Karena data tentang entitas yang berbeda disimpan dalam tabel
yang berbeda, sehingga perlu untuk menggabungkan dua atau lebih tabel dalam
menyelesaikan permasalahan tertentu. Sebagai contoh, untuk mengetahui lokasi departemen
mana seorang karyawan bekerja. Dalam skenario ini, memerlukan informasi dari tabel
EMPLOYEES (yang berisi data tentang karyawan) dan tabel DEPARTMENTS (yang berisi
informasi tentang departemen). Dengan RDBMS, seseorang dapat menghubungkan data
yang berada dalam satu tabel dengan data yang berada di tabel lain menggunakan
foreign key. Foreign key adalah kolom (atau setkolom) yang mengacu pada Primary key
dalam tabel yang sama atau tabel lain. Data dalam dua tabel yang terpisah dapat diorganisasi
menjadi informasi baru yang dapat dikelola secara terpisah.
Gambar 7. 4 Gambar Hubungan ER Multi Tabel
6. Terminologi Database Relasional
Sebuah database relasional dapat berisi satu atau banyak tabel. Sebuah table
merupakanstruktur penyimpanan dasar dari sebuah RDBMS. Sebuah tabelmemiliki
semuadata yang diperlukan tentang sesuatu di dunia nyata, seperti karyawan, faktur, atau
84
pelanggan.
Tabel
Didalam sistem relasional database data dinyatakan dengan menggunakan tabel
(relations). Sebuah tabel mempunyai struktur seperti dabawah ini,
Baris ( record )
Sebuah tabel harus diberi nama secara unik sebagai identitasnya dan terdiri dari
beberapa baris sebagai penyimpanan informasi, dan masing- masing baris berisi satu record.
Sebuah tabel dapat mempunyai sebuah kolom atau lebih. Sebuah kolom memiliki sebuah
nama dan tipe data yang diberlakukan dan merupakan deskripsi atribut pada record.Struktur
tabel yang disebut juga relation schema, ditentukan oleh atribut- atributnya. Tipe informasi
yang tersimpan di dalam tabel ditentukan oleh tipe data yang terdapat pada atribut-atributnya
pada saat tabel dibuat.
Sebuah tabel dapat mempunyai lebih dari 254 kolom yang mempunyai tipe data yang
sama atau tipe data yang berbeda sesuai dengan penempatan values (domain).
Kemungkinan-kemungkinan domain yang dipergunakan adalah alphanumeric data (strings),
numbers, dan date formats. ORACLE menawarkan tipe-tipe data dasar seperti di bawah ini:
1. Char (n): Fixed-lenght character data (strings), mendefinisikan string sepan-
jang n karakter. Nilai maksimum untuk n adalah 255 byte (....... di ORACLE 9i). Bila n tidak
dituliskan, maka panjang karakteryang berlaku adalah 1.
contoh: char(40).
2. Varchar2 (n) : Variable-lenght character strings, mendefiniskan string yang
panjangnya berubah-ubah sesuai dengan kebutuhan dan dibatasi sebanyak karakter n. Nilai
n maksimum adalah 2000 (....... di ORACLE 9i). Hanya banyaknya byte yang digunakan
saja yang tersimpan pada memori.
contoh: varchar2(80).
3. Number (o,d) : Numeric data type , mendefinisikan angka integerdan riel, o
= jumlah digit, d = jumlah digit yang berada dibelakang koma. Nilai maksimum: o = 38, d
= -84 sampai +127.
kolom 1 kolom 2 ……….. kolom n
……… ………
85
contoh: number (8), number (5,2).
Number (5,2) nilainya tidak dapat lebih dari 999.99 , jika melebihi nilai maksimum
tersebut maka akan menjadi kesalahan. Tipe data yang berasal dari number adalah int[eger],
dec[imal], smallint dan real.
4. Date: Date data type untuk menempatkan atau mendefinisikan tanggal, bulan, ta-
hun, hari, jam, menit dan detik. Format keadaan awal ( default ) untuk date adalah : DD-
MMM-YY.
Contoh : ’10-FEB-94’,’29-NOV-98’.
5. long: mendefinisikan tipe data binary, panjangnya karakter maksimum adalah 2GB.
Setiap tabel hanya diperbolrhkan satu kolom saja yang mempunyai tipe long.
Catatan:
Di dalam ORACLE–SQL tidak ada tipe data boolean, tetapi dengan data yang sama
dapat menggunakan char(1) atau number(1).
Selama tidak terdapat ketentuan/hambatan lain yang membatasi kemungkina values
pada atribut, dapat digunakan special value yaitu null (untuk sesuatu yang tidak diketahui).
Nilai ini tidak sama dengan angka 0, dan juga tidak sama dengan angka kosong.
Gambar 7. 5 Record pada Tabel EMPLOYEES
86
Gambar 7.5 menunjukkan isi tabel atau relasi EMPLOYEES. Huruf-huruf
menunjukkan hal-hal sebagai berikut:
a. Baris tunggal (atau tuple) mewakili semua data yang dibutuhkan untuk kar-
yawan tertentu. Setiap baris dalam sebuah tabel harus diidentifikasi oleh primary key, yang
memungkinkan tidak ada duplikasi baris. Urutan baris tidak signifikan; menentukan urutan
baris saat data diambil.
b. Sebuah kolom ataua tribut yang berisi nomor karyawan. Jumlah karyawan
mengidentifikasi karyawan yang unik dalam tabel EMPLOYEES. Dalam contoh ini, kolom
nomor karyawan yang ditunjuk sebagai primary key. Sebuah primary key harus mengandung
nilai, dan nilai harus unik.
c. Sebuah kolomyang bukan key value. Sebuah kolom merupakan atau merep-
resentasikan salah satu jenis data dalam tabel; dalam contoh ini, data adalah gaji semua kar-
yawan. Urutan kolom tidak signifikan ketika menyimpan data; menentukan urutan kolom
saat data diambil.
d. Sebuah kolom yang berisi nomor departemen, yang juga merupakan foreign
key. Foreign key adalah kolom yang mendefinisikan bagaimana tabel berhubungan satu
sama lain. Foreign key mengacu pada primary key atau kunci unik di tabel yang sama atau
di tabel lain. Dalam contoh, DEPARTMENT_ID secara unik mengidentifikasi sebuah de-
partemen dalam tabel DEPARTMENTS.
e. Sebuah field dapat ditemukan di persimpangan dari baris dan kolom. Hanya
ada satu nilai di dalamnya.
f. Sebuah field mungkin tidak memiliki nilai di dalamnya. Ini disebut nilai null.
Dalam tabel EMPLOYEES,hanya karyawan yang memiliki peran perwakilan penjualan
memiliki nilai di COMMISSION_PCT (komisi).
7. Properti Database Relasional
Dalam sebuah relasional database, pengguna tidak menentukan rute akses ke tabel, dan
tidak perlu tahu bagaimana data diatur secara fisik. Untuk mengakses database, cukup
dengan mengeksekusi perintah- perintah atau pernyataan SQL, yang merupakan American
National Standards Institute (ANSI) bahasa standar untuk operasi relasional database. SQL
berisi satu set operator-operator yang cukup besar untuk membagi dan mempertautkan
hubungan. Database dapat dimodifikasi dengan menggunakan pernyataan SQL.
87
Berkomunikasi dengan RDBMS menggunakan SQL
Structured Query Language
Menggunakan SQL, pengguna dapat berkomunikasi dengan server data base. SQL
memiliki beberapa keuntungan: efisien, mudah untuk dipelajari dan digunakan, dan
memiliki fungsi-fungsi yang sangat lengkap (menentukan, mengambil, dan memanipulasi
data dalam tabel).
Gambar 7. 6 Komunikasi DBMS Menggunakan SQL
Pernyataan-pernyataanSQL
Transaction Control
COMMIT
ROLLBACK
SAVEPOINT
Data Definition Language (DDL)
CREATE
ALTER DROP
RENAME
TRUNCATE
COMMENT
Data Manipulation Language (DML)
SELECT
INSERT
UPDATE
DELETE
MERGE
Data Control Language (DCL) GRANT
REVOKE
88
Pernyataan Deskripsi
SELECT
INSERT
UPDATE
DELETE
MERGE
Mengambil datadari database, mengisi
baris baru, merubah baris yang ada, dan
menghapus baris yang tidak diinginkan dari
tabel dalam database secara berturut-turut,
dikenal sebagai data manipulation
language (DML).
CREATE
ALTER
DROP
RENAME
TRUNCATE
COMMENT
Membuat, merubah, dan menghapus
struktur data daritabel, dikenal sebagai data
definition language (DDL).
GRANT
REVOKE
Memberika natau menghilangkan hak akses
ke data base maupun struktur didalamnya.
COMMIT
ROLLBACK
SAVEPOINT
Mengelola perubahan yang dibuatoleh
pernyataanDML. Perubahan data bisa
dikelompokkan bersama ke dalam
transaksilogis.
D. AKTIVITAS PEMBELAJARAN
Aktivitas pada kegiatan pembelajaran 1, mencakup topik-topik berikut:
a. Pengenalan konsep DBMS dan model hubungan entitasnya
b. Pengenalan metode komunikasi DBMS menggunakan SQL
c. Pengenalan klasifikasi perintah SQL untuk berkomunikasi dengan DBMS
89
E. LATIHAN / TUGAS
1. ER (hubungan entitas) Model merepresentasikan suatu ilustrasi dari berbagai entitas
dalam hal :
a. Hubungandi antara mereka
b. Komponen entitas
c. Hubungan antar DBMS
d. Hubungan matriks keduanya
2. Penggunaan tanda kurung “()” pada ER Model merepresentasikan suatu ilustrasi enti-
tas yang menunjukkan
a. Akronim suatu database
b. Akronis suatu tabel
c. Sinomin suatu database
d. Sinonim suatu tabel
3. Tipe data boolean pada Oracle tidak didukung, sebagai gantinya Oracle menyediakan
model representasi tipe boolean dengan cara
a. Menggunakan tipe data varhcar(n)
b. Menggunakan tipe data number(1)
c. Menggunakan tipe data int(1)
d. Menggunakan tipe data long int(1)
4. Perintah SQL COMMENT termasuk kategori perintah SQL dengan tipe
a. Data Definition Language (DDL)
b. Data Manipulation Language (DML)
c. Transaction Control
d. Data Control Language (DCL)
5. Query berikut yang tidak mampu mengelola perubahan hasil operasi DML adalah
a. COMMIT
b. ROLLBACK
c. SAVEPOINT
d. SELECT
90
F. RANGKUMAN
Pada kegiatan pembelajaran, telah dipelajari tentang konsep dasar database relasional dan
model data yang digunakan untuk menyampaikan atau mengkomunikasikan, mengkategorikan,
menggambarkan, menentukan, memenyelidiki, mengembangkan, menganalisis, dan meniru. Model
yang baik adalah model yangcocok dalam banyak kegunaan,dapat dipahamioleh pengguna akhir,
dan berisidetail yang cukupuntuk pengembang dalam membangun sistem database. Poin penting
yang telah dipelajari pada kegiatan pembelajaran 1 ini adalah pengelompokan pernyataan SQL
kedalam kelompok DML, DDL, DCL, dan Transaction Control. Database didasarkan pada objek
relasional sistem manajemen database. Database relasional terdiri dari relasional,dikelola oleh
operasi relasional, dan diaturoleh integrity constraints. Dengan server Oracle, pengguna dapat me-
nyimpan dan mengelola informasi dengan menggunakan bahasa SQL.
91
PEMBELAJARAN 8:
SQL (STRUCTURE QUERY LANGUAGE)
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini diharapkan:
Memperoleh pemahaman tentang pengertian SQL
Memperoleh pemahaman konsep dasar SQL
Mempraktikan proses intallasi server SQL
B. Indikator pencapaian Kompetensi
Menjelaskan pengertian SQL dengan baik
Menjelaskan komponen server SQL dengan baik
Melakukan installasi server SQL dengan tepat.
C. Uraian materi
1. Pengertian SQL
SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk
mengakses data dalam database relasional. Bahasa ini secara de facto merupakan bahasa
standar yang digunakan dalam manajemen database relasional. Saat ini hampir semua server
database yang ada mendukung bahasa ini untuk melakukan manajemen datanya.Sejarah
SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas
tentang ide pembuatan database relasional pada bulan Juni 1970. Artikel ini juga membahas
kemungkinan pembuatan bahasa standar untuk mengakses data dalam database tersebut.
Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query
Language).Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan database
relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai
penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi database
relasional dikenal dengan System/R.Di akhir tahun 1970-an, muncul perusahaan bernama
Oracle yang membuat server database populer yang bernama sama dengan nama
perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga
saat ini menjadi standar de facto bahasa dalam manajemen database. Kebanyakan DBMS
92
saat inimendukung bahasa SQL demikian juga bahasa-bahasa pemograman generasi ke-4
yang populer di indonesia seperti Visual Basic,Borland Delphi,Visual C++,dan
sebagainya.SQL saat ini telah mapan menjadi bahasa standar untuk database bertipe
relasional,selain itu OQL (Object Query Language) yang merupakan perkembangan lebih
lanjut dari SQL saat ini sering digunakan untuk query-query pada database berorietasi objek
(OODBMS/Object Oriented Database Management System)Pada tahun 1986,ANSI
(American National Standart Institute) dan ISO (International Organization for
Standardization)mempublikasikan SQL standar yang dinamai SQL86.IBM
mempublikasikan SQL versinya sendiri yaitu:SAA-SQL (System Application Architecture
database Interfase-Structured Query Language) pada tahun 1987-an. Kemudian ANSI
mempublikasikan standart perluasanSQL yaitu SQL-89 pada tahun 1989.Standar tersebut
kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun
1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi
kebanyakan implementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada server
database yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki
dialek masing-masing.
2. Komponen Server SQL
Komponen dasar SQL mencakup pernyataan, nama, tipe data, konstanta,
ekspresi, dan fungsi bawaan.
1. Pernyataan
Pernyataan adalah perintah SQL yang meminta sesuatu tindakan kepada DBMS.
SQL memiliki kira-kira 30 pernyataan. Beberapa pernyataan dasar SQL dapat
dilihat pada tabel berikut:
Pernyataan Keterangan
ALTER Mengubah struktur tabel
COMMIT Mengakhiri sebuah eksekusi transaksi
CREATE Menciptakan tabel, indeks atau
pandangan
DELETE Menghapus baris pada tabel
DROP Menghapus tabel, indeks atau
pandangan
93
GRANT Menugaskan hak terhadap database
kepada pengguna atau grup pengguna
INSERT Menambahkan sebuah baris pada tabel
REVOKE Membatalkan hak terhadap database
ROLLBACK Mengembalikan ke keadaan semula
sekiranya suatu
transaksi gagal dilaksanakan
SELECT Memilih baris dan kolom pada tabel
UPDATE Mengubah nilai pada sebuah baris
2. Nama
Nama digunakan sebagai identitas bagi objek-objek pada DBMS. Contoh objek
pada DBMS adalah tabel, kolom dan pengguna.
3. Tipe Data
Setiap data memiliki tipe data. Berikut ini adalah tipe data dalam MySQL : Tipe
data untuk numerik :
Tipe Keterangan Range Nilai
TINYINT Nilai integer yang sangat
kecil
Signed : -128 s.d. 127
Unsigned : 0 s.d. 255
SMALLINT Nilai integer yangbkecil Signed : -32768 s.d. 32767
Unsigned : 0 s.d. 65535
MEDIUMINT Integer dengan nilai
medium
Signed : -8388608 s.d. 8388607
Unsigned : 0 s.d. 16777215
INT Integer dengan nilai
standar
Signed : -2147483648 s.d.
2147483647
Unsigned : 0 s.d. 4294967295
BIGINT Integer dengan nilai besar Signed : -
9223372036854775808 s.d.
9223372036854775807
Unsigned : 0 s.d.
94
18446744073709551615
FLOAT Bilangan decimal dengan
single- precission
minimum ± 1.175494351e-38
maksimum ± 3.402823466e+38
DOUBLE Bilangan desimal dengan
double- precission
minimum ±
2.2205738585072014e-308
maksimum ±
1.7976931348623457e+308
DECIMAL
(M,D)
Bilangan float (desimal)
yang dinyatakan sebagai
string. M adalah jumlah
digit yang disimpan dalam
suatu kolom, N adalah
jumlah digit dibelakang
koma
Tergantung pada nilai M dan D
Keterangan : Signed dan Unsigned adalah atribut untuk tipe data numerik
- Signed : data yang disimpan dalam suatu kolom dapat berupa data negatif dan
positif.
- Unsigned : digunakan agar data yang dimasukkan bukan data negatif (>=0).
Tipe data float tidak dapat dinyatakan dengan unsigned.
Tipe data string :
Tipe Keterangan Ukuran
Maksimum
CHAR(n) String karakter dengan panjang
yang tetap, yaitu n
1 M byte
VARCHAR(n) String karakter dengan panjang
yang tidak tetap, maksimum n.
1 M byte
95
TINYBLOB BLOB (Binary Large Object) yang
sangat kecil
28-1 byte
BLOB BLOB berukuran kecil 216-1 byte
MEDIUMBLOB BLOB berukuran sedang 224-1 byte
LONGBLOB BLOB berukuran besar 232-1 byte
TINYTEXT String teks yang sangat kecil 28-1 byte
TEXT String teks berukuran kecil 216-1 byte
MEDIUMTEXT String teks berukuran
medium(sedang)
224-1 byte
LONGTEXT String teks berukuran besar 232-1 byte
ENUM Enumerasi, kolom dapat diisi
dengan satu member enumerasi
65535 anggota
SET Himpunan, kolom dapat diisi
dengan beberapa nilai anggota
himpunan
64 anggota
himpunan
Tipe data tanggal dan jam :
Tipe Range Format
DATE “1000-01-01” s.d. “9999-12-31” “0000-00-00”
TIME “-832:59:59” s.d.“838:59:59” “00:00:00”
DATETIME “1000-01-01 00:00:00”s.d. “9999-12-
3123:59:59”
“0000-00-00
00:00:00”
4. Konstanta
Konstanta menyatakan nilai yang tetap.
5. Ekspresi
Ekspresi adalah segala sesuatu yang menghasilkan nilai. Ekspresi digunakan
untuk menghitung nilai.
Contoh : harga*jumlah+2
96
Simbol-simbol yang dapat digunakan pada ekspresi aritmatika.
Simbol Keterangan
* Perkalian
/ Pembagian
+ Penjumlahan
- Pengurangan
6. Aggregate Functions (Fungsi Agregat)
Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika dipanggil.
Fungsi agregat adalah fungsi standar di dalam SQL, suatu fungsi yang digunakan
untuk melakukan summary, fungsi statistik standar yang dikenakan pada suatu
tabel atau query.
a. AVG(ekspresi)
Fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu kolom dari
suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya adalah
nama kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengan
tipe data numerik.
b. COUNT(x)
Fungsi ini digunakan untuk menghitung jumlah record (baris) dari suatu
kolom dari suatu tabel. X adalah nama kolom yang ingin dicari jumlah
barisnya.
c. MAX(ekspresi)
Fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom dari
suatu tabel. Kolom yang dicari nilai terbesarnya memiliki tipe data numerik.
d. MIN(ekspresi)
Fungsi ini digunakan untuk mencari nilai terkecil dari suatu kolom dari suatu
tabel. Kolom yang dicari nilai terkecilnya memiliki tipe data numerik.
e. SUM(ekspresi)
Fungsi ini digunakan untuk mendapatkan nilai total dari suatu kolom pada
suatu tabel.
97
3. Installasi Server SQL
DASAR PENGGUNAAN
Sebelum menggunakan MySQL, pastikan MySQL sudah ter install di komputer atau
laptop. Agar latihan anda sama dengan yang ada dibuku. Sebaiknya ikuti aplikasi
yang digunkan di buku.
INSTALASI XAMPP
Aplikasi yang digunakan sebagai bahan belajar adalah XAMPP. Download XAMPP di
lokasi sebagai berikut:
https://www.apachefriends.org/download.html
Install XAMPP di di drive C atau di D lapto atau komputer anda. Jalankan XAMPP
menggunakan XAMPP control. Pastikan service dari MySQL berjalan dengan baik.
Setelah XAMPP berhasil dijalankan maka buka aplikasi Command Prompt di windows
dengan cara ketik [cmd] di pencarian start windows 10.
Pilih command prompt
98
Setelah terbuka jalankan MySQL dengan mengetik
Lokasi C atau D sesuai dengan XAMPP yang ada di komputer anda. XAMPP yang ada
di buku diletakan di C. Jalankan MySQL dengan mengetik
Karena password default atau bawaan XAMPP nya kosong, langsung
ketik enter saja. Jika MySQL berjalan maka akan tampil
Untuk keluar dari MySQL gunakan perintah;
MEMERIKSA MYSQL JALAN ATAU TIDAK
Untuk mengecek MySQL berjalan atau tidak, pastikan keluar dari MySQL dulu
kemudian gunakan perintah dibawah. Tekan enter jika passwordnya kosong;
99
CEK VERSI MYSQL
Kita bisa mengecek versi MySQL yang digunakan menggunakan perintah; Pastikan
sudah keluar dari MySQL sebelum mengecek versinya.
Tampilan hasil pengecekan versi MySQL
MENAMPILKAN HELP MYSQL
Sangat sulit mengingat semua perintah MySQL, karena itu dibutuhkan bantuan
agar kita bisa mengetahui perintah MySQL yang akan digunakan.
Untuk melihat bantuan MySQL, anda harus masuk dulu ke MySQL dengan perintah;
Tanda jika anda sudah ada dalam MySQL adalah;
Untuk menampilkan HELP bisa menggunakan perintah
atau
MENAMPILKAN TANGGAL
Gunakan perintah berikut untuk menampilkan tanggal. Pastikan akhir perintah di
beri tanda TITIK KOMA (;) kemudian tekan enter.
100
MENAMPILKAN WAKTU ATAU JAM
MENGGUNAKAN KALKULATOR
Untuk menggunakan kalkulator di MySQL gunakan perintah sebagai berikut;
Penjumlahan
Perkalian
Pengurangan
Pembagian
Modulo (Sisa hasil pembagian)
101
Hasil pembagian integer (utuh)
D. AKTIVITAS PEMBELAJARAN : PRAKTIKUM INSTALLASI
Prosedur atau langkah-langkah installasi dilakukan sesuai instruktur guru. Setiap siswa
wajib melakukan praktik dengan laptop yang tersedia baik laptop sendiri atau komputer lab.
Setelah melakukan installasi mencoba mempraktikkan penggunaan MySQL dengan
menggunakan Command Line (CMD). Setelah selesai melakukan aktivitas praktikum siswa
mendemontrasikan dan melaporkan hasilnya melalui laporan praktikum kepada guru pengampu.
E. LATIHAN / TUGAS
1. Jelaskan pengertian SQL?
2. Sebutkan 10 dan fungsinya perintah pernyataan SQL pada basis data !
3. Sebutkan 5 type data beserta penerapanya pada basis data MySQL!
4. Jelaskan bagaimana menampilkan waktu pada server SQL?
F. RANGKUMAN
SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses
data dalam database relasional. Pernyataan adalah perintah SQL yang meminta sesuatu
tindakan kepada DBMS. Pernyataan tersebut dikelompokkan sebagai DDL (Data
Definition Language), DML (Data Manipulation Language) dan DCL (Data Control
Language). Pada DBMS MySQL terdapat Type data numeric, string dan date time.
Perintah-Perintah SQL dapat diterapkan menggunakan Query pada CMD seperti
perintah : USE, CREATE, QUIT.
102
PEMBELAJARAN 9:
DDL (DATA DEFINITION LANGUAGE)
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini diharapkan peserta didik dapat :
Menulis query dengan mengimplementasikan syntax data dari DDL pada SQL
B. Indikator pencapaian Kompetensi
Menjelaskan syntax DDL dalam membuat table baru (create table) dengan baik
Menjelaskan syntax DDL dalam mengubah table (alter table) dengan baik
Menjelaskan syntax DDL dalam menghapus table (drop table) dengan baik.
C. Uraian materi
Data Difinitions Language (DDL) mambahas tentang hal-hal yang berhubungan dengan
struktur tabel (pembuatan database, table, index) yang meliputi,
1. Cara membuat tabel baru (create table) ,
2. Mengubah struktur tabel (alter table) dan
3. Menghapus tabel (drop table).
Langkah – Langkah sebagai berikut :
a. Membuat Database
Syntax : CREATE DATABASE namadatabase;
namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama
yang sama antar database. Berikut ini perintah untuk membuat database dengan
nama rental :
Syntax tambahan : untuk menampilkan daftar nama database yang ada
pada mysql menggunakan perintah :
103
SHOW DATABASES; seperti
b. Menghapus Database
Syntax : DROP DATABASE namadatabase;
Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah
untuk menghapus database dengan nama rental :
c. Membuat Tabel
Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu
database sebagai database aktif yang akan digunakan untuk menyimpan
tabel-tabel dengan menggunakan syntax : USE namadatabase;
Berikut ini perintah untuk menggunakan database dengan nama rental :
Syntax membuat table :
CREATE TABLE namatabel2 (
Field1 TipeData1,
Field2 TipeData2
);
namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan
nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel
dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya
diberikan tanda koma (,). Berikut ini perintah untuk membuat tabel dengan nama
jenisfilm :
Syntax tambahan :
Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
104
aktif/digunakan (dalam hal ini database rental) :
SHOW TABLES
Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya
adalah :
DESC namatabel;
d. Menghapus Tabel
Syntax : DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk
menghapus tabel dengan nama jenisfilm :
e. Mendefinisikan null/not null
Syntax :
CREATE TABLE namatabel (
Field1 TipeData1 NOT NULL, Field2
TipeData2
); f. Mendefinisikan Nilai Default
Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu
kolom ketika ada penambahan baris baru, sementara nilai pada kolom
tersebut tidak diisi oleh pengguna. Syntax :
CREATE TABLE namatabel (
Field1 TipeData1, Field2 TipeData2 DEFAULT nilai
);
105
g. Mendefinisikan Primary Key Pada Tabel
Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah
Syntax mendefinisikan primary key untuk Field1
CREATE TABLE namatabel (
Field1 TipeData1 NOT NULL PRIMARY KEY, Field2
TipeData2
);
Atau
CREATE TABLE namatabel (
Field1 TipeData1, Field2
TipeData2, PRIMARY
KEY(Field1)
);
atau
ALTER TABLE namatabel ADD CONSTRAINT namaconstraint
PRIMARY KEY (namakolom);
D. AKTIVITAS PEMBELAJARAN
Aktivitas pada kegiatan pembelajaran, mencakup topik-topik berikut:
1. Membuat query untuk membuat tabel
2. Membuat query untuk mengubah struktur tabel
3. Membuat query untuk menghapus tabel
E. LATIHAN / TUGAS
1) Query yang digunakan untuk menghapus tabel EMP2 adalah
a. Delete table EMP2
b. Drop table EMP2
c. Backspace table EMP2
d. Clear table EMP2
2) Query yang digunakan untuk menambahkan kolomnama dengan tipe varchar2 dengan pan-
jang karakter 20 pada tabel tabel EMP2 adalah
106
a. ALTER TABLE EMP2 ADD nama varchar2(20);
b. ALTER TABLE EMP2 ADD nama varchar2(2);
c. ALTER TABLE nama ADD EMP2 varchar2(20);
d. ALTER TABLE EMP2(20) ADD nama varchar2;
3) Query yang digunakan untuk membuat tabel EMP2 dengan 2 kolom adalah
a. create table EMP2 (PNO number(3) constraint prj_pk
primary key, PNAME varchar2(60) unique);
b. create table EMP2 unique (PNO number(3) constraint prj_pk
primary key, PNAME varchar2(60));
c. create table EMP2 (PNO number(3) constraint unique prj_pk
primary key, PNAME varchar2(60));
d. create table EMP2 unique (PNO number(3)
unique constraint prj_pk primary key, PNAME varchar2(60));
4) hal yang terjadi jika dalam query drop tabel, user lupa menambahkan nama tabel yang
dihapus adalah
a. Data dalam tabel terhapus semua
b. Query error
c. Tidak terdapat data yang terhapus
d. Semua tabel terhapus
F. RANGKUMAN
DDL membahas tentang pembuatan database, menghapus database, membuat table, mengubah
table dan menghapus table serta penggunaan key pada database. Maka Data Difinitions Lan-
guage (DDL) mambahas tentang hal-hal yang berhubungan dengan struktur tabel (pembuatan
database, table, index) yang meliputi,
1. Cara membuat tabel baru (create table) ,
2. Mengubah struktur tabel (alter table) dan
3. Menghapus tabel (drop table).
107
PEMBELAJARAN 10:
DML (DATA MANIPULATION LANGUAGE)
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini diharapkan peserta didik dapat :
Menulis query dengan mengimplementasikan syntax data dari DML pada SQL
B. Indikator pencapaian Kompetensi
Menjelaskan syntax DML dalam menampilkan data (select) dengan baik
Menjelaskan syntax DML dalam menambahkan data (insert) dengan baik
Menjelaskan syntax DML dalam mengubah data (update) dengan baik
Menjelaskan syntax DML dalam menghapus data (delete) dengan baik.
C. Uraian materi
1. Definisi DML
DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalah tabel dalam
basis data, misalhnya utnuk pengambilan, penyisipan, pengubahan dan penghapusan data.
Perintah yang umum dilakukan adalah : INSERT (menambahkan data baru), DELETE
(menghapus data yang sudah ada), UPDATE (mengubah data yang sudah ada), dan SELECT
(menampilkan data yang sudah ada).
2. Perintah DML pada SQL
1. INSERT
Memasukan data atau entry data, dalam semua program yang menggunakan query SQL
sebagai standar pemintaannya, digunakan perintah INSERT. Syarat untuk memasukan data
adalah telah terciptanya tabel pada sebuah database. Sintaks yang digunakan ialah :
INSERT INTO nama_tabel VALUES (‘isi field1’,’isi field2,...,’isi fieldN’);
108
Contoh :
Perintah sintaks INSERT diatas diperlukan untuk pengisian data seluruh field dan urutan isi
field dimasukan berdasarkan urutan nama field. Misal, niali data pad aurutan pertama ‘C0001’
akan diisikan pada field urutan pertama yaitu ‘ID_Cust’, sedangkan nilai data ‘Asep’ pada
urutan kedua akan diisikan pada field kedua yaitu ‘Nama_Cust’ dst.
Sedangkan untuk mengisi data lebih dari satu pada sebuah tabel, digunakan sintaks :
INSERT INTO nama_tabel VALUES (‘isi field1’,’isi field2,...,’isi fieldN’), (‘isi field1’,’isi
field2,...,’isi fieldN’), (‘isi field1’,’isi field2,...,’isi fieldN’), (‘isi field1’,’isi field2,...,’isi
fieldN’);
Contoh :
2. Memperbarui Isi Data
Memperbarui isi data atau update adalah sebuahproses mermajakan data lama menjadi data
yang lebih baru. Namun tidak semua data dalam database yang perlu diremajakan, melainkan
sebagian data yang dianggapperlu untuk diremajakan. Query SQL yang digunakan adalah
UPDATE seperti berikut :
UPDATE nama_tabel SET
field1 = niali_baru1
field2 = nilai_baru2
...
fieldN = nilai_baruN
WHERE kondisi;
Contoh :
109
Pada notasi diatas, klausa WHERE persifat opsional. Bila klausa WHERE ini disertakan,
hanya baris-baris tertentu sajayang memenuhi kondisi yang dapat diubah. Jika klausa where
ini tidak disertakan, sebua baris akan diubah. Adapun SET digunakan untuk menentukan
field-field yang akan diubah. Pada contoh diatas, hanya data yang memiliki nama ‘Asep’ saja
yang diubah pada field Nama_Cust dengan data ‘Asep Rahmanudin’.
3. Menghapus Data (DELETE)
Untuk menghaps data, MySQLmemliki Query bernama DELEETE. Penggunaannya diikuti
dengan nama data yang akan dihapus. Sintaks untuk menghapus semua data yang terdapat
pada tabel :
DELETE FROM nama_tabel;
Sedangkan berikut sintaks untuk menghapus data yang diinginkan dari sebuah tabel;
DELETE FROM nama_tabel WHERE kondisi;
Contoh :
4. Memahami Makna Primary Key
Primary key pada tabel berperan sebagai identitas yang bersifat unik. Field yang menjadi
primary key tidak boel bernilai kembar. Hal ni dibuktikan dengan memsukan ID_Cust
bernialai C0001 yang sebenarnya suad ada pada tabel.
110
Kesalahan tersebut mengkondisikan bahwa ID_Cust yang bernilai C0001 sudah ada di dalam
tabel customer, sehingga MySQL menolak INSERT data. Penolakan ini berlaku juga terhadap
Composit Key dan Foreign Key, jika data yang dimasukan sudah ada pada database.
5. Memahami Query data pada perintah Update dan Delet dengan menggabungkan dua atau
lebih tabel
Pada dasarnya, untuk mengubah atau menghapus data kadang kala tergantung dari kondisi
tabel lain. Oleh karena itu diperlukan penggabungan antara dua tabel atau lebih. Operasi
penggabungan dilakukan padaklausa where sebagai kondisi selsai data. Penggabungan tabel
dilakukan dengan perintah :
a. Join : adalah penggabungan data pada tabel-tabel yang meiliki nilai yang sama
untuk field-field yang disebutkan.
b. Natural Join : adalah penggabungan data pada tabel yang memiliki nilai yang
mencerminkan hubungan antara primary key dan foregn key.
c. Left Join : adalah penggabungan data pada tabel yang akan mengambil sema data
pada tabel kiri meskipun tidak memiliki pasangannya pada tabel kanan.
d. Right Join : adalah penggabungan data pada tabel yanag akan mengambil semua
data pada tabel kanan meskipun tidak memiliki pasangan pada tabel kanan.
6. Memahami Query data pada perintah Insert dan Update dengan nilainya didapat dari
subQuery
Subquery adalah bentukquery yang terletak di dalam query. Umumnya subquery digunakan
pada perintah SELECT, namun dapat digunakan pada peritnah INSERT dan UPDATE pada
saat pengisisan nilai yang datanya didapat dari tabel lain.
111
D. AKTIVITAS PEMBELAJARAN
Tabel Cutomer
Tabel Apoteker
Untuk mengisikan data pada tabel Apoteker, terlebih dahulu kita harus membuat tabel Apoteker yang
terdiri dari ID_Apoteker sebagai Primary Key, Nama_Apoteker, Alamat, dan Tlp_Apoteker. Membuat
tabel Apoteker dengan menggunakan perintah CREATE TABLE.
Setelah tabel dibuat, maka data bisa diisikan dengan menggunaka peirntah INSERT INTO. Lalu isikan isi
data dengan berurutan sesuai dengan field yang ada.
112
Gambar 1.1 Data tabel Apoteker
Tabel Jenis Obat
Untuk mengisikan data pada tabel Jenis_Obat, terlebih dahulu kita harus membuat tabel Jenis_Obat
yang terdiri dari Kode_Jenis sebagai Primary Key dan Nama _Jenis. Membuat tabel Jenis Obat dengan
menggunakan perintah CREATE TABLE.
Setelah tabel dibuat, maka data bisa diisikan dengan menggunaka peirntah INSERT INTO. Lalu isikan isi
data dengan berurutan sesuai dengan field yang ada.
113
Tabel Obat
Untuk mengisikan data pada tabel Obat, terlebih dahulu kita harus membuat tabel Obat yang terdiri
dari Kode_Obat sebagai Primary Key, Kode_Jenis sebagai Foreign Key, Nama_Obat, Harga _Obat,
Bentuk _Obat, Kegunaan_Obat, Aturan_Pakai, Exp_Date. Membuat tabel Obat dengan menggunakan
perintah CREATE TABLE.
Setelah tabel dibuat, maka data bisa diisikan dengan menggunaka peirntah INSERT INTO. Lalu isikan isi
data dengan berurutan sesuai dengan field yang ada.
114
Tabel Resep
Untuk mengisikan data pada tabel Resep, terlebih dahulu kita harus membuat tabel Resep yang terdiri
dari Kode_Resep sebagai Primary Key, ID_Cust sebagai Foreign Key, Kode_Obat, Tgl_Resep, dan Dosis
Obat. Membuat tabel Resep dengan menggunakan perintah CREATE TABLE.
Setelah Tabel Resep dibuat, maka tabel dapat diisikan dengan dengan data yang sudah ditentukan.
115
Tabel Pembayaran
Untuk mengisikan data pada tabel Pembayaran, terlebih dahulu kita harus membuat tabel
Pembayaran yang terdiri dari ID_Nota sebagai primary keydan mode Auto Increment, ID_Apoteker
sebagai Foereign Key, Kode_Resep, Tgl_Nota, dan Harga_Total. Membuat tabel Pembayan dengan
menggunakan perintah CREATE TABLE.
Setelah tabel dibuat, maka data bisa diisikan dengan menggunaka peirntah INSERT INTO. Lalu isikan isi
data dengan berurutan sesuai dengan field yang ada.
E. LATIHAN / TUGAS
Buatlah data pada table seperti aktivitas pembelajaran kemudian lakukan modifikasi seperti :
1. Mengubah data alamat pada data udin menjadi cimahi
2. Mengubah data harga obat B0003 menjadi 5000
3. Menghapus data apoteker yang beralamat di Jl. Kolonel Matsuri
116
F. RANGKUMAN
DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalah tabel dalam basis
data, misalhnya utnuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah
yang umum dilakukan adalah : INSERT (menambahkan data baru), DELETE (menghapus data
yang sudah ada), UPDATE (mengubah data yang sudah ada), dan SELECT (menampilkan data
yang sudah ada). Untuk memodifikasi SQL gunakan perintah WHERE.
117
PEMBELAJARAN 11:
DCL (DATA CONTROL LANGUAGE)
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar ini diharapkan peserta didik dapat :
Menulis query dengan mengimplementasikan syntax data dari DCL pada SQL
B. Indikator pencapaian Kompetensi
Menjelaskan syntax DCL dalam memberikan hak akses user (grant) dengan baik
Menjelaskan syntax DCL dalam mencabut hak akses user (revoke) dengan baik
C. Uraian materi
Grant dan Revoke
Untuk memberikan hak/izin akses oleh administrator (pemilik utama) server kepada user.
Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus
(DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem
databasenya.Perintah GRANT digunakan untuk memberikan hak akses menampilkan,
menambah, memodifikasi dan menghapus data pada pada suatu table.Secara umum, syntax
Grant adalah sebagai berikut:
GRANT [akses / privileges]
ON
[table] FROM
[user];
Contoh:
Perintah berikut digunakan untuk memberikan hak akses pada tabel departmens user
anakwadung.
GRANT select, insert, update, delete ON
departmens TO anakwadung;
118
REVOKE, merupakan perintah yang digunakan untuk mencabut suatu hak aksesseorang user
pada tabel dalamdatabase tertentu. Secara umum, syntax Grant adalah sebagai berikut:
REVOKE [akses / privileges]
ON [table]
FROM
[User];
Contoh:
Perintah berikut digunakan untuk mencabut hak akses pada tabel departmens
user anakwadung.
REVOKE select, insert, update, delete ON
departmens TO anakwadung;
D. AKTIVITAS PEMBELAJARAN
Aktivitas pada kegiatan pembelajaran ini melakukan implementasi :
1. Memberi hak akses pada user (grant)
2. Mencabut hak akses pada user (revoke)
3. Buat laporan hasil dan analisisnya!
E. LATIHAN / TUGAS
1. Perintah berikut digunakan untuk memberikan hak akses CREATE, READ, UPDATE
dan DELETE pada tabel dep user anakwadung adalah
a. GRANT select,
anakwadung;
insert, update, drop ON dep TO
b. GRANT select,
anakwadung;
create, update, delete ON dep TO
c. GRANT select,
anakwadung;
insert, update, delete ON dep TO
d.
GRANT read, insert, update, delete ON dep
TO anakwadung;
119
2. Perintah berikut digunakan untuk melepas hak akses CREATE, READ,
UPDATE dan DELETE pada tabel dep user anakwadung adalah
a. REVOKE select,
anakwadung;
insert, update, drop ON dep TO
b. REVOKE select,
anakwadung;
create, update, delete ON dep TO
c. REVOKE select,
anakwadung;
insert, update, delete ON dep TO
d. REVOKE read, insert, update, delete ON dep TO
anakwadung;
F. RANGKUMAN
Kegiatan memodifikasi database yang memanfaatkan stetemen insert, update, dan delete ada-
lah suatu kegiatan yang biasanya disebut tansaksi (transaction). Kegiatan transaksi ini disimpan
secara sementara di dalam database system. Ada beberapa kegiatan yang tergolong dalam Data
Control Language (DCL) ini diantaranya adalah : Memberi hak akses ( grant ) dan Mencabut
hak akses (revoke).
120
DAFTAR PUSTAKA
Ramakrishnan, Ragu dan Gehrke Johannes, (2004), “Sistem
manajemen Basis data” Edisi 3, terjemahan, Mc Graw Hill
Education, diterbitkan ulang ulang Penerbit Andi,
Kusrini, (2007) “Strategi perancangan dan pengelolaan basis data”,
penerbit Andi, Yogyakarta
Ramon A, Mata Toledo dan Pauline K, Cushman, (2007), “ Schaum
Outlines Dasar Dasar Data Base Relasional ”, terjemahan MC
Graw Hill Education, Diterbitkan ulang oleh Penerbit Erlangga,
Jakarta.
Rofiq, Ainur. 2008. “Rekaya Perangkat Lunak Jilid 2 Untuk Sekolah
Menengah Kejuruan”. Direktorat Pembinaan SMK.
Riana. 2016. “Modul Guru Pembelajar RPL Kelompok Kompetensi A”.
Direktoral Jenderal Guru dan Tenaga Kependidikan kementerian
Pendidikan dan Kebudayaan.
Hasri, Muh. 2016. “Modul Guru Pembelajar RPL Kelompok Kompetensi
B”. Direktoral Jenderal Guru dan Tenaga Kependidikan
kementerian Pendidikan dan Kebudayaan.
Khamami H, dan Agus H. 2011. “Modul Struktured Query Language”.
Diklat Umum Kementerian Keuangan Republik Indonesia.
Pusdiklat Keuangan Umum.
Annisa, Nurul. 2018. “Modul Praktikum Data Manipulation Language”.
Program Studi Informatika, Universitas Jenderal Achmad Yani.
Hamdan, Isa. 2018. “Belajar MySQL dari NOL”. Komputer Kit.
121
GLOSARIUM
Abstraksi data adalah merupakan tingkatan atau level bagaimana
melihat data dalam sistem basis data, sejumlah konsep yang
digunakan untuk membuat deskripsi struktur basis data,
diwujudkan dalam pemodelan data, melalui deskripsi
tersebutdapat ditentukan jenis data dan hubungannya deangan
data lain
Attribute adalah merupakan karakteristik dari entitas atau relationship,
yang menyediakan penjelasan detail entitas atau relationship
tersebut. Dalam penerapannya (level fisik) atribut merupakan
field atau kolom dari sebuah tabel.
Basis Data: adalah kumpulan data yang saling berhubungan yang
disimpan secara bersama sedemikian rupa dan tanpa
pengulangan (redundancy) yang tidak perlu, untuk memenuhi
berbagai kebutuhan
Entitas adalah obyek yang mewakili sesuatu dalam dunia nyata dan
dapat dibedakan antara satu dengan lainnya (unique). Entitas
dapat berupa: Data Fisik (seperti mobil, rumah, manusia,
pegawai), abstrak atau konsep (seperti department, pekerjaan,
mata pelajaran) dan Kejadian (pembelian, penjualan,
peminjaman)
Key attribute adalah suatu atribut yang menandakan kunci dari suatu
entitas dan bersifat atau mempunyai nilai unik sehingga dapat
digunakan untuk membedakan data pada suatu baris atau
record dengan baris lain pada suatu entitas
Multi Value attribute adalah atribut yang dapat memiliki lebih dari satu
nilai yang jenisnya sama dari sebuah data tunggal.
122
Derived Attribute atau Atribut Turunan adalah atribut yang nilai-nilainya
diperoleh dari pengolahan atau dapat diturunkan dari atribut atau
tabel lain yang berhubungan.
Key Attribute adalah merupakan suatu atribut yang menandakan kunci
dari suatu entitas yang bersifat unik. Key attribute dapat terdiri
dari satu atau beberapa atribut yang mempunyai nilai unik
sehingga dapat digunakan untuk membedakan data pada suatu
baris/record dengan baris lain pada suatu entitas.
Super key adalah satu atau gabungan beberapa atribut yang dapat
membedakan setiap baris data dalam sebuah tabel secara unik.
Candidat Key adalah merupakan superkey yang jumlah atributnya
paling sedikit.
Primary key adalah suatu candidat key yang dipilih menjadi kunci
utama karena sering dijadikan acuan untuk mencari informasi,
ringkas, menjadi keunikan suatu baris.
Relasi menyatakan hubungan antara dua atau beberapa entitas. Setiap
relasi mempunyai batasan (constraint) terhadap kemungkinan
kombinasi entitas yang berpartisipasi.
Batasan partisipasi atau batasan hubungan entitas menjelaskan
bagaimana data itu berelasi, batasan ini menentukan
bagaimana (harus ataukah tidak) berpartisipasi suatu entitas
dengan relasinya pada entitas lain