Minggu, 06 Juli 2008

Versi Software: Beta, Alpha, RC Apakah itu?

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.

Penyimpangan
Lho maksudnya penyimpangan apa toh...
Gini, ternyata ada pihak yang menggunakan istilah beta di tempat yang ngga semestinya. Istilah versi beta hanya di tujukan untuk versi rilis software, namun ada seseorang yang terang-terangn menggunakan istilah itu untuk selain software. Orang menyimpang itu adalah admin KOMPUTOK, penulis artikel ini!, di artikel yang ini. Oh..maafkan daku....Ah ngga apa-apa lah ya, biasa aja.(AHP 5 Juli 2008 22:02, hoaaaaam.......ngantuk bener, harus minum kopi pahit apa yah?) 

22 komentar:

  1. keren juga postingnya, oya, sekalian web q di link ya www.e-leonxe.co.cc

    BalasHapus
  2. dari dlu gw pusing am software yg beta2-an, tp skrang uda ngerti, he2x.. thx coy.

    tp ngomong2, kita sbg pengguna kayak kelinci percobaan y!!!

    BalasHapus
  3. @jemmy: Itulah gunanya blog...heheheh
    kalo dibilang kelinci percbaan sih ngga cuman pengguna komputer aja, produk-produk lain seperi makanan, kecantikan dll juga mbuat konsumennya jadi kelinci percobaan...

    BalasHapus
  4. sip... Infoemasinya sangat berguna..

    BalasHapus
  5. keren juga postingnya...terima kasih atas infonya

    BalasHapus
  6. makasih saya jadi lebih tahu ^^/

    BalasHapus
  7. jadi beta itu lebih diperbaiki drpada alpha

    BalasHapus
  8. ane baru ngerti skrg wa kemaren ane pernah instal ttpod v3.70alpha, ya keren sih tp jika buka menu setting nggak boleh lama2 kalo kelamaan maka app akan hang kembali gak bisa keluar aplagi, untung hp ane multitasking (hehe sombong dikit) jd nya ane matiinnya melalui jbaktaskman.
    Makasih wa informasinya, nanti aku mau cari ttpod yang final aja.

    BalasHapus
  9. "Beta tidak pernah alpha dalam kelas
    tapi beta selali hadir......"
    wkwkwkk :=))

    (ambon manise say)

    BalasHapus
    Balasan
    1. Selalu bukan selali. Orang ambon kah orang jawa :-)

      Hapus
  10. ambon manise say : "..Beta seng pernah alpha masuk kelas tapi beta selalu hadir.."

    BalasHapus
  11. waw keeren gan... ane apresiasi ente 90.. heehehe.. sangat membantu gan, baru ngerti ane

    BalasHapus
  12. sankyu untuk pleajarannya ..

    BalasHapus
  13. makasih gan, ngerti dah apa itu beta tester di SAO hehe

    BalasHapus
    Balasan
    1. Beta tester = pemain yg menguji/yg menggunakan versi beta.
      Makanya dlm film SAO itu beta tester(better) hrus berlomba2 mendapatkan hadiah dri duelnya. Berbeda dngan pemain non beta tester. Better hrus sllu brusaha.

      Hapus
  14. sama gan hehehehe tapi ane dah tahu dari (sorry sombong dikit)

    BalasHapus
  15. Nice inpo lah.
    Tapi cuma mau meluruskan, versi alpha kadang2 udah disebarluaskan kok.
    Saya main game 0AD itu masih versi alpha, tapi bahkan udah masuk repositorinya linux mint

    BalasHapus
  16. Thank gan infonya jadi tambah ilmu

    BalasHapus
  17. mantap mas, keren nih.. salam kenal ya :)

    BalasHapus
  18. Matep kak! Makasih infonya :)

    BalasHapus

Kirim Komentar