Sunday, May 31, 2009

Membuat PC Bisa Berbicara

Barusan, dikasih tw dari temen.. Ternyata, dengan berbekal notepad (atau pengolah kata lainnya), kita bisa membuat PC kita ngomong...!!!!!

Gampang aja caranya.. Pertama, buka Notepad, lalu ketikkan baris code berikut.
Dim ProSpeak
Set ProSpeak = WScript.CreateObject( "SAPI.SpVoice" )
ProSpeak.Speak "Hallo"

Lalu save dalam format *.vbs

Ganti kata “Hallo” dengan kata yang kamu inginkan..
Perhatikan apa yang terjadi ketika file tersebut dibuka.. ^^


Click Here to Read More..

Wednesday, May 27, 2009

Menara Si Ani

Salah satu hadiah ulang tahun yang diterima Ani adalah sebuah kotak mainan yang berisi balok-balokan. Balok-balokan itu semuanya berbentuk kubus dengan rusuk 5 cm dan tepat memenuhi kotak wadahnya yang juga berbentuk kubus.

Ilustrasi kubus dengan wadahnya (garis bantu belum tentu benar)

Seperti kebanyakan anak-anak, Ani sangat senang membangun menara-menaraan. Dalam waktu singkat, balok-balokan itu sudah berserakan dan ia mulai membangun. Ia mulai dengan membangun sebuah kubus yang besar, kemudian kubus yang lebih kecil di atasnya dan kubus yang lebih kecil lagi di atas kubus yang kedua.

Ilustrasi menara kubus yang dibuat Ani

Walaupun belum puas kerena menara kubus itu lebih pendek dari dirinya, namun ia telah menggunakan semua balok-balokan yang ada.

Pertanyaannya: Berapa tinggikah menara kubus si Ani?

Click Here to Read More..

Tuesday, May 26, 2009

Riddle Site

Pastinya kalian sudah tahu kalau ada situs yang khusus untuk mengasah otak kita, situs teka-teki.. Di situs ini, akan ada beberapa level. Untuk naik ke level berikutnya, harus melalui level sebelumnya terlebih dahulu. Tingkat kesulitan tiap level akan meningkat. Nah, untuk melalui tiap level ini, kita ditantang untuk memecahkan kode-kode misterius.. ^^

Apa saja sih situs-situs tersebut? Kita lihat saja di bawah..
=========================================================================
NOTPRON.COM
Salah satu situs yang paling terkenal adalah: www.notpron.com. Situs ini terdiri dari 160 level. Di sini, kita bisa menggunakan berbagai alat bantu seperti kalkulator, google, software pengolah gambar, pengolah suara, dan sebagainya.. Benar-benar membuat kita jadi semakin ahli dalam memecahkan kode-kode. Namun, sayangnya, situs ini dalam bahasa inggris. ~_~


screenshot level1 notpron.

=========================================================================
GODTOWER.COM
Situs yang ber*modal* juga seperti notpron, dan dalam bahasa Inggris.. Di godtower.com, bedanya kita gak perlu mengetikkan jawaban di html, tapi untuk ke level selanjutnya menggunakan password yang diketikkan di kotak yang disediakan.

Kalo bingung level 1, jawabannya mudah, yaitu "kabul".. Ya, karena saya dikasih tw ama temen, tapi gak ngerti, kenapa jawabnya harus "kabul".. Pusink aku.. Lalalala..
Termasuk situs teka-teki yang gg banget.. ~_~

=========================================================================
MATIBEKU.COM
Setelah berakhirnya masa hidup tkatki.net, maka situs teka-teki di Indonesia diteruskan oleh Ivan Wangsa CL dengan situs matibeku.com.. Tingkat kesulitannya mirip seperti notpron, namun tentunya lebih mudah, karena dibuat dalam bahasa Indonesia.. ^^

Lumayan berkunjung ke situs ini.. Mengisi waktu luang.. Ohohoho!
Jadi, selamat berteka-teki ria...!!! ^^

Note: aku belum menemukan situs-situ teka-teki yang lain selain yang di atas.. Kalau ada yang tahu, silakan share di comment.. Thx ^^

Click Here to Read More..

Thursday, May 21, 2009

11 Koin dan 3 Gelas

Ada 3 buah gelas dan 11 koin.

Pertanyaannya sederhana:
Bisakah kalian memasukkan setiap koin dalam setiap gelas sehingga terdapat 1 gelas yang jumlah koinnya genap, dan 2 gelas yang lain masing-masing jumlah koinnya ganjil?

Sumber: Majalah Zero ed 2, www.artofmathematics.wordpress.com

=========================================================================
Awalnya, soal ini akan berasa mustahil, karena genap + ganjil + ganjil = genap.

Tapi, ada juga solusi yang lebih fleksibel dan kreatif.
Masukkan 1 koin ke gelas 1.
Masukkan 1 koin ke gelas 2.
Masukkan 9 koin ke gelas 3.
Masukkan gelas 2 ke gelas 1.
Maka, akan menghasilkan 2 gelas yang berisi koin ganjil dan 1 gelas beisi koin genap.

Soal di atas memiliki banyak solusi selain yang diberikan di atas. ^^

Click Here to Read More..

Sunday, May 17, 2009

X Cucu dan Y Kue

Seorang nenek mengaku lupa akan jumlah cucu-cucunya, karena jumlahnya sangat banyak. Dia hanya ingat kalau jumlah cucu laki-lakinya 5 orang lebih banyak dari cucu perempuan.. Tapi, ia sendiri lupa jumlah keduanya..

Dia hanya mengingat bahwa suatu hari dia pernah membuat Y potongan kue.

Jika setiap cucu dibagikan 3 potongan, maka akan bersisa 1 potongan kue. Namun, jika ada 3 orang cucu yang tidak makan kue sama sekali, maka cucu-cucu yang lain akan mendapatkan jatah potongan kue yang sama satu sama lain. (anggap bahwa potongan kue tidak dapat dipecah lagi)..

Jadi, bisakah kalian membantu nenek itu menentukan, berapa jumlah cucunya, dan berapakah jumlah potongan kue yang dia buat?

Click Here to Read More..

Saturday, May 9, 2009

Rahasia Joe Sandy ... (ii) Perjalanan Kuda

8 Mei 2009, Joe Sandy dan Deddy Corbuzier bersama-sama memainkan suatu permainan yang dianggap "magic" tentang perjalanan kuda.

Permainannya sebagai berikut.
Disediakan papan catur 8x8. Seorang penonton akan dipilih secara acak untuk memilih salah satu kotak untuk diisi sebuah bidak kuda. Dimulai dari kotak itu, kuda akan melangkah ke semua petak dari petak-petak catur yang ada, namun setiap petak hanya boleh dilalui 1 kali.
Kasus ini biasa dinamakan dengan "Perjalanan Kuda" atau "Knight's Tour". Di buku-buku lain juga dibahas mengenai perjalanan benteng, perjalanan raja, gajah, dan sebagainya, namun perjalanan kuda-lah yang paling rumit. Lalu, apakah rahasia Joe Sandy?

=========================================================================
RAHASIA JOE SANDY
PERJALANAN KUDA

Perhatikan lintasan kuda dari sebuah papan catur di bawah:

Lintasan di ataslah yang dipakai oleh sang Master Deddy dan Joe Sandy dimulai dari petak D7 dan kembali ke D7.

NAMUN, beberapa hal ini adalah ANEH:
1. Joe hanya butuh waktu sebentar untuk memulai permainan, begitu pula Deddy
2. Joe hanya butuh waktu sebentar untuk menjawab langkah berikutnya.
3. Joe sama sekali tidak gugup (tidak takut jawabannya salah).
4. Semua langkah Joe dan Deddy adalah langkah hameltonian yang membuat lintasannya tertutup. Lintasan tertutup ini memiliki tujuan, yaitu agar meniadakan unsur kegagalan saat penonton memilih kotak secara acak, karena kotak manapun sesungguhnya hasilnya akan sama, karena lintasannya tertutup.
5. Anggaplah Deddy dan Joe itu super jenius, dan kita anggap bahwa mereka bisa memperhitungkan derajat tiap verteks yang ada dan memiliki kemampuan mnemonic yang sangat hebat. Verteks yang derajatnya minimum (misalnya di pojok) haruslah diprioritaskan. Kemudian, hebatnya lagi, komputer saja harus melakukan backtracking, jika terdapat verteks (petak) yang berderajat ganjil yang belum dilewati. Andai saja Deddy dan Joe memang begitu, maka mereka bahkan bisa menyaingi komputer, karena menghitung jauh lebih cepat.. Lalu, gimana cara backtrackingnya?? (maaf, jika bahasa saya adalah bahasa IT).. Wah, mnemonic yang hebat sekali kalau begitu...

