Connection Traps : Fan Trap VS Chasm Trap
Database merupakan struktur komputer terintegrasi yang menyimpan kumpulan data end-user dan metadata (Coronel, Morris, & Rob, 2010). Database (basis data) merupakan kumpulan data dan informasi yang terstruktur dan disimpan secara elektronik dalam sistem komputer. Data yang disimpan di dalam database merepresentasikan informasi atau objek-objek yang terdapat di dunia nyata. Penggunaan database komputer dibutuhkan untuk mewujudkan manajemen data yang efisien. Database design berfokus pada bagaimana struktur database akan digunakan untuk menyimpan dan mengelola data end-user. Langkah pertama dalam database design adalah data modeling. Data model dapat didefinisikan sebagai representasi virtual dari struktur dalam database yang relatif sederhana (biasanya grafis) dari struktur data dunia nyata yang lebih kompleks (Coronel, Morris, & Rob, 2010).
Pembuatan data model membutuhkan identifikasi yang tepat dari hubungan data antar entitas dalam database. Namun, kesalahan identifikasi hubungan antar entitas sering terjadi dikarenakan miskomunikasi atau informasi yang kurang lengkap mengenai aturan dan proses bisnis. Hal ini mengakibatkan pada munculnya connection traps dalam ERD (Entity Relationship Diagram). Connection traps merupakan suatu kondisi dimana relasi antara objek atau entitas dalam database tidak direpresentasikan dengan benar sehingga tidak sesuai dengan keadaan yang sebenarnya. Terdapat dua connection traps yang sering ditemui yang itu fan trap dan chasm trap.
- Fan trap
Fan trap adalah kondisi ketika sebuah entitas terhubung dengan dua atau lebih entitas lainnya dalam dua relasi 1 : M yang berbeda, hal ini akan menimbulkan ambiguitas dalam data model. Secara lebih sederhana, fan trap terjadi ketika suatu model data memiliki dua atau lebih relasi yang berujung pada satu entitas, sehingga menghasilkan sebuah bentuk lingkaran. Untuk memperbiki fan trap, dapat dilakukan restrukturisasi model ER asli untuk merepresentasikan asosiasi yang benar antar entitas.
Berikut adalah contoh fan trap dalam data model :
Potensi terjadinya fan trap dijelaskan pada Gambar 1, yang menunjukkan dua relasi 1 : M (Has dan Operates) yang berasal dari entitas yang sama yang disebut Divisi. Model ini merepresentasikan fakta bahwa sebuah divisi mengoperasikan satu atau lebih cabang dan memiliki satu atau lebih staff.
Gambar 1 Contoh Fan Trap.
Source : (Connolly & Begg, 2015, p. 426)
Gambar 2 Jaringan semantik model ER pada Gambar 1.
Source : (Connolly & Begg, 2015, p. 427)
Melalui Gambar 2, kita akan sulit menentukan staff SG37 bekerja di cabang mana (B003 atau B007). Ketidakmampuan untuk menjawab pertanyaan ini secara spesifik merupakan hasil dari fan trap yang terkait dengan representasi yang salah dari hubungan antara entitas Staff, Divisi, dan Cabang yang sebenarnya. Untuk memperbaiki fan trap, dapat dilakukan restrukturisasi seperti pada Gambar 3.
Gambar 3 Model ER yang ditunjukkan pada Gambar 1 direstrukturisasi untuk menghilangkan fan trap.
Source : (Connolly & Begg, 2015, p. 427)
Gambar 4 Jaringan semantik model ER pada Gambar 3.
Source : (Connolly & Begg, 2015, p. 427)
Pada Gambar 4, dapat dilihat bahwa restrukturisasi ER Model pada Gambar 3 menjadikan data dapat dianalisis dan direpresentasikan dengan tepat dan jelas.
- Chasm trap
Chasm trap adalah kondisi ketika terdapat relasi antara entitas yang dapat dipilih (opsional) terletak di antara dua entitas terkait dalam sebuah jalur, dan hal ini dapat menimbulkan kesulitan dalam menganalisis data yang terkait dengan entitas tersebut. Kehadiran entitas opsional diantara kedua entitas tersebut dapat menyebabkan jalur antar entitas terputus atau tidak lengkap. Untuk menghindari chasm trap, perlu ditentukan dan diidentifikasi relasi mana yang hilang/opsional. Selanjutnya, dapat menggunakan teknik desain data seperti mengubah relasi opsional menjadi relasi wajib (mandatory), atau menambahkan entitas penengah (intermediate entity) atau hubungan many-to-many.
Berikut adalah contoh fan trap dalam data model :
Gambar 5 Contoh Chasm Trap.
Source : (Connolly & Begg, 2015, p. 428)
Gambar 5 menunjukkan sebuah chasm trap yang terjadi pada relasi antara entitas Cabang, Staff, dan PropertyForRent. Model ini merepresentasikan fakta bahwa sebuah cabang memiliki satu atau lebih staff yang mengawasi satu atau lebih properti yang disewakan. Namun, tidak semua staff mengawasi properti, dan tidak semua properti diawasi oleh seorang staff.
Gambar 6 Jaringan semantik model ER pada Gambar 5.
Source : (Connolly & Begg, 2015, p. 428)
Melalui Gambar 6, kita tidak dapat menentukan property PA14 tersedia di cabang mana. Hal ini dikarenakan properti ini belum dialokasikan ke seorang staff yang bekerja di cabang. Ketidakmampuan untuk menjawab pertanyaan ini dianggap sebagai kehilangan informasi (karena kita tahu bahwa sebuah properti harus tersedia di sebuah cabang), dan ini adalah hasil dari chasm trap. Untuk memperbaiki chasm trap perlu mengidentifikasi relasi yang hilang, yang dalam hal ini adalah relasi Offers antara entitas Cabang dan PropertyForRent. Selanjutnya, menambahkan entitas penengah (intermediate entity). Model ER yang ditunjukkan pada Gambar 7.
Gambar 7 Model ER yang ditunjukkan pada Gambar 5 direstrukturisasi untuk menghilangkan chasm trap.
Source : (Connolly & Begg, 2015, p. 429)
Gambar 8 Jaringan semantik model ER pada Gambar 7.
Source : (Connolly & Begg, 2015, p. 429)
Penambahan entitas offers pada Gambar 7, memastikan bahwa setiap saat, properti yang terkait dengan setiap cabang diketahui, termasuk properti yang belum dialokasikan ke seorang staff. Maka dari itu, pada Gambar 8 menjadikan data dapat dianalisis dan direpresentasikan dengan tepat dan jelas.
Fan trap dan chasm trap merupakan dua connection traps yang sering ditemui dalam pembuatan data model database. Kedua jenis connection traps ini dapat mengakibatkan hilangnya informasi atau kesalahan dalam analisis data yang dapat mempengaruhi pengambilan keputusan bisnis. Oleh karena itu, penting untuk mengidentifikasi dan menyelesaikan connection traps dengan langkah dan cara yang tepat.
DAFTAR PUSTAKA
Coronel C., Morris S., & Rob P. (2010). Database systems: Design, implementation, and management (9th ed.). Course Technology/Cengage Learning.
Connolly T., & Begg C. (2015). Database systems: A practical approach to design, implementation, and management (6th Global ed.). Pearson.
Liu, L., Feng, J., & Xu, K. (2015). A representational analysis on relationships in an ER model. WSEAS Transactions on Computers, 14, 538-545. http://wseas.org/wseas/cms.action?id=10189