Anda di halaman 1dari 8

Persiapan Studi Kasus Kolaborasi dengan Tim

Tujuan
Studi Kasus Kolaborasi dengan Tim bertujuan untuk memperdalam materi tentang Git branch dan berkolaborasi dengan tim. Beberapa
bagian dari studi kasus ini akan menjawab beberapa pertanyaan umum mengenai perintah dasar Git, seperti:

• Bagaimana menambahkan perubahan pada repository orang lain?


• Bagaimana menyalin repository orang lain ke repository pribadi?
• Bagaimana melakukan PR atau Pull-Request?
• Bagaimana agar PR dapat approved atau diterima?

Tahapan Proses
Berikut tahapan proses yang akan kita lakukan dalam studi kasus berkolaborasi dengan tim:

1. Membuat public repository baru di GitHub.com.


2. Menambahkan berkas readme ke dalam repository.
3. Menambahkan aturan pada berkas readme.
4. Melakukan forking atau menyalin repository orang lain ke repository pribadi.
5. Mengubah berkas readme.
6. Melakukan pull-request.
7. Menangani pull-request.

Sudah mulai penasaran? Mari kita langsung praktikkan agar ilmunya melekat dalam otak Anda.

Latihan Berkolaborasi dengan Tim


Sebagai seorang developer, kita akan sering berkolaborasi dengan tim. Salah satunya adalah ketika mengembangkan produk atau aplikasi.
Ketika bekerja sebagai tim, Anda dapat mengembangkan sebuah produk dengan lebih cepat. Mengapa demikian? Sebab pekerjaan yang
dilakukan dapat dibagi menjadi lebih spesifik. Selain itu, Anda juga dapat belajar banyak hal dari rekan tim Anda.

Dalam mengembangkan produk atau aplikasi, tentu banyak tools yang bisa Anda manfaatkan. Salah satunya adalah GitHub yang
mempermudah kita dalam berkolaborasi. GitHub memungkinkan kita mengembangkan project atau aplikasi dengan banyak orang dalam
waktu yang bersamaan.

Nah, bagi Anda yang belum familier bekerja dengan tim, tak perlu khawatir. Pada studi kasus kali ini, kita akan berlatih bagaimana
seorang developer berkontribusi pada sebuah public repository. Untuk mewujudkannya, kita akan menggunakan skenario seperti ini:

Ceritanya Dicoding saat ini sedang membutuhkan volunter untuk mengembangkan aplikasi pembelajaran pada peranti mobile atau versi
Android dan iOS. Kemudian, tim Dicoding membuka sayembara menggunakan repository GitHub untuk mendapatkan volunter tersebut.
Tentunya, siapa saja bisa mendaftar menjadi volunter. Syaratnya cukup melakukan PR pada repository tersebut.

Membuat Repository Baru

Karena di sini ada dua pihak (penyelenggara dan peserta), maka secara tidak langsung kita harus memiliki dua buah akun. Jika Anda tidak
memiliki dua buah akun, maka tak perlu khawatir ya. Sebab, Anda dapat mempraktikkan studi kasus ini bersama kawan, sahabat, rekan
kerja, saudara, atau keluarga Anda yang telah memiliki akun GitHub. Anda dapat memerankan pihak penyelenggara dan rekan Anda
memerankan pihak peserta, atau sebaliknya.

Dalam studi kasus ini, kita akan menggunakan akun Dicoding Reviewer sebagai penyelenggara dan Gilang Ramadhan sebagai peserta.
Jika Anda sudah mengajak rekan Anda yang telah memiliki akun di GitHub, mari kita mulai dengan apa yang harus dilakukan oleh
penyelenggara dulu ya.

Pertama, mari kita mulai dari pihak penyelenggara sayembara, yakni membuat repository menggunakan akun Dicoding Reviewer.
Masuklah ke dashboard GitHub dan buatlah repository baru.
Kemudian, isi informasi detailnya. Untuk nama repository, isikan dengan nama ‘VolunterPembuatanAplikasi’, sedangkan untuk
description bersifat opsional. Anda bisa mengisinya ataupun tidak.

Anda dapat menggantinya jika memiliki nama lain yang lebih disukai. Namun, kami sarankan untuk memberikan nama yang masih sesuai
dengan konteksnya, misal nama alternatif lainnya adalah ‘VolunterPembuatanWebsite’ atau jenis sayembara lainnya.

Jika Anda perhatikan, nama Owner tidak bernama ‘dicodingreviewer’ karena kami ingin repository yang dibuat berada dalam GitHub
Dicoding Academy. Anda bisa mengabaikan langkah ini ya.

