PEMODELAN SISTEM KOMPLEKS BERDASARKAN...

40
PEMODELAN SISTEM KOMPLEKS BERDASARKAN PRINSIP ACTIVE WALKER DAN CELLULAR AUTOMATA RYAN SUGIHAKIM DEPARTEMEN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014

Transcript of PEMODELAN SISTEM KOMPLEKS BERDASARKAN...

PEMODELAN SISTEM KOMPLEKS

BERDASARKAN PRINSIP ACTIVE WALKER

DAN CELLULAR AUTOMATA

RYAN SUGIHAKIM

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2014

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*

Dengan ini saya menyatakan bahwa skripsi berjudul Pemodelan Sistem

Kompleks berdasarkan Prinsip Active Walker dan Cellular Automata adalah benar

karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam

bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang

berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari

penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di

bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.

Bogor, September 2014

Ryan Sugihakim

NIM G74100055

ABSTRAK

RYAN SUGIHAKIM. Pemodelan Sistem Kompleks berdasarkan Prinsip Active

Walker dan Cellular Automata. Dibimbing oleh HUSIN ALATAS.

Sistem kompleks memiliki dinamika yang sangat rumit. Metode analitik

sulit untuk memecahkan sebagian besar masalah dinamika sistem kompleks.

Baru-baru ini, ada paradigma baru yang digunakan untuk memodelkan sistem

kompleks, yaitu prinsip active walker dan cellular automata. Kami melakukan

penggabungan kedua paradigma ini untuk memodelkan sistem kompleks. Hasil

yang diperoleh berupa model dinamika diskret. Model yang dibuat kemudian

diterapkan pada masalah arus lalu lintas dan filtrasi sederhana.

Kata kunci: active walk, cellular automata, filtrasi membran, lalu lintas, sistem

kompleks

ABSTRACT

RYAN SUGIHAKIM. Modelling The Complex Systems based on Active Walker

Principle and Cellular Automata. Supervised by HUSIN ALATAS.

Complex systems have very complicated dynamics. It is hard to solve them

by using analytic methods. More recently, there is a new paradigm that is used to

model complex systems, namely the principle of active walker and cellular

automata. We merge these two paradigms to model complex systems. Results

obtained in the form of discrete dynamical model. The model made is then applied

to the traffic flow and a simple filtration problem.

Keywords: active walk, cellular automata, complex systems, membrane filtration,

traffic flow

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Sains

pada

Departemen Fisika

PEMODELAN SISTEM KOMPLEKS BERDASARKAN

PRINSIP ACTIVE WALKER

DAN CELLULAR AUTOMATA

RYAN SUGIHAKIM

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2014

Judul Skripsi : Pemodelan Sistem Kompleks berdasarkan Prinsip Active Walker

dan Cellular Automata

Nama : Ryan Sugihakim

NIM : G74100055

Disetujui oleh

Dr Husin Alatas

Pembimbing Utama

Diketahui oleh

Dr Akhiruddin Maddu

Ketua Departemen

Tanggal Lulus:

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas

segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang

dipilih pada penelitian ini yaitu sistem kompleks yang ruang lingkup dan

aplikasinya sangat luas meliputi berbagai bidang, termasuk ilmu alam dan ilmu

sosial.

Tanpa bantuan dari orang lain, tidak mungkin karya ilmiah ini dapat

diselesaikan dengan baik, penulis mengucapkan terimakasih kepada:

1. Ibu, Ayah, Kakang, Sandi, dan Arya yang selalu memberi semangat dan

selalu menjadi inspirasi bagi penulis.

2. Bapak Husin Alatas yang telah memberikan motivasi, bimbingan, serta

pengetahuannya kepada penulis.

3. Bapak Kiagus Dahlan, Bapak Sidikrubadi Pramudito, Bapak Irmansyah,

dan Bapak Mamat Rahmat yang telah memberi masukan dan kritikan.

4. Bapak Ardian Arif selaku pembimbing akademik saya.

5. Bapak Faozan Ahmad yang telah memberikan pengetahuan dan saran

kepada penulis.

6. Seluruh staf di departemen Fisika FMIPA IPB atas pelayanannya.

7. Asmareta yang selalu menemani dan memberi dukungannya kepada

penulis.

8. Rekan-rekan fisika 47, Kharis, Habib, Nofi, Hadyan, Vivi, Setiawan,

Ratna, Yuyun, Afgan, Eer, Arman, Alvin, Yagus, Adam, fisika 48, dan

fisika 49 yang telah memberi semangat bagi penulis.

9. Rekan-rekan kontrakan Tjipenk House dan Deboy atas kebersamaannya.

10. Semua pihak yang belum disebutkan yang telah memberi dukungan

moral maupun material.

Semoga karya ilmiah ini bermanfaat.

Bogor, September 2014

Ryan Sugihakim

DAFTAR ISI

DAFTAR TABEL vi

DAFTAR GAMBAR vi

DAFTAR LAMPIRAN vi

PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 1

Tujuan Penelitian 1

Manfaat Penelitian 2

Ruang Lingkup Penelitian 2

TINJAUAN PUSTAKA 2

Cellular Automata (CA) 2

Active walker (AW) 2

METODE 3

Alat 3

Model 3

HASIL DAN PEMBAHASAN 5

Aplikasi untuk Arus Lalu Lintas 5

Aplikasi untuk Filtrasi Sederhana 10

SIMPULAN DAN SARAN 13

Simpulan 13

Saran 13

DAFTAR PUSTAKA 13

LAMPIRAN 15

RIWAYAT HIDUP 30

DAFTAR GAMBAR

Unit sel dalam ruang tiga dimensi 3 Skema seri (kiri) dan paralel (kanan) 4 Tipe-tipe neighborhood 5 Neighborhood untuk aturan simulasi lalu lintas 6 Hubungan entropi dengan banyak kendaraan 7 Susunan awal simulasi lalu lintas 7 Entropi lalu lintas 8 Variasi kondisi awal simulasi lalu lintas 8 Entropi per lajur dengan variasi kondisi awal (atas kiri: lajur 1, atas

kanan: lajur 2, bawah: lajur 3) 9 Daerah stabil dan tidak stabil 9 Entropi total dan jumlah kendaraan 10

Neighborhood untuk simulasi filtrasi sederhana 10 Aturan transisi konfigurasi untuk simulasi membran 11 Aturan transisi momentum untuk simulasi membran 11 Skema simulasi filtrasi sederhana 11 Hasil simulasi untuk N = 300 partikel 12 Hasil simulasi untuk N = 480 partikel 12

DAFTAR LAMPIRAN

Program Matlab untuk simulasi filtrasi sederhana 15 Program pemanggil simulasi filtrasi sederhana 15 Fungsi Matlab: multiagent81.m 16

Fungsi Matlab: timur.m 24 Fungsi Matlab: barat.m 24 Fungsi Matlab: utara.m 24

Fungsi Matlab: selatan.m 25 Program Matlab untuk simulasi arus lalu lintas 25 Fungsi pemanggil untuk simulasi arus lalu lintas 25 Fungsi Matlab: SimulasiMultiAgent102.m 26 Fungsi Matlab: maju1.m 27

Fungsi Matlab: maju2.m 27 Fungsi Matlab: kekanan.m 27 Fungsi Matlab: kekiri.m 27 Fungsi Matlab: kekanankiri.m 28 Fungsi Matlab: mencacah.m 28

Fungsi Matlab: TrafficEntropy.m 28

Fungsi Matlab: tampilkan.m 28

PENDAHULUAN

Latar Belakang

Dua puluh tahun yang lalu, sistem kompleks menjadi studi interdisiplin

yang mengubah paradigma ilmu pengetahuan.1 Sistem kompleks yaitu sistem

yang terdiri dari banyak subunit yang saling berinteraksi.2 Metode yang digunakan

untuk meneliti sistem kompleks di antaranya adalah analitik atau komputasi.

Metode analitik biasanya menyelesaikan persamaan matematik dalam bentuk

persamaan diferensial untuk meneliti perilaku sistem, sedangkan metode

komputasi dilakukan dengan bantuan komputer. Terkadang sulit untuk

memecahkan masalah dalam sistem kompleks dengan metode analitik. Persamaan

dalam sistem kompleks dapat berupa persamaan nonlinear, dan bisa juga terkopel

(setiap persamaan saling terhubung), yang penyelesaian analitiknya sulit

diperoleh. Oleh karena itu, dikembangkan metode komputasi untuk membantu

masalah tersebut.

Baru-baru ini, ada paradigma yang dapat memodelkan sistem kompleks.

Yaitu prinsip active walker,3 dan cellular automata.

4 Prinsip active walker (AW)

dan cellular automata (CA) dalam penelitian ini dimaksudkan untuk menjadi

basis dari permodelan sistem kompleks. AW sudah bisa mendeskripsikan

fenomena kompleks seperti dielectric breakdown.5 CA sudah banyak digunakan

sebagai alat simulasi dalam magnetisasi dan menentukan kalor spesifik,6 lalu

lintas,7 dan hidrodinamika.

8 Dengan menggabungkan kedua prinsip ini, kami

dapat membuat sebuah permodelan yang menggambarkan dinamika sistem

kompleks. Model yang kami buat diaplikasikan ke dalam sistem filtrasi sederhana

dan arus lalu lintas.

Perumusan Masalah

Berdasarkan uraian dari latar belakang, perumusan masalah penelitian ini

yaitu

1. Bagaimana permodelan sistem kompleks dapat dibuat dari prinsip active

walker (AW) dan cellular automata (CA)?

2. Apa sifat yang dimiliki oleh model yang dibuat?

3. Apa hasil yang diperoleh dari simulasi?

Tujuan Penelitian

Tujuan penelitian ini yaitu membuat model sistem kompleks berbasis AW

dan CA, dan menerapkannya untuk masalah filtrasi sederhana dan arus lalu lintas.

2

Manfaat Penelitian

Model yang kami buat bermanfaat untuk pemodelan yang melibatkan sistem

kompleks dengan partikel yang sangat banyak dan interaksinya bersifat lokal.

Beberapa aplikasinya yaitu untuk pemodelan filtrasi sederhana dan arus lalu lintas.

Ruang Lingkup Penelitian

Ruang lingkup penelitian ini yaitu membuat permodelan untuk sistem

kompleks. Model yang telah dibuat diterapkan untuk sistem filtrasi sederhana dan

arus lalu lintas.

TINJAUAN PUSTAKA

Cellular Automata (CA)

Awal dari kemunculan istilah CA dimulai saat John von Neumann mencoba

untuk membuat mesin (automaton) yang dapat mereplikasi dengan sendirinya,

tanpa bantuan manusia.9 Mekanisme replikasi automaton mencontoh pada

replikasi DNA. Stanislaw Ulam memberi saran kepada Neumann untuk membuat

konsep yang sekarang dikenal dengan nama cellular automata (tunggal: cellular

automaton). Stephen Wolfram kemudian menemukan 256 CA elementer, dalam

buku A New Kind of Science. Setelah itu, dibentuk formalisme matematik untuk

CA.10

CA terdiri dari subunit yang disebut sel. Bentuk sel dapat berupa apa saja,

tetapi pada umumnya berbentuk persegi. Nilai-nilai tertentu sel disebut sebagai

keadaan (state) yang berbeda satu dengan yang lain. Banyak state lebih dari sama

dengan 2, dan berhingga.11

Tiap sel akan berubah keadaannya sesuai dengan

keadaan sel-sel di sekitarnya. Evolusi sel ditampilkan dalam interval waktu diskret.

Ada tiga sifat fundamental dari CA, yaitu keseragaman (semua sel berubah

berdasarkan set aturan yang sama), sinkronitas (semua sel berubah dalam waktu

bersamaan), dan lokalitas (aturan bersifat lokal). CA dapat berdimensi satu atau

lebih. Khusus untuk satu dimensi, kumpulan sel ini berupa barisan sel dengan

state tertentu. Untuk menggambarkan perubahan dalam jumlah iterasi tertentu,

terdapat sejumlah baris dalam sejumlah iterasi. Baris pertama merupakan keadaan

awal atau suatu input, keadaan sel pada iterasi selanjutnya ditentukan berdasarkan

aturan yang telah dibuat.

Active walker (AW)

AW ditemukan oleh Lui Lam et. al.12

Model ini ditujukan untuk

menjelaskan pattern formation, self-organization, dan dinamika sistem

kompleks.12

AW sudah digunakan untuk formasi antrian pada semut,13

formasi

pola pada koloni bakteri, simulasi material granular.14

Ada dua istilah penting

dalam AW yaitu dari landscape, dan walker. Landscape memiliki konfigurasi

3

potensial, walker berjalan di landscape bergantung kepada konfigurasi potensial

landscape, pergerakan walker akan merubah landscape di sekitarnya dan

pergerakan selanjutnya bergantung kepada landscape yang sudah berubah tadi.

Banyak sistem adaptif, dan self-organization dapat dideskripsikan oleh model ini.

Ide dasar AW yaitu setiap komponen dalam sistem merupakan walker, dan

berinteraksi dengan walker di sekitarnya melalui landscape.

