Mengapa [ Harus ] Belajar FORTRAN ? images-computerscience-main1Genap dua kali sudah, saya sedikit berkecimpung dalam membantu mata kuliah Bahasa Pemrograman di Teknik Sipil UGM. Dua periode itu, membuat saya sedikit banyak mengetahui permasalahan yang kerap dihadapi mahasiswa baru di semester I, yang begitu beberapa bulan masuk kuliah langsung dijejali dengan logika-logika pemrograman. Bagi mahasiswa yang telah mendapatkan pelajaran TIK (Teknologi Informasi dan Komunikasi) semasa SMA, hampir dipastikan akan segera menyerap logika-logika tersebut dengan lancar. Termasuk saya yang ketika SMA, sekolah kami mempekerjakan mahasiswamahasiswa Teknik Elektro Universitas Brawijaya sebagai pengajar di pelajaran TIK. Sedikit nostalgia, waktu itu ada 5 sekawan : Pak Ryan, Pak Bison, Pak Galih, Pak Fariz, dan juga Pak Aswin. Sengaja saya panggil Pak, karena saya menghormati mereka, walau keseharian kami biasa memanggil beliau-beliau dengan sebutan Mas saja. Karena yang mengajar mahasiswa, kami langsung saja diberi berbagai materi seputar jaringan, hardware (ketika SMP bahkan ada ujian merakit PC), dan tentu saja pemrograman berbasis C++. Bahkan, waktu itu kurikulum TIK kami disebutsebut adalah yang paling maju di kota Malang. Dengan dasar seperti itulah, tidak sulit bagi saya untuk memahami 2 SKS mata kuliah Bahasa Pemrograman di Teknik Sipil UGM. Sementara bagi mereka yang kurang beruntung, dan tidak mendapatkan dasardasar materi Pemrograman semasa SMA (termasuk yang mengherankan adalah terkadang dari SMA-SMA favorit di Jogja), harus berjuang sedikit lebih keras untuk bisa memahami logika-logika percabangan, perulangan (looping), algoritma, flowchart, dan tetek bengek pemrograman lainnya. Bagi mereka yang kritis, biasanya ada dua pertanyaan seputar mata kuliah Bahasa Pemrograman yang kerap ditanyakan : Mengapa di jurusan seperti Teknik Sipil harus belajar Bahasa Pemrograman ? Mengapa harus mempelajari bahasa FORTRAN ? Untuk pertanyaan yang pertama, biasanya akan segera terjawab dengan sendirinya jika telah memasuki perkuliahan di semester-semester 4 dan 5. Terutama ketika berhadapan dengan kasus-kasus Hidrolika, peninggian muka air yang harus diselesaikan dengan selembar penuh hitungan iterasi, penyelesaian debit perpipaan dengan sistem looping, perancangan dimensi saluran drainase perkotaan dengan software DUFLOW, dan juga yang paling legendaris dalam hal struktur, penyelesaian dengan Finite Element Method dan juga penyelesaian dengan Metode Matriks. Ruwetnya hitungan-hitungan tersebut akan dapat diselesaikan dengan program sederhana, yang dapat dibuat di kalkulator programmable sekalipun. Belum jika kita menemukan kasus-kasus lokal dalam proyek, yang memaksa kita untuk membuang software yang telah ada, dan membuat sendiri software yang sesuai dengan kasus tersebut. Sementara untuk pertanyaan yang kedua, mengapa harus FORTRAN ? Perlu diketahui, biasanya dalam tengah semester awal, mata kuliah Bahasa Pemrograman murni mengajarkan program FORTRAN. Sebuah bahasa yang boleh dibilang kuno, yang dibuat di periode 1960-an saat awal munculnya komputer IBM. Jenis FORTRAN yang digunakan adalah WATFOR77, versi FORTRAN yang sesuai dengan namanya, dirilis pada tahun 1977. Lebih dari 30 tahun lalu. Bahasa FORTRAN, ketika pertama kali mempelajarinya, terlihat sebagai bahasa yang lebih dulu diciptakan daripada C++, Pascal, dan bahasa pemrograman lainnya. Hal ini terasa dari beberapa poin : Tidak adanya operator “>” (lebih dari), “<” (kurang dari) dan “=” (sama dengan) pada perintah IF. Sebagai gantinya, digunakan LT (Less Than “<“), GT (Bigger Than “>”), dan EQ (Equal “=”) Sangat Case Sensitive, terutama ketika kita menyimpan file, harus dengan huruf kapital, jika tidak, jangan harap bisa dibaca oleh Compiler. Aturan penggunaan column yang ketat. Semua penulisan isi program harus diawali pada kolom ke 7. Setahu saya, ini berguna bagi penyimpanan data untuk Punch Card (“Kartu Plong”) yang menjadi cikal bakal disket pipih nan lebar, sebagai media penyimpanan pada jaman doeloe. Pangkat ditulis dalam ** dan bukan ^ dan kekunoan-kekunoan lainnya Semua kekunoan di atas membuat banyak mahasiswa berpikir : Mengapa harus FORTRAN ? Iseng-iseng, hal ini saya tanyakan kepada Pak Wir, sebutan akrab Dr. Ir. Wiryanto Dewobroto, dosen teknik sipil Universitas Pelita Harapan, dan juga alumni Teknik Sipil UGM. Beliau mengasuh sebuah blog yang amat ramai di http://wiryanto.wordpress.com Saya mengajukan pertanyaan sebagai berikut : Pak Wir, iseng saya ingin bertanya, mengapa di kurikulum teknik sipil kami (UGM), diharuskan mempelajari bahasa FORTRAN? Bukankah beralih ke C++ atau Java akan lebih baik mengingat sebagian besar program dasarnya adalah dua bahasa itu? Sampai sekarang saya masih belum bisa menemukankelebihan FORTRAN dibanding C++ Terima kasih ^^ Keesokan harinya, ternyata pertanyaan saya langsung dijawab : @yhouga Lihat penjelasan atau pernyataan dari sdr Jedliem di atas. Saya kira saya sependapat dengannya. Karena bagi mahasiswa teknik sipil, penguasaan bahasa pemrograman hanya untuk melatih logika. Jadi gunakan saja bahasa pemrograman yang paling dikuasai dosennya. Kami di UPH tidak memakai Fortran tetapi memakai Visual Basic, alasan utamanya karena saya sebagai dosennya menikmati memakai bahasa program tersebut. Nggak usah mikir lagi. Kalau ternyata nanti saya juga menguasai bahasa lain, misalnya C++ atau Java, maka ada kemungkinan saya pakai juga untuk mengajar. Pokoknya nggak ada yang kaku dengan bahasa program tersebut. O ya, selain pemikiran tersebut ada baiknya suatu saat nanti dikaitkan dengan lisensi. Apakah kita sudah memakai program berlisensi. Jadi ada kemungkinan pakai yang versi “open”. Sebuah pemikiran yang bagus. Jadi, alih-alih harus belajar dua kali jika ingin mempelajari Visual Basic (dengan graphical user interface yang sangat friendly), mengapa tidak langsung saja diajarkan Visual Basic agar mahasiswa dapat membuat program yang lebih kreatif, dengan tampilan yang menarik pula? Namun, jika memang ingin melatih logika semata, boleh lah dengan FORTRAN. Hanya, meminjam bahasa ibu, itu hal yang mindhogaweni menurut saya, membuat pekerjaan menjadi dobel. Namun, pemikiran untuk menggunakan bahasa yang “open” juga perlu dipertimbangkan. Bukankah saat ini dicanangkan program UGOS (UGM Goes Open Source) ? Semoga bermanfaat! Update : Iseng-iseng lagi, hal yang sama saya tanyakan kepada dosen matakuliah Bahasa Pemrograman S1 Teknik Sipil UGM, Ir. Adam Pamudji Rahardjo, MSc, PhD, dan ada beberapa poin yang beliau sampaikan, tentang mengapa kita masih mempelajari bahasa FORTRAN ? Salah satunya adalah berbagai inovasi, utamanya dalam kasus hitungan masalah-masalah seputar keteknisipilan, telah didokumentasikan dengan apik dalam bentuk bahasa FORTRAN. Oleh karena itu, seseorang yang ingin menggunakannya untuk berbagai keperluan, entah untuk dikembangkan lagi atau sekedar menggunakannya saja, mau tidak mau harus mengerti alur bahasa FORTRAN. Ini dilakukan demi mencegah terjadinya pengulangan penemuan, atau istilah prank-nya adalah “Inventing The Wheel”. (Saya lupa, namun masih sedikit ingat cerita seorang dosen bahwa hal ini memang pernah terjadi di lembaga paten Australia. Ada seseorang yang mengajukan penemuan, dan disetujui patennya oleh lembaga paten tersebut. Namun setelah diamati dan dibolakbalik gambar cetak birunya, ternyata tidak lebih dari sebuah roda yang mengalami sedikit modifikasi). Nah, untuk mencegah pengulangan tersebut, kita diharapkan menguasai bahasa FORTRAN agar dapat mempelajari source program-program yang telah dibuat, untuk selanjutnya tinggal kita kembangkan saja. Tanpa harus mengulang dari awal, dan hasilnya ternyata sama saja dengan apa yang telah ditemukan oleh pendahulu kita. Tambahan komentar pada blog sipil ugm, dari Dr. Akhmad Aminullah, S.T, M.T staf pengajar di Jurusan Teknik Sipil dan Lingkungan Universitas Gadjah Mada, spesialisasi pemrograman untuk bidang struktur : Fortran bukanlah bahasa yg kuno, banyak compiler fortran yg baru2. Mungkin anda masih menggunakan File watcom jaman dulu. silahkan cari lagi yang lain. salah satunya anda masih anggap fortran harus dimulai kolom 7, silahkan cari compiler yg terbaru dimana tidak butuh kolom 7. Fortran juga bukan kuno bahkan sangat bagus contohnya ABAQUS menggunakan fortran sebagai bahasa pemrograman. (mungkin masih banyak yang belum kenal ABAQUS karena biasanya hanya tau sap2000 saja padahal utk FEM masih byk lagi lainnya). Hal utama tentang bahasa pemrograman adalah anda harus mengetahui logikanya, sehebat apapun bahasa pemrograman tanpa mempunyai logika yang bagus tidak menghasilkan sesuatu yang diharapkan, karena hanya menggunakan Tools yang sudah ada tanpa inovasi sendiri.