Dugaan Saya (kalo dibilang fakta, nanti banyak yang protess.):
Joe dan Deddy pasti sudah mengetahui konsep awal dalam permainan mereka, yaitu tentang "Knight's Tour". Jadi, permainan mereka sesungguhnya tidaklah terlalu mendadak. Mereka punya waktu untuk setidaknya "Menghapal lintasan kuda". Namun, lintasan kuda tersebut haruslah hameltonian (tertutup) agar titik awal adalah titik akhir, sehingga petak mana saja yang diambil tidak menjadi masalah. Jadi, mereka harus menghapal suatu lintasan tertutup. Namun, sesungguhnya lintasan tertutup untuk Knight's Tour jumlahnya ada 13.267.364.410.532 buah. Artinya cara untuk menghasilkan lintasan tertutup yang sama antara Joe dan Deddy adalah dengan bekerja sama. Jika tidak, maka kemungkinan lintasan yang dihasilkan adalah terbuka.

Saya dapat mengatakan ini semua karena saya sangat yakin tidak ada orang yang memiliki kemampuan mnemonic hingga melebihi komputer. Knight's tour dapat dipecahkan dengan menghitung derajat tiap verteks (yang jumlahnya ada 64) yang selalu ada akan berkurang setiap langkah. Kemudian, knight's tour juga membutuhkan backtracking agar langkahnya tertutup, artinya diperlukan memory tambahan lagi. Kemudian, jika ada orang yang memiliki kemampuan seperti ini, tidak mungkin dilakukan lebih cepat daripada komputer.

Berikut contoh lain dari "Knight's Tour" yang dipecahkan oleh "The Turk".. Sangat brilliant..

Untuk mengetahui link tentang "Method for finding Knight's Tour", bisa diwonload di: http://users.soe.ucsc.edu/~pohl/Spring04/warns.pdf, dan di http://faculty.olin.edu/~sadams/DM/ktpaper.pdf.


Click Here to Read More..

Friday, May 8, 2009

Chinese Remainder Theorem

Note: Untuk memahami post ini, sebaiknya kalian sudah mengetahui materi tentang divisibility, modulo, gcd, dan persamaan linear diophantine..

Berikut ini adalah masalah yang dikemukakan oleh Sun Tsu Suan-Ching (abad ke-4 AD):
Ada suatu benda yang jumlahnya tidak diketahui.. Secara berulang, jika dibagi dengan 3, maka sisanya adalah 2; jika dibagi dengan 5, maka sisanya adalah 7; dan jika dibagi dengan 7 maka sisanya adalah 2. Maka, berapakah jumlah benda tersebut?
Abad ke-6, Oystein Ore menjelaskan suatu masalah yang serupa:
Seorang wanita tua pergi ke pasar dan tiba-tiba seekor kuda menginjak keranjang telurnya.. Semua telur di keranjangnya pecah.. Karena hal itu, penunggang kuda tersebut menawarkan ganti rugi akan telur-telur yang rusak tadi. Ketika ditanyakan berapa jumlah telur yang rusak, ternyata sang wanita tua itu lupa.. Tapi, sang wanita tua ingat sesuatu.. Ketika dia mengambil telur-telur itu dua dua, maka telurnya akan bersisa satu.. Ketika ia mengambilnya tiga-tiga, maka sisa telurnya juga satu. Hal yang sama ketika ia mengambil telur-telurnya empat-empat, lima-lima, dan enam-enam, maka sisanya juga satu. Akan tetapi, ketika dia mengambil telurnya tujuh-tujuh, maka telurnya tidak bersisa.. Berapakah jumlah minimal telur yang ia punya?
Masalah seperti yang dikemukakan di atas secara universal dikenal sebagai Chinese Remainder Theorem atau disingkat dengan CRT. Bagaimana masalah tersebut dipecahkan? Lihat kelanjutan post ini.. ^^

=======================================================================
CHINESE REMAINDER THEOREM
KONDISI YANG MUNGKIN
Chinese Remainder Theorem berbunyi sebagai berikut.

Diberikan suatu bilangan (yang tidak diketahui) yang memenuhi kondisi berikut.



__


Maka, kita hanya dapat menemukan solusi untuk , jika untuk semua dan , kondisi di bawah selalu terpenuhi:


BUKTI:
Pandang 2 kondisi saja:


Maka: Kondisi 1 dapat ditulis ulang menjadi , sedangkan kondisi ke-2 dapat ditulis ulang menjadi: , di mana m dan n adalah bilangan bulat.
Dengan menggabungkan keduanya, maka kita dapatkan:

