SlideShare a Scribd company logo
1 of 3
Download to read offline
Tips dan Trik IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com




Hubungan Reflexive
Djoni Darmawikarta
djoni_darmawikarta@yahoo.ca




   Lisensi Dokumen:
   Copyright © 2003 IlmuKomputer.Com
   Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
   secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
   atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
   dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
   terlebih dahulu dari IlmuKomputer.Com.




Memanfaatkan Hubungan Reflexive
Hubungan reflexsive sering kita temui dalam struktur data yang bersifat hirarki,
misalnya struktur organisasi dan komposisi produk.

Seorang karyawan bertanggung jawab (report) kepada atasannya (manager) Si
manager, sebagai karyawan, juga bertanggung jawab kepada atasannya lagi, dan
seterusnya. Sebuah sub-komponen merupakan bagian dari komponen; komponen
bagian dari sub-assembly; sub-assembly bagian dari assembly, assembly bagian dari
sub-produk, dan seterusnya.

Perlu diperhatikan bahwa, dalam rangkaian data dalam hirarki tersebut diatas, semua
bentuk datanya ditingkat manapun sama. Baik manajer ataupun bawahan adalah
karyawan (dalam contoh yang dibahas dibawah, semuanya memiliki nomor karyawan,
nama dan nomor karyawan manajer). Demikian juga dengan sub-komponen sampai
dengan semua ditingkat atasnya, harus memiliki bentuk data yang sama (kolom
datanya sama). Ini kriteria yang harus dipenuhi, selain struktrur hirarki, yang harus
dipenuhi agar bisa memanfaatkan teknik ‘hubungan reflexive’ yang diuraikan lebih
lanjut didalam tulisan ini.

Model data sederhana untuk struktur organisasi memiliki ER diagram seperti dibawah
ini. Nama ‘reflexive’ diberikan, karena hubungan kedirinya sendiri (self-loopback)
Nama lain yang sering ditemui adalah hubungan ‘recursive’. Karena banyak ditemui di
struktur hirarki, kadang disebut ‘treewalk link’.




                                                                                          1
Tips dan Trik IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com




Contoh Isi Tabel
Nomor_karyawan manajer adalah nomor karyawan milik manajer dari karyawan
bersangkutan.

nomor_karyawan          nama_karyawan    nomor_karyawan_
                                         manajer
101                     Adi              1001
102                     Basuki           1001
103                     Dedi             1001
104                     Rahmat           1002
105                     Dewi             1002
1001                    Hadi             10001
1002                    Yos              10001
1003                    Wim              10001
10001                   Mike

Dapat disiratkan dalam contoh ini, bahwa Mike adalah pejabat tertinggi. Ada tiga
bawahannya. Hanya Hadi dan Yos yang memiliki bawahan; Wim tidak, meskipun dia
adalah bawahannya Mike.

SQL Self-Join
Selain bentuk reflexive yang sederhana, fasilitas SQL self-join memudahkan
manipulasi data berstruktur hirarki yang dirancang sebagai hubungan reflexive.

Misalnya kita ingin mengetahui semua bawahan per manajer, dengan kata lain: Pilih
karyawan yang menjabat manajer (memiliki bawahan), dan daftarkan manajer ini
beserta bawahannya. Untuk ini, bisa digunakan SQL statement sebagai berikut.

SELECT m.nama_karyawan manajer, k.nama_karyawan bawahan
FROM karyawan m, karyawan k
WHERE m.nomor_karyawan = k.nomor_karyawan_manajer
ORDER BY m.nama_karyawan DESC

SQL statement ini menggunakan satu tabel karyawan dua kali; sekali sebagai m, kedua
kali sebagai k (m dan k adalah alias untuk tabel karyawan; m untuk ‘mewakili’ manajer,
k untuk bawahan)




                                                                                    2
Tips dan Trik IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com



Hasilnya:

manajer      bawahan
Hadi         Adi
Hadi         Basuki
Hadi         Dedi
Yos          Rahmat
Yos          Dewi
Mike         Hadi
Mike         Yos
Mike         Wim

Ini bukti bahwa dengan teknik hubungan self-reflexive, rancangan (model data) kita
memang betul, secara ‘terselubung’, meyimpan data yang memiliki struktur hirarki.

Bila Anda sedang merancang database (relasional) dan menemui kasus data
berstruktur hirarki, jangan lupa ada peluang untuk memanfaatkan hubungan reflexive
dan SQL self-join !




                                                                                3

More Related Content

More from Nurdin Al-Azies

Interpersonal skill and creativity (nurdin al azies)
Interpersonal skill and creativity (nurdin al azies)Interpersonal skill and creativity (nurdin al azies)
Interpersonal skill and creativity (nurdin al azies)Nurdin Al-Azies
 
Desain grafis ver1 2-pdf
Desain grafis ver1 2-pdfDesain grafis ver1 2-pdf
Desain grafis ver1 2-pdfNurdin Al-Azies
 
Biar ngampus tak sekedar status
Biar ngampus tak sekedar statusBiar ngampus tak sekedar status
Biar ngampus tak sekedar statusNurdin Al-Azies
 
Kreatif entreupreneur workshop
Kreatif entreupreneur workshopKreatif entreupreneur workshop
Kreatif entreupreneur workshopNurdin Al-Azies
 
Strategi Penyambutan Mahasiswa Baru UNTUK LDK
Strategi Penyambutan Mahasiswa Baru UNTUK LDKStrategi Penyambutan Mahasiswa Baru UNTUK LDK
Strategi Penyambutan Mahasiswa Baru UNTUK LDKNurdin Al-Azies
 
7 international linkages
7 international linkages7 international linkages
7 international linkagesNurdin Al-Azies
 
04 ekonomi mikro rancang bangun ekonomi islam
04 ekonomi mikro     rancang bangun ekonomi islam04 ekonomi mikro     rancang bangun ekonomi islam
04 ekonomi mikro rancang bangun ekonomi islamNurdin Al-Azies
 
03 ekonomi mikro permintaan dan penawaran
03 ekonomi mikro     permintaan dan penawaran03 ekonomi mikro     permintaan dan penawaran
03 ekonomi mikro permintaan dan penawaranNurdin Al-Azies
 
02 ekonomi mikro pendahulan tentang ekonomi mikro
02 ekonomi mikro    pendahulan tentang ekonomi mikro02 ekonomi mikro    pendahulan tentang ekonomi mikro
02 ekonomi mikro pendahulan tentang ekonomi mikroNurdin Al-Azies
 
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )Nurdin Al-Azies
 

More from Nurdin Al-Azies (20)

Interpersonal skill and creativity (nurdin al azies)
Interpersonal skill and creativity (nurdin al azies)Interpersonal skill and creativity (nurdin al azies)
Interpersonal skill and creativity (nurdin al azies)
 
Desain grafis ver1 2-pdf
Desain grafis ver1 2-pdfDesain grafis ver1 2-pdf
Desain grafis ver1 2-pdf
 
Biar ngampus tak sekedar status
Biar ngampus tak sekedar statusBiar ngampus tak sekedar status
Biar ngampus tak sekedar status
 
Kreatif entreupreneur workshop
Kreatif entreupreneur workshopKreatif entreupreneur workshop
Kreatif entreupreneur workshop
 
Strategi Penyambutan Mahasiswa Baru UNTUK LDK
Strategi Penyambutan Mahasiswa Baru UNTUK LDKStrategi Penyambutan Mahasiswa Baru UNTUK LDK
Strategi Penyambutan Mahasiswa Baru UNTUK LDK
 
Dakwah Kreatif
Dakwah KreatifDakwah Kreatif
Dakwah Kreatif
 
Adobe Flash:
Adobe Flash: Adobe Flash:
Adobe Flash:
 
7 international linkages
7 international linkages7 international linkages
7 international linkages
 
04 ekonomi mikro rancang bangun ekonomi islam
04 ekonomi mikro     rancang bangun ekonomi islam04 ekonomi mikro     rancang bangun ekonomi islam
04 ekonomi mikro rancang bangun ekonomi islam
 
03 ekonomi mikro permintaan dan penawaran
03 ekonomi mikro     permintaan dan penawaran03 ekonomi mikro     permintaan dan penawaran
03 ekonomi mikro permintaan dan penawaran
 
02 ekonomi mikro pendahulan tentang ekonomi mikro
02 ekonomi mikro    pendahulan tentang ekonomi mikro02 ekonomi mikro    pendahulan tentang ekonomi mikro
02 ekonomi mikro pendahulan tentang ekonomi mikro
 
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
 
Sony (northwind)
Sony (northwind)Sony (northwind)
Sony (northwind)
 
Sony (dbname)
Sony (dbname)Sony (dbname)
Sony (dbname)
 
Sony (alert)
Sony (alert)Sony (alert)
Sony (alert)
 
Rio (sql2000)
Rio (sql2000)Rio (sql2000)
Rio (sql2000)
 
Djoni (surrogate)
Djoni (surrogate)Djoni (surrogate)
Djoni (surrogate)
 
Djoni rancangdb
Djoni rancangdbDjoni rancangdb
Djoni rancangdb
 
Djoni (null)
Djoni (null)Djoni (null)
Djoni (null)
 
Djoni (key)
Djoni (key)Djoni (key)
Djoni (key)
 

Tips Reflexive

  • 1. Tips dan Trik IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com Hubungan Reflexive Djoni Darmawikarta djoni_darmawikarta@yahoo.ca Lisensi Dokumen: Copyright © 2003 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com. Memanfaatkan Hubungan Reflexive Hubungan reflexsive sering kita temui dalam struktur data yang bersifat hirarki, misalnya struktur organisasi dan komposisi produk. Seorang karyawan bertanggung jawab (report) kepada atasannya (manager) Si manager, sebagai karyawan, juga bertanggung jawab kepada atasannya lagi, dan seterusnya. Sebuah sub-komponen merupakan bagian dari komponen; komponen bagian dari sub-assembly; sub-assembly bagian dari assembly, assembly bagian dari sub-produk, dan seterusnya. Perlu diperhatikan bahwa, dalam rangkaian data dalam hirarki tersebut diatas, semua bentuk datanya ditingkat manapun sama. Baik manajer ataupun bawahan adalah karyawan (dalam contoh yang dibahas dibawah, semuanya memiliki nomor karyawan, nama dan nomor karyawan manajer). Demikian juga dengan sub-komponen sampai dengan semua ditingkat atasnya, harus memiliki bentuk data yang sama (kolom datanya sama). Ini kriteria yang harus dipenuhi, selain struktrur hirarki, yang harus dipenuhi agar bisa memanfaatkan teknik ‘hubungan reflexive’ yang diuraikan lebih lanjut didalam tulisan ini. Model data sederhana untuk struktur organisasi memiliki ER diagram seperti dibawah ini. Nama ‘reflexive’ diberikan, karena hubungan kedirinya sendiri (self-loopback) Nama lain yang sering ditemui adalah hubungan ‘recursive’. Karena banyak ditemui di struktur hirarki, kadang disebut ‘treewalk link’. 1
  • 2. Tips dan Trik IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com Contoh Isi Tabel Nomor_karyawan manajer adalah nomor karyawan milik manajer dari karyawan bersangkutan. nomor_karyawan nama_karyawan nomor_karyawan_ manajer 101 Adi 1001 102 Basuki 1001 103 Dedi 1001 104 Rahmat 1002 105 Dewi 1002 1001 Hadi 10001 1002 Yos 10001 1003 Wim 10001 10001 Mike Dapat disiratkan dalam contoh ini, bahwa Mike adalah pejabat tertinggi. Ada tiga bawahannya. Hanya Hadi dan Yos yang memiliki bawahan; Wim tidak, meskipun dia adalah bawahannya Mike. SQL Self-Join Selain bentuk reflexive yang sederhana, fasilitas SQL self-join memudahkan manipulasi data berstruktur hirarki yang dirancang sebagai hubungan reflexive. Misalnya kita ingin mengetahui semua bawahan per manajer, dengan kata lain: Pilih karyawan yang menjabat manajer (memiliki bawahan), dan daftarkan manajer ini beserta bawahannya. Untuk ini, bisa digunakan SQL statement sebagai berikut. SELECT m.nama_karyawan manajer, k.nama_karyawan bawahan FROM karyawan m, karyawan k WHERE m.nomor_karyawan = k.nomor_karyawan_manajer ORDER BY m.nama_karyawan DESC SQL statement ini menggunakan satu tabel karyawan dua kali; sekali sebagai m, kedua kali sebagai k (m dan k adalah alias untuk tabel karyawan; m untuk ‘mewakili’ manajer, k untuk bawahan) 2
  • 3. Tips dan Trik IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com Hasilnya: manajer bawahan Hadi Adi Hadi Basuki Hadi Dedi Yos Rahmat Yos Dewi Mike Hadi Mike Yos Mike Wim Ini bukti bahwa dengan teknik hubungan self-reflexive, rancangan (model data) kita memang betul, secara ‘terselubung’, meyimpan data yang memiliki struktur hirarki. Bila Anda sedang merancang database (relasional) dan menemui kasus data berstruktur hirarki, jangan lupa ada peluang untuk memanfaatkan hubungan reflexive dan SQL self-join ! 3