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

2. FROM Klausa FROM digunakan untuk menentukan dari tabel mana pernyataan SELECT akan mengambil data. Perintah menghapus dapat dilakukan terhadap satu baris. 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. 3. SELECT * FROM nama_tabel Kode Program 4.3 Sintaks Delete Pernyataan DELETE digunakan untuk menghapus data yang ada di dalam tabel.4 Sintaks Select 4. jika klausa WHERE tidak disertakan pada pernyataan DELETE. Interbase akan menghapus seluruh data yang ada di dalam suatu tabel. SELECT Pernyataan SELECT digunakan untuk membaca dan menampilkan data yang disimpan dalam sebuah tabel. Data yang dihapus tidak bisa hanya satu field saja. daftarkan masing – masing kolom dalam klausa SET yang dipisahkan dengan tanda koma. melainkan satu baris secara keseluruhan. maka nilai pada suatu kolom akan di update secara keseluruhan. Perintah DELETE hanya menghapus baris (record) dan bukan tabelnya. Untuk mengubah lebih dari satu kolom. Klausa utama yang digunakan pada pernyataan SELECT meliputi : 1. Jika tabel yang . Kode Program 4. 4. Jika tidak ada klausa WHERE. Keyword dan informasi yang menghubungkannya disebut klausa. Klausa WHERE digunakan untuk menentukan kriteria baris yang akan di update.diubah.2 Klausa Pernyataan SELECT mempunyai enam keyword utama. banyak baris atau semua baris yang diinginkan tergantung pada kondisi yang diberikan.