Dengan pindah ruas, kita dapatkan sbb:

Perhatikan bahwa LHS (ruas kiri) dapat dibagi oleh , akibatnya RHS juga dapat dibagi oleh . Maka:


Dengan analogi yang sama dengan banyak persamaan, maka akan kita dapatkan hasil teorema yang seperti di atas. Bukti pun selesai.

CONTOH SOAL 1:
Diberikan notasi untuk bilangan bulat positif. Jika dibagi 3, maka sisanya1. Jika dibagi 9 maka sisanya 1. Jika dibagi 12, maka sisanya 7. Jika dibagi 14, maka sisanya 7.
Pertanyaannya: Apakah bilangan dapat dicari?

Jawab:
Kita tulis kembali pernyataan di soal menjadi seperti di bawah:
... (i)
... (ii)
... (iii)
... (iv)

Karena yang ditanyakan hanya "apakah nilai itu ada?", maka yang kita lakukan sekarang hanyalah mengecek menggunakan Chinese Remainder Theorem.

Lihat pers (i) dan (ii):
(1-1) habis dibagi (gcd(9,3)) 0 habis dibagi 3 BENAR.
Lihat pers (i) dan (iii):
(7-1) habis dibagi (gcd(12,3)) 6 habis dibagi 3 BENAR.
Lihat pers (i) dan (iv):
(7-1) habis dibagi (gcd(14,3)) 6 habis dibagi 1 BENAR.
Lihat pers (ii) dan (iii):
(7-1) habis dibagi (gcd(12,9)) 6 habis dibagi 3 BENAR.
Lihat pers (ii) dan (iv):
(7-1) habis dibagi (gcd(14,9)) 6 habis dibagi 1 BENAR.
Lihat pers (iii) dan (iv):
(7-7) habis dibagi (gcd(14,12)) 0 habis dibagi 2 BENAR.

Karena semua pengecekan bernilai benar, maka tentunya nilai itu ada dan dapat dicari.

CONTOH SOAL 2:
Budi mengatakan bahwa di memiliki koleksi lukisan yang jumlahnya tidak diketahui karena jumlahnya terlalu banyak. Ia mengatatakan bahwa jika lukisannya dibagikan ke 2 orang, maka sisanya adalah 1. Jika lukisannya dibagikan ke 3 orang, maka sisanya juga 1. Jika dibagi ke 4 orang, sisanya adalah 3. Jika dibagikan ke 12 orang, maka sisanya 1. Pertanyaannya: Apakah Budi benar-benar jujur?

Jawab:
Kita tulis kembali pernyataan di soal menjadi seperti di bawah:
... (i)
... (ii)
... (iii)
... (iv)

Soal ini setipe dengan soal sebelumnya, yaitu hanya mengecek apakah nilai itu ada dan dapat dicari.

Lihat pers (i) dan (ii):
(1-1) habis dibagi (gcd(3,2)) 0 habis dibagi 1 BENAR.
Lihat pers (i) dan (iii):
(3-1) habis dibagi (gcd(4,2)) 2 habis dibagi 2 BENAR.
Lihat pers (i) dan (iv):
(1-1) habis dibagi (gcd(12,2)) 0 habis dibagi 2 BENAR.
Lihat pers (ii) dan (iii):
(3-1) habis dibagi (gcd(4,3)) 2 habis dibagi 1 BENAR.
Lihat pers (ii) dan (iv):
(1-1) habis dibagi (gcd(12,3)) 0 habis dibagi 1 BENAR.
Lihat pers (iii) dan (iv):
(3-1) habis dibagi (gcd(12,4)) 2 habis dibagi 4 SALAH.

Karena tidak semua pengecekan bernilai benar, maka nilai itu tidak ada dan tidak dapat dicari. Artinya, Budi berbohong.

=======================================================================
ALGORITMA UNTUK MENYELESAIKAN MASALAH
CHINESE REMAINDER THEOREM

Algoritma yang original yang digunakan untuk menyelesaikan masalah CRT bisa kalian lihat di http://en.wikipedia.org/wiki/Chinese_remainder_theorem.. (Lihat di bagian contoh).. Namun, bagi saya, cara itu terlalu panjang.. Membutuhkan perhitungan berdigit banyak... Tidak efisien..!! Maka dari itu, sebaiknya kita menggunakan cara tradisional, yaitu dengan LOGIKA..!!! Kita akan mensubstitusikan setiap kondisi ke kondisi berikutnya menghasilkan integer yang bernilai lebih besar dari sebelumnya..

