C++,

Tutorial Pemrograman 1 : Metode Komputasi? Programming? Coding?

8:34:00 PM Leo Cahya D 0 Comments


Disclaimer: banyak istilah, arti, dan hal-hal lain yang saya rubah arti atau pengertiannya sehingga kadang tidak seperti arti sebenarnya. Tujuan saya melakukan itu untuk memudahkan pembaca dalam memahami isi dari post-post seperti ini. ”

Hello Digital World,
Treteteteeeeet! hore posting pertama.. Bismillah..

Oke, jadi sekitar dua tahun lalu saya sempat terkaget-kaget sampai sembelit saya tersembuhkan dengan adanya suatu mata kuliah bernama metode komputasi (rodo alay sih, janjane biasa wae). Pas itu  asistennya (yang sekarang profesinya sudah berubah menjadi seismologist kuota killer movie downloader) mengajarkan metode komputasi dengan menggunakan bahasa C++. Saya sempet bingung juga kenapa perlu belajar itu, kenapa perlu belajar membuat program, karena yang saya tahu waktu itu geofisika = ngeklik-ngeklik software entuk minyak nek ora emas dll.

“Kalau anda membuat peta konturnya seperti itu, mending mulai besok kita semua kalau membuat data kontur-nya manual saja” – Dosen Fisika Gunung Api, Mekanika, Fisika Dasar.

Kalimat di atas diucapkan dosen saya saat salah satu mahasiswa menanyakan kenapa hasil dari kontur ada value yang berbentuk seperti anomali. Lalu sang presenter pun menjawab itu bukan tapi efek gridding kriging softwarenya entah error atau bagaimana, padahal sebenarnya gridding menggunakan kriging memerlukan data yang terdistribusi normal. Oke disini lah kenapa menurut saya kenapa kita diberikan matakuliah metode komputasi, MAG, dan MAG 2 dengan pelajaran programming, minimal kita bisa mengerti cara kerja software, bagaimana kita tahu kesalahan software jika terjadi malfunction, dan memahami penggunaan software-software geofisika yang beberapa ada yang tidak user-friendly ataupun ada GUI-nya. Maksimal ya syukur-syukur bisa membuat software, simulasi numerik atau program untuk menunjang kuliah atau kerja kita besok.


gambar (kiri) software buatan mas Ali. (kanan) simulasi seismik & hasil data sintetiknya


Well, kalau begitu kita langsung ke pokok bahasan.
A: Apa itu metode komputasi?
B: Ya, menyelesaikan problem menggunakan komputer. Misal kita mau invers suatu matriks.
A: Kenapa menggunakan komputer? Aku pinter Aljabar Linier kok, hitung manual ajah.
B: Kemaki tenan kowe cah.. Ya sudah tolong inverse matriks 5000x5000..
A: 
Aint nobody got time for that!

So, Intinya metode komputasi itu sebenarnya memperbudak komputer untuk menyelesaikan problem kita (yang males kita kerjakan secara manual, hehe :p). Tapi sayangnya memerintah komputer itu tidak segampang memerintah pokemon. Saat kita membuat program atau mau ngerun list program dari suatu software kita  harus membuat perintah dengan aturan yang berbeda-beda satu dengan yang lain.

Kalau Matlab itu pokemon, tentu lebih parah dari Magikarp


Selain membuat perintah, beberapa hal seperti programming menggunakan bahasa C++ atau Fortran dll menggunakan compiler untuk mengubah perintah itu ke dalam bentuk programnya yang dapat dijalankan. Anggap saja begini, untuk bahasa pemrograman, misal C++ dengan software DevCPP (atau editor+compiler lain),  kita pertama mengetik perintah di editor, lalu saat kita pencet F9 atau “compile” itu kita menggunakan compiler menerjemahkannya ke bahasanya si komputer sehingga hasilnya sebuah program yang biasanya berekstensi “.exe”.



A : OO… Katanya tiap bahasa pemrograman tadi aturannya beda-beda, jadi perlu belajar satu-satu dari awal dong kalau perlu belajar? Susyah cetar membahana :((
B: Well, memang aturannya beda, tapi yang terpenting itu bagaimana kamu paham alur dari cara program itu dijalankan :) kalau paham, InsyaAllah cepat kok untuk mempelajari bahasa lainnya :) Yah seperti kita main Call Of Duty di X360 , PS3, Wii ataupun PC kalau tau cara mainnya dan suka, tetep aja kan kita enjoy migrasinya :)
A: Supaya paham bagaimana ya?
B: Di post selanjutnya akan saya jelaskan, dengan contoh menggunakan C++, bagaimana cara memahami alur dari kerja komputer saat menjalankan program kita. Jadi siapkan editor+compiler seperti Devcpp atau codeblock ya!

See you,
L

0 comments: