C++,
Tutorial Pemrograman 1 : Metode Komputasi? Programming? Coding?
“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: