Anda di halaman 1dari 108

UNIVERSITAS INDONESIA

PERBAIKAN KINER1A ALGORITMA TRIANGULASI


DELAUNAY SEKUENSIAL DAN IMPLEMENTASINYA PADA
KOMPUTASI PARALEL BERBASIS PC UNTUK MEMBANGUN
REKONSTRUKTOR OBYEK TIGA DIMENSI




Disertasi diajukan sebagai salah satu syarat
untuk mencapai gelar Doktor pada
Fakultas Ilmu Komputer
Universitas Indonesia






EKO SEDIYONO
9201000013










FAKULTAS ILMU KOMPUTER
UNIVERSITAS INDONESIA
DEPOK
2005
ii


Promotor :
eru Suhartanto, Drs., MSc.,Ph.D.






Co-Promotor :
ProI. Belawati Widjaja, Dra., MSc., Ph.D.






Team Penguji :
ProI. Dr. Aniati Murni (Ketua)
ProI. Dr. Toemin A. Masoem (Anggota)
T. Basaruddin, Ph.D. (Anggota)
Bobby A. A. NazieI, Ph.D. (Anggota)
L.Y. SteIanus, Ph.D. (Anggota)
Bevina D. andari, Ph. D. (Anggota)
Dr. Oerip S. Santoso (Anggota)

iii
PERBAIKAN KINERJA ALGORITMA TRIANGULASI DELAUNAY SEKUENSIAL
DAN IMPLEMENTASINYA PADA KOMPUTASI PARALEL BERBASIS PC
UNTUK MEMBANGUN REKONSTRUKTOR OBYEK TIGA DIMENSI

Eko Sediyono
Fakultas Ilmu Komputer
Universitas Indonesia
e-mail : ekosed1yahoo.com

Abstrak

