Algoritma yang Utama, Bahasa Pemrograman Hanya Alat Pendukung

Adam Puspabhuana 17 Februari 2017

Algoritma yang Utama, Bahasa Pemrograman Hanya Alat Pendukung

Saat masih kuliah di jurusan TI di President University tahun 2003, saya belajar algoritma dan pemrograman I, yang waktu itu belajar procedural programming menggunakan bahasa C. Masih ingat betul suasana perkuliahan saat itu, kami diajarkan pemrograman pertama kali, sebelum masuk ke lab komputer, kami diajarkan teori penjelasan setiap script menggunakan kertas / tulisan. Terus berlanjut seperti itu hingga dihadapkan pada pertemuan yang mengharuskan kami membuat program sederhana, disitupun logika saya belum terbentuk, karena saya masih bingung menempatkan setiap script yang akan digunakan, bukan menjadikan program sederhana yang diinginkan. Mulai dari situ terbentuklah pola pikir secara algoritma yang mengharuskan analisa sistem dari permasalahan atau program yang akan dibuat/diselesaikan. Baris per baris algoritma saya analisa lalu kemudian saya tuliskan script yang sesuai pada program saya.

Kemudian saya dihadapkan pada profesi pertama di sebuah software house yaitu sebagai web developer menggunakan bahasa pemrograman web yaitu CFM atau ColdFushion Macromedia (masih digunakan ga ya bahasa ini saat ini?). Bahasa ini memang tidak pernah diajarkan sewaktu kuliah, namun saya berani terima tantangan ini. Setelah diterima dan bekerja, saya langsung dihadapkan pada aplikasi Human Resource Management dan sedang running di salah satu klien saat itu. Kecepatan berpikir, analisa yang kuat dan ketangguhan menjadi tantangan utama di profesi ini. Disini pula pemikiran algoritma sangat diperlukan untuk memodifikasi aplikasi sesuai dengan kebutuhan klien.

Pengalaman sebagai programmer tidak hanya berhenti di perusahaan ini, dilanjutkan di berbagai perusahaan baik sektor jasa maupun industri. Begitu saya beralih sebagai guru komputer di salah satu SMK di bidang TI. Disini, saya melihat suatu event perlombaan dimana ada salah seorang siswa yang langsung menyerah begitu menemui kesulitan. Tidak hanya disini, siswa saya sendiripun hebatnya bukan main kalau memainkan instruksi yang sudah diberikan, namun bila salah satu instruksi itu saya ubah sedikit, mereka langsung bingung dan menyerah. karena mereka TIDAK diajarkan algoritma. Disinilah sebenarnya algoritma berperan. Dengan pola pikir algoritma, siswa tidak hanya diajarkan menjalakan instruksi-instruksi, namun siswa juga dapat menganalisa apabila menemui kesulitan atau hambatan sehingga hasil tercapai.

Kabar baiknya adalah akhirnya Kementrian Pendidikan dan Kebudayaan memasukkan mata pelajaran TIK yang sebagai dasar kompetensinya adalah Pemrograman Dasar. Di mata pelajaran inilah saya ajarkan para siswa untuk mendalami algoritmanya sebelum beralih ke bahasa pemrogramannya. Algoritma sederhana yang saya ajarkan adalah Teknik Mengepel dan Menyapu Lantai. Kita mungkin sering melakukan pekerjaan sederhana ini, namun apabila kita analisa dua teknik ini dan dituangkan ke dalam bentuk algoritma ternyata tidak sesederhana yang terlihat. Misalkan ada sebuah ruangan yang akan dipel atau disapu. Urutan prosesnya sama, bisa dimulai dari depan atau belakang ruangan, hanya saja logika dari proses mengepel dan menyapu adalah agar lantai yang telah dipel dan disapu tetap bersih tanpa harus kotor kembali karena terinjak-injak. Ternyata perbedaannya ada pada arah mengerjakannya. Pada saat menyapu kita harus bergerak maju ke arah tujuan akhir ruangan ataupun tempat sampah, dan pada saat mengepel kita harus bergerak mundur ke arah tujuan akhr ruangan.

Di dalam pengalaman saya mengajar, saya berasumsi bahwa segala sesuatu yang ada di dunia ini memang terjadi karena atau berdasarkan algoritma kehidupan. Hanya saja algoritma adalah istilah yang dikenalkan di dunia komputer/TI. Berdasarkan pengertian istilahnya** algoritma adalah langkah-langkah yang disusun secara sistematis dan berdasarkan logika ( benar/salah)**. Begitupun perkembangan teknologi komputer yang dimulai dari awal pembuatan menyesuaikan dengan algoritma kehidupan manusia bahkan kemampuan komputer terus ditingkatkan hingga menyamai atau mirip seperti kehidupan atau tingkah laku manusia yang lebih dikenal dengan artificial intelligence dan manchine learning .

Ini tidak hanya asumsi saja, di dalam mengajar pun saya membuat program-program sederhana dengan bahasa pemrograman yang berbeda yang diambil dari algoritma sederhana seperti permainan tebak bilangan, simulasi lift (evevator), tebak kata (hang man) , traffic light dan algoritma permainan tradisional Indonesia yang lebih dikenal dengan nama "Suit" (menggunakan jari). Dari satu algoritma contoh tebak kata, saya membuat dengan bahasa pemrograman prosedural yaitu C++, lalu dilanjut dengan Java hingga berbentuk visual dengan menggunakan Android Studio.

Algoritma itu sendiri direpresentasikan bisa dengan Pseudocode (teks) atau dengan *Flow Chart *(gambar). Pada perkembangannya, salah satu penyedia simulasi proses industri dari Jerman, telah memudahkan programmer dengan membuat program micro controller nya mengggunakan teknik flow chart. Tidak lagi dibutuhkan penggunaan script yang panjang. Salah seorang pengajar nya berkata bahwa tren kedepanya bahasa pemrograman akan beralih menggunakan flow chart. Bila ini terwujud, wah programmer benar-benar dimanjakan.

Dengan ini saya ingin menekankan khususnya kepada mahasiswa/i STMIK Kharisma Karawang, dan umumnya para penggeliat IT pemula, bahwa bila algoritma yang kita buat sudah sesuai dengan yang diinginkan dan terbukti logika nya maka mau apapun bahasa pemrogramannya, hasilnya akan sama dan sesuai. Mengenai pembelajaran dari bahasa pemrogramaan yang saat ini didalami lalu berpindah ke bahasa pemrograman yang baru, hanya butuh penyesuaian script atau code nya.