Apa itu Git? SVN? Mercurial?
sekilas tentang Source Control Management

Bagi seorang programmer yang sudah sering berkutat dalam pengembangan suatu aplikasi dalam sebuah tim, mungkin nama Git, SVN, atau Mercurial mungkin sudah menjadi hidangan sehari-hari. Namun bagi beberapa programmer yang baru berkecimpung dalam sebuah proyek "sesungguhnya", nama-nama tersebut mungkin masih terdengar cukup asing. Jadi apakah itu Git dan kawan-kawannya?

Singkatnya, Git, SVN, dan Mercurial merupakan beberapa contoh teknologi Source Control Management (SCM) yang populer dalam dunia perkodingan. SCM umumnya digunakan untuk mengelola kode-kode program dalam suatu aplikasi. Walaupun begitu, SCM tidak hanya terbatas penggunaannya dalam lingkup pengembangan aplikasi. SCM dapat juga digunakan untuk mengelola dan mencatat perubahan-perubahan yang terjadi dari sebuah dokumen.

Beberapa orang mungkin pernah secara tidak sadar menggunakan (atau bahkan mungkin menciptakan) teknologi SCM dalam mengelola suatu proyek pengembangan aplikasi atau pekerjaan lainnya yang berhubungan dengan pembuatan dokumen. Contohnya, pernahkan Anda menyusun sebuah dokumen (proposal, makalah, laporan, dsb) yang dikerjakan secara bersama-sama? Bagaimana teknik yang tim Anda sepakati untuk mengerjakan dokumen tersebut?

Terdapat banyak alternatif bukan? Sebagai contoh, katakanlah tim Anda (berjumlah 5 orang) harus mengerjakan sebuah proposal dimana di dalamnya terdapat 5 Bab. Cara paling sederhana kemungkinan adalah dengan membagi 1 Bab akan dikerjakan oleh 1 orang secara terpisah. Kemudian hingga batas waktu tertentu, terdapat satu orang yang bertugas untuk menggabungkan kelima Bab tersebut menjadi 1 dokumen yang lengkap. And that's it, proposal sudah dapat dicetak, dikumpulkan, dan pekerjaan selesai tanpa ada masalah yang berarti.

Beberapa hari setelah itu, reviewer mengembalikan proposal dari tim Anda karena terdapat beberapa hal yang harus direvisi, now what? Terdapat beberapa poin, katakanlah, dalam Bab I dan Bab III yang harus diperbaiki. Sebagai ketua tim, mungkin Anda akan mendistribusikan ulang pekerjaan sesuai dengan revisi yang ada. Setelah revisi selesai dikerjakan, proposal tersebut kemudian digabungkan kembali, dan, jadilah proposal versi kedua!

Dalam kasus ini, strategi Anda mungkin sudah cukup efisien. Namun bayangkan bagaimana jika Anda harus mengelola dokumen yang di dalamnya terdapat ribuan bahkan jutaan baris kode atau teks, yang dikerjakan oleh puluhan bahkan ratusan orang sekaligus. Tentu Anda akan berpikir 2 kali untuk menggunakan metode yang sama bukan?. Yap, dari permasalahan inilah kemudian teknologi SCM dikembangkan.

Dengan menggunakan SCM, Anda tidak perlu pusing untuk memikirkan cara yang paling efisien untuk mengelola dokumen-dokumen yang ada. Semua hal mengenai pengelolaan dokumen sudah dilakukan secara terpusat oleh SCM, mulai dari penulisan awal dokumen, revisi, penggabungan, membandingkan perubahan yang terjadi, pembuatan versi, dsb. Anda hanya perlu mengerjakan bagian Anda sendiri dan biarkan SCM mengerjakan sisanya. Cool! Isn't it?

Jadi begitulah kira-kira sekilas tentang teknologi SCM, di post berikutnya, kita akan mencoba mengupas lebih jauh apa yang sebenarnya terjadi di dalam SCM. Merasa tertantang? See you then!

Image Source :
https://preshing.com/20120710/memory-barriers-are-like-source-control-operations/
https://orlandoespinosa.wordpress.com/2012/06/19/excited-about-life/

Written by gpamungkas on Feb 4 2019, 5:32 PM.
User
Projects
Subscribers
None