• Tidak ada hasil yang ditemukan

Laporan Praktikum Sistem Basis Data Modul 8

N/A
N/A
Protected

Academic year: 2021

Membagikan "Laporan Praktikum Sistem Basis Data Modul 8"

Copied!
38
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM SISTEM BASIS DATA STRUCTURED QUERY LANGUAGE (SQL)

STUDY KASUS

Dosen Pengampu :

Ngurah Agus Sanjaya ER, S.Kom. , M.Kom

Asisten

1008605002 I Wayan Adi Juliawan Pawana 1008605015 I Nyoman Tri Anindia Putra

Nama Mahasiswa : Fajar Avianto Nim Mahasiswa : 1108605019 Kelompok : Kelompok 3

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA

(2)

2 PENDAHULUAN

Latar Belakang

Dalam pengunaan database ada beberapa query-query yang digunakan untuk mengeksekusi suatu database, baik itu membuat, mengubah, menghapus maupun menampilkan rekord tabel dari suatu database. Utuk menggunakan query-query tersebut kita harus mengetahui

Structured Query

Laguange

(SQL)terlebih dahulu. Dalam kehidupan nyata kita terkadang menggunakan beberapa operator-operator atau fungsi tambahan dalam melakukan input atau update data. Selain itu juga dalam menampilkan data secara spesifik seperti yang kita inginkan, kita harus menggunakan bantuan operator dan fungsi tersebut.

Salah satunya adalah Basis data, Basis data merupakan kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Dengan didukung perkembangan teknologi, kesulitan tersebut dapat diatasi dengan melalui MySQL. Dengan MySQL ini kita dapat mengubah sebuah tabel dengan menggunakan Structured Query Language (SQL). Pada pembahasan modul ini membahas tentang Studi Kasus yang diperuntukkan untuk mahasiswa.

Tujuan Praktikum

Mahasiswa dapat memahami sintaks perintah pada MySQL yang

telah dipelajari pada sebelumnya dan dapat mengimplementasikan secara

nyata pada studi kasus.

.

(3)

3 Teori

STRUCTURED QUERY LANGUAGE (SQL) SELECT DENGAN OPERATOR PERBANDINGAN,

LOGIKA DAN CLAUSA LIKE

1. OPERATOR PERBANDINGAN

Berikut adalah beberapa operator perbandingan yang digunakan pada sintax mysql: a. =, >, <, >=, <=, <> Penjelasan: Nama Deskripsi = Sama dengan > Lebih besar < Lebih kecil

>= Lebih besar atau sama dengan <= Lebih kecil atau sama dengan <> Tidak sama dengan

Format penulisan:

SELECT [nama kolom1], [nama kolom2], dst FROM [nama tabel]

WHERE [nama kolom] [operator perbandingan] [nilai]

Contoh: table_buku

ISBN Judul Jml_hal harga penerbit

1111 Dunia Sophie 765 10000 Mizan

2222 The Lost Symbol 867 10000 Gramedia 3333 A Morcking Bird 685 10000 Gramedia

(4)

4

4444 The Secret 687 11000 Gramedia

5555 Piano Pantai di Tepi 859 10000 Andi

a.

SELECT judul, harga FROM tabel_buku WHERE harga <> 10000;

Output:

Judul Harga

The Secret 11000

b.

SELECT * FROM tabel_buku WHERE harga = 10000;

Output:

ISBN judul Jml_hal harga penerbit

1111 Dunia Sophie 765 10000 Mizan

2222 The Lost Symbol 867 10000 Gramedia 3333 A Morcking Bird 685 10000 Gramedia 5555 Piano Pantai di Tepi 859 10000 Andi

b. BETWEEN

Melakukan select berdasarkan rentang nilai tertentu. Format Penulisan:

SELECT [nama kolom1], [nama kolom2], dst

FROM [nama tabel]

WHERE [nama kolom] BETWEEN [nilai1] AND

[nilai2]

(5)

5 Contoh:

table_buku

ISBN judul Jml_hal harga penerbit

