Back end. Generate soal. logic. Generate plan. output. N-puzzle solved GUI. Parsing output dari solver

Ukuran: px
Mulai penontonan dengan halaman:

Download "Back end. Generate soal. logic. Generate plan. output. N-puzzle solved GUI. Parsing output dari solver"

Transkripsi

1 4 2 Modul permainan untuk user akan menampilkan graphic user interface berupa soal N-puzzle yang dapat dimainkan oleh user dan solusinya. 3 Modul untuk pengujian akan menampilkan soal yang dibangkitkan, solusi yang dihasilkan, dan waktu penyelesaiannya. Komunikasi Bagian komunikasi akan mengodekan (encode) problem menjadi input untuk back end dan harus mengodekan kembali output dari back end menjadi representasi N-puzzle. Modul komunikasi akan dibangun dengan PHP. Arsitektur Sistem Front end Generate problems N-puzzle (pilih ukuran dan pengacakan) GUI Pengujian N-puzzle Komunikasi Parser Gambar 5 Arsitektur sistem. Back end Generate soal logic Generate plan output Arsitektur sistem pada Gambar 5 terdiri atas tiga bagian yaitu, back end, front end, dan modul komunikasi. Back end untuk pembangkitan soal dikerjakan oleh PHP. Sedangkan untuk penyelesaian akan dikerjakan oleh DLV dan C++. Berdasarkan arsitektur sistem di atas, diagram alur proses N-puzzle sampai menghasilkan solusi dapat di lihat pada Gambar 6. Pembangkitan soal N-puzzle Pilih ukuran N-puzzle Pilih jumlah pengacakan Generate.php Soal.dat N-puzzle solver Npuzzle.txt (DLV) solve5.cpp (solve5.exe) solve10.cpp (solve.exe) solve15.cpp (solve15.exe) Idsgame.php (fungsi exec) N-puzzle solved GUI Parsing output dari solver Menampilkan hasil parsing ke bentuk representasi N-puzzle Pengujian Gambar 6 Diagram alur proses N-puzzle. HASIL DAN PEMBAHASAN Banyaknya arah bergerak untuk nilai 0 bergantung pada banyaknya adjacent dari nilai 0 tersebut. Selain itu, pergerakan N- puzzle tidak boleh kembali pada satu langkah tepat sebelumnya karena akan jadi gerakan yang percuma. Pembangkitan soal dimulai dari puzzle yang solve. Node yang dikunjungi akan dipilih secara random dari adjacent yang tersedia. Pseudo code dari pembangkitan N- puzzle lihat pada Lampiran 1. Penyelesaian N- puzzle dilakukan dengan dua cara yaitu answer set programming (ASP) dengan DLV dan iteration deepening search (IDS) dengan C++. Domain Masalah dalam DLV Posisi sebuah nilai pada N-puzzle direpresentasikan dengan predikat at(t,n,x,y). T menunjukkan waktu dari sebuah nilai N pada posisi dengan koordinat X,Y pada grid. Pada soal N-puzzle variabel T dimulai dari 0 dan akan bertambah sampai dengan waktu N-puzzle selesai (solve). Variabel N akan berisi nilai 0 sampai N pada N-puzzle. Variabel X dan Y bergantung pada ukuran puzzle. Soal N-puzzle yang dibangkitkan dibentuk menjadi himpunan predikat at dan menjadi fakta awal untuk permasalahan N-puzzle. Sebagai contoh soal N-puzzle dengan ukuran 3x3 seperti pada Gambar 7. Gambar 7 Soal N-puzzle yang dibangkitkan. Soal N-puzzle pada Gambar 7 dikodekan ke dalam bentuk predikat seperti berikut : at(0,1,1,1). at(0,2,2,1). at(0,3,3,1). at(0,4,1,2). at(0,6,2,2). at(0,0,3,2). at(0,7,1,3). at(0,5,2,3). at(0,8,3,3). Pergerakan angka 0 pada N-puzzle akan direpresentasikan dengan predikat move(t,x,y) pada waktu T angka 0 akan bergerak ke koordinat X,Y. Encoding dengan DLV Pendekatan guess and check pada ASP diterapkan untuk penyelesaian menggunakan

2 5 DLV. Guess akan menebak semua kandidat solusi. Untuk menebak semua kandidat solusi kita mulai dengan mendefinisikan ruang pencarian yang memenuhi logic dari N-puzzle. Waktu melangkah, posisi nilai 0, kotak yang adjacent dengannya, dan kondisi puzzle akan menentukan ruang pencarian. Langkah pertama dan langkah-langkah berikutnya akan memiliki ruang pencarian yang berbeda. Pada langkah pertama, N-puzzle memiliki node tujuan sebanyak dua, tiga, atau empat tergantung pada jumlah adjacent dari nilai 0, sedangkan pada langkah berikutnya N- puzzle memiliki : node tujuan = adjacent 1. Selain itu, pada langkah selanjutnya kondisi puzzle menjadi pertimbangan untuk melakukan langkah atau berhenti (selesai), sedangkan pada langkah pertama tidak. Hal ini disebabkan puzzle yang dibangkitkan tidak mungkin sudah solve dari awal. Jika posisi 0 seperti pada soal di Gambar 7, contoh aturannya sebagai berikut: move(1,2,2) v move(1,3,1) v move(1,3,3) :- at(0,0,3,2). Aturan di atas menjelaskan jika nilai 0 berada di sisi kanan puzzle dengan koordinat (3,2), nilai 0 memiliki tiga kemungkinan gerak, yaitu ke kiri (2,2), ke atas (3,1), dan ke bawah (3,3). Kode aturan gerakan pada langkah pertama yang lebih lengkap dapat dillihat pada Lampiran 2. Pada posisi yang sama, jika sebelumnya nilai 0 bergerak dari bawah (3,3) ke posisi tersebut (3,2), program akan memeriksa apakah puzzle sudah solve atau belum. Jika puzzle sudah solve, tidak akan melakukan langkah lagi dan program akan berhenti. Namun, jika puzzle belum solve, kemungkinan gerak nilai 0 tinggal ke kiri (2,2) atau ke atas (3,1). Kode aturan gerakan pada langkah berikutnya dapat dillihat pada Lampiran 3. Berikut adalah contoh aturannya : move(2,2,2) v move(2,3,1) :- at(1,0,3,2), at(0,0,3,3), not solved(1). Selanjutnya, menentukan aturan pertukaran posisi 0 akibat terjadi suatu pergerakan. Jika pada aturan di atas menghasilkan move(2,2,2), nilai 0 akan bertukar posisi dengan nilai N yang pada T=1 berada di posisi 2,2. Kode aturan pertukaran posisi nilai 0 dapat dillihat pada Lampiran 4. Berikut adalah contoh bentuk aturannya: at(2,0,2,2) :- at(1,0,3,2), at(1,n,2,2), move(2,2,2). at(2,n,3,2) :- at(1,0,3,2), at(1,n,2,2), move(2,2,2). Selain itu, kita juga harus membuat aturan frame axiom. Frame axiom berfungsi untuk menentukan kondisi state pada langkah selanjutnya untuk nilai-nilai yang tidak bergerak. Program akan terus menentukan frame axiom selama kondisi puzzle belum solve. Namun, jika puzzle sudah solve program akan berhenti menetukan frame axiom. Kode aturan frame axiom dapat dillihat pada Lampiran 5. Pada kasus di atas, contoh aturannya sebagai berikut : at(2,n,3,1) :- at(1,0,3,2), at(1,n,3,1), not move(2,3,1),not solved(1). Bagian terpenting dari logika adalah kita harus menentukan tujuan dari pencarian. Program dinyatakan selesai (solve) jika sudah mencapai tujuan pada waktu T. Berikut adalah aturan pada DLV untuk kondisi selesai (solve): solvedt :- solved(t). Kondisi solved(t) adalah tujuan dari program, yaitu ketika N-puzzle sudah terurut. Kondisi solved(t) dibangkitkan berdasarkan ukuran puzzle dari soal yang dibangkitkan. Berikut adalah kondisi yang dibangkitkan untuk soal pada Gambar 7 di atas: solved(t) :- at(t,1,1,1), at(t,2,2,1), at(t,3,3,1), at(t,4,1,2), at(t,6,2,2), at(t,0,3,2), at(t,7,1,3), at(t,5,2,3), at(t,8,3,3). Setelah guess menebak semua kandidat solusi, check akan memeriksa semua kandidat solusi yang dihasilkan dengan menggunakan constraint. Constraint akan menghapus answer set yang tidak memenuhi syarat. Pada N-puzzle, semua path langkah yang tidak menemukan kondisi selesai (solve) akan digugurkan, constraint akan ditulis sebagai berikut: :- solvedt. Menjalankan Model Penyelesaian N-puzzle Soal yang dibangkitkan akan dibuat dalam bentuk fakta dan kondisi solve dari N-puzzle. Setiap soal baru dibangkitkan, fakta dan kondisi solve dari soal tersebut akan ditulis ulang dalam file soal.dat, sedangkan model penyelesaian dengan program DLV akan disimpan dalam file Npuzzle.txt. Misalnya, telah dibangkitkan sebuah soal N- puzzle dengan ukuran 3 x 3 seperti pada Gambar 7. Berikut adalah representasi fakta

3 6 dan kondisi yang akan di tulis pada file soal.dat: #maxint=8. pos(1..3). angka(0..8). n(3). at(0,1,1,1). at(0,2,2,1). at(0,3,3,1). at(0,4,1,2). at(0,6,2,2). at(0,0,3,2). at(0,7,1,3). at(0,5,2,3). at(0,8,3,3). solved(t) :- at(t,1,1,1), at(t,2,2,1), at(t,3,3,1), at(t,4,1,2), at(t,6,2,2), at(t,0,3,2), at(t,7,1,3), at(t,5,2,3), at(t,8,3,3). Fakta di atas diproses bersama dengan model penyelesaian pada file Npuzzle.txt oleh DLV. Output yang diminta hanya path langkah menuju solusi dan jumlah langkahnya. Berikut adalah eksekusi program DLV untuk soal pada Gambar7 : C:\solver>dlv.mingw.tgh soal.dat Npuzzle.txt nofacts filter = move, solved silent {move(1,2,2), move(2,2,3), move(3,3,3), solved(3)} Answer set di atas diterjemahkan kembali menjadi sebuah bentuk representasi N-puzzle seperti pada Gambar 8. Gambar 8 Solusi N-puzzle. Struktur Data pada C++ Ukuran N-puzzle yang dipilih disimpan dalam file ukuran.dat dan soal N-puzzle yang dibangkitkan disimpan dalam file imperatif.dat. Soal N-puzzle yang dibangkitkan akan ditulis dengan format berikut: Nilai1 Nilai2 Nilai3... NilaiN Sebagai contoh, penulisan soal N-puzzle pada Gambar 7 memiliki ukuran puzzle adalah 3 dan soal akan ditulis ke file imperatif.dat seperti berikut : Penyelesaian N-puzzle dengan C++ Sama seperti DLV, program penyelesaian N-puzzle menggunakan C++ juga harus menerapkan logic dari N-puzzle. Pada C++, program dibuat dengan tiga buah fungsi, yaitu fungsi utama yang akan mengambil soal dan ukuran dari file, fungsi untuk memeriksa kondisi solve puzzle, dan fungsi untuk menggerakan puzzle. Program akan dimulai dengan membuka file ukuran.dat dan imperatif.dat untuk mendapatkan ukuran dan soal puzzle. Pseudo code untuk mendapatkan ukuran dan soal dapat dilihat pada Lampiran 6. Ukuran dan soal puzzle yang didapat menjadi input untuk program ini. Ukuran puzzle dikonversi dari sebuah string menjadi integer dan disimpan dalam sebuah variabel. Dengan cara yang sama, semua nilai pada soal N-puzzle akan disimpan ke dalam array satu dimensi. Penyimpanan nilai puzzle dan posisinya pada array dapat dilihat pada Gambar 9. Pada Gambar 9, posisi nilai pada N-puzzle diwakili indeks pada array, dengan indeks array dimulai dari 1. Langkah berikutnya program akan memeriksa puzzle sudah solve atau belum. Untuk memeriksa kondisi solve puzzle program akan menghitung jumlah jarak setiap posisi nilai saat konfigurasi puzzle solve terhadap posisi nilai pada konfigurasi saat ini. Berikut ini adalah rumus untuk memeriksa kondisi solve puzzle: [nilai saat solve] [posisi nilai saat ini] Posisi nilai saat ini dapat menggunakan nilai dari array. Pengecualian terjadi jika nilai array adalah 0, nilai 0 diganti menjadi banyaknya indeks pada array. Banyaknya indeks pada array adalah ukuran*ukuran. Misal untuk puzzle dengan ukuran 3 x 3, nilai 0 akan diganti menjadi 9, sedangkan nilai saat solve adalah indeks dari array untuk posisi nilai tersebut. Gambar 9 Menyimpan soal N-puzzle ke array.

4 7 Jika total perhitungan tersebut bernilai 0, puzzle sudah solve dan program selesai, namun jika hasilnya lebih besar dari 0, puzzle belum terurut (not solve). Pseudo code untuk memeriksa kondisi solve array dapat dilihat pada Lampiran 7. Sebagai contoh untuk penjelasan perhitungan di atas, digunakan kondisi puzzle pada Gambar 9 : Hitsolve = = = 8 Hasil perhitungan di atas akan disimpan ke sebuah variabel. Anggap saja nama variabel tersebut adalah Hitsolve. Perhitungan di atas menghasilkan nilai yang lebih besar dari 0, sehingga puzzle dinyatakan belum terurut (not solve). Ketika puzzle belum terurut, program akan mencari path menuju goal state dari N- puzzle dengan teknik iterative deepening search (IDS). Fungsi utama akan memanggil fungsi yang bertugas menggerakan puzzle dengan parameter array dari puzzle, node tempat nilai 0 berada, node sebelumnya, ukuran puzzle, kedalaman ruang pencarian, status langkah (jika belum melangkah status langkahnya 0), dan kondisi puzzle. Selanjutnya, dengan fungsi yang menggerakan puzzle tersebut program akan melakukan pencarian path yang menuju solusi menggunakan teknik depth-first search (DFS) dengan kedalaman yang dibatasi. Sesuai logic, pergerakan posisi 0 bergantung dari posisinya pada puzzle, banyaknya adjacent, langkah sebelumnya, dan kondisi puzzle. Pada langkah pertama, karena belum melangkah pergerakan 0 tidak dipengaruhi oleh langkah sebelumnya. Fungsi yang menggerakan puzzle ini menerapkan prioritas penentuan arah langkah gerakan 0. Prioritas ini menentukan arah yang lebih dulu dituju oleh nilai 0. Arah yang tersedia bergantung pada adjacent dari posisi 0 dan langkah pertama atau bukan. Berdasarkan arah yang tersedia, pertama 0 diprioritaskan bergerak ke kanan, jika tidak menemukan tujuan setelah bactrack prioritas kedua 0 bergerak ke bawah, jika masih belum menemukan tujuan prioritas setelah bactrack prioritas berikutnya 0 bergerak ke kiri, dan terakhir ke atas. Prioritas berikutnya dilakukan jika pada pencarian pada prioritas sebelumnya tidak menemukan tujuan walaupun sudah mencapai batas kedalaman yang ditentukan dan kembali ke node sebelumnya (setelah bactrack dari prioritas sebelumnya). Seperti pada Gambar 10 di atas, prioritas bergerak 0 adalah ke bawah dulu, lalu ke kiri, dan terakhir ke atas. Pergerakan ke kanan tidak tersedia karena posisi 0 pada puzzle adalah sisi paling kanan. Sesuai gerakan 0 pada puzzle, posisi 0 pada array juga berubah berdasarkan pertukaran dengan adjacent dari posisi 0 pada puzzle. Jika posisi 0 ada pada indeks i,dan n adalah ukuran N-puzzle, pergerakan ke kanan posisi 0 akan bertukar dengan nilai yang berada pada indeks i+1 pada array, pergerakan ke bawah akan bertukar dengan nilai yang berada pada indeks i+n pada array, pergerakan ke kiri akan bertukar dengan nilai yang berada pada indeks i-1 pada array, dan pergerakan ke atas akan bertukar dengan nilai yang berada pada indeks i-n pada array. Jika 0 bergerak ke bawah seperti pada Gambar 10, posisi nilai pada array akan berubah seperti pada Gambar 11. Pada Gambar 11, posisi 0 yang sebelumnya pada indeks 6 di array, setelah pada puzzle posisi 0 bergerak ke bawah, nilai 0 akan berpindah posisi ke indeks 9 pada array. Posisi nilai 8 yang sebelumnya berada pada indeks ke 9 berpindah ke indeks 6 yang sebelumnya ditempati nilai 0. Fungsi yang menggerakan puzzle ini bersifat rekursif karena setelah melangkah (menggerakan posisi 0) fungsi ini akan memanggil dirinya sendiri dengan kondisi puzzle setelah melangkah untuk melakukan langkah berikutnya. Kondisi puzzle setelah melangkah meliputi posisi 0 saat ini, posisi 0 sebelumnya, nilai yang adjacent, dan kondisi puzzle. Gambar 10 Pergerakan N-puzzle. Gambar 11 Pergerakan puzzle pada array.

5 8 Berikut adalah pseudo code untuk prioritas langkah dan pemanggilan dirinya sendiri: IF adjacent right available and not previous THEN Go to adjacent right ELSE IF adjacent down available and not previous THEN Go to adjacent down ELSE IF adjacent left available and not previous THEN Go to adjacent left ELSE IF adjacent up available and not previous THEN Go to adjacent up END IF Jika posisi 0 berada di indeks paling akhir pada array, program akan memeriksa kondisi puzzle sudah solve atau belum. Berikut adalah pseudo code jika posisi 0 berada di indeks paling akhir pada array: IF position of 0 is number of puzzle THEN Cek solve IF puzzle solve THEN puzzle solved print END THIS function ELSE backtrack END IF END IF Jika puzzle sudah solve, program akan mencetak array (konfigurasi puzzle) saat di node tersebut dan kembali ke super function (fungsi yang memanggil fungsi ini) untuk mencetak konfigurasi array-array sebelumnya sampai konfigurasi array soal, sehingga akan terbentuk path yang memiliki solusi dan program selesai seperti pada Gambar 12. Gambar 12 Path dari soal sampai solved. Namun, jika puzzle belum solve dan sudah melakukan pencarian sampai batas kedalaman, program akan melakukan backtrack ke langkah sebelumnya (super function) untuk melakukan langkah pada prioritas berikutnya. Jika pada langkah sebelumnya prioritas pertama 0 bergerak ke semua node di kanan dan buntu, setelah bactrack langkah yang dilakukan berdasarkan prioritas berikutnya (bukan ke kanan). Sebagai contoh, jika pada Gambar 9 nilai 0 bergerak ke bawah lalu buntu, setelah melakukan backtrack, puzzle akan melakukan langkah ke kiri seperti pada Gambar 13. Gambar 13 Backtrack dan prioritas langkah berikutnya. Teknik iteration (iterasi) dari IDS diterapkan pada fungsi utama yang memanggil fungsi untuk menggerakan puzzle berkali-kali dengan batas kedalaman yang bertambah secara berturut-turut. Setiap fungsi utama memanggil fungsi ini kondisi puzzle dimulai dari kondisi awal (soal puzzle). Pseudo code untuk memanggil fungsi yang menggerakan puzzle dapat dilihat pada Lampiran 8. Namun, jika sudah melakukan teknik iterasi sampai batas maksimal kedalaman yang ditentukan tapi masih belum menemukan path yang mencapai solusi, program model penyelesaian N-puzzle dengan pemrograman IDS dinyatakan not solved. Hasil Pengujian Pengujian dilakukan dengan cara membangkitan masing-masing 10 soal N- puzzle untuk ukuran 3 x 3 (8-puzzle), 4 x 4 (15-puzzle), dan 5 x 5 (24-puzzle). Sebagai tambahan, untuk perbandingan dilakukan pengujian untuk puzzle ukuran 6 x 6 (35- puzzle). Banyaknya langkah pengacakan didapatkan secara random. Tool DLV sendiri masih dalam tahap pengembangan. Hal ini menyebabkan program DLV yang dibangun belum dapat mengakomodasi penyelesaian untuk puzzle dengan ukuran lebih besar dari 6 x 6 (35-puzzle) walaupun teknik answer set programming yang digunakan untuk

6 9 penelitian ini dapat menyelesaikan semua ukuran N-puzzle. Model penyelesaian yang digunakan adalah model penyelesaian permainan N- puzzle dengan DLV yang menggunakan answer set programming dibandingkan dengan model penyelesaian yang menggunakan teknik iterative deepening search dengan kedalaman maksimal 5, 10, dan 15. Semua soal yang dibangkitkan tersebut digunakan untuk menguji semua model penyelesaian yang dibangun. Pengujian dilakukan sampai solusi ditemukan atau sudah mengunjungi seluruh ruang pencarian sampai batas kedalaman yang ditentukan. Selain menguji pencarian mencapai solusi atau tidak, akan dihitung waktu eksekusi (satuan detik) beserta waktu rata-rata penyelesaian dari setiap solver untuk setiap ukuran. Waktu ratarata penyelesaian hanya dihitung dari waktu eksekusi solver yang mencapai solusi. Hasil pengujian waktu model penyelesaian dituliskan pada Tabel 1, Tabel 2, Tabel 3, dan Tabel 4. Tabel 1 Waktu eksekusi dan kondisi selesai dari teknik ASP dan IDS untuk 8- puzzle rata-rata dihitung hanya dari waktu pencarian yang menemukan solusi. Tabel 2 Waktu eksekusi dan kondisi selesai dari teknik ASP dan IDS untuk 15- puzzle Dari 10 soal 15-puzzle yang dibangkitkan, seluruhnya dapat diselesaikan dengan DLV dan IDS15. Sementara model IDS5 hanya berhasil menyelesaikan 1 soal dengan acak 5. Model IDS10 hanya berhasil menyelesaiakan 6 soal, yaitu 4 soal dengan acak 10 dan masing-masing 1 soal dengan acak 5 dan 6. Kemudian waktu rata-rata didapat dengan menghitung rata-rata dari waktu eksekusi yang berhasil menemukan solusi. Hal tersebut menyebabkan waktu rata-rata IDS5 hanya dihitung dari 1 waktu penyelesaian yang berhasil menemukan solusi pada langkah ke 5. Tabel 3 Waktu eksekusi dan kondisi selesai dari teknik ASP dan IDS untuk 24- puzzle Untuk 10 soal 8-puzzle yang dibangkitkan dengan jumlah langkah pengacakan yang berbeda, model penyelesaian (solver) dengan ASP (menggunakan DLV) dapat menyelesaikan seluruhnya. Model penyelesaian IDS dengan kedalaman pencarian 5 (IDS5) hanya mampu menyelesaikan 2 soal, yaitu soal dengan langkah pengacakan 4 dan 5 (acak 4 dan 5). Sedangkan model penyelesaian IDS dengan kedalaman pencarian 10 (IDS10) hanya mampu menyelesaikan 5 soal, yaitu 2 soal dengan langkah pengacakan 6, dan masingmasing 1 soal dengan langkah pengacakan 4,5, dan 8. Model penyelesaian IDS dengan kedalaman pencarian 15 (IDS15) dapat menyelesaikan seluruh langkah pengacakan soal berada pada selang 1 sampai 15. Waktu Dari 10 soal 24-puzzle yang dibangkitkan, seluruhnya dapat diselesaikan dengan DLV dan IDS15. Beberapa solusi pertama yang dimunculkan model DLV dapat menyelesaikan soal-soal tersebut dengan jumlah langkah menuju solved yang lebih besar dari 15 langkah. Hal ini disebabkan pada model DLV tidak perlu menentukan batas maksimal kedalaman pencarian yang bisa dicapai. Model IDS15 menyelesaikan soal tersebut dengan jumlah langkah yang lebih kecil atau sama dengan batas maksimal kedalaman pencarian yang ditentukan, yaitu

PERBANDINGAN ANSWER SET PROGRAMMING DAN ITERATIVE DEEPENING SEARCH DALAM MENYELESAIKAN GAME N-PUZZLE

PERBANDINGAN ANSWER SET PROGRAMMING DAN ITERATIVE DEEPENING SEARCH DALAM MENYELESAIKAN GAME N-PUZZLE vii PERBANDINGAN ANSWER SET PROGRAMMING DAN ITERATIVE DEEPENING SEARCH DALAM MENYELESAIKAN GAME N-PUZZLE TEGUH FAJAR NURBIANSYAH DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT

Lebih terperinci

HASIL DAN PEMBAHASAN. Arsitektur sistem

HASIL DAN PEMBAHASAN. Arsitektur sistem Arsitektur sistem Pembangkitan slither link Front End GUI Parser Penyelesaian Slither link Backend Backend Identifikasi aturanaturan pembangkitan slither link Identifikasi aturanaturan penyelesaian slither

Lebih terperinci

Lampiran 1 Pseudo code program C++ untuk pembangkitan soal N-puzzle.

Lampiran 1 Pseudo code program C++ untuk pembangkitan soal N-puzzle. LAMPIRAN 12 13 Lampiran 1 Pseudo code program C++ untuk pembangkitan soal N-puzzle. 1 Set i to 1 2 FOR each i on index array puzzle 3 IF i is end of index array puzzle 4 Set nilai[i] to 0 5 ELSE 6 Set

Lebih terperinci

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound Eric 13512021 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe Penerapan Runut-Balik (Backtracking) pada Permainan Nurikabe Putri Amanda Bahraini Program Studi Teknik Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail: if14041@students.if.itb.ac.id

Lebih terperinci

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata Arfinda Ilmania /13515137 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Penerapan BFS dan DFS pada Pencarian Solusi

Penerapan BFS dan DFS pada Pencarian Solusi Penerapan BFS dan DFS pada Pencarian Solusi Bahan Kuliah IF2151 Strategi Algoritmik Oleh: Rinaldi Munir 1 Pengorganisasian Solusi Kemungkinan2 solusi dari persoalan membentuk ruang solusi (solution space)

Lebih terperinci

Penerapan BFS dan DFS pada Pencarian Solusi

Penerapan BFS dan DFS pada Pencarian Solusi Bahan Kuliah ke-8 IF5 Strategi Algoritmik Penerapan BFS dan DFS pada Pencarian Solusi Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 4 Struktur pencarian

Lebih terperinci

Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube

Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube Felix Terahadi - 13510039 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10

Lebih terperinci

Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem

Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem Ali Akbar - 13514080 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Problem solving by Searching. Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ

Problem solving by Searching. Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ Problem solving by Searching Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ Pendahuluan Pengantar : Membahas agen cerdas penyelesaian problem serta strategi uninformed untuk memecahkan masalah. Tujuan:

Lebih terperinci

IMPLEMENTASI BACKTRACKING ALGORITHM UNTUK PENYELESAIAN PERMAINAN SU DOKU POLA 9X9

IMPLEMENTASI BACKTRACKING ALGORITHM UNTUK PENYELESAIAN PERMAINAN SU DOKU POLA 9X9 Jurnal Informatika Mulawarman Vol. 11 No. 1 Februari 2016 29 IMPLEMENTASI BACKTRACKING ALGORITHM UNTUK PENYELESAIAN PERMAINAN SU DOKU POLA 9X9 Febri Utama 1), Awang Harsa Kridalaksana 2), Indah Fitri Astuti

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Permainan (game) merupakan bidang usaha manusia terhadap kecerdasan buatan, salah satunya adalah sliding puzzle. Permainan ini merupakan permainan yang dapat melatih

Lebih terperinci

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

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik Akbar Gumbira - 13508106 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Masalah Proses analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN Kondisi pengolahan data yang telah dijabarkan sebelumnya pada bab 1 (satu) memiliki keterkaitan terhadap permasalahan yang teridentifikasi. Yaitu permasalahan terkait desain

Lebih terperinci

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni Kecerdasan Buatan Pertemuan 02 Penyelesaian Masalah dengan Pencarian... Husni Lunix96@gmail.com http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM, 2013 Outline Konsep Pencarian Pencarian

Lebih terperinci

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test Hanif Eridaputra / 00 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour Krisnaldi Eka Pramudita NIM-13508014 Prodi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Bandung 40135, Email : if18014@students.if.itb.ac.id

Lebih terperinci

Implementasi Algoritma BFS dan DFS dalam Penyelesaian Token Flip Puzzle

Implementasi Algoritma BFS dan DFS dalam Penyelesaian Token Flip Puzzle Implementasi BFS dan DFS dalam Penyelesaian Token Flip Puzzle Ali Akbar Septiandri - 13509001 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A Nama : Gede Noverdi Indra Wirawan Nim : 0915051050 Kelas : VI A ALGORITMA PENCARIAN Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah argumen kunci dan dengan langkah-langkah

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Dalam sub bab analisis dan perancangan akan dibahas hal-hal yang berhubungan dengan pembuatan permainan ular tangga yang meliputi Analisis, Flowchart, Perancangan,

Lebih terperinci

MASALAH, RUANG KEADAAN & PENCARIAN

MASALAH, RUANG KEADAAN & PENCARIAN MASALAH, RUANG KEADAAN & PENCARIAN 1 Pokok Bahasan Mendefinisikan Masalah dalam Ruang Keadaan Representasi Ruang Keadaan Metode Pencarian & Pelacakan 2 Artificial Intelligence ARTIFICIAL INTELLIGENCE Input:

Lebih terperinci

Praktikum Blind Search (BFS dan DFS)

Praktikum Blind Search (BFS dan DFS) Praktikum Blind Search (BFS dan DFS) LATIHAN SOAL A. 1. Jelaskan algoritma BFS! 2. Jelaskan algoritma DFS! B. Aplikasi Game Petani Angsa Serigala - Padi 1. Tentukan ruang permasalahan (problem space) dari

Lebih terperinci

Analisis Penerapan Algoritma Backtracking Pada Pencarian Jalan Keluar di Dalam Labirin

Analisis Penerapan Algoritma Backtracking Pada Pencarian Jalan Keluar di Dalam Labirin Analisis Penerapan Algoritma Backtracking Pada Pencarian Jalan Keluar di Dalam Labirin Andika Pratama 13505048 Alamat: Jl. Dago Asri Blok C No.16 e-mail: if15048@students.if.itb.ac.id Program Studi Teknik

Lebih terperinci

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin Arie Tando - 13510018 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Strategi Algoritma Penyelesaian Puzzle Hanjie

Strategi Algoritma Penyelesaian Puzzle Hanjie Strategi Algoritma Penyelesaian Puzzle Hanjie Whilda Chaq 13511601 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

Implementasi Algoritma Backtrack untuk Pencarian Solusi Knight s Tour Problem pada Papan Catur m x n

Implementasi Algoritma Backtrack untuk Pencarian Solusi Knight s Tour Problem pada Papan Catur m x n Implementasi Algoritma Backtrack untuk Pencarian Solusi Knight s Tour Problem pada Papan Catur m x n 1 Wamiliana, 1 Dian Kurniasari, 2 Dolly Yudhistira 1 Jurusan Matematika FMIPA Universitas Lampung 2

Lebih terperinci

Analisis Penggunaan Algoritma Backtracking dalam Penjadwalan Kuliah

Analisis Penggunaan Algoritma Backtracking dalam Penjadwalan Kuliah Analisis Penggunaan Algoritma Backtracking dalam Penjadwalan Kuliah Farhan Makarim 13515003 Teknik Informatika Institut Teknologi Bandung Bandung, Indonesia Farhan_makarim@student.itb.ac.id Abstrak model

