• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 TINJAUAN PUSTAKA"

Copied!
14
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

Pada bab ini, akan dibahas landasan teori, penelitian terdahulu, kerangka pikir yang mendasari penyelesaian permasalahan searching dengan menggunakan algoritma depth first search.

2.1. Kecerdasan Buatan

Definisi kecerdasan buatan terbagi ke dalam dua dimensi utama dan empat kategori yang dapat dilihat pada Gambar 2.1 berikut.

Sistem yang berpikir seperti manusia Sistem yang berpikir secara rasional “Upaya baru yang menarik untuk menjadikan

komputer berfikir ... mesin dengan fikiran, dalam arti sebenarnya dan literal.” (Haugeland, 1985)

“[Pengotomasian dari] aktifitas-aktifitas yang dikaitkan dengan fikiran manusia, aktifitas-aktifitas seperti pengambilan keputusan, pembelajaran, ... “ (Bellman,1978)

“Studi tentang kemampuan mental melalui penggunaan model-model komputasional “ (Chamiak dan McDermott, 1985)

“Studi tentang komputasi yang memungkinkan pengenalan, alasan, dan tindakan” (Winston, 1992)

Sistem yang bertindak seperti manusia Sistem yang bertindak secara rasional “Seni membuat mesin yang melakukan

fungsi-fungsi yang memerlukan kecerdasan apabila dilaksanakan oleh manusia” (Kurzweil, 1990)

“Studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat itu manusia melakukan dengan lebih baik” (Rich dan Knight, 1991)

“Kecerdasan Komputasional adalah studi tentang perancangan agen-agen cerdas” (Poole et al., 1998)

“AI...berkaitan dengan perilaku cerdas dalam artifak(karya seni)” (Nilsson,1998)

Gambar 2.1 Beberapa definisi kecerdasan buatan, diorganisasikan ke dalam empat kategori. (Sumber : Artificial Intelligence : A Modern Approach, 2010)

(2)

Pada bagian atas menunjukkan kecerdasan buatan yang menyangkut proses berpikir dan reasoning, sedangkan bagian bawah menunjukkan kecerdasan buatan yang menuju kepada proses bertindak. Definisi pada bagian kiri menunjukkan kecerdasan buatan yang mengukur keberhasilan dengan kebenaran pada kinerja manusia, sedangkan bagian kanan diukur bertentangan dengan konsep ideal kecerdasan, yang disebut rasionalitas (Russel & Norvig, 2010).

Tujuan utama dari kecerdasan buatan adalah membuat komputer untuk lebih berguna dan mengerti prinsip-prinsip yang memungkinkan untuk menjadi cerdas. Selain itu, tujuan dari kecerdasan buatan adalah untuk mengembangkan kerja sistem komputer yang benar-benar mampu melakukan tugas-tugas yang memerlukan kecerdasan tingkat tinggi (Kristanto, 2004).

2.1.1. Bidang terapan kecerdasan buatan

Kecerdasan buatan memiliki beberapa sub bidang terapan yang dapat dilihat sebagai berikut :

1. Sistem Pakar (Expert System)

Sistem pakar dibuat pada wilayah pengetahuan tertentu untuk suatu kepakaran tertentu yang mendekati kemampuan manusia di salah satu bidang. Sistem pakar mencoba mencari solusi yang memuaskan sebagaimana yang dilakukan seorang pakar.

2. Perencanaan (Planning) dan Robotik

Perencanaan merupakan sebuah aspek penting dalam usaha merancang robot yang mampu melaksanakan tugasnya sampai suatu derajat keluwesan dan keresponsifan tertentu. Salah satu cara yang digunakan dalam perencanaan adalah dengan komposisi hirarki. Pendekatan tersebut akan membatasi lingkup permasalahan yang dirunut secara efektif dan juga dapat digunakan untuk pemakaian di masa yang akan datang.

3. Permainan (Game)

Kebanyakan permainan dilakukan dengan mengggunakan sekumpulan aturan. Dalam permainan digunakan apa yang disebut dengan pencarian ruang keadaan (state space search). Permainan dapat menghasilkan

(3)

sejumlah besar pencarian ruang. Teknik yang menggeluti hal ini disebut heuristic.

4. Pemodelan Kinerja (Performance) Manusia

Pemodelan kinerja manusia telah terbukti merupakan alat yang sangat bermanfaat dalam merumuskan dan menguji teori-teori penerapan inderawi manusia.

5. Bahasa Alamiah (Natural Language), Pemodelan Semantik, dan Mesin yang Dapat Belajar (Learning Machine)

Salah satu tujuan jangka panjang Kecerdasan Buatan adalah pembuatan program yang memiliki kemampuan untuk memahami bahasa manusia. Tidak hanya kemampuan komputer dalam memahami bahasa alamiah saja yang tampaknya merupakan salah satu aspek dasar dari kecerdasan manusia, namun otomasi yang berhsail darinya juga memiliki pengaruh yang sangat besar pada kemampuan penggunaanya dan keefektifannya.

2.2. Permainan (Game)

Permainan atau game merupakan salah satu bidang terapan dalam kecerdasan buatan. Menurut Salen & Zimmerman (2003), 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.

Menurut Kusumadewi (2003), ada beberapa alasan mengapa game merupakan domain yang baik untuk dieksplor dalam bidang kecerdasan buatan, diantaranya :

1. Sangat mudah untuk menentukan ukuran kesuksesan dan kegagalannya (menang atau kalah).

2. Tidak membutuhkan terlalu banyak pengetahuan. Permainan dapat diselesaikan dengan melakukan pencarian dari arah start sampai posisi menang.

3. Ruang keadaannya mudah direpresentasikan.

4. Operator-operator yang digunakan tidak terlalu banyak. 5. Sebagian besar game dapat dimodelkan dengan mudah.

(4)

6. Sangat mungkin untuk dibandingkan dengan kemampuan manusia.

Perkembangan game yang kian melesat saat ini membuat permainan atau game menjadi lebih menarik karena terdapat elemen-elemen seperti visual, audio, dan interaksi, sehingga game memiliki banyak peminat mulai dari anak-anak hingga orang dewasa (Wibawa, 2010). Tak hanya itu, game juga dikembangkan ke dalam bentuk mobile atau biasa disebut game mobile. Game mobile adalah game yang dapat dimainkan pada mobile phone, smartphone, PDA, ataupun komputer tablet. Game mobile semakin digemari karena memiliki fleksibilitas atau mudah dibawa kemana-mana.

2.3. Word Ladder

Word ladder atau doublets adalah sebuah permainan kata sederhana yang diciptakan oleh Lewis Carroll. Permainan ini pertama kali disebutkan sebagai “Word Links” dalam buku harian Carroll pada tanggal 12 Maret 1878. Disebutkan bahwa dia telah menemukan permainan untuk dua gadis kecil yang sedang bosan di sebuah pesta makan malam, dia mengabarkannya dalam sebuah pamflet pada hari Natal tahun 1877 (Haunsperger & Kennedy , 2006).

Carroll mempublikasikan serial permainan word ladder dan penyelesaiannya, yang kemudian disebutnya “doublets”, dalam majalah Vanity Fair pada tanggal 29 Maret 1879. Pada tahun 1879 percetakan Macmillan mengumpulkan artikel Vanity Fair menjadi sebuah buku berisi 39 halaman, dengan sampul kain berwarna merah, berjudul Doublets: A Word Puzzle.

Pada tahun 1880, edisi kedua telah ditambahkan menjadi 73 halaman. Pada tahun yang sama Macmillan menerbitkan edisi ketiga, yang telah direvisi dan ditambahkan menjadi 85 halaman. Carroll mengambil nama doublets dari penggalan mantra penyihir dalam karangan Shakespeare, Macbeth : Double, double, toil and troublepenggalan ini diletakkan Carroll pada halaman judul bukunya (Haunsperger & Kennedy , 2006).

