• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
18
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1Game (Permainan)

Game merupakan suatu sistem yang memiliki aturan-aturan tertentu dimana pemain akan terlibat di dalam suatu permasalahan sehingga dapat menghasilkan suatu hasil yang dapat diukur yaitu menang atau kalah (Salen & Zimmerman, 2003). Game merupakan sesuatu hal yang dimainkan dengan suatu aturan tertentu yang biasa digunakan untuk tujuan kesenangan dan dapat juga digunakan untuk tujuan pendidikan. Game umumnya melibatkan stimulasi mental, fisik, atau keduanya. Banyak game yang dapat membantu mengembangkan keterampilan praktis yang berfungsi sebagai latihan, atau melakukan peran pendidikan, simulational, atau psikologis.

2.1.1 Game Theory (Teori Permainan)

Teori permainan adalah suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi rasional (Leyton-Brown & Shoham, 2008).

Teori permainan dapat diklasifikasikan kedalam beberapa bagian, yaitu: 1. Number of Players

Hampir semua jenis permainan papan yang memiliki sistem pencarian langkah berbasis algoritma pada AI hanya memiliki dua pemain. Sebagian besar bentuk dasar dari algoritma-algoritma tersebut hanya terbatas untuk dua pemain.

(2)

2. Plies, Move and Turns

Suatu hal umum dalam teori permainan adalah giliran (turns) seorang pemain sebagai suatu lapisan (ply) didalam suatu permainan dan pemain yang melakukan gilirannya dalam satu putaran disebut langkah (move).

3. The Goal of the Game

Tujuan umum permainan berbasis strategi adalah untuk mendapatkan kemenangan. Sebagai pemain, pemain menang jika semua lawan pemain kalah. Hal ini dikenal sebagai permainan zero-sum, yaitu kemenangan pemain adalah kekalahan pemain lain. Jika pemain mencetak 1 poin untuk menang, maka akan setara dengan mencetak -1 poin untuk kalah. Untuk kasus permainan non-zero-sum, semua bisa menang atau semua bisa kalah, pemain hanya akan fokus pada kemenangan.

4. Information

Dalam permainan papan seperti catur, Checkers, Go, dan Reversi, kedua pemain mengetahui segala sesuatu tentang kondisi dalam permainan. Pemain mengetahui hasil dari setiap gerakan yang dilakukan dan pilihan yang akan dilakukan pemain untuk langkah berikutnya. Pemain mengetahui semua ini dari awal permainan. Jenis permainan ini disebut "informasi yang sempurna".

Sedangkan dalam sebuah permainan seperti Backgammon, terdapat unsur acak didalamnya. Pemain sebelumnya tidak mengetahui langkah yang dapat diambil oleh pemain karena langkah tersebut bergantung pada nilai dadu yang dimainkan pemain. Pemain juga tidak dapat mengetahui langkah yang dapat diambil oleh lawan, karena pemain tidak dapat memprediksi nilai dadu lawan. Jenis permainan ini disebut “informasi yang tidak sempurna”.

Kebanyakan permainan berbasis strategi merupakan “informasi yang tidak sempurna”, karena terdapat beberapa unsur acak dalam melakukan suatu tindakan. Permainan dengan “informasi yang sempurna” akan lebih mudah untuk dianalisa. Banyak algoritma dan teknik untuk permainan berbasis AI

(3)

untuk jenis permainan lain, tetapi biasanya hasil yang diperoleh akan menjadi lebih buruk (Millington & Funge, 2009).

2.2 Checkers (English Draughts)

Permainan Checkers dalam versi English Draughts / American Checkers adalah permainan yang dimainkan oleh dua orang pemain. Permainan ini dimainkan diatas papan persegi yang terdiri dari 8 baris dan 8 kolom (total 64 kotak), berbeda dengan versi International Draughts yang dimainkan pada papan yang terdiri dari 10 baris dan 10 kolom. Checkers (English Draughts) dimainkan dengan koin berwarna gelap dengan lawannya koin berwarna terang, dan untuk masing-masing pemain mempunyai koin sebanyak 12 buah. Tujuan dari permainan ini adalah menemukan cara terbaik untuk memakan koin lawan hingga tidak ada yang tersisa, atau memaksa koin lawan yang tersedia agar tidak dapat melakukan gerakan. Masing-masing koin tersebut akan disusun pada setiap kotak berwarna gelap di 3 baris terdekat daerah awal permainan masing-masing. Baris yang terdekat pada sisi masing-masing pemain disebut “kings row” (baris raja). Untuk lebih jelasnya, posisi awal dalam permainan Checkers dapat dilihat pada Gambar 2.1.

(4)

2.2.1 Aturan Permainan Checkers

Sesuai dengan klasifikasi pada teori permainan, maka aturan permainan Checkers adalah sebagai berikut (Schaeffer, 2008):

1. Number of Players

Checkers merupakan permainan yang dimainkan oleh dua orang pemain. Salah satu pemain memiliki koin berwarna gelap dan yang lain memiliki koin berwarna terang. Setiap pemain memiliki 12 koin yang disusun pada setiap kotak berwarna gelap yang berada pada 3 baris daerah awal masing-masing pemain.

2. Plies, Move and Turns

Pemain yang menggunakan koin berwarna gelap akan bermain terlebih dahulu. Kemudian dilanjutkan dengan pemain dengan koin berwarna terang, begitu seterusnya secara berulang-ulang. Pemain melakukan langkah bergantian sampai permainan berakhir. Koin pada permainan Checkers dapat bergerak dengan 2 cara, yaitu:

a. Pergerakan dasar pada Checkers yaitu koin bergerak maju satu langkah ke depan secara diagonal, mengisi kotak berwarna gelap.

b. Koin melompat melewati koin lawan secara diagonal ke depan, tetap mengisi kotak gelap berikutnya yang dalam keadaan kosong. Koin yang baru saja melompati koin lawan tersebut dapat terus berulang melompati koin lawan berikutnya dalam satu kesempatan (berada pada posisi diagonal kanan atau kiri bagian depan) sampai langkah tidak dapat dilanjutkan dengan sebuah lompatan lagi. Koin yang dilangkahi oleh koin lawan harus meninggalkan papan, dengan istilah bahwa koin pelompat telah “menangkap” koin yang dilompati. Pada posisi pilihan yang tersedia antara melakukan lompatan atau melakukan pergerakan diagonal dasar, pemain diharuskan memilih gerakan lompatan walaupun gerakan tersebut tidak menguntungkan.

(5)

3. The Goal of the Game

Permainan Checkers akan berakhir dengan kondisi sebagai berikut:

a. Pemain yang berhasil menghabiskan semua koin lawan adalah pemenang.

b. Pemain yang berhasil membuat lawan tidak dapat melakukan langkah lagi maka telah memenangkan permainan.

c. Permainan berakhir seimbang jika kedua pemain dalam kondisi sama-sama tidak dapat melakukan langkah lagi untuk menang.

4. Information

Permainan Checkers adalah permainan yang memiliki “informasi yang sempurna”, dimana pemain dapat mengetahui langkah apa yang dapat terjadi berikutnya jika suatu langkah diambil. Hal ini memberikan pertimbangan pada setiap langkah yang akan diambil, dimana hal tersebut sangat diperlukan dalam menentukan strategi untuk mengalahkan lawan karena permainan Checkers tidak memiliki batasan waktu dalam permainannya.

2.3Kecerdasan Buatan

Kecerdasan Buatan (Artificial Intelligence) merupakan salah satu bidang ilmu komputer yang didefinisikan sebagai kecerdasan yang dibuat untuk suatu sistem dengan menggunakan algoritma tertentu sehingga sistem tersebut seolah-olah dapat berfikir seperti manusia (Coppin, 2004). Menurut Russell dan Norvig (2010), kecerdasan buatan berkaitan dengan bagaimana komputer melakukan sesuatu tindakan rasional yang dapat didefinisikan sebagai cerdas. Definisi kecerdasan buatan lain juga diungkapkan oleh Rich dan Knight (1991), kecerdasan buatan merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia.

