Anda di halaman 1dari 37

MODUL PRAKTIKUM

BASIS DATA I

Disusun oleh: Tim Dosen Basis Data 1

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2023
TATA TERTIB DAN TATA LAKSANA PRAKTIKUM
JURUSAN/PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK UPR

TATA TERTIB
1. Praktikan WAJIB mengikuti semua modul praktikum.
2. Praktikan hanya boleh tidak mengikuti praktikum 1 (satu) kali DENGAN ATAU
TANPA surat izin dari jumlah pertemuan praktikum.
3. Praktikan yang lebih dari 1 (satu) kali tidak mengikuti praktikum, tidak
diperbolehkan untuk mengikuti praktikum untuk modul-modul praktikum selanjutnya
dan NILAI AKHIR PRAKTIKUM adalah NOL.
4. Praktikan wajib hadir 15 menit sebelum praktikum dimulai.
5. Tidak diperbolehkan saling bekerjasama.
6. Dilarang menggunakan kaos oblong dan sandal jepit selama praktikum. Bagi yang
melanggar poin ini, tidak diperbolehkan mengikuti praktikum.

TATA LAKSANA
1. Sebelum praktikum dimulai, setiap praktikan wajib mengumpulkan LAPORAN
RENCANA PRAKTIKUM (tulis tangan, maksimum/paling banyak 1 halaman)
dan LAPORAN HASIL PRAKTIKUM modul sebelumnya.
2. Jika praktikan tidak melaksanakan tata laksana poin 1, maka TIDAK
DIPERBOLEHKAN MENGIKUTI PRAKTIKUM.
3. Setiap modul praktikum, akan dilakukan Pre-test.
4. Pada saat praktikum hanya membawa alat tulis, modul dan Laporan. HP, Laptop &
USB disimpan dan tas letakan didepan.
5. Pada saat praktikum tidak diizinkan mengakses Internet.
6. Format laporan meliputi:
Laporan Rencana Praktikum :
Tujuan Praktikum dari modul yang akan dilaksanakan
Hal-hal yang akan dilakukan selama praktikum.
Laporan Hasil Praktikum :
Halaman Depan
Bab I. Tujuan dan Landasan Teori
Bab II. Pembahasan
Bab III. Kesimpulan
Daftar Pustaka
Lampiran (disertai Laporan Rencana Praktikum)

7. Penilaian Laporan Hasil Praktikum :


Bab I. Tujuan dan LandasanTeori Nilai 10
Bab II. Pembahasan Nilai 60
Bab III. Kesimpulan Nilai 20
Daftar Pustaka Nilai 5
Lampiran Nilai 5
Total 100

8. Praktikan yang mengabaikan format penulisan poin 6, nilai akan dikurangi 5


untuk setiap kesalahan.
9. PenilaianAkhirPraktikum :
Pre-Test : 10%
Praktikum : 50%
Laporan Praktikum : 15%
Responsi : 25%
Total
100%

10. PenilaianAkhir Mata Kuliah:


Kuliah, meliputi:
Tugas : 20%
UTS : 30%
Praktikum : 50%
Total : 50%
UAS : 50%
Total : 100%
MODUL I
PENGENALAN DAN PERANCANGAN BASIS DATA

A. Tujuan
Setelah menyelesaikan modul ini, praktikan diharapkan dapat:
1. Mengenal lingkungan kerja MySQL
2. Mengenal format perintah di MySQL
3. Membuat database dan tabel dengan DDL, yang sinkron dengan
ERD yang dibuat.

B. Dasar Teori
1. Environment Database
Database Environment (Lingkungan Basis Data) adalah
infrastruktur teknologi yang diperlukan untuk mendukung
pelaksanaan DBMS (Database Management System) dan
penyimpanan dari database yang dikelola, termasuk perangkat keras
komputer, mass storage, sistem operasi, perangkat lunak DBMS,
data aktual, dan deskripsi data.
Komponen-komponen dari Database Environment :

 CASE Tools (alat bantu rekayasa piranti


lunak)
 Repository (pusat penampungan metadata / gudang data)
 Database Management System (software untuk mengatur
database)
 Database (tempat penampungan data)
 Application Programs (software yang akan memakai data dari
database)
 User Interface (desain teks dan grafis yang akan ditampilkan
kepada user)
 Data Administrators (orang yang bertanggung jawab dalam
melakukan perawatan pada database)
 System Developers (orang yang bertanggung jawab dalam
mendesain database dan software)
 End Users (orang yang menggunakan aplikasi dan
database)

