Spesialisasi/Generalisasi Pengguna Basis Data Akademik

Spesialisasi: pendekatan top-down, menghasilkan himpunan subkelas. Generalisasi: pendekatan bottom-up, menghasilkan superkelas.

M. Ramadhan
Telematika
4 min readJan 4, 2020

--

Daftar Isi

Pendahuluan
Spesialisasi/Generalisasi Pegawai
Pemetaan Diagram Kelas Pegawai ke Relasi
Spesialisasi/Generalisasi Pengguna Basis Data Akademik
Pemetaan Diagram Kelas Pengguna ke Relasi
Penutup
Daftar Pustaka

Pendahuluan

Spesialisasi adalah proses mengidentifikasi perbedaan karakteristik antarentitas. Sebaliknya, generalisasi adalah proses mengidentifikasi kesamaan karakteristik antarentitas. Berikut adalah dua contoh kasus, yaitu:
(1) spesialisasi/generalisasi pegawai
(2) spesialisasi/generalisasi pengguna basis data akademik.

Spesialisasi/Generalisasi Pegawai

Sebuah perusahaan memiliki sejumlah pegawai. Tentu ada kesamaan dan ada perbedaan pada setiap pegawai. Setiap pegawai memiliki kesamaan atribut NIP, nama, tanggal lahir, jenis kelamin, status marital, nomor telepon. Proses generalisasi menghasilkan superkelas Pegawai.

Misalnya ada tiga kategori pegawai yaitu manajer, tenaga penjual, dan sekretaris yang berturut-turut memiliki atribut spesifik bonus, area penjualan, kecepatan mengetik. Proses spesialisasi meng­hasilkan tiga subkelas yaitu Manajer, TenagaPenjual, dan Sekretaris. Ketiga subkelas memperoleh atribut warisan dari superkelas Pegawai. Lihat Gambar 1.

Gambar 1 Diagram kelas pegawai

Pemetaan Diagram Kelas Pegawai ke Relasi

Ada tiga alternatif pemetaan, yaitu:

  1. Pemetaan superkelas dan setiap subkelas ke relasi, diperoleh empat relasi:
    Pegawai (NRP, Nama, NoHP, TglLahir, Gaji)
    Manajer (NRP, Bonus)
    TenagaPenjual (NRP, AreaPenjualan)
    Sekretaris (NRP, KecMengetik)
  2. Pemetaan setiap subkelas ke relasi, diperoleh tiga relasi:
    Manajer (NRP, Nama, NoHP, TglLahir, Gaji, Bonus)
    TenagaPenjual (NRP, Nama, NoHP, TglLahir, Gaji, AreaPenjualan)
    Sekretaris (NRP, Nama, NoHP, TglLahir, Gaji, KecMengetik)
  3. Pemetaan hirarki ke relasi tunggal:
    Pegawai (NRP, Nama, NoHP, TglLahir, Gaji, Bonus, AreaPenjualan, KecMengetik, TipePegawai)
    TipePegawai adalah atribut tambahan untuk membedakan tipe pegawai, misalnya ‘M’ untuk Manajer, ‘P’ untuk TenagaPenjual, dan ‘S’ untuk Sekretaris.

Spesialisasi/Generalisasi Pengguna Basis Data Akademik

Basis data akademik dibangun untuk mendukung aplikasi akademik yang biasanya juga disebut sistem informasi manajemen akademik (Simak). Kelompok pengguna Simak pada setiap perguruan tinggi boleh jadi berbeda sesuai dengan kebutuhan masing-masing. Secara umum, pengguna yang terlibat adalah staf biro administrasi akademik (BAAK), staf fakultas, staf program studi, mahasiswa dan dosen. Ada baiknya orang tua/wali mahasiswa diberi hak mengakses Simak sehingga dapat memantau kegiatan dan prestasi akademik putra-putrinya.

Diasumsikan ada enam kelompok pengguna, yaitu mahasiswa, dosen, staf BAAK, staf fakultas, staf program studi, dan orang tua/wali. Semua kelompok pengguna, kecuali orang tua/wali, memiliki relationship dengan unit kerja di perguruan tinggi sebagaimana terlihat pada Gambar 2.

Gambar 2 ERD pengguna versi awal

