memiliki sejarah yang panjang dalam perkembangannya di Indonesia, bahkan ...
pengulangan bentuk geometri yang dibentuk dari bentuk primitif geometriΒ ...
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, EscapeTime 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. Bahanbahan 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 SelfSimilarity 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 ο R2 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). Masingmasing 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
.
1
Sehingga himpunan ini memiliki nilai k = 8 dan skala faktor s = 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 1
berkurang dengan faktor (2)π π» (π) . Sebagai contoh untuk mengubah sebuah skala segmen garis dengan faktor Β½ akan mengurangi panjangnya dengan faktor 1
1
(2)1 = 2, dan mengubah skala sebuah bujursangkar dengan faktor Β½ akan 1
1
mengurangi ukurannya dengan faktor (2)2 = 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 Segmen Garis Bujursangkar Karpet Sierpinski Segitiga Sierpinski
2.3.
s 1 1 1 1
ππ π ππ (π/π) ln 2/ ln 2 = 1 ln 4/ ln 2 = 2 ln 8/ ln 3 = 1,892... ln 3/ ln 2 = 1,584β¦ π
π― (πΊ) =
k 2 2 3 2
2 4 8 3
π
π» (πΊ) 1 2 1 1
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 = Rn. 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 π₯ ;
1
2
π2 π₯ = 3 π₯ + 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
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 π π₯ β π(π¦) β€ π π₯ β π¦ ; (π₯, π¦) β π·
(2.1)
dengan ci < 1 untuk setiap i. kemudian terdapat sebuah attractor F yang unik, yang merupakan himpunan tak kosong, dinyatakan sebagai π
πΉ=
ππ (πΉ)
(2.2)
π=1
Lebih jauh, jika mendefinisikan sebuah transformasi S, dalam kelas $ yang merupakan himpunan tak kosong, oleh π
π(πΈ) =
ππ (πΈ)
(2.3)
π=1
Untuk πΈ β $ dan tulis Sk untuk setiap k perulangan dari S (jadi S0(E) = E dan Sk(E) = S(Sk-1(E)) untuk k β₯ 1), maka
20 β π π=0 π (πΈ)
πΉ=
(2.4)
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
ππ (π΅) β€ max π(π π΄ , π(π΅)) π=1
1β€πβ€π
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 π π π΄ ,π π΅
(2.5)
β€ ( max ππ )π(π΄, π΅) 1β€πβ€π
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 selfsimilarity 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 Aο AB dan Bο A, 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 Aο AB. langkah berikutnya, huruf B tersebut diganti dengan A sesuai aturan Bο A. 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 Lsystem: 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 Bergerak maju satu langkah f Bergerak maju setengah langkah z 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 Ganti indeks warna untuk isen i Ganti warna untuk kelir/corak c @ 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 + z3/(z-1) + z2/(z3 + 4 z2 + 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 fractalnya. 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 πβπ π