BASIS DATA
Disusun oleh :
Nama : Muhammad Rijalus Sholihin
NIM : 211080200132
Kelompok :6
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2021 – 2022
LEMBAR PERSETUJUAN
LAPORAN PRAKTIKUM
BASIS DATA
Nama : Muhammad Rijalus Sholihin
NIM : 211080200132
Kelompok :6
Mengetahui,
Laboran Informatika
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2021 – 2022
KATA PENGANTAR
Alhamdulillah segala puji syukur atas kehadiran Allah SWT yang telah
memberikan rahmat dan hidayahnya sehingga penyusun dapat menyelesaikan
Laporan Praktikum Basis Data ini tanpa halangan yang berarti :
Keberhasilan penyusun dalam menyusun Laporan Praktikum Basis Data
ini tidak lepas dari bantuan berbagai pihak. Untuk ini saya selaku penyusun
menyampaikan terima kasih yang sebesar – besarnya kepada :
1. Dr. Hindarto, S.Kom., MT., selaku Dekan Fakultas Sains dan
Teknologi Universitas Muhammadiyah Sidoarjo.
2. Ir. Sumarno, MM., selaku Kepala Program Studi Informatika
Universitas Muhammadiyah Sidoarjo.
3. Ika Ratna Indra Astutik, S.Kom., MT., selaku Dosen Praktikum
Basis Data Universitas Muhammadiyah Sidoarjo.
4. Melina Atikawati, S.Kom., selaku Laboran Informatika Universitas
Muhammadiyah Sidoarjo.
5. Enggi Sabrilla Assara, selaku Asisten praktikum yang telah
membantu terlaksananya Praktikum Basis Data.
6. Keluarga dan teman – teman yang telah memberi bantuan baik materi
maupun spiritual dalam pembuatan Laporan Praktikum Basis Data.
Saya selaku penyusun menyadari bahwa laporan ini masih jauh dari
kesempurnaan, untuk itu penyusun mengharapkan kritik dan saran dari berbagai
pihak yang sifatnya membangun.
Akhir kata, semoga laporan ini dapat menjadi referensi untuk menambah
wawasan para pembaca dan tentunya dapat memberikan manfaat sebagaimana
yang diharapkan.
Sidoarjo, 11 Mei 2022
Penyusun,
ii
DAFTAR ISI
LEMBAR PERSETUJUAN...................................................................................i
KATA PENGANTAR............................................................................................ii
DAFTAR ISI.........................................................................................................iii
BAB I PENDAHULUAN.......................................................................................1
PENDAHULUAN..............................................................................................13
PENYAJIAN ( TUTORIAL )................................................................................13
Konsep Sistem Basis Data..............................................................................13
Konsep Model Data........................................................................................14
2. Model Data berbasis Record (Record Based Data Model)....................14
Bahasa Basis data..........................................................................................15
Entity Relationship Diagram (ER-D).............................................................15
LEMBAR KERJA DAN TUGAS......................................................................20
A. LEMBAR KERJA....................................................................................20
B. TUGAS....................................................................................................24
REFERENSI.......................................................................................................31
Lembar Asistensi..................................................................................................32
PENDAHULUAN..............................................................................................33
PENYAJIAN (TUTORIAL)..............................................................................33
A. SQL (Structure Query Language)...........................................................33
B. Element SQL...........................................................................................33
C. MySQL (My Structured Query Language)..............................................41
iii
LEMBAR KERJA DAN TUGAS......................................................................49
REFERENSI.......................................................................................................52
Lembar Asistensi..................................................................................................53
PENDAHULUAN..............................................................................................54
PENYAJIAN (TUTORIAL)..............................................................................54
A. Data Definition Language (DDL)...........................................................54
B. Perintah – perintah DDL........................................................................55
LEMBAR KERJA DAN TUGAS......................................................................69
REFERENSI.......................................................................................................77
Lembar Asistensi..................................................................................................78
PENDAHULUAN..............................................................................................79
PENYAJIAN (TUTORIAL)..............................................................................79
A. Data Manipulation Language (DML).....................................................79
B. Perintah DML sebagai berikut :.............................................................80
LEMBAR KERJA DAN TUGAS......................................................................94
REFERENSI.....................................................................................................102
Lembar Asistensi................................................................................................103
PENDAHULUAN............................................................................................104
PENYAJIAN (TUTORIAL)............................................................................104
LEMBAR KERJA DAN TUGAS....................................................................116
REFERENSI.....................................................................................................120
Lembar Asistensi................................................................................................121
PENDAHULUAN............................................................................................122
PENYAJIAN (TUTORIAL)............................................................................122
A. Pemahaman Hak Akses.........................................................................122
B. Mengatur Hak Akses.............................................................................122
C. Membatasi Hak Akses...........................................................................124
D. Hak Akses Penuh...................................................................................124
E. Hak Akses kepada Public......................................................................125
F. Pencabutan Hak Akses..........................................................................125
LEMBAR KERJA DAN TUGAS....................................................................126
iv
REFERENSI.....................................................................................................133
KARTU ASISTENSI.........................................................................................134
v
BAB I
PENDAHULUAN
Misi Laboratorium :
1. Menyelenggarakan praktikum berkualitas, dan pembimbingan
berdasarkan kurikulum yang terintegratif dan berkelanjutan
untuk seluruh Mahasiswa Informatika
2. Menyediakan sarana dan prasarana untuk kegiatan penelitian,
pengembangan dan inovasi dalam bidang Informatika dan
Komputer.
3. Memberikan pelayanan Laboratorium yang baik dan bermutu
4. Meningkatkan Kerjasama dengan instansi pemerintah / swasta /
masyarakat di bidang Informatika dan Komputer di Tingkat
Nasional.
Sasaran Laboratorium :
Tersedianya sarana dan prasarana untuk penunjang kegiatan
praktikum.
Tersedianya assisten laboratorium dan assisten praktikum yang
professional dan sesuai dengan tugasnya.
Adanya koordinasi atau kerja sama yang baik antara unit-unit
yang terkait.
Meningkatnya pengelolaan data akademik.
Meningkatnya pelayanan administrasi praktikum.
1
Tujuan Laboratorium :
1. Mengembangkan sumber daya laboratorium terpadu untuk
peningkatan kualitas pelayanan praktikum, penelitian,
pembelajaran dan pengembangan masyarakat.
2. Mengembangkan sumber-sumber pendanaan laoratorium yang
berkelanjutan.
3. Pengembangan sistem manajemen Laboratorium yang sehat dan
harmonis.
4. Mengembangkan kelembagaan laboratorium yang kuat dan
dinamis serta meningkatkan kapabilitas dan kompetensi SOM.
Manfaat Laboratorium Basis Data :
1. Diharapkan dapat memfasilitasi pengembangan mata pelajaran
TIK (Teknologi Informasi Komputer) sebagai bagian dasar
pemanfaatan teknologi untuk mempersiapkan peserta didik yang
memadai agar dimasa depan dapat berperan sebagai kontribusi
dari penguasaan komputer.
2. Untuk menunjang proses pembelajaran yang bermutu, teratur dan
berkelanjutan.
3. Meningkatkan pengalaman dan keterampilan dalam
mengimplementasikan penguasaan komputer pada mata pelajaran
lainnya.
4. Memberikan dampak kepada siswa untuk lebih terampil
mengkomunikasikan teori dengan praktik dalam proses belajar
mengajar.
5. Memberikan pengalaman langsung kepada siswa melalui praktik
– praktik lapangan.
2
a. Tujuan SOP
1. Meningkatkan efisiensi pelaksanaan kegiatan praktikum di
laboratorium Informatika.
2. Memberikan sanksi bagi pengguna laboratorium yang tidak
memenuhi aturan.
b. Pihak Terkait
a. Mahasiswa;
b. Dosen;
c. Laboran;
d. Asisten; dan
e. Kalab;
c. Waktu dan Tempat Pelaksanaan
Waktu praktikum sesuai dengan jadwal yang telah ditentukan.
Tempat pelaksanaan praktikum di Laboratorium Informatika.
c.1. Jumlah tatap muka
Jumlah tatap muka praktikum Basis Data di Laboratorium
Basis Data menetapkan 6 kali tatap muka.
c.2. Lama praktikum setiap tatap muka
Lama praktikurn untuk setiap tatap muka adalah 2 jam
dengan pertimbangan bahwa setengah jam pertama untuk
persiapan peralatan sedangkan satu setengah jam berikutnya untuk
materi praktikurn. Jeda waktu antar praktikum 15 menit dengan
pertimbangan bahawa diperlukan waktu kurang lebih 15 menit
bagi asisten untuk mempersiapkan pelaksanaan praktikum
berikutnya.
3
2. Pelanggaran atas aturan ini dikenakan sanksi tidak dapat
mengikuti praktikum berikutnya.
3. Asisten harus melaporkan terjadinya pelanggaran ke laboran
dan mencatat pelanggaran yang terjadi.
4. Kerusakan karena kelalaian praktikan menjadi tanggung jawab
praktikan yang bersangkutan.
5. Tidak membawa makanan dan minuman ke dalam
laboratorium.
4
13. Kalab membuat kartu peserta (lampiran) dengan ketentuan nilai
: Dinyatakan lulus praktikum jika nilai minimal praktikum C.
5
6
TATA TERTIB
LABORATORIUM FAKULTAS TEKNIK UMSIDA
1. Praktikum dilaksanakan tepat waktu sesuai dengan jadwal yang
ditetapkan.
2. Mahasiswa yang terlambat datang atau absen harus memberikan
surat/bukti yang dapat dipercaya (surat dokter atau surat keterangan
kerja dari perusahaan).
3. Mahasiswa diperkenankan pindah kelompok/jam/hari praktikum
dengan syarat mengkonfirmasi 1 minggu sebelum pelaksanakan
praktikum melalui Koordinator Praktikum dan Kepala Lab.
4. Mahasiswa yang tidak hadir pada saat jadwal yang telah ditentukan
diperkenankan mengikuti praktikum berikutnya dengan membayar
denda permodul praktikum pada bank yang di tunjuk oleh UMISDA
selama proses praktikum masih berlangsung.
5. Mahasiswa harus berbusana yang sopan dan rapi ( tidak diperkenankan
memakai kaos oblong dan sandal atau sepatu sandal) serta membawa
kartu identitas diri (kartu anggota) selama praktikum. (DIBELI DI
LAB)
6. Mahasiswa harus meminjam alat praktikum dengan cara mengisi
lembaran bon pinjaman alat yang tersedia.
7. Praktikum dianggap selesai jika mahasiswa telah menyerahkan laporan
sementara dan alat yang dipinjam dalam keadaan baik, bersih, dan rapi.
8. Kerusakan alat yang dipinjam oleh mahasiswa menjadi tanggung
jawab penuh kelompok mahasiswa yang bersangkutan.
9. Selama praktikum berlangsung, mahasiswa dilarang merokok, makan
bergurau,bermain alat, menghidupkan Hand Phone, atau pun keluar
masuk ruangan tanpa seijin dosen pembimbing / asisten pendamping.
10. Setelah melakukan praktikum, mahasiswa harus membuat laporan
sementara hasil pengamatan praktikum rangkap dua dan menyerahkan
kepada dosen pembimbing / asisten pada saat meninggalkan ruangan
untuk ditanda tangani (YANG NANTINYA DILAMPIRKAN
DALAM LAPORAN AKHIR).
7
11. Mahasiswa yang tidak melaksanakan praktikum 1 Modul dinyatakan
tidak lulus.
12. Laporan Akhir Praktikum, cover-nya menggunakan Standar Fakultas
dan Laporan diserahkan 2 minggu setelah jadwal masing-masing
kelompok.
13. Apabila Laporan diserahkan lebih dari 2 minggu maka dinyatakan
TIDAK LULUS dan laporan Praktikum diserahkan ke koordinator
praktikum dan kepala lab.
14. Mahasiswa yang dinyatakan tidak lulus Praktikum harus mengulang
dijadwal praktikum berikutnya dengan membayar biaya praktikum
yang telah ditentukan oleh Universitas melalui bank yang ditunjuk
oleh UMSIDA.
ALAT LABORATORIUM
Di laboratorium Fakultas Sains dan Teknologi Universitas
Muhammadiyah Sidoarjo memiliki peralatan Laboratorium yang ada
untuk menunjang pelaksanaan praktikum yang berupa:
1. Modul Praktikum Basis Data
2. Komputer
3. LCD
4. Papan Tulis
INVENTARIS LABORATORIUM BASIS DATA
1. Monitor : 12
2. CPU : 12
3. Mouse : 11
4. Keyboard : 11
5. Meja : 12
6. Kursi : 25
8
C. Peralatan Laboratorium
Di laboratorium Basis Data Fakultas Teknik Universitas
Muharnmadiyah Sidoarjo memiliki peralatan Laboratorium yang ada
untuk menunjang pelaksanaan praktikum yang berupa :
1. Modul Praktikum Basis Data
2. Komputer
3. LCD
4. Papan Tulis
D. Peralatan Pendukung
Software yang digunakan dalam praktikum Basis Data adalah
MySQL-5.0.22-WIN32.
9
BAB II
KURIKULUM
B. Silabus Praktikum
Silabus praktikum Basis Data :
1. Basis Data, Model Data, Diagram ER
2. Structure Query Language (SQL)
3. Data Definition Language (DDL)
4. Data Manipulation Language (DML)
5. Query and View
6. Data Control Language (DCL) atau Hak Akses User
10
C. Satuan Acara Praktikum (SAP)
Tujuan
Pertemuan
Instruksional Topik Subtopik
Ke –
Khusus (TIK)
1 Mahasiswa mampu Basis Data, Sistem Basis Data :
menjelaskan konsep Model Data, a. Komponen Sistem
dasar Sistem Basis Diagram ER Basis Data.
Data b. Mengenal DBMS
c. Abstraksi Data
d. Bahasa Basis Data
2 Mahasiswa Structure Query Struktur Query Language
memahami konsep Language (SQL) :
dasar SQL a. Menjelaskan definisi
dan representasi SQL.
b. Mengetahui elemen-
elemen pada SQL.
c. Memabami fungsi –
fungsi dan operator
dalam SQL.
d. Mengetahui cara men
gins tall MySQLpada
sistem operasi
Windows
3 Mahasiswa dapat Data Definition Menjelaskan perintah-
menyelesaikan Language (DDL) perintah SQL untuk Data
permasalahan yang Definiton Language
berkaitan dengan (create, drop, alter, insert,
ekspresi SQL update, delete)
4 Mahasiswa dapat Data 1. Memasukkan data ke
menerapkan ekspresi Manipulation tabel di MySQL.
SQL dalam kasus Language (DML) 2. Memanipulasi data
11
nyata dalam basis data di
MySQL.
3. Melakukan query
dalam basis data di
MySQL.
5 Mahasiswa dapat Query dan View 1. Mengelolah data
menyelesaikan dengan kriteria tertentu.
permasalahan Query 2. Mengelolah data dari
dan View beberapa tabel.
3. Memahami dan
membuat View.
4. Dapat Memanggil data
melalui View.
5. Merubah definisi View.
6. Insert, Update, dan
Delete data melalui
View.
7. Menghapus (drop)
view.
6 Mahasiswa Data Control a.Menjelaskan hak akses
mengetahui dan Language (DCL) di basis data.
mampu menjelaskan atau Hak Akses b. Menjelaskan
mekanisme Hak User. pengaturan hak akses
Akses User pada user.
Basis Data c.Menjelaskan
penerapkan batasan-
batasan hak akses user.
12
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2021 – 2022
Lembar Asistensi
NIM : 211080200132
Kelompok :6
Mengetahui,
POKOK BAHASAN 1
PENDAHULUAN
Pada pokok bahasan ini berisi penjelasan disertai contoh mengenai
konsep basis data, pemodelan data dan pembuatan diagram E-R yang
menjadi pemahaman dasar bagi mahasiswa sebelum mempelajari sistem
basis data dan Structure Query Language (SQL), dimana konsep ini
nantinya digunakan untuk merepresentasikan sebuah sistem basis data,
diharapkan mahasiswa dapat :
1. Memahami sistem basis data dan komponennya.
2. Membuat desain basis data menggunakan ER_Diagram.
3. Memahami dan mengimplementasikan titur-fitur yang ada pada
ER_Diagram.
PENYAJIAN ( Tutorial )
Konsep Sistem Basis Data
Basis data adalah kumpulan data yang disimpan secara sistematis di
dalam komputer dan dapat diolah atau dimanipulasi serta dapat diakses
dengan mudah dan tepat menggunakan perangkat lunak (program aplikasi)
untuk menghasilkan sebuah informasi.
Sistem basis data merupakan ruang lingkup yang lebih luas dari basis
data. Sistem basis data memuat sekumpulan basis data dalam suatu sistem
yang mungkin tidak ada hubungan antara satu dengan yang lain, tetapi
secara keseluruhan mempunyai hubungan sebagai sebuah sistem yang
didukung oleh komponen lainnya.
14
Komponen Sistem Basis Data: Perangkat Keras (Hardware), Sistem
Operasi (Operating System), basis data (Database), DBMS (Database
Management System), Pemakai (User).
DBMS (Database Management System) merupakan basis data dan set
perangkat lunak (software) untuk pengelolaan basis data.
Konsep Model Data
Model data merupakan suatu cara untuk menjelaskan tentang data-data
yang tersimpan dalam basis data dan bagaimana hubungan antar data
tersebut untuk para pengguna (user) secara logika. Secara garis besar model
data dapat dikelompokkan menjadi 3 mcacam yaitu :
1. Model Data Berbasis Objek (Object based data model)
Merupakan himpunan data dan relasi yang menjelaskan bubungan
logik antar data dalam suatu basis data berdasarkan pada obyek
datanya. Salah satunya adalah Entity Relationship Model.
Model Entity Relationship Diagram (ERO) atau Conceptual Data
Model (COM) Merupakan suatu model untuk menjelaskan hubungan
antar data dalam basis data berdasarkan suatu persepsi bahwa dunia
nyata terdiri dari obyek-obyek dasar (entitas) yang mempunyai
hubungan atau relasi antar obyek-obyek dasar (entitas) tersebut yang
dilukiskan dengan menggunakan simbol-simbol grafik tertentu.
2. Model Data berbasis Record (Record Based Data Model)
Model ini berdasarkan pada record/rekaman untuk menjelaskan
kepada para pemakai tentang logik antar data dalam basis data. Salah
satunya adalah Relational model.
Model Rasional merupakan model data yang menjelaskan pada
pengguna tentang hubungan logik antar data dalam basis data dengan
mempresentasikannya ke dalam betuk tabel-tabel yang terdiri atas
sejumlah baris yang menunjukkan record dan kolom yang menunjukkan
atribut tertentu.
3. Physical Based Data Model
15
Model ini berdasarkan pada teknis penyimpanan record dalam basis
data. Model ini jarang digunakan untuk memodelkan data kepada
pemakai karena kerumitan dan kompleksitasnya yang tinggi.
16
Bahasa Basis data
Bahasa yang digunakan untuk mendefinisikan, mengelolah dan
memanipulasi basis data dikelompokkan 3 macam yaitu :
1. DDL (Data Definition language) digunakan untuk mendefinisikan
struktur dan kerangka dari basis data yang meliputi :
a. Membentuk basis data, tabel, indeks.
17
a. Entitas (Entity)
Entitas menunjukkan obyek-obyek dasar yang terkait di
dalam sistem. Obyek dasar dapat berupa orang, benda atau hal
yang keterangannya perlu disimpan di dalam basis data. Macam-
macam Entitas :
Entitas Reguler
Entitas ini disebut juga entitas dominan (strong entity).
Keberadaan entitas ini tidak tergantung pada entitas yang lain.
Contoh : Mahasiswa, Matakuliah.
Entitas dependen
Entitas ini disebut juga entitas tidak bebas/independen atau
entitas lemah (weak entity) atau entitas subordinat. Entitas ini
dapat muncul jika ada entitas lain sebagai acuannya (entitas
reguler).
Contoh : Matakuliah _ konsentrasi, bergantung pada entitas
Matakuliah.
Entitas super type dan sub type
Entitas super type merupakan entitas yang memiliki tingkatan
yang lebih tinggi yaitu membawahi atau mempunyai entitas
bagian yang lebih rendah.
Contoh: Entitas Karyawan.
Entitas sub type merupakan entitas yang lebih rendah yaitu
entitas yang menjadi entitas bagian dari entitas lain.
Contoh : Entitas karyawan_tetap dan karyawan_tidak_tetap
b. Atribut (Attribute)
Merupakan keterangan-keterangan yang terkait pada sebuah
entitas yang perlu disimpan ke dalam database. Atribut berfungsi
sebagai penjelas pada sebuah entitas. Contoh : mahasiswa
mempunyai atribut nim, nama, jurusan, kelamin, tempat_lahir,
18
tanggal_lahir, dsb. Atribut pada sebuah entitas dibagi menjadi 2
yaitu :
19
terjadi satu kali dalam entitas pertama dan dapat terjadi lebih
dari satu kali kejadian atau transaksi pada entitas kedua.
20
Dimana setiap tupel pada entitas A dapat berhubungan dengan
banyak tupel pada entitas B, dan demikian juga sebaliknya,
dimana setiap tupel pada entitas B dapat berhubungan dengan
banyak tupel pada entitas A.
2. Langkah-langkah Membuat ER_ Diagram
Untuk membuat ER_Diagram secara lengkap dapat dilakukan
dengan mengikuti langkah-langkah sebagai berikut :
Identifikasikan setiap entitas yang terlibat.
21
LEMBAR KERJA DAN TUGAS
A. LEMBAR KERJA
Bacalah dengan seksama studi kasus perancangan basis data di bawah
ini: Perpustakaan di Universitas Muhammadiyah Sidoarjo memutuskan
untuk menyimpan semua informasi mengenai koleksi bukunya dalam
sebuah basis data (database). Basis data yang akan di rancang mempuyai
deskripsi sebagai berikut :
1. Setiap mahasiswa yang ingin meminjam buku harus mempuyai kartu
anggota yang terdiri dari kode anggota, nama, alamat, email dan telpon.
2. Tiap buku yang di pinjamkan mempunyai kode buku, judul buku,
harga, tahun terbit, pegarang dan penerbit.
3. Tiap pengarang yang bukunya di beli perpustakaan mempunyai kode
pengarang dan nama pengarang.
4. Tiap penerbit yang bukunya telah di beli oleh perpustakaan mempunyai
kode penerbit,nama penerbit, nama perusahaan, alamat, kabupaten dan
telpon.
5. Tiap buku bisa di pinjam oleh beberapa anggota dan seorang anggota
bisa meminjam beberapa buku.
6. Tiap pengarang mungkin mengarang beberapa buku dan setiap buku
dapat di pinjam oleh beberapa anggota.
22
No Nama entitas
1 Anggota
2 Buku
3 Pengarang
4 Penerbit
Entitas Attribut
Anggota kode_anggota
Buku kode_buku
Pengarang kode_pengarang
Penerbit kode_penerbit
23
Entitas yang
berhubungan Nama Jenis
Representasi
Entitas I Entitas II kerelasian kerelasian
24
25
7. Membuat Kamus Data (Struktur Entitas) Kamus data digunakan untuk
menjabarkan struktur dari tabel atau entitas dan basis data.
Tabel Anggota
No Field Tipe Ukuran Keterangan
1 kode_anggota Varchar 5 Primary Key
2 nama Varchar 25
3 alamat Varchar 50
4 email Varchar 20
5 telepon Varvhar 15
Tabel Buku
No Field Tipe Ukuran Keterangan
1 kode_buku Varchar 5 Primary Key
2 judul_buku Varchar 35
Tabel Pengarang
No Field Tipe Ukuran Keterangan
1 kode_pengarang Varchar 5 Primary Key
2 nama_pengarang Varchar 35
Tabel Penerbit
N Field Tipe Ukuran Keterangan
o
1 kode_penerbit Varchar 5 Primary Key
2 nama_penerbit Varchar 25
26
3 nama_perusahaan Varchar 50
4 alamat Varchar 50
5 kabupaten Varvhar 25
6 telepon Varchar 15
Tabel Peminjaman
N Field Tipe Ukuran Keterangan
o
1 id_peminjam Number 5 Auto Increment
2 kode_anggota Varchar 5 Foreign Key
B. TUGAS
Studi Kasus
Universitas Muhammadiyah Sidoarjo yang beralamatkan di JI.
Mojopahit 666B Sidoarjo akan membuat sebuah basis data untuk
menyimpan dan mengelolah data pegawai. Basis data yang akan dibuat
diberi nama basis data Kepegawaian. Basis data ini harus dapat mengelolah
data pegawai dan data absensi pegawai.
Pada Universitas ini pegawai dibedakan menjadi pegawai tetap dan
pegawai kontrak. Selain itu pegawai juga mempunyai jabatan dan golongan
yang berbeda. Dimana Jabatan terbagi atas : Rektor, Wakil Rektor, Kepala
Biro, Kepala UPT, Dekan, Kepala Program Studi, Kepala Laboratorium,
Staff, Keamanan, Kebersihan. Sedangkan Golongan ditentukan oleh tingkat
pendidikan yang di tempuh, dimulai dari golongan IA sampai golongan
IVD. Jam Kerja di Universitas dibedakan menjadi dua yaitu hari Senin s/d
Jum'at pukul 08.00-14.00 WIB sedangkan hari Sabtu pukul 08.00- 12.00
WIB.
27
28
Dari studi kasus di atas :
1. Bacalah dengan seksama studi kasus di atas kemudian analisa-lah basis
data pengolahan data kepegawaian seperti langkah-langkah diatas.
2. Kumpulkan laporan (basil analisa basis data ) sebelum Anda masuk ke
pokok bahasan 2.
Jawaban :
1. Identifikasi setiap entitas yang terlibat dengan table kepegawaian.
No Nama Entitas
1 pegawai
2 jabatan
3 golongan
4 jadwal
5 pk_karyawan
Entitas Attribut
29
3. Menentukan Primary Key dari masing - masing entitas.
pegawai kode_pegawai
jabatan kode_jabatan
golongan kode_golongan
jadwal id_hari
pk_karyawan id_pk
30
pegawai golongan Termasuk n – ke – 1 Penghubung :
kode_golongan pada
entitas golongan
pegawai jabatan Memiliki n – ke – 1 Penghubung :
kode_jabatan dalam
entitas jabatan
31
6. Gambarkan model konseptual dari ER Diagram diatas
Model konseptual digunakan untuk memperjelas relasi antara entitas
satu dengan entitas lain menggunakan Primary key dan Foreign Key.
3 nama_belakang Varchar 50
5 telepon Varchar 13
6 tmp_lahir Varchar 25
10 kabupaten_kota Varvhar 35
11 provinsi Varchar 25
32
12 kode_pos Varchar 5
13 pendidikan_terakhir Varchar 3
14 nama_sekolah Varchar 50
15 kode_golongan Varchar 2 Foreign Key
16 status Enum 3 Value :
‘MENIKAH’,
‘BELUM
MENIKAH’,
‘PELAJAR/MAHA
SISWA’
17 kode_jabatan Varchar 6 Foreign Key
18 kode_status_pegawai Varchar 6 Foreign Key
19 tgl_recruiment Date Default
20 tgl_resign Date Default
Tabel jabatan
No Field Tipe Ukuran Keterangan
1 kode_jabatan Varchar 6 Primary Key
2 jabatan Varchar 25
Tabel golongan
No Field Tipe Ukuran Keterangan
1 kode_golongan Varchar 2 Primary Key
2 golongan Varchar 25
33
Tabel pk_karyawan
N Field Tipe Ukuran Keterangan
o
1 id_pk Varchar 6 Primary Key
2 kode_pegawai Varchar 6 Foreign Key
5 lama_pk Integer 2
Tabel jadwal
N Field Tipe Ukuran Keterangan
o
1 id_hari Varchar 2 Primary Key
2 hari Varchar 6
Tabel absensi
N Field Tipe Ukuran Keterangan
o
1 id_absensi Int 11 Auto Increment
2 kode_pegawai Varchar 6 Foreign Key
34
‘TERLAMBAT’,
‘MASUK’, ‘IZIN’,
‘ALPHA’
REFERENSI
03 Manajernen Informatika, Modul Praktikum Basis data 1, Laboratorium
Universitas Trunojoyo Madura, Madura.
Sutanta Edhy, Sistem Basis Data, Graha Ilmu, Bandung, 2004.
Sutanta Edby, Basis Data dalam Tinjauan Konseptual, Andi Yogyakarta,
Yogyakarta, 2011.
35
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2021 – 2022
Lembar Asistensi
NIM : 211080200132
Kelompok :6
Mengetahui,
PENDAHULUAN
Pada pokok bahasan ini akan dibahas mengenai structured query language
(SQL) yang pembahasannya meliputi definisi dan representasi sql, elernen-elernen
pada sql serta penerapan operasi elemen sql pada MySQL. Sehingga setelah
mempelajari bab ini diharapkan mahasiswa mampu :
a. Menjelaskan definisi dan representasi SQL.
b. Mengetahui elemen-elernen pada SQL.
c. Memahami fungsi-fungsi dan operator dalam SQL.
d. Mengetahui cara menginstall MySQL pada sistem operasi Windows.
PENYAJIAN (TUTORIAL)
B. Element SQL
Elemen dasar SQL mencakup pemyataan, nama, tipe data, konstanta,
ekspresi, operator relasi, operator logika dan fungsi bawaan.
a. Pernyataan
Merupakan perintah SQL yang meminta sesuatu tindakan kepada
DBMS (Database Management System). SQL memiliki kira-kira 30
pemyataan. Beberapa pemyataan dasar SQL dapat dilihat pada tabel
berikut :
37
Pernyataan Keterangan
38
b. Nama
Nama digunakan sebagai identitas bagi objek-objek pada DBMS
(Database Management System). Contoh objek pada DBMS adalah
tabel, kolom dan pengguna.
c. Tipe Data
Setiap data memiliki tipe data. Berikut ini adalah tipe data dalam
MySQL:
Signed :
Nilai Integer yang -32768 s.d. 32767,
SMALLINT
kecil Unsigned :
0 s.d. 65535
Signed :
Integer dengan nilai -8388608 s.d. 8388607,
MEDIUMINT
medium Unsigned :
0 s.d. 16777215
39
-2147483648 s.d.
2147483647,
standart
Unsigned :
0 s.d. 4294967295
Signed:
-9223372036854775808
Integer dengan nilai s.d.
BIGINT
besar 9223372036854775807,
Unsigned : 0 s.d.
18446744073709551615
Minimum±
Bilangan desimal
1.17549435 le-38,
FLOAT dengan single-
Maksimum ±
precission
3.402823466e+38
Minimum ±
Bilangan desimal 2.22057385850720 l 4e-
DOUBLE dengan double- 308,
precission Maksimum±
l.7976931348623457e+308
Bilangan float
(desimal) yang
dinyatakan sebagai
string. M adalah
DECIMAL Tergantung pada nilai M
jumlah digit yang
(M,D) dan D
disimpan dalam suatu
kolom, D adalah
jumlah digit
dibelakang koma
40
Keterangan :
Signed dan Unsigned adalah atribut untuk tipe data numerik.
- Signed : Data yang disimpan dalam suatu kolom dapat berupa data
negatif dan positif.
- Unsigned : Digunakan agar data yang dimasukkan bukan data
negatif (>=0). Tipe data float tidak Dapat dinyatakan dengan
unsigned.
Tipe Keterangan Ukuran Maksimum
String karakter dengan panjang
CHAR(n) 1 M byte
yang tetap, yaitu n.
16
BLOB BLOB berukuran kecil. 2 −1 byte
24
MEDIUMBLOB BLOB berukuran sedang. 2 −1 byte
32
LONGBLOB BLOB berukuran besar. 2 −1 byte
8
TINYTEXT String teks yang sangat kecil. 2 −1 byte
16
TEXT String teks berukuran kecil. 2 −1 byte
32
LONGTEXT String teks berukuran besar. 2 −1 byte
41
– 31"
d. Konstanta
Konstanta menyatakan nilai yang tetap atau tidak berubah.
Konstanta sering di pakai pada perintah SELECT. Konstanta di bagi
menjadi 2 :
1. Konstanta bertipe numerik: 200, -3, 1500, 3.25
2. Konstanta bertipe karakter: 'Teknik lnformatika'
Keterangan : Konstanta bertipe karakter atau String diapit oleh tanda
petik tunggal. Dan konstanta dengan nilai pecahan desimal adalah
berupa tanda titik.
e. Operator Aritmatika
Operator Aritmatika adalah ekspresi untuk memperoleh suatu nilai
dari hasil perhitungan.
Conteh: harga * jumlah + 2
Sirnbol-simbol yang dapat digunakan pada ekspresi aritmatika :
Simbol Keterangan
* Perkalian
/ Pembagian
+ Penjumlahan
- Pengurangan
% Sisa Bagi
42
43
f. Operator Relasi
Merupakan operator yang digunakan untuk membandingkan suatu
nilai dengan nilai yang lain. Biasanya operator relasi digunakan
bersamaan dengan operator logika dalam membantu untuk
menampilkan informasi dengan kriteria tertentu.
Simbol-simbol yang dapat digunakan pada operator relasi :
Simbol Keterangan
== Sama Dengan
g. Operator Logika
Operator logika ada 3 yaitu OR, AND dan NOT
Simbol Keterangan
OR atau || Atau
h. Operator Pembanding
Simbol Keterangan
44
(null).
Apakah suatu nilai di antara dua
BETWEEN
batasan nilaI.
Apakah suatu nilai berada di dalam
IN
pilihan yang ada.
Apakah suatu nilai tidak berada dalam
NOT IN
pilihan yang ada.
Apakah suatu nilai sesuai dengan
LIKE
kriteria tertentu
Apakah suatu nilai tidak sesuai dengan
NOT LIKE
kriteria tertentu.
1. SUM( ekspresi)
Fungsi ini digunakan untuk mendapatkan nilai total dari suatu
kolom pada suatu table
2. AVG(ekspresi)
Fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu
kolom dari suatu tabel atau ekspresi. Ekspresi dalam fungsi A VG
umumnya adalab nama kolom. Kolom yang dicari nilai rata-ratanya
adalah kolom dengan tipe data numerik.
3. COUNT(x)
Fungsi ini digunakan untuk menghitung jumlah record (baris) dari
suatu kolom dari suatu tabel. X adalah nama kolom yang ingin
dicari jumlah barisnya.
45
4. MAX(ekspresi)
Fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom
dari suatu tabel. Kolom yang dicari nilai terbesamya memiliki tipe
data numerik.
5. MIN(ekspresi)
Fungsi ini digunakan untuk mencari nilai terkecil dari suatu kolom
dari suatu tabel. Kolom yang dicari nilai terkecilnya memiliki tipe
data numerik.
46
Kearnanan, MySQL menerapkan sistem keamanan dan hak akses
secara bertingkat, termasuk dukungan dengan keamanan data secara
pengacakan lapisan data.
47
3. Pilih Custom, kemudian pilih tombol Next. Kemudian tampil
dialog fitur program sebagai berikut :
48
49
5. Kemudian pilih tombol Change ... , pada folder name ubah
menjadi c:/mysql sesuai dengan gambar berikut :
6. Pilih OK, kemudian pilih tombol Next, dan pilih tombol Install,
maka proses instalasi dimulai.
50
7. Berikutnya rnuncul dialog account, pilib Skip Sign-Up dan kJik
tornbol Next maka akan muncul kkotak dialog sebagai berikut :
8. Klik tombol Finish dan tombol Next maka akan muncul kotak
dialog sebagai berikut:
51
9. Pilih Standard Configuration dan klik tombol Next
52
11. Klik tombol Execute sebagai tahap akhir.
53
maka akan diminta untuk memasukkan password, isikan
password yang digunakan pada saat instalasi, yaitu ‘003008’.
1. Dari menu Start > All Programs > XAMPP > XAMPP Control
Panel > Shell Command Line Client, maka akan muncul
tampilan seperti berikut ini :
Hasil :
54
LEMBAR KERJA DAN TUGAS
1. Berdasarkan tingkat kompleksitas nilai data, tingkatan data dalam basis data
dapat disusun dalam sebuab hierarki, mulai dari yang paling sederhana
sampai yang paling kompleks. Gambarkan hierarki data hingga tersusun
suatu basis data.
Jawaban :
a. Bit
b. Byte
c. Fields
d. Record
e. File
f. Database
2. Jelaskan perbedaan antara tipe data CHAR dan VARCHAR serta berikan
contoh penerapannya (contoh tidak boleh sama).
Jawaban:
a. CHAR mempunyai panjang nilai yang bersifat tetap yang mana jika
panjang karakter yang ditentukan adalah 5, maka ketika menginputkan
sebuah nilai yang memiliki panjang karakter kurang dari atau sama
dengan 5, maka panjang karakter dari nilai tersebut akan terhitung 5
karakter/huruf. Type data ini juga dapat menampung panjang
karakter/huruf sebanyak 65.535 karakter.
b. VARCHAR mempunyai panjang nilai yang bersifat tidak tetap yang
mana jika panjang karakter yang ditentukan adalah 5, maka ketika
menginputkan sebuah nilai yang memiliki panjang karakter kurang dari
5, maka panjang karakter dari nilai tersebut akan terhitung sesuai
berapa karakter/huruf yang diinputkan selama tidak lebih dari 5
karakter atau huruf. Berbeda dengan type data CHAR, type data ini
hanya memiliki panjang karakter/huruf sebanyak 255 karakter saja.
55
Contoh:
Ukuran VARCHAR Ukuran
Nilai CHAR(5)
Penyimpanan (5) Penyimpanan
‘’ ‘ ’ 5 byte ‘’ 1 byte
56
4. Buatlah perintah MySQL berikut ini serta berikan contoh dan print screen
hasil kompilasinya.
57
REFERENSI
D3 Manajemen Informatika, Modul Praktikum Basis data 1,
Laboratorium Universitas Trunojoyo Madura, Madura.
Sutanta Edhy, Sistem Basis Data, Graha llmu, Bandung, 2004.
Sutanta Edhy, Basis Data dalam Tinjauan Konseptual, Andi Yogyakarta,
Yogyakarta, 2011
Saputro T Wahju, MySQL untuk Pemula, Pena Media, Yogyakarta, 2005
58
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2021 – 2022
Lembar Asistensi
NIM : 211080200132
Kelompok :6
Mengetahui,
PENDAHULUAN
Pada pokok babasan ini akan dibahas rnengenai data definition language pada
SQL, dimana DDL digunakan untuk memanipulasi data dalam basis data. Setelah
memepelajari materi ini diharapkan mahasiswa mampu untuk :
1. Mahasiswa mampu memahami dan membuat basis data.
2. Mahasiswa mampu memahami dan membuat tabel dari basis data.
3. Mahasiswa mampu mengelolah dan memanipulasi basis data dan tabel-
tabelnya.
PENYAJIAN (TUTORIAL)
60
B. Perintah – perintah DDL
Berikut ini perintah-perintah sql untuk Data Definiton Language :
DATABASE
a. Membuat Database
Syntax:
CREATE DATABASE namadatabase;
Dimana:
Nama database yang dibuat tidak boleh mengandung spasi dan
tidak boleh memiliki nama yang sama dengan database lain di MySQL.
Berikut ini perintah untuk membuat basis data dengan nama
perpustakaan :
mysql> CREATE DATABASE perpustakaan;
61
Syntax :
DROP DATABASE namadatabase;
Dimana:
Database yang akan dihapus harus sesuai dengan nama database.
Berikut itu perintah untuk menghapus database dengan nama
perpustakaan.
mysql> DROP DATABASE perpustakaan;
d. Mengaktifkan Database
Sebelum membuat suatu tabel, terlebih dahulu harus mengaktitkan
yang akan digunakan untuk menyimpan tabel-tabel tersebut dengan
perintah :
USE namadatabase;
karena database yang sudah dibuat telah dihapus maka buat kembali
database perpustakaan. Kemudian aktitkan database tersebut dengan
perintah :
mysql> USE perpustakaan;
e. Membuat Table
Dalam basis data tabel atau field berfungsi untuk menyimpan
record atau data. Untuk membuat table Syntaxnya adalah :
CREATE TABLE namatable1 (
Field1 Tipedata1 ([Lebar]),
Field2 Tipedata2 ([Lebar]),
…
Field3 Tipedata3 ([Lebar])
);
Keterangan :
Nama tabel tidak boleh mengandung spasi (space) tetapi jika
menginginkan ada spasi barus menggunakan tanda pengbubung
62
( nama_tabel ). Field} merupakan atribut pertama dan TipeData 1
merupakan tipe data untuk atribut pertama. Jika membuat tabel dengan
atribut lebih dari satu, maka setelah pendefinisian tipe data sebelumnya
diberikan tanda koma (,).
Berikut ini perintah untuk membuat tabel dengan nama pengarang :
mysql> create table pengarang (
kode_pengarang varchar(5),
nama_pengarang varchar(35)
);
Syntax tambahan:
Maka tabel pengarang telah terbentuk, untuk melihat hasilnya dapat
digunakan perintah:
SHOW TABLES;
Untuk melihat struktur tabel yang telah dibuat (dalam hal mi buku)
syntaxnya adalah:
DESC nama_table;
Contoh :
mysql> DESC pengarang;
63
f. Mendefinisikan Null / Not Null
Ketika membuat tabel, beberapa field harus diatur agar field
tertentu harus diisi. Biasanya field ini adalah sebagai field utama atau
kunci, juga sebagai identikasi sehingga tidak boleh kosong.
Syntax:
CREATE TABLE namatable1 (
Field1 Tipedata1 ([Lebar]) NOT NULL,
Field2 Tipedata2 ([Lebar]) NOT NULL,
…
Field3 Tipedata3 ([Lebar])
);
Contoh:
CREATE TABLE pengarang (
kode_pengarang VARCHAR(5) NOT NULL,
nama_pengarang VARCHAR(35) NOT NULL
);
TABLE
a. Mendefinisikan Nilai Bawaan
Nilai default adalah nilai yang otomatis diberikan oleh sistern
untuk suatu atribut ketika ada penambahan baris baru, sementara nilai
pada atribut tersebut tidak diisi oleh pengguna. Syntax :
CREATE TABLE namatable1 (
Field1 Tipedata1 ([Lebar]),
Field2 Tipedata2 DEFAULT nilai
);
64
Dimana nilai adalah nilai default dari atribut tersebut.
Contoh:
CREATE TABLE buku (
kode_buku VARCHAR(5) NOT NULL,
judul_buku VARCHAR(15) NOT NULL,
harga INTEGER DEFAULT 0,
tahun_terbit VARCHAR(5),
kode_pengarang VARCHAR(5),
kode_penerbit VARCHAR(5)
);
Primary Key adalab suatu atribut atau satu set minimal atribut yang
tidak hanya mendefinisikan secara unik suatu kejadian spesifik tetapi
juga dapat mewakili setiap kejadian dari suatu kejadian.
65
Terdapat tiga cara untuk membuat primary key. Berikut ini adalah
Syntax membuat primary key untuk Fieldl.
Cara 1:
CREATE TABLE namatable1 (
Field1 Tipedata1 ([Lebar]) NOT NULL
PRIMARY KEY,
Field2 Tipedata2 ([Lebar])
);
Cara 2:
CREATE TABLE namatable1 (
Field1 Tipedata1 ([Lebar]),
Field2 Tipedata2 ([Lebar]),
PRIMARY KEY (Field1)
);
Cara 3:
ALTER TABLE namatabel ADD CONSTRAINT
namaconstraint PRIMARY KEY (namakolom);
66
Contoh 2:
CREATE TABLE pengarang (
kode_pengarang VARCHAR(5) NOT NULL,
nama_pengarang VARCHAR(35) NOT NULL,
PRIMARY KEY (kode_pengarang)
);
Contoh 3:
CREATE TABLE pengarang (
kode_pengarang VARCHAR(5) NOT NULL,
nama_pengarang VARCHAR(35) NOT NULL
);
67
Penambahan Primary Key:
ALTER TABLE pengarang ADD CONSTRAINT pk
PRIMARY KEY (kode_pengarang);
68
d. Menentukan Foreign Key pada Table
Foreign Key adalah satu set atribut atau set atribut sebagai key
penghubung kedua tabel dan melengkapi satu relationship (hubungan)
terhadap primary key yang menunjukan keinduknya. Jika sebuah
primary key terhubungan ke table/entity lain, maka keberadaan primary
key pada entity tersebut di sebut sebagai foreign key.
69
kode_pengarang VARCHAR(5),
kode_penerbit VARCHAR(5),
FOREIGN KEY (kode_pengarang) REFERENCES
pengarang(kode_pengarang) ON UPDATE
CASCADE ON DELETE NO ACTION
);
Atau
CREATE TABLE buku (
kode_buku VARCHAR(5) NOT NULL PRIMARY
KEY,
judul_buku VARCHAR(15) NOT NULL,
harga INTEGER DEFAULT 0,
tahun_terbit VARCHAR(5),
kode_pengarang VARCHAR(5),
kode_penerbit VARCHAR(5)
);
70
ALTER TABLE buku ADD CONSTRAINT fk FOREIGN
KEY (kode_pengarang) REFERENCES pengarang
(kode_pengarang) ON UPDATE CASCADE ON DELETE
NO ACTION;
71
mengganti lebar field dari label tersebut. Perintah yang digunakan
adalah ALTER TABLE.
Menambah Atribut Baru Pada Tabel
Syntax:
ALTER TABLE namatabel ADD fieldbaru tipe;
Dimana:
namatabel adalah nama tabel yang akan ditambah fieldnya.
Fieldbaru adalah nama atribut yang akan ditambahkan, tipe adalah
tipe data dari atribut yang akan ditambahkan. Berikut ini perintah
untuk menambah atribut keterangan dengan tipe data varchar(25)
ke dalam tabel buku :
mysql> ALTER TABLE buku ADD keterangan
VARCHAR(25);
72
mysql> ALTER TABLE buku MODIFY COLUMN
keterangan CHAR(20);
73
Menghapus Atribut (Field) Pada Tabel
Syntax:
ALTER TABLE namatabel DROP COLUMN
namakolom;
Berikut ini perintah untuk menghapus atribut ket pada label buku :
mysql> ALTER TABLE buku DROP ket;
g. Menghapus Table
Tabel sudah di buat dapat di hapus dengan menggunakan perintah
DROP TABLE. Syntax sebagai berikut:
DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut mt perintah
untuk menghapus tabel dengan nama pengarang :
mysql> DROP TABLE buku;
74
LEMBAR KERJA DAN TUGAS
1. Buatlah sebuah database sesuai dengan hasil analisa Anda pada tugas di
pokok bahasan I ke dalarn MySQL.
Jawaban :
CREATE DATABASE kepegawaian;
2. Buatlah tabel-tabel beserta Primary Key dan Foreign Key – nya yang juga
sesuai dengan hasil analisa tugas di pokok bahasan I ke dalam MySQL.
Jawaban :
a. Membuat tabel
Table pegawai
CREATE TABLE pegawai (
kode_pegawai VARCHAR(6) NOT NULL,
nama_depan VARCHAR(25) NOT NULL,
nama_belakang VARCHAR(50),
email VARCHAR(100) NOT NULL,
telepon VARCHAR(13) NOT NULL,
tmp_lahir VARCHAR(25) NOT NULL,
tgl_lahir DATE NOT NULL,
alamat TEXT NOT NULL,
kecamatan VARCHAR(35) NOT NULL,
kabupaten_kota VARCHAR(35) NOT NULL,
provinsi VARCHAR(25) NOT NULL,
kode_pos VARCHAR(5),
75
pendidikan_terakhir VARCHAR(3) NOT NULL,
nama_sekolah VARCHAR(50) NOT NULL,
kode_golongan VARCHAR(2) NOT NULL,
status SET('MENIKAH', 'BELUM MENIKAH',
'PELAJAR/MAHASISWA') NOT NULL,
kode_jabatan VARCHAR(6) NOT NULL,
kode_status_pegawai VARCHAR(6) NOT NULL,
tgl_recruitment DATE NOT NULL,
tgl_resign DATE
);
Table jabatan
CREATE TABLE jabatan (
kode_jabatan VARCHAR(6) NOT NULL,
jabatan VARCHAR(25) NOT NULL
);
Table golongan
CREATE TABLE golongan (
kode_golongan VARCHAR(2) NOT NULL,
76
golongan VARCHAR(25) NOT NULL
);
Table jadwal
CREATE TABLE jadwal (
id_hari VARCHAR(2) NOT NULL,
hari VARCHAR(6) NOT NULL,
jadwal_masuk TIME NOT NULL,
jadwal_pulang TIME NOT NULL
);
Table pk_karyawan
CREATE TABLE pk_karyawan (
id_pk VARCHAR(6) NOT NULL,
kode_pegawai VARCHAR(6) NOT NULL,
status_pk SET(‘KONTRAK’, ‘TETAP’) NOT
NULL,
tgl_ttdpk DATE NOT NULL,
lama_pk INT(2) NOT NULL
);
77
Table absensi
CREATE TABLE absensi (
id_absensi INT NOT NULL,
kode_pegawai VARCHAR(6) NOT NULL,
id_hari VARCHAR(2) NOT NULL,
tanggal DATE NOT NULL,
jam_masuk TIME NOT NULL,
jam_pulang TIME NOT NULL,
status_absensi SET(‘TERLAMBAT’, ‘MASUK’,
‘IZIN’, ‘ALPHA’)
);
Table jabatan
ALTER TABLE jabatan ADD CONSTRAINT pk_jabatan
PRIMARY KEY (kode_jabatan);
78
Table golongan
ALTER TABLE golongan ADD CONSTRAINT
pk_golongan PRIMARY KEY (kode_golongan);
Table jadwal
ALTER TABLE jadwal ADD CONSTRAINT pk_hari
PRIMARY KEY (id_hari);
Table pk_karyawan
ALTER TABLE pk_karyawan ADD CONSTRAINT
pk_pkKaryawan PRIMARY KEY (id_pk);
Table absensi
ALTER TABLE absensi ADD CONSTRAINT pk_absensi
PRIMARY KEY (id_absensi);
79
c. Menentukan Foreign Key
Table pegawai
ALTER TABLE pegawai ADD CONSTRAINT fk_jabatan
FOREIGN KEY (kode_jabatan) REFERENCES
jabatan(kode_jabatan) ON UPDATE CASCADE ON
DELETE NO ACTION;
Table pk_karyawan
ALTER TABLE pk_karyawan ADD CONSTRAINT
fk_pkPegawai FOREIGN KEY (kode_pegawai)
REFERENCES pegawai(kode_pegawai) ON UPDATE
CASCADE ON DELETE NO ACTION;
Table absensi
ALTER TABLE absensi ADD CONSTRAINT
fk_absensiPegawai FOREIGN KEY (kode_pegawai)
REFERENCES pegawai(kode_pegawai) ON UPDATE
CASCADE ON DELETE NO ACTION;
80
ALTER TABLE absensi ADD CONSTRAINT
fk_absensiHari FOREIGN KEY (id_hari)
REFERENCES jadwal(id_hari) ON UPDATE CASCADE
ON DELETE NO ACTION;
81
b. Membuat Field / kolom baru dengan atribut bagian dan menentukan
relasi pada table pegawai.
ALTER TABLE pegawai ADD kode_bagian VARCHAR(4)
NOT NULL;
82
Catatan : print screen hasil kompilasi scriptnya.
83
REFERENSI
D3 Manajemen Informatika, Modul Praktikum Basis data 1, Laboratorium
Universitas Trunojoyo Madura, Madura.
Sutanta Edhy, Sistem Basis Data, Graha llmu, Bandung, 2004.
Sutanta Edhy, Basis Data dalam Tinjauan Konseptual, Andi Yogyakarta,
Yogyakarta, 2011
84
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2021 – 2022
Lembar Asistensi
NIM : 211080200132
Kelompok :6
Mengetahui,
PENDAHULUAN
Pada pokok bahasan ini akan dibahas mengenai data manipulation language
(DML), dimana data pada basis data dapat di kelolah dan dimanipulasi dengan
menggunakan perintah insert, select, update dan delete. Setelah mempelajari
materi ini diharapkan mahasiswa mampu :
3. Penghapusan data
4. Pengubahan data
86
1. Prosedural, DML membutuhkan pemakai untuk menspesifikasikan data
apa yang dibutuhkan dan bagaimana cara mendapatkannya, Contoh
paket bahasa procedural adalah dBase III, FoxBase.
Cara2:
Mysql> insert into pengarang (kode_buku, judul_buku, harga,
tahun_terbit, kode_pengarang, kode_penerbit) values ('B002' ,'Sistem
Informasi', 50000, '2003', 'P00l', 'T001');
87
Keterangan:
Jika data bertipe string, date atau time (contoh: B00l, Sistem Basis
Data, 2007-11-10) maka pemberian nilainya diapit dengan tanda petik
tunggal ('B00l ') atau petik ganda ("B00l"). Jika data bertipe numerik
(2500, 400) maka pemberian nilainya tidak diapit tanda petik tunggal
maupun ganda
b. UPDATE
Perintah UPDATE digunakan untuk mengubah isi data pada satu
atau beberapa kolom pada suatu tabel.
Syntax:
UPDATE namatabel SET koloml = nilail, kolom2 = nilai2 [WHERE
kondisi];
Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris
dengan suatu kondisi tertentu. Berikut ini perintah untuk mengubah
baris pada tabel pengarang dengan data sebagai berikut :
Mysql> select* from buku;
Contoh 1 : mengubah semua nilai pada kolom judul_ buku menjadi
'Basis Data' :
Mysql> update buku set judul_buku='Basis Data';
88
c. SELECT
Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel
yang dapat dihubungkan dengan tabel yang lainnya.
1) Menampilkan data untuk semua kolom menggunakan asterisk (*)
Syntax : SELECT * FROM nama tabe 1;
Berikut ini perintah untuk menampilkan semua data pada tabel
buku:
Mysql> select* from buku;
89
3) Menampilkan data dengan kondisi data tertentu dengan klausa
WHERE
Syntax: SELECT * FROM namatabel WHERE kondisi;
Berikut ini perintah untuk menampilkan data pada tabel buku
dimana nilai pada kolom kode buku adalah B001 :
Mysql> select* from buku where kode buku='B00l';
Atau
Mysql> select * from buku where harga >= 25000 or harga <=
50000;
90
Contoh 2 : perintah untuk menampilkan data pada tabel buku
dimana nilai harga sama dengan 25000 atau 50000:
Mysql> select * from buku where harga=25000 or harga=50000;
Atau
Mysql> select * from buku where in (25000, 50000)
91
Atau
Mysql> select * from buku where judul_buku<>’Basis Data
Terpadu’;
92
Mysql> select judul_buku as judul from buku;
93
Berikut ini perintah untuk menampilkan semua data pada tabel
pengarang dan buku:
Mysql> select* from pengarang, buku;
94
b. Operator ALL digunakan untuk melakukan perbandingan
dengan subquery. Kondisi dengan ALL menghasilkan nilai
TRUE (benar) jika subquery tidak menghasilkan apapun atau
jika perbandingan menghasilkan TRUE untuk setiap nilai query
terhadap hasil subquery. Contoh: perintah untuk menampilkan
data pengarang yang harganya paling Tinggi
Mysql> select * from buku where harga >= ALL (select
kode_pengarang from pengarang);
95
8) Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
a. COUNT
Perintah yang digunakan untuk menghitung jumlah baris suatu
kolom pada tabel. Contoh : perintah untuk menghitung jumlah
baris kolom kode _ buku pada tabel buku :
Mysql> select count(kode_buku) from buku;
b. SUM
Perintah yang digunakan untuk menghitung jumlah nilai suatu
kolom pada tabel Contoh : perintah untuk menghitung jumlah
nilai kolom harga pada tabel pengarang:
Mysql> select sum(harga) from buku;
c. AVG
Perintah yang digunakan untuk menghitung rata-rata dari nilai
suatu kolom pada tabel. Contoh: perintah untuk menghitung
rata-rata dari kolom harga pada tabel pengarang:
Mysql> select avg(harga) from buku;
96
d. MIN
Perintah yang digunakan untuk menampilkan nilai terkecil dari
suatu kolom pada tabel. Contoh : perintah untuk menampilkan
nilai terkecil dari kolom harga pada tabel buku:
Mysql> select min(harga) from buku;
e. MAX
Perintah yang digunakan untuk menampilkan nilai terbesar dari
suatu kolom pada tabel. Contoh : perintah untuk menampilkan
nilai terbesar dari kolom harga pada tabel buku:
Mysql> select max(harga) from buku;
97
Klausa HAVING digunakan untuk menentukan kondisi bagi klausa
GROUP BY. Kelompok yang memenuhi HAVING saja yang akan
dihasilkan. Contoh: perintah untuk menampilkan data hanya kolom
tahun_masuk yang dikelompokkan berdasarkan kolom
tahun_masuk, dimana jumlah buku berdasarkan kelompoknya harus
lebih besar dari satu pada tabel buku :
Mysql> select kode pengarang from buku group kode_pengarang
having count(kode buku) >1;
10) ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data
berdasarkan kolom tertentu sesuai dengan tipe data yang dimiliki.
Contoh: perintah untuk mengurntkan data buku berdasarkan kolom
judul:
Mysql> select from buku order by judul;
98
atau tambahkan DESC untuk pengurutan secara descending
(menurun)
Mysql> select from buku order by judul desc;
d. DELETE
Perintah DELETE digunakan untuk menghapus satu baris, baris
dengan kondisi tertentu atau seluruh baris. Syntax:
DELETE FROM namatabel [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris
dengan suatu kondisi tertentu. Berikut ini perintah untuk menghapus
baris pada tabel buku dengan data sebagai berikut:
Contoh 1 : jika ingin menghapus seluruh baris pada tabel pengarang :
Mysql> delete from buku;
Contoh 2 : jika ingin menghapus baris yang memiliki nilai 'B001' pada
kolom kode_buku pada tabel buku maka perintahnya sebagai berikut :
Mysql> delete from buku where kode_buku='B00l';
Contoh 3 : jika ingin menghapus baris yang memiliki nilai 'Basis Data
Terpadu? pada kolom judul_buku pada tabel buku maka perintahnya
sebagai berikut:
Mysql> delete from buku where judul_buku ='Basis Data Terpadu';
99
LEMBAR KERJA DAN TUGAS
1. Setelah Anda membuat basis data dan tabel sesuai dengan hasil analisa
pokok bahasan 3 maka masukkan data kedalam masing-masing tabel
minimal 5 data (setiap mahasiswa tidak boleh sama datanya).
a. Table Golongan
INSERT INTO golongan VALUES ('1A', 'I A'), ('1B', 'I B'), ('1C', 'I
C'), ('1D', 'I D'), ('2A', 'II A'), ('2B', 'II B'), ('2C', 'II C'), ('2D', 'II D'),
('3A', 'III A'), ('3B', 'III B'), ('3C', 'III C'), ('3D', 'III D'), ('4A', 'IV A'),
('4B', 'IV B'), ('4C', 'IV C'), ('4D', 'IV D');
100
b. Table Jadwal
c. Table Jabatan
101
d. Table Pegawai
102
'Universitas Negeri Malang', '2B', 'MENIKAH', 'LAB001', NULL,
'2022-01-23', '');
103
f. Table Absensi
104
2. Berilah Contoh penerapan manipulasi data pada database yang sudah Anda
buat yang meliputi :
Perintah Update
Perintah Delete
105
Perintah Select disertai klausa order by (urutkan berdasarkan Ascending
dan Descending)
106
Perintah Select disertai klausa Limit
107
REFERENSI
D3 Manajemen Informatika, Modul Praktikum Basis data 1,
Laboratorium Universitas Trunojoyo Madura, Madura.
Sutanta Edhy, Sistem Basis Data, Graha llmu, Bandung, 2004.
Sutanta Edhy, Basis Data dalam Tinjauan Konseptual, Andi Yogyakarta,
Yogyakarta, 2011
108
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2021 – 2022
Lembar Asistensi
NIM : 211080200132
Kelompok :6
Mengetahui,
PENYAJIAN (TUTORIAL)
A. Query
Query merupakan suatu proses pengolahan data yang digunakan untuk
memberikan hasil dari basis data berdasarkan kriteria tertentu. Query tidak
hanya membaca atau mengambil data, query biasanya melibatkan
beberapa tabel yang direlasikan dengan menggunakan field kunci. Namun
query juga dapat digunakan pada satu tabel saja, tetapi hasilnya kurang
informatif dan terbatas.
1. Aturan dalam melakukan query antar tabel:
a. Setiap field disebutkan bersama dengan nama tabelnya,
dipisahkan tanda titik (.).
Syntax: Namatabel. namafield.
Contoh : buku.kode buku artinya field kode buku dari tabel buku.
b. Setiap tabel yang terlibat dalam proses query hams disebutkan
dalam klausa FROM, dengan pemisah koma (,).Dimana urutan
tabel tidak mempengaruhi proses query.
110
Contoh: FROM buku, anggota.
c. Kondisi dalam klausa WHERE mempengarnhijenisjoin yang
tercipta.
2. Jenis-jenis join pada query:
a. Operator Cross Join
Operator ini berguna untuk melakukan operasi
penggabungan dengan perkalian kartesain. Namun penggabungan
jenis ini jarang digunakan karena tidak menghasilkan nilai
infonnasi yang efektif.
Contoh:
111
menampilkan data dari tabel pengarang dan buku dengan
syaratberdasarkan kolom kode _pengarang :
c. Operator Equijoin
Equijoin adalah penggabungan antar tabel dengan
menggunakan operator '=pada kondisi klausa WHERE
Contoh:
d. Operator Self-Join
Self-join adalah jenis penggabungan antar field dari tabel
yang sama. Untuk melakukan penggabungan self-join
menggunakan alias.
Contoh:
112
e. Operator Natural Join
Operator ini digunakan untuk melakukan operasi equijoin
denganmemperlakukan nama-nama kolom yang sama sebagai
kolom penghubung.
Contoh:
113
Natural Right Join
Natural right join digunakan untuk menampilkan semua
data dari table sebelah kanan perintah natural right join
beserta pasangannya dari tabel sebelah kiri. Meskipun
terdapat data dari sebelah kanan tidak memiliki pasangan,
tetap akan ditampilkan dengan pasangannya berupa nilai
NULL
114
Perintah di atas identik dengan :
115
c. EXCEPT
EXCEPT merupakan operator yang digunakan untuk
memperoleh data dari dua buah query dimana data yang
ditampilkan adalah data yang ada pada basil query 1 dan tidak
terdapat pada data dari hasil query 2 dengan ketentuan jumlah,
nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan da tan ya hams sama.
Syntax :
116
dari query di atasnya. Subquery terletak di dalam klausa WHERE
atau HAVING. Pada klausa WHERE, subquery digunakan untuk
memilih baris-baris tertentu yang kemudian digunakan oleh
query. Sedangkan pada klausa HAVING, subquery digunakan
untuk memilih kelompok baris yang kemudian digunakan oleh
query.
117
SELECT * FROM pengarang;
B. View
View adalah perintah query yang disimpan pada database dengan suatu
nama tertentu, sehingga bisa digunakan setiap saat untuk melihat data
tanpa menuliskan ulang query tersebut.
Syntax dasar perintah untuk membuat view adalah sebagai berikut:
CREATE
118
[OR REPLACE]
VIEW view name [(column list)]
AS select statement
C. Penggunaan View
1. Vew antar 2 table
1. View antar 2 tabel
Kita akan membuat view dari relasi antara tabel "buku" dan "penerbit"
untuk menampilkan data buku dan penerbitnya dari database
perpustakaan dengan nama "view_buku". Perintahnya adalah sebagai
berikut:
119
Lihat basil query view view buku :
120
> anggota c WHERE a.kode buku= b.kode buku AND
> a.kode anggota=c.kode anggota;
121
1. Buatlah contoh pengolahan data dari database hasil analisa pokok bahasan 4
menggunakan query : Inner Join, Equijoin, self-join dan Natural Join (antar
mahasiswa atau kelompok tidak boleh sama), print screen basil eksekusi script.
a. Inner Join
b. Equijoin
c. Self – Join
122
d. Natural Join
i. Natural Join
123
2. Buatlah view yang menampilkan:
a. Data lengkap pegawai (jabatan, bagian dan golongan yang ditampilkan
bukan kode saja, tapi juga namanya)
CREATE VIEW view_pegawai AS SELECT a.kode_pegawai,
a.nama_depan, a.nama_belakang, a.email, a.telepon, a.tmp_lahir,
a.tgl_lahir, a.alamat, a.kecamatan, a. kabupaten_kota, a.provinsi,
a.kode_pos, a.pendidikan_terakhir, a.nama_sekolah, a.kode_golongan,
b.golongan, a.status, a.kode_jabatan, c.jabatan, a.id_pk, d.status_pk,
d.tgl_ttdpk, d.lama_pk, a.tgl_recruitment, a.tgl_resign FROM pegawai a
INNER JOIN golongan b ON a.kode_golongan = b.kode_golongan
INNER JOIN jabatan c ON a.kode_jabatan = c.kode_jabatan INNER JOIN
pk_karyawan d ON a.id_pk = d.id_pk;
124
b. Absensi Pegawai
CREATE VIEW view_absensi AS SELECT a.kode_pegawai,
b.nama_depan, c.jabatan, d.hari, a.tanggal, a.jam_masuk, a.jam_keluar,
a.status_absensi FROM absensi a INNER JOIN pegawai b ON
a.kode_pegawai = b.kode_pegawai INNER JOIN jabatan c ON
b.kode_jabatan = c.kode_jabatan INNER JOIN jadwal d ON a.id_hari =
d.id_hari;
125
REFERENSI
D3 Manajemen Informatika, Modul Praktikum Basis data 1, Laboratorium
Universitas Trunojoyo Madura, Madura.
Sutanta Edhy, Sistem Basis Data, Graha llmu, Bandung, 2004.
Sutanta Edhy, Basis Data dalam Tinjauan Konseptual, Andi Yogyakarta,
Yogyakarta, 2011
Saputro T Wahju, MySQL untuk Pemula, Pena Media, Yogyakarta, 2005
126
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2021 – 2022
Lembar Asistensi
NIM : 211080200132
Kelompok :6
Mengetahui,
PENDAHULUAN
Pada pokok bahasa ini akan dibahas mengenai manajemen hak akses user
terhadap basis data. Setelah mempelajari bab ini diharapkan mahasiswa mampu :
PENYAJIAN (TUTORIAL)
128
GRANT jenis_akses (nama_kolom) ON nama_database TO
nama_user IDENTIFIED BY ”nama_password” [WITH GRANT
pilihan_akses]
Atau
Dimana :
Hak_akses merupakan hak yang diberikan kepada pemakai
berupa SELECT, INSERT saja atau keduanya. Bila hak akses
lebih dari satu antar hak akses dipisahkan dengann koma (,).
Nama tabel, menyatakan nama tabel yang akan diakses dan diatur
Pemakai, nama pemakai yang telah didaftarkan pada sistem
database. Sejumlah pemakai bisa disebutkan dengan dipisahkan
tanda koma (,).
Contoh :
Misalkan kita sebagai Administrator basis data yang mempunyai
wewenang untuk mengatur hak akses para pemakai. Kita akan mengatur
hak akses pengguna siska dan edi (sebagai user).
129
C. Membatasi Hak Akses
Hak akses perlu dibatasi untuk memudahkan dalam mengatur dan
mengawasi pemakaian data serta menjaga keamanan data.
Contoh:
Administrator akan memberikan hak akses kepada edi dalam
melakukan query tabel buku untuk field tertentu saja. Perintahnya:
Dari perintah diatas user arif hanya dapat melakukan SELECT dan
UPDATE terhadap tiga field yaitu kode_buku, judul_buku, tahun_terbit.
130
Atau menggunakan
Atau
Contoh:
Admistrator ingin mencabut hak akses user siska, maka perintahnya:
131
132
LEMBAR KERJA DAN TUGAS
1. Buatlah hak akses user dengan privilege :
a. User dengan hak akses SELECT pada salah satu tabel di database Anda.
CREATE USER 'rijalus132_a'@'localhost';
exit;
# mysql -u rijalus132_a
SHOW DATABASES;
133
MariaDB [kepegawaian]> SHOW TABLES;
b. User degan hak akses SELECT, INSERT dan UPDATE pada salah satu
tabel di database Anda.
CREATE USER rijalus132_b@localhost;
exit;
134
# mysql -u rijalus132_b
SHOW DATABASES;
use kepegawaian;
135
c. User dengan hak akses penuh terhadap basis data Anda.
CREATE USER rijalus132_c@localhost;
# mysql -u rijalus132_c
SHOW DATABASES;
d. Hak akses untuk public pada salah satu tabel dalam basis data Anda.
CREATE USER rijalus132_d@localhost;
136
SHOW GRANTS FOR rijalus132_d@localhost;
exit;
# mysql -u rijalus132_d
SHOW DATABASES;
USE kepegawaian;
SHOW TABLES;
137
2. Mencabut hak akses User:
a. Cabutlah hak akses salah satu user yang sudah Anda buat.
SHOW GRANTS FOR rijalus132_b@localhost;
# mysql -u rijalus132_b
USE kepegawaian;
138
b. Cabutlah secara pemanen user yang mempunyai hak akses penuh.
SHOW GRANTS FOR rijalus132_c@localhost;
# mysql -u rijalus132_c
SHOW DATABASES;
139
REFERENSI
D3 Manajemen Informatika, Modul Praktikum Basis data 1, Laboratorium
Universitas Trunojoyo Madura, Madura.
Sutanta Edhy, Sistem Basis Data, Graha llmu, Bandung, 2004.
Sutanta Edhy, Basis Data dalam Tinjauan Konseptual, Andi Yogyakarta,
Yogyakarta, 2011
Saputro T Wahju, MySQL untuk Pemula, Pena Media, Yogyakarta, 2005
140
KARTU ASISTENSI
LABORATORIUM INFORMATIKA
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2021 – 2022
Mengetahui,