Lebih terperinci

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF Anthony Rahmat Sunaryo NIM: 3506009 Jurusan Teknik Informatika ITB, Bandung email : if6009@students.if.itb.ac.id Abstract -- Makalah ini membahas tentang analsis

Lebih terperinci

Bab 2 2. Teknik Pencarian

Bab 2 2. Teknik Pencarian Bab 2 2. Teknik Pencarian Bab ini membahas bagaimana membuat ruang masalah untuk suatu masalah tertentu. Sebagian masalah mempunyai ruang masalah yang dapat diprediksi, sebagian lainnya tidak. 1.1 Pendefinisian

Lebih terperinci

Lampiran 1 Program DLV, modul pembangkitan.

Lampiran 1 Program DLV, modul pembangkitan. LAMPIRAN 16 Lampiran 1 Program DLV, modul pembangkitan. 1 arc(x,y,1,0,0,0) v arc(x,y,0,1,0,0) v arc(x,y,0,0,1,0) v arc(x,y,0,0,0,1) :- C(X,Y,1). 2 arc(x,y,1,1,0,0) v arc(x,y,0,1,1,0) v arc(x,y,0,0,1,1)

Lebih terperinci

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian Kecerdasan Buatan Pertemuan 02 Penyelesaian Masalah dengan Pencarian Kelas 10-S1TI-03, 04, 05 Husni Lunix96@gmail.com http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM, 2012 Outline Pendahuluan

Lebih terperinci

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking Krisna Dibyo Atmojo 13510075 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

ALGORITMA RUNUT-BALIK (BACKTRACKING ALGORITHM) PADA MASALAH KNIGHT S TOUR

ALGORITMA RUNUT-BALIK (BACKTRACKING ALGORITHM) PADA MASALAH KNIGHT S TOUR ALGORITMA RUNUT-BALIK (BACKTRACKING ALGORITHM) PADA MASALAH KNIGHT S TOUR Fahmi Mumtaz 50605 Teknik Informatika Institut Teknologi Bandung e-mail: if605@students.if.itb.ac.id; mumtaz_banget@yahoo.co.uk;

Lebih terperinci

Algoritma Backtracking Pada Permainan Peg Solitaire

Algoritma Backtracking Pada Permainan Peg Solitaire Algoritma Backtracking Pada Permainan Peg Solitaire Gilbran Imami, 13509072 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN Indra Mukmin 13506082 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB Jalan Ganeca no.10 Email :

Lebih terperinci

Penerapan Algoritma Backtrack pada Knight s Tour

Penerapan Algoritma Backtrack pada Knight s Tour Penerapan Algoritma Backtrack pada Knight s Tour Adhika Aryantio 13511061 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO Nur Fajriah Rachmah NIM 13506091 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha nomor

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI 27 BAB 3 ANALISIS DAN PERANCANGAN APLIKASI 3.1 Analisis Pada subbab ini akan diuraikan tentang analisis kebutuhan untuk menyelesaikan masalah jalur terpendek yang dirancang dengan menggunakan algoritma

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN BAB 3 ANALISIS DAN PERANCANGAN 3.1 Gambaran Umum Manusia mempunyai kemampuan untuk belajar sejak dia dilahirkan, baik diajarkan maupun belajar sendiri, hal ini dikarenakan manusia mempunyai jaringan saraf.

Lebih terperinci

BAB IV PERANCANGAN. IV.1 Evaluasi Usulan untuk Perancangan Iteratif

BAB IV PERANCANGAN. IV.1 Evaluasi Usulan untuk Perancangan Iteratif Prosedure PrefixSpan(input: a: l: integer, S: Sequence database) { Mencari Sequential Pattern pada sequence database S } Deklarasi D : Temporary Sequence Database Lst : List of Sequential Pattern Sq :

Lebih terperinci

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini.

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini. Pemrograman LabVIEW 6.1 Istilah-Istilah Penting Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini. 1. G: dari kata graphical, merupakan sebutan

Lebih terperinci

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM III.1. Analisa Masalah Perkembangan game dari skala kecil maupun besar sangat bervariasi yang dapat dimainkan oleh siapa saja tanpa memandang umur, dari anak

Lebih terperinci

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker Penggunaan Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker Nanda Ekaputra Panjiarga 13509031 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle Windarto Harimurti NIM : 13503089 Program Studi Teknik Informatika, Institut Teknologi Bandung

Lebih terperinci

PEMBANGKITAN DAN PENYELESAIAN SLITHER LINK DENGAN ANSWER SET PROGRAMMING DAN PROCEDURAL PROGRAMMING SALMAN FARIZI

PEMBANGKITAN DAN PENYELESAIAN SLITHER LINK DENGAN ANSWER SET PROGRAMMING DAN PROCEDURAL PROGRAMMING SALMAN FARIZI PEMBANGKITAN DAN PENYELESAIAN SLITHER LINK DENGAN ANSWER SET PROGRAMMING DAN PROCEDURAL PROGRAMMING SALMAN FARIZI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN

Lebih terperinci

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM BAB III AALISIS MASALAH DA RACAGA PROGRAM III.1. Analisis Masalah Permainan Halma merupakan permainan yang mengasah logika pemainnya. Permainan halma mengharuskan pemainnya untuk memindahkan pion-pion

Lebih terperinci

memberikan output berupa solusi kumpulan pengetahuan yang ada.

memberikan output berupa solusi kumpulan pengetahuan yang ada. MASALAH DAN METODE PEMECAHAN MASALAH (Minggu 2) Pendahuluan Sistem yang menggunakan kecerdasan buatan akan memberikan output berupa solusi dari suatu masalah berdasarkan kumpulan pengetahuan yang ada.

Lebih terperinci

BAB I PENDAHULUAN. generasi pertama pada tahun 1972 dikenal dengan game konsol yang dikeluarkan

BAB I PENDAHULUAN. generasi pertama pada tahun 1972 dikenal dengan game konsol yang dikeluarkan BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Perkembangan game dari masa ke masa dibagi menjadi 9 generasi, dari generasi pertama pada tahun 1972 dikenal dengan game konsol yang dikeluarkan oleh perusahaan

Lebih terperinci

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT Adi Purwanto Sujarwadi (13506010) Program Studi Teknik

Lebih terperinci

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi yang semakin pesat menyebabkan kebutuhan akan kecerdasan buatan (artificial intelligence) semakin pesat. Permainan komputer merupakan salah satu

Lebih terperinci

METODE PENCARIAN BFS dan DFS

