0% menganggap dokumen ini bermanfaat (0 suara)
204 tayangan21 halaman

Laporan Hasil Basis Data Modul II

Dokumen tersebut membahas tentang tujuan dan landasan teori dari fungsi agregasi dan fungsi string dalam stored procedure dan function. Secara ringkas, dokumen menjelaskan berbagai fungsi agregasi seperti MIN, MAX, SUM, COUNT, AVG, GROUP BY, HAVING, dan CASE beserta contoh penggunaannya. Dokumen juga membahas tentang view dan langkah kerja praktikum menggunakan database restoran.

Diunggah oleh

Elfri Priandana
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
204 tayangan21 halaman

Laporan Hasil Basis Data Modul II

Dokumen tersebut membahas tentang tujuan dan landasan teori dari fungsi agregasi dan fungsi string dalam stored procedure dan function. Secara ringkas, dokumen menjelaskan berbagai fungsi agregasi seperti MIN, MAX, SUM, COUNT, AVG, GROUP BY, HAVING, dan CASE beserta contoh penggunaannya. Dokumen juga membahas tentang view dan langkah kerja praktikum menggunakan database restoran.

Diunggah oleh

Elfri Priandana
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 21

BAB I

TUJUAN DAN LANDASAN TEORI


1.1 Tujuan
I.1.1 Mahasiswa dapat menggunakan fungsi-fungsi agregasi dan fungsi-fungsi
string dalam Stored Procedure dan Function
I.2 Landasan Teori
A. Fungsi Agregasi
Fungsi Agregasi (aggregate function) adalah fungsi di dalam SQL
yang digunakan untuk melakukan perhitungan pada query. Pada umumnya
penggunaannya dikombinasikan dengan klausa GROUP BY untuk
menghasilkan rangkuman nilai yang dikelompokkan berdasarkan kolom
tertentu. Berikut ini fungsi-fungsi yang termasuk ke dalam fungsi agregat :
1. MIN ( )
Fungsi MIN ( ) berfungsi mengembalikan nilai minimal atau
terkecil dari suatu kolom pada tabel tertentu. Sebagai contoh jika kita
ingin mengetahui jumlah paling sedikit dari suatu tabel maka kita perlu
menuliskan perintah :
select min (nama_kolom) from <nama_tabel>;
Fungsi MIN ( ) diatas diterapkan pada kolom numerik, bagaimana
jika fungsi tersebut diaplikasikan untuk kolomyang bertipe STRING.
Jawabannya adalah Fungsi MIN ( ) akan mengembalikan nilai terkecil
dari STRING (berdasarkan urutan abjad).
2. MAX ( )
Fungsi MAX ( ) merupakan kebalikan dari fungsi MIN ( ), yang
berguna untuk memperoleh nilai maksimal atau nilai terbesar dari suatu
kolom yang terdapat dalam tabel tertentu. Sama seperti MIN ( ), funfsi
ini juga dapat diaplikasikan untuk kolom dengan tipe numerik maupun
STRING. Berikut contoh penggunaan fungsi MAX ( ) :
select max (nama_kolom) from <nama_tabel>;
3. SUM ( )
Fungsi SUM ( ) berguna untuk menjumlahkan nilai dari suatu
kolom dalam tabel tertentu. Sebagai contoh untuk menghitung jumlah
total dari suatu kolom. Dapat dituliskan perintah :
1

select sum (nama_kolom) from <nama_tabel>;


4. COUNT ( )
Berbeda dengan SUM ( ), fungsi COUNT ( ) berfungsi untuk
memperoleh banyaknya baris yang dihasilkan oleh suatu query. Contoh
query dengan mengambil semua kolom :
select count (*) from <nama_tabel>;
Contoh dengan mengambil beberapa kolom :
select count <nama_kolom1>,<nama_kolom2> from <nama_tabel>;
dengan kondisi tertentu :
select count (*) from <nama_tabel> where <kondisi>;
5. AVG ( )
Fungsi AVG ( ) berguna untuk menghitung nilai rata-rata dari

suatu kolom yang dihasilkan oleh query tertentu. Sebagai contoh dalam
menghitung nilai rata-rata dari jumlah dalam isi tabel. Maka perintah
SQL :
select avg (nama_kolom) from <nama_tabel> where <kondisi>;
6. GROUP BY
Group By merupakan fungsi untuk melakukan pengelompokkan

