2015-2 KA1064 Perancangan Basis Data

154
KA1064 PERANCANGAN BASIS DATA MODUL PRAKTIKUM Departemen Teknologi Informasi Telkom Applied Science School 2015 Hanya dipergunakan di lingkungan Telkom Applied Science School

Transcript of 2015-2 KA1064 Perancangan Basis Data

Page 1: 2015-2 KA1064 Perancangan Basis Data

KA1064

PERANCANGAN BASIS DATA

MODUL PRAKTIKUM

Departemen Teknologi InformasiTelkom Applied Science School

2015

Hanya dipergunakan di lingkungan Telkom Applied Science School

Page 2: 2015-2 KA1064 Perancangan Basis Data

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.

Page 3: 2015-2 KA1064 Perancangan Basis Data

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

Page 4: 2015-2 KA1064 Perancangan Basis Data

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

Page 5: 2015-2 KA1064 Perancangan Basis Data

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%

Page 6: 2015-2 KA1064 Perancangan Basis Data

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.

Page 7: 2015-2 KA1064 Perancangan Basis Data

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

Page 8: 2015-2 KA1064 Perancangan Basis Data

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

Page 9: 2015-2 KA1064 Perancangan Basis Data

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

Page 10: 2015-2 KA1064 Perancangan Basis Data

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

Page 11: 2015-2 KA1064 Perancangan Basis Data

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 :

Page 12: 2015-2 KA1064 Perancangan Basis Data

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 :

Page 13: 2015-2 KA1064 Perancangan Basis Data

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 :

Page 14: 2015-2 KA1064 Perancangan Basis Data

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

Page 15: 2015-2 KA1064 Perancangan Basis Data

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

Page 16: 2015-2 KA1064 Perancangan Basis Data

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).

Page 17: 2015-2 KA1064 Perancangan Basis Data

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%

Page 18: 2015-2 KA1064 Perancangan Basis Data

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,-

Page 19: 2015-2 KA1064 Perancangan Basis Data

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

Page 20: 2015-2 KA1064 Perancangan Basis Data

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

Page 21: 2015-2 KA1064 Perancangan Basis Data

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.

Page 22: 2015-2 KA1064 Perancangan Basis Data

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

Page 23: 2015-2 KA1064 Perancangan Basis Data

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.

Page 24: 2015-2 KA1064 Perancangan Basis Data

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.

Page 25: 2015-2 KA1064 Perancangan Basis Data

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”.

Page 26: 2015-2 KA1064 Perancangan Basis Data

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

Page 27: 2015-2 KA1064 Perancangan Basis Data

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.

Page 28: 2015-2 KA1064 Perancangan Basis Data

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.

Page 29: 2015-2 KA1064 Perancangan Basis Data

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.

Page 30: 2015-2 KA1064 Perancangan Basis Data

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.

Page 31: 2015-2 KA1064 Perancangan Basis Data

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).

Page 32: 2015-2 KA1064 Perancangan Basis Data

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%

Page 33: 2015-2 KA1064 Perancangan Basis Data

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

Page 34: 2015-2 KA1064 Perancangan Basis Data

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

Page 35: 2015-2 KA1064 Perancangan Basis Data

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.

Page 36: 2015-2 KA1064 Perancangan Basis Data

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

Page 37: 2015-2 KA1064 Perancangan Basis Data

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

Page 38: 2015-2 KA1064 Perancangan Basis Data

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

Page 39: 2015-2 KA1064 Perancangan Basis Data

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

Page 40: 2015-2 KA1064 Perancangan Basis Data

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

Page 41: 2015-2 KA1064 Perancangan Basis Data

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.

Page 42: 2015-2 KA1064 Perancangan Basis Data

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.

Page 43: 2015-2 KA1064 Perancangan Basis Data

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

Page 44: 2015-2 KA1064 Perancangan Basis Data

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).

Page 45: 2015-2 KA1064 Perancangan Basis Data

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%

Page 46: 2015-2 KA1064 Perancangan Basis Data

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

Page 47: 2015-2 KA1064 Perancangan Basis Data

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.

Page 48: 2015-2 KA1064 Perancangan Basis Data

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)

Page 49: 2015-2 KA1064 Perancangan Basis Data

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

Page 50: 2015-2 KA1064 Perancangan Basis Data

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.

Page 51: 2015-2 KA1064 Perancangan Basis Data

Memetakan ER-Diagram ke Dalam Tabel, Skema Relasi, dan Diagram Relasi AntarTabel

H a l 48

Page 52: 2015-2 KA1064 Perancangan Basis Data

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.

Page 53: 2015-2 KA1064 Perancangan Basis Data

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.

Page 54: 2015-2 KA1064 Perancangan Basis Data

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.

Page 55: 2015-2 KA1064 Perancangan Basis Data

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).

Page 56: 2015-2 KA1064 Perancangan Basis Data

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%

Page 57: 2015-2 KA1064 Perancangan Basis Data

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.

Page 58: 2015-2 KA1064 Perancangan Basis Data

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.

Page 59: 2015-2 KA1064 Perancangan Basis Data

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

Page 60: 2015-2 KA1064 Perancangan Basis Data

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:

Page 61: 2015-2 KA1064 Perancangan Basis Data

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:

Page 62: 2015-2 KA1064 Perancangan Basis Data

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

Page 63: 2015-2 KA1064 Perancangan Basis Data

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

Page 64: 2015-2 KA1064 Perancangan Basis Data

Key dan Functional Dependency

H a l 61

5. Catat hasil pengamatan partial functional dependency dari kasus Ananda Brownis pada kotak di bawah

ini:

Page 65: 2015-2 KA1064 Perancangan Basis Data

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).

Page 66: 2015-2 KA1064 Perancangan Basis Data

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%

Page 67: 2015-2 KA1064 Perancangan Basis Data

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.

Page 68: 2015-2 KA1064 Perancangan Basis Data

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.

Page 69: 2015-2 KA1064 Perancangan Basis Data

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

Page 70: 2015-2 KA1064 Perancangan Basis Data

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

Page 71: 2015-2 KA1064 Perancangan Basis Data

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

Page 72: 2015-2 KA1064 Perancangan Basis Data

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

Page 73: 2015-2 KA1064 Perancangan Basis Data

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)

Page 74: 2015-2 KA1064 Perancangan Basis Data

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

Page 75: 2015-2 KA1064 Perancangan Basis Data

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

Page 76: 2015-2 KA1064 Perancangan Basis Data

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

Page 77: 2015-2 KA1064 Perancangan Basis Data

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.

Page 78: 2015-2 KA1064 Perancangan Basis Data

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

Page 79: 2015-2 KA1064 Perancangan Basis Data

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.

Page 80: 2015-2 KA1064 Perancangan Basis Data

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.

Page 81: 2015-2 KA1064 Perancangan Basis Data

Normalisasi 1NF sampai BCNF

H a l 78

Page 82: 2015-2 KA1064 Perancangan Basis Data

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.

Page 83: 2015-2 KA1064 Perancangan Basis Data

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

Page 84: 2015-2 KA1064 Perancangan Basis Data

Normalisasi 1NF sampai BCNF

H a l 81

Page 85: 2015-2 KA1064 Perancangan Basis Data

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).

Page 86: 2015-2 KA1064 Perancangan Basis Data

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%

Page 87: 2015-2 KA1064 Perancangan Basis Data

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.

Page 88: 2015-2 KA1064 Perancangan Basis Data

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:

Page 89: 2015-2 KA1064 Perancangan Basis Data

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),

Page 90: 2015-2 KA1064 Perancangan Basis Data

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);

Page 91: 2015-2 KA1064 Perancangan Basis Data

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

Page 92: 2015-2 KA1064 Perancangan Basis Data

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

Page 93: 2015-2 KA1064 Perancangan Basis Data

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)

Page 94: 2015-2 KA1064 Perancangan Basis Data

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

Page 95: 2015-2 KA1064 Perancangan Basis Data

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

Page 96: 2015-2 KA1064 Perancangan Basis Data

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’

Page 97: 2015-2 KA1064 Perancangan Basis Data

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’

Page 98: 2015-2 KA1064 Perancangan Basis Data

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

Page 99: 2015-2 KA1064 Perancangan Basis Data

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

Page 100: 2015-2 KA1064 Perancangan Basis Data

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).

Page 101: 2015-2 KA1064 Perancangan Basis Data

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%

