Software Versioning, Pentingkah?

Muhammad Ridho K. Pratama
Ridho's Personal Note
2 min readOct 25, 2016
Gambar diambil dari sini

Ketika kita mendengar kata software versioning, atau version control, atau VCS, atau yang lain lagi, apa yang ada didalam benak kita?

Ya, software versioning, saya akan sering menyebutnya dengan VCS disini, adalah suatu sistem yang dapat melakukan tracking perubahan-perubahan atau revisi yang terjadi didalam source code, dan tentunya, kontrol versi dari source code. Dengan VCS kita dengan mudah mengetahui baris mana yang telah diubah, dihapus, ditambahkan, file mana saja yang berubah, bahkan siapa yang telah melakukan perubahan di dalam source code. Ada sekitar 3 VCS yang sering dipakai oleh kawan-kawan developer, yaitu Git, Mercurial, dan Subversion (SVN). Git adalah VCS yang paling sering dipakai oleh developer karena workflow nya mudah dipahami.

Ketika ada yang menanyakan hal yang sama seperti judul pos ini, maka jawabannya sudah pasti. Ya.

Mengapa?

Mempermudah tracking revisi dari source code

Bayangkan dalam suatu project aplikasi skala besar, dikerjakan oleh banyak developer. Ketika VCS tidak diterapkan disini, maka kita tidak bisa mengetahui source code mana saja yang diubah, siapa yang mengubah. VCS mempermudah hal ini, ketika ada yang melakukan kesalahan dalam source code dengan mudah mencari siapa yang bertanggung jawab 🙂

Mempermudah manajemen code, dengan memisah codebase

VCS jaman sekarang mendukung sistem branching, yang mana dalam project yang sama memiliki state yang berbeda, karena source code bisa saja diletakkan di branch yang berbeda. Hal ini berguna ketika dalam proses development, codebase utama tidak terganggu dengan proses development yang mungkin akan merusak codebase utama karena bug atau uncaught exception lain.

Kolaborasi!

Tak lain dan tak bukan VCS digunakan untuk saling berkolaborasi antara developer dalam satu project. Sudah tidak jamannya lagi mengerjakan project maupun tugas besar secara bersama-sama dan menggabungkan source code dengan perantara flashdisk maupun e-mail. Tidak efisien sama sekali.

Portofolio

Developer diluar sana memamerkan hasil karyanya (yang biasanya open source) entah library, atau aplikasi dan dishare di Github. Sedangkan Github sendiri memanfaatkan Git untuk melakukan tracking changes pada suatu code.

Media pembelajaran

Kebetulan saya memegang praktikum Pemrograman Berorientasi Objek semester lalu, Github saya gunakan sebagai media untuk pengumpulan tugas dan project akhir praktikum para praktikan. Kenapa saya terapkan di praktikum? Supaya nantinya, para mahasiswa dapat mengetahui kegunaan dari VCS dan mempersiapkan mereka agar tidak kaget dalam dunia software development yang sesungguhnya. Dan juga untuk mengetahui sejauh mana progress dan apa saja yang telah dilakukan dalam projectnya, sehingga mudah dalam menilai proses coding mereka 😀

Sebenarnya, manfaat VCS banyak sekali, tinggal bagaimana kita menggunakannya untuk efisiensi workflow development kita. Sampai jumpa lagi.

--

--