METODE

Penelitian ini dimulai dari studi pustaka mengenai lalu lintas, sistem filtrasi,

CA dan AW. Selanjutnya membuat program simulasi melalui Matlab dan

menerapkan program simulasi untuk sistem filtrasi membran dan arus lalu lintas.

Alat

Alat yang digunakan pada penelitian ini adalah alat tulis, netbook, dan

komputer. Piranti lunak yang digunakan untuk komputasi yaitu Matlab

(Mathworks Inc.).

Model

Sel

Dinamika sistem dapat dimodelkan dengan persamaan diferensial, dan

dalam model diskret.4 Model diskret dapat diturunkan dari persamaan diferensial,

seperti finite difference method, dan finite element analysis.15

Selain itu, dapat

dimodelkan secara first principle melalui himpunan aturan yang menggambarkan

transisi sistem. CA termasuk ke dalam tipe ini. Dalam model diskret, ruang dan

waktu dibuat dalam interval tertentu. Dinamika sistem dalam model diskret

memiliki keuntungan lebih mudah ditangani dengan komputer.

Gambar 1 Unit sel dalam ruang tiga dimensi

4

Tinjau suatu ruang 3 dimensi, dengan sumbu i, j, dan k. Nilai-nilai dari i, j,

dan k merupakan kelipatan bilangan bulat dari suatu nilai real Δα, Δβ, dan Δγ.

Dengan demikian

n Δα n Δβ n Δγ. ( 1 )

Sebuah sel merupakan unit kubus dengan volume ΔαΔβΔγ. Dan secara umum,

untuk ruang berdimensi m, unit sel memiliki volume sebesar Δα1Δα2...Δαm.

State

Misalkan Aijk adalah sebuah sel pada ruang 3 dimensi, state yang dimiliki

oleh Aijk merupakan kumpulan informasi yang mencirikan Aijk, misalnya massa,

momentum, atau energi. State (S) merupakan kumpulan himpunan informasi yang

mencirikan sistem, kita notasikan sebagai berikut

S ( 2 ) . ,ص ,ش ,س

Mari kita tinjau suatu sistem yang dicirikan oleh informasi sebagai berikut.

Konfigurasi jenis agen/partikel dengan lambang C, momentum dengan lambang P,

dan energi dengan lambang E, maka state sistem tersebut adalah

S , ( 3 )

dengan

{c , c , , cl}

{ , , ,

n}

, , , .

Tiga informasi ini akan bermanfaat untuk memodelkan sistem fisis.

Skema Seri dan Paralel

Kita tinjau sistem dengan konfigurasi state S = (C, P, E). Ada dua skema

untuk menghitung perubahan state setiap waktu, yaitu seri dan paralel. Pada

transisi state secara seri, transisi P, C, dan E dilakukan dalam waktu berurutan.

Pada transisi paralel, P, C, dan E mengalami transisi dalam waktu bersamaan.

Gambar 2 Skema seri (kiri) dan paralel (kanan)

Tetangga (Neighborhood)

Interaksi setiap sel dianggap bersifat lokal, yaitu transisi state dari suatu sel

bergantung terhadap sel-sel di sekelilingnya. Sehingga ada beberapa tipe interaksi

P C

E

P

C,E

input output

input

output

5

sel dengan sekelilingnya yang disebut tetangga. Beberapa tipe tetangga

diantaranya yaitu tipe Neumann,9 dan tipe Moore

9 (lihat Gambar 3).

Gambar 3 Tipe-tipe neighborhood

HASIL DAN PEMBAHASAN

Model yang telah kami buat merupakan gabungan dari ide-ide yang ada

dalam CA dan AW. Menurut CA, sistem dibagi menjadi sejumlah kisi (lattice)

yang tersusun sedemikian rupa sehingga ada interaksi antar kisi tersebut,

kemudian oleh Neumann kisi tersebut diberi nama dengan sel.9 Aturan transisi

dapat dibuat dengan meminjam ide dari AW, yaitu potential landscape, dan

stepping rule. Stepping rule merupakan aturan yang digunakan untuk mengatur

walker berjalan di dalam potential landscape. Potensial dalam AW merupakan

manifestasi dari “energi” sistem. Ketika sebuah agen/partikel berada dalam suatu

medan potensial, agen tersebut akan memiliki energi potensial yang sebanding

dengan potensial di lokasi agen tersebut. Informasi potensial dalam model yang

kami buat disimpan dalam informasi energi (E). Untuk mengubah informasi

potensial menjadi informasi energi, kami memperkenalkan konsep null agent.

Null agent akan memiliki energi potensial yang nilainya sama dengan potensial di

lokasi yang ditempatinya. Lokasi null agent dapat ditempati oleh agen lain, dan

ketika ada lokasi yang tidak ditempati agen, null agent akan menempati lokasi

tersebut.

Sel merupakan unit ruang terkecil yang memiliki state tertentu pada satu

waktu. Sebuah sel tidak boleh memiliki state yang berbeda pada waktu

bersamaan. Ini merupakan prinsip eksklusi. Dalam hal ini, misal sebuah sistem

S , yaitu sistem dengan state konfigurasi partikel, dengan C = {a, b, ...}. Jika

sistem mematuhi prinsip eksklusi, misal suatu sel di dalam sistem Aijk, maka state

untuk Aijk hanya salah satu dari a, b, ... Prinsip eksklusi telah digunakan untuk

simulasi fenomena transport dengan model ASEP (Asymmetric Simple Exclusion

Process) dan TASEP (Totally Asymmetric Simple Exclusion Process).16

Aplikasi untuk Arus Lalu Lintas

Skema simulasi untuk arus lalu lintas dilakukan dengan cara membagi ruas

menjadi sel-sel yang sedemikian sehingga satu sel hanya memuat satu kendaraan.

Sumbu horizontal merupakan koordinat posisi, sedangkan sumbu vertikal

merupakan koordinat lajur. Kecepatan kendaraan kami sederhanakan hanya 0, 1,

atau 2 sel per waktu iterasi. Setiap kendaraan dapat bergerak ke depan, berpindah

Moore Neumann

6

lajur ke kiri, atau berpindah lajur ke kanan, atau diam, tergantung keadaan

sekelilingnya.

Gambar 4 Neighborhood untuk aturan simulasi lalu lintas

Kami memakai neighborhood tipe Neumann orde 2 untuk membuat aturan

transisi seperti yang ditunjukan oleh Gambar 4. Warna gelap menunjukkan bahwa

bagian sel tersebut tidak kami tinjau untuk pembuatan aturan transisi. Tanda x

menunjukkan posisi kendaraan yang akan melakukan keputusan. Sel yang

