
Pengembangan Aplikasi Menggunakan Git (1)
Kolaborator pekerjaan para pengembang yang satu ini memang guna banget!
Oleh: Restu Arif Priyono
Pengembangan aplikasi biasanya dilakukan bersama-sama secara tim, terutama untuk aplikasi yang memiliki scope yang besar. Artinya, banyak fitur yang harus dibuat dalam pengembangan aplikasi tersebut.
Pembagian atau modularisasi pekerjaan dalam pembangunan aplikasi biasa dilakukan berdasarkan fitur, subsistem, fungsi, dan sebagainya.
Tantangan dari bekerja secara tim ini adalah bagaimana menggabungkan pekerjaan-pekerjaan yang dilakukan terpisah-pisah ini menjadi sebuah sistem utuh ketika di-deploy.
Sebelum membahas lebih lanjut soal Git, mungkin kita perlu tahu apa itu Git sebenarnya.
Git merupakan perangkat lunak yang bisa digunakan untuk mengelola pengerjaan perangkat lunak yang terpisah-pisah dari setiap pengembang, menjadi sebuah sistem utuh.
Tulisan ini tidak akan membahas mengenai cara instalasi Git.
Namun lebih kepada Git secara konseptual, dan memperkenalkan beberapa istilah dalam penggunaan Git, beserta artinya. Cara instalasi Git akan disampaikan pada tulisan berikutnya.
Pengenalan Git
Git adalah sebuah perangkat lunak open source yang dapat digunakan untuk mengelola pengembangan perangkat lunak (Software Management Tool). Ini agar pengembangan aplikasi bisa dikerjakan secara terdistribusi.
Git sering disebut sebagai perangkat lunak version control, yang artinya setiap perubahan yang dibuat ketika melakukan pengembangan perangkat lunak akan disimpan.
Jadi, kapanpun kita ingin kembali ke sebuah kondisi penyimpanan tertentu, kita bisa melakukannya dengan mudah.
Masa-masa sebelum Git
Ketika perangkat lunak dibuat, sedangkan version control belum ada, pengembang aplikasi biasanya menulis source code pada komputer masing-masing.
Kemudian setelah kodenya dianggap selesai, kode tersebut diberikan melalui flash disk atau media lain kepada pimpinan tim (atau orang lain yang dianggap bisa menggabungkan kode), dan pimpinan tim tersebut melakukan integrasi kode yang dibuat oleh rekan-rekan setimnya.
Di sinilah terdapat beban berat yang diemban para integrator, karena mereka harus tahu file mana yang harus diubah, dan harus mengingat-ingat apa saja bagian yang berubah, karena jika integrasi gagal, maka dia harus mengembalikannya ke kondisi sistem sebelumnya yang dapat berjalan dengan baik.
Zaman berkembang, dan pengembang mulai memanfaatkan layanan cloud storage, seperti Dropbox atau Google Drive untuk berbagi berkas atau direktori, kemudian juga dimanfaatkan untuk mengembangkan aplikasi bersama-sama pada direktori yang dibagikan ini.
Masalah yang muncul ketika hal ini dilakukan adalah terjadinya konflik ketika pengembang yang berbeda mengubah satu file yang sama.
Kemudian para pengembang ini mulai saling menuding, muncul keributan, dan akhirnya menimbulkan perpecahan. Mungkin hal ini berlebihan, namun bukan tidak mungkin untuk terjadi.
Untunglah version control menjadi solusi permasalahan ini.
Perannya adalah untuk membagi-bagi pekerjaan setiap pengembang, kemudian menyatukannya dengan mekanisme dan prosedur yang rapi. Tujuannya adalah memperkecil kemungkinan adanya konflik pada kode yang dibuat oleh para pengembang.
Alhasil, pengembang pun dapat fokus dalam menyelesaikan masalah. Bukannya tersendat masalah integrasi, dan saling menuding ketika terdapat konflik kode ketika pengembang mengubah file yang sama.[Bersambung]

