CLIQUE MAKSIMAL SEBAGAI KONSEP DASAR PEMBUATAN ALGORITMA CLIQUE-BACK UNTUK MENYELESAIKAN MASALAH N-RATU

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

Pemanfaatan Pohon dalam Realisasi Algoritma Backtracking untuk Memecahkan N-Queens Problem

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

Penerapan Algoritma Backtracking pada Knight s Tour Problem

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Algoritma Runut-balik (Backtracking)

Pembentukan Pohon Pencarian Solusi dalam Persoalan N-Ratu (The N-Queens Problem)

Oleh Lukman Hariadi

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

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

Penerapan Teori Graf untuk Menyelesaikan Teka-Teki Permainan The Knight's Tour

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan Algoritma Backtracking pada Game The Lonely Knight

ALGORITMA RUNUT-BALIK UNTUK MENGGANTIKAN ALGORITMA BRUTE FORCE DALAM PERSOALAN N-RATU

Strategi Algoritma Penyelesaian Puzzle Hanjie

Asah Otak dengan Knight s Tour Menggunakan Graf Hamilton dan Backtracking

PENGGUNAAN ALGORITMA BACKTRACKING DALAM PENCARIAN KOEFISIEN ROOK POLYNOMIAL

PERMAINAN KNIGHT S TOUR DENGAN ALGORITMA BACKTRACKING DAN ATURAN WARNSDORFF

Penyelesaian Permasalahan Knight s Tour Menggunakan Algoritma Breadth First Search (BFS)

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik

Pengantar Strategi Algoritma

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Graf Hamilton pada Permainan Knight s Tour dan Pemecahan dengan Algoritma Divide-and-Conquer dan Bactrack

PENERAPAN ALGORITMA RUNUT BALIK DALAM PERMAINAN TEKA-TEKI SILANG

Elvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang

Penggunaan Algoritma Backtracking Untuk Menentukan Keisomorfikan Graf

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

II.TINJAUAN PUSTAKA. Pada bab ini akan dijelaskan tentang definisi serta konsep-konsep yang mendukung

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

Aplikasi Graf Dalam Permainan Catur

Pendeteksian Deadlock dengan Algoritma Runut-balik

PENYELESAIAN GAME TEKA-TEKI SILANG DENGAN MENERAPKAN ALGORITMA BACKTRACKING

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

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

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Algoritma Backtracking Pada Permainan Peg Solitaire

PENCARIAN MAKSIMUM CLIQUE DALAM GRAF DENGAN MENGGUNAKAN ALGORITMA BRANCH AND BOUND

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Ruang Pencarian PERTEMUAN 3

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Penerapan Algoritma Runut-Balik pada Magic Square

BAB 1 PENDAHULUAN Latar Belakang

Penerapan Algoritma Greedy untuk Permainan Flood It

Algoritma Runut-balik (Backtracking) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy

Penerapan Algoritma Brute Force pada Teka-teki Magic Square 3 x 3

PENYELESAIAN PERMAINAN SUDOKU, CHALLENGER PUZZLE, DAN N-QUEENS PROBLEM MENGGUNAKAN INTEGER PROGRAMMING ALI VIKRI

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

Bab 2. Teori Dasar. 2.1 Definisi Graf

APLIKASI ALGORITMA GREEDY PADA PERSOALAN PEWARNAAN GRAF

Penerapan Algoritma Brute-Force serta Backtracking dalam Penyelesaian Cryptarithmetic

Penerapan Algoritma Greedy pada Permainan Tower Defense

I. PENDAHULUAN II. DASAR TEORI. Contoh lainnya: Solusi: 0= V,1= I,2= O,3= R, 4= N,5= L,7= A,8= F,9= E.

Aplikasi Graf dalam Permasalahan Knight s Tour

BAB 1 PENDAHULUAN. Persoalan lintasan terpanjang (longest path) merupakan persoalan dalam mencari

Penerapan Algoritma Exact Cover Problem pada Persoalan Pentomino Puzzle

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari

BAB 2 TINJAUAN PUSTAKA

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

ALGORITMA DJIKSTRA, BELLMAN-FORD, DAN FLOYD-WARSHALL UNTUK MENCARI RUTE TERPENDEK DARI SUATU GRAF

PENGGUNAAN ALGORITMA BACKTRACKING DALAM PENYELESAIAN PERMAINAN SUDOKU

MENJAWAB TEKA-TEKI LANGKAH KUDA PADA BEBERAPA UKURAN PAPAN CATUR DENGAN TEORI GRAPH. Oleh Abdussakir

ANTIMAGIC PUZZLE. Alwi Afiansyah Ramdan

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

Aplikasi Algoritma Runut Balik dalam Pembangkitan Elemen Awal Permainan Sudoku

PENCARIAN SOLUSI DENGAN ALGORITMA BACKTRACKING UNTUK MENYELESAIKAN PUZZLE KAKURO

Induksi Matematika. Nur Hasanah, M.Cs

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI BACKTRACKING ALGORITHM UNTUK PENYELESAIAN PERMAINAN SU DOKU POLA 9X9

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

Matematika dan Statistika

Representasi Graf dalam Pola Strategi Permainan Futsal

Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

PENERAPAN ALGORITMA KUNANG-KUNANG (FIREFLY ALGORITHM) DALAM KNIGHT TOUR PROBLEM PADA PAPAN CATUR SKRIPSI

Penggunaan Strategi Algoritma Backtracking pada Pencarian Solusi Puzzle Pentomino

Pemanfaatan Algoritma Sequential Search dalam Pewarnaan Graf untuk Alokasi Memori Komputer

UNTUK PEMECAHAN MASALAH PADA PERMAINAN HASHIWOKAKERO

PENGUNAAN DUA VERSI ALGORITMA BACKTRACK DALAM MENCARI SOLUSI PERMAINAN SUDOKU

Implementasi Intuitif Penyelesaian Labirin dengan Algoritma Depth-First Search

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

PENERAPAN ALGORITMA RUNUT-BALIK (BACKTRACKING) DALAM PENYELESAIAN PERMAINAN SUDOKU

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

BAB 3 METODOLOGI Metode Penelitian. Dalam melakukan penelitian akan permasalahan ini, penulis menggunakan metode

Penggunaan Graf Semi-Hamilton untuk Memecahkan Puzzle The Hands of Time pada Permainan Final Fantasy XIII-2

BAB 3 PERANCANGAN PROGRAM. dari OOP (Object Oriented Programming) di mana dalam prosesnya, hal-hal

Penerapan Algoritma Backtracking pada Pewarnaan Graf

Penyelesaian Game Lights Out dengan Algoritma Runut Balik

ANALISIS PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI PERSOALAN LOMPATAN KUDA

Transkripsi:

CLIQUE MAKSIMAL SEBAGAI KONSEP DASAR PEMBUATAN ALGORITMA CLIQUE-BACK UNTUK MENYELESAIKAN MASALAH N-RATU Diny Zulkarnaen Dosen Matematika Fakultas Sains dan Teknologi dinyzul@gmail.com ABSTRAK Masalah N-ratu adalah suatu masalah penempatan ratu sebanyak N pada papan catur berukuran NxN dengan syarat tidak ada dua ratu yang saling menyerang. Banyak pendekatan yang dapat dilakukan untuk memecahkan masalah ini. Pada makalah ini digunakan pendekatan teori graf berdasarkan konsep clique maksimal sebagai metode penyelesaian masalah. Metode ini selanjutnya dijadikan dasar untuk membuat algoritma. Agar solusi lebih cepat diperoleh, maka digunakanlah algoritma backtracking. Penggabungan antara algoritma yang menggunakan konsep clique maksimal dan algoritma backtracking tersebut dinamakan algortima clique-back. Tidak seperti algoritma pada umumnya yang meletakkan satu-per-satu ratu pada kotak papan catur dan memeriksanya agar memenuhi syarat, algoritma ini justru seolah-oleh menempatkan ratu pada setiap kotak, kemudian mengeliminasinya (sesuai syarat) hingga akhirnya diperoleh solusi (jika ada). Proses eliminasi tersebut menyebabkan solusi yang diperoleh lebih cepat. Keywords : N-ratu, graf, clique, algoritma 1. PENDAHULUAN Masalah N-ratu merupakan bentuk umum dari masalah 8-ratu yang muncul pertama kali pada tahun 1948. Masalah 8- ratu ini diperkenalkan oleh pemain catur asal Jerman bernama Max Bezzel. Pada tahun 1950, banyak ahli matematika, termasuk Gauss dan George Cantor, tertarik pada masalah ini dan berusaha untuk memecahkannya. Hingga pada akhirnya teka-teki ini berkembang menjadi masalah N-ratu. Dalam waktu empat dekade terakhir, banyak metode yang muncul untuk memecahkan masalah 224

ini, seperti search-based algorithm (contohnya algoritma backtracking), generasi permutasi, divide and conquer, pemrograman integer, jaringan syaraf dan lain sebagainya. Pada makalah ini, dibahas metode penyelesaian masalah N-ratu pada papan catur harus memenuhi syarat sebagai berikut: a. Tepat N buah ratu ditempatkan pada papan catur b.setiap baris hanya memuat sebuah ratu c. Setiap kolom hanya memuat sebuah menggunakan teori graf berdasarkan ratu konsep clique maksimal. Selanjutnya dibuat langkah-langkah atau algoritma yang efisien guna memperoleh solusinya. Algoritma yang dimaksud adalah d.setiap diagonal memuat tidak lebih dari sebuah ratu Apabila dilakukan pemeriksaan pada seluruh kemungkinan susunan N algoritma clique-back. Algoritma ini buah ratu pada M = N*N kotak yang menggunakan gabungan dari konsep clique maksimal dan juga backtracking. tersedia, maka solusi yang diperoleh akan membutuhkan waktu yang cukup lama. Banyaknya kemungkinan susunan 2. MASALAH N-RATU tersebut adalah MC N cara. Misalkan banyaknya kemungkinan menyusun delapan ratu pada 8*8 = 64 kotak Masalah N-ratu merupakan suatu masalah penempatan N buah ratu pada NxN papan catur sedemikian sehingga tidak ada dua ratu yang dapat menyerang satu sama lain. Jadi cara penempatan ratu adalah 64 C 8 = 4.426.165.368 cara. Akan tetapi dapat dimungkinkan untuk mereduksi banyaknya kemungkinan susunan tersebut menjadi N N, dengan catatan setiap baris hanya diisi oleh sebuah ratu. Jadi banyaknya 225

kemungkinan susunan dapat dikurangi menjadi 8 8 = 16,777,216 cara. Atau dapat juga direduksi lagi menjadi N!, di mana (a) (b) tiap baris dan tiap kolom hanya diisi oleh sebuah ratu. Untuk N = 1, hanya terdapat 1! kemungkinan susunan penempatan ratu. Pada kasus ini diperoleh sebuah solusi yang trivial. Sedangkan untuk N = 2 dan N = 3, masing-masing terdapat 2! = 2 dan 3! = 6 kemungkinan susunan penempatan ratu. Cukup mudah untuk memeriksa seluruh kemungkinan tersebut Gambar 1. Dua buah solusi yang isomorfis pada masalah 4-ratu Pada Tabel 1 ditampilkan solusi total (tanpa memperhatikan operasi) dan solusi unik (memperhatikan operasi) dari permasalahan N-ratu [4]. Dapat dilihat bahwa semakin besar N, semakin banyak solusi yang diperoleh kecuali untuk N = 6 hingga dapat disimpulkan bahwa tidak ada solusi pada kasus N = 2 dan N = 3. Gambar 1 menyajikan dua buah solusi N Solusi Total Solusi Unik dari masalah 4-ratu. Akan tetapi dua solusi tersebut merupakan solusi yang isomorfis. Hal ini dikarenakan solusi pada Gambar 1b dapat dibentuk dari refleksi terhadap solusi pada Gambar 1a. Jadi, apabila solusi s 1 dapat disusun dari operasi (rotasi atau refleksi) solusi lain s 2, maka solusi s 1 dan s 2 tersebut adalah solusi yang isomorfis dan dihitung sebagai satu solusi yang unik. 4 2 1 5 10 2 6 4 1 7 40 6 8 92 12 9 352 46 10 724 92 226

