• Tidak ada hasil yang ditemukan

Implementasi Metode Generate and Test Dalam Penyelesaian Puzzle 2048 Berbasis Mobile

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Metode Generate and Test Dalam Penyelesaian Puzzle 2048 Berbasis Mobile"

Copied!
12
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1. Kecerdasan Buatan

Kecerdasan buatan (artificial intelligence), yang disingkat AI, merupakan salah satu cabang dalam ilmu komputer yang mempelajari tentang bagaimana membuat komputer menyelesaikan suatu masalah sebaik yang dapat dilakukan oleh manusia.

Kecerdasan buatan adalah sebuah teknologi yang baru muncul pada dekade ini dengan banyak aplikasi terapan yang sedang berkembang. Salah satu pandangan dalam kecerdasan buatan berhubungan tentang cara membuat komputer menjadi lebih pintar. Sehingga penelitian pada kecerdasan buatan berfokus pada 2 hal, yaitu:

1. Membuat mesin lebih berguna 2. Memahami kecerdasan

Masalah dalam pengembangan kecerdasan buatan umumnya berkaitan dengan cara mengenal proses yang kompleks, tidak pasti dan ambigu. Proses yang tidak memiliki penyelesaian secara algoritma dan membutuhkan suatu metode penyelesaian yang mengikuti pola pemikiran manusia dan hewan untuk mengatasi masalah yang kompleks. (Coppin, 2004)

Manusia pandai dalam menyelesaikan permasalahan karena manusia memiliki kemampuan merasakan indera (sentience) dan kecerdasan (Inteligence).Untuk menirukan kemampuan indera manusia, komputer dapat

(2)

Untuk mendapatkan kemampuan merasakan, komputer dapat dihubungkan dengan sensor yang tepat.

Kecerdasan sering didefiniskan sebagai kemampuan untuk mempelajari. Kemampuan manusia untuk mempelajari dapat dilakukan karena manusia mempunyai pengetahuan dan pengalaman.Pengetahuan diperoleh dari belajar.Semakin banyak bekal pengetahuan yang dimiliki, seseorang diyakini lebih mampu dalam menyelesaikan permasalahan.Namun, bekal ilmu pengetahuan saja tidaklah cukup jika manusia tidak diberikan akal untuk melakukan penalaran yang digunakan untuk mengambil kesimpulan berdasarkan pengalaman dan pengetahuan yang dimiliki. Tanpa memiliki kemampuan untuk menalar dengan baik, manusia dengan sejumlah pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Demikian juga dengan kemampuan menalar yang sangat baik, namun tidak memiliki pengetahuan dan pengalaman yang memadai, seseorang tidak akan bisa menyelesaikan masalah dengan baik.

Mesin diciptakan untuk membantu manusia dalam menyelesaikan dan membantu manusia didalam kesehariannya.Dengan demikian, mesin juga diharapkan dapat menjadi cerdas yaitu dapat bertindak seperti dan sebaik manusia.Diharapkan bahwa aplikasi komputer atau mesin yang dibuat dan diciptakan dapat menjadi lebih pintar dan mudah dalam penggunaannya serta ditingkatkan lagi dalam efisiensi penggunaannya.Oleh karena itu, mesin diberikan pengetahuan sehingga mempunyai kemampuan untuk menalar dengan baik.(Karam, 2012)

Pengertian kecerdasan buatan dapat dipandang dari berbagai sudut pandang, antara lain:

1. Sudut pandang kecerdasan

Kecerdasan buatan akan membuat mesin menjadi cerdas (mampu berbuat seperti apa yang dilakukan oleh manusia).

2. Sudut pandang penelitian

Kecerdasan buatan adalah suatu studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dikerjakan oleh manusia.

(3)

Kecerdasan buatan adalah kumpulan peralatan yang sangat kuat dan metodologis dalam menyelesaikan masalah- masalah bisnis.

4. Sudut pandang pemrograman

Kecerdasan buatan meliputi studi tentang pemrograman simbolik, penyelesaian masalah dan pencarian.Dalam pembuatan aplikasi kecerdasan buatan, ada dua bagian utama yang sangat dibutuhkan, yaitu:

a. Basis pengetahuan (Knowledge Base), bersifat fakta- fakta, teori, pemikiran dan hubungan antar satu dengan yang lainnya.

b. Motor Inferensi (Inference Engine), kemampuan menarik kesimpulan berdasarkan pengetahuan dan pengalaman.

2.1.1 Turing Test

Untuk menentukan apakah suatu kecerdasan buatan sudah mendekati kemampuan manusia dan dapat disebut ‘cerdas’, dilakukan suatu percobaan yang disebut Turing Test yang ditemukan oleh Alan Turing pada tahun 1950, seorang pioneer AI dan ahli matematika asal Inggris yang melakukan experiment dengan menempatkan AI di satu terminal dan terminal lainnya dikendalikan oleh manusia. Kedua terminal ini ditempatkan di posisi berjauhan. Manusia tersebut berkomunikasi dengan komputer tersebut dan mengira bahwa lawan komunikasinya adalah manusia juga. Menurut Turing jika seseorang bisa salah mengira komputer sebagai manusia, maka komputer tersebut bisa dikatakan ‘cerdas’.

Untuk dapat lolos Turing Test, komputer harus setidaknya memiliki kemampuan untuk melakukan beberapa proses berikut:

A. Natural language processing, yaitu kemampuan komputer agar dapat berkomunikasi dengan lancar dengan struktur bahasa yang natural.

B. Knowledge representation, yaitu kemampuan komputer menyimpan informasi-informasi yang diterimanya dan bertindak sebagai pengetahuan komputer. C. Automated reasoning, yaitu kemampuan komputer dalam mengolah informasi

(4)

D. Machine learning, yaitu kemampuan komputer untuk mempelajari hal baru

dan beradaptasi terhadap hal yang baru. Cara paling sederhana dalam machine learning adalah dengan mencoba dan gagal (trial and error).

Selain Turing Test, terdapat Total Turing Test yang membutuhkan 2 proses tambahan selain 4 proses yang telah disebutkan untuk dapat lolos tes ini. Agar dapat lolos, sebuah komputer juga harus mampu melakukan 2 proses berikut:

A. Computer vision, dimana komputer harus mampu melihat dan menginterpretasikan objek.

B. Robotics, dimana komputer mampu memanipulasi objek dan dapat bergerak.(Norvig,2010)

2.2 Bidang-bidang Terapan pada Kecerdasan Buatan

Berikut beberapa bidang terapan yang dapat dihubungkan dengan kecerdasan buatan:

a. Sistem pakar (expert system)

Sebuah sistem komputer yang digunakan sebagai sarana untuk menyimpan pengetahuan yang dimiliki oleh seorang pakar dengan tujuan agar komputer memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki pakar tersebut.

b. Pengolahan bahasa alami (natural language processing)

Pemrograman sistem komputer yang memungkinkan manusia berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

c. Pengenalan suara (speech recognition)

Kemampuan membuat komputer agar dapat mengenali suara dan melakukan perintah yang diberikan kepadanya melalui suara tersebut.

(5)

Kumpulan sistem yang mampu memanipulasi benda dan bergerak sesuai dengan program di dalamnya dan dilengkapi berbagai sensor untu mendeteksi pekerjaan secara otomatis.

e. Intelligence computer-aided instruction

Sistem komputer yang digunakan sebagai pengajar untuk manusia. f. Computer vision

Pemrograman yang bertujuan untuk menginterpretasikan gambar dan objek tampak melalui komputer untuk proses selanjutnya.

g. Game playing

