Modul Basis Data Final Project : Database Kependudukan

Dalam database terdapat beberapa modul dengan fungsi dan kegunaan yang berbeda, seperti pembuatan erd, normalisasi, cdm dan pdm, ddl dan dml, fungsi aggregate, query bersyarat dan trigger.

ERD atau Entity Relationship Diagram merupakan pemodelan data utama yang dapat membantu mengorganisasikan data dalam beberapa entitas. Dan di dalam entitas terdapat beberapa atribut yang merupakan karakteristik dari entitas tersebut.

Normalisasi merupakan proses perancangan table yang bertujuan untuk mengurangi data yang terduplikasi dan data yang inkonsistensi. sebuah table dikatakan normal apabila minimal telah memenuhi kriteria 3NF.

CDM(Conseptual Data Model) merupakan pemodelan yang dibuat berdasarkan objek-objek dasar dan hubungan antara objek-objek tersebut yang tidak bergantung pada software atau pertimbangan model struktur data, serta dapat dikonversikan ke bentuk PDM. Sedangkan PDM(Physical Data Model) merupakan representasi fisik dari suatu database yang akan dibuat. PDM dapat dihasilkan melalui CDM yang valid.

Fungsi agregat (aggregate) adalah fungsi yang menerima koleksi nilai dan mengembalikan nilai tunggal sebagai hasilnya. Dalam implementasinya fungsi agregat harus diikuti oleh group by bila terdapat field lain yang dijadikan sebagai kriteria pengelompokan.

Query bersyarat merupakan merupakan perintah query yang memiliki kriteria. Query bersyarat dapat digunakan dengan memakai having atau where. Untuk kriteria having biasanya digunakan untuk menentukan kriteria yang bersifat fungsi aggregate dan harus diikuti dengan group by.

Trigger merupakan perintah SQL yang otomatis dijalankan ketika sebelum atau sesudah terjadinya proses insert, update atau delete pada suatu table. Pada satu table hanya diperbolehkan untuk membuat satu trigger. Untuk menjalankan trigger baru pada satu table maka trigger yang lama harus dihapus

CONTOH SOAL

Buat implementasikan modul-modul yang ada pada databse dengan studi kasus ‘kependudukan’ yang terdiri dari 5 entitas, 5 atribut, dan 10 data !

PEMBAHASAN

ERD

ERD Kependudukan
Pada hasil diatas merupakan perancangan dari database kependudukan. Pertama membuat erd, dengan 5 entitas. Terdapat entitas wilayah dengan atribut(kode_pos sebagai primary key, kelurahan, kecamatan, kabupaten, provinsi), keluarga dengan atribut(nik sebagai primary key, no_keluarga, status, jalan, rt, rw), kelahiran dengan atribut(no_lahir sebagai primary key, tempat_lahir, hari_lahir, tanggal_lahir, keterangan), penduduk dengan atribut(ktp sebagai primary key, nama, jk, agama, pendidikan, pekerjaan, penghasilan), dan kematian dengan atribut(no_kematian sebagai primary key, tempat, hari, tgl, sebab). Dengan Relasi antara entitas :
1. keluarga menempati wilayah(many to one)
2. keluarga membuat kelahiran(one to many)
3. keluarga membentuk penduduk(one to many)
4. penduduk mengalami kematian(one to one)

Normalisasi

tabel utama

 1NF

tabel utama 1NF

 2NF

tabel keluarga
tabel kelahiran

3NF

tabel keluarga
tabel wilayah
Kemudian melakukan normalisasi sampai 3NF dengan table utama yang memiliki multivalue atribut yaitu tempat_tanggal_lahir untuk memenuhi 1NF atribut tersebut harus dipecah menjadi tempat_lahir dan tanggal_lahir. Untuk memenuhi 2NF table harus dipecah menjadi 2 tabel yaitu table keluarga dengan nik sebagai primary key dan table kelahiran dengan no_kelahiran sebagai primary key. Untuk memenuhi 3NF harus ditambahkan table wilayah dengan kode_pos sebagai primary key karena atribut kelurahan, kecamatan, kabupaten, dan provinsi tidak bergantung pada nik tetapi bergantung pada kode_pos.

CDM

CDM kependudukan

