Thursday, October 10, 2013

Apakah Anda Berbakat Menjadi Programer ?

Saya masih ingat teka teki saat masih kecil, teki teki tersebut berkisah tentang seorang petani, seekor anjing, seekor kambing dan seikat rumput yang mau menyebrangi sungai dari asal ke tujuan. Sayang-nya perahu untuk menyebrang hanya bisa mengangkut dua obyek saat yang bersamaan. Dilain pihak jika petani tidak berada disekitar bawaan-nya, maka kambing akan memakan rumput, atau anjing akan mengigit kambing.
 
Solusinya adalah si petani menyeberangkan kambing terlebih dahulu ke tujuan, lalu kembali untuk mengambil rumput di asal dan kembali ke tujuan, saat rumput sampai di tujuan, sebelum kambing memakan rumput, petani kembali ke asal dengan membawa kambing. Sebelum kambing di gigit anjing, petani lalu menyeberangkan anjing ketujuan, dan meninggalkan rumput dan anjing di tujuan dan terakhir kembali ke asal untuk membawa kembali rumput. Hemm cukup sulit bukan dan ternyata solusi diatas menyebabkan petani kembali ke asal dengan membawa muatan.
 
Nah tes seperti ini juga terjadi di microsoft, konon salah satu tes-nya untuk seleksi programmer adalah test tentang warna topi empat marinir. Perhatikan gambar dibawah ini



Ke-empat marinir dibawah adalah tawanan pasukan musuh. Mereka ditanam di pasir dengan hanya kepala saja yang muncul dari permukaan tanah. Setiap marinir tidak tahu warna topi masing2 dan hanya bisa melihat kedepan. Namun jenderal pasukan musuh mengatakan bahwa mereka berempat menggunakan dua topi putih sisanya topi hitam, lalu A ditempatkan diseberang dinding sedangkan diseberang-nya ada B, C dan D. Namun jika salah satu dari mereka bisa menebak warna topi yang mereka gunakan, maka mereka semua bebas, namun jika tidak mereka akan dihukum mati.

Mari kita analisa, A dan B tidak tahu warna topi A,B,C dan D, karena A dan B keduanya menghadap tembok.  Lalu C hanya tahu topi warna B, Terakhir D meski tahu warna B dan C namun dia juga tidak tahu warna topi-nya sendiri.

Apakah jawaban-nya ?, saat jenderal musuh bertanya, A hanya diam, demikian juga B, dan ternyata demikian juga dengan D. Kenapa D cuma bisa diam, jika saja B dan C menggunakan topi dengan warna yang sama maka dia pasti menggunakan topi dengan warna sebaliknya, namun B dan C menggunakan topi dengan warna yang berbeda sehingga D tidak bisa menebak warna topi-nya. Untunglah saat mendengar D diam saja, maka C tahu pasti warna dia dan B berbeda. Maka dengan melihat warna topi B dia tahu pasti warna topi-nya sendiri adalah warna kebalikan-nya alias hitam.



No comments: