Versi Software: Beta, Alpha, RC Apakah itu?

Kamis, 22 Agustus 2013
Mungkin ada yang pernah denger kalimat entah itu dari temen, artikel ataupun forum yang kira-kira begini:”Jangan instal software beta! Tunggu saja rilis finalnya!” atau kalimat lain yang intinya sifatnya mendiskriminasi software yang masih tahap beta. 
Buat yang sering utak-utik (Bisa saja orang yang buat software, pengoleksi, pengguna advanced atau malah pemerhati) software pasti ngga asing sama istilah ‘rilis beta’ atau semacamnya. Sebuah software yang ber-embel-embel beta atau semacamnya cukup banyak di temui di mana-mana. Beta dan alpha itu adalah bagian dari siklus rilis sebuah software. Sebenarnya keduanya ga mutlak di perlukan, tergantung selera pembuat programnya.
Sebenernya ada apa di balik penamaan beta, alpha itu? Mengapa harus ada yang seperti itu? Kenapa software beta bisa-bisanya didiskriminasi? Terus Baca! 
Untuk membuat sebuah software tidak mudah. Bahkan untuk program yang fungsinya sederhana seperti kalkulatorpun masih punya tingkat kesulitan. Pernah saya pake bahasa pascal untuk
mbuat software kalkulator (yang tentunya sangat sederhana), fungsinya cuman bisa untuk nambah, ngurangin, kali, trus bagi. Itupun inputnya cuman pake keyboard. Selesai ditulis, langsung saya compile dan jreng......deretan baris yang isinya pesan syntax error bermunculan, gila perasaan semua syntaxnya udah sesuai. Saya pelajari pesan error yang ada (dan semua gara-gara syntax error..he..jadi malu, ketahuan ga bisa programing), kemudian saya lihat lagi kode kalkulator yang udah saya tulis. Oww ternyata ada baris yang kurang tanda titik koma (“;”), ada yang kurang tanda titik, kebanyakan kata “end”, ada variabel yang yang tipenya ngga sesuai, dan lain-lain. Saya perbaiki dengan sabar dan teliti dan akhirnya bisa juga di compile. Ternyata waktu yang di butuhin buat nulis kode hampir sama dengan waktu buat ngoreksi kesalahan.
Itu cuman program kalkulator yang ngga nyampe 30 baris kode. Gimana kalo kode program yang nyampe puluhan ribu baris?
Tipe kesalahan program kalkulator tadi pun cuman syntax error, yang notabene tipe kesalahan yang paling mudah dihindari dan di tangani. Yang paling ditakuti sama programer adalah kesalahan logika atau alur program yang bisa membuat program jalannya ngga seperti yang diharapkan. Tapi sialnya kadang-kadang alur yang ngga seperti yang diharapkan muncul kalo dalam kondisi tertentu. Jadi ngga selalu muncul, dan tentunya sulit di lacak nah...itulah yang disebut bug software. Sebuah bug bisa membuat kerja software ngga stabil, mungkin tiba-tiba error atau ngehang, tiba-tiba kerjanya lambat, atau gejala-gejala yang sama sekali ngga mengenakan lainnya. 
Karena sebagian besar programmer biasanya merangkap menjadi bugger(orang yang membuat bug) maka tak heran kalo sebagian besar software pasti punya bug. Untuk menemukan bug juga tidak mudah, bug bisa saja muncul di suatu tempat tapi tidak muncul di tempat lainnya atau ditempat lain malah muncul bug lainnya. Intinya tiap orang bisa ngalamin jenis bug yang berbeda.
Oleh karena itulah muncul ide untuk membuat siklus rilis software yang saat ini terdiri dari Alpha dan Beta. Bedanya apaan? Oke...baca terus. Biar lebih nyambung penjelasannya di buat kronologis mulai dari :
Penulisan kode Software
Pada tahap ini semua rutin yang dibutuhkan oleh software untuk bisa berfungsi sesuai yang direncanakan di tulis. Kemudian semua baris kode di teliti alur logikanya, untuk meneliti alur logika dibutuhkan kemampuan matematika yang kuat. Selesai ditulis kode di compile dan di uji oleh programmer-programernya. 
Sebenarnya tahapan itu ngga baku, tergantung sama yang pembuat softwarenya. Tapi paling tidak ada gambaran bagaimana software itu di tulis.

Masuk Tahap Alpha
Di tahap ini software di uji kinerja dan kestabilannya. Untuk pengujinya bukan dari programernya tapi dari pengguna atau tim penguji yang ruang linkupnya terbatas, disini penguji akan melaporkan bug-bug yang muncul kepada pembuat software. Yang kemudian di tindak lanjuti oleh pihak pembuat. Selain pengujian, Software juga di beri kesempatan untuk di tambahkan kemampuan dan fitur baru yang skalanya besar. Oleh karena itu software pada tahap ini tidak di publikasikan dan disebarluaskan. Tahap Alpha bisa berkembang ke Alpha1, Alpha2 dan seterusnya tergantung ada tidaknya penggantian, penambahan atau perbaikan software oleh pembuat. 
Tahap Beta
Setelah software itu cukup stabil dan dirasa cukup layak digunakan, software akan memasuki tahap beta. Di tahap ini software memang belum seratus persen bebas dari bug, oleh karena itulah perlu ada pengujian lagi. Di tahap ini software akan dipublikasikan dan disebarluaskan (kalo yang ini sesuai lisensinya). Software ini akan di uji oleh pengguna yang memakainya. Jadi kalo ada dari kita yang nginstal software beta maka bisa disebut sebagai penguji. Pengguna bisa melaporkan bug-bug yang muncul di software itu kepada pembuatnya. 
Jadi pada tahap ini proses debug(menghilangkan Bug) masih terus dilakukan oleh pihak pembuat software. Selain itu pada tahap ini juga di perbolehkan untuk melakukan penambahan atau penggantian feature dalam skala kecil. Sama seperti tahap alpha, tahap beta pun bisa berkembang ke beta1, beta2 dan seterusnya. 
Salah satu alasan orang antipati sama software beta adalah pada tahap ini software belum begitu stabil, tingkahnya aneh, atau bikin lambat komputer karena rakus processor dan memory. Nah..karena itulah banyak orang(termasuk saya) memilih untuk menunggu versi finalnya daripada nekat instal versi beta yang kemungkinan belum stabil. Meski ngga nutup kemungkinan kalo software versi beta sudah cukup layak di pake sama end user. 
Tahap beta bisa berlangsung sampai bug-bug yang sifatnya penting bisa diatasi dan software itu dinyatakan stabil.
RC(release candidate)
Pada tahap ini software sudah dinyatakan stabil dan kualitasnya sudah mendekati versi final. Tahap ini difungsikan sebagai persiapan sebuah software untuk menyambut versi finalnya.  
Tahapan RC jarang dilakukan oleh pembuat software. Biasanya mereka langsung merilis versi final setelah tahap beta. Contoh software yang pernah ada tahapan RC adalah PCMAV, antivirus lokal ini sejak awal rilisnya sudah berstatus RC. Tanpa beta? Entahlah, sekali lagi itu tergantung selera pembuatnya. PCMAV berstatus RC selama tepat dua tahun, mentok pada RC24 dan sekarang sudah sampai versi final.
Selain PCMAV ada lagi yang sempat menyandang gelar RC, namun bukan software tapi OS. Yaitu windows Vista. Bener Windows Vista emang pernah ada versi RC-nya.
Final
Inilah tahapan yang terakhir. Di tahap ini software sudah dinyatakan stabil dan layak untuk digunakan secara luas. Pihak pembuat pun mempromosikan software ini kepada orang-orang supaya mereka berbondong-bondong menggunakannya. 
Versi final ditandai oleh penulisan versi yang berupa angka tanpa embel-embel beta, RC atau alpha. Contohnya Opera 9.50 atau Media Monkey 3.0.3.1183. Misalnya akan ada pengembangan lain seperti penambahan fitur atau perbaikan maka angka versi itu akan bertambah. Misalnya Media Monkey 3.0.3 setelah ditambahkan fitur baru versinya berubah menjadi 3.0.4. 

Meski kadang sudah ada tahapan-tahapan yang begitu berlapis seperti itu, software belum tentu bebas dari bug. Karena untuk membuat software yang sempurna hampir tidak mungkin. Bahkan OS windows sekalipun yang dikerjakan oleh ribuan orang dari bidang ilmu yang beda-beda masih di hiasi oleh bug-bug yang menyebalkan. Tahapan rilis itu hanya untuk mengurangi bug yang sering muncul dan cukup mengganggu, tapi tidak menghilangkan.
Tahapan itupun ngga selamanya dialami oleh software. Mungkin ada yang langsung tahap beta kemudian ke versi final atau malah ada yang begitu rilis langsung ke versi finalnya, sekali lagi(suer..ini yang terakhir) itu tergantung dari pembuat software. Tanpa tahapan itupun, asalkan sudah stabil software yang baru saja diluncurkanpun bisa langsung akselerasi ke versi final.
Contohnya produsen game, asal tahu saja seumur-umur saya ngga pernah denger game Crysis Beta 2 atau Halo 3 Alpha. Ya memang bener untuk game, sebagian besar produsen langsung merilis versi final. Karena untuk menguji software game bukan pekerjaan mudah, dan tentunya beresiko. Jadi pengujian game tidak dilakukan oleh pengguna biasa. Sebagai gantinya ada tim penguji game.
Jangan di bayangkan penguji game itu pekerjaan yang nyenengin(soalnya udah main game dibayar pula). Untuk mencari bug, penguji harus menggunakan semua kemampuan karakter dalam game itu. Misalnya kalo game perang berarti semua jenis senjata harus bisa di pakai. Jadi jangan heran penguji software game bisa ngabisin waktu berjam-jam di satu level saja, yang pasti bikin bosen.

0 komentar:

Posting Komentar