Upload
ami-dar-dir-doer
View
513
Download
7
Embed Size (px)
Citation preview
LAPORAN HASIL PRAKTIKUM
BASIS DATA I
NIM : C1155201097
NAMA : Sunaryo M.Aminuddin
JADWAL PRAKTIKUM : ------------------------------
ASISTEN : ------------------------------
MODUL KE : 3 ( TIGA )
TOPIK : Data Manipulation Language (DML) :
Join, Union, dan Grouping
TUJUAN PEMBELAJARAN :
1. Menampikan data dari dua table atau lebih dengan menggunakan perintah right join
dan left join.
2. Memahami perbedaan right join dan left join.
3. Menampilkan gabungan data dari dua table atau lebih dengan menggunakan perintah
union.
4. Menampilkan data yang dikelompokkan sesuai kolom tertentu.
5. Menggunakan fungsi-fungsi yang biasa dipergunakan bersama perintah grouping
(count, max, min, avg).
NILAI
Komponen Max Nilai
1. Sampul depan 5
2. Landasan teori 30
3. Langkah penyelesaian & pembahasan tugas praktikum 30
4. Kesimpulan 25
5. Daftar pustaka 10
Total nilai 100
Penilai,
------------------------------Jurusan Teknik Informatika
Stmik Palangka Raya2012
BAB I
LANDASAN TEORI
JOIN
Join adalah perintah untuk menampilkan data dari dua atau lebih table yang
memiliki irisan atau kesamaan kolom. Kolom yang beririsan tidak selalu harus memiliki
nama kolom yang sama, yang terpenting adalah kesamaan esensi isi kolom. Join lazim
(namun tidak selalu) digunakan untuk menampilkan data secara lengkap pada table yang
mengacu pada table lain sebagai foreign key.
Table 1 Table 2
A B C D E C G
Hasil join Table1 dan Table2, dengan kolom C sebagai kolom irisan :
A B C D E G
1. INNER JOIN
Inner join digunakan untuk menggabungkan dua atau lebih tabel yang dijadikan sebagai referensi
join memiliki nilai yang sama pada tabel sebelah kiri dan pada tabel sebelah kanan. Dengan inner
join, tabel akan digabungan dua arah, sehingga tidak ada data yang NULL di satu sisi.
Bentuk umum inner join adalah :
SELECT column_name(s)FROM table_name1INNER JOIN table_name2ON table_name1.column_name = table_name2.column_name
Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan
menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Misalkan
isi tabel pelanggan dan pesan adalah sebagai berikut :
Jurusan Teknik InformatikaStmik Palangka Raya
2012
Tabel pelanggan (hanya ditampilkan field id_pelanggan, nm_pelanggan dan email)
Tabel pesan.
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesanFROM pelanggan, pesanWHERE pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya sebagai berikut:
Pada hasil perintah query di atas terlihat bahwa terdapat 5 (lima) transaksi yang dilakukan
oleh 3 (tiga) orang pelanggan. Jika kita lihat kembali isi tabel pelanggan di atas, maka ter-
dapat satu pelanggan yang tidak ditampilkan yaitu yang memiliki id pelanggan P0003.
Pelanggan tersebut tidak ditampilkan karena belum pernah melakukan transaksi.
Jurusan Teknik InformatikaStmik Palangka Raya
2012
2. OUTER JOIN
Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data
yang NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel
pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah
melakukan pemesanan (transaksi).
Outer join terbagi menjadi 2 yaitu left join dan right join.
a. LEFT JOIN
Left join digunakan untuk menggabungkan dua atau lebih tabel dimana field yang di-
gunakan sebagai referensi pada tabel sebelah kiri akan tetap ditampilkan walaupun
tidak ada dalam tabel sebelah kanan.
Bentuk umum left join adalah :
SELECT field_name(s)FROM table_name1LEFT JOIN table_name2ON table_name1.field_name = table_name2.field_name
Contoh perintah SQL:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesanFROM pelanggan LEFT JOIN pesanON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya:
b. RIGHT JOIN
Rightjoin digunakan untuk menggabungkan dua atau lebih tabel dimana semua field
yang ada pada tabel sebalah kanan akan ditampilkan walapun tidak memiliki nilai
yang sama dengan referensi yang ada dalam tabel sebelah kiri.
Jurusan Teknik InformatikaStmik Palangka Raya
2012
Bentuk umum left join adalah :
SELECT field_name(s)FROM table_name1LEFT JOIN table_name2ON table_name1.field_name = table_name2.field_name
Contoh perintah SQL:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesanFROM pelanggan RIGHT JOIN pesanON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya :
JOIN MENGGUNAKAN TABEL ALIAS
Tujuan penggunaan tabel alias adalah untuk menyederhanakan query. Contoh query
penggunaan join dengan tabel alias :
SELECT p.id_pelanggan, p.nm_pelanggan, s.id_pesan, s.tgl_pesanFROM pelanggan p RIGHT JOIN pesan sON p.id_pelanggan=s.id_pelanggan;
Jurusan Teknik InformatikaStmik Palangka Raya
2012
BAB II
LANGKAH PENYELESAIAN DAN
PEMBAHASAN TUGAS PRAKTIKUM
A. Langkah kerja
Dalam pelaksanaan praktikum ini, ada beberapa langkah yang harus dilakukan sesuai
dengan modul yang telah ditetapkan yaitu :
1. Langkah pertama adalah mengerjakan soal pre-test.
2. Langkah kedua adalah membuka program Wamp Server.
3. Langkah ketiga adalah menjalankan program SQLyog.
4. Langkah keempat adalah mengerjakan tugas praktikum.
B. Pembahasan Tugas Praktikum
1. Dengan right join, tampilkan data penjualan album! (kolom yang ditampilkan :
nama album, penyanyi, jumlah quantity terjual)
Koding :
Output :
Pembahasan :
select a.judul as ‘nama album’, penyanyi, sum(d.qty) as ‘jumlah quantity
terjual’
select a.judul merupakan perintah untuk menampilkan kolom judul. as ‘nama
album’ merupakan perintah untuk membuat tabel alias dengan mengubah nama
kolom judul menjadi nama album tetapi tidak merubah koding, karena tabel alias
hanya menampilkan tabel yang tersedia menggunakan nama lain. Penyanyi
merupakan kolom yang akan ditampilkan setelah kolom judul. sum(d.qty)
Jurusan Teknik InformatikaStmik Palangka Raya
2012
merupakan operasi matematika, berfungsi untuk menjumlahkan data yang ada
pada kolom qty. As ‘jumlah quantity terjual’ merupakan perintah untuk membuat
tabel alias dengan mengubah nama kolom penjumlahan qty menjadi jumlah
quantity terjual tetapi tidak merubah koding, karena tabel alias hanya
menampilkan tabel yang tersedia menggunakan nama lain. Huruf a dan d
merupakan sebuah simbol untuk membedakan berasal dari tabel mana.
From album a right join detail_penjualan d
From album menunjukkan bahwa kolom yang akan ditampilkan berasal dari tabel
album. Right join merupakan perintah untuk menggabungkan 2 tabel, dimana
semua field yang ada pada tabel sebelah kanan akan ditampilkan walaupun tidak
memiliki nilai yang sama dengan referensi yang ada pada tabel sebelah kiri.
detail_penjualan merupakan tabel yang akan digabungkan dengan tabel album.
Huruf a dan d merupakan simbol untuk mewakili tabel, a mewakili tabel album
dan b mewakili tabel detail_penjualan.
On a.kode_album = d.kode_album group by judul
On a.kode_album = d.kode_album merupakan syarat untuk melakukan join
dimana kode_album pada tabel album memiliki nilai yang sama dengan
kode_album pada tabel detail_penjualan. Group by judul merupakan perintah
untuk mengurutkan data berdasarkan kolom judul.
2. Dengan left join, tampilkan data penjualan album! (kolom yang ditampilkann
nama album, penyanyi, quantity terjual)
Koding :
Output :
Jurusan Teknik InformatikaStmik Palangka Raya
2012
Pembahasan :
select a.judul as ‘nama album’, penyanyi, sum(d.qty) as ‘quantity terjual’
select a.judul merupakan perintah untuk menampilkan kolom judul. as ‘nama
album’ merupakan perintah untuk membuat tabel alias dengan mengubah nama
kolom judul menjadi nama album tetapi tidak merubah koding, karena tabel alias
hanya menampilkan tabel yang tersedia menggunakan nama lain. Penyanyi
merupakan kolom yang akan ditampilkan setelah kolom judul. sum(d.qty)
merupakan operasi matematika, berfungsi untuk menjumlahkan data yang ada
pada kolom qty. As ‘quantity terjual’ merupakan perintah untuk membuat tabel
alias dengan mengubah nama kolom penjumlahan qty menjadi jumlah quantity
terjual tetapi tidak merubah koding, karena tabel alias hanya menampilkan tabel
yang tersedia menggunakan nama lain. Huruf a dan d merupakan sebuah simbol
untuk membedakan berasal dari tabel mana.
From album a left join detail_penjualan d
From album menunjukkan bahwa kolom yang akan ditampilkan berasal dari tabel
album. Left join merupakan perintah untuk menggabungkan 2 tabel, dimana
semua field yang ada pada tabel sebelah kiri akan ditampilkan walaupun tidak
memiliki nilai yang sama dengan referensi yang ada pada tabel sebelah kanan.
detail_penjualan merupakan tabel yang akan digabungkan dengan tabel album.
Huruf a dan d merupakan simbol untuk mewakili tabel, a mewakili tabel album
dan b mewakili tabel detail_penjualan.
On a.kode_album = d.kode_album group by judul
On a.kode_album = d.kode_album merupakan syarat untuk melakukan join
dimana kode_album pada tabel album memiliki nilai yang sama dengan
kode_album pada tabel detail_penjualan. Group by judul merupakan perintah
untuk mengurutkan data berdasarkan kolom judul.
3. Tampilkan data album yang paling laris!
Koding :
Jurusan Teknik InformatikaStmik Palangka Raya
2012
Output :
Pembahasan :
Select a.*, max(d.qty) as ‘jumlah terjual’
Select a.* merupakan perintah untuk menampilkan seluruh data pada tabel.
Max(d.qty) merupakan operasi matematika yang berfungsi untuk mengetahui nilai
terbesar dari kolom qty. As ‘jumlah terjual’ merupakan perintah untuk membuat
tabel alias dengan mengubah nama kolom pada kolom untuk mencari nilai
terbesar dari kolom qty menjadi jumlah terjual tetapi tidak merubah koding,
karena tabel alias hanya menampilkan tabel yang tersedia menggunakan nama
lain. Huruf a dan d merupakan sebuah simbol untuk membedakan berasal dari
tabel mana.
From album a inner join detail_penjualan d
From album menunjukkan bahwa kolom yang akan ditampilkan berasal dari tabel
album. Inner join merupakan perintah untuk menggabungkan 2 tabel, dimana
tabel yang dijadikan sebagai referensi join memiliki nilai yang sama pada tabel
sebelah kiri dan pada tabel sebelah kanan. detail_penjualan merupakan tabel yang
akan digabungkan dengan tabel album. Huruf a dan d merupakan simbol untuk
mewakili tabel, a mewakili tabel album dan b mewakili tabel detail_penjualan.
On a.kode_album = d.kode_album
On a.kode_album = d.kode_album merupakan syarat untuk melakukan inner join
dimana kode_album pada tabel album memiliki nilai yang sama dengan
kode_album pada tabel detail_penjualan. Apabila tidak memiliki nilai yang sama
maka inner join tidak dapat dilakukan.
4. Tampilkan data album yang termurah!
Koding :
Jurusan Teknik InformatikaStmik Palangka Raya
2012
Output :
Pembahasan :
Select * from album
Select * from album merupakan perintah untuk menampilkan seluruh data pada
tabel album.
Where harga = (select min(harga) from album)
Perintah ini merupakan syarat dari data yang akan ditampilkan pada tabel album.
Data yang akan ditampilkan hanyalah data yang memiliki nilai harga terendah.
5. Tampilkan data penjualan album perhari
Koding :
Output :
Pembahasan :
Select kode_penjualan, tanggal, total as ‘penjualan perhari’ from penjualan
Select kode_penjualan merupakan perintah untuk menampilkan kolom
kode_penjualan. Tanggal merupakan kolom yang akan ditampilkan setelah kolom
kode_penjualan. Total as ‘penjualan perhari’ merupakan kolom yang akan
ditampilkan selanjutnya dengan mengganti nama total menjadi penjualan perhari.
From penjualan menunjukkan bahwa kolom-kolom yang akan ditampilkan
berasal dari tabel penjualan.
Jurusan Teknik InformatikaStmik Palangka Raya
2012
BAB III
KESIMPULAN
Dengan menggunakan program SQL ini, kita dapat mengenal SQL dan perintah-
perintah dalam bahasa QSL. dan dapat mengambil kesimpulan dari program yang telah
kerjakan.
Right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah
left join beserta pasangannya dari tabel sebelah kiri.
Left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah left
join beserta pasangannya dari tabel sebelah kanan.
Max : Menghitung nilai terbesar dari nilai (nilai kolom, literal, parameter, atau nilai
hasil perhitungan) yang menggunakan dataset. Dataset dapat berupa tabel, suatu dataset
yang disaring, atau kelompok logika yang dihasilkan oleh klausa group by.
Syntax:
MAX([ALL] column_reference | DISTINCT column_reference)
Min : Fungsi MIN merupakan kebalikan dari fungsi max yaitu menghitung nilai
terkecil dari nilai (nilai kolom, literal, parameter, atau nilai hasil perhitungan) yang
menggunakan dataset. Deskripsi lainnya hampir sama dengan fungsi max.
Syntax:
MIN([ALL] column_reference | DISTINCT column_reference)
Sum : Menghitung total dari nilai (nilai kolom, literal, parameter, atau nilai hasil
perhitungan) yang menggunakan dataset. Deskripsi lainnya hampir sama dengan fungsi
max.
Syntax:
SUM([ALL] column_reference | DISTINCT column_reference)
From : Digunakan untuk menetapkan tabel yang datanya akan ditampilkan melalui
suatu pernyataan Select. Nilai klausa From adalah daftar nama tabel yang dipisahkan
oleh tanda koma. Nama alias suatu tabel yang didefinisikan dalam klausa From dapat
digunakan dalam suatu pernyataan.
Syntax:
FROM table_reference [, table_reference...]
Jurusan Teknik InformatikaStmik Palangka Raya
2012
Group By : Mengelompokan data berdasarkan suatu kolom. Sebagai contoh, suatu
query dengan fungsi sum menghasilkan record tunggal yang merupakan total seluruh
nilai dari kolom dalam fungsi sum tersebut. Tetapi jika klausa group by ditambahkan,
maka fungsi sum melakukan penjumlahan sekali untuk masing-masing kelompok
record. Klausa group by diperlukan jika kolom aggregate dan non-aggregate
dimasukkan dalam pernyataan select yang sama.
Syntax:
GROUP BY column_reference [, column reference...]
As : perintah untuk memberikan nama lain pada kolom yang diinginkan menjadi nama
baru pada suatu tabel.
Syntax :
Select namakolomlama As namakolombaru From nama tabel;
Jurusan Teknik InformatikaStmik Palangka Raya
2012
BAB IV
DAFTAR PUSTAKA
Modul Praktikum Basis Data 1. Modul I II DATA MANIPULATION LANGUAGE. Teknik
Informatika : Universitas Palangkaraya.
http://bahanajarku.wordpress.com
http://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/
Jurusan Teknik InformatikaStmik Palangka Raya
2012