4. Kode Program 4. Int dimulai dengan nomor urut 1. Sintaks klausa WHERE adalah sebagai berikut : WHERE <search_condition>. Sintaks klausa ORDER BY sebagai berikut : ORDER BY [col_name | int] [ASC[ENDING] | DESC[ENDING]] [. Penggunaan klausa ORDER BY bersifat opsional. sebab pernyataan SELECT akan mencari baris yang sesuai dengan kondisi yang ditetapkan di dalam klausa WHERE. 3. Klausa WHERE bersifat opsional. Keyword DESC digunakan untuk mengurutkan data dalam urutan menurun (Descending).6 Sintaks Klausa Where Teks yang mengikuti keyword WHERE disebut search condition.3. GROUP BY . Klausa FROM harus disertakan di dalam pernyataan SELECT. WHERE Klausa WHERE digunakan untuk menentukan kondisi pencarian yang digunakan untuk membatasi baris yang diperoleh dari suatu tabel.…] Kode Program 4. Kode Program 4.table_reference].2.7 Sintaks Klausa Order By Keyword ASC digunakan untuk mengurutkan data dalam urutan menaik (Ascending).5 Sintaks Klausa From 2. Keyword int merupakan nomor urut kolom yang terdaftar di dalam pernyataan SELECT. ORDER BY Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan pada salah satu kolom di dalam suatu tabel. Interbase secara default menggunakan keyword ASC pada klausa ORDER BY.didaftarkan pada klausa FROM lebih dari satu maka masing – masing tabel dipisahkan dengan tanda koma. Sintaks klausa FROM sebagai berikut : FROM table_reference [.….n. Keyword ASC dan DESC bersifat opsional.

2. Sintaks klausa GROUP BY adalah sebagai berikut : GROUP BY colum_reference [. Tabel hasil disebut dynamic table atau virtual table.3 Query Join Menggabungkan tabel mengizinkan pernyataan SELECT untuk mendapatkan kembali data dari dua atau lebih tabel yang terdefinisi di dalam suatu database. dan digunakan untuk mencari baris yang memenuhi kriteria relasi tertentu. 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. Informasi di dalam pernyataan SELECT menggambarkan suatu gabungan tabel. COUNT. Klausa having bersifat opsional dan digunakan dengan klausa GROUP BY. MAX atau SUM) dan kolom non aggregate. Interbase membangun suatu tabel yang berisi hasil operasi gabungan. 5. HAVING Klausa HAVING digunakan untuk menentukan kondisi pencarian yang digunakan untuk membatasi baris yang diperoleh dari suatu tabel. Sintaks klausa HAVING adalah sebagai berikut : HAVING <search_condition> Kode Program 4.9 Sintaks Klausa Having 4. MIN. . Tabel didaftarkan dalam klausa FROM. Kolom yang memiliki nilai atau data yang sama akan dikelompokkan dan diwakili oleh satu data. maka harus menggunakan GROUP BY untuk mengelompokkan kumpulan hasil masing – masing kolom non aggregate.Klausa GROUP BY digunakan untuk mengelompokkan baris berdasarkan kolom tertentu di dalam suatu tabel. Klausa WHERE menentukan kriteria baris yang didapatkan kembali dari pernyataan SELECT. Klausa HAVING tidak dapat digunakan pada pernyataan SELECT. Keyword ON bersifat optional. Penggunaan klausa GROUP BY bersifat opsional.

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

c. b.2. Keyword ALL bersifat opsional.1 AVG Fungsi AVG digunakan untuk menghitung rata – rata pada suatu kolom tertentu. 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.10 Sintaks Fungsi Average Nilai rata – rata adalah jumlah total nilai – nilai kolom dari semua baris di dalam sekumpulan data dibagi dengan jumlah baris.2. Kumpulan data dapat berupa seluruh tabel. 4.2. dan mendapatkan kembali baris manapun dari tabel kiri yang cocok (match) dengan kondisi pencarian yang ditetapkan di dalam keyword ON.kanan yang cocok (match) dengan kondisi pencarian yang ditetapkan di dalam keyword ON.4. suatu kumpulan data yang terfilter. 4. Nilai .3 UNION Operator UNION berguna untuk menggabungkan hasil dari dua buah query tanpa ada baris yang kembar. Fungsi aggregate digunakan di dalam pernyataan SELECT.3. Kata DISTINCT ditambahkan untuk menghitung hanya nilai yang berbeda. atau suatu kelompok logika yang dihasilkan oleh klausa GROUP BY. Kelompok nilai ini merupakan semua data di dalam kolom tertentu pada kumpulan baris yang telah ditentukan. Keyword ALL (default) digunakan untuk mengembalikan nilai rata – rata untuk semua baris ketika keyword DISTINCT tidak ditentukan atau tidak digunakan. Sintaks fungsi AVG adalah sebagai berikut : AVG ([ALL] <val> | DISTINCT <val>) Kode Program 4. Right Outer Join Mendapatkan kembali semua baris dari tabel kanan dalam suatu gabungan (join).4 Query Agregation Fungsi aggregate digunakan untuk mengkalkulasi nilai dari sekelompok data pada suatu group. 4.

2. Sintaks fungsi MIN adalah sebagai berikut : MIN ([ALL] <val> | DISTINCT <val> ) Kode Program 4.4. 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.13 Sintaks Fungsi Min . 4. 4.3 MAX Fungsi MAX digunakan untuk mencari nilai maksimum (nilai terbesar) di dalam suatu kolom tertentu.2. 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.kolom 0 (nol) disertakan dalam perhitungan nilai rata – rata. Nilai kolom NULL tidak disertakan dalam perhitungan nilai rata – rata.2. Keyword DISTINCT mengabaikan atau menghilangkan nilai – nilai baris duplikat di dalam kolom ketika menjmlahkan nilai – nilai pada kolom tertentu. Jumlah nilai kolom inni merupakan jumlah nilai kolomdari sekumpulan nilai kolom tertentu yang telah dikelompokkan oleh klausa GROUP BY.12 Sintaks Fungsi Max 4. Sintaks fungsi MIN adalah sebagai berikut : MAX ([ALL] <val> | DISTINCT <val> ) Kode Program 4.4 MIN Fungsi MIN digunakan untuk mencari nilai minimum (nilai terkecil) di dalam suatu kolom tertentu. Nilai 0 (nol) disertakan dalam perhitungan – perhitungan fungsi SUM sedangkan nilai kolom NULL tidak disertakan dalam perhitungan fungsi SUM. Ketika fungsi SUM digunakan bersamaan dengan klausa GROUP BY. Keyword ALL bersifat opsional. maka fungsi SUM menghitung jumlah nilai kolom untuk masing – masing group.2 SUM Fungsi SUM digunakan untuk menjumlahkan nilai suatu kolom tertentu.4.4.

kecuali jika karakter wildcard (*) digunakan. kemudian tekan enter untuk mengeksekusi cmd.15 Membuka Direktori Kemudian tekan ENTER untuk mengeksekusi perintah tersebut. Berikut adalah acara untuk melakukan back-up database dalam bentuk file *. sebagai berikut : COUNT (* | [ALL] <val> | DISTINCT <val> ) Kode Program 4. 3. import dan export tidak dapat dihindari.14 Sintaks Fungsi Count Sintaks fungsi COUNT adalah Keyword ALL (default) digunakan untuk menghitung jumlah semua baris ketika keyword DISTINCT tidak ditentukan atau digunakan. Untuk import dan export database dapat dilakukan melalui command line. Nilai kolom NULL tidak disertakan dalam perhitungan fungsi COUNT kecuali dalam menghitung jumlah baris.4. 4.sql dengan menggunakan command line: 1. Proses Back-Up (Export) Untuk melakukan proses back-up (eksport) dilakukan dengen mengetik query berikut: mysql dump –u root –ppasswordnama_database > nama_file_backup. Pernyataan SELECT dapat berupa query tunggal atau query multitabel.sql Kode Program 4.16 Proses Back-Up .5 Backup Database Dalam efisiensi data dalam database. Misal : terletak di C:\Xampp\mysql\bin Cara membuka direktori tersebut adalah: C:\Xampp\mysql\bin Kode Program 4.2.exe 2. Buka Command Line dengan meng-klik tombol START lalu lakukan pencarian Command Line dengan mengetik CMD.2.5 COUNT Fungsi COUNT digunakan untuk menghitung jumlah baris yang didapatkan kembali dari suatu pernyataan SELECT. Pada Command Line buka direktori dimana MySQL terinstal.4.

Berikut query nya: SELECT tb_buku.pengarang FROM tb_buku WHERE id_kategori IN ( SELECT id_kategori WHERE kategori=’Komik’).3 Pembahasan dan Analisa .19 Tampilan Proses Back-Up pada CMD 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. maka query nya adalah dengan memanfaatkan query didalam query dengan menggunakan SELECT.17 Tampilan Proses Back-Up pada CMD 4. Apabila ingin menampilkan buku dengan suatu kategori tertentu. terkadang query didalam query juga sangat dibutuhkan. Penggunaan query dalam query dapat dicontohkan sebagai berikut: Terdapat Tabel buku dan Tabel kategori didalam database Toko.nama_buku tb_buku.sql Kode Program 4.6 Query Dalam Query Di dalam pembuatan database.20 Contoh Query didalam Query 4.2. Kode Program 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.Pada Command Line tampilannya sebagai berikut: c:\xampp\mysql\bin mysqldump –u root – ppasswordnama_database > nama_file_backup.

Dalam bab ini akan dibahas mengenai hasil praktikum modul 2 adalah sebagai berikut: 4.21 Contoh query insert Setelah melakukan penginputan maka hasilnya akan langsung terlihat pada database seperti gambar dibawah Gambar 4. 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.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’.’20000’).1 Query manipulation 1. Dan pada database akan mengubah nama ‘Dhanan’ menjadi ‘Day’ karena kode yang dipilih adalah 101. Kode Program 4.’Mentari’. INSERT Contoh database awal : Gambar 4.2 Gambar setelah penginputan 2.seperti gambar di bawah .3.’Denpasar’.

Kode Program 4.contoh sintak seperti dibawah adalah menampilkan seliruh data SELECT * FROM nasabah_tb. SELECT Select digunakan untuk menampilkan data yg ada pada sebuah table.4 Gambar setelah dilakukan delete 4.Gambar 4.24 Contoh query select Dan output databasenya adalah . DELETE Delete adalah query yang digunakan untuk menghapus data pada table.dan hasil akhir table seperti di bawah ini Gambar 4.3 Gambar setelah dilakukan update 3.23 Contoh query delete WHERE disini digunakan sebagai kondisi bagian dari table mana yang akan dihapus yaitu seluruh data dengan saldo_tb = 200000. 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.

2 4. COUNT Digunakan untuk menghitug berapa data yang ada pada sebuah kolom table. Kode Program 4.5 tampilan tabel 4. .3 Query Join Query Agregation dan Grouping 1. Gambar dibawah adalah gambar awal dari sebuah table Gambar 4. contoh sintax SELECT SUM(saldo_tb) FROM nasabah_tb.akan dihitung berapa banyak ada record yang sama pada suatu tabel.6 tampilan awal table Dan dengan menggunakan COUNT.Gambar 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.3.3. dengan menggunakan contoh sintax SELECT COUNT(*) FROM nasabah_tb WHERE almt_nsbh_tb = ‘Denpasar’.

MAX MAX adalah query yang digunakan untuk mencari nilai max(terbesar) pada sebuah kolom.4 4. MIN MIN adalah query yang digunakan 4.5 Simpulan Lampiran .outputnya 4. AVERAGE AVERAGE adalah perintah untuk mencari rata – rata pada suatu record data.Sintax diatas adalah perintah untuk menjumlahkan saldo_tb pada table nasabah_tb.contoh sintax SELECT AVG(saldo_tb) as rata_rata FROM nasabah_tb. Query diatas adalah perintah untuk mencari rata – rata pada kolom saldo. Hasil output databasenya seperti gambar di bawah 5.contoh sintax SELECT MAX(saldo_tb) AS saldo_tertinggi FROM nasabah_tb.dan output databasenya adalah 3.