METODE PENCARIAN BFS dan DFS METODE PENCARIAN BFS dan DFS Metode Pencarian Terdapat banyak metode yang telah diusulkan. Semua metode yang ada dapat dibedakan ke dalam 2 jenis : Pencarian buta / tanpa informasi (blind / un-informed

Lebih terperinci

Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem

Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem Abstrak Nursyamsiah Pertiwi 1, Esty Hutami Dewi Lubis 2, Lafrania Taufik 3 Laboratorium Ilmu dan Rekayasa Komputasi Departemen

Lebih terperinci

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool Sharon Loh (13510086) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE Teneng, Joko Purwadi, Erick Kurniawan Fakultas Teknik Program Studi Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta Email: patmostos@yahoo.com,

Lebih terperinci

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom Algoritma & Pemrograman #1 Antonius Rachmat C, S.Kom Jenis Proses Algoritma Sequence Process: instruksi dikerjakan secara sekuensial, berurutan. Selection Process: instruksi dikerjakan jika memenuhi kriteria

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Kecerdasan buatan merupakan sub-bidang ilmu komputer yang khusus ditujukan untuk membuat software dan hardware yang sepenuhnya bisa menirukan beberapa fungsi

Lebih terperinci

Pencarian Solusi Permainan Pipe Puzzle Menggunakan Algoritma Backtrack

Pencarian Solusi Permainan Pipe Puzzle Menggunakan Algoritma Backtrack Pencarian Solusi Permainan Pipe Puzzle Menggunakan Algoritma acktrack Fahmi Dumadi 13512047 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi andung, Jl. Ganesha

Lebih terperinci

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Penerapan Algoritma Runut-balik pada Permainan Math Maze Penerapan Algoritma Runut-balik pada Permainan Math Maze Angela Lynn - 13513032 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Algoritma Algoritma berasal dari nama ilmuwan muslim dari Uzbekistan, Abu Ja far Muhammad bin Musa Al-Khuwarizmi (780-846M). Pada awalnya kata algoritma adalah istilah yang merujuk

Lebih terperinci

Sequential Search (Linear Search)

Sequential Search (Linear Search) 1. Tujuan Instruksional Umum BAB 3 Searching (Pencarian) a. Mahasiswa mampu melakukan perancangan aplikasi menggunakan Struktur Searching (Pencarian). b. Mahasiswa mampu melakukan analisis pada algoritma

Lebih terperinci

Algoritma Runut-balik (Backtracking) Bagian 1

Algoritma Runut-balik (Backtracking) Bagian 1 Algoritma Runut-balik (Backtracking) Bagian 1 Pendahuluan Algoritma Runut-balik (backtracking) adalah algoritma yang berbasis pada DFS untuk mencari solusi persoalan secara lebih mangkus. Runut-balik,

Lebih terperinci

ALGORITMA PENCARIAN (HEURISTIC)

ALGORITMA PENCARIAN (HEURISTIC) ALGORITMA PENCARIAN (HEURISTIC) Farah Zakiyah Rahmanti, M.T Diperbarui 2016 Overview Pengertian Pencarian Heuristik Generate and Test Hill Climbing Best First Searching Latihan Pencarian Heuristik Merupakan

Lebih terperinci

HEURISTIC SEARCH UTHIE

HEURISTIC SEARCH UTHIE HEURISTIC SEARCH Pendahuluan Pencarian buta biasanya tidak efisien karena waktu akses memori yang dibutuhkan cukup besar. Untuk mengatasi hal ini maka perlu ditambahkan suatu informasi pada domain yang

Lebih terperinci

PEMBANGKIT TEKA-TEKI SILANG DENGAN ALGORITMA BACKTRACKING SERTA APLIKASI PERMAINANNYA YANG BERBASIS WEB

PEMBANGKIT TEKA-TEKI SILANG DENGAN ALGORITMA BACKTRACKING SERTA APLIKASI PERMAINANNYA YANG BERBASIS WEB PEMBANGKIT TEKA-TEKI SILANG DENGAN ALGORITMA BACKTRACKING SERTA APLIKASI PERMAINANNYA YANG BERBASIS WEB Hafni Syaeful Sulun dan Rinaldi Munir Program Studi Teknik Informatika Sekolah Teknik Elektro dan

Lebih terperinci

Aplikasi Algoritma Runut Balik dalam Pembangkitan Elemen Awal Permainan Sudoku

Aplikasi Algoritma Runut Balik dalam Pembangkitan Elemen Awal Permainan Sudoku Aplikasi Algoritma Runut Balik dalam Pembangkitan Elemen Awal Permainan Sudoku Muhammad Farhan Kemal / 13513085 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Penggunaan Strategi Algoritma Backtracking pada Pencarian Solusi Puzzle Pentomino

Penggunaan Strategi Algoritma Backtracking pada Pencarian Solusi Puzzle Pentomino Penggunaan Strategi Algoritma Backtracking pada Pencarian Solusi Puzzle Pentomino Muhammad Rian Fakhrusy / 13511008 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Penggunaan Algoritma Backtracking pada Permainan Mummy Maze

Penggunaan Algoritma Backtracking pada Permainan Mummy Maze Penggunaan Algoritma Backtracking pada Permainan Mummy Maze Deddy Wahyudi Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl. Ganesha 10, Bandung Email

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. analisis, desain/perancangan, kode, dan pengujian/implementasi. Tahap analisis

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. analisis, desain/perancangan, kode, dan pengujian/implementasi. Tahap analisis BAB 3 ANALISIS DAN PERANCANGAN PROGRAM Perancangan program simulasi dalam skripsi ini terdiri dari empat tahapan, yaitu analisis, desain/perancangan, kode, dan pengujian/implementasi. Tahap analisis kebutuhan,

Lebih terperinci

ANTIMAGIC PUZZLE. Alwi Afiansyah Ramdan

ANTIMAGIC PUZZLE. Alwi Afiansyah Ramdan ANTIMAGIC PUZZLE Alwi Afiansyah Ramdan 135 08 099 Program Studi Teknik Informatika Institut Teknologi Bandung Jl. Ganesha 10, Bandung e-mail: alfiansyah.ramdan@gmail.com ABSTRAK Makalah ini membahas tentang

Lebih terperinci

Pencarian Solusi Permainan Flow Free Menggunakan Brute Force dan Pruning

Pencarian Solusi Permainan Flow Free Menggunakan Brute Force dan Pruning Pencarian Solusi Permainan Flow Free Menggunakan Brute Force dan Pruning Mamat Rahmat / 13512007 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed) Kecerdasan Buatan Pertemuan 03 Pencarian Branch & Bound dan Heuristik (Informed) Husni Lunix96@gmail.com http://www.facebook.com/lunix96 http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM,