Rekonstruksi obyek tiga dimensi (D
3
) dapat dilakukan dengan triangulasi
Delaunay (Detri) dua dimensi (D
2
) maupun D
3
. Detri D
2
menghasilkan poligonmesh,
sedangkan Detri D
3
menghasilkan solid-obfect. Detri D
2
banyak digunakan untuk
menginterpolasi atau merekonstruksi bentuk permukaan obyek dengan cara membentuk
jala-jala segitiga yang menutup permukaan obyek. Jala-jala segitiga dibentuk dari titik-
titik sampel yang menjadi ciri-ciri permukaan obyek tersebut. Berbeda dengan metode
triangulasi yang lain, Detri D
2
menerapkan uji legalitas (incircle property) untuk
mendapatkan segitiga yang eIisien. Selama ini uji legalitas tersebut menggunakan
metode persamaan linear (eliminasi Gauss) dan metode determinan yang tidak
memperhatikan kemungkin terdapatnya bagian objek yang teratur seperti segiempat
atau segitiga. Bentuk bagian yang teratur ini dapat ditemukan misalnya pada Candi
Borobudur. Dalam disertasi ini diusulkan metode uji geometri yang diharapkan
memiliki unjuk kerja yang baik untuk data yang berdistribusi teratur, sejajar dengan
sumbu x atau y seperti distribusi grid. Dari hasil uji coba dan perbandingan waktu
komputasi algoritma Detri sekuensial dengan tiga metode uji legalitas segitiga dan
dengan distribusi data tidak teratur (distribusi seragam) dan distribusi teratur (grid)
diperoleh kesimpulan bahwa metode persamaan linear paling lambat, metode determinan
rata-rata baik untuk kedua jenis distribusi data, metode geometri baik untuk data yang
berdistribusi seragam, dan paling baik untuk data yang berdistribusi grid.
Untuk mempercepat waktu prosesnya, triangulasi Delaunay dengan ketiga uji
legalitasnya diimplementasikan pada komputasi paralel. Penggunaan perangkat keras
generik, yaitu PC Pentium IV 1.3 Gz dengan RAM 256 MB sebanyak 32 PC dalam
jaringan Windows 2000, yang dikonIigurasi menjadi mesin paralel yang loosly coupled`
menggunakan PVM mampu meningkatkan speedup algoritma Detri paralel.
Karakteristik dari uji legalitas Detri pada komputasi paralel juga menunjukkan gejala
yang sama. Berdasarkan pada keadaan ini maka Detri sekuensial dan paralel dengan uji
legalitas metode geometri digunakan untuk membangun aplikasi rekonstruktor obyek
tiga dimensi.
Dalam disertasi ini dilaporkan juga pembangunan (development) dua
rekonstruktor obyek tiga dimensi, yaitu rekonstuktor yang berbasis sistem stereo yang
dapat menggunakan sembarang distribusi data, dan rekonstruktor yang berbasis
kecerahan yang sejak awal mengambil data citra (pixel) secara grid.

Kata kunci : Triangulasi Delaunay, Uji ncircle, Geometri, Triangulasi Delaunay
Paralel, PVM

iv
DAFTAR ISI

DAFTAR ISI ................................................................................................................ iv
DAFTAR TABEL ........................................................................................................ vi
DAFTAR GAMBAR .................................................................................................. viii
BAB I. PENDAULUAN ............................................................................................ 1
1.1. Latar Belakang .................................................................................................... 1
1.2. Pernyataan masalah ............................................................................................. 2
1.3. Tinjauan sekilas tentang topik terkait .................................................................. 3
BAB II. TINJAUAN TENTANG TOPIK TERKAIT ..................................................... 5
2.1. Algoritma Triangulasi Delaunay Sekuensial ........................................................ 5
2.1.1. Detri dengan Konstruksi Bertambah ............................................................. 7
2.1.2. Detri dengan Penyisipan Bertambah ............................................................. 8
2.1.3. Detri dengan Divide and Conquer ............................................................... 12
2.2. Algoritma Triangulasi Delaunay Paralel ............................................................ 13
2.2.1. Cara Pembagian dan Penggabungan Data ................................................... 16
2.2.2. Lingkungan Komputasi yang Digunakan .................................................... 18
2.2.3. Ukuran Kinerja Paralel ............................................................................... 21
2.3. Rekonstruktor Obyek Tiga Dimensi .................................................................. 24
BAB III. PERBAIKAN ALGORITMA DAN BEBERAPA PROSES TERKAIT ......... 29
3.1. Uji Legalitas Triangulasi Delaunay ................................................................... 29
3.1.1. Metode Linear ............................................................................................ 29
3.1.2. Metode Determinan .................................................................................... 32
3.1.3. Metode Geometri........................................................................................ 34
3.2. Algoritma Triangulasi Delaunay Sekuensial ...................................................... 36
3.2.1. Algoritma dan Struktur Data ....................................................................... 36
3.2.2. Analisis Algoritma ..................................................................................... 37
3.3. Algoritma Triangulasi Delaunay Paralel dengan PVM....................................... 38
3.3.1. Algoritma dan Struktur Data ....................................................................... 38
3.3.2. Penggabungan Data .................................................................................... 39
BAB IV. ASIL EKSPERIMEN DAN PEMBAASAN ............................................ 40
4.1. Perbandingan Waktu Komputasi Beberapa Uji Legalitas Triangulasi Delaunay
Sekuensial ........................................................................................................ 41
4.2. Kinerja Algoritma Triangulasi Delaunay Paralel dengan PVM .......................... 45
4.2.1. Waktu Eksekusi Paralel .............................................................................. 45
4.2.2. $peedup Komputasi Paralel ........................................................................ 53
4.2.3. EIisiensi ..................................................................................................... 55
BAB V. APLIKASI REKONSTRUKTOR OBYEK TIGA DIMENSI ........................ 57
5.1. Rekonstruktor Berbasis Sistem Stereo ............................................................... 57
5.1.1. Detektor Sudut Sojka .................................................................................. 58
5.1.2. Korelasi ...................................................................................................... 68
5.1.3. Rekonstruksi Titik Tiga Dimensi ................................................................ 72
5.2. Rekonstruktor Berbasis Kecerahan .................................................................... 75
BAB VI. KESIMPULAN DAN PENELITIAN LANJUTAN ....................................... 78
DAFTAR PUSTAKA .................................................................................................. 81




v
LAMPIRAN ................................................................................................................ 85
Lampiran I. Data Pengukuran Kinerja Algoritma Triangulasi Delaunay ...................... 86
Lampiran II. DaItar Modul-modul Program Aplikasi Rekonstruktor Obyek Tiga
Dimensi ............................................................................................................ 95
Lampiran III. KonIigurasi Jaringan Komputer PC Untuk Virtual Paralel ...................... 97



vi
DAFTAR TABEL


Tabel 4.1. Perbandingan Waktu Eksekusi Bagian-bagian proses Detri
Geometri
44
Tabel 4.2. Waktu Eksekusi Algoritma Detri Paralel dari 10000 titik
dengan Distribusi Campuran pada Empat Prosesor Paralel
51
L1.1. Waktu Eksekusi (detik) Algoritma Triangulasi Delaunay
Sekuensial dengan Uji ncircle metode Geometri
86
L1.2. Waktu Eksekusi (detik) Algoritma Triangulasi Delaunay
Sekuensial dengan Uji ncircle metode Persamaan Linear
86
L1.3. Waktu Eksekusi (detik) Algoritma Triangulasi Delaunay
Sekuensial dengan Uji ncircle metode Determinan
87
L1.4. Waktu Eksekusi komputasi (detik) Algoritma Triangulasi
Delaunay paralel dengan metode Geometri dan distribusi
data Seragam
87
L1.5. Waktu Eksekusi komputasi (detik) Algoritma Triangulasi
Delaunay paralel dengan metode Geometri dan distribusi
data grid
87
L1.6. Waktu Eksekusi komputasi (detik) Algoritma Triangulasi
Delaunay paralel dengan metode Pers. Linear dan distribusi
Data Seragam
88
L1.7. Waktu Eksekusi komputasi paralel (detik) Algoritma
Triangulasi Delaunay dengan metode Pers.Linear dan
distribusi Data Grid
88
L1.8. Waktu Eksekusi komputasi paralel (detik) Algoritma
Triangulasi Delaunay dengan metode Determinan dan
Distribusi Data Seragam
88
L1.9. Waktu Eksekusi komputasi paralel (detik) Algoritma
Triangulasi Delaunay dengan metode Determinan dan
Distribusi Data Grid
89
L1.10. Speedup Algoritma Triangulasi Delaunay paralel dengan
metode Geometri dan distribusi data seragam
89
L1.11. Speedup Algoritma Triangulasi Delaunay paralel dengan
metode Geometri dan distribusi Data Grid
90
L1.12. Speedup Algoritma Triangulasi Delaunay paralel dengan
metode Pers.Linear distribusi Seragam
90
L1.13. Speedup Algoritma Triangulasi Delaunay paralel dengan
metode Pers. Linear dan distribusi Data Grid
90
L1.14. Speedup Algoritma Triangulasi Delaunay paralel dengan
Metode Determinan dan distribusi Data Seragam
91
L1.15. Speedup Algoritma Triangulasi Delaunay paralel dengan
metode Determinan dan distribusi Data Grid
91
L1.16. EIisiensi () Komputasi Algoritma Triangulasi Delaunay
Paralel dengan Metode Geometri dan Distribusi Data
Seragam
91
L1.17. EIisiensi () Komputasi Algoritma Triangulasi Delaunay
Paralel Paralel dengan Metode Geometri dan Distribusi
Data Grid
92
vii
L1.18. EIisiensi () Komputasi Algoritma Triangulasi Delaunay
Paralel dengan Metode Pers.Linear dan Distribusi Data
Seragam
92
L1.19. EIisiensi () Komputasi Algoritma Triangulasi Delaunay
Paralel dengan Metode Pers. Linear dan Distribusi Data
Grid
92
L1.20. EIisiensi () Komputasi Algoritma Triangulasi Delaunay
Paralel dengan Metode Determinan dan Distribusi Data
Seragam
93
L1.21 EIisiensi () Komputasi Algoritma Triangulasi Delaunay
Paralel dengan Metode Determinan danDistribusi Data Grid
93
L1.22. Waktu Eksekusi (Detik) Algoritma Triangulasi Delaunay
Paralel dengan Empat Prosesor
93
L1.23. Waktu Eksekusi (Detik) Algoritma Triangulasi Delaunay
Paralel dengan Delapan Prosesor
94
L1.24.

Speedup Algoritma Triangulasi Delaunay Paralel dengan
Empat Prosesor
94
L1.25. Speedup Algoritma Triangulasi Delaunay Paralel dengan
Delapan Prosesor
94



viii
DAFTAR GAMBAR

Gambar 2.1. Perbandingan antara Detri dengan bukan Detri 6
Gambar 2.2. Jarak Delaunay (dd(e,p)) dimana e adalah sisi Delaunay dan
p adalah titik
8
Gambar 2.3. Penentuan Segitiga Awal 8
Gambar 2.4. Proses Detri dengan Titik Terpilih Berikutnya x
r.


9
Gambar 2.5. Dua Kemungkinan Triangulasi 10
Gambar 2.6. Sisi Pembentuk Segitiga Legal atau Ilegal berdasarkan pada
kriteria sudut optimal (teorema Thale)
11
Gambar 2.7. Proses Detri dengan 1lip x
i
x
f
menjadi x
r
x
l
11
Gambar 2.8. asil akhir Proses Triangulasi Delaunay

12
Gambar 2.9. Bagan proses Detri dengan Divide and Conquer 13
Gambar 2.10. Model TaksIarm 17
Gambar 2.11. Perbedaan antara Model Shared-memory dan Message-
passing
19
Gambar 2.12. Skema Kerja Laser Range $canner (a) arah penyinaran yang
menghasilkan voxel (pixel 3D), (b) volume rendering
menggunakan shear- warp 1actori:ation
25
Gambar 2.13. Laser Range $canner Berkinerja Tinggi (bagian kanan)
dengan Laptop (bagian kiri) sebagai Antarmuka
25
Gambar 2.14. Sistem CT-scan Modern. (a) tampak luar. (b) tampak dalam 26
Gambar 2.15. Skema ubungan Antara Tabung Sinar X, Pasien, Detektor,
dan Komputer Rekonstruksi Citra.
26
Gambar 2.16. Kamera TV CCD Dengan Meja Putar Rancangan Niem 27
Gambar 2.17. Segmentasi pada citra masukan. 27
Gambar 2.18. Pembentukan Piramida Pembatas 28
Gambar 2.19. Gambaran Dua Dimensi dari Perpotongan Piramida
Pembatas
28
Gambar 3.1. Jajaran Genjang hasil Cross Product 32
Gambar 3.2. Circumcircle 34
Gambar 3.3. Ilustrasi Penggabungan Data 39
Gambar 4.1. Macam-macam distribusi Data (a) seragam, (b) normal, (c)
bubble, (d) seragam bembentuk sabuk
40
Gambar 4.2. Distribusi Data Grid 41
Gambar 4.3. Triangulasi Delaunay dari data yang berdistribusi Seragam
dan Grid
42
Gambar 4.4. Waktu Eksekusi Algoritma Triangulasi Delaunay Sekuensial
dengan Tiga Metode Uji ncircle dan Dua Macam Distribusi
Data
43
Gambar 4.5. Waktu Eksekusi Paralel Algoritma Triangulasi Delaunay
dengan Tiga Macam Metode ncircle dan Dua Macam
Distribusi Data
46
Gambar 4.6. Waktu Eksekusi Algoritma Triangulasi Delaunay Paralel
pada Empat dan Delapan Prosesor
47
Gambar 4.7. Diagram Waktu Eksekusi Algoritma Detri Paralel dengan
Dua Prosesor
47
Gambar 4.8. Distribusi Data Campuran Grid-Seragam 48
Gambar 4.9. Triangulasi Delaunay dengan Distribusi Campuran 49
ix
Gambar 4.10. Distribusi Titik Pada Citra Candi Borobudur 50
Gambar 4.11. Triangulasi Delaunay dari Citra Candi Borobudur 51
Gambar 4.12. Waktu Eksekusi Algoritma Triangulasi Delaunay Paralel
dengan Empat Prosesor - 10000 Titik - Distribusi Campuran
52
Gambar 4.13. $peedup Paralel Algoritma Triangulasi Delaunay dengan
Tiga Macam Metode ncircle dan Dua Macam Distribusi
Data
54
Gambar 4.14. $peedup Komputasi Paralel Algoritma Triangulasi Delaunay
pada Empat dan Delapan Prosesor
55
Gambar 4.15. EIisiensi Algoritma Triangulasi Delaunay dengan Tiga
Macam Metode ncircle dan Dua Macam Distribusi Data
56
Gambar 5.1. Rancangan Rekonstruktor Obyek Tiga Dimensi Berbasis
Sistem Stereo
57
Gambar 5.2. Gradien dari Citra 1x,y) dalam Arah r 59
Gambar 5.3. Diagram Blok untuk Algoritma Deteksi Tepi dengan Batas
Ambang (threshold) dari Sebaran Gradien
60
Gambar 5.4. Kedok Operator Sobel orizontal (a) dan Vertikal (b) 60
Gambar 5.5. Contoh Citra dengan Batas Obyek (garis tebal) dan Sudut
(lingkaran kecil)
61
Gambar 5.6. Pola Citra yang dapat Dideteksi Sebagai Sudut 62
Gambar 5.7. Fungsi Kecerahan dari Titik-titik di Sekitar Titik Sudut Pola
L
62
Gambar 5.8. Nilai Kecerahan dengan Arah Melintasi Batas Obyek 63
Gambar 5.9. Memprediksi Probabilitas x pada soline Untuk Menentukan
Bobot w(x)
64
Gambar 5.10. Tampilan Aplikasi Detektor Obyek Tiga Dimensi Berbasis
Sistem Stereo
66
Gambar 5.11. Nilai-nilai Parameter Deteksi Sudut 67
Gambar 5.12. asil Deteksi Sudut 68
Gambar 5.13. Menentukan Korespondensi Awal dengan Menghitung Skor
Korelasi
68
Gambar 5.14. Perhitungan $trength o1 Match dengan menggunakan konsep
perbandingan neighbours
70
Gambar 5.15. Nilai-nilai Parameter untuk Perhitungan Korelasi 71
Gambar 5.16. asil Korelasi dengan DaItar Skor 72
Gambar 5.17. Baseline $tereo $ystem 72
Gambar 5.18. Nilai-Nilai Parameter Rekonstruksi Titik Tiga Dimensi 73
Gambar 5.19. Titik-titik Tiga Dimensi asil Rekonstruksi 74
Gambar 5.20. Visualisasi Tiga Dimensi 74
Gambar 5.21. Diagram Blok Sistem Rekonstruktor Berbasis Kecerahan 75
Gambar 5.22. Aplikasi Rekonstruktor Berbasis Kecerahan 75
Gambar 5.23. Visualisasi 3D asil Rekonstruksi 76
Gambar 5.24. Obyek Tiga Dimensi asil Rekonstruksi Candi Borobudur 77




1
BAB I
PENDAHULUAN

11 Latar Belakang
Triangulasi Delaunay (Detri) adalah pembentukan jala-jala segitiga dari
himpunan titik-titik pada suatu bidang. Segitiga-segitiga yang terbentuk harus
memenuhi syarat incircle, yaitu tidak ada titik lain di dalam lingkaran yang dibentuk
dari tiap tiga titik sudut segitiga yang ada kecuali tiga titik sudut segitiga itu sendiri.
Dengan adanya syarat tersebut maka triangulasi Delaunay membentuk himpunan
segitiga yang eIisien, yaitu tidak ada segitiga yang terlalu lancip, sehingga triangulasi
Delaunay dapat digunakan untuk interpolasi linear piecewise yang optimal |6|.
Beberapa aplikasi yang menggunakan triangulasi Delaunay adalah pemodelan
permukaan bumi untuk 1light simulator |18|, dan rekonstruktor obyek |32|.
Selama ini distribusi titik-titik masukan untuk triangulasi Delaunay yang
diperhatikan adalah distribusi acak (tidak teratur), yaitu pemilihan/penempatan titik
pada suatu bidang secara acak penuh, atau bila dilihat pada probabilitas
pemilihan/penempatan tiap titik pada suatu bidang adalah sama, maka distribusi acak
sering disebut distribusi seragam. Distribusi data seragam digunakan untuk melihat
kinerja algoritma rata-rata. Padahal pada kenyataannya banyak obyek yang mempunyai
distribusi titik yang teratur atau simetris. Sebagai contoh: distribusi titik-titik pada
obyek candi Borobudur yang berbentuk segiempat. Pada bagian-bagian sudut segiempat
distribusi titik-titiknya berdistribusi grid (sejajar dengan sumbu x atau y), dan di bagian
tengah titik-titiknya berdistribusi radial/melingkar.
Untuk distribusi-distribusi khusus seperti yang telah disebutkan di atas kinerja
algoritma triangulasi Delaunay dapat ditingkatkan dengan memperbaiki uji incircle.
Selama ini uji incircle yang digunakan adalah uji dengan metode persamaan linear dan
determinan, yang tidak memperhatikan distribusi data. Dengan kata lain uji tersebut
dapat digunakan untuk sembarang distribusi data. Pada disertasi ini, diusulkan uji
geometri yang jumlah langkah komputasinya lebih sedikit yang khusus digunakan untuk
data yang berdistribusi teratur.
Selanjutnya, kinerja algoritma triangulasi Delaunay ingin ditingkatkan lagi
dengan membangun algoritma triangulasi Delaunay paralel pada lingkungan paralel
yang telah tersedia, yaitu jaringan PC yang dibuat menjadi paralel virtual dengan
2
menggunakan PVM. Rekayasa tersebut di atas akan digunakan untuk membangun
rekonstruktor obyek tiga dimensi berbasis perangkat keras generik.
Rekonstruktor obyek tiga dimensi banyak digunakan untuk modelling, reverse
engineering, dan analisis kesehatan. Untuk mendapatkan hasil yang baik dapat
digunakan alat yang canggih, yang berarti mahal, atau dirancang algoritma yang eIisien
|12|. Beberapa peralatan rekonstruktor canggih yang digunakan terutama untuk analisis
kesehatan adalah Magnetic Resonance maging (MRI), yaitu scanner yang
menggunakan teknik radiologi, magnetik, gelombang radio, dan komputer untuk
menghasilkan gambar struktur tubuh manusia |1|. Laser $canning Con1ocal Microscopy
(LSCM) |42|, dan CT-$can. Sedangkan usaha untuk merancang algoritma yang eIisien
ditunjukkan oleh Garland et al. |18|. Dalam makalahnya, dijelaskan bahwa untuk
membuat model lereng pegunungan dan dataran tinggi dapat digunakan algoritma
triangulasi yang cepat dengan masukannya berupa himpunan titik-titik. Sistem yang
dibangun dapat menggantikan perangkat keras graIik yang umumnya menggunakan
poligon sebagai elemen dasar dalam menggambarkan obyek.
Dalam disertasi ini dirancang algoritma yang dapat digunakan untuk membangun
rekonstruktor obyek tiga dimensi berdasarkan peralatan generik yang tersedia di
lingkungan kerja, seperti komputer PC beserta dengan jaringan yang berbasis Windows
untuk keperluan komputasi sekuensial maupun paralel, scanner, kamera digital untuk
mendapatkan data citra digital dan display monitor untuk menampilkan hasil
rekonstruksi.
Ada dua macam rekonstruktor yaitu rekonstruktor volumetrik dan rekonstruktor
permukaan. Rekonstruktor volumetrik adalah alat untuk merekonstruksi obyek sampai
dengan bagian dalam dari obyek tersebut. Contoh dari rekonstruktor volumetrik adalah
MRI, LSCM, dan CT-$can. Sedangkan rekonstruktor permukaan hanya merekonstruksi
obyek dari permukaannya saja, yang biasanya melalui citra digital dua dimensi. Contoh
dari rekonstruktor permukaan adalah rekonstruktor lereng pegunungan dan dataran
tinggi yang dibangun oleh Garland |18|, seperti yang disebutkan di atas. Selanjutnya,
yang dimaksud rekonstruktor obyek dalam disertasi ini adalah rekonstruktor permukaan.

12 Pernyataan masalah
Beberapa masalah yang akan dikaji dalam disertasi ini adalah :
3
a. Apakah masih mungkin komputasi triangulasi Delaunay dua dimensi ditingkatkan
kecepatannya dengan memperbaiki metode uji legalitas segitiga yang terbentuk pada
saat triangulasi.
b. Bagaimana pengaruh perbaikan metode uji legalitas tersebut pada kinerja algoritma
triangulasi Delaunay paralel yang dirancang pada jaringan komputer PC dengan
PVM sebagai pembuat lingkungan paralel.
c. Seberapa baik algoritma triangulasi Delaunay paralel tersebut dapat diaplikasikan
untuk rekonstruktor obyek tiga dimensi.

1 Tinjauan sekilas tentang topik terkait
Triangulasi Delaunay (Detri) banyak digunakan untuk keperluan rekonstruksi
obyek, baik D
2
maupun D
3
. Sedemikian populernya, sehingga banyak metode Detri
yang dihasilkan oleh para peneliti. Su dan Drysdale |38| mengelompokkan metode-
metode tersebut menjadi tiga kelompok yaitu : Konstruksi bertambah (incremental
construction), penyisipan bertambah (incremental insertion atau on-line), dan divide-
and-conquer. Kajian kompleksitas untuk masing-masing algoritma juga diberikan.
Untuk Detri D
2
, konstruksi bertambah memiliki kompleksitas O(n), penyisipan
bertambah memiliki kompleksitas O(n
2
), dan divide-and-conquer, memiliki
kompleksitas O(n log n). Tinjauan tentang topik-topik yang terkait lainnya akan dibahas
pada Bab 2.
Algoritma Detri adalah algoritma yang paling eIisien dibandingkan dengan
algoritma triangulasi lainnya |17||8||38|. Dikatakan demikian karena Detri memiliki
syarat incircle, yaitu pada tiap segitiga yang terbentuk dilakukan uji dengan lingkaran
bayangan yang melalui ketiga sudutnya. Di dalam atau pada lingkaran tidak boleh ada
titik lain. Bila hal ini terjadi maka segitiga tersebut tidak legal dan harus dibentuk
segitiga dari kombinasi titik sampel lainnya. Selama ini, uji tersebut dihitung
menggunakan persamaan linear yang membutuhkan waktu komputasi yang cukup lama.
Usulan perbaikan algoritma Detri terutama dalam hal perhitungan incircle property
menggunakan metode geometri akan dibahas pada Bab 3. Metode ini akan
dibandingkan dengan metode incircle lainnya, dan pembahasannya akan disajikan pada
Bab 4. Selain itu, pada Bab 4 juga akan dibahas peranan metode uji legalitas dalam
meningkatkan kinerja algoritma Detri paralel yang dibangun pada lingkungan jaringan
komputer PC dengan PVM.
4
Bab 5 akan membahas tentang aplikasi rekonstruktor obyek tiga dimensi yang
menggunakan Detri. Ada dua rekonstruktor yang dibangun yaitu rekonstruktor yang
berbasis sistem stereo. impunan titik-titik yang diperoleh dengan menggunakan sistem
stereo memiliki distribusi yang tidak teratur, sehingga kemungkinan peran uji legalitas
geometri yang diusulkan tidak cukup terlihat. Rekonstruktor kedua adalah rekonstruktor
yang berbasis kecerahan. Rekonstruktor ini sejak awal mengambil sampel titik secara
teratur, dan dari tiap titik yang terpilih dihitung tingkat kecerahannya untuk dijadikan
dasar memprediksi ketinggian. Diasumsikan bahwa citra diambil secara tegak lurus dari
depan sehingga bagian yang makin dalam (makin jauh dari kamera) memiliki intensitas
cahaya yang makin rendah. Terakhir, Bab 6 berisi kesimpulan dan rencana penelitian
lanjutan.


5
BAB II
TIN1AUAN TENTANG TOPIK TERKAIT

Pada bab ini akan ditinjau beberapa topik yang berkaitan dengan kajian pada
disertasi ini. Topik-topik tersebut adalah: kajian tentang beberapa algoritma triangulasi
Delaunay sekuensial yang sampai saat ini masih menjadi topik aktual. Topik ini dapat
dibaca pada Bagian 2.1. Topik berikutnya adalah kajian dari beberapa algoritma
triangulasi Delaunay paralel, metode pembagian data, lingkungan komputasinya, dan
ukuran kinerja paralel. Topik ini dapat dibaca pada Bagian 2.2. Bagian terakhir , yaitu
Bagian 2.3. akan membahas tentang rekonstruktor obyek tiga dimensi secara lebih
dalam.

21 Algoritma Triangulasi Delaunay Sekuensial
Selama sepuluh tahun terakhir Detri masih banyak dibicarakan oleh para
peneliti. Beberapa hasil penelitian tentang optimalisasi algoritma Detri D
n
dapat dilihat
secara lebih teliti pada makalah-makalah berikut ini. Buchin (2005) |5| mengusulkan
perbaikan pada metode konstruksi bertambah (salah satu algoritma Detri yang akan
dibahas pada bagian 2.1.1), yaitu dengan cara melokalisir pemilihan titik secara random
sehingga mengurangi pembentukan segitiga lancip dan panjang di tepi batas himpunan
titik masukan. Chen dan Xu (2004) |6|, membahas metode-metode triangulasi yang
eIisien dari sudut pandang Iungsi yang digunakan untuk menyelesaikan masalah
diIerensial parsial. Devillers et al. (2003) |13|, menemukan bahwa jumlah sisi minimal
yang digunakan untuk membuat Detri dari n titik adalah paling banyak ni/2 dimana i
adalah titik dalam, yaitu titik-titik yang tidak dilalui oleh sisi convex hull. Komponen
komputasi dari Detri adalah pemilihan titik (menentukan lokasinya terhadap titik
tetangga untuk triangulasi), uji incircle, dan retriangulasi. Devroye, Mucke, dan Zhu
(1998) |14|, memberikan catatan dalam menentukan lokasi titik yang akan ditriangulasi.
Dalam makalahnya tidak diusulkan tambahan komputasi tetapi hanya mengubah
struktur datanya saja. Setiap titik selain dinyatakan dengan koordinat x dan y, juga
ditambahkan inIormasi titik tetangganya, sehingga pada saat suatu titik terpilih untuk
ditriangulasi, tidak perlu mencari titik tetangganya lagi. Su dan Drysdale (1996) |38|,
membandingkan algoritma-algoritma Detri yang secara umum dapat dikelompokkan
menjadi tiga kelompok yaitu konstruksi bertambah, penyisipan bertambah, dan divide-
6
and-conquer, seperti yang dinyatakan pada Bagian 1.3, dan akan dibahas lebih rinci
pada bagian ini. Vigo et al. |40|, membahas penggunaan Detri terbatas pada data yang
telah dilakukan deteksi tepi (edge re1inement), sehingga batas bidang cembung (convex
hull) telah diketahui.
Penggunaan Detri D
n
untuk beberapa aplikasi dapat dilihat pada makalah-
makalah berikut ini. Cheng dan Dey (2003) |10|, menggunakan Detri D
3
untuk
merekonstruksi obyek secara volumetrik yang memperhatikan aspect ratio (quality
mesh). ampir mirip dengan makalah Buchin |5| yang mengeliminasi segitiga lancip,
makalah ini mengeliminasi tetrahedra lancip dengan mengusulkan Iungsi pembobot
(weighted 1unction) pada sisi Delaunay. Lattuada dan Raper (1996) |26|, menggunakan
Detri untuk pemodelan permukaan bumi. Metode yang digunakan dalam makalah ini
adalah metode penyisipan bertambah D
3
.
Pada bidang D
2
, triangulasi adalah pembentukan jala-jala segitiga pada poligon
(bidang datar) yang ketiga titik segitiganya adalah titik sampel pada poligon tersebut.
Sisi-sisinya berasal dari sisi-sisi poligon dan segmen garis yang menghubungkan titik-
titik sampel. Tidak ada segmen garis yang saling berpotongan kecuali pada kedua titik
ujung sisi segitiga. Sedangkan pada bidang tiga dimensi (D
3
) triangulasi adalah metode
untuk mendapatkan himpunan limas (tetrahedra) dari himpunan titik-titik yang berada di
dalam bidang cembung (convex hull).
Detri adalah triangulasi yang unik dengan syarat titik-titik segitiga yang
terbentuk berada pada lingkaran dan tidak ada titik lain di dalam lingkaran tersebut |17|.
Untuk lebih jelasnya, perbandingan antara Detri dengan triangulasi biasa dapat dilihat
pada Gambar 2.1.

a. Bukan Detri b. Detri

Gambar 2.1. Perbandingan antara Detri dengan bukan Detri
7

Pada Gambar 2.1.a, lingkaran yang melewati sudut-sudut segitiga kiri
menyebabkan sudut segitiga lain yang berimpit dengannya berada di dalam lingkaran,
maka triangulasi demikian tidak memenuhi syarat triangulasi Delaunay. Sebaliknya,
pada Gambar 2.1.b lingkaran yang melewati sudut-sudut segitiga bawah tidak
menyebabkan sudut segitiga lain yang berimpit dengannya berada dalam lingkaran,
maka Gambar 2.1.b memenuhi triangulasi Delaunay. Bahkan garis-garis yang
membentuk pusat-pusat lingkaran, membentuk jaringan tersendiri yang disebut diagram
Voronoi. Dalam hal ini diagram Voronoi adalah dual dari Detri, artinya himpunan Detri
dapat diperoleh dari diagram Voronoi, dan sebaliknya diagram Voronoi dapat juga
diperoleh dari himpunan Detri.
Metode Detri bersama dengan dualnya, diagram Voronoi, banyak dipelajari di
dalam Komputasi Geometri. Banyak algoritma yang telah dihasilkan untuk menghitung
Detri dari himpunan titik dalam bidang D
2
, dan D
3
. Secara umum algoritma-algoritma
tersebut dikelompokkan menjadi tiga yaitu: Detri dengan konstruksi bertambah
(incremental construction), penyisipan bertambah (on-line), dan divide and conquer
|17| |38|.

211 Detri dengan Konstruksi Bertambah

Algoritma ini diperkenalkan oleh Cignoni et al. |11|. Diketahui sisi Delaunay e,
segitiga Delaunay berikutnya disusun dengan memilih titik yang meminimumkan jarak
Delaunay. Jarak Delaunay dideIinisikan sebagai dd(e,p) untuk setiap titik p :

|
,
|

=
lainnya yang untuk
dari luar paruh bidang jika
) , (
r
e c r
p e dd (2.1)
dimana r dan c masing-masing adalah jari-jari dan pusat lingkaran circumcircle, yaitu
lingkaran yang melewati titik ujung sisi e dan titik p. Untuk lebih jelasnya dapat dilihat
Gambar 2.2. Titik p pada Gambar 2.2.a bersama dengan titik-titk ujung sisi e
menghasilkan lingkaran dengan pusat c dan jari-jari r positiI, sedangkan titik p pada
Gambar 2.2.b bersama dengan titik-titik ujung sisi e menghasilkan lingkaran dengan
pusat c dan jari-jari r negatiI. Dengan demikian yang terlebih dahulu dipilih adalah titik
pada Gambar 2.2.b.
8


a. dd(e,p) r b. dd(e,p) -r

Gambar 2.2. Jarak Delaunay (dd(e,p)) dimana e adalah sisi Delaunay dan p adalah Titik

Algoritma ini dimulai dengan mengambil sembarang sisi bidang cembung
(convex hull) yang terbentuk dari himpunan titik-titik X sebagai sisi Delaunay pertama.
Untuk memudahkan komputasi, sisi bidang cembung yang dipilih pertama kali adalah
sisi yang mengandung titik x X paling kiri.

212 Detri dengan Penyisipan Bertambah
Algoritma dimulai dengan membentuk segitiga yang mengelilingi seluruh titik
sampel sebagai segitiga acuan. Agar segitiga yang dibentuk cukup besar dan pasti
mengelilingi seluruh titik sampel maka ketiga titik segitiga besar tersebut ditentukan
sebagai berikut: x
-1
(3M , 0) ; x
-2
(0 , 3M) ; x
-3
(-3M , -3M), dimana x
-1
, x
-2
, dan
x
-3
adalah titik-titik segitiga awal dengan indeks bernilai negatiI untuk membedakan
indeks titik-titik sampel X, dan M adalah nilai maksimum absolut dari titik-titik sampel
X. Gambar 2.3 memperjelas keterangan di atas.

Gambar 2.3. Penentuan Segitiga Awal
Bidang paruh
luar dari e
e
r~0
c
p
Bidang paruh
luar dari e
e
-r0
c
p
9
Proses berikutnya adalah memilih secara acak satu titik sampel untuk di
retriangulasi dengan segitiga awal, terbentuklah tiga segitiga baru. Selanjutnya dipilih
satu titik sampel berikutnya secara acak dan diretriangulasi dengan segitiga yang
mengelilinginya. Proses demikian berlanjut terus sampai seluruh titik sampel
membentuk jala-jala segitiga. Untuk memperjelas keterangan ini dapat dilihat Gambar
2.4. Pada Gambar 2.4.a diasumsikan telah terbentuk tiga buah segitiga. Titik berikutnya
yang terpilih secara acak adalah titik x
r
yang kebetulan terletak di dalam segitiga
1
.
Proses yang dilakukan adalah menghubungkan titik-titik segitiga
1
dengan x
r
sehingga
menjadi

,
B
dan
C
. Setiap kali terjadi perubahan sisi segitiga, struktur diagram
pohon bertambah dengan lea1 baru (lihat Gambar 2.4.b).

(a) (b)

Gambar 2.4. Proses Detri dengan Titik Terpilih Berikutnya x
r.
|17|


Untuk mendapatkan hasil triangulasi yang optimal, perlu dilakukan uji legalitas,
yaitu mendapatkan sisi pembentuk segitiga yang legal. Yang dimaksud dengan segitiga
legal adalah seperti dijelaskan berikut ini. Misalnya titik x
i,
x
f,
x
k,
dan x
l
membentuk
segiempat yang akan ditriangulasi (lihat Gambar 2.5). Sisi pembentuk segitiga yang
mungkin adalah x
i
x
f
atau x
k
x
l
. Sisi pembentuk segitiga yang legal adalah sisi yang
menghasilkan ) min , min max(
'
6 1 6 1
i
i
i
i
- -
A A A A

10

(a) (b)

Gambar 2.5. Dua Kemungkinan Triangulasi |17|

Dari Gambar 2.5 terlihat bahwa sudut terkecil dari Gambar 2.5.a adalah -
1
atau
-

lebih kecil daripada sudut terkecil dari Gambar 2.5.b yaitu -

. Jadi sisi pembentuk


segitiga yang legal adalah x
k
x
l
pada Gambar

2.5.b. Untuk menghindari pembuktian
dengan perhitungan sudut maka digunakan Teorema Thale |17|.

Teorema 1 : Teorema Thale


Misalkan L adalah lingkaran, l adalah garis yang
memotong L pada a dan b, dan p,q,r, dan s adalah titik-
titik yang terletak pada sisi yang sama dari l, dalam hal ini
semua titik berada di sebelah atas l. Misalkan p dan q
berada pada L, r di dalam L, dan s diluar L, maka:
sudut arb ~ sudut apb sudut aqb ~ sudut asb

Berdasarkan pada Teorema Thale maka jika x
i
, x
f
, x
k
, x
l
adalah titik-titik yang
membentuk segiempat dan ada salah satu titik yang terletak di dalam lingkaran,
sementara tiga titik lainnya berada pada lingkaran yang sama, maka pasti ada salah satu
sisi pembentuk segitiga x
i
x
f
atau x
k
x
l
yang ilegal. DeIinisi tersebut dapat lebih jelas
dilihat pada Gambar 2.6. Jika yang diuji legalitasnya adalah segitiga x
i
x
f
x
k
, maka
lingkaran dapat dibentuk dari pusat lingkaran yang berasal dari pertemuan garis-garis
tegak lurus terhadap x
i
x
k
dan x
k
x
f
atau garis-garis tegak lurus terhadap x
i
x
l
dan x
l
x
f
yang
menghasilkan titik potong di c yang akan menjadi pusat lingkaran. Pada Gambar 2.6
lingkaran L dibentuk dengan pusat lingkaran c, yang berasal dari perpotongan garis g
1

dan g
2
. Sedangkan g
1
memotong x
k
x
f
pada median dan tegak lurus (perpendicular
11
bisector). Demikian juga g
2
memotong x
i
x
k
pada median dan tegak lurus. Karena di
dalam lingkaran L terdapat titik lain, yaitu dalam hal ini x
l
, maka x
i
x
f
adalah ilegal. Oleh
karena itu garis pembentuk segitiga segera ditukar (1lip) dengan x
k
x
l.

Gambar 2.6. Sisi Pembentuk Segitiga Legal atau Ilegal Berdasarkan pada Kriteria Sudut
Optimal (Teorema Thale)

Melanjutkan pembahasan dari Gambar 2.4, perlu dilakukan uji legalitas segitiga
yang mengandung titik x
r
(titik terpilih), yaitu segitiga-segiriga

,
B
, dan
C
. Tetapi
karena

, dan
B
, yang masing-masing memiliki sisi x
i
x
k
dan x
k
x
f
yang menjadi tepi
poligon maka tidak perlu dilakukan uji legalitas. Jadi yang perlu diuji legalitasnya
adalah
C
saja. Dari uji legalitas ternyata
C
tidak legal dan sisi x
i
x
f
ditukar (1lip)
menjadi x
r
x
l
dan menghasilkan dua segitiga

dan

(lihat Gambar 2.7).



Gambar 2.7. Proses Detri dengan 1lip x
i
x
f
menjadi x
r
x
l
|17|
12
Selanjutnya, dari proses tersebut terbentuk segitiga baru yang mengandung titik
x
r
yaitu

dan

.

tidak perlu diuji karena salah satu sisinya yaitu x
f
x
l
adalah tepi
poligon. Setelah dilakukan proses uji legalitas terhadap

, ternyata

tidak legal dan
garis x
i
x
l
harus ditukar menjadi x
r
x
m
(lihat Gambar 2.8). Segitiga
3
dan

pada Gambar
2.7 terhapus dan diganti menjadi

dan

pada Gambar 2.8.



Gambar 2.8. asil Akhir Proses Triangulasi Delaunay

|17|

21 Detri dengan Divide and Conquer
Divide : pada tahap ini dicari garis tegak l yang membagi himpunan titik-titik X menjadi
dua sub himpunan X
L
dan X
R
, sehingga ,X
L
, ,X,/2 dan ,X
R
, ,X,/2|. Titik yang
menjadi anggota X
L
adalah semua titik yang berada pada dan di sebelah kiri garis
l, sedangkan titik yang menjadi anggota X
R
adalah semua titik yang berada pada
dan di sebelah kanan garis l.
Conquer : Setelah membagi X menjadi X
L
dan X
R
dilakukan dua pemanggilan rekursiI.
Yang pertama pemanggilan rekursiI untuk membuat triangulasi kiri dan ke dua
pemanggilan rekursiI untuk membuat triangulasi kanan. Jumlah anggota terbanyak
untuk sub himpunan kiri dan kanan adalah tiga.
Combine : Pada tahap ini dilakukan penggabungan himpunan triangulasi kiri dan kanan.
Proses di atas dijelaskan pada bagan yang tercantum pada Gambar 2.9 berikut
ini.
13


Gambar 2.9. Bagan Proses Detri dengan Divide and Conquer

22 Algoritma Triangulasi Delaunay Paralel
Pengembangan algoritma paralel untuk Detri D
n
dapat dilihat pada makalah-
makalah berikut ini. Chen, Chuang, dan Wu. (2000) |7|, merancang algoritma paralel
divide-and-conquer pada komputer IBM SP2 yang memakai 16 prosesor. $peedup yang
diperoleh adalah 2.72 7.68, atau kalau dinyatakan dalam eIisiensi (speedup / jumlah
prosesor), adalah 17 - 48. Pada tahun yang sama (Desember 2000) muncul makalah
dari penulis yang sama |8|. Kalau pada makalah pertama data dibagi secara langsung
maka pada makalah ini data dibagi dengan memperhatikan sisi Delaunay menggunakan
metode penyisipan bertambah, sedangkan Detri untuk sub blok digunakan divide-and-
conquer. Algoritma diuji coba pada dua jenis mesin DEC Alpha Cluster dan IBM SP2,
masing-masing menggunakan delapan prosesor. Untuk mesin DEC Alpha Cluster
diperoleh speedup antara 2.5 2.71 atau eIisiensinya antara 31 - 59, sedangkan
pada mesin IBM SP2 diperoleh speedup antara 2.71 - 5.28 atau eIisiensinya antara 34
- 66. Selanjutnya penulis yang sama menulis makalah lagi (2001) |9|, tentang
algoritma paralel Detri dengan menggunakan High Per1ormance Fortran (PF) dan
MPI. Algoritma yang sama diuji coba pada kondisi mesin yang sama dengan makalah
ke dua. Untuk algoritma yang menggunakan MPI pada DEC Alpha cluster tidak
dilaporkan hasil uji cobanya, sedangkan speedup untuk MPI pada mesin IBM SP2
14
adalah antara 2.74 3.35 atau eIisiensinya antara 34 - 42. Cignoni et al. (1994)
|11|, membangun algoritma paralel dengan metode konstruksi bertambah pada D
3
.
Algoritma Detri D
3
diimplementasikan dengan dua cara yaitu dengan dekomposisi
domain spasial (membagi data secara asinkron independen), dan dengan pendekatan
master-slave. Lingkungan paralel yang digunakan juga ada dua yaitu tightly coupled
distributed memory MIMD (nCUBE), dan jaringan workstation dengan Linda.
asilnya, untuk 10000 titik yang berdistribusi seragam yang didekomposisi secara
spasial, nCUBE dengan 8 elemen prosesor (pe) menghasilkan speedup 5.10, sedangkan
Linda dengan 8 workstation menghasilkan speedup 4.75. Untuk implementasi master-
slave, dengan jumlah dan distribusi titik yang sama, Linda dengan 1 master dan 5 slave
menghasilkan speedup 2.01, sedangkan nCUBE dengan 1 pe sebagai master dan 8 pe
sebagai slave menghasilkan speedup 5.02. ardwick (1997) |22|, merancang algoritma
paralel divide-and-conquer dengan model prosesor paralel secara kelompok (team),
yaitu tiap prosesor saling independen yang membentuk kelompok. Struktur data dasar
diberikan pada tiap anggota kelompok prosesor yang dapat diakses secara data-parallel.
Pada tahap divide, kelompok prosesor dibagi menjadi dua, struktur data yang relevan
diberikan pada tiap anggota sub kelompok. Proses dilakukan secara rekursiI, yaitu tiap
sub kelompok membagi diri sampai anggota sub kelompok tinggal satu. Proses baliknya
adalah proses penggabungan dari sub kelompok ke induknya masing-masing. Dalam
model ini data-parallel dan data-control terjadi secara bersamaan. Lingkungan yang
digunakan untuk menguji coba algoritma ini adalah IBM SP2 loosly coupled, dan SGI
Power Challenge yang bersiIat tightly-coupled shared-memory. Dengan menggunakan
data yang berupa himpunan titik-titik yang berdistribusi seragam sebanyak 128 K, IBM
SP2 memberikan speedup 4.1, sedangkan SGI Power Chalenge memberikan speedup
4.35. Lee, Park, dan Park ( 1997) |27|, membangun algoritma paralel yang menekankan
pada pembagian data. impunan titik-titik yang menjadi data masukan dibuat dalam
batas bidang cembung (convex region). Bidang tersebut dibagi sesuai dengan
banyaknya prosesor. Metode pembagian data yang memperhatikan sisi Delaunay inilah
yang diusulkan oleh Lee et al.|27|. Dengan cara pembagian data yang diusulkan ini
tidak dibutuhkan waktu untuk menggabung data. Data pada tiap sub bidang ditriangulasi
dengan metode konstruksi bertambah. Ada dua metode pembagian data yang diusulkan,
yaitu : metode 1, pembentukan jalur Delaunay secara vertikal dan horizontal, dan
15
metode 2, pembentukan jalur Delaunay vertikal. Lingkungan paralel yang digunakan
untuk uji coba algoritma ini adalah INMOS Transputer Machine yang memiliki 32
prosesor T800. Data uji menggunakan himpunan titik-titik sebanyak 10000 titik, dengan
empat macam distribusi, yaitu : distribusi seragam, normal, gelembung dan seragam
pada bidang sempit. $peedup pada 32 prosesor untuk metode yang diusulkan pada tiap
distribusi berbeda-beda. asilnya adalah sebagai berikut, untuk metode 1, data yang
berdistribusi seragam memperoleh speedup 12.0, normal 10.0, gelembung 14.9,
seragam pada daerah sempit 8.0, sedangkan metode 2 menghasilkan speedup untuk
distribusi seragam 8.1, normal 7.0, gelembung 9.8, seragam pada daerah sempit
2.5. Sediyono dan Suhartanto ( 2004) |34| |35| membandingkan metode pembagian
data secara langsung (independent parallel Delaunay triangulation/IPDT) dan
pembagian data berdasarkan sisi Delaunay (Dependent Parallel Delaunay
Triangulation/DPDT) dengan metode 2 seperti yang diusulkan oleh Lee et.al |27| pada
lingkungan Cluster PC Pentium IV dengan Windows 2000 dan PVM. $peedup
maksimum yang diperoleh adalah 5.7 pada 7 prosesor dengan data sebanyak 10000 titik
yang berdistribusi seragam pada daerah sempit.

Detri D
3
Paralel
Ada dua metode untuk komputasi Detri pada bidang D
3
, yaitu melakukan
komputasi Delaunay pada bidang D
2
yang menghasilkan jala-jala segitiga pada bidang
datar, lalu jala-jala tersebut diangkat pada tiap titiknya sesuai dengan ketinggiannya
(nilai dimensi ketiga). Sedangkan cara ke dua adalah langsung memproses komponen
pada bidang D
3
, yaitu dengan mencari himpunan limas (tetrahedra) yang tidak saling
berpotongan. Limas saling berimpit pada sisi-sisinya atau bidang-bidangnya, sedangkan
sudut-sudut limas adalah titik-titik di dalam dan pada bidang cembung.
Cara pertama banyak digunakan untuk memprediksi permukaan bumi dan
dataran tinggi. Publikasi yang membahas masalah ini adalah Berg dan Kreveld (1997)
|4| dan Garland dan eckbert (1997) |18|. Garland menggunakan cara pertama ini
untuk memprediksi permukaan Crater Lake di lembah Oregon dengan hanya
menggunakan 771 titik (5 dari jumlah titik asli). Sedangkan Berg dan Kreveld |4|
mengaplikasikan cara pertama ini untuk sistem inIormasi geograIi (GIS). Apakah model
komputasi paralel pada cluster computer untuk cara pertama ini dapat memperbaiki
16
kinerja proses ? Sampai saat ini belum ada publikasi yang membahas, dan masalah ini
menjadi salah satu kajian pada disertasi ini.
Cara ke dua lebih kompleks daripada cara pertama. Publikasi yang membahas
cara ke dua ini adalah O`Rourke (2000) |31|. Kalau cara pertama digunakan untuk
merekonstruksi obyek dari permukaannya, maka cara kedua ini dapat digunakan untuk
merekonstruksi obyek secara volumetrik. ardwick (1997) |22| melaporkan bahwa
dengan menggunakan cara ke dua ini dan dengan menggunakan data yang berdistribusi
seragam kecepatan prosesnya menurun sampai lima kali, sedangkan dengan
menggunakan data yang berdistribusi tidak seragam kecepatan prosesnya makin turun
menjadi sepuluh kali lebih lambat. Oleh karena itu cara ke dua ini tidak digunakan pada
disertasi ini.

