Post on 27-Jun-2015
CONTROL VERSION SYSTEM (CVS)
Di susun Oleh PIS 08 12:
Abuzar Algifari
Andi Didik Wira Putra
Donny Novianto
Binzar Indrarian
1. Apa itu CVS
CVS adalah sebuah sistem kendali versi (version control system). Dengan menggunakannya,
anda dapat mencatat sejarah file-file source anda.
Berikut ini adalah beberapa fitur dari CVS :
Dengan CVS, anda dapat mengambil kembali versi lawas software anda.
Dengan CVS anda dapat pula menyimpan semua versi dari tiap file yang anda buat.
CVS juga bermanfaat jika anda adalah anggota sekelompok orang yang bekerja pada
proyek yang sama. Dengan proyek yang dikerjakan oleh banyak orang, maka
kemungkinan terjadinya konflik pada file-file source code sangat besar, misalnya
satu orang merubah file yang telah dirubah oleh orang lainnya. CVS mengatasi
masalah ini dengan cara meng-insulate para pengembang satu sama lain. Setiap
pengembang bekerja di direktorinya, dan CVS menggabungkan pekerjaannya ketika
mereka telah selesai.
CVS bermula sebagai serangkaian script shell yang ditulis oleh Dick Grune, yang dikirimkan
ke newsgroup comp.sources.unix dalam rilis 6 volume pada Desember 1986. Meski tidak ada kode
yang berasal dari script ini dalam versi baru CVS, banyak algoritma resolusi konflik berasal dari script
tersebut.
Bulan April 1989, Brian Berliner merancang dan mengkodekan CVS. Jeff Polk kemudian
membantu Brian dengan desain modul CVS dan dukungan cabang vendor (vendor branch support).
Anda dapat memperoleh CVS dalam beragam cara, termasuk mendownloadnya dari Internet .Untuk
informasi lebih jauh tentang CVS ini, silakan kunjungi websitenya di :
http://www.cvshome.org/ http://www.loria.fr/ molli/cvs-index.html
2. Apa itu SVN
SVN adalah singkatan dari Subversion, yaitu aplikasi revision control open source yang paling
banyak dipakai saat ini. Revision control adalah kegiatan dimana suatu kumpulan source code dari
suatu project/aplikasi dapat dimaintain didalam suatu sistem yang dapat melakukan tracking
terhadap perubahan-perubahan (revisions) yang terjadi pada source code tersebut, sekaligus
mencatat informasi siapa yang melakukan perubahan dan apa yang diubah, Dengan mencatat
perubahan-perubahan ini, suatu source code dapat dengan mudah dilihat status
perubahaannya,Hal-hal yang dapat dilakukan, antara lain yaitu melabelkan revisi ini sebagai release
1, release 2, beta, dst (release management). Melakukan bactracking ke versi-versi sebelumnya, jika
file source code di komputer kita corrupt/rusak, maka kita dapat mengambil ulang (revert) source
code dengan versi tersebut dari server
Sistem revision control juga sangat berguna, dikala dibutuhkan kolaborasi dengan banyak
developer pada suatu project. Dengan menggunakan sistem revision control, para developer dapat
bekerja secara paralel (concurrent) untuk memasukkan perubahan-perubahan ke dalam source code
(selama tidak terjadi konflik). SVN adalah revision control system yang tidak melakukan locking
terhadap satu keseluruhan file dalam proses kolaborasi antar developer,Jadi dimungkinkan seorang
developer mengupdate bagian atas dari suatu file, dan developer lain mengupdate bagian yang lain
dari file tersebut,Hal ini akan berjalan lancar selama baris yang diedit tidak saling konflik, dan jika
terjadi konflik, maka SVN akan memberitahu bagian mana (baris mana) yang konflik dan adalah
keputusan bersama dari para developer tadi untuk mengkomunikasikan bagian manakah yang akan
dipakai,Dalam proses conflict resolution ini, aplikasi SVN juga memberikan kemudahan dengan
menyertakan sistem "diff" yaitu untuk melihat perbedaan baris dari dua file
Beberapa manfaat SVN dalam membantu development
Mencatat perubahan kode
Menyediakan fungsi undo untuk mengembalikan keadaan kode ke titik tertentu
Melihat riwayat perubahan kode, dari pertama di buat hingga keadaan yang
sekarang
Memungkinkan penulisan kode secara pararel tanpa ada kejadian anggota tim
menimpa pekerjaan anggota tim yang lain.
3. Software
Untuk pembahasan kali ini dan melakukan percobaan , kami mengunakan 2 buah software
yaitu VirtualSVN Server Manager yang dapat di download disini http://www.visualsvn.com/server/.
SVN server, akan berfungsi sebagai tempat disimpannya file-file yang di backup. SVN server untuk
saat ini adalah komputer kita sendiri, yang dibutuhkan untuk membangun SVN server adalah dalam
percobaan saya, saya menggunkan VisualSVN Server.
Setelah selesai di download lakukan penginstallan seperti biasa, pada bagian “Select
Components” Klik Next
Selanjutnya pada menu Costom Setup isi sesuai dengan gambar dibawa ini, dimana Location
dan Repositoriesnya suda terisi secara otomatis. Namun untuk Server Portnya isi Port dengan 8080.
Dan selanjutnya ikuti petunjuk instal seperti biasanya.
Setelah VirtualSVN Servernya Terinstall, buka programnya dan setelah aplikasinya berjalan
hal yang harus dilakukankan adalah membuat user baru. Dimana nantinya akan berguna sebagai
akses untuk dapat masuk ke Virtual Servernya. Pada tampiulan awal pilih option Create new user,
dan akan tampil seperti gambar dibawa ini. Isi user name dan password sesui dengan keinginan kita,
trus ok.
Untuk Langka selanjutnya membuat repository yang nantinya berfungsi sebagai tempat
penyimpanan data. Langkanya pilih create new repository dan akan tampil seperti dibawa ini. Dan
isis nama repository sesuia dengan keinginan kita.
Dan selanjutnya setelah itu buka repository yang dibuat tadi, kita dapat membuat folder
baru didalamnya dengan mengklik tombol kanan dan pilih new folder, isi nama folder yang
diinginkan. Dan jika berhasil akan tampak seperti gmbar dibawa ini.
Untuk mengecek apakah repository yang dibuat berhasil lakukan pengecekan dengan
mengklik kanan pada repository latihan kemudian pilih browse. Selanjutnya akan diminta username
dan password, isi sesui dengan username dan password yang dibuat.
Berikut yang harus disiapkan adalah SVN Client, dengan perangkat lunak inilah kita dapat
mengambil backup file, mengupdate file yang telah di edit, melakukan comparing terhadap file yang
ada local dengan yang terdapat pada server SVN.
SVN Client yang digunakan pada percobaan kali ini adalah TortoisseSVN dapat didownload di
http://tortoisesvn.net/downloads Ikuti intruksi dalam melakuakan instalasi.
4. Uji Coba
Pada bagian ini saya akan menjelaskan sekaligus mensimulasikan proses CVS pada Server maupun Cliet. Pertama yang kita siapkan dokumen atau sorce code program yang ingin kita simpan pada server disini saya mengunakan souce kode program php yang disimpan dalam satu folder.
Untuk simulasi pertama diamana akan dilakukan penambahan file ke server , dengan cara klik kanan pada isi dari folder kemudian pilih SVN import. Maka tampil halaman seperti dibawa ini. Pada URL of repository isi alamat URL Server tempat kita ingin menyimpan dan isi messages yang kita inginkan seperti gambar dibawa ini. Klik ok
Akan tampil pesan Authentication dan isi username dan password yang telah kita buat sebelumnya, lalu ok.
Jika berhasil akan tampil pesan. Dan di server akan tersimpan data yang telah kita masukkan.
Untuk langka selanjutnya hal yang dilakukan adalah membuat agar folder Data dan beserta
isinya menjadi bahagian dari SVN yang sedang berjalan atau agar proses backup file mudah berjalan
dengan baik. Maka yang harus dilakukan adalah Klik kanan pada folder Data > pilih Checkout, akan
muncul window dengan beberapa yang harus diisi dan diperhatikan : URL repositori : masukkan
alamat file backup yang telah kita lakukan sebelumya, misalnya pada gambar dibawa ini
Maka dengan tahapan diatas, semua file yang terdapat pada URL repositori akan
dimasukkan ke dalam folder Checkout directory, sehingga sampai pada tahapan ini, folder tersebut
telah masuk dalam kesatuan Versioning atau pengaturan backup file yang akan kita lakukan pada
SVN Server. Dan pada folder backup akan terdapat ceklist seperti pada gambar di bawa ini.
Berikutnya hal yang selanjutnya akan dilakukan adalah melakukan manajemen terhadap file
data.
4.1 Simulasi Pertama jika terjadi perubahan data pada file yang kita simpan.Yang dimaksud disini jika dalam penulisan program kita ingin mengganti/merevisi program yang kita buat sebelumnya guna untuk perbaikan ataupun pengembangan.
Contoh :
Dari program yang telah kita simpan di folder uji coba yang telah di backup, coba kita lakukan pengeditan pada file login.php. Maka pada file yang kita rubah tersebut akan ada ikon tanda seru.
Untuk menghilangkan tanda tersebut maka harus dilakukan update terhadap data pada server yaitu dengan mengklik kanan pada file lalu pili SVN commit. Dan akan tampil seperti gambar di bawa ini, dan isi messeges sesui dengan keinginan kita untuk keperluan nantinya.
Klik ok, maka file dalam serverpun akan terganti seperti pada gambar dibawa ini.
Dan langkah selanjutnya adalah melakukan update/backup terhadap file pada folder uji coba tadi sehingga ikon file login.php berubah menjadi ikon ceklist. Dengan cara klik kanan pada file pilih SVN update.
Dari gambar diatas makan proses perubahan datapun telah selesai.
4.2 Simulasi kedua apabila file yang sebelumnya ingin kita gunakan kembali
Pada kondisi ini hal ini terjadi apabila kita ingin mengunakan source code terdahulu atau misal saat ini program yang kita gunakan adalah versi 2 tapi ternyata versi 1 merupakan program yang bagus makan kita ingin mengunakan file itu kembali atau kita ingin membandingkan file versi 1 dengan file versi 2.
Contoh :
Dari sorce code yang dibuat kita ingin menggunakan atau ingin melihat sekaligus membandingkan file yang sebelumnya. Caranya klik kana pada file login.php pilih SVN Show Log, makan akan tampil seperti dibawa ini.
Pada file diatas digambarkan bahwa revisi terhadap file login.php telah dilakukan sebanyak 5 kali maka, kita hanya perlu memilih pada revisi berapa yang kita iginkan. Untuk membandingkannya maka cukup mengklik 2 kali pada menu path maka hasil yang keluar berupa perbandingan perubahan yang dilakukan seperti gambar dibwa ini, dimana file yang saya pilih adalah revisi 3
Untuk langka selanjutnya jika kita ingin menyimpan file sebelum perubahan dilakukan yaitu, dengan klik kanan pada revisi log messages pilih save revision to..., dimana file kita ingin simpan.
Selanjutnya jika kita ingin mengganti file login.php kembaki ke awal yaitu dengan cara pilih pada revisi yang diinginkan pada log messages, pada menu path klik kanan selanjutnya pilih revert changes from this revision.
Maka file uji coba yang dibackup akan berubah, file tersebut akan kembali seperti awal semula. Dan selanjutnya hal yang dilakukan adalah agar file tersebut sama dengan server maka harus dilakukan upadate. Dengan cara klik kanan pada file pilih SVN update, maka tampilan server akan seperti gambar dibawa ini.