Nama : Irfan Nur Rakhman
NPM : 13115431
Kelas : 4KA07
MANAJEMEN
KONTROL PROGRAMMING
5
tahapan pengembangan program dan keterlibatan auditor pada masing-masing tahap
1.
Perencanaan (Planning)
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. Auditor bertugas
untuk membuat rencana terbaik dalam pembuatan
software.
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.
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.
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) dan
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.
5.
Pengetesan (Testing)
Software testing adalah
aktivitas-aktivitas yang bertujuan untuk mengevaluasi atribut-atribut atau
kemampuan sebuah program atau sistem dan penentuan apakah sesuai dengan hasil
yang diharapkan. Testing adalah proses pemeriksaan program dengan tujuan tertentu
dalam menemukan kesalahan sebelum diserahkan ke pengguna.
Verification: Apakah kita
membangun produk dengan benar, Software seharusnya sesuai dengan
spesifikasinya. Gunakan proses software yang bagus. Validation: “Apakah kita
membangun produk yang benar, Software seharusnya melakukan apa yang pengguna
benar-benar butuhkan.
Tahapan Testing
Terdapat cukup banyak
pendekatan yang dilakukan untuk melakukan testing. Salah satu definisi testing
adalah “sebuah proses yang melakukan pertanyaan terhadap sebuah produk untuk
dinilai”, di mana “pertanyaan” merupakan segala sesuatu yang diberikan kepada
produk sebagai pengujian.
Beberapa tahapan testing
yang umum dilalui oleh aplikasi adalah sebagai berikut:
Unit/ComponentTesting.
Terbagi atas testing
terhadap unit dan component. Unit testing merupakan proses testing, di mana Anda
melakukan testing pada bagian basic dari kode program. Contohnya adalah
memeriksa kode program pada event, procedure, dan function. Unit Testing
meyakinkan bahwa masing-masing unit tersebut berjalan sebagaimana mestinya.Pada
Unit Testing, Anda memeriksa bagian kode program secara terpisah dari bagian
yang lain. Anda dapat langsung melakukan Unit Testing setiap kali sebuah kode
unit (event, procedure, function) selesai dibuat. Anda dapat memeriksa kode
unit dengan menjalankannya baris per baris untuk memastikan bahwa proses yang
dilakukan berjalan sebagaimana yangAndainginkan.
IntegrationTesting.
Setelah Anda melakukan
Unit/Component Testing, langkah berikutnya adalah memeriksa bagaimana unit-unit
tersebut bekerja sebagai suatu kombinasi, bukan lagi sebagai suatu unit yang
individual. Sebagai contoh, Anda memiliki sebuah proses yang dikerjakan oleh
dua function, di mana satu function menggunakan hasil output dari function yang
lainnya. Kedua function ini telah berjalan dengan baik secara individu pada Unit
Testing. Pada tahap Integration Testing, Anda memeriksa hasil dari interaksi
kedua function tersebut, apakah bekerja sesuai dengan hasil yang diharapkan.
Anda juga harus memastikan bahwa seluruh kondisi yang mungkin terjadi dari
hasil interaksi antarunit tersebut menghasilkanoutputyangdiharapkan.
SystemTesting.
Mencakup testing aplikasi
yang telah selesai didevelop. Karena itu, aplikasi harus terlihat dan berfungsi
sebagaimana mestinya terhadap end-user atau pengguna akhir. Untuk itu, testing
dilakukan dengan menggunakan data yang menggambarkan data yang digunakan oleh
pengguna sesungguhnya terhadap aplikasi. Jika aplikasi Anda di-develop untuk
lingkungan yang besar,
Anda dapat melakukan
testing pada dua komputer yang berbeda. Komputer yang Anda gunakan sebagai
komputer testing harus terlebih dahulu dikonfigurasi hanya dengan:
a. Operating system yang
dibutuhkan.
b. Driver yang diperlukan
oleh aplikasi.
c. Aplikasi yang dites.
Dengan menggunakan konfi
gurasi yang paling minimal dan sederhana, maka dapat membantu Anda untuk
memastikan bahwa permasalahan yang timbul selama testing berlangsung adalah
merupakan kesalahan aplikasi, dan bukan kesalahan yang berasal dari aplikasi
atau software lain.
AcceptanceTesting.
Seperti Integration
Testing, Acceptance Testing juga meliputi testing keseluruhan aplikasi.
Perbedaannya terletak pada siapa yang melakukan testing. Pada tahap ini,
end-user yang terpilih melakukan testing terhadap fungsi-fungsi aplikasi dan
melaporkan permasalahan yang ditemukan. Testing yang dilakukan merupakan
simulasi penggunaan nyata dari aplikasi pada lingkungan yang sebenarnya. Proses
ini merupakan salah satu tahap final sebelum pengguna menyetujui dan menerima
penerapan sistem aplikasi yang baru. Karena itu pada tahap ini sudah tidak difokuskan
untuk mengangkat permasalahan kecil seperti kesalahan pengetikan, ataupun
kosmetik aplikasi. Hal-hal minor seperti di atas sudah seharusnya ditangani
selama Unit/Component Testing dan Integration Testing.
RegressionTesting.
Merupakan bagian penting
dari masing-masing tahap proses testing. Regression Testing mencakup pengujian
ulang terhadap unit, component, proses, atau keseluruhan aplikasi setelah
perbaikan suatu kesalahan dilakukan.Regression Testing memastikan permasalahan
yang terjadi telah ditanggulangi, dan tidak terdapat permasalahan baru yang
timbul sebagai efek perbaikan tersebut. Selain itu, tahap ini tidak hanya
berguna untuk melakukan pengujian aplikasi, tetapi dapat juga digunakan untuk
melakukan pemantauan kualitas dari output yang dihasilkan. Sebagai contoh,
Regression Testing memantau ukuran file, waktu yang dibutuhkan untuk melakukan
suatu tes, waktu yang dibutuhkan untuk melakukan kompilasi,dan lain sebagainya.
Auditor
bertugas
melakukan segala percobaan dan test sebelum software dibuat seutuhnya.
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.