BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 1 PENDAHULUAN Latar Belakang

ANDROID Sejarah, Arsitektur,Platform Android By Si_pit

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. mengganti teks dari suatu bahasa ke teks dalam bahasa lain (Catford,

BAB I PENDAHULUAN. Dalam beberapa tahun terakhir Artificial Intelligence (AI) atau kecerdasan

BAB II LANDASAN TEORI

BAB II. KAJIAN PUSTAKA

BAB I PENDAHULUAN 1.1 Latar Belakang

PENERAPAN ALGORITMA GREEDY PADA PERMAINAN MILL BERBASIS ANDROID SKRIPSI SUANDO H SIMANJUNTAK

BAB 1 PENDAHULUAN Latar Belakang

BAB 2 LANDASAN TORI. 2.1 Kecerdasan Buatan

PERTEMUAN KE 1 Pengenalan Aplikasi Mobile. Mahasiswa diharapkan dapat memahami dan mengetahui tentang aplikasi mobile.

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Penerapan Algoritma Greedy dalam Permainan Othello

BAB II KAJIAN PUSTAKA. bimbingan kepada dosen pembimbing tugas akhir, kartu konsultasi digunakan

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

PENGENALAN ANDROID AHMAD ZAINUDIN. Politeknik Elektronika Negeri Surabaya

BAB II KAJIAN PUSTAKA. berbasis linux yang mencakup sistem operasi, middleware dan aplikasi.

BAB II LANDASAN TEORI. masuk ke universitas di Amerika atau negara-negara lain di dunia. Ujian ini

BAB 1 PENDAHULUAN 1.1. Latar Belakang

BAB 2 TINJAUAN PUSTAKA. Android adalah sebuah sistem operasi untuk perangkat mobile berbasis Linux

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II KAJIAN PUSTAKA

BAB I PENDAHULUAN 1.1 Latar Belakang

Penerapan Algoritma Greedy dalam Permainan Bantumi

BAB I PENDAHULUAN. mutlak. IM berbeda dengan dari cara penggunaannya, IM bisa dikelompokkan

GENERATOR ANGKA ACAK DALAM GAME SUDOKU DENGAN METODE BACKTRACKING PADA ANDROID OS MOBILE

BAB II LANDASAN TEORI. komponen yang berguna melakukan pengolahan data meupun kegiatan-kegiatan. seperti pembuatan dokumen atau pengolahan data.

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

Penerapan Algoritma Greedy dalam Permainan Connect 4

Bab 2 LANDASAN TEORI

DAFTAR TABEL Tabel 4. 1 Tabel 4. 2 Tabel 4. 3

BAB II KAJIAN PUSTAKA

BAB II LANDASAN TEORI

Bab 2 LANDASAN TEORI

DASAR TEORI. 2.1 Android. Pada bab ini akan diuraikan beberapa hal penting berkenaan dengan dasar

BAB III LANDASAN TEORI. dari masing-masing pendekatan, untuk dapat menghasilkan suatu keakuratan nilai

linux yang mencakup sistem operasi, middleware dan aplikasi. Andorid mereka. Awalnya, Google Inc. Membeli Android Inc.

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Tinjauan pustaka yang dipergunakan dalam penelitian disajikan melalui

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

Bab 2 Tinjauan Pustaka 1.1 Penelitian Terdahulu

bahasa pemrograman, yaitu language software, yang dapat berbentuk assembler, compiler maupun interpreter. Jadi language software merupakan

BAB I PENDAHULUAN. perkembangan teknologi yang ada. Semakin banyak fitur yang dibenamkan ke

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Penerapan Algoritma Greedy untuk Permainan Halma

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar belakang masalah

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR

Penerapan Algoritma Greedy dan Backtrackng Dalam Penyelesaian Masalah Rubik s Cube

BAB II LANDASAN TEORI. Indekos = kos yaitu tinggal di rumah orang lain dengan atau tanpa makan

BAB 2 LANDASAN TEORI

Praktikum 8 Dasar Pemprograman Android

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB 3 LANDASAN TEORI

Implementasi Algoritma Greedy Dua Sisi pada Permainan 2048

BAB II DASAR TEORI. bersifat umum/non-spesifik (general purpose), dan secara khusus dirancang untuk

BAB II TINJAUAN PUSTAKA

Implementasi Algoritma Greedy pada Permainan Ludo

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB 2 TINJAUAN PUSTAKA

ANALISA PENGGUNAAN ALGORITMA GREEDY PADA PERMAINAN FIVE LINK

Pemilihan Monster yang Akan Digunakan dalam Permainan Yu-Gi-Oh! Capsule Monster Coliseum

BAB 1 PENDAHULUAN. Semakin berkembangnya teknologi pada era ini telah membuat banyak

PORTAL PENCARIAN PROPERTI BERBASIS ANDROID DENGAN MEMANFAATKAN GPS DAN GOOGLE MAPS API

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN CONGKLAK

BAB 2 TINJAUAN PUSTAKA

UKDW BAB 1 PENDAHULUAN Latar Belakang

BAB II KAJIAN PUSTAKA. Fitnes adalah kegiatan olahraga pembentukan otot-otot tubuh/fisik yang

Penggunaan Algoritma Greedy Untuk Menyelesaikan Permainan Cluedo

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. Permainan antara manusia melawan komputer menjadi sangat populer

Perancangan Aplikasi Permainan Reversi Menggunakan Metode Greedy Edy 1), Wilianto 2), Yuliana 3)

