Algoritma Alpha Beta Pruning Android

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