BAB 2 LANDASAN TEORI 2.1 Sistem dan Struktur Aljabar Menurut Jong Jek Siang, 2002:436 (seperti dikutip Manik, 2011:2), sistem aljabar merupakan suatu himpunan beserta dengan operasi-operasi pada himpunan tersebut. Struktur aljabar secara lepas didefinisikan sebagai karakteristik dari suatu sistem aljabar. 2.2 Operasi Biner (Tertutup) Operasi biner adalah operasi dua elemen dari sebuah himpunan, yang menghasilkan elemen yang masih merupakan anggota himpunan tersebut (tertutup). Contoh: Himpunan A = { bilangan asli }, dengan operasi biner + A tertutup terhadap operasi ”+”, bila untuk setiap a,b ∈A, maka ( a + b ) ∈A. Dengan kata lain, hasil penjumlahan dua buah elemen sembarang dari himpunan A yang berisi bilangan asli, akan menghasilkan suatu bilangan asli yang juga merupakan suatu elemen dari himpunan A. (Daniel, 2010:5 ) 2.3 Operasi Asosiatif Operasi asosiatif adalah operasi biner “*” di mana untuk setiap a,b,c ∈ A maka : (a*b)*c=a*(b*c) (Weisstein, Eric W. "Associative." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/Associative.html ) diakses tanggal 5 Januari 2012 6 2.4 Unsur Kesatuan (Identitas) Unsur kesatuan atau identitas adalah suatu elemen yang jika dioperasikan terhadap sembarang elemen dari sebuah himpunan akan menghasilkan elemen itu sendiri. Terdapat dua jenis unsur kesatuan sebagai berikut. a. Unsur kesatuan penjumlahan Identitas penjumlahan adalah suatu elemen yang jika dilakukan operasi penjumlahan dengan sembarang elemen dari sebuah himpunan akan menghasilkan elemen itu sendiri. Untuk setiap a ∈ A, jika memenuhi : a + e = e + a = a maka, e merupakan identitas terhadap penjumlahan (unsur kesatuan aditif). b. Unsur kesatuan perkalian Identitas perkalian adalah suatu elemen yang jika dilakukan operasi perkalian dengan sembarang elemen dari sebuah himpunan akan menghasilkan elemen itu sendiri. Untuk setiap a ∈ A, jika memenuhi : a * e = e * a = a maka, e merupakan identitas terhadap perkalian (unsur kesatuan multiplikatif). (Novi, et al., Jurnal Penelitian Sains, Volume i4 No. 1A:14101-2) 2.5 Invers Invers suatu elemen a adalah elemen a’ yang jika a akan menghasilkan elemen identitas. Untuk setiap a, a’ ∈ A dan e adalah identitas untuk operasi biner “*” memenuhi : a * a’ = a’ * a = e maka a’ adalah invers dari a untuk operasi biner “*”. (Novi, et al., Jurnal Penelitian Sains, Volume 14 No. 1A:14101-2) 7 2.6 Operasi Komutatif Operasi komutatif adalah operasi biner ”*” di mana untuk setiap a,b ∈ A berlaku: a * b = b * a (Joseph, 2003:52) 2.7 Operasi Distributif Operasi biner # dikatakan distributif terhadap operasi biner * jika memenuhi: a. Distributif Kiri: Untuk setiap a,b,c ∈ A memenuhi a#(b*c)=(a#b)*(a#c) b. Distributif Kanan: Untuk setiap a,b,c ∈ A memenuhi ( a* b ) # c = ( a # c ) * ( b # c ) (Joseph, 2003:445) 2.8 Himpunan Bagian Suatu himpunan B dikatakan merupakan himpunan bagian dari himpunan A, jika semua elemen dari himpunan B merupakan elemen dari himpunan A, yang dilambangkan dengan B ⊆ A. (Daniel, 2010:8 ) 2.9 Ring Ring adalah suatu struktur aljabar yang terdiri dari dua operasi biner yaitu penjumlahan dan perkalian, di mana terhadap penjumlahan struktur tersebut merupakan grup abelian, terhadap perkalian struktur tersebut merupakan semigrup dan operasi perkalian bersifat distributif terhadap operasi penjumlahan. Suatu ring (R,+,×) adalah suatu himpunan tak kosong R dengan operasi biner penjumlahan (+) dan perkalian (×) pada R yang memenuhi aksioma-aksioma berikut. 8 a. Terhadap penjumlahan (+) • Tertutup: Untuk setiap a,b ∈ R, maka a + b ∈ R. • Asosiatif: Untuk setiap a,b,c ∈ R, maka (a + b) + c = a + (b + c). • Mempunyai unsur kesatuan: Adanya elemen identitas α sedemikian hingga a + α = α + a = a. • Mempunyai invers: Untuk setiap a ∈ R terdapat b sedemikian hingga a + b = b + a = α. • b. c. Komutatif: Untuk setiap a,b ∈ R, maka a + b = b + a. Terhadap perkalian (×) • Tertutup: Untuk setiap a,b ∈ R, maka a × b ∈ R. • Asosiatif: Untuk setiap a,b,c ∈ R, maka (a × b) × c = a × (b × c). Distributif perkalian (×) terhadap penjumlahan (+) Untuk setiap a,b,c ∈ R, jika memenuhi: • Distributif Kiri: Untuk setiap a,b,c ∈ R memenuhi a×(b+c)=(a×b)+(a×c) • Distributif Kanan: Untuk setiap a,b,c ∈ R memenuhi (a+b)×c=(a×c)+(b×c) maka R bersifat distributif perkalian terhadap penjumlahan. (William dan Keith, 2004:155) 2.10 Ring Komutatif Ring komutatif atau gelanggang komutatif adalah suatu ring, di mana terhadap penjumlahan struktur tersebut merupakan grup abelian, terhadap perkalian struktur tersebut merupakan semigrup komutatif dan operasi perkalian bersifat distributif terhadap operasi penjumlahan. 9 Suatu ring komutatif (R,+,×) adalah suatu himpunan tak kosong R dengan operasi biner penjumlahan (+) dan perkalian (×) pada R yang memenuhi aksiomaaksioma berikut. a. Terhadap penjumlahan (+) • Tertutup: Untuk setiap a,b ∈ R, maka a + b ∈ R. • Asosiatif: Untuk setiap a,b,c ∈ R, maka (a + b) + c = a + (b + c). • Mempunyai unsur kesatuan: Adanya elemen identitas α sedemikian hingga a + α = α + a = a. • Mempunyai invers: Untuk setiap a ∈ R terdapat b sedemikian hingga a + b = b + a = α. • Komutatif: Untuk setiap a,b ∈ R, maka a + b = b + a. b. Terhadap perkalian (×) • Tertutup: Untuk setiap a,b ∈ R, maka a × b ∈ R. • Asosiatif: Untuk setiap a,b,c ∈ R, maka (a × b) × c = a × (b × c). • Mempunyai unsur kesatuan: Adanya elemen identitas β sedemikian hingga a × β = β × a = a. • Komutatif: Untuk setiap a,b ∈ R, maka a × b = b × a. c. Distributif perkalian (×) terhadap penjumlahan (+) Untuk setiap a,b,c ∈ R, jika memenuhi: • Distributif Kiri: Untuk setiap a,b,c ∈ R memenuhi a×(b+c)=(a×b)+(a×c) • Distributif Kanan: Untuk setiap a,b,c ∈ R memenuhi (a+b)×c=(a×c)+(b×c) maka R bersifat distributif perkalian terhadap penjumlahan. (William dan Keith, 2004:156) 10 2.11 Field Field adalah suatu struktur aljabar yang terdiri dari dua operasi biner yaitu penjumlahan dan perkalian, di mana himpunan terhadap penjumlahan, struktur tersebut merupakan grup abelian, himpunan tanpa nol dengan operasi perkalian merupakan grup abelian, dan operasi perkalian bersifat distributif terhadap operasi penjumlahan. Suatu field (R,+,×) adalah suatu himpunan tak kosong R dengan operasi biner penjumlahan (+) dan perkalian (×) pada R yang memenuhi aksioma-aksioma berikut. a. R terhadap penjumlahan (+) • Tertutup: Untuk setiap a,b ∈ R, maka a + b ∈ R. • Asosiatif: Untuk setiap a,b,c ∈ R, maka (a + b) + c = a + (b + c). • Mempunyai unsur kesatuan: Adanya elemen identitas α sedemikian hingga a + α = α + a = a. • Mempunyai invers: Untuk setiap a ∈ R terdapat b sedemikian hingga a + b = b + a = α. • Komutatif: Untuk setiap a,b ∈ R, maka a + b = b + a. b. R tanpa nol terhadap perkalian (×) • Tertutup: Untuk setiap a,b ∈ R, maka a × b ∈ R. • Asosiatif: Untuk setiap a,b,c ∈ R, maka (a × b) × c = a × (b × c). • Mempunyai unsur kesatuan: Adanya elemen identitas β sedemikian hingga a × β = β × a = a. • Mempunyai invers: Untuk setiap a ∈ R-{0} terdapat b sedemikian hingga a × b = b × a = β. • Komutatif: Untuk setiap a,b ∈ R, maka a × b = b × a. 11 c. Distributif perkalian (×) terhadap penjumlahan (+) Untuk setiap a,b,c ∈ R, jika memenuhi: • Distributif Kiri: Untuk setiap a,b,c ∈ R memenuhi a×(b+c)=(a×b)+(a×c) • Distributif Kanan: Untuk setiap a,b,c ∈ R memenuhi (a+b)×c=(a×c)+(b×c) maka R bersifat distributif perkalian terhadap penjumlahan. (Weisstein, Eric W. "Field." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/Field.html ) diakses tanggal 5 Januari 2012 2.12 Sub Ring Misalkan (R,+,×) adalah suatu ring, A adalah merupakan himpunan tidak kosong yang merupakan bagian dari R (A ؿR). Di bawah operasi yang sama dengan R, (A,+,×) membentuk suatu ring, himpunan A disebut sub ring dari himpunan R. (Weisstein, Eric W. "Subring." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/Subring.html ) diakses tanggal 5 Januari 2012 2.13 Ideal Ideal adalah sub ring yang memiliki sifat istimewa yaitu tertutup terhadap perkalian unsur di luar sub ring. Suatu sub ring disebut ideal jika sub ring tersebut merupakan ideal kiri (tertutup terhadap perkalian unsur di sebelah kiri) dan ideal kanan (tertutup terhadap perkalian unsur di sebelah kanan). (Daniel, 2010:13-14 ) 12 2.14 Ring Pembagian (Division Ring) Ring pembagian adalah suatu ring, di mana elemen-elemen tak nol-nya membentuk grup di bawah operasi x. (Weisstein, Eric W. "Division Algebra." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/DivisionAlgebra.html ) diakses tanggal 5 Januari 2012 2.15 Homomorfisma Ring Jika (R,+,×) dan (S,(+),(×)) merupakan ring, maka suatu fungsi pemetaan f:R Æ S disebut homomorfisma jika: a. f(a+b) = f(a) (+) f(b) untuk setiap a,b ∈ R b. f(a+b) = f(a) (+) f(b) untuk setiap a,b ∈ R c. f(unkes x) = unkes (x) (Malik, et al., 2007:158) 2.16 Epimorfisma Ring Jika (R,+,×) dan (S,(+),(×)) merupakan ring, maka suatu fungsi pemetaan f:R Æ S disebut monomorfisma jika pemetaan tersebut merupakan pemetaan homomorfisma dan bersifat onto (surjektif) (Malik, et al., 2007:158) 2.17 Monomorfisma Ring (Ring Embeddings) Jika (R,+,×) dan (S,(+),(×)) merupakan ring, maka suatu fungsi pemetaan f:R Æ S disebut monomorfisma jika pemetaan tersebut merupakan pemetaan homomorfisma dan bersifat 1-1 (injektif) 13 (Malik, et al., 2007:165) 2.18 Isomorfisma Ring Jika (R,+,×) dan (S,(+),(×)) merupakan ring, maka suatu fungsi pemetaan f:R Æ S disebut monomorfisma jika pemetaan tersebut merupakan pemetaan homomorfisma dan bersifat 1-1 (injektif) dan onto (surjektif) (Malik, et al., 2007:159) 2.19 Tabel Cayley Tabel Cayley adalah daftar yang dibuat untuk memperlihatkan operasi antar dua elemen pada himpunan terbatas. Contoh Tabel Cayley adalah sebagai berikut. Tabel 2.1 Tabel Cayley Penjumlahan Modulo 5 +5 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 (Daniel, 2010:16 ) 2.20 Waterfall Model Waterfall Model adalah sebuah metode pengembangan software yang bersifat sekuensial dan terdiri dari 6 tahap yang saling terkait dan mempengaruhi seperti terlihat pada gambar berikut. 14 SISTEM ENGINEERING ANALYS DESIGN CODE TESTING MAINTENANCE Gambar 2.1 Model Waterfall, sumber : (Pressman, 2005) Tahapan dalam Waterfall Model adalah sebagai berikut. a. System/Information Engineering and Modeling. Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database. Tahap ini sering disebut dengan Project Definition. b. Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface. Dari dua aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan. c. Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan di atas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti dua aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software. 15 d. Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer. e. Testing/Verification. Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. f. Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya. (Daniel, 2010:15 ) 2.21 Java Open-Source ? Keberadaan Java sebagai bahasa pemrograman open-source sampai saat ini masih menjadi tanda tanya dengan adanya berita mengenai gugatan Oracle Corp. terhadap Google Inc., terkait penggunaan Java dalam sistem operasi Androidnya. Pada tanggal 12 Agustus 2010, Oracle Corp. menggugat Google Inc. atas tuduhan pelanggaran hak paten dan kekayaan intelektual ke pengadilan federal California, AS. Gugatan Oracle mengenai penggunaan beberapa baris code Java 1 16 m milik Sun Microsystem M ms (Sun Miccrosystems yang y memilliki Java telah diakuisiisi O Oracle Corpp. awal tahuun 2010 denngan nilai US$ U 5,6 miliar atau sekkitar Rp 500,4 t triliun) dalam m sistem opeerasi Androiid yang dibu uat Google. Bariss-baris codee tersebut daapat dilihat saat s Androidd Froyo dann Gingerbreaad d didecompile e. Akan diteemukan 37 kode sumb ber androidd yang berttuliskan kodde s sumber “PR ROPRIETAR RY / CONFIINDENTAL”” dan “DO NOT DIST TRIBUTE” bby O Oracle/Sun, yang sekurrangnya terddapat pada file f Android Froyo dan Gingerbreaad, d dengan men nggunakan Appache open source licennce tanpa ijinn. I Inilah baris-baris code yang y dimaksuud: mbar 2.2 Potongan code pada bahasaa pemrogram man Java, sum mber: Gam (httpp://www.blogcdn.com/w www.engadget.com/mediia/2011/01/001-2111androidjaava2.jpg , 14 4 Maret 20122) 1 17 Gambaar 2.3 Potonggan code pad da Android , sumber: www.engadg get.com/meddia/2011/01/001-21( httpp://www.bloogcdn.com/w 11androidjaava2.jpg , 14 4 Maret 20122) Samppai bulan Feebuari 2012, delapan bellas bulan settelah gugatann dilayangkaan ( (dan belum ada keputussan yang meengikat), Orracle telah m mencabut seebuah gugataan p paten Java. Hal ini dap pat terjadi kaarena terkaitt keputusan Kantor Pateen dan Mereek D Dagang Am merika yang menolak 17 dari 21 klaim. k Pencaabutan gugaatan ini, telaah m membuat niilai ganti rug gi awal yang diajukan Oracle O sebeesar $2,5 miiliar, sekaranng m menjadi $16 68 juta. Orracle juga ttidak memilliki petunjuuk kerugian seperti yanng m mereka arahhkan pada Google G sebaagai wujud tanggung t jawab. Karenna itu, Googgle s sejauh ini tiddak mengangggap komplaain yang diuungkap Oraccle di persidaangan. 18 Disarikan dari berbagai sumber. [Anonim. ORACLE gugat GOOGLE. http://smart.students.uii.ac.id/oracle-gugatgoogle/ , 14 Maret 2012] [Rahmatunisa. detikInet : Oracle Gugat Google Soal Android. http://inet.detik.com/read/2010/08/13/111513/1419667/399/oracle-gugat-googlesoal-android , 14 Maret 2012] [PT Media Digital Lima. Oracle Kurangi Jumlah Gugatan Java Paten Atas Google | Gopego.com. http://android.gopego.com/full/2012/02/oracle-kurangi-jumlahgugatan-java-paten-atas-google , 14 Maret 2012]