Laporan 4 Fungsi Agregat

Unduh sebagai docx, pdf, atau txt
Unduh sebagai docx, pdf, atau txt
Anda di halaman 1dari 16

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.
SUM Mengembalikan jumlah (total atau sum) nilai disuatu kolom.
AVG Mengemblikan rata-rata (avarage) nilai di suatu kolom.
MIN Mengembalikan nilai terkecil (minimal) di suatu kolom.
MAX Mengembalikan nilai terkecil (maksimal) di suatu kolom.

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 Description
name
As primary key, kode
kode_mk Varchar 6
matakuliah
nama_mk Varchar 30 Nama matakuliah
Sks Int 1 Sks
Semester Int 1 semester

Setelah membuat tabel matakuliah masukkan data dibawah ini :


kode_mk nama_mk sks Semester
PTI447 Praktikum Basis 1 3
Data
TIK342 Praktikum Basis 1 3
Data
PTI333 Basis Data 3 5
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 `modul4_12`.`matakuliah` (`kode_mk`, `nama_mk`, `sks`,
`semester`) VALUES ('PTI447', 'Praktikum Basis Data', '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 Nama Field TipeData Field size Keterangan


1 Kode_buku Varchar 6 Primary key, kode buku
2 Jenis_buku Varchar 15 Jenis buku
3 Nama_buku Varchar 50 Nama buku
4 harga Int 6 Harga buku
5 Stok Int 2 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

Anda mungkin juga menyukai