MANAGEMENT CONTROL FRAMEWORK
A. Pendahuluan Sasaran
utama
seorang
auditor
dalam
menguji
kerangka
kerja
pengendalian manajemen di fungsi sistem informasi adalah untuk mengevaluasi apakah manajer mengatur dengan tepat. Menguji dan mengevaluasi kerangka kerja pengendalian manajemen sangatlah penting. Ada dua alasannya, yaitu: 1. Kegiatan awal audit adalah untuk mengetehui lingkungan pengendalian dan struktur pengendalian yang ada dan segala macam resikonya. Pengendalian manajemen adalah komponen terpenting dari keseluruhan struktur pengendalian internal. 2. Saat pemahaman tentang pengendalian manajemen didapat, harus ada keputusan yang diambil terhadap kapan mereka perlu mengandalkan pengendalian manajemen. Suatu sistem kontrol atau sistem pengawasan internal, pada hakekatnya adalah suatu mekanisme yang didesain untuk menjaga (preventif), mendeteksi (detektif), dan memberikan mekanisme pembetulan (korektif) terhadap potensi / kemungkinan terjadinya kesalahan (kekeliruan, kelalaian, error) maupun penyalahgunaan (fraud). Mekanisme kontrol tersebut melekat pada sistem, dan tercermin di dalam prosedur, formulir, organisasi. Tujuan didesainnya sistem pengendalian internal khusus bagi sistem berbasis komputer adalah untuk membantu manajemen dalam mencapai pengendalian intern menyeluruh, termasuk di dalamnya kegiatan manual, mekanis maupun yang terkait dengan pemrosesan data dengan komputer. Secara rinci, tujuan disusunnya sistem kontrol atau pengendalian internal komputerisasi adalah untuk:
Meningkatkan pengamanan aset dan data/catatan. 1
Pencatatan akuntansi yang baik.
Meningkatkan intergritas data.
Meningkatkan efektifitas sistem.
Meningkatkan efisiensi sistem. Kita perlu memahami mengenai hubungan antara management dan system
objectives dengan butir-butir atau aspek yang perlu diterapkan dalam suatu desain pengendalian intern agar sesuai dengan tujuan disusunnya pengendalian intern tersebut. Gambar 1.1 Tujuan Sistem Bagi Manajemen
Sumber: Watne (1984)
Alasan makin pentingnya system controls pada sistem berbasis komputer ialah:
2
Besarnya biaya dan kerugian kalau sampai data komputer hilang
“Biaya yang harus dibayar” bila sampai mutu keputusan buruk akibat
data yang salah.
Potensi kerugian kalau terjadi kesalahan/ penyalahgunaan komputer
Nilai (investasi) yang tinggi pengadaan mesin (hardware & software)
Nilai atau biaya yang tinggi yang dikeluarkan untuk pendidikan personil
Biaya yang tinggi bila terjadi computer errors
Perlunya dijaga privacy, mengingat di komputer tersimpan data rahasia
Agar perkembangan dan pertumbuhan komputerisasi dapat terkendali (Controlled evolution of computer used). Sistem pengendalian intern sesungguhnya adalah juga suatu sistem. Untuk
dapat mendesain sistem yang baik perlu dilakukan perencanaan, analisis, desain/ rancangan, pengujian, penerapan, dan evaluasi untuk perbaikan. Sistem yang baik adalah harus yang telah dikaji dan teruji kelayakannya: ekonomis, operasional, teknis, dan sebagainya. Sistem yang canggih tetapi dengan biaya (bisa berarti uang, waktu, tenaga, konsekuensi) yang sangat besar belum tentu sistem yang terbaik. Pengendalian umum (general controls) ialah sistem pengendalian intern komputer yang berlaku umum meliputi seluruh kegiatan komputerisasi sebuah organisasi secara menyeluruh. Kesalahan yang bersifat management framework misalnya adalah:
Unit komputer tidak direncanakan dengan baik.
Unit komputer tidak dikelola dengan efektif, efisien, ekonomis.
3
Tidak kebijakan yang jelas mengenai pola karier, kualifikasi
pegawai teknis, pelatihan, dan sebagainya.
Tidak ada kebijakan yang jelas mengenai standardisasi.
Tidak ada kebijakan yang jelas mengenai pola manajemen proyek,
metodologi pengembangan sistem.
Kurang pedulinya top management mengenai mutu sistem
informasi dan perlunya quality assurance.
Pengendalian umum terdiri dari:
Pengendalian top manajemen (top management controls).
Pengendalian
manajemen
sistem
informasi
(Information
system
management controls).
Pengendalian manajemen pengembangan sistem (system development management controls), termasuk manajemen program (programminng management controls).
Pengendalian manajemen sumber data (Data resources management controls).
Pengendalian
manajemen
jaminan
kualitas
(Quality
assurance
management controls).
Pengendalian
manajemen
keamanan
(Security
adminstration
management controls).
Pengendalian manajemen operasi (Operations management controls). 4
B. Top Management Controls Seperti layaknya tugas pokok dan fungsi manajemen pada umumnya, manajemen pada fungsi/unit sistem informasi mempunyai tugas untuk melakukan fungsi planning, organizing, Actuating, dan controlling (POAC). POAC dalam pengelolaan sumber daya informasi, sebagai berikut: 1. Planning Manajemen harus menentukan tujuan dan sasaran yang ingin dicapai oleh unit sistem informasi dari suatu organisasi dan bagaimana mencapainya. Semua unit fungsional harus menjabarkan strategic planning organisasi menjadi operational plan dari masing-masing unit. Unit sistem informasi sebagai suatu unit jasa haru smenjabarkan rencana strategis menjadi perencanaan operasionalnya dalam dua dimensi, yaitu: a. Dukungan apa saja yang dapat dan/atau perlu diberikan ke unit lain b. Bagaimana unit ini, seperti unit lainnya, dapat mengelola sumber daya informasi yang dimiliki secara optimal, efektif, efisien, dan ekonomis. Manajemen pucuk atau top management bertanggung jawab untuk menyiapkan rencana strategis secara jangka panjang hingga jangka pendek untuk fungsi sistem informasi. Untuk menyiapkan rencana strategis tersebut, melibatkan beberapa tugas, yaitu: a. Memahami kemungkinan dan permasalahan yang dihadapi oleh organisasi sehingga dapat mengefisiensikan biaya-biaya yang diterapkan dalam sistem informasi dan teknologi informasi. 5
b. Mengidentifikasikan sumber yang dibutuhkan untuk memenuhi segala kebutuhan atas sistem informasi dan teknologi informasi yang ada. c. Memformulasikan strategi dan taktik dalam mencari sumber yang dibutuhkan. Top management atau manajemen puncak harus menyiapkan dua jenis strategi dalam fungsi rencana sistem informasi. Yaitu rencana strategis (3-5 tahun), dan rencana operasional. Dalam rencana strategis, terdapat beberapa hal yaitu: a. Penilaian informasi saat ini, meliputi informasi mengenai jenis software atau hardware yang ada dan sistem informasi yang diterapkan, segala kelemahan dan kelebihan sistem, dan segala ancaman yang ada. b. Arah strategis, yaitu informasi masa depan yang disediakan, dan segala strategi yang dilakukan baik secara intraorganisasional maupun interorganisasional. c. Strategi pengembangan, yaitu visi akan pengembangan sistem kedepannya, jenis aplikasi dan database di masa depan yang akan dikembangkan, dan sistem informasi yang akan dikembangkan. Sedangkan rencana operasional yaitu rencana yang jangkanya lebih pendek yaitu sekitar satu sampai dengan tiga tahun kedepan. Isi dari rencana operasional umumnya: a. Laporan proses, yaitu laporan yang berisi rencana saat ini mengenai segala hal yang tercapai atau tidak dari rencana yang telah dibuat. b. Skedul implementasi, yaitu waktu yang ditetapkan baik waktu mulai pengerjaan suatu proyek ataupun waktu penyelesaian proyek. 6
Semakin kompleks suatu struktur dan tipe organisasi, semakin banyak pula rencana sistem informasi yang dibutuhkan.
2. Organizing Sumber daya informasi adalah terdiri dari computer hardware, software, facilities, network, information systems brainware, dan database. Manajemen harus mengalokasikan sumber daya seoptimal mungkin dan melakukan kordinasi agar dengan sumber daya yang ada dapat memberikan jasa informasi dalam services level memadai. Auditor perlu memahami bagaimana manajemen puncak mampu memperoleh atau mengatur sumber daya manusia yang ada, khususnya dalam
sususan
dan
struktur
kepegawaian.
Penyusunan
struktur
kepegawaian di fungsi sistem informasi melibatkan tiga aktivitas utama, yaitu: a) Akuisisi personalia. Dalam penempatan struktur personalia, manajemen harus berhatihati dan perlu memperhatikan beberapa hal agar keputusan yang diambil menjadi tepat, dengan cara memeriksa referensi pegawai, dan hal-hal personal background lainnya yang dimiliki oleh pegawai. b) Pengembangan personalia. Pengembangan personalia melibatkan pemberian promosi bagi karyawan yang memiliki kinerja baik dan pendidikan agar dapat meningkatkan kompetensi dan kemampuan karyawan tersebut. Hal ini akan sangat bermanfaat bagi perusahaan dalam jangka panjang. c) Penghentian personalia.
7
Hal penghentian personalia dapat dilakukan apabila karyawan dinilai tidak mampu untuk memberikan performa kinerja dan melanggar hal-hal tertentu yang dapat menghambat perkembangan organisasi. Penghentian juga dapat dilakukan ketika karyawan telah diberikan peringatan namun tidak diindahkan sehingga menghambat pertumbuhan organisasi. 3. Actuating Pimpinan organisasi harus melakukan actuating, leading dalam bentuk memberikan perlatihan, pembinaan, mendorong motivasi, dan sebagainya sehingga personil yang ada dapat bekerja sebaik-baiknya. Perlu dipahami bahwa personil unit komputer adalah knowledge worker, pegawai profesional yang mempunyai karakteristik spesifik. Sehingga dalam fungsi sistem informasi, pimpinan organisasi sangat berperan. Ada dua hal yang penting dalam fungsi actuating (leading) oleh manajemen, yaitu:
Untuk memotivasi para karyawan khususnya dalam hal ini di bagian personalia sistem informasi.
Mencocokan gaya kepemimpinan dengan para karyawan sistem informasi dan pekerjaannya.
Berkomunikasi secara efektif dengan para karyawan di bagian sistem informasi.
4. Controlling Seperti pada manajemen organisasi pada umunya, pimpinan harus melakukan pengawasan dalam arti memonitor apakah kinerja atau realisasi pelaksanaan kegiatan menyimpang, favourable ataukah unfavourable bila dibandingkan dengan yang telah direncanakan.
8
Penyerapan teknologi dan pengendalian atas fungsi sistem informasi Kemampuan manajemen puncak untuk menerapkan pengendalian terhadap fungsi sistem informasi bergantung pada cara penyebaran teknologi yang berbeda di tiap organisasi. Biasanya penyerapan teknologi pada tiap organisasi bertahap. Tahapannya itu dimulai dari tahap permulaan (initiation), tahap penyebaran (contagion), tahap pengendalian (control), dan tahap integrasi. Pada tiap tahap tersebut, manajemen puncak perlu untuk melakukan pengendalian agar tetap sesuai dengan formulasi strategi yang telah ditetapkan di manajemen puncak.
Pengendalian atas aktivitas sistem informasi Manajemen puncak perlu untuk menetapkan pencapaian target atas segala aktivitas yang dilakukan oleh karyawan sistem informasi melalui
segala
kebijakan
dan
standar
yang
telah
diimplementasikan, sehingga dapat terlihat target atas pengendalian yang telah dilakukan oleh manajemen tersebut. Kebijakan tersebut dapat mengatur panduan umum mengenai sistem kerja dan perilaku personil. Kebijakan yang diambil pun perlu melihat dari keadaan dan kondisi yang ada sehingga kebijakan yang diambil menjadi tepat dan efektif.
Pengendalian atas para pengguna layanan sistem informasi Manajemen
puncak
perlu
membangun
kebijakan
dan
mengimplementasikan prosedur yang menyedikan insentif bagi pengguna (user) untuk mendapatkan layanan sistem informasi yang efektif dan efisien. Dalam hal ini, diperlukan feedback dari user atas sistem informasi yang diberikan berupa masuka dan saran. Seperti dalam kegiatan pembuatan software, diperlukan seorang 9
beta tester untuk menguji kelayakan sistem yang telah kita buat dan kita perlu memberikan insentif kepada user tersebut. Sehingga layanan sistem informasi yang telah kita buat bisa menjadi handal.
C. System Development Management Controls Salah satu aset perusahaan modern yang berharga adalah sistem informasi yang responsif dan berorientasi pada pengguna. Sistem yang didesain dengan baik dapat meningkatkan produsktivitas, mengurangi persediaan, meniadakan aktivitas tidak bernilai tambah, memperbaiki layanan pelanggan dan keputusan manajemen, serta mengoordinasikan berbagai aktivitas di seluruh perusahaan.
Partisipan dalam Pengembangan Sistem Partisipan dalam Pengembangan Sistem dikelompokkan dalam empat kelompok umum, yaitu Profesional sistem adalah analis, teknisi sistem dan programer. Mereka akan benar-benar membangun sistem. Mereka mengumpulkan berbagai fakta mengenani masalah dalam sistem yang ada, menganalisis fakta tersebut, dan merumuskan solusi untuk mengatasi masalah tersebut. Hasil dari usaha mereka adalah sistem baru. Pengguna akhir adalah pihak untuk siapa sistem dibangun. Para pengguna meliputi para manajer, personal operasional, akuntan, auditor internal. Stakeholders . Pihak ini merupakan pihak yang berkepentingan atas sistem baik yang berasal dariinternal maupun eksternal perusahaan tetapi bukan merupakan penggunaakhir sistem tersebut. Mereka meliputi akuntan, auditor internal dan eksternal, serta komite pengarah internal yang mengawasi pengembangan sistem
10
Para akuntan/ auditor, meliputi profesional yang menangani berbagai isu pengendalian,akuntansi, dan audit untuk pengembangan sistem. Namun keterlibatan auditor internal dibatasi dalam beberapa hal danmelarang keterlibatan langsung auditor eksternal dimana hal ini diatur dalam standar dan etika professional dalam menjaga independensi auditor.
Pengadaan Sistem Informasi Cara pengadaan sistem informasi oleh perusahaan adalah sebagai berikut: 1. Pengembangan sistem secara internal Perusahaan mendesain sendiri sistem informasi melalui aktivitas pengembangan internal dengan menyediakan staf sistem tetap sebagai analis serta programmer yang dapat mengidentifikasi kebutuhan informasi para pengguna dan dapat memuaskan kebutuhan pengguna melalui sistem yang disesuaikan. 2. Pembelian sistem komersial Perusahaan dalam mengembangkan sistem informasi akuntansi dengan cara membeli dari vendor peranti lunak. Jenis Sistem Komersial a. Turnkey System (Sistem Siap Pakai) Sistem yang sepenuhnya lengkap dan teruji serta siap untuk diimplementasikan. Dimana sistem ini hanya dijual dalam bentuk gabungan beberapa modul program. b. Sistem akuntansi umum. Sistem ini didesain untuk melayani berbagai jenis kebutuhan pengguna. Melalui produksi massal sebuah sistem standar, vendor dapat mengurangi biaya per unit sistem ini, hingga menjadi sangat kecil daripada biaya pengembangan sistem secara internal. 11
c. Sistem bertujuan khusus Beberapa vendor peranti lunak membuat sistem bertujuan khusus yang diarahkan bagi beberapa segmen tertentu dalam ekonomi. d. Sistem otomisasi kantor Sistem ini berupa sistem kantor yang meningkatkan produktivitas para pekerja kantor. e. Backbone System (Sistem Backbone) Menyediakan struktur sistem dasar yang dapat dikembangkan yang dilengkapi dengan modul pemrosesan utama yang telah diprogram. f. Vendor Supported System (Sistem dengan dukungan vendor) Gabungan dari sistem yang disesuaikan dengan peranti lunak komersial dimana vendor mengembangkan dan memelihara sistem yang disesuaikan dengan kebutuhan para klien.
Keunggulan Peranti Lunak Komersial diantaranya: 1. Waktu Implementasi Jika menggunakan peranti lunak komersial maka saat perusahaan akan mengimplementasikan sistem tidak membutuhkan waktu yang lama karena
telah
tersedia
oleh
vendor
peranti
lunak
yang
lebih
murah
dibanding
dapat
diimplementasikan langsung. 2. Biaya Biaya
pengembangan
dengan
pengembangan sistem internal. 3. Keandalan Kecendrungan kesalahan yang dapat terjadi pada peranti lunak komersial lebih sedikit dibandingkan dengan sistem pengembangan
12
internal karena peranti lunak komersial telah melaewati tahap pengujian sebelum dilepas kepasaran.
Kelemahan Peranti Lunak Komersial diantaranya: 1. Independensi Karena sistem dibeli dari vendor maka perusahaan ketergantungan kepada vendor dalam hal pemeliharaan. Maka perusahaan akan menghadapi risiko vendor tidak
lagi mendukung sistem tersebut atau
bahkan bangkrut. 2. Kebutuhan akan sistem disesuaikan Peranti lunak komersial yang tersedia bersifat umum atau tidak fleksibel 3. Pemeliharaan Tingginya tingkat perubahan sistem informasi bisnis sehingga sistem juga akan mengalami perubahan sehingga peranti lunak tidak dapat dirubah maupun dimodifikasi.
SIKLUS HIDUP PENGEMBANGAN SISTEM (SDLC) Beberapa tahapan dalam SDLC diantaranya: Perencanaan Sistem Tahap ini bertujuan menghubungkan berbagai proyek sistem atau aplikasi dengan tujuan strategis perusahaan. Bahkan, dasar untuk perencanaan sistem adalah rencana bisnis perusahaan, yang menspesifikasikan ke mana perushaan rencananya akan menuju dan bagaimana cara perusahaan untuk mencapai ke tujuan tersebut. 13
1. Perencanaan sistem strategis Merupakan alokasi berbagai sumber daya sistem, peranti keras, peranti lunak serta telekomunikasi. Perencanaan ini melibatkan alokasi beberapa sumber daya sistem di tingkat makro. Biasanya perencanaan ini berhubungan dengan kerangka waktu tiga sampai lima tahun. Proses ini hampir sama dengan penganggaran sumber daya untuk kreativitas strategis lainnya, seperti pengembangan produk, ekspansi pabrik, riset pasar dan teknologi produksi. Justifikasi untuk perencanaan sistem strategis:
Rencana yang berubah secara konstan lebih baik daripada tidak ada
rencana sama sekali Perencanaan strategis mengurangi komponen krisis dalam pengembangan
sistem. Perencanaan strategis sistem memberikan pengendalian otorisasi untuk
SDLC Secara historis perencanaan sistem strategis memang selalu berhasil baik.
2. Perencanaan proyek Tujuan dari perencanaan proyek adalah untuk mengalokasikan sumber daya ke tiap aplikasi dalam kerangka kerja rencana startegis. Hal ini melibatkan identifikasi berbagai area kebutuhan pengguana, mebuat proposal, mengevaluasi kelayakn tiap propopsal dan kontribusnya pada rencana bisni, membuat prioritas untuk tiap proyek, dan menjadwalkan berbagai pekerjaan yang akan dilakukan. Analisis Sistem Analisis sistem dilakukan dengan melakukan survey atas sistem yang ada dan kemudian melaksanakan analisis kebutuhan pengguna dimana hasil dari analisis ini berupa laporan analisis sistem formal, yang menyajikan berbagai temuan dari analisis dan berbagai rekomendasi untuk sistem yang baru. 14
a. Tahap Survey Langkah awal dalam memulai sebuah analisis adalah dengan melakukan survey terhadap sistem yang ada dalam rangka mengetahui keunggulan dan kelemahan sistem yang telah ada tersebut. b. Tahap analisis Analisis sistem adalah proses intelektual yang berbaur dengan pengumpulan fakta. Analis secara simultan akan menganlisis ketika dia melakukan pengumpulan fakta. Pengetahuan akan suatu masalah saja menunjukkan adanya pemahaman mengenai norma atau kondisi yang diinginkan. Oleh karenanya sulit untuk mengidentifikasi saat dimana survei berakhir dan analisis dimulai.
Desain Konseptual Sistem Tujuan dari tahap ini adalah untuk menghasilkan beberapa alternatif konsep sistem yang memenuhi berbagai kebutuhan yang teridentifikasi dalam analis sistem. Dengan menyajikan sejumlah alternatif yang masuk akal ke pengguna, profesional sistem menghindari munculnya persepsi mengenai batasan pada sistem yang baru.
Evaluasi dan Pemilihan Sistem Tahap selanjutnya bertujuan untuk memilih salah satu sistem dari serangkaian alternatif konseptual yang akan diteruskan ke tahap desain terperinci. Tahap evaluasi dan pemilihan ada proses optimalisasi yang bertujuan mengidentifikasi sistem yang terbaik. Keputusan ini mewaiki tahap yang sangat penting dalam SDLC. Pada titik ini terdaat banyak sekali ketidakpastian mengenai sistem, dan keputusan yang kurang baik dalam tahap ini dapat sangat berbahaya. Tujuan dari prosdur formal evaluasi dan pemilihan adalah untuk menstrukturisasi proses pengambilan keputusan ini dan karenya mengurangi ketidakpastian dan
15
risiko adanya keputussan yang kurang baik. Proses ini dapat dilakukan melalui dua tahapan: a) Melakukan studi kelayakan yang terperinci Tiap proyek akan dinilai dengan cara yang sama. Proyek-proyek yang dianggap layak kemudian akan dibandingkan berdasrakan biayamanfaatnya. Sistem yang terpilih kemudian akan dilanjutkan ke tahap desain terperinci. b) Melakukan analisis biaya-manfaat Analisis ini dapat membantu pihak manajemen menentukan apakah manfaat yang diterima dari sistem yang diusulkan akan melebihi biayanya. Teknik ini seringkali dimanfaatkan untuk memperkirakan nilai finansial yang diaharpakan dari investasi bisnis. Akan tetapi, dalam situasi ini, investasinya adalah sistem informasi, dan biaya serta manfaatnya lebih sulit untuk diidentifikasi dan diukur daripada proyek permodalan biasa. Walaupun tidak sempurna dalam situasi ini, analisis biaya-manfaat digunakan karena kesederhanaannya dan karena tidak adanya alternatif lain yang lebih baik. Di luar berbagai keterbatasannya, analisis biayamanfaat, jika digabungkan dengan berbagai faktor kelayakn, merupakan alat yang berguna untuk membandingkan berbagai alternatif desain sistem. 2. Desain terperinci Tujuan dalam tahapan ini adalah untuk menghasilkan penjelasan terperinci sistem yang diusulkan dapat memenuhi kebutuhan sistem yang telah diindentifikasi selama analisis sistem dan sesuai dengan desain konseptualnya. Dalam tahap ini semua komponen sistem (tampilan pengguna, tabel basis data, proses dan pengendalian) secara lengkap dispesifikasi. Pada akhir tahap ini semua komponen diatas akan disajikan secara formal dalam laporan desain terperinci.
16
Pemrograman dan Pengujian Sistem Tahap ini adalah memilih bahasa pemrograman dari berbagai bahasa yang tersedia dan yang sesuai dengan aplikasi terkait. Bahasa-bahasa tersebut meliputi: Bahasa prosedural seperti Cobol Bahasa yang digerakkan oleh peristiwa seperti Visual Basic Bahasa yang berorientasi objek seperti Java atau C++ Tahap ini menyajikan gambaran singkat berbagai pendekatan pemrograma. Para profesional sistem akan membuat keputusan mereka berdasarkan berbagai standar internal, arsitektur, dan kebutuhan pengguna. Implementasi Sistem Tahap ini dalam proses pengembangan sistem, struktur basis data akan dibuat dan diisi dengan data perlengkapan akan dibeli dan diinstal. Proses implementasi tersebut melibatkan berbagai usaha dari para desainer, programer, administrator basis data, pengguna dan akuntan. Tahapan implementasi sistem: a. b. c. d. e.
Menguji keseluruhan sistem Mendokumentasikan sistem Mengkonversi basis data Konversi ke sistem yang baru Kajian pasca implementasi
Implementasi Sistem Ketika sistem telah diimplementasikan, siklus akan masuk ke tahap siklus pemeliharaan. Pemeliharaan sistem (system maintenance) melibatkan perubahan sistem untuk mengakomodasi perubahan dalam kebutuhan pengguna. I.
Mengendalikan dan Mengaudit SDLC Proses pengembangan dan pemeliharaan sistem adalah hal yang umum dalam semua aplikasi. Jika auditor dapat memverifikasi bahwa berbagai 17
proses ini dikendalikan secara efektif, maka auditor dapat membatasi keluasan pengujian, akan tetapi jika bukti audit menunjukkan pengendalian SDLC lemah dan tidak konsisten aplikasinya, maka pengujian aplikasi dan substantif tidak dapat dikurangi. 1. Mengendalikan pengembangan sistem baru Ada 6 aktivitas
yang dapat dikendalikan berhubungan dengan
otorisasi, pengembangan, dan implementasi sistem. a. Aktivitas Otorisasi Sistem b. Aktivitas Spesifikasi Pengguna c. Aktivitas Desain Teknis d. Keterlibatan auditor internal e. Prosedur pengujian dan penerimaan pengguna f. Tujuan Audit 2. Mengendalikan Pemeliharaan Sistem Jika suatu aplikasi telah memasuki tahap pemeliharaan, imtegritasnya mujngkin saja telah turun semenjak implementasinya. Oleh karenanya, kajian auditor dapat meluas tahap pemeliharaan untuk menentukan bahwa integtritas aplikasi masih utuh atau tidak. a. Otorisasi, pengujian dan dokumentasi pemeliharaan Ketika pemeliharaan menyebabkan berbagai perubahan luas ke logika program, pengendalian tambahan, seperti keterlibatan auditor internal serta prosedur pengujian oleh pengguna dapat menjadi hal yang penting. b. Pengendalian Perpustakaan Program Sumber Meskipun ada prosedur pemeliharaan sebelumnya, integritas aplikasi dapat terancam bahaya karena orang-orang tidak memiliki akses tidak sah ke program. Dalam sistem komputer yang lebih besar, kode sumber program disimpan dalam disket magnetis dan disebut sebagai 18
perpustakaan program sumber (source program library-SPL) jika SPL tidak memilki pengendalian maka kemungkinan buruk yang akan terjadi adalah: -
Akses ke program tidak terbatas sepenuhnya Programmer dan pihak lainnya dapat mengakses program yang disimpan dalam SPL, dan tidak ada cara untuk mendeteksi pelanggaran
-
Karena adanya kelemahan pengendalian ini, program dapat diubah secara tidak sah, jadi, tidak ada cara untuk mendeteksi akses sah ke SPL, hingga integritas program tidak dapat diverifikasi. Untuk mengendalikan SPL, berbagai fitur dan prosedur
perlindungan harus secara jelas disebutkan dan hal ini membutuhkan implementasi sistem manajemen SPL. Berbagai teknik pengendalian pada area yang paling rentan antara lain: - Pengendalian Kata Sandi - Perpustakaan pengujian terpisah - Laporan jejak audit dan laporan manajemen - Nomor versi program - Mengendalikan akses ke perintah pemeliharaan c. Tujuan Audit Mendeteksi pemeliharaan program yang tidak sah (yang dapat mengakibatkan kesalahan pemrosesan atau penipuan signifikan). Dengan cara menentukan: -
Prosedur pemeliharaan melindungi berbagai aplikasi
dari perubahan yang tidak sah - Aplikasi bebas dari kesalahan material - SPl dilindungi dari akses yang tidak sah d. Prosedur audit a) Mengidentigfikasi perubahan tidak sah b) Mengidentifikasi kesalahan aplikasi 19
- Merekonsiliasi kode sumber. - Mengkaji hasil pengujian. - Menguji ulang program c) Uji akses ke perpustakaan - Mengkaji tabel otoritas programer Auditor
dapat
memilih
sampel
dari
beberapa
programer yang ada dan mengkaji otoritas akses mereka. -
Tabel otoritas pengujian
Auditor harus menyimulasikan hak akses programer dan kemudian melanggar aturan otorisasi dengan akses perpustakaan yang tidak diotorisasi.
D. Manajemen Kontrol Programming Pada bab ini kita akan memeriksa secara praktis pengadaan atau produksi s/w dengan kualitas yang tinggi.
Kita
mulai
dengan
memeriksa
fase
utama
pada
siklus
hidup
pengembangan program. Diskusi di fokuskan pada tipe pengalaman yang baik dan konsen pengendalian yang harus dilakukan oleh Auditor pada tiap
fase. Selanjutnya kita akan memeriksa cara lain untuk mengorganisasikan dan mengatur tim programmer, dari sudut pandang pengendalian kita akan memfokuskan pada keuntungan dan kelemahan perbedaan struktur tim
yang akan digunakan. Pada akhirnya, kita akan memeriksa masalah pengendalian khusus yang timbul dalam kaitan untuk kegiatan dari sistem programmer. Kita mempertimbangkan beberapa pendekatan yang dapat digunakan untuk memudahkan persoalan pengendalian.
20
Siklus Hidup Pengembangan Program Pembuatan dan pengembangan program adalah merupakan tahap penting alam siklus hidup pengembangan sistem. Tujuan utama tahap ini adalah untuk menghasilkan
atau
memperoleh
dan
menenerapkan
program
yang
berkualitas. Beberapa karakteristik program yang berkualitas adalah : a) b) c) d) e) f)
Berfungsi dengan tepat dan lengkap Mempunyai user interface dengan kualitas tinggi (baik) Bekerja secara efisien Dirancang dan di dokumentasikan dengan baik Mudah untuk pemeliharaan Dapat menyesuaikan di bawah kondisi tidak normal Jika program mempunyai karakteristik tersebut, aktivitas pengembangan,
penerimaan dan implementasi program dapat diatur dengan baik. Dalam pengembangan sistem, auditor dapat menggunakan model siklus hidup untuk lebih memahami, merencanakan, dan menyelesaikan tugas dalam rangka untuk memperoleh s/w dengan kualitas baik. Selama proses audit, model ini juga dapat digunakan sebagai pedoman aktivitas pengumpulan dan evaluasi fakta Terdapat enam pedoman dalam pengembangan program, yaitu 1. Planning 2. Control 3. Design 4. Coding 5. Testing dan 6. Operation and maintenance
21
Gbr.5.1 Siklus hidup pengembangan program
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. Selain memperkirakan kebutuhan sumber daya, manajemen juga harus memutuskan tujuan dari keputusan penting yang dibuat selama fase perencanaan seperti :
22
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 2.
dapat diterapkan juga pada software yang berbeda. Seorang auditor harus dapat mengumpulkan bukti apakah prosedur dari suatu control 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 23
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. 4. Pengetesan (Testing) 1. 2.
3.
4. 5. 6. 7.
Static analysis test Desk-checking Structured walk-throughs Design and code inspections Dynamic analysis test Black-box test (kel.2) White-box test (kel.3) Integration Testing (kel.4) Top-down test Bottom-up test Regression test Validation Test Basis path test Control structure test System test
5. Pengoperasian dan Pemeliharaan (Operation and Maintenance)
24
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 pro.
Pengorganisasian Tim Programming Cara seorang programmer dalam menangani pekerjaan mereka sangat berpengaruh pada kualitas software yang mereka buat. Alternatifnya, para 25
programmer bisa diorganisasikan sebagai satu kesatuan team. Mereka bekerja untuk periode waktu tertentu untuk menyelesaikan suatu proyek,dimana keputusannya dibicarakan diantara anggotanya. Hal ini sangat bermanfaat bila proyek yang ditangani sangat komplek dan tidak jelas. Proses pengembangan, penerapan,dan implementasi dari software, untuk saat ini banyak dilakukan secara team. Dari segi audit, perhatian/tujuan utamanya adalah bahwa manajemen telah memilih struktur team dengan hati-hati dilihat dari segi proyek, tingkat kompleksitasnya, dan tingkat keterlambatan dari jadwal proyek agar kemampuan dan kualitas mereka bisa diorganisasikan dalam bentuk team dimana mereka harus bekerja. Untuk itu ada 3 struktur team yang digunakan untuk mengorganisasikan para programmer: 1. Chief Programmer Teams
Fungsi dan Cirinya Chief Programmer :
Bertanggung jawab secara total/penuh untuk sistem dimana team bekerja Harus seorang ahli Seorang programmer yang sangat produktif Bertanggungjawab dalam mendesain, coding, dan mengintegrasikan
bagian yang kritis dalam sistem Memberikan perintah kerja pada
bagian
back-up
dan
support
programmers. Back-up Programmers :
26
Seorang programmer senior yang bertanggungjawab dalam memberikan
dukungan penuh pada chief programmer Harus bisa mengambil alih tugas chief programmer setiap saat
Support Programmers:
Diperlukan pada saat proyek besar yang tidak bisa dikerjakan oleh chief
programmer dan back-up programmer saja. Menyediakan dukungan Bekerja dalam pembuatan coding dan uji coba modul tingkat rendah ( testing lowerlevel)
Librarian (penyedia data) :
Bertanggungjawab dalam perawatan program production library. Menyediakan input dan mengumpulkan keluaran untuk para programmer, file output dari hasil kompilasi dan ujicoba, mempertahankan agar source code dan object-code library tetap up to date. Sruktur “ The Chief Programmer team “ ini di desain untuk mengurangi kebutuhan proses informasi antara anggota team dan untuk meningkatkan kapasitas dari proses informasi.
2. Adaptives Teams
Struktur ini diperuntukan untuk melayani 2 kebutuhan, yaitu: 27
1. Keinginan organisasi untuk meningkatkan kualitas program 2. Memenuhi kebutuhan sosial/ psikologi dari setiap anggota programmer dalam team. Perbedaan dari struktur ini dengan struktur sebelumnya adalah:
Adaptive team tidak punya tigkat otoritas, dimana kepemimpinan dalam
team ada di tangan para anggota. Dalam Adaptive team, tugas diberikan pada anggota dari team daripada
ditentukan lewat posisi. Adaptive team tidak mempunyai aturan formal librarian (penyedia data)dalam mengkoordinasikan fungsi team.
3. Controlled-Decentralized Teams Struktur ini mempunyai junior programmer yang akan melaporkan hasil program pada senior programmer, kemudian oleh senior programmer dilaporkan juga pada ketua proyek. Dengan struktur ini, manfaat/keuntungan dari struktur sebelumnya akan didapatkan.
Keuntungannya : dapat memecahkan masalah yang kompleks, dimana
struktur dari grup ini akan memfasillitasi pemecahan masalah. Kerugian : strukur ini tidak bisa bekerja dengan baik apabila tugas dari programmer tersebut tidak bisa di bagi-bagi, dan dengan waktu deadline yang sangat ketat. Lihat gambar 5.8.
28
Pengelolaan Kelompok Sistem Programming Para programmer sering diklasifikasikan menurut aplikasi programmer atau sistem programmer. Dahulu, programmer membangun dan merawat program untuk system aplikasinya. Tetapi kini, membangun dan merawat sistem software. Seperti sistem operasi, sistem manajemen database, dan komunikasi software. Mengontrol Masalah Mengontrol sistem programmer adalah tugas yang berat, mereka biasanya memiliki keahlian yang tinggi dan sering bekerja sendiri atau ada di dalam grup yang kecil. Denganmenerapkan kontrol secara tradisional pada aktivitas mereka seperti pemisahan tugas, sangatlah sulit. Mereka biasanya bekerja pada situasi yang kritis. Mengukur Sistem Kontrol Meskipun sulit untuk mengontrol sistem programmer, beberapa hal ini dapat di implementasikan untuk mengontrolnya: 1. Pekerjakan staf sistem programming yang mempunyai kualitas yang tinggi. 2. Pisahkan tugas seluas mungkin, contohnya tanggung jawab untuk desain dan coding sistem program dipisah dari tanggung jawab untuk uji coba 3. 4.
program. Buat metode dokumen standar Batasi wewenang sistem programmer, jadi seorang programmer hanya
5.
bekerja sesuai dengan aplikasi yang dikuasainya. Jauhkan prosedur petunjuk manual dan kunci mesin dari aktivitas sistem programmer. Hal ini dimaksudkan agar aktivitas yang tidak diinginkan /
sesuai dengan tugasnya tidak terjadi. 6. Pekerjakan konsulan dari luar untuk mengevaluasi pekerjaan programming.
29
7. Perintahkan programmer aplikasi untuk mengevaluasi pekerjaan sistem programmer secara berkala agar dapat dihasilkan program yang berkualitas.
30