BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Spesifikasi Perangkat Keras Spesifikasi dari perangkat keras yang digunakan dalam perancangan program adalah sebagai berikut. Processor Intel Pentium Dual-Core CPU T4400 @ 2.20GHz RAM 953 MB DDR Hard disk 160 GB Mouse Logitech 4.2 Spesifikasi Perangkat Lunak Spesifikasi dari perangkat lunak yang digunakan dalam perancangan program adalah sebagai berikut. Sistem operasi yang digunakan adalah Microsoft Windows XP Professional Service Pack 3 Library Java, dengan meng-install Java Standard Edition Development Kit 6 Update 2 Untuk perancangan program, penulis menggunakan Eclipse SDK versi 3.7.1 untuk perancangan modul logika maupun antarmuka program.
42 4.3 Pengoperasian dan Antarmuka Program Pengoperasian program ini adalah sebagai berikut. 1. Penggunaan bahasa Java memungkinkan aplikasi ini berjalan pada semua jenis platform. 2. Jalankan file UjiSA.jar. 3. Tampilan awal yang menyapa pengguna adalah layar tampilan utama. Pada tampilan utama ini tertulis judul aplikasi Testing Algebra Structure Program Apllication, rincian hal apa saja yang dapat diuji, identitas singkat penulis, beserta nama kedua dosen pembimbing. Penjelasan singkat tersebut diakhiri dengan JButton OK. Pengguna tidak memiliki pilihan lain selain memilih tombol OK ini. Gambar 4.1 Layar Tampilan Utama
43 4. Setelah JButton OK dipilih, akan tampil tampilan menu utama program. Pengguna memiliki 4 pilihan tab menu di sebelah kiri. Masing-masing tab menu memiliki tiga sampai empat sub-tab yang masing-masing memuat tampilan antar muka yang memiliki fungsi masing-masing. Gambar 4.2 Tampilan menu pengujian Ring, Commutative Ring, Division Ring dan Field tab Input Data 5. Pada tampilan ini, terdapat sebuah JTextField yang dapat digunakan pengguna untuk memasukkan elemen dari struktur al;jabar yang ingin diuji, JButton Add untuk melakukan fungsi menambahkan elemen di JtextField ke dalam JList, JButton Delete untuk menghapus elemen, JButton Delete All untuk mengosongkan JList, JButton New untuk menyediakan form baru bagi proses pengujian, dan JButton Process yang menandakan pengguna telah selesai memasukkan elemen struktur aljabar, dan siap untuk mengisi tabel Cayley. Ada 2 validasi yang berkaitan JButton Add. Yang pertama, pengguna tidak dapat
44 memasukkan elemen kosong ke dalam JList. Jika pengguna tidak sengaja menekan JButton Add sebelum diisi elemennys, pengguna akan diberi pesan berikut. Gambar 4.3 Tampilan jika pengguna memasukkan himpunan kosong. Validasi kedua ialah, sebelum sebuah elemen ditambahkan kedalam JList, terlebih dulu dilakukan pengecekan apakah elemen tersebut sudah berada pada JList. Jika elemen yang bersangkutan sudah ada di JList, maka akan diberikan pesan Gambar 4.4 Tampilan pesan jika terdapat redudansi elemen pada JList Pengguna juga harus memilih salah satu elemen jika ingin melakukan penghapusan salah satu elemen dengan JButton Delete. Jika pengguna telah menekan JButton Delete sebelum memilih elemen, akan ditampilkan pesan berikut.
45 Gambar 4.5 Tampilan pesan jika pengguna telah menekan JButton Delete sebelum memilih elemen 6. Setelah pengguna selesai memasukkan elemen dengan jumlah minimal 2 elemen dalam satu himpunan, pengguna dapat memasukkan isi tabel Cayley. Gambar 4.6 Tampilan untuk pengisian tabel Cayley 7. Di antara kedua tabel, terdapat 3 JButton, JButton Reset Op. + untuk membersihkan tabel dengan operasi (+), JButton Reset Op. x untuk membersihkan tabel dengan operasi (*), dan JButton Analysis untuk melakukan proses pengujian terhadap tabel Cayley. JButton Analysis memiliki validasi berupa pengujian kelengkapan tabel (telah terisi
46 semua). Jika salah satu cell belum terisi, maka pengguna akan menemukan pesan berikut. Gambar 4.7 Tampilan jika ada cell di tabel dengan operasi (+) yang belum terisi Gambar 4.8 Tampilan jika ada cell di tabel dengan operasi (*) yang belum terisi Jika semua cell telah terisi, terlihat seperti pada Gambar 4.9, Gambar 4.9 Tampilan yang menunjukkan bahwa semua cell telah terisi dan akan dilakukan proses pengujian
47 8. Pengguna dapat melihat hasil pengujian pada sub-tab Analysis of Cayley Table Gambar 4.10 Tampilan jika JButton Commutative againts operation x yang terdapat pada tabel diklik Hasil pengujian merupakan JButton yang jika diklik akan menampilkan keterangan yang bersangkutan pada JTextArea di bawah tabel. Sebagai contoh, jika JButton Commutative againts operation x diklik, maka akan muncul tampilan seperti Gambar 4.10. 9. Selain hasil pengujian, kesimpulan terhadap hasil pengujian juga telah dapat dilihat pada sub-tab Analysis s Result
48 Gambar 4.11 Tampilan pada sub-tab Analysis s Result Seperti pada sub-tab Analysis of Cayley Table, pada tampilan ini juga mengandung 4 JButton yang jika diklik akan menampilkan keterangan mengenai masing-masing kesimpulan pada JTextArea yang terletak di bawah tabel kesimpulan. 10. Jika tab Sub Ring - Ideal yang dipilih, maka akan terdapat tampilan yang siap menerima masukan berupa elemen struktur aljabar untuk pengujian sub-ring dan/atau ideal.
49 Gambar 4.12 Tampilan layar untuk tab Sub Ring Ideal Layar sebelah kiri untuk memasukkan elemen dari ring(r,+,*) yang telah diuji, sedangkan layar sebelah kanan untuk memasukkan elemen yang akan diuji. Telah divalidasikan, agar elemen yang dapat dimasukkan sebagai elemen sub-ring haruslah merupakan elemen ring pula. Validasi yang lain, seperti tidak boleh ada elemen yang ganda, dan tidak boleh merupakan himpunan kosong, sama seperti dengan pengujian ring. Setelah pengguna memasukkan minimum dua elemen, barulah JButton Input the Member of Sub-Ring dapat diakses untuk untuk memasukkan elemen dari sub ring yang ingin diuji. 11. Setelah elemen untuk kedua struktur aljabar telah dimasukkan seperti terlihat gambar 4.13, maka pengguna dapat menekan JButton Process untuk mulai mengisi tabel Cayley.
50 Gambar 4.13 Tampilan program setelah kedua struktur aljabar telah dimasukkan elemennya 12. Setelah JButton Process ditekan, maka pada sub-tab Fill in the Cayley Table akan ditampilkan dua tabel untuk pengisian tabel Cayley dari struktur aljabar (S,+,*) Gambar 4.14 Tampilan sub-tab Fill in the Cayley Table setelah diisi
51 13. Setelah kedua tabel terisi semua, maka JButton Analysis dapat dipilih untuk melakukan operasi pengujian terhadap tabel Cayley. Hasil pengujiannya terlihat pada sub-tab Sub Ring Testing Result Gambar 4.15 Tampilan pada sub tab Sub Ring Testing Result Seperti pada tab untuk pengujian ring, hasil pengujian sub-ring ini pun terangkum dalam beberapa JButton yang jika diklik akan menampilkan hasil pengujian yang bersangkutan pada JTextArea di bawah tabel. 14. Dengan sub-ring yang sama, pengguna dapat sekaligus melakukan pengujian ideal. Pengujian ideal ini terdapat pada menu sub ring ideal, sub-tab Ideal Testing. Setelah kedua tabel terisi, pengguna dapat menekan JButton Analysis untuk menampilkan hasil pengujian sub-
52 ring tersebut. Hasil pengujian terpampang pada JTextArea yang terletak di bawah tabel. Gambar 4.16 Tampilan layar pengujian Ideal 15. Jika pengguna memilih tab ke tiga, tab untuk pengujian homomorfisma dan homomorfisma khusus, maka akan terdapat tampilan seperti gambar 4.17 Gambar 4.17 Tampilan tab Homomorphism
53 Pada tab ini, tidak terdapat validasi yang mengatur bahwa elemen anggota ring (S,<+>,<*>) haruslah merupakan elemen anggota ring (R,+,*). 16. Setelah selesai memasukkan elemen, pengguna dapat mengklik JButton Process. Pada sub-tab Fill in the Cayley Table akan terlihat tabel Cayley untuk kedua ring. Gambar 4.18 Tampilan tab Homomorphism pada sub-tab Fill In the Cayley Table 17. Setelah pengguna selesai memasukkan isi tabel Cayley, pengguna dapat menekan JButton Analysis. Hasil analisis dari kedua tabel Cayley terdapat pada sub-tab Testing Result. Seperti kedua tab sebelumnya, pada tab ini pun pengguna dapat mengakses keterangan dari masingmasing kesimpulan dengan menekan tombol yang bersangkutan.
54 Gambar 4.19 Tampilan tab Homomorphism pada sub-tab Testing Result 18. Bagi pengguna yang ingin mencetak hasil pengujian ke kertas, tersedia JButton untuk mengakses operasi penyimpanan hasil pengujian ke file.txt yang dapat dicetak melalui program Notepad. JButton tersebut terdapat pada tab keempat, Save the Result About Us Gambar 4.20 Tampilan tab Save the Result About Us
55 Sebelum dilakukan proses pencetakan ke Notepad, terlebih dahulu dilakukan pemeriksaan, apakah tab yang bersangkutan telah dilakukan pengujian. Jika belum dilakukan pengujian, maka pengguna akan mendapatkan pesan seperti di bawah ini. Gambar 4.21 Tampilan pesan simpan hasil uji tab pertama. Gambar 4.22 Tampilan pesan simpan hasil uji tab kedua Gambar 4.23 Tampilan pesan simpan hasil uji tab ketiga Gambar 4.21 merupakan tampilan pesan yang dilihat pengguna jika mengakses JButton penyimpanan hasil pengujian tab pertama sebelum melakukan pengujian. Gambar 4.22 merupakan tampilan pesan
56 yang dilihat pengguna jika mengakses JButton penyimpanan hasil pengujian tab kedua sebelum melakukan pengujian. Gambar 4.23 merupakan tampilan pesan yang dilihat pengguna jika mengakses JButton penyimpanan hasil pengujian tab ketiga sebelum melakukan pengujian. Setelah pengguna melakukan pengujian, maka akan tampil jendela yang dapat digunakan pengguna untuk menentukan lokasi penyimpanan hasil pengujian beserta nama filenya. Pengguna tidak perlu mengetikkan ekstensi file, karena otomatis akan disimpan ke file berekstensi.txt. Gambar 4.24 Tampilan jendela simpan hasil pengujian Setelah pengguna selesai menentukan lokasi dan nama file tempat penyimpanan hasil pengujian, program akan melakukan pengecekan mengenai keberadaan file bersangkutan. Jika telah ada file bernama sama,
57 maka akan muncul pesan yang memberitahukan hal ini sekaligus menanyakan pengguna apakah tetap ingin menyimpan dengan path sebelumnya atau mengganti path. Gambar 4.25 Tampilan pesan path ganda Setelah dipastikan path unik, maka program akan menyimpan hasil pengujian ke path tersebut, dan menampilkan pesan bahwa file telah tersimpan di path tersebut. Gambar 4.26 Tampilan pesan file berhasil disimpan 19. Untuk menutup program, pengguna dapat mengklik ikon X yang teletak di pojok kanan atas layar.
58 4.4 Analisis Hasil Perancangan Program Untuk memastikan kemampuan program dalam melakukan pengujian, maka perlu dilakukan pembandingan antara hasil manual dengan output dari program. Akan dilakukan pengujian dengan menggunakan tabel Cayley yang ditampilkan di bawah ini. Tabel 4.1 Pengujian Ring, Ring Komutatif, Ring Pembagian, Field (Penjumlahan Modulo 4) + 0 1 2 3 0 0 1 2 3 1 1 2 3 0 2 2 3 0 1 3 3 0 1 2 Tabel 4.2 Pengujian Ring, Ring Komutatif, Ring Pembagian, Field (Perkalian Modulo 4) * 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 Tabel 4.3 Pengujian Sub Ring (Penjumlahan Modulo 4) + 0 2 0 0 2 2 2 0 Tabel 4.4 Pengujian Sub Ring (Perkalian Modulo 4) * 0 2 0 0 0 2 0 0 Tabel 4.5 Pengujian Ideal Kiri (Perkalian Modulo 4) * 0 1 2 3 0 0 0 0 0 2 0 2 0 2
59 Tabel 4.6 Pengujian Ideal Kanan(Perkalian Modulo 4) * 0 2 0 0 0 1 0 2 2 0 0 3 0 2 Tabel 4.7 Pengujian Ring, Ring Komutatif, Ring Pembagian Field (Penjumlahan Sembarang) + 1 2 1 1 2 2 3 4 Tabel 4.8 Pengujian Ring, Ring Komutatif, Ring Pembagian, Field (Perkalian Sembarang) * 1 2 1 2 1 2 4 3 Kesimpulan yang diperoleh dari hasil pengujian manual dan program memberikan hasil yang sama, sebagai berikut. Tabel 4.1 dan tabel 4.2 merupakan ring, ring komutatif, tetapi bukan ring pembagian dan bukan field. Tabel 4.3 dan tabel 4.4 merupakan sub ring. Tabel 4.5 dan tabel 4.6 merupakan ideal. Tabel 4.7 dan tabel 4.8 bukan ring, bukan ring komutatif, bukan ring pembagian, bukan field Hasil pemetaan tabel 4.3 dan 4.4 terhadap tabel 4.1 dan tabel 4.2 menghasilkan bahwa pemetaan bukan homomorfisma, bukan epimorfisma, bukan monomorfisma, dan bukan isomorfisma
60 Hasil analisis dan pengujian dari program adalah sebagai berikut. Tabel 4.1 dan tabel 4.2 Testing Result for : Ring, Commutative Ring, Division Ring, and Field ANALYSIS RESULT FROM CAYLEY TABLE ================================= 1. Closed to the operation of (+) --> For all a, b of R, the result of a + b is also a member of R Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 32, subbab 3.3.2.3, memenuhi sifat tertutup terhadap operasi + 2. Elements that generate the left and right sides together : 0+(0+0) = 0 <-- is equal to --> 0 = (0+0)+0 0+(0+1) = 1 <-- is equal to --> 1 = (0+0)+1 0+(0+2) = 2 <-- is equal to --> 2 = (0+0)+2 0+(0+3) = 3 <-- is equal to --> 3 = (0+0)+3 0+(1+0) = 1 <-- is equal to --> 1 = (0+1)+0 0+(1+1) = 2 <-- is equal to --> 2 = (0+1)+1 0+(1+2) = 3 <-- is equal to --> 3 = (0+1)+2 0+(1+3) = 0 <-- is equal to --> 0 = (0+1)+3 0+(2+0) = 2 <-- is equal to --> 2 = (0+2)+0 0+(2+1) = 3 <-- is equal to --> 3 = (0+2)+1 0+(2+2) = 0 <-- is equal to --> 0 = (0+2)+2 0+(2+3) = 1 <-- is equal to --> 1 = (0+2)+3 0+(3+0) = 3 <-- is equal to --> 3 = (0+3)+0 0+(3+1) = 0 <-- is equal to --> 0 = (0+3)+1 0+(3+2) = 1 <-- is equal to --> 1 = (0+3)+2 0+(3+3) = 2 <-- is equal to --> 2 = (0+3)+3 1+(0+0) = 1 <-- is equal to --> 1 = (1+0)+0 1+(0+1) = 2 <-- is equal to --> 2 = (1+0)+1 1+(0+2) = 3 <-- is equal to --> 3 = (1+0)+2 1+(0+3) = 0 <-- is equal to --> 0 = (1+0)+3 1+(1+0) = 2 <-- is equal to --> 2 = (1+1)+0 1+(1+1) = 3 <-- is equal to --> 3 = (1+1)+1 1+(1+2) = 0 <-- is equal to --> 0 = (1+1)+2 1+(1+3) = 1 <-- is equal to --> 1 = (1+1)+3 1+(2+0) = 3 <-- is equal to --> 3 = (1+2)+0 1+(2+1) = 0 <-- is equal to --> 0 = (1+2)+1 1+(2+2) = 1 <-- is equal to --> 1 = (1+2)+2 1+(2+3) = 2 <-- is equal to --> 2 = (1+2)+3 1+(3+0) = 0 <-- is equal to --> 0 = (1+3)+0 1+(3+1) = 1 <-- is equal to --> 1 = (1+3)+1 1+(3+2) = 2 <-- is equal to --> 2 = (1+3)+2 1+(3+3) = 3 <-- is equal to --> 3 = (1+3)+3 2+(0+0) = 2 <-- is equal to --> 2 = (2+0)+0
61 2+(0+1) = 3 <-- is equal to --> 3 = (2+0)+1 2+(0+2) = 0 <-- is equal to --> 0 = (2+0)+2 2+(0+3) = 1 <-- is equal to --> 1 = (2+0)+3 2+(1+0) = 3 <-- is equal to --> 3 = (2+1)+0 2+(1+1) = 0 <-- is equal to --> 0 = (2+1)+1 2+(1+2) = 1 <-- is equal to --> 1 = (2+1)+2 2+(1+3) = 2 <-- is equal to --> 2 = (2+1)+3 2+(2+0) = 0 <-- is equal to --> 0 = (2+2)+0 2+(2+1) = 1 <-- is equal to --> 1 = (2+2)+1 2+(2+2) = 2 <-- is equal to --> 2 = (2+2)+2 2+(2+3) = 3 <-- is equal to --> 3 = (2+2)+3 2+(3+0) = 1 <-- is equal to --> 1 = (2+3)+0 2+(3+1) = 2 <-- is equal to --> 2 = (2+3)+1 2+(3+2) = 3 <-- is equal to --> 3 = (2+3)+2 2+(3+3) = 0 <-- is equal to --> 0 = (2+3)+3 3+(0+0) = 3 <-- is equal to --> 3 = (3+0)+0 3+(0+1) = 0 <-- is equal to --> 0 = (3+0)+1 3+(0+2) = 1 <-- is equal to --> 1 = (3+0)+2 3+(0+3) = 2 <-- is equal to --> 2 = (3+0)+3 3+(1+0) = 0 <-- is equal to --> 0 = (3+1)+0 3+(1+1) = 1 <-- is equal to --> 1 = (3+1)+1 3+(1+2) = 2 <-- is equal to --> 2 = (3+1)+2 3+(1+3) = 3 <-- is equal to --> 3 = (3+1)+3 3+(2+0) = 1 <-- is equal to --> 1 = (3+2)+0 3+(2+1) = 2 <-- is equal to --> 2 = (3+2)+1 3+(2+2) = 3 <-- is equal to --> 3 = (3+2)+2 3+(2+3) = 0 <-- is equal to --> 0 = (3+2)+3 3+(3+0) = 2 <-- is equal to --> 2 = (3+3)+0 3+(3+1) = 3 <-- is equal to --> 3 = (3+3)+1 3+(3+2) = 0 <-- is equal to --> 0 = (3+3)+2 3+(3+3) = 1 <-- is equal to --> 1 = (3+3)+3 Associative to the operation of (+) --> For all a, b, c of R, apply a + (b + c) = (a + b) + c Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 32, subbab 3.2.2.4, memenuhi sifat asosiatif terhadap operasi + 3. Comutative to the operation of (+) --> For all a, b of R, apply a + b = b + a Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 33, subbab 3.2.2.5, memenuhi sifat komutatif terhadap operasi + 4. Has an element of unity for the operation (+), that is 0
62 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 34, subbab 3.2.2.6, memiliki unsur kesatuan terhadap operasi + 5. Inverse of each element contained in the operation (+) : Inverse of 0 is 0 Inverse of 1 is 3 Inverse of 2 is 2 Inverse of 3 is 1 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 34, subbab 3.2.2.7, setiap unsur memiliki invers terhadap operasi + 6. Closed to the operation of (*) --> For all a, b of R, the result of a * b is also a member of R Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi * dan pseudocode di hal 34, subbab 3.2.2.8, memenuhi sifat tertutup terhadap operasi * 7. Elements that generate the left and right sides together : 0*(0*0) = 0 <-- is equal to --> 0 = (0*0)*0 0*(0*1) = 0 <-- is equal to --> 0 = (0*0)*1 0*(0*2) = 0 <-- is equal to --> 0 = (0*0)*2 0*(0*3) = 0 <-- is equal to --> 0 = (0*0)*3 0*(1*0) = 0 <-- is equal to --> 0 = (0*1)*0 0*(1*1) = 0 <-- is equal to --> 0 = (0*1)*1 0*(1*2) = 0 <-- is equal to --> 0 = (0*1)*2 0*(1*3) = 0 <-- is equal to --> 0 = (0*1)*3 0*(2*0) = 0 <-- is equal to --> 0 = (0*2)*0 0*(2*1) = 0 <-- is equal to --> 0 = (0*2)*1 0*(2*2) = 0 <-- is equal to --> 0 = (0*2)*2 0*(2*3) = 0 <-- is equal to --> 0 = (0*2)*3 0*(3*0) = 0 <-- is equal to --> 0 = (0*3)*0 0*(3*1) = 0 <-- is equal to --> 0 = (0*3)*1 0*(3*2) = 0 <-- is equal to --> 0 = (0*3)*2 0*(3*3) = 0 <-- is equal to --> 0 = (0*3)*3 1*(0*0) = 0 <-- is equal to --> 0 = (1*0)*0 1*(0*1) = 0 <-- is equal to --> 0 = (1*0)*1 1*(0*2) = 0 <-- is equal to --> 0 = (1*0)*2 1*(0*3) = 0 <-- is equal to --> 0 = (1*0)*3 1*(1*0) = 0 <-- is equal to --> 0 = (1*1)*0 1*(1*1) = 1 <-- is equal to --> 1 = (1*1)*1 1*(1*2) = 2 <-- is equal to --> 2 = (1*1)*2 1*(1*3) = 3 <-- is equal to --> 3 = (1*1)*3 1*(2*0) = 0 <-- is equal to --> 0 = (1*2)*0 1*(2*1) = 2 <-- is equal to --> 2 = (1*2)*1 1*(2*2) = 0 <-- is equal to --> 0 = (1*2)*2
63 1*(2*3) = 2 <-- is equal to --> 2 = (1*2)*3 1*(3*0) = 0 <-- is equal to --> 0 = (1*3)*0 1*(3*1) = 3 <-- is equal to --> 3 = (1*3)*1 1*(3*2) = 2 <-- is equal to --> 2 = (1*3)*2 1*(3*3) = 1 <-- is equal to --> 1 = (1*3)*3 2*(0*0) = 0 <-- is equal to --> 0 = (2*0)*0 2*(0*1) = 0 <-- is equal to --> 0 = (2*0)*1 2*(0*2) = 0 <-- is equal to --> 0 = (2*0)*2 2*(0*3) = 0 <-- is equal to --> 0 = (2*0)*3 2*(1*0) = 0 <-- is equal to --> 0 = (2*1)*0 2*(1*1) = 2 <-- is equal to --> 2 = (2*1)*1 2*(1*2) = 0 <-- is equal to --> 0 = (2*1)*2 2*(1*3) = 2 <-- is equal to --> 2 = (2*1)*3 2*(2*0) = 0 <-- is equal to --> 0 = (2*2)*0 2*(2*1) = 0 <-- is equal to --> 0 = (2*2)*1 2*(2*2) = 0 <-- is equal to --> 0 = (2*2)*2 2*(2*3) = 0 <-- is equal to --> 0 = (2*2)*3 2*(3*0) = 0 <-- is equal to --> 0 = (2*3)*0 2*(3*1) = 2 <-- is equal to --> 2 = (2*3)*1 2*(3*2) = 0 <-- is equal to --> 0 = (2*3)*2 2*(3*3) = 2 <-- is equal to --> 2 = (2*3)*3 3*(0*0) = 0 <-- is equal to --> 0 = (3*0)*0 3*(0*1) = 0 <-- is equal to --> 0 = (3*0)*1 3*(0*2) = 0 <-- is equal to --> 0 = (3*0)*2 3*(0*3) = 0 <-- is equal to --> 0 = (3*0)*3 3*(1*0) = 0 <-- is equal to --> 0 = (3*1)*0 3*(1*1) = 3 <-- is equal to --> 3 = (3*1)*1 3*(1*2) = 2 <-- is equal to --> 2 = (3*1)*2 3*(1*3) = 1 <-- is equal to --> 1 = (3*1)*3 3*(2*0) = 0 <-- is equal to --> 0 = (3*2)*0 3*(2*1) = 2 <-- is equal to --> 2 = (3*2)*1 3*(2*2) = 0 <-- is equal to --> 0 = (3*2)*2 3*(2*3) = 2 <-- is equal to --> 2 = (3*2)*3 3*(3*0) = 0 <-- is equal to --> 0 = (3*3)*0 3*(3*1) = 1 <-- is equal to --> 1 = (3*3)*1 3*(3*2) = 2 <-- is equal to --> 2 = (3*3)*2 3*(3*3) = 3 <-- is equal to --> 3 = (3*3)*3 Associative to the operation of (*) --> For all a, b, c of R, apply a * (b * c) = (a * b) * c Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi * dan pseudocode di hal 35, subbab 3.2.2.9, memenuhi sifat asosiatif terhadap operasi * 8. Comutative to the operation of (*) --> For all a, b of R, apply a * b = b * a
64 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi * dan pseudocode di hal 36, subbab 3.2.2.10, memenuhi sifat komutatif terhadap operasi * 9. Has an element of unity for the operation (*), that is 1 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi * dan pseudocode di hal 36, subbab 3.2.2.11, memiliki unsur kesatuan terhadap operasi * 10. Inverse of each nonzero element contained in the operation (*) : Inverse of 1 is 1 Element 2 has no inverse Inverse of 3 is 3 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi * dan pseudocode di hal 36, subbab 3.2.2.12, tidak setiap unsur memiliki invers terhadap operasi *. Elemen 2 tidak memiliki invers karena tidak ada kolom yang mencantumkan unsur kesatuan operasi *, yaitu 1 pada baris 2. 11. Checking the left distributive : 0*(0+0) = 0 <-- is equal to --> 0 = (0*0)+(0*0) 0*(0+1) = 0 <-- is equal to --> 0 = (0*0)+(0*1) 0*(0+2) = 0 <-- is equal to --> 0 = (0*0)+(0*2) 0*(0+3) = 0 <-- is equal to --> 0 = (0*0)+(0*3) 0*(1+0) = 0 <-- is equal to --> 0 = (0*1)+(0*0) 0*(1+1) = 0 <-- is equal to --> 0 = (0*1)+(0*1) 0*(1+2) = 0 <-- is equal to --> 0 = (0*1)+(0*2) 0*(1+3) = 0 <-- is equal to --> 0 = (0*1)+(0*3) 0*(2+0) = 0 <-- is equal to --> 0 = (0*2)+(0*0) 0*(2+1) = 0 <-- is equal to --> 0 = (0*2)+(0*1) 0*(2+2) = 0 <-- is equal to --> 0 = (0*2)+(0*2) 0*(2+3) = 0 <-- is equal to --> 0 = (0*2)+(0*3) 0*(3+0) = 0 <-- is equal to --> 0 = (0*3)+(0*0) 0*(3+1) = 0 <-- is equal to --> 0 = (0*3)+(0*1) 0*(3+2) = 0 <-- is equal to --> 0 = (0*3)+(0*2) 0*(3+3) = 0 <-- is equal to --> 0 = (0*3)+(0*3) 1*(0+0) = 0 <-- is equal to --> 0 = (1*0)+(1*0) 1*(0+1) = 1 <-- is equal to --> 1 = (1*0)+(1*1) 1*(0+2) = 2 <-- is equal to --> 2 = (1*0)+(1*2) 1*(0+3) = 3 <-- is equal to --> 3 = (1*0)+(1*3) 1*(1+0) = 1 <-- is equal to --> 1 = (1*1)+(1*0) 1*(1+1) = 2 <-- is equal to --> 2 = (1*1)+(1*1) 1*(1+2) = 3 <-- is equal to --> 3 = (1*1)+(1*2) 1*(1+3) = 0 <-- is equal to --> 0 = (1*1)+(1*3) 1*(2+0) = 2 <-- is equal to --> 2 = (1*2)+(1*0) 1*(2+1) = 3 <-- is equal to --> 3 = (1*2)+(1*1) 1*(2+2) = 0 <-- is equal to --> 0 = (1*2)+(1*2) 1*(2+3) = 1 <-- is equal to --> 1 = (1*2)+(1*3)
65 1*(3+0) = 3 <-- is equal to --> 3 = (1*3)+(1*0) 1*(3+1) = 0 <-- is equal to --> 0 = (1*3)+(1*1) 1*(3+2) = 1 <-- is equal to --> 1 = (1*3)+(1*2) 1*(3+3) = 2 <-- is equal to --> 2 = (1*3)+(1*3) 2*(0+0) = 0 <-- is equal to --> 0 = (2*0)+(2*0) 2*(0+1) = 2 <-- is equal to --> 2 = (2*0)+(2*1) 2*(0+2) = 0 <-- is equal to --> 0 = (2*0)+(2*2) 2*(0+3) = 2 <-- is equal to --> 2 = (2*0)+(2*3) 2*(1+0) = 2 <-- is equal to --> 2 = (2*1)+(2*0) 2*(1+1) = 0 <-- is equal to --> 0 = (2*1)+(2*1) 2*(1+2) = 2 <-- is equal to --> 2 = (2*1)+(2*2) 2*(1+3) = 0 <-- is equal to --> 0 = (2*1)+(2*3) 2*(2+0) = 0 <-- is equal to --> 0 = (2*2)+(2*0) 2*(2+1) = 2 <-- is equal to --> 2 = (2*2)+(2*1) 2*(2+2) = 0 <-- is equal to --> 0 = (2*2)+(2*2) 2*(2+3) = 2 <-- is equal to --> 2 = (2*2)+(2*3) 2*(3+0) = 2 <-- is equal to --> 2 = (2*3)+(2*0) 2*(3+1) = 0 <-- is equal to --> 0 = (2*3)+(2*1) 2*(3+2) = 2 <-- is equal to --> 2 = (2*3)+(2*2) 2*(3+3) = 0 <-- is equal to --> 0 = (2*3)+(2*3) 3*(0+0) = 0 <-- is equal to --> 0 = (3*0)+(3*0) 3*(0+1) = 3 <-- is equal to --> 3 = (3*0)+(3*1) 3*(0+2) = 2 <-- is equal to --> 2 = (3*0)+(3*2) 3*(0+3) = 1 <-- is equal to --> 1 = (3*0)+(3*3) 3*(1+0) = 3 <-- is equal to --> 3 = (3*1)+(3*0) 3*(1+1) = 2 <-- is equal to --> 2 = (3*1)+(3*1) 3*(1+2) = 1 <-- is equal to --> 1 = (3*1)+(3*2) 3*(1+3) = 0 <-- is equal to --> 0 = (3*1)+(3*3) 3*(2+0) = 2 <-- is equal to --> 2 = (3*2)+(3*0) 3*(2+1) = 1 <-- is equal to --> 1 = (3*2)+(3*1) 3*(2+2) = 0 <-- is equal to --> 0 = (3*2)+(3*2) 3*(2+3) = 3 <-- is equal to --> 3 = (3*2)+(3*3) 3*(3+0) = 1 <-- is equal to --> 1 = (3*3)+(3*0) 3*(3+1) = 0 <-- is equal to --> 0 = (3*3)+(3*1) 3*(3+2) = 3 <-- is equal to --> 3 = (3*3)+(3*2) 3*(3+3) = 2 <-- is equal to --> 2 = (3*3)+(3*3) ~~~~~ LEFT DISTRIBUTIVE FULFILLED ~~~~~ Checking the right distributive : (0+0)*0 = 0 <-- is equal to --> 0 = (0*0)+(0*0) (0+0)*1 = 0 <-- is equal to --> 0 = (0*1)+(0*1) (0+0)*2 = 0 <-- is equal to --> 0 = (0*2)+(0*2) (0+0)*3 = 0 <-- is equal to --> 0 = (0*3)+(0*3) (0+1)*0 = 0 <-- is equal to --> 0 = (0*0)+(1*0) (0+1)*1 = 1 <-- is equal to --> 1 = (0*1)+(1*1) (0+1)*2 = 2 <-- is equal to --> 2 = (0*2)+(1*2)
(0+1)*3 = 3 <-- is equal to --> 3 = (0*3)+(1*3) (0+2)*0 = 0 <-- is equal to --> 0 = (0*0)+(2*0) (0+2)*1 = 2 <-- is equal to --> 2 = (0*1)+(2*1) (0+2)*2 = 0 <-- is equal to --> 0 = (0*2)+(2*2) (0+2)*3 = 2 <-- is equal to --> 2 = (0*3)+(2*3) (0+3)*0 = 0 <-- is equal to --> 0 = (0*0)+(3*0) (0+3)*1 = 3 <-- is equal to --> 3 = (0*1)+(3*1) (0+3)*2 = 2 <-- is equal to --> 2 = (0*2)+(3*2) (0+3)*3 = 1 <-- is equal to --> 1 = (0*3)+(3*3) (1+0)*0 = 0 <-- is equal to --> 0 = (1*0)+(0*0) (1+0)*1 = 1 <-- is equal to --> 1 = (1*1)+(0*1) (1+0)*2 = 2 <-- is equal to --> 2 = (1*2)+(0*2) (1+0)*3 = 3 <-- is equal to --> 3 = (1*3)+(0*3) (1+1)*0 = 0 <-- is equal to --> 0 = (1*0)+(1*0) (1+1)*1 = 2 <-- is equal to --> 2 = (1*1)+(1*1) (1+1)*2 = 0 <-- is equal to --> 0 = (1*2)+(1*2) (1+1)*3 = 2 <-- is equal to --> 2 = (1*3)+(1*3) (1+2)*0 = 0 <-- is equal to --> 0 = (1*0)+(2*0) (1+2)*1 = 3 <-- is equal to --> 3 = (1*1)+(2*1) (1+2)*2 = 2 <-- is equal to --> 2 = (1*2)+(2*2) (1+2)*3 = 1 <-- is equal to --> 1 = (1*3)+(2*3) (1+3)*0 = 0 <-- is equal to --> 0 = (1*0)+(3*0) (1+3)*1 = 0 <-- is equal to --> 0 = (1*1)+(3*1) (1+3)*2 = 0 <-- is equal to --> 0 = (1*2)+(3*2) (1+3)*3 = 0 <-- is equal to --> 0 = (1*3)+(3*3) (2+0)*0 = 0 <-- is equal to --> 0 = (2*0)+(0*0) (2+0)*1 = 2 <-- is equal to --> 2 = (2*1)+(0*1) (2+0)*2 = 0 <-- is equal to --> 0 = (2*2)+(0*2) (2+0)*3 = 2 <-- is equal to --> 2 = (2*3)+(0*3) (2+1)*0 = 0 <-- is equal to --> 0 = (2*0)+(1*0) (2+1)*1 = 3 <-- is equal to --> 3 = (2*1)+(1*1) (2+1)*2 = 2 <-- is equal to --> 2 = (2*2)+(1*2) (2+1)*3 = 1 <-- is equal to --> 1 = (2*3)+(1*3) (2+2)*0 = 0 <-- is equal to --> 0 = (2*0)+(2*0) (2+2)*1 = 0 <-- is equal to --> 0 = (2*1)+(2*1) (2+2)*2 = 0 <-- is equal to --> 0 = (2*2)+(2*2) (2+2)*3 = 0 <-- is equal to --> 0 = (2*3)+(2*3) (2+3)*0 = 0 <-- is equal to --> 0 = (2*0)+(3*0) (2+3)*1 = 1 <-- is equal to --> 1 = (2*1)+(3*1) (2+3)*2 = 2 <-- is equal to --> 2 = (2*2)+(3*2) (2+3)*3 = 3 <-- is equal to --> 3 = (2*3)+(3*3) (3+0)*0 = 0 <-- is equal to --> 0 = (3*0)+(0*0) (3+0)*1 = 3 <-- is equal to --> 3 = (3*1)+(0*1) (3+0)*2 = 2 <-- is equal to --> 2 = (3*2)+(0*2) (3+0)*3 = 1 <-- is equal to --> 1 = (3*3)+(0*3) (3+1)*0 = 0 <-- is equal to --> 0 = (3*0)+(1*0) (3+1)*1 = 0 <-- is equal to --> 0 = (3*1)+(1*1) 66
67 (3+1)*2 = 0 <-- is equal to --> 0 = (3*2)+(1*2) (3+1)*3 = 0 <-- is equal to --> 0 = (3*3)+(1*3) (3+2)*0 = 0 <-- is equal to --> 0 = (3*0)+(2*0) (3+2)*1 = 1 <-- is equal to --> 1 = (3*1)+(2*1) (3+2)*2 = 2 <-- is equal to --> 2 = (3*2)+(2*2) (3+2)*3 = 3 <-- is equal to --> 3 = (3*3)+(2*3) (3+3)*0 = 0 <-- is equal to --> 0 = (3*0)+(3*0) (3+3)*1 = 2 <-- is equal to --> 2 = (3*1)+(3*1) (3+3)*2 = 0 <-- is equal to --> 0 = (3*2)+(3*2) (3+3)*3 = 2 <-- is equal to --> 2 = (3*3)+(3*3) ~~~~~ RIGHT DISTRIBUTIVE FULFILLED ~~~~~ All the elements satisfy the distributive properties of operations (*) on the operations of (+) as the fulfillment of left distributive and right distributive Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan tabel Cayley operasi *, serta pseudocode di hal 37, subbab 3.2.2.13, memenuhi sifat distributive operasi * terhadap operasi + CONCLUSION ========== With members : 0, 1, 2, 3 Algebraic structure (R,+,*) is a ring, because it qualifies : --> (R,+) : closed, associative, commutative, has an element of unity, all elements have inverse --> (R,*) : closed, associative --> Operations (*) is distributive to the operation of (+) Hasil pengujian diatas menyatakan bahwa berdasarkan hasil pengujian dan pseudocode di hal 38, subbab 3.2.2.14, merupakan sebuah ring Algebraic structure (R,+,*) is a commutative ring, because it qualifies : --> (R,+) : closed, associative, commutative, has an element of unity, all elements have inverse --> (R,*) : closed, associative, commutative --> Operations (*) is distributive to the operation of (+) Hasil pengujian diatas menyatakan bahwa berdasarkan hasil pengujian dan pseudocode di hal 38, subbab 3.2.2.14, merupakan sebuah ring komutatif Algebraic structure (R,+,*) is not a division ring, because not every element has an inverse in operation (*) Hasil pengujian diatas menyatakan bahwa berdasarkan hasil pengujian dan pseudocode di hal 38, subbab 3.2.2.14, bukan merupakan sebuah ring pembagian Algebraic structure (R,+,*) is not a field, because not every element has an inverse in operation (*) Hasil pengujian diatas menyatakan bahwa berdasarkan hasil pengujian dan pseudocode di hal 38, subbab 3.2.2.14, bukan merupakan sebuah field
68 Tabel 4.3 dan tabel 4.4 beserta tabel 4.5 dan 4.6 Testing Result for : Sub Ring, and Ideal ANALYSIS RESULT FROM CAYLEY TABLE ================================= 1. Closed to the operation of (+) --> For all a, b of R, the result of a + b is also a member of R Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 32, subbab 3.3.2.3, memenuhi sifat tertutup terhadap operasi + 2. Elements that generate the left and right sides together : 0+(0+0) = 0 <-- is equal to --> 0 = (0+0)+0 0+(0+2) = 2 <-- is equal to --> 2 = (0+0)+2 0+(2+0) = 2 <-- is equal to --> 2 = (0+2)+0 0+(2+2) = 0 <-- is equal to --> 0 = (0+2)+2 2+(0+0) = 2 <-- is equal to --> 2 = (2+0)+0 2+(0+2) = 0 <-- is equal to --> 0 = (2+0)+2 2+(2+0) = 0 <-- is equal to --> 0 = (2+2)+0 2+(2+2) = 2 <-- is equal to --> 2 = (2+2)+2 Associative to the operation of (+) --> For all a, b, c of R, apply a + (b + c) = (a + b) + c Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 32, subbab 3.2.2.4, memenuhi sifat asosiatif terhadap operasi + 3. Comutative to the operation of (+) --> For all a, b of R, apply a + b = b + a Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 33, subbab 3.2.2.5, memenuhi sifat komutatif terhadap operasi + 4. Has an element of unity for the operation (+), that is 0 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 34, subbab 3.2.2.6, memiliki unsur kesatuan terhadap operasi + 5. Inverse of each element contained in the operation (+) : Inverse of 0 is 0 Inverse of 2 is 2 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 34, subbab 3.2.2.7, setiap unsur memiliki invers terhadap operasi + 6. Closed to the operation of (*) --> For all a, b of R, the result of a * b is also a member of R
69 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi * dan pseudocode di hal 34, subbab 3.2.2.8, memenuhi sifat tertutup terhadap operasi * 7. Elements that generate the left and right sides together : 0*(0*0) = 0 <-- is equal to --> 0 = (0*0)*0 0*(0*2) = 0 <-- is equal to --> 0 = (0*0)*2 0*(2*0) = 0 <-- is equal to --> 0 = (0*2)*0 0*(2*2) = 0 <-- is equal to --> 0 = (0*2)*2 2*(0*0) = 0 <-- is equal to --> 0 = (2*0)*0 2*(0*2) = 0 <-- is equal to --> 0 = (2*0)*2 2*(2*0) = 0 <-- is equal to --> 0 = (2*2)*0 2*(2*2) = 0 <-- is equal to --> 0 = (2*2)*2 Associative to the operation of (*) --> For all a, b, c of R, apply a * (b * c) = (a * b) * c Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi * dan pseudocode di hal 35, subbab 3.2.2.9, memenuhi sifat asosiatif terhadap operasi * 8. Checking the left distributive : 0*(0+0) = 0 <-- is equal to --> 0 = (0*0)+(0*0) 0*(0+2) = 0 <-- is equal to --> 0 = (0*0)+(0*2) 0*(2+0) = 0 <-- is equal to --> 0 = (0*2)+(0*0) 0*(2+2) = 0 <-- is equal to --> 0 = (0*2)+(0*2) 2*(0+0) = 0 <-- is equal to --> 0 = (2*0)+(2*0) 2*(0+2) = 0 <-- is equal to --> 0 = (2*0)+(2*2) 2*(2+0) = 0 <-- is equal to --> 0 = (2*2)+(2*0) 2*(2+2) = 0 <-- is equal to --> 0 = (2*2)+(2*2) ~~~~~ LEFT DISTRIBUTIVE FULFILLED ~~~~~ Checking the right distributive : (0+0)*0 = 0 <-- is equal to --> 0 = (0*0)+(0*0) (0+0)*2 = 0 <-- is equal to --> 0 = (0*2)+(0*2) (0+2)*0 = 0 <-- is equal to --> 0 = (0*0)+(2*0) (0+2)*2 = 0 <-- is equal to --> 0 = (0*2)+(2*2) (2+0)*0 = 0 <-- is equal to --> 0 = (2*0)+(0*0) (2+0)*2 = 0 <-- is equal to --> 0 = (2*2)+(0*2) (2+2)*0 = 0 <-- is equal to --> 0 = (2*0)+(2*0) (2+2)*2 = 0 <-- is equal to --> 0 = (2*2)+(2*2) ~~~~~ RIGHT DISTRIBUTIVE FULFILLED ~~~~~ All the elements satisfy the distributive properties of operations (*) on the operations of (+) as the fulfillment of left distributive and right distributive
70 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan tabel Cayley operasi *, serta pseudocode di hal 37, subbab 3.2.2.13, memenuhi sifat distributif operasi * terhadap operasi + CONCLUSION ========== With members : 0, 2 Algebraic structure (S,+,*) is a sub ring of ring (R,+,*), because (S,+,*) is eligible : --> (S,+) : closed, associative, commutative, has an element of unity, all elements have inverse --> (S,*) : closed, associative --> Operations (*) is distributive to the operation of (+) Hasil pengujian diatas menyatakan bahwa berdasarkan hasil pengujian dan pseudocode di hal 38, subbab 3.2.2.14, merupakan sebuah ring. Karena (S,+,*) sebuah ring dan merupakan himpunan bagian dari (R,+,*), maka (S,+,*) merupakan subring dari (R,+,*). ~~Checking the Ideal Left and the Right Ideal~~ 0*0=0 >> is a member of (S,+,*) 0*2=0 >> is a member of (S,+,*) 1*0=0 >> is a member of (S,+,*) 1*2=2 >> is a member of (S,+,*) 2*0=0 >> is a member of (S,+,*) 2*2=0 >> is a member of (S,+,*) 3*0=0 >> is a member of (S,+,*) 3*2=2 >> is a member of (S,+,*) --> Sub ring(s,+,*) is eligible the left ideal : For all a member of the Sub-Ring and r member of Ring, the (r * a) is also member of the Sub-Ring 0*0=0 >> is a member of (S,+,*) 0*1=0 >> is a member of (S,+,*) 0*2=0 >> is a member of (S,+,*) 0*3=0 >> is a member of (S,+,*) 2*0=0 >> is a member of (S,+,*) 2*1=2 >> is a member of (S,+,*) 2*2=0 >> is a member of (S,+,*) 2*3=2 >> is a member of (S,+,*) --> Sub ring(s,+,*) is eligible the right ideal : For all a member of the Sub- Ring and r member of Ring, the (a * r) is also member of the Sub-Ring --> Conclusion : Sub ring (S,+,*) is an Ideal
71 Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley yang berisi operasi perkalian dalam kiri dan kanan antara subring dan ring-nya, dan pseudocode di hal 39, subbab 3.2.2.15, terbukti bahwa subring tersebut juga merupakan ideal dari ringnya. Tabel 4.7 dan tabel 4.8 Testing Result for : Ring, Commutative Ring, Division Ring, and Field ANALYSIS RESULT FROM CAYLEY TABLE ================================= 1. Not closed under the operation (+) Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi + dan pseudocode di hal 32, subbab 3.2.2.3, memenuhi tidak memnuhi sifat tertutup terhadap operasi + 2. Checking the associative properties of the operation (+) is not performed Tidak dilakukan operasi pengujian asosiatif terhadap operasi + terhadap himpunan ini, dikarenakan syarat untuk melakukan pengujian asosiatif adalah tertutup terhadap operasi yang bersangkutan 3. Checking the commutative properties of the operation (+) is not performed Tidak dilakukan operasi pengujian komutatif terhadap operasi + terhadap himpunan ini, dikarenakan syarat untuk melakukan pengujian komutatif adalah tertutup terhadap operasi yang bersangkutan 4. Checking the element of unity of the operation (+) is not performed Tidak dilakukan operasi pengujian pencarian elemen kesatuan terhadap operasi + terhadap himpunan ini, dikarenakan syarat untuk melakukan pengujian pencarian elemen kesatuan adalah tertutup terhadap operasi yang bersangkutan 5. Checking the inverse of the operation (+) is not performed Tidak dilakukan operasi pengujian pencarian invers terhadap operasi + terhadap himpunan ini, dikarenakan syarat untuk melakukan pengujian pencarian invers adalah tertutup terhadap operasi yang bersangkutan 6. Not closed under the operation (*) Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley operasi * dan pseudocode di hal 34, subbab 3.2.2.8, tidak memenuhi sifat tertutup terhadap operasi * 7. Checking the associative properties of the operation (*) is not performed Tidak dilakukan operasi pengujian asosiatif terhadap operasi * terhadap himpunan ini, dikarenakan syarat untuk melakukan pengujian asosiatif adalah tertutup terhadap operasi yang bersangkutan 8. Checking the commutative properties of the operation (*) is not performed
72 Tidak dilakukan operasi pengujian komutatif terhadap operasi * terhadap himpunan ini, dikarenakan syarat untuk melakukan pengujian komutatif adalah tertutup terhadap operasi yang bersangkutan 9. Checking the element of unity of the operation (*) is not performed Tidak dilakukan operasi pengujian pencarian unsur kesatuan terhadap operasi * terhadap himpunan ini, dikarenakan syarat untuk melakukan pengujian pencarian unsur kesatuan adalah tertutup terhadap operasi yang bersangkutan 10. Checking the inverse of the operation (*) is not performed Tidak dilakukan operasi pengujian pencarian invers terhadap operasi * terhadap himpunan ini, dikarenakan syarat untuk melakukan pengujian pencarian invers adalah tertutup terhadap operasi yang bersangkutan 11. Checking distributive properties is not performed Tidak dilakukan operasi pengujian distributif operasi * terhadap operasi + terhadap himpunan ini, dikarenakan syarat untuk melakukan pengujian distributif operasi * terhadap operasi + adalah tertutup terhadap kedua operasi CONCLUSION ========== With members : 1, 2 Algebraic structure (R,+,*) is not a ring, because it does not qualifies : --> (R,+) : closed, associative, commutative, has an element of unity, all elements have inverse --> (R,*) : closed, associative --> Operations (*) is distributive to the operation of (+) Hasil pengujian diatas menyatakan bahwa berdasarkan hasil pengujian dan pseudocode di hal 38, subbab 3.2.2.14, merupakan sebuah ring Algebraic structure (R,+,*) is not commutative ring, because (R,+,*) is not a ring Hasil pengujian diatas menyatakan bahwa berdasarkan hasil pengujian dan pseudocode di hal 38, subbab 3.2.2.14, bukan merupakan ring komutatif karena bukan merupakan ring Algebraic structure (R,+,*) is not division ring, because (R,+,*) is not a ring Hasil pengujian diatas menyatakan bahwa berdasarkan hasil pengujian dan pseudocode di hal 38, subbab 3.2.2.14, bukan merupakan ring pembagian karena bukan merupakan ring Algebraic structure (R,+,*) is not a field, because (R,+,*) is not a ring Hasil pengujian diatas menyatakan bahwa berdasarkan hasil pengujian dan pseudocode di hal 38, subbab 3.2.2.14, bukan merupakan field karena bukan merupakan ring
73 Pemetaan tabel 4.3 dan 4.4 terhadap tabel 4.1 dan tabel 4.2 Testing Result for : Homomorphism Ring, Epimorphism Ring, Monomorphism Ring, Isomorphism Ring CONCLUSION ========== The mapping f:ring(r,+,*)->ring(s,<+>,<*>) is not a homomorphism mapping because not for all a,b of (R,+,*) and c,d of (S,<+>,<*>) apply f(a+b)=f(c)<+>f(d) and f(a*b)=f(c)<*>f(d) Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley kedua struktur aljabar dan pseudocode di hal 39, subbab 3.2.2.16, tidak memenuhi syarat pemetaan homomorfisma ring. The mapping f:ring(r,+,*)->ring(s,<+>,<*>) is not an epimorphism mapping because mapping f doesn't a homomorphism mapping Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley kedua struktur aljabar dan pseudocode di hal 39, subbab 3.2.2.16, tidak memenuhi syarat pemetaan epimorfisma ring karena bukan merupakan homomorfisma ring The mapping f:ring(r,+,*)->ring(s,<+>,<*>) is not a monomorphism mapping because mapping f doesn't a homomorphism mapping Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley kedua struktur aljabar dan pseudocode di hal 39, subbab 3.2.2.16, tidak memenuhi syarat pemetaan monomorfisma ring karena bukan merupakan homomorfisma ring The mapping f:ring(r,+,*)->ring(s,<+>,<*>) is not an isomorphism mapping because mapping f doesn't a homomorphism mapping Hasil pengujian diatas menyatakan bahwa berdasarkan tabel Cayley kedua struktur aljabar dan pseudocode di hal 39, subbab 3.2.2.16, tidak memenuhi syarat pemetaan isomorfisma ring karena bukan merupakan homomorfisma ring
74 4.5 Evaluasi Dari hasil analisis terhadap beberapa tabel Cayley diatas, diperoleh beberapa kesimpulan mengenai hasil perancangan program. 1. Program memberi hasil yang sama dengan hasil yang diperoleh dengan secara manual. Terlihat dalam penjelasan pada tiap-tiap hasil pengujian, dan pseudocode di bab 3. 2. Hasil pengujian program dapat disimpan dalam bentuk sebuah file *.txt. 3. Program bergantung pada ketelitian pengguna dalam melakukan proses memasukkan data dalam tabel Cayley, sehingga jika pengguna kurang teliti memasukkan data di tabel Cayley, maka secara otomatis hasil pengujian pun menjadi tidak sama dengan hasil pengujian manual.