(6)

2.3.1 Penggunaan Kecerdasan Buatan di Berbagai Bidang

Kecerdasan buatan merupakan suatu hal yang dikembangkan pada sebuah sistem oleh para ahli untuk masa depan. Beberapa bidang perkembangan pada kecerdasan buatan adalah sebagai berikut (Kusumadewi, 2003), yaitu:

1. Sistem Pakar (Expert System)

Sistem pakar adalah program penasehat berbasis komputer yang mencoba meniru proses berpikir dan pengetahuan dari seorang pakar dalam menyelesaikan masalah-masalah spesifik. Contohnya adalah sistem pakar menentukan suatu jenis penyakit, sistem pakar untuk bisnis dan sebagainya. 2. Bahasa Alamiah (Natural Languange)

Suatu teknologi yang memberikan kemampuan kepada komputer untuk memahami bahasa manusia sehingga pengguna komputer dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

3. Robotik dan Sistem Sensor

Sistem sensor, seperti sistem vision, sistem tactile, dan sistem pemrosesan sinyal jika dikombinasikan dengan AI, dapat dikategorikan kedalam suatu sistem yang luas yang disebut sistem robotik.

4. Computer Vision

Computer Vision merupakan suatu sarana untuk dapat menginterpretasikan gambar atau objek-objek yang tampak melalui komputer.

5. Permainan (Games)

Permainan game (Game Playing) merupakan suatu bidang AI yang sangat populer berupa permainan antara manusia melawan mesin yang memiliki intelektual untuk berpikir. Sebagai contohnya adalah permainan Checkers.

(7)

2.4 Pemecahan Masalah