Lebih terperinci

Implementasi Algoritma DFS pada permainan Monument Valley

Implementasi Algoritma DFS pada permainan Monument Valley Implementasi Algoritma DFS pada permainan Monument Valley Muhammad Aodyra Khaidir and 13513063 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

STATEMEN GO TO DAN IF-THEN. Pertemuan IX

STATEMEN GO TO DAN IF-THEN. Pertemuan IX STATEMEN GO TO DAN IF-THEN Pertemuan IX Statemen Alih Kontrol Pada bahasa pemrograman BASIC tidak hanya melakukan eksekusi baris demi baris atau secara berurutan yang tiap barisnya dieksekusi hanya satu

Lebih terperinci

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM 30 BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM III.1. Analisa Pada bab ini akan dibahas mengenai analisis permainan, yaitu konsep aturan dan cara bermain pada game yang berhubungan dengan program yang

Lebih terperinci

IT234 ALGORITMA DAN STRUKTUR DATA

IT234 ALGORITMA DAN STRUKTUR DATA IT234 ALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya Algoritma Asal kata Algoritma berasal dari nama seorang ilmuan Persian yang bernama Abu Ja far Mohammed lbn Musa al-khowarizmi,

Lebih terperinci

Penerapan Algoritma Backtracking untuk Menyelesaikan Permainan Hashiwokakero

Penerapan Algoritma Backtracking untuk Menyelesaikan Permainan Hashiwokakero Penerapan Algoritma Backtracking untuk Menyelesaikan Irfan Kamil 13510001 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

PHP (HYPERTEXT PREPROCESSOR)

PHP (HYPERTEXT PREPROCESSOR) LAPORAN PRAKTIKUM MODUL 4 PEMROGRAMAN WEB PHP (HYPERTEXT PREPROCESSOR) Disusun Oleh: Deny Kurniawan Novianto (130533608222) PTI OFF B UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO PROGRAM

Lebih terperinci

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE Mohammad Dimas (13507059) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha

Lebih terperinci

IF3051 Strategi Algoritma Penerapan Algoritma Greedy untuk Peletakan Tanaman dalam Game Harvest Moon: Back to Nature

IF3051 Strategi Algoritma Penerapan Algoritma Greedy untuk Peletakan Tanaman dalam Game Harvest Moon: Back to Nature IF3051 Strategi Penerapan Greedy untuk Peletakan Tanaman dalam Game Harvest Moon: Back to Nature Nikodemus Adriel Limanthie/13510089 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Algoritma Breadth First Search Berikut ini adalah proses yang dilakukan dengan menggunakan algoritma Breadth first search untuk pencarian jalur. Proses pencarian

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN Pada bab IV akan dilakukan implementasi dan pengujian terhadap sistem. Tahapan ini dilakukan setelah perancangan selesai dilakukan dan selanjutnya akan diimplementasikan

Lebih terperinci

Penerapan Algoritma Brute Force di Permainan Nonogram

Penerapan Algoritma Brute Force di Permainan Nonogram Penerapan Algoritma Brute Force di Permainan Nonogram Aurelia 13512099 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : PEMROGRAMAN WEB 2 (PHP & MYSQL) Kode Mata Kuliah : MI - 26223 Jurusan / Jenjang : D3 MANAJEMEN INFORMAA

Lebih terperinci

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello Annisa Muzdalifa - 13515090 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE Alvin Andhika Zulen (13507037) Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan

Lebih terperinci

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Bab ini membahas analisis perancangan perangkat lunak (diberi nama c2p) dari segi struktur data dan analisis aliran data. Hal-hal yang dibahas diantaranya

Lebih terperinci

Perbandingan Algoritma Greedy & Bactracking Dalam Penyelesaian Permainan 2048

Perbandingan Algoritma Greedy & Bactracking Dalam Penyelesaian Permainan 2048 Perbandingan Algoritma Greedy & Bactracking Dalam Penyelesaian Permainan 2048 Stephen (13512025) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji ALGORITMA DAN PEMOGRAMAN I. ALGORITMA II. BAHASA

Lebih terperinci

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer Cendhika Imantoro - 13514037 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1. Analisis Sistem yang Sedang Berjalan Kegiatan analisis sistem yang berjalan dilakukan dengan analisis yang berorientasi pada objek-objek yang diperlukan oleh

Lebih terperinci

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle Veren Iliana Kurniadi 13515078 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Aplikasi penyelesaian permainan Hashi dalam mencari solusi pada bahasan ini menggunakan teknik penyelesaian Hashi yang digunakan dalam menyelesaikan permainan

Lebih terperinci

ALGORITMA PENCARIAN (1)

ALGORITMA PENCARIAN (1) ALGORITMA PENCARIAN (1) Permasalahan, Ruang Keadaan, Pencarian Farah Zakiyah Rahmanti Diperbarui 2016 Overview Deskripsi Permasalahan dalam Kecerdasan Buatan Definisi Permasalahan Pencarian Breadth First

Lebih terperinci

BAB III LANDASAN TEORI. muka yang bersifat grafis Graphical User Interface (GUI). Daripada menulis

BAB III LANDASAN TEORI. muka yang bersifat grafis Graphical User Interface (GUI). Daripada menulis BAB III LANDASAN TEORI 3.1 Visual Basic 6.0 Visual Basic merupakan cara termudah dan tercepat untuk membuat aplikasi yang dijalankan di sistem operasi Microsoft Windows. Apakah Anda seorang profesional

Lebih terperinci

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian. Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian. 3 Teknik Search menentukan simpul mana yang dibuat lebih dulu dan mana yang kemudian sampai ditemukannya simpul

Lebih terperinci

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Kakuro adalah permainan puzzle yang bersifat logika dan biasa disebut sebagai transliterasi matematis dari puzzle silang. Permainan puzzle kakuro merupakan

Lebih terperinci

Penyelesaian Permainan 3 missionaries and 3 cannibals Dengan Algoritma Runut-Balik

Penyelesaian Permainan 3 missionaries and 3 cannibals Dengan Algoritma Runut-Balik Penyelesaian Permainan 3 missionaries and 3 cannibals Dengan Algoritma Runut-Balik Hendro Program Studi Teknik Informatika Alamat : Jl. iumbeuluit Gg.Suhari No. 95/155A E-mail: kyoshiro@students.itb.ac.id

Lebih terperinci

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci