Bagaimana Menyelesaikan Proyek Semesteran di Kampus?

Ridwan Fajar 16 Januari 2017

Bagaimana Menyelesaikan Proyek Semesteran di Kampus?

Bagi mahasiswa informatika atau jurusan lainnya yang mengontrak mata kuliah yang ada kaitannya dengan membangun perangkat lunak, seringkali harus panik duluan karena terkesan melihat proyek semesteran tersebut sebagai beban, bukan tantangan. Padahal dengan mengerjakan proyek semesteran tersebut, kita dilatih untuk mandiri dan bekerjasama dalam menyelesaikan tantangan yang diberikan oleh dosen.

Namun sayangnya tidak sedikit diantara kita yang malas untuk menyelesaikan proyek semesteran ini, bila yang sedang mengerjakan proyek beneran mungkin tidak masalah, tapi bagi yang belum pernah mencoba ikut mengerjakan proyek, paling tidak proyek semesteran tentu akan melewatkan kesempatan yang sangat bagus untuk aktualisasi diri sebelum terjun ke hutan belantara.

Bagi yang belum punya spirit untuk mengerjkan proyek semesteran atau ada juga yang menyebut tugas besar kita coba nih trik - trik sederhana yang bisa kamu lakukan, asalkan kamu punya kemauan :D. Ingat yah kemauan!

##1. Pahami tugas dan spesifikasinya

Sebelum mulai mengerjakan, pastikan kamu sudah memahami proyek akhir semester yang diberikan oleh dosen. Jangan sampai setelah mepet sebulan menuju presentasi kamu malah masih bingung dengan apa yang harus dikerjakan. Dalam sebulan pertama, kamu berhak bertanya setiap minggu atau setiap ada pertemuan kelas dengan dosen tersebut sampai akhirnya kamu siap dengan apa yang dikerjakan.

Misal kamu diberi tugas untuk membangun aplikasi bimbingan skripsi. Jangan sampai yang kamu cari adalah bisnis proses bimbingan skripsi di tempat lain. Cari tahulah terlebih dahulu bagaimana bimbingan skripsi yang ada di jurusan kamu lalu validasi kepada dosen pemberi tugas. Selain itu kamu harus mencatat setiap detail tugas dan spesifikasi umum yang diberikan oleh tugas tersebut.

Jangan lupa untuk berdiskusi dengan teman apabila itu tugas kelompok, namun tidak ada salahnya bila itu pun tugas individu. Karena dengan berdiskusi terlebih dahulu akan memudahkan kita untuk menyelesaikan tugas tersebut.

##3. Membuat komitmen dan membagi tugas

Komitmen, bagaimanapun itu adalah hal utama. Walaupun diberi waktu satu tahun bila tidak komitmen, tidak akan pernah cukup dan cenderung dikerjakan menjelang deadline. Misal dalam waktu 6 bulan pengerjaan, kita harus berkomitmen untuk menyediakan waktu setiap harinya untuk mengerjakan walaupun sedikit. Ketimbang mengerjakan banyak tapi ditumpuk di deadline. Bila kita mengerjakannya secara berkelompok bagilah secara adil pekerjaan tersebut, jangan sampai suatu tugas yang harusnya diselesaikan berkelompok malah diselesaikan sendiri dan tugas individu malah dikerjakan berkelompok.

Membagi tugas baik untuk individu atau kelompok sangatlah krusial, kita harus jeli membagi tugas secara proporsional sehingga setiap target dapat dicapai setiap fasenya. Misal bulan pertama kita kumpulkan dulu requirement dan survei. bulan kedua kita mulai mengerjakan bagian backend-nya, bulan ketiga mengerjakan frontend-nya, bulan keempat mulai testing, dan bulan kelima mulai bug fixing dan dokumentasi.

Dengan cara tersebut kita lebih leluasa mengerjakannya ketimbang harus ditumpuk di akhir.

##4. Gunakan perangkat kolaboratif

