laporan libur
Minggu, 26 Oktober 2014
minggu kemarin praktikum DBD nya UTS, jadi laporannya libur dulu yaa :) ntar kita bahas hasil UTS nya kalo sudah saya selesaikan, Ok... ?? :)
LAPORAN PRAK DBD KE - 5
Jumat, 17 Oktober 2014
BAB V
AGREGASI SQL dan VIEW
Bahasan dan sasaran
I.
Bahasan
§ Agregasi sql yang diperlukan dalam perhitungan
data
§ View yang merupakan tabel bayangan yang berisi
query baik dari satu tabel atau berbagai tabel
II.
Sasaran
§ Mahasiswa memahami operator agregasi sql
sehingga mempermudah dalam hal perhitungan data.
§ Mahasiswa memahami cara penggunaan view.
A. DASAR TEORI
1. AGREGATE
Fungsi agregat
(kadangkala disebut fungsi grup atau fungsi ringkasan) adalah fungsi yang
disediakan oleh SQL untuk menghasilkan sebuah nilai berdasarkan sejumlah data.
Fungsinya sendiri adalah suatu kumpulan instruksi yang menghasilkan sebuah
nilai jika dipanggil. Adapun fungsi agregat yang disediakan oleh SQL dapat
dilihat pada tabel dibawah ini.
(01)
§ COUNT (*)
Fungsi COUNT
berguna untuk menghitung jumlah rows dalam sebuah query. Parameter fungsi COUNT
dapat menggunakan semua columns yang ada dalam sebuah tabel. Kita juga dapat
menggunakan karakter asterisk (*), yang berarti semua rows, termasuk nilai duplikat
dan NULL.Bentuk penggunaannya :
select
count(nama_column) from nama_tabel;
Pada
prinsipnya bagian yang terdapat dalam COUNT bisa berupa nama kolom apa saja.
Namun seringkali nama kolom itu diganti dengan tanda asterisk (*). Sehingga
bentuk penggunaannya sebagai berikut :
select
count(*) from nama_tabel;
§ SUM
Fungsi SUM
berguna untuk melakukan penjumlahan data. Bentuk umum penggunaannya :
select sum
(nama_kolom) from nama_tabel;
§ MAX
Fungsi MAX
berguna untuk memperoleh nilai yang terbesar. Bentu k umum penggunaannya :
select max
(nama_kolom) from nama_tabel;
§ MIN
Fungsi MIN
berguna untuk memperoleh nilai terkecil. Bentuk umum penggunaannya :
select min
(nama_tabel) from nama_tabel;
§
AVG
Fungsi AVG (
AVERAGE ) adalah untuk memperoleh nilai rata-rata. Bentuk umum penggunaannya :
select avg
(nama_kolom) from nama_tabel;
Nilai NULL
akan diabaikan oleh fungsi AVG. Yang bernilai NULL tidak ikut dipakai untuk
menhitung rata-rata.
2. 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. Bentuk penggunaannya :
select
nama_kolom from nama_tabel group by nama_kolom;
Penting :
“Kolom-kolom yang anda sebutkan dalam SELECT dan tidak berada dalam fungsi
agregat haruslah disebutkan dalam klausa GROUP BY.”
3. HAVING
Klausa
HAVING digunakan dalam query yang memakai fungsi GROUP untuk memberikan
kondisi. Usahakan untuk selalu menguunakan klausa WHERE dibanding dengan menggunakan
klausa HAVING. Menggunakan klausa WHERE akan mempercepat performansi query
dibandingkan dengan menggunakan kalusa HAVING. Klausa WHERE selalu ditulis
setelah klusa FROM , sedangkan klausa HAVING selalu ditulis setelah
klausa GROUP BY. Bentuk penggunaannya :
select
nama_kolom from nama_tabel group by nama_kolom having kondisi;
4. 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
5. VIEW
Views dapat
juga disebut tabel bayangan tetapi buka temporary table, bukan juga merupakan
sebuah tabel yang asli. Tetapi meskipun demikian di dalam PostgreSQLview dapat
juga di SELECT, INSERT, UPDATE atau DELETE. 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. Bentuk
umum penggunaannya:
create view
nama_tabel as query;
Catatan :
Query diatas merupakan query untuk menampilkan data menggunakan select.
B.
HASIL PRAKTIKUM
Berikut ini
adalah hasil praktikum yang saya kerjakan dilab :
Dan ini
adalah hasil pekerjaan rumah :
1.
Cari nim atau id mahasiswa yang paling kecil, paling besar dan
rata-ratanya.
2. Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih
dari 12.
3.
Tampilkan jumlah mahasiswa berdasarkan fakultas
4.
Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang
lebih dari sama dengan 2 saja yang ditampilkan.
5.
Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya
“L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.
6.
Buatlah view untuk query penampilan data mahasiswa, fakultas.
Ambil berdasarkan nim, nama mahasiswa, nama fakultas.
C.
PERBANDINGAN
Saya rasa
tidak ada perbedaan dalam hal query dalam praktikum ini dari kedua DBMS
tersebut, semua query sama persis. ^_^
Untuk kelebihan
dan kemudahan, saya rasa MySQL yang memiliki nilai lebih, karena jika kita
mengalami kesalahan dalam penulisan query, kita bisa mengeditnya, atau jika
kuery nya kurang kita bisa lansung meng-klik dimana kekurangan query tersebut
dan menambahkannya, tapi pada SQL shell tidak bisa, kita akan mendapati error
dan harus mengulangnya kembali.
D.
KESIMPULAN
a.
Rangkuman
Fungsi AGREGAT adalah
fungsi yang disediakan oleh SQL untuk menghasilkan sebuah nilai berdasarkan
sejumlah data. Fungsinya sendiri adalah suatu kumpulan instruksi yang
menghasilkan sebuah nilai jika dipanggil.
GROUP BY merupakan fungsi
yang digunakan untuk melakukan pengelompokan dari perintah SELECT.
HAVING digunakan dalam
query yang memakai fungsi GROUP untuk memberikan kondisi.
penggunaan CASE akan
membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi
yang di dalamnya.
Views dapat juga disebut tabel
bayangan tetapi buka temporary table, bukan juga merupakan sebuah tabel yang
asli.
b.
Kritik & Saran
Mungkin
masih banyak yang belum saya bahas pada postingan ini, silahkan belajar dengan
sumber yang lain yang lebih lengkap.
c.
Manfaat pembaca
Pembaca
dapat mengetahui fungsi agregate, group by, having, case dan juga view.
Bagaimana query nya juga sudah ada diatas, untuk contohnya silahkan dilihat
hasil praktikum diatas dengan menggunakan 2 DBMS, walaupun query nya sama
persis. Semoga bisa membantu pembaca ^_^
E.
DAFTAR PUSTAKA
Kadir, Abdul. 2010. Mudah Mempelajari Database MySQL. Yogyakarta : Andi
Simarmata, Janner. 2007. Perancangan Basis Data. Yogyakarta : Andi
MODUL
PRAKTIKUM DBD 2014
LAPORAN PRAKTIKUM DBD ke 4
BAB IV
PENGENALAN OPERATOR
DASAR
Bahasan dan
Sasaran
a. Bahasan
1.
Operator dasar dalam standar query sql
2.
Operator dasar yang berhubungan dengan
manipulasi data.
b. Sasaran
1. Mahasiswa
memahami operator dasar dalam standar query sql.
2. Mahasiswa
memahami cara penggunaan operator dasar dalam hal manipulasi data.
1. DASAR TEORI
Pada pembahasan kali ini, akan dijelaskan tentang operator dasar
dalam standar query sql dan yang berhubungan dengan manipulasi data. contoh
data menggunakan ERD akademik.
Berikut selengkapnya :
Berikut selengkapnya :
1) AS
Dipakai untuk menampilkan kolom dengan nama alias (nama lain) dari
kolom yang asli untuk tujuan kemudahan. Struktur querynya :
SELECT [NAMA KOLOM] AS [NAMA KOLOM PENGGANTI] FROM [NAMA TABEL];
SELECT [NAMA KOLOM] AS [NAMA KOLOM PENGGANTI] FROM [NAMA TABEL];
2) AND dan OR
Ini merupakan kelanjuan yang lebih kompleks dari penggunaan WHERE
untuk menampilkan data yang akurat. Strukur querynya :
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] = ‘[PENCARIAN 1]’ AND [NAMA KOLOM] = ‘[PENCARIAN 2]’;
atau
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] = ‘[PENCARIAN 1]’ OR [NAMA KOLOM] = ‘[PENCARIAN 2]’;
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] = ‘[PENCARIAN 1]’ AND [NAMA KOLOM] = ‘[PENCARIAN 2]’;
atau
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] = ‘[PENCARIAN 1]’ OR [NAMA KOLOM] = ‘[PENCARIAN 2]’;
3) BETWEEN
& NOT BETWEEN
Berfungsi untuk menentukan lebar nilai dari
nilai terendah dan tertinggi. struktur querynya :
Between :
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] BETWEEN ‘[NILAI AWAL]’ AND/OR ‘[NILAI AKHIR]’;
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] BETWEEN ‘[NILAI AWAL]’ AND/OR ‘[NILAI AKHIR]’;
Not Between :
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] NOT BETWEEN
‘[NILAI AWAL]’ AND/OR ‘[NILAI AKHIR]’;
4) LIKE
Digunakan untuk mencari data yang hanya diwakili satu atau
beberapa huruf saja. struktur querynya :
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] LIKE ‘[OPERATOR]’;
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] LIKE ‘[OPERATOR]’;
5) DISTINCT
Untuk menampilkan data mahasiswa tanpa adanya data double
(duplikasi). Struktur querynya :
SELECT DISTINCT [NAMA KOLOM] FROM [NAMA TABEL];
SELECT DISTINCT [NAMA KOLOM] FROM [NAMA TABEL];
6) LIMIT dan
OFFSET
Limit : untuk menentukan jumlah baris yang akan ditampilkan yang
dihitung dari baris pertama
Offset : untuk menghilangkan baris sesuai dengan jumlah yang diberikan pada OFFSET
Struktur querynya :
SELECT * FROM [NAMA TABEL] ORDER BY [NAMA KOLOM] LIMIT 2;
dan
SELECT * FROM [NAMA TABEL] ORDER BY [NAMA KOLOM] OFFSET 2;
Offset : untuk menghilangkan baris sesuai dengan jumlah yang diberikan pada OFFSET
Struktur querynya :
SELECT * FROM [NAMA TABEL] ORDER BY [NAMA KOLOM] LIMIT 2;
dan
SELECT * FROM [NAMA TABEL] ORDER BY [NAMA KOLOM] OFFSET 2;
7) REGEXP
Regular Expression atau Regex, merupakan sebuah teknik atau cara
untuk mencari persamaan - presamaan string atau data dan memanipulasinya.
Biasanya lebih sering digunakan untuk string. Didalam PostgreSQL disimbolkan
dengan “~”.
Berikut struktur SQL untuk
pencarian data menggunakan REGEXP :
select * from nama_tabel where nama_kolom ~ ‘operator_regexp dan
patern’;
8) UNION,
EXCEPT dan INTERSECT
Hasil dari dua buah query dapat dikombinasikan dengan menggunakan
UNION, EXCEPT atau INTERSECT. UNION digunakan untuk menggabungkan hasil dua
buah query menjadi satu kolom. Berikut struktur query untuk UNION :
select nama_kolom from nama_tabel union select nama_kolom from
nama_tabel;
atau
select nama_kolom from nama_tabel union all select nama_kolom from
nama_tabel;
EXCEPT digunakan untuk menampilkan hanya query pertama saja,
sedangkan hasil query kedua dan yang sama dengan hasil query kedua tidak akan
ditampilkan. Berikut struktur query penggunaan EXCEPT :
select nama_kolom from nama_tabel except select nama_kolom from nama_tabel;
Perintah INTERSECT hanya akan menampilkan seluruh isi dari data
yangmemiliki kesaman diantara hasil kedua query tersebut. Berikut struktur
query penggunaan INTERSECT :
select nama_kolom from nama_tabel except select nama_kolom from
nama_tabel;
2. HASIL
PRAKTIKUM
A. Tugas di lab
Berikut ini adalah tugas yang saya kerjakan di lab kemarin :
B. Tugas Rumah
sebelum kita menyelesaikan tugas ini, kita perlu mempersiapkan tabel mahasiswa dan fakultas yang kemarin, dengan aturan tabel mahasiswa ditambah kolom gender dan diisi sampai 7 data mahasiswa. pertama kita tambah terlebih dahulu fakultas saintek karena kemarin telah kita hapus.kemudian tambah kolom gander pada tabel mahasiswa dan update
selanjutnya insert data mahasiswa
dan ini hasilnya :)
1. Berdasarkan tabel sebelumnya yaitu bab 3, tampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom secara permanen.
2. Tampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki
3. Suatu tabel mahasiswa terdapat 7 baris data mahasiswa. Tampilkan data mahasiswa dari nomor 3 sampai dengan 5, kemudian tampilkan juga data mahasiswa yang bukan dari nomor 3 sampai dengan 5 menggunakan between dan tanpa menggunakan between.
6. Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
7. Tampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.
9. Tampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh r atau boleh t atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti adi, atik, arif, adam dll.
10. Buatlah tabel dengan nama organ_dalam dan organ_luar
union :
except :intersect :
3. PERBANDINGAN
perbedaan yang saya temui dalam praktikum kali ini adalah ketika mengerjakan soal no 6, pada postgree bisa dengan query select * from mahasiswa where nama_mah ~'..n.a';
atau agar lebih valid select * from mahasiswa where nama_mah like '%a' and nama_mah like '..n%'
sedangkan pada mySQL tidak bisa menggunakan '.....', yang bisa menggunakan '__'
kemudian except dan intersect
Except :
SELECT kolom FROM namatabel1 EXCEPT SELECT kolom FROM namatabel2; (postgreeSQL)
SELECT * FROM namatabel1 WHERE kolom NOT IN (SELECT kolom FROM namatabel2); (MySQL)
Intersect :
SELECT kolom FROM namatabel1 INTERSECT SELECT kolom FROM namatabel2; (postgreeSQL)
SELECT * FROM namatabel1 WHERE kolom IN (SELECT kolom FROM namatabel2); (MySQL)
4. KESIMPULAN
A. Rangkuman
dari praktikum ini, saya menyimpulkan bahwa bahwa banyak sekali persamaan antara kedua DBMS tersebut, hanya sedikit perbedaan query antara keduanya, yaitu pada except dan intersect. kemudian antara MySQ dan Postgreee menurut saya MySQL lebih mudah, karena bisa di edit, sedangkan postgree ketika salah tidak bisa diulang query nya. ^_^
B. Kritik &
saran
praktikum ini cukup menyenangkan dan semoga bisa belajar lebih banyak lagi tentang operator dasar.
C. Manfaat
pembaca
Pembaca dapat mengetahui operator-operator dasar SQL secara umum. pembaca juga dapat mengetahui perbedaan penggunaan operator dasar dari kedua DBMS tersebut
5. DAFTAR
PUSTAKA
Kadir, Abdul. 2010. Mudah Mempelajari Database MySQL. Yogyakarta :
Andi
Simarmata, Janner. 2007. Perancangan Basis Data. Yogyakarta : Andi
http://lavant8.blogspot.com/2013/05/pengenalan-operator-dasar.html