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.
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 |
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 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.
![]() |
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.