Algoitma Runut Balik back tracking Algoritma Runut Balik dan Teka-Teki Silang

13 Perubahan tersebut bisa terjadi dengan mengikuti suatu pola model tertentu yang dapat didefinisikan sebagai suatu fungsi terhadap waktu, maupun tanpa pola. Prinsip dasar dari Dynamic Problem Solving ini adalah menganalisa semua jalur yang bisa menghasilkan solusi dan kemudian memilih satu jalur terbaik sehingga didapatkan solusi terbaik. Dalam beberapa kasus, program tidak hanya akan melihatmenganalisa langkah-langkah yang ada sebagai pertimbangan dalam memilih solusi, contohnya pada beberapa board games seperti catur, othello, dan sheckers, yang langkah selanjutnya sangat tergantung pada langkah yang lawan jalankan. Karena besar kemungkinannya bahwa persoalan tersebut memiliki solusi yang sangat banyak. Apabila semua solusi tersebut ditelusuri satu per satu, maka program tidak akan berjalan dengan efisien.

2.2 Algoitma Runut Balik back tracking

Algoritma runut balik pertama kali diperkenalkan oleh D.H. Lehmer pada tahun 1950. Algoritma ini cukup mangkus untuk digunakan dalam beberapa penyelesaian masalah dan juga untuk memberikan kecerdasaan buatan dalam game. Beberapa game populer semisal Sudoku, Labirin, Catur juga bisa diimplementasikan dengan menggunakan algoritma runut balik. Algoritma runut balik backtracking merupakan algoritma yang digunakan untuk mencari solusi persoalan secara lebih ringkas daripada menggunakan algoritma brute force. Algoritma ini akan mencari solusi berdasarkan ruang solusi Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 14 yang ada secara sistematis namun tidak semua ruang solusi akan diperiksa, hanya pencarian yang mengarah kepada solusi yang akan diproses. Solusi persoalan adalah kemungkinan solusi yang didapatkan dari permasalahan yang diberikan, sedangkan, fungsi pembatas merupakan fungsi yang akan menentukan langkah selanjutnya berupa penerusan pencarian solusi ataupun melakukan backtrack. Gambar 2.1. Papan Permainan Teka-Teki Silang

2.3 Algoritma Runut Balik dan Teka-Teki Silang

Algoritma runut balik dalam permainan ini akan digunakan untuk mengisi kotak-kotak permainan yang sebelumnya telah dibuat. Kotak-kotak ini bisa direpresentasikan dengan struktur data matriks sehingga setiap kotak akan memiliki indeks. Indeks ini akan digunakan untuk melakukan pencarian kata yang Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 15 cocok. Pada pengisian kata kedalam kotak-kotak, pertama-tama program akan menentukan deretan kotak awal yang ingin diisi. Program akan menghitung jumlah kotak pada deretan kotak tersebut kemudian akan mencari kata didalam database yang terdiri atas kumpulan kata jawaban yang memiliki jumlah karakter sama dengan jumlah kotak tersebut. Dalam pencarian data kata-kata mungkin akan terdapat beberapa kata yang cocok untuk dimasukkan kedalam satu deretan kotak, untuk itu program akan memilih kata yang berada lebih awal dalam database kata. Langkah selanjutnya, program akan mengidentifikasi indeks pada deretan kotak yang terhubung dengan deretan kotak lainnya. Program akan mencatat dimana letak hubungan antar deretan kotak tersebut kemudian mencatat indeks dan mengambil karakter yang terdapat di dalamnya untuk dibandingkan kembali dengan deretan kata yang ada di dalam database kata. Jika kata yang dimasukkan berikutnya cocok maka pencarian akan dilanjutkan, namun jika tidak terdapat kata yang cocok maka program akan mematikan kemungkinan jawaban berdasarkan pencarian tersebut dan program akan melakukan backtrack. Backtrack dilakukan dengan cara program akan menghapus kata yang terakhir dimasukkan kedalam deretan kotak, kemudian program akan mengganti kata tersebut dengan kata lain yang juga bisa diisikan kedalam deretan kotak tersebut dan kemudian program akan melakukan pencarian ulang. Langkah- langkah diatas akan terus dilakukan secara rekursif, sampai program menemukan solusi dari permasalahan seluruh kotak terisi atau program tidak menemukan solusi tidak ada kemungkinan jawaban yang valid. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 16 2.4 Mengenal Web Server Web server adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari client, hal ini dikenal dengan nama web browser, dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML. Web server yang terkenal di antaranya adalah Apache dan Microsoft Internet Information Service IIS. Apache server HTTP Apache atau server webwww Apache adalah web server yang dapat dijalankan dibanyak sistem operasi Unix, BSD, Linux, Microsoft Windows, dan Novell Netware yang berguna untuk melayani dan memfungsikan web. Protokol yang di gunakan untuk melayani fasilitas webwww ini menggunakan HTTP. Sedangkan, definisi dari IIS atau Internet Information Server adalah sebuah HTTP web server yang di gunakan dalam sistem operasi server Windows, mulai dari Windows NT 4.0 Server, Windows 2000 Server atau Windows Server 2003. Layanan ini merupakan layanan terintegrasi dalam Windows 2000 Server, Windows Server 2003 atau sebagai add-on dalam Windows NT 4.0. Layanan tersebut berfungsi sebagai pendukung protokol TCPIP yang berjalan dalam lapisan aplikasi application layer. IIS juga menjadi fondasi dari platform Internet dan Intranet Microsoft, yang mencakup Microsoft Site Server, Microsoft Commercial Internet Sistem dan produk-produk Microsoft BackOffice lainnya. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 17 Gambar 2.2. Papan Topologi Web Server

2.5 PHP