BAB 3 PERANCANGAN PROGRAM APLIKASI
Perancangan program aplikasi ini menjelaskan definisi perancangan software yang di ambil dari berbagai sumber, permasalahan yang dihadapi sebelum program aplikasi ini dibuat, kemudian pengajuan usulan pemecahan masalah dengan dibuatnya perancangan program aplikasi optimasi peletakan posisi label kertas atau plastik menggunakan metode a* heuristic, spesifikasi rumusan rancangan, serta alat bantu yang digunakan dalam perancangan, setelah itu membuat perancangan program menggunakan alat bantu perancangan program dan menggunakan diagramdiagram berdasarkan UML, kemudian dibuat perancangan antar muka yang berupa gambar-gambar storyboard perancangan program aplikasi optimasi peletakan posisi label kertas atau plastik menggunakan metode a* heuristic.
3.1
Perancangan Software Menurut Sommerville (2001), perancangan perangkat lunak adalah disiplin
perancangan yang berhubungan dengan semua aspek dari produksi perangkat lunak dari tahap awal spesifikasi sistem sampai dengan pemeliharaan setelah sistem dalam tahap berjalan. Software juga dapat diartikan sebagai kumpulan perintah dalam bentuk datadata elektronik yang biasa disimpan dan dieksekusi oleh suatu instruksi atau program untuk menjalankannya. Fungsi software umumnya adalah untuk mengindetifikasi program, menyiapkan dan mengatur suatu program aplikasi agar kerja seluruh 47
48
komputer terkontrol dengan baik, serta membuat pekerjaan pengguna komputer menjadi lebih efisien. Perangkat lunak adalah program komputer yang berfungsi sebagai sarana interaksi antara pengguna dengan perangkat keras atau sebagai penerjemah perintahperintah yang dijalankan pengguna komputer untuk diteruskan atau diproses oleh perangkat keras. Perangkat lunak dibagi menjadi 3 tingkatan, yaitu : a.
Tingkatan program aplikasi, yaitu software yang dirancang khusus untuk kebutuhan-kebutuhan tertentu. Contohnya, Microsoft Office, Microsoft Outlook, Opera, dan lain sebagainya.
b.
Tingkatan sistem operasi, yaitu perangkat lunak sistem yang bertugas untuk mengontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti Microsoft Office dan browser web. Contohnya, Microsoft Windows, Unix, dan Mac OS.
c.
Tingkatan bahasa pemrograman, berfungsi untuk membuat suatu aplikasi dengan menggunakan bahasa-bahasa dengan atuuuran tertentu. Bahasa yang dibuat akan diterjemahkan kedalam bahasa mesin supaya dapat dimengerti oleh komputer. Contohnya, bahasa tingkat tinggi adalah pascal, bahasa tingkat rendah adalah assembly language, dan bahasa generasi keempat adalah Java, VB.NET. C++, C#, dan lain sebagainya.
Pada umumnya, perangkat lunak digunakan untuk mengontrol perangkat keras, melakukan perhitungan (memproses), berinteraksi dengan perangkat lunak yang lebih mendasar lainnya, seperti sistem operasi, dan bahasa pemrograman, dan lain sebagainya.
49
Permodelan dalam suatu rekayasa piranti lunak merupakan suatu hal yang dilakukan ditahap awal. Permodelan ini akan menpengaruhi pekerjaan-pekerjaan dalam rekayasa piranti lunakini selanjutnya. Dalam mengembangkan program ini penulis menggunakan permodelan waterfall. Tahapan-tahapan yang dilakukan dalam permodelan waterfall adalah sebagai berikut :
Analisis dan Penentuan Kebutuhan
Desain Sistem dan Pengujian Unit Implementasi Pengujian Unit Integrasi dan Pengujian Sistem
Pengoperasian dan Pemeliharaan Gambar 3.1 Perancangan Perangkat Lunak Model Waterfall
1) Analisis dan penentuan kebutuhan Tugas, kendala dan tujuan sistem ditentukan melalui konsultasi dengan pengguna sistem, kemudian ditentukan cara yang dapat dipahami baik oleh pengguna maupun staf pengembang.
50
2) Desain sistem dan perangkat lunak Proses desain sistem terbagi dalam kebuthan perangkat keras dan perangkat lunak. Hal ini menentukan arsitektur perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu bentuk yang dapat ditranformasikan ke dalam satu atau lebih program yang dapat dieksekusi. 3) Implementasi dan pengujian unit Dalam tahap ini, desain perangkat lunak direalisasikan dalam suatu himpunan program atau unit-unit program penguji, mencakup kegiatan verifikasi terhadap setiap unit sehingga memenuhi syarat spesifikasinya. 4) Integrasi dan pengujian sistem Unit program secara individual diintengrasikan dan diuji sebagai satu sistem yang lengkap untuk memastikan bahwa kebutuhan perangkat lunak telah terpenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada pengguna. 5) Pengoperasian dan pemeliharaan Secara normal, walaupun tidak perlu, tahap ini merupakan fase siklus hidup yang terpanjang. Sistem telah terpasang dan sedang dalam penggunaan. Pemeliharaan mencakup perbaikan kesalahan yang tidak ditemukan
dalam
tahap-tahap
ini
sebelumnya,
meningkatkan
implementasi unit-unit sistem dan mempertinggi pelayanan sistem sebagai kebutuhan baru yang ditemukan.
51
3.2
Permasalahan yang Dihadapi Sistem yang digunakan banyak perusahaan pembuatan label yang sedang
berjalan sekarang ini, kurang memperhatikan biaya-biaya yang timbul akibat peletakkan posisi label yang kurang optimal. Dampaknya banyak biaya yang dikeluarkan untuk pembelian bahan kertas atau plastik serta pemborosan terhadap waktu, karena banyak bahan kertas atau plastik yang masih bisa dimanfaatkan menjadi bahan yang terbuang. Perusahaan-perusahaan pembuat label terkadang kurang memperhatikan peletakkan posisi yang baik dalam peletakkan label kertas atau plastik. Sehingga terjadi penempatan yang sering kali kurang optimal dan banyak terdapat ruang kosong yang seharusnya masih bisa dipergunakan. Hal tersebut menyebabkan terjadinya pemborosan terhadap bahan yang dipergunakan, biaya, serta waktu.
3.3
Pemecahan Masalah Terdapat banyaknya permasalahan dari berbagai perusahaan tempat
pembuatan label tersebut, maka dibuat sebuat software yang dapat membantu peletakkan posisi label kertas atau plastik yang akan dibuat menjadi optimal. Dengan permasalahan yang telah diketahui, maka software yang akan dikembangkan memiliki kemampuan sebagai berikut : a.
Memaksimalkan penggunaan bahan kertas atau plastik yang tersedia dan meminimalkan bahan yang tidak terpakai dengan batasan-batasan yang ada.
b.
Label yang diletakkan berupa pola persegi, persegi panjang, lingkaran, segitiga, dan ellips dengan berbagai macam ukuran dan jumlah yang tidak melebihi ukuran bahan kertas atau plastik yang dipergunakan.
52
Dengan dikembangkannya software optimasi peletakkan posisi label kertas atau plastik ini dapat membantu para perusahaan pembuatan label untuk mendapatkan hasil yang optimal, lebih cepat, akurat, serta efisien.
3.4
Spesifikasi Rumusan Rancangan Program Algoritma A* Heuristic dirancang dengan mengikuti prinsip-prinsip
dan sifat-sifat dari Object Oriented Programming (OOP) dimana dalam prosesnya, hal-hal yang digunakan selama proses adalah sebuah objek. Alasan dari rancangan program A* Heuristic untuk berorientasi objek, karena : a.
Cara kerja program ini adalah memproses data yang mewakili objekobjek yang ada di dunia nyata. Akan lebih baik, jika objek-objek yang ada didunia nyata, dalam programnya juga diwakili objek-objek. Contohnya, sebuah pola akan diwakili dengan sebuah objek pattern, sebuah bidang atau alas dasar diwakili dengan sebuah objek bidang atau alas yang tentunya mempunyai sifat mengikuti dunia nyata, dan lain sebagainya.
b.
Object Oriented Programming (OOP) adalah teknik programming yang sedang
berkembang
saat
ini,
dimana
terdapat
banyak
bahasa
pemrograman baru yang menerapkan prinsip full OOP, sehingga untuk masa depan pemprograman A* Heuristic dapat dikembangkan sesuai dengan kebutuhan pengguna dan dapat dengan mudah ditransfer dan dikembangkan dengan bahasa yang berbeda bersifat OOP juga.
Rancangan program optimasi peletakkan posisi label dibagi menjadi tiga bagian utama, yaitu :
53
1) Tahap input adalah tahap dimana user dapat memilih bentuk pola, ukuran pola dan jumlah masing-masing yang diinginkan. 2) Tahap proses (A* Heuristic) ini akan dilakukan pengambilan seluruh data label, lalu sorting dari perhitungan luas label (width * height) yang sudah dipilih, kemudian menghitung keliling untuk mendapatkan posisi yang dipilih untuk peletakkan label dengan rumus (((kel_alas – batas_alas) + (kel_label – batas_alas)) – label_dempet) + nilai_tambah. Penyusunan peletakkan posisi semua label berdasarkan data yang diinput oleh user akan berhasil, jika tidak melebihi batas ukuran alas dasar yang telah otomatis terpasang. 3) Tahap output yaitu hasil keluaran dari proses yang ditampilkan akan menjadi seoptimal mungkin dengan menggunakan algoritma A* Heuristic. Hasil keluaran dapat disimpan kedalam file gambar dengan format .jpg.
3.5
Alat Bantu perancangan Alat bantu perancangan yang digunakan dalam perancangan program aplikasi
optimasi peletakan posisi label kertas atau plastik berupa state transition diagram untuk menggambarkan proses satu dihubungkan dengan proses yang lainnya, dan pseudocode untuk membantu tahapan pengcodingan perancangan program aplikasi ini.
3.5.1 State Transition Diagram (STD) Menurut Hoffer J.A. (1996, p364), State Transition Diagram adalah suatu diagram yang menggambarkan bagaimana suatu proses dihubungkan satu sama lain
54
dalam waktu yang bersamaan. State Transition Diagram digambarkan dengan sebuah
state
yang
berupa
komponen
sistem
yang menunjukkan bagaimana kejadian-kejadian tersebut dari satu state ke state yang lain. Komponen yang biasa digunakan dalam STD, yaitu : a.
Aktif 1) Keadaan sistem (system state) State merupakan kumpulan keadaan atau atribut yang mencirikan suatu benda pada waktu atau kondisi tertentu. State disimbolkan dengan
persegi
panjang.
Proses user mengisi password, menentukan
Contohnya instruksi
:
berikutnya.
Simbol state :
2) Perubahan keadaan (transition state) Perubahan keadaan digambarkan dengan garis panah berarah yang menghubungkan dua keadaan berkaitan. Simbol transition state:
3) Kondisi (condition) Condition adalah keadaan
dari
sebuah satu
state
sinyal ke
seperti interrupt signal atau data.
yang menyebabkan state
berikutnya.
perubahan Contohnya,
55
4) Aksi (Action) Action adalah hal yang dilakukan sistem apabila terdapat perubahan state
atau
merupakan
reaksi
terhadap
kondisi.
Action menghasilkan keluaran dari tampilan pesan, cetakan atau alat output lainnya. b.
Pasif Sistem ini tidak melakukan kontrol lingkungan, akan tetapi lebih bersifat
menerima data atau memberi reaksi saja (sistem yang menerima atau mengumpulkan data dari sinyal yang dikirim oleh satelit).
3.5.2 Pseudocode Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemograman tetapi bahasa tersebut hanya ditujukan agar dapat dibaca manusia. Biasanya yang ditulis dari pseudocode adalah variabel dan fungsi. Pseudocode merupakan alternative lain dalam perancangan perangkat lunak di samping alat-alat bantu berupa diagram. Tidak ada standarisasi dalam hal pseudocode. Pemprogram dapat menulisnya dalam bahasa apa saja yang mereka suka, dipadukan dengan bahasa pemprograman tertentu. Pemprogram juga bebas menggunakan teknik dan aturannya sendiri. Aturan penulisan pseudocode sebagai berikut : a.
Pernyataan ditulis dalam bahasa inggris sederhana.
b.
Setiap perintah ditulis pada baris tersendiri.
c.
Kata kunci atau indentasi (penulisan yang menjorok ke dalam) digunakan untuk menandai struktur control khusus.
56
d.
Setiap bimbingan perintah ditulis dari atas ke bawah dengan hanya satu awal dan satu akhir program.
e.
Kumpulan pernyataan dapat dibentuk dalam modul-modul yang diberi nama tertentu.
Tujuan penggunaan utama dari pseudocode adalah untuk memudahkan manusia dalam memahami prinsip-prinsip dari suatu algoritma. Penggunaan pseudocode umumnya banyak kita temukan di buku-buku dan artikel-artikel tentang pemrograman yang membahas tentang algoritma tertentu. Kadang pula pseudocode kita temukan dalam merencanakan pengembangan suatu program komputer. Dalam pseudocode, tidak ada syntax standar yang resmi. Karena itu, pseudocode ini dapat kita terapkan dalam berbagai bahasa pemograman. Notasi pseudocode ada 2 cara untuk menggambarkan kondisional / decision, yaitu: a.
Menggunakan IF
Contoh penggunaan IF : If(Nilai > 80) Output ‘A’ else if(Nilai > 60) Output ‘B’ else if(Nilai > 50) Output ‘C’ else if(Nilai > 30) Output ‘D’
57
b.
Menggunakan Depend On
Contoh penggunaan Depend on : Depend on Nilai Nilai > 80: Output ‘A’ Nilai > 60: Output ‘B’ Nilai > 50: Output ‘C’ Nilai > 30: Output ‘D’ Dalam notasi pseudocode ada 3 cara untuk menggambarkan pengulangan (loop), yaitu: a.
Menggunakan Repeat Dengan menggunakan repeat…until, maka proses yang ada di dalam looping (perulangan) akan dilakukan minimal sekali hingga menemukan kondisi
berhenti
pada
kondisi
until-nya.
Contoh: X = 10 repeat Output X X=X–1 until X = 0 Pseudocode diatas menggambarkan program yang akan menampilkan bilangan dari 10 dan bilangan akan berkurang hingga 0. b.
Menggunakan While Dengan menggunakan while, proses yang dilakukan pada bagian perulangan akan dilakukan jika kondisi yang berada pada while-nya
58
dipenuhi, jadi masih ada kemungkinan proses yang ada pada perulangannya (loop) masih tidak dijalankan. Contoh: X = 10 while (X >= 0) do Output X X=X–1 c.
Menggunakan Traversal Dengan menggunakan metode traversal, proses yang dilakukan pada bagian perulangan akan dilakukan sebanyak jumlah yang ditentukan pada bagian traversal-nya. Jadi, kita dapat menggunakan metode traversal jika kita memang sudah tau benar berapa kali proses yang dilakukan tersebut akan dilakukan. Contoh: i traversal (1..10) Output X
3.6
Perancangan Program Perancangan program ini bertujuan untuk menghasilkan sebuah aplikasi
pengoptimalan peletakkan posisi label terbaik, serta diharapkan memberi kemudahan bagi para pengguna. Perancangan program berupa perancangan State Transition Diagram, use case diagram, flowchart diagram, dan perancangan layar.
3.6.1 State Transition Diagram a.
STD Tampilan Awal
Welcome
klik
Create
Gambar 3.2 STD Tampilan Awal
59
STD tampilan awal dari program ini memiliki background judul skripsi, logo binus, dan nama penulis, lalu tampilan diatasnya terdapat pilihan menu File dan Help, tampilan mendeskripsikan langkah-langkah jalannya program, dan button Create Your Label untuk memulai membuat optimasi peletakan posisi label.
b.
STD Menu File
klik
Save
File klik
Exit
Gambar 3.3 STD Menu File
Menu File memiliki 2 sub menu, yaitu sub menu Save dan sub menu Exit. Sub menu Save berfungsi untuk menyimpan hasil keluaran ke dalam bentuk file gambar dengan format .jpg. Dan sub menu Exit berfungsi untuk keluar dari program aplikasi optimasi peletakkan posisi label.
c.
STD Menu Help klik
Help
About Gambar 3.4 STD Menu Help
Menu Help ini memiliki sub menu About yang bertujuan untuk memberikan informasi judul skripsi, nama dan nim penulis, nama dosen
60
pembimbing, jurusan, fakultas, serta nama dan tempat universitas, dan tahun pembuatan.
d.
STD Form Create klik
Create
klik
Browser
klik
Add
View
Gambar 3.5 STD Form Create
Di dalam form create terdapat button “Browser” untuk meng-add atau memasukkan gambar dengan format .jpg, setelah itu input width dan height dalam pixel dan jumlah label. Lalu klik “Add” untuk menyimpan pola beserta ukuran yang digunakan, setelah klik “View” untuk melihat output.
e.
STD Form View View
Output
Gambar 3.6 STD Form View
Di Form View terdapat hasil keluaran (output) optimasi peletakkan posisi label kertas atau plastik berdasarkan data yang telah dimasukkan.
61
f.
STD Rancangan Program welcome
File
Create
Save
Browser
Exit
Add
View
Help
About
Output
Gambar 3.7 STD Rancangan Program
3.6.2 Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah system, yang ditekankan adalah ”Apa” yang diperbuat system, dan bukan “bagaimana”. Sebuah use case mempresentasikan sebuah interaksi antara actor dengan system. Use case menggambarkan kata kerja seperti Login ke system, maintenance user dan sebagainya. Actor adalah segala sesuatu yang berinteraksi langsung dengan system aplikasi komputer, seperti orang, benda atau lainnya. Tugas actor adalah memberikan informasi kepada system dan dapat memerintahkan system agar melakukan sesuatu tugas. Use case adalah deskripsi fungsi dari sebuah system dari perspektif pengguna. Use
case
bekerja
dengan
cara
mendeskripsikan
tipikal
interaksi
antara
user(pengguna) sebuah system dengan system-nya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan system disebut scenario.
62
Pada perancangan program ini, sebuah diagram use case
yang
menggambarkan bahwa user dapat menjalankan program, meng-input data untuk kemudian diproses dengan mencari solusi yang baik untuk peletakkan posisi label, lalu user dapat melihat hasil keluaran (output) yang telah selesai diproses. Model use case pada rancangan optimasi peletakkan posisi label, seperti gambar di bawah ini.
Gambar 3.8 Use Case Diagram
63
3.6.3 Flowchart Diagram Flowchart diagram adalah Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma.
Gambar 3.9 Simbol-Simbol Flowchart
Dalam penulisan flowchart dikenal dengan dua model, yaitu sistem flowchart dan program flowchart.
64
a.
Sistem Flowchart Sistem flowchart yaitu bagan Yang memperlihatkan urutan
prosedur dan proses dari beberapa file di dalam media tertentu. Melalui flowchart ini terlihat jenis media penyimpanan yang dipakai dalam pengolahan data. Selain itu juga menggambarkan file yang
dipakai sebagai input dan output.
Tidak digunakan untuk
menggambarkan urutan langkah untuk memecahkan masalah. Hanya untuk menggambarkan prosedur dalam sistem yang dibentuk b.
Program Flowchart Program flowchart yaitu bagan yang memperlihatkan urutan dan hubungan proses dalam suatu program. Dua jenis metode penggambaran program flowchart : 1) Conceptual flowchart, menggambarkan alur pemecahan masalah secara global 2) Detail flowchart, menggambarkan alur pemecahan masalah secara rinci.
Gambar 3.10 Conceptual Flowchart dan Detail Flowchart
65
3.6.4 Class Diagram Class diagram digunakan untuk melakukan visualisasi struktur kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak digunakan. Class diagram juga dapat memperlihatkan hubungan antar kelas dan penjelasan detail tiaptiap kelas di dalam model desain dari suatu sistem. Selama proses desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat. Berikut ini adalah class diagram yang digunakan untuk menvisualisasi program optimasi peletakkan posisi label kertas atau plastik menggunakan metode A* heuristic.
Gambar 3.11 Class Diagram
66
3.6.5 Sequence Diagram Sequence diagram digunakan untuk menggambarkan interaksi antar objek di dalam dan disekitar sistem yang berupa message yang digambarkan terhadap waktu. Berikut adalah sequence diagram dari program optimasi peletakkan posisi label kertas atau plastik menggunakan metode A* heuristic.
Gambar 3.12 Sequence Diagram
3.6.6 Activity Diagram Activity diagram menggambarkan berbagai aliran aktifitas dalam sistem yang sedang dirancang, bagaimana masing-masing aliran berawal, decision yang mungkin terjadi dan bagaimana sistem berakhir. Activity diagram juga dapat menggambarkan proses parallel yang mungkin terjadi pada beberapa eksekusi.
67
Berikut ini adalah activity diagram dari program optimasi peletakkan posisi label kertas atau plastik menggunakan metode A* heuristic.
Gambar 3.13 Activity Diagram
3.6.7 Perancangan Antar Muka Rancangan antar muka dari program optimasi peletakkan label kertas atau plastik menggunakan metode A* heuristic adalah sebagai berikut :
68
a.
Rancangan Antar Muka Tampilan Awal
Gambar 3.14 Rancangan Antar Muka Tampilan Awal
Pada layar utama ini, terdapat background lambang BiNus University dengan tulisan judul skripsi dan nama pembuatnya. Dan jika user ingin membuat optimasi label, user bisa click button “Create Your Label”. Maka form create label akan terbuka.
b.
Rancangan Antar Muka Form Create Label
Gambar 3.15 Rancangan Antar Muka Form Create Label
69
Pada layar ini, user diminta untuk memilih pola label, Width dan Height dalam ukuran pixel, serta Qty(jumlah) label yang akan diinput. Setelah itu click button “Add”, maka akan tampil pada list dibawahnya setiap data di-add. Jika data pola label, width , height, atau qty tidak diisi, maka ketika click button “Add” akan tampil message box seperti dibawah ini :
Gambar 3.16 Rancangan Antar Muka “Data Must Filled”
c.
Rancangan Antar Muka Form View Label
Pola Hasil Optimasi
Gambar 3.17 Rancangan Antar Muka Form View Label
70
Pada form view label, user dapat melihat hasil optimasi yang telah dihitung dan diproses menggunakan metode A* heuristic. Karena A* termasuk kedalam metode Best First Search yang mencari peletakkkan berdasarkan urutan data yang telah dimasukkan pertama kali (First In First Out). Setelah mendapatkan peletakkan terbaik, maka hasil optimasi akan ditampilkan dan bisa melakukkan penyimpanan data dengan click button “Save”. Jika user click button “Save” maka akan tampil save file dialog, seperti ini :
Gambar 3.18 Rancangan Antar Muka Save File Dialog
Data akan disimpan dalam format JPEG Image (*.jpg). dan jika click button “Cancel” pada form view label maka form akan tertutup.
71
d.
Rancangan Antar Muka Menu Label Rancangan antar muka dibawah ini jika user click menu “File” maka akan terdapat menu item “Save” untuk menyimpan data dan menu item “Exit” untuk keluar dari program optimasi label.
Gambar 3.19 Rancangan Antar Muka Menu File
Gambar 3.20 Rancangan Antar Muka Message Box “Save”
72
Gambar 3.21 Rancangan Antar Muka Message Box “Exit”
Jika user click menu “Help” maka akan terdapat menu item “About” yang akan menampilkan form About Label yang berisi informasi judul skripsi, penulis, pembimbing, jurusan, fakultas, universitas, kota, serta tahun pembuatan.
Gambar 3.22 Rancangan Antar Muka Menu Help
73
M.Sc
Gambar 3.23 Rancangan Antar Muka Form About Label
3.7
Perancangan Spesifikasi Proses Modul adalah sekumpulan fungsi spesifik yang mendukung satu tujuan yang
lebih general. Untuk memperjelas proses-proses yang terjadi pada setiap modul terdapat dalam program, maka akan diperinci dengan spefikasi modul di bawah ini :
Modul Inisialisasi BEGIN Set nilai awal untuk semua variable. END
Modul Create Memerintah user untuk melakukan inputan pola label, width, height, dan qty yang diperlukan, lalu menekan button “Add”.
74
BEGIN Tekan button “Add” If semua data terisi, data akan tampil pada label list, Else message box (“Data Must Filled!!!”). Tekan button view, panggil modul view. END
Modul View BEGIN Mengambil parameter dari inputan user. Panggil modul Heuristic. END
Modul Heuristic BEGIN Hitung width * height Sorting barang berdasarkan luas. END
Modul Jumlah BEGIN Mengambil parameter qty yang telah di-input user Panggil modul successor END
75
Modul Successor BEGIN Looping seluruh pola label hingga mendapat peletakkan posisi yang menciptakan nilai heuristic. END
Modul Astar BEGIN Hitung (((kel_alas – batas_alas) + (kel_label – batas_alas)) – label_dempet) + nilai_tambah. END
Modul Menu BEGIN Menu File Add menu item save Add menu item exit Menu Help Add menu item about END
Modul Save BEGIN
76
Menyimpan hasil optimasi ke dalam format JPEG Image (*.jpg) Message box (“Save Success!!!”) END
Modul Exit BEGIN Tutup semua layar. END
Modul About BEGIN Memberi informasi judul, nama pembuat, nama pembimbing, jurusan, fakultas, universitas, tempat, dan tahun pembuatan skripsi. END