• This is slide 1 description. Go to Edit HTML of your blogger blog. Find these sentences. You can replace these sentences with your own words.
  • This is slide 2 description. Go to Edit HTML of your blogger blog. Find these sentences. You can replace these sentences with your own words.
  • This is slide 3 description. Go to Edit HTML of your blogger blog. Find these sentences. You can replace these sentences with your own words.
  • This is slide 4 description. Go to Edit HTML of your blogger blog. Find these sentences. You can replace these sentences with your own words.
  • This is slide 5 description. Go to Edit HTML of your blogger blog. Find these sentences. You can replace these sentences with your own words.

Sunday, October 9, 2022

Version Control System

 Pada saat saya minta mengajukan perpindahan AQM dan SSO dari server AWS ke Goocle Cloud, saya harus membuat dokumen pengajuan migrasi AMQ & SSO yang harus di setujui oleh 3 divisi yaitu infra, IT Enablement dan ke atasan pada squad atau tim.

 Pada saat setiap orang sign, saya simpan dokumen tersebut sebagai versi berikutnya saya lakukan berurutan sesuai dengan tanda tangannya. Hal ini saya lakukan untuk bisa nge-track perubahannya, dan sebagai backup jika versi yang terakhir bermasalah saya bisa ambil versi yang sebelumnya. seperti berikut version nya :

  1. versi sign 01 - dokument ini sudah saya sign sebagai yang membuat dokumen
  2. versi sign 02 - dokumen di sign oleh atasan saya
  3. versi sign 03 - dokumen telah di sign oleh infra 
  4. versi sign 04 - dokumen telah di sign IT Enablement
 Hampir semua bagian di dalam perusahaan melakukan hal tersebut dan biasanya secara manual.


Saat ini sudah ada Version Control System dari GIT yang bisa kita gunakan untuk case seperti di atas. Version Control adalah sebuah system yang merekam perubahan pada file dari waktu ke waktu, sehingga kita bisa melihat versi sebelumnya jika kita menginginkannya.

Version Control saat ini sangat populer di kalangan programmer, karena programmer selalu membuat code program dalam bentuk kode tulisan. Dengan Version Control programmer bisa merekam semua perubahan yang terjadi. Sehingga jika ada kesalahan programmer bisa dengan mudah kembali ke Versi Sebelumnya.

Version control dapat digunakan untuk file dalam bentuk text namun juga dapat digunakan file lain misal seorang grafik designer dapat menggunakan version control system untuk file PSD, ilustrator dll sehingga designer tidak perlu membackup secara manual.

Secara garis besar, Version Control System ada 3 jenis. yaitu :

  1. Local Version Control
    • Local version control merupakan version control yang hanya berjalan pada di local computer.
    • pendekatan ini bisa digunakan karena sederhana dan tidak butuh server, karena semua riwayat pekerjaan tersimpan di local computer.
    • setiap perubahan versi yang tersimpan di file tersimpan di local computer

  2. Centralized Version Control
    • masalah yang terjadi pada local version control adalah jika computer rusak maka seluruh data akan hilang
    • selain itu, agak sulit berkolaborasi dengan pengguna lain jika file hanya ada pada satu computer
    • untuk menangani masalah ini, kita bisa menggunakan Centrlized Version Control
    • local version control menyimpan seluruh perubahan data pada server
    • pengguna bisa mengakses data ke server untuk melihat perubahan file
    • kekurangannya adalah jika pengguna offline mereka tidak bisa melihat semua riwayat file karena semua riwayat hanya ada pada server.
    • selain itu, jika server down maka seluruh pengguna tidak bisa melakukan perubahan ataupun melihat perubahan / revisi file.
    • contoh Centralized Version Control adalah Subrversion

  3. Distributed Version Control (DVS)
    • distributed version control adalah alternatif lain dari centralized version control 
    • dalam DVSclient tidak hanya mengambil version terakhir namun seluruh riwayat version control di copy seluruhnya.
    • dengan begitu, jika ada masalah pada server. client masih tetap bisa bekerja memanipulasi file, sampai melihata riwayat perubahan.
    • bahkan dalam DVS, server bisa lebih dari satu, karena tiap server isinya sama yaitu full backup data.
    • contoh DVS adalah GIT, Mercurial, dll