PERANCANGAN APLIKASI PENJAWAB OTOMATIS VIA SMS BERBASIS ANDROID

BAB II LANDASAN TEORI. Sistem dapat diartikan sebagai serangkaian komponen-komponen yang

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

GAME CATUR JAWA WITH REINFORCEMENT LEARNING

Program permainan (game) merupakan salah satu implementasi dari. bidang ilmu komputer. Perkembangan permainan pada masa kini sudah sangat

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB II TINJAUAN PUSTAKA. setingkat propinsi yang ada di Indonesia. DIY memiliki berbagai predikat, seperti

BAB III LANDASAN TEORI

Bab 2 Tinjauan Pustaka 2.1 Penelitian Sebelumnya

Koleksi Program Tugas Akhir dan Skripsi dengan

BAB 1 PENDAHULUAN Latar Belakang

Perbandingan Algoritma Greedy & Bactracking Dalam Penyelesaian Permainan 2048

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

DAFTAR ISI HALAMAN JUDUL...

I/O (INPUT/OUTPUT) SCHEDULING PADA PERANGKAT ANDROID DENGAN FLASH MEMORY

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

BAB I PENDAHULUAN. sekolah menengah atas maupun sekolah kejurusan lainnya di Surakarta. Pesat

BAB IV HASIL DAN UJI COBA

BAB 2 LANDASAN TEORI

Penerapan Algoritma Greedy dalam Permainan MarketGlory

PERANCANGAN DAN IMPLEMENTASI TRY OUT (UJI COBA) SNMPTN (Seleksi Nasional Masuk Perguruan Tinggi Negeri) ONLINE PADA ANDROID

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Transkripsi:

BAB 2 LANDASAN TEORI 2.1. Kecerdasan Buatan (Artificial intelligence) Kecerdasan buatan atau artificial intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer semakin mendominasi kehidupan umat manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia (Kusumadewi,2003). 2.2. Game Playing Dalam beberapa tahun terakhir Artificial intelligence (AI) telah menjadi garis depan dalam industri game. Hampir semua game sekarang membutuhkan AI untuk membuat komputer seolah-olah tampak cerdas. Konsep cerdas dibutuhkan untuk mengontrol dan mengklasifikasi karakter pemain atau bukan. Program pertama yang dibuat AI adalah game playing. Sejarah teori game dimulai dari tahun 1950, ketika komputer mulai dapat diprogram. Game pertama yang menggunakan AI adalah catur. Inisiator teori game dalam AI adalah Konard Zuse, Claude Shannon, Norbert Wiener, dan Alan Turing. Sejak saat itu, mulai ada kemajuan dalam standard bermain game, sampai-sampai komputer dapat mengalahkan manusia dalam permainan catur, dan dalam banyak game kompetitif lainnya(sutojo,2011). Game diwakili oleh pencarian dimana node-node menunjukkan semua kemungkinan keadaan game dan sisi-sisi (edges). mewakili langkah antara

7 kedua pemain. Game Playing merupakan problem pencarian yang didefinisikan oleh beberapa komponen berikut ini. 1. Keadaan awal (initial state), yaitu keadaan yang mendefinisikan konfigurasi awal permainan dan mengidentifikasi pemain pertama yang bergerak. 2. Fungsi Penerus (successor function), yang bertugas mengidentifikasi kemungkinan-kemungkinan yang dapat dicapai dari keadaan saat ini. 3. Goal test, yang bertugas untuk memeriksa apakah suatu keadaan tertentu adalah kedaan tujuan atau bukan. 4. Path Cost, yang memberikan nilai numerik untuk keadaan-keadaan dalam permainan. 2.3. Mobile Games Mobile games secara garis besar diartikan sebagai permainan yang dimainkan pada perangkat mobile seperti telepon genggam, PDA, smartphone, ataupun perangkat permainan portabel (contoh Nintendo Gameboy dan PlayStation Portable). Penelitian, pengembangan, dan pengujian terhadap mobile games telah membawa masalah dan pertanyaan yang tidak bisa diselesaikan oleh model desain lama. Mobile games mengubah hubungan antara manusia dan komputer yang berakibat tidak hanya dari cara bermain tetapi desain antarmuka dan juga interaksi struktur juga berubah. Kegiatan pemain berubah. Pemain tidak duduk di depan perangkat mereka lagi tetapi benar-benar bisa bergerak bebas sambil bermain (Grueter et al, 2005). 2.4. Permainan Mill Permainan Mill adalah pengembangan dari penggabungan konsep permainan Tic Tac Toe dan permainan Twelve Men's Morris. Permainan mill menggunakan aturan dan konsep permainan Tic Tac Toe yang bertujuan menempatkan 3 bidak masing-masing pemain dalam suatu garis lurus yang dapat berupa garis horisontal, vertikal, ataupun diagonal. Dalam permainan Mill tersebut digunakan

8 bentuk papan permainan yang sama dengan papan permainan Twelve Men's Morris Twelve Men's Morris yang terbentuk dari 24 node, 8 path horisontal, 8 path vertikal, dan 4 path diagonal. Untuk lebih jelasnya berikut tampilan papan permainan Mill. Gambar 2.1 Papan Permainan Mill 2.5. Algoritma Greedy Secara bahasa, greedy memiliki arti rakus atau tamak. Algoritma greedy adalah algoritma yang membentuk solusi langkah demi langkah. Pada setiap langkahnya terdapat banyak pilihan yang perlu dieksplorasi dan pada setiap langkahnya harus dibuat keputusan yang terbaik dalam menentukan pilihan. Prinsip Algoritma Greedy adalah take what you can get now!. Maksud dari prinsip tersebut adalah pada setiap langkah dalam Algoritma Greedy diambil keputusan yang paling optimal untuk langkah tersebut tanpa memperhatikan konsekuensi pada langkah selanjutnya. Hal ini disebut sebagai optimum lokal. Harapan dari algoritma ini dapat membentuk suatu penyelesaian atau optimum global suatu masalah dari optimum lokalnya.(munir,2007). Dalam penerapan algoritma greedy diperlukan elemen-elemen sebagai berikut: 1. Himpunan Kandidat Himpunan ini berisi elemen-elemen pembentuk solusi 2. Himpunan Solusi

9 Merupakan Himpunan yang telah berisi solusi-solusi yang telah diterima sebagai langkah penyelesaian atau optimum lokal. 3. Fungsi Seleksi Merupakan fungsi pembatas yang mensortir himpunan kandidat menjadi calon himpunan solusi 4. Fungsi Kelayakan merupakan fungsi yang memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala yang ada. 5. Fungsi Obyektif Fungsi yang memaksimalkan nilai solusi sesuai dengan permasalahannya 2.6. Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi (Safaat, 2012). Android merupakan generasi baru platform mobile, platform yang memberikan pengembang untuk melakukan pengembangan sesuai dengan yang diharapkannya. Sistem operasi yang mendasari Android dilisensikan dibawah GNU, yang sering dikenal dengan 'copyleft' lisensi dimana setiap perbaikan pihak ketiga harus terus jatuh dibawah terms. Android didistribusikan dibawah Lisensi Apache Software(ASL/Apache2), yang memungkinkan untuk distribusi kedua dan seterusnya. Pengembang aplikasi Android diperbolehkan untuk mendistribusikan aplikasi mereka dibawah skema lisensi apapun yang mereka inginkan. Kelebihan android (Gargenta, 2011) : 1. Comprehensive platform, yang artinya softwarenya lengkap pada mobile devices. 2. Open source platform, pengembang dapat menggunakan dan mengembangkannya secara gratis dan memiliki akses terhadap source code platform tersebut. 3. Android juga tidak memakan memori yang terlalu banyak sehingga user tidak terlalu khawatir terhadap software yang memorinya terbatas.

10 Arsitektur platform Android dapat dilihat pada gambar 2.2 Gambar 0.2 Arsitektur platform Android (Zechner, 2011) a. Applications Applications merupakan program yang langsung berhubungan dengan user. Baik program yang merupakan bawaan dari Android sendiri maupun program yang dibuat oleh developer menggunakan bahasa pemrograman java. Contoh program bawaan dari platform Android sendiri adalah email client, program SMS, calendar, maps, web browser, contact dan sebagainya. b. Application Framework Lapisan ini berisi sekumpulan API yang dapat digunakan oleh programmer maupun core application dari android. Lapisan ini dirancang untuk memudahkan penggunaan komponen dari Android sendiri. Aplikasi manapun dalam Android dapat berbagi fungsi sehingga aplikasi lain dapat memanfaatkannya. Aplikasi pada Android disusun atas beberapa komponen : 1. Sekumpulan views. Digunakan untuk mengatur tampilan pada aplikasi. Contohnya adalah lists, grid, text box, button, bahkan embeddable web browser. 2. Content providers. Komponen yang mengatur agar aplikasi dapat mengakses resources dari aplikasi lain (seperti Contacts), atau berbagi data dengan aplikasi lain.

11 3. Resource manager. Menyediakan akses kepada resource non-code seperti localized string, dan file layout. 4. Notification manager. Memungkinkan agar suatu aplikasi dapat menampilkan peringatan yang dapat dikustomasi pada status bar. 5. Activity manager. Mengatur siklus aplikasi dan navigasi antar aplikasi yang sedang berjalan. c. Libraries Android mendukung beberapa library C/C++ yang digunakan pada berbagai komponen Android. Kemampuan ini dapat diakses oleh developer melalui Android apllication framework. d. Android Runtime Tiap aplikasi pada Android memiliki proses nya masing-masing. Tiap aplikasi tersebut memiliki instans dari Dalvik virtual machine (VM). Dalvik virtual machine dirancang agar suatu perangkat dapat menjalankan beberapa VM secara efisien. Dalvik VM mengeksekusi file dengan format Dalvik executable format (.dex) yang dirancang untuk meminimalkan memory footprint. Dalvik VM berbasis register dan dapat menjalankan kelas-kelas yang dikompilasi dengan bahasa pemrograman java dan ditransformasikan menjadi format.dex. Dalvik VM sendiri bergantung pada kernel Linux untuk fungsi dasarnya, seperti threading dan manajemen memori secara low-level. e. Linux Kernel Android menggunakan Kernel Linux versi 2.6 sebagai sistem utama. Fungsi kernel yang digunakan antara lain untuk keamanan, manajemen memori,

12 manajemen proses, manajemen jaringan, dan driver model. Kernel juga berfungsi sebagai layer abstrak antara hardware dan lapisan lainnya pada software stack. 2.7. UML (Unified Modelling Language) UML digunakan untuk menggambarkan perancangan awal dari sistem yang akan dibangun. UML memiliki banyak jenis permodelan, tetapi hanya beberapa yang digunakan saja yang akan dibahas. UML merupakan suatu bahasa. Suatu bahasa terdiri dari kata-kata, dan memiliki aturan untuk menggabungkan kata-kata tersebut, sehingga tercipta komunikasi. Sebuah permodelan bahasa adalah suatu bahasa dimana kata-kata dan aturannya berfokus pada penggambaran sistem secara konseptual dan fisik. Sebuah permodelan bahasa seperti UML telah menjadi bahasa standar untuk merencanakan suatu aplikasi (Booch,2005). Hasil dari permodelan tadi adalah pengertian dari suatu sistem. Satu model saja tidak cukup untuk menggambarkan sistem secara keseluruhan, maka dibutuhkan banyak model yang berhubungan satu dengan yang lainnya untuk memberikan pengertian pada dasar dari sistem. Keuntungan UML sebagai berikut : - Sebagai bahasa pemodelan yang general-purpose, difokuskan pada pokok himpunan konsep yang dapat dipakai bersama dan menggunakan pengetahuan bersama dengan mekanisme perluasan. - Sebagai bahasa pemodelan yang mudah diaplikasikan, dapat diaplikasikan untuk bermacam tipe sistem (software dan non-software), domain dan metode atau proses. Sebagai bahasa pemodelan standar industri, bukan merupakan bahasa yang tertutup atau satu-satunya, tapi bersifat terbuka dan sepenuhnya dapat diperluas.

13 2.8. Penelitian Terdahulu Algoritma greedy telah banyak diterapkan dalam penelitian untuk programprogram game. Beberapa penelitian yang pernah dilakukan untuk menyelesaikan permasalahan dari suatu game (permainan) dengan menggunakan algoritma greedy antara lain untuk permainan Congklak(Hayati,2007) dan permainan Ludo(Kemit,2011). Hayati menggunakan algoritma greedy pada pencarian beberapa solusi optimum dalam permaianan congklak. Permainan congklak adalah sejenis permainan tradisional yang cukup dikenal di berbagai daerah. Permainan ini bertujuan untuk mendapatkan sebanyak-banyaknya biji congklak. Dengan algoritma greedy akan ditentukan lubang yang akan dimainkan untuk menembak lubang lawan dan mendapatkan biji terbanyak. Kemit menggunakan algoritma greedy pada penentuan langkah dalam permainan ludo. Permainan ludo adalah sebuah permainan papan yang dimainkan hampir seluruh belahan dunia. Permainan ini dimenangkan dengan memindahkan pion-pion yang kita miliki menuju kotak tujuan. Berbagai taktik dapat digunakan untuk mencapai tujuan tersebut. Dengan algoritma greedy akan ditentukan langkah pion untuk memajukan pion, memukul pion lawan, menghalangi pion lawan. Tabel 2.1 Penelitian Terdahulu No Peneliti Algoritma Kasus Tahun 1 Hayati Greedy Penentuan langkah 2007 permainan Congklak 2 Kemit Greedy Penentuan langkah permaianan Ludo 2011