Sistem permainan yang dilengkapi dengan kecerdasan buatan untuk bergerak sendiri tanpa dikendalikan. AI akan menggerakan karakter dengan sendirinya tanpa dikendalikan oleh pemain (Non-Player Character).

Dalam pembuatan AI dalam game playing dapat dilakukan dengan beberapa cara, salah satunya adalah dengan menggunakan metode pencarian Heuristik.

2.3 Metode Pencarian Heuristik

Teknik pencarian heuristik (heuristic searching) atau dikenal juga dengan rapid-prototyping merupakan suatu strategi untuk melakukan proses pencarian ruang

keadaan (state space) suatu problema secara selektif, yang memandu proses pencarian yang kita lakukan disepanjang jalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang bodoh dan memboroskan waktu.

Heuristik merupakan sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness). Heuristik dapat diterapkan dengan baik dalam suatu domain tertentu jika memiliki suatu fungsi heuristik, dimana fungsi heuristik ini digunakan untuk mengevaluasi keadaan keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.

Jenis – jenis pencarian heuristik terdiri atas Generate and Test, Hill Climbing, Best First Search, Alpha Beta Prunning, Means-End-Analysis, dan

(6)

B

Metode Generate and Testadalah metode yang paling sederhana dalam teknik pembelajaran komputer.Metode ini menciptakan semua solusi yang mungkin dikerjakan secara sistematis dengan aturan tertentu dan menjamin akan menemukan solusi terhadap suatu masalah. Namun, jika ruang masalahnya sangat luas, mungkin memerlukan waktu yang sangat lama.

Algoritma Generate And Test menggunakan prosedur Depth First Search(DFS) karena suatu solusi harus dibangkitkan secara lengkap sebelum

dilakukan Test. Algoritma ini berbentuk sistematis, pencarian sederhana yang mendalam dari suatu ruang permasalahan. Generate And Test juga dapat dilakukan dengan pembangkitan solusi secara acak, tetapi tidak ada jaminan solusinya akan ditemukan.

Di dalam Generate And Test, terdapat dua prosedur penting: pembangkit (membangkitkan sebuah solusi yang mungkin) dan tes (menguji solusi yang dibangkitkan tersebut). Dengan penggunaan memori yang sedikit, DFS bisa digunakan sebagai prosedur Pembangkit yang menghasilkan suatu solusi. (Suyanto, 2007)

Contoh penyelesaian dengan menggunakan metode Generate and Test dapat dilihat pada gambar 2.1 dan gambar 2.2. Gambar 2.1 merupakan contoh penggunaan generate pada pencarian jalur, sedangkan gambar 2.2 merupakan contoh penggunaan

generate pada pencarian 5 langkah game 2048.

(7)

Gambar 2.2. Ilustrasi Alur Pencarian Generate and Test untuk pencarian 4 langkah

Dari kedua gambar tersebut, maka dapat dihasilkan tabel hasil langkah yang mungkin untuk kemudian dilakukan langkah test. Tabel 2.1 menujukkan hasil langkah test untuk panjang lintasan terpilih sebagai berikut:

Tabel 2.1 Tabel hasil lintasan terpendek menggunakan Generate and Test

Pencarian

Ke - Lintasan

Panjang Lintasan

Lintasan Terpilih

Panjang Lintasan Terpilih

1 ABCD 19 ABCD 19

2 ABDC 18 ABDC 18

3 ACBD 12 ACBD 12

4 ACDB 13 ACBD 12

5 ADBC 16 ACBD 12

(8)

2.3.1.1 Algoritma Generate and Test

Algoritma generate and test menurut (Suyanto, 2007) pada generate and test adalah sebagai berikut:

1. Bangkitkan sebuah solusi yang mungkin. Solusi bisa berupa suatu keadaan(state). 2. Lakukan Testapakah solusi yang dibangkitkan tersebut adalah sebuah solusi yang

bisa diterima sesuai dengan kriteria yang diberikan.

