Anda di halaman 1dari 10

SQL : Naskah S Basis DataI & Pemrog.

Basis Data Ljt oleh M


Guntara

DML-Data Manipulation Language


Merekam data

INSERT INTO namatabel(field1,field2,field n) VALUES (nilai1,nilai2,nilai


n)
Dengan nilai1,nilai2,nilai n adalah nilai yang akan di rekam ke
masing2 field, dpaat berupa konstanta atau variabel

Misal :
Terdapat tabel

Jurusan
*Kodeju
r
Namaju
r
Untuk merekam data :
INSERT INTO Jurusan(kodejur,namajur) values (‘1’,’T.
Informatika’)

Hasil :
kodejur Namajur
3 Sistem
Informatisi
2 Teknik Komputer
1 T. Infomatika  record baru

Update/mengubah data

UPDATE namatabel SET field=data baru WHERE field= kunci


Kunci : nilai/data kunci untuk pencarian dari data yang akan diubah
nilainya.

Misal :
Mengubah “T. Informatika” menjadi “Teknik Informatika” pada tabel
Jurusan

UPDATE jurusan SET Namajur=”Teknik Informatika” WHERE


Namajur=”T. Informatika”

Atau

Hal. 1dari 10
SQL : Naskah S Basis DataI & Pemrog. Basis Data Ljt oleh M
Guntara
UPDATE jurusan SET Namajur=”Teknik Informatika” WHERE

Kodejur=”1”

Hasil :
kodejur Namajur
3 Sistem
Informatisi
2 Teknik Komputer
1 Teknik Infomatika  record baru

Hapus record

DELETE FROM namatabel WHERE kondisi


Kondisi : Field=kunci

Misal :
Hapus record untuk namajur =”Teknik Infromatika”

DELETE FROM jurusan WHERE namajur=”Teknik Informatika”

Hasil :
Kodejur Namajur
3 Sistem
Informatisi
2 Teknik Komputer
 record
terhapus

Mengambil data dari tabel/database


Misal pada tabel mhs sbb:
Nomhs Nama Kodejur
210100 Rina Gunawan 2
210090 Gani Suprapto 1
210012 Alexandra 2
210099 Nadine 3
210002 Rizal Samurai 1

Pada 1 tabel

Semua field, semua record


SELECT * FROM namatabel

Select * from mhs


Hasil:

Hal. 2dari 10
SQL : Naskah S Basis DataI & Pemrog. Basis Data Ljt oleh M
Guntara
Nomhs Nama Kodejur
210100 Rina Gunawan 2
210090 Gani Suprapto 1
210012 Alexandra 2
210099 Nadine 3
210002 Rizal Samurai 1

Field tertentu, semua record


SELECT field1,field2,… FROM namatabel

Select Nama,Nomhs from mhs


Hasil:
Nama Nomhs
Rina Gunawan 210100
Gani Suprapto 210090
Alexandra 210012
Nadine 210099
Rizal Samurai 210002

Menyaring data
SELECT * FROM namatabel WHERE kondisi

Select * from mhs where kodejur=’1’


Hasil:
Nomhs Nama Kodejur
210090 Gani Suprapto 1
210002 Rizal Samurai 1

Bila filter bertingkat


SELECT * FROM namatabel WHERE kondisi1 AND/OR
kondisi2 AND/OR kondisi n

Select * from mhs where kodejur=’1’ or Nama=’Nadine’


Hasil:
Nomhs Nama Kodejur
210090 Gani Suprapto 1
210099 Nadine 3
210002 Rizal Samurai 1

Menyaring dengan kunci sebagian karakter


SELECT * FROM namatabel WHERE field LIKE ‘%kunci%’
%kunci : karakter depan diabaikan
kunci% : karakter belakng diabaikan
%kunci% : karakter depan dan belakang diabaikan
select * from mhs where nama like “%na%”

Hasil:
Nomhs Nama Kodejur
210100 Rina Gunawan 2

Hal. 3dari 10
SQL : Naskah S Basis DataI & Pemrog. Basis Data Ljt oleh M
Guntara
210099 Nadine 3

Menghitung

 Menghitung jumlah record


SELECT COUNT WHERE kondisi

Select “Jumlah mhs: “,count(*) where kodejur=’1’

Hasil:
Jumlah mhs: 2

 Menjumlah nilai suatu field


SELECT SUM WHERE kondisi

Bila tabel diubah sbb


Nomhs Nama Ambil_sks
210090 Gani Suprapto 1 78
210099 Nadine 3 100
210002 Rizal Samurai 1 56

Select “Jumlah sks: “,sum(Ambil_sks) where


kodejur=’1’

Hasil:
Jumlah sks: 144 yg dijumlah hanya
yang kodejur=’1’

 Cari nilai max/min


