Anda di halaman 1dari 10

MODUL SQL

MENGGUNAKAN SQL SERVER 2000


-------------------------
“BESERTA CONTOH IMPLEMENTASI DI APLIKASI
BERBASIS WEB
(PHP)”

by Abdul Malik Ikhsan

samsonasik@gmail.com

http://samsonasik.wordpress.com

==================
Hal. 1

TEORI
1. Pengenalan Query
SQL (Structure Query Language) adalah bahasa yang digunakan untuk
melayani relasional system database.
SQL secara garis besar terdiri dari 4 macam, yaitu :
a. DDL (Data Definition Language)
DDL adalah suatu pernyataan untuk mendefinisikan struktur atau skema
database. Contoh :
• Create , untuk membuat object dalam database, bisa berupa table, view,
procedure, function, trigger, ataupun package (oracle). Contoh :
create table mahasiswa (npm char(7) not null primary key,nama char(30),
alamat char(50));
• Alter, untuk mengubah structur dari suatu objek dalam database.contoh :
alter table mahasiswa add email char(30)
• Drop, untuk menghapus objek dalam database, contoh:
drop table mahasiswa;
• Truncate, untuk menghapus/membersihkan isi table beserta alokasi space yang
ada di dalamnya, contoh :
truncate table mahasiswa
• Comment, memberikan keterangan/komentar pada ke dalam kamus data.
berisi deskripsi dari sebuah objek dalam database.
• Rename, mengganti nama objek dalam database.(Mysql, Oracle)

b. DML (Data Manipulation Language)


DML adalah pernyataan yang digunakan untuk mengorganisir data dengan
menggunakan skema objek.
• Select, untuk menyeleksi data dari dalam database.
contoh : select npm, nama, alamat from mahasiswa;
• Insert, untuk menginputkan record ke dalam suatu table.
contoh : insert into mahasiswa(npm,nama,alamat) values(‘0401034’,’Abdul
Malik Ikhsan’,’Jalan Jakarta No. 28’)
• Update, untuk melakukan update dari table yang sudah dibuat.
contoh : update mahasiswa set npm=’001’ where npm=’0401034’;
• Delete, untuk menghapus isi record baik semuanya ataupun sebagian dari suatu
table, cotoh :
-delete from mahasiswa (menghapus semua isi )
-delete from mahasiswa where npm = ‘001’(hanya pada kondisionalnya saja).
• Merge, penggabungan update, insert, delete pada suatu table berdasarkan kondisi
yang cocok.
(Oracle).
• EXEC, memanggil procedure yang telah kita buat.
contoh : kita buat procedure seleksimhs:
create procedure seleksimhs @npm char(7) as select * from mahasiswa
where npm=@npm.
• cara eksekusi :
EXEC seleksimhs ‘001’;
Hal. 2

c. DCL (Data Control Language)

Terdiri dari 2 statement, yaitu Grant, Revoke, dan DENY, Grant untuk
memberikan hak akses, dan Revoke untuk membuang hak yang telah dilarang dengan
perintah Deny atau hak yang telah diberikan oleh perintah GRANT, sedangkan Deny.
Contoh GRANT :
GRANT INSERT, UPDATE, DELETE On mahasiswa To public

Contoh REVOKE
Revoke SELECT On mahasiswa To Public

Contoh DENY
DENY SELECT On mahasiswa To Public

d. TCL (Transaction Control)

Pernyataan untuk mengelola perubahan yang dilakukan oleh DML.

9 COMMIT => menyimpan hasil perintah


9 SAVEPOINT => identifikasi point transaksi yang akan digunakan nantinya.
9 ROLLBACK => Restore database ke kondisi commit terakhir.
9 SET TRANSACTION => mengubah level transaksi.
Hal. 3

PERCOBAAN PRAKTIKUM (Latihan-1) :

Persiapan :
• Aktifkan Service Manager Ms-SQL Servernya
• Aktifkan Query Analizer
• Ketikkan perintah-perintah di bawah ini, dan amati hasilnya.

1. Membuat database dengan nama “akademik”,ketik :

create database akademik


[Tekan F5, lihat hasilnya]

2. Mengaktifkan database akademik, ketik :

use akademik

[Tekan F5, lihat hasilnya]

3. Membuat struktur data/tabel dengan nama tabel


“mahasiswa” dan field serta type data-nya, ketik :

create table mahasiswa(npm char(7) not null primary


key,nama_mahasiswa char(40), alamat char(50))

4. Mengisi nilai data kedalam database akademik untuk


tabel mahasiswa, ketik : (dalam contoh ini diberikan
perintah untuk mengisi sebanyak 3 record/baris data,
Anda isikan 10 record)

insert into mahasiswa(npm,nama_mahasiswa,alamat)


values('0401034','Abdul Malik Ikhsan',
'Jalan Jakarta No. 28')

insert into mahasiswa(npm,nama_mahasiswa,alamat)


values('0501021','Moch. Ali Aljauhari',
'Jalan Cicadas No. 22')

insert into mahasiswa(npm,nama_mahasiswa,alamat)


values('0402002','Moh. Ryan Dirhamsyah',
'Jalan Gagak No. 55')

5. Menampilkan seluruh data dari tabel mahasiswa, ketik :

select * from mahasiswa

6. Menampilkan data NPM dari tabel mahasiswa, ketik :

select npm from mahasiswa


Hal. 4

7. Menampilkan data NPM, Nama Mahasiswa dan Alamat dari


Tabel mahasiswa, ketik :

select npm,nama_mahasiswa,alamat from mahasiswa

8. Menampilkan data mahasiswa yang NPM-nya hanya


“0401034”, ketik :

select * from mahasiswa where npm = '0401034'

8. Menampilkan data mahasiswa yang NPM-nya mengandung


nilai “040”, ketik :

select * from mahasiswa where npm like '%040%'

9. Menampilkan data mahasiswa yang NPM-nya berawalan


nilai “040”, ketik :

select * from mahasiswa where npm like '040%'

10. Menampilkan data mahasiswa yang NAMA-nya mengandung


nilai “Mo”, ketik :

select * from mahasiswa where nama_mahasiswa like '%Mo%'

11. Mengubah struktur tabel untuk field nama_mahasiswa


dari type char(40) menjadi type char(60)

alter table mahasiswa alter column nama_mahasiswa


char(60)

12. Mengubah struktur tabel untuk menambah field baru


yaitu email dengan type char(20) :

alter table mahasiswa add email char(20)

select * from mahasiswa

13. Mengubah nilai data email dari tabel mahasiswa untuk


data NPM tertentu :

update mahasiswa set email ='samsonasik@gmail.com' where


npm='0401034'

select * from mahasiswa

14. Menghapus data mahasiswa yang NPM-nya tertentu :

delete from mahasiswa where npm='0402002'


Hal. 5

15. Menghapus field yang menampung seluruh isi data


email:

alter table mahasiswa drop column email

select * from mahasiswa

Ketikkan perintah-perintah di bawah ini, artikan dan amati hasilnya.

/* -------------------- */

create table matakuliah(kdmk char(7) not null primary


key,nama_matakuliah char(50),sks int)

insert into matakuliah(kdmk,nama_matakuliah,sks)


values('a001','SQL',3)

insert into matakuliah(kdmk,nama_matakuliah,sks)


values('a002','PHP',4)

select * from matakuliah

/* untuk penerapan update,delete,alter dapat diterapkan


seperti pada tabel mahasiswa :) */

create table dosen(kd_dosen char(7) not null primary


key,nama_dosen char(30), alamat_dosen char(40))

insert into dosen(kd_dosen,nama_dosen,alamat_dosen)


values('d001','Andi Supriatna','Jalan Labuhan')

insert into dosen(kd_dosen,nama_dosen,alamat_dosen)


values('d002','Anton Budiatmadja','Jalan Jakarta No. 40')

select * from dosen

/* untuk penerapan update,delete,alter dapat diterapkan


seperti pada tabel mahasiswa :) */

create table perkuliahan(id_kuliah int not null primary


key,npm char(7),semester char(2))

insert into perkuliahan(id_kuliah,npm,semester)


values(1,'0401034','1')

/* untuk penerapan update,delete,alter dapat diterapkan


seperti pada tabel mahasiswa :) */
Hal. 6

create table nilai(id_nilai int,kd_mk char(7),kd_dosen


char(7), nilai char(2));

insert into nilai(id_nilai,kd_mk,kd_dosen,nilai)


values(1,'a001','d001','A')

insert into nilai(id_nilai,kd_mk,kd_dosen,nilai)


values(1,'a002','d002','B')

select * from nilai;

/* gabungkan seluruh tabel


kita akan mencoba menampilkan nama mahasiswa, nama
matakuliah yang diambil,
dan nilai yang didapat, beserta nama dosen nya...,
tentunya
yang id_kuliahnya = id_nilai :)

anggap tabel mahasiswa adalah tabel a, tabel


matakuliah adalah tabel b,
tabel dosen adalah tabel c, tabel perkuliahan adalah
tabel d,
tabel nilai adalah tabel e
*/

select a.nama_mahasiswa, b.nama_matakuliah, e.nilai,


c.nama_dosen
from mahasiswa a, matakuliah b, nilai e, dosen c,
perkuliahan d
where a.npm=d.npm and b.kdmk=e.kd_mk and
e.id_nilai=d.id_kuliah
and e.kd_dosen=c.kd_dosen
Hal. 7

CONTOH IMPLEMENTASI SQL di PHP

1. Atur konfigurasi di php.ini, uncomment yang ada hubungannya dengan mssql

;extension=php_msql.dll
extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_netools.dll
;extension=php_ntuser.dll
;extension=php_oracle.dll
;extension=php_oci8.dll
;extension=php_oggvorbis.dll
;extension=php_openssl.dll
;extension=php_parsekit.dll
extension=php_pdf.dll
extension=php_pdo.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll

2. Buat File konfigurasi

<? //conf.php ?>


<?
$host=”glserver”;
$user=””;
$pass=””;
?>

<? //dbase.php
$dbase="akademik";
?>

<? //mssqldb.class.php
class mssqldb{
var $host,$user,$pass,$db,$query;
function konek(){
include "conf.php";
$this->host=$host;
$this->user=$user;
$this->pass=$pass;
Hal. 8

return mssql_connect($this->host,$this-
>user,$this->pass);
}
function getdb(){
include "dbase.php";
$this->dbase=$dbase;
return mssql_select_db($this->dbase);
}
function getquery($query){
return mssql_query($query);
}
function getarray($query){
return mssql_fetch_array($query);
}
}
?>

<? include "mssqldb.class.php" ?>


<? //implementasi.class.php
class implementasi extends mssqldb{
var $query,$id;
function seleksimhs($id){
return $this->getquery("select * from
mahasiswa where npm='$id'");
}
}
?>

3. Tampilkan...
<? //mahasiswa.php
include "implementasi.class.php";
//membuat objek $o yang mengimplementasikan semua
//yang ada dalam class mssqldb dan implementasi.

$o=new implementasi();
$o->konek();
$o->getdb();

?>
<table border=1>
<tr>
<td>No. </td>
<td>Npm </td>
<td>Nama Mahasiswa</td>
<td>Alamat</td>
</tr>
<?
$no=0;
$q=$o->seleksimhs("0401034");
while ($row=$o->getarray($q)){ $no++; //start while
Hal. 9

?>
<tr>
<td><?=$no?>. </td>
<td><?=$row['npm']?> </td>
<td><?=$row['nama_mahasiswa']?></td>
<td><?=$row['alamat']?></td>
</tr>
<? }
//end of while
?>
</table>

Anda mungkin juga menyukai