• Tidak ada hasil yang ditemukan

BAB 3 PERANCANGAN PROGRAM. dari OOP (Object Oriented Programming) di mana dalam prosesnya, hal-hal

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 PERANCANGAN PROGRAM. dari OOP (Object Oriented Programming) di mana dalam prosesnya, hal-hal"

Copied!
14
0
0

Teks penuh

(1)

PERANCANGAN PROGRAM

3.1 Spesifikasi Rumusan Rancangan

Program Algoritma Genetika dirancang dengan mengikuti prinsip-prinsip dan sifat- sifat dari OOP (Object Oriented Programming) di mana dalam prosesnya, hal-hal yang digunakan selama proses adalah sebuah objek. Istilah-istilah yang digunakan dalam bahasan juga banyak mengacu pada istilah dalam OOP. Alasan dari rancangan program Algoritma Genetika untuk berorientasi objek karena :

a. Cara kerja program ini adalah memproses data yang mewakili objek-objek yang ada di dunia nyata. Akan lebih baik jika objek-objek yang ada di dunia nyata, dalam programnya juga diwakili dengan objek-objek. Seperti contoh sebuah barang-barang dalam gudang yang akan disusun diwakili dengan sebuah objek pattern, sebuah bidang diwakili dengan sebuah objek bidang yang tentunya

mempunyai sifat mengikuti dunia nyata yang bisa dirotasi, ditranslasi, dan sebagainya.

b. Object Oriented Programming (OOP) merupakan teknik programming yang

sedang berkembang saat ini, di mana banyak bahasa pemrograman yang baru

menerapkan prinsip full OOP, sehingga untuk masa depan program Algoritma

Genetik dapat dikembangkan sesuai dengan kebutuhan user dan dapat dengan

mudah untuk ditransfer dan dikembangan dengan bahasa yang berbeda (yang

bersifat OOP juga).

(2)

Rancangan Program optimasi ini terbagi menjadi tiga bagian utama yaitu tahap input, tahap proses (Algoritma Genetik), tahap output.

a. Tahap Input adalah tahap dimana user dapat memasukkan data pola yang diinginkan yang berupa width dan height beserta settingan parameter Algoritma Genetik.

b. Pada tahap proses, dimulai dari pembentukan populasi awal dan objek Parameter Algoritma Genetik. Kemudian dilanjutkan dengan menyusun objek dalam bidang lalu dilakukan perhitungan fitness. Setelah itu, baru dilakukan pengecekan jumlah generasi. Jika jumlah generasi baru sudah lebih besar dari jumlah generasi sebelumnya, maka akan menampilkan output. Jika belum, proses akan menambah satu generasi baru sebagai pembentukan populasi yang baru.

c. Proses output adalah proses dimana hasil yang akan ditampilkan dapat akan menjadi seoptimal mungkin dengan menggunakan Algoritma Genetika. Hasil keluaran yang akan ditampilkan berupa file gambar yang berekstensi .png.

3.1.1 Proses Input

Dalam proses ini, user dapat memasukkan inputan berupa width dan height sebagai data dalam bidang maupun settingan parameter Algoritma

Genetik yang diinginkan untuk proses perhitungan.

Untuk memulai perhitungan, user dapat menekan button Start pada menu

welcome atau dapat juga dilakukan melalui menu bar file → new kemudian akan

muncul tampilan layar untuk memasukkan input data berupa width dan height

dengan menekan button Add Row beserta dengan settingan parameter Algoritma

(3)

Genetikanya. Jika user ingin menghapus beberapa kolom pada inputan width dan height, user dapat menekan button Delete Row dimana kolom terakhir dari inputan yang akan dihapus oleh program.

3.1.2 Proses Algoritma Genetik

Tahap ini merupakan inti dari program searching dengan metode Algoritma Genetika. Pada tahap ini dengan data-data yang telah dihasilkan dari proses input langsung digunakan dalam proses Algoritma Genetika. Untuk menjalankan proses ini, user dapat menekan button Run agar dapat memulai proses searching hingga mendapat hasil output akhirnya.