SELECT MAX/MIN WHERE kondisi
Select “sks terbanyak:”,MAX(Ambil_sks) from mhs
Hasil:
Sks terbanyak 100
:

Hal. 4dari 10
SQL : Naskah S Basis DataI & Pemrog. Basis Data Ljt oleh M
Guntara

Merelasikan antar tabel


Contoh terdapat database: Mahasiswa
Dengan tabel sbb

Pribadi
*Nomhs
Nama Jurusan
**Kodejur *Kodeju
r
Namaju
r
Tabel : Pribadi Tabel : jurusan
Nomhs Nama Kodeju Kodeju NamaJur
r r
210100 Rina 2 1 Sistem Informasi
Gunawan
210090 Gani 1 2 Teknik Informatika
Suprapto
210012 Alexandra 2 3 Teknik Komputer
210099 Nadine 3
210002 Rizal 1
Samurai

Untuk menghubungkan ke-2 tabel tersebut diperlukan fiel penghubung


yakni kodejur . Dalam SQL terdapat cara untuk merelasikan

Cara 1

SELECT * FROM tabel1,tabel2


WHERE tabel1.kunci tamu=tabel2.kunci primer

Catatan :
Bila tabel1 sbg tabel transaksi (terdapat kunci tamu) dan tabel2 sbg
tabel induk (kunci tamu tsb sbg kunci primer) maka cara merelasikan
seperti bentuk diatas, bila sebaliknya maka ditulis sebaliknya
tabel1.kunci primer=tabel2.kunci tamu

Cara 2
SELECT * FROM tabel1 INNER JOIN tabel2 ON tabel1.kunci
tamu=tabel2.kunci primer

Hal. 5dari 10
SQL : Naskah S Basis DataI & Pemrog. Basis Data Ljt oleh M
Guntara
Menampilkan semua record
Cara 1
SELECT * FROM Pribadi,jurusan WHERE
Pribadi.kodejur=jurusan.kodejur

Cara 2
SELECT * FROM Pribadi
INNER JOIN jurusan IN Pribadi.kodejur=jurusan.kodejur

Hasil :
Nomhs Nama Kodejur Kodej NamaJur
ur
210100 Rina Gunawan 2 2 Teknik Informatika
210090 Gani Suprapto 1 1 Sistem Informasi
210012 Alexandra 2 2 Teknik Informatika
210099 Nadine 3 3 Teknik Komputer
210002 Rizal Samurai 1 1 Sistem Informasi

Catatan :
- Agar field-field yang muncul tertentu maka * dapat diganti
dengan field yg akan ditampilkan.Penulisan field sebaiknya
didahului dengannama tabelnya agar mempermudah evaluasi
bila ada kesalahan logika. Misal SELECT
Pribadi.Nomhs,Pribadi.nama,jurusan.namajur.
- Dalam suatu aplikasi seringkali kunci relasi/pengkodean TIDAK
PERLU dimunculkan karena hanya untuk kepelruan relasi bukan
untuk diinformasikan.

Menampilkan record yang Kodejur=”1” dengan field :


Nomhs,nama,namajur

Cara 1
SELECT Pribadi.nomhs,Pribadi.nama,jurusan.namajur
FROM Pribadi,jurusan WHERE Pribadi.kodejur=jurusan.kodejur
AND Pribadi.kodejur=”1”

filtering Merelasikan
Cara 2
SELECT Pribadi.nomhs,Pribadi.nama,jurusan.namajur
FROM Pribadi
INNER JOIN jurusan ON Pribadi.kodejur=jurusan.kodejur
WHERE Pribadi.kodejur=”1”

Hasil :
Nomhs Nama NamaJur
210090 Gani Suprapto Sistem Informasi
210002 Rizal Samurai Sistem Informasi

Hal. 6dari 10
SQL : Naskah S Basis DataI & Pemrog. Basis Data Ljt oleh M
Guntara

Menampilkanrecord untuk namajur=”Sistem Informasi”


SELECT * FROM Pribadi,jurusan WHERE
Pribadi.kodejur=jurusan.kodejur
AND jurusan.namajur=”Sistem Informasi”

Hasil seperti diatas.


Bila menggunakan INNER JOIN struktur instruksi disesuaikan.

WHERE : berfungsi sebagai filtering dan relasi

Mengurutkantampilan atas dasar Nama


SELECT Pribadi.nomhs,Pribadi.nama,jurusan.kodejur
FROM Pribadi,jurusan WHERE Pribadi.kodejur=jurusan.kodejur
AND Pribadi.kodejur=”1” ORDER BY Pribadi.nama ASCENDING

Catatan
ASCENDING : urut naik, DESCENDING : urut turun

Hasil :
Nomhs Nama NamaJur
210012 Alexandra Teknik Informatika
210090 Gani Suprapto Sistem Informasi
210099 Nadine Teknik Komputer
210100 Rina Gunawan Teknik Informatika
210002 Rizal Samurai Sistem Informasi

Latihan
Terdapat basisdata : Perpustakaan
Tabel :
buku(kodebuku,judul,kode_pengarang,Jumlah_buku)
pengarang(kode_pengarang,nama_pengarang)

Tulis perintah SQL dengan ke 2 cara diatas.

1. untuk menampilkan dengan field :Judul buku,nama_pengarang


2. Tampilkan daftar judul buku dengan field :kodebuku,judul ,
dengan pengarang bernama “Susanto”
3. mengubah nama Pengarang “Susanto” menjadi “Sulistyo
Santoso”

 selamat mengerjakan

Hakekat Belajar

Hal. 7dari 10
SQL : Naskah S Basis DataI & Pemrog. Basis Data Ljt oleh M
Guntara

- dari tidak tahu/bisa menjadi TAHU/BISA


- dari bisa sedikit menjadi MAHIR
- dari tidak bisa bergaul menjadi FAMILIAR
- dari kurang beradab menjadi BERADAB
- dari kurang PD menjadi PD
- dari pendiam menjadi KOMUNIKATIF

CARA PALING EFEKTIF UNTUK MEMAHAMI SESUATU……….PRAKTEKKANLAH

Pengelompokan (summarize) dan rekapitilasi


Pada pengolahan basis data khususnya untuk keperluan sistem informasi sering
diperlukan rekapitulasi dari data yang ada atas dasar kelompok tertentu.
Misalnya diinginkan IP rata-rata tiap jurusan.
Misal terdapat tabel

Nomhs Nama Kodeju IPKum


r
210100 Rina Gunawan 2 3,40
210090 Gani Suprapto 1 2,50
210012 Alexandra 2 2,00
210099 Nadine 3 2,75
210002 Rizal Samurai 1 2,89

Untuk mengetahui berapa IP rata-rata tiap kode jurusan dapat dilakukan dengan
clausa
GROUP BY …. HAVING, sbb.

SELECT kodejur, AVG(ipkum) from pribadi GROUP BY kodejur

Hasil :
Kodejur AVG(IPKUM)
2 2,70
1 2,69
3 2,75

SELECT jurusan.namajur, AVG(pribadi.ipkum) from


pribadi,jurusan
Where pribadi.kodejur=jurusan.kodejur GROUP BY namajur
Hasil :
Kodejur AVG(IPKUM)
Teknik 2,70
Informatika
Sistem 2,69

Hal. 8dari 10
SQL : Naskah S Basis DataI & Pemrog. Basis Data Ljt oleh M
Guntara
Informasi
Teknik 2,75
Komputer

Latihan
Terdapat tabel sbb
Tabel : Kabupaten
Kodeka namakab Jumlah Kodepropins
b penduduk i
1 Sleman 200.000 03
5 Semarang 300.000 02
2 Bantul 150.000 03
3 Kota Jogja 300.000 03
4 Klaten 400.000 02
8 Depok 500.000 01
6 Surakarta 200.000 02
7 Subang 400.000 01

Tabel: propinsi
Kodepro Namaprop
p
01 Jawa Barat
02 Jawa Tengah
03 DIY

Tulis SQL untuk


1. mengetahui jumlah penduduk tiap propinsi

Penyelesaian

SELECT propinsi.namaprop,sum(kabupaten.jumlahpenduduk) FROM


kabupaten, propinsi WHERE
kabupaten.kodeprop=propinsi.kodeprop
GROUP BY propinsi.namaprop
Hasil :
Namaprop Sum(jumlahpendud
uk)
Jawa Barat 900.000
Jawa Tengah 600.000
DIY 950.000

2. mengetahui jumlah penduduk tiap propinsi dengan jumlah


penduduk dibawah 700.000

Hal. 9dari 10
SQL : Naskah S Basis DataI & Pemrog. Basis Data Ljt oleh M
Guntara
SELECT propinsi.namaprop,sum(kabupaten.jumlahpenduduk) FROM
kabupaten, propinsi WHERE
kabupaten.kodeprop=propinsi.kodeprop
GROUP BY propinsi.namaprop
HAVING sum(kabupaten.jumlahpenduduk)<700.000

Namaprop Sum(jumlahpendud
uk)
Jawa Tengah 600.000

Materi ALJABAR RELASI belum dibahas , jika ada soal tsb neglected-
diabaikan saja !

Web Programming dengan PHP dan MySQL

Diagram proses aliran data

Engine (PHP.ASP,dll)

 Browser-
HTML
Database Server
(MySql,PostgreSQL,OR
ACLE,dll
User IE,Mozilla,d
ll
  
CLIENT database

Tabe Tabe Tabe


l1 l2 l3

SERVER KOMPUTER

Hal. 10dari 10