11 2.680 34 12 14.200 1.787 Tabel 1. Banyaknya solusi untuk masalah N-ratu Pada Gambar 2a, terdapat himpunan simpul V ( G) { V, V, V } V ( ) yang ' 2 3 4 G masing-masing saling beradjacent. Himpunan V (G) tersebut dinamakan clique. Jadi clique dapat diartikan sebagai 3. METODE CLIQUE MAKSIMAL Pada makalah ini dibahas metode penyelesaian masalah menggunakan teori graf berdasarkan konsep clique maksimal. kumpulan simpul V di mana V (G) V(G) u,v V (G) terdapat busur (u,v) E(G). Apabila terdapat v yang menyebabkan seluruh simpul pada V ' { v} tidak saling beradjacent, maka V dinamakan clique maksimal. Graf Komplemen dan Clique Misalkan terdapat graf G(V,E) dengan n buah simpul V dan m buah busur E, maka dimungkinkan untuk membuat graf G dengan n buah simpul. Graf G tersebut dinamakan komplemen dari graf G. Untuk setiap pasangan (u,v) E(G), maka (u,v) E(G ), begitu pula Perlu dicatat bahwa suatu graf G dapat memiliki lebih dari satu clique maksimal dan seluruh clique maksimal pada graf G tersebut tidak selalu memiliki banyak simpul yang sama. Sebagai contoh himpunan simpul v, v, } dan { v, v 1 3} { 2 3 v4 pada gambar 2a merupakan clique maksimal pada graf G. sebaliknya, untuk setiap pasangan (u,v) E(G), maka (u,v) E(G ). Gambar 2 menampilkan suatu graf dengan 4 simpul dan 4 busur beserta graf komplemennya. 4. APLIKASI CLIQUE MAKSIMAL PADA MASALAH N-RATU Setelah dijelaskan mengenai metode clique maksimal, selanjutnya metode ini 227

diaplikasikan pada masalah N-ratu. Pertama-tama dipilih sebuah ratu R dan dibuat m buah simpul di mana m = N*N. (sebuah simpul merepresentasikan sebuah kotak pada papan catur). Selanjutnya diperiksa setiap kotak k, dan cari kotak yang akan diserang apabila R ditempatkan pada kotak k. Busur pada graf digambarkan berdasarkan aturan : Jika ratu R pada kotak k dapat menyerang ratu R lain pada kotak t, maka terdapat busur yang menghubungkan kotak (simpul) k dan t. (a) (b) (c) Gambar 3. (a) Representasi masalah 3-Ratu dalam bentuk Graf G. (b) Graf G sebagai komplemen dari graf G, (c) salah satu clique maksimal dari G Gunakan aturan tersebut pada setiap simpul, sehingga diperoleh graf G yang merupakan representasi dari masalah N- ratu. Selanjutnya dibuat graf komplemen G dari graf G. Jadi busur 228

(a) (b) (c) Gambar 4. (a) Representasi masalah 4-Ratu dalam bentuk Graf G. (b) Graf G sebagai komplemen dari graf G. (c) Dua buah clique maksimal dari graf G yang juga merupakan solusi masalah 4-ratu pada graf G digambarkan berdasarkan aturan ratu pada kotak k tidak menyerang ratu lain pada kotak t. Selanjutnya dari graf G tersebut tentukan clique maksimalnya. Solusi diperoleh apabila anggota dari clique maksimal tersebut banyaknya adalah N. Gambar 3 menunjukkan alur atau 229

proses pencarian solusi masalah 3-ratu menggunakan konsep clique maksimal Banyaknya clique maksimal yang diperoleh dari graf G adalah delapan buah (salah satunya ditunjukkan pada Gambar 3c) dan diantara clique maksimal tersebut tidak ada satupun yang beranggotakan 3 buah simpul. Dengan kata lain untuk masalah 3-ratu tidak diperoleh solusi. Untuk masalah 4-ratu, alur pencarian solusinya ditunjukkan seperti pada Gambar 4. Pada kasus ini, diperoleh dua buah clique maksimal dari graf G yang beranggotakan empat buah simpul. Artinya terdapat dua buah solusi dari masalah 4-ratu. Clique maksimal yang ditunjukkan pada Gambar 4c tersebut merupakan representasi dari solusi pada papan catur yang telah ditunjukkan sebelumnya pada Gambar 1a dan 1b. Kesulitan akan ditemui untuk kasus N yang besar. Kesulitan yang dimaksud adalah melihat ataupun memeriksa seluruh clique maksimal dari graf G yang beranggotakan N simpul. Maka dari itu, untuk memudahkan pencarian solusi berdasarkan konsep clique maksimal, perlu dibuah langkah-langkah (algoritma) yang efisien tanpa harus memeriksanya dari graf. 230

5.1 ALGORITMA BACKTRACKING Aplikasi backtracking untuk masalah N-ratu adalah sebagai berikut. Pertama-tama letakkan sebuah ratu Algoritma backtracking adalah algoritma untuk mencari semua (atau beberapa) solusi terhadap suatu masalah. Cara yang ditempuh dengan membangun kandidat solusi secara bertahap, dan meninggalkan kandidat c. Kandidat c tersebut hanya sebagai solusi pada tahap tertentu tetapi tidak dapat menghasilkan solusi akhir yang valid. pada baris pertama dan kolom pertama. Kemudian, letakkan (secara berulang) ratu berikutnya sesuai syarat. Apabila tidak ada kemungkinan untuk meletakkan ratu ke-i pada papan catur, maka langkah yang ditempuh adalah mengambil kembali ratu ke-(i-1) dan tempatkan ratu ke-(i-1) tersebut ke kotak lain yang masih memenuhi syarat. Gambar 7 mengilustrasikan penggunaan algoritma backtracking. (a) (b) (c) (d) (e) (f) 231

(g) (h) (i) Gambar 5. Ilustrasi algoritma backtracking pada masalah 4-ratu. Mula-mula sebuah ratu ditempatkan pada baris pertama kolom pertama (Gambar 5a). Kemudian ratu kedua ditempatkan pada baris kedua. Pada baris kedua ini ratu tidak boleh ditempatkan pada kolom pertama (Gambar 5b) dikarenakan dapat diserang oleh ratu pertama, kemudian lakukan penempatan lain yakni pada kolom kedua (Gambar 5c). Disini juga ketiga pada baris ketiga. Oleh karena setiap kolom pada baris ketiga dapat diserang oleh ratu pertama ataupun ratu kedua, maka lakukan backtracking dengan cara menempatkan ratu kedua ke kolom yang lain(masih pada baris kedua), yakni pada kolom keempat. Lakukan langkah-langkah tadi secara berulang hingga diperoleh solusi (jika ada). tidak memenuhi syarat, lanjutkan kembali pada kolom ketiga (Gambar 5d). Pada kolom ini ratu kedua tidak dapat diserang oleh ratu pertama. Kemudian lanjutkan penempatan ratu 232

5.2 ALGORITMA CLIQUE-BACK 1.Buat kotak k i, i = 1, 2,, m. Kotak k i tersebut menyatakan ratu Algoritma clique-back menggunakan konsep clique maksimal serta backtracking untuk memperoleh solusi dari masalah N-ratu. Tidak seperti algoritma pada umumnya, yang memulai satu per satu meletakkan ratu pada papan catur dan kemudian memeriksanya agar memenuhi syarat, algoritma ini justru pertama kali yang dilakukan adalah seolah-olah meletakkan ratu di setiap kotak papan catur. Kotak papan catur NxN dinyatakan sebagai sebagai kotak k i, untuk i =1, 2,, m dalam hal ini m = N*N. Inisialisasi kotak k i pada masalah 4-ratu ditunjukkan pada Gambar 6. Lebih jelasnya, berikut ini disajikan algoritma clique-back untuk memecahkan masalah N-ratu. pada posisi ke i pada papan catur. k 1,,k N berada pada baris pertama. k N+1,,k 2N berada pada baris kedua. k (N-1) N + 1,,k m berada pada baris ke-n. 2.Pilih sebuah kotak pada baris pertama. 3.Eliminasi seluruh kotak yang diserang oleh kotak yang telah dipilih tadi. Lakukan langkah (2) dan (3) secara berulang untuk baris kedua hingga baris ke-n (jika diperlukan) 4.Apabila dapat dipilih kotak di setiap barisnya, berarti diperoleh 233

solusi. Jika tidak, lakukan backtracking pada baris sebelumnya dan pilih kotak lain. masalah 4-ratu dan disajikan dalam bentuk papan catur. Pertama-tama buat 4*4 = 16 kotak. Berikut ini adalah implementasi K { k1, k2,..., k16} dari algoritma clique-back untuk k 1 k 2 k 3 k 4 k 7 k 9 k 10 k 12 k 5 k 6 k 8 k 14 s 15 k 16 k 11 k 13 Gambar 6. Enam belas buah kotak pada papan catur berukurang 4x4 Misalkan pada baris pertama dipilih kotak k 1. Akibatnya semua kotak yang diserang oleh k 1 dieliminasi. Pada baris kedua terdapat dua kemungkinan memilih antara kotak k 7 dan k 8. Misalkan dipilih simpul k 7. Lalu eliminasikan semua kotak yang diserang oleh k 7. 234

k 1 k 7 k 8 k 10 k 12 k 14 k 15 Gambar 7. Pilih kotak k 1 pada baris pertama Oleh karena kotak selanjutnya yaitu k 14 tidak terletak pada baris ketiga, berarti tidak diperoleh solusi. k 1 k 7 Gambar 8. Pilih simpul k 7 pada baris kedua k 14 Maka dari itu perlu dilakukan yang diserang oleh k 8. Selanjutnya backtracking, yang artinya kembali pada baris kedua dan dipilih kotak yang lain, yakni k 8. Eliminasikan ratu satu-satunya kotak yang dapat dipilih adalah kotak k 10. Tetapi pemilihan ini pun tidak diperoleh solusi. 235

k 1 k 1 k 8 k 10 k 8 (a) (b) Gambar 9. (a) Pilih simpul k 8 pada baris kedua k 10 Selanjutnya (b) pilih simpul k k 15 pada baris ketiga Lakukan backtracking, kembali pada baris kedua. Oleh karena tidak ada lagi kotak lain yang dapat dipilih, maka lakukan backtracking lagi, kembali pada baris pertama. Misalkan kotak yang dipilih adalah k 2. Lanjutkan dengan mengeliminasi semua kotak yang diserang oleh k 2. k 2 k 8 k 9 Gambar 10. Pilih simpul k 2 pada baris pertama k 11 k 13 k 15 k 16 Kemudian dipilih kotak k 8 pada baris kedua disertai dengan mengeliminasi semua kotak yang diserang k 8. Proses baris ketiga dan mengeliminasi kotak yang diserang k 9. Pada akhirnya dapat dipilih kotak k 15 pada baris keempat. selanjutnya adalah memilih k 9 pada 236

Oleh karena dapat dipilih N buah ratu disetiap barisnya, berarti diperoleh solusi seperti yang ditunjukkan pada Gambar 11c. k 2 k 2 k 2 k 8 k 8 k 8 k 9 k 9 k 9 k 13 k 15 k 15 k 15 (a) (b) (c) Gambar 11. (a) Pilih simpul k 8 pada baris kedua, (b) pilih simpul k 9 pada baris ketiga dan (c) diperoleh solusi untuk masalah 4-ratu. Algoritma clique-back ini dapat juga dituliskan ke dalam pseudocode sebagai berikut : If b < Panjang (K) then Pilih k i diserang k i. E Eliminasi k j di mana k j Inisialisasi kotak K [k 1, k 2, k 3,, k m ]. Inisialisasi baris b 1 While k i pada baris ke-b Else K K E b b+1 * Backtracking b b 1 237

Pilih k j lain pada baris b If k j tidak ada then Lanjutkan ke * End if Perhatikan bahwa pada baris kedua (pada program) hanya tersisa tiga buah kotak. Padahal untuk masalah 4-ratu harus tersisa 4 ratu yang tidak saling menyerang. Maka dari itu sisa kotak End if 1 7 14 End while bukan merupakan solusi. Maka lakukan backtraking dan pilih kotak 8. Dengan menjalankan proses hingga Perhatikan Gambar 12. Pada gambar tersebut menampilkan eksekusi dari pseudocode untuk masalah 4-ratu dengan menggunakan MATLAB. Kotak pada program ini dinotasikan dengan selesai (sesuai prosedur algoritma clique-back) diperoleh solusi 2 8 9 15 yang artinya ratu ditempatkan pada posisi seperti pada Gambar 11c. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 238

Gambar 11. Hasil eksekusi program untuk masalah 4- ratu menggunakan MATLAB. 6. KESIMPULAN harus memeriksanya dari graf. Algoritma ini dinamakan algoritma Masalah N-ratu dapat dipecahkan menggunakan berbagai metode, salah satunya adalah dengan menggunakan aplikasi teori graf berupa clique maksimal. Akan tetapi kesulitan untuk menemukan solusi ditemui pada saat nilai N yang besar. Maka dari itu, untuk memudahkan pencarian solusinya, perlu dibuat langkahlangkah (algoritma) yang efisien tanpa clique-back yang menggunakan konsep clique maksimal sekaligus algoritma backtracking untuk memperoleh solusinya. Langkah pertama yang dilakukan adalah memilih sebuah ratu pada kotak, kemudian mengeliminasi kotak yang diserang oleh ratu yang ditempatkan/dipilih tadi. Jadi kandidat ratu yang akan dipilih selanjutnya 239

dapat dibuat minimal. Hal ini yang membuat tercapainya hasil (adanya solusi ataupun tidak adanya solusi) lebih cepat. Apabila tidak ditemui solusi, maka dilakukan backtracking sebagai usaha untuk mengulang kembali proses pencarian solusinya. [2] Foulds, L. R. and D. G. Johnson. 1984. An Application on Graph theory and integer programming. Mathematics Magazine : vol 52 No 2, 95-104 Penulis mengucapkan banyak terima kasih kepada Bapak Djati Kerami yang telah banyak memberikan masukan pada penyusunan makalah ini. [3] Mumtaz, Fahmi. 2008. Algoritma Runut-Balik (Backtracking Algorithm) Pada Masalah Knight s Tour. Makalah IF2251 Strategi Algoritmik Tahun 2008. DAFTAR PUSTAKA [1] Erbas, Cengiz, and Seyed Sarkeshikt and Murat M. Tanik. 1992. Different Perpective of the N-Queens Problem, ACM, 99-108 240

241