Pada tahap ini akan terjadi beberapa proses mengikuti metode dari Algoritma Genetika. Langkah-langkah yang dilakukan oleh proses Algoritma Genetika ini adalah sebagai berikut :

a. Menghitung TotalBoxArea

Dalam tahap ini, algoritma yang sedang berjalan adalah menghitung jumlah kotak baik berupa persegi maupun persegi panjang sesuai dari inputan yang diberikan oleh user. cara perhitungan dari luas dari TotalBoxArea adalah :

TotalBoxArea = boxes.get(i).xsize * boxes.get(i).ysize

Dimana ukuran dari xsize merupakan ukuran dari width sedangkan ysize adalah ukuran dari height berdasarkan inputan dari sang user.

b. GenerateRandomGeneration

Pada tahap GenerateRandomGeneration, Algoritma Genetika akan meng-

generate sebuah generasi baru secara random yang didapat dari kromosom

setiap kotak untuk mendapatkan BestGeneration.

(4)

c. PrepChromosomsForFitnessCalc

Dalam tahap ini, beberapa kromosom telah disiapkan untuk perhitungan fungsi fitness dengan memasukkan nomor pada masing-masing kotak dalam sebuah kromosom.

d. Calcfitness

Kemudian pada tahap Calcfitness adalah tahap dimana perhitungan dan penetapan nilai fitness dari setiap kromosom yang ada.

e. Sortchromosomes

Pada tahap selanjutnya adalah Sortchromosomes yang bertujuan untuk mengurutkan seluruh kromosom sehingga dapat memilih kromosom yang terbaik dari daftar kromosom yang pertama.

f. Evolution

Dan pada tahap akhir yaitu Evolution atau biasa disebut dengan teori evolusi, dimana pada tahap ini akan menghasilkan sebuah generasi baru dari generasi kromosom sebelumnya. Disini akan terjadi proses selection (seleksi), crossover (pindah silang), mutation (mutasi) dan geneswap (pertukaran gen).

3.1.3 Cara kerja dari Algoritma Genetika

Berikut ini adalaha cara kerja dari Algoritma Genetika yang berjalan di

dalam program :

(5)

1. Proses pembuatan kotak yang berbentuk persegi dan persegi panjang

Gambar 3.1 Objek Pola

Pada Gambar 3.1 menjelaskan tentang gambar dari bentuk masing - masing pola berdasarkan inputan dari user yang berupa width dan height.

2. Proses pengurutan pada penempatan objek pola

Gambar 3.2 Pengurutan Objek Pola

(6)

Pada gambar 3.2 menjelaskan tentang proses pengurutan objek pola yang dimulai dari kotak pertama hingga kotak terakhir. Proses penempatan objek pola dimulai dari pengecekan sisi paling kiri pada bingkai bidang kemudian dilanjutkan dengan pengecekan sisi paling atas pada bingkai bidang. Setelah batas paling atas pada bingkai bidang sudah terisi penuh maupun hampir penuh oleh objek pola tersebut hingga membuat objek pola selanjutnya sudah tidak muat lagi jika ditaruh disamping pola sebelumnya, maka proses pengecekan lokasi penempatan objek pola selanjutnya yaitu dengan mengecek sisi paling kiri bingkai bidang dan mengecek sisi paling bawah pada objek pola yang sudah diletakkan sebelumnya pada bingkai bidang. Proses ini terus berlanjut hingga semua objek pola selesai diletakkan.

Untuk cost setiap kromosom dihitung sebagai ruang terbuang yang berada pada bingkai bidang setelah semua objek pola ditempatkan dalam bingkai bidang

1 .

Dimana y mewakili nilai dari height (tinggi bingkai bidang), x mewakili nilai dari width (lebar bingkai bidang) dan a adalah luas total dari masing - masing bidang.

Sebagai contoh dalam pencarian cost/fitness area dapat dimisalkan nilai dari y = 55,x = 60 dan a = 2150 maka untuk mencari nilai cost/fitness area adalah :

