Abstrak
Pada perkembangan teknologi informasi yang berkembang dengan pesat, maka
pengembangan dalam bidang tersebut semakin kompleks. Dalam perkembangan
teknologi informasi khususnya dalam membuat program atau pemrograman
tidak bisa terhindari untuk melakukan perubahan spesifikasi ataupun
kebutuhan karena hal yang mustahil jika membuat program akan sempurna
dalam percobaan pertama. Maka dari pada itu pengembangan perangkat lunak
akan sangat dekat sekali dengan sistem kontrol versi. Tulisan ini akan
membahas bagaimana memanajemenkan perubahan-perubahan yang terjadi pada
sistem file mencakup sumber kode, file desain, dokumen pengolahan kata,
maupun tipe kumpulan informasi lainnya serta pengenalan git yang adalah
salah satu perangkat lunak untuk sistem kontrol versi.
Kata kunci : kontrol versi, git, manajemen pengubahan berkas.
Pendahuluan
Dalam kasus pemrograman sistem kontrol versi ialah sebagai alat dalam
memanajemenkan perubahan kode program. Terdapat kegunaan utama dalam
sistem kontrol versi ini adalah :
- Menyimpan versi lama dari kode, dan
- Menggabungkan perubahan-perubahan kode dari versi lama (seperti
menghapus fungsi-fungsi pada program) dan menggabungkan perubahan dari
orang lain(seperti menambah fungsi pada program)
Sebelum menggunakan sistem kontrol versi umumnya pemrogram melakukan
manajemen dengan pemisahan direktori seperti gambar dibawah ini:
 |
Manajemen dengan pemisahan direktori |
Yang akan menyebabkan pemrogram atau author akan berakhir seperti ini :
 |
Terjadinya manajemen yang buruk |
Kasus diatas masih hanya pada penyimpanan dokumen versi lama, belum pada
penggabungan dokumen ataupun kode sumber. Karena hal itulah manajemen
sistem kontrol versi sangat diperlukan sekali dalam pengembangan
perangkat lunak, dimana saat ini sudah hampir seluruh perusahan yang
berkerja pada bidang perangkat lunak sudah wajib menginstal sistem
kontrol versi dalam servernya.
Perihal hal itu untuk pemrogram maupun mahasiswa yang ingin terjun dalam
bidang pemrograman wajib untuk menguasai salah satu dari perangkat
lunak untuk sistem kontrol versi.
Git adalah sistem kontrol versi yang paling populer melihat kepopuleran
github. Pembuatan perangkat lunak git sebenarnya awalnya untuk
memudahkan pengembangan sistem operasi linux, dimana pengembangannya
tersebut dilakukan oleh berjuta orang ditempat yang berbeda-beda dan
dibuat sendiri oleh Linus torvalds(pembuat linux).
Rumusan Masalah :
- Apa itu sistem kontrol versi?
- Apa itu perangkat lunak git?
- Bagaimana memanajemenkan pengubahan berkas(file) pada basis sistem file?
Isi
Version control adalah sebuah sistem yang mencatat setiap perubahan
terhadap sebuah berkas atau kumpulan berkas sehingga pada suatu saat
anda dapat kembali kepada salah satu versi dari berkas tersebut.
Sistem ini memungkinkan anda untuk mengembalikan berkas anda pada
kondisi/keadaan sebelumnya, mengembalikan seluruh proyek pada keadaan
sebelumnya, membandingkan perubahan setiap saat, melihat siapa yang
terakhir melakukan perubahan terbaru pada suatu objek sehingga
berpotensi menimbulkan masalah, siapa yang menerbitkan isu, dan lainnya.
Dengan menggunakan VCS dapat berarti jika anda telah mengacaukan atau
kehilangan berkas, anda dapat dengan mudah mengembalikannya.
Seperti dikatakan sebelumnya bahwa git adalah salah satu perangkat lunak
untuk sistem kontrol versi, yang mengartikan bahwa ada perangkat lunak
untuk sistem kontrol versi lain selain git, yang secara umum dibedakan
dengan :
Sitem kontrol versi terpusat.
Sebelum masuk ke era git, sistem kontrol versi terpusat pernah menjadi
standarisasi sebagai perangkat lunak untuk sistem kontrol versi. Contoh
perangkat lunak untuk sistem ini adalah subversion dan perforce.
 |
Sistem kontrol versi terpusat |
Jika dilihat gambar diatas sistem terpusat berarti
repository(perubahan-perubahan kode) dilakukan dengan terpusat dimana
untuk melakukan commit pemrogram seperti pada contoh diatas computer A dan computer B harus terhubung dengan komputer pusat(server).
Jika server sedang down atau tidak bisa terhubung dengan lingkungan
luar, maka pemrogram di komputer A dan komputer B tidak dapat melakukan
apa-apa. Itulah yang menjadi salah satu kelemahan dari sistem kontrol
versi terpusat dimana para pemrogram harus terhubung ke dalam server
yang membuat pekerjaan menjadi dibatasi.
User atau pemrogram tidak dapat melakukannya di rumah atau tempat lain
yang tidak terhubung dengan server, Dimana untuk mengembangkan suatu
projek yang sangat besar dimana pemrogram bukan hanya dalam suatu negara
tapi dari lingkup dunia sangatlah tidak efisien
Sistem kontrol versi terdistribusi
Git adalah sistem kontrol versi terdistribusi yang menjadi solusi atas
masalah-masalah yang terjadi pada sistem kontrol terpusat. Git digunakan
pertama kali untuk projek besar sistem operasi linux yang commiter berasal dari berbagai negara atau berbagai tempat.
 |
Sistem kontrol versi terdistribusi |
Jika dilihat pada gambar diatas, user atau pemrogram tidak hanya dapat
sekedar checkout pada file namun memiliki salinan repository dari projek
yang ada di server. Ini menjadi pengerjaan dapat dilakukan secara
simultan atau dinamis bahkan ketika server mati atau rusak, semua
perubahan (repository) sudah tersalin di setiap user atau pemrogram (
branch).
Git dapat digunakan secara mandiri maupun berkaliborasi dengan mudah dari penggabungan(
merging) hingga percabangan(
branching) baik secara online(github) maupun secara offline(gitlab) yang di-instal dalam VPS(
virtual private server) perusahaan atau kantor.
 |
Perintah-perintah git |
Perintah-perintah git dari bagaimana menambah file repository(
init) , menambah file ke
work on current change(
add) dan memambahkan file tadi kedalam repository(
commit) , serta melihat hasil perubahan(
diff), sejarah perubahan(
log) dan lain-lain bisa dilihat pada gambar diatas atau penjelasan dibawah ini.
Perintah untuk memulai ruang kerja :
- clone: untuk mengunduh repository orang-lain kedalam direktori kita.
- Init : untuk membuat repository baru dalam direktori.
Perintah-perintah dalam perkerjaan yg sedang dalam proses :
- Add : untuk menambah file konten ke indeks.
- Mv : memindahkan file atau mengganti nama file dalam direktori.
- Rm : menghapus file dalam ruang kerja.
Perintah-perintah untuk pemeriksaan status kerja atau file :
- Bisect : untuk mencari commit.
- Grep : mencetak garis dalam pertemuan pada pola.
- Log : untuk mencetak log atau sejarah commit.
- Show : untuk melihat tipe objek.
- Status : untuk mencetak status dari ruang kerja.
Perintah-perintah untuk memelihara pekerjaan maupun pengembangannya :
- Branch : untuk menampilkan list, membuat, menghapus branch.
- Checkout : untuk memindahkan maupun mengembalikan pekerjaan.
- Diff : untuk melihat selisih dari pekerjaan.
- Merge : untuk menggabungkan pengembangan dari sejarah commit.
- Rebase : menampilkan ulang commit.
- Tag : untuk membuat ,menampilkan, menghapus tipe objek berlabel.
Perintah-perintah untuk kaloborasi:
- Fetch : untuk mengunduh atau mengambil referensi objek dari repository lain.
- Pull : pengintegrasian repository.
- Pull : untuk memperbaharui file dari repository.
Dan pastikan untuk sudah terinstal openSSH pada git, agar jika ikut
dapat projek yang besar(online) atau ingin membuat repository online
bisa dari command local git pada sistem operasi anda. Dengan melakukan
pengecekan pada git bash anda seperti :
 |
Melakukan pengecekan SSH pada git |
Kesimpulan
Pada pengembangan perangkat lunak sangat dibutuhkan sistem yang dapat
mengontrol perubahan-perubahan kode dalam suatu file, dimana file
tersebut tidak hanya diakses pada suatu tempat namun bisa bisa diakses
dari manapun. Git adalah perangkat lunak yang menjadi solusi atas
masalah tersebut.
Dengan git pengembangan perangkat lunak menjadi lebih mudah, cepat dan
makin menyenangkan, tidak kuatir lagi dengan bekerja secara berkelompok
yang dimana menyulitkan penggabungan kode-kode program dari setiap
anggota tim. Semua masalah tersebut sudah teratasi dengan git.
Maka daripada itu git bukan hanya lagi sebuah alat tambahan dalam
pembuatan program atau perangkat lunak tetapi sudah menjadi alat wajib
bagi pengembangan perangkat lunak.
Referensi
- Sim,Alex xandra albert. 2013. Kontrol Versi dengan Git. Lean Publishing.
- Dawson,Chris. 2010. The Github Book. O’Reilly Media.