5. Setelah keempat leaf pertama dihampiri, naik lebih tinggi lagi ke level 0 MAX masukkan nilai 3.
6. Begitu seterusnya hingga kita dapatkan hasil akhir dari tree di atas adalah 6.
2.7 Algoritma Alpha Beta Pruning
Pada dasarnya, algoritma Minimax sangat handal untuk menyelesaikan segala masalah dalam pencarian langkah untuk permainan komputer dengan jumlah kemungkinan
penyelesaian yang kecil. Tetapi, jika algoritma Minimax digunakan pada permainan dengan jumlah kemungkinan penyelesaian yang besar, algoritma Minimax ini
memerlukan waktu yang sangat lama untuk membangun pohon penyelesaian.
Oleh karena itu, beberapa metode lanjutan dari algoritma Minimax telah dikembangkan untuk membatasi melonjaknya jumlah simpul dalam pembangunan
pohon penyelesaian. Berbagai jenis metode telah ditemukan untuk meningkatkan kinerja algoritma Minimax, salah satunya adalah Alpha Beta Pruning. Dengan
menggunakan metode ini maka diharapkan sistem dapat bekerja lebih baik. Untuk proses dan cara kerja algoritma Alpha Beta Pruning yang lebih jelas, dapat dilihat
pada gambar berikut:
Level 0
Level 1
Level 2
Gambar 2.4 Cara kerja algoritma
Alpha Beta Pruning Tyugu, 2007
Universitas Sumatera Utara
Langkah-langkah cara kerja algoritma Alpha Beta Pruning adalah sebagai berikut: 1. Hampiri node pertama pada leaf dengan nilai 4, naik ke parent pada level 2
MAX masukkan nilai 4, hampiri 1. Karena 14 maka nilai parent tidak diganti.
2. Setelah kedua leaf pertama dihampiri, naik lebih tinggi lagi ke level 1 MIN masukkan nilai 4.
3. Hampiri node ketiga pada leaf dengan nilai 8, naik ke parent pada level 2 MAX masukkan nilai 8. Jika kita menghampiri leaf berikutnya, kita mencari
nilai yang lebih tinggi dari 8, sementara pada level 1 MIN kita mencari yang lebih kecil dari 4. Maka leaf keempat 5 kita potong tidak kita hampiri.
4. Setelah keempat leaf pertama dihampiri, naik lebih tinggi lagi ke level 0 MAX masukkan nilai 4.
5. Begitu seterusnya hingga kita dapatkan hasil akhir dari tree di atas adalah 4.
2.8 Android
Menurut Ed Burnette 2009, Android adalah sistem operasi untuk Mobile atau telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para
pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam perangkat Mobile. Awalnya, Google Inc. membeli Android Inc. Pada saat
perilisan perdana Android pada tanggal 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada
perangkat seluler. Di lain pihak, Google merilis kode-kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google melakukan investasi dengan mengadakan kompetisi aplikasi Mobile terbaik.
Kompetisi diadakan selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.
Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin banyak pihak ketiga yang berminat untuk menyalurkan aplikasi
mereka kepada sistem operasi Android. Aplikasi terkenal yang diubah ke dalam
Universitas Sumatera Utara
sistem operasi Android adalah Shazam, Backgrounds, dan WeatherBug. Sistem operasi Android dalam situs internet juga dianggap penting untuk menciptakan
aplikasi Android asli, contohnya MySpace dan Facebook.
2.8.1 Arsitektur Android
Secara garis besar, Arsitektur Android terbagi menjadi 5 komponen utama, yaitu Application and Widgets, ApplicationFramework, Libaries, Android Runtime, dan
Linux Kernel.
Gambar 2.5 Komponen utama Arsitektur Android Hoog, 2011
Diagram arsitektur pada Gambar 2.5 menunjukkan bahwa komponen utama arsitektur Android dibagi menjadi lima bagian, yaitu:
1. Applications and Widgets
adalah layer di mana kita berhubungan dengan aplikasi saja, di mana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut.
Pada layer tersebut terdapat aplikasi inti seperti email, SMS, kalender, peta, browser, kontak, dan lain sebagainya. Widgets terdiri dari layer-layer seperti EditText, Spinner,
Button, TextView, dan lain-lain.
Universitas Sumatera Utara
2. Applications Frameworks
Android merupakan platform yang terbuka, artinya Android menawarkan serta memberikan kemampuan kepada para pengembangnya untuk membangun aplikasi
yang bagus dan inovatif. Tiap pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm, dan
lain-lain. Pengembang memiliki akses penuh ke API Framework seperti yang dilakukan oleh aplikasi inti. Arsitektur aplikasi dirancang agar kita dengan mudah
dapat menggunakan kembali komponen yang sudah digunakan reusable. Komponen pada Applications Frameworks Android adalah sebagai berikut:
a. Views b. Content Provider
c. Resource Manager d. Notification Manager
e. Activity Manager
3. Libraries
Merupakan layer di mana fitur-fitur Android berada, biasanya para pengembang aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di atas kernel,
layer ini meliputi berbagai library CC++ inti seperti Lib-C dan SSL, serta: - Libraries media untuk pemutaran media audio dan video
- Libraries untuk manajemen tampilan - Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2Ddan 3D
- Libraries SQLite untuk dukungan database - Libraries SSL dan WebKit terintegrasi dengan web browser dan security
- Libraries LiveWebcore mencakup modern web browser dengan engine embeded web view
- Libraries 3D yang mencakup implementasi API OpenGL ES 1.0
4. Android Runtime
Merupakan layer yang membuat aplikasi Android dapat dijalankan di mana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine DVM
merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam android runtime dibagi menjadi dua bagian yaitu:
Universitas Sumatera Utara
- Core Libraries: Aplikasi Android dibangun dalam bahasa Java,sementara Dalvik sebagai mesin virtualnya, bukan JVM Java Virtual Machine. Sehingga
dibutuhkan sebuah libraries yang berfungsi untuk menerjemahkan bahasa JavaC yang ditangani oleh Core Libraries ini.
- Dalvik Virtual Machin: Virtual mesin yang berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, di mana merupakan
pengembangan yang mampu membuat Linux kernel untuk melakukan threading dan manajemen tingkat rendah
5. Linux Kernel
Adalah layer dimana inti dari sistem operasi Android itu berada. Berisi file-file sistem yang mengatur pemrosesan sistem, memory, resource, drivers, dan sistem-sistem
operasi Android lainnya. Linux kernel yang digunakan Android adalah Linux kernel rilis 2.6
2.8.2 Versi Android
Adapun versi-versi Android yang pernah dirilis adalah sebagai berikut:
Tabel 2.1 Versi-versi Android
Platform Nama Kode
Tanggal Rilis Level API
Android 1.0 Apple Pie
23 September 2008 1
Android 1.1 Banana
Bread 9 Februari 2009
2
Android 1.5 Cupcake
30 April 2009 3
Android 1.6 Donut
15 September 2009 4
Android 2.0 Eclair
26 Oktober 2009
5 Android 2.0.1
3 Desember 2009 6
Android 2.1 12 Januari 2010
7 Android 2.2
Froyo 20 May 2010
8 Android 2.3
– Andoroid 2.3.2
Gingerbread 6 December 2010
9 Android 2.3.3
– Android 2.3.7
10
Universitas Sumatera Utara
Platform Nama Kode
Tanggal Rilis Level API
Android 3.0 22 February 2011
11 Android 3.1
Honeycomb 12
Android 3.2 13
Android 4.0 –
Android 4.0.2 Ice Cream
Sandwich 19 October 2011
14 Andorid 4.0.3
15
Android 4.0.4 28 Maret 2012
15 Android 4.1
Jelly Bean 27 Juni 2012
16 Dari Tabel 2.1 dapat dilihat pada setiap perubahan versi android terdapat
perubahan API Level. API Level adalah nilai yang menunjukkan revisi framework pada platform Android. Nomor versi android yang terus berubah dikarenakan
perubahan API Level. Setiap versi android mendukung tepat satu API Level, namun tetap mendukung API Level sebelumnya. API Level akan menentukan apakah suatu
aplikasi bisa dijalankan pada suatu platform Android atau tidak.
2.9 Penelitian Sebelumnya