sistem pengaturan lampu lalu lintas menggunakan penjadwalan round-robin: simulasi menggunakan...
DESCRIPTION
Diajukan untuk Memenuhi Tugas Akhir Mata Kuliah Pemodelan dan SimulasiTRANSCRIPT
-
SISTEM PENGATURAN LAMPU LALU LINTAS MENGGUNAKAN PENJADWALAN ROUND-ROBIN: SIMULASI MENGGUNAKAN OMNET++
Laporan Tugas Akhir
Diajukan untuk Memenuhi Tugas Akhir Mata Kuliah Pemodelan dan Simulasi
Michael Aditya Sutiono
NIM : 12110210001
JURUSAN SISTEM KOMPUTER
FAKULTAS TEKNOLOGI INFORMASI DAN KOMUNIKASI
UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG
2014
-
Kata Pengantar
Lampu lalu lintas merupakan benda yang pasti kita jumpai ketika melewati
persimpangan jalan. Lampu ini sangatlah penting untuk mengatur jalannya kendaraan secara
bergantian agar tidak saling bertabrakan dan berebutan ketika ada persimpangan.
Penjadwalan round-robin merupakan salah satu algoritma penjadwalan yang
sederhana, adil, dan merupakan algoritma penjadwalan yang paling sering digunakan.
Algoritma ini membutuhkan definisi sebuah unit waktu yang biasa disebut kuantum dan
semua proses yang dapat berjalan disusun dalam antrian melingkar dan mendapatkan jatah
yang sama untuk melakukan proses, yaitu selama waktu kuantum tersebut.
Melihat seringkali adanya lampu lalu lintas yang waktu tunggunya tidak adil dan terlalu
lama sehingga membuat antrian mobil begitu panjang, maka dengan mengimplementasikan
algoritma penjadwalan round-robin ini diharapkan hal-hal tersebut dapat dikurangi.
-
Pembahasan
Projek ini menggunakan program simulasi OMNeT++ untuk menyimulasikan proses
pengaturan lampu lalu lintas di persimpangan jalan dengan penjadwalan round-robin. Kita
asumsikan setiap lampu lalu lintas mengetahui jumlah antrian kendaraan di setiap jalur, dan
juga memiliki pengatur waktu yang terpusat.
Pengenalan OMNeT++
OMNeT++ adalah program simulasi jaringan berorientasi objek modular yang
berbasiskan kejadian diskrit. Program ini memiliki arsitektur yang umum, sehingga telah
digunakan dalam berbagai persoalan, seperti:
1. memodelkan komunikasi kabel dan nirkabel,
2. memodelkan protocol,
3. memodelkan antrian jaringan,
4. memodelkan multiprosesor dan sistem perangkat keras terdistribusi lainnya,
5. memvalidasi arsitektur perangkat keras,
6. mengevaluasi aspek performa dari sistem perangkat lunak yang kompleks, dan
7. secara umum memodelkan dan menyimulasikan sistem apapun ketika pendekatan
kejadian diskrit dirasa cocok, dan dapat dipetakan ke dalam entitas yang
berkomunikasi dengan bertukar pesan.
OMNeT++ sendiri bukanlah simulator sesuatu yang konkrit, melainkan menyediakan
infrastruktur dan alat untuk menulis simulasi. Salah satu bahan fundamental dari infrastruktur
ini adalah sebuah arsitektur komponen untuk menyimulasikan model. Model dihasilkan dari
komponen yang dapat digunakan kembali yang dinamakan modul. Modul yang diprogram
dengan baik dapat benar-benar digunakan kembali, dan dapat dikombinasikan dalam
berbagai cara seperti blok LEGO.
Modul-modul dapat dihubungkan satu sama lain melalui gates (sistem lain ada yang
menyebutnya port), dan dikombinasikan untuk membentuk compound modules. Modul-
modul dapat berkomunikasi melalui pengoperan pesan, di mana pesan tersebut dapat
membawa struktur data apapun. Modul dapat mengoper pesan melalui jalur yang sudah
didefinisikan terlebih dahulu melalui gates dan connections, atau langsung menuju tujuannya.
Modul mempunyai parameter yang dapat digunakan untuk menyesuaikan perilaku modul
dan/atau memparameterisasi topologi model. Modul yang ada pada tingkat terbawah dari
hierarki modul disebut simple modules, dan mereka dapat mengenkapsulasi perilaku modul.
Simple modules deprogram dalam C++, dan menggunakan library simulasi.
-
Penjelasan Program Simulasi
Program dalam projek ini dibuat untuk menyimulasikan komunikasi antar lampu lalu lintas
(modul tl) yang mengetahui jumlah antrian dan terhubung dengan
sebuah server (modul lampu) sehingga setiap lampu lalu lintas mendapat giliran yang sama
(20 satuan waktu) untuk mengosongkan antrian yang terbentuk selama menunggu. Jika ketika
mendapat giliran tidak ada mobil (mobil disimbolkan sebagai message) dalam antrian, maka
jalur tersebut akan tetap mendapat giliran, namun dengan waktu jalan yang lebih singkat (8
satuan waktu). Batasan masalah pada simulasi ini antara lain:
1. semua mobil dianggap tidak memiliki perbedaan (perbedaan ukuran, kecepatan, dan
prioritas),
2. tujuan tiap jalur dijadikan satu karena diasumsikan ketika lampu menyala hijau, semua
mobil pasti sampai ke satu tujuan (walaupun tiap jalur berbeda tujuan),
3. semua channel dianggap ideal untuk menyederhanakan simulasi, dan
4. tidak ada waktu untuk mobil melakukan persiapan berhenti atau tepat akan berjalan
(tidak ada lampu kuning).
Tampilan awal simulasi:
-
Parameter seperti waktu kedatangan mobil (distribusi uniform dengan range tertentu), waktu
tunggu ketika kosong (8 satuan waktu), dan waktu kuantum yang diberikan kepada tiap jalur
(20 satuan waktu) merupakan parameter penting dalam simulasi ini, dan dapat diubah
sehingga menghasilkan hasil yang berbeda.
Penjelasan skenario simulasi:
1. keempat jalur kedatangan mobil (berupa message yang berisikan
Mobil) secara random dengan mengikuti distribusi uniform
dengan range yang berbeda-beda setiap jalur yang diatur dalam modul north, east,
south, dan west,
2. untuk permulaan, jalur atas (modul tlnorth) yang mendapat giliran terlebih dahulu
dengan cara modul lampu mengirimkan message yang berisikan jalan sehingga jalur
mengetahui bahwa dia telah mendapatkan giliran, mengubah status menjadi 1
(0=berhenti, 1=jalan), dan karena antrian awal masih kosong, maka mobil yang datang
boleh langsung lewat dan jalur 1 hanya mendapat giliran selama 8 satuan waktu dan
kemudian mengirimkan message yang berisikan kosong kepada modul lampu agar
mengetahui kekosongan tersebut, sehingga modul lampu dapat mengirimkan
message yang berisi selesai sehingga jalur tersebut mengubah status menjadi 0 dan
jika ada mobil yang datang lagi maka mobil tersebut akan dimasukkan ke dalam
antrian,
3. untuk jalur-jalur selanjutnya (modul tl), ketika ada antrian
maka akan mendapatkan giliran selama 20 satuan waktu yang diketahui melalui
message yang berisikan jalan (mengubah status jalur yang menerima message
tersebut menjadi 1) yang dikirimkan oleh modul lampu dan pada saat itu pula modul
lampu mengirimkan message yang berisi selesai kepada modul sebelumnya yang
mendapat giliran sehingga modul tersebut dapat berhenti mengirimkan mobil (status
diubah menjadi 0). Message berisi jalan dan selesai ini akan dikirimkan secara
berkala selama 20 satuan waktu, dan
4. untuk jalur-jalur yang memiliki status 0, ketika mobil datang maka akan dimasukkan
ke dalam antrian.
Melalui simulasi ini, kita dapat melihat bagaimana kepadatan antrian yang terbentuk pada
setiap jalur, apakah dengan parameter sekian antrian yang terbentuk terlalu padat atau tidak,
sehingga kita dapat menentukan parameter-parameter yang optimal untuk
diimplementasikan pada sistem nyata.
-
Kesimpulan
Sistem pengaturan lampu lalu lintas yang ada saat ini (di Indonesia) banyak yang tidak
adil dalam memberikan giliran, sehingga seringkali membuat pengendara menunggu lama
sekali, padahal menunggu untuk jalur yang kosong atau karena jalur lain yang terlalu lama
mendapat giliran. Dengan menggunakan penjadwalan round-robin membuat pembagian
giliran menjadi lebih adil dan membuat antrian tidak terlalu panjang serta pengendara
menjadi lebih nyaman dalam menunggu (tidak terlalu lama).
Dinas Lalu Lintas dan Angkutan Jalan dapat menggunakan program simulasi ini,
sehingga dapat merencanakan, mengalkulasi, dan menentukan parameter-parameter yang
tepat untuk diimplementasikan pada sistem yang asli.
-
DAFTAR PUSTAKA
Developer OMNeT++.Tanpa Tahun. OMNeT++ User Manual. Dalam www.omnetpp.org,
Diunduh pada Kamis, 19 Juni 2014, pk.20.18., di Tangerang.
University of Illinois At Urbana Champaign.Tanpa Tahun. What is Round-Robin Scheduling?.
Dalam choices.cs.uiuc.edu, Diunduh pada Kamis, 19 Juni 2014, pk.20.18., di Tangerang.