Jumat, 21 April 2017

ARKADEMY IoT Challenge Vol. 2 : What is GIT? Mengenal Apa itu GIT

Teknologi Informatika memang sangat berkembang pesat dalam masa ini. Hampir tidak ada hal yang terjamah oleh informatika. Salah satu pengembanganya yaitu IoT atau Internet of Things. Dalam Artikel Cara Kerja LED sudah dijelaskan bahwa IoT terdapat 2 pengembangan teknologi yaitu Elektronika dan Informatika. 

Dalam membuat sebuah Project Developing baik itu project IoT atau Informatika yang lain, bisa dilakukan oleh 1 (satu) orang atau berkelompok. Dalam pengerjaan project perseorangan dirasa cukup mudah untuk mengerjakan semua perubahan dan penambahan semua script maupun asset ke dalam project tersebut.

Tetapi, dengan adanya sebuah pengontrol versi yang digunakan untuk melihat log perubahan pada sebuah source code atau yang biasa disebut VCS (Version Control System), Programer akan tahu apa saja yang telah dirubah dan direvisi di dalam project yang sedang Ia kembangkan.

Mengenal VCS (Version Control System)


Kita sering melihat adanya tanda version pada sebuah aplikasi atau source code yang bersebaran di internet dan disertai dengan release notes yang merupakan perubahan-perubahan dan tambahan fitur dari sebuah aplikasi maupun source code tersebut.

Version Control System (VCS) adalah sebuah sistem yang mencatat setiap perubahan terhadap file dan folder project. Catatannya pun dilengkapi dengan informasiapa saja perubahan yang terjadi, tanggal, dan orang perubahannya. Dengan menggunakan Version Control System, coder dapat dengan mudah untuk berpindah dari satu revisi ke revisi lain tanpa bingung mengingat ingat revisi yang telah dilakukan.

Tanda versi tersebut merupakan VCS dan terdapat banyak penyedia VCS di internet. Contohnya Bazaar, Subversion, GNU Arch, Perforce, dan yang paling terkenal adalah Git. Kali ini saya akan membahas salah satu contoh VCS yaitu Git.

Memulai dengan GIT


Image result for git

Git merupakan VCS yang dikembangkan oleh Linus Torvald saat Ia mengembangakn Kernel Linux dan Linux itu sendiri. Git merupakan VCS yang tidak terpusat (Decentalized Version Control System) atau bisa juga disebut VCS terdistribusi. Jenis VCS ini juga sama dengan VCS Mercurial, Bazaar, dan Darcs. 

KhoFact : Ada 3 Macam tipe VSC, yaitu Local VCS, Centralized VCS, dan Distributed VCS

Keunggulan dari Git dibanding dengan VCS yang lain : 


  • Repository syncing 
  • Bekerja secara offline
  • Cheap local branching
  • Staging area yang nyaman 
  • Mampu menangani proyek besar secara efektif
  • Kecepatan dan ukuran data yang kecil
  • Mendukung non-linear development
  • Multiple workflow

GIT Repository

Image result for git repository

Git sangat cocok untuk digunakan developer yang bekerja secara kolaborasi atau kelompok dalam suatu project yang sama. Karena Git dapat menyimpan source code serta semua log perubahan dan penambahan yang dicommit (update) oleh anggota dalam project tersebut dan dipush (upload) ke sebuah hosting Git yang disebut dengan Git Repository.

Untuk menghostingnya banyak provider Git Repository contohnya yaitu Github, Bitbucket, Assembla, dan Gitorious. Mengapa diperlukan Git Repository? Karena jika diupload ke Repository maka semua developer yang bekerja dalam project itu akan mendapatkan salinan dari source code dan log versionnya sehingga terjadi keselarasan antar developer dalam memengembangkan project tersebut.

Image result for staging git

Dalam Git ada 3 kondisi file : 

  1. Modified adalah kondisi dimana revisi atau perubahan sudah anda lakukan tetapi belum ditandai dan belum disimpan di Version Control System, dengan kata lain hanya filenya saja yang diubah tetapi belum terecord perubahannya.
  2. Staged adalah kondisi dimana revisi sudah ditandai tetapi belum disimpan di Version Control System, file jenis ini akan menunggu commit untuk disimpan di Version Control.
  3. Committed adalah kondisi dimana revisi sudah disimpan di Version Control System dan menjadi Record log.
3 tahapan itu disusun secara berurutan yaitu Modified – Staged – Commit. Ketiga kondisi tersebut dipentukan untuk membagi revisi disetiap perubahannya jadi jika kita nanti akan menambah atau merubah revisi tersebut kita tidak kesulitan. Selain itu, jika kita bekerja dalam kolaborasi anggota yang besar kita dapat memilih fitur mana yang dicommit dan fitur mana yang dihapus.

Di dalam Git akan terdapat berbagai macam fitur yang dapat digunakan untuk mencatat revisi-revisi dalam mengerjakan project. Hal ini sangat membantu programer dalam berkolaborasi dengan programer yang lain.

Bagaimana saya memulai Git?


Kali ini saya tidak sempat untuk membahas bagaimana command dan cara kerja dit secara mendetail. Tetapi, Anda dapat belajar mengenai git lebih jauh melalui CodeSaya untuk Bahasa Indonesia dan Try Git untuk Bahasa Inggris.

Berikut contoh syntax yang digunakan dalam Git bash :
$ git init
$ git add *.c
$ git add README
$ git commit -m 'initial project version'
$ git push origin master

Berkenalan dengan Github


Image result for github


Github merupakan salah satu penyimpanan Repository yang sangat terkenal dikalangan programer dunia. Dikarenakan service yang ditawarkan oleh github adalah Free Service alias Gratis. Adapun untuk perusahaan yang memerlukan space yang sangat besar untuk projectnya dapat menyewa hosting repository di github.

Cara mendaftar di Github pun cukup mudah. Anda tinggal mendaftar di Github dan memulai menggunakan semua service yang ada di Github. Untuk tutorialnya juga tersedia di CodeSaya untuk Bahasa Indonesia dan Try Git untuk Bahasa Inggris.

Sekian penjelasan saya mengenai VCS Git dan Github semoga bermanfaat untuk para Programer dalam develop project.

Salam KhoMyPi


EmoticonEmoticon