Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
1
SIMULASI PERGERAKAN EVAKUASI KELUAR SEGEROMBOLAN MANUSIA DALAM BENTUK 2D DENGAN METODE FLOCKING DAN RAY CASTING (Studi Kasus : Rumah) David Candra1, Meilany Dewi, S.T., M.T.2, Ananda. S.kom., M.T. 1
3
Program Studi Teknik Informatika Politeknik Caltex Riau, Pekanbaru 28265, email: (david.candra1991@gmail. com1,
[email protected] 2,
[email protected])
Abstrak Kepanikan saat terjadinya bencana di sebuah ruangan dapat menimbulkan banyak korban jiwa. Jalur evakuasi keluar merupakan salah satu jalan yang digunakan untuk menyelamatkan diri. Kondisi ini menjadi salah satu kajian yang menarik untuk disimulasikan. Simulasi ini menggambarkan pergerakkan evakuasi keluar segerombolan manusia dalam bentuk animasi eksekusi ruang. Pembuatan animasi simulasi ini menggunakan metode Flocking dan Ray Casting. Metode flocking merupakan suatu teknik yang digunakan untuk mensimulasikan perilaku suatu entitas dalam hal pergerakkan segerombolan manusia. Ray casting digunakan untuk mengarahkan objek manusia agar menghindar dari hambatan. Penelitian ini mensimulasikan pergerakan segerombolan manusia untuk keluar dari ruangan satu lantai menuju satu pintu keluar utama. Dalam penelitian ini menunjukan bahwa metode flocking dan ray casting ini dapat diimplementasikan dalam simulasi animasi untuk evakuasi keluar di sebuah ruang. Kata kunci : Flocking, Ray Casting, Simulasi, Animasi. Abstract Panic during the disaster in a room can cause a lot of casualties. Evacuation path is one path that is used to save themselves. This condition is one interesting study to be simulated. This simulation illustrates the movement of a swarm of human evacuation in the form of animated execution space. This simulation animation creation method Flocking and Ray Casting. Flocking method is a technique used to simulate the behavior of an entity in terms of a swarm of human movement. Ray casting is used to direct the human object in order to avoid obstacles. This study simulates the movement of a swarm of people to get out of the room one floor towards the main exit. In this study show that the flocking and the ray casting method can be implemented in a simulation animation for evacuation out in a room. Keywords: Flocking, Ray Casting, Simulation, Animation.
1. PENDAHULUAN 1.1 Latar Belakang Saat ini, animasi merupakan salah satu teknologi penting yang selalu berkembang dari tahun ke tahun. Animasi begitu dikenal dalam bidang perfilman, terutama dunia anak-anak. Sekarang animasi tidak hanya digunakan dalam dunia hiburan seperti pembuatan film, permainan, dan juga dalam pembuatan desain web serta dunia pendidikan. Selain penerapan animasi di atas, animasi juga dapat digunakan untuk mensimulasikan kejadian yang akan terjadi di sekitar kita. Seperti simulasi kecelakaan yang terjadi pada siapa saja,
2
David Candra
dimana saja, dan kapan saja. Terkadang bencana tersebut dapat menimpa seseorang di tempat yang tidak diperkirakan, seperti di ruang, gedung, maupun tempat-tempat hiburan. Saat manusia mengalami bencana, maka emosi menjadi tidak terkendali dengan baik yang menimbulkan tabrakan antar manusia. Pergerakan-pergerakan manusia yang banyak menimbulkan tabrakan tersebut dapat dihindari dengan membuat simulasi evakuasi keluar dalam bentuk animasi dua dimensi yang menyerupai dunia nyata. Pemodelan animasi ini dilakukan dengan adanya metode Flocking dan Ray Casting. Dengan adanya pemodelan simulasi animasi yang semakin berkembang dan menarik secara visual untuk dilihat. Maka dibuat sebuah aplikasi berbasis desktop yang mempunyai antar muka yang baik, fungsionalitas, dan keamanan yang terjaga. Aplikasi berbasis dekstop penelitian ini berjudul “Simulasi Pergerakan Evakuasi Keluar Segerombolan Manusia 2D di Sebuah Ruang dengan Metode Flocking dan Ray Casting”. 1.2 Rumusan Masalah Permasalahan dalam penelitian ini sebagai berikut: 1. Bagaimana mensimulasikan pergerakan evakuasi keluar segerombolan manusia dua dimensi di sebuah ruang? 2. Bagaimana mensimulasikan manusia terhadap sesama agar bersegerombolan dan menuju ke pintu utama dari sebuah ruangan dengan menggunakan metode flocking? 3. Bagaimana mensimulasikan manusia yang bergerak secara dinamis yang berhadapan dengan benda yang statis terdapat pada ruangan dengan menggunakan metode ray casting? 1.3 Tujuan dan Manfaat 1.3.1 Tujuan Pembuatan penelitian bertujuan untuk: 1. Memvisualisasikan pergerakkan evakuasi keluar segerombolan manusia disebuah ruang secara dua dimensi. 2. Memvisualisasikan pemberian jarak pada segerombolan manusia (dinamis) disebuah ruang dengan metode flocking. 3. Memvisualisasikan penghindaran hambatan dinding ruang yang terdiri dari satu lantai dengan menggunakan metode ray casting. 1.3.2 Manfaat Manfaat dari pembuatan penelitian ini adalah untuk memperlihatkan bentuk dua dimensi evakuasi keluar dari segerombolan manusia menuju pintu utama pada ruang satu lantai. 2. TINJUAN PUSTAKA 2.1 Perbandingan Penelitian Penelitian Hurk (2009), A Multi-Layered Flocking System For Crowd Simulation. Menjelaskan tentang bagaimana memodelkan berbagai jenis gerakan segerombolan orang dan hewan yang dapat dibuat dalam sistem dengan representasi karakter. Dari hasil penelitian tersebut menyatakan bahwa masing-masing kerumunan memiliki karakter yang berbeda-beda dan sulit untuk dikombinasikan untuk satu tujuan. Dalam penelitian Haris (2009), perancangan game simulasi planetUmi menggunakan algoritma wandering, seek dan flee, serta flocking. Algoritma flocking diterapkan dalam mensimulasikan objek game untuk berinteraksi terhadap objek yang ada dalam memilih musuh yang lebih kuat
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
3
untuk diserang bersama. Simulasi games diterapkan dengan menggunakan bahasa pemrograman python yang mendukung beberapa sistem operasi. Penelitian tentang pergerakkan pengunjung mall oleh Dewi (2012) dari Institut Teknologi Sepuluh Nopember (ITS) yang berjudul “Simulasi pergerakan Pengunjung Mall menggunakan Flocking dan Obstacle Avoidance” berisi tentang mensimulasikan pergerakan manusia di mall keluar menuju pintu utama dalam menghindari hambatan statis berupa benda diam didalam mall dan hambatan dinamis berupa benda yang bidang bergerak. Simulasi menggunakan bahasa pemrograman Python. Adapun perbedaan penelitian ini dengan peneliti terdahulu adalah studi kasus dan metode yang digunakan. Tabel 1. Kategori
Tabel 1. Perbandingan Penelitian Penelitian Penelitian Penelitian Simon Van Darius Meilany Dewi Den Hurk Andana Haris
Metode / Algoritma
Flocking
Studi Kasus
Segerombol an Manusia dan Hewan
Bahasa Pemrograman
Python
Penelitian Proyek Akhir ini
wandering, seek dan flee, serta flocking Objek Game
Flocking dan Obstacle Avoidance Pengunjung Mall
Flocking dan Ray Casting
Python
Python
Java
Segerombolan Manusia
2.2 Evakuasi Keluar Evakuasi dapat berarti berpindahnya atau pemindahan orang-orang dari zona yang terancam atau berbahaya ke zona aman. Evakuasi dapat direncanakan, dan orang-orang harus meninggalkan zona bahaya sesuai dengan rencana dan prosedur (Andaiyani4, 2013). Pengontrolan tanpa terjadinya tabrakan sangat jarang terjadi, mengacu pada hal ini simulasi ini dibuat supaya segerombolan manusia tidak saling tabrakan dan menuju pintu keluar utama disebuah ruang. 2.3 Kecepatan Manusia Berlari Sebuah penelitian terbaru menemukan bahwa manusia biasa hanya bisa dengan kecepatan maksimal 27 km per jam (tracylezama, 2011). Temuan baru ini didapatkan setelah peneliti mencoba mencari tahu tentang faktor-faktor yang membatasi kecepatan manusia. Kesimpulan yang mereka capai yaitu kecepatan tertinggi manusia dapat dicapai sesuai dengan seberapa cepat otot-otot dalam tubuh dapat bergerak. 2.4 Animasi Animasi adalah sebuah proses merekam dan memainkan kembali serangkaian gambar statis untuk mendapatkan sebuah ilusi pergerakan. Berdasarkan arti harfiah, Animasi adalah menghidupkan, yaitu usaha untuk menggerakkan sesuatu yang tidak bisa bergerak sendiri (McGraw, 2002). 2.5 Metode Flocking Flocking adalah suatu teknik yang sangat terkenal untuk mensimulasikan perilaku segerombolan entitas atau individu. Metode Flocking memiliki tiga aturan sederhana yang saling
4
David Candra
terkait yaitu pemisahan antar objek, penyesuaian kecepatan dan berpadu (Reynolds, 2010). Flocking pada simulasi ini didukung oleh fungsi seek. Fungsi seek berguna agar boids memiliki arah dan tujuan yang akan dicapai. Seek bukanlah bagian dari metode flocking, tetapi hanya berfungsi sebagai pendukung. Seek memberikan kemampuan untuk mengarahkan boids menuju posisi yang telah ditentukan (menuju ke arah target). 1. Separation (Pemisahan) Separation memberikan kemampuan untuk menjaga jarak dengan boids lain yang merupakan tetangganya. Hal ini dapat digunakan untuk meminimalkan terjadinya tabrakan.
Gambar 1. Separation (Sumber : http://www.red3d.com/cwr/steer/gdc99/)
2. Alignment (Penyesuaian Kecepatan) Alignment memberikan kemampuan untuk menyelaraskan diri dengan boids terdekat lainnya. Dalam hal ini yaitu kepala berada di arah yang sama dan kecepatan boids yang seimbang. Alignment mengarahkan boids menuju posisi rata-rata tetangga.
Gambar 2. Alignment (Sumber : http://red3d.com/cwr/steer/gdc99/)
3. Cohesion (Kohesi) Cohesion memberikan kemampuan untuk berpadu (tetap dekat) dengan boids terdekat lainnya. Hal ini akan membuat boids tetap bersama-sama dengan kawanan lokalnya dan melakukan kegiatan pengumpulan beberapa kawanan.
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
5
Gambar 3. Cohesion (Sumber : http://red3d.com/cwr/steer/gdc99/)
2.6 Algoritma Ray Casting Ray casting adalah teknik yang banyak digunakan dalam lingkungan tiga dimensi yang terdiri dari casting "sinar" dalam posisi yang diberikan pada arah tertentu. Metode ray casting dapat mendeteksi adanya hambatan pada sebuah ruang (Cozic, 2006). Pada algoritma ray casting, proses pencahayaan dilakukan dengan cara menembakkan sebuah garis sinar dalam tiap-tiap pixel dari layar tergantung dari banyaknya piksel dalam layar tersebut. Selanjutnya, garis sinar akan bergerak lurus satu arah (garis sinar juga merupakan alur pandang dari viewer) hingga menemukan atau membentur sebuah obyek atau hambatan terdekat yang menghalangi jalur sinar tersebut. Melalui bentuk dari sinar inilah obyek yang menghalangi dapat diketahui oleh boids (Handriyantini, 2009).
Gambar 4. Algoritma Ray Casting (Sumber : http://www.fabiensanglard.net/wolf3d/raycasting.png)
3. PERANCANGAN 3.1 Perancangan Diagram alir Dalam pembuatan simulasi pergerakan evakuasi keluar segerombolan manusia dua dimensi menggunakan metode flocking dan ray casting terdapat juga beberapa diagram alir pendukung.
6
David Candra
Diagram Alir Simulasi Sistem
Diagram Alir Metode Flocking Mulai
Mulai Mulai Posisi Manusia X = Random.Manusia(X); Y = Random.Manusia(Y); Posisi (X,Y)
Jumlah Manusia - Inisialisasi koordinat dan tujuan - Inisialisasi jarak dinding dengan manusia
Seek
Random Posisi Manusia X= Random.Manusia(X); Y= Random.Manusia(Y); Posisi(X.Y)
Aturan 1 Separation
Pancaran ray Tidak Aturan 2 Alignment
Flocking dan Ray Casting Mengarahkan manusia ke pintu keluar
Jarak manusia mendekteksi dinding = 35 piksel
Tidak
Aturan 3 Cohesion
Tidak
Ya
Tidak Manusia dengan pancaran ray bergerak ke kiri atau ke kanan sampai menemukan jalan dan bergekrak ke pintu keluar
Pintu keluar Tecapai Pintu keluar tercapai
Tujuan
Ya Ya
Ya
Manusia berhasil keluar menuju pintu utama
Selesai
Gambar 5 Diagram Alir Simulasi Animasi Sistem
Manusia berhasil keluar menuju pintu utama
Manusia berhasil keluar menuju pintu keluar
Selesai
Selesai
Gambar 6. Diagram Alir Metode Flocking Simulasi Animasi
Gambar 7. Diagram Alir Algoritma Ray Casting
a. Perancangan Use Case Diagram Pada perancangan use case diagram ini, pengguna dapat menginputkan banyak jumlah manusia dan dapat keluar dari aplikasi melalui tombol keluar seperti yang ditunjukkan pada Gambar 8. Input Manusia
Mengatur Kecepatan
Start Pengguna
Stop
Exit
Gambar 8. Use Case Diagram
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
7
3.3 Perancangan Class Diagram
Gambar 9. Class Diagram Sistem
4. PENGUJIAN DAN ANALISA Pengujian dan analisa adalah tahap yang penting dalam pengerjaan penelitian ini. Dari hasilhasil yang diperoleh, akan dapat dijadikan sebagai parameter yang penting dalarn pengembangan selanjutnya jika masih diperlukan suatu penyempurnaan. Pada bab ini akan dibahas mengenai cara kerja sistem dan proses-proses yang terjadi pada pelaksanaan uji coba serta analisa terhadap sistem yang telah dibangun. 4.1 Pengujian Pengujian perangkat lunak dilakukan dengan menggunakan metode pengujian Black Box. Pengujian black box dilakukan dengan menghitung waktu yang ditempuh manusia sampai menuju pintu keluar di sebuah ruang dua dimensi. 4.1.1 Pengujian Mengukur Waktu Menuju Pintu Keluar Adapun salah satu pengujian black box yang digunakan adalah mengukur waktu yang ditempuh untuk sampai ke pintu keluar di sebuah ruang dua dimensi. Kecepatan yang ditentukan yaitu 27 km/jam, yang dimana 27 km/jam diubah ke dalam satuan m/detik sama dengan 7,5 m/detik, yang dimana dibuat penskalaan 8 piksel/detik mewakili 7,5 m/detik. Pengujian waktu kecepatan ini dilakukan secara 10 kali. Setelah dilakukan 10 kali pengujian, maka diambil sebuah rata-rata dari hasil waktu kecepatan. Sehingga didapatkan nilai dari rata-rata pada tiap jumlah manusia.
8
David Candra
Kecepatan (piksel/detik)
1 2 3 4 5 6 7 8 9 10 11
8 8 8 8 8 8 8 8 8 8 8
Waktu Yang Dibutuhkan
NO
Tabel 4.1 Waktu Menuju ke Pintu Keluar Jumlah Manusia Waktu yang dibutuhkan (detik) 5 10 20 30 40 50 60 70 80 90 100
5,071 5,798 6,125 6,461 6,875 7,223 7,262 7,789 7,793 7,795 8,019
Perbandingan Waktu Yang Dibutuhkan
10
7,223 7,262 6,461 6,875 6,125 5,798 5,071
8 6
7,789 7,793 7,795 8,019
4 2 0 0
20
40
Jumlah60 Manusia
80
100
120
Gambar 4.1. Perbandingan Waktu yang Dibutuhkan
Berdasarkan hasil pengujian dengan kecepatan yang sama, disimpulkan bahwa penambahan jumlah manusia berbanding lurus dengan penambahan waktu yang dibutuhkan untuk menuju ke pintu keluar, karena setiap boids mempunyai range jari-jari 10 piksel. 4.1.2 Penelitian Perbandingan Parameter Jumlah Tabrakan Pengujian yang dilakukan dalam perbandingan parameter adalah menghitung jumlah tabrakan boids yang ada dalam suatu simulasi evakuasi keluar. Sampel jumlah manusia yang diambil berjumlah 10 manusia yang dimana terdapat suatu posisi boids berada. Boids memiliki nilai jari-jari 10 piksel, suatu tabrakan terjadi dikarenakan jari-jari saling beririsan satu sama lain, apabila jari-jari kecil dari 20 piksel, berarti antar objek saling beririsan, sehingga dapat dihitungkan jumlah tabrakan yang ada pada sistem.
NO 1 2 3
Tabel 4.2 Tabrakan Pertama Boids Kecepatan Jumlah Jumlah (piksel/detik) Manusia Tabrakan 8 8 8
5 10 20
0 0 4
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
4 5 6 7 8 9 10 11
8 8 8 8 8 8 8 8
30 40 50 60 70 80 90 100
9
7 13 17 20 25 29 31 36
Berdasarkan data yang berada pada tabel 4.2 menyatakan bahwa jumlah 5 sampai 10 boids tidak mengalami tabrakan dikarenakan jari-jari dari sebuah boids tidak saling beririsan dan tidak saling beririsan juga sama hambatan pada sebuah ruang dikarenakan sebuah ruang masih terdapat tempat untuk menghindar. Sedangkan dengan jumlah boids 20 sampai 100 sudah saling beririsan jari-jarinya dan luas dari sebuah ruang sudah mulai berkurang sehingga lebih sering terjadinya suatu tabrakan pada hambatan yang ada. 4.2 Analisa Berdasarkan pengujian mengukur waktu yang ditempuh untuk menuju ke pintu keluar dapat dilihat di tabel 4.1 dan jumlah tabrakan yang terjadi dapat dilihat pada tabel 4.2. Dari penjelasan tabel 4.1 kita dapat menganalisa bahwa manusia yang berjumlah lima manusia dengan waktu yang dibutuhkan yaitu 5,071 detik jauh lebih cepat untuk menuju pintu keluar dibandingkan jumlah manusia yang lebih banyak berjumlah 100 manusia dan kecepatan yaitu 8,019 detik, sedangkan penjelasan tabel 4.2 jumlah tabrakan terjadi adalah boids berjumlah 5 dan 10 tidak mengalami tabrakan, lebih dari 10 boids tabrakan terjadi karena disebabkan oleh kurang luasnya suatu ruangan yang ada, sehingga tabrakan (berisan) jari-jari antar boids itu terjadi satu sama lain. 5. KESIMPULAN DAN SARAN 5.1 Kesimpulan Berdasarkan penelitian yang dilakukan, maka diambil kesimpulan, yaitu: 1. Dapat divisualisasikan pergerakan evakuasi keluar segerombolan manusia di sebuah ruang secara dua dimensi. 2. Dapat divisualisasikan terhadapat sesama agar bergerombolan (dinamis) dan menuju ke pintu utama dari sebuah ruangan dengan metode flocking. 3. Dapat menghindar dari hambatan dinding ruang dengan menggunakan ray casting. 4. Berdasarkan hasil analisa dengan mengukur waktu manusia menuju pintu keluar adalah semakin banyak manusia kemungkinan keluar dari sebuah ruang lebih membutuhkan waktu yang lebih lama, dibandingkan dengan manusia yang berjumlah sedikit untuk keluar dari ruangan. Sedangkan analisa dengan menghitung jumlah tabrakan yang ada yaitu, jari-jari sering terjadi bertabrakan (berisisan) ketika jumlah manusia mulai dari 20 manusia. 5.2 Saran Untuk pengembangan aplikasi ini, ada beberapa hal yang dapat disarankan antara lain: 1. Diharapkan untuk pengembangan lebih lanjut, ruang lingkup pergerakan manusia diperluas dan dengan membuat pintu yang berjumlah lebih dari satu.
10
David Candra
2. Aplikasi ini dapat dikembangkan dengan membuat fitur tambahan untuk perpindahan posisi hambatan (dinding) secara dinamis. 3. Pemodelan animasi pada aplikasi ini dapat dikembangkan menjadi pemodelan tiga dimensi. 4. Perhitungan jumlah tabrakan secara sistem. References [1] Andaiyani4.
(2013). Pengertian Animasi. Diambil 20 Februari http://id.shvoong.com/social-sciences/sociology/2352260-pengertian-evakuasi/
2013
dari
[2] Cozic, Laurent. (2006). Ray Casting in a 2D tile-based environment. Diambil 24 Januari 2013 dari http://www.codeproject.com/Articles/15604/Ray-casting-in-a-2D-tile-based-environment [3] Dewi, Meilany. (2012). Simulasi Pergerakan Pengunjung Mall Menggunakan Flocking dan Obstacle Avoidance. Tesis. Jurusan Teknik Elektro Institut Teknologi Sepuluh Nopember. [4] Handriyanti, Eva. (2009). Perbandingan Algoritma Scanline dan Algoritma Ray tracing Terhadap Akurasi Pencahayaan pada Piranti Lunak 3ds MAX. Diambil 09 Juli 2013 dari http://www.slideshare.net/evahandriyantini/naskah-algorithma-ray-tracing-sceneline-8333007 [5] Haris, Darius Andana. (2009). Game Simulasi PlanetUmi. Diambil 29 Januari 2013 dari http://karyailmiah.tarumanagara.ac.id/index.php/S1TI/article/view/1839 [6] Hurk, S.V.D. (2009). A Multi-Layered Flocking System For Crowd Simulation. University of Auckland. Diambil 27 Desember 2012 dari http://www.appperfect.com/products/java-codetest.html [7] McGraw, Ibiz Fernandez. (2002). Pengertian Animasi. Diambil 26 Januari 2013 dari http://skp.unair.ac.id/repository/webpdf/web_Simulasi_Animasi_Visualisasi_TYAS_ISTIQOMAH.pdf [8] Reynolds, C.W. (2010). Steering Behaviours For Autonomous Characters. Diambil 18 Nopember 2012 dari http://www.red3d.com/cwr/steer/gdc99/ [9] Tracylezama. (2011). How Fast can the Average Human Run. Diambil pada tanggal 26 Februari 2013 dari http://answers.ask.com/Science/Other/how_fast_can_the_average_human_run