Tuesday, May 27, 2014

AVD Keep Restarting When Installing Facebook

I'd like to develop an Android's apps using Facebook's login. Because I want to integrate it with PHP+MySQL, it would be easier for me to test it while running XAMPP. I can't access XAMPP via my phone, so I am using AVD (Android Virtual Device).

Facebook give its basic tutorial to use its SDK (you can read it here). They also give its Android's apps installer (the .apk file). After downloaded the SDK and started up the AVD, I tried to install the apps with this command via my terminal:

./adb install ../../facebook-android-sdk-3.14/bin/FBAndroid-7.0.0.apk

But unfortunately the AVD rebooted itself and the adb command keep on this lines:

722 KB/s (31026249 bytes in 41.953s)
	pkg: /data/local/tmp/FBAndroid-7.0.0.apk

The Troubleshoot

After several try and failure, I found that my AVD device display is too small. I was using 240x320 display, then I create new AVD using 480x800 resolution. I don't know why it happens but it just works. lol.

The succeeded installation via adb command will show these lines
1318 KB/s (31026249 bytes in 22.980s)
	pkg: /data/local/tmp/FBAndroid-7.0.0.apk
Success

This is how the emulator looks like
p.s: my english sucks

Wednesday, May 21, 2014

POME - Aplikasi handphone penilaian otomatis lembar jawaban komputer

Aplikasi yang menilai secara otomatis lembar jawaban komputer tanpa harus menggunakan komputer, cukup gunakan handphone.


Lembar Jawaban Komputer (LJK) sering digunakan sebagai alat untuk melakukan ujian tertulis karena mudah untuk diperiksa. Ini adalah cara yang hebat untuk menyelenggarakan tes. Mengapa tidak semua orang menggunakannya? POME hadir agar semua orang dapat menikmati kemudahan lembar jawaban komputer.








POME adalah aplikasi handphone yang dapat mengecek dan memberi nilai secara otomatis dari Lembar Jawaban Komputer. Peserta ujian dapat dengan mudah menuliskan nama dan langsung menulis jawaban di lembar yang telah disediakan, kemudian dengan POME nilai akan langsung diperoleh.

Di aplikasi POME kamu tinggal memasukkan kunci jawaban, kemudian memotret lembar jawaban yang telah diisi, dan nilai akan langsung muncul. Keren kan?



Lembar Jawaban Komputer merupakan alat yang bagus untuk menyelenggarakan kuis tertulis. Alat ini mudah dan cepat untuk diperiksa. Namun alat untuk melakukan cek otomatis lembar jawaban komputer harganya cukup mahal. Misalnya OMR (Optical Mark Reader), harganya bisa mencapai lebih dari 15 juta. Selain mahal, bentuknya besar dan susah untuk dibawa. 

Dengan POME kamu hanya cukup memiliki handphone. Tidak perlu lagi membawa OMR yang besar. Dan, hey! OMR tidak bisa digunakan untuk selfie!

Selain itu peserta tidak harus membulati pilihan untuk menandakan nama, karena dengan POME nama dan angka yang ditulis di kolom lembar jawaban langsung dideteksi. POME juga bisa membedakan tanda silang yang benar dan tanda silang koreksi. Peserta yang salah menyilang tinggal membubuhkan dua garis mendatar di atas tanda silang untuk mengoreksi jawaban yang dipilih.




Sihir atau sains?

POME melakukan hal ini semua dengan sihir sains! Ilmu komputer memiliki bidang ilmu yang bernama kecerdasan buatan (artificial intelligent) dan pengolahan citra (image processing). Dengan dasar teori dua bidang tersebut sebuah huruf dapat dideteksi. POME memanfaatkan pendeteksian karakter dengan Jaringan Syaraf Tiruan (artificial neural network), dengan metode ini tulisan akan dikonversi menjadi huruf yang dikenali komputer.



Very geeky isn't it? Jangan khawatir, saya akan mengurus hal ini semua di belakang layar dan kamu tinggal menggunakan POME.



POME dibuat oleh Giri Prahasta Putra, seorang pemain biola, tukang gambar, game programmer, pencinta kucing, dan seorang mahasiswa yang sebentar lagi lulus (amin...) dari Ilmu Komputer UPI. In fact, POME is his final project.


Kejutannya, Giri adalah saya! Yay! Kamu bisa kontak saya melalui twitter di @igrir.










Saya belum pernah mengerjakan aplikasi mobile secara serius sebelumnya. Selain itu saya memiliki handphone yang sangat low-end (Sony Xperia Tipo ST21i), jadi mungkin pengerjaannya akan saya lakukan terlebih dahulu dengan target desktop. Memang ini pengerjaan dua kali (karena saya harus melakukan porting ke Android setelahnya), tapi saya rasa ini pengembangan paling cepat untuk dilakukan dengan mengujinya di desktop terlebih dahulu.

Bidang pengolahan citra dan kecerdasan buatan (fokus kepada Jaringan Syaraf Tiruan) adalah hal baru bagi saya. Saya harus mempelajari lagi dasar-dasar pengolahan citra dengan menguji coba gambar-gambar sederhana. Sejauh ini saya sudah mencoba melakukan rotasi, menggunakan convulution matrix, erotiondilation, dan sobel edge detector. Sedangkan untuk Jaringan Syaraf Tiruan saya baru sebatas mempelajari caranya bekerja dan belum mencobanya lebih dalam.


FAQ

Kenapa saya membuat postingan ini mirip Kickstarter?
Biar gaya aja, haha.

Kapan POME rilis?
Setelah skripsi saya selesai. Jadi doakan saya untuk menyelesaikannya bulan Agustus ya!

Apa yang bisa saya bantu?
Kamu bisa memberi saya bantuan berupa dana yang saya gunakan untuk membeli kertas, jajan, dan hal *uhuk* teknis lainnya. Kamu juga bisa membelikan saya handphone, yang ini kurang enak nih buat develop *matabelo*

Kamu pengennya dibeliin hape apa?
Seriusan nih pengen dibeliin?? Asyik! Saya pengennya Nexus. Kenapa? Karena Android di dalamnya masih beneran Android. Selebihnya saya perlu menggunakan handphone dengan fitur lampu blitz, kamera yang bisa dengan jelas memotret tulisan di atas kertas, dan memorinya besar untuk menampung 300 foto.

Kalau saya bantu doa aja nggak apa-apa?
Nggak apa-apa kok, doakan cepet lulus ya! Doakan juga supaya dapat hape baru, amin.

Ini FAQ nya nanya sendiri ya?
Iya, nanya sendiri jawab sendiri, kekekeke

Monday, May 19, 2014

Perjalanan Cesatu Ke Sawarna



Sawarna adalah sebuah lokasi di provinsi Banten. Sawarna terkenal dengan wilayah pantainya yang menghadap samudera Hindia. Kebetulan hari Jum'at dan Sabtu lalu saya bersama rekan-rekan kelas kampus saya menyambangi pantai ini sejenak.

Biaya

Perkiraan awal untuk perjalanan ini adalah sebagai berikut:
Rp 2.000.000 untuk transportasi
Rp 1.000.000 untuk penginapan
Jumlah peserta yang ikut adalah 20 orang, maka ditetapkan biaya untuk pergi adalah Rp 150.000 setiap orangnya. Namun ternyata biaya tersebut dirasa kurang karena belum ditambah biaya konsumsi dan lainnya, maka uang iuran masing-masing pelancong adalah Rp 200.000.

Transportasi

Kami berangkat menggunakan dua mobil, yakni mini bus pariwisata dan mobil Suzuki Ertiga. Pada awalnya kami berencana untuk berangkat hanya menggunakan satu mobil karena pesertanya hanya 17, namun ternyata peserta bertambah. Beruntung beberapa dari kami memiliki mobil. Maka peserta dibagi menjadi dua grup, 6 orang naik mobil ertiga, 14 orang lainnya naik mobil mini bus.

Untuk biaya bensin mobil tambahan dicanangkan dana sebesar Rp 600.000, namun pada akhirnya terpakai hanya Rp 220.000.

mini bus yang kami pakai

Saya duduk di sebelah Erwin (yang lagi 'peace')

Ini Firmansyah, bersama mobil Ertiganya


Perjalanan

Perjalanan ke Sawarna menempuh waktu kurang lebih 7 jam. Karena kami hanya akan tinggal selama 2 hari 1 malam di Sawarna maka akan lebih baik jika sampai lebih pagi. Karena itu kami berangkat hari Jum'at (16 Mei 2014) dari jam 1:22 pagi.

Mungkin karena bukan musim liburan dan bukan akhir minggu, perjalanan ke Sawarna terasa cukup lancar. Hm.. saya sebenarnya tidak begitu yakin, karena saya tidur sepanjang perjalanan, haha. Namun saya rasa cukup lancar.

Setelah sholat Subuh di sebuah mesjid (saya lupa di mana, kami berhenti sejenak di sebuah mesjid yang kami temui), kami berhenti sejenak di Palabuhan Ratu sekitar jam 8 pagi. Untuk masuk ke kawasan ini kami harus membayar biaya retribusi. Biaya ini disesuaikan dengan ukuran kendaraan.  Dikarenakan kami menggunakan mini bus maka kami harus membayar sebesar Rp 30.000. Untuk mobil satunya lagi, Suzuki Ertiga, saya kurang tahu berapa.

Di sana kami sarapan. 7 orang dari kami makan bubur ayam seharga Rp 7.000, 13 orang lainnya, ditambah seorang supir, makan nasi goreng seharga Rp 10.000.
suasana Palabuhan Ratu
Setelah kenyang dan berfoto sejenak, kami membayar parkir (Rp 5.000) dan melanjutkan perjalanan.

Penginapan

Kami sampai di Sawarna sekitar jam 9. Setibanya di sana kami segera mencari tempat penginapan. Ya! Kami baru mencari tempat penginapan! Beruntung ada sebuah penginapan yang lumayan luas dan kosong disana.

Penginapan yang kami singgahi bernama "Andrew Batara Home Stay." Letaknya bertepatan di sebelah sungai dekat jembatan gantung menuju pantai.

AC di ruang tengah. Di dalam satu kamar besar juga ada AC, bahkan ada kipas anginnya.

ada nomor telepon, pin bb, e-mail, dan facebooknya juga. Siapa tahu mau kontak penginapan ini

Jembatan menuju arah pantai

Bagian belakang penginapan

Penginapan ini memiliki 2 kamar mandi (1 di dalam, 1 di luar), 3 kamar, 2 AC, dan 1 televisi. Tamu yang hadir juga diberikan fasilitas sebuah dispenser lengkap dengan galon air yang sudah terisi. Di bagian belakang juga terdapat keran untuk mencuci badan terlebih dahulu yang mungkin bisa digunakan jika anda berkotor-kotor ria di pantai. Biaya penginapan ini adalah Rp 750.000 per hari nya. Murah bukan?

Oh ya, bagi kamu yang memerlukan keperluan sehari-hari juga jangan khawatir. Di dekat penginapan ini terdapat Alfamart dan Indomaret lo!

Karena saat itu adalah hari Jum'at, maka saya dan teman-teman laki-laki lainnya bersiap-siap untuk sholat Jum'at di mesjid yang letaknya tidak jauh dari penginapan.

Gua

Setelah sholat Jum'at, saya makan di sebuah warteg di dekat penginapan (Saya makan dengan nasi ditambah sayur labu dan telur dadar, harganya Rp 9.000). Setelah kenyang kami memulai rekreasi dengan mengunjungi gua Lalay.

Lalay berarti kelelawar. Gua ini letaknya sekitar 300 meter dari penginapan kami. Hmm... sebenarnya itu jarak menuju gang arah gua lalay. Mobil kami hanya bisa parkir di sana. Untuk menuju gua nya itu sendiri kami harus berjalan lagi sekitar 300 meter.

Suasana perjalanan menuju gua Lalay menyenangkan karena hamparan sawah membentang sejauh mata memandang. Suasana kampung sangat terasa. Bebek dan ayam berkeliaran mengiringi perjalanan kami.

Kami kemudian tiba di sebuah pos gua Lalay. Di sana kami harus mendaftar dan membayar uang retribusi sebesar Rp 5.000 per orang. Jumlah kami ada 20 orang, namun kami dapat potongan harga menjadi 17 orang. Setelah membayar, kami diberikan tawaran apakah ingin menggunakan helm, lampu kepala, dan senter. Uhuk, ternyata masing-masing perlengkapan tadi dibiayai lagi Rp 5.000 per benda nya. Tapi kami putuskan untuk menggunakan cahaya flash light handphone saja sebagai senter. Setelah negosiasi selesai, kami diminta untuk melepas sendal dan memulai perjalanan. Kami dibimbing oleh seorang pemandu dan mulai memasuki gua.

Itu adalah pertama kalinya saya masuk ke gua alami. Gua terakhir yang saya sambangi sebelumnya adalah gua bunker, yakni gua Belanda. Yang satu ini beda. Karena gua alam maka medannya terjal, berbatu, licin, dan basah. Dimana-mana tanah liat teronggok dan membentuk pulau-pulau kecil. Air menggenang dan mengalir mulai dari setinggi mata kaki hingga sepaha orang dewasa. Satu hal yang saya rasa luar biasa adalah kegelapan pekat jika tidak ada cahaya senter. Saya menjadi paham kenapa orang bisa tersesat di dalam gua karena kegelapan seperti saat itu bisa membuat siapapun kebingungan.

