Some Cool Things I Got to Know Recently
1. Eleven Equations True Computer Science Geeks Should (at least pretend to) Know
Cool thing pertama ini gw dapat dari akun twitter @CompSciFact. Akun twitter tersebut memberi link ke sebuah website (yang baru kali ini gw liat) berjudul Elegant Coding. Jadi di website tersebut diberikan sebelas rumus/persamaan yang berhubungan dengan dunia Computer Science. Walaupun gw ga pernah mendeclare diri gw sebagai "true computer science geek" tapi jujur gw sangat kagum ketika membaca post itu. Salah satunya karena sebagian besar dari persamaan-persamaan itu memang sudah gw pelajari di Fasilkom. Merasa kagum aja ternyata persamaan-persamaan yang gw dapet dari berbagai mata kuliah (Matematika Diskret, Teori Bahasa dan Automata, Desain dan Analisis Algoritma, Basis Data, Aljabar Linier, Statistika dan Probabilitas) itu merupakan dasar dari Ilmu Komputer yang perlu dipahami
- Binomial Coefficient
- Demorgan's Laws
- Eigen Vector and Eigen Value
- Pumping Lemma for Regular Language
- Information Entrophy
- Baye's Theorem
- Fermat's Litlle Theorem
- Natural Join
- The Fixed Point (Y) Combinator
- O(N)
- Euler's Identity
Gw ga akan membahas secara dalam makna dari masing-masing persamaan. Jadi kalau ingin tau penjelasan lebih lanjutnya silahkan merujuk ke link ini
2. Ikimonogakari to sing NHK's London Olympic Theme Song
Band J-Pop kesayangan
Komentar personil Ikimonogakari:
- Yoshioka Kiyoe: "We want to do our best to make the music and sing it from our hearts to draw closer to the athletes."
- Mizuno Yoshiki: "I want to deliver a song that would be a wind to support the strong feelings of the athletes."
- Hotaka Yamashita: "As a Japanese who supports the Japanese team, I want to make efforts to make a song that will not bring shame."
Hal ini tentunya merupakan suatu kehormatan dan suatu kebanggan tersendiri bagi para personil Ikimonogakari. Good job guys! :)
3. Russian Multiplication
Russian Multiplication adalah sebuah algoritma untuk menghitung hasil kali dua buah bilangan bulat (integer). Algoritma ini dapat dijalankan dengan cepat di komputer karena hanya memerlukan operasi penjumalah dan shift. Algoritma ini baru gw ketahui beberapa waktu yang lalu dari kelas Desain dan Analisis Algoritma (DAA) *dosennya Papa peri Lim Yohanes Stefanus :">*
Gimana sih cara kerja algoritma ini sehingga bikin gw kagum?
Ini contohnya:
Misalkan kita ingin mengalikan 2 buah integer 12 dan 15
Selanjutnya kita bisa membuat tabel seperti berikut:
12 | 15 |
6 | 30 |
3 | 60 |
1 | 120 |
Kolom sebelah kiri berisi bilangan-bilangan hasil pembagian pertama(12) dengan 2 (membagi suatu integer dengan 2 sama dengan men-shift bentuk binernya 1 kali ke kanan) terus menerus hingga menghasilkan bilangan 1, sedangkan kolom kanan berisi bilangan-bilangan hasil perkalian 15 dengan 2 (mengalikan suatu integer dengan 2 sama dengan men-shift bentuk binernya 1 kali ke kiri) sehingga kolom sebelah kirinya bernilai 1. Sekarang kita hapus baris-baris yang kolom sebelah kirinya bernilai genap. Jadi bilangan yang tersisa di kolom sebelah kanan sekarang adalah 60 dan 120. Kalau dijumlahkan akan menghasilkan sebuah nilai yang merupakan hasil dari perkalian 2 bilangan ini yaitu 180! Ajaib kan? Makanya gw juga kagum hehe. Penjelasan lebih lanjut tentang algoritma ini bisa dilihat di blog salah seorang teman gw di sini
4. Common Mistake: Stuff or Stuffs?
Nah yang keempat ini sebenarnya adalah salah satu kesalahan yang sering gw lakukan sebelumnya, sampai akhirnya gw membaca surat dari mantan hostfam salah seorang teman gw di US. Di surat itu hostfam teman gw ini "menyindir" salah satu kesalahan yang pernah dilakukan teman gw waktu tinggal di US dulu; menulis stuffs sebagai bentuk plural. Loh? apa yang salah? Ya STUFFS itu yang salah! Ternyata kata "stuff" itu sendiri sudah dalam bentuk plural loh, jadi kita ga perlu menambahkan s di akhirnya. Common mistake ini sering gw jumpai di bebeberapa status atau tweet teman-teman di twitter. So, jangan salah lagi ya! :D
5. Computational Chemistry
Di Fasilkom, Kimia adalah salah satu cabang ilmu pengetahuan alam yang tidak pernah dibahas dalam mata kuliah apapun. Lain halnya dengan Fisika. Di kurikulum yang digunakan oleh Fasilkom saat ini, Fisika Dasar 1 dan Fisika Dasar 2 adalah mata kuliah wajib bagi mahasiswa S1 Ilmu Komputer. Hal ini cukup membuat gw sedih karena kimia adalah mata pelajaran yang sangat-sangat gw senangi di SMA. Gw sempat ikut beberapa perlombaan di bidang Kimia waktu SMA, walaupun ga pernah menang sih hehe
Rasa sedih ini (asek) akhirnya berujung pada niat iseng gw untuk mencoba googling dengan keywords "Chemistry Computer Science" dan voila! Gw pun menemukan yang namanya Computational Chemistry. Seperti yang ditulis di Wikipedia:
Computational chemistry is a branch of chemistry that uses principles of computer science to assist in solving chemical problems
Jujur gw sempat terharu pas nemu ini :') (lebay) Kirain yang namanya Computer Science pasti ga akan pernah nyambung sama Kimia. Eh ternyata ada cabang Ilmu Kimia yang malah menggunakan prinsip Ilmu Komputer. Cabang ilmu ini menggunakan teori kimia yang kemudian diterapkan ke Program yang efisien untuk mengetahui struktur serta sifat-sifat dari molekul dan zat. Seorang Computational Chemist biasanya akan terlibat dalam pengembangan algoritma baru maupun pemilihan teori kimia yang sesuai agar diperoleh proses komputasi yang paling efisien dan akurat untuk menyelesaikan permasalahan kimia tertentu.
Beberapa pendekatan yang biasanya dilakukan yaitu:
- Menemukan titik awal untuk sintesis dalam laboratorium.
- Menjelajahi mekanisme reaksi dan menjelaskan pengamatan pada reaksi di laboratorium.
- Memahami sifat dan perubahan pada sistem makroskopis melalui simulasi yang berlandaskan hukum-hukum interaksi yang ada dalam sistem.
6. Membela Kebenaran?
Kita semua pasti sering mendengar frasa "membela kebenaran". Tapi pernahkah kita mencoba mencerna lebih baik makna dari frasa itu? Pendapat mengejutkan gw dapat dari salah seorang teman gw yang saat ini merupakan mahasiswa di Fakultas Psikologi, Universitas Indonesia. Dia bercerita bahwa salah seorang dosennya pernah mengatakan "membela kebenaran" adalah sebuah hal yang sia-sia. Kenapa? Kebenaran itu sendiri adalah suatu hal yang mutlak/absolut dan tidak perlu "dibela" lagi, karena yang namanya kebenaran pasti akan selalu "bernilai" benar. Yang perlu kita perhatikan atau bela sebenarnya adalah jika seseorang atau sesuatu yang ternyata benar dianggap salah oleh orang lain. Interesting, right? :D
Oke jadi segitu dulu post kali ini. Maaf sebelumnya kepada pembaca (emangnya ada yang baca) karna blog ini sudah terlantar lebih dari setahun.
Semoga tulisan ini bermanfaat ya :D
Wogh ada link ke blog gw :o
ReplyDeleteBtw gw baru tau ada Computational Chemistry. Semakin membuktikan bahwa computer science emang jangkauannya ke segala bidang ilmu :') *terharu*