Soal Logika: Siapa Pembunuhnya?

Bagi temen-temen yang bukan dari jurusan IT mungkin saja tidak suka dengan hal-hal yang berbau logika (atau tidak peduli lebih tepatnya ^^). Lebih-lebih dengan pemrograman! Mungkin sebel kalo liat temen, saudara, atau mungkin tetangganya lagi programming atau coding. Sambil bertanya-tanya, "Mereka tuh ngapaen aja seh? Kayak ga da kerjaan aja!". Hadeeehh, ckckck.

Sebenarnya bukan hanya temen-temen aja, kami yang dari jurusan IT kadang juga sebel dengan persoalan logika dan pemrograman. Apalagi kalo dapat soal praktikum yang bikin puyeng. Hehehe :D

Tapi tunggu dulu, sebentar lagi aku akan tunjukkan kepada kalian semua bahwa logika tuh tak selamanya membosankan. Terbukti loh, ini terjadi pada diriku setelah menemukan soal logika yang keren abiz pas browsing. Soal ini sungguh menarik. Sekalipun butuh waktu agak lama, ternyata soal ini seru banget. Pokonya lega kalo udah ketemu jawabannya. Langsung aja, neh soalnya:


- - - start here - - -

Rabu, 5 Mei 2004, Santo ditemukan terbunuh di rumahnya, Jl. Hanya Lewat Jakarta. Tim forensik memperkirakan waktu kematian antara jam 11.10 - 11.30 malam. Polisi menyatakan ada 4 orang tersangka yaitu Santi, Raras, Tuti dan Uun. (Gawat, ini tidak baik, pembunuhan terjadi sehari setelah ultahku! >_<) Ketika diinterogasi mereka masing-masing memberikan 4 alibi.
Santi : Saya tidak membunuhnya. Uun yang melakukannya. Uun pacarnya Santo. Raras dan Saya sedang menonton TV bersama dari jam 10.10 sampai 12.30 malam.

Raras : Saya tidak bersalah. Santi dan saya sedang menonton TV bersama pada saat pembunuhan. Uun pacarnya Santo. Saya melihat Uun berbicara dengan santo jam 9.30 malam sebelum pembunuhan.

Tuti : Saya tidak bersalah. Uun memang pacarnya Santo. Tapi Santi pembunuhnya. Saya melihat Uun meninggalkan rumah jam 10.00 malam.

Uun : Saya tidak membunuh Santo. Saya juga bukan pacar Santo. Saya berada di Bandung selama malam pembunuhan. Raras lah pembunuhnya.


Tim interogasi menyatakan alat lie detector mereka tidak bisa bekerja sempurna. Mereka hanya bisa memastikan bahwa masing-masing tersangka mengucapkan 2 kalimat bohong dan 2 kalimat jujur. Lalu siapakah pembunuh Santo?

A. Santi
B. Raras
C. Tuti
D. Uun
E. Bukan dari mereka

- - - end here - - -

Sekilas kasus di atas memang terlihat sangat rumit. Pertama kali baca soal ini sumpah aku ga ngerti mo ngerjain darimana dulu. Akhirnya aku menggunakan sedikit metode yang dipake Sherlock Holmes (hehe, sok aja neh), yaitu dengan menyederhanakan setiap detail. Kata Mr Holmes, detail yang terlihat tidak penting justru lebih penting dari fakta yang kentara. Halaaahh,, ngomong apa aku ini?! Langsung aja neh, pasti penasaran kan sapa pembunuhnya?

Oke, oke, sabar. Sebentar lagi akan kujelaskan pemecahannya. Setelah berpikir hampir 2 jam, akhirnya aku (mungkin) sudah bisa memecahkan kasus ini (semoga pemecahanku ini tepat ^^). Di sini aku mencoba untuk mengkonversikan kasus ini menjadi simbol-simbol yang akan mempermudah kita untuk memecahkan kasus. Caranya? Tentu saja dengan pendekatan logika dan sedikit konsep pemrograman ^^. Seperti ini:

Alibi-alibi setiap orang akan diwakilkan oleh 1 simbol. Misal alibi pertama milik Santi menjadi s1, alibi kedua milik Tuti menjadi t2, dst. Hingga akhirnya kusederhanakan dalam bentuk tabel terlihat seperti ini:

Santi : s1 - s2 - s3 - s4
Raras : r1 - r2 - r3 - r4
Tuti  : t1 - t2 - t3 - t4
Uun   : u1 - u2 - u3 - u4

Di dalam soal dijelaskan ada 2 kalimat jujur dan 2 kalimat lainnya bohong. Kita misalkan saja jujur dan bohong di sini ke dalam bentuk boolean. TRUE untuk kalimat jujur dan FALSE untuk kalimat bohong. Berarti setiap orang wajib memiliki 2 TRUE dan 2 FALSE. Untuk lebih mempermudah lagi kita ubah saja TRUE = 1 dan FALSE = 0. Berarti tiap tersangka harus memiliki nilai 2. Tidak boleh kurang atau lebih.
s1 + s2 + s3 + s4 = 2
r1 + r2 + r3 + r4 = 2
t1 + t2 + t3 + t4 = 2
u1 + u2 + u3 + u4 = 2