Untuk public atau private, isikan sesuai keinginan Anda.

Di sini kami sengaja membuatnya publik agar nanti bisa diakses oleh Anda melewati GitHub DicodingAcademy yang ada di
tautan berikut ini.

Bagaimana jika Anda ingin membuat repository-nya dalam keadaan privat, tetapi tetap dapat berkolaborasi dengan orang lain? Caranya
mudah. Anda dapat menambahkan akun GitHub rekan tim ke dalam pengaturan repository. Contohnya seperti ini:

Catatan: Tentunya ini dilakukan setelah repository terbentuk.

Kemudian, centang ‘Add a README file’.

Nantinya kita akan menggunakan berkas readme untuk menampung informasi siapa saja yang lolos menjadi volunter. Kenapa
menggunakan berkas readme? Karena berkas tersebut akan muncul paling depan di halaman repository sehingga informasi yang ada dapat
kita lihat dengan mudah.

Jika sudah Anda isi sesuai kebutuhan di atas, form Create a new repository akan menjadi seperti ini:

Jika Anda telah yakin dengan form tersebut, klik Create repository. Hasilnya akan jadi seperti ini:
Oke, selesai tahapan pertama. Repository sudah terbuat dan berkas readme telah tersedia. Ayo ke langkah selanjutnya.

Menambahkan Aturan Mendaftar Volunter

Langkah selanjutnya adalah menambahkan informasi bagaimana mendaftar sebagai volunter. Mari kita tambahkan skenarionya terlebih
dahulu. Anggap saja dari pihak Dicoding telah mempunyai format seperti ini:

* Nama Lengkap, [Nama Portofolio](Alamat Portofolio).


Sehingga, ketika ada seseorang yang ingin mendaftar menjadi volunter, ia harus mengikuti format seperti itu ya. Contohnya seperti ini:

* Oon Arfiandwi, [oo.or.id](https://oo.or.id).


Oke, mari kita ubah berkas README.md menjadi seperti ini ya.

# Volunter Pembuatan Aplikasi

Repository ini digunakan sebagai sayembara pencarian volunter untuk pembuatan aplikasi Dicoding. Jika Anda tertarik untuk menjadi Volunter, silakan lakukan PR
ya. Silakan gunakan format berikut:

**\* Nama Lengkap, [Nama Portofolio](Alamat Portofolio)**

Berikut daftar Volunter yang diterima:

* Oon Arfiandwi, [oo.or.id](https://oo.or.id).


Sehingga, dalam halaman GitHub akan menjadi seperti ini:

Jika Anda ingin menambahkan informasi tambahan atau ingin mengubah formatnya, maka kami persilakan. Yang perlu diperhatikan,
informasi pentingnya jangan ada yang dihilangkan ya.

Selanjutnya, gulir halaman tersebut dan tambahkanlah pesan perubahan beserta deskripsinya. Pada kolom pertama atau commit message
isikan dengan “Menambahkan Aturan”, sedangkan pada kolom kedua atau commit description isikan dengan “Aturan tersebut digunakan
untuk menyeleksi siapa saja yang mendaftar menjadi volunter”.

Sekali lagi, jika ingin mengubah narasi di atas dengan informasi yang Anda inginkan, silakan ganti sesuai keinginan. Yang perlu
diperhatikan, pastikan commit message yang dituliskan sesuai dengan perubahan yang kita lakukan ke dalam berkasnya.

Jika sudah Anda isikan, Commit changes akan jadi seperti berikut:

Jika sudah, lanjut klik tombol Commit changes yang berwarna hijau. Halaman utama repository Volunter Pembuatan Aplikasi pun
akan berganti menjadi seperti di bawah ini.

Anda telah menambahkan aturan agar setiap volunter yang mendaftar dapat diseleksi dengan mudah. Dengan ini, siapa saja sudah bisa
mendaftar menjadi volunter dalam sayembara tersebut.

Menyalin Repository

Setelah pihak Dicoding mengumumkan sayembara beserta aturannya, tentunya siapa saja bisa mendaftarkan diri. Sayangnya, mereka
belum dapat akses untuk mengubah berkas README.md tersebut. Yang perlu kita lakukan adalah menyalin repository
‘VolunterPembuatanAplikasi’ ke repository pribadi. Caranya cukup mudah, yakni dengan melakukan forking.
Kita akan berganti akun menggunakan akun satunya, atau dalam kasus ini berarti Gilang Ramadhan ya. Kemudian, masuk ke halaman
repository ‘VolunterPembuatanAplikasi’ pada akun pertama, atau dalam kasus ini berarti di
halaman https://github.com/dicodingacademy/VolunterPembuatanAplikasi.

Perhatikan kembali lagi ya, kali ini kita menggunakan akun kedua (Gilang) sebagai calon peserta dan masuk ke repository akun pertama
(Dicoding Reviewer) sebagai penyelenggara. Agar akun kedua (Gilang) memiliki akses pada repository tersebut, maka tekanlah tombol
fork pada bagian kanan atas.

Jika sudah, tunggulah proses menyalin tersebut.

Setelah proses menyalin selesai, repository VolunterPembuatanAplikasi sudah berada dalam repository akun kedua (Gilang) sebagai calon
peserta. Bagaimana cara mengetahuinya? Perhatikan kolom merah dalam gambar berikut:

Ini berarti, repository VolunterPembuatanAplikasi sudah berada dalam akun gilangadhan sebagai pemilik akun kedua sebagai calon
peserta, sedangkan tulisan “forked from dicodingacademy/VolunterPembuatanAplikasi” artinya repository tersebut berasal dari dicoding
academy sebagai penyelenggara.

Mengapa bukan dicoding reviewer? Sebab kita telah menetapkan lokasi dari pembuatan repository tersebut berada dalam dicoding
academy. Beda cerita jika Anda menempatkan pembuatan repository pada akun pertama (dicoding reviewer), tulisan tersebut akan
menjadi “forked from dicodingreviewer/VolunterPembuatanAplikasi”.

Menambahkan Data Diri dalam Berkas README.md

Pemilik akun kedua (Gilang) telah memiliki akses untuk mengubah berkas README.md. Mari kita tambahkan informasi akun kedua
(Gilang) untuk mendaftar sebagai volunter.

Bukalah berkas README.md dan tambahkan teks berikut di bawah peserta bernama Oon, contohnya seperti berikut.

* Gilang Ramadhan, [Linkedin](https://www.linkedin.com/in/gilang-adhan/).


Tentunya, Anda bisa menyesuaikan informasi di atas sesuai keinginan. Jika sudah, hasilnya akan jadi seperti ini:

Sekali lagi kami ingatkan, pendaftaran peserta tersebut dilakukan pada akun kedua (Gilang) sebagai calon peserta volunter.

Jika sudah, tambahkan informasi pesan dan deskripsi perubahan ya. Ingat, agar perubahan diterima, tulislah dengan singkat, padat, dan
jelas.

Tak harus sama dengan informasi di atas ya. Intinya, Anda saat ini memberikan informasi kepada pihak pertama (Dicoding Reviewer)
sebagai penyelenggara, bahwa Anda bersedia menjadi volunter pembuatan aplikasi Dicoding.

Jika sudah yakin dengan informasi yang ada, klik Commit changes untuk menyimpan perubahan tersebut. Maka dalam berkas
README.md akan jadi seperti ini:
Melakukan Pull Request

Kita akan melakukan Pull Request. Seperti halnya latihan yang telah Anda lakukan sebelum studi kasus, kali ini kita akan melakukan pull
request dari akun kedua (Gilang) sebagai calon peserta ke akun pertama (Dicoding Reviewer) sebagai penyelenggara. Latihan ini masih
menggunakan akun kedua (Gilang).

Masuklah ke halaman repository yang telah Anda fork atau salin sebelumnya oleh akun kedua (Gilang) sebagai calon peserta. Dalam
kasus ini berarti di https://github.com/gilang/VolunterPembuatanAplikasi.

Mari kita meminta izin kepada akun pertama (Dicoding Reviewer) sebagai penyelenggara untuk menyetujui apa yang telah diubah oleh
akun kedua (Gilang) sebagai calon peserta. Caranya, masuk ke tab Pull request.

Kemudian, klik New pull request untuk membuat permintaan tersebut.


Sekali lagi kami ingatkan, proses ini masih menggunakan akun pihak kedua (Gilang) sebagai calon peserta.

GitHub akan memperlihatkan kepada Anda perubahan yang dilakukan pada berkas README.md antara akun kedua (Gilang) sebagai
calon peserta dengan akun pertama (Dicoding Reviewer) sebagai penyelenggara, yang bisa Anda lihat dari gambar berikut:

Anda juga bisa melihat setiap commit yang telah dilakukan pada berkas README. Bahkan, Anda juga dapat melihat baris mana yang
berubah. Keren ya.

Setelah dirasa yakin dengan perubahan yang akan diimplementasikan pada repository akun pertama (Dicoding Reviewer) sebagai
penyelenggara, klik Create pull request ya.

Setelah itu, Anda diminta untuk mengisi detail dari Pull-Request. Namun Anda tak perlu khawatir, sebab untuk informasi dan deskripsi
akan terisi secara otomatis dari commit yang telah Anda lakukan. Namun jika Anda ingin mengubah informasi tersebut, pastikan sesuai
dengan konteks yang dilakukan saat ini ya. Jika sudah, klik Create pull request lagi ya.

Mantap, Anda telah mendaftarkan akun kedua (Gilang) sebagai volunter. Agar akun kedua (Gilang) diterima, tentunya harus dilakukan
pemeriksaan oleh akun pertama (Dicoding Reviewer) sebagai penyelenggara. Mari kita masuk ke tahap selanjutnya, yakni menangani Pull
Request yang dilakukan oleh calon peserta volunter.

Menangani Pull Request

Sebagai pemilik sayembara, tentunya akun pertama (Dicoding Reviewer) harus selalu memeriksa setiap peserta yang mendaftar. Ka rena
telah menetapkan standar yang ada, seharusnya proses ini menjadi lebih mudah. Mari ingat kembali peraturan yang telah dibuat
sebelumnya.

* Nama Lengkap, [Nama Portofolio](Alamat Portofolio).


Lalu, bagaimana cara menangani peserta yang mendaftarkan dirinya pada sayembara ini? Kali ini kita akan beralih menggunakan akun
pihak pertama (Dicoding Reviewer) untuk menangani PR yang masuk. Jika Anda sudah beralih akun, masuk ke repository yang telah
dibuat sebelumnya. Perhatikan pada bagian Pull requests.

Jika Anda lihat, terdapat angka satu pada tab Pull requests. Ini berarti ada satu PR atau pull request yang masuk. Jika Anda ingat kembali,
PR ini berasal dari permintaan yang dilakukan oleh akun kedua (Gilang) sebagai calon peserta volunter. Mari kita tekan tab tersebut untuk
melihat detailnya.
Lihat, di sini terdapat satu PR yang telah dibuat sebelumnya. Lalu, bagaimana menangani PR tersebut? Tentunya sebelum menerima atau
menolak, Anda perlu memeriksa terlebih dahulu perubahan yang dilakukan. Selanjutnya, klik judul dari PR tersebut ya, yakni
“Mendaftarkan Diri sebagai Volunter”.

Di sini, kita bisa mengetahui berbagai informasi yang dilakukan oleh pihak kedua (Gilang) sebagai calon peserta volunter seperti
perubahan yang dilakukan, maksud dari perubahan tersebut, serta bagian mana yang diubah. Anda bisa mengomentari jika sekiranya ada
yang perlu disampaikan. Mari kita lihat commit yang dilakukan akun kedua (Gilang) dengan cara menekan nama commit tersebut, yakni
“Mendaftarkan Diri sebagai Volunter”.

Selain melihat perubahan yang terjadi, Anda juga bisa memberi komentar pada perubahan tersebut. Hal ini biasa disebut dengan code
review. Menarik ya.

Oke, katakanlah pihak Dicoding sepakat untuk menerima pendaftaran dari pihak kedua (Gilang) sebagai volunter. Lalu, apa yang harus
dilakukan? Kembalilah ke halaman sebelumnya. Kemudian, klik Merge pull request.

Kemudian, Anda diminta untuk mengisi pesan dan deskripsi perubahan yang dilakukan. Namun, Anda tak perlu khawatir karena GitHub
secara otomatis akan mengisinya. Anda juga bisa mengubah informasi tersebut, tetapi pastikan sesuai konteks perubahaan saat ini ya.
Contohnya "Menyetujui pendaftaran volunter dengan akun gilangadhan". Jika sudah, klik Confirm merge untuk menyetujui perubahan
yang dilakukan.

Anda bisa menggunakan fitur Revert untuk mengembalikan perubahan sebelum dilakukan PR jika terdapat kesalahan dalam menangani
PR.

Dengan begitu, nama pihak kedua (Gilang) sudah ada dalam repository pihak pertama (Dicoding Reviewer) sebagai penyelenggara. Mari
kita lihat hasilnya pada repository pihak pertama yuk.

Lihatlah dengan saksama, apa bedanya sebelum akun pihak kedua mendaftar? Baik, ada beberapa perbedaan ya.

1. Di sebelah tombol Fork tampil angka 1 karena pihak kedua (Gilang) sudah menyalin repository tersebut.
2. Teks dalam volunter di berkas README.md yang diterima bertambah sesuai yang dilakukan oleh pihak kedua (Gilang).
3. Jumlah kontributor bertambah karena pihak kedua (Gilang) ikut serta dalam perubahan tersebut.
Tantangan Melakukan Pull-Request pada Repository Dicoding

Untuk meningkatkan pemahaman Anda mengenai Pull-Request, berikut tantangan yang bisa Anda coba dengan melakukan Pull Request
dalam Repository Dicoding Academy pada tautan berikut: https://github.com/dicodingacademy/VolunterPembuatanAplikasi.

Silakan lakukan seperti apa yang dicontohkan pada studi kasus sebelumnya, di mana pihak kedua mendaftarkan diri sebagai volunter.
Berikut langkah-langkah singkat yang bisa Anda lakukan:

1. Menyalin repository tersebut dengan fitur fork.


2. Melakukan perubahan pada berkas README.md dan menyimpannya dengan fitur commit.
3. Meminta izin pihak Dicoding untuk menyetujui perubahan yang dilakukan dengan fitur pull-request.
4. Jika tidak mengikuti aturan yang sudah ditetapkan Dicoding, Anda pasti akan ditolak.

Rangkuman Studi Kasus Kolaborasi dengan Tim

• GitHub memungkinkan kita mengembangkan project atau aplikasi dengan banyak orang dalam waktu yang bersamaan.

• Ketika Anda memiliki akses untuk melakukan perubahan dalam sebuah repository, Anda tidak perlu melakukan forking atau
penyalinan repository orang/organisasi lain ke repository pribadi. Sehingga cukup membuat branch baru untuk menampung
perubahan yang akan dilakukan, kemudian lakukan Pull Request pada branch tujuan.

• Lalu jika Anda tidak memiliki akses pada repository orang/organisasi lain, maka dapat mengikuti langkah-langkah berikut:
o Sebagai seorang kontributor, Anda perlu melakukan forking atau menyalin repository tersebut.
o Melakukan perubahan pada hasil salinan repository (forked repository) dan menyimpannya menggunakan commit.
o Melakukan pull request / meminta izin kepada kolaborator untuk mengimplementasikan perubahan dilakukan.
o Sebagai seorang kolaborator, mereka akan memastikan perubahan yang Anda lakukan sesuai dengan seharusnya.
Jika tidak, mereka bisa memberi saran baik melalui forum diskusi atau langsung pada baris kode. Proses ini
dinamakan code review.
o Jika perubahan sudah sesuai, kolaborator akan menyetujui (approve) pull request yang telah Anda lakukan.
Sehingga perubahan yang dilakukan sudah ada dalam repository utama.

• Dengan melakukan PR, kita dapat meninjau terlebih dahulu apakah kode yang akan diimplementasikan sudah sesuai atau
belum. Sehingga kita bisa menghindari terjadinya bug atau masalah. Selain itu, Anda juga bisa berdiskusi dengan rekan tim
atau orang lain dalam PR tersebut.

• Terdapat beberapa kolom yang bisa Anda isi pada halaman pull-request dalam GitHub.

Berikut keterangannya:
o Message Merge : Digunakan untuk memberikan pesan singkat mengenai PR yang dilakukan.
o Description Commit : Digunakan untuk memberikan informasi yang lebih detail mengenai PR yang dilakukan.
o Reviewer : Digunakan untuk meminta orang lain untuk mereviu perubahan yang telah dilakukan.
o Assignees : Digunakan untuk menginformasikan siapa yang memberikan tugas untuk melakukan PR.
o Label : Digunakan untuk memberikan kategori pada sebuah PR, contohnya pembetulan suatu masalah (bug),
penambahan fitur (enhancement), penambahan dokumentasi (documentation), atau yang lainnya.

• Ketika berkolaborasi, kita bisa mengubah satu file yang sama dengan orang lain. Namun, sebelum melakukan PR Anda perlu
memastikan kembali apa yang diubah tidak menimbulkan conflict. Conflict terjadi biasa ketika Anda menggabungkan branch
satu ke branch lainnya terdapat masalah dalam satu baris yang sama pada suatu file.

• Jika terjadi conflict, Anda perlu memilih bagian mana yang dipertahankan. Anda dapat memilih apakah mempertahankan
teks/kode yang ada dalam PR terbaru, atau menggunakan teks/kode dalam repository utama.

Anda mungkin juga menyukai