• Tidak ada hasil yang ditemukan

SDLC SWDLC WHITE BOX DAN BLACK BOX

N/A
N/A
Protected

Academic year: 2018

Membagikan "SDLC SWDLC WHITE BOX DAN BLACK BOX"

Copied!
42
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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.

(6)

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).

(7)

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.

(8)

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.

(9)

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

(10)

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.

(11)

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

(12)

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.

(13)

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.

(14)

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

(15)

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)

(16)

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 SDLC

Konsep 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.

(17)

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 )

(18)

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.

(19)

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.

(20)

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.

(21)

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 :

(22)

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.

(23)

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.

(24)

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.

(25)

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 Lunak

Pada 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.

(26)

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

(27)

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

(28)

D. STRATEGI DAN RENCANA PENGUJIAN

a) Strategi Pengujian

Jenis

pengujian yang dapat dilakukan adalah : 1. Pengujian unit program

Pengujian 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

(29)

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

(30)

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

(31)

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

(32)

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.

(33)

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

(34)

 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

(35)

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 Testing

a)

Untuk perangkat lunak yang tergolong besar, White Box Testing dianggap sebagai strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannya

b)

Karena dibutuhkan Software engineer yang berpengalaman dalam White-box testing sehingga mengeluarkan biaya tambahan.

(36)

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.

(37)

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

(38)

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

(39)

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.

(40)

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.

(41)

B

A

B

11

1

PENUTUP

Kesimpulan

Siklus hidup pengembangan sistem (System Development Life Cycle /

SDLC) merupakan suatu bentuk pengembangan yang digunakan untuk

menggambarkan tahapan utama dan langkah-langkah di dalam tahapan tersebut

untuk proses pengembangannya

Pengembangan sistem (sistem development) dapat berarti menyusun

sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau

memperbaiki sistem yang sudah ada

Pengujian PerangkatLunak adalah elemen kritis dari jaminan kualitas

PL dan merepresentasikan spesifikasi, desain dan pengkodean.

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%.

(42)

REFERENSI

https://kharputra.files.wordpress.com/.../

makalah

-

sdlc

1 ..

https://www.academia.edu/8309937/SDLC_Systems_Development_Life_Cycle_

https://kharputra.files.wordpress.com/.../

makalah

-

sdlc

1 .

http://www.aivosto.com/project/help/pm-complexity.html

https://rpl07.wordpress.com/.../

strategi

-

pengujian

-soft

.

Rekayasa Perangkat Lunak Pendekatan Praktisi (Buku Satu), (Roger S. Pressman,

Ph.D. 2002 : 536)

Gambar

Gambar 2. Tahapan Perancangan Sistem Informasi
Gambar  - Black Box

Referensi

Dokumen terkait

Teknik Phase Lock Loop ( PLL ) juga dapat digunakan sebagai FM demodulator, yaitu dengan mendeteksi lereng dari fasa yang berubah dengan rangkaian yang telah di tunning

Gaya magnet juga berkerja pada kumpulan muatan yang Gaya magnet juga berkerja pada kumpulan muatan yang bergerak melalui sebuah kawat penghantar, yaitu arus. bergerak melalui

Puji dan syukur penulis ucapkan kehadirat Tuhan Yang Maha Esa, karena berkat KasihNya penulis dapat menyelesaikan penulisan Karya Tulis Ilmiah ini dengan judul : “ Gambaran

Pada skenario 3 ini, disimulasikan kapal KM Suryajaya yang dicurigai sebagai kapal Pada skenario 3 ini, disimulasikan kapal KM Suryajaya yang dicurigai sebagai kapal yang

Penelitian ini termasuk jenis penelitian deskriptif kuantitatif dengan penarikan kesimpulan melalui analisis statistik. Populasi dalam penelitian ini adalah

French Service adalah pelayanan dimana semua makanan yang akan di hidangkannya di masak, di porsikan, dan di sajikan di depan tamunya dengan menggunakan meja yang dapat di dorong

Skripsi dengan Judul: EFEKTIVITAS EKSTRAK DAUN BINAHONG (Anredera cordifolia) DAN ANTING-ANTING (Acalypha indica) SEBAGAI ANTIBAKTERI Staphylococcus aureus (Sebagai

Pengamatan yang dilakukan secara langsung bertujuan untuk dapat mengetahui penyebab dominan dari waste defect yang terjadi selama proses produksi pensil colour,