You are on page 1of 13

BAB IV STRUCTURED QUERY LANGUAGE (SQL) 4.1 Tujuan Praktikum 1. Mengetahui dan memahami konsep dasar bahasa SQL.

2. Mengetahui dan memahami Data Manipulation Language. 3. Mengetahui dan memahami penggunaan perintah-perintah dalam SQL. 4.2 4.2.1 Tinjauan Pustaka Data Manipulation Language (DML) DML atau Data Manipulation Language adalah kumpulan perintah query yang digunakan untuk memanipulasi data. Pernyataan-pernyataan Data manipulation Language (DML) meliputi : 1. INSERT Pernyataan INSERT digunakan untuk menambahkan atau menyimpan satu atau lebih baris data baru ke dalam suatu tabel yang telah terdefinisi di dalam suatu database. Sintaks INSERT adalah sebagai berikut :
INSERT INTO nama_tabel [(kolom)] VALUES (values); Kode Program 4.1 Sintaks Insert

2. UPDATE Pernyataan UPDATE digunakan untuk mengganti nilai pada satu atau lebih data yang telah ada di dalam tabel. Sintaks UPDATE sebagai berikut :
UPDATE nama_tabel SET kolom = value [,kolom=value,] WHERE kondisi Kode Program 4.2 Sintaks Update

Pernyataan UPDATE mengubah nilai kolom yang ditetapkan dalam klausa SET. Kolom yang tidak terdaftar pada klausa SET tidak akan

diubah. Untuk mengubah lebih dari satu kolom, daftarkan masing masing kolom dalam klausa SET yang dipisahkan dengan tanda koma. Klausa WHERE digunakan untuk menentukan kriteria baris yang akan di update. Jika tidak ada klausa WHERE, maka nilai pada suatu kolom akan di update secara keseluruhan. 3. DELETE Pernyataan DELETE digunakan untuk menghapus satu atau lebih data yang telah ada di dalam tabel. Sintaks DELETE adalah sebagai berikut :
DELETE nama_tabel WHERE kondisi; Kode Program 4.3 Sintaks Delete

Pernyataan DELETE digunakan untuk menghapus data yang ada di dalam tabel. Perintah menghapus dapat dilakukan terhadap satu baris, banyak baris atau semua baris yang diinginkan tergantung pada kondisi yang diberikan. Data yang dihapus tidak bisa hanya satu field saja, melainkan satu baris secara keseluruhan. Perintah DELETE hanya menghapus baris (record) dan bukan tabelnya. Interbase akan menghapus seluruh data yang ada di dalam suatu tabel, jika klausa WHERE tidak disertakan pada pernyataan DELETE. 4. SELECT Pernyataan SELECT digunakan untuk membaca dan menampilkan data yang disimpan dalam sebuah tabel.
SELECT * FROM nama_tabel Kode Program 4.4 Sintaks Select

4.2.2

Klausa Pernyataan SELECT mempunyai enam keyword utama. Keyword dan

informasi yang menghubungkannya disebut klausa. Klausa utama yang digunakan pada pernyataan SELECT meliputi : 1. FROM Klausa FROM digunakan untuk menentukan dari tabel mana pernyataan SELECT akan mengambil data. Jika tabel yang

didaftarkan pada klausa FROM lebih dari satu maka masing masing tabel dipisahkan dengan tanda koma. Klausa FROM harus disertakan di dalam pernyataan SELECT. Sintaks klausa FROM sebagai berikut :
FROM table_reference [,table_reference]; Kode Program 4.5 Sintaks Klausa From

2. WHERE Klausa WHERE digunakan untuk menentukan kondisi pencarian yang digunakan untuk membatasi baris yang diperoleh dari suatu tabel. Klausa WHERE bersifat opsional. Sintaks klausa WHERE adalah sebagai berikut :
WHERE <search_condition>; Kode Program 4.6 Sintaks Klausa Where

Teks yang mengikuti keyword WHERE disebut search condition, sebab pernyataan SELECT akan mencari baris yang sesuai dengan kondisi yang ditetapkan di dalam klausa WHERE. 3. ORDER BY Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan pada salah satu kolom di dalam suatu tabel. Penggunaan klausa ORDER BY bersifat opsional. Sintaks klausa ORDER BY sebagai berikut :
ORDER BY [col_name | int] [ASC[ENDING] | DESC[ENDING]] [,] Kode Program 4.7 Sintaks Klausa Order By

Keyword ASC digunakan untuk mengurutkan data dalam urutan menaik (Ascending). Keyword DESC digunakan untuk mengurutkan data dalam urutan menurun (Descending). Keyword ASC dan DESC bersifat opsional. Interbase secara default menggunakan keyword ASC pada klausa ORDER BY. Keyword int merupakan nomor urut kolom yang terdaftar di dalam pernyataan SELECT. Int dimulai dengan nomor urut 1,2,3,,n. 4. GROUP BY

Klausa GROUP BY digunakan untuk mengelompokkan baris berdasarkan kolom tertentu di dalam suatu tabel. Penggunaan klausa GROUP BY bersifat opsional. Kolom yang memiliki nilai atau data yang sama akan dikelompokkan dan diwakili oleh satu data. Sintaks klausa GROUP BY adalah sebagai berikut : GROUP BY colum_reference [, colum_reference]
Kode Program 4.8 Sintaks Klausa Group By

Klausa GROUP BY digunakan untuk mengelompokkan data yang didapatkan kembali dari fungsi aggregate. Ketika menggunakan query yang mempunyai kolom aggregate (AVG, COUNT, MIN, MAX atau SUM) dan kolom non aggregate, maka harus menggunakan GROUP BY untuk mengelompokkan kumpulan hasil masing masing kolom non aggregate. 5. HAVING Klausa HAVING digunakan untuk menentukan kondisi pencarian yang digunakan untuk membatasi baris yang diperoleh dari suatu tabel. Klausa having bersifat opsional dan digunakan dengan klausa GROUP BY. Klausa HAVING tidak dapat digunakan pada pernyataan SELECT. Sintaks klausa HAVING adalah sebagai berikut :
HAVING <search_condition> Kode Program 4.9 Sintaks Klausa Having

4.2.3

Query Join Menggabungkan tabel mengizinkan pernyataan SELECT untuk

mendapatkan kembali data dari dua atau lebih tabel yang terdefinisi di dalam suatu database. Tabel didaftarkan dalam klausa FROM. Keyword ON bersifat optional, dan digunakan untuk mencari baris yang memenuhi kriteria relasi tertentu. Klausa WHERE menentukan kriteria baris yang didapatkan kembali dari pernyataan SELECT. Informasi di dalam pernyataan SELECT menggambarkan suatu gabungan tabel. Interbase membangun suatu tabel yang berisi hasil operasi gabungan. Tabel hasil disebut dynamic table atau virtual table.

4.2.3.1 INNER JOIN Menghubungkan baris dalam tabel berdasarkan pada kondisi gabungan (join) yang dispesifikasikan dan hanya mengembalikan baris yang cocok atau sesuai dengan kondisi gabungan. Jika suatu kolom yang digabungkan memiliki nilai NULL pada baris yang direlasikan, maka baris ini tidak disertakan dalam tabel hasil. Inner join adalah jenis join yang umum sebab inner join membatasi data yang dikembalikan dan memperlihatkan suatu hubungan yang jelas antara dua atau lebih. Ada tiga jenis inner join yaitu : a. Equi joins Menghubungkan baris berdasarkan pada hubungan persamaan atau hubungan nilai nilai umum di dalam kolom gabungan (join). b. Non equi joins Gabungan (join) yang menghubungkan baris berdasarkan pada perbandingan selain dari persamaan dalam kolom gabungan. Idak ada suatu nama yang dikenali secara resmi untuk gabungan ini, tetapi demi kesederhanaan komparatif. c. Reflexive atau self join Membandingkan nilai nilai di dalam kolom tabel tunggal. Operator relasional INNER JOIN menggunakan konsep hubungan relasional antara dua himpunan, yang memetakan anggota suatu himpunan ke anggota himpunan yang lain yang memenuhi kriteria tertentu. 4.2.3.2 OUTER JOIN Menghubungkan baris antar tabel berdasarkan pada kondisi gabungan (join) yang dispesifikasikan dan mengembalikan baris baik yang cocok atau sesuai dengan kondisi gabungan ataupun yang tidak cocok. Outer join bermanfaat untuk mengamati baris yang digabungkan dalam konteks baris yang tidak bertemu kondisi kondisi gabungan (join condition). Ada tiga jenis outer join yaitu : a. Left Outer Join Mendapatkan kembali semua baris dari tabel kiri dalam suatu gabungan (join), dan mendapatkan kembali baris manapun dari tabel mereka dapat digolongkan sebagai gabungan

kanan yang cocok (match) dengan kondisi pencarian yang ditetapkan di dalam keyword ON. b. Right Outer Join Mendapatkan kembali semua baris dari tabel kanan dalam suatu gabungan (join), dan mendapatkan kembali baris manapun dari tabel kiri yang cocok (match) dengan kondisi pencarian yang ditetapkan di dalam keyword ON. c. Full Outer Join Mendapatkan kembali semua baris dari kedua tabel kanan dan kiri dalam suatu gabungan (join) dengan mengabaikan kondisi pencarian yang ditetapkan di dalam keyword ON. 4.2.3.3 UNION Operator UNION berguna untuk menggabungkan hasil dari dua buah query tanpa ada baris yang kembar. 4.2.4 Query Agregation Fungsi aggregate digunakan untuk mengkalkulasi nilai dari sekelompok data pada suatu group. Kelompok nilai ini merupakan semua data di dalam kolom tertentu pada kumpulan baris yang telah ditentukan. Fungsi aggregate digunakan di dalam pernyataan SELECT. 4.2.4.1 AVG Fungsi AVG digunakan untuk menghitung rata rata pada suatu kolom tertentu. Sintaks fungsi AVG adalah sebagai berikut :
AVG ([ALL] <val> | DISTINCT <val>) Kode Program 4.10 Sintaks Fungsi Average

Nilai rata rata adalah jumlah total nilai nilai kolom dari semua baris di dalam sekumpulan data dibagi dengan jumlah baris. Kumpulan data dapat berupa seluruh tabel, suatu kumpulan data yang terfilter, atau suatu kelompok logika yang dihasilkan oleh klausa GROUP BY. Kata DISTINCT ditambahkan untuk menghitung hanya nilai yang berbeda. Keyword ALL (default) digunakan untuk mengembalikan nilai rata rata untuk semua baris ketika keyword DISTINCT tidak ditentukan atau tidak digunakan. Keyword ALL bersifat opsional. Nilai

kolom 0 (nol) disertakan dalam perhitungan nilai rata rata. Nilai kolom NULL tidak disertakan dalam perhitungan nilai rata rata. 4.2.4.2 SUM Fungsi SUM digunakan untuk menjumlahkan nilai suatu kolom tertentu. Sintaks fungsi SUM adalah sebagai berikut :
SUM ([ALL]) <val> | DISTINCT <val>) Kode Program 4.11 Sintaks Fungsi Summary

Keyword ALL (default) digunakan untuk menjumlahkan semua nilai kolom tertentu ketika keyword DISTINCT tidak ditentukan atau tidak digunakan. Keyword ALL bersifat opsional. Nilai 0 (nol) disertakan dalam perhitungan perhitungan fungsi SUM sedangkan nilai kolom NULL tidak disertakan dalam perhitungan fungsi SUM. Keyword DISTINCT mengabaikan atau menghilangkan nilai nilai baris duplikat di dalam kolom ketika menjmlahkan nilai nilai pada kolom tertentu. Artinya nilai nilai duplikat di dalam kolom akan dikelompokkan dan diwakili oleh satu data sehingga keyword DISTINCT hanya menjumlahkan nilai nilai kolom yang telah diwakili oleh data tertentu. Ketika fungsi SUM digunakan bersamaan dengan klausa GROUP BY, maka fungsi SUM menghitung jumlah nilai kolom untuk masing masing group. Jumlah nilai kolom inni merupakan jumlah nilai kolomdari sekumpulan nilai kolom tertentu yang telah dikelompokkan oleh klausa GROUP BY. 4.2.4.3 MAX Fungsi MAX digunakan untuk mencari nilai maksimum (nilai terbesar) di dalam suatu kolom tertentu. Sintaks fungsi MIN adalah sebagai berikut :
MAX ([ALL] <val> | DISTINCT <val> ) Kode Program 4.12 Sintaks Fungsi Max

4.2.4.4 MIN Fungsi MIN digunakan untuk mencari nilai minimum (nilai terkecil) di dalam suatu kolom tertentu. Sintaks fungsi MIN adalah sebagai berikut :
MIN ([ALL] <val> | DISTINCT <val> ) Kode Program 4.13 Sintaks Fungsi Min

4.2.4.5 COUNT Fungsi COUNT digunakan untuk menghitung jumlah baris yang didapatkan kembali dari suatu pernyataan SELECT. Pernyataan SELECT dapat berupa query tunggal atau query multitabel. sebagai berikut :
COUNT (* | [ALL] <val> | DISTINCT <val> ) Kode Program 4.14 Sintaks Fungsi Count

Sintaks fungsi COUNT adalah

Keyword ALL (default) digunakan untuk menghitung jumlah semua baris ketika keyword DISTINCT tidak ditentukan atau digunakan. Nilai kolom NULL tidak disertakan dalam perhitungan fungsi COUNT kecuali dalam menghitung jumlah baris, kecuali jika karakter wildcard (*) digunakan. 4.2.5 Backup Database Dalam efisiensi data dalam database, import dan export tidak dapat dihindari. Untuk import dan export database dapat dilakukan melalui command line. Berikut adalah acara untuk melakukan back-up database dalam bentuk file *.sql dengan menggunakan command line: 1. Buka Command Line dengan meng-klik tombol START lalu lakukan pencarian Command Line dengan mengetik CMD, kemudian tekan enter untuk mengeksekusi cmd.exe 2. Pada Command Line buka direktori dimana MySQL terinstal. Misal : terletak di C:\Xampp\mysql\bin Cara membuka direktori tersebut adalah:
C:\Xampp\mysql\bin Kode Program 4.15 Membuka Direktori

Kemudian tekan ENTER untuk mengeksekusi perintah tersebut. 3. Proses Back-Up (Export) Untuk melakukan proses back-up (eksport) dilakukan dengen mengetik query berikut:
mysql dump u root ppasswordnama_database > nama_file_backup.sql Kode Program 4.16 Proses Back-Up

Pada Command Line tampilannya sebagai berikut:


c:\xampp\mysql\bin mysqldump u root ppasswordnama_database > nama_file_backup.sql Kode Program 4.17 Tampilan Proses Back-Up pada CMD

4.

Proses Restore (Import) Untuk melakukan restore (import) database dapat dilakukan dengan query berikut:
mysql dump u root ppasswordnama_database > nama_file_backup Kode Program 4.18 Proses Back-Up

Atau pada Command Line tampilannya sebagai berikut:


c:\xampp\mysql\bin mysqldump u root ppasswordnama_database > nama_file_backup Kode Program 4.19 Tampilan Proses Back-Up pada CMD

4.2.6 Query Dalam Query Di dalam pembuatan database, terkadang query didalam query juga sangat dibutuhkan. Penggunaan query dalam query dapat dicontohkan sebagai berikut: Terdapat Tabel buku dan Tabel kategori didalam database Toko. Apabila ingin menampilkan buku dengan suatu kategori tertentu, maka query nya adalah dengan memanfaatkan query didalam query dengan menggunakan SELECT. Berikut query nya:
SELECT tb_buku.nama_buku tb_buku.pengarang FROM tb_buku WHERE id_kategori IN ( SELECT id_kategori WHERE kategori=Komik); Kode Program 4.20 Contoh Query didalam Query

4.3

Pembahasan dan Analisa

Dalam bab ini akan dibahas mengenai hasil praktikum modul 2 adalah sebagai berikut: 4.3.1 Query manipulation 1. INSERT Contoh database awal :

Gambar 4.1 Gambar awal database nasabah_tb

Kita akan melakukan penambahan/insert pada table nasabah_tb dengan sintax sebagai berikut :
INSERT INTO nasabah_tb VALUES (104,Mentari,Denpasar,20000); Kode Program 4.21 Contoh query insert

Setelah melakukan penginputan maka hasilnya akan langsung terlihat pada database seperti gambar dibawah

Gambar 4.2 Gambar setelah penginputan

2. UPDATE Kita akan mencoba mengubah nama dari salah satu nasabah dengan kode nasabah 101 dengan cara menggunakan query update
UPDATE nasabah_tb SET nm_nsbh_tb = Day WHERE Kode Program 4.22 Contoh query update kd_nsbh_tb = 101;

Dan pada database akan mengubah nama Dhanan menjadi Day karena kode yang dipilih adalah 101,seperti gambar di bawah

Gambar 4.3 Gambar setelah dilakukan update

3. DELETE Delete adalah query yang digunakan untuk menghapus data pada table, delete adalah kebalik dari inser dan pada praktikum kali ini kami akan menghapus salah satu dengan saldo = 200000
DELETE FROM nasabah_tb WHERE saldo_tb = 200000; Kode Program 4.23 Contoh query delete

WHERE disini digunakan sebagai kondisi bagian dari table mana yang akan dihapus yaitu seluruh data dengan saldo_tb = 200000,dan hasil akhir table seperti di bawah ini

Gambar 4.4 Gambar setelah dilakukan delete

4. SELECT Select digunakan untuk menampilkan data yg ada pada sebuah table.contoh sintak seperti dibawah adalah menampilkan seliruh data
SELECT * FROM nasabah_tb; Kode Program 4.24 Contoh query select

Dan output databasenya adalah

Gambar 4.5 tampilan tabel

4.3.2 4.3.3

Query Join Query Agregation dan Grouping 1. COUNT Digunakan untuk menghitug berapa data yang ada pada sebuah kolom table. Gambar dibawah adalah gambar awal dari sebuah table

Gambar 4.6 tampilan awal table

Dan dengan menggunakan COUNT,akan dihitung berapa banyak ada record yang sama pada suatu tabel, dengan menggunakan contoh sintax
SELECT COUNT(*) FROM nasabah_tb WHERE almt_nsbh_tb = Denpasar; Kode Program 4.24 Contoh query count

Dan maka perintah count akan menghitung berapa jumlah alamat yang bernama Denpasar akan dihitung

2. SUM SUM adalah perintah query yang digunakan untuk menjumlahkan data yang ada pada suatu kolom, contoh sintax
SELECT SUM(saldo_tb) FROM nasabah_tb;

Sintax diatas adalah perintah untuk menjumlahkan saldo_tb pada table nasabah_tb,dan output databasenya adalah

3. AVERAGE AVERAGE adalah perintah untuk mencari rata rata pada suatu record data,contoh sintax
SELECT AVG(saldo_tb) as rata_rata FROM nasabah_tb;

Query diatas adalah perintah untuk mencari rata rata pada kolom saldo,outputnya

4. MAX MAX adalah query yang digunakan untuk mencari nilai max(terbesar) pada sebuah kolom,contoh sintax
SELECT MAX(saldo_tb) AS saldo_tertinggi FROM nasabah_tb;

Hasil output databasenya seperti gambar di bawah

5. MIN MIN adalah query yang digunakan 4.4 4.5 Simpulan Lampiran

You might also like