ditandai dengan D1, D2, D3, D4, D5, dan D6 kami atur bernilai 0 jika tidak diisi

oleh kendaraan dan 1 jika diisi kendaraan. Kami membuat kode bilangan biner

dengan urutan D6D5D4D3D2D1. Misalkan, hanya D4 yang terisi kendaraan, dan

lainnya tidak terisi kendaraan, maka D4 bernilai 1, dan lainnya bernilai 0, kode

biner keadaan tersebut yaitu 001000. Kemudian untuk state yang dipakai adalah

momentum, yaitu S = (P), dengan P = {0,1,2,3,4}. Angka 0 menunjukkan

kendaraan diam; angka 1 menunjukkan kendaraan bergerak ke sel D3; angka 2

menunjukkan kendaraan bergerak ke sel D4, angka 3 menunjukkan kendaraan

bergerak ke sel D2, dan angka 4 menunjukkan kendaraan bergerak ke sel D6.

Berikut ini penjelasan aturan transisi yang kami buat17

1. Jika D4, dan D3 kosong, maka ambil P menjadi 2, jika tidak maju ke

langkah 2.

2. Jika D4 kosong, maka ambil P menjadi 1, jika tidak maju ke langkah 3.

3. Jika D1, D2, D5, dan D6 kosong, maka ambil salah satu P menjadi 3

atau 4, jika tidak maju ke langkah 4.

4. Jika D1, dan D2 kosong, maka ambil P menjadi 3, jika tidak maju ke

langkah 5.

5. Jika D5, dan D6 kosong, maka ambil P menjadi 4, jika tidak P menjadi 0.

Entropi Lalu Lintas

Entropi dapat menjadi parameter kuantitatif untuk arus lalu lintas. Dengan

besaran entropi, kita dapat mengukur tingkat kompleksitas suatu sistem. Entropi

berkaitan dengan banyak cara yang mungkin dari suatu susunan.

Banyak cara untuk menyusun sejumlah kendaraan dalam suatu lajur sebuah

ruas jalan yaitu

n n ( 4 )

dengan L adalah panjang ruas jalan, ni adalah jumlah kendaraan, dan nk = L – ni.

Kemudian kita definisikan entropi lalu lintas (ST) sebagai berikut

D1 D2

× D3 D4

D5 D6

7

ln ( 5 )

dengan kT merupakan suatu konstanta. Jika terdapat lebih dari satu lajur, entropi

total merupakan penjumlahan dari entropi tiap lajur.

Menurut ( 4 ) dan ( 5 ), entropi suatu ruas jalan adalah nol ketika tidak ada

kendaraan sama sekali, atau terisi penuh oleh kendaraan. Entropi mencapai

maksimum ketika ni = nk = L/2. Hal ini menunjukkan pada keadaan sebagian ruas

jalan terisi kendaraan, dinamika sistem lebih kompleks dibandingkan dengan ruas

jalan tersebut terisi penuh atau tidak terisi sama sekali. Hubungan entropi lalu

lintas dengan jumlah kendaraan merupakan fungsi cembung yang ditunjukan oleh

Gambar 5.

Gambar 5 Hubungan entropi dengan banyak kendaraan

Hasil Simulasi

Gambar 6 menunjukkan skema simulasi. Warna putih merupakan sel yang

terisi kendaraan, sedangkan warna hitam adalah sel yang kosong. Pada simulasi

yang kami jalankan, ruas jalan terdiri dari 3 lajur, dan jumlah kendaraan yaitu 151.

Kami definisikan sistem yang kami tinjau berpusat di xrata, yaitu posisi rata-rata

dari semua kendaraan. Panjang sistem (L) yang kami tinjau yaitu 52 sel, dengan

batas kiri yaitu xrata – 0,5L, dan batas kanan yaitu xrata + 0,5L. Dengan begitu,

sistem yang kami tinjau bergerak sesuai dengan posisi rata-rata seluruh kendaraan,

dan panjang sistem dijaga agar tetap.

Gambar 6 Susunan awal simulasi lalu lintas

lajur 1

lajur 2

lajur 3

8

Gambar 7 adalah grafik entropi hasil simulasi. Setelah beberapa waktu,

terlihat entropi sistem menjadi stabil. Hal ini menunjukkan akibat dari aturan yang

telah dibuat, sistem mengatur diri (self-organized) menuju ke ke keadaan stabil.

Gambar 7 Entropi lalu lintas

Kami melakukan percobaan untuk saat kondisi awal sistem diubah. Gambar

8 menunjukkan variasi kondisi awal sistem dengan merubah beberapa posisi

kendaraan, tetapi jumlah kendaraan dijaga tetap.

Gambar 8 Variasi kondisi awal simulasi lalu lintas

Hasil yang diperoleh yaitu terdapat variasi entropi saat terjadi kondisi tidak

stabil. Setelah mencapai kondisi stabil, entropi sistem berubah ke keadaan stabil

dan menuju nilai yang sama. Hal ini terjadi untuk semua lajur (lihat Gambar 9).

Hal yang terjadi dalam dinamika arus lalu lintas yaitu ketika sistem stabil

diganggu, sistem akan mengatur dirinya kembali ke keadaan stabil, namun dengan

kondisi yang berbeda dari keadaan stabil sebelum diganggu. Dalam self-

organization, terjadi transisi fasa ketika ada gangguan di dalam sistem (lihat

Gambar 10).

9

Gambar 9 Entropi per lajur dengan variasi kondisi awal (atas kiri:

lajur 1, atas kanan: lajur 2, bawah: lajur 3)

Gambar 10 Daerah stabil dan tidak stabil

Di dalam sistem yang kita tinjau, jumlah kendaraan tidak tetap. Ada fluks

kendaraan yang merubah jumlah kendaraan dalam sistem yang ditinjau. Gambar

11 memperlihatkan grafik jumlah kendaraan di dalam sistem dan entropi totalnya.

Terlihat bahwa perubahan entropi total sistem terjadi karena perubahan jumlah

kendaraan di dalam sistem. Selama terjadi self-organization, sistem mengatur

keadaan dengan mengurangi jumlah kendaraan. Sampai pada waktu tertentu, tidak

ada fluks kendaraan, dan pada waktu tersebut juga tidak ada lagi perubahan

entropi total sistem. Ada waktu ketika terjadi pembalikan gradien entropi, dari

tidak stabil stabil

10

awalnya gradien entropi positif berubah menjadi negatif. Hal ini terjadi ketika

kepadatan kendaraan (ρ) mengalami transisi ρ > 0,5 menjadi ρ < 0,5 sesuai

Gambar 5.

Gambar 11 Entropi total dan jumlah kendaraan

Aplikasi untuk Filtrasi Sederhana

Skema simulasi filtrasi sederhana menggunakan neighborhood Neumann

untuk pembuatan aturan transisi. Idenya adalah sekumpulan partikel yang saling

berinteraksi dengan partikel partikel di sekelilingnya. Kami batasi simulasi ini

untuk ruang 2 dimensi. Dalam Gambar 12 nilai D1, D2, D3, dan D4 dapat bernilai

0 jika tidak terisi partikel dan 1 jika terisi partikel. Tanda × menunjukkan partikel

yang akan ditinjau, partikel tersebut dapat memiliki 5 kemungkinan nilai yang

berbeda. Sehingga ada 5 × 24 interaksi yang mungkin. Kita buat kode biner

D4D3D2D1 untuk masing-masing keadaan di sekitarnya, misalnya ada partikel di

D2 dan D4, dan D1 dan D3 tidak ada partikel, maka kode binernya adalah 0101,

atau jika diubah ke bilangan desimal menjadi 6.

Gambar 12 Neighborhood untuk simulasi filtrasi sederhana

Pergerakan partikel bergantung terhadap momentumnya. Dalam sistem ini

state S = (C, P). Transisi konfigurasi partikel C = {O, N, E, S, W}, dan

momentum P = {0, 1, 2, 3, 4}. Untuk momentum partikel 0, dipilih transisi

konfigurasi partikel tersebut O (diam); untuk momentum 1, transisinya adalah N

(utara); untuk momentum 2, transisinya adalah E (timur); untuk momentum 3,

transisinya adalah S (selatan), dan untuk momentum 5, transisinya adalah W

(barat). Aturan transisi konfigurasi dan momentum terangkum dalam Gambar 13

dan Gambar 14.

D1

D4 × D2

D3

11

Gambar 13 Aturan transisi konfigurasi untuk simulasi membran

Gambar 14 Aturan transisi momentum untuk simulasi membran

Simulasi menggunakan bidang berbentuk persegi berukuran 150×150 satuan,

dengan dinding tertutup. Diagonal persegi menjadi pembatas antara kompartemen

yang tersaring dengan yang tidak tersaring. Pada awalnya semua partikel berada

di kompartemen kiri atas. Partikel yang tersaring merupakan partikel yang berada

di kompartemen bawah kanan. Dinding filtrasi dibuat dengan porositas tertentu,

yaitu 0.5 dan 0.6.

Gambar 15 Skema simulasi filtrasi sederhana

150

150

dinding

filtrasi

Momentum selanjutnya

0 1 2 3 4

Mo

men

ttum

saat in

i

0 0, 5, 10,

15 4, 6, 12,

14 8, 9, 12,

13 1, 3, 9,

11 2, 3, 6, 7

1 1, 4, 5,

15

0, 2, 4, 6, 8, 10, 12, 14

8, 9, 12, 13

- 2, 3, 6, 7

2 2, 7, 10,

15 4, 6, 12,

14

0, 1, 4, 5, 8, 9, 12, 13

1, 3, 9, 11

-

3 4, 5, 14,

15 -

8, 9, 12, 13

0, 1, 2, 3, 6, 8, 9, 11

2, 3, 6, 7

4 8, 10, 13, 15

4, 6, 12, 14

- 1, 3, 9,

11

0, 1, 2, 3, 4, 5,

6, 7

Konfigurasi selanjutnya

O N E S W

Ko

nfig

ura

si

saat in

i

O 0 1 2 3 4

N 0 1 2 3 4

E 0 1 2 3 4

S 0 1 2 3 4

W 0 1 2 3 4

12

Gambar 16 menunjukkan hasil simulasi dengan 300 partikel. Variasi yang

dilakukan yaitu dengan mengatur porositas dinding filtrasi, dari 0, 0.5, dan 0.6.

porositas 0 dimaksudkan untuk menunjukkan bahwa tidak ada dinding filtrasi.

Terlihat bahwa semakin besar porositas maka semakin besar partikel yang

tersaring. Untuk filtrasi dengan porositas 0.5, terlihat bahwa terjadi kondisi tunak,

setelah waktu yang lama, semua partikel berada pada kompartemen masing-

masing. Hal yang sama juga terjadi pada filtrasi dengan porositas 0.6.

Gambar 16 Hasil simulasi untuk N = 300 partikel

Gambar 17 adalah hasil simulasi dengan menambah jumlah partikel menjadi

480 partikel. Untuk kasus tanpa dinding filtrasi, jumlah partikel tiap kompartemen

seimbang, jika dibandingkan dengan hasil simulasi 300 partikel, terlihat untuk

partikel yang lebih banyak cenderung menuju ke kondisi kesetimbangan. Selain

itu, hasil lain ditunjukan dengan menggunakan dinding filtrasi juga lebih

cenderung menuju titik setimbang, yaitu di sekitar 0.5 pada sumbu Nf/N (jumlah

partikel yang tersaring dibandingkan dengan jumlah seluruh partikel).

Gambar 17 Hasil simulasi untuk N = 480 partikel

13

SIMPULAN DAN SARAN

Simpulan

Permodelan dengan menggunakan prinsip active walker dan cellular

automata dapat menggambarkan proses dinamika sistem kompleks. Salah satu

aplikasinya yaitu arus lalu lintas dan filtrasi sederhana. Terdapat hasil yang

menarik dari simulasi arus lalu lintas, dimana proses self-organization yang

terjadi dapat digambarkan sebagai transisi fase dari entropi yang tidak stabil

menuju entropi yang stabil.

Saran

Penelitian ini masih menggunakan aturan transisi yang sederhana. Saran

untuk penelitian selanjutnya yaitu memperbaiki aturan transisi yang dibuat untuk

simulasi arus lalu lintas dan filtrasi sederhana.

DAFTAR PUSTAKA

1. Nicolis, G., & Nicolis, C. (2012). Foundations of Complex Systems:

Emergence, Information and Predicition. World Scientific.

2. Nicolis, G., & Prigogine, I. (1977). Self-organization in nonequilibrium

systems (Vol. 191977). Wiley, New York.

3. Lam, L. (1998). Nonlinear physics for beginners: fractals, chaos, solitons,

pattern formation, cellular automata, complex systems (Vol. 338). World

scientific.

4. Boccara, N., & Boccara, N. (2004). Modeling complex systems (Vol. 1).

New York: Springer.

5. Lam, L. (2005). Active walker: The first twelve years (Part I). International

Journal of Bifurcation and Chaos, 15(08), 2317-2348.

6. Nandhini, G., Kumar, M. V., & Sangaranarayanan, M. V. (2010).

