BAB 2 LANDASAN TEORI - BINA NUSANTARA | Library...

33
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

Transcript of BAB 2 LANDASAN TEORI - BINA NUSANTARA | Library...

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.