17/06/15

Membuat Program Sudoku Dengan Algoritma Brute Force

Membuat Program Sudoku Dengan Algoritma Brute Force - Sudoku adalah adalah permainan teka-teki (puzzle) logika yang berasal dari Jepang. Permainan ini sangat populer dis eluruh duniat.

Contoh sebuah sudoku:

Membuat Program Sudoku dengan Algoritma Brute Force_

Kotak-kotak di dalam sudoku harus diisi dengan angka 1 sampai 9 sedemikian sehingga :
  1. Tidak ada angka yang sama (berulang) pada setiap baris;
  2. Tidak ada angka yang sama (berulang) pada setiap kolom;
  3. Tidak ada angka yang sama (berulang) pada setiap bujursangkar (persegi) yang lebih kecil.

Solusi Sudoku di atas adalah :

Membuat Program Sudoku Dengan Algoritma Brute Force 2_

Spesifikasi Tugas Kecil 1 :
  • Tulislah program kecil (sederhana) dalam Bahasa C/C++/Java/Phyton yang mengimplementasikan algoritma Brute Force untuk mencari solusi sebuah sudoku.
  • Input: sebuah file teks yang berisi matriks berukuran 9 x 9 yang menyatakan kondisi awal sebuah sudoku. Nilai nol pada matriks merepresentasikan sel kosong.
  • Output:
    a. Bujur Sangkar sudoku (lihat contoh),
    b. Jumlah iterasi yang dibutuhkan (satu iterasi diartikan sebagai satu usaha untuk menempatkan satu nilai pada sebuah sel,
    c. Waktu eksekusi (tidak termasuk pembacaan file input).

• Contoh masukan 1:
5 3 0 0 7 0 0 0 0
6 0 0 1 9 5 0 0 0
0 9 8 0 0 0 0 6 0
8 0 0 0 6 0 0 0 3
4 0 0 8 0 3 0 0 1
7 0 0 0 2 0 0 0 6
0 6 0 0 0 0 2 8 0
0 0 0 4 1 9 0 0 5
0 0 0 0 8 0 0 7 9

• Contoh keluaran 1:
---------------------
5 3 4 | 6 7 8 | 9 1 2
6 7 2 | 1 9 5 | 3 4 8
1 9 8 | 3 4 2 | 5 6 7
---------------------
8 5 9 | 7 6 1 | 4 2 3
4 2 6 | 8 5 3 | 7 9 1
7 1 3 | 9 2 4 | 8 5 6
---------------------
9 6 1 | 5 3 7 | 2 8 4
2 8 7 | 4 1 9 | 6 3 5
3 4 5 | 2 8 6 | 1 7 9
----------------------
Jumlah iterasi = …
Waktu eksekusi = …


· Contoh masukan 2:
9 0 0 1 0 4 0 0 2
0 8 0 0 6 0 0 7 0
0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 1
0 7 0 0 0 0 0 3 0
3 0 0 0 0 0 0 0 7
0 0 0 0 2 0 0 0 0
0 3 0 0 7 0 0 8 0
1 0 0 0 0 9 0 0 0

· Contoh masukan 3:
0 0 0 0 0 0 0 0 0
0 0 0 0 0 3 0 8 5
0 0 1 0 2 0 0 0 0
0 0 0 5 0 7 0 0 0
0 0 4 0 0 0 1 0 0
0 9 0 0 0 0 0 0 0
5 0 0 0 0 0 0 7 3
0 0 2 0 1 0 0 0 0
0 0 0 0 4 0 0 0 9

· Contoh masukan 4: sembarang dari Anda

Yang dikumpulkan:
  • Laporan yang hanya berisi:
    1. Algoritma brute force (notasi pseudo-code)
    2. Source program
    3. Input dan output (minimal 4 contoh)
  • Dilarang keras copy paste program dari Internet atau dari kakak kelas. Program harus dibuat sendiri. 
  • Tambahkan cek list berikut (centang dengan Ö) di dalam laporan anda untuk memudahkan Asisten dalam menilai:

Poin
Ya
Tidak
1.      Program berhasil dikompilasi


2.      Program berhasil running


3.      Program dapat membaca file input dan menuliskan keluaran.


4.      Keluaran sudah benar (solusi sudoku benar)



Tidak ada komentar:

Posting Komentar

Formulir Kontak

Nama

Email *

Pesan *