IES 2006 – Politeknik Elektronika Negeri Surabaya - ITS Deteksi dan Menghitung Jumlah Obyek Gambar Menggunakan Simulated Annealing Nana Ramadijanti, Achmad Basuki, Miftahul Huda Politeknik Elektronika Negri Surabaya E-mail: {nana,basuki,huda}@eepis-its.edu Abstrak Abstract Deteksi dan pencocokan gambar memegang peranan penting pada teknologi komputer vision. Deteksi gambar menyatakan interest obyek dari seseorang. Sedangkan pencocokan gambar mengatur batas-batas gambar query pada tempatnya pada domain ruang gambar target (alignment). Dasar dari metode ini seperti mencetak dengan piring, dengan toleransi jarak dan korelasi hasil matchingnya. Pada penelitian ini simulated annealing digunakan untuk mendeteksi dan mencocokkan keberadaan suatu gambar tertentu pada gambar target berdasarkan jarak histogram warnanya. Penelitian sebelumnya deteksi lokasi gambar menggunakan optimasi algoritma genetika, sudah baik tetapi terkadang masih terjebak pada solusi lokal optimum. Perbaikan hasil pencarian lokasi gambar yang dilakukan menggunakan Simulated Annealing dengan mengacak area gambar query pada gambar target. Area gambar target yang akan diamati kemiripannya dengan gambar query dioptimasi sehingga hanya area gambar target dengan energi minimum, yaitu suatu keadaan dimana jarak histogram gambar query dengan area gambar target bernilai kecil yang dideteksi sebagai lokasi gambar yang dicari. Secara keseluruhan hasil pendeteksian menunjukkan bahwa kecepatan proses menggunakan metode algoritma simulated annealing adalah optimum, dengan 10.000 iterasi gambar query dapat dicari posisinya pada gambar target dengan beberapa percobaan gambar template yang berbeda tetapi mirip, tidak pernah terjebak pada solusi local optimum. The image detecting and matching are the key technology of the computer vision. The image detecting is to determine the object that people are interested. And the image matching is to alignment the every image in space domain, which is recorded from the same scenery. Their basic methods are mold plate matching, distance tolerance, correlation matching. At this final project, simulated annealing used to detect and check off existence a certain picture, goals picture pursuant to its color histogram distance. Previous research detect picture location use optimize of genetic algorithm, have well but sometimes still trapped at solution of local optimum. Repair of result seeking of picture locations which use Simulated Annealing by random of area image query at image target. Area image target to perceive its with image query optimize so that only area image target with minimum energy, that is a situation where histogram distance image query with area draw small valuable goals which detected as searched picture location. As a whole result of detection indicate that speed of process use algorithm method of simulated annealing optimum by 10.000 iteration image query can look for its position at image target with a few attempt of picture of template different but looking like, have never been trapped at solution of local optimum. Kata Kunci : deteksi dan pencocokan citra, simulated annealing, jarak histogram gambar Keyword: detect and verification of image, plate matching, simulated annealing, picture histogram distance. 1. Pendahuluan toleransi jarak dan korelasi hasil matchingnya. Jika gambar query sudah menempati tempat dan mirip dengan gambar target, maka dikatakan bahwa obyek citra sudah terdeteksi dan cocok dengan sub area gambar target. Cara ini mempunyai banyak keuntungan yaitu : sederhana untuk digunakan dengan kemampuan identifikasi yang tinggi pada rata-rata noise yang rendah. Tetapi kelemahannya adalah sulit ketika diproses, dengan mempertimbangkan waktu proses. Lebih jauh rata - rata identifikasi terbatas karena perhitungannya Deteksi dan pencocokan gambar memegang peranan penting pada teknologi komputer vision. Keduanya menjadi fokus studi sebagai persoalan yang sulit pada gambar sebagai pemandu vision untuk sistem senjata dan robot. Deteksi gambar menyatakan interest obyek dari seseorang. Sedangkan pencocokan gambar mengatur batas-batas gambar query pada tempatnya pada domain ruang gambar target (alignment). Dasar dari metode ini seperti mencetak dengan piring, dengan 329 IES 2006 – Politeknik Elektronika Negeri Surabaya - ITS Algoritma MSD : yang tinggi dan waktu yang dihabiskan besar dan lebih terpengaruh pada distorsi geografi. Perhitungan kemiripan diantara dua buah gambar menggunakan jarak histogram sudah biasa dipakai pada penelitian untuk sistem CBIR berdasarkan ciri warna. Sehinga histogram dapat mewakili ciri warna dari masing-masing gambar query. Simulated annealing digunakan untuk mencari lokasi optimum dari gambar query pada gambar target, dengan kriteria energi minimum yang dipakai dihitung dari jarak histogram kedua gambar. Sedemikian sehingga proses pencocokan dilakukan pada beberapa posisi gambar target sampai dengan hasil pencarian terbaik adalah posisi dengan energi minimum yang didapatkan dari jarak histogram minimum. Algoritma MAD : Disini ada perbedaan pada formasi ketika obyek sub gambar dicocokkan dengan plate. R(u,v) adalah nilai terbesar, Da(u,v) dan Ds(u,v) adalah nilai terkecil. Karena itu Nprod diekspresikan derajat kemiripan diantara gambar sub gambar dan plate, dengan property maksimum. Algoritma MSD dan MAD menyatakan perbedaan diantara sub-gambar dan sub-gambar, karena itu, dia menjadi minimum. Oleh sebab itu, dia menjadi minimum. Oleh sebab itu, Nprod adalah jenis peakvalley yang mengganti hubungan dengan MSD dan MAD. Umumnya, ekspresi MAD mirip diantara sub gambar dan plate. Jika D (u,v) lebih kecil dari La state berbaris dicatat 2. Dasar Teori 2.1 Plate Matching Plate matching, adalah salah satu metode yang utama dari metode dasar deteksi dan pencocokan gambar. Metode ini membandingkan obyek pada plate dengan unknown obyek pada suatu gambar dan memperhatikan bahwa obyeknya adalah obyek yang sama dengan yang ada di plate, jika unknown obyek dengan plate. Penggunaan proses plate matching, plate discaning pada gambar target dan diukur derajat kemiripannya sesudah posisinya digeser. Kemiripan didefinisikan sebagai nilai hubungan R(u,v). Misalkan ukuran plate adalah N xN dan ukuran gambar target 1 a pada posisi (u,v). Anggaplah threshold La dapat dinyatakan menurut hasil sebenarnya, idealnya pencocokan yang cepat diberikan. Ketika ketidakcocokan lebih besar disbanding La selama proses akumulasi titik diantara sub gambar dan plate, perhitungan dihentikan dan mulai pada scaning gambar posisi berikutnya. Dan metode ini disebut serangkaian algoritma deteksi kemiripan (sequence similar detection algorithm). Walaupun algoritma ini menyebabkan pekerjaan efisien, threshold La didefinisikan sangat penting. 2 adalah M xM (biasanya N <M , N <M ). F(i,j) adalah 1 2 1 1 2 2 nilai gray level gambar pada titik (i,j) yang discaning. T(k,l) adalah nilai gray level plate pada titik (k,l). Dan hubungan (correlation) diantara semuanya adalah : 2.2 Simulated Annealing Simulated Annealing merupakan salah satu metode pencarian acak yang sangat baik. Metode ini dikembangkan dengan analogi dari prinsip-prinsip kristalisasi pada logam dengan proses pendinginan dan pembekuan, sehingga diperoleh energi yang minimum. Algoritma dari simulated annealing ini didasarkan pada algoritma Metropolis yang digunakan untuk mendapatkan konfigurasi equilibrium dari koleksi atom pada temperatur yang diberikan. Hubungan antara algoritma ini dan minimalisasi secara matematik pertama kali dituliskan oleh Pincus, tetapi Kirkpatrick mengembangkan- nya sebagai teknik optimalisasi untuk permasalahan-permasalahan kombinatorial. Kelebihan simulated annealing dibandingkan dengan metode yang lain adalah kemampuannya untuk menghindari jebakan optimal local. Algoritma ini merupakan algoritma pencarian acak tetapi tidak hanya menerima nilai obyektif yang selalu turun, terkadang juga menerima nilai obyektif yang naik. Dalam algoritma simulated annealing ini, suatu state (kombinasi dari satu solusi) dapat diterima dengan kemungkinan: Ekspresi persamaan R(u,v) dalam matrik: Nilai terbesar dari korelasi adalah 1, yang muncul hanya selama pencocokan diantara piring dan gambar target persis sama. Pada kenyataannya, nilai correlasi biasanya kurang dari 1 karena noise pada gambar dan pengaruh perubahan obyek plate atau rotasi. Dan R(u,v) adalah nilai yang terbesar hanya pada kasus yang paling besar kemiripannya diantara gambar obyek dengan gambar plate. Di bidang teknik, dua jenis metode perhitungan kemiripan didefinisikan untuk pengukuran perhitungan yang sederhana dan membantu, yaitu algoritma mean square distortion (MSD) dan algoritma mean absolution distortion (MAD). 330 IES 2006 – Politeknik Elektronika Negeri Surabaya - ITS dimana : ΔE adalah selisih energi saat ini dan energi sebelumnya K adalah konstanta Bolztmann T adalah temperatur 3. Perancangan Sistem Adapun untuk flowchart dari perencanaan sistem adalah seperti yang terlihat berikut ini: Pada perencanaan awal secara umum tahapantahapan prosesnya antara lain penerimaan masukan berupa gambar query dan gambar target, proses grayscale, menghitung nilai histogram, melakukan proses deteksi gambar query pada gambar target dengan Simulated Annealing dan terakhir adalah menghitung jumlah gambar query pada gambar target. Data Flow Diagram dari keseluruhan proses yang direncanakan. Ada beberapa hal yang perlu diperhatikan dalam implementasi dari simulated annealing, yaitu: (1) State: State didefinisikan sebagai kombinasi nilai dari suatu solusi (penyelesaian) yang mungkin. Proses Update State pada Algoritma Simulated Annealing (2) Energy: Energy didefinisikan sebagai seberapa besar fungsi tujuan minimal (karena simulated annealing selalu meminimalkan energi) dari suatu kombinasi solusi (state). Misalkan untuk mencari nilai minimal fungsi f(x) maka energi didefinisikan sebagai fungsi f(x) atau E=f(x), untuk mencari nilai maksimal f(x) maka energi didefinisikan sebagai inversi dari f(x). (3) Temperatur: Temperatur adalah suatu nilai kontrol yang membuat suatu state acak akan bisa bergerak naik atau tidak. Seperti halnya analogi pada kejadian thermal, ion-ion akan bergerak bebas pada temperatur yang tinggi, dan semakin terbatas gerakannya ketika temperaturnya turun. Dalam simulated annealing, proses penurunan temperatur perlu diperhatikan, dimana untuk iterasi awal temperatur perlu tinggi agar proses pencarian acak mempunyai range yang lebar, tetapi semakin bertambahnya iterasi maka temperatur terus turun tetapi tidak boleh sampai bernilai nol, hal ini disebabkan pada iterasi yang besar diharapkan sudah mendekati nilai optimal jadi tidak perlu lagi mengalami perubahan nilai yang besar. (4) Proses Update State: Berbeda dengan metode pencarian acak (random walk) yang hanya menerima state dengan Energi yang lebih kecil, pada simulated annealing ini state akan diterima dengan probabilitas : 3.1 Deteksi menggunakan Simulated Annealing Pada proses pendeteksian menggunakan algoritma simulated annealing yang langkah-langkahnya sebagai berikut : 1. Definisikan T=T dan T , N jumlah iterasi 0 2. g(ε) = rand(m1-n1) + 1 g(ε) = rand(m2-n2) + 1 Sehingga posisi gambar target yang dicocokkan menjadi gambar z, sbb: 3. 4. 5. 0 Dimana gambar target dan gambar z adalah data gambar gray scale Hitung Energi E Lakukan update state dengan mengacak nomer baris dan nomer kolom gambar target seukuran baris dan kolom gambar template, dapatkan bilangan acak ε (1:baris, 2: kolom), kemudian : Sehingga posisi gambar target dicocokkan menjadi gambar zs, sbb: (3) Update State S dengan aturan update sesuai dengan permasalahan menjadi S (4) Hitung Energi E Hitung jarak histogram gs(ε) = rand(m1-n1) + 1 gs(ε) = rand(m2-n2) + 1 0 0 akan z=gtarget(g(1):g(1)+n1, g(2):g(2)+n2) Algoritma Dari Simulated Annealing: (1) Bangkitkan state awal S (2) Hitung Energi E pada S n maksimum. Bangkitkan S secara acak yaitu nomer baris dan nomer kolom gambar target yang didapatkan dari random selisih m1,m2=ukuran baris dan kolom gambar target dan n1,n2 ukuran baris dan kolom gambar template. S mewakili posisi gambar target yang akan dicocokan dengan gambar template, bilangan acak ε (1:baris, 2: kolom), sbb: i yang akan zs=gtarget(g(1):g(1)+n1, g(2):g(2)+n2) i (5) Bangkitkan bilangan acak berditribusi uniform p = [0,1] (6) Bila p<exp(-ΔE/T) maka state diterima, dan bila tidak maka state ditolak (7) Turunkan T dengan fungsi cooling schedule tertentu. (8) Ulangi langkah 3 sampai mencapai kriteria stop. 331 6. Hitung Energi En 7. Bila p(En) = dan E=En 8. 9. T = To Ulangi langkah 5 sampai iterasi = N maka state diterima S=Sn IES 2006 – Politeknik Elektronika Negeri Surabaya - ITS 3.2 Menghitung Jumlah Gambar Query 4.1.1 Pendeteksian Menggunakan Random Setelah melakukan proses pendeteksian maka proses tersebut akan diulang sebanyak N kali. Sehingga hasil deteksi gambar query pada gambar target berjumlah N. Penghitungan gambar query akan dilakukan berdasarkan hasil deteksi gambar query pada gambar target. Pada tiap-tiap hasil deteksi akan berada pada posisi yang berbeda, tetapi terdapat beberapa posisi yang sama dan mempunyai nilai persentase selisih sama. Langkah-langkah proses menghitung jumlah gambar query pada gambar target : 1. Lakukan proses pendeteksian sebanyak N kali 2. Akan didapatkan N posisi dari gambar query pada gambar target. 3. Hitung gambar query, jika terdapat nilai histogram yang sama/hampir sama maka dihitung satu obyek gambar. Metode random adalah suatu metode dimana solusi dicari secara acak dan diulang-ulang sampai dihasilkan solusi yang diharapkan. Misalkan dicari suatu angka antara 0 sampai dengan 100, maka akan diacak angkaangka antara 0 dan 100 sampai didapatkan angka yang dimaksud. Metode ini tampak sangat sederhana, karena hanya diperlukan bagaimana suatu solusi dinyatakan dan kemudian mengacak nilainya hingga diperoleh nilai yang diharapkan dari model solusi yang ada. Pendeteksian dengan menggunakan cara random dilakukan dengan cara mengupdate posisi state (x,y) gambar query pada gambar target dengan random. Posisi state dirandom kedua-duanya dengan merandom nilai x dan y. Proses deteksi yang dilakukan sebanyak sepuluh kali dan iterasi yang dipakai sebanyak 10000 kali, hasilnya tampak sebagai berikut : 4. Ujicoba Dan Analisa Pada ujicoba dan analisa ini akan dibagi menjadi 2 tahap yaitu tahap pendeteksian dan tahap penghitungan obyek gambar. Untuk mengetahui hasil pada tiap-tiap tahapan maka disini akan diberikan hasil uji coba pada tiap-tiap tahapan dengan beberapa variasi percobaan. 4.1 Pendeteksian Obyek Gambar Tahapan pertama yang akan dibahas dalam uji coba ini adalah proses pendeteksian gambar query pada gambar target. Sebelum melakukan proses pendeteksian obyek gambar, terlebih dahulu gambar input yang berupa gambar query dan gambar target harus dilakukan proses grayscale terlebih dahulu. Hasil proses grayscale pada gambar input : Input gambar target Gambar 4.3 Hasil Deteksi Menggunakan Random Biasa Dari gambar tersebut dapat diketahui bahwa dengan menggunakan cara random, obyek gambar pada gambar target yang terdeteksi hanya satu yaitu gambar yang sama dengan gambar query. Obyek gambar yang terdeteksi selalu berada pada posisi yang sama pada gambar target. Waktu yang diperlukan untuk melakukan pendeteksian dengan cara random selama 196.922 detik. Histogram dari hasil deteksi gambar : Input gambar query Gambar 4.1 Gambar Input Hasil proses histogram untuk gambar input sebelum dilakukan proses pendeteksian : gambar target gambar query Gambar 4.2 Histogram Gambar Input Gambar 4.4 Histogram Gambar Query dan Gambar Target Keterangan : - Merah : Gambar Query - Biru : Gambar Target Setelah dilakukan proses grayscale, selanjutnya akan dilakukan proses pendeteksian gambar query pada gambar target. Proses pendeteksian akan dilakukan dengan 3 cara yaitu menggunakan cara random biasa, montecarlo dan simulated annealing. 332 IES 2006 – Politeknik Elektronika Negeri Surabaya - ITS Dari histogram diatas dapat diketahui bahwa nilai histogram dari gambar query sama dengan nilai histogram gambar query. Berdasarkan histogram tersebut maka deteksi obyek gambar dengan menggunakan random biasa akan mencari gambar target yang persentase nilai histogramnya hampir sama dengan gambar query. Hal ini menyebabkan hasil deteksi selalu berada pada posisi yang hampir sama, seperti data posisi gambar target yang terdeteksi. Dari gambar di atas dapat diketahui bahwa dengan menggunakan cara MonteCarlo yaitu dengan mengacak salah satu state, dapat mendeteksi semua letak dari gambar query pada gambar target. Waktu yang dibutuhkan untuk melakukan pendeteksian selama 238.094 detik. Histogram dari hasil deteksi gambar : Tabel 4.1 : Hasil deteksi posisi dan persentase selisih histogram Deteksi ke 1 2 3 4 5 6 7 8 9 10 x1 y1 x2 y2 Persentase Nilai Histogram 170 171 172 171 168 173 171 167 167 167 139 137 138 139 136 139 137 138 138 138 238 239 240 239 236 241 239 235 235 235 174 172 173 174 171 174 172 173 173 173 27.22689075630 28.40336134453 27.73109243697 27.22689075630 30.33613445378 27.47899159663 28.40336134453 28.73949579831 28.73949579831 28.73949579831 Gambar 4.6 Histogram Gambar Query dan Gambar Target Keterangan : - Merah : Gambar Query - Biru : Gambar Target 1 - Hijau : Gambar Target 2 - Kuning : Gambar Target 3 4.1.2 Pendeteksian Menggunakan Montecarlo Metode Monte Carlo memperbaiki metode pencarian acak ini dengan mempertimbangkan tidak semua nilai pada solusi harus diubah pada setiap iterasi. Bila sudah solusi mendekati target tidak perlu perubahan yang terlalu besar. Perlu pertimbangan bahwa munculnya bilangan acak sangat tergantung pada distribusi bilangan acak yang digunakan Monte Carlo sebenarnya merupakan metode pencarian acak, tetapi dengan beberapa perbaikan, yaitu tidak semua nilai pada solusi diacak ulang, tetapi dipilih satu nilai saja di antara barisan nilai solusi, dan kemungkinan acak dari setiap kejadian solusi. Sebagai contoh, pada pencarian kata setiap iterasi hanya mengubah satu nilai saja dari kelima nilai yang ada dalam satu solusi. Bila pada solusi hanya mengandung satu nilai saja maka metode Monte Carlo ini sama dengan metode pencarian acak. Proses deteksi yang dilakukan sebanyak sepuluh kali dan iterasi yang dipakai sebanyak 10000 kali, hasilnya tampak sebagai berikut : Dari histogram diatas dapat diketahui bahwa nilai histogram gambar query sama dengan nilai histogram gambar target 1 sehingga posisi gambar target 1 mempunyai kesempatan terdeteksi lebih besar. Pada gambar target 2 dan gambar target 3 mempunyai nilai histogram yang hampir sama seperti gambar query sehingga posisi gambar target 2 mempunyai kesempatan terdeteksi lebih sedikit dari gambar target 1. Hal tampak pada posisi gambar target yang terdeteksi. Posisi gambar target 1 lebih banyak terdeteksi dari gambar target 2 dan gambar target 3. Tabel 4.2 : Hasil deteksi posisi dan persentase selisih histogram Deteksi ke 1 2 3 4 5 6 7 8 9 10 Gambar 4.5 Hasil Deteksi Menggunakan MonteCarlo 333 x1 y1 x2 y2 Persentase Nilai Histogram 219 172 172 59 172 58 172 172 219 57 119 139 139 181 139 181 139 139 119 181 287 240 240 127 240 126 240 240 287 125 154 174 174 216 174 216 174 174 154 216 47.8991596638 27.0588235294 27.0588235294 92.6050420168 27.0588235294 92.6050420168 27.0588235294 27.0588235294 47.8991596638 92.6050420168 IES 2006 – Politeknik Elektronika Negeri Surabaya - ITS Tabel 4.3 : Hasil deteksi posisi dan persentase selisih histogram 4.1.3 Pendeteksian Menggunakan Simulated Annealing Pendeteksian dengan menggunakan Simulated Annealing diharapkan dapat medapatkan hasil yang paling baik. Proses deteksi yang dilakukan sebanyak sepuluh kali dan iterasi yang dipakai sebanyak 10000 kali, hasilnya tampak sebagai berikut : Deteksi ke x1 y1 x2 y2 Persentase Nilai Histogram 1 2 3 4 5 6 7 8 9 10 59 57 219 172 172 59 59 172 219 172 181 181 119 139 139 181 181 139 119 139 127 125 287 240 240 127 127 240 287 240 216 216 154 174 174 216 216 174 154 174 92.60504201680672 92.60504201680672 47.89915966386555 27.058823529411764 27.058823529411764 92.60504201680672 92.60504201680672 27.058823529411764 47.89915966386555 27.058823529411764 4.2 Penghitungan Jumlah Obyek Gambar Gambar 4.7 Hasil Deteksi Menggunakan Simulated Annealing Dengan menggunakan algoritma simulated annealing seluruh posisi dari gambar query pada gambar target dapat terdeteksi semuanya. Waktu yang dibutuhkan untuk melakukan pendeteksian selama 243.703 detik. Penghitungan obyek gambar dilakukan dengan cara menghitung jumlah obyek yang terdeteksi. Pada setiap gambar target yang terdeteksi terdapat beberapa gambar target yang mempunyai persentase nilai histogram yang sama atau hanya berbeda sedikit. Berdasarkan pada hal ini maka gambar target yang mempunyai persentase nilai histogram yang sama atau hanya berbeda sedikit akan dihitung sebagai satu obyek gambar. Proses penghitungan obyek gambar dengan menggunakan Simulated Annealing : Histogram dari hasil deteksi gambar : Gambar 4.14 Hasil Penghitungan Obyek Gmabar Gambar 4.8 Histogram Gambar Query dan Gambar Target Keterangan : - Merah - Biru - Hijau - Kuning : : : : Berdasarkan gambar diatas didapatkan jumlah obyek gambar yang terdeteksi sebanyak tiga. Gambar Query Gambar Target 1 Gambar Target 2 Gambar Target 3 5. Kesimpulan Beberapa kesimpulan yang dapat ditarik dari hasil uji coba perangkat lunak ini adalah sebagai berikut: 1. Nilai histogram dari obyek gambar sangat mempengaruhi proses pendeteksian. Jika nilai histogram gambar target sama dengan gambar query maka gambar target tersebut akan lebih sering terdeteksi. 2. Input gambar target yang mempunyai beberapa obyek yang berbeda belum mampu untuk mendeteksi semua gambar yang mirip dengan gambar query. Karena obyek yang lainnya akan mempengaruhi nilai histogram dari gambar target. Dari histogram diatas nilai histogram gambar target 1 sama dengan gambar query. Nilai histogram gambar target 2 dan gambar target 3 sedikit berbeda dengan gambar query. Maka gambar target 1 akan lebih sering terdeteksi. 334 IES 2006 – Politeknik Elektronika Negeri Surabaya - ITS Daftar Pustaka [1] Gonzales, “Digital Image Processing”,Addison Wesley Publishing Company,1993 [2] J.R. Parker, “Algorithms For Image Processing and Computer Vision”, Wiley Computer Publishing,1997 [3] Agustinus Nalwan, “Pengolahan Gambar Secara Digital”, Elex Media Komputindo,1992 [4] Luo Qiang,Ren Qingli, Luo Li, Luo Jingti, “Genetic Algorithm Used on the Image Detecting and Matching”,Xidian University [5] Nana Ramadijanti, Achmad Basuki, Dadet Pramadihanto “Deteksi Lokasi Gambar Dengan Histogram Menggunakan Simulated Annealing“. [6] Achmad Basuki, Miftahul Huda, Tri Budi Santoso, “Modeling dan Simulasi”, 2004 335