20 BAB 3 PERANCANGAN PROGRAM
3.1
Teknis Perancangan Program Dalam proses perancangan program aplikasi, digunakan metode Waterfall Model. Hasil analisis yang telah dilakukan adalah sebagai berikut : •
Program akan berbentuk file berekstensi exe, yang akan beroperasi di dalam platform Microsoft Windows, karena Windows adalah sistem operasi yang paling banyak digunakan.
•
Program akan mampu untuk mencetak hasil pengujian ke dalam sebuah file, dalam program ini, file hasil pengujian akan berupa file yang bereksternsi txt..
•
Akan dibentuk 4 layar tampilan yaitu : •
Layar menu utama.
•
Layar pengujian ring, ring komutatif, dan field.
•
Layar pengujian sub ring.
•
Layar pengujian ideal.
Pada tahap desain, dilakukan perancangan desain layar (antar muka) dan desain modul (logika program). Untuk lebih rincinya mengenai desain layar dan modul, akan dijelaskan lebih rinci dalam sub bab berikutnya. Tahap penulisan kode merupakan tahap implementasi desain yang telah dibuat ke dalam bentuk kode yang nantinya akan menjadi program aplikasi.
21 Dalam perancangan ini menggunakan bahasa pemrograman Pascal untuk logika program. Pada tahap pengujian, dilakukan tes terhadap program yang telah selesai tahap penulisan kode. Setelah sesuai dengan rancangan desain, baik mengenai input-output ataupun desain tampilan. Setelah sesuai maka program telah seselesai dan masuk ke dalam tahap perawatan. Dalam tahap perawatan akan terus update program dari bug yang akan ditemukan.
3.2
Perancangan Komponen dan Alur Program Ketika program dijalankan, program akan dimulai dengan layar menu utama. Pada layar menu utama akan terdapat 3 pilihan menu, yaitu : 1. Pengujian ring, ring komutatif, dan field. 2. Pengujian sub ring. 3. Pengujian ideal. Pada tiap menu yang berupa form, akan dibagi menjadi beberapa GroupBox. Menu akan dimulai dengan 1 GroupBox. Ada 3 jenis GroupBox yaitu : 1. GroupBox Input Unsur. GroupBox ini memiliki 1 Edit Box untuk melakukan input unsur, 1 ListBox untuk menampung unsur yang di-input, 1 Button ”Tambah >>” untuk memasukan unsur dari Edit Box ke List Box, 1 Button ”Hapus Unsur” untuk menghapus unsur yang dipilih dari List Box, 1 Button ”Hapus Semua” untuk mengosongkan List Box dan 1 Button konfirmasi untuk menuju ke proses selanjutnya.
22
Gambar 3.1 GroupBox Input Unsur 2. GroupBox Input Tabel Cayley. GroupBox
ini
memiliki
2
buah
String
Grid
yang
merepresentasikan Tabel Cayley. String Grid tersebut akan diisi dengan hasil operasi yang dilakukan untuk pengujian unsur. Dalam Group Box ini juga terdapat 2 Button ”Bersihkan” untuk mengosongkan isi masing-masing String Grid, 2 Edit Box untuk memasukkan nama operasi yang dilakukan, dan 1 Button ”Lihat Hasil Pengujian” untuk menuju ke proses selanjutnya.
Gambar 3.2 GroupBox Input Tabel Cayley 3. GroupBox Hasil. Group Box ini berisi 2 buah Memo yang berisi hasil analisis pengujian dan kesimpulan.
23
Gambar 3.3 GroupBox Hasil Selain Group Box, pada tiap form, jua terdapat 3 Button, yaitu Button ”Kembali Ke Menu Utama” untuk kembali ke Layar Menu Utama, Button ””Simpan Hasil Ke Notepad” untuk menyimpan hasil dalam bentuk file Notepad (*.txt), dan Button ”Reset Form” untuk melakukan reset tampilan form. Secara garis besar, operasi program pada setiap form pengujian yaitu, pertama-tama akan tampil GroupBox Input Unsur, user diminta untuk memasukan unsur yang akan diuji. Kemudian setelah input tervalidasi, akan muncul GroupBox Input Tabel Cayley, di sini user diminta untuk memasukan hasil operasi unsur ke dalam Tabel Cayley. Setelah Tabel Cayley tervalidasi maka akan muncul GroupBox Hasil yang akan berisi hasil analisis yang telah dilakukan program beserta kesimpulan akhir dari hasil analisis program.
24 Jalannya alur program yang dirancang dapat dilihat melalui Flowchart Diagram berikut :
Gambar 3.4 Flowchart Diagram
25 3.3
Perancangan Program 3.3.1
Perancangan Layar Pada perancangan program pengujian struktur aljabar ini akan dibuat 4 layar. Rancangan desain dari tampilan layar-layar tersebut adalah sebagai berikut : •
Desain Layar Menu Utama. Layar ini merupakan layar utama ketika program dijalankan oleh user. Di dalam layar utam terdapat judul program, identitas penulis, dan 3 buah Button. Masing-masing Button berfungsi untuk masuk ke menu yang dituju oleh user.
Gambar 3.5 Desain Layar Menu Utama
26 •
Desain Layar Pengujian Ring, Ring Komutatif, Field. Layar ini akan digunakan oleh user untuk melakukan pengujian ring, ring komutatif, dan field. Pada layar ini terdapat GroupBox Input Unsur untuk melakukan input unsur yang akan diuji, Group Box Input Tabel Cayley untuk memasukan hasil operasi ke dalam Tabel Cayley, Group Box Hasil untuk menampilkan hasil analisis dan kesimpulan, Button ”Kembali Ke Menu Utama” untuk kembali ke Layar Menu Utama, Button ”Simpan Hasil Ke Notepad” untuk menyimpan hasil dalam bentuk file Notepad (*.txt), dan Button ”Reset Form” untuk melakukan reset tampilan form.
Gambar 3.6 Desain Layar Pengujian Ring, Ring Komutatif, Field
27 •
Desain Layar Pengujian Sub Ring. Layar ini akan digunakan oleh user untuk melakukan pengujian sub ring. Pada layar ini terdapat GroupBox Input Unsur untuk melakukan input unsur ring yang telah diuji, GroupBox Input Unsur untuk melakukan input unsur bagian dari ring yang akan diuji, Group Box Input Tabel Cayley untuk memasukan hasil operasi ke dalam Tabel Cayley, Group Box Hasil untuk menampilkan hasil analisis dan kesimpulan, Button ”Kembali Ke Menu Utama” untuk kembali ke Layar Menu Utama, Button ”Simpan Hasil Ke Notepad” untuk menyimpan hasil dalam bentuk file Notepad (*.txt), dan Button ”Reset Form” untuk melakukan reset tampilan form.
Gambar 3.7 Desain Layar Pengujian Sub Ring
28 •
Desain Layar Pengujian Ideal. Layar ini akan digunakan oleh user untuk melakukan pengujian ideal. Pada layar ini terdapat GroupBox Input Unsur untuk melakukan input unsur ring yang telah diuji, GroupBox Input Unsur untuk melakukan input unsur sub ring yang telah diuji, Group Box Input Tabel Cayley untuk memasukan hasil operasi ke dalam Tabel Cayley, Group Box Hasil untuk menampilkan hasil analisis dan kesimpulan, Button ”Kembali Ke Menu Utama” untuk kembali ke Layar Menu Utama, Button ”Simpan Hasil Ke Notepad” untuk menyimpan hasil dalam bentuk file Notepad (*.txt), dan Button ”Reset Form” untuk melakukan reset tampilan form.
Gambar 3.8 Desain Layar Pengujian Ideal
29 3.3.2
Perancangan Modul •
Modul Layar Menu Utama Modul Button1 Begin Reset Layar Pengujian Ring, Ring Komutatif, Field Tutup Layar Menu Utama Tampilkan Layar Pengujian Ring, Ring Komutatif, Field End
Modul Button2 Begin Reset Layar Pengujian Sub Ring Tutup Layar Menu Utama Tampilkan Layar Pengujian Sub Ring End
Modul Button3 Begin Reset Layar Pengujian Ideal Tutup Layar Menu Utama Tampilkan Pengujian Ideal End
30 •
Modul Layar Pengujian Ring, Ring Komutatif, Field Modul Button Bersihkan 1 Begin Kosongkan StringGrid1 End
Modul Button Bersihkan 2 Begin Kosongkan StringGrid2 End
Modul Button Reset Form Begin Reset layar End
Modul Button Hapus Unsur Begin Hapus unsur ListBox yang dipilih End
31 Modul Button Hapus Semua Begin Hapus semua isi ListBox End
Modul Button Tambah Begin Jika ListBox kosong, Begin Tampilkan Error Message End Jika isi EditBox = ListBox, Begin Tampilkan Error Message End Selain itu, Begin Tambahkan isi EditBox ke dalam ListBox End End
32 Modul Button Proses Ke Tabel Cayley Begin Jika ListBox tidak kosong, Begin Buat StringGrid1 dan StringGrid2 Tampilkan GroupBox Input Tabel Cayley End Selain itu, Begin Tampilkan Error Message End End
Modul Kembali Ke Layar Utama Begin Tutup Layar Pengujian Ring, Ring Komutatif, Field Tampilkan Layar Menu Utama End
Modul Button Lihat Hasil Pengujian Begin Jika ada unsur StringGrid yang masih kosong, Begin Tampilkan Error Message
33 End Selain itu, Begin Jika tertutup terhadap penjumlahan, Begin syarat[0] = True Jika asosiatif terhadap penjumlahan, Begin syarat[1] = True End Selain itu, Begin syarat[1] = False End Jika punya unsur kesatuan penjumlahan, Begin syarat[2] = True End Selain itu, Begin syarat[2] = False End Jika punya invers terhadap penjumlahan, Begin
34 syarat[3] = True End Selain itu, Begin syarat[3] = False End Jika komutatif terhadap penjumlahan, Begin syarat[4] = True End Selain itu, Begin syarat[4] = False End Jika tertutup terhadap perkalian, Begin syarat[5] = True Jika asosiatif terhadap perkalian, Begin syarat[6] = True End Selain itu, Begin syarat[6] = False
35 End Jika punya unsur kesatuan perkalian, Begin syarat[7] = True End Selain itu, Begin syarat[7] = False End Jika punya invers terhadap perkalian, Begin syarat[8] = True End Selain itu, Begin syarat[8] = False End Jika komutatif terhadap perkalian, Begin syarat[9] = True End Selain itu, Begin syarat[9] = False
36 End Jika distributif, Begin syarat[10] = True End Selain itu, Begin syarat[10] = False End Jika syarat[0,1,2,3,4,5,6,10] = True, Begin Merupakan RING End Selain itu, Begin Bukan RING End Jika syarat[0,1,2,3,4,5,6,9,10] = True, Begin Merupakan RING KOMUTATIF End Selain itu, Begin Bukan RING KOMUTATIF
37 End Jika syarat[0,1,2,3,4,5,6,7,8,9,10] = True, Begin Merupakan FIELD End Selain itu, Begin Bukan FIELD End End Selain itu, Begin syarat[6] = False Tidak dilakukan tes sifat lainnya Tampilkan hasil pengujian End End Selain itu, Begin syarat[0] = False Tidak dilakukan tes sifat lainnya Tampilkan hasil pengujian End End
38 End
Modul Button Simpan Hasil Ke Notepad Begin Save isi memo ke notepad End
•
Modul Layar Pengujian Sub Ring Modul Button Bersihkan 1 Begin Kosongkan StringGrid1 End
Modul Button Bersihkan 2 Begin Kosongkan StringGrid2 End
Modul Button Reset Form Begin Reset layar End
39 Modul Button Hapus Unsur 1 Begin Hapus unsur ListBox1 yang dipilih End
Modul Button Hapus Semua 1 Begin Hapus semua isi ListBox1 End
Modul Button Tambah 1 Begin Jika ListBox1 kosong, Begin Tampilkan Error Message End Jika isi EditBox1 = ListBox1, Begin Tampilkan Error Message End Selain itu, Begin Tambahkan isi EditBox1 ke dalam ListBox1 End
40 End
Modul Button Hapus Unsur 2 Begin Hapus unsur ListBox2 yang dipilih End
Modul Button Hapus Semua 2 Begin Hapus semua isi ListBox2 End
Modul Button Tambah 2 Begin Jika ListBox2 kosong, Begin Tampilkan Error Message End Jika isi EditBox2 = ListBox2, Begin Tampilkan Error Message End Jika isi EditBox2 bukan salah satu dari ListBox1, Begin
41 Tampilkan Error Message End Selain itu, Begin Tambahkan isi EditBox2 ke dalam ListBox2 End End
Modul Button Proses Ke Tabel Cayley Begin Jika ListBox tidak kosong, Begin Buat StringGrid1 dan StringGrid2 Tampilkan GroupBox Input Tabel Cayley End Selain itu, Begin Tampilkan Error Message End End
42 Modul Kembali Ke Layar Utama Begin Tutup Layar Pengujian Ring, Ring Komutatif, Field Tampilkan Layar Menu Utama End
Modul Button Lihat Hasil Pengujian Begin Jika ada unsur StringGrid yang masih kosong, Begin Tampilkan Error Message End Selain itu, Begin Jika tertutup terhadap penjumlahan, Begin syarat[0] = True Jika asosiatif terhadap penjumlahan, Begin syarat[1] = True End Selain itu, Begin syarat[1] = False
43 End Jika punya unsur kesatuan penjumlahan, Begin syarat[2] = True End Selain itu, Begin syarat[2] = False End Jika punya invers terhadap penjumlahan, Begin syarat[3] = True End Selain itu, Begin syarat[3] = False End Jika komutatif terhadap penjumlahan, Begin syarat[4] = True End Selain itu, Begin syarat[4] = False
44 End Jika tertutup terhadap perkalian, Begin syarat[5] = True Jika asosiatif terhadap perkalian, Begin syarat[6] = True End Selain itu, Begin syarat[6] = False End Jika distributif, Begin syarat[7] = True End Selain itu, Begin syarat[7] = False End Jika syarat[0,1,2,3,4,5,6,7] = True, Begin Merupakan SUB RING End
45 Selain itu, Begin Bukan SUB RING End End Selain itu, Begin syarat[6] = False Tidak dilakukan tes sifat lainnya Tampilkan hasil pengujian End End Selain itu, Begin syarat[0] = False Tidak dilakukan tes sifat lainnya Tampilkan hasil pengujian End End End
46 Modul Button Simpan Hasil Ke Notepad Begin Save isi memo ke notepad End
•
Modul Layar Pengujian Ideal Modul Button Bersihkan 1 Begin Kosongkan StringGrid1 End
Modul Button Bersihkan 2 Begin Kosongkan StringGrid2 End
Modul Button Reset Form Begin Reset layar End
Modul Button Hapus Unsur 1 Begin Hapus unsur ListBox1 yang dipilih
47 End
Modul Button Hapus Semua 1 Begin Hapus semua isi ListBox1 End
Modul Button Tambah 1 Begin Jika ListBox1 kosong, Begin Tampilkan Error Message End Jika isi EditBox1 = ListBox1, Begin Tampilkan Error Message End Selain itu, Begin Tambahkan isi EditBox1 ke dalam ListBox1 End End
48 Modul Button Hapus Unsur 2 Begin Hapus unsur ListBox2 yang dipilih End
Modul Button Hapus Semua 2 Begin Hapus semua isi ListBox2 End
Modul Button Tambah 2 Begin Jika ListBox2 kosong, Begin Tampilkan Error Message End Jika isi EditBox2 = ListBox2, Begin Tampilkan Error Message End Jika isi EditBox2 bukan salah satu dari ListBox1, Begin Tampilkan Error Message End
49 Selain itu, Begin Tambahkan isi EditBox2 ke dalam ListBox2 End End
Modul Button Proses Ke Tabel Cayley Begin Jika ListBox tidak kosong, Begin Buat StringGrid1 dan StringGrid2 Tampilkan GroupBox Input Tabel Cayley End Selain itu, Begin Tampilkan Error Message End End
Modul Kembali Ke Layar Utama Begin Tutup Layar Pengujian Ring, Ring Komutatif, Field Tampilkan Layar Menu Utama End
50
Modul Button Lihat Hasil Pengujian Begin Jika ada unsur StringGrid yang masih kosong, Begin Tampilkan Error Message End Selain itu, Begin Jika tertutup terhadap operasi ideal kiri, Begin syarat[0] = true End Selain itu, Begin syarat[0] = False End Jika tertutup terhadap operasi ideal kanan, Begin syarat[1] = true End Selain itu, Begin syarat[1] = False
51 End Jika syarat[0 dan 1] = True, Begin Merupakan IDEAL End Selain itu, Begin Bukan merupakan IDEAL End End End
Modul Button Simpan Hasil Ke Notepad Begin Save isi memo ke notepad End