Page 102: 2015-2 KA1064 Perancangan Basis Data

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

Page 103: 2015-2 KA1064 Perancangan Basis Data

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:

Page 104: 2015-2 KA1064 Perancangan Basis Data

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

Page 105: 2015-2 KA1064 Perancangan Basis Data

Single Row Function

H a l 102

Detail_jual

Akun

Page 106: 2015-2 KA1064 Perancangan Basis Data

Single Row Function

H a l 103

Jurnal_penjualan

Page 107: 2015-2 KA1064 Perancangan Basis Data

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

Page 108: 2015-2 KA1064 Perancangan Basis Data

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

Page 109: 2015-2 KA1064 Perancangan Basis Data

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;

Page 110: 2015-2 KA1064 Perancangan Basis Data

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

Page 111: 2015-2 KA1064 Perancangan Basis Data

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

Page 112: 2015-2 KA1064 Perancangan Basis Data

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

Page 113: 2015-2 KA1064 Perancangan Basis Data

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

Page 114: 2015-2 KA1064 Perancangan Basis Data

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

Page 115: 2015-2 KA1064 Perancangan Basis Data

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

Page 116: 2015-2 KA1064 Perancangan Basis Data

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)

Page 117: 2015-2 KA1064 Perancangan Basis Data

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

Page 118: 2015-2 KA1064 Perancangan Basis Data

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

Page 119: 2015-2 KA1064 Perancangan Basis Data

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).

Page 120: 2015-2 KA1064 Perancangan Basis Data

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%

Page 121: 2015-2 KA1064 Perancangan Basis Data

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

Page 122: 2015-2 KA1064 Perancangan Basis Data

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

Page 123: 2015-2 KA1064 Perancangan Basis Data

Join Dua Tabel

H a l 120

Penjualan

Detail_jual

Akun

Page 124: 2015-2 KA1064 Perancangan Basis Data

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;

Page 125: 2015-2 KA1064 Perancangan Basis Data

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

Page 126: 2015-2 KA1064 Perancangan Basis Data

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

Page 127: 2015-2 KA1064 Perancangan Basis Data

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

Page 128: 2015-2 KA1064 Perancangan Basis Data

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

Page 129: 2015-2 KA1064 Perancangan Basis Data

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

Page 130: 2015-2 KA1064 Perancangan Basis Data

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’

Page 131: 2015-2 KA1064 Perancangan Basis Data

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-

Page 132: 2015-2 KA1064 Perancangan Basis Data

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

Page 133: 2015-2 KA1064 Perancangan Basis Data

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).

Page 134: 2015-2 KA1064 Perancangan Basis Data

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%

Page 135: 2015-2 KA1064 Perancangan Basis Data

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

Page 136: 2015-2 KA1064 Perancangan Basis Data

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

Page 137: 2015-2 KA1064 Perancangan Basis Data

Join Tiga Tabel

H a l 134

Penjualan

Detail_jual

Page 138: 2015-2 KA1064 Perancangan Basis Data

Join Tiga Tabel

H a l 135

Akun

Jurnal_penjualan

Page 139: 2015-2 KA1064 Perancangan Basis Data

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%’;

Page 140: 2015-2 KA1064 Perancangan Basis Data

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

Page 141: 2015-2 KA1064 Perancangan Basis Data

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

Page 142: 2015-2 KA1064 Perancangan Basis Data

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

Page 143: 2015-2 KA1064 Perancangan Basis Data

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

Page 144: 2015-2 KA1064 Perancangan Basis Data

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)

Page 145: 2015-2 KA1064 Perancangan Basis Data

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)

Page 146: 2015-2 KA1064 Perancangan Basis Data

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

Page 147: 2015-2 KA1064 Perancangan Basis Data

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.

Page 148: 2015-2 KA1064 Perancangan Basis Data

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

Page 149: 2015-2 KA1064 Perancangan Basis Data

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

Page 150: 2015-2 KA1064 Perancangan Basis Data

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%)

Page 151: 2015-2 KA1064 Perancangan Basis Data

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.

Page 152: 2015-2 KA1064 Perancangan Basis Data

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%)

Page 153: 2015-2 KA1064 Perancangan Basis Data

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.

Page 154: 2015-2 KA1064 Perancangan Basis Data

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.