dari perintah SELECT. Group By diperlukan untuk menjalankan


agregat menjadi kelompok dari hasil query. Perintah yang digunakan
select <nama_kolom> from <nama_tabel> group by <nama_kolom>;
Untuk menampilkan data dengan yang dicari dan dihitung jumlahnya :
select <nama_kolom>, count(*) from <nama_tabel> group by
<nama_kolom>;
Untuk menampilkan jumlah dari suatu data :
select <nama_kolom1>, sum <nama_kolom2> as
<nama_penggantikolom2> from <nama_tabel> group by
<nama_kolom1>;
7. HAVING
HAVING terkait dengan Group BY, fungsinya untuk menentukan

kondisi dari Group By, dimana kelompok yang memenuhi kondisi saja
yang akan dihasilkan.

Perintah / struktur querynya adalah jumlah dari data :


select <nama_kolom1>,sum (nama_kolom2) from <nama_tabel>
group by <nama_kolom1> having sum (nama_kolom2) <kondisi>;
8. CASE
Proses dari CASE dapat dengan bebas mengontrol data yang

kembali dari query. Kata WHERE menggunakan perbandingan untuk


mengontrol pemilihan data, sedangkan CASE perbandingan dalam
bentuk output kolom. Dapat disimpulkan CASE akan membentuk
operasi tersendiri berupa sebuah kolom baru dengan data dari operasi di
dalamnya.
Struktur querynya :
Versi MySQL
CASE <ekspresi> when <nilai1> then <daftar_statement1>;
[when <nilai2> then < daftar_statement2>;]
....
[else <daftar statement>]
end CASE
Jika ekspresi yang diperiksa memiliki nilai yang sama
dengan nilai1, maka yang akan dieksekusi adalah daftar statement1.
Jika ekspresi sama dengan nilai2, maka yang akan dieksekusi
adalah daftar statement2, dan begitu seterusnya. Tetapi jika semua nilai
konstan yang didefinisikan tidak ada yang sama dengan ekspresi, maka
yang akan dieksekusi adalahdaftar statement yang terdapat pada bgian
else.
Versi Query PostgreSQL
Case when condition then result
[when...]
[else result] end
9. VIEW
View adalah objek dalam database yang berisi kumpulan kolom

yang dihasilkan dari perintah SELECT. Dengan kata lain yang lebih
sederhana, view adalah objek yang menyimpan hasil query, baik dari
3

satu tabel atau lebih. Dalam dunia database, view juga sering disebut
'tabel virtual'. Karena view sebenarnya tidak memiliki data . Data yang
ditampilkan oleh sebuah view diambil dari tabel-tabel aktual yang
disertakan dalam perintah SELECT. View juga dapat disebut tabel
bayangan tetapi bukantemporary table, bukan juga merupakan sebuah
tabel asli.
Membuat View dengan query :
create view <nama_tabel> as <query>;
View juga memiliki manfaat bagi kita diantaranya :
a. Akses data menjadi lebih mudah
b. View dapat digunakan untuk menampilkan rangkuman dari suatu

perhitungan tertentu.
c. View dapat menampilakan beberapa kolom atau beberapa baris saja
dari suatu tabel, tergantung dari kondisi yang didefinisikan.
d. View dapat digunakan untuk menampilkan data yang berasal dari
dua tabel atau lebih.
e. View daat digunakan untuk menampilkan data yang berbeda untuk
masing-masing user, sehingga setiap user hanya dapat melihat data
yang sesuai dengan hak aksesnya.
BAB II
LANGKAH KERJA
2.1 Tugas Praktikum
Pada Praktikum Modul 2 ini, tugas praktikum dikerjakan dengan
menggunakan database Restoran seperti Modul 1. Berikut adalah langkah
pengerjaannya :
a. Membuat Procedure untuk menampilkan NamaMenu yang paling banyak
dipesan.
b. Membuat Procedure untuk menampilkan NoMeja yang paling sering
ditempati oleh pengunjung.
c. Membuat Fungsi bernama BuatNoFaktur untuk membuat NoFaktur pada
tabel Pembayaran, dengan format : thn (2 digit) + bln (2 digit) + tgl (2
4

digit) + - + No Urut (2 digit). Misalnya untuk pembayaran pertama pada


