Sunday, October 5, 2008

Logika dan Matematika Biner



Stelah ujian SN-MPTN selesai dilaksanakan, aku bersama teman-teman pergi ke gramedia untuk beli buku. Kebetulan aku udah punya target buku yang dibeli. Aku mau beli buku pemmrograman C++. Hehehe. Maklum masih pemula.. jadi masih rada-rada bingung beli buku bahasa pemrograman apa. Setelah tau kelebihan dari C++, akhirnya punya niat untuk beli salah satu buku C++. Namun masih bingung juga beli buku C++ yang kayak gmana. Kan banyak sekali buku-buku yang mempelajari tentang bahasa pemrograman C++. Setelah liat sana liat sini, akhirnya ktemu juga sebuah buku yang tebalnya 817 halamn. Kayaknya lengkap deh ni buku, pikirku. Tapi setelah liat harganya, waduh mikir juga kalo mau pulang ke sibolga ongkosnya bayar pake apa. Soalnya kan aku beli tuh buku di Medan. Meski harganya hampir 100 ribuan, akhirnya jadi deh dibeli bukunya.

Hm… setelah download software pendukung (aku pake turbo C++), mulai lah membuka-buka buku yang tadi aku beli. Liat dari halaman awal, aku udah sedikit ngerti, soalnya aku pernah memperlajari bahasa C meski beberapa awal bab saja. Trus, yang menarik. Ternyata aku ktemu yang namanya penggabungan antara matematika dan logika. Padahal di SMA gak ada kepikiran bisa dibuat jadi yang begituan. Yaitu operasi biner digabungkan dengan logika.

Penasaran kan?

Pernah aku cerita tentang materi ini ke temen-temen, mereka rada-rada ga ngerti karna udah lupa pelajaran tentang logika. Hahahaha… Maklumlah, soalnya logika pelajaran kelas 1 pada masa angkatan kami. Atau mungkin aja yang baca ini juga lupa? Hmmm… kita akan review ulang materinya pelajaran logika.

Mungkin yang pokok dari yang akan kita bicarakan adalah logika ‘AND’ dan ‘OR’. Ini yang akan kita pakai nanti. Nanti kalo mau bisa nambahin ke yang lain, misal XOR. Di SMA kita diajarin kalau nilai benar itu bernilai 1 dan nilai salah itu bernilai 0. masih ingat kan? Mudah-mudahan gak lupa. Coba sekarang liat tabel ini.

Tampak bahwa operasi logika di atas adalah operasi ‘AND’. Pada table di atas terdapat 2 buah pernyataan. Ada yang bernilai benar (1) dan ada yang bernilai salah (0). Jika 1 dan 1 di operasikan dengan operasi ‘AND’ maka hasilnya adalah 1. Artinya jika benar dan benar dioperasikan, maka hasilnya adalah benar. Demikian juga dengan pernyataan-pernyataan lain yang dioperasikan. Hasil dari operasi ‘AND’ akan bernilai benar jika kedua-duanya adalah benar. Dan akan salah jika ada pernyataan yang bernilai salah juga. Ini adalah dasar-dasarnya.
Bagaimana jika operasi ‘OR’? Lihat tabel berikut

Pada table di atas, kita bisa melihat operasi ‘OR’. Jika salah satu dari pernyataan bernilai benar, maka hasilnya akan bernilai benar. Jika kedua-duanya bernilai salah maka hasil nya adalah salah.

Lalu selanjutnya apa? Mana yang akan kita permasalahkan? Kalo yang tadi itu masih dasar-dasarnya saja, selanjutnya kita akan mulai menggabungkan matematika logika ini dengan teknologi informasi (cocoknya dibilang apa ya,,,computer?? Atau mesin computer?? Bingung…)

Kalo dalam matematika, kita akan ditanya begini, 1 AND 1, hasilnya berapa? Maka jawabnya adalah 1. Trus, kita ditanya lagi, 1 OR 0, hasilnya berapa? Maka jawabnya adalah 1.

