Belajar Subversion yuuk : Pengenalan Version Control
Kemampuan menggunakan version control merupakan hal yang masih langka ditemukan di kalangan programmer Indonesia. Tidak banyak buku, tutorial ataupun tempat pelatihan yang menyediakan bahan pembelajaran dalam bahasa indonesia. Bahkan di banyak perusahaan software consultant, version control ini masih jarang digunakan.
Padahal kemampuan menggunakan version control adalah kemampuan wajib yang harus dimiliki oleh tim programmer. Di seluruh dunia, ribuan programmer terlibat dalam pengembangan proyek opensouce, kolaborasi dalam skala raksasa seperti ini mustahil dilaksanakan tanpa adanya version control. Akan terjadi bencana dan kekacauan jika kode sumber hanya diletakkan di website, kemudian dibagi ke semua programmer. Jika dua orang programmer bekerja dalam file yang sama, mereka akan saling menimpa pekerjaan temannya, dan jika terjadi kesalahan maka tidak akan mungkin mengembalikan keadaan kode ke keadaan sebelumnya tanpa usaha yang cukup besar.
Version control dapat membantu sebuah tim pengembang perangkat lunak dengan menyediakan akses kepada setiap anggota tim tanpa harus saling menimpa pekerjaan anggota tim yang lain, seperti yang terjadi jika sebuah tim pengembang menggunakan sharing folder. Version control mampu :
- Mencatat perubahan code dan pembuat perubahan
- Menyediakan fungsi undo untuk mengembalikan keadaan code ke titik tertentu
- Melihat riwayat perubahan code, dari pertama dibuat hingga keadaan yang sekarang
- Memungkinkan penulisan code secara paralel tanpa ada kejadian anggota tim menimpa pekerjaan anggota tim yang lain.
Jumlah maksimal programmer yang dapat bekerja sama tanpa menggunakan version control adalah satu orang (Endy, 2006). Jika dalam sebuah tim pengembang software terdapat sebuah tim programmer yang lebih dari satu, version control adalah tools yang wajib digunakan.
Ada banyak aplikasi version control yang tersedia, beberapa aplikasi yang cukup terkenal antara lain :
- Visual Source Safe, version control buatan microsoft. Terintegrasi dengan Visual Studio
- CVS, version control dikembangkan oleh CollabNet yang dipimpin oleh Karl Fogel. CVS adalah version control yang dikembangkan dengan lisensi opensource dan sudah sangat banyak digunakan. CVS juga mempunyai software pendukung yang sangat besar, dan juga didukung oleh hampir semua IDE besar.
- Subversion, dibuat dengan tujuan untuk menggantikan CVS yang mempunyai kelemahan-kelemahan sehingga tidak cocok lagi dengan paradigma pengembangan perangkat lunak yang sedang trend saat ini. Subversion ini dikembangkan oleh CollabNet dan dibuat oleh orang yang sama yang membuat CVS, Karl fogel.
Penggunaan Version Control
Di bagian sebelumnya sudah dijelaskan apa itu version control, untuk lebih jelasnya bagaimana sekenario version control digunakan, simak cerita berikut.
Ifnu dan Dhiku terlibat proyek pengembangan sebuah aplikasi untuk menampilkan data berupa text dan gambar dari dalam database. Software ini dikembangkan atas permintaan sebuah stasiun televisi Oke Banged. Ifnu dan Dhiku berdomisili di tempat yang berbeda dan masing-masing mempunyai kesibukan yang tidak dapat ditinggalkan pada jam kerja. Sehingga mereka mempunyai waktu yang sangat terbatas untuk bertatap muka secara langsung.
Dhiku menginstal version control server dan membuat repository untuk program tersebut di rumahnya yang terhubung ke internet 24 jam sehari, 7 hari seminggu. Semua kode program yang dibutuhkan disimpan dalam repository dan dapat diakses oleh mereka berdua.
Pengembangan aplikasi ini hanya membutuhkan waktu seminggu, karena ukuran aplikasinya yang tidak terlalu besar dan sederhana. Selama waktu tersebut keduanya silih berganti menambahkan kode ke dalam repository. Mengerjakan bagiannya masing-masing dan melakukan test terhadap setiap fungsi yang ditambahkan.
Setelah waktu yang ditentukan habis, Dhiku menginstal aplikasi di stasiun televisi Oke Banged. Semua kode program terbaru diambil dari repository dan dimasukkan ke dalam laptop untuk selanjutnya dibawa ke tempat presentasi. Setelah tiba di kantor stasiun televisi Oke Banged, kode program tersebut mengalami error serius ketika dikompilasi!! Dhiku tidak panik, dengan tenang segera melakukan koneksi ke internet menggunakan CDMA modem. Kemudian mengakses repository server dan melihat catatan perubahan kode program. Ternyata Ifnu menambahkan satu bonus fitur baru untuk melihat gambar dalam tampilan thumbnail yang dikerjakan semalam,pasti ini penyebabnya, karena hari sebelumnya Dhiku sudah memastikan bahwa semua fungsi program berjalan dengan baik dan siap untuk diimplementasikan.
Untungnya Ifnu tidak lupa untuk memberikan penanda (tag) terhadap perubahan yang dilakukanya semalam. Dengan cepat Dhiku mengambil kode program sesuai kondisi sebelum perubahan yang dibuat oleh Ifnu semalam (undo). Kali ini program berjalan dengan lancar tanpa ada satupun error. Berkat digunakanya Version Control dengan disiplin bencana yang ada di depan mata dapat dihindari.
Berdasarkan cerita diatas, jelas bahwa penggunaan Version Control dalam pengembangan software yang dilakukan oleh sebuah tim programmer sangat penting, bahkan sudah wajib hukumnya. Version control akan melakukan pencatatan setiap perubahan kode program. Dengan begitu, banyak sekali manfaat yang dapat diambil dan masalah yang dapat dihindari. Masih banyak lagi fitur-fitur version control yang akan kita bahas dalam bagian-bagian selanjutnya.
sumber : "Konsep dan Penggunaan Subversion", Endy Muhardin, endy.artivisi.com endy.muhardin@gmail.com
Semoga bermanfaat,
regards
07:54PM 05 Feb 2007 dalam kategori Project Management oleh ifnu Comments[1]
Ini gw, 




woow makasih banget nih...
ane lagi butuh banget pengertian tentang cvs ini..
ada bahan2 yg kira2 bisa ane pelajari ga??
thx banget
Posted by spiderio on September 09, 2007 at 11:06 PM WIT #