Identitas
Nama Penyusun : Rizki Ayu Wijaya
Instansi : SMK Negeri 4 Gowa
Kelas/Semester : XI / Ganjil
Mata Pelajaran : Mata Pelajaran Pilihan
Elemen : Basis Data
Alokasi Waktu : 40 JP (160 x 45 menit)
Jumlah Siswa : 36 orang
Fase :F
Moda : Pembelajaran Tatap Muka
C. Capaian Pembelajaran
Pada akhir fase F peserta didik mampu memahami, menerapkan, dan mengomunikasikan
pengertian, konsep struktur, hierarki, aturan, komponen, instalasi, dan dasar administrasi basis
data baik secara mandiri atau berkelompok serta memahami dan menerapkan Data Definition
Language, Data Manipulation Language, Data Control Language, perintah bertingkat, fungsi
dan stored procedure.
D. Tujuan Pembelajaran
1. Setelah menyimak materi peserta didik mampu memahami pengertian konsep struktur hirarki
dan komponen basis data dengan bernalar kritis.
2. Setelah menyimak materi peserta didik mampu menerapkan instalasi dan administrasi basis
data dengan gotong royong.
3. Setelah menyimak materi peserta didik mampu menerapkan DDL(Data Definition Language),
DML (Data Manipulation Language), dan DCL (Data Control Language) pada pengelolaan
basis data dengan gotong royong.
4. Setelah menyimak materi peserta didik mampu menerapkan perintah SQL bertingkat dengan
gotong royong.
5. Setelah menyimak materi peserta didik mampu menerapkan penggunaan function dan stored
procedure pada pengelolaan basis data dengan gotong royong.
1.1 Setelah menyimak materi peserta didik mampu menentukan struktur hirarki basis data dengan
bernalar kritis (C2)
1.2 Setelah menyimak materi peserta didik mampu menjelaskan tujuan penggunaan dan
komponen basis data dengan bernalar kritis. (C2)
2.1 Setelah menyimak materi peserta didik mampu menjelaskan aturan perancangan dan
pembuatan basis data dengan bernalar kritis. (C2)
2.2 Setelah menyimak materi peserta didik mampu mendemonstrasikan basis data melalui
normalisasi data dengan bernalar kritis (C3)
2.3 Setelah menyimak materi peserta didik mampu melakukan instalasi basis data dengan gotong
royong (C3)
2.4 Setelah menyimak materi peserta didik mampu menggunakan administrasi basis data dengan
gotong royong (C3)
3.1 Setelah menyimak materi peserta didik mampu menjelaskan DDL (Data Definition
Language) pada pengelolaan basis data dengan bernalar kritis (C2)
3.2 Setelah menyimak materi peserta didik mampu menggunakan DDL (Data Definition
Language) pada pengelolaan basis data dengan gotong royong (C3)
3.3 Setelah menyimak materi peserta didik mampu menjelaskan DML (Data Manipulation
Language) pada pengelolaan basis data dengan bernalar kritis(C2)
3.4 Setelah menyimak materi peserta didik mampu menggunakan DML (Data Manipulation
Language) pada pengelolaan basis data dengan gotong royong(C3)
3.5 Setelah menyimak materi peserta didik mampu menjelaskan DCL (Data Control Language)
pada pengelolaan basis data dengan bernalar kritis (C2)
3.6 Setelah menyimak materi peserta didik mampu menggunakan DCL (Data Control Language)
pada pengelolaan basis data dengan gotong royong(C3)
4.1 Setelah menyimak materi peserta didik mampu menjelaskan SQL bertingkat dengan bernalar
kritis (C2)
4.2 Setelah menyimak materi peserta didik mampu menggunakan SQL bertingkat dengan gotong
royong. (C3)
5.1 Setelah menyimak materi peserta didik mampu menjelaskan penggunaan function dan stored
procedure pada pengelolaan basis data dengan gotong royong. (C2)
5.2 Setelah menyimak materi peserta didik mampu mengimplementasikan penggunaan function
dan stored procedure pada pengelolaan basis data dengan gotong royong. (C3)
F. Pertanyaan pemantik
Apa yang anda pikirkan ketika mendengar kata “Basis data”? Jelaskan peran “basis data” di
kehidupan kalian!
G. Sarana Prasarana
Modul Ajar, Internet, LCD Projector, Printer, Personal Computer.
H. Langkah Pembelajaran
Langkah Pra-Pembelajaran
a. Guru mempersiapkan Sumber Belajar tentang konsep struktur hirarki dan komponen basis
data. Sumber Belajar disajikan dalam berbagai bentuk, yaitu berupa Bahan Ajar Teks, Video
Tutorial, Gambar-gambar dan Tutorial Teks. Sumber Belajar diunggah di Google Drive agar
siswa mudah mengakses sebelum pembelajaran tatap muka berlangsung.
b. Guru menyampaikan pertanyaan wawancara untuk dijawab siswa guna mengetahui kesiapan
belajar siswa. Hasil dari pertanyaan ini guru gunakan untuk memetakan kesiapan belajar
siswa, untuk mengambil langkah pembelajaran yang dibutuhkan.
Pertemuan ke-1 (8 JP x 45 menit)
Model Pembelajaran : Discovery Learning
Strategi Pembelajaran : Pembelajaran Berdiferensiasi
C. Kegiatan
Penutup
Refleksi. 1. Siswa dapat menanyakan hal yang tidak dipahami pada guru 30 menit
Meningkatk 2. Siswa mengomunikasikan kendala yang dihadapi selama mengerjakan
an
3. Siswa menerima apresiasi dan motivasi dari guru.
Kemampuan
Berpikir
Kritis dan
Kreatif.
2. Pertemuan ke-2 (8 JP x 45 menit)
Model Pembelajaran : Project Based Learning
Strategi Pembelajaran : Pembelajaran Berdiferensiasi
B. Kegiatan Inti
Pengenalan 1. Siswa mencermati permasalahan sehari-hari yang berkaitan dengan duplikasi 320
menit
Kontekstua data
2. Siswa mendapatkan penjelasan singkat tentang aturan perancangan dan
lisasi
normalisasi dalam basis data sehingga menumbuhkan rasa ingin tahu siswa
3. Guru membahas dan diskusi mempertanyakan tentang normalisasi basis data
dan memberikan contoh terkait instalasi basis data.
4. Siswa secara mandiri menggali informasi tentang aturan perancangan dan
normalisasi basis data
Aksi 5. Siswa secara berkelompok gotong royong menganalisis tentang aturan
perancangan dan normalisasi basis data
6. Siswa berkelompok melakukan praktik installasi dan administrasi basis data
sesuai dengan lembar kerja yang diberikan.
C. Kegiatan
Penutup
1. Siswa dapat menanyakan hal yang tidak dipahami pada guru 30 menit
2. Siswa mengomunikasikan kendala yang dihadapi selama mengerjakan
3. Siswa menerima apresiasi dan motivasi dari guru.
I. Penilaian
Rancangan Penilaian Pembelajaran
2 a. Sikap Lembar
Penilaian Sikap
b. Keterampilan
Penilaian Lembar
Projek Penilaian
Projek
3 a. Sikap Lembar
Penilaian Sikap
b. Keterampilan
Penilaian Lembar
Projek Penilaian
Projek
4 a. Sikap Lembar
Penilaian Sikap
b. Keterampilan
Penilaian Lembar
Projek Penilaian
Projek
5 a. Sikap Lembar
Penilaian Sikap
b. Pengetahuan
Lembar tugas
Tes Tertulis
(Essai) Lembar
Penilaian
c. Keterampilan Projek
Penilaian
Projek
Pertemuan 1-5
Nilai Pengamatan
No Rata-
NIS Nama Siswa Gotong Bernalar Jumlah Ket.
. rata
Mandiri Royong Kritis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
A. Mandiri
Skor 4 : Selalu bertindak mandiri dalam menyelesaikan tugas dan tidak
bergantung kepada orang lain.
Skor 3 : Selalui berupaya mandiri dalam menyelesaikan tugas dan tidak
bergantung kepada orang lain.
Skor 2 : Bertindak kurang mandiri dalam menyelesaikan tugas dan sedikit
bergantung kepada orang lain.
Skor 1 : Bertindak tidak mandiri dalam menyelesaikan tugas dan
bergantung kepada orang lain.
B. Gotong Royong
Skor 4: Siswa mampu beradaptasi dengan sangat baik dalam kelompok
serta mampu mengkomunikasikan berbagai tantangan dan solusinya
Skor 3: Siswa sudah mampu berperan dan melakukan tugas serta mampu
mengkomunikasin dengan baik
Skor 2: Siswa mampu beradaptasi dengan rekan dan dapat
menyelesaikan tugasnya
Skor 1: Siswa belum mampu beradaptasi dengan rekan dalam kelompok
C. Bernalar Kritis
b. Soal
Pertanyaan
1. Jelaskan apa yang kamu ketahui tentang basis data!
2. Jelaskan struktur hirarki dan jabarkan setiap hirarki dalam basis data!
3. Jelaskan aturan dalam pembuatan basis data!
4. Buatlah dua buah entitas yang masing-masing memiliki 5 buah atribut!
5. Jelaskan dengan singkat DDL (Data Definition Language) beserta fungsi
operasi dasar SQL nya (Create table, alter table, drop table ) !
6. Jelaskan dengan singkat DCL (Data Control Language)!
7. Jelaskan dengan singkat DML (Data Manipulation Language) beserta fungsi
operasi dasar SQL nya (Select, Insert, Update, Delete )!
8.
c. Penskoran
Nomor Soal Skor Bobot
1 2 3 4
1 10
2 10
3 10
4 10
5 10
6 10
7 10
8 10
9 10
10 10
skor perolehan
Nilai = ∑ x bobot
skor maksimum
d. Rubrik Penskoran
a. Kisi-kisi
No. Tema Materi Indikator Teknik
Penilaian
1. Instalasi aplikasi aplikasi basis Peserta didik dapat : Hasil
Pertemuan 2 basis data MySql data MySql Mengistal aplikasi Instalasi
basis data MySql
b. Projek
1 2 3
Presentasi
6 Kesesuaian Tema 10
skor perolehan
Nilai = ∑ x bobot
skor maksimum
Lembar Observasi Unjuk Kerja
Sesuai Tema
3
Kesesuaian Tema Kurang sesuai tema
2
Tidak sesuai tema
1
Alat dan Bahan Lengkap
3
Alat dan Bahan 80% lengkap
Persiapan
2
Alat dan Bahan di bawah 50%
lengkap
1
Merencanakan dan menganalisis
dengan teliti
3
Merencanakan dan menganalisis
Proses kurang teliti
2
Merencanakan dan menganalisis
tidak teliti
1
membuat basis data dengan
sempurna 100% berdasarkan
LKPD 3
membuat basis data 50%
Hasil sempurna berdasarkan LKPD
2
membuat basis data kurang dari
50% berdasarkan LKPD
1
Antusias selama proses
3
Sikap Kerja Kurang Antusias selama proses
2
Tidak antusias selama proses
1
Lembar Kerja Peserta Didik
KELOMPOK …………..
1. ………………….. NISN : ……………
2. ………………….. NISN : ……………
3. ………………….. NISN : ……………
KOMPETENSI KEAHLIAN
TEKNIK KOMPUTER DAN JARINGAN
SMK NEGERI 4 GOWA
PROVINSI SULAWESI SELATAN
2023
Lembar Kerja Peserta Didik
(Konsep Struktur Hirarki dan Komponen Basis Data)
Pertemuan 1
a. Nama Kelompok :
1. ………………………………..
2. ………………………………..
3. ………………………………..
4. ………………………………..
b. Petunjuk Kerja :
Sebelum mengerjakan tugas, buatlah kelompok terdiri atas 3-4 orang. Dalam kegiatan ini siswa akan
mengamati uraian materi konsep hirarki, struktur basis data dan komponen basis data.
c. Langkah Kerja :
1. Siswa mempelajari materi terkait dengan pengertian dan konsep struktur hirarki dan komponen
basis data melalui l media yang diberikan.
2. Silahkan eksplorasi dan berdiskusi dengan kelompoknya dengan mencari informasi melalui media
buku/internet terkait materi diatas.
3. Susun presentasi yang berisi dengan hasil diskusi terkait :
• pengertian konsep struktur hirarki basis data,
• tujuan penggunaan dan komponen basis data,
• perancangan pembuatan basis data
• normalisasi basis data.
4. Tunjuk satu siswa pada setiap kelompok untuk menjadi moderator dan lainnya mempresentasikan
di depan kelas tentang hasil diskusi yang telah dilakukan.
5. Siswa sebagai peserta diskusi dapat memberikan pertanyaan atau tanggapannya, sedangkan siswa
yang didepan merangkum tanggapan dan pertanyaan dari kelompok lain.
d. Hasil Diskusi :
1. File presentasi tiap kelompok (PPT, Video, Poster, Mind Map)
2. Rangkuman / resume / tanggapan / pertanyaan dari kelompok lain
Lembar Kerja Peserta Didik
(Aturan Perancangan, Instalasi dan Administrasi Basis Data)
Pertemuan 2
a. Nama Kelompok :
1. ………………………………..
2. ………………………………..
3. ………………………………..
4. ………………………………..
b. Petunjuk Kerja :
Sebelum mengerjakan tugas, buatlah kelompok terdiri atas 3-4 orang. Bagi kelompok
dengan pembagian tugas masing-masing (Notulen, Presenter, Operator/Praktikan).
Siapkan peralatan yakni sebuah komputer/PC/Laptop. Kemudian ikuti Langkah kerja
dengan cermat dan runtun.
c. Langkah Kerja :
1. Silahkan mendownload installer aplikasi Xampp pada halaman :
https://drive.google.com/drive/folders/1ZiniPNo_mlxV3H3FgfjSJqpQtmkjDZ34?
usp=sharing
2. Lakukan instalasi dengan mengikuti tutorial berikut :
https://drive.google.com/file/d/1H1jyZUsA3pZH-F-0dbfW9W-Y24qce5XZ/view?
usp=drive_link (Langkah instalasi xamp)
3. Carilah referensi dan bahan terkait aturan perancangan basis data, penulisan basis
data dan tipe data dalam basis data MySQL!
4. Buatlah basis data menggunakan command prompt dengan Langkah- langkah
sebagai berikut : https://youtu.be/tSGKZ_oaJOo
5. Selanjutnya jika sudah berhasil membuat basis data sesuai dengan Langkah
kerja no 4, silahkan kerjakan tugas praktikum berikut ini:
a) Silahkan buka cmd / command prompt
b) Silahkan masuk kedalam MySQL/ Maria DB
c) Buatlah basis data baru dengan nama “db_perpus”
d) Setelah berhasil, cek/tampilkan semua basis data yang ada pada
MySQL/Maria DB
e) Kemudian aktifkan basis data “db_perpus”
f) Buatlah tabel baru dengan nama “tb_buku” dengan ketentuan di bawah
ini:
Kolom/Field Tipe Keterangan
6. Buatlah laporan dan dan presentasikan hasil kerja kelompok di depan kelas
d. Hasil Diskusi :
1. Laporan hasil praktikum yang berisikan screenshoot dari setiap Langkah kerja
Lembar Kerja Peserta Didik
(Perancangan basis data berdasar DDl, DML, DCL)
Pertemuan 3
a. Nama Kelompok :
a. ………………………………..
b. ………………………………..
c. ………………………………..
d. ………………………………..
b. Petunjuk Kerja :
Sebelum mengerjakan tugas, buatlah kelompok terdiri atas 3-4 orang. Bagi kelompok
dengan pembagian tugas masing-masing (Notulen, Presenter, Operator/Praktikan).
Siapkan peralatan yakni sebuah komputer/PC/Laptop. Kemudian ikuti Langkah kerja
dengan cermat dan runtun.
1. Langkah Kerja :
1. Dari praktik sebelumnya tambahkan table anggota dan table peminjaman seperti dibawah ini :
Table anggota
Kolom/Field Tipe Keterangan
Table peminjaman
Kolom/Field Tipe Keterangan
3. Hasil Diskusi :
J. Media Pembelajaran
1. Bahan Bacaan : Buku Basis Data untuk SMK/MAK Kelas XI Semester 1
Judul bacaan : Basis Data untuk SMK/MAK Kelas XI Semester 1
Link :
https://drive.google.com/file/d/1otAxTTIMsmWJc_ZsqX4qNRGtopotybnA/view?
usp=sharing
2. Video Referensi :
https://www.youtube.com/watch?v=diW-O_iwk4o Tautan
Video ERD : https://www.youtube.com/watch?
v=exbubj9xDV0
Tautan Video Normalisasi Database :
https://www.youtube.com/watch?v=XGqL-5nGDPg
K. Materi Pembelajaran
A. KONSEP BASIS DATA
Secara harfiah, basis data terdiri dari dua kata, yaitu basis dan data. Basis dapatdidefinisikan sebagai
suatu markas atau gudang, tempat bersarang atau berkumpul. Sedangkan data, dapat diartikan sebagai
representasi dari fakta dunia yang mewakili suatu objek (manusia, barang, peristiwa, keadaan, dsb) yang
direkam dalam bentukangka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya.
Sehingga, dapat ditarik kesimpulan bahwa basis data adalah kumpulan data yang saling berhubungan
yang disimpan dalam suatu media penyimpanan tertentu yang dirancang untuk memenuhi kebutuhan
informasi. Jika dibayangkan, basis data sama halnya dengan lemari penyimpanan arsip yang berfungsi
untuk menyimpan sejumlah data yang telah dikelompokkan dan diatur pada tempat yang telah ditentukan.
Bedanya, jika lemari arsip menggunakan lemari besi atau kayu, maka basis data menggunakan media
penyimpanan elektronik.
Gambar 2. Lemari Arsip dan Basis Data
Komponen utama sistem basis data terdiri dari 6 (enam) komponen pokok, yaitusebagai berikut:
1. Perangkat keras komputer
2. Perangkat lunak komputer
3. Sistem operasi
4. Basis data lain yang berhubungan
5. Sistem pengelola basis data (DBMS)
6. Pengguna (user), terdiri dari:
a. Database Administrator, bertanggung jawab atas pengelolaan basis data
b. Database Designer, merancang dan mengembangkan program aplikasi yang
menggunakan basis data
c. Application Programmer, mengoperasikan program aplikasi yang dibuatdengan
menggunakan manipulasi data
d. End User (Pengguna)
Dalam basis data, terdapat level arsitektur basis data yang ditunjukkan padagambar berikut.
Keterangan :
a. Skema Internal, bagian dimana data disimpan secara fisik di dalam komputer.
b. Skema Konseptual, menggambarkan data apa yang disimpan dan hubungan antardata
tersebut.
c. Skema Eksternal, menggambarkan tampilan basis data melalui DBMS yangdigunakan oleh
user.
B. TUJUAN PENGGUNAAN BASIS DATA
Tujuan dari penggunaan basis data terdiri dari kecepatan dan kemudahan (speed), efisiensi ruang
penyimpanan (space), keakuratan (accuracy), ketersediaan (availability), kelengkapan
(completeness), keamanan (security), dan kebersamaan (shareability).
1. Kecepatan dan Kemudahan (Speed), penggunaan basis data memungkinkan untuk melakukan
pengelolaan data dengan cepat dan mudah.
2. Efisiensi Ruang Penyimpanan (Space), penggunaan basis data mampu mengurangi
redudansi/pengulangan data.
3. Keakuratan (Accuracy), melalui basis data keakuratan data akan lebih terjamin dengan
menerapkan aturan tertentu, misalnya tipe data dan keunikan data yangdigunakan.
4. Ketersediaan (Availability), dapat melakukan pemilahan data yang sudah tidak digunakan dan data
yang masih digunakan, dengan cara melakukan penghapusan atau pemindahan data ke media
penyimpanan lain.
5. Kelengkapan (Completeness), agar data yang dikelola lengkap dan relatif dengankebutuhan
pemakai, maka dapat dilakukan penambahan record data, melakukan perubahan struktur basis
data, menambahkan field, atau menambah tabel.
6. Keamanan (Security), pada setiap pengguna basis data dapat dibedakan atau ditentukan pengguna
mana saja yang bisa mengakses dan proses apa saja yang bisa dilakukan.
7. Kebersamaan Pemakai (Shareability), basis data memungkinkan untuk digunakan pada lingkungan
multiuser, dengan tetap menghindari terjadinya inkonsistensi data.
Dalam KBBI, hierarki diartikan sebagai urutan tingkatan atau jenjang. Sehingga, hierarki basis data
adalah urutan tingkatan dalam basis data. Adapun hierarki basis data dapat dilihat pada Gambar.
Keterangan :
1. Basis data merupakan kumpulan data yang saling berhubungan.
2. Tabel adalah himpunan seluruh record data yang bertipe sama.
3. Record merupakan gabungan sejumlah elemen data yang saling terkait. Istilah lain dari record
adalah baris atau tupel.
4. Field merupakan satuan data terkecil yang tidak dapat dipecah lagi menjadi unitlain yang
bermakna. Field dapat juga disebut dengan kolom.
NIS Nama Alamat Kota Jurusan
Tab2:e1l Dandy Jl. Melati II Malang
4 6 RPL
7
2146 Jihan Jl. Bangau Malang RPL
8 V
2146 Aldo Jl. Malang TKJ
Jupiter I
9
Gambar 5. Tabel, Record, dan Field
Keterangan :
: Tabel
Pada gambar di atas menampilkan Tabel Siswa.
: Record / Baris / Tupel
Pada tabel di atas terdapat 5 buah field, yaitu field NIS, Nama, Alamat,Kota, dan Jurusan.
KONSEP ERD
Entity Relationship Diagram (ERD) adalah suatu bentuk diagram yang menjelasakan
hubungan antar objek data yang mempunyai hubungan/relasi. ERD digunakan untuk
memodelkan struktur data dan hubungan antar data, dan untuk menggambarkannya
digunakan notasi, simbol, bagan, dan lain sebagainya. ERD memungkinkan kita
menggambarkan konteks objek dan hubungannya, dan digunakan secara luas untuk
mengembangkan desain database awal.
Berikut adalah komponen dan simbol yang digunakan dalam ERD :
2. Entitas Lemah, merupakan entitas yang bergantung dengan entitas lain. Contohnya
adalah entitas tunjangan yang bergantung terhadap entitas pegawai. Entitas lemah
digambarkan dengan bentuk persegi panjang dengan dua garis.
ATRIBUT
Atribut merupakan karakteristik dari entitas atau relasi, yang memberikan penjelasan
detail tentang entitas atau relasi. Dalam penerapannya, atribut merupakan field atau kolom
dari sebuah tabel. Contohnya adalah entitas siswa yang memiliki atribut nama, alamat, NIS,
tanggal lahir, dll. Berdasarkan karakteristik atau sifatnya, atribut dapat dikelompokkan
menjadi :
4. Simple Attribute dan Composite Attribute
Simple Attribute, merupakan atribut yang tidak bisa dipecah lagi menjadi atribut
lain. Contoh: atribut jenis kelamin.
Composite Attribute, merupakan atribut yang bisa dipecah lagi menjadi
beberapa atribut. Contoh: atribut nama yang bisa dipecah menjadi atribut nama
depan, nama tengah, dan nama belakang.
Atribut komposit digambarkan dengan cara seperti di bawah ini.
nilai. Contohnya adalah atribut hobi, yang memungkinkan 1 orang memiliki lebih
dari 1 hobi. Multivalue atributte digambarkan dengan cara seperti di bawah ini
6. Mandatory Attribute, merupakan atribut yang nilainya tidak boleh kosong (not null)
7. Derivied Attribute (Atribut Turunan), adalah atribut yang nilainya diperoleh dari
pengolahan atau dapat diturunkan dari atribut atau tabel lain yang
berhubungan. Contoh: atribut usia diturunkan dari atribut tanggal lahir. Derivied atributte
digambarkan dengan cara seperti di bawah ini.
8. Key Attribute, merupakan suatu atribut yang menandakan kunci dari suatu entitas
yang bersifat unik. Key attribute adalah satu atau beberapa atribut yang mempunyai
nilai unik sehingga dapat digunakan untuk membedakan data pada suatu baris/record
dengan baris lain pada suatu entitas. Key atribut dibagi menjadi :
Super Key, merupakan atribut yang dapat membedakan data secara
unik.Contoh: nis, nama, alamat, dll.
Candidat Key, merupakan atribut yang dapat menjadi primary key. Contoh:
nim, nik, nis, nip, dll.
Alternate Key, merupakan atribut yang tidak menjadi primary key dan
sebelumnya termasuk dalam candidat key.
Primary Key, merupan atribut yang menjadi kunci utama.
Foreign Key, merupakan atribut yang menjadi kunci tamu.
Perhatikan!
Penjelasan:
Diagram di atas menunjukkan entitas siswa memiliki beberapa atribut,yaitu
sebagai berikut :
Hint
One/Satu Many/Banyak
Normalisasi adalah teknik memecah data menggunakan cara–cara tertentu untuk mencegah
timbulnya permasalahan pengolahan data dan meminimalkan redundansi data pada suatu
database sehingga basis data dapat bekerja dengan optimal.
Tujuan dari normalisasi database adalah :
1. Menghilangkan redudansi data
2. Mengurangi kompleksitas
3. Mempermudah dalam manipulasi/pemodifikasian data
Manfaat yang diperoleh dari hasil proses normalisasi adalah :
1. Basis data menjadi mudah diakses
2. Data mudah dikelola
3. Meminimalkan tempat penyimpanannya
Ciri-ciri tabel yang ternormalisasi adalah :
1. Jumlah atribut bersifat minimal, sesuai dengan kebutuhan data.
2. Atribut yang berhubungan dekat (disebut functional dependency) ditempatkan
dalam tabel yang sama.
Bentuk Normal
Pertama (1NF)
4. Menghilangkan ketergantunganparsial
Bentuk Normal
Kedua (2NF)
2. Menghilangkan ketergantungantransitif
Bentuk Normal
Ketiga (3NF)
5. Menghilangkan ketergantungan
multivalue
Bentuk Normal
Keempat (4NF)
6. Menghilangkan join
Bentuk Normal
Kelima (5NF)
Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF). Biasanya
hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan
tabel-tabel yang berkualitas baik. Urutan normalisasiadalah sebgai berikut 1NF, 2NF, 3NF,
BCNF, 4NF, 5NF.
No. Proyek Nama Proyek No. Pegawai Nama Pegawai Golonga Gaji
n
PG001 Adnan A 7.500.000
P0001 PRR PG009 Lucas B 6.000.000
PG010 Syafiq B 6.000.000
PG002 Mahendra A 7.500.000
P0002 PMD PG007 Dion B 6.000.000
PG017 Farzan C 4.000.000
Tabel Proyek
No. Proyek Nama Proyek
P0001 PRR
P0002 PMD
Tabel Pegawai
No. Pegawai Nama Pegawai Golonga Gaji
n
PG001 Adnan A 7.500.000
PG002 Mahendra A 7.500.000
PG007 Dion B 6.000.000
PG009 Lucas B 6.000.000
PG010 Syafiq B 6.000.000
PG017 Farzan C 4.000.000
Dari hasil normalisasi 2NF di atas, pada tabel pegawai masih ditemukan adanya
ketergantungan transitif pada tabel pegawai. Field gaji bergantung pada field golongan, field
golongan bergantung pada no_pegawai.
Sehingga, pada tabel pegawai perlu dilakukan dekomposisi, yakni dengan memecahnya
menjadi 2 buah tabel, yaitu tabel pegawai dan tabel golongan.Sehingga, jika tabel 2NF di atas
dilakukan normalisasi 3NF, maka akan berubah menjadi seperti berikut :
Tabel Proyek
No. Proyek Nama Proyek
P0001 PRR
P0002 PMD
Tabel Pegawai
No. Pegawai Nama Pegawai Golonga
n
PG001 Adnan A
PG002 Mahendra A
PG007 Dion B
PG009 Lucas B
PG010 Syafiq B
PG017 Farzan C
Tabel Golongan
Golonga Gaji
n
A 7.500.000
B 6.000.000
C 4.000.000
Pada tabel pegawai masih disertakan field golongan, agar tabel pegawai dan tabel golongan
saling terhubung.
MySQL merupakan salah satu DBMS (Database Management System) yang
banyak digunakan oleh pemula untuk mengakses data di dalam database. Pada
dasarnya, untuk menjalankan MySQL, bahasa yang digunakan tetap menggunakan
bahasa SQL. Tidak hanya untuk MySQL, untuk DBMS lainnya pun akan tetap
menggunakan bahasa SQL. Sehingga itulah kenapa SQL masih menjadi salah satu
bahasa pemrograman favorit meskipun telah ada sejak tahun 1986.
MySQL yang pertama kali diluncurkan pada tahun 1995, terbagi menjadi dua jenis
lisensi, yaitu Free Software (bersifat gratis) dan Shareware (software berpemilik dengan
penggunaan yang terbatas. Untuk menggunakan MySQL, kita akan membutuhkan
beberapa command yang tergabung ke beberapa kelompok seperti DDL, DML, DCL,
dan TCL. Dalam artikel ini, kita akan membahas perintah-perintah apa saja sih yang
termasuk ke masing-masing kelompok. Yuk, simak pembahasannya!
Command selanjutnya adalah DCL yang merupakan singkatan dari Data Control
Language. Pada dasarnya, pernyataan DCL dikelompokkan dengan pernyataan DML.
Sehingga perintah yang ada di command ini berguna untuk mengontrol hak akses
database (privilege) dan memanipulasi user database. Perintah yang termasuk ke
dalam kelompok DCL adalah GANT dan REVOKE.
GRANT: Perintah ini berguna untuk memberi pengguna hak akses ke database.
REVOKE: Berguna untuk menarik hak akses pengguna yang diberikan dengan
menggunakan perintah GRANT. Sederhananya, REVOKE adalah kebalikan dari
GRANT.
SQL Bertingkat
Subquery (disebut juga subselect atau nested select/query atau inner-select) adalah query SELECT
yang ada di dalam perintah SQL lain misalnya SELECT, INSERT, UPDATE, atau DELETE.
Keberadaan subquery secara nyata mampu menyederhanakan persoalan-persoalan rumit berkaitan query
data. Sebagai contoh, misal terdapat pernyataan sebagai berikut:
“Dapatkan data mahasiswa yang alamatnya sama dengan mahasiswa dengan nim 104”
Secara normal, diperlukan dua tahapan untuk menyelesaikan kasus di atas. Pertama adalah mendapatkan
alamat dari mahasiswa yang memiliki nim 104. Langkah selanjutnya, baru kita bisa mengetahui data
mahasiswa yang alamatnya sama dengan mahasiswa dengan nim 104.
Adapun dengan memanfaatkan subquery, maka penyelesaian kasus di atas hanya memerlukan sebuah query
(akan dijelaskan nanti). Pada hakekatnya, subquery sangat berguna ketika sebuah query didasarkan
pada nilai-nilai yang tak diketahui.
Materi SQL bertingkat dapat kita sebut dengan istilah SubQuery.
Sintaks formal subquery diperlihatkan sebagai berikut:
SELECT A1, A2, ..., An
FROM r1, r2, r3, ..., rm
WHERE P
Subquery dapat diklasifikasikan ke dalam tiga jenis: scalar , multiple-row, dan multiple-column.
a. Scalar Subquery
Subquery baris tunggal (scalar ) hanya mengembalikan hasil satu baris data. Bentuk
subquery ini diperlihatkan seperti Gambar 1.
Subquery baris tunggal dapat menggunakan operator baris tunggal =, >, >=, <, <=, atau <>.
b. Multiple-Row Subquery
Subquery baris ganda (multiple-row) mengembalikan lebih dari satu baris data. Bentuk subquery ini
diperlihatkan seperti Gambar 2.
Subquery baris ganda dapat menggunakan operator komparasi IN, ANY/SOME, atau ALL.
c. Multiple-Column Subquery
Subquery kolom ganda (multiple-column) mengembalikan lebih dari satu baris dan satu kolom
data. Bentuk subquery ini diperlihatkan seperti Gambar 3.
Keuntungan :
1. Cepat, kompilasi dilakukan didatabase (kadang disebut “pre-compilation”)
sehingga mengurangi traffic
2. Adanya pemisahan antara database dan access logic dengan application logic
sehingga program aplikasi menjadi lebih sederhana dan lebih ringkas
3. Berupa obyek dalam database, sehingga menghilangkan ketergantungan
terhadap bahasa program yang digunakan
4. Bersifat portable, jika bisa berjalan didatabase tersebut maka dipastikan jika
database bisa terinstall dimanapun maka store procedure pasti bisa dijalankan
Dari contoh diatas terlihat bahwa parameter “x” (sebagai OUT) digunakan untuk
menampung hasil dari perintah routine_body. Pernyataan “into x”, inilah yang
mengakibatkan “x” menyimpan informasi nama (sebagai kolom yang ter-select). Untuk
menjalankan procedure digunakan ststemen call. Pernyataan “call pMHS(@Nama)”
menghasilkan informasi yang kemudian disimpan pada parameter “@Nama”. Kemudian
untuk menampilkan informasi ke layar digunakan pernyataan “select @Nama”.
Function
statemen baik yang secara eksplisit atau implisit commit atau rollback.
Contoh :
Dari contoh diatas terlihat bahwa parameter “x” diperlakukan sebagai IN karena
sebagaimana dijelaskan sebelumnya bahwa fungsi hanya bisa dilewatkan dengan parameter IN.
Kemudian untuk pengembalian nilainya, digunakan tipe data dengan kisaran nilai tertentu
(dalam hal ini char(40)) dengan diawali pernyataan returns.
Pernyataam “concat('Nama : ', x)” merupakan routine_body yang akan
menghasilkan gabungan string “Nama :” dengan nilai dari parameter “x” yang didapat ketika
fungsi ini dieksekusi. Perintah yang digunakan untuk mengeksekusi fungsi adalah “select
fcNamaMHS('Sholihun')”.