Estimation of Magnetization, Susceptibility and Specific heat for the two-

dimensional Ising Model in a Non-zero Magnetic field. arXiv preprint

arXiv:1006.0351.

7. Nagel, K., & Schreckenberg, M. (1992). A cellular automaton model for

freeway traffic. Journal de physique I, 2(12), 2221-2229.

8. Squier, R. K., & Steiglitz, K. (1993). Two-dimensional FHP lattice gases

are computation universal. Complex Systems, 7(4), 297-308.

9. Ilachinski, A. (2001). Cellular Automata: A Discrete Universe.Singapore:

World Scientific.

10. Martin, O., Odlyzko, A. M., & Wolfram, S. (1984). Algebraic properties of

cellular automata. Communications in mathematical physics, 93(2), 219-258.

11. Schiff, J. L. (2011). Cellular automata: a discrete view of the world (Vol.

45). John Wiley & Sons.

12. Lam, L. (Ed.). (2003). Introduction to nonlinear physics. Springer.

14

13. Schweitzer, F., Lao, K., & Family, F. (1997). Active random walkers

simulate trunk trail formation by ants. BioSystems, 41(3), 153-166.

14. Lam, L. (2006). Active walks: The first twelve years (Part II). International

Journal of Bifurcation and Chaos, 16(02), 239-268.

15. Blazek, J. (2001). Computational Fluid Dynamics: Principles and

Applications: Principles and Applications. Elsevier.

16. Kokot, B. Totally asymmetric simple exclusion process.

17. Sugihakim R., Alatas, H. (2014). Pemodelan Lalu Lintas berdasarkan

Prinsip Active Walker (belum terbit).

15

Lampiran 1 Program Matlab untuk simulasi filtrasi sederhana

Lampiran 2 Program pemanggil simulasi filtrasi sederhana

%input yang dibutuhkan

%Xinit: posisi awal sumbu x

%Yinit: posisi awal sumbu y

%Sinit: state awal

%pinit: momentum awal

%B: background

%T: lama simulasi

clc;

clear;

B = xlsread('kondisi awal.xls','sheet5');

Xinit(1,1:60) = 10:69;

Yinit(1,1:60) = 10;

Xinit(1,61:120) = 10:69;

Yinit(1,61:120) = 11;

Xinit(1,121:180) = 10:69;

Yinit(1,121:180) = 12;

Xinit(1,181:240) = 10:69;

Yinit(1,181:240) = 13;

Xinit(1,241:300) = 10:69;

Yinit(1,241:300) = 15;

Xinit(1,301:360) = 10:69;

Yinit(1,301:360) = 16;

Sinit = zeros(1,360);

pinit = zeros(1,360);

[X,Y,A,P,Nright] = multiagent81(Xinit,Yinit,Sinit,pinit,B,15000);

ukuran = size(P);

E1 = zeros(ukuran(1,1),ukuran(1,2));

for i = 1:ukuran(1,1)

for j = 1:ukuran(1,2)

if P(i,j)==0

E1(i,j) = 0;

else

E1(i,j) = 1;

end

end

end

Program

pemanggil multiagent81

tampilkan

utara

selatan

barat

timur

16

Lampiran 3 Fungsi Matlab: multiagent81.m

function [X,Y,A,p,Nright] =

multiagent81(Xinit,Yinit,Sinit,pinit,B,T)

N = length(Xinit);

% neighborhood type: Neumann

%X fungsi posisi

%S fungsi state {0,1}, P momentum {00,01,0-1,10,-10}

%B background

X = ones(T,N);

Y = ones(T,N);

X(1,:) = Xinit;

Y(1,:) = Yinit;

S = zeros(T,N);

p = zeros(T,N);

S(1,:) = Sinit;

p(1,:) = pinit;

Nright = zeros(T,1);

A = B;

for n=1:N

A(X(1,n),Y(1,n))=1;

end

tampilkan(A);

for t=2:T

%evolusi state & momentum

for n=1:N

if p(t-1,n)==2 %timur

if A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-1,n)-

1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)+1)==1 && A(X(t-1,n)-1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 1;

p(t,n) = 2;

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1 && A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 5;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n)+1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 4;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n)-1,Y(t-

1,n))==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

p(t,n) = 2;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

17

S(t,n) = 1;

p(t,n) = 5;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

p(t,n) = 4;

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 4;

else

p(t,n) = 2;

end

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 5;

else

p(t,n) = 2;

end

elseif A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 4;

else

p(t,n) = 2;

end

elseif A(X(t-1,n)-1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 2;

elseif A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 5;

else

p(t,n) = 2;

end

else

S(t,n) = 1;

p(t,n) = 2;

end

elseif p(t-1,n)==3 %barat

if A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-1,n)-

1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)+1)==1 && A(X(t-1,n)-1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 0;

18

p(t,n) = 1;

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1 && A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 5;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n)+1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 1;

p(t,n) = 3;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 4;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n)-1,Y(t-

1,n))==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

p(t,n) = 3;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 5;

else

p(t,n) = 3;

end

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 4;

else

p(t,n) = 3;

end

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

p(t,n) = 4;

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

S(t,n) = 1;

p(t,n) = 5;

elseif A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 3;

elseif A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 4;

else

p(t,n) = 3;

end

elseif A(X(t-1,n)-1,Y(t-1,n))==1

19

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 5;

else

p(t,n) = 3;

end

else

S(t,n) = 1;

p(t,n) = 3;

end

elseif p(t-1,n)==4 %utara

if A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-1,n)-

1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)+1)==1 && A(X(t-1,n)-1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 1;

p(t,n) = 2;

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1 && A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n)+1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 1;

p(t,n) = 3;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 4;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n)-1,Y(t-

1,n))==1

S(t,n) = 1;

p(t,n) = 4;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

S(t,n) = 1;

p(t,n) = 3;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 4;

else

p(t,n) = 3;

end

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

20

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 4;

else

p(t,n) = 2;

end

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

S(t,n) = 1;

p(t,n) = 2;

elseif A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 4;

else

p(t,n) = 3;

end

elseif A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 1;

p(t,n) = 4;

elseif A(X(t-1,n)-1,Y(t-1,n))==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 4;

else

p(t,n) = 2;

end

elseif A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 0;

p(t,n) = 1;

else

S(t,n) = 1;

p(t,n) = 4;

end

elseif p(t-1,n)==5 %selatan

if A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-1,n)-

1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)+1)==1 && A(X(t-1,n)-1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 1;

p(t,n) = 2;

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1 && A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 5;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n)+1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 1;

p(t,n) = 3;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1

S(t,n) = 0;

