kolaborasi source code bersama tim dengan tortoisehg

13
KOLABORASI SOURCE CODE BERSAMA TIM DENGAN TORTOISEHG (MERCURIAL) DAN GOOGLE CODE A. PENDAHULUAN Versioning Control System (VCS) atau sering juga disebut Revision 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, menurut Scott Chacon (2009:1). VCS berfungsi untuk mencatat perubahan berkala pada setiap file dengan detail pencatatan berupa: 1. Tanggal perubahan: Anda akan mengetahui kapan terakhir script tersebut dirubah. 2. User yang merubah: Anda akan mengetahui yang mana dalam tim anda yang melakukan perubahan 3. Baris kode perubahan: Karena file dicatat waktu per waktu maka anda dapat membandingkan setiap barisan kode perubahan. 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. Ditambah lagi, anda mendapatkan semua ini dengan overhead yang sangat sedikit. Jenis Version Control System dapat dibagi menjadi tiga jenis, yaitu sebagai berikut: 1. Local Version Control System Dikembangkan berdasarkan perilaku para programmer yang melakukan revision control dengan cara menyalin berkas-berkas pada direktori

Upload: windu-gata

Post on 31-Dec-2015

129 views

Category:

Documents


6 download

TRANSCRIPT

KOLABORASI SOURCE CODE BERSAMA TIM DENGAN TORTOISEHG (MERCURIAL)

DAN GOOGLE CODE

A. PENDAHULUAN

Versioning Control System (VCS) atau sering juga disebut Revision 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, menurut Scott Chacon (2009:1). VCS

berfungsi untuk mencatat perubahan berkala pada setiap file dengan detail pencatatan berupa:

1. Tanggal perubahan: Anda akan mengetahui kapan terakhir script tersebut dirubah.

2. User yang merubah: Anda akan mengetahui yang mana dalam tim anda yang melakukan perubahan

3. Baris kode perubahan: Karena file dicatat waktu per waktu maka anda dapat membandingkan

setiap barisan kode perubahan.

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. Ditambah lagi, anda mendapatkan

semua ini dengan overhead yang sangat sedikit.

Jenis Version Control System dapat dibagi menjadi tiga jenis, yaitu sebagai berikut:

1. Local Version Control System

Dikembangkan berdasarkan perilaku para programmer yang melakukan revision control dengan cara

menyalin berkas-berkas pada direktori lain. Metode ini umum digunakan, namun rawan. Version

Control System Local memiliki sebuah basis data sederhana untuk menyimpan semua perubahan pada

berkas yang berada dalam cakupan revision control. Salah satu tool VSC yang popular adalah rsc. Tools

ini pada dasarnya bekerja dengan cara menyimpan kumpulan patch dari satu perubahan ke perubahan

lainnya dalam format khusus pada disk.

2. Central Version Control System

Masalah berikut yang dihadapi oleh seorang programmer adalah bagaimana berkolaborasi dengan

programmer atau pengembang lainnya. Oleh karena itu untuk mengatasi permasalah ini maka

dibangunlah Centralized Version Cotrol System (CVSs). Sistem ini diantaranya CVS, Suberversion dan

Perforce, memiliki sebuah server untuk menyimpan setiap tool version, dan beberapa klien yang dapat

melakukan checkout berkas dari server pusat.

Sistem ini memiliki beberapa kelebihan, terutama jika dibandingkan dengan VSC local, yaitu:

a. Setiap orang pada tingkat tertentu mengetahui apa yang orang lain lakukan pada proyek

b. Administrator memiliki kendali yang mantap atas apa yang dilakukan setiap orang yang mempunyai

hak akses terhadap proyek.

c. Jauh lebih mudah untuk mengelola sebuah CVCS dibadingkan dengan database local pada setiap

client.

3. Distributed Version Control System

Inilah saatnya bagi Distributed Version Control Systems untuk mengambil tempat. dalam sebuah DVCS

(seperti Git, Mercurial, Bazaar atau Darcs), klien tidak hanya melakukan checkout untuk snapshot

terakhir setiap berkas, namun mereka (klien) memiliki salinan penuh dari repositori tersebut. Jadi, jika

server mati, dan sistem berkolaborasi melalui server tersebut, maka klien manapun dapat mengirimkan

salinan repositori tersebut kembali ke server. Setiap checkout pada DVCS merupakan sebuah backup

dari keseluruhan data.

B. TOOL PENDUKUNG

Pada pembuatan project kali ini kita memerlukan beberapa software pendukung. Berikut adalah

software pendukung yang diperlukan:

1. Mercurial

Menurut Bryan O’Sullivan Mercurial merupakan distributed source/ distributed revision control secara

gratis. Ditulis menggunakan PyThon dimana sebelumnya hanya dapat dijalankan di sistem operasi Linux

namu saat ini telah mulai dapat dijajalankan di beberapa Sistem Operasi seperti: windows dan macOS)

Mercurial memiliki seperangkat yang unik, sehingga sebagai pilihan yang baik untuk sebuah revision

control system. Berikut kelebihan dari mercurial:

a. Mudah diperlajari dan digunakan

Anda dapat mengikuti panduan sederhana untuk belajar bagaiman revisi dokumen anda dengan

Mercurial atau hanya menggunakan dengan cepat. Sebuah gambaran singkat dari model

desentralisasi di Mercurial juga tersedia.

b. Cepat dan Powerful

Mercurial efisien menangani proyek dari berbagai ukuran dan jenis. Setiap Clone berisi keseluruhan

histori proyek. Sehingga tindakan local dapat ditangani dengan cepat dan mudah.

c. Mudah untuk dimodifikasi

Mercurial berusaha untuk memenuhi setiap pekerjaannya. Tugas yang palng hanya bekerja pada

percobaan pertama dan tanpa memerlukan pengetahuan rahasia.

Catatan: Untuk mengetahui tools yang suport dengan mercurial dapat dilihat di situs resminya yaitu:

http://mercurial.selenic.com

a. Repository : http://mercurial.selenic.com/wiki/Repository

b. Mercurial Hosting : http://mercurial.selenic.com/wiki/MercurialHosting

c. Tools Suport Mercurial : http://mercurial.selenic.com/wiki/OtherTools

2. Google Code

Google Code merupakan salah satu layanan untuk membuat file hosting gratis dan mudah sebagai atau

sebagai media meyimpanan berupa file. Supports distributed control yaitu svn dan hg(mercurial).

Google code memiliki keunggulan, yaitu:

a. Mudah digunakan

b. Kapasistas penyimpanan sampai 4 GB (dapat ditambah dengan membuat project baru)

c. Kapasistas upload per file maksimal 200 Mb

d. Gratis

Langkah-langkah memulai membangun Repository Online Google Code

1. Masuk ke web google code http://code.google.com/intl/id/projecthosting/

2. Memasukan email gmail yang anda miliki

3. Klik Create New Project Tampil Form Pembuatan Project

4. Tampilan Halaman Utama Repositori onlie di google code

5. Menambahkan member yang bergabung ke dalam project, memasukan email member di kotak

isian add member pilih salah satu Role klik tombol Add members

3. TortoiseHg

TortoiseHg merupakan tool GUI untuk Mercurial. Tersedia untuk Windows, Linux(Gnome) dan Mac OS.

TortoiseHg telah include Mercurial, sehingga tidak perlu lagi untuk install Mercurial secara manual.

Di Windows

TortoiseHg terdiri dari ekstensi shell, yang menyediakan ikon overlay dan menu konteks explorer file

Anda, dan program baris perintah bernama hgtk.exe yang dapat menjalankan perangkat TortoiseHg.

Paket biner dari TortoiseHg untuk Windows dilengkapi dengan Mercurial dan merge dan karena itu

benar-benar siap untuk digunakan "Out of the Box".

Sebuah Panduan Cepat untuk TortoiseHg

a. Kofigurasi TortoiseHg

Langkah pertama Anda harus memastikan bahwa Anda benar diidentifikasi untuk TortoiseHg. Anda

melakukan ini dengan membuka dialog pengaturan global. Klik kanan pada latar belakang desktop

dan pilih TortoiseHg ‣ Global Settings.

Ini akan membuka dialog pengaturan TortoiseHg, mengedit global Anda (user) konfigurasi. Jika

Anda menggunakan baris perintah, dialog pengaturan global dapat dibuka oleh hgtk userconfig.

Dialog Setting TortoiseHg

Pertama pilih Commit dan masukkan nama dalam kolom Nama pengguna.

b. Inisialisasi Repositori

Membuat repository awal pada komputer lokal Anda dengan menggunakan Create Repository

Here, dalam menu option, atau perintah dalam folder, ketik hgtk init. Anda hanya perlu melakukan

ini sekali dalam root folder dari project Anda.

Gambar: Repository init Dialog

c. Share Repositori

Selain kita dapat membuat repository di komputer lokal, namun kita dapat mengclone repository

yang ada di repository online ke dalam repository di komputer lokal. Berikut adalah langkah-

langkahnya:

Hasil Clone

d. Commit

Commit adalah istilah untuk mendaftarkan perubahan ke changeset lokal Anda. Changeset adalah

sekumpulan perubahan source code pada project. Setiap changeset memiliki ID unik untuk

membedakannya. Commit repository local dengan klik kanan pada folder kilk Hg Commit.

Commit memudahkan Anda melihat perbedaan atau perubahan. Mercurial memungkinkan

Anda untuk melakukan banyak perubahan sebelum Anda memutuskan untuk menyinkronkan

(share perubahan) dengan repository yang ada.

e. Bekerja Dengan Repositori Anda

Ketika Anda siap untuk menerbitkan perubahan yang telah dilakukan, apabila anda:

1) Commit perubahan ke repository local Anda

2) Pull perubahan dari repository kelompok ke repository anda, klik kanan Hg WorkBench

pilih pull

3) Jika beberapa changesets ditarik, menggabunkan perubahan dengan perubahan local Anda dan

kemudian melakukan penggabungan ke dalam repository local Anda.

4) Pastikan pekerjaaan merger anda masih berjalan dan lulus tes suite.

5) Push perubahan ke repository kelompok ke repository anda, klik kanan Hg WorkBench

pilih push

Belum di Commit

Push File ke Repository kelompok/ online

Push adalah istilah untuk mengirim changeset ke repository online Anda.

Tombol Push

Pull File dari Repository kelompok/ online ke repository local

Pull adalah istilah untuk menarik source code dari repository utama yang biasanya online.

Referensi

A Quick Start Guide to TortoiseHg v2.6.0 (http://tortoisehg.bitbucket.org/manual/2.7/quick.html), akses terakhir tanggal 27 Januari 2013.

Chacon, Scott. 2009. Pro Git (Everything you need to know about the Git distributed soure control tool). US: Apress.

O’Sullivan, Bryan. 2009. The Definitive Guide. US: O’Reilly Media.

Work easier, work faster (http://mercurial.selenic.com/) akses terakhir tanggal 28 Januari 2013.

Tombol Pull File