Permainan ini merupakan permainan menyusun rantai kata yang dapat menghubungkan dua buah kata. Permainan word ladder dimulai dengan dua kata, dan untuk menyelesaikannya harus menemukan rantai kata dari kata lain untuk

(5)

menghubungkan keduanya, di mana dua kata yang berdekatan dibedakan oleh satu huruf (Haunsperger & Kennedy , 2006). Salah satu contoh permainan ini yang terdapat dalam majalah Vanity Fair pada 29 Maret 1879 dapat dilihat sebagai berikut:

Rise FOUR to FIVE

Untuk mengubah kata FOUR menjadi kata FIVE, maka penyelesaiannya adalah sebagai berikut.

Seiring berjalannya waktu, permainan ini dikembangkan agar menjadi bentuk yang lebih menarik dengan menambahkan gambar ilustrasi tangga seperti Gambar 2.2 berikut ini:

Gambar 2.2 Word Ladder

Dengan adanya perkembangan teknologi saat ini, permainan word ladder dikembangkan dalam bentuk permainan elektronik (game) sehingga lebih menarik dan bervariasi dengan tampilan antarmuka yang lebih baik.

Pengembangan permainan ini dalam bentuk permainan elektronik (game) dapat dilihat mulai dari permainan komputer (game PC), game online, hingga game mobile yang banyak diminati pada masa sekarang ini. Beberapa contoh permainan word ladder yang ada pada perangkat mobile tersebut dapat dilihat pada Gambar 2.3 berikut.

(6)

Gambar 2.3 Word Ladder pada Mobile Game

2.4. Android

Android adalah sistem operasi berbasis Java yang dijalankan pada kernel Linux 2.6 (DiMarzio, 2008). Android merupakan platform open source yang dirancang untuk perangkat mobile (Gargenta, 2011). Sistem operasi ini berjalan dengan memprioritaskan aplikasi inti yang dibangun sendiri tanpa melihat potensi yang cukup besar dari aplikasi pihak ketiga.

Android menawarkan sebuah lingkungan yang berbeda untuk pengembang. Setiap aplikasi memiliki tingkatan yang sama, tidak membedakan antara aplikasi inti dengan aplikasi pihak ketiga. Bahkan pengguna dapat menghapus aplikasi inti dan menggantinya dengan aplikasi pihak ketiga. Pada awalnya sistem operasi ini dikembangkan oleh Android Inc. lalu pada tahun 2005, perusahaan ini diakuisisi oleh Google (Hermawan , 2011).

Pada tahun 2007, Google membentuk Open Handset Alliance (OHA) sebagai upaya untuk mengembangkan Android, yakni sebuah konsorium dari beberapa perusahaan yaitu Texas Instruments, Broadcom Coorporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, NVDIA, Qualcomm, Samsung Electronics, Sprint Nextel, dan T-Mobile. Tujuan utama dibentuknya OHA adalah untuk mengembangkan standar terbuka untuk perangkat mobile.

(7)

Menurut Hermawan (2011), pengembangan sistem operasi dan aplikasi Android mengacu pada empat prinsip yakni:

1. Terbuka

Android dibangun untuk menjadi benar-benar terbuka. Sebagai contoh, sebuah aplikasi dapat mengambil dan mengakses fungsi-fungsi utama ponsel seperti membuat panggilan, mengirim pesan teks, bahkan menggunakan kamera. Hal ini memungkinkan para pengembang untuk membuat aplikasi yang lebih baik.

2. Semua Aplikasi Dibuat Sama

Android tidak membedakan antara aplikasi inti ponsel dan aplikasi pihak ketiga. Kedua jenis aplikasi ini dapat dibangun dan memiliki akses yang sama ke ponsel. Pengguna dapat sepenuhnya mengatur telepon sesuai kepentingan mereka.

3. Mendobrak Batasan-Batasan Aplikasi

Android membuang berbagai hambatan untuk membangun aplikasi baru yang inovatif. Misalnya, seorang pengembang dapat menggabungkan informasi dari web dengan data individu dari ponsel seperti data kontak, kalender atau lokasi geografis. Sehingga memberikan informasi yang lebih relevan.

4. Pengembangan Aplikasi yang Cepat dan Mudah

Android menyediakan akses ke berbagai libraries dan tools yang dapat digunakan untuk membangun aplikasi yang kaya.

Beberapa fitur yang tersedia pada Android antara lain: 1. Framework aplikasi

memungkinkan penggunaan dan pemindahan dari komponen yang tersedia.

2. Dalvikvirtual machine

virtual machine yang dioptimalkan untuk perangkat mobile. 3. Grafik

(8)

grafik 2D dan grafik 3D yang didasarkan pada library OpenGL. 4. SQLite

untuk penyimpanan data.

5. Mendukung media audio, video, dan berbagai format gambar. 6. GSM, Bluetooth, EDGE, 3G, dan WiFi.

7. Kamera, GPS (Global Positioning System), Kompas, dan accelerometer.

8. Lingkungan pengembangan yang kaya, termasuk emulator, peralatan debugging, dan plugin untuk Eclipse IDE.

2.4.1. Arsitektur android

Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur seperti Gambar 2.4 berikut.

(9)

1. Applications

Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasuk kalender, kontak, SMS, dan lainnya. Aplikasi-aplikasi ini ditulis dengan bahasa pemrograman Java.

2. Application Framework

Pengembang aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang telah tersedia. Pengembang dapat dengan mudah mengakses informasi lokasi, mengatur alarm, menambahkan pemberitahuan ke status bar dan lain sebagainya. Arsitektur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat mempublikasikan kemampuan dan aplikasi lain dapat menggunakan kemampuan mereka sesuai batasan keamanan. Dasar dari aplikasi adalah seperangkat layanan dan sistem, yaitu berbagai View yang digunakan untuk membangun UI, Content Provider yang memungkinkan aplikasi berbagi data, ResourceManager menyediakan akses bukan kode seperti grafik, string, dan layout, NotificationManager yang akan membuat aplikasi dapat menampilkan tanda pada status bar dan ActivityManager yang berguna mengatur daur hidup dari aplikasi.

3. Libraries

Satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android.

4. Android Runtime

Satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine.

(10)

5. Linux Kernel

Android bergantung pada Linux kernel 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.

2.5. Client Server

Client server adalah salah satu model komunikasi 2 komputer atau lebih yang berfungsi melakukan pembagian tugas. Client bertugas untuk melakukan input, update, penghapusan, dan menampilkan data sebuah database. Sedangkan server bertugas menyediakan pelayanan untuk melakukan manajemen, yaitu menyimpan dan mengolah database (Wahana Komputer, 2010).

Ada beberapa model arsitektur client server, diantaranya adalah 1-Tier (standalone), 2-Tier, dan n-Tier. Arsitektur 1-Tier merupakan model dimana sebuah komputer mengakses sebuah database dari komputer sendiri. Dengan kata lain, aplikasi antarmuka user dan aplikasi database terdapat pada komputer yang sama.

Arsitektur 2-Tier merupakan model yang membagi tugas antara komputer client dan komputer server. Komputer client bertugas menyediakan antarmuka untuk user, permintaan data ke server, serta pemrosesan data. Komputer server bertanggung jawab terhadap penyimpanan, pengelolaan, serta melayani permintaan akses data.

Arsitektur n-Tier berarti membagi komponen menjadi n entitas, yaitu 1 tier client dan n-1 tier server. Bagian client bertugas menyediakan antarmuka aplikasi, sedangkan bagian server bertugas menyediakan data.

2.6. Algoritma Depth First Search

