The Power of Niat : A Story About My Best Final Project

Posted on Posted in Opini

Ini adalah sebuah cerita mengenai final project terbaik yang pernah gue kerjakan, sejauh ini sampai semester ini. Remember, I am not saying mine is the best, but it is the best I’VE been WORKING so far.

Nah, jadi begini ceritanya….

Alkisah ada sebuah mata kuliah di semester 3 jurusan Teknik Informatika ITS yang bernama Teori Graf. Intinya dari mata kuliah ini (yang berhasil gue tangkap) adalah the next levelnya dari teori himpunan dan relasi waktu SMP – SMA. Kita diberikan sejumlah objek yang saling berelasi satu sama lain dan di setiap relasi itu terdapat informasi, yang kita pelajari adalah bagaimana caranya kita bisa memanfaatkan data yang ada dari relasi itu seefisien mungkin. Contoh penerapannya yang paling kebayang adalah di Google Maps, dari titik A ke B pasti kalian ditunjukin jalurnya, waktu tempuhnya, keramaiannya dll.

Di kelas yang saya ambil, dosennya adalah Ibu Dini. Dosen ini cukup enak dari segi cara mengajar, cara ngomong dan tentunya cara menilai kuis hahaha….

Singkat cerita, menjelang berakhirnya semester 3, Ibu Dini memberitakan bahwa nilai UAS akan diambil dari nilai Final Project. Yang buat gue cukup melegakan, karena gue males baca PPT dan kerjain soal hehe. Tapi, cukup mendebarkan juga, karena kalo dinilai dari FP berarti harus kerja lebih keras buat ngerjainnya dan parameter penilaian FP yang kadang – kadang rancu di mata dosen dan mahasiswa.

Untuk FP mata kuliah ini, Bu Dini mempersilahkan kita membentuk kelompok sendiri yang beranggotakan 3 orang, kemudian memilih algoritma yang mau diterapkan dan menentukan sendiri permasalahannya.

Nah, inti dari FP-nya sebenernya cuma 3:

  1. Pilih algoritma dan permasalahan
  2. Buat codingan untuk problem solving
  3. Buat visualisasi graphnya

Gue sekelompok sama Ichsan dan Ariya ‘Pentil’. Dan judul FP kami adalah

“Perancangan Jalur Kereta Api yang Menghubungkan antar Kota Menggunakan Algoritma Prim’s” buat yang mau baca proposalnya bisa dibaca di sini .

Untuk tugas nomor 1 gampanglah, tinggal buka PPT dan browsing + bacot sedikit selesai.

Untuk nomor 2, that’s pretty easy for me, kalo mentok tinggal googling source code hehe.

Nah, kampretnya adalah nomor 3 nya itu, yaitu Visualisasi Graphnya.

Mungkin pada mikir, “ada apa dengan visualisasi graph? kan tinggal digambar”. Hmmm… Iya sih tinggal digambar, tapi bagi kami mahasiswa semester 3 yang secara umum masih mempelajari pemrograman yang outputnya cuma konsol itu lumayan mabok mikirnya. Apalagi untuk visualisasi graphnya yang dinamis, artinya penggambaran graph harus unik bedasarkan inputnya masing – masing.

Sudah pusing?

Btw, ini kenapa isinya jadi ngebahas mata kuliah? Ah sudahlah…..

Setelah menggali ilmu disana sini, gue menemukan bahwa visualisasi graph paling gampang dilakukan menggunakan bahasa Java dan dengan library khusus yaitu GraphStream. Pada waktu itu, mendengar frasa “Bahasa Java” sedikit menjadi momok buat gue pribadi. Karena…. Yah, gue dulu pernah belajar Java, dan gue menyerah karena ribet. Tapi waktu itu gue belajarnya waktu kelas 2 SMA sih, jadi ya kalo disuruh ngoding masih goblok wkwkw.

(But seriously, yang bahkan masih menempel di kepala gue sampai saat ini adalah soal printout di Java yang ribet ketimbang di C atau C++.)

Singkat cerita, karena sudah 3 hari menjelang deadline pengumpulan dan dengan semangat 45-anti-mengulang-mata-kuliah yang bergelora di dada, gue ambil keputusan untuk menggunakan bahasa Java untuk menyelesaikan FP ini. Sebenernya, gue cukup terbantu karena ada codingan algoritma yang udah dibuat sama Ariya dalam bahasa C++. Jadi, literally I just translate a C++ program into Java manually and adding the visualization feature.

Ternyata nggak sesusah yang gue pikirkan, mungkin karena hanya sekedar translate, gatau juga sih. Tapi, untuk translatenya itu sendiri gue butuh waktu sekitar 7 – 8 jam untuk translate 170 baris kode C++ ke Java, itu karena gue nggak ngerti sintaksnya Java. Kemudian, untuk menambahkan fitur visualisasinya dan implementasi librarynya gue butuh sekitar 3 jam. Karena gue perlu baca – baca dulu tentang fungsi yang ada di library GraphStream. Untungnya, Java adalah bahasa pemrograman yang pure OOP, jadi pemanfaatan fungsi dan konsep OOP nya cukup mudah bahkan untuk seorang newbie OOP seperti gue hehehe.

Jadi kalo diitung – itung, gue butuh 10 – 12 jam untuk menyelesaikan program untuk FP matkul Teori Graph ini. Dan itu udah termasuk gue males – malesan dulu, YouTube-an dulu, makan dulu dan hal – hal menyenangkan lainnya. But, overall, gue puas dengan FP gue yang satu ini.

Well, ini hasil akhirnya. Terlihat simpel kan? Mungkin iya, tapi ketika lu ngeliat kodingannya yang sepanjang 246 baris, mungkin lu akan mabok hahahaha.

Setelah semuanya selesai dengan baik, gue pun mikir. Sebenernya, apa gunanya sih gue susah – susah ngoding untuk buat program ini? Buat nilai Final Project? Udah pasti, tapi apakah cuma sebatas itu? Apakah kerja keras, usaha dan kuota yang terpakai, hanya membuahkan coretan angka di lembar penilaian saja yang akan berakhir di transkrip nilai? Gue rasa enggak, senggaknya itu yang gue yakinin ke diri sendiri.

Terkadang dosen kita ngga bisa ngeliat semua usaha yang udah kita lakukan di belakang layar untuk mewujudkan sebuah final project. Kemudian, dosen cuma melihat hasil akhirnya aja dan belum tentu sang dosen berkata hasilnya bagus, bukan nggak mungkin kita mendapat nilai yang nggak sepadan. Tapi bukan itu masalahnya.

Dengan bekerja keras, seenggaknya kita udah membuktikan bahwa kita sebenernya bisa. We can do all things that we used to think that’s impossible. Karena, pada akhirnya yang paling mengerti dan bisa menilai diri kita dengan baik adalah kita sendiri.

Seorang dosen di jurusan gue pernah bilang

Manusia akan selalu mengeluarkan yang terbaik dari dirinya ketika berada di bawah tekanan

Pesan saya untuk teman – teman yang suatu hari akan mendapatkan Final Project (lagi), mari kita bersama – sama jangan jadikan FP sebagai beban. Tetapi kita jadikan sarana untuk menguji diri kita sendiri.

Leave a Reply

Your email address will not be published. Required fields are marked *