1111 Dunia Sophie 765 10000 Mizan

2222 The Lost Symbol 867 10000 Gramedia 3333 A Morcking Bird 685 10000 Gramedia

4444 The Secret 687 11000 Gramedia

5555 Piano di Tepi Pantai

859 10000 Andi

SELECT * FROM tabel_buku WHERE harga BETWEEN 9000 AND 11000;

Output:

ISBN judul Jml_hal harga penerbit

1111 Dunia Sophie 765 10000 Mizan

2222 The Lost Symbol 867 10000 Gramedia

4444 The Secret 687 11000 Gramedia

2. OPERATOR LOGIKA

Berikut adalah beberapa operator logika yang digunakan pada sintax mysql:

AND, OR, XOR Contoh: table_buku

ISBN judul Jml_hal harga penerbit

1111 Dunia Sophie 765 10000 Mizan

2222 The Lost Symbol 867 10000 Gramedia

3333 A Morcking Bird 685 10000 Gramedia

4444 The Secret 687 11000 Gramedia

5555 Piano di Tepi Pantai 859 10000 Andi 1.

SELECT * FROM tabel_buku WHERE harga = 10000

AND penerbit = ‘gramedia’;

(6)

6 Output:

ISBN judul Jml_hal harga penerbit

2222 The Lost Symbol 867 10000 Gramedia

3333 A Morcking Bird 685 10000 Gramedia

2.

SELECT * FROM tabel_buku WHERE harga = 10000

OR penerbit = ‘gramedia’;

Output:

ISBN judul Jml_hal harga penerbit

1111 Dunia Sophie 765 10000 Mizan

2222 The Lost Symbol 867 10000 Gramedia

3333 A Morcking Bird 685 10000 Gramedia

5555 Piano di Tepi Pantai 859 10000 Andi 3.

SELECT * FROM tabel_buku WHERE harga = 10000

XOR penerbit = ‘gramedia’;

Output:

ISBN judul Jml_hal harga penerbit

1111 Dunia Sophie 765 10000 Mizan

2222 The Lost Symbol 867 10000 Gramedia

3333 A Morcking Bird 685 10000 Gramedia

5555 Piano di Tepi Pantai 859 10000 Andi 3. Clausa Like

Berikut adalah beberapa klausa yang digunakan pada sintax mysql: “%” dan” _”

Penjelasan:

(7)

7 % Mencocokkan dengan berapapun jumlah karakter

_ Mencocokkan hanya dengan satu karakter Penggunaan LIKE:

Penggunaan Deskripsi

“Prak%” Mencari string yang diawali dengan karakter “Prak” “%Prak” Mencari string yang diakhiri dengan karakter “Prak” “%Prak%” Mencari string yang mengandung karakter “Prak”

“Prak_” Mencari string yang diawali dengan karakter “Prak” dan diakhiri 1 karakter “_Prak” Mencari string yang diakhiri dengan karakter “Prak” dan diawali 1 karakter “_Prak_” Mencari string yang mengandung karakter “Prak” yang diawali dan diakhiri dengan 1 karakter

Format Penulisan:

SELECT [nama kolom1], [nama kolom2], dst

FROM [nama tabel]

WHERE [nama kolom] LIKE [klausa LIKE]

Contoh: table_buku

ISBN judul Jml_hal harga penerbit

1111 Dunia Sophie 765 10000 Mizan

2222 The Lost Symbol 867 10000 Gramedia

3333 A Morcking Bird 685 10000 Gramedia

4444 The Secret 687 11000 Gramedia

(8)

8 SELECT * FROM tabel_buku WHERE judul LIKE

‘Worl%’;

Output:

ISBN judul Jml_hal harga penerbit

1111 Dunia Sophie 765 10000 Mizan

4444 The Secret 687 11000 Gramedia

STRUCTURED QUERY LANGUAGE (SQL) SELECT, ORDER BY, ALIASING, KALKULASI FIELD

DAN CLAUSA BETWEEN

