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

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

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

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

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

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

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

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

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

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

DELETE Delete adalah query yang digunakan untuk menghapus data pada table. Kode Program 4.Gambar 4. 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.24 Contoh query select Dan output databasenya adalah .contoh sintak seperti dibawah adalah menampilkan seliruh data SELECT * FROM nasabah_tb.dan hasil akhir table seperti di bawah ini Gambar 4.3 Gambar setelah dilakukan update 3. SELECT Select digunakan untuk menampilkan data yg ada pada sebuah 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.4 Gambar setelah dilakukan delete 4.

6 tampilan awal table Dan dengan menggunakan COUNT.3.24 Contoh query count Dan maka perintah count akan menghitung berapa jumlah alamat yang bernama Denpasar akan dihitung 2. dengan menggunakan contoh sintax SELECT COUNT(*) FROM nasabah_tb WHERE almt_nsbh_tb = ‘Denpasar’.akan dihitung berapa banyak ada record yang sama pada suatu tabel.5 tampilan tabel 4. SUM SUM adalah perintah query yang digunakan untuk menjumlahkan data yang ada pada suatu kolom.3. Gambar dibawah adalah gambar awal dari sebuah table Gambar 4. Kode Program 4.Gambar 4.2 4. contoh sintax SELECT SUM(saldo_tb) FROM nasabah_tb.3 Query Join Query Agregation dan Grouping 1. . COUNT Digunakan untuk menghitug berapa data yang ada pada sebuah kolom table.

MIN MIN adalah query yang digunakan 4. Hasil output databasenya seperti gambar di bawah 5. MAX MAX adalah query yang digunakan untuk mencari nilai max(terbesar) pada sebuah kolom.5 Simpulan Lampiran .4 4.outputnya 4.dan output databasenya adalah 3.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. AVERAGE AVERAGE adalah perintah untuk mencari rata – rata pada suatu record data.contoh sintax SELECT MAX(saldo_tb) AS saldo_tertinggi FROM nasabah_tb.