• Tidak ada hasil yang ditemukan

Modul Praktikum Basis Data 1

N/A
N/A
Protected

Academic year: 2018

Membagikan "Modul Praktikum Basis Data 1"

Copied!
66
0
0

Teks penuh

(1)

Hanya dipergunakan di lingkungan Telkom Applied Science School

(2)

Daftar Penyusun

(3)

Daftar Isi

Daftar Penyusun i

Daftar Isi ii

1 Bab I entitas dan atribut 1

2 Bab II Relationship dan Kardinalitas 7

3 Bab III Skema Relasi dan Diagram Relationship 12

4 Bab IV Lingkungan Kerja MySQL 22

5 Bab V Data Definition Language 27

6 Bab VI Data Manipulation Language 37

7 Bab VII Select Statement 43

8 Bab VIII Select Statement With Join 50

9 Bab IX Aggregate Function 53

(4)

Bab I entitas dan atribut

Identitas

Kajian

Pengenalan struktur entitas dan atribut

Topik

1. Entitas Kuat

2. Atribut Single Value

3. Atribut Multivalue

4. Atribut Turunan

Referensi

1. Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

2. Raghu Ramakrisnan, Gherke. Database Management System, 3rd Edition. McGraw-Hill. 2001

Kompetensi Utama

1. Memahami konsep basis data

2. Mahasiswa terampil merancang pemodelan basis data

Lama Kegiatan Praktikum

1. Pertemuan Terbimbing : 1 x 120 menit

2. Kegiatan Mandiri : 2 x 120 menit

Parameter Penilaian

1. Hasil Pengamatan 40%

(5)

Pertanyaan Pendahuluan

Kerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktu pengerjaan maksimal 15 menit.

1. Jelaskan apa yang dimaksud dengan basis data menurut anda?

2. Gambarkan alur perancangan basis data dengan pendekatan konseptual ERD (Entitiy Relationship Diagram) !

3. Sebutkan komponen-komponen dalam diagram!

Praktik

Studi Kasus :

Toko X adalah sebuah toko dimana transaksi penjualannya dilayani oleh kasir dan diawasi oleh kepala kasir yang ditunjuk oleh pemilik toko X. Setiap kasir dapat melayani lebih dari satu transaksi sedangkan setiap transaksi hanya satu kasir yang melayani. Data yang dicatat adalah kasir yang melayani transaksi, barang atau produk yang ada di toko, penjualan yang didapat dari proses

penjualan. Permasalahan yang muncul adalah sulitnya untuk mengecek barang yang tersedia dan penghitungan total penjualan karena banyaknya transaksi yang terjadi setiap harinya sehingga omset penjualan pada toko tersebut sulit diketahui.

Entitas dan Himpunan Entitas Soal

Tentukan entitas dan himpunan entitas yang terdapat pada studi kasus di atas.

Penyelesaian

Produk : menyimpan semua informasi mengenai semua produk yang ditawarkan

Kasir : menyimpan semua informasi mengenai semua pemasok

Transaksi : menyimpan semua informasi mengenai semua transaksi pembelian produk dari pemasok

Solusi Lengkap

Entitas adalah objek yang dirasa penting didalam sistem. Entitas bisa berupa objek konkrit seperti orang, mahasiswa, kasir, barang, dll. Ataupun objek yang abstrak seperti jadwal, mata kuliah, pinjaman, pembelian, dll. Perhatikan ilustrasi berikut :

(6)

Euis adalah salah satu contoh entitas. Sedangkan Euis, Somad, Siti merupakan himpunan entitas orang. Dapat kita katakan bahwa himpunan entitas (entity set) adalah sekelompok entitas yang sejenis dan berada dalam lingkup yang sama. Kumpulan entitas orang dengan karakteristik mempunyai kode_kasir, nama dan alamat atau bisa kita katakan sebagai himpunan entitas ‘kasir’.

Kode_pegawa i

Nama_kasir Alamat

P001 Euis Jl. Ters. Buah Batu no.37 Bandung

P002 Somad Jl. Soekarno Hatta No.345 Bandung

P003 Siti Jl. Telekomunikasi No. 98 Bandung

Entitas Kasir

Atribut Soal

Tentukan atribut yang terdapat pada entitas yang telah ditentukan berdasarkan dari studi kasus di atas beserta jenis atributnya !

Langkah Penyelesaian

1. Menentukan atribut

1. Entitas produk :

1. Kode_produk : kode unik untuk tiap macam produk (Primary Key/PK)

2. Nama_produk : nama lengkap untuk produk 3. Harga_jual : harga jual produk di toko

4. Stok : jumlah stok yang tersedia pada toko 2. Entitas kasir :

5. Kode_kasir : kode unik untuk tiap kasir (PK)

6. Nama_kasir : nama lengkap Kasir yang bekerja pada toko X 7. Alamat : alamat lengkap untuk kasir

8. No_telp : nomor telepon untuk kasir 3. Entitas transaksi :

9. No_nota : kode unik untuk setiap transaksi pembelian yang dilakukan (PK)

10. Tanggal : tanggal transaksi dilakukan

11. Total transaksi : total pembelian pada setiap transaksi

2. Menentukan Jenis Atribut

Atribut dapat dibedakan menurut beberapa jenis, yaitu : 1. Simple dan Composite

(7)

Atribut simple merupakan atribut yang tidak bisa dibagi lagi menjadi bagian yang lebih kecil, contoh atribut kode_kasir. Sedangkan Atribut composite adalah atribut yang dapat dibagi menjadi beberapa bagian.

2. Single Value dan Multivalued

Atribut single value adalah atribut yang dapat diisi maksimal satu nilai untuk setiap baris data, sedangkan atribut multivalued adalah atribut yang dapat diisi lebih dari satu nilai yang sejenis untuk setiap baris data.

Kode_kasir Nama_kasir Alamat No_telp

P001 …… …… 022-12345678

081234567890

P002 …… ……

-P003 …… …… 089999911111

3. Atribut turunan adalah atribut yang nilainya didapatkan dari hasil pengolahan atribut lain.

12. Atribut tanggal. Atribut tanggal didapatkan dari turunan atribut no_nota

13. Atribut total_beli. Atribut total_transaksi yang didapatkan dari penghitungan dari jumlah produk yang dibeli dikalikan dengan harga jual produk.

No_nota Tanggal Total_transaksi

201402010001 01-02-2014 60000

201402010002 01-02-2014 36000

201402020001 02-02-2014 79500

Atribut ‘nama’ dan ‘alamat’ yang terdapat pada entitas ‘Kasir’ merupakan atribut composite

Atribut single value

Atribut multivalued

(8)

Pengamatan

Buatlah model ERD dari setiap entitas dan atribut yang telah ditentukan dalam studi kasus

Latihan Analisa Soal

Rubahlah data dibawah ini menjadi model ERD sesuaikan dengan jenis entitas dan atributnya masing-masing !

Nim

Keterangan :

Notasi atribut digambarkan dengan gambar elips. Atribut kunci biasa diberi tanda # atau garis bawah pada nama atribut (lihat nim). Atribut multivalued biasa diberi tanda dengan double elips (Lihat hobi). Atribut turunan biasa diberi tanda dengan elips putus-putus (Lihat jurusan, angkatan dan umur).

Pengamatan

Jelaskan model ERD mahasiswa pada Latihan Analisa, uraikan secara detail hubungan antara entitas dan atribut

test akhir

1 Tentukan istilah disamping merupakan entitas atau atribut (dengan

menggambarkan symbol pada istilah yang

diberikan)

Guru Mata Kuliah Penjualan

ID-Barang No. Telp Mahasiswa

Jumlah Karyawan Warna

Mahasis wa

(9)

Alamat ID-transaksi jenis

No. Polisi tipe Penjualan

Jadwal Buruh Buku

2 Lengkapilah Model ER disamping dengan istilah-istilah yang sesuai

dibawah ini :

ID_Barang

3 Berdasarkan ERD

disamping, pada entitas Pelanggan tentukan tipe dari masing-masing atribut

Single

Composit Nama,

Single Value

