Ilmu atau Kurikulum?

7 Comments

Setelah sekian lama gak nulis apapun di blog ini, saat ini saya mau membahas sesuatu yang agak berbeda. Kali ini saya mau berbagi pikiran, atau curhat, atau cerita, atau istilah apapun pokoknya itu lah.

Akhir-akhir ini saya ada hobi baru: nonton Youtube. Sebenernya bukan hobi baru sih. Sejak mulai kuliah rasanya hampir tiap hari nonton Youtube. Tapi beberapa bulan terakhir tontonan utama saya mulai agak berbeda. Dari yang dulunya nyari musik dan komedi, sekarang saya mulai banyak ngikutin video tentang science. Yup, science. Beberapa bulan terakhir ini saya lagi banyak penasaran sama yang namanya science. Kenapa AC bisa dingin? Kenapa pesawat bisa terbang? Kenapa roket bisa keluar angkasa? Kenapa laut asin? Kenapa negatif dikali negatif sama dengan positif? Dan lain-lain. Singkat kata, saya sedang jatuh cinta dengan ilmu alam.

I’m in love with science!

Sebenernya, bisa dikatakan ini adalah cinta lama yang bersemi kembali.
Loh, maksudnya apa?
Makanya, kan dibilang saya mau curhat. Ini mau curhat pengalaman cinta saya dengan science.

Lanjut? Siap nyimak? Mari…

Dulu, waktu saya masih SD, saya udah jatuh cinta sama yang namanya science. Waktu SD saya homeschooling, jadi gak masuk ke sekolah rutin setiap hari. Cuma ke sekolah setahun 4 kali untuk ulangan cawu.

Nah karena saya homeschooling, jadi saya belajarnya fleksibel banget tuh. Emang ada kurikulum, ada buku pelajaran dari sekolah. Tapi saya belajar nya gak perlu ngikutin persis apa yang ada di buku itu. Yang penting begitu nanti ujian cawu bisa dapet nilai bagus. Setiap hari yang ngajarin saya itu mama saya. Tapi entah males atau emang strategi nya begitu, mama saya hampir setiap hari cuma stabiloin buku, suruh saya baca keras-keras, kadang disuruh catet, sisanya pelajari sendiri aja. Akhirnya saya jadi banyak belajar sendiri, baca buku sendiri, kalau ada yang penasaran atau gak ngerti baru nanya orang tua.

Sampai suatu masa dimana saya ketemu pelajaran tentang magnet dan listrik. Papa saya lulusan elektro, jadi pas bagian ini, dia banyak ngenalin saya tentang rangkaian listrik, elektromagnet, dan lain-lain. Saya semangat banget waktu itu. Saya mulai banyak utak-atik dunia pelistrikan. Ada sisa uang jajan dikit langsung mampir ke toko elektronik untuk beli apapun itu. Lampu kecil, kabel berbagai jenis, sakliar, magnet, baterai, semuanya dikoleksi. Inilah saya pertama kalinya jatuh cinta sama science. Kali ini lebih tepatnya electrical science.

Oke, itu cinta masa kecil. Lanjut ke SMP.

Begitu lulus SD, saya memutuskan (sebenernya orang tua kayaknya yang memutuskan) untuk masuk ke sekolah reguler, bukan homeschooling lagi. Akhirnya saya masuk ke SMP Yahya, Bandung. Pertama kalinya sekolah! Yeay! Pergaulan agak canggung sih pas awal-awal sekolah. Tapi gak lama udah bisa berbaur sih. Apalagi saya hobi main musik juga, jadi sering nge-band di sekolah B-)

Di masa SMP ini rasa jatuh cinta saya agak bergeser, dari elektro ke biologi. Karena pelajaran IPA pas kelas 1 SMP waktu itu pertama kalinya saya masuk lab biologi, dan waktu itu dikenalin sama yang namanya mikroskop. Keren banget coy! Seperti melihat keajaiban. Mulai saat itu saya sering baca-baca tentang tumbuhan, anatomi, dan lain-lain (waktu itu belum tau istilah biologi. taunya IPA doang).

Waktu itu saya gereja nya di mall. Jadi setiap pulang gereja sempat keliling-keliling mall sebelum pulang. Nah di mall itu saya ketemu toko science. Hampir setiap minggu jadinya saya pulang gereja pasti mampir ke toko itu sekedar buat lihat-lihat (karena uang terbatas, gak bisa beli-beli). Sampai akhirnya saya minta uang 200 ribu (buat saya itu gede banget waktu itu) untuk beli mikroskop. Seneng banget tuh, sampe mikroskop nya dibawa ke sekolah biar bisa ditujukin ke guru biologi saya. Waktu itu saya punya impian, suatu hari nanti saya pengen punya rumah yang ada science lab nya.

Oke sekarang lanjut lagi, masuk ke SMA.

Lulus SMP, saya keterima di SMA unggulan di Bandung. Saya banyak denger omongan selama SMP kalau di SMA ini pelajarannya ketat dan berat banget. Katanya sih murid yang juara di SMP Yahya nilainya pada hancur begitu masuk SMA ini. Tapi saya tetep aja masuk ke SMA ini.

Di masa SMA saya mulai mengenal yang namanya computer science, karena saya begitu alay di Friendster sampai pengen bikin layout sendiri jadi harus belajar HTML + CSS. Saya juga masuk ekstrakulikuler komputer di sekolah dan akhirnya terjerumus ke olimpiade komputer. Saya begitu fokus di komputer ini sampai saya agak tertinggal di pelajaran lain (ada detailnya disini).

