Skip to content

Commit

Permalink
Merge pull request #43 from mmdmthr/article-20230823
Browse files Browse the repository at this point in the history
add article: Menulis Versi Package Dependency
  • Loading branch information
mmdmthr authored Aug 25, 2023
2 parents bdb5d1c + 6f8f5c4 commit 2b80122
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions content/blog/2023/08/menulis-versi-package-dependency.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: 'Menulis Versi Package Dependency dalam Pengembangan Perangkat Lunak'
date: 2023-08-23
category: 'notes'
---

Pengembangan perangkat lunak modern seringkali melibatkan penggunaan banyak paket (_package_) atau pustaka (_library_) dari sumber eksternal. Ketergantungan paket ini memungkinkan pengembang untuk memanfaatkan fungsionalitas yang sudah ada tanpa perlu membuat semuanya dari awal. Namun, dalam pengelolaan dependency paket, salah satu hal yang penting adalah menentukan versi yang sesuai.

### Mengapa Package Version Penting?

Ketika kita menggunakan paket atau pustaka dari pihak ketiga, sangat penting untuk memilih versi yang sesuai dengan proyek kita. Setiap versi mungkin memiliki perbaikan bug, peningkatan performa, atau bahkan perubahan fungsionalitas yang signifikan. Memilih versi yang tepat dapat mencegah konflik dan masalah yang tidak diinginkan dalam pengembangan perangkat lunak kita.

### Menggunakan Format _Semantic Versioning_ (SemVer)

Cara umum untuk menentukan versi dependency paket adalah melalui prinsip _Semantic Versioning_ (SemVer). SemVer terdiri dari tiga angka yang menunjukkan "MAJOR.MINOR.PATCH". Ketiga komponen ini memiliki arti sebagai berikut:

1. **MAJOR**: Ditingkatkan ketika kita melakukan perubahan yang tidak kompatibel dengan versi sebelumnya dalam API paket.
2. **MINOR**: Ditingkatkan ketika kita menambahkan fitur baru yang kompatibel dengan versi sebelumnya (_backward compatible_) dalam API paket.
3. **PATCH**: Ditingkatkan ketika kita membuat perbaikan yang kompatibel dengan versi sebelumnya (_backward compatible_) dalam API paket.

Misalnya, jika paket memiliki versi "2.1.3", artinya versi utama adalah 2, versi minor adalah 1, dan versi patch adalah 3.

### Menulis Package Dependency dalam File Konfigurasi

File konfigurasi proyek seperti "package.json", "composer.json atau "requirements.txt" biasanya digunakan untuk menulis daftar dependency paket. Berikut adalah contoh bagaimana kita dapat menulis dependency dengan menggunakan format SemVer:

**package.json:**
```json
{
"dependencies": {
"nama-paket": "^1.2.0"
}
}
```

**requirements.txt:**
```
nama-paket==1.2.0
```

Pada contoh di atas, tanda `^` pada "package.json" dan tanda `==` pada "requirements.txt" memberi tahu sistem manajemen paket untuk menggunakan versi yang kompatibel dengan versi yang ditentukan, namun tetap memperbolehkan peningkatan versi minor atau patch.

### Menangani Versi Secara Hati-hati

Saat menulis versi dependency, penting untuk mempertimbangkan seberapa kritis paket tersebut terhadap proyek kita. Jika kita membutuhkan stabilitas, mungkin lebih baik untuk menentukan versi yang spesifik. Namun, jika kita ingin memanfaatkan perbaikan dan peningkatan baru, menggunakan tanda seperti `^` atau `~` dapat membantu kita tetap mendapatkan pembaruan tanpa mengorbankan stabilitas sepenuhnya.

### Memantau Pembaruan Paket

Terkadang, pembaruan paket dapat mempengaruhi kinerja atau stabilitas proyek kita. Oleh karena itu, penting untuk secara berkala memeriksa pembaruan yang tersedia untuk dependency kita dan melakukan uji coba sebelum menerapkannya dalam produksi.

0 comments on commit 2b80122

Please sign in to comment.