fraktal - bab 2 - rhezaariyanto.files.wordpress.com fileseperti pembentukan kehidupan, cabang baru...

37
7 BAB 2 LANDASAN TEORI 2.1 Fraktal 2.1.1 Definisi Fraktal Terdapat beberapa definisi fraktal yang dicetuskan oleh beberapa orang yang berbeda, beberapa diantaranya adalah : 1. Gambar yang dibangkitkan oleh komputer berdasarkan perulangan dalam fungsi matematika, dengan cara mengulang pola yang sama dengan dirinya sendiri secara terus – menerus. (Anonim, www.levity.com/mavericks/glossary.htm) 2. Fraktal adalah sebuah pola di dalam pola, di dalam pola. (Anonim, http://www.enchantedlearning.com/dictionarysubjects/shapes.shtml) 3. Sebuah obyek yang mempunyai ‘dimensi fraktal’; yaitu sesuatu yang mempunyai variasi yang sama dengan dirinya sendiri dalam berbagai skala, sehingga detail maksimal tidak akan pernah dapat dicapai dengan meningkatkan skala. (Hans Zuurins, www.forestry.umt.edu/academics/courses/for503/stats_glossary.htm ) 2.1.2 Sejarah Fraktal Seperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak muncul begitu saja. Ide dari geometri fraktal dapat dilacak hingga akhir abad ke – 19,

Upload: duongthu

Post on 16-Mar-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

7

BAB 2

LANDASAN TEORI

2.1 Fraktal

2.1.1 Definisi Fraktal

Terdapat beberapa definisi fraktal yang dicetuskan oleh beberapa orang yang

berbeda, beberapa diantaranya adalah :

1. Gambar yang dibangkitkan oleh komputer berdasarkan perulangan dalam fungsi

matematika, dengan cara mengulang pola yang sama dengan dirinya sendiri

secara terus – menerus.

(Anonim, www.levity.com/mavericks/glossary.htm)

2. Fraktal adalah sebuah pola di dalam pola, di dalam pola.

(Anonim, http://www.enchantedlearning.com/dictionarysubjects/shapes.shtml)

3. Sebuah obyek yang mempunyai ‘dimensi fraktal’; yaitu sesuatu yang mempunyai

variasi yang sama dengan dirinya sendiri dalam berbagai skala, sehingga detail

maksimal tidak akan pernah dapat dicapai dengan meningkatkan skala.

(Hans Zuurins,

www.forestry.umt.edu/academics/courses/for503/stats_glossary.htm )

2.1.2 Sejarah Fraktal

Seperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak

muncul begitu saja. Ide dari geometri fraktal dapat dilacak hingga akhir abad ke – 19,

Page 2: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

8

saat matematikawan menciptakan bentuk – kumpulan dari titik – yang kelihatannya

melawan alam. Dengan sangat kebetulan, matematika abstrak yang diturunkan dari

konsepsi awal saat itu, menjadi lebih baik daripada yang lainnya untuk menjelaskan

banyak bentuk natural dan proses.

Pada abad ke-17, Newton dan Leibniz menciptakan kalkulus, dengan

kemampuannya untuk menemukan turunan dari sebuah fungsi – dalam istilah geometri,

menemukan tangen dari sebuah kurva di titik manapun. Benar bahwa beberapa fungsi

memang diskontinu, tanpa nilai tangen pada suatu celah atau sebuah titik yang terisolasi.

Beberapa memiliki singulariti, sebuah perubahan arah dimana makna dari tangen

menjadi tidak bermakna. Namun, hal ini dipandang sebagai suatu perkecualian, dan

perhatian terfokus pada fungsi-fungsi ‘sempurna’ yang berjalan baik pada pemodelan

standar.

Mulai pada awal 1870-an, terjadi 50 tahun transformasi pemikiran matematika.

Weierstrass menjelaskan fungsi yang bersifat kontinu, namun tidak terdiferensiasi (tidak

ada nilai tangen yang dapat dihasilkan pada setiap titik). Cantor menunjukkan

bagaimana sebuah prosedur sederhana dan berulang dapat menjadi sebuah garis,

kemudian menjadi sebaran titik. Kemudian Peano menghasilkan kurva konvulasi yang

menyentuh setiap titik dari bidang datar. Bentuk-bentuk ini jatuh diantara garis 1

dimensi, bidang 2 dimensi dan bangun 3 dimensi. Kebanyakan orang masih melihat hal

itu sebagai kasus yang ‘patologis’, namun dimana-mana mereka mulai menemukan

aplikasinya

Di cabang lain matematika, bentuk-bentuk tidak wajar juga mulai bermunculan.

Poincare berhasil menganalisa kestabilan dari tata surya tahun 1880 dan menemukan

bahwa masalah dinamik berlawanan dengan metode tradisional. Dia menciptakan

Page 3: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

9

pendekatan kualitatif, sebuah ‘pernyataan angkasa’ di mana setiap titik mewakili orbit

planet yang berbeda., dan mempelajari hal yang sekarang ini disebut sebagai topologi

semua benda angkasa. Pendekatan ini mengungkapkan banyak pergerakan awal yang

dapat diselesaikan dengan kurva-kurva, ada juga orbital tidak beraturan yang tidak

pernah menjadi periodik dan dapat diduga.

Peneliti lain mencoba untuk memahami fluktuasi, fenomena ‘ke-tidakberaturan’

(banjir pada sungai Nil, urutan harga pada bidang ekonomi, gerak brown pada molekul

benda cair). Mereka berhasil menemukan bahwa model tradisional tidak lagi dapat

dicocokkan dengan data. Mereka harus memperkenalkan fitur skala berdasarkan pilihan

(arbitrary), dengan menggunakan model paku yang semakin jarang bila paku tersebut

semakin besar, tapi tidak dapat hilang sama sekali.

Selama bertahun-tahun, perkembangan ini tampaknya tidak saling berhubungan,

tapi terdapat petunjuk mengenai kesamaan penelitian. Sama seperti gerakan orbital yang

tidak beratur, graph urutan waktu yang tak beraturan terkadang mempunyai kemiripan

sifat: suatu bagian gambar skala kecil yang diperbesar nampak sangat mirip dengan

skala besarnya. (Bert Tyler, http://www.goshen.edu/~kevin/fractint/history.html)

2.1.3 Jenis – Jenis Fraktal

Terdapat banyak sekali tipe dari fraktal, namun pada dasarnya fraktal dapat

digolongkan ke dalam 6 kelompok besar :

1. Fraktal yang diturunkan dari geometri standar menggunakan transformasi iterasi

pada bentuk-bentuk standar seperti garis lurus (the Cantor dust or the von Koch

curve), segitiga (the Sierpinski triangle), atau kubus (the Menger sponge).

Page 4: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

10

Bentuk fraktal pertama yang diciptakan di akhir abad 19 dan 20 merupakan

bagian dari kelompok ini.

2. IFS (Iterated Function Sistems). Jenis fraktal ini diperkenalkan oleh Michael

Barnsley. Struktur dari fraktal ini ditentukan oleh satu set dari fungsi linear yang

transformasinya terjadi berdasarkan keseragaman, translasi, dan rotasi. Fungsi

yang dimasukkan ke dalam sistem dipilih secara acak, tapi set akhir/ final adalah

pasti dan memperlihatkan struktur fraktal.

3. Strange Attractors. Bentuk ini dapat dikatakan adalah representasi dari

pergerakan chaos/ acak. Bentuk ini sangat kompleks dan dibentuk dari garis

yang memiliki panjang yang tidak terbatas, digambarkan dengan perulangan

terus-menerus, tanpa pernah bersilangan.

4. Plasma fractals. Dibentuk dengan teknik gerak Brown (Brownian motion) atau

algoritma titik tengah (midpoint). Fraktal jenis ini menghasilkan tekstur indah

dengan sktruktur fraktal seperti awan, api, batu, kayu, dan lain-lain. Banyak

digunakan pada program CAD. Seniman fraktal yang sudah ahli sangat

menyukai plasma untuk membuat tekstur atau latar dari gambar mereka.

5. L-Sistems. Juga disebut sebagai sistem Lindenmayer, tidak diciptakan untuk

membentuk fraktal, tapi untuk memodelkan pertumbuhan dan interaksi. L-Sistem

adalah grammar formal yang secara berulang-ulang melakukan aturan-aturan

(rules) menjadi sebuah set. Sebagai hasilnya, kadang-kadang dihasilkan suatu

struktur fraktal.

6. Gambar fraktal yang diciptakan dengan iterasi dari fungsi polinomial. Mungkin

adalah jenis fraktal yang paling terkenal (Julia dan Mandelbrot). Hanya jenis

Page 5: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

11

inilah yang sudah sangat luas diteliti dan dikembangkan dengan berbagai

algoritma pewarnaan.

Banyak jenis fraktal yang diperhitungkan sebagai bagian dari kelompok fraktal

diatas, contohnya fractal terrains, adalah bentuk representasi 3 dimensi dari Plasma

Fractal. Music Fractal, adalah suara yang direpresentasikan oleh pergerakan acak.

Fraktal jenis lain, antara lain quarternionic atau hyperhionic dapat digolongkan sebagai

ekstensi dari dimensi yang lebih tinggi dari polynomial fractal diiterasikan pada bentuk

kompleks. (http://www.mi.sanu.ac.yu/vismath)

2.2 Metode Newton Raphson

2.2.1 Sejarah Metode Newton Raphson

Metode Newton Raphson dijelaskan oleh Isaac Newton dalam De analysi per

aequationes numero terminorum infinitas (ditulis tahun 1669, diterbitkan tahun 1711

oleh William Jones) dan dalam De metodis fluxionum et serierum infinitarum (ditulis

tahun 1671, diterjemahkan dan diterbitkan sebagai Method of Fluxions tahun 1736 oleh

John Colson). Namun, pengertiannya saat itu berbeda dari pengertian modern. Newton

menggunakan metode tersebut hanya untuk fungsi polinomial. Dia tidak menghitung

perkiraan dari xn, tapi menghitung barisan dari polinomial dan hanya pada akhirnya, tiba

pada perkiraan untuk akar x. Pada akhirnya, Newton melihat metode ini sebagai metode

aljabar murni dan gagal untuk melihat hubungannya dengan kalkulus. Isaac Newton

kemungkinan menurunkan metode buatannya tersebut dari metode serupa, namun

mempunyai ketepatan lebih buruk yang dicetuskan oleh François Viète.

Metode Newton pertama kali diterbitkan tahun 1685 pada A Treatise of Algebra

both Historical and Practical oleh John Wallis. Tahun 1690, Joseph Raphson

Page 6: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

12

menerbitkan deskripsi yang sudah disederhanakan dalam Analysis aequationum

universalis. Sekali lagi Raphson melihat metode Newton murni sebagai metode aljabar

dan membatasi kegunaannya pada fungsi polinomial, namun dia memperkenalkan

metode perkiraan suksesif xn daripada barisan polinomial yang lebih rumit yang

digunakan oleh Newton.

2.2.2 Sir Isaac Newton

Gambar 2.1 Sir Isaac Newton

Isaac Newton dilahirkan di Lincolnshire, dekat Grantham, pada tanggal 25

Desember 1642, dan meninggal di Kensington, London, pada tanggal 20 Maret 1727.

Dia berkuliah di Trinity College, Cambridge, dan tinggal disana dari tahun 1661 hingga

tahun 1696, dimana dia menghasilkan banyak sekali penelitiannya di bidang

matematika. Tahun 1969 dia mendapat kantor pemerintah yang megah, dan kemudian

pindah ke London, di mana dia tinggal hingga akhir hayatnya.

Ayahnya, yang meninggal tidak lama sebelum Newton lahir, adalah seorang

petani. Dia berpikir bahwa Newton seharusnya mewarisi sawah ayahnya. Newton

Page 7: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

13

dikirim ke sekolah di Grantham, dimana pelajarannya dan profisiensi mekanik mendapat

perhatian. Tahun 1656 dia pulang ke rumahnya untuk mempelajari bisnis persawahan,

namun sebaliknya dia menghabiskan banyak waktunya menyelesaikan permasalahan

maupun membuat eksperimen. Pamannya yang pernah berkuliah di Trinity College,

Cambridge, menyarankan bahwa sebaiknya Newton dikirim kesana.

(J J O'Connor, www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Newton.html)

2.2.3 Joseph Raphson

Kehidupan dari Joseph Raphson (1648-1715) diselimuti oleh misteri dan sulit

untuk diikuti. Joseph Raphson dilahirkan di Middlesex, Inggris tahun 1648, diketahui

dari beberapa sumber bahwa Joseph Raphson berkuliah di Jesus College Cambridge dan

lulus dengan gelar Master of Arts tahun 1692. Dengan usia yang sudah lebih tua (43

tahun), secara mengejutkan Raphson menjadi anggota Royal Society tahun 1691, setahun

sebelum kelulusannya. Kehormatan ini adalah dampak langsung dari bukunya yang

diterbitkan tahun 1690, berjudul Analysis aequationum universalis. Buku ini berfokus

terutama pada metode Newton untuk memperkirakan akar dari persamaan, yang

kemudian bernama metode Newton-Raphson. Sebenarnya, metode Newton mengenai

fluks menjelaskan metode yang sama dan contoh-contoh untuk memperkirakan akar

persamaan, walaupun metode tersebut ditulis tahun 1671, namun tidak pernah

diterbitkan sampai 1736, maka Joseph Raphson menerbitkan materi ini dan metodenya

50 tahun sebelum Newton.

Meskipun hubungan antara Newton dan Raphson tidak begitu jelas, namun

diketahui bahwa Raphson diperbolehkan oleh Newton, untuk melihat dan mempelajari

tulisannya secara berkala. Pada kenyataannya, Raphson dan Edmund Halley terlibat

Page 8: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

14

bersama Newton dalam publikasi hasil kerja Newton di awal tahun 1670 mengenai

kurva kuadratur, fluks, dan sejenis matematika yang sekarang dikenal sebagai kalkulus,

namun mereka belum dapat melakukannya hingga tahun 1704. Publikasi hasil kerja

Newton tersebut memberkan penjelasan secara detail mengenai metode fluks. Raphson

juga diijinkan untuk melihat penelitian matematika Newton pada tahun 1711, melalui

Roger Cotes dan William Jones. Sebagai hasilnya, Raphson menulis A History of

Fluxions, yang terbit setahun setelah kematiannya. Tulisan ini menjadi dukungan kuat

bagi Newton melawan Leibniz yang mengklaim dirinya sebagai penemu kalkulus.

2.2.4 Cara Kerja Newton Rapshon

Metode Newton Raphson, adalah suatu algoritma untuk menentukan akar

persamaan, yang menggunakan sebagian dari ketentuan pertama dari deret Taylor.

Dalam Metode Numerik, Metode Newton Raphson adalah algoritma yang cukup efisien

untuk menentukan perkiraan akar dari fungsi real. Selain itu, metode Newton Raphson

juga dapat digunakan untuk menentukan nilai maksimum dan minimum dari sebuah

fungsi, dengan cara menentukan nilai nol dari derivasi pertama.

Anggap Rbaf →],[: adalah dapat fungsi yang dapat diturunkan dan berada

dalam interval ],[ ba dengan akar adalah bilangan real dalam R. Kemudian dimulai

dengan menentukan nilai x0 (dengan nilai f(x0) lebih dekat dengan 0 lebih baik) dan

kemudian tentukan untuk setiap angka natural n.

)(')(

1n

nnn xf

xfxx −=+

Page 9: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

15

Iterasi terus dilakukan hingga mencapai nilai yang dimaksud, dengan maksimum

error yang juga telah ditetapkan.

Gambar 2.2 Ilustrasi Metode Newton Raphson

Gambar di atas adalah ilustrasi dari metode Newton Raphson. Langkah langkah

untuk mendapatkan nilai nol x pada fungsi f(x) adalah sebagai berikut :

1. Dari titik awal x0, tarik garis sepanjang sumbu y sehingga didapat perpotongan

dengan garis f(x) di titik a1.

2. Tarik garis yang memotong a1 dan mengiris garis f(x), sehingga memotong

sumbu x di x1.

Page 10: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

16

3. Dari x1, tarik garis sepanjang sumbu y sehingga didapat perpotongan dengan

garis f(x) di titik a2.

4. Lakukan proses di atas secara iteratif sehingga didapat nilai nol x pada fungsi

f(x).

Contoh masalah : Tentukan nilai positif untuk x dengan cos(x) = x3. Kita dapat

mengubah permasalahan tersebut menjadi : Tentukan nilai nol untuk f(x) = cos(x) – x3.

Dari situ didapatkan f’(x) = -sin(x) – 3x2, Karena 1)cos( ≤x untuk semua x dan x3 > 1

untuk x > 1, kita dapat mengetahui bahwa nilai f(x) = 0 berkisar antara x = 0 dan x = 1.

Proses akan dimulai dengan x0 = 0.5

971121416370.15.03)5.0sin(

)5.0cos(5.0)()(

2

3

01

001 =

×−−−=−=

xfxf

xx

369096726937.0)()(

11

112 ==−= M

xfxfxx

726381820986.03 === MMx

771352988654.04 === MMx

118654740331.05 === MMx

028654740331.06 === MMx

Nilai atau akar yang sebenarnya adalah nilai yang digarisbawahi. Semua digit

pada x6 adalah tepat. Dapat dilihat bahwa jumlah desimal dari digit yang benar

Page 11: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

17

meningkat dari 2 (untuk x3) menuju 5 dan 10. Hal itu dapat menunjukkan konvergensi

kuadratik pada metode Newton Raphson.

Untuk lebih memperjelas, persamaan di atas dapat digambarkan sebagai berikut

Gambar 2.3

Grafik Metode Newton Rapshon untuk f(x) = cos(x) – x3

2.2.5 Algoritma Newton Raphson

Metode Newton Raphson berasal dari Metode Taylor :

...)('')(')()( 202

1000 +++=+ εεε xfxfxfxf (1)

Page 12: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

18

Karena 2ε dianggap sudah sangat kecil dan tidak dignifikan, maka Newton

hanya mengambil 2 suku pertama dari deret Taylor tersebut, sehingga didapat :

εε )(')()( 000 xfxfxf +=+ (2)

Ekspresi ini dapat digunakan untuk memperkirakan angka dari offset ε yang

dibutuhkan agar mendekati akar sebenarnya, diawali dengan perkiraan awal 0x .

Dengan menentukan nilai 0)( 0 =+ εxf dan menyelesaikan persamaan (2) untuk

0εε ≡ akan didapatkan :

)(')(

0

00 xf

xf−=ε , (3)

yang merupakan bagian pertama untuk mendapatkan akar persamaan. Dengan

menentukan 001 ε+= xx , menghitung nilai baru 1ε , dan seterusnya, proses

tersebut dapat terus diulang sehingga membentuk suatu konvergensi ke arah satu

nilai, menggunakan :

)(')(

n

nn xf

xf−=ε (4)

Sayangnya, prosedur ini dapat menjadi tidak stabil saat mendekati asimptot

horisontal atau nilai ekstrim lokal. Namun, dengan inisialisasi awal dari posisi

akar, algoritma ini dapat diaplikasikan iteratif untuk mendapatkan :

)(')(

1n

nnn xf

xfxx −=+ (5)

Untuk ,...3,2,1=n . Inisialisasi x0 yang menghasilkan nilai konvergensi yang

aman untuk metode Newton tersebut disebut sebagai approximate zero

(perkiraan nol).

Page 13: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

19

Iterasi / perulangan dilakukan terus menerus sampai nilai x memenuhi persamaan

f(x) atau nilai error sudah berada di bawah error yang sudah ditentukan

sebelumnya.

Nilai error 1+nε setelah iterasi ke 1+n ditentukan dengan :

1+nε = )( 1 nnn xx −+ +ε

= )(')(

n

nn xf

xf−ε (6)

Diketahui bahwa:

)( nxf = ...)('')(')( 212

111 +++ −−− nnnnn xfxfxf εε

= ...)('')(' 212

11 ++ −− nnnn xfxf εε (7)

)(' nxf = ...)('')(' 11 ++ −− nnn xfxf ε (8)

Kemudian:

)(')(

n

n

xfxf

= ...)('')('

...)('')('

11

121

12

++++

−−

−−

nnn

nnnn

xfxfxfxf

εεε

≈ )('

)('')('

1

121

12

−− +

n

nnnn

xfxfxf εε

= 2

1

1

)('2)(''

nn

nn xf

xfεε

−+ (9)

Sehingga menjadi:

1+nε = ⎥⎦

⎤⎢⎣

⎡+−

− 2

1

1

)('2)(''

nn

nnn xf

xfεεε

= 2

1

1

)('2)(''

nn

n

xfxf

ε−

−− (10)

Page 14: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

20

2.2.6 Flowchart Metode Newton Raphson

Persamaan-persamaan tersebut dapat dibentuk menjadi suatu diagram alir (flow

chart) sebagai berikut :

Gambar 2.4 Flowchart Metode Newton Raphson

2.3 Metode Pewarnaan Fraktal

Setiap sistem dinamik menghasilkan barisan nilai z0, z1, z2, …, zn. Gambar fraktal

dibangkitkan dengan cara menuangkan barisan tersebut ke dalam piksel-piksel gambar.

Algoritma pewarnaan adalah suatu susunan yang menentukan warna yang digunakan

pada tiap barisan.

Biasanya, algoritma pewarnaan menghasilkan satu nilai pada tiap piksel. Karena

warna adalah suatu obyek tiga dimensi, maka terlebih dahulu harus mengembangkan

Page 15: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

21

piksel yang berbentuk satu dimensi. Metode yang paling sering ditemui adalah membuat

suatu palet, sebuah barisan dari warna 3 dimensi. Hal ini terus bersambung terus dan

nilai dari hasil algoritma pewarnaan tersebut kemudian digunakan sebagai posisi

sepanjang garis multi-segmen (gradien). Jika palet terakhir terhubung dengan yang

pertama, maka suatu perulangan bersegmen yang tertutup akan terbentuk, dan berbagai

nilai real dari algoritma tersebut dapat dipetakan intuk menentukan warna di dalam suatu

gradien. Gradien biasanya diinterpolasikan dalam RGB (Red, Green, Blue), tapi dapat

juga diinterpolasikan dalam HSL (Hue, Saturation, Lightness) dan diinterpolasikan

dalam kurva, disamping segmen garis lurus.

Pemilihan dari gradient adalah bagian yang paling menentukan sisi artistik

dalam membuat gambar fraktal yang indah. Pemilihan warna dapat menekankan satu

bagian dari gambar, sementara bagian lain menjadi kurang terfokus. Dalam kasus yang

ekstrim, dua fraktal dengan parameter yang sama, namun dengan skema warna yang

berbeda, akan nampak sama sekali berbeda.

Beberapa algortima pewarnaan menghasilkan nilai diskrit, sementara beberapa

yang lainnya menghasilkan nilai kontinu. Nilai diskrit akan menghasilkan gradasi warna

yang terlihat mata. Hal ini dulu tidak begitu berpengaruh, karena keterbatasan warna 8-

bit yang memang selalu menghasilkan gradasi warna yang kurang baik. Dengan

diperkenalkannya warna 24-bit, algoritma yang menghasilkan nilai kontinu semakin

penting, karena nilai kontinu memungkinkan interpolasi warna apapun yang

dikehendaki. (http://www.mi.sanu.ac.yu/vismath)

2.3.1 Pembangkitan Gambar Fraktal dengan Menggunakan Metode Newton

Raphson

Page 16: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

22

Gambar fraktal dibangkitkan dengan menggunakan metode Newton Raphson.

Gambar dibentuk dengan menggunakan setiap titik dari bilangan kompleks, dan

mewarnai berdasarkan berapa banyak iterasi yang diperlukan untuk mencapai f(x)

mendekati nol. Berikut adalah langkah-langkah untuk menghasilkan suatu gambar

fraktal dari fungsi polinomial menggunakan metode Newton Raphson :

1) Tentukan fungsi polinomial yang akan digunakan

2) Tentukan panjang dan lebar dari gambar yang akan dihasilkan

3) Lakukan iterasi pada setiap piksel gambar dari posisi piksel pertama

4) Ubah x menjadi sebuah fungsi kompleks dimana nilai realnya merupakan posisi

horisontal dan nilai imaginernya merupakan posisi vertikal piksel.

5) Lakukan iterasi menggunakan metode Newton Raphson.

6) Jumlah iterasi merupakan nilai warna yang akan dituangkan pada setiap posisi

piksel

7) Ulangi langkah 3 – 7 sampai posisi piksel terakhir

2.3.2 Flowchart Pembangkitan Fraktal Menggunakan Metode Newton Raphson

Page 17: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

23

Gambar 2.5

Flowchart Pembangkitan Fraktal Menggunakan Metode Newton Raphson

2.4 Microsoft Visual Studio .NET

2.4.1 Definisi Microsoft Visual Studio .NET

.NET adalah strategi Microsoft dengan mempergunakan Web Service, untuk

menghubungkan informasi, manusia, sistem, maupun peralatan menggunakan perangkat

Page 18: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

24

lunak. Teknologi .NET, yang sudah terintegrasi dalam platform Microsoft, menyediakan

kemampuan untuk membangun, menyebar, menata, dan menggunakan solusi keamanan

yang sudah dipercanggih dengan Web Service. Solusi terhubung .NET membuat

integrasi sistem menjadi lebih cepat, dan membantu mewujudkan janji informasi

kapanpun, dimanapun, dengan alat bantu apapun.

Platform Microsoft mencakup semua hal yang dibutuhkan bisnis untuk membuat

dan men-deploy arsitektur Teknologi Informasi dengan Web service yang terkoneksi :

Server sebagai host Web Service, development tools untuk membuat aplikasi, dan