p(t,n) = 1;

21

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n)-1,Y(t-

1,n))==1

S(t,n) = 1;

p(t,n) = 5;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 3;

else

p(t,n) = 5;

end

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

p(t,n) = 3;

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

p(t,n) = 2;

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 2;

else

p(t,n) = 5;

end

elseif A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 3;

else

p(t,n) = 5;

end

elseif A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n)-1,Y(t-1,n))==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 2;

else

p(t,n) = 5;

end

elseif A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 1;

p(t,n) = 5;

else

S(t,n) = 1;

p(t,n) = 5;

22

end

else %momentum nol

if A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-1,n)-

1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)+1)==1 && A(X(t-1,n)-1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 1;

p(t,n) = 2;

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1 && A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 5;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n)+1,Y(t-

1,n))==1 && A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 1;

p(t,n) = 3;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1 && A(X(t-1,n)-1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 4;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n)-1,Y(t-

1,n))==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n),Y(t-1,n)-1)==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 0;

p(t,n) = 1;

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 3;

else

p(t,n) = 5;

end

elseif A(X(t-1,n)+1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 3;

else

p(t,n) = 4;

end

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)+1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 2;

else

p(t,n) = 4;

end

23

elseif A(X(t-1,n)-1,Y(t-1,n))==1 && A(X(t-1,n),Y(t-

1,n)-1)==1

S(t,n) = 1;

a = randint(1,1,2);

if a == 1

p(t,n) = 2;

else

p(t,n) = 5;

end

elseif A(X(t-1,n)+1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 3;

elseif A(X(t-1,n),Y(t-1,n)+1)==1

S(t,n) = 1;

p(t,n) = 4;

elseif A(X(t-1,n)-1,Y(t-1,n))==1

S(t,n) = 1;

p(t,n) = 2;

elseif A(X(t-1,n),Y(t-1,n)-1)==1

S(t,n) = 1;

p(t,n) = 5;

else

S(t,n) = 0;

p(t,n) = 1;

end

end

end

%evolusi momentum

for n=1:N

if S(t,n)==0

p(t,n)=1;

else

p(t,n)=p(t,n);

end

end

%evolusi posisi

for n=1:N

%jika posisi t-1 + p terisi, maka diam

%jika posisi t-1 + p kosong, maka pindah ke sana

%p(t,n) = 0 tidak bergerak

%p(t,n) = 1 ke utara

%p(t,n) = 2 ke selatan

%p(t,n) = 3 ke timur

%p(t,n) = 4 ke barat

if p(t,n)==2

%ke timur

[X,Y,A] = timur(t,n,X,Y,A);

elseif p(t,n)==3

%ke barat

[X,Y,A] = barat(t,n,X,Y,A);

elseif p(t,n)==4

%ke utara

[X,Y,A] = utara(t,n,X,Y,A);

elseif p(t,n)==5

%ke selatan

[X,Y,A] = selatan(t,n,X,Y,A);

else

24

%berhenti

[X,Y,A] = berhenti(t,n,X,Y,A);

end

end

D = tampilkan(A);

%delay

%delay(10,D)

k = 148;

while k>4

Nright(t,1) = Nright(t,1) + sum(A(k,152-k:148));

k = k-1;

end

end

Lampiran 4 Fungsi Matlab: timur.m

function [X,Y,A] = timur(t,n,X,Y,A)

%ke timur

X(t,n) = X(t-1,n)+1;

Y(t,n) = Y(t-1,n);

%jika X(t,n) dan Y(t,n) kosong maka isi

%jika X(t,n) dan Y(t,n) terisi maka:

%X(t,n) = X(t-1,n);

%Y(t,n) = Y(t-1,n);

if A(X(t,n),Y(t,n))==0

A(X(t,n),Y(t,n))=1;

A(X(t-1,n),Y(t-1,n))=0;

else

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n);

end

Lampiran 5 Fungsi Matlab: barat.m

function [X,Y,A] = barat(t,n,X,Y,A)

%ke barat

X(t,n) = X(t-1,n)-1;

Y(t,n) = Y(t-1,n);

%jika X(t,n) dan Y(t,n) kosong maka isi

%jika X(t,n) dan Y(t,n) terisi maka:

%X(t,n) = X(t-1,n);

%Y(t,n) = Y(t-1,n);

if A(X(t,n),Y(t,n))==0

A(X(t,n),Y(t,n))=1;

A(X(t-1,n),Y(t-1,n))=0;

else

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n);

end

Lampiran 6 Fungsi Matlab: utara.m

function [X,Y,A] = utara(t,n,X,Y,A)

%ke utara

X(t,n) = X(t-1,n);

25

Y(t,n) = Y(t-1,n)-1;

%jika X(t,n) dan Y(t,n) kosong maka isi

%jika X(t,n) dan Y(t,n) terisi maka:

%X(t,n) = X(t-1,n);

%Y(t,n) = Y(t-1,n);

if A(X(t,n),Y(t,n))==0

A(X(t,n),Y(t,n))=1;

A(X(t-1,n),Y(t-1,n))=0;

else

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n);

end

Lampiran 7 Fungsi Matlab: selatan.m

function [X,Y,A] = selatan(t,n,X,Y,A)

%ke selatan

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n)+1;

%jika X(t,n) dan Y(t,n) kosong maka isi

%jika X(t,n) dan Y(t,n) terisi maka:

%X(t,n) = X(t-1,n);

%Y(t,n) = Y(t-1,n);

if A(X(t,n),Y(t,n))==0

A(X(t,n),Y(t,n))=1;

A(X(t-1,n),Y(t-1,n))=0;

else

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n);

end

Lampiran 8 Program Matlab untuk simulasi arus lalu lintas

Lampiran 9 Fungsi pemanggil untuk simulasi arus lalu lintas

clc;

clear;

%pemanggil Simulasi Multi Agent

Program

pemanggil SimulasiMultiAgent102

tampilkan

maju1

maju2

kekanan

kekiri

kekanankiri TrafficEntropy

kondisiawal

mencacah

26

B = zeros(5,400);

B(1,:) = 0.5;

B(5,:) = 0.5;

xinit = xlsread('kondisi awal.xls','sheet3');

yinit = xlsread('kondisi awal.xls','sheet4');

N = length(xinit);

a = 1;

b = 52;

L = b-a+1;

T = 60;

lajur = 3;

[X,Y,A,nl] = SimulasiMultiAgent102(xinit,yinit,B,T,L,lajur);

[Sl,W] = TrafficEntropy(nl,L,T,lajur);

Lampiran 10 Fungsi Matlab: SimulasiMultiAgent102.m

function [X,Y,A,nl] =

SimulasiMultiAgent102(Xinit,Yinit,B,T,l,lajur)

N = length(Xinit);

%X fungsi posisi

%S fungsi state {0,1}, P momentum {00,01,0-1,10,-10}

%B background

X = ones(T,N);

Y = ones(T,N);

nl = zeros(T,lajur);

X(1,:) = Xinit;

Y(1,:) = Yinit;

C = B;

A = B;

for n=1:N

A(Y(1,n),X(1,n))=1;

end

tampilkan(A);

xrata = sum(X(1,:))/N;

xrata1 = round(xrata);

nl(1,:) = mencacah(A,xrata1-0.5*l,xrata1+0.5*l,lajur);

for t=2:T

A = C;

%evolusi posisi

for n=1:N

if A(Y(t-1,n),X(t-1,n)+1)==0 && A(Y(t-1,n),X(t-1,n)+2)==0

%maju

[X,Y,C] = maju2(t,n,X,Y,C);

elseif A(Y(t-1,n),X(t-1,n)+1)==0 && A(Y(t-1,n),X(t-

1,n)+2)~=0

%maju

[X,Y,C] = maju1(t,n,X,Y,C);

elseif A(Y(t-1,n)-1,X(t-1,n)+1)==0 && A(Y(t-1,n)+1,X(t-

1,n)+1)==0

%ke kanan/kiri

[X,Y,C] = kekanankiri(t,n,X,Y,C);

elseif A(Y(t-1,n)-1,X(t-1,n)+1)==0

%ke kiri

[X,Y,C] = kekiri(t,n,X,Y,C);

elseif A(Y(t-1,n),X(t-1,n)+1)==0

%ke kanan

[X,Y,C] = kekanan(t,n,X,Y,C);

else

27

%berhenti

[X,Y,C] = berhenti(t,n,X,Y,C);

end

end

D = tampilkan(C);

%delay

%delay(10,D)

xrata = sum(X(t,:))/N;

xrata1 = round(xrata);

nl(t,:) = mencacah(C,xrata1-0.5*l,xrata1+0.5*l,lajur);

end

Lampiran 11 Fungsi Matlab: maju1.m

function [X,Y,A] = maju1(t,n,X,Y,A)

X(t,n) = X(t-1,n)+1;

Y(t,n) = Y(t-1,n);

if A(Y(t,n),X(t,n))==0

A(Y(t,n),X(t,n))=1;

A(Y(t-1,n),X(t-1,n))=0;

else

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n);

end

Lampiran 12 Fungsi Matlab: maju2.m

function [X,Y,A] = maju2(t,n,X,Y,A)

X(t,n) = X(t-1,n)+2;

Y(t,n) = Y(t-1,n);

if A(Y(t,n),X(t,n))==0

A(Y(t,n),X(t,n))=1;

A(Y(t-1,n),X(t-1,n))=0;

else

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n);

end

Lampiran 13 Fungsi Matlab: kekanan.m

function [X,Y,A] = kekanan(t,n,X,Y,A)

X(t,n) = X(t-1,n)+1;

Y(t,n) = Y(t-1,n)+1;

if A(Y(t,n),X(t,n))==0

A(Y(t,n),X(t,n))=1;

A(Y(t-1,n),X(t-1,n))=0;

else

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n);

end

Lampiran 14 Fungsi Matlab: kekiri.m

function [X,Y,A] = kekiri(t,n,X,Y,A)

28

X(t,n) = X(t-1,n)+1;

Y(t,n) = Y(t-1,n)-1;

if A(Y(t,n),X(t,n))==0

A(Y(t,n),X(t,n))=1;

A(Y(t-1,n),X(t-1,n))=0;

else

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n);

end

Lampiran 15 Fungsi Matlab: kekanankiri.m

function [X,Y,A] = kekanankiri(t,n,X,Y,A)

a = randint(1,1,2);

if a == 1

X(t,n) = X(t-1,n)+1;

Y(t,n) = Y(t-1,n)+1;

else

X(t,n) = X(t-1,n)+1;

Y(t,n) = Y(t-1,n)-1;

end

if A(Y(t,n),X(t,n))==0

A(Y(t,n),X(t,n))=1;

A(Y(t-1,n),X(t-1,n))=0;

else

X(t,n) = X(t-1,n);

Y(t,n) = Y(t-1,n);

end

Lampiran 16 Fungsi Matlab: mencacah.m

function nl = mencacah(C,a,b,lajur)

nl = zeros(1,lajur);

for n=1:lajur

nl(1,n) = sum(C(n+1,a:b));

end

Lampiran 17 Fungsi Matlab: TrafficEntropy.m

function [Sl,W] = TrafficEntropy(nl,L,T,lajur)

W = ones(T,lajur);

Sl = ones(T,lajur+1);

for t=1:T

for n=1:lajur

W(t,n)=factorial(L)/(factorial(nl(t,n))*factorial(L-

nl(t,n)));

Sl(t,n) = log(W(t,n));

end

Sl(t,lajur+1) = sum(Sl(t,:));

end

Lampiran 18 Fungsi Matlab: tampilkan.m

function D = tampilkan(C)

29

M = size(C);

D = zeros(M(1,1),M(1,2));

for i = 1:M(1,1)

D(i,:) = C(i,:);

end

figure(2)

imshow(D,'InitialMagnification',200);

30

RIWAYAT HIDUP

Penulis dilahirkan di Cianjur, 18 Juli 1991 dari pasangan Saepudin dan

Nenah. Penulis adalah anak kedua dari empat bersaudara. Riwayat pendidikan

dimulai dari RA Al Islamiyah (1997-1998), SDN Girimukti (1998-2004), SMPN

1 Cipanas (2004-2007), SMAN 1 Sukaresmi (2007-2010), dan masuk ke IPB

tahun 2010 melalui jalur USMI.

Penulis pernah menjadi asisten praktikum mata kuliah Eksperimen Fisika I,

Eksperimen Fisika II, dan asisten responsi mata kuliah Fisika Matematika II, serta

aktif dalam keorganisasian Himpunan Mahasiswa Fisika (HIMAFI) sebagai staf

Departemen Komunikasi dan Informasi, di antaranya pernah menjadi ketua

panitia Temu Alumni Fisika dan Fieldtrip. Selain itu penulis pernah mengikuti

kegiatan Seminar Nasional dan Rapat Tahunan MIPA 2014, Conference on

Theoretical Physics and Nonlinear Physics 2013, Physics Expo, Seminar Robotika,

Pesta Sains Nasional, dan Physics Goes to School. Serta pada tahun 2013

mendapat hibah Program Kreativitas Mahasiswa di bidang karsa cipta.