Posted by : Unknown 22 Oktober 2014

Muhamad Syahrul Efendi | 13650106 | Kelas A Hari Jum'at


BAB I PENDAHULUAN
BAHASAN DAN TUJUAN PRAKTIKUM


Bahasan dan Sasaran

Bahasan
 -  Agregasi sql yang diperlukan dalam perhitungan data
 -  View yang merupakan tabel bayangan yang berisi query baik dari satu tabel atau berbagai tabel
Sasaran
1. Mahasiswa memahami operator agregasi sql sehingga mempermudah dalam hal perhitungan data.
2. Mahasiswa memahami cara penggunaan view.

Materi
AGREGATE OPERATOR
Fungsi Agregate atau disebut fungsi ringkasan digunakan untuk melakukan penghitungan menjadi sebuah nilai dari beberapa nilai input. Aggregate dapat digabungkan dengan sebuah parameter seperti WHERE untuk menghasilkan suatu hasil yang lebih kompleks lagi. Adapun fungsi agregate yang disediakan oleh
PostgreSQL dapat dilihat pada tabel berikut :
Agregate
Keterangan
COUNT(*)
Menghitung jumlah baris
SUM(NAMA KOLOM)
Menghitung penjumlahan data
MAX(NAMA_KOLOM)
Mencari nilai terbesar
MIN(NAMA KOLOM)
Mencari nilai terkecil
AVG(NAMA KOLOM)
Mencari nilai rata-rata

Berikut contoh agregate query dari suatu tabel pegawai :
Id_peg
Nama_peg
Alamat_peg
Telp_peg
Jabatan_peg
1
Hendro
Solo
081223300
Teknisi
2
Tika
Semarang
0897735357
Sekretaris
3
Wijaya
Yogakarta
0865433225
Kepala
4
Dodi
Banyuwangi
076544677
Staf

Untuk pencarian banyaknya pegawai kita bisa menggunakan query berikut :
select count(*) from pegawai;
hasil : 4
untuk pencarian nilai terbesar berdasarkan ID :
select max(Id_peg) from pegawai;
hasi : 4
untuk pencarian nilai terkecil :
select min(Id_peg) from pegawai;
hasil : 1
untuk pencarian rata-rata :
select avg(Id_peg) from pegawai;
hasil : 2.5000

GROUP BY
Group By merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah SELECT. Group by seringkali diperlukan untuk menjalankan agregate menjadi sebuah kelompok dari hasil Query. Berikut struktur SQL untuk penampilan data :
 select nama_kolom from nama_tabel group by nama_kolom;

 Contoh :
Kode_
buk
Judul_buk
Pengarang_buk
Penerbit_buk
Tahun_buk
1
Harry Potter
JK Rowling
British
2002
2
Sistem Basis Data
Abdul Kadir
Andi
2002
3
Pemrograman
Abdul Kadir
Andi
2004

Untuk menampilkan informasi nama pengarang :
 Select pengarang_buk from buku group by pengarang_buk;

Hasil :
Pengarang
JK Rowling
Abdul Kadir

Pada hasil query terlihat pengarang muncul hanya sekali.
 - Untuk menampilkan informasi nama pengarang beserta jumlah buku yang
dikarang :
  Select pengarang_buk, count(*) from buku group by pengarang_buk;
Hasil  :
Pengarang
Count(*)
JK Rowling
1
Abdul Kadir
2

Untuk menampilkan informasi buku tiap tahunnya :
  Select tahun_buk, count(*) from buku group by tahun_buk;
  Hasil :
Tahun
Count(*)
2004
1
2002
2

Untuk menampilkan informasi jumlah total uang tiap tahunnya :
  Select tahun_buk, sum(harga_buk) as total from buku group by tahun_buk;
  Hasil :
Tahun
Total
2004
60000
2002
80000

HAVING
Pemakaian HAVING terkait dengan GROUP BY, kegunaanya adalah untuk menentukan kondisi bagi GROUP BY, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan. Berikut Struktur yang digunakan :
Kita akan menggunakan tabel “pesanan”
No
Tanggal Order
Harga Order
Pelanggan
1
2011/11/12
1000
Ratih
2
2011/10/23
1600
Anita
3
2011/09/02
700
Ratih
4
2011/09/03
300
Ratih
5
2011/08/30
2000
Teguh
6
2011/10/04
100
Anita

Sekarang jika kita ingin mencari pelanggan yang memiliki total order kurang dari
2000. Maka, kita dapat menggunakan statement :
select pelanggan, sum (hargaorder) from pesanan group by pelanggan having sum (hargaorder) <2000;

Maka, hasilnya :
Pelanggan
Sum(HargaOrder)
Anita
1700


CASE
Meskipun SQL bukan merupakan sebuah prosedur bahasa perograman, namun dalam prosesnya dapat dengan bebas mengontrol data yang kembali dari query. Kata WHERE menggunakan perbandingan untuk mengontrol pemilihan data, sedangkan CASE perbandingan dalam bentuk output kolom. Jadi intinya penggunaan CASE akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya.Struktur didalam select seperti berikut :

CASE WHEN condition THEN result
[WHEN ...]
[ELSE result] END

Berikut contoh query penggunaan case, penentuan umur jika umurnya dibawah 1986-01-01 dianggap dewasa dan lebih dari itu dianggap remaja :
select txt_namadepan, txt_namaakhir, dt_tgllahir, case when  dt_tgllahir < '1986-01-01' then 'dewasa' else 'balita' end as umur from pegawai ;

Hasil :
Txt_NamaDepan
Txt_NamaAkhir
Dt_TglLahir
Umur
Andhie 
Lala
1960-08-08
Dewasa
Ade
Fajar
1986-11-01
Balita
Panuju
Sasongko
1970-09-12
Dewasa
Dudy
Rudianto
1973-12-11
Dewasa
Ana
Hidayati
1988-10-01
Balita

VIEW
Views dapat juga disebut tabel bayangan tetapi bukan temporary table, bukan juga merupakan sebuah tabel yang asli. Suatu view adalah suatu relasi virtual yang tidak perlu ada database tetapi dapat diproduksi atas permintaan oleh pemakai tertentu, pada ketika permintaan. Satu lagi kelebihan yang dimiliki oleh view yaitu dapat menyimpan perintah query, dan dapat mewakili sebuah subset dari tabel asli dan memilih kolom atau row tertentu dari tabel biasa.
create view nama_tabel_view as query;

Catatan : Query diatas merupakan query untuk menampilkan data
menggunakan query sql select. 

Berikut adalah tabel contoh kasus penggunaan VIEW :
Kita akan menggunakan tabel “pesanan”
No
Tanggal Order
Harga Order
Pelanggan
1
2011/11/12
1000
Ratih
2
2011/10/23
1600
Anita
3
2011/09/02
700
Ratih
4
2011/09/03
300
Ratih
5
2011/08/30
2000
Teguh
6
2011/10/04
100
Anita

Kita akan membuat view dari tabel diatas dengan ketentuan harga dikumpulkan berdasarkan nama pelanggannya. Sebagai berikut :
create view total_pelanggan as select pelanggan, sum (hargaorder) from pesanan group by pelanggan;

Untuk melihat hasil kita bisa melakukan query select sebagai berikut :
Select * from total_pelanggan;
Hasil :
Pelanggan
Sum(HargaOrder)
Anita
1700
Ratih
2000
Teguh
2000


 BAB II HASIL PRAKTIKUM


BAB III PENUTUP

 PERBANDINGAN 
 Perbedaan dalam Modul ini hanya pada penulisan Spasi ( jarak ) pada Operator Min, Max, AVG dan COUNT, pada postgres bisa menggunakan spasi bisa tidak menggunakan, pada MySQL harus tanpa Spasi.
KESIMPULAN
Operator MIN untuk mendapatkan Nilai Minimal pada suatu data.
Operator MAX untuk mendapatkan Nilai Maksimal pada suatu data.
Operator AVG untuk mengitung Nilai Rata-rata pada suatu data.
Operator Count untuk menghitung banyaknya jumlah data pada suatu data.
GROUP BY  merupakan  fungsi  yang  digunakan  untuk  melakukan pengelompokan  dari  perintah  SELECT.
HAVING  terkait  dengan  GROUP  BY,  kegunaanya  adalah  untuk menentukan  kondisi  bagi  GROUP  BY,  dimana  kelompok  yang  memenuhi  kondisi saja yang akan di hasilkan.
CASE merupakan perbandingan dalam bentuk output kolom. Jadi intinya penggunaan  CASE akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya.

Kritik & Saran
Gunakan ketelitian untuk mengerjakan SQL agar terhindar dari kesulitan dan kesalahan.

Manfaat Bagi Pembaca
Mampu memahami operator agregasi sql sehingga mempermudah dalam hal perhitungan data.
Mampu memahami cara penggunaan view. 

DAFTAR PUSTAKA
web.unair.ac.id/admin/file/f_33720_SDP_5_SQL2.pdf
id.slideshare.net/dimasje/bab-6-sql
m24klik.wordpress.com/2013/01/10/sql-functiongroup-by-having/ 
agunghermawan14.wordpress.com/2013/01/18/dml/ 

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Welcome to My Blog

IDR Exchange Rate

Popular Post

Diberdayakan oleh Blogger.

Menu