1 2150 55 . 60

1 0.651

0.349

(7)

3

3

3.1.4 Prose

letak ditam dilih

3.2 Peranca

Peran menghas memberi

Gambar

es Output Pada taha k dan pengu mpilkan pad

at pada Gam

Gamba

angan Progr

ncangan sis silkan sebua

ikan kemud

r 3.3 Hasil S

ap akhir, yai urutan pola da program i mbar 3.4.

r 3.4 Sampe

ram

tem yang b ah aplikasi p dahan bagi p

Sementara da

itu proses ou a dengan m ini. Contoh

el Hasil Akhi

bertujuan un pengoptimal penggunany

ari Penguruta

utput dimana

menggunakan dari hasil o

ir Penguruta

ntuk memen lan pola ter a. Perancan

an Objek Po

a hasil dari s n Algoritma output pada

an Objek Pol

nuhi berbaga rbaik. Sistem ngan ini ber

ola

seluruh penc a Genetika program ini

la

ai tuntutan u m ini dihara rupa peranca

carian akan i bisa

untuk

apkan

angan

(8)

struktur menu, use case diagram, flowchart diagram dan perancangan interface dari masing-masing menu.

3.2.1 Rancangan Struktur Menu

Struktur menu software dirancang adalah sebagai berikut.

a. Struktur Menu Utama

Gambar 3.5 Struktur Menu Utama

Pada Gambar 3.5 merupakan struktur menu utama dari program ini yang ketika dijalankan tampilan awalnya mendeskripsikan judul skripsi dalam layar utama program ini dan memiliki button continue untuk menuju ke halaman berikutnya.

b. Struktur Menu File

 

Gambar 3.6 Struktur Menu File

(9)

Pada Gambar 3.6 menjelaskan struktur menu pada menu file yang dimana pada menu file ini memiliki 4 sub menu yang terdiri dari sub menu New, sub menu dialog Open, sub menu dialog Save, dan sub menu Exit. Di setiap sub menu

memiliki fungsi yang berbeda - beda yang akan dijelaskan lebih detail pada bab berikutnya.

c. Struktur Menu Help

 

Gambar 3.7 Struktur Menu Help

Pada Gambar 3.7 menjelaskan tentang struktur menu dari menu Help yang terdiri dari 2 sub menu yaitu sub menu About dan sub menu Description. Menu Help ini bertujuan untuk membantu memudahkan user untuk menjalankan program ini

dan memudahkan user dalam mengenal fungsi-fungsi dari masing-masing menu yang

berada dalam program ini dan tidak lupa juga program ini sudah dilengkapi dengan

biodata dari sang penulis.

(10)

3.2.2 Use Case Diagram

Pada tahap penjelasan program dengan menggunakan Diagram Use Case dapat dilihat ilustrasinya pada gambar berikut.

 

Gambar 3.8 Use Case Diagram untuk Optimizer

Setelah melihat Use Case Diagram pada Gambar 3.8 dapat dijelaskan bahwa sang user dapat melakukan 3 interaksi dalam program optimizer ini yaitu user dapat memasukkan input data dan settingan parameter

Algoritma Genetika, mencari solusi peletakan pola dengan menggunakan proses

searching dari Algoritma Genetika, serta dapat melihat solusi akhir dari

peletakan pola yang sudah dioptimalkan oleh program ini.

(11)

3.2.3 Flowchart Diagram

Pada tahap penjelasan program selanjutnya dengan menggunakan Diagram Flowchart dari proses mulai hingga selesai untuk mendapatkan solusi optimal dapat dilihat ilustrasinya pada gambar berikut.

   

 

Gambar 3.9 Flowchart Analisis Program Berjalan

(12)

3.2.4 Rancangan Layar Program a. Menu Welcome

Menu ini adalah merupakan menu tampilan utama dari rancangan layar program yang dibuat untuk menyambut user dengan mendeskripsikan secara sekilas judul dari karya ilmiah yang telah dibuat oleh penulis. Untuk menuju ke halaman berikutnya user dapat menekan button continue.

Rancangan layar Welcome dapat dilihat pada gambar berikut.

Welcome X

Continue

 

Gambar 3.10 Rancangan Layar Welcome

Berikut ini adalah pseudocode untuk form Welcome.

If ditekan tombol Continue then Tampilkan page berikut

b. Menu Optimizer

Pada menu Optimizer ini merupakan menu untuk sang user untuk

menginput data-data yang dibutuhkan untuk tahap pencarian solusi serta

tampilan untuk hasil dari pencarian solusi yang diinginkan.

(13)

Rancangan layar menu Optimizer dapat dilihat pada gambar berikut.

Gambar 3.11 Rancangan Layar Menu Optimizer

Berikut ini adalah pseudocode untuk form Menu Optimizer.

If ditekan tombol Add Row then Menginput nilai Width dan Height If ditekan tombol Delete Row then Menghapus baris terakhir dari inputan If ditekan tombol Run then

Menghitung total box area

Mengenerate secara random pada generasi awal While total new gen < total last gen

Begin

Perhitungan fungsi fitness Sorting kromosom

Evolusi

End

Tampilkan Output

(14)

c. Menu About

Pada Menu About ini berisikan tentang judul karya ilmiah sang penulis dan biodata singkat sang penulis beserta dosen pembimbing sang penulis selama mengerjakan karya ilmiah ini.

Rancangan layar menu About dapat dilihat pada gambar berikut.

 

Gambar 3.12 Rancangan Menu About

Berikut adalah pseudocode untuk menu about.

If ditekan tombol OK then Keluar dari menu About d. Menu Description

Pada Menu Description ini berisikan tentang penjelasan masing-masing fungsi dari menu bar, sub menu bar, button serta prosedur penggunaan yang ada dalam program ini.

Rancangan layar menu Description dapat dilihat pada gambar berikut.

Gambar 3.13 Rancangan Modul Description

Berikut adalah pseudocode untuk menu Description.

If ditekan tombol OK then

Keluar dari menu Description.

Gambar

Gambar 3.1 Objek Pola
Gambar 3.5 Struktur Menu Utama
Gambar 3.7 Struktur Menu Help
Gambar 3.8 Use Case Diagram untuk Optimizer
+3

Referensi

Dokumen terkait

ABSTRAK' Penelitian ini bertujuan untuk mengetahui pengaruh Lokasi, Harga dan Label Halal Terhadap Keputusan Pembelian Produk Wardah Malang. Jenis penelitian ini adalah

Manpower Planning merupakan sebuah proses dalam suatu perusahaan untuk memastikan bahwa perusahaan tersebut akan mempunyai jumlah pekerja yang tepat dan memiliki

Pada penelitian ini akan dilakukan perbandingan model ARCH/GARCH model ARIMA dan model fungsi transfer, dengan IHSG sebagai deret output dan harga minyak mentah dunia

Penelitian ini menemukan lima tema pengalaman hospitalisasi pada anak, yaitu terbatasnya melaku- kan aktivitas rutin sehari-hari, suasana ruang rawat tidak nyaman, tidak

Tujuan dari penelitian ini adalah : (1) Untuk mengkaji keberhasilan penerapan metode kooperatif tipe jigsaw pada proses pembelajaran IPA pokok bahasan makhluk hidup di kelas 4

User /admin dapat menambahkan unit baru dengan menekan tombol tambah data yang tersedia di submenu unit, setelah itu akan diarahkan ke menu tambah data ke unit.. Admin

Pada bagian ini penulis menyajikan kesimpulan berdasarkan hasil penelitian yang penulis peroleh setelah melakukan pengkajian dan analisis terhadap permasalahan

Gugus pulau Desa Talise bahkan merupakan pulau yang sangat kecil dimana pulau ini telah dimanfaatkan untuk berbagai peruntukan seperti untuk aktivitas pertanian, pemanfaatan