Ada banyak jenis algoritma yang digunakan untuk memecahkan berbagai permasalahan, salah satunya permasalahan pencarian atau searching. Salah satu algoritma yang digunakan untuk permasalahan ini adalah algoritma depth first search. Algoritma depth first search ditemukan pertama kali oleh Charles Pierre Trémaux pada abad ke-19 (Charifa, 2011).

(11)

Algoritma depth first search merupakan metode pencarian pada struktur pohon dengan menelusuri suatu cabang pohon secara mendalam hingga ditemukannya solusi.

Gambar 2.5 Pohon Ruang Status

Adapun langkah-langkah pencarian solusi algoritma depth first search ini umumnya adalah sebagai berikut:

1. Solusi dicari dengan cara menelusuri setiap simpul yang paling kiri dari setiap level.

2. Jika solusi tidak ditemukan dalam simpul kiri pada level yang paling dalam, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul kiri dapat dihapus dari memori.

3. Jika solusi tidak ditemukan pada level yang paling dalam, maka pencarian dilanjutkan pada level sebelumnya.

4. Ulangi langkah 1, 2, 3 hingga ditemukan solusi.

Kelebihan algoritma depth first search antara lain membutuhkan memori yang relatif kecil, karena hanya simpul pada lintasan yang aktif saja yang disimpan. Selain itu, waktu yang dibutuhkan dalam pencarian solusi juga cukup cepat (Cormen et al, 2009).

2.7. Penelitian Terdahulu

Algoritma depth first search telah banyak digunakan dalam penelitian-penelitian tentang pembuatan program permainan. Penelitian-penelitian tersebut antara lain yakni pencarian solusi permainan pairs (Atrinawati, 2007), pengambilan keputusan

(12)

pada klimaks permainan scrabble (Gozali, 2008), pembuatan word game scramble pada board dua dimensi (Sabdifha, 2010), program pembentukan maze (Charifa, 2011), dan perancangan permainan othello berbasis android (Handayani, 2012).

Atrinawati (2007) menggunakan metode depth first search dalam pencarian solusi pada permainan pairs. Permainan pairs adalah permainan mencari pasangan kartu yang sama. Kartu ini terdiri dari atribut gambar bertipe integer dan atribut open bertipe boolean. Atribut gambar akan bernilai integer yang merepresentasikan jenis gambar yang ada pada kartu dan bersifat unik. Sedangkan atribut open akan bernilai false jika pasangan gambarnya belum ditemukan, dan bernilai true jika pasangan gambarnya telah ditemukan. Pencarian solusi dilakukan secara mendalam hingga seluruh kartu pada permainan pairs terbuka.

Gozali (2008) mengimplementasikan algoritma depth first search dalam pengambilan keputusan pada klimaks permainan scrabble. Dalam penelitian ini, penelusuran dimulai dari simpul akar yang merupakan himpunan kosong dengan nilai -P. Simpul-simpul berikutnya dibangkitkan dari himpunan biji pada tabel nilai yang saling lepas dengan himpunan solusi yang telah terbentuk sejauh ini. Jika penelusuran telah mencapai simpul daun dan tidak ada lagi simpul yang dapat dibangkitkan, nilai total dari himpunan solusi disimpan sebagai nilai maksimum sementara. Pencarian dilakukan sampai mendapatkan nilai maksimum yang paling besar.

Sabdifha (2010) menggunakan depth first search dalam pembuatan word game scramble pada board dua dimensi. Permainan scramble adalah permainan kata yang merupakan pengembangan dari permainan scrabble. Pada permainan ini pencarian kata dilakukan dengan menelusuri huruf-huruf yang terdapat pada board permainan yang membentuk sebuah kata.

Charifa (2011) menggunakan depth first search dalam program pembentukan maze. Maze atau labirin yang dibentuk dengan algoritma DFS ini mempunyai kemungkinan terciptanya jalur bercabang yang rendah dan sebagai akibatnya akan tercipta banyak jalur yang cenderung lurus. Hal ini lah yang menyebabkan algoritma DFS bagus untuk digunakan dalam video game.

