• Tidak ada hasil yang ditemukan

Kecerdasan Buatan dan id bab 5

N/A
N/A
Protected

Academic year: 2018

Membagikan "Kecerdasan Buatan dan id bab 5"

Copied!
11
0
0

Teks penuh

(1)

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah menganugerahkan rahmat dan kasih-Nya sehingga pada akhirnya penulis dapat menyelesaikan tugas akhir ini dengan baik. Dimana tugas akhir ini penulis sajikan dalam bentuk buku yang sederhana. Adapun judul tugas akhir yang penulis ambil sebagai berikut “PENERAPAN ALGORITMA RUNUT-BALIK (BACKTRACKING) DALAM PENYELESAIAN PERMAINAN SUDOKU”

Tujuan penulisan tugas akhir ini dibuat sebagai salah satu syarat kelulusan UAS Program Diploma Tiga (DIII) Universitas Negeri Surabaya. Sebagai bahan penulisan diambil berdasarkan hasil penelitian (eksperimen), observasi dan beberapa sumber literatur yang mendukung penulisan ini. Penulis menyadari bahwa tanpa bimbingan dan dorongan dari semua pihak, maka penulisan tugas akhir ini tidak akan lancar.

(2)

DAFTAR ISI

Kata Pengantar...1

Daftar isi...2

BAB 1 PENDAHULUAN 1.1 Latar Belakang...3

1.2 Perumusan Masalah...3

1.3 Tujuan dan Manfaat Penelitian...4

BAB 2 LANDASAN TEORI...5

BAB 3 IMPLEMENTASI DAN PEMBAHASAN...8

(3)

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Permainan Sudoku adalah bentuk permainan puzzle pada papan berukuran 2x2 yang melatih logika manusia dlam berpikir cepat namun teliti. Di dalam penyelesaian permainan Sudoku ini, kita dituntut untuk memikirkan masak-masak langkah-langkah yang akan kita ambil. Hal ini dikarenakan apabila kita mengambil langkah tanpa pertimbangan terlebih dahulu atau kita mengambil langkah secara asal, maka nantinyahal tersebut justru akan menyulitkan kita ketika di tuntut untuk mengambil langkah selanjutnya guna menyelesaikan permainan ini. Permasalahan yang di dapat aitu bagaiman membantu user untuk menyelesaikan soal – soal dari Sudoku yang ada. Sehingga dalam satu baris, kolom dan region (region 2x2 )tidak ada angka berulang. 1.2 Rumusan Masalah

Berdasarkan uraian latar belakang yang telah dijelaskan sebelumnya maka rumusan masalah dalam penulisan tugas akhir uas ini adalah Bagaimana menganalisis, memecahkan cara jalan game serta mengimplementasikan “PENERAPAN ALGORITMA RUNUT-BALIK (BACKTRACKING) DALAM PENYELESAIAN PERMAINAN SUDOKU”.

1.3 Tujuan dan Manfaat Penelitian 1.3.1 Tujuan

Berdasarkan permasalahan topik diatas, tujuan dari penelitian ini adalah : 1. Mempelajari dan mengenal lebih dalam tentang pembuatan game Sudoku

2. Mengetahui lebih dalam tentang bahasa pemrograman yang dipakai dalam pembuatan game puzzle Sudoku.

3. Mengetahui cara jalan dari algoritma yang dipakai di game Sudoku

1.3.2 Manfaat

(4)

1. Bagi penulis untuk menambah wawasan dan pengetahuan dalam merancang suatu games dengan menggunakan bahasa c# dan algoritmanya.

2. Bagi pengguna dari hasil penelitian ini diharapkan dapat memberikan motivasi dan pemahaman dalam mata kuliah kecerdasan buatan.

BAB 2

(5)

2.1 Artificial Intelligence

Kecerdasan Buatan (Artificial Intelligence) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.

Secara garis besar, AI terbagi ke dalam dua faham pemikiran yaitu AI Konvensional dan Kecerdasan Komputasional (CI, Computational Intelligence). AI konvensional kebanyakan melibatkan metoda-metoda yang sekarang diklasifiksikan sebagai pembelajaran mesin, yang ditandai dengan formalisme dan analisis statistik. Dikenal juga sebagai AI simbolis, AI logis, AI murni dan AI cara lama (GOFAI, Good Old Fashioned Artificial Intelligence). Metoda metodanya meliputi:

1. Sistem pakar: menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. Sebuah sistem pakar dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut. 2. Petimbangan berdasar kasus

3. Jaringan Bayesian

4. AI berdasar tingkah laku: metoda modular pada pembentukan sistem AI secara manual. Kecerdasan komputasional melibatkan pengembangan atau pembelajaran iterative (misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan AI non-simbolis, AI yang tak teratur dan perhitungan lunak. Metoda-metoda pokoknya meliputi:

 Jaringan Syaraf, Sistem Fuzzy, Komputasi Evolusioner

Metoda-metoda ini terutama dibagi menjadi algoritma evolusioner (misalnya algoritma genetik) dan kecerdasan berkelompok (misalnya algoritma semut) Dengan sistem cerdas hibrid, percobaan-percobaan dibuat untuk menggabungkan kedua kelompok ini. Penemuan-penemuan baru tentang Artificial Intelligence terus berlanjut hingga saat ini, termasuk di dunia game.

(6)

Algoritma runut-balik (backtracking) adalah algoritma yang berbasis pada DFS untuk mencari persoalan secara lebih mangkus. Runut-balik (backtracing), yang merupakan perbaikan dari algoritma brute-force, secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada. Hanya saja algoritma ini merupakan pencarian yang mengarah ke solusi yang dipertimbangkan saja. Algoritma runut-balik banyak digunakan pada program permainan (game) dan masalah pada bidang kecerdasan buatan. Salah satu jenis permainan yang dapat diselesaikan dengan algoritma runut-balik (backtracking) adalah permainan Sudoku. Pada makalah ini, penulis akan membahas tentang penerapan algoritma runut-balik (backtracking) dalam penyelesaian permainan sudoku. Dengan menggunakan algoritma runut-balik, solusi dapat ditemukan lebih cepat tanpa harus mencoba semua kemungkinan solusi. Melalui pembahasan dalam makalah ini, algoritma runut-balik (backtracking) digunakan pada saat program diminta untuk menyelesaikan permainan dengan mengisikan angka–angka tertentu yang memenuhi fungsi batasan pada kotak–kotak yang masih kosong (belum diisi atau bernilai nol). Jika dalam proses pengisian ternyata terjadi ketidaksinambungan maka akan dilakukan proses runut-balik (backtracking).

2.3 Prinsip Pencarian Solusi dengan Metode Runut-Balik

Di sini kita hanya akan meninjau pencarian solusi pada pohon ruang status yang dibangun secara dinamis. Langkah-langkah pencarian solusi adalah sebagai berikut: 1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan yang dipakai adalah mengikuti metode pencarian mendalam (DFS). Simpul-simpul yang sudah dilahirkan dinamakan simpul hidup (live mode). Simpul hidup yang sedang diperluas dinamakan simpuel-E (Expandnode). Simpul dinomori dari atas ke bawah sesuai dengan urutan kelahirannya.

2. Tiap kali simpul-E diperluas, lintasan yang dibangun olehnya bertambah panjang. Jika lintasan yang sedang dibentuk tidak mengarah ke solusi, maka simpul-E tersebut “dimatikan” sehingga menjadi simpul mati (dead node). Fungsi yang digunakan untuk membunuh simpul-E adalah dengan menerapkan fungsi pembatas (bounding function). Simpul yang sudah mati tidak akan pernah diperluas lagi.

(7)

4. Pencarian dihentikan bila kita telah menemukan solusi atau tidak ada lagi simpul hidup untuk runutbalik.

2.4 Penerapan Algoritma Runut-Balik dalam Penyelesaian Sudoku

Penerapan algoritma runut-balik dalam penyelesaian Sudoku adalah sebagai berikut: 1. Algoritma dimulai pada elemen kosong pertama pada matriks.

2. Periksa seluruh kemungkinan angka yaitu n (dengan ∈ {1, 2, 3, 4, 5, 6, 7, 8, 9}) yang dapat diisi oleh elemen kosong tersebut dengan memeriksa batasan (dengan fungsi pembatas).

3. Jika nilai n tersebut memenuhi fungsi pembatas (valid), maka elemen kosong tersebut diisi dengan nilai n, dan lanjutkan pemeriksaan ke elemen kosong berikutnya. 4. Jika nilai n tersebut tidak memenuhi fungsi pembatas, maka uji dengan nilai n lain. 5. Jika seluruh nilai n telah diuji dan tidak ada nilai n yang memenuhi fungsi pembatas, maka lakukan backtracking ke elemen sebelumnya.

6. Elemen ini akan diuji lagi dengan nilai n baru berdasarkan fungsi pembatas. 7. Lakukan cara yang sama dengan poin nomor 3.

8. Proses diatas akan dilakukan terus-menerus secara rekursif hingga ditemukan suatu solusi atau tidak ditemukan suatu solusi.

9. Suatu solusi dinyatakan benar jika seluruh elemen kosong telah diisi dengan nilai valid.

BAB 3

IMPLEMENTASI DAN PEMBAHASAN 3.1 Alur Algoritma Sudoku

(8)

3.2 Implementasi

(9)

Masukan angka sesuai dengan keingan dan setelah selesai klik button eksekusi dan nantinya akan melakukan analisis sendiri seperti di bawah ini

Hasil di atas merupakan eksekusi dari angka bantuan yang telah di masukkan pada awal permainan.

(10)

Ini adalah angka bantuan dari sistem

Dan gambar di atas adalah hasil dari eksekusi

(11)

Algoritma runut-balik (backtracking) merupakan algoritma yang cukup mangkus untuk menyelesaikan berbagai persoalan. Hal ini disebabkan pada algoritma runut-balik, tidak perlu mencari semua kemungkinan solusi untuk diuji. Hanya kemungkinan solusi yang mengarah pada solusi yang dipertimbangkan saja yang perlu diuji, sehingga algoritma ini cukup mangkus untuk digunakan. Berbeda dengan algoritma brute-force yang mencari semua kemungkinan solusi untuk diuji, sehingga tidak mangkus. Oleh karena itu, algoritma runut-balik banyak diterapkan dalam berbagai persoalan, terutama program game dan persoalan artificial intelligence. Hasil analisis penggunaan algoritma runut-balik dalam menyelesaikan persoalan pengisian angka-angka Sudoku menunjukkan bahwa algoritma ini cukup mangkus untuk mendapatkan solusi persoalan tersebut. Sistem kerja algoritma runut-balik yang sistematis dan ciri khasnya yang hanya memeriksa kemungkinan solusi yang memang dapat dipertimbangkan untuk menjadi solusi akhir, diperkirakan dapat menjadi solusi yang efektif dan efisien untuk persoalan ini.

4.2 Saran

1. Adanya keterbatasan pada saat aplikasi berjalan, yaitu terkadang aplikasi menjadi not responding pada saat aplikasi melakukan uji coba. Diharapkan, pada penulisan selanjutnya kode penulisan menggunakan threading sehingga aplikasi dapat berjalan dengan baik.

2. Aplikasi dapat dikembangkan dengan menambah optimasi pada algoritma backtracking dengan mengunakan teknik – teknik penyelesaian sudoku lainnya, seperti hidden pair atau hidden triple.

Daftar Pustaka

http://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2009-2010/Makalah2009/MakalahIF3051-2009-054.pdf

Referensi

Dokumen terkait

Data tersebut dapat disimpulkan hipotesis diterima yang berarti terdapat pengaruh teknik relaksasi progresif terhadap penurunan reaktivitas tekanan darah pada karang

(Kesalahan kebiasaan makan menunjang terjadinya aterosklerosis dan kegemukan yang merupakan predisposisi untuk hipertensi dan komplikasinya, misalnya, stroke,

Perbedaan penelitian yang sudah dilakukan yaitu mempunyai tujuan untuk mengetahui penerapan metode OSCE terhadap kesiapan dan motivasi mahasiswa pada praktik klinik

4 Stock Picks INDF 7600‐7900. 

data, yaitu bagaimana cara penyajian data dalam bentuk tabel dan diagram, menentukan nilai rata-rata, median, dan modus dari sekumpulan data, dan juga menafsirkan hasil

Ko : “Baiklah kalau begitu kita langsung saja mulai untuk kegiatan kita yang pertama saya akan menunjukkan pada kalian salah satu film yang bercerita tentang kisah cinta anak

Pengawetan ikan dilakukan dengan pendinginan terhadap ikan hasil tangkapan menggunakan sistem pendingin (refrigerasi). Sistem pendingin konvensional memerlukan

OLEH KERANA MASALAH INI MERUPAKAN MASALAH UTAMA SAHABAT-SAHABAT BUKURESEPI, PIHAK ADMIN BUKURESEPI TELAH MENCARI PENYELESAIAN MASALAH BAGI MEMUDAHKAN SAHABAT-