tanggal

10

Oktober

2015

maka

No

Faktur

adalah

151010-

01.
d. Membuat Prosedur bernama HitungTotal untuk menghitung Total bagi
tabel Pembayaran (Total = (DetailPesan.Harga x DetailPesan.Banyak))
e. Membuat Fungsi untuk menghitung pendapatan restoran dalam sehari.

BAB III
PEMBAHASAN
3.1 Tugas Praktikum
Pada Praktikum Modul 2 ini, tugas praktikum dikerjakan dengan
menggunakan database Restoran seperti Modul 1. Berikut adalah pembahasan dari
coding program :
1. Nama Database

Perintah USE RESTORAN080 ini berfungsi untuk mengaktifkan atau


memasuki database RESTORAN080 yang telah dibuat sebelumnya. Perintah

SHOW DATABASES untuk menampilkan daftar nama database yang ada


pada MySQL.
2. Table Menu :

Perintah diatas merupakan perintah untuk membuat Table Menu yang


terdiri dari beberapa field diantaranya Nama Menu, Jenis Menu dan Harga.
Nama Menu dan Jenis Menu menggunakan tipe data varchar, Tipe data varchar
adalah tipe data karakter yang panjangnya tidak tetap (variable-length)
sedangkan Harga menggunakan tipe data decimal, Decimal adalah tipe data
yang digunakan untuk angka/bilangan pecahan. Primary key berguna untuk
memastikan bahwa setiap baris data pada tabel bersifat unik, pada Database
MySql, Primary Key dipergunakan pada kolom-kolom sebagai pembeda.
3. Table Meja :

Perintah diatas merupakan perintah untuk membuat Table Meja yang


terdiri dari beberapa field diantaranya No Meja dan Kapasitas, keduanya
menggunakan tipe data Varchar, Tipe data varchar adalah tipe data karakter
yang panjangnya tidak tetap (variable-length). No Meja adalah Primary Key,
Primary key berguna untuk memastikan bahwa setiap baris data pada tabel
bersifat unik, pada Database MySql Primary Key dipergunakan pada kolomkolom sebagai pembeda.
4. Table Pembayaran :

Perintah diatas merupakan perintah untuk membuat Table Pembayaran


yang terdiri dari beberapa field diantaranya No Faktur, Tanggal, No Meja,
Jumlah Pemesanan, Total, Diskon dan Total Pembayaran. No Faktor dan No
Meja menggunakan tipe data varchar, Tipe data varchar adalah tipe data
karakter yang panjangnya tidak tetap (variable-length). Jumlah Pesanan, Total

dan Total Pesanan menggunakan tipe data integer, Integer merupakan tipe data
berupa bilangan bulat.
Diskon menggunakan tipe data decimal, Decimal adalah tipe data yang
menampung data pecahan. Tanggal menggunakan tipe data date, Date adalah
nilai data untuk tanggal. No Faktur adalah primary key yang artinya field data
pada tabel bersifat unik (tidak ada data yang sama). Dan No Meja Foreign Key,
Foreign Key adalah kolom atau field pada suatu tabel yang berfungsi sebagai
tabel kunci dari tabel lain.
5. Table Detail Pesan :

Perintah diatas merupakan perintah untuk membuat Table Detail Pesan


yang terdiri dari beberapa field diantaranya No Faktur, No Pesan, Nama Menu,
Banyak dan Biaya. No Faktur, No Pesan, Nama Menu menggunakan tipe data
varchar, Tipe data varchar adalah tipe data karakter yang panjangnya tidak
tetap (variable-length). Banyak dan Biaya menggunakan tipe data integer.
Integer merupakan tipe data berupa bilangan bulat. No Pesan adalah primary
key yang artinya field data pada tabel bersifat unik (tidak ada data yang sama).
No Faktur dan Nama Menu adalah Foreign Key, Foreign Key adalah kolom
atau field pada suatu tabel yang berfungsi sebagai tabel kunci dari tabel lain.
Show tables, fungsi ini digunakan untuk melihat table apa saja yang ada di
dalam suatu database.
Jalankan program dengan menekan tombol F9 berikut adalah hasilnya :