Kami melangkah dan menyusuri gua. Cahaya-cahaya dari lampu blitz handphone menerangi perjalanan. Lucunya salah seorang teman saya memiliki handphone namun belum mengunduh aplikasi senter, jadi dia hanya menggunakan layarnya dan menampilkan tampilan berwarna putih agar cukup terang.

Kami harus saling membantu untuk menyusuri gua Lalay. Beberapa kali saya hampir terjatuh, untung saja ada yang memegang saya.

Di ujung perjalanan kami diberikan pilihan apakah ingin keluar gua dari sisi yang lain namun harus mendaki atau ingin kembali saja. Kami jatuh ke pilihan kembali karena nampaknya medannya cukup terjal untuk mendaki gua tersebut.

Pantai

Setelah puas dengan gua Lalay kami kembali ke penginapan, sholat Ashar, dan bergegas ke pantai. Untuk menuju pantai kami harus menyeberangi jembatan gantung, kemudian kami harus membayar retribusi lagi sebesar Rp 5.000 per orang. Biaya ini hanya dikenakan sekali. Jadi jika kami pergi lagi ke pantai keesokan harinya kami tidak perlu membayar kembali.

Tiket retribusi ke pantai di Sawarna

Pantai yang ada di daerah Sawarna memiliki pasir putih dan bersih. Saya menilai pantai ini juga lebih bersih dibandingkan pantai yang terakhir kali saya kunjungi, Santolo. Ombaknya sendiri cukup besar karena ini adalah garis pantai yang menghadap samudera. Sementara rekan-rekan saya bermain dan menyatu dengan gulungan ombak, saya bermain pasir. Pasir disini sangat menyenangkan untuk dimainkan. Teksturnya lembut dan menyatu dengan mudah dengan air. Sayang hanya sebentar kami disini sehingga saya kurang banyak bereksperimen untuk membentuk beragam patung.

Patung pertama. Kepala dan tangan. Agak menyeramkan ya?

Yang ini kaki, dikerjakan pas hari Sabtu. Sebenarnya bingung mau bikin apa, jadi saya putuskan saja membuat kaki.
Selain pasirnya, pemandangannya pun indah. Dilingkupi bukit, sawah, dan pantai, semuanya menyatu dengan indah.

Sunset di sini indah, sayang waktu itu ada awan

Sisi lain pemandangan matahari terbenam

Pohon yang tumbang, memberikan kesan eksotis

Ini bagian lain dari pantai, namanya ujung Layar. Mirip tanah lot ya?



Pulang

Hari Sabtunya kami sarapan dulu kemudian menyempatkan sekali lagi ke pantai dan kemudian langsung pulang jam 1 siangnya. Setelah singgah sebentar di Sukabumi untuk makan (rumah makan Panorama, ayam goreng dan nasi, Rp 35.000), kami kemudian singgah ke produsen Moci Kaswari Lampion. Letaknya di Jl. Bhayangkara G. Kaswari.

Moci Lampion adalah sebuah merek moci terkenal dari Sukabumi. Bagi anda yang selama ini hanya pernah makan moci berisi kacang tanah, anda akan terkejut dengan rasa di produsen moci yang satu ini. Di sana disediakan beragam rasa isian moci mulai dari strawberry, coklat, blueberry, keju, hingga yang paling saya suka, durian. Harga setiap kotaknya adalah Rp 30.000 dengan isi 15 moci. Memang mahal, tapi sebanding dengan rasanya yang amat sangat enak.

Setelah sholat maghrib di musholla Moci Lampion, kami pun pulang ke Bandung.

Kotak Moci Kaswari Lampion rasa durian.


Rekap Biaya


Jadi, berapa biaya perjalanan yang dikeluarkan? Saya hanya akan melakukan rekap biaya dari pribadi ya.

Patungan (sudah termasuk tiket masuk wisata), Rp 200.000
Ember (untuk main pasir), Rp 15.300
Sekop (untuk main pasir), Rp 15.000
Kuas (untuk main pasir), Rp 2.900
Semprotan air (untuk main pasir), Rp 13.500
Chitato ayam bumbu (bekal perjalanan), Rp 18.800
Aqua 1500 ml (bekal perjalanan), Rp 3.900
Antangin Permen Herbal Fresh (bekal perjalanan), Rp 1.000
Pop Mie (jajan), Rp 5.000
Nissin Wafer (jajan), Rp 13.000
Susu kotak ultramilk (jajan), Rp 7.000
Nasi + sayur labu+ telur dadar (makan siang), Rp 9.000
Nasi goreng (makan malam, subsidi Rp 5.000 dari uang patungan), Rp 5.000
Nasi + tempe oreg + telur balado (makan pagi), Rp 10.000
Nasi + Ayam goreng (makan sore di perjalanan pulang, subsidi Rp 10.000 dari uang patungan), Rp 25.000
Total: Rp 344.400

Woah! Ternyata banyak juga pengeluaran saya. Memang sih awalnya kesannya murah (hanya Rp 200.000), tapi ternyata banyak bocor di sana-sini.

Have fun bagi yang ingin melakukan perjalanan ke Sawarna! Selalu berhati-hati di jalan, dan ingat, jangan buang sampah sembarangan!


Happy traveling!

p.s: gehol kan bahasa gue yang keformal-formalan? Uwuwuwuwu

Sunday, May 11, 2014

Lecture Note: Apa itu P dan NP problem?



Sewaktu saya pertama kali mengikuti mata kuliah Analisis dan Desain Algoritma saya disuguhkan Big O Notation. Ini adalah notasi untuk menyatakan kompleksitas dari sebuah algoritma dalam memecahkan permasalahan. Ngomongin permasalahan, ada yang manya P dan NP problem. Saya kurang tahu mengenai problem ini, untung saja pak Lala Septem Riza menulis tentang ini di grup jurusan saya. Haha. Berikut tulisan yang beliau buat: 

[LECTURE NOTE] Apa itu P dan NP problem ? apakah P = NP atau P != NP ? pasti pernah mendengar itu kan ? Saya hanya menulis sedikit dari topik itu, tambahan/koreksi lebih diharapkan . Suatu algoritma bisa dimasukkan dalam P problem jika alg itu bisa menyelesaikan (SOLVE) problem secara efisien/polinomial. Sedangkan NP adalah algorithm yang hanya bisa melakukan verifikasi (VERIFY) permasalahan itu secara efisien. Saat ini masalah apakah P = NP atau P != NP masih jadi misteri yang tak terpecahkan di computer science. Jadi jika anda bisa memecahkannya dengan memberikan pembuktian secara matematika maka rekening bank anda pasti dipenuhi dengan jutaan dollar . Apa contoh P dan NP ? Misalkan gini, kalau anda diberi problem perkalian: 131 * 71 = ?, maka komputer anda/anda sendiri dengan kurang dari 1 detik, bisa menjawab 9301, bukan ? Karena complexity dari perkalian hanya O(n^2) (maksimal, krn bisa dibuat kurang dari itu). Itu artinya perkalian adalah P (polynomial) problem. Tapi sekarang kalau diberi soal seperti ini: x * y = 9301, maka algo yang anda buat butuh waktu komputasi yg panjang. Tentu saja untuk kasus ini, anda tahu jawabannya xixixi. Ini hanya kasus sederhana, karena bisa jadi jumlah digitnya bisa puluhan/ratusan dan butuh puluhan/ratusan tahun untuk tahu jawabannya. Inilah yg disebut permasalahan faktorisasi, dan ini digolongkan sebagai NP (nondeterministic polynomial) problem. Tapi sekalinya anda bisa menemukan solusi x dan y, anda gampang untuk memverifikasinya bukan .Permasalahan yang timbul adalah apakah P = NP atau P != NP ? jika anda bisa membuktikan bahwa P = NP itu artinya, apapun masalah yang sulit (tak bs dipecahkan scr efisien) bisa dibuatkan algorithm yang efisien (P). Kalau ini terjadi, maka seluruh bank di dunia ini akan TUTUP karena pembuktian anda . Anda akan dapat turing award (nobelnya di computer). Kenapa begitu ? karena semua bank mengandalkan enkripsi berdasarkan faktorisasi (rsa). Akan tetapi sebaliknya, walaupun secara intuitif P != NP, nyatanya untuk membuktikannya pun juga tidak gampang, bahkan sampai skrgpun belum ada yang bisa. Jadi mangga bagi yang tertarik dapat jutaan dollar .

Demikian tulisan beliau. Btw, di tulisan beliau tersebut ada x*y = 9301. Nah loh, jawabannya apa? Problem ini bisa dipecahkan dengan Linear Diophantine. Tentang Linear Diophantine bisa baca di blognya alijaya di http://alijayameilio.blogspot.com/2012/08/linear-diophantine.html, tutorial yang dia buat enak banget! :D 

UPDATE, linear diophantine kata ali nggak bisa buat perkalian, hehe (baca comment), tapi teteup, postingan dia enak buat dibaca :p

Lecture Note: No Free Lunch

Setelah lama berkecimpung di dunia digital, saya sering mendapati tulisan "Free as speech, not free as beer." Ya kurang lebih maksudnya tentang kebebasan berpendapat. Masih ada hubungannya dengan kata "Free", tulisan lecture note yang dibuat oleh Pak Lala Septem Riza kali ini membahas tentang "No Free Lunch".
Berikut tulisan lecture note yang ditulis di grup jurusan Ilmu Komputer UPI:

[LECTURE NOTE] "No free lunch" theorem. Atau berarti "tak ada makan siang yang gratis". Dulu di Amerika, pernah punya kebiasaan memberikan makanan (camilan) gratis jika kita pesan bir di siang hari. Tapi kemudian, kebiasaan ini dihapuskan karena alasan ekonomi, dll. Sehingga, dikatakan tak ada lagi makan siang yang gratis. Walaupun, sampai saat ini di Spanyol masih punya budaya makan siang (camilan) gratis, kalau kita pesan minum bir (atau teh kalau buat saya :D), yang biasa dinamakan "Tapas". Jadi kita bayarnya seharga teh, tapi kita disuguhi camilan, seperti ikan goreng, udang goreng, burger, dll. Trus, "No free lunch" juga bisa berarti bahwa tak ada traktir - traktiran di budaya barat (Eropa dan Amerika). Jadi, jangan berharap bakal ditraktir jika diajakin makan siang bareng. Bahkan untuk pesta syukuran teman yg baru aja defense S3 sekalipun, kita harus bayar sendiri - sendiri. Jadi curcol nihh ceritanya hehehe, tapi inilah salah satu indahnya Indonesia, yang orangnya suka saling traktir .Tapi apa hubungannya budaya "no free lunch" dengan computer science ? . Teorema "no free lunch" menyatakan bahwa "tak ada satupun algoritma yang bisa mendapatkan akurasi terbaik untuk segala masalah". Jadi, jika ada algoritma A yang hebat di masalah x, maka algorithma A itu bisa jadi memberi akurasi yang jelek untuk masalah y. Itulah yang disebut tak ada makanan siang gratis, karena algorithma itu pasti membayar (jelek akurasinya) untuk masalah yang lain. Bahkan, bisa dikatakan bahwa algoritma yang baru dikembangkan dan dirasa canggih itu sebenarnya tak lebih baik dari algoritma acak/random atau brute force yang sederhana sekalipun untuk segala masalah. Teorema ini berlaku untuk algoritma di bidang supervised machine learning (classification) dan pelacakan&optimasi.
Apa efek teorema ini bagi kita ? Kita terkadang (entah di tugas akhir, dll) ingin membandingkan suatu algoritma dengan algoritma lain pada suatu kasus tertentu. Maka dengan memahami teorema ini, kita jadi lebih hati - hati dalam memutuskan hipotesa kita. Misalkan, tak lagi berkata: algoritma kita lebih baik dari algoritma lain. Karena kalaupun algoritma kita lebih bagus, maka sebenarnya algoritma kita bagus untuk kasus itu saja, untuk kasus lain algoritma kita bisa jadi lebih jelek. Disamping itu, untuk membandingkan algoritma kita dengan yang lain diperlukan mekanisme penarikan kesimpulan tertentu (secara statistik), tak bisa hanya membandingkan dengan satu kasus saja. Akhir kata, kalaupun kita tak pernah membandingkan algoritma - algoritma di tugas akhir, minimal kita jadi tahu kalau diajakin makan siang ama orang bule, maka kita harus siapin duit sendiri :D(kecuali dibilangin bakal dibayar-RED).

Lecture Note: Induktif

Cara berpikir Induktif adalah berpikir mendapatkan kesimpulan dari serangkaian kejadian yang sudah ada. Kadang saya suka kebalik-balik antara induktif dan deduktif. Jadi supaya ingat induktif itu berpikir secara "in" (dari khusus ke general), dan deduktif berpikir secara "de" (dari general ke khusus). Haha.

Tulisan Lecture Note kali ini dibuat oleh Pak Lala Septem Riza. Tulisan ini sebenarnya adalah tulisan sebelum lecture note mengenai cara berpikir induktif. Berikut tulisan yang beliau buat di grup jurusan saya:

[LECTURE NOTE] Bagi yang sudah membaca LECTURE NOTE beberapa hari yang lalu, mungkin masih ingat tentang pertanyaan saya: "apakah anda seorang scientist atau engineer ?". Bagi yang belum bisa menjawab, ndak papa, karena sekarang kita akan bahas salah satu karakter dari scientists. Salah satu karakteristik dari scientists adalah mereka sangat getol ("keen on") pada metode inductivism (induktif). Apa itu induktif/generalisasi ? Arti gampangannya adalah generalisasi. Misalkan gini, anda dapat mangga dari pohon tetangga. Anda kupas dan makan, dan ternyata rasanya manis. Trus, tetangga yang kasih mangga itu bilang: "Buah mangga dari pohon ini memang selalu manis rasanya". Itulah generalisasi, karena anda dan tetangga tidak makan semua mangga di pohon itu, bukan ? Dan sepertinya tidak perlu, karena kalau anda lakukan, itu namanya panen dan perut anda bisa kembung karena mangga . Anda bisa menyimpulkan sesuatu secara generalisasi dengan hanya mengambil sample sebagian dari mangga itu. Contoh lain, bagi yang belum pernah lihat dan pergi ke Australia, pasti punya kesimpulan bahwa "angsa selalu berwarna putih". Karena setiap kali kita ketemu angsa, selalu berwarna putih. Padahal sebenarnya ada angsa berwarna hitam di Australia.
Ada langkah2x dan syarat2x dalam melakukan induktif, agar diperoleh kesimpulan yang kuat. Pada dasarnya ada 2 langkah, yaitu:
1. Lihat/observasi SATU data/fakta. Misalkan, angsanya pak Ali berwarna putih. Cuman ada 1 angsa yg kita lihat, yaitu miliknya pak Ali saja. Sehingga kita punya hipotesa, misal: "angsa selalu berwarna putih".
2. Kemudian, lakukan GENERALISASI. Syarat melakukan generalisasi adalah:
a. pengambilan sample untuk observasi harus banyak. Misal, kita kumpulkan banyak angsa yg lain.
b. sample harus mencerminkan berbagai kondisi. Misal, kita ambil angsa dari indonesia, Belanda, Australia, dll.
c. tidak boleh satupun dari observasi tersebut memiliki kesimpulan yang berbeda. Dan ternyata hipotesa kita salah yg menyatakan bahwa "angsa selalu berwarna putih", karena setelah observasi tyt angsa Australia berwarna hitam!.
Itulah proses dari induksi yang harus kita ikuti agar diperoleh kesimpulan dgn tingkat ke-valid-an yg kuat. Saya katakan kuat, karena kita sesungguhnya TIDAK dapat mengimpulkan KEBENARAN ABSOLUT dgn metode Induktif ini, yang ada hanya kuat, lemah, dan tak valid. Contoh yg menunjukkan kita tak bisa menyimpulkan secara absolut adalah hari ini ada matahari, kemarin juga ada, 100 th yg lalu juga ada, bisakah kita simpulkan secara absolut kalau besok masih ada matahari ??, tentu tidak bukan , "but we strongly believe that tomorrow we can still see the sun". Hopefully... xixixi.
Banyak contoh dari proses induksi di bidang science, misalkan teorema (e.g., teorema no free lunch, pada LECTURE NOTE yang lalu), hukum (e.g., hukum Newton), model, dll. Dan hampir setiap saat di kehidupan, kita berkubang dengan induktif/generalisasi. Misal, kita baca berita banyak anggota partai A yang korupsi, trus kita katakan: "Partai A adalah partai korup". Kita juga sering bilang "Eeh si A orangnya bager pisan euy", padahal kita tak amati tiap detiknya. "Dosen itu tuh selalu marah di kelas", "Wah pagi-pagi kok udah mendung, pasti bentar lagi mau hujan", dan lain sebagainya . Yang terpenting disini adalah jika kita melakukan generalisasi maka kita perlu sadar bahwa pernyataan/kesimpulan kita bukanlah kebenaran yang absolut.
Apakah Induktif adalah metode terbaik di science ? ternyata metode ini ada kelemahannya, salah satunya adalah data yang kita punya, harus bisa kita observasi/lihat/rasakan/hitung. Bagaimana dengan surga ? tak ada satupun orang di dunia ini yang pernah lihat surga, apakah trus kita katakan surga tidak ada ?? tentu tidak . Maka dari itu, kita butuh metode yang lain, semisal Deduktif, Paradigm, dan tentu saja kita perlu menambah iman . Adakah yang tahu apa kelemahan lain dari metode Induktif ini ?
Semoga artikel ini bisa sedikit memberi "rasa scientists" di diri kita dalam kehidupan sehari-hari.

Lecture Note: Apakah anda Scientist Atau Engineer?

Pak Lala Septem Riza kali ini membahas apakah anda adalah seorang scientist atau engineer. Hmm.. topik ini bagus sekali untuk ditanyakan di grup jurusan saya. Kenapa? Karena jurusan saya adalah Ilmu Komputer yang seharusnya berbasis keilmuan dan menelurkan scientist, tapi pada kenyataannya pekerjaan yang diambil kebanyakan adalah pekerja industri (e.g: programmer, admin, dsb). 

Lecture note yang beliau buat membuat saya berkontemplasi banyak. Hehe. Berikut note beliau:

[LECTURE NOTE] Siapakah Anda sebetulnya ??? Kalau kita ditanya begitu, apa jawab kita ? Apakah kita seorang ilmuwan (scientist) atau kah kita seorang insinyur (Engineer)? Kalau diliat dari kita yang sekolah di Ilmu Komputer atau Computer Science, mungkin saja kita seorang scientist/ilmuwan karena ada kata science -nya . Tapi memangnya apa itu computer science ? Apa bedanya dengan teknik komputer/computer engineering ? Benar- benar yakinkah kita kalau kita adalah seorang ilmuwan ? Apa buktinya kalau kita seorang ilmuwan bukan insinyur ?Coba kalau kita tanya ke pengemudi kereta api, Beliau dengan yakinnya akan menjawab: "Saya adalah seorang masinis". Begitu juga ada yang bilang: "saya adalah seorang pilot"; "saya adalah seorang tukang kayu", "saya adalah insinyur sipil", dst. Sekarang kita tanya pada diri sendiri: "siapakah anda ?" seorang ilmuwan kah atau seorang insinyur ? "Ahhh kok cari pusing sihh, emang gue pikirin, yang penting lulus lah". Kalau itu jawaban kita, maka kita tak ingin tahu siapa diri kita. Masak kita kalah dengan masinis, pilot, dan tukang kayu yang bisa menjawab dengan lantangnya.... hayoo, jawab pertanyaan ini "siapakah diri kita" ?  Dan sejatinya apa itu science, engineering, computer science, computer engineering, apa syarat untuk menjadi ilmuwan/scientist (orang yang belajar/bekerja di science), dan apa kriteria dikatakan sebagai insinyur/engineer (orang yang belajar/bekerja di engineering).
Mangga bagi yang ingin berpendapat....

Lecture Note: Turing

Alan Turing dikenal sebagai pemrakarsa komputer moderen. Sampai sekarang namanya dikenal oleh masyarakat luas. Err.. mungkin tidak terlalu luas, ya setidaknya kebanyakan penggiat teknologi tahu lah dengan beliau. Hehe.

Lecture note kali ini dibahas oleh pak Lala Septem Riza. Berikut lecture note dari beliau:

[LECTURE NOTE] Jika ditanya, "Siapakah Bapak dari Ilmu Komputer (Computer science)? Jawabannya adalah Alan Mathison Turing. Hidup sejaman dengan Albert Einsten, penemu E=MC^2, dan Von Neumann, designer architecture komputer, di tahun 1912 - 1954. Disaat meninggalnya, diketahui didalam tubuhnya mengandung racun sianida dengan sebuah apel yang sudah tergigit disamping tubuhnya. Mirip dongeng di cerita anak. Dan, walau Steve Jobs mengatakan hanya kebetulan saja mengambil simbol untuk produk "Apple" adalah sebuah apel tergigit, dia senang ketika ternyata simbolnya itu mirip cerita hidup Alan Turing. Sampai saat ini, masih jadi spekulasi mengapa ada racun didalam tubuhnya. Satu dugaan yaitu dia mengalami stress berat dan bunuh diri setelah dijatuhi hukuman oleh pemerintah Inggris (dan Gereja) dengan cara diasingkan dan harus meminum obat untuk menekan hawa nafsu homoseksualnya. Dugaan lainnya adalah karena diracun oleh orang lain.
Salah satu karya besar dalam hidup Turing adalah decipher kode enigma yang digunakan oleh German pada perang dunia ke 2. Dengan keahliannya, Inggris dan sekutu dapat menyadap dan menerjemahkan komunikasi Hitler dan tentaranya. Mungkin, secara tak langsung ini juga mempengaruhi kemerdekaan Indonesia seperti halnya bom Nuklir di Jepang. Selain itu, karya Turing yang fenomenal adalah paper tentang Turing test. Jika sempat melihat film keluaran 2014 "The Machine", disitu ada adegan untuk uji Turing. Satu orang dan satu komputer dimasukkan ke ruangan tertutup yg berbeda, kemudian penguji menanyakan pertanyaan sembarang/apapun. Misalkan ditanya, "Describe love in three words?", kamar A menjawab: "Home, hapiness, reproduction", sedang kamar B menjawab: "Hapiness, sadness, life". Setelah memberikan beberapa pertanyaan, jika penguji tak juga dapat membedakan mana manusia dan mana komputer, maka komputer telah lulus uji Turing. Tentu ini tak mudah membuat komputer seperti ini karena melibatkan banyak aspek, e.g., machine learning, artificial intelligence, data mining, computer vision, natural language processing, pattern recognition, dan voice recognition. Dan, sampai sekarangpun, belum ada satu mesin yang telah lulus uji Turing. So, Anda berniat menciptakannya ? 

Lecture Note: Nasib Pembelajaran TIK

Di grup jurusan saya muncul sebuah lecture note dari adik kelas, namanya Tommy Putra Pratama Gunawan. Lecture note yang dibuatya seperti ini:

[LECTURE NOTE]Ini adalah salah satu Opini berbentuk surat yang ditujukkan kepada menteri penedidikan kita mengenai nasib mata pelajaran TIK saat ini, oleh bapak Onno, yang kalau kita ingat pernah menjadi pemateri seminar nasional di Dinamik 9 kemarin. Silahkan dibaca 
http://opensource.telkomspeedy.com/wiki/index.php/2014/04/30_-_Surat_ke_MENDIKNAS_tentang_Mata_Pelajaran_TIK
Iya sih, mata pelajaran TIK dihapuskan oleh pemerintah. Saya juga kurang begitu mengerti apa rencana ke depan dari kementrian pendidikan sekarang. Ya... lucu aja, apalagi mata pelajaran ini bisa dianggap sebagai tujuan utama dari lulusan jurusan saya.

Seandainya saja di Indonesia juga ada mata pelajaran Computer Science ya.

Lecture Note: Holy War

Tulisan lecture note dari pak Lala Septem Riza kali ini mengenai Holy War. Saya baru tahu ada istilah ini yang mengacu ke debat penggunaan bahasa pemrograman. Ada-ada saja ya. Walaupun kelihatannya "ada-ada saja" tapi ada benarnya juga loh, soalnya di dunia industri orang-orang dituntut untuk mengetahui cara penggunaan bahasa pemrograman agar bisa mengimplementasikan keilmuannya.
Berikut kutipan tulisan beliau:

[LECTURE NOTE] Holy war! Ini bukan holy war (perang suci) pada abad 16 dan 17 antara tentara Muslim dan Kristen di daratan Eropa dan Asia. Tetapi, ini adalah perang suci yang terjadi diantara programming language di science . Kata "holy war" sering dipakai oleh scientists untuk melukiskan perdebatan sengit di antara mereka. Mungkin karena dua/lebih pihak yang beradu, sama - sama memberikan kontribusi bagi perkembangan ilmu dan pengetahuan walau bertentangan. Dan karena itu mungkin disebut "suci".
Di bidang programming language, kita bisa melakukan kategorisasi/taksonomi, misalkan: ada low dan high level. Dua pembagian ini, bisa mengakibatkan dua hal yang bersifat trade off, yaitu antara kecepatan computation time (run time) dan kecepatan programmer menuliskan program. C dan FORTRAN (kalau boleh dimasukkan-RED) adalah contoh bahasa yang tercepat dari sisi run time karena low level, tapi memakan waktu lama untuk membuat codenya. Butuh puluhan/ratusan Line of Code (LoC) untuk membuat grafik/plot sederhana. Tapi, bahasa JAVA, R, PYTHON, MATLAB, RUBY, VB, etc., lebih lambat dalam komputasi, tapi programmer lebih cepat dalam membuat code. Pembagian lain yang bisa kita buat, misalkan antara prosedural, object oriented (OOP), dan functional programming (FP). Kita sangat familiar dengan prosedural (e.g., PASCAL, dll) dan OOP (e.g., JAVA, C++, dll), sedangkan contoh dari FP adalah SCALA, LISP, HACKELL, etc. Mereka saling mengunggulkan diri mereka masing2x . FP mengganggap dirinya "pure", karena FP punya definisi yang jelas tentang sebuah fungsi. Secara matematis, fungsi akan memberikan nilai yang pasti dan sama ketika argumen yang dimasukkan ke dalam fungsi itu adalah sama. Dan definisi ini dipenuhi oleh FP, tapi tidak oleh OOP (e.g., JAVA). Dengan kata lain FP lebih "jujur" dari pada OOP (Jangan marah buat penggemar OOP, karena saya juga penggunanya :D). Disisi lain, konsep OOP sangat bagus karena memudahkan kita merepresentasikan code kita sedekat mungkin dengan dunia real. Dan masih banyak lagi pembagian yang bisa kita buat, seperti: batch vs interaktif, general vs specific purpose, dll.
Salah satu holy war yang berkecamuk saat ini adalah perang antara bahasa R dan PYTHON. Dua bahasa itu sangat sering dipakai di science, khususnya di data analysis . Data analysis adalah bidang baru yang mirip/beririsan dengan data mining, mmm sepertinya dua bidang ini pun mungkin bakal mendeklarasikan peperangannya, kita tunggu saja xixixi. Beberapa survey dan pendapat tentang R dan PYTHON, menunjukkan betapa sengitnya peperangan mereka. Kita bisa lihat dibeberapa website, misal:
http://r4stats.com/articles/popularity/http://www.kdnuggets.com/2013/06/kdnuggets-annual-software-poll-rapidminer-r-vie-for-first-place.htmlhttp://readwrite.com/2013/11/25/python-displacing-r-as-the-programming-language-for-data-science#awesm=~oCUp7LydXhqqhgBahkan, di level fakultas di sinipun, berdebatan antara dosen R dan dosen PYTHON sangat panas .
Alasan saya menulis ini, agar kita semua sadar akan adanya dinamika di bidang kita. Tak jadi soal anda ada di pasukan R, PYTHON, JAVA, C, atau apapun itu. Karena apapun pasukan anda, anda dituntut untuk tahu/belajar ttg bidang anda, bahkan kalau bisa, tahu tentang kelemahan musuh anda, bukan . Dan itu, bagus untuk karier kita kedepan (khususnya bagi mahasiswa).

