Sabtu, 18 Oktober 2014

LAPORAN 5

LAPORAN
PRAKTIKUM DESAIN BASIS DATA
‘Agregasi SQL dan View”

LANDASAN TEORI
                Terdapat bermacam-macam operator perhitungan dalam SQL, diantaranya adalah sebagai berikut:

  • AGREGATE OPERATOR

                Fungsi aggregate 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 adalah :
                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

  • 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.

  • 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.

  • 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.

PERCOBAAN
  • 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.

                Mencari nilai tertinggi :
                SELECT max(nim_mahasiswa) FROM mahasiswa;

                POSTGRESQL


                MYSQL


                Mencari nilai terendah :
                SELECT min(nim_mahasiswa) FROM mahasiswa;

                POSTGRESQL


                MYSQL


                Mencari rata-rata :
                SELECT avg(nim_mahasiswa) FROM mahasiswa;

                POSTGRESQL


                MYSQL


  • Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12.

                SELECT avg(nim_mahasiswa) FROM mahasiswa WHERE nim_mahasiswa >12;

                POSTGRESQL


                MYSQL


  • Tampilkan jumlah mahasiswa berdasarkan fakultas.

                SELECT nama_fak, count(*) FROM mahasiswa, fakultas WHERE                                                 mahasiswa.id_fak=fakultas.id_fak GROUP BY nama_fak;

                POSTGRESQL


                MYSQL


  • Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.

                SELECT nama_fak, count(*) FROM mahasiswa, fakultas WHERE                                                  mahasiswa.id_fak=fakultas.id_fak GROUP BY nama_fak HAVING count(*)>=2;

                POSTGRESQL


                MYSQL


  • Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.

                SELECT nim_mahasiswa, nama_mahasiswa, CASE WHEN gender='L' then                               'laki-laki' else 'perempuan' end as gender FROM mahasiswa;

                POSTGRESQL


                MYSQL


  • Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.

            CREATE VIEW mahasiswa_fakultas as select nim_mahasiswa, nama_mahasiswa,                 nama_fak FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;

                POSTGRESQL


                MYSQL



PERBANDINGAN POSTGRESQL DAN MYSQL
                Dalam percobaan ini, tidak ada perbedaan yang amat mencolok seperti pada percobaan sebelumnya. Perbedaannya mungkin hanya pada sisi kecepatan ketika eksekusi. Dalam mysql window query dan hasil eksekusi query yang kita buat berbeda. Hal ini cukup menyusahkan karena kita harus bolak balik mengklik window query untuk menuliskan query selanjutnya.
                Berbeda dengan postgresql, tempat penulisan query dan hasil eksekusi berada dalam satu window. Ini memudahkan, karena kita tidak perlu berganti-ganti window. Namun dalam postgresql apabila terjadi error atau kesalahan penulisan, akan tertera pada window tersebut. Di sana akan ditunjukan dibagian manakah letak keslahan kita. Jadi akan terlihat berapa error atau kesalahan yang telah kita lakukan dalam penulisan query.
                Dalam mysql, bentuk error tidak tercantum dalam window. Hanya terdapat peringatan letak kesalahan saja. Terkadang letak kesalahannya tidak ditunjukkan. Jadi terkadang kita sebagai user bingung, penulisan apakah yang salah dalam query tersebut.

KESIMPULAN
                Terdapat bermacam-macam operator yang data digunakan dalam perhitungan data, diantaranya adalah agregate operator, group by, having, case, dan view.
                Fungsi aggregate atau disebut fungsi ringkasan digunakan untuk melakukan penghitungan menjadi sebuah nilai dari beberapa nilai input. Adapun fungsi agregate yang disediakan oleh PostgreSQL adalah COUNT(*) digunakan untuk menghitung jumlah baris, SUM (menghitung penjumlahan data), MAX (mencari nilai terbesar), MIN (mencari nilai terkecil), dan AVG (mencari nilai rata-rata).
                Group By merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah SELECT, seringkali diperlukan untuk menjalankan agregate menjadi sebuah kelompok dari hasil Query.
                Pemakaian HAVING terkait dengan GROUP BY, kegunaanya adalah untuk menentukan kondisi bagi GROUP BY, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan.
                Penggunaan CASE akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya.           
                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.

KRITIK DAN SARAN
                Penjelasan penulis tentang contoh-contoh penggunaan operator agregasi dan view kurang. Penulis hanya menmberikan penjelasa singkat, dan contoh singakat dalam kasus tertentu. Penulis tidak memberikan beberapa contoh lain atau kemungkinan lain yang bisa dilakukan dengan operator tersebut.
                Diharapkan bagi penulis untuk memberikan banyak contoh tentang penggunaan operator agregasi, supaya pembaca tidak merasa bingung dalam perhitungan data.

MANFAAT
  1. Pembaca dapat memahami operator agregasi sql sehingga mempermudah dalam hal perhitungan data.
  2. Pembaca dapat memahami cara penggunaan view.























Tidak ada komentar:

Posting Komentar