BAB I PENDAHULUAN

1.1 Latar Belakang Pada era globalisasi saat ini teknlogi berkembang pesat. Teknologi hampir memasuki semua lini kehidupan. Dalam makalah ini lebih membahas teknologi yang memasuki dunia hiburan terutama bidang permainan. Teknologi yang sering dijumpai dalam permainan sekarang ini adalah teknologi kecerdasan buatan (AI).Kecerdasan buatan adalah Teknologi yang mensimulasikan kecerdasan manusia, yaitu bagaimana mendefinisikan dan mencoba menyelesaikan persoalan menggunakan computer dengan meniru bagaimana manusia menyelesaikan dengan cepat. Pemainan sudah ada sejak jaman dahulu. Permainan merupakan sebuah aktivitas rekreasi dengan tujuan bersenang-senang, mengisi waktu luang, atau berolahraga ringan. Permainan biasanya dilakukan sendiri atau bersama-sama (kelompok). Orthello adalah pemainan sederhana yang menerapkan teknologi terkini untuk memenangkannya. Setelah membaca makalah ini para pembaca diharapkan lebih bias memanfaatkan teknologi di semua lini kehidupan termasuk dalam sebuah permainan.

1.2 Tujuan y Mengetahui teknologi kecerdasan buatan pada sebuah permainan y Dapat menggunakan kemajuan teknologi dalam permainan. y Membuat mesin lebih bermanfaat 1.3 Manfaat y Teknologi kecerdasan buatan dapat dimanfaatkan dalam permainan. y Menambah ilmu tentang memenangkan permaianan dengan kecerdasan buatan

BAB 2 PERUMUSAN MASALAH Sehubungan dengan latar belakang diatas timbul permasalahan,permasalahan tersebut dapat dirumuskan sebagai berikut : 1. 2. 3. 4. Apa itu kecerdasan buatan ? Apa yang terkandung dalam kecerdasan buatan? Syarat game playing apa saja? Bagaiaman cara memenangkan game orthello menggunakan teknologi kecerdasan buatan?

namun juga dapat menghilangkan bagian tertentu dari program sehingga mudah timbulnya error. Kecerdasan buatan dapat menirukan proses belajar manusia sehingga informasi baru dapat diserap tanpa mempengaruhi informasi lain yang lebih dahulu tersimpan. seluruh program harus dilihat satu persatu sampai kita dapatkan ruang optimal untuk meyisipkan perubahan atau modifikasi tersebut. Cara seperti ini tidak hanya memboroskan waktu. dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan´ Dengan beberapa definisi diatas.´ · Encyclopedia Britannica: ³Kecerdasan Buatan (AI) merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan. Teori-teori ini dapat dinyatakan dalam bahasa program computer dan dibuktikan eksekusinya pada computer nyata. A. Jika sebuah program standar perlu dirubah untuk menyesuaikan diri dengan informasi baru. berikut definisi dari kecerdasan buatan atau kita kenal dgn AI H.cerdas´ Rich and Knight [1991]: ³Kecerdasan Buatan (AI) merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia. Kecerdasan Buatan menawarkan baik media maupun teori kecerdasan.Teknik yang digunakan dalam kecerdasan buatan memungkinkan dibuatnya sebuah program yang berjalan secara indepeden dan dapat diidentifikasi dengan baik untuk memecahkan suatu persoalan. . Program computer standar hanya bias menyelesaikan persoalan yang di program secara spesifik. Simon [1987] : ³ Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian. Sebaliknya kecerdasan buatan dapat memungkinkan computer µberfikir¶.Dengan cara menyederhanakan program.BAB II PEMBAHASAN Kecerdasan buatan memeliki beberapa definisi menurut beberapa sumber. aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang -dalam pandangan manusia adalah.

Tidak melibatkan faktor psikologi. Robotika dan sensor 5. Sebenarnya asal kata othello itu sendiri. Tidak melibatkan faktor probabilitas. Para pemain saling bergantian melangkah. Speech recognition 4. September 1945. Hasegawa Goro yang tengah duduk di kelas satu SMP menerima pelajaran sembari duduk di tanah di bawah langit biru.Game playing memiliki beberapa karakteristik dan batasan diantaranya : y y y y y Dimainkan oleh 2 (dua) pemain: manusia dan komputer. Ayah Hasegawa Goro. misalnya dengan menggunakan dadu. Othello dalam karya Shakespeare tersebut . No Determined by Chances.Kecerdasan Buatan sendiri dimunculkan oleh seorang professor dari Massachusetts Institute of Technology (MIT) yang bernama John McCarthy pada tahun 1956 pada saat Dartmouth Conference yang dihadiri oleh parapeneliti AI. jadi jangan mengharap lawan khilaf. Game playing yang dibahas kali ini adalah orthello. Game playing Dalam makalah kali ini pembahasan lebih tertuju kepada sub game playing. Mito juga menjadi sasaran pengeboman hingga kastil dan bangunan bersejarah lain ikut habis dalam kobaran api. bila batu milik pemain pertama diapit oleh batu milik pemain kedua. Dalam suasana seperti itulah permainan ini dilahirkan. Smart Opponent. seperti "gertakan" (misalnya Poker) No Oversight Errors. Sejarah othello berawal tahun 1945. Permainan ini cukup merepotkan karena harus dipakai kertas yang diwarnai hitam pada salah satu sisi dan putih pada sisi yang lain. Lawan diasumsikan pintar juga. Pengolahan bahasa alami 3. No Phsychological Factors. memberikan nama ini dari salah satu karya Shakespeare dengan judul yang sama. Kecerdasan buatan dapat dipilah menjadi sejumlah sub disiplin ilmu diantaranya : 1. Sistem pakar 2. sehingga tidak ada informasi yang tertutup bagi lawan mainnya. Perfect Information Game: kedua pemain sama-sama memiliki akses pada informasi yang lengkap tentang keadaan permainan. Aturan awalnya. bukan dari bahasa Jepang. setelah bom atom dijatuhkan di Hiroshima dan Nagasaki. maka batu pemain pertama menjadi milik pemain kedua. Machine learning 6. sehingga terjadi salah langkah.

biasanya berukuran 8x8 kotak. Karena permainan orthello ini pada awalnya menggunakan kertas yang dwarnai terlebih dahulu. namun sudah banyak dibuat dalam bentuk animasi pada komputer. Koin putih harus µmelompati¶ koin hitam agar koin tersebut dapat diganti menjadi koin putih. Koin warna hitam harus melewati koin warna putih agar koin putih dapat diubah menjadi koin hitam. fungsi evaluasi. Materi-materi yang bias digunakan di dalam permainan orthello diantaranya : negascout. Permainan ini dimainkan di atas papan arena permainan persegi yang terdiri dari kotak-kotak kecil. memory-enhanced test driver value f. Permainan ini di luar negeri lebih dikenal dengan nama Reversi. Peralatan lain yang dibutuhkan ialah koin hitam dan koin putih masing-masing sebanyak 64 buah. Pemenang ialah pemain yang memiliki jumlah koin paling banyak di atas arena permainan. Hanya 1 koin yang dapat dipindahkan setiap kali giliran jalan. Koin hitam harus dapat µmelompati¶ koin putih agar koin putih dapat menjadi hitam. Pada awal permainan diletakkan dua koin hitam dan dua koin putih pada pusat arena. Dibawah ini akan dijelaskan satu persatu menegnai langkah-langkah diatas.mengisahkan seorang kulit hitam yang mempunyai istri kulit putih yang cantik bernama Desdemona. Gerakan koin dapat lurus maupun diagonal asalkan setiap pergerakan membentuk satu garis lurus. Permainan Othello dimainkan oleh dua orang pemain. Setelah koin hitam berpindah posisi dan koin-koin yang dilalui diubah warnanya menjadi hitam. atau seluruh koin yang ada di atas arena berwarna sama. Kedua pemain terus menerus secara bergantian memindahkan letak koin masing-masing. Saat ini Othello tidak hanya dimainkan secara tradisional. Permainan akan berakhir jika semua kotak arena sudah terisi koin. koin putih yang mendapat giliran untuk berpindah. Dengan memanfaatkan kecerdasan buatan di era teknologi sekarang ini permainan orthello lebih asyik dimainkan. Permainan othello dimainkan pada arena papan kotak-kotak persegi dengan koin hitam dan putih diatas arena. . Permainan akan berakhir jika seluruh kotak-kotak kecil pada arena permainan terisi koin atau seluruh koin di atas arena berwarna sama. dan algoritma greedy. Pemenang adalah pemain yang memiliki jumlah koin lebih banyak diatas arena.akhirnya permainan ini memakai batu dengan 2 warna. dan sebaliknya. Pada awal permainan akan diletakkan dua koin hitam dan dua koin putih pada pusat arena. Misalkan pemain pertama menggunakan koin hitam dan pemain kedua menggunakan koin putih.