6. Mengisi data pada Table Menu :

Insert digunakan untuk mengisi atau memasukkan data pada tabel.


Tabel yang akan diisi adalah Table Menu yang kolomnya terdiri dari :
a. Nama Menu : Bakso, Mie Ayam, dan Es Jeruk.
b. Jenis Menu : Makanan dan minuman.
c. Harga : 15.000, 14.000, dan 3000.
Select * From Menu adalah perintah untuk menampilkan data pada
Tabel Menu. Jalankan program dengan menekan tombol F9 berikut adalah
hasilnya :

7. Mengisi data pada Table Meja :

Insert digunakan untuk mengisi atau memasukkan data pada tabel.


Tabel yang akan diisi adalah Table Meja yang kolomnya terdiri dari :
a. No Meja : 1, 2, dan 3.
b. Kapasitas : 6, 4, dan 2.
Select * From Meja adalah perintah untuk menampilkan data pada
Tabel Meja. Jalankan program dengan menekan tombol F9 berikut adalah
hasilnya :

8. Mengisi data pada Table Pembayaran :

Insert digunakan untuk mengisi atau memasukkan data pada tabel.


Tabel yang akan diisi adalah Table Pembayaran yang kolomnya terdiri dari :
a)
b)
c)
d)
e)
f)
g)

NoFaktur : F1, F2, dan F3


Tanggal : 16 s/d 18-10-2016
NoMeja : 3, 3, dan 2
JumlahPesanan : 10, 4, dan 5
Total : 150.000, 56.000, dan 15.000
Diskon : 50, 10, dan 0
TotalPembayaran : 75.000, 50.000 dan 15.000
Select * From Pembayaran adalah perintah untuk menampilkan data

pada Tabel Pembayaran. Jalankan program dengan menekan tombol F9 berikut


adalah hasilnya :

9. Mengisi data pada Table Detail Pesan :

Insert digunakan untuk mengisi atau memasukkan data pada tabel.


Tabel yang akan diisi adalah Table DetailPesan yang kolomnya terdiri dari :
a)
b)
c)
d)
e)

NoFaktur : F1, F2, dan F3


NoPesan : 1, 2, dan 3
NamaMenu : Bakso, Mie Ayam, dan Es Jeruk
Banyak : 10, 4, dan 5
Biaya : 150.000, 56.000, dan 15.000
Select * From DetailPesan adalah perintah untuk menampilkan data

pada Tabel DetailPesan. Jalankan program dengan menekan tombol F9 berikut


adalah hasilnya :

10. Procedure menampilkan NamaMenu yang paling banyak dipesan :

Perintah

diatas

adalah

stored

procedure

NamaMenu.

Select

NamaMenu adalah perintah untuk menampilkan data dari kolom NamaMenu.


MAX (banyak) AS Jumlah Pemesanan FROM DetailPesan fungsi ini
digunakan untuk mancari nilai terbesar atau nilai maksimum dari kolom
Banyak dari

tabel DetailPesan. Berikut adalah query untuk

memanggil prosedure NamaMenu :


Call NamaMenu ;
Jalankan program dengan menekan tombol F9 berikut adalah hasilnya :

10

11. Procedure untuk menampilkan NoMeja yang paling sering ditempati


oleh pengunjung :

Perintah diatas adalah stored procedure NoMeja. Select NoMeja adalah


perintah untuk menampilkan data dari kolom NoMeja. COUNT(nomeja) AS
'Berapa Kali' FROM Pembayaran GROUP BY NoMeja fungsi ini
digunakan untuk menghitung jumlah record (baris) dari kolom NoMeja dari
tabel Pembayaran. Berikut adalah query untuk memanggil
prosedure NoMeja :
Call NoMeja ;
Jalankan program dengan menekan tombol F9 berikut adalah hasilnya :

12. Fungsi bernama BuatNoFaktur :

11

Fungsi BuatNoFaktur digunakan untuk membuat NoFaktur pada tabel


Pembayaran, dengan format: thn (2 digit) + bln (2 digit) + tgl (2 digit) + - +
No Urut2 digit. Misalnya untuk pembayaran pertama pada tanggal 16 Oktober
2016 maka No Faktur adalah 161016-01. Berikut adalah query untuk
memanggil fungsi BuatNoFaktur :
SELECT BuatNoFaktur('2016-10-16');
Jalankan program dengan menekan tombol F9 berikut adalah hasilnya :

