Terdapat 5 tahapan pengembangan program, sebut dan jelaskan,
dan tuliskan juga tugas/keterlibatan auditor pada masing-masing tahap.
Jawab :
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 tugas tugasnya.
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 :
http://liapsa.staff.gunadarma.ac.id/Downloads/folder/0.5
Tidak ada komentar:
Posting Komentar