Pages

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 RD ke 3

Minggu, 12 Oktober 2014

MINIMISASI FUNGSI ALJABAR BOOLEAN











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 :
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];

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]’;

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]’;
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]’;

5)      DISTINCT
Untuk menampilkan data mahasiswa tanpa adanya data double (duplikasi). Struktur querynya :
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;

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.




4. Tampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.

5. Tampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.

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.

8.  Tampilkan data mahasiswa 3 baris saja.

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