Sudoku or Not Sudoku

Sudoku mirip dengan puzzle keduanya hanya memiliki solusi dan hanya satu solusi, bedanya apabila hasil penyelesaian puzzle umumnya berupa gambar maka hasil penyelesaian sudoku adalah “solusi sudoku” yaitu susunan angka penuh di kotak 9 x 9 yang membentuk posisi valid yaitu “tidak ada angka kembar di setiap baris, kolom dan area”.

Ada berapa banyak puzzle bisa dibuat? Tentu lebih banyak dari gambar yang bisa dibuat, jadi jawabnya tak terhingga. Sekarang ada berapa banyak sudoku yang bisa dibuat? Tentu lebih banyak dari gambar sudoku yang bisa dibuat. Yang saya maksud dengan gambar sudoku adalah kotak ukuran 9 x 9 yang berisi penuh angka-angka dan memenuhi syarat “tidak ada angka kembar di setiap baris, kolom dan area”. Selanjutnya gambar sudoku saya sebut sebagai grid sudoku. Mengejutkan jawabnya: banyak sudoku yang bisa dibuat adalah tak terbilang!

Satu grid sudoku misalnya seperti gambar 2, masih tetap valid meskipun kita perlakukan tindakan:

  • Saling tukarkan antara zona horizontal. Misal H1, H2, H3 menjadi H1, H3, H2 dst ada 6 cara. Begitu juga untuk zona vertikal ada 6 cara Total ada 62 cara perlakuan tanpa merubah validitasnya.
  • Saling tukarkan antara baris yang terletak dalam satu zona yang sama, misal untuk zona horizontal H2 dari semula B4, B5, B6 menjadi B4, B6, B5  dst ada 6 cara. Begitu juga untuk ketiga zona vertikal, mengingat ada 6 zona yang ada maka kita bisa memberi total ada 66 cara perlakuan tanpa merubah validitasnya.
  • Merotasi dari 0°, 90°, 180°, 270° ada 4 cara.
  • Permutasi, misal ganti semua “2” jadi “0”, lalu ganti semua “7” jadi “2” ditutup dengan mengganti semua “0” jadi “7”. Perlakuan seperti ini bila diterapkan pada angka-angka yang lain, biasa menampilkan 9! keadaan yang berbeda namun tidak merusak validitas sudoku. (9! =  9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1)

Menurut Bertram Felgenhauer dari Technical University of Dresden Jerman dan Frazer Jarvis dari University of Sheffield Inggris ada 5.472.730.538 konfigurasi  grid sudoku. Padahal satu grid bisa tampil dengan 62 x 66 x 4 x 9! cara yang berbeda. Maka jumlah grid yang ada tak terbilang bukan? Jadi deposit sudoku cukup aman.

Proses pembuatan pasel dimulai dari menempel gambar pada karton, kemudian dilakukan pemotongan ala pasel, itu baru dugaan meskipun saya tetap percaya “banyak jalan menuju Roma”. Dari pandangan seperti itu saya membuat sudoku tidak berangkat dari papan sudoku kosong dengan tujuan untuk menghindari terjadinya “posisi konflik” yaitu susunan angka-angka yang tak mungkin diselesaikan menjadi grid sudoku. Ilustrasi ada pada gambar 22 yang tampak jelas dan gambar 23 yang tidak langsung terlihat.

sonsgb22gb23

Saya membuat sudoku berangkat dari grid sudoku. Kemudian mencabuti angka-angka  melakukan pemeriksaan tiap kali selesai mencabut. Pemeriksaan diperlukan untuk menjaga agar sudoku yang dihasilkan hanya memiliki satu solusi saja. Dengan begitu  syarat “satu sel hanya berjodoh dengan satu angka saja” tetap terjaga. Pencabutan yang dilakukan secara sembrono dapat menghasilkan “bukan sudoku”. Lihat “bukan sudoku” gambar 24, Sel S21 berpasangan dengan “6” Ok, dengan “2” pun Ok.

sonsgb24

sonsgb25gb26

Proses pencabutan bisa dilakukan dua angka atau empat angka sekaligus agar dapat dihasilkan sudoku yang simetris atau anti simetris. Simetris atau tidak sebenarnya tidak masalah yang prinsip harus dipegang adalah: “satu sel hanya berjodoh dengan satu angka saja”. Dalam buku ini satu syarat saya tambahkan bahwa: “solusi dari sudoku yang dihasilkan berupa sodoku pula”.

sonsgb27gb28

Gambar 27 adalah sudoku dengan 28 angka, solusiya gambar 28 berupa sudoku pula  dengan 53 angka. Sedikitnya sudoku terdiri dari 17 angka, sudoku dengan kurang dari 17 angka pasti solusinya lebih dari satu alias bukan sudoku.

Kiranya perlu saya jelaskan dari mana saya mendapatkan grid sudoku. Saya telah menulis program dalam bahasa Pascal (under DOS) yang mampu mendiagnosa setiap komposisi angka dipapan sudoku dalam dua kelompok yakni:

  • Bukan sudoku
    • karena konflik, jadi tidak memiliki solusi (CONFLICT)
    • karena memiliki lebih dari satu solusi (NOT UNIQUE)
  • Sudoku, karena hanya memiliki satu solusi (UNIQUE)

Sekarang jelas kiranya darimana saya mendapatkan grid sudoku sebagai bahan baku pembuatan sudoku. Program yang saya tulis itu lazim desebut sudoku solver, program ini bekerja dengan baik di mesin 32 bit dengan windows 7 atau versi sebelumnya. Anda bisa memperolehnya gratis dengan cara mengirim email ke dwidjo.hastjarjo@gmail.com insya Allah saya akan membalasnya.

Leave a comment