Salah satu unit yang ada dalam entitas Unit adalah BAAK. Dengan demikian, staf BAAK merupakan bagian dari entitas Staf. Entitas Staf, StafFakultas, dan StafProdi memiliki atribut yang sama, oleh karena itu dapat disatukan menjadi satu entitas. Agar integritas tetap terjaga, entitas Unit, Fakultas dan Prodi juga harus disatukan. Lihat Gambar 3. Relationship rekursif Unit-membawahi-Unit digunakan untuk menggambarkan sebuah unit yang berperan sebagai unit induk membawahi beberapa unit lain yang berperan sebagai subunit.

Gambar 3 ERD pengguna versi lanjut

Keenam kelompok pengguna memiliki beberapa atribut yang sama, antara lain: username, password, tanggal lahir, nomor KTP, dan sebagainya. Setiap kelompok pengguna memiliki atribut yang spesifik, misalnya mahasiswa memiliki NIM, IPK; dosen memiliki NIDN, jabatan fungsional; staf memiliki atribut NRP. Dengan demikian, konsep spesialisasi/generalisasi dapat digunakan.

Lihat Gambar 4. Superkelas Pengguna membawahi empat subkelas, yaitu: Mahasiswa, OrangTuaWali, Dosen dan Staf. Atribut KdKelompok pada superkelas Pengguna digunakan untuk membedakan enam kelompok pengguna yang ada.

Gambar 4 Diagram Kelas Pengguna

Seorang mahasiswa sekurang-kurangnya memiliki seorang orang tua/wali dan sebanyak-banyaknya tiga orang tua/wali, yaitu ayah, ibu dan wali. Seorang orang tua/wali dimiliki oleh sekurang-kurangnya seorang mahasiswa dan dapat pula dimiliki beberapa mahasiswa. Karena relationship banyak-ke-banyak, muncul entitas baru OrangTuaWaliMhs dengan NIM sebagai foreign key pertama yang berasal dari primary key Mahasiswa dan UserName sebagai foreign key kedua yang berasal dari primary key Orang­TuaWali.

Diasumsikan seorang mahasiswa terdaftar pada satu unit prodi, dan sebaliknya pada satu unit prodi terdaftar banyak mahasiswa tanpa batasan. Karena relationship antara Unit dengan Mahasiswa adalah satu-ke-banyak, maka primary key IdUnit pada entitas Unit muncul di entitas Mahasiswa sebagai foreign key dengan nama IdUnitProdi. Hal yang sama juga berlaku pada relationship antara entitas Unit dengan entitas Dosen dan Staf.

Pemetaan Diagram Kelas Pengguna ke Relasi

Pemetaan superkelas dan setiap subkelas pengguna pada Gambar 4 menghasilkan tujuh relasi berikut:

  1. Unit (IdUnit, Nama, IdUnitInduk)
  2. Pengguna (UserName, Password, NoKTP,Nama. Alamat. eMail, KdJenisKelamain, TglLahir, TempatLahir, KdPosLahir, KdAgama,KdStatusMarital, KdPendTerakhir, KdGelarDepan, GelarBelakang, KdGrup, Catatan. Foto)
  3. Mahasiswa (NIM, UserName, IdUnitProdi, KdJalurMasuk, TglMasuk, KetMasuk, KdStatusAkademik, TglStatusAkademik, KetStatusAkademik, AnakKe, JumlahBersaudara, IPK, TglLulus, KdPredikatKelulusan, TglWisuda, NoIjazah, TglIjazah)
  4. Dosen (NIDN, UserName, IdUnitProdi, KdJabFunfgsional, NoSertifikatPendidik, TglSertifikatPendidik)
  5. Staf (NRP, UserName, IdUnit)
  6. OrangTuaWali (UserName, KdPekerjaan)
  7. OrangTuaWaliMhs (NIM, UserNameWali, HubunganKeluarga)

Atribut NoTelepon pada entitas Pengguna dan entitas Unit adalah atribut berharga banyak. Pemetaannya menghasilkan dua relasi berikut:
8. TeleponPengguna (Username, Notelepon)
9. TeleponUnit (IdUnit, NoTelepon)

Bila DBMS relasional yang digunakan mendukung tipe data array atau set (himpunan), pemetaan nomor 8 dan 9 tidak diperlukan.

Penutup

Dengan contoh dua kasus di atas, mudah-mudahan konsep generalisasi/spesialisasi dapat lebih mudah dipahami dan diimplementasikan dalam basis data relasional.

Semoga bermanfaat. Umpan balik Anda akan sangat berharga.

--

--

M. Ramadhan
Telematika

I’m a database designer and developer, childhood in Menggala, living in Palembang.