Nah, sekarang kasus ini jadi agak sederhana kan? Lalu gimana neh cara pemecahannya? Mudah saja, tuduh salah satu orang, lalu ubah alibi yang membela dirinya menjadi FALSE atau 0 dan alibi yang menuduh tersangka pilihanmu ubah menjadi TRUE atau 1. Setelah itu sinkronkan dengan alibi-alibi yang lain. Emang agak rumit, tapi setelah aku coba menuduh mereka satu-persatu, ternyata hanya saat menuduh Raras lah yang paling mungkin untuk menjadikan semua alibi jujur dan bohong milik tersangka-tersangka lainnya sinkron satu sama lain. Jadi untuk sementara ini tuduhanku jatuh pada Raras. Jika temen-temen punya pendapat lain silakan dishare ya... :)

Cara kerjaku seperti ini:

Maaf sebelumnya, di sini aku akan menjelaskan langsung pada pembuktian dari hasil yang kutemukan. Kalau aku menjelaskan caranya dengan menuduh mereka satu-persatu dengan menunjukkan coret-coretanku yang selama hampir dua jam itu (hey, kasus ini selesai jam 00.17, nice huh? >_<), penjelasannya akan sangat-sangaaaat panjaaaaaaaang. Oke, pertama aku menuduh Raras, berarti kalimat pertama Raras adalah bohong atau r1=0. Tentu saja tiga tersangka lainnya aku anggap tidak bersalah. Ini menjadikan semua kalimat pertama mereka adalah TRUE atau s1 = t1 = u1 = 1.
Santi : 1 - s2 - s3 - s4

Raras : 0 - r2 - r3 - r4

Tuti  : 1 - t2 - t3 - t4

Uun   : 1 - u2 - u3 - u4


Setelah itu jadikan kalimat yang menuduh Raras = TRUE dan yang membela atau menuduh selain Raras = FALSE. Otomatis akan menjadikan s2=0, t3=0, u4=1.
Santi : 1 - 0 - s3 - s4
Raras : 0 - r2 - r3 - r4
Tuti  : 1 - t2 - 0 - t4
Uun   : 1 - u2 - u3 - 1

Sekarang lihat, Uun sudah terbukti bahwa 2 kalimatnya jujur. Berarti 2 kalimat yang lain adalah bohong atau FALSE. Jadi u2=0, u3=0.
Santi : 1 - 0 - s3 - s4
Raras : 0 - r2 - r3 - r4
Tuti  : 1 - t2 - 0 - t4
Uun   : 1 - 0 - 0 - 1

Karena u2 bernilai FALSE berarti kalimat ke-2 milik Uun adalah bohong. Ini menunjukkan kalo Uun adalah pacar Santo. Langkah selanjutnya ubah kalimat yang menyatakan Uun adalah pacar Santo menjadi TRUE. Jadi s3=1, r3=1, t2=1.
Santi : 1 - 0 - 1 - s4
Raras : 0 - r2 - 1 - r4
Tuti  : 1 - 1 - 0 - t4
Uun   : 1 - 0 - 0 - 1

Tuti dan Santi sekarang jadi ketahuan kalau kalimatnya yang ke-4 adalah bohong. Bisa dipastikan dari jumlah kalimat jujur dan bohong yang mereka miliki. Berarti t4=0 dan s4=0.
Santi : 1 - 0 - 1 - 0
Raras : 0 - r2 - 1 - r4
Tuti  : 1 - 1 - 0 - 0
Uun   : 1 - 0 - 0 - 1

Jika s4=0, maka kalimat yang menyatakan Santi dan Raras menonton TV saat pembunuhan adalah bohong. Ini menunjukkan kalimat Raras yang ke-2 adalah pasti bohong juga. Jadi r2=0. Dan yang tersisa adalah r4. Karena hasil penjumlahan semua kalimat harus 2, maka 0 + 0 + 1 + r4 = 2. Jadi r4 = 2 - 0 - 0 - 1 = 1, artinya kalimat Raras yang ke-4 adalah jujur. Nah, sekarang semua kalimat sudah terlihat nilai kebenarannya.
Santi : 1 - 0 - 1 - 0
Raras : 0 - 0 - 1 - 1
Tuti  : 1 - 1 - 0 - 0
Uun   : 1 - 0 - 0 - 1

Okay, semua alibi mereka sudah sinkron kan? Kita tinjau lagi pernyataan Raras yang pertama atau r1: "Saya tidak bersalah". Karena nilai r1 adalah FALSE atau 0, maka kalimat tersebut adalah bohong. Jadi kesimpulanku, Raras lah pembunuhnya!

Well, ada pendapat lain? :)

sumber : klik

Tidak ada komentar:

Posting Komentar