Learn Software

Semantic Versioning

Semantic Versioning adalah sebuah metode pemberian format untuk versi sebuah software yang dirilis. Seperti halnya sering kita lihat versi sebuah aplikasi di playstore atau appstore, contohnya ada sebuah aplikasi X berversi 1.6.8 maka 1 itu adalah major, 6 itu minor, dan 8 itu patch. Agar tidak bingung mari kita lihat gambar di bawah ini.

Patch: Format ini digunakan atau akan bertambah jika anda memperbaiki aplikasi dari bugs atau lebih yang terjadi
Minor: Format ini digunakan jika anda menambah fitur baru dan fitur lama anda masih dapat menggunakan versi lama (backward-compatible)
Major: Format ini digunakan jika anda mengeluarkan fitur baru tapi fitur lama anda tidak dapat di gunakan lagi dalam artian anda memberika perubahan yang besar dalam aplikasi anda

Contoh cerita jika anda memiliki aplikasi baru maka aplikasi akan di berikan versi dengan awalan 0.1.0 yang artinya baru perilisan pertama dan belum ada patch terhadap bug. jika setelah beberapa kali pengujian anda mendapatkan feedback dari penguji bahwasannya aplikasi anda memiliki bug dan anda memperbaikinya dan merilisnya lagi, maka versi nya telah berubah menjadi 0.1.1, setelah berhari - hari berlalu bug masih menemani hari hari anda  sampai patch sudah berada di angka 24 yang artinya anda telah memperbaiki bug dan merilis lagi sebanyak 24 kali maka versi terbaru menjadi 0.1.24, setelah itu anda mendapatkan saran menambah fitur baru maka versi telah berubah menjadi 0.2.24, setelah berbulan - bulan berlalu dengan ditemaninya bug - bug yang ada dan fitur baru bertambah versi sudah 0.11.55, anda berniat untuk melakukan perubahan besar dengan tampilan atau fitur baru maka aplikasi anda menjadi versi 1.0.0

Manfaat dari semantic versioning adalah dapat memberikan model versi yang memudahkan bagi developer maupun pengguna dalam melihat pengembangan suatu sistem. Anda tentunya dapat menilai jika suatu versi sudah mencapai rilis versi 8.9.97  maka bisa anda bayangkan ada berapa patch terhadap bug yang dilakukan developer, dan bagaimana mekanisme review dan pengujian software yang dilakukan developer tersebut.

Add Comment

© 2019 Lutfi Haridha. All rights reserved. Web Developer & Founder of REREEK