jaringan network yang mencakup lebih dari 35.000 partner Microsoft yang bersertitikasi

untuk menyediakan bantuan bila diperlukan.

2.4.2 .NET Framework

Microsoft Visual Studio tidak hanya mendukung language-indepence, tapi juga

laguage-integration. Hal ini berarti, bahwa sebuah kelas dapat diwariskan, ditangkap

kesalahannya, dan digunakan fasilitas polimophism-nya melewati batas-batas bahasa.

Hal ini dimungkinkan oleh .NET dengan adanya Common Type Sistem (CTS) yang

harus dipatuhi oleh semua componen .NET. Contohnya, semua hal di dalam .NET

adalah objek dari kelas yang spesifik, yang diturunkan dari kelas utama, yaitu

Sistem.Object.

Menurut Isak Rickyanto (“Membuat Aplikasi Windows dengan Visual Basic

.NET”, halaman 1-6), dikatakan bahwa .NET Framework sebenarnya adalah sebuah

platform komputasi baru yang menyederhanakan proses pembuatan aplikasi pada

lingkungan terdistribusi di Internet. Framework ini didesain untuk memenuhi tujuan

sebagai berikut :

Page 19: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

25

• Untuk menyediakan lingkungan permrograman berorientasi objek yang

konsisten meskipun kode objek disimpan dan dijalankan secara lokal,