Pencarian adalah suatu proses menemukan solusi yang tepat untuk sebuah pemecahan masalah. Dalam kecerdasan buatan, metode pencarian sangat menentukan tingkat sistem cerdas tersebut. Teknik pencarian ini terbagi atas 2, yaitu blind search (pencarian buta) dan heuristic search (pencarian heuristik). Pencarian buta merupakan pencarian yang penelusurannya dimulai dengan tidak ada informasi awal yang digunakan dalam proses pencarian. Contohnya adalah Algoritma Breadth-First-Search (BFS), Depth-First-Search (DFS), dan Iterative Deepening Search (IDS) ((Russell & Norvig, 2010). Sedangkan pencarian heuristik merupakan pencarian yang penelusurannya dimulai dengan adanya informasi awal yang digunakan dalam proses pencarian. Contohnya adalah Hill Climbing, Tabu Search, Genetic Algorithm, Ant Algorithm dan Simulated Annealing (Kusumadewi & Purnomo, 2005).

Kualitas hasil pencarian pada suatu permainan bergantung kepada seberapa jauh algoritma tersebut dapat melihat langkah ke depan. Untuk Permainan dengan kedalaman atau jauhnya penglihatan langkah ke depan yang tidak terbatas, butuh waktu sangat lama untuk mencari sebuah pemecahan masalah. Untuk menghindarkan pencarian menemukan jalan buntu atau terlalu lama mencari solusi, maka dapat digunakan algoritma Iterative Deepening Search (Millington, 2010).

2.5 Iterative Deepening Search

Salah satu contoh dari blind search adalah Iterative Deepening Search (IDS) yang merupakan modifikasi dari algoritma Depth-First Search (DFS), yaitu sebuah teknik pencarian yang menggabungkan kelebihan Breadth-First Search (complete dan optimal) dengan kelebihan Depth-First Search (space complexity yang rendah) (Coppin, 2004).

Dengan kelebihan pada Depth-First Search, maka IDS hanya membutuhkan memori yang kecil karena hanya simpul dalam path saja yang disimpan. Sama halnya

(8)

dengan Breadth-First Search, Iterative Deepening Search dapat menemukan solusi terbaik karena pencarian dilakukan secara merata terlebih dahulu hingga batas bertambah dan perulangan terjadi, ini mendukung IDS untuk menemukan solusi tanpa akan menemukan jalan buntu jika percabangan ke bawah pada pohon tidak terbatas (Russell & Norvig, 2010).

2.5.1 Cara Kerja Algoritma IDS

Metode pencarian pada IDS menggunakan metode pencarian pada DFS, yaitu pencarian pada sebuah pohon dengan menelusuri satu cabang sebuah pohon sampai menemukan solusi. Pencarian dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Node yang kiri dapat dihapus dari memori. Demikian seterusnya sampai ditemukan solusi. Jika solusi ditemukan maka tidak diperlukan proses backtracking (penelusuran balik untuk mendapatkan jalur yang diinginkan). Akan tetapi, dalam metode pencarian IDS, pencarian mencoba menemukan batas kedalaman yang terbaik dengan terus menelusuri batas kedalaman satu per satu, pencarian dilakukan secara iteratif dimulai dari batasan level 0. Jika solusi belum ditemukan, maka dilakukan iterasi berikutnya dengan batasan level 1, demikian seterusnya sampai menemukan solusi(Russel & Norvig, 2010). Gambar 2.2 mengilustrasikan tentang bagaimana cara kerja algoritma IDS.

Gambar 2.2 Penelusuran pohon permainan dengan IDS kedalaman 0

Penelusuran dimulai dengan batas maksimal kedalaman 0, cek apakah merupakan solusi, solusi dalam hal ini adalah permainan berakhir dan hanya koin putih yang tersisa. Jika bukan merupakan solusi seperti pada Gambar 2.2, yang menunjukkan hanya kondisi awal suatu permainan, maka pohon pencarian ditelusuri

(9)

kembali dari awal dengan batas maksimal kedalaman berikutnya pada pohon pencarian tersebut yaitu pada kedalaman 1 seperti pada Gambar 2.3.

Gambar 2.3 Penelusuran pohon permainan dengan IDS kedalaman 1

Penelusuran di setiap proses pencariannya menggunakan cara kerja Depth-First Search (DFS), yaitu dengan menelusuri satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Demikian seterusnya sampai ditemukan solusi (Cormen et al., 2009). Pada Gambar 2.3, penelusuran dimulai dari node a kemudian ke node b, dan penelusuran tidak menemukan solusi pada batas kedalaman 1. Maka pencarian kembali lagi diulang dari awal, tetapi dengan batas maksimal kedalaman sama dengan 2. Penelusuran dimulai dari a, kemudian c, b, d. Akan tetapi, karena tidak juga menemukan solusi pada kedalaman 2 seperti yang dapat kita lihat pada Gambar 2.4, maka penelusuran diulang kembali dari awal, dengan batas maksimal kedalaman sama dengan 3.

(10)

Gambar 2.5 Penelusuran pohon permainan dengan IDS kedalaman 3

. Pada Gambar 2.5, solusi ditemukan pada node f dalam perulangan ketiga, penelusuran pada batas kedalaman sama dengan 3. Maka dari itu, penelusuran dihentikan dan tidak perlu melakukan perulangan kembali.

Iterative Deepening Search melakukan pencarian berulang-ulang dengan menambah batas kedalaman setiap mengulang pencarian, dan akhirnya menemukan solusi pada penelusuran dengan batas kedalaman maksimal 3. Solusi ditemukan pada percabangan kanan. Pencarian ini akan menemukan solusi lebih cepat daripada penelusuran pada DFS, jika solusi tidak berada pada node yang dalam pada simpul yang paling kiri (Russel & Norvig, 2010).

2.6Minimax

Algoritma Minimax merupakan salah satu algoritma yang digunakan untuk meminimalkan kemungkinan kekalahan dan memaksimalkan kemungkinan kemenangan. Algoritma ini diterapkan dalam permainan yang dimainkan oleh dua

(11)

kondisi apabila terdapat pemain yang mengalami keuntungan, pemain lain akan mengalami kerugian senilai dengan keuntungan yang diperoleh lawan dan sebaliknya (Tyugu, 2007).

Algoritma Minimax dapat menghasilkan pilihan langkah yang baik dengan mengasumsikan bahwa pemain lawan akan selalu memilih langkah terbaik untuk dirinya dan terburuk bagi komputer. Prinsip dasar pada algoritma Minimax ini adalah jalur yang akan dipilih oleh komputer merupakan jalur maksimum (max node) yang akan menghasilkan nilai maksimum di jalur tersebut, dan saat lawan akan bermain akan meminimalkan (min node) nilai komputer. Jadi, komputer bertujuan untuk memaksimalkan kemungkinan nilai rendah yang akan diperoleh komputer. Namun, algoritma Minimax memiliki kelemahan. Algoritma ini menelusuri seluruh node yang ada pada pohon pencarian mulai dari kedalaman awal hingga kedalaman akhir, sehingga waktu yang dibutuhkan relatif lama (Coppin, 2004).

2.6.1 Cara Kerja Minimax

Algoritma Minimax merupakan algoritma dasar pencarian DFS untuk melakukan traversal dalam pohon. DFS akan mengekspansi simpul paling dalam terlebih dahulu. Setelah simpul akar dibangkitkan, algoritma ini akan membangkitkan simpul pada tingkat kedua, yang akan dilanjutkan pada tingkat ketiga, dst. Untuk proses dan cara kerja algoritma yang lebih jelas, dapat dilihat pada Gambar 2.6 yang merepresentasikan cara kerja algoritma Minimax (Ertel, 2011).

(12)

Dari Gambar 2.6, proses pencarian dimulai dari jalur paling kiri terlebih dahulu, sehingga DFS akan menelusuri simpul paling kiri bawah yaitu 0. Nilai 0 disimpan sebagai nilai minimum sementara karena berada di tingkat min, kemudian DFS melakukan backtrack dan menelusuri simpul yang bertetangga dengan simpul 0 yaitu simpul 7. Karena nilai 0 lebih kecil dari nilai 7, maka nilai 7 tidak disimpan. Lalu DFS akan melakukan backtrack ke tingkat max sehingga nilai 0 yang diperoleh akan disimpan sebagai nilai maksimum sementara. Untuk simpul 9 dan 1, nilai 1 yang akan disimpan karena merupakan nilai minimum di tingkat min. Saat mencapai tingkat max, sudah ada nilai maksimum sementara yaitu 0, namun karena nilai 1 lebih besar daripada nilai 0, maka nilai 0 akan digantikan dengan nilai 1. Nilai 1 akan disimpan sebagai nilai maksimum sementara. Untuk simpul 6 dan 7, nilai 6 yang akan disimpan karena merupakan nilai minimum di tingkat min. Saat mencapai tingkat max, sudah ada nilai maksimum sementara yaitu 1, namun karena nilai 6 lebih besar daripada nilai 1, maka nilai 1 akan digantikan dengan nilai 6. Nilai 6 akan disimpan sebagai nilai maksimum sementara ditingkat max. Lalu DFS akan melakukan backtrack ke tingkat min sehingga nilai 6 yang diperoleh akan disimpan sebagai nilai minimum sementara.

Untuk simpul 3 dan 4, nilai 3 yang akan disimpan karena merupakan nilai minimum di tingkat min. Saat mencapai tingkat max, nilai 3 akan disimpan sebagai nilai maksimum sementara ditingkat max. Untuk simpul 1, 5 dan 8, nilai 1 yang akan disimpan karena merupakan nilai minimum di tingkat min. Saat mencapai tingkat max, sudah ada nilai maksimum sementara yaitu 3, namun karena nilai 3 lebih besar daripada nilai 1, maka nilai 3 akan tetap disimpan sebagai nilai maksimum sementara ditingkat max. Lalu DFS akan melakukan backtrack ke tingkat min, saat mencapai tingkat min, sudah ada nilai minimum sementara yaitu 6, namun karena nilai 3 lebih kecil dari nilai 6, maka nilai 3 akan digantikan dengan nilai 6. Nilai 3 akan disimpan sebagai nilai minimum sementara ditingkat min. Lalu DFS akan melakukan backtrack ke tingkat max sehingga nilai 3 yang diperoleh akan disimpan sebagai nilai maksimum sementara ditingkat paling atas karena merupakan tingkat max. Lalu penelusuran jalur kanan akan dilakukan dengan cara yang sama seperti penelusuran jalur kiri sehingga diperoleh nilai 2. Karena nilai maksimum sementara pada tingkat paling atas adalah nilai 3, maka nilai 3 akan tetap disimpan sebagai nilai maksimum ditingkat max.

(13)

Dengan demikian, jalur yang akan dipilih menggunakan algoritma Minimax adalah jalur sebelah kiri karena AI mendapatkan nilai 3. Nilai tersebut merupakan nilai terbaik dengan pertimbangan evaluasi nilai dari beberapa langkah ke depan. Nilai terbaik dalam Minimax merupakan perhitungan pada pilihan langkah yang paling banyak mendapatkan angka dengan langkah yang paling sedikit kehilangan angka (Millington, 2009).

2.7Minimax dan Iterative Deepening Search

Seperti yang dibahas sebelumnya bahwa kualitas suatu solusi pada pohon permainan bergantung pada seberapa jauh pohon tersebut dapat melihat langkah ke depan. Untuk permainan yang memiliki percabangan yang tidak terhingga, sangat memakan waktu untuk menelusuri pohon permainan semakin ke dalam. Perancangan suatu permainan membutuhkan efektifitas waktu dalam pencarian, agar pencarian langkah tidak memungkinkan untuk menemukan jalan buntu atau menghabiskan terlalu banyak waktu. Minimax yang pada dasarnya sudah menentukan kedalaman pencariannya, tidak menjamin solusi akan ditemukan dengan cepat.

Untuk menghindari agar tidak terlalu lama dalam pencarian solusinya, maka dapat digunakan Iterative Deepening Search yang dikombinasikan dengan Minimax, disebut Iterative Deepening Minimax Search (Millington, 2009).

2.7.1 Cara Kerja Iterative Deepening Minimax Search

Iterative Deepening Minimax Search menelusuri pohon permainan dengan pencarian dasar pada Minimax dan secara berulang melakukan penambahan kedalaman. Pencarian dilakukan dengan melihat satu langkah ke depan terlebih dahulu, kemudian jika waktu atau batasan yang disesuaikan masih tersedia, maka dapat melakukan pencarian lagi dengan melihat dua langkah ke depan, dan begitu seterusnya sampai dengan waktu atau batasan yang ditetapkan telah habis (Millington, 2009).

(14)

2.8Android

Android adalah sebuah platform open source komprehensif yang dirancang untuk perangkat mobile. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk perangkat mobile. Kemudian untuk mengembangkan Android tersebut, dibentuklah Open Handset Alliance. Tujuan dari pengembangan ini adalah untuk mempercepat inovasi pada perangkat mobile dan menawarkan kepada konsumen suatu pengalaman dalam pemakaian perangkat mobile yang lebih beragam atau luas, lebih murah, dan lebih baik (Gargenta, 2011).

Saat ini Android sedang merevolusi dunia mobile. Untuk pertama kalinya, Android merupakan sebuah platform open source yang memisahkan perangkat keras dari perangkat lunak yang berjalan pada perangkat keras tersebut. Hal ini memungkinkan beberapa perangkat dalam jumlah yang besar untuk menjalankan aplikasi yang sama dan menciptakan ekosistem yang jauh lebih beragam untuk para pengembang dan konsumen.

2.8.1 Arsitektur Android

Komponen utama platform Android dibagi menjadi lima bagian (Collins et al., 2012), yaitu:

1. Application

Beberapa jenis Application yang terdapat pada Android memiliki sedikit perbedaan, yaitu aplikasi open source seperti Browser, Camera, Gallery, Music, Phone dan banyak lagi. Aplikasi open source biasanya terdapat pada setiap Android. Aplikasi Google non-open source seperti Market, Gmail, Maps, YouTube dan banyak lagi. Banyak operator atau produsen handset aplikasi yang menyertakan aplikasi tertentu (seperti Music Player AT&T, Navigator Verizon, atau TV Sprint) dan aplikasi pendukung ketiga yang tersedia di Android Market. Ini merupakan aplikasi bebas dari Google seperti

(15)

Goggles dan Listen, aplikasi resmi dari layanan sosial seperti Twitter dan Facebook, dan ribuan pilihan lainnya.

2. Application Frameworks

Application Frameworks merupakan aplikasi pendukung Android yang digunakan untuk menjalankan aplikasi di sistem operasi Android. Application Frameworks menyediakan bagian terintegrasi dari SDK platform dan API yang memungkinkan untuk melakukan interaksi tingkat tinggi dengan sistem dari dalam aplikasi.

3. Middleware Libraries

Dibawah Application Frameworks terdapat perangkat lunak yang secara kolektif disebut Middleware. Middleware adalah komponen perangkat lunak yang berada diantara Operating System dan Application / Application Frameworks. Middleware termasuk libraries untuk banyak fungsi (penyimpanan data, graphics rendering, web browsing, dan sebagainya) dan memiliki rincian khusus yang disebut Dalvik runtime. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. 4. Operating System

Di bagian paling bawah dari platform Android terdapat Operating System. Operating System pada Android berbasis Linux dan dapat melakukan tugas yang sama seperti Operating System pada komputer desktop konvesional. Operating System berinteraksi dengan perangkat keras melalui devices drivers (seperti audio dan video) mengolah input, memproses aplikasi, mengatur data dan jaringan I/O, dan sebagainya.

5. Software Development Kit (SDK) dan Developer Tools

Saat ini disediakan Android SDK sebagai alat bantu API untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi-netral, Android memberikan kesempatan untuk membuat aplikasi yang dibutuhkan yang bukan merupakan aplikasi bawaan Handphone/Smartphone.

(16)

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 Distribusi

Android 1.5 Cupcake 30 April 2009 3 0.6%

Android 1.6 Donut 15 September 2009 4 1.0%

Android 2.1 Éclair 26 October 2009 7 7.6%

Android 2.2 Froyo 20 May 2010 8 27.8%

Android 2.3 – Andoroid 2.3.2 Gingerbread 6 December 2010 9 0.5% Android 2.3.3 – Android 2.3.7 10 58.1%

Android 3.0 Honeycomb 22 February 2011 11 0.1%

Android 3.1 12 1.4% Android 3.2 13 1.9% Android 4.0 – Android 4.0.2 Ice Cream Sandwich 19 October 2011 14 0.3% Andorid 4.0.3 15 0.7% 2.8.3 Keunggulan Android

Beberapa keunggulan Android dari platform lain antara lain (Safaat, 2011): 1. Lengkap (Complete Platform)

Para desainer dapat melakukan pendekatan yang komprehensif ketika mereka sedang mengembangkan platform Android. Android merupakan sistem operasi yang aman dan banyak menyediakan tools dalam membangun software dan untuk pengembangan aplikasi.

2. Terbuka (Open Source Platform)

Platform Android disediakan melalui lisensi open source. Pengembang dapat dengan bebas untuk mengembangkan aplikasi. Android sendiri menggunakan Linux Kernel 2.6.

(17)

3. Bebas (Free Platform)

Android adalah platform / aplikasi yang bebas untuk developer. Tidak ada lisensi untuk dikembangkan pada platform Android. Tidak ada biaya keanggotaan diperlukan. Tidak diperlukan biaya pengujian. Tidak ada kontrak yang diperlukan. Android dapat didistribusikan dan diperdagangkan dalam bentuk apapun.

2.8.4 Eclipse IDE (Integrated Development Environment)

Integrated Development Environment (IDE) adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak.

Eclipse adalah sebuah IDE untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:

1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

2. Multi-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis pemrograman lainnya, seperti C/C++, Cobol, Phyton, Perl, PHP, dan lain sebagainya.

3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse dapat digunakan juga untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

2.8.5 Android SDK (Sofrware Development Kit)

Android-SDK adalah tools API (Application Programming Interface) yang diperlukan untuk mengembangkan aplikasi pada platform Android menggunakan bahasa pemrogrman Java. Android merupakan subset perangkat lunak untuk perangkat

(18)

mobile yang meliputi sistem operasi, middleware, dan aplikasi kunci yang dirilis oleh Google. Sebagai platform aplikasi-netral, Android memberi kesempatan untuk membuat aplikasi yang dibutuhkan yang bukan merupakan aplikasi bawaan dari Handphone/Smartphone.

2.8.6 ADT (Android Development Tools)

ADT (Android Development Tools) adalah plugin untuk Eclipse yang didesain untuk pengembangan aplikasi Android. ADT memungkinkan Eclipse untuk digunakan dalam membuat aplikasi Android baru, membuat User Interface, menambahkan komponen berdasarkan framework API Android, debug aplikasi, dan pemaketan aplikasi Android.

2.8.7 XML (Extensible Markup Language)

Extensible Markup Language (XML) adalah bahasa markup serba guna yang direkomendasikan oleh W3C (World Wide Web Consortium) untuk mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti halnya HTML (Hypertext Markup Language) namun penggunaanya tidak terbatas pada tampilan web saja.

Layout mendefenisikan struktur visual pada user interface (UI), seperi UI dalam activity atau app widget. Pengembang aplikasi Android dapat menggunakan XML dalam mendeklarasikan elemen-elemen UI yang dibangun. Android menyediakan pembendaharaan kata pada XML.

Kegunaan menggunakan XML dalam pendeklarasian elemen-elemen UI adalah memungkinkan pengembang aplikasi Android agar lebih mudah dalam memisahkan tampilan suatu aplikasi dengan code yang mengontrol perilaku tampilan aplikasi tersebut. Pendeskripsian UI yang merupakan bagian yang terpisah dari kode aplikasinya, dapat dimodifikasi dan diadaptasi tanpa harus memodifikasi source code

Gambar

Gambar 2.1 Kondisi awal permainan Checkers
Gambar 2.4 Penelusuran pohon permainan dengan IDS kedalaman 2
Gambar 2.5 Penelusuran pohon permainan dengan IDS kedalaman 3
Gambar 2.6 Cara kerja algoritma Minimax (Ertel, 2011)
+2

Referensi

Dokumen terkait

Pada Tabel di atas dapat dilihat kinerja guru saat pembelajaran materi sistem peredaran darah dengan penerapan pendekatan Jelajah Alam Sekitar (JAS) dan metode role playing

Guru Biologi SMP N 1 Gabus juga berpendapat bahwa dengan pembelajaran menggunakan metode simulasi taman sirkulasi berbasis bioedutainment dapat meningkatkan

www.aidilakbar.com | Bila Anda tidak ingin membayar premi asuransi setelah masa tenggang waktu, perusahaan asuransi secara otomatis akan membayar premi asuransi

Maksud dari buku ini adalah untuk dijadikan pegangan dalam perencanaan dan pelaksanaan kegiatan pembangunan sarana prasarana dan utilitas umum dikawasan permukiman

Rapat Evaluasi ini sangat penting dilakukan karena selain untuk membagi/memberikan informasi hasil-hasil kegiatan yang telah dicapai juga untuk melaksanakan evaluasi

Jenis kegiatan lingkungan atau infrastruktur atau sarana & prasarana yang dibangun oleh KSM/PANITIA dalam PNPM Mandiri Perkotaan pada dasarnya bersifat sangat luwes

• Diketahuinya jenis bahan yang digunakan, misalnya Kuda-kuda/gelagar/lantai kayu kelas II, atap seng/genteng beton, dll. a) Desain, berdasarkan hasil Survey kondisi lapangan

Berdasarkan pengelompokan kegiatan/unit kerja dalam struktur organisasi maka disusun tugas-tugas atau pekerjaan yang akan dilakukan oleh setiap orang/unit kerja dalam