338626996 MODUL RPL KK B Profesional RevisiNaraSumber Manajemen Basis Data
MODUL
GURU PEMBELAJAR
Mata Pelajaran
Reakayasa Perangkat Lunak
Sekolah Menengah Kejuruan (SMK)
Kelompok Kompetensi B
Penulis : Joko Pitono
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementrian Pendidikan dan Kebudayaan
Tahun 2016
HALAMAN FRANCIS
Penulis
1. Joko Pitono
Email : [email protected]
Penelaah:
1.
Siarra Maulida Asrin, S.T [081562783394],
Email: [email protected]
2.
Abdul Haliq, S.Pd., M.Pd., [085341259862]
Email : [email protected]
Ilustrator :
1. Imran, S.Kom., M.Pd., 085242642377. [email protected]
2. Nama penelaah, gelar, no telepon, email
Copyright ©2016
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga
Kependidikan Bidang Kelautan Perikanan Teknologi Informasi dan
Komunikasi.
Hak Cipta Dilindungi Undang-Undang
Dilarang mengkopi sebagian atau keseluruhan isi buku ini untuk
kepentingan komersial tanpa izin tertulis dari Kementerian Pendidikan
dan Kebudayaan.
i
KATA SAMBUTAN
Peran guru profesional dalam proses pembelajaran sangat penting
sebagai kunci keberhasilan belajar siswa. Guru profesional adalah guru yang
kopeten
membangun
proses
pembelajaran
yang
baik
sehingga
dapat
menghasilkan pendidikan yang berkualitas. Hal ini tersebut menjadikan guru
sebagai komponen yang menjadi fokus perhatian pemerintah pusat maupun
pemerintah daerah dalam peningkatan mutu pendidikan terutama menyangkut
kopetensi guru.
Pengembangan profesionalitas guru melalui program Guru Pembelajar
(GP) merupakan upaya peningkatan kompetensi untuk semua guru. Sejalan
dengan hal tersebut, pemetaan kopetensi guru telah dilakukan melalui uji
kompetensi guru (UKG) untuk kompetensi pedagogik dan profesional pada akhir
tahun 2015. Hasil UKG menunjukan peta kekuatan dan kelemahan kompetensi
guru
dalam
dikelompokan
penguasaan
menjadi
pengetahuan.
10
(sepuluh)
Peta
kompetensi
guru
kelopok
kompetensi.
Tindak
tersebut
lanjut
pelaksanaan UKG diwujudkan dalam bentuk pelatihan guru paska UKG melalui
program Guru Pembelajar. Tujuannya untuk meningkatkan kompetensi guru
sebagai agen perubahaan dan sumber belajar utama bagi peserta didik. Program
Guru Pembelajar dilaksanakan melalui pola tatap muka, daring (online) dan
campuran (blended) tatap muka dengan online.
Pusat
Kependidikan
Pengembangan
(PPPPTK),
dan
Lembaga
Pemberdayaan
Pengembangan
Pendidik
dan
dan
Tenag
Pemberdayaan
Pendidik dan Tenaga Kependidikan Kelautan Perikanan Teknologi Informasi dan
Komunikasi (LP3TK KPTK) dan Lembaga Pengembangan dan Pemberdayaan
Kepala Sekolah (LP2KS) merupakan Unit Pelaksana Teknis di lingkungan
Direktorat Jendral Guru dan Tenaga Kependidikan yang bertanggung jawab
dalam mengembangkan perangkat dan melaksanakan peningkaan kompetensi
guru
sesuai
dengan
bidangnya.
Adapun
peragkat
pembelajaran
yang
dikembangkan tersebut adalah modul untuk program Guru Pembelajar (GP)
tatap muka dan GP online untuk semua mata pelajaran dan kelompok
kompetensi. Dengan modul ini diharapkan program GP memberikan sumbangan
ii
yang sangat besar dalam peningkatan kualitas kompetensi guru. Mari kita
sukseskan program GP ini untuk mewujudkan Guru Mulia Karena Karya.
Jakarta, Februari 2016
Direktur Jendral
Guru dan Tenaga Kependidikan
Sumarna Surapranata, Ph.D
NIP. 195908011985031002
iii
KATA PENGANTAR
Profesi guru dan tenaga kependidikan harus dihargai dan dikembangkan sebagai
profesi yang bermartabat sebagaimana diamanatkan Undang-Undang Nomor 14
Tahun 2005 tentang Guru dan Dosen. Hal ini dikarenakan guru dan tenaga
kependidikan merupakan tenaga profesional yang mempunyai fungsi, peran, dan
kedudukan yang sangat penting dalam mencapai visi pendidikan 2025 yaitu
“Menciptakan Insan Indonesia Cerdas dan Kompetitif”. Untuk itu guru dan tenaga
kependidikan yang profesional wajib melakukan pengembangan keprofesian
berkelanjutan.
Buku
Pedoman
Berkelanjutan
Penyusunan
Bagi
Guru
dan
Modul
Diklat
Tenaga
Pengembangan
Kependidikan
untuk
Keprofesian
institusi
penyelenggara program pengembangan keprofesian berkelanjutan merupakan
petunjuk bagi penyelenggara pelatihan di dalam melaksakan pengembangan
modul yang merupakan salah satu sumber belajar bagi guru dan tenaga
kependidikan.
Buku
ini
disajikan
untuk
memberikan
penyusunan modul sebagai salah satu bentuk bahan
informasi
tentang
dalam kegiatan
pengembangan keprofesian berkelanjutan bagi guru dan tenaga kependidikan.
Pada kesempatan ini disampaikan ucapan terima kasih dan penghargaan
kepada berbagai pihak yang telah memberikan kontribusi secara maksimal
dalam mewujudkan buku ini, mudah-mudahan buku ini dapat menjadi acuan dan
sumber inspirasi bagi guru dan semua pihak yang terlibat dalam pelaksanaan
penyusunan modul untuk pengembangan keprofesian berkelanjutan. Kritik dan
saran yang membangun sangat diharapkan untuk menyempurnakan buku ini di
masa mendatang.
Makassar, Desember 2015
Kepala LPPPTK KPTK Gowa
Sulawesi Selatan,
Dr. H. Rusdi, M.Pd,
NIP 19650430 199103 1 004
iv
v
DAFTAR ISI
KATA SAMBUTAN .............................................................................................
ii
KATA PENGANTAR ...........................................................................................
iv
DAFTAR ISI........................................................................................................
vi
DAFTAR TABEL ................................................................................................
xii
PENDAHULUAN.................................................................................................
1
A. Latar Belakang ...........................................................................................
1
B. Tujuan ........................................................................................................
2
C. Peta Kompetensi ........................................................................................
2
D. Ruang Lingkup ...........................................................................................
3
E. Saran Cara Penggunaan Modul.................................................................
3
Kegiatan Pembelajaran 1:....................................................................................
7
A. Tujuan ........................................................................................................
7
B. Indikator Pencapaian Kompetensi ..............................................................
7
C. Uraian Materi ..............................................................................................
7
D. Aktivitas Pembelajaran .............................................................................
17
E. Latihan / Kasus / Tugas ............................................................................
17
F. Rangkuman ..............................................................................................
18
G. Umpan Balik dan Tindak Lanjut ................................................................
19
H. Kunci Jawaban .........................................................................................
19
Kegiatan Pembelajaran 2 :.................................................................................
23
A. Tujuan ......................................................................................................
23
B. Indikator Pencapaian Kompetensi ............................................................
23
C. Uraian Materi ............................................................................................
23
D. Aktivitas Pembelajaran .............................................................................
37
E. Latihan / Kasus / Tugas ............................................................................
37
F. Rangkuman ..............................................................................................
39
G. Umpan Balik dan Tindak Lanjut ................................................................
39
H. Kunci Jawaban .........................................................................................
39
vi
Kegiatan Pembelajaran 3 : ................................................................................
43
A. Tujuan ......................................................................................................
43
B. Indikator Pencapaian Kompetensi ............................................................
43
C. Uraian Materi............................................................................................
43
D. Aktivitas Pembelajaran .............................................................................
66
E. Latihan / Kasus / Tugas............................................................................
66
F. Rangkuman ..............................................................................................
67
G. Umpan Balik dan Tindak Lanjut................................................................
68
H. Kunci Jawaban .........................................................................................
68
Kegiatan Pembelajaran 4 : ................................................................................
72
A. Tujuan ......................................................................................................
72
B. Indikator Pencapaian Kompetensi ............................................................
72
C. Uraian Materi............................................................................................
72
D. Aktivitas Pembelajaran .............................................................................
84
E. Latihan / Kasus / Tugas............................................................................
85
F. Rangkuman ..............................................................................................
86
G. Umpan Balik dan Tindak Lanjut................................................................
86
H. Kunci Jawaban .........................................................................................
87
Kegiatan Pembelajaran 5: .................................................................................
91
A. Tujuan ......................................................................................................
91
B. Indikator Pencapaian Kompetensi ............................................................
91
C. Uraian Materi............................................................................................
91
D. Aktivitas Pembelajaran .............................................................................
98
E. Lathan / Kasus / Tugas.............................................................................
98
F. Rangkuman ..............................................................................................
99
G. Umpan Balik dan Tindak Lanjut..............................................................
100
H. Kunci Jawaban .......................................................................................
100
Kegiatan Pembelajaran 6: ...............................................................................
104
A. Tujuan ....................................................................................................
104
B. Indikator Pencapaian Kompetensi ..........................................................
104
C. Uraian Materi..........................................................................................
104
D. Aktivitas Pembelajaran ...........................................................................
109
E. Latihan / Kasus / Tugas..........................................................................
109
F. Rangkuman ............................................................................................
110
vii
G. Umpan Balik dan Tindak Lanjut ..............................................................
111
H. Kunci Jawaban .......................................................................................
111
Kegiatan Pembelajaran 7:................................................................................
115
A. Tujuan ....................................................................................................
115
B. Indikator Pencapaian Kompetensi ..........................................................
115
C. Uraian Materi ..........................................................................................
115
D. Aktivitas Pembelajaran ...........................................................................
117
E. Latihan / Kasus / Tugas ..........................................................................
117
F. Rangkuman ............................................................................................
118
G. Umpan Balik dan Tindak Lanjut ..............................................................
119
H. Kunci Jawaban .......................................................................................
119
EVALUASI .......................................................................................................
121
KUNCI JAWABAN ...........................................................................................
127
PENUTUP .......................................................................................................
129
DAFTAR PUSTAKA.........................................................................................
130
GLOSARIUM ...................................................................................................
132
viii
DAFTAR GAMBAR
Gambar 1. 1 Gambaran Relasional Database .....................................................
8
Gambar 1. 2 Contoh Skenario Model Data ..........................................................
9
Gambar 1. 3 Model Hubungan Entitas (Entity Relationship Model)....................
10
Gambar 1. 4 Gambar Hubungan ER Multi Tabel ...............................................
12
Gambar 1. 5 Record pada Tabel EMPLOYEES.................................................
14
Gambar 1. 6 Komunikasi DBMS Menggunakan SQL.........................................
16
Gambar 2. 1 Contoh Pembatasan Garis dengan Kriteria Tertentu.....................
24
Gambar 2. 2 Membatasi Baris Yang Dipilih .......................................................
25
Gambar 2. 3 Query dengan Klausa Where ........................................................
25
Gambar 2. 4 Query dengan Kasus Campuran...................................................
26
Gambar 2. 5 Operator yang Terdapat pada Query ............................................
26
Gambar 2. 6 Hasil Eksekusi Query dengan Kondisi Perbandingan....................
27
Gambar 2. 7 Hasil Eksekusi Query dengan Kondisi Between............................
28
Gambar 2. 8 Hasil Eksekusi Query dengan Kondisi IN ......................................
28
Gambar 2. 9 Hasil Eksekusi Query dengan Kondisi LIKE ..................................
29
Gambar 2. 10 Hasil Eksekusi Query dengan Kondisi LIKE ................................
30
Gambar 2. 11 Hasil Eksekusi Query dengan Kondisi NULL...............................
30
Gambar 2. 12 Hasil Eksekusi Query dengan Logika OR...................................
32
Gambar 2. 13 Hasil Eksekusi Query dengan Logika NOT .................................
33
Gambar 2. 14 Hasil Eksekusi Query ..................................................................
35
Gambar 2. 15 Hasil Eksekusi Query dengan Klausa ORDER BY ......................
36
Gambar 2. 16 Contoh Query dengan ORDER BY .............................................
37
Gambar 3. 1 Fungsi SQL...................................................................................
44
Gambar 3. 2 Ilustrasi Fungsi SQL......................................................................
44
Gambar 3. 3 Deklarasi Nama Fungsi.................................................................
45
Gambar 3. 4 Jenis-Jenis Fungsi Single Row .....................................................
46
Gambar 3. 5 Klasifikasi Fungsi Karakter............................................................
46
Gambar 3. 6 Hasil Konversi dengan Fungsi String ............................................
48
Gambar 3. 7 Hasil Query Menggunakan Fungsi ManipulasiCase ......................
49
ix
Gambar 3. 8 Hasil Query Menggunakan Fungsi KarakterManipulasi .................
50
Gambar 3. 9 Hasil Query dengan Fungsi Numerik.............................................
51
Gambar 3. 10 Hasil Query Fungsi ROUND........................................................
52
Gambar 3. 11 Hasil Query Fungsi TRUNC ........................................................
52
Gambar 3. 12 Hasil Query Fungsi MOD............................................................
53
Gambar 3. 13 Format Tanggal pada Oracle......................................................
53
Gambar 3. 14 Fungsi SYSDATE pada Query ....................................................
54
Gambar 3. 15 Hasil Query SYSDATE dengan Manipulasi Tanggal...................
55
Gambar 3. 16 Fungsi TRUNC dalam Pemotongan Tanggal..............................
56
Gambar 3. 17 Hasil Query dengan Manipulasi Tanggal .....................................
57
Gambar 3. 18 Hasil Query dengan fungsi ROUND dan TRUNC ........................
57
Gambar 3. 19 Hasil Query dengan Konversi TO_CHAR ....................................
58
Gambar 3. 20 Query Menggunakan Fungsi NVL ...............................................
60
Gambar 3. 21 Query dengan Fungsi NVL2 ........................................................
61
Gambar 3. 22 Query Menggunakan Fungsi NULLIF ..........................................
62
Gambar 3. 23 Hasil Eksekusi Query dengan Fungsi COALESCE......................
63
Gambar 3. 24 Query dengan Kondisi CASE ......................................................
65
Gambar 3. 25 Query dengan Fungsi DECODE..................................................
66
Gambar 4. 1 Tabel yang akan dimanipulasi .......................................................
73
Gambar 4. 2 Hasil Query NATURAL JOIN.........................................................
74
Gambar 4. 3 Query Natural Join dengan KlausaWHERE...................................
75
Gambar 4. 4 Klausa USING untuk Equijoin.......................................................
76
Gambar 4. 5 Query Penggunaan Tabel Alias.....................................................
76
Gambar 4. 6 Klausa ON pada Query .................................................................
77
Gambar 4. 7 Contoh Self Join pada Query ........................................................
78
Gambar 4. 8 Klausa ON dengan Kombinasi SELF JOIN...................................
78
Gambar 4. 9 KlausaJOIN pada Query ...............................................................
79
Gambar 4. 10 Tabel EMPLOYEES dan JOB_GRADES....................................
80
Gambar 4. 11 Implementasi Non-Equijoins pada Query ....................................
80
Gambar 4. 12 Hasil Query Left Outer Join .........................................................
81
Gambar 4. 13 Hasil Query Right Outer Join pada ..............................................
82
Gambar 4. 14 Hasil Query Full Outer Join pada................................................
83
Gambar 4. 15 Hasil Query Cartesian Product ....................................................
84
x
Gambar 4. 16 Hasil Query CROSS JOIN..........................................................
84
Gambar 5. 1 Query dalam membuat Tabel........................................................
92
Gambar 5. 2 Sebelum Data diperbarui ..............................................................
93
Gambar 5. 3 Sesudah Data diperbarui ..............................................................
93
Gambar 5. 4 Data Sebelum diperbarui ..............................................................
94
Gambar 5. 5 Data Sesudah diperbarui ..............................................................
95
Gambar 5. 6 Data Sebelum diperbarui ..............................................................
96
Gambar 5. 7 Data Sesudah diperbarui ..............................................................
96
Gambar 5. 8 Data Sebelum dihapus..................................................................
97
Gambar 5. 9 Data Sesudah dihapus..................................................................
97
Gambar 6. 1 Hasil Eksekusi Query Membuat Tabel........................................
106
Gambar 6. 2 Struktur Awal Tabel.....................................................................
108
Gambar 6. 3 Struktur Setelah Terjadi Penambahan Kolom.............................
108
Gambar 7 1 Penggunaan commit ....................................................................
116
Gambar 7 2 Penggunaan rollback ...................................................................
116
xi
DAFTAR TABEL
Tabel 1 Kebenaran Logikan AND.....................................................................
31
Tabel 2 Kebenaran Logikan OR........................................................................
32
Tabel 3 Kebenaran Logikan NOT.....................................................................
33
Tabel 4 Aturan Protokoler .................................................................................
34
Tabel 5 Fungsi dan Kegunaannya ....................................................................
47
Tabel 6 Fungsi Numerik....................................................................................
51
Tabel 7 Operasi pada Tanggal.........................................................................
55
Tabel 8 Fungsi Umum......................................................................................
59
xii
…
xiii
PENDAHULUAN
A. Latar Belakang
Guru dan tenaga kependidikan wajib melaksanakan kegiatan pengembangan
keprofesian
secara
berkelanjutan
agar
dapat
melaksanakan
tugas
profesionalnya. Program Guru Pembelajar (GP) adalah pengembangan
kompetensi Guru dan Tenaga Kependidikan yang dilaksanakan sesuai
kebutuhan,
bertahap,
dan
berkelanjutan
untuk
meningkatkan
profesionalitasnya.
GP sebagai salah satu strategi pembinaan guru dan tenaga kependidikan
diharapkan dapat menjamin guru dan tenaga kependidikan sehingga mampu
secara terus menerus
memelihara, meningkatkan, dan mengembangkan
kompetensinya sesuai dengan standar yang telah ditetapkan. Pelaksanaan
kegiatan GP akan mengurangi kesenjangan antara kompetensi yang dimiliki
guru
dan
tenaga
kependidikan
dengan
tuntutan
profesional
yang
dipersyaratkan.
Program Diklat GP ini membutuhkan modul yang berfungsi sebagai salah
satu sumber belajar. Modul untuk GP Guru Rekayasa Perangkat Lunak
(RPL) Kelompok Kompetensi B “Sistem Manajemen Basis Data” ini dapat
digunakan oleh guru dan tenaga kependidikan dan berfungsi sebagai acuan
untuk
memenuhi
tuntutan
kompetensinya,
sehingga
guru
dapat
melaksanakan tugasnya secara professional sesuai dengan standar yang
telah ditetapkan.
Modul untuk GP Guru RPL Kelompok Kompetensi B “Sistem Manajemen
Basis Data ” ini mempelajari tentang pembuatan struktur tabel, mengisi data
ke
tabel,
mengubah
data
dan
menghapus
data
dari
tabel
dengan
menggunakan software Relational Database Management System (RDBMS),
serta komunikasi Sistem Manajemen Basis Data menggunakan perintah
Structure Query Language (SQL).
1
B. Tujuan
Tujuan disusunnya modul diklat GP Guru RPL Kelompok Kompetensi B ini
adalah memberikan pengetahuan dan ketrampilan kepada guru atau peserta
diklat tentang pembuatan struktur tabel, mengisi data ke tabel, mengubah
data dan menghapus data dari tabel dengan benar melalui aktifitas observasi
dan praktikum. Setelah mempelajari modul ini diharapkan guru dapat :
“Merencanakan
Database
Management
System
yang
mampu
memfasilitasi pengguna untuk menyimpan, memperoleh, dan mengubah
data di dalam basis data ”.
Sedangkan indikator pencapaian kompetensinya adalah :
1.
Membuat basis data menggunakan Data Definition Language.
2.
Membuat relasi antar tabel menggunakan fitur visual DBMS
3.
Memanipulasi data menggunakan Data Manipulation Language.
4.
Membuat pengaturan privalages pada DBMS
C. Peta Kompetensi
2
Standar kompetensi
Kompetensi
Kompetensi
Kompetensi Guru
Indikator pencapaian
Utama
Inti Guru (KIG)
Keahlian (KGK)
Kompetensi
Profesional
1. Menguasai
materi,
struktur,
konsep dan
1.1. Merencanakan
DBMS
yang
mampu
memfasilitasi
1.1.1. Menganalisis
struktur hirarki dan
bentuk
diagram
antar entitas dalam
pola
pikir
keilmuan
yang
mendukung
mata
pelajaran
yang diampu
pengguna
untuk
menyimpan,
memperoleh, dan
mengubah data di
dalam basis data.
basis data.
1.1.2. Membuat
Entity
Relationship
Diagram
1.1.3. Menganalisis teknik
normalisasi
basis
data
1.1.4. Membuat basis data
menggunakan
fitur
visual pada DBMS
1.1.5. Membuat basis data
menggunakan Data
Definition Language
1.1.6. Membuat relasi
antar
tabel
menggunakan
fitur
visual pada DBMS.
1.1.7. Membuat manipulasi
data menggunakan
Data
Manipulation
Language.
1.1.8. Membuat
pengaturan
privilages
pada
DBMS
D. Ruang Lingkup
Modul ini terdiri dari tujuh (7) materi pokok. Setiap materi pokok dirancang
dalam kegiatan pembelajaran. Setiap kegiatan pembelajaran terdiri dari
tujuan pembelajaran,
indikator
essential, uraian
materi,
aktifitas
pembelajaran, latihan/tugas/kasus, rangkuman dan umpan balik. Tujuh (7)
materi pokok pada modul ini adalah : 1) Database Relasional, 2) Membatasi
dan Menyortir Data; 3)
Menggunakan
Fungsi Single-Baris
Untuk
Menyesuaikan Keluaran; 4) Menampilkan Data dari Beberapa Tabel; 5) Data
Manipulation Language Pada SQL; 6) Data Definition Language Pada SQL;
dan 7) Data Control Language Pada SQL;
E. Saran Cara Penggunaan Modul
Modul Sistem Manajemen Basis Data ini terdiri dari sebelas topik utama.
Peserta diklat dapat mempalajari sesui dengan urutan topik mulai topik 1
sampai topik 7. Ketujuh topik tersebut tidak memiliki ketergantungan secara
penuh, sehingga peserta diklat dapat mempelajari tidak secara berurutan.
3
Akan tetapi untuk masing-masing topik setiap kegiatan pembelajaran
mempunyai keterkaitan secara penuh. Ini berarti untuk setiap topik materi
yang dipelajari harus secara berurutan sesuai urutan kegiatan pembelajaran.
Untuk setiap kegiatan pembelajaran urutan yang harus dilakukan oleh
peserta diklat dalam mempelajari modul ini adalah :
1. Membaca tujuan pembelajaran sehingga memahami target atau goal dari
kegiatan belajar tersebut.
2. Membaca indikator pencapaian kompetensi sehingga memahami obyek
yang
akan
dijadikan kriteria
pengukuran untuk
mencapai
tujuan
pembelajaran.
3. Membaca uraian materi pembelajaran sehingga memiliki pengetahuan,
ketrampilan dan sikap terhadap kompetensi yang akan dicapai
4. Melakukan
aktifitas
pembelajaran
dengan
urutan
atau
kasus
permasalahan sesuai dengan contoh.
5. Mengerjakan latihan/soal atau tugas dengan mengisi lembar kerja yang
telah disediakan.
6. Menjawab pertanyaan dalam umpan balik yang akan mengukur tingkat
pencapaian kompetensi melalui penilaian diri.
4
5
6
Kegiatan Pembelajaran 1:
Database Relasional
A. Tujuan
Setelah mengikuti kegiatan pembelajaran 1 ini diharapkan peserta diklat
dapat:
1. Memperoleh pemahaman tentang sistem manajemen database relasional
dan sistem objek manajemen database relasional.
2. Memperoleh pemahaman konsep dasar database relasional.
3. Mengkomunikasikan gagasan database menggunakan model data yang
sesuai.
B. Indikator Pencapaian Kompetensi
1. Menggambarkan struktur tabel relasional
2. Membuat model menggunakan konvensi entitas
3. Berkomunikasi dengan RDBMS menggunakan pernyataan SQL
4. Mengelompokkan pernyataan-pernyataan SQL dalam kelompok DML,
DDL, DCL, dan Transaction Control
C. Uraian Materi
1. Konsep Database Relasional
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 powerful serta 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 untuk membuat relasi yang lainnya, dan
7
Integritas data untuk akurasi dan 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.
Commented [A1]:
Gambar 1. 1 Gambaran Relasional Database
Gambar blm
3. Model Data
Model merupakan landasan sebuah desain. Sebelum (sebagai contoh
sebuah mobil) diproduksi, terlebih dahalu para perancang membuat
model mobil dan bekerja secara rinci dan detail pada model mobil
tersebut. Dalam cara yang sama, perancang sistem mengembangkan
8
model untuk mengeksplorasi ide-ide dan meningkatkan pemahaman
desain
database.
Tujuan
sebuah
model
adalah
membantu
mengkomunikasikan konsep-konsep yang ada dipikiran orang. 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 database.
Commented [A2]:
Gambar 1. 2 Contoh Skenario Model Data
Gambar
4. Model Hubungan Entitas (Entity Relationship Model)
Dalam sistem yang efektif, data dibagi menjadi kategori diskrit atau
entitas. Sebuah model Entity Relationship (ER) 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).
4.1.
Manfaat Model ER
a. Informasi dokumen bagi organisasi dalam format yang jelas dan tepat.
b. Memberikan gambaran yang jelas tentang ruang lingkup kebutuhan
informasi.
9
c. Menyediakan peta bergambar yang mudah dipahami untuk desain
database.
d. Menawarkan kerangka kerja yang efektif untuk mengintegrasikan
beberapa aplikasi.
4.2.
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 contoh, untuk entitas karyawan, atributnya adalah:
nomor
karyawan,
nama,
jabatan,
tanggal
perekrutan,
nomor
departemen, dan sebagainya. Setiap atribut yang baik adalah atribut
yang diperlukan atau opsional.
c. Hubungan: Hubungan atau relationship adalah sebuah asosiasi
antara
entitas
dan
derajat.
Contohnya
adalah
karyawan
dan
departemen, dan pesanan dan item barang.
Gambar 1. 3 Model Hubungan Entitas (Entity Relationship Model)
5. Konvensi Model Hubungan Entitas
5.1.
Entitas
Untuk mewakili entitas dalam model, menggunakan konvensi sebagai
berikut :
a. Singular, nama entitas yang unik
b. Nama entitas dalam huruf besar
10
Simbol
Deskripsi
Garis putus-putus
Elemen opsional yang menunjukkan "mungkin"
Garis penuh
Elemen wajib yang menunjukkan "harus"
Crow’s foot
Menunjukkan "satu atau lebih"
Single line
Menunjukkan "satu dan hanya satu"
c. Kotak dengan garis tipis.
d. Nama sinonim opsional dengan huruf besar didalam tanda kurung: ().
5.2.
Atribut
Untuk mewakili atribut dalam model, menggunakan konvensi sebagai
berikut :
a. Nama singular dalam huruf kecil.
b. Asterisk (*) tanda untuk atribut wajib (yaitu, nilai-nilai yang harus
diketahui).
c. Karakter "o" tanda untuk atribut opsional (yaitu, nilai-nilai yang
mungkin dikenal).
5.3.
Hubungan
6. 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, dan kasuskasus individu tercantum di bawah tabel. Dengan menggunakan format
tabel,
dapat
dengan
mudah
memvisualisasikan,
memahami,
dan
menggunakan informasi. Karena data tentang entitas yang berbeda
disimpan
dalam
menggabungkan
tabel
dua
yang
atau
berbeda,
lebih
sehingga
tabel
dalam
perlu
untuk
menyelesaikan
permasalahan tertentu. Sebagai contoh, untuk mengetahui lokasi pada
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
11
menggunakan foreign key. Foreign key adalah kolom (atau set kolom)
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 1. 4 Gambar Hubungan ER Multi Tabel
7. Terminologi Database Relasional
Sebuah database relasional dapat berisi satu atau banyak tabel. Sebuah
tabel merupakan struktur penyimpanan dasar dari sebuah RDBMS.
Sebuah tabel memiliki semua data yang diperlukan tentang sesuatu di
dunia nyata, seperti karyawan, faktur, atau pelanggan.
Didalam
sistem
relasional
database
data
dinyatakan
dengan
menggunakan tabel (relations). Sebuah tabel mempunyai struktur seperti
di bawah ini,
12
kolom 1
kolom 2
………..
………
………
kolom n
Baris ( record )
Sebuah tabel harus diberi nama secara unik sebagai identitasnya dan
terdiri dari beberapa baris sebagai penyimpanan informasi, dan masingmasing 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 atributatributnya. 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:
a. Char (n): Fixed-lenght character data (strings), mendefinisikan string
sepanjang 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).
b. 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).
c. Number (o,d) : Numeric data type , mendefinisikan angka integer dan
riel, o = jumlah digit, d = jumlah digit yang berada dibelakang koma.
Nilai maksimum: o = 38, d = -84 sampai +127.
contoh: number (8), number (5,2).
13
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.
d. Date: Date data type untuk menempatkan atau mendefinisikan
tanggal, bulan, tahun, hari, jam, menit dan detik. Format keadaan
awal ( default ) untuk date adalah : DD-MMM-YY.
Contoh : ’10-FEB-94’,’29-NOV-98’.
e. long:
mendefinisikan
tipe
data
binary,
panjangnya
karakter
maksimum adalah 2GB. Setiap tabel hanya diperbolehkan 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
kemungkinan 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 kosong.
Gambar 1. 5 Record pada Tabel EMPLOYEES
14
Gambar 1.5 menunjukkan isi tabel atau relasi EMPLOYEES. Angkaangka menunjukkan hal-hal sebagai berikut:
1) Baris tunggal (atau tuple) mewakili semua data yang dibutuhkan untuk
karyawan
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.
2) Sebuah kolom atau atribut 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.
3) Sebuah kolom yang bukan key value. Sebuah kolom merupakan atau
merepresentasikan salah satu jenis data dalam tabel; dalam contoh
ini, data adalah gaji semua karyawan. Urutan kolom tidak signifikan
ketika menyimpan data; menentukan urutan kolom saat data diambil.
4) 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 departemen dalam tabel DEPARTMENTS.
5) Sebuah field dapat ditemukan di persimpangan dari baris dan kolom.
Hanya ada satu nilai di dalamnya.
6) 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).
8. 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 perintahperintah atau pernyataan SQL, yang merupakan American National
Standards Institute (ANSI) bahasa standar untuk operasi relasional
15
database. SQL berisi satu set operator-operator yang cukup besar untuk
membagi dan mempertautkan hubungan. Database dapat dimodifikasi
dengan menggunakan pernyataan SQL.
9. Berkomunikasi dengan RDBMS menggunakan SQL
9.1.
Structured Query Language
Menggunakan SQL, pengguna dapat berkomunikasi dengan server
database. 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 1. 6 Komunikasi DBMS Menggunakan SQL
9.2.
Pernyataan-pernyataanSQL
SELECT
INSERT
UPDATE
DELETE
Pernyataan
MERGE
16
Data Manipulation Language (DML)
Deskripsi
CREATE
SELECT
ALTER
INSERT
DROP
UPDATE
RENAME
TRUNCATE
DELETE
COMMENT
MERGE
GRANT
CREATE
REVOKE
ALTER
Mengambil datadari database, mengisi baris
DROP
data daritabel, dikenal sebagai Data Definition
RENAME
Language (DDL).
baru, merubah baris yang ada, dan menghapus
baris yang tidak diinginkan dari tabel dalam
Data Definition Language (DDL)
database secara berturut-turut, dikenal sebagai
Data Manipulation Language (DML).
Data Control Language (DCL)
Membuat, merubah, dan menghapus struktur
TRUNCATE
COMMENT
GRANT
Memberika natau menghilangkan hak akses ke
REVOKE
data base maupun struktur didalamnya.
COMMIT
Mengelola
ROLLBACK
pernyataan
SAVEPOINT
dikelompokkan bersama ke dalam transaksi logis.
COMMIT
ROLLBACK
perubahan
DML.
Transaction Control
SAVEPOINT
yang
Perubahan
dibuat
oleh
data
bisa
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
E. Latihan / Kasus / Tugas
1. ER (hubungan entitas) Model merepresentasikan suatu ilustrasi dari
berbagai entitas dalam hal
a. Hubungan di antara mereka
17
b. Komponen entitas
c. Hubungan antar DBMS
d. Hubungan matriks keduanya
2. Penggunaan tanda kurung “()” pada ER Model merepresentasikan suatu
ilustrasientitas 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
F. Rangkuman
Pada kegiatan pembelajaran 1, 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 dipahami oleh
pengguna akhir, dan berisi detail yang cukup untuk pengembang dalam
18
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 diatur
oleh integrity constraints. Dengan server Oracle, pengguna dapat menyimpan
dan mengelola informasi dengan menggunakan bahasa SQL.
G. Umpan Balik dan Tindak Lanjut
1. Apakah Anda sudah mampu memahami sistem manajemen database
relasional (RDBMS) dan sistem objek manajemen database relasional
(ORDBMS), serta berapa prosen tingkat pencapaian kompetensinya?
2. Apakah Anda sudah mampu memahami konsep dasar database
relasional dan berapa prosen tingkat pencapaian kompetensinya?
3. Apakah Anda sudah mampu menyajikan gagasan database (sesuai
gagasan sendiri) menggunakan model data yang sesuai dan berapa
prosen tingkat pencapaian kompetensinya?
H. Kunci Jawaban
1.
2.
3.
4.
5.
19
20
21
22
Kegiatan Pembelajaran 2 :
Membatasi dan Menyortir Data
A. Tujuan
Setelah mengikuti kegiatan pembelajaran 2 ini diharapkan peserta diklat
dapat:
1. Mengambil data dari database, dengan melakukan pembatasan baris
data serta menentukan urutan baris yang akan ditampilkan.
2. Menggunakan kondisi komparasi untuk menampilkan data
B. Indikator Pencapaian Kompetensi
1. Membatasi baris yang dipilih menggunakan klausa WHERE
2. Menggunakan
kondisi
BETWEEN,
IN,
LIKE,
dan
NULL
untuk
menampilkan informasi pada keluaran.
3. Menggunakan operator logika AND, OR, dan NOT untuk menampilkan
informasi pada keluaran.
C. Uraian Materi
1. Membatasi Baris Menggunakan Selection
Dalam contoh pada Gambar 2.1, anggaplah bahwa pengguna ingin
menampilkan semua karyawan di departemen 90. Baris dengan nilai 90
pada kolom DEPARTMENT_ID adalah satu-satunya yang dikembalikan
atau ditampakkan. Metode pembatasan ini adalah dasar darik klausa
WHERE di dalam SQL.
23
Gambar 2. 1 Contoh Pembatasan Garis dengan Kriteria Tertentu
1.1.
Membatasi Baris Yang Dipilih
Pengguna dapat membatasi baris yang dikembalikan dari query dengan
menggunakan klausa WHERE. Sebuah klausa WHERE memuat suatu
kondisi yang harus dipenuhi, dan langsung mengikuti klausa FROM. Jika
kondisi benar, maka baris yang memenuhi kondisi yang dipersyaratkan
akan dikembalikan.
Dalam sintak:
WHERE
membatasi query kebaris yang memenuhi kondisi
condition
terdiri dari nama kolom, ekspresi, konstanta, dan
operator perbandingan.
Klausa WHERE dapat membandingkan nilai-nilai dalam kolom, nilai
literal, ekspresi aritmatika, atau fungsi yang terdiri dari tiga unsur :
Nama Kolom
Kondisi Perbandingan
Nama Kolom, konstan, atau nilai
24
Gambar 2. 2 Membatasi Baris Yang Dipilih
1.2.
Menggunakan Klausa WHERE
Dalam contoh, pernyataan SELECT mengambil employee ID, name, job
ID,dan departmen ID dari semua karyawan yang berada didepartemen
90.
Gambar 2. 3 Query dengan Klausa Where
1.3.
Character String dan Date
Semua karakter dan tanggal diklausa WHERE harus diapit oleh tanda
kutip tunggal (''), sedangkan konstanta tidak boleh diapit oleh tanda kutip
tunggal.
Semua pencarian karakter adalah case-sensitive. Pada contoh berikut,
tidak adabaris yang dikembalikan karena tabel EMPLOYEES menyimpan
semua nama belakang dalam kasus campuran:
SELECT last_name, job_id, department_id
FROM
employees
WHERE last_name = 'WHALEN';
25
Gambar 2. 4 Query dengan Kasus Campuran
2. Membandingkan Berdasar Pada Kondisi
2.1.
Kondisi Perbandingan
Kondisi perbandingan digunakan untuk membandingkan satu ekspresi
dengan nilai lain atau ekspresi lain.
Format penggunaan klausa WHERE adalah sebagai berikut:
...
WHERE expr Operator value
Contoh
...
WHEREhire_date = '01 -Jan-95'
...
WHERE salary>= 6000
...
WHERE last_name = 'Smith'
Alias tidak dapat digunakan dalam klausa WHERE.
Catatan: Simbol != dan ^ = dapat diartika ‘tidak sama dengan kondisi’.
Gambar 2. 5 Operator yang Terdapat pada Query
26
2.2.
Menggunakan Kondisi Perbandingan
Dalam contoh, pernyataan SELECT mengambil nama belakang dan gaji
daritabel EMPLOYEE untuk setiap karyawan yang gajinya kurang dari
atau sama dengan $ 3.000. Perhatikan bahwa ada nilai eksplisit dipasok
ke klausa WHERE. Nilai eksplisit 3000 dibandingkan dengan nilai gaji di
kolom SALARY dari tabel EMPLOYEE.
Gambar 2. 6 Hasil Eksekusi Query dengan Kondisi Perbandingan
2.3.
Menggunakan Kondisi Between
Operator BETWEEN akan menguji apakah suatu nilai berada dalam
suatu range tertentu yang dapat diartikan “lebih besar atau sama dengan
nilai terkecil dan lebih kecil atau sama dengan nilai terbesar“.
Pengguna dapat menampilkan baris berdasarkan rentang nilai jangkauan
menggunakan kondisi between. Jangkauan yang pengguna tentukan
berisib atas bawah dan batas atas. Pernyataan SELECT dalam Gambar
2.7 mengembalikan baris dari tabel EMPLOYEEuntukkaryawanyang
gajinyaantara $2.500 dan $3.500.Nilai-nilai yang ditentukan dengan
kondisi between secara inklusif. Pengguna harus menentukan pertama
kali adalah batas bawah. Pengguna juga dapat menggunakan kondisi
between pada nilai karakter:
27
Gambar 2. 7 Hasil Eksekusi Query dengan Kondisi Between
2.4.
Menggunakan Kondisi IN
Untuk menguji nilai-nilai dalam satu kelompok keanggotaan tertentu,
pengguna dapat menggunakan operator IN. Kondisi IN juga dikenal
sebagai kondisi keanggotaan. Kondisi IN dapat digunakan dengan semua
jenis data. Contoh berikut mengembalikan baris dari tabel EMPLOYEES
untuk setiap karyawan yang nama belakangnya termasuk dalam daftar
nama diklausa WHERE:
SELECT employee_id, manager_id, department_id
FROM employees
WHERE last_name IN ('Hartstein', 'Vargas');
Gambar 2. 8 Hasil Eksekusi Query dengan Kondisi IN
Jika memuat karakter atau tanggal, maka harus diapit oleh tanda kutip
tunggal ('').
2.5.
Menggunakan Kondisi LIKE
Pengguna mungkin tidak selalu tahu persis nilai yang akan dicari. Pengguna
dapat memilih baris yang cocok dengan pola karakter dengan menggunakan
operator LIKE. Operasi pencocokan pola karakter disebut sebagai pencarian
wildcard. Operator ini digunakan untuk membandingkan karakter atau
28
string atau CLOB dengan pola yang sudah ditetapkan dan akan
menghasilkan nilai boolean true jika pola yang dibandingkan cocok dan
akan menghasilakn nilai boolean false jika pola tidak cocok dengan nilai
yang dibandingkan. Pola yang dianggap cocok pada operator like dapat
termasuk penggunaan dua karakter spesial yang biasa disebut wildcards
yaitu underscore (_) yang secara eksak hanya satu karakter yang cocok
dan percent ( % ) zero atau lebih karakter yang cocok. Pernyataan SELECT
dalam Gambar 2.9 mengembalikan nama depan karyawan dari tabel
EMPLOYEES untuk setiap karyawan yang nama depannya dimulai
dengan huruf S.
Gambar 2. 9 Hasil Eksekusi Query dengan Kondisi LIKE
Perhatikan huruf besar S. Nama yang diawali dengan huruf kecil s tidak
dikembalikan. Kondisi seperti ini dapat digunakan sebagai jalan pintas
untuk beberapa perbandingan BETWEEN.
Contoh berikut menampilkan last name dan menye wahire date semua
karyawan
yang
tanggal
perekrutannya
antara
Januari
1995
dan
Desember 1995 :
SELECT last_name, hire_date
FROM
employees
WHERE hire_date LIKE '%95';
29
Gambar 2. 10 Hasil Eksekusi Query dengan Kond
GURU PEMBELAJAR
Mata Pelajaran
Reakayasa Perangkat Lunak
Sekolah Menengah Kejuruan (SMK)
Kelompok Kompetensi B
Penulis : Joko Pitono
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementrian Pendidikan dan Kebudayaan
Tahun 2016
HALAMAN FRANCIS
Penulis
1. Joko Pitono
Email : [email protected]
Penelaah:
1.
Siarra Maulida Asrin, S.T [081562783394],
Email: [email protected]
2.
Abdul Haliq, S.Pd., M.Pd., [085341259862]
Email : [email protected]
Ilustrator :
1. Imran, S.Kom., M.Pd., 085242642377. [email protected]
2. Nama penelaah, gelar, no telepon, email
Copyright ©2016
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga
Kependidikan Bidang Kelautan Perikanan Teknologi Informasi dan
Komunikasi.
Hak Cipta Dilindungi Undang-Undang
Dilarang mengkopi sebagian atau keseluruhan isi buku ini untuk
kepentingan komersial tanpa izin tertulis dari Kementerian Pendidikan
dan Kebudayaan.
i
KATA SAMBUTAN
Peran guru profesional dalam proses pembelajaran sangat penting
sebagai kunci keberhasilan belajar siswa. Guru profesional adalah guru yang
kopeten
membangun
proses
pembelajaran
yang
baik
sehingga
dapat
menghasilkan pendidikan yang berkualitas. Hal ini tersebut menjadikan guru
sebagai komponen yang menjadi fokus perhatian pemerintah pusat maupun
pemerintah daerah dalam peningkatan mutu pendidikan terutama menyangkut
kopetensi guru.
Pengembangan profesionalitas guru melalui program Guru Pembelajar
(GP) merupakan upaya peningkatan kompetensi untuk semua guru. Sejalan
dengan hal tersebut, pemetaan kopetensi guru telah dilakukan melalui uji
kompetensi guru (UKG) untuk kompetensi pedagogik dan profesional pada akhir
tahun 2015. Hasil UKG menunjukan peta kekuatan dan kelemahan kompetensi
guru
dalam
dikelompokan
penguasaan
menjadi
pengetahuan.
10
(sepuluh)
Peta
kompetensi
guru
kelopok
kompetensi.
Tindak
tersebut
lanjut
pelaksanaan UKG diwujudkan dalam bentuk pelatihan guru paska UKG melalui
program Guru Pembelajar. Tujuannya untuk meningkatkan kompetensi guru
sebagai agen perubahaan dan sumber belajar utama bagi peserta didik. Program
Guru Pembelajar dilaksanakan melalui pola tatap muka, daring (online) dan
campuran (blended) tatap muka dengan online.
Pusat
Kependidikan
Pengembangan
(PPPPTK),
dan
Lembaga
Pemberdayaan
Pengembangan
Pendidik
dan
dan
Tenag
Pemberdayaan
Pendidik dan Tenaga Kependidikan Kelautan Perikanan Teknologi Informasi dan
Komunikasi (LP3TK KPTK) dan Lembaga Pengembangan dan Pemberdayaan
Kepala Sekolah (LP2KS) merupakan Unit Pelaksana Teknis di lingkungan
Direktorat Jendral Guru dan Tenaga Kependidikan yang bertanggung jawab
dalam mengembangkan perangkat dan melaksanakan peningkaan kompetensi
guru
sesuai
dengan
bidangnya.
Adapun
peragkat
pembelajaran
yang
dikembangkan tersebut adalah modul untuk program Guru Pembelajar (GP)
tatap muka dan GP online untuk semua mata pelajaran dan kelompok
kompetensi. Dengan modul ini diharapkan program GP memberikan sumbangan
ii
yang sangat besar dalam peningkatan kualitas kompetensi guru. Mari kita
sukseskan program GP ini untuk mewujudkan Guru Mulia Karena Karya.
Jakarta, Februari 2016
Direktur Jendral
Guru dan Tenaga Kependidikan
Sumarna Surapranata, Ph.D
NIP. 195908011985031002
iii
KATA PENGANTAR
Profesi guru dan tenaga kependidikan harus dihargai dan dikembangkan sebagai
profesi yang bermartabat sebagaimana diamanatkan Undang-Undang Nomor 14
Tahun 2005 tentang Guru dan Dosen. Hal ini dikarenakan guru dan tenaga
kependidikan merupakan tenaga profesional yang mempunyai fungsi, peran, dan
kedudukan yang sangat penting dalam mencapai visi pendidikan 2025 yaitu
“Menciptakan Insan Indonesia Cerdas dan Kompetitif”. Untuk itu guru dan tenaga
kependidikan yang profesional wajib melakukan pengembangan keprofesian
berkelanjutan.
Buku
Pedoman
Berkelanjutan
Penyusunan
Bagi
Guru
dan
Modul
Diklat
Tenaga
Pengembangan
Kependidikan
untuk
Keprofesian
institusi
penyelenggara program pengembangan keprofesian berkelanjutan merupakan
petunjuk bagi penyelenggara pelatihan di dalam melaksakan pengembangan
modul yang merupakan salah satu sumber belajar bagi guru dan tenaga
kependidikan.
Buku
ini
disajikan
untuk
memberikan
penyusunan modul sebagai salah satu bentuk bahan
informasi
tentang
dalam kegiatan
pengembangan keprofesian berkelanjutan bagi guru dan tenaga kependidikan.
Pada kesempatan ini disampaikan ucapan terima kasih dan penghargaan
kepada berbagai pihak yang telah memberikan kontribusi secara maksimal
dalam mewujudkan buku ini, mudah-mudahan buku ini dapat menjadi acuan dan
sumber inspirasi bagi guru dan semua pihak yang terlibat dalam pelaksanaan
penyusunan modul untuk pengembangan keprofesian berkelanjutan. Kritik dan
saran yang membangun sangat diharapkan untuk menyempurnakan buku ini di
masa mendatang.
Makassar, Desember 2015
Kepala LPPPTK KPTK Gowa
Sulawesi Selatan,
Dr. H. Rusdi, M.Pd,
NIP 19650430 199103 1 004
iv
v
DAFTAR ISI
KATA SAMBUTAN .............................................................................................
ii
KATA PENGANTAR ...........................................................................................
iv
DAFTAR ISI........................................................................................................
vi
DAFTAR TABEL ................................................................................................
xii
PENDAHULUAN.................................................................................................
1
A. Latar Belakang ...........................................................................................
1
B. Tujuan ........................................................................................................
2
C. Peta Kompetensi ........................................................................................
2
D. Ruang Lingkup ...........................................................................................
3
E. Saran Cara Penggunaan Modul.................................................................
3
Kegiatan Pembelajaran 1:....................................................................................
7
A. Tujuan ........................................................................................................
7
B. Indikator Pencapaian Kompetensi ..............................................................
7
C. Uraian Materi ..............................................................................................
7
D. Aktivitas Pembelajaran .............................................................................
17
E. Latihan / Kasus / Tugas ............................................................................
17
F. Rangkuman ..............................................................................................
18
G. Umpan Balik dan Tindak Lanjut ................................................................
19
H. Kunci Jawaban .........................................................................................
19
Kegiatan Pembelajaran 2 :.................................................................................
23
A. Tujuan ......................................................................................................
23
B. Indikator Pencapaian Kompetensi ............................................................
23
C. Uraian Materi ............................................................................................
23
D. Aktivitas Pembelajaran .............................................................................
37
E. Latihan / Kasus / Tugas ............................................................................
37
F. Rangkuman ..............................................................................................
39
G. Umpan Balik dan Tindak Lanjut ................................................................
39
H. Kunci Jawaban .........................................................................................
39
vi
Kegiatan Pembelajaran 3 : ................................................................................
43
A. Tujuan ......................................................................................................
43
B. Indikator Pencapaian Kompetensi ............................................................
43
C. Uraian Materi............................................................................................
43
D. Aktivitas Pembelajaran .............................................................................
66
E. Latihan / Kasus / Tugas............................................................................
66
F. Rangkuman ..............................................................................................
67
G. Umpan Balik dan Tindak Lanjut................................................................
68
H. Kunci Jawaban .........................................................................................
68
Kegiatan Pembelajaran 4 : ................................................................................
72
A. Tujuan ......................................................................................................
72
B. Indikator Pencapaian Kompetensi ............................................................
72
C. Uraian Materi............................................................................................
72
D. Aktivitas Pembelajaran .............................................................................
84
E. Latihan / Kasus / Tugas............................................................................
85
F. Rangkuman ..............................................................................................
86
G. Umpan Balik dan Tindak Lanjut................................................................
86
H. Kunci Jawaban .........................................................................................
87
Kegiatan Pembelajaran 5: .................................................................................
91
A. Tujuan ......................................................................................................
91
B. Indikator Pencapaian Kompetensi ............................................................
91
C. Uraian Materi............................................................................................
91
D. Aktivitas Pembelajaran .............................................................................
98
E. Lathan / Kasus / Tugas.............................................................................
98
F. Rangkuman ..............................................................................................
99
G. Umpan Balik dan Tindak Lanjut..............................................................
100
H. Kunci Jawaban .......................................................................................
100
Kegiatan Pembelajaran 6: ...............................................................................
104
A. Tujuan ....................................................................................................
104
B. Indikator Pencapaian Kompetensi ..........................................................
104
C. Uraian Materi..........................................................................................
104
D. Aktivitas Pembelajaran ...........................................................................
109
E. Latihan / Kasus / Tugas..........................................................................
109
F. Rangkuman ............................................................................................
110
vii
G. Umpan Balik dan Tindak Lanjut ..............................................................
111
H. Kunci Jawaban .......................................................................................
111
Kegiatan Pembelajaran 7:................................................................................
115
A. Tujuan ....................................................................................................
115
B. Indikator Pencapaian Kompetensi ..........................................................
115
C. Uraian Materi ..........................................................................................
115
D. Aktivitas Pembelajaran ...........................................................................
117
E. Latihan / Kasus / Tugas ..........................................................................
117
F. Rangkuman ............................................................................................
118
G. Umpan Balik dan Tindak Lanjut ..............................................................
119
H. Kunci Jawaban .......................................................................................
119
EVALUASI .......................................................................................................
121
KUNCI JAWABAN ...........................................................................................
127
PENUTUP .......................................................................................................
129
DAFTAR PUSTAKA.........................................................................................
130
GLOSARIUM ...................................................................................................
132
viii
DAFTAR GAMBAR
Gambar 1. 1 Gambaran Relasional Database .....................................................
8
Gambar 1. 2 Contoh Skenario Model Data ..........................................................
9
Gambar 1. 3 Model Hubungan Entitas (Entity Relationship Model)....................
10
Gambar 1. 4 Gambar Hubungan ER Multi Tabel ...............................................
12
Gambar 1. 5 Record pada Tabel EMPLOYEES.................................................
14
Gambar 1. 6 Komunikasi DBMS Menggunakan SQL.........................................
16
Gambar 2. 1 Contoh Pembatasan Garis dengan Kriteria Tertentu.....................
24
Gambar 2. 2 Membatasi Baris Yang Dipilih .......................................................
25
Gambar 2. 3 Query dengan Klausa Where ........................................................
25
Gambar 2. 4 Query dengan Kasus Campuran...................................................
26
Gambar 2. 5 Operator yang Terdapat pada Query ............................................
26
Gambar 2. 6 Hasil Eksekusi Query dengan Kondisi Perbandingan....................
27
Gambar 2. 7 Hasil Eksekusi Query dengan Kondisi Between............................
28
Gambar 2. 8 Hasil Eksekusi Query dengan Kondisi IN ......................................
28
Gambar 2. 9 Hasil Eksekusi Query dengan Kondisi LIKE ..................................
29
Gambar 2. 10 Hasil Eksekusi Query dengan Kondisi LIKE ................................
30
Gambar 2. 11 Hasil Eksekusi Query dengan Kondisi NULL...............................
30
Gambar 2. 12 Hasil Eksekusi Query dengan Logika OR...................................
32
Gambar 2. 13 Hasil Eksekusi Query dengan Logika NOT .................................
33
Gambar 2. 14 Hasil Eksekusi Query ..................................................................
35
Gambar 2. 15 Hasil Eksekusi Query dengan Klausa ORDER BY ......................
36
Gambar 2. 16 Contoh Query dengan ORDER BY .............................................
37
Gambar 3. 1 Fungsi SQL...................................................................................
44
Gambar 3. 2 Ilustrasi Fungsi SQL......................................................................
44
Gambar 3. 3 Deklarasi Nama Fungsi.................................................................
45
Gambar 3. 4 Jenis-Jenis Fungsi Single Row .....................................................
46
Gambar 3. 5 Klasifikasi Fungsi Karakter............................................................
46
Gambar 3. 6 Hasil Konversi dengan Fungsi String ............................................
48
Gambar 3. 7 Hasil Query Menggunakan Fungsi ManipulasiCase ......................
49
ix
Gambar 3. 8 Hasil Query Menggunakan Fungsi KarakterManipulasi .................
50
Gambar 3. 9 Hasil Query dengan Fungsi Numerik.............................................
51
Gambar 3. 10 Hasil Query Fungsi ROUND........................................................
52
Gambar 3. 11 Hasil Query Fungsi TRUNC ........................................................
52
Gambar 3. 12 Hasil Query Fungsi MOD............................................................
53
Gambar 3. 13 Format Tanggal pada Oracle......................................................
53
Gambar 3. 14 Fungsi SYSDATE pada Query ....................................................
54
Gambar 3. 15 Hasil Query SYSDATE dengan Manipulasi Tanggal...................
55
Gambar 3. 16 Fungsi TRUNC dalam Pemotongan Tanggal..............................
56
Gambar 3. 17 Hasil Query dengan Manipulasi Tanggal .....................................
57
Gambar 3. 18 Hasil Query dengan fungsi ROUND dan TRUNC ........................
57
Gambar 3. 19 Hasil Query dengan Konversi TO_CHAR ....................................
58
Gambar 3. 20 Query Menggunakan Fungsi NVL ...............................................
60
Gambar 3. 21 Query dengan Fungsi NVL2 ........................................................
61
Gambar 3. 22 Query Menggunakan Fungsi NULLIF ..........................................
62
Gambar 3. 23 Hasil Eksekusi Query dengan Fungsi COALESCE......................
63
Gambar 3. 24 Query dengan Kondisi CASE ......................................................
65
Gambar 3. 25 Query dengan Fungsi DECODE..................................................
66
Gambar 4. 1 Tabel yang akan dimanipulasi .......................................................
73
Gambar 4. 2 Hasil Query NATURAL JOIN.........................................................
74
Gambar 4. 3 Query Natural Join dengan KlausaWHERE...................................
75
Gambar 4. 4 Klausa USING untuk Equijoin.......................................................
76
Gambar 4. 5 Query Penggunaan Tabel Alias.....................................................
76
Gambar 4. 6 Klausa ON pada Query .................................................................
77
Gambar 4. 7 Contoh Self Join pada Query ........................................................
78
Gambar 4. 8 Klausa ON dengan Kombinasi SELF JOIN...................................
78
Gambar 4. 9 KlausaJOIN pada Query ...............................................................
79
Gambar 4. 10 Tabel EMPLOYEES dan JOB_GRADES....................................
80
Gambar 4. 11 Implementasi Non-Equijoins pada Query ....................................
80
Gambar 4. 12 Hasil Query Left Outer Join .........................................................
81
Gambar 4. 13 Hasil Query Right Outer Join pada ..............................................
82
Gambar 4. 14 Hasil Query Full Outer Join pada................................................
83
Gambar 4. 15 Hasil Query Cartesian Product ....................................................
84
x
Gambar 4. 16 Hasil Query CROSS JOIN..........................................................
84
Gambar 5. 1 Query dalam membuat Tabel........................................................
92
Gambar 5. 2 Sebelum Data diperbarui ..............................................................
93
Gambar 5. 3 Sesudah Data diperbarui ..............................................................
93
Gambar 5. 4 Data Sebelum diperbarui ..............................................................
94
Gambar 5. 5 Data Sesudah diperbarui ..............................................................
95
Gambar 5. 6 Data Sebelum diperbarui ..............................................................
96
Gambar 5. 7 Data Sesudah diperbarui ..............................................................
96
Gambar 5. 8 Data Sebelum dihapus..................................................................
97
Gambar 5. 9 Data Sesudah dihapus..................................................................
97
Gambar 6. 1 Hasil Eksekusi Query Membuat Tabel........................................
106
Gambar 6. 2 Struktur Awal Tabel.....................................................................
108
Gambar 6. 3 Struktur Setelah Terjadi Penambahan Kolom.............................
108
Gambar 7 1 Penggunaan commit ....................................................................
116
Gambar 7 2 Penggunaan rollback ...................................................................
116
xi
DAFTAR TABEL
Tabel 1 Kebenaran Logikan AND.....................................................................
31
Tabel 2 Kebenaran Logikan OR........................................................................
32
Tabel 3 Kebenaran Logikan NOT.....................................................................
33
Tabel 4 Aturan Protokoler .................................................................................
34
Tabel 5 Fungsi dan Kegunaannya ....................................................................
47
Tabel 6 Fungsi Numerik....................................................................................
51
Tabel 7 Operasi pada Tanggal.........................................................................
55
Tabel 8 Fungsi Umum......................................................................................
59
xii
…
xiii
PENDAHULUAN
A. Latar Belakang
Guru dan tenaga kependidikan wajib melaksanakan kegiatan pengembangan
keprofesian
secara
berkelanjutan
agar
dapat
melaksanakan
tugas
profesionalnya. Program Guru Pembelajar (GP) adalah pengembangan
kompetensi Guru dan Tenaga Kependidikan yang dilaksanakan sesuai
kebutuhan,
bertahap,
dan
berkelanjutan
untuk
meningkatkan
profesionalitasnya.
GP sebagai salah satu strategi pembinaan guru dan tenaga kependidikan
diharapkan dapat menjamin guru dan tenaga kependidikan sehingga mampu
secara terus menerus
memelihara, meningkatkan, dan mengembangkan
kompetensinya sesuai dengan standar yang telah ditetapkan. Pelaksanaan
kegiatan GP akan mengurangi kesenjangan antara kompetensi yang dimiliki
guru
dan
tenaga
kependidikan
dengan
tuntutan
profesional
yang
dipersyaratkan.
Program Diklat GP ini membutuhkan modul yang berfungsi sebagai salah
satu sumber belajar. Modul untuk GP Guru Rekayasa Perangkat Lunak
(RPL) Kelompok Kompetensi B “Sistem Manajemen Basis Data” ini dapat
digunakan oleh guru dan tenaga kependidikan dan berfungsi sebagai acuan
untuk
memenuhi
tuntutan
kompetensinya,
sehingga
guru
dapat
melaksanakan tugasnya secara professional sesuai dengan standar yang
telah ditetapkan.
Modul untuk GP Guru RPL Kelompok Kompetensi B “Sistem Manajemen
Basis Data ” ini mempelajari tentang pembuatan struktur tabel, mengisi data
ke
tabel,
mengubah
data
dan
menghapus
data
dari
tabel
dengan
menggunakan software Relational Database Management System (RDBMS),
serta komunikasi Sistem Manajemen Basis Data menggunakan perintah
Structure Query Language (SQL).
1
B. Tujuan
Tujuan disusunnya modul diklat GP Guru RPL Kelompok Kompetensi B ini
adalah memberikan pengetahuan dan ketrampilan kepada guru atau peserta
diklat tentang pembuatan struktur tabel, mengisi data ke tabel, mengubah
data dan menghapus data dari tabel dengan benar melalui aktifitas observasi
dan praktikum. Setelah mempelajari modul ini diharapkan guru dapat :
“Merencanakan
Database
Management
System
yang
mampu
memfasilitasi pengguna untuk menyimpan, memperoleh, dan mengubah
data di dalam basis data ”.
Sedangkan indikator pencapaian kompetensinya adalah :
1.
Membuat basis data menggunakan Data Definition Language.
2.
Membuat relasi antar tabel menggunakan fitur visual DBMS
3.
Memanipulasi data menggunakan Data Manipulation Language.
4.
Membuat pengaturan privalages pada DBMS
C. Peta Kompetensi
2
Standar kompetensi
Kompetensi
Kompetensi
Kompetensi Guru
Indikator pencapaian
Utama
Inti Guru (KIG)
Keahlian (KGK)
Kompetensi
Profesional
1. Menguasai
materi,
struktur,
konsep dan
1.1. Merencanakan
DBMS
yang
mampu
memfasilitasi
1.1.1. Menganalisis
struktur hirarki dan
bentuk
diagram
antar entitas dalam
pola
pikir
keilmuan
yang
mendukung
mata
pelajaran
yang diampu
pengguna
untuk
menyimpan,
memperoleh, dan
mengubah data di
dalam basis data.
basis data.
1.1.2. Membuat
Entity
Relationship
Diagram
1.1.3. Menganalisis teknik
normalisasi
basis
data
1.1.4. Membuat basis data
menggunakan
fitur
visual pada DBMS
1.1.5. Membuat basis data
menggunakan Data
Definition Language
1.1.6. Membuat relasi
antar
tabel
menggunakan
fitur
visual pada DBMS.
1.1.7. Membuat manipulasi
data menggunakan
Data
Manipulation
Language.
1.1.8. Membuat
pengaturan
privilages
pada
DBMS
D. Ruang Lingkup
Modul ini terdiri dari tujuh (7) materi pokok. Setiap materi pokok dirancang
dalam kegiatan pembelajaran. Setiap kegiatan pembelajaran terdiri dari
tujuan pembelajaran,
indikator
essential, uraian
materi,
aktifitas
pembelajaran, latihan/tugas/kasus, rangkuman dan umpan balik. Tujuh (7)
materi pokok pada modul ini adalah : 1) Database Relasional, 2) Membatasi
dan Menyortir Data; 3)
Menggunakan
Fungsi Single-Baris
Untuk
Menyesuaikan Keluaran; 4) Menampilkan Data dari Beberapa Tabel; 5) Data
Manipulation Language Pada SQL; 6) Data Definition Language Pada SQL;
dan 7) Data Control Language Pada SQL;
E. Saran Cara Penggunaan Modul
Modul Sistem Manajemen Basis Data ini terdiri dari sebelas topik utama.
Peserta diklat dapat mempalajari sesui dengan urutan topik mulai topik 1
sampai topik 7. Ketujuh topik tersebut tidak memiliki ketergantungan secara
penuh, sehingga peserta diklat dapat mempelajari tidak secara berurutan.
3
Akan tetapi untuk masing-masing topik setiap kegiatan pembelajaran
mempunyai keterkaitan secara penuh. Ini berarti untuk setiap topik materi
yang dipelajari harus secara berurutan sesuai urutan kegiatan pembelajaran.
Untuk setiap kegiatan pembelajaran urutan yang harus dilakukan oleh
peserta diklat dalam mempelajari modul ini adalah :
1. Membaca tujuan pembelajaran sehingga memahami target atau goal dari
kegiatan belajar tersebut.
2. Membaca indikator pencapaian kompetensi sehingga memahami obyek
yang
akan
dijadikan kriteria
pengukuran untuk
mencapai
tujuan
pembelajaran.
3. Membaca uraian materi pembelajaran sehingga memiliki pengetahuan,
ketrampilan dan sikap terhadap kompetensi yang akan dicapai
4. Melakukan
aktifitas
pembelajaran
dengan
urutan
atau
kasus
permasalahan sesuai dengan contoh.
5. Mengerjakan latihan/soal atau tugas dengan mengisi lembar kerja yang
telah disediakan.
6. Menjawab pertanyaan dalam umpan balik yang akan mengukur tingkat
pencapaian kompetensi melalui penilaian diri.
4
5
6
Kegiatan Pembelajaran 1:
Database Relasional
A. Tujuan
Setelah mengikuti kegiatan pembelajaran 1 ini diharapkan peserta diklat
dapat:
1. Memperoleh pemahaman tentang sistem manajemen database relasional
dan sistem objek manajemen database relasional.
2. Memperoleh pemahaman konsep dasar database relasional.
3. Mengkomunikasikan gagasan database menggunakan model data yang
sesuai.
B. Indikator Pencapaian Kompetensi
1. Menggambarkan struktur tabel relasional
2. Membuat model menggunakan konvensi entitas
3. Berkomunikasi dengan RDBMS menggunakan pernyataan SQL
4. Mengelompokkan pernyataan-pernyataan SQL dalam kelompok DML,
DDL, DCL, dan Transaction Control
C. Uraian Materi
1. Konsep Database Relasional
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 powerful serta 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 untuk membuat relasi yang lainnya, dan
7
Integritas data untuk akurasi dan 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.
Commented [A1]:
Gambar 1. 1 Gambaran Relasional Database
Gambar blm
3. Model Data
Model merupakan landasan sebuah desain. Sebelum (sebagai contoh
sebuah mobil) diproduksi, terlebih dahalu para perancang membuat
model mobil dan bekerja secara rinci dan detail pada model mobil
tersebut. Dalam cara yang sama, perancang sistem mengembangkan
8
model untuk mengeksplorasi ide-ide dan meningkatkan pemahaman
desain
database.
Tujuan
sebuah
model
adalah
membantu
mengkomunikasikan konsep-konsep yang ada dipikiran orang. 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 database.
Commented [A2]:
Gambar 1. 2 Contoh Skenario Model Data
Gambar
4. Model Hubungan Entitas (Entity Relationship Model)
Dalam sistem yang efektif, data dibagi menjadi kategori diskrit atau
entitas. Sebuah model Entity Relationship (ER) 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).
4.1.
Manfaat Model ER
a. Informasi dokumen bagi organisasi dalam format yang jelas dan tepat.
b. Memberikan gambaran yang jelas tentang ruang lingkup kebutuhan
informasi.
9
c. Menyediakan peta bergambar yang mudah dipahami untuk desain
database.
d. Menawarkan kerangka kerja yang efektif untuk mengintegrasikan
beberapa aplikasi.
4.2.
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 contoh, untuk entitas karyawan, atributnya adalah:
nomor
karyawan,
nama,
jabatan,
tanggal
perekrutan,
nomor
departemen, dan sebagainya. Setiap atribut yang baik adalah atribut
yang diperlukan atau opsional.
c. Hubungan: Hubungan atau relationship adalah sebuah asosiasi
antara
entitas
dan
derajat.
Contohnya
adalah
karyawan
dan
departemen, dan pesanan dan item barang.
Gambar 1. 3 Model Hubungan Entitas (Entity Relationship Model)
5. Konvensi Model Hubungan Entitas
5.1.
Entitas
Untuk mewakili entitas dalam model, menggunakan konvensi sebagai
berikut :
a. Singular, nama entitas yang unik
b. Nama entitas dalam huruf besar
10
Simbol
Deskripsi
Garis putus-putus
Elemen opsional yang menunjukkan "mungkin"
Garis penuh
Elemen wajib yang menunjukkan "harus"
Crow’s foot
Menunjukkan "satu atau lebih"
Single line
Menunjukkan "satu dan hanya satu"
c. Kotak dengan garis tipis.
d. Nama sinonim opsional dengan huruf besar didalam tanda kurung: ().
5.2.
Atribut
Untuk mewakili atribut dalam model, menggunakan konvensi sebagai
berikut :
a. Nama singular dalam huruf kecil.
b. Asterisk (*) tanda untuk atribut wajib (yaitu, nilai-nilai yang harus
diketahui).
c. Karakter "o" tanda untuk atribut opsional (yaitu, nilai-nilai yang
mungkin dikenal).
5.3.
Hubungan
6. 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, dan kasuskasus individu tercantum di bawah tabel. Dengan menggunakan format
tabel,
dapat
dengan
mudah
memvisualisasikan,
memahami,
dan
menggunakan informasi. Karena data tentang entitas yang berbeda
disimpan
dalam
menggabungkan
tabel
dua
yang
atau
berbeda,
lebih
sehingga
tabel
dalam
perlu
untuk
menyelesaikan
permasalahan tertentu. Sebagai contoh, untuk mengetahui lokasi pada
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
11
menggunakan foreign key. Foreign key adalah kolom (atau set kolom)
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 1. 4 Gambar Hubungan ER Multi Tabel
7. Terminologi Database Relasional
Sebuah database relasional dapat berisi satu atau banyak tabel. Sebuah
tabel merupakan struktur penyimpanan dasar dari sebuah RDBMS.
Sebuah tabel memiliki semua data yang diperlukan tentang sesuatu di
dunia nyata, seperti karyawan, faktur, atau pelanggan.
Didalam
sistem
relasional
database
data
dinyatakan
dengan
menggunakan tabel (relations). Sebuah tabel mempunyai struktur seperti
di bawah ini,
12
kolom 1
kolom 2
………..
………
………
kolom n
Baris ( record )
Sebuah tabel harus diberi nama secara unik sebagai identitasnya dan
terdiri dari beberapa baris sebagai penyimpanan informasi, dan masingmasing 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 atributatributnya. 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:
a. Char (n): Fixed-lenght character data (strings), mendefinisikan string
sepanjang 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).
b. 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).
c. Number (o,d) : Numeric data type , mendefinisikan angka integer dan
riel, o = jumlah digit, d = jumlah digit yang berada dibelakang koma.
Nilai maksimum: o = 38, d = -84 sampai +127.
contoh: number (8), number (5,2).
13
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.
d. Date: Date data type untuk menempatkan atau mendefinisikan
tanggal, bulan, tahun, hari, jam, menit dan detik. Format keadaan
awal ( default ) untuk date adalah : DD-MMM-YY.
Contoh : ’10-FEB-94’,’29-NOV-98’.
e. long:
mendefinisikan
tipe
data
binary,
panjangnya
karakter
maksimum adalah 2GB. Setiap tabel hanya diperbolehkan 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
kemungkinan 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 kosong.
Gambar 1. 5 Record pada Tabel EMPLOYEES
14
Gambar 1.5 menunjukkan isi tabel atau relasi EMPLOYEES. Angkaangka menunjukkan hal-hal sebagai berikut:
1) Baris tunggal (atau tuple) mewakili semua data yang dibutuhkan untuk
karyawan
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.
2) Sebuah kolom atau atribut 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.
3) Sebuah kolom yang bukan key value. Sebuah kolom merupakan atau
merepresentasikan salah satu jenis data dalam tabel; dalam contoh
ini, data adalah gaji semua karyawan. Urutan kolom tidak signifikan
ketika menyimpan data; menentukan urutan kolom saat data diambil.
4) 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 departemen dalam tabel DEPARTMENTS.
5) Sebuah field dapat ditemukan di persimpangan dari baris dan kolom.
Hanya ada satu nilai di dalamnya.
6) 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).
8. 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 perintahperintah atau pernyataan SQL, yang merupakan American National
Standards Institute (ANSI) bahasa standar untuk operasi relasional
15
database. SQL berisi satu set operator-operator yang cukup besar untuk
membagi dan mempertautkan hubungan. Database dapat dimodifikasi
dengan menggunakan pernyataan SQL.
9. Berkomunikasi dengan RDBMS menggunakan SQL
9.1.
Structured Query Language
Menggunakan SQL, pengguna dapat berkomunikasi dengan server
database. 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 1. 6 Komunikasi DBMS Menggunakan SQL
9.2.
Pernyataan-pernyataanSQL
SELECT
INSERT
UPDATE
DELETE
Pernyataan
MERGE
16
Data Manipulation Language (DML)
Deskripsi
CREATE
SELECT
ALTER
INSERT
DROP
UPDATE
RENAME
TRUNCATE
DELETE
COMMENT
MERGE
GRANT
CREATE
REVOKE
ALTER
Mengambil datadari database, mengisi baris
DROP
data daritabel, dikenal sebagai Data Definition
RENAME
Language (DDL).
baru, merubah baris yang ada, dan menghapus
baris yang tidak diinginkan dari tabel dalam
Data Definition Language (DDL)
database secara berturut-turut, dikenal sebagai
Data Manipulation Language (DML).
Data Control Language (DCL)
Membuat, merubah, dan menghapus struktur
TRUNCATE
COMMENT
GRANT
Memberika natau menghilangkan hak akses ke
REVOKE
data base maupun struktur didalamnya.
COMMIT
Mengelola
ROLLBACK
pernyataan
SAVEPOINT
dikelompokkan bersama ke dalam transaksi logis.
COMMIT
ROLLBACK
perubahan
DML.
Transaction Control
SAVEPOINT
yang
Perubahan
dibuat
oleh
data
bisa
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
E. Latihan / Kasus / Tugas
1. ER (hubungan entitas) Model merepresentasikan suatu ilustrasi dari
berbagai entitas dalam hal
a. Hubungan di antara mereka
17
b. Komponen entitas
c. Hubungan antar DBMS
d. Hubungan matriks keduanya
2. Penggunaan tanda kurung “()” pada ER Model merepresentasikan suatu
ilustrasientitas 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
F. Rangkuman
Pada kegiatan pembelajaran 1, 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 dipahami oleh
pengguna akhir, dan berisi detail yang cukup untuk pengembang dalam
18
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 diatur
oleh integrity constraints. Dengan server Oracle, pengguna dapat menyimpan
dan mengelola informasi dengan menggunakan bahasa SQL.
G. Umpan Balik dan Tindak Lanjut
1. Apakah Anda sudah mampu memahami sistem manajemen database
relasional (RDBMS) dan sistem objek manajemen database relasional
(ORDBMS), serta berapa prosen tingkat pencapaian kompetensinya?
2. Apakah Anda sudah mampu memahami konsep dasar database
relasional dan berapa prosen tingkat pencapaian kompetensinya?
3. Apakah Anda sudah mampu menyajikan gagasan database (sesuai
gagasan sendiri) menggunakan model data yang sesuai dan berapa
prosen tingkat pencapaian kompetensinya?
H. Kunci Jawaban
1.
2.
3.
4.
5.
19
20
21
22
Kegiatan Pembelajaran 2 :
Membatasi dan Menyortir Data
A. Tujuan
Setelah mengikuti kegiatan pembelajaran 2 ini diharapkan peserta diklat
dapat:
1. Mengambil data dari database, dengan melakukan pembatasan baris
data serta menentukan urutan baris yang akan ditampilkan.
2. Menggunakan kondisi komparasi untuk menampilkan data
B. Indikator Pencapaian Kompetensi
1. Membatasi baris yang dipilih menggunakan klausa WHERE
2. Menggunakan
kondisi
BETWEEN,
IN,
LIKE,
dan
NULL
untuk
menampilkan informasi pada keluaran.
3. Menggunakan operator logika AND, OR, dan NOT untuk menampilkan
informasi pada keluaran.
C. Uraian Materi
1. Membatasi Baris Menggunakan Selection
Dalam contoh pada Gambar 2.1, anggaplah bahwa pengguna ingin
menampilkan semua karyawan di departemen 90. Baris dengan nilai 90
pada kolom DEPARTMENT_ID adalah satu-satunya yang dikembalikan
atau ditampakkan. Metode pembatasan ini adalah dasar darik klausa
WHERE di dalam SQL.
23
Gambar 2. 1 Contoh Pembatasan Garis dengan Kriteria Tertentu
1.1.
Membatasi Baris Yang Dipilih
Pengguna dapat membatasi baris yang dikembalikan dari query dengan
menggunakan klausa WHERE. Sebuah klausa WHERE memuat suatu
kondisi yang harus dipenuhi, dan langsung mengikuti klausa FROM. Jika
kondisi benar, maka baris yang memenuhi kondisi yang dipersyaratkan
akan dikembalikan.
Dalam sintak:
WHERE
membatasi query kebaris yang memenuhi kondisi
condition
terdiri dari nama kolom, ekspresi, konstanta, dan
operator perbandingan.
Klausa WHERE dapat membandingkan nilai-nilai dalam kolom, nilai
literal, ekspresi aritmatika, atau fungsi yang terdiri dari tiga unsur :
Nama Kolom
Kondisi Perbandingan
Nama Kolom, konstan, atau nilai
24
Gambar 2. 2 Membatasi Baris Yang Dipilih
1.2.
Menggunakan Klausa WHERE
Dalam contoh, pernyataan SELECT mengambil employee ID, name, job
ID,dan departmen ID dari semua karyawan yang berada didepartemen
90.
Gambar 2. 3 Query dengan Klausa Where
1.3.
Character String dan Date
Semua karakter dan tanggal diklausa WHERE harus diapit oleh tanda
kutip tunggal (''), sedangkan konstanta tidak boleh diapit oleh tanda kutip
tunggal.
Semua pencarian karakter adalah case-sensitive. Pada contoh berikut,
tidak adabaris yang dikembalikan karena tabel EMPLOYEES menyimpan
semua nama belakang dalam kasus campuran:
SELECT last_name, job_id, department_id
FROM
employees
WHERE last_name = 'WHALEN';
25
Gambar 2. 4 Query dengan Kasus Campuran
2. Membandingkan Berdasar Pada Kondisi
2.1.
Kondisi Perbandingan
Kondisi perbandingan digunakan untuk membandingkan satu ekspresi
dengan nilai lain atau ekspresi lain.
Format penggunaan klausa WHERE adalah sebagai berikut:
...
WHERE expr Operator value
Contoh
...
WHEREhire_date = '01 -Jan-95'
...
WHERE salary>= 6000
...
WHERE last_name = 'Smith'
Alias tidak dapat digunakan dalam klausa WHERE.
Catatan: Simbol != dan ^ = dapat diartika ‘tidak sama dengan kondisi’.
Gambar 2. 5 Operator yang Terdapat pada Query
26
2.2.
Menggunakan Kondisi Perbandingan
Dalam contoh, pernyataan SELECT mengambil nama belakang dan gaji
daritabel EMPLOYEE untuk setiap karyawan yang gajinya kurang dari
atau sama dengan $ 3.000. Perhatikan bahwa ada nilai eksplisit dipasok
ke klausa WHERE. Nilai eksplisit 3000 dibandingkan dengan nilai gaji di
kolom SALARY dari tabel EMPLOYEE.
Gambar 2. 6 Hasil Eksekusi Query dengan Kondisi Perbandingan
2.3.
Menggunakan Kondisi Between
Operator BETWEEN akan menguji apakah suatu nilai berada dalam
suatu range tertentu yang dapat diartikan “lebih besar atau sama dengan
nilai terkecil dan lebih kecil atau sama dengan nilai terbesar“.
Pengguna dapat menampilkan baris berdasarkan rentang nilai jangkauan
menggunakan kondisi between. Jangkauan yang pengguna tentukan
berisib atas bawah dan batas atas. Pernyataan SELECT dalam Gambar
2.7 mengembalikan baris dari tabel EMPLOYEEuntukkaryawanyang
gajinyaantara $2.500 dan $3.500.Nilai-nilai yang ditentukan dengan
kondisi between secara inklusif. Pengguna harus menentukan pertama
kali adalah batas bawah. Pengguna juga dapat menggunakan kondisi
between pada nilai karakter:
27
Gambar 2. 7 Hasil Eksekusi Query dengan Kondisi Between
2.4.
Menggunakan Kondisi IN
Untuk menguji nilai-nilai dalam satu kelompok keanggotaan tertentu,
pengguna dapat menggunakan operator IN. Kondisi IN juga dikenal
sebagai kondisi keanggotaan. Kondisi IN dapat digunakan dengan semua
jenis data. Contoh berikut mengembalikan baris dari tabel EMPLOYEES
untuk setiap karyawan yang nama belakangnya termasuk dalam daftar
nama diklausa WHERE:
SELECT employee_id, manager_id, department_id
FROM employees
WHERE last_name IN ('Hartstein', 'Vargas');
Gambar 2. 8 Hasil Eksekusi Query dengan Kondisi IN
Jika memuat karakter atau tanggal, maka harus diapit oleh tanda kutip
tunggal ('').
2.5.
Menggunakan Kondisi LIKE
Pengguna mungkin tidak selalu tahu persis nilai yang akan dicari. Pengguna
dapat memilih baris yang cocok dengan pola karakter dengan menggunakan
operator LIKE. Operasi pencocokan pola karakter disebut sebagai pencarian
wildcard. Operator ini digunakan untuk membandingkan karakter atau
28
string atau CLOB dengan pola yang sudah ditetapkan dan akan
menghasilkan nilai boolean true jika pola yang dibandingkan cocok dan
akan menghasilakn nilai boolean false jika pola tidak cocok dengan nilai
yang dibandingkan. Pola yang dianggap cocok pada operator like dapat
termasuk penggunaan dua karakter spesial yang biasa disebut wildcards
yaitu underscore (_) yang secara eksak hanya satu karakter yang cocok
dan percent ( % ) zero atau lebih karakter yang cocok. Pernyataan SELECT
dalam Gambar 2.9 mengembalikan nama depan karyawan dari tabel
EMPLOYEES untuk setiap karyawan yang nama depannya dimulai
dengan huruf S.
Gambar 2. 9 Hasil Eksekusi Query dengan Kondisi LIKE
Perhatikan huruf besar S. Nama yang diawali dengan huruf kecil s tidak
dikembalikan. Kondisi seperti ini dapat digunakan sebagai jalan pintas
untuk beberapa perbandingan BETWEEN.
Contoh berikut menampilkan last name dan menye wahire date semua
karyawan
yang
tanggal
perekrutannya
antara
Januari
1995
dan
Desember 1995 :
SELECT last_name, hire_date
FROM
employees
WHERE hire_date LIKE '%95';
29
Gambar 2. 10 Hasil Eksekusi Query dengan Kond