Loading documents preview...
LAPORAN MODUL 4 PRAKTIKUM BASIS DATA
Disusun untuk Memenuhi Matakuliah Praktikum Basis Data Yang Dibimbing oleh Triyanna Widiyaningtyas, S.T, M.T
Disusun Oleh: ADITYA RAHMAN
(160535611825)
FENTYKA AYU ROSYANI PUTRI
(160535611811)
RADITHA ULFAH
(150535602259)
S1 TI OFF A 2016
UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO PRODI TEKNIK INFORMATIKA MARET 2017
1.
TUJUAN
Memahami fungsi-fungsi agregat dan penggunaannya. Memahami operasi pengelompokan data. Mampu menyelesaikan kasus-kasus yang melibatkan penggunaan fungsifungsi
agregat Mampu menyelesaikan kasus-kasus yang melibatkan penggunaan fungsifungsi agregat dan pengelompokan.
2.
DASAR TEORI
1. Fungsi Agregat Fungsi Agregat (aggregate) adalah fungsi yang menerima koleksi nilai dan mengembalikan nilai tunggal sebagai hasilnya. Standar ISO mendefinisikan lima jenis fungsi agregat. Fungsi Deskripsi Mengembalikan jumlah (banyaknya atau kemunculannya) COUNT nilai di suatu kolom. Mengembalikan jumlah (total atau sum) nilai disuatu kolom. SUM Mengemblikan rata-rata (avarage) nilai di suatu kolom. AVG Mengembalikan nilai terkecil (minimal) di suatu kolom. MIN Mengembalikan nilai terkecil (maksimal) di suatu kolom. MAX 2. Keyword DISTINCT Keyword Distinct dapat dimanfaatkan untuk mengeliminasi duplikasi kemunculan data yang sama. Sintaks keyword DISTINCT diperlihatkan sebagai berikut :
3. Pengelompokkan Operasi non-trivial lainnya didalam pengambilan data adalah pengelompokkan. Operasi ini dipresentasikan melalui klausa GROUP BY dan diikuti nama field. Sintaks klausa GROUP BY diperlihatkan sebagai berikut :
4. Having
Pada saat bekerja dengan fungsi agregat, terkadang diperlukan kalusa WHERE untuk menspesifikasikan hasil. Sayangnya, klausa WHERE tidak boleh mengandung fungi agregat. Sebagai solusi, kita bisa memanfaatkan kalusa HAVING. Penggunaan kalusa ini mirip WHERE. Sintaks klausa HAVING diperlihatkan sebagai berikut:
3.
LATIHAN Dalam latihan ini, buatlah database “Modul3_NO.urutKelompok”. kemudian buatlah tabel matakuliah dengan ketentuan sebagai berikut : Field
Type
Field size
kode_mk
Varchar
6
nama_mk
Varchar
30
Nama matakuliah
Sks
Int
1
Sks
Semester
Int
1
semester
name
Description As primary key, kode matakuliah
Setelah membuat tabel matakuliah masukkan data dibawah ini : kode_mk
nama_mk
sks
Semester
PTI447
Praktikum Basis
1
3
1
3
3
5
Data TIK342
Praktikum Basis Data
PTI333
Basis Data
Terdistribusi TIK123
Jaringan Komputer
2
5
TIK333
Sistem Operasi
3
5
PTI123
Grafika Komputer
3
5
PTI777
Sistem Informasi
2
3
QUERY CREATE DATABASE `modul4_12`; CREATE TABLE `modul4_12`.`matakuliah` ( `kode_mk` VARCHAR(6) NOT NULL , `nama_mk` VARCHAR(30) NOT NULL , `sks` INT(1) NOT NULL , `semester` INT(1) NOT NULL ) ENGINE = InnoDB;
ALTER TABLE `matakuliah’ ADD PRIMARY KEY(`kode_mk`); INSERT
INTO
`semester`)
`modul4_12`.`matakuliah` VALUES
('PTI447',
(`kode_mk`,
'Praktikum
Basis
`nama_mk`, Data',
`sks`,
'1',
'3'),
('TIK342', 'Praktikum Basis Data', '1', '3'), ('PTI333', 'Basis Data Terdistribusi', '3', '5'), ('TIK123', 'Jaringan Komputer', '2', '5'), ('TIK333',
'Sistem
Informasi',
'3',
'5'),
('PTI123',
'Grafika
Komputer', '3', '5'), ('PTI777', 'Sistem Informasi', '2', '3')
a. Mengeliminasi Duplikasi Data Langkah-langkah -
Setelah database dan tabel sudah selesai dibuat, dan anda telah memasukkan data diatas kedalam tabel matakuliah,
-
Maka setelah itu masuk ke menu SQL Editor pada PhpMyAdmin
-
Setelah itu tuliskan syntax yang sama seperti query dibawah
-
Setelah itu klik GO
-
Maka akan muncul field nama_mk beserta data yang sudah kita masukkan tadi dengan urutan dari huruf A sampai Z
-
Setelah itu tetap pada syntax yang sama hanya menambahkan DISTINCT setelah kata select.
-
Pada perbedaan syntax pertama dana kedua terletak pada tampilan setelah di GO
-
Pada tampilan 2 syntax ke 2 data yang muncul hanya 6 padahal data yang kita masukan sebelumnya ada 7 karena pada syntax ke 2 tidak
menampilkan data yang sama seperti “praktikum basis data” yg dimunculkan hanya 1. -
Syntax ke 2 juga diurutkan dari huruf A sampai Z
Query Syntax 1 SELECT nama_mk FROM matakuliah ORDER by nama_mk; Syntax 2 SELECT DISTINCT nama_mk FROM matakuliah ORDER by nama_mk;
Printscreen Syntax 1
Syntax 2
b. Mendapatkan Jumlah Data Langkah-langkah -
Tuliskan syntax yang ada dibawah ini
-
Setelah itu klik GO
-
Dalam latihan ini kita menampilkan jumlah data yang ada pada tabel matakuliah
-
Field yang di tampilkan yaitu field yang bernama jumlah_record karena kita tadi memasukkan “as jumlah_record”
Query SELECT COUNT(*) AS jumlah_record FROM matakuliah;
Printscreen
c. Mendapatkan Jumlah Total Langkah-langkah
-
Tuliskan syntax yang ada dibawah ini
-
Setelah itu klik GO
-
Dalam latihan ini kita menampilkan jumlah keseluruhan data yang ada pada field sks
-
Field yang di tampilkan yaitu field yang bernama total_sks karena kita tadi memasukkan “as total_sks”
Query SELECT SUM(sks) AS total_sks FROM matakuliah;
Printscreen
d. Mendapatkan Nilai Rata-rata Langkah-langkah -
Tuliskan syntax yang ada dibawah ini
-
Setelah itu klik GO
-
Dalam latihan ini kita menampilkan nilai rata-rata data yang ada pada field sks
-
Field yang di tampilkan yaitu field yang bernama rata_rata karena kita tadi memasukkan “as rata_rata”
Query SELECT AVG(sks) AS rata_rata FROM matakuliah;
Printscreen
e. Mendapatkan Nilai Minimum Langkah-langkah -
Tuliskan syntax yang ada dibawah ini
-
Setelah itu klik GO
-
Dalam latihan ini kita menampilkan nilai minimum data yang ada pada field sks
-
Field yang di tampilkan yaitu field yang bernama min_sks karena kita tadi memasukkan “as min_sks”
Query SELECT MIN(sks) AS min_sks FROM matakuliah;
Printscreen
f. Mendapatkan Nilai Maksimum Langkah-langkah -
Tuliskan syntax yang ada dibawah ini
-
Setelah itu klik GO
-
Dalam latihan ini kita menampilkan nilai maksimum data yang ada pada field sks
-
Field yang di tampilkan yaitu field yang bernama max_sks karena kita tadi memasukkan “as max_sks”
Query SELECT MAX(sks) AS max_sks FROM matakuliah;
Printscreen
g. Pengelompokkan Data Langkah-langkah -
Tuliskan syntax yang ada dibawah ini
-
Setelah itu klik GO
-
Dalam latihan ini kita menampilkan field semester yang dimana data yang ditampilkan hanya 3 dan 5 saja, setelah itu kita jumlah kan field semester berdasarkan data seperti semester 3 di field semester hanya ada 3 dan semester 5 di field semester berisi 4 data.
-
Untuk menampilkan angka 3 dan 4 diatas tadi kita menggunakan field jumlah seperti “AS jumlah”
Query SELECT semester, COUNT (semester) AS jumlah FROM matakuliah GROUP BY(semester)
Printscreen
h. Menyaring Fungsi Agregat Langkah-langkah -
Tuliskan syntax yang ada dibawah ini
-
Setelah itu klik GO
-
Dalam latihan ini kita menampilkan field semester yang dimana data yang ditampilkan hanya angka 5 saja. Karena perintah nya adalah semester yang memiliki jumlah lebih dari 3. Dan jumlah yang lebih dari 3 tadi adalah semester 5 karena berjumlah 4
-
syntax ini tidak berbeda dengan yang sebelumnya hanay menambahkan HAVING
Query SELECT semester, COUNT (semester) AS jumlah FROM matakuliah GROUP BY(semester) HAVING jumlah > 3 Printscreen
4.
TUGAS PRAKTIKUM
Pada praktikum kali ini kita dapat membuat tabel yang bernama tabel penjualan barang dengan ketentuan sebagai berikut No 1 2 3 4 5
Nama Field Kode_buku Jenis_buku Nama_buku harga Stok
TipeData Varchar Varchar Varchar Int Int
Field size 6 15 50 6 2
Keterangan Primary key, kode buku Jenis buku Nama buku Harga buku Stok buku
Untuk data pada tabel penjualan kita dapat memasukkan data dibawah ini :
Query CREATE TABLE pb ( Kode_buku VARCHAR(6), Jenis_buku VARCHAR(15), Nama_buku VARCHAR(50), harga INT(6), stok INT(2), primary key(kode_buku) );
INSERT INTO `modul4_12`.`pb` (`kode_buku`, `jenis_buku`, `nama_buku`, `harga`, `stok`) VALUES ('NVL447', 'Novel', 'Bumi Manusia', '53500', '10'), ('NVL777', 'Novel', 'Laskar Pelangi', '62200', '15'), ('TKS342', 'Teks', 'Matematika Diskrit', '80500', '9'), ('KMK123', 'Komik', 'Naruto Vol. 60', '25500', '1'), ('KMK333', 'Komik', 'HxH vol. 12', '24250', '5'), ('TKS778', 'Teks', 'Java Mobile', '150000', '1'), ('KMS333', 'Kamus', 'Kamus Bhs. Inggris', '35000', '18');
4.1. TUGAS PRAKTIKUM 1 4.1.1. Query SELECT *, MIN(harga) FROM penjualan_barang GROUP BY jenis_buku;
4.1.2. Printscreen
4.2. TUGAS PRAKTIKUM 2 4.2.1. Query SELECT jenis_buku, SUM(stok) AS total_stok FROM penjualan_barang GROUP BY jenis_buku HAVING total_stok < 10;
4.2.2. Printscreen
4.3. TUGAS PRAKTIKUM 3 4.3.1. Query SELECT
COUNT(DISTINCT(nama_mk))
AS
jumlah_matakuliah
FROM
matakuliah;
4.3.2. Printscreen
4.4. TUGAS PRAKTIKUM 4 4.4.1. Query SELECT SUM(sks) AS total_sks FROM matakuliah WHERE kode_mk NOT LIKE "PTI%";
4.4.2. Printscreen
5.
ANALISA Dalam praktikum kali ini kita membuat database dengan nama modul4_12 terdapat 2 tabel yakni tabel matakuliah dan tabel penjualan barang(pb). Dalam tugas praktikum 1 dan 2 kita memakai tabel penjualan barang. Untuk tugas pertama kita disuruh untuk menampilkan data buku dengan ketentuan data buku yang ditampilkan harus dengan harga yang termurah untuk setiap jenis buku. Untuk tugas praktikum 2 kita disuruh menampilkan jenis buku dan stok buku yang tersisa dengan ketentuan stok buku tidak boleh melebihi 10. Dalam tugas praktikum 3 dan 4 kita menggunakan table matakuliah. Dalam praktikum 3 kita disuruh menampilkan jumlah keseluruhan jumlah matakuliah. Dalam praktikum 4 kita disuruh menampilkan kode_mk dan sks dengan ketentuan kode matakuliah yang ditampilkan hanya “TIK” dan untuk sks jumlah dari field sks itu sendiri.
6.
TUGAS RUMAH 5.1. TUGAS RUMAH 1 5.1.1. Query SELECT nama_buku, stok, SUM((harga*stok)/stok) AS "rata-rata" FROM penjualan_barang GROUP BY kode_buku HAVING stok > 10;
5.1.2. Printscreen
5.2. TUGAS RUMAH 2 5.2.1. Langkah-langkah 5.2.2. Query SELECT nama_buku, MAX(harga) FROM penjualan_barang WHERE jenis_buku NOT LIKE "Komik" AND harga < 75000 AND stok > 16;
5.2.3. Printscreen
5.3. TUGAS RUMAH 3 5.3.1. Langkah-langkah 5.3.2. Query SELECT COUNT(nama_mk) AS jumlah FROM matakuliah WHERE nama_mk LIKE "%Sistem%" HAVING jumlah > 3;
5.3.3. Printscreen
7.
ANALISA pada praktikum kali ini kita memakai dua table yaitu table penjualan barang dan tabel matakuliah. Pada tugas rumah pertama kita disuruh mencari rata penghasilan kotor dari tabel penjualan barang dimana stok nya harus diatas 10, disini kita dapat memakai syntax yang ada diatas atau pun dapat memakai syntax seperti dibawah ini:
Untuk hasil nya pun tetap sama seperti yg ada diatas,yang akan muncul seperti Kamus Bhs. Inggris dan Laskar pelangi dimana rata rata terdapat rata-rata di setiap nama buku. Untuk tugas rumah kedua yaitu kita disuruh untuk mencari harga buku terbesar yg bukan komik dan dengan hargayg dibawah 75000 dan dengan stok diatas 16, disini kita dapat memakai MAX untuk mendapatkan harga terbesar dari field harga dengan menyertakan kata NOT LIKE “KOMIK” dari jenis buku di syntax kedua ini kita memakai kata HAVING kita hanya memaki kata AND untuk harga yang kurang dari 75000 dan menggunakan kata AND untuk stok yang diatas 16, disini kata AND dapat diperbanyak sesuai perintah. Untuk tugas rumah 3 kita disuruh menampilkan nama matakuliah yang mengandung kata SISTEM dengan jumlah lebih dari 3, tapi pada saat kita memasukkan data ternyata tidak ada buku yang mengandung kata SISTEM dengan jumlah lebih dari 3 maka tampilan yang akan keluar yaitu empty set atau tidak ada data yang tersedia. 8.
KESIMPULAN Dalam praktikum kali ini kita dapat tahu bahwa apasaja yang ada dalam fungsi Agregat itu sendiri, seperti SUM untuk mengembalikan jumlah ( menjumlahkan ), MAX untuk mendapatkan nilai terbesar, MIN untuk mendapatkan nilai terkecil, AVG untuk
mendapatkan nilai rata-rata, COUNT unutk mengembalikan jumlah nilai di suatu kolom. Untuk mengelompokan data kita dapat memakai GROUP BY, dll. Dalam fungsi agregat ini kita bisa memakai kata WHERE, kata WHERE sendiri bisa dapat digantikan dengan kata HAVING yang fungsinya sama seperti kata WHERE. Dan apabila terdapat suatu perintah yang menyertai rumus dapat dimasukkan kedalam fungsi agregat, contoh dapat dilihat pada query tugas rumah satu. Sesudah kata SUM terdapat rumus yang menyatakan bahwa harga buku dikali dengan stok buku setelah itu dibagi dengan stok buku ((harga*stok)/stok). Pada fungsi agregat dapat juga memakai NOT LIKE seperti pada query tugas rumah 2. 9.
RUJUKAN Modul 4 fungsi agregat