2. syarat untuk melakukan research adalah jika nilai dari t lebih besar dari B. lebih kecil dari beta.1. Berikut penjelasan algoritma MTDF yang dijabarkan pada gambar 2. dan pada node tersebut harus mempunyai anak sampai kedalaman lebih besar dari satu (depth>1). bukan anak pertama dari node yang diproses (i>1). . Memory-enhanced Test Driver value f Pencarian pada MTDF menggunakan bound sebagai tempat penyimpanan nilai minimax. maka beta pruning akan diproses sehingga proses research tidak akan terjadi. Syarat t lebih kecil dari beta diperlukan karena jika t lebih besar dari beta. dimana bound tersebut terbagi menjadi 2 macam.1994). Berikut penjelasan algoritma Negascout yang dijabarkan pada gambar 1. Gamabr 1. yaitu upperbound dan lowerbound yang menunjukkan rentang dimana nilai minimax berada (Aske Plaat. maka akan terjadi proses research atau proses pencarian ulang. sedangkan sisanya merupakan langkah terburuk (Aske Plaat. Cara kerja dari algoritma mtdf adalah dengan cara melakukan serangkaian pemanggilan algoritma alpha beta secara berulang-ulang.1994). Namun jika ternyata ada langkah yang lebih baik dari langkah pertama. Negascout Negascout adalah salah satu metode pencarian minimax dengan berasumsi bahwa langkah pertama yang diambil merupakan langkah terbaik. Algoritma Negascout Pada algoritma dari gambar 1.

parameter f merupakan nilai perkiraan. Algoritma alpha beta yang digunakan sedikit berbeda dengan algoritma alpha beta konvensional. kemudian nilai yang dikembalikan adalah nilai lowerbound saat itu. Algoritma MTDF Pada algoritma gambar 2. dapat dilihat pada baris 1. Pruning terjadi untuk upperbound jika nilai upperbound kurang dari sama dengan nilai alpha. dimana untuk menentukan nilai dari upperbound dan lowerbound . Proses pemanggilan algoritma alpha beta akan berhenti jika nilai dari lowerbound lebih besar dari upperbound. Pada algoritma gambar 3. yang nantinya digunakan untuk perbandingan dengan nilai alpha dan beta yang didapat. Berikut penjelasan algoritma alpha beta with memory yang dijabarkan pada gambar 3. .Gambar 2. Dimana pada algoritma alpha beta with memory menyimpan nilai upperbound dan lowerbound setiap node. dari situ akan banyak pruning yang akan dihasilkan. Minimal dilakukan dua kali proses pemanggilan. kemudian nilai yang dikembalikan adalah nilai upperbound saat itu. Jika nilai dari parameter tersebut mendekati nilai minimax maka proses pemanggilan terhadap algoritma alpha beta akan semakin sedikit. merupakan proses pengambilan nilai upperbound dan lowerbound yang kemudian dicek dengan nilai alpha beta saat itu. Pruning terjadi untuk lowerbound jika nilai lowerbound lebih besar sama dengan nilai beta.

untuk baris ke 3 dan 4 merupakan proses penyimpanan nilai upperbound dan lowerbound kedalam memory node saat itu. yang terpenting dalam permainan tersebut sebenarnya ada pada jumlah . yang mana nilai minimax berada diantara nilai upperbound dan lowerbound. terdapat tambahan algoritma untuk menyimpan nilai upperbound dan lowerbound. 3. Algoritma alpha beta with memory.Gambar 3. Pada algoritma gambar 3. Fungsi Evaluasi Banyak orang beranggapan bahwa yang terpenting dalam memenangkan permainan Othello adalah jumlah disc yang dapat dibalik atau dirubah pada tiap kali kesempatan. Jadi pada algoritma alpha beta with memory. Untuk baris 2 terlihat sama dengan algoritma pada alpha beta konvensional. Anggapan tersebut tidaklah benar.

Berikut penjelasan berupa gambar contoh cara penyimpanan nilai pada edge table. antara lain edge table. 3.Penyimpanan edge table Maksud dari penjelasan pada gambar 4 adalah jika misalkan terdapat pola pada salah satu sisi papan 00001020 (0 menunjukkan petak kosong. 2 disc hitam). Berikut penjelasan berupa gambar tabel. 3. Gambar 4. Selanjutnya data yang telah tersimpan dalam edge table akan diolah oleh mobility. maka nilai dari hasil pola tersebut akan disimpan pada edge table pada index ke-33. frontier dan penguasaan corner. liberties.2 Mobility Seperti yang telah dijelaskan sebelumnya bahwa mobility merupakan jumlah langkah yang dapat dimainkan oleh pemain pada tiap kali kesempatan.1 Edge Table Edge table merupakan wadah untuk menyimpan nilai-nilai mobility dari papan permainan. 1 disc putih. Semakin banyak mobility yang didapat maka akan semakin banyak pula langkah-langkah bagus yang dapat dimainkan. Contoh evaluasi mobility . yang berisi mengenai beberapa contoh cara mengevaluasi nilai mobility. Berikut beberapa fungsi evaluasi yang digunakan beserta komponen pendukungnya.langkah yang dapat diambil disebut juga dengan mobility. mobility. Tabel 1. Jumlah langkah ini didapat dengan mengevaluasi pola pada satu sisi papan dan selanjutnya disimpan kedalam edge table. Cara kerja edge table adalah dengan hanya mengevaluasi satu sisi papan. yang mana selanjutnya hanya perlu mencerminkannya kesemua sisi-sisi pada papan permainan.

Pada tabel 1. Berikut contoh gambar permasalahan yang mungkin terjadi. 6 petak 729. 8 sisi vertical dan 18 sisi diagonal. karena untuk mengevaluasi petak dengan sisi diagonal. baik horisontal. Sebelumnya perlu diketahui untuk perhitungan hanya untuk disc putih dan sisi-sisi yang dilingkari saja yang akan dihitung (pada penerapan. Gambar 5. kemudian simpan kedalam edge table. Evaluasi seluruh sisi papan. seluruh sisi horisontal. pada kolom pola terdapat tanda panah ke atas. a. vertikal dan diagonal perlu dihitung).Berikut langkahlangkah yang diperlukan mulai dari awal hingga didapat nilai mobility total untuk keseluruhan sisi papan. Proses semua kombinasi pola pada satu sisi papan mulai dari 00000000 sampai 22222222 dan hitung jumlah mobility yang ada seperti pada contoh tabel evaluasi mobility. selanjutnya akan dijelaskan mengenai contoh permasalahan yang mungkin terjadi papan permainan. 8 sisi horisontal. Siapkan 5 jenis edge table dengan ukuran penampung berbeda-beda. Edge untuk 8 petak dengan ukuran 6561. 7 petak ukuran 2187. b. Berikut penjelasan mengenai cara perhitungan berdasarkan pada gambar 6. Contoh permasalahan papan. Mobility 1 = 0 Mobility 2 = 1 Mobility 3 = 0 Edge_Tabel[35 x 2 + 34 x 2+ 33 x 2 = 702] Edge_ Tabel[34 x 1 + 33 x 2 = 135] Edge_ Tabel[34 x 1 = 81] . Setelah mengetahui bagaimana langkah-langkah yang diperlukan dalam mengevaluasi nilai mobility. Keseluruhan ada 34 sisi yang diproses. Pemberian nilai pada kolom mobility ini berdasarkan jumlah posisi disc yang dapat diletakkan dan harus sesuai dengan jenis disc yang diletakkan. yang menunjukkan posisi-posisi dimana pemain dapat meletakkan disc. Diperlukan edge untuk menampung 7 sampai 4 petak. 5 petak 243 dan 4 petak 81. vertikal dan diagonal. c. dapat dilihat pada gambar 5.

3.Mobility 4 = 0 Mobility 5 = 1 Mobility 6 = 0 Edge_ Tabel[34 x 2 = 162] Edge_ Tabel[34 x 2 + 33 x 1 + 32 x 1 = 198] Edge_ Tabel[34 x 2 + 33 x 2 = 216] Nilai evaluasi = Mobility 1 + « + Mobility 6 =0+1+0+0+1+0=2 Berdasarkan pada contoh permasalahan yang terjadi pada papan pada gambar 6 dan hasil perhitungan nilai mobility yang telah dilakukan dapat disimpulkan bahwa nilai evaluasi total yang didapat untuk disc putih adalah 2. Nilai evaluasi total berdasarkan perhitungan yang telah dilakukan didapat dengan cara menjumlahkan seluruh mobility yang didapat dari hasil evaluasi yang telah diproses untuk sisi horisontal dan vertikal dari contoh permasalahan pada gambar 5. 3.Inisialisasi nilai-nilai Liberties Setelah proses penyimpanan nilai-nilai liberties dilakukan.3 Liberties Liberties digunakan untuk menampung jumlah petak kosong yang berada disekeliling tiap-tiap petak pada papan. untuk selanjutnya . karena semakin banyak frontier memungkinkan lawan untuk mendapatkan semakin banyak mobility tambahan pada beberapa langkah ke depan dan juga mengurangi mobility-nya sendiri.4 Potential Mobility atau Frontier Frontier merupakan jumlah disc yang berbatasan dengan petak kosong. Gambar 6. Jika terjadi kondisi dimana semakin banyak frontier yang didapat. maka akan semakin jelek pula posisinya. selanjutnya nilai-nilai yang disimpan tersebut akan diproses oleh frontier untuk mengetahui jumlah disc yang berbatasan dengan petak kosong. Berikut nilai-nilai yang disimpan kedalam liberties dapat dilihat pada gambar inisialisasi nilai-nilai liberties. Berikut penjelasan berupa gambar contoh nilai-nilai liberties dan papan.

namun nilai liberties pada petak (5. Gambar 7. Gambar 8. Dari gambar contoh nilai-nilai liberties dan papan. .5 Penguasan Corner Penguasaan corner merupakan penguasaan terhadap posisi-posisi pojok dari papan. karena perubahan yang terjadi pada papan mengakibatkan nilai-nilai liberties juga ikut berubah. untuk nilai frontier disc putih sebanyak 5. 3. Pemberian nilai -3 karena pada posisi tersebut tidak terlalu rawan.dihitung frontiernya. Contoh liberties dan papan Gambar contoh nilai-nilai liberties pada gambar 7 dengan gambar inisialisasi liberties pada gambar 6 berbeda. Jadi kemungkinan besar kemenangan dapat diraih dengan menguasai posisiposisi pojok tersebut.Inisialisasi nilai-nilai corner Pemberian nilai-nilai pada gambar inisialisasi nilai-nilai corner hanya berupa nilai perkiraan saja. karena disc yang diletakkan pada posisi tersebut tidak dapat dirubah atau dibalik. sedangkan untuk disc hitam sebanyak 6 (jumlah disc 7. Berikut penjelasan berupa gambar mengenai pemberian nilai pada posisi-posisi pojok tersebut dapat dilihat pada gambar inisialisasi nilai-nilai corner. jadi tidak dihitung). Cara merubah nilai-nilai pada liberties adalah dengan mengurangi sebanyak satu kali dari nilai liberties tiap-tiap petak yang berbatasan dengan disc yang baru saja diletakkan. sedangkan nilai -60 merupakan posisi paling rawan untuk mendapatkan posisi pojok. Berdasarkan gambar 7 cara menghitung frontieradalah jumlahkan banyaknya disc pada papan dengan melihat nilai-nilai pada liberties yang lebih besar dari nol.4) adalah nol.

Prinsip algoritma greedy pada setiap langkah ialah mengambil pilihan terbaik yang dapat diperoleh saat itu tanpa memperhatikan konsekuensi ke depan. dinyatakan dengan predikat LAYAK. . Algoritma greedy membentuk solusi langkah per langkah. 2. Pendekatan yang digunakan di dalam algoritma greedy adalah membuat pilihan yang tampak memberi perolehan terbaik. Algoritma Greedy Algoritma greedy merupakan metode yang paling populer untuk memecahkan masalah optimasi. dan berharap bahwa dengan memilih optimum lokal pada setiap langkah akan menghasilkan optimum global pada akhir proses. Fungsi objektif. 5. Himpunan kandidat. yang memaksimumkan atau meminimumkan nilai solusi. memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak dengan tidak melanggar constraints yang ada.4. Himpuan solusi. dan berharap bahwa dengan memilih optimum lokal pada setiap langkah akan menghasilkan optimum global pada akhir proses. 3. 4. Skema umum algoritma greedy dapat digambarkan melalui pseudo-code berikut. Prinsip algoritma greedy pada setiap langkah ialah mengambil pilihan terbaik yang dapat diperoleh saat itu tanpa memperhatikan konsekuensi ke depan. dinyatakan dengan predikat SELEKSI memilih kandidat yang paling memungkinkan mencapai solusi optimal pada setiap langkah. Fungsi seleksi. berisi kandidat-kandidat yang terpilih sebagai solusi persoalan. yang berisi elemen-elemen pembentuk solusi. Persoalan optimasi algoritma greedy disusun oleh elemen-elemen berikut : 1. yaitu dengan membuat pilihan optimum local pada setiap langkah dengan harapan akan mengarah ke solusi optimum global. Fungsi kelayakan.

Greedy by jarak ke tepi Pada setiap langkah. sama sekali tidak dapat dilangkahi oleh lawan. koin pemain akan menuju ke koordinat yang semakin dekat dengan tepi arena permainan. Strategi ini berusaha memaksimumkan jumlah koin pada akhir permainan dengan menghasilkan koin sebanyak-banyaknya pada setiap langkah.Gambar 9. Strategi ini berusaha memaksimumkan jumlah koin pada akhir permainan dengan menguasai daerah tepi yang sulit untuk dilangkahi koin lawan. Greedy by jumlah koin Pada setiap langkah. 2. koin pemain akan menuju koordinat yang menghasilkan sebanyak mungkin koin lawan. .Pseudocode algoritma greedy Terdapat dua strategi greedy heuristik yang akan diimplementasikan untuk menghasilkan sebanyak mungkin koin sehingga dapat memenangkan permainan. yaitu : 1. Bahkan untuk bagian pojok arena.

Range k berkisar antara 1-8. prioritas pemilihan langkah ialah ke arah kanan. Selain array. kanan atas. hingga angka 8 yang menunjukkan arah kanan bawah. Prioritas pergerakan koin jika jumlah[k] sama . kemudian urut berlawanan arah dengan jarum jam. terdapat pula dua buah variabel bertipe integer yang diberi nama JHitam dan JPutih. Indeks i dan j masing-masing antara 1-8 yang menunjukkan koordinat terhadap sumbu X dan sumbu Y.4. Nilai himpunan kandidat disimpan di dalam sebuah array satu dimensi yang diberi nama jumlah[k]. Kemudian pemain akan memilih langkah yang menghasilkan nilai terbesar dengan harapan akan menghasilkan solusi yang optimum. Elemen array isi akan bernilai 1 jika pada koordinat tersebut terdapat koin berwarna hitam. 1 menunjukkan arah kanan. JHitam akan berisi jumlah koin hitam di atas arena permainan. sedangkan JPutih berisi jumlah koin putih di atas arena permainan. Jika terdapat lebih dari satu jumlah[k] yang bernilai paling besar. atas. sehingga prioritas terakhir ialah ke arah kanan bawah. Sebelum memulai setiap langkah. 4 3 2 5 1 6 7 8 Gambar 10. dan terus memutar berlawanan arah dengan jarum jam. dan akan bernilai 0 jika pada koordinat tersebut terdapat koin berwarna putih.1 Greedy untuk Jumlah Koin pada Permainan Orthello Untuk merepresentasikan masalah digunakan sebuah larik (array) dua dimensi yang diberi nama isi[i][j]. pemain akan menghitung nilai yang akan didapatkan pada setiap kemungkinan langkah. Angka 1-8 menunjukkan arah dari koordinat asal ke koordinat tujuan.

tidak ada pergerakan yang dapat dilakukan sehingga arah tersebut tidak masuk ke dalam himpunan kandidat. Persoalan optimasi dengan greedy by jumlah koin disusun oleh elemen-elemen berikut : 1. Pemilihan jumlah[k] terbesar merupakan pemilihan optimum lokal yang diharapkan akan menjadi optimum global. 4. Jika hal ini terjadi. Jika terdapat lebih dari satu jumlah[k] memiliki nilai paling besar. prioritas pemilihan langkah ialah arah 1 dari seluruh koin. langkah yang dipilih menghasilkan jumlah[k] maksimum. 3. langkah-langkah pada himpunan kandidat yang memiliki jumlah[k] terbesar.Pada suatu permainan Othello sangat mungkin pada satu giliran jalan terdapat banyak koin yang mungkin untuk dijalankan. Himpunan solusi. Fungsi objektif. dan seterusnya. B O O O O O O O A O O O O Gambar 11. seluruh jumlah[k] yang memungkinkan dimana k berada pada range 1-8. A menunjukkan langkah selanjutnya . pemain yang menggunakan koin putih yang akan memenangkan permainan. Himpunan kandidat. 2. dengan prioritas letak koin di kanan-atas. Kemudian dilanjutkan dengan urutan koin yang sama dengan arah 2. Fungsi kelayakan. dan sebaliknya jika JPutih lebih besar nilainya. Jika pada arah tertentu tidak terdapat koin lawan untuk dilangkahi. Pemain yang menggunakan koin hitam akan memenangkan permainan jika JHitam > JPutih. periksa apakah k masih dalam range yang telah ditetapkan. 5. Contoh ilustrasi permainan Othello dengan greedy by jumlah koin. pilihlah langkah yang menghasilkan jumlah[k] terbesar. Fungsi seleksi. pilih langkah sesuai urutan prioritas.

4. Terdapat pula dua variabel bertipe integer yang diberi nama JHitam dan JPutih untuk menyimpan jumlah koin. Jika pada arah tertentu tidak terdapat koin lawan untuk dilangkahi. Jarak ke kanan disimpan dalam array kanan[p] dan jarak ke kiri dalam array kiri[p]. Jarak ke tepi atas dan bawah tidak ikut diperhitungkan.Huruf A pada Gambar 3 menunjukkan langkah selanjutnya yang dipilih jika bermain menggunakan greedy by jumlah koin. Misalkan. Range indeks i dan j berada diantara 1-8 yang menunjukkan koordinat terhadap sumbu X dan sumbu Y. Karena itulah para pemain seringkali memiliki prioritas untuk melangkah ke tepi. seluruh kanan[p] dan kiri[p] yang mungkin dimana p menunjukkan arah langkah seperti ditunjukkan Gambar 10. Bahkan koin yang terletak di pojok arena tidak dapat dilangkahi dari arah manapun. untuk pergerakan ke titik (3. koin yang terletak di tepi arena permainan lebih sulit untuk dilangkahi karena hanya mungkin dilangkahi dari 2 arah saja. Elemen array isi akan bernilai 1 jika pada koordinat tersebut terdapat koin berwarna hitam. sedangkan konstanta 1 merupakan koordinat paling kiri. p menunjukkan prioritas arah seperti yang ditunjukkan Gambar 10. . Jarak ke tepi yang menjadi fokus batasan pada algoritma ini ialah jarak ke tepi kiri dan tepi kanan. pada greedy by jarak ke tepi juga menggunakan sebuah larik (array) dua dimensi yang diberi nama isi[i][j] untuk merepresentasikan masalah. Serupa dengan greedy by nilai koin. Himpunan kandidat. dan akan bernilai 0 jika pada koordinat tersebut terdapat koin berwarna putih. Jarak ke kedua tepi disimpan dalam dua buah array satu dimensi. tidak ada pergerakan yang dapat dilakukan sehingga arah tersebut tidak masuk ke dalam himpunan kandidat. Koordinat yang ditandai dengan huruf A dan huruf B sama-sama menghasilkan dua koin putih.5).2 Greedy untuk Jarak ke Tepi pada Permainan Orthello Dalam permainan Othello. Persoalan optimasi dengan greedy by jarak ke tepi disusun oleh elemen-elemen berikut : 1. namun koordinat B memiliki prioritas lebih rendah sehingga koordinat A yang dipilih sebagai langkah selanjutnya. kanan[p] = 8 ± 3 kiri [p] = 3 ± 1 Konstanta 8 merupakan koordinat paling kanan.

Himpunan solusi. semakin besar prioritas koordinat tersebut untuk dipilih. Jika terdapat lebih dari 1 nilai terkecil. Pemilihan kanan[p] atau kiri[p] terkecil merupakan pemilihan optimum lokal yang diharapkan akan menjadi optimum global. Contoh ilustrasi permainan Othello dengan greedy by jarak ke tepi. Pemain yang menggunakan koin hitam akan memenangkan permainan jika JHitam > JPutih. pilihlah langkah yang menghasilkan kanan[p] atau kiri[p] terkecil. langkah yang dipilih menghasilkan jarak minimum dengan tepi arena.2. Semakin dekat jarak ke tepi. Fungsi kelayakan. A menunjukkan langkah selanjutnya Huruf A pada Gambar 4 menunjukkan langkah selanjutnya yang akan dipilih jika bermain menggunakan greedy by jarak ke tepi. Fungsi objektif. 4. 3. Fungsi seleksi. O O O O O O O O A Gambar 4. periksa apakan p dan q masih termasuk dalam range yang telah ditetapkan. kanan[p] dan kiri[p] yang memiliki nilai paling minimum. pilih berdasarkan urutan prioritas. yang berarti jarak paling dekat dengan tepi arena. 5. dan sebaliknya jika JPutih lebih besar nilainya. . pemain yang menggunakan koin putih yang akan memenangkan permainan.

karena lawan akan mendapat semakin banyak mobility tambahan dan juga akan mengurangi mobility yang didapat. Pada awal permainan. jadi perlu diperhatikan. Negascout berasumsi langkah pertama yang ditelusuri adalah langkah terbaik dan menganggap bahwa langkah-langkah selanjutnya sebagai langkah terburuk. Penguasaan corner pada permainan othello juga penting. saat telah menguasai daerah tepi pemain diharapkan dapat melompati koin sebanyak mungkin agar dapat memenangkan permainan . Edge table digunakan untuk menyimpan nilai mobility dengan mengevaluasi satu sisi papan. Algoritma greedy dapat memecahkan masalah optimasi. Proses pruning akan banyak dihasilkan dari penggunaan bound ini. Pada kenyataannya. Semakin banyak frontier maka akan semakin buruk. selanjutnya untuk evaluasi total didapatkan dengan cara mencerminkannya keseluruh sisi-sisi papan. Potential mobility atau frontier menggunakan liberties untuk mengevaluasi jumlah disc yang berbatasan dengan petak kosong. karena kemungkinan besar kemenangan akan diraih dengan menguasai daerah-daerah pojok. umumnya pemain mengkombinasikan kedua algoritma di atas untuk mendapatkan hasil yang optimum. Namun sebaliknya. Jika terdapat langkah yang lebih baik dari langkah pertama maka akan dilakukan proses research. Pemberian nilai yang tepat akan mempengaruhi hasil dari perhitungan fungsi evaluasi.1 Kesimpulan Dari penjelasan sebelumnya yang berisi mengenai metode pencarian minimax dan proses perhitungan untuk fungsi evaluasi. karena semakin banyak pula langkah bagus yang dapat dimainkan. Semakin banyak mobility atau jumlah langkah yang dapat dimainkan oleh pemain pada satu kali kesempatan maka akan semakin bagus. namun tidak selalu menghasilkan solusi yang optimum. MTDF yang menggunakan upperbound dan lowerbound bekerja dengan melakukan pemanggilan alpha beta with memory secara berulang-ulang.BAB III PENUTUP 3. pemain diharapkan lebih fokus untuk mengincar daerah tepi arena agar dapat menyusun µbenteng pertahanan¶. dapat disimpulkan bahwa.

id/.gunadarma.pdf http://journal.pdf www.pdf www.id/download/Kecerdasan_buatan.id/index..uii.pdf www.staff..com/download/gameplaying.php/Snati/article/view/1278/1088 wsilfi.id/Downloads/files/4338/1-AI.hansmichael.DAFTAR PUSTAKA bsavitri..pdf .ac.ac.org/~rinaldi/Stmik/.staff./MakalahIF2251-2008-024.gunadarma./Bab+1+Pengenalan+Kecerdasan+Buatan.ac.unimmer.informatika..ac.

MAKALAH TEKNOLOGI INFORMASI Memenangkan Permainan Orthello Menggunakan Kecerdasan Buatan KARYA TULIS ILMIAH Disusun untuk memenuhi tugas Mata Kuliah Teknologi Informasi Yang diampu oleh : Sukmawati Nur Endah. MKom Disusun Oleh : ARGA BRAHMANTYO J2D009027 JURUSAN FISIKA UNIVERSITAS DIPONEGORO FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM SEMARANG 2010 . Ssi.

Sign up to vote on this title
UsefulNot useful