Nah, disini lah saya mulai kehilangan cinta saya terhadap science (selain komputer). Kenapa? Karena jadi menakutkan! Matematika jadi susah, biologi hafalannya banyak banget, fisika rumusnya ribet, kimia apalagi. Pandangan saya terhadap science mulai berubah. Sekarang saya sudah hampir gak menikmati belajar science sama sekali.

Berhubung saya aktif di olimpiade komputer, saya sering gak masuk sekolah selama beberapa hari, kadang beberapa minggu sekaligus (kalau pelatnas bakal dikarantina selama 3 minggu). Nah begitu masuk sekolah lagi, saya bakal dikejar ulangan susulan dan tugas yang tertinggal. Saya sudah gak menikmati lagi yang namanya belajar. Karena sekarang belajar bukan lagi untuk memenuhi rasa keingintahuan, melainkan untuk mengejar kurikulum yang tertinggal. Banyak materi berat di 4 mata kuliah IPA (matematika, fisika, kimia, biologi) yang kurang saya pahami karena sering gak masuk kelas. Tapi saya gak punya waktu untuk belajar secara normal dan harus mengejar banyak ulangan dan tugas yang tertinggal. Saya bukan tipe orang yang bisa dipaksa melakukan apa yang saya gak suka (bad side of me). Akhirnya saya banyak dapet nilai tidak memuaskan, terutama di 4 mata kuliah IPA, sampai akhirnya saya gak naik kelas.

Science, you betrayed me!

Oh iya, saya gak naik kelas nya dua kali berturut-turut sampai akhirnya saya drop-out. Saya mulai trauma sama yang namanya IPA. Untuk matematika saya masih agak bisa terima lah, karena banyak berhubungan sama ilmu komputer. Tapi kimia? Nope. Biologi? Saya gak suka menghafal. Fisika? Hitungannya oke lah, tapi kok harus hafalin banyak rumus? No, thanks.

Berkat olimpiade komputer, saya masih bisa bertahan hidup semasa SMA setelah drop-out dan bisa masuk kuliah jurusan teknik informatika. Saya gak mau masuk ITB sama sekali karena di tahun pertama bakal ketemu fisika sama kimia. Akhirnya saya pilih BINUS.

Semasa kuliah, saya gak ketemu fisika kimia biologi sama sekali. Hidup terasa bahagia. Bisa menikmati yang namanya ilmu komputer tanpa gangguan IPA itu. Tapi, computer science itu adalah bagian dari science kan? (Ya iyalah namanya aja computer science). Jadi semakin saya mendalami computer science, logika saya makin terlatih, rasa ingin tahu saya mulai semakin sering muncul. Saya orangnya agak males baca buku. Thanks to technology, ada banyak video menarik di Youtube tentang science, yang akhirnya kembali membangkitkan rasa cinta saya terhadap science secara umum.

_____________ Curhat selesai sampai disini _______________

Lalu kesimpulannya apa? Kenapa saya yang bisa dibilang tertarik dengan science sejak SD, tapi begitu SMA saya jadi gak suka science? Lebih tepatnya, jadi gak suka belajar? Sekolah jadi membosankan dan menakutkan?

Menurut saya, (menurut saya loh), hal ini dikarenakan sekolah terlalu mengikuti kurikulum sampai jadi kaku dalam dunia pembelajaran. Bukan salah sekolah saya pas SMA. Kalau saya jadi kepala sekolah SMA saya waktu itu juga hampir pasti saya menerapkan sistem yang sama. Masalahnya, tingkat edukasi Indonesia dinilai berdasarkan nilai ujian nasional (UN). Akibatnya, keberhasilan sebuah sekolah dinilai berdasarkan rata-rata nilai UN siswanya. Akhirnya sekolah unggulan pasti menekan siswa nya untuk mengejar kurikulum yang ditetapkan pemerintah secepat mungkin, dan terkadang menambahkan kurikulum dari luar negeri sekaligus. Apabila ada siswa yang tertinggal, mau tidak mau siswa tersebut harus dipaksa keras untuk mengejar ketertinggalan kurikulum tersebut. Apabila siswa tersebut tidak bisa mengejar ketertinggalan, lebih baik siswa tersebut dikeluarkan dari sekolah agar tidak merusak rata-rata nilai UN nantinya.

Belajar jadi gak seru dong? Sistem pembelajaran jadi linear, mengikuti urutan kurikulum yang ditetapkan di awal.

Saya beri contoh, kurikulum Fisika kelas 2 SMA (kurikulum 2013):

  1. Kinematika dengan analisis vektor
  2. Hukum newton tentang gravitasi
  3. Usaha dan energi
  4. Getaran harmonis
  5. Momentum, impuls, dan tumbukan
  6. Keseimbangan dan dinamika rotasi
  7. Fluida dinamis
  8. Persamaan keadaan gas
  9. Teori kinetik gas

Misalnya saya sedang belajar hukum newton tentang gravitasi. Lalu saya masih kurang mengerti, tetapi jadwal sekolah sudah maju ke usaha dan energi. Mau tidak mau saya harus les atau belajar keras untuk bisa mengerti hukum newton tentang gravitasi. Untuk bekerja keras harus ada motivasi. Bagaimana bisa punya motivasi, kalau terkadang saya bahkan tidak tahu materi yang sedang saya pelajari sekarang manfaatnya apa kedepannya? Masalah apa yang saya pecahkan apabila saya menguasai materi ini?

Sekarang coba kalau kita belajarnya fleksibel, tidak perlu mengikuti urutan pada kurikulum. Belajar fleksibel seperti semasa homeschooling, bisa menggunakan kasus untuk mempermulah pembelajaran.

Contoh kasus: mengapa pohon bisa tumbuh sampai setinggi 100 meter? Jawabannya ada di video di bawah ini:

 

Rekap sedikit, dari video tersebut dibahas beberapa topik yaitu:

  • Fisika: Teori gravitasi dan tekanan udara (mengapa air tidak bisa dihisap dengan sedotan lebih dari 10 meter)
  • Biologi: Struktur dasar tumbuhan (apa yang mempengaruhi ketinggian pohon? daya hisap daun? kapilaritas batang? daya dorong akar?)
  • Kimia: Energi aktivasi

(harap maklum apabila ada kesalahan, saya bukan ahli fisika/kimia/biologi. Saya banyak ketinggalan pelajaran IPA sewaktu SMA)

Dari satu kasus diatas ternyata ada banyak topik yang bisa diperdalam, banyak materi yang bisa dipelajari, banyak pertanyaan yang harus dijawab. Pastinya akan menyenangkan apabila sistem pembelajaran dibuat berbasis kasus, bukan sekedar jadwal kurikulum.

Saya bukan mau menjelekkan sekolah tertentu. Saya bersyukur mendapat kesempatan untuk homeschool, sekolah di SMP Yahya Bandung, lanjut di SMAK 1 BPK Penabur Bandung, dan kuliah di BINUS University. Dari semua itu saya banyak belajar tentang apapun (science, sosial, organisasi, dll). Saya hanya mau membahas bahwa sangat disayangkan apabila masa produktif anak untuk belajar disia-siakan dengan menekan anak untuk mengikuti kurikulum, tanpa adanya motivasi mengenai manfaat dari ilmu pengetahuan.

Sekian dari saya. Berhubung ini tulisan mengenai curhat dan pendapat, saya sangat menghargai apabila ada tanggapan / pertanyaan / pendapat / hujatan / pernyataan / etc.

Learn science, and see how amazing God is

Facebook Internship

3 Comments

Setelah sekian lama gak ngepost, akhirnya kesampean juga nulis sesuatu. Kali ini saya mau sedikit membahas tentang pengalaman magang saya selama liburan musim panas kemarin.

Jadi selama liburan musim panas kemarin saya magang di Facebook di Menlo Park, US. Durasi magangnya 12 minggu, mulai 1 Juli sampai 20 September kemarin. Sebenernya saya mau nulis ini sejak seminggu lalu, tapi pulang dari US langsung dilanda badai kesibukan jadi baru bisa nulis sekarang.

Saya gak bakal cerita terlalu detail tentang kegiatan selama di Facebook sih. Saya udah pernah nulis artikel tentang ini di web BINUS, bisa diakses disini. Itu saya tulis saat saya masih ditengah internship. Sekarang saya udah pulang ke Indo, jadi saya mau tambahin sedikit disini.

Kok bisa sih magang di FB? Gimana ceritanya? Apply atau gimana? Dites nya gimana?

Ini pertanyaan yang paling sering ditanyain ke saya tentang internship kemarin. Kok bisa magang di FB? Well, itu sih berkat dari Tuhan aja. Jadi ceritanya gimana? Jadi ada temen saya yang tahun lalu internship disana juga. Terus dia referensiin beberapa orang buat ikutan internship disana, salah satunya saya. Jadi saya dikontak oleh FB, diminta CV dan ditanya beberapa pertanyaan singkat, lalu kita atur waktu buat phone interview. Lalu saya diinterview lewat telefon yang sebagian besar ditanya tentang hal-hal teknis pemrograman.

Ooh dari referensi temen ya? Kalau gak pake referensi gimana? Bisa apply langsung gak?

Bisa dong. Buka aja Facebook Careers. Disana ada info tentang lowongan kerja di FB dan cara apply nya.

Ada tips gak biar bisa magang/kerja di Facebook atau perusahaan top lainnya?

Saya bukan psikiater, motivator, promotor, almamater, salamander atau apapun itu. Tapi saya mau share beberapa masukan yang pasti berguna, lebih dari sekedar untuk mengincar perusahaan top.

– Jangan cuma bergantung sama pelajaran sekolah/kuliah. Buat temen-temen yang masih sekolah atau kuliah, kalau cuma belajar dari apa yang sekolah/kampus kalian kasih itu gak bakal cukup. Salah satu contohnya, seleksi magang di FB itu gak disinggung IPK sama sekali loh. Jadi perlu banget untuk ikut kelas tambahan, club sekolah / luar, dan lain-lain yang bisa menambah skill selain daripada ilmu yang dipelajari di sekolah/kuliah.

– Cari pengalaman sebanyak-banyaknya. Gak mau kan pas lulus kuliah nanti gak ada pengalaman apa-apa buat ditulis di CV? Pengalaman organisasi, training, kerja sampingan dan lain-lain, itu perlu banget. Bukan sekedar buat penuh-penuhin CV, tapi itu juga bagus untuk melatih soft-skill. Kalau ada libur panjang, pikirin untuk magang, jangan mikirin jalan-jalan doang. Kalau hari-hari kuliah agak renggang, pikirin untuk punya kerja sampingan. Kalau ada kesempatan, coba juga ikut berkompetisi. Banyak banget pengalaman yang bisa didapat dalam dunia kompetisi, baik kompetisi akademik maupun non-akademik.

Saya bersyukur, saya beruntung bisa dapet kesempatan untuk magang di Facebook. Tapi sebelum itu, sejak SMA saya juga selalu mencari pengalaman tambahan. Mulai dari jadi freelance web developer, ikut olimpiade komputer, dan kerja part time. Jadi menurut saya sayang banget kalau waktu luang di tengah-tengah sekolah/kuliah gak dimanfaatin sebaik mungkin.

Sekian aja yang bisa saya share disini.  Terimakasih sudah mampir membaca. Semoga tulisan saya ini bisa bermanfaat.

Salam.
-sicasli

Pembahasan Soal OSK/OSP – Part 5 (Edisi OSP 2013)

2 Comments

— Info: Sekarang saya fokuskan soal dan pembahasan ke situs kujawab.com —

 

OSP 2013 sudah kelar. Bagaimana soal-soalnya? Susah? Mari kita bahas beberapa soal.

* Penomoran soal di post kali ini adalah lanjutan dari post sebelumnya dan tidak ada hubungan dengan penomoran pada soal OSP 2013 yang sebenarnya.

__

21) Ada berapa himpunan bagian dari {1,2,…,9} sedemikian sehingga tidak ada 2 anggota yang berurutan? (misal himpunan {1,4,5} dilarang karena memiliki dua anggota 4 dan 5, sementara 4 dan 5 adalah 2 bilangan yang berurutan, sedangkan himpunan {2,4,8} boleh).

22) Terdapat 8 buah jeruk dan 3 buah apel. Buah-buah tersebut akan diletakkan pada suatu garis lurus. Tetapi 2 apel tidak boleh bersebelahan satu sama lain. Banyaknya kemungkinan meletakkan buah-buah tersebut adalah?

23) Besok, Raja Dengklek akan mengadakan pesta yang sangat besar. Raja Dengklek telah memesan 2013 botol anggur untuk pestanya tersebut. Namun berdasarkan laporan, salah satu dari botol anggur tersebut telah diberi racun. Racun ini diketahui tidak akan menunjukkan tanda-tanda keracunan sampai orang yang meminumnya mati. Kematian terjadi antara 13-20 jam setelah racun terminum, walaupun hanya terminum setetes. Raja Dengklek memiliki 2013 orang tahanan yang rencananya akan dieksekusi. Raja Dengklek harus berhasil menemukan botol anggur yang mengandung racun tersebut dalam waktu 24 jam.

Berapa minimal banyaknya tahanan yang harus minum dari botol-botol anggur yang ada untuk memastikan botol mana yang mengandung racun?

24) Terdapat N kota dengan N nama berbeda. Setiap kota memiliki populasi penduduk masing-masing. Pemerintah negara tersebut pusing karena terdapat terlalu banyak kota. Pemerintah tersebut berencana menggabungkan kota-kota tersebut hingga hanya tersisa satu kota. Caranya begini. Selama masih ada 2 kota atau lebih, pemerintah memilih 2 kota sesuka dia, kemudia menggabungkan kedua kota tersebut. Nama kota yang baru tersebut ialah nama salah satu kota dari kedua kota asalnya yang memiliki jumlah penduduk lebih banyak. Apabila jumlah penduduknya sama, namanya boleh yang mana saja.

Misalkan N = 8, dan jumlah penduduk masing-masing kota adalah 2, 50, 24, 21, 1, 9, 15, dan 5 orang. Setelah seluruh kota berhasil digabung menjadi 1 kota, ada berapa nama kota berbeda dari kota yang mungkin? (asumsikan pemerintahnya selalu memilih dua kota secara acak)

25) Pak Dengklek sedang mengajari bebek-bebeknya menulis huruf. Ia meminta bebek-bebeknya bergantian memilih 26 huruf (a sampai dengan z) dan menuliskannya di papan tulis yang disediakan. Pak Dengklek akan mengakhiri sesi belajar menulis ini apabila 26 huruf tersebut minimal masing-masing sudah dituliskan sebanyak 10 kali. Selain itu, ia membuat aturan bahwa, apabila sebuah huruf sudah dituliskan sebanyak 26 kali, maka bebek selanjutnya yang hendak menuliskan huruf tersebut harus memilih huruf yang lain yang belum dituliskan sebanyak 26 kali. Berapakah paling banyak huruf yang bisa dituliskan bebek-bebek Pak Dengklek sebelum sesi belajar menulis berakhir?

JAWABAN

21)

Kata kunci untuk soal ini adalah rekursif.

Misalkan saya anggap solusi untuk himpunan {a,a+1,…,9} adalah F(a). Maka jawaban untuk soal ini ada di F(1). Sekarang mari kita analisa fungsi F(a).

Apabila a>9, maka F(a) akan mencari solusi untuk himpunan kosong, berarti F(a) adalah 1 untuk a>9 (hanya ada satu cara, yaitu tidak memilih apapun karena memang tidak ada pilihan).

Bagaimana dengan a<=9? Kita akan mencari solusi untuk himpunan {a,a+1,…,9}. Sekarang kita lihat angka pertama di himpunan itu (a). Ada dua pilihan, yaitu ambil ke dalam himpunan bagian, atau tidak ambil.

Apabila kita ambil a ke dalam himpunan bagian, maka kita tidak bisa mengambil a+1, dan baru bisa mengambil mulai dari a+2. Sekarang kita perlu mencari F(a+2) apabila kita mengambil a ke dalam himpunan bagian.

Apabila kita tidak ambil a, maka kita bisa mengambil a+1. Sekarang kita perlu mencari F(a+1) apabila kita tidak mengambil a ke dalam himpunan bagian.

Jadi sekarang kita sudah menemukan formula fungsi kita, yaitu:

F(a) = 1, untuk a>9

F(a) = F(a+1) + F(a+2), untuk a<=9

Jawaban untuk soal ini adalah F(1). Mari kita hitung:

F(9) = 2

F(8) = 3

