Generating Gambar Desain
Ekstrasi Hasil Desain Kalkulasi Hasil Input
Pengguna 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:
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
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
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.
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.
Menggambar Batik dengan Motif Fraktal
Mengatur nilai variabel untuk mendapatkan motif yang sesuai
Menggambar ISEN
Apakah dimensi fraktal telah
sesuai?
Export Gambar
Batik Fraktal Ya
Tidak
Start
Gambar 3. 2. Flowchart Sistem Kontrol Modul
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
Keinginan user diterjemahkan Ke dalam aplikasi Request Motif oleh user Tim Design Mengolah
input dari user
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
b. Use Case Diagram
User
Batik Fractal
Membuat Motif Batik
Mencetak Motif Batik
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.
User
Sistem Aplikasi
Membuat Proyek baru
Feedback ke Operator
Proyek Baru Canvas dan Properties baru
Gambar 3. 5. Sequence Diagram Untuk Pembuatan Proyek Baru
Pilih Corak Corak tersimpan
Nilai Tersimpan User
Tambah ke dalam List
Set Nilai Variabel roperties
Simpan nilai Properites Sistem Aplikasi
Gambar 3. 6. Sequence Diagram Untuk Proses Penyesuaian Nilai Properties
User Kalkulasi nilai Input
Sistem Aplikasi
Hasil Kalkulasi
Rendering sesuai Input
Gambar Hasil Gambar rendering
Gambar 3. 7. Sequence Diagram untuk proses kalkulasi nilai properties untuk menghasilkan motif fractal
User
Sistem Aplikasi
Melakukan Pencetaan/Ekstrasi
Cetak atau Ekstrak ke dalam file Gambar Cetak/Eksport
Gambar 3. 8. Sequence Diagram Untuk Ekstrasi Data Hasil Desain
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
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
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
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.
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.
Add Item
Item:
New From Gallery
Name
Gallery:
Sample:
V
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
disediakan, di mana pengguna dapat memilih menu yang ingin dijalankan saat menggunakan program aplikasi ini.
Menu Window - File
Save As
Save
Print Preview
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’.
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.
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.