KA1064
PERANCANGAN BASIS DATA
MODUL PRAKTIKUM
Departemen Teknologi InformasiTelkom Applied Science School
2015
Hanya dipergunakan di lingkungan Telkom Applied Science School
Daftar Penyusun
H a l i
DAFTAR PENYUSUN
1. Versi 1 : 2014 02 : Arita Witanti, S.T.
2. Versi 2 : 2015 02 : Irna Yuniar, S.T.,M.A.B.
Magdalena Karismariyanti, S.T., M.B.A.
Daftar Isi
H a l ii
Daftar IsiDaftar Penyusun............................................................................................................................................ i
Daftar Isi ....................................................................................................................................................... ii
Mind Map Kajian ER Diagram ......................................................................................................................1
1 Bab I Entitas dan Atribut.......................................................................................................................1
2 Bab II Relationship/relasi....................................................................................................................14
3 Bab III Spesialisasi-Generalisasi dan Agregasi.....................................................................................29
4 Bab IV Memetakan ER-Diagram ke dalam tabel, Skema Relasi, dan Diagram Relasi Antar Tabel .....42
5 Bab V Key dan Functional Dependencies ...........................................................................................53
6 Bab VI Normalisasi 1st NF sampai dengan BCNF................................................................................63
7 Bab VII SQL (DDL dan DML Sederhana) ..............................................................................................83
8 Bab VIII Single Row Function ..............................................................................................................83
9 Bab IX Join Dua Tabel..........................................................................................................................83
10 Bab X Join Tiga Tabel......................................................................................................................83
11 Bab XI Presentasi Progress Tugas Besar.........................................................................................83
12 Bab XII Presentasi Final Tugas Besar..............................................................................................83
13 Daftar Pustaka................................................................................................................................83
Entitas dan Atribut
H a l 1
MIND MAP KAJIAN ER DIAGRAM
1 BAB I ENTITAS DAN ATRIBUT
1.1 IDENTITAS
KajianER Diagram
Topik1. Entitas dan Atribut
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications,
2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu,
India: Springer, 2007.3. Basis Data
Kompetensi Utama
1. Mampu mengetahui dan memahami symbol dan terminology dalam E-R diagram2. Mengetahui secara umum bagaimana E-R model dari suatu bisnis proses tertentu3. Mengerti tentang entitas, entitas lemah4. Mampu mengidentifikasi dengan benar entitas yang dibutuhkan dari suatu bisnis proses tertentu5. Mengerti apa yang disebut dengan atribut dan bagaimana symbolnya6. Mengerti semua jenis atribut dan simbolnya7. Mampu mengidentifikasi atribut suatu entitas dengan benar sesuai dengan kebutuhan bisnis
proses tertentu8. Mampu membedakan kebutuhan entitas, atribut atau nilai dari suatu atribut tertentu
Entitas dan Atribut
H a l 2
Lama Kegiatan Praktikum
1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 30%2. Jurnal : Hasil Pengamatan 30%3. Tugas Akhir 40%
Entitas dan Atribut
H a l 3
1.2 PERTANYAAN PENDAHULUAN
Kerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktu
pengerjaan maksimal 15 menit. Kerjakan dengan tulisan tangan boleh bolpen atau pensil.
1. Jelaskan apa yang dimaksud dengan entitas!
2. Jelaskan apa yang dimaksud dengan atribut!
3. Jelaskan apa yang dimaksud dengan atribut kunci!
4. Apakah hubungan antara entitas, atribut dan ER diagram ?
5. Sebutkan jenis-jenis atribut dan simbolnya!
6. Perhatikan gambar dibawah ini !
Lalu tolong tuliskan mana sajakah yang termasuk entitas dan atribut !
Produk Memasok Distributor
Nama_produk
Ongkos kirim
Tgl Kirim
#Id_distributor
Nama_distributor
No_tlpn
alamat
N N
#Id_produk
Jumlah
1.3 PRAKTIK
Kasus Ananda
Pada bagian ini, akan dipelajari mengenai
1. Cara menentukan entitas
2. Cara menemukan atribut dan nilainya
1.3.1.1 Soal
Bagian 1
Sebuah perusahaan yang bergerak dibidang bakery, bernama Ananda Brownis, menjual berbagai dua
jenis kue yaitu kue basah dan kue kering. Kue-kue ini memiliki harga beragam mulai dari 20.000
sampai 50.000 rupiah. Perbedaan kue basah dan kue kering terletak pada jangka waktu expired-nya
dimana kue basah 3 hari sedangkan kue kering dapat bertahan hingga 3 bulan.
Berikut ini makanan yang dijual di perusahaan ini.
Entitas dan Atribut
H a l 4
Jenis Kue KodeKue
Nama Kue HargaSatuan
Kue Basah ORIG Brownies Original 26.000,-
BABZ Brownies Banana Bizz 30.000,-
BLUE Brownies Blueberry 32.000,-
CHCR Brownies Cheese Cream 52.000,-
COMA Brownies Choco Marble 30.000,-
GREE Brownies Green Marble 32.000,-
PINK Brownies Pink Marble 30.000,-
SRKY Brownies Sarikaya Pandan 30.000,-
TRMS Brownies Tiramisu Marble 32.000,-
KTBK Cake Ketan Bakar 26.000,-
PNBT Peanut Butter 28.000,-
BLCK Pisang Bolen Cokelat 28.000,-
BLKJ Pisang Bolen Keju 28.000,-
Kue Kering BAKR Brownies Bakar 28.000,-
BDUO Bangket Duo 20.000,-
CHRL Cheese Roll 37.000,-
CHST Cheese Stick 27.000,-
SWST Sweet Stick 24.000,-
Bagian 2
Cara penjualan kue-kue ini dilakukan di outlet penjualan Ananda Brownis. Penjualan ke pembeli
dilakukan secara tunai. Penjualan dilakukan di kasir. Kasir tidak perlu mencatat setiap pembeli yang
datang. Kasir mengeluarkan bukti penjualan berupa nota. Dalam nota tersebut terdapat nomor nota
yang berbeda untuk setiap kali transaksi, tanggal, barang, dan jumlah beli, beberapa waktu tertentu
seperti hari besar terdapat diskon. Berikut contoh nota penjualan.
NOTA PENJUALAN TUNAI
No.Nota J0008
Tgl 1 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
BLUE Blueberry 32,000 3 96,000
CHCR Cheese Cream 52,000 10 520,000
COMA Choco Marble 30,000 2 60,000
Total Penjualan 676,000
Discount 10%
Total Bayar 608,400
NOTA PENJUALAN TUNAI
No.Nota J0009
Tgl 1 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
ORIG Original 26,000 4 104,000
BABZ Banana Bizz 30,000 4 120,000
BLUE Blueberry 32,000 4 128,000
Total Penjualan 352,000
Discount 10%
Total Bayar 316,800
Entitas dan Atribut
H a l 5
Bagian 3
Ananda Brownis membutuhkan pelaporan sesuai dengan standard akuntansi. Untuk itu, setiap
transaksi akan dicatatkan dalam jurnal. Lima akun utama yaitu Harta, Kewajiban, Modal,
Pendapatan, dan Beban. Akun-akun yang lain mengacu pada lima akun utama ini. berikut ini adalah
beberapa akun dalam akuntansi.
Kode Akun Nama Akun Header Akun
1 Harta
11 Harta Lancar 1
111 Kas 11
2 Kewajiban
3 Modal
4 Pendapatan
41 Pendapatan usaha 4
411 Penjualan 41
412 Retur Penjualan 41
413PotonganPenjualan 41
5 Beban
Metode akuntansi untuk pencatatan persediaan barang dagangan dan harga pokok penjualan yang
digunakan oleh perusahaan ini adalah Metode Periodik Pada saat terjadi transaksi penjualan tunai
dengan diskon, misalnya untuk no.nota j0008, jurnal yang terjadi adalah 111 Kas dan 413 Potongan
Penjualan di debet; dan 411 Penjualan di kredit.
NOTA PENJUALAN TUNAI
No.Nota J0010
Tgl 5 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
CHCR Cheese Cream 52,000 2 104,000
CHRL Cheese Roll 37,000 1 37,000
Total Penjualan 141,000
Discount 0%
Total Bayar 141,000
NOTA PENJUALAN TUNAI
No.Nota J0011
Tgl 25 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
CHCR Cheese Cream 52,000 2 104,000
CHST Cheese Stick 27,000 1 27,000
Total Penjualan 131,000
Discount 0%
Total Bayar 131,000
NOTA PENJUALAN TUNAI
No.Nota J0008
Tgl 1 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total Kas 608,400
BLUE Blueberry 32,000 3 96,000 Potongan Penjualan 67,600
CHCR Cheese Cream 52,000 10 520,000 Penjualan 676,000
COMA Choco Marble 30,000 2 60,000
Total Penjualan 676,000
Discount 10%
Total Bayar 608,400
10% x TotJual
Entitas dan Atribut
H a l 6
Pada saat terjadi transaksi penjualan tunai tanpa diskon, misalnya untuk no.nota j0008, jurnal yang
terjadi adalah 111 Kas di debet; dan 411 Penjualan di kredit.
Bagian 4
Kegiatan penjualan kue ala Ananda Brownis ini dilakukan di outlet penjualan. Ananda Brownis
memiliki beberapa tempat penjualan (outlet) , yaitu:
a. (Kode Outlet: ABR) AB Rancabolang, Jl. Rancabolang No. XX Bandung, Tlp: 022-70777077
b. (Kode Outlet: ABC) AB Cikawao, Jl. Cikawao No.II, Tlp: 022-41924192
c. (Kode Outlet: ABT) AB Ters. Jakarta, Jl.Ters. Jakarta No.V, Tlp : 022-41934193
d. (Kode Outlet: ABP) AB Paskal, Jl. Pasir Kaliki Ruko Paskal Hyper Square Blok A, Tlp : 022-4194
4194
e. (Kode Outlet: ABD) AB Djuanda, Jl. Ir. H. Djuanda No. XX, Tlp : 022-41954195
Setiap outlet perlu dievaluasi jumlah penjualannya. Dengan data tersebut, dapa digunakan sebagai
pelaporan jumlah penjualan setiap outlet ke pemilik Ananda Brownis.
Pada awalnya, cara melakukan rekapitulasi transaksi adalah dengan memindahkan data dalam nota
penjualan ke dalam kolom-kolom pada format excel. Berikut contoh rekapitulasi transaksi.
No.Nota TglKode
BarangNama
HargaSatuan
Jum-lah
SubTotal
TotalPenjualan
Discount
Total Bayar
J0008 1 Januari 2013 BLUE Blueberry 32,000 3 96,000 676,000 10% 608,400
CHCR Cheese Cream 52,000 10 520,000
COMA Choco Marble 30,000 2 60,000
J0009 1 Januari 2013 ORIG Original 26,000 4 104,000 352,000 10% 316,800
BABZ Banana Bizz 30,000 4 120,000
BLUE Blueberry 32,000 4 128,000
J0010 5 Januari 2013 CHCR Cheese Cream 52,000 2 104,000 141,000 0% 141,000
CHRL Cheese Roll 37,000 1 37,000
J001125 Januari2013 CHCR Cheese Cream 52,000 2 104,000 131,000 0% 131,000
CHST Cheese Stick 27,000 1 27,000
J00115 Februari2013 ORIG Original 26,000
126,000 26,000 0% 26,000
NOTA PENJUALAN TUNAI
No.Nota J0010
Tgl 5 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total Kas 141,000
CHCR Cheese Cream 52,000 2 104,000 Penjualan 141,000
CHRL Cheese Roll 37,000 1 37,000
Total Penjualan 141,000
Discount 0%
Total Bayar 141,000
Entitas dan Atribut
H a l 7
1.3.1.2 Langkah Penyelesaian
Bagian 1
1. Penentuan Entitas dengan mengidentifikasi object atau kumpulan object yang ada. Adapun
object yang bisa diidentifikasi adalah
No Identifikasi Entitas Entitas/non entitas Ket
1 Ananda Brownis Non entitas Ini adalah tema kasus bukan bagian entitas
2 Kue_basah Non entitas Keterangan tambahan soal
3 Kue_kering Non entitas Keterangan tambahan soal
4 Jenis_kue Entitas
5 Kue Entitas
2. Setelah ditemukan entitas , analisalah lebih jauh atribut dan atribut kunci setiap entitas. Lalu
analisis lebih jauh mengenai daftar atribut yang ada dalam data yang dibutuhkan. Perhatikan
bahwa data yang berkaitan dengan entitas tersebut, jika perlu bisa ditambahkan. Sekaligus
tentukan penamaan entitas, gunakan nama tanpa spasi untuk mempermudah proses
transformasi ke tabel nantinya. Untuk nama atribut yang sama perjelas nama atributnya agar
membedakan dengan atribut entitas lain. Jangan lupa menentukan apakah dia entitas kuat
atau entitas lemah.
No Nama entitas Kuat/lemah Atribut Atribut Kunci
1Jenis_kue Kuat Kode_jenis_kue, nama_jenis_kue,
jangka_expiredKode_jenis_kue
2 Kue Kuat Kode_kue, nama_kue, harga_kue
3. Lalu gambarkan dengan notasi entitas semua entitas yang sudah teridentifikasi
KueJenis_kue
4. Selanjutnya gambarkan atribut pada entitas misal untuk Jenis_kue sbb dan wajib
membubuhkan tanda pada atribut kunci :
Jenis_kue
Jangka_expired
Kode_jenis_kue
Nma_jenis_kue
Entitas dan Atribut
H a l 8
Lakukan proses penempatan atribut dengan cara yang sama untuk entitas lain.
1.3.1.3 Solusi Lengkap
Jenis_kue Kue
Kode_Jenis_Kue
Nama_Jenis_Kue
Jangka_expired
Kode_Kue
Nama_kue
harga_kue
1.3.1.4 Pengamatan
Bagian 2
1. Penentuan Entitas dengan mengidentifikasi object atau kumpulan object yang ada.
No Identifikasi Entitas Entitas/non entitas Ket
1
2
3
4
5
2. Setelah ditemukan entitas , analisislah lebih jauh atribut dan atribut kunci setiap entitas.
Jangan lupa menentukan apakah dia entitas kuat atau entitas lemah.
No Nama entitas Kuat/lemah Atribut Atribut Kunci
1
2
3
3. Lalu gambarkan dengan notasi entitas semua entitas yang sudah teridentifikasi
4. Selanjutnya gambarkan atribut pada entitas dan wajib membubuhkan tanda pada atribut
kunci :
Entitas dan Atribut
H a l 9
Bagian 3
1. Penentuan Entitas dengan mengidentifikasi object atau kumpulan object yang ada.
No Identifikasi Entitas Entitas/non entitas Ket
1
2
3
4
5
2. Setelah ditemukan entitas, analisislah lebih jauh atribut setiap entitas. Jangan lupa
menentukan apakah dia entitas kuat atau entitas lemah.
No Nama entitas Kuat/lemah Atribut Atribut Kunci
1
2
3
3. Lalu gambarkan dengan notasi entitas semua entitas yang sudah teridentifikasi
4. Selanjutnya gambarkan atribut pada entitas dan wajib membubuhkan tanda pada atribut
kunci :
Entitas dan Atribut
H a l 10
Bagian 4
1. Penentuan Entitas dengan mengidentifikasi object atau kumpulan object yang ada.
No Identifikasi Entitas Entitas/non entitas Ket
1
2
3
4
5
2. Setelah ditemukan entitas , analisalah lebih jauh atribut setiap entitas. Jangan lupa
menentukan apakah dia entitas kuat atau entitas lemah.
No Nama entitas Kuat/lemah Atribut Atribut Kunci
1
2
3
3. Lalu gambarkan dengan notasi entitas semua entitas yang sudah teridentifikasi
4. Selanjutnya gambarkan atribut pada entitas dan wajib membubuhkan tanda pada atribut
kunci :
Entitas dan Atribut
H a l 11
Jenis – Jenis Atribut
Pada bagian ini, akan dipelajari mengenai :
Jenis jenis atribut, simbol serta penulisannya.
1.3.2.1 Soal
Diketahui potongan ER berikut ini.
Amatilah setiap atributnya, kemudian kategorikan !
1.3.2.2 Pengamatan
Setelah anda melakukan pengamatan maka isikan hasil pengamatan anda dibawah ini ! Manakah
yang termasuk single value atribut, derived atribut,composite atribut dan multivaluate atribut ?
NAMA ATRIBUT JENIS ATRIBUT
Entitas dan Atribut
H a l 12
1.4 TEST AKHIR
Tentukanlah entitas dan atribut dari proses dibawah ini :
Terdapat sebuah lembaga keuangan Suryo Finance. Salah satu layanan Suryo Finance kepada
nasabah adalah modal usaha kecil. Setiap anggota yang meminjam akan mendapatkan kartu
angsuran untuk mengontrol pembayaran setiap bulannya. Berikut adalah bentuk kartu kontrol
angsuran suryo finance. Sebagai catatan bahwa angsuran pembayaran dapat dilakukan karena
adanya transaksi peminjaman. Amatilah kemudian identifikasi entitas, entitas lemah, atribut, dan
atribut kunci nya.
Berikut adalah salah satu contoh kartu control angsuran Suryo Finance.
Pengamatan
1. Penentuan Entitas dengan mengidentifikasi object atau kumpulan object yang ada. Adapun
object yang bisa diidentifikasi adalah
No Identifikasi Entitas Entitas/non entitas Ket
1
2
3
4
5
2. Setelah ditemukan entitas , analisalah lebih jauh atribut dan atribut kunci setiap entitas.
Jangan lupa menentukan apakah dia entitas kuat atau entitas lemah.
SURYO FINANCE
KARTU KONTROL ANGSURAN
No.Member : 73083
No Pinjaman : P234
Nama Member : Warda Nimuh
Alamat : Cienteung Dayeuhkolot
Total Pinjaman : 12.000.000
Durasi pinjaman : 24 bulan
Besar Angsuran : minimal 100.000
Tanggal No bukti pembayaran Jumlah Pembayaran Petugas
Manager suryo finance
Jundi suryo
Entitas dan Atribut
H a l 13
No Nama entitas Kuat/lemah Atribut Atribut Kunci
1
2
3
3. Lalu gambarkan dengan notasi entitas semua entitas yang sudah teridentifikasi. Perhatikan
dalam kasus ini terdapat entitas lemah.
Lain-lain
1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri.
2. Keterlambatan atas pengumpulan modul praktikum sanksinya adalah nilai modul
praktikum ini nol (0).
Relationship/Relasi
H a l 14
2 BAB II RELATIONSHIP/RELASI
2.1 IDENTITAS
KajianER- Diagram
Topik1. Tingkatan relasi2. Kardinalitas3. Atribut relasi
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications,
2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu,
India: Springer, 2007.3. Basis Data
Kompetensi Utama
1. Mampu memahami apa yang disebut dengan relasi dan kenapa antar entitas harus direlasikan2. Mampu memahami dan menerapkan tingkatan relasi, baik itu binary, unary atau ternary
relationship3. Mampu mengidentifikasi dengan benar kardinalitas relasi antar entitas dari suatu bisnis proses
tertentu4. Mampu mengidentifikasi kebutuhan atribut pada relasi dari suatu bisnis proses tertentu
Lama Kegiatan Praktikum
1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 30%2. Jurnal Pengamatan 30%3. Tugas Akhir 40%
Relationship/Relasi
H a l 15
2.2 PERTANYAAN PENDAHULUAN
Kerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktu pengerjaan
maksimal 15 menit. Tulis dengan tangan , gunakan pensil atau ballpoint berwarna.
1. Bagaimana simbol relasi dalam ER-Diagram ?
2. Apa fungsi relasi dalam ER-Diagram ?
3. Menurut anda, ada berapa kah relashionship degree /tingkat relasi, rebutkan !
4. Sebutkan termasuk manakah jenis kardinalitas relasi dibawah ini ?
Maping kardinalitas
Gambar 1 Gambar 2
Gambar 1 bagian a : Gambar 2 bagian a :
Gambar 1 bagian b : Gambar 2 bagian b :
2.3 PRAKTIK
Tingkatan Relasi
Pada bagian ini, akan dipelajari macam macam relasi dan kardinalitasnya.
2.3.1.1 Soal 1
Pada modul 1 telah kita pelajari kasus “Ananda Brownis”. Identifikasi kembali kasus tersebut dan tentukan
relasinya.
Bagian 1
Sebuah perusahaan yang bergerak dibidang bakery, bernama Ananda Brownis, menjual berbagai dua jenis
kue yaitu kue basah dan kue kering. Kue-kue ini memiliki harga beragam mulai dari 20.000 sampai 50.000
rupiah. Perbedaan kue basah dan kue kering terletak pada jangka waktu expired-nya dimana kue basah 3
hari sedangkan kue kering dapat bertahan hingga 3 bulan.
Berikut ini makanan yang dijual di perusahaan ini.
Jenis Kue KodeKue
Nama Kue HargaSatuan
Kue Basah ORIG Brownies Original 26.000,-
BABZ Brownies Banana Bizz 30.000,-
BLUE Brownies Blueberry 32.000,-
CHCR Brownies Cheese Cream 52.000,-
Relationship/Relasi
H a l 16
Jenis Kue KodeKue
Nama Kue HargaSatuan
COMA Brownies Choco Marble 30.000,-
GREE Brownies Green Marble 32.000,-
PINK Brownies Pink Marble 30.000,-
SRKY Brownies Sarikaya Pandan 30.000,-
TRMS Brownies Tiramisu Marble 32.000,-
KTBK Cake Ketan Bakar 26.000,-
PNBT Peanut Butter 28.000,-
BLCK Pisang Bolen Cokelat 28.000,-
BLKJ Pisang Bolen Keju 28.000,-
Kue Kering BAKR Brownies Bakar 28.000,-
BDUO Bangket Duo 20.000,-
CHRL Cheese Roll 37.000,-
CHST Cheese Stick 27.000,-
SWST Sweet Stick 24.000,-
2.3.1.2 Langkah Penyelesaian
1. Gambarkan kembali entitas, atribut, dan atribut kunci berdasarkan soal diatas yang telah
dikerjakan pada modul 1.
Jenis_kue Kue
Kode_Jenis_Kue
Nama_Jenis_Kue
Jangka_expired
Kode_Kue
Nama_kue
harga_kue
2. Gambarkan relasi yang telah teridenfikasi. Terdapat relasi dan keterkaitan data antara Jenis_Kue
dan Kue hal ini dapat terlihat bahwa setiap kue termasuk ke dalam salah satu Jenis_Kue. Gunakan
kata kerja untuk memberi nama relasi.
Jenis_kue memiliki Kue
Kode_Jenis_Kue
Nama_Jenis_Kue
Jangka_expired
Kode_Kue
Nama_kue
harga_kue
3. Penentuan kardinalitas identifikasi frase yang menunjukan kardinalitas atau identifikasi
berdasarkan data dalam tabel. Perhatikan jenis_kue: Kue_Basah.
Satu Kenis_kue, yaitu Kue_Basah memiliki berapa kue ? Banyak (simbol n)
Jenis_Kue memiliki Kue
Kode_Jenis_Kue
Nama_Jenis_Kue
Jangka_expired
Kode_Kue
Nama_kue
harga_kue
1 n
Relationship/Relasi
H a l 17
Satu Kue, yaitu Brownies Original termasuk ke dalam berapa Jenis_kue? Satu
Jenis_Kue memiliki Kue
Kode_Jenis_Kue
Nama_Jenis_Kue
Jangka_expired
Kode_Kue
Nama_kue
harga_kue
1 n
11
Ambil nilai maksimal dari dari setiap kemungkinan kardinalitas, sehingga didapat kardinalitas
sebagai berikut:
Jenis_Kue memiliki Kue
Kode_Jenis_Kue
Nama_Jenis_Kue
Jangka_expired
Kode_Kue
Nama_kue
harga_kue
1 n
Bagian 2
Cara penjualan kue-kue ini dilakukan di outlet penjualan Ananda Brownis. Penjualan ke pembeli dilakukan
secara tunai. Penjualan dilakukan di kasir. Kasir tidak perlu mencatat setiap pembeli yang datang. Kasir
mengeluarkan bukti penjualan berupa nota. Dalam nota tersebut terdapat nomor nota yang berbeda untuk
setiap kali transaksi, tanggal, barang, dan jumlah beli, beberapa waktu tertentu seperti hari besar terdapat
diskon. Berikut contoh nota penjualan.
NOTA PENJUALAN TUNAI
No.Nota J0008
Tgl 1 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
BLUE Blueberry 32,000 3 96,000
CHCR Cheese Cream 52,000 10 520,000
COMA Choco Marble 30,000 2 60,000
Total Penjualan 676,000
Discount 10%
Total Bayar 608,400
NOTA PENJUALAN TUNAI
No.Nota J0009
Tgl 1 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
ORIG Original 26,000 4 104,000
BABZ Banana Bizz 30,000 4 120,000
BLUE Blueberry 32,000 4 128,000
Total Penjualan 352,000
Discount 10%
Total Bayar 316,800
NOTA PENJUALAN TUNAI
No.Nota J0010
Tgl 5 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
CHCR Cheese Cream 52,000 2 104,000
CHRL Cheese Roll 37,000 1 37,000
Total Penjualan 141,000
Discount 0%
Total Bayar 141,000
NOTA PENJUALAN TUNAI
No.Nota J0011
Tgl 25 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
CHCR Cheese Cream 52,000 2 104,000
CHST Cheese Stick 27,000 1 27,000
Total Penjualan 131,000
Discount 0%
Total Bayar 131,000
Relationship/Relasi
H a l 18
2.3.1.3 Pengamatan
Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang telah
disediakan. Sebagai catatan, entitas, atribut, dan atribut kunci dapat menggunakan hasil identifikasi yang
telah dikerjakan pada modul 1.
Bagian 3
Ananda Brownis membutuhkan pelaporan sesuai dengan standard akuntansi. Untuk itu, setiap transaksi
akan dicatatkan dalam jurnal. Lima akun utama yaitu Harta, Kewajiban, Modal, Pendapatan, dan Beban.
Akun-akun yang lain mengacu pada lima akun utama ini. berikut ini adalah beberapa akun dalam akuntansi.
Kode Akun Nama Akun Header Akun
1 Harta
11 Harta Lancar 1
111 Kas 11
2 Kewajiban
3 Modal
4 Pendapatan
41 Pendapatan usaha 4
411 Penjualan 41
412 Retur Penjualan 41
413PotonganPenjualan 41
5 Beban
Metode akuntansi untuk pencatatan persediaan barang dagangan dan harga pokok penjualan yang
digunakan oleh perusahaan ini adalah Metode Periodik Pada saat terjadi transaksi penjualan tunai dengan
diskon, misalnya untuk no.nota j0008, jurnal yang terjadi adalah 111 Kas dan 413 Potongan Penjualan di
debet; dan 411 Penjualan di kredit.
Relationship/Relasi
H a l 19
Pada saat terjadi transaksi penjualan tunai tanpa diskon, misalnya untuk no.nota j0008, jurnal yang
terjadi adalah 111 Kas di debet; dan 411 Penjualan di kredit.
2.3.1.4 Pengamatan
1. Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang
telah disediakan. Sebagai catatan, entitas, atribut, dan atribut kunci dapat menggunakan hasil
identifikasi yang telah dikerjakan pada modul 1.
NOTA PENJUALAN TUNAI
No.Nota J0008
Tgl 1 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total Kas 608,400
BLUE Blueberry 32,000 3 96,000 Potongan Penjualan 67,600
CHCR Cheese Cream 52,000 10 520,000 Penjualan 676,000
COMA Choco Marble 30,000 2 60,000
Total Penjualan 676,000
Discount 10%
Total Bayar 608,400
10% x TotJual
NOTA PENJUALAN TUNAI
No.Nota J0010
Tgl 5 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total Kas 141,000
CHCR Cheese Cream 52,000 2 104,000 Penjualan 141,000
CHRL Cheese Roll 37,000 1 37,000
Total Penjualan 141,000
Discount 0%
Total Bayar 141,000
Relationship/Relasi
H a l 20
Bagian 4
Kegiatan penjualan kue ala Ananda Brownis ini dilakukan di outlet penjualan. Ananda Brownis memiliki
beberapa tempat penjualan (outlet) , yaitu:
a. (Kode Outlet: ABR) AB Rancabolang, Jl. Rancabolang No. XX Bandung, Tlp: 022-70777077
b. (Kode Outlet: ABC) AB Cikawao, Jl. Cikawao No.II, Tlp: 022-41924192
c. (Kode Outlet: ABT) AB Ters. Jakarta, Jl.Ters. Jakarta No.V, Tlp : 022-41934193
d. (Kode Outlet: ABP) AB Paskal, Jl. Pasir Kaliki Ruko Paskal Hyper Square Blok A, Tlp : 022-4194 4194
e. (Kode Outlet: ABD) AB Djuanda, Jl. Ir. H. Djuanda No. XX, Tlp : 022-41954195
Setiap outlet perlu dievaluasi jumlah penjualannya. Dengan data tersebut, dapa digunakan sebagai
pelaporan jumlah penjualan setiap outlet ke pemilik Ananda Brownis.
Pada awalnya, cara melakukan rekapitulasi transaksi adalah dengan memindahkan data dalam nota
penjualan ke dalam kolom-kolom pada format excel. Berikut contoh rekapitulasi transaksi.
No.Nota TglKode
BarangNama
HargaSatuan
Jum-lah
SubTotal
TotalPenjualan
Discount
Total Bayar
J0008 1 Januari 2013 BLUE Blueberry 32,000 3 96,000 676,000 10% 608,400
CHCR Cheese Cream 52,000 10 520,000
COMA Choco Marble 30,000 2 60,000
J0009 1 Januari 2013 ORIG Original 26,000 4 104,000 352,000 10% 316,800
BABZ Banana Bizz 30,000 4 120,000
BLUE Blueberry 32,000 4 128,000
J0010 5 Januari 2013 CHCR Cheese Cream 52,000 2 104,000 141,000 0% 141,000
CHRL Cheese Roll 37,000 1 37,000
J0011 25 Januari 2013 CHCR Cheese Cream 52,000 2 104,000 131,000 0% 131,000
CHST Cheese Stick 27,000 1 27,000
J0011 5 Februari 2013 ORIG Original 26,000 1 26,000 26,000 0% 26,000
2.3.1.5 Pengamatan
1. Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang
telah disediakan. Sebagai catatan, entitas, atribut, dan atribut kunci dapat menggunakan hasil
identifikasi yang telah dikerjakan pada modul 1.
Relationship/Relasi
H a l 21
2. Jika ingin ditambahkan entitas karyawan yang terdaftar dari masing-masing outlet, dimana
entitas karyawan ini memiliki atribut, nik,nama dan alamat serta kode manager. Sesuaikan hasil
pengamatan nomor 1. Gambarkan lengkap beserta relasi dan kardinalitasnya.
3. Terapkan lah unary relationship untuk menggambarkan relasi baru yaitu manager (karyawan)
yang membawahi karyawan lain. Gambarkan hanya entitas yang terlibat pada kotak di bawah ini.
Relationship/Relasi
H a l 22
2.3.1.6 Pengamatan
Berdasarkan studi kasus “Ananda Brownis” dari soal bagian 1 sampai dengan 4, silahkan gabungkan hasil
analisis dari masing-masing bagian sehingga terbentuk satu ER-Diagram lengkap studi kasus “ananda
Brownis”.
Relationship/Relasi
H a l 23
Identifikasi Relasi
2.3.2.1 Soal 2
Pada modul 1 telah kita pelajari ‘Suryo Finance’. Identifikasi kembali kasus tersebut dan tentukan relasinya.
Berikut adalah studi kasus ‘Suryo Finance’:
Terdapat sebuah lembaga keuangan Suryo Finance. Salah satu layanan Suryo Finance kepada nasabah
adalah modal usaha kecil. Setiap anggota yang meminjam akan mendapatkan kartu angsuran untuk
mengontrol pembayaran setiap bulannya. Berikut adalah bentuk kartu kontrol angsuran suryo finance.
Sebagai catatan bahwa angsuran pembayaran dapat dilakukan karena adanya transaksi peminjaman.
Amatilah kemudian identifikasi entitas, entitas lemah, atribut, dan atribut kunci nya.
Berikut adalah salah satu contoh kartu control angsuran Suryo Finance.
2.3.2.2 Pengamatan
Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang telah
disediakan. Sebagai catatan, entitas, atribut, dan atribut kunci dapat menggunakan hasil identifikasi yang
telah dikerjakan pada modul 1.
SURYO FINANCE
KARTU KONTROL ANGSURAN
No.Member : 73083
No Pinjaman : P234
Nama Member : Warda Nimuh
Alamat : Cienteung Dayeuhkolot
Total Pinjaman : 12.000.000
Durasi pinjaman : 24 bulan
Besar Angsuran : minimal 100.000
Tanggal No bukti pembayaran Jumlah Pembayaran Petugas
Manager suryo finance
Jundi suryo
Relationship/Relasi
H a l 24
2.4 TEST AKHIR
Bagian 1
Terdapat sebuah UKM (Unit Kegiatan Mahasiswa) dilingkungan kampus bernama ‘MARKAZ SOSIAL’
bergerak dibidang kegiatan sosial ke sekitar lingkungan kampus. UKM ini memiliki program sosial. Adapun
contoh program sosial yang sudah diprogramkan adalah semur (sembako murah), tanam pohon, advokasi
pendidikan, dan layanan kesehatan gratis.
Setiap program yang dilakukan memerlukan dana yang tidak sedikit sehingga dibutuhkan perencanaan
anggaran yang matang. Setiap awal tahun UKM selalu membuat RAB (Rencana Anggaran Biaya) dari setiap
program yang akan dilaksanakan. Berikut adalah contoh RAB untuk beberapa program yang dilaksanakan
oleh UKM.
Relationship/Relasi
H a l 25
Rencana Anggaran Biaya UKM Markaz Sosial
No Program : P024
Nama Program : Pemilihan Pengurus 2013
Kategori Program : Internal
TGL Pelaksanaan Program : 03-Mar-13
NO.RAB Nama Anggaran Total Anggaran
101 Sewa peralatan dan perlengkapan Rp. 2.500.000,-
102 Dokumentasi Rp. 50.000,-
103 Promosi Rp. 500.000,-
Total Anggaran Program Rp. 3.050.000,-
Rencana Anggaran Biaya UKM Markaz Sosial
No Program : P025
Nama Program : Sembako Murah 2013
Kategori Program : Eksternal
TGL Pelaksanaan Program : 03-April-13
NO.RAB Nama Anggaran Total Anggaran
202 Akomodasi Rp. 350.000,-
203 Konsumsi Rp. 100.000,-
204 Beli sembako Rp. 2.500.000,-
Total Anggaran Program Rp. 2.950.000,-
Pengamatan
Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang telah
disediakan.
Relationship/Relasi
H a l 26
Bagian 2
Untuk setiap anggaran yang telah direncanakan dalam RAB akan direalisasikan ke dalam beberapa kegiatan
pengeluaran. Berikut adalah contoh rincian pendataan pengeluaran terhadap anggaran yang telah
direncanakan. Setiap realisasi pengeluaran menjadi tanggung jawab satu anggota UKM. Setiap anggota
UKM akan dicatat nomor keanggotaan, nama, alamat serta nomor telepon.
NO.RAB
Nama Anggaran No.Realisasi
Tgl RealisasiPengeluaran
Ket. RealisasiPengeluaran
Biaya AnggotaPenanggungJawab
101 Sewa Peralatan danPerlengkapan
R01 2-Maret-2013 Sewa kursi Rp. 500.000 Aliando
R02 2-Maret-2013 Sewa Audio Rp. 100.000 Frodo
R03 1-Maret-2013 SewaPanggung
Rp.1.500.000 Aliando
103 Promosi R04 15-Feb-2013 Cetakspanduk
Rp. 240.000 Kenshi
R05 12-Feb-2013 Cetakfamplet
Rp. 120.000 Kenshi
Pengamatan
Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang telah
disediakan.
Relationship/Relasi
H a l 27
Bagian 3
Pembina ukm ‘MARKAZ SOSIAL’ membutuhkan pelaporan sesuai dengan standard akuntansi. Untuk itu,
setiap transaksi akan dicatatkan dalam jurnal. Lima akun utama yaitu Harta, Kewajiban, Modal,
Pendapatan, dan Beban. Akun-akun yang lain mengacu pada lima akun utama ini. berikut ini adalah
beberapa akun dalam akuntansi.
Kode Akun Nama Akun Header Akun
1 Harta
11 Harta Lancar 1
111 Kas 11
2 Kewajiban
3 Modal
4 Pendapatan
41 Pendapatan organisasi 4
411 Donasi 41
412 Iuran 41
5 Beban
51 Pengeluaran anggaran 5
Pada saat terjadi realisasi pengeluaran akan melakukan pencatatan jurnal akuntansi. Berikut contoh
pencatatan jurnal akuntansi:
Tgl Kode Akun Nama Akun Debet Kredit Keterangan
2-Maret-2013 51 Pengeluaran Anggaran 500.000 Sewa Kursi
111 Kas 500.000
2-Maret-2013 51 Pengeluaran Anggaran 100.000 Sewa Audio
111 Kas 100.000
1-Maret-2013 51 Pengeluaran Anggaran 1.500.000 Sewa Panggung
111 Kas 1.500.000
15-Feb-2013 51 Pengeluaran Anggaran 240.000 Cetak spanduk
111 Kas 240.000
12-Feb-2013 51 Pengeluaran Anggaran 120.000 Cetak famplet
111 Kas 120.000
Pengamatan
Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang telah
disediakan.
Relationship/Relasi
H a l 28
Pengamatan
Berdasarkan studi kasus “Ananda Brownis” dari soal bagian 1 sampai dengan 4, silahkan gabungkan hasil
analisis dari masing-masing bagian sehingga terbentuk satu ER-Diagram lengkap studi kasus “ananda
Brownis”.
Lain-lain
1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri.
2. Keterlambatan atas pengumpulan modul praktikum sanksinya adalah nilai modul praktikum
ini nol (0).
Spesialisasi-Generalisasi dan Agregasi
H a l 29
3 BAB III SPESIALISASI-GENERALISASI DAN AGREGASI
3.1 IDENTITAS
KajianER-Diagram
Topik1. Spesialisasi - generalisasi2. Agregasi
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications,
2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu,
India: Springer, 2007.3. Basis Data
Kompetensi Utama
1. Mampu memahami kebutuhan dan penerapan spesialisasi dan generalisasi2. Mampu memahami kebutuhan dan penerapan generalisasi3. Mampu mengidentifikasi dan menerapkan dengan benar penggunaan spesialisasi dan
generalisasi dari suatu bisnis proses tertentu4. Mampu mengidentifikasi dan menerapkan dengan benar penggunaan agregasi dari suatu bisnis
proses tertentuLama Kegiatan Praktikum
1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 30%2. Jurnal Pengamatan 30%3. Tugas Akhir 40%
Spesialisasi-Generalisasi dan Agregasi
H a l 30
3.2 PERTANYAAN PENDAHULUAN
Kerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktu pengerjaan
maksimal 20 menit. Kerjakan dengan tulisan tangan dan ballpoint berwarna.
1. Apakah yang anda ketahui tentang generalisasi-spesialisasi?
2. Gambarkan dengan konsep generalisasi dan spesialisasi entitas entitas berikut ini
a. Entitas : Karyawan , karyawan tetap, karyawan kontrak
b. Customer: Retail,distributor,reseller.
3. Apakah yang anda ketahui tentang agregasi ? Berikan satu contoh potongan gambar ER yang
mengandung agregasi !
3.3 PRAKTIK
Spesialisasi-Generalisasi
Pada bagian ini dipelajari mengenai penerapan spesialisasi-generalisasi.
3.3.1.1 Soal operator telekomunikasi
Terdapat permasalahan sebagai berikut:
Sebuah perusahaan operator mempunyai beberapa layanan, diantaranya prabayar dan pasca bayar. Kedua
layanan ini memiliki kesamaan data yang dicatat, yaitu kodetipe layanan dan nama layanan. Perbedaannya
layanan pasca bayar mempunyai abonemen sedangkan pra bayar tidak. Perusahaan ini memiliki banyak
pelanggan. Setiap pelanggan ketika mendaftarkan satu nomor hp nya akan diminta noktp, nama dan
alamat. Pelanggan boleh memilih salah satu tipe layanan, apakah pra bayar atau pasca bayar.
Setiap Pelanggan bebas menggunakan pulsa nya untuk melakukan berbagai macam aktivitas yang
berhubungan dengan pemanfaatan pulsa. Aktivitas tersebut dapat berupa sms, penggunaan data,
penggunaan voice. Setiap aktivitas tersebut terdapat pencatatan data yang berbeda-beda. Untuk aktivitas
sms data yang dicatat adalah idsms dan tarifsms. Aktivitas data yang dicatat adalah iddata, tarifdata, dan
quota. Untuk aktivitas voice data yang dicatat adalah idvoice, jenispanggilan, dan waktu. Satu pelanggan
dapat melakukan ketiga ativitas tersebut dan satu pelanggan dapat menggunakan aktivitas yang sama
berulang kali.
buatlah ER diagram diatas gunakan konsep generalisasi - spesialisasi
3.3.1.2 Langkah Penyelesaian
1. Penentuan atribut entitas relasi
No Nama entitas Atribut Relasi/genspec
1 Pelanggan Nohp,no_ktp,nama,alamat Binary
2 Tipe layanan Kodetipelayanan Genspec
3. Pascabayar Kodetipelayanan,abonemen Genspec
4. Prabayar Kodetipelayanan Genspec
5. Voice Idvoice,jenispanggilan,waktu Binary
6. Sms Idsms,tarifsms Binary
7. Data Iddata,tarifdata,quota Binary
Spesialisasi-Generalisasi dan Agregasi
H a l 31
2. Penggambaran relasi genspec
Setelah teridenfikasi semua entitas,relasi dan atribut maka buatlah ER diagram, gambarlah dengan
tools atau tulisan tangan.
Pelanggan
Tipelayanan
Memilih
IS A
Prabayar
PascaBayar
n
1
3. Lanjutkan dengan menggambar relasi entitas ,dan relasi yang lain. Jangan lupa menambahkan
kardinalitas relasi.
Pelanggan
Tipelayanan
Memilih
IS A
Prabayar
PascaBayar
n
1
Voice
SMS
Data
memakai
memakai
memakai
n
n
n
n
n
4. Lengkapi dengan atributnya .
3.3.1.3 Solusi Lengkap
Pelanggan
Tipelayanan
Memilih
IS A
Prabayar
PascaBayar
n
1
Voice
SMS
Data
memakai
memakai
memakai
n
n
n
n
n
#Kode_tipe_layanan
#No_hp
No_ktp
nama
alamat
Abonemen
#Id_voice
Jenis_panggilan
waktu
#Id_data
Tarif_data
quota
#idsms
Tarif_per_sms
Spesialisasi-Generalisasi dan Agregasi
H a l 32
3.3.1.4 Pengamatan
Lakukan pengamatan pada ER Diagram dan kerjakan soal dibawah ini
1. Apabila ditambahkan satu tipe layanan bernama ‘combo’ dimana pelanggan bisa melakukan switch
sesuai keinginan apakah akan berada pada mode prabayar atau pascabayar bagaimana cara
menggambarkannya ? Gambarkan hanya entitas yang berubah atas jawaban dari hasil
pengamatan
2. Untuk setiap pemakaian data ,voice dan sms maka harus dicatat informasi tanggal dan status
pemakaian , tambahkan atribut untuk mencover kebutuhan tersebut ! Gambarkan hanya entitas
yang terpengaruh dari soal ini.
3.3.1.5 Soal Ananda Brownis
Berikut adalah soal Ananda Brownis seperti yang dikerjakan pada modul 1 dan 2 dengan modifikasi soal
pada beberapa bagian.
Bagian 1
Sebuah perusahaan yang bergerak dibidang bakery, bernama Ananda Brownis, menjual berbagai dua jenis
kue yaitu kue basah dan kue kering. Kue-kue ini memiliki harga beragam mulai dari 20.000 sampai 50.000
rupiah. Perbedaan kue basah dan kue kering terletak pada jangka waktu expired-nya dimana kue basah 3
hari sedangkan kue kering dapat bertahan hingga 3 bulan. Berikut ini makanan yang dijual di perusahaan
ini.
Spesialisasi-Generalisasi dan Agregasi
H a l 33
Jenis Kue KodeKue
Nama Kue HargaSatuan
Kue Basah ORIG Brownies Original 26.000,-
BABZ Brownies Banana Bizz 30.000,-
BLUE Brownies Blueberry 32.000,-
CHCR Brownies Cheese Cream 52.000,-
COMA Brownies Choco Marble 30.000,-
GREE Brownies Green Marble 32.000,-
PINK Brownies Pink Marble 30.000,-
SRKY Brownies Sarikaya Pandan 30.000,-
TRMS Brownies Tiramisu Marble 32.000,-
KTBK Cake Ketan Bakar 26.000,-
PNBT Peanut Butter 28.000,-
BLCK Pisang Bolen Cokelat 28.000,-
BLKJ Pisang Bolen Keju 28.000,-
Kue Kering BAKR Brownies Bakar 28.000,-
BDUO Bangket Duo 20.000,-
CHRL Cheese Roll 37.000,-
CHST Cheese Stick 27.000,-
SWST Sweet Stick 24.000,-
3.3.1.6 Solusi Lengkap
3.3.1.7 Soal Ananda Brownis Lanjutan
Bagian 2
Cara penjualan kue-kue ini dilakukan di outlet penjualan Ananda Brownis. Penjualan ke pembeli dilakukan
secara tunai dan kredit. Penjualan kredit hanya berlaku untuk penjualan diatas 5 juta rupiah. Pada
penjualan tunai maupun kredit data yang dicatat adalah nomor nota, tanggal transaksi penjualan, barang
(kue) yang dibeli, jumlah beli dan total penjualan. Namun terdapat perbedaan pencatatan data pada
penjualan kredit dan tunai. Terdapat penambahan pencatatan data waktu jatuh tempo dan ketentuan
pembayaran. Untuk penjualan tunai terdapat data diskon yang tidak terdapat dalam penjualan kredit.
Khusus untuk penjualan kredit, data mengenai pelanggan harus dicatat. Data pelanggan yang dicatat antara
lain adalah kode pelanggan, nama, alamat, nomor telpon, dan nomor ktp. Satu pelanggan dapat tercatat
pada lebih dari satu transaksi penjualan kredit. Satu nota penjualan kredit hanya berlaku untuk satu
pelanggan. Penjualan tunai dan kredit menghasilkan bukti penjualan berupa nota. Berikut contoh nota
penjualan tunai dan kredit.
Jenis_Kue memiliki Kue
Kode_Jenis_Kue
Nama_Jenis_Kue
Jangka_expired
Kode_Kue
Nama_kue
harga_kue
1 n
Spesialisasi-Generalisasi dan Agregasi
H a l 34
NOTA PENJUALAN KREDIT
No.Nota : J0015Tgl : 28 Januari 2013Kode Pelanggan : P02Nama Pelanggan : Nori
Kode Barang Nama Harga Satuan Jumlah SubtotalBAKR Brownies Bakar 28,000 100 2,800,000CHRL Cheese Roll 37,000 100 3,700,000CHST Cheese Stick 27,000 100 2,700,000
Total Penjualan 9,200,000
Waktu Jatuh Tempo : 28 Maret 2013Ketentuan Pembayaran:
3.3.1.8 Pengamatan
Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang telah
disediakan. Identifikasi superclass dan subclass dengan menggunakan generalisasi-spesialisasi.
NOTA PENJUALAN TUNAI
No.Nota J0008
Tgl 1 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
BLUE Blueberry 32,000 3 96,000
CHCR Cheese Cream 52,000 10 520,000
COMA Choco Marble 30,000 2 60,000
Total Penjualan 676,000
Discount 10%
Total Bayar 608,400
NOTA PENJUALAN TUNAI
No.Nota J0009
Tgl 1 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
ORIG Original 26,000 4 104,000
BABZ Banana Bizz 30,000 4 120,000
BLUE Blueberry 32,000 4 128,000
Total Penjualan 352,000
Discount 10%
Total Bayar 316,800
NOTA PENJUALAN TUNAI
No.Nota J0010
Tgl 5 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
CHCR Cheese Cream 52,000 2 104,000
CHRL Cheese Roll 37,000 1 37,000
Total Penjualan 141,000
Discount 0%
Total Bayar 141,000
NOTA PENJUALAN TUNAI
No.Nota J0011
Tgl 25 Januari 2013
Kode Barang Nama Harga Satuan Jumlah Sub Total
CHCR Cheese Cream 52,000 2 104,000
CHST Cheese Stick 27,000 1 27,000
Total Penjualan 131,000
Discount 0%
Total Bayar 131,000
Spesialisasi-Generalisasi dan Agregasi
H a l 35
Bagian 3
Pada saat terjadi pembayaran untuk penjualan kredit akan menghasilkan bukti transaksi berupa kuitansi
pembayaran. Pada kuitansi pembayaran data yang tercatat adalah nomor kuitansi, nomor nota penjualan,
tgl bayar, jumlah bayar, sisa bayar, dan tanggal jatuh tempo.
KUITANSI PEMBAYARAN
No.Kuitansi : KW01No.Nota : J0015
Jumlah Bayar : Rp. 5,000,000,-Terbilang : Lima juta rupiahSisa Bayar : Rp. 5,000,000,-Tanggal jatuh tempo : 28 April 2013
Bandung, 20 Maret 2013Penerima pembayaran:
TtdMelati
3.3.1.9 Pengamatan
Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang telah
disediakan.
KUITANSI PEMBAYARAN
No.Kuitansi : KW10No.Nota : J0015
Jumlah Bayar : Rp. 4,200,000,-Terbilang : Empat juta dua ratus ribu rupiahSisa Bayar : Rp. 0,-Tanggal jatuh tempo : -
Bandung, 20 Maret 2013Penerima pembayaran:
TtdMelati
Spesialisasi-Generalisasi dan Agregasi
H a l 36
Agregasi
Kasus ini merupakan pengembangan dari kasus gen-spec pada soal operator telekomunikasi. Akan
dipelajari penerapan agregasi untuk memecahkan kasus pada soal.
3.3.2.1 Soal
Lanjutan soal no 1, ditemukan tambahan fakta terkait dengan perusahaan operator diatas yang harus
dimasukkan dalam penyusunan diagram ER.
Pelanggan yang bisa memakai layanan voice, sms dan data hanyalah pelanggan yang sudah melakukan
pembayaran tipe layanan baik yang prabayar, pasca bayar.
3.3.2.2 Langkah Penyelesaian
1. Penentuan kembali atribut entitas data yang berubah
2. Gambarkan ulang ER diagram dengan penyesuaian agregasi diatas, potongan bagian agregasi
No Nama entitas Atribut Relasi/genspec
1 Pelanggan Nohp, no_ktp, nama, alamat Agregasi
2 Tipe layanan Kodetipelayanan Genspec
3. Pascabayar Kodetipelayanan, abonemen Genspec
4. Prabayar Kodetipelayanan Genspec
Spesialisasi-Generalisasi dan Agregasi
H a l 37
Pelanggan
Tipelayanan
membayar
IS A
Prabayar
PascaBayar
n
1
combo
3. Lalu Gambarkan semua entitas ,relasi yang terkait dan kardinalitas serta atributnya.
3.3.2.3 Solusi Lengkap
Pelanggan
Tipelayanan
membayar
IS A
Prabayar
PascaBayar
n
1
Voice
SMS
Data
memakai
memakai
memakai
n
n
n
n
n
#Kode_tipe_layanan
#No_hp
No_ktp
nama
alamat
Abonemen
#Id_voice
Jenis_panggilan
waktu
#Id_data
Tarif_data
quota
#idsms
Tarif_per_sms
n
combo
Spesialisasi-Generalisasi dan Agregasi
H a l 38
3.3.2.4 Soal Ananda Brownis Lanjutan
Bagian 4
Untuk meningkatkan pelayanan, Ananda brownis memberlakukan retur (pengembalian barang) untuk kue
yang telah terjual dan terjadi kerusakan pada segel. Retur dapat dilakukan selambat-lambatnya dua hari
dari tanggal pembelian dengan syarat harus menunjukkan nota penjualan. Data yang dicatat pada saat
terjadi retur antara lain adalah nomor retur, tanggal retur, nomor nota penjualan, nama barang yang di
retur, dan jumlah yang diretur. Berikut contoh pencatatan retur kue yang telah terjual.
BUKTI RETUR
No.Retur : R02Tanggal Retur : 1 Maret 2013No.Nota : J0015
Kode Barang Nama Barang Jumlah ReturCHRL Cheese Roll 2CHST Cheese Stick 1
3.3.2.5 Pengamatan
Gambarkan entitas, atribut, atribut kunci, relasi, dan kardinalitas dari soal diatas pada kotak yang telah
disediakan.
3.3.2.6 Pengamatan
Berdasarkan studi kasus “Ananda Brownis” dari soal bagian 1 sampai dengan 4, silahkan gabungkan hasil
analisis dari masing-masing bagian sehingga terbentuk satu ER-Diagram lengkap studi kasus “ananda
Brownis” pada modul ini.
Spesialisasi-Generalisasi dan Agregasi
H a l 39
3.4 TEST AKHIR
Terdapat perpustakaan bernama ‘Suka Baca’ yang memiliki dua jenis koleksi perpustakaan. Koleksi yangdimiliki oleh perpustakaan ini antara lain adalah koleksi buku dan koleksi majalah. Terdapat kesamaanpencatatan data pada kedua jenis koleksi tersebut. Kesamaan pencatatannya adalah kode_koleksi, tanggalpenerimaan koleksi, judul buku, harga, jumlah eksemplar, dan penerbit. Namun terdapat perbedaanpencatatan data dari kedua koleksi tersebut. Pada jenis koleksi buku dicatat pengarang sedangkan padakoleksi majalah dicatat volume tahun, periode bulan, dan nama agen. Perpustakaan ‘Suka Baca’ adalahperpustakaan umum yang meminjamkan koleksinya kepada warga sekitar. Untuk bisa melakukanpeminjaman, warga harus terdaftar sebagai member tetap perpustakaan. Seorang warga dapat melakukanpeminjaman koleksi berulang kali dengan syarat sudah mengembalikan koleksi yang dipinjam sebelumnya.Berikut adalah bentuk kartu membernya.
Spesialisasi-Generalisasi dan Agregasi
H a l 40
KARTU MEMBER PERPUSTAKAAN ‘SUKA BACA’
Id_member : M101Nama : NonoAlamat : Pasar MIngguNo.ktp : 12345Tempat/Tgl Lahir : Paris/01 Januari 1994Jenis_Kelamin : Laki-laki
Manajer Perpustakaan ‘Suka Baca’
Dadang Markidang
Perpustakaan ini memiliki karyawan yang bertugas, salah satu tugasnya adalah mencatat apabila terjadipeminjaman koleksi perpustakaan. Jumlah maksimal peminjaman koleksi adalah tiga. Berikut adalah Buktipeminjaman buku.
BUKTI PEMINJAMANPERPUSTAKAAN ‘SUKA BACA’
PEMINJAMAN MEMBERNo.Pinjam : P101 ID_member : M101
Tgl : 12 Januari2015
Nama : Nono
ID Koleksi
1. B1012. M1013. B202
Judul Koleksi
Matahari TerbitMajalah KesehatanHabis Gelap Terjadilah Hujan
Buku-buku tersebut WAJIB dikembalikan maksimal 3 hari setelahwaktu peminjaman.
Petugas
Cecep GorbacepNIP. CEP
Perpustakaan ini memiliki ketentuan dalam hal pengembalian koleksi. Koleksi yang telah dipinjam dalamsatu transaksi peminjaman koleksi boleh dikembalikan satu persatu (tidak secara bersamaan). Sehinggauntuk satu transaksi pinjam memiliki lebih dati satu transaksi pengembalian koleksi. Berikut adalah contohbukti pengembalian koleksi.
BUKTI PENGEMBALIANPERPUSTAKAAN ‘SUKA BACA’
PENGEMBALIAN MEMBERNo.Kembali : K101 ID_member : M101
No.PinjamTgl Kembali
: P101: 14 Januari2015
Nama : Nono
ID Koleksi
1. B101
Judul Koleksi
Matahari Terbit
Petugas
Cecep GorbacepNIP. CEP
Spesialisasi-Generalisasi dan Agregasi
H a l 41
Pengamatan
Berdasarkan studi kasus “Perpustakaan Suka Baca” Buatlah ER diagram dengan menggunakan konsep
Generalisasi-spesialisa dan Agregasi . (clue : temukan 1 genspec dan 1 agregasi)
dari soal bagian 1 sampai dengan 4, silahkan gabungkan hasil analisis dari masing-masing bagian sehingga
terbentuk satu ER-Diagram lengkap studi kasus “ananda Brownis” pada modul ini.
Lain-lain
3. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri.
4. Keterlambatan atas pengumpulan modul praktikum sanksinya adalah nilai modul praktikum
ini nol (0).
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 42
4 BAB IV MEMETAKAN ER-DIAGRAM KE DALAM TABEL, SKEMA RELASI, DAN DIAGRAM RELASI
ANTAR TABEL
4.1 IDENTITAS
KajianER-Diagram
Topik1. Memetakan ER-Diagram ke Dalam Tabel2. Skema Relasi3. Diagram Relasi Antar Tabel
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications,
2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu,
India: Springer, 2007.3. Basis Data
Kompetensi Utama
1. Menguasai seluruh aturan pemetaan dari komponen-komponen E-R diagram menjadi tabel danditerapkan ke dalam relational database
2. Mampu memetakan E-R diagram menjadi tabel-tabel dengan benar3. Mampu membuat skema relasi dengan benar dari E-R diagram tertentu4. Mampu membuat diagram relasi antar tabel dengan benar dari E-R diagram tertentu.
Lama Kegiatan Praktikum
1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 30%2. Jurnal Pengamatan 30%3. Tugas Akhir 40%
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 43
4.2 PERTANYAAN PENDAHULUAN
Kerjakan satu pekan sebelum praktikum dan kumpulkan maksimal satu jam sebelum praktikum . Dalam
kertas dan tulisan tangan.
1. Apa itu primary key dan apa itu foreign key , berikan contoh transformasi primary key dan foreign
key dari ER ke table?
2. Buatlah resume aturan transformasi dari ER ke tabel dengan tulisan tangan meliputi aturan :
a. Transformasi entitas kuat,entitas lemah
b. Transformasi composite,multivalued,derived atribut
c. Transformasi dari kardinalitas relasi one to one,one to many, dan many to many
d. Transformasi generalisasi-specialisasi dan agregasi
e. Transformasi unary dan ternary relashionship
3. Apakah yang anda ketahui tentang skema relasi ?
4. Apa yang anda ketahui tentang diagram relationship?
5. Apakah terdapat perbedaan aturan transformasi ER-Diagram ke skema relasi dengan transformasi
ke tabel ? berikan contoh sederhana !
4.3 PRAKTIK
Transformasi ER ke Tabel, Skema Relasi, dan Diagram Relationsihp
1. Pada bagian ini akan dipelajari transformasi ER ke Tabel untuk berbagai jenis ER yang mengandung:
- Entitas dan berbagai jenis atribut
- Relasi binary, unary ,ternary dan kardinalitas
- Gen-spec dan agregasi
2. Membuat skema relasi
3. Membuat diagram relasi antar tabel
ERD 1 – Kasus Kursus
4.3.2.1 Soal
Perhatikan ER diagram berikut ini dan selesaikan tugas di bawah ini:
1. Buatlah tabel sesuai dengan ER-Diagram
2. Buatlah skema relasi sesuai dengan ER-Diagram
3. Buatlah diagram relasi antar tabel sesuai dengan ER-Diagram
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 44
Kursus
Id_kursus nama_kursus
keteranganbiaya
Pendaftaran_kursus
Id_Pendaftaran
Tgl_daftar
Status_pembayaran
mendaftar
memilih
No_telp
Peserta_kursus
Id_peserta
nama
alamat
No_telp
Tgl_lahir
Pendidikan_terakhir
Ruang_Kursus
Id_ruang
LokasiKapasitas
Jadwal
menempati
No_telp
Tenaga_Pengajar
Id_Pengajar
namaalamat
No_telpNo_telp
Tgl_lahir
kompetensi
Mengajar
Kategori Kursus
Id_kategori
nama_kategori
keterangan
memiliki
n
1
1 n
n
1
n 1
1
n
4.3.2.2 Pembahasan
5. Berikut adalah hasil tabel yang terbentuk berdasarkan ER-Diagram diatas:
a. Kategori_kursus
Id_kategori Nama_kategori Keterangan
b. Kursus
Id_kursus Nama_kursus keterangan Biaya @Id_kategori
Pada tabel diatas, kolom id_kategori muncul sebagai foreign key karena adanya relasi satu ke banyak
dengan entitas kategori_kursus.
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 45
c. Tenaga_pengajar
Id_pengajar Nama alamat Tgl_lahir
Pada tabel ini untuk atrbut kompetensi dan nomor telpon tidak dibuat menjadi kolom karena atribut
tersebut merupakan atribut multivalue sehingga harus dibuat tabel baru.
d. No_telp_tenaga_pengajar
@Id_pengajar No_telp
Tabel ini muncul karena no_telp adalah atribut multivalue sehingga harus dibuat sebagai tabel baru.
e. Kompetensi_tenaga_pengajar
@Id_pengajar Kompetensi
Tabel ini muncul karena kompetensi adalah atribut multivalue sehingga harus dibuat sebagai tabel
baru.
f. Peserta_kursus
Id_peserta Nama Alamat Tgl_lahir Pendidikan_terakhir
Pada tabel ini sama dengan tenaga_pengajar, untuk atribut no_telp tidak dibuat menjadi kolom karena
atribut tersebut merupakan atribut multivalue sehingga harus dibuat tabel baru.
g. No_telp_peserta_kursus
@Id_peserta No_telp
Tabel ini muncul karena no_telp adalah atribut multivalue sehingga harus dibuat sebagai tabel baru.
h. Ruang_kursus
Id_ruang Lokasi Jadwal Kapasitas
i. Pendaftaran_kursus
Id_pendaftaran Tgl_daftar
Status_pembayaran
@id_peserta
@id_pengajar
@id_kursus @id_ruang
Pada tabel ini terdapat tiga kolom sebagai foreign key yang muncul akibat adanya relasi dengan
entitas tenaga_pengajar, ruang_kursus, peserta_kursus, dan kursus.
6. Berikut adalah skema relasi berdasarkan ER-Diagram kasus diatas:
Kategori_kursus(Id_kategori, nama_kategori, keterangan)
Kursus(Id_kursus, nama_kursus, keterangan, biaya, @id_kategori)
Tenaga_pengajar(id_pengajar, nama_alamat, tgl_lahir)
No_telp_tenaga_pengajar(@id_pengajar, no_telp)
Kompetensi_tenaga_pengajar(@id_pengajar, kompetensi)
Peserta_kursus(id_peserta, nama, alamat, tgl_lahir, pendidikan_terakhir)
No_telp_peserta_kursus(@id_peserta, no_telp)
Ruang_kursus(id_ruang, lokasi, jadwal, kapasitas)
Pendaftaran_kursus(id_pendaftaran, tgl_daftar, status_pembayaran, @id_peserta, @id_pengajar,
@id_kursus, @id_ruang)
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 46
7. Berikut adalah diagram relasi antar tabel berdasarkan ER-Diagram Kursus:
4.3.2.3 Soal
Perhatikan ER diagram berikut ini dan selesaikan tugas di bawah ini:
1. Buatlah tabel sesuai dengan ER-Diagram
2. Buatlah skema relasi sesuai dengan ER-Diagram
C
R2
A BR1
n
n
1
m
C1
C2
C3
A1
A2 B1
B
H1
H
R4
1
n
H2
H3
I
R5
1
n
D
R3
n
1
D1
D2
D3
D4
ISAF
F1
F2
GG1
G2
E
E1
F3
E2
I1
I2
I3
R6
J
n
m
R11
R61
I4
I31
I32
I33
I34
hobbyI5
J1
J2
J3
TanggunganK
R7
K1
K2
1
n
I6
R8
L
M
n
m
nM1
M2
M3
L1
L2
L3R81
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 47
4.3.2.4 Solusi
1. Mulailah dari entitas, transformasikan semua entitas menjadi tabel. Maka disana akan ditemui
9 tabel hasil entitas tunggal yaitu A,B,C,D,H,I,J,M,L, untuk entitas yang mendapatkan relasi one to
many maka foreign key ikut ke yang kardinalitas lebih tinggi (ikut ke n)
1 tabel hasil entitas lemah yaitu K
3 tabel hasil entitas generalisasi-spesialisasi yaitu E,F,G
2. Lanjutkan dengan transformasi semua relasi termasuk spesialisasi, maka akan didapatkan
1 tabel hasil spesialisasi yaitu R1
1 tabel hasil relasi many to many yaitu R6
1 tabel hasil relasi ternary yaitu R8
3. Teruskan dengan memperhatikan transformasi atribut dihasilkan
1 tabel hasil multivalued atribut yaitu I5
Total ada 17 tabel
4.3.2.5 Pengamatan
1. Gambarkan semua tabel yang sudah di uraikan pada bagian solusi. Perhatikan pemetaan ER –
diagram ke tabel dengan memperhatikan aturan pemetaannya.
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 48
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 49
2. Skema relasi sesuai dengan pemetaan ER-Diagram menjadi tabel dibuat pada kotak di bawah ini.
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 50
4.4 TEST AKHIR
Terdapat ER-Diagram berikut ini untuk menangani pengadaan barang pada suatu organisasi:
Goods
Requirements
Consistof
1
N
Goods_id
Name_description
price
Current_stock
Req_id
amount
date
Purchase OrdersConsist
of1
PO_id
PO_date
amount
Suppliers
Consistof
1
N Delivery_date
PO_status
Supplier_idSupplier_name
addresscontact
Good_receipts
Req_status
Consistof
N
Accounting_transaction
Transaction_id
amountGR_status
Transaction_date
AccountConsist
ofN N
Invoice_verification
Storage_Location
Consistof
N
1
Consistof
N 1 PaymentsConsist
of
Storage_id
N N
IV_status
locationcontacts
Payment_term
total
ISA
price
Delivery_date
IV_amount
description
Requirements_detail
Reqdet_id
Consistof
N
1
Purchase_Orders_detail
N
Podet_id
Consistof
1N
Good_receipts_detail
1
PO_status
Consistof
1
N
amount
Account_id name
amount
amount
Dr/cr
company_name
PIC
Shipping_terms
GRdet_id
Pengamatan
1. Buatlah skema relasi berdasarkan ER-Diagram diatas.
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 51
Pengamatan
2. Gambarkan Diagram relasi antar tabel dari ER-Diagram pengadaan barang pada kasus diatas.
Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel
H a l 52
Lain-lain
1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri.
2. Keterlambatan atas pengumpulan modul praktikum sanksinya adalah nilai modul praktikum ini
nol (0).
Key dan Functional Dependency
H a l 53
5 BAB V KEY DAN FUNCTIONAL DEPENDENCIES
5.1 IDENTITAS
KajianNormalisasi
Topik1. Super key,Kandidat Key, Primary Key2. Identifikasi Functional Dependencies,Partial dan Transitif Functional Dependencies
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications,
2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu,
India: Springer, 2007.3. Basis Data
Kompetensi Utama
1. Menguasai konsep super key, candidate key dan primary key2. Mampu mengidentifikasi dengan benar super key, candidate key dan primary key dari suatu
tabel tertentu3. Menguasai konsep functional dependency, partial functional dependency dan transitive
functional dependency4. Mampu mengidentifikasi functional dependency, partial dependency dan transitive functional
dependency dengan benar dari suatu tabel tertentu.
Lama Kegiatan Praktikum
1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 30%2. Jurnal Pengamatan 30%3. Tugas Akhir 40%
Key dan Functional Dependency
H a l 54
5.2 PERTANYAAN PENDAHULUAN
Jawablah dikertas kerjakan dengan tulisan tangan . Kumpulkan sebelum praktikum
1. Apakah yang dimaksud dengan:
a. Superkey
b. Candicate key
c. Primary key
2. Apakah yang dimaksud dengan:
a. Functional Dependency
b. Partial Functional Dependency
c. Transitive Functional Dependency
3. Tuliskan rumus dari
a. Partial Functional Dependency
b. Transitive Functional Dependency
5.3 PRAKTIK
Pada bagian ini akan diberikan kasus data tidak normal dari real world. Dengan sejumlah langkah
penyelesaian menganalisasi keys dan dependencies
Soal I
Diketahui sebuah tabel berikut ini.
Table JualBeli Barang
NoFaktur TglFaktur KdSupplier NmSupplier KdBarang NmBarang Harga
F-006 14-Feb-02 S-001 Andi PS-001 Pensil Warna Rp.500
SP-005 Spidol Rp.3.000
F-007 15-Feb-02 S-002 Enya PS-001 Pensil Warna Rp.500
PS-002 Pensil Hitam Rp.1.000
PS-003 Pensil HB Rp.1.500
F-008 15-Feb-02 S-003 Mandy PS-002 Pensil Hitam Rp.1.000
SP-005 Spidol Rp.3.000
F-009 15-Feb-02 S-001 Andi PS-001 Pensil Warna Rp.500
Analisislah
1. Superkey,candidate key dan primary key nya
2. Tentukan Full Functional Dependency, Partial Functional Dependency dan Transitive Functional
Dependency nya.
Key dan Functional Dependency
H a l 55
Langkah Penyelesaian dan solusi
1. Identifikasi Superkey
Superkey adalah tupel yang unik, berisi satu atau sekumpulan atribut dari entitas, jika ditulis semua
jumlah superkey dari tabel diatas bisa lebih dari 20, yang ditulis disini hanyalah sampai tiga
kombinasi saja.
Semua field/kolom adalah superkey
- (tglfaktur, nofaktur, kdsupplier, nmsupplier, kdbarang, nmbarang, harga)
Identifikasi satu field/kolom yang dapat membedakan tuple/baris satu dengan yang lain.
Tidak ada yang memenuhi karena semua ada kesamaan
Identifikasi kombinasi dua field/kolom yang dapat membedakan tuple/baris satu dengan yang lain
(nofaktur, kdbarang)
(nofaktur, nmbarang)
Identifikasi kombinasi tiga field/kolom yang dapat membedakan tuple/baris satu dengan yang lain.
(Tglfaktur, Nofaktur, kdbarang )
(kdsupplier, Nofaktur, kdbarang )
(nmsupplier, Nofaktur, kdbarang )
(tglfaktur, nofaktur, nmbarang)
(kdsupplier, nofaktur, nmbarang)
(nmsupplier, nofaktur, nmbarang), dsb.
2. Identifikasi candidate key
Key yang paling minimal adalah yang terdiri dari dua kolom , yaitu:
(nofaktur, kdbarang)
(nofaktur, nmbarang)
3. Identifikasi Primary key
(nofaktur, kdbarang) karena dianggap paling uniq dan tidak boleh null.
4. Identifikasi functional dependency
FD 1 (nofaktur) (tglfaktur)
FD 2 (nofaktur) (kdsupplier)
FD 3 (nofaktur) (nmsupplier)
FD 4 (kdsupplier) (nmsupplier)
FD 5 (kdbarang) (nmbarang, harga)
FD 6 (nofaktur,kdbarang) (tgl, faktur, kdsupplier, nmsupplier, nmbarang, harga)
5. Identifikasi Full Functional Dependency
FD 1 (nofaktur) (tglfaktur)
obyek determinan (tglfaktur) tergantung seluruhnya pada determinan (nofaktur) dan obyek
determinan (tglfaktur) tidak tergantung sebagian pada determinan (nofaktur) karena determinan
(nofaktur) bukan determinan gabungan.
FD 2 (nofaktur) (kdsupplier)
obyek determinan (kdsupplier) tergantung seluruhnya pada determinan (nofaktur) dan obyek
determinan (kdsupplier) tidak tergantung sebagian pada determinan (nofaktur) karena
determinan (nofaktur) bukan determinan gabungan.
Key dan Functional Dependency
H a l 56
FD 3 (nofaktur) (nmsupplier)
obyek determinan (nmsupplier) tergantung seluruhnya pada determinan (nofaktur) dan obyek
determinan (nmsupplier) tidak tergantung sebagian pada determinan (nofaktur) karena
determinan (nofaktur) bukan determinan gabungan.
FD 4 (KdSupplier) (Nmsupplier)
obyek determinan (nmsuppllier) tergantung seluruhnya pada determinan (kdsupplier) dan obyek
determinan (nmsupplier) tidak tergantung sebagian pada determinan (kdsupplier) karena
determinan (kdsupplier) bukan determinan gabungan.
FD 5 (KdBarang) (NmBarang, Harga)
obyek determinan (nmbarang, harga) tergantung seluruhnya pada determinan (kdbarang) dan
obyek determinan (nmbarang, harga) tidak tergantung sebagian pada determinan (kdbarang)
karena determinan (kdbarang) bukan determinan gabungan.
6. Identifikasi Partial Functional Dependency
FD 6 (nofaktur, kdbarang) (tgl, faktur, kdsupplier, nmsupplier, nmbarang, harga)
FD 1,2,3 (nofaktur) (tglfaktur, kdsupplier, nmsupplier)
Terdapat partial functional dependency : (tglfaktur, kdsupplier, nmsupplier) tergantung sebagian
pada (nofaktur, kdbarang)
FD 6 (nofaktur, kdbarang) (tgl, faktur, kdsupplier, nmsupplier, nmbarang, harga)
FD 5 (kdbarang) (nmbarang, harga)
Terdapat partial functional dependency : (nmbarang, harga) tergantung sebagian pada (nofaktur,
kdbarang)
7. Identifikasi Transitive Functional Dependency
FD 2,3 (nofaktur) (kdsupplier, nmsupplier)
FD 4 (kdsupplier) (nmsupplier)
Terdapat transitive functional dependency : (nmsupplier) tergantung kepada (nofaktur) melalui
(kdsupplier)
Soal Ananda Brownis
Lakukan pengamatan untuk mengidentifikasi:1. Super key, candidate key, dan primary key
2. Full functional dependency, partial functional dependency, dan transitive functional dependency
No.Nota TglKode
BarangNama
HargaSatuan
Jum-lah
SubTotal
TotalPenjualan
Discount
TotalBayar
J0008 1 Januari 2013 BLUE Blueberry 32,000 3 96,000 676,000 10% 608,400
CHCR Cheese Cream 52,000 10 520,000
COMA Choco Marble 30,000 2 60,000
J0009 1 Januari 2013 ORIG Original 26,000 4 104,000 352,000 10% 316,800
BABZ Banana Bizz 30,000 4 120,000
BLUE Blueberry 32,000 4 128,000
J0010 5 Januari 2013 CHCR Cheese Cream 52,000 2 104,000 141,000 0% 141,000
CHRL Cheese Roll 37,000 1 37,000
J0011 25 Januari 2013 CHCR Cheese Cream 52,000 2 104,000 131,000 0% 131,000
CHST Cheese Stick 27,000 1 27,000
J0011 5 Februari 2013 ORIG Original 26,000 1 26,000 26,000 0% 26,000
Key dan Functional Dependency
H a l 57
5.3.3.1 Pengamatan
1. Catat hasil pengamatan super key (minimal 5) dari kasus Ananda Brownis pada kotak di bawah ini:
2. Catat hasil pengamatan candidate key dari kasus Ananda Brownis pada kotak di bawah ini:
3. Catat hasil pengamatan primary key dari kasus Ananda Brownis pada kotak di bawah ini:
Key dan Functional Dependency
H a l 58
4. Catat hasil pengamatan full functional dependency (FFD) dari kasus Ananda Brownis pada kotak di
bawah ini. Full functional dependency yang wajib dibuat adalah semua kombinasi FFD dengan
determinan terdiri dari satu kolom, dua kolom dan semua kolom :
5. Catat hasil pengamatan partial functional dependency dari kasus Ananda Brownis pada kotak di bawah
ini:
Key dan Functional Dependency
H a l 59
6. Catat hasil pengamatan transitive functional dependency dari kasus Ananda Brownis pada kotak di
bawah ini:
5.4 TEST AKHIR
1. Temukan superkey,candidate key dan primary key dari tabel berikut ini
2. Tentukan full functional dependency, partial functional dependency, dan transitive functional
dependency
Key dan Functional Dependency
H a l 60
1. Catat hasil pengamatan super key (minimal 5) dari kasus Ananda Brownis pada kotak di bawah ini:
2. Catat hasil pengamatan candidate key dari kasus Ananda Brownis pada kotak di bawah ini:
3. Catat hasil pengamatan primary key dari kasus Ananda Brownis pada kotak di bawah ini:
4. Catat hasil pengamatan full functional dependency dari kasus Ananda Brownis pada kotak di bawah ini.
Full functional dependency yang wajib dibuat adalah semua kombinasi FFD dengan determinan terdiri
dari satu kolom, dua kolom dan semua kolom :
No_Bukti Tgl_Bukti Id_Petugas Nm_Petugas ID_Dokt Nm_Dokt Gol_Dokt Biaya_Periksa KD_Obat Biaya_Obat Total
NB002 1-Apr-12 WWN Wawan DDK Didik Umum 20,000 OBL201 12,500 57,000
ATB102 24,500
NB003 1-Apr-12 WWN Wawan INA Melina Umum 20,000 OBL201 12,500 62,500
OBD302 30,000
NB004 1-Apr-12 WWN Wawan FLD Faldi Spesialis Kulit 50,000 ATB102 24,500 94,500
OBL321 20,000
NB005 1-Apr-12 WWN Wawan HNI Hani Spesialis Kandungan 75,000 VTM012 60,000 210,000
ATB222 30,000
OBD223 45,000
NB006 2-Apr-12 MLI Meli RST Restu Spesialis Kandungan 75,000 VTM012 60,000 165,000
ATB222 30,000
Key dan Functional Dependency
H a l 61
5. Catat hasil pengamatan partial functional dependency dari kasus Ananda Brownis pada kotak di bawah
ini:
Key dan Functional Dependency
H a l 62
6. Catat hasil pengamatan transitive functional dependency dari kasus Ananda Brownis pada kotak di
bawah ini:
7. Temukan superkey,candidate key dan primary key dari tabel berikut ini
Jadwal kursus IT
5.5 LAIN-LAIN
1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri.
2. Keterlambatan atas pengumpulan modul praktikum sanksinya adalah nilai modul praktikum ini
nol (0).
Normalisasi 1NF sampai BCNF
H a l 63
6 BAB VI NORMALISASI 1ST NF SAMPAI DENGAN BCNF
6.1 IDENTITAS
KajianNormalisasi
TopikNormalisasi 1st NF sampai dengan BCNF
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications,
2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu,
India: Springer, 2007.3. Basis Data
Kompetensi Utama
1. Menguasai konsep normalisasi dan tujuan dilakukan normalisasi2. Mampu mengidentifikasi kemungkinan adanya insert, update dan delete anomaly dari suatu
tabel tertentu3. Menguasai konsep bentuk normal 1st NF, 2nd NF, 3rd NF dan BCNF4. Mampu melakukan normalisasi bentuk normal 1st NF, 2nd NF, 3rd NF dan BCNF dengan benar
dari suatu tabel tertentu.
Lama Kegiatan Praktikum
1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 30%2. Jurnal Pengamatan 30%3. Tugas Akhir 40%
Normalisasi 1NF sampai BCNF
H a l 64
6.2 PERTANYAAN PENDAHULUAN
Jawablah di kertas dan tulis dengan tulisan tangan. Kumpulkan sebelum praktikum pada asisten anda.
1. Apakah yang dimaksud dengan
a. Anomaly pada basis data
b. Normalisasi
c. Null value
2. Sebutkan dan jelaskan langkah-langkah normalisasi dari 1NF sampai BCNF
6.3 PRAKTIK
Soal I
1. Identifikasi insert anomaly, update anomaly, dan delete anomaly pada tabel di bawah ini!
2. Lakukan proses normalisasi dari 1NF sampai dengan BCNF pada tabel di bawah ini!
Laporan Tagihan Pembelian Barang dari Supplier
NoFaktur TglFaktur KdSupplier NmSupplier KdBarang NmBarang Harga
F-006 14-Feb-02 S-001 Andi PS-001 Pensil Warna Rp.500
SP-005 Spidol Rp.3.000
F-007 15-Feb-02 S-002 Enya PS-001 Pensil Warna Rp.500
PS-002 Pensil Hitam Rp.1.000
PS-003 Pensil HB Rp.1.500
F-008 15-Feb-02 S-003 Mandy PS-002 Pensil Hitam Rp.1.000
SP-005 Spidol Rp.3.000
F-009 15-Feb-02 S-001 Andi PS-001 Pensil Warna Rp.500
6.3.1.1 Langkah Penyelesaian
1. Identifikasi Anomaly pada tabel:
a. Insert Anomaly
Pada tabel tersebut memungkinkan terjadi insert anomaly. Insert anomaly pada tabel tsb. mungkin terjadi
apabila terdapat kebutuhan untuk menambah/insert data barang baru namun belum terdapat transaksi
faktur pembelian kepada supplier sehingga terdapat null value pada beberapa kolom. Hal ini tergambar
dari contoh 1. Insert anomaly pada tabel tsb. mungkin juga terjadi apabila terdapat kebutuhan untuk
menambah/insert supplier baru namun belum terdapat transaksi faktur pembelian dan data barang yang
dibeli sehingga terdapat null value pada beberapa kolom. Hal ini tergambar dari contoh 2.
Contoh 1:
Terdapat barang baru dengan kode barang “PS-007” dengan nama barang “Pensil Tinta Hitam” dengan
harga “Rp. 2000”, maka jika hanya data kode barang, nama barang, dan harga yang diinput ke dalam
tabel akan terjadi insert anomaly karena terdapat null value pada kolom nofaktur, tglfaktur, kdsupplier,
dan nmsupplier.
Normalisasi 1NF sampai BCNF
H a l 65
Contoh 2:
Terdapat supplier baru dengan kode supplier “S-004” dengan nama supplier “Parmadi”, maka jika hanya
data kdsupplier dan nmsupplier yang diinput ke dalam tabel akan terjadi insert anomaly karena terdapat
null value pada kolom nofaktur, tglfaktur, kdbarang, nmbarang, dan harga.
b. Update Anomaly
Pada tabel tersebut memungkinkan terjadi update anomaly. Update anomaly pada tabel tsb. mungkin
terjadi apabila terdapat data nama barang diubah pada salah satu transaksi faktur dan tidak dilakukan
perubahan nama barang dengan kode yang sama pada transaksi faktur lainnya sehingga terdapat
ketidakkonsistenan data pada tabel. Hal ini tergambar dalam contoh 1. Update anomaly pada tabel tsb.
juga mungkin terjadi apabila terdapat data nama supplier yang diubah pada salah satu transaksi faktur dan
tidak dilakukan perubahan nama supplier dengan kode yang sama pada transaksi faktur lainnya. Sehingga
terdapat ketidakkonsistenan data pada tabel. Hal ini tergambar dalam contoh 2.
Contoh 1:
Terjadi perubahan nama barang pada baris pertama, yaitu kode barang PS-001 semula nama barang
“Pensil Warna” diubah / di-update menjadi “Pensil Warna-warni” namun untuk kode barang PS-001 pada
baris ketiga dan baris kedelapan tidak dilakukan perubahan nama barang menjadi “Pensil Warna-warni”.
Hal ini termasuk ke dalam update anomaly karena terdapat ketidakkonsistenan data pada kode barang
PS-001, kode barang sama namun nama barang berbeda.
Contoh 2:
Terjadi perubahan nama supplier pada baris pertama, kode supplier S-001 semula nama suppliernya
“Andi” diubah / di-update menjadi “Andi Jaya” namun untuk kode supplier S-001 pada baris kedelapan
tidak dilakukan perubahan nama supplier menjadi “Andi Jaya”. Hal ini termasuk ke dalam update
anomaly karena terdapat ketidakkonsistenan data pada kode supplier S-001, kode supplier sama namun
nama supplier berbeda.
c. Delete Anomaly
Pada tabel tersebut memungkinkan terjadi delete anomaly. Delete anomaly pada tabel tsb. memungkinkan
terjadi apabila terdapat salah satu baris data dari transaksi faktur dihapus, sehingga menghilangkan
informasi yang tidak ingin dihapus. Hal ini dapat tergambar dari contoh berikut.
Contoh:
Terdapat penghapusan data untuk transaksi nomor faktur F-007, sehingga data pada baris ketiga,
keempat dan kelima dihapus. Hal ini termasuk ke dalam delete anomaly karena informasi mengenai kode
barang PS-003 dengan nama barang “Pensil HB” akan ikut hilang akibat dari penghapusan pada transaksi
F-007. Hal ini karena data mengenai barang PS-003 dengan nama barang “Pensil HB” hanya terdapat
pada baris kelima. Selain itu delete anomaly juga terjadi karena informasi mengenai kode supplier S-002
dengan nama supplier “Enya” ikut hilang akibat dari penghapusan pada transaksi F-007. Hal ini terjadi
karena data mengenai supplier S-002 dengan nama Supplier “Enya” hanya terdapat pada baris ketiga
saja.
Normalisasi 1NF sampai BCNF
H a l 66
2. Lakukan normalisasi pada tabel:
Pembuktian 1st NF:
Syarat:
a. Tidak ada kolom multivalue
b. Tidak ada kolom dengan domain yang sama
Analisis:
a. Tidak terdapat kolom multivalue
b. Tidak terdapat kolom dengan domain yang sama
Kesimpulan:
Pada tabel tidak terdapat kolom multivalued an tidak terdapat kolom dengan domain yang sama, sehingga
tabel sudah memenuhi bentuk 1st NF.
Pembuktian 2nd NF:
Syarat:
a. Memenuhi 1st NF
b. Tidak ada partial FD
Analisis:
a. Tabel telah memenuhi 1st NF
b. Pembuktian partial FD:
Langkahnya adalah:
1. Tentukan salah satu candidate key yang potensial untuk menjadi primary key (lihat modul 5).
Primary key nya adalah (nofaktur, kdbarang).
2. Jika primary key merupakan composite key (primary key terdiri dari dua kolom), maka mungkin
terjadi partial FD. Tentukan FD dari masing-masing kolom pembentuk primary key.
FD1: (nofaktur) (tglfaktur, kdsupplier, nmsupplier )
FD2: (kdbarang) (nmbarang, harga)
3. Tentukan Partial FD berdasarkan langkah kedua.
Partial FD terjadi pada (tglfaktur, kdsupplier, nmsupplier) bergantung secara parsial terhadap
(nofaktur, kdbarang) dan
Partial FD terjadi pada (nmbarang, harga) yang bergantung secara parsial terhadap (nmbarang,
harga)
4. Tentukan ful FD terhadap (nofaktur, kdbarang).
Tidak ada full FD terhadap (nofaktur, kdbarang)
Kesimpulan:
Tabel belum memenuhi 2nd NF karena masih memiliki partial FD. Perlu dilakukan dekomposisi terhadap
tabel. Dekomposisi dilakukan sesuai dengan hasil analisis partial FD dan full FD dari primary key. Pastikan
data dalam tabel tidak ada yang redundan (data tidak boleh sama)
• Berdasarkan FD1: (nofaktur) (tglfaktur, kdsupplier, nmsupplier) terdapat tabel dekomposisi:
Tabel1: Faktur
nofaktur Tglfaktur kdsupplier Nmsupplier
F-006 14-Feb-02 S-001 Andi
F-007 15-Feb-02 S-002 Enya
Normalisasi 1NF sampai BCNF
H a l 67
F-008 15-Feb-02 S-003 Mandy
F-009 15-Feb-02 S-001 Andi
• Berdasarkan FD2: (kdbarang) (nmbarang, harga) terdapat tabel dekomposisi:
Tabel2: Barang
KdBarang NmBarang Harga
PS-001 Pensil Warna Rp.500
SP-005 Spidol Rp.3.000
PS-001 Pensil Warna Rp.500
PS-002 Pensil Hitam Rp.1.000
PS-003 Pensil HB Rp.1.500
PS-002 Pensil Hitam Rp.1.000
SP-005 Spidol Rp.3.000
PS-001 Pensil Warna Rp.500
Semula data terdapat 8 baris, hilangkan data yang redundan (data yang sama), sehingga hasil akhir tabel
2: Barang adalah berikut ini.
KdBarang NmBarang Harga
PS-001 Pensil Warna Rp.500
SP-005 Spidol Rp.3.000
PS-002 Pensil Hitam Rp.1.000
PS-003 Pensil HB Rp.1.500
• Berdasarkan hasil analisis tidak ada full FD dari primary key (nofaktur, kdsupplier) maka tabel
yang terbuat, hanya untuk primary key nya saja (nofaktur, kdsupplier), yaitu tabel 3:
detail_faktur_barang.
NoFaktur KdBarang
F-006 PS-001
F-006 SP-005
F-007 PS-001
F-007 PS-002
F-007 PS-003
F-008 PS-002
F-008 SP-005
F-009 PS-001
Pembuktian 3rd NF:
Pembuktian 3rd NF dilakukan pada tabel hasil dekomposisi.
Tabel1: Faktur
Nofaktur Tglfaktur kdsupplier Nmsupplier
F-006 14-Feb-02 S-001 Andi
F-007 15-Feb-02 S-002 Enya
Normalisasi 1NF sampai BCNF
H a l 68
F-008 15-Feb-02 S-003 Mandy
F-009 15-Feb-02 S-001 Andi
Syarat:
a. Memenuhi 2nd NF
b. Tidak ada transitive FD.
Analisis:
a. Pada tabel 1: Faktur yang menjadi primary key adalah (nofaktur). Tabel 1: Faktur sudah memenuhi 2nd
NF karena primary key tabel tersebut bukan merupakan composite key sehingga tidak memiliki partial
FD.
b. Pembuktian transitive FD :
Langkahnya adalah:
1. Tentukan FD dari semua kolom.
FD1: (nofaktur) (tglfaktur, kdsupplier, nmsupplier)
FD2: (kdsupplier) (nmsupplier)
2. Tentukan transitive FD berdasarkan langkah satu.
Terdapat transitive FD, yaitu (nmsupplier) terdapat ketergantungan secara transitif terhadap
nofaktur melalui (kdsupplier).
Kesimpulan:
Tabel belum memenuhi 3rd NF karena masih memiliki transitive FD. Perlu dilakukan dekomposisi terhadap
tabel. Dekomposisi dilakukan sesuai dengan hasil analisis transitive FD. Pastikan data dalam tabel tidak
ada yang redundan (data tidak boleh sama).
Berdasarkan FD2: (kdsupplier) (nmsupplier) terdapat tabel hasil dekomposisi berikut ini.
Tabel 1-1: Supplier
kdsupplier Nmsupplier
S-001 Andi
S-002 Enya
S-003 Mandy
S-001 Andi
Semula data terdapat 4 baris, hilangkan data yang redundan (data yang sama), sehingga hasil akhir tabel
1-1: Supplier adalah berikut ini.
Tabel 1-1: Supplier
kdsupplier Nmsupplier
S-001 Andi
S-002 Enya
S-003 Mandy
Berdasarkan FD1: (nofaktur) (tglsupplier, kdsupplier, nmsupplier) terdapat tabel hasil dekomposisi
berikut ini.
Tabel 1-2: Faktur
nofaktur Tglfaktur kdsupplier
F-006 14-Feb-02 S-001
Normalisasi 1NF sampai BCNF
H a l 69
F-007 15-Feb-02 S-002
F-008 15-Feb-02 S-003
F-009 15-Feb-02 S-001
Pembuktian 3rd NF dilakukan pada tabel hasil dekomposisi.
Tabel 1-1: Supplier
kdsupplier Nmsupplier
S-001 Andi
S-002 Enya
S-003 Mandy
Syarat:
a. Memenuhi 2nd NF
b. Tidak ada transitive FD.
Kesimpulan:
Tabel 1-1: Supplier telah memenuhi 2nd NF karena primary key dari tabel tersebut adalah (kdsupplier) bukan
merupakan composite key. Tabel juga tidak memiliki transitive FD karena hanya memiliki 2 kolom.
Berdasarkan pernyataan diatas, tabel 1-1: Supplier telah memenuhi bentuk 3rd NF.
Pembuktian 3rd NF dilakukan pada tabel hasil dekomposisi.
Tabel 1-2: Faktur
nofaktur Tglfaktur Kdsupplier
F-006 14-Feb-02 S-001
F-007 15-Feb-02 S-002
F-008 15-Feb-02 S-003
F-009 15-Feb-02 S-001
Syarat:
a. Memenuhi 2nd NF
b. Tidak ada transitive FD.
Kesimpulan:
Tabel 1-2: Faktur telah memenuhi 2nd NF karena primary key dari tabel tersebut adalah (nofaktur) bukan
merupakan composite key. Tabel juga tidak memiliki transitive FD karena hanya terdapat satu functional
dependency. Berdasarkan pernyataan diatas, tabel 1-2: Faktur telah memenuhi bentuk 3rd NF.
Pembuktian 3rd NF dilakukan pada tabel hasil dekomposisi.
Tabel 2: Barang
KdBarang NmBarang Harga
PS-001 Pensil Warna Rp.500
SP-005 Spidol Rp.3.000
PS-002 Pensil Hitam Rp.1.000
PS-003 Pensil HB Rp.1.500
Normalisasi 1NF sampai BCNF
H a l 70
Syarat:
a. Memenuhi 2nd NF
b. Tidak ada transitive FD.
Kesimpulan:
Tabel 2: Barang telah memenuhi 2nd NF karena primary key dari tabel tersebut adalah (KdBarang) bukan
merupakan composite key. Tabel juga tidak memiliki transitive FD karena hanya terdapat satu functional
dependency dan tidak terdapat data yang redundan. Berdasarkan pernyataan diatas, tabel 2: Barang telah
memenuhi bentuk 3rd NF.
Pembuktian 3rd NF dilakukan pada tabel hasil dekomposisi.
Tabel 3: Detail_Faktur_Barang
NoFaktur KdBarang
F-006 PS-001
F-006 SP-005
F-007 PS-001
F-007 PS-002
F-007 PS-003
F-008 PS-002
F-008 SP-005
F-009 PS-001
Syarat:
a. Memenuhi 2nd NF
b. Tidak ada transitive FD.
Kesimpulan:
Tabel 3: Detil_Faktur_Barang telah memenuhi 2nd NF dan tidak ada transitif FD karena tabel hanya memiliki
dua kolom. Berdasarkan pernyataan tersebut, tabel 3: Detil_faktur_barang telah memenuhi bentuk 3rd NF.
Pembuktian BCNF:
Tabel 1-1: Supplier
Kdsupplier Nmsupplier
S-001 Andi
S-002 Enya
S-003 Mandy
Syarat:
a. memenuhi 3rd NF, dan
b. Untuk semua Functional Dependency, ruas kiri dari Functional Dependency tersebut adalah superkey
Analisis:
a. Tabel sudah memenuhi 3rd NF
b. Tentukan candidate key dan tentukan functional dependency
Candidate key: (KdSupplier)
Normalisasi 1NF sampai BCNF
H a l 71
FD1: (KdSupplier) (NmSupplier)
Berdasarkan FD, ruas kiri adalah (KdSupplier). Dalam tabel 1-1: Supplier (KdSupplier) merupakan
primary key sehingga dapat disimpulkan ruas kiri adalah superkey.
Kesimpulan:
Tabel 1-1: Supplier sudah memenuhi 3rd NF dan ruas kiri dari FD yang ada dalam tabel sudah merupakan
superkey sehingga tabel 1-1: Supplier sudah memenuhi BCNF.
Pembuktian BCNF dilakukan pada tabel hasil dekomposisi.
Tabel 1-2: Faktur
nofaktur Tglfaktur Kdsupplier
F-006 14-Feb-02 S-001
F-007 15-Feb-02 S-002
F-008 15-Feb-02 S-003
F-009 15-Feb-02 S-001
Syarat:
a. memenuhi 3rd NF, dan
b. Untuk semua Functional Dependency, ruas kiri dari Functional Dependency tersebut adalah superkey
Analisis:
a. Tabel sudah memenuhi 3rd NF
b. Tentukan candidate key dan tentukan functional dependency
Candidate key: (NoFaktur)
FD1: (NoFaktur) (TglFaktur, KdSupplier)
Berdasarkan FD, ruas kiri adalah (NoFaktur). Dalam tabel 1-2: Faktur (NoFaktur) merupakan primary
key sehingga dapat disimpulkan ruas kiri adalah superkey.
Kesimpulan:
Tabel 1-2: Faktur sudah memenuhi 3rd NF dan ruas kiri dari FD yang ada dalam tabel sudah merupakan
superkey sehingga tabel 1-2: Faktur sudah memenuhi BCNF.
Pembuktian BCNF dilakukan pada tabel hasil dekomposisi.
Tabel 2: Barang
KdBarang NmBarang Harga
PS-001 Pensil Warna Rp.500
SP-005 Spidol Rp.3.000
PS-002 Pensil Hitam Rp.1.000
PS-003 Pensil HB Rp.1.500
Syarat:
a. memenuhi 3rd NF, dan
b. Untuk semua Functional Dependency, ruas kiri dari Functional Dependency tersebut adalah superkey
Analisis:
a. Tabel sudah memenuhi 3rd NF
b. Tentukan candidate key dan tentukan functional dependency
Normalisasi 1NF sampai BCNF
H a l 72
Candidate key: (KdBarang)
FD1: (KdBarang) (NmBarang, Harga)
Berdasarkan FD, ruas kiri adalah (KdBarang). Dalam tabel 2: Barang(KdBarang) merupakan primary key
sehingga dapat disimpulkan ruas kiri adalah superkey.
Kesimpulan:
Tabel 2: Barang sudah memenuhi 3rd NF dan ruas kiri dari FD yang ada dalam tabel sudah merupakan
superkey sehingga tabel 2: Barang sudah memenuhi BCNF.
Pembuktian BCNF dilakukan pada tabel hasil dekomposisi.
Tabel 3: Detail_Faktur_Barang
NoFaktur KdBarang
F-006 PS-001
F-006 SP-005
F-007 PS-001
F-007 PS-002
F-007 PS-003
F-008 PS-002
F-008 SP-005
F-009 PS-001
Syarat:
a. memenuhi 3rd NF, dan
b. Untuk semua Functional Dependency, ruas kiri dari Functional Dependency tersebut adalah superkey
Analisis:
a. Tabel sudah memenuhi 3rd NF
b. Tentukan candidate key dan tentukan functional dependency
Candidate key: (NoFaktur, KdBarang) dan tidak memiliki FD.
Kesimpulan:
Tabel 3: Detil_Faktur_Barang sudah memenuhi 3rd NF dan tabel tidak memiliki functional dependency
karena tabel hanya terdiri dari dua kolom dan candidate key merupakan composite key sehingga tabel 3:
Detil_Faktur_Barang sudah memenuhi bentuk normal BCNF.
6.3.1.2 Solusi lengkap
Solusi lengkap hasil normalisasi
Tabel1: Faktur
nofaktur Tglfaktur kdsupplier Nmsupplier
F-006 14-Feb-02 S-001 Andi
F-007 15-Feb-02 S-002 Enya
F-008 15-Feb-02 S-003 Mandy
F-009 15-Feb-02 S-001 Andi
Normalisasi 1NF sampai BCNF
H a l 73
Tabel2: Barang
KdBarang NmBarang Harga
PS-001 Pensil Warna Rp.500
SP-005 Spidol Rp.3.000
PS-002 Pensil Hitam Rp.1.000
PS-003 Pensil HB Rp.1.500
Tabel 3: detail_faktur_barang.
NoFaktur KdBarang
F-006 PS-001
F-006 SP-005
F-007 PS-001
F-007 PS-002
F-007 PS-003
F-008 PS-002
F-008 SP-005
F-009 PS-001
Soal Ananda Brownis
Lakukan pengamatan untuk mengidentifikasi:1. Insert, update, dan delete anomaly
2. Lakukan proses normalisasi dari mulai 1st NF sampai dengan BCNF
Laporan Penjualan Ananda Brownis
No.Nota TglKode
BarangNama
HargaSatuan
Jum-lah
SubTotal
TotalPenjualan
Discount
TotalBayar
J0008 1 Januari 2013 BLUE Blueberry 32,000 3 96,000 676,000 10% 608,400
CHCR Cheese Cream 52,000 10 520,000
COMA Choco Marble 30,000 2 60,000
J0009 1 Januari 2013 ORIG Original 26,000 4 104,000 352,000 10% 316,800
BABZ Banana Bizz 30,000 4 120,000
BLUE Blueberry 32,000 4 128,000
J0010 5 Januari 2013 CHCR Cheese Cream 52,000 2 104,000 141,000 0% 141,000
CHRL Cheese Roll 37,000 1 37,000
J0011 25 Januari 2013 CHCR Cheese Cream 52,000 2 104,000 131,000 0% 131,000
CHST Cheese Stick 27,000 1 27,000
J0011 5 Februari 2013 ORIG Original 26,000 1 26,000 26,000 0% 26,000
Normalisasi 1NF sampai BCNF
H a l 74
6.3.2.1 Pengamatan
1. A. Paparkan penjelasan kemungkinan terjadinya insert anomaly beserta contoh dari tabel laporan
penjualan Ananda Brownis pada kolom berikut.
B. Paparkan penjelasan kemungkinan terjadinya update anomaly beserta contoh dari tabel laporan
penjualan Ananda Brownis pada kolom berikut.
Normalisasi 1NF sampai BCNF
H a l 75
C. Paparkan penjelasan kemungkinan terjadinya delete anomaly beserta contoh dari tabel laporan
penjualan Ananda Brownis pada kolom berikut.
2. A. Tuliskan syarat untuk memenuhi bentuk normal 1st NF dan buktikan jika tabel Laporan Penjualan
Ananda Brownis telah memenuhi bentuk normal pertama. Jika tabel belum memenuhi syarat, lakukan
dekomposisi pada tabel
Normalisasi 1NF sampai BCNF
H a l 76
B. Tuliskan syarat untuk memenuhi bentuk normal 2nd NF dan buktikan jika tabel Laporan Penjualan
Ananda Brownis telah memenuhi bentuk normal kedua. Jika tabel belum memenuhi syarat, lakukan
dekomposisi pada tabel. Tabel yang didekomposisi tuliskan isi datanya.
Normalisasi 1NF sampai BCNF
H a l 77
C. Tuliskan syarat untuk memenuhi bentuk normal 3rd NF dan buktikan jika tabel Laporan Penjualan
Ananda Brownis telah memenuhi bentuk normal ketiga. Lakukan proses pembuktian 3rd NF untuk tabel
hasil dekomposisi dari proses sebelumnya. Tabel yang didekomposisi tuliskan isi datanya.
Normalisasi 1NF sampai BCNF
H a l 78
Normalisasi 1NF sampai BCNF
H a l 79
D. Tuliskan syarat untuk memenuhi bentuk normal BCNF dan buktikan jika tabel Laporan Penjualan
Ananda Brownis telah memenuhi bentuk normal BCNF. Lakukan proses pembuktian BCNF untuk tabel
hasil dekomposisi dari proses sebelumnya. Tabel yang didekomposisi tuliskan isi datanya.
Normalisasi 1NF sampai BCNF
H a l 80
6.4 TEST AKHIR
Diketahui tabel berikut ini, buatlah langkah-langkah normalisasi, sehingga tabel tersebut menjadi normalBCNF.
Diketahui studi kasus "KoCiPoliTel"Laporan Simpanan Anggota
no_simpan tgl_simpan no_anggota nm_anggota ahli_waris
kd_jenis_s
impanan nm_simpanan subtotal total_simpan
TR01 1-Jan-13 ID01 Cecep Gorbacep Centil ia; Alayia PKK Simpanan Pokok 250,000 270,000
WJB Simpanan Wajib 20,000
TR02 1-Jan-13 ID02 Tika Indah Bedjo Benjamin WJB Simpanan Wajib 20,000 40,000
SKR Simpanan Sukarela 20,000
TR11 1-Feb-13 ID01 Cecep Gorbacep Centil ia; Alayia WJB Simpanan Wajib 20,000 25,000
SKR Simpanan Sukarela 5,000
TR21 1-Mar-13 ID01 Cecep Gorbacep Centil ia; Alayia WJB Simpanan Wajib 20,000 20,000
TR22 2-Mar-13 ID03 Bruno Black - PKK Simpanan Pokok 250,000 290,000
WJB Simpanan Wajib 20,000
SKR Simpanan Sukarela 20,000
Normalisasi 1NF sampai BCNF
H a l 81
Normalisasi 1NF sampai BCNF
H a l 82
6.5 LAIN-LAIN
1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri.
2. Keterlambatan atas pengumpulan modul praktikum sanksinya adalah nilai modul praktikum ini
nol (0).
SQL dan DML Sederhana
H a l 83
7 BAB VII SQL (DDL DAN DML SEDERHANA)
7.1 IDENTITAS
KajianSQL (DDL dan DML)
Topik1. Create, Alter dan Drop2. Insert, Update, dan Delete3. Select….From…Where
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications,
2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu,
India: Springer, 2007.3. Basis Data
Kompetensi Utama
1. Memahami apa yang dimaksud dengan SQL, DDL dan DML2. Mampu mengkategorikan perintah SQL ke dalam DDL atau DML3. Mampu membuat table yang memiliki constraint primary key dan foreign key4. Mampu melakukan perubahan terhadap table yang sudah ada5. Memahami konsep on delete cascade6. Mampu menambah data dalam table7. Mampu melakukan update data table8. Mampu menghapus data dalam table9. Mampu menggunakan klausa select sederhana
Lama Kegiatan Praktikum
1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 40%2. Jurnal Pengamatan 30%3. Tugas Akhir 30%
SQL dan DML Sederhana
H a l 84
7.2 PERTANYAAN PENDAHULUAN
Kerjakan dikertas dan jawab dalam tulisan tangan , kumpulkan pada asisten sebelum praktikum dimulai1. Apakah yang dimaksud dengan
a. SQL (Structured Query Language)b. DDL (Data Definition Language)c. DML (Data Manipulation Language)
2. Perintah apa sajakah yang termasuk dalam DDL
3. Apa itu MySQL
4. Bagaimanakah perintah dasar dari insert, berikan satu contoh
5. Bagaimanakah perintah dasar dari update, berikan satu contoh
6. Bagaimanakah perintah dasar dari delete, berikan satu contoh
7. Jika ingin menampilkan semua isi data, perintah select seperti apa yang seharusnya digunakan.
SQL dan DML Sederhana
H a l 85
7.3 PRAKTIK
Soal 1Diketahui sebuah ER Diagram dan Diagram relasi antar tabel untuk Kasus Ananda Brownis Penjualan sbb:
SQL dan DML Sederhana
H a l 86
Implementasikan skema tersebut ke dalam tabel fisik menggunakan DBMS MySQL, gunakan constraintyang benar saat pembuatan tabel
Langkah Penyelesaian
1. Terlebih dahulu kita buat database baru bernama AnandaPenjualan dengan perintah sebagai berikut:
Create database AnandaPenjualan;
2. Lalu kita gunakan database AnandaPenjualan perintah:
Use AnadaPenjualan;
3. Kemudian kita create table, perhatikan urutan pembuatan tabel. Pembuatan tabel dimulai dari tabel
yang tidak memiliki foreign key. Urutan pembuatan tabel adalah tabel Jenis_Kue dan Outlet.
Selanjutnya pembuatan tabel yang memiliki foreign key yang mengacu pada tabel yang telah dibuat
sebelumnya, yaitu tabel Kue, Penjualan, dan Detail_Kue. Tabel akun terdapat foreign key yang mengacu
pada primary key dari tabel dirinya sendiri sehingga dibutuhkan perintah ALTER untuk membuat
foreign key pada tabel akun. Setelah tabel akun dibuat, tabel jurnal dapat dibuat dengan mengacu pada
tabel akun. Gunakan constraint primary key dan foreign key.
Berikut perintah untuk membuat tabel Jenis_Kue:
CREATE TABLE jenis_Kue(kode_jenis_kue varchar(4),nama_jenis_kue varchar(25),jangka_expired varchar(25),CONSTRAINT pk_jenis_kue PRIMARY KEY (kode_jenis_kue));
Berikut perintah untuk membuat tabel Outlet:
CREATE TABLE outlet(kode_outlet varchar(3),nama_outlet varchar(25),alamat varchar(50),telp varchar(15),CONSTRAINT pk_outlet PRIMARY KEY (kode_outlet));
Berikut perintah untuk membuat tabel Kue:
CREATE TABLE Kue(kode_kue varchar(4),nama_kue varchar(25),harga_satuan int,kode_jenis_kue varchar(4),CONSTRAINT pk_kue PRIMARY KEY (kode_kue),
SQL dan DML Sederhana
H a l 87
CONSTRAINT fk_kue_jenis FOREIGN KEY (kode_jenis_kue) REFERENCESjenis_kue(kode_jenis_kue)ON DELETE CASCADE ON UPDATE CASCADE);
Berikut perintah untuk membuat tabel Penjualan:
CREATE TABLE penjualan(no_nota varchar(4),tgl_jual date,total_jual int,discount int,total_bayar int,kode_outlet varchar(3),CONSTRAINT pk_penjualan PRIMARY KEY (no_nota),CONSTRAINT fk_penjualan_outlet FOREIGN KEY (kode_outlet) REFERENCESoutlet(kode_outlet)ON DELETE CASCADE ON UPDATE CASCADE);
Berikut perintah untuk membuat tabel Detail_jual:
CREATE TABLE detail_jual(no_nota varchar(4),kode_kue varchar(4),jumlah int,harga_satuan int,subtotal int,CONSTRAINT pk_detail_jual PRIMARY KEY (no_nota,kode_kue),CONSTRAINT fk_detail_penjualan FOREIGN KEY (no_nota) REFERENCESpenjualan(no_nota)ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_detail_kue FOREIGN KEY (kode_kue) REFERENCESkue(kode_kue)ON DELETE CASCADE ON UPDATE CASCADE);
Berikut perintah untuk membuat tabel Akun:
CREATE TABLE akun (kode_akun varchar(4),nama_akun varchar(50),header_akun varchar(4),CONSTRAINT pk_kode_akun PRIMARY KEY(kode_akun));
Untuk pembuatan foreign key pada kolom header_akun yang ada dalam tabel Akun dan mengacu pada
primary key di tabel Akun, maka dilakukan perintah ALTER sebagai berikut:
ALTER TABLE akunADD CONSTRAINT fk_no_akunFOREIGN KEY (header_akun) REFERENCES akun (kode_akun)ON DELETE CASCADE ON UPDATE CASCADE);
SQL dan DML Sederhana
H a l 88
Berikut perintah untuk membuat tabel jurnal_penjualan:
CREATE TABLE jurnal_penjualan(no_nota varchar(4),kode_akun varchar(4),posisi_dr_cr varchar(6),nominal int,CONSTRAINT pk_kode_akun PRIMARY KEY(kode_akun,no_nota),CONSTRAINT fk_jurnal_jual FOREIGN KEY (no_nota) REFERENCES penjualan(no_nota)ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_jurnal_akun FOREIGN KEY (kode_akun) REFERENCES akun(kode_akun)ON DELETE CASCADE ON UPDATE CASCADE);
Pengamatan
Diketahui terdapat ER Diagram dan diagram relasi antar tabel untuk studi Kasus Ananda Brownis
Pembelian:
Makanan
Kode_Kue
Nama_kue
harga_satuan
Bahan_Baku
Kode_Bhn_Baku
Nama_Bhn_Baku
Terdiri_dari
Satuan
n
m
Jumlah
PembelianTerdiri_dari
No_Nota
Tgl_beli
Total_jual
Discount
Total_bayar
jumlah
subtotal Jatuh_Tempo
nm
Pelunasanmelakukan
1
n No_Kuitansi
Total_bayar
Tgl_pelunasan
Pemasokmemasok
Kode_Pemasok
Nama_Pemasok
1m
Akunmengacu
1
n
Kode_akun
Nama_akun
mdicatat
n
Posisi_dr_cr
nominal
dicatat
n
m
Posisi_dr_cr
nominal
Harga_satuan
SQL dan DML Sederhana
H a l 89
Diagram relasi antar tabel:
DDL
1. Buat basis data dengan namaAnandaPembelian[3digitnimterakhir]
2. Buat tabel dengan nama kue dengan kolom sebagai berikut.
Kue
Kode_Kue varchar(4)Nama_Kue Varchar(25)
3. Tambahkan kolom Harga_satuan dengan tipe data integerpada tabel kue
4. Ubah kolom kode_kue menjadi primary key dengan namaprimary key pk_kue pada tabel kue
SQL dan DML Sederhana
H a l 90
5. Buat tabel dengan nama bahan_baku dengan kolom sebagaiberikut.
Bahan_Baku
PK Kode_Bhn_Baku Varchar(3)
Nama_Bhn_Baku Varchar(25)
Satuan Varchar(25)
6. Buat tabel dengan nama BOM dengan kolom sebagai berikut.
BOM
PK Kode_Kue Varchar(4)
PK Kode_Bhn_Baku Varchar(3)
Jumlah Int
7. Ubah kolom berikut ini menjadi foreign key dengan namaforeign key fk_kode_kue untuk kolom kode_kue danfk_kode_bhn_baku untuk kolom kode_bhn_baku pada tabelBOM
BOM
FK Kode_Kue Varchar(4)
FK Kode_Bhn_Baku Varchar(3)
Jumlah Int
8. Tambahkan kolom keterangan dengan tipe data varchar(100)pada tabel BOM
9. Ubah kolom keterangan semula tipe data varchar(100)menjadi tipe data text pada tabel BOM
10. Hapus kolom keterangan dari tabel BOM
11. Buat tabel dengan nama Pembelian dengan kolom sebagaiberikut. Buatlah foreign key dengan nama fk_kode_pemasokpada kolom kode_pemasok di tabel Pembelian yangmengacu pada tabel pemasok.
Pembelian
PK No_nota Varchar(4)
Tgl_beli Date
Total_jual Int
Discount Int
Total_Bayar Int
Jatuh_tempo Date
FK Kode_Pemasok Varchar(3)
SQL dan DML Sederhana
H a l 91
12. Tuliskan error yang muncul pada layar Anda! Tuliskan apapenyebab error tersebut terjadi!
13. Buatlah tabel dengan nama Pemasok dengan kolom sebagaiberikut.
Pemasok
PK Kode_Pemasok Varchar(3)
Nama_pemasok Varchar(25)
14. Buat tabel dengan nama Pembelian dengan kolom sebagaiberikut. Buatlah foreign key dengan nama fk_kode_pemasokpada kolom kode_pemasok di tabel Pembelian yangmengacu pada tabel pemasok.
Pembelian
PK No_nota Varchar(4)
Tgl_beli Date
Total_jual Int
Discount Int
Total_Bayar Int
Jatuh_tempo Date
FK Kode_Pemasok Varchar(3)
15. Buat tabel dengan nama detail_beli dengan kolom sebagaiberikut (perhatikan foreign key yang harus dibuat denganmengacu pada gambar diagram relasi antar tabel):
Detail_beli
FK Kode_Bhn_baku Varchar(3)
FK No_nota Varchar(4)
Jumlah Int
Subtotal Int
Harga_satuan int
16. Ubah tabel Detail_beli dengan menambahkan primary keydengan nama pk_detailbeli yang terdiri dari kolomkode_bhn_baku dan no_nota
17. Buatlah tabel Pembayaran dengan kolom sebagai berikut:
Pembayaran
PK No_kuitansi Varchar(4)
Total_bayar Int
SQL dan DML Sederhana
H a l 92
Tgl_bayar Date
FK No_nota Varchar(4)
18. Buatlah tabel Akun dengan kolom sebagai berikut:
Akun
PK Kode_Akun Varchar(4)
Nama_akun Varchar(50)
FK Header_akun Varchar(4)
19. Buatlah tabel Jurnal_Pembelian dengan kolom sebagaiberikut:
Jurnal_pembelian
PK, FK Kode_akun Varchar(4)
PK, FK No_nota Varchar(4)
Posisi_dr_cr Varchar(6)
nominal Int
20. Buatlah tabel JurnalPembayaran dengan kolom sebagaiberikut:
Jurnal_pembayaran
PK, FK No_kuitansi Varchar(4)
PK, FK Kode_akun Varchar(4)
Posisi_dr_cr Varchar(6)
nominal Int
SQL dan DML Sederhana
H a l 93
DML
21. Masukkan data berikut ke dalam tabel kue.
Tabel Kue
Kode_kue Nama_kue Harga_satuan
ORIG Brownies Original 26000
BABZ Brownies Banana Bizz 30000
BLUE Brownies Blueberry 32000
CHCR Brownies Cheese Cream 52000
22. Masukkan data berikut ke dalam tabel BOM.
Tabel BOM
Kode_kue Bhn_baku Jumlah
ORIG CO1 300
ORIG CO2 75
23. Pesan error apa yang muncul pada nomor 22? Tuliskanpenyebab error yang muncul!
24. Masukkan data berikut ke dalam tabel bahan_baku:
Tabel Bahan_baku
Kode_bhn_baku Nama_bhn_baku satuan
CO1 Cokelat Masak Hitam Gram
CO2 Cokelat Bubuk On
CO3 Cokelat Gram
ME1 Mentega On
GR1 Garam Gram
25. Masukkan data berikut ke dalam tabel BOM:
Kode_kue Bhn_baku Jumlah
ORIG CO1 300
ORIG CO2 7
ORIG ME1 5
BABZ CO1 350
BABZ ME1 1
BLUE CO1 250
26. Ubah data pada tabel kue untuk kue yang bernama ‘BrowniesCheese Cream’ diubah menjadi ‘Brownies Cheeze’
SQL dan DML Sederhana
H a l 94
27. Ubah data pada tabel bahan_baku untuk bahan baku yangmemiliki satuan ‘on’ diubah menjadi ‘ons’
28. Ubah data pada tabel BOM untuk baris data yangmengandung Bhn_baku ‘CO1’ atau ‘CO2’ diubah menjadiCO3.
29. Hapus data pada tabel BOM yang memiliki kode_kue ORIGyang memiliki jumlah kurang dari 100
30. Hapus data pada tabel BOM untuk data yang memilikikode_kue ‘BABZ’ yang memiliki kode_bhn_baku ‘ME1’
31. Tampilkan seluruh data yang ada pada tabel kue
32. Tampilkan data nama kue dan harga satuan pada tabel kue
33. Tampilkan data kode bahan baku untuk kode kue ‘ORIG’
SQL dan DML Sederhana
H a l 95
7.4 TEST AKHIR
Terdapat diagram relasi antar tabel sebagai berikut:
Soal Tipe 1
DDL
1. Buat basis data dengan nama kocipolitel_3digitnimterakhir
2. Buat tabel dengan nama jenis_simpanan dengan kolomsebagai berikut.
3. Tambahkan kolom keterangan dengan tipe data varchardengan panjang 100 pada tabel jenis_simpanan
4. Ubah kolom kd_jns_simpan menjadi primary key dengannama primary key pk_kd_jns_simpan pada tabeljenis_simpanan
5. Buat tabel dengan nama simpanan dengan kolom sebagaiberikut.
6. Buat tabel dengan nama detail_simpanan dengan kolomsebagai berikut.
PK no_simpan char(5) FK no_simpan char(5) PK kd_jns_simpan char(3)
tgl_simpan date FK kd_jns_simpan char(3) nm_jns_simpan varchar(25)
total_simpan integer(11) subtotal integer(5)
simpanan detail_simpanan jenis_simpanan
kd_jns_simpan char(3)
nm_jns_simpan varchar(25)
jenis_simpanan
PK no_simpan char(5)
tgl_simpan date
total_simpan integer(11)
simpanan
no_simpan char(5)
kd_jns_simpan char(3)
subtotal integer(5)
detail_simpanan
SQL dan DML Sederhana
H a l 96
7. Ubah kolom berikut ini menjadi foreign key dengan namaforeign key fk_no_simpan untuk kolom no_simpan danfk_kd_jns_simpan untuk kolom kd_jns_simpan pada tabeldetail_simpanan
8. Ubah kolom keterangan dengan dari tipe data varchar(100)menjadi tipe data text pada tabel jenis_simpanan
9. Hapus kolom keterangan dari tabel jenis_simpanan
DML
10. Masukkan data berikut.
Tabel Jenis_Simpanan
kd_jns_simpan nm_simpanan
PKK Simpanan Pokok
WJB Simpanan Wajib
SKR Simpanan Sukarela
11. Masukkan data berikut.
Tabel Simpanan
no_simpan tgl_simpan no_anggota total_simpan
TR01 2013-01-01 ID01 270,000
TR21 2013-03-01 ID01 20,000
12. Masukkan data berikut.
Tabel Detail_Simpanan
no_simpan kd_jns_simpan subtotal
TR01 PKK 250,000
TR01 WJB 20,000
TR21 WJB 20,000
FK no_simpan char(5)
FK kd_jns_simpan char(3)
subtotal integer(5)
detail_simpanan
SQL dan DML Sederhana
H a l 97
13. Ubah data pada kolom kd_jns_simpan dari tabeldetail_simpanan yang dengan no_simpan TR01 dan subtotalsimpanan kurang dari 50000 menjadi SKR
14. Hapus data dari tabel simpanan yang memiliki total simpananlebih dari sama dengan 250000
DDL
15. Hapus foreign key dengan nama fk_kd_jns_simpan darikolom kd_jns_simpan pada tabel detail_simpanan
16. Hapus primary key dengan nama pk_kd_jns_simpan darikolom kd_jns_simpan pada tabel jenis_simpanan
17. Hapus tabel tabel jenis_simpanan
18. Tampilkan seluruh data yang ada dalam tabel Jenis_simpanan
19. Tampilkan data dari tabel Detail_simpanan yang memilikikd_njs_simpan ‘WJB’
20. Tampilkan data dari tabel simpanan yang memiliki totalsimpan lebih dari 200.000
7.5 LAIN-LAIN
1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri.
2. Keterlambatan atas pengumpulan modul praktikum sanksinya adalah nilai modul praktikum ini
nol (0).
Single Row Function
H a l 98
8 BAB VIII SINGLE ROW FUNCTION
8.1 IDENTITAS
Kajian1.SQL (DDL dan DML)
Topik1. Operator, nilai, dan penggunaan klausa select …from….where…order by2. Fungsi yang terdefinisi dalam SQL
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications,
2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu,
India: Springer, 2007.3. Basis Data
Kompetensi Utama
1. Mampu menguasai operator yang digunakan di SQL2. Memahami fungsi-fungsi yang terdefinisi dalam SQL3. Mampu menggunakan fungsi dalam SQL4. Mampu menggunakan klausa GROUP BY dan memahami kegunaannya5. Mampu menggunakan klausa HAVING dan memahami kegunaannya
Lama Kegiatan Praktikum
1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 30%2. Jurnal Pengamatan 30%3. Tugas Akhir 40%
Single Row Function
H a l 99
8.2 PERTANYAAN PENDAHULUAN
Jawablah soal berikut dengan tulisan tangan dan kumpulkan sebelum praktikum dimulai1. Sebutkan operator apa saja yang dapat diterapkan dalam query .2. Apa kegunaan operator like dan between3. Apa kegunaan group by ,berikan contoh sederhana4. Apa kegunaan having? Berikan contoh sederhana
Single Row Function
H a l 100
8.3 PRAKTIK
Soal dan Solusi Studi Kasus Ananda Brownis PenjualanBerikut adalah ER Diagram dan Diagram relasi antar tabel untuk studi kasus Ananda Brownis Penjualan:
Single Row Function
H a l 101
Berikut adalah data (isi tabel) yang ada dalam studi kasus Ananda Brownis Penjualan:
Tabel Jenis_kue
Kue
Outlet
Penjualan
Single Row Function
H a l 102
Detail_jual
Akun
Single Row Function
H a l 103
Jurnal_penjualan
Single Row Function
H a l 104
Instruksi Query
1. Tampilkan seluruh data yang ada dalam tabel
Outlet
SELECT * FROM outlet;
2. Tampilkan data transaksi penjualan yang terjadi di
kode outlet ‘ABC’
SELECT * FROM penjualanWHERE kode_outlet=’ABC’;
3. Tampilkan nama jenis kue dan jangka expired nya SELECT nama_jenis_kue,jangka_expiredFROM jenis_kue;
4. Tampilkan nama kue dan harganya khusus untuk
kue dengan harga diatas 30.000
SELECT nama_kue,harga_satuanFROM kueWHERE harga_satuan > 30000
5. Tampilkan nama kue beserta harganya khusus
untuk kue yang memiliki harga antara 30000
sampai dengan 40000
SELECT nama_kue, harga_satuanFROM kueWHERE harga_satuan >=30000AND harga_satuan <=40000
Atau
SELECT nama_kue, harga_satuanFROM kueWHERE harga_satuanBETWEEN 30000AND 40000
6. Tampilkan kode akun dan nama akun untuk akun
yang memiliki header_akun 2 atau 21
SELECT kode_akun, nama_akunFROM akunWHERE header_akun =2OR header_akun =21
Single Row Function
H a l 105
7. Tampilkan data nama kue, id_kategori, harga, dan
harga setelah diskon 10% . Namun data yang
ditampilkan hanyalah yang memiliki id_kategori
‘KUBA’.
SELECT nama_kue,kode_jenis_kue, harga,harga*0.9FROM jenis_kueWHERE kode_jenis_kue=’KUBA’
8. Tampilkan harga satuan kode yang paling mahal SELECT max(harga_satuan)FROM kue;
9. Tampilkan nama kue dan harga satuannya untuk
kue yang paling mahal
SELECT nama_kue,max(harga_satuan)FROM kue;
10. Tampilkan kode_kue yang pernah terjual dengan
menghilangkan data yang sama (duplikat)
SELECT DISTINCT(kode_kue)FROM detail_jual;
11. Urutkan data outlet berdasarkan nama outlet dari
‘Z-A’ (menurun)
SELECT *FROM outletORDER BY (nama_outlet) desc
Single Row Function
H a l 106
12. Tampilkan kode_jenis_kue beserta dengan jumlah
kue yang termasuk ke dalam masing-masing
kode_jenis_kue tersebut.
SELECT kode_jenis_kue,COUNT(kode_jenis_kue)FROM kueGROUP BY (kode_jenis_kue)
13. Tampilkan kode_jenis_kue beserta dengan jumlah
kue yang termasuk ke dalam masing-masing
kode_jenis_kue tersebut dengan nama kolom
‘Jumlah Barang’ .
SELECT kode_jenis_kue,COUNT(kode_jenis_kue)AS‘Jumlah Barang’FROM kueGROUP BY (kode_jenis_kue)
14. Tampilkan kode_jenis_kue beserta dengan jumlahkue yang termasuk ke dalam masing-masingkode_jenis_kue tersebut namun data yangditampilkan hanya kode_jenis_kue yang memilikijumlah kue lebih dari 10
SELECT kode_jenis_kue,COUNT(kode_jenis_kue)FROM kueGROUP BY (kode_jenis_kue)HAVINGCOUNT(kode_jenis_kue)>10
15. Tampilkan nama bulan yang terdapat transaksi
penjualan dengan nama kolom ‘Bulan’ dengan
menghilangkan data yang sama (duplikat)
SELECT DISTINCT(MONTHNAME(tgl_jual)) ASBulanFROM penjualan;
16. Tampilkan data nama jenis kue dengan tampilanhuruf kapital semua
SELECT UPPER(nama_jenis_kue)FROM jenis_kue;
Single Row Function
H a l 107
PengamatanBerikut terdapat ER Diagram Toko Sukses Selalu.
Posisi_dr_cr nominal
n
Diagram Relasi Antar Tabel Toko Elektronik Sukses Selalu
Data dalam Database Toko Sukses SelaluPelanggan
id_pelanggan no_ktp nama alamat no_telp pekerjaan
1111111111
PelangganTidakTerdaftar
8924234423 3372026404830000 Jeko Jl.Bojong Soang Bandung 022734412234 swasta
8935353535 3372026404832420 Boy Jl.Sukabirus Bandung 098987654321 mahasiswa
8911223344 3372026404112233 Domino Jl.Moch.Toha Bandung 02254321 wirausaha
PK id_pelanggan char(12) PK id_nota char(5) PK|FK id_nota char(5) PK id_barang char(50)
no_ktp char(16) tgl_nota date PK|FK id_barang char(50) nama varchar(25)
nama varchar(25) total integer(10) jumlah integer(5) harga integer(8)
alamat varchar(50) FK id_pelanggan char(12) subtotal integer(11) stok integer(11)
no_telp text FK id_pegawai char(10) FK id_kategori char(3)
pekerjaan varchar(20)
PK id_pegawai char(10) PK|FK id_bayar char(5) PK|FK id_nota char(5) PK id_kategori char(3)
no_ktp char(16) tgl_bayar date PK|FK id_barang char(50) nama_kategori varchar(25)
nama varchar(25) jumlah_bayar integer(10) PK|FK id_retur char(5) keterangan text
alamat varchar(50) sisa_piutang integer(10) jumlah integer(5)
no_telp text FK id_nota char(5) subtotal integer(11)
posisi varchar(20) FK id_pegawai char(10)
PK|FK id_retur char(5)
tgl_retur date
total_retur integer(10)
PK id_trans char(5) PK|FK no_akun char(5) PK no_akun char(5)
tgl_trans date PK|FK id_trans char(5) nm_akun varchar(100)
jml_trans integer(10) posisi_dr_cr varchar(6) FK header_akun char(5)
nominal integer
retur
transaksi Jurnal Akun
pelanggan nota_penjualan detail_penjualan barang
pegawai pembayaran detail_retur kategori_barang
Single Row Function
H a l 108
Pegawai
id_pegawai no_ktp nama alamat no_telp posisi
201301001 3372026404830000 Jeko Jl.Bojong Soang Bandung 022734412234 kasir
201301002 3372026404777777 Budi Jl.Sukapura Bandung 08988776655 kasir
201302001 3372026404987654 Wawan Jl.Sukabirus Bandung 089899999 kasir
201302009 3372026404135792 Wati Jl. Telekomunikasi Bandung 14000 supervisor
Kategori_barang
id_kategori nama_kategori keterangan
ELK Elektronik Elektronik
BZR Bazar Perlengkapan Rumah Tangga
SFL Softline Pakaian Siap Pakai
GPK Grocery Perawatan Kecantikan Perawatan dan kecantikan
GMK Grocery Makanan Minuman Makanan dan Minuman
PSG Pasar Segar Sayur, buah dan daging
Barang
id_barang Nama harga stok id_kategori
UA-22F5000 LED TV Samsung 22 inch 1900000 100 ELK
KLV-24EX430 LED TV SONY 24 Inch 1999600 100 ELK
24LN4100 LED TV LG 24 Inch 2036900 100 ELK
32LN5100 LED TV LG 32 Inch 3492000 100 ELK
DH-6330P HOME THEATHER LG 2461700 100 ELK
ES-FL8605-WW WASHING MACHINE SHARP 6KG 2863600 100 ELK
NA-F852 WASHING MACHINE PANASONIC 8.5KG 2590000 100 ELK
MUG-ZDK MUG ZODIAK 19900 100 BZR
MUG-SHO MUG SHIO 19900 100 BZR
MUG-ANI MUG ANIMAL 19900 100 BZR
KNWTPUMP KENMASTER WATER PUMP 27500 100 BZR
KC-105 KOMPOR MINI PORTABLE 124900 100 BZR
STELLA70GR STELLA ALL IN ONE 70 GR 7200 100 BZR
HITLEMON HIT AEROSOL LEMON 600ML 24150 100 BZR
ATTSOFT ATTACK SOFTENER 800GR 14325 100 BZR
ATTCMAX ATTACK CLEAN MAXIMIZER 800GR 14325 100 BZR
INDOMIE INDOMIE ALL VARIAN 1500 100 GMK
UHT125ML ULTRAMILK 125ML 1800 100 GMK
UHT1000ML ULTRAMILK 1000ML 11350 100 GMK
Nota_penjualan
id_nota tgl_nota total id_pelanggan id_pegawai
86856 2013-05-01 45675 1111111111 201301001
86857 2013-05-01 52800 8924234423 201301001
86858 2013-05-01 38500 8924234423 201301002
86859 2013-05-01 3492000 8935353535 201301002
86860 2013-06-01 8817300 8911223344 201301002
86861 2013-07-01 2863600 8924234423 201301002
86862 2013-07-01 297000 8924234423 201302001
Single Row Function
H a l 109
Detail_penjualan
id_nota id_barang jumlah subtotal
86856 STELLA70GR 1 7200
86856 HITLEMON 1 24150
86856 ATTSOFT 1 14325
86857 HITLEMON 1 24150
86857 ATTSOFT 2 28650
86858 MUG-ZDK 1 19900
86858 INDOMIE 10 15000
86858 UHT125ML 2 3600
86859 32LN5100 1 3492000
86860 32LN5100 1 3492000
86860 DH-6330P 1 2461700
86860 ES-FL8605-WW 1 2863600
86861 ES-FL8605-WW 1 2863600
86862 INDOMIE 90 135000
86862 UHT125ML 90 162000
Transaksi
id_trans tgl_trans jml_trans
BYR1 2013-05-01 45675
BYR2 2013-05-01 52800
BYR3 2013-05-01 38500
BYR4 2013-05-01 3000000
BYR5 2013-06-01 492000
BYR6 2013-06-01 4408650
BYR7 2013-07-01 2204325
BYR8 2013-08-01 2000000
BYR9 2013-09-01 204325
BYR10 2013-07-01 363600
BYR11 2013-07-01 47000
RTR1 2013-05-01 10500
RTR2 2013-07-02 43650
Pembayaran
id_bayar sisa_piutang id_nota id_pegawai
BYR1 0 86856 201301001
BYR2 0 86857 201301001
BYR3 0 86858 201301002
BYR4 492000 86859 201301002
BYR5 0 86859 201301001
BYR6 47000 86860 201301002
BYR7 2204325 86860 201301001
BYR8 204325 86860 201301001
BYR9 0 86860 201301001
BYR10 2500000 86861 201301002
BYR11 250000 86862 201302001
Single Row Function
H a l 110
retur
Id_retur
RTR1
RTR2
Detail_retur
id_nota id_barang id_retur jumlah subtotal
86858 INDOMIE RTR1 7 10500
86862 INDOMIE RTR2 13 19500
86857 HITLEMON RTR2 1 24150
Akun
no_akun nm_akun header_akun
1 Aktiva
11 Aktiva Lancar 1
111 Kas 11
112 Piutang Dagang 11
113 Persediaan Barang Dagangan 11
114 Sewa Dibayar Dimuka (10/12) 11
115 Asuransi Dibayar Dimuka (09/12) 11
116 Perlengkapan 11
2 Hutang
21 Hutang Lancar 2
211 Utang Dagang 21
3 Modal
311 Modal Tn X 3
3112 Prive Tn. X 311
4 Pendapatan
41 Pendapatan Usaha 4
411 Penjualan 41
412 Harga Pokok Penjualan 41
413 Retur Penjualan 41
414 Potongan Penjualan 41
5 Beban
511 Beban Listrik 5
512 Beban Air 5
513 Beban Telepon 5
514 Beban Gaji 5
jurnal
no_akun id_trans posisi_dr_cr nominal
111 BYR1 debet 45675
411 BYR1 kredit 45675
111 BYR2 debet 52800
411 BYR2 kredit 52800
111 BYR3 debet 38500
411 BYR3 kredit 38500
111 BYR4 debet 3000000
112 BYR4 debet 492000
Single Row Function
H a l 111
411 BYR4 kredit 3492000
111 BYR5 debet 492000
112 BYR5 kredit 492000
111 BYR6 debet 4408650
112 BYR6 debet 4408650
411 BYR6 kredit 8817300
111 BYR7 debet 2204325
112 BYR7 kredit 2204325
111 BYR8 debet 2000000
112 BYR8 kredit 2000000
111 BYR9 debet 204325
112 BYR9 kredit 204325
111 BYR10 debet 363600
112 BYR10 debet 2500000
411 BYR10 kredit 2863600
111 BYR11 debet 47000
112 BYR11 debet 250000
411 BYR11 kredit 297000
413 RTR1 debet 10500
111 RTR1 kredit 10500
413 RTR2 debet 43650
111 RTR2 kredit 43650
Single Row Function
H a l 112
Instruksi Query
1. Tampilkan seluruh data yang ada dalam tabel
pelanggan
2. Tampilkan seluruh data yang ada dalam tabel
pegawai
3. Tampilkan seluruh data yang ada dalam tabel
kategori barang
4. Tampilkan data pegawai yang memiliki posisi kasir
5. Tampilkan data barang yang memiliki id_kategori
‘ELK’
6. Tampilkan nama barang beserta dengan harga nya
7. Tampilkan nama barang beserta harganya khusus
untuk barang yang memiliki harga diatas 2 juta
8. Tampilkan nama barang beserta harganya khusus
untuk barang yang memiliki harga antara 1 juta
sampai dengan 3 juta
Single Row Function
H a l 113
9. Tampilkan data barang yang termasuk ke dalam
id_kategori ‘ELK’ atau ‘GMK’
10. Tampilkan data nama barang dan id_kategori yang
termasuk ke dalam id_kategori ‘ELK’ beserta
dengan harganya setelah diskon 10%
11. Tampilkan harga barang yang paling mahal
12. Tampilkan nama barang beserta harga barang
untuk barang yang paling mahal
13. Tampilkan data barang yang tidak termasuk ke
dalam id_kategori ‘ELK’ atau ‘BZR’
14. Tampilkan id_barang yang pernah terjual dengan
menghilangkan data duplikat
15. Urutkan data kategori barang dari ‘Z-A’ (menurun)
Single Row Function
H a l 114
Berdasarkan ER Diagram, diagram relasi antar tabel beserta isi data dalam basis data Toko ElektronikSukses Selalu. Tampilkan informasi berikut:
PengamatanInstruksi Query
1. Tampilkan data barang yang termasuk
kategori ‘ELK’ yang memiliki harga kurang
dari 2 juta dari harga termurah sampai
dengan yang termahal
16. Tampilkan id_kategori beserta dengan jumlah
barang per masing-masing kategori
17. Tampilkan id_kategori beserta dengan jumlah
barang per masing-masing kategori dengan nama
kolom nya adalah ‘Jumlah Barang’
18. Tampilkan id_kategori beserta dengan jumlah
barang per masing-masing kategori dimana yang
ditampilkan adalah id_kategori yang jumlah
barangnya lebih dari 5
19. Tampilkan nama bulan yang terdapat transaksi
penjualan dengan nama kolom ‘Bulan’ dengan
menghilangkan data yang duplikat
20. Tampilkan data nama barang dengan tampilan
huruf kapital semua
Single Row Function
H a l 115
2. Tampilkan nama barang berupa ‘TV’
beserta harganya yang memiliki harga
lebih dari 2 juta
3. Tampilkan data pegawai yang memiliki
posisi bukan kasir
4. Tampilkan data penjualan yang memiliki
total jual Antara 2 juta sampai dengan 4
juta
5. Tampilkan data penjualan yang memiliki
total penjualan paling tinggi
8.4 TEST AKHIR
Masih dengan menggunakan skema toko Sukses Selalu jawablah pertanyaan berikut dengan mencariquery yang sesuai :
Instruksi Query
1. Tampilkan data id_pegawai yang
pernah melakukan pencatatan transaksi
penjualan dengan menghilangkan data
yang duplikat
2. Tampilkan id_nota beserta dengan
jumlah barang yang dijual dalam setiap
masing-masing nota dengan nama
kolom ‘Jumlah_Barang’
3. Tampilkan id_nota, total beserta
dengan total jika didiskon sebanyak
25% dengan nama kolom
Single Row Function
H a l 116
‘setelah_diskon’ khusus untuk
penjualan diatas 2 juta
4. Tampilkan nama bulan yang terdapat
transaksi penjualan dengan nama
kolom ‘Bulan’ beserta dengan total
penjualan nya perbulan dengan nama
kolom ‘total_perbulan’
5. Tampilkan data nama pegawai dan
alamatnya dengan tampilan huruf
capital pada seluruh tulisan diurutkan
dari huruf awal ‘A-Z’
8.5 LAIN-LAIN
1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri.
2. Keterlambatan atas pengumpulan modul praktikum sanksinya adalah nilai modul praktikum ini
nol (0).
Join Dua Tabel
H a l 117
9 BAB IX JOIN DUA TABEL
9.1 IDENTITAS
Kajian1.SQL (DDL dan DML)
Topik1. Join2. Alias
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications, 2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu, India:
Springer, 2007.3. Basis Data
Kompetensi Utama
1. Memahami mengenai konsep JOIN2. Mampu menggunakan jenis-jenis JOIN dan penggunaannya3. Mampu menggunakan alias nama table- Mampu menggunakan alias nama table
Lama Kegiatan Praktikum1.Pertemuan Terbimbing : 1 x 120 menit2.Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 30%2. Jurnal Pengamatan 30%3. Tugas Akhir 40%
Join Dua Tabel
H a l 118
9.2 PERTANYAAN PENDAHULUAN
1. Apakah kegunaan alias pada sintaks sql
2. Apakah perbedaan self,inner,outer,left ,right join yang ada ketahui
9.3 PRAKTIK
Soal dan Solusi Studi Kasus Ananda Brownis Penjualan
Berikut adalah ER Diagram dan Diagram relasi antar tabel untuk studi kasus Ananda Brownis Penjualan:
JenisKue memiliki Makanan
Kode_Jenis_Kue
Nama_Jenis_Kue
Jangka_expired
Kode_Kue
Nama_kue
harga_satuan
1 n
Penjualan
No_Nota
Tgl_jual
Total_jual
mencatat
Discount
Total_bayar
n
m
jumlah
subtotal
Akunmengacu
1
n
Kode_akun
Nama_akun
dicatat
nm
Posisi_dr_cr
nominal
Outlet
Kode_Outlet
Nama_outlet
alamat
melakukan
telp
1
n
Harga_satuan
Join Dua Tabel
H a l 119
Berikut adalah data (isi tabel) yang ada dalam studi kasus Ananda Brownis Penjualan:
Tabel Jenis_kue
Outlet
Kue
Join Dua Tabel
H a l 120
Penjualan
Detail_jual
Akun
Join Dua Tabel
H a l 121
Jurnal_penjualan
Berdasarkan ER Diagram, diagram relasi antar tabel beserta isi data dalam basis data Ananda Brownis
Penjualan. Tampilkan informasi berikut:
Instruksi Query
1. Tampilkan nama kue dan nama jenis kue
dari seluruh data kue yang tersimpan
SELECT nama_kue, nama_jenis_kueFROM kue a JOIN jenis_kue bONa.kode_jenis_kue=b.kode_jenis_kue
2. Tampilkan nama kue yang belum pernah
terjual
SELECT no_nota, nama_kueFROM kue aLEFT JOIN detail_jual bON a.kode_kue = b.kode_kueWHERE no_nota IS NULL;
Join Dua Tabel
H a l 122
Soal dan Solusi
Berikut terdapat ER Diagram Toko Sukses Selalu.
No_telp
Pelanggan
Id_pelanggan
nama
alamat
No_telp
No_ktp
pekerjaan
Nota_penjualan
Id_Nota
Tgl_nota
Total_nota
Barang
Id_barang
Nama_barang
Stok
Harga
mendapatkan Terdiri dari
Jumlah Subtotal
Pembayaran
Id_trans
Tgl_trans
jml_trans
membayar
Sisa_piutang
No_telp
Pegawai
No_telp
mendata
mencatat
Kategori_Barang
Id_kategori
nama_kategori
keterangan
membayar1 n n n
1
n
1
n
1
n
1
n
Retur
memiliki
n
n
n
Jumlah
Id_pegawai
No_ktp
nama
alamat
posisi
Subtotal
Transaksi
ISA
Akundicatatn m
Posisi_dr_cr nominal
dikelompokkan
n
1
no_akun
nm_akun
Diagram Relasi Antar Tabel Toko Elektronik Sukses Selalu
PK id_pelanggan char(12) PK id_nota char(5) PK|FK id_nota char(5) PK id_barang char(50)
no_ktp char(16) tgl_nota date PK|FK id_barang char(50) nama varchar(25)
nama varchar(25) total integer(10) jumlah integer(5) harga integer(8)
alamat varchar(50) FK id_pelanggan char(12) subtotal integer(11) stok integer(11)
no_telp text FK id_pegawai char(10) FK id_kategori char(3)
pekerjaan varchar(20)
PK id_pegawai char(10) PK|FK id_bayar char(5) PK|FK id_nota char(5) PK id_kategori char(3)
no_ktp char(16) tgl_bayar date PK|FK id_barang char(50) nama_kategori varchar(25)
nama varchar(25) jumlah_bayar integer(10) PK|FK id_retur char(5) keterangan text
alamat varchar(50) sisa_piutang integer(10) jumlah integer(5)
no_telp text FK id_nota char(5) subtotal integer(11)
posisi varchar(20) FK id_pegawai char(10)
PK|FK id_retur char(5)
tgl_retur date
total_retur integer(10)
PK id_trans char(5) PK|FK no_akun char(5) PK no_akun char(5)
tgl_trans date PK|FK id_trans char(5) nm_akun varchar(100)
jml_trans integer(10) posisi_dr_cr varchar(6) FK header_akun char(5)
nominal integer
retur
transaksi Jurnal Akun
pelanggan nota_penjualan detail_penjualan barang
pegawai pembayaran detail_retur kategori_barang
Join Dua Tabel
H a l 123
Data dalam Database Toko Sukses Selalu
Pelanggan
id_pelanggan no_ktp nama alamat no_telp pekerjaan
1111111111Pelanggan TidakTerdaftar
8924234423 3372026404830000 Jeko Jl.Bojong Soang Bandung 022734412234 swasta
8935353535 3372026404832420 Boy Jl.Sukabirus Bandung 098987654321 mahasiswa
8911223344 3372026404112233 Domino Jl.Moch.Toha Bandung 02254321 wirausaha
Pegawai
id_pegawai no_ktp nama Alamat no_telp posisi
201301001 3372026404830000 Jeko Jl.Bojong Soang Bandung 022734412234 kasir
201301002 3372026404777777 Budi Jl.Sukapura Bandung 08988776655 kasir
201302001 3372026404987654 Wawan Jl.Sukabirus Bandung 089899999 kasir
201302009 3372026404135792 Wati Jl. Telekomunikasi Bandung 14000 supervisor
Kategori_barang
id_kategori nama_kategori Keterangan
ELK Elektronik Elektronik
BZR Bazar Perlengkapan Rumah Tangga
SFL Softline Pakaian Siap Pakai
GPK Grocery Perawatan Kecantikan Perawatan dan kecantikan
GMK Grocery Makanan Minuman Makanan dan Minuman
PSG Pasar Segar Sayur, buah dan daging
Barang
id_barang Nama harga stok id_kategori
UA-22F5000 LED TV Samsung 22 inch 1900000 100 ELK
KLV-24EX430 LED TV SONY 24 Inch 1999600 100 ELK
24LN4100 LED TV LG 24 Inch 2036900 100 ELK
32LN5100 LED TV LG 32 Inch 3492000 100 ELK
DH-6330P HOME THEATHER LG 2461700 100 ELK
ES-FL8605-WW WASHING MACHINE SHARP 6KG 2863600 100 ELK
NA-F852 WASHING MACHINE PANASONIC 8.5KG 2590000 100 ELK
MUG-ZDK MUG ZODIAK 19900 100 BZR
MUG-SHO MUG SHIO 19900 100 BZR
MUG-ANI MUG ANIMAL 19900 100 BZR
KNWTPUMP KENMASTER WATER PUMP 27500 100 BZR
KC-105 KOMPOR MINI PORTABLE 124900 100 BZR
STELLA70GR STELLA ALL IN ONE 70 GR 7200 100 BZR
HITLEMON HIT AEROSOL LEMON 600ML 24150 100 BZR
ATTSOFT ATTACK SOFTENER 800GR 14325 100 BZR
ATTCMAX ATTACK CLEAN MAXIMIZER 800GR 14325 100 BZR
INDOMIE INDOMIE ALL VARIAN 1500 100 GMK
UHT125ML ULTRAMILK 125ML 1800 100 GMK
UHT1000ML ULTRAMILK 1000ML 11350 100 GMK
Join Dua Tabel
H a l 124
Nota_penjualan
id_nota tgl_nota total id_pelanggan id_pegawai
86856 2013-05-01 45675 1111111111 201301001
86857 2013-05-01 52800 8924234423 201301001
86858 2013-05-01 38500 8924234423 201301002
86859 2013-05-01 3492000 8935353535 201301002
86860 2013-06-01 8817300 8911223344 201301002
86861 2013-07-01 2863600 8924234423 201301002
86862 2013-07-01 297000 8924234423 201302001
Detail_penjualan
id_nota id_barang jumlah subtotal
86856 STELLA70GR 1 7200
86856 HITLEMON 1 24150
86856 ATTSOFT 1 14325
86857 HITLEMON 1 24150
86857 ATTSOFT 2 28650
86858 MUG-ZDK 1 19900
86858 INDOMIE 10 15000
86858 UHT125ML 2 3600
86859 32LN5100 1 3492000
86860 32LN5100 1 3492000
86860 DH-6330P 1 2461700
86860 ES-FL8605-WW 1 2863600
86861 ES-FL8605-WW 1 2863600
86862 INDOMIE 90 135000
86862 UHT125ML 90 162000
Transaksi
id_trans tgl_trans jml_trans
BYR1 2013-05-01 45675
BYR2 2013-05-01 52800
BYR3 2013-05-01 38500
BYR4 2013-05-01 3000000
BYR5 2013-06-01 492000
BYR6 2013-06-01 4408650
BYR7 2013-07-01 2204325
BYR8 2013-08-01 2000000
BYR9 2013-09-01 204325
BYR10 2013-07-01 363600
BYR11 2013-07-01 47000
RTR1 2013-05-01 10500
RTR2 2013-07-02 43650
Pembayaran
id_bayar sisa_piutang id_nota id_pegawai
BYR1 0 86856 201301001
BYR2 0 86857 201301001
BYR3 0 86858 201301002
Join Dua Tabel
H a l 125
BYR4 492000 86859 201301002
BYR5 0 86859 201301001
BYR6 47000 86860 201301002
BYR7 2204325 86860 201301001
BYR8 204325 86860 201301001
BYR9 0 86860 201301001
BYR10 2500000 86861 201301002
BYR11 250000 86862 201302001
retur
Id_retur
RTR1
RTR2
Detail_retur
id_nota id_barang id_retur jumlah Subtotal
86858 INDOMIE RTR1 7 10500
86862 INDOMIE RTR2 13 19500
86857 HITLEMON RTR2 1 24150
Akun
no_akun nm_akun header_akun
1 Aktiva
11 Aktiva Lancar 1
111 Kas 11
112 Piutang Dagang 11
113 Persediaan Barang Dagangan 11
114 Sewa Dibayar Dimuka (10/12) 11
115 Asuransi Dibayar Dimuka (09/12) 11
116 Perlengkapan 11
2 Hutang
21 Hutang Lancar 2
211 Utang Dagang 21
3 Modal
311 Modal Tn X 3
3112 Prive Tn. X 311
4 Pendapatan
41 Pendapatan Usaha 4
411 Penjualan 41
412 Harga Pokok Penjualan 41
413 Retur Penjualan 41
414 Potongan Penjualan 41
5 Beban
511 Beban Listrik 5
512 Beban Air 5
513 Beban Telepon 5
514 Beban Gaji 5
Join Dua Tabel
H a l 126
Jurnal
no_akun id_trans posisi_dr_cr nominal
111 BYR1 debet 45675
411 BYR1 kredit 45675
111 BYR2 debet 52800
411 BYR2 kredit 52800
111 BYR3 debet 38500
411 BYR3 kredit 38500
111 BYR4 debet 3000000
112 BYR4 debet 492000
411 BYR4 kredit 3492000
111 BYR5 debet 492000
112 BYR5 kredit 492000
111 BYR6 debet 4408650
112 BYR6 debet 4408650
411 BYR6 kredit 8817300
111 BYR7 debet 2204325
112 BYR7 kredit 2204325
111 BYR8 debet 2000000
112 BYR8 kredit 2000000
111 BYR9 debet 204325
112 BYR9 kredit 204325
111 BYR10 debet 363600
112 BYR10 debet 2500000
411 BYR10 kredit 2863600
111 BYR11 debet 47000
112 BYR11 debet 250000
411 BYR11 kredit 297000
413 RTR1 debet 10500
111 RTR1 kredit 10500
413 RTR2 debet 43650
111 RTR2 kredit 43650
Pengamatan
Berdasarkan ER Diagram, diagram relasi antar tabel beserta isi data dalam basis data Toko Elektronik Sukses
Selalu. Tampilkan informasi berikut:
1. Tampilkan nama pelanggan beserta
dengan data transaksi penjualan nya yang
terdiri dari id nota, tanggal transaksi
penjualan, dan total
Join Dua Tabel
H a l 127
2. Tampilkan nama barang beserta dengan
nama kategori barang dari seluruh data
barang yang tersimpan
3. Tampilkan nama pegawai yang belum
pernah melakukan pencatatan nota
penjualan
4. Tampilkan nama pelanggan beserta
dengan total seluruh penjualan pada bulan
Mei dengan nama kolom
“total_penjualan” untuk pelanggan
bernama Jeko
5. Tampilkan nama pelanggan beserta
dengan total seluruh penjualan per
masing-masing pelanggan dengan nama
kolom “total_penjualan”
6. Tampilkan nama pelanggan, nama bulan,
beserta total seluruh penjualan per
masing-masing pelanggan per bulan
diurutkan berdasarkan nama pelanggan
dari ‘A-Z’
Join Dua Tabel
H a l 128
7. Tampilkan nama pelanggan beserta
dengan total seluruh penjualan per
masing-masing pelanggan dengan nama
kolom “total_penjualan” hanya untuk total
penjualan yang lebih dari 3,3 juta
8. Tampilkan nama barang yang belum
pernah terjual
9. Tampilkan nama barang beserta dengan
jumlah unit barang yang pernah terjual
untuk barang bernama ‘Indomie All Varian’
10. Tampilkan nama barang beserta dengan
total unit yang pernah terjual dengan
nama kolom total_unit untuk masing-
masing barang tersebut. Diurutkan dari
total_unit terbesar sampai dengan terkecil
9.4 TEST AKHIR
Tentukan query untuk kasus diabawah ini :
1. Tampilkan nama barang beserta dengan
total unit yang pernah terjual dengan
nama kolom total_unit untuk masing-
Join Dua Tabel
H a l 129
masing barang tersebut. Hanya barang
dengan total unit lebih dari 50 yang
ditampilkan. Diurutkan dari total_unit
terbesar sampai dengan terkecil
2. Tampilkan nama barang yang pernah di
retur beserta dengan total jumlah retur
per barang dengan nama kolom
“total_unit”
3. Tampilkan nama barang, harga beserta
nama kategorinya khusus untuk barang
yang termasuk ke dalam kategori
“Elektronik” yang memiliki harga lebih dari
2 juta
4. Tampilkan nama pegawai beserta tanggal
khusus untuk pegawai yang bertugas
untuk mencatat penjualan pada tanggal 1
Mei 2013 dengan memnghiilangkan data
yang duplikat
5. Tampilkan nama akun beserta dengan
nama header akunnya
Join Dua Tabel
H a l 130
6. Tampilkan nama akun beserta nama
header akunnya dan disertakan akun yang
tidak memiliki header akun
7. Tampilkan nama kategori beserta dengan
jumlah jenis barang per masing-masing
nama kategori dimana yang ditampilkan
adalah nama kategori yang jumlah
barangnya lebih dari 5
8. Tampilkan nama pelanggan yang
melakukan pembelian dengan total
terbesar
9.5 LAIN-LAIN
1. Kumpulkan jawaban anda kepada para asisten sebelum praktikum diakhiri.
2. Keterlambatan atas pengumpulan modul praktikum sanksinya adalah nilai modul praktikum ini
nol (0).
Join Tiga Tabel
H a l 131
10 BAB X JOIN TIGA TABEL
10.1 IDENTITAS
Kajian1.SQL (DDL dan DML)
TopikJoin tiga tabel atau lebih
Referensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications, 2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu, India:
Springer, 2007.3. Basis Data
Kompetensi Utama
1. Memahami mengenai konsep JOIN2. Mampu menggunakan jenis-jenis JOIN dan penggunaannya
Lama Kegiatan Praktikum1.Pertemuan Terbimbing : 1 x 120 menit2.Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Tes Awal 30%
2. Jurnal Pengamatan 30%
3. Tugas Akhir 40%
Join Tiga Tabel
H a l 132
10.2 PERTANYAAN PENDAHULUAN
3. Bagaimana bentuk umum urutan perintah SQL untuk menampilkan data jika didalamnya terdapat
perintah untuk mengelompokkan data, mengurutkan data, join 3 tabel, dengan mensyaratkan
data yang ditampilkan dengan melibatkan grouping function! Lengkapi perintah di bawah.
SELECT ……………………
4. Perintah apa yang digunakan untuk mengurutkan data?
5. Perintah apa yang digunakan untuk mengelompokkan data?
10.3 PRAKTIK
Soal dan Solusi Studi Kasus Ananda Brownis Penjualan
Berikut adalah ER Diagram dan Diagram relasi antar tabel untuk studi kasus Ananda Brownis Penjualan:
JenisKue memiliki Makanan
Kode_Jenis_Kue
Nama_Jenis_Kue
Jangka_expired
Kode_Kue
Nama_kue
harga_satuan
1 n
Penjualan
No_Nota
Tgl_jual
Total_jual
mencatat
Discount
Total_bayar
n
m
jumlah
subtotal
Akunmengacu
1
n
Kode_akun
Nama_akun
dicatat
nm
Posisi_dr_cr
nominal
Outlet
Kode_Outlet
Nama_outlet
alamat
melakukan
telp
1
n
Harga_satuan
Join Tiga Tabel
H a l 133
Berikut adalah data (isi tabel) yang ada dalam studi kasus Ananda Brownis Penjualan:
Tabel Jenis_kue
Outlet
Kue
Join Tiga Tabel
H a l 134
Penjualan
Detail_jual
Join Tiga Tabel
H a l 135
Akun
Jurnal_penjualan
Join Tiga Tabel
H a l 136
Berdasarkan ER Diagram, diagram relasi antar tabel beserta isi data dalam basis data Ananda Brownis
Penjualan. Tampilkan informasi berikut:
Instruksi Query
1. Tampilkan no_nota, nama kue dan
nama jenis kue yang terjual
SELECT no_nota, nama_kue,nama_jenis_kueFROM detail_jual aJOIN kue bON a.kode_kue = b.kode_kueJOIN jenis_kue cON c.kode_jenis_kue =b.kode_jenis_kue;
2. Tampilkan no_nota , nama kue, dan
nama jenis kue yang terjual khusus
untuk kue yang mengandung nama
Brownies
SELECT no_nota, nama_kue,nama_jenis_kueFROM detail_jual aJOIN kue bON a.kode_kue = b.kode_kueJOIN jenis_kue cON c.kode_jenis_kue =b.kode_jenis_kueWHERE nama_kue LIKE ‘Brownies%’;
Join Tiga Tabel
H a l 137
Soal dan Solusi
Berikut terdapat ER Diagram Toko Sukses Selalu.
No_telp
Pelanggan
Id_pelanggan
nama
alamat
No_telp
No_ktp
pekerjaan
Nota_penjualan
Id_Nota
Tgl_nota
Total_nota
Barang
Id_barang
Nama_barang
Stok
Harga
mendapatkan Terdiri dari
Jumlah Subtotal
Pembayaran
Id_trans
Tgl_trans
jml_trans
membayar
Sisa_piutang
No_telp
Pegawai
No_telp
mendata
mencatat
Kategori_Barang
Id_kategori
nama_kategori
keterangan
membayar1 n n n
1
n
1
n
1
n
1
n
Retur
memiliki
n
n
n
Jumlah
Id_pegawai
No_ktp
nama
alamat
posisi
Subtotal
Transaksi
ISA
Akundicatatn m
Posisi_dr_cr nominal
dikelompokkan
n
1
no_akun
nm_akun
Diagram Relasi Antar Tabel Toko Elektronik Sukses Selalu
PK id_pelanggan char(12) PK id_nota char(5) PK|FK id_nota char(5) PK id_barang char(50)
no_ktp char(16) tgl_nota date PK|FK id_barang char(50) nama varchar(25)
nama varchar(25) total integer(10) jumlah integer(5) harga integer(8)
alamat varchar(50) FK id_pelanggan char(12) subtotal integer(11) stok integer(11)
no_telp text FK id_pegawai char(10) FK id_kategori char(3)
pekerjaan varchar(20)
PK id_pegawai char(10) PK|FK id_bayar char(5) PK|FK id_nota char(5) PK id_kategori char(3)
no_ktp char(16) tgl_bayar date PK|FK id_barang char(50) nama_kategori varchar(25)
nama varchar(25) jumlah_bayar integer(10) PK|FK id_retur char(5) keterangan text
alamat varchar(50) sisa_piutang integer(10) jumlah integer(5)
no_telp text FK id_nota char(5) subtotal integer(11)
posisi varchar(20) FK id_pegawai char(10)
PK|FK id_retur char(5)
tgl_retur date
total_retur integer(10)
PK id_trans char(5) PK|FK no_akun char(5) PK no_akun char(5)
tgl_trans date PK|FK id_trans char(5) nm_akun varchar(100)
jml_trans integer(10) posisi_dr_cr varchar(6) FK header_akun char(5)
nominal integer
retur
transaksi Jurnal Akun
pelanggan nota_penjualan detail_penjualan barang
pegawai pembayaran detail_retur kategori_barang
Join Tiga Tabel
H a l 138
Data dalam Database Toko Sukses Selalu
Pelanggan
id_pelanggan no_ktp nama alamat no_telp pekerjaan
1111111111Pelanggan TidakTerdaftar
8924234423 3372026404830000 Jeko Jl.Bojong Soang Bandung 022734412234 swasta
8935353535 3372026404832420 Boy Jl.Sukabirus Bandung 098987654321 mahasiswa
8911223344 3372026404112233 Domino Jl.Moch.Toha Bandung 02254321 wirausaha
Pegawai
id_pegawai no_ktp nama Alamat no_telp posisi
201301001 3372026404830000 Jeko Jl.Bojong Soang Bandung 022734412234 kasir
201301002 3372026404777777 Budi Jl.Sukapura Bandung 08988776655 kasir
201302001 3372026404987654 Wawan Jl.Sukabirus Bandung 089899999 kasir
201302009 3372026404135792 Wati Jl. Telekomunikasi Bandung 14000 supervisor
Kategori_barang
id_kategori nama_kategori Keterangan
ELK Elektronik Elektronik
BZR Bazar Perlengkapan Rumah Tangga
SFL Softline Pakaian Siap Pakai
GPK Grocery Perawatan Kecantikan Perawatan dan kecantikan
GMK Grocery Makanan Minuman Makanan dan Minuman
PSG Pasar Segar Sayur, buah dan daging
Barang
id_barang Nama harga stok id_kategori
UA-22F5000 LED TV Samsung 22 inch 1900000 100 ELK
KLV-24EX430 LED TV SONY 24 Inch 1999600 100 ELK
24LN4100 LED TV LG 24 Inch 2036900 100 ELK
32LN5100 LED TV LG 32 Inch 3492000 100 ELK
DH-6330P HOME THEATHER LG 2461700 100 ELK
ES-FL8605-WW WASHING MACHINE SHARP 6KG 2863600 100 ELK
NA-F852 WASHING MACHINE PANASONIC 8.5KG 2590000 100 ELK
MUG-ZDK MUG ZODIAK 19900 100 BZR
MUG-SHO MUG SHIO 19900 100 BZR
MUG-ANI MUG ANIMAL 19900 100 BZR
KNWTPUMP KENMASTER WATER PUMP 27500 100 BZR
KC-105 KOMPOR MINI PORTABLE 124900 100 BZR
STELLA70GR STELLA ALL IN ONE 70 GR 7200 100 BZR
HITLEMON HIT AEROSOL LEMON 600ML 24150 100 BZR
ATTSOFT ATTACK SOFTENER 800GR 14325 100 BZR
ATTCMAX ATTACK CLEAN MAXIMIZER 800GR 14325 100 BZR
INDOMIE INDOMIE ALL VARIAN 1500 100 GMK
UHT125ML ULTRAMILK 125ML 1800 100 GMK
UHT1000ML ULTRAMILK 1000ML 11350 100 GMK
Join Tiga Tabel
H a l 139
Nota_penjualan
id_nota tgl_nota total id_pelanggan id_pegawai
86856 2013-05-01 45675 1111111111 201301001
86857 2013-05-01 52800 8924234423 201301001
86858 2013-05-01 38500 8924234423 201301002
86859 2013-05-01 3492000 8935353535 201301002
86860 2013-06-01 8817300 8911223344 201301002
86861 2013-07-01 2863600 8924234423 201301002
86862 2013-07-01 297000 8924234423 201302001
Detail_penjualan
id_nota id_barang jumlah subtotal
86856 STELLA70GR 1 7200
86856 HITLEMON 1 24150
86856 ATTSOFT 1 14325
86857 HITLEMON 1 24150
86857 ATTSOFT 2 28650
86858 MUG-ZDK 1 19900
86858 INDOMIE 10 15000
86858 UHT125ML 2 3600
86859 32LN5100 1 3492000
86860 32LN5100 1 3492000
86860 DH-6330P 1 2461700
86860 ES-FL8605-WW 1 2863600
86861 ES-FL8605-WW 1 2863600
86862 INDOMIE 90 135000
86862 UHT125ML 90 162000
Transaksi
id_trans tgl_trans jml_trans
BYR1 2013-05-01 45675
BYR2 2013-05-01 52800
BYR3 2013-05-01 38500
BYR4 2013-05-01 3000000
BYR5 2013-06-01 492000
BYR6 2013-06-01 4408650
BYR7 2013-07-01 2204325
BYR8 2013-08-01 2000000
BYR9 2013-09-01 204325
BYR10 2013-07-01 363600
BYR11 2013-07-01 47000
RTR1 2013-05-01 10500
RTR2 2013-07-02 43650
Pembayaran
id_bayar sisa_piutang id_nota id_pegawai
BYR1 0 86856 201301001
BYR2 0 86857 201301001
Join Tiga Tabel
H a l 140
BYR3 0 86858 201301002
BYR4 492000 86859 201301002
BYR5 0 86859 201301001
BYR6 47000 86860 201301002
BYR7 2204325 86860 201301001
BYR8 204325 86860 201301001
BYR9 0 86860 201301001
BYR10 2500000 86861 201301002
BYR11 250000 86862 201302001
retur
Id_retur
RTR1
RTR2
Detail_retur
id_nota id_barang id_retur jumlah Subtotal
86858 INDOMIE RTR1 7 10500
86862 INDOMIE RTR2 13 19500
86857 HITLEMON RTR2 1 24150
Akun
no_akun nm_akun header_akun
1 Aktiva
11 Aktiva Lancar 1
111 Kas 11
112 Piutang Dagang 11
113 Persediaan Barang Dagangan 11
114 Sewa Dibayar Dimuka (10/12) 11
115 Asuransi Dibayar Dimuka (09/12) 11
116 Perlengkapan 11
2 Hutang
21 Hutang Lancar 2
211 Utang Dagang 21
3 Modal
311 Modal Tn X 3
3112 Prive Tn. X 311
4 Pendapatan
41 Pendapatan Usaha 4
411 Penjualan 41
412 Harga Pokok Penjualan 41
413 Retur Penjualan 41
414 Potongan Penjualan 41
5 Beban
511 Beban Listrik 5
512 Beban Air 5
513 Beban Telepon 5
514 Beban Gaji 5
Join Tiga Tabel
H a l 141
jurnal
no_akun id_trans posisi_dr_cr nominal
111 BYR1 debet 45675
411 BYR1 kredit 45675
111 BYR2 debet 52800
411 BYR2 kredit 52800
111 BYR3 debet 38500
411 BYR3 kredit 38500
111 BYR4 debet 3000000
112 BYR4 debet 492000
411 BYR4 kredit 3492000
111 BYR5 debet 492000
112 BYR5 kredit 492000
111 BYR6 debet 4408650
112 BYR6 debet 4408650
411 BYR6 kredit 8817300
111 BYR7 debet 2204325
112 BYR7 kredit 2204325
111 BYR8 debet 2000000
112 BYR8 kredit 2000000
111 BYR9 debet 204325
112 BYR9 kredit 204325
111 BYR10 debet 363600
112 BYR10 debet 2500000
411 BYR10 kredit 2863600
111 BYR11 debet 47000
112 BYR11 debet 250000
411 BYR11 kredit 297000
413 RTR1 debet 10500
111 RTR1 kredit 10500
413 RTR2 debet 43650
111 RTR2 kredit 43650
Pengamatan
Berdasarkan ER Diagram, diagram relasi antar tabel beserta isi data dalam basis data Toko Elektronik Sukses
Selalu. Tampilkan informasi berikut:
1. Tampilkan data transaksi pembayaran yang
pernah tercatat, yaitu data tanggal bayar,
id_bayar, nama pegawai yang mencatat
transaksi pembayaran, dan sisa piutang
diurutkan berdasarkan tanggal bayar dari
yg terlama ke terbaru kemudian diurutkan
berdasarkan id_bayar secara ascending.
(JOIN 3 tabel)
Join Tiga Tabel
H a l 142
2. Tampilkan no_nota penjualan, tanggal nota
dicatat, nama pelanggan yang bertransaksi,
dan nama pegawai yang melakukan
pencatatan transaksi penjualan.
3. Tampilkan no_nota penjualan, tanggal nota
dicatat, nama pelanggan yang bertransaksi,
dan nama pegawai yang melakukan
pencatatan transaksi penjualan hanya
untuk transaksi yang tgerjadi pada tanggal
1 Mei 2013.
4. Tampilkan tanggal transaksi pembayaran
beserta dengan nama pegawai yang
melakukan pencatatan pembayaran pada
tanggal 1 Mei 2013. (JOIN 3 tabel)
5. Tampilkan tanggal transaksi retur untuk
data retur yang pernah tercatat, nama
barang yang diretur, dan jumlah barang
yang diretur. (JOIN 3 tabel)
Join Tiga Tabel
H a l 143
6. Tampilkan tanggal penjualan yang pernah
tercatat, nama barang yang terjual, dan
nama kategori barang dengan
menghilangkan data yang duplikat dan
diurutkan berdasarkan tanggal dari yang
terlama sampai dengan terbaru. (JOIN 4
tabel)
7. Tampilkan tanggal penjualan yang pernah
tercatat nama barang yang terjual, dan
nama kategori barang beserta dengan total
jumlah barang yang terjual untuk masing-
masing barang setiap hari nya.
8. Tampilkan tanggal penjualan yang pernah
tercatat nama barang yang terjual, dan
nama kategori barang beserta dengan total
jumlah barang yang terjual untuk masing-
masing barang setiap hari nya dengan
syarat data yang ditampilkan adalah barang
yang memiliki total jumlah barang terjual
perharinya lebih besar dari
9. Tampilkan nama barang beserta nama
pelanggan yang pernah membeli barang
Join Tiga Tabel
H a l 144
tersebut khusus untuk barang dengan merk
SHARP atau LG diurutkan berdasarkan
nama barang dari ‘A-Z’.(JOIN 4 tabel)
10. Tampilkan tanggal penjualan, id_nota yang
pernah tercatat, nama pelanggan yang
melakukan transaksi, nama pegawai yang
mencatat penjualan, dan detail nama
barang beserta jumlah barang terjual dari
setiap nota
11. Tampilkan tanggal transaksi, id_trans,
kode_akun, nama_akun, posisi_dr_cr, dan
nominal yang pernah tercatat di tabel
jurnal dengan diurutkan berdasarkan tgl
transaksi, id_transaksi, posisi_dr_cr, dan
id_akun.
Join Tiga Tabel
H a l 145
10.4 TEST AKHIR
Tentukan query untuk kasus diabawah ini :
1. Tampilkan nama barang, nama kategori
barang beserta dengan total unit yang
pernah terjual dengan nama kolom
total_unit untuk masing-masing barang
tersebut. Hanya barang dengan total unit
lebih dari 50 yang ditampilkan. Diurutkan
dari total_unit terbesar sampai dengan
terkecil
2. Tampilkan nama barang yang pernah di
retur, nama kategori barang, beserta
dengan total jumlah retur per barang
dengan nama kolom “total_unit”
3. Tampilkan nama barang beserta dengan
nama kategori barang untuk barang yang
belum pernah terjual
Join Tiga Tabel
H a l 146
4. Tampilkan nama barang, nama kategori
beserta dengan total unit yang pernah
terjual dengan nama kolom total_unit
untuk masing-masing barang tersebut.
Diurutkan dari total_unit terbesar sampai
dengan terkecil
Join Tiga Tabel
H a l 147
11 BAB XI PRESENTASI PROGRESS TUGAS BESAR
11.1 IDENTITAS
KajianER Diagram
TopikER Diagram dan Daigram Relasi Antar tabel, Skema RelasiReferensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications, 2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu, India:
Springer, 2007.3. Basis Data
Kompetensi Utama
1. Mampu membuat ER Diagram berdasarkan studi kasus dunia nyata2. Mampu membuat Diagram Relasi Antar Tabel dan skema relasi dari ER Diagram
Lama Kegiatan Praktikum1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian1. Kompleksitas (30%)
2. Kelengkapan isi laporan termasuk dengan kerapihan laporan (30%)
3. Teknik Presentasi (10%)
4. Kemampuan Tanya jawab (30%)
Join Tiga Tabel
H a l 148
11.2 KETENTUAN TUGAS BESAR
1. Kelompok maksimal 3 orang.
2. Asisten dapat membagi jumlah kelompok yang dikelola.
3. Kasus nyata melampirkan bukti transaksi (struk, nota, faktur, formulir).
4. Usulan tema sebagai berikut:
- Penjualan barang
- Penjualan jasa (sewa menyewa, servis kendaraan, penjualan tiket, event organizer:weding
organizer, studio foto, travel, penginapan, tour and travel, dsb.)
- Inventaris barang (menangani barang perusahaan beserta lokasi dan perpindahan barang)
- Simpan pinjam
- Penggajian
5. Jumlah entitas yang terbentuk minimal 5.
6. ER Diagram wajib mampu menangani jurnal umum akuntansi.
7. Buat laporan yang berisi latar belakang perusahaan, deskripsi bisnis proses yang ditangani secara
detil, ER Diagram yang diusulkan, skema relasi, dan diagram relasi antar tabel.
Join Tiga Tabel
H a l 149
12 BAB XII PRESENTASI FINAL TUGAS BESAR
12.1 IDENTITAS
KajianSQL
TopikDDL, DML dan SELECTReferensi1. Bagui, S., R. Earp; Database Design Using Entity Relationship Diagrams. Auerbach Publications, 2003.2. Sakkirajan, Suathi; Fundamental of Relational Database Management Systems. Tamil Nadu, India:
Springer, 2007.3. Basis Data
Kompetensi Utama
1. Mampu mengimplementasikan ER Diagram ke dalam basis data di DBMS2. Mampu menampilkan data baik dari satu sumber tabel atau lebih.
Lama Kegiatan Praktikum1. Pertemuan Terbimbing : 1 x 120 menit2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian1. Kompleksitas (30%)
2. Kelengkapan isi laporan termasuk dengan kerapihan laporan (30%)
3. Teknik Presentasi (10%)
4. Kemampuan Tanya jawab (30%)
Join Tiga Tabel
H a l 150
12.2 KETENTUAN TUGAS BESAR
1. Membuat DDL sesuai dengan ER Diagram yang telah dibuat berdasarkan studi kasus nyata dan
studi kasus lapangan.
2. Membuat DML, yaitu insert minimal 20 buah data untuk setiap tabel yang terbuat.
3. Membuat laporan yang didalamnya adalah laporan yang dibuat pada saat progress tugas besar
ditambahkan dengan perintah DDL dan DML yang dibuat.
Daftar Pustaka
H a l 151
13 DAFTAR PUSTAKA
1. Sumathi, S. and Sakkirajan, S. Fundamental of Relational Database Management Systems. India :
Springer, 2007.
2. Bagui, Sikha and Earp, Richard. Database Design Using Entity-Relationship Diagrams. Florida :
Auerbach Publications, 2003.
3. Silberschatz, Korth and Sudarshan. Database System Concepts Fourth Edition. 2004.
4. Ramakrishnan, Raghu and Gehrke, Johannes. Database Management Systems Second Editions .
s.l. : McGraw Hill, 2000.
5. Sumathi, S and Esakkirajan, S. Fundamental of Relational Database Management Systems. Verlag
Berlin Heidelberg : Springer, 2007. 1860-9503.
6. Welling, Luke and Thomson, Laura. MySQL Tutorial A Concise Introduction to The Fundamentals
of Working with MySQL. Indianapolis : Pearson Education, Inc., 2004.