F(7) = 5

F(6) = 8

F(5) = 13

F(4) = 21

F(3) = 34

F(2) = 55

F(1) = 89

Jadi jawaban untuk soal ini adalah 89.

22)

Kita bisa merubah cara pandang soal ini menjadi sebagai berikut:

Terdapat 8 buah jeruk  pada suatu garis lurus. Kita ingin menyelipkan 3 buah apel keantara jeruk-jeruk tersebut. Berarti ada 9 tempat dimana kita bisa menaruh apel, yaitu di posisi paling awal, paling akhir, atau diantara jeruk-jeruk. Maka jawabannya kombinasi 3 tempat dari 9 tempat yang tersedia = 9C3 = 84.

23)

Poin-poin penting tentang soal ini adalah:

  • Satu orang tahanan bisa minum beberapa tetes dari beberapa anggur sekaligus dalam satu waktu.
  • Semua orang tahanan yang disuruh minum harus minum secara serentak karena tidak akan sempat menunggu tahanan mati terlebih dahulu.

Jadi inti dari soal ini adalah kita ingin mencari konfigurasi sedemikian sehingga dari beberapa orang yang mati dan beberapa orang yang hidup, dapat dianalisa anggur mana yang mengandung racun.

Solusi yang optimal adalah sebagai berikut (^ berarti pangkat):

1 orang minum anggur sepanjang interval 2^10 secara bergantian (minum anggur nomor 1 sampai 2^10, jangan minum anggur nomor 2^10+1 sampai 2013). Jika dia mati, berarti anggur beracun ada di interval dia. Jika tidak, ada di interval lainnya.

1 orang lain minum anggur sepanjang interval 2^9 secara bergantian (minum anggur nomor 1 sampai 2^9, minum lagi anggur nomor 2^10 + 1 sampai 2^10+2^9 dan seterusnya). Jika tidak, ada di interval lainnya.

1 orang lain minum anggur sepanjang interval 2^8 secara bergantian.

dan seterusnya sampai interval 2^0 secara bergantian. Jika diperhatikan, konfigurasi cara meminum membentuk biner. Total diperlukan 11 orang.

Ilustrasi (warna yang sama melambangkan orang yang sama):

zz

24)

Untuk mengetahui ada berapa kemungkinan nama kota yang tersisa, kita harus mengetahui bagaimana cara menentukan apakah sebuah kota bisa menjadi 1 kota yang tersisa. Untuk mempermudah, mari kita urutkan populasi setiap kota secara menaik:

Kota : 1 2 3 4 5 6 7 8
Populasi : 1 2 5 9 15 21 24 50

Sekarang kita analisa bagaimana cara agar kota ke i bisa menjadi 1 kota yang tersisa. Cara agar kota i bisa mejadi 1 kota yang tersisa adalah:

  1. Bergabung dengan semua kota j dimana j<i supaya populasi kota i semakin banyak
  2. Bergabung dengan semua kota j dimana j>i yang memiliki populasi lebih kecil atau sama dengan kota i

Mari kita cek semua kota:

Kota 1, tidak bisa bergabung dengan kota 2, maka tidak bisa menjadi 1 kota tersisa.

Kota 2, bergabung dengan kota 1, populasi menjadi 3. Tidak bisa bergabung dengan kota 3 karena populasi masih lebih kecil dari 5.

Kota 3, bergabung dengan kota 1, populasi menjadi 6. Bergabung dengan kota 2, populasi menjadi 8. Tidak bisa bergabung dengan kota 4 karena populasi masih lebih kecil dari 9.

Kota 4, bergabung dengan kota 1, populasi menjadi 10. Bergabung dengan kota 2, populasi menjadi 12. Bergabung dengan kota 3, populasi menjadi 17. Bergabung dengan kota 5, populasi menjadi 31. Bergabung dengan kota 6, populasi menjadi  42. Bergabung dengan kota 7, populasi menjadi 66. Bergabung dengan kota 8, populasi menjadi 116. Maka kota 4 bisa menjadi 1 kota yang tersisa.

Kita bisa melihat, bahwa apabila kota i bisa menjadi 1 kota yang tersisa, maka semua kota yang memiliki populasi lebih besar atau sama dengan populasi kota i pasti juga bisa menjadi 1 kota yang tersisa. Maka setelah kita melihat bahwa kota 4 bisa menjadi 1 kota yang tersisa, berarti kota 5,6,7, dan 8 juga bisa menjadi 1 kota yang tersisa. Berarti jawaban untuk soal ini adalah 5 kota.

(Di set soal OSP 2013, ada 1 soal lanjutan dari soal ini yaitu terdapat 100 kota, yaitu kota nomor 1 sampai kota nomor 100, dengan populasi masing-masing kota adalah kuadrat dari nomor kota tersebut. Cara mengerjakan soal ini sama dengan cara mengerjakan soal tadi, dan jawabannya adalah 97).

25)

Kata kunci untuk soal ini adalah Pigeonhole Principle.

25 huruf pertama kita tulis 26 kali, dan huruf terakhir ditulis sebanyak 10 kali. Jadi total huruf yang ditulis adalah sebanyak 660.

__

Soal berikutnya menyusul. Semoga bermanfaat.

 

— Info: Sekarang saya fokuskan soal dan pembahasan ke situs kujawab.com —

Kumpulan Soal OSK/OSP

4 Comments

Ada pembahasan soal, sepertinya akan lebih baik kalau ada juga kumpulan soal-soal. Soal yang saya post disini lebih berfokus pada soal teori (level OSK-OSP). Untuk soal praktek, silahkan kunjungi TOKI Learning Center (link) atau JollyBee Online Judge (link). Silahkan download soal-soal dibawah ini, dan untuk pembahasan bisa lihat di post saya yang lain.

 