dijalankan secara lokal tetapi terdistribusi lewat internet, atau dijalankan

secara remote.

• Untuk menyediakan lingkungan yang menjalankan kode dengan

meminimalkan konflik saat deployment dan versioning.

• Untuk menyediakan lingkungan yang menjalankan kode yang

memberikan jaminan keamanan saat menjalankan kode, termasuk kode

yang dijalankan oleh pihak ketiga yang tidak diketahui atau kurang

dipercaya.

• Untuk menyediakan lingkungan yang menjalankan kode yang

menghilangkan masalah performance / kecepatan dari lingkungan

scripting / interpreted.

• Untuk membuat developer mengalami pengalaman yang konsisten di

berbagai tipe aplikasi, seperti aplikasi Windows dan aplikasi berbasis

web.

• Untuk membangun komunikasi standar industri yang memastikan kode

berbasis Framework .NET dapat diintegrasikan dengan kode lain.

Salah satu bentuk keunggulan dari platform ini terlihat pada kompilasi sumber

kode program (source code), dimana semua source code akan dikompilasi menjadi

Microsoft Itermediate Language (MSIL). Selanjutnya MSIL akan dikompilasi oleh

.NET Compiler menjadi bahasa mesin pada saat akan digunakan.

Page 20: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

26

File MSIL dikategorikan sebagai Managed Application, artinya aplikasi tersebut

masih dapat dikontrol / diatur (manage) sebelum dijalankan oleh prosesor. Istilah ini

digunakan untuk membedakannya dari istilah Unmanaged Application, yakni aplikasi

program yang kita kenal sekarang ini (misalnya Visual Basic, Delphi, Visual FoxPro,

dan lain-lain).

Framework .NET memiliki 2 komponen utama, yaitu :

• Common Language Runtime (CLR)

• .NET Framework Class Library

Arsitektur dari .NET Framework dapat dilihat pada gambar berikut

Gambar 2.6 .NET Framework

Page 21: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

27

Saat ini diketahui bahwa .NET Framework mendukung 15 bahasa pemrograman.

Antara lain Visual Basic , C#, C++, Jscript, VBScript. Bahkan Perl, Cobol, dan Pascal

dapat digunakan untuk menghasilkan aplikasi managed code.

.NET Framework juga dikembangkan untuk mobile dan embedded devices yang

disebut Compact .NET Framework. Jadi, dengan menguasai salah satu bahasa

pemrograman yang didukung oleh .NET Framework, kita dapat menghasilkan berbagai

tipe aplikasi maupun target aplikasi (server, desktop, maupun smart device seperti

PDA).

a. Common Language Runtime

Common language Runtime (sering disingkat menjadi CLR) adalah

pondasi dari .NET Framework. CLR (sering disebut sebagai runtime) dapat

dianggap sebagai agen yang menangani kode pada saat dijalankan,

menyediakan layanan inti seperti manajemen memori, manajemen thread,

dan remoting, juga memastikan pendefinisian tipe data secara ketat dan

bentuk lain untuk memastikan keakuratan kode program sehingga dapat

tercipta keamanan dan ketangguhan suatu program.

Konsep manajemen kode adalah prinsip dasar dari runtime. Program

yang dijalankan oleh CLR disebut sebagai managed code, sedangkan kode

yang tidak memiliki sasaran runtime (CLR) disebut unmanaged code.

.NET Framework dapat di-hosted oleh komponen unmanaged code

yang memanggil CLR ke prosesnya, dan menjalankan managed code,

sehingga menciptakan lingkungan software yang menggunakan fasilitas

managed dan unmanaged. Framework .NET tidak hanya menyediakan

Page 22: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

28

beberapa runtime host, tetapi juga mendukung pengembangan dari runtime

host pihak ketiga.

Ilustrasi berikut menunjukkan relasi dari CLR dan Class Library ke

aplikasi dan sistem secara keseluruhan. Ilustrasi ini juga menunjukkan

bagaimana managed code beroperasi dengan arsitektur yang lebih besar.

Managed Applications Unmanaged Applications

InternetInformationService

ASP.NET(Runtime)

Operating System/Hardware

Custom SystemLibraries

ClassLibraryRuntime

Managed WebApplications

Gambar 2.7 Relasi Sistem dalam Visual Studio .NET

b. NET Framework Class Library

.NET Framework Class Library adalah suatu koleksi dari tipe data

yang dapat digunakan ulang yang terintegrasi dengan CLR. Class Library

berorientasi obyek, dan menyediakan tipe data dimana managed code dapat

menurunkan fungsionalitasnya. Hal ini tidak hanya dapat membuat tipe data

dari .NET Framework mudah digunakan, tapi juga mengurangi waktu belajar

Page 23: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

29

dari fasilitas .NET Framework. Sebagai tambahan, komponen pihak ketiga

dapat terintegrasi dengan class dari .NET Framework.

Sebagaimana diharapkan dari class library berorientasi objek, tipe-

tipe data .NET Framework memberikan fasilitas untuk menyelesaikan

sejumlah tugas pemrograman yang umum, termasuk manajemen string,

koleksi data, konektivitas database, dan akses file. Sebagai tambahan dari

tugas-tugas umum tersebut, class library mengikutkan tipe data yang

mendukung variasi skenario development. Sebagai contoh, .NET Framework

dapat digunakan untuk membangun aplikasi berikut :

- Aplikasi konsol

- Aplikasi skripting / hosted

- Aplikasi Windows GUI (Windows Form)

- Aplikasi Web (ASP.NET)

- XML Web Services

- Windows Services

XML (Extensible Markup Language)

XML adalah sebuah bahasa yang sudah banyak diadopsi untuk

merepresentasikan teks dan data di dalam sebuah format yang dapat diproses tanpa

melibatkan banyak keahlian manusia maupun mesin. Informasi yang dibuat dalam

format XML dapat dipergunakan lintas platform, bahasa, dan aplikasi. XML juga dapat

digunakan dalam jangkauan yang sangat luas pada pengembangan suatu aplikasi.

Setiap dokumen XML terdiri dari satu atau lebih elemen, batas-batasnya adalah

start-tags dan end-tags, atau untuk elemen kosong, digunakan empty-element tag. Setiap

Page 24: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

30

elemen mempunyai tipe, ditandai dengan nama, terkadang disebut “generic identifier”

(GI) dan dapat mempunyai set atribut yang spesifik. Setiap spesifikasi atribut

mempunyai nama dan nilai.

Struktur XML :

- Start-Tag

Start-Tag adalah awal dari setiap elemen XML yang tidak kosong.

Contoh : <xmlelement id="element-id" term="element-term">

- End-Tag

End-Tag adalah penanda akhir dari suatu elemen.

Contoh : </xmlelement>

- Content

Content dari adalah isi dari elemen, terletak diantara Start-Tag dan End-

Tag.

Contoh : <xmlelement>content</xmlelement>

- Empty-Element-Tag

Empty-Element-Tag digunakan untuk setiap elemen yang tidak

mempunyai content.

Contoh : <xmlelement id="element-id" type=”type” />

Keuntungan menggunakan XML :

a. XML adalah data yang dapat menjelaskan dirinya sendiri. Tidak seperti record

dalam database tradisional, XML tidak memerlukan skema relasi (relational

schemata), tabel deskripsi file (file description tables), definisi tipe data eksternal

Page 25: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

31

(external data type definitions), dan lain lain karena data XML sudah memuat

informasi tersebut di dalam dirinya sendiri.

b. Dokumen XML dapat memuat semua data, mulai dari data klasik seperti teks dan

angka, obyek multimedia seperti suara, sampai format aktif seperti Java Applet

atau komponen ActiveX.

c. XML merupakan dokumen multi-bahasa dan standar Unicode.

UML (Unified Modeling Language)

Inti dari pemecahan masalah berorientasi obyek adalah dengan membentuk suatu

model. Model tersebut merupakan abstraksi dari detail masalah yang ada pada dunia

nyata. Beberapa alat pemodelan dibungkus dalam UML (Unified Modeling Language).

Dalam UML terdapat beberapa istilah yang harus dipahami sebelumnya. Proses

pembuatan UML dimulai dengan pembentukan model. Model adalah abstraksi dari

masalah yang sedang dihadapi. Domain adalah dunia nyata, di mana masalah tersebut

muncul. Model terdiri dari obyek yang berinteraksi dengan saling mengirimkan pesan

(messages). Obyek mempunya hal-hal yang diketahui (attributes) dan hal-hal yang

dapat dilakukan (behaviors atau operations). Nilai dari atribut suatu obyek menentukan

state. Kelas (class) adalah cetak biru untuk obyek. Sebuah kelas membungkus attributes

(data) dan behaviors (methods atau functions) menjadi sebuah entiti yang unik. Obyek

adalah instance dari kelas.

Dalam UML, terdapat 9 jenis diagram pemodelan, yaitu :

a. Use case diagrams

Page 26: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

32

Use case diagrams menjelaskan apa yang dilakukan suatu sistem dari sudut

pandang pengamat yang bersifat eksternal. Penekanan ada pada apa (what) yang

dilakukan sistem daripada bagaimana (how) melakukannya Use case diagrams

sangat berhubungan denga scenario. Skenario adalah contoh dari apa yang terjadi

saat seseorang berinteraksi dengan sistem

b. Class Diagrams

Class diagram memberikan garis besar dari sistem tersebut dengan

memperlihatkan kelas-kelas dan hubungan diantaranya. Class Diagrams

berbentuk statis, dengan hanya menunjukkan apa yang berinteraksi, tapi tidak

menunjukkan apa yang terjadi saat interaksi setiap kelas berinteraksi.

c. Packages and object diagrams

Untuk mempermudah diagram kelas yang kompleks, kelas-kelas tersebut dapat

disatukan ke dalam suatu paket (package). Paket adalah koleksi dari elemen

UML yang berinteraksi secara logis.

d. Sequence diagrams

Class and object diagrams adalah bentuk pemodelan statis, sedangkan

Interaction diagrams berbentuk dinamik, dengan menunjukkan bagaimana

obyek berkolaborasi.

Sequence diagram adalah interaction diagram yang menjelaskan dengan detil

bagaimana suatu operasi berjalan, pesan apa yang dikirim dan kapan. Sequence

Page 27: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

33

diagrams diatur berdasarkan waktu. Proses berjalannya waktu sejalan dengan

turunnya halaman. Obyek-obyek yang terlibat dalam operasi terdaftar dari kiri ke

kanan menurut waktu terlibatnya.

e. Collaboration diagrams

Collaboration diagrams juga merupakan interaction diagrams. Pada dasarnya

Collaboration diagrams menghasilkan informasi yang sama dengan sequence

diagrams, tapi terfokus pada peranan obyek daripada waktu pesan dikirim.

f. Statechart diagrams

Obyek mempunyai behaviors dan state. State dari sebuah obyek bergantung pada

kondisi atau aktivitasnya pada saat itu.. Statechart diagram menunjukkan

kemungkinan state dari sebuah obyek dan transisinya yang dapat mengakibatkan

perubahan state.

g. Diagram aktivitas (Activity diagrams)

Diagram aktivitas adalah flowchart yang sederhana. Diagram aktivitas dan

statechart diagrams saling berhubungan. Statechart diagram berfokus pada

proses yang dilakukan oleh suatu obyek, activity diagram berfokus pada aliran

aktivitas yang terlibat pada proses tunggal. Activity diagram memperlihatkan

bagaimana tiap aktivitas tersebut bergantung satu sama lain.

h. Component and deployment diagrams

Page 28: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

34

Deployment diagrams menunjukkan konfigurasi fisik dari hardware dan

software.

2.4.3 Keuntungan Menggunakan Microsoft Visual Studio .NET

Microsoft Visual Studio .NET mempunyai framework yang merupakan bagian

integral dari next generation aplication dan XML Web Service. Programmer dapat

membuat aplikasi dalam framework .NET menggunakan beberapa bahasa. Masing-

masing dari bahasa tersebut terkompilasi di dalam Microsoft Intermediate Language

(MSIL), yang kemudian dikonversi ke dalam bahasa natif, dan dieksekusi dalam CLR.

Karena tiap bahasa berinteraksi dengan kode yang ditulis dalam CLR, berbagai aplikasi

yang ditulis dengan bahasa yang satu, dapat berinteraksi dengan aplikasi yang ditulis

dengan bahasa lain. Dengan diperkenalkannya CLR, programmer sekarang ini

mempunyai ruang lingkup bahasa yang lebih luas untuk dipilih, sehingga membantu

pemilihan bahasa yang tepat untuk kemampuan mereka dan untuk tugas yang akan

dihadapi.

2.4.4 Microsoft C# .NET

Visual C# .NET adalah suatu bahasa yang simpel, dengan hanya sekitar 80 kata

kunci, dan lusinan tipe data bawaan, namun, C# sangat tepat untuk

mengimplementasikan konsep pemrograman modern.

Bahasa C# diciptakan oleh sebuah tim kecil yang dipimpin oleh 2 programmer

Microsoft, Anders Hejlsberg dan Scott Wiltamuth. Hejlsberg diketahui juga sebagai

pencipta Turbo Pascal, dan tim utama dalam pembuatan Borland Delphi.

Page 29: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

35

a. Konsep Object Oriented Programming (OOP) dalam Microsoft C# .NET

Object Oriented Programming merupakan paradigma baru dalam

pemrograman. Ide dasar dari OOP adalah mengkombinasikan data dan method

(fungsi) untuk mengakses data menjadi sebuah kesatuan unit. Unit ini dikenal

dengan nama object (Abdul Kadir, 1995, p4)

Objek merupakan suatu enkapsulasi dari data dan fungsi. Sebuah

peningkatan dari pemahaman sebelumnya dimana posisi data dalam suatu program

