Rahasia Dibalik Cara Pembuatan Program Tebak Angka
Posted OnKebanyakan mahasiswa mengira bahwa komputer benar-benar mengetahui isi hati dan pikiran mereka, padahal sebetulnya tidak. Dalam hal ini algoritma dan logikalah yang berperan. Melalui serangkaian input dan proses serta perhitungan, komputer akan menghasilkan output berupa yang angka yang dipilih si mahasiswa.
Banyak di antara mahasiswa yang penasaran dengan logika dan algoritma yang saya gunakan untuk membuat program menebak angka tersebut. Dan… sekarang saatnya saya buka rahasianya.
OK.. untuk menyederhanakan permasalahan, saya akan persempit dulu scope bilangannya yaitu antara 0 s/d 7. Oya.. perlu diketahui bahwa permainan tebak angka ini hanya berlaku untuk bilangan antara 0 s/d 2^n-1, dengan n nya bilangan bulat positif. Lho kenapa harus seperti itu? Iya… karena n ini terkait dengan jumlah bit biner suatu bilangan. Misalkan kita pilih jumlah bit biner untuk permainan tebak angka ini adalah 3, maka dengan jumlah bit tersebut akan diperoleh bilangan-bilangan
0 = 000
1 = 001
2 = 010
3 = 011
4 = 100
5 = 101
6 = 110
7 = 111
Dengan demikian, apabila dipilih n = 3, maka permainan tebak angka ini hanya berlaku untuk bilangan 0 s/d 7 (8 bilangan) saja.
OK… setelah diketahui bilangan biner untuk masing-masing bilangan 0 s/d 7, selanjutnya mengelompokkan ke-delapan bilangan tersebut berdasarkan bit-bit yang bernilai 1. Misalkan untuk bilangan yang memiliki bit pertama bernilai 1 adalah 4, 5, 6, dan 7. Sedangkan untuk bit kedua bernilai 1 adalah 2, 3, 6, dan 7. Dan bit ketiga bernilai 1 adalah 1, 3, 5 dan 7.
Selanjutnya, untuk setiap kelompok tersebut ditampilkan bilangan-bilangannya dan diberikan pertanyaan kepada user. Berikut ini bentuk pertanyaannya (untuk kelompok bilangan dengan bit pertama bernilai 1):
Apakah bilangan yang Anda pilih ada diantara angka-angka berikut ini?
4 5 6 7
Ya atau Tidak?
Berikutnya pertanyaan untuk kelompok bit kedua yang bernilai 1.
Apakah bilangan yang Anda pilih ada diantara angka-angka berikut ini?
2 3 6 7
Ya atau Tidak?
Hal yang sama juga berlaku untuk pertanyaan pada kelompok bilangan dengan bit ketiga bernilai 1.
Lantas, bagaimana komputer bisa menebak angka yang dipilih oleh user? Caranya cukup mudah yaitu dengan merangkai nilai setiap bit yang diperoleh pada setiap pertanyaan. Sebagai contoh misalnya untuk pertanyaan pertama user menjawab ‘Ya’, maka bit pertama bernilai 1, pertanyaan kedua user menjawab ‘tidak’ (bit kedua bernilai 0) dan pertanyaan ketiga dijawab ‘Ya’ (bit ketiga bernilai 1), maka bilangan yang dipilih oleh user memiliki bit biner 101, dalam hal ini adalah bilangan 5.
Nah penjelasan di atas dapat digeneralisasi untuk n digit biner. Mau tahu source code program tebak angka versi Pascal? Silakan download source code di bawah ini
Posting Komentar