Modul Praktikum Basis Data
MODUL II SQL
A. TUJUAN
Memahami SQL, komponen-komponen, dan kegunaannya Mengenal operasi-operasi DDL dan DML Mampu melakukan operasi-operasi retrieve yang spesifik Mampu menguraikan dan mentranslasikan pernyataan-pernyataan SQL.
B. PETUNJUK -
Awali setiap aktivitas dengan do'a, semoga berkah dan mendapat kemudahan. Pahami tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan benar. Kerjakan tugas-tugas praktikum dengan baik, sabar, dan jujur. Tanyakan kepada asisten/dosen apabila ada hal-hal yang kurang jelas.
C. DASAR TEORI 1. SQL (Structured Query Language) SQL (atau query language) adalah sebuah bahasa yang digunakan untuk me-request informasi dari basis data. Bahasa ini sudah disediakan oleh DBMS. Konstruksi SQL terbentuk atas kombinasi relational-algebra dan relational-calculus. SQL terdiri dari beberapa komponen, dua di antaranya yang sangat fundamental adalah DDL (Data Definition Language) dan DML (Data Manipulation Language). 2. DDL (Data Definition Language) DDL menyediakan perintah-perintah untuk mendefinisikan, memodifikasi, dan menghapus skema relasi—misalnya tabel, view, prosedur, dan fungsi. Contoh perintah DDL adalah: CREATE, ALTER, dan DROP 3. DML (Data Manipulation Language) DML menyediakan perintah-perintah untuk menambah, memodifikasi, menghapus, dan mengambil data di dalam basis data. Contoh perintah DML adalah: INSERT, UPDATE, DELETE, dan SELECT.
© 2013 Jurusan Teknik Elektro FT UM
1
Modul Praktikum Basis Data
a. Penambahan Data Sintaks operasi penambahan data dapat dituliskan sebagai berikut : INSERT INTO r (A1, A2, ..., An) VALUES (V1, V2, ..., An)
di mana : r adalah relasi (tabel) A adalah atribut (field atau kolom) V adalah value (nilai yang diisikan) Misalkan tabel jurusan memiliki field id dan nama, maka pernyataan SQL untuk penambahan data dituliskan sebagai berikut: INSERT INTO jurusan (id, nama) VALUES (1, "Teknik Elektro")
b. Modifikasi Data Sintaks operasi modifikasi data dapat dituliskan sebagai berikut: UPDATE r SET A1=V1, A2=V2, ..., An=Vn WHERE P
di mana : P adalah predikat Misalkan nilai field nama untuk data dengan id 1 ingin diubah menjadi Teknik Informatika, berikut pernyataan SQL-nya : UPDATE jurusan SET nama = "Teknik Informatika" WHERE id = 1
Perhatikan, operasi modifikasi tanpa menyertakan klausa WHERE akan mengakibatkan diubahnya seluruh data di tabel. Jadi, jika Anda hanya ingin memodifikasi data tertentu, gunakan selalu klausa WHERE.
c. Penghapusan Data Sintaks operasi penghapusan data dapat dituliskan sebagai berikut : DELETE FROM r WHERE P
© 2013 Jurusan Teknik Elektro FT UM
2
Modul Praktikum Basis Data
Misalkan nilai data dengan id ingin dihapus, pernyataan SQL-nya dituliskan sebagai berikut: DELETE FROM jurusan WHERE id = 1
Perhatikan juga, operasi penghapusan tanpa menyertakan klausa WHERE akan mengakibatkan dihapusnya seluruh data di tabel. Jadi, jika Anda hanya ingin menghapus data tertentu gunakan selalu klausa WHERE. d. Seleksi Data Sintaks operasi seleksi atau pengambilan data dapat dituliskan sebagai berikut : SELECT A1, A2, ..., An FROM r1, r2, r3, ..., rm WHERE P
Misalkan ingin menampilkan data id dan nama jurusan, pernyataan SQL-nya dituliskan sebagai berikut: SELECT id, nama FROM jurusan
Sebagai alternatif, tersedia karakter asterik (*) yang menyatakan seluruh field. Jadi, pernyataan di bawah ini ekuivalen dengan pernyataan di atas. SELECT * FROM jurusan
Untuk efisiensi, karakter asterik sebaiknya digunakan jika ingin me-retrieve seluruh nilai field.
D. LATIHAN 1. Menciptakan Objek Query Untuk menciptakan objek query di MS Access, ikuti langkah-langkah berikut : 1. Pada menu bar, klik Create. 2. Klik Query Design. 1 2
© 2013 Jurusan Teknik Elektro FT UM
3
Modul Praktikum Basis Data
3. Klik Close untuk menutup kotak dialog Show Table
4. Klik kanan tab query SQL View untuk menampilkan editor SQL.
5. Di editor SQL inilah kita menuliskan pernyataan SQL. Sebagai contoh, isikan pernyataan berikut : SELECT NOW()
6. Eksekusi pernyataan SQL melalui menu Design Run, atau dari toolbar Run.
7. Perhatikan apa yang terjadi setelah proses eksekusi terjadi. 8. Simpan query dengan cara klik icon Office Button tekan Ctrl+S.
Save, atau
Langkah-langkah di atas akan menghasilkan query kosong (belum terdapat pernyataan valid). Untuk selanjutnya, langkah inilah yang akan digunakan dalam praktikum. Untuk efisiensi penulisan pernyataan SQL, gunakan editor teks (misalnya Notepad). Selanjutnya, pernyataan SQL tersebut dapat di-copy ke editor SQL dan dimodifikasi untuk operasi lain.
© 2013 Jurusan Teknik Elektro FT UM
4
Modul Praktikum Basis Data
2. Menciptakan dan Menghapus Tabel Selain menggunakan wizard (design view), seperti di modul pertama, kita dapat menciptakan tabel menggunakan perintah DDL. Sebagai contoh, buat tabel jurusan dengan struktur sebagai berikut : No Nama Field Tipe Data Keterangan 1 id Number PrimaryKey 2 nama Text Nama Jurusan Langkah-langkah : 1. Ciptakan objek query baru. 2. Tuliskan pernyataan berikut: CREATE TABLE jurusan( id INT, nama VARCHAR, PRIMARY KEY(id) );
3. Simpan dengan nama create_jurusan. 4. Eksekusi pernyataan SQL tersebut. 5. Periksa hasil pembuatan tabel di menu Tables. Dalam contoh di atas sengaja digunakan tipe data INT dan VARCHAR karena lebih general. Sebenarnya penggunaan tipe data NUMBER dan TEXT juga diterima, namun kurang standar. Untuk menghapus tabel, ikuti langkah-langkah berikut: 1. Buat pernyataan SQL seperti berikut DROP TABLE jurusan;
2. Simpan dengan nama drop_jurusan. 3. Eksekusi pernyataan SQL tersebut. 4. Perhatikan apa yang terjadi dengan tabel jurusan 3. Penambahan Data 1. Buat objek query baru. 2. Tuliskan pernyataan SQL seperti berikut:
© 2013 Jurusan Teknik Elektro FT UM
5
Modul Praktikum Basis Data INSERT INTO jurusan (id, nama) VALUES (1, "Teknik Elektro")
3. Eksekusi pernyataan SQL tersebut. 4. Perhatikan apa yang terjadi dengan tabel jurusan 5. Simpan dengan nama insert_jurusan. 4. Modifikasi Data 1. Buat objek query baru. 2. Tuliskan pernyataan SQL seperti berikut: UPDATE jurusan SET nama = "Teknik Informatika" WHERE id = 1
3. Eksekusi pernyataan SQL tersebut. 4. Perhatikan apa yang terjadi dengan nama pada id = 1 di tabel jurusan 5. Simpan dengan nama edit_jurusan. 5. Penghapusan Data 1. Buat objek query baru. 2. Tuliskan pernyataan SQL seperti berikut: DELETE FROM jurusan WHERE id = 1
3. Eksekusi pernyataan SQL berikut. 4. Perhatikan apa yang terjadi dengan data pada id = 1 di tabel jurusan. 5. Simpan dengan nama delete_jurusan. 6. Seleksi Data 1. Buat objek query baru. 2. Tuliskan pernyataan SQL seperti berikut: SELECT id, nama FROM jurusan
3. Eksekusi pernyataan SQL. 4. Perhatikan apa yang terjadi setelah proses eksekusi. © 2013 Jurusan Teknik Elektro FT UM
6
Modul Praktikum Basis Data
5. Simpan dengan nama select_jurusan. 7. Seleksi dengan Kriteria Manfaatkan kembali tabel matakuliah yang sudah dibuat sebelumnya pada pertemuan pertama. Selanjutnya, isikan data sebagai berikut : kode_mk PTI447 TIK342 PTI333 TIK123 TIK333 PTI123 PTI777
nama_mk Praktikum Basis Data Praktikum Basis Data Basis Data Terdistribusi Jaringan Komputer Sistem Operasi Grafika Multimedia Sistem Informasi
sks 1 1 3 2 3 3 2
semester 3 3 5 5 5 5 3
1. Dapatkan kode_mk, nama_mk, sks, dan semester yang semesternya 3. SELECT * FROM matakuliah WHERE semester=3;
Hasil:
2. Dapatkan kode_mk, nama_mk, sks, dan semester yang sksnya 2 dan semester 3. SELECT * FROM matakuliah WHERE sks=2 AND semester=3
Hasil:
3. Dapatkan kode_mk, nama_mk, sks, dan semester yang sksnya kurang dari sama dengan 2. SELECT * FROM matakuliah WHERE sks > 2
Hasil:
© 2013 Jurusan Teknik Elektro FT UM
7
Modul Praktikum Basis Data
8. Seleksi dengan Operator LIKE Operator LIKE memungkinkan pengambilan data yang mirip atau mendekati kata kunci. Beberapa contoh penggunaan operator LIKE adalah sebagai berikut : 1. Dapatkan kode_mk, nama_mk, sks, dan semester yang nama matakuliahnya berawalan “Sistem”. SELECT * FROM matakuliah WHERE nama_mk LIKE “Sistem*” Hasil :
2. Dapatkan kode_mk, nama_mk sks, dan semester yang nama matakuliahnya berakhiran “Data”. SELECT * FROM matakuliah WHERE nama_mk LIKE “*Data”
Hasil :
3. Dapatkan kode_mk, nama_mk, sks, dan semester yang nama matakuliahnya mengandung kata “Basis”. SELECT * FROM matakuliah WHERE nama_mk LIKE "*Basis*"
Hasil :
Karakter wildcard di beberapa DBMS mungkin tidak sama. Sebagai contoh, MySQL/PostgreSQL menggunakan %.
9. Pengurutan Data Untuk mengurutkan data, kita memanfaatkan klausa ORDER BY, di mana © 2013 Jurusan Teknik Elektro FT UM
8
Modul Praktikum Basis Data
nilai defaultnya adalah ASC (ascending atau pengurutan menaik). Contoh pengurutan data pada basis data adalah sebagai berikut : 1. Urutkan data matakuliah berdasarkan nama matakuliah dengan urutan menaik (ascending). SELECT * FROM matakuliah ORDER BY nama_mk
2. Urutkan data matakuliah berdasarkan semester dengan urutan menurun (descending). SELECT * FROM matakuliah ORDER BY semester DESC
E. TUGAS PRAKTIKUM 1. Tuliskan pernyataan SQL untuk menciptakan dan mengisi tabel dengan nama tabel mahasiswa_elektro ! Minimal 11 data sampel. Hasil :
2. Tuliskan pernyataan SQL untuk mendapatkan nim dan mahasiswa_elektro yang berjenis kelamin (jk) perempuan (P)!
nama
Hasil :
3. Tuliskan pernyataan SQL untuk mendapatkan data matakuliah yang nama © 2013 Jurusan Teknik Elektro FT UM
9
Modul Praktikum Basis Data
depannya tidak sama dengan “Praktikum” dan sksnya 3! Hasil :
3. Dapatkan data matakuliah yang sksnya kurang dari 3 dan urutkan berdasarkan kode_mk dari tabel matakuliah. F. TUGAS RUMAH
1. Tampilkan data dosen yang berjenis kelamin perempuan(P) dan diurutkan berdasarkan sandi dosen ASC. 2. Tampilkan sandi dosen dan nama dosen yang sandi dosennya berawalan “531” dan jenis kelaminnya laki-laki(L). 3. Tampilkan data dosen yang nama dosen tidak berawalan dengan huruf a serta diurutkan berdasarkan sandi dosen secara menurun. 4. Rubahlah data dosen yang alamatnya Jl.Merkurius menjadi Jl.Kebon Sari kemudian tampilkan hasilnya. 5. Tampilkan data dosen yang sandi dosennya mengandung angka “0”.
© 2013 Jurusan Teknik Elektro FT UM
10