Anda di halaman 1dari 11

Panduan Praktikum Sistem Basis Data

Praktikum ke -3

DATA MANIPULATION LANGUAGE

3.1. TUJUAN
1. Mahasiswa mampu menggunakan perintah-perintah dasar pengambilan data tabel
(data retrieval).
2. Mahasiswa mampu memahami prosedur penggunaan operasi-operasi aritmetik,
logika, dan pembanding.
3. Mahasiswa mampu menggunakan

3.2. DASAR TEORI


Data Manipulation Language (DML) adalah suatu statement yang dijalankan pada saat kita
memerlukan penambahan baris baru pada table, memodifikasi baris yang ada pada table
dan menghapus baris yang ada pada table. Statement DML identik dengan operasi INSERT,
MODIFY dan DELETE. Perintah lainnya yang masuk kategori DML adalah SELECT. Istilah
transaksi mengandung pengertian kumpulan Statement DML yang membentuk suatu fungsi
tertentu.

Memasukkan data pada tabel


Cara termudah untuk menyisipkan sebuah record (data) ke dalam tabel adalah dengan
menggunakan perintah INSERT.
INSERT INTO <table> [(column i, ..., column
j>)]
VALUES (<value i, ..., value j>);
Perhatikan informasi tentang pengisian statement INSERT ini:
 Statement ini hanya berfungsi untuk pengisian satu baris pada sebuah tabel.
 Urutan nilai (value) harus mengikuti default dari urutan kolom yang dituliskan.
 Nilai karakter dan tanggal, harus diapit oleh tanda kutip dua (‘’).
Contoh 3.1

INSERT INTO `tabelkbi` (`KodeKBI`, `NamaKBI`, `Deskripsi`) VALUES ('1',


'KBI Analisis Terapan dan Sains Komputasi', 'Pemodelan dan komputasi pada
bidang teknik, ilmu hayati, kelautan, komunikasi, dan industri.');

Program Studi Matematika, Jurusan Matematika UB

19
Panduan Praktikum Sistem Basis Data

Hasil dari Query diatas adalah

Updates
Untuk mengubah nilai atribut dari suatu record dari suatu tabel, kita menggunakan perintah
UPDATE :

UPDATE <table> SET


<column i> = <expression i>, ..., <column j> =
<expression j>
[WHERE <condition>];

“expression” dapat berisi konstan (sebuah nilai baru), operasi string atau aritmetik atau sebuah
SQL query. Perhatikan bahwa nilai baru yang di-assign pada setiap kolom harus mengikuti tipe
data kolom tersebut.

Contoh 3.2
Mengubah nama KBI dan Topik Kajian dari TabelKBI
UPDATE Tabelkbi SET NamaKBI = 'Sains Komputasi', TopikKajian
= 'Optimasi Heuristik, Komputasi Cerdas, Pengolahan Citra'
WHERE KodeKBI = 1

Analog dengan statement INSERT, data tabel lain dapat diambil untuk pengisian nilai tabel baru
yang kita diinginkan. Pada kasus ini kita dapat menggunakan sebuah query pada ekspresinya.

Deletions
Seluruh atau record tertentu dapat dihapus dari sebuah tabel dengan menggunakan perintah
DELETE.

DELETE FROM <table>

[WHERE <condition>];

Program Studi Matematika, Jurusan Matematika UB

20
Panduan Praktikum Sistem Basis Data
Jika keyword WHERE dihilangkan maka seluruh record yang ada dalam tabel tersebut akan
dihapus. Perintah lain untuk menghapus seluruh record adalah TRUNCATE TABLE <table>.
Perhatikan pada kasus ini, perintah penghapusan tidak dapat dibatalkan.

Contoh 3.3
Hapus semua data KBI dengan KodeKBI =1
DELETE FROM TabelKBI

WHERE KodeKBI = 1;

Perintah SELECT
Perintah SELECT pada MySql biasanya digunakan untuk menampilkan data yang berada di
dalam tabel. Perintah SELECT mempunyai banyak sekali variasi. Mungkin bisa disebut
perintah yang mempunyai variasi paling banyak di antara perintah-perintah lainnya.
Contoh 3.4
Tampilkan data seluruh mahasiswa.
SELECT * FROM `tablemhs`
Hasil Query adalah sebagai berikut:

Tampilkan Nama seluruh mahasiswa.


SELECT Nama FROM `tablemhs`

Columns Alias (AS) digunakan untuk mengganti nama kolom pada tampilan SELECT.
Contoh 3.5
Tampilkan data seluruh mahasiswa.
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs`
Hasil Query

Program Studi Matematika, Jurusan Matematika UB

21
Panduan Praktikum Sistem Basis Data

Where digunakan untuk membatasi hasil SELECT yang ditampilkan berdasarkan kondisi yang
ditentukan.
Contoh 3.6
Menampilkan nama mahasiswa asal kota Malang
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs` WHERE Kota='Malang'

Bisa menggunakan >, <, <> (atau !=), >=, <= Gunakan AND atau OR untuk lebih dari satu
kondisi.
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs` WHERE Kota='Malang' OR
Kota='Semarang'

Gunakan perintah IS NULL untuk mencari NULL:


Pencarian String
Gunakan LIKE untuk mencari string tertentu:
Contoh 3.7
Tampilkan nama mahasiswa yang diawali oleh kata Agus
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs` WHERE Nama LIKE ‘Agus%’;
Tampilkan nama mahasiswa mengadung kata Agus
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs` WHERE Nama LIKE '%Agus%'
Bisa menggunakan _ untuk 1 huruf:
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs` WHERE Nama LIKE '%Eka_I%'

Order by digunakan untuk mengurutkan hasil SELECT. Jenis-jenisnya adalah sebagai berikut
ini : Untuk mengurutkan dari kecil ke besar:
Contoh 3.8
Tampilkan nama mahasiswa urut abjad
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs` ORDER BY Nama
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs` ORDER BY Nama DESC

Limit dan Offset digunakan Digunakan untuk membatasi jumlah baris yang ditampilkan
dalam SELECT.
Program Studi Matematika, Jurusan Matematika UB

22
Panduan Praktikum Sistem Basis Data
Contoh 3.9
Tampilkan nama mahasiswa, 2 baris pertama
Tampilkan nama mahasiswa urut abjad
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs` LIMIT 2
SELECT Nama as 'Nama Mahasiswa' FROM `tablemhs` ORDER BY `Nama
Mahasiswa` ASC LIMIT 2 OFFSET 2

Perhatian: penggunaan LIMIT sebaiknya selalu digunakan bersama dengan ORDER BY,
sehingga urutan yang ditampilkan akan selalu konsisten. LIMIT dan OFFSET sangat berguna
dalam tampilan yang berbasis web (melalui web browser dengan menggunakan PHP atau
JSP) agar tampilan data tidak terlalu besar dan bisa lebih rapi. Tampilan data yang banyak
bisa diatur dan dibagi.
Operator perbandingan
Mengenal operator perbandingan dan operator logika di MySQL. Operator perbandingan
adalah operator untuk membandingkan 2 nilai (angka atau string). Hasil perbandingan akan
bernilai TRUE jika kondisi perbandingan tersebut benar, atau FALSE jika kondisinya salah .
Operator logika adalah operator yang digunakan untuk membandingkan 2 kondisi logika,
yaitu logika benar (TRUE) dan logika salah (FALSE). Operator perbandingan dan operator
logika biasanya digunakan untuk mengambil atau menampilkan data dengan kondisi atau
syarat.
Tabel 3.1 Operator perbandingan

Operator Deskripsi Contoh

= Operator ini akan membandingkan dua operand A dan B. Jika nilai A A=B
sama dengan B, maka akan bernilai true

!= Operator ini akan membandingkan dua operand A dan B. Jika nilai A A=B
tidak sama dengan B, maka akan bernilai true

<> Operator ini akan membandingkan dua operand A dan B. Jika nilai A A<>B
tidak sama dengan B, maka akan bernilai true

> Operator ini akan membandingkan dua operand A dan B. Jika nilai A A>B
lebih besar dari B, maka akan bernilai true

>= Operator ini akan membandingkan dua operand A dan B. Jika nilai A A>=B
lebih besar atau sama dengan B, maka akan bernilai true

< Operator ini akan membandingkan dua operand A dan B. Jika nilai A A<B
lebih kecil dari B, maka akan bernilai true

Program Studi Matematika, Jurusan Matematika UB

23
Panduan Praktikum Sistem Basis Data
<= Operator ini akan membandingkan dua operand A dan B. Jika nilai A A<=B
lebih kecil atau sama dengan B, maka akan bernilai true

!> Operator ini akan membandingkan dua operand A dan B. Jika nilai A A!>B
tidak lebih besar B, maka akan bernilai true

!< Operator ini akan membandingkan dua operand A dan B. Jika nilai A A!<B
tidak lebih kecil B, maka akan bernilai true

Selain operator perbandingan pada Tabel 3.1, MySQL juga mempunyai operator
perbandingan yang lain yaitu:
1. IN
Contoh 3.10.
Tampilkan data mahasiswa yang berasal dari kota “SEMARANG” atau “MALANG” dimana
data yang sudah dimasukkan sebagai berikut:

SELECT*FROM tablemhs WHERE Kota IN ('MALANG','SEMARANG')

Hasil dari Query tersebut adalah

Perintah SQL di atas sama dengan:

SELECT*FROM tablemhs WHERE Kota ='MALANG' OR Kota='SEMARANG';

2. NOT IN

Contoh 3.11.
Tampilkan data mahasiswa yang berasal bukan dari kota “SEMARANG” dan “MALANG”
Program Studi Matematika, Jurusan Matematika UB

24
Panduan Praktikum Sistem Basis Data
dimana data yang digunakan pada contoh 3.4.
SELECT*FROM tablemhs WHERE Kota NOT IN ('MALANG','SEMARANG')
Hasil dari Query tersebut adalah

Perintah SQL di atas sama dengan:


SELECT*FROM tablemhs WHERE Kota <>'MALANG' AND Kota<>'SEMARANG';

3. BETWEEN
Contoh 3.12.
Tampilkan data mahasiswa yang tanggal lahirnya pada tahun 1990 dimana data yang
digunakan pada contoh 3.4.
SELECT*FROM tablemhs WHERE TglLahir BETWEEN '1990/01/01' AND '1990/12/31'

Perintah SQL di atas sama dengan:


SELECT*FROM tablemhs WHERE TglLahir>= '1990/01/01' AND TglLahir<='1990/12/31'

Nilai yang pertama dalam BETWEEN harus lebih kecil dari nilai yang kedua. Bisa untuk string.
4. NOT BETWEEN
Contoh 3.13.
Tampilkan data mahasiswa yang tanggal lahirnya bukan pada tahun 1990 dimana data yang
digunakan pada contoh 3.4.

SELECT*FROM tablemhs WHERE TglLahir NOT BETWEEN '1990/01/01' AND '1990/12/31'

Perintah SQL di atas sama dengan:


SELECT*FROM tablemhs WHERE TglLahir< '1990/01/01' OR TglLahir>'1990/12/31'

Nilai yang pertama dalam BETWEEN harus lebih kecil dari nilai yang kedua. Bisa untuk string.

Perhatikan perbedaan penggunaan AND dan OR dalam BETWEEN dan NOT BETWEEN.

Program Studi Matematika, Jurusan Matematika UB

25
Panduan Praktikum Sistem Basis Data

3.3. LATIHAN SOAL


1. Pilih database perbankan dengan perintah “use perbankan”, sehingga akan muncul
pemberitahuan “database changed”. Kemudian masukan data-data berikut ini ke dalam
database perbankan.

Tabel : tbnasabah

id_nsb nama_ nsb almt_ nsbh

1 Sutopo Jl. Jendral Sudirman 12


2 Maryati Jl. MT. Haryono 31
3 Suparman Jl. Hasanudin 81
4 Kartika Padmasari Jl. Manggis 15
5 Budi Eko Prayogo Jl. Kantil 30
6 Satria Eka Jaya Jl. Slamet Riyadi 45
7 Indri Hapsari Jl. Sutoyo 5
8 Sari Murti Jl. Pangandaran 11
9 Canka Lokananta Jl. Tidar 86
10 Budi Murtono Jl. Merak 22

Tabel : tbcbng_bank

kd_cbng nm_cbng almt_cbng


BRUS Bank Rut Unit Surakarta Jl. Slamet Riyadi 18
BRUM Bank Rut Unit Magelang Jl. P. Tendean 63
BRUB Bank Rut Unit Boyolali Jl. Ahmad Yani 45
BRUK Bank Rut Unit Klaten Jl. Suparman 23
Bank Rut Unit
BRUY Yogyakarta Jl. Anggrek 21
BRUW Bank Rut Unit Wonogiri Jl. Untung Suropati 12

Program Studi Matematika, Jurusan Matematika UB

26
Panduan Praktikum Sistem Basis Data
Tabel :tbrekening

no_rekening kd_cbng pin saldo


101 BRUS 1111 500000
102 BRUS 2222 350000
103 BRUS 3333 750000
104 BRUM 4444 900000
105 BRUM 5555 2000000
106 BRUS 6666 3000000

107 BRUS 7777 1000000


108 BRUB 0000 5000000
109 BRUB 9999 0
110 BRUY 1234 550000
111 BRUK 4321 150000
112 BRUK 0123 300000
113 BRUY 8888 255000

Tabel : nasabah_has_rekening
id_nsb no_rekening
1 104
2 103
3 105
3 106
4 101
4 107
5 102
5 107
6 109
7 109
8 111
9 110

Program Studi Matematika, Jurusan Matematika UB

27
Panduan Praktikum Sistem Basis Data
10 113
8 112
10 108

Tabel : transaksi
no_trans no_reke id_nsb jenis_trans tanggal jumlah
aksi ning aksi
1 105 3 debit 2009-11-10 50000
2 103 2 debit 2009-11-10 40000
3 101 4 kredit 2009-11-12 20000
4 106 3 debit 2009-11-13 50000
5 107 5 kredit 2009-11-13 30000
6 104 1 kredit 2009-11-15 200000
7 110 9 kredit 2009-11-15 150000
8 102 5 debit 2009-11-16 20000
9 105 3 kredit 2009-11-18 50000
10 107 4 debit 2009-11-19 100000
11 103 2 debit 2009-11-19 100000
12 104 1 debit 2009-11-19 50000
13 107 4 kredit 2009-11-20 200000
14 105 3 debit 2009-11-21 40000
15 104 1 kredit 2009-11-22 100000
16 101 4 kredit 2009-11-22 20000
17 103 2 debit 2009-11-22 50000
18 102 5 debit 2009-11-25 50000
19 108 10 debit 2009-11-26 100000
20 106 3 kredit 2009-11-27 50000
21 103 2 kredit 2009-11-28 200000
22 105 3 kredit 2009-11-28 100000
23 102 5 debit 2009-11-30 20000
24 104 1 debit 2009-12-1 50000
25 103 2 debit 2009-12-2 40000
Program Studi Matematika, Jurusan Matematika UB

28
Panduan Praktikum Sistem Basis Data
26 101 4 debit 2009-12-4 50000
27 103 2 kredit 2009-12-5 100000
28 102 5 kredit 2009-12-5 200000

2. Lakukan update untuk kasus-kasus berikut ini.

a. Nasabah dengan nama “Indri Hapsari” pindah alamat k e “Jalan Slamet Riyadi
No.34”.
b. Cabang dengan kode “BRUW” pindah ke alamat “Jalan A . Yani No.23”.
3. Lakukan penghapusan untuk kasus-kasus berikut.

c. Nasabah dengan id “7” menutup rekeningnya.


d. Cabang dengan nama_cabang “Bank Rut Unit Magelang” menutup kantornya.

4. Tampilkan tanggal transaksi, jenis transaksi, dan jumlah transaksi untuk semua transaksi
yang dilakukan oleh Sutopo dan Canka Lokananta dan diurutkan berdasarkan tanggal
transaksi dengan kode berikut :
SELECT transaksi.tanggal, transaksi.jenis_transaksi, transaksi.jumlah FROM tbnasabah,
transaksi WHERE tbnasabah.id_nsb=transaksi.id_nsb AND tbnasabah.nama_nsb IN
('Sutopo','Canka Lokananta') ORDER BY transaksi.tanggal
5. Tampilkan tanggal transaksi, nama nasabah, jenis transaksi, dan jumlah transaksi untuk
semua transaksi yang terjadi dari 15 November sampai 20 November 2009 dan
diurutkan berdasarkan tanggal transaksi dan nama nasabah dengan kode berikut :
SELECT transaksi.tanggal,tbnasabah.nama_nsb, transaksi.jenis_transaksi,
transaksi.jumlah FROM tbnasabah, transaksi WHERE transaksi.tanggal BETWEEN '2009-
11-15' AND '2009-11-20' AND tbnasabah.id_nsb=transaksi.id_nsb ORDER BY
transaksi.tanggal, tbnasabah.nama_nsb

9. Tampilkan jenis transaksi, jumlah transaksi dalam Rp dan total transaksi untuk
nasabah yang bernama akhiran ‘Kartika Padmasari’ untuk masing-masing jenis
transaksi!

Program Studi Matematika, Jurusan Matematika UB

29

Anda mungkin juga menyukai