BAB 2
LANDASAN TEORI
Pada Bab 2 ini akan dijelaskan mengenai berbagai teori yang mendukung dalam
pembuatan perancangan aplikasi Fractal Batik. Dalam bab ini juga akan dijelaskan
mengenai konsep fractal secara umum, dan metode-metode yang digunakan untuk
menghasilkan sebuah fractal object seperti metode Iterated Function System, Escape-
Time Fractal, dan Random Fractal.
2.1. Proses Pembuatan Batik
Batik telah dikenal luas sebagai hasil tekstil dari daerah Jawa, Indonesia. Batik
memiliki sejarah yang panjang dalam perkembangannya di Indonesia, bahkan sebelum
era kerajaan Majapahit. Meskipun kebanyakan batik dikenal sebagai budaya daerah
Jawa, namun batik juga dapat ditemukan dalam budaya daerah Sumatera yaitu Jambi.
Di Jawa, motif batik dapat dibedakan menjadi dua berdasarkan dari daerah
geografi batik tersebut dibuat, yaitu Batik Vorstenladen dan Batik Pesisir. Batik
Vorstenladen merupakan seni tekstil yang ditemukan pada daerah seperti keraton,
pemerintahan tradisional Jawa, seperti di Solo dan Yogyakarta. Batik ini memiliki ciri
khas dalam keteraturan motifnya, karena terpengaruh budaya keraton yg teratur.
Sedangkan batik pesisir ditemukan pada daerah yang dekat dengan pesisir pantai seperti
Cirebon, Tuban, Pekalongan, dan Madura. Meskipun dikembangkan di daerah pesisir,
namun dalam perkemabangannya, batik ini terpengaruh oleh budaya China dan Arab
yang masuk melalui para pedagang.
Batik tersebut dibuat dengan cara yang disebut mbatik. Mbatik di tiap daerah
memiliki proses dan desain yang berbeda. Begitu pula dengan bahan kain dan
8
pewarnaan batik tersebut juga berbeda-beda. Untuk melakukan observasi terhadap
desain batik, tidak dapat hanya melihat dari corak yang telah jadi. Namun harus diteliti
lebih lanjut dari proses awal hingga akhir dari pembuatan batik tersebut.
Namun, secara umum proses membuat batik atau mbatik dapat digolongkan ke
dalam tiga langkah, yaitu:
1. Klowongan, proses menggambar desain dasar dari batik yang akan dibuat.
2. Isen-isen, proses mengisi ruang kosong pada desain batik dengan
menggambar beberapa corak tertentu.
3. Harmonic Ornamentation, Pemberian warna pada desain background untuk
menghasilkan desain secara keseluruhan. Beberapa pola tradisional dibuat
seperti galar, gringsing, dan lainnya atau membuat lagi isen yang lain.
Gambar 2. 1. Contoh Proses Pembuatan Desain Batik Tradisional
(Sumber: Situngkir, Hokky. 2008, p3)
9
Lebih jauh lagi, membuat batik tidak hanya tentang desainnya saja. Bahan-
bahan pembuat batik juga memegang peranan penting seperti kain, lilin, pewarna
organic, dan lainnya. (Situngkir, 2008).
2.2. Fractal Geometry
Fractal berasal dari kata fractus dari bahasa latin yang berarti pecah
(Mandelbrot, 1983, p4). Dalam definisi secara umum fractal dapat diartikan sebagai
pengulangan bentuk geometri yang dibentuk dari bentuk primitif geometri tersebut yang
dipecah atau dibagi ke dalam bentuk dalam skala dan posisi tertentu. Pada dasarnya
fractal merupakan geometri sederhana yang digandakan berulangkali dan digabungkan
satu sama lain dalam skala beragam. Fractal bermula dari sebuah chaos yaitu bentuk
geometri yang memiliki sifat acak (random), gangguan (noise) atau tidak teratur
(chaotic). Bentuk chaos tersebut membentuk sebuah perulangan yang memiliki
keteraturan. Sebagai contoh di alam adalah bentuk gunung, awan, pohon, dan lainnya.
Konsep fractal dapat menguraikan sifat fisis yang rumit menjadi elemen yang lebih
sederhana. Proses yang lama kelamaan membentuk suatu keteraturan tertentu, yakni
self-similarity, self-affinity, self-inverse, dan self-squaring yang merupakan konsep dasar
dari geometri fractal.
Sifat fractal yang berupa self-similarity menunjukkan bahwa fractal terdiri dari
bagian-bagian yang berbentuk serupa satu sama lain. Self-affinity menggambarkan
bahwa fractal disusun atas bagian-bagian geometri yang saling terangkai satu sama lain.
Self-inverse artinya terdapat suatu bagian dalam geometri fractal yang merupakan
susunan yang terbalik dari susunan lainnya, sedangkan self-squaring dapat diartikan
bahwa suatu bentuk geometri fractal merupakan peningkatan kerumitan dari bagian
sebelumnya atau secara matematis disebut peng-kuadratan.
10
Perkembangan metode matematika dibalik fractal pertama kali dimulai pada
abad ke-17 ketika seorang matematikawan Leibniz melakukan suatu penelitian
mengenai bentuk perulangan (recursive) bangun yang serupa (self-similarity). Namun
dia melakukan sebuah kesalahan dengan memberikan sebuah pemikiran bahwa hanya
garis lurus yang memiliki sifat self-similar dalam kasus ini. Sampai pada tahun 1872
ketika Karl Wieerstrass memberikan contoh sebuah fungsi dengan properti non-intuitif
yang memiliki kekontinuitas tetapi tidak differentiable. Pada tahun 1904, Helge van
Koch, tidak puas dengan teori dari Wieerstrass dan menyebutnya sangat abstrak dan
definisi yang terlalu analitik, memberikan sebuah definisi secara geometris terhadap
fungsi yang serupa, yang kemudian dikenal dengan Koch Snowflake. Pada tahun 1915,
Waclaw Sierpinski membuat sebuah geometri segitiga yang disebut dengan segitiga
sierpinski dan setahun kemudian membentuk sebuah geometri yang disebut dengan
karpet sierpinski. Ide terhadap konsep kurva self-similar dikembangkan lebih lanjut lagi
oleh Paul Pierre Levy yang pada tahun 1938 dalam jurnalnya Plane or Space Curves
and Surfaces Consisting of Parts Similar to the Whole menjelaskan mengenai bentuk
kurva fractal baru yaitu Levy C Curve. George Cantor juga memberikan contoh dari
sebuah himpunan yaitu Cantor Set yang juga termasuk fractal. Iterated Function pada
akhir abad 19 dan awal abad 20 diinvestigasi oleh Henri Poincare, Felix Clain, Pierre
Fatou dan Gaston Julia. Gaston Julia kemudian menemukan lagi sebuah bentuk geometri
fractal yang dikenal dengan Julia set. Bagaimanapun juga, tanpa bantuan grafik
komputer modern, mereka kesulitan untuk memvisualisasikan berbagai objek yang
mereka temukan. Pada tahun 1960, Benoit Mandelbrot memulai investigasi mengenai
self-similarity pada jurnalnya seperti How Long Is The Coast of Britain? Statistical Self-
Similarity and Fractional Dimension. Akhirnya Mandelbrot (1982, p15) memberikan
11
sebuah kesimpulan mengenai definisi fractal sebagai bentuk geometri yang memiliki
nilai dimensi Hausdorff-Besicovitch lebih tinggi dibanding dengan nilai dimensi
topologisnya.
2.2.1. Fractal pada bidang Euclidean
Dalam definisi lain secara matematis, sebuah geometri yang disebut
fractal memiliki nilai dimensi Hausdorff lebih tinggi dibanding dengan nilai
dimensi topologis. Untuk mengerti lebih dalam mengenai definisi fractal tersebut
kita harus terlebih dulu mengenal terminologi tentang himpunan-himpunan di
dalam R2 untuk mendapatkan pengertian fractal pada bidang euclidean. Sebuah
himpunan di dalam R2
disebut terbatas (bounded) jika himpunan tersebut dapat
dilingkupi oleh sebuah lingkaran yang besarnya sesuai dan disebut tertutup
(closed) jika himpunan tersebut mengandung seluruh titik batasnya. Dua
himpunan di dalam R2 disebut sama dan sebangun atau kongruen jika kedua
himpunan tersebut dapat dibuat saling berimpit dengan mentranslasikan dan
merotasikannya secara tepat dalam R2.
Gambar 2. 2. Ilustrasi jenis himpunan. (a) Himpunan Terbatas dan Tak
Terbatas. (b) Himpunan yang kongruen
Jika T: R2 R
2 merupakan operator linear yang mengubah skala dengan
faktor s dan jika Q sebuah himpunan di dalam R2, maka himpunan T(Q)
12
(himpunan citra titik-titik pada Q yang dihasilkan T) disebut dilasi (dilation) dari
jimpunan Q jika s > 1 dan disebut kontraksi (contraction) dari Q jika 0 < s < 1.
Jadi bisa kita sebut bahwa T(Q) adalah himpunan Q yang diubah skalanya oleh
faktor s.
Gambar 2. 3. Sebuah Kontraksi dari Q
Jenis fractal yang akan dibahas pertama adalah self-similar (saling
serupa). Secara umum himpunan saling serupa dapat didefinisikan sebagai
sebuah subhimpunan tertutup dan terbatas pada R2 dan dinyatakan dalam bentuk:
𝑆 = 𝑆1 ∪ 𝑆2 ∪ 𝑆3 ∪ …∪ 𝑆𝑛
dimana 𝑆1, 𝑆2, 𝑆3, … , 𝑆𝑛 adalah himpunan-himpunan yang tidak saling tumpang
tindih, masing-masing kongruen dengan S yang diubah skalanya dengan faktor s
yang sama (0 < s < 1), dan disebut sebuah dekomposisi dari S yang kongruen
dan tidak saling tumpang tindih.
Sebagai contoh pertama, akan dibahas mengenai segmen garis. Sebuah
segmen garis di dalam R2 (Gambar 2.4a) dapat dinyatakan sebagai gabungan dua
garis yang kongruen dan tidak saling tumpang tindih (Gambar 2.4b). Masing-
masing segmen garis yang lebih pendek dari garis semula diubah skalanya
dengan faktor s = ½ dan k = 2.
13
Gambar 2. 4. Segmen Garis
Contoh kedua adalah bujursangkar (Gambar 2.5a). Sebuah bujursangkar
dapat dinyatakan sebagai gabungan dari empat bujur sangkar kecil yang
kongruen dengan bujur sangkar semula dengan faktor skala yang lebih kecil dan
sama besar (Gambar 2.5b). Empat bujur sangkar tersebut memiliki skala faktor s
= ½ dan k = 4.
Gambar 2. 5. Bujursangkar (a) dan Empat Bujur Sangkar Yang Kongruen
Dan Tidak Saling Tumpang Tindih (b)
Contoh selanjutnya adalah karpet sierpinski. Himpunan ini pertama kali
dijelaskan oleh Waclaw Sierpinski. Himpunan ini dapat dinyatakan sebagai
gabungan delapan subhimpunan yang kongruen, dimana kedelapan subhimpunan
tersebut kongruen dengan himpunan asli dan memiliki skala dengan faktor 1
3.
Sehingga himpunan ini memiliki nilai k = 8 dan skala faktor s = 1
3. Dan dapat
dilihat bahwa pola bujursangkar dalam himpunan ini akan terus berulang dengan
nilai faktor skala yang semakin kecil.
14
Gambar 2. 6. Karpet Sierpinski
Pada contoh berikut ini akan dibahas mengenai Segitiga Sierpinski. Sama
seperti karpet Sierpinski, himpunan ini juga di jelaskan pertama kali oleh
Waclaw Sierpinski. Himpunan ini dibentuk dari sebuah segitiga, bisa berupa
segitiga dalam bentuk apapun seperti segitiga sama kaki, segitiga sama sisi, dan
segitiga siku-siku. Segitiga tersebut dibagi ke dalam 3 subhimpunan segitiga
yang lebih kecil dan diubah skalanya dengan faktor ½, sehingga himpunan ini
memiliki nilai k = 3 dan nilai faktor skala s = ½. Sama seperti karpet sierpinski,
pola segitiga dalam himpunan ini akan terus berulang dengan skala yang semakin
kecil.
Gambar 2. 7. Segitiga Sierpinski
(Anton, 2000, p269-272)
15
2.2.2. Dimensi Topologis Himpunan
Dimensi subruang dari sebuah ruang vektor adalah jumlah vektor-vektor
pada suatu basis, dan kita telah menjumpai bahwa definisi tersebut bersesuaian
dengan pengertian intuitif tentang dimensi. Sebagai contoh, sebuah titik pada
ruang R2 memiliki nilai dimensi 0, garis-garis yang melalui titik asal tersebut
memiliki nilai dimensi 1 sedangkan ruang R2 itu sendiri berdimensi 2. Secara
umum beberapa pernyataan mengenai dimensi topologis adalah sebagai berikut:
a. Sebuah titik di dalam R2 mempunyai dimensi topologis nol;
b. Sebuah kurva di dalam R2 mempunyai dimensi topologis satu;
c. Sebuah daerah di dalam R2 mempunyai dimensi topologis dua.
Secara informal, karpet Sierpinski dan segitiga Sierpinski mengandung
begitu banyak “lubang” sehingga himpunan tesebut lebih menyerupai sebuah
kurva atau jarring-jaring garis dibanding daerah-daerah. Dengan demikian, kedua
bentuk tersebut memiliki nilai dimensi topologis satu. (Anton, 2000, p273)
2.2.3. Dimensi Hausdorff
Pada tahun 1919, seorang ahli matematika Felix Hausdorff memberikan
sebuah definisi alternatif untuk sebuah dimensi dari sebarang himpunan di dalam
Rn. Definisinya relatif kompleks, tetapi untuk himpunan yang saling serupa,
definisi ini lebih menyederhanakan definisi yang telah ada. Dimensi Hausdorff
dari sebuah himpunan saling serupa S dilambangkan dengan dH(S) didefinisikan
sebagai
𝑑𝐻 𝑆 =𝑙𝑛 𝑘
𝑙𝑛(1 𝑠 )
16
Dalam definisi tersebut, ln melambangkan logaritma natural, sedangkan k
adalah nilai banyaknya pembagian himpunan menjadi subhimpunan, dan s
adalah nilai skala faktor dari subhimpunan tersebut terhadap himpunan asal.
Persamaan tersebut juga dapat dinyatakan dalam bentuk sebagai berikut:
𝑆𝑑𝐻 (𝑆) =1
𝑘
Dimana dimensi Hausdorff dinyatakan dalam bentuk pangkat atau
sebagai eksponen. Dengan bentuk tersebut dapat lebih menjelaskan mengenai
interpretasi konsep dimensi Hausdorff. Sebagai contoh, ada sebuah himpunan
saling serupa dengan faktor skala s = ½, maka areanya atau ukurannya akan
berkurang dengan faktor (1
2)𝑑𝐻(𝑆). Sebagai contoh untuk mengubah sebuah skala
segmen garis dengan faktor ½ akan mengurangi panjangnya dengan faktor
(1
2)1 =
1
2, dan mengubah skala sebuah bujursangkar dengan faktor ½ akan
mengurangi ukurannya dengan faktor (1
2)2 =
1
4. Berikut ini adalah beberapa
pernyataan mengenai dimensi Hausdorff dengan dimensi topologis:
a. Dimensi topologis dan dimensi Hausdorff dari sebuah himpunan
tidak harus sama.
b. Dimensi Hausdorff dari sebuah himpunan tidak harus bilangan bulat.
c. Dimensi topologis dari sebuah himpunan akan lebih kecil atau sama
dengan dimensi Hausdorff, atau dengan kata lain 𝑑𝑇(𝑆) ≤ 𝑑𝐻(𝑆).
(Anton, 2000, p274)
17
Tabel 2. 1. Tabel Perbandingan Nilai Dimensi Topologis dengan Dimensi
Hausdorff
Himpunan S s k 𝒅𝑯(𝑺) =𝒍𝒏 𝒌
𝒍𝒏 (𝟏/𝒔) 𝒅𝑻(𝑺)
Segmen Garis 1 2 2 ln 2/ ln 2 = 1 1
Bujursangkar 1 2 4 ln 4/ ln 2 = 2 2
Karpet Sierpinski 1 3 8 ln 8/ ln 3 = 1,892... 1
Segitiga Sierpinski 1 2 3 ln 3/ ln 2 = 1,584… 1
2.3. Iterated Function System
Dalam Matematika, Iterated Function System (IFS) adalah metode untuk
membentuk sebuah fractal¸ hasil dari IFS tersebut akan selalu membentuk fractal
dengan hasil self-similar.
Kita nyatakan D sebagai subset dari Rn, namun sering pula D = R
n. Sebuah
pemetaan 𝑆: 𝐷 → 𝐷 disebut contraction pada D jika sebuah nilai c dengan 0 < c < 1
𝑆 𝑥 − 𝑆(𝑦) ≤ 𝑐 𝑥 − 𝑦 dimana x, y ∈ D. Jika persamaan tersebut mencapai suatu
kondisi 𝑆 𝑥 − 𝑆(𝑦) = 𝑐 𝑥 − 𝑦 , maka transformasi S akan menjadi bentuk yang
serupa (similar) secara geometri, dan kita akan menyebut S sebagai contracting
similarity.
Sebuah anggota terbatas dari contractions {S1, S2, …, Sm}, dengan m ≥ 2, disebut
iterated function system (IFS). Kita akan memnaggil subset F dari D yang merupakan
himpunan tak kosong sebagai sebuah attractor untuk IFS jika,
𝐹 = 𝑆𝑖(𝐹)
𝑚
𝑖=1
Properti fundamental dari sebuah IFS adalah fungsi tersebut menentukan sebuak
attractor yang unik, yaitu sebuah fractal. Untuk sebuah contoh yang mudah, kita anggap
18
F sebagai himpunan tengah ketiga dari himpunan Cantor. Kemudian 𝑆1, 𝑆2:𝑅 → 𝑅 yang
dinyatakan oleh:
𝑆1 𝑥 =1
3𝑥 ; 𝑆2 𝑥 =
1
3𝑥 +
2
3 ,
Maka 𝑆1 𝐹 dan 𝑆2 𝐹 adalah bagian kiri dan kanan dari F, maka 𝐹 = 𝑆1 𝐹 ∪ 𝑆2 𝐹 ;
F tersebut adalah sebuah attractor dari IFS yang mengandung constractions [S1, S2],
dua buah pemetaan, yang merepresentasikan dasar dari self-similarities dari Himpunan
Cantor.
Untuk membuktikan properti fundamental dari fractal bahwa IFS mempunyai
attractor yang unik, kita mendefinisikan sebuah metrik atau jarak d diantara subset dari
D. $ menyatakan kelas dari himpunan tak kosong yang merupakan subset D. kemudian
δ-neighbourhood dari himpunan A adalah himpunan nilai yang merupakan jarak δ dari
A, 𝐴𝛿 = 𝑥 ∈ 𝐷: 𝑥 − 𝑎 ≤ 𝛿 𝑢𝑛𝑡𝑢𝑘 𝑠𝑒𝑏𝑎𝑔𝑖𝑎𝑛 𝑎 ∈ 𝐴 . Kita membuat $ ke dalam ruang
metrik dengan mendefinisikan jarak antara dua himpunan A dan B adalah jarak δ yang
terkecil dimana δ-neighbourhood dari A mengandung B dan begitu pula sebaliknya.
𝑑(𝐴, 𝐵) = inf{𝛿: 𝐴 ⊂ 𝐵𝛿 𝑎𝑛𝑑 𝐵 ⊂ 𝐴𝛿
Fungsi d adalah sebuah metrik atau fungsi jarak, oleh karena itu, ada tiga syarat yang
harus dipenuhi yaitu (i) 𝑑(𝐴, 𝐵) ≥ 0 dengan persamaan jika dan hanya jika 𝐴 = 𝐵, (ii)
𝑑 𝐴, 𝐵 = 𝑑(𝐵, 𝐴), (iii) 𝑑 𝐴, 𝐵 ≤ 𝑑 𝐴, 𝐶 + 𝑑 𝐶, 𝐵 untuk semua A,B,C ∈ $. metrik
dari d dikenal sebagai Hausdorff Metric pada S. Jika d(A,B) memiliki nilai yang kecil
maka jarak antara A dengan B dekat satu sama lain sebagai himpunan.
19
(2.1)
(2.2)
(2.3)
Gambar 2. 8. Hausdorff Distance antara himpunan A dengan Himpunan B yang
terkecil δ > 0
(sumber: Falconer, Kenneth. 2003, p124)
Untuk membuktikan properti fundamental tersebut, akan dijelaskan
dengan menggunakan teori Banach Contraction.
Anggap IFS yang dibentuk oleh contraction {S1, S2, …, Sn} terdapat pada D ⊂ Rn,
maka
𝑆 𝑥 − 𝑆(𝑦) ≤ 𝑐 𝑥 − 𝑦 ; (𝑥, 𝑦) ∈ 𝐷
dengan ci < 1 untuk setiap i. kemudian terdapat sebuah attractor F yang unik, yang
merupakan himpunan tak kosong, dinyatakan sebagai
𝐹 = 𝑆𝑖(𝐹)
𝑚
𝑖=1
Lebih jauh, jika mendefinisikan sebuah transformasi S, dalam kelas $ yang merupakan
himpunan tak kosong, oleh
𝑆(𝐸) = 𝑆𝑖(𝐸)
𝑚
𝑖=1
Untuk 𝐸 ∈ $ dan tulis Sk untuk setiap k perulangan dari S (jadi S
0(E) = E dan S
k(E) =
S(Sk-1
(E)) untuk k ≥ 1), maka
20
(2.4)
(2.5)
𝐹 = 𝑆𝑘(𝐸)∞𝑖=0
untuk setiap 𝐸 ∈ $ bahwa 𝑆𝑖(𝐸) ⊂ 𝐸 untuk setiap i.
Sebagai bukti pertama, catat bahwa himpunan di dalam kelas $
ditransformasikan oleh S kedalam himpunan lain dari $. Jika A, B ∈ $, maka
𝑑 𝑆 𝐴 , 𝑆 𝐵 = 𝑑 𝑆𝑖
𝑚
𝑖=1
(𝐴), 𝑆𝑖(𝐵)
𝑚
𝑖=1
≤ max1≤𝑖≤𝑚
𝑑(𝑆 𝐴 ,𝑆(𝐵))
Menggunakan definisi metrik d dan mecatat bahwa jika δ-neighbourhood (Si(A))δ
memuat Si(B) untuk semua i maka ( 𝑆𝑖𝑚𝑖=1 (𝐴))𝛿 memuat 𝑆𝑖
𝑚𝑖=1 (𝐵), dan sebaliknya.
Dengan persamaan (2.1), maka
𝑑 𝑆 𝐴 , 𝑆 𝐵 ≤ ( max1≤𝑖≤𝑚
𝑐𝑖)𝑑(𝐴, 𝐵)
Mungkin hal tersebut menunjukkan bahwa d adalah metrik yang complete pada
$, dimana setiap urutan Cauchy dari himpunan di dalam $ adalah konvergen pada setiap
himpunan di dalam $. Sejak 0 < max1≤𝑖≤𝑚 𝑐𝑖 < 1, (2.5) menyatakan bahwa S adalah
contraction pada ruang metrik lengkap($,d). Dengan teori pemetaan Banach’s
contraction, $ memiliki nilai tetap yang unik, yaitu terdapat himpunan unik F ∈ $
dimana S(F) = F, yaitu (2.2), dan lebih jauh 𝑆𝑘(𝐸) → 𝐹 dengan 𝑘 → ∞. Secara berurut,
jika 𝑆𝑖(𝐸) ⊂ 𝐸 untuk setiap i maka 𝑆(𝐸) ⊂ 𝐸, maka 𝑆𝑘(𝐸) adalah pegurangan urutan
dari himpunan tak kosong yang mengandung F dengan intersection 𝑆𝑘∞𝑘=0 (𝐸) harus
sama dengan F. (Falconer, 2003, p123-128)
Sebagai contoh adalah sebuah fractal “fern” yang dibentuk dengan konsep IFS.
Titik pertama yang digambar adalah titik asal x0 = 0 dan y0 = 0. Dan titik selanjutnya
secara berulang dihasilkan dengan mengaplikasikan salah satu dari empat koordinat
sebagai berikut secara acak:
21
Gambar 2. 9. Fractal Fern
(sumber: http://en.wikipedia.org/wiki/File:Fractal_fern_explained.png)
a. 𝑥𝑛+1 = 0; 𝑦𝑛+1 = 0.16𝑦𝑛 ;
Transformasi koordinat ini dipilih 1% dari waktu dan posisi semua titik ke
sebuah titik pada segmen garis yang ditunjukkan oleh garis hijau pada gambar.
b. 𝑥𝑛+1 = 0.2𝑥𝑛 − 0.26𝑦𝑛 ; 𝑦𝑛+1 = 0.23𝑥𝑛 + 0.22𝑦𝑛 + 1.6;
Transformasi koordinat ini dipilij 7% dari waktu dan posisi setiap ttik di
dalam kotak hitam ke sebuah titik di dalam kotak merah yang ditunjukkan dalam
gambar.
c. 𝑥𝑛+1 = −0.15𝑥𝑛 + 0.28𝑦𝑛 ; 𝑦𝑛+1 = 0.26𝑥𝑛 + 0.24𝑦𝑛 + 0.44;
22
Transformasi koordinat ini dipilih 7% dari waktu dan posisi setiap ttik di
dalam kotak hitam ke sebuah titik di dalam kotak biru tua yang ditunjukkan
dalam gambar.
d. 𝑥𝑛+1 = 0.85𝑥𝑛 + 0.44𝑦𝑛 ; 𝑦𝑛+1 = −0.04𝑥𝑛 + 0.85𝑦𝑛 + 1.6;
Transformasi koordinat ini dipilih 85% dari waktu dan posisi setiap titik di
dalam kotak hitiam ke sebuah titik di dalam kotak biru muda di dalam gambar.
Transformasi koordinat pertama akan menggambar bentuk batang. Yang kedua
menggambar bagian bawah daun sebelah kiri. Yang ketiga menggambar bagian bawah
daun sebelah kanan. Sedangkan yang keempat menggambar berturut-turut salinan dari
batang dan bagian bawah daun untuk membuat fern secara utuh. Perulangan alami dari
IFS menjamin bahwa semua bentuk tersebut merupakan replika dari setiap bentuk daun.
Ilustrasi lain adalah pembentukan konstruksi IFS dari dua buah fungsi
transformasi. Fungsi tersebut diwakili oleh efek yang dihasilkan dari fungsi tersebut dari
dua buah persegi (fungsi tersebut mentransformasikan persegi yang berwarna putih
menjadi persegi yang berwarna abu-abu ). Kombinasi dari dua fungsi tersebut
membentuk operator Hutchinson.
Gambar 2. 10. Ilustrasi IFS Dengan Kombinasi Dua Fungsi Yang Membentuk
Hutchinson Operator
(sumber: http://en.wikipedia.org/wiki/File:Ifs-construction.png)
23
2.3.1. L-system
L-system adalah sebuah metode penulisan secara paralel yang
dikembangkan oleh Aristid Lindenmayer (1925-1989) seorang peneliti biologi
dan botani di Hungaria pada tahun 1968. L-system dapat juga disebut sebagai
sebuah formal grammar yang terdiri dari beberapa simbol dan aturan. L-system
secara umum digunakan untuk membentuk model proses pertumbuhan pada
sebuah tanaman, namun dapat juga digunakan sebagai morfologi dari varietas
makhluk hidup. L-system juga dapat digunakan untuk membuat self-similar
fractal dan merupakan salah satu metode untuk menghasilkan algoritma Iterated
Function System menggunakan formal language.
Gambar 2. 11. 'Weeds', proses perumbuhan sebuah tanaman menggunakan
L-system 3D
(sumber: http://en.wikipedia.org/wiki/File:Fractal_weeds.jpg)
Secara umum L-system adalah bentuk notasi dari sebuah perulangan
tulisan dimana ide dasarnya adalah membentuk sebuah objek dengan menukar
atau mengganti beberapa bagian pada sebuah aturan melalui mekanisme
perulangan. Pengulangan pada aturan L-system merujuk kepada sebuah self-
similarity dan untuk itu bentuk fractal dapat dibuat dengan mudah menggunakan
L-system. Tata bahasa atau grammar L-system hampir serupa dengan semi-Thue
24
grammar dan juga sekarang lebih dikenal sebagai parametric L-system yang
diartikan sebagai tuple.
G = {V, S, ω, P},
dimana:
a. V (the alphabet) adalah himpunan dari beberapa simbol variabel yang
mengandung elemen yang dapat diganti oleh variabel lain;
b. S adalah himpunan dari beberapa simbol yang konstan, yang tidak
dapat diganti oleh simbol lain;
c. ω (start, axiom atau initiator) adalah sebuah inisial awal dari sistem
berupa string yang mengandung V dan atau S;
d. P adalah sebuah himpunan dari production rules yang menjelaskan
bagaimana setiap variabel dapat diubah dengan kombinasi dari variabel
lain, mengandung dua buah string yaitu predecessor dan successor.
Aturan pada L-system diterapkan secara berulang dimulai dari sebuah
pernyataan awal (intial state). Rule tersebut diulang sesuai dengan jumlah iterasi
yang diinginkan user. L-system adalah sebuah context-free grammar dimana
setiap production rule hanya berlaku untuk satu simbol saja pada sebuah set.
Simbol yang lain tidak terpengaruh dengan production rule tersebut. Hal ini
disebut kelas D0L-system (Deterministic and 0-context /context-free).
Sebagai contoh, ada dua buah variabel A dan B dimana untuk setiap
variabel tersebut kita nyatakan sebuah production rule. Aturan tersebut adalah
AAB dan BA, maksudnya adalah untuk setiap perulangan huruf A akan
diganti dengan AB, sedangkan huruf B akan diganti oleh huruf A. Sebuah
25
pernyataan awal (initial state) disebut axiom. Pada langkah pertama kita
asumsikan terdapat axiom dengan huruf A saja. Kemudian pada perulangan huruf
tersebut diganti dengan AB merujuk pada aturan AAB. langkah berikutnya,
huruf B tersebut diganti dengan A sesuai aturan BA. Kedua huruf tersebut pada
langkah selanjutnya akan diganti sesuai aturan yang telah dibuat, dan proses
tersebut berlangsung terus secara berulang sesuai dengan jumlah perulangan
yang diinginkan.
variables : A B;
axiom : A;
production rules : (A → AB), (B → A);
Bila digambarkan dalam diagram pohon adalah sebagai berikut (dimana n
menyatakan langkah perulangan):
Gambar 2.12. Ilustrasi L-System dengan Diagram Pohon
Dari pengertian L-system tersebut, dapat dikaitkan dengan bentuk fractal
geometry karena proses pada L-system tersebut mempunyai sifat self-similarity.
Untuk menghasilkan gambar fractal, digunakanlah sebuah interpretasi dari
grafik, berdasarkan turtle geometry.
26
State atau pernyataan dari turtle terdiri atas tiga jenis yaitu (x, y, a)
dimana koordinat kartesius dilambangkan dengan (x, y), dan a dinyatakan
sebagai sudut untuk menentukan arah dari koordinat tersebut. Kemudian juga
dinyatakan d sebagai jarak yang akan ditempuh koordinat tersebut, serta
perubahan sudut yang dinotasikan sebagai b. Turtle geometry tersebut merespon
perintah yang diberikan dengan simbol secara umum sebagai berikut (Edgar,
2008, p15-18):
a) F : Maju sebanyak langkah d. pernyataan awal turtle akan berubah
menjadi (x’ ,y’ , a), dimana x’ = x + d cos(a); dan y’ = y + d sin(a),
kemudian gambar garis yang melalui (x,y) sampai (x’,y’).
b) f : Maju sebanyak langkah d tanpa menggambar garis dan state turtle
berlaku seperti pernyataan pertama diatas.
c) + : Belok ke arah kanan sebesar sudut b. State dari turtle akan berubah
menjadi (x, y, a+b).
d) - : Belok ke arah kiri sebesar sudut b. State dari turtle akan menjadi
(x, y, a-b)
Sebagai contoh adalah pendekatan L-system untuk menggambar
“Quadratic Koch Island”. Pernyataan berikut akan memberikan keterangan
mengenai variabel dan production rule yang digunakan untuk menggambar
“Quadratic Koch Island”.
Axiom: F+F+F+F
Rules : F F+F-F-FF+F+F-F
27
Maka, setelah 4 iterasi akan menghasilkan bentuk geometri (Gambar 2.12)
sebagai berikut:
Gambar 2. 12. Quadratic Koch Island
Contoh lainnya adalah membentuk segitiga Sierpinski menggunakan L-
system:
variables : A B
axiom : A
rules : (A → B−A−B),(B → A+B+A)
angle : 60°
Dalam pernyataan tersebut, A dan B berarti gambar garis satu langkah.
Sudut 600 akan mengubah arah garis tiap iterasi sehingga bentuk dasar segitiga
selalu berada di bawah
Gambar 2. 134. Perubahan Gambar Untuk N = 2, N = 4, N = 6, N = 9
Dalam Membuat Segitiga Sierpinski
(sumber: http://en.wikipedia.org/wiki/File:Serpinski_Lsystem.svg)
28
Berikut ini adalah daftar simbol-simbol secara lengkap yang akan
digunakan untuk membuat L-system dalam penulisan laporan ini:
Tabel 2. 2. Daftar Simbol Variabel yang Digunakan Dalam L-System
Penggambaran
F Gambar garis penuh satu langkah
Z Gambar garis setengah langkah
Pergerakan
f Bergerak maju satu langkah
z Bergerak maju setengah langkah
Orientasi
+ Belok ke kanan sebesar sudut
- Belok ke kiri sebesar sudut
& Masuk ke dalam (3D)
^ Bergerak ke luar (3D)
> Guling ke kanan sebesar sudut (3D)
< Guling ke kiri sebesar sudut (3D)
Struktur
[ Mulai cabang
] Selesai Cabang
{ Mulai Polygon
} Selesai Polygon
( ) Set nilai parameter
Penambahan atau Pengurangan
" Tambah panjang sebesar 1 (default)
' Kurangi panjang sebesar 1 (default)
; Tambah besar sudut sebesar 10
(default)
: Kurangi besar sudut sebesar 10(default)
? Tambah ketebalan sebesar 1 (default)
! Kurangi ketebalan sebesar 1 (default)
Tambahan
i Ganti indeks warna untuk isen
c Ganti warna untuk kelir/corak
@ Akhir perintah
29
2.4. Escape-Time Fractals
Algoritma sederhana untuk menghasilkan sebuah representasi dari Mandelbrot
set dikenal sebagai algoritma Escape-time atau juga dikenal dengan sebutan orbits
fractals yang didefinisikan dengan relasi berulang pada setiap titik di dalam suatu ruang.
Contoh dari fractal yang menggunakan teknik ini adalah Mandelbrot set, Julia set,
Burning Ship fractal, Nova fractal, dan Lyapunov fractal.
Prinsip utama dari algoritma Escape-time adalah kalkulasi pada setiap piksel x, y
pada plot area dan berdasarkan hasil kalkulasi tersebut, dipilih sebuah warna untuk tiap
piksel. Posisi x dan y pada setiap titik digunakan sebagai nilai awal pada perulangan.
Hasil perulangan tersebut digunakan sebagai nilai awal pada perulangan selanjutnya, dan
begitu seterusnya. Nilai pada setiap perulangan selalu dicek apakah sudah melebihi
kondisi kritis „escape‟ atau „bailout‟. Jika kondisi tersebut tercapai, kalkulasi atau
perulangan tersebut akan berhenti, piksel tersebut digambar, dan nilai x dan y
selanjutnya ditentukan. Untuk beberapa nilai awal, kondisi escape tersebut tercapai
dalam jumlah iterasi yang kecil, namun untuk beberapa nilai awal lain kondisi escape
tersebut tercapai dengan jumlah iterasi yang banyak bahkan hingga mencapai ribuan
iterasi. Untuk nilai Mandelbrot set, kondisi escape tidak akan pernah tercapai sehingga
user harus menentukan batas iterasi maksimal. Semakin banyak jumlah iterasinya, maka
semakin detail pula gambar yang dihasilkan namun akan memerlukan waktu
perhitungan yang semakin lama untuk menghasilkan gambar fractal tersebut.
Kondisi escape tersebut dapat tercapai dengan mudah atau menjadi kompleks,
karena tidak ada angka kompleks baik bagian real atau imajiner lebih besar daripada 2
dapat menjadi bagian set. Kondisi bailout yang umum adalah untuk melakukan sebuah
escape atau penyelamatan saat koefisien tersebut melebihi nilai 2. Sebuah metode
30
kompleks yang lebih komputasional, namun akan mendeteksi kondisi escape lebih awal,
adalah dengan menghitung jarak dari nilai awal menggunakan Pythagorean Theorem,
dan jika jarak tersebut melebihi dua, titik tersebut telah mencapai kondisi escape.
Warna pada setiap titik menggambarkan seberapa cepat nilai tersebut mencapai
kondisi escape. Secara umum warna hitam menggambarkan suatu nilai yang gagal
mencapai kondisi escape sebelum iterasi mencapai batasnya, dan warna yang terang
digunakan untuk titik yang mencapai kondisi escape.
2.4.1. Julia set
Julia set pertama kali diperkenalkan oleh Gaston Julia seorang
matematikawan kebangsaan Prancis. Dalam dinamika kompleks, Julia set J(f)
dari sebuah fungsi holomorphic f secara tidak langsung memuat poin dari sifat
long-time dibawah perulangan dari f yang dapat berubah secara drastis dibawah
pencabangan yang berskala kecil. Fatous Set F(f) dari f adalah komplemen dari
Julia set, yaitu himpunan nilai yang memiliki sifat stabil. Pada fungsi F(f), sifat f
adalah „regular‟, sedangkan dalam Julia J(f) bersifat chaotic.
Ketika sekarang Julia set diasosiasikan dengan polynomial sederhana,
Gaston Julia dulu tertarik dengan properti perulangan dari sebuah ekspresi
umum, yaitu z4 + z
3/(z-1) + z
2/(z
3 + 4 z
2 + 5) + c. Julia set sekarang
diasosiasikan dengan nilai z = x + iy di dalam complex plane untuk setiap seri
perulangan zn+1 = zn2 + c yang cenderung terbatas. c adalah nilai konstan, yang
menghasilkan Julia set yang berbeda untuk setiap nilai c. nilai awal z0 untuk
setiap seri adalah setiap nilai di dalam image plane. Dalam arti yang lebih luas,
bentuk pasti dari fungsi perulangan mungkin bisa sesuatu apapun, bentuk umum
31
akan menjadi zn+1 =f(zn), himpunan yang menarik akan muncul dengan fungsi
non-linier f(z). beberapa fungsi yang sering digunakan adalah:
zn+1 = c sin(zn) zn+1 = c exp(zn)
zn+1 = c i cos(zn) zn+1 = c zn (1 - zn)
Jadi secara mudah untuk menghasilkan gambar dari Julia set adalah,
untuk setiap piksel, iterasi-kan znew = zold2 + c di dalam complex plane sampai
nilai fungsi tersebut melebihi batas lingkaran dengan radius 2. Jumlah iterasi
tersebut akan menjadi warna dari Julia set. Layar akan mewakili bagian complex
plane, di dalam lingkaran dengan radius 2. Untuk sebuah piksel, koordinat x akan
mewakili bagian nyata dari koordinat complex tersebut, dan y akan mewakili
bagian imaginer-nya. z pada awalnya adalah nilai koordinat dari piksel, dan
secara konstan diperbarui setiap kali perulangan. Jika perulangan ini terus
dilakukan, tergantung kondisi awal, z akan terbatas atau tetap berada di dalam
lingkaran dengan radius 2 selamanya.
Contoh dari perhitungan Julia set adalah yang pertama, tetapkan nilai
konstan c untuk fungsi, dimana nilai tersebut akan menentukan bentuk fractal-
nya. sebagai contoh c = (-0.5, 0.5). Dalam kasus tersebut, -0.5 adalah bagian
nyata atau real sedangkan 0.5 adalah bagian imaginer. Kemudian bayangkan kita
sedang menghitung indeks dari warna piksel degan ukuran 256 x 192. Pertama
kita transformasikan koordinat sehingga berada pada antara -1 dan 1, maka
koordinatnya akan menjadi (1, 0.5) sehingga p = 1 + 05i. kemudian kita jalankan
fungsi tersebut untuk pertama kalinya
z = p2+c;
= (1 + 0.5i)2
- 0.5 + 0.5i;
32
= 0.5 + 1.5i -0.25
=0.25 + 1.5i
Sehingga z memiliki nilai (0.25, 1.5) dan jarak ke bidang aslinya adalah
sqrt(0.25*0.25 + 1.5*1.5) = 1.52069, masih lebih kecil dari radius 2. Sekarang
lakukan lagi perhitungan z dan taruh ke dalam fungsi f untuk menghitung z
selanjutnya. Sehingga, sekarang kita medapatkan:
z = ( 0.25 + 1.5i )2- 0.5 + 0.5i
= 0.0625 + 2 * 0.3754 – 2.25 – 0.5 + 0.5i
= -2.6875 + 1.25i
Jaraknya sekarang menjadi 8.78515625, sehingga kita berada di luar
batas lingkaran yaitu radius 2. Jumlah iterasi tersebut hanya mencapai dua kali
perulangan sehingga piksel akan mendapat warna sesuai dengan jumlah
perulangan, yaitu 2. Beberapa nilai awal akan memberikan lebih dari 256
perulangan, dan tergantung pada berapa banyak maksimal perulangan yang telah
ditentukan, kita dapat memberhentikannya atau tetap melanjutkannya.
Gambar 2. 15. Perulangan Fungsi Julia Set Dengan Nilai C Yang Berbeda
(sumber: http://en.wikipedia.org/wiki/Julia_set)
33
2.4.2. Mandelbrot set
Mandelbrot set ditemukan oleh Benoit Mendelbrot setelah ia mempelajari
Julia set dan menggambarnya dengan komputer. Sehingga Mandelbrot set
memiliki keterkaitan dengan bentuk Julia set. Bila dilakukan pembesaran detail,
akan Nampak beberapa detail yang hampir serupa. Namun Mandelbrot set tidak
memiliki sifat self-similar secara utuh. Untuk menggambarkan Mandelbrot set
hampir serupa dengan Julia set, namun kali ini nilai variabel c berfungsi sebagai
posisi piksel dan z akan mulai dari (0,0).
Mandelbrot set M didefinisikan oleh kelas dari complex quadratic
polynomials, yaitu:
Pc: C C, yang diberikan oleh Pc: z z2 + c,
Dimana c adalah parameter kompleks. Untuk setiap c, pertama anggap urutan
dari sifat (0, Pc(0), Pc(Pc(0)), Pc(Pc(Pc(0))),…) diperoleh dengan perulangan Pc(z)
dimulai dai critical point z =0, yang baik mengarah kepada tak terhingga atau
terbatas pada radius yang ditentukan. Mandelbrot set didefinisikan sebagai
himpunan semua titik c seperti yang urutan diatas tidak mencapai suatu kondisi
tak berhingga.
Gambar 2. 16. Mandelbrot set
(sumber: http://en.wikipedia.org/wiki/File:Mandelset_hires.png)
34
Secara formal, jika 𝑃𝑐𝑜𝑛 𝑧 sebagai perulangan ke-n dari 𝑃𝑐(𝑧),
Mandelbrot set adalah subset dari complex plane yang diberikan sebagai berikut:
𝑀 = 𝑐 ∈ 𝐶:𝑠𝑢𝑝
𝑛 ∈ 𝑁 𝑃𝑐
𝑜𝑛 0 < ∞
Secara matematika, Mandelbrot set hanya sebuah himpunan dari complex
number. Sebuah gambar dari Mandelbrot set dapat dibuat dengan memberikan
pewarnaan pada semua titik c yang bilamana bagian dari M hitam, dan titik
lainnya putih.
Mandelbrot set seperti halnya Julia set terdapat dalam sebuah lingkaran
dengan radius 2 dari titik awal. Kenyataannya, sebuah titik c merupakan titik dari
Mandelbrot set jika dan hanya jika 𝑃𝑐𝑜𝑛 0 ≤ 2𝑓𝑜𝑟 𝑎𝑙𝑙 𝑛 ≥ 0. Dengan kata lain,
jika nilai absolut dari 𝑃𝑐𝑜𝑛 0 lebih besar dari 2, maka urutan tersebut akan
mengarah kepada tak berhingga. Interseksi dari M dengan axis nyata secara tepat
adalah pada interval [-2, 0.25]. Parameter pada interval ini dapat ditaruh pada
korespondensi satu-satu dengan kelas logistic sebenarnya.
𝑧 → 𝜆𝑧 1 − 𝑧 , 𝜆 ∈ 1,4
Dengan korespondensi
𝑐 =1 − (𝜆 − 1)2
4
Kenyataannya, hal ini memberikan korespondensi antara seluruh ruang
perameter dari kelas logistic dengan Mandelbrot set. (Rojas, 1998)
35
2.5. Perancangan Program Simulasi
Perancangan program merupakan salah satu langkah terpenting dalam pembuatan
aplikasi. Perancangan diperlukan untuk membuat sebuah bentuk dasar dan langkah-
langkah yang akan dilakukan dalam pembuatan sebuah aplikasi.
2.5.1 . Rekayasa Piranti Lunak
Rekayasa Piranti Lunak menurut Fritz Bauer (Pressman, 2005, p23)
adalah penetapan dan pemakaian prinsip-prinsip rekayasa dalam rangka
mendapatkan piranti lunak yang ekonomis yaitu terpecaya dan bekerja efisien
pada mesin (komputer).
Menurut Pressman (2005, p24), rekayasa piranti lunak mencakup 3
elemen yang mampu mengontrol proses pengembangan piranti lunak,yaitu:
a. Metode-metode (methods),
menyediakan cara-cara teknis untuk membangun piranti lunak.
b. Alat-alat bantu (tools),
mengadakan dukungan otomatis atau semi otomatis untuk metode-metode seperti
CASE (Computer Aided Software Engineering) yang mengkombinasikan
software, hardware, dan software engineering database.
c. Prosedur-prosedur (procedurs),
merupakan pengembangan metode dan alat bantu.
Dalam perancangan software dikenal istilah software life cycle yaitu
serangkaian kegiatan yang dilakukan selama masa perancangan software.
Pemakaian jenis software life cycle yang cocok salah satunya ditentukan oleh
36
jenis bahasa pemrograman yang cocok. Contohnya, Waterfall Model merupakan
model yang paling umum dan paling dasar pada software life cycle pada
umumnya, Rapid Application Development (RAD) dan Joint Application
Development (JAD) cocok untuk software berbasis objek (OOP), sedangkan
Sync+Stabilize dan Spiral Model yang merupakan pengembangan model
waterfall dengan komponen prototyping cocok untuk sebuah aplikasi yang rumit
dan cenderung mahal pembuatannya.
Menurut Dix (1997, p180), berikut adalah visualisasi dari kegiatan pada
software life cycle model waterfall:
a. Spesifikasi kebutuhan (Requirement specification)
Pada tahap ini, pihak pengembang dan konsumen mengidentifikasi apa
saja fungsi-fungsi yang diharapkan dari sistem dan bagaimana sistem
memberikan layanan yang diminta. Pengembang berusaha mengumpulkan
berbagai informasi dari konsumen.
b. Perancangan arsitektur (Architectural design)
Pada tahap ini, terjadi pemisahan komponen-komponen sistem sesuai
dengan fungsinya masing-masing.
c. Detailed design
Setelah memasuki tahap ini, pengembang memperbaiki deskripsi dari
komponen-komponen dari sistem yang telah dipisah-pisah pada tahap
sebelumnya.
37
d. Coding and unit testing
Pada tahap ini, disain diterjemahkan ke dalam bahasa pemrograman untuk
dieksekusi. Setelah itu komponen-komponen dites apakah sesuai dengan
fungsinya masing-masing.
e. Integration and testing
Setelah tiap-tiap komponen dites dan telah sesuai dengan fungsinya,
komponen-komponen tersebut disatukan lagi. Lalu sistem dites untuk
memastikan sistem telah sesuai dengan kriteria yang diminta konsumen.
f. Pemeliharaan (maintenance)
Setelah sistem diimplementasikan, maka perlu dilakukannya
perawatan terhadap sistem itu sendiri. Perawatan yang dimaksud adalah
perbaikan error yang ditemukan setelah sistem diimplementasikan.
Gambar 2.17. Waterfall Model untuk Sistem Software Life-cycle
(sumber: Dix. 1997, p181)
38
2.5.2 . Interaksi Manusia dan Komputer
Menurut Shneiderman (2005, p4), Interaksi manusia dan komputer
merupakan disiplin ilmu yang berhubungan dengan, perancangan, evaluasi, dan
implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta
studi fenomena-fenomena besar yang berhubungan dengannya.
Pada interaksi manusia dan komputer ditekankan pada pembuatan
antarmuka pemakai (user interface), dimana user interface yang dibuat
diusahakan sedemikian rupa sehingga seorang user dapat dengan baik dan
nyaman menggunakan aplikasi perangkat lunak dibuat. Antar muka pemakai
(user interface) adalah bagian sistem komputer yang memungkinkan manusia
berinteraksi dengan komputer. Tujuan antar muka pemakai adalah agar sistem
komputer dapat digunakan oleh pemakai (user interface), istilah tersebut
digunakan untuk menunjuk kepada kemampuan yang dimiliki oleh piranti lunak
atau program aplikasi yang mudah dioperasikan dan dapat membantu
menyelesaikan suatu persoalan dengan hasil yang sesuai dengan keinginan
pengguna atau biasa disebut user friendly.
Pedoman untuk menghasilkan suatu rancangan antar muka program yang
user friendly adalah dengan menggunakan pedoman Eight Golden Rules. Eight
Golden Rules tersebut menjelaskan mengenai beberapa aturan yang
diperbolehkan dan tidaj diperbolehkan sebagai pedoman untuk merancang antar
muka program. Kedelapan aturan tersebut, yaitu:
a. Strive for consistency, konsistensi dalam perancangan antar muka;
39
b. Enable frequent user to use shorcuts, memungkinkan pengguna
menggunakan shortcuts secara berkala;
c. Offer informative feed back, memberikan umpan balik yang
informative;
d. Design dialogs to yield closure, merancang dialog untuk
menghasilkan keadaan akhir;
e. Offer simple error handling, memberikan penanganan kesalahan yang
sederhana;
f. Permit easy reversal of actions, mengijinkan pembalikkan aksi
dengan mudah;
g. Support internal locus of control, mendukung pengguna menguasai
system yang dibuat;
h. Short-term memory load, mengurangi beban jangka pendek kepada
pengguna.
Jadi pada Bab 2 ini telah dibahas mengenai berbagai metode dan teori yang akan
digunakan sebagai dasar untuk membuat aplikasi Fractal Batik. Metode dan teori
tersebut dijelaskan sesuai dengan batasan dalam pembuatan aplikasi ini. Fractal adalah
sebuah konsep geometri yang dapat dibentuk dengan berbagai metode, namun dalam
penulisan di Bab 2 ini hanya metode tertentu saja yang digunakan untuk membuat
aplikasi yang akan dibuat.