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. Intel(R) Celeron(R) CPU B800 @ 1.50GHz
Processor
(2 CPUs), ~1.5GHz
Memory
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 Z3={0,1,2}
2.
Himpunan Matrix 2x2 pada Z3={0,1,2}
3.
Himpunan Z6={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
8.
• a- b
S
• a*b
S
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 :
Z3={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 Z3
5.
Asosiatif : (a * b) * c = a * (b * c) untuk setiap a, b, c Z3 Ambil 0,1,2
Z3, maka:
(0 + 1) + 2 = 0 + (1 + 2) = 0 (1 + 1) + 1 = 1 + (1 + 1) = 0 (1 + 2) + 2 = 1 + (2 + 2) = 2 Jadi, Z3 bersifat asosiatif terhadap operasi penjumlahan Ambil 0,1,2
Z3:
(0 * 1) * 2 = 0 * (1 * 2) = 0 (2 * 2) * 1 = 2 * (2 * 1) = 1 (1 * 1) * 2 = 1 * (1 * 2) = 2 Jadi, Z3 bersifat asosiatif terhadap operasi perkalian 6.
Komutatif : a * b = a * b untuk setiap a, b, c Ambil 0, 1, 2
Z3
Z3:
0+1=1+0=1 1+2=2+1=0 2+0=0+2=2 Jadi, Z3 bersifat komutatif terhadap operasi penjumlahan Ambil 0, 1, 2
Z3:
0*1=1*0=0
64 1*2=2*1=2 2*0=0*2=0 Jadi, Z3 bersifat komutatif terhadap operasi perkalian 7.
Elemen Identitas : ada e
Z3 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, Z3 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, Z3 mempunyai elemen identitas yaitu 1 8.
Invers : untuk setiap a
Z3 ada (-a) Z3 sehingga a + (-a) =0
Jika a + (-a) = 0, ambil 0, 1, 2
Z3, 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 Z3 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 Z3 tidak mempunyai pembagi nol dan mempunyai elemen identitas yaitu 1
65 10.
Finite Field: Field yang banyak anggotanya berhingga. Z3={0,1,2} memiliki banyak anggotanya tiga (berhingga) Berdasarkan sifat-sifat yang telah diuji hasil yang didapat sebagai berikut:
1.
Karena Z3={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 Z3={0,1,2} merupakan Ring 2.
Karena Z3={0,1,2} bersifat : •
Ring
•
Komutatif terhadap operasi (*)
Maka Z3={0,1,2} merupakan Ring Komutatif 3.
Karena Z3={0,1,2} bersifat : •
Ring
•
Memiliki Invers terhadap operasi (*)
•
Memiliki Elemen Identitas terhadap operasi (*)
Maka Z3={0,1,2} merupakan Ring Pembagian 4.
Karena Z3={0,1,2} bersifat : •
Ring Pembagian
•
Komutatif terhadap operasi (*)
Maka Z3={0,1,2} merupakan Field 5.
Karena Z3={0,1,2} merupakan field dan banyak anggotanya tiga (berhingga) Maka Z3={0,1,2} merupakan Finite Field
6.
Karena Z3={0,1,2} bersifat : •
Ring Komutatif
•
Memiliki Elemen Identitas terhadap operasi (*)
•
Tidak memiliki elemen pembagi nol
maka Z3={0,1,2} merupakan Integral Domain
66
Matrix 2x2 pada Z3={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
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 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 Z6={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 Z4
2.
Asosiatif : (a * b) * c = a * (b * c) untuk setiap a, b, c Z6 Ambil 0,1,2,3,4,5
Z6, maka:
(0 + 0) + 0 = 0 + (0 + 0) = 0 (1 + 0) + 4 = 1 + (0 + 4) = 5 (2 + 2) + 5 = 2 + (2 + 5) = 3 Jadi, Z3 besifat asosiatif tehadap operasi penjumlahan Ambil 0,1,2,3,4,5
Z6:
(5 * 4) * 3 = 5 * (4 * 3) = 0 (4 * 2) * 5 = 4 * (2 * 5) = 4 (3 * 3) * 5 = 3 * (3 * 5) = 3 Jadi, Z3 besifat asosiatif tehadap operasi perkalian 3.
Komutatif : a * b = a * b untuk setiap a, b, c Ambil 0,1,2,3,4,5
Z6
Z6:
4+5=5+4=3 2+4=4+2=0 2+3=3+2=4 Jadi, Z6 besifat komutatif tehadap operasi penjumlahan Ambil 0,1,2,3,4,5
Z6:
3*2=2*3=0 4*1=1*4=4 5*3=3*5=3 Jadi, Z6 besifat komutatif tehadap operasi perkalian
72 4.
Elemen Identitas : ada e
Z6 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, Z6 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, Z6 mempunyai elemen identitas yaitu 1 5.
Invers : untuk setiap a
Z6 ada (-a) Z6 sehingga a + (-a) =0
Jika a + (-a) = 0, ambil 0,1,2,3,4,5
Z6, 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 Z6 sehingga a * a-1 = 1
1 * 1 = 1 = e, maka invers dari 1 adalah 1
6.
2*2=4
e, tidak memiliki invers
3 * 3 =0
e ,tidak memiliki invers
Subring : untuk setiap a,b a*b
S: 0*0=0 0*2=0 0*4=0 2*0=0
S berlaku a * b
S, a - b
S
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 Z6={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 Z6={0,1,2,3,4,5} merupakan Ring 2.
Karena Z6={0,1,2,3,4,5} bersifat : •
Ring
•
Komutatif terhadap operasi (*)
Maka Z6={0,1,2,3,4,5} merupakan Ring Komutatif 3.
Karena Z6={0,1,2,3,4,5} bersifat : •
Ring
•
Tidak memiliki Invers terhadap operasi (*)
74 •
Memiliki Elemen Identitas terhadap operasi (*)
Maka Z6 ={0,1,2,3,4,5} bukan merupakan Ring Pembagian 4.
Karena Z6 ={0,1,2,3,4,5} bersifat : •
Bukan Ring Pembagian
•
Komutatif terhadap operasi (*)
Maka Z6 ={0,1,2,3,4,5} bukan merupakan Field 5.
Karena Z6 ={0,1,2,3,4,5} bersifat : •
Ring
•
a*b
S dan a - b
S
Maka R ={0, 2, 4} merupakan subring 6.
Karena Z6 ={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 Z6 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 b b c d e c c d e
f
x
f x a
f x a b
d d e
f x a b c
e e
f
x a b c d
f
x a b c d e
f
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
d
f
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 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
A
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
77 6.
Pembagi Nol : elemen bukan nol a dari ring komutatif R, sehingga ada unsur b
R dengan b
0 berlaku ab = 0
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.
Z3={0,1,2}
79 Gambar 4.23 Hasil Input-an Z3={0,1,2} Dari User
Gambar 4.24 Hasil Analisis Dari Z3={0,1,2}
80
Gambar 4.25 Hasil Kesimpulan Dari Z3={0,1,2} Hasil pada gambar 4.25 sesuai dengan hasil pengujian manual pada Z3={0,1,2} adalah sama. 2.
Matrix 2x2 pada Z3={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 Z3={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 Z3={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 Z3={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
Z3={0,1,2}
dengan
anggota
M={{[0,0],[0,0]},
{[1,1],[1,1]},
{[2,2],[2,2]}}adalah sama.
3.
Himpunan Z6={0,1,2,3,4,5,6} dan R={0,2,4} dengan modulo 6:
Gambar 4.29 Hasil Input-an Z6={0,1,2,3,4,5,6} dan R={0,2,4} dengan modulo 6 dari user
Gambar 4.30 Hasil analisis dari Z6={0,1,2,3,4,5,6} dan R={0,2,4} dengan modulo 6 dari user
83
Gambar 4.31 Hasil kesimpulan dari Z6={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
Z6={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}
manual
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 1
Soal
Jawaban
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, pengguna
untuk
memahami
klasifikasi struktur aljabar?
karena
dalam
aplikasi
ini
suatu menampilkan proses dalam pengujian dan
memberikan
penjelasan
hasil
analisis 4
Apakah hasil aplikasi ini sesuai dengan Ya, hasilnya sama dengan perhitungan hasil pengujian manual?
5
manual
Apakah hasil aplikasi ini sesuai dengan Ya, hasilnya sama dengan perhitungan hasil pengujian manual?
6
Apakah aplikasi ini pembelajaran moderen?
mata
manual
dapat membantu Ya, aplikasi ini sangat membantu dalam kuliah
aljabar 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