kata pengantar
Puji dan syukur kehadirat Tuhan Yang Maha Kuasa atas segala rahmat
yang diberikan-Nya sehingga tugas paper yang berjudul “
SDLC,SWDLC,WHITE BOX DAN BLACK BOX” ini dapat penulis selesaikan. paper ini penulis buat sebagai
kewajiban untuk memenuhi tugas dari matakuliah Testing dan Implementasi
Sistem Informasi..
Tak lupa pula penulis sampaikan banyak terima kasih kepada semua pihak
yang turut berpartisipasi dalam proses penyusunan tugas makalah ini, karena
penulis sadar sebagai makhluk sosial penulis tidak bisa berbuat banyak tanpa ada
interaksi dengan orang lain dan tanpa adanya bimbingan, serta rahmat dan karunia
dari -Nya.
Akhirnya walaupun telah berusaha dengan secermat mungkin. Namun
sebagai manusia biasa yang tak mungkin luput dari salah dan lupa. Untuk itu
penulis mengharapkan koreksi dan sarannya semoga kita selalu berada dalam
lindungan-Nya.
Padang, Oktober 2015
DAFTAR ISI
BAB 1... 4
PENDAHULUAN...4
1.1 Latar Belakang...4
1.2 Perumusan Masalah...4
1.3 Tujuan Paper...4
BAB 11... 5
PEMBAHASAN...5
SDLC... 5
1. Pengertian SDLC...5
2. Tahapan dalam SDLC...7
3. Fungsi SDLC...16
4. Konsep SDLC...16
5. Pemeliharaan Sistem...17
SOFTWARE DEVELOPMENT LIFE CYCLE( SWDLC )...18
1. Siklus pengembangan perangkat lunak ( SWDLC )...18
2. Siklus Hidup Pengembangan Perangkat Lunak (SWDLC)...20
3. Teknnologi Object Oriented...21
4. Object Oriented Analysis dan Design (OOAD)...22
A. PENGUJIAN PERANGKAT LUNAK...25
a. Teknik Uji Perangkat Lunak...25
Sasaran pengujian (Glen Myers) :...25
Prinsip Pengujian (diusulkan Davis) :...25
B. STRATEGI DAN RENCANA PENGUJIAN...28
a) Strategi Pengujian...28
Langkah Pengujian...29
Proses Pengujian...29
Tahap pengujian...30
C. Pengujian White Box dan Metodenya...35
1. Pengertian White Box Testing...35
2. Kelebihan White Box Testing...35
3. Kelemahan White Box Testing...35
4. Tujuan penggunaan white box untuk menguji semua statement program...35
5. Metode Pengujian White Box...36
Pengujian Black Box dan Metodenya...38
1. Pengertian pengujian black box...38
2. Metode Pengujian Black Box...39
Perbedaan White Box & Black Box...40
BAB 111... 41
PENUTUP... 41
Kesimpulan... 41
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Dalam dunia teknologi sekarang pengembangan dalam bidang informatikan telah mengalami perkembangan yang sangat pesat. Dengan perkembangan ini, dalam bidang informatika tidak hanya menghasilkan hanya dalam pengembangan program perangkat lunak saja, melainkan pengambangan dalam bidang suatu permodelan yang bersifat komplek.
Dalam pembuatan sebuah perangkat lunak yang haruslah memiliki Teknik analisa kebutuhan dan teknik permodelan yang baik, supaya terwujudnya suatu perangkat lunak yang baik. Dengan hal tersebut maka perlulah suatu pengenalan mengenai permodelan dalam suatu pembangunan suatu Perangkat Lunak (Software). Terdapat banyak permodelan mengenai pembangunan suatu Perangkat lunak seperti SDLC dan lain sebagainya.
1.2 Perumusan Masalah
Berdasarkan penjelasan yang terdapat pada latar belakang masalah diatas, kami dihadapkan untuk menganalisa mengenai apa itu SDLC,SWLDC,Pengujian Perangkat Lunak,White Box dan Black Box dan bagaimana menanggulangi kekurangan serta tahu kelebihan dari permodelan perangkat lunak tersebut.
1.3 Tujuan Paper
Memenuhi tugas Matakuliah Sistem Informasi Manajemen pada Semester 4
Selain itu agar Mahasiswa mampu :
a. Menjelaskan konsep dasar proses pengembangan sistem dan siklus hidup pengembangan sistem informasi.
b. Menjelaskan beberapa indikator adanya permasalahan, peluang dan kesempatan yang dapat diraih jika memerlukan pengembangan sistem informasi.
c. Menjelaskan langkah – langkah yang ada pada tiap tahap pengembangan sistem : Perencanaan Sistem , Analisis Sistem, Perancangan Sistem, Implementasi Sistem, Penggunaan sistem
BAB 11
PEMBAHASAN
A.
SDLC
1. Pengertian SDLC
Beberapa pengertian Sistem Informasi Manajemen menurut para ahli : a. Menurut Barry E.Cushing, SIM adalah :
Suatu sistem informasi manajemen adalah Kumpulan dari manusia dan sumber daya modal di dalam suatu organisasi yang bertanggung jawab mengumpulkan dan mengolah data untuk mengahasilkan informasi yang berguna untuk semua tingkatan manajemen di dalam kegiatan perencanaan dan pengendalian
b. Menurut Frederick H.Wu SIM adalah :
‘Sistem Informasi Manajemen adalah kumpulan-kumpulan dari sistem-sistem yang menyediakan informasi untuk mendukung manajemen
c. Menurut L. James Havery , SIM adalah:
prosedur logis dan rasional untuk merancang suatu rangkaian komponen yang berhubungan satu dengan yang lainnya dengan maksud untuk berfungsi sebagai suatu kesatuan dalam usaha mencapai suatu tujuan yang telah ditentukan.
Metode SDLC adalah metode yang menggunakan pendekatan sistem yang disebut pendekatan air terjun ( waterfall approach ) dimana setiap tahapan sistem akan dikerjakan secara berurut menurun dari perencanaan, analisa, desain, implementasi, dan perawatan ( Aji Supriyanto, 2005: 272 )
Siklus hidup pengembangan sistem (System Development Life Cycle / SDLC)merupakan suatu bentuk yang digunakanuntuk menggambarkan tahapan utama dan langkah-langkah di dalam tahapan tersebutuntuk prosespengembangannya. Siklus hidup pengembangan sistem, merupakan proses evolusioneryang diikuti dalam menerapkan sistem atau subsistem informal berbasis komputer. SDLC dilakukan dengan pendekatan sistem secarateratur dan dilakukan secara top-down, oleh karenanya sering disebutpendekatan air terjun (waterfall approach)bagi pengembangan danpenggunaan sistem.
Saat sistem memiliki nilai strategis atau mempengaruhi seluruhorganisasi, direktur utamaatau komite eksekutifmungkinmemutuskan untuk mengawasi proyek pengembangannya. Ketika lingkupsistem menyempit dan fokusnya lebih operasional, kemungkinan besardipegang oleh yang lebih rendah seperti wakil direktur utama, direktur bagian administrasi dan CIO.Banyak perusahaan membuat suatu komite khusus. Jikatujuannya memberi petunjuk, pengarahan dan pengendalian yangberkesinambungan, komite ini disebut komite pengarah. Komitepengarah yang mengarahkan penggunaan sumberdaya komputerperusahaan disebut komite pengarah SIM. Anggota tetap komitepengarah SIM melibatkan eksekutif tingkat tinggi. Sedangkan anggotasementara meliputi manajer yang lebih rendah dan para konsultanselama keahliannya dibutuhkan.Tugas dan fungsi utama komite pengarah SIM:
a. Menetapkan kebijakan, yang memastikan dukungan komputeruntuk mencapai tujuan strategis perusahaan;
b. Menjadi pengendali keuangan, dengan bertindak sebagai badanyang berwenang memberi persetujuan bagi semua permintaan danayang berhubungan dengan komputer;
c. Menyelesaikan pertentangan, yang timbul sehubungan dengan prioritas penggunaan komputer.
Dengan memusatkan manajemen siklus hidup sistem dalamkomite pengarah, diperoleh dua keuntungan, yaitu semakin besar kemungkinan penggunaan komputer untukmendukung aspek manajerial dan operasional perusahaan serta semakin besar kemungkinan proyek-proyek berbasis komputer mempunyai perencanaan dan pengendalian yang lebih baik.
Kebijakan untuk mengembangkan sistem informasi dilakukan oleh manajemenpuncak karena manajemen menginginkan untuk meraih kesempatan-kesempatanyang ada yang tidak dapat diraih oleh sistem yang lama atau sistem yang lamamempunyai banyak kelemahan-kelemahan yang perlu diperbaiki (misalnya untukmeningkatkan efektifitas manajemen, meningkatkan produktivitas ataumeningkatkan pelayanan yang lebih baik kepada langganan).
2. Tahapan dalam SDLC
Setiap pengembang mempunyai strategi yang berlainan, namun demikian, pada dasarnya siklus hidup pengembangan sistem informasi terdapat 5 (lima) tahapan, yaitu :
1) Perencanaan Sistem ( Systems Planning) 2) Analisis Sistem (System Analysis) 3) Perancangan Sistem (System Design)
4) Implementasi Sistem (System Implementation) 5) Penggunaan sistem (System Utilization ) 2.1 Tahap Perencanaan Sistem
Perencanaan sistem merupakan tahap paling awal yang memberikan pedomandalam melakukan langkah selanjutnya. Perencanaan sistem menyangkut estimasi dari kebutuhan-kebutuhan fisik, tenaga kerjadan dana yang dibutuhkan untuk mendukung pengembangan sistem ini serta untukmendukung operasinya setelah diterapkan.
Perencanaan sistem dapat terdiri : perencanaan jangka pendek meliputi periode 1 s.d. 2 tahun dan perencanaan jangka panjang meliputi periode sampai dengan 5 tahun.
Perencanaan sistem biasanya ditangani oleh staf perencanaan sistem, bila tidak adadapat juga dilakukan oleh departemen sistem.
Proses Perencanaan Sistem dapat dikelompokkan dalam 3 proses utama yaitu :
a. Merencanakan proyek-proyek sistem yang dilakukan oleh staf perencana sistem b. Menentukan proyek-proyek sistem yang akan dikembangkan dan dilakukan oleh
komite pengarah.
c. Mendefinisikan proyek-proyek sistem dikembangkan dan dilakukan oleh analissistem.
Adapun langkah-langkah dalam tahap perencanaan sistem ini dapat tahap-tahapnya meliputi :
a. Menyadari Masalah: kebutuhan adanya proyek Sistem informasi berbasis komputer biasanyadirasakan oleh manajer perusahaan, non manajer dan unsur-unsurdalam lingkungan perusahaan.
b. Mendefinisikan masalah: setelah sadar akan adanya masalah,manajer harus memahaminya dengan baik agar dapat mengatasinya.
c. Menentukan tujuan sistem: manajer dan analis sistemmengembangkan suatu daftar tujuan sistem yang harus dipenuhi olesistem untuk memuaskan pemakai. d. Mengidentifikasi kendala-kendala sistem: kendala-kendala inipenting untuk
diidentifikasi sebelum sistem benar-benar mulaidikerjakan.
Teknis: tersediakah perangkat keras dan perangkat lunak untukmelaksanakan pemrosesan yang diperlukan?
Pengembalian ekonomis: dapatkah sistem yang diajukan dinilai secara keuangan dengan membandingkan kegunaan dan biayanya?
Pengembalian non ekonomis: dapatkah sistem yang diajukandinilai berdasarkan keuntungan-keuntungan yang tidak dapatdiukur dengan uang?
Hukum dan etika: akankah sistem yang diajukan beroperasidalam batasan hukum dan etika?
Operasional: akankah rancangan sistem seperti itu akan didukunoleh orang-orang yang menggunakannya?
Jadwal: mungkinkah menerapkan sistem dalam kendala waktuyang ditetapkan?
f. Mempersiapkan usulan penelitian sistem: jika sistem dan proyeklayak, diperlukan penelitian sistem yang menyeluruh. Penelitian siste (system study) akan memberikan dasar yang terinci untuk rancangansistem baru. Analis akan menyiapkan usulan penelitian sistem yan memberikan dasar bagi manajer untuk menentukan perlu tidaknyapengeluaran untuk analis.
g. Menyetujui atau menolak penelitian proyek: manajer dan komite pengarah menimbang pro dan kontra dari proyek dan rancangansistem yang diusulkan, serta menentukan apakah perlu diteruskanatau tidak.
Proses pengembangan sistem dapat digambarkan sebagai berikut :
Dengan telah dikembangkannya sistem yang baru, maka diharapkan akan terjadi peningkatan-peningkatan di sistem yang baru. Peningkatan-peningkatan ini berhubungan dengan :
Performance (kinerja), peningkatan terhadap kinerja (hasil kerja) sistem yang baru sehingga menjadi lebih efektif. Kinerja dapat diukur dari throughput dan response time. Throughput adalah jumlah dari pekerjaan yang dapat dilakukan suatu saat tertentu. Response time adalah rata-rata waktu yang tertunda diantara dua transaksi atau pekerjaan ditambah dengan waktu response untuk menanggapi pekerjaan tersebut.
Information (informasi), peningkatan terhadap kualitas informasi yang disajikan.
Economy (ekonomis), peningkatan terhadap manfaat-manfaat atau keuntungankeuntungan atau penurunan-penurunan biaya yang terjadi.
Control (pengendalian), peningkatan terhadap pengendalian untuk mendeteksi dan memperbaiki kesalahan-kesalahan serta kecurangan-kecurangan yang dan akan terjadi.
Efficiency (efisiensi), peningkatan terhadap efisiensi operasi. Efisiensi berbeda dengan ekonomis. Bila ekonomis berhubungan dengan jumlah sumber daya yang digunakan, efisiensi berhubungan dengan bagaimana sumber daya tersebut
Sistem yang ada
Permasalahan ; kesempatan; instruksi
Pengembangan Sistem
Memecahkan masalah; meraih
2.2 Tahap Analisis Sistem
Analisis Sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagiankomponennya dengan maksud untuk mengidentifikasikan dan mengevaluasipermasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yangterjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkanperbaikan-perbaikan.
Tahap analisis merupakan tahap yang kritis dan sangat penting, karena kesalahan di dalam tahap ini akan menyebabkan juga kesalahan di tahap selanjutnya
Langkah-langkah di dalam tahap analisis sistem hampir sama dengan langkah-langkahyang dilakukan dalam mendefinisikan proyek-proyeksistem yang akan dikembangkan ditahap perencanaan sistem. Perbedaannya pada analisis sistem ruang lingkup tugasnyalebih terinci.Didalam tahap analisis sistem terdapat langkah-langkah dasar yang harusdilakukan oleh Analis Sistem Yaitu :
a. Identify, yaitu mengidentifikasikan masalah, mengindentifikasikan penyebab masalah; mengidentifikasikan titik keputusan; mengidentifikasikan personil-personil kunci.
b. Understand,yaitu memahami kerja dari sistem yang ada, menentukan jenis penelitian; merencanakan jadual penelitian; Mengatur jadual wawancara; Mengatur jadual observasi; Mengatur jadual pengambilan sampel; Membuat penugasan penelitian; Membuat agenda wawancara; Mengumpulkan hasil penelitian
c. Analyze, Yaitu Menganalis Sistem, Menganalisis kelemahan Sistem; Menganalisis kebutuhan Informasi pemakai / manajemen.
d. Report,Yaitu membuat laporan hasil analisis yang tujuannya :Memberi laporan bahwa analisis telah selesai dilakukan; Meluruskan kesalah-pengertian mengenai apa yangtelah ditemukan dan dianalisisoleh analis sistem tetapi tidak sesuai menurut manajemen; Meminta pendapat-pendapat dan saran-saran dari pihak manajemen; Meminta persetujuan kepada pihak manajemen untuk melakukan tindakan selanjutnya.
Adapun Adapun langkah-langkah dalam tahap analisis sistem ini tahap-tahapnya meliputi :
a. Mengumumkan Penelitian Sistem: untuk mengurangi kekuatiranakan adanya aplikasi komputer baru, kiranya perlu dikomunikasikandengan cara : alasan perusahaan melaksanakan proyek; dan bagaimana sistem baru menguntungkan perusahaan dan para karyawan.
c. Mendefinisikan kebutuhan pemakai: pengumpulan informasikebutuhan pemakai dapat dilakukan dengan: wawancara perorangan,pengamatan, pencarian catatan dan survei. Wawancara lebih disukai,karena: (1) adanya komunikasi dua arah dan pengamatan terhadapbahasa tubuh; (2) meningkatkan antusiasme pada proyek baik daripihak spesialis, maupun pemakai; (3) dapat menjalinkepercayaanantara pemakai dan spesialis informasi; (4) memberi kesempatan bagipeserta proyek kalau ada perbedaan pandangan. Dokumentasinya dapat berupa flowchart, diagram arus data (data flow diagram), dan grafik serta penjelasan naratif dari proses dan data. Semua dokumentasi ini yang menjelaskan sistem ini disebut kamus proyek.
d. Mendefinisikan kriteria kinerja sistem: setelah kebutuhan informasididefinisikan, langkah selanjutnya adalah menspesifikasikan secaratepat kriteria kinerja sistem. Contoh, manajer pemasaranmenetapkan kriteria laporan biaya bulanan sbb: (1) laporan disiapkandalam kertas dan tampilan; (2) laporan disediakan tidak lebih dari tiga hari setelah akhir bulan; (3) laporan harus membandingkanpendapatan dan biaya aktual dengan anggaran. e. Menyiapkan usulan rancangan: analis sistem memberikankesempatan bagi
manajer untuk membuat keputusanteruskan/hentikan untuk kedua kalinya. Manajer harus menyetujuitahap rancangan dan dukungan bagi keputusan itu termasuk usulanrancangan.
f. Menyetujui atau menolak rancangan proyek: manajer dan komitepengarah SIM mengevaluasi usulan rancangan dan menentukanapakah disetujui atau tidak.
3. Tahap Perancangan Sistem
Setelah tahap analisis sistem selesai dilakukan, maka analis sistem telahmendapatkan gambaran dengan jelas apa yang harus dikerjakan. Tiba waktunyasekarang bagi analis sistem untuk memikirkan bagaimana membentuk sistem tersebut.Tahap ini disebut dengan perancangan sistem (system design ).Tahap perancangan sistem ini mempunyai tujuan utama yaitu untuk memenuhi kebutuhan kepada pemakai sistem; untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepadapemrogram komputer dan ahli-ahli teknik lainnya yang terlibat. Tahap perancangan sistem merupakan tahap penentuan proses dan data yangdiperlukan oleh sistem baru. Untuk sistem berbasis komputer biasanyadalam rancangan ada spesifikasi jenis peralatan yang akan digunakan.
Adapun langkah-langkah dalam tahap analisis sistem ini tahap-tahapnya meliputi : a. Menyiapkan rancangan sistem yang terinci: analis bekerja samadengan
b. Mengidentifikasikan berbagai alternatif konfigurasi sistem: analisharus mengidentifikasikan konfigurasi (bukan merek atau model)peralatan komputer yang akan memberikan hasil terbaik bagi sistemuntuk menyelesaikan pemrosesan.
c. Mengevaluasi berbagai alternatif konfigurasi sistem: analis bekerjabersama manajer mengevaluasi berbagai alternatif dan dipilih yangpaling memungkinkan subsistem memenuhi kriteria kinerja, dengankendala-kendala yang ada.
d. Memilih konfigurasi yang terbaik: analis mengevaluasi semuakonfigurasi subsistem dengan menyesuaikan kombinasi peralatansehingga semua subsistem menjadi satu konfigurasi tunggal. Setelahdianalisis kemudian direkomendasikan kepada manajer untukdisetujui. Persetujuan dilakukan oleh Komite pengarah SIM.
e. Menyetujui usulan penerapan: analisis menyiapkan usulan penerapan yang mengikhtisarkan tugas-tugas penerapan yang harusdilakukan, keuntungan yang diharapkan dan biayanya.
f. Menyetujui atau menolak penerapan sistem: jika keuntungan darisistem melebihi biayanya, penerapan akan disetujui.
4. Tahap Implementasi Sistem
Setelah dianalisis dan dirancang secara rinci dan teknologi telah diseleksi dandipilih. Tiba saatnya , sistem untuk diimplementasikan. Tahap implementasi systemmerupakan tahap meletakkan sistem supaya siap untuk dioperasikan. Tahap initermasuk juga kegiatan menulis kode program jika tidak digunakan paket perangkat
lunak aplikasi.
Implementasi sistem merupakan kegiatan untuk memperoleh dan mengintegrasikansumberdaya fisik dan konseptual yang menghasilkan suatu sistem yangbekerja.
Adapun langkah-langkah dalam tahap analisis sistem ini dapat dilihat pada gambar 9.5. tahap-tahapnya meliputi :
a. Merencanakan penerapan: sebelum sistem baru digunakan, manajerdan spesialis informasi memahami dengan baik pekerjaan yangdiperlukan untuk menerapkan rancangan sistem.
b. Mengumumkan penerapan: proyek penerapan diumumkan kepadapara pegawai dengan cara yang sama seperti penelitian sistem.Tujuannya untuk menginformasikan pegawai mengenai keputusanuntuk menerapkan sistem baru dan meminta kerjasama pegawai.
d. Mendapatkan sumberdaya perangkat lunak: dapat membuat sendiri oleh programmer dari dokumen yang disiapkan analis sistem ataumenggunakan perangkat lunak aplikasi jadi (prewritten applicationsoftware).
e. Menyiapkan database: DBA bertanggungjawab untuk semua kegiatanyang berhubungan dengan data, dan ini mencakup persiapan database.
f. Menyiapkan fasilitas fisik: fasilitas di sini adalah lantai yangditinggikan, pengendalian suhu ruangan dan kelembaban khusus,keamanan, peralatan pendeteksi api dan pemadam kebakaran, dsb.
g. Mendidik peserta dan pemakai: baik peserta (operator pemasukandata, pegawai coding, dan administrasi) dan pemakai harus dididiktentang peran mereka dalam sistem. Pendidikan sebaiknya setelahsiklus hidup dimulai, tepat sebelum bahan-bahan yang dipelajarimulai diterapkan.
h. Masuk ke sistem baru: proses menggantikan sistem lama ke sistembaru disebut cutover. Ada 4 pendekatan dasar: percontohan (pilot project), serentak, bertahap, dan paralel.
5. Tahap Penggunaan Sistem
Pada tahap ini terdiri dari 3 langkah sebagaimana ditunjukkan pada gambar 9.6, langkah – langkah penggunaan sistem ( System Implementation ) adalah :
a. Menggunakan sistem. Pemakai menggunakan sistem untukmencapai tujuan yang diidentifikasikan pada tahap perencanaan.
b. Audit sistem. Penelitian apakah sistem baru memenuhi kriteriakinerja. Studi ini disebut “penelaahan setelah penerapan” (postimplementation).
c. Memelihara sistem. Selama manajer menggunakan sistem, berbagai modifikasi dibuat sehingga sistem terus memberikandukungan yang diperlukan. Modifikasi ini disebut pemeliharaansistem. Ada tiga alasan untuk pemeliharaan :Memperbaiki kesalahan; Menjaga kemutakhiran sistemdan Meningkatkan sistem.
6. Pendekatan Pengembangan Sistem
Terdapat beberapa pendekatan untuk mengembangkan sistem, yaitu: a. Pendekatan Klasik
Pendekatan Klasik (classical approach) disebut juga dengan Pendekatan Tradisional (traditional approach) atau Pendekatan Konvensional (conventional approach). Metodologi Pendekatan Klasik mengembangkan sistem dengan mengikuti tahapan-tahapan pada System Life Cycle. Pendekatan ini menekankan bahwa pengembangan akan berhasil bila mengikuti tahapan pada System Life Cycle.
1. Pengembangan perangkat lunak akan menjadi sulit
Pendekatan klasik kurang memberikan alat-alat dan teknik-teknik di dalam mengembangkan sistem dan sebagai akibatnya proses pengembangan perangkat lunak menjadi tidak terarah dan sulit untuk dikerjakan oleh pemrogram. Lain halnya dengan pendekatan terstruktur yang memberikan alat-alat seperti diagram arus data (data flow diagram), kamus data (data dictionary), tabel keputusan (decision table). Diagram IPO, bagan terstruktur (structured chart) dan lain sebagainya yang memungkinkan Pengembangan Sistem Informasipengembangan perangkat lunak lebih terarah berdasarkan alat-alat dan teknik-teknik tersebut .
2. Biaya perawatan atau pemeliharaan sistem akan menjadi mahal
Mahalnya biaya perawatan pada pendekatan sistem klasik disebabkan karena dokumentasi sistem yang dikembangkan kurang lengkap dan kurang terstruktur.Dokumentasi ini merupakan hasil dari alat-alat dan teknik -teknik yang digunakan. Karena pendekatan klasik kurang didukung oleh alat-alat dan teknik-teknik, maka dokumentasi menjadi tidak lengkap dan walaupun ada tetapi strukturnya kurang jelas, sehingga pada waktu pemeliharaan sistem menjadi kesulitan.
3. Kemungkinan kesalahan sistem besar
Pendekatan klasik tidak menyediakan kepada analis sistem cara untuk melakukan pengetesan sistem, sehingga kemungkinan kesalahan-kesalahan sistem akan menjadi lebih besar.
4. Keberhasilan sistem kurang terjamin
Penekanan dari pendekatan klasik adalah kerja dari personil-personil pengembang sistem, bukan pada pemakai sistem, padahal sekarang sudah disadari bahwa dukungan dan pemahaman dari pemakai sistem terhadap sistem yang sedang dikembangkan merupakan hal yang vital untuk keberhasilan proyek pengembangan sistem pada akhirnya.
b. Pendekatan Terstruktur
Keuntungan pendekatan terstruktur :
Mengurangi kerumitan masalah
Konsep mengarah pada sistem yang ideal
Standarisasi
Orientasi kemassa datang
Mengurangi ketergantungan pada desainer
Kekurangan:
SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
Sedikit sekali manajemen langsung terkait dengan SSAD.
Prinsip dasar SSAD merupakan pengembangan non-iterasi (waterfall)
Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi.
c. Dari Bawah Ke Atas (Bottom-up Approach)
Pendekatan ini dimulai dari level bawah organisasi, yaitu level operasional dimana transaksi dilakukan. Pendekatan ini dimulai dari perumusan kebutuhan-kebutuhan untuk menangani transaksi dan naik ke level atas dengan merumuskan kebutuhan informasi berdasarkan transaksi tersebut. Pendekatan ini ciri-ciri dari pendekatan klasik. Pendekatan dari bawah ke atas bila digunakan pada tahap analisis sistem disebut juga dengan istilah data analysis, karena yang menjadi tekanan adalah data yang akan diolah terlebih dahulu, informasi yang akan dihasilkan menyusul mengikuti datanya.
d. Pendekatan Dari Atas Ke Bawah (Top-down Approach)
e. Pendekatan Sepotong (piecemeal approach)
Pengembangan yang menekankan pada suatu kegiatan/aplikasi tertentu tanpa memperhatikan posisinya di sistem informasi atau tidak memperhatikan sasaran organisasi secara global (memperhatikan sasaran dari kegiatan atau aplikasi itu saja).
f. Pendekatan Sistem (systems approach)
Memperhatikan sistem informasi sebagai satu kesatuan terintegrasi untuk masing-masing kegiatan/aplikasinya dan menekankan sasaran organisasi secara global.
g. Pendekatan Sistem menyeluruh (total-system approach)
Pendekatan pengembangan sistem serentak secara menyeluruh, sehingga menjadi sulit untuk dikembangkan (ciri klasik).
h. Pendekatan Moduler (modular approach)
Pendekatan dengan memecah sistem komplek menjadi modul yang sederhana, sehingga sistem lebih mudah dipahami dan dikembangkan, tepat waktu, mudah dipelihara (ciri terstruktur)
i. Pendekatan Lompatan jauh (great loop approach)
Pendekatan yang menerapkan perubahan menyeluruh secara serentak menggunakan teknologi canggih, sehingga mengandung resiko tinggi, terlalu mahal, sulit dikembangkan karena terlalu komplek.
j. Pendekatan Berkembang (evolutionary approach)
Pendekatan yang menerapkan teknologi canggih hanya untuk aplikasi-aplikasi yang memerlukan saja dan terus dikembangkan untuk periode berikutnya mengikuti kebutuhan dan teknologi yang ada.
7. Fungsi SDLC
Untuk menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap
tahapan yang secara garis besar terbagi dalam fase fase utama dalam SDLC, yaitu:
Perencanaan : Mengapa Mengembangkan Sistem?
Analisis : Siapa, apa, kapan dan dimana sistem diterapkan?
Perancangan : Bagaimana kerja sistem?
Implementasi : Bagaimana Sistem Dipasang/diinstall?
8. Konsep SDLCKonsep SDLC (system development life cycle) dalam pengembangan sebuah sistem. Secara global definisi SDLC dapat dikatakan sebagai suatu proses berkesinambungan untuk menciptakan atau merubah sebuah sistem, merupakan sebuah model atau metodologi yang digunakan untuk melakukan pengembangan sistem.
kepada pengguna. Secara umum, tahapan SDLC meliputi proses perencanaan, analisis, desain dan.implementasi.
a. Planning
Proses perencanaan biasanya lebih menekankan pada alasan mengapa sebuah sistem harus dibuat.
b. Analysis
Tahapan perencanaan ini kemudian dilanjutkan dengan proses analisis yang lebih menekankan pada siapa, apa, kapan dan dimana sebuah sistem akan dibuat. c. Design
Sedangkan pada proses desain lebih menekankan kepada bagaimana sistem akan berjalan.
d. Implementation
Tahap terakhir dilanjutkan dengan fase implementasi yaitu proses delivery-nya kepada pengguna.
9. Pemeliharaan Sistem
Corrective – memperbaiki desain dan error pada program.
Adaptive – memodifikasi sistem untuk beradaptasi dengan perubahan lingkungan.
Perfective – Melibatkan sistem untuk menyelesaikan masalah baru atau mengambil. kesempatan (penambahan fitur).
Preventive – Menjaga sistem dari kemungkinan masalah di masa yang akan datang.
10. Daftar Istilah Penting
1) Systems development (Pengembangan sistem)
2) System Development Life Cycle / SDLC (Siklus hidup pengembangan sistem)
3) waterfall approach (pendekatan air terjun)dalam pengembangan dan penggunaan sistem.
4) System design (perancangan sistem) 5) Structured design (rancangan terstruktur) 6) data flow diagram (diagram arus data) 7) System Implementation (penggunaan sistem) 8) Hierarchy Input Process Output ( HIPO) 9) Data Dictionary ( Kamus data)
10)Data Flow Diagram (Diagram Alir Data ) 11)Decission Table ( Tabel Keputusan )
B.
SOFTWARE DEVELOPMENT LIFE CYCLE( SWDLC )
1. Siklus pengembangan perangkat lunak ( SWDLC )
Pengembangan sistem (sistem development) dapat berarti menyusun sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem yang sudah ada. Sistem yang lama perlu diperbaiki atau diganti disebabkan karena beberapa hal, yaitu sebagai berikut :
1. Adanya permasalahan-permasalahan (problems) yang timbul di sistem yang lama. Permasalahan yang timbul dapat berupa :
a) Ketidakberesan dalam sistem yang lama yang menyebabkan sistem yang lama tidak dapat beroperasi sesuai dengan yang diharapkan.
b) Pertumbuhan organisasi, yang menyebabkan harus disusunnya sistem yang baru.
Pertumbuhan organisasi diantaranya adalah kebutuhan informasi yang semakin luas, volume pengolahan data yang semakin meningkat, perubahan prinsip akuntansi/pengolahan data yang baru.
2. Untuk meraih kesempatan-kesempatan (opportunities), teknologi informasi telah berkembang dengan cepatnya. Perangkat keras komputer, perangkat lunak dan teknologi komunikasi telah begitu cepat berkembang. Organisasi mulai merasakan bahwa teknologi informasi ini perlu digunakan untuk meningkatkan pelayanan informasi sehingga dapat mendukung dalam proses pengambilan keputusan yang akan dilakukan oleh pihak manajemen.
Gambar 1. Pengembangan Sistem Informasi
Sistem yang baik adalah sistem yang selalu menyesuaikan dengan perubahan lingkungan yang terjadi disekitarnya atau sistem tersebut harus dinamis menuju pada keadaan yang lebih baik.
Gambar 2. Tahapan Perancangan Sistem Informasi
a. Tahap awal, yaitu tahap perencanaan, menyangkut studi kebutuhan user, studi
kelayakan baik secara teknis maupun teknologi serta penjadwalan
pengembangan suatu proyek sistem informasi.
b. Tahap berikutnya adalah tahap analisis, yaitu tahap dimana kita berusaha
mengenali segenap permasalahan yang muncul pada pengguna, mengenali
komponen-komponen sistem, obyek-obyek, hubungan antar obyek dan
sebagainya.
c. Tahap ketiga adalah tahap perancangan, yaitu tahap dimana kita mencoba
mencari solusi permasalahan yang didapat dari tahap analisis.
iteratif itu dapat berjalan dengan lebih efektif serta efisien ditinjau dari segi
uang dan waktu.
e. Tahap kelima atau tahap yang terakhir adalah tahap pemeliharaan / perawatan,
dimana kita bisa mulai melakukan pengoperasian sistem dan jika diperlukan
dapat melakukan perbaikan-perbaikan kecil. Kemudian jika waktu
penggunaan sistem habis, maka kita akan masuk lagi pada tahap perencanaan.
2.
Siklus Hidup Pengembangan Perangkat Lunak (SWDLC)
Pengembangan perangkat lunak berjangkauan antara dua sisi ekstrim, dari
sindrom “spreadsheet untuk setiap aplikasi” sampai sindrom “reinventing the wheel”.
Sindrom pertama terjadi karena untuk setiap aplikasi terdapat spreadsheet yang siap
pakai (ready-made) atau terdapat beberapa paket perangkat lunak komersial yang
akan menjalankan aplikasi tersebut. Di sisi lain sistem mengembangkan program
komputer baru dari pembuatan dari awal (scratch) untuk setiap aplikasi sistem tanpa
mempedulikan apa yang telah dikembangkan secara in-house atau apa yang tersedia
dari penjual (vendor) perangkat lunak.
Pembangunan program mengikuti tiga tahap Siklus Hidup Pengembangan
Perangkat Lunak (Software Development Life Cycle-SWDLC), yaitu :
a) Rancangan (Design) b) Kode (Code) c) Uji (Test)
Software Development Life Cycle-SWDLC menjadi komponen siklus hidup dari System Development Life Cylce - SDLC untuk beberapa alasan (D.Suryadi H.S & Bunawan,1995) :
a. SDLC mencakup pengembangan sistem keseluruhan, yang memerlukan komponen-komponen lain disamping perangkat lunak.
b. Dalam sistem yang memerlukan pengembangan perangkat lunak yang didasarkan pada rancangan sistem yang diciptakan oleh SDLC, SWDLC akan diinisiai.
c. Apabila SWDLC menjadi berperan, maka SWDLC seperti halnya SDLC yang berbasis lebih luas, akan memberikan kumpulan acuan tahap-tahap yang diperlukan untuk mengembangkan perangkat lunak tersebut. SWDLC menjabarkan tugas-tugas dan prosedur-prosedur yang harus dijalankan dalam setiap tahap; hasil yang diciptakan oleh setiap tahap; dan metriks untuk menyusun jadwal, mengestimasi biaya, dan mengukur produktifitas.
3. Teknnologi Object Oriented
Teknologi object-oriented merupakan paradigma baru dalam rekayasa software yang didasarkan pada obyek dan kelas. Diakui para ahli bahwa object-oriented merupakan metodologi terbaik yang ada saat ini dalam rekayasa software. Object-oriented memandang software bagian per bagian dan menggambarkan satu bagian tersebut dalam satu obyek. Satu obyek dalam sebuah model merupakan suatu fokus selama dalam proses analisis, perancangan dan implementasi dengan menekankan pada state, perilaku (behavior) dan interaksi obyek dalam model tersebut.
Teknologi obyek menganalogikan sistem aplikasi seperti kehidupan nyata
yang didominasi oleh obyek. Manusia adalah obyek, komputer adalah obyek. Obyek
memiliki atribut : manusia memiliki nama, pekerjaan, rumah, dan lain-lain.
Mobil memiliki warna, merk, sejumlah roda, dan lain-lain. Komputer memiliki
kecepatan, sistem operasi, dan lain-lain. Obyek dapat beraksi dan bereaksi. Manusia
dapat berjalan, berbicara, makan, minum ; mobil dapat berjalan, mengerem ;
komputer dapat mengolah data, menampilkan gambar, dan lain-lain.
Keunggulan teknologi obyek dengan demikian adalah bahwa model yang
dibuat akan sangat mendekati dunia nyata yang masalahnya akan dipecahkan oleh
sistem yang dibangun. Model obyek, atribut dan kelakuan bisa langsung diambil dari
obyek yang ada di dunia nyata.
Sistem yang dibangun dengan teknologi obyek memiliki fleksibilitas yang tinggi
terhadap perubahan karena menggunakan konsep komponen yang bisa digunakan
kembali.
Didalam dunia perangkat lunak, penggunaan berulang merupakan hal yang
biasa. Contohnya ide dan formula yang hampir sama digunakan berulang oleh
programmer yang berbeda untuk mengembangkan aplikasi keuangan yang khusus
diadaptasikan sesuai kebutuhan dan permintaan masing-masing klien. Oleh karena itu
penggunaan berulang suatu obyek merupakan hal yang seharusnya bisa dilakukan.
Suatu obyek bisa diambil untuk dimodifikasi berupa penambahan atau pengulangan
untuk memecahkan suatu masalah baru.
Ada empat prinsip dasar dari pemrograman berorientasi obyek,
yaitu :abstraksi, enkapsulasi, modularitas dan hirarki.
1) Abstraksi :
2) Enkapsulasi:
Menyembunyikan banyak hal yang terdapat dalam obyek yang tidak perludiketahui oleh obyek lain. Dalam praktek pemrograman enkapsulasi diwujudkan dengan membuat suatu kelas interface yang akan dipanggil oleh obyek lain, sementara didalam obyek yang dipanggil terdapat kelas lain yang mengimplementasikan apa yang terdapat dalam kelas interface. Obyek lain hanya tahu dia perlu memanggil kelas interface tanpa perlu tahu proses apa saja yang dilakukan didalam kelas implementasinya dan untuk menuntaskan proses tersebut perlu berhubungan dengan obyek mana saja. Dengan demikian bila terjadi proses perubahan pada proses implementasi maka obyek pemanggil tidak akan terpengaruhi secara langsung.
3) Modularitas :
Membagi sistem yang rumit menjadi bagian-bagian yang lebih kecil yang bisa mempermudah developer memahami dan mengelola obyek tersebut. Contohnya adalah sistem akademis yang bisa dibagi menjdi kemahasiswaan, daftar mata kuliah, pembayaran uang kuliah, dan lain-lain.
4) Hirarki :
Hirarki berhubungan dengan abstraksi dan modularitas, yaitu pembagian berdasarkan urutan dan pengelompokkan tertentu. Misalnya untuk menentukan obyek mana yang berada pada kelompok yang sama, obyek mana yang merupakan komponen dari obyek yang memiliki hirarki lebih tinggi. Semakin rendah hirarki obyek berarti semakin jauh abstraksi dilakukan terhadap suatu obyek. Ke empat prinsip dasar ini merupakan hal yang mendasari teknologi obyek yang perlu ditanamkan dalam cara berpikir developer berorientasi obyek.
4. Object Oriented Analysis dan Design (OOAD)
Object-oriented mencakup bidang aplikasi yang sangat luas. Para pengguna sistem komputer dan sistem lain yang didasarkan atas teknologi komputer merasakan efek object-oriented dalam bentuk meningkatnya aplikasi software yang mudah digunakan dan servis yang lebih fleksibel, yang muncul dalam berbagai bidang industri, seperti dalam perbankan, telekomunikasi, dan sebagainya. Sedangkan bagi software engineer, object-oriented berpengaruh dalam bahasa pemrograman, metodologi rekayasa, manajemen proyek, hardware dan sebagainya.
Analisis berorientasi obyek adalah metode analisis yang memeriksa requirements (syarat/keperluan yang harus dipenuhi suatu sistem) dari sudut pandang kelas-kelas dan obyek-obyek yang ditemui dalam ruang lingkup permasalahan. Sedangkan perancangan berorientasi obyek adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi obyek-obyek sistem atau subsistem.
a. Keunggulan Object Oriented
Sekarang ini terdapat beberapa paradigma yang digunakan dalam rekayasa software, diantaranya procedure-oriented, object-oriented, data structure-oriented, data flow-oriented dan constraint oriented. Tiap-tiap paradigma tersebut cocok untuk beberapa kasus dan bagian dari seluruh kemungkinan ruang lingkup aplikasi, tetapi menurut Booch berdasarkan pengalamannya, object-oriented dapat diaplikasikan dalam seluruh ruang lingkup.
Untuk memahami mengapa OOAD unggul dalam banyak kasus, harus memahami masalah yang dihadapi perusahaan rekayasa software. Pertama, software sulit untuk dimodifikasi bila memerlukan pengembangan. Kedua, proses pembuatan software memerlukan waktu yang cukup lama sehingga kadang kala melebihi anggaran dalam pembuatannya. Ketiga, para pogrammer selalu membuat software dari dasar karena tidak adanya kode yang bisa digunakan ulang (reuse).
Kebanyakan perusahaan tersebut sebelumnya telah menggunakan pemrogramam structural. Metode structural menggunakan pendekatan dengan pendekatan top-down, yang mana pendekatan ini memecahkan masalah dengan menbagi masalah kedalam komponen-komponen hingga didapatkan komponen-komponen yang tidak dapat dibagi-bagi lagi. Pendekatan dengan cara top-down ini telah membuat peningkatan dalam kualitas software, tetapi dalam sistem yang berskala besar, pendekatan ini sering menemui banyak masalah. Pemrograman structural seringkali tidak dapat mendesain apa yang akan terjadi dalam sistem yang telah selesai tanpa mengimplementasikan sistem terlebih dahulu. Jika ditemui kesalahan dalam sistem, maka desain harus disusun ulang dari awal sampai akhir.
Satu alasan mengapa object oriented menguntungkan bagi programmer adalah
karena programmer dapat mendesain program dalam bentuk obyek-obyek dan
hubungan antar obyek tersebut untuk kemudian dimodelkan dalam sistem nyata.
Keuntungan yang lain adalah proses pembuatan software dapat dilakukan dengan
lebih cepat karena software dibangun dari obyek-obyek standar, dapat menggunakan
ulang model yang ada, dan dapat membuat model yang cepat melalui metodologi.
Kualitas yang tinggi dari software dapat dicapai karena adanya tested component. Lebih mudah dalam maintenance karena perbaikan kode hanya diperlukan pada satu tempat (bukan diurut dari awal). Mudah dalam membangun sistem yang besar karena subsistem dapat dibuat dan diuji secara terpisah. Mengubah sistem yang sudah ada tidak memerlukan membangun ulang keseluruhan sistem.
C. PENGUJIAN PERANGKAT LUNAK
Pengujian PerangkatLunak adalah elemen kritis dari jaminan kualitas
PL dan merepresentasikan spesifikasi, desain dan pengkodean.
Meningkatnya visibilitas PL sbg suatu elemen sistem dan "biaya” yg muncul akibat
kegagalan PL, memotivasi dilakukan perencanaan yg baik melalui pengujian yg
teliti.
Dalam melakukan uji coba ada 2 masalah penting yang akan dibahas, yaitu :
a. Teknik Uji Perangkat LunakPada dasarnya, pengujian merupakan suatu proses rekayasa PL yg dapat dianggap
(secara psikologis) sebagai hal yg destruktif daripada konstruktif.
Sasaran pengujian (Glen Myers) :
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.
3. Pengujian yg sukses adalah pengujian yg mengungkap semua kesalahan yg
belum pernah ditemukan sebelumnya.
Prinsip Pengujian (diusulkan Davis) :
Semua pengujian harus dapat ditelusuri sampai ke persyaratan
pelanggan.
Pengujian harus direncanakan lama sebelum pengujian itu dimulai.
Prinsip Pareto berlaku untuk pengujian PL. 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".
Pengujian yg mendalam tidak mungkin.
Rekayasa Perangkat Lunak B9
TESTABILITAS
Testabilitas PL adalah seberapa mudah sebuah program komputer dapat diuji. Karena pengujian sangat sulit, perlu diketahui apa yg dapat dilakukan untuk membuatnya menjadi mudah.
Karakteristik Perangkat lunak yg diuji :
OPERABILITAS, semakin baik dia bekerja semakin efisien dia dapat diuji.
OBSERVABILITAS, apa yg anda lihat adalah apa yg anda uji.
KONTROLABILITAS, semakin baik kita dapat mengontrol PL semakin banyak pengujian yg adapat diotomatisasi dan dioptimalkan.
DEKOMPOSABILITAS, dengan mengontrol ruang lingkup pengujian kita dapat lebih cepat mengisolasi masalah dan melakukan pengujian kembali.
KESEDERHANAAN, semakin sedikit yg diuji semakin cepat pengujian.
STABILITAS, semakin sedikit perubahan semakin sedikit gangguan pengujian.
KEMAMPUAN DIPAHAMI, semakin banyak informasi yg dimiliki semakin detail pengujiannya.
ATRIBUT PENGUJIAN YG BAIK :
Memiliki probabilitas yg tinggi menemukan kesalahan.
Tidak redundan.
Harusnya ‘jenis terbaik’.
Tidak boleh terlalu sederhana atau terlalu kompleks.
PELAKSANAAN PENGUJIAN PERANGKAT LUNAK
pelanggan karena mendeskripsikan langkah-langkah yang akan dipakai sebagai bagian dari pengujian.
Langkah-langkah ini direncanakan dan kemudian dijalankan sehingga dapat diketahui berapa banyak usaha, waktu dan sumber daya yang akan diperlukan. Oleh karena itu, strategi pengujian manapun harus menyertakan perencanaan pengujian, desain kasus pengujian, pelaksanaan pengujian dan koleksi serta evaluasi data resultan.
Sasaran dari pengujian adalah mengurangi resiko yang terlihat dalam system computer.
Strategi pengujian harus mengacu pada resiko dan memberikan proses yang dapat mengurangi resiko tersebut.
Karakteristik Umum
Karakteristik yang ditemui dalam menentukan strategi pengujian adalah :
Testing dimulai pada level modul dan bekerja keluar ke arah integrasi pada system berbasiskan computer
Teknik testing yang berbeda sesuai dengan poin-poin yang berbeda pada waktunya
Testing diadakan oleh software developer dan untuk proyek yang besar oleh group testing yang independent
D. STRATEGI DAN RENCANA PENGUJIAN
a) Strategi Pengujian
Jenis
pengujian yang dapat dilakukan adalah : 1. Pengujian unit programPengujian difokuskan pada unit terkecil dari suatu modul program. Dilaksanakan dengan menggunakan driver dan stub.
Driver adalah suatu program utama yang berfungsi mengirim atau menerima data kasus uji dan mencetak hasil dari modul yang diuji.
Stub adalah modul yang menggantikan modul sub-ordinat dari modul yang diuji.
2. Pengujian integrasi
Pengujian terhadap unit-unit program yang saling berhubungan (terintegrasi) dengan focus pada masalah interfacing. Dapat dilaksanakan secara top-down integration atau bottom-up integration.
3. Pengujian validasi
Pengujian ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan. Suatu validasi dikatakan sukses jika perangkat lunak berfungsi pada cara yang diharapkan oleh pemakai.
4. Pengujian sistem
Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer. Jenis pengujian yang dilakukan pada saat melakukan pengujian sistem, yaitu :
Recovery testing
Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diuji kenormalannya.
Security testing
Dilakukan untuk menguji mekanisme proteksi
Stress testing
Pengujian yang dirancang untuk menghadapkan suatu perangkat lunak kepada situasi yang tidak normal.
Performance testing
STRATEGI PENGUJIAN
Langkah Pengujian
Ketika akan melakukan pengujian terdapat beberapa hal yang harus diperhatikan, yaitu :
1. Menspesifikasikan kebutuhan (requirement) produk dalam bentuk yang dapat diukur (quantifiable) jauh sebelum pengujian dimulai.
2. Menyatakan tujuan pengujian secara eksplisit.
3. Memahami pengguna perangkat lunak dan membuat profil dari tiap kategori pengguna..
4. Membuat rencana pengujian yang menekankan pada rapid cycle testing. 5. Membuat perangkat lunak robust yang dapat menguji dirinya sendiri.
6. Menggunakan formal technical review sebagai penyaring sebelum pengujian dilakukan.
7. Menggunakan formal technical review untuk menilai strategi pengujian dan kasus uji.
8. Mengembangkan ancangan peningkatan berlanjut untuk proses pengujian.
Proses Pengujian
Tipe-tipe pengujian yang dapat dilakukan yaitu : 1. System Testing
Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system 2. Acceptance Testing
a. Pengujian terakhir sebelum sistem dipakai oleh user. b. Melibatkan pengujian dengan data dari pengguna sistem.
c. Biasa dikenal sebagai “alpha test” (“beta test” untuk software komersial, dimana pengujian dilakukan oleh potensial customer)
3. Component testing
a. pengujian komponen- komponen program
b. Biasanya dilakukan oleh component developer (kecuali untuk system kritis) 4. Integration testing
c. Pengujian berdasarkan spesifikasi sistem
Tahap pengujian
Langkah-langkah yang seharusnya dilakukan ketika melakukan pengujian, adalah :
a. Menentukan apa yang akan diukur melalui pengujian b. Menentukan bagaimana pengujian akan dilaksanakan
c. Membangun suatu kasus uji (test case), yaitu sekumpulan data atau situasi yang akan digunakan dalam pengujian.
d. Menentukan hasil yang diharapkan atau hasil sebenarnya e. Menjalankan kasus pengujian
f. Membandingkan hasil pengujian dan hasil yang diharapkan.
Rencana Pengujian
Rencana pengujian, yang mencakup hal-hal berikut :
Proses testing
Mendeskripsi fase-fase utama dalam pengujian
Pelacakan Kebutuhan
Menentukan semua kebutuhan user yang akan diujikan secara individu
Item yg diuji
Menspesifikasi komponen sistem yang diuji
Jadual testing
Prosedur Pencatatan Hasil dan Prosedur
Kebutuhan akan Hardware dan Software
Kendala-kendala
1. PENGUJIAN UNIT
1.1 Pertimbangan Pengujian Unit
Interface diuji cobakan untuk menjamin informasi yang masuk atau yg ke luar dari unit program telah tepat atau sesuai dengan yang diharapkan. yang pertama diuji coba adalah interface karena diperlukan untuk jalannya informasi.
Myers mengusulkan checklist untuk pengujian interface:
Apakahjumlah parameter input sama dengan jumlah argumen?
Apakah antara atribut dan parameter argumen sudah cocok?
Apakah antara sistem satuan parameter dan argumen sudah cocok?
Apakah jumlah argumen yang ditransmisikan ke modul yang dipanggil sama dengan jumlah parameter?
Apakah atribut dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan atribut parameter?
Apakah sistem unit dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan sistem satuan parameter?
Apakah jumlah atribut dari urutan argumen ke fungsi-fungsi built-in sudah benar?
1.2 Prosedur Pengujian Unit
1.3 PENGUJIAN INTEGRASI
Pengujian terintegrasi adl teknik yg sistematis untuk penyusunan struktu program, pada saat bersamaan dikerjakan uji coba untuk memeriksa kesalahan yg nantinya digabungkan dengan interface. Metode pengujiannya meliputi Top down integration dan buttom up integration Top down integration merupakan
pendekatan inkremental untuk penyusunan
struktur program. Modul dipadukan dgn bergerak ke bawah melalui kontrol hirarki dimulai dari modul utama. Modul subordinat ke modul kontrol utama digabungkan ke dalam struktur baik menurut depth first atau breadth first. Sedangkan Proses integrasi meliputi :
modul utama digunakan sebagai test driver dan stub yg menggantikan seluruh modul yg secara langsung berada di bawah modul kontrol utama.
Tergantung pada pendekatan perpaduan yg dipilih (depth / breadth)
Uji coba dilakukan selama masing- masing modul dipadukan
Pada penyelesaian masing- masing uji coba stub yg lain dipindahkan dgn modul sebenarnya.
Uji coba regression yaitu pengulangan pengujian untuk mencari kesalahan lain yg mungkin muncul
1.4 UJI COBA VALIDASI
Setelah semua kesalahan diperbaiki maka langkah selanjutnya adalah validasi terting. Pengujian validasi dikatakan berhasil bila fungsi yg ada pada PL sesuai dgn yg diharapkan pemakai. Validasi PL merupakan kumpulan seri uji coba black box yg menunjukkan sesuai dgn yg diperlukan.Kemungkinan kondisi setelah pengujian:
Karakteristik performansi fungsi sesuai dgn spesifikasi dan dapat diterima.
Pengujian BETA dan ALPHA
Apabila PL dibuat untuk pelanggan maka dapat dilakukan aceeptance test sehingga memungkinkan pelanggan untuk memvalidasi seluruh keperluan. Test ini dilakukan karena memungkinkan pelanggan menemukan kesalahan yg lebih rinci dan membiasakan pelanggan memahami PL yg telah dibuat.
Pengujian Alpha
Dilakukan pada sisi pengembang oleh seorang pelanggan. PL digunakan pada setting yg natural dgn pengembang “yg memandang” melalui bahu pemakai dan merekam semua kesalahan dan masalah pemakaian.
Pengujian Beta
Dilakukan pada satu atau lebih pelanggan oleh pe makai akhir PL dalam lingkungan yg sebenarnya, pengembang biasanya tidak ada pada pengujian ini. Pelanggan merekan semua masalah (real atau imajiner) yg ditemui selama pengujian dan melaporkan pada pengembang pada interval waktu tertentu.
1.5UJI COBA SISTEM
Recovery Testing
Adalah system testing yg memaksa PL mengalami kegagalan dalam bermacammacam cara dan memeriksa apakah perbaikan dilakukan dgn tepat.
Security Testing
Adalah pengujian yg akan melalukan verifikasi dari mekanisme perlindungan yg akan dibuat oleh system, melindungi dari hal- hal yg mungkin terjadi
Strees Testing
E. Pengujian White Box dan Metodenya
1. Pengertian White Box Testing
White box testing adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.
2. Kelebihan White Box Testing
a)
Kesalahan logika. Digunakan pada sintaks ‘if’ dan pengulangan. Dimana White Box Testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti.b)
Ketidaksesuaian asumsi. Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk di analisa dan diperbaiki.c)
Kesalahan Ketik. Mendeteksi bahasa pemrograman yang bersifat case sensitive.3.
Kelemahan White Box Testinga)
Untuk perangkat lunak yang tergolong besar, White Box Testing dianggap sebagai strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannyab)
Karena dibutuhkan Software engineer yang berpengalaman dalam White-box testing sehingga mengeluarkan biaya tambahan.a) memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali
b) menggunakan semua keputusan logis untuk semua kondisi true atau
false
c) mengeksekusi semua perulangan pada batasan nilai dan operasional pada
setiap kondisi.
5. Metode Pengujian White Box a. Uji Coba Basis Path
Merupakan teknik uji coba white box yang diusulkan Tom McCabe. Metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural dan menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan basis set dari jalur pengerjaan. Test case yang didapat digunakan untuk mengerjakan basis set yang menjamin pengerjaan setiap perintah minimal satu kali selama
uji coba.
Graph Metrik
Graph metrik merupakan software yang dikembangkan untuk membantu uji coba basis path atau struktur data. Graph metrik adalah matrik empat persegi yang mempunyai ukuran yang sama dengan jumlah node pada flowgraph. Masing-masing baris dan kolom mempunyai hubungan dengan node yang telah ditentukan dan pemasukan data matrik berhubungan dengan hubungan (edge) antar node.
Pengujian Loop
F.
Pengujian Black Box dan Metodenya
1.
Pengertian pengujian black box
Pengujian black box merupakan pendekatan komplementer dari teknik
white box, karena pengujian black box diharapkan mampu mengungkap
kelas kesalahan yang lebih luas dibandingkan teknik white box. Pengujian black
box berfokus pada pengujian persyaratan fungsional perangkat lunak, untuk
mendapatkan serangkaian kondisi input yang sesuai dengan persyaratan
fungsional suatu program.
Gambar - Black Box
Tujuan metode ini mencari kesalaman pada:
Fungsi yg salah atau hilang
Kesalahan pada interface
Kesalahan pada struktur data atau akses database
Kesalahan performansi
Kesalahan inisialisasi dan tujuan akhir
Pengujian dirancang untuk menjawab pertanyaan sbb:
Bagaimana validitas fungsional diuji?
Apa kelas input yg terbaik untuk uji coba yg baik?
Apakah sistem sangat peka terhadap nilai input tertentu?
Bagaimana jika kelas data yang terbatas dipisahkan?
Bagaimana volume data yg dapat ditoleransi oleh sistem?
2. Metode Pengujian Black Box a. Equivalence Partitioning
Equivalence partitioning adalah metode pengujian black-box yg memecah atau membagi domain input dari program ke dalam kelas-kelas data sehingga test case dapat diperoleh.
Perancangan test case equivalence partitioning berdasarkan evaluasi kelas equivalence untuk kondisi input yg menggambarkan kumpulan keadaan yg valid atau tidak. Kondisi input dapat berupa nilai numeric, range nilai, kumpulan nilai yg berhubungan dengan kondisi.
b. Boundary value Analysis
Untuk permasalahan yg tidak diketahui dg jelas cenderung menimbulkan kesalahan pada domain outputnya. BVA merupakan pilihan test case yg mengerjakan nilai yg telah ditentukan, dgn teknik perancangan test case melengkapi test case equivalence partitioning yg fokusnya pada domain input. BVA fokusnya pada domain output.
dirancang dgn nilai a dan b.
Jika kondisi input ditentukan dgn sejumlah nilai, test case harus dikembangkan dgn mengerjakan sampai batas maksimal nilai tsb.
Sesuai petunjuk 1 dan 2 untuk kondisi output dirancang test case sampai jumlah maksimal.
Untuk struktur data pada program harus dirancang sampai batas kemampuan.
Perbedaan White Box & Black Box
a. White box (Struktural)
Dilakukan oleh penguji yang mengetahui tentang QA.
Melakukan testing pada software/program aplikasi menyangkut security dan performance program tersebut (meliputi tes code, desain implementasi, security, data flow, software failure)
Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing.
b. Metode BlackBox (Fungsional)
Dilakukan oleh penguji Independent.
Melakukan pengujian berdasarkan apa yang dilihat, hanya fokus terhadap fungsionalitas dan output. Pengujian lebih ditujukan pada desain software sesuai standar dan reaksi apabila terdapat celah-celah bug/vulnerabilitas pada program aplikasi tersebut setelah dilakukan white box testing.