Contoh Daftar Isi, Motto, Persembahan
-
Upload
rahma-iwhiiet-juwita -
Category
Documents
-
view
1.200 -
download
1
Transcript of Contoh Daftar Isi, Motto, Persembahan
i
SIMULASI PERTUMBUHAN BATANG TANAMAN CEMARA NORFOLK MENGGUNAKAN L-SISTEM DENGAN DELPHI
SKRIPSI
Oleh: AFFAN ABDUR ROCHMAN
NIM. 04550055
JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI (UIN)
MAULANA MALIK IBRAHIM MALANG 2009
ii
SIMULASI PERTUMBUHAN BATANG TANAMAN CEMARA NORFOLK MENGGUNAKAN L-SISTEM DENGAN DELPHI
Diajukan Kepada: Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang
Untuk Memenuhi Salah Satu Persyaratan dalam Memperoleh Gelar Sarjana Komputer
Oleh:
Affan Abdur Rochman NIM. 04550055
JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI (UIN)
MAULANA MALIK IBRAHIM MALANG 2009
iii
LEMBAR PERSETUJUAN
SIMULASI PERTUMBUHAN BATANG TANAMAN CEMARA NORFOLK MENGGUNAKAN L-SISTEM DENGAN DELPHI
Nama : Affan Abdur Rochman Nim : 04550055 Jurusan : Teknik Informatika Fakultas : Sains dan Teknologi
Affan Abdur Rochman NIM. 04550055
Telah Disetujui, 18 Juli 2009
Dosen Pembimbing I
Suhartono, S.Si, M.Kom. NIP. 150 327 241
Dosen Pembimbing II
Munirul Abidin,M.A. NIP. 150 321 634
Mengetahui, Ketua JurusanTeknik Informatika
Suhartono, S.Si, M.Kom. NIP. 150 327 241
iv
HALAMAN PENGESAHAN
SIMULASI PERTUMBUHAN BATANG TANAMAN CEMARA NORFOLK MENGGUNAKAN L-SISTEM DENGAN DELPHI
SKRIPSI
Oleh
Affan Abdur Rochman
NIM. 04550055
Telah Dipertahankan Di Depan Dewan Penguji Skripsi Dan Dinyatakan Diterima Sebagai Salah Satu Persyaratan
Untuk Memperoleh Gelar Sarjana Komputer
Tanggal, 18 Juli 2009
Susunan Dewan Penguji : Tanda Tangan
1. Penguji Utama : Ririen Kusumawati, M.Kom ( )
NIP. 150 368 775
2. Ketua Penguji : Totok Chamidy, M.Kom ( )
NIP. 150 381 177
3. Sekretaris Penguji : Suhartono, S.Si, M.Kom ( )
NIP. 150 327 241
4. Anggota Penguji : Munirul Abidin, M.A. ( )
NIP. 150 321 634
Mengetahui dan Mengesahkan
Ketua Jurusan Teknik Informatika Fakultas Sains dan Teknologi
Universitas Islam Negeri Maulana Malik Ibrahim Malang
Suhartono, S.Si, M.Kom NIP. 150 327 241
v
LEMBAR PERNYATAAN
Saya yang bertanda tangan dibawah ini :
Nama : Affan Abdur Rochman
NIM : 04550055
Jurusan : Teknik Informatika
Judul Tugas Akhir : SIMULASI PERTUMBUHAN BATANG TANAMAN CEMARA NORFOLK MENGGUNAKAN L-SISTEM DENGAN DELPHI
Dengan ini menyatakan bahwa :
1. Isi dari tugas Akhir yang saya buat adalah benar-benar karya sendiri dan
tidak menjiplak karya orang lain, selain nama-nama termaktub di isi dan
tertulis di daftar pustaka dalam Skripsi ini.
2. Apabila dikemudian hari ternyata Skripsi saya tulis terbukti hasil jiplakan,
maka saya akan bersedia menanggung segala resiko yang akan saya
terima.
Demikian pernyataan ini dibuat dengan segala kesadaran.
Malang, 18 Juli 2009
Yang menyatakan,
Affan Abdur Rochman
NIM. 04550055
vi
LEMBAR PERSEMBAHAN
Kuucapkan rasa syukur kehadirat Allah SWT atas segala limpahan Rahmat, Hidayah, serta Inayah-Nya karya kecil
ini dapat terselesaikan. Dengan kerendahan hati kupersembahkan karya kecil ini untuk orang-orang yang selalu memberikan motivasi, kasih sayang dan do’anya yang begitu tulus kepadaku dan semoga
dibalas oleh-NYA.
Ayahanda dan ibundaAyahanda dan ibundaAyahanda dan ibundaAyahanda dan ibunda yang tercinta tidak ada kata yang pantas untuk menggambarkan kata Syukur dan terimakasih
atas kerja keras mengasuh, mendidik, membimbing dan berdo’a yang tiada henti dengan penuh kasih sayang dan
kesabaran.
SaudaraSaudaraSaudaraSaudara----saudaraku tersayangsaudaraku tersayangsaudaraku tersayangsaudaraku tersayang “Mas Rohman, Mbak Rena, Dik Asti, dan Dik Ani “ serta keponakanku yang
lucu”Syamil”, terimakasih atas semangat dan dorongannya sehingga saudara mu ini bisa menyelesaikan Tugas Akhir, semoga kita semua menjadi anak yang sholeh dan sholehah.anak yang sholeh dan sholehah.anak yang sholeh dan sholehah.anak yang sholeh dan sholehah.
TemanTemanTemanTeman----teman seperjuanganteman seperjuanganteman seperjuanganteman seperjuangan di Forum Kajian Keislaman
Kontemporer (FK3 UIN)” Bagus, Dayu, Fauzan”, serta Adik-Adikku “Edy, Syaiful, dan Zuhri” dan BKLDK Korda Malang”Taufiq Uwiga,Taufiq UMM, A’an, Aji, dan Kusnady” yang tidak kenal lelah, putus asa, dalam
mengemban dakwah demi tegaknya kalimat Allah dimuka bumi ini. Semoga kita tetap sabar dan istiqomah menapaki jalan hidup yang diwariskan oleh para Nabi dan Rasul.
Jangan sia – siakan hidup di dunia, hidup ini hanya
sementara. Kita tidak tahu kapan ajal kita menjemput. Maka carilah bekal sebanyak-banyaknya dengan mencari
Ridho Allah dengan berdakwah dijalan-Nya.
vii
Motto
öθs9 uρ $ yϑ‾Ρ r& ’ Îû ÇÚ ö‘ F{$# ÏΒ >ο t�yf x© ÒΟ≈n=ø% r& ã�óst7 ø9$# uρ …çν ‘‰ßϑ tƒ .ÏΒ Íνω ÷è t/ èπ yèö7y™ 9�çt ø2 r& $ ¨Β ôNy‰ Ï�tΡ àM≈yϑ Î=x. «!$# 3 ¨β Î) ©!$# ̓tã ÒΟŠÅ3ym ∩⊄∠∪
Artinya “Dan seandainya pohon-pohon di bumi menjadi pena dan laut (menjadi tinta), ditambahkan kepadanya tujuh laut (lagi) sesudah (kering)nya, niscaya
tidak akan habis-habisnya (dituliskan) kalimat Allah[1183]. Sesungguhnya Allah Maha Perkasa lagi Maha Bijaksana.” (TQS Al Luqman ayat 27)
“Allah SWT. menggambarkan betapa kecil dan tak berdayanya manusia
bila dibandingkan dengan ilmu Allah SWT., dengan perumpamaan air laut bahkan
tujuh lautan dijadikan tinta untuk menulis kalimat Allah SWT., niscaya tidak akan
habis-habisnya kalimat Allah tersebut dituliskan.”
viii
KATA PENGANTAR
Assalamu’alaikum Wr. Wb
Puji syukur alhamdulillah penulis panjatkan kehadirat Allah SWT. atas
segala rahmat, taufiq serta hidayah-Nya yang telah diberikan kepada penulis,
sehingga penulis dapat menyelesaikan skripsi ini dengan judul “SIMULASI
PERTUMBUHAN BATANG TANAMAN CEMARA NORFOLK
MENGGUNAKAN L-SISTEM DENGAN DELPHI”
Shalawat serta salam tetap terlimpahkan kepada junjungan kita Nabi
Besar Muhammad SAW., yang telah membimbing ummatnya dari zaman
Jahiliyah ke zaman yang diridloi Allah SWT. yakni Diinul Islam.
Penelitian ini dimaksudkan untuk memenuhi salah satu syarat dalam
meraih gelar Sarjana Komputer di Fakultas Sains dan Teknologi Universitas Islam
Negeri (UIN) Malang.
Penulis menyadari bahwa baik dalam perjalanan studi maupun dalam
penyelesaian skripsi ini, penulis banyak memperoleh bimbingan dan motivasi dari
berbagai pihak, oleh karena itu pada kesempatan ini penulis menyampaikan
terimakasih yang sedalam-dalamnya kepada:
1. Allah SWT yang telah memberikan Berkat, Rahmat dan Hidayah-Nya
hingga terselesaikannya tugas akhir ini.
2. Bapak Prof. Dr. Imam Suprayogo, selaku rektor Universitas Islam Negeri
(UIN) Maulana Malik Ibrahim Malang.
ix
3. Prof. Drs. Sutiman Bambang Sumitro, SU, Dsc. selaku Dekan Fakultas
Sains dan Teknologi Universitas Islam Negeri (UIN) Maulana Malik
Ibrahim Malang
4. Bapak Suhartono, M.Kom selaku ketua jurusan Teknik Informatika
Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN) Maulana
Malik Ibrahim Malang serta menjadi pembimbing I Skripsi.
5. Bapak Munirul Abidin, M.A. selaku dosen pembimbing II dalam
pengerjaan tugas akhir ini..
6. Bapak, Ibu, adik dan kakakku tercinta yang selalu memberikan do’a,
materi dan semangat yang sangat saya butuhkan.
7. Teman-teman Teknik Informatika angkatan 2004, yang selalu memberi
dukungan untuk menyelesaikan tugas akhir ini.
8. Dan semua pihak yang tidak dapat saya sebutkan satu-persatu, kami
ucapkan terimakasih banyak atas bantuan, dan motifasinya.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, oleh
karena itu kritik dan saran yang sifatnya membangun sangat diperlukan untuk
memperbaiki mutu penulisan selanjutnya. Akhirnya, tiada kata selain harapan
semoga skripsi ini bermanfaat sesuai dengan maksud dan tujuannya. Amiin Ya
Robbal Alamiin
Wassalamu’alaikum Wr. Wb.
Malang, 18 Juli 2009
Penyusun
x
DAFTAR ISI
HALAMAN JUDUL ................................................................................... i HALAMAN PENGAJUAN ........................................................................ ii HALAMAN PERSETUJUAN.................................................................... iii HALAMAN PENGESAHAN ..................................................................... iv HALAMAN PERNYATAAN..................................................................... v LEMBAR PERSEMBAHAN ..................................................................... vi MOTTO ...................................................................................................... vii KATA PENGANTAR................................................................................. viii DAFTAR ISI ............................................................................................... x DAFTAR TABEL ...................................................................................... xii DAFTAR GAMBAR .................................................................................. xiii ABSTRAK................................................................................................... xiv
BAB I: PENDAHULUAN...........................................................................1 1.1 Latar Belakang ....................................................................... 1 1.2 Rumusan Masalah................................................................... 6 1.3 Batasan Masalah..................................................................... 7 1.4 Tujuan Penelitian.................................................................... 7 1.5 Manfaat Penelitian.................................................................. 7
BAB II: TEORI DASAR ............................................................................8 2.1 Pengertian Simulasi ................................................................ 8
2.1.1 Manfaat/kelebihan Simulasi ......................................... 8 2.1.2 Kelebihan Simulasi ...................................................... 9 2.1.3 Bahasa Simulasi ........................................................... 9
2.1.3.1 Bahasa Simulasi : Awal Mula............................ 10 2.1.3.2 Struktur Bahasa Simulasi................................... 12 2.1.3.3 Karakteristik Bahasa Simulasi .......................... 12
2.2 Pengertian Pertumbuhan ......................................................... 14 2.3 Tanaman Pohon Norfolk.......................................................... 18 2.4 Lindenmayer System (L-System) ............................................. 21
2.4.1 Bahasa Formal ................................................................ 24 2.4.2 Penulisan Berulang (Rewriting Systems) ......................... 28 2.4.3 Deterministic Dan Context Free L-Systems(DOL) .......... 29 2.4.4 Context Sensitive L-System ............................................ 30 2.4.5. Fungsi Pertumbuhan Tanaman ....................................... 31 2.4.6 Implementasi Grafika Dari String .................................... 35 2.4.7 Model Grafika Bentuk 3 Dimensi .................................... 37
2.5. Pemograman Delphi .............................................................. 39 2.5.1 Sejarah ............................................................................ 39 2.5.2 Lingkungan Pengembangan ............................................ 40
xi
2.5.3 Pro dan Kontra ................................................................ 41 BAB III: DESAIN DAN PERANCANGAN SISTEM ............. ..................43
3.1 Betuk Desain dan Perancangan Sistem.................................... 43 3.2 Tahap-Tahap Pembuatan Program ......................................... 43 3.3 Tahapan Implentasi................................................................. 44 3.4 Deskripsi Sistem ..................................................................... 45 3.5 Perancangan Pembuatan Program ........................................... 47
3.5.1 Model Tanaman .............................................................. 47 3.5.2 Pembuatan Program (Shoftware) ..................................... 48
3.5.2.1. Sistem Ordinat, Window Dan viewport .............. 49 3.5.2.2. Gambar Simulasi ................................................ 51 3.5.2.3 Penulisan Berulang (Rewriting System) ............... 55 3.5.2.4 Deterministic dan Context Free L-System(DOL) .................................................. 58
BAB IV: IMPLEMENTASI DAN EVALUASI SISTEM........... ...............60 4.1 Implementasi Sistem............................................................... 60
4.1.1 Instalasi Program ........................................................ 87 4.2 Penjelasan Program ................................................................ 61
4.2.1 Window Dan Viewport ............................................... 61 4.2.2 Iterasi dan Aturan Produksi String............................... 63 4.2.3 Tombol Show Akar..................................................... 64 4.2.4 Tombol Show Grafika................................................. 70 4.2.5 Tombol Baris .............................................................. 75 4.2.6 Tombol Set World ...................................................... 76 4.2.7 Tombol Set Viewport ................................................. 77 4.2.8 Atribut Memo Atau Step ............................................. 78
BAB V: PENUTUP .....................................................................................79 5.1 Kesimpulan ............................................................................ 79 5.2 Saran ...................................................................................... 79
DAFTAR PUSTAKA
xii
DAFTAR TABEL
Daftar Tabel
Tabel 2.1 Simbol dan Arti Grafika 2D ......................................................... 37 Tabel 2.2 Simbol dan Arti Grafika 3D ......................................................... 38
xiii
DAFTAR GAMBAR
Tabel Gambar
Gambar 2.1 Pohon Cemara Norfolk ........................................................... 20 Gambar 2.2 Hubungan antara Bahasa Chomsky dengan Bahasa L-Systems, untuk Simbol OL dan IL adalah Penulisan dari Bahasa
Context Free dan Contextsensitive L-System. ......................... 23 Gambar 2.3 Konstruksi dari Snowflake Curve ............................................ 29 Gambar 2.4 Contoh dari Aturan Produksi dari DOL Systems ..................... 30 Gambar 2.5 Grafik Pertumbuhan Eksponensial .......................................... 33 Gambar 2.6 Grafik Pertumbuhan Logistik ................................................. 34 Gambar 2.7 Grafik Sigmoid ....................................................................... 35 Gambar 2.8 Implementasi String Terhadap Grafika ................................... 36 Gambar 2.9 Matriks Model 3D .................................................................. 37 Gambar 3.1 Bagan Sederhana Kerja Program Komputer dan Langkah Kerja
Pembuatan Model ................................................................... 44 Gambar 3.2. Pohon Cemara Norfolk ........................................................... 47 Gambar 3.4 Flowchart Perulangan if-then-else .......................................... 52 Gambar 3.5 Flowchart Perulangan while…do ............................................ 53 Gambar 3.6 Flowchart Perulangan while…do ............................................ 54 Gambar 3.7 Hasil String dari L-system ..................................................... 55 Gambar 3.8 Hasil dari Aturan Penghasil String L-system .......................... 56 Gambar 3.9 Flowchart Aturan Produksi String L-system ........................... 57 Gambar 3.10 Contoh dari Aturan Produksi dari DOL Systems .................... 58 Gambar 3.11 Flowchart dari DOL System .................................................. 58 Gambar 4.1 Tampilan Window dan Viewport ............................................ 60 Gambar 4.2 Atribut Iterasi serta Tombol Reset dan Exit ............................ 63 Gambar 4.3 Tombol Menampilkan Akar dan Pengaturannya .................... 64 Gambar 4.4 Atribut Tombol ShowGrafika dan Pengaturannya ................... 68 Gambar 4.5. Atribut Pengaturan Letak Axis dan Ordinat ............................ 73 Gambar 4.6 Atribut Cara Pengaturan Set World dan Menampilkan Sumbu Xy .............................................................................. 74 Gambar 4.7 Atribut Cara Pengaturan viewport dan cara Menampilkannya ... 75 Gambar 4.8 Atribut Menampilkan Langkah-Langkah Hasil dari Iterasi ....... 76 Gambar 4.9 Gambar Hasil Akhir Simulasi .................................................. 77
xiv
ABSTRAK
Rochman, Affan Abdur. 2004. 04550055. Simulasi Pertumbuhan Batang
Tanaman Cemara Norfolk Menggunakan L-Sistem Dengan Delphi. Pembimbing : (I) Suhartono, M.Kom, (II) Munirul Abidin, M.A.
Kata Kunci :Grafika Komputer,Pertumbuhan, L-system.
Perkembangan komputer yang semakin cepat dan canggih membawa dunia ini ke dalam peradaban yang baru. Komputer merupakan satu-satunya penemuan yang mengalami revolusi yang tercepat. Salah satu pemanfaatan perkembangan komputer adalah dalam bidang komputer grafis yang sangat mungkin untuk mensimulasikan pertumbuhan tanaman dengan mengimplementasikan grammar pertumbuhan tanaman. Pertumbuhan tanaman ini merupakan salah satu tanda kekuasaan Allah bagi kaum yang memikirkan, yang di singgung dalam surat An Nahl ayat 11. Manusia yang memikirkan tentang kekuasaan Allah ini pasti akan memikirkan bagaimana pertumbuhan tanaman itu terjadi. Jika diamati pertumbuhan tanaman ini dalam kehidupan nyata ini akan memakan waktu lama, sehingga dengan adanya perkembangan dalam bidang komputer grafis ini kita akan bisa mengamati pertumbuhan dengan cepat. Hal ini tentu akan berguna dalam perkembangan dalam bidang pertanian. Jadi inilah pentingnya kita membuat simulasi dalam komputer grafis untuk mempermudah dalam mengamati pertumbuhan tanaman yang nyata dalam waktu cepat dalam bentuk simulasi tadi.
Tujuan penelitian ini adalah membuat suatu aplikasi untuk menampilkan pertumbuhan batang tanaman Cemara Norfolk kedalam bentuk grafis(simulasi) menggunakan L-sistem dengan bahasa pemograman delphi.
Metoda yang digunakan untuk mensimulasi pertumbuhan tanaman ini menggunakan suatu teori yang dikenal dengan Lindenmayer System (disingkat L-System).L-system sendiri adalah sistem penulisan ulang pararel, yaitu jenis dari grammar (satu set aturan dan simbol) resmi paling terkenal yang digunakan untuk permodelan proses pertumbuhan tanaman, tapi juga mampu untuk modelkan morfologi dari berbagai organisme. Framework dari L-System terdiri dari initial structure dan rewriting rules. Inti pengembangannya adalah penggantian secara Paralel menggunakan rewriting rules yang ada. Dimulai dari initial structure, L-System menggantikan setiap bagian dari struktur yang ada dengan menerapkan rule secara sekuensial. Jadi, dengan grammar yang spesifik untuk suatu tanaman tertentu akan dapat menghasilkan pertumbuhan tanaman yang menyerupai tanaman sebenarnya di alam nyata.
Hasil dari penelitian ini hanya bisa mensimulasikan pertumbuhan batang tanaman dalam bentuk grafis yang berupa garis, yang mana ini merupakan sudah merupakan kemajuan yang cukup baik dalam bidang komputer grafis. Pengembangan selanjutnya aplikasi ini akan bisa membuat bentuk batang yang menyerupai tanaman yang sebenarnya.
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan komputer yang semakin cepat dan canggih membawa
dunia ini ke dalam peradaban yang baru. Komputer merupakan satu- satunya
penemuan yang mengalami revolusi yang tercepat. Di sepanjang sejarah
penemuan baru tidak belum ada satu bentuk penemuan teknologi yang mampu
berrevolusi dengan sangat cepat secepat komputer. Seiring dengan semakin
canggihnya komputer, kemampuan komputasinya pun juga semakin tinggi. Sangat
banyak hal-hal yang pada mulanya tidak mungkin dikerjakan oleh manusia dalam
waktu yang singkat mampu dikerjakan oleh komputer.
Salah satu perkembangan komputer adalah dalam dunia grafis yaitu
grafika komputer. Grafika komputer sendiri adalah salah satu cabang disiplin
ilmu informatika yang mempelajari pembuatan gambar dengan menggunakan
komputer. Grafik komputer adalah ilmu yang sangat cepat berkembang pada saat
ini. Perkembangan ini didukung oleh munculnya prosesor-prosesor komputer
yang cepat dan kartu grafik yang semakin canggih dan hebat.
( wikipedia.org, 2008 )
Grafika komputer akhir-akhir ini mulai dirasa sangat penting dan
mencakup hampir semua bidang kehidupan seiring dengan semakin pentingnya
sistem komputer dalam berbagai kegiatan. Teknik-teknik yang dipelajari dalam
grafika komputer adalah teknik-teknik bagaimana membuat atau menciptakan
gambar dengan menggunakan komputer. Kemajuan dalam komputer grafik baru-
2
baru ini telah dapat memungkinkan menggambarkan secara matematis struktur
dan proses biologis dengan realisme belum pernah terjadi. Ini menghasilkan
gambar, animasi, dan sistem interaktif yang berguna sebagai riset dan alat-alat
pendidikan di bidang pengembangan biologi dan ekologi serta dalam dunia
animasi film dan permainan. Grafika Komputer pada dasarnya adalah suatu
bidang komputer yang memelajari cara-cara meningkatkan dan memudahkan
komunikasi antara manusia dengan mesin (komputer) dengan jalan
membangkitkan, menyimpan, dan memanipulasi gambar model suatu obyek
mengunakan komputer. Grafika Komputer memungkinkan kita untuk
berkomunikasi lewat gambar-gambar, bagan-bagan, dan diagram-diagram.
Salah satu aplikasi penggunaan grafika komputer yaitu dengan
menggunakan L-System yang mana berguna untuk memperagakan/memodelkan
tanam-tanaman dalam bentuk grafis. Sistem ini perkenalkan oleh Aristid
Lindenmayer pada tahun 1968, yang mana berfungsi untuk untuk memperagakan
pertumbuhan dari organisme multiseluler contohnya pohon atau tanam-tanaman.
Pertumbuhan tanaman ini telah disinggung dalam al-Quran banyak ayat,
salah satunya adalah surat An Nahl ayat 11):
àMÎ6/Ζ ãƒ /ä3s9 ϵÎ/ tíö‘ ¨“9$# šχθ çG÷ƒ ¨“9$#uρ Ÿ≅‹Ï‚̈Ζ9$# uρ |=≈uΖôã F{$#uρ ÏΒ uρ Èe≅à2 ÏN≡ t�yϑ̈V9 $# 3 ¨βÎ) ’ Îû
š� Ï9≡ sŒ Zπtƒ Uψ 5Θ öθs) Ïj9 šχρã�¤6 x�tG tƒ ∩⊇⊇∪
“Dia yang menumbuhkan bagi kamu dengan air hujan itu tanaman-tanaman;
zaitun, kurma, anggur dan segala macam-macam buah-buahan. Sesungguhnya
pada yang demikian itu benar-benar ada tanda (kekuasaan Allah) bagi kaum
yang memikirkannya.” (TQS. An Nahl : 11)
3
Menurut tafsir Departemen Agama dari surat An Nahl : 11 menyatakan
bahwa karena hujan itu pulalah Allah SWT menumbuhkan tanam-tanaman yang
buahnya dapat memenuhi kebutuhan hidup mereka dari jenis rumput rumputan,
manusia dapat memperoleh bahan makanan dan zaitun mereka dapat memperoleh
rempah-rempah, dan dari kurma dan anggur mereka dapat memperoleh buah-
buahan sebagai penambah lezatnya makanan mereka, kemudian disebut pula
segala macam buah-buahan, agar manusia dapat mengetahui kekuasaan Nya yang
tidak terbatas, yaitu dari air yang sama Allah SWT berkuasa menumbuhkan
tanam-tanaman yang beraneka ragam dan mengeluarkan buah-buahan yang
beraneka ragam bentuk, warna dan rasanya. Segala macam tumbuh-tumbuhan
yang menghasilkan bahan pemenuhan kebutuhan hidup mereka, adalah nikmat
yang diberikan oleh Allah dan sekaligus sebagai bukti keesaan Tuhan bagi orang
yang mengingkari Nya. Pada akhir ayat Allah SWT menandaskan bahwa segala
macam nikmat yang diturunkan baik secara langsung ataupun tidak langsung
adalah merupakan bukti-bukti kebenaran bahwa sesungguhnya tidak ada Tuhan
kecuali Allah. Bukti-bukti itu dapat diketahui oleh orang-orang yang
memperhatikan dan memikirkan tanda-tanda kekuasaan Tuhan serta memikirkan
hukum-hukum yang berlaku di dalamnya. Bukti-bukti kekuasaan Tuhan yang
terdapat di kolong langit ini cukup memberikan kepuasan pada orang yang benar-
benar memperhatikan kekuasaan Nya dan cukup kuat untuk mempercayai keesaan
Nya, misalnya orang yang memperhatikan biji-bijian, baik biji tunggal ataupun
yang berkeping dua, yang terletak di permukaan tanah yang dibasahi oleh embun,
lama kelamaan merekahlah biji itu dan keluarlah akarnya menembus permukaan
4
bumi, kemudian tumbuh batang dan dedaunan terus berkembang menjadi besar
berbunga dan berbuah. Satu hal yang menarik perhatian ialah biji-bijian yang
hampir sama menghasilkan tumbuh-tumbuhan yang beraneka ragam dan
menghasilkan buah-buahan yang bermacam-macam bentuk warna dan rasanya.
Orang yang demikian tentunya akan melihat bahwa pencipta dari segala macam
tumbuh-tumbuhan itu ialah Zat Yang Maha Sempurna yang tidak bisa disaingi
oleh zat-zat yang lain. Dialah yang berhak dipertuhan dan berhak disembah.
Itulah penjelasan tafsir ayat di atas, dibawakan untuk membantu
memahami makna yang terkandung di dalamnya. Maka jelaslah bahwa Allah
SWT menyuruh manusia untuk memikirkan kekuasaan Allah SWT dan tanda-
tanda kekuasaan Allah SWT yang diantaranya yang disebutkan pada ayat di atas
berupa tanaman-tanaman pertanian. Sungguh dalam pertanian banyak tanda-tanda
kebesaran Allah, perhatikanlah dan renungkanlah betapa kuasanya Allah SWT
yang telah menumbuhkan tanaman dari dalam tanah dari berupa benih,
mengembangkan dan menumbuhkannya hingga akhirnya menjadi tanaman yang
bisa dipanen. Apalagi kalau direnungi lagi proses tersebut secara lebih mendalam,
bagaimana proses yang terjadi di dalamnya, reaksi-reaksi kimia yang berlangsung
di dalamnya maka makin menunjukkan kepada tanda-tanda kekuasaan Allah.
Perhatikanlah bagaimana tanaman itu tumbuh, berbuah dan bagaimana rasanya?
Seandainya tanpa kekuasaan, pengaturan dan limpahan rizki dari Allah
maka tidaklah tanaman itu akan tumbuh dan berkembang, karena tanaman itu
tidak mempunyai kekuasaan atas dirinya sendiri kecuali dari kekuasaan Allah,
5
sehingga sebenarnya tidaklah tanaman itu tumbuh dan berkembang sendiri.
Sebagaimana dalam firman Allah dalam surat Yunus ayat 31 yang berbunyi :
ö≅è% tΒ Νä3 è%ã— ö�tƒ zÏiΒ Ï !$yϑ ¡¡9 $# ÇÚ ö‘ F{$#uρ ̈Β r& à7 Î=ôϑ tƒ yì ôϑ¡¡9$# t�≈|Á ö/ F{$#uρ tΒ uρ ßl Ì�øƒ ä†
¢‘y⇔ø9 $# zÏΒ ÏM Íh‹yϑ ø9 $# ßlÌ�øƒ ä† uρ |MÍh‹yϑ ø9$# š∅ÏΒ Çc‘y⇔ø9 $# tΒ uρ ã�În/ y‰ ムz÷ö∆ F{$# 4 tβθä9θ à) uŠ |¡ sù ª! $# 4 ö≅à) sù Ÿξ sùr& tβθà) −Gs? ∩⊂⊇∪
Katakanlah: "Siapakah yang memberi rezki kepadamu dari langit dan
bumi, atau siapakah yang Kuasa (menciptakan) pendengaran dan penglihatan,
dan siapakah yang mengeluarkan yang hidup dari yang mati dan mengeluarkan
yang mati dari yang hidup[689] dan siapakah yang mengatur segala urusan?"
Maka mereka akan menjawab: "Allah". Maka Katakanlah "Mengapa kamu tidak
bertakwa kepada-Nya)?"
Sesungguhnya Allah tidaklah dalam mengatur pertumbuhan itu dengan
sembarangan, tetapi mempunyai suatu ukuran tertentu atau mempunyai sistem
tertentu dalam menumbuhkan tanaman tersebut. Sebagaimana firman Allah :
$ ‾Ρ Î) ¨≅ä. > óx« çµ≈oΨ ø) n=yz 9‘y‰s) Î/ ∩⊆∪
Sesungguhnya Kami menciptakan segala sesuatu menurut ukuran. (TQS.
Al Qamar :19)
Dalam penciptaan itu ukuran-ukuran atau sistem pembentuk pertumbuhan
tanaman itu manusia tidak mengetahuinya, tetapi manusia hanya bisa mempelajari
bagaimana faktor-faktor pertumbuhan itu, apa saja yang diperlukan dalam
pertumbuhan serta dimana saja tanaman itu bisa tumbuh. Semua faktor-faktor
yang mendukung dalam pertumbuhan itu merupakan suatu sistem yang rapi yang
6
mana manusia tidak mampu untuk menciptakannya, akan tetapi manusia hanya
bisa meniru/memodelkan semua sistem itu dalam bentuk simulasi.
Sistem yang digunakan untuk simulasi pertumbuhan yaitu L-Systems,
yang memungkinkan kompleksitas alam dapat didefinisikan dengan beberapa
parameter dan aturan. Hal ini disebabkan L-Systems memanfaatkan tingkat
kemiripan terhadap dirinya sendiri (self-similarity) yang sangat besar. Tujuan
penelitian ini untuk memodelkan bentuk-bentuk batang pohon dengan
menggunakan L-Systems, dan mendapatkan pola dari aturan-aturan yang
membentuk jenis pohon/tanaman seperti tanaman. Untuk menghasilkan suatu
bentuk dengan metode ini harus dilakukan dua langkah, yaitu aplikasi dari
grammar untuk menghasilkan string berisi struktur topologi dari pohon dan
interprestasi dari string tersebut. Untuk langkah pertama, dilakukan dengan
metode rekursif, dan untuk langkah kedua, dilakukan dengan metode iteratif.
Implementasi dari aplikasi ini menggunakan bahasa delphi untuk
menvisualisasikan bentuk tanaman.
1.2 Rumusan Masalah
Berdasarkan latar belakang permasalahan diatas, maka rumusan
masalahnya adalah :
• Bagaimana merancang pemodelan tanaman ke dalam bentuk grafis.
• Bagaimana merancang pemodelan pertumbuhan tanaman hingga
mempunyai banyak cabang.
7
1.3 Batasan Masalah
Masalah yang akan dibahas pada penulisan skripsi ini adalah
bagaimana cara pembuatan suatu aplikasi untuk menampilkan pertumbuhan
batang tanaman kedalam bentuk grafis (simulasi) dengan menggunakan L-Sistem.
1.4 Tujuan dan Manfaat Penelitian
1.4.1. Tujuan Penelitian
Tujuan dari skripsi ini adalah :
a. Tujuan Institusional
Penulisan ini bertujuan untuk diajukan untuk Membuat Skripsi
Program Sarjana (S-1) Pada Jurusan Teknik Informatika Fakultas
Sainstek UIN Maulana Malik Ibrahim Malang.
b. Tujuan Instruksional
Tujuan penulisan tugas akhir ini adalah membuat suatu aplikasi untuk
menampilkan pertumbuhan batang tanaman Cemara Norfolk kedalam
bentuk grafis(simulasi) dengan menggunakan L-sistem.
1.5 Manfaat Penelitian
Adapun manfaat dari tugas akhir ini adalah untuk membantu dalam
permodelan pertumbuhan tanaman dalam bentuk grafis dalam bidang pertanian.
8
BAB II
LANDASAN TEORI
2.1. Pengertian Simulasi
Menurut kamus besar bahasa Indonesia, simulasi mempunyai dua arti. Arti
yang pertama yaitu metode pelatihan yang meragakan sesuatu dalam bentuk
tiruan yang mirip dengan keadaan yang sesungguhnya; arti yang kedua yaitu
penggambaran suatu sistem atau proses dengan peragaan berupa model statistik
atau pemeranan. (pusatbahasa.diknas.go.id, 2009)
Sedangkan pengertian yang lain simulasi adalah suatu prosedur kuantitatif,
yang menggambarkan sebuah sistem, dengan mengembangkan sebuah model dari
sistem tersebut dan melakukan sederetan uji coba untuk memperkirakan perilaku
sistem pada kurun waktu tertentu. (gunadarma.ac.id, 2009)
2.1.1. Manfaat/kelebihan Simulasi
Simulasi adalah satu-satunya cara yang dapat digunakan untuk mengatasi
masalah, jika :
1. Sistem nyata sulit diamati secara langsung
Contoh : Jalur penerbangan pesawat ruang angkasa atau satelit.
2. Solusi Analitik tidak bisa dikembangkan, karena sistem sangat
kompleks.
9
3. Pengamatan sistem secara langsung tidak dimungkinkan, karena :
sangat mahal, memakan waktu yang terlalu lama, akan merusak sistem
yang sedang berjalan.
2.1.2. Kelemahan Simulasi
1. Simulasi tidak akurat.
Teknik ini bukan proses optimisasi dan tidak menghasilkan sebuah jawaban
tetapi hanya menghasilkan sekumpulan output dari sistem pada berbagai
kondisi yang berbeda. Dalam banyak kasus, ketelitiannya sulit diukur.
2. Model simulasi yang baik bisa jadi sangat mahal, bahkan sering
dibutuhkan waktu bertahun-tahun untuk mengembangkan model yang
sesuai.
3. Tidak semua situasi dapat dievaluasi dengan simulasi. Hanya situasi yang
mengandung ketidak-pastian yang dapat dievaluasi dengan simulasi. Karena
tanpa komponen acak semua eksperimen simulasi akan menghasilkan
jawaban yang sama.
4. Simulasi menghasilkan cara untuk mengevaluasi solusi, bukan
menghasilkan cara untuk memecahkan masalah. Jadi sebelumnya perlu
diketahui dulu solusi atau pendekatan solusi yang akan diuji.
2.1.3. Bahasa Simulasi
Pemrograman model simulasi, seperti yang disebutkan sebelumnya, dapat
dilakukan menggunakan bahasa umum komputer (general purposes language)
atau menggunakan bahasa simulasi.
10
Satu bahasa simulasi tidak dapat menjadi alat yang tepat untuk semua
kasus permodelan simulasi. Berikut anatomi bahasa simulasi :
2.1.3.1 Bahasa Simulasi : Awal Mula
Kesuksesan analisis simulasi merupakan teknik campuran yang
sangat tergantung pada keahlian dan keahlian analis. Elemen dan struktur
bahasa komputer umum seperti Pascal atau Fortran, sorce codenya tidak
dengan mudah dapat digunakan untuk memodelkan simulasi sistem.
Misalnya, bahasa itu tidak menyediakan struktur data yang enak
digunakan untuk pemrosesan kejadian, sementara hal ini merupakan
elemen logis yang sangat penting dalam permodelan simulasi. Tidak ada
perintah dalam Fortran misalnya yang dengan jelas menambah atau
mengurangi antrian nasabah atau objek lainnya. Tidak ada perintah dalam
Fortran yang mengakumulasikan jumlah objek dalam antrian dan
menghitung rata-rata untuk menyediakan output statistik penting. Variabel
waktu lanjut, yang penting dalam penjalanan model simulasi, juga tidak
dapat ditemukan pada Fortran dan bahasa pemrograman umum lainnya.
Motivasi mengembangkan dan menggunakan bahasa simulasi
berasal dari keinginan untuk mempersingkat waktu yang dibutuhkan untuk
mengembangkan model valid yang relatif mudah didebug dan yang
menyediakan output statistik yang dibutuhkan dalam pengambilan
keputusan.
11
Bahasa simulasi pertama yang dihasilkan untuk tujuan itu adalah
GPSS (General Purpose Simulation System) yang dikembangkan oleh
Geoffrey Gordon dan dipublikasikan pertama sekali tahun 1961. Bahasa
ini telah berevolusi dalam beberapa versi, yang pada umumnya
dikembangkan oleh IBM. Pengembangan terpisah versi GPSS, GPSS/H
memungkinkan debugging kode interaktif. Akhir-akhir ini, GPSS tersedia
pada umumnya untuk mainframe dan minikomputer, dan ada 2 versi untuk
mikrokomputer IBM. Elemen GPSS dikenal mempunyai derajat isomorfis
tinggi dengan elemen sistem diskrit.
GPSS diikuti dengan munculnya SIMSCRIPT tahun 1963,
dikembangkan oleh perusahaan RAND. Bahasa ini memiliki kemampuan
untuk permodelan sistem yang lebih kompleks. Untuk melakukan fungsi
ini, elemen bahasa kurang jelas dihubungkan dengan dunia nyata.
Penggunaan himpunan, kejadian, proses dan sumber daya menggambarkan
secara utama pada struktur dan operasi program SIMSCRIPT. Bahasa-
bahasa pionir ini tidak lama diikuti pengembangan bahasa-bahasa simulasi
khusus lainnya dan jumlahnya sudah sangat banyak sampai saat ini.
2.1.3.2 Struktur Bahasa Simulasi
Kiviat mendefinisikan struktur statis bahasa simulasi terdiri dari 3,
yaitu identifikasi objek dan karakteristik objek, relasa antara objek dan
penurunan objek. Struktur dinamisnya didefinisikan sebagai metode
penambahan waktu simulasi.
12
Objek adalah komponen model dan sistem yang menjadi perhatian
utama analisis, misalnya nasabah bank, komponen dalam lini perakitan,
pengguna dalam sistem jaringan, dan lain-lain. Bahasa yang berbeda
memberikan definisi yang berbeda pada objek, misalnya dalam SIMAN
disebut entities, dalam GPSS disebut transactions. Masing-masing objek
dalam sistem yang sama mempunyai karakteristik yang berbeda. Nasabah
bank misalnya, ada yang ingin melakukan penarikan, ada yang ingin
melakukan setoran, dan lain-lain. Pendefinisian karakteristik dalam
bahasa yang berbeda juga berbeda. Karakteristik dalam SIMAN dan
SIMSCRIPT misalnya didefinisikan sebagai attributes sedangkan dalam
GPSS didefinisikan sebagai parameters, dan ada juga yang menggunakan
definisi properties, dan lain-lain.
2.1.3.3 Karakteristik Bahasa Simulasi
Struktur dinamis dan statis bahasa simulasi menyediakan
kebutuhan jelas untuk mengeksekusi mode simulasi. Beberapa sifat
bahasa simulasi lainnya dibutuhkan atau sangat diinginkan untuk
penggunaan efektif analisis simulasi sebagai teknik pembantu
pengambilan keputusan..
� Pengembangan kode model. Kebanyakan bahasa simulasi masih
membutuhkan pemasukan pernyataan kode untuk menciptakan kode
model, tetapi kemampuan grafik mikrokomputer telah memungkinkan
13
input grafik. Cara ini paling sesuai untuk bahasa yang fokus pada
aliran objek melalui elemen atau blok model.
� Debugging model. Begitu mode simulasi sudah dikodekan
menggunakan bahasa simulasi yang dipilih, langkah selanjutnya adalah
debugging kode sehingga model simulasi berjalan ke penghentian
normal. Syntax errors (kesalahan sintaks) adalah permasalahan
pertama dalam proses, dan analisis untuk mendeteksi ini sudah
ditanam dalam bahasa simulasi umumnya. Kesulitan berikutnya yang
dihadapi adalah perbaikan kesalahan selama eksekusi kode. Analisis
bahasa simulasi umumnya tidak sesuai secara total dengan
permasalahan ini. Setelah menemukan kesalahan seperti ini, program
berhenti dan tidak memberikan alasan dalam bentuk logika model
kenapa program berhenti.
� Penurunan variabel acak. Untuk kebanyakan simulasi probabilistik,
kemampuan mengekstrak sampel acak dari distribusi probabilitas
tertentu sangat penting. Bahasa simulasi melakukannya dengan
mudah.
� Pengumpulan statistik. Penjalanan model simulasi tanpa
mengumpulkan data ukuran kinerja sistem sama saja dengan tidak
melakukan pengamatan pada sistem dunia nyata yang sedang
berlangsung. Pengamat ada selama operasi sistem dunia nyata tetapi
tidak mengamati dan mencatat apa yang terjadi. Bahasa simulasi harus
memungkinkan pengguna dengan mudah menspesifikasikan beragam
14
statistik yang dikumpulkan selama eksekusi model. Juga untuk
membantu interpretasi output simulasi, kemampuan penggambaran
grafik dan inferensi statistik diperlukan.
� Desain percobaan. Karena analisis simulasi bersifat deskriptif,
kesuksesan aplikasinya tergantung pada percobaan model. Rancangan
percobaan efektif dan efisien benar-benar meningkatkan kualitas solusi
yang didapatkan dari model simulasi.
� Animasi grafis dan output dinamis. Kemampuan menggunakan bahasa
simulasi pada mikrokomputer memungkinkan kemampuan grafis
mesin ini untuk mengilustrasikan penjalanan mode simulasi atau
outputnya. Ilustrasi objek yang mengalir melalui elemen model
disebut sebagai animasi. Animasi biasanya menggunakan monitor
berwarna dan dengan mudah mengenali simbol objek dan elemen
model. Dengan mengamati aliran seperti itu, analisis dapat
memperhatikan penyebab permasalahan operasi dan dapat
memperbaikinya. Animasi model akan memperlambat eksekusi
model. Oleh karena itu, animasi biasanya hanya dilakukan pada
mikrokomputer cepat dengan memori besar.
2.2. Pengertian Pertumbuhan
Pertumbuhan berasal dari kata tumbuh jadi pengertian pertumbuhan harus
dilihat dari pengertian kata tumbuh. Pengertian kata tumbuh menurut Kamus
Bahasa Indonesia adalah 1) timbul (hidup) dan bertambah besar atau sempurna,
15
2) sedang berkembang (menjadi besar, sempurna, dan sebagainya), 3) timbul;
terbit; terjadi (sesuatu). Jadi pengertian pertumbuhan adalah hal (keadaan)
tumbuh; perkembangan (kemajuan dan sebagainya) yang berarti keadaan/hal
bertambah besar atau sempurna.( pusatbahasa.diknas.go.id, 2009).
Selain itu dalam Al Qur’an kata pertumbuhan juga disinggung dalam surat
Al An’am : 99 yang berbunyi :
uθ èδ uρ ü“Ï% ©!$# tΑt“Ρr& zÏΒ Ï!$ yϑ ¡¡9 $# [ !$tΒ $ oΨô_t�÷z r' sù ϵÎ/ |N$ t7tΡ Èe≅ä. & ó x« $oΨ ô_ t�÷z r' sù çµ÷Ψ ÏΒ
#Z�ÅØyz ßl Ì�øƒ,Υ çµ÷Ψ ÏΒ ${6ym $Y6 Å2#u�tI •Β zÏΒ uρ È≅÷‚ ¨Ζ9$# ÏΒ $yγÏè ù=sÛ ×β#uθ ÷ΖÏ% ×πuŠ ÏΡ#yŠ ;M≈̈Ψ y_uρ ôÏiΒ
5>$ oΨ ôã r& tβθ çG ÷ƒ̈“9$#uρ tβ$̈Β ”�9 $#uρ $ YγÎ6 oKô± ãΒ u�ö�xîuρ >µ Î7≈ t± tFãΒ 3 (#ÿρã�ÝàΡ $# 4’n<Î) ÿ ÍνÌ�yϑrO !# sŒÎ) t�yϑ øOr&
ÿ ϵÏè ÷Ζtƒ uρ 4 ¨βÎ) ’ Îû öΝä3Ï9≡ sŒ ;M≈ tƒUψ 5Θ öθ s)Ïj9 tβθ ãΖÏΒ ÷σ ム∩∪
“Dan Dialah yang menurunkan air hujan dari langit, lalu Kami tumbuhkan
dengan air itu segala macam tumbuh-tumbuhan, maka Kami keluarkan dari
tumbuh-tumbuhan itu tanaman yang menghijau, Kami keluarkan dari tanaman
yang menghijau itu biji-bijian yang banyak, dan dari mayang kurma mengurai
tangkai-tangkai yang menjulai dan kebun-kebun anggur dan (Kami keluarkan
pula) zaitun dan delima yang serupa dan yang tidak serupa. Perhatikanlah
buahnya diwaktu pohonnya berbuah dan (perharikan pula) kematangannya.
Sesungguhnya pada yang demikian itu terdapat tanda-tanda (kekuasaan Allah)
bagi orang-orang yang beriman.” ( TQS. Al An’am : 99) .
16
Sedangkan tafsir dari Departemen Agama yaitu sesudah itu Allah SWT.
menjelaskan kejadian hal-hal yang menjadi kebutuhan manusia sehari-hari, agar
mereka secara mudah dapat memahami kekuasaan, kebijaksanaan, serta
pengetahuan Allah SWT yang menjelaskan bahwa Allah lah yang menurunkan
hujan dari langit, yang menyebabkan tumbuhnya berbagai jenis tumbuh-tumbuhan
yang terdiri dari berbagai ragam bentuk, macam dan rasa. seperti firman Allah:
اْ�ُ�ُآِ��ِ ��ٍء َواِ�ٍ� َوُ�َ���ُ� َ�ْ�َ�َ�� َ�َ�� َ�ْ�ٍَ�ِ ��َ ْ!ُ Artinya:
”Disirami dengan air yang sama, Kami melebihkan sebagian tanam-tanaman itu
atas sebagian yang lain tentang rasanya. “(TQ.S 13 Ar Ra'd: 4).
Disebutkan hujan turun dari langit adalah menurut kebiasaan mereka.
"Sama" atau langit digunakan untuk apa saja yang berada di atas: sedang yang
dimaksud dengan sama' dalam ayat ini ialah "sahab" yang berarti awan.
Allah menjelaskan bahwa air itu sebagai sebab bagi tumbuhnya segala
macam tumbuh-tumbuhan yang beraneka ragam bentuk jenis dan rasanya supaya
manusia dapat mengetahui betapa kekuasaan Allah mengatur kehidupan tumbuh-
tumbuhan itu. Manusia yang suka memperhatikan siklus peredaran air akan dapat
mengetahui betapa tingginya hukum-hukum Allah. Hukum Nya berlaku secara
tetap dan berlangsung terus tanpa henti-hentinya, sampai tiba saat yang telah
ditentukan.
Kemudian disebutkan pula perincian dari tumbuh-tumbuhan yang
beraneka ragam itu; di antaranya ialah rerumputan yang tumbuh berumpun-
rumpun sehingga kelihatan menghijau. Tumbuh-tumbuhan jenis ini mengeluarkan
17
buah yang berbentuk butiran-butiran kecil yang terhimpun dalam sebuah tangkai
seperti gandum, syair dan padi. Jenis yang lain dari tumbuh-tumbuhan itu ialah
pohon palem yang mengeluarkan buah yang terhimpun dalam sebuah tandan yang
menjulai rendah sehingga mudah dipetik. Jenis yang lain lagi dan jenis tumbuh-
tumbuhan yang beraneka ragam itu ialah anggur, zaitun, dan delima. Ketika jenis
buah-buahan ini disebutkan secara beruntun, karena masing-masing ada yang
mempunyai persamaan dan perbedaan, sifat, bentuk dan rasanya, sehingga ada
yang berwarna kehitam-hitaman dan ada pula yang berwarna kehijau-hijauan; ada
yang berdaun agak lebar, dan ada pula yang berdaun agak kecil; begitu pula ada
yang rasanya manis dan ada yang asam. Kesemuanya itu adalah untuk
menunjukkan kekuasaan Allah yang menciptakan tumbuh-tumbuhan yang
beraneka ragam itu. Allah SWT. memerintahkan kepada manusia agar
memperhatikan tumbuh tumbuhan yang beraneka ragam itu pada saat berbuah
bagaimana buah-buahan itu tersembul dan batang atau rantingnya, kemudian
merekah sebagai bunga, setelah nampak buahnya, akhirnya menjadi buah yang
sempurna (matang). Pada akhir ayat ini Allah SWT. menegaskan bahwa dalam
proses kejadian pembuahan itu terdapat tanda-tanda kekuasaan Allah yang sangat
teliti pengurusannya serta tinggi ilmu Nya. Tanda-tanda kekuasaan Allah itu
menjadi bukti bagi orang yang beriman, dari ayat-ayat ini dapat dipahami bahwa
perhatian manusia pada segala macam tumbuh-tumbuhan hanya terbatas pada
keadaan lahir sebagai bukti adanya kekuasaan Allah, tidak sampai mengungkap
rahasia dari kekuasaan Allah terhadap penciptaan tumbuh-tumbuhan itu. Hal ini
18
dapat diketahui dari kenyataan, bahwa kekuasaan Nya adalah menjadi bukti wujud
Nya bagi orang yang beriman.
2.3 Tanaman Pohon Norfolk
uÚ ö‘ F{$#uρ $ yγ≈tΡ ÷Šy‰ tΒ $uΖ øŠ s) ø9 r&uρ $pκ�Ïù zÅ›≡ uρu‘ $uΖ ÷Fu;/Ρ r& uρ $ pκ�Ïù ÏΒ Èe≅ ä. £l÷ρy— 8kŠ Îγ t/ ∩∠∪
“Dan Kami hamparkan bumi itu dan Kami letakkan padanya gunung-gunung
yang kokoh dan Kami tumbuhkan padanya segala macam tanaman yang indah
dipandang mata”.(TQS. Qaaf : 7)
Salah satu ciptaan Allah adalah tanaman. Tanaman merupakan makhluk
yang indah dipandang mata. Cemara merupakan tanaman yang indah dipandang
mata. Pada umumnya cemara merupakan tanaman daerah tinggi, tetapi ada juga
jenis cemara yang masih bisa hidup pada cuaca panas di dataran rendah, antara
lain jenis cemara kipas, cemara gembel, cemara lilin, pinus dan cemara norfolk.
Jenis-jenis lainnya tidak akan tumbuh baik di lokasi tersebut.
Kecepatan tumbuh pohon cemara relatif lambat dan sukar beradaptasi de-
ngan lingkungan, sehingga kita harus mengawali penanaman sejak bibit setinggi 1
– 2 meter saja. Jika menghendaki jajaran yang rapat dari pohon cemara, perlu
ditanam rapat pada saat bibit ditanam untuk selanjutnya dijarangkan setelah dia
tumbuh merapat.
Adakalanya para desainer taman membuat kiat dengan cara menanamnya
bersamaan dengan proses awal pembangunan fondasi rumah, supaya dapat
19
menghasilkan pohon yang ideal ukurannya bersamaan dengan
selesainya pembangunan rumah tersebut.
Tidak mudah mencari bibit cemara terutama jenis Cupressus, Malaleuca
dan Podocarpus karena jarang digunakan sehingga tidak banyak kebun bibit yang
memperbanyak bibitnya. Tetapi justru karena langka tersebut, maka kehadiran
cemara pada sebuah taman menjadi karakter unik yang menambah nilai sebuah
karya taman. (4.bp.blogspot.com, 2009)
Salah satu jenis cemara yang indah adalah Cemara Norfolk (Araucaria
heteropylla (Salisb.) Franco.) Cemara Norfolk atau dalam bahasa Latin dikenal
dengan nama Araucaria heteropylla (Salisb.) Franco., termasuk famili
Araucariaceae; berasal dari kepulauan Norfolk, New Zealand. Di Indonesia
tanaman ini dikenal dengan nama Cemara Norfolk.
Jenis-jenis tanaman Araucaria termasuk spesies Araucaria heterophylla
merupakan tanaman yang sering dipergunakan untuk keperluan tanaman hias.
Jenis-jenis tanaman Araucaria juga menghasilkan resin. Tanaman yang
menghasilkan resin dapat dipergunakan untuk keperluhan bahan-bahan kosmetika.
Kayu-kayu tua dapat dimanfaatkan sebagai kayu bakar, tetapi jenis ini sangat
cepat terbakar sehingga bara api akan menjadi lebih cepat habis
Cemara Norfolk termasuk jenis tanaman pohon besar, ketinggiannya dapat
mencapai 60 meter. Pada tanaman yang muda, susunan cabang-cabang dan
ranting-rantingnya teratur rapi. Cabang-cabang dan ranting-ranting menyerupai
daun, berbentuk seperti jarum-jarum yang tumpul. Bunganya memiliki benang
20
sari banyak. Buahnya berbentuk runjung, buah yang sudah besar dapat
berdiameter 10-13 cm. Sedangkan gambar pohonnya dapat dilihat dibawah ini:
Gambar 2.1 Pohon Cemara Norfolk
Perbanyakan tanaman yang biasa dilakukan ialah dengan cara
pencangkokan batangnya. Batang yang dicangkok harus dipilih yang tidak terlalu
muda atau terlalu muda. Beberapa lama setelah dilakukan pencangkokan biasanya
di sekitar bekas sayatan akan keluar akar-akarnya. Bila jumlah akar-akar
cangkokan ini sudah cukup banyak dan diperkirakan sudah dapat hidup untuk
ditanam, bibit cangkokan ini sudah dapat dipotong dan ditanam di tempat yang
telah disiapkan untuk penanaman
Cemara Norfolk dapat hidup dengan baik di tempat-tempat yang terbuka
dan kena sinar matahari secara langsung terutama di daerah-daerah dataran
21
rendah. Perawatan tanaman juga tidak terlalu sulit. Untuk mendapatkan tanaman
yang tumbuh baik dan sehat, media tanam atau lahan yang akan ditanami harus
subur, gembur dan drainase diatur dengan baik. Pada permulaan tumbuhnya,
penyiraman dan pemupukan perlu dilakukan secara teratur sesuai dengan kondisi
dan kebutuhan dari tanaman tersebut (boungenville.blogspot.com, 2009)
2.4 Lindenmayer System (L-System)
L-sistem atau sistem Lindenmayer adalah system penulisan ulang pararel,
yaitu jenis dari grammar (satu set aturan dan simbol) resmi paling terkenal yang
digunakan untuk permodelan proses pertumbuhan tanaman, tapi juga mampu
untuk modelkan morfologi dari berbagai organisme. L-sistem juga dapat
memanfaatkan tingkat kemiripan terhadap dirinya sendiri (self-similarity) berupa
fractal seperti system fungsi interasi(iterated fungsi system). L-Systems,
memungkinkan kompleksitas alam dapat didefinisikan dengan beberapa parameter
dan aturan. Hal ini disebabkan L-Systems memanfaatkan tingkat kemiripan
terhadap dirinya sendiri (self-similarity) yang sangat besar. L-System ini
bertujuan untuk memodelkan bentuk-bentuk pohon berupa dahan, dan
mendapatkan pola dari aturan-aturan yang membentuk jenis pohon seperti pohon
cemara. Untuk menghasilkan suatu bentuk dengan metode ini harus dilakukan dua
langkah, yaitu aplikasi dari grammar untuk menghasilkan string berisi struktur
topologi dari pohon dan interprestasi dari string tersebut. Untuk langkah pertama,
dilakukan dengan metode rekursif, dan untuk langkah kedua, dilakukan dengan
metode iteratif.
22
L-sistem diperkenalkan dan dikembangkan pada tahun 1968 oleh ahli teori
biologi dan ahli botani Hungaria dari Universitas Utrecht yaitu Aristid
Lindenmayer (1925-1989). Sebagai seorang ahli biologi, Lindenmayer berkerja
dengan ragi dan jamur berserat dan mempelajari pola pertumbuhan dari berbagai
jenis ganggang, seperti bakteri biru /hijau Anabaena Catenula. Awalnya L-sistem
direncanakan untuk menyediakan sebuah uraian formal tentang pertumbuhan dari
organisma multiseluler yang sederhana atau tanaman tingkat rendah dan untuk
menggambarkan hubungan kedekatan di antara tanaman sel. Namun pada
perkembangan selanjutnya, sistem ini diperluas untuk mendeskripsikan tanaman
tingkat tinggi yang lebih detail dan struktur percabangan yang kompleks.
Framework dari L-System terdiri dari initial structure (inisialisasi
struktur) dan rewriting rules (aturan penulisan ulang). Inti pengembangannya
adalah penggantian secara paralel menggunakan rewriting rules yang ada.
Dimulai dari initial structure, L-System menggantikan setiap bagian dari struktur
yang ada dengan menerapkan rule secara sekuensial.
Smith menggunakan L-System sebagai metoda untuk menyusun grafika
komputer dalam menghasilkan Morfologi tanaman. Grafika Komputer secara
lebih mendalam oleh Prusinkeiwiez mengaplikasikan metoda L-System untuk
menghasilkan visualisasi realistik terhadap tanaman perdu, bunga yang
ditunjukkan dalam bukunya ‘Algortimic Beauty of Plants’. L-System merupakan
aturan formal yang disusun sebagai gramatika yang dikarakteristikan dalam
bentuk axioma, dan simbol-simbol yang digunakan sebagai representasi
pertumbuhan komponen tanaman yang secara paralel terjadi pergantian pada
23
masing-masing tahap. Disini perbedaan penting gramatika Chomsky dan L-
System dalam hal produksi. Di gramatika Chomsky produksi dipakai sebagai
urutan ( sequentially ) sedangkan pada L-System produksi dipakai sebagai paralel
dan simultan untuk mengganti komponen. Ini akibat dari refleksi dari motivasi
biologi, dimana produksi adalah pertumbuhan, deferensiasi sel dan morfogenesis.
Gramatikal pada L-System terdiri dari 3 bagian ( ∑, h, w ), untuk ∑ adalah
anggota dari simbol, h aturan penulisan berulang dimana setiap simbol akan
diganti dengan string dari simbol, w axiom adalah mulai awal dari pertumbuhan.
Gambar 2.2 Hubungan antara bahasa chomsky dengan bahasa L-Systems, untuk
simbol OL dan IL adalah penulisan dari bahasa context free dan
contextsensitive L-System.
Sumber : The Algorithmic Beauty of Plants
Komponen dari sebuah L- sistem adalah sebagai berikut:
24
Abjad: Abjad adalah separangkat simbol resmi terbatas V, biasanya
menggunakan huruf a, b, c, dsb., atau mungkin menggunakan beberapa karakter
lain.
Axiom : Axiom ( disebut juga initiator) adalah sebuah string untuk symbol dari
V. Seperangkat string (disebut juga kata-kata) dari V ditunjukkan . Diberikan
, beberapa contoh dari kata aabca, caab, b, bbc, dsb. Panjang |w|
dari huruf w adalah symbol angka dalam kata
Produksi : Sebuah produksi (atau aturan penulisan ulang) adalah sebuah
pemetaan dari sebuah symbol ke sebuah kata . Ini akan
dilabelkan dan tertulis dengan notasi:
Kita membolehkan kemungkinan pemetaan produksi dari kata kosong,
ditunjukkan , atau untuk a itu sendiri. jika sebuah simbol tidak
mempunyai eksplisit memberikan produksi, kami mengasumsikan ini dipetakan
untuk diri sendiri secara baku. dalam kasus ini, a adalah sebuah konstanta dari L
system.
2.4.1 Bahasa Formal
Menurut Chomsky, bahasa adalah generatif melalui pembentukan.
Pembentukan bahasa dilakukan melalui aturan tertentu yang dikenal sebagai
gramatika. Dalam hal ini, Chomsky memperkenalkan gramatika status hingga
dan gramatika struktur frasa (Chomsky,1972), terutama gramatika struktur frasa.
25
Dimulai dari kalimat, gramatika struktur frasa ini beranggapan bahwa kalimat
terdiri atas kata saja, frasa saja, atau kata dan frasa. Frasa terdiri atas kata saja,
frasa saja, atau kata dan frasa. Untuk itu diperlukan suatu titik awal berupa simbol
kalimat. Aturan ini dikenal sebagai aturan produksi. Aturan produksi ini
menentukan bentuk bahasa yang kelak dibentuk.
Kalau simbol kalimat itu adalah Σ, misalnya, maka sebagai contoh, suatu
aturan produksi yang terdiri atas tiga aturan dapat berbentuk seperti berikut
(1) Σ � [Frasa Nomina] + [Frasa Verba]
(2) Frasa Nomina � kucing
(3) Frasa Verba � lari
Lambang � memiliki arti bahwa bentuk di sebelah kirinya dapat diganti dengan
bentuk di sebelah kanannya menurut nomor aturan yang dipilih.
Pembentukan kalimat dari aturan produksi ini dikenal sebagai derivasi (
Southworth,1974 ). Derivasi dimulai dari simbol kalimat dengan
menggantikannya menurut aturan (1). Selanjutnya kita bebas memilih aturan
mana yang akan digunakan kemudian. Jika dikehendaki, derivsi ini dapat dilukis
dalam bentuk pohon dan dikenal sebagai pohon sintaks. Sebagai contoh, kalau
kita menggunakan aturan di atas, maka derivasinya dapat menjadi seperti berikut
Σ [Frasa Nomina] + [Frasa Verba]
Kucing + [Frasa Verba]
Kucing lari
Gramatika struktur frasa dari Chomsky ini dapat diubah menjadi struktur
yang lebih umum. Isitilah frasa digantikan dengan istilah nonterminal, artinya,
26
belum terminal sehingga masih dapat diganti lagi dengan bentuk lain. Simbol
nonterminal biasanya berbentuk huruf kapital. Istilah kata digantikan dengan
istilah terminal, artinya, tidak bisa lagi diganti dengan bentuk lain. Simbol
terminal biasanya berbentuk huruf nonkapital. Ada kalanya dikenal juga istilah
nihil yakni tidak ada apa-apa dan biasanya dinyatakan dengan simbol Λ. Sebagai
contoh, kita menyusun aturan produksi seperti berikut
(1) S � AB
(2) A � Aa
(3) A � a
(4) B � b
Dari aturan produksi semacam ini dapat dihasilkan berbagai macam
derivasi. Jika dikehendaki, derivasi ini dapat dilukis dalam bentuk pohon yakni
pohon derivasi. Salah satu contoh derivasi adalah seperti berikut
S AB (1)
Aab (2)
aaAB (2)
aaaB (3)
aaab (4)
Penggantian nonterminal pada saat derivasi ada kalanya berhadapan
dengan pilihan. Sebagai contoh, ketika berhadapan dengan bentuk aaAB di atas,
mana yang harus diganti terlebih dahulu, A atau B. A terletak di sebelah kiri
sedangkan B terletak di sebelah kanan. Pemilihan penggantian seperti ini dikenal
sebagai parsing. Pembacaan selalu dilakukan dari sebelah kiri atau left, L. Parsing
27
kiri mendahulukan penggantian nonterminal di paling kiri, LL, sedangkan parsing
kanan mendahulukan penggantian nonterminal di paling kanan, LR dengan R
sebagai right atau kanan.
Aturan produksi dapat dibatasi dengan berbagai batasan sehingga lahirlah
berbagai jenis gramatika yang menghasilkan berbagai jenis bahasa. Bahasa formal
mengenal beberapa jenis gramatika dan bahasa. Yang paling terbatas adalah
gramatika dan bahasa reguler (regular, R). Yang agak berkurang keterbatasannya
adalah gramatika dan bahasa bebas konteks (context free, CF). R merupakan
bagian dari CF. Berikutnya adalah gramatika dan bahasa peka konteks (context
sensitive, CS). R dan CF merupakan bagian dari CS. Dan yang paling bebas
adalah gramatika dan bahasa tak berbatas (unrestricted atau recursively
enumerable) atau struktur frasa ( Révés, György,1985 ) yakni bahasa manusia.
Semua bahasa lainnya merupakan bagian dari bahasa ini.
Perbedaan pada R, CF, dan CS terletak pada batasan aturan produksi. Pada
gramatika reguler, bentuk sebelah kiri dibatasi pada hanya satu nonterminal.
Bentuk sebelah kanan juga dibatasi pada satu terminal atau satu terminal dan satu
nonterminal. Hanya ada beberapa kemungkinan aturan produksi, misalnya, A �
Λ, A � a, atau A � Ba yang dikenal sebagai gramatika reguler kiri karena
nonterminal B pada Ba terletak di sebelah kiri. Gramatika reguler kanan
menggunakan aturan A � aB dengan nonterminal B di sebelah kanan.
Pada gramatika bebas konteks, CF, bentuk sebelah kiri juga dibatasi pada
hanya satu nonterimal. Bentuk sebelah kanan berisikan terminal dan atau
28
nonterminal atau nihil. Kalau terminal dan atau nonterminal atau nihil diberikan
simbol huruf Yunani, misalnya, α, maka aturan produksi menjadi A � α.
Gramatika peka konteks, CS, mirip dengan gramatika bebas konteks, CF.
Perbedaannya adalah masuknya konteks pada CS. Kalau konteks itu berbentuk α
dan β, misalnya, maka aturan produksi menjadi αAβ � αγβ. Tampak bahwa
bentuk sebelah kiri dan kanan harus memiliki konteks yang sama. Mereka peka
terhadap konteks.
Gramatika tak berbatas adalah gramatika yang berasal dari Chomsky dan
merupakan gramatika tertinggi yang dapat menerima α secara umum di sebelah
kirinya serta menghasilkan β secara umum di sebelah kanannya.
2.4.2 Penulisan Berulang ( Rewriting Systems )
Konsep utama dari L-Systems adalah penulisan berulang . Penulisan
berulang adalah teknik untuk mendifinisikan objek secara kompleks dengan cara
mengganti bagian dari objek dengan cara rewriting rule atau productions (
Lindenmayer, A dan Prusinkeiwiez, 1990 ) . Contoh dari objek grafika yang
didefinisikan secara aturan rewriting adalah snowflake curve, pada tahun 1905
oleh von Koch (Lindenmayer, A dan Prusinkeiwiez, 1990 ).
29
Gambar 2.3 Konstruksi dari snowflake curve
Sumber :The Algorithmic Beauty of Plant, Aristid Lindenmayer.
Satu terdapat dua bagian pembentukan yaitu Initiator dan generator. Pada
pembangunan garis terdapat ∂ = 60° adalah pergerakkan arah dan d adalah
panjang kecepatan. Maka bila terdapat aksioma F=F - - F - - F sebagai initiator
dan F �F + F - - F + F sebagai generator, maka dalam setiap bagian dari initiator
akan di ganti dengan generator sampai panjang kecepatan.
2.4.3 Deterministic dan Context-Free L-systems (DOL)
Pada penyajian deterministic dan context free L-Systems adalah bagian
dari yang sederhana pada L-Systems, ini adalah awal dari diskusi contoh dari
konsep L-Systems. Bila terdapat string yang dibangun oleh dua simbol a dan b,
dan setiap simbol akan mengasosiasikan sebagai aturan rewriting. Jika aturan a -
>ab berarti bahwa huruf a akan di ganti dengan string ab, dan untuk aturan a->b
berarti huruf a juga akan diganti dengan huruf b, aturan produksi tersebut adalah
satu kali step rewriting.
30
Gambar 2.4 Contoh dari aturan produksi dari DOL Systems
2.4.4 Context Sensitive L-System.
Pada aturan produksi di OL Systems adalah context free, dimana akan
memproduksi context di predessor, sedangkan pengaruh lingkungan terhadap
pertumbuhan bagian tanaman contoh adalah aliran nutrisi atau hormon akan
disimulasikan dengan model Context Sensitive L-Systems ( Lindenmayer, A dan
Prusinkeiwiez, 1990 ). Terdapat dua aturan produksi yaitu 2L-System digunakan
untuk produksi al < a > ar -> X, yaitu huruf a dapat memproduksi huruf X jika dan
hanya jika kondisi a adalah dintara al dan ar , selain itu 1L-Systems yaitu hanya
mempunyai satu produksi untuk satu context, al < a -> X atau a > ar -> X, untuk
contoh L-System adalah misalkan terdapat aturan sebagai berikut :
31
Maka akan terdapat urutan produksi sebagai berikut :
2.4.5 Fungsi Pertumbuhan Tanaman
Pada tanaman yang tumbuh tedapat perubahan secara kualitatif atau
mengikuti pertumbuhan tanaman per bagian-bagiannya, proses tumbuh yang
terjadi meliputi pertumbuhan diferensiasi sel dan morfogenesis yaitu proses hidup
yang menyangkut interaksi pertumbuhan dan diferensiasi oleh beberapa sel yang
memacu terbentuknya organ. Sedang deferensiasi adalah suatu situasi dimana sel-
sel meristematik berkembang menjadi dua atau lebih macam sel / jaringan / organ
tanaman yang secara kualitatif berbeda satu dengan lainnya. Dimana pertumbuhan
tanaman ditunjukkan oleh pertambahan ukuran dan berat kering yang tidak dapat
dibalik, pertambahan ukuran sel mempunyai batas yang diakibatkan hubungan
antara volume dan luas permukaan. Pertambahan protoplasma berlangsung
melalui suatu rentetan peristiwa yang meliputi antara lain proses fotosintesis,
proses absorbsi, proses translokasi, proses metabolisme, proses respirasi.
32
Pergandaan sel-sel dalam pertumbuhan menunjukkan jumlah sel pada
waktu sesaat t sebanding dengan jumlah sel y yang ada pada waktu tersebut ini
dapat dinyatakan dalam notasi matematika sebagai
bydt
dy = (1)
dimana b adalah tetapan kesebandingan. Sedangkan solusi dari persamaan
deferensial adalah fungsi eksponential
)( 0)( ttbaety −= (2)
maka pembelahan sel sampai keseluruhan populasi organisme bersel banyak
dikatakan tumbuh secara eksponensial. Rumus 2 dapat juga ditulis dalam bentuk :
bdt
dy
y=1
(3)
yaitu laju pertumbuhan dengan populasi konstan.
Jika solusi (2) ditampilkan dalam bentuk grafik, maka kita dapatkan dua
grafik berikut :
(a) grafik untuk b>0 (b) grafik untuk b<0
Gambar 2.5 Grafik pertumbuhan eksponensial
33
Dari grafik diatas untuk b>0 diperoleh ∞=∞→
)(tbLimt
. Maka didapat
bahwa jumlah pertumbuhan berkembang sampai pada batas tak terhingga,
sedangkan untuk b<0 diperoleh 0)( =∞→
tbLimt
suatu pertumbuhan akan habis jika
laju pertumbuhannya negatif. Model pertumbuhan eksponensial menurut dengan
mengambil logaritma pada kedua ruas persamaan (2) didapat :
btbtay −−= 0lnln
yang mana pada sumbu ln y dan t, grafik ini berupa garis lurus, kemudian
dilakukan proses linierisasi menjadi bentuk model pertumbuhan logistik dengan
mengasumsikan bahwa pertumbuhan pada masa tertentu mendekati keseimbangan
sehingga grafiknya akan mendekati konstan ( zero growth ), yang dapat
diturunkan bahwa :
a) Laju pertumbuhan dt
dy
y
1 pada saat y=0 adalah a ( dimana a konstan )
b) Laju pertumbuhan ini menurun secara linier dan bernilai 0 saat y=k
Gambar 2.6 Grafik Pertumbuhan Logistik
34
Dari asumsi diatas dapat diturunkan suatu model pertumbuhan sebagai
berikut :
yk
aa
dt
dy
y−=1
atau
)1(k
yay
dt
dy −=
jika ditambahkan syarat awal dari pertumbuhan y(0) = y0, maka diperoleh solusi
khusus persamaan diferensial diatas sebagai berikut :
11
)(
0
+
−
=−ate
y
k
kty (6)
untuk a>0 berlaku ktyLimt
=∞→
)( sehingga disimpulkan olek grafik dari (6)
mempunyai asimtot mendatar y(t)=k, yang dapat dilihat pada gambar
Gambar 2.7 Grafik Sigmoid
2.4.6 Implementasi Grafika dari string
Pada proses L-System menggambarkan proses struktur dalam
merepresentasikan pertumbuhan dari komponen tanaman. Dasar implementasi
35
dalam bentuk grafika komputer dijelaskan oleh Prusinsiewiez dan Jim Hanan
dalam bentuk grafika tanaman yang dikatakan sebagai Grafika Turtle. Dimana
Grafika Turtle dapat bergerak pada berbagai arah, kedepan, kebelakang, kearah
kanan maupun kearah kiri. Masing-masing pergerakan arah pada intinya
digunakan dalam 4 simbol utama yaitu F, f, +, -. Dimana simbol F menyatakan
sebuah panjang bagian tanaman yang tumbuh bergerak pada berbagai arah, sedang
untuk simbol f adalah bagian tanaman yang tidak tumbuh dan bergerak pada
berbagai arah . Arah pergerakkan dinotasikan simbol + menyatakan arah putaran
kebalikan jarum jam, sedangkan – menyatakan arah putaran searah jarum jam.
Gerakan ditransformasikan dari sistem koordinat kartesius dengan koordinat
(x,y,α) dimana x dan y adalah koordinat titik dan α menyatakan inisiasi sudut dari
perputaran awal bersumbu dari koordinat y. Kemudian gerakan lain dinyatakan
dalam sudut putar dengan nilai penambahan nilai kontanta ∂ dari inisialisasi sudut
awal α dengan simbol +∂ demikian sebaliknya nilai pengurangan dengan simbol -
∂. Dapat dicontohkan jika terdapat produksi FFF-FF-F-F+F+FF-F-FFF dengan
percepatan panjang 1 dan sudut putar ∂ = 90° maka dapat dilihat pada gambar
Gambar 2.8 Implementasi String Terhadap Grafika
36
Dari model gerakan komponen tanaman tersebut dapat ditabelkan sebagai
berikut.
Symbol Arti
F geser kedepan merupakan sebuah tahap dari panjang d. Status
perubahan kura-kura ke ( x ’,y ’, α ), dimana x ’ =x + dcos α dan y’ =y
+ dsinα . Sebuah ruas baris di antara titik koordinat ( x,y ) dan (x’,y’)
yang menggambar baris.
f geser kedepan merupakan tahap dari panjang d tanpa menggambar
baris.
+ Putar ke kiri dengan sudut d . Keadaan berikutnya dari kura-kura
adalah( x,y, a + d ). Perputaran posisi sudut berlawanan arah jarum jam
- Putar ke kiri dengan sudut d . Keadaan berikutnya dari kura-kura
adalah( x,y, a + d ). Perputaran posisi sudut searah jarum jam
Tabel 2.1 Simbol dan arti grafika 2D
2.4.7 Model Grafika Bentuk 3 Dimensi
Untuk bentuk 3 Dimensi gerakan grafika turtle bergerak dengan arah x,y
dan z, arah sudut tersusun atas 3 arah bagian yang bertumpuh pada sumbuh x,y
dan z, sedangkan konstanta dari ∂x, ∂y dan ∂z dengan cara penambahan dan
pengurangan untuk inisialisasi gerakan, jadi penggambaran gerakan dinyatakan
dalam sistem koordinat dinotasikan menggunakan 6 notasi yaitu (x,y,z, αx, αy,
αz). Koordinat baru x,y dan z dari gerakan dihitung dari perkalian koordinat dari
gerakan saat itu dengan rotasi matrik Rx, Ry dan Rz.
37
[ x’ y’ z’ ] = [ x y z ] R
Gambar 2.9 Matriks Model 3D
Symbol Arti
+ Putar berlawanan searah jarum jam ke sumbu z positif dengan
sudut d z , mempergunakan rotasi matriks r z ( d z ).
- Putar searah jarum jam ke sumbu z positif dengan sudut d z ,
mempergunakan matriks rotasi r z ( - d z ).
& Putar berlawanan arah jarum jam ke sumbu y positif dengan sudut
d y , mempergunakan matriks rotasi r y ( d y ).
^ Putar searah jarum jam ke sumbu y positif dengan sudut d y ,
mempergunakan matriks rotasi r y (- d
\ Putar berlawanan arah jarum jam ke sumbu-x positif dengan sudut
d x , mempergunakan matriks rotasi r x ( d x ).
/ Putar searah jarum jam ke sumbu-x positif dengan sudut d x ,
38
mempergunakan matriks rotasi r x (- d x ).
| Putar, mempergunakan matriks rotasi r y (180).
Tabel 2.2 Simbol dan arti grafika 3D
2.5. Pemrograman Delphi
2.5.1 Sejarah
Delphi adalah sebuah bahasa pemrograman dan lingkungan
pengembangan perangkat lunak. Produk ini dikembangkan oleh CodeGear sebagai
divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut
sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula sebagai
object pascal (pascal dengan ekstensi pemrograman berorientasi objek
(PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun
saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan
Microsoft .NET framework. Dengan menggunakan Free Pascal yang merupakan
proyek opensource, bahasa ini dapat pula digunakan untuk membuat program
yang berjalan di sistem operasi Mac OS X dan Windows CE.(id.wikipedia.org,
2009)
Selain itu, Borland Delphi merupakan suatu bahasa pemograman yang
memberikan berbagai fasilitas pembuatan aplikasi visual. Keunggulan bahasa
pemograman ini terletak pada produktivitas, kualitas, pengembangan perangkat
lunak, kecepatan kompilasi, pola desain yang menarik serta diperkuat dengan
pemrogramannya yang struktur. Keunggulan lain dari delpi adalah dapat
39
digunakan untuk merancang program aplikasi yang memiliki tampilan seperti
aplikasi lain yang berbasis windows.(madcoms, 2006:1)
2.5.2. Lingkungan pengembangan
Umumnya Delphi lebih banyak digunakan untuk pengembangan aplikasi
desktop dan enterprise berbasis database, tapi sebagai perangkat pengembangan
yang bersifat general-purpose ia juga mampu dan digunakan dalam berbagai jenis
proyek pengembangan software. Ia juga yang dikenal sebagai salah satu yang
membawa istilah RAD tool, kepanjangan dari Rapid Application Development,
saat dirilis tahun 1995 untuk windows 16-bit. Delphi 2, dirilis setahun kemudian,
mendukung lingkungan windows 32-bit, dan versi c++, C++Builder, dirilis
beberapa tahun kemudian. Pada tahun 2001 sebuah versi linux yang dikenal
sebagai Kylix tersedia. Dengan satu rilis baru setiap tahunnya, pada tahun 2002
dukungan untuk Linux (melalui Kylix dan CLX component library) ditambahkan
dan tahun 2003 .NET mulai didukung dengan munculnya Delphi.Net (Delphi 8).
Chief Architect yang membidani Delphi, dan pendahulunya Turbo Pascal,
adalah Anders Hejlsberg sampai kemudian ia pindah ke Microsoft tahun 1996 di
mana ia sebagai chief designer C# dan termasuk orang kunci dalam perancangan
Microsoft .Net Framework. Dukungan penuh untuk .Net ditambahkan pada
Delphi 8 (dirilis pada bulan Desember 2003) dengan penampilan user interface
(look and feel) mirip dengan Microsoft Visual Studio .NET.
Delphi 2005 (nama lain dari Delphi 9) mendukung code generation baik
untuk win32 maupun .NET, dan seperti yang telah dikenal, fitur-fitur manipulasi
40
data secara live dari database secara design-time. Ia juga membawa banyak
pembaruan pada IDE secara signifikan.
Para penganjur delphi mengklaim dengan bahasa pemrograman Delphi,
IDE dan component library (VCL/CLX) yang disediakan oleh vendor tunggal
memungkinkan satu paket yang lebih konsisten dan mudah dikenali.
Produk delphi ini didistribusikan dalam beberapa rancangan: Personal,
Professional, Enterprise (sebelumnya Client/Server) dan Architect.
2.5.3 Pro and kontra
Delphi membawa keuntungan-keuntungan berikut:
• Komunitas pengguna yang besar pada Usenet maupun web [2]
• Dapat mengkompilasi menjadi single executable, memudahkan
distribusi dan meminimalisir masalah yang terkait dengan versioning
• Banyaknya dukungan dari pihak ketiga terhadap VCL (biasanya
tersedia berikut source codenya) ataupun tools pendukung lainnya
(dokumentasi, tool debugging)
• Optimasi kompiler yang cukup cepat
• Mendukung multiple platform dari source code yang sama
Berikut ini kerugiannya:
• Partial single vendor lock-in (Borland dapat menetapkan standar
bahasa, kompatibilitas yang harus mengikutinya)
• Terbatasnya kamampuan portabilitas antar-platform OS (sebelum ada
kylix)
41
• Akses pada platform dan library pihak ketiga membutuhkan file-file
header yang diterjemahkan ke dalam bahasa pascal
• Dokumentasi atas platform dan teknik-teknik yang menyertainya sulit
ditemukan dalam bahasa pascal (contoh akses COM dan Win32)
(id.wikipedia.org, 2009)
42
BAB III
DESAIN DAN PERANCANGAN SISTEM
3.1 Bentuk Desain dan Perancangan Sistem
Bentuk penelitian ini adalah desain dan perancangan pembuatan simulasi
pertumbuhan tanaman menggunakan L-system.
3.2 Tahap-Tahap Pembuatan Program
Penelitian yang dilakukan untuk mendesain dan merancang pembuatan
simulasi pertumbuhan tanaman dengan metode L-system menggunakan bahasa
pemrograman delphi 7 yang diperoleh dari pengamatan data-data yang ada.
Tahap-tahap yang dilakukan untuk penelitian guna perancangan (pendesainan
sistem) tersebut secara terstruktur adalah:
1. Observasi
Melakukan pengamatan terhadap obyek yang diteliti, yaitu
dengan cara mencari tanaman yang akan disimulasikan setelah itu
tanaman itu difoto untuk dijadikan model simulasinya.
2. Analisa data
Membuat analisa terhadap obyek yang sudah diperoleh dari hasil
observasi yaitu dengan cara mencari struktur pembentukan batang
pohon yang diteliti. Sehingga diperoleh struktur pembentuk tanaman
yang disimulasikan.
43
3. Perancangan Program
Memahami rancangan program sesuai data yang ada dan
mengimplementasikan model yang diinginkan oleh pemakai.
4. Pembuatan Program
Membuat program dan merepresentasikan hasil desain ke dalam
pemrograman berdasarkan program yang sudah dirancang.
5. Evaluasi program
Menguji coba seluruh program yang telah dibuat. Proses uji coba
ini diperlukan untuk memastikan bahwa program yang telah dibuat
sudah benar, sesuai dengan karakteristik yang ditetapkan dan tidak ada
kesalahan-kesalahan yang terkandung di dalamnya.
6. Pembuatan laporan Tugas Akhir
Pembuatan laporan berdasarkan penelitian yang telah dilakukan
dan dari hasil program.
3.3 Tahapan Implementasi
Tahapan implementasi adalah langkah-langkah yang digunakan untuk
pembuatan simulasi pertumbuhan batang tanaman dengan L-system dengan
Delphi.
44
Gambar 3.1 Bagan sederhana kerja program komputer dan langkah kerja
pembuatan model
3.4 Deskripsi Sistem
Segala sesuatu pasti mengikuti suatu aturan seperti air yang mengalir
dari tempat yang tinggi (gunung) ke tempat (dataran) yang rendah. Demikian juga
dengan dunia nyata (real world) tanaman tidaklah muncul begitu saja tapi
mengikuti suatu aturan. Karena itu pasti ada teori atau hukum yang dapat
menjelaskan dunia nyata seperti tanaman yang tumbuh pada alamnya tanpa
gangguan manusia dari mulai bahan tanaman (biji) hingga tanaman dewasa dan
masak. Teori yang dapat menggambarkan tingkah-laku dari suatu keadaan,
kejadian atau peristiwa yang dipertimbangkan adalah sasaran akhir dari ilmu
pengetahuan.
Suatu pendekatan yang tersedia untuk mempelajari dunia nyata adalah
pendekatan sistem yaitu studi pengenalan dunia nyata melalui pemilahan dunia
45
nyata tersebut kepada bagian-bagiannya. Unsur dan proses penyusun bagian-
bagian tersebut kemudian diidentifikasi, dikarakterisasi dan selanjutnya dirakit
kembali dalam suatu kesatuan struktur (sistem) untuk menghasilkan produk atau
tujuan yang dipertimbangkan. Jadi sistem adalah bagian dari dunia nyata yang
terdiri dari berbagai unsur atau atau tanaman yang tumbuh pada suatu tempat
tertentu. Komponen dan proses yang saling berinteraksi yang dirancang
berdasarkan konsep yang dikembangkan sesuai dengan tujuan yang diinginkan.
Sebagai contoh dunia nyata tanaman dapat digambarkan sebagai kumpulan dari
berbagai jenis tanaman, individu tanaman, organ tanaman, jaringan tanaman atau
sel tanaman.
Sistem yang berhubungan dengan tanaman sangat kompleks dan hanya
mungkin dipelajari dengan cara penyederhanaannya. Suatu sistem kecil saja
dalam suatu individu tanaman sudah cukup kompleks seperti penggunaan suatu
unsur hara dalam pertumbuhan tanaman.
Penyederhanaan dari sistem sangat penting agar dapat dipelajari secara
seksama. Model dikembangkan dengan tujuan untuk studi tingkah-laku sistem
melalui analisis rinci akan komponen atau unsur dan proses utama yang
menyusun sistem dan interaksinya antara satu dengan yang lain. Jadi
pengembangan model adalah suatu pendekatan yang tersedia untuk mendapatkan
pengetahuan yang layak akan sistem tanaman. Model beperanan penting dalam
pengembangan teori karena berfungsi sebagai konsep dasar yang menata
rangkaian aturan yang digunakan untuk menggambarkan system. Jadi model
46
adalah contoh sederhana dari sistem dan menyerupai sifat-sifat sistem yang
dipertimbangkan, tetapi tidak sama dengan sistem.
Dalam studi tanaman, penggunaan model dapat diperlukan akibat
kompleksitas sistemnya karena adanya sifat acak faktor yang terlibat di
dalamnya. Tanaman yang tumbuh pada alamnya jauh dari jangkauan penelitian,
karena penelitian umumnya melibatkan gangguan pada tanaman betapapun
kecilnya. Pendekatan ini sudah dimulai sejak penerapan statistik dalam
pelaksanaan percobaan. Penerapan model matematik dalam studi tanaman dimulai
beberapa dekade yang lampau, dan berbagai model tanaman sudah dikembangkan
seperti model tanaman padi, jagung dan kedelai. Penerapan model matematik
belakangan ini semakin menarik banyak perhatian dalam bidang pertanian
berkaitan dengan keinginan untuk mendapatkan informasi kuantitatif dan
peningkatan kompleksitas pertanaman seperti akibat pemanasan global (global
warming) dan penerapan agroforestri. Maka diperlukan simulasi dari model
tersebut untuk menvisualisasikannya.
3.5 Perancangan Pembuatan program
Desain dan perancangan pembuatan simulasi pertumbuhan tanaman
menggunakan L-system ini terdiri dari 2 bagian, yaitu: pertama pencarian model
tanaman yang akan dijadikan model simulasi yaitu tanaman yang dipilih tanaman
yang mempunyai struktur tanaman yang mudah dimodelkan, yang kedua
perancangan pembuatan program.
47
3.5.1. Model Tanaman
Model tanaman yang akan disimulasikan adalah pohon cemara norfolk.
Cemara Norfolk atau dalam bahasa Latin dikenal dengan nama Araucaria
heteropylla (Salisb.) Franco., termasuk famili Araucariaceae; berasal dari
kepulauan Norfolk, New Zealand. Di Indonesia tanaman ini dikenal dengan nama
Cemara Norfolk.
Jenis-jenis tanaman Araucaria termasuk spesies Araucaria heterophylla
merupakan tanaman yang sering dipergunakan untuk keperluan tanaman hias.
Jenis-jenis tanaman Araucaria juga menghasilkan resin. Tanaman yang
menghasilkan resin dapat dipergunakan untuk keperluhan bahan-bahan kosmetika.
Kayu-kayu tua dapat dimanfaatkan sebagai kayu bakar, tetapi jenis ini sangat
cepat terbakar sehingga bara api akan menjadi lebih cepat habis.
Struktur dari pohon cemara Norfolk ini sangat teratur, artinya setiap
cabang tumbuh kesamping dengan bentuk yang teratur. Sehingga nantinya untuk
mensimulasikan mudah. Jadi nanti tanaman ini akan disimulasikan hanya bentuk
struktur batang saja. Dibawah ini contoh pohon cemara Norfolk.
Gambar 3.2 Pohon Cemara Norfolk
48
Pohon cemara norfolk ini akan diambil bentuk batangnya saja yang akan
disimulasikan sedangkan daunnya hanya mengikuti bentuk batangnya. Struktur
bentuk pohon norfolk ini sebagai berikut :
3.5.2 Pembuatan Program (Software)
Program atau software yang digunakan adalah program delphi 7.0 yang
merupakan program untuk menjalankan program yang akan dijalankan. Ada
beberapa hal yang harus diperhatikan dan ada beberapa parameter yang harus
ditentukan terlebih dahulu untuk menggambar simulasi tanaman seperti yang
diharapkan
3.5.2.1 Sistem Ordinat, Window Dan Viewport
a. Sistem Ordinat
Hal pertama yang harus dipikirkan adalah frame, yaitu daerah segiempat
yang digunakan sebagai tempat menggambar simulasi tanaman. Sehingga
diharapkan simulasi tanaman yang dihasilkan tidak akan keluar dari frame. Frame
tadi dibuat dengan sistem ordinat. Maka perlu sebelum untuk membuat gambar
maka kita harus tahu titik koordinat gambar yang akan dibuat. Maka pada
program simulasi dari pertumbuhan tanaman dalam pembuatannya terdapat sistem
koordinat atau alamat letak dari objek tersebut. Jadi program harus menggunakan
sistem ordinat untuk menggambarnya. Sistem ordinat yang dipakai yaitu
koordinat Cartesian. Yang mana pada koordinat Cartesian arah vertical digunakan
sebagai sumbu y dengan y posisif menuju ke atas dan arah kebawah sebagai y
negative, arah mendatar digunakan sebagai sumbu x dan x positif ke arah kanan
49
dan x negative ke arah kiri. Tetapi layar monitor menggunakan orientasi yang
berbeda. Monitor menggunakan arah bawah sebagai sumbu y positif, disamping
itu monitor juga tidak mengenal nilai negatif.
Setiap titik yang digambar dengan teknik point-plotting lokasinya ditentukan
berdasarkan system ordinat Cartesian. Di dalam koordinat Cartesian setiap titik
ditentukan lokasinya melalui pasangan nilai x dan y. dimana nilai koordinat x
bertabah positif dari kiri ke kanan dan nilai y bertambah positif dari bawah ke
atas. Lokasi titik dua dimensi ditentukan berdasarkan jarak terhadap sumbu x dan
sumbu y, koordinat titik dua dimensi dapat disimpan di memori komputer dengan
menggunakan tipe rekord.
Jadi nantinya setiap gambar selalu ada titik koordinat dalam pembuatannya
sehingga mudah untuk merubah letak atau bentuk gambar dengan mengubah nilai
dari setiap titik koordinat tersebut
b. Window dan Viewport
Ada dua mode system koordinat, yaitu mode viewport dan mode window.
Mode window merupakan mode koordinat yang digunakan pada sistem koordinat
kartesius, koordinat X (absis) menentukan posisi secara horizontal, sedangkan Y
(ordinat) menentukan posisi secara vertikal. Window juga merupakan area di
dunia nyata yang menunjukkan bagian yang dilihat oleh pemirsa, Mode viewport
adalah mode koordinat dari layar monitor. Viewport merupakan area di layar
monitor yang menunjukkkan dimana window akan ditampilkan dan juga tanaman
yang disimulasikan akan ditampilkan di layar monitor, jadi harus ditentukan
50
posisi titik atau piksel di mana tanaman tersebut akan ditampilkan. Ukuran
window dan viewport tidak perlu sama.
Ada beberapa perbedaan mode viewport dengan mode window. Posisi
koordinat (0,0) pada mode viewport selalu terletak pada tepi kiri atas, sedangkan
pada mode window dapat berada di mana saja. Pada mode viewport, semakin ke
bawah nilai Y (ordinat) semakin besar, sedangkan pada mode window sebaliknya.
Untuk memetakan sebuah titik di window ke titik di viewport dapat digunakan
rumus :
Xv=sx*xw+tx
Yv=sy*yw+ty
3.5.2.2 Gambar Simulasi
Sebuah tanaman yang dihasilkan dengan berbagai macam bentuknya
berawal dari sebuah batang. Bisa dikatakan bahwa bibit dari tanaman yang
simulasikan adalah batang (bukan biji). Bentuk batang dapat bermacam-macam,
bisa sebuah garis, polygon, lingkaran, oval, dan sebagainya. Bentuk batang ini
menentukan bentuk tanaman simulasi yang dihasilkan, karena pada dasarnya
pembuatan tanaman simulasi adalah proses transformasi dari batang yang
dilakukan secara berulang-ulang. Gambar simulasi pertumbuhan tanaman ini
menggunakan metode system lindenmayer yang dikenal dengan L-system.
Dengan l-systems, memungkinkan kompleksitas alam dapat didefinisikan
dengan beberapa parameter dan aturan. Hal ini disebabkan L-Systems
memanfaatkan tingkat kemiripan terhadap dirinya sendiri (self-similarity) yang
51
sangat besar. Untuk menghasilkan suatu bentuk dengan metode ini harus
dilakukan dua langkah, yaitu aplikasi dari grammar untuk menghasilkan string
berisi struktur topologi dari pohon dan interprestasi dari string tersebut. Oleh
karena itu l-system menggunakan metode iterasi untuk membuat pertumbuhan
tanaman. Perulangan iterasi merupakan struktur kontrol perulangan yang
umumnya menggunakan perintah-perintah yang telah tersedia pada bahasa
pemrograman, setiap bahasa pemrograman mempunyai perintah perulangan yang
berbeda-beda. Dalam perulangan iterasi, proses perulangan akan dilakukan jika
kondisi untuk memulai proses perulangan terpenuhi dan akan berhenti jika kondisi
untuk menghentikan perulangan terpenuhi.
Didalam pembuatan gambar simulasi pertumbuhan batang tanaman ini
menggunakan 1 perintah percabangan dan 2 perintah perulangan yang digunakan
yaitu :
a. Percabangan bersyarat if- then-else
Pernyataan percabangan bersyarat if-then-else digunakan untuk menjalankan
suatu pernyataan atau satu blok pernyataan, tergantung pada nilai yang diuji.
Penulisan yang dapat digunakan adalah ;
If<kondisi> then<pernyataan>;
Atau:
If<kondisi> then<pernyataan1> else<pernyataan2>;
Pada penulisan di atas, <pernyataan1> dan<pernyataan2> tidak diletakkan
diantara kata kunci begin dan end. Kita tidak perlu menambahkan kedua kata
kunci tersebut jika pernnyataan yang dituliskan hanya satu baris saja.
52
<kondisi> adalah suatu ekspresi logika atau berupa syarat percabangan. Perintah
if akan menguji ekspresi logika yang ada disebelah kanannya. Jika kondisi
bernilai true maka akan dikerjakan <pernyataan1>. Sebaliknya jika kondisi
bernilai false maka akan dikerjakan<pernyataan2>.
Gambar 3.4 flowchart perulangan if-then-else
b. Pengulangan while …do
Pernyataan pengulangan while…do bertugas mengulang satu pernyataan atau
suatu blok pernyataan atau selama (while) suatu kondisi (syarat) bernilai true,
penulisannya adalah sebagai berikut :
Prosedur alur pengulangan diatas adalah sebagai berikut :
1. Program akan menguji nilai <kondisi>
2. Jika<kondisi> bernilai false, maka<pernyataan> tidak dilaksanakan dan
program menghentikan pengulangan, kemudian menjalankan baris berikutnya.
3. Jika<kondisi> bernilai true, maka pernyataan akan dilaksanakan satu kali.
Pernyataan 1
Kondisi
Start
True No
Selesai Perulangan
Pernyataan 2
53
4. Kembali ke prosedur 1.
5. Program menghentikan pengulangan dan menjalankan baris berikutnya.
pada dasarnya, pengulangan akan berhenti kalau<kondisi> bernilai false. Tetapi
anda juga dapat menggunakan pernyataan break untuk memaksa program keluar
dari pengulangan dan melanjutkan ke baris program yang terletak di bawah
perintah pengulangan.
<pernyataan> bisa berupa satu pernyataan atau blok pernyataan yang diawali
dengan begin dan diakhiri dengan end. Penulisan pernyataan harus diakhiri
dengan titik koma sebagai tanda akhir dari pernyataan while.
Gambar 3.5 Flowchart perulangan while…do
c. Pengulangan for…do
Pengulangan for..do merupakan perintah pegulangan yang paling sederhan di
antara perintah pengulangan lain yang di sediakan Delphi. Pengulangan for…do
Pernyataan 1
Kondisi
Start
True No
Pernyataan 2
Pernyataan dilakukan 1
kali
Selesai Perulangan
54
digunakan untuk melaksanakan pengulangan satu pernyataan atau satu blik
program beberapa kali yang ditentukan oleh nilai awal dan nilai akhir. Dengan
kata lain, jumlah pengulangan yang akan dikerjakan sudah diketahui.
For<pencacah> :=<awal> to<akhir> do <pernyataan>;
Atau,
For<pencacah>:= <awal> downto<akhir>do<pernyataan>;
<pencacah> adalah variable bertiep integer, aitu variable yang mempunyai nilai
pasti jika dikurangi atau ditambah satu satuan, misalnya byte, shortint, subrange,
dan lain-lain. Nilai <pencacah> tidak boleh diubah dalam <pernyataan>.
Jika menggunakan bentuk pertama, maka for…do akan mengulang<pernyataan>
dan akan berhenti kalau nilai<awal> sudah melampaui nilai<akhir>. Jika anda
menggunakan bentuk kedua, maka pengulangan akan berhenti jika nilai<awal>
sudah dibawah nilai<akhir>.
Gambar 3.6 Flowchart Perulangan while…do
pernyataan <= y
Start
True
No
Pernyataan >x
Pernyataan = hasil
Selesai Perulangan
Cetak hasil Pengukuran
kondisi =x
55
3.5.2.3 Penulisan Berulang ( Rewriting Systems )
Konsep utama dari L-Systems adalah penulisan berulang. Penulisan
berulang adalah teknik untuk mendifinisikan objek secara kompleks dengan cara
mengganti bagian dari objek dengan cara rewriting rule atau productions.
Penulisan berulang ini yang mana sebuah l-system bekerja dengan urutan string
yang masing-masing simbol dalam urutan intruksi yang diberikan, yaitu :
‘F’ berarti maju selangkah
‘+’ berarti belok kanan dengan sudut x derajat
‘-‘ berarti belok kiri dengan sudut x derajat
Dengan x diset dan ditentukan sebelumnya.
Misalkan : string F+F-F berarti maju selangkah, belok kanan, maju selangkah,
belok kiri dan maju selangkah.
Gambar 3.7 Hasil string dari L-system
Jika kita lanjutkan l-system dengan pembuatan aturan penghasilan string maka
hasilnya dapat berbeda dan menarik.
56
Gambar 3.8 Hasil dari aturan penghasil string L-system
Jadi pembuatan hasil string diatas menggunakan string F->F[+F][-F], yang mana
F+F-F disebut aksioma yang sebagai initiator sedang F->F[+F][-F] disebut
generator. Selanjutnya ada at uran lagi untuk membuat gambar tanaman berupa
batang, dahan, dan ranting. Yang mana aturan ini berfungsi untuk membuat
percabangan tanaman lebih banyak. Aturan ini disebut aturan produksi string
yang kalau diperatikan aturan ini mirip dengan operasi matematika yaitu
susbstitusi. Seandainya kita menggantikan F dengan “F+F” berarti bahwa semua
‘F’ dalam string harus digantikan dengan “F+F”. Aturan produksi string ini akan
kita pada terapkan pada contoh berikut:
Misalkan kita punya initiator F+F_F maka aturan produksi string yang
disebut generator adalah setiap F digantikan dengan “F+F” sehingga hasil dari
iterasi( perulangan) yang ke dua adalah :
iterasi ke satu : F+F+F+F-F+F
iterasi ke dua : (F+F)+(F+F)+(F+F)+(F+F)-(F+F)+(F+F) atau F+F + F+F + F+F +
F+F – F+F + F+F
Jadi iterasi ini akan berhenti jika sudah memnuhi persyaratan jumlah
iterasi yang ditentukan. Contoh diatas adalah iterasi dengan persyaratan generator
tertentu, tetapi didalam L-system mempunyai sifat yang dapat memanfaatkan
Kembalikan disini
Mulai dari sini
F F
F F
57
tingkat kemiripan terhadap dirinya sendiri (self-similarity). Aturan produksi
string ini menggunakan initiator sebagai generator, jadi aturan ini menggantikan
initiator sama dengan generator. Misalkan initiator F+F-F maka generatornya F-
>F+F-F setelah diiterasi ke satu maka hasilnya F+F-F+F+F-F-F+F-F . jadi intinya
atruran produksi string ini menggunakan tingkat kemiripan dengan dirinya sendiri
untuk melakukan perulangan. Penggambaran dari aturan produksi string dapat
dijelaskan dengan gambar flowchart.
Gambar 3.9 Flowchart aturan produksi string l-system
2.4.3 Deterministic dan Context-Free L-systems (DOL)
Pada penyajian deterministic dan context free L-Systems adalah bagian
dari yang sederhana pada L-Systems, ini adalah awal dari contoh dari konsep L-
Initiator =generator
Start
True
No
Hasil iterasi=x
Hasil # iterasi x
Selesai Iterasi
Cetak hasil Pengukuran
Iterasi = x
58
Systems. Bila terdapat string yang dibangun oleh dua simbol a dan b, dan setiap
simbol akan mengasosiasikan sebagai aturan rewriting. Jika aturan a ->ab berarti
bahwa huruf a akan di ganti dengan string ab, dan untuk aturan a->b berarti huruf
a juga akan diganti dengan huruf b, aturan produksi tersebut adalah satu kali step
rewriting. Beda dari iterasi rewriting tadi, DOL system ini aturan produksinya ada
dua. Jadi cara iterasi juga menjadi dua kali langkah.
Gambar 3.10 Contoh dari aturan produksi dari DOL Systems
Gambar 3.11 Flowchart dari DOL system
Aturan produksi 1
Start
True N
Cetak
iterasi=x
Aturan produksi 2
Hasil#iterasi x hasil
Hasil
Selesai Perulangan
59
BAB IV
IMPLEMENTASI DAN EVALUASI PROGRAM
1.1 Implementasi Program
Untuk menjalankan program simulasi pertumbuhan batang tanaman cemara
norfolk dengan L-system ini, sebelumnya harus mempersiapkan kebutuhan dari
program yang akan di implementasikan baik dari segi perangkat keras maupun
perangkat lunak komputer.
4.1.1 Instalasi Program.
A. Kebutuhan Perangkat Keras
1. Komputer PC Pentium IV atau sejenisnya .
2. Memory minimal 256 Mbytes.
3. Hardisk 40 Gbytes.
4. VGA 128 Mbytes.
5. Monitor 17”.
B. Kebutuhan Perangkat Lunak
1. Microsoft Windows Profesional Servise Pack 3.
2. Permograman Delphi 7.
C. Setup Program
1. Instalasikan Microsoft Windows XP Profesional Servise Pack 3 sebagai
sistem operasi.
2. Instalasikan delphi 7.0 sebagai bahasa permogramannya
60
4.2 Penjelasan Program
Setelah semua komponen komputer yang mendukung proses aplikasi
terinstall, proses selanjutnya adalah penjelasan program. Penjelasan program
merupakan petunjuk yang dapat digunakan dalam menjalankan suatu program.
Pada Tugas Akhir ini akan dijelaskan mengenai penggunaan program yang
ada, antara lain:
4.2.1. Window dan Viewport
Pada tampilan pertama program ini akan ditampilkan berbagai macam atribut
untuk menjalankan program. Pada tampilan form ini disebut window yang
merupakan area di dunia nyata yang menunjukkan bagian yang dilihat oleh
permirsa, sementara area di layar monitor yang menunjukkan dimana window
akan ditampilkan disebut viewport. Adapun gambaran dari window dan
viewport digambarkan pada gambar 4.1
Gambar 4.1 Tampilan window dan viewport
61
Potongan Source Code dari window dan viewport
Attribute wl, wr, wt dan wb digunakan untuk menyimpan lokasi window,
sedangkan atribut vl,vr,vt dan vb digunakan untuk menyimpan viewport. Atribut
sx, sy, tx, dan ty merupakan tempat penampung hasil perhitngan parameter
konversi window ke viewport seperti dijelaskan pada bagian teori.
Metode W2V merupakan metode yang digunakan untuk mengubah
koordinat world menjadi koordinat viewport. Metode CheckNumber digunakan
untu memastikan bahwa semua komponen TEdit hanya dapat diisi dengan
karakter angka(0,1,2,…9), karakter titik(.), dan karakter minus (-), sedang metode
calculateParameter digunakan untuk menghitung parameter sx,sy, tx, dan ty.
4.2.2. Iterasi dan Aturan Produksi String
Atribut isian Edit iterasi ini berisi jumlah iterasi yang akan di iterasikan,
yang mana nilai iterasi besar maka semakin lama juga dalam mengiterasi axiom.
Dibagian ini jumlah iterasi tak terhingga.
private
{ Private declarations }
wl,wr,wt,wb:real;
vl,vr,vt,vb:integer;
sx,sy,tx,ty:real;
procedure W2V(xw,yw:real;var xv,yv:integer);
procedure V2W(xv,yv:integer;var xw,yw:real);
function CheckNumber(Key:Char):Boolean;
procedure CalculateParameter;
62
Atribut isian EditAxiom ini berisi aturan produksi string. Disinilah bentuk
batang tanaman dibentuk. Disini terdapat simbol yang diisikan agar menghasilkan
bentuk batang tanaman yang diinginkan. Simbol yang diisikan berupa karakter
yang sudah menjadi aturannya yaitu “F”,”D”,”[“,”]”,”+”, dan ”-“. Simbol-simbol
tersebut mewakili gambar atau fungsi yang dihasilkan, huruf “F” untuk membuat
batang, huruf “D” untuk membuat daun, tanda kurung buka (”[") memerintahkan
untuk menyimpan data posisi dan arah gerak ke dalam stack, sedang tanda ("]“)
memerintahkan untuk mengeluarkan data posisi dan arah gerak dari stack,
karakter “+” untuk membuat gambar ke kanan, dan karakter “-“ untuk membuat
gambar ke kiri.
Atribut tombol showaxiom yaitu perintah untuk menjalankan iterasi yang
akan dilakukan yang hasilnya nanti ditampilkan di isian editshowaxiom. Disini
hasil dari iterasi yang akan membuat batang tanaman menjadi lebih banyak dalam
arti cabangnya bertambah banyak.
Atribut label jumlah string ini berisi jumlah karakter yang dihasilkan oleh
showaxiom. Jadi disini akan kita ketahui berapa banyak karakter hasil iterasi tadi.
Atribut isian edit daun ini berisi angka yang akan dimasukkan sebagai nilai
ketebalan dari daun yang akan dibuat.
Atribut tombol reset ini berfungsi untuk menghapus semua nilai yang ada
dalam semua atribut yang ada dalam arti memberikan nilai 0 pada setiap atribut.
Atribut tombol exit berfungsi untuk keluar dari program yang dijalankan
63
Gambar 4.2 Atribut iterasi serta tombol reset dan exit
Potongan Source Code dari shoaxiom
if cnt=0 then
begin
tmp_hasil := '';
writeln(f,'--data untuk rewriter----------');
writeln(f,'-> data cnt iterasi rewriter
=',j);
temp_length := length(tmp);
procedure TForm1.BshowaxiomClick(Sender: TObject); begin {$I-} result := 'F'; tmp := Eaxiom.Text; axiom := tmp; cnt := StrToInt(Eiterasi.Text); exam := Eshowaxiom.text; Ljumlahstring.Caption:= IntToStr(temp_length); writeln(f,'-> data axiom = ',axiom); writeln(f,'-> data temp = ',tmp); writeln(f,'->datatemp_length= ',temp_length); writeln(f,'-------------------------------'); tmp_hasil := tmp ; tmp := tmp_hasil; end else begin j:=1; while j<=cnt do begin tmp_hasil := ''; writeln(f,'--data untuk rewriter----------'); writeln(f,'->data cnt iterasi rewriter =',j); temp_length := length(tmp); writeln(f,'-> data axiom = ',axiom); writeln(f,'-> data temp = ',tmp); writeln(f,'-> datatemp_length= ',temp_length);
writeln(f,'-------------------------------');
64
4.2.3. Tombol show akar
Gambar 4.3 Tombol Menampilkan Akar dan Pengaturannya
Di tombol ini berisi tombol untuk menampilkan akar dan cara
pengaturannya. Skala untuk mengatur perbandingan gambar simulasi dengan
for i :=1 to temp_length do begin write(f,'1>data cnt yang ke i =',i); if tmp[i]=result then begin tmp_hasil := tmp_hasil + axiom;
writeln(f,'-> ada proses->',tmp_hasil); end else begin tmp_hasil := tmp_hasil + tmp[i];
writeln(f,'->tidak adaproses->',tmp_has il); end; end; j:=j+1; tmp := tmp_hasil; end; end; Eshowaxiom.Text := tmp_hasil; length2 := length(tmp_hasil); Ljumlahstring.Caption := IntToStr(length2); closefile(f); {$I+} end;
65
gambar. Isian Panjang untuk mengukur panjang akar yang dihasilkan. Isian
Derajat “+” untuk mengatur derajat akar yang menuju ke kanan, sedangkan
derajat “-“ untuk mengatur derajat akar yang menuju ke kiri.
Potongan source code show grafika
procedure TForm1.Button5Click(Sender: TObject); var p,d,n,c,i,dx,dy,fstep,f:integer; pi,a,deltax,deltay,x1,y1,x2,y2,tmp,pa:real; r,s : TextFile; b : String; xv1,yv1,xv2,yv2:integer; SpeicherX : array[1..255] of real ; SpeicherY : array[1..255] of real ; SpeicherA : array[1..255] of real ; SpeicherXnew : array[1..255] of real ; SpeicherYnew : array[1..255] of real ; begin {$I-} AssignFile(r,'data_graphical_root.txt'); Rewrite(r); AssignFile(s,'data_graphical_root_panjang.txt'); Rewrite(s); n := 0; pi := 3.14159265358979; W2V(x2,y2,xv2,yv2);
//gambar garis dari xv1,yv1 ke xv2,yv2 writeln(s,'data untuk -->',b[i]); writeln(s,'data ini digambar'); write(s,'data ke i =',i,' x1 =',Format('%*.*f', [8, 2, x1])); writeln(s,' y1 =',Format('%*.*f', [8, 2, y1])); write(s,'data ke i =',i,' x2 =',Format('%*.*f', [8, 2, x2])); writeln(s,' y2 =',Format('%*.*f', [8, 2, y2])); pa := sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); Writeln(s,'data panjang (x1,y1) ke (x2,y2) adalah =',Format('%*.*f', [8, 2, pa])); Form1.Canvas.MoveTo(xv1,yv1); Form1.Canvas.Pen.Color:=$3c3c60; Form1.Canvas.LineTo(xv2,yv2); x1 := x2 ; y1 := y2 ;
66
x2 := x1; y2 := y1 - StrToFloat(Edit4.Text); end; if b[i]='D' then begin W2V(x1,y1,xv1,yv1); Form1.Canvas.Pen.Color:=$3c3c60; Form1.Canvas.Ellipse(xv1,yv1,xv1+5,yv1+5); end; if b[i]='+' then begin x2:=x1+
(StrToFloat(Edit4.Text)*cos((StrToInt(Edit9.Text))* pi/180));
y2:=y1- (StrToFloat(Edit4.Text)*sin((StrToInt(Edit9.Text))* pi/180));
writeln(r,'data untuk -->',b[i]); writeln(r,'data ini tidak digambar'); write(r,'data ke i =',i,' x =',Format('%*.*f', [8 ,
2, x1])); writeln(r,' y =',Format('%*.*f', [8, 2, y1])); wri te(r,'data ke i =',i,' xnew =',Format('%*.*f',
[8, 2, x2])); writeln(r,' ynew =',Format('%*.*f', [8, 2, y2])); end; if b[i]='-' then begin x2:=x1- (StrToFloat(Edit4.Text)*cos((StrToInt(Edit10.Text)) *pi/180)); y2:=y1-
(StrToFloat(Edit4.Text)*sin((StrToInt(Edit10.Text)) *pi/180));
writeln(r,'data ini tidak digambar'); write(r,'data ke i =',i,' x =',Format('%*.*f', [8 ,
2, x1])); writeln(r,' y =',Format('%*.*f', [8, 2, y1])); write(r,'data ke i =',i,' xnew =',Format('%*.*f',
[8, 2, x2])); writeln(r,' ynew =',Format('%*.*f', [8, 2, y2]));
67
end; if b[i]='[' then begin n := n + 1; SpeicherX[n] := x1; SpeicherY[n] := y1; SpeicherA[n] := a; SpeicherXnew[n] := x2; SpeicherYnew[n] := y2; Memo2.Text := Memo2.Text + IntToStr(n) ; writeln(r,'data untuk -->',b[i]); writeln(r,'data ini tidak digambar keluar'); write(r,'data ke i =',i,' x1 =',Format('%*.*f', [ 8, 2, x1])); writeln(r,' y1 =',Format('%*.*f', [8, 2, y1])); write(r,'data ke i =',i,' x2 =',Format('%*.*f', [ 8, 2, x2])); writeln(r,' y2 =',Format('%*.*f', [8, 2, y2])); end; if b[i]=']' then begin Memo1.Text := Memo1.Text + b[i]; x1 := SpeicherX[n]; y1 := SpeicherY[n]; a := SpeicherA[n]; x2 := SpeicherXnew[n]; y2 := SpeicherYnew[n]; n := n - 1; Memo2.Text := Memo2.Text + IntToStr(n); writeln(r,'data untuk -->',b[i]); writeln(r,'data ini tidak digambar keluar'); write(r,'data ke i =',i,' x =',Format('%*.*f', [8 , 2, x1])); writeln(r,' y =',Format('%*.*f', [8, 2, y1])); write(r,'data ke i =',i,' x2 =',Format('%*.*f', [ 8, 2, x2])); writeln(r,' y2 =',Format('%*.*f', [8, 2, y2])); end; end; closefile(s); closefile(r); {$I+} end;
68
4.2.4. Tombol Show Grafika
Gambar 4.4 Atribut Tombol ShowGrafika dan Pengaturannya
Ditombol ini berisi tombol untuk menampilkan bentuk batang tanaman dari
hasil iterasi tadi dan juga cara pengaturannya bentuk batang tanaman tadi.
Skala untuk membandingkan batang yang disimulasikan dengan gambar. Isian
Panjang untuk membuat panjang batang. Isian derajat “+” untuk menggambar
derajat batang ke arah kanan dan isian derajat “-“ untuk mengambar derajat
batang ke arah kiri.
Potongan Source Code Show Grafika
procedure TForm1.Button2Click(Sender: TObject); var p,d,n,c,i,dx,dy,fstep,f:integer; pi,a,deltax,deltay,x1,y1,x2,y2,tmp,pa,p1,p2:real; g,h : TextFile; b : String; xv1,yv1,xv2,yv2,dn:integer; SpeicherX : array[1..255] of real ; SpeicherY : array[1..255] of real ; SpeicherA : array[1..255] of real ; SpeicherXnew : array[1..255] of real ; SpeicherYnew : array[1..255] of real ;
69
begin {$I-} AssignFile(g,'data_graphical.txt'); Rewrite(g); AssignFile(h,'data_graphical_panjang.txt'); Rewrite(h); n := 0; pi := 3.14159265358979; x1 := StrToFloat(EX1.Text); y1 := StrToFloat(EY1.Text); x2 := StrToFloat(EX1.Text); y2 := StrToFloat(Edit4.Text); a :=0; b :=Eshowaxiom.Text; c := length(b); dn := StrToInt(Edit12.Text); for i:= 1 to c do begin if b[i]='F' then begin Memo1.Text := Memo1.Text + b[i]; Memo2.Text := Memo2.Text + b[i]; writeln(g,'data untuk -->',b[i]); writeln(g,'data ini digambar');
write(g,'data ke i =',i,' x1 =',Format('%*.*f', [8, 2, x1]));
writeln(g,' y1 =',Format('%*.*f', [8, 2, y1])); write(g,'data ke i =',i,' x2 =',Format('%*.*f',
[8, 2, x2])); writeln(g,' y2 =',Format('%*.*f', [8, 2, y2])); W2V(x1,y1,xv1,yv1); W2V(x2,y2,xv2,yv2); //gambar garis dari xv1,yv1 ke xv2,yv2 Form1.Canvas.Pen.Color:=$3c3c60; Form1.canvas.rectangle(XVMIN,YVMIN,XVMAX,YVMAX); Form1.canvas.Pen.Color:=WarnaBatang; Form1.canvas.BRUSH.Color:=WarnaBatang;
Form1.canvas.moveto(xvmax div 2-2,yvmax - yvmax div 3);
Form1.canvas.LineTo(xvmax div 2-5,yvmax); Form1.canvas.lineto(xvmax div 2+10,yvmax);
Form1.canvas.LineTo(xvmax div 2+7,yvmax - yvmax div 3);
Form1.canvas.LineTo(xvmax div 2-3,yvmax - yvmax div 3);
Form1.canvas.FloodFill(xvmax div 2,yvmax-4,WarnaBatang,fsborder);
70
Form1.Canvas.MoveTo(xv1,yv1); Form1.Canvas.LineTo(xv2,yv2); //Form1.Canvas.Arc(yv1,xv2,yv2,xv2); Form1.canvas.BRUSH.Color:= WarnaDasar; Form1.canvas.Pen.Color:=WarnaDasar; writeln(h,'data untuk -->',b[i]); writeln(h,'data ini digambar');
write(h,'data ke i =',i,' x1 =',Format('%*.*f', [8, 2, x1]));
writeln(h,' y1 =',Format('%*.*f', [8, 2, y1])); write(h,'data ke i =',i,' x2 =',Format('%*.*f',
[8, 2, x2])); writeln(h,' y2 =',Format('%*.*f', [8, 2, y2]));
pa := sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); Writeln(h,'data panjang (x1,y1) ke (x2,y2) adalah =',Format('%*.*f', [8, 2, pa])); x1 := x2 ; y1 := y2 ; x2 := x1; y2 := y1 + StrToFloat(Edit4.Text); end; if b[i]='D' then begin W2V(x1,y1,xv1,yv1); Form1.Canvas.Pen.Color := clGreen; Form1.Canvas.MoveTo(xv1,yv1); Form1.Canvas.LineTo(xv1-dn,yv1-dn); Form1.Canvas.MoveTo(xv1-dn,yv1-dn); Form1.Canvas.LineTo(xv1+dn,yv1-dn); Form1.Canvas.MoveTo(xv1+dn,yv1-dn); Form1.Canvas.LineTo(xv1,yv1); end; if b[i]='+' then begin x1 := x1; Memo1.Text := Memo1.Text + b[i]; Memo2.Text := Memo2.Text + b[i]; x2:=x1+ (StrToFloat(Edit4.Text)*cos((StrToInt(Edit5.Text))* pi/180)); y2:=y1+ (StrToFloat(Edit4.Text)*sin((StrToInt(Edit5.Text))* pi/180));
71
writeln(g,'data untuk -->',b[i]); writeln(g,'data ini tidak digambar');
write(g,'data ke i =',i,' x =',Format('%*.*f', [8, 2, x1]));
writeln(g,' y =',Format('%*.*f', [8, 2, y1])); write(g,'data ke i =',i,' xnew
=',Format('%*.*f', [8, 2, x2])); writeln(g,' ynew =',Fo rmat('%*.*f', [8, 2, y2])); writeln(h,'data
tidak di gambar -->',b[i]); w rite(h,'data ke i =',i,' x1 =',Format('%*.*f',
[8, 2, x1])); writeln(h,' y1 =',Format('%*.*f', [8, 2, y1]));
write(h,'data ke i =',i,' x2 =',Format('%*.*f', [8, 2, x2]));
writeln(h,' y2 =',Format('%*.*f', [8, 2, y2])); end; if b[i]='-' then begin Memo1.Text := Memo1.Text + b[i]; Memo2.Text := Memo2.Text + b[i]; x2 := x1 - (StrToFloat(Edit4.Text)*cos((StrToInt(Edit11.Text)) *pi/180)); y2:=y1+ (StrToFloat(Edit4.Text)*sin((StrToInt(Edit11.Text)) *pi/180)); writeln(g,'data ini tidak digambar');
write(g,'data ke i =',i,' x =',Format('%*.*f', [8, 2, x1]));
writeln(g,' y =',Format('%*.*f', [8, 2, y1])); write(g,'data ke i =',i,' xnew
=',Format('%*.*f', [8, 2, x2])); writeln(g,' ynew =',Format('%*.*f', [8, 2,
y2])); writeln(h,'data tidak di gambar -->',b[i]); // writeln(h,'data ini digambar');
write(h,'data ke i =',i,' x1 =',Format('%*.*f', [8, 2, x1]));
writeln(h,' y1 =',Format('%*.*f', [8, 2, y1])); write(h,'data ke i =',i,' x2 =',Format('%*.*f',
[8, 2, x2])); writeln(h,' y2 =',Format('%*.*f', [8, 2, y2])); end; if b[i]='[' then begin writeln(g,'data ini tidak digambar masuk');
72
write(g,'data ke i =',i,' x1 =',Format('%*.*f', [8, 2, x1]));
writeln(g,' y1 =',Format('%*.*f', [8, 2, y1])); write(g,'data ke i =',i,' x2 =',Format('%*.*f',
[8, 2, x2])); writeln(g,' y2 =',Format('%*.*f', [8, 2, y2]));
Memo1.Text := Memo1.Text + b[i]; n := n + 1; SpeicherX[n] := x1; SpeicherY[n] := y1; SpeicherA[n] := a; SpeicherXnew[n] := x2; SpeicherYnew[n] := y2; Memo2.Text := Memo2.Text + IntToStr(n) ; writeln(g,'data untuk -->',b[i]); writeln(g,'data ini tidak digambar keluar');
write(g,'data ke i =',i,' x1 =',Format('%*.*f', [8, 2, x1]));
writeln(g,' y1 =',Format('%*.*f', [8, 2, y1])); write(g,'data ke i =',i,' x2 =',Format('%*.*f',
[8, 2, x2])); writeln(g,' y2 =',Format('%*.*f', [8, 2, y2])); writeln(h,'data tidak di gambar -->',b[i]); // writeln(h,'data ini digambar');
write(h,'data ke i =',i,' x1 =',Fo rmat('%*.*f', [8, 2, x1]));
writeln(h,' y1 =',Format('%*.*f', [8, 2, y1])); write(h,'data ke i =',i,' x2 =',Format('%*.*f',
[8, 2, x2])); writeln(h,' y2 =',Format('%*.*f', [8, 2, y2])); end; if b[i]=']' then begin writeln(g,'data untuk -->',b[i]); writeln(g,'data ini tidak digambar masuk');
write(g,'data ke i =',i,' x =',Format('%*.*f', [8, 2, x1]));
writeln(g,' y =',Format('%*.*f', [8, 2, y1])); write(g,'data ke i =',i,' x2 =',Format('%*.*f',
[8, 2, x2])); writeln(g,' y2 =',Format('%*.*f', [8, 2, y2])); Memo1.Text := Memo1.Text + b[i]; x1 := SpeicherX[n]; y1 := SpeicherY[n]; a := SpeicherA[n];
x2 := SpeicherXnew[n];
73
4.2.5 Tombol Baris
Gambar 4.5 Atribut Pengaturan Letak Axis dan Ordinat
y2 := SpeicherYnew[n]; n := n - 1; Memo2.Text := Memo2.Text + IntToStr(n); writeln(g,'data untuk -->',b[i]); writeln(g,'data ini tidak digambar keluar');
write(g,'data ke i =',i,' x =',Format('%*.*f', [8, 2, x1]));
writeln(g,' y =',Format('%*.*f', [8, 2, y1]));
write(g,'data ke i =',i,' x2 =',Format('%*.*f', [8, 2, x2]));
writeln(g,' y2 =',Format('%*.*f', [8, 2, y2]));
writeln(h,'data tidak di gambar -->',b[i]); // writeln(h,'data ini digambar');
write(h,'data ke i =',i,' x1 =',Format('%*.*f', [8, 2, x1]));
writeln(h,' y1 =',Format('%*.*f', [8, 2, y1]));
write(h,'data ke i =',i,' x2 =',Format('%*.*f', [8, 2, x2]));
writeln(h,' y2 =',Format('%*.*f', [8, 2, y2]));
end; end; closefile(g); closefile(h); {$I+} end;
74
Potongan source code pengaturan garis
Atribut tombol ini berisi cara pengaturan letak gambar akar dan batang terletak
pada sumbu x =0 dan sumbu y=0.
4.2.6 Tombol Set World
Gambar 4.6 Atribut Cara Pengaturan Set World dan Menampilkan Sumbu Xy
Pada atribut ini berisi cara pengaturan set world atau pengaturan letak sumbu
xy ditengah-tengah layar dan juga atribut centang untuk menampilkan sumbu xy.
Potongan Source Code Pengaturan Sumbu xy
pi := 3.14159265358979;
x1 := StrToFloat(EX1.Text);
y1 := StrToFloat(EY1.Text);
x2 := StrToFloat(EX1.Text);
y2 := -StrToFloat(Edit8.Text);
procedure TForm1.ShowAxisClick(Sender: TObject); var xv1,yv1,xv2,yv2,xv3,yv3,xv4,yv4:integer; OldPen:TPen;
begin
CalculateParameter;
75
4.2.7 Tombol Set Viewport
Gambar 4.7 Atribut Cara Pengaturan viewport dan cara Menampilkannya
//buat sumbu y W2V(0,wl,xv1,yv1); W2V(0,wr,xv2,yv2); //buat sumbu x W2V(wt,0,xv3,yv3); W2V(wb,0,xv4,yv4); //ambil data pen lama dari canvas OldPen:=Form1.Canvas.Pen; //pemakai ingin melihat sumbu ? if ShowAxis.Checked then begin //ubah warna pen menjadi hitam dan gambar garis sumbu Form1.Canvas.Pen.Color:=clBlack; Form1.Canvas.MoveTo(xv1,yv1); Form1.Canvas.LineTo(xv2,yv2); Form1.Canvas.MoveTo(xv3,yv3); Form1.Canvas.LineTo(xv4,yv4); end else begin //ubah warna pen menjadi putih dan gambar ulang sumbu Form1.Canvas.Pen.Color:=clwhite; Form1.Canvas.MoveTo(xv1,yv1); Form1.Canvas.LineTo(xv2,yv2); Form1.Canvas.MoveTo(xv3,yv3); Form1.Canvas.LineTo(xv4,yv4); end; Form1.Canvas.Pen:=OldPen; end;
76
Pada atribut ini berisi cara pengaturan batasan daerah viewport yang tampilkan
serta cara menampilkannya.
Potongan Source Code viewport
4.2.8 Atribut Memo atau Step
Gambar 4.8 Atribut Menampilkan Langkah-Langkah Hasil dari Iterasi
ProcedureTForm1.ShowViewportClick(Sender: TObject); var OldBrush:TBrush; begin CalculateParameter; //simpan data Brush dari Canvas OldBrush:=Form1.Canvas.Brush; //jika ShowViewport.Checked = true berarti pemakai //ingin melihat lokasi viewport if ShowViewport.Checked then begin //ubah warna brush menjadi hitam Form1.Canvas.Brush.Color:=clBlack; //gambar garis pinggir dari kotak (vl,vt,vr,vb) Form1.Canvas.FrameRect(Rect(vl,vt,vr,vb)) end else begin //pemakai ingin mematikan batas viewport //ubah warna brush menjadi putih Form1.Canvas.Brush.Color:=clWhite; //gambar ulang garis pinggir Form1.Canvas.FrameRect(Rect(vl,vt,vr,vb)); end; //kembalikan data brush lama Form1.Canvas.Brush:=OldBrush; end;
77
Pada atribut ini berisi langkah-langkah hasil iterasi dari axiom. Jadi fungsinya
atribut ini hanya untuk menampilkan dari hasil iterasi tersebut.
Potongan Source Code Step
4.3. Hasil Program
Hasil program ini masih mensimulasikan bentuk batang yang berbentuk
garis. Pengembangan kedapannya ini masih bisa dikembangkan lagi untuk
mendapatkan suatu simulasi yang nyata, yaitu dengan gambar 3 dimensi. Di
bawah ini hasil dari simulasi tersebut :
Gambar 4.8 Gambar Hasil Akhir Simulasi
Memo1.Text := Memo1.Text + b[i];
Memo2.Text := Memo2.Text + b[i];
78
4.4. Evaluasi Program
Usaha manusia untuk meniru atau memodelkan ciptaan Allah sekeras
apapun pasti tidak akan sama dengan ciptaan Allah, demikian juga program ini
yang berusaha untuk meniru atau memodelkan ciptaan Allah tersebut berupa
tanaman. Tetapi ada daya, manusia sudah berusaha tetapi hasilnya tidak bisa
menyamai dengan persis ciptaan Allah tersesebut yaitu tanaman. Program ini
masih jauh dari sempurna, walaupun hanya menghasilkan gambar batang
berbentuk garis saja, tetapi ini merupakan suatu kemajuan dalam bidang grafika
komputer. Program ini hanya menampilkan bagaimana suatu batang pohon
tumbuh bercabang banyak yang merupakan suatu bentuk pertumbuhan tanaman
tersebut. Pengembangan kedepannya diharapkan banyak yang meneliti tentang
metode pertumbuhan batang tanaman dengan L-system ini seperti yang
diharapkan. Sungguh Allah Maha Pencipta, tiada yang sanggup untuk
menandingi, sebagai mana firman Allah dalam surat Al Hasyr ayat 24 yang
berbunyi :
uθ èδ ª! $# ß, Î=≈ y‚ø9 $# ä— Í‘$t7 ø9 $# â‘ Èhθ |Á ßϑ ø9$# ( ã& s! â !$ yϑ ó™F{$# 4o_ó¡ ßsø9 $# 4 ßxÎm7|¡ ç„ … çµ s9 $ tΒ ’ Îû ÏN≡ uθ≈yϑ ¡¡9 $#
ÇÚ ö‘ F{$#uρ ( uθ èδ uρ Ⓝ͕ yè ø9$# ÞΟŠ Å3pt ø:$# ∩⊄⊆∪
Artinya : “ Dialah Allah yang Menciptakan, yang Mengadakan, yang
membentuk Rupa, yang mempunyai asmaaul Husna. bertasbih kepadanya apa
yang di langit dan bumi. dan Dialah yang Maha Perkasa lagi Maha Bijaksana.”
79
Ayat diatas menerangkan bahwa yang menciptakan, yang mengadakan
serta memberi rupa hanyalah Allah SWT, dan tidak suatu dzat manapun yang
menyamainya. Semua itu merupakan ilmu Allah SWT. yang maha luas, tak
terjangkau, dan tak terbayangkan oleh akal pikiran, tiada terbatas. Dia mencipta
yang semuanya serta mengetahui apa yang sudah dan akan terjadi serta yang
mengaturnya. Manusia, malaikat, dan makhluk manapun tak akan bisa menyelami
lautan ilmu Allah swt. Bahkan untuk mengetahui ciptaan Allah saja manusia tidak
akan mampu, salah satunya tentang tanaman. Bagaimana tanaman itu
ditumbuhkan serta unsur-unsur apa yang menumbuhkan tanaman itu. Tidak
mungkin tanaman itu tumbuh sendiri. Seandainya tanpa kekuasaan, pengaturan
dan limpahan rizki dari Allah maka tidaklah tanaman itu akan tumbuh dan
berkembang, karena tanaman itu tidak mempunyai kekuasaan atas dirinya sendiri
kecuali dari kekuasaan Allah, sehingga sebenarnya tidaklah tanaman itu tumbuh
dan berkembang sendiri. Pastinya juga manusia tidak bisa menumbahkan.
Andaikan saja ada manusia bisa menumbuhkan tanaman itu maka di alam
semesta ini dia hanyalah memiliki kekuatan bagai debu yang tak berarti.
Sementara kekuasaan, kerajaan serta ilmu Allah SWT. sangat luas dan tak akan
tertandingi sedikitpun juga serta tak habis-habisnya.
Sebagaimana firman Allah dalam Al-Qur’an surat Al Kahfi 109 yang
berbunyi :
≅ è% öθ ©9 tβ% x. ã�óst7 ø9 $# #YŠ#y‰ ÏΒ ÏM≈yϑÎ= s3 Ïj9 ’În1 u‘ y‰ Ï�uΖ s9 ã�óst6 ø9 $# Ÿ≅ ö7s% βr& y‰x�Ζ s? àM≈yϑ Î=x. ’ În1u‘ öθ s9 uρ
$ uΖ÷∞Å_ Ï& Î#÷WÏϑ Î/ #YŠ y‰ tΒ ∩⊇⊃∪
80
Artinya : “ Katakanlah: Sekiranya lautan menjadi tinta untuk (menulis) kalimat-
kalimat Tuhanku, sungguh habislah lautan itu sebelum habis (ditulis) kalimat-
kalimat Tuhanku, meskipun Kami.
Serta Surat Al Luqman ayat 27
öθ s9 uρ $ yϑ ‾Ρ r& ’ Îû ÇÚ ö‘ F{$# ÏΒ >οt�yfx© ÒΟ≈n=ø%r& ã�ós t7ø9 $#uρ …çν ‘‰ßϑ tƒ .ÏΒ Íν ω÷è t/ èπyè ö7y™ 9�çt ø2r& $ ¨Β ôNy‰ Ï�tΡ àM≈yϑ Î=x. «!$# 3 ¨β Î) ©! $# ̓tã ÒΟŠÅ3ym ∩⊄∠∪
Artinya “dan seandainya pohon-pohon di bumi menjadi pena dan laut (menjadi
tinta), ditambahkan kepadanya tujuh laut (lagi) sesudah (kering)nya, niscaya
tidak akan habis-habisnya (dituliskan) kalimat Allah]. Sesungguhnya Allah Maha
Perkasa lagi Maha Bijaksana.”
Ayat diatas menerangkan bahwa Allah SWT. menggambarkan betapa
kecil dan tak berdayanya manusia bila dibandingkan dengan ilmu Allah SWT.,
dengan perumpamaan air laut bahkan tujuh lautan dijadikan tinta untuk menulis
kalimat Allah SWT.( ilmu-Nya dan Hikmat-Nya) sedangkan pohon-pohon
dijadikan pena, niscaya tidak akan habis-habisnya kalimat Allah tersebut
dituliskan.
Demikianlah ilmu Allah yang maha luas, manusia tidak bisa menciptakan,
tetapi hanya bisa menirukan/memodelkan hasil ciptaan Allah SWT.
81
BAB V
PENUTUP
5.1 Kesimpulan
1. Simulasi pertumbuhan tanaman ini hanya sebagai bentuk tiruan
pertumbuhan tanaman yang nyata.
2. Setiap bentuk tanaman mempunyai struktur bentuk yang berbeda-beda dan
dapat di modelkan/disimulasikan
3. Membuat model dengan grafika komputer dapat memperkecil ukuran dari
suatu gambar yang dimodelkan daripada menggunakan objek primitif
yaitu dalam bentuk jpg, bitmap atau bentuk penyimpanan gambar yang
lain.
5.2 Saran
1. Simulasi ini masih sangat jauh dari sempurna maka masih banyak yang
harus ditambahi kekurangan-kekurangan yang ada.
2. Simulasi ini masih dalam bentuk dua dimensi jadi belum terlihat seperti
aslinya jadi kedepan dibuat dalam bentuk 3 dimensi,
3. Perlu dilakukan penelitian atau pengembangan selanjutnya untuk tanaman
yang dimodelkan.
DAFTAR PUSTAKA
Abdullah bin Muhammad. 2006.Tafsir Ibnu Katsir . Jakarta: Pustaka Imam Syafi’i
Alquranonline. 2009. Tafsir. (online) (http://alquranonline.co.cc/ diakses 3 Mei 2009)
Boungenville. 2009.Cemara Norfolk.(online) (http://boungenville. blogspot.com /2008/10 /cemara-norfolk.html di akses 3 Mei 2009)
Gunadarma.2009. Sistem, Model dan Simulasi(online) (http://Ocw.Gunadarma. Ac.Id /Course/Industrial-Technology/Informatics-Engineering-S1/Pemodelan-Dan-Simulasi/Sistem-Model-Dan-Simulasi di akses 1 Juli 2009)
Ichal.2009. Perulangan (Loop).(Online),( http://ndoware.com/perulangan-loop.html di akses 12 Juni 2009)
Lindenmayer, Aristid dkk. 1990. The Algorithmic Beauty Of Plant. Canada
Madcoms. 2006. Pemrograman Borland Delphi 7 Lengkap dengan Contoh Aplikasi. Yogyakarta: Penerbit Andi Offset
Nugroho, Edhi. 2005. Teori dan Praktek Grafika Komputer. Yogyakarta: Penerbit Graha Ilmu
Pusatbahasa. 2009. Simulasi (online)( http://pusatbahasa.diknas.go.id /kbbi/index.php di akses 3 Mei 2009)
Rohman, Ijang. 1994. Grafik Pascal dan Animasinya. Yogyakarta : Penerbit Andi Offset
Simarmata, Janner & Chandra, Tintin. 2007. Grafika Computer. Yogyakarta: Penerbit Andi Offset
Suyoto. 2003. Teori dan Pemrograman Grafika Computer dengan Visual C++ dan OpenGL. Yogyakarta: Penerbit Gava Media
Wikipedia. 2009. CodeGear_Delphi .(online) ( http://id.wikipedia.org /wiki/CodeGear_ Delphi di akses 3 Mei 2009)
Wikipedia. 2009.Grafik komputer,(Online) (http://id.wikipedia.org /wiki/Grafik_ komputer di akses 5 Maret 2009)