221 Cara Pembagian dan Penggabungan Data
Dalam komputasi geometri distribusi data sangat mempengaruhi kinerja
algoritma. Oleh karena itu dalam merancang algoritma paralel untuk komputasi
geometri seperti algoritma triangulasi Delaunay paralel perlu memperhatikan cara
pembagian data. Suhartanto dan Sediyono |39| melakukan perbandingan algoritma
triangulasi Delaunay paralel dengan cara pembagian dan pengiriman data secara static
domain decomposition dan task1arm. al ini terutama dilakukan untuk data yang
berdistribusi grid, yang tidak perlu memikirkan cara penggabungan data. Dalam
distribusi grid, titik-titiknya akan membentuk segiempat. Pasangan segitiga yang
terbentuk dari segiempat akan simetris karena kedua diagonalnya sama panjang.
Sediyono dan Suhartanto |3| menguji coba cara pembagian data dengan metode
Delaunay edge yang diadopsi dari Lee |27|.

$9,9ic dom,in decomposi9ion vs 9,skf,rm
Perbedaan utama pada kedua model ini adalah pada cara master
mendistribusikan task/data ke slave. Pertama-tama master membagi task menjadi
beberapa sub task, kemudian mengirimkannya ke slave. Pada model task1arm,
pendistribusian task ke suatu slave tergantung dari kemajuan proses dari tiap slave. Bila
slave selesai memproses suatu task, maka akan segera menerima task berikutnya.
Dengan kata lain, penjadwalan pada model ini terjadi secara acak, sedangkan pada
17
model static domain decomposition pembagian task-nya telah ditentukan pada saat
awal.
Dalam model task1arm terdapat tiga bagian pengatur task, yaitu source, workers,
dan sink. $ource membagi task menjadi sub task yang independen, dan
mendistribusikanya kepada semua worker. Pembagiannya dilakukan secara acak. Bila
suatu worker selesai mengerjakan task, maka source akan mengirim task berikutnya.
Sink mengumpulkan dan menggabung hasil kerja dari para worker. Sink juga bertugas
memberitahu kepada source bahwa suatu worker sudah selesai, supaya source segera
mengirim task kepada worker tersebut. Pada prakteknya, source dan sink dilakukan oleh
master dan worker dilakukan oleh slave. Model task1arm dapat dilihat pada Gambar
2.10 berikut ini.

Gambar 2.10. Model Taks1arm

asil penelitian ini menyimpulkan bahwa dengan menggunakan himpunan titik-
titik Mandelbrot berbentuk segiempat yang dibagi secara vertikal menunjukkan bahwa
model static domain decomposition lebih baik daripada model task1arm. al ini dapat
terjadi karena task1arm membutuhkan lebih banyak komunikasi. Karena proses
dilakukan pada prosesor paralel yang berbasis pada jaringan komputer PC, maka biaya
komunikasinya cukup besar.


DPDT dan IPDT
Dalam merancang algoritma triangulasi Delaunay paralel perlu diperhatikan cara
pembagian data, karena dalam triangulasi Delaunay dibutuhkan syarat legal edge, yang
menggunakan uji incircle. Legal edge disebut juga Delaunay edge. Sediyono |35|
mengadopsi metode pembagian data dengan memperhatikan Delaunay edge yang
SOURCE
WORKER WORKER WORKER WORKER
SINK
18
diusulkan oleh Lee |27|. Sediyono |35| menyebutkan ada dua cara pembagian data yaitu
Dependent Parallel Delaunay Triangulation (DPDT) dan ndependent Parallel
Delaunay Triangulation (IPDT). Dalam DPDT pembagian data awal oleh master sudah
memperhatikan Delaunay edge, sehingga pada saat penggabungan hasil tidak ada lagi
masalah illegal edge. Sedangkan dalam IPDT data langsung dibagi secara vertikal atau
horizontal tanpa memperhatikan Delaunay edge. Delaunay edge diperhatikan pada saat
penggabungan data. Kedua cara tersebut masing-masing ada keuntungan dan
kerugiannya. Dalam DPDT tidak ada masalah penggabungan data, tetapi cukup
membebani master dalam membagi data. Master membutuh waktu lama untuk membagi
data, sementara itu slave menunggu kiriman data. al ini menyebabkan kinerja
algoritma paralel secara keseluruhan berkurang. Sebaliknya dalam IPDT, data dapat
segera dibagi dan slave segera bekerja. Proses penggabungan dilakukan oleh slave
secara berpasangan yang membentuk pohon biner terbalik. Model IPDT memberikan
kinerja paralel yang lebih baik daripada model DPDT.

222 Lingkungan Komputasi yang Digunakan
Ada dua model pemrograman dalam komputasi paralel, yang masing-masing
memiliki arsitektur komunikasi yang berbeda. Model tersebut adalah shared memory
dan message passing. Model shared memory menggunakan pengalamatan tunggal,
dimana tiap lokasi dalam memori dapat diakses langsung oleh tiap prosesor. Dengan
demikian komunikasi antar prosesor terjadi secara implisit, sedangkan pada model
message passing memorinya tersebar di masing-masing prosesor. Tiap prosesor
memiliki alamat memorinya masing-masing, dan prosesor yang perlu mengakses
memori yang bukan miliknya harus melakukan komunikasi antar prosesor. Sehingga,
dalam hal ini, komunikasi dilakukan secara eksplisit, yang melibatkan waktu I/O.
Perbedaan secara skematik dapat dilihat pada Gambar 2.11. Pada komputer paralel
dengan model message passing, issue utamanya adalah menekan waktu komunikasi
sekecil mungkin. Ada dua pustaka yang terkenal untuk model pemrograman message
passing, yaitu PVM (Parallel Jirtual Machine) dan MPI (Message Passing nter1ace).
Dalam disertasi ini digunakan pustaka PVM, karena PVM memiliki kemampuan untuk
menjalankan aplikasi pada jaringan komputer yang heterogen, sehingga
kompatibilitasnya dapat terjaga. Sedangkan MPI tidak memiliki kemampuan tersebut
19
karena MPI dibangun berdasarkan pada arsitektur Massively Parallel Processor (MPP)
|20|.


Gambar 2.11. Perbedaan antara Model Shared-memory dan Message-passing |41|

PVM
PVM adalah perangkat lunak yang membuat sekumpulan komputer menjadi
tampak seperti sebuah komputer virtual yang besar. Sekumpulan komputer yang akan
terlibat dalam proses penyelesaian masalah harus dideIinisikan dulu, agar dapat
menjalankan Iungsinya. Komputer-komputer yang terlibat dalam komputasi bisa
homogen, dengan plat1orm yang sama, maupun heterogen, dengan plat1orm yang
berbeda, asal diantara mereka bisa saling berkomunikasi. PVM dapat menangani semua
pengiriman proses, konversi data, dan penjadwalan task secara message passing untuk
sistem yang tidak kompatibel sekalipun.
Sistem PVM terdiri dari dua bagian. Bagian pertama adalah daemon yang diberi
nama pvmd. Pvmd diaktiIkan di setiap komputer yang akan membentuk mesin virtual.
Bagian ke dua adalah pustaka rutin antarmuka PVM yang berisi koleksi perintah-
perintah primitiI untuk mengoperasikan proses-proses pustaka tersebut. Pustaka rutin ini
digunakan dalam program aplikasi paralel yang ditulis dengan bahasa pemrograman C,
C, atau FORTRAN 77. Aplikasi dalam bahasa pemrograman C dan C
dihubungkan melalui pustaka libpvm3.lib, sedangkan aplikasi dalam bahasa
pemrograman FORTRAN 77 dapat mengambil rutin-rutin dalam lib1pvm3.lib. Kedua
pustaka tersebut telah tersedia pada saat instalasi |19|.
(a) Model Shared-memory (b) Model Message Passing
20
PVM memberi Iasilitas untuk membuat sejumlah proses yang tidak tergantung
dari jumlah prosesor. Setiap proses diidentiIikasi menggunakan kode (task ID) dan
dipetakan ke prosesor secara otomatis, atau dapat juga diatur oleh programmer.
Program PVM umumnya diatur dengan model master-slave, yaitu satu proses yang
dieksekusi pertama kali menjadi master dan mengaktiIkan semua client dengan
memanggil pvmspawn. Rutin tersebut otomatis akan menjalankan semua proses dalam
sistem PVM. Cara lain untuk menjalankan proses adalah dengan memanggil rutin
pvmmytid yang mengembalikan kode task ID dari proses tersebut. Sebelum keluar dari
sistem PVM, semua proses client harus dimatikan dari PVM dengan memanggil rutin
pvmexit.
Komunikasi antar proses di dalam sistem PVM dilakukan secara message
passing menggunakan perintah rutin PVM seperti pvmsend dan pvmrecv. Semua rutin
pengiriman pesan dilakukan secara asinkron, sedangkan semua rutin penerimaan pesan
dapat dilakukan secara sinkron maupun asinkron. Ada tiga tahap dalam mengirim pesan
dalam PVM, yaitu :
1. Menginisialisasi buIIer pengiriman dengan rutin pvminitsend
2. Mengemas isi pesan ke dalam buIIer dengan memanggil rutin pvmpk*. Data yang
dikemas dapat bertipe byte, complex, double, 1loat, integer, dan character. Tipe
tersebut dinyatakan dengan mengganti tanda '* dan memberi tipe yang sesuai untuk
tiap parameter di dalam rutin pvmpk*. Misalnya data yang akan dikemas bertipe
1loat, maka digunakan pvmpk1loat).
3. Mengirim pesan ke prosesor tujuan dengan memanggil pvmsend atau pvmmcast
Proses yang menerima pesan harus membuka paket pesan pada bu11er penerima sesuai
dengan Iormat pengiriman pesan.
PVM juga menyediakan rutin pvmsetopt untuk mengatur pilihan dalam sistem
PVM, seperti pencetakan pesan kesalahan secara otomatis, tingkat pencarian kesalahan
(debugging level), dan metode pengaturan jalur komunikasi. Contoh yang paling umum
dari penggunaan pvmsetopt adalah memungkinkan jalur komunikasi langsung antar
task dalam PVM.
PvmsetoptPvmRoute, PvmRouteDirect),
Dengan perintah ini otomatis bandwidth komunikasi di dalam jaringan akan
digandakan. Penjelasan yang lebih lengkap mengenai PVM dapat dilihat di |19|.
21

22 Ukuran Kinerja Paralel
Tujuan dari penggunaan prosesor paralel adalah untuk mengatasi kendala
kecepatan dan kapasitas memori, dengan asumsi bahwa sumberdaya paralel sudah
tersedia. Seperti komputasi pada prosesor tunggal, kinerja komputasi paralel
dipengaruhi oleh teknik pemrograman, arsitektur, atau keduanya. Pada bagian ini hanya
akan dibahas kinerja yang dipengaruhi oleh teknik pemrograman. Banyak parameter
yang dapat digunakan untuk mengukur kinerja sistem paralel, diantaranya adalah waktu
komputasi, speedup komputasi paralel dan eIisiensi |2| |16| .

aktu Komputasi
Algoritma sekuensial biasanya dievaluasi berdasarkan waktu eksekusi dan
dinyatakan sebagai Iungsi terhadap besarnya masalah. Sebaliknya, waktu eksekusi pada
algoritma paralel tidak hanya dipengaruhi oleh besarnya masalah tetapi juga
dipengaruhi oleh arsitektur komputer paralel dan banyaknya prosesor yang terlibat
dalam komputasi.
Waktu komputasi dari suatu algoritma biasanya diukur menggunakan waktu
CPU atau dapat juga diukur dengan waktu jam dinding, yaitu jam yang terpasang pada
sistem komputer. Waktu CPU mengukur banyaknya waktu yang digunakan oleh CPU
untuk mengerjakan proses tanpa memperhitungkan waktu tambahan untuk sistem
operasi. Dengan demikian waktu CPU berbeda-beda untuk tiap prosesor, dan dalam
prakteknya sulit untuk membedakan waktu CPU dari tiap prosesor. Waktu jam dinding
mengukur selisih waktu sebelum dan sesudah proses. al ini berarti bahwa yang dicatat
adalah waktu eksternal yang didalamnya termasuk waktu CPU, waktu untuk sistem
operasi dan waktu I/O. Dalam disertasi ini yang dibutuhkan adalah waktu eksekusi
program, sehingga lebih baik dipilih waktu jam dinding untuk menyatakan waktu
proses.
Waktu proses untuk suatu sistem paralel terdiri dari waktu komputasi dan waktu
komunikasi. Persamaannya adalah sebagai berikut :

comm comp p
t t t + =
(2.2)
Persamaan waktu dalam (2.2) adalah waktu dalam model. Kenyataannya, pada suatu
sistem paralel tidak hanya waktu komputasi dan komunikasi tetapi masih ada waktu
22
tunggu prosesor, waktu sinkronisasi, dan waktu collision, sehingga persamaan yang
lebih mendekati kenyataan adalah

o + + =
comm comp p
t t t
(2.3)
dimana o menyatakan waktu selain waktu komputasi dan komunikasi.
Waktu komunikasi terdiri dari tiga unsur, yaitu : waktu startup (t
s
), atau waktu
yang dibutuhkan untuk memulai komunikasi pada saat akan mengirim proses, waktu
transIer tiap word (t
w
) dan panjangnya pesan yang dikirim (c). Persamaan waktu
komunikasi adalah

w s comm
ct t t + =
(2.4)
persamaan ini hanya berlaku untuk model komunikasi yang sederhana, tanpa
melibatkan banyaknya prosesor yang menjalankan komunikasi secara concurrent.
Padahal, pada kenyataannya, terutama untuk arsitektur komputer cluster PC seperti yang
digunakan untuk penelitian ini, sangat tergantung pada kinerja komunikasi. Pada saat
beberapa prosesor mengirim data menggunakan jalur komunikasi yang sama, akan
terjadi perebutan bandwidth, sehingga menurunkan kinerja komunikasi. Oleh karena itu
persamaan waktu komunikasi pada persamaan (2.4) perlu ditambahkan Iaktor skala p
~

yang menyatakan banyaknya prosesor yang mengirim dan menerima data, sehingga
persamaan (2.4) menjadi

w s comm
ct p t t
~
+ =
(2.5)
untuk komunikasi pada saat menerima data dan

) (
~
w s comm
ct t p t + =
(2.6)
untuk komunikasi pada saat mengirim data.

$peedup Komputasi Paralel
Dalam suatu sistem paralel biasanya kita perlu mengukur kinerja dengan
membandingkan waktu proses algoritma paralel dengan waktu proses sekuensial
terbaik, atau waktu proses dari algoritma paralel yang dijalankan pada prosesor tunggal
dengan waktu proses dari algoritma paralel yang dijalankan pada multiprosesor. Untuk
kasus yang pertama disebut speedup mutlak, sedangkan untuk kasus ke dua disebut
speedup relatiI. Karena dalam disertasi ini yang dievaluasi adalah algoritma yang
23
dijalankan pada multiprosesor, maka lebih baik dipilih speedup relatiI. Batas bawah
speedup relatiI adalah 1 dan batas atasnya adalah jumlah prosesor yang digunakan (p).
Dengan mendeIinisikan t
1
dan t
p
sebagai waktu proses algoritma paralel pada prosesor
tunggal dan p prosesor, maka speedup dapat dirumuskan sebagai berikut :
p
p
t
t
$
1
=
(2.7)
Ada beberapa Iaktor yang menghambat komputasi paralel, sehingga membatasi
speedup. Faktor-Iaktor tersebut adalah :
- Beban kerja yang tidak seimbang
- Waktu tunggu untuk sinkronisasi
- Waktu komunikasi
- Waktu komputasi tambahan yang dibutuhkan oleh proses paralel, tetapi tidak
dibutuhkan oleh versi sekuensialnya
Untuk meningkatkan kinerja algoritma paralel, maka Iaktor-Iaktor tersebut di atas harus
ditekan semaksimal mungkin.

Efisiensi
Dalam mengukur kinerja suatu sistem paralel eIisiensi tidak dapat dipisahkan
dari speedup. EIisiensi dideIinisikan sebagai rata-rata penggunaan p prosesor yang
dialokasikan untuk suatu proses komputasi paralel |16|. ubungan antara eIisiensi
dengan speedup dirumuskan sebagai berikut :

p
$
p E
p
= ) ( (2.8)
Jika eIisiensi tetap bernilai 1, padahal jumlah prosesornya bertambah, maka speedupnya
linear. Keadaan ini adalah keadaan yang ideal, dan tidak mungkin terjadi di dalam
kenyataan, karena setiap penambahan jumlah prosesor pasti ada biaya komunikasi,
terutama untuk arsitektur paralel loosly coupled seperti yang digunakan dalam disertasi
ini. Isue utama dalam merancang suatu sistem paralel adalah meningkatkan speedup
dengan biaya sekecil mungkin, atau meningkatkan speedup dengan mempertahankan
eIisiensi.

24
2 Rekonstruktor Obyek Tiga Dimensi
Berikut ini akan dibahas beberapa rekonstruktor obyek tiga dimensi baik yang
berupa perangkat keras maupun yang berupa rekayasa algoritma. Beberapa perangkat
keras rekonstruktor yang diketahui adalah seperti berikut ini.

,ser R,nge $c,nner
Dengan menggunakan alat ini dapat diperoleh langsung titik-titik sampel
permukaan obyek dalam koordinat 3D |25||29|. Salah satu cara kerja scanner ini dapat
dilihat dari skema yang tercantum pada Gambar 2.12. Alat ini menggunakan sinar laser
yang dapat menembus obyek (Gambar 2.12.a), kemudian membentuk citra yang berupa
sayatan-sayatan obyek. Sayatan-sayatan tersebut paralel antara satu dengan yang lain
(Gambar 2.12.b). Visualisasi obyek 3D dapat dibentuk dengan menggunakan volume
rendering dengan metode shear-warp 1actori:ation.
ancock et al.|21| menciptakan laser range scanner yang berkinerja tinggi.
Bentuk scanner-nya dapat dilihat pada Gambar 2.13 di bawah. Alat ini mengasilkan
langsung titik-titik 3D, dan dapat digunakan pada cahaya gelap maupun terang. Dan
yang lebih canggih lagi adalah alat ini dapat digunakan untuk merekam obyek bergerak.
Alat ini dapat berIungsi sebagai scanner 3D yang realtime, sehingga dapat digunakan
sebagai kamera keamanan. Keuntungan dari kamera keamanan 3D adalah sedikit
kemungkinan terjadi kamuIlase seperti pada kamera keamanan biasa (2D). Alat ini juga
dapat digunakan untuk survey teknik sipil maupun pemodelan bangunan. Dengan
resolusi yang dapat diatur, model bangunan dapat dibuat mulai dari yang sederhana,
misalnya hanya bentuk ruang saja, sampai ke yang paling detil, misalnya bentuk engsel
pintu.
25

(a) (b)
Gambar 2.12. Skema Kerja Laser Range $canner (a) arah penyinaran yang
menghasilkan voxel (pixel 3D), (b) volume rendering menggunakan shear-warp
1actori:ation |29|


Gambar 2.13. Laser Range $canner Berkinerja Tinggi (bagian kanan) dengan Laptop
(bagian kiri) sebagai Antarmuka |21|
C1-$c,n
Alat ini bekerja berdasarkan prinsip sinar x. Sinar x dipancarkan pada benda
yang dapat ditembus cahaya sinar x, misalnya tubuh manusia. Cahaya akan diserap oleh
obyek dengan tingkat yang berbeda-beda sehingga menghasilkan pola pancaran sinar x
dengan intensitas yang berbeda pula. Pola tersebut dicetak pada Iilm, sehingga
menghasilkan citra.
26
Bentuk Iisik dari sistem CT-scan yang modern dapat dilihat pada Gambar 2.14.
Sedangkan diagram hubungan antara tabung sinar x, pasien, detektor dan komputer
untuk rekonstruksi citra ditunjukkan pada Gambar 2.15.


(a) (b)
Gambar 2.14. Sistem CT-scan Modern. (a) tampak luar. (b) tampak dalam |23|


Gambar 2.15. Skema ubungan Antara Tabung Sinar X, Pasien, Detektor, dan
Komputer Rekonstruksi Citra. |23|

Berikut ini dibahas tentang rekonstruktor yang merupakan rekayasa algoritma.
Niem |30| menggunakan kamera TV CCD yang dapat dikalibrasi secara stasioner dan
diletakkan di depan meja putar sebagai tempat obyek. Meja dapat diputar dengan
langkah yang dapat diatur. Dengan demikian dapat diperoleh citra obyek dari beberapa
sudut pandang. Skema alat dapat dilihat pada Gambar 2.16 berikut ini.
27

Gambar 2.16. Kamera TV CCD Dengan Meja Putar Rancangan Niem |30|

Ada tiga langkah untuk membentuk model 3D dari sistem yang dirancang oleh
Niem tersebut. Langkah pertama, mengekstrak bayangan obyek asli dari citra masukan.
Contohnya dapat dilihat pada Gambar 2.17.


Gambar 2.17. Segmentasi pada citra masukan. |30|

Langkah ke dua adalah membuat piramida batas dengan puncaknya adalah titik
Iokus kamera dan dasarnya adalah citra bayangan, seperti yang dapat dilihat pada
Gambar 2.18. Bidang cembung (convex hull) yang terbentuk dari piramida tersebut
merupakan pendekatan awal dari model 3D. al ini dilakukan untuk tiap citra obyek.
Langkah terakhir adalah semua piramida dari sudut pandang yang berbeda
dipotongkan pada bidang 3D sehingga menjadi pendekatan akhir dari model 3D.
Pendekatan dengan cara ini masih terdapat kesalahan seperti yang ditunjukkan dengan
warna hitam pada Gambar 2.19 berikut ini.
28

Gambar 2.18. Pembentukan Piramida Pembatas |30|


Gambar 2.19. Gambaran Dua Dimensi dari Perpotongan Piramida Pembatas |30|




29
BAB III
PERBAIKAN ALGORITMA DAN BEBERAPA PROSES TERKAIT

Pada bab ini akan dibahas beberapa perbaikan pada algoritma triangulasi
Delaunay, terutama pada bagian uji legalitas segitiga (incircle property). Tidak banyak
makalah yang membahas masalah ini, tetapi pada setiap algoritma triangulasi Delaunay
yang diamati selalu digunakan metode linear |11| |38|. anya Berg |4| yang
menyebutkan secara eksplisit bahwa metode uji legalitas segitiga yang digunakan
adalah metode determinan. Metode geometri yang akan dibahas di sini adalah metode
dasar pembentukan lingkaran dari tiga buah titik yang diketahui. Metode ini dapat
dijumpai pada buku teks Geometri |33|. Menurut pengamatan metode ini cukup baik
digunakan untuk uji legalitas segitiga triangulasi Delaunay, terutama untuk titik-titik
yang sejajar dengan sumbu x atau sumbu y. Seperti sudah disebutkan, kesejajaran titik-
titik tersebut dengan sumbu x atau sumbu y banyak muncul dalam obyek dan belum
diperhatikan oleh para peneliti sebelumnya. Karena itulah metode ini akan dipakai
sebagai alternatiI proses uji legalitas segitiga.

1 Uji Legalitas Triangulasi Delaunay
Seperti yang disebutkan pada awal bab ini, pada bagian ini akan dibahas tiga
metode uji legalitas segitiga triangulasi Delaunay, yaitu : metode linear yang dipakai
pada beberapa algoritma triangulasi Delaunay, metode determinan yang juga sudah
dipakai pada beberapa algoritma triangulasi Delaunay, dan metode geometri yang
diadopsi dari buku teks Geometri yang diusulkan untuk menjadi metode uji legalitas
triangulasi Delaunay.

11 Metode Linear
Menurut Ringenberg et al. |33|, persamaan lingkaran yang berpusat pada titik
M(h,k) dengan jari-jari r adalah :
2 2 2
) ( ) ( r k y h x = + (3.1)
Persamaan tersebut dapat diuraikan menjadi
0 ) ( 2 2
2 2 2 2 2
= + + + r k h ky hx y x (3.2)
Setelah itu dapat diringkas menjadi
30
0
2 2
= + + + + F Ey Dx y x (3.3)
dengan D -2h, E -2k, dan F h
2
k
2
-r
2

Mencari pusat lingkaran M(h,k) dari tiga titik yang diketahui dapat menjadi persamaan
linear sebagai berikut. Misalnya tiga titik yang diketahui berturut-turut adalah (x
a
,
y
a
), B(x
b
, y
b
), dan C(x
c
, y
c
). Titik , B, dan C masing-masing dilalui oleh (berada pada)
persamaan lingkaran (3.3). Oleh karena itu
0
2 2
= + + + + F Ey Dx y x
a a a a

0
2 2
= + + + + F Ey Dx y x
b b b b
(3.4)
0
2 2
= + + + + F Ey Dx y x
c c c c

Kalau b
1
- (x
a
2
y
a
2
) , b
2
- (x
b
2
y
b
2
) , b
3
- (x
c
2
y
c
2
)
a
11
x
a
, a
12
y
a
, a
13
1
a
21
x
b
, a
22
y
b
, a
23
1
a
31
x
c
, a
32
y
c
, a
33
1
maka persamaan (3.4) dapat dibuat menjadi
a
11
D a
12
E a
13
F b
1
(3.5)
a
21
D a
22
E a
23
F b
2
(3.6)
a
31
D a
32
E a
33
F b
3
(3.7)
suatu persamaan linear yang dapat diselesaikan dengan eliminasi Gauss.
Untuk mengeliminasi persamaan (3.5) dibuat Iaktor pengali
11
21
2
a
a
m = untuk dikalikan
dengan persamaan (3.5), dan dijadikan pengurang bagi persamaan (3.6) menghasilkan

1 2 2 13 2 23 12 2 22 11 2 21
) ( ) ( ) ( b m b F a m a E a m a D a m a = + + (3.8)
a
21
m
2
a
11
0, sehingga D dapat dihilangkan dari persamaan (3.6).
Bila sekarang dideIinisikan notasi baru
a
22


a
22
m
2
a
12

a
23


a
23
m
2
a
13

b
2


b
2
m
2
b
1

maka persamaan (3.8) menjadi

2 23 22
' ' ' b F a E a = + (3.9)
dan persamaan (3.6) dapat diganti menjadi persamaan (3.9)
31
Untuk mengeliminasi persamaan (3.7) dibutuhkan Iaktor pengali
11
31
3
a
a
m = . Faktor
pengali ini dikalikan dengan persamaan (3.5) dan dijadikan pengurang bagi persamaan
(3.7), sehingga koeIisien D hilang dan menjadi

3 33 32
' ' ' b F a E a = +
dengan
a
32


a
32
m
3
a
12

a
33


a
33
m
3
a
13

b
3


b
3
m
3
b
1

Sekarang diperoleh tiga persamaan yang lebih ringkas, yaitu :
a
11
D a
12
E a
13
F b
1
(3.10)
a
22
E a
23
F b
2
(3.11)
a
32
E a
33
F b
3
(3.12)
Selanjutnya persamaan (3.13) dapat dieliminasi dengan persamaan (3.12) dan Iaktor
pengali
22
32
3
'
'
'
a
a
m = hingga menjadi

3 33
' ' ' ' b F a =
dengan
a
33


a
33
m
3
a
23

b
3


b
3
m
3
b
2

Persamaan terbaru setelah eliminasi adalah
a
11
D a
12
E a
13
F b
1
(3.13)
a
22
E a
23
F b
2
(3.14)
a
33
F b
3
(3.15)
Prosedur selanjutnya adalah substitusi balik untuk mendapatkan jawaban dari Iaktor D,
E dan F. Dari persamaan (3.15) dapat diperoleh

) ( '
) ( '
' ' '
' ' '
' '
' '
13 2 23 3 13 3 33
1 2 2 3 1 3 3
23 3 33
2 3 3
33
3
a m a m a m a
b m b m b m b
a m a
b m b
a
b
F


=

= = (3.16)

12 2 22
13 2 23 1 2 2
22
23 2
) ( ) (
'
) ' ' (
a m a
F a m a b m b
a
F a b
E

= (3.17)

11
13 12 1
) (
a
F a E a b
D

= (3.18)
32
Kembali ke bentuk awal, maka Iaktor D, E, dan F adalah

'
+

'

'
+

'

'
+

'

'
+

'

+ + +

'
+

'

+ + +
=
a
b
a
a
b
b
a
a
c
c
a
c
a a
a
b
b b
a
a
b
b
a
a
c
c
a a
a
c
c c
x
x
y
x
x
y
y
x
x
y
x
x
y x
x
x
y x
y
x
x
y
y
x
x
y
y x
x
x
y x
F
1 1
) ( ) ( ) ( ) (
2 2 2 2 2 2 2 2
(3.19)


2 2
2 2 2 2
1
a a
a
b
b
a
b
a a
a
b
b b
y x
x
x
y
F
x
x
y x
x
x
y x
E
+ +

'
+

'

'
+

'

+ +
= (3.20)
a
a a a
x
F E y y x
D
+
=
) (
2 2
(3.21)
Dengan persamaan (3.19) sampai dengan (3.20) maka titik pusat lingkaran M(h,k) dapat
diketahui.
Suatu titik T berada di dalam lingkaran bila (T M)
2
( M)
2
(B M)
2
(C M)
2

Jika setiap operasi aritmatik dihitung sebagai satu 1loating point operation (Ilop), maka
terdapat 100 Ilop sampai dengan mendapatkan kesimpulan suatu titik berada di dalam
lingkaran atau tidak.

12 Metode Determinan
Determinan adalah konsep luas yang berasal dari hasil perkalian (cross product)
dari dua buah vektor yang tidak saling berimpit. Misalnya diketahui dua buah vektor
6

dan B
6
seperti pada Gambar 3.1 berikut ini.






Gambar 3.1. Jajaran Genjang asil Cross Product

B
6

6

C
B
33
B
6 6
L adalah luas jajaran genjang seperti yang terlihat pada Gambar 3.1.
Luas segitiga (L) dapat diperoleh dari setengah luas jajaran genjang. Jika , B,
dan C pada Gambar 3.1 di atas adalah titik-titik segitiga yang diketahui, dan vektor
B =
6
, dan C B =
6
, maka luas segitiga BC adalah ( B
6 6
L ) atau
2L ) )( ( ) )( (
1
1
1
a b a c a c a b
c c
b b
a a
y y x x y y x x
y x
y x
y x
= (3.22)
tiap baris pada matrik determinan dapat dipandang sebagai titik pada koordinat
homogen, dengan koordinatnya yang ke tiga dinormalisasi menjadi 1.
Selanjutnya konsep ini dapat dikembangkan untuk mendeteksi apakah suatu titik T
berada di dalam lingkaran yang mengelilingi segitiga BC |4|.
Jika
0
1
1
1
1
2 2
2 2
2 2
2 2

+
+
+
+
t t t t
c c c c
b b b b
a a a a
y x y x
y x y x
y x y x
y x y x

maka titik T berada di dalam lingkaran.
Untuk memudahkan notasi maka tiap elemen pada kolom ke tiga dinotasikan
dengan kuad
i
, dengan i a,b,c,t<. Langkah-langkah perhitungannya adalah sebagai
berikut.
=
1
1
1
1
t t t
c c c
b b b
a a a
kuad y x
kuad y x
kuad y x
kuad y x

)
c t t c t c b t c b a
kuad y kuad y y y kuad kuad kuad y x + ) ( ) ( (3.23)
)
t t t c t c b t c b a
kuad x kuad x x x kuad kuad kuad x y + ) ( ) (
) ) ( ) ( ) (
c t t c t c b t c b a
y x y x x x y y y x kuad + +
) ) ( ) ( ) ( 1
c t t c b c t t c b c t t c b
y x y x kuad kuad x kuad x y kuad y kuad y x +
Jumlah Ilop untuk perhitungan di atas adalah 52 Ilop.

34
1 Metode Geometri
Jika segitiga yang akan diuji adalah segitiga yang dibentuk oleh titik-titik (x
a
,y
a
),
B(x
b
,y
b
), C(x
c
,y
c
) dan B sejajar dengan sumbu x, maka pusat lingkaran yang melalui ,
B, dan C adalah M(x
m
,y
m
), dimana :
2
b a
m
x x
x
+
= dan

'
+

'
+

+
=
2
*
2
c b
m
b c
b c c b
m
x x
x
y y
x x y y
y (3.24)

Bukti :

Perhatikan Gambar 3.2 di bawah ini :

Gambar 3.2. Circumcircle

Garis g tegak lurus dan memotong sama panjang sisi BC. Demikian juga garis h tegak
lurus dan memotong sama panjang sisi B yang sejajar dengan sumbu x. Kedua garis
tersebut berpotongan di M dan menjadi pusat lingkaran L.
Dengan demikian gradien sisi BC

b c
b c
BC
x x
y y
m

= (3.25)
Garis g tegak lurus dengan BC dan mempunyai gradien m
g
, maka
m
g
. m
BC
-1 atau
b c
b c
BC
g
y y
x x
m
m

= =
1
(3.26)
P adalah titik tengah BC maka koordinatnya adalah :
2
b c
p
x x
x
+
= dan
C
B
g
M
P
h
L
35
2
b c
p
y y
y
+
= (3.27)
Persamaan garis yang melewati titik M(x
m
, y
m
) dan P(x
p
, y
p
) adalah
) (
m p g m p
x x m y y = atau
) (
m p g p m
x x m y y = atau
) (
p m g p m
x x m y y + = dan
2
b a
m
x x
x
+
=
kalau persamaan (3.26), dan (3.27) disubstitusikan ke y
m
maka terbuktilah persamaan
(3.24).
Secara umum, untuk sembarang sisi segitiga BC, akan diperoleh pusat lingkaran
yang mengelilingi lingkaran tersebut dengan rumus berikut ini.

b c
b c
a b
a b
b a c b c b
b c
b c b a
a b
a b
m
y y
x x
y y
x x
y y y y x x
y y
x x x x
y y
x x
x

+
+
+

+
+

=
2 2 2
*
2
*
dan (3.28)

'
+

'
+

+
=
2
*
2
b a
m
a b
a b b a
m
x x
x
y y
x x y y
y
Persamaam 3.28 digunakan bersamaan dengan persamaan 3.24. Apabila x
b
-x
a

atau x
c
-x
b
atau y
b
-y
a
atau y
c
-y
b
mendekati nol, sesuai dengan ambang batas yang
ditentukan, berarti salah satu sisinya sejajar dengan sumbu y atau x, maka yang
digunakan adalah persamaan 3.24. Apabila terjadi sebaliknya maka yang digunakan
adalah persamaan 3.28. Dengan demikian penyebut pada persamaan 3.28 tidak pernah
nol.
Suatu titik T berada di dalam lingkaran yang mengelilingi segitiga BC, bila
(T M)
2
( M)
2
(B M)
2
(C M)
2
. Jika setiap operasi aritmatik dihitung
sebagai satu 1loating point operation (Ilop), maka untuk sembarang segitiga, dengan
menggunakan rumus pada persamaan (3.28) ditambah dengan perbandingan jarak, maka
terdapat 50 Ilop. Tetapi untuk segitiga yang sisinya sejajar dengan sumbu x atau y,
dengan menggunakan rumus pada persamaan (3.24) ditambah dengan perbandingan
jarak, terdapat 22 Ilop. Dalam perhitungan suatu sisi dinyatakan sejajar dengan suatu
sumbu koordinat atau tidak ditentukan dengan suatu nilai ambang batas (threshold)
yang ditentukan.
36
Dari perbandingan jumlah Ilop dari ketiga metode yang di bahas, metode geometri
terutama untuk segitiga beraturan, yang salah satu sisinya sejajar dengan sumbu x atau
y, berbeda cukup signiIikan terhadap yang lain. al ini sangat berpengaruh terhadap
waktu komputasi triangulasi Delaunay untuk data yang berdistribusi grid, yaitu titik-
titiknya beraturan atau sejajar dengan sumbu x atau y.


2 Algoritma Triangulasi Delaunay Sekuensial

21 Algoritma dan Struktur Data
Struktur data yang digunakan adalah sebagai berikut :
- Titik dua dimensi
struct aNode2D

int X;
int Y;
<;

- Sisi (edge)
struct anEdge

int ndxNode1;
int ndxNode2;
<;

- Segitiga
struct aTriangle

int ndxNode1;
int ndxNode2;
int ndxNode3;
<;

Algoritma triangulasi Delaunay yang digunakan dalam disertasi ini adalah algoritma
triangulasi Delaunay incremental insertion, agar terlihat peranan uji incircle dalam
mempercepat proses. Algoritma yang digunakan di dalam disertasi ini adalah modiIikasi
dari algoritma incremental insertion yang dikemukakan pada bagian 2.3.2. Kalau
algoritma tersebut menggunakan struktur pohon, maka algoritma yang digunakan di sini
menggunakan struktur array.


37
Input : impunan titik-titik (x,y)
Output : impunan segitiga dan Delaunay edge

1. Tentukan minX, minY, maxX, maxY dari himpunan titik-titik masukan
2. Tentukan rentang X (dx), dan rentang Y (dy)
3. Tentukan dmax max(dx,dy)
4. Tentukan median dari rentang X (midX) dan rentang Y (midY)
5. Tentukan segitiga besar dengan titik-titik :
(midX (dmax * 2) , midY dmax), (midX , (midY (dmax * 2)), dan (midX
(dmax * 2), midY dmax). Simpan di triangle dg NodeNumber ~ $umO1Node
6. Semua elemen triangle|i| diisi -1 dan sComplete 1alse
7. Semua elemen edge|i| diisi -1 dan triangleCounter 0
8. For i 0 to $umO1Node
8.1. f -1
8.2. do
f
iI (! IsComplete|f|)
ncircle( Nodes|i|, triangle|f|)
iI ncircle simpan edge dari triangle|f| yang diuji
triangle|f| triangle|triangleCounter|
--triangleCounter dan --j
8.3. while (f triangleCounter)
8.4. Utk setiap edge selain sisi segitiga besar, tandai edge ganda dg -1
8.5. Buat segitiga baru dari nodes|i| dan edge yang bukan edge ganda
9. endIor
10. Buang segitiga besar yang berada di NodeNumber ~ $umO1Node


22 Analisis Algoritma
Jika titik masukannya sebanyak n maka baris 1 dieksekusi sebanyak n kali.
Menurut Berg |4|, triangulasi Delaunay terhadap n titik akan menghasilkan (2n2k)
segitiga, dengan k jumlah titik pada convex hull. Pada algoritma di atas poligonnya
adalah segitiga besar, sehingga k 3. Dengan demikian, setiap tambahan satu titik baru
yang ditriangulasi, akan menghasilkan tambahan dua segitiga baru. Diasumsikan bahwa
pada setiap iterasi terdapat penambahan segitiga secara deret hitung. Jika banyaknya
segitiga yang terbentuk adalah t, maka baris 6 dieksekusi sebanyak t* (t 1) / 2. Untuk
k 3, maka t 2n 2 3 2n 5. Jadi jumlah eksekusi pada baris 6, adalah (2n-5) *
(2n 5 1) / 2 ( 2n 5 ) * ( 2n 5 1) / 2. Oleh karena itu maka kompleksitas
algoritma triangulasi Delaunay adalah O( n
2
).
Dengan algoritma yang dirancang ini maka peran uji incircle cukup besar, dan
sebaliknya menurunkan retriangulasi yang rekursiI. Sebab pada saat uji incircle
sekaligus dilakukan retriangulasi, yaitu dengan membuang edge ganda pada baris 8.5.
38

Algoritma Triangulasi Delaunay Paralel dengan PVM

1 Algoritma dan Struktur Data
Struktur data yang digunakan untuk implementasi algoritma triangulasi
Delaunay paralel adalah sama dengan algoritma sekuensial yang disajikan pada bagian
3.2.1.
Master
1. ardware (master/slave) identiIication
pvmhostin1o *hostp,
mytidpvmmytid),
pvmcon1ignhost,narch,hostp),
2. Initiate all slave
numtpvmspawn$LJE,char**)0,0,"",nproc,tids),
pvminitsendPvmDataDe1ault),
pvmpkintnproc,1,1),
pvmpkinttids,nproc,1),
pvmmcasttids,nproc,0),
3. Decompose the domain into m blocks with approximately equal number oI
points in each block.
4. Assign each block to one distinct processor (slave)
pvminitsendPvmDataDe1ault),
pvmpkinti,1,1),
pvmpkintnpoint,1,1), //number o1 points
pvmpkdoublepoint[o11set].point,1,1), // o11set
pvmsendtids[i],msgtype),
5. Wait and receive partial result
pvmrecv-1,msgtype),
pvmupkintwho,1,1), // slave id
pvmupkintnpoint,1,1),
pvmupkdoubleseg[who][f].x1,1,1), // partial result
6. Merge partial results to be a global result by applying the empty circumsphere
criterion.
$'
1. Initiate myselI
mytidpvmmytid),
masterpvmparent),
msgtype0,
pvmrecv-1,msgtype),
pvmupkintnproc,1,1),
pvmupkinttids,nproc,1),
2. Wait and receive data Irom master
pvmrecvmaster,msgtype),
pvmupkintwho,1,1),
pvmupkintnpoint,1,1),
39
pvmupkdoublepoint[f].point,1,1),
3. Triangulate selI-block by applying one oI Delaunay triangulation algorithms
4. Send the result to sibling
pvminitsendPvmDataDe1ault),
pvmpkintme,1,1),
pvmpkinttr1ound,1,1),
pvmpkdoublepoint[segi[i].vv0].point,1,1),
i1 me 2) 0 then sl me-1
pvmsendsl ,msgtype),

2 Penggabungan Data
Penggabungan data diilustrasikan seperti pada Gambar 3.3 berikut ini.


Gambar 3.3. Ilustrasi Penggabungan Data |37|

Ada dua hal yang dilakukan pada saat penggabungan, yaitu : Pertama,
menghapus edge di kiri (L) dan di kanan (R) yang tidak valid. Kedua, membuat
himpunan Delaunay edge yang valid, yang disebut cross-edge, yang menghubungkan
titik di L dan R. Prosedur penggabungan ini berjalan ke atas sepanjang garis pemisah
antara L dan R, sambil mencari cross-edge dengan menggunakan uji incircle.
40
BAB IV
HASIL EKSPERIMEN DAN PEMBAHASAN

Kinerja suatu algoritma ditentukan oleh jumlah data dan keadaan data. Dalam
komputasi geometri yang masukannya kebanyakan berupa himpunan titik-titik,
distribusi data sangat menentukan kinerja. Distribusi data yang umum digunakan untuk
menguji kinerja algoritma komputasi geometri ada 4 |27|. Keempat distribusi tersebut
adalah: Distribusi seragam, yaitu data menyebar dalam suatu bidang (segiempat) dengan
probabilitas tiap titik sama, atau distribusi acak penuh. Distribusi normal, yaitu data
menyebar pada bidang terbatas, makin ke tengah sebaran data makin rapat. Distribusi
bubble, yaitu data mengelompok pada beberapa bagian pada suatu bidang segiempat.
Distribusi seragam berbentuk sabuk, yaitu data menyebar membentuk sabuk vertikal
atau horizontal. Distribusi tersebut dapat dilihat pada Gambar 4.1.


(a) (b) (c) (d)

Gambar 4.1. Macam-macam Distribusi Data (a) Seragam, (b) Normal, (c) Bubble, (d)
Seragam Membentuk Sabuk |27|

Yang umum digunakan untuk menguji kinerja algoritma triangulasi Delaunay
adalah data dengan distribusi seragam dan normal, sedangkan data yang berdistribusi
bubble dan seragam berbentuk sabuk banyak digunakan untuk menguji load-balancing
pada algoritma triangulasi Delaunay paralel. Pada disertasi ini, algoritma triangulasi
Delaunay dengan metode uji geometri diindikasikan mempunyai kinerja yang baik pada
distribusi data yang teratur (grid), yaitu data menyebar teratur sejajar dengan sumbu x
atau y. Seperti disebutkan pada awal disertasi ini, distribusi grid banyak terdapat pada
objek. Bahkan ada objek yang bagian bentuk gridnya dominan. Oleh karena itu pada
disertasi ini ditambahkan distribusi grid, yang dapat dilihat pada Gambar 4.2.
41
Selanjutnya, yang menjadi perhatian adalah data yang berdistribusi teratur dan
tidak teratur. Oleh karena itu, yang dibandingkan pada analisis adalah distribusi
seragam, mewakili data tidak teratur, dan distribusi grid, yang mewakili distribusi data
teratur.


Gambar 4.2. Distribusi Data Grid

1 Perbandingan aktu Komputasi Beberapa Uji Legalitas Triangulasi
Delaunay Sekuensial

Algoritma diuji coba pada komputer PC Pentium IV 1.3 Gz dengan memori
256 MB. Sistem operasi yang digunakan adalah Windows 2000. Algoritma dibangun
dengan bahasa C, dengan kompilator MS C, antarmuka dibangun dengan
menggunakan Visual Basic, dan visualisasi dua dimensi dan tiga dimensi dibangun
dengan menggunakan Matlab.
Gambar 4.3 menunjukkan hasil triangulasi Delaunay dari 1000 titik yang
berdistribusi seragam dan 1000 titik yang berdistribusi grid. Untuk data yang
berdistribusi grid, setiap empat titik yang bertetangga dapat menghasilkan pasangan
segitiga yang simetris. al ini lebih memudahkan proses paralel yang tidak perlu
memperhatikan sisi Delaunay pada saat pembagian data dan penggabungan hasil
triangulasi.
42

(a) Distribusi Seragam


(b) Distribusi Grid
Gambar 4.3. Triangulasi Delaunay dari Data yang Berdistribusi Seragam dan Grid

Gambar 4.4 menunjukkan graIik perbandingan waktu eksekusi algoritma
triangulasi Delaunay sekuensial dengan beberapa macam metode uji incircle masing-
masing dengan variasi jumlah data dan distribusi. Untuk algoritma sekuensial waktu
eksekusinya cukup stabil, namun demikian waktu yang dipakai adalah waktu rata-rata
43
dari sepuluh kali pengukuran. GraIik pada Gambar 4.4 ini berdasarkan pada data yang
terdapat pada Lampiran 1, Tabel L1.1 sampai dengan L1.3.
Dari Gambar 4.4 dapat dilihat bahwa algoritma triangulasi Delaunay dengan
metode uji geometri kurang baik untuk data yang berdistribusi tidak teratur (seragam),
sebaliknya cukup baik untuk data yang berdistribusi teratur (grid). Algoritma triangulasi
Delaunay dengan metode uji persamaan linear kurang baik bila dibandingkan dengan
metode uji geometri. Perbedaan distribusi data seragam dan grid juga tidak ada
pengaruhnya terhadap waktu eksekusi. Metode uji determinan rata-rata cukup baik bila
dibandingkan dengan metode uji lainnya. Perbedaan distribusi data tidak berpengaruh
pada waktu eksekusi algoritma ini. Dari perbandingan seluruh metode dan seluruh
distribusi dapat dilihat bahwa metode geometri paling baik digunakan untuk data
berdistribusi teratur (grid). al ini sejalan dengan jumlah Ilop yang paling sedikit
diantara seluruh metode yang dibahas. Lihat kembali rumus pada persamaan 3.24.

