Aritmatika modulo merupakan sisa hasil pembagian 2 (dua) bilangan. Operator yang digunakan dalam aritmatika modulo adalah mod. Misalkan a adalah bilangan bulat dibagi dengan m adalah bilangan bulat > 0 , maka akan menghasilkan sisa bagi r dengan q adalah hasil bagi. Sehingga dapat dinotasikan sebagai berikut :
a mod m = r sedemikian sehingga a = mq + r, dengan 0 ≤ r < m Contoh : 65 mod 7 = 2, dimana 65 = (7*9) + 2.
2.6.1 Greatest Common Divisor (GCD)
Greatest common divisor (GCD) merupakan bilangan bulat terbesar yang merupakan pembagi yang sama dari dua bilangan bulat. Misalkan a dan b adalah 2 (dua) bilangan bulat yang tidak nol. Greatest common divisor (GCD) dari a dan b adalah bilangan bulat terbesar c sedemikian sehingga c|a dan c|b. Greatest common divisor (GCD) dari a dan b dapat dinotasikan dengan gcd(a,b)(Mollin, 2008).
Contoh : GCD(100,30) adalah:
100 mod 30 = 10 30 mod 10 = 0
Karena telah menghasilkan sisa pembagian sama dengan 0, maka proses berakhir dan didapatlah GCD(100,30) = 10.
2.6.2 Bilangan Prima
Bilangan prima adalah bilangan bulat positif a, dimana a ≥ 2 hanya dapat dibagi dengan 1 dan bilangan itu sendiri. Seluruh bilangan prima adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap. Contoh bilangan prima adalah 2, 3, 5, 7, 11, 13, 17, ….
Untuk menguji apakah n merupakan bilangan prima atau bukan, kita cukup membagi n dengan sejumlah bilangan prima, dengan syarat bilangan prima ≤ √n. Jika n habis dibagi dengan salah satu dari bilangan prima tersebut, maka n bukan bilangan prima, tetapi jika n tidak habis dibagi oleh semua bilangan prima tersebut, maka n adalah bilangan prima.
Terdapat metode lain yang dapat digunakan untuk menguji keprimaan suatu bilangan bulat, yang terkenal dengan Teorema Fermat. Berikut pernyataan dari Teorema Fermat : Jika p adalah bilangan prima dan a adalah bilangan bulat yang tidak habis dibagi dengan p, yaitu GCD(a,p) = 1, maka : ap-1 ≡ 1 (mod p) (Mollin, 2008).
Teorema Fermat ini memiliki kelemahan yaitu terdapat bilangan bulat bukan prima p sedemikian sehingga ap–1 ≡ 1 (mod p). Bilangan bulat p seperti itu disebut bilangan prima semu (pseudoprimes). Bilangan bulat a yang menyebabkan ap–1 ≡ 1 (mod p),
dimana p adalah bilangan prima semu disebut dengan bilangan carmichael atau fermat’s liar. Akan tetapi, bilangan prima semu relatif jarang ditemukan.
Contoh :
Apakah p = 49 adalah bilangan prima?
a. Pilihlah sembarang bilangan bulat positif a dengan syarat 1<a<p.
b. Hitung ap-1 mod p sebanyak dua kali untuk menghindari ditemukan bilangan prima semu. Jika salah satu hasil perhitungan tidak sama dengan 1, maka bilangan bulat p bukan bilangan prima.
348 mod 49 = 43 648 mod 49 = 8
Karena ap-1 mod p ≠ 1, maka bilangan bulat p = 49 bukan bilangan prima.
2.6.3 Relatif Prima
Dua bilangan bulat a dan b dikatakan relatif prima jika GCD(a,b) = 1. Bilangan-bilangan a1, a2, …, anadalah relatif prima berpasangan (pairwise relatively prime) jika GCD(ai, aj) = 1 untuk 1 ≤ i <j ≤ n. Dengan demikian, sekumpulan bilangan bisa ditunjukkan apakah relatif prima atau tidak dengan mengevaluasi GCD dari semua pasangan bilangan yang mungkin. Jika GCD pasangan-pasangan tersebut semuanya bernilai 1, maka syarat pairwise relatively prime dipenuhi. Sebaliknya, jika salah satu GCD dari pasangan bilangan tersebut tidak sama dengan 1, maka kumpulan bilangan tersebut bukan pairwise relatively prime. Dan 2 (dua) bilangan prima pasti adalah
Bilangan-bilangan 27 dan 15 adalah bukan pairwise relatively prime karena GCD(27,15) = 3.
Bilangan – bilangan prima 11 dan 7 adalah pairwise relatively prime karena GCD(11,7) = 1.
2.6.4 Algoritma Euclid
Algoritma ini digunakan untuk mencari nilai pembagi persekutuan terbesar dari 2 (dua) bilangan bulat. Algoritma ini didasarkan pada pernyataan berikut ini :
Dua bilangan bilangan bulat positif r0dan r1, dengan r0 ≥ r1, kemudian dihitung menggunakan algoritma pembagian :
r0 = q1 * r1+ r2, 0 <r2<r1 r1 = q2 * r2+ r3, 0 <r3<r2 rn-2 = qn-1 * rn-1+ rn 0 <rn<rn-1 rn-1 = qn * rn
Dari pernyataan tersebut, dapat diperoleh :
GCD(r0, r1) = GCD(r1, r2) = ……….. = GCD(rn-1,rn) = GCD(rn,0) = rn
2.6.5 Extended Euclidean
Algoritma Extended Euclidean ini merupakan perluasan dari algoritma Euclidean yang berfungsi untuk menentukan nilai x dan y sedemikian sehingga r0*x + r1*y = GCD(r0,r1) dengan r0 , r1merupakan bilangan bulat positif serta x dan y merupakan bilangan bulat. Dua bilangan bulat r0dan r1yang merupakan pairwise relatively prime dapat menemukan bilangan bulat x dan y sedemikian sehingga r0*x + r1*y = 1.
Dengan menggunakan algoritma Euclidean dan rumus : tj = tj-2 - qj–1 * tj-1 , j ≥ 2
Step 1: Hitung GCD dengan Algoritma Euclidean:
(1) 13 = 1 * 8 + 5 (2) 8 = 1 * 5 + 3 (3) 5 = 1 * 3 + 2 (4) 3 = 1 * 2 + 1
2 = 2 * 1 Maka GCD(13,8) = 1 Step 2: Menggunakan substitusi terbalik:
(4) 1 = 3 - 2
(3) = 3 – (5 - 3) = 2 * 3 – 5 (2) = 2(8 - 5) – 5= 2 * 8 – 3 * 5 (1) = 2 * 8 – 3(13 - 8) = 5 * 8 – 3 * 13 Penyelesaian: 13(-3) + 8(5)
Sehingga didapat nilai x = -3 dan y = 5.
2.6.6 Chinese Remainder Theorem
Chinese Remainder Theorem (CRT) adalah suatu teorema untuk menyelesaikan permasalahan pada seluruh sistem persamaan jika diketahui faktorisasi prima dari n.
Chinese Remainder Theorem ini ditemukan oleh matematikawan cina pada abad pertama, yang bernama Sun Tse. Jika ada suatu pertanyaan sebagai berikut:
“Tentukan sebuah bilangan bulat yang bila dibagi dengan 3 menyisakan 2, bila dibagi 4 menyisakan 3, dan bila dibagi 5 menyisakan 4.”
Dengan menggunakan Chinese Remainder Theorem akan ditemukan penyelesaian dari pertanyaan tersebut. Misalkan m1, m2, …, mn adalah bilangan bulat positif sedemikian sehingga PBB(mi, mj) = 1 untuk i ≠ j. Maka sistem dapat dihasilkan : x ≡ ak(mod mk), mempunyai sebuah solusi unik modulo m = m1x m2 x … x mn.. Maka, pernyataan Sun Tse dapat dapat diselesaikan sebagai berikut :
a. Rumuskan pernyataan Sun Tse dengan rumus x ≡ ak (mod mk).
x ≡ 2 (mod 3) x ≡ 3 (mod 4) x ≡ 4 (mod 5)
b. Hitung semua perkalian modulus.
N = 3*4*5 = 60
c. Buat himpunan untuk masing – masing persamaan dari angka terkecil yang memenuhi sampai perkalian ketiga modulus.
x1 = {2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59}
x2 = {3,7,11,15,19,23,27,31,35,39,43,47,51,55,59}
x3= {4,9,14,19,24,29,34,39,44,49,54,59}
d. Iriskan ketiganya untuk mendapat nilai x.
x = x1⋂x2⋂x3= 59
e. Hitung interval LCM (The Least Common Multiple) dari ketiga modulus.
LCM(3,4,5) = 60 , sehingga x memenuhi akan berulang setiap interval 60 angka, yaitu x = {…,59,119,179,…} (Wandani, 2012).
2.7 Android
Android adalah sistem operasi untuk telepon seluler yang berbasiskan Linux.Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri sehingga dapat digunakan oleh bermacam peranti penggerak. Awalnya Google Inc. membeli Android Inc. pendatang baru yang membuat software (perangkat lunak) untuk telepon genggam. Kemudian untuk mengembangkan Android di bentuklah Open Handset Alliance yang merupakan gabungan dari 34 perusahaan peranti keras, peranti lunak dan telekomunikasi termasuk Google, HTC, Intel, Motorola, Qualcomm, TMobile, dan NVidia.
Pada saat perilisan perdana Android pada tanggal 5 november 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan pada perangkat seluler. Di lain pihak, Google merilis kode-kode Android dibawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
Terdapat dua jenis distributor sistem operasi Android. Pertama yang dapat dukungan penuh dari Google atau Google Mail Service (GMS) dan kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung dari Google atau dikenal sebagai Open Handset Distribution (DHD) (Ardiansyah, 2011).
Sejak April 2009, versi Android dikembangkan dengan nama kode yang dinamai berdasarkan makanan pencuci mulut dan penganan manis. Masing-masing versi dirilis sesuai urutan alfabet. Berikut adalah rangkaian perjalanan android
1. Kerjasama Android Inc. dengan Google Inc.8. Android Versi 2.3 (Gingerbread) 2. 2007 - 2008 Produk awal Android 9. Android Versi 3.0 (Honeycomb) 3. Android Versi 1.1 10. Android Versi 4.0 (ICS)
4. Android Versi 1.5 (Cupcake) 11. Android Versi 4.1-4.3 (Jelly Bean) 5. Android Versi 1.6 (Donut) 12. Android Versi 4.4 (KitKat) dan 6. Android Versi 2.0/2.1 (Eclair) 13. Android Versi 5.0 (Lollipop) 7. Android Versi 2.2 (Froyo)