Langsung saja ke contoh soal..
Note: Semua variabel yang ada di sini merupakan variabel bilangan bulat.

CONTOH SOAL 3:
Diberikan notasi untuk bilangan bulat. Jika dibagi 3, maka sisanya1. Jika dibagi 9 maka sisanya 1. Jika dibagi 12, maka sisanya 7. Jika dibagi 14, maka sisanya 7. Tentukan nilai yang terkecil.

Jawab:
Kita tulis kembali pernyataan di soal menjadi seperti di bawah:
... (i)
... (ii)
... (iii)
... (iv)

Dimulai dari persamaan (i)

Dengan mensubstitusikannya ke pers (ii), maka kita dapatkan . Disederhanakan menjadi: . Substitusikan nilai m ini ke pers di atas, maka menjadi:



Dengan mensubstitusikannya ke pers. (iii), maka kita dapatkan . Disederhanakan menjadi: . Perhatikan bahwa sekarang kita menemui bentuk persamaan linear diophantine, dan kita ingin membentuk persamaan menjadi "n=...". Maka, dengan menyelesaikan pers diophantine tersebut, kita akan dapatkan , maka kita dapatkan . Substitusikan nilai n ini ke pers sebelumnya, maka menjadi:




Dengan mensubstitusikannya ke pers. (iv), maka kita dapatkan . Disederhanakan menjadi: . Lagi-lagi pers diophantine... Kita ingin membentuk persamaan menjadi "k=...". Dengan menyelesaikan pers diophantine tersebut, kita akan dapatkan . Dikalikan 6, maka hasilnya: . Maka . Namun, karena masih ada konstanta negatif, maka substitusikan a=b+2, maka hasilnya: . Substitusikan nilai k ke pers sebelumnya, maka menjadi:



... (Ini adalah persamaan gabungan dari 4 kondisi)

Maka, nilai terkecil didapat jika mensubstitusi b=0, maka = 91.


CONTOH SOAL 3B:
Diberikan notasi untuk bilangan bulat. Jika dibagi 3, maka sisanya1. Jika dibagi 9 maka sisanya 1. Jika dibagi 12, maka sisanya 7. Jika dibagi 14, maka sisanya 7. Tentukan nilai yang terkecil.

Jawab.
Mungkin ada yang bingung mengapa soal ini sama dengan soal nomor sebelumnya. Alasannya adalah karena saya ingin memberikan sequence yang berbeda, dan akan ditunjukkan bahwa hasilnya adalah sama.

Kita tulis kembali pernyataan di soal menjadi seperti di bawah:
... (i)
... (ii)
... (iii)
... (iv)

Dimulai dari persamaan (iv)

Dengan mensubstitusikannya ke pers (iii), maka kita dapatkan . Disederhanakan menjadi: . Merupakan persamaan trivial, maka kita dapatkan:. Artinya atau dapat ditulis atau . Substitusikan nilai m ini ke pers di atas, maka menjadi:



Dengan mensubstitusikannya ke pers (ii), maka kita dapatkan . Disederhanakan menjadi: . Lagi-lagi persamaan diophantine. Kita ingin membentuk persamaan menjadi "k=...". Dengan menyelesaikan pers diophantine tersebut, kita akan dapatkan . Dikalikan 2, maka hasilnya: . Jadi, dapat ditulis atau atau . Substitusikan nilai k ini ke persamaan sebelumnya.




Dengan mensubstitusikannya ke pers. (i), maka kita dapatkan . Disederhanakan menjadi: . Akan menghasilkan penyelesaian sbb: , sehingga dapat ditulis atau . Substitusikan nilai ini ke pers sebelumnya.

.
Maka, nilai terkecil didapat jika mensubstitusi b=0, maka = 91, merupakan jawaban yang sama seperti soal sebelumnya. Jadi, sequence (urutan) penyelesaian tidak jadi masalah.

====================================================================
CLOSING
Nah, udah ahh... Contohnya sepertinya udah cukup.. Aku lagi males buat contoh.. Kira-kira, ada yang udah ngerti lom?? Kalo belom silakan nanya...!!! Atau, kalo butuh contoh soal lagi, aku akan buatin... Dan, pastinya akan lebih seruuu.. ^^

Selanjutnya, mengenai masalah Sun Tsu Suan-Ching dan Oystein Ore (yang dikemukakan di awal post) kalo ada yang berniat memberikan jawaban, silakan tulis di comment yaaa.. ^^


Click Here to Read More..