DATA MANIPULATION LANGUAGE - haniki.files.wordpress.com · PRAKTIKUM BERKAS DAN BASIS DATA...

48
DATA MANIPULATION LANGUAGE PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011 Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Transcript of DATA MANIPULATION LANGUAGE - haniki.files.wordpress.com · PRAKTIKUM BERKAS DAN BASIS DATA...

DATA MANIPULATION LANGUAGE

PRAKTIKUM BERKAS DAN BASIS DATA

2010/2011

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Memasukkan Data

Kasus

Memasukkan data untuk tabel fakultas:

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

kode_fakultas nama

PA Matematika dan Ilmu Pengetahuan Alam

TK Teknik

INSERT

INSERT INTO fakultas VALUES('PA', 'Matematika dan Ilmu Pengetahuan Alam');

atau:

INSERT INTO fakultas(nama, kode_fakultas) VALUES('Teknik', 'TK');

atau:

INSERT INTO fakultas SET nama = 'Teknik', kode_fakultas = 'TK';

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan Masukkan data berikut ke tabel jurusan dan program_studi:

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

kode_jurusan nama kode_fakultas

MAT Matematika PA

IKE Ilmu Komputer dan Elektronika PA

TET

Teknik Elektro dan Teknologi

Informasi TK

kode_prodi nama kode_jurusan

IKP Ilmu Komputer MAT

MAT Matematika MAT

STA Statistika MAT

TEK Teknik Elektro TET

TEI Teknologi Informasi TET

Latihan

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

nif nama tempat_lahir tanggal_lahir jns_kelamin angkatan kode_prodi

1 Andi Sleman 01-01-1991 Pria 2009 IKP

2 Budi Bantul 02-02-1992 Pria 2010 IKP

3 Cici Wates 03-03-1991 Wanita 2009 MAT

4 Dian Wonosari 04-04-1992 Pria 2010 STA

1 Eni Yogyakarta 05-05-1991 Wanita 2009 TEK

2 Fadil Magelang 06-06-1992 Pria 2010 TEI

3 Gozi Solo 07-07-1992 Pria 2010 TEI

Latihan

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

kode_mk nama sifat sks kode_prodi semester

MMS1101 Kalkulus W 3 MAT GANJIL-GENAP

MMS2401 Metode Statistik W 2 STA GANJIL-GENAP

MMS2602 Basis Data W 3 IKP GENAP

MMS1801 Alpro W 3 IKP GANJIL

MMS3701 Bioinformatika P 2 IKP GENAP

TKE1105 Teknik Digital W 3 TEK GANJIL

TKE3351 Sistem Operasi P 3 TEI GENAP

UPDATE

UPDATE nama_tabel SET nama_kolom = nilai_kolom [WHERE kondisi]

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh

Prodi Ilmu Komputer sekarang berada dalam jurusan Ilmu Komputer dan Elektronika, update-lah basis datanya!

Bedakanlah kode prodi Matematika dengan kode jurusan Matematika dengan mengganti kode jurusan Matematika menjadi MTK!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh

UPDATE program_studi SET kode_jurusan='IKE' WHERE kode_prodi='IKP';

UPDATE jurusan SET kode_jurusan='MTK' WHERE nama= 'Matematika‘;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Ingat!!!

Jika klausa WHERE tidak diberikan, maka seluruh baris pada tabel akan ter-update.

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

DELETE

DELETE FROM nama_tabel [WHERE kondisi]

Cobalah hapus record mahasiswa dengan nama 'Gozi' dari tabel mahasiswa.

DELETE FROM mahasiswa WHERE nama='Gozi';

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Ingat!!!

Jika klausa WHERE tidak diberikan, maka seluruh baris pada tabel akan terhapus.

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

TRUNCATE

TRUNCATE TABLE nama_tabel

Digunakan untuk mengosongkan isi tabel.

Kolom AUTO_INCREMENT akan di-reset.

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

SELECT

SELECT nama_kolom1, nama_kolom2, ... FROM nama_tabel [WHERE kondisi] [ORDER BY nama_kolom, ...]

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 1

Tampilkan data niu, nama, dan angkatan di tabel mahasiswa!

Tampilkan data mahasiswa untuk semua kolom!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 1

Tampilkan data niu, nama, dan angkatan di tabel mahasiswa!

SELECT niu, nama, angkatan FROM mahasiswa;

Tampilkan data mahasiswa untuk semua kolom!

SELECT * FROM mahasiswa;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 2

Tampilkan data niu, nama, dan angkatan untuk mahasiswa angkatan 2009 di tabel mahasiswa!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 2

Tampilkan data niu, nama, dan angkatan untuk mahasiswa angkatan 2009 di tabel mahasiswa!

SELECT niu, nama, angkatan FROM mahasiswa WHERE angkatan='2009';

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 3

Tampilkan data niu, nama, dan tahun lahir mahasiswa yang angkatannya 2009 dari tabel mahasiswa!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 3

Tampilkan data niu, nama, dan tahun lahir mahasiswa yang angkatannya 2009 dari tabel mahasiswa!

SELECT niu, nama, YEAR(tanggal_lahir) FROM mahasiswa WHERE angkatan='2009';

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan niu, nama, dan umur dari mahasiswa yang angkatannya 2009!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan niu, nama, dan umur dari mahasiswa yang angkatannya 2009!

SELECT niu, nama, YEAR(NOW()) -YEAR(tanggal_lahir) FROM mahasiswa WHERE angkatan='2009';

SELECT niu, nama, DATEDIFF(CURDATE(), tanggal_lahir) DIV 365 FROM mahasiswa WHERE angkatan='2009';

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Alias untuk Kolom dengan AS

SELECT niu, nama, YEAR(NOW()) -YEAR(tanggal_lahir) AS umur FROM mahasiswa WHERE angkatan='2009';

SELECT niu, nama, DATEDIFF(CURDATE(), tanggal_lahir) DIV 365 AS umur FROM mahasiswa WHERE angkatan='2009';

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 4

Tampilkan data niu, nama, dan kode_prodi dari tabel mahasiswa diurutkan berdasarkan namanya!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 4

Tampilkan data niu, nama, dan kode_prodi dari tabel mahasiswa diurutkan berdasarkan namanya!

ASCENDING

SELECT niu, nama, kode_prodi FROM mahasiswa ORDER BY nama;

DESCENDING

SELECT niu, nama, kode_prodi FROM mahasiswa ORDER BY nama DESC;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan data niu, nama, dan kode_prodi mahasiswa angkatan 2009 dari tabel mahasiswa diurutkan berdasarkan kode_prodi!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan data niu, nama, dan kode_prodi mahasiswa angkatan 2009 dari tabel mahasiswa diurutkan berdasarkan kode_prodi!

SELECT niu, nama, kode_prodi FROM mahasiswa WHERE angkatan='2009' ORDER BY kode_prodi ASC;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 5

Tampilkan 3 mahasiswa tertua dari tabel mahasiswa!

Tampilkan niu dan nama dari mahasiswa tertua ketiga dan keempat dari tabel mahasiswa!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 5

Tampilkan 3 mahasiswa tertua dari tabel mahasiswa!

SELECT niu, nama, tanggal_lahir FROM mahasiswa ORDER BY tanggal_lahir LIMIT 3;

Tampilkan niu dan nama dari mahasiswa tertua ketiga dan keempat dari tabel mahasiswa!

SELECT niu, nama FROM mahasiswa ORDER BY tanggal_lahir LIMIT 2, 2;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan niu dan nama mahasiswa yang tanggal lahirnya di atas 3 Maret 1991 dan kode prodinya IKP atau TEI diurutkan berdasarkan kode prodinya (ASCENDING) lalu berdasarkan namanya (DESCENDING)

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan niu dan nama mahasiswa yang tanggal lahirnya di atas 3 Maret 1991 dan kode prodinya IKP atau TEI diurutkan berdasarkan kode prodinya (ASCENDING) lalu berdasarkan namanya (DESCENDING)

SELECT niu, nama FROM mahasiswa WHERE tanggal_lahir > 1991-03-03 AND kode_prodi='IKP' OR kode_prodi='TEI' ORDER BY kode_prodi ASC, nama DESC;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan niu dan nama mahasiswa yang namanya diakhiri dengan 'di'

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan niu dan nama mahasiswa yang namanya diakhiri dengan 'di'

SELECT niu, nama FROM mahasiswa WHERE nama LIKE '%di';

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

DISTINCT

SELECT DISTINCT nama_kolom FROM nama_tabel [WHERE kondisi] [ORDER BY ...] [LIMIT [offset, ] number]

Digunakan untuk menghilangkan duplikasi baris dengan nilai yang sama pada kolom ‘nama_kolom’.

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh

Tampilkan daftar angkatan mahasiswa yang terdapat di tabel mahasiswa.

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh

Tampilkan daftar angkatan mahasiswa yang terdapat di tabel mahasiswa.

SELECT DISTINCT angkatan FROM mahasiswa;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

GROUP BY

SELECT nama_kolom1, nama kolom2, ... FROM nama_tabel [WHERE kondisi] [GROUP BY nama_kolom_a [, nama_kolom_b] [HAVING kondisi]] [ORDER BY ...] [LIMIT [offset, ] number]

Mengelompokkan baris hasil query berdasarkan kolom tertentu

Berbeda dengan DISTINCT, klausa SELECT pada GROUP BY bisa menggunakan AGGREGATE FUNCTION Rizki Arif Firdaus

http://haniki.wordpress.com/praktikum/

Contoh

Contoh:

SELECT angkatan FROM mahasiswa GROUP BY angkatan;

HAVING digunakan untuk memfilter baris setelah dilakukan GROUPING

Untuk memfilter baris sebelum dilakukan GROUPING gunakan WHERE

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

AGGREGATE FUNCTION

COUNT: mencacah

SUM: menjumlah

AVG: menghitung rata-rata

MAX: mencari nilai maksimum

MIN: mencari nilai minimum

dsb. (STDEV, VARIANCE, ...)

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 1

Tampilkan jumlah mahasiswa yang ada di tabel mahasiswa!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 1

Tampilkan jumlah mahasiswa yang ada di tabel mahasiswa!

SELECT COUNT(*) FROM mahasiswa;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 2

Tampilkan jumlah mahasiswa per angkatan!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 2

Tampilkan jumlah mahasiswa per angkatan!

SELECT angkatan, COUNT(*) FROM mahasiswa GROUP BY angkatan;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 3

Tampilkan jumlah mahasiswa per angkatan di mana yang jumlah mahasiswanya lebih dari 3!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Contoh 3

Tampilkan jumlah mahasiswa per angkatan di mana yang jumlah mahasiswanya lebih dari 3!

SELECT angkatan, COUNT(*) FROM mahasiswa GROUP BY angkatan HAVING COUNT(*) > 3;

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan mata kuliah yang disediakan oleh prodi Ilmu Komputer pada semester genap!

Tampilkan mata kuliah wajib yang disediakan oleh prodi Ilmu Komputer pada semester genap diurutkan sesuai abjad berdasarkan namanya!

Tampilkan jumlah sks mata kuliah yang disediakan oleh prodi Ilmu Komputer!

Tampilkan jumlah sks mata kuliah yang disediakan oleh tiap-tiap prodi!

Rizki Arif Firdaus

http://haniki.wordpress.com/praktikum/

Latihan

Tampilkan kode mata kuliah yang diambil oleh mahasiswa dengan niu 2!

Dapatkan jumlah mata kuliah yang sudah diambil mahasiswa dengan niu 1!

Dapatkan jumlah mata kuliah yang diambil mahasiswa dengan niu 1 pada semester genap tahun ajaran 2010/2011!

Tampilkan niu dan jumlah mata kuliah yang diambil oleh tiap-tiap mahasiswa pada semester genap tahun ajaran 2010/2011!

Rizki Arif Firdaus

http://haniki.wordpress.com/praktikum/

Latihan

Dapatkan jumlah sks yang sudah diambil mahasiswa dengan niu 1!

Dapatkan jumlah sks yang diambil mahasiswa dengan niu 1 pada semester genap tahun ajaran 2010/2011!

Tampilkan niu dan jumlah sks yang diambil oleh tiap-tiap mahasiswa pada semester genap tahun ajaran 2010/2011!

Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/