Game Sudoku Solver Sederhana Menggunakan M.s Excel
Sudoku adalah
sejenis teka-teki logika. Tujuannya adalah untuk mengisikan angka-angka dari 1
sampai 9 ke dalam jaring-jaring 9×9 yang terdiri dari 9 kotak 3×3 tanpa ada
angka yang berulang di satu baris, kolom atau kotak.
Sudoku solver adalah program yang digunakan untuk
menyelesaikan sebuah teka-teki sudoku. Sudoku solver khususnya menggunakan
Microsoft Excel dapat kita cari di search engine yang menggunakan
beragam metode penyelesaian. Salah satu contoh solver yang saya temukan
adalah http://www.sudokuwiki.org/sudoku.htm.
Pada web tersebut dan juga solver-solver yang lain dikenal beberapa
teknik penyelesaian memiliki nama seperti : hidden, naked, wing, xyz,
dan lain-lain. Semakin tinggi level kesulitan sudoku, maka semakin banyak
pula teknik penyelesaian yang dibutuhkan untuk menyelesaikannya.
Pada excel buatan saya kali ini, seperti biasa, sudoku
solver dibuat tanpa menggunakan VBA makro. Tentu saja sangat terbatas kemampuan
yang bisa dilakukan, oleh karena itu saya sebut sebagai sudoku solver yang
sederhana.
File excel ini memiliki 3 papan dalam tab ‘tampil‘
. Papan utama terletak paling kiri yakni pada sel C5:K13, sedangkan pada
papan tengah (sel N5:V13) dan papan kanan (sel Y5:AG13) sebagai papan bantuan.
Mula-mula bersihkan secara manual papan utama, lalu isikan
angka-angka pada papan tersebut sesuai teka-teki sudoku yang anda temukan.
Contohnya, ambil soal tantangan sudoku di koran
Kompas yang selalu ada soal baru tiap hari. Seiring dengan pengisian angka pada
papan utama, kita akan melihat perubahan-perubahan terjadi pada papan bantuan
tengah dan papan bantuan kanan.
Papan bantuan kanan berisi angka-angka kemungkinan yang
bisa diisi pada suatu kotak, dalam beberapa permainan sudoku disebut sebagai ‘pencil mode‘,
sedangkan papan bantuan tengah isinya mirip dengan papan utama, namun terkadang
ada angka yang berwarna merah,
yaitu angka yang memiliki kepastian diisi di sel yang bersangkutan.
Jadi isikanlah angka berwarna merah pada papan tengah ke
papan utama, dan seterusnya.
Jika kategori kesulitan teka-teki sudokunya rendah, maka
peluang teka-teki dapat terselesaikan cukup tinggi, asalkan tidak ada salah
ketik soal atau salah input saat mengisikan angka berwarna merah.
Untuk soal dengan kategori kesulitan tinggi, maka pada
suatu langkah TIDAK ADA angka berwarna merah di papan bantuan tengah untuk
diisikan di papan utama. Yah namanya juga tanpa VBA makro jadi untuk
permasalahan yang kompleks mau tidak mau harus digunakan pemrograman VBA.
Apa Rahasianya?
Silakan anda membuka tab ‘hidden‘, di sana anda
akan melihat pada kolom B hingga F, bagaimana data pada papan utama di tab ‘tampil‘
dibaca per sel untuk diolah. Karena ada 9×9 = 81 buah sel pada papan sudoku
maka jumlah baris membaca data ini juga 81 baris.
Selanjutnya pada kolom I hingga J data dari kolom B dan F
digabungkan dalam kelompok baris (ada 9 kelompok), kolom (9 kelompok) dan 3×3
(9 kelompok). Lalu dipilah-pilah angka berapa yang belum keluar pada
masing-masing kelompok. Angka-angka yang belum keluar pada setiap sel lalu
diolah untuk ditampilkan pada kolom L hingga X. Hasil inilah yang nantinya
dimunculkan sebagai ‘pencil mode‘ pada papan bantuan sebelah kanan di tab ‘tampil‘.
Khusus pada kolom Z hingga BH terdapat proses
pencarian hidden single, yaitu angka yang unik yang terdapat dalam
suatu kelompok baris, kolom maupun 3×3, hasil pencarian hidden single juga
digabung dengan perhitungan di atas untuk dimunculkan sebagai ‘pencil mode‘
pada papan bantuan kanan.
Untuk lebih jelasnya silakan mempelajari file excel ini,
bila perlu bisa anda kembangkan untuk teknik-teknik penyelesaian lainnya baik
tanpa VBA maupun dengan VBA tentunya dengan mempelajari terlebih dahulu
teori-teori penyelesaiannya di internet.
Selamat Mencoba
Comments
Post a Comment