Data yang diambil dari satu atau beberapa table kadang membutuhkan pengurutan, baik itu menaik maupun menurun. Perintah SQL

(9)

9 yang memungkinkan untuk mengurutkan data menggunakan ORDER BY. Selain pengurutan data, terkadang dibutuhkan suatu field baru yang merupakan hasil perhitungan dari field-field lainnya. Field hasil perhitungan tersebut disebut dengan field kalkulasi. Pengambilan data kadang-kadang juga dilakukan pada field tertentu, misalnya dari tahun 2000 sampai tahun 2002 dan lain-lain. Pengambilan data seperti itu bias dengan mudah dilakukan dengan menggunakan perintah BETWEEN.

1. ORDER BY

Merupakan perintah yang digunakan untuk mengurutkan data berdasarkan field tertentu.

Sintaks untuk menambahkan record:

SELECT <`field1`, `field2`, …, `fieldn`> FROM <`table name`>

[WHERE expression]

ORDER BY <`field1` [ASC/DESC],… `fieldn` [ASC/DESC]> [LIMIT a,b]

Perintah ORDER BY akan mengurutkan data berdasarkan field tertentu. Pengurutan bisa dilakukan berdasarkan satu atau beberapa field. Untuk setiap field tersebut, bisa diurutkan menaik ASC ataupun menurun DESC. Penggunaan perintah ORDER BY tanpa kata kunci ASC/DESC akan dianggap sebagai ASC(menaik).

Misalnya terdapat table Barang sebagai berikut:

Field Tipe Data Keterangan

kode_barang INTVARCHAR[30] PRIMARY KEY nama_barang VARCHAR[30]

Harga INT

Stock TINYINT

Perintah untuk menampilkan data barang yang diurutkan berdasarkan harga mulai dari harga tertinggi, kemudian untuk barang dengan harga yang sama akan diurutkan berdasarkan nama dari A-Z:

(10)

10 SELECT *

FROM Barang

ORDER BY Harga DESC, nama_barang ASC;

2. BETWEEN

Perintah ini digunakan untuk mengambil data pada interval tertentu. Perintah ini akan mengikuti klausa WHERE.

SELECT <`field1`, `field2`, …, `fieldn`> FROM <`table name`>

[WHERE <`field`> BETWEEN <value1> AND <value2>] [LIMIT a,b]

Contoh perintah untuk mengambil data barang dengan harga antara 2000 sampai 10000 adalah sebagai berikut:

SELECT * FROM Barang

WHERE Harga BETWEEN 2000 AND 10000

3. FIELD KALKULASI

Kadangkala kita ingin menampilkan sebuah data yang dihasilkan dari kombinasi beberapa field. Field kalkulasi memungkinkan semua itu. Field Kalkulasi adalah sebuah field yang dihasilkan dari kombinasi field-field yang ada dalam table. Field hitungan tidak benar-benar ada dalam table database, hanya bersifat

on-the fly

dalam statement SELECT. Field yang dihasilkan tidak mempunyai nama, tetapi dapat diberikan alternative nama dengan pemberian alias. Misalnya jika ingin mengetahui berapakah uang yang akan diterima untuk masing-masing barang jika terjual semua, maka perintah SQL-nya adalah sebagai berikut:

(11)

11 SELECT nama_barang, (harga*stock)

FROM Barang

Perintah di atas akan menghasilkan sebuah field kalkulasi tanpa nama, sehingga kurang informative. Agar field tersebut memiliki nama, maka dapat digunakan alias, seperti perintah di bawah ini:

SELECT nama_barang, (harga*stock) AS totalUang FROM Barang

Urutan perintah untuk keseluruhan klausa adalah sebagai berikut: SELECT <`field1`, `field2`, …, `fieldn`>

FROM <`table name`> [WHERE expression]

ORDER BY <`field1` [ASC/DESC],… `fieldn` [ASC/DESC]> [LIMIT a,b]

STRUCTURED QUERY LANGUAGE (SQL) FUNGSI AGREGASI DAN CLAUSA HAVING

Dalam beberapa kasus sering dibutuhkan perhitungan kelompok data seperti mencari jumlah total data (baris) dalam sebuah table, mencari berapa nilai maksimum dari sebuah kolom pada table, atau bahkan mencari nilai rata-rata sebuah kolom pada table. Hal tersebut dimungkinkan dalam menggunakan perintah SQL yang disebut dengan Fungsi Agregasi. Fungsi agregasi digunakan untuk melakukan operasi pada kelompok-kelompok baris data, fungsi ini akan menghasilkan satu baris data untuk setiap kelompok baris data yang ada. Yang termasuk fungsi agregasi adalah:

(12)

12 

Average

: AVG 

Minimum

: MIN 

Maximum

: MAX 

Total

: SUM 

Count

: COUNT

Fungsi Agregasi dapat diterapkan pada seluruh data (baris) pada sebuah table menjadi satu himpunan ataupun dibagi menjadi beberapa kelompok himpunan pada tabel tersebut. Agar dapat dikelompokkan menjadi beberapa himpunan maka digunakan Klausa GROUP BY. Adanya Klausa GROUP BY memungkinkan mkeluaran eksekusi perintah SQL tersebut menghasilkan satu atau lebih data (baris). Dengan banyaknya baris yang kemungkinan dihasilkan maka data keluaran tersebut juga dapat diseleksi kembali menggunakan Klausa HAVING.

1. Perintah Average (AVG)

Fungsi AVG digunakan untuk memperoleh nilai rata-rata dari seluruh nilai pada suatu kolom.

Sintaks:

SELECT AVG(nama_kolom) FROM nama_tabel;

2. Perintah Minimum (MIN)

Digunakan untuk memperoleh nilai minimum (yang terkecil) dari suatu kolom.

Sintaks:

SELECT MIN(nama_kolom) FROM nama_tabel;

3. Perintah Maximum (MAX)

Digunakan untuk memperoleh nilai maksimum (yang terbesar) dari suatu kolom.

Sintaks:

(13)

13 4. Perintah Total (SUM)

Digunakan untuk memperoleh nilai penjumlahan seluruh baris pada suatu kolom.

Sintaks:

SELECT SUM(nama_kolom) FROM nama_tabel;

5. Perintah Count (COUNT)

Fungsi agregasi count sering digunakan untuk menghitung jumlah baris dalam tabel.

Sintaks:

SELECT COUNT(nama_kolom) FROM nama_tabel;

6. Fungsi Agregasi dengan Klausa GROUP BY

Jika fungsi agregasi nomor 1 sampai 5 ingin diterapkan pada kelompok himpunan baris data, maka digunakan klausa GROUP BY. Baris-baris data yang memiliki nilai yang sama pada satu kolom jika diterapkan klausa group by maka akan dimasukkan dalam satu kelompok.

Sintaks:

SELECT nama_kolom_group, COUNT(nama_kolom) FROM nama_tabel GROUP BY nama_kolom_group;

7. Fungsi Agregasi dengan Klausa HAVING

Klausa Having hamper sama dengan WHERE, hanya klausa ini diterapkan pada SQL yang menggunakan Klausa Group By. Klausa Having digunakan untuk menyeleksi hasil kelompok baris yang dihasilkan oleh Klausa Group By, dalam kasus agregasi dapat diterapkan seleksi pada kolom agregasi.

(14)

14 Sintaks:

SELECT nama_kolom_group, Fungsi_Agregat(nama_kolom)

FROM nama_tabel GROUP BY nama_kolom_group Having kondisi;

STRUCTURED QUERY LANGUAGE (SQL) SELECT DENGAN MENGGUNAKAN JOIN

Perintah JOIN pada MySQL digunakan untuk menghubungkan dua atau lebih tabel. Tipe-tipe join yang biasa digunakan dalam query adalah INNER, LEFT, RIGHT dan OUTER. Untuk lebih memudahkan dalam memahami perbedaan dari masing-masing tipe JOIN maka digunakan dua table berikut. Table tb_mahasiswa id nama mata_kuliah 1 ADI 1 2 IKA 1 3 BUDI 2 4 WATI 5 5 DODI NULL

(15)

15 Dari table tb_mahasiswa di atas dapat dilihat bahwa field mata_kuliah mengacu ke table lain (dalam hal ini table matakuliah)

Table matakuliah id mata_kuliah 1 Basis Data 2 Logika Pemrograman 3 Sistem Informasi 4 Struktur Data 5 Otomata

Untuk menampilkan nama mahasiswa beserta nama mata kuliah yang diambilnya dapat digunakan query SELECT dengan perintah JOIN untuk menggabungkan kedua table di atas. Hasil dari query yang dijalankan tergantung dari tipe JOIN yang digunakan.

1. INNER JOIN

Tipe ini merupakan tipe JOIN yang paling sering digunakan. Hasil dari query SELECT dengan tipe INNER JOIN adalah set dari record yang memenuhi syarat yang disebutkan pada klausa ON. Sebagai contoh: SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah FROM tb_mahasiswa INNER JOIN tb_matakuliah

ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id;

Perintah SELECT bertujuan untuk menampilkan “nama” dari table “tb_mahasiswa” dan “nama_matakuliah” dari tabe “tb_matakuliah”. Karena kedua field yang ingin ditampilkan berasal dari dua table yang berbeda, maka kedua table tersebut harus digabungkan. Perintah FROM di atas menggabungkan table “tb_mahasiswa” dengan table “tb_matakuliah” secara INNER JOIN. Hubungan kedua table itu didefinisikan melalui perintah ON yaitu dengan menyamakan field “mata_kuliah” pada table “tb_mahasiswa” dengan field “id” pada table “tb_matakuliah”. Hasil dari perintah di atas adalah sebagai berikut:

nama mata_kuliah ADI Basis Data IKA Basis Data

(16)

16 BUDI Logika Pemrograman

WATI Otomata

Hasil dari query di atas tidak menampilkan nama DODI karena nilai field “mata_kuliah” pada table “tb_mahasiswa” untuk mahasiswa DODI adalah NULL, dimana nilai NULL ini tidak dapat ditemukan padanannya pada field “id” di table “tb_matakuliah”. Hasil query SELECT menggunakan INNER JOIN, jika digambarkan menggunakan notasi himpunan adalah sebagai berikut:

2. LEFT JOIN

Bagaimana jika hasil dari query yang diinginkan adalah untuk menampilkan semua nama mahasiswa beserta mata kuliah yang diambil walaupun mahasiswa itu belum mengambil mata kuliah apapun? Tipe LEFT JOIN dapat digunakan untuk mendapatkan hasil yang diinginkan. LEFT JOIN akan menghasilkan suatu set record yang menampilkan semua baris dari table yang terletak di kiri (dalam hal ini “tb_mahasiswa”) tanpa memperhatikan apakah baris-baris tersebut memiliki padanan pada table sebelah kanan (“tb_matakuliah”).

SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah FROM tb_mahasiswa LEFT JOIN tb_matakuliah

ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id;

Hasil query di atasa adalah sebagai berikut: nama mata_kuliah ADI Basis Data

(17)

17 IKA Basis Data

BUDI Logika Pemrograman WATI Otomata

DODI (NULL)

Hasil dari LEFT JOIN jika digambarkan menggunakan notasi himpunan adalah sebagai berikut:

3. RIGHT JOIN

Perintah RIGHT JOIN akan menampilkan semua entry dari table sebelah kanan dari perintah JOIN walaupun ada baris pada table sebelah kanan yang tidak memiliki padanannya pada tabel sebelah kiri. Sebagai contoh: missal hasil dari query yang diinginkan adalah untuk menampilkan semua mata kuliah yang ada walaupun tidak ada mahasiswa yang mengambil mata kuliah tersebut. Perintah query untuk mendapatkan hasil tersebut adalah:

SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah FROM tb_mahasiswa RIGHT JOIN tb_matakuliah

ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id;

Hasil query di atas adalah: nama mata_kuliah ADI Basis Data IKA Basis Data

BUDI Logika Pemrograman (NULL) Struktur Data

(NULL) Sistem Informasi WATI Otomata

(18)

18 Jika diperlihatkan menggunakan himpunan, hasil query tersebut adalah:

4. OUTER JOIN

Perintah OUTER JOIN akan menampilkan seluruh isi dari kedua table tanpa memperhatikan apakah masing baris pada kedua table memiliki pasangan pada table lainnya atau tidak. Ketika tidak ditemukan padanannya maka nilai dari field tersebut akan diisi dengan NULL. Perintah OUTER JOIN ini tidak terlalu bermanfaat dibandingkan dengan INNER, LEFT ataupun RIGHT. OUTER JOIN ini tidak diimplementasikan di MySQL, namun hasil yang sama dapat diperoleh menggunakan perintah UNION serta LEFT dan RIGHT JOIN.

SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah FROM tb_mahasiswa LEFT JOIN tb_matakuliah

ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id UNION

SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah FROM tb_mahasiswa RIGHT JOIN tb_matakuliah

ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id;

Hasil perintah query di atas adalah sebagai berikut: nama mata_kuliah

ADI Basis Data IKA Basis Data

(19)

19 (NULL) Struktur Data

(NULL) Sistem Informasi WATI Otomata

DODI (NULL)

Jika diperlihatkan menggunakan himpunan, hasil query tersebut adalah:

Catatan:

Jika nama field yang digunakan pada klausa ON adalah sama pada kedua tabel, maka untuk menghindari penggunaan nama table dan nama field untuk referensi dapat digunakan perintah USING.

Tabel tb_mahasiswa id nama id_kuliah 1 ADI 1 2 IKA 1 3 BUDI 2 4 WATI 5 5 DODI NULL Tabel tb_matakuliah Id_kuliah mata_kuliah 1 Basis Data 2 Logika Pemrograman 3 Sistem Informasi 4 Struktur Data 5 Otomata

(20)

20 Dari kedua table di atas dapat dilihat bahwa field yang digunakan untuk menghubungkan table-tabel tersebut adalah “id_kuliah”. Karena nama field referensi pada kedua table adalah sama (“id_kuliah”) maka query INNER JOIN pada halaman 2 dapat diubah menjadi:

SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah FROM tb_mahasiswa RIGHT JOIN tb_matakuliah

(21)

21 HASIL DAN PEMBAHASAN

HASIL DAN PEMBAHASAN A. Hasil Percobaan

- Mengimport database “northwind” ke dalam SQLyog. Langkah-langkahnya sebagai berikut:

 Buka file northwind.sql kemudian copy query tersebut ke dalam SQL yog.

 Setelah semua query pada northwind.sql di copy ke SQL yog, langkah selanjutnya yaitu eksekusi semua query yang telah di copy.  Setelah berhasil dieksekusi, database northwind telah berhasil dibuat

(22)
(23)

23 B. Analisis Hasil Percobaan

Skema Basis Data Penjualan (Northwind)

Terdapat 8 tabel pada Basis Data Penjualan (Gambar 1), yang saling berelasi, tabel-tabel tersebut adalah:

1. Categories merupakan tabel yang berelasi dengan tabel Product, produk yang dimana akan dijual. Relasi dari tabel Categories ke tabel Product adalah 1 ke n (1 kategori terdiri banyak produk).

2. Suppliers merupakan tabel yang berisi tentang identitas dari Supplier, seperti SupplierID, CompanyName, ContactName, Address, City, dll. Yang dimana di dalam tabel Suppliers ini Supplier ID merupakan primary key. Tabel Suppliers ini berelasi dengan tabel Products, yang dimana relasi dari tabel Suppliers dengan tabel Products adalah 1 ke n (1 supplier bisa memiliki banyak produk).

3. Products merupakan tabel yang berisi semua identitas dari produk-produk yang dijual, seperti ProductID, ProductName, SupplierID, dll. Yang dimana ProductID merupakan primary key, dan SupplierID merupakan foreign key. Tabel Products berelasi dengan tabel Suppliers dan Catagories.

