BAB 2 LANDASAN TEORI 2.1 Fungsi 2.1.1 Definisi dan Notasi Fungsi Menurut Bertrand Russell (1967), fungsi didefinisikan sebagai pemetaan yang menghubungkan dua himpunan yang terpisah, yakni daerah asal (domain) dan daerah hasil (range). Lebih jauh lagi John Nolt (1997) menambahkan bahwa suatu ekspresi / persamaan dapat dikatakan sebagai fungsi hanya jika persamaan tersebut memiliki suatu hasil unik bagi setiap elemen dalam domain-nya. Fungsi berbeda dengan relasi. Pada relasi hasil pemetaan dari suatu elemen dalam domain dapat memiliki lebih dari satu hasil, sedangkan pada fungsi setiap pemetaan hanya memiliki satu hasil. Fungsi Relasi Gambar 2.1 Ilustrasi Fungsi dan Relasi Suatu fungsi yang memetakan elemen dari Himpunan A ke Himpunan B secara umum dinotasikan sebagai f : A → B . Notasi tersebut menunjukkan bahwa ada sebuah fungsi f yang memetakan dua buah himpunan, yaitu A kepada B. Untuk menggambarkan bagaimana tepatnya pemetaan tersebut dilakukan dapat digunakan 8 notasi tambahan, misalnya ∀x ∈ A, f : x → x 2 atau dapat pula ditulis sebagai ∀x ∈ A, f ( x) = x 2 . 2.1.2 Sifat-Sifat Fungsi Menurut S. Lang (1993) berdasarkan jenis pemetaannya, terdapat tiga sifat dari sebuah fungsi, yaitu sebagai berikut : a. Fungsi Injektif Fungsi f : A → B disebut fungsi injektif / satu-satu jika hasil pemetaan untuk setiap elemen anggota Himpunan A memiliki hasil yang berbeda ∀a, b ∈ A, f ( a ) ≠ f (b) . b. Fungsi Surjektif Fungsi f : A → B disebut fungsi surjektif / kepada / onto jika untuk setiap elemen anggota Himpunan B merupakan hasil pemetaan dari paling tidak satu elemen anggota Himpunan A. c. Fungsi Bijektif Fungsi f : A → B disebut fungsi bijektif jika untuk setiap elemen Himpunan B merupakan hasil pemetaan dari tepat satu elemen Himpunan A. Dengan kata lain, fungsi bijektif memiliki sifat injektif sekaligus surjektif. Injektif Surjektif Bijektif Gambar 2.2 Ilustrasi Fungsi Injektif, Surjektif, dan Bijektif 9 2.2 Struktur dan Sistem Aljabar 2.2.1 Definisi Struktur dan Sistem Aljabar Menurut Jong Jek Siang (2002,p436) sistem aljabar didefinisikan sebagai suatu himpunan beserta dengan operasi-operasi pada himpunan tersebut. Struktur aljabar secara lepas didefinisikan sebagai karakteristik dari suatu sistem aljabar. Istilah struktur aljabar juga mengacu kepada cabang ilmu matematika bernama Aljabar Abstrak yang mempelajari mengenai karakteristik sistem aljabar seperti Grup, Ring, dan Field. 2.2.2 Tabel Cayley Operasi biner dari suatu himpunan merupakan operasi antara dua elemen dari himpunan tersebut. Tabel Cayley merupakan tabel yang dirancang oleh Arthur Cayley pada abad ke-19 untuk menggambarkan struktur dari Grup berhingga dengan cara menyusun semua hasil operasi dari elemen Grup tersebut ke dalam tabel persegi. Tabel 2.1 Tabel Cayley untuk Operasi Penjumlahan Modulo 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 > baris 0 > baris 1 > baris 2 > baris 3 > baris 4 > baris 5 Tabel di atas merupakan contoh tabel Cayley untuk operasi penjumlahan modulo 5. 0, 1, 2, 3, dan 4 pada baris dan kolom berwarna abu-abu merupakan elemen dari himpunan, sedangkan “+” melambangkan operasi yang didefinisikan pada himpunan tersebut. Kotak berwarna putih melambangkan hasil operasi biner antar masing-masing pasangan elemen dalam himpunan. 10 Perlu diperhatikan bahwa dalam membahas sistem aljabar arti dari suatu simbol operasi didefinisikan oleh pengguna. Sebagai contoh simbol “+” di atas belum tentu berarti penjumlahan seperti yang lazim digunakan dalam operasi aritmatika biasa, namun dapat juga berarti perkalian, pengurangan, dan lain-lain sesuai definisi yang diberikan pengguna untuk simbol operasi tersebut. Dalam sistem aljabar, hasil suatu operasi biner antara dua elemen a dengan b (a+b) belum tentu sama dengan b+a. Untuk menghindari kesalahan pembacaan, perlu dilakukan penyamaan persepsi mengenai cara pembacaan tabel Cayley. Dalam skripsi ini digunakan cara pembacaan yang lazim digunakan, yakni elemen pada baris mewakili elemen pertama dan elemen pada kolom mewakili elemen kedua. Sebagai contoh, “0” pada baris ke-3 tabel Cayley di halaman sebelumnya merupakan hasil operasi dari 2*3 = 0. Tabel Cayley banyak digunakan dalam studi mengenai struktur aljabar karena penyusunannya dapat menggambarkan sifat-sifat dari Grup. Sebagai contoh, dapat ditentukan bahwa operasi penjumlahan modulo 5 dari himpunan 0, 1, 2, 3, dan 4 pada halaman sebelumnya merupakan Grup Abelian dengan melihat bahwa hasil produk operasi pada tabel Cayley saling simetris terhadap sumbu diagonal tabel. 2.2.3 Sifat-Sifat Operasi Aljabar Operasi biner pada sistem aljabar memiliki sifat-sifat yang digunakan untuk mengklasifikasikan sistem tersebut, seperti dijelaskan E. H. Connell (2004) yakni : A. Tertutup Misalkan (A,) adalah sistem aljabar. Operasi disebut operasi yang tertutup jika hasil operasi 2 elemen sembarang dalam A juga merupakan elemen yang tunggal dari A sendiri. 11 (∀a, b ∈ A) ab ∈ A Ö tertutup B. Asosiatif Misalkan adalah operasi biner pada himpunan A. Operasi disebut operasi asosiatif jika untuk setiap a, b, c ∈ A berlaku (ab)c = a(bc). (∀a, b, c ∈ A) (ab)c = a(bc) Ö asosiatif C. Komutatif Misalkan (A,) adalah sistem aljabar. Operasi disebut operasi yang komutatif apabila untuk setiap a,b ∈ A berlaku sifat ab = ba. (∀a, b ∈ A) ab = ba Ö komutatif D. Memiliki Elemen Identitas Misalkan (A,) adalah suatu sistem aljabar dengan merupakan oprasi biner pada A. Suatu elemen e1 ∈ A disebut identitas kiri jika untuk semua elemen a ∈ A berlaku e1a = a. Sedangkan suatu elemen e2 ∈ A disebut identitas kanan jika untuk semua elemen a ∈ A berlaku ae2 = a. Jika suatu elemen e ∈ A merupakan identitas kiri dan sekaligus identitas kanan, maka e disebut elemen identitas. Dalam simbol matematika : (∀a ∈ A) e1a = a Ö e1 ∈ A adalah identitas kiri (∀a ∈ A) ae2 = a Ö e2 ∈ A adalah identitas kanan (∀a ∈ A) ea = ae = a Ö e ∈ A adalah elemen identitas Suatu sistem aljabar (A,) paling banyak memiliki satu buah elemen identitas. Hal ini dapat dibuktikan dengan melakukan pengandaian terhadap sebuah himpunan yang memiliki dua kandidat elemen identitas e1 dan e2. Hasil operasi 12 antara kedua elemen identitas e1e2 akan memberikan hasil antara e1 atau e2. Sesuai sifat elemen identitas ea = ae = a, hasil operasi suatu elemen identitas dengan elemen sembarang lainnya adalah elemen pasangannya dan bukan elemen identitas itu sendiri. Oleh karena itu hanya ada 1 elemen identitas yang mungkin terdapat dalam suatu himpunan. E. Memiliki Invers Misalkan (A,) adalah suatu sistem aljabar dengan elemen identitas e dan elemen a ∈ A. Suatu elemen b ∈ A disebut invers kiri a jika ba = e. Suatu elemen c ∈ A disebut invers kanan a jika ac = e. Jika ada suatu anggota A yang merupakan invers kiri sekaligus invers kanan elemen a, maka anggota tersebut disebut invers a (simbol a-1). a-1a = aa-1 = e Ö a-1 ∈ A adalah invers dari a F. Distributif Misalkan (A,,) adalah suatu sistem aljabar dengan dua buah operasi biner dan . Operasi dikatakan bersifat distributif terhadap operasi apabila untuk setiap a, b, c ∈ A berlaku a(bc) = (ab) (ac). Contohnya pada operasi perkalian terhadap penjumlahan biasa : a × (b + c ) = ( a × b) + ( a × c ) . (∀a, b, c ∈ A) a(bc) = (ab)(ac) Ö distributif terhadap atau (∀a, b, c ∈ A) (ab)c = (ac)(bc) Ö distributif terhadap 13 2.2.4 Klasifikasi Struktur Aljabar Berdasarkan sifat-sifat pada operasinya, menurut John R. Durbin (2002) struktur suatu sistem aljabar dapat diklasifikasikan ke dalam beberapa kategori, yakni : 2.2.4.1 Klasifikasi Sistem Aljabar dengan 1 Operasi Biner A. Semigrup Misalkan (A,) adalah suatu sistem aljabar. (A,) disebut Semigrup bila memenuhi kondisi-kondisi : 1. merupakan operasi tertutup 2. merupakan operasi asosiatif Contoh : A adalah himpunan bilangan-bilangan bulat genap positif = {2, 4, 6, ...}, dengan adalah operasi penjumlahan biasa. Pembuktian sifat-sifat : 1. Tertutup A adalah himpunan bilangan genap positif, oleh karenanya setiap elemen dalam A memenuhi sifat bilangan bulat, yaitu 2n (n>0, n bilangan bulat positif). Hasil penjumlahan antar elemen dalam A yang dilakukan operasi juga akan membentuk pola bilangan genap positif 2m (m>0, m bilangan bulat positif). Terbukti merupakan operasi tertutup. 2. Asosiatif Himpunan A merupakan bagian dari himpunan bilangan bulat. Pada himpunan bilangan bulat operasi penjumlahan biasa akan memberikan hasil 14 yang sama meskipun urutannya pengerjaannya berbeda. Oleh karena itu (ab)c = a(bc). Terbukti merupakan operasi asosiatif. 3. Elemen identitas Pada himpunan bilangan bulat genap positif, tiap operasi penjumlahan biasa antar 2 elemen sembarang akan memberikan hasil lebih besar dari kedua elemen sembarang tersebut, ab>a dan ab>b. Oleh karena itu sifat elemen identitas tidak dapat dipenuhi. 4. Invers (A,) tidak memiliki elemen identitas, maka (A,) tidak memiliki invers. (A,) memenuhi sifat tertutup dan asosiatif. Maka (A,) merupakan Semigrup. B. Monoid Misalkan (A,) adalah suatu sistem aljabar. (A,) disebut Monoid bila memenuhi kondisi-kondisi : 1. (A,) merupakan Semigrup 2. (A,) memiliki elemen identitas Contoh : A adalah himpunan atlit dari suatu klub basket tertentu dengan tinggi yang bervarisi, dan didefinisikan sebagai : (∀a, b ∈ A) ab = a (jika a lebih tinggi dari b) (∀a, b ∈ A) ab = b (jika b lebih tinggi dari a) 15 Pembuktian sifat-sifat : 1. Tertutup Definisi operasi menunjukkan bahwa jangkauan hasil dari suatu operasi ab pasti berkisar antara a atau b tergantung kondisi yang dipenuhi. Terbukti merupakan operasi tertutup. 2. Asosiatif Baik (ab)c maupun a(bc).akan memberikan hasil yang sama, yakni elemen dengan tinggi yang lebih besar. Terbukti merupakan operasi asosiatif. 3. Elemen identitas Jika diambil suatu elemen e dalam himpunan A, yakni atlit yang paling pendek, maka tiap operasi e dengan elemen sembarang manapun dari A (ea atau ae) akan menghasilkan nilai a karena mereka memiliki tinggi yang lebih dari e. Oleh karena e merupakan identitas kiri dan identitas kanan dari (A,) maka atlit paling pendek (e) merupakan elemen identitas dari (A,). Terbukti (A,) memiliki elemen identitas gabungan e 4. Invers Karena e merupakan atlit paling pendek, maka tidak ada operasi yang dapat menghasilkan nilai e. Oleh karena itu (A,) tidak memiliki invers. (A,) memenuhi sifat tertutup, asosiatif, dan memiliki elemen identitas. Maka (A,) merupakan Monoid. 16 C. Grup Misal (A,) adalah suatu sistem aljabar. (A,) disebut Grup bila memenuhi kondisi-kondisi : 1. (A,) merupakan Monoid 2. Setiap elemen dalam A memiliki invers Contoh : A adalah himpunan bilangan bulat = {..., -2, -1, 0, 1, 2, ...}, dengan adalah operasi penjumlahan biasa. Pembuktian sifat-sifat : 1. Tertutup Hasil operasi penjumlahan biasa dari sembarang elemen dalam himpunan bilangan bulat juga akan menghasilkan suatu bilangan bulat tertentu. Terbukti merupakan operasi tertutup. 2. Asosiatif Dalam himpunan bilangan bulat, hasil dari suatu operasi penjumlahan biasa akan sama meskipun urutan pengerjaannya berbeda (ab)c = a(bc). Terbukti bersifat asosiatif. 3. Elemen identitas Dalam himpunan bilangan bulat terdapat suatu elemen, yakni 0, yang jika dilakukan operasi penjumlahan biasa dengan elemen sembarang lainnya dalam himpunan A akan memberikan hasil berupa elemen itu sendiri, 0a = a dan a0 = a. Oleh karena 0 merupakan identitas kiri dan identitas kanan dari (A,), maka 0 merupakan elemen identitas dari (A,). Terbukti (A,) memiliki elemen identitas gabungan; e = 0 17 4. Invers Jika a dan b merupakan elemen sembarang dalam himpunan A, maka ab = 0 dan ba = 0 jika b merupakan nilai negatif dari a. Karena b merupakan invers kanan dan invers kiri dari a, maka b disebut sebagai invers a. Setiap elemen sembarang selain elemen identitas (0) dalam himpunan bilangan bulat A memiliki pasangan inversnya (-1 dengan 1, -2 dengan 2, dan seterusnya). Terbukti (A,) memiliki invers. (A,) memenuhi sifat tertutup, asosiatif, memiliki elemen identitas, dan memiliki invers. Maka (A,) merupakan Grup. 2.2.4.2 Klasifikasi Sistem Aljabar dengan 2 Operasi Biner Klasifikasi pada bagian sebelumnya melibatkan suatu himpunan dengan sebuah operasi biner. Selain itu terdapat klasifikasi untuk himpunan yang memiliki dua macam operasi biner berbeda. Berdasarkan hubungan sifat dari masing-masing operasi binernya, himpunan dengan dua operasi biner dapat diklasifikasikan sebagai berikut : A. Ring Misalkan (A,,) adalah sebuah sistem aljabar. (A,,) disebut Ring bila memenuhi kondisi-kondisi : 1. (A,) merupakan Grup Komutatif (Abelian) 2. (A,) memenuhi sifat tertutup dan asosiatif (Semigrup) 3. Operasi bersifat distributif terhadap 18 Contoh : A adalah himpunan bilangan bulat = {..., -2, -1, 0, 1, 2, ...} dengan didefinisikan sebagai operasi penjumlahan aritmatika biasa dan didefinisikan sebagai operasi perkalian biasa. Pembuktian sifat-sifat : 1. Untuk sistem aljabar (A,) a. Pada contoh pembuktian Grup di halaman 15 telah dibuktikan bahwa (A,) adalah Grup. b. Pada operasi penjumlahan biasa hasil dari ab akan sama dengan ba. Terbukti bersifat komutatif (A,) adalah Grup dan operasi bersifat komutatif, maka (A,) adalah Grup Komutatif. 2. Untuk sistem aljabar (A,) Dengan mengikuti cara pembuktian sifat-sifat operasi aljabar pada bagian sebelumnya akan didapatkan bahwa. a. bersifat tertutup, hasil perkalian antar bilangan bulat juga anggota A. b. bersifat asosiatif, a(bc) = (ab) c (A,) memenuhi sifat tertutup dan asosiatif, maka (A,) setidaknya adalah Semigrup. 3. terhadap Sesuai sifatnya, operasi perkalian bersifat distributif terhadap operasi penjumlahan, a × (b + c ) = ( a × b) + ( a × c ) atau a(bc) = (ab) (ac). (A,,) memenuhi ketiga sifat Ring, maka (A,,) adalah Ring. 19 B. Field Sebuah Ring juga dapat dikategorikan sebagai Field jika dengan pembuktian lanjutan didapatkan bahwa kedua operasi biner memenuhi sifat Grup Komutatif. Dengan demikian syarat Field adalah : 1. (A,) merupakan Grup Komutatif (Abelian) 2. (A,) merupakan Grup Komutatif 3. Operasi bersifat distributif terhadap 2.2.5 Bentuk-Bentuk Grup Khusus Kategori-kategori seperti yang telah dijelaskan sebelumnya merupakan klasifikasi sistem aljabar secara umum. Kategori-kategori ini dapat dikelompokan lagi ke dalam kategori-kategori khusus berdasarkan sifat yang lebih spesifik. Untuk Grup sendiri terdapat beberapa jenis Grup khusus yang dapat dilihat dengan menganalisis sifat-sifat tambahan pada sistem aljabarnya. Bentuk-bentuk khusus ini antara lain : A. Grup Komutatif (Abelian) Misalkan (A,) adalah suatu Grup. Grup (A,) disebut sebagai Grup Komutatif bila memenuhi kondisi-kondisi : 1. (A,) merupakan Grup 2. bersifat komutatif Contoh Grup Siklik misalnya pada himpunan bilangan bulat dengan operasi penjumlahan biasa. 20 B. Grup Siklik Misalkan (A,) adalah suatu Grup. Grup (A,) disebut sebagai Grup Siklik bila ada suatu elemen a ∈ A sedemikian sehingga setiap elemen A dapat dinyatakan sebagai hasil operasi a dengan dirinya sendiri sebanyak n kali (n berhingga). Elemen a yang bersifat seperti itu disebut sebagai Generator. (A,) Grup SiklikÙ (∃a ∈ A)(∀x ∈ A) x = an = aa...a (n berhingga) Contoh : Himpunan A = {0, 1, 2} dengan operasi penjumlahan modulo 3. Tabel 2.2 Operasi Penjumlahan Modulo 3 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1 Dengan pembuktian sifat akan didapatkan bahwa (A,) memenuhi sifat-sifat Grup, yakni : 1. bersifat tertutup 2. bersifat asosiatif 3. (A,) memiliki elemen identitas e = 0 4. Setiap elemen dalam A memiliki invers (0-1 = 0, 1-1 = 2, 2-1 = 1) Elemen 1 dan 2 pada himpunan A memenuhi sifat Generator untuk Grup Siklik. 0 = 111 n=3 0 = 222 n=3 1 = 1111 n = 4 1 = 22 n=2 2 = 11 2 = 2222 n = 4 n=2 21 C. Grup Permutasi I. Pengertian Umum Permutasi Misalkan terdapat suatu himpunan A = {a, b, c, d}. Bila terdapat suatu fungsi injektif / satu-satu yang memetakan seluruh elemen himpunan A, maka fungsi tersebut disebut sebagai permutasi dari himpunan A. Permutasi himpunan umumnya disajikan dalam bentuk matriks. Misalnya fungsi pada himpunan A memetakan a ke b, b ke d, c ke c, dan d ke a, maka hasil permutasinya dapat ditulis sebagai : ⎛a b c d ⎞ ⎜⎜ ⎟⎟ ⎝b d c a⎠ Baris pertama pada matriks merupakan elemen domain himpunan A, sedangkan baris kedua merupakan hasil pemetaan dari masing-masing elemen. Jika suatu himpunan A terdiri dari n elemen, maka ada n! buah kemungkinan permutasi dari elemen anggotanya. Sebagai contoh, terdapat suatu himpunan A dengan 3 elemen {a, b, c} dan himpunan P yang merupakan himpunan dari seluruh kemungkinan permutasi pada himpunan A. Semua permutasi yang mungkin dari a, b, dan c adalah : abc, acb, bac, bca, cab, dan cba, sehingga ada 6 kemungkinan permutasi dari elemen himpunan A. Hal ini sesuai dengan rumus n! di mana kemungkinan permutasi A dengan n=3 berjumlah 3! = 3×2×1 = 6 kemungkinan. Penyajian seluruh kemungkinan permutasi tersebut yakni sebagai berikut : ⎛a b c⎞ ⎟⎟ p1 = ⎜⎜ ⎝a b c⎠ ⎛a b c⎞ ⎟⎟ p2 = ⎜⎜ ⎝a c b⎠ ⎛a b c⎞ ⎟⎟ p3 = ⎜⎜ ⎝b a c⎠ 22 ⎛a b c⎞ ⎟⎟ p4 = ⎜⎜ ⎝b c a⎠ ⎛a b c⎞ ⎟⎟ p5 = ⎜⎜ ⎝c a b⎠ ⎛a b c⎞ ⎟⎟ p6 = ⎜⎜ ⎝c b a⎠ Dengan demikian didapatkan anggota dari P yang merupakan himpunan hasil permutasi A, yaitu P = {p1, p2, p3, p4, p5, p6}. Sesuai penjelasan di atas, John R. Durbin (1992, p38) mendefinisikan bahwa suatu Grup disebut Grup Permutasi apabila setiap elemen dari Grup tersebut merupakan hasil permutasi dengan komposisi sebagai operasinya. Suatu Grup Permutasi dari himpunan A tidak harus berisi seluruh kemungkinan permutasi dari himpunan A tersebut. II. Operasi Komposisi pada Himpunan Permutasi Operasi komposisi merupakan operasi yang digunakan antar elemen permutasi himpunan. Operasi komposisi umumnya dilambangkan dengan simbol komposisi “y”. Contoh : Komposisi antara dua permutasi suatu himpunan dengan anggota {1, 2, 3, 4} ⎛ 1 2 3 4 ⎞ ⎛1 2 3 4 ⎞ ⎛ 1 2 3 4 ⎞ ⎜⎜ ⎟⎟ • ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ ⎝ 2 4 1 3 ⎠ ⎝ 3 4 1 2 ⎠ ⎝1 3 2 4 ⎠ Pada operasi komposisi pengerjaan dilakukan dari elemen kedua ke elemen pertama, atau dari kanan ke kiri. Pada contoh operasi komposisi di atas cara membacanya adalah : 1Æ3Æ1 3Æ1Æ2 2Æ4Æ3 4Æ2Æ4 ⎛1 2 3 4 ⎞ ⎟⎟ Sehingga didapatkan hasil = ⎜⎜ ⎝1 3 2 4 ⎠ 23 Sebagai perbandingan, hasil operasi komposisi antara elemen yang sama dengan urutan yang berbeda adalah : ⎛1 2 3 4 ⎞ ⎛1 2 3 4 ⎞ ⎛1 2 3 4 ⎞ ⎜⎜ ⎟⎟ • ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ ⎝ 3 4 1 2 ⎠ ⎝ 2 4 1 3 ⎠ ⎝ 4 2 3 1⎠ Elemen permutasi memiliki invers. Invers permutasi didapatkan dengan cara membalik urutan baris domain dengan hasil pemetaan dari elemen permutasi tersebut. Berikut adalah contoh invers dari suatu elemen permutasi : −1 ⎛1 2 3 4 ⎞ ⎛1 2 3 4 ⎞ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ ⎝ 2 4 3 1⎠ ⎝ 4 1 3 2⎠ Hasil operasi komposisi antara elemen permutasi dengan inversnya akan menghasilkan pemetaan suatu elemen terhadap dirinya sendiri. ⎛ 1 2 3 4 ⎞ ⎛1 2 3 4 ⎞ ⎛1 2 3 4 ⎞ ⎜⎜ ⎟⎟ • ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ 2 4 3 1 4 1 3 2 1 2 3 4 ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ Untuk mempermudah penyajian elemen permutasi, sering digunakan cara penulisan yang dinamakan notasi siklus (cycle notation). Jika suatu elemen permutasi dari himpunan A disajikan dengan notasi siklus (a1 a2 ... ak) itu berarti pemetaan yang terjadi dari elemen-elemen domain di dalamnya adalah a1Æa2, a2Æa3, ..., ak-1Æak, akÆa1. Elemen domain yang tidak ditulis dalam notasi siklus berarti hasil pemetaan elemen tersebut adalah dirinya sendiri. Contoh : (1 ⎛1 2 3 4 5 ⎞ ⎟⎟ 2 4 ) = ⎜⎜ ⎝ 2 4 3 1 5⎠ (3 ⎛1 2 3 4 5 ⎞ ⎟⎟ 4) = ⎜⎜ ⎝1 2 4 3 5 ⎠ 24 (1 ⎛1 2 3 4 5 ⎞ ⎛1 2 3 4 5 ⎞ ⎟⎟ • ⎜⎜ ⎟⎟ 2 4)(3 4) = ⎜⎜ ⎝ 2 4 3 1 5 ⎠ ⎝1 2 4 3 5 ⎠ ⎛1 2 3 4 5 ⎞ ⎟⎟ = (1 2 4 3) = ⎜⎜ ⎝ 2 4 1 3 5⎠ (1) = (2) = (3) = (4) = (5) = ⎛⎜⎜ 1 2 3 4 5⎞ ⎟⎟ ⎝1 2 3 4 5 ⎠ III. Tabel Cayley pada Himpunan Permutasi Tabel Cayley juga dapat digunakan untuk menyusun hasil operasi pasangan elemen permutasi dan memudahkan pemeriksaan sifat dari himpunan permutasi tersebut. Contoh : Tabel 2.3 Operasi Komposisi pada Himpunan Permutasi y (1) (1 2 3) (1 3 2) (1) (1) (1 2 3) (1 3 2) (1 2 3) (1 2 3) (1 3 2) (1) (1 3 2) (1 3 2) (1) (1 2 3) Tabel Cayley di atas mewakili hasil operasi komposisi antara elemen anggota dalam suatu himpunan permutasi P = {(1), (1 2 3), (1 3 2)}. Dengan melakukan pembuktian sifat operasi sistem aljabar akan didapatkan bahwa : 1. y bersifat tertutup 2. y bersifat asosiatif 3. (P,y) memiliki elemen identitas e = (1) 4. Setiap elemen permutasi memiliki invers Sistem aljabar (P,y) memenuhi sifat-sifat Grup, maka (P,y) merupakan Grup Permutasi. 25 D. Homomorfisma Grup I. Pengertian Umum Homomorfisma John R. Durbin (1992, p152) mendefinisikan bahwa jika G adalah sebuah Grup dengan operasi * dan H adalah sebuah Grup dengan operasi #, maka pemetaan θ: GÆH adalah sebuah homomorfisma jika : θ ( a * b) = θ ( a )# θ (b) untuk semua a,b ∈ G. Jika terdapat hubungan homomorfisma dari G ke H, maka H disebut sebagai homomorphic image atau citra homomorfis dari G. Contoh : Misalkan terdapat 2 buah himpunan G dan H G = himpunan bilangan bulat tidak negatif = {0, 1, 2, ...} H = {genap, ganjil} Kedua himpunan G dan H memiliki operasi biner masing-masing * dan #, yang didefinisikan sebagai operasi penjumlahan biasa. Untuk himpunan G : a. Bilangan bulat ganjil*bilangan bulat ganjil = bilangan bulat genap. b. Bilangan bulat ganjil*bilangan bulat genap = bilangan bulat ganjil. c. Bilangan bulat genap*bilangan bulat ganjil = bilangan bulat ganjil. d. Bilangan bulat genap*bilangan bulat genap = bilangan bulat genap. Untuk himpunan H : a. Ganjil#ganjil = genap b. Ganjil#genap = ganjil c. Genap#ganjil = ganjil d. Genap#genap = genap 26 Dari pemeriksaan di halaman sebelumnya dapat dilihat bahwa hasil operasi pada himpunan G memiliki sifat yang sama dengan hasil operasi pada himpunan H, yaitu berupa bilangan genap atau ganjil. Selain itu G dan H masingmasing memenuhi syarat sebagai Grup. Maka H adalah citra homomorfis dari G. Citra homomorfis suatu himpunan mewarisi sifat-sifat dari himpunan yang dicerminkannya. Pewarisan sifat inilah yang menjadi manfaat utama dari homomorfisma Grup. Pada contoh sebelumnya dapat dilihat karakteristik hasil operasi antar elemen pada himpunan G yang tidak berhingga dengan melihat hasil operasi dari himpunan H yang jumlahnya jauh lebih sedikit namun tetap mencerminkan sifat-sifat hasil operasi himpunan G, yaitu bilangan genap atau bilangan ganjil. Sifat homomorfisma terutama banyak digunakan untuk meneliti karakteristik sistem aljabar dengan jumlah anggota yang besar dan sulit diteliti secara manual, sehingga dengan homomorfisma efisiensi penelitian jauh meningkat. Contoh : Himpunan G adalah himpunan bilangan bulat positif dengan operasi perkalian. G = {x} ; x = 1, 2, 3, ... ; * = perkalian Sedangkan H adalah himpunan dengan operasi penjumlahan yang elemen anggotanya adalah hasil pemetaan dari tiap anggota himpunan G, yaitu nilai logaritma dari elemen yang dipetakan tersebut. H = {y | y = log(x)} ; x = 1, 2, 3, ... ; # = penjumlahan Perbandingan hasil operasi antara kedua himpunan G dan H adalah sebagai berikut : 27 Tabel 2.4 Perbandingan hasil operasi (G,*) dan (H,#) (1) * 1 2 3 4 dst 1 1 2 3 4 2 2 4 6 8 3 3 6 9 12 (G,*) 4 4 8 12 16 dst # log 1 log 2 log 3 log 4 dst log 1 log 1 log 2 log 3 log 4 log 2 log 2 log 4 log 6 log 8 log 3 log 3 log 6 log 9 log 12 log 4 dst log 4 log 8 log 12 log 16 (H,#) Pemetaan himpunan G ke H didefinisikan dengan fungsi θ: GÆH di mana θ(x) = log x. θ(1) = log 1 θ(2) = log 2 θ(3) = log 3 dan seterusnya. Dengan pengujian sifat operasi biner dapat dibuktikan bahwa sistem aljabar (G,*) dan (H,#) keduanya adalah Grup. Operasi penjumlahan pada himpunan H mengikuti sifat penjumlahan logaritma, yaitu log a + log b = log ab. Selanjutnya perlu dibuktikan syarat homomorfisma antara G dengan H. θ(1*1) = θ(1) = log 1 sama dengan 1 = log 1 # log 1 = θ(1) # θ(1) θ(2*3) = θ(6) = log 6 sama dengan 6 = log 2 # log 3 = θ(2) # θ(3) θ(3*4) = θ(12) = log 12 sama dengan 12 = log 3 # log 4 = θ(3) # θ(4) dan seterusnya. Jika diteruskan, akan terlihat bahwa pemetaan dari hasil operasi perkalian untuk setiap pasang elemen dalam himpunan G akan sama dengan operasi penjumlahan pasangan pemetaan elemennya dalam himpunan H. Maka terbukti 28 syarat homomorfisma θ ( a * b) = θ ( a )# θ (b) untuk semua a,b ∈ G. Terbukti bahwa H adalah citra homomorfis dari G. Karena telah dibuktikan bahwa H adalah citra homomorfis dari G, maka H dapat dijadikan sebagai alternatif untuk meneliti hasil atau karakteristik dari sistem aljabar G. Hal ini lebih efisien bagi komputer karena komputasi penjumlahan lebih ringan dibanding komputasi perkalian. Untuk mengembalikan nilai elemen di H kembali ke nilai G dapat dilakukan dengan merubah elemen di H ke nilai invers dari elemen tersebut. Dalam contoh ini nilai elemen himpunan G didapat dari : x = y-1 = 10y = 10log x. II. Isomorfisma, Monomorfisma, dan Epimorfisma Selain bentuk homomorfisma yang umum terdapat juga bentuk-bentuk lain dari homomorfisma, yaitu : a. Isomorfisma Jika G adalah Grup dengan operasi * dan H adalah grup dengan operasi #, maka H disebut sebagai citra isomorfis dari G apabila memenuhi syaratsyarat berikut : 1. θ ( a * b) = θ ( a )# θ (b) untuk semua a,b ∈ G 2. θ: GÆH merupakan fungsi bijektif Contoh : Sistem aljabar (G,*) adalah Grup Permutasi dengan anggota G = {(1), (1 2 3), (1 3 2)} dan operasi komposisi, sedangkan (H,#) adalah Grup dengan anggota H = {0, 1, 2} dan operasi penjumlahan modulo 3. Tabel Cayley untuk kedua sistem aljabar tersebut adalah sebagai berikut : 29 Tabel 2.5 Perbandingan hasil operasi (G,*) dan (H,#) (2) * (1) (1 2 3) (1 3 2) (1) (1) (1 2 3) (1 3 2) (1 2 3) (1 2 3) (1 3 2) (1) (1 3 2) (1 3 2) (1) (1 2 3) # 0 1 2 0 0 1 2 (G,*) 1 1 2 0 2 2 0 1 (H,#) Hasil pemetaan θ: GÆH : θ((1)) = 0 θ((1 2 3)) = 1 θ((1 3 2)) = 2 Pengujian sifat fungsi : 1. Hasil pemetaan elemen G ke H tidak ada yang sama. Fungsi injektif. 2. Seluruh elemen H merupakan hasil pemetaan dari G. Fungsi surjektif. 3. Sifat injektif dan surjektif dipenuhi. Fungsi bijektif. Pengujian syarat homomorfisma : θ((1)*(1)) = θ((1)) = 0 sama dengan 0 = 0 # 0 = θ((1)) # θ((1)) θ((1)*(1 2 3)) = θ((1 2 3)) = 1 sama dengan 1 = 0 # 1 = θ((1)) # θ((1 2 3)) θ((1)*(1 3 2)) = θ((1 3 2)) = 2 sama dengan 2 = 0 # 2 = θ((1)) # θ((1 3 2)) θ((1 2 3)*(1)) = θ((1 2 3)) = 1 sama dengan 1 = 1 # 0 = θ((1 2 3)) # θ((1)) θ((1 2 3)*(1 2 3)) =θ((1 3 2))= 2 sama dengan 2=1 # 1= θ((1 2 3)) # θ((1 2 3)) θ((1 2 3)*(1 3 2)) = θ((1)) = 0 sama dengan 0 = 1 # 2 = θ((1 2 3)) # θ((1 3 2)) θ((1 3 2)*(1)) = θ((1 3 2)) = 2 sama dengan 2 = 2 # 0 = θ((1 3 2)) # θ((1)) θ((1 3 2)*(1 2 3)) = θ((1)) = 0 sama dengan 0 = 2 # 1 = θ((1 3 2)) # θ((1 2 3)) θ((1 3 2)*(1 3 2))= θ((1 2 3))=1 sama dengan 1=2 # 2 = θ((1 3 2)) # θ((1 3 2)) 30 Untuk semua kemungkinan operasi pasangan elemen terpenuhi syarat θ ( a * b) = θ ( a )# θ (b) untuk semua a,b ∈ G. Maka H adalah image isomorfis dari G b. Monomorfisma Jika G adalah Grup dengan operasi * dan H adalah grup dengan operasi #, maka H disebut sebagai citra monomorfis dari G apabila memenuhi syaratsyarat berikut : 1. θ ( a * b) = θ ( a )# θ (b) untuk semua a,b ∈ G 2. θ: GÆH merupakan fungsi injektif Contoh : Sistem aljabar (G,*) adalah Grup dengan anggota G = {0, 1, 2} dan operasi penjumlahan modulo 3, sedangkan (H,#) adalah Grup Permutasi dengan anggota H = {(1), (1 2 3), (1 3 2), (1 2), (1 3), (2 3)} dan operasi komposisi. Tabel Cayley untuk kedua sistem aljabar adalah sebagai berikut : Tabel 2.6 Perbandingan hasil operasi (G,*) dan (H,#) (3) * 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1 # (1) (1 2 3) (1 3 2) (1 2) (1 3) (2 3) (G,*) Hasil pemetaan θ: GÆH : θ(0) = (1) θ(1) = (1 2 3) θ(2) = (1 3 2) (1) (1) (1 2 3) (1 3 2) (1 2) (1 3) (2 3) (1 2 3) (1 2 3) (1 3 2) (1) (2 3) (1 2) (1 3) (1 3 2) (1 3 2) (1) (1 2 3) (1 3) (2 3) (1 2) (H,#) (1 2) (1 2) (1 3) (2 3) (1) (1 2 3) (1 3 2) (1 3) (1 3) (2 3) (1 2) (1 3 2) (1) (1 2 3) (2 3) (2 3) (1 2) (1 3) (1 2 3) (1 3 2) (1) 31 Pengujian sifat fungsi : 1. Hasil pemetaan elemen G ke H tidak ada yang sama. Fungsi injektif. 2. Ada elemen H yang bukan hasil pemetaan dari elemen G, yaitu {(1 2), (1 3), (2 3)}. Fungsi tidak surjektif. 3. Fungsi injektif tapi tidak surjektif. Fungsi bukan bijektif. Dengan cara pengujian syarat homomorfisma seperti di bagian sebelumnya akan didapat bahwa untuk setiap a,b ∈ G terpenuhi syarat θ ( a * b) = θ ( a )# θ (b) . Maka H adalah image monomorfis dari G. c. Epimorfisma Jika G adalah Grup dengan operasi * dan H adalah grup dengan operasi #, maka H disebut sebagai citra epimorfis dari G apabila memenuhi syaratsyarat berikut : 1. θ ( a * b) = θ ( a )# θ (b) untuk semua a,b ∈ G 2. θ: GÆH merupakan fungsi surjektif Contoh epimorfisma misalnya terdapat pada Grup G = bilangan bulat tidak negatif dengan operasi penjumlahan dan H = {genap, ganjil} dengan operasi penjumlahan yang sifat homomorfisnya telah dibuktikan di halaman 25. Hasil pemetaan θ: GÆH adalah : θ(1) = ganjil θ(2) = genap θ(3) = ganjil θ(4) = genap dan seterusnya. 32 Pengujian sifat fungsi : 1. Hasil pemetaan elemen G ke H ada yang sama. Fungsi tidak injektif. 2. Seluruh elemen H merupakan hasil pemetaan dari G. Fungsi surjektif. 3. Fungsi surjektif tapi tidak injektif. Fungsi bukan bijektif. Maka H adalah image epimorfis dari G. 2.3 Perancangan Program Perancangan program merupakan langkah yang krusial dalam pembuatan suatu program aplikasi. Perancangan diperlukan untuk membuat bentuk dasar dan langkahlangkah yang perlu dilakukan dalam tahapan-tahapan pembuatan aplikasi. 2.3.1 Rekayasa Piranti Lunak Rekayasa Piranti Lunak menurut Roger S. Pressman (2005, p23) adalah penetapan dan pemakaian prinsip-prinsip rekayasa dalam rangka mendapatkan piranti lunak yang ekonomis, terpercaya, dan bekerja efisien pada mesin (komputer). Rekayasa piranti lunak secara garis besar mencakup 3 elemen yang mampu mengontrol proses pengembangan piranti lunak, yaitu : 1. Metode-metode (methods) Menyediakan cara-cara teknis untuk membangun piranti lunak. 2. Alat-alat bantu (tools) Menyediakan dukungan otomatis atau semi otomatis untuk metode-metode, seperti CASE (Computer Aided Software Engineering) yang mengkombinasikan software, hardware, dan software engineering database. 3. Prosedur-prosedur (procedure) Merupakan pengembangan metode dan alat bantu. 33 Dalam perancangan software dikenal istilah SDLC (Software Development Life Cycle) yaitu serangkaian kegiatan yang dilakukan selama masa pengembangan software. Pemakaian metode SDLC yang cocok ditentukan oleh beberapa aspek seperti jenis bahasa pemrograman yang digunakan atau kompleksitas aplikasi. Contohnya, Waterfall Model merupakan model yang paling umum dan paling dasar pada SDLC. Rapid Application Development (RAD) dan Joint Application Development (JAD) cocok untuk software berbasis objek (OOP), sedangkan Spiral Model cocok untuk pengembangan aplikasi yang rumit dan cenderung mahal pembuatannya. Tahapan-tahapan dari kegiatan pada SDLC model Waterfall menurut (A. Dix, 1997) adalah sebagai berikut : 1. Spesifikasi kebutuhan Pada tahapan ini, pengembang dan klien mengidentifikasi apa saja fungsi-fungsi yang diharapkan dari sistem dan bagaimana sistem memberikan layanan yang diminta. Pengembang berusaha mengumpulkan berbagai informasi dari klien. 2. Perancangan Arsitektur Pada tahapan ini, terjadi pemisahan dari keseluruhan detil aplikasi yang akan dibuat ke dalam komponen-komponen (modul) sesuai dengan fungsinya masing-masing. 3. Rancangan detil Setelah sistem dipecah ke dalam komponen-komponen, pada tahapan ini akan dibuat rancangan proses dari masing-masing komponen untuk digunakan dalam proses pengembangan. 34 4. Coding and unit Testing Pada tahapan ini, hasil rancangan diterjemahkan ke dalam bahasa pemrograman untuk dieksekusi. Setelah itu tiap komponen diuji apakah sesuai dengan fungsinya masing-masing. 5. Integration and Testing Setelah pengujian tiap komponen dilakukan, komponen-komponen tersebut disatukan (diintegrasikan) ke dalam sistem utama. Kemudian dilakukan pengujian terhadap sistem utama secara keseluruhan apakah sudah sesuai dengan kriteria yang diminta klien. 6. Implementasi dan Pemeliharaan Setelah sistem dimplementasikan, tahapan terakhir adalah pemeliharaan terhadap sistem. Umumnya pemeliharaan sistem berupa perbaikan terhadap error atau bug yang muncul setelah sistem terimplementasi. Gambar 2.3 Waterfall Model untuk Software Development Life Cycle (Sumber : A. Dix, 1997, p181) 35 2.3.2 Interaksi Manusia dan Komputer Menurut J. Finlay (1993), interaksi manusia dan komputer merupakan disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomenafenomena besar yang berhubungan dengannya. Pada interaksi manusia dan komputer ditekankan pada pembutan antarmuka pemakai (user interface), di mana user interface yang dibuat diusahakan sedemikian rupa sehingga seorang user dapat dengan baik dan nyaman menggunakan aplikasi piranti lunak yang dibuat. Antarmuka pemakai (user interface) adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan komputer. Tujuan antarmuka pemakai adalah agar sistem komputer dapat digunakan oleh pemakai. Istilah tersebut digunakan untuk menunjukkan kemampuan yang dimiliki oleh piranti lunak atau program aplikasi yang mudah dioperasikan dan dapat membantu menyelesaikan suatu persoalan dengan hasil yang sesuai dengan keinginan pengguna. 2.4 Borland Delphi Borland Delphi merupakan sebuah software yang dibuat untuk merancang aplikasi pada Microsoft Windows. Bahasa pemrograman pada Delphi menggunakan bahasa pemrograman Object Pascal yang merupakan pengembangan dari bahasa Pascal, dan dirancang untuk mendukung pemrograman berorientasi objek dan pemrograman dengan IDE (Integrated Development Environment) / lingkungan pengembangan terpadu. Pemrograman dengan IDE memberikan dukungan fasilitas menyeluruh bagi pengguna. Dukungan fitur IDE umumnya berupa : a. Editor source code program. 36 b. Compiler dan/atau penerjemah kode. c. Alat-alat (tools) untuk membangun bagian aplikasi secara otomatis. d. Debugger program Pemrograman dengan IDE umumnya disajikan dalam bentuk pemrograman visual, yaitu pemrograman di mana pengguna dapat merancang tampilan program secara intuitif dengan mengklik tombol atau menggeser objek dibanding pemrograman non visual di mana tampilan dirancang dengan menggunakan kode program. Delphi merupakan pionir era pengembangan aplikasi secara rapid dengan memperkenalkan fitur-fitur penting seperti framework aplikasi dan window perancang layout visual yang secara signifikan mengurangi waktu yang dibutuhkan dalam mengembangkan maupun menguji prototipe aplikasi. Delphi juga memiliki VCL (Visual Component Library) yang cukup ekstensif dan dukungan yang luas untuk komponen tambahan dari pihak ketiga. 2.4.1 Sejarah Delphi Software Delphi pertama dirilis pada tahun 1995. Pada mulanya Delphi merupakan proyek riset rahasia di perusahaan Borland yang kemudian berkembang menjadi aplikasi dengan nama AppBuilder. Tidak lama sebelum Borland AppBuilder diluncurkan, produk saingan dengan nama Novell AppBuilder lebih dahulu dirilis. Hal itu menyebabkan Borland membutuhkan nama baru untuk software mereka. Nama Delphi dipilih oleh salah seorang programmer di tim pengembang Delphi yang bernama Danny Thorpe. Kepala perancang software Delphi adalah Anders Hejlsberg, yang sebelumnya telah merancang Turbo Pascal. Sejarah pengembangan Delphi yakni sebagai berikut : 37 - Borland Delphi 1 sampai 5 Dirilis pada tahun 1995 untuk sistem operasi Windows 3.1 16-bit. Borland Delphi 1 merupakan penerus Turbo Pascal, dan menjadi contoh awal dari alat pendukung pengembangan aplikasi secara rapid (RAD). Borland Delphi 2 dirilis pada tahun 1996 dan sudah mendukung lingkungan Windows 32-bit. Menyusul setelahnya, Borland Delphi 3 dirilis pada 1997, Borland Delphi 4 pada tahun 1998, Borland Delphi 5 pada tahun 1999, dan Borland Delphi 6 pada tahun 2002. - Kylix Merupakan versi Linux dari Delphi yang dirilis pada tahun 2001. - Borland Delphi 7 Borland Delphi 7 dirilis pada tahun 2002 dan hingga saat ini menjadi versi yang paling banyak digunakan dibanding versi Delphi lainnya. Hal ini dikarenakan stabilitas yang lebih baik dari Delphi 7 serta komputasi cepat dan persyaratan kebutuhan hardware yang rendah. - Borland Delphi 8 sampai 10 Borland Delphi 8 dirilis pada 2003 dan mulai mendukung pengembangan .NET. Borland Delphi 2005 (Delphi 9) dirilis pada tahun 2005 dengan dukungan aplikasi Win32 dan .Net. Borland Delphi 2006 (Delphi 10) dirilis pada akhir 2005 dengan dukungan pengembangan gabungan C# dan Delphi.Net. - CodeGear Delphi 2007 (Delphi 11) Dirilis pada tahun 2007. Merupakan versi Delphi pertama yang dikembangkan oleh CodeGear, yakni suatu divisi pengembangan di bawah Borland yang 38 nantinya dijual menjadi milik perusahaan Embarcadero Technologies pada tahun 2008. - Embarcadero Delphi Merupakan versi terbaru Delphi setelah lisensinya dimiliki oleh Embarcadero Technologies. Versi yang sudah dirilis antara lain Embarcadero Delphi 2009 (Delphi 12), Embarcadero Delphi 2010 (Delphi 14), dan Embarcadero Delphi XE. 2.4.2 Keunggulan dan Keterbatasan Delphi Keunggulan dari Delphi antara lain : a. Bahasa pemrograman Delphi strongly typed, artinya bahasa pemrograman memiliki batasan-batasan pada penggunaan campuran tipe data. Hal ini membantu mencegah terjadi kesalahan penggunaan tipe data dengan cara yang tidak valid. Contohnya penjumlahan antara tipe data String dengan Integer. b. Delphi datang dengan dukungan pemrograman IDE dan dukungan komponen library yang luas. Bahasa pemrograman Delphi cocok untuk pengembangan aplikasi secara rapid (Rapid Application Development), yaitu pengembangan aplikasi yang lebih berfokus pada pengembangan prototipe dan revisi dari uji prototipe, sehingga dengan demikian laju perancangan program dapat dilakukan lebih cepat. c. Komponen library DLL tambahan dapat diintegrasikan ke dalam satu file executable (*.exe) sehingga programmer tidak perlu menambahkan file-file lainnya untuk menjalankan program. 39 d. Setiap pengembangan versi baru Delphi memberikan dukungan backward compatibility yang cukup baik bagi bahasa yang digunakan pada versi-versi sebelumnya. Sedangkan batasan-batasan dari Delphi antara lain : a. Belum ada dukungan untuk sistem Windows 64-bit. Sejauh ini Delphi hanya bisa digunakan untuk merancang aplikasi yang berjalan di Windows 32-bit. b. Tidak lintas platform. Delphi sendiri hanya dapat berjalan di sistem operasi Windows. Pengembangan versi Delphi terbaru serta beberapa variannya sedang dirancang untuk dapat berjalan lintas platform di Windows, Linux, dan Mac OS. c. Dukungan backward compatibility yang diberikan Delphi bagi versi-versi yang lebih lama sediit banyak menyebabkan pengembangan bahasa pemrograman Delphi menjadi lebih terbatas. Pada bab 2 ini telah dibahas mengenai berbagai metode dan teori yang akan digunakan sebagai dasar untuk merancang aplikasi pengujian struktur aljabar. Metode dan teori tersebut dijelaskan sesuai dengan batasan dalam pembuatan aplikasi ini.