BAB 4 ANALISIS DAN SIMULASI Pada bab empat ini akan menjelaskan mengenai hasil rancangan dari program aplikasi pengujian struktur aljabar, yaitu implementasi sistem dari rancangan program yang telah dibuat dan eveluasi dari implementasi sistem yang telah dibuat untuk mengetahui kelemahan dan kelebihan dari sistem yang dibuat. Untuk selengkapnya akan dijelaskan pada sub bab berikutnya. 4.1 Kebutuhan Sistem Kebutuhan sistem untuk menjalakan aplikasi pengujian struktur aljabar yang telah dibuat akan ditunjukkan pada tabel berikut : Tabel 4.1 Spesifikasi Perangkat Keras. Processor Memory Intel(R) Celeron(R) CPU B800 @ 1.50GHz (2 CPUs), ~1.5GHz 2 GB DDR3 Tabel 4.2 Spesifikasi Perangkat Lunak. Sistem Operasi Microsoft Windows 7 Profesional IDE NetBeans IDE 6.9.1 Library Itextpdf-5.1.1 JDK jdk1.6.0_24 JRE jre6 Program aplikasi ini dapat dijalankan pada semua komputer dengan sistem operasi yang memiliki Java Runtime Enviroment (JRE). 4.2 Pengoperasian dan Tampilan Program Aplikasi Untuk mengoperasikan program aplikasi ini cukup menjalankan java executable (.jar) dari program. Untuk selengkapnya akan dijelaskan pada sub bab berikutnya. 49
50 4.2.1 Pengoperasian Program Utama Program utama dalam aplikasi ini adalah menawarkan sebuah pilihan untuk memasukkan elemen-elemen himpunan yang akan masuk ke dalam tabel Cayley untuk diuji ke dalam pengklasifikasian struktur aljabar. Berikut akan dijelaskan langkah demi langkah contoh penggunaan aplikasi ini. 4.2.2 Tampilan Layar Aplikasi Tampilan awal dari program ini mengenai judul aplikasi, keterangan singkat dari penulis dan nama kedua dosen pembimbing. Penjelasan singkat tersebut diakhirin dengan JButton OK untuk melanjutkan ke tampilan berikutnya. Gambar 4.1 Tampilan Pembuka Jika JButton OK dipilih maka aplikasi ini akan menampilkan tampilan menu utama seperti gambar 4.2. Tampilan menu utama ini terdiri dari beberapa komponen, yaitu: 1. JMenu Algebraic Structure, berfungsi untuk menampilkan beberapa JMenu. Setiap JMenu memiliki dua JMenuItem yaitu JMenuItem Definition dan JMenuItem Prove sesuai dengan struktur aljabar yang ingin diuji. JMenuItem Definition berfungsi untuk menampilkan sebuah file berekstensi.pdf yang berisi tentang definisi dari struktur aljabar yang dipilih dan JMenuItem Prove berfungsi untuk menguji struktur aljabar yang dipilih 2. JMenu Help, berfungsi untuk menampilkan JMenuItem How To Use. JMenuItem How To Use, berfungsi untuk menampilkan sebuah file berekstensi.pdf yang berisi tentang cara pengoperasian dari program aplikasi ini
51 3. Dalam tampilan menu utama ini juga terdapat beberapa JLabel. JLabel pertama berfungsi untuk menampilkan judul aplikasi lebih lengkap dari tampilan awal dan JLabel kedua berfungsi untuk menampilkan logo dari aplikasi ini. Gambar 4.2 Tampilan Menu Utama Ketika JMenuItem Prove Ring and Field dipilih, akan menampilkan tampilan menu seperti gambar 4.3. Di tampilan ini akan menampilkan tiga buah tab yaitu tab Input Data, tab Cayley Table Analysis dan tab Result Data. Pada tab Input Data terdapat sebuah JCombobox yang berfungsi untuk memilih elemen himpunan. JCombobox terdiri dari 4 Pilihan, yaitu Set Zn Number, Automatic Zn, Set Zn Alphabet dan Set Zn Matrix. Gambar 4.3 Tampilan Prove Ring and Field Ketika pilihan JCombobox Set Zn Number dipilih akan menampilkan beberapa panel seperti gambar 4.4. Panel tersebut adalah panel Data, panel List Value, panel Process Data dan panel Cayley Table.
52 Pada panel Data terdapat beberapa komponen, yaitu JTextField Value Zn, JTextField Modulo dan JButton Add. Dari komponen tersebut memiliki masing-masing fungsi yaitu JTextField Value Zn berfungsi untuk menampung elemen himpunan yang bertipe data string, JTextField Modulo juga berfungsi untuk menampung sebuah modulo yang bertipe data string dan JButton Add berfungsi untuk menambahkan elemen himpunan dari JTextField Value Zn ke dalam JList List Value yang berada didalam panel List Value. Gambar 4.4 Tampilan Menu JComboBox Set Zn Number Didalam JButton Add terdapat dua validasi, yaitu validasi elemen himpunan kosong dan validasi elemen himpunan angka. Jika pengguna tidak sengaja menekan JButton Add dan JTextField Value Zn masih kosong pengguna akan diberi pesan berikut: Gambar 4.5 Tampilan Pesan Elemen Himpunan Kosong Jika pengguna memasukkan bukan elemen himpunan angka maka pengguna akan diberi pesan berikut:
53 Gambar 4.6 Tampilan Pesan Bukan Elemen Himpunan Angka Pada panel List Value terdapat beberapa komponen yaitu JList List Value, JButton Delete dan JButton Delete All. Dari komponen tersebut memiliki beberapa fungsi, yaitu JList List Value berfungsi untuk menampung semua elemen himpunan yang dimasukkan, JButton Delete berfungsi untuk menghapus salah satu elemen himpunan dan JButton Delete All berfungsi untuk menghapus semua elemen himpunan. Didalam JButton Delete memiliki sebuah validasi yaitu jika penggunan tidak memilih salah satu anggota elemen himpunan maka akan tampil pesan berikut: Gambar 4.7 Tampilan Pesan Tidak Memilih Anggota Elemen Himpunan Pada panel Process terdapat dua buah komponen yaitu JButton Process dan JButton New Data. Masing-masing komponen memiliki fungsi yaitu JButton Process berfungsi untuk memproses semua elemen himpunan ke dalam tabel Cayley kemudian dari tabel Cayley akan menganalisis elemen himpunan tersebut dan JButton New Data berfungsi untuk memulai pengujian dari awal. Didalam JButton Process memiliki tiga buah validasi yaitu validasi JList List Value tidak boleh kosong, modulo tidak boleh kosong dan modulo angka. Jika pengguna tidak sengaja memilih JButton Process dan JList List Value masih kosong maka akan tampil pesan berikut: Gambar 4.8 Tampilan Pesan JList List Value Tidak Boleh Kosong
54 Jika Pengguna tidak sengaja memilih JButton Process dan JTextField Modulo kosong maka akan tampil pesan berikut: Gambar 4.9 Tampilan Pesan Modulo Tidak Boleh Kosong Jika pengguna memasukkan modulo bukan angka maka akan tampil pesan berikut: Gambar 4.10 Tampilan Pesan Modulo Bukan Angka Setelah pengguna memasukkan semua elemen himpunan yang diinginkan sesuai aturannya dan memilih JButton Process maka aplikasi ini akan mengisi semua tabel Cayley secara otomatis. Tabel Cayley tersebut akan dimasukkan secara otomatis ke dalam panel Table Cayley. Panel Table Cayley berisi beberapa komponen yaitu satu JTable Operation (+), satu JTable Operation (*), dan dua JScrollPane. JTable Operation (+) berfungsi untuk menampung isi dari tabel Cayley operasi (+), jika isi tabel melebihi ukuran JTable maka JScrollPane akan membuat sebuah ScrollBar agar terlihat isi tabel tersebut dan JTable Operation (*) berfungsi untuk menampung isi dari tabel Cayley operasi (*), jika isi tabel melebihi ukuran JTable maka JScrollPane akan membuat sebuah ScrollBar agar terlihat isi tabel tersebut. Setelah tabel Cayley terisi semua maka tab Cayley Table Analysis dan tab Result Data akan terbuka dan menuju ke tab Result Data.
55 Gambar 4.11Tampilan Pengisian Tabel Cayley secara Otomatis Setelah pengguna memilih JButton Process, pengguna akan diarahkan ke tab Result Data. Pada tab ini pengguna dapat melihat kesimpulan dari hasil pengujian struktur aljabar sesuai dengan struktur aljabar yang dipilih. Gambar 4.12 Tampilan Hasil Pengujian Struktur Aljabar Pada tampilan tab ini memiliki beberapa komponen yaitu enam buah JButton, satu JTextArea dan satu JButton Save The Result. Dari masing-masing enam buah JButton memiliki fungsi, jika diklik maka setiap JButton akan menampilkan sebuah keterangan ke JTextArea sesuai dengan masing-masing struktur aljabar. Pada tab ini
56 juga terdapat JButton Save The Result yang berfungsi untuk menyimpan hasil pengujian dan kesimpulan dari elemen himpunan yang diuji ke dalam file berekstensi.pdf. Ketika JButton ini dipilih maka program akan menampilkan sebuah jendela simpan hasil pengujian seperti gambar 4.13 Gambar 4.13 Tampilan Jendela Simpan Hasil Pengujian Setelah pengguna menentukan lokasi penyimpanan file, aplikasi ini akan melakukan pengecekan mengenai keberadaan lokasi file berada. Jika telah ada file yang memiliki nama yang sama pada lokasi penyimpanan tersebut maka aplikasi ini akan menampilkan pesan berikut: Gambar 4.14 Tampilan Pesan Nama Ganda Setelah dilakukan pengecekan maka aplikasi ini akan menampilkan pesan lokasi penyimpanan file tersebut.
57 Gambar 4.15 Tampilan Lokasi Penyimpanan File Pengguna juga dapat melihat hasil analisis dari pengujian struktur aljabar pada tab Cayley Table Analysis. Pada tab ini memiliki beberapa komponen yaitu tiga belas JButton dan satu JTextArea. Masing-masing JButton memiliki fungsi, jika diklik maka akan tampil sebuah keterangan di JTextArea sesuai dengan analisis dan operasi yang bersangkutan. Gambar 4.16 Tampilan tab Cayley Table Analysis Jika pilihan JCombobox Automatic Zn dipilih akan menampilkan beberapa panel yang memiliki fungsi yang sama seperti pilihan JCombobox Set Zn Number yang terlihat pada gambar 4.4. Pada JCombobox Automatic Zn tidak memiliki JButton Add dan jika pengguna memasukkan elemen himpunan dalam JTextField Value Zn dan memilih JButton Process maka akan menghasil deret angka sesuai dengan elemen himpunan yang dimasukkan. Deret angka tersebut akan dimasukkan ke dalam JList List Value. Setelah itu elemen himpunan tersebut akan ditampung ke dalam JTextField Modulo. Deret angka yang dimasukkan ke dalam JList List Value akan dimasukkan secara otomatis seperti gambar 4.17
58 Gambar 4.17 Tampilan Pengisian Tabel Cayley secara Otomatis Setelah pengguna memilih JButton Process, pengguna juga akan diarahkan ke tab Result Data seperti gambar 4.12. Pengguna juga dapat melihat hasil analisis dari pengujian struktur aljabar pada tab Cayley Table Analysis seperti gambar 4.16. Ketika pilihan JCombobox Set Zn Alphabet dipilih akan menampilkan sebuah JCombobox Table Cayley. JCombobox Table Cayley ini memiliki dua pilihan yaitu Automatic Table Cayley dan Non Automatic Table Cayley Gambar 4.18 Tampilan JCombobox Set Zn Alphabet Ketika pilihan JCombobox Automatic Table Cayley dipilih akan menampilkan beberapa panel yang memiliki fungsi yang sama seperti pilihan JCombobox Set Zn Number yang terlihat pada gambar 4.4. Pada pilihan JCombobox Automatic Table Cayley tidak memiliki JTextField Modulo dan memiliki panel Element Identity seperti gambar 4.19.
59 Gambar 4.19 Tampilan Menu JComboBox Automatic Table Cayley Setelah pengguna memasukkan semua elemen himpunan yang diinginkan sesuai aturannya dan memilih JButton Process maka aplikasi ini akan mengacak elemen identitas secara acak pada tabel Cayley operasi (+) dan operasi (*). Elemen identitas tersebut harus berbeda dari kedua tabel tersebut dan akan dimasukkan pada panel Element Identity. Kemudian tabel Cayley akan diisi secara otomatis seperti gambar 4.20. Gambar 4.20 Tampilan Pengisian Tabel Cayley secara Otomatis Setelah pengguna memilih JButton Process, pengguna juga akan diarahkan ke tab Result Data seperti gambar 4.12. Pengguna juga dapat melihat hasil analisis dari pengujian struktur aljabar pada tab Cayley Table Analysis seperti gambar 4.16. Ketika pilihan JCombobox Non Automatic Table Cayley dipilih akan menampilkan beberapa panel yang memiliki fungsi yang sama seperti pilihan JCombobox Automatic Table Cayley. Pada JCombobox Non Automatic Table Cayley memiliki panel Create Cayley Table seperti gambar 4.21
60 Gambar 4.21 Tampilan Menu JComboBox Non Automatic Table Cayley Ketika JButton Create Table Cayley dipilih akan tampil beberapa komponen yaitu JTextField dan dua buah JButton pada panel Table Cayley. Banyaknya JTextField akan tampil sesuai dengan jumlah elemen himpunan yang akan dimasukkan ke dalam baris dan kolom tabel Cayley. JTextField tersebut memiliki fungsi untuk menampung elemen himpunan bertipe data string. JButton dalam panel ini memiliki fungsi untuk menghapus isi dari JTextField yang telah diisi dari masing-masing operasi. Gambar 4.22 Tampilan Pembuatan Tabel Cayley Yang Dimasukkan Pengguna Setelah tabel Cayley diisi semua oleh pengguna seper aplikasi ini akan memproses himpunan tersebut dan tab Cayley Table Analysis dan tab Result Data akan terbuka dan menuju ke tab Result Data seperti gambar 4.12. Pengguna juga dapat melihat hasil analisis dari pengujian struktur aljabar pada tab Cayley Table Analysis seperti gambar 4.16.
61 4.3 Pengujian Program Untuk mengetahui program apakah dapat melakukan pengujian dengan tepat dan benar, akan dilakukan percobaan pada beberapa himpunan yaitu 1. Himpunan Z 3 ={0,1,2} 2. Himpunan Matrix 2x2 pada Z 3 ={0,1,2} 3. Himpunan Z 6 ={0,1,2,3,4,5,6} dan R={0,2,4} dengan modulo 6 4. Himpunan A={x, a, b, c, d, e, f} Dari himpunan tersebut akan dilakukan pengujian secara manual dan aplikasi dengan himpunan dikatakan: 1. Ring memenuhi sifat: Tertutup terhadap operasi (+) dan (*) Asosiatif terhadap operasi (+) dan (*) Komutatif terhadap operasi (+) Memiliki Invers terhadap operasi (+) Memiliki Elemen Identitas terhadap operasi (+) Distributif perkalian terhadap penjumlahan 2. Ring Komutatif memenuhi sifat: Ring Komutatif terhadap operasi (*) 3. Ring Pembagian memenuhi sifat: Ring Memiliki Invers terhadap operasi (*) Memiliki Elemen Identitas terhadap operasi (*) 4. Field memenuhi sifat: Ring Pembagian Komutatif terhadap operasi (*) 5. Finite Field merupakan field yang banyak anggotanya berhingga 6. Integral Domain memenuhi sifat: Ring Komutatif Memiliki Elemen Identitas terhadap operasi (*) Tidak memiliki elemen pembagi nol
62 7. Misal (R,+,*) adalah suatu ring, S adalah himpunan bagian dari R yang disebut Subring dari R, bila untuk setiap a,b S, berlaku Himpunan S himpunan tak kosong dari R a - b S a * b S 8. Subfield memenuhi sifat: Himpunan F merupakn Field Himpuna S himpunan tak kosong dari F Mempunyai operasi yang sama terhadap F 9. Ideal memenuhi sifat: Subring Ideal kiri adalah Tertutup terhadap perkalian unsur disebelah kiri Ideal kanan adalah Tertutup terhadap perkalian unsur disebelah kanan Untuk selengkapnya akan dibahas pada bab berikutnya. 4.3.1 Pengujian Manual Berikut ini adalah hasil dari operasi dari himpunan : Z 3 ={0,1,2}: Tabel 4.3 Operasi Penjumlahan Modulo 3 + 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1 Tabel 4.4 Operasi Perkalian Modulo 3 * 0 1 2 0 0 0 0 1 0 1 2 2 0 2 1
63 Dari syarat yang ada akan dilakukan pengujian sifat-sifat untuk mengetahui klasifikasi tersebut yaitu: 4. Tertutup Jika hasil operasi masih merupakan anggota himpunan tersebut maka operasi tersebut dapat dikatakan tertutup. Dari hasil operasi penjumlahan dan perkalian modulo 3 yang ada di tabel 4.3 dan 4.4 merupakan anggota himpunan dari Z 3 5. Asosiatif : (a * b) * c = a * (b * c) untuk setiap a, b, c Z 3 Ambil 0,1,2 Z 3, maka: (0 + 1) + 2 = 0 + (1 + 2) = 0 (1 + 1) + 1 = 1 + (1 + 1) = 0 (1 + 2) + 2 = 1 + (2 + 2) = 2 Jadi, Z 3 bersifat asosiatif terhadap operasi penjumlahan Ambil 0,1,2 Z 3 : (0 * 1) * 2 = 0 * (1 * 2) = 0 (2 * 2) * 1 = 2 * (2 * 1) = 1 (1 * 1) * 2 = 1 * (1 * 2) = 2 Jadi, Z 3 bersifat asosiatif terhadap operasi perkalian 6. Komutatif : a * b = a * b untuk setiap a, b, c Z 3 Ambil 0, 1, 2 Z 3 : 0 + 1 = 1 + 0 = 1 1 + 2 = 2 + 1 = 0 2 + 0 = 0 + 2 = 2 Jadi, Z 3 bersifat komutatif terhadap operasi penjumlahan Ambil 0, 1, 2 Z 3 : 0 * 1 = 1 * 0 = 0
64 1 * 2 = 2 * 1 = 2 2 * 0 = 0 * 2 = 0 Jadi, Z 3 bersifat komutatif terhadap operasi perkalian 7. Elemen Identitas : ada e Z 3 sehingga a * e = e * a = a Jika e=0, maka: 0 + 0 = 0 + 0 = 0 1 + 0 = 0 + 1 = 1 2 + 0 = 0 + 2 = 2 Jadi, Z 3 mempunyai elemen identitas yaitu 0 Jika e=1, maka: 0 * 1 = 1 * 0 = 0 1 * 1 = 1 * 1 = 1 2 * 1 = 1 * 2 = 2 Jadi, Z 3 mempunyai elemen identitas yaitu 1 8. Invers : untuk setiap a Z 3 ada (-a) Z 3 sehingga a + (-a) =0 Jika a + (-a) = 0, ambil 0, 1, 2 Z 3, maka: 0 + 0 = 0 = e, maka invers dari 0 adalah 0 1 + 2 = 0 = e, maka invers dari 1 adalah 2 2 + 1 = 0 = e, maka invers dari 2 adalah 1 Jika a 0, maka ada a -1 Z 3 sehingga a * a -1 = 1 1 * 1 = 1 = e, maka invers dari 1 adalah 1 2 * 2 = 1 = e, maka invers dari 2 adalah 2 9. Pembagi Nol : elemen bukan nol a dari ring komutatif R, sehingga ada unsur b R dengan b 0 berlaku ab = 0 Dari tabel 4.4 terlihat bahwa Z 3 tidak mempunyai pembagi nol dan mempunyai elemen identitas yaitu 1
65 10. Finite Field: Field yang banyak anggotanya berhingga. Z 3 ={0,1,2} memiliki banyak anggotanya tiga (berhingga) Berdasarkan sifat-sifat yang telah diuji hasil yang didapat sebagai berikut: 1. Karena Z 3 ={0,1,2} bersifat : Tertutup terhadap operasi (+) dan (*) Asosiatif terhadap operasi (+) dan (*) Komutatif terhadap operasi (+) Memiliki Invers terhadap operasi (+) Memiliki Elemen Identitas terhadap operasi (+) Distributif perkalian terhadap penjumlahan Maka Z 3 ={0,1,2} merupakan Ring 2. Karena Z 3 ={0,1,2} bersifat : Ring Komutatif terhadap operasi (*) Maka Z 3 ={0,1,2} merupakan Ring Komutatif 3. Karena Z 3 ={0,1,2} bersifat : Ring Memiliki Invers terhadap operasi (*) Memiliki Elemen Identitas terhadap operasi (*) Maka Z 3 ={0,1,2} merupakan Ring Pembagian 4. Karena Z 3 ={0,1,2} bersifat : Ring Pembagian Komutatif terhadap operasi (*) Maka Z 3 ={0,1,2} merupakan Field 5. Karena Z 3 ={0,1,2} merupakan field dan banyak anggotanya tiga (berhingga) Maka Z 3 ={0,1,2} merupakan Finite Field 6. Karena Z 3 ={0,1,2} bersifat : Ring Komutatif Memiliki Elemen Identitas terhadap operasi (*) Tidak memiliki elemen pembagi nol maka Z 3 ={0,1,2} merupakan Integral Domain
66 Matrix 2x2 pada Z 3 ={0,1,2} dengan anggota M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} Tabel 4.5 Operasi Penjumlahan Matriks 2x2 Modulo 3 + [0,0],[0,0] [1,1],[1,1] [2,2],[2,2] [0,0],[0,0] [0,0],[0,0] [1,1],[1,1] [2,2],[2,2] [1,1],[1,1] [1,1],[1,1] [2,2],[2,2] [0,0],[0,0] [2,2],[2,2] [2,2],[2,2] [0,0],[0,0] [1,1],[1,1] Tabel 4.6 Operasi Perkalian Matriks 2x2 Modulo 3 + [0,0],[0,0] [1,1],[1,1] [2,2],[2,2] [0,0],[0,0] [0,0],[0,0] [0,0],[0,0] [0,0],[0,0] [1,1],[1,1] [0,0],[0,0] [2,2],[2,2] [1,1],[1,1] [2,2],[2,2] [0,0],[0,0] [1,1],[1,1] [2,2],[2,2] Dari klasifikasi yang ada akan dilakukan mengetahui klasifikasi tersebut yaitu: pengujian sifat-sifat untuk 1. Tertutup Jika hasil operasi masih merupakan anggota himpunan tersebut maka operasi tersebut dapat dikatakan tertutup. Dari hasil operasi penjumlahan dan perkalian Matriks 2x2 modulo 3 yang ada di tabel 4.5 dan 4.6 merupakan anggota himpunan dari M 2. Asosiatif : (a * b) * c = a * (b * c) untuk setiap a, b, c M Ambil {[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2] M, maka: ( [0,0],[0,0] + [1,1],[1,1] ) + [2,2],[2,2] = [0,0],[0,0]+ ( [1,1],[1,1] + [2,2],[2,2] ) = [0,0],[0,0] ( [1,1],[1,1] + [1,1],[1,1] ) + [1,1],[1,1] = [1,1],[1,1] + ( [1,1],[1,1] + [1,1],[1,1] ) = [0,0],[0,0] ( [1,1],[1,1] + [2,2],[2,2] ) + [2,2],[2,2] = [1,1],[1,1] + ( [2,2],[2,2]+ [2,2],[2,2] ) = [2,2],[2,2] Jadi, M besifat asosiatif tehadap operasi penjumlahan
67 Ambil {[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]} M: ( [0,0],[0,0] * [1,1],[1,1] ) * [2,2],[2,2] = [0,0],[0,0] * ( [1,1],[1,1] * [2,2],[2,2] ) = [0,0],[0,0] ( [2,2],[2,2] * [2,2],[2,2] ) * [1,1],[1,1] = [2,2],[2,2] * ( [2,2],[2,2] * [1,1],[1,1] ) = [1,1],[1,1] ( [1,1],[1,1] * [1,1],[1,1] ) * [2,2],[2,2] = [1,1],[1,1] * ( [1,1],[1,1] * [2,2],[2,2] ) = [2,2],[2,2] Jadi, M besifat asosiatif tehadap operasi perkalian 3. Komutatif : a * b = a * b untuk setiap a, b, c M Ambil {[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]} M: [0,0],[0,0] + [1,1],[1,1] = [1,1],[1,1] + [0,0],[0,0] = [1,1],[1,1] [1,1],[1,1] + [2,2],[2,2] = [2,2],[2,2] + [1,1],[1,1] = [0,0],[0,0] [2,2],[2,2] + [0,0],[0,0] = [0,0],[0,0] + [2,2],[2,2] = [2,2],[2,2] Jadi, M besifat komutatif tehadap operasi penjumlahan Ambil {[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]} M: [0,0],[0,0] * [1,1],[1,1] = [1,1],[1,1] * [0,0],[0,0] = [0,0],[0,0] [1,1],[1,1] * [2,2],[2,2] = [2,2],[2,2] * [1,1],[1,1] = [2,2],[2,2] [2,2],[2,2] * [0,0],[0,0] = [0,0],[0,0] * [2,2],[2,2] = [0,0],[0,0] Jadi, M besifat komutatif tehadap operasi perkalian 4. Elemen Identitas : ada e M sehingga a * e = e * a = a Jika e=[0,0],[0,0], maka: [0,0],[0,0] + [0,0],[0,0] = [0,0],[0,0] + [0,0],[0,0] = [0,0],[0,0] [1,1],[1,1] + [0,0],[0,0] = [0,0],[0,0] + [1,1],[1,1] = [1,1],[1,1] [2,2],[2,2] + [0,0],[0,0] = [0,0],[0,0] + [2,2],[2,2] = [2,2],[2,2] Jadi, M mempunyai elemen identitas yaitu 0 Jika e=[2,2],[2,2], maka: [0,0],[0,0] * [2,2],[2,2] = [2,2],[2,2] * [0,0],[0,0] = [0,0],[0,0] [1,1],[1,1] * [2,2],[2,2] = [2,2],[2,2] * [1,1],[1,1] = [1,1],[1,1]
68 [2,2],[2,2] * [2,2],[2,2] = [2,2],[2,2] * [2,2],[2,2] = [2,2],[2,2] Jadi, M mempunyai elemen identitas yaitu [2,2],[2,2] 5. Invers : untuk setiap a M ada (-a) M sehingga a + (-a) =0 Jika a + (-a) = 0, ambil {[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]} M, maka: [0,0],[0,0] + [0,0],[0,0] = [0,0],[0,0] = e, maka invers dari [0,0],[0,0] adalah [0,0],[0,0] [1,1],[1,1] + [2,2],[2,2] = [0,0],[0,0] = e, maka invers dari [1,1],[1,1] adalah [2,2],[2,2] [2,2],[2,2] + [1,1],[1,1] = [0,0],[0,0] = e, maka invers dari [2,2],[2,2] adalah [1,1],[1,1] Jika a [0,0],[0,0], maka ada a -1 M sehingga a * a -1 = [2,2],[2,2] [1,1],[1,1] * [1,1],[1,1] = [2,2],[2,2] = e, maka invers dari [1,1],[1,1] adalah [1,1],[1,1] [2,2],[2,2] * [2,2],[2,2] = [2,2],[2,2] = e, maka invers dari [2,2],[2,2] adalah [2,2],[2,2] 6. Pembagi Nol : elemen bukan nol a dari ring komutatif R, sehingga ada unsur b R dengan b [0,0],[0,0] berlaku ab = [0,0],[0,0] Dari tabel 4.6 terlihat bahwa M tidak mempunyai pembagi nol dan mempunyai elemen identitas yaitu [2,2],[2,2] 7. Finite Field: Field yang banyak anggotanya berhingga Dengan teorema : Zn finite field n = bilangan prima, Himpunan M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} bukan merupakan anggota bilangan prima Berdasarkan sifat-sifat yang telah diuji hasil yang didapat sebagai berikut: 1. Karena M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}}bersifat : Tertutup terhadap operasi (+) dan (*) Asosiatif terhadap operasi (+) dan (*)
69 Komutatif terhadap operasi (+) Memiliki Invers terhadap operasi (+) Memiliki Elemen Identitas terhadap operasi (+) Distributif perkalian terhadap penjumlahan Maka M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} merupakan Ring 2. Karena M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} bersifat : Ring Komutatif terhadap operasi (*) Maka M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}}merupakan Ring Komutatif 3. Karena M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} bersifat : Ring Memiliki Invers terhadap operasi (*) Memiliki Elemen Identitas terhadap operasi (*) Maka M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} merupakan Ring Pembagian 4. Karena M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} bersifat : Ring Pembagian Komutatif terhadap operasi (*) Maka M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} merupakan Field 5. Karena M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} merupakan field dan banyak anggotanya tiga (berhingga) 6. Karena M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} bersifat : Ring Komutatif Memiliki Elemen Identitas terhadap operasi (*) Tidak memiliki elemen pembagi nol maka M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} merupakan Integral Domain Himpunan Z 6 ={0,1,2,3,4,5,6} dan R={0,2,4} dengan modulo 6 Tabel 4.7 Operasi Penjumlahan Modulo 6 + 0 1 2 3 4 5 0 0 1 2 3 4 5
70 1 1 2 3 4 5 0 2 2 3 4 5 0 1 3 3 4 5 0 1 2 4 4 5 0 1 2 3 5 5 0 1 2 3 4 Tabel 4.8 Operasi Perkalian Modulo 6 * 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 2 3 4 5 2 0 2 4 0 2 4 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1 Tabel 4.9 Operasi perkalian Ideal Kiri * 0 2 4 0 0 0 0 1 0 2 4 2 0 4 2 3 0 0 0 4 0 2 4 5 0 4 2 Tabel 4.10 Operasi Perkalian Ideal kanan * 0 1 2 3 4 5 0 0 0 0 0 0 0 2 0 2 4 0 2 4 4 0 4 2 0 4 2 Dari syarat yang ada akan dilakukan pengujian sifat-sifat untuk mengetahui klasifikasi tersebut yaitu:
71 1. Tertutup Jika hasil operasi masih merupakan anggota himpunan tersebut maka operasi tersebut dapat dikatakan tertutup. Dari hasil operasi penjumlahan dan perkalian modulo 6 yang ada di tabel 4.7 dan 4.8 merupakan anggota himpunan dari Z 4 2. Asosiatif : (a * b) * c = a * (b * c) untuk setiap a, b, c Z 6 Ambil 0,1,2,3,4,5 Z 6, maka: (0 + 0) + 0 = 0 + (0 + 0) = 0 (1 + 0) + 4 = 1 + (0 + 4) = 5 (2 + 2) + 5 = 2 + (2 + 5) = 3 Jadi, Z 3 besifat asosiatif tehadap operasi penjumlahan Ambil 0,1,2,3,4,5 Z 6 : (5 * 4) * 3 = 5 * (4 * 3) = 0 (4 * 2) * 5 = 4 * (2 * 5) = 4 (3 * 3) * 5 = 3 * (3 * 5) = 3 Jadi, Z 3 besifat asosiatif tehadap operasi perkalian 3. Komutatif : a * b = a * b untuk setiap a, b, c Z 6 Ambil 0,1,2,3,4,5 Z 6 : 4 + 5 = 5 + 4 = 3 2 + 4 = 4 + 2 = 0 2 + 3 = 3 + 2 = 4 Jadi, Z 6 besifat komutatif tehadap operasi penjumlahan Ambil 0,1,2,3,4,5 Z 6 : 3 * 2 = 2 * 3 = 0 4 * 1 = 1 * 4 = 4 5 * 3 = 3 * 5 = 3 Jadi, Z 6 besifat komutatif tehadap operasi perkalian
72 4. Elemen Identitas : ada e Z 6 sehingga a * e = e * a = a Jika e=0, maka: 3 + 0 = 0 + 3 = 3 4 + 0 = 0 + 4 = 4 5 + 0 = 0 + 5 = 5 Jadi, Z 6 mempunyai elemen identitas yaitu 0 Jika e=1, maka: 2 * 1 = 1 * 2 = 2 3 * 1 = 1 * 3 = 3 5 * 1 = 1 * 5 = 5 Jadi, Z 6 mempunyai elemen identitas yaitu 1 5. Invers : untuk setiap a Z 6 ada (-a) Z 6 sehingga a + (-a) =0 Jika a + (-a) = 0, ambil 0,1,2,3,4,5 Z 6, maka: 0 + 0 = 0 = e, maka invers dari 0 adalah 0 1 + 2 = 0 = e, maka invers dari 1 adalah 2 2 + 1 = 0 = e, maka invers dari 2 adalah 1 Jika a 0, maka ada a -1 Z 6 sehingga a * a -1 = 1 1 * 1 = 1 = e, maka invers dari 1 adalah 1 2 * 2 = 4 e, tidak memiliki invers 3 * 3 =0 e,tidak memiliki invers 6. Subring : untuk setiap a,b S berlaku a * b S, a - b S a * b S: 0 * 0 = 0 0 * 2 = 0 0 * 4 = 0 2 * 0 = 0
73 2 * 2 = 4 2 * 4 = 2 4 * 0 = 0 4 * 2 = 2 4 * 4 = 4 a - b S: 0-0 = 0 0-2 = 4 0-4 = 2 2-0 = 2 2-2 = 0 2-4 = 4 4-0 = 4 4-2 = 2 4-4 = 0 Berdasarkan sifat-sifat yang telah diuji hasil yang didapat sebagai berikut: 1. Karena Z 6 ={0,1,2,3,4,5} bersifat : Tertutup terhadap operasi (+) dan (*) Asosiatif terhadap operasi (+) dan (*) Komutatif terhadap operasi (+) Memiliki Invers terhadap operasi (+) Memiliki Elemen Identitas terhadap operasi (+) Distributif perkalian terhadap penjumlahan Maka Z 6 ={0,1,2,3,4,5} merupakan Ring 2. Karena Z 6 ={0,1,2,3,4,5} bersifat : Ring Komutatif terhadap operasi (*) Maka Z 6 ={0,1,2,3,4,5} merupakan Ring Komutatif 3. Karena Z 6 ={0,1,2,3,4,5} bersifat : Ring Tidak memiliki Invers terhadap operasi (*)
74 Memiliki Elemen Identitas terhadap operasi (*) Maka Z 6 ={0,1,2,3,4,5} bukan merupakan Ring Pembagian 4. Karena Z 6 ={0,1,2,3,4,5} bersifat : Bukan Ring Pembagian Komutatif terhadap operasi (*) Maka Z 6 ={0,1,2,3,4,5} bukan merupakan Field 5. Karena Z 6 ={0,1,2,3,4,5} bersifat : Ring a * b S dan a - b S Maka R ={0, 2, 4} merupakan subring 6. Karena Z 6 ={0,1,2,3,4,5} bukan merupakan field, maka R ={0, 2, 4} bukan merupakan subfield 7. Karena R ={0, 2, 4} merupakan subring. Ideal kiri dan kanan tertutup terhadap Z 6 maka R ={0, 2, 4} merupakan ideal A={x, a, b, c, d, e, f}: Tabel 4.11 Operasi Penjumlahan + x a b c d e F x x a b c d e F a a b c d e f x b b c d e f x a c c d e f x a b d d e f x a b c e e f x a b c d f f x a b c d e Tabel 4.12 Operasi Perkalian + x a b c d e F x x x x x x x x a x a b c d e f b x b c a e f d
75 c x c a b f d e d x d f e a c b e x e d f b a c f x f e d c b a Dari syarat yang ada akan dilakukan pengujian sifat-sifat untuk mengetahui klasifikasi tersebut yaitu: 1. Tertutup Jika hasil operasi masih merupakan anggota himpunan tersebut maka operasi tersebut dapat dikatakan tertutup. Dari hasil operasi penjumlahan dan perkalian yang ada di tabel 4.11 dan 4.4 merupakan anggota himpunan dari A 2. Asosiatif : (a * b) * c = a * (b * c) untuk setiap a, b, c A Ambil x, a, b, c, d, e, f A, maka: (a + b) + c = a + (b + c) = f (d + e) + f = d + (e + f) = a (x + b) + d = x + (b + d) = f Jadi, A bersifat asosiatif tehadap operasi penjumlahan Ambil x, a, b, c, d, e, f A, maka: (a * c) * e = a * (c * e) = d (b * a) * f = b * (a * f) = d (c * d) * f = c * (d * f) = a Jadi, A bersifat asosiatif tehadap operasi perkalian 3. Komutatif : a * b = a * b untuk setiap x, a, b, c, d, e, f A Ambil x, a, b, c, d, e, f A: b + d = d + b = f a + c = c + a = d f + e = e + f = d Jadi, A besifat komutatif tehadap operasi penjumlahan
76 Ambil x, a, b, c, d, e, f A: b * d = e, d * b = f f * c = d, c * f = e d * b = f, b * d = e Jadi, A bukan bersifat komutatif tehadap operasi perkalian 4. Elemen Identitas : ada e A sehingga a * e = e * a = a Jika e=x, maka: a + x = x + a = a b + x = x + b = b c + x = x + c = c Jadi, A mempunyai elemen identitas yaitu x Jika e=a, maka: d * a = a * d = d e * a = a * e = e f * a = a * f = f Jadi, A mempunyai elemen identitas yaitu a 5. Invers : untuk setiap a A ada (-a) A sehingga a + (-a) =x Jika a + (-a) = x, ambil x, a, b, c, d, e, f A, maka: a + f = x = e, maka invers dari a adalah f b + e = x = e, maka invers dari b adalah e c + d = x = e, maka invers dari c adalah d Jika a 0, maka ada a -1 A sehingga a * a -1 = a a * a = a = e, maka invers dari a adalah a d * d = a = e, maka invers dari d adalah d
6. Pembagi Nol : elemen bukan nol a dari ring komutatif R, sehingga ada unsur b R dengan b 0 berlaku ab = 0 77 Dari tabel 4.12 terlihat bahwa A tidak mempunyai pembagi nol dan mempunyai elemen identitas yaitu a 7. Finite Field: Field yang banyak anggotanya berhingga. A={x, a, b, c, d, e, f} memiliki banyak anggotanya tujuh (berhingga) Berdasarkan sifat-sifat yang telah diuji hasil yang didapat sebagai berikut: 1. Karena A={x, a, b, c, d, e, f} bersifat : Tertutup terhadap operasi (+) dan (*) Asosiatif terhadap operasi (+) dan (*) Komutatif terhadap operasi (+) Memiliki Invers terhadap operasi (+) Memiliki Elemen Identitas terhadap operasi (+) Distributif perkalian terhadap penjumlahan Maka A={x, a, b, c, d, e, f} merupakan Ring 2. Karena A={x, a, b, c, d, e, f} bersifat : Ring Tidak Komutatif terhadap operasi (*) Maka A={x, a, b, c, d, e, f} bukan merupakan Ring Komutatif 3. Karena A={x, a, b, c, d, e, f} bersifat : Ring Memiliki Invers terhadap operasi (*) Memiliki Elemen Identitas terhadap operasi (*) Maka A={x, a, b, c, d, e, f} merupakan Ring Pembagian 4. Karena A={x, a, b, c, d, e, f} bersifat : Ring Pembagian Tidak Komutatif terhadap operasi (*) Maka A={x, a, b, c, d, e, f} bukan merupakan Field 5. Karena A={x, a, b, c, d, e, f} merupakan field dan banyak anggotanya tujuh (berhingga)
78 6. Karena A={x, a, b, c, d, e, f} bersifat : Bukan Ring Komutatif Memiliki Elemen Identitas terhadap operasi (*) Tidak memiliki elemen pembagi nol maka A={x, a, b, c, d, e, f} bukan merupakan Integral Domain 4.3.2 Pengujian Dengan Aplikasi Berikut ini hasil pengunaan dari aplikasi: 1. Z 3 ={0,1,2}
79 Gambar 4.23 Hasil Input-an Z 3 ={0,1,2} Dari User Gambar 4.24 Hasil Analisis Dari Z 3 ={0,1,2}
80 Gambar 4.25 Hasil Kesimpulan Dari Z 3 ={0,1,2} Hasil pada gambar 4.25 sesuai dengan hasil pengujian manual pada Z 3 ={0,1,2} adalah sama. 2. Matrix 2x2 pada Z 3 ={0,1,2} dengan anggota M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} Gambar 4.26 Hasil Input-an Matrix 2x2 pada Z 3 ={0,1,2} dengan anggota M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} dari user
81 Gambar 4.27 Hasil Analisis Dari Matrix 2x2 pada Z 3 ={0,1,2} dengan anggota M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}} Gambar 4.28 Hasil Kesimpulan Dari Matrix 2x2 pada Z 3 ={0,1,2} dengan anggota M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}}
82 Hasil pada gambar 4.28 sesuai dengan hasil pengujian manual Matrix 2x2 pada Z 3 ={0,1,2} dengan anggota M={{[0,0],[0,0]}, {[1,1],[1,1]}, {[2,2],[2,2]}}adalah sama. 3. Himpunan Z 6 ={0,1,2,3,4,5,6} dan R={0,2,4} dengan modulo 6: Gambar 4.29 Hasil Input-an Z 6 ={0,1,2,3,4,5,6} dan R={0,2,4} dengan modulo 6 dari user Gambar 4.30 Hasil analisis dari Z 6 ={0,1,2,3,4,5,6} dan R={0,2,4} dengan modulo 6 dari user
83 Gambar 4.31 Hasil kesimpulan dari Z 6 ={0,1,2,3,4,5,6} dan R={0,2,4} dengan modulo 6 dari user Hasil pada gambar 4.31 sesuai dengan hasil pengujian manual Z 6 ={0,1,2,3,4,5,6} dan R={0,2,4} adalah sama. 4. Himpunan A={x, a, b, c, d, e, f} Gambar 4.32 hasil inputan A={x, a, b, c, d, e, f}
84 Gambar 4.33 hasil Analisis dari A={x, a, b, c, d, e, f} Gambar 4.34 hasil kesimpulan dari A={x, a, b, c, d, e, f} Hasil pada gambar 4.34 sesuai dengan hasil pengujian manual A={x, a, b, c, d, e, f} adalah sama.
85 4.3.2.1 Pengujian Aplikasi Berdasarkan Delapan Aturan Emas 1. Berusaha Untuk Konsisten Konsistensi dalam aplikasi ini terlihat dari ukuran, tipe tulisan dan tampilan layout yang sama. Gambar 4.35 Tampilan Konsisten Satu Gambar 4.36 Tampilan Konsisten Dua
86 2. Dapat digunakan secara universal Bagi pengguna sangatlah mudah untuk memahami aplikasi pengujian struktur aljabar ini karena memudahkan pengguna untuk menemukan menu yang diinginkan Gambar 4.37 Tampilan Universal 3. Menyediakan Umpan Balik Informatif Pengguna akan diberikan umpan balik jika file yang disimpan memiliki nama yang sama Gambar 4.38 Tampilan Umpan Balik Informatif 4. Pengorganisasian Berbagai Aksi Ke Dalam Dialog Untuk Membentuk Urutan Yang Jelas Dari Awal Sampai Penutupan Aplikasi ini menyediakan berbagai tindakan yang teroganisir dari awal sampai akhir, misalkan ketika pengguna memasukkan himpunan sampai menyimpan hasil kesimpulan 5. Pendeteksian Error Dan Penyediaan Instruksi Sederhana Untuk Memperbaiki Error Tersebut
87 Aplikasi ini memiliki pencegahan kesalahan dengan memberikan informasi ketika terjadi kesalahan, misalkan ketika pengguna memilih himpunan angka tetapi memasukkan himpunan huruf Gambar 4.39 Tampilan Pendeteksi Error 6. Menyediakan Fitur Untuk Kembali Ke Aksi Sebelumnya Dengan Mudah Aplikasi ini memberikan tombol tab untuk kembali ke tab yang sebelumnya Gambar 4.40 Tampilan Tab Kembali Aksi 7. Memungkinkan Pengguna Untuk Mengatur Sistem Dan Tampilan Aplikasi Aplikasi ini dapat mengatur tampilan menjadi kecil dengan menekan icon minimize
88 8. Mengurangi Beban Pengguna Untuk Mengingat Berbagai Informasi Dari Layar Aplikasi Aplikasi ini menggunakan sedikit menu dan button untuk mengingat berbagai informasi dari layar aplikasi 4.3.2.2 Pengujian Aplikasi Oleh Pengguna Tabel 4.13 Wawancara Pengujian Pengguna Nama : Erwin Status : Mahasiswa Teknik Informatika dan Matematika Universitas Bina Nusantara No Soal Jawaban 1 Bagaimana tanggapan saudara Erwin Aplikasinya mudah digunakan bagi dengan program aplikasi pengujian orang awam struktur aljabar ini? 2 Apakah Aplikasi ini dapat Ya mempermudah proses dalam pengujian struktur aljabar? 3 Apakah aplikasi ini dapat membantu Ya, karena dalam aplikasi ini pengguna untuk memahami suatu menampilkan proses dalam pengujian klasifikasi struktur aljabar? dan memberikan penjelasan hasil analisis 4 Apakah hasil aplikasi ini sesuai dengan hasil pengujian manual? Ya, hasilnya sama dengan perhitungan manual 5 Apakah hasil aplikasi ini sesuai dengan hasil pengujian manual? Ya, hasilnya sama dengan perhitungan manual 6 Apakah aplikasi ini dapat membantu pembelajaran mata kuliah aljabar moderen? Ya, aplikasi ini sangat membantu dalam pembelajaran matakuliah tersebut
89 4.4 Hasil Evaluasi Program Dengan melihat hasil perbandingan antara pengujian secara manual dan aplikasi, dapat dilihat bahwa Pengujian secara manual dan aplikasi menghasilkan hasil yang sama dan tepat. Jadi, terbukti bahwa aplikasi ini menjalankan fungsinya dengan baik dan akurat sesuai dengan pengujian manual.
90