- Bab 1 dari 8
- 20 menit
- 4 soal kuis
Kenapa Version Control dan Git
Di bab ini (9 bagian)
Tujuan bab ini
- Menjelaskan masalah nyata yang muncul kalau proyek dikelola tanpa version control.
- Membedakan tiga generasi VCS: lokal, terpusat, dan terdistribusi.
- Menceritakan asal-usul Git dan alasan Git jadi standar industri.
- Membedakan Git (alat) dengan GitHub (layanan hosting).
Folder penuh "finalrevisi2"
Coba buka folder tugas kuliah atau proyek lamamu. Ada yang mirip begini?
Kelihatannya rapi, padahal ini cara menyimpan versi yang paling rapuh. Kamu tidak tahu persis apa beda revisi_FIX dengan FIX_FINAL, siapa yang mengubahnya, dan kapan. Masalahnya makin parah untuk kode program:
- Riwayat hilang. Tidak ada catatan siapa mengubah baris mana dan kenapa.
- Sulit kembali. Fitur baru bikin aplikasi error, tapi kamu tidak punya cara aman untuk balik ke versi kemarin yang masih jalan.
- Kolaborasi kacau. Kamu dan temanmu mengedit file yang sama, lalu saling kirim lewat chat. Ujungnya ada pekerjaan yang tertimpa.
- Rawan kehilangan. Laptop rusak atau kena ransomware, semua salinan dan riwayat ikut lenyap.
Version control system (VCS) adalah perangkat lunak yang mencatat setiap perubahan pada sekumpulan file. Dengan VCS, kamu cukup punya satu folder proyek/, dan seluruh riwayatnya tersimpan rapi di belakang layar. Mau lihat versi minggu lalu, membandingkan dua versi, atau tahu siapa yang menulis sebuah baris? Tinggal tanya VCS.
Tiga generasi VCS
VCS berkembang dalam tiga generasi. Memahami urutannya membantu kamu paham kenapa Git didesain seperti sekarang.
| Generasi | Cara kerja | Contoh | Kelemahan / keunggulan |
|---|---|---|---|
| Local VCS | Riwayat versi disimpan di satu komputer saja | RCS, SCCS | Satu titik kegagalan, tidak bisa kolaborasi |
| Centralized VCS | Satu server pusat menyimpan semua riwayat, klien hanya mengambil versi terbaru | CVS, Subversion (SVN) | Server mati, tim berhenti bekerja |
| Distributed VCS | Setiap orang meng-clone repositori lengkap beserta seluruh riwayatnya | Git, Mercurial | Bisa offline, tiap anggota jadi cadangan |
Bayangkan versi terpusat seperti Google Docs yang hanya bisa dibuka saat online: kalau servernya down, semua orang bengong. Versi terdistribusi lebih mirip setiap anggota tim memegang fotokopi lengkap seluruh arsip, termasuk semua catatan revisinya sejak hari pertama. Kalau server hilang, repositori bisa dipulihkan dari laptop siapa saja.
Git termasuk Distributed VCS. Repositori di laptopmu sama lengkapnya dengan yang ada di server. Ini kunci untuk memahami hampir semua perilaku Git yang akan kamu pelajari nanti.
Sejarah singkat Git
Git lahir dari kebutuhan yang sangat nyata. Komunitas kernel Linux, proyek dengan ribuan kontributor di seluruh dunia, dulu memakai VCS komersial bernama BitKeeper secara gratis. Pada 2005 izin gratis itu dicabut. Linus Torvalds, pencipta Linux, lalu menulis VCS sendiri dengan beberapa target: cepat, desain sederhana, mendukung pengembangan paralel dengan ribuan cabang, terdistribusi penuh, dan sanggup menangani proyek sebesar kernel Linux.
- April 2005: Linus mulai menulis Git. Hanya dalam hitungan hari Git sudah bisa mengelola source code-nya sendiri.
- Juni 2005: Git dipakai untuk mengelola kernel Linux.
- Juli 2005: Junio C. Hamano ditunjuk sebagai pemelihara utama, dan ia masih memegang peran itu sampai sekarang.
- Kini: Git adalah standar de facto industri, dirilis dengan lisensi open source GPL-2.0, dan jadi fondasi GitHub, GitLab, serta Bitbucket.
Kenapa Git jadi standar
Ada banyak VCS, tapi Git menang telak. Alasannya:
- Sangat cepat. Hampir semua operasi (commit, melihat log, membandingkan versi) berjalan lokal di laptopmu, tanpa menunggu jaringan.
- Branching murah. Membuat cabang baru hanya butuh hitungan milidetik, karena cabang di Git cuma penunjuk kecil ke sebuah commit. Kamu bisa bereksperimen tanpa takut merusak kode utama.
- Bisa offline. Commit, melihat riwayat, dan pindah cabang tetap jalan di kereta tanpa sinyal. Koneksi baru dibutuhkan saat mengirim atau mengambil perubahan dari server.
- Integritas data. Setiap objek di Git diberi checksum berupa hash SHA-1. Kalau ada satu byte yang berubah diam-diam (disk rusak atau sengaja dimanipulasi), Git akan tahu.
- Ekosistem luas. Didukung penuh oleh VS Code, IDE lain, pipeline CI/CD, dan semua platform hosting populer.
Git vs GitHub
Ini salah kaprah paling sering di kalangan pemula, jadi kita luruskan sekarang.
| Git | GitHub | |
|---|---|---|
| Jenis | Perangkat lunak (alat baris perintah) | Layanan web (hosting) |
| Dipasang di | Laptopmu | Server milik GitHub di internet |
| Fungsi | Mencatat riwayat, membuat cabang, menggabungkan perubahan | Menyimpan repositori remote, pull request, issue, review kode |
| Butuh internet? | Tidak, untuk sebagian besar operasi | Ya |
Analoginya: Git itu kamera, GitHub itu Instagram. Kamu bisa memotret dan menyimpan foto tanpa Instagram, tapi Instagram memudahkanmu membagikan dan berdiskusi tentang foto itu. Alternatif GitHub antara lain GitLab dan Bitbucket, dan semuanya memakai Git yang sama di belakangnya.
Coba sendiri
Belum perlu membuat repositori. Cek dulu apakah laptopmu sudah punya Git (instalasinya dibahas di bab berikutnya):
Kalau Git sudah terpasang, output-nya berupa nomor versi, misalnya:
Kalau muncul command not found (macOS/Linux) atau 'git' is not recognized (Windows), berarti Git belum terpasang. Santai, bab berikutnya membahas caranya.
Lalu, lihat sekilas daftar perintah yang paling sering dipakai:
Output-nya diawali baris usage: git [-v | --version] [-h | --help] ..., lalu daftar perintah per kelompok seperti start a working area, work on the current change, dan grow, mark and tweak your common history. Kamu akan mengenal perintah-perintah itu satu per satu di kelas ini.
Kesalahan umum
- Menganggap Git dan GitHub sama. Git bisa dipakai penuh tanpa akun GitHub. GitHub hanya salah satu tempat menyimpan repositori remote.
- Mengira Git butuh internet terus. Commit dan melihat riwayat sepenuhnya lokal. Internet hanya untuk push, pull, fetch, dan clone.
- Tetap menyimpan file berakhiran
_final_v2. Begitu memakai Git, cukup satu nama file. Versi lama tersimpan di riwayat commit, bukan di nama file. - Mengira Git hanya untuk tim besar. Proyek pribadi pun untung: kamu bisa kembali ke versi yang masih jalan kapan saja.
Rangkuman
- Tanpa version control, riwayat hilang, sulit kembali ke versi stabil, kolaborasi kacau, dan data rawan lenyap.
- VCS berkembang dari lokal (RCS), terpusat (SVN), hingga terdistribusi (Git), di mana setiap clone memuat riwayat lengkap.
- Git dibuat Linus Torvalds pada 2005 untuk mengelola kernel Linux setelah akses gratis BitKeeper dicabut.
- Git unggul karena cepat, branching murah, bisa offline, dan menjaga integritas data dengan hash SHA-1.
- Git adalah alat di laptopmu, sedangkan GitHub adalah layanan hosting repositori Git di internet.
Slide 1 sampai 7 dari deck Git. Penjelasan lengkapnya ada di mode Baca.

Selesaikan bab ini
- 1. Baca materi
- 2. Kuis (4 soal)
Cek pemahaman
1Git termasuk generasi VCS yang mana?
2Git membutuhkan koneksi internet setiap kali kamu membuat commit.
3Apa arti output terminal berikut?
$ git --version bash: git: command not found4Siapa yang mulai menulis Git pada April 2005?
