Source Code Management / SCM dengan Gitkraken (Gratis Video Tutorial)
Selamat datang para pembaca yang budiman, khususnya para developer dan pengembang sistem se-tanah air. Saat ini perkembangan dunia pekerjaan dalam bidang pengembangan sistem (khususnya) dihadapkan pada budaya atau kultur baru yaitu bekerja dengan metode kolaborasi. Metode ini sebenarnya sudah sering kita implementasikan namun seiring perkembangan teknologi, metode ini menjadi lebih efisien dan efektif. Teman-teman yang bergelut dibidang pengembangan sistem pasti pernah merasakan bagaimana sulitnya ketika metode kolaborasi masih dilakukan secara manual. Dalam praktik pengembangan sistem aplikasi kira-kira seperti ini:
Programmer A diberi tugas untuk membuat modul Monitoring Pegawai,
Programmer B diberi tugas untuk membuat modul Penggajian,
Programmer C diberi tugas untuk mengembangkan modul Kenaikan Pangkat.
Hal pertama yang dilakukan adalah, masing-masing programmer akan mengambil kode sumber utama bisa dalam bentuk Sarter Kits yang telah disepakati akan menjadi base awal. Kode sumber utama ini biasanya sudah berisi modul dasar aplikasi yaitu Login system, Registration system, User Management, Role Management serta fungsi dasar lainnya. Setelah masing-masing melakukan clonning kode sumber, maka mereka akan mulai melakukan tugasnya sesuai job description yang sudah ditetapkan. Masing-masing programmer akan menyebar mencari inspirasinya masing-masing dan kembali dengan hasilnya selama kurun waktu tertentu.
Pada saat deadline, project leader akan mengumpulkan mereka dan menyatukan semua modul menjadi satu sistem yang utuh. Di sinilah permasalahan akan mulai banyak ditemui. Untuk menggabungkan berbagai macam kode dari banyak programmer pasti akan terjadi yang namanya konflik kode, redudansi kode serta fungsi-fungsi yang berulang. Bayangkan berapa banyak waktu yang dibutuhkan untuk menyatukan semua kode bila dilakukan secara manual (Copy-Paste).
Beruntunglah saat ini banyak kita temui vendor yang menyediakan tools untuk melakukan kolaborasi pengembangan sistem. Tool ini sering disebut dengan Version Control System (VCS). VCS yang ada saat ini secara garis besar ada 2 yaitu Git dan SVN ( Subversion). Dikutip dari Sumber: https://www.codepolitan.com/perbedaan-antara-git-dan-svn-57bbec19c6bb3-17340
Git adalah sistem kendali kode sumber (revision control system, atau version control system, atau VCS). Git pertama kali didesain dan dikoding oleh Bapak Linux sendiri, Linus Torvalds, tahun 2005 untuk menggantikan VCS komersial BitKeeper yang kala itu digunakan untuk mengatur kode sumber Linux.
Subversion, atau dikenal juga dengan nama SVN, adalah suatu perangkat lunak sumber terbuka pengontrol versi yang dapat mengatur proses pengembangan perangkat lunak yang dilakukan oleh suatu kelompok pemrogram yang terpisah menjadi runut dan teratur. Subversion diciptakan oleh CollabNet yang memegang merek dagang “Subversion” dan sampai sekarang masih memelihara proyek ini.
Secara garis besar keduanya memiliki fungsi yang sama yaitu sebagai Version control, sebuah sistem yang mencatat semua perubahan yang terjadi pada file atau sekumpulan file seiring dengan waktu, jadi dengan demikian kamu dapat memanggil versi spesifiknya dilain waktu.
Dengan adanya Source Code Management maka ketiga programmer di awal tidak perlu menunggu saat deadline baru menyerahkan pekerjaan untuk dikompilasi, namun mereka bisa secara realtime melakukan update pekerjaan dan dilakukan reviu serta kompilasi oleh project leader. Ketika ada permasalahan seperti konflik file, redudansi serta duplikasi fungsi, project leader akan dapat melakukan perbaikan secara cepat dan tidak memerlukan metode konvensional copy-paste kode. Semua ini dapat terwujud karena metode kolaborasi sudah menggunakan tools yang diakses melalui komunikasi internet. Untuk teman-teman yang ingin memperdalam teori dan pemahaman mengenai SCM (Source Code Management) bisa mengakses video tutorial GRATIS dari Dikoding di bawah ini.
Implementasi SCM dengan Gitkraken
Secara teori teman-teman pasti sudah memahami dengan penjelasan di atas. Saat ini kita akan mengenal tools yang biasa saya pakai untuk kolaborasi dan Source Code Management yaitu Gitkraken.
Pertama-tama silakan mengunduh software tersebut melalui link berikut, http://bit.ly/gitkraken_download.
Setelah proses instalasi selesai, teman-teman diharuskan melakukan registrasi member baru aplikasi gitkraken seperti gambar di bawah:
Pada semua aplikasi SCM yang ada sebenarnya konsepnya hanya ada 2 hal yang perlu dipahami yaitu Pull dan Push.
- Pull untuk proses mengambil kode dari server kolaborasi.
- Push untuk proses menyimpan kode ke dalam server kolaborasi.
Server kolaborasi adalah media penyimpanan online yang bisa disediakan secara gratis maupun berbayar. Contoh yang gratis seperti Github.com, Gitlab.com, Bitbucket.com dan lain sebagainya. Server kolaborasi inilah yang dipakai sebagai tempat untuk mengkompilasi kode dari beberapa programmer yang terlibat. Server ini sering disebut juga dengan Repositories (Repo).
Untuk proses Pull teman-teman akan mengunduh kode sumber dan otomatis akan menambahkan file tersebut pada kode yang sedang teman-teman kerjakan. Sedangkan proses Push teman-teman akan melalui proses untuk Stage Files dan melakukan Commit Files untuk menyimpan kondisi kode pada saat ini. Stages Files dan Commit Files hanya akan merubah status pada kode masing-masing programmer. Apabila proses Commit Files sudah dilakukan maka ketika proses Push dilakukan, kode tersebut akan langsung diupload ke repository online (server kolaborasi).
Untuk lebih jelas mengenai praktik menggunakan Gitkraken + Github bisa langsung mengunjungi artikel rekan saya di https://medium.com/@kiddy.xyz/tutorial-github-desktop-with-gitkraken-branching-merge-version-control-c679e5e547a2
Sekian artikel mengenai Source Code Management dengan tool Gitkraken, semoga bermanfaat bagi teman-teman semua.