Handayani (2012) menggunakan depth first search dalam perancangan permainan othello berbasis android. Algoritma depth first search diterapkan dengan menggunakan algoritma Negamax yang dioptimasi dengan alpha beta pruning dalam membantu mencari solusi pada permainan othello.

(13)

Penelitan terdahulu dipaparkan dalam bentuk tabel berikut:

Tabel 2.1 Penelitian terdahulu

Penelitian Nama Keterangan

Penerapan Algoritma Depth-First Search (DFS) Pada Pencarian Solusi Permainan “Pairs”

(Atrinawati, 2007) Kemampuan algoritma depth first search dalam menyelesaikan permainan Pairs menunjukkan bahwa algoritma ini cukup efektif untuk mendapatkan solusi persoalan tersebut.

Penggunaan Depth First Search Dalam Pengambilan

Keputusan Pada

Klimaks Permainan Scrabble

(Gozali, 2008) Algoritma depth first search cukup baik untuk menyelesaikan

permasalahan

pengambilan keputusan pada klimaks permainan scrabble.

Perancangan Dan Pembuatan Aplikasi Word Game Scramble

Pada Board Dua

Dimensi

(Sabdifha, 2010) Algoritma depth first

search dapat

diaplikasikan pada word game scramble untuk mencari seluruh kata yang terdapat pada board dua dimensi 4x4

(14)

Tabel 2.1 Penelitian terdahulu (lanjutan)

Penelitian Nama Keterangan

Penerapan Algoritma Depth-First Search dan Backtracking dalam Program Pembentuk Maze

(Charifa, 2011) Penggunaan algoritma depth first search dalam pembentukan Maze adalah cara yang paling sederhana, diperlukan beberapa tambahan dan perbaikan agar dapat membentuk Maze yang lebih rumit. Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

(Handayani, 2012) Pencarian solusi

permainan othello menggunakan algoritma depth first search dapat

mengurangi ruang

pencarian sehingga proses penelusuran dapat dilakukan lebih cepat.

Gambar

Gambar 2.2 Word Ladder
Gambar 2.3 Word Ladder pada Mobile Game
grafik 2D dan grafik 3D yang didasarkan pada library OpenGL.  4.  SQLite
Gambar 2.5 Pohon Ruang Status

Referensi

Dokumen terkait

pemegang saham biasanya juga dikembangkan satu ukuran yaitu nilai saham yang menunjukkan nilai sekarang (present value) dari aliran dana yang diantisipasi akan diterima dari

Bahkan ada aktivitas-aktivitas bimbingan tertentu yang dipandang tidak perlu atau lebih baik tidak dilakukan olehnya (konselor), tetapi dilakukan oleh petugas bimbingan lain yang

Melalui belajar sejarah guru sejarah bisa menanamkan nilai karakter pada siswa, hal ini sesuai dengan Permendiknas no 22 Tahun 2002 yang menyatakan tujuan

Pada diskusi panel ini, (a) guru membentuk kelompok diskusi siswa dalam satu kelas berjumlah 20 anak dibagi menjadi 2 kelompok yaitu kelompok panelis yang terdiri 4 siswa dan

Analisis deskriptif dilakukan untuk data daya ledak lengan, koordinasi mata tangan, dan kemampuan smash pada permainan bulutangkis siswa SMA Negeri 2 Sebulu

Menyebutkan dengan benar 4 unsur dari: tema pidato, pembicara, pendengar, tempat disampaikannya pidato, dan urutan isi pidato. Menyebutkan dengan benar 3 unsur dari:

Kesimpulan yang dapat diambil dari penelitian ini adalah bahwa sebaran tanaman aren untuk semua tingkat pertumbuhan merata dengan nilai kerapatan perhektar adalah

Perbedaan pendapatan juga terlihat ketika diinteraksikan dengan tingkat pendidikan dan tahun potensi pengalaman kerja, dimana pada tingkat pendidikan maupun tahun