Perangkat kolaboratif tidak harus mahal dan bisa hanya bermodal koneksi internet saja. Beberapa perangkat kolaboratif yang bisa kamu gunakan untuk menyelesaikan tugas besar akhir semester antara lain sebagai berikut:

  • Github, salah satu produk source code repository yang cukup digemari oleh khalayak developer. Sederhananya, kamu sudah tidak perlu flashdisk untuk tukar menukar source code dari teman yang menjadi anggota kelompok kamu. Cukup pelajari Git, buka akun Github, dan kalian bisa belajar langsung bagaimana source code management dan release version untuk tugas besar kamu. Selain itu source code akan selalu tersedia di repositori bila kamu tidak menghapusnya. Bayangkan bila kamu hanya mengandalkan flashdisk dan laptop pribadi. Bila terjadi sesuatu pasti akan sulit mengumpulkan source code yang ada. Salah satu keunggulan github adalah kamu dapat membuka repositori publik dan mengundang banyak kontributor. Selain itu terdapat juga wiki, dan issue management. Bila ingin privat kamu harus membayar paket berbayar di Github
  • Gitlab, hampir sama dengan Github hanya saja kamu dapat membuat repositori privat secara gratis dan mengundang banyak teman untuk mengerjakannya. Selain source code repository kamu dapat menggunakan wiki dan issue management yang dimilikinya
  • BitBucket, hampir sama dengan Github dan Gitlab. Kamu hanya dapat mengundang lima orang untuk satu buah aplikasi privat. Bila ingin mengundang lebih banyak orang kamu harus membayar paket berbayar di BitBucket
  • Trello, aplikasi pembagian tugas ini memiliki sebuah antarmuka yang unik dimana kamu dapat membuat tugas dan membaginya ke beberapa papan. Kamu dapat membuat lima papan misalnya "rencana", "sedang dikerjakan', "sedang ditesting", "sudah beres". Atau kamu dapat membuat pembagian papan tersebut sesuai selera. Selain ada sistem komen, kamu juga dapat menyertakan foto dan file yang dapat memperjelas tugas yang sudah kamu kerjakan.
  • Dropbox, layanan penyimpanan cloud ini memberikan kamu jatah sekitar 4GB lebih untuk menyimpan berbagai file. Jangan sampai terjadi bencana saat mau presentasi tapi file PPT dan laporan terhapus oleh hal yang tidak diinginkan. Biasakan mem-backup file - file penting tersebut ke Dropbox untuk menjaganya dari kejadian yang tidak diinginkan agar saat waktunya presentasi semua berjalan aman
  • Google Drive dan Docs, selain Dropbox ada juga Google Drive yang bisa kamu manfaatkan untuk menyimpan file secara online. Selain itu Google Drive terintegrasi dengan Google Docs yang memiliki seperangkat alat perkantoran seperti spreadsheet, presentation, form, dan document. Dan kelebihannya adalah kamu bisa membuat dokumen di Google Docs secara kolaborasi sehingga bisa diedit oleh banyak orang.
  • Phabricator, untuk yang satu ini kamu mesti install sendiri secara dedicated di server kampus atau vps yang kamu sewa. Di dalamnya terdapat berbagai modul yang dapat mempermudah kamu bekerja secara kolaboratif. Di dalamnya sudah terdapat wiki, source code repository, task management, forum, member management, dan lainnya.
  • dan masih banyak lagi yang bisa kamu cari sendiri di Google :D.

Dengan memanfaatkan paket gratis diantara alat - alat yang telah disebutkan. Seharusnya perangkat online tersebut dapat membantu kita untuk mengerjakan tugas besar semesteran lebih efektif dan efisien.

##5. Sediakan waktu untuk belajar dan mencoba

Dalam membuat tentu akan selalu ada tidak bisanya. Misal kita ditugaskan untuk membangun aplikasi booking kamar hotel dengan menggunakan Java Servlet, Java Server Page, Apache Tomcat, Redis, dan PostgreSQL. Tentu tidak akan cukup bila kita harus belajar dalam waktu mepet. Dalam frame 6 bulan ada baiknya kita sambil mempelajari teknologi tersebut entah itu hanya satu jam atau dua jam. Paling tidak sambil membuat progress untuk kode aplikasi yang kita buat. Kita juga sambil mempelajari teknologi tersebut agar lebih mahir dan mampu menjawab setiap pertanyaan yang akan ditanyakan. Karena tidak menutup kemungkinan, dosen penguji akan bertanya sampai level koding.

Belum lagi tidak hanya akan teknologi diatas saja yang pasti harus dipelajari, mungkin akan ada sederet teknologi pendukung yang harus kita pelajari misalnya seperti jQuery, HTML, CSS, Chart.js, D3.js, Angular.js, React.js, PDF Generator atau teknologi web lainnya. Jadi cocoklah bila dosen menugaskan kita dalam waktu 6 bulan dan hasil pekerjaan kita jangan sampai seperti yang dikerjakan dalam waktu dadakan. Karena spare waktu yang diberikan memang cukup panjang dan memberikan ruang agar kita mengeksplor lebih banyak.

Hal ini sangat bermanfaat bila saat bekerja nanti. Sehingga kamu terbiasa mengeksplorasi suatu hal secara efektif dan efisien.

##6. Sediakan waktu untuk testing dan mencari masukan

Dalam siklus pengembangan aplikasi perangkat lunak, pasti ada pengujian perangkat lunak. Bagaimana kita memastikan bahwa aplikasi yang kita kembangkan bebas dari bug dan fitur yang salah? Tentu dengan waktu yang cukup panjang, kita diberikan kesempatan untuk menguji aplikasi kita. Bukannya diuji sewaktu presentasi. Saat presentasi seharusnya aplikasi tugas kita sudah bebas dari bug dan fitur yang salah.

Kamu dapat membuat unit test untuk source code aplikasi kamu, atau melakukan functional testing dan acceptance testing terhadap aplikasi kamu. Misal dengan melakukan functional dan acceptance testing kamu jadi tahu bahwa di halaman login ada pesan error yang kurang tepat saat user salah memasukkan password. Atau saat melihat daftar hotel ada proses penampilan yang kurang tepat karena semua rating hotel sama disebabkan masih ditulis dengan kode statik dan belum diubah dengan kode dinamis. Atau saat melakukan pencarian ternyata hotel yang muncul kurang tepat karena salah query dimana kamar hotel yang disediakan ternyata hotel yang tahun lalu sudah di-booking.

Hal - hal seperti diatas wajib kita lakukan jauh - jauh hari sebelum presentasi dimulai. Terlebih lagi akan lebih baik bila setiap modul yang telah kita kerjakan langsung di-test secara iteratif. Sehingga tidak perlu mengujinya dalam sekali waktu untuk mengefisiensikan waktu. Jangan lupa buat juga kuesioner dan wawancarai teman kamu seberapa bagus aplikasi kamu dengan pertanyaan - pertanyaan yang telah ditentukan oleh mu. Siapa tahu feedback-nya dapat membuat aplikasi kamu dipoles menjadi lebih baik.

##7. Membuat dokumentasi sebaik mungkin

Sebaik - baiknya software adalah yang mempunyai dokumentasi. Entah itu user guide, developer guide, atau installation guide. Lebih bagus lagi bila memiliki testing guide dimana kita dapat melihat setiap detail hasil pengujian yang telah dilakukan. Tapi karena tugas semesteran, biasanya kita hanya ditugaskan untuk membuat user guide dan installation guide.