(24)

24 4. Employers merupakan tabel yang berisi tentang identitas dari employers (pegawai) dan juga digunakan untuk mendata atau mencatat pegawai-pegawai yang aktif dalam penjualan dan pemesanan produk (order), setiap transaksi akan dicatat EmployeeID yang melakukan transaksi penjualan tersebut. Tabel Employers berelasi dengan tabel Orders dan EmployeeTerritories, relasi dari tabel Employers dengan tabel Orders adalah 1 ke n (1 Karyawan dapat melakukan banyak transaksi penjualan (order)

5. Orders merupakan tabel utama untuk mencatat pemesanan, tabel Orders berelasi dengan tabel Customer, Employees,dan Shippers.

6. Order Details merupakan tabel relasi dari tabel Order. Tabel ini merupakan detail pemesanan yang mencatat produk apa yang dibeli dalam 1 transaksi penjualan / pemesanan, seperti banyaknya produk yang dibeli, harga dari produk tersebut dan diskon yang didapatkan dari produk tersebut. 1 order memiliki 1 atau lebih produk yang dibeli.

7. Customers merupakan tabel yang berisi identitas dari Customer, seperti CustomerID, ContactName, City, Address, dll. Tabel Customers berelasi dengan tabel Orders yang merupakan tabel referensi untuk menunjukan konsumen yang melakukan pemesanan. Satu konsumen dapat melakukan n pemesanan.

8. Shippers merupakan tabel yang berfungsi untuk mengetahui order yang ada dikirim oleh perusahaan pengiriman apa. Memilki posisi yang hampir sama dengan tabel Customers. Tabel Shippers berelasi dengan tabel Orders, memiliki relasi 1 ke n (dimana Shipper bisa melayani lebih dari satu order).

9.

CustomerCustomerDemo merupakan tabel untuk mengetahui tipe

dari customer yang melakukan pemesananan, tabel ini berelasi

dengan tabel customer.

10.

CustomerDemographics merupakan tabel untuk mengetahui

demographic dari customer berdasar tipe customernya tabel ini

berelasi dengan tabel CustomerCustomerDemo

11.

EmployeeTerritories merupakan tabel untuk mengetahui lingkungan

atau daerah tempat bekerja dari pegawai yang tercatat melakukan

order, tabel EmployeeTerritories berelasi dengan tabel Employees

12.

Territories merupakan tabel untuk deskripsi dari lingkungan atau

daerah tempat bekerja, tabel Territories berelasi dengan tabel

EmployeeTerritories

13.

Region merupakan tabel yang mendeskripsikan wilayah atau provinsi

atau kota tempat pegawai bekerja. Tabel Region berelasi dengan

tabel Territories.

(25)

25 STUDI KASUS

1. Tampilkan semua data pada tabel Categories

2. Tampilkan SupplierID, CompanyName, ContactName, PostalCode pada tabel Suppliers

(26)

26 3. Tampilkan semua supplier yang hanya memiliki No.Fax

(27)

27 4. Tampilkan supplier yang CompanyName=‟Bigfoot Breweries‟

5. Tampilkan Products yang CategoryID = 6

6. Tampilkan ProductID, ProductName yang CategoryName nya adalah „Grains/Cereals‟

(28)

28 7. Tampilkan data/Products yang UnitInStock nya lebih besar dari 80

(29)

29 9. Tampilkan data Products yang UnitInStock nya lebih kecil dari 80 dan

CompanyName pada Suppliers = „Leka Trading‟

10. Tampilkan semua Order yang tanggal pemesanannya dari tanggal 1996-07-10 sampai 1997-09-10

(30)

30 11. Tampilkan CustomerID dan CustomerName yang memesan barang pada

tanggal 1996-08-15

12. Tampilkan OrderID, OrderDate, CustomerID dan CustomerName yang memesan produk dengan ProductID = 51

(31)

31 13. Tampilkan OrderID, OrderDate, CustomerID dan CustomerName yang

memesan produk dengan ProductIName = „Tofu‟

14. Tampilkan total pemesanan barang (UnitPrice * Quantity) pada tabel Order_Details dengan alias JumlahTransaksiPerHari

(32)

32 15. Tampilkan UnitPrice termahal dari transaksi Order yang terjadi

16. Tampilkan berapa jumlah transaksi order yang terjadi per hari dengan alias JumlahTransaksiPerHari

(33)

33 17. Tampilkan CustomerID dan CustomerName dan jumlah pemesanan yang

(34)

34 18. Tampilkan ShipperID, CompanyName, Phone yang pernah mengirimkan

(35)

35 19. Tampilkan semua order yang diurut berdasarkan tanggal pemesanan

20. Tampilkan OrderDate, CustomerName, CompanyName Perusahaan pengirim yang mengirimkan barang dengan CategoryName = „Condiments‟ dan ContactName pada Supplier = „Shelley Burke‟

(36)
(37)

37 KESIMPULAN

Dari pembahasan mengenai Studi kasus di atas kesimpulan yang diperoleh adalah untuk mendefinisikan, pengontrol data, dan memanipulasi data pada sebuah database digunakan DDL, DCL, dan DML. Structured Query Languaged (SQL) berguna mempermudah kita dalam membuat dan memanipulasi database, SQL berguna juga dalam menyelesaikan suatu masalah atau kasus yang berhubungan dengan basis data. Dan Dengan Structured Query Language (SQL) kita dapat mencari atau memanipulasi data yang terdapat pada suatu database dengan mudah dan cepat.

(38)

38 DAFTAR PUSTAKA

2013. Modul 3 Praktikum Basis Data .Jurusan Ilmu Komputer. Universitas Udayana

2013. Modul 4 Praktikum Basis Data .Jurusan Ilmu Komputer. Universitas Udayana

2013. Modul 5 Praktikum Basis Data .Jurusan Ilmu Komputer. Universitas Udayana

2013. Modul 6 Praktikum Basis Data .Jurusan Ilmu Komputer. Universitas Udayana

MySQL Server Documentation, http://dev.mysql.com MySQL Tutorials, http://www.devshed.com

Gambar

Table matakuliah  id  mata_kuliah  1  Basis Data  2  Logika Pemrograman  3  Sistem Informasi  4  Struktur Data  5  Otomata
Tabel Suppliers ini berelasi dengan tabel Products, yang dimana relasi dari  tabel  Suppliers  dengan  tabel  Products  adalah  1  ke  n  (1  supplier  bisa  memiliki banyak produk)

Referensi

Dokumen terkait

Untuk menghubungkan tabel-tabel tersebut, klik tombol Create Relation, kemudian klik klik atribut NIM pada tabel Mahasiswa (Primary Key), setelah itu klik atribut NIM pada

• DEFAULT pada struktur tabel digunakan untuk memberikan nilai bawaan /default pada suatu field jika nilai tersebut tidak dimasukkan.

Pada kotak Avaible Fields, pilih dan klik nama field yang ingin disertakan pada report, kemudian klik tombol &gt; atau dengan tombol &gt;&gt; untuk memasukkan seluruh field..

Untuk membuat sebuah tabel, perintah yang digunakan adalah create table dengan syntax sebagai berikut :. Create table nama_tabel(field1 type(lenght),

Intersect merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan

Pada soal di atas penggabungan dua tabel menggunakan LEFT OUTER JOIN, artinya menggabungkan semua data pada field nim di tabel mahasiswa dan dan data yang sama dengan field nim

siapkan tabel basis data kabupaten bantul Input data yang diperlukan pada data Kabupaten Bantul Beri nama project Membuat field baru Input rumus jumlah penduduk, kepadatan

Menghapus Field Sintaks operasi penghapusan field diperlihatkan sebagai berikut: ALTER TABLE nama_tabel DROP COLUMN nama_field Contoh berikut akan menghapus field no_hp dari