Senin, 06 Januari 2020

PRETEST MANAJEMEN KONTROL PROGRAMMING


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