• Tidak ada hasil yang ditemukan

I. PENDAHULUAN 1.1. Latar belakang

N/A
N/A
Protected

Academic year: 2021

Membagikan "I. PENDAHULUAN 1.1. Latar belakang"

Copied!
22
0
0

Teks penuh

(1)

1

I. PENDAHULUAN

1.1. Latar belakang

Perkembangan sistem informasi saat ini sangat baik diikuti dengan banyaknya perangkat lunak yang dikembangkan untuk membantu kerja suatu perusahaan. Pengembangan sistem informasi telah dilakukan dengan pendekatan sistem untuk penyelesaian masalah dengan melakukan pengembangan solusi sistem informasi terhadap masalah bisnis. Pendekatan system tersebut berguna untuk pengembangan aplikasi dan system e-business yang dapat memenuhi kebutuhan bisnis perusahaan. Meningkatnya penggunaan teknologi informasi telah membawa setiap orang dapat melaksanakan berbagai aktivitas dengan lebih akurat, berkualitas, dan tepat waktu.

Dalam pembuatan perangkat lunak dan pengembangannya harus mampu digunakan sesuai dengan tujuan dari perangkat lunak tersebut. seringkali dalam pelaksanaannya perangkat lunak yang dikembangkan tidak memenuhi persayatan dan tahap-tahap penting dalam pengembangan perangkat lunak tersebut. sehingga sering menimbulkan kesalahan (bug) dalam proses penjalanan perangkat lunak tersebut. hal ini sangat merugikan bagi pengguna akhir karena dampak yang ditimbulkan oleh perangkat lunak tersebut. munculnya kesalahan (bug) dalam perangkat lunak seringkali terjadi karena tidak dilakukannya pengujian oleh perusahaan pengembang karena faktor biaya yang besar dan membutuhkan waktu dalam proses pengujiannya. Telah banyak contoh yang muncul karena kelalaian perusahaan tidak menerapkan pengujian terhadap perangkat lunak yang digunakan. Kesalahan tersebut menimbulkan kerugian dari yang paling kecil hingga sangat besar dan bahkan menyangkut hidup dari pengguna terakhir (end-user).

Untuk mengatasi hal tersebut maka dalam pengembangan perangkat lunak harus diterapkan beberapa karakteristik yang dapat digunakan untuk menghasilkan perangkat lunak yang berkualitas dan mampu berjalan sesuai dengan kebutuhan dari penggunaan perangkat lunak tersebut. kualitas perangkat lunak yang baik menurut ISO 9126 yaitu harus memiliki karakteristik : Functionality, Reliability, Usability, Efficiency, Maintainability, dan Portability.

(2)

2

1.2.Tujuan

Paper ini bertujuan untuk memberikan informasi dalam proses pengembangan perangkat lunak dan pentingnya melakukan pengujian perangkat lunak tersebut untuk menghindari terjadinya hal yang dapat merugikan bagi pengguna terakhir (end-user).

(3)

3

II. TINJAUAN PUSTAKA

2.1. Siklus hidup pengembangan sistem

Pendekatan sistem (system approach) untuk penyelesaian masalah menggunakan orientasi sistem untuk merumuskan masalah dan peluang dan mengembangkan solusi. Menganalisis masalah dan memformulasikan solusi melibatkan aktivitas yang saling berhubungan dibawah ini:

1. Kenali dan rumuskan masalah atau peluang dengan menggunakan pemikiran sistem

2. Kembangkan dan evaluasi alternatif solusi sistem 3. Pilih solusi sistem yang memenuhi persyaratan 4. Desain solusi sistem yang dipilih

5. Implementasikan dan evaluasi kesuksesan sistem yang telah didesain Menggunakan pemikiran sistem (system thinking) untuk memahami masalah atau peluang adalah salah satu aspek paling penting dari pendekatan sistem. Dalam pemikiran sistem hal yang harus dilakukan dengan:

1. Melihat hubungan internal antar sistem ketimbang mata rantai sebab akibat ketika sesuatu terjadi

2. Melihat proses perubahan antar sistem ketimbang memisahkan potret perubahan, ketika perubahan terjadi.

Menggunakan pendekatan sistem untuk mengembangkan solusi sitem informasi dapat dipandang sebagai proses multilangkah yang disebut siklus pengembangan sistem informasi (information system development cycle) yang juga dikenal sebagai siklus hidup pengembangan sistem (system development life cycle-SDLC). dalam siklus ini terjadi proses yang mencakup langkah : investigasi, analisis, desain, implementasi, dan pemeliharaan. Semua aktivitas yang terlibat saling berhubungan erat satu sama lain dan saling terikat.

(4)

4 Gambar 1. Siklus pengembangan sistem informasi tradisional

Proses pengembangan sistem seringkali mengambil format, atau mencakup pendekatan pembuatan prototipe. Pembuatan protoipe (prototyping) adalah pengembangan yang cepat dan pengujian terhadap model kerja, atau prototipe, dari aplikasi baru dalam proses yang interaktif dan berulang-ulang yang bisa digunakan oleh ahli SI dan praktisi bisnis. Pembuatan prototipe membuat proses pengembangan lebih cepat dan lebih mudah, khususnya untuk proyek dimana persyaratan pemakai akhir sulit dirumuskan. Pembuatan prototipe terkadang disebut juga desain aplikasi cepat (rapid application design-RAD).