2. MySQL
MySQL adalah suatu perangkat lunak database relasi
(Relational Database Management System atau RDBMS), seperti
halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL
dikembangkan sekitar tahun 1994 oleh sebuah perusahaan
pengembang software dan konsultan database bernama MYSQL
AB yang berada di Swedia. Waktu itu perusahaan tersebut masih
bernama TcX DataKonsult AB, dan tujuan awal dikembangkannya
MySQL adalah untuk mengembangkan aplikasi berbasis web pada
client. MySQL menyebut produknya sebagai database open source
terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di
platform Web, dan baik untuk kategori open source maupun umum,
MySQL adalah database yang paling banyak dipakai. Menurut
perusahaan pengembangnya, MySQL telah terpasang di sekitar 3
juta komputer. Puluhan hingga ratusan ribu situs mengandalkan
MySQL bekerja siang malam memompa data bagi para
pengunjungnya.
Berikut adalah ketentuan-ketentuan memberi perintah pada
MySQL:
 Setiap perintah harus diakhiri dengan tanda titik koma , kecuali
untuk perintah tertentu, misal : quit
 Setiap perintah akan disimpan dalam buffer (memori
sementara) untuk menyimpan histori perintah-perintah
yang pernah diberikan.
 Perintah dapat berupa perintah SQL atau perintah
khusus
MySQL.
 Perintah-perintah dalam lingkungan MySQL tidak menerapkan
aturan case sensitive, tetapi case insensitive yaitu perintah bisa
dituliskan dalam huruf besar atau pun huruf kecil.
 Aturan case sensitive diterapkan pada penamaan objek-objek
dalam database seperti nama database atau nama table, namun
aturan ini hanya ada dalam lingkungan Unix dan Linux.

3. ERD ( Entity Relationship Diagram )


Entitas dalam informatika adalah benda, orang, tempat, unit,
objek atau hal lainnya yang mempresentasikan data, dan data tersebut
akan disimpan ke dalam pangkal data. Setiap entitas terdiri dari
beberapa atribut cotohnya entitas karyawan maka memiliki atribut
nama_karyawan, alamat dan id. Setiap entitas memerlukan atribut
kunci utama yaitu atribut yang mewakili setiap data yang ditampung
dan nilainya unik.
ERD merupakan suatu diagram yang berisi komponen-
komponen himpunan entitas dan himpunan relasi yang dilengkapi
dengan atribut-atribut.
Pada ERD umumnya entitas dinyatakan dalam bentuk persegi
panjang. Dan juga pada ERD terdapat relasi yang menghubungkan
antar entitas. Biasanya berupa kata kerja yang menghubungkan antar
entitas tersebut. Pada umumnya dinyatakan dalam bentuk belah
ketupat. Serta terdapat 3 tipe relasi yaitu One-to-one, one-to-many
dan many-to-many.
4. DDL (Data Definition Language)
DDL (Data Definition Language), DDL merupakan kelompok
perintah yang berfungsi untuk mendefinisikan atribut-atribut basis
data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut,
serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini
adalah CREATE, ALTER, dan DROP.
a. Syntax Membuat Database : CREATE DATABASE
namadatabase;
Namadatabase tidak boleh mengandung spasi dan tidak
boleh memiliki nama yang sama antar database. Berikut ini
perintah untuk membuat database dengan nama rental : CREATE
DATABASE CV_SEJAHTERA;

Syntax tambahan untuk menampilkan daftar nama database


yang ada pada mysql menggunakan perintah : SHOW
DATABASES;

b. Memilih Database : USE namadatabase;


Sebelum membuat suatu tabel, terlebih dahulu harus
memilih salah satu database sebagai database aktif yang akan
digunakan untuk menyimpan tabel-tabel, Berikut ini perintah
untuk menggunakan database dengan nama CV_SEJAHTERA:
USE SEJAHTERA;
c. Syntax Menghapus Database : DROP DATABASE
namadatabase;
Database yang akan dihapus sesuai dengan namadatabase.
Berikut ini perintah untuk menghapus database dengan nama
rental :
DROP DATABASE RENTAL;
d. Membuat Tabel : CREATE TABLE namatabel ( Field1
TipeData1,Field2 TipeData2,....);
Nama tabel tidak boleh mengandung spasi (space). Field1
dan TipeData1 merupakan nama kolom pertama dan tipe data
untuk kolom pertama. Jika ingin membuat tabel dengan kolom
lebih dari satu, maka setelah pendefinisian tipe data sebelumnya
diberikan tanda koma (,).
Berikut ini perintah untuk membuat tabel dengan nama
barang :

e. Menampilkan Tabel
Untuk menampilkan daftar nama tabel yang ada pada
database yang sedang aktif/digunakan (dalam hal ini database
rental) : SHOW TABLES;

f. Menampilkan Atribut Tabel : DESC namatabel;


Untuk menampilkan deskripsi tabel (dalam hal ini
jenisfilm) syntaxnya adalah : DESC barang;
g. Menghapus Tabel : DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut
ini perintah untuk menghapus tabel dengan nama jenisfilm :
DROP TABLE BARANG;

h. Mendefinisikan Primary Key Pada Tabel


Terdapat tiga cara untuk mendefinisikan primary key.
Berikut ini adalah Syntax mendefinisikan primary key untuk
Field1
CREATE TABLE namatabel(Field1 TipeData1 NOT
NULL PRIMARY KEY, Field2 TipeData2);
Atau
CREATE TABLE namatabel ( Field1 TipeData1, Field2
TipeData2, PRIMARY KEY(Field1));
Atau
ALTER TABLE namatabel ADD CONSTRAINT
namaconstraint PRIMARY KEY (namakolom);

i. Menambah Kolom Baru Pada Tabel : ALTER TABLE


namatabel ADD fieldbaru tipe;
Namatabel adalah nama tabel yang akan ditambah
fieldnya. Fieldbaru adalah nama kolom yang akan ditambahkan,
tipe adalah tipe data dari kolom yang akan ditambahkan.
Berikut ini contoh perintah untuk menambah kolom
keterangan dengan tipe data varchar(25):
ALTER TABLE BARANG ADD KETERANGAN
VARCHAR(25);

C. Tugas Praktikum
1. Buatlah database db_bioskop berdasarkan ERD yang sudah
diberikan.
2. Buatlah tabel-tabel berdasarkan ERD yang sudah diberikan.
3. Tentukan Primary Key dan Foreign Key pada setiap tabel
4. Ubah nama atribut alamat (tabel tb_pegawai) menjadi
alamat_pegawai.
5. Ubah nama atribut judul_fim (tabel tb_film) menjadi judul.
6. Tambah atribut dengan nomor jabatan pada tabel tb_pegawai.
7. Hapus tabel tb_pembelian!
8. Buat tabel tb_pembelian lagi!
9. Hapus Foreign Key id_pembelian dari tabel tb_detail_pembelian
10. Tambah Foreign Key id_pembelian dari tabel tb_detail_pembelian
11. Hapus database Sebelum dihapus lakukan Backup terlebih dahulu.
MODUL II

Data Manipulation Language

A. Tujuan Praktikum

1. Mahasiswa dapat mengetahui apa itu Data Manipulation Language.

2. Mahasiswa dapat mengetahui apa saja pernyataan-pernyataan Data


Manipulation Language.

3. Mahasiswa dapat menerapkan Data Manipulation Language terhadap


basis data yang dibuat.

B. Dasar Teori

1. SQL

SQL atau Structured Query Language adalah sebuah bahasa yang


digunakan untuk mengakses data dalam basis data relasional. Bahasa ini
secara de facto merupakan bahasa standar yang digunakan dalam
manajemen basis data relasional. Saat ini hampir semua server basis
data yang ada mendukung bahasa ini untuk melakukan manajemen
datanya.

2. DML

Data Manipulation Language (DML) merupakan kumpulan perintah SQL


yang digunakan untuk proses pengolahan isi data didalam table seperti
memasukkan, merubah dan menghapus isi data – dan tidak terkait dengan
perubahan struktur dan definisi tipe data dari objek database. Berikut tujuan
dari DML:

1. Mengambil informasi yang tersimpan dalam basis data.

2. Menyisipkan informasi baru dalam basis data.


3. Menghapus informasi dari tabel.

Terdapat dua tipe DML yaitu prosedural dan non prosedural. Procedural
DML digunakan untuk memberi tahu sistem data apa yang
dibutuhkan dan bagaimana cara mengambil data tersebut. Procedural DML di
embed ke dalam bahasa pemrograman tingkat tinggi. Non procedural DML
digunakan untuk menyatakan data apa yang dibutuhkan-bukan bagaimana
data tersebut diambil. Non procedural disebut juga dengan declarative
programming. DML digunakan untuk memanipulasi data yang ada dalam
suatu tabel. Perintah yang umum dilakukan adalah:

1. INSERT

2. UPDATE

3. DELETE

4. SELECT

DML merupakan perintah SQL yang berhubungan dengan manipulasi


atau pengolahan data atau record dalam table. Berikut penjelasan dari
pernyataan-pernyataan pada DML:

1. Insert
Perintah ini digunakan untuk menyisipkan atau memasukkan data
baru ke dalam tabel. Berikut konsep dari perintah Insert:

INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD])


VALUES ([DAFTAR_NILAI])

2. Update

Berfungsi untuk merubah record atau nilai didalam suatu kolom.


Berikut konsep dari perintah Update:
UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE
[KONDISI]

3. Delete

Menghapus record atau nilai didalam suatu kolom pada tabel tertentu.

DELETE FROM [nama_table] Where [KONDISI]

4. Select
Select adalah perintah yang di gunakan untuk menampilkan nilai
atau record yang dipilih.

SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]


FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON
''kondisi_penghubung'']
[, nama_tabel3 [AS alias3], ...]
[WHERE ''kondisi'']
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING ''kondisi_aggregat'']

Konsep sederhana

SELECT [nama_kolom]
FROM nama_tabel1
C. Langkah Kerja

Berikut persiapan yang dilakukan sebelum mengikuti Langkah kerja. Buat


database “Praktikum” dan Buat tabel Sesuai dari gambar berikut.

1. Insert

Cara pertama dengan menentukan nama kolom dan nilai yang akan
disisipkan:

Jika Ingin menambahkan nilai untuk semua kolom tabel, Maka tidak
perlu menentukan nama kolom dalam queri SQL. Namun, pastikan urutan
nilai berada dalam urutan yang sama dengan kolom dalam tabel. Sintaks
INSERT INTO adalah sebagai berikut:
Dimungkinkan juga untuk hanya memasukkan data dalam kolom
tertentu.

2. Select

Contoh umum SELECT yaitu Untuk menampilkan data pada tabel


Praktikan query yang digunakan sebagai berikut,

3. Update

Contoh umum penggunaan Update, sebagai berikut. Yaitu melakukan


update data pada data no_HP.
Namun pada Query diatas seluruh No_HP akan di UPDATE.
Update juga dapat dilakukan dengan pembatas menggunakan
WHERE. Klausa WHERE yang menentukan berapa banyak rekaman
yang akan diperbarui.

Hati-hati saat memperbarui catatan. Jika Anda menghilangkan


klausa WHERE, SEMUA data akan diperbarui!

4. Delete

Contoh umum penggunaan DELTE, sebagai berikut.yaitu menghapus


baris yang memiliki nama UDIN.
Berhati-hatilah karena jika kondisinya terpenuhi maka seluruh baris akan
terhapus, jadi pilihlah kondisi yang spesifik.

Dimungkinkan untuk menghapus semua baris dalam tabel tanpa


menghapus tabel. Ini berarti bahwa struktur tabel, atribut, dan indeks akan
utuh:

D. Tugas Praktikum

Petunjuk Praktikum : cermati ERD, Baca Seluruh Poin Perintah, karena


seluruh point Berkaitan. Oleh sebab itu Point tertentu dapat diselesaikan dengan
menggabung Query.
1. Masukan data tiap tabel yang dibuat pada praktikum sebelumnya, tiap tabel masing-
masing 3 data (kecuali tabel tb_tiket, inputkan 7 data) dimana penonton 1 akan
membeli 1 tiket, penonton 2 membeli 3 tiket, penonton 3 membeli 2 tiket. Pastikan
data bagi atribut foreign key sudah sesuai dengan tabel asalnya.

2. Ubah data penonton 2 menjadi membeli 4 tiket (pastikan data di tabel


tb_detail_pembelian sesuai).

3. Hapus data ke-3 di tabel tb_pembelian (pastikan data di tabel tb_detail_pembelian


sesuai).
MODUL III

Retrieve Data

A. Tujuan Praktikum

1. Mahasiswa dapat mengetahui bagaimana cara Retrieve Data.

2. Mahasiswa dapat mengetahui apa saja pernyataan-pernyataan Retrieve


Data.

3. Mahasiswa dapat menerapkan Retrieve Data terhadap basis data yang


dibuat.

B. Dasar Teori

Hampir semua server basis data yang ada menyediakan fasilitas untuk
mengambil(Retrieve) data dari tabel database jadi jika Anda perlu melihat
catatan tabel atau baris atau kolom tertentu maka Anda juga dapat
melakukannya. Misalkan Anda telah membuat database dan beberapa tabel
untuk menyimpan data dalam bentuk terpisah dan ingin menunjukkan atau
mengambil data untuk melihat apakah itu benar atau tidak ada maka Anda
dapat melakukannya dengan bantuan perintah "SELECT". berikut beberapa

1. Select
Perintah “SELECT” adalah salah satu perintah SQL Server yang
paling sering digunakan untuk mengambil data dari tabel database.

SELECT [nama_kolom]
FROM nama_tabel1
2. Where

Klausa WHERE digunakan untuk memfilter catatan. Klausa WHERE


digunakan untuk mengekstrak hanya catatan-catatan yang memenuhi
kondisi tertentu. Banyak query yang dipadukan dengan Klausa WHERE.

SELECT *
FROM user
WHERE total_transaksi = 0

3. Distinct

Pernyataan SELECT DISTINCT digunakan untuk mengembalikan


hanya nilai yang berbeda. Di dalam tabel, kolom sering berisi banyak
nilai duplikat dan kadang-kadang Anda hanya ingin membuat daftar nilai
yang
berbeda.

SELECT DISTINCT [nama_kolom]

FROM nama_tabel1

4. And & Or

Klausa WHERE dapat dikombinasikan dengan operator AND, OR,


dan NOT. Operator AND dan OR digunakan untuk memfilter catatan
berdasarkan lebih dari satu kondisi:

a. Operator DAN menampilkan catatan jika semua kondisi yang


dipisahkan oleh DAN BENAR.

b. Operator OR menampilkan catatan jika salah satu kondisi yang


dipisahkan oleh OR adalah BENAR.
Operator NOT menampilkan catatan jika kondisinya TIDAK
BENAR.

SELECT *
FROM user
WHERE condition1 AND/OR condition2 AND/OR ...;

5. Group By

Pernyataan GROUP BY digunakan untuk menampilkan baris yang


memiliki nilai yang sama terhadap suatu kondisi, seperti "temukan
jumlah pelanggan di setiap negara". Pernyataan GROUP BY sering
digunakan
dengan fungsi agregat.

SELECT *
FROM user
GROUP BY nama_tabel1;

6. Order By

Kata kunci ORDER BY digunakan untuk mengurutkan hasil-set


dalam urutan naik atau turun. Kata kunci ORDER BY mengurutkan
catatan dalam urutan naik secara default. Untuk mengurutkan catatan
dalam urutan menurun, gunakan kata kunci DESC.

SELECT *
FROM user
ORDER BY nama_tabel1;
C. Langkah Kerja

1. Select

Contoh umum penggunaan SELECT , sebagai berikut.

Di sini, kolom1, kolom2 ... adalah bidang tabel yang nilainya ingin
Anda ambil. Contoh penggunaan lainnya yaitu hanaya mengambil
sebagian kolom.
Jika Anda ingin mengambil semua bidang yang tersedia di bidang
tersebut, maka Anda dapat menggunakan sintaks berikut.

2. Where

Contoh umum penggunaan WHERE pada Query SELECT, sebagai


berikut.

Banyak operator yang dapat digunakan untuk memilih kondisi yang


diinginkan. Berikut daftar Operator yang dapat digunakan.
= Equal

> Greater than

< Less than

>= Greater than or equal

<= Less than or equal

<> Not equal. Note: In some versions of SQL this


operator may be written as !=

BETWEEN Between a certain range

LIKE Search for a pattern

IN To specify multiple possible values for a


column

3. Distinct

Contoh umum penggunaan DISTINCT, sebagai berikut.


Menampilkan No_HP yang berbeda saja.
4. And & Or

Contoh umum penggunaan And & Or, sebagai berikut. Menampilkan


No_HP yang berbeda saja.
Contoh penggunaan And yang dikombinasikan
dengan WHERE.

5. Group By

Penggunaan GROUP BY biasanya digunakan dengan Fungsi


Agregat, namun berikut contoh penggunaan GROUP BY.
6. Order By
Pengguanaan ORDER BY untuk mengurutkan
data berdasarkan No
HP.
Untuk mengurutkan dari bawah digunakan tambahan yaitu DESC. Sebagai
berikut.

D. Tugas Praktikum

1. Tampilkan data pada seluruh tabel yang anda buat.

2. Tambahkan data tb_penonton menjadi 10 data, input data-data


tb_penonton dengan nama sama, tapi berbeda alamat
4. tambahkan tb_film menjadi 4 film!

3. Tambahkan data tb_tiket menjadi 16 tiket, input data-data tb_tiket dengan


tgl_tayang dan jam_tayang yang sama, tetapi id_film yang berbeda tiap
4 tiket

4. Tambahkan data tb_pembelian menjadi 10 data, pastikan data


tb_detail_pembelian sesuai (tiket terjual habis).

5. Tampilkan data tb_penonton berdasarkan nama tanpa terduplikasi.

6. Tampilkan data tb_tiket berdasarkan data judul ketiga di tb_film.

7. Tampilkan data tb_detail_pembelian yang mencatat pembelian tiket oleh


penonton dengan id_pembelian pertama.

8. Tampilkan data tb_penonton mulai dari nama dengan urutan huruf


paling awal secara alfabet.

9. Tampilkan data tb_film mulai dari judul dengan urutan huruf paling
akhir secara alfabet.
MODUL IV

FUNGSI AGREGASI

A. Tujuan

Setelah menyelesaikan modul ini, praktikan diharapkan dapat:

1. Memahami dan menggunakan fungsi agregasi

2. Menyelesaikan berbagai permasalahan database yang memerlukan fungsi


agregasi

B. Dasar Teori

Fungsi Agregasi merupakan fungsi yang disediakan oleh MySql untuk


memanipulasi database

Berikut adalah fungsi-fungsi agregasi yang digunakan dalam


memanipulasi database:

1. COUNT(range)

Fungsi yang digunakan untuk menampilkan jumlah baris data dari


suatu ekspresi (query). Contoh:

SELECT COUNT(*) FROM pelanggan;

Query ini akan menampilkan jumlah baris data yang terdapat


didalam tabel pelanggan.

2. MAX(range)

Fungsi yang digunakan untuk mengambil nilai terbesar dari suatu


ekspresi (query). Contoh:
SELECT MAX(nilai) FROM nilai_ujian;

Query ini akan menampilkan data terbesar yang terdapat


didalam kolom nilai tabel nilai_ujian.

3. MIN(range)

Fungsi digunakan untuk mengambil nilai terkecil dari suatu ekspresi


(query). Contoh:

SELECT MIN(nilai) FROM nilai_ujian;

Query ini akan menampilkan data terkecil yang terdapat


didalam kolom nilai tabel nilai_ujian.

4. SUM(range)

Fungsi digunakan untuk menjumlahkan total nilai dari suatu


ekspresi (query). Contoh:

SELECT SUM(nilai) FROM nilai_ujian;

Query ini akan menampilkan jumlah nilai dari data yang


terdapat didalam kolom nilai tabel nilai_ujian.

5. AVG(range)

Fungsi digunakan untuk menghitung rata-rata nilai dari suatu


ekspresi (query). Contoh:

SELECT AVG(nilai) FROM nilai_ujian;

Query ini akan menampilkan rata-rata nilai dari data yang


terdapat didalam kolom nilai tabel nilai_ujian.
C. Tugas Praktikum

Dengan menggunakan database yang telah dibuat pada modul


sebelumnya,

1. Buatlah query yang menampilkan id_pembelian dengan jumlah


pembelian tiket yang paling sedikit dari tabel tb_pembelian.

2. Buatlah query yang menampilkan id_pembelian dengan jumlah


pembelian tiket yang paling banyak dari tabel tb_detail_pembelian.

3. Buatlah query yang menampilkan jumlah seluruh total tiket yang dibeli
oleh penonton.

