Dalam Pembuatan dan pengembangan program merupakan tahap penting dalam
siklus hidup pengembangan sistem. Tujuan utama tahap ini adalah untuk
menghasilkan dan menenerapkan program yang berkualitas. Terdapat 5 tahapan
untuk pengembangan program, diantaranya :
1. Perencanaan (planning)
Ada 5 teknik perencanaan yang harus dimanfaatkan oleh
manajemen untuk perencanaan biaya yang dibuat oleh Boehm pada tahun 1984,
diantaranya :
1. Algorithmic Models (Model Algoritma)
Model ini akan memperkirakan jumlah sumber daya yang
dibutuhkan berdasar pada faktor biaya, sebagai contoh memperkirakan jumlah
instruksi yang harus di ketik (di tulis), bahasa pemrograman yang digunakan,
dan perubahan pada permintaan kebutuhan. Dengan menggunakan model COCOMO (Boehm’s
(1981)).
2. Expert Judgement
Seorang ahli dapat memperkirakan kebutuhan sumber daya
yang diperlukan dalam proyek atau pembuatan program. Menurut penelitian Vicinanza
et el’s (1991), seorang ahli dapat menjadi pembuat perkiraan yang lebih baik untuk
menentukan sumber daya jika dibanding dengan model algoritma.
3. Analogy (Analogi)
Jika proyek software yang sama pernah dibuat,
penentuan sumber daya yang dibutuhkan dapat di dasarkan pada pengalaman
sebelumnya.
4. Top-Down Estimation (Perkiraan atas-bawah)
Proyek di pecah kedalam beberapa tugas (pekerjaan),
dan penentuan sumber daya yang dibutuhkan oleh setiap tugas tersebut baru
dibuat.
5. Bottom-Up Estimation (Perkiraan bawah-atas)
Jika tugas-tugas sudah di buat terlebihdahulu,
kebutuhan sumber daya untuk masing-masing dapat diperkirakan dan disatukan atau
dikumpulkan untuk keperluan seluruh kebutuhan proyek.
Dari penjelasan
tentang perencanaan diatas, lalu apakah tugas/keterlibatan para auditor pada tahapan perencanaan ini ?.
Tugas para auditor pada tahapan
perencanaan ialah untuk memperkirakan kebutuhan besarnya sumber daya (khususnya
jam kerja) yang dibutuhkan dalam pengembangan, pengadaan, dan penerapan software. Sebagai contoh, software yang di buat di rumah (in house), manajemen harus
berusaha untuk memperkirakan berapa jumlah baris kode (program) yang di ketik
atau banyaknya fungsi yang di buat.
Selain
memperkirakan kebutuhan sumber daya, manajemen juga harus memutuskan tujuan dari
keputusan penting yang dibuat selama fase perencanaan seperti :
Tabel 1 keputusan dalam fase perencanaan
Pengendalian (Control)
Pada tahap kontrol ini, ada dua tujuan utama yaitu :
1. Untuk memonitor kemajuan dan beberapa tahap pada
siklus hidup s/w agar tidak bertentangan dengan rencana awal.
2. Mengontrol tugas pengembangan, pengadaan dan implementasi
s/w, agar s/w dapat di produksi secara autentik, akurat dan lengkap.
Untuk memonitor agar kontrol tidak bertentangan dengan rencana awal,
beberapa teknik dapat digunakan seperti :
a. Work Breakdown Structures (WBS)
Teknik ini dapat mengidentifikasi tugas-tugas yang
spesifik untuk pengembangan, pengadaan, dan implementasi s/w yang dibutuhkan.
b. Gantt Chart
Teknik ini dapat digunakan untuk membantu mengatur
tugas (schedule).
c. Program Evaluation and review technique (PERT)
Menunjukan tugas-tugas yang harus diselesaikan,
bagaimana hubungannya, kebutuhan sumber daya apa untuk setiap tugastugasnya.
Tugas dari
seorang auditor yaitu harus mempunyai perhatian khusus pada kendali dan tahap
kontrol ini. Yang harus diberikan perhatian khusus yaitu auditor diharuskan dapat
mengevaluasi apakah fungsi dari aktivitas kontrol dapat diterapkan juga pada
software yang berbeda. Hal kedua yang harus diberikan perhatian khusus oleh
auditor harus dapat mengumpulkan bukti apakah prosedur dari suatu kontrol sudah
dijalankan dengan benar dan dapat dipercaya.
2. Perancangan (Design)
Pada
tahapan perancangan, seorang programmer bertugas untuk menspesifikasikan
struktur dan operasi dari program untuk menemukan artikulasi yang dibutuhkan
selama tahap proses informasi sistem desain dari pengembangan sistem.
Pada tahapan
perancangan ini, perhatian utama seorang auditor adalah untuk menentukan apakah
programmer menggunakan suatu tipe khusus dari pendekatan sistematik untuk
desain. Auditor harus mengubah keinginannya berdasarkan beberapa faktor seperti
ukuran dan bahan dari suatu program. Seorang auditor juga dapat memperoleh
bukti dari proses desain dengan melakukan interview, observasi, dan review dari
dokumentasi. Mereka dapat berkomunikasi dengan programmer, apakah mereka dapat
memahami tentang kebutuhan dengan menggunakan pendekatan yang sistematik untuk
desain, jika ya, bagaimana menggunakannya. Auditor juga dapat mengamati apakah
programmer menggunakan pendekatan sistematik untuk mendesain program. Mereka
juga dapat meninjau dokumentasi program, apakah memiliki struktur chart sebagai
bukti programmer menggunakan pendekatan yang sistematik untuk mendesain.
3.
Pengkodean (Coding)
Pada tahapan pengkodean atau biasa disebut dengan
koding, adalah menuliskan program (software) yang akan dibuat atau dimodifikasi.
Selama tahap ini, programmer akan menulis dan mendokumentasikan source code
(program sumber) dalam bahasa pemrograman untuk mengimplementasikan desain program.
Strategi Implementasi
modul dan integrasi
Tiga strategi utama dari implementasi modul dan
integrasi adalah sbb :
1. Top-Down
Strategi ini digunakan jika, modul level atas
(high-level modules) dibuat (coding), di test, dan diintegrasikan sebelum modul
level bawah (low-level modules). Keuntungannya
adalah kesalahan pada modul level atas dapat teridentifikasi lebih dini, kerugiannya
adalah pada saat uji coba program akan menemui kesulitan ketika modul level
bawah menemukan kesalahan fungsi input-output yang sangat sulit.
2. Bottom up
Strategi ini digunakan jika, modul level bawah di buat
(coding), di test, dan diintegrasikan sebelum modul level atas di buat. Keuntungannya
adalah modul level rendah yang merupakan operasi yang paling sulit di implementasikan
dan diuji terlebih dahulu. Kerugiannya adalah pendekatan ini sangat sulit untuk
di teliti seluruh operasinya, sebelum programnya selesai dibuat.
3. Threads (rangkaian / untaian)
Strategi ini digunakan jika, keputusan dibuat terlebih
dahulu untuk fungsi program yang akan dibuat, kemudian modul yang akan mendukungnya
baru dibuat dan kemudian diimplementasikan untuk menghasilkan fungsi yang
penting. Keuntungannya adalah fungsi yang paling penting di implementasikan
terlebih dahulu. Kerugiannya adalah integrasi dari modul yang berikutnya mungkin akan lebih sulit, jika
dibandingkan dengan pendekatan top-down atau bottom-up.
Auditor perlu mencari bukti yang benar dengan cara uji
coba oleh manajemen program dalam memilih strategi implementasi modul dan
integrasi. Khususnya pada program yang besar, penggunaan strategi yang salah
(jelek) dapat mengakibatkan program yang dihasilkan menjadi kurang berkualitas.
Auditor dapat melakukan wawancara untuk menguji apakah
manajemen menggunakan pendekatan sistematik untuk memilih strategi implementasi
modul dan integrasi. Mereka juga dapat menguji dokumentasi program untuk
memperoleh bukti tipe strategi yang telah di adopsi (di pilih).
Strategi
Coding
Menurut konvensi (kesepakatan) program terstruktur,
terdapat tiga dasar struktur utama dalam struktur kontrol yaitu :
1. Urutan sederhana (simple sequence - SEQUENCE)
2. Pemilihan dengan seleksi (selection based on a test
– IF-THEN-ELSE)
3. Pengulangan kondisi (conditional repetition-DO
WHILE)
Auditor dapat
mencari bukti untuk memastikan apakah manajemen programming di jamin di buat
oleh programmer mengikuti struktur programming yang telah di sepakati. Mereka
dapat melakukan wawancara dengan manager atau programmer tentang tugas dan cara
yang dilakukannya dalam membuat program.
Auditor juga
dapat mengecek apakah programmer dalam membuat programnya menyediakan fasilitas
otomatis sebagai alat bantu untuk mereka.
Strategi
Dokumentasi
Pedoman untuk menghasilkan dokumentasi yang
berkualiatas adalah sbb :
1. Sediakan petunjuk yang menunjukan proes pembuatan program
ke dalam beberapa tahap dan komponen secara keseluruhan dan hubungan antara
komponen-komponen tersebut.
2. Gunakan baris komentar dalam program secara bebas
untuk menerangkan jalannya (logika)program.
3. Beri nama untuk variabel, konstanta tipe, paragraf,
modul, dan seksi yang berarti kepada parapembaca source-code program.
4. Buat lay-out dari source-program sehingga mudah
untuk dibaca.
5. Kelompokan tipe kode yang saling berhubungan.
4. Pengujian (Testing)
Proses menganalisa suatu entitas software untuk
mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan
(defect / error / bugs) dan mengevaluasi fitur-fitur dari entitas software
(standar IEEE1059). Testing akan melakukan Verifikasi, Deteksi Error, Validasi.
Verifikasi adalah
pengecekan atau pengetesan entitas-entitas, termasuk software, untuk
pemenuhan dan konsistensi dengan melakukan evaluasi hasil terhadap kebutuhan
yang telah ditetapkan.
Validasi melihat
kebenaran sistem, apakah proses yang telah ditulis dalam spesifikasi adalah apa
yang sebenarnya diinginkan atau dibutuhkan oleh pengguna.
Deteksi error: Testing
seharusnya berorientasi untuk membuat kesalahan secara intensif, untuk
menentukan apakah suatu hal tersebut terjadi bilamana tidak seharusnya terjadi
atau suatu hal tersebut tidak terjadi dimana seharusnya mereka ada.
Manfaat
Testing
•
Meningkatkan
kepercayaan, tingkat resiko yang dapat diterima
•
Menyediakan
informasi untuk deteksi error secara dini
•
Menyediakan
informasi yang dapat mencegah terjadinya error
•
Mencari error
dan kelemahan sistem
•
Mencari sejauh
apa kemampuan dari sistem
•
Menyediakan
informasi untuk kualitas produk software
5. Pengoperasian dan Pemeliharaan
(Operation and Maintenance)
Dalam sudut pandang Sistem Audit, perhatian utama pada
operasional program adalah bagaimana performance program tersebut dapat
dimonitor setiap saat. Seseorang harus bertanggung jawab untuk mengidentifikasi
apabila program perlu perawatan, kemungkinan lain adalah identifikasi dari
kebutuhan perawatan mungkin tidak terjadi. Akibatnya, bisa terjadi kekeliruan
pada database program, kegagalan dalam pencapaian keinginan user, atau operasi
program tidak efisien. Mekanisme formal dalam monitoring status operasional
program sangat diperlukan, ketika pengguna dari program adalah seluruh anggota
organisasi yang terdiri dari berbagai macam latar belakang.
Ada 3 macam tipe dari perawatan (maintenance) yang
diperlukan agar program tetap beroperasi:
1. Repair-maintenance-errors, perawatan dengan cara
memperbaiki kesalahan.
2. Adaptive maintenance-users needs, perawatan dengan
mengadaptasi pada keinginan user.
3. Perfective maintenance, perawatan dengan maksud
agar diperoleh program yang sempurna.
Sumber :
Tidak ada komentar:
Posting Komentar