PDM

PDM kependudukan
Setelah itu membuat CDM dan PDM, CDM semua table masih sama seperti pada ERD, sedangkan pada PDM terdapat FK yang ditambahkan pada table supaya dapat direlasikan seperti seperti nik dan ktp pada table kematian, nik dan no_kematian pada table penduduk, kode_pos pada table keluarga, dan nik pada table kelahiran.

DDL dan DML

tabel keluarga
tabel kelahiran
tabel wilayah
tabel penduduk
tabel kematian
Kemudian membuat query DDL dan DML, DDL membuat table seperti yang ada pada PDM dengan cara generate to database. Setelah itu printah DML untuk menginput data dengan cara perintah insert all supaya dapat mengisi data dengan banyak data. Untuk mengupdate menggunakan printah update misalnya update penduduk set pendidikan='S-1', pekerjaan='Pegawai Swasta' where nik='3525100305770001', untuk mendelete data menggunakan perintah delete misalnya delete wilayah where kode_pos='61151'. Serta untuk melihat data menggunakan perintah select misalnya select*from wilayah.

Fungsi Aggregate

jumlah penghasilan penduduk
penghasilan terendah penduduk
penghasilan tertinggi penduduk
rata-rata penghasilan penduduk
jumlah penduduk disetiap nominal penghasilan
Setelah itu membuat fungsi aggregate, untuk menampilkan jumlah dari data digunakan fungsi sum misalnya select sum(penghasilan) from penduduk berarti untuk menampilkan jumlah dari seluruh data penghasilan, untuk mencari nilai tertinggi, nilai terendah dan nilai rata-rata menggunakan max, min, serta avg misanya, select min(penghasilan), max(penghasilan), avg(penghasilan) from penduduk berarti menampilkan nilai terendah, nilai tertinggi, serta nilai rata-rata dati field penghasilan pada table penduduk. Sementara untuk menentukan jumlah data menggunakan fungsi count misalnya select penghasilan,Count(*) from penduduk group by penghasilan berarti menampilkan jumlah data per penghasilan pada table penduduk.

Query Bersyarat


penghasilan penduduk yang lebih besar dari 3500000
nama penduduk yang ktpnya lebih besar atau sama dengan 3525100308770001
nama penduduk yang mengandung karakter ‘i’
nama penduduk yang tidak mengandung karakter ‘i’
nama penduduk yang memiliki ktp 3525100306770001 atau 3525100307770001
nama penduduk yang ktpnya diantara 3525100301770001 dan 3525100304770001
Kemudian membuat query bersyarat, misalnya select penghasilan from penduduk group by penghasilan having penghasilan > 3500000 berarti menampilkan penghasilan dari table penduduk yang lebig besar dari 3500000. select ktp,nama from penduduk where ktp>='3525100308770001' berarti menampilkan nama penduduk yang memiliki no ktp lebih besar atau sama dengan 3525100308770001. select nama from penduduk where nama like'%i%' digunakan untuk menampilkan nama penduduk yang memiliki karakter ‘I’, select nama from penduduk where nama not like'%i%' digunakan untuk menampilkan nama penduduk yang tidak memiliki karakter ‘I’, select nama, ktp from penduduk where ktp in('3525100306770001','3525100307770001') digunakan untuk menampilkan nama yang memiliki ktp 3525100307770001 atau 3525100306770001. select nama, ktp from penduduk where ktp between '3525100301770001' and '3525100304770001' digunakan untuk menampilkan nama penduduk yang memiliki nomor ktp diantara '3525100301770001' dan '3525100304770001'.

Trigger

trigger update penduduk
trigger insert kematian
Terakhir membuat trigger, terdapat trigger update_pen yang berfungsi untuk mencatat record pergantian pendidikan, pekerjaan, dan penghasilan pada table penduduk yang akan otomatis terinput pada table record ketika data penduduk tersebut diupdate. Sedangkan trigger insert_kem berfungsi untuk mengupdate data no_kematian penduduk pada saat table kematian di isi.

QUERY

Modul Basis Data Final Project : Database Kependudukan Modul Basis Data Final Project : Database Kependudukan Reviewed by Syafriansyah Muhammad on 7/17/2018 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.