Pembuatan prototipe dapat digunakan untuk aplikasi besar dan aplikasi kecil. Umumnya, sistem bisnis besar masih perlu menggunakan pendekatan pengembangan sistem tradisional, tetapi sebagian sistem tersebut sering kali dapat dibuatkan prototipe-nya. Prototipe aplikasi bisnis yang diperlukan oleh pemakai akhir dikembangkan secara cepat dengan menggunakan berbagai alat software pengambang aplikasi. Kemudian prototipe tersebut diperbaiki berkali-kali hingga dapat diterima.

Tahap investigasi sistem (system investigation stage) merupakan langkah pertama dalam proses pengembangan sistem. Tahap ini melibatkan pertimbangan proposal yang dihasilkan dari proses perencanaan bisnis/TI. Tahap investigasi

(5)

5 juga merupakan studi awal solusi sistem informasi yang diusulkan untuk memenuhi prioritas bisnis perusahaan dan peluang seperti yang diidentifikasi dalam proses perencanaan.

Karena proses pengembangan bisa memakan biaya besar, tahap investigasi sistem biasanya membutuhkan studi awal terlebih dahulu yang disebut studi kelayakan (feasibility study). Studi kelayakan adalah studi awal untuk merumuskan informasi yang dibutuhkan oleh pemakai akhir, kebutuhan sumber daya, biaya, manfaat, dan kelayakan proyek yang diusulkan. Kemudian praktisi bisnis dan ahli Si akan menyajikan studi ini dalam laporan tertulis yang mencakup spesifikasi awal dan rencana pengembangan untuk aplikasi bisnis yang diusulkan. Jika disetujui rekomendasi studi kelayakan tersebut maka proses pengembangan bisa dilanjutkan.

Pengembangan aplikasi baru atau melibatkan proyek jangka panjang, maka perlu melakukan beberapa aktifitas dasar analisis sistem. Kebnayakan aktivitas ini merupakan kelanjutan aktivitas yang dilakukan pada studi kelayakan. Analisis sistem merupakan studi mendalam mengenai informasi yang dibutuhkan oleh pemakai akhir yang menghasilkan persyaratan fungsional yang digunakan sebagai dasar unutk desain sistem informasi baru. Analisis sistem melibatkan studi yang rinci mengenai :

- informasi yang dibutuhkan oleh perusahaan dan pemakai akhir

- aktivitas, sumberdaya, dan produk dari satu atau lebih sistem informasi yang saat ini digunakan.

- Kemampuan sistem informasi yang dibutuhkan untuk memenuhi kebutuhan informasi pemakai, pemilik kepentingan bisnis lainnya yang mungkin menggunakan sistem ini.

Sering kali sebuah perusahaan melakukan evaluasi terhadap hardware dan software dengan melakukan pemrosesan program pengujian benchmark khusus dan data pengujian.benchmarking mensimulasi pemrosesan pekerjaan khusus di beberapa komputer dan mengevaluasi kinerjanya. Kemudian pemakai dapat mengevaluasi hasil pengujian untuk menentukan alat hardware atau paket software mana yang menampilkan karakteristik kinerja terbaik.

(6)

6 Tabel 1. Faktor evaluasi software

Kualitas:

Apakah bebas kecacatan (bug) atau apakah banyak kesalahan dalam kode program? Efisiensi

Apakah software tersebut memiliki sistem kode program yang dikembangkan dengan baik yang tidak menggunakan banyak waktu CPU, kapasistas memori, atau disk space

Fleksibilitas

Apakah dapat melakukan proses bisnis kita dengan mudah, tanpa banyak modifiikasi Keamanan

Apakah ada prosedur pengendalian kesalahan , kerusakan fungsi, dan penggunaan yang tidak tepat?

Konektivitas

Apakah web-enabled sehingga dapat dengan mudah mengakses internet, intranet, dan ekstranet dengan sendirinya, atau dengan bekerja sama dengan browser Web atau software jaringan lainnya

Pemeliharaan

Apakah fitur-fitur baru dan perbaikan kecatatan (bug) dapat dengan mudah diimplementasikan oleh pengembang software kita sendiri?

Dokumentasi

Apakah software didokumentasikan dengan baik? Apakah mencakup layar bantuan dan agen software yang membantu?

Hardware

Apakah hardware yang memiliki fitur yang dibutuhkan agar software ini dapat berfungsi dengan baik?

Faktor-faktor lainnya

Apakah karakteristik kinerja, biaya, kendala, ketersediaan, kompatibilitas,modularitas,teknologi,ergonomi,keluasaan, dan pendukung software tersebut?

Sumber: O‟Brien

Pengujian sistem (system testing) dapat melibatkan pengujian dan debugging software, pengujian kinerja situs web, dan pengujian hardware baru. Bagian penting dari pengujian adalah peninjauan tampilan, laporan dan output lainnya dari prototipe. Prototipe harus ditinjau oleh pemakai akhir dari sistem tersebut unutk mengetahui kemungkinan kesalahan. Pengujian seharusnya tidak hanya terjadi selama tahap implementasi sistem, namun selama seluruh proses pengembangan sistem.

Software Engineering adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas (id.wikipedia.org, 2012). Rekayasa Perangkat Lunak (Software Engineering) diperlukan karena adanya Permasalahan didalam Perangkat Lunak dan Pengembangannya : Krisis perangkat lunak, biaya perbaikan kesalahan yang meningkat sejalan dengan tahapan pengembangan, biaya pemeliharaan perangkat lunak yang besar, keterlambatan dan kekurangan biaya.

(7)

7 Pengujian perangkat lunak (software testing) merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji (under test). Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada implementasinya. Teknik-teknik pengujian mencakup, namun tidak terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi dengan tujuan untuk menemukan bug perangkat lunak (id.wikipedia.org, 2012).

Tantangan dalam pembuatan software antara lain adalah menciptakan software yang memperbolehkan berbagai macam mesin untuk saling berkomunikasi melewati jaringan intranet dan internet, menciptakan arsitektur aplikasi yang sederhana namun canggih sesuai dengan kebutuhan pasar di era globalisasi, mendistribusikan source code sehingga pelanggan bisa membuat modifikasi lokal sesuai dengan kebutuhannya, serta menciptakan aplikasi yang menfasilitasi komunikasi dan distribusi produk secara masal mengunakan konsep yang berkembang.

Tabel 2. Kualitas Software: IS0 9126

Karakteristik Sub karakteristik Functionality: software untuk menjalankan fungsinya

sebagaimana kebutuhan sistemnya

Suitability, Accuracy, Interoperability,Security Reliability:Kemampuan software untuk dapat tetap tampil

sesuai dengan fungsinya ketika digunakan

Maturity, Fault tolerance, Recoverability Usability:Kemampuan software untuk mudah dimengerti,

dipelajari, digunakan dan disukai pengguna

Understandability, Learnability, Operability, Attractiveness Efficiency: Kemampuan software untuk menampilkan

performans relatif terhadap penggunaan sumberdaya

Time Behavior, Resource Utilization Maintainability: Kemampuan software untuk

dimodifikasi (koreksi,adaptasi,perbaikan)

Analyzability, Changeability, Stability, Testability Portability: Kemampuan software untuk ditransfer dari

satu lingkungan ke lingkungan lain

(8)

8

2.2. Operasi dan Perawatan Sistem

Setelah sistem diimplementasikan dengan berhasil, sistem akan dioperasikan dan dirawat. Tahap ini disebut dengan operasi dan perawatan sistem (system operation and maintenance). Sistem perlu dirawat karena beberapa hal, yaitu sebagai berikut:

1. Sistem mengandung kesalahan yang dulunya belum terdeteksi, sehingga kesalahan-kesalahan sistem perlu diperbaiki.

2. Sistem mengalami perubahan-perubahan karena permintaan baru dari pemakai sistem.

3. Sistem mengalami perubahan karena perubahan lingkungan luar. 4. Sistem perlu ditingkatkan.

Biaya perawatan sistem sering diabaikan. Kenyataanya biaya perawatan sistem merupakan biaya yang cukup besar. Biaya perawatan sistem yang besar yang tidak disadari ini dapat digambarkan sebagai biaya dibawah gunung es sebagai berikut.

Gambar 2. Gunung Es biaya perawatan (Jogiyanto, 2003) Biaya

analisis

Biaya Perancangan

Biaya Implementasi

(9)

9

III. STUDI KASUS

The Bugs Will Always Show Themselves, But Often Too Late

Programer dengan skala aplikasi software organisasi yang besar mempunyai tangggung jawab yang besar juga. Jutaan baris dari kode program yang dihasilkan oleh tim pemrograman tidak hanya mampu melakukan tugas yang dimaksudkan tetapi harus melakukannya dengan 100 persen bebas dari kesalahan akurasi. Sebuah tanda hubung tunggal tidak pada tempatnya dapat memberikan bencana bagi pengguna akhir yang menerima manfaat dari perangkat lunak tersebut sama halnya seperti pengembangnya. Kegagalan menunjukkan bahwa satu kesalahan kecil pada kode ketika kesalahan itu terjadi dapat menghasilkan biaya jutaan, bahkan miliaran, yang terakhir ditelusuri ketika akhirnya kesalahan tersebut mengungkapkan dirinya sendiri. Pertimbangkan contoh ini:

Pada 15 Januari, 1990, sekitar 60.000 AT&T pelanggan jarak jauh mencoba untuk menempatkan sambungan langsung jarak jauh menghubungi kami seperti biasa-namun tidak diperoleh apapun (error). Di belakang layar, perusahaan switch jarak jauh, semua 114 dari mereka, dijaga untuk melakukan reboot di squence. AT&T mengasumsikan itu terjadi akibat hack, dan selama sembilan jam, perusahaan dan penegakan hukum berusaha mencari tahu apa yang terjadi. Pada akhirnya, AT&T mengungkap pelakunya : sebuah kesalahan tidak jelas yang terjadi didalam perangkat lunak baru.

Bulan sebelum kecelakaan itu, AT&T memperbaiki kode tersebut untuk mempercepat proses. Masalahnya, hal itu terlalu cepat. Server pertama yang dicoba untuk overload dan memberikan dua pesan, salah satunya menghantam server kedua sama seperti yang telah diatur ulang. Server kedua diasumsikan bahwa ada kesalahan dalam logika internalnya dan diatur ulang sendiri. Server kedua menempatkan sendiri tanda "tidak mengganggu" dan melewati masalah pada ke switch ketiga dan sehingga masalah mengalir melalui seluruh sistem. Semua 114 switch dalam sistem dijaga untuk diatur ulang sendiri, sampai teknisi dapat mengurangi beban pesan pada seluruh sistem dan gelombang dari mengatur ulang sampai akhirnya berhasil.

(10)

10 Sementara itu, AT&T kehilangan sekitar $60 juta biaya jarak jauh dari panggilan yang tidak diproses. Perusahaan mengambil langkah sukses keuangan lebih lanjut beberapa minggu kemudian ketika dilakukan penurunan sepertiga tarif dari sambungan reguler langsung jarak jauh pada hari valetine untuk menebus kesalahan dengan pelanggan. Hal yang dapat dipelajari: menguji "perbaikan kode" terlebih dahulu sebelum merilisnya.

Diperkenalkan pada tahun 2006, Windows Genuine Advantage (WGA) adalah sebuah inisiatif yang tidak pernah populer dengan pelanggan microsoft itu. WGA tidak melakukan apapun untuk membantu keamanan atau stabilitas dari instalasi windows yang sah. Semua yang terjadi telah membantu microsoft memberantas pembajakan dari perangkat lunak di mana-mana pemberantasan tersebut tampak-bahkan di antara ribuan pelanggan windows yang sah.

Seseorang di tim WGA secara tidak sengaja memasang bug untuk mengisi perangkat lunak praproduksi pada server WGA tim dengan cepat memutar kembali untuk menguji peluncuran dari perangkat lunak, tetapi mereka tidak memeriksa bahwa yang meraka perbaiki benar-benar membahas masalah yang ada. Ternyata tidak. sehingga selama 19 jam server menandai ribuan dari klien WGA di seluruh dunia sebagai ilegal. Pelanggan windows XP diberitahu bahwa mereka menjalankan perangkat lunak bajakan. pelanggan windows vista mendapatkan fitur telah dimatikan, termasuk tema eye candy aero dan dukungan untuk ReadyBost RAM virtual drive.

Official pertama menanggapi bahwa mengeluh tidak membantu banyak: pelanggan yang tidak puas disarankan untuk mencoba memvalidasi ulang pada hari Selasa, tapi bahkan ketika masalah telah diperbaiki, klien vista masih harus memvalidasi ulang instalasi windows mereka sebelum mereka bisa menjalankan ReadyBoost mereka kembali ke aero.

Ok, jadi ini adalah masalah yang relatif ringan dalam hal teknik, dan sesungguhnya, itu disebabkan oleh kesalahan manusia. Namun kesalahan dalam pertanyaan itu menyebarkan buggy, perangkat lunak yang belum teruji, dan ketika anda menjadi salah satu faktor dari beberapa orang yang terkena, tingkat kemarahan diinduksi, dan dampak yang muncul adalah publisitas yang buruk, itu lebih parah daripada penglihatan pada pandangan pertama.

(11)

11 Tidak semua bug dalam perangkat lunak dianggap masalah sederhana, namun. Beberapa dari mereka adalah fatal. Perangkat lunak medis dan militer dapat sangat berbahaya jika tidak benar diuji. Selama perang teluk persia pertama, irak- menembakkan rudal dengan gerakan cepat adalah serangan udara yang paling mengancam bagi pasukan AS. Setelah salah satu roket cepat yang mematian diluncurkan, pertahanan AS yang terbaik adalah untuk mencegah serangan tersebut dengan rudal patriot antibalistik. Patriot bekerja hampir sama seperti senapan, mendapatkan dalam jangkauan rudal yang mendekat sebelum menembakkan keluar sebuah awan dengan 1.000 pelet untuk meledakkan serangan roket.

Sebuah patriot diperlukan untuk menyebarkan peletnya antara 5 dan 10 meter dari sebuah rudal yang mendekat untuk hasil terbaik. Ini membutuhkan waktu sepersekian detik, yang selalu rumit dengan dua benda yang bergerak sangat cepat terhadap satu sama lain. Sekalipun booster patriot yang paling menonjol, maka presiden george H.W.Bush, mengakui bahwa salah satu gerakan cepat (dari 42 tembakkan) berhasil melewati patriot. Kegagalan tunggal diakui presiden berada di pangkalan AS di Dhahran, Arab Saudi, pada tanggal 25 februari 1991, dan kegagalan tersebut menewaskan 28 tentara mereka. Kesalahan ini terlacak pada kesalahan perangkat lunak.

Perhitungan lintasan patriot berkisar seputar waktu dari pulsa radar, dan mereka harus dimodifikasi untuk menangani kecepatan tinggi dari rudal modern. Sebuah subroutine diperkenalkan untuk mengubah waktu jam lebih akurat ke titik mengambang angka untuk perhitungan. Itu telah diperbaiki sedikit rapi, tapi programmer tidak menempatkan panggilan ke subroutine di mana saja itu dibutuhkan.

Nampak secara kasat masalah ini telah diketahui, dan diperbaiki sementara berada di tempatnya: reboot sistem sering sekali dilakukan untuk me-reset jam. Sayangnya, istilah "sering sekali" tidak diartikan, dan itulah masalah yang terjadi dalam Februari dahulu di Dhahran. Sistem ini telah berjalan selama 100 jam, dan jam berangkat sekitar sepertiga dari satu detik. sebuah gerakan perjalanan cepat setengah kilometer dalam waktu itu, jadi tidak ada kesempatan patriot bisa untuk

(12)

12 disadap. Hal yang dapat dipelajari: definisi yang tepat dari instruksi untuk penggunaan aplikasi adalah sangat penting.

Terapi radiasi adalah alat yang berguna dalam memerangi berbagai bentuk kanker yang terkandung: sinar elektron membinasakan hal yang buruk, dan tubuh membuang benda mati. Sinar elektron memiliki fokus. Hal tersebut yang menyebabkan dunia medis beralih dari mesin. Ketidak beruntungan terjadi pada enam pasien antara tahun 1985 dan 1986, Therac-25 merupakan mesin dalam pertanyaan.

Therac 25 menangani dua jenis terapi: sebuah low-poweres direct electron beam dan sebuah mode sinar-X megavolt, yang dipersyaratkan melindungi dan menyaring dan ruang ion untuk menjaga sinar berbahaya dengan aman pada target. Masalahnya adalah bahwa perangkat lunak yang mendukung unit ini dimodif dari model sebelumnya, dan itu tidak cukup untuk diuji.

Jika operator mengubah modus perangkat dengan cepat, kondisi persaingan terjadi: dua set instruksi yang dikirim, dan yang pertama tiba mengatur mode. Dalam enam kasus didokumentasikan, ini berarti bahwa megavolt sinar-X dikirim, tanpa filter dan tanpa saringan, terhadap pasien yang memerlukan theraphy langsung elektron. Setidaknya dua dari mereka menjerit kesakitan dan berusaha lari dari ruangan. Semua dari mereka menderita keracunan radiasi, yang diklaim beberapa kehidupan.

Therac-25, yang telah mengingatkan kembali pada tahun 1987, telah menjadi pelajaran mengenai apa yang bisa salah dari mesin medis yang hebat. Kode tidak menyebabkan overdosis di vented mereka. Hal yang dapat dipelajari: menggunakan kembali kode pada sistem baru tanpa melalui pengujian adalah pemrograman yang buruk, dengan alasan yang baik.

Proses pengujian perangkat lunak membutuhkan waktu dan uang dan umumnya terjadi dalam lingkungan hidup dimana mendapatkan aplikasi yang dilakukan dan di tangan mereka yang membutuhkannya adalah tekanan konstan. Mengingat bahwa bug pada akhirnya akan, dan selalu, menemukan diri mereka harus memiliki cukup motivasi untuk mendapatkan yang benar pertama kalinya. Tapi, sering kali tidak.

(13)

13

IV. PEMBAHASAN

1. Mengapa pengujian perangkat lunak kelihatannya merupakan sesuatu yang memberatkan?

Dalam studi kasus The Bugs will Always Show Themselves, But Often Too Late terlihat bahwa pengujian terhadap perangkat lunak (software) tidak terlebih dahulu dilakukan dalam proses pengembangan perangkat lunak tersebut dan langsung mengimplementasikannya. Kesalahan (bug) terlihat ketika terjadi kegagalan dalam software yang berdampak pada pengguna akhir (end user). Pengujian terhadap perangkat lunak (software) tersebut tidak dilakukan dengan alasan membutuhkan banyak waktu dan biaya yang cukup besar dalam pelaksanaannya. Boehm (1982) menyatakan dalam perekayasaan perangkat lunak terdapat biaya pemeliharaan perangkat lunak atau perawatan perangkat lunak yang besar corrective (21%), adaptive (25%), preventive (4%) dan perfective (50%). Dalam pemelharaannya dibutuhkan biaya sekitar 49% yang lebih besar dari biaya pengembangannya sebesar 43%. Proses untuk melakukan pengujian perangkat lunak yang tidak sederhana dan membutuhkan investasi yang besar serta memakan waktu yang banyak membuat perusahaan tidak menerapkan proses pengujian meskipun hal tersebut sangat krusial.

Pengujian perangkat lunak adalah proses mengeksekusi program atau sistem dengan maksud menemukan kesalahan atau melibatkan setiap kegiatan yang bertujuan mengevaluasi atribut atau kemampuan dari program atau sistem dan menentukan bahwa system tersebut memenuhi hasil yang diperlukannya (Jiantao Pan. 1999). Dalam melakukan pengujian perangkat lunak perlu melakukan pembahasan mengenai teknik uji coba perangkat lunak dan strategi uji coba perangkat lunak.

Menurut Glen myers Sasaran dalam melakukan pengujian adalah :

1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.

2. Test case yg baik adalah test case yg memiliki probabilitas tinggi untuk menemukan kesalahan yg belum pernah ditemukan sebalumnya.

(14)

14 3. Pengujian yg sukses adalah pengujian yg mengungkap semua kesalahan yg

belum pernah ditemukan sebelumnya. Prinsip pengujian (davis) :

Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan. Pengujian harus direncanakan lama sebelum pengujian itu dimulai.

Prinsip Pareto berlaku untuk pengujian perangkat lunak. Prinsip Pareto mengimplikasikan 80% dari semua kesalahan yg ditemukan selama pengujian sepertinya akan dapat ditelusuri sampai 20% dari semua modul program. Pengujian harus mulai "dari yg kecil" dan berkembang ke pengujian "yang

besar".

Paling efektif, pengujian dilakukan oleh pihak ketiga yg independen.

Strategi uji coba PL memudahkan para perancang untuk menentukan keberhasilan system yg telah dikerjakan. Hal yg harus diperhatikan adalah langkah-langkah perencanaan dan pelaksanaan harus direncanakan dengan baik dan berapa lama waktu, upaya dan sumber daya yg diperlukan.

Strategi uji coba mempunyai karakteristik sbb :

· Pengujian mulai pada tingkat modul yg paling bawah, dilanjutkan dgn modul di atasnya kemudian hasilnya dipadukan.

· Teknik pengujian yang berbeda mungkin menghasilakn sedikit perbedaan (dalam hal waktu)

· Pengujian dilakukan oleh pengembang perangkat lunak dan (untuk proyek yang besar) suatu kelompok pengujian yang independen.

· Pengujian dan debugging merupakan aktivitas yang berbeda, tetapi debugging termasuk dalam strategi pengujian.

(15)

15 Perusahaan yang tidak menerapkan pengujian pada perangkat lunak meraka akan memungkinkan munculnya bug (kesalahan) pada perangkat lunak yang digunakan dan pada akhirnya akan menimbulkan pengeluaran yang sangat besar akibat dari kesalahan yang muncul dari perangkat lunak yang dijalankan. Sebagai contoh kasus yang terjadi pada perusahaan AT&T dimana perusahaan AT&T kehilangan sekitar $60 juta akibat kesalahan yang ditimbulkan dari perangkat lunak yang digunakan dan lebih lanjut AT&T harus menerima keuntungan yang lebih sedikit dengan penurunan sepertiga tarif dari sambungan reguler langsung jarak jauh mereka sebagai permohonan maaf dan untuk mempertahankan konsumen mereka tetap menggunakan jasa AT&T.

Kesalahan yang muncul pada perangkat lunak yang dijalankan menjadi pelajaran yang sangat berharga bagi perusahaan dan pengembang perangkat lunak. Untuk menghasilkan perangkat lunak yang baik dan berkualitas maka perangkat lunak tersebut harus memiliki kriteria : Functionality, Reliability, Usability, Efficiency, Maintainability, dan Portability. Dengan menerapkan kriteria tersebut diharapkan perangkat lunak yang dijalankan dapat berguna sesuai dengan tujuan yang diinginkan.

2. Dalam pengembangan dan pengujian perangkat lunak, apakah ada saat dimana pengecekan error secara menyeluruh tidak dibutuhkan? Mengapa?

Tidak, pengecekan error selalu dibutuhkan dalam pengembangan dan pengujian perangkat lunak untuk memastikan perangkat lunak yang digunakan terhindar dari terjadinya error dan berjalan sesuai dengan harapan dari penggunaan perangkat lunak tersebut. kesalahan yang berakibat fatal akan terjadi jika tidak dilakukan pengujian terlebih dahulu dalam pengembangan perangkat lunak tersebut. sebagai contoh studi kasus yang terjadi pada The Bugs will Always Show Themselves, But Often Too Late menunjukkan kecerobohan penggunaan software tanpa dilakukan pengujian terlebih dahulu yang menyebabkan munculnya bug dengan kerugian diderita oleh pengguna terakhir end-user.

Beberapa bug memiliki efek yang kecil terhadap fungsional dari program, namun beberapa juga dapat menjadi masalah yang serius dan besar. Pada kasus yang

(16)

16 terjadi karena adanya bug yang berakibat fatal terjadi pada mesin terapi Therac-25. Bug yang terjadi pada mesin tersebut membuat Therac-25 menembakkan sinar dalam modus daya tinggi. Akibat yang ditimbulkan sedikitnya lima pasien meninggal, yang lainnya yang terluka parah. Masalahnya adalah bahwa perangkat lunak yang mendukung therac-25 dimodif dari model sebelumnya, dan itu tidak cukup untuk diuji contoh lain yang menunjukkan kejadian dimana munculnya kesalahan contoh lain yang menunjukkan kejadian dimana munculnya kesalahan dalam pengoperasian yaitu Pada tahun 1996 prototipe Badan Antariksa Eropa AS Ariane menyebabkan 5 roket hancur kurang dari satu menit setelah peluncuran, karena bug dalam program computer pengendali. Pada tahun 2002, sebuah studi yang diprakarsai oleh Departemen Perdagangan AS 'Institut Nasional Standar dan Teknologi menyimpulkan bahwa kerusakan perangkat lunak (bug) menghabiskan biaya $59,5 milyar USD setiap tahunnya.

Software bug didefinisikan sebagai kesalahan, cacat, kesalahan, kesalahan yang mencegah perangkat lunak dari kesalahan respon perintah yang diharapkan. Bug sering hasil terjadi dari kesalahan manusia baik dalam kode sumber atau desain program. Dari penemuan adanya bug yang pada pengujian perangkat lunak, bug melewati berbagai tahap,yang biasa disebut sebagai „siklus‟ (Rakesh G, 2012). Berikut merupakan sklus hidup sebuah bug, laporan pengujian menjelaskan secara rinci perilaku bug pada setiap tahap:

1. Pelaporan adanya bug

ini adalah tahap pertama dari siklus hidup di mana bug dilaporkan. Keberadaan bug menjadi jelas jika tester mencoba menjalankan aplikasi yang baru dikembangkan dan tidak merespon seperti apa yang diharapkan. bug ini kemudian kirim ke bagian pengujian untuk mendapatkan persetujuan.

2. Terbuka (open)

Ketika bug tersebut dilaporkan kepada badan uji,dan akan di lakukan pemeriksaan pada sub yang dilaporkan mengalami kegagalan operasi. Jika ditemukan bahwa bug tersebut sesuai dengan pelaporan ,perangkat lunak tersebut akan di rubah statusnya menjadi „terbuka‟ (open)

(17)

17 Setelah bug telah disetujui dan ditemukan kebenaranya lalu kirim ke tim pengembangan perangkat lunak yang bersangkutan untuk di evaluasi. Hal ini dapat diberikan kepada tim yang menciptakan perangkat lunak atau mungkin ditugaskan ke beberapa tim khusus. laslu status bug tersebut berubah menjadi „assign’.

4. Test

Tim Evaluasi bug yang telah ditetapkan (assign) akan melakukan Evaluasi dan mengembangkan cara penghapusan bug pada perangkat lunak.Setelah, mereka selesai memperbaiki bug, dikirim kembali ke tim pengujian untuk tes ulang. Namun, sebelum mengirim bug ke tim pengujian, statusnya berubah menjadi „test„.

5. Penangguhan (Deferred)

Jika tim pengembangan merubah status bug menjadi „Deferred„ (ditangguhkan), itu berarti bahwa bug tersebut akan tetap dalam rilis berikutnya dari perangkat lunak tampa ada perbaikan pada bugnya . Ada alasan mengapa tim penguji tidak memperbaiki segera bug yang ada pada perangkat lunak karena pertimbangan pada waktu dan dampak rendah dari potensi bug atau perbaikan pada bug yang akan berdampak pada fitur atau kinerja perintah lainya yang sudah bekerja normal.

6. Ditolak (rejected)

Meskipun, Tim pengujian dan perbaikan telah dilakukan dapat telah disetujui pimpinan penguji , Tim pengembang perangkat lunak mungkin tidak selalu setuju, dengan alasan perbaikan bug akan menghambat atau menjadi masalah pada penambahan fitur pada saat upgrade versinya. Pada akhirnya, itu merupakan hak dari tim pengembangan untuk memutuskan apakah bug tersebut dapat diterima atau tidak. Jika mereka meragukan keberadaan atau dampak dari bug, maka mereka dapat berubah status menjadi rejected (ditolak)

7. Duplicate

Jika tim pengembang menemukan bahwa bug sama telah diulangi dua kali atau ada dua bug yang mengarah ke konsep sama, maka status satu bug diubah menjadi „duplikat‟. Dalam hal ini, memperbaiki satu bug otomatis menangani bug lain

(18)

18 8. Verifikasi

Jika tim pengembangan perangkat lunak mengirimkan kembali bug yang telah diperbaiki untuk tes ulang,karena ada hal yang masih diragukan kinerjanya atau masih kurang maksimal maka bug mengalami prosedur pengujian ketat lagi. Jika pada akhir ujian, tidak ditemukan maka statusnya berubah menjadi “terverifikasi.”

9. Dibuka kembali (Reopened)

Jika bug masih ada, maka statusnya berubah menjadi Reopened (dibuka kembali). Bug kemudian melintasi seluruh siklus hidupnya sekali lagi.

10. Ditutup (Closed)

Jika tidak ada kejadian bug dilaporkan dan jika fungsi perangkat lunak biasanya, maka bug tersebut Closed (ditutup)

Tidak semua kesalahan (bug) dalam perangkat lunak disebabkan oleh kesalahan coding. Salah satu sumber umum kesalahan (bug) disebabkan oleh kesenjangan dari perangkat lunak tersebut, misalnya, persyaratan yang belum diakui, yang dihasilkan dari kelalaian yang dilakukan oleh pengembang. Beberapa sumber yang menyebabkan kesenjangan dalam perangkat lunak seperti : testability, scalability , maintainability , usability , performance , and security (Wikipedia, 2012).

3. Apakah keuntungan bisnis dari melaksanakan rencana pengujian error yang diharuskan dalam tahap pengembangan software? Klasifikasikan keuntungan-keuntungan tersebut ke dalam peningkatan efektifitas dan efisiensi dalam pengembangan proses pengujian.

Keuntungan dilakukannya pengujian error bagi perusahaan adalah menghindari pengeluaran / biaya yang diakibatkan oleh kesalahan (bug) dari software yang dijalankan. Pengujian perangkat lunak harus dapat menjamin kualitas dari perangkat lunak yang dikembangkan utuh dan tidak rusak karena adanya bug yang terdapat didalam perangkat lunak tersebut. pengujian perangkat lunak ada baiknya jika dilakukan oleh pihak ketiga / outsourcing sehingga diperoleh hasil yang lebih maksimal dari pengujian terhadap perangkat lunak tersebut.

(19)

19 Pengujian perangkat lunak memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada implementasinya. Teknik-teknik pengujian mencakup, namun tidak terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi dengan tujuan untuk menemukan bug perangkat lunak (Wikipedia, 2012).

Manfaat yang diperoleh dari pengujian perangkat lunak dalam peningkatan efektifitas dan efisiensi dalam pengembangan yaitu:

 Bebas dari kesalahan

Dengan dilakukannya pengujian terhadap perangkat lunak akan dihindari berbagai mungkin kejadian yang disebabkan oleh kesalahan yang terdapat didalam perangkat lunak tersebut. pengujian sebaiknya dilakukan oleh pihak ketiga untuk memaksimalkan hasil yang diperoleh.

 Efektivitas biaya.

Menghindari kerugian yang diakibatkan oleh munculnya kesalahan pada perangkat lunak yang berakibat pada pengguna terakhir. Biaya yang dikeluarkan akan lebih sedikit jika dilakukan pendektesian awal terhadap kesalahan yang terjadi pada perangkat lunak tersebut.

Gambar 4. Pengurangan biaya akibat perbaikan dan pendektesian dini dari adanya kesalahan (bug) (RTI, 2002)

(20)

20  Efisien waktu

Dilakukannya pengujian terhadap perangkat lunak akan menghindari perusahaan dari resiko kerugian yang terjadi dan waktu yang lebih lama untuk melakukan perbaikan terhadap perangkat lunak tersebut.

 Fokus pada pengembangan bisnis.

Perangkat lunak yang tidak memiliki kesalahan (bug) akan memaksimalkan kinerja dari perusahaan dengan mendukung kegiatan bisnis lebih baik dan mendukung penyelesaian masalah lebih cepat dengan penggunaan perangkat lunak tersebut.

 Peningkatan loyalitas pelanggan.

Pengujian perangkat lunak yang dilakukan oleh pihak ketiga / outsourcing akan menghemat waktu yang berharga bagi perusahaan. Seperti akan diperoleh cukup waktu untuk fokus pada kegiatan penting bisnis dan mengoptimalkan pelayanan terhadap pelanggan untuk meningkatkan loyalitas dan kepuasan terhadap perusahaan.

(21)

21

V. KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dalam proses pengembangan perangkat lunak perlu dilakukan berbagai langkah dan pengujian untuk memaksimalkan perangkat lunak tersebut. Pentingnya dilakukan pengujian dalam proses pengembangan dan penjalanan perangkat lunak yaitu untuk menghindari terjadinya kesalahan (bug) dalam perangkat lunak. hal tersebut akan meminimalkan pengeluaran biaya yang diakibatkan oleh kerugian yang diakibatkan oleh kesalahan yang terjadi pada perangkat lunak tersebut. Untuk menghasilkan perangkat lunak yang baik dan berkualitas maka perangkat lunak tersebut harus memiliki kriteria : Functionality, Reliability, Usability, Efficiency, Maintainability, dan Portability. Penggunaan kriteria tersebut akan menghasilkan keuntungan bagi perusahaan penguna perangkat lunak tersebut. Manfaat yang diperoleh dari pengujian perangkat lunak dalam peningkatan efektifitas dan efisiensi dalam pengembangan yaitu Bebas dari kesalahan, efektivitas biaya, efisien waktu, fokus pada pengembangan bisnis, dan peningkatan loyalitas pelanggan

5.2. Saran

Perlu diterapkan standar operasional prosedur (SOP) disetiap perusahaan dalam pengembangan dan penjalanan perangkat lunak tersebut untuk menerapkan pengujian terlebih daluhu dalam proses pengembangan perangkat lunak. Kemudian perlunya pihak ketiga/outsourcing untuk pengujian terhadap perangkat lunak sebelum dijalankan dan digunakan bagi pengguna terakhir (end-user)

(22)

22

DAFTAR PUSTAKA

Anynomous. 2012. Rekayasa Perangkat Lunak. ega.staff.gunadarma.ac.id Downloadsfiles7513RPL_9.pdf [tanggal akses : 4 maret 2012]

B. W. Boehm, J. F. Elwell, A. B. Pyster, F. D. Stuckle, and R. D. Williams. 1982. The TRW software productivity system,” in Proc. IEEE 6th Int. Conf. Software Eng.

Jiantao Pan. 1999. Software Testing. Carnegie Mellon University. 18-849b

Jogiyanto. 2003. Sistem Teknologi Informasi, Pendekatan Terintegrasi: Konsep Dasar, Tkenologi, Aplikasi, Pengembangan dan Pengelolaan. Yogyakarta. Andi Yogyakarta.

O‟Brien, J. A. 2005. Pengantar Sistem Informasi, Perspektif Bisnis dan Manajerial. Edisi 12. Terjemahan: Introduction to Information Systems, 12th Ed. Palupi W. (editor), Dewi F. dan Deny A. K. (penerjemah). Penerbit Salemba Empat, Jakarta.

Rakesh G. 2012. Bug life cycle Software Testing Help www.softwaretestinghel.com. [tanggal akses : 02 Februari 2012]

RTI. 2002. The Economic Impacts of Inadequate Infrastructure for Software Testing. National Institute of Standards & Technology. Planning Report 02-3 Wikipedia. 2012. Pengujian Perangkat lunak. http://id.wikipedia.org. [tanggal

akses : 4 Maret 2012]

Gambar

Tabel 2. Kualitas Software: IS0 9126
Gambar 2. Gunung Es biaya perawatan (Jogiyanto, 2003) Biaya
Gambar 3. Strategi uji coba perangkat lunak
Gambar 4. Pengurangan biaya akibat perbaikan dan pendektesian dini dari  adanya kesalahan (bug) (RTI, 2002)

Referensi

Dokumen terkait

Reaktivitas : Tidak ada data tes khusus yang berhubungan dengan reaktivitas tersedia untuk produk ini atau bahan bakunya... Stabilitas

Berdasarkan hasil statistik yang telah dilakukan serta hasil uraian pembahasan sebelumnya, maka dapat ditarik kesimpulan yaitu variabel pertumbuhan kredit dan

Hasil dari tahap ini, terbentuk sebuah pola perilaku jaringan pada kondisi normal sebagai model awal untuk deteksi atas anomali yang disebabkan oleh

penelitian yang sedang dilakukan oleh peneliti lainnya, dalam pandangan penulis Algorithm based dan precision akan menjadi topic yang menarik untuk dibahas terutama dari sisi

Berdasarkan Firman Tuhan tersebut maka sebagai Pelayan Yesus Kristus kami memberitakan bahwa pengampunan dosa telah berlaku dalam nama Bapa dan Anak dan Roh Kudus.. Umat SYUKUR

Cuplikan percakapan berikut sebagai contoh adanya penggunaan kode yang berwujud bahasa asing dalam percakapan novel Ney Dawai Cinta Biola karya Hadi S.. Arifin

kot ke pelaku pasar (Identifikasi Persoalan) Pembentukan lembaga khusus Penataan Terpadu Kawasan Arjuna sbd perwakilan stakeholder Persiapan Penilaian (Tahap Perencanaan)

1) Mengembangkan kurikulum mata pelajaran IPS. a) Menelaah prinsip-prinsip pengembangan kurikulum IPS. b) Memilih pengalaman belajar yang sesuai dengan tujuan pembelajaran IPS.