MODUL PRAKTEK
KA163526 - SISTEM BASIS DATA II
Penyusun :
REZAGI MEILANO, M.KOM
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.
PENYUSUN
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.
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.
5. Penilaian
1. Kehadiran : 10 %
2. Tes pendahuluan/ kesiapan praktikan : 10 %
3. Laporan praktek : 50 %
4. Keaktifan kegiatan Praktek : 30 %
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
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.
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 :
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.
Keterangan :
Pegawai memiliki kendaraan, sebuah relationship memiliki mengubungkan entity
Pegawai dan entity Kendaraan.
Kota
Keterangan :
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
Dosen Mempelajari
Kd_MK
Kd_Dosen Kd_Dosen
M M
Mahasiswa Mempelajari Mata Kuliah
1 M
Dosen Mempelajari
NIM
Kd_MK
Nama_Mhss
Alamat_Mhss Nm_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
Subclass merepresentasikan entity yang sama dengan superclass, namun memiliki peran
spesifik tertentu.
Entity dalam subclass merupakan anggota superclass, namun tidak sebaliknya.
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:
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.
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.
AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Query Dasar MySQL 2
A. Tujuan Praktikum
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
1. SELECT
Untuk Menampilkan Data
Contoh Penggunaan :
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
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');
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.
Contoh Penggunaan :
nama : Sholahudin
kota : Jakarta
negara : Indonesia
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
AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan MySQL 3
A. Tujuan Praktikum
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
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
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
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
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
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.
Selanjutnya untuk keluar dari server MySQL dapat dilakukan dengan mengetikkan
perintah quit atau \q pada prompt mysql>.
Untuk memilih dan membuka database dapat menggunakan perintah berikut ini:
use namadatabase; Contoh:
use kepegawaian;
Show databases;
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:
Langkah Praktikum :
Perintah diatas digunakan untuk menampilan database yanga ada pada phpMyadmin.
terlihat database yang sebelumnya kita buat dengan nama "identitas_siswa"
tersimpan.
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;
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.
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.
15. Update data yang terdapat pada tabel dengan id_siswa 2 menjadi id_siswa 1.
menggunakan perintah SQL . Klik tombol SQL => Ketikkan perintah.
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
AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan DDL Lanjutan 4
A. Tujuan Praktikum
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
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 :
Berikut ini perintah untuk mengubah nama kolom NoTelp menjadi Telp :
Tabel yang akan dihapus sesuai dengan namatabel. Misalnya menghapus tabel
Departemen dari database kepegawaian;
AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan DML 5
A. Tujuan Praktikum
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
Pernyataan INSERT INTO digunakan untuk memasukkan data bam pada tabel.
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
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’ :
Lakukan perintah berikut untuk memilih Kolom NoKTP, NmDepan dan NmBlk dari
tabel pegawai :
Untuk memilih semua kolom dari tabel, dapat menuliskan tanda asterisk (
Pernyataan 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
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.
AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan DML 6
A. Tujuan Praktikum
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
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 :
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 :
Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat dari tabel
pegawai dan Nama Departemen dari tabel departemen :
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.
Latihan 5 : Operator IN
♦ query tunggal yaitu query yg hasilnya hanya terdapat sebuah kolom saja Perintah
operator IN seperti berikut :
Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat pegawai yang
mempunyai tanggungan :
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 :
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 :
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 :
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.
AKUNTANSI
Topik : Pengenalan DML
Sub Topik : Penggabungan Beberapa Tabel 7
A. Tujuan Praktikum
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
Praktikum :
Siapkan empat tabel, yaitu: tabel pelanggan, produk, transaksi, dan
transaksi_detail. struktur dan hubungan keempat tabel tersebut tampak seperti pada
gambar 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 |
+--------------+--------------+---------------+-----------------+
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:
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.
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
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 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:
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
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 |
+--------------+---------+--------------+---------------+-----------------+
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.
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
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.
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.
AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan View 8
A. Tujuan Praktikum
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.
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.
AKUNTANSI
Topik : Pengenalan Database
Sub Topik : Pengenalan View 9
A. Tujuan Praktikum
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
Latihan :
1. Buat table golongan, jabatan dan pegawai dengan data sebagai berikut :
Tabel golongan :
3. Tugas
1. Apakah yang dimaksud dengan update view?, buatkan contoh mengenai update
view dari suatu table view.