Jangan tanggung, langsung saja tiru guide yang sudah resmi dirilis oleh suatu provider perangkat lunak atau kamu dapat melihat berbagai dokumentasi proyek open source yang sudah populer. Tiru layout-nya, gaya bahasanya, strukturnya, sampai tebalnya. Walaupun bahasa inggris setidaknya kamu dapat mencari inspirasi yang lebih baik. Atau bila diberikan struktur khusus oleh dosen, seharusnya kamu ikuti dengan baik struktur tersebut. Tapi karena kita sudah mahasiswa, harusnya kita bisa lebih kreatif kan? bila dosen tidak memberikan struktur apapun, seharusnya kita yang lebih kreatif.

Dokumentasi bagus, aplikasi pun akan mempunyai nilai jual yang lebih baik. Tentu nilai jual yang dimaksud adalah saat mempresentasikan perangkat lunak milik kita di depan dosen.

##8. Latihan presentasi

Presentasi merupakan babak akhir dimana produk yang bagus pun bila cara komunikasi kita saat presentasi tidak memadai. Apalagi bila slide yang kita sampaikan alakadarnya dengan teks yang ditumpuk dalam satu slide. Biasanya saat mempresentasikan proyek yang telah kita kerjakan cenderung akan gugup karena masih ada ketakutan bug-lah, atau ada fitur yang belum beres lah, atau bisa jadi ada error mendadak karena baru dikerjakan malam sebelumnya. Mengerjakan dalam waktu semalam memang terlihat keren, tapi mengerjakannya semalam suntuk di hari - hari sebelumnya itu jauh lebih keren karena pengembangan aplikasi perangkat lunak itu agak kurang maksimal bila harus dikerjakan semalaman.

Latihan presentasi mesti disediakan, bisa kamu lakukan bersama teman sekelompok atau teman dari kelompok lain. katakanlah latihan presentasi beberapa hari sebelum waktu presentasi tiba. Kamu dapat berlatih mulai dari penampilan, gesture, gaya bahasa, sampai kualitas slide yang akan kamu persembahkan kepada dosen penguji. Walaupun mungkin proyek yang kita kerjakan tidak begitu maksimal, bila kita menyampaikannya dengan baik ala marketing yang sudah berpengalaman. Tidak menutup kemungkinan nilai kita akan lebih baik dibandingkan teman kita yang agak kurang dalam berkomunikasi.

Jadi siapkan kaca, lalu berlatihlah menyampaikan sesuatu agar lebih percaya diri :D.

##9. Bila nilai tidak maksimal jangan kecewa tetaplah semangat

Setelah kerja keras selama satu semester, semua spesifikasi dipenuhi, dokumen juga lumayan bagus, namun bila hasilnya ternyata cuma dapat nilai B. Jangan kecewa, karena nilai yang akan kamu dapat sebenarnya adalah nilai yang akan kamu dapatkan ketika bekerja nanti. Semua usaha yang telah kamu lakukan mulai dari coding, analisis, teamwork, negosiasi, dan lainnya akan kamu aplikasikan saat bekerja nanti. Jadi bila dapat nilai B atau C atau A-, jangan patah arang. Segeralah catat apa yang harus diperbaiki.

Berlatihlah lagi selama semester pendek atau liburan semester. Buatlah semacam proyek pribadi dalam skala kecil yang dapat mengasah kemampuan kamu untuk membangun sebuah aplikasi untuk tugas semesteran. Mulailah lagi dari proses analisis, spesifikasi, hingga akhirnya coding. Kamu bisa lakukan sendiri atau bersama teman yang tertarik untuk bergabung. Dengan melakukan hal ini, kamu akan terlatih untuk mengerjakan tugas proyek semesteran dengan sangat tangkas.

Apabila kamu tertantang, mungkin kamu dapat mencari pekerjaan freelance untuk meningkatkan kemampuan diri dan skill yang sesungguhnya. Karena hal tersebut dapat menjadi penilaian perusahaan saat akan meng-interview kamu. Jadi jangan berkecil hati bila dapat nilai yang tidak diharapkan tapi usaha sudah ganteng maksimal.

(rfs)