BAB 3 ANALISIS DAN PERANCANGAN PROGRAM
Pada Bab 3 ini akan dijelaskan mengenai proses perancangan program aplikasi Fractal Batik, diantaranya adalah analisis mengenai kebutuhan sistem yang akan digunakan, kemudian dilanjutkan dengan rancangan sistem aplikasi berupa cetak biru dari aplikasi yang akan dibuat tersebut. 3.1.
Analisis Kebutuhan Sistem Analisis kebutuhan untuk mendapatkan hasil terakhir dari sistem yang dibuat
adalah analisis mengenai berbagai tahapan proses yang dibutuhkan oleh sistem untuk mendapatkan hasil yang diinginkan. Berikut ini adalah sebuah gambaran secara umum mengenai tahapan-tahapan analisis sistem aplikasi Fractal Batik yang akan dibuat, yaitu: Kalkulasi Hasil Input Pengguna
Generating Gambar Desain
Ekstrasi Hasil Desain Gambar 3. 1. Global Flowchart Analisis Kebutuhan Sistem Bebagai metode analisis dilakukan dalam semua proses tersebut untuk menghasilkan sebuah gambar desain motif batik dengan fractal object melalui sistem aplikasi Fractal Batik tersebut. Sistem secara umum akan membutuhkan sebuah unit input dari pengguna untuk mendapatkan data yang akan digunakan dalam proses
41
mendapatkan hasil ekstrasi data berupa sebuah gambar yang nantinya akan dijadikan sebagai motif dalam pembuatan batik. 3.1.1. Analisis Sistem Pembentuk Fractal Object Dalam sistem yang akan dibuat, untuk membentuk sebuah Fractal Object digunakan tiga buah metode, yaitu L-System, Mandelbrot Set, Julia Set, dan Random Fractal. Langkah pertama adalah melakukan analisis terhadap input yang diberikan oleh pengguna. Ada dua pilihan saat membuat aplikasi ini yang ditujukan untuk pengguna, yaitu membentuk gambar isen dan membentuk gambar corak. Keduanya telah dijelaskan pada bab dua dalam laporan ini. Setelah itu pengguna akan memilih beberapa jenis atau tipe yang akan dibentuk, namun pengguna juga dapat memilih secara customize atau pengguna dapat membuat corak tersendiri sesuai dengan keinginan. Kemudian pengguna akan mengisi berbagai nilai-nilai properties dari model yang telah ia pilih. Kemudian Sistem tersebut akan melakukan analisis terhadap input yang diberikan oleh pengguna. Bila memilih menggunakan model L-System, maka sistem akan membaca rules yang membentuk L-System sesuai dengan jumlah iterasi yang diberikan untuk kemudian diterjemahkan ke dalam Turtle geometry. Dari Turtle geometry tersebut, seperti yang telah dijelaskan pada Bab 2, kemudian dapat dibentuk sebuah grafik sesuai dengan algoritmanya. Untuk memperoleh input yang diberikan oleh pengguna, sistem akan mengambil setiap nilai dalam properties dalam textbox yang diberikan pada sistem. Pada metode L-System terdapat sebuah axiom atau inisial awal, sebagai contoh adalah ABFF+-FB. Setelah mengambil string pada textbox ‘axiom’ tersebut, sistem akan menterjemahkan dan menyimpan string tersebut ke dalam
42
string penampung sementara untuk di cek satu persatu. Sistem kemudian akan bergerak ke textbox lain yang terdapat pada sistem tersebut. Sebagai contoh dengan menggunakan axiom diatas, maka sistem selanjutnya akan bergerak ke textbox bagian ‘A’. Dimana bila terdapat rules baru pada textbox bagian ‘A’ tersebut, maka sistem akan me-replace huruf A tersebut dengan rules baru yang terdapat pada textbox ‘A’ tersebut. Kemudian string akan membaca karakter selanjutnya untuk kemudian diproses seperti contoh diatas. Proses ini akan terus berlanjut sesuai dengan jumlah iterasi yang diinginkan oleh pengguna. 3.1.2. Sistem Generating Fractal Object Setelah melakukan analisis dan menampung semua nilai properties, maka sistem akan menterjemahkan hasil analisis terhadap input pengguna tersebut untuk menghasilkan gambar sesuai hasil analisis tersebut. Untuk melakukan generating, sistem menggunakan metode Drawing yang terdapat pada aplikasi pembuat sistem. Fungsi dari metode Drawing pada bahasa pemrograman digunakan untuk membentuk gambar fractal object. Kebanyakan gambar akan dibuat dengan menggunakan fungsi untuk menggambar garis, karena fractal secara umum merupakan perulangan dari sebuah gambar yang berupa garis. Pada L-system, sistem ini dilakukan dengan menggambar garis-garis yang dihasilkan dari fungsi perulangan pada L-system dan sudut yang semuanya dijalankan dengan Turtle Geometry, sedangkan pada metode Escape-Time Fractal yaitu Mandelbrot Set dan Julia Set, sistem penggambaran dilakukan per piksel sesuai dengan fungsi dan iterasi yang dijalankan.
43
3.2.
Rancangan Sistem Sistem yang akan dibuat dirancang sedemikian rupa untuk memenuhi berbagai
kebutuhan dan tuntutan yang digunakan untuk menghasilkan sebuah aplikasi Fractal Batik. Sistem tersebut nantinya diharapkan dapat memberikan kemudahan bagi pengguna yang akan menghasilkan desain motif sesuai keinginannya. Berbagai form dan fungsi akan diberikan untuk membantu pengguna memenuhi keinginannya. Berikut ini akan dijelaskan detail rancangan sistem yang akan dibuat pada program aplikasi ini yang meliputi sebuah form utama untuk menghasilkan desain batik dengan fractal object. Yang pertama adalah rancangan program yang akan dibuat untuk aplikasi Fractal Batik. Juga akan dijelaskan mengenai rancangan layar dan rancangan struktur utama menu. 3.2.1. Rancangan Program Pada bagian rancangan program ini digunakan flowchart dan sequence diagram untuk menunjukkan alur kontrol dan jalannya program. Berikut ini adalah flowchart yang menunjukkan alur kontrol pada setiap modul.
Tidak Start
Menggambar Batik dengan Motif Fraktal
Mengatur nilai variabel untuk mendapatkan motif yang sesuai
Menggambar ISEN
Apakah dimensi fraktal telah sesuai?
Batik Fraktal
Export Gambar
Ya
Gambar 3. 2. Flowchart Sistem Kontrol Modul
44
Secara umum modul sistem akan berjalan sesuai dengan flowchart diatas. Pertama pengguna akan mengatur nilai-nilai variabel untuk mendapatkan motif yang sesuai atau yang diinginkan oleh pengguna. Setelah itu, pengguna akan memilih isen untuk desain tersebut. Setelah itu pengguna akan menentukan apakah desain tersebut telah sesuai seperti yang diinginkan. Bila telah sesuai maka pengguna akan mengekspor gambar tersebut atau bisa langsung mencetaknya untuk dijadikan referensi sebagai bahan desain motif batik dengan fractal object. Bila tidak sesuai, maka pengguna bisa mengulang proses tersebut. a.
Rich Picture
Request Motif oleh user
Tim Design Mengolah input dari user
Keinginan user diterjemahkan Ke dalam aplikasi
Modifikasi desain bila Tidak sesuai keinginan user
Review oleh user
Motif telah disetujui oleh user
Pencetakan hasil Desain motif
Gambar 3. 3. Rich Picture dari aplikasi Fractal Batik
45
b.
Use Case Diagram
Batik Fractal Membuat Motif Batik
Mencetak Motif Batik User
Edit Corak Batik
Export Corak dalam bentuk JPEG
Gambar 3. 4. Use Case Diagram untuk aplikasi Fractal Batik c.
Sequence Diagram Sequence diagram di bawah ini akan menjelaskan mengenai aliran data
atau program yang diproses oleh sistem. Gambar 3.5 berikut ini menggambarkan urutan kejadian interaksi pengguna aplikasi dengan GUI.
Sistem Aplikasi
User Membuat Proyek baru Feedback ke Operator Proyek Baru
Canvas dan Properties baru
Gambar 3. 5. Sequence Diagram Untuk Pembuatan Proyek Baru
46
Sistem Aplikasi
Pilih Corak
User
Corak tersimpan
Tambah ke dalam List
Set Nilai Variabel roperties Nilai Tersimpan
Simpan nilai Properites
Gambar 3. 6. Sequence Diagram Untuk Proses Penyesuaian Nilai Properties
Sistem Aplikasi
User
Kalkulasi nilai Input Hasil Kalkulasi
Rendering sesuai Input Hasil Gambar rendering
Gambar
Gambar 3. 7. Sequence Diagram untuk proses kalkulasi nilai properties untuk menghasilkan motif fractal
Sistem Aplikasi
User Melakukan Pencetaan/Ekstrasi Cetak/Eksport
Cetak atau Ekstrak ke dalam file Gambar
Gambar 3. 8. Sequence Diagram Untuk Ekstrasi Data Hasil Desain
47
d.
Flow Chart Program Utama Berikut ini adalah flowchart program utama sistem aplikasi Fractal Batik
yang akan menjelaskan mengenai aliran atau jalannya proses program oleh pengguna. Menu Utama
SET warna Background
ADD Corak
Pilih Jenis Corak yang ingin digunakan
Galeri Corak
SET nilai variabel pada properties
Start Drawing
Finish Drawing
EXPORT
Gambar 3. 9. Flowchart program utama Pada saat berada dalam menu utama, pengguna akan memulai project baru. Langkah yang pertama akan dilakukan adalah menentukan warna background pada canvas yang akan digunakan sebagai media untuk menggambar. Bila diterjemahkan atau dinyatakan dengan kondisi sebenarnya
48
atau real, warna background ini akan mewakili warna kain. Kemudian pengguna akan menambah jenis corak baru yang dapat dipilih di dalam galeri corak. Setelah itu pengguna akan menentukan nilai variabel untuk corak tersebut. Setelah itu pengguna dapat melakukan generating pada gambar. Bila hasil yang diinginkan tidak sesuai, pengguna dapat melakukan langkah dengan men-set ulang nilai variabel atau kembali kepada memilih corak baru. Bila telah sesuai, hasil desain tersebut dapat dicetak atau diekstraksi ke dalam bentuk file gambar. 3.2.2. Rancangan Layar Rancangan
layar
menjadi
hal
terpenting
setelah
fungsi
untuk
menghasilkan gambar. Karena aplikasi ini digunakan untuk tujuan seni, maka rancangan layar harus disesuaikan dengan pandangan umum pengguna yang melihatnya dari sudut pandang seni. Interface atau tampilan harus dibuat sedemikian rupa agar pengguna tersebut tertarik dan mudah menggunakannya. Bagi pengguna yang melihat dalam sudut pandang seni, tampilan menjadi hal utama. Berikut ini akan dijelaskan mengenai rancangan layar apa saja yang akan dibuat untuk membantu pengguna dalam membuat motif batik. Yang terdiri dari rancangan layar utama yang akan memuat hasil motif yang telah dibuat, ditambah layar-layar lain yang berfungsi untuk menopang layar utama tersebut. a.
Rancangan Layar Utama Pada layar utama ini terdapat bagian Tools, dimana terdapat pilihan untuk
Add Item, Remove Item, Draw, Reset, Exports, dan Print. Tombol Add Item akan membuka form baru yaitu form Add Item. Demikian pula dengan tombol Remove Item akan membuka form Remove Item. Sedangkan tombol Draw akan
49
memulai generating untuk menggambar desain pada Canvas. Sedangkan tombol Reset akan mengembalikan semua variabel kembali pada nilai awal demikian pula pada bagian Canvas akan kembali ke kondisi awal (blank). Pada tombol Exports, akan membuka sebuah File Dialog untuk meng-ekstrak desain pada Canvas ke dalam file gambar seperti JPEG, BMP, atau PNG. Sedangkan tombol Print akan mencetak hasil desain pada Canvas dengan mesin pencetak. Kemudian pada bagian Properties gambar, pengguna dapat melihat dan merubah dari properties gambar seperti nama Project, warna background, serta variabel properties serta rules dari corak atau isen.
Gambar 3. 10. Rancangan form utama
50
b.
Rancangan Layar Add Item Pada bagian form Add Item ini, pengguna akan memilih jenis item yang
akan ditambahkan untuk diproses pada form aplikasi utama. Add Item Gallery: Item: New
From Gallery
V Name
Sample:
Gambar 3. 11. Rancangan form Add Item Bila pengguna memilih isen, maka isen tersebut akan langsung dimasukkan ke dalam daftar isen pada form utama, baru kemudian pengguna dapat memilih jenis-jenis isen. Bila memilih corak, akan dibuka form baru dimana pengguna akan memilih tipe dan jenis corak yang akan dibuat. c.
Rancangan Layar Remove Item Pada bagian ini, pengguna akan memilih daftar isen atau corak yang akan
dihapus pada project. Daftar item yang akan ditampilkan adalah item yang sebelumnya telah ditambahkan oleh pengguna pada form Add Item.
51
Gambar 3. 12. Rancangan form Remove Item Item yang akan dihapus harus dipilih terlebih dahulu oleh pengguna, baru fungsi Remove bisa digunakan. d.
Rancangan Layar About Pada form ini akan menampilkan data mengenai penulis yang
ditampilkan melalui sebuah form baru.
Gambar 3. 13. Rancangan form About 3.2.3. Rancangan Struktur Menu Struktur menu pada rancangan ini yang dapat dilihat pada gambar dibawah ini, memperlihatkan susunan dari rancangan menu yang akan
52
disediakan, di mana pengguna dapat memilih menu yang ingin dijalankan saat menggunakan program aplikasi ini. Menu Window - File Save As Save Print Preview Print Exit - Edit Undo Redo Reset - Project Add Item Remove Item Draw View Item List Export - Help Help Documents About Gambar 3. 14. Rancangan Struktur Menu Menu tersebut menyediakan berbagai fungsi yang dapat dijalankan oleh pengguna saat mencoba membuat motif batik dengan aplikasi ini. Pada menu ‘File’, disediakan beberapa fungsi diantaranya fungsi ‘Save’ atau ‘Save As’ yang berfungsi untuk menyimpan data yang telah dibuat pengguna ke dalam suatu file, agar suatu saat bila pengguna ingin merubah desain dan motif tersebut tinggal memanggil file yang telah tersimpan. Sedagkan fungsi ‘Print’, berfungsi untuk mencetak hasil desainpada aplikasi ke dalam suatu media kertas. Sedangkan fungsi ‘Print Preview’ berfungsi untuk melihat daerah desain secara utuh yang nantinya akan di cetak dengan fungsi ‘print’.
53
Pada menu ‘Edit’, terdapat fungsi yang berhubungan untuk melakukan sebuah perubahan pada proyek yang sedang dibuat. Fungsi ‘Undo’ berguna untuk membatalkan aksi terakhir yang dilakukan pengguna saat membuat desain motif dengan aplikasi ini. Sedangkan fungsi ’Redo’ berguna untuk membatalkan fungsi ‘Undo’ yang dijalankan oleh penggun dan fungsi ’Reset’ untuk membatalkan semua aksi yang telah dilakukan oleh pengguna dari awal pembuatan proyek. Menu ‘Project’ akan menampilkan fungsi-fungsi yang berhubungan dengan hasil desain proyek. Fungsi ‘Add Item’ berguna untuk menampilkan form baru yang akan memuat fungsi untuk menambah koleksi item baik itu item corak maupun isen yang akan dijadikan sebagai salah satu objek dalam perancangan motif batik dengan aplikasi ini. Sedangkan fungsi ‘Remove Item’ akan menampilkan koleksi item yang akan dipilih pengguna untuk dihapus dari daftar koleksi. Fungsi ’Draw’ berguna untuk memproses koleksi item yang dipilih pengguna untuk dihasilkan gambarnya pada aplikasi. Fungsi ‘Export’ akan meng-ektrasi atau mencetak hasil desain ke dalam bentuk format file gambar yang akan disimpan. Fungsi ‘View Item List’ akan menampilkan layar yang memuat tampilan semua koleksi item yang telah tersimpan dalam file beserta contoh gambar dari item tersebut. Menu ‘Help’ menampilkan fungsi yang berguna untuk membantu pengguna yaitu fungsi ‘Help Document’ yang akan menampilkan cara-cara penggunaan aplikasi dan juga menjelaskan fungsi-fungsi dari setiap tombol dan objek pada aplikasi.
54
Pada bab 3 ini telah dibahas mengenai berbagai analisi dari sistem yang akan dibuat. Dimulai dari pola analisisi kebutuhan sistem sampai kepada rancangan sistem. Cetak biru dari sistem yang akan dibuat ditampilkan pada bagian rancangan layar di bab ini. Juga dibahas mengenai analisis algoritma atau pseudocode yang akan digunakan untuk membuat fungsi pada aplikasi ini.