OSK (Kota/Kotamadya):

OSP (Provinsi):

Lainnya:

  • Kumpulan Soal Olimpiade Informatika 100 soal (link)

* Halaman ini akan selalu diupdate seiring dengan berjalannya waktu.

Pembahasan Soal OSK/OSP – Part 4

2 Comments

— Info: Sekarang saya fokuskan soal dan pembahasan ke situs kujawab.com —

Halo! OSK sudah lewat nih, bentar lagi OSP. Di post kali ini saya gak akan kasih pilihan jawaban (OSP style). Jadi silahkan coba kerjakan dulu cari jawabannya berapa, lalu scroll ke bawah untuk melihat pembahasannya.

__

16) Berapa banyak segiempat yang dapat terbentuk dalam papan catur berukuran n*n? Jawab dalam n.

17) Pak Dengklek memiliki 1000 ekor bebek, yang diberi nomor 1 sampai dengan 1000. Pak Dengklek yang sedang berbaik hati, ingin memberikan Anda sebagian bebek yang dimilikinya. Anda bebas memilih beberapa bebek yang mana saja, asalkan memenuhi satu syarat khusus yang diminta Pak Dengklek: jika Anda memilih bebek bernomor x, Anda tidak boleh memilih bebek bernomor 3x. Misalnya, jika Anda memilih bebek bernomor 5, Anda tidak boleh memilih bebek bernomor 15. Berapa banyak maksimal bebek yang bisa Anda terima dari Pak Dengklek?

18) Sebuah bilangan X adalah bilangan yang terdiri dari 2 digit. Hasil kali dari digit-digit dari X lebih besar 39 dari jumlah digit-digit dari X. Jika urutan digit dari X dibalik, hasilnya adalah bilangan yang lebih besar sebanyak 27. Berapakah X?

19) Angka 1000 dapat dibentuk sebagai jumlah dari satu atau lebih bilangan positif konsekutif, contoh, 1000 = 1000 (satu penjumlah), 1000 = 198+199+200+201+202 (lima penjumlah). Berapakah maksimum penjumlah untuk membentuk angka 1000?

20) F(x) adalah representasi basis 3 dari x yang dianggap sebagai bilangan desimal. Contoh, F(5) = 12. Berapakah jumlah seluruh bilangan N dimana F(N) = 8xN?

JAWABAN

16)

Kita akan membentuk segiempat dari papan berukuran n*n. Anggap segiempat yang akan dibentuk berukuran X*Y dimana 1<=X<=n dan 1<=Y<=n.

Sekarang kita hitung kemungkinan posisi X.

Jika X=1, ada n kemungkinan pemasangan. Bisa di paling atas, sampai paling bawah.
Jika X=2, ada n-1 kemungkinan pemasangan. Bisa di paling atas, sampai kedua dari bawah.
..
Jika X=n, ada 1 kemungkinan pemasangan, yaitu di paling atas.

Maka total kemungkinan pemasangan untuk semua kemungkinan X adalah n+(n-1)+(n-2)+…+1 = n*(n+1)/2 (rumus deret aritmatika)

Sekarang kita hitung kemungkinan posisi Y. Cara menghitungnya sama dengan X, maka jawabannya juga pasti sama. Jadi jawaban akhirnya adalah kemungkinan posisi X dikalikan dengan kemungkinan posisi Y= (n*(n+1)/2)*(n*(n+1)/2)

17)

Ada beberapa versi jawaban untuk soal ini. Saya akan menjelaskan jawaban saya.

Jika kita ambil dari bebek terkecil, maka kita hanya bisa mengambil 667 bebek:

1, 2, 4, 5, 7, 8, ….. , 997, 998, 1000

Jadi lebih baik kita ambil dari bebek terbesar:

1000, 999, 998, 997, … , 335, 334

Kita tidak bisa mengambil 333 karena kita mengambil 999. Maka kita mulai lagi dari 111

111, 110, … , 39, 38

Mulai lagi dari 12

12, 11, 10, … , 6, 5

Terakhir kita ambil bebek 1. Jadi totalnya kita bisa mengambil 750 bebek.

18)

X adalah bilangan 2 digit. Anggap digit pertama adalah A dan digit kedua adalah B. Maka:

X = 10A + B

Hasil kali dari digit-digit dari X lebih besar 39 dari jumlah digit-digit dari X:

AB = A+B+39

Jika urutan digit dari X dibalik, hasilnya adalah bilangan yang lebih besar sebanyak 27:

10B + A = 10A + B + 27
9B = 9A + 27
B = A+3

Kita hanya perlu melakukan substitusi sederhana:

A(A+3) = A + (A+3) + 39
A^2 + 3A = 2A + 42
A^2 + A – 42 = 0
(A+7)(A-6) = 0
A = 6, B = 9

Maka X = 69

19)

1000 = A + (A+1) + (A+2) ….. + (A+N-1)

Dari persamaan diatas, kita ingin mencari N terbesar dimana A adalah bilangan bulat positif. Sekarang kita pakai rumus deret aritmatika:

S(n) = ((X(1) + X(n)) * n) / 2
1000 = ( (A+(A+N-1))*N ) / 2
(2A+N-1)*N = 2000
2A = (2000/N) – N + 1

Perhatikan bahwa N harus merupakan faktor dari 2000. Dan agar A adalah bilangan bulat, maka (2000/N) – N + 1 harus merupakan bilangan genap atau dengan kata lain (2000/N) – N harus merupakan bilangan ganjil. Karena 2000/N pasti merupakan bilangan genap, maka N harus ganjil.

Jadi kita hanya perlu mencari faktor dari 2000 yang merupakan bilangan ganjil, yaitu 1, 5, 25, dan 125. Setelah dicoba kelima kemungkinn tersebut, N terbesar yang memenuhi syarat adalah 25.

20)

Sebelumnya, saya belum dapet link bagus untuk belajar cara merubah basis bilangan, jadi saya asumsikan yang membaca pembahasan ini sudah menguasai basis bilangan.

F(N) adalah representasi basis 3 dari N. Kita mau mencari N dimana F(N) = 8N, atau F(N)/N = 8.

Sebelumnya kita bisa katakan F(N)/N >= F(N-1)/(N-1). Kenapa? Karena F(N) adalah representasi basis 3 yang dianggap sebagai basis 10, maka kenaikan F(N) pasti lebih cepat dari kenaikan N.

Lalu kita juga bisa katakan bahwa F(N) pasti kelipatan 8. Sekarang kita cari bilangan kelipatan 8 yang memungkinkan untuk jadi bilangan basis 3.

Kita mulai dari ratusan (satuan dan puluhan tidak ada yang bisa jadi kandidat):
112, 120, 200

Kita coba F(N) = 112, N = 112/8 = 14. Ternyata benar bahwa representasi basis 3 dari 14 adalah 112.

Sekarang coba F(N) = 120, N = 15, masih valid.

F(N) = 200, N = 25. Sudah tidak valid karena representasi basis 3 dari N seharusnya 221.

Di posisi N = 25, F(N)/N sudah lebih dari 8, maka kita tidak perlu melanjutkan pencarian.

Jadi N yang memenuhi hanya 14 dan 15, maka jawabannya adalah 14+15 = 29.

__

Sekian pembahasan untuk hari ini. Semoga membantu:)

 

— Info: Sekarang saya fokuskan soal dan pembahasan ke situs kujawab.com —

Pembahasan Soal OSK/OSP – Part 3

2 Comments

— Info: Sekarang saya fokuskan soal dan pembahasan ke situs kujawab.com —

 

11) Jika x dan y adalah dua buah bilangan prima, manakah di antara berikut ini yang tidak mungkin menjadi selisih antara x dan y?

A. 1
B. 3
C. 9
D. 15
E. 23

12)  Urutan permutasi ABC dari 1 sampai 6 adalah ABC, ACB, BAC, BCA, CAB, CBA. Tentukanlah urutan permutasi ABCDE yang ke 100.
A. ABCED
B. CBADE
C. EADBC
D. EACDB
E. DBACE

13) Jika w 10% lebih kecil dari x, dan y 30% lebih kecil dari z, seberapa besar nilai wy lebih kecil dari xz?
A. 10%
B. 20%
C. 37%
D. 40%
E. 63%

14) Ruben dapat menyelsaikan suatu pekerjaam dalam m jam, sementara Vivien dapat menyelesaikan pekerjaan yang sama dalam n jam. Berapa menitkah waktu yang dibutuhkan untuk menyelesaikan pekerjaan tersebut bersama-sama?
A. 60(m+n)/mn
B. 60mn/(m+n)
C. 3600/(m+n)
D. (m+n)/3600
E.  |m-n|/nm

15) Sejumlah burung akan menempati 4 buah sangkar. Setiap sangkar maksimal ditempati oleh 5 burung. Berapa jumlah burung yang diperlukan agar 3 sangkar pasti ditempati oleh minimal 3 ekor burung?
A. 11
B. 13
C. 15
D. 17
E.  19

JAWABAN

11)

Karena semua bilangan prima adalah ganjil (kecuali 2), maka selisih antara dua buah bilangan prima selain 2 pasti merupakan bilangan genap. Apabila selisih antara dua buah bilangan prima adalah ganjil, maka pasti salah satu diantara dua bilangan tersebut adalah 2. Sekarang kita lihat pilihan jawaban:

A. 1 (2 dan 3)
B. 3 (2 dan 5)
C. 9 (2 dan 11)
D. 15 (2 dan 17)
E. 23 (2 dan 25) Tidak bisa, maka jawabannya adalah (E)

12)

Coba kita simulasikan urutan permutasi untuk ABCD :

ABCD
ABDC
ACBD
ACDB
ADBC
ADCB
BACD
BADC
..
..

Perhatikan bahwa huruf pertama dari sebuah permutasi akan berubah apabila semua huruf setelahnya sudah beres dipermutasikan. Jadi untuk ABCDE, huruf pertama akan berubah setelah 4 huruf lainnya sudah beres dipermutasikan. Untuk permutasi 4 buah huruf dibutuhkan 4! = 24 kali permutasi. Maka:

Permutasi ke 1-24 adalah A____
Permutasi ke 25-48 adalah B____
..
..
Permutasi ke 97-120 adalah E____

Tinggal kita simulasikan permutasi dari 97 ke 100

97 = EABCD
98 = EABDC
99 = EACBD
100 = EACDB

Maka jawabannya adalah EACDB (D)

13)

w = 0.9 x
y = 0.7z

wy = 0.9x * 0.7z = 0.63xz

wy = 0.63xy berarti wy 37% lebih kecil dari xz (C)

14)

Kita anggap sebuah pekerjaan memiliki bobot S. Ruben dapat menyelesaikan pekerjaan tersebut dalam waktu m jam. Berarti kecepatan si Ruben adalah S/m. Vivien dapat menyelesaikan pekerjaan tersebut dalam waktu n jam. Berarti kecepatan si Vivien adalah S/n. Jika mereka bekerja bersama-sama maka kecepatan mereka digabungkan, yaitu:

S/m + S/n = S(m+n)/mn

Maka waktu yang dibutuhkan adalah S dibagi kecepatan, yaitu:

S / (S(m+n)/mn)
= S * (mn/S(m+n))
= mn/(m+n) jam
= 60mn/(m+n) menit (B)

15)

Kita isi satu per satu sangkar, kita buat sedemikian rupa supaya tidak memenuhi syarat diatas.

Sangkar 1 diisi 5 burung
Sangkar 2 diisi 5 burung
Sangkar 3 diisi 2 burung
Sangkar 4 diisi 2 burung

Jadi kita bisa menaruh 14 burung tanpa memenuhi syarat. Tidak bisa lagi kita menambah burung agar tidak memenuhi syarat. Maka untuk memenuhi syarat dibutuhkan minimal 15 burung. (C)

__

Sekian untuk part 3.

Part 1
Part 2

 

— Info: Sekarang saya fokuskan soal dan pembahasan ke situs kujawab.com —

INC 2012

3 Comments

Jadi INC (Indonesia National Contest) 2012 baru saja beres.. BINUS jadi tuan rumah nih (ya iyalah, tiap taun emang tuan rumah).. Ini kompetisi pertama di tahun ajaran ini kan? Ada sih beberapa kontes sebelumnya tapi penyisihan-penyisihan doang, yang ini yang serius, 5 jam kontes, full team, full power..

Oke gw mau cerita tentang kontes ini.. Jadi tadi pagi disediakan lab di kampus untuk mahasiswa yang ikut INC.. Jadi tim gw dan beberapa tim lain coding bareng di lab.. Coding bareng, tapi gak kerjasama kok tenang aja😛

Kontes pun dimulai, dan sangat tidak terduga, soal bonus nya di hidden! Susah nyarinya :)).. Akhirnya soal yang pertama kali dikerjain itu yang F, gak one-shot pula, ternyata harus long long.. Ckckck.. Baru abis itu si Teddy kasitau soal A..

Oh iya gw belum kasitau tim gw.. Nama tim gw Pandawa.. Nama random.. Anggotanya gw, Teddy, Daniel.. Ini kompetisi kita dimana kita turun full team, kmaren2 peyisihan ada aja yang gak dateng :))

Yaudah, overall kontes hari ini seru sih.. Cuma kita banyak kesalahan.. Eh gak banyak sih.. Banyak banget.. Hahaha.. Parah lah intinya..

Gw share sekilas solusi soal-soal yg kita solve ya.. Oya soalnya gak tau bisa diakses dimana.. Kalo ada yang tau bisa di share ya😉 (edit: bisa didownload disini)

A. The Greatest Man in the Universe

Tinggal bikin fungsi f(P) yang return nya itu berapa panjang subsequence kalau start nya di P.. Kalau P nya udah >=n atau P diluar range A sampe B maka return 0, selain itu return f(P+x[P])+1.. Lalu coba-coba aja untuk setiap P, berapa f(P) maksimum..

B. Packing for Holiday

Knapsack biasa, cuma dimodifikasi sedikit.. Kalau si A bisa berefek dengan si B, maka pas proses si A, coba juga pasang B, dan coba juga pasang dua-duanya.. Dan guess what, kita ngebug berkali-kali!! Parah..

C. Laser-Based Mosquito Killer

Solusi gw wrong answer! Ceritain aja deh idenya.. Jadi di sort berdasarkan gradien, lalu loop dari gradien terbesar sampai terkecil.. Untuk setiap nyamuk, kalau dia belum kena laser, tembak laser ke arah nyamuk dengan gradien terkecil yang masih bisa menjangkau nyamuk tadi.. Dilakukan terus sampe semua nyamuk tertembak..

FYI, si pembuat soal ini bilang kalo kita bisa solve soal ini dia bakal dateng ke lab sambil nari gangnam style.. Sayangnya hal tersebut tidak dapat diwujudkan.. :))

D. Auto Complete

Setelah dilihat ternyata panjang string nya kecil, cuma 15.. Brute force aja jadinya.. Pertama sort data-data nya berdasarkan search point.. Lalu untuk setiap query, looping aja, kalau cocok ambil.. Kalau udah dapet 4 biji berhenti.. Dari yang diambil itu sort ulang berdasarkan lexicography, lalu cetak deh..

E. Tree Land 

Semua verdict udah kita rasakan di soal ini, kecuali Accepted dan Compile Error..

F. N Choose K

Sort datanya, lalu cari ada gak i dimana X[i-K] + x[i-K+1] + .. + x[i-1] > X[i].. Kalau ada, maka jawabannya YES.. Untuk nyarinya bisa pake prefix sum jadi cukup sekali looping.. Kompleksitas O(N)

G. Rolling Block

Ngeliat deskripsi panjang bikin males.. Ternyata soalnya simpel.. Cuma tinggal BFS doang dengan state posisi sekarang, dan kondisinya apa, tegak, vertikal atau horizontal.. Dan, tadi ngebug super-super konyol dan membuang waktu cukup lama.. Ckckck

H. Good Team Work

DP bitmask dengan state orang apa aja yang udah dapet tim.. Untuk setiap state, coba-coba aja untuk tim sekarang anggota nya siapa aja.. Time limitnya mepet jadi harus dioptimasi.. Ada yang harus di precompute..

__

Sekian pembahasan super singkat gw.. Doakan kami sukses di ICPC Jakarta 2012..😀

Older Entries

Follow

Get every new post delivered to your Inbox.