Anda di halaman 1dari 16

SISTEM BASIS DATA

PRAKTIKUM 12
PERINTAH DML LANJUTAN

Disusun oleh:
Muhammad Syeikhooni Noor
G41180795

PROGRAM STUDI REKAM MEDIK

JURUSAN KESEHATAN
POLITEKNIK NEGERI JEMBER
2019
Praktikum 12
Perintah DML Lanjutan

Overview

Bab ini menjelaskan mengenai lanjutan dari perintah DML (Data Manipulation
Language) yang lebih fokus pada variasi penerapan perintah SELECT yang lebih
rinci. Materi yang dibahas diantaranya: SELECT DISTINCT, SELECT COUNT,
ORDER BY, BETWEEN, LIMIT, OFFSET, serta penggunaan operator NOT, AND
dan OR.

1. DESKRIPSI MATA KULIAH


Mata Kuliah : Sistem Basis Data
Program Studi : Rekam Medik
Materi : Perintah DML Lanjutan
SKS : 1 SKS Praktik
Alokasi Waktu : 1 x 120 menit
Dosen Pengampu : Mudafiq Riyan Pratama, S.Kom, M.Kom

2. TUJUAN:
1. Mengetahui beragam varian perintah SELECT.
2. Mempraktikkan perintah SELECT lanjutan berdasarkan kasus tertentu.

3. DASAR TEORI
A. SELECT DISTINCT
Di dalam tabel, memungkinkan terdapat data yang sama, maka SELECT DISTINCT
digunakan untuk mencegah adanya duplikasi data atau record. Misalkan terdapat 10 orang
dengan nama ‘Ahmad’, maka dengan menggunakan DISTINCT, akan menampilkan data
‘Ahmad’ menjadi satu nama saja. Operator DISTINCT digunakan setelah keyword
SELECT.
Format query SELECT DISTINCT:
SELECT DISTINCT kolom1, kolom2, .... FROM namatabel;

B. SELECT COUNT
Perintah SELECT COUNT berfungsi untuk menghitung jumlah data dalam satu query
select. Format query nya:
SELECT COUNT(*) FROM namatabel;

C. SELECT ... LIKE


Kata kunci LIKE di MySQL berfungsi untuk mencari atau menampilkan data berdasarkan
pola tertentu. Terdapat 3 pola dalam menerapkan perintah LIKE, yaitu:
 %katakunci berfungsi untuk menampilkan data yang akhirannya berdasarkan
katakunci, sehingga terdapat karakter lain sebelum katakunci yang dicari.
 %katakunci%, berfungsi untuk menampilkan data yang mengandung katakunci
sebagai sisipan kata, sehingga terdapat karakter sebelum dan sesudah katakunci.
 katakunci%, berfungsi untuk menampilkan data yang awalnnya berdasarkan
katakunci, sehingga terdapat karakter lain setelah katakunci yang dicari.
Format query LIKE:
SELECT * FROM namatabel WHERE namakolom LIKE ‘%katakunci%’;

D. SELECT ... ORDER BY


Kata kunci ORDER BY digunakan untuk mengurutkan data. Terdapat dua jenis pengurutan
yaitu ASC (pengurutan secara ascending) dan DESC (pengurutan secara descending).
SELECT * FROM namatabel ORDER BY namakolom ASC;
SELECT * FROM namatabel ORDER BY namakolom DESC;

E. SELECT ... GROUP BY dan HAVING


Kata kunci GROUP BY digunakan untuk mengelompokkan baris-baris data pada tabel,
misalnya menentukan jumlah customer di setiap kota.
Pernyataan GROUP BY berkaitan dengan fungsi agregat di MySQL, yaitu COUNT, MAX,
MIN, SUM, AVG untuk mengelompokkan hasil pada satu atau beberapa kelompok.
Sedangkan klausa HAVING digunakan untuk menentukan kondisi bagi GROUP BY. Akan
tetapi klausa HAVING ini tidak selalu digunakan ketika menggunakan GROUP BY.
Format penerapan GROUP BY adalah:
SELECT namakolom FROM namatabel GROUP BY namakolom;
SELECT namakolom, COUNT(*) FROM namatabel GROUP BY namakolom;
Salah satu contoh penerapan GROUP BY pada studi kasus misalkan ingin menghitung
rata-rata nilai setiap mata kuliah, maka contoh query nya adalah:
SELECT matkul, AVG(nilai) as rata_rata FROM nilai GROUP BY matkul;
Maka akan ditampilkan data nilai rata-rata setiap mata kuliah.

Jika ingin menampilkan nilai rata-rata tiap mahasiswa maka:


SELECT nim, nama, AVG(nilai) as rata_rata FROM nilai GROUP BY nim;
Maka hasilnya adalah:

Jika ingin menampilkan data nilai mahasiswa yang nilainya lebih dari 80 bagaimana?
Sehingga data nilai atas nama INA yang mendapat nilai 70.4 tidak ditampilkan. Maka ada
kondisi yang harus ditentukan, sehingga disinilah fungsi HAVING digunakan. Sehingga
query nya adalah:
SELECT nim, nama, AVG(nilai) as rata_rata FROM nilai GROUP BY nim
HAVING AVG(nilai)>80;
Sehingga yang ditampilkan adalah sebagai berikut:
F. SELECT ... BETWEEN
Perintah BETWEEN digunakan untuk menampilkan data dengan range tertentu, bisa range
berdasarkan angka, tanggal, maupun karakter huruf.
Formatnya adalah sebagai berikut:
SELECT * FROM namatabel WHERE namakolom BETWEEN value AND
value;
Value menunjukkan rentang nilainya dari berapa sampai berapa.

Misalkan ingin menampilkan data gaji pegawai antara 1.000.000 sampai 3.000.000 maka
query yang digunakan adalah sebagai berikut:
SELECT * FROM pegawai WHERE gaji BETWEEN 1000000 AND 3000000;

G. SELECT ... LIMIT


Perintah SELECT LIMIT merupakan perintah yang digunakan untuk membatasi jumlah
data yang ditampilkan.
Format dasar query nya adalah:
SELECT * FROM namatabel LIMIT nilaibatas;
Nilaibatas tersebut diisi dengan nilai angka, berapa data yang ingin dibatasi, misalkan
hanya menampilkan 30 data saja, maka nilaibatas diganti dengan 30.

H. SELECT ... LIMIT ... OFFSET


Fungsi LIMIT dapat digabungkan dengan fungsi OFFSET jika ingin menentukan urutan
data yang ingin ditampilkan mau dimulai dari data ke berapa. Penerapan fungsi OFFSET
ini misalkan terdapat 100 data mahasiswa, tapi ingin menampilkan 10 data yang berada di
urutan 11 sampai 20. Maka penerapan querynya adalah sebagai berikut:
SELECT * FROM mahasiswa LIMIT 10 OFFSET 10;
Jika diatur OFFSET 10 maka data akan ditampilkan dari urutan setelah angka tersebut,
yaitu 11 sampai 20.
Fungsi OFFSET ini sering diterapkan pada paging data ketika diterapkan dalam aplikasi.

I. Operator AND
Operator AND digunakan untuk menentukan bahwa dua kondisi atau lebih harus terpenuhi
dari sebuah query. Format query nya seperti berikut:
SELECT * FROM namatabel WHERE kondisi1 AND kondisi2;
Maka data yang ditampilkan yang memenuhi kondisi1 dan kondisi2.

J. Operator OR
Operator OR digunakan untuk menentukan bahwa salah satu kondisi dari lebih dua
kondisi akan terpenuhi dari sebuah query. Format query nya seperti berikut:
SELECT * FROM namatabel WHERE kondisi1 OR kondisi2;
Maka data yang ditampilkan yang memenuhi salah satu dari kondisi atau kondisi2.

4. TOOLS YANG DIGUNAKAN:


1) XAMPP (sebagai paket tools yang tersedia MySQL di dalamnya)
2) Command Line (Command Prompt / Terminal)
5. PRAKTIKUM
Aturan Praktikum:
 Setiap praktikum, mahasiswa wajib mendokumentasikan hasil praktikum dengan
cara screenshot percobaan dan memberi penjelasan di laporan.
 Format nama file laporan: MODUL12_SBD_NIM_GOLONGAN. Contoh:
MODUL12_SBD_G41161320_A.
 Pastikan bahwa service dari MySQL sudah dalam status running pada XAMPP
Control.
 Harap ditanyakan kepada teknisi atau dosen pengampu jika mengalami kesulitan.
 Bagi yang menggunakan komputer laboratorium, DIHARUSKAN MENGHAPUS
database yang telah dibuat.

Dalam praktikum ini, menggunakan sample dataset Northwind, silahkan diunduh file
northwind-structure.sql dan northwind-data.sql yang ada di e-elarning. Berikut link
downloadnya: https://e-learning.polije.ac.id/mod/folder/view.php?id=6051. Kedua file tersebut,
simpanlah pada alamat direktori C:/northwind.

1) Buatlah database dengan nama “northwind”.


Masuklah melalui command prompt di alamat direktori C:/northwind.

Kemudian masuklah ke mysql dengan perintah mysql -u root.


Selanjutnya buatlah database dengan nama northwind dengan perintah: CREATE
DATABASE northwind;
Kemudian masuklah ke database tersebut dengan perintah: USE northwind;

2) Import struktur dan data northwind


Yang pertama dilakukan adalah import file northwind-structure.sql dengan perintah:
SOURCE northwind-structure.sql;

Selanjutnya import datanya dengan perintah:


SOURCE northwind-data.sql;
3) Tampilkan semua tabel yang ada di northwind

4) Tampilkan struktur tabel customers


5) Tampilkan nama depan dan nama kota asal customer

Setelah ditampilkan datanya, tampilkan secara terurut berdasarkan nama depan secara
descending.

6) Tampilkan daftar kota mana saja persebaran customer


Yang perlu diperhatikan adalah tidak diperbolehkan ada data yang redundan / ganda, hasil
yang diharapkan adalah sebagai berikut:
7) Hitung berapa jumlah kota persebaran customer
Output yang diharapkan adalah sebagai berikut:

8) Menampilkan jumlah customer pada suatu kota


Misalkan di kota Boston terdapat 2 customer, maka kota tersebut menampilkan jumlahnya.
Output yang diharapkan adalah sebagai berikut:
9) Tampilkan data first_name dan last_name dari customer yang ada di kota Boston
10) Tampilkan data first_name dan last_name customer yang selain dari kota Boston

11) Tampilkan daftar nama, pekerjaan, dan kota customer yang berprofesi
pekerjaannya sebagai “owner”
12) Dari soal nomor 11, tampilkan data yang hanya dari kota “Seattle” dan “Salt Lake
City”.

13) Tampilkan data kode produk, nama produk, dan daftar harga yang memiliki rentang
harga antara 18.000 sampai 25.000

14) Tampilkan data first_name, last_name, city pada tabel customers yang diurutkan
secara ascending berdasarkan firts_name dan batasi hanya memunculkan 10 data
saja.
15) Dari soal nomor 14, tampilkan 10 data yang dimulai dari data ke 11 sampai 20.
6. KESIMPULAN
(Kesimpulan apa yang dapat anda ambil dari praktikum modul ini?)
Pada modul DML Lnajutan ini terdapat banyak perintah query yang lebih kompleks
mulai dari GROUP BY, LIMIT, OFFSET, BETWEEN, HAVING, COUNT yang sangat
berguna dalam mengelola daatabase. Pengaplikasian dari setiap query pun bisa digabungkan
guna mendapat keluaran data seperti yang dibutuhkan.

Anda mungkin juga menyukai