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.
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.
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.
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.
Jalannya alur program yang dirancang dapat dilihat melalui Flowchart Diagram berikut :
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.
• 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.
• 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.
• 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.
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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