Anda di halaman 1dari 8

Modul 4

SQL 1

1.1 Tujuan
a. Mahasiswa dapat mengenal Sintak das ar SQL
b. Mahasiswa dapat mengoperasikan Sintak das ar SQL

1.2 Materi
a. SQL
b. Tabel

1.3 Alat dan Bahan


a. sqlyog
b. XAMPP
c. phpmyadmin

1.4 Prosedur Praktikum


a. Peserta membaca dan mempelajari materi praktikum sebelumny a
b. Instruktur menerangkan dan menjelaskan teori dan cara kerja
c. Peserta mempraktikan materi percobaan
d. Peserta membuat penyelesaian terhadap soal latihan

1.5 Teori
Dasar-da sar SQL
SQL menyediakan peritah dan fungsi dalam jumlah yang cukup bany ak untuk menunjang aktifit as
yang berhubungan dengan penelitian dan manipulasi data pada DBMS. Berikut ini akan diuraikan
mengenai dasar-dasar SQL. Deklarasi atau perintah dalam SQL dikategorik an menjadi dua yaitu DDL
( data definition language ) dan DML ( data manipulation language ), kategori ini didasarkan pada
karakteristik dan fungsi dari masing -masing.

DDL ( data definition language )


Sebagaimana telah dijelaskan pada modul 2, DDL adalah bagian dari SQL yang digunakan untuk
mendefinisikan data dan obyek pada b asis data. Perintah-perintah yang tergolong pada kategori ini
adalah:
PERINTAH KETERA NGA N
CREA TE TABLE Membuat tabel
CREA TE INDE X Membuat index
ALTE R TABLE Mengubah atau menyisipkan kolom ke tabel
DROP TAB LE Menghapus tabel dari basis data
DROP INDE X Menghapus index
GRA NT Memberi izin akses pada pemakai

DML ( data manipulation language )


DML adalah bagian dari SQL y ang digunak an untuk memulihkan dan memanipulasi data. Perintah ini
digunakan untuk memberikan query dan perubahan yang dilakukan di dalam tab el. Perintah-perintah
yang tergolong dalam kategori ini adalah :
PERINTAH KETERA NGA N
SELECT Perintah utama dari SQL. Digunakan untuk memilih
data dari tabel
INSE RT Menyisipkan baris pada tabel
DELE TE Menghapus baris pada tabel
UPDA TE Mengubah isi kolom pada tabel
COMMIT Menuliskan perubahan pada disk
ROLLBACK Membat alkan perubahan dari perintah COMMIT
Tipe Data
Tipe data digunakan ketika membuat suatu tabel, pemakai harus menentukan informasi tertent u pada
saat pembuatan tabel. Ada beberapa tipe data yang disimpan dalam basis data, diantaranya adalah :
INTE GER KETERA NGA N
BIT Integer dengan niali 0 at au 1
INT Nilai interger antara –2.147.483.648 s/d
2.147. 483.647
SMALLINT Nilai ant ara –32. 768 s/d 32. 767
TINY INT Nilai ant ara 0 s/d 255
DECIMAL / NUMERIC Akurasi angk a tetap ant ara –10^38-1s/d 10^38-1
MONEY Data moneter dari –2^63 s/d 2^63-1, dengan tingk at
akurasi hingga sepersepuluh ribu unit moneter
-214.748,3648 s/d 214.748,3647 dengan tingk at
SMALLMONEY akurasi sepersepuluh ribu unit moneter
-1.79E+ 308 s/d 1.79E+308
FLOA T -3.40E+ 38 s/d 3.40E+38
REAL 1 januari 1753 s/d 31 desember 9999
DA TE TIME 1 januari 1900 s/d 6 juni 2079
SMALLDA TE TIME

RUPA -RUPA KETERA NGA N


CURSOR Referensi ke kursosr
TIMES TAMP Angka eklusif yang dikenali oleh basas data
UNIQUE IDE NTIFIE R Pengenal global yang eklusif

STRING KETERA NGA N


CHA R Field tetap dengan ukuran max 8000 byte
VARCHAR Field tetap dengan ukuran max 8000 byte
TE XT Variabel dengan ukuran 2^31-1 byte

UNICODE STRING KETERA NGA N


NCHAR Karakter unicode dengan ukuran 4000 byte
NVARCHA R Karter unicode dengan ukuran berfariasi 4000 byte
Variaber berukuran 2^30-1 byte
NTE XT

BINA RY STRING KETERA NGA N


BINA RY Ukuran tetap hingga 8000 byte
VARBINARY Ukuran bervariasi 8000 byte
IMAGE Ukuran bervariasi hingga 2^31-1 byte

Ekspre si dan Operator pada SQL


Pada S QL operator bertindak berdasark an operand, yaitu elemen yang dianalisa oleh operator.
Terdapat dua jenis operator, yaitu operator unary yang bertindak berdasarkan satu operand saja, dan
operator binary yang bertindak berdasarkan dua atau lebih operator. Apabila pada sebuah ekspresi
terdapat lebih dari satu operator, maka operator-operator tersebut akan dievaluasi berdasarkan
urutan sebagai berikut:
 + ( positif ), - ( negatif ), ~ ( bitwise NOT )
 ( perk alian ), / ( pembagian ), % ( modulus )
 + ( penjumlahan ), + ( penggabungan ), - ( pengurangan )
 +, >, <, >=, <=, <>, !=, !>, !<
 ^ ( bitwise exclusive OR ), & ( bitwise A ND ), | ( bit wise OR )
 NOT
 AND
 ALL, ANY, BETWEEN, IN, LIKE, OR, SOME
 = ( penugasan )

Sintak Dasar SQL


Sebuah ekspresi SQL dasar sebenarny a hanya terdiri dari tiga klausa yaitu; klausa where, from, dan
where.
 Klausa select : digunakan untuk menetapkan daftar atribut yang diinginkan sebagai
query.
 Klausa from : digunakan untuk menetapkan tabel ( atau gabungan tabel ) yang akan
ditelusuri selama query data dilakukan.
 Klausa where : digunakan untuk predikat ( sebagai kriteria ) yang harus dipenuhi
dalam memperoleh hasil query.
Sintaks ( cara penulisan ) pada ekspresi SQL dasar yang memanfaatkan tiga klausa tersebut adalah :
select A1 [ ,A2, …,An]
from T1 [ , T2, …, Tn]
[ where P ]
keterangan :
A1, A2, …, An : daftar atribut
T1, T2, …, Tn :daftar tabel
P : predikat query
[] : tanda opsional ( boleh digunak an boleh tidak )

Select
Sesuai dengan penjelasan di atas bahwa klaus a select digunakan untuk menetapkan daftar at ribut
yang dinginkan sebagai hasil query, maka berikut ini akan dijelaskan lebih lanjut tentang klausa select
dengan menyertakan contohnya. Sebagai contoh pada tabel mahasiswa berikut:
1.1.1.1.1.1 TABEL 1 : MAHASISWA
NIM NAMA SEX ASAL TGL.LHR FAK PRODI
9961001 BUDI L KUDUS 02/02/ 80 MIPA BIOLOGI
9961002 NINA P BLORA 03/11/ 79 SASTRA INDONESIA
9961003 ABI L ACEH 30/10/ 78 TI TI
9961004 DONI L BANTUL 23/07/ 81 MIPA ILKOM
9961005 ANI P PATI 07/06/ 78 MIPA ILKOM

Cont oh perint ah select:


 Cont oh 1
select NAMA
1.1.1.2 from MAHASISWA
Ekspresi diat as memerintahkan untuk menampilkan nama mahasiswa dari tabel mahasiswa yang
telah ada. Sehingga tampilannya :
NAMA
BUDI
NINA
ABI
DONI
ANI

 Cont oh 2
select NIM, NA MA, SE X
from MAHASISWA
Ekspresi diatas memberikan perintah untuk menampilkan NIM, nama mahasiswa, dan jenis
kelaminnya dari tabel mahasiswa. Tampilannya :
NIM NAMA SEX
9961001 BUDI L
9961002 NINA P
9961003 ABI L
9961004 DONI L
9961005 ANI P

 Cont oh 3
select di stinct SE X
from MAHASISWA
Pada t abel mahasiswa tersebut jenis kelamin ditulis secara berulang -ulang, dengan perintah di stinct
ini maka penulisan kan ditulis sekali saja. Kasus lain ; misalkan dalam sebuah tabel mahasiswa
terdapat nama mahasiswa y ang s ama maka bila menggunakan ekspresi di stinct mak a nama yang
sama hanya ditampilkan satu saja. Keunikan diatas hany a untuk nilai at ribut yang disebutkan dalam
klausa select, bukan pada k eseluruhan atribut yang ada di t abel yang disebutkan pada klausa form.
Tampilan dari contoh di atas adalah :
SEX
L
P

 Cont oh 4
select *
from MAHASISWA
Ekpresi diatas menampilkan seluruh atribut yang ada pada tabel yang disebutkan pada klausa form.
Tampilannya :
NIM NAMA SEX ASAL TGL_LHR FAK PRODI
9961001 BUDI L KUDUS 02/02/ 80 MIPA BIOLOGI
9961002 NINA P BLORA 03/11/ 79 SASTRA INDONESIA
9961003 ABI L ACEH 30/10/ 78 TI TI
9961004 DONI L BANTUL 23/07/ 81 MIPA ILKOM
9961005 ANI P PATI 07/06/ 78 MIPA ILKOM

 Cont oh 5
select NIM, NAMA as NAMA_MHS, SE X as JENIS_KELAMIN
from MAHASISWA
Fungsi dari ekspresi as pada select adalah untuk mengganti tampilan header ( kepala tampilan
tabular ). Tampilannya menjadi :

NIM NAMA_MHS JENIS_KELAMI N


9961001 BUDI L
9961002 NINA P
9961003 ABI L
9961004 DONI L
9961005 ANI P

Where
Klausa ini digunakan untuk menetapkan predikat atau kriteria yang harus dipenuhi dalam
menampilkan query. Klaus a ini boleh tidak digunak an, yang artinya query dilak ukan untuk semua
record di dalam tabel yang disebutkan pada klausa from. Berikut ini akan diberikan c ontoh bes erta
penjelasan dari pemanfaatan klausa where. Contoh- contoh yang akan diberikan mengacu pada
tabel kuliah berik ut ini:
TABEL KULIAH
KODE_KUL NAMA_KULIAH 1.1.1.3 SEM 1.1.1.4 S1.1.1.5 KODE_D
EST K OSEN
ER S
M001 BASIS DA TA 6 3 L022
M002 OR-K OM 3 3 L023
P001 SIMULASI 6 2 L024
F001 SIS TEM BERKAS 4 3 L025
K001 PANCAS ILA 3 2 L026

 Cont oh 1
select *
from KULIAH
where KODE_K UL = ‘ M001 ‘
Ekpresi diatas digunakan untuk menampilkan semua atribut untuk mata kuliah dengan kode mata
kuliah M001. Nilai M001 diapit dengan tanda kutip tunggal. P enggunaan tanda kutip ini berlaku untuk
nilai yang bertipe string ( sesuai dengan type dari atribut kode kuliah ). Sehingga tampilannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOS EN
M001 BASIS DA TA 6 3 L022

 Cont oh 2
Select *
From KULIAH
Where SEMESTER = 6 and SKS >= 3
Ekspresi diatas menerapk an penggunaan predikat dengan operator relasi, serta
mengkombinasikannya dengan operator logika. Maksud dari ekspresi diatas adalah menampilkan
semua at ribut dari tabel kuliah yang termasuk dalam kriteria semester 6 dan memiliki jumlah sks lebih
dari atau sama dengan 2. Nilai 6 dan 3 diatas tidak diapit dengan t anda kutip tunggal. Hal ini
dikarenakan nilai tersebut bertype numeric ( sesuai dengan type atributnya ). Tampilannya :
KODE_KUL NAMA_KULIAH SEMESTER SKA KODE_DOS EN
M001 BASIS DA TA 6 3 L022
P001 SIMULASI 6 2 L024

 Cont oh 3
select *
from KULIAH
where SEMESTER between 3 and 5
Query dengan kriteria yang berbentuk range nilai tertentu dapat menggunakan tambahan k lausa
between. Pada contoh diatas ak an menampilkan record -rec ord k uliah yang diselenggarakan antara
semester 3 s/d semster 5. Tampilanny a adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOS EN
M002 OR-K OM 3 3 L023
F001 SIS TEM BERKAS 4 3 L025
K001 PANCAS ILA 3 2 L026

 Cont oh 4
Select *
From KULIAH
Where NAMA_KULIAH like ‘ S%’
Untuk atribut yang bertype string dapat melakukan pencarian dengan pola tertentu, dengan
memanfaatkan karakter percent ‘ % ‘atau ‘ _ ‘, dengan menambahkan klausa like pada klausa where.
Pada c ontoh diatas akan menampilkan record-record K ULIAH yang nama mata kuliahnya diawali
dengan huruf ‘ S ‘. Sehingga tampilannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOS EN
P001 SIMULASI 6 2 L024
F001 SIS TEM BERKAS 4 3 L025

 Cont oh 5
