Hanya dipergunakan di lingkungan Telkom Applied Science School
Daftar Penyusun
Daftar Isi
Daftar Penyusun iDaftar 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
Bab I entitas dan atribut
IdentitasKajian
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%
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 :
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
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
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
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
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.
Bab II Relationship dan Kardinalitas
IdentitasKajian
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%
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
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
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
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.
Bab III Skema Relasi dan Diagram Relationship
IdentitasKajian
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%
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
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
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
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
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
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
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
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:
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
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
Bab IV Lingkungan Kerja MySQL
IdentitasKajian
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%
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’
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;
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
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.
Bab V Data Definition Language
IdentitasKajian
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%
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
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
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
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.
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
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
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.
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
2. Media pengerjaan dan pengumpulan bebas, ikuti aturan yang telah ditetapkan oleh asisten praktikum.
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%
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),
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;
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
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
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.
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
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%
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
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 :
* 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
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).
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 :
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
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.
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%
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 :
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’
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%
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
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
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
3. Tampilkan kasir yang mendapatkan bonus, dimana syarat mendapatkan bonus adalah yang bisa mendapatkan total penjualan diatas 30000
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 ]