Pahami studi kasus dan penyelesaian yang terdapat pada Praktik dan Latihan Analisa, kemudian buatlah laporan pengamatan yang terdapat pada bagian pengamatan yang ada di Praktik dan Latihan Analisa.

Alamat

Pelanggan

Id_Pelangg an

Nama

Umur Jenis

kelamin Telepon Tgl_lah

(10)

1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri yang terdiri dari jurnal pengamatan dan hasil test akhir.

2. Media pengerjaan dan pengumpulan bebas, ikuti aturan yang telah ditetapkan oleh asisten praktikum.

(11)

Bab II Relationship dan Kardinalitas

Identitas

Kajian

Struktur Relationship dan Kardinalitas

Topik

1. Relasi Unary

2. Relasi Biner

3. Relasi Ternary

4. Kardinalitas One to One

5. Kardinalitas One to Many

6. Kardinalitas Many to Many

Referensi

1. Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

2. Raghu Ramakrisnan, Gherke. Database Management System, 3rd Edition. McGraw-Hill. 2001

Kompetensi Utama

1. Mampu memahami konsep relasi

2. Mampu memahami kardinalitas

3. Mampu menentukan kardinalitas dalam kasus ERD

Lama Kegiatan Praktikum

1. Pertemuan Terbimbing : 1 x 120 menit

2. Kegiatan Mandiri : 2 x 120 menit

Parameter Penilaian

1. Pengamatan : 40%

(12)

Pertanyaan Pendahuluan

Kerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktu pengerjaan maksimal 15 menit.

1. Abstraksi data merupakan level dalam bagaimana melihat data dalam sebuah sistem basis data. Sebutkan tiga Level dalam abstraksi data serta gambarkan simbol model ERD-nya !

2. Sebut dan jelaskan ragam kardinalitas pada Diagram ER!

Praktik

Gunakan hasil jurnal pengamatan yang telah anda kerjakan pada praktikum sebelumnya.

Relasi Unary Soal

Dari jurnal pengamatan pada praktikum sebelumnya apakah anda dapat mengidentifikasi adanya relasi unary? Apabila ada jelaskan?

Penyelesaian

Pada toko X terdapat salah satu kasir yang ditunjuk oleh pemilik toko sebagai kepala kasir, sehingga kasus tersebut bisa diidentifikasi sebagai relasi unary. Berikut model ERD untuk relasi unary.

Relasi Biner Soal

Dari jurnal pengamatan pada praktikum sebelumnya apakah anda dapat mengidentifikasi adanya relasi biner? Apabila ada jelaskan?

Penyelesaian

(13)

Pada toko X setiap kasir bisa melayani satu transaksi atau lebih, sehingga dapat diketahui transaksi A siapa yang melayani sehingga dapat

dipertanggungjawabkan.

Relasi Ternary Soal

Dari jurnal pengamatan pada praktikum sebelumnya apakah anda dapat mengidentifikasi adanya relasi ternary? Apabila ada jelaskan?

Penyelesaian

(14)

kota

#nim nama #kd_matkul Nm_matkul

Tentukan kardinalitas relasi yang terdapat pada kasus toko X

Langkah Penyelesaian

Dalam menentukan kardinalitas pada relasi suatu kasus, kita harus memahami dan memetakan hubungan antar entitas. Berikut hasilnya :

1. Kasir  transaksi : satu kasir bisa melayani satu transaksi atau lebih dan satu transaksi hanya bisa dilayani oleh satu kasir, sehingga kardinalitas yang terjadi adalah one to many (1:N)

2. Transaksi  produk : satu transaksi terdapat satu atau lebih produk yang terjual dan satu produk bisa terdapat pada transaksi yang berbeda, sehingga kardinalitas yang terjadi adalah many to many (N:M) 3. Kepala kasir  kasir : satu kepala kasir mengepalai banyak kasir

sedangkan satu kasir hanya memiliki satu kepala kasir, sehingga kardinalitas yang terjadi adalah one to many (1:N)

Pengamatan

Dari Praktik yang telah dilakukan di atas menghasilkan relasi unary, relasi biner dan relasi ternary. Maka, buatlah ERD yang menurut anda sesuai dengan studi kasus pada toko X beserta kardinalitas yang telah ditentukan.

Test Akhir

1. Tentukan ukuran relasi/kardinalitas dari ERD disamping dengan asumsi kasus-kasus adalah terjadi pada umumnya kemudian berikan penjelasan terkait relasi tersebut.

2. Berdasarkan tabel disamping tentukan superkey, candidate key dan primary key

NIM Nama Alamat Kota

3. Jelaskan secara rinci apa yang anda ketahui dari model ERD di bawah ini :

Guru Menjadi Kelas

wali

Kepala

Sekolah mengepalai Sekolah

Sopir Mengen angkot

(15)

Resume

Jurnal Pengamatan

Pahami studi kasus dan penyelesaian yang terdapat pada Praktik dan Latihan Analisa, kemudian buatlah laporan pengamatan yang terdapat pada bagian pengamatan yang ada di Praktik.

Lain-lain

1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri yang terdiri dari jurnal pengamatan dan hasil test akhir.

2. Media pengerjaan dan pengumpulan bebas, ikuti aturan yang telah ditetapkan oleh asisten praktikum.

(16)

Bab III Skema Relasi dan Diagram Relationship

Identitas

Kajian

Pemahaman Bentuk Skema Relasi dan Diagram Relationship

Topik

1. Skema Relasi

2. Diagram Relasi

Referensi

1. Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

2. Raghu Ramakrisnan, Gherke. Database Management System, 3rd Edition. McGraw-Hill. 2001

Kompetensi Utama

1. Memahami bentuk dari skema relasi

2. Memahami bentuk dari diagram relasi

3. Mahasiswa terampil memetakan ER ke dalam bentuk skema relasi

4. Mahasiswa terampil memetakan ER ke dalam bentuk diagram relasi

Lama Kegiatan Praktikum

1. Pertemuan Terbimbing : 1 x 120 menit

2. Kegiatan Mandiri : 2 x 120 menit

Parameter Penilaian

1. Hasil Pengamatan 40%

(17)

Pertanyaan Pendahuluan

Kerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktu pengerjaan maksimal 15 menit.

1. Jelaskan bagaimana realisasi ER Diagram kedalam dunia nyata! 2. Dalam kenyataannya, sebuah entitas menjadi …

3. Disebut apakah atribut kunci dalam implementasi ke tabel?

4. Sebutkan berapa tabel yang terbentuk dari binary relationship yang memiliki kardinalitas one-to-one, one-to-many dan many-to-many!

Praktik

Pemetaan ER Diagram ke Tabel

Ubahlah setiap ER Diagram dibawah ini ke dalam bentuk table !

Entitas Kuat Soal

Penyelesaian Karyawan

nip Nama Alamat Tgl_lahir

Setiap entitas kuat (strong entity) menjadi satu tabel dan setiap simple atribut menjadi kolom.

Nama entitas menjadi nama tabel. Nama atribut menjadi nama Column. Atribut kunci menjadi Primary Key.

Composite Attribute Soal

Penyelesaian Karyawan

(18)

Setiap simple atribut menjadi kolom, sehingga composite atribut tidak dikoversi menjadi kolom. Perhatikan atribut alamat, tidak menjadi kolom.

Multivalued Attribute Soal

Penyelesaian

Karyawan

nip Nama Alamat Tgl_lahir

Hobby_Karyawan nip Hobby

Multivalue attributes menjadi tabel tersendiri, sehingga entitas kuat yang memiliki multivalue attribute menjadi 2 tabel.

Derived Attribute Soal

Penyelesaian Karyawan

nip Nama Alamat Tgl_lahir umur

Derived attribute menjadi sebuah kolom Entitas Lemah

(19)

Penyelesaian

Karyawan

nip Nama Alamat Tgl_lahir

Tanggungan

nip Nama_tgg hubungan

Setiap entitas lemah menjadi tabel dan setiap simple atribut menjadi kolom. Atribut kunci pada entitas kuat yang berelasi dengan entitas lemah ini menjadi kolom foreign key.

Perhatikan atribut nip, menjadi foreign key (FK) di tabel tanggungan

Binary Relationship Soal (One to One)

Penyelesaian Alternatif 1: Perjalanan_dinas

Kd_pd Tujuan Tgl_awal Lama_hari Total_biaya_pd Kd_keg

Kegiatan

(20)

Alternatif 2: Perjalanan_dinas

Kd_pd Tujuan Tgl_awal Lama_hari Total_biaya_pd

Kegiatan

Kd_keg Nama_keg Tgl_awal Kd_pd

Setiap entitas kuat (strong entity) menjadi satu tabel dan simple attibutnya menjadi kolom. Tabel yang terbentuk ada dua (2) buah. Atribut kunci pada salah satu entitas, menjadi kolom foreign key pada entitas lain

Soal (One to Many)

Penyelesaian Peminjaman

Kd_peminjaman Tanggal_pinjam nip

Karyawan n

ip Nama Alamat Tgl_lahir

Setiap entitas kuat (strong entity) menjadi satu tabel dan simple attibutnya menjadi kolom. Tabel yang terbentuk ada dua (2) buah. Atribut kunci pada entitas yang memiliki kardinalitas satu (one), menjadi kolom foreign key pada entitas yang memiliki kardinalitas banyak (many).

Perhatikan atribut nip, menjadi foreign key (FK) di tabel Peminjaman

(21)

Penyelesaian Peminjaman

Kd_peminjaman Tanggal_pinjam

Buku

Kd_buku Nama_buku

Detail_peminjaman

Kd_peminjaman Kd_buku Lama_pinjam

Setiap entitas kuat (strong entity) menjadi satu tabel dan simple attibutnya menjadi kolom. Relasi dari kardinalitas many-to-many

menjadi tabel, dan simple atribut menjadi kolom.

Atribut kunci pada entitas yang memiliki kardinalitas satu (many), menjadi kolom foreign key pada relasi. Dapat ditambahkan kolom baru sebagai primary key pada tabel dari relasi ini (lihat kolom id_det_pin).

Tabel yang terbentuk ada tiga (3) buah. Perhatikan atribut kd_buku

dan kd_peminjaman menjadi foreign key (FK) di tabel detail_peminjaman.

Unary Relationship

Soal (One to One/One to Many)

Penyelesaian Akun

(22)

Setiap entitas kuat (strong entity) menjadi satu tabel dan simple attibutnya menjadi kolom. Atribut kunci menjadi kolom primary key

dengan nama kolom seperti nama atribut kunci. Atribut kunci

(23)

Soal (Many to Many)

Penyelesaian Mahasiswa

Nim nama

History_ketua

Nim Tgl_awal Tgl_akhir Nim_ketua

Relasi dari kardinalitas many-to-many menjadi tabel, dan simple atribut menjadi kolom.

Ternary Relationship Soal

Penyelesaian Cabang

Kd_cab Nama_cab Alamat_cab

Karyawan

nip Nama Alamat Tgl_lahir

Posisi

(24)

Nip Kd_pos Kd_cab Tgl_mulai

.Setiap entitas kuat (strong entity) menjadi satu tabel dan simple attibutnya menjadi kolom. Atribut kunci menjadi kolom primary key

dengan nama kolom seperti nama atribut kunci. Relasi dari ternary relationship menjadi tabel, dan simple atribut menjadi kolom. Atribut kunci pada entitas yang berelasi menjadi kolom foreign key pada relasi. Tabel yang terbentuk ada empat (4) buah.

EER (Specialisasi dan Generalisasi) Soal

Penyelesaian Metode 1:

Entitas superclass menjadi tabel dengan simple atribut menjadi kolom. Atribut kunci menjadi primary key. Entitas subclass menjadi tabel dengan simple atribut menjadi kolom dan atribut kunci dari superclass menjadi kolom primary key pada subclass.

Buku

Kd_buku Nama_buku

Komik

Kd_buku Penulis Volume

Buku_ilmiah

Kd_buku ISBN Tahun Penulis

Jurnal_ilmiah

Kd_buku Volume Issue

Metode 2:

(25)

Atribut kunci dari superclass menjadi kolom primary key pada subclass.

Komik

Kd_buku Nama_buku Penulis Volume

Buku_ilmiah

Kd_buku Nama_buku ISBN Tahun Penulis

Jurnal_ilmiah

Kd_buku Nama_buku Volume Issue

Pemetaan ER Diagram ke Skema Relasi dan Diagram Relasi

Ubahlah setiap ER Diagram dibawah ini ke dalam bentuk Skema Relasi dan Diagram Relasi

Penyelesaian :

Skema relasi

Peminjaman (Kd_peminjaman, Tanggal_pinjam, @nip) Karyawan (nip, nama, alamat, Tgl_lahir)

Diagram relasi

peminjaman karyawa

n

kd_peminjama n

nip

Tanggal_pinja m

Nama

@nip Alamat

(26)
(27)

Test Akhir

1. Buatlah skema Relasi dari ERD di bawah ini !

2. Berdasarkan Diagram Relasi berikut, rubahlah ke dalam bentuk ER Diagram !

Resume

Jurnal Pengamatan

Pahami Soal-soal yang terdapat pada Praktik, kemudian buatlah laporan pengamatan yang terdapat pada bagian pengamatan.

Lain-lain

1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri yang terdiri dari jurnal pengamatan dan hasil test akhir. 2. Media pengerjaan dan pengumpulan bebas, ikuti aturan yang telah

(28)

Bab IV Lingkungan Kerja MySQL

Identitas

Kajian

Pengenalan Lingkungan Kerja MySQL

Topik

1. Create User

2. Login

3. Use Database

4. Show Tables

Referensi

1. Nugroho Adi. 2011. Perancangan dan Implementasi Sistem Basis Data. Penerbit Andi. Yogyakarta

2. Priyanto Rahmat.2002. Belajar Sendiri Menguasai MySQL 5. Elex Media Komputindo. Jakarta

3. Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

4. Randy J. Jarger, George Reese, Tim King, Hugh E. Wliliams. Managing and Using MySQL. 2nd Edition. O’Reilly .2002

Kompetensi Utama

1. Mahasiswa lebih mengenal lingkungan kerja dalam MySQL

2. Mahasiswa memahami perintah dasar dalam MySQL

Lama Kegiatan Praktikum

1. Pertemuan Terbimbing : 1 x 120 menit

2. Kegiatan Mandiri : 2 x 120 menit

Parameter Penilaian

1. Hasil Pengamatan 40%

(29)

Pertanyaan Pendahuluan

Kerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktu pengerjaan maksimal 15 menit.

1. Sebutkan minimal 5 type data yang anda ketahui, serta jelaskan penggunaannya masing-masing !

2. Sebutkan perangkat lunak minimal 3 yang dapat digunakan dalam RDBMS (Relational Database Management System) !

3. Ubahlah ER Diagram di bawah ini ke dalam bentuk Skema Relasi !

Praktik

Mengakses MySQL

MySQL merupakan aplikasi open source yang dapat berjalan di berbagai sistem operasi. Ada banyak cara untuk bisa mengakses MySQL, salah satunya menggunakan command prompt yang terdapat pada sistem operasi windows, dan perintah-perintah tersebut berlaku juga untuk MySQL yang terinstall di sistem operasi lainnya.

Untuk memulai mengakses MySQL melalui Command Prompt harus login terlebih dahulu, gunakan perintah mysql –u root –p kemudian tekan sehingga diminta untuk memasukkan password.

Untuk keluar dari MySQL (Disconnect) hanya dengan mengetik quit atau \q

lalu enter

Menciptakan User

Perintah dasar untuk menciptakan user adalah : CREATE USER <username>@<host> IDENTIFIED BY ‘<password>’;

Contoh user yang akan diciptakan adalah ‘tass’ dan passwordnya ‘tasstk’

(30)

Untuk memberikan privileges/hak kepada user yang baru kita buat dengan perintah GRANT.

Perintah dasarnya : GRANT <privileges>,[<privileges>] ,.. ON <database_name>.<table_name> TO <username>@<host>;

Untuk menghapus user digunakan perintah DROP USER Perintah dasarnya:

DROP USER <username>@<host>;

Menciptakan dan Menggunakan Database Soal

Buatlah sebuah database untuk menyimpan table-table yang terdapat pada kasus praktikum pertama.

Langkah Penyelesaian

Dalam pembuatan database hanyalah berupa menentukan nama database. Untuk menentukannya sebaiknya sesuai dengan isi dari database nantinya. Pada studi kasus praktikum pertama membahas tentang transaksi penjualan pada swalayan X, jadi akan lebih baiknya diberi nama ‘Penjualan’ atau

‘transaksi’

Sintak untuk menciptakan sebuah database di MySQL adalah CREATE DATABASE <nama database>;  setiap akhir sintak dalam MySQL selalu diakhiri dengan tanda titik koma (;)

Solusi Lengkap

Sebelum kita menciptakan database, ada baiknya kita melihat terlebih dahulu ada database apa saja yang telah diciptakan. Sintaknya adalah

SHOW DATABASES;

(31)

Nama database disini adalah ‘penjualan’, sehingga saat database telah tercipta akan tampil nama ‘penjualan’ diantara daftar database.

Membuat dan Menampilkan Table Soal

Buatlah sebuah table dari skema berikut :

Barang (kd_barang, nm_barang, stok, harga_jual)

Langkah Penyelesaian

Sebelum menciptakan table, anda diharuskan memilih database mana yang akan digunakan dengan perintah USE penjualan;

Perintah untuk menciptakan table “barang” adalah sebagai berikut :

Untuk menampilkan kembali struktur table yang sudah dibuat, dapat digunakan perintah DESC. Contoh, dengan menggunakan perintah DESC barang pada command line, maka akan ditampilkan struktur table barang seperti berikut :

Tambahan : perintah untuk menghapus database : DROP DATABASE namadatabase

Pengamatan

(32)

2. Melalui struktur table “barang” yang telah terbentuk, prediksilah apakah nilai-nilai dibawah ini dapat tersimpan pada kolom? Kemudian tuliskan alasannya !

Kolom / Field

Nilai yang akan disimpan

Berhasil

Alasan Ya/Tidak

Kd_barang KB0004567 nm_baran

g

Detergen Attack Softener

Stok 20,5

Test Akhir

Buatlah table dalam MySQL berdasarkan ERD dibawah ini !

Resume

Jurnal Pengamatan

Pahami Soal-soal yang terdapat pada Praktik, kemudian buatlah laporan pengamatan yang terdapat pada bagian pengamatan.

Lain-lain

1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri yang terdiri dari jurnal pengamatan dan hasil test akhir.

(33)

Bab V Data Definition Language

Identitas

Kajian

Data Definition Language

Topik

1. Create Table

2. Alter Table

3. Drop Table

Referensi

1. Nugroho Adi. 2011. Perancangan dan Implementasi Sistem Basis Data. Penerbit Andi. Yogyakarta

2. Priyanto Rahmat.2002. Belajar Sendiri Menguasai MySQL 5. Elex Media Komputindo. Jakarta

3. Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

4. Randy J. Jarger, George Reese, Tim King, Hugh E. Wliliams. Managing and Using MySQL. 2nd Edition. O’Reilly .2002

Kompetensi Utama

1. Mahasiswa memahami perintah DDL dan mampu mengimplementasikannya.

Lama Kegiatan Praktikum

1. Pertemuan Terbimbing : 1 x 120 menit

2. Kegiatan Mandiri : 2 x 120 menit

Parameter Penilaian

1. Hasil Pengamatan 40%

(34)

Pertanyaan Pendahuluan

Kerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktu pengerjaan maksimal 15 menit.

1. Sebutkan perintah-perintah yang dimiliki oleh DDL ! 2. Jelaskan apa itu primary key, foreign key, dan not null !

Praktik

Menciptakan Table

Dalam menciptakan (create) sebuah table, perhatikanlah susunan table yang disajikan pada sebuah skema relasi. Sususan sebuah table terdiri atas nama table, column, dan constraint yang mungkin terdapat pada table. Penting untuk memprediksi record (data) yang akan disimpan pada tiap table, sehingga pada saat mendefinisikan tipe data pada column akan tepat.

Soal

Perhatikan skema relasi berikut:

kasir PK kode_kasir

nama_kasir alamat no_telp

Sesuai dengan skema relasi diatas, buatlah table di MySQL.

Langkah Penyelesaian

1. Perhatikan nama table dan field yang terdapat pada skema diatas. Pastikan nama table yang akan digunakan memenuhi aturan penamaan table dan field.

2. Prediksi nilai yang akan tersimpan pada tiap kolom

14. “kode_kasir” akan menyimpan kode kasir , dengan contoh : K123 15. “nama_kasir” akan menyimpan nama kasir, dengan contoh : Siti

16. “alamat” akan menyimpan alamat kasir, dengan contoh : jl. Ters. Buah Batu no. 20

17. “no_telp” akan menyimpan nomor telepon kasir, dengan contoh : 02212345678

3. Prediksi nilai akan digunakan untuk menentukan tipe data yang tepat dan panjang karakter maksimal (length) yang akan disimpan pada setiap field.

4. Ciptakan (create) table tersebut dengan menggunakan sintak : CREATE TABLE

(35)

Pastikan anda telah memilih database yang akan digunakan dengan perintah

USE namatable, disini yang digunakan adalah database penjualan.

Perintah DDL yang dapat digunakan untuk menyusun table “kasir” adalah sebagai berikut:

Untuk menampilkan kembali struktur table yang sudah dibuat, dapat digunakan perintah DESC. Contoh, dengan menggunakan perintah DESC kasir pada Command Line, maka akan ditampilkan struktur table kasir seperti berikut:

Memodifikasi Table (Menambahkan Column)

Struktur table yang sudah dibuat dapat dimodifikasi sesuai dengan

kebutuhan. Salah satu modifikasi yang dapat dilakukan adalah menambahkan column. Perlu diingat bahwa modifikasi hanya dapat dilakukan jika table sudah terbentuk.

Soal

Tambahkan sebuah column “tgl_lahir” yang akan menyimpan tanggal lahir kasir. Nilai yang akan tersimpan pada column tersebut misalnya: 11-Feb-1988.

Langkah Penyelesaian

1. Perhatikan nama table yang akan dimodifikasi. Pastikan table tersebut sudah terbentuk dengan cara menggunakan perintah DESC.

2. Prediksi nilai yang akan tersimpan pada column yang akan ditambahkan. 3. Modifikasi table dengan menggunakan perintah DDL: ALTER TABLE …

ADD

Solusi Lengkap

(36)

Memodifikasi Table (Mengubah Tipe Data Column)

Pada saat mendefinisikan tipe data dan length pada sebuah table, haruslah memperhatikan nilai yang akan tersimpan pada column tersebut. Akan tetapi, pada kondisi tertentu, perubahan kebutuhan akan nilai yang disimpan bisa jadi berubah setelah table sudah terbentuk.

Soal

Pada saat akan menyimpan sebuah nilai pada column “alamat” ternyata ditemukan adanya masalah. Nilai “jln. Soekarno-Hatta no. 333” tidak dapat tersimpan ke dalam column “alamat” karena panjang (length) karakter yang akan disimpan melebihi 25 karekter. Untuk itu, modifikasilah struktur table “kasir”, khususnya pada column “alamat” sehingga bisa menyimpan nilai yang panjang karakternya lebih dari 20.

Langkah Penyelesaian

Untuk mengubah tipe data dan length pada sebuah column, digunakan perintah DDL: ALTER TABLE … MODIFY

Perlu diingat bahwa perintah DDL diatas tidak digunakan untuk merubah nama column.

Memodifikasi Table (Mengubah Nama Column)

Selain mengubah tipe data dan length pada sebuah column, DDL juga dapat digunakan untuk mengubah nama sebuah column. Pengubahan nama column tidak akan mengubah tipe data dan length pada column tersebut.

Soal

Ubahlah nama column “alamat” menjadi “domisili”.

Langkah Penyelesaian

(37)

DATA> <(length)>;

Memodifikasi Table (Menghapus Column)

Selain menambahkan column pada sebuah table, modifikasi table juga memungkinkan perintah untuk menghapus column yang sudah tidak sesuai dengan kebutuhan. Penghapusan column akan mengakibatkan terhapusnya semua nilai yang tersimpan pada column tersebut.

Ketika melakukan penghapusan pada sebuah column harus memperhatikan constraint yang dikenakan pada column tersebut.

Soal

Hapuslah column “domisili”

Langkah Penyelesaian

Untuk menghapus column, digunakan perintah DDL: ALTER TABLE … DROP COLUMN

Memodifikasi Table (Menambahkan key)

Dalam sebuah basisdata relasional terdapat keterhubungan antara table yang satu dengan table yang lain. Keterhubungan tersebut ditunjukkan dengan adanya column yang merelasikan kedua table melalui hubungan referential (Primary Key – Foreign Key).

Jika sebuah table yang seharusnya memiliki rujukan ke table lain terlanjur dibentuk tanpa mendefinisikan foreign key- nya, maka DDL dapat digunakan untuk

mengubah table tersebut dan menambahkan foreign key yang sesuai.

(38)

Perhatikan diagram relationship berikut:

Pada diagram relationship diatas, column “kota_asal” pada table “kasir” memiliki rujukan ke column “id_kota” yang terdapat pada table “kota”

Langkah Penyelesaian

Untuk menyelesaikan permasalahan (soal) diatas, dapat digunakan langkah-langkah sebagai berikut:

1. Bentuk (create) table “kota”

2. Modifikasi table “kasir” dengan menambahkan column “kota_asal” yang memiliki tipe data sama seperti tipe data pada column rujukan sekaligus set column tersebut memiliki constraint foreign key.

3. Sintak untuk menambahkan forreign key : ALTER TABLE namatable1 ADD FOREIGN KEY (column1) REFERENCES namatable2

(column2);

Solusi Lengkap

Untuk membentuk table “kota”, dapat menggunakan perintah DDL sebagai berikut:

Untuk memodifikasi table “kasir” dengan menambahkan column “kota_asal” sekaligus menunjuk column tersebut menjadi foreign key

dapat menggunakan perintah DDL sebagai berikut : kot

a PK id_kota nama_kot

(39)

18. Sintak untuk menambahkan primary key : ALTER TABLE namatable ADD PRIMARY KEY (column)

19. Sintak untuk menambahkan unique key : ALTER TABLE namatable ADD PRIMARY KEY (column1, column2, column N)

20. Sintak untuk menghapus primary key : ALTER TABLE namatable DROP PRIMARY KEY (column)

Mengubah Nama Table Dan Menghapus Tabel

Sintak untuk menambahkan primary key : DROP TABLE namatable

Sintak untuk mengubah nama table : ALTER TABLE namatable RENAME namatablelama TO namatablebaru

Pengamatan

1. Tentukan tipe data yang tepat pada column “kode_kasir” jika nilai yang akan disimpan pada column tersebut adalah:

Nilai yang akan Tipe Length

01 1 JKT

2. Lakukan pengubahan tipe data pada column “kode_kasir” dengan mempertimbangkan nilai yang akan disimpan sesuai pada no. 1

Perintah DDL untuk memodifikasi

Test Akhir

(40)

2. Perhatikan transformasi tabel berikut. Nyatakan sintaks SQL yang dibutuhkan untuk melakukan perubahan tersebut.

Tabel asal

Tabel perubahan

3. Perhatikan transformasi tabel berikut. Nyatakan sintaks SQL yang dibutuhkan untuk melakukan perubahan tersebut.

Tabel asal

Tabel perubahan

4. Perhatikan transformasi tabel berikut. Nyatakan sintaks SQL yang dibutuhkan untuk melakukan perubahan tersebut.

(41)

Tabel perubahan

5. Gunakan sintaks yang dimaksud untuk melakukan perubahan nama tabel

Asisten menjadi tabel Asisten_Lab

6. Perhatikan transformasi tabel disamping berikut. Nyatakan sintaks SQL yang dibutuhkan untuk melakukan perubahan tersebut.

Tabel asal

Tabel perubahan

7. Berdasarkan tabel yang diketahui berikut. Sintaks apa yang digunakan untuk

menghapus tabel dokter

Diketahui tabel

Dan Tabel

Resume

Jurnal Pengamatan

Pahami Soal-soal yang terdapat pada Praktik, kemudian buatlah laporan pengamatan yang terdapat pada bagian pengamatan.

Lain-lain

(42)

2. Media pengerjaan dan pengumpulan bebas, ikuti aturan yang telah ditetapkan oleh asisten praktikum.

(43)

Bab VI Data Manipulation Language

Identitas

Kajian

Data Manipulation Language

Topik

1. Insert

2. Update

3. Delete

Referensi

1. Nugroho Adi. 2011. Perancangan dan Implementasi Sistem Basis Data. Penerbit Andi. Yogyakarta

2. Priyanto Rahmat.2002. Belajar Sendiri Menguasai MySQL 5. Elex Media Komputindo. Jakarta

3. Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

4. Randy J. Jarger, George Reese, Tim King, Hugh E. Wliliams. Managing and Using MySQL. 2nd Edition. O’Reilly .2002

Kompetensi Utama

1. Mahasiswa memahami perintah DML dan mampu mengimplementasikannya

Lama Kegiatan Praktikum

1. Pertemuan Terbimbing : 1 x 120 menit

2. Kegiatan Mandiri : 2 x 120 menit

Parameter Penilaian

1. Hasil Pengamatan 40%

(44)

Tugas Pendahuluan

Pada praktikum sebelumnya ditugaskan untuk melengkapi database

“penjualan” dengan memenuhi diagram relationship yang telah diberikan. Tunjukkan kepada asisten praktikum dan tugas ini sebagai syarat untuk praktikum minggu ini.

Praktik

Mengisi Data (Insert) Soal

Isilah data-data berikut ke dalam table “barang” pada database ‘penjualan’

kd_barang nm_barang stok harga_jual

Mk002 Indomie mie goreng iga sapi

12 1200

Mk016 2 11000

Mn007 Frestea madu 22 5000

Sb029 Sabun cair Lux 250ml 18 9500 Sp011 Sampo sunsilk 100ml 13 7000

Langkah Penyelesaian

1. Perhatikan database dan nama table yang akan diisi data-datanya, pastikan table tersebut sudah dibentuk dengan menggunakan DESC

2. Ada beberapa struktur sintak yang dapat digunakan untuk mengisi data.

INSERT INTO Nama_Tabel VALUES (

Data_kolom1, Data_kolom2, Data_kolom3 );

Format Menambah Data Jika Semua Kolom Ingin Diisi

INSERT INTO Nama_Tabel (Nama_Kolom1, Nama_Kolom2) VALUES (

Data_kolom1, Data_kolom2 );

Format Menambah Data Jika Hanya Kolom Tertentu Yang Diisi:

INSERT INTO Nama_Tabel VALUES

(Data_kolom1,Data_kolom2,Data_kol om3),

(Data_kolom1,Data_kolom2,Data_kol om3),

(45)

om3);

Solusi Lengkap

Data pada baris pertama setiap kolomnya lengkap, maka sintak yang

digunakan adalah :

Data pada baris kedua ada kolom yang tidak terisi yaitu kolom ‘nm_barang’, maka sintak yang digunakan adalah :

Data pada baris selanjutnya setiap kolomnya semua lengkap, maka untuk lebih efisien sintak yang digunakan adalah :

Untuk melihat hasil data yang telah diisi dengan menggunakan sintak :

SELECT * FROM namatable;

Merubah Data (Update) Soal

Pada table ‘barang’ ubahlah nama barang yang memiliki kode barang = ‘Mk016’ menjadi ‘Silver Queen’ !

Langkah Penyelesaian

1. Pastikan table ‘barang’ telah terisi dengan data

2. Analisa terlebih dahulu apa yang akan dirubah dan syarat perubahan datanya 3. Data yang akan dirubah adalah nama barang = ‘Silver Queen’, dan syarat

perubahan datanya adalah kode barang = ‘Mk016’ 4. Sintak dasar merubah ada adalah :

UPDATE Nama_Tabel

SET Nama_Kolom = ‘data_baru’

WHERE syarat_perubahan_data;

(46)

Hasil perubahannya :

Menghapus Data (Delete) Soal

Pada table ‘barang’, hapuslah data yang memiliki kode barang = ‘Mn007’

Langkah Penyelesaian

1. Pastikan table ‘barang’ telah terisi dengan data 2. Analisa terlebih syarat perubahan datanya

3. Data yang akan dihapus memiliki syarat adalah kode barang = ‘Mn007’ 4. Sintak dasar merubah ada adalah :

DELETE FROM Nama_Tabel

WHERE syarat_perubahan_data;

Solusi Lengkap

Hasilnya :

Pengamatan

Isilah setiap table yang sudah anda buat dengan data minimal 3 baris

Tes Akhir

Di asumsikan ada 2 tabel yang memiliki kolom sebagai berikut : pelanggan

id_plg nama_plg alamat Email

(47)

id_produk nama_prd Jumlah harga

1. Tuliskan sintaks yang dimaksud untuk memunculkan table berikut

2. Tuliskan sintaks yang dimaksud untuk memunculkan table berikut

3. Tuliskan sintaks yang dimaksud untuk memunculkan perubahan table

berikut

Tabel awal

Tabel perubahan

4. Tuliskan sintaks yang dimaksud untuk memunculkan perubahan table

berikut

Tabel awal

(48)

Tabel awal

Tabel perubahan

6. Tuliskan sintaks yang dimaksud untuk memunculkan perubahan table

berikut

Tabel awal

Tabel perubahan

7. Tuliskan sintaks yang dimaksud untuk memunculkan perubahan table

berikut

Tabel awal

Tabel perubahan

Resume

Praktik Pengamatan

Pahami Soal-soal yang terdapat pada Praktik, kemudian lakukan tugas yang terdapat pada bagian pengamatan.

(49)

1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri yang terdiri dari hasil test akhir.

2. Praktik pengamatan diperlihatkan langsung hasilnya kepada asisten praktikum

(50)

Bab VII Select Statement

Identitas

Kajian

Seleksi Data

Topik

1. Data integrity constraint

Referensi

1. Nugroho Adi. 2011. Perancangan dan Implementasi Sistem Basis Data. Penerbit Andi. Yogyakarta

2. Priyanto Rahmat.2002. Belajar Sendiri Menguasai MySQL 5. Elex Media Komputindo. Jakarta

3. Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

4. Randy J. Jarger, George Reese, Tim King, Hugh E. Wliliams. Managing and Using MySQL. 2nd Edition. O’Reilly .2002

Kompetensi Utama

1. Mahasiswa mampu menyajikan informasi yang terismpan pada table melalui perintah SELECT

Lama Kegiatan Praktikum

1. Pertemuan Terbimbing : 1 x 120 menit

2. Kegiatan Mandiri : 2 x 120 menit

Parameter Penilaian

1. Hasil Pengamatan 40%

(51)

Pertanyaan Pendahuluan

1. Jelaskan kegunaan dari DML statement : INSERT, UPDATE, DELETE dan SELECT 2. Apa kegunaan * (bintang) pada klausa SELECT?

3. Sebutkan kegunaan klausa WHERE pada SQL Statement ! 4. Sebutkan kegunaan dari operator pembanding :

1. BETWEEN 2. <>

3. ! > 4. AND

5. Apa perbedaan wildcard % (percent) dan _ (underscore) yang digunakan pada operator pembanding LIKE ?

Praktik

Database yang digunakan pada praktikum untuk penyajian (seleksi) informasi yang tersimpan pada table adalah ‘penjualan. Secara lengkap diagram relasi yang menggambarkan hubungan antar table pada database ‘penjualan’ adalah sebagai berikut :

Seleksi Data

Untuk menyajikan informasi (seleksi data) yang tersimpan pada table, perintah SQL yang digunakan adalah SELECT. Penyajian informasi melalui perintah SELECT tidak akan mempengaruhi perubahan data yang tersimpan pada table. Hasil yang dikembalikan pada saat menjalan SQL Statement merupakan gambaran data atau informasi yang tersimpan pada table yang diakses, tanpa merubah data yang tersimpan didalamnya.

Perintah dasar SELECT mengikuti pola (pattern) sebagai berikut :

SELECT daftar_field FROM nama_tabel [WHERE kriteria]

Jika akan menampilkan nilai pada semua column pada table, maka pada klausa SELECT digunakan * (bintang). Sedangkan jika kita hanya akan

menampilkan nilai pada beberapa column saja pada table, maka pada klausa SELECT disebutkan nama setiap column yang akan disajikan nilainya.

Soal

(52)

1. Untuk menyajikan informasi yang dimaksud pada soal, kita harus mengetahui dengan jelas struktur suatu database dan kegunaan tiap table serta column pada table tersebut.

2. Umumnya, kata “semua” dimaksudkan untuk menyajikan nilai yang tersimpan pada semua column pada table sedangkan jika hanya beberapa column saja yang akan disajikan, maka disebutkan secara eksplisit column apa saja yang akan disajikan.

Solusi Lengkap

1. Untuk menyelesaikan persoalan nomer 1, digunakan SQL Statement sebagai berikut :

Maka hasilnya :

2. Untuk menyelesaikan persoalan no.2 digunakan SQL Statement sebagai berikut :

Menggunakan Operator Aritmatika

Untuk kebutuhan tertentu, data atau informasi yang ditampilkan dapat diolah mengguanakn operator aritmatika tertentu. Operator aritmatika dapat

dikenakan pada column yang mempunyai tipe data numerik atau tipe data tanggal (terbatas pada operator + dan -). Jika nilai yang tersimpan pada column adalah NULL, maka hasil operasi aritmatika akan mengembalikan nilai NULL.

Operator aritmatika yang dapat digunakan adalah :

(53)

* Perkalian

/ Pembagian

Penggunaan operator aritmatika untuk mengolah informasi yang disajikan, tidak mempengaruhi nilai (record) yang tersimpan pada table.

Soal

Tampilkan nama barang, harga satuan dan harga setiap lusinnya

Langkah Penyelesaian

1. Column yang menyimpan informasi nama barang adalah column ‘nm_barang, sedangkan column yang menyimpan informasi harga satuan adalah column ‘harga_jual’

2. Untuk menghitung harga selusin, digunakan rumus 1 lusin = 12 buah, maka harga_jual * 12

Solusi Lengkap

Agar penyajian informasi lebih informative, khususnya pada penamaan column heading, kita dapat menambahkan alias untuk menggantikan column heading yang kurang informative. Contoh : nama column

‘harga_jual*12’ pada column heading dapat diganti dengan ‘harga 1lusin’ menggunakan sintak berikut :

Mengurutkan Penyajian Data

(54)

Tampilkan nama barang dan harganya, informasi yang ditampilkan diurutkan secara menaik (ASC) berdasarkan harga.

Langkah Penyelesaian

1. Column yang menyimpan informasi nama barang adalah ‘nm_barang’, sedangkan column yang menyimpan informasi harga barang adalah column ‘harga_jual’ pada table ‘barang’

2. Untuk mengurutkan data yang disajikan, ditambahkan klausa ORDER BY pada akhir sintak.

Solusi Lengkap

Untuk menyelesaikan persoalan diatas, digunakan sintak sebagai berikut :

Klausa Where

FROM digunakan untuk menentukan table yang menyimpan column

WHERE digunakan untuk membatasi informasi yang akan disajikan dengan menambahkan kondisi-kondisi yang disyaratkan. Setiap kondisi akan dicek nilai kebenarannya (Boolean). Dengan demikian, record yang dikembalikan oleh SQL Statement hanyalah record yang memenuhi kondisi (nilai kebenaran kondisi adalah TRUE)

Kondisi yang ditambahakan pada klausa WHERE setidaknya mengandung operator pembanding sebagai berikut :

Operator Penjelasan

= Sama dengan < >, != Tidak sama dengan

< Kurang dari > Lebih besar dari

< = Kurang dari atau sama dengan > = Lebih dari atau sama dengan

! > Tidak lebih besar dari ! < Tidak lebih kecil dari

BETWEEN Antara dua nilai yang ditentukan LIKE Menyesuaikan nilai yang ditentukan AND Merangkai criteria pencarian

Operator LIKE digunakan untuk menampilkan record yang sesuai dengan pola pencarian menggunakan karakter wildcard. Karakter wildcard yang dapat digunakan adalah % (percent) dan _ (underscore), dimana :

21. % menandakan karakter apapun (jumlah karakter 0 – n).

(55)

1. Tampilkan nama barang dan harga yang memilki harga >= 3500

2. Tampilkan nama barang dan stok yang memiliki stok antara 5 sampai 15 3. Tampilkan kode dan nama barang yang memiliki kode diawali dengan ‘Mk’ 4. Tampilkan nomer nota dan total belanja pada tanggal 19 Januari 2014

Langkah Penyelesaian

1. Untuk menyajikan informasi yang dimaksud dengan soal, harus ditambahkan kondisi yang disyaratkan

2. Kondisi yang ditambahkan harus menggunakan operator pembanding yang tepat

1. Kata kunci kondisi pada soal nomer 1, memilki harga >= 3500

identik dengan harga_jual >= 3500

2. Kata kunci kondisi pada soal nomer 2, memiliki stok antara 5 sampai 15 identik dengan stok between 5 and 15

3. Kata kunci kondisi pada soal nomer 3, memiliki kode diawali dengan ‘Mk’ identic dengan kd_barang like ‘Mk%’

4. Kata kunci kondisi pada soal nomer 4, pada tanggal 19 Januari 2014 identik dengan tgl_transaksi = 19-01-2014

Solusi Lengkap

1. Untuk menyelesaikan persoalan nomer 1, digunakan SQL Statement sebagai berikut :

2. Untuk menyelesaikan persoalan nomer 2, digunakan SQL Statement sebagai berikut :

(56)

4. Untuk menyelesaikan persoalan nomer 4, penulisan tanggal menggunakan format YYYYMD = ‘20140119”. Sehingga digunakan SQL Statement sebagai berikut :

Pengamatan

Cobalah sintak berikut, kemudian jelaskan hasil eksekusi dari sintak tersebut : 1. SELECT nm_barang, harga_jual, harga_jual*12*(10/100) from barang

2. SELECT kd_barang, nm_barang/12 FROM barang; 3. SELECT nm_barang, stok * harga_jual FROM barang;

4. SELECT kd_barang, nm_barang FROM barang ORDER BY nm_barang, kd_barang DESC;

5. SELECT nm_barang, harga_jual FROM barang WHERE harga_jual = 9500 OR harga_jual = 13000;

6. SELECT no_nota, total_jual FROM transaksi WHERE kasir LIKE ‘_01’

Test Akhir

Buatlah sintak untuk menyelesaikan persoalan berikut :

1. Menampilkan nama barang, harga dan harga diskon. Diskon dihitung dengan cara harga dikurangi dengan harga yang telah didiskon 10%. Rumus : Harga -(harga*10/100)

2. Menampilkan kode dan nama kasir terurut berdasarkan nama kasir secara menurun

3. Menampilkan nama barang, dan total harga dari jumlah stok yang tersedia (stok * harga_jual)

4. Menampilkan kode barang dan jumlah barang yang dibeli berdasarkan nomer nota ‘2014011902’

5. Menampilkan nama barang yang stoknya sudah habis

(57)

Jurnal Pengamatan

Pahami Soal-soal yang terdapat pada Praktik, kemudian buatlah laporan pengamatan yang terdapat pada bagian pengamatan.

Lain-Lain

1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri yang terdiri dari jurnal pengamatan dan hasil test akhir.

(58)

Bab VIII Select Statement With Join

Identitas

Kajian

Select Statement With Join

Topik

1. Inner Join

2.

Referensi

1. Nugroho Adi. 2011. Perancangan dan Implementasi Sistem Basis Data. Penerbit Andi. Yogyakarta

2. Priyanto Rahmat.2002. Belajar Sendiri Menguasai MySQL 5. Elex Media Komputindo. Jakarta

3. Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

4. Randy J. Jarger, George Reese, Tim King, Hugh E. Wliliams. Managing and Using MySQL. 2nd Edition. O’Reilly .2002

Kompetensi Utama

1. Mahasiswa mamahami dan mampu menerapkan konsep join

Lama Kegiatan Praktikum

1. Pertemuan Terbimbing : 1 x 120 menit

2. Kegiatan Mandiri : 2 x 120 menit

Parameter Penilaian

1. Hasil Pengamatan 40%

(59)

Pertanyaan Pendahuluan

Jawablah pertanyaan-pertanyaan berikut dalam waktu 10 menit ! 1. Sebutkan jenis Join dalam SQL Statement dan jelaskan !

2. Jelaskan kenapa dalam join primary key itu sangat penting !

Praktik

Terkadang kita harus memilih data dari dua table atau lebih untuk

mendapatkan hasil yang komplit. Oleh karena itu, kita harus melakukan sebuah JOIN. Join merupakan operasi yang digunakan untuk menggabungkan dua table atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari table-tabel tersebut. Pada join sederhana, table-tabel digabungkan dan

didasarkan pada pencocokan antara kolom pada table yang berbeda. Table – table dalam sebuah basis data dapat dihubungkan satu sama lain

menggunakan kunci. Kunci utama adalah sebuah kolom dengan nilai unit untuk masing-masing baris. Tujuannya adalah menggabungkan data antartabel tanpa mengulangi semua data pada setiap table.

Misalnya kita memilih data dari dua table (table kasir dan transaksi) dengan mengacu pada kedua table sebagai berikut :

Kita pun bisa menggunakan kata kunci JOIN untuk memilih data. Ada tiga macam kunci JOIN, yaitu INNER JOIN, LEFT JOIN, dan RIGHT JOIN.

Inner Join

Inner join digunakan untuk menampilkan data dari dua table yang berisi data sesuai dengan syarat di belakan on (tidak boleh null), dengan kata lain semua data dari table kiri mendapat pasangan data dari table sebelah kanan.

SELECT field1, field2, …

FROM tabel1 INNER JOIN tabel2

ON tabel1.kunci_utama = tabel2.kunci_asing

Left Join

Left join digunakan untuk menampilkan semua data dari table sebelah kiri perintah left join beserta pasangannya dari table sebelah kanan. Meskipun terdapat data dari sebelah kiri tidak memiliki pasangan, tetap akan

ditampilkan dengan pasangannya berupa nilai NULL. Sintaknya adalah sebagai berikut :

(60)

ON tabel1.kunci_utama = table2.kunci_asing

Right Join

Right join digunakan untuk menampilkan semua data dari table sebelah kanan perintah right join beserta pasangannya dari table sebelah kiri. Merkipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.

SELECT field1, field2, …

FROM tabel1 RIGHT JOIN tabel2

ON tabel1.kunci_utama = table2.kunci_asing

Test Akhir

1. Tampilkan kode barang dan nama barang yang jumlah penjualannya diatas 2 buah

2. Tampilkan no_nota dan nama kasir yang melayani penjualan pada tanggal 20 Januari 2014

3. Tampilkan tampilkan nama kasir dan nomer telepon yang melayani penjualan bernota ‘2014011902’

4. Tampilkan nama kasir yang menjual ‘Silever Queen’

(61)

Bab IX Aggregate Function

Identitas

Kajian

Fungsi Aggregasi

Topik

1. Fungsi Aggregasi

Referensi

1. Nugroho Adi. 2011. Perancangan dan Implementasi Sistem Basis Data. Penerbit Andi. Yogyakarta

2. Priyanto Rahmat.2002. Belajar Sendiri Menguasai MySQL 5. Elex Media Komputindo. Jakarta

3. Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

4. Randy J. Jarger, George Reese, Tim King, Hugh E. Wliliams. Managing and Using MySQL. 2nd Edition. O’Reilly .2002

Kompetensi Utama

1. Mahasiswa lebih memahami dan bisa mengimplementasikan fungsi aggregasi

Lama Kegiatan Praktikum

1. Pertemuan Terbimbing : 1 x 120 menit

2. Kegiatan Mandiri : 2 x 120 menit

Parameter Penilaian

1. Hasil Pengamatan 40%

(62)

Pertanyaan Pendahuluan

Jawablah pertanyaan berikut dalam waktu 15 menit 1. Jelaskan kesalahan pada SQL Statement berikut :

23. SELECT job_id, count(*) FROM employees ORDER BY job_id

24. SELECT job_id, avg(salary) FROM employees ORDER BY job_id HAVING salary > 10000

25. SELECT job_id, avg(salary) FROM employees WHERE avg(salary) > 10000 GROUP BY job_id

2. Apa perbedaan dari penggunaan klausa count (*) dan sum(*) ?

Praktik

Aggregate Function

Aggregate function merupakan fungsi-fungsi di SQL yang mengoperasikan sekumpulan baris (row) data untuk menghasilkan sebuah hasil (nilai). Sekumpulan baris yang dioperasikan ditunjukkan melalui pemilihan column sebagai argument pada fungsi agregasi tersbut. Table berikut menjelaskan fungsi agregasi yang disematkan pada klausa SELECT.

KLAUSA PENJELASAN

AVG Sama dengan

COUNT Mengetahui jumlah record MAX Mengetahui nilai maximal

MIN Mengetahui nilai minimal SUM Menghitung jumlah data

DISTINCT Mengambil hanya satu data dari record kembar

TOP Mengambil baris teratas

AS Mengambil caption dari field (alias)

Fungsi agregasi dapat digunakan sebagai elemen pada kalusa SELECT. Sintaks umum fungsi agregasi adalah sebagai berikut :

Soal

1. Tampilkan rata-rata harga, harga tertinggi, harga terendah dan total harga barang

2. Tampilkan jumlah transaksi yang telah dilayani oleh kasir ‘K03’

3. Tampilkan jumlah item barang yang terdapat pada transaksi ‘2014011902’

Langkah Penyelesaian

1. Untuk menyelesaikan permasalahan nomer 1, kita tentukan terlebih dahulu fungsi agregasi yang akan digunakan :

26. Untuk menampilkan rata-rata harga, digunakan fungsi aggregasi avg

27. Untuk menampilkan harga tertinggi, digunakan fungsi aggregasi max

(63)

29. Untuk menampilkan total harga, digunakan fungsi aggregasi sum

2. Untuk menyelesaikan permasalahan nomer 2, kita tentukan terlebih dahulu fungsi aggregasi yang akan digunakan adalah count (*). Fungsi count (*) digunakan untuk menghitung jumlah baris data dari hasil eksekusi SQL Statement, sekaligus menghitung NULL value sebagai sebuah baris data. 3. Untuk menyelesaikan permasalahan nomer 3, fungsi aggregasi yang

digunakan adalah count (barang), Berbeda dengan count (*), jika kita gunakan nama column sebagai argument pada function count, artinya jumlah baris yang akan dikembalikan ada jumlah baris yang tidak mengandung NULL value.

Solusi Lengkap

1. Untuk menyelesaikan persoalan nomer 1, digunakan SQL Statement sebagai berikut :

2. Untuk menyelesaikan persoalan nomer 2, digunakan SQL Statement sebagai berikut :

3. Untuk menyelesaikan persoalan nomer 3, digunakan SQL Statement sebagai berikut :

Pengelompokkan data melalui Klausa Group By

Penggunaan fungsi aggregasi pada klausa SELECT akan mengoperasikan keseluruhan nilai yang tersimpan pada sebuah column menjadi sebuah nilai, artinya keseluruhan nilai tersebut akan menjadi sebuah kelompok. Untuk membuat kelompok data yang lebih kecil, pada SQL statement dapat

ditambahkan klausa GROUP BY. Column yang ditunjuk pada klausa GROUP BY akan menjadi acuan pengelompokkan data sesuai dengan nilai yang

(64)

Tampilkan tanggal dan rata-rata omset setiap harinya Langkah Penyelesaian

Untuk menyelesaikan soal diatas, fungsi agregasi yang digunakan untuk menampilkan rata-rata omset (total penjualan) setiap hari adalah avg. sedangkan untuk mengelompokkan data per hari (tanggal), ditambahkan klausa GROUP BY dan menunjuk column ‘tgl_transaksi’ pada klausa GROUP BY. Berikut SQL Statement untuk menyelesaikan soal tersebut :

Klausa Having

Selain digunakan untuk mengoperasikan sekumpulan nilai pada sebuah column melalui klausa SELECT, fungsi aggretasi juga dapat digunakan untuk membatasi data. Pada modul sebelumnya, pembatasan data dilakukan dengan menambahkan klausa WHERE pada SQL Statement. Penambahan klausa WHERE saja yang akan disajikan. Penggunaan fungsi aggregasi untuk

membatasi data dilakukan dengan cara menambahkan klausa HAVING pada SQL Statement.

Soal

Tampilkan total penjualan tertinggi dan terendah serta rata-ratanya yang dilakukan oleh setiap kasir yang memiliki rata-rata penjualan diatas 20000

Langkah Penyelesaian

Untuk menyelesaikan persoalan di atas, kita tentukan bagian pada klausa SELECT, GROUP BY, dan HAVING serta fungsi aggregasi yang terlibat sebagai berikut :

1. Pada klausa SELECT digunakan fungsi aggregasi ‘min’ untuk menampilkan total penjualan, dan ‘max’ untuk nilai tertinggi serta ‘avg’ untuk nilai rata-rata. 2. Pada klausa GROUP BY ditunjuk column ‘kasir’

3. Pada klausa HAVING digunakan fungsi aggregasi ‘avg’ untuk menghitung rata-rata penjualan

Berikut sintak dan hasilnya :

Test Akhir

(65)

3. Tampilkan kasir yang mendapatkan bonus, dimana syarat mendapatkan bonus adalah yang bisa mendapatkan total penjualan diatas 30000

(66)

Daftar Pustaka

[1 ]

Nugroho Adi. 2011. Perancangan dan Implementasi Sistem Basis Data. Penerbit Andi. Yogyakarta

[2 ]

Priyanto Rahmat.2002. Belajar Sendiri Menguasai MySQL 5. Elex Media Komputindo. Jakarta

[3 ]

Abraham Silberschatz, Henry F. Korth. Database System Concepts 3rd Edition. 1999.

[4 ]

Randy J. Jarger, George Reese, Tim King, Hugh E. Wliliams. Managing and Using MySQL. 2nd Edition. O’Reilly .2002

[5 ]

Nugroho Adi. 2011. Perancangan dan Implementasi Sistem Basis Data. Penerbit Andi. Yogyakarta

[6 ]

Gambar

TABLE <namatable> CHANGE <column lama> <column baru> <TYPE
Tabel perubahan
table beserta primary key dan foreign key nya.
table tersebut sudah dibentuk dengan menggunakan DESC
+3

Referensi

Dokumen terkait

Selain menyimpan data, DBMS juga akan menyisipkan kode-kode tertentu ke dalam databse yang bertujuan agar database tersebut dapat digunakan dengan mudah, cepat dan

EXCEPT merupakan operator yang digunakan untuk me mpe roleh data dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan

Mampu melakukan query pada beberapa table dengan menggunakan klausa JOIN yang benarC. Melakukan query pada beberapa table

Buatlah blok anonim PL/SQL untuk menampilkan data NIM dan nama mahasiswa yang memiliki NIM 3031001 dengan menggunakan Table Based Record dan sintaks %ROWTYPE4.

Suatu tabel dalam basis data dapat dihubungkan (direlasikan) dengan tabel yang lain. Misalkan tabel pegawai yang telah kita buat sebelumnya akan direlasikan dengan tabel

Fragmentasi merupakan suatu proses pembagian data dari satu buah table ke dalam beberapa buah table yang berbeda, dimana didalam arisitektur database

Berikut akan diberikan langkah-langkah membuat query dari TblBarang yang menampilkan enam field (Kode Barang, Nama Barang, Satuan, Stock, Harga Satuan dan Nilai

Fragmentasi merupakan suatu proses pembagian data dari satu buah table ke dalam beberapa buah table yang berbeda, dimana didalam arisitektur database