Gambar diambil dari http://users.ices.utexas.edu/~noemi/teaching.html
Kuliah metode komputasi ini akan memberikan dasar-dasar kemampuan untuk membuat program (coding/scripting), untuk mahasiswa Geofisika pada tahun pertama, sebagai bekal yang nanti akan dipakai pada saat mulai menggunakan aplikasi-aplikasi untuk pengolahan data geofisika atau untuk pemodelan. Sering saya gambarkan bahwa komputasi saat ini merupakan 1/3 dari kemampuan yang harus dimiliki oleh geophysicists handal. Sepertiga yang lainnya adalah pemahaman atas kosep-konsep fisika, dan sepertiga terakhir adalah pengetahuan geologi. Memang tidak harus semua dikuasai, tergantung dari minat, bakat dan passion masing-masing mahasiswa, tapi kalau boleh saya memberikan motivasi, bahwa menyenangi komputasi di jaman sekarang sangat membantu kita untuk memperkuat portofolio kita sehingga semakin banyak bidang yang dapat memanfaatkan kemampuan komputasi kita ini. Ada alumni geofisika yang bekerja di perusahaan farmasi Amerika, karena kemampuan komputasi ini (Dulu menjadi asisten Praktikum Metkom ini he he he).
Menjadi programmer, Anda akan belajar bagaimana dalam satu waktu menjadi scientist, engineer dan mathematicians. Sebagai programmer kita dituntut untuk dapat mengungkapkan masalah dalam simbol-simbol (matematik), melakukan desain dengan menyusun unsur-unsur program menjadi sebuah sistem seperti engineer, dan menguji dengan hipotesis dan ekperimen seperti ilmuwan.
Meniru cara Google merekrut pegawainya, sebuah Bank Daerah di Jawa Tengah suatu ketika menbuat iklan rekruitmen pegawai dengan cara unik seperti pada gambar di bawah ini. Tidak seperti umumnya iklan lowongan pekerjaan yang memberi judul "Lowongan Pekerjaan", cara yang dilakukan ini merupakan cara cerdas merekrut programmer tanpa banyak prosedur. "Lu bisa baca program ini, you may get the job!" Begitu kira-kira pesan yang ingin diberikan dari iklan warna biru di koran KR Jogya tersebut. Saya pastikan jika Anda fokus, semangat mengikuti kuliah ini, pekerjaan sebagi programmer di Bank Daerah tersebut dapat menjadi alternatif yang menarik.
Minggu ini kita akan belajar materi tentang:
Ada yang pernah mengatakan bahwa permasalahan di geofisika adalah problem inversi
Gambar diambil dari kuliah inversi Marescot, 2010 http://www.tomoquest.com/attachments/File/Marescot_Intro_to_Inversion_UNIFR_19042010.pdf
Perhatikan ilustrasi diatas. Tugas seorang geofisikawan diantaranya adalah menentukan besarnya parameter fisika (dalam hal ini resistivitas) dari batuan menurut kedalamannya. Nah proses untuk mendapatkannya memerlukan sebuah perhitungan dengan komputer, yang dikenal dengan istilah inversi, yaitu mendapatkan model fisika, dari data pengukuran di lapangan. Jelas untuk dapat mengerjakan tugas ini, kemampuan komputasi menjadi sangat penting kedudukannya, iya, khan?
Atau misalnya ketika kita tiba-tiba diminta untuk membantu industri atau lembaga Pemerintah, untuk mencari letak pusat gempa mikro atau karakterisasi sinyal mikrotremor, maka mau tidak mau kemampuan komputasi, khususnya pengolahan sinyal harus kita miliki.
O, iya untuk menambah motivasi, saya coba tunjukkan betapa berharganya kemampuan komputasi ini. Dalam hal Python saja, lebih dari 50 pekerjaan ditawarkan setiap harinya bagi siapa saja yang memiliki kemampuan pemrograman ini. Tentunya dengan standar gaji insinyur di luar negeri untuk fresh grad sekitar ~50 - 100 jt sebulan. Dengan menekuni programming, batas-batas geografis menjadi tidak ada lagi, bahkan kita bisa mengerjakan project dengan kantor yang berbasis di Korea Selatan hanya dari ruang tidur kita. Menarik, bukan?
Dalam kuliah ini akan diajarkan 2 macam bahasa pemrograman, yaitu Python dan Matlab. Keduanya termasuk jenis "bahasa pemrograman tingkat tinggi" yang populer. Ya saya istilahkan kalau slogan driver "Real man use three pedals" for Python users vs "rich man use two pedals" for Matlab wkwkkw guyon... Ha ha ha iya karena yang satu gratis, yang satunya bayar. Tapi sekarang karena gempuran Python ini, harga Matlab menjadi "jatuh". Untuk mahasiswa, bisa hanya seharga 2 Wagyu Steak di Waroeng Steak & Shake! Contoh yang lain dari bahasa pemrograman jenis ini adalah C, C++, Perl dan Java. Selain itu ada jenis bahasa pemrograman tingkat rendah (low-level languages), atau disebut juga dengan bahasa mesin, diantaranya Assembler. Sejatinya, komputer hanya bisa diperintah menggunakan bahasa tingkat rendah. Jadi, program dalam bahasa tingkat tinggi, harus diterjemahkan terlebih dahulu menjadi bahasa tingkat rendah, baru kemudian disampaikan kepada komputer.
Dahulu, saat kecepatan komputer masih sangat rendah, dibandingkan dengan saat ini, bahasa Assembler disukai karena dengan cepat dapat dieksekusi oleh komputer. Bahasa tingkat tinggi saat itu seperti BASIC atau FORTRAN memerlukan waktu yang lebih lama untuk sampai pada hasil komputasinya. Namun saat ini, ketika kecepatan komputer berjuta lipat dari jaman dahulu, tidak lagi signifikan waktu yang diperlukan untuk menerjemahkan dari bahasa tingkat tinggi ke tingkat rendah. Justru dengan bahasa tingkat tinggi ini, orang lebih mudah dalam memprogram.
Apakah Python itu? Yang pertama terlintas bagi yang belum mengenal bahasa ini biasanya adalah Ular! Iya ular Python. Saya sendiri belum lama baru ngeh bahwa Python itu nama grup lawak di Inggris, Monthy Python. Iya kalau di Indonesia jaman saya dulu terkenal Warkop DKI. O, iya di Indonesia sejak jaman saya kecil dulu ada monolog lawak yang legendaris, Basiyo, kemudian muncul grup-grup lawak, seperti Jayakarta Grup, Warkop DKI dan dulu saya suka sekali mendengarkan banyolan-banyolan mereka melalui kaset recorder. Berikut daftar grup lawak legendaris di Indonesia.
Saya menduga pembuat bahasa Python ini, yaitu Pak Guido van Rossum suka humor, jadi sering mendengarkan banyolan grup lawak Inggris ini. Padahal dia orang Belanda lho.. Bahasa ini dirilis pertama kali tahun 1991. Setelah membesarkan Python selama lebih dari 30 tahun, akhirnya Pak Guido mundur pada tahun 2018.
Saat ini, mungkin Python merupakan bahasa pemrograman yang paling berpengaruh, dan digunakan oleh banyak industri untuk pengembangan softwarenya. Kalau mau tahu lebih banyak mengenai siapa saja pemakai Python, silahkan ikuti tautan ini.
Instalasi Python sangat mudah. Tinggal klik klik next next yes yes .. selesai. Tergantung dari sistem operasinya apa, apakah Windows, Linux atau MacOS. Untuk mendapatkan program Python, silahkan masuk ke website Python.
Setelah mengunduh file installasi, selanjutnya proses installasi seperti biasanya sampai finished. Selanjutnya mungkin lingkungan sistem pemrograman bisa disetel agar mengenali jalur ke program pythonnya. Lihat Setting Environmental variable di sistem Windows.
Di MacOs juga mudah, tinggal dipilih file installasi yang sesuai .pkg kemudian secara otomatis sistem akan menginstall dalam aplikasi. Sesuaikan path dalam .bashrc untuk setting environmental systemnya.
Di linux sudah native secara otomatis Python biasanya sudah terinstal dengan rapi di sistem. Jadi nothing to do!
Beberapa tampilan interface Python
Bisa juga menginstall Jupyter notebook sehingga kompatibel dengan materi yang kami siapkan untuk meteri kuliah ini.