Senin, 20 Oktober 2014

Laporan Praktikum DBD 5 " Agregasi Sql dan View"

AGREGASI SQL DAN VIEW
Dasar Teori :


ok guys saat ini saya akan mengajak anda semuanya untuk belajar tentang Agregasi Sql dan View , saya akan menjelaskan apa sajakah fungsi-fungsi yang terdapat dalam fungsi agregasi sql itu  : berikut penjelasannya :
Fungsi Agregat ;
Fungsi – fungsi agregat ini adalah fungsi-fungsi yang mengambil koleksi ( suatu himpnan atau beberapa himpunan) dan mengembalikan nilai tunggal. SQL menyediakan lima fungsi agregat baku, yaitu :
1.      SUM  (Nilai keseluruhan atau total)
2.      MAX  ( Terbesar )
3.      MIN ( Terkecil )
4.      AVG (Rata-Rata)
5.      Count ( cacah jumlah )
Fungsi agregasi digunakan untuk menampilkan kebutuhan perolehan data seperti menampilkan banyaknya record, total nilai suatu atribut, rata-rata nilai atribut, nilai atribut terbesar atau terkecil , dan lain sebagainya. Agregate dapat digabungkan dengan sebuah parameter seperti WHERE untuk menghasilkan suatu hasil yang lebih kompleks lagi. Macam-macam fungsi agregasi dalam SQL adalah sebagai berikut :
1.      Sum : fungsi ini digunakan untuk menjumlah suatu kolom tertentu yang telah definisikan
            Sintak :
SELECT SUM (nama_kolom) FROM nama_tabel;
Contoh :
             SELECT SUM (SKS) FROM Mata_Kuliah;
2.      Max  Untuk mengetahui nilai terbesar dari sebuah kolom tertentu dalam perintah select.
            Sintak :
SELECT MAX nama_kolom FROM nama_tabel;
Contoh :
SELECT MAX (SKS) FROM Mata_Kuliah;
3.      Min : fungsi ini digunakan untuk mengetahui nilai terkecil dari sebuah kolom tertentu
dalam perintah select.
            Sintak :
SELECT MIN nama_kolom FROM nama_tabel;
Contoh :
SELECT MIN (SKS) FROM Mata_Kuliah
4.      Avg :  fungsi ini digunakan untuk  menghitung nilai rata – rata dari suatu kolom tertentu
yang telah definisikan dalam perintah select.
Sintak :
            SELECT AVG nama_kolom FROM nama_tabel;
Contoh :
SELECT AVG (SKS) FROM Mata_Kuliah
5.      Count : fungsi ini digunakan untuk menghitung jumlah baris dalam sebuah tabel.
Sintak : 
SELECT COUNT nama_kolom FROM nama_tabel;
Contoh :
SELECT COUNT (*) FROM mahasiswa
SELECT COUNT (SKS) FROM Mata_Kuliah
 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 : GROUP BY berfungsi untuk menelompokkan suatu data, namun pada pada fungsi ini juga biasanya paling banyak melibatkan operator pembanding dan fungsi perhitungan
select nama_kolom from nama_tabel group by nama_kolom;
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.
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
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. 
 view merupakan bentuk alternatif penyajian data dari satu tabel atau lebih, beberapa tujuan membuat view adalah meningkatkan keamanan data serta penyederhanaan bagi para pengguna.  
create view nama_tabel_view as query;
Catatan : Query diatas merupakan query untuk menampilkan data menggunakan query sql select.
Hasil Praktikum
Ok guys sekarang kita akan mencoba memecahkan soal , kita kan sudah mengetahui tuh , apa saja yang termasuk didalam perintah AGREGASI SQL DAN VIEW  , nahhh sekarang agar pemahaman kita  bisa lebih makin mantab, gak ada salahnya kan untuk menjawab soal- soal berikut ini . 
 
Nim : 12
Nama : edi
Alamat : malang
Fakultas : SAINTEK
Nim : 13
Nama : sinta
Alamat : jogja
Fakultas : SAINTEK
Nim : 14
Nama : luki
Alamat : ponorogo
Fakultas : PSIKOLOGI
1.   Dari tabel mahasiswa yang telah dibuat tambahkan 3 data lagi , tambahkan kolom gender kemudian update datanya dan tampilkan banyaknya data mahasiswa yang telah di inputkan. Kemudian cari nim atau id mahasiswa yang paling kecil, paling besar dan rata-ratanya.
Melihat soal seperti itu ,, Setelah saya berfikir – fikir lebih baik saya membuat database dari awal aja, agar sesuai dengan perintah di atas.
So jangan menyerah ya……
      Pertama masuk dulu  ke cmd, kemudian aktifkan mysql, setelah itu lakukan koneksi dengan mysql .
Caranya                      
berikut  : cd C:\xampplite\mysql\bin
                mysql –u root
 
Maka cmd kita telah terhubung dengan mysql .
selanjutnya saya membuat database baru ,karena ini merupakan praktikum yang ke 5 , jadi saya beri nama praktikum_5.
            caranya : create database praktikum_5;
 
Kemudian kita gunakan database tersebut.
Caranya : use praktikum_5 ;
 
Setelah itu kita buat tabel fakultas nya dulu ,
Caranya:  create table fakultas (id_fak integer not null, nama_fak varchar(25), primary key (id_fak));
 
 
Setelah itu kita masukkan data yang di fakultas .
Kita inisialisasikan bahwa jika id_fak = 1 maka berati dia itu ada di fakultas ‘saintek’ sedangkan jika 2 merupakan fakultas ‘psikologi’;
Query nya :     insert into identitas values (1,’saintek’);
                                    insert into identitas values(2,’psikologi’);
 
Sekarang kita lihat tabel fakultas nya .
Caranya : Select * from fakultas;
 
Lah,,, setelah itu kita baru buat tabel mahasiswa nya
Caranya : create table mahasiswa(nim_mah integer not null, nama  varchar(25), alamat varchar(20), id_fak integer not null references fakultas, primary key(nim_mah,id_fak));
 
Ok kita tinggal memasukkan data yang di perintahkan seperti diatas,
Caranya :   insert into mahasiswa values (12, ‘edi’, ‘malang’,1)
insert into mahasiswa values (13, ‘shinta’, ‘jogja’,1);
insert into mahasiswa values (14, ‘luki’, ‘ponorogo’ ,2);
 
Setelah itu kita lihat lagi tabel mahasiswa
Dengan cara : select * from mahasiswa;
 
Karena perintahnya disuruh tambahkan kolom gender , berati kita tambahkan satu kolom lagi, yaitu kolom gender pada tabel mahasiswa
Dengan cara : alter table mahasiswa add column gender varchar(15); 
 
Selanjutnya kita isikan gender nya pada tiap datanya dengan cara update ,
Caranya :
 update mahasiswa set gender=’l’ where nim_mah=12;
update mahasiswa set gender=’p’ where nim_mah=13;
update mahasiswa set gender=’l’ where nim_mah=14;
 
Kita tampilkan lagi tabel mahasiswa yang telah kita update :
Caranya : select * from mahasiswa;
 
Ok and fix tabel telah sesuai dengan perintah nya,
Nahh selanjutnya disini kita di perintahkan untuk menampilkan nilai maksimal,nilai terkecildan rata-rata  dari kolom nim_mah atau id mahasiswa di atas.
Untuk yang pertama kita disuruh mncari nilai terbesar nya .
Caranya : select MAX (nim_mah) from mahasiswa;
 
Dan Untuk nim_mah terkecil :
Caranya : select MIN (nim_mah) from mahasiswa;
 
Adapun untuk mencari rata-rata dari nim mah:
Caranya : select AVG (nim_mah) from mahasiswa;
 
Ok selanjutnya kita beralih ke no 2.
2.      Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12.
Caranya : select AVG (nim_mah) from mahasiswa where nim_mah > ‘12’ ;
 
3.      Tampilkan jumlah mahasiswa berdasarkan fakultas. Sehingga hasilnya seperti berikut:
Nama fakultas
Count(*)
         Saintek
        Psikologi
Berikut query nya : select nama_fak , count (*) from mahasiswa m, fakultas f where m.id_fak=f.id_fak group by nama_fak order by nama_fak desc ;
 
4.      Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.
Caranya : select nama_fak , count (*) from mahasiswa m, fakultas f where m.id_fak=f.id_fak group by nama_fak having count(*) >2;
 
Uppp disitu tertulis empty , yasudah deh kita ubah menjadi >1;
Lah seperti berikut ini :
 
5.      Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.
Caranya : select nim_mah, nama_mah, id_fak, no_telp, case when gender=’l’ then ‘laki-laki’ else ‘perempuan’ end as kelamin from mahasiswa;
 
6.      Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.
Berikut query nya : create view data_mahasiswa as select nim_mah, nama_mah, nama_fak from mahasiswa m, fakultas f where m.id_fak= f.id_fak;
 
            Berikut tampilannya :
select * from data_mahasiswa;
 
 Evaluasi perbedaan kelebihan dan kemudahan dari kedua DBMS.
Kelebihan dan Kemudahan :
tiap hasil praktikum, pasti kita disuruh membedakan perbedaan antar kedua DBMS, tapi pada kali ini hanya di perintahkan untuk memberikan kelebihan dan kemudahan apa yang di rasakan dalam menjalankan DBMS tersebut, oke deh menurut saya, saya lebih suka menggunakan postgresql , Karena mudah untuk di pahami dan gak ribet. Sebenarnya dalam cmd mysql juga mudah di pahami sih,,, tapi gak enak nya itu kita harus mencari dulu query nya gimana , kalau gak sama dengan postgresql. Dan cmd mysql itu lebih sensitif dari pada postgresql , salah dikit aja langsung error dan aku langsung kebingungan . tapi kalau di postgresql erornya itu saya masih bisa untuk membacanya error nya itu di bagian apa. Oh iya database postgresql dan mysql ini merupakan database yang paling terkenal loohh dan banyak di gunakan dalam pembuatan database, jadi beruntunglah kita jika bisa menguasa dan fasih dalam penggunaannya.
Kesimpulan
      Nahhh,,, tadi kita kan sudah belajar mengenai agregasi sql dan view , dan kita juga telah mencoba menjawab soal yang telah berkaitan seperti diatas tadi, dari semua itu dapat disimpulkan bahwa agregasi merupakan proses untuk mendapatkan nilai dari sekumpulan data yang telah dipilih. Dan lima fungsi agregat baku, yaitu :SUM  (Nilai keseluruhan atau total), MAX  ( Terbesar ), MIN ( Terkecil ), AVG (Rata-Rata), Count ( cacah jumlah ).
Adapun dalam fungsi group by itu kita mengelompokkan dari perintah select. Adapun having ini erat kaitannya dengan group by , karena having ini adalah untuk menentukan kondisi bagi GROUP BY itu sendiri berdasarkan kondisi yang diinginkan, adapun case itu fungsinya hapir mirip dengan if else if, yaitu untuk menentukan suatu kondisi yang di perkukan. Adapun yang terakhir perintah view, lah view ini kayak apa ya,, pokoknya dia itu gak punya data sendiri, lah tapi dapat menampilkan dari tabel lainnya. View ini dangat penting kaitannya untuk memberikan keamanan data. Oh iya view ini bukan termasuk temporary loh…
Kritik dan  Saran:
            Sesungguhnya mengoperasikan suatu database baik menggunkan postgreesql ataupun mysql itu mudah, tergantung kita sendiri mau mencoba belajar atau tidak, karena kata pepatah gak ada yang gak mungkin di dunia ini, hhe selama kita berusaha untuk bisa pasti kita akan bisa , hanya saja kita harus lebih sabar n telaten dalam belajarnya, dan juga harus paham apa yang di maksud dari perintah yang diinginkan tersebut, baru kita mencobanya, jangan langsung di tulis gitu- gitu aja, syaratnya itu memang kita harus banyak latihan,, hhee dan untuk lebih mudah dalam memahaminya menurutku sihh kita belajar dalam postgresql nya dulu, setelah paham baru kita mengaplikasikannya dengan mysql, jadi kita tidak akan kebngungan. Dan bisa menyelesaikannya baik dalam bentuk postgresql dan mysql. Amiin .sekian makasih
Manfaat: 

       Sekarang , kurang lebih sudah paham tentang fungsi Agregasi sql dan view  , naahhh agar kita lebih tambah paham lagi  dan  lebih mahirterus lah berlatih dan mencoba jangan pernah menyerah, karena kalau kita mau  kita pasti bisa … kalau gak ada kerjaan sih coba lah mengerjakan sebanyak banyaknya soal , coba di rubah - rubah sendiri perintahnya , sampai hal jelimet pun gak apa, yang penting kita bisa untuk menyelesaikannya dan tidak kebingungan pastinya, hhe selamat mencoba guys ,,,, semoga berhasill .
 
Rujukan  :
modul praktikum desain basis data
Nugroho Adi. 2011. Perencangan dan Implementasi Basis Data. Yogyakarta: ANDI.

Tidak ada komentar:

Posting Komentar