4. Buatlah query yang menampilkan id_penonton dan jumlah tiket yang


dibelinya.

5. Buatlah query yang menampilkan id_film dan berapa banyak tiket ada
untuk fim tersebut.

6. Buatlah query yang menampilkan id_penonton yang paling banyak


melakukan pembelian tiket.

7. Buatlah query yang menampilkan id_pembelian dengan total_harga

terbesar, tetapi dari tb_detail_pembelian.

8. Buatlah query yang menampilkan total pendapatan bioskop.


MODUL V

JOIN

A. Tujuan

Setelah menyelesaikan modul ini, praktikan diharapkan dapat:

 Memahami dan menggunakan join dalam memanipulasi database

B. Dasar Teori

Gambar 5.1 Class Diagram Sistem Pemesanan

Di dalam suatu RDBMS tentunya sudah menjadi suatu kewajaran jika dalam satu
database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut berhubungan
satu sama lain atau dengan kata lain memiliki relasi. Relasi antartabel dapat berupa relasi
1-1,
1-M, atau M-N. Sebagai contoh terlihat pada gambar pemodelan data konseptual (class
diagram) di atas. Tabel pelanggan berhubungan dengan pesan, pesan dengan barang, dsb.

Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk
perintah JOIN.
Gambar 5.2 Tabel pelanggan

Gambar 5.3 Tabel pesan

1. Inner Join

Inner join adalah penggabungan tabel secara dua arah, sehingga tidak ada
data yang NULL di satu sisi. Data yang akan ditampilkan adalah data yang
memiliki kesamaan primary key dan foreign key saja.

SELECT*FROM tabel1 INNER JOIN tabel2

ON tabel1.PK = tabel2.FK;

atau
Gambar 5.4 Contoh Inner Join dari tabel pelanggan dan tabel pesan

Gambar 5.5 Contoh Inner Join menggunakan where

dari tabel pelanggan dan tabel pesan

2. Outer Join

Outer Join adalah penggabungan tabel secara satu arah, sehingga


memungkinkan ada data yang bernilai NULL(kosong) di satu sisi. Outer join
terbagi menjadi dua yakni left join dan right join.

a. LEFT JOIN

Left join adalah penggabungan tabel dengan menampilkan data tabel


pertama secara utuh(tanpa nilai NULL) dan data tabel kedua(mungkin
terdapat nilai NULL).

SELECT*FROM tabel1 LEFT JOIN tabel2


Gambar 5.5 Left Join dari tabel pelanggan dan tabel pesan

b. RIGHT JOIN

Right join adalah kebalikan dari left join, dimana join ini akan
menampilkan tabel kedua secara utuh(tanpa nilai NULL) dan data tabel
pertama(mungkin terdapat nilai NULL).

SELECT*FROM tabel1 RIGHT JOIN


tabel2

Gambar 5.6 Right join dari tabel pelanggan dan tabel pesan

3. Union

Gambar 5.7 Database universitas


Union adalah penggabungan tabel secara vertikal, berbeda dengan inner dan
outer join yang menggabungkan tabel secara horizontal. Untuk menggunakan
union, diperlukan tabel yang memiliki nama field yang sama.

SELECT field1, field2 FROM


tabel1

Gambar 5.8 Union tabel dosen dan tabel mahasiswa

D. Tugas Praktikum

Dengan menggunakan database yang telah dibuat pada modul sebelumnya,

1. Tampilkan data pada tabel tb_penonton (id_penonton, nama, tgl_lahir) dan


tb_tiket (id_tiket, jam_tayang, tgl_tayang) yang dibelinya.

2. Tampilkan semua nama pegawai, id_pegawai, dan id_tiket yang pernah


dia jual.

3. Tampilkan data pada tabel tb_tiket (id_tiket, jam_tayang, tgl_tayang), tb_studio


(id_studio, nomor_studio), dan tb_film (id_film, judul_film, durasi), pastikan
data tersebut sesuai.

4. Tampilkan data tb_penonton (nama, alamat), tb_pembelian (total_harga,


tgl_pembelian), dan tb_film ( judul_film) yang dia beli.

5. Tampilkan data tb_tiket (semua kecuali id_studio), dan tb_studio (nomor_studio).


ENTITY RELATIONSHIP DIAGRAM
db_bioskop

Anda mungkin juga menyukai