Select *
from KULIAH
where NAMA_KULIA H like ‘ _ A% ‘

Ekspresi diatas akan menampilkan record-record pada tabel kuliah tentang mata kuliah yang huruf /
karakter dari nama mat a kuliah nya adalah ‘ A ‘. Tamplannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOS EN
M001 BASIS DA TA 6 3 L022
K001 PANCAS ILA 3 2 L026
From
Klausa ini digunakan untuk menetapkan tabel yang kita jadikan sebagai sumber penc arian data.
Basis data terdiri dari beberapa tabel yang saling berhubungan, oleh karena itu sering kali dibutuhkan
query dari satu tabel atau dari lebih dari satu tabel sekaligus. Atribut -atribut y ang akan kita tampilkan
dalam hasil query tidak hanya berasal dari satu tabel , namun bisa jadi dari sejumlah tabel, pada
kasus seperti inilah klausa from akan sangat berperan penting. Pada contoh-contoh terdahulu hanya
ditampilkan query dari satu tabel. Namun untuk ulasan kali ini akan diberikan contoh query yang
menggambarkan hubungan antar tabel.
1.1.1.5.1.1 TABEL 3 : DOS EN
KODE_DOS EN NAMA_DOS EN STATUS ASAL
L022 ISMAYA TE TAP MEDAN
L023 GUNAWAN TE TAP LAMPUNG
L024 BUDIHARJO KONTRAK SRAGEN
L025 WARDA TI TE TAP SEMARANG
L026 HARTA TI KONTRAK JAKARTA

Tabel dosen diatas akan direlasikan dengan tabel kuliah yang telah dibuat sebelumnya.
 Cont oh 1
select *
from KULIAH, DOSEN
where KULIAH . KODE _DOSEN = DOSE N . KODE_DOSEN
Untuk melakukan query ant ara dua tabel atau lebih, tidak bisa dilakukan dengan sembarangan.
Tabel_tabel yang akan dijadikan query haruslah memiliki hubungan. Pada contoh diat as hubungan
pada tabel kuliah dengan tabel dosen diwakili oleh kode dosen, dimana atribut ini dimiliki oleh kedua
tabel tersebut. Tampilannya adalah :
KODE_ NAMA_KULIAH SEMES SKS KODE_DO NAMA_DOS STATUS ASAL
KUL TER SEN EN
M001 BASIS DA TA 6 3 L022 ISMAYA TE TAP MEDAN
M002 OR_K OM 3 3 L023 GUNAWAN TE TAP LAMPUNG
P001 SIMULASI 6 2 L024 BUDIHARJO KONTRA SRAGEN
K
F001 SIS TEM 4 3 L025 WARDA TI TE TAP SEMARAN
BERKAS G
K001 PANCAS ILA 3 2 L026 HARTA TI KONTRA JAKARTA
K

 Cont oh 2
Select *
from KULIAH K, DOSEN D
where K . KODE_DOSE N = D . KODE_DOSEN
Ekspresi diatas merupakan contoh penggunaan alias, dimana tabel kuliah dialiaskan dengan K dan
tabel dos en dialiaskan dengan D. tampilan yang akan diperoleh sama dengan tampilan diat as.
 Cont oh 3
select K.KODE_K UL, K.NAMA_K ULIAH, D.NAMA_DOSE N
from KULIAH K, DOSEN D
where K . KODE_DOSEN = D . KODE _DOSEN

Ekspresi di atas akan menampilkan record-record pada atribut kode kuliah, nama mata kuliah dari
tabel kuliah dan record-record dari atribut nama dosen dari tabel dosen. Tampilanny a adalah :
KODE_KUL NAMA_KULIAH NAMA_DOS EN
M001 BASIS DA TA ISMAYA
M002 OR-K OM GUNAWAN
P001 SIMULASI BUDIHARJO
F001 SIS TEM BERKAS WARDA TI
K001 PANCAS ILA HARTA TI

 Cont oh 4
select K . KODE_KUL as KODE, K . NAMA_KULIA H as KULIA H, D .
NAMA_DOSEN a s DOSEN
from KULIAH K, DOSEN D
where K . KODE_DOSEN = D . KODE _DOSEN
and SEMESTER = 4

Ekspresi diatas akan menampilkan record -record pada atribut kode kuliah dengan nama baru yaitu
kode, atribut nama kuliah dengan nama baru yaitu kuliah dan atribut nama dos en dengan nama baru
yaitu dosen. Atribut- atribut tersebut diambil dari tabel kuliah dan tabel dosen, dengan syarat kuliah
yang ditampilkan diajark an pada semester 4. Tampilanya adalah :
KODE KULIAH DOSEN
F001 SIS TEM BERKAS WARDA TI

1.1.1.5.1.1.1 Query Sorting


Pengurut an record-record hasil query disesuaikan dengan struktur penyimpanan yang kita terapkan
pada tabel query. Terdapat dua jenis struktur penyimpanan, yaitu :
 Struktur penyimpanan heap
Dimana pada struktur penyimpaanan ini hasil query akan ditampilkan berdasarkan kronologis
( waktu ) penyimpanan.
 Struktur penyimpanan sekuensial berindeks
Pada struktur penyimpanan ini hasil query akan ditampilkan sesuai dengan atribut yang
menjadi dasar indeks.
Terdapat dua jenis mode pengurutan, yaitu pengurutan naik dan pengurut an turun. Kedua m ode
pengurutan tersebut sama-sama mengunakan klausa order by, hanya saja pada pengurutan turun
ditambahkan dengan klausa de sc pada klausa order by nya. Berikut ini adalah contoh pengurutan
hasil query;
 Cont oh 1
Select *
from KULIAH
order by NAMA_KULIAH

Ekspresi diatas akan menampilkan query dengan urut an naik berdasark an nama mata kuliah.
Tampilannya adalah :
KODE_KUL NAMA_KULIAH 1.1.1.6 SEM 1.1.1.7 S1.1.1.8 KODE_D
EST K OSEN
ER S
M001 BASIS DA TA 6 3 L022
M002 OR-K OM 3 3 L023
K001 PANCAS ILA 3 2 L026
P001 SIMULASI 6 2 L024
F001 SIS TEM BERKAS 4 3 L025

 Cont oh 2
select *
from KULIAH
1.1.1.8.1.1.1.1 order by NA MA_KULIAH desc

Ekspresi diatas akan menampilkan query dengan urut an turun berdasark an nama mata kuliah.
Tampilannya adalah :
KODE_KUL NAMA_KULIAH 1.1.1.9 SEM 1.1.1.10 S1.1.1.11 KODE_D
EST K OSEN
ER S
F001 SIS TEM BERKAS 4 3 L025
P001 SIMULASI 6 2 L024
K001 PANCAS ILA 3 2 L026
M002 OR-K OM 3 3 L023
M001 BASIS DA TA 6 3 L022

Cont oh penggunaan klausa dasar SQL, yang melibatkan empat buah tabel sekaligus, yaitu tabel
MAHASISWA, tabel KULIA H, tabel DOSEN sert a tabel NILAI;
TABEL 4 : NILAI
NIM KODE_K UL KODE_NILA I
9961001 M001 B
9961001 P001 A
9961002 M002 C
9961002 P001 C
9961003 K001 A
9961004 F001 A
9961004 M002 C
9961005 F001 C
9961005 K001 B

Cont oh berikut akan menampilkan kartu hasil studi dari seoran g mahasiswa berdasark an pada NIM
nya.

select
N . NIM, M . NAMA as NAMA _MHS, K . NAMA_KUL, D . NAMA_DOSEN, N . KODE_NILA I
from
MAHASISWA M,
KULIAH K,
DOSEN D,
NILA I N
where N . NIM = M . NIM and
N . KODE_K UL = K . KODE_KUL and
D . KODE_DOSEN = K . KODE_DOSEN and NIM = ‘9961001’

1.6 Latihan
1. Lakukan dan coba semua contoh pada modul 4.
2. Lihat struktur data pada Modul 1, kemudian kerjakan query berikut ini:
a. Tampilkan daftar semua buku yang dipinjam dan siapa peminjamnya.
b. Tampilkan semua buku yg masih tersedia beserta lok asi perpustakaannya.
c. Tampilkan siapa saja y ang belum mengembalikan buku, dan cantumk an juga berapa
lama belum dikembalikan sejak buku itu dipinjam.

Anda mungkin juga menyukai