13. Prosedur bernama HitungTotal :

12

Perintah diatas adalah stored procedure HitungTotal. Pembayaran


adalah perintah untuk menampilkan data dari kolom Pembayaran'. SUM
(menu.harga*detailpesan.banyak)
pembayaran

JOIN

detailpesan.nofaktur

AS

detailpesan
JOIN

menu

'Total
ON
ON

Pembayaran'

FROM

pembayaran.nofaktur
menu.namamenu

=
=

detailpesan.namamenu WHERE pembayaran.tanggal=tgl GROUP BY


nofaktur digunakan untuk menghitung Total bagi tabel Pembayaran (Total =
(DetailPesan.Harga x DetailPesan.Banyak)) Berikut adalah query untuk
memanggil procedure HitungTotal :
CALL HitungTotal('2016-10-17');
Jalankan program dengan menekan tombol F9 berikut adalah hasilnya :

14. Fungsi untuk menghitung pendapatan restoran dalam sehari :

Perintah diatas yaitu penampil hasil dari pendapatan perhari dari tabel
pembayaran, perintah tersebut melakukan penampil pemasukan harian dari

13

tanggal yang ditentukan. Berikut adalah query untuk memanggil Fungsi


PendapatanPerhari :
SELECT PendapatanPerhari('2016-10-18');
Jalankan program dengan menekan tombol F9 berikut adalah hasilnya

BAB IV
KESIMPULAN

14

Dari hasil praktikum modul 2 ini dapat ditarik kesimpulan :


1. Fungsi operator aritmatika yaitu untuk melakukan perhitungan secara
aritmatik. Guna dari operator aritmatik yaitu sangat membantu dalam
menampilkan kalkulasi nilai.
2. Fungsi Perintah Truncate hampir sama dengan perintah delete akan tetapi
Truncate menghapus semua baris pada tabel dan hanya meninggalkan struktur
dari tabel itu sendiri.Truncate lebih ke arah DDL. Truncate tidak dapat di
Rollback. Truncate tidak dapat dilakukan pada tabel yang mengandung
hubungan constraint pada tabel parent. Untuk melakukan truncate harus
mendisable constraint terlebih dahulu.
3. Perintah SUM berfungsi untuk menghitung total dari nilai (nilai kolom, literal,
parameter, atau nilai hasilperhitungan) yang menggunakan dataset. Deskripsi
lainnya hampir sama dengan fungsimax.
4. Perintah group by berfungsi untuk mengelompokan data berdasarkan suatu
kolom. Sebagai contoh, suatu querydengan fungsi sum menghasilkan record
tunggal yang merupakan total seluruh nilai darikolom dalam fungsi sum
tersebut. Tetapi jika klausa group by ditambahkan, maka fungsisum melakukan
penjumlahan sekali untuk masing-masing kelompok record . Klausa group by
diperlukan jika kolom aggregate dan non-aggregate dimasukkan dalam
pernyataan select yang sama.

BAB V
DAFTAR PUSTAKA

15

Modul praktikum Basis Data II. Universitas Palangka Raya, Fakultas Teknik,
Jurusan Teknik Informatika.
Haeny, 2014. Praktikum Desain Basis Data Agregasi
(Online http://haeny-informatic.blogspot.co.id, Diakses : 25 Oktober
2016)
Dianayun, 2011. Pengantar Dasar Database 2
(Online http://dianayun307013.blogspot.co.id, Diakses : 25 Oktober 2016)
Dwi Umi Wahyuni, 2014. Fungsi Agregasi dan View
(Online http://dwiumiwahyuni.blogspot.co.id, Diakses : 25 Oktober 2016)
Putri, 2015. Fungsi-fungsi Pada MySQL
(Online http://putrishareedu.blogspot.co.id, Diakses : 25 Oktober 2016)
Dwilogica, 2014. BAB I Landasan Teori Operator Agregasi
(Online http://dwilogica.blogspot.co.id, Diakses : 25 Oktober 2016)

BAB VI
LAMPIRAN

16

17

18

19

20

21

Anda mungkin juga menyukai