Original File : https://drive.google.com/open?id=1G8uGIPGx-5nM_DjId7uiDDCViwcTv9KG
Nama : Robby Rahman Kusuma
Nama : Robby Rahman Kusuma
NPM : 16115222
Kelas : 4KA08
Matkul : Analisis Kinerja Sistem
V-Class ke-1 pengganti pertemuan
minggu ke-10
Pretest
Manajemen Kontrol Programming.
Pertanyaan:
Pembuatan dan pengembangan program
adalah merupakan tahap penting dalam siklus hidup pengembangan sistem. Tujuan
utama tahap ini adalah untuk menghasilkan dan menenerapkan program yang
berkualitas. Terdapat 5 tahapan pengembangan program, sebut dan jelaskan, dan
tuliskan juga tugas/keterlibatan auditor pada masing-masing tahap.
Jawaban:
Tahapan dalam pengembangan program
terdapat 5 yaitu:
1.
Perencanaan
(Planning)
2.
Perancangan
(Design)
3.
Pengkodean
(Coding)
4.
Pengetesan
(Testing)
5.
Pengoperasian
dan Pemeliharaan (Operation and Maintenance)
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.
Jika suatu software
akan dikembangkan dan diimplementasikan secara in-house, manajemen harus
memanfaatkan lima teknik perencanaan biaya yang di buat oleh Boehm (1984) sbb:
a. 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)).
b. Expert
Judgment (penilaian seorang ahli), seorang ahli dapat memperkirakan kebutuhan sumber
daya yang diperlukan dalam proyek / 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.
c. Analogy
(analogi): jika proyek software yang sama pernah dibuat, penentuan sumber daya
yang dibutuhkan dapat di dasarkan pada pengalaman sebelumnya.
d. 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.
e. 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.
Selain memperkirakan
kebutuhan sumber daya, manajemen juga harus memutuskan tujuan dari keputusan
penting yang dibuat selama fase perencanaan seperti:
Keputusan
|
Keterangan
|
Design Approach (Pendekatan Desain)
|
Jika
program akan di kembangkan di rumah, manajemen harus memilih pendekatan
desain yang akan digunakan seperti: prototyping atau tipe top-down atau
bottom-up.
|
Implementation Approach (Pendekatan
Implementasi)
|
Software
dapat dikembangkan di rumah, pengembang dapat membangun atau mengemas s/w
untuk dijual. Jika s/w akan dibuat koding, harus dibuat keputusan tentang
bahasa pemrograman yang akan dipakai.
|
Integration and Testing Approach
(Pendekatan Testing dan Integrasi)
|
Pada
saat pengetesan akan dibutuhkan sumber daya yang khusus, seperti simulator
atau hardware tertentu untuk memonitor jalannya program.
|
Project Team Organization
(Pengorganisasian Tim Proyek)
|
Saat
tim proyek harus di bentuk untuk pengembangan atau pengadaan s/w, maka
anggota dan struktur tim harus ditentukan.
|
Ø Pengendalian (Control)
Pada tahap kontrol ini,
ada dua tujuan utama yaitu :
a. Untuk
memonitor kemajuan dan beberapa tahap pada siklus hidup s/w agar tidak
bertentangan dengan rencana awal.
b. 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
tugas-tugas 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). Teknik ini
akan menunjukkan 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), menunjukkan tugas-tugas yang harus
diselesaikan, bagaimana hubungannya, kebutuhan sumber daya apa untuk setiap
tugas-tugasnya.
Seorang auditor harus mempunyai dua
perhatian khusus pada kendali, pada tahap kontrol ini yaitu:
a. Auditor
harus dapat mengevaluasi apakah fungsi dari aktivitas kontrol dapat diterapkan
juga pada software yang berbeda.
b. Seorang
auditor harus dapat mengumpulkan bukti apakah prosedur dari suatu kontrol sudah
dijalankan dengan benar dan dapat dipercaya.
2.
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.
3.
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 sbb:
a.
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.
b.
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.
c.
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:
a.
Urutan
sederhana (simple sequence - SEQUENCE)
b.
Pemilihan
dengan seleksi (selection based on a test – IF-THEN-ELSE) dan
c.
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 antara lain:
·
Shorthand
preprocessor, memungkinkan programmer untuk menulis kode secara singkat, juga
dapat menerjemahkan kode singkat ini dalam sintak yang lebih lengkap, contoh
COBOL.
· Decision-table
preprocessor, memindahkan bentuk teks program ke dalam bentuk source-code menggunakan
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 sbb:
a. Sediakan
petunjuk yang menunjukkan proses pembuatan program ke dalam beberapa tahap dan komponen
secara keseluruhan dan hubungan antara komponen-komponen tersebut.
b. Gunakan
baris komentar dalam program secara bebas untuk menerangkan jalannya (logika)program.
c. Beri
nama untuk variabel, konstanta tipe, paragraf, modul, dan seksi yang berarti
kepada para pembaca source-code program.
d. Buat
lay-out dari source-program sehingga mudah untuk dibaca.
e. Kelompokan
tipe kode yang saling berhubungan.
4. Pengetesan (Testing)
Testing software adalah
proses mengoperasikan software dalam suatu kondisi yang dikendalikan, untuk
memverifikasi apakah telah berlaku sebagaimana telah ditetapkan (menurut
spesifikasi), mendeteksi error, dan memvalidasi apakah spesifikasi yang telah
ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna yang
sebenarnya.
· Verifikasi
adalah pengecekan atau pengetesan entitas-entitas, termasuk software, untuk
pemenuhan dan konsistensi dengan melakukan evaluasi hasil terhadap kebutuhan
yang telah ditetapkan. (Are we building the system right?)
· Validasi
melihat kebenaran sistem, apakah proses yang ditulis dalam spesifikasi adalah
apa yang sebenarnya diinginkan atau dibutuhkan oleh pengguna. (Are we building
the right system?)
· 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 terjadi dimana seharusnya mereka ada.
Jenis-jenis testing antara lain
sebagai berikut:
a.
Pengujian
White Box
Pengujian yang didasarkan pada
pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari
desain program secara procedural untuk membagi pengujian ke dalam beberapa
kasus pengujian.
b.
Pengujian
Basis Path
Metode ini memungkinkan perancang
test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural
dan menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan basis set dari
jalur pengerjaan. Test case yang didapat digunakan untuk mengerjakan basis set
yang menjamin pengerjaan setiap perintah minimal satu kali selama uji coba.
Contoh : diagram alir
c.
Pengujian
Struktur Control
Merupakan pengujian kondisi dimana
sebuah metode desain test case yang menggunakan kondisi logis yang ada pada
suatu program. Contoh : Kondisi sederhana dari persamaan relasional
d.
Pengujian
Black Box
Merupakan pengujian yang berfokus
pada spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan
kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional
program.
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:
a.
Repair-maintenance-errors,
perawatan dengan cara memperbaiki kesalahan.
b.
Adaptive
maintenance-users needs, perawatan dengan mengadaptasi pada keinginan user.
c.
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 di dalam 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.
Tidak ada komentar:
Posting Komentar