Project Cellular Automata
Project Cellular Automata
KATA PENGANTAR
Berkat rahmat Tuhan Yang Maha Esa, makalah PERSEPSI VISUAL
DENGAN MODEL CELLULAR AUTOMATA SISTEM DISTRIBUSI yang
merupakan Mata kuliah APLIKASI KOMPUTER LANJUT
Makalah ini disusun dengan tujuan membantu para mahasiswa untuk lebih
mudah mempelajari ,mendalami,memahami, dan menggunakan PERSEPSI VISUAL
DENGAN MODEL CELLULAR AUTOMATA SISTEM DISTRIBUSI dengan
mengaplikasikannya ke dalam program Borland Delphi 7.
Tim Penyusun
ii
DAFTAR ISI
Halaman
HALAMAN JUDUl.........................................................................................................i
KATA PENGANTAR.....................................................................................................ii
DAFTAR ISI...................................................................................................................iii
ABSTRAK .....................................................................................................................iv
BAB I PENDAHULUAN
A. Latar Belakang ............................................................................................1
B. Tujuan..........................................................................................................1
C. Rumusan Masalah ......................................................................................1
BAB II KAJIAN TEORI
A. Cellular Automata.......... ............................................................................4
BAB III METODOLOGI PENELITIAN
A. Metode
Penelitian .....................................................................................25
B. Analisis Data ............................................................................................25
BAB IV HASIL DAN PEMBAHASAN
A. HASIL .......................................................................................................31
B. Pembahasan ..............................................................................................34
BAB V PENUTUP
A. Kesimpulan ..............................................................................................36
DAFTAR PUSTAKA......................................................................................................v
iii
ABSTRAK
Persepsi visual merupakan suatu hal yang menarik dan telah dipelajari selama
berabad-abad. Stephen Wolfram telah mengembangkan metode baru yang dapat
menjelaskan pemahamaman tentang persepsi visual yaitu dengan menggunakan
program komputer dengan model cellular automata.
Pada skripsi ini dihasilkan program komputer yang menggunakan model
cellular automata sistem substitusi dengan menggunakan bahasa pemrograman
Borland Delphi 7.0 untuk mensimulasikan persepsi visual. Pada pemrograman persepsi
visual ini terdapat 2 jenis persepsi visual yaitu persepsi warna (respon sel terhadap
warna) dan persepsi bentuk (respon sel terhadap bentuk). Pada persepsi warna
digunakan aturan cellular automata satu dimensi sebagai image pada retina (keadaan
awal program), kemudian direspon oleh salah satu bentuk dari 16 kemungkinan yang
ada dengan mensubstitusikan warna tertentu. Pada persepsi bentuk digunakan metode
representasi wilayah dengan pohon-empatan yaitu setiap satu sel akan disubstitusi
menjadi 4 sel.
Program persepsi warna menghasilkan suatu gambaran dimana suatu warna
yang dominan mempengaruhi warna yang lain. Sedangkan program persepsi bentuk
menghasikan suatu program yang menggambarkan proses bagaimana sesuatu terlihat
dari dekat ke jauh. Bentuk yang dihasilkan merupakan suatu koleksi dari beberapa pola
atau dapat dikatakan merupakan suatu kesatuan dan tidak independen pada setiap
pixel.
iv
BAB 1
PENDAHULUAN
1
dengan sistem substitusi untuk mensimulasikan persepsi visual?
1.3 Tujuan
Berdasarkan rumusan masalah di atas, maka tujuan penulisan skripsi ini adalah
menghasilkan program komputer yang menggunakan model cellular automata sistem
substitusi untuk mensimulasikan persepsi visual.
2
• Sistem substitusi merupakan salah satu contoh cellular automata yang dibentuk
dengan cara mengubah elemen-elemen tertentu menjadi elemen-elemen yang
baru.
3
BAB 2
KAJIAN PUSTAKA
2.2 Warna
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap
panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna mempunyai
panjang gelombang ( λ ) yang berbeda. Warna merah mempunyai panjang gelombang
terpanjang, sedangkan warna ungu (violet) mempunyai panjang gelombang terpendek
(Munir, 2004).
Warna yang diterima oleh mata dari sebuah objek ditentukan oleh warna sinar
yang dipantulkan oleh objek tersebut. Sebagai contoh, suatu objek berwarna hijau
karena objek tersebut memantulkan sinar hijau dengan panjang gelombang 450 sampai
490 nanometer. Warna sinar yang direspon oleh mata adalah sinar tampak dengan
panjag gelombang berkisar dari 400 nm (biru) sampai 700 nm (merah).
400 nm 700 nm
Warna-warna yang diterima oleh mata (sistem visual manusia) merupakan hasil
kombinasi cahaya dengan panjang gelombang berbeda. Penelitian memperlihatkan
bahwa kombinasi warna yang memberikan rentang warna yang paling lebar adalah red
(R), green (G), dan blue (B). Ketiga warna tersebut dinamakan warna pokok, dan
sering disingkat sebagai warna dasar RGB. Warna-warna lain dapat diperoleh dengan
mencampurkan ketiga warna pokok tersebut dengan perbandingan tertentu, sesuai
dengan teori Young (1802) yang menyatakan bahwa sembarang warna dapat dihasilkan
dari percampuran warna-warna pokok dengan persentase tertentu.
Persepsi sistem visual manusia terhadap warna sangat relatif sebab dipengaruhi
oleh banyak kriteria, salah satunya disebabkan oleh adaptasi yang menimbulkan
distorsi. Misalnya bercak abu-abu di sekitar warna hijau akan tampak keunguan
(distorsi terhadap ruang), atau jika mata melihat warna hijau lalu langsung dengan cepat
melihat warna abu-abu, maka mata menangkap kesan warna abu-abu tersebut sebagai
warna ungu (distorsi terhadap waktu) (Munir, 2004).
4
Tekstur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam
sekumpulan pixel-pixel yang bertetangga. Jadi, tekstur tidak dapat didefinisikan untuk
sebuah pixel. Sistem visual manusia pada hakikatnya tidak menerima informasi citra
secara independen pada setiap pixel, melainkan suatu citra dianggap sebagai suatu
kesatuan. Resolusi citra yang diamati ditentukan oleh skala di mana tekstur tersebut
dipersepsi. Sebagai contoh, jika diamati lantai berubin dari jarak jauh, maka terlihat
bahwa tekstur terbentuk oleh penempatan ubin-ubin secara keseluruhan, bukan dari
persepsi pola di dalam ubin itu sendiri, akan tetapi jika ubin tersebut diamati dari jarak
yang dekat, maka hanya beberapa ubin yang tampak dalam bidang pengamatan,
sehingga menurut persepsi bahwa tekstur terbentuk oleh penempatan pola-pola rinci
yang menyusun tiap ubin.
Pada visualisasi persepsi visual terdapat pendekatan segmentasi objek yang
bertujuan untuk mengelompokkan pixel-pixel objek menjadi wilayah yang
merepresentasikan objek. Salah satu metode pendekatan segmentasi objek adalah
pendeteksian batas wilayah secara topologi. Pada metode topologi, setiap kelompok 4-
pixel bertetangga diperiksa, dan bila kelompok tersebut adalah salah satu bentuk dari 16
kemungkinan pada Gambar 2.3, maka bentuk tersebut akan menghasilkan tepi.
5
yang diskrit (masing-masing sel dapat mempunyai hanya suatu bilangan keadaan
terbatas) (Giuseppe Zito, 2006). Sederhananya, cellular automata adalah sehimpunan
proses fundamental penciptaan pola-pola keteraturan dengan menggunakan komputer
yang bentuk akhirnya sangat menyerupai apa yang terjadi di alam. Cellular automata
merupakan suatu sistem yang terdiri atas sejumlah berhingga state (keadaan), dimana
state menyatakan informasi mengenai input yang lalu, dan dapat pula dianggap sebagai
memori.
Contoh cellular automata satu dimensi:
Aturan 30 dari 2+2+2+2
t : 000 010 011 100 101 110 111
t+1: 0 0 1 1 1 1 0
(a) (b)
Gambar 2.5 Contoh cellular automata 11ystem substitusi 2 dimensi (a) aturan (b) hasil subtitusi
6
2.6 Persepsi Warna dan Persepsi Bentuk dengan Model Cellular Automata Sistem
Substitusi
Pada simulasi persepsi visual ini terdapat 2 jenis persepsi visual, yaitu persepsi
warna (respon sel terhadap warna) dan persepsi bentuk (respon sel terhadap suatu
bentuk pola).
(a) (b)
Gambar 2.8 Aturan cellular automata sistem subtitusi (a) 1{0,0,0,1}; (b) 0{0,1,1,0}
20 x 20 21 x 21 22 x 22
8
BAB 3
METODE PENGEMBANGAN
Lanjutan Flowchart
Lanjutan flowchart
10
Lanjutan flowchart
11
12
formWarna.StringGrid2.Cells[x-1,y-1] := '0';
end;end;
for y:=1 to 110 do
13
for x:=1 to 110 do
begin
formWarna.StringGrid2.Cells[x,y]:=IntToStr(MM[StrToInt
(formWarna.StringGrid2.Cells[x-1,y-1]),StrToInt
(formWarna.StringGrid2.Cells[x,y-1]), StrToInt
(formWarna.StringGrid2.Cells[x+1,y-1])]);
end;
end;
2. Prosedur Warna
Prosedur Warna merupakan prosedur untuk memberi warna Drawgrid pada
program persepsi warna.
procedure Warna;
var x,y:integer;
begin
for y:=1 to 110 do
begin
for x:=1 to 110 do
begin
M[x,y] := StrToInt(FormWarna.StringGrid2.Cells[x,y-1]);
if M[x,y]=0 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color := ClGreen;
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end
else
if M[x,y]=1 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color := ClFuchsia;
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end
else
if M[x,y]=2 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color :=ClBlue;
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end
else
if M[x,y]=3 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color :=ClPurple;
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end
else
if M[x,y]=4 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color :=ClRed;
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end
else
if M[x,y]=5 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color :=RGB(255,102,0);
14
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end
if M[x,y]=6 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color :=ClYellow;
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end
else
if M[x,y]=7 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color :=ClLime
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end
if M[x,y]=8 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color :=ClAqua;
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end
else
if M[x,y]=9 then
begin
formWarna.DrawGrid1.Canvas.Brush.Color :=ClWhite
formWarna.DrawGrid1.Canvas.FillRect(C[x,y]);
end;
application.ProcessMessages;
end;
end;
end;
3. Prosedur TFormWarna.TimerProsesTimer
Prosedur TFormWarna.TimerProsesTimer merupakan prosedur untuk proses
pada simulasi persepsi warna. Proses diletakkan pada timer bertujuan agar dapat diatur
jeda waktunya.
procedure TFormWarna.TimerProsesTimer(Sender: TObject);
var x,y:integer;
begin
for y:=1 to 110 do
for x:=1 to 110 do
with formWarna.StringGrid2 do
begin
if Cells[x-1,y-1]='1' then
if Cells[x,y-1]='1' then
if Cells[x-1,y]='1' then
if Cells[x,y]='0' then
begin
Cells[x-1,y-1]:='0';
Cells[x,y-1]:='1';
Cells[x-1,y]:='1' ;
Cells[x,y]:='0' ;
end ;
end ;
formWarna.Timer1.Enabled:=true;
application.ProcessMessages;
15
sleep(500);
for y:=1 to 110 do
for x:=1 to 110 do
with formWarna.StringGrid2 do
begin
if Cells[x-1,y-1]='0' then
if Cells[x,y-1]='1' then
if Cells[x-1,y]='1' then
if Cells[x,y]='0' then
begin
Cells[x-1,y-1]:='0';
Cells[x,y-1]:='1' ;
Cells[x-1,y]:='2' ;
Cells[x,y]:='0' ;
end ;
end;
formWarna.Timer1.Enabled:=true;
application.ProcessMessages;
sleep(500);
for y:=1 to 110 do
for x:=1 to 110 do
with formWarna.StringGrid2 do
begin
if Cells[x-1,y-1]='0' then
if Cells[x,y-1]='1' then
if Cells[x-1,y]='2' then
if Cells[x,y]='0' then
begin
Cells[x-1,y-1]:='0';
Cells[x,y-1]:='1' ;
Cells[x-1,y]:='3' ;
Cells[x,y]:='0' ;
end ;
end;
formWarna.Timer1.Enabled:=true;
application.ProcessMessages;
sleep(500);
for y:=1 to 110 do
for x:=1 to 110 do
with formWarna.StringGrid2 do
begin
if Cells[x-1,y-1]='0' then
if Cells[x,y-1]='1' then
if Cells[y-1,t]='3' then
if Cells[y,t]='0' then
begin
Cells[x-1,y-1]:='0';
Cells[x,y-1]:='1' ;
Cells[x-1,y]:='4' ;
Cells[x,y]:='0' ;
end ;
end;
formWarna.Timer1.Enabled:=true;
application.ProcessMessages;
sleep(500);
for x:=1 to 110 do
for y:=1 to 110 do
with formWarna.StringGrid2 do
16
begin
if Cells[x-1,y-1]='0' then
if Cells[x,y-1]='1' then
if Cells[x-1,y]='4' then
if Cells[x,y]='0' then
begin
Cells[x-1,y-1]:='0';
Cells[x,y-1]:='1' ;
Cells[x-1,y]:='5' ;
Cells[x,y]:='0' ;
end ;
end;
formWarna.Timer1.Enabled:=true;
application.ProcessMessages;
sleep(500);
for y:=1 to 110 do
for x:=1 to 110 do
with formWarna.StringGrid2 do
begin
if Cells[x-1,y-1]='0' then
if Cells[x,y-1]='1' then
if Cells[x-1,y]='5' then
if Cells[x,y]='0' then
begin
Cells[x-1,y-1]:='0';
Cells[x,y-1]:='1' ;
Cells[x-1,y]:='6' ;
Cells[x,y]:='3' ;
end ;
end;
formWarna.Timer1.Enabled:=true;
application.ProcessMessages;
sleep(500);
for y:=1 to 110 do
for x:=1 to 110 do
with formWarna.StringGrid2 do
begin
if Cells[x-1,y-1]='0' then
if Cells[x,y-1]='1' then
if Cells[x-1,y]='6' then
if Cells[x,y]='3' then
begin
Cells[x-1,y-1]:='0';
Cells[x,t-y]:='1' ;
Cells[x-1,y]:='7' ;
Cells[x,y]:='0' ;
end ;
end;
formWarna.Timer1.Enabled:=true;
application.ProcessMessages;
sleep(500);
for y:=1 to 110 do
for x:=1 to 110 do
with formWarna.StringGrid2 do
begin
if Cells[x-1,y-1]='0' then
if Cells[x,y-1]='1' then
if Cells[x-1,y]='7' then
17
if Cells[x,y]='0' then
begin
Cells[x-1,y-1]:='0';
Cells[x,y-1]:='1' ;
Cells[x-1,y]:='8' ;
Cells[x,y]:='0' ;
end ;
end;
formWarna.Timer1.Enabled:=true;
application.ProcessMessages;
sleep(500);
for y:=1 to 110 do
for x:=1 to 110 do
with formWarna.StringGrid2 do
begin
if Cells[x-1,y-1]='0' then
if Cells[x,y-1]='1' then
if Cells[x-1,y]='8' then
if Cells[x,y]='0' then
begin
Cells[x-1,y-1]:='0';
Cells[x,y-1]:='1' ;
Cells[x-1,y]:='9' ;
Cells[x,y]:='0' ;
end ;
end;
formWarna.Timer1.Enabled:=true;
end;
4. Prosedur TFormBentuk.ButtonProsesClick
Prosedur TFormBentuk.ButtonProsesClick merupakan prosedur untuk
mensimulasikan persepsi bentuk.
procedure TFormBentuk.ButtonProsesClick(Sender: TObject);
var
x,y,k,a:integer;
begin
a:=StrToInt(FormBentuk.EditBentuk.Text);
if a=1 then
begin
stringgrid1.Cells[0,0]:='1';
drawgrid1.ColCount:=1;
drawgrid1.RowCount:=1;
drawgrid1.DefaultColWidth:=650;
drawgrid1.DefaultRowHeight:=650;
for k:= 1 to strtoint(edit1.Text)do
begin
with formBentuk.DrawGrid1 do
begin
colcount:=trunc(power(2,k-1));
RowCount:=trunc(power(2,k-1));
end;
stringgrid1.ColCount:=trunc(power(2,k-1));
stringgrid1.RowCount:=trunc(power(2,k-1));
if k>=2 then
18
begin
for x:=0 to trunc(power(2,k-1))-1 do
for y:=0 to trunc(power(2,k-1))-1 do
StringGrid1.Cells[x,y]:=StringGrid2.Cells[x,y];
drawgrid1.DefaultColWidth:=trunc(drawgrid1.DefaultColWidth
/ 2);
drawgrid1.DefaultRowHeight:=trunc(drawgrid1.DefaultRowHeight /
2);
end;
stringgrid2.ColCount:=trunc(power(2,(k-1)+1));
stringgrid2.RowCount:=trunc(power(2,(k-1)+1));
for x:=0 to trunc(power(2,k-1))-1 do
for y:=0 to trunc(power(2,k-1))-1 do
begin
if k=1 then
if x=0 then
if y=0 then with formbentuk.StringGrid2 do
begin
if stringgrid1.Cells[x,y]='1' then
begin
Cells[Trunc(Power(2,y))-1,trunc(power(2,y))-1]:='0';
Cells[Trunc(Power(2,y)),trunc(power(2,y))-1]:='0';
Cells[Trunc(Power(2,x))-1,trunc(power(2,y))]:='0';
Cells[Trunc(Power(2,x)),trunc(power(2,y))]:='1';
end;
if stringgrid1.Cells[x,y]='0' then
begin
Cells[Trunc(Power(2,x))-1,trunc(power(2,y))-1]:='0';
Cells[Trunc(Power(2,x)),trunc(power(2,y))-1]:='1';
Cells[Trunc(Power(2,x))-1,trunc(power(2,y))]:='1';
Cells[Trunc(Power(2,x)),trunc(power(2,y))]:='0';
end;
end;
if x=0 then
if y>0 then with formBentuk.StringGrid2 do
begin
if stringgrid1.Cells[x,y]='1' then
begin
Cells[Trunc(Power(2,x))-1,(2*y)]:='0';
Cells[Trunc(Power(2,x)),(2*y)]:='0';
Cells[Trunc(Power(2,x))-1,(2*y)+1]:='0';
Cells[Trunc(Power(2,x)),(2*y)+1]:='1';
end;
if stringgrid1.Cells[x,y]='0' then
begin
Cells[Trunc(Power(2,x))-1,(2*y)]:='0';
Cells[Trunc(Power(2,x)),(2*y)]:='1';
Cells[Trunc(Power(2,x))-1,(2*y)+1]:='1';
Cells[Trunc(Power(2,x)),(2*y)+1]:='0';
end;
end;
if x>0 then
if y=0 then with formBentuk.StringGrid2 do
begin
if stringgrid1.Cells[x,y]='1' then
begin
Cells[(2*x),trunc(power(2,y))-1]:='0';
Cells[(2*x)+1,trunc(power(2,y))-1]:='0';
19
Cells[(2*x),trunc(power(2,y))]:='0';
Cells[(2*x)+1,trunc(power(2,y))]:='1';
end;
if stringgrid1.Cells[x,y]='0' then
begin
Cells[(2*x),trunc(power(2,y))-1]:='0';
Cells[(2*x)+1,trunc(power(2,y))-1]:='1';
Cells[(2*x),trunc(power(2,y))]:='1';
Cells[(2*x)+1,trunc(power(2,y))]:='0';
end;
end;
if y>0 then
if x>0 then with formBentuk.StringGrid2 do
begin
if stringgrid1.Cells[x,y]='1' then
begin
Cells[(2*x),2*y]:='0';
Cells[(2*x)+1,2*y]:='0';
Cells[(2*x),(2*y)+1]:='0';
Cells[(2*x)+1,(2*y)+1]:='1';
end;
if stringgrid1.Cells[x,y]='0' then
begin
Cells[(2*x),2*y]:='0';
Cells[(2*x)+1,2*y]:='1';
Cells[(2*x),(2*y)+1]:='1';
Cells[(2*x)+1,(2*y)+1]:='0';
end;
end
end;
n:= trunc(power(2,k-1));
application.ProcessMessages;
timerWarna.Enabled:=true;
sleep(500);
end;
end;
5. Prosedur TFormBentuk.TimerWarnaTimer
Prosedur TFormBentuk.TimerWarnaTimer merupakan prosedur untuk memberi
warna pada Drawgrid pada simulasi persepsi bentuk.
procedure TFormBentuk.TimerWarnaTimer(Sender: TObject);
var x,y:integer;
begin
for y:=1 to n do
for x:= 1 to n do
begin
C[x,y]:=Drawgrid1.CellRect(x-1,y-1);
M[x,y]:=StrToInt(Stringgrid1.Cells[x-1,y-1]);
if M[x,y]=0 then
begin
drawgrid1.Canvas.Brush.Color:=clwhite;
drawgrid1.Canvas.FillRect(C[x,y]);
end else
if M[x,y]=1 then
20
begin
drawgrid1.Canvas.Brush.Color:=clblack;
drawgrid1.Canvas.FillRect(C[x,y]);
end;
end;
formBentuk.TimerWarna.Enabled:=false;
end;
21
BAB 4
5. Help Operasi Program atau bisa juga dengan menekan Ctrl+H pada keyboard,
perintah untuk menampilkan bantuan cara menjalankan program.
Saat diplih menu Tombol Persepsi Warna atau View Persepsi Warna, akan
22
muncul tampilan seperti pada Gambar 4.2.
Pada Gambar 4.2 terdapat beberapa menu yang dapat dipih pada main menu,
yaitu antara lain:
1. File Exit atau bisa juga dengan menekan Ctrl+E pada keyboard, perintah
untuk keluar dari program.
2. File Back atau bisa juga dengan menekan Ctrl+K untuk kembali ke program
sebelumnya.
3. View Materi atau bisa juga dengan menekan Ctrl+M pada keyboard,
digunakan untuk perintah menampilkan materi-materi yang berhubungan
dengan program.
4. View Persepsi Warna atau bisa juga dengan menekan Ctrl+W pada
keyboard, perintah untuk menampilkan program persepsi warna.
5. View Persepsi Bentuk atau bisa juga dengan menekan Ctrl+B pada
keyboard, perintah untuk menampilkan program persepsi bentuk.
6. Help Operasi Program atau bisa juga dengan menekan Ctrl+H pada
keyboard, perintah untuk menampilkan bantuan cara menjalankan program.
Untuk menjalankan program persepsi bentuk, ada beberapa hal yang perlu
24
diperhatikan, yaitu mengisi edit k dimana k merupakan nilai rentangan substitusi
(dalam program ini nilai maksimum adalah 9 seperti yang terlihat pada Gambar 4.3),
Gambar 4.4 Hasil program Persepsi Warna (keadaan awal = rule 122)
Pada saat ditekan Tombol Proses maka akan menghasilkan visualisasi seperti pada
Gambar 4.5 dan Gambar 4.6.
25
(a) (b)
Gambar 4.5 Respon sel terhadap warna dengan aturan (a) {1,1,1,0}{0,1,2,0} (b)
{0,1,2,0}{0,1,3,0}
(a) (b)
(c) (d)
26
(e) (f)
Gambar 4.6 Respon sel terhadap warna dengan aturan (a) {0,1,3,0}{0,1,4,0} (b)
{0,1,4,0}{0,1,5,0} (c) {0,1,5,0}{0,1,6,0} (d) {0,1,6,0}{0,1,7,0} (e)
{0,1,7,0}{0,1,8,0} (f) {0,1,8,0}{0,1,9,0}
Keterangan warna yang dipakai aturan pada Gambar 4.5 dan Gambar 4.6:
0. Warna hijau
1. Warna pink
2. Warna biru
3. Warna merah hati
4. Warna merah
5. Warna orange
6. Warna kuning
7. Warna hijau muda
8. Warna aqua
9. Warna putih
Gambar 4.5 dan Gambar 4.6 menunjukkan hasil respon sel terhadap warna
dimana salah satu kotak 2x2 dari Gambar 2.3 dengan warna tertentu disubstitusi dengan
warna yang lain. Gambar 4.5(a) menunjukkan respon warna dengan aturan
{1110}{0120}. Pada Gambar 4.5(a) ini terdapat tiga warna yaitu hijau, pink dan biru.
Dari ketiga kombinasi itu dihasilkan warna lain dimana biru lebih dominan. Gambar
4.5(b) menunjukkan respon warna dengan aturan {0120}{0130}. Warna yang
dihasilkan oleh Gambar 4.5(b) adalah kombinasi dari warna hijau, pink dan merah hati.
Gambar 4.6(a) menunjukkan respon warna dengan aturan {0130}{0140}.
27
Warna yang dihasilkan oleh Gambar 4.6(a) adalah kombinasi dari warna hijau,
pink dan merah. Gambar 4.6(b) menunjukkan respon warna dengan aturan
{0140}{0150}. Warna yang dihasilkan oleh Gambar 4.6(b) adalah kombinasi dari
warna hijau, pink dan orange. Gambar 4.6(c) menunjukkan respon warna dengan aturan
{0150}{0160}. Warna yang dihasilkan oleh Gambar 4.6(c) adalah kombinasi dari
warna hijau, pink dan kuning. Gambar 4.6(d) menunjukkan respon warna dengan aturan
{0160}{0170}. Warna yang dihasilkan oleh Gambar 4.6(d) adalah kombinasi dari
warna hijau, pink dan hijau muda. Gambar 4.6(e) menunjukkan respon warna dengan
aturan {0170}{0180}. Warna yang dihasilkan oleh Gambar 4.6(e) adalah kombinasi
dari warna hijau, pink dan aqua Gambar 4.6(f) menunjukkan respon warna dengan
aturan {0180}{0190}. Warna yang dihasilkan oleh Gambar 4.6(f) adalah kombinasi
dari warna hijau, pink dan putih. Atuaran yang digunakan pada Gambar 4.5 dan Gambar
4.6 merupakan atuaran berantai.
28
(a) (b)
Gambar 4.8 Hasil program Persepsi Bentuk (a) k = 2 (b) k = 3
(a) (b)
(c) (d)
(e) (f)
Gambar 4.9 Hasil program Persepsi Bentuk (a) k = 4 (b) k = 5 (c) k = 6 (d) k = 7 (e) k = 8 (f) k = 9
Gambar 4.8 dan Gambar 4.9 menunjukkan hasil respon sel terhadap bentuk
dengan aturan 1{0,0,0,1} dan 0{0,1,0,0} dimana 1 mewakili warna hitam dan 0
mewakili warna putih. Gambar 4.8(a) menunjukkan respon bentuk dengan k = 2.
Gambar 4.8(b) menunjukkan respon bentuk dengan k = 3. Gambar 4.9(a) menunjukkan
respon bentuk dengan k = 4. Gambar 4.9(b) menunjukkan respon bentuk dengan k = 5.
Gambar 4.9(c) menunjukkan respon bentuk dengan k = 6. Gambar 4.9(d) menunjukkan
29
respon bentuk dengan k = 7. Gambar 4.9(e) menunjukkan respon bentuk dengan
k = 8. Gambar 4.9(f) menunjukkan respon bentuk dengan k = 9.
Gambar 4.10(a) merupakan bentuk lain yang dihasilkan oleh persepsi bentuk
pada saat k = 7 dengan aturan 1{0,0,0,1}; 0{0,1,1,0}. Gambar 4.10(b) merupakan
bentuk lain yang dihasilkan oleh persepsi bentuk pada saat k = 7 dengan aturan
1{1,1,1,0}; 0{1,0,0,0}. Gambar 4.10(c) merupakan bentuk lain yang dihasilkan
oleh persepsi bentuk pada saat k = 7 dengan aturan 1{0,0,0,1}; 0{1,0,0,1}.
Dari bentuk-bentuk yang telah dihasilkan, dapat ditarik kesimpulan bahwa suatu
bentuk terdiri beberapa pola atau merupakan suatu koleksi dari beberapa pola. Jadi
suatu bentuk yang diterima oleh sistem visual tidak independen pada setiap pixel
melainkan dianggap sebagai suatu kesatuan.
→
Fg = m a
30
BAB 5
PENUTUP
5.1 Kesimpulan
Dihasilkan program persepsi visual dengan model cellular automata sistem
substitusi. Pada program persepsi visual dengan model cellular automata sistem
substitusi menampilkan hasil visualisasi tentang persepsi visual yang meliputi
persepsi warna dan persepsi bentuk.
Program persepsi warna menghasilkan suatu gambaran dimana suatu warna
yang lebih dominan mempengaruhi warna yang lain. Pada program persepsi warna
digunakan aturan cellular automata satu dimensi sebagai image pada retina (keadaan
awal program) kemudian direspon dengan salah satu kemungkinan yang ada dg
mensubstitusikan warna tertentu.
Program persepsi bentuk menghasilkan suatu program yang menggambarkan
proses bagaimana sesuatu terlihat dari dekat ke jauh. Jauh dekatnya gambar yang
teramati dapat ditentukan dengan mengubah nilai k dimana k merupakan rentangan
yang digunakan untuk mewakili jauh dekatnya benda yang teramati, semakin besar
nilai k maka benda yang teramati kelihatan semakin jauh. Bentuk yang dihasilkan
merupakan suatu koleksi dari beberapa pola atau dapat dikatakan merupakan suatu
kesatuan dan tidak independen pada setiap pixel.
5.2 Saran
Berdasarkan hasil program persepsi visual dengan model persepsi visual
dengan model cellular automata sistem substitusi, dapat disarankan agar dilakukan
pengembangan lebih lanjut, misalnya sebagai berikut:
1. memvisualisasikan persepsi visual dengan tampilan gambar tiga dimensi.
2. memvisualisasikan persepsi visual dengan bentuk sel yang lain, misalnya
bentuk lingkaran, segitiga atau heksagonal.
31
DAFTAR PUSTAKA