1.
Perencanaan
(Planning)
Jika
suatu software akan dikembangkan dan diimplementasikan secara in-house,
manajemen harus memanfaatkan lima teknik perencanaan biaya yang di buat oleh
Boehm (1984) sebagai berikut :
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
Judgment (penilaian seorang ahli)
Seorang ahli dapat memperkirakan kebutuhan
sumber daya yang diperlukan dalam proyek / pembuatan program. Menurut
penelitianVicinanza 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 terlebih
dahulu, kebutuhan sumber daya untuk masing-masing dapat diperkirakan dan di
satukan / dikumpulkan untuk keperluan seluruh kebutuhan proyek.
Tugas/keterlibatan
auditor :
Tugas
utama dari manajemen dalam tahap ini adalah untuk memperkirakan kebutuhan
besarnya sumber daya (khususnya jam kerja) yang dibutuhkan dalam pengembangan,
pengadaan, dan penerapan software. Jika, sebagai contoh, s/w 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 :
2.
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)
Dengan teknik ini kita dapat
mengidentifikasi tugastugas yang spesifik untuk pengembangan, pengadaan, dan
implementasi s/w yang dibutuhkan. (Mc.Leod and Smith 1996).
b. Gantt
Chart
Dapat digunakan untuk membantu mengatur
tugas (schedule) (lihat gbr.5.3). Teknik ini akan menunjukan kapan tugas harus
dimulai dan diselesaikan, tugas apa yang harus dibuat bersama-sama, dan tugas
apa yang harus dihasilkan secara serial.
c. Program
Evaluation and review technique (PERT)
Menunjukan tugas-tugas yang harus
diselesaikan, bagaimana hubungannya, kebutuhan sumber daya apa untuk setiap
tugastugasnya. (lihat 5.4)
Seorang
auditor harus mempunyai dua perhatian khusus pada kendali, pada tahap kontrol
ini yaitu :
1. Auditor
harus dapat mengevaluasi apakah fungsi dari aktivitas kontrol dapat diterapkan
juga pada software yang berbeda.
2. Seorang
auditor harus dapat mengumpulkan bukti apakah prosedur dari suatu kontrol sudah dijalankan dengan benar dan dapat dipercaya.
3.
Perancangan
(Design)
Dalam
tahap desain, seorang programmer bertugas untuk menspesifikasikan struktur dan
operasi dari program untuk menemukan artikulasi yang dibutuhkan selama tahap
proses informasi sistem desain dari pengembangan sistem. Selama
tahap 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.
4.
Pengkodean
(Coding)
Tahap
koding (pengetikan / penulisan program) dilakukan pada saat s/w 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 sebagai berikut
:
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 (lihat gbr.5.5) :
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) .
Jika
konvensi pemrograman terstruktur di penuhi, dapat dipastikan bahwa para
programmer akan membuat source-code yang tingkat kesalahannya kecil, mudah
untuk dimengerti dan mudah untuk dirawat.
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.
Beberapa
tipe penggunaan fasilitas koding otomatis anatara lain :
- Shorthand preprocessor, memungkinkan
programmer untuk menulis kode secara singkat, jugadapat menerjemahkan kode
singkat ini dalam sintak yang lebih lengkap, contoh COBOL.
- Decision-table preprocessor, memindahkan
bentuk teks program ke dalam bentuk sourcecodemenggunakan bahasa pengolahan
compiler.
- Copy facility, memungkinkan penggunaan
kode secara berulang
- Editor, yang memungkinkan kode di
ciptakan, di format, dan dimodifikasi secara mudah.
- User-interface management system,
memungkinkan desain dari implementasi yang cepat,seperti windows, icons, menus,
dan dialog boxes.
- CASE tools, berisi bermacam-macam
fasilitas yang dapat membantu proses koding.
Strategi Dokumentasi
Pedoman untuk
menghasilkan dokumentasi yang berkualiatas adalah sebagai berikut :
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 para pembaca source-code program.
4. Buat lay-out dari source-program sehingga
mudah untuk dibaca.
5. Kelompokan tipe kode yang saling
berhubungan.
5. Testing (Pengujian)
Testing
merupakan Proses menganalisa suatu entitas software atau sistem untuk
mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan
(defect / error / bugs) dan mengevaluasi fitur-fitur atau data-data dari
entitas software (standar IEEE1059). Dapat dikatakan dengan proses menjalankan atau run dan mengevaluasi perangkat lunak (secara
manual maupun otomatis) untuk menguji apakah perangkat lunak sudah
memenuhi persyaratan atau belum, dalam artian testing ini menguji sebuah
sistem apakah sistem tersebut sudah dapat di gunakan atau belum dan sudah
sesuai dengan apa yang di rancang atau belumnya.
Testing
ini juga memiliki sebuah tujuan di antara lain untuk :
a. Menguji sehingga dapat menemukan
kesalahn yang sebelumnya belum bisa di temukan.
b. Pengujian yang
baik bukan untuk memastikan tidak ada kesalahan tetapi untuk memcari
sebanyak mungkin kesalahan yang ada pada program, agar program yang ada dapat berjalan
sesuai dengan apa yang telah di harapkan/di rencanakan.
Dalam
testing terbagi ke dalam dua kriteria dalam melakukan sebuah pengujian sebuah
perangkat lunak.
1. Software
Verification.
Pada
kriteria ini hal yang perlu di cari atau di testing berkenaan dengan apakah
metode dalam pengembangan sistem sudah benar atau belum, serta sistem yang ada
apakah sudah sesuai belum dengan spesifikasi yang ada.
2. Software
Validation.
Pada
kriteria yang kedua ini berkenaan dengan pengujian apakah sistem yang
dikembangkan sudah benar serta sistem yang ada sudah sesuai dengan yang
diharapkan pengguna atau belum.
Dalam
testing dan implementasi sistem dikenal 2 metode pengujian yang populer,
yakni pengujian black box dan pengujian white box.
1. Black Box
Black-Box
Testing merupakan pengujian yang berfokus pada spesifikasi fungsional dari
perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan
melakukan pengetesan pada spesifikasi fungsional program.
Pengujian
Black-Box berusahan menemukan kesalahan dalam kategori (Pressman, 1997) :
a) Fungsi-fungsi
yang salah.
b) Kesalahan
desain interface.
c) Kesalahan
dalam struktur berkas atau akses database eksternal.
d) Kesalahan
kinerja (bisa sistem atau manusia).
e) Masalah
inisialisasi.
Kategori
error yang akan diketahui melalui black box testing :
Fungsi
yang hilang atau tak benar pada sistem.
Error
dari antar-muka
Error
dari struktur data atau akses eksternal database.
Error
dari kinerja atau tingkah laku
Error
dari inisialisasi dan terminasi
2. White Box
Pada
metode white box testing pengujian yang dilakukan berdasarkan pada pengecekan
terhadap detail perancangan sistem yang ada, menggunakan struktur kontrol dari
desain program secara procedural untuk membagi pengujian ke dalam beberapa
kasus pengujian.
Pengujian
dengan menggunakan White-Box membuat programmer dapat melakukan beberapa hal
berikut :
1. Kepastian
bahwa semua modul program pernah di uji paling tidak satu kali.
2. Menggunakan
keputusan logis pada sisi true atau false.
3. Mengeksekusi
semua looping dan pencabangan pada setiap operasi modul.
4. Menggunakan
struktur berkas untuk menjamin validasi.
Langkah
dalam penerapan metode testing white box yang pertama kita mendefinisikan
sebuah alus logika dari sebuah sistem ,kemudian membangun kasus untuk digunakan
dalam pengujian lalu yang terakhir kita tinggal melakukan pengujian. Namun
metode ini mempunyai kelemahan seperti untuk software atau perangkat lunak yang
tergolong besar ,metode pengujian dengan white box testing dianggap sebagai
strategi yang tergolong boros, karena akan melibatkan sumberdaya yang besar
untuk melakukannya.
6. 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.
Perhatian
utama seorang auditor pada fase operation & maintenance adalah untuk
memastikan bahwa fase ini berjalan dengan efektif dan pelaporan secara berkala
dapat dilakukan, serta proses perawatan bisa di kontrol dengan baik.
Auditor harus bisa
mencari bukti bawa
manajemen telah meninjau
sistem dengan baik dan bertanggungjawab didalam
monitoring status dari
operasional program. Caranya
dengan melakukan interview (wawancara),
observasi, tinjauan pada
dokumen yang menunjukkan
bahwa sistem telah beroperasi dengan baik. Selanjutnya
mereka harus fokus pada kualitas dari kontrol proses maintenance.
Sumber
:
https://drive.google.com/file/d/0B46_Rxk3K_EjRDZfZnd3dWdFV2c/view
http://liapsa.staff.gunadarma.ac.id/Downloads/folder/0.5