Jika dalam pelajaran computer, kita gak akan ditanya berkisar 1 dan 0 aja. Tapi udah agak mendalam. Jadi pertanyaannya dimodofikasi seperti ini. 35 AND 56, berapa hasilnya? Atau, 36 OR 45, berapa hasilnya? Pertama kali liat pertanyaan yang begini, aku bingung mau jawab gmana. Karena ga ada dipelajari dalam matematika SMA. Trus setelah baca kalimat demi kalimat dalam buku itu, akhirnya dapat juga kata kuncinya. Disini kita memakai computer. Dan ingat kalau computer itu, hanya mengetahui angka 0 dan 1 aja, yang artinya bilangan biner. Nah, kalau begini, kia udah bisa menyelesaikan masalah kita tadi. Pertama tama yang harus kita lakukan adalah mengubah bilangan dengan basis 10 tadi (yaitu 45, 36, 35, dll) menjadi bilangan biner atau bilangan dengan basis 2. Nah…masih ingat gak cara mengubah bilangan basis 10 ke basis 2? Ini pelajaran SMP kalo gak salah. Kalo lupa, kita ingatkan lagi disini. Liat aja gambar di bawah ini.

Misalkan, bilangan yang akan kita ubah adalah 35. Pertama-tama tulis 35 di sebuah kertas. Selanjutnya kita bagi dengan 2 (karena kita ubah ke basis 2). Hasilnya adalah 17 dengan sisa 1. yang 17 kita tulis di bawah bilangan 35. sedangkan sisa 1 kita tulis di sebelah antara 35 dan 17 (lihat gambar). Selanjutnya 17 dibagi dengan 2 lagi. Hasilnya adalah 8 dengan sisa 1. 8 ditulis di bawah angka 17 tadi, dan sisa 1 ditulis di sebelah angka 17 dan 8. 8 lalu dibagi 2 lagi. Hasilnya adalah 4 dengan sisa 0. 4 dibagi 2 adalah 2 dengan sisa 0. Dan 2 dibagi 2 adalah 1 dengan sisa 0. Jangan lupa untuk menulis sisa di sebelah kanan dari masing-masing bilangan. Nah, kita mendapati seperti gambar di atas. Selanjutnya yang kita lakukan adalah mengurutkan bilangan tersebut dari bawah ke atas. Menjadi 100011 (1 yang terbawah juga ikut diurutkan). Inilah bilangan basis 2 dari 35. Kalau kita mau mengubahnya ke bilangan basis 10 :
100011= 1x25 + 0x24 + 0x23 + 0x22 + 1x21 + 1x20
= 32 + 0 + 0 + 0 + 2 + 1
= 35
Nah, dengan cara yang sama kita bisa mengubah bilangan 56 ke basis 2 dengan hasil 111000. Setelah kita memperoleh basis 2 dari bilangan-bilangan tersebut, inilah yang akan dita operasikan dengan operasi ‘AND’ atau ‘OR’. Terserah yang mana aja. Sebagai contoh kita akan menggunakan operasi ‘AND’.
Lihat gambar di bawah ini.

Sekarang ngerti kan? Kita menderetkan bilangan basis 2 tersebut, trus yang atas dan yang bawah dioperasikan ‘AND’. Hasilnya adalah 100000. inilah yag akan kita konversi ke basis 10.
100000 = 1x25 + 0x24 + 0x23 + 0x22 + 0x21 + 0x20
= 32 + 0 + 0 + 0 + 0 + 0
= 32

Jadi hasil dari 35 AND 56 adalah 32. Gampang bukan? Kalau kita mengerjakan 32 OR 56 maka hasilnya adalah 59

Lihat gambar di bawah.

111011 = 1x25 + 1x24 + 1x23 + 0x22 + 1x21 + 1x20
= 32 + 16 + 8 + 0 + 2 + 1
= 59

Akhirnya selesai juga permasalahannya. Dengan demikian, kita bisa menyelesaikan soal-soal seperti ini.

Moga bermanfaat……

Edit and print this page

No comments: