Sunday, May 11, 2014

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.

No comments:

Post a Comment

Comment is caring :)