aktu Eksekusi Sekuensial
0.00
20.00
10.00
0.00
80.00
100.00
120.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
5
0
0
0
0

0
0
0
0
Z
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
0
JumIah Data (titik)
w
a
|
l
u

(
d
e
l
|
|
)
0eorelr| - seragar
0eorelr| - gr|d
Pers.L|rear - seragar
Pers.L|rear - gr|d
0elerr|rar - seragar
0elerr|rar - gr|d

Gambar 4.4. Waktu Eksekusi Algoritma Triangulasi Delaunay Sekuensial dengan Tiga
Metode Uji ncircle dan Dua Macam Distribusi Data

Berikut ini disajikan analisis bagian-bagian dari algoritma triangulasi Delaunay
sekuensial berdasarkan waktu eksekusinya. Algoritma triangulasi Delaunay terdiri dari
beberapa bagian yaitu: pencarian lokasi (point location), uji legalitas segitiga (incircle)
dan retriangulasi. Dalam hal ini diasumsikan bahwa data sudah tersedia dan urut,
sehingga waktu pengurutan tidak dihitung. Pencarian lokasi adalah orientasi titik
terpilih terhadap titik-titik tetangga. Uji legalitas segitiga adalah syarat utama dari
44
triangulasi Delaunay, dan retriangulasi adalah triangulasi ulang apabila ada titik baru
yang menyebabkan triangulasi yang sudah ada menjadi ilegal. Berdasarkan pada waktu
eksekusi algoritma ini dengan menggunakan 5000 titik yang berdistribusi teratur (grid)
dan tidak teratur (seragam) dan dengan metode uji incircle geometri ditampilkan tabel
4.1 berikut ini.

Tabel 4.1. Perbandingan Waktu Eksekusi Bagian-bagian Proses Detri Geometri
Distribusi
(5000 ttk)
Point location ncircle Retriangulasi Total
Waktu
(det)

Waktu
(det)

Waktu
(det)

Waktu
(det)

Seragam 0.20 39.38 0.11 20.77 0.20 39.85 0.51 100
Grid 0.17 40.93 0.07 16.52 0.17 42.55 0.41 100

Dari tabel 4.1 diketahui bahwa peranan uji incircle dalam proses triangulasi Delaunay
dengan distribusi data tertentu maksimum hanya 21, tetapi perannya terlihat cukup
nyata mengurangi waktu eksekusi bila datanya berdistribusi grid. Bandingkan nilai-nilai
dalam Tabel 4.1 kolom incircle. Untuk 5000 titik berdistribusi seragam waktunya 0.11
(20.77 ), sedangkan untuk data yang berdistribusi grid waktunya turun menjadi 0.07
(16.52 ).
Angka-angka yang tercantum dalam Tabel 4.1 sebenarnya tidak dapat digunakan
untuk membuat kesimpulan secara umum karena bagian-bagian proses triangulasi
Delaunay tersebut tidak dapat dipisahkan dengan mudah. Lihat kembali algoritma
triangulasi Delaunay sekuensial pada bagian 3.2.1 Bila suatu titik baru akan dimasukkan
ke dalam himpunan triangulasi, tidak secara eksplisit dicari titik-titik tetangganya tetapi
langsung dilakukan uji incircle dengan titik-titik anggota himpunan triangulasi. Bila
terjadi segitiga yang ilegal maka dilakukan retriangulasi. al inilah yang menjadi alasan
mengapa bagian-bagian tersebut hanya diukur dengan menggunakan data sebanyak
5000 titik saja. Tabel 4.1 hanya digunakan untuk melihat secara kasar seberapa besar
peranan uji incircle dalam suatu proses triangulasi Delaunay.

45
2 Kinerja Algoritma Triangulasi Delaunay Paralel dengan PVM
Algoritma triangulasi Delaunay paralel dijalankan pada jaringan komputer PC
homogen sebanyak 32 PC dengan spesiIikasi Pentium IV, 1.3 Gz, memori 256 MB.
KonIigurasi selengkapnya dapat dilihat pada Lampiran III
21 aktu Eksekusi Paralel
Gambar 4.5 menunjukkan waktu eksekusi algoritma triangulasi Delaunay paralel
dengan dua, empat, dan delapan prosesor, yang masing-masing menggunakan metode
uji incircle geometri, persamaan linear, dan determinan. Dua jenis distribusi data, yaitu
teratur (grid) dan tidak teratur (seragam) diujicobakan pada setiap konIigurasi. Uji coba
juga dilakukan pada konIigurasi paralel dengan enambelas dan tigapuluh dua prosesor,
tetapi karena kedua konIigurasi tersebut tidak menunjukkan eIisiensi yang baik, maka
kedua konIigurasi tersebut tidak ditampilkan di sini. Data lengkap untuk semua
konIigurasi dapat dilihat pada Tabel L1.4 - L1.9.
Waktu eksekusi paralel menunjukkan gejala yang sama dengan waktu eksekusi
sekuensialnya. Metode persamaan linear menunjukkan waktu terjelek untuk kedua jenis
distribusi, metode determinan menunjukkan rata-rata terbaik untuk kedua distribusi dan
metode geometri menunjukkan waktu cukup baik untuk data yang berdistribusi kurang
teratur (seragam) dan terbaik untuk data yang berdistribusi teratur (grid). al ini dapat
dilihat pada Gambar 4.5. Karakteristik tersebut dapat terlihat lebih jelas lagi apabila
dilihat pada Gambar 4.6, yaitu perbandingan waktu eksekusi paralel untuk semua jenis
metode dan distribusi data pada empat dan delapan prosesor.
Apabila diteliti kembali Gambar 4.5, waktu eksekusi algoritma triangulasi
Delaunay paralel dengan metode uji incircle persamaan linear, dan dengan dua prosesor
cukup tinggi, bahkan paling tinggi bila dibandingkan dengan metode uji incircle
lainnya. al ini terjadi baik pada data yang berdistribusi seragam maupun grid. al ini
disebabkan karena komputasi lokal di tiap prosesor cukup lama. Untuk data sebanyak
10000 titik telah diamati waktu eksekusi tiap-tiap bagian dari proses dan disusun dalam
diagram waktu yang dapat dilihat pada Gambar 4.7. Gambar 4.7.a adalah diagram
waktu eksekusi algoritma Detri paralel dengan dua prosesor, metode uji persamaan
linear, dan distribusi data seragam, sedangkan Gambar 4.7.b adalah diagram waktu
eksekusi algoritma Detri paralel dengan dua prosesor, metode uji persamaan linear, dan
distribusi data grid. t
0
- t

adalah waktu yang dicatat sebagai waktu eksekusi paralel,


46
sedangkan waktu tiap-tiap bagian dapat dilihat pada gambar tersebut yang diukur dalam
detik.


Gambar 4.5. Waktu Eksekusi Paralel Algoritma Triangulasi Delaunay dengan Tiga
Macam Metode Uji ncircle dan Dua Macam Distribusi Data


aktu Eksekusi Paralel - Distribusi Data Seragam
0.00
10.00
20.00
30.00
40.00
50.00
60.00
70.00
80.00
90.00
100.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
5
0
0
0
0

0
0
0
0
Z
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
0
JumIah data (titik)
w
a
|
l
u

(
d
e
l
|
|
)
2 proc - 0eorelr|
1 proc - 0eorelr|
8 proc - 0eorelr|
2 proc - Pers.L|r
1 proc - Pers.L|r
8 proc - Pers.L|r
2 proc - 0elerr|rar
1 proc - 0elerr|rar
8 proc - 0elerr|rar
aktu Eksekusi Paralel - Distribusi Data Grid
0.00
10.00
20.00
30.00
40.00
50.00
60.00
70.00
80.00
90.00
100.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
5
0
0
0
0

0
0
0
0
Z
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
0
JumIah data (titik)
w
a
|
l
u

(
d
e
l
|
|
)
2 proc - 0eorelr|
1 proc - 0eorelr|
8 proc - 0eorelr|
2 proc - Pers.L|r
1 proc - Pers.L|r
8 proc - Pers.L|r
2 proc - 0elerr|rar
1 proc - 0elerr|rar
8 proc - 0elerr|rar
47


Gambar 4.6. Waktu Eksekusi Algoritma Triangulasi Delaunay Paralel pada Empat dan
Delapan Prosesor

a. 0|agrar wa|lu E|se|us| 0elr| Para|e| - 2 proc - Velode Pers.L|rear - 0|slr|ous| 0ala 3eragar
39.7000
$Iave 1 idle receive Detri send idle
Master
dekomposisi
data
send Detri receive Merge
t
0 6.953 t1 3.021 t2 42.330 t3 8.701 t4 16.700 t5

o. 0|agrar wa|lu E|se|us| 0elr| Para|e| - 2 proc - Velode Pers.L|rear - 0|slr|ous| 0ala 0r|d
47.2340
$Iave 1 idle receive Detri send idle
Master
dekomposisi
data
send Detri receive Merge
t0 7.602 t1 4.712 t2 50.903 t3 9.312 t4 14.220 t5

Gambar 4.7. Diagram Waktu Eksekusi Algoritma Detri Paralel dengan Dua Prosesor
aktu Eksekusi Paralel 4 prosesor
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
4
0
0
0
0
5
0
0
0
0
6
0
0
0
0
7
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
JumIah Data (Titik)
w
a
|
l
u

(
0
e
l
|
|
)
0eor-3rg
0eor-0r|d
L|r-3rg
L|r-0r|d
0el-3rg
0el-0r|d
aktu Eksekusi Paralel 8 Prosesor
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
4
0
0
0
0
5
0
0
0
0
6
0
0
0
0
7
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
E
+
0
5
JumIah Data (Titik)
w
a
|
l
u

(
0
e
l
|
|
)
0eor-3rg
0eor-0r|d
L|r-3rg
L|r-0r|d
0el-3rg
0el-0r|d
48
Selanjutnya ingin diketahui waktu eksekusi algoritma triangulasi Delaunay
paralel dengan komposisi data campuran, yaitu dalam satu bidang terdapat sebagian titik
yang berdistribusi grid dan sebagian lainnya berdistribusi seragam. Untuk keperluan
tersebut dibuat data dengan komposisi yang dapat dilihat pada Gambar 4.8 berikut ini.

(a) (b)

(c) (d)
Gambar 4.8. Distribusi Data Campuran Grid - Seragam
Pada Gambar 4.8.a 25 data berdistribusi grid dan lainnya berdistribusi seragam,
Gambar 4.8.b perbandingan grid : seragam 50 : 50 , sedangkan Gambar 4.8.c
perbandingan grid : seragam 75 : 25 , dan Gambar 4.8.d perbandingan
grid : seragam 100 : 0 . Untuk data dengan 10000 titik dihasilkan triangulasi
Delaunay seperti pada Gambar 4.9 berikut ini.
49

(a)

(b)

(c)
Gambar 4.9. Triangulasi Delaunay dengan Distribusi Campuran

50
Gambar 4.9.a menunjukkan hasil triangulasi data dengan komposisi distribusi data
grid : seragam 25 : 75 . Gambar 4.9.b menunjukkan hasil triangulasi data dengan
komposisi distribusi grid : seragam 50 : 50 . Gambar 4.9.c, menunjukkan hasil
triangulasi data dengan komposisi distribusi grid : seragam 75 : 25. Untuk
mengetahui waktu eksekusi paralel dari distribusi data semacam ini, maka tiap kuadran
diproses pada prosesor yang berbeda.
Dalam kasus candi Borobudur distribusi titik-titiknya simetris pada keempat
sudutnya (lihat Gambar 4.10), sehingga apabila bidang pada candi Borobudur dibagi
menjadi empat kuadran, tiap kuadrannya mengandung komposisi grid yang hampir
sama persentasenya, dan membentuk distribusi yang unik berbeda dengan distribusi
campuran yang ada di Gambar 4.8. asil triangulasinya dapat dilihat pada Gambar 4.11.

Gambar 4.10. Distribusi Titik Pada Citra Candi Borobudur
51

Gambar 4.11. Triangulasi Delaunay dari Citra Candi Borobudur

asil pengukuran waktu eksekusi algoritma triangulasi Delaunay paralel dengan
empat prosesor, dan dengan 10000 titik yang berdistribusi campuran grid-seragam dan
distribusi Borobudur dapat dilihat pada Tabel 4.2 serta graIiknya dapat dilihat pada
Gambar 4.12.

Tabel 4.2. Waktu Eksekusi (detik) Algoritma Detri Paralel dari 10000 Titik dengan
Distribusi Campuran pada Empat Prosesor Paralel

Distribusi
Grid : Seragam
Metode Uji ncircle
Geometri Pers Linear Determinan
0 : 100 0.451 0.646 0.304
25 : 75 0.442 0.627 0.276
50 : 50 0.433 0.611 0.247
75 : 25 0.398 0.589 0.238
100 : 0 0.236 0.599 0.230
Borobudur 0.274 0.609 0.292

52
aktu Eksekusi Detri ParaIeI 4 Prosesor - 10000 Titik -
Distribusi Campuran
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0

%

:

1
0
0

%
2
5

%

:

7
5

%
5
0

%

:

5
0

%
7
5

%

:

2
5

%
1
0
0

%

:

0

%
B
o
r
o
b
u
d
u
r
Distribusi Grid : $eragam
w
a
|
l
u

(
d
e
l
|
|
)
Geometri
Pers.Linear
Determinan

Gambar 4.12. Waktu Eksekusi Algoritma Triangulasi Delaunay Paralel dengan Empat
Prosesor - 10000 Titik - Distribusi Campuran

Nilai-nilai pada Tabel 4.2, kolom geometri, baris 1-4 turun sedikit demi sedikit,
sedangkan pada baris 5 nilainya turun drastis dan pada baris 6 naik lagi. al ini lebih
jelas dilihat pada graIik garis warna hitam pada Gambar 4.12. Keadaan ini disebabkan
karena perbedaan jumlah langkah eksekusi pada rumus Persamaan 3.24 dan 3.28. Jika
algoritma uji incircle menjumpai titik-titik yang berdistribusi grid (selisih koordinatnya
lebih kecil dari nilai ambang batas), maka uji incircle menggunakan rumus Persamaan
3.24, tetapi apabila menjumpai titik-titik yang berdistribusi seragam (selisih
koordinatnya lebih besar dari nilai ambang batas), maka uji incircle diselesaikan dengan
Persamaan 3.28. Selama di dalam prosesor-prosesor paralel masih terdapat komputasi
data yang berdistribusi non grid yang diselesaikan dengan Persamaan 3.28 yang jumlah
langkahnya lebih banyak, maka menyebabkan beban komputasi dari tiap prosesornya
tidak sama. asilnya waktu komputasi total dipengaruhi oleh prosesor yang paling
lambat. Pada algoritma triangulasi Delaunay yang menggunakan uji incircle geometri
makin sedikit prosesor yang mengerjakan data seragam , maka waktu eksekusi totalnya
makin cepat. al ini bukan karena rata-rata waktu komputasi lokalnya lebih cepat,
tetapi karena waktu pengabungan datanya lebih cepat. Keadaan ini lebih jelas
53
ditunjukkan oleh algoritma paralel yang semua prosesornya mengerjakan data grid
(Tabel 4.2, kolom geometri, baris 5). Waktu eksekusinya jauh lebih cepat, karena
komputasi lokal di tiap prosesor relatiI lebih cepat dan penggabungannya juga relatiI
lebih cepat. Keadaan ini juga mirip dengan data yang berdistribusi Borobudur.
Distribusi data pada tiap prosesor sama sehingga beban komputasinya sama, tetapi
karena masing-masing prosesor masih mengerjakan sebagian data non grid maka waktu
eksekusi totalnya tidak secepat prosesor-prosesor yang semuanya mengerjakan data
berdistribusi grid.
Untuk algoritma triangulasi Delaunay paralel yang menggunakan uji incircle
metode persamaan linear, waktu eksekusinya paling tinggi untuk semua keadaan data
(lihat graIik garis warna merah pada Gambar 4.12). Naik-turunnya waktu eksekusi total
tidak dipengaruhi oleh komposisi distribusi data, tetapi karena proses penggabungan
datanya. Makin banyak prosesor yang mengerjakan data grid maka makin cepat proses
penggabungannya. Sementara itu, waktu eksekusi total algoritma triangulasi Delaunay
paralel yang menggunakan uji incircle metode determinan rata-rata paling cepat.
Penurunan waktu eksekusi total juga dipengaruhi oleh waktu pengabungan datanya.

22 $peedup Komputasi Paralel
GraIik speedup komputasi paralel dapat dilihat pada Gambar 4.13. Gambar
tersebut hanya menampilkan speedup paralel pada dua, empat, dan delapan prosesor,
sedangkan untuk speedup enambelas dan tigapuluh dua prosesor tidak ditampilkan di
sini, karena eIisiensinya rendah. asil perhitungan speedup selengkapnya dapat dilihat
pada Lampiran 1, Tabel L1.10-15. Dari gambar tersebut speedup baru dapat
dibandingkan setelah jumlah datanya mencapai 10000 ke atas. al ini disebabkan
karena untuk data yang jumlahnya kurang dari 1000 titik pada satu prosesor waktunya
tidak terukur. al ini dapat dilihat pada tabel waktu eksekusi komputasi paralel yang
terdapat pada Lampiran L1.4 - 9. Dari Gambar 4.13 tidak terlihat adanya perbedaan
karakteristik dari masing-masing metode dan distribusi data. Namun bila dilihat pada
Gambar 4.14, yaitu perbandingan speedup pada empat dan delapan prosesor saja terlihat
bahwa uji incircle dengan metode geometri untuk data yang berdistribusi grid
menunjukkan speedup tertinggi pada data yang berjumlah lebih dari 40000 titik.
54

Gambar 4.13. $peedup Paralel Algoritma Triangulasi Delaunay dengan Tiga Macam
Metode ncircle dan Dua Macam Distribusi Data

Speedup Paralel - Distribusi Data Seragam
0.00
1.00
2.00
3.00
1.00
5.00
.00
Z.00
8.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
5
0
0
0
0

0
0
0
0
Z
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
0
Jumlah data (titik)
3
p
e
e
d
u
p
2 proc - 0eorelr|
1 proc - 0eorelr|
8 proc - 0eorelr|
2 proc - Pers.L|r
1 proc - Pers.L|r
8 proc - Pers.L|r
2 proc - 0elerr|rar
1 proc - 0elerr|rar
8 proc - 0elerr|rar
Speedup Paralel - Distribusi Data Grid
0.00
1.00
2.00
3.00
1.00
5.00
.00
Z.00
8.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
5
0
0
0
0

0
0
0
0
Z
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
0
JumIah Data (titik)
3
p
e
e
d
u
p
2 proc - 0eorelr|
1 proc - 0eorelr|
8 proc - 0eorelr|
2 proc - Pers.L|r
1 proc - Pers.L|r
8 proc - Pers.L|r
2 proc - 0elerr|rar
1 proc - 0elerr|rar
8 proc - 0elerr|rar
55


Gambar 4.14. $peedup Komputasi Paralel Algoritma Triangulasi Delaunay pada Empat
dan Delapan Prosesor

2 Efisiensi
Pada Gambar 4.15 hanya ditunjukkan eIisiensi algoritma triangulasi Delaunay
paralel pada dua, empat, dan delapan prosesor saja, sedangkan eIisiensi pada enambelas
dan tigapuluh dua prosesor dapat dilihat pada Lampiran L1.16 - 21. Dari gambar
tersebut dapat terlihat dengan jelas bahwa eIisiensi proses paralel rata-rata dicapai pada
jumlah prosesor empat dan delapan untuk semua metode dan distribusi data. Kurang
dari empat prosesor atau lebih dari delapan prosesor tidak eIisien karena biaya
komunikasi yang terlalu mahal, selain itu telah ditunjukkan pula pada Gambar 4.7
bahwa komputasi lokal cukup mahal apabila hanya menggunakan dua prosesor. Dari
kedua jumlah prosesor ini dapat dilihat penampilan waktu eksekusi paralel dari seluruh
Speedup Algoritma Paralel 4 Prosesor
0.00
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
5
0
0
0
0

0
0
0
0
Z
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
0
Jumlah Data (Titik)
3
p
e
e
d
u
p
Geom-Srg
Geom-Grid
Lin-Srg
Lin-Grid
Det-Srg
Det-Grid
Speedup Algoritma Paralel 8 Prosesor
0.00
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
5
0
0
0
0

0
0
0
0
Z
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
0
Jumlah Data (Titik)
3
p
e
e
d
u
p
Geom-Srg
Geom-Grid
Lin-Srg
Lin-Grid
Det-Srg
Det-Grid
56
metode yang dibandingkan dan seluruh jenis distribusi data pada Gambar 4.6, dan
karakteristik speedup yang ditunjukkan oleh Gambar 4.13. $peedup tertinggi untuk
empat prosesor adalah 3.59 dan eIisiensinya 89.75 dicapai dengan jumlah data
100000 titik, dan speedup tertinggi untuk delapan prosesor adalah 7.3 dan eIisiensinya
91.25 yang dicapai pada saat jumlah datanya 100000 titik.




Gambar 4.15. EIisiensi Algoritma Triangulasi Delaunay dengan Tiga Macam Metode
ncircle dan Dua Macam Distribusi Data



Efisiensi (%) - Distribusi Data Seragam
0.00
10.00
20.00
30.00
10.00
50.00
0.00
Z0.00
80.00
90.00
100.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
5
0
0
0
0

0
0
0
0
Z
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
Jumlah Data (titik)
E
l
|
s
|
e
r
s
|

(

)
2 proc - 0eorelr|
1 proc - 0eorelr|
8 proc - 0eorelr|
2 proc - Pers.L|r
1 proc - Pers.L|r
8 proc - Pers.L|r
2 proc - 0elerr|rar
1 proc - 0elerr|rar
8 proc - 0elerr|rar
Efisiensi (%) - Distribusi Data Grid
0.00
10.00
20.00
30.00
10.00
50.00
0.00
Z0.00
80.00
90.00
100.00
1
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
5
0
0
0
0

0
0
0
0
Z
0
0
0
0
8
0
0
0
0
9
0
0
0
0
1
0
0
0
0
Jumlah Data (titik)
E
l
|
s
|
e
r
s
|

(

)
2 proc - 0eorelr|
1 proc - 0eorelr|
8 proc - 0eorelr|
2 proc - Pers.L|r
1 proc - Pers.L|r
8 proc - Pers.L|r
2 proc - 0elerr|rar
1 proc - 0elerr|rar
8 proc - 0elerr|rar
57
BAB V
APLIKASI REKONSTRUKTOR OBYEK TIGA DIMENSI

51 Rekonstruktor Berbasis Sistem Stereo
Diagram blok rancangan sistem rekonstruktor obyek tiga dimensi yang berbasis
sistem stereo dapat dilihat pada Gambar 5.1 berikut ini.

Gambar 5.1. Rancangan Rekonstruktor Obyek Tiga Dimensi Berbasis Sistem Stereo

Masukan berupa citra berpasangan (citra kiri dan citra kanan), yaitu citra yang
diambil dari suatu obyek dengan sudut pandang yang berbeda. Dari kedua citra tersebut
diekstrak titik-titik ciri-cirinya dengan menggunakan detektor sudut Sojka |36| yang
dibahas pada Bagian 5.1.1. Titik-titik ciri-ciri dari kedua citra dikorelasikan dengan
metode korelasi Ramalingam |32|, yang dibahas pada Bagian 5.1.2. Pasangan titik yang
memiliki skor korelasi yang lebih besar dari nilai ambang batas yang ditentukan
dianggap sebagai titik-titik yang berasal dari obyek asalnya. Dari tiap pasangan titik
yang diperoleh dilakukan rekonstruksi untuk mendapatkan dimensi ke tiga (sumbu :).
Metode yang digunakan untuk hal ini adalah metode baseline stereo system |32|, yang
dibahas pada Bagian 5.1.3. Titik-titik yang diperoleh saat ini adalah titik-titik tiga
dimensi yang berbasis pada bidang datar. Sumbu x dan y dari titik-titik tersebut
ditriangulasi dengan menggunakan triangulasi Delaunay paralel dengan menggunakan
metode yang telah dibahas pada Bab 3 dan 4. asilnya berupa jala-jala segitiga
triangulasi, kemudian pada tiap titik jala-jala segitiga tersebut diangkat sesuai dengan
nilai sumbu : masing-masing. asilnya divisualisasi pada layar monitor dengan
menggunakan Matlab. Algoritma triangulasi Delaunay dengan menggunakan metode uji
58
Geometri tidak dapat memperbaiki kualitas hasil rekonstruksi tetapi hanya mempercepat
proses rekonstruksi.
511 Detektor Sudut Sojka
Rekonstruktor obyek biasanya menggunakan citra digital untuk mendapatkan
inIormasi yang dibutuhkan. Citra digital dapat direpresentasikan sebagai matrik.
Elemen-elemen matrik menyatakan kecerahan (brightness) atau intensitas (intensity)
komponen-komponen warna dari titik (pixel) yang letaknya sesuai dengan elemen
matrik. Agar dapat memprediksi obyek lebih baik dibutuhkan titik yang lebih banyak,
dengan resiko kebutuhan memori yang besar. Cara terbaik adalah memilih titik-titik
penting sedemikian rupa sehingga titik yang diambil tidak terlalu banyak tetapi
inIormasi dari citra tidak terlalu banyak yang hilang. Cara ini disebut 1eature extraction
yang merupakan bagian dari bidang pengolahan citra digital.
Sojka |36| menyebutkan ada dua macam cara 1eature extraction, yaitu deteksi
tepi dan deteksi sudut. Yang dimaksud dengan tepi obyek adalah titik-titik yang
memiliki intensitas cahaya yang berbeda cukup jauh dari titik-titik sekitarnya.
Sedangkan yang dimaksud sudut (corner) adalah titik pada tepi obyek yang memiliki
perubahan arah (belokan) yang cukup tajam. Sudut dapat juga dideIinisikan sebagai
perpotongan dari beberapa segmen garis tepi.
Masing-masing metode deteksi memiliki sub metode yang cukup banyak, tetapi
berdasarkan Ballard dan Brown |3| metode deteksi citra yang baik adalah metode yang
dapat mengeliminasi derau (noise) yang semaksimal mungkin. Berdasarkan pada
petunjuk tersebut maka pada tulisan ini yang dibahas adalah metode deteksi tepi Sobel
|3| dan metode deteksi sudut Sojka |36|.

Deteksi Tepi

Deteksi tepi dihitung berdasarkan pada batas ambang dari besaran gradien.
Untuk suatu citra kontinyu 1(x,y), turunan pertamanya dapat menghasilkan maksimum
lokal dalam arah tepi obyek yang akan dideteksi.

59


Gambar 5.2. Gradien dari Citra 1x,y) dalam Arah r |24|

Pada Gambar 5.2, tepi citra adalah suatu Iungsi kontinyu 1(x,y). Gradien dari
1(x,y) dengan arah r dapat dihitung seperti berikut ini.

7 7 sin cos ) , (
'
y x
1 1
r
y
y
1
r
x
x
1
r
1
y x 1 + =

= (5.1)

Nilai maksimum
r
1

diperoleh pada saat 0 =


'
+

'

'
+

'

r
1
7
. Dari persamaan (5.1) dapat
diperoleh
0 cos sin = +
g y g x
1 1 7 7 (5.2)

sehingga arah dari tepi obyek 7
g
adalah :

'
+

'

=

x
y
g
1
1
1
tan 7 (5.3)
dan nilai dari gradien maksimum adalah :


2 2
max
y x
1 1
r
1
+ =
'
+

'

(5.4)

Berdasarkan pada konsep di atas, diperoleh operator deteksi tepi gradien, yang
dalam perhitungan direpresentasikan sebagai sepasang kedok (mask), yaitu H
1
dan H
2
.
Penggunaannya dapat dilihat pada Gambar 5.3. Untuk gradien dua arah dideIinisikan
sebagai:
g
1
(m,n) u, H
1
~
m,n
yaitu hasil konvolusi antara u dan H
1
dan
7
1
x
7
g
n
r
tepi
1
y
60

g
2
(m,n) u, H
2
~
m,n
yaitu hasil konvolusi antara u dan H
2










Gambar 5.3. Diagram Blok untuk Algoritma Deteksi Tepi dengan Batas Ambang
(threshold) dari Sebaran Gradien |24|

Besaran dan arah vektor gradien adalah :
) , ( ) , ( ) , (
2
2
2
1
n m g n m g n m g + = (5.5)

) , (
) , (
tan
1
2 1
n m g
n m g
g

= 7 (5.6)

Lokasi pixel (m,n) dinyatakan sebagai lokasi tepi citra jika g(m,n) melebihi nilai ambang
batas (threshold) t tertentu. Lokasi dari titik-titik tepi akan membentuk suatu citra
terdeteksi tepi 1(m,n) yang dideIinisikan sebagai :


|
,
|
=
, 0
) , ( , 1
) , (
lainnya
n m
n m
g
1 (5.7)
dengan
g
(m,n); g(m,n) ~ t <

Operator gradien yang digunakan dalam tulisan ini adalah operator Sobel.
Dipilih operator Sobel karena lebih sensitiI untuk tepi-tepi diagonal |28|. Tepi diagonal
akan mempunyai tanggapan yang sama terhadap operator Sobel dalam dua arah
orientasinya (horizontal dan vertikal). Kedua operator tersebut dapat dilihat pada
Gambar 5.4.a dan b.

-1 0 1 1 2 1
-2 0 2 0 0 0
-1 0 1 -1 -2 -1
(a) (b)

Gambar 5.4. Kedok Operator Sobel orizontal (a) dan Vertikal (b)

Berdasarkan pada Gambar 5.3, Gambar 5.4.(a) adalah H
1
dan Gambar 5.4.(b) adalah H
2
.
um,n)

g
1
m,n)



2
2
2
1
g g g + =

'
+

'

=

1
2 1
tan
g
g
g
7

0 1
threshold
H
1
H
2
g
2
m,n)

61
Deteksi Sudut

Algoritma yang termasuk dalam deteksi sudut cukup banyak. Algoritma-
algoritma tersebut menurut Sojka |36| digolongkan menjadi dua macam, yaitu : detektor
langsung dan detektor yang berdasarkan batas. Detektor langsung adalah detektor tepi
yang bekerja langsung menggunakan nilai kecerahan citra. Algoritma ini biasanya
menggunakan turunan dari Iungsi kecerahan, misalnya menggunakan besaran dan arah
gradien dari Iungsi kecerahan. Contoh dari algoritma yang termasuk detektor langsung
adalah detektor Beaudet, detektor Kitchen dan RosenIeld, detektor arris dan Stephens,
detektor Noble, detektor Deriche dan Giraudon, detektor SUSAN, dan detektor Sojka
|36|. Detektor yang berdasarkan batas adalah detektor yang bekerja berdasarkan pada
batas tepi obyek, kemudian hasilnya dianalisis untuk mendapatkan sudut. Deteksi batas
tepi dilakukan dengan menggunakan detektor tepi yang ada. Detektor tepi perlu
dilakukan secara eksplisit untuk melokalisir pencarian sudut |36|.
Pada tulisan ini titik-titik penting pada citra diambil berdasarkan sudut citra.
Yang dimaksud dengan sudut citra adalah titik (pixel) pada citra yang menunjukkan
perubahan arah batas obyek yang paling drastis. Secara visual titik sudut citra
digambarkan pada Gambar 5.5 berikut ini. Batas obyek ditunjukkan oleh garis tebal dan
sudut ditunjukkan oleh lingkaran kecil. Lingkaran kecil terletak pada garis tebal yang
perubahannya paling drastis.


Gambar 5.5. Contoh Citra dengan Batas Obyek (garis tebal) dan Sudut (lingkaran kecil)

Ada beberapa pola batas obyek yang padanya dapat dideteksi adanya sudut.
Pada Gambar 5.6 ditunjukkan beberapa pola tersebut. Gambar 5.6.a-c adalah pola L,
Gambar 5.6.d adalah pola T, Gambar 5.6.e adalah pola Y, dan Gambar 5.6.I adalah pola
X.
62


Gambar 5.6. Pola Citra yang Dapat Dideteksi Sebagai Sudut |36|

Untuk pembahasan selanjutnya diambil kasus sudut yang didapat dari pola L.
Kalau tingkat kecerahan (brightness) titik-titik di sekitar citra dipetakan ke dalam Iungsi
kecerahan, maka Iungsi tersebut berbentuk seperti Gambar 5.7. Lingkaran kecil
menunjukkan titik sudut yang dideteksi, dan garis tebal menunjukkan batas obyek.
Selanjutnya dibuat model matematika untuk titik sudut pola L |36|.
Dilambangkan suatu Iungsi () yang menyatakan nilai kecerahan yang arahnya
melintasi batas obyek. Berdasarkan pada Gambar 5.7 Iungsi () digambarkan terpisah
pada graIik Gambar 5.8. Fungsi () memiliki turunan positiI di semua titik, dengan
maksimum tunggal pada 0, yang menyatakan perpotongan dengan batas obyek.



Gambar 5.7. Fungsi Kecerahan dari Titik-titik di sekitar Titik Sudut Pola L.


63

Gambar 5.8. Nilai Kecerahan dengan Arah Melintasi Batas Obyek

Titik sudut dari pola L dapat digambarkan pula sebagai perpotongan dua garis
yang tidak berimpit. Arah tegak lurus dengan sisi yang berorientasi pada bagian yang
memiliki kecerahan lebih tinggi dilambangkan dengan , dan selanjutnya disebut
gradien. Untuk dua sisi yang menuju dan menjauh dari sudut terdapat gradien
1
dan
2

(0,2x). Sojka |36| mendeIinisikan dua titik asal gradien sebagai n
i
(cos
i
, sin
i
),
i 1,2. Sumbu sudut adalah garis yang melintasi sudut dan membagi dua sudut antara
kedua batas obyek, dengan demikian membagi pula sudut antara
1
dan
2
. Sudutnya
cembung bila n
1
x n
2
~ 0 atau (cos
1
sin
2
- sin
1
cos
2
) ~ 0. Misalnya citra hanya
memiliki satu sudut cembung di titik C, maka Iungsi kecerahan yang dilambangkan
dengan b(X) untuk citra semacam ini memiliki persamaan:


|
,
|
- -
> L - -
=
lainnya yang untuk ))< ( ( )), ( ( max
0 jika ))< ( ( )), ( ( min
) (
2 1
2 1 2 1
C X n C X n
n n C X n C X n
X b


(5.8)

Tanda - adalah perkalian vektor (dot product). Faktor n
i
- (X-C) menyatakan jarak
bertanda X dari sisi yang ke i.
Jika persamaan (5.8) diterapkan pada citra yang tak terhingga besarnya, maka
akan terbentuk isoline, yaitu garis yang menghubungkan titik-titik dengan turunan
maksimum (pada Gambar 5.7 ditunjukkan dengan dua garis lurus tebal yang bertemu
pada titik sudut). Pada sepanjang isoline, terdapat besaran gradien kecerahan yang sama,
dan dari dua potong garis yang membentuk isoline terdapat titik dengan besaran gradien
kecerahan yang paling besar. Titik tersebut dapat dideteksi sebagai titik sudut.
Algoritma deteksi sudut dimulai dengan menghitung besaran dan gradien arah,
masing-masing gx) dan x), untuk setiap titik (pixel) citra. Titik citra yang memiliki
64
besaran dan gradien arah lebih besar daripada nilai ambang batas (threshold) yang
ditentukan akan menjadi calon titik sudut. Terhadap titik-titik yang telah terpilih (Q),
dihitung nilai rata-ratanya 3

Q), deviasi standar 9

Q), respons sudut (corner


response) CorrQ), dan skor kecerahan (apparency) pparQ). Nilai-nilai tersebut
dirumuskan sebagai berikut :



=
i
i
x
i
x
i i
x w
x x w
) (
) ( ) (
3

(5.9)
dimana
- 3

adalah rata-rata terbobot dengan pembobot )) ( ( ) ( ) ( x r w x P x w


r $
= .
- w
r
rx)) adalah Iungsi pembobot yang bernilai positiI dengan parameter jarak
rx).
- P
$
x) adalah probabilitas kejadian dimana titik xQ) menjadi bagian dari
segmen garis isoline yang mengandung Q.
Agar dapat lebih memahami tentang masalah ini, perhatikan Gambar 5.9 berikut ini.

Gambar 5.9. Memprediksi Probabilitas x pada soline untuk Menentukan Bobot
w(x)|36|.

Garis penuh pada Gambar 5.9 adalah isoline yang melewati calon titik sudut Q.
X adalah titik tetangga Q yang akan dicari probabilitasnya. Garis tebal menyatakan
segmen isoline yang mengarah ke Q. (x) adalah gradien arah titik x, dan px adalah
garis yang tegak lurus terhadap arah (x) dan melewati x. d(x) adalah simpangan (jarak)
x terhadap segmen isoline, dan h(x) adalah simpangan Q terhadap px. P
$
x) diprediksi
dengan persamaan berikut ini:

|
,
|

'
+

'

)) ( ( ,
) ( ) (
) ( 2
min ) ( y h Pd
Q g y g
y b
Pd x P
QX y
$ (5.10)
65
dimana b(y) b(y) - b(Q), yaitu selisih nilai kecerahan titik-titik tetangga sepanjang
segmen isoline QX dengan nilai kecerahan titik sudut Q.
P
$
x) adalah nilai minimum probability density (Pd) antara gradien dengan simpangan
Q terhadap px, yang dicari sepanjang segmen isoline QX .

)

=
i
i
x
i
x
i i
x w
x x w
) (
) ( ) (
2
2

3
9
(5.11)
) ( ) ( ) (
2
Q Q g Q Corr

9 = (5.12)


=
i
x
i i i $
x x g x P Q ppar

3 ) ( ) ( ) ( ) ( (5.13)

Berdasarkan pada teorema yang dikemukakan Sojka |36| , Iungsi 9
2

Q) bernilai
maksimum pada titik yang terletak pada sumbu sudut. Pada titik tersebut nilai 3

Q)
menyatakan arah sumbu sudut, dan nilai x-29

Q) menyatakan sudut yang dicari.


Dari penjelasan tentang deteksi tepi dan deteksi sudut diatas, dapat diketahui
bahwa deteksi tepi menghasilkan garis tepi dari citra obyek. Untuk mendapatkan titik
ciri-ciri dari obyek tersebut dapat dilakukan dengan mengambil titik tepi dengan skala
tertentu. Kelemahannya adalah ciri-ciri obyek hanya diperoleh dari tepinya saja, padahal
bagian lain dari obyek tersebut kemungkinan juga bisa menjadi ciri-ciri penting. Deteksi
sudut menghasilkan titik ciri-ciri dari obyek tidak hanya dari tepi citra tetapi juga dari
titik-titik lainnya yang terpilih oleh detektor sudut yang digunakan. Oleh karena itu
dalam pembangunan aplikasi rekonstruktor berbasis sistem stereo ini, titik-titik masukan
diperoleh dari ekstraksi ciri dengan menggunakan detektor sudut Sojka |36|
Gambar 5.10 berikut ini adalah tampilan awal aplikasi beserta dengan citra kiri
dan citra kanan yang berupa model limas.
66

Gambar 5.10. Tampilan Aplikasi Detektor Obyek Tiga Dimensi Berbasis Sistem Stereo

Parameter-parameter yang digunakan untuk deteksi sudut Sojka adalah:
Hal1PsgMask : setengah dari ukuran mask. Seluruh mask adalah ukuran titik tetangga
yang digunakan untuk mencari kandidat titik sudut. Jadi seluruh mask adalah
(2* Hal1PsgMask1). Nilai terbaik dapat ditentukan antara 4 sampai dengan 7
|36|.
Hal1ExtMask$i:e : Ukuran daerah dimana Iungsi respon sudut (corr)) maksimum di
sekitar dan pada titik yang diuji. Nilainya dapat ditentukan 1, artinya ukuran
daerah yang diuji 3 x 3 pixel dengan titik yang diuji berada di tengah.
pparenceThreshold : pparence adalah kombinasi antara kontras dengan bentuk sudut
yang mungkin. Bila nilainya lebih besar daripada nilai ambang yang
ditentukan (pparenceThreshold), maka titik tersebut dapat dianggap sebagai
sudut. Nilainya dapat ditentukan antara 0.0 sampai dengan 5.0. Makin besar
nilai ambang, maka makin banyak sudut yang ditemukan |36|.
ngleThreshold : Batas ambang patahan pada titik sudut. Jika nilainya lebih besar
daripada ambang batas yang ditentukan, maka titik tersebut dapat dianggap
sebagai titik sudut. Besarnya nilai ambang batas ditetapkan sebesar 0.5, yaitu
ukuran sudut dalam radian.
Noiseradient$i:eThreshold : Menyatakan batas ambang gradien kecerahan. Bila nilai
gradien kecerahan lebih kecil dari nilai ambang yang ditetapkan maka titik
tersebut dianggap noise, dan diabaikan dalam perhitungan. Nilainya ditetapkan
antara 0.04-0.08.
67
Meanradient$i:eThreshold : Ambang batas untuk nilai rata-rata besaran gradien
(gradient magnitude) di sekitar daerah sudut. Nilai ini hanya digunakan untuk
uji akhir penentuan sudut.
$igmaD : Sigma (9) untuk distribusi kepadatan probabilitas (porbability density).
Nilainya antara 0.0 dan 1.0.
$igmaR : Sigma untuk aussian yang menyatakan Iungsi w
r
), yaitu bobot tergantung
dari jarak kandidat titik yang sedang diproses. Nilainya ditetapkan antara 2.5-
3.5.
nertiaRadiusThreshold : Ambang batas radius inertia daerah sudut. Radius menyatakan
ukuran daerah titik sudut. Nilainya ditetapkan antara 0-3. Makin besar radius
maka makin besar sudut yang diinginkan.
Nilai-nilai ambang batas terbaik yang disebutkan diatas adalah nilai-nilai terbaik
menurut hasil uji coba yang dilakukan oleh Sojka |36|. Namun pada kenyataannya,
untuk mendapatkan titik-titik sudut terbaik sesuai dengan citra masukan harus
ditentukan kombinasi nilai-nilai secara trial and error. Nilai-nilai parameter untuk
mendeteksi titik-titik sudut pada citra masukan dapat dilihat pada Gambar 5.11 dan hasil
deteksinya dapat dilihat pada Gambar 5.12.

Gambar 5.11. Nilai-nilai Parameter Deteksi Sudut
68

Gambar 5.12. asil Deteksi Sudut
Titik-titik merah pada Gambar 5.12 adalah titik-titik sudut hasil deteksi masing-
masing citra. Nilai-nilai koordinat dari tiap titik ditampilkan di samping kanan tiap citra.

512 Korelasi
Teori yang mendasari perhitungan skor korelasi ini adalah sebagai berikut.
Gambaran tentang korelasi dari titik-titik pada citra kiri dan titik-titik pada citra kanan
dapat dilihat pada Gambar 5.13.

Gambar 5.13. Menentukan Korespondensi Awal dengan Menghitung Skor Korelasi
|32|.

Pada Gambar 5.13 m1 menyatakan salah satu titik sudut pada citra kiri.
Kemudian ditentukan daerah tetangga dengan luas (2n1)(2m1) dengan m1 sebagai
69
titik tengah dan m dan n adalah panjang dan lebar daerah tetangga (dalam pixel).
Kandidat pasangannya di citra kanan dicari dengan daerah pencarian seluas
(2d
u
1)(2d
v
1), dengan d
u
dan d
v
masing-masing adalah panjang dan lebar daerah
pencarain yang letaknya sesuai dengan m1 (lihat Gambar 5.13).
Skor korelasi digunakan untuk menyatakan korelasi antara m1 dengan titik-titik
pada citra kanan yang terletak di dalam daerah pencarian. Rumus dari skor korelasi
adalah :
) )
) ( ) ( ) 1 2 )( 1 2 (
) , ( ) , ( ) , ( ) , (
) , (
2
2
1
2
2 2 2 2 2 2 1 1 1 1 1 1
2 1
x m n
v u f v i u x v u f v i u
m m score
n
n i
m
m f
9 9 + +
+ + + +
=

= = (5.14)
Dengan ) , (
1 1 1
v u adalah rata-rata nilai citra pada titik (u
1
,v
1
), yaitu titik-titik pada
daerah korelasi. Rumusnya adalah :
)

= =
+ + + + =
n
n i
m
m f
k k
f v i u v u 1) 1)(2m (2n / ) , ( ) , ( (5.15)
dan o(
k
) adalah standar deviasi nilai citra
k
pada daerah tetangga seluas
(2n1)(2m1) dan titik pusat (u,v). Rumusnya adalah :
) , (
) 1 2 )( 1 2 (
) , (
) (
2
v u
m n
v u

k
n
n i
m
m f
k
k

+ +
=

= =
9 (5.16)
Skor korelasi bervariasi dari 1 untuk dua correlation window yang berbeda sama
sekali, hingga 1 untuk dua correlation window yang identik. Titik-titik kandidat
pasangan ditentukan dari nilai korelasi yang lebih dari ambang batas yang ditentukan.
asil dari skor korelasi adalah pasangan 1-n. Untuk mendapatkan pasangan 1-1
digunakan teknik relaksasi (relaxation technique). Pada teknik ini akan dihitung
variabel $trength o1 a Match dari setiap titik kandidat pasangan. Gambaran tentang
teknik relaksasi ini dapat dilihat pada Gambar 5.14.
70


Ditentukan tetangga (neighbours) dari m
1i
, yaitu sekumpulan titik yang berada
disekeliling m
1i
dengan radius r. Tetangga dilambangkan dengan . (m
1i
)
menyatakan tetangga m
1i
dan (m
2i
) menyatakan tetangga m
2i
. Ilustrasinya dapat dilihat
pada Gambar 5.14 Nilai $trength o1 a Match ($
M
) diperoleh dari rumus:

+
=
) ( 2 1 2 1
2 1 2 1
) (
2 1
1 1 2 2
) , ; , ( 1
) , ; , (
) , (
max
i k f l
m n l k f i
l k f i kl
m n
if f i M
n n m m dist
n n m m c
c m m $
o
(5.17)
c
if
dan c
kl
adalah goodness dari kandidat pasangan (m
1i
, m
2f
) dan (n
1k
, n
2l
) yang nilainya
diambil dari skor korelasi yang sudah dihitung. dist(m
1i
, m
2f
; n
1k
, n
2l
) adalah jarak rata-
rata dari kedua pasangan, yaitu :
dist(m
1i
,m
2i
;n
1k
,n
2l
) |d(m
1i
, n
1k
) d (m
2f
, n
2l
)|/2 (5.18)
d(m,n) ,m n,, yaitu jarak Euclidean antara titik m dan n, sedangkan variabel
o(m
1i
,m
2i
;n
1k
,n
2l
) diperoleh dari:

,
|

=

lainnya untuk
r kandidat n n fika
n n m m
r l k
r
l k f i
e
r
0
) , (
) , ; , (
2 1
/
2 1 2 1
1
o
1
(5.19)
r adalah perbedaan jarak relatiI yang diperoleh dari:
) , ; , (
) , ( ) , (
2 1 2 1
2 2 1 1
l k f i
l f k i
n n m m dist
n m d n m d
r

= (5.20)
c
r
merupakan nilai threshold untuk perbedaan jarak relatiI r.
Tahap-tahap perhitungan tersebut berarti :
- Titik calon pasangan diperoleh dari pencocokan dengan titik-titik tetangga yang
posisinya relatiI sama.
2
7
3
97,
2
7
3
97,
Gambar 5.14. Perhitungan $trength O1 Match dengan Menggunakan
Konsep Perbandingan Neighbours |32|.
71
- Titik pasangan dipilih dari sekumpulan titik kandidat yang memiliki perbedaan
jarak terkecil.
Kandidat dipilih dengan strategi $ome-winners-take-all strategy yang
dikembangkan oleh Zhang |43|. Strategi ini menitik-beratkan pada siIat dasar dari titik-
titik yang berpasangan dengan benar. Pertama dilambangkan titik-titik yang berpotensi
sebagai titik pasangan dengan P$
i
. Kemudian dibentuk satu himpunan data,
dilambangkan dengan U
i
, yang menyatakan syarat-syarat pasangan titik yang benar,
dengan menggunakan Iormulasi sebagai berikut:
U
i
1 $M
i
(2)
/$M
i
(1)
(5.21)
$M
i
(1)
adalah nilai $
M
pada P$
i
, sedangkan $M
i
(2)
adalah kandidat dengan $
M
terbesar ke
dua. Satu pasangan titik terpilih dari sekumpulan kandidat jika dan hanya jika pasangan
titik tersebut tidak ambiguous (pasangan 1-1). Strategi inilah yang digunakan dalam
disertasi ini.
Nilai-nilai parameter untuk perhitungan korelasi dapat dilihat pada Gambar 5.15
dan hasil korelasinya dapat dilihat pada Gambar 5.16.


Gambar 5.15. Nilai-nilai Parameter untuk Perhitungan Korelasi
72

Gambar 5.16. asil Korelasi dengan DaItar Skor

51 Rekonstruksi Titik Tiga Dimensi
Korelasi dengan teknik relaksasi yang dilakukan di atas sudah cukup
menghasilkan pasangan 1-1. Rekonstruksi koordinat titik tiga dimensi dapat diperoleh
dengan baseline stereo system |32|. Sistem ini menggunakan sumbu paralel antara
sistem koordinat kamera dengan sistem koordinat acuan. Titik pusat sistem koordinat
acuan terletak di tengah-tengah antara Iokus kamera kiri dan kanan. Proses
rekonstruksinya dilakukan secara geometri dan diperjelas dengan Gambar 5.17 berikut
ini.



Gambar 5.17. Baseline $tereo $ystem
Y
p(x
l
,y
l
)
p`(x
r
,y
r
)
d
b
Y
O
p
X X
P(X,Y,Z)
O
Citra kiri
Citra kanan
73
Untuk mendapatkan nilai sumbu : dari tiap titik ciri-ciri obyek yang akan
direkonstruksi, perlu diukur disparitas d, yaitu jarak antara titik-titik ciri-ciri dari citra
kiri dan kanan yang saling berkorelasi.
d , x
l
x
r
,
Disparitas d berhubungan dengan jarak : melalui rumus berikut ini.

:
b1 d
1
= (5.22)
b dan 1 masing-masing adalah baseline (jarak antara kedua kamera) dan jarak Iokus
(jarak antara kamera dan obyek).
x bx
l
x
r
)/2d), (5.23)
y by
l
y
r
)/2d), (5.24)
dari persamaan 5.22. diperoleh
: b1/d,
Titik-titik hasil rekonstruksi, langsung ditriangulasi dan divisualisasikan. Nilai-nilai
parameter rekonstruksi dapat dilihat pada Gambar 5.18, sedangkan titik-titik hasil
rekonstruksi tiga dimensi dapat dilihat pada Gambar 5.19 dan visualisasi hasil
rekonstruksinya dapat dilihat pada Gambar 5.20.

Gambar 5.18. Nilai-nilai Parameter Rekonstruksi Titik Tiga Dimensi
74

Gambar 5.19. Titik-titik Tiga Dimensi asil Rekonstruksi


Gambar 5.20. Visualisasi Tiga Dimensi
Rekonstruktor obyek tiga dimensi berbasis sistem stereo cukup rumit, dan terlalu
banyak mencari kombinasi parameter dengan cara trial and error, hasilnya pun kurang
memuaskan. Tetapi, metode ini dapat dikembangkan lagi karena dapat digunakan untuk
sembarang distribusi data.
75

52 Rekonstruktor Berbasis Kecerahan
Diagram blok dari sistem rekonstruktor berbasis kecerahan dapat dilihat pada
Gambar 5.21.



Gambar 5.21. Diagram Blok Sistem Rekonstruktor Berbasis Kecerahan

Tampilan aplikasi rekonstruktor berbasis kecerahan beserta dengan citra
masukannya dapat dilihat pada Gambar 5.22.



Gambar 5.22. Aplikasi Rekonstruktor Berbasis Kecerahan

Kecerahan dihitung dari rata-rata nilai Red, Green, dan Blue dari tiap pixel yang
dipilih. Nilai tersebut diskala dengan ukuran skala yang ditentukan. Untuk nilai

Citra
digital

Ambil pixel
dng jarak
grid tertentu
KlasiIikasi
nilai gray
scale tiap
pixel &
konversi ke z

Triangulasi
Delaunay

Visualisasi
3D
76
kecerahan tinggi diberi skala tinggi, dan nilai kecerahan rendah diberi skala rendah.
Selanjutnya nilai tersebut menjadi nilai ketinggian dari pixel tersebut. Titik-titik (pixel)
yang diperoleh ditriangulasi, dan hasilnya diangkat sesuai dengan nilai skalanya. asil
rekonstruksi terhadap citra masukan dapat dilihat pada Gambar 5.23.
Dari hasil percobaan tersebut di atas, rekonstruksi obyek tiga dimensi berbasis
kecerahan lebih mudah dilakukan, proses triangulasinya lebih cepat dan lebih mudah
diimplementasikan pada algoritma triangulasi Delaunay paralel, tetapi hasilnya hanya
terbatas untuk citra yang dilihat tegak lurus dari depan dan pencahayaannya juga dari
depan. Untuk citra candi Borobudur seperti pada Gambar 4.10, bila direkonstruksi
dengan menggunakan rekonstruktor obyek tiga dimensi berbasis kecerahan
menghasilkan obyek tiga dimensi seperti pada Gambar 5.24 berikut ini. Citra ini tidak
dapat direkonstruksi dengan menggunakan rekonstruktor berbasis sistem stereo karena
tidak berpasangan dengan citra lain yang diambil dari obyek yang sama tetapi dengan
sudut pandang berbeda.


Gambar 5.23. Visualisasi 3D asil Rekonstruksi


77

Gambar 5.24. Obyek Tiga Dimensi asil Rekonstruksi Candi Borobudur
78
BAB VI
KESIMPULAN DAN PENELITIAN LAN1UTAN


Dari hasil uji coba dan pembuatan aplikasi yang telah dilakukan dapat diambil
beberapa kesimpulan berikut ini.
1. Dari perbandingan waktu eksekusi algoritma triangulasi Delaunay sekuensial dengan
uji legalitas metode persamaan linear, metode geometri, dan metode determinan,
yang masing-masing dicoba dengan data yang berdistribusi kurang teratur (seragam)
dan data yang berdistribusi teratur (grid), menunjukkan bahwa metode geometri
paling baik digunakan untuk data berdistribusi teratur (grid). al ini sejalan dengan
jumlah Ilop yang paling sedikit diantara seluruh metode yang dibahas.
2. Dengan menggunakan distribusi data campuran, yaitu bidang data dibagi empat
kuadran, kemudian tiap kuadran diisi data yang berdistribusi seragam atau grid.
Masing-masing kuadran dijadikan masukan bagi algoritma triangulasi Delaunay
paralel dengan empat prosesor. asilnya, semakin banyak kuadran dengan data
berdistribusi grid, yang berarti semakin banyak prosesor yang mengerjakan
komputasi dengan data grid, total waktu eksekusi makin cepat, bukan karena rata-
rata waktu komputasi di prosesor lokal makin cepat, tetapi karena proses
penggabungannya lebih cepat. Total waktu eksekusi algoritma triangulasi Delaunay
paralel dipengaruhi oleh waktu eksekusi prosesor paling lambat.
3. Untuk kasus candi Borobudur yang berbentuk segiempat yang titik-titiknya
berdistribusi grid di sekitar sudut-sudutnya dan berdistribusi radial pada bagian
tengahnya, bila dibagi menjadi empat kuadran dan masing-masing dijadikan
masukan bagi prosesor paralel yang memproses algoritma triangulasi Delaunay
menyebabkan beban bagi tiap prosesornya menjadi seimbang. asil perbandingan
waktu eksekusi dari algoritma triangulasi Delaunay paralel dengan 10000 titik dan
dengan tiga macam metode uji incircle menunjukkan bahwa algoritma triangulasi
Delaunay dengan uji incircle metode geometri menghasilkan waktu eksekusi total
tercepat, disusul dengan metode determinan dengan perbedaan waktu yang tidak
terlalu besar, dan yang paling lambat adalah dengan metode persamaan linear.
4. Waktu eksekusi paralel menunjukkan gejala yang sama dengan waktu eksekusi
sekuensialnya. Metode persamaan linear menunjukkan waktu terjelek untuk kedua
79
jenis distribusi (grid dan seragam), metode determinan menunjukkan rata-rata
terbaik untuk kedua distribusi dan metode geometri menunjukkan waktu cukup baik
untuk data yang berdistribusi kurang teratur (seragam) dan terbaik untuk data yang
berdistribusi teratur (grid).
5. Perbandingan speedup pada empat dan delapan prosesor menunjukkan uji incircle
dengan metode geometri untuk data yang berdistribusi grid memberikan speedup
tertinggi pada data yang berjumlah lebih dari 40000 titik.
6. EIisiensi proses paralel rata-rata dicapai pada jumlah prosesor empat dan delapan
untuk semua metode dan distribusi data. Kurang dari empat prosesor atau lebih dari
delapan prosesor tidak eIisien karena biaya komunikasinya terlalu mahal.
7. Rekonstruktor obyek tiga dimensi berbasis sistem stereo cukup rumit, dan terlalu
banyak mencari kombinasi parameter dengan cara trial and error, hasilnya pun
kurang memuaskan. Tetapi, metode ini dapat dikembangkan lagi karena dapat
digunakan untuk sembarang distribusi data.
8. Dari hasil percobaan yang dilakukan, rekonstruksi obyek tiga dimensi berbasis
kecerahan lebih mudah dilakukan, proses triangulasinya lebih cepat dan lebih
mudah diimplementasikan pada algoritma triangulasi Delaunay paralel, tetapi
hasilnya hanya terbatas untuk citra yang dilihat tegak lurus dari depan dan
pencahayaannya juga harus dari depan.
Dengan demikian maka beberapa pernyataan masalah yang dinyatakan pada
bagian 1.2 sudah terjawab, yaitu : Algoritma triangulasi Delaunay masih dapat
ditingkatkan dengan memperbaiki uji legalitas segitiga dengan metode geometri. Tetapi
metode ini sangat terbatas untuk distribusi data yang teratur (grid). Algoritma
triangulasi Delaunay paralel yang dirancang pada jaringan komputer PC dengan PVM
sebagai pembentuk lingkungan paralel dapat memberikan speedup yang cukup
signiIikan. Dengan menggunakan metode uji legalitas segitiga metode geometri yang
diusulkan dan dengan distribusi data yang teratur (grid) menunjukkan speedup yang
lebih baik. $peedup tertinggi untuk algoritma triangulasi Delaunay paralel dengan
metode uji geometri diperoleh pada saat jumlah prosesornya 4 dan 8, dan dengan jumlah
titik sebanyak 100000 yang berdistribusi grid. Pada keadaan ini speedup yang dicapai
untuk emapt prosesor adalah 3.59 dengan eIisiensi 89.75, dan untuk konIigurasi
delapan prosesor diperoleh speedup 7.3 dengan eIisiensi 91.25. Algoritma triangulasi
80
Delaunay sekuensial dan paralel dapat digunakan untuk membuat aplikasi rekonstruktor
obyek tiga dimensi berbasis sistem stereo dan kecerahan. Untuk rekonstruktor yang
berbasis sistem stereo lebih rumit tetapi masih mungkin dikembangkan menjadi
rekonstruktor yang lebih baik. Sedangkan rekonstruktor berbasis kecerahan cukup
sederhana tetapi sangat terbatas untuk obyek yang diambil citranya secara tegak lurus.
Untuk memperbaiki hasil rekonstruksi tiga dimensi berbasis sistem stereo, maka
perlu dilakukan penelitian lebih lanjut dengan mempertimbangkan metode-metode
alternatiI dan perbaikan algoritma secara keseluruhan.

81
DAFTAR PUSTAKA


|1| Anonim. (2003). 'Magnetic Resonance Imaging (MRI Scan) |Online|. vailable
. http.//www.medicinenet.com/mriscan/index.htm.
|2| Anonim. (2005). 'Introduction to Parallel Computing |Online|. vailable .
http.//www.llnl.gov/computing/tutorials/parallelcomp/ |6/2005|
|3| Ballard, Dana . and Christopher M. Brown. (1982). Computer Jision. Prentice
all Inc. New Jersey.
|4| Berg, Mark de, and Marc van Kreveld. (1997). Computational eometry .
lgorithms and pplications , Springer-Verlag, Berlin.
|5| Buchin, Kevin. (Maret, 2005). 'Incremental Construction along Space-Filling
Curves, 21st European Workshop on Computational eometry, 200 Eindhoven.
|6| Chen, Long and Jin-chao Xu. (2004). 'Optimal Delaunay Triangulations. ournal
o1 Computational Mathematics, Vol.22, No.2, 200, hal 299-308.
|7| Chen, Min-Bin, Tyng-Ruey Chuang, and Jan-Jan Wu. (2000). 'A Parallel Divide-
and-Conquer Scheme Ior Delaunay Triangulation. |Online|. vailable .
http.//Citeseer.is1. psu.edu/cache/papers/cs/2900/. |11/2004|
|8| Chen, Min-Bin, Tyng-Ruey Chuang, and Jan-Jan Wu. (December, 2000).
'EIIicient Parallel Implementations oI 2D Delaunay Triangulation with igh
PerIormance Fortran. |Online|. vailable . http.//Citeseer.is1.
psu.edu/cache/papers/cs/2900/. |7/2004|
|9| Chen, Min-Bin, Tyng-Ruey Chuang, and Jan-Jan Wu. (April, 2001). 'Parallel 2D
Delaunay Triangulations in PF and MPI. 1
th
nternational Parallel nd
Distributed Processing $ymposium. $an Francisco. Cali1ornia. IEEE Computer
Society Press.
|10| Cheng, Siu-Weng and Tamal K. Dey. (2003). 'Quality Meshing with Weighted
Delaunay ReIinement. $iam ournal on Computation, Jol.33, No.1, hal 9-93.
Society Ior Industrial and Applied Mathematics.
|11| Cignoni, P., et al. (Juni, 1994). 'Evaluation oI Parallelization Strategies Ior an
Incremental Delaunay Triangulation in E
3
' |Online|. vailable.
http.//cvg.iei.pi.cnr.it/parallelDelau.html. |1/2004|
82
|12| Cormen, Thomas ., Charles E. Leiserson, Ronald L. Rivest. (1990). ntroduction
to lgorithms , The MIT Press, Cambridge.
|13| Devillers et al. (2003). 'Minimal Set oI Constraints Ior 2D Constrained Delaunay
Reconstruction. nternational ournal o1 Computational eometry
pplications, Jol. 13, No. , hal 391-398, World ScientiIic Publishing Company.
|14| Devroye, L., E.P.Mucke, and Binhai Zhu. (1998). 'A note on Point Location in
Delaunay Triangulations oI Random Points. lgorithmica. Jol 22. Springer-
Verlag. New York.
|15| Dey, Tamal K., Joachim Giesen., and James udson.(1998). 'Delaunay Based
Shape Reconstruction Irom Large Data. $iam ournal on Computing. Jol 28. no
2, hal 1-8.
|16| Eager, Derek L., John Zoharjan, and Edward D. Lazowska. (1989) 'Speedup
Versus EIIiciency in Parallel Systems. EEE Transactions On Computers, Jol.
38, No. 3, March 1989.
|17| Eguchi, Glenn.(Januari, 2001). 'Delaunay Triangulation |Online|. vailable .
http.// graphics.lcs.mit.edu/classes/ .838/ 101/lectures/ delaunay/delaunay2d.pd1.
|10/2002|
|18| Garland, Michael and Paul S. eckbert. (Mei, 1997). 'Fast Triangular
Approximation oI Terrains and eight Fields. |Online| vailable.
http.//www.cs.cmu.edu/~garland/scape. |01/2004|
|19| Geist, A., Beguelin,A., Dongara,J. (1994). PJM. Parallel Jirtual Machine
Users uide and Tutorial 1or Networked Parallel Computing. MIT Press,
Cambridge.
|20| Geist, G. A., Kohl J. A. and Papadopoulos P.M. (Mei, 1996) 'PVM and MPI : a
Comparison oI Features. |Online| vailable. http.//www.ece.rutgers.edu/
~parashar/Classes/98-99/ece566/slides/pvmvsmpi.pdI |10/2005|
|21| ancock, John et al. (1999). 'igh-perIormance laser range scanner.$PE
Proceedings on ntelligent Transportation $ystem. The Robotics Institute,
Carnegie Mellon Univ. Pittsburgh.
|22| ardwick, Jonathan C. (Juni 1997). 'Implementation and Evaluation oI an
EIIicient Parallel Delaunay Triangulation Algorithm. 9
th
nnual CM
$ymposium on Parallel lgorithms and rchitectures. Newport. Rhode Island.
83
|23| Imaginis Corp. (Januari, 2000). Computed Tomography Imaging (CT-Scan, CAT
Scan). |online|. vailable.http.//www.imaginis.com/.
|24| Jain, Anil K. (1999). Fundamentals o1 Digital mage Processing. Prentice-all
International, Inc. New Jersey.
|25| Lacroute, Philippe G.(September, 1995). Fast Jolume Rendering Using a $hear-
Warp Factori:ation o1 the Jiewing Trans1ormation, Technical Report : CSL-TR-
95-678, StanIort University, StanIort.
|26| Lattuada, R., Raper J. (1996). 'Applications oI 3D Delaunay Triangulation
Algorithms in GeoscientiIic Modelling. Proceedings Third nternational
Con1erence on ntegrating $ and Environmental Modeling, Santa Fe, New
Mexico, January.
|27| Lee, Sangyoon, Chan-Ik Park, and Chan-Mo Park.( April, 1997). 'An Improved
Parallel Algorithm Ior Delaunay Triangulation on Distributed Memory Parallel
Computers. |Online|. vailable. http.//www.postech.ac.kr/cse/vr/gallery/pub
/Ppl.pd1. |6/2005|
|28| Lee, Y., S. Park, Y.Jun, and W.C.Choi. (2004). 'A Robust Approach to Edge
Detection oI Scanned Point Data. nternational ournal o1 dvanced
Manu1acturing Technology. No. 23, hal. 23-21.
|29| Levoy, Marc, et al.( April, 2000). 'The Digital Michelangelo Project: 3D
Scanning oI Large Statues, Proceeding o1 the $iggraph, 2000. |Online|.
Available : http://www.graphics.stanIord.edu/project/mich/
|30| Niem, WolIgang. (1993). 'Robust and Fast Modelling oI 3D Natural Objects Irom
Multiple View. |Online| Available: http://www.cse.psu.edu/~cg597d/papers/
SPIE94WN.pdI
|31| O`Rourke, Joseph. (2000). Computational eometry in C, second edition.
Cambridge University Press. Cambridge.
|32| Ramalingam, Srikumar. (1999). '3D Reconstruction From a Pair oI Image,
Technical Report, srikumarcse.ucsc.edu. |10/2003|
|33| Ringenberg, Lawrence A., Richard S. Presser. (1971). eometry. John Wiley and
Sons, Inc., Toronto.
84
|34| Sediyono, Eko and eru Suhartanto. (Maret, 2004). 'Parallel Implementation oI
Delaunay Triangulation on PVM based PC Clusters, Proceeding o1 P$ 200
Con1erence. Mount Kopaonik, Serbia.
|35| Sediyono, Eko and eru Suhartanto. (Desember, 2004). 'Comparison and
Implementation oI Parallel Delaunay Triangulation Ior Object Reconstruction,
Proceeding on 2
nd
National Con1erence on Computer raphics and Multimedia,
Esset, $elangor.
|36| Sojka, Eduard. (2002). 'A New and EIIicient Algorithm Ior Detecting the Corners
in Digital Images. DM-$ymposium 2002, hal. 12-132.
|37| Su, Peter. (Juni, 1994). E11icient Parallel lgoritms 1or Closest Point Problems.
(Thesis) Dartmouth College, anover.
|38| Su, Peter and Robert L. Scot Drysdale. (April, 1996). 'A Comparison oI
Sequential Delaunay Triangulation Algorithms. |Online|. vailable .
http.//citeseer.ist.psu.edu/$uDrysdale.ps.g:. |5/2005|
|39| Suhartanto, eru and Eko Sediyono. (Juni, 2004). 'On The Parallel PerIormance
OI TaskIarm And Static Domain Decomposition Techniques For Mandelbrot Set,
sian ournal o1 n1ormation Technology, Jol 3. No., uni 200, hal 08-1.
|40| Vigo, M., N. Pla, and D. Ayala. (2004). 'Two Triangulation Methods Based on
Edge ReIinement, Computing No. 2, hal 221-233. Computing, Austria.
|41| Wilkinson, Barry and Michael Allen. (2002). Parallel Programming Techniques
and pplications Using Networked Workstations and Parallel Computers.
Prentice all Inc. New Jersey, USA.
|42| Wulp, Kees van der . (2002). 'Intro to LSCM. |Online|. vailable .
http.//www.cs.ubc.ca/spider/ladic/overview.html |5/2005|
|43| Zhang, Zhengyou, Rachid Deriche, Olivier Faugeras and Quang Tuan Loung.
(1994). 'A Robust Technique Ior Matching Two Uncalibrated Images through
The Recovery oI Unknown Epipolar Geometry. NR $ophia-ntipolis, May
199. Research Report.
|44| Zhao, uaibin and Chandomay Mandal. (2000). '3-D Shape Reconstuction Irom
Multiple Views. Handbook o1 mage and Jideo Processing, hal. 23-2.


85











LAMPIRAN


86
Lampiran I
Data Pengukuran Kinerja Algoritma Triangulasi Delaunay

L1.1. Waktu Eksekusi (detik) Algoritma Triangulasi Delaunay Sekuensial dengan Uji
ncircle metode Geometri

#data
distribusi
seragam grid
1000 0.0633 0.0341
5000 0.2971 0.1496
10000 0.9532 0.5073
20000 3.2197 1.7173
30000 6.6880 4.2657
40000 11.3442 6.8692
50000 17.2969 9.0825
60000 24.2193 11.8273
70000 32.3591 16.0324
80000 41.7665 25.4768
90000 52.1723 26.2018
100000 63.6564 36.3003

L.1.2. Waktu Eksekusi (detik) Algoritma Triangulasi Delaunay Sekuensial dengan Uji
ncircle metode Persamaan Linear

#data
distribusi
seragam grid
1000 0.1070 0.1049
5000 0.5979 0.5856
10000 1.6681 1.6628
20000 6.1174 5.9064
30000 12.5066 12.3976
40000 21.4405 21.2305
50000 34.2479 34.1719
60000 45.2901 45.2191
70000 61.1587 60.9707
80000 83.1153 82.6952
90000 93.3884 92.4062
100000 112.6718 112.7730











87
L1.3. Waktu Eksekusi (detik) Algoritma Triangulasi Delaunay Sekuensial dengan Uji
ncircle metode Determinan

#data
distribusi
seragam grid
1000 0.0409 0.0387
5000 0.1945 0.2039
10000 0.5580 0.5700
20000 2.2668 2.2711
30000 4.4790 4.4882
40000 8.3117 8.3085
50000 11.0807 11.0253
60000 15.6120 15.2920
70000 17.4753 17.3813
80000 33.8841 33.0411
90000 35.7042 35.7722
100000 38.8413 38.7963
L1.4. Waktu Eksekusi komputasi (detik) Algoritma Triangulasi Delaunay paralel
dengan metode Geometri dan distribusi data Seragam
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 0.2285 0.1501 0.0000 0.0000 0.0000
10000 0.6355 0.4144 0.1869 0.0000 0.0000
20000 2.6831 1.2879 0.6075 0.7853 0.0000
30000 4.7771 2.6752 1.1531 1.5924 0.0000
40000 7.5628 4.2016 1.8597 2.5209 2.7669
50000 12.8125 6.1775 2.7455 3.8609 3.0887
60000 18.7311 8.6498 3.7920 5.3821 4.2490
70000 25.0846 11.1583 4.7378 5.3048 5.1364
80000 32.5538 14.1581 6.1421 6.2338 5.9412
90000 39.5245 16.8298 7.6950 8.6521 6.4410
100000 45.1464 21.1483 9.1724 10.1042 7.9970

L1.5. Waktu Eksekusi komputasi (detik) Algoritma Triangulasi Delaunay paralel
dengan metode Geometri dan distribusi data grid
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 0.1160 0.0712 0.0000 0.0000 0.0000
10000 0.3933 0.2029 0.0890 0.0000 0.0000
20000 1.3271 0.6708 0.3013 0.3180 0.0000
30000 3.4126 1.5344 0.6993 0.8048 0.0000
40000 5.2840 2.0204 1.0903 1.2051 1.4933
50000 6.8136 2.5950 1.4326 1.4649 1.8922
60000 8.5954 3.3223 1.7653 1.7141 2.2316
70000 11.6430 4.5289 2.3752 2.4665 2.3577
80000 18.4614 7.1766 3.6976 3.4900 3.4428
90000 18.7156 7.4437 3.6904 3.5408 3.4982
100000 25.7449 10.1115 4.9726 4.6539 4.6539
88
L1.6. Waktu Eksekusi komputasi (detik) Algoritma Triangulasi Delaunay paralel
dengan metode Pers. Linear dan distribusi Data Seragam
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 0.5435 0.2847 0.0000 0.0000 0.0000
10000 1.4880 0.6672 0.3033 0.0000 0.0000
20000 5.4137 2.3896 1.1329 1.4565 0.0000
30000 10.4135 4.4666 2.1941 2.7792 0.0000
40000 17.5742 7.2190 3.7094 4.5618 3.5148
50000 27.6415 11.4160 5.8344 6.1157 5.3512
60000 34.8385 14.1532 7.7155 7.8086 6.9677
70000 46.3323 18.9757 10.3835 9.7077 9.3088
80000 62.4927 24.6633 14.0873 12.7870 11.3857
90000 65.3066 27.4672 15.0626 13.9386 12.7929
100000 77.7047 32.9450 17.3341 16.5694 15.2259

L1.7. Waktu Eksekusi komputasi paralel (detik) Algoritma Triangulasi Delaunay
dengan metode Pers.Linear dan distribusi Data Grid
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 0.5856 0.2789 0.0000 0.0000 0.0000
10000 1.6144 0.7230 0.3137 0.0000 0.0000
20000 5.4689 2.5349 1.1061 1.0362 0.0000
30000 11.4792 5.2981 2.2139 2.1375 0.0000
40000 19.3005 8.6655 3.5984 3.4243 4.0058
50000 30.7855 13.7790 5.6019 5.4241 6.3873
60000 40.0169 15.5928 7.1776 7.0655 8.1329
70000 51.6701 20.3236 9.5267 9.6779 10.8876
80000 70.0807 27.2024 12.7223 12.9211 13.1262
90000 77.0052 29.7126 13.7920 13.2009 13.3922
100000 86.7485 35.1318 16.3676 15.2396 14.8386
L1.8. Waktu Eksekusi komputasi paralel (detik) Algoritma Triangulasi Delaunay
dengan metode Determinan dan Distribusi Data Seragam
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 0.1768 0.0926 0.0000 0.0000 0.0000
10000 0.4574 0.2426 0.0996 0.0000 0.0000
20000 1.7710 0.9687 0.3977 0.3487 0.0000
30000 3.4775 1.8819 0.7630 0.6828 0.0000
40000 6.4432 3.4806 1.4088 1.2046 1.3193
50000 8.5170 3.5744 1.8165 1.5898 1.7588
60000 11.7384 4.8788 2.5303 2.2335 2.5181
70000 12.8495 5.3770 2.7391 2.4965 2.7739
80000 24.3771 10.3621 5.3614 4.7724 5.2129
90000 25.5395 11.0539 5.0288 5.0217 5.1745
100000 26.7871 11.5944 5.4629 5.3722 5.2488
89

L1.9. Waktu Eksekusi komputasi paralel (detik) Algoritma Triangulasi Delaunay
dengan metode Determinan dan Distribusi Data Grid
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 0.1853 0.0728 0.0000 0.0000 0.0000
10000 0.4872 0.2014 0.1000 0.0000 0.0000
20000 1.8770 0.7859 0.3964 0.4285 0.0000
30000 3.6788 1.5477 0.7778 0.7607 0.0000
40000 6.4910 2.7788 1.3621 1.3401 1.2782
50000 8.5467 3.5565 1.7697 1.7697 1.5979
60000 11.7631 4.7788 2.3894 2.4158 2.1538
70000 12.8750 5.1122 2.6496 2.5190 2.4310
80000 24.1176 9.6895 4.9315 4.4650 4.5138
90000 25.0155 10.4597 5.2917 4.7696 4.8341
100000 26.5728 11.2453 5.5662 5.0385 5.1250

L1.10. $peedup Algoritma Triangulasi Delaunay paralel dengan metode Geometri dan
distribusi data seragam
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 1.3000 1.9800 0.0000 0.0000 0.0000
10000 1.5000 2.3000 5.1000 0.0000 0.0000
20000 1.2000 2.5000 5.3000 4.1000 0.0000
30000 1.4000 2.5000 5.8000 4.2000 0.0000
40000 1.5000 2.7000 6.1000 4.5000 4.1000
50000 1.3500 2.8000 6.3000 4.4800 5.6000
60000 1.2930 2.8000 6.3870 4.5000 5.7000
70000 1.2900 2.9000 6.8300 6.1000 6.3000
80000 1.2830 2.9500 6.8000 6.7000 7.0300
90000 1.3200 3.1000 6.7800 6.0300 8.1000
100000 1.4100 3.0100 6.9400 6.3000 7.9600














90
L1.11. $peedup Algoritma Triangulasi Delaunay paralel dengan metode Geometri dan
distribusi Data Grid
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 1.2900 2.1000 0.0000 0.0000 0.0000
10000 1.2900 2.5000 5.7000 0.0000 0.0000
20000 1.2940 2.5600 5.7000 5.4000 0.0000
30000 1.2500 2.7800 6.1000 5.3000 0.0000
40000 1.3000 3.4000 6.3000 5.7000 4.6000
50000 1.3330 3.5000 6.3400 6.2000 4.8000
60000 1.3760 3.5600 6.7000 6.9000 5.3000
70000 1.3770 3.5400 6.7500 6.5000 6.8000
80000 1.3800 3.5500 6.8900 7.3000 7.4000
90000 1.4000 3.5200 7.1000 7.4000 7.4900
100000 1.4100 3.5900 7.3000 7.8000 7.8000

L1.12. $peedup Algoritma Triangulasi Delaunay paralel dengan metode Pers.Linear
distribusi Seragam
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 1.1000 2.1000 0.0000 0.0000 0.0000
10000 1.1210 2.5000 5.5000 0.0000 0.0000
20000 1.1300 2.5600 5.4000 4.2000 0.0000
30000 1.2010 2.8000 5.7000 4.5000 0.0000
40000 1.2200 2.9700 5.7800 4.7000 6.1000
50000 1.2390 3.0000 5.8700 5.6000 6.4000
60000 1.3000 3.2000 5.8700 5.8000 6.5000
70000 1.3200 3.2230 5.8900 6.3000 6.5700
80000 1.3300 3.3700 5.9000 6.5000 7.3000
90000 1.4300 3.4000 6.2000 6.7000 7.3000
100000 1.4500 3.4200 6.5000 6.8000 7.4000
L1.13. $peedup Algoritma Triangulasi Delaunay paralel dengan metode Pers. Linear
dan distribusi Data Grid
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 1.0000 2.1000 0.0000 0.0000 0.0000
10000 1.0300 2.3000 5.3000 0.0000 0.0000
20000 1.0800 2.3300 5.3400 5.7000 0.0000
30000 1.0800 2.3400 5.6000 5.8000 0.0000
40000 1.1000 2.4500 5.9000 6.2000 5.3000
50000 1.1100 2.4800 6.1000 6.3000 5.3500
60000 1.1300 2.9000 6.3000 6.4000 5.5600
70000 1.1800 3.0000 6.4000 6.3000 5.6000
80000 1.1800 3.0400 6.5000 6.4000 6.3000
90000 1.2000 3.1100 6.7000 7.0000 6.9000
100000 1.3000 3.2100 6.8900 7.4000 7.6000
91
L1.14. $peedup Algoritma Triangulasi Delaunay paralel dengan metode Determinan
dan distribusi Data Seragam
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 1.1000 2.1000 0.0000 0.0000 0.0000
10000 1.2200 2.3000 5.6000 0.0000 0.0000
20000 1.2800 2.3400 5.7000 6.5000 0.0000
30000 1.2880 2.3800 5.8700 6.5600 0.0000
40000 1.2900 2.3880 5.9000 6.9000 6.3000
50000 1.3010 3.1000 6.1000 6.9700 6.3000
60000 1.3300 3.2000 6.1700 6.9900 6.2000
70000 1.3600 3.2500 6.3800 7.0000 6.3000
80000 1.3900 3.2700 6.3200 7.1000 6.5000
90000 1.3980 3.2300 7.1000 7.1100 6.9000
100000 1.4500 3.3500 7.1100 7.2300 7.4000
L1.15. $peedup Algoritma Triangulasi Delaunay paralel dengan metode Determinan
dan distribusi Data Grid
#data
# prosesor
2 4 8 16 32
1000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 1.1000 2.8000 0.0000 0.0000 0.0000
10000 1.1700 2.8300 5.7000 0.0000 0.0000
20000 1.2100 2.8900 5.7300 5.3000 0.0000
30000 1.2200 2.9000 5.7700 5.9000 0.0000
40000 1.2800 2.9900 6.1000 6.2000 6.5000
50000 1.2900 3.1000 6.2300 6.2300 6.9000
60000 1.3000 3.2000 6.4000 6.3300 7.1000
70000 1.3500 3.4000 6.5600 6.9000 7.1500
80000 1.3700 3.4100 6.7000 7.4000 7.3200
90000 1.4300 3.4200 6.7600 7.5000 7.4000
100000 1.4600 3.4500 6.9700 7.7000 7.5700
L1.16. EIisiensi () Komputasi Algoritma Triangulasi Delaunay Paralel dengan
Metode Geometri dan Distribusi Data Seragam
#data
# prosesor
2 4 8 16 32
1000 0.00 0.00 0.00 0.00 0.00
5000 65.00 49.50 0.00 0.00 0.00
10000 75.00 57.50 63.75 0.00 0.00
20000 60.00 62.50 66.25 25.63 0.00
30000 70.00 62.50 72.50 26.25 0.00
40000 75.00 67.50 76.25 28.13 12.81
50000 67.50 70.00 78.75 28.00 17.50
60000 64.65 70.00 79.84 28.13 17.81
70000 64.50 72.50 85.38 38.13 19.69
80000 64.15 73.75 85.00 41.88 21.97
90000 66.00 77.50 84.75 37.69 25.31
100000 70.50 75.25 86.75 39.38 24.88
92

L1.17. EIisiensi () Komputasi Algoritma Triangulasi Delaunay Paralel Paralel dengan
Metode Geometri dan Distribusi Data Grid
#data
# prosesor
2 4 8 16 32
1000 0.00 0.00 0.00 0.00 0.00
5000 64.50 52.50 0.00 0.00 0.00
10000 64.50 62.50 71.25 0.00 0.00
20000 64.70 64.00 71.25 33.75 0.00
30000 62.50 69.50 76.25 33.13 0.00
40000 65.00 85.00 78.75 35.63 14.38
50000 66.65 87.50 79.25 38.75 15.00
60000 68.80 89.00 83.75 43.13 16.56
70000 68.85 88.50 84.38 40.63 21.25
80000 69.00 88.75 86.13 45.63 23.13
90000 70.00 88.00 88.75 46.25 23.41
100000 70.50 89.75 91.25 48.75 24.38
L1.18. EIisiensi () Komputasi Algoritma Triangulasi Delaunay Paralel dengan
Metode Pers.Linear dan Distribusi Data Seragam
# prosesor
#data 2 4 8 16 32
1000 0.00 0.00 0.00 0.00 0.00
5000 55.00 52.50 0.00 0.00 0.00
10000 56.05 62.50 68.75 0.00 0.00
20000 56.50 64.00 67.50 26.25 0.00
30000 60.05 70.00 71.25 28.13 0.00
40000 61.00 74.25 72.25 29.38 19.06
50000 61.95 75.00 73.38 35.00 20.00
60000 65.00 80.00 73.38 36.25 20.31
70000 66.00 80.58 73.63 39.38 20.53
80000 66.50 84.25 73.75 40.63 22.81
90000 71.50 85.00 77.50 41.88 22.81
100000 72.50 85.50 81.25 42.50 23.13
L.1.19. EIisiensi () Komputasi Algoritma Triangulasi Delaunay Paralel dengan
Metode Pers. Linear dan Distribusi Data Grid
#data
# prosesor
2 4 8 16 32
1000 0.00 0.00 0.00 0.00 0.00
5000 50.00 52.50 0.00 0.00 0.00
10000 51.50 57.50 66.25 0.00 0.00
20000 54.00 58.25 66.75 35.63 0.00
30000 54.00 58.50 70.00 36.25 0.00
40000 55.00 61.25 73.75 38.75 16.56
50000 55.50 62.00 76.25 39.38 16.72
60000 56.50 72.50 78.75 40.00 17.38
70000 59.00 75.00 80.00 39.38 17.50
80000 59.00 76.00 81.25 40.00 19.69
90000 60.00 77.75 83.75 43.75 21.56
100000 65.00 80.25 86.13 46.25 23.75
93
L1.20. EIisiensi () Komputasi Algoritma Triangulasi Delaunay Paralel dengan
Metode Determinan dan Distribusi Data Seragam
#data
# prosesor
2 4 8 16 32
1000 0.00 0.00 0.00 0.00 0.00
5000 55.00 52.50 0.00 0.00 0.00
10000 61.00 57.50 70.00 0.00 0.00
20000 64.00 58.50 71.25 40.63 0.00
30000 64.40 59.50 73.38 41.00 0.00
40000 64.50 59.70 73.75 43.13 19.69
50000 65.05 77.50 76.25 43.56 19.69
60000 66.50 80.00 77.13 43.69 19.38
70000 68.00 81.25 79.75 43.75 19.69
80000 69.50 81.75 79.00 44.38 20.31
90000 69.90 80.75 88.75 44.44 21.56
100000 72.50 83.75 88.88 45.19 23.13
L1.21. EIisiensi () Komputasi Algoritma Triangulasi Delaunay Paralel dengan
Metode Determinan danDistribusi Data Grid
#data
# prosesor
2 4 8 16 32
1000 0.00 0.00 0.00 0.00 0.00
5000 55.00 70.00 0.00 0.00 0.00
10000 58.50 70.75 71.25 0.00 0.00
20000 60.50 72.25 71.63 33.13 0.00
30000 61.00 72.50 72.13 36.88 0.00
40000 64.00 74.75 76.25 38.75 20.31
50000 64.50 77.50 77.88 38.94 21.56
60000 65.00 80.00 80.00 39.56 22.19
70000 67.50 85.00 82.00 43.13 22.34
80000 68.50 85.25 83.75 46.25 22.88
90000 71.50 85.50 84.50 46.88 23.13
100000 73.00 86.25 87.13 48.13 23.66

L1.22. Waktu Eksekusi (Detik) Algoritma Triangulasi Delaunay Paralel dengan Empat
Prosesor
#data
Metode - Distribusi
Geom -Srg Geom - Grid Lin - Srg Lin - Grid Det - Srg Det - Grid
1000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 0.1501 0.0712 0.2847 0.2789 0.0926 0.0728
10000 0.4144 0.2029 0.6672 0.7230 0.2426 0.2014
20000 1.2879 0.6708 2.3896 2.5349 0.9687 0.7859
30000 2.6752 1.5344 4.4666 5.2981 1.8819 1.5477
40000 4.2016 2.0204 7.2190 8.6655 3.4806 2.7788
50000 6.1775 2.5950 11.4160 13.7790 3.5744 3.5565
60000 8.6498 3.3223 14.1532 15.5928 4.8788 4.7788
70000 11.1583 4.5289 18.9757 20.3236 5.3770 5.1122
80000 14.1581 7.1766 24.6633 27.2024 10.3621 9.6895
90000 16.8298 7.4437 27.4672 29.7126 11.0539 10.4597
100000 21.1483 10.1115 32.9450 35.1318 11.5944 11.2453
94

L1.23. Waktu Eksekusi (Detik) Algoritma Triangulasi Delaunay Paralel dengan
Delapan Prosesor
#data
Metode - Distribusi
Geom -Srg Geom - Grid Lin - Srg Lin - Grid Det - Srg Det - Grid
1000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
10000 0.1869 0.0890 0.3033 0.3137 0.0996 0.1000
20000 0.6075 0.3013 1.1329 1.1061 0.3977 0.3964
30000 1.1531 0.6993 2.1941 2.2139 0.7630 0.7778
40000 1.8597 1.0903 3.7094 3.5984 1.4088 1.3621
50000 2.7455 1.4326 5.8344 5.6019 1.8165 1.7697
60000 3.7920 1.7653 7.7155 7.1776 2.5303 2.3894
70000 4.7378 2.3752 10.3835 9.5267 2.7391 2.6496
80000 6.1421 3.6976 14.0873 12.7223 5.3614 4.9315
90000 7.6950 3.6904 15.0626 13.7920 5.0288 5.2917
100000 9.1724 4.9726 17.3341 16.3676 5.4629 5.5662
L1.24. $peedup Algoritma Triangulasi Delaunay Paralel dengan Empat Prosesor
#data
Metode - Distribusi
Geom -Srg Geom - Grid Lin - Srg Lin - Grid Det - Srg Det - Grid
1000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 1.9800 2.1000 2.1000 2.1000 2.1000 2.8000
10000 2.3000 2.5000 2.5000 2.3000 2.3000 2.8300
20000 2.5000 2.5600 2.5600 2.3300 2.3400 2.8900
30000 2.5000 2.7800 2.8000 2.3400 2.3800 2.9000
40000 2.7000 3.4000 2.9700 2.4500 2.3880 2.9900
50000 2.8000 3.5000 3.0000 2.4800 3.1000 3.1000
60000 2.8000 3.5600 3.2000 2.9000 3.2000 3.2000
70000 2.9000 3.5400 3.2230 3.0000 3.2500 3.4000
80000 2.9500 3.5500 3.3700 3.0400 3.2700 3.4100
90000 3.1000 3.5200 3.4000 3.1100 3.2300 3.4200
100000 3.0100 3.5900 3.4200 3.2100 3.3500 3.4500

L1.25. $peedup Algoritma Triangulasi Delaunay Paralel dengan Delapan Prosesor
#data
Metode - Distribusi
Geom -Srg Geom - Grid Lin - Srg Lin - Grid Det - Srg Det - Grid
1000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
5000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
10000 5.1000 5.7000 5.5000 5.3000 5.6000 5.7000
20000 5.3000 5.7000 5.4000 5.3400 5.7000 5.7300
30000 5.8000 6.1000 5.7000 5.6000 5.8700 5.7700
40000 6.1000 6.3000 5.7800 5.9000 5.9000 6.1000
50000 6.3000 6.3400 5.8700 6.1000 6.1000 6.2300
60000 6.3870 6.7000 5.8700 6.3000 6.1700 6.4000
70000 6.8300 6.7500 5.8900 6.4000 6.3800 6.5600
80000 6.8000 6.8900 5.9000 6.5000 6.3200 6.7000
90000 6.7800 7.1000 6.2000 6.7000 7.1000 6.7600
100000 6.9400 7.3000 6.5000 6.8900 7.1100 6.9700
95
Lampiran II
Daftar Modul-modul Program Aplikasi Rekonstruktor Obyek Tiga Dimensi
o ModuI Kegunaan HaI
A. VisuaI Basic AppIication Interface FiIes:
1 basCG.bas Basic common gateway interface L-3
2 basMain.bas Program utama dari aplikasi rekonstruktor tiga
dimensi
L-5
3 basPublicConstants Kumpulan konstanta yang dideklarasikan
sebagai public dalam visual basic
L-10
4 basPublicVariables Kumpulan Variabel yang dideklarasikan sebagai
public dalam visual basic
L-12
5 clsProperty.cls Setting property dari obyek-obyek yang dipakai,
yang diatur dari project options
L-13
6 form3Dparam.frm Rancangan tampilan antarmuka untuk
memasukkan parameter rekonstruksi titik 3D
L-13
7 formAbout.frm Rancangan tampilan antarmuka untuk modul
penjelasan tentang aplikasi ini
L-16
8 formCorDet.frm Rancangan tampilan antarmuka untuk modul
deteksi sudut
L-20
9 formCorrel.frm Rancangan tampilan antarmuka untuk modul
korelasi
L-29
10 formmage.frm Rancangan tampilan antarmuka untuk modul
penampil gambar
L-37
11 formListCorrel.frm Rancangan tampilan antarmuka untuk modul
penampil daftar nilai-nilai korelasi
L-58
12 formListNode.frm Rancangan tampilan antarmuka untuk modul
penampil daftar nilai-nilai (x,y) node yang
ditemukan
L-63
13 formListNode3D.frm Rancangan tampilan antarmuka untuk modul
penampil daftar nilai-nilai node 3D (x,y,z) yang
diperoleh
L-67
14 formListTriangle.frm Rancangan tampilan antarmuka untuk modul
penampil titik-titik segitiga hasil triangulasi
Delaunay
L-70
15 formNotepad.frm Rancangan tampilan antarmuka untuk modul
Notepad, untuk mengedit data
L-76
16 formOptions.frm Mencatat nilai-nilai parameter yang bersifat
opional
L-77
17 formReloading.frm Rancangan tampilan antarmuka untuk modul
reload
L-89
18 mdiMain.frm Rancangan tampilan antarmuka utama aplikasi
rekonstruktor obyek tiga dimensi
L-90
19 ctlSliderExt.ctl Control untuk modul penggeser nilai parameter L-104
20 pro3DRecon.vbp Project yang berisi modul-modul rekonstruktor
tiga dimensi, seperti yang disebut pada 1 s/d 19
L-110
B. Corners Detect FiIes:
1 CorDet.cpp Modul deteksi sudut, implementasi dari deteksi
sudut Sojka
L-111
2 CorDet.def Definisi file deteksi sudut untuk export nilai
melalui cordet.dll
L-127
3 frmProgress.cpp Progess bar untuk proses deteksi sudut L-127
4 StdAfx.cpp source file yang berisi standar include (StdAfx.h) L-127
5 CorDet.h Header dari modul cordet.cpp atau cordet.dll L-128
6 frmProgress.h Header file dari frmProgess.cpp untuk proses L-128
96
o ModuI Kegunaan HaI
deteksi sudut
7 Resource.h Header file yang diciptakan oleh Microsoft
Developer Studio dan digunakan untuk
CorDet.rc
L-129
8 StdAfx.h include file untuk sistem standar yang diciptakan
oleh MS Visual Studio
L-129
9 CorDet.dsp Project dari modul CorDet.dll, untuk menghitung
deteksi sudut
L-130
C. TrianguIation FiIes:
1 Triangulation.cpp Modul Triangulasi, implementasi dari triangulasi
Delaunay Penyisipan bertambah.
L-132
2 Triangulation.def Deklarasi parameter modul Triangulation.dll L-137
3 frmProgress.cpp Progess bar untuk proses triangulasi L-137
4 StdAfx.cpp source file yang berisi standar include (StdAfx.h) L-138
5 Triangulation.h Header dari modul triangulation.cpp atau
triangulation.dll
L-138
6 frmProgress.h Header file dari frmProgess.cpp untuk proses
triangulasi
L-138
7 Resource.h Header file yang diciptakan oleh Microsoft
Developer Studio dan digunakan untuk
Triangulation.rc
L-139
8 StdAfx.h include file untuk sistem standar yang diciptakan
oleh MS Visual Studio
L-139
9 Triangulation.dsp Project yang berisi modul-modul yang
diperlukan untuk proses triangulation
L-140
D. CorreIation FiIes:
1 Correlation.cpp Modul correlation, implementasi dari skor
korelasi Ramalingam
L-142
2 Correlation.def Deklarasi parameter modul Correlation.dll L-158
3 frmProgress.cpp Progess bar untuk proses korelasi L-158
4 StdAfx.cpp $ource file yang berisi standar include
(StdAfx.h)
L-158
5 Correlation.h Header dari modul Correlation.cpp atau
correlation.dll
L-159
6 frmProgress.h Header file dari frmProgess.cpp untuk proses
korelasi
L-159
7 Resource.h Header file yang diciptakan oleh Microsoft
Developer Studio dan digunakan untuk
Correlation.rc
L-160
8 StdAfx.h include file untuk sistem standar yang diciptakan
oleh MS Visual Studio
L-160
9 Correlation.dsp Project yang berisi modul-modul yang
diperlukan untuk proses korelasi
L-161
E. ParaIeI DeIaunay TrianguIation FiIe :
1 sksq.cpp Modul triangulasi delaunay sekuensial dengan
metode penyisipan bertambah
L-163
2 skpl.cpp Modul triangulasi delaunay paralel bagian
master
L-168
3 skplsl.cpp Modul triangulasi delaunay paralel bagian slave L-172

97
Lampiran III
Konfigurasi 1aringan Komputer PC Untuk Virtual Paralel

Susuna Komputer di RX-201


01
0 02
06 05 0
09 08 07
12 11 10
15 1 1
18 17 16
21 20 19
2
2 22
27 26 25
0 29 28
2 1



Keterangan :
4 Komputer 01 adalah komputer SERVER dengan spesiIikasi

- Intel Pentium 4, 1.3 Gz, 256 MB RAM
- O/S MS Windows Server 2003 with SP 1
- IP : 192.168.70.201
- NIC Card : Intel pro/100 VE Network connection dan
Realtek RTL 8139 Family PCI Fast ethernet NIC
- Network speed : 100 Mbps

4 Komputer lainnya adalah CLIENT dengan spesiIikasi yang sama, yaitu
- Intel Pentium 4, 1.3 Gz, 256 MB RAM
- O/S MS Windows XP 2002 with SP1
- IP : 192.168.201. *
SERVER
MASTER
98
- NIC Card : SURECOM EP-320X-R 100/10/M PCI Adapter
- Network speed : 100 Mbps
- Nama komputer : rxa0xx ( xx terakhir nomor meja)
4 Topologi jaringan menggunakan topologi star dengan switch Dlink 100
Mbps 64 port.
4 Fasilitas remote process digunakan ATAMAN RSHD, yang didownload
dari http://www.ataman.com.
4 PVM yang digunakan adalah PVM Ior windows versi 3.4.3

99

Anda mungkin juga menyukai