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 :
1. Menyimpan versi lama dari kode, dan
2. 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:
Yang akan menyebabkan
pemrogram atau author akan berakhir seperti ini :
Gambar 2:
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).
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 :
1. 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.
Gambar 3:
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.
2. 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.
Gambar 4: 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 perusahaan atau kantor.
Gambar 5:
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(berguna untuk kaloborasi)
bisa dari command local git pada sistem operasi anda. Dengan melakukan
pengecekan pada git bash anda seperti :
Gambar 6:
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






Tidak ada komentar:
Posting Komentar