Anda di halaman 1dari 77

2018

MODUL PRAKTEK
KA163526 - SISTEM BASIS DATA II

Penyusun :
REZAGI MEILANO, M.KOM

PROGRAM DIPLOMA III


PROGRAM STUDI AKUNTANSI
POLITEKNIK JAMBI

Praktikum Sistem Basis Data II 1


KATA PENGANTAR

Alhamdulillah, Segala Puji Hanya untuk Allah Tuhan Yang Maha Berilmu. Atas
petunjukNya-lah kami dapat menyelesaikan Modul Praktikum Sistem Basis Data II ini.
Diharapkan dengan adanya modul praktikum ini, mahasiswa mendapatkan panduan
dalam mengikuti Praktikum Sistem Basis Data II pada Pendidikan D3 Program Studi
Komputer Akuntansi.

Materi yang disusun pada buku ini berisi beberapa modul praktikum. Di dalamnya
berisi pemahaman konsep-konsep Sistem Basis Data II dengan menggunakan MySQL. Isi
modul praktikum ini disusun mulai dari teori penunjang/dasar teori, tugas
pendahuluan yang berisi konsep yang harus diketahui mahasiswa sebelum
melaksanakan praktikum serta percobaan dan latihan. Dengan mengacu pada diktat
praktikum ini mahasiswa diharapkan dapat memahami dan mengaplikasikan Perancangan
Sebuah Database dan aplikasinya untuk menyelesaikan kasus-kasus sederhana.

Sekali pun modul praktikum ini telah selesai dengan proses yang cukup panjang,
akan tetapi masih tidak menutup adanya kekurangan padanya. Segala masukan, kritik dan
review sangat kami harapkan untuk semakin menyempurnakannya pada kesempatan
mendatang.

Jambi, Desember 2018

PENYUSUN

Praktikum Sistem Basis Data II 2


DAFTAR ISI

KATA PENGANTAR .............................................................................................................. 2


DAFTAR ISI ........................................................................................................................... 3
1. Peraturan Umum ....................................................................................................... 4
2. Peraturan Dosen Pengajar ........................................................................................... 4
3. Peraturan Mahasiswa .................................................................................................. 5
4. Tugas dan Laporan ..................................................................................................... 7
5. Penilaian ..................................................................................................................... 7
6. Panduan Umum Keselamatan Kerja Dan Penggunaan Alat ....................................... 7
JOB SHEET PRAKTIKUM 1 ............................................................................................. 9
JOB SHEET PRAKTIKUM 2 ........................................................................................... 22
JOB SHEET PRAKTIKUM 3 ........................................................................................... 26
JOB SHEET PRAKTIKUM 4 ........................................................................................... 44
JOB SHEET PRAKTIKUM 5 ........................................................................................... 49
JOB SHEET PRAKTIKUM 6 ........................................................................................... 54
JOB SHEET PRAKTIKUM 7 ........................................................................................... 61
JOB SHEET PRAKTIKUM 8 ........................................................................................... 69
JOB SHEET PRAKTIKUM 9 ........................................................................................... 73

Praktikum Sistem Basis Data II 3


TATA TERTIB PENGGUNAAN LABORATORIUM
POLITEKNIK JAMBI

1. Peraturan Umum
1. Laboratorium adalah hak dan tanggung jawab dari Ketua Laboratorium yang
bersangkutan.
2. Dosen dan mahasiswa wajib berkoordinasi dan meminta izin kepada Ketua
Laboratorium (minimal secara lisan).
3. Ketua Lab berhak memberhentikan proses pembelajaran apabila terjadi ketidak
sesuaian pada saat proses belajar mengajar (baik dari Dosen yang bersangkutan
ataupun dari Mahasiswa).
4. Penggunaan Labaratorium untuk proses belajar mengajar hanya dapat digunakan
sesuai dengan jadwal praktikum yang berlaku.
5. Penggunaan Laboratorium diluar jam kerja/jadwal termasuk SP harus membuat
Surat Pengajuan Izin serta keperluan Praktikum ke Ketua Laboratorium
melalui KPS.
6. Rincian penggunaan Laboratorium tertera pada Jadwal Penggunaan
Laboratorium yang telah di buat oleh Ketua Lab dan diketahui KPS.
7. Peminjaman alat dan bahan akan dilayani jika pengajar yang bersangkutan sudah
hadir. Jika belum hadir maka peminjaman hanya dapat dilayani apabila pengajar
yang bersangkutan sudah melakukan konfirmasi ke Ketua Lab ataupun
mahasiswa membawa surat rekomendasi dari Pengajar/Dosen.
8. Sebelum Proses Kegiatan Belajar Mengajar berlangsung, alat dan bahan di
pastikan telah siap dan dapat di gunakan dengan berkoordinasi antara Dosen
Pengajar dengan Kepala Lab terkait.
9. Dilarang keras merokok, membawa makanan/minuman atau sejenisnya ke dalam
Laboratorium.

2. Peraturan Dosen Pengajar


1. Dilarang keras membawa peralatan yang membahayakan diri sendiri maupun
mahasiswa lain.
2. Hadir di Laboratorium sebelum praktikum dimulai (waktu yang telah ditentukan
sesuai jadwal yang berlaku)

Praktikum Sistem Basis Data II 4


3. Pada saat praktikum harus memakai baju praktikum sebagai mana aturan yang
berlaku, atau yang disediakan oleh Ketua Laboratorium
4. Wajib memakai sepatu.
5. Menyediakan bahan ajar atau modul sendiri sesuai dengan pembelajaran yang
diperlukan, yang sudah diseragamkan melalui Template Modul Praktikum di
Lab terkait (untuk kegiatan Lab reguler).
6. Wajib menjaga dan mengarahkan mahasiswa untuk menjaga kebersihan dan
ketertiban di Laboratorium, serta mematuhi peraturan yang telah dibuat.
7. Apabila meminjam alat/bahan, wajib mengarahkan mahasiswa untuk mengisi
Form Peminjaman Alat/Bahan yang telah disediakan oleh Ketua
Laboratorium yang bersangkutan.
8. Wajib memperhatikan mahasiswa disaat melakukan praktikum dan mengarahkan
sesuai dengan modul dan pembelajaran.
9. Apabila menjumpai kesalahan, kerusakan, atau ketidaksesuaian dengan buku
petunjuk praktikum/modul praktikum, diharapkan dapat mengkondisikan
Laboratorium agar tetap tertib dan aman.
10. Memperhatikan dan mengkondisikan jika terjadi kerusakan atau kehilangan alat
yang disebabkan oleh kesalahan/kelalaian mahasiswa dan memastikan kepada
kelompok tersebut untuk bertanggung jawab, dan kelompok/mahasiswa tersebut
tidak diperkenankan mengikuti praktek sebelum menyelesaikan tanggung
jawabnya.
11. Setiap selesai melaksanakan praktek, wajib mengarahkan mahasiswa untuk
mengembalikan alat-alat yang digunakan dan melarang mahasiswa
meninggalkan Laboratorium sebelum mahasiswa tersebut menyelesaikan
pengembalian alatnya.

3. Peraturan Mahasiswa
1. Dilarang keras membawa peralatan yang membahayakan diri sendiri, Dosen,
maupun mahasiswa lain.
2. Sudah hadir di Laboratorium sebelum praktikum dimulai.
3. Wajib memakai baju/Jas/Almamater praktikum pada saat masuk ke
Laboratorium praktikum (jika tidak memakai baju/Jas/Almamater praktikum
tidak diizinkan masuk Laboratorium).
4. Wajib memakai sepatu dan memakai baju kemeja.

Praktikum Sistem Basis Data II 5


5. Tidak dibenarkan menggunakan alat komunikasi selama praktikum &
harus dimatikan/di-silent, kecuali diperkenankan oleh dosen pengajar. Jika ada
keperluan mendesak harus atas izin Dosen pengajar yang bersangkutan atau
Ketua Lab.
6. Selama berada di Laboratorium, mahasiswa tidak dibenarkan untuk duduk atau
naik di atas meja Praktikum.
7. Tidak dibenarkan mendengarkan Radio, MP3, dan sejenisnya pada saat proses
Praktikum, kecuali sesuai dengan pembelajaran di Laboratorium
8. Laboratorium hanya dapat digunakan jika pengajar yang bersangkutan sudah
hadir atau pengajar yang bersangkutan sudah melakukan konfirmasi ke Teknisi
Laboratorium.
9. Membawa dan menyediakan sendiri alat-alat tulis/gambar yang diperlukan.
10. Untuk setiap praktek sudah disediakan alat, tempat, dan bahan masing-masing
yang tidak boleh diubah, duganti, atau ditukar kecuali atas intruksi Dosen yang
bersangkutan dan dibantu oleh Ketua Lab.
11. Bagi yang akan/sedang praktikum diwajibkan membawa buku petunjuk
praktikum /modul praktikum yang sesuai dengan materi pembelajaran di
Laboratorium.
12. Dilarang keras mencoret-coret di Laboratorium dan wajib menjaga kebersihan
Laboratorium.
13. Apabila meminjam alat/bahan, wajib mengisi Form Peminjaman Alat/Bahan
yang telah disediakan oleh Teknisi Laboratorium
14. Setelah selesai menyusun rangkaian sesuai dengan buku petunjuk praktikum,
segera melapor ke Dosen/Ketua Lab, dan dilarang menghubungkan rangkaian
dengan sumber tegangan sebelum mendapat izin dari Dosen/Ketua Lab yang
bersangkutan.
15. Apabila menjumpai kesalahan, kerusakan, atau ketidaksesuaian dengan buku
petunjuk praktikum/modul praktikum, mahasiswa harus segera melapor pada
Dosen/Ketua Lab yang bersangkutan.
16. Kerusakan/kehilangan alat yang disebabkan oleh kesalahan/kelalaian mahasiswa
menjadi tanggung jawab kelompok/mahasiswa tersebut, dan kelompok /
mahasiswa tersebut tidak diperkenankan mengikuti praktek sebelum
menyelesaikan tanggung jawabnya.

Praktikum Sistem Basis Data II 6


17. Mahasiswa bertanggung jawab penuh terhadap peralatan, bahan dan fasilitas
Laboratorium selama proses praktikum
18. Setiap selesai melaksanakan praktek, diwajibkan mengembalikan alat-alat yang
digunakan dan dilarang meninggalkan ruangan Laboratorium sebelum mendapat
izin dari Dosen /Ketua Lab Laboratorium yang bersangkutan.

4. Tugas dan Laporan


1. Tugas dan laporan ditulis tangan diatas kertas A4, 70 gsm dengan ballpoint
berwarna biru.
2. Setiap praktikan diharuskan membuat laporan pendahuluan sebelum memulai
pelaksanaan praktek.
3. Laporan pendahuluan berisikan (Dasar teori/ teori singkat) dari setiap materi
praktek minimal 5 lembar.
4. Sebelum memulai praktek, akan dilakukan pre-test pendahuluan berupa
pertanyaan tujuan praktek, pengenalan alat dan bahan serta teori singkat.
5. Setiap tugas dan laporan harus mencantumkan nama kelompok, nama praktikan,
NIM praktikan, tanggal praktek dan topik praktek.

5. Penilaian
1. Kehadiran : 10 %
2. Tes pendahuluan/ kesiapan praktikan : 10 %
3. Laporan praktek : 50 %
4. Keaktifan kegiatan Praktek : 30 %

6. Panduan Umum Keselamatan Kerja Dan Penggunaan Alat


Keselamatan Pada prinsipnya, untuk mewujudkan praktikum yang aman
diperlukan partisipasi seluruh praktikan dan dosen pembimbing pada praktek yang
bersangkutan. Dengan demikian, kepatuhan setiap praktek terhadap uraian panduan
pada bagian ini akan sangat membantu mewujudkan praktek yang aman.
a. Bahaya Listrik
Perhatikan dan pelajari tempat‐tempat sumber listrik (stop‐kontak dan circuit
breaker) dan cara menyala‐matikannya. Jika melihat ada kerusakan yang berpotensi
menimbulkan bahaya, laporkan pada penanggung jawab laboratorium.

Praktikum Sistem Basis Data II 7


1) Hindari daerah atau benda yang berpotensi menimbulkan bahaya listrik (sengatan
listrik/ strum) secara tidak disengaja, misalnya kabel yang terkelupas, dll.
2) Tidak melakukan sesuatu yang dapat menimbulkan bahaya listrik pada diri sendiri
atau orang lain.
3) Keringkan bagian tubuh yang basah karena misalnya, keringat atau sisa air wudhu.
4) Selalu waspada terhadap bahaya listrik pada setiap aktivitas praktek. Kecelakaan
akibat bahaya listrik yang sering terjadi adalah tersengat arus listrik.
b. Bahaya Api Atau Panas Berlebih
1) Jangan membawa benda‐benda mudah terbakar (korek api, gas dll.) ke dalam
laboratorium bila tidak disyaratkan dalam modul praktek.
2) Jangan melakukan sesuatu yang dapat menimbulkan api, percikan api atau panas
yang berlebihan.
3) Jangan melakukan sesuatu yang dapat menimbulkan bahaya api atau panas berlebih
pada diri sendiri atau orang lain.
4) Selalu waspada terhadap bahaya api atau panas berlebih pada setiap aktivitas
praktek.
Berikut ini adalah hal‐hal yang harus diikuti praktikan jika menghadapi bahaya api atau
panas berlebih:
a) Jangan panik.
b) Beritahukan dan minta bantuan penanggung jawab Laboratotiun, praktikan lain dan
orang di sekitar anda tentang terjadinya bahaya api atau panas berlebih.
c. Bahaya Benda Tajam dan Logam
1) Dilarang membawa benda tajam (pisau, gunting dan sejenisnya) ke laboratorium
bila tidak diperlukan untuk pelaksanaan praktek.
2) Hindari daerah, benda atau logam yang memiliki bagian tajam dan dapat melukai.
3) Tidak melakukan sesuatu yang dapat menimbulkan luka pada diri sendiri atau
orang lain.

Praktikum Sistem Basis Data II 8


JOB SHEET PRAKTIKUM 1
AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Perancangan ER Diagram 1
A. Tujuan Praktikum

Setelah melakukan Praktikum ini mahasiswa diharapkan :


1. Memahami konsep dasar Entity Relationship Diagram.
2. Memahami implementasi ER Diagram.
3. Mampu menyelesaikan Studi Kasus yang menggunakan ER Diagram

B. Alat dan Bahan

1. Alat :
Spesifi
No Nama Alat Jumlah Satuan Keterangan
kasi
1 PC Unit Standar 10 Buah
2 Sistem Operasi Standar 10 Buah
3 Software Database Standar 10 Buah

C. Dasar Teori

Entity Relationship Diagram merupakan jaringan yang menggunakan susunan data


yang disimpan dari system secara abstrak. Diagram Entitiy Relationaship ini
ditemukan oleh Chen tahun 1976.

Tujuan dari Entity Relationship adalah untuk menunjukkan objek data dan
relationship yang ada pada objek tersebut. Disamping itu Model ER ini merupakan
salah satu alat untuk perancangan dalam basis data.

Komponen ( Simbol ) ERD


1. Entity
Adalah suato objek yang dapat dibedakan atau dapat diidentifikasikan secara unik
dengan objek lainnya, dimana semua informasi yang berkaitan dengannya
dikumpulkan. Kumpulan dari entity yang sejenis dinamakan Entity Set.
Contoh : Proyek Penjualan
Langganan Kendaraan
Peralatan Pegawai

Praktikum Sistem Basis Data II 9


Pasien Obat, dll

Simbol dari Entity :

2. Relationship
Adalah hubungan yang terjadi antara satu entity dengan entity lainnya. Relationsgip
tidak mempunyai keberadaan fisik atau konseptual kecuali yang sejenis
dinamakan dengan Relationsgip Diagram.
Simbol dari Relationship adalah :

Contoh :

Pegawai Memiliki Kendaraan

Keterangan :
Memiliki adalah relationship set yang terbentuk antara entity Pegawai dengan entity
Kendaraan.
3. Atribut
Adalah karakteristik dari entity atau relationship yang menyediakan penjelasan detail
tentang entity atau relationship tersebut.
Simbol dari Atribut adalah :

Contoh :

NIP
Pegawai
Nama

Alamat
Praktikum Sistem Basis Data II 10
DERAJAT RELATIONSHIP
Derajat Relationship adalah :
1. Unary ( Derajat Satu )
Adalah satu buah relationship menghubungkan satu buah entity.
Contoh :

Manusia Menikah

Keterangan :
Manusia menikah dengan manusia, relationship menikah hanya menghubungkan
entity manusia.

2. Binary ( Derajat Dua )


Adalah satu buah relationship yang menghubungkan dua buah entity.
Contoh :

Pegawai Memiliki Kendaraan

Keterangan :
Pegawai memiliki kendaraan, sebuah relationship memiliki mengubungkan entity
Pegawai dan entity Kendaraan.

3. Ternary ( Derajat Tiga )


Adalah satu buah relationship menghubungkan tiga buah entity.
Contoh :

Pegawai Bekerja Proyek

Kota
Keterangan :

Praktikum Sistem Basis Data II 11


Pegawai pada kota tertentu mempunyai suatu Proyek.
Entity Bekerja mengubungkan Entity Pegawai, Proyek dan Kota

CARDINALITY RASIO
Yaitu menjelaskan batasan pada jumlah entity yang berhubungan melalui suatu
relationship.
Jenis-jenis Cardinality Rasio :
1. One To One ( 1 : 1)
Yaitu perbandingan antara entity pertama dengan entity kedua berbanding satu
berbanding satu.

Contoh :

1 1
Pasien Ditempatkan Kendaraan

2. One To Many ( 1 : M )
Yaitu perbandingan antara entity pertama dengan entity kedua berbanding satu
berbanding banyak.
Contoh :

1 M
Pegawai Bekerja Proyek

3. Many To One ( M : 1 )
Yaitu perbandingan antara entity pertama dengan entity kedua berbanding banyak
berbanding satu.
Contoh :
M 1
Siswa Diajarkan Dosen

Praktikum Sistem Basis Data II 12


4. Many To Many ( M : M )
Yaitu perbandingan antara entity pertama dengan entity kedua berbanding banyak
berbanding banyak.
Contoh :
M M
Pegawai Bekerja Proyek

LANGKAH – LANGKAH MEMBUAT ERD


1. Mengidentifikasikan dan menetapkan seluruh himpunan entitas yang akan terlibat.
2. Menentukan atribut-atribut key dari masing-masing himpunan entitas.
3. Mengidentifikasikan dan menetapkan seluruh himpunan relasi diantara himpunan
entitas yang ada beserta foreign key-nya.
4. Menentukan derajat dan cardinality rasio relasi untuk setiap himpunan relasi
5. Melengkapi himpunan relasi dengan atribut-atribut yang bukan kunci (non-key).

CONTOH STUDY KASUS


1. Suatu perguruan tinggi mempunyai banyak mahasiswa. Setiap mahasiwa tidak
harus mengikuti suatu mata kuliah. Setiap biasanya mengikuti beberapa mata
kuliah. Suatu mata kuliah diajarkan oleh seorang Dosen dan seorang Dosen bisa
mengajar beberapa mata kuliah. Dan seorang Dosen harus mengajarkan suatu
mata kuliah. Pada Entitas Mahasiswa diperlukan informasi tentang NIM,
Nama_Mhs, Alamat_Mhs dan Jurusan, sedangkan Mata Kuliah diperlukan
informasi tentang Kd_MK, Nm_Mk, SKS, Semester, sedangkan Dosen diperlukan
juga informasi tentang Kd_Dosen, Nama_Dosen.
Pertanyaan : Buatlah ERD-nya !
Jawab :
1. Mengidentifikasikan dan menetapkan seluruh himpunan entitas yang akan
terlibat.

Mahasiswa Mata Kuliah Dosen

Praktikum Sistem Basis Data II 13


2. Menentukan atribut-atribut key dari masing-masing himpunan entitas.

Mahasiswa Mata Kuliah Dosen

NIM Kd_MK Kd_Dosen

3. Mengidentifikasikan dan menetapkan seluruh himpunan relasi diantara


himpunan entitas yang ada beserta foreign key-nya.

NIM NIM Kd_MK Kd_MK

Mahasiswa Mempelajari Mata Kuliah

Dosen Mempelajari

Kd_MK
Kd_Dosen Kd_Dosen

4. Menentukan derajat dan cardinality rasio relasi untuk setiap himpunan


relasi

NIM NIM Kd_MK Kd_MK

M M
Mahasiswa Mempelajari Mata Kuliah

1 M
Dosen Mempelajari

Praktikum Sistem Basis Data II Kd_MK 14


Kd_Dosen Kd_Dosen
5. Melengkapi himpunan relasi dengan atribut-atribut yang bukan kunci (non-key).

NIM

Kd_MK
Nama_Mhss

Alamat_Mhss Nm_Mk

Jurusan Nilai Kd_MK

NIM Kd_MK
Semester
M M
Mahasiswa Mempelajari Mata Kuliah

1 M
Dosen Diajarkan

Kd_MK
Kd_Dosen

Nm_Dosen
Kd_Dosen Ruang Waktu

LATIHAN :
Latihan 1
1. Buat ilustrasi/gambaran cerita tentang sistem yang akan dicari entitasnya.
Contoh : Sistem Kepegawaian di perusahaan A
Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor
dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai
yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai.
Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen
dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang
pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di

Praktikum Sistem Basis Data II 15


beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada
beberapa proyek.
Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu
departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat
mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu
departemen
Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian
perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat
menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan
dipindahkan/dihapus berikut data tanggungan/keluarganya.
2. Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti
disebut sebagai atribut.
Perusahaan: NoPerusahaan, nama, alamat
Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji
Pengawas: NoKTP, Nama, Alamat, Jenis kelamin,gaji
Departemen: Nomor, Nama, lokasi, jumlah pegawai
Lokasi : lokasi
Proyek: Nomor, nama, lokasi
Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai.
3. Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik
jadikan ia sebagai entitas).
Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu baris data) bukan entitas
Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji entitas kuat
Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji sama dengan entitas Pegawai
Departemen: Nomor, Nama, lokasi, jumlah pegawai entitas kuat
Lokasi : lokasi (karakteristiknya departemen, tidak memiliki karakteristik lain (unik))
bukan entitas
Proyek: Nomor, nama, lokasi entitas kuat
Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai entitas
lemah (tergantung pada pegawai)
3. Dari entitas dan atribut yang ditemukan, buat desain database kepegawaian
menggunakan ER-Diagram dengan relasi yang menghubungkan antar entity tersebut!

Praktikum Sistem Basis Data II 16


Enhanced Entity Relationship (EER)

Model EER adalah model Entitiy Relationship yang ditambah kemampuan


semantiknya dengan beberapa konsep yang lebih kompleks.

Enhanced Entity Relationship (EER) =


Entiy Relationship (ER)
+
Generalization, Spesialization, Categorization

SUPERCLASS & SUBCLASS


Misalnya seorang karyawan akan dikategorikan menjadi 4 kelompok :

Subclass merepresentasikan entity yang sama dengan superclass, namun memiliki peran
spesifik tertentu.
Entity dalam subclass merupakan anggota superclass, namun tidak sebaliknya.

Relationship Superclass dan Subclass


Superclass/Subclass Relationship adalah relationship antara sebuah superclass
dengan salah satu subclassnya.
Contoh:
Karyawan / DBA, Karyawan / System Analyst
Disebut juga dengan IS-A relationship :
 DBA IS AN Karyawan
 System Analyst IS AN Karyawan

SPECIALIZATION
Spesialisasi adalah proses mendefinisikan himpunan subclas-subclass dari sebuah
entity type (Superclass).
 Dilakukan berdasarkan karakteristik tertentu yang dapat membedakan entity pada
Superclass.
 Suatu Superclass dapat memiliki beberapa spesialisasi berdasarkan karakteristik
yang berbeda.

Contoh:

Praktikum Sistem Basis Data II 17


DBA, Programmer, System Analyst adalah spesialisasi dari KARYAWAN
berdasarkan jenis pekerjaannya
Karyawan_tetap dan Karyawan_kontrak adalah spesialisasi dari KARYAWAN
berdasarkan status karyawan.

Praktikum Sistem Basis Data II 18


GENERALIZATION
Generalisasi Proses pendefinisian subclass-subclass yang disatukan menjadi
entitas superclass tunggal berdasarkan karakteristik umum. Contoh: Subclass Mobil
dan Truk dapat digeneralisasikan menjadi Superclass KENDARAAN berdasarkan atribut
umum seperti Kd_Kend, Harga, No_Lisensi.

CATEGORIZATION
Kategorisasi adalah Proses pendefinisian suatu subclass (disebut kategori) yang
memiliki lebih dari satu superclass yang berbeda.
Contoh :
 Kategori PEMILIK yang merupakan Subclass dari gabungan Orang, Bank dan
Perusahaan.
 Kategori KENDARAAN-TERDAFTAR yang merupakan Subclass dari gabungan
Mobil dan Truk.

Praktikum Sistem Basis Data II 19


Praktikum Sistem Basis Data II 20
CONTOH DIAGRAM EER :

Latihan 2

Suatu klinik memiliki praktek Dokter bersama sehingga dalam klinik tersebut
memiliki banyak Dokter. Seorang Pasien, apabila akan berobat harus diperiksa oleh
Dokter dan sebaliknya Dokter pun harus memeriksa Pasien.
Pasien yang berobat pada klinik tersebut lebih dari seorang. Setiap selesai diperiksa
pasien biasanya menerima resep berupa obat dan biasanya setiap pasien menerima
beberapa jenis obat.
Informasi tentang pasien adalah nomor pasien, nama pasien dan alamat. Informasi
tentang obat adalah kode obat, nama obat, dan dosin.
Pertanyaan :
Tentukan Entitasnya dan rancang ER Diagram beserta relasi antar entity.

Praktikum Sistem Basis Data II 21


JOB SHEET PRAKTIKUM 2

AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Query Dasar MySQL 2
A. Tujuan Praktikum

Setelah melakukan Praktikum ini mahasiswa diharapkan :


1. dapat memahami dasar-dasar MySQL
2. dapat memahami dan membuat database di MySQL
3. dapat menggunakan query dasar di MySQL

B. Alat dan Bahan

Spesifi
No Nama Alat Jumlah Satuan Keterangan
kasi
1 PC Unit Standar 10 Buah
2 Sistem Operasi Standar 10 Buah
3 Software Database Standar 10 Buah

C. Dasar Teori

Query SQL Dasar

Sebelumnya, silahkan masukan perintah Query dibawah ini ke terminal/cmd untuk


bahan praktek.
CREATE DATABASE IF NOT EXISTS belajar;
USE belajar;

DROP TABLE IF EXISTS customers;

CREATE TABLE IF NOT EXISTS customers(


id int PRIMARY KEY AUTO_INCREMENT,
nama VARCHAR(255) NOT NULL,
alamat VARCHAR(255) NOT NULL,
kota VARCHAR(255) NOT NULL,
negara VARCHAR(255) NOT NULL
);

INSERT INTO customers(nama, alamat, kota, negara)


VALUES ('Bagus Mantonafi', 'Jalan Pulau Saelus', 'Denpasar',
'Indonesia'),
('Hendry', 'Jalan Watturenggong', 'Denpasar', 'Indonesia'),
('John Doe', 'St. sixth nine', 'New York', 'USA');

1. SELECT
Untuk Menampilkan Data

Praktikum Sistem Basis Data II 22


SELECT berfungsi untuk menampilkan data pada table secara kesuluruhan.
Syntax Dasar :
/** Syntax dasar SELECT **/
SELECT * FROM nama_tabel

/** ATAU **/

/** Syntax dasar SELECT **/


SELECT nama_field, nama_field, nama_field FROM nama_tabel

Contoh Penggunaan :

SELECT * FROM customers;


/** penggunaan tanda * (bintang) artinya digunakan memilih semua field
**/

SELECT nama, kota FROM customers;


/** nama dan kota merupakan sebuah nama_field **/

2. WHERE
Untuk mem-filter data/record
where memiliki fungsi untuk memfilter data/record. pengunaan select dapat
menampilkan keseluruhan data, sedangkan dengan menambah perintah where setelah
select maka data yang ditampilkan dapat difilter/disaring. Dengan menggunakan where
teman-teman juga dapat menggunakan beberapa operator layaknya di bahasa
pemograman seperti :
 Operator Sama Dengan =
 Operator Tidak Sama Dengan <>
 Operator Lebih Besar Dari >
 Operator Lebih Kecil Dari <
 Operator Lebih Besar Sama Dengan >=
 Operator Lebih Kecil Sama Dengan <=
 Bedasarkan jangkauan nilai BETWEEN
 Dan untuk memfilter bedasarkan pola huruf yang sama LIKE

Saya menyarankan untuk teman-teman agar tidak menghafalkan operator diatas


secara paksa. lebih baik dipraktekan, secara tidak langsung nantinya teman-teman bisa
hafal dengan sendirinya
Syntax Dasar :
SELECT * FROM nama_tabel WHERE nama_field = 'nilai'
Contoh Penggunaan :
Menampilkan customers yang memiliki id 1
SELECT * FROM customers WHERE id = '1';
/** query diatas untuk menampilkan customers yang memiliki id 1 **/

Menampilkan customers yang tidak memiliki nama ‘bagus mantonafi’

Praktikum Sistem Basis Data II 23


SELECT * FROM customers WHERE nama <> 'Bagus Mantonafi';
/** query diatas untuk menampilkan customers yang memiliki nama selain
'bagus mantonafi' **/

Menampilkan customers yang bertempat tinggal di kota denpasar

SELECT * FROM customers WHERE kota = 'Denpasar';


/** query diatas untuk menampilkan customers yang bertempat tinggal di
kota denpasar **/

Menampilkan customer yang tinggal di negara indonesia

SELECT * FROM customers WHERE negara = 'Indonesia';


/** query diatas untuk menampilkan customer yang tinggal di negara
indonesia **/

3. INSERT
Memasukan Data/Record baru
Untuk memasukan atau menambah record/data baru ke table
Sytax Dasar :
Tanpa mendefiniskan nama field
INSERT INTO nama_tabel VALUES('nilai_masukan', 'nilai_masukan',
'dst');

Dengan mendefinisikan nama field

INSERT INTO nama_tabel('nama_field', 'nama_field', 'dst' )


VALUES('nilai_masukan', 'nilai_masukan', 'dst');

Syntax diatas memang sedikit susah dibaca karena memang sangat panjang oleh karena
itu teman-teman dapat menyederhanakannya dengan menambah baris baru setelah
nama tabel menjadi seperti dibawah ini.

INSERT INTO nama_tabel('nama_field', 'nama_field', 'dst' )


VALUES('nilai_masukan', 'nilai_masukan', 'dst');
/** lebih rapi dari yang diatas

Contoh Penggunaan :

Memasukan data berikut ini ke tabel :

nama : Sholahudin
kota : Jakarta
negara : Indonesia

Tanpa mendefiniskan nama field

INSERT INTO customers VALUES('', 'Sholahudin', 'Jakarta',


'Indonesia');

Dengan mendefinisikan nama field

Praktikum Sistem Basis Data II 24


INSERT INTO customers('nama', 'kota', 'negara')
VALUES('Sholahudin', 'Jakarta', 'Indonesia');
4. UPDATE
Memperbarui Data/Record
Memperbarui atau memberbaiki record/data yang sudah ada pada tabel.
UPDATE customers
SET nama='Hendry'
WHERE id = '4';
Query diatas hanya mengubah nama saja. Query dibawah ini dapat mengubah nama
dan kota sekaligus cukup dengan menambahkan nama field pada SET saja dan
pisahkan dengan koma ,.
UPDATE customers
SET nama = 'Agix', kota = 'Gianyar'
WHERE name = 'Hendry';
Setiap mengubah data dengan klausa UPDATE diharapkan menambah klausa WHERE
di akhir. Tujuannya agar tidak mengubah seluruh record. Silahkan mencoba tanpa
klausa WHERE agar tau dampak yang ditimbulkan
5. DELETE
Menghapus Data/Record
Penggunaan DELETE digunakan untuk menghapus record pada tabel. baik itu satu
data/record atau lebih.
DELETE FROM customers
WHERE negara = 'USA';
Sama halnya klausa UPDATE, klausa DELETE juga harus diakhiri dengan WHERE
penggunaan klausa DELETE tanpa WHERE dapat menyebabkan seluruh record yang
telah dimasukan ke tabel terhapus

Latihan Soal :
1. Buatlah database dengan nama belajar
2. Di Database belajar buatlah tabel dengan nama barang dengan field kode_barang,
nama_barang, harga_barang dan total_barang silahkan tentukan sendiri tipe data
dan panjangnya!
3. Masukan data dibawah ini ke tabel barang tersebut!
kode_barang nama_barang harga_barang total_barang
1234 Laptop ASUS X453MA 4000000 100
1235 Macbook Air MD2015 14000000 20
1236 Printer Epson 1000000 40
1237 Flashdisk Kingston 8GB 80000 80
1238 Intel Core i5 2200000 10
4. Tampilkan barang dengan kode_barang 1238!
5. Ubah nama barang tersebut dengan nama Intel Core i5 4594
6. Ubah nama barang dengan nama Flashdisk Kingston 8GB menjadi Kingston 8GB
7. Tampilkan barang yang memiliki harga diatas 10 Juta
8. Hapus barang yang bernama Printer Epson

Praktikum Sistem Basis Data II 25


JOB SHEET PRAKTIKUM 3

AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan MySQL 3
A. Tujuan Praktikum

Setelah melakukan Praktikum ini mahasiswa diharapkan :


4. mampu memahami instalasi MySQL di lingkungan Windows
5. dapat memahami dasar-dasar MySQL
6. dapat memahami dan membuat database di MySQL
7. dapat memahami dan membuat tabel di MySQL

B. Alat dan Bahan

Spesifi
No Nama Alat Jumlah Satuan Keterangan
kasi
1 PC Unit Standar 10 Buah
2 Sistem Operasi Standar 10 Buah
3 Software Database Standar 10 Buah

C. Dasar Teori

PENGENALAN XAMPP

XAMPP ialah perangkat lunak bebas yang mendukung banyak sistem operasi,
merupakan campuran dari beberapa program. Yang mempunyai fungsi sebagai server
yang berdiri sendiri (localhost), yang terdiri dari program MySQL database, Apache HTTP
Server, dan penerjemah ditulis dalam bahasa pemrograman PHP dan Perl.

Nama XAMPP merupakan singkatan dari X (empat sistem operasi), Apache, MySQL,
PHP dan Perl. Program ini tersedia di bawah GNU General Public License dan bebas,
adalah mudah untuk menggunakan web server yang dapat melayani tampilan halaman
web yang dinamis.

Pengertian MYSQL
MySQL adalah suatu perangkat lunak database relasi (Relational Database
Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan
sebagainya. MySQL dibangun, didistribusikan dan didukung oleh MYSQL AB. MYSQL AB
merupakan perusahaan komersial yang dibiayai oleh pengembang MYSQL. MySQL AB

Praktikum Sistem Basis Data II 26


menyebut produknya sebagai database open source terpopuler di dunia yang bisa
digunakan untuk platform Web, dan baik untuk kategori open source maupun umum.

Tipe Data
Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari data
tersebut. Nilai data dalam field memiliki tipe sendiri-sendiri. MYSQL mengenal beberapa
tipe data field yaitu :
 Tipe data numerik
Tipe data numerik dibedakan dalam dua macam kelompok, yaitu integer dan
floating point. Integer digunakan untuk data bilangan bulat sedangkan floating point
digunakan untuk bilangan desimal.
 Tipe data string
String adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data
string dapat dilihat pada tabel berikut:
Tipe Data Kisaran Nilai
CHAR 1-255 karakter
VARCHAR 1-255 karakter
TINYTEXT 1-255 karakter
TEXT 1-65535 karakter
MEDIUMTEXT 1-16777215 karakter
LONGTEXT 1-424967295 karakter

1. Tipe data char() dan varchar()


Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya hanya terletak
pada jumlah memori yang dibutuhkan untuk penyimpanannya. Memori yang
dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada berapa
jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Pada tipe
data varchar() besarnya memori penyimpanan tergantung pada jumlah karakter
ditambah 1 byte, dapat dilihat pada tabel berikut ini:
Nilai Char(4) Memori Varchar Memori Penyimpanan
Penyimpanan (4)
“” “” 4 bytes “” 1 byte
’ab’ ’ab’ 4 bytes ’ab’ 3 bytes

Praktikum Sistem Basis Data II 27


’abed’ ’abed’ 4 bytes ’abed’ 5 bytes
’abedefgh’ ’abed’ 4 bytes ’abed’ 5 bytes

2. Tipe data tanggal


Untuk tanggal dan jam, tersedia tipe-tipe data field berupa DATETIME, DATE,
TIMESTAMP, TIME dan YEAR. Masing-masing tipe mempunyai kisaran nilai tertentu.
MYSQL akan memberikan peringatan kesalahan (error) apabila tanggal atau waktu
yang dimasukkan salah. Kisaran nilai dan besar memori penyimpanan yang
diperlukan untuk masing-masing tipe dapat dilihat pada tabel berikut ini:
Tipe Data Kisaran Nilai Memori Penyimpanan

DATETIME 1000-01-01 00:00 sampai 9999-12-31 3 byte


23:59:59
DATE 1000-01-01 sampai 9999-12-31 8 byte
TIMESTAMP 1970-01-01 00:00:00 sampai 2037 4 byte
TIME -839:59:59 sampai 838:59:59 3 byte

Operator MYSQL
MYSQL mendukung penggunaan operator-operator dan fungsi-fungsi diantaranya:
1. Operator Aritmetika
Suatu ekspresi yang melibatkan tipe data bilangan (NUMERIK) dan tanggal (DATE)
menggunakan ekspresi aritmatika. Dapat dilihat pada tabel berikut ini:
Operator Keterangan
+ Tambah
- Kurang
* Kali
/ Bagi
Mod () Modulus

2. Operator Pembandingan
Suatu ekspresi yang dapat digunakan pada klausa WHERE dan mempunyai sintax
sebagai berikut: WHERE expr operator value. Tabel menunjukan operator
pembanding pada MYSQL berikut ini:
Operator Keterangan
= Sama Dengan

Praktikum Sistem Basis Data II 28


> Lebih Besar
< Lebih Kecil
>= Lebih Besar atau Sama Dengan
<= Lebih Kecil atau Sama Dengan
<> Tidak Sama Dengan

3. Operator Logika
Operator ini digunakan untuk membandingkan dua nilai variabel yang bertipe
boolean.
4. Operator Karakter
Operator untuk membentuk pencarian string yang sesuai dengan nilai yang
mencantumkan pada kondisi. Kondisi pencarian dapat berisi karakter , ada 3
symbol khusus berikut ini dapat dilihat pada tabel berikut ini:
Operator Keterangan

% Sembarang karakter berapapun jumlahnya

Sembarang satu karakter

[] Sembarang karakter yang terletak dalam kurung siku

5. Operator Lain-lain
Operator yang digunakan untuk menguji nilai-nilai yang ada dalam list (tanda
kurung) dan dapat juga untuk menampilkan baris berdasarkan suatu jangkauan
(range) nilai. Ada 2 symbol tersebut dapat dilihat pada tabel berikut ini:
Operator Keterangan
IN Dalam
BETWEEN Diantara

Latihan 2 : Melakukan Koneksi ke MySQL :


Cara 1 :
1. Melalui DOS Prompt, masuk ke direktori utama MySQL dengan cara sebagai
berikut (yang diketik hanya yang digaris bawah) :
C:\>cd \mysql\bin
2. Setelah itu ketikkan perintah berikut (yang diketik hanya yang digaris bawah) :

Praktikum Sistem Basis Data II 29


C:\>mysql\bin\mysql –u root –p
maka akan diminta untuk memasukkan password, isikan password yang digunakan
pada saat instalasi, yaitu 123456.
3. Selanjutnya akan ada respon dari server seperti gambar berikut :

Tampilan tersebut di atas menandakan bahwa telah berhasil melakukan koneksi ke


server.

Cara 2 :
1. Dari menu Start > All Programs > MySQL > MySQL Server 5.0 > MySQL Command
Line Client, maka akan muncul tampilan seperti berikut ini :

2. Masukkan password yang telah ditentukan pada saat instalasi, yaitu : 123456
kemudian tekan enter.

Latihan 3 : Membuat/Mengganti Password


Setelah masuk ke dalam mysql, kita bisa membuat atau mengganti pasword yang
untuk security data. Perintah yang digunakan seperti beerikut :
mysql> SET PASSWORD = PASSWORD(‘passwordanda’);

Selanjutnya untuk keluar dari server MySQL dapat dilakukan dengan mengetikkan
perintah quit atau \q pada prompt mysql>.

Latihan 4 : Membuat Database


Bentuk prompt “ mysql> ” adalah tempat menuliskan perintah-perintah MySQL.
Setiap perintah SQL harus diakhiri dengan tanda titik-koma “ ; ” .

Praktikum Sistem Basis Data II 30


Dari hasil desain praktikum modul 1, buat database kepegawaian menggunakan
database MySQL dengan perintah: create database namadatabase;
Misalkan anda ketikkan :
create database kepegawaian;

Untuk memilih dan membuka database dapat menggunakan perintah berikut ini:
use namadatabase; Contoh:
use kepegawaian;

Untuk menampilkan database dapat menggunakan perintah berikut :

Show databases;

Latihan 5 : Menghapus Database

Untuk menghapus database menggunakan perintah berikut :

DROP DATABASE namadatabase;

Database yang akan dihapus sesuai dengan namadatabase. Contoh

DROP DATABASE kepegawaian;

Latihan 6 : Membuat Tabel


Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database
sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan
menggunakan syntax : USE namadatabase; Syntax membuat table :
CREATE TABLE namatabel
(
Field1 TipeData1,
Field2 TipeData2
);
namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1
merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin
membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data
sebelumnya diberikan tanda koma (,). Untuk menampilkan deskripsi tabel (dalam hal
ini jenisfilm) syntaxnya adalah :
DESC namatabel; Contoh :
DESC pegawai;

Praktikum Sistem Basis Data II 31


Membuat database pada phpMyAdmin dengan query

Pembuatan database merupakan hal yang sangat penting dalam membuat program
terutama pada aplikasi yang memiliki input output dari adminnya,pembuatan database
dapat kita buat melalui terminal dengan Perintah dasar SQL kemudian menggunakan
tools phpmyadmin secara langsung pada tools phpmyadmin kita dapat membuat
database secara manual(pada SQL menggunakan bahasa query) atau secara instan
dengan mudah kita dapat membuat database secara langsung.

Bahasa Query

Bahasa Queri (Bahasa Inggris: query language) adalah suatu bahasa komputer yang
digunakan untuk melakukan permintaan terhadap basis data dan sistem informasi. Jenis-
jenis bahasa ini antara lain:

 SQL; bahasa kueri yang terkenal untuk basis data relasional

 MDX; bahasa kueri untuk basis data OLAP

 DMX; bahasa kueri untuk model penggalian data

Langkah Praktikum :

1. Buka Tools phpMyAdmin

Praktikum Sistem Basis Data II 32


2. Klik tombol SQL yang berada pada deretan Struktur dll . akan muncul tampilan
seperti dibawah ini. meupakan kolom untuk memasukan perintah SQL (Bahasa
Query).

3. Pertama,Membuat Database. dengan perintah dasar SQL contoh membuat


database dengan nama "identitas_siswa".

"Create database identitas_siswa;

Praktikum Sistem Basis Data II 33


4. Kedua, kita tampilkan dulu database yang ada pada phpMyAdmin dengan perintah
SQL. Klik tombol SQL => Ketikkan perintah : show databases;

Perintah diatas digunakan untuk menampilan database yanga ada pada phpMyadmin.
terlihat database yang sebelumnya kita buat dengan nama "identitas_siswa"
tersimpan.

Praktikum Sistem Basis Data II 34


5. Ketiga,Setelah kita membuat database untuk menggunakan database tersebut agar
kita dapat membuat tabel didalamnya sebelumnya kita gunakan perintah SQL. Klik
tombol SQL => Ketikkan perintah : use identitas_siswa;

6. Setelah memasukan perintah untuk menggunakan database, kemudian akan muncul


tampilan yang langsung dapat kita membuat tabel didalam database tersebut. secara
instan. saya akan membuat tabel "kelas_x" sebagai contoh pada database secara
manual dengan memasukkan perintah pada SQL. dibawah ini. Klik tombol SQL =>
Ketikkan perintah.

create table nama_tabel(kolom1_tipedata,kolom2_tipedata,kolom...);

Praktikum Sistem Basis Data II 35


Keterangan :

 create table : perintah membuat tabel


 kelas_x : contoh nama tabel
 id_siswa,nama,jurusan,alamat : nama kolom
 int,varchar : tipe data
 length (5),(50) : angka yang ada pada sebelah tipe data yang digunakan untuk
mengatur jumlah karakter yang digunakan .
7. Setelah membuat tabel, tabel tersebut merupakan kolom - kolom kosong yang harus
diisi. untuk mengisi tabel tersebut menggunakan perintah SQL . Klik tombol SQL
=> Ketikkan perintah.

insert into kelas_x(id_siswa,nama,jurusan,alamat) values (null,'Risa


Nurhaeni','RPL','Banjarnegara');

Praktikum Sistem Basis Data II 36


Keterangan :

 null : mengosongkan data dan mengisi secara otomatis

8. Setelah memasukkan data pada tabel untuk melihat dan menampilkan data yang
terdapat pada tabel menggunakan perintah SQL. Klik tombol SQL => Ketikkan
perintah.

select * from kelas_x;

Praktikum Sistem Basis Data II 37


9. setelah menampilkan data yang ada pada tabel yang sebelumnya diinsertkan.untuk
me-insertka data kembali teman- teman tidak perlu mengisikan kolom
"id_siswa"sebagai primary key karena sebelumnya sudah di "null" yang artinya
mengisikan secara otomatis.insert data menggunakan perintah SQL .
Klik tombol SQL => Ketikkan perintah.

insert into kelas_x(nama,jurusan,alamat) values ('Vika


Tafrichana','RPL','Banjarnegara' );

Praktikum Sistem Basis Data II 38


10. Setelah me-insertkan data kembali kemudian kita tampilkan data tabel tersebut
menggunakan perintah SQL. Klik tombol SQL => Ketikkan perintah.

select * from;

Kemudian akan tampil halaman seperti berikut..

Praktikum Sistem Basis Data II 39


11. Untuk menampilkan data pada tabel juga kita dapat menampilkan hanya nama.nya
saja atau kita dapat memilih kolom mana yang akan kita lihat. dengan perintah
SQL. Klik tombol SQL => Ketikkan perintah.

select nama from kelas_x;

12. Untuk menampilkan data yang ada pada tabel dengan persyaratan tertentu contoh
yang memiliki id_siswa atau nama tertentu dengan menggunakan SQL.
Klik tombol SQL => Ketikkan perintah.

select*from kelas_x where id_siswa='1';

Praktikum Sistem Basis Data II 40


13. Untuk menghapus data pada tabel kelas_x menggunakan perintah SQL.
Klik tombol SQL => Ketikkan perintah.

delete from kelas_x where id_siswa='1';

Praktikum Sistem Basis Data II 41


Gambar 13.1 pernintah menghapus data yang memiliki id_siswa 1

Gambar 13.3 tanda berhasil

14. Kemudian kita coba lihat tabel yang datanya sudah dihapus dengan perintah SQL
seperti yang sebelumnya sudah kita gunakan juga. Klik tombol SQL => Ketikkan
perintah.

select * from kelas_x;

15. Update data yang terdapat pada tabel dengan id_siswa 2 menjadi id_siswa 1.
menggunakan perintah SQL . Klik tombol SQL => Ketikkan perintah.

Praktikum Sistem Basis Data II 42


update kelas_x set id_siswa='1' nama='Risa Nurhaeni';

Tugas :
1. Buatlah sebuah database pustaka
2. Tentukan tabel yang ada pada database pustaka beserta atributnya
3. Buatlah 4 tabel dalam database pustaka di phpmyadmin
4. Tentukan primary key pada tiap tabel
5. Inputkan minimal 5 record pada tiap tabel

Praktikum Sistem Basis Data II 43


JOB SHEET PRAKTIKUM 4

AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan DDL Lanjutan 4
A. Tujuan Praktikum

Setelah melakukan Praktikum ini mahasiswa diharapkan :


1. mampu memahami DDL
2. mampu membuat script untuk pembuatan tabel dan mengupdate tabel
3. mampu membuat dan menghapus indeks

B. Alat dan Bahan

Spesifi
No Nama Alat Jumlah Satuan Keterangan
kasi
1 PC Unit Standar 10 Buah
2 Sistem Operasi Standar 10 Buah
3 Software Database Standar 10 Buah

C. Dasar Teori

Data Definition Language (DDL) digunakan untuk membuat dan menghancurkan


database dan objek database. Perintah-perintah ini terutama akan digunakan oleh
database administrator selama fase setup dan penghapusan proyek database.
Mari kita melihat struktur dan penggunaan perintah DDL empat dasar:
a. CREATE
Instalasi sistem manajemen database (DBMS) pada komputer memungkinkan
Anda untuk membuat dan mengelola banyak database independen
b. USE
Perintah USE memungkinkan Anda untuk menentukan database yang ingin
bekerja dengan Anda dalam DBMS.
c. ALTER
Setelah Anda telah membuat tabel dalam database, Anda mungkin ingin
memodifikasi definisi itu.Perintah ALTER yang memungkinkan Anda untuk
membuat perubahan pada struktur tabel tanpa menghapus dan menciptakan tabel
baru dengan nama yang berbeda.
d. DROP
Perintah terakhir dari Data Definition Language, DROP yang memungkinkan kita
untuk menghapus seluruh objek database dari DBMS. Gunakan perintah ini

Praktikum Sistem Basis Data II 44


dengan hati-hati! Ingat bahwa perintah DROP menghapus data keseluruhan
struktur dari database Anda.

Constraint
Constraint adalah batasan atau aturan yang ada pada table. MySQL menyediakan
beberapa tipe constraint berikut :
 NOT NULL
Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi nilai
NULL. Kolom yang befungsi sebagai kunci primer (primary key) otomatis tidak boleh
NULL.
 UNIQUE
Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan
data lainnya namanya tidak boleh sama, misal alamat email.
 PRIMARY KEY
Constraint PRIMARY KEY membentuk key yang unik untuk suatu table.
 FOREIGN KEY
FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu
table, dimana kolom tersebut juga dimiliki oleh table yang lain sebagai suatu
PRIMARY KEY, biasa dipakai untuk menghubungkan antara 2 tabel.

1. Kegiatan praktikum
Latihan 1 : Mendefinisikan Primary Key Pada Tabel
Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah perintah
mendefinisikan primary key untuk Field1
CREATE TABLE namatabel
(
Field1 TipeData1 NOT NULL PRIMARY KEY,
Field2 TipeData2
);
Atau
CREATE TABLE namatabel
(
Field1 TipeData1,
Field2 TipeData2,
PRIMARY KEY(Field1)
);
Atau
ALTER TABLE namatabel ADD CONSTRAINT PRIMARY KEY
(namakolom);
Tabel pegawai diatas belum mempunyai primary key, maka utk menambahkan
primary key gunakan perintah berikut :

Praktikum Sistem Basis Data II 45


Latihan 2 : Menghapus Primary Key Pada Tabel
Perintah untuk menghapus primary key pada tabel sebagai berikut :
Cara 1 : Jika primary key dibuat dengan menggunakan alter table
ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;

Cara 2 : Jika primary key dibuat melalui create table :


ALTER TABLE namatabel DROP PRIMARY KEY;

Latihan 3 : Menambah Kolom Baru Pada Tabel


Perintah untuk menambah kolom baru pada tabel seperti berikut :
ALTER TABLE namatabel ADD fieldbaru tipe;
Lakukan perintah berikut untuk menambahkan field/atribut NoTelp pada tabel
pegawai :

Latihan 4 : Mengubah Tipe Data atau Lebar Kolom Pada Tabel


Perintah yang digunakan :
ALTER TABLE namatabel MODIFY COLUMN field tipe
Lakukan perintah berikut untuk mengubah tipe data dan lebar kolom NoTelp pada
tabel pegawai dari varchar(15) menjadi char(12)

Latihan 5 : Mengubah Nama Kolom


Perintah yang digunakan :

ALTER TABLE namatabel CHANGE COLUMN NamaKolomLama


NamaKolomBaru tipedata;

Berikut ini perintah untuk mengubah nama kolom NoTelp menjadi Telp :

Latihan 6 : Menghapus Kolom Pada Tabel


Perintah untuk menghapus kolom pada tabel:

Praktikum Sistem Basis Data II 46


ALTER TABLE namatabel DROP COLUMN namakolom;
Lakukan perintah berikut untuk menghapus field/kolom Telp pada tabel pegawai :

Latihan 7 : Mendefinisikan Foreign Key Pada Tabel


Untuk mendefinisikan foreign key, maka harus dipastikan bahwa tabel dan atribut
yang dirujuk (tabel induk dari foreign key) sudah didefinisikan terlebih dahulu.
Perintah yang digunakan:
CREATE TABLE namatabel
(
Field1 TipeData1,
Field2 TipeData2,
FOREIGN KEY (Field2) REFERENCES namatabelinduk
(namakolominduk)ON UPDATE CASCADE
ON DELETE NO ACTION
);
atau
ALTER TABLE namatabel ADD CONSTRAINT namaconstraint
FOREIGN KEY (namakolom) REFERENCES namatabelinduk
(namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION;

Lakukan perintah berikut utk menghubungkan tabel Departemen dengan tabel


pegawai

Latihan 8 : Menghapus Foreign Key


Perintah yang digunakan :

ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint;


Lakukan perintah berikut untuk menghapus foreign key :

Latihan 9 : Menghapus Tabel


Perintah untuk menghapus tabel dengan menggunakan perintah berikut :

DROP TABLE namatabel;

Tabel yang akan dihapus sesuai dengan namatabel. Misalnya menghapus tabel
Departemen dari database kepegawaian;

DROP TABLE Departemen;

Praktikum Sistem Basis Data II 47


3. Tugas :
1. Gunakan tabel Departemen untuk melakukan perintah berikut (gunakan ALTER
Table)
a) tambahkan field/atribut TglMulai dan Lokasi departemen.
b) Ubah tipe data pada field Nama menjadi Varchar(30)
c) Ubah nama field Nomor menjadi id_dept dengan tipe data varchar (5)
d) Ubah nama tabel Departemen menjadi Dept
e) Ubah kembali namatabel Dept menjadi Departemen
f) Hapus field TglMulai pada tabel Departemen
2. Tambahkan Primary Key dan Foreign Key untuk tabel-tabel lain sesuai dengan ER-
Diagram yang dibuat pada Modul 1.

Praktikum Sistem Basis Data II 48


JOB SHEET PRAKTIKUM 5

AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan DML 5
A. Tujuan Praktikum

Setelah melakukan Praktikum ini mahasiswa diharapkan :


1. dapat memahami perintah DML
2. dapat memahami dan memanipulasi data dalam database

B. Alat dan Bahan

Spesifi
No Nama Alat Jumlah Satuan Keterangan
kasi
1 PC Unit Standar 10 Buah
2 Sistem Operasi Standar 10 Buah
3 Software Database Standar 10 Buah

C. Dasar Teori

DML (Data Manipulation Language) adalah bahasa yang memungkinkan pengguna


mengakses atau memanipulasi data seperti yang diatur oleh model data. Manipulasi data
adalah :
• Pengambilan informasi yang disimpan dalam basisdata
• Penempatan informasi bam dalam basisdata
• Penghapusan informasi dari basisdata
• Modifikasi informasi yang disimpan dalam basisdata
DML (Data Manipulation Language) merupakan bahasa yang bertujuan
memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan oleh
model data. Ada 2 jenis DML, yaitu :
• Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang
diinginkan serta bagaimana cara mendapatkannya.
• Nonprosedural, yang membuat pemakai dapat menentukan data apa yang
diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.
Query adalah pernyataan yang meminta pengguna mengambil informasi. Bagian
DML yang terlibat dalam pengambilan informasi disebut bahasa query. Istilah bahasa
query sering disamakan dengan istilah bahasa manipulasi data. Sedangkan SQL
adalah sebuah sintaks untuk mengeksekusi query

Praktikum Sistem Basis Data II 49


1. Kegiatan Praktikum
Latihan 1 : Memasukkan Data ke dalam Tabel

Pernyataan INSERT INTO digunakan untuk memasukkan data bam pada tabel.

Perintah yang digunakan :

INSERT INTO nama_tabel VALUES (nilai1, nilai2, ...);

Urutan nilai yang diletakkan dalam tanda kurung disesuaikan dengan urutan kolom
dalam tabel. Akan tetapi kita bisa menentukan kolom-kolom yang akan diisi dengan
data baru, yaitu :

INSERT INTO nama_tabel (kolom1, kolom2, ...) VALUES (nilai1, nilai2, ...);

Kolom-kolom yang tidak disebutkan pada Insert secara otomatis akan diisi dengan
Null dan kolom yang tidak disebutkan dalam Insert haruslah yang tidak Not Null.
Tambahkan data ke dalam tabel Pegawai seperti perintah berikut :

atau

Latihan 2 : Pengubahan Data

Pernyataan UPDATE digunakan untuk modifikasi data dalam tabel


menggunakan perintah berikut :

UPDATE nama_tabel
SET nama_kolom = nilai_baru
WHERE nama_kolom = nilai;
SET digunakan untuk menentukan kolom yang akan diubah dan nilai penggantinya.
WHERE digunakan untuk menentukan kondisi dari baris-baris yang akan diganti.

Lakukan perintah untuk mengubah data pegawai bernama ‘Agus’ menjadi ‘Budi’ :

Latihan 3 : Menghapus data

Pernyataan DELETE digunakan untuk menghapus baris pada tabel, perintah


yang digunakan seperti berikut:

DELETE FROM nama_tabel


WHERE nama_kolom = nilai;

Praktikum Sistem Basis Data II 50


Lakukan perintah berikut untuk menghapus data dari tabel pegawai
dengan NoKTP = ‘1103’:

Latihan 4 : Pernyataan SELECT

Secara umum perintah SELECT hanya difungsikan untuk menampilkan data


yang ada di dalam suatu tabel. Tetapi dalam pengembangannya, perintah ini akan
menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat
pemrograman di stored procedures dan triggers. Struktur perintah Select seperti
berikut :

SELECT [DISTINCT] select_list


FROM table_source
[WHERE search_condition] ;

Memilih beberapa kolom dalam tabel

Untuk memilih beberapa kolom gunakan perintah sebagai berikut :

SELECT nama_kolom1, nama_kolom2, ... FROM nama_tabel;

Lakukan perintah berikut untuk memilih Kolom NoKTP, NmDepan dan NmBlk dari
tabel pegawai :

Untuk memilih semua kolom dari tabel, dapat menuliskan tanda asterisk (

sesudah kata Select. Simbol * berarti semua kolom, seperti berikut :

SELECT * FROM nama_tabel;

Untuk menampilkan semua kolom pada tabel pegawai menggunakan perintah


berikut :

Pernyataan Distinct

Praktikum Sistem Basis Data II 51


Untuk memilih hanya nilai yang berbeda atau nilai data yang unik. Perintah
SELECT DISTINCT berikut :

SELECT DISTINCT nama_kolom FROM nama_tabel;

Lakukan perintah dibawah berikut untuk membedakan penggunaan Distinct :

Klausa WHERE

Klausa WHERE digunakan untuk menentukan kriteria seleksi. Untuk memilih data
suatu tabel dengan kriteria tertentu, klausa WHERE dapat ditambahkan pada
pernyataan SELECT. Perintah yang digunakan seperti berikut:

SELECT nama_kolom
FROM nama_tabel
WHERE kolom operator nilai;
Dengan klausa WHERE, operator berikut seperti tabel 5.1 berikut :

Operator Keterangan
= Sama dengan
<> Tidak sama dengan
> Lebih besar dari
< Lebih kecil dari
>= Lebih besar atau sama dengan
<= Lebih kecil atau sama dengan
BETWEEN Antara dua nilai
LIKE Mencari suatu pola

Lakukan perintah berikut dengan menggunakan klausa Where untuk menampilkan


data pegawai dengan NoKtp =1102:

Praktikum Sistem Basis Data II 52


Kondisi LIKE

Kondisi LIKE digunakan untuk menentukan pencarian berdasarkan pola tertentu


pada suatu kolom, perintah yang digunakan seperti berikut :

SELECT nama_kolom
FROM nama_tabel
WHERE nama_kolom LIKE pola;
Tanda ” % ” dapat digunakan untuk menentukan Wildcard (sembarang huruf), baik
sebelum maupun sesudah pola. Perlu diingat operasi ini, hanya untuk
pembandingan nilai bertipe string Lakukan perintah berikut untuk menampilkan
nama depan pegawai yang dimulai dengan huruf E :

Tugas :
Kerjakan dengan menggunakan perintah DML untuk :
1. mengubah data yang terdiri dari 2 atau lebih field dalam satu tabel, Misal;
mengubah NmDepan = ‘Eni’ , NmBlk=’Wahyuni’, alamat=’Sidoarjo’ menjadi
NmDepan =’Endarti’, NmBlk=’Wardani’, Alamat =’Mojokerto’.
2. Menampilkan data pegawai yang mempunyai alamat Surabaya.
3. Menampilkan data pegawai yang memiliki gaji lebih besar dari 2000000.
4. Menampilkan data pegawai yang mempunyai alamat ‘sidoarjo’ dan mempunyai gaji
lebih kecil dari 2000000.
5. Menampilkan NmDepan, NmBelakang, Alamat pegawai yang mempunyai alamat
Surabaya atau Sidoarjo.

Praktikum Sistem Basis Data II 53


JOB SHEET PRAKTIKUM 6

AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan DML 6
A. Tujuan Praktikum

Setelah melakukan Praktikum ini mahasiswa diharapkan :


1. dapat memahami perintah DML
2. dapat memahami dan menggunakan perintah Select
B. Alat dan Bahan

Spesifi
No Nama Alat Jumlah Satuan Keterangan
kasi
1 PC Unit Standar 10 Buah
2 Sistem Operasi Standar 10 Buah
3 Software Database Standar 10 Buah

C. Dasar Teori

Perintah SELECT adalah perintah untuk menampilkan data yang ada di dalam
suatu tabel, yang mana dalam pengembangannya perintah ini akan menjadi sebuah
perintah yang sangat penting dan berpengaruh hingga saat pemrograman di stored
procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dalam modul
V masih ada banyak perintah-perintah SELECT lain, antara lain perintah ALIAS,
menampilkan data lebih dari 2 tabel, ORDER BY, GROUP BY, HAVING, fungsi
agregate, dan beberapa perintah yang lain.
SELECT [DISTINCT] select Jist
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC I DESC]

Keterangan :
■ SELECT, INTO, FROM, WHERE, GROUP BY, HAVING DAN ORDER BY
-> kata kunci (keyword) yang hams disertakan jika kita membutuhkannya di dalam
pengolahan data.
■ selectjist, table_source, search_condition, group_by_expression, order_expression
-> isian yang bisa kita ubah berdasarkan kebutuhan kita
■ Kurung kotak [ ] -> bagian tersebut boleh disertakan atau tidak, tergantung dari
kebutuhan

Praktikum Sistem Basis Data II 54


1. Kegiatan praktikum
Latihan 1 : Pemberian nama lain (ALIAS)
Perintah Select dapat dilakukan dengan memberikan nama lain atau alias yaitu
dapat digunakan untuk memberikan alias pada nama_kolom dan nama_tabel. 1.1
Pemberian alias pada kolom Perintah untuk me
SELECT nama_kolom AS nama_alias
FROM namatabel; Atau
SELECT nama_kolom nama_alias
FROM nama_tabel;

Lakukan perintah berikut untuk memberikan nama alias pada kolom Gaji menjadi Gaji
Bersih :

Atau
Pemberian alias pada tabel Pemberian nama alias menggunakan perintah berikut

SELECT nama_alias.nama_kolom
FROM namatabel AS nama_alias;
Atau
SELECT nama_alias.nama_kolom
FROM nama_tabel nama_alias

Lakukan perintah berikut untuk memberikan alias Peg pada tabel pegawai :

Praktikum Sistem Basis Data II 55


Latihan 2 : Menampilkan data lebih dari dua tabel

Perintah Select juga dapat dilakukan untuk beberapa tabel sekaligus dengan
syarat bahwa tabel-tabel yang akan ditampilkan semua mempunyai relasi baik secara
implisit maupun eksplisit. Perintah untuk menampilkan data lebih dari dua tabel
seperti berikut :

SELECT * FROM namatabel1, namatabel2, namatabel-n;

Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat dari tabel
pegawai dan Nama Departemen dari tabel departemen :

Latihan 3 : Kondisi Where untuk relasi

Jika kita mengambil informasi dari lebih dari sebuah tabel, maka kita perlu
menambahkan kondisi untuk relasi antara kedua tabel tersebut. Untuk relasi kita harus
memperhatikan kolom dari 2 atau lebih tabel yang mempunyai data yang sama. Jika
ada nama field yang sama dari tabel yang disertakan, maka sebelum nama field,
berikan nama tabel diikuti sebuah titik (.)

Pada latihan 2, data yang ditampilkan seluruh pasangan baris data departemen di
tiap baris pegawai, yang tentu saja bukan informasi yang benar. Maka supaya
informasi akurat maka ditambah relasi dengan menggunakan kolom yang sama yaitu
Departemen.Nomor dan Pegawai.Nomor.

Praktikum Sistem Basis Data II 56


Latihan 4 : Klausa Order By

Klausa ORDER BY digunakan untuk mengurutkan data. Jika kita ingin


menampilkan NmDepan,NmBlk,Alamat dan departemen berdasarkan urutan NmDepan
secara ascending, maka perintah :

Latihan 5 : Operator IN

Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai


Kumpulan nilai bisa berupa:

♦ nilai-nilai yang diisikan

♦ query tunggal yaitu query yg hasilnya hanya terdapat sebuah kolom saja Perintah
operator IN seperti berikut :

SELECT nama_kolom FROM namatabel WHERE


namakolom NOT IN/IN (nilai1, nilai2, ...);
Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat dari pegawai
yang mempunyai alamat Sidoarjo dan Surabaya :

Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat pegawai yang
mempunyai tanggungan :

Praktikum Sistem Basis Data II 57


Latihan 6 : Operator BETWEEN … AND

Operator BETWEEN … AND memilih data antara dua nilai. Nilai dapat berupa
angka, teks, atau tanggal, perintah yang digunakan sebagai berikut :

SELECT nama_kolom
FROM nama_tabel
WHERE nama_kolom
BETWEEN/NOT BETWEEN nilai1 AND nilai2;
Lakukan perintah berikut untuk menampilkan data tanggungan yang mempunyai tahun
kelahiran dari tahun 1999 sampai 2002 :

Latihan 7 : Fungsi Aggregate (COUNT, SUM, AVG, MIN dan MAX)

Fungsi aggregate merupakan fungsi-fungsi yang digunakan untuk melakukan


perhitungan statistikal dalam tabel. Secara umum, hanya field yang bertipe numerik
(int, money dan sejenisnya) yang bisa dikenakan fungsi ini. SQL menyediakan
sejumlah fungsi yang dapat digunakan pada SELECT seperti tabel 6.1 berikut :

7.1 COUNT
Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel.
Perintah berikut digunakan untuk menghitung jumlah data pada tabel pegawai dengan
menggunakan kolom NoKTP :

7.2 SUM
Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel.
Perintah berikut digunakan untuk menghitung jumlah nilai kolom gaji pada tabel
pegawai :

Praktikum Sistem Basis Data II 58


7.3 AVG
Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada
tabel. Perintah berikut digunakan untuk menghitung rata-rata dari kolom Gaji pada
tabel pegawai :

7.4 MIN
Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada
tabel. Perintah berikut digunakan untuk menampilkan nilai terkecil dari kolom gaji pada
tabel pegawai :

7.5 MAX
Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada
tabel. Perintah berikut digunakan untuk menampilkan nilai terbesar dari kolom Gaji
pada tabel pegawai :

Latihan 8 : Klausa GROUP BY


Hasil dari Select juga dapat dikelompokkan dengan menambahkan klausa GROUP BY.
Perintah yang digunakan sebagai berikut :
SELECT nama_kolom, COUNT (nama_kolom)
FROM nama_tabel
GROUP BY nama_kolom;

Perintah berikut digunakan untuk menampilkan jumlah pegawai berdasarkan alamat


kotanya :

Praktikum Sistem Basis Data II 59


Latihan 9 : HAVING
Klausa HAVING disediakan untuk mendukung klausa GROUP BY. Kegunaannya
adalah untuk menentukan kondisi bagi GROUP BY. Kelompok yang memenuhi kondisi
HAVING saja yang akan dihasilkan. Perintah yang digunakan sebagai berikut :
SELECT nama_kolom, COUNT (nama_kolom)
FROM nama_tabel
GROUP BY nama_kolom
HAVING COUNT (nama_kolom) kondisi nilai;

Lakukan perintah berikut untuk menampilkan NoKTP, NmDepan, NmBlk, Alamat dan
jumlah tanggungan yang dimiliki pegawai lebih dari 1 tanggungan:

3. Tugas :
1. Perhatikan latihan 4 tentang penggunaan klausa Order By, jika data NmDepan,
NmBlk,Alamat dan nama departemen diurutkan berdasarkan NmDepan secara
descending dan Alamat berdasarkan ascending.
2. Tampilkan NmDepan, NmBlk dan Alamat pegawai yang alamatnya bukan Sidoarjo
dan Surabaya.
3. Tampilkan NmDepan, NmBelakang dari pegawai yang menjadi pimpinan untuk
masing-masing departemen.
4. Tampilkan Nomor, nama departemen dan jumlah pegawai untuk masing-masing
departemen.
5. Tampilkan data pegawai yang mempunyai tidak mempunyai tanggungan.
6. Tampilkan data tanggungan yang tahun lahir diluar 1999 sampai 2002.
7. Tampilkan jumlah pegawai yang mempunyai alamat Surabaya
8. Tampilkan NoKTP,NmDepan,NmBlk, Alamat dan Jumlah tanggungan untuk
masing-masing pegawai.

Praktikum Sistem Basis Data II 60


JOB SHEET PRAKTIKUM 7

AKUNTANSI
Topik : Pengenalan DML
Sub Topik : Penggabungan Beberapa Tabel 7
A. Tujuan Praktikum

Setelah melakukan Praktikum ini mahasiswa diharapkan :


1. dapat memahami perintah DML
2. dapat memahami dan menggunakan Fungsi DML
3. Dapat menggabungkan beberapa tabel database

B. Alat dan Bahan

Spesifi
No Nama Alat Jumlah Satuan Keterangan
kasi
1 PC Unit Standar 10 Buah
2 Sistem Operasi Standar 10 Buah
3 Software Database Standar 10 Buah

C. Dasar Teori

Menampilkan Data Dari Beberapa Tabel MySQL


Ketika menampilkan data yang disimpan dari database, seringnya kita akan
mengambil data dari beberapa tabel untuk diolah sehingga menjadi satu keluaran, misal
pada laporan penjualan. Pada model database relasional RDBMS termasuk MySQL,
bentuk pengambilan data ini dapat dilakukan dengan mudah karena masing masing tabel
saling berelasi/berhubungan, bentuk hubungan ini bermacam macam, bisa one-to-one
relationship, one-to-many, dan many-to-many

Praktikum :
Siapkan empat tabel, yaitu: tabel pelanggan, produk, transaksi, dan
transaksi_detail. struktur dan hubungan keempat tabel tersebut tampak seperti pada
gambar berikut:

Praktikum Sistem Basis Data II 61


Dari keempat tabel tersebut, kita hanya menggunakan beberapa diantaranya.
Adapun contoh datanya adalah sebagai berikut:

Tabel barang:
+-----------+-------------+-------------+---------+------+
| id_barang | id_kategori | nama_barang | harga | stok |
+-----------+-------------+-------------+---------+------+
| 1 | 1 | RAM | 230000 | 4 |
| 2 | 1 | Mainboard | 1250000 | 7 |
| 3 | 1 | Mouse | 80000 | 6 |
| 4 | 3 | Mousepad | 35000 | 3 |
| 5 | 3 | Keyboard | 80000 | 5 |
+-----------+-------------+-------------+---------+------+

Tabel pelanggan:
+--------------+---------+-------------------+
| id_pelanggan | nama | email |
+--------------+---------+-------------------+
| 1 | Alfa | alfa@yahoo.com |
| 2 | Beta | beta@yahoo.com |
| 3 | Charlie | charlie@gmail.com |
| 4 | Delta | delta@gmail.com |
+--------------+---------+-------------------+

Tabel penjualan:
+--------------+--------------+---------------+-----------------+
| id_transaksi | id_pelanggan | tgl_transaksi | total_transaksi |
+--------------+--------------+---------------+-----------------+
| 1 | 1 | 2017-02-22 | 230000 |
| 2 | 3 | 2017-02-22 | 195000 |
| 3 | 2 | 2017-01-01 | 1710000 |
| 4 | 1 | 2017-02-04 | 310000 |
| 5 | NULL | 2017-02-10 | 80000 |
+--------------+--------------+---------------+-----------------+

JOIN Pada MySQL

Untuk menggabungkan tabel pada MySQL, kita gunakan klausa JOIN. Pada MySQL
terdapat dua macam bentuk join, yaitu INNER JOIN, LEFT OUTER JOIN, dan RIGHT OUTER
JOIN. Format penulisannya adalah sebagai berikut:

Praktikum Sistem Basis Data II 62


SELECT nama_kolom
FROM tabel
INNER JOIN | LEFT OUTER JOIN | RIGHT OUTER JOIN tabel ON kondisi

Selain menggunakan klausa ON untuk mendefinisikan kondisi, kita dapat


menggunakan klausa USING, format penulisannya adalah:
SELECT nama_kolom
FROM tabel
INNER JOIN | LEFT OUTER JOIN | RIGHT OUTER JOIN tabel USING(nama_kolom)

Klausa USING ini akan menggunakan nama kolom yang ada di dalam tanda kurung
untuk menghubungkan kedua tabel, kolom ini harus ada pada tabel yang ingin
dihubungkan dan harus memiliki nama yang sama.

Biasanya kolom yang berhubungan didefinisikan sebagai Primary Key dan Foreign Key,
namun tidak masalah jika keduanya bukan primary key maupun foreign key.

INNER atau CROSS JOIN


Cara pertama untuk menggabungkan tabel adalah menggunakan inner join. Dengan
inner join, tabel akan digabungkan berdasarkan data yang sama, yang ada pada kedua
tabel, jika di gambarkan dalam bentuk diagram venn, bentuk inner join seperti tampak
pada gambar berikut:

Pada MySQL, penulisan INNER JOIN dapat dilakukan dengan dua cara yaitu :
1. menggunakan klausa INNER JOIN
2. menggunakan klausa CROSS JOIN
3. cukup menggunakan klausa JOIN saja.
Bebas menggunakan keduanya asal konsisten, saya pribadi lebih prefer
menggunakan JOIN saja, karena lebih simpel. Sebagai contoh kita akan menampilkan data
pelanggan yang melakukan pesanan, query yang kita jalankan:
SELECT pl.id_pelanggan, nama, tgl_transaksi, total_transaksi
FROM pelanggan pl
JOIN penjualan pn ON pl.id_pelanggan = pn.id_pelanggan

Jika menggunakan klausa USING, maka query akan berbentuk seperti berikut:
SELECT pl.id_pelanggan, nama, tgl_transaksi, total_transaksi
FROM pelanggan pl

Praktikum Sistem Basis Data II 63


JOIN penjualan pn USING(id_pelanggan)
Hasil:
+--------------+---------+---------------+-----------------+
| id_pelanggan | nama | tgl_transaksi | total_transaksi |
+--------------+---------+---------------+-----------------+
| 1 | Alfa | 2017-02-22 | 230000 |
| 3 | Charlie | 2017-02-22 | 195000 |
| 2 | Beta | 2017-01-01 | 1710000 |
| 1 | Alfa | 2017-02-04 | 310000 |
+--------------+---------+---------------+-----------------+

Pada contoh diatas, terlihat bahwa :

 Pelanggan dengan nama Delta tidak muncul, hal ini disebabkan pelanggan
tersebut tidak pernah melakukan transaksi.

 Transaksi dengan id_trx 5 tidak muncul, karena transaksi tersebut memiliki nilai
id_transaksi NULL, sehingga tidak terhubung ke pelanggan manapun.

OUTER JOIN
Cara kedua untuk menggabungkan tabel pada MySQL adalah menggunakan outer
join. Pada outer join, data pada salah satu tabel akan ditampilkan semua, sedangkan data
pada tabel yang lain hanya akan ditampilkan jika data tersebut ada pada tabel pertama.

Pada MySQL, OUTER JOIN dibagi menjadi dua, yaitu LEFT OUTER JOIN dan RIGHT
OUTER JOIN.

LEFT OUTER JOIN


Pada LEFT OUTER JOIN, semua data pada tabel sebelah kiri akan ditampilkan,
sedangkan data pada tabel disebelah kanan hanya akan ditampilkan jika data terkait pada
tabel tersebut muncul di tabel sebelah kiri. Jika digambarkan dalam bentuk diagram venn,
bentuk LEFT OUTER JOIN tampak pada gambar berikut:

LEFT OUTER JOIN dapat ditulis menggunakan dua cara, yaitu (1) dengan klausa LEFT
OUTER JOIN, (2) cukup dengan klausa LEFT JOIN saja, sobat bebas memilih salah satu yang
penting konsisten, saya sendiri prefer menggunakan bentuk kedua karena lebih simpel.
Contoh kita tampilkan semua data pelanggan beserta data transaksinya, jalankan query
berikut:

Praktikum Sistem Basis Data II 64


SELECT pl.id_pelanggan, nama, tgl_transaksi, total_transaksi
FROM pelanggan pl
LEFT JOIN penjualan USING(id_pelanggan)
Hasil:
+--------------+---------+---------------+-----------------+
| id_pelanggan | nama | tgl_transaksi | total_transaksi |
+--------------+---------+---------------+-----------------+
| 1 | Alfa | 2017-02-22 | 230000 |
| 3 | Charlie | 2017-02-22 | 195000 |
| 2 | Beta | 2017-01-01 | 1710000 |
| 1 | Alfa | 2017-02-04 | 310000 |
| 4 | Delta | NULL | NULL |
+--------------+---------+---------------+-----------------+

Pada contoh diatas, terlihat bahwa dengan LEFT JOIN, data pada tabel sebelah kiri,
yaitu tabel pelanggan akan ditampilkan semua, sedangkan data pada tabel sebelah kanan
hanya akan ditampilkan jika nilai kolom id_pelanggan nya muncul pada tabel pertama,
yaitu id_pelanggan 1, 2, dan 3

RIGHT OUTER JOIN


Kebalikan dari LEFT OUTER JOIN, pada RIGHT OUTER JOIN, data pada tabel sebelah kanan
akan ditampilkan semua, sedangkan data pada sebelah kiri hanya ditampilkan jika data
terkait pada tabel tersebut muncul pada tabel sebelah kanan. Jika digambarkan dalam
bentuk diagram venn, maka, bentuk right outer join akan tampak seperti gambar berikut:

Sama seperti LEFT OUTER JOIN, RIGHT OUTER JOIN juga dapat ditulis menggunakan dua
cara, yaitu ditulis secara utuh atau cukup RIGHT JOIN saja. Saya sendiri lebih prefer
menggunakan RIGHT JOIN saja. Contoh kita tampilkan semua data transaksi beserta data
pelanggannya, jalankan query berikut:
SELECT pl.id_pelanggan, nama, tgl_transaksi, total_transaksi
FROM pelanggan pl
RIGHT JOIN penjualan USING(id_pelanggan)
Hasil:
+--------------+---------+--------------+---------------+-----------------+
| id_pelanggan | nama | id_transaksi | tgl_transaksi | total_transaksi |
+--------------+---------+--------------+---------------+-----------------+
| 1 | Alfa | 1 | 2017-02-22 | 230000 |
| 1 | Alfa | 4 | 2017-02-04 | 310000 |
| 2 | Beta | 3 | 2017-01-01 | 1710000 |
| 3 | Charlie | 2 | 2017-02-22 | 195000 |
| NULL | NULL | 5 | 2017-02-10 | 80000 |
+--------------+---------+--------------+---------------+-----------------+

Praktikum Sistem Basis Data II 65


Pada contoh diatas, terlihat bahwa semua data pada tabel disebelah kanan, yaitu
tabel penjualan akan ditampilkan semua, sedangkan pada tabel sebelah kiri hanya
ditampilkan yang data id_pelanggan nya muncul pada tabel penjualan.

Jika kita teliti lebih lanjut, sebenarnya right join hanya memindah posisi tabel, dari
kiri ke kanan, contoh query pada right join dapat kita ubah dengan menjadi LEFT JOIN
dengan mengubah posisi tabel, perhatikan contoh berikut:
SELECT pl.id_pelanggan, nama, id_transaksi, tgl_transaksi, total_transaksi
FROM penjualan pl
LEFT JOIN pelanggan USING(id_pelanggan)

Perhatikan pada contoh diatas, kita balik posisi tabel penjualan dan tabel pelanggan.
Jika query terebut dijalankan, hasil yang kita peroleh adalah:
+--------------+---------+--------------+---------------+-----------------+
| id_pelanggan | nama | id_transaksi | tgl_transaksi | total_transaksi |
+--------------+---------+--------------+---------------+-----------------+
| 1 | Alfa | 1 | 2017-02-22 | 230000 |
| 1 | Alfa | 4 | 2017-02-04 | 310000 |
| 2 | Beta | 3 | 2017-01-01 | 1710000 |
| 3 | Charlie | 2 | 2017-02-22 | 195000 |
| NULL | NULL | 5 | 2017-02-10 | 80000 |
+--------------+---------+--------------+---------------+-----------------+

Perhatikan bahwa hasil diatas sama persis dengan hasil pada contoh right join, jadi
kesimpulannya, agar memudahkan, cukup gunakan salah satu bentuk outer join saja, LEFT
JOIN atau RIGHT JOIN, saya sendiri prefer menggunakan LEFT JOIN.

IMPLISIT JOIN

Sejauh ini, kita menampilkan data dari beberapa tabel MySQL dengan menggunakan
klausa JOIN. Selain menggunakan klausa JOIN, terdapat satu cara lagi untuk
menggabungkan tabel MySQL, yaitu menggunakan implisit join, disebut implisit join
karena kita tidak menggunakan klausa JOIN, pada implisit join, kriteria hubungan antar
tabel di definisikan pada klausa WHERE. Sebagai contoh, mari kita gabungkan tabel
pelanggan dan penjualan, jalankan query berikut:
SELECT pl.id_pelanggan, nama, id_transaksi, tgl_transaksi, total_transaksi
FROM pelanggan pl, penjualan pn
WHERE pl.id_pelanggan = pn.id_pelanggan
Hasil yang kita peroleh:
+--------------+---------+--------------+---------------+-----------------+
| id_pelanggan | nama | id_transaksi | tgl_transaksi | total_transaksi |
+--------------+---------+--------------+---------------+-----------------+
| 1 | Alfa | 1 | 2017-02-22 | 230000 |
| 3 | Charlie | 2 | 2017-02-22 | 195000 |
| 2 | Beta | 3 | 2017-01-01 | 1710000 |
| 1 | Alfa | 4 | 2017-02-04 | 310000 |
+--------------+---------+--------------+---------------+-----------------+

Perhatikan bahwa hasil tersebut sama persis dengan hasil pada contoh INNER JOIN,
sehingga dapat disimpulkan bahwa implisit join = inner join.

Praktikum Sistem Basis Data II 66


Implisit join mensyaratkan kedua tabel memiliki data yang sama ( WHERE
pl.id_pelanggan = pn.id_pelanggan ), sehingga implisit join ini hanya berlaku pada INNER
JOIN, dan tidak bisa digunakan untuk OUTER JOIN.

Implisit JOIN ini merupakan cara lama ketika pertama kali standar SQL dibuat,
setelah muncul standar yang lebih baru (SQL2) maka mulai digunakanlah klausa JOIN.
Saya sendiri prefer menggunakan klausa JOIN karena lebih mudah dibaca dan dipahami,
terutama hubungan antara tabel yang digabungkan.

Pada bentuk klausa JOIN, hubungan antar tabel dinyatakan pada klausa ON atau
USING, sedangkan filter datanya dilakukan pada klausa WHERE, misal:
SELECT pl.id_pelanggan, nama, id_transaksi, tgl_transaksi, total_transaksi
FROM pelanggan pl
LEFT JOIN penjualan pn USING (id_pelanggan)
WHERE pl.id_pelanggan = 2 OR pl.id_pelanggan = 1

sedangkan pada implisit JOIN, hubungan antar tabel dan filter datanya, semua
didefinisikan pada klausa WHERE, misal:
SELECT pl.id_pelanggan, nama, id_transaksi, tgl_transaksi, total_transaksi
FROM pelanggan pl, penjualan pn
WHERE pl.id_pelanggan = pn.id_pelanggan
AND (pl.id_pelanggan = 2 OR pl.id_pelanggan = 1)

Operator ANY
Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE
(benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE.

Operator ALL
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.

Union

Praktikum Sistem Basis Data II 67


Union merupakan operator yang digunakan untuk menggabungkan hasil query,
dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan datanya harus sama.

INTERSECT
Intersect merupakan operator yang digunakan untuk memperoleh data dari dua
buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut
dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan datanya harus sama.
Syntax :
SELECT * FROM namatabel1
INTERSECT
SELECT * FROM namatabel2

Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat
menggunakan operator IN yang bisa diperdalam di bagian Nested Queries.

EXCEPT / Set Difference


EXCEPT merupakan operator yang digunakan untuk memperoleh data dari dua
buah query dimana data yang ditampilkan adalah data yang ada pada hasil 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 datanya harus sama.
Syntax :
SELECT * FROM namatabel1
EXCEPT
SELECT * FROM namatabel2
Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat
menggunakan operator NOT IN yang bisa diperdalam di bagian Nested Queries

1. Tugas
Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masing-
masing perintah DML berikut :
1. Buatlah perintah SQL untuk menampilkan data yang berasal dari dua tabel dan
tiga tabel dengan menggunakan perintah JOIN.
2. Buatlah perintah SQL yang menggunakan UNION, INTERSECT, dan EXCEPT.
3. Buatlah perintah SQL yang menggunakan operator comparison ANY dan ALL.

Praktikum Sistem Basis Data II 68


JOB SHEET PRAKTIKUM 8

AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan View 8
A. Tujuan Praktikum

Setelah melakukan Praktikum ini mahasiswa diharapkan :


1. dapat memahami Fungsi untuk Menampilkan Data
2. dapat memahami dan memanipulasi Fungsi Select
B. Alat dan Bahan

Spesifi
No Nama Alat Jumlah Satuan Keterangan
kasi
1 PC Unit Standar 10 Buah
2 Sistem Operasi Standar 10 Buah
3 Software Database Standar 10 Buah

C. Dasar Teori

View adalah query SELECT yang disimpan dalam database untuk menampilkan
data dari satu atau beberapa table. View juga disebut sebagai table virtual yang
digunakan untuk membungkus suatu query SELECT yang kompleks menjadi lebih
sederhana. Data-data yang termasuk kategori rahasia dapat diamankan dengan
menggunakan view.
Kegunaan view antara lain:
1. Fokus pada data atau tabel tertentu
2. Penyederhanaan manipulasi data
3. Menyesuaikan data dengan kebutuhan user
4. Export dan impor data
5. Mengkombinasikan data terpartisi
Syntax
CREATE VIEW view_name AS select_statement

1. Kegiatan praktikum
Sebelum query SELECT yang akan disimpan ke dalam view. Penamaan view
memiliki aturan yang sama dengan penamaan table. Nama view harus unik artinya
nama view tidak diperkenankan sama dengan nama view yang sudah ada
sebelumnya.

Praktikum Sistem Basis Data II 69


Pesan di atas akan tampil jika terjadi pembuatan view dengan menggunakan
nama yang sama dengan nama view yang lain. Nama kolom dari base table bisa
diubah menjadi nama lain saat disimpan ke dalam view dengan menggunakan
COLUMN ALIAS
2. Tugas
Buat tabel-tabel berikut ini :
1. Tabel Artikel dengan struktur

2. Tabel guestbook dengan struktur

3. Tabel Materi dengan struktur

4. Insert data pada masing-masing tabel


5. Tampilkan data judulartikel, author dan tanggal dari tabel artikel

Praktikum Sistem Basis Data II 70


6. Buat View dengan nama V_artikel1 untuk menampilkan data pada soal no 5

7. Tampilkan semua data pada tabel v_artikel1

Jadi bisa anda lihat bahwa pada soal nomor 5 dan 7 mempunyai hasil yang
sama, sehingga dapat di simpulkan bahwa view dapat menampilkan kembali
data yang sama dengan lebih sederhana, dapat digunakan untuk mengerjakan
query yang tidak mungkin diselesaikan dengan cara biasa, view dapat
digunakan untuk menyimpan data rahasia karena tidak muncul pada database
awal.
8. Buatkan view artikel2 untuk menampilkan judulartikel, author dan tanggal, id
yang mempunyai bidang pemograman dan analisa sistem
9. Buatkan view guest1 untuk menampilkan semua data yang namanya diawali
dengan ”ahmad”, kemudian ganti namaauthor menjadi pengarang.
10. Buatkan view guest2 untuk menampilkan semua data yang namanya kemudian
ganti namaauthor menjadi pengarang.

Praktikum Sistem Basis Data II 71


11. Buatkan view materi untuk menampilkan semua data yang namanya kemudian
ganti nama author menjadi pengarang.
3. Tugas
1. Dari praktikum diatas, berikan kesimpulannya.
2. Buat table film dan jenis film dengan tampilan sebagai berikut jika hasilnya diselect :
3. Isi tabel jenisfilm :
4. Isi tabel film :
5. Berikut ini perintah untuk menampilkan semua data pada tabel jenisfilm dan film :
a. Buat perintah view untuk :
b. Mengurutkan data film berdasarkan kolom judul, gunakan order by dan simpan
dengan v_film1
c. Menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya
tidak tercantum pada tabel film, gunakan NOT IN / not exist dan simpan
dengan nama v_film2
d. Menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya
tercantum pada tabel film menggunakan IN / exist dan simpan dengan nama
v_film3
e. Manampilkan kolom jenis dan digabungkan dengan SUM(jml_film) yang
dikelompokkan berdasarkan kolom jenis pada tabel film dan simpan dengan
nama v_film4
f. Menampilkan kolom judul dari tabel film dan kolom harga dari tabel
jenisfilm(gunakan Operasi Join) dan simpan dengan nama v_film5

Praktikum Sistem Basis Data II 72


JOB SHEET PRAKTIKUM 9

AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan View 9
A. Tujuan Praktikum

Setelah melakukan Praktikum ini mahasiswa diharapkan :


1. dapat memahami Query SQL
2. dapat memahami dan memanipulasi Query View
3. dapat membuat View dari 1 atau lebih tabel database

B. Alat dan Bahan

Spesifi
No Nama Alat Jumlah Satuan Keterangan
kasi
1 PC Unit Standar 10 Buah
2 Sistem Operasi Standar 10 Buah
3 Software Database Standar 10 Buah

C. Dasar Teori

View
View dalam SQL juga merupakan suatu table yang diturunkan dari table yang lain.
Table ini bias berupa table dasar dari yang didefinisikan sebelumnya.suatu view yang
tidak perlu dalam bentuk fisiknya, bias berupa table bayangan (virtual table), sehingga
table dasar yang mempunyai tupel-tupel pada dasarnya tersimpan dalam database.
Pembatasan ini memungkinkan untuk mengupdate operasi yang bias digunakan dalam
view, tetapi tidak membatasi dalam view queri.

Menghapus View
Queri yang sama juga bias didapatkan dengan menentukan dua hubungan yang
telah ada dalam relasi dasarnya, keuntungan utama view tersebut adalah untuk
menyederhanakan ketentuan tentang queri yang diperlukan, dan juga bias digunakan
untuk perangkat keamanan data.
Suatu view dari queri selalu menampilkan data yang terbaru, sebagai contoh bila
kita memodifikasi sebagaian tupel dalam table dasarnya dimana view tersebut
didefinisikan, maka secara otomatis akan berpengaruh pada view di queri Jika tidak

Praktikum Sistem Basis Data II 73


membutuhkan penampakan queri lagi, kita bisa menggunakan perintah DROP VIEW untuk
menghapusnya.
syntax :
DROP VIEW (nama view)
Mengupdate view dan Implementasi view
Mengupdate view merupakan suatu hal yang kompleks. Secara umum suatu update
dari suatu view didefinisikan pada suatu table tunggal tanpa fungsi-fungsi pendukung
(aggregate) yang bias dimapping kedalam suatu table dasar pembentuknya dengan
berbagai cara. Topic tentang update view ini masih terus diuji coba. Untuk
menggambarkan masalah yang potensial dengan mengupdate view yang telah
didefinisikan dalam beberapa table, misal table Work_ON1 dan mendukung perintah
untuk mengupdate attribute pname dari ‘john smith’ dan dari ‘productX’ ke ‘productY’.
View ini ditunjukkan sebagai berikut :
Update work_on1
Set pname =’productY’
Where Lname = ‘smith’and Fname= ‘john’ and
Pname = ‘productX’
Secara umum kita tidak dapat menjamin bahwa setiap tampilan bisa diupdate. Suatu
tampilan yang diupdate hanya memungkinkan untuk satu kali update pada relasi
dasarnya yang dapat menghubungkan update tersebut pada tampilannya. Sebagai
kesimpulan dapat ditentukan :
 Suatu tampilan dengan definisi tunggal itu dapat diupdate bila attribute tampilan
berisi primary key atau beberapa candidate key dari relasi dasar, sebab inilah yang
menghubungkan antara view tupel dengan tupel dasar tunggal.
 Tampilan yang didefinisikan dengan menggunakan beberapa table yang
berhubungan umumnya tidak dapat diupdate
 Tampilan yang menggunakan group dan fungsi aggregate tidak dapat diupdate

Latihan :
1. Buat table golongan, jabatan dan pegawai dengan data sebagai berikut :
Tabel golongan :

Praktikum Sistem Basis Data II 74


2. Buat view dengan nama latihanview1 untuk menampilkan seluruh data pegawai
yang jabatannya sebagai staff
3. Buat view dengan nama latihanview2 untuk menampilkan seluruh datapegawai
yang dua digit pertama nipnya di awali dengan angka 03
4. Buat view dengan nama latihanview3 untuk menampilkan data nip, nama dan
golongan pegawai serta tunjangan golongan yang didapat (gunakan select
multiple table)
5. Buat view dengan nama latihanview4 untuk menampilkan seluruh data pegawai
beserta gaji total yang diperolehnya. Gaji total merupakan hasil perhitungan dari
gaji pokok di tambahkan dengan tunjangan golongan serta tunjangan keluarga
6. Hapuslah latihanview1
7. Buat view dengan nama latihanview5 untuk menampilkan data pegawai yang gaji
pokoknya paling tinggi.

3. Tugas
1. Apakah yang dimaksud dengan update view?, buatkan contoh mengenai update
view dari suatu table view.

Praktikum Sistem Basis Data II 75


2. Mengapa dalam update view fungsi aggregate tidak dapat digunakan,jelaskan alas
an anda
3. Buat view dengan nama latihanview6 untuk menampilkan seluruh data pegawai
yang mana nama pegawai bambang purnomo ganti dengan joko purnomo dan
golongan ganti dengan manager
4. Buat view dengan nama latihanview7 untuk menampilkan seluruh data pegawai
yang berada dikota Surabaya atau yang mempunyai golongan B (gunakan operasi
union)
5. Hapuslah latihanview 4
6. Update view jabatan yang mana tunjangan jabatan manajer dari 500000 menjadi
1000000
7. Buat view dengan nama latihanview8 untuk menampilkan seluruh data pegawai
yang jabatannya sebagai supervisor

Praktikum Sistem Basis Data II 76


Praktikum Sistem Basis Data II 77

Anda mungkin juga menyukai