3. Jika solusi telah ditemukan, keluar. Jika belum, kembali ke langkah 1. (Suyanto, 2007)

Sedangkan menurut (Kyaw, 2013), algoritma generate and test adalah sebagai berikut:

Generate_and_test()

{

Begin:

Dijabarkan solusi yang memungkinkan;

Evaluasi solusi dengan membandingkannya dengan criteria yang telah diterima;

If (solusi memuaskan dan sesuai dengan kriteria yang diinginkan) quit;

Else go to begin;

}

Dari kedua kutipan tersebut, dapat kita dapat menarik kesimpulan bahwa algoritma generate and test terdiri dari proses pembangkitan (generate) dan pengujian (test).

2.4 Unity

Unity merupakan suatu aplikasi yang digunakan untuk mengembangkan game multi platform yang didesain agar mudah digunakan. Unity dipenuhi perpaduan

(9)

Editor pada Unity dibuat dengan user interface yang sederhana. Grafis pada unity dibuat dengan grafis tingkat tinggi untuk OpenGL dan directX. Unity mendukung semua format file, terutamanya format umum seperti semua format dari art applications. Unity cocok dengan versi 64-bit dan dapat beroperasi pada Mac OS x

dan Windows dan dapat menghasilkan game untuk Mac, Windows, Wii, iPhone, iPad dan Android.

Unity secara rinci dapat digunakan untuk membuat video game 3D,animasi 3D real timedan visualisasi arsitektur dengan isi serupa yang interaktif. Editor Unity dapat menggunakan plugin web player dan menghasilkan game browser yang didukung oleh Windows dan Mac. Plugin web player dapat juga dipakai untuk widgets Mac. Unity juga akan mendukungconsole terbaru seperti PlayStation 3 dan

Xbox 360.

Server aset dari Unity dapat digunakan semua scripts dan aset game sebagai solusi dari versi kontrol dan dapat mendukung proyek yang terdiri atas banyak gigabytes dan ribuan dari file multi-megabyte. Editor Unity dapat menyimpan

metadata dan versi yang dapat berjalan, pembaharuan dan didalam perbandingan versi grafis. Editor Unity dapat diperbaharui secara langsung seperti file yang telah dimodifikasi. Server aset Unity juga cocok pada Mac, Windows dan Linux dan juga berjalan pada PostgreSQL, database server opensource.

2.4.1Fitur-fitur pada Unity

Unity sebagai editor memiliki fitur-fitur seperti rendering, scripting, asset tracking, multi-platform, asset store, physics engine yang akan turut membantu dalam

pengembangan aplikasi.

2.4.1.1 Rendering

(10)

mapping, screen space ambient occlusion (SSAO), dynamic shadows using shadow

maps, render-to-texture and full-screen post-processing effects.

Unity dapat mengambil format desain dari 3Ds Max, Maya, Softimage, Blender, modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks and Algorithmic Substance. Asset tersebut dapat ditambahkan ke game project dan diatur melalui graphical user interface Unity.

ShaderLab adalah bahasa yang digunakan untuk shaders, dimana mampu memberikan deklaratif “programming” dari fixed-function pipeline dan program shader ditulis dalam GLSL atau Cg. Sebuah shader dapat menyertakan banyak varian dan sebuah spesifikasi fallback declarative, dimana membuat Unity dapat mendeteksi berbagai macam video card terbaik saat ini, dan jika tidak ada yang kompatibel, maka akan digunakanshader alternatif yang mungkin dapat menurunkan fitur dan performa.

2.4.1.2 Scripting

Script game engine dibuat dengan Mono 2.6, sebuah implementasi

open-source dari .NET Framework.Programmer dapat menggunakan UnityScript (bahasa

terkustomisasi yang terinspirasi dari sintax ECMAScript, dalam bentuk JavaScript), C#, atau Boo (terinspirasi dari sintaks bahasa pemrograman phyton).Dimulai dengan dirilisnya versi 3.0, Unity menyertakan versi MonoDevelop yang terkustomisasi untuk debug script.

2.4.1.3 Asset Tracking

Unity juga menyertakan Server Unity Asset – sebuah solusi terkontrol untuk developer game asset dan script. Server tersebut menggunakan PostgreSQL sebagai backend, sistem audio dibuat menggunakan FMOD library (dengan kemampuan untuk

memutar Ogg Vorbis compressed audio), video playback menggunakan Theora codec, engine daratan dan vegetasi (dimana mendukungtree billboarding, Occlusion Culling

dengan Umbra), built-in lightmapping dan global illumination dengan Beast, multiplayer networking menggunakan RakNet, dan navigasi mesh pencari jalur

(11)

2.4.1.4 Multi-Platforms

Unity support pengembangan ke berbagai plaform. Didalam project, developer memiliki kontrol untuk mengirim keperangkat mobile, web browser,

desktop, and console. Unity juga mengijinkan spesifikasi kompresi textur dan

pengaturan resolusi di setiap platform yang didukung.

Saat ini platform yang didukung adalah BlackBerry 10, Windows 8, Windows Phone 8, Windows, Mac, Linux, Android, iOS, Unity Web Player, Adobe Flash, PlayStation 3, Xbox 360, Wii U and Wii. Meskipun tidak semua terkonfirmasi secara resmi, Unity juga mendukung PlayStation Vita yang dapat dilihat pada game Escape Plan dan Oddworld: New ‘n’ Tasty.

2.4.1.5 Asset Store

Diluncurkan November 2010, Unity Asset Store adalah sebuah resource yang hadir di Unity editor. Asset store terdiri dari koleksi lebih dari 4,400 asset packages, beserta 3D models, textures dan materials, sistem particle, musik dan efek suara, tutorial dan project, scripting package, editor extensions dan servis online.

2.4.2.6 Physics Engine

Unity juga memiliki suport built-in untuk PhysX physicsengine (sejak Unity 3.0) dari Nvidia (sebelumnya Ageia) dengan penambahan kemampuan untuk simulasi real-timecloth pada arbitrary dan skinned meshes, thick ray cast, dan collision layers.

2.5 Android

(12)

Game komputer dibuat oleh satu atau beberapa pengembang game,

Gambar

Gambar 2.1Ilustrasi Lintasan metode Generate and Test
Gambar 2.2. Ilustrasi Alur Pencarian Generate and Test  untuk pencarian 4

Referensi

Dokumen terkait

Nilai Uji Baku Mutu adalah nilai yang diperoleh dari hasil ujian seleksi bagi siswa SD/MI yang berasal dari luar Kota Malang yang dilaksanakan Dinas Pendidikan Kota Malang pada Tahun

Definitely not so; asset allocation is the process of constructing the optimal investment portfolio, with different asset classes and weightage, according to an

Kategorisasi risiko dilakukan berdasarkan klasifikasi jenis risiko inovasi yang telah dilakukan oleh Hernandez dan Vargaz (2011) yang membagi nya menjadi tujuh

Kategori pelanggan tersebutakan berubah sesuai dengan perkembangan waktu. Dengan memperhatikan ModelKano, menuntut perusahaan menciptakan produk/jasa inovatif yang

The information and/or analysis contained in this material have been compiled or arrived at from sources believed to be reliable but Manulife Asset Management does not make

Cassinia Nova Kementeria Lampirkan: AHLI Belum Diklat Sepadyaningsih, S.Psi nESDM Perbaikan Surat

Kabel ini adalah kabel yang membawa tegangan dari pembangkit tenaga listrik ( PLN misalnya); kabel ini biasanya dinamakan kabel panas (hot), dapat dibandingkan seperti kutub

Untuk pegawai non-darurat : Tidak boleh melakukan tindakan yang menyangkut risiko pribadi atau tanpa pelatihan yang sesuai.. Evakuasi