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 Reset Layar Pengujian Ring, Ring Komutatif, Field Tutup Layar Menu Utama Tampilkan Layar Pengujian Ring, Ring Komutatif, Field Modul Button2 Reset Layar Pengujian Sub Ring Tutup Layar Menu Utama Tampilkan Layar Pengujian Sub Ring Modul Button3 Reset Layar Pengujian Ideal Tutup Layar Menu Utama Tampilkan Pengujian Ideal
30 Modul Layar Pengujian Ring, Ring Komutatif, Field Modul Button Bersihkan 1 Kosongkan StringGrid1 Modul Button Bersihkan 2 Kosongkan StringGrid2 Modul Button Reset Form Reset layar Modul Button Hapus Unsur Hapus unsur ListBox yang dipilih
31 Modul Button Hapus Semua Hapus semua isi ListBox Modul Button Tambah Jika ListBox kosong, Jika isi EditBox = ListBox, Tambahkan isi EditBox ke dalam ListBox
32 Modul Button Proses Ke Tabel Cayley Jika ListBox tidak kosong, Buat StringGrid1 dan StringGrid2 Tampilkan GroupBox Input Tabel Cayley Modul Kembali Ke Layar Utama Tutup Layar Pengujian Ring, Ring Komutatif, Field Tampilkan Layar Menu Utama Modul Button Lihat Hasil Pengujian Jika ada unsur StringGrid yang masih kosong,
33 Jika tertutup terhadap penjumlahan, syarat[0] = True Jika asosiatif terhadap penjumlahan, syarat[1] = True syarat[1] = False Jika punya unsur kesatuan penjumlahan, syarat[2] = True syarat[2] = False Jika punya invers terhadap penjumlahan,
34 syarat[3] = True syarat[3] = False Jika komutatif terhadap penjumlahan, syarat[4] = True syarat[4] = False Jika tertutup terhadap perkalian, syarat[5] = True Jika asosiatif terhadap perkalian, syarat[6] = True syarat[6] = False
35 Jika punya unsur kesatuan perkalian, syarat[7] = True syarat[7] = False Jika punya invers terhadap perkalian, syarat[8] = True syarat[8] = False Jika komutatif terhadap perkalian, syarat[9] = True syarat[9] = False
36 Jika distributif, syarat[10] = True syarat[10] = False Jika syarat[0,1,2,3,4,5,6,10] = True, Merupakan RING Bukan RING Jika syarat[0,1,2,3,4,5,6,9,10] = True, Merupakan RING KOMUTATIF Bukan RING KOMUTATIF
37 Jika syarat[0,1,2,3,4,5,6,7,8,9,10] = True, Merupakan FIELD Bukan FIELD syarat[6] = False Tidak dilakukan tes sifat lainnya Tampilkan hasil pengujian syarat[0] = False Tidak dilakukan tes sifat lainnya Tampilkan hasil pengujian
38 Modul Button Simpan Hasil Ke Notepad Save isi memo ke notepad Modul Layar Pengujian Sub Ring Modul Button Bersihkan 1 Kosongkan StringGrid1 Modul Button Bersihkan 2 Kosongkan StringGrid2 Modul Button Reset Form Reset layar
39 Modul Button Hapus Unsur 1 Hapus unsur ListBox1 yang dipilih Modul Button Hapus Semua 1 Hapus semua isi ListBox1 Modul Button Tambah 1 Jika ListBox1 kosong, Jika isi EditBox1 = ListBox1, Tambahkan isi EditBox1 ke dalam ListBox1
40 Modul Button Hapus Unsur 2 Hapus unsur ListBox2 yang dipilih Modul Button Hapus Semua 2 Hapus semua isi ListBox2 Modul Button Tambah 2 Jika ListBox2 kosong, Jika isi EditBox2 = ListBox2, Jika isi EditBox2 bukan salah satu dari ListBox1,
41 Tambahkan isi EditBox2 ke dalam ListBox2 Modul Button Proses Ke Tabel Cayley Jika ListBox tidak kosong, Buat StringGrid1 dan StringGrid2 Tampilkan GroupBox Input Tabel Cayley
42 Modul Kembali Ke Layar Utama Tutup Layar Pengujian Ring, Ring Komutatif, Field Tampilkan Layar Menu Utama Modul Button Lihat Hasil Pengujian Jika ada unsur StringGrid yang masih kosong, Jika tertutup terhadap penjumlahan, syarat[0] = True Jika asosiatif terhadap penjumlahan, syarat[1] = True syarat[1] = False
43 Jika punya unsur kesatuan penjumlahan, syarat[2] = True syarat[2] = False Jika punya invers terhadap penjumlahan, syarat[3] = True syarat[3] = False Jika komutatif terhadap penjumlahan, syarat[4] = True syarat[4] = False
44 Jika tertutup terhadap perkalian, syarat[5] = True Jika asosiatif terhadap perkalian, syarat[6] = True syarat[6] = False Jika distributif, syarat[7] = True syarat[7] = False Jika syarat[0,1,2,3,4,5,6,7] = True, Merupakan SUB RING
45 Bukan SUB RING syarat[6] = False Tidak dilakukan tes sifat lainnya Tampilkan hasil pengujian syarat[0] = False Tidak dilakukan tes sifat lainnya Tampilkan hasil pengujian
46 Modul Button Simpan Hasil Ke Notepad Save isi memo ke notepad Modul Layar Pengujian Ideal Modul Button Bersihkan 1 Kosongkan StringGrid1 Modul Button Bersihkan 2 Kosongkan StringGrid2 Modul Button Reset Form Reset layar Modul Button Hapus Unsur 1 Hapus unsur ListBox1 yang dipilih
47 Modul Button Hapus Semua 1 Hapus semua isi ListBox1 Modul Button Tambah 1 Jika ListBox1 kosong, Jika isi EditBox1 = ListBox1, Tambahkan isi EditBox1 ke dalam ListBox1
48 Modul Button Hapus Unsur 2 Hapus unsur ListBox2 yang dipilih Modul Button Hapus Semua 2 Hapus semua isi ListBox2 Modul Button Tambah 2 Jika ListBox2 kosong, Jika isi EditBox2 = ListBox2, Jika isi EditBox2 bukan salah satu dari ListBox1,
49 Tambahkan isi EditBox2 ke dalam ListBox2 Modul Button Proses Ke Tabel Cayley Jika ListBox tidak kosong, Buat StringGrid1 dan StringGrid2 Tampilkan GroupBox Input Tabel Cayley Modul Kembali Ke Layar Utama Tutup Layar Pengujian Ring, Ring Komutatif, Field Tampilkan Layar Menu Utama
50 Modul Button Lihat Hasil Pengujian Jika ada unsur StringGrid yang masih kosong, Jika tertutup terhadap operasi ideal kiri, syarat[0] = true syarat[0] = False Jika tertutup terhadap operasi ideal kanan, syarat[1] = true syarat[1] = False
51 Jika syarat[0 dan 1] = True, Merupakan IDEAL Bukan merupakan IDEAL Modul Button Simpan Hasil Ke Notepad Save isi memo ke notepad