lebih rendah dari fungsi atau method, dalam OOP, data mempunyai kedudukan yang

seimbang dengan fungsi atau method.

b. Class dan Object

Class dapat dianalogikan sebagai cetakan obyek. Class menentukan

spesifikasi pembentukan object. Mulai dari jenis data, fungsi – fungsinya, nilai

awalnya, hingga caranya berinteraksi dengan object lainnya.

Sebuah class umumnya terdiri dari variabel instan dan method untuk obyek.

Method merupakan fungsi (subprogram) yang melekat pada sebuah object atau

instansi dari suatu class tertentu.

(http://java.sun.com/docs/books/concepts.class.html)

c. Inheritance

Inheritance merupakan fitur dasar dalam OOP yang memungkinkan untuk

menurunkan data dan fungsionalitas dari sebuah kelas induk. Daripada membuat

suatu obyek dari awal, programmer dapat mengambil kode dari programmer lain,

dan hanya menambahkan fitur-fitur lain yang diperlukan. Obyek induk yang

merupakan dasar dinamakan base class, sedangkan obyek anak yang mewarisi sifat

base class dinamakan derived class.

Page 30: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

36

d. Interface

Interface merupakan suatu mekanisme yang disediakan C# yang

memungkinkan agar banyak class dapat berbagi konstanta maupun bentuk method.

Method yang dipergunakan di sini adalah method abstrak, yang hanya terdapat

deklarasi tanpa definisi.

Suatu class hanya dapat mewarisi variabel dan method dari 1 superclass saja

namun dengan mempergunakan interface, satu class dapat memepergunakan abstact

method dan konstanta dari banyak interface berbeda. Interface juga dapat mewarisi

interface lain seperti halnya class dapat mewarisi class lainnya.

2.4.5 Keunggulan Microsoft Visual C# .NET

- Mewarisi secara kuat sifat-sifat C++

Visual C# mewarisi kuat sifat-sifat C++ yang menjamin pondasi kuat bagi

para developer. Bahasa C++ merupakan bahasa pemrograman yang sudah

dikenal luas, sehingga memudahkan programmer seperti C++ dan Java untuk

mempelajarinya.

- Sistem berbasiskan OOP (Object Oriented Programming)

Visual C# menyediakan bahasa modern dan Object Oriented Programming

yang intuitif.

- Akeses kepada Microsoft .NET Framework

- Component-Oriented Development

- Dukungan terhadap ‘XML Comment’

Page 31: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

37

Visual C# memungkinkan programmer untuk menggunakan XML Comment,

yang berguna untuk dokumentasi source code yang ampuh dan dapat

dikostumasi.

- XML Web Service yang interaktif

Visual C# memungkinkan pebuatan web service yang berbasiskan XML

- Dapat digunakan pada berbagai target device

Visual C# memungkinkan programmer menghasilkan aplikasi untuk desktop

komputer, berbagai alat seperti handheld dan wireless device menggunakan

tool dan cara pengembangan yang sama

- Model memori ‘C’

Visual C# memberikan akses manajemen memori dan pointer seperti pada

bahasa C jika diperlukan, tidak menghilangkan pointer dan memaksa

programmer untuk menggunakan cara lain seperti pada kebanyakan bahasa

pemrograman.

- Visual C# IDE

Visual C# menyediakan IDE yang canggih, yaitu Visual Studio .NET

development environment, seperti Task Lists, Property Editors, Microsoft

Intellisense, Forms Designer, dan lain lain, yang telah terbukti dengan

memenangkan penghargaan.

2.5 Grafik Komputer

Grafik komputer adalah salah satu bidang dari visual computing, di mana

manusia menggunakan komputer untuk menghasilkan gambar tiruan dan

menggabungkan atau merubah pandangan dari dunia nyata .

Page 32: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

38

Perkembangan penting yang pertama dalam dunia grafik komputer adalah

ditemukannya Sketchpad oleh Ivan Sutherland. Sketchpad adalah sebuah alat yang

terdiri dari pensil dan kertas elektronik, di mana goresan di kertas tersebut akan

tergambar dalam komputer.

Bidang-bidang dalam dunia grafik komputer dapat dibagi lagi ke dalam beberapa

bagian, yaitu : real-time 3D rendering (sering digunakan dalam dunia game), computer

animation (animasi komputer), video capture dan video creation rendering, special

effects editing (sering digunakan dalam film dan televisi), image editing, dan modeling

(sering digunakan untuk tujuan medik)

Perkembangan dalam dunia grafik komputer pertama dibiayai oleh akademi-

akademi yang tertarik pada bidang tersebut, dan sponsor pemerintah. Walau begitu, saat

aplikasi dunia nyata dari grafik komputer dalam penyiaran televisi dan film

menghasilkan alternatif yang lebih baik daripada metode tradisional, dunia komersil

mulai ramai membiayai perkembangannya.

Sering disebutkan, bahwa film pertama yang menggunakan grafik komputer

adalah pada tahun 2001 : A Space Odyssey, yang mencoba menunjukkan bagaimana

komputer dapat menghasilkan grafik di masa depan, namun semua efek ‘komputer’ yang

digunakan dalam film tersebut ternyata dibuat dengan gambar tangan.

Mungkin, yang pertama menggunakan grafik komputer adalah Futureworld

(1976), yang memasukkan animasi wajah manusia dan tangan, diproduksi oleh Ed

Catmull dan Fred Parke di Universitas Utah.

2.5.1 Komputer Grafik 2D

Terdapat dua pendekatan dalam grafik 2 dimensi :

Page 33: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

39

- Vektor

Grafik vektor menyimpan data geometrik yang tepat, topologi, dan corak

seperti posisi koordinat dari titik, koneksi dari titik ke titik (untuk membentuk

garis atau jalur) dan warna, ketebalan dan kemungkinan pengisian dari bentuk.

Kebanyakan grafik vektor dapat juga menggunakan bentuk standar primitif

seperti lingkaran dan persegi, dll. Pada banyak kasus, grafik vektor harus diubah

terlebih dahulu menjadi raster untuk dapat dilihat.

- Raster

Grafik raster adalah bentuk dua dimensi sususan piksel-piksel. Setiap

piksel mempunyai nilai yang spesifik seperti tingkat kecerahan, transparansi

warna atau kombinasi dari nilai-nilai tersebut. Grafik raster juga mempunyai

resolusi terbatas yang terdiri atas angka spesifil dari baris dan kolom. Tampilan

komputer standar menunjukkan resolusi grafik raster, misalnya 1280 (kolom) x

1024 (baris) piksel. Sekarang ini orang kebanyakan menggabungkan raster dan

vektor dalam format file majemuk (pdf, swf).

2.5.2 Komputer Grafik 3D

Dengan lahirnya komputer workstation (seperti LISP machines, paintbox

computers, dan Silicon Graphics workstation) lahirlah grafik komputer 3 dimensi,

dengan menggunakan metode grafik vektor. Selain menyimpan informasi mengenai

titik, garis dan kurva dalam grafik vektor 2 dimensi, komputer juga menyimpan lokasi

titik, garis, dan bentuk permukaan (untuk membentuk poligon) dalam ruang 3 dimensi.

Poligon 3 dimensi adalah awal lahirnya semua grafik komputer virtual 3 dimensi.

Sebagai akibatnya, kebanyakan mesin grafik 3 dimensi didasarkan pada penyimpanan

Page 34: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

40

titik (koordinat tunggal 3 dimensi), garis yang menghubungkan titik-titik tersebut

menjadi satu, dan permukaan antara garis, dan kemudian membentuk permukaan-

permukaan tersebut menjadi poligon 3 dimensi.

Jaman modern ini, grafik komputer sudah sangat jauh berbeda, tidak hanya

penyimpanan sederhana dari poligon. Grafik sekarang ini tidak hanya menghasilkan

bentuk dari koleksi poligon, namun juga dihasilkan dari teknik seperti shading dan

texturing.

a. Shading

Proses pembentukan bayangan (dalam konteks grafik komputer 3D)

melibatkan simulasi komputer (kalkulasi) bagaimana permukaan dari poligon

akan terlihat saat diterangi oleh sumber cahaya virtual. Kalkulasi secara tepat

berbeda tergantung tidak hanya pada data apa yang tersedia tentang permukaan

yang akan dibentuk bayangannya, tapi juga teknik pembentukan bayangan.

- Flat shading: Teknik yang membentuk bayangan setiap poligon dari

sebuah obyek berdasarkan garis normal poligon, posisi, dan intensitas

dari sumber cahaya.

- Gouraud shading: Ditemukan oleh Henri Gouraud tahung 1971, sebuah

teknik yang cepat dan memperhatikan sumber daya, digunakan untuk

mensimulasikan permukaan yang bayangannya lembut dengan

menginterpolasikan warna garis sepanjang permukaan poligon.

- Texture mapping: Teknik untuk simulasi permukaan yang detail dengan

cara memetakan gambar (tekstur) ke dalam poligon-poligon.

- Phong shading: Ditemukan oleh Bui Tuong Phong, teknik pembentukan

bayangan lembut yang memperkirakan pencahayaan permukaan-

Page 35: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

41

lengkung dengan cara menginterpolasikan garis normal garis poligon

sepanjang permukaan; model pencahayaan termasuk pemantulan kilap

dengan level kekilapan yang dapat dikontrol.

- Bump mapping: Ditemukan oleh Jim Blinn, sebuah teknik normal-acak

yang digunakan untuk mensimulasikan permukaan bergelombang atau

berkerut. Ray Tracing: A method based on the physical principles of

geometric optics that can simulate multiple reflections and transparency.

- Radiosity : Teknik untuk pencahayaan global yang menggunakan teori

radiatif untuk mensimulasikan pencahayaan tidak langsung (memantul)

dengan permukaan difus.

- Blobs: Teknik untuk merepresentasikan permukaan tanpa menentukan

batas-batas keras, biasanya digunakan untuk permukaan prosedural.

b. Texturing

Permukaan poligon dapat mengandung data tidak hanya warna, tapi juga

kanvas virtual untuk gambar, atau gambar raster yang lain. Gambar semacam ini

diletakkan dalam permukaan, atau seri-permukaan dan disebut sebagai tekstur.

2.5.3 Model Warna

Sebelum memahami model warna, sangat penting untuk memahami perbedaan

pada sistem. Banyak orang memahami warna sebagai cat. Kemudian saat mencampur

biru dan kuning, akan didapatkan hijau muda. Tapi hasilnya akan berbeda jika

mencampurkan hijau dan merah muda. Hal itu akan menghasilkan warna kuning jika

100% merah dicampurkan dengan hijau muda. Jadi ada baiknya memahami kedua sifat

berbeda ini. Jika memperhatikan warna yang dihasilkan monitor, warna yang dihasilkan

Page 36: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

42

oleh cahaya, hal ini didasarkan dari model RGB dan ini adalah model warna aditif. Dari

sini lalu muncul cat atau tinta printer. Kemudian ada juga model CMYK, yang adalah

model warna subtraktif

a. Model RGB (Red Green Blue)

Komputer menciptakan warna berdasarkan model RGB (Red Green

Blue). Hal ini menghasilkan spektrum cahaya tampak. Monitor dapat membuat

jutaan warna dengan mengkombinasikan warna primer ini dengan prosentase

yang berbeda baik merah, hijau, maupun biru. Sedangkan dengan piranti lunak

seperti Photoshop dapat dilihat bahwa warna GRB tersebut telah ditambahkan

dengan nilai numerik, antara 0 s/d 255. Dengan RGB, pencampuran merah dan

hijau secara merata dapat menghasilkan kuning, mencampurkan hijau dengan

biru secara merata dapat menghasilkan sian, dan mencampurkan merah dengan

biru secara merata dapat menghasilkan magenta. Ketika ketiga warna, merah,

hijau, dan biru dicampurkan secara merata dapat menghasilkan cahaya putih.

Maka kemudian dinamakan model warna aditif. Contoh lain model RGB adalah

mata manusia dan scanner.

Keuntungan dasar dari model RGB adalah bahwa model ini sangat

berguna untuk penyuntingan warna lengkap karena model ini mampunyai

jangkauan warna yang luas. Namun disaat yang sama model ini tergantung pada

alat. Artinya bagaimana warna ditampilkan pada layar tergantung pada perangkat

keras yang digunakan untuk menampilkannya.

b. Model CMYK (Cyan Magenta Yellow Black)

Page 37: Fraktal - Bab 2 - rhezaariyanto.files.wordpress.com fileSeperti pembentukan kehidupan, cabang baru dari matematika dan sains tidak ... Mulai pada awal 1870-an, terjadi 50 tahun transformasi

43

Kebalikan dari RGB adalah CMY (Cyan Magenta Yellow). Tinta printer

dibuat berdasarkan model ini. Dengan mencampurkan sian, magenta, dan kuning

akan didapatkan hitam. Namun prakteknya pada industri printer tidaklah

mungkin untuk menghasilkan warna hitam murni dari ketiga warna ini.

Hasil dari pencampuran CMY adalah coklat tanah karena ketidakmurnian

dari tinta. Maka tinta hitam ditambahkan untuk mendapatkan warna hitam yang

solid. Hasilnya adalah CMYK di mana K merupakan singkatan dari Black, yang

juga dikenal sebagai warna ‘kunci’. Karena hitam adalah campuran penuh dari

semua warna, tingkat sian, magenta, dan kuning harus dikurangi untuk

menghasilkan warna terang. Saat sinar jatuh ke permukaan hijau atau tinta hijau,

permukaan tersebut akan menyerap semua warna dari sinar, kecuali hijau. Oleh

karena itulah model ini disebut subtraktif model. Produksi printer didasarkan

pada model ini.

Gambar 2.8 Model Warna RGB dan CMYK