TUGAS MAKALAH
TENTANG
ANALISA
PENGEMBANGAN SISTEM INFORMASI AKADEMIK STTR CEPU
DENGAN
MENGGUNAKAN PENDEKATAN RPL
Disusun Oleh :
Nama :
Masta’in
NIM. :
MTS.12.23.1.0476
Prog.Studi/Smt. : MTS
/ I
Dosen :
Ir. H. Sumirin, MS
Mata kuliah : Sistim Informasi Manajemen
MAGISTER TEKNIK SIPIL
UNIVERSITAS ISLAM SULTAN AGUNG ( UNISSULA
)
SEMARANG
Tahun Angkatan 2012/2013
BAB I
PENDAHULUAN
1.1 Latar
Belakang
Pengelolaan administrasi akademik di Sekolah Tinggi
Teknologi Ronggolawe Cepu saat ini menghadapi masalah yang hampir sama dengan
masalah yang dihadapi perguruan tinggi lainnya yaitu: 1) Perubahan akan
permintaam atau tuntutan yang mengakibatkan munculnya kebutuhan untuk mengubah
sistem administrasi. 2) Teknologi baru bermunculan setiap saat yang mendorong
setiap perguruan tinggi harus mengevaluasi hardware, software yang
digunakan. 3) Besarnya biaya yang harus dikeluarkan dalam meningkatkan kualitas
aplikasi administrasi akademik karena disesuaikan dengan perkembangan
teknologi. 4) Portofolio dari sistem terbaru tidak dapat diproses hanya dengan
komputer pribadi. 5) Adanya pergeseran dari komputer mainframe tradisional
menuju kepada penggunaan distributed computer. Berkembangnya teknologi
yang pesat berimplikasi pada kesiapan dan kesigapan Sekolah Tinggi Teknologi
Ronggolawe Cepu untuk memanfaatkannya sebagai sarana pemecahan masalah yang
dihadapi dan sekaligus sebagai sarana peningkatan kualitas layanan agar lebih
efisien dan efektif
Upaya untuk memperbaiki sistem administrasi akademik
agar lebih efektif dan efisien serta mengikuti perkembangan teknologi mutakhir,
diantaranya adalah melalui implementasi teknologi informasi dan komunikasi
(TIK) dalam sistem informasi manajeman (SIM) secara online. Menurut
Wardiana (2002) teknologi informasi adalah suatu teknologi yang digunakan untuk
mengolah data, memproses, mendapatkan, menyusun, menyimpan, dan memanipulasi
data untuk menghasilkan informasi yang berkualitas, yakni informasi yang
relevan, akurat dan tepat waktu. Menurut Wu (1984) SIM adalah kumpulan dari
sistem-sistem yang menyediakan informasi untuk mendukung kinerja manajemen.
Sedangkan menurut Davis (1974) SIM adalah sistem manusia/mesin yang terpadu (integrated)
untuk menyajikan informasi guna mendukung operasi, manajemen, dan pengambilan
keputusan suatu organisasi. Hanson (1991) mengemukakan bahwa SIM merupakan alat
untuk menyampaikan berbagai informasi dalam rangka mengantisipasi berbagai
kebutuhan sumber data dan informasi dalam pengambilan keputusan. Laudon dan
Laudon (1995) mengemukakan bahwa sistem informasi manajemen adalah bagian dari
organisasi, dan merupakan tanggungjawab para manajer untuk mengelola dan
mengoperasikan teknologi dalam organisasi. Menurut Yasin (2003) keterkaitan
antara teknologi informasi dengan manajemen dan praktik merupakan basis utama
dari rancangan, implementasi, dan operasional sistem informasi manajemen pada
lembaga pendidikan.
Efisiensi dan profesionalisasi manajemen yang ingin
dicapai melalui implementasi SIAKAD Online sangat erat kaitannya dengan fungsi
dan proses manajemen. Menurut Hersey dan Blanchard (1982) manajemen adalah
bekerja dengan dan Prosiding SENTIA 2009 – Politeknik Negeri Malang, melalui
individu maupun kelompok untuk mencapai tujuan organisasi (working with and
throught individual and groups to acomplish organisa-tional goals).
Berdasarkan
latar belakang tersebut, maka fungsi/proses manajemen yakni meliputi;
perencanaan, pengorganisasian, pembiayaan, pelaksanaan, dan sikap serta
perilaku pengguna dalam implementasi SIAKAD Online sangat perlu dan penting
untuk dikaji secara seksama karena selama ini masih banyak masalah atau kendala
yang dijumpai dalam implementasi sistim administrasi akademik secara Online di
Sekolah Tinggi Teknologi Ronggolawe Cepu antara lain Mengatasi
mahasiswa transfer masih kesuliatan dalam konversi nilai yang dibutuhkan
mahasiswa tersebut; Mahasiswa baru mengisikan biodata tapi tidak bisa diambil
oleh BAAK karena programnya tidak terintegrasi (per modul); Report banyak yang
tidak berjalan.
1.2 Tujuan
Dengan permasalahan atau kendala
yang dijumpai dalam implementasi sistim administrasi akademik secara Online di
Sekolah Tinggi Teknologi Ronggolawe Cepu diatas, dapat diselesaikan dengan melakukan analisa
pengembangan SIAKAD yang diharapkan nantinya analisa pengembangan ini dapat mengatasi permasalahan yang ada.
Analisa pengembangan ini mengunakan metodologi dengan pendekatan Rekayasa Perangkat
Lunak (RPL)
BAB
II
STUDY
PUSTAKA
2.1 Pengertian Dasar Rekayasa Perangkat Lunak (RPL)
Istilah Rekayasa Perangkat Lunak (RPL) secara umum
disepakati sebagai terjemahan dari istilah Software engineering. Istilah
Software Engineering mulai dipopulerkan pada tahun 1968 pada software
engineering Conference yang diselenggarakan oleh NATO. Sebagian orang
mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal
ada perbedaan yang mendasar antara perangkat lunak (software) dan program
komputer.
Perangkat lunak adalah seluruh perintah yang digunakan
untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur.
Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan
prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses
informasi (O’Brien, 1999).
Pengertian RPL sendiri adalah suatu disiplin ilmu yang
membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu
analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna,
disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.
Dari pengertian ini jelaslah bahwa RPL tidak hanya berhubungan dengan cara
pembuatan program komputer. Pernyataan ”semua aspek produksi” pada pengertian
di atas, mempunyai arti semnua hal yang berhubungan dengan proses produksi
seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal,
kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.
2.2 TUJUAN REKAYASA PERANGKAT LUNAK
Secara
umunmm tujuan RPL tidak berbeda dengan bidang rekayasa yang lain, Secara lebih khusus kita dapat menyatakan tujuan RPL
adalah:
- memperoleh biaya produksi perangkat lunak yang rendah
- menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
- menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
- menghasilkan perangkat lunak yang biaya perawatannya rendah
2.3 RUANG LINGKUP
Sesuai dengan definisi yang telah disampaikan sebelumnya,
maka ruang lingkup RPL sebagai berikut:
-
software
Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat
lunak
-
software
desain mencakup proses penampilan arsitektur, komponen, antar muka, dan
karakteristik lain dari perangkat lunak
-
software
construction berhubungan dengan detail pengembangan perangkat lunak, termasuk
algoritma, pengkodean, pengujian dan pencarian kesalahan
-
software
testing meliputi pengujian pada keseluruhan perilaku perangkat lunak
-
software
maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah
dioperasikan
-
software
configuration management berhubungan dengan usaha perubahan konfigurasi
perangkat lunak untuk memenuhi kebutuhan tertentu
-
software
engineering management berkaitan dengan pengelolaan dan pengukuran RPL,
termasuk perencanaan proyek perangkat lunak
-
software engineering tools and methods
mencakup kajian teoritis tentang alat bantu dan metode RPL
-
software engineering process berhubungan
dengan definisi, implementasi pengukuran, pengelolaan, perubahan dan perbaikan
proses RPL
-
software quality menitik beratkan pada
kualitas dan daur hidup perangkat lunak
2.4 METODE
REKAYASA PERANGKAT LUNAK
Pada rekayasa perangkat lunak, banyak model yang telah
dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model
ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System
Development Life Cycle (SDLC)
- Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah. Oleh karena itu pemahaman masalah seperti dijelaskan pada latar belakang, merupakan bagian penting dari model pengembangan perangkat lunak.
- Tahapan-tahapan pengembangan yang teratur. Meskipun model-model pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing - maintenance
- Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.
- Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak. Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.
- Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari sebuah perangkat lunak sebenarnya agak susah di-rupiah-kan. Namun efek dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat berupa penurunan biaya operasi, efisiensi penggunaan sumberdaya, peningkatan keuntungan organisasi, peningkatan “image” organisasi dan lain-lain.
2.5 TAHAPAN
REKAYASA PERANGKAT LUNAK
Meskipun dalam pendekatan berbeda-beda, namun model-model
pendekatan memiliki kesamaan, yaitu menggunaka pola tahapan analysis – design –
coding(construction) – testing – maintenance.
1.
Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem
menjadi komponen-komponennya dengan tujuan mempelajari seberapa bagus
komponen-komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka.
Analisis mungkin adalah bagian terpenting dari proses
rekayasa perangkat lunak. Karena semua
proses lanjutan akan sangat bergantung pada baik tidaknya hasil analisis. Ada
satu bagian penting yang biasanya dilakukan dalam tahapan analisis yaitu pemodelan
proses bisnis.
2.
Model proses adalah model yang memfokuskan pada seluruh proses di dalam sistem yang mentransformasikan data menjadi
informasi (Harris, 2003). Model proses
juga menunjukkan aliran data yang masuk dan keluar pada suatu proses. Biasanya model ini digambarkan dalam bentuk
Diagram Arus Data (Data Flow Diagram / DFD).
DFD meyajikan gambaran apa yang manusia, proses dan prosedur lakukan
untuk mentransformasi data menjadi informasi.
3.
Disain perangkat lunak adalah tugas,
tahapan atau aktivitas yang difokuskan pada spesifikasi detil dari solusi
berbasis computer (Whitten et al, 2004).
Disain perangkat lunak sering juga disebut sebagai
physical design. Jika tahapan analisis
sistem menekankan pada masalah bisnis (business rule), maka sebaliknya disain
perangkat lunak fokus pada sisi teknis dan implementasi sebuah perangkat lunak
(Whitten et al, 2004).
Output utama dari tahapan disain perangkat lunak adalah spesifikasi
disain. Spesifikasi ini meliputi
spesifikasi disain umum yang akan disampaikan kepada stakeholder sistem dan
spesifikasi disain rinci yang akan digunakan pada tahap implementasi. Spesifikasi disain umum hanya berisi gambaran
umum agar stakeholder sistem mengerti akan seperti apa perangkat lunak yang
akan dibangun. Biasanya diagram USD
tentang perangkat lunak yang baru merupakan point penting dibagian ini. Spesifikasi disain rinci atau kadang disebut
disain arsitektur rinci perangkat lunak diperlukan untuk merancang sistem
sehingga memiliki konstruksi yang baik, proses pengolahan data yang tepat dan
akurat, bernilai, memiliki aspek user friendly dan memiliki dasar-dasar untuk
pengembangan selanjutnya.
Desain arsitektur ini terdiri dari desain database,
desain proses, desain user interface
yang mencakup desain input, output form dan report, desain hardware,
software dan jaringan. Desain proses
merupakan kelanjutan dari pemodelan proses yang dilakukan pada tahapan
analisis.
4.
Konstruksi adalah tahapan menerjemahkan hasil disain logis dan fisik ke dalam
kode-kode program komputer.
5.
Pengujian sistem
melibatkan semua kelompok pengguna yang
telah direncanakan pada tahap sebelumnya. Pengujian tingkat penerimaan terhadap
perangkat lunak akan berakhir ketika dirasa semua kelompok pengguna menyatakan
bisa menerima perangkat lunak tersebut berdasarkan
kriteria-kriteria yang telah ditetapkan.
6.
Perawatan dan Konfigurasi. Ketika sebuah perangkat lunak telah dianggap layak untuk
dijalankan, maka tahapan baru menjadi muncul yaitu perawatan perangkat lunak.
- Tipe perawatan corrective dilakukan jika terjadi kesalahan atau biasa dikenal sebagai bugs. Perawatan bisa dilakukan dengan memperbaiki kode program, menambah bagian yang dirasa perlu atau malah menghilangkan bagian-bagian tertentu.
- Tipe perawatan routine biasa juga disebut preventive maintenance dilakukan secara rutin untuk melihat kinerja perangkat lunak ada atau tidak ada kesalahan.
- Tipe perawatan sistem upgrade dilakukan jika ada perubahan dari komponen-komponen yang terlibat dalam perangkat lunak tersebut. Sebagai contoh perubahan platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat lunak harus diupgrade.
BAB III
RENCANA PENGEMBANGAN
3.1 IDE / GAGASAN
Dari pihak Developer software masih belum bisa memecahkan
masalah-masalah diatas. Menurut saya karena pihak develop mungkin belum
mengelolah permasalahan-permasalahan yang ada minimal terdokumentasi dengan
baik. Hal ini terbukti belum pernah ada laporan penyerahan dokumentasi ke pihak
client dalam hal ini STTR. Selain itu dipihak developer tidak memiliki penguji
software (SOFTWARE TESTER). Sehingga software yang bekembang selama ini baru
tahu kalau software tersebut bermasalah setelah di pakai di lapangan. Sehingga
pihak client dan developer selalu saling menyalakan satu sama lain.
Dengan
pendekatan teori-teori RPL, ternyata
dalam membangaun software yang besar tidak cukup hanya setelah di coding dan
tidak ditemukan error selesai. Ternyata banyak sekali yang harus dilewati.
Idealnya untuk membangun software diatas diperlukan beberapa tahapan antara
lain : tahap perencanaan , tahap desain dan tahap testing yang masing-masing 3
bagian tersebut ada subbagian yang sangat detail. Salah satu kasus diatas saya
soroti tentang tahapan testing.
Pengujian software (software testing) membutuhkan persiapan, sebelum pengujian dilakukan. Mengapa? Karena proses testing harus dilakukan secara sistematis, tidak bisa secara sembarang, karena software yang dihasilkan harus bebas dari error, untuk mengurangi resiko kerugian yang akan diderita oleh penggunanya. Produk software harus menguntungkan penggunanya pada saat digunakan. Dengan dimilikinya checklist, kita akan dapat mengetahui progress dari kegiatan testing itu sendiri. Mana yang sudah selesai dilakukan test, mana yang belum. Mana yang sudah dilakukan test pun, bisa diketahui mana yang benar modulnya sudah selesai, dan mana yang belum selesai. Jadi tidak sekedar mengetahui mana yang sudah dan mana yang belum. Pekerjaan persiapan juga membutuhkan software yang dapat membantu proses persiapan testing ini. Yang paling sederhana adalah dengan menggunakan Excel, jika memungkinkan menggunakan aplikasi yang dirancang khusus. Produk yang open source adalah TestLink. Untuk itu software SIAKAD ini supaya kulitasnya lebih baik, sebelum dilakukan running di lapangan sebaiknya melakukan testing software yang dilakukan oleh pihak developer melalui tim software tester-nya.
Profesi software tester (penguji software ) merupakan kelompok profesi yang dapat dikatakan masih baru di dalam dunia software; walaupun sebenarnya dalam dunia nyata pengembangan software, pekerjaannya ada dan sudah dilakukan, tetapi masih belum dipisahkan secara khusus. Umumnya melekat kepada pemrogram untuk melakukan pengujian software.
Software tester dalam pengertian umum adalah orang yang melakukan proses pengujian software. Software yang diuji, bisa software yang sedang dikembangkan, bisa juga software yang sudah jadi, seperti SIAKAD. Profesi ini dulu masih dipandang sebelah mata, sering diabaikan, bahkan tidak pernah dilakukan oleh pengembang software. Tetapi dengan semakin meningkatnya kompleksitas sistem yang dikembangkan, dan tuntutan akan mutu dan layanan, maka profesi ini menjadi sangat penting dan harus ada. Software tester dapat dipandang sebagai pengguna software; yang akan melakukan pengujian software secara menyeluruh, dari proses instalasi sampai dengan penggunaannya, dengan semua menu/fasilitas software dicoba semua. Sangatlah ironi, saat ini, jika suatu perusahaan pengembang software belum memiliki orang atau tim khusus untuk menjadi software tester. Perusahaan pengembang software tidak boleh mengandalkan pemrogramnya untuk melakukan pengujian software yang dikembangkan oleh pemrogram itu sendiri. Mengapa? Karena hasil pengujian oleh pemrogram itu sendiri, bisa jadi tidak akan objektif. Sudut pandang pengujian pemrogram dalam menguji software akan berbeda dengan sudut pandang penguji sebagai pengguna. Software tester, jika memungkinkan, perorangan atau tim yang berposisi sebagai pihak ketiga. Mengapa? Pihak ketiga diharapkan lebih netral, tidak memiliki konflik of interest, sehingga bisa lebih objektif.
Tidak ada ketentuan baku, tentang siapa yang bisa menjadi software tester, karena berhubungan dengan tahap pengembangan dari software yang sedang dikembangkan. Jika software masih dalam tahap pengembangan, maka tester haruslah orang yang memahami proses bisnis yang akan dibantu proses kerjanya dan orang yang memiliki penguasaan terhadap teknologinya. Jika sudah selesai dan akan dioperasionalkan, maka tester bisa penggunanya. Pelatihan formal tentang proses pengujian sebaiknya harus dibekalkan kepada setiap software tester. Mengapa? Tentu saja agar tester memiliki pengetahuan dasar tentang bagaimana melakukan proses pengujian software yang benar. Proses pengujian haruslah sistematis, dan jika mungkin dibantu dengan menggunakan software, yang bisa membantu dalam proses pengujian. Proses pengujian tidak harus dilakukan secara manual, tetapi juga harus bisa dilakukan dengan diotomatisasi. Pengujian manual merupakan pengujian yang umum dilakukan oleh banyak tester. Proses pengujian manual membutuhkan suatu prosedur baku, ketekunan, dan ketelitian dari orang yang berperan sebagai penguji (tester). Mengapa? Karena proses pengujian merupakan proses yang berulang, dan bisa jadi sangat menjemukan. Pengujian yang diotomatisasi merupakan proses pengujian yang menggunakan alat bantu, dalam hal ini software untuk pengujian (testing software). Proses pengujian dirancang agar dapat dilakukan oleh software. Kita bisa membuat program dengan software untuk pengujian, agar proses pengujian dapat dilakukan secara otomatis. Software pengujian sangat diperlukan untuk membantu proses pengujian yang sifatnya berulang dan banyak sekali. Gabungan antara manual dan otomatis, merupakan proses pengujian yang ideal, karena tetap saja bahwa proses pengujian membutuhkan keputusan manusia sebagai penguji. Banyak pertimbangan dalam proses pengujian tidak bisa dimasukkan ke dalam software Penguji software (software tester) kini merupakan profesi khusus di dalam suatu organisasi pengembangan software. Dulu posisi ini dianggap tidak memiliki kebanggaan, tetapi kini profesi ini sudah memiliki tempat tersendiri, dan dapat dikatakan sangat penting. Keberhasilan suatu pengembangan software sangat ditentukan oleh hasil dari pengujian. Jika proses pengujian dapat dilakukan dengan baik, maka suatu software yang telah melewati pengujian akan memiliki kualitas yang dapat dipertanggungjawabkan. Suatu software sebelum dilepas ke pasar, software harus melewati proses pengujian. Pengujian software dilakukan oleh programmer, sebagai penguji pertama kali. Setelah programmer menguji bahwa software yang dibuatnya telah melewati pengujian oleh programmer itu sendiri, softwre harus diuji oleh penguji software. Penguji software akan mencoba menggunakan software yang dibuat oleh programmer dengan berbagai macam cara, dari sekedar mencoba aplikasi apakah bisa menyelesaikan masalah sesuai dengan tujuan dari pembuatan software itu sendiri, sampai dengan menguji apakah software tersebut tahan terhadap penggunaan yang asal-asalan. Setiap penguji software yang berpengalaman, akan memiliki cara pengujian yang efisien dan efektif. Langkah demi langkah pengujian, dan bahan-bahan untuk melakukan pengujian selalu disiapkan dengan rapi. Sebelum suatu software dibuat, maka software harus memiliki daftar kasus yang akan dapat diselesaikan oleh software tersebut, jika sudah selesai. Daftar kasus ini disebut sebagai kasus uji (test case). Kasus uji disiapkan oleh pengguna software dan atau perancang software. Untuk menjadi penguji software yang baik, maka hal pertama yang harus dimiliki adalah sifat jahil, ingin menguji bahwa software yang akan diuji ini akan dengan mudah dibuat untuk tidak berfungsi atau akan kacau fungsinya. Sifat jahil ini, cenderung akan merusak dalam artian positif; karena penguji harus bisa memastikan bahwa software yang dibuat tersebut tahan banting, dengan diperlakukan secara sembarang oleh penguji. Penguji software sebaiknya memiliki pengalaman memrogram, atau setidaknya tahu cara memrogram, atau suka membaca kelemahan-kelemahan dari suatu program. Banyak pola program atau kebiasaan pemrogram yang tidak benar diterapkan, umumnya oleh pemrogram pemula atau pemrogram yang malas tidak mau meningkatkan kemampuannya. Setiap software house seharusnya memiliki tim penguji sendiri. Mengapa? Karena pemrogram tidak akan sempat melakukan pengujian secara komprehensif. Pemrogram cenderung menganggap bahwa program yang telah dibuatnya telah benar, bisa menyelesaikan masalah. Pemrogram cenderung fokus pada penyelesaian masalah yang harus diselesaikan oleh program. Jarang pemrogram yang berpikir juga untuk memvalidasi masukan atau pun proses yang ada di dalam program tersebut. Di sinilah penguji software diperlukan. Menguji software merupakan tantangan tersendiri, dan membutuhkan keterampilan dan pengetahuan yang memadai, untuk menjamin bahwa hasil pengujiannya bisa dipertanggungjawabkan.
Pengujian software (software testing) membutuhkan persiapan, sebelum pengujian dilakukan. Mengapa? Karena proses testing harus dilakukan secara sistematis, tidak bisa secara sembarang, karena software yang dihasilkan harus bebas dari error, untuk mengurangi resiko kerugian yang akan diderita oleh penggunanya. Produk software harus menguntungkan penggunanya pada saat digunakan. Dengan dimilikinya checklist, kita akan dapat mengetahui progress dari kegiatan testing itu sendiri. Mana yang sudah selesai dilakukan test, mana yang belum. Mana yang sudah dilakukan test pun, bisa diketahui mana yang benar modulnya sudah selesai, dan mana yang belum selesai. Jadi tidak sekedar mengetahui mana yang sudah dan mana yang belum. Pekerjaan persiapan juga membutuhkan software yang dapat membantu proses persiapan testing ini. Yang paling sederhana adalah dengan menggunakan Excel, jika memungkinkan menggunakan aplikasi yang dirancang khusus. Produk yang open source adalah TestLink. Untuk itu software SIAKAD ini supaya kulitasnya lebih baik, sebelum dilakukan running di lapangan sebaiknya melakukan testing software yang dilakukan oleh pihak developer melalui tim software tester-nya.
Profesi software tester (penguji software ) merupakan kelompok profesi yang dapat dikatakan masih baru di dalam dunia software; walaupun sebenarnya dalam dunia nyata pengembangan software, pekerjaannya ada dan sudah dilakukan, tetapi masih belum dipisahkan secara khusus. Umumnya melekat kepada pemrogram untuk melakukan pengujian software.
Software tester dalam pengertian umum adalah orang yang melakukan proses pengujian software. Software yang diuji, bisa software yang sedang dikembangkan, bisa juga software yang sudah jadi, seperti SIAKAD. Profesi ini dulu masih dipandang sebelah mata, sering diabaikan, bahkan tidak pernah dilakukan oleh pengembang software. Tetapi dengan semakin meningkatnya kompleksitas sistem yang dikembangkan, dan tuntutan akan mutu dan layanan, maka profesi ini menjadi sangat penting dan harus ada. Software tester dapat dipandang sebagai pengguna software; yang akan melakukan pengujian software secara menyeluruh, dari proses instalasi sampai dengan penggunaannya, dengan semua menu/fasilitas software dicoba semua. Sangatlah ironi, saat ini, jika suatu perusahaan pengembang software belum memiliki orang atau tim khusus untuk menjadi software tester. Perusahaan pengembang software tidak boleh mengandalkan pemrogramnya untuk melakukan pengujian software yang dikembangkan oleh pemrogram itu sendiri. Mengapa? Karena hasil pengujian oleh pemrogram itu sendiri, bisa jadi tidak akan objektif. Sudut pandang pengujian pemrogram dalam menguji software akan berbeda dengan sudut pandang penguji sebagai pengguna. Software tester, jika memungkinkan, perorangan atau tim yang berposisi sebagai pihak ketiga. Mengapa? Pihak ketiga diharapkan lebih netral, tidak memiliki konflik of interest, sehingga bisa lebih objektif.
Tidak ada ketentuan baku, tentang siapa yang bisa menjadi software tester, karena berhubungan dengan tahap pengembangan dari software yang sedang dikembangkan. Jika software masih dalam tahap pengembangan, maka tester haruslah orang yang memahami proses bisnis yang akan dibantu proses kerjanya dan orang yang memiliki penguasaan terhadap teknologinya. Jika sudah selesai dan akan dioperasionalkan, maka tester bisa penggunanya. Pelatihan formal tentang proses pengujian sebaiknya harus dibekalkan kepada setiap software tester. Mengapa? Tentu saja agar tester memiliki pengetahuan dasar tentang bagaimana melakukan proses pengujian software yang benar. Proses pengujian haruslah sistematis, dan jika mungkin dibantu dengan menggunakan software, yang bisa membantu dalam proses pengujian. Proses pengujian tidak harus dilakukan secara manual, tetapi juga harus bisa dilakukan dengan diotomatisasi. Pengujian manual merupakan pengujian yang umum dilakukan oleh banyak tester. Proses pengujian manual membutuhkan suatu prosedur baku, ketekunan, dan ketelitian dari orang yang berperan sebagai penguji (tester). Mengapa? Karena proses pengujian merupakan proses yang berulang, dan bisa jadi sangat menjemukan. Pengujian yang diotomatisasi merupakan proses pengujian yang menggunakan alat bantu, dalam hal ini software untuk pengujian (testing software). Proses pengujian dirancang agar dapat dilakukan oleh software. Kita bisa membuat program dengan software untuk pengujian, agar proses pengujian dapat dilakukan secara otomatis. Software pengujian sangat diperlukan untuk membantu proses pengujian yang sifatnya berulang dan banyak sekali. Gabungan antara manual dan otomatis, merupakan proses pengujian yang ideal, karena tetap saja bahwa proses pengujian membutuhkan keputusan manusia sebagai penguji. Banyak pertimbangan dalam proses pengujian tidak bisa dimasukkan ke dalam software Penguji software (software tester) kini merupakan profesi khusus di dalam suatu organisasi pengembangan software. Dulu posisi ini dianggap tidak memiliki kebanggaan, tetapi kini profesi ini sudah memiliki tempat tersendiri, dan dapat dikatakan sangat penting. Keberhasilan suatu pengembangan software sangat ditentukan oleh hasil dari pengujian. Jika proses pengujian dapat dilakukan dengan baik, maka suatu software yang telah melewati pengujian akan memiliki kualitas yang dapat dipertanggungjawabkan. Suatu software sebelum dilepas ke pasar, software harus melewati proses pengujian. Pengujian software dilakukan oleh programmer, sebagai penguji pertama kali. Setelah programmer menguji bahwa software yang dibuatnya telah melewati pengujian oleh programmer itu sendiri, softwre harus diuji oleh penguji software. Penguji software akan mencoba menggunakan software yang dibuat oleh programmer dengan berbagai macam cara, dari sekedar mencoba aplikasi apakah bisa menyelesaikan masalah sesuai dengan tujuan dari pembuatan software itu sendiri, sampai dengan menguji apakah software tersebut tahan terhadap penggunaan yang asal-asalan. Setiap penguji software yang berpengalaman, akan memiliki cara pengujian yang efisien dan efektif. Langkah demi langkah pengujian, dan bahan-bahan untuk melakukan pengujian selalu disiapkan dengan rapi. Sebelum suatu software dibuat, maka software harus memiliki daftar kasus yang akan dapat diselesaikan oleh software tersebut, jika sudah selesai. Daftar kasus ini disebut sebagai kasus uji (test case). Kasus uji disiapkan oleh pengguna software dan atau perancang software. Untuk menjadi penguji software yang baik, maka hal pertama yang harus dimiliki adalah sifat jahil, ingin menguji bahwa software yang akan diuji ini akan dengan mudah dibuat untuk tidak berfungsi atau akan kacau fungsinya. Sifat jahil ini, cenderung akan merusak dalam artian positif; karena penguji harus bisa memastikan bahwa software yang dibuat tersebut tahan banting, dengan diperlakukan secara sembarang oleh penguji. Penguji software sebaiknya memiliki pengalaman memrogram, atau setidaknya tahu cara memrogram, atau suka membaca kelemahan-kelemahan dari suatu program. Banyak pola program atau kebiasaan pemrogram yang tidak benar diterapkan, umumnya oleh pemrogram pemula atau pemrogram yang malas tidak mau meningkatkan kemampuannya. Setiap software house seharusnya memiliki tim penguji sendiri. Mengapa? Karena pemrogram tidak akan sempat melakukan pengujian secara komprehensif. Pemrogram cenderung menganggap bahwa program yang telah dibuatnya telah benar, bisa menyelesaikan masalah. Pemrogram cenderung fokus pada penyelesaian masalah yang harus diselesaikan oleh program. Jarang pemrogram yang berpikir juga untuk memvalidasi masukan atau pun proses yang ada di dalam program tersebut. Di sinilah penguji software diperlukan. Menguji software merupakan tantangan tersendiri, dan membutuhkan keterampilan dan pengetahuan yang memadai, untuk menjamin bahwa hasil pengujiannya bisa dipertanggungjawabkan.
BAB IV
KESIMPULAN
Software SIAKAD ini akan lebih baik apabila pihak client dalam hal ini Sekolah Tinggi Teknologi Ronggolawe Cepu dan pihak developer dalam hal ini Software House membentuk tim Software Tester yang bertugas untuk mengatasi masalah-masalah yang terjadi pada Software SIAKAD tersebut. Sehingga dengan melakukan Software Testing yang ditugaskan pada Software Tester, masalah yang selama ini terjadi dapat tereduksi dan kualitas dari Software SIAKAD ini lebih baik.