Lecture Note: Deduktif

Lecture note kali ini dari pak Lala Septem Riza lagi. Beliau memang paling rajin membuat tulisan ini sih di grup. Salut deh! Tulisan beliau kali ini mengenai cara berpikir secara deduktif. Cara berpikir seperti ini diperlukan oleh seorang ilmuwan. Ciye.

Oh ya, kutipan dari grup yang saya muat ulang di blog ini mungkin tidak berurut karena saya mengambilnya secara langsung tanpa memperhatikan keterurutan tanggal :).

Baiklah, mari langsung kita simak tulisan beliau ya!

[LECTURE NOTE] Kali kita akan mendiskusikan pasangan dari induktif, yaitu deduktif. Jika hipotesa induktif di bangun dari proses generalisasi atau bottom up, maka deduktif adalah top down. Pada tema induktif di LECTURE NOTE sebelumnya, kita punya contoh tentang mangga dan angsa. Sekarang, kita coba rasakan bedanya dengan contoh deduktif berikut ini. Ketika, saya jalan-jalan di suatu tempat yang tak saya kenal, tiba - tiba saya lihat ada pohon mangga yang berbuah lebat, saya katakan pada pemiliknya (dimana saya juga tak kenal beliau): "Pak, saya yakin deh mangga di pohon ini pasti manis rasanya". Saat itu juga, saya punya hipotesa deduktif bahwa mangga di pohon tersebut manis, karena saya belum pernah mencicipi satupun dari mangga itu. Pertanyaannya kemudian, bagaimana kita tahu kalau hipotesa kita benar ttg mangga tersebut ? Jawabannya adalah selama anda belum bisa menemukan mangga yang tak manis rasanya, maka hipotesa anda diterima sebagai kebenaran. Itulah deduktif. Deduktif mengharuskan kita memiliki hipotesa lebih dahulu. Kita uji hipotesa itu, dengan cara "mempertanyakannya" dan mencari "kesalahan" dari hipotesa itu. Satu saja kita temukan contoh data yang membuat hipotesa kita tak valid, maka hipotesa kita jadi gugur. Sebaliknya, selama kita belum bisa menemukan kesalahannya maka hipotesa tersebut kita terima. Jadi, sudah terasa perbedaannya dengan induktif, bukan?
Pertanyaan berikutnya: apakah kita bisa buat sembarang hipotesa ? Tentu tidak! Hipotesa yang kita buat HARUS hipotesa yang bisa bernilai SALAH. Contoh hipotesa yang tak bisa memiliki nilai salah adalah "Sebab bumi bulat adalah karena bumi mencintai bulan yang juga berbentuk bulat". Secara objektif, kita sulit membuktikan benar atau salah hipotesa ini, maka hipotesa seperti ini tak bisa kita gunakan sebagai hipotesa di deduktif.
Dari sisi matematika, ada mekanisme sehingga deduktif bisa memiliki kebenaran ABSOLUT, tapi kita tidak membahasnya disini. Sedangkan tinjauan science yang umum, kebenaran deduktif masih relatif. Kenapa relatif ? karena tergantung dari temuan kesalahan, jadi bisa saja sekarang masih valid, tapi setahun kemudian ditemukan data/fakta yang menggagalkan hipotesa. Dan inilah salah satu kelemahan deduktif, "kebenaran yang tak bisa dipastikan".
Bagian terakhir ini, saya ingin mengajak berdiskusi, kira - kira pernahkah kita melakukan induktif dan deduktif di Ilmu Komputer ? Bagi mahasiswa pendidikan yg sedang/sudah tugas akhir, mungkin tak lagi asing, tapi bagi mahasiswa lain, mungkin tak menyadarinya. Jika anda suka mata kuliah data mining, anda pasti ingat betul tentang metode clustering (misal, c means, fuzzy, dll). Ketika kita mengenerate pusat kluster dari ribuan baris data, saat itulah kita melakukan induktif. Hipotesa yang kita bangun adalah pusat kluster tersebut. Kemudian, ketika kita punya data uji (data baru), trus kita ingin mengetahui data tersebut ada di kluster mana, maka pada saat itulah kita melakukan deduktif. Begitu juga, bagi penggemar artificial neural network, pada saat learning process kita sebenarnya mencari hipotesa (dalam hal ini berupa fungsi) dengan cara mencari bobot (w) yang tepat. Sedangkan deduktif, ketika kita melakukan testing atas bobot tersebut dengan testing data. Dan masih banyak contoh lain yang menunjukkan bahwa induktif dan deduktif biasa kita gunakan. Kalau begitu, sedikit kejawab bukan bahwa disadari atau tidak, anda adalah seorang scientist. Semoga ini bisa jadi berita yang menggembirakan, horeee kita adalah scientist, coolll... hehehe 

Lecture Note: Pemrograman

Sekilas lecture note
Saya beruntung masuk di sebuah grup Facebook jurusan yang isinya bagus-bagus. Di dalam grup ini seringkali ada post yang menggunakan kode [LECTURE NOTE] di awal tulisannya. Berhubung grup ini tertutup dan lecture note yang disampaikan bagus-bagus, saya rasa ada baiknya jika disimpan, hehe

Lecture note ini dibuat oleh pak Lala Septem Riza. Di postingan mengenai Lecture Note beliau menghimbau untuk membuat tulisan pendek yang bermuatan keilmuan. Idenya bagus ya? Jadi nggak bosan dan ngegeje kalau buka Facebook.

Lecture note kali ini disampaikan oleh pak Lala sendiri mengenai pemrograman. Berikut isinya

[LECTURE NOTE] Dalam belajar, satu keahlian yang mesti kita punya agar dapat hasil yang maksimal adalah kemampuan memisahkan mana yang penting dengan yang tidak penting. kalau diterjemahkan dalam satu kata adalah "simplicity" (penyerdehanaan). Karena dari diskusi para dosen, matkul algorithma dan pemrograman adalah mata kuliah favorit mahasiswa (terutama di tahun awal) maka kali ini saya mencoba membuat penyerdehanaan dalam belajar algoritma dan pemrograman. Semoga saja bener-bener sederhana sehingga terlihat jelas mana yang penting. Bagi teman-teman yang punya ide lain mangga ditambah dgn tujuan membuat semakin sederhana yaa .
Ada dua hal yang penting di bahasa pemrograman, selain dari dua ini adalah "tak penting", yaitu:
1. PENYIMPANAN DATA (i.e., data type/data structure): dikala kita membuat program, kita harus menyimpan data kita khan. Maka pertanyaan pertama adalah pake apa kita simpan data kita ? Inilah yang harus kita pelajari. Misal,
- Java: int, double, String, Array, List, Set, object, dll.
- Python/R/MATLAB/OCTAVE: list/vector, matrix, dll.
2. PROCEDURE: Di bagian ini kita harus belajar IDE DASAR dari prosedur, fungsi, kondisi (if), pengulangan (for), dan langkah - langkah (algoritma). Ini memang agak tricky tapi sekalinya kita paham maka kita bisa menggunakannya untuk semua bahasa pemrograman yang ada. Agar kita paham dengan bagian ini, kita perlu menjawab 3 pertanyaan berikut: apa data masukan kita (input) ? apa yang mau kita lakukan dengan data masukan ini (proses) ? trus apa yang mau dikeluarin (output) ?
Percayalah, dua point itu saja yang penting. Lhoo trus apa kita tak perlu belajar sintax ? saya katakan kita perlu tahu sintax, tapi SINTAX ITU GAK PENTING, jadi ndak usah dipusingkan . Analoginya gini: Walau anda punya kamus bhs Spanyol, Inggris, dan Perancis tapi jika anda tak punya sesuatu yang mau diucapkan, kira - kira anda bakal berbicara tidak ? . Tapi, jika anda punya sesuatu yang mau diucapkan, anda tinggal buka kamus dan kemudian baca/bicara. Kalau grammarnya salah, kan paling compiler error, malah kita bakal ditunjukin di baris mana salahnya, bukan . Sintax bisa berbeda-beda, sehingga jika kita ingin menguasai beberapa bahasa pemrograman, maka kita harus tak perlu lagi merisaukan tentang sintax.
Contoh: Kita diberi suatu deret bilangan, dan kita diminta untuk mengurutkan.
Sang Otak bekerja: mmm bilangan ini mau disimpan dimana ya ? Ok deh, saya pilih vector saja. Habis itu,bagaimana saya mengurutkannya ya ? Mengurutkan kan artinya ambil 2 bilangan lalu bandingkan (if). Bagian kiri kasih yang kecil, sedangkan yang besar taruh dikanannya. Karena saya mau urutkan semuanya, yaa saya perlu bandingin semuanya, kalau gitu saya ulangi saja semuanya (for). Done!!!
Terlihat bukan pertanyaan dan jawaban dari point pertama dan kedua diatas. Trus bagaimana cara naruh ke vector, cara ambil bilangan ke vector, bagaimana cara nulis if dan for ? ahh gitu aja kok repot, baca halaman tentang vector, if, dan for.... selesai kekeke .
Paragraph akhir ini, saya ingin katakan bahwa (i) jangan terlalu risau dengan algoritma yang efektif/optimal, karena itu hanya bisa dicapai SETELAH anda menulis algoritma yang jorok, lemot, bahkan bodoh, tapi memberi nilai yang sesuai. (ii) pikirkan untuk memberi comment di tiap barisnya, bukan agar orang lain mengerti, tapi agar anda yakin dengan yg anda tulis . Selamat belajar yaa.

Friday, May 9, 2014

Apa yang saya lakukan ketika saya bosan?

Tadi siang saya bertemu teman saya di mesjid Al-Furqon, mesjid yang terletak di Universitas Pendidikan Indonesia. Mesjidnya ada wifi nya loh. Ini kok jadi ngomongin mesjid? Anyway, nama teman saya ini Arifin, sering dipanggil Ipin. Saat saya sedang melenggang menuju kehampaan seketika Ipin memanggil dengan lirihnya, "Giri..."Al-Furqon bergeming, dunia temaram.

CUKUPLAH KELEBAIAN INI!

Dan kami pun beranjak di percakapan ringan. Beberapa percakapan kemudian Ipin menanyakan ke saya "Kalau kamu bosan, kamu ngapain?"

Kalau dipikir-pikir, selama ini saya kalau bosan ngapain ya? Coba saya list disini ya

  1. Main game. Game yang saya mainin sih "Osu!" Tahu "Osu!"?  "Osu!" adalah permainan komputer yang bergenre rhythm game. Kok mainannya itu? Soalnya cuma itu game yang ada di komputer saya. Kok gitu? Soalnya gamenya gratis dan rame.
  2. Buka Facebook. Wandering around and find something interesting. Tiap hari sih melakukan ini. Apa artinya tiap hari bosen ya?
  3. Menggambar. Apapun lah, terus di share di Facebook. Balik lagi ke Facebook. Halah.
  4. Latihan Biola. Melupakan suara dunia yang bising dengan bermain musik. Mungkin bisa disamakan dengan makan narkoba? Tapi saya tidak pernah makan narkoba. Pernahnya makan bubur. Jadi mungkin bisa disamakan dengan makan bubur. Yang pakai suwir-suwir ayam. Hmm.. apalagi kalau pedes.
  5. Bikin game. Anjir. Haha. Soalnya kalau bikin game bisa belajar dengan menyenangkan. Bahkan, saya belajar pemrograman pertama kali gara-gara bikin game.
  6. Nonton tv. Biasanya nih ya jam 18:30 di Net TV itu ada "Tetangga Kok Gitu?", terus dilanjutkan "Sosmed" di Kompas TV, dilanjutkan lagi "Ini TalkShow" di Net TV, kemudian maraton film deh di Global TV.
  7. Jalan-jalan. Jalan nggak jelas aja, pokoknya jalan-jalan.
  8. Jajan. Jajannya juga nggak jelas. Jajan aja.
  9. Ngerjakan skripsi. Ini kok ditaruh di paling akhir sih.
Demikian. Wassalam.