Perencanaan Sistem Informasi

on Jumat, 21 Agustus 2009

A. Kebijakan dan Perencanaan Sistem Informasi.
Suatu sistem informasi dapat dikembangkan karena adanya kebijakan
dan perencanaan telebih dahulu. Tanpa adanya perencanaan sistem yang
baik, pengembangan sistem tidak akan dapat berjalan sesuai dengan yang
diharapkan. Tanpa adanya kebijakan pengembangan sistem oleh manajemen
puncak, maka pengembangan sistem tidak akan mendapat dukungan dari
manajemen puncak tersebut.
1. Kebijakan Sistem
Kebijakan untuk mengembangkan sistem informasi dilakukan oleh
manajemen puncak karena manajemen menginginkan untuk meraih
kesempatan-kesempatan yang ada yang tidak dapat diraih oleh sistem yang
lama atau sistem lama mempunyai kelemahan (masalah)
2. Perencanaan Sistem
Perencanaan sistem menyangkut estimasi sumberdaya (kebutuhan-
kebutuhan fisik dan tenaga kerja) dan biaya. Perencanaan sistem terdiri dari :
perencanaan jangka pendek (periode 1–2 tahun) dan jangka panjang
(periode sampai 5 tahun).
Perencanaan sistem biasanya ditangani oleh staf perencanaan sistem,
departemen pengembangan sistem atau depertemen pengolahan data.
Proses Perencanaan Sistem
Proses perencanaan sistem dapat dikelompokkan dalam tiga proses
utama, yaitu :

a. Merencanakan proyek-proyek sistem
Tahapan proses perencanaan sistem yaitu :
 Mengkaji tujuan, perencanaan strategi dan taktik perusahaan.
 Mengidentifikasi proyek-proyek sistem.
 Menetapkan sasaran proyek-proyek sistem.
 Menetapkan kendala proyek-proyek sistem (mis. Batasan biaya, waktu,umur ekonomis, peraturan yang berlaku).
 Menetukan prioritas proyek-proyek sistem.
 Membuat laporan perencanaan sistem.
 Meminta persetujuan manajemen.
b. Mempersiapkan proyek-proyek sistem yang akan dikembangkan.
Persiapan ini meliputi :
 Menunjuk team analis (dapat berasal dari departemen pengembangan
yang ada atau dari luar perusahaan (konsultan).
 Mengumumkan proyek pengembangan sistem.
c. Mendefinisikan proyek-proyek sistem yang dikembangkan.
Melakukan studi untuk mencari alternatif pemecahan terbaik yang paling
layak untuk dikembangkan. Tahapan yang dilakukan yaitu :
 Mengidentifikasi kembali ruang lingkup dan sasaran proyek sistem.
 Melakukan studi kelayakan.
 Menilai kelayakan proyek sistem.
 Membuat usulan proyek sistem.
 Meminta persetujuan
 Manajemen

d. Perkiraan Proyek Sistem Informasi.
Sekarang biaya merupakan elemen yang paling penting dan mahal dalam
pengembangan sistem berbasis komputer. Perkiraan biaya yang salah atau kurang tepat dapat mengurangi keuntungan atau malah kerugian.
Perkiraan biaya sistem informasi
dan usaha tidak dapat dihitung dengan tepat, karena banyak variabel (manusia, teknikal, lingkungan) yang mempengaruhinya.
Untuk mencapai perkiraan biaya dan usah yang dapat diandalkan, digunakan
pilihan sebagai berikut :
• Memperkirakan waktu yang paling lama dari pengerjaan proyek.
• Perkiraan berdasarkan pada proyek yang sama.
• Menggunakan teknik dekomposis.
• Menggunakan satu atau lebih model empiris.
• Memperkirakan waktu untuk menyelesaikan setiap kegiatan merupakan bagian yang paling sulit, untuk itu butuh pengalaman dalam memperkirakan waktu yang
diperlukan.
3. Proses pengembangan sistem informasi.
Dikembangkan oleh pelaku-pelaku yang dapat dikatagorikan dalam 5 kelompok :
a. Manajer senior, yang bertugas mendefinisikan permasalahan-permasalahan bisnis dan sangat berpengaruh pada proyek tersebut.
b. Manajer proyek (teknik), yang merencanakan, memotivasi, mengorganisasi dan mengontrol orang-orang yang bekerja dalam proyek tersebut (praktisi).
c. Praktisi, adalah orang yang mempunyai kemampuan teknis yang dibutuhkan untuk mendapatkan produk sistem informasi (program aplikasi).
d. Pelanggan, adalah orang yang membutuhkan sistem informasi (PL) tersebut.
e. Pengguna akhir, orang yang berinteraksi dengan sistem informasi (PL) yang dikaitkan dengan penggunaan produk.
B. Analisis dan Perencanaan Sistem Informasi.
Di era kompetitif ini, unggul dalam bersaing merupakan tujuan setiap perusahaan dan oraganisasi. Penggunaan teknologi informasi adalah salah satu cara untuk memenangkan persaingan.
Perencanaan sistem terdiri dari :
1. Perencanaan jangka pendek (periode 1-2 tahun).
2. Perencanaan jangka panjang (periode 5 tahun).
Perencanaan sistem biasanya ditangani oleh staf perencanaan sistem, departemen pengembangan sistem atau depertemen pengolahan data.
Merencanakan proyek-proyek sistem atau proses tahapan perencanaan sistem yaitu :
o Mengkaji tujuan, perencanaan strategi dan taktik perusahaan.
o Mengidentifikasi proyek-proyek sistem.
o Menetapkan sasaran proyek-proyek sistem.
o Menetapkan kendala proyek-proyek sistem (mis. Batasan biaya, waktu,umur ekonomis, peraturan yang berlaku)5. Menetukan prioritas proyek-proyek sistem.
o Membuat laporan perencanaan sistem.
o Meminta persetujuan manajemen.
o Mempersiapkan proyek-proyek sistem yang akan dikembangkan
Persiapan ini meliputi :
a. Menunjuk team analis (dapat berasal dari departem.
b. Pengembanganyang ada atau dari luar perusahaan (konsultan).
c. Mengumumkan proyek pengembangan sistem.
d. Mendefinisikan proyek-proyek sistem yang dikembangkan.
e. Melakukan studi untuk mencari alternatif.
f. Pemecahan terbaik yang paling layak untuk dikembangkan.
Tahapan yang dilakukan yaitu :
a. Mengidentifikasi kembali ruang lingkup dan sasaran proyek sistem.
b. Melakukan studi kelayakanMenilai kelayakan proyek sistem.
c. Membuat usulan proyek sistemMeminta persetujuan manajemen.

Testing dan Implementasi Sistem Informasi

on Sabtu, 01 Agustus 2009

A. Testing
1. Pengertian Testing
Testing adalah proses yang dibuat sedemikian rupauntuk mengidentifikasikan adanya ketidak sesuaian suatu hasil sebuah system informasi dengan apa yang diharapkan.
Berdasarkan pengertian diatas maka testing mempunyai beberapa tujuan antara lain :
a. Testing dilakukan untuk memastikan mutu dari suatu produk yaitu menguji apakah produk ( dalam hal ini system informasi) yang dihasilkan telah sesuai dengan mutu yang dipersyaratkan. Testing dilakukan untuk memastikan / menjaga muti suatu produk.
b. Testing juga bias berarti sebuah proses analisa dan etitas software. Pada testing ini bertujuan untuk mendeteksi adanya perbedaan antara kondisi software yang ada dengan kondisi yang diinginkan, untuk melihat kerusakan suatu produk dan melakukan evaluasi fitur-fitur dari member nama software.
2. Prinsip-prinsip Testing
Pelaksanaan suatu testing tergantung terhadap obyek yang akan dilakukan testing, sehingga pelaksanaan dan model testing sangat beragam.
Meskipun begitu terdapat beberapa hal yang perlu diketahui dalam pelaksanaan testing adalah sebagai berikut :
a. Pelaksanaan testing yang komplit tidak mungkin.
b. Testing merupakan pekerjaan yang kreatif dan sulit.
c. Alasan yang penting diadakan testing adalah untuk mencegah terjadinya eror.
d. Testing yang dilakukan biasanya berbasis pada resiko.
e. Testing harus direncanakan dan terjadwal.
f. Testing membutuhkan independensi (perlu adanya pihak ketiga yang terlibat).
B. Integrasi Testing ke Dalam Siklus Hidup Software
Secara umum, integrasi testing ke dalam siklus hidup software, dapat dituliskan ke dalam bentuk tahapan dari siklus hidup software, sebagai berikut :
1. Inisialisasi Proyek
a. Mengembangkan strategi tes secara garis besar.
b. Menetapkan pendekatan dan usaha tes secara keseluruhan.
2. Kebutuhan
a. Menetapkan kebutuhan testing.
b. Menetapkan penanggung jawab testing.
c. Mendisain prosedur tes dan tes berbasis kebutuhan, awal.
d. Melakukan tes dan validasi kebutuhan.
3. Disain antara
a. Menyiapkan rencana tes sistem dan spesifikasi disain, awal.
b. Menyelesaikan rencana acceptance test dan spesifikasi disain.
c. Menyelesaikan tes berdasarkan disain.
d. Melakukan tes dan validasi disain.
4. Pengembangan
a. Menyelesaikan rencana tes sistem.
b. Menyelesaikan prosedur tes dan tes berbasis kode, final.
c. Menyelesaikan disain modul atau unit tests.
d. Melakukan tes program.
e. Integrasi dan melakukan tes sub sistem.
f. Melakukan system test.
5. Implementasi
a. Melakukan acceptance test.
b. Tes perubahan dan perbaikan.
c. Evaluasi efektifitas testing.
6. Faktor penentu kasuksesan dari testing yang lainnya, adalah penerapan teknik testing secara tepat yang diadopsi dan digunakan pada sepanjang siklus hidup. Review merupakan alat bantu testing yang sangat bermanfaat untuk digunakan pada sepanjang siklus hidup.
Testing Dengan Review
Pada awalnya review adalah alat bantu pengendalian manajemen. Selama proyek berlangsung, manajemen memerlukan suatu penilaian dan pengukuran kinerja proses yang telah berlangsung. Jadi obyektifitas dari review adalah untuk mendapatkan informasi yang konsisten dan dapat dipercaya, biasanya berupa status dan atau kualitas kerja.
Terdapat banyak jenis dari review, yaitu : kebutuhan, spesifikasi, disain, coding, prosedural, dokumentasi, konversi, instalasi, implementasi, disain tes, prosedur tes dan rencana tes.
Review hadir dalam dua bentuk, yaitu (1) formal dan (2) tidak formal. Yang dipandang sebagai teknik testing adalah review dalam bentuk formal, dimana partisipan bertanggung jawab untuk melakukan kalkulasi secara akurat dan menghasilkan laporan dari apa yang telah mereka temukan bagi manajemen.
Rencana review secara minimum, harus terdiri dari :
a. Siapa saja yang diharapkan akan hadir.
b. Informasi yang dibutuhkan sebelum memulai review.
c. Kondisi awal yang harus dipenuhi sebelum review dilakukan.
d. Daftar kegiatan atau item atau indikasi lainnya yang bersangkutan dengan apa yang akan dibahas.
e. Kodisi akhir atau kriteria yang harus dipenuhi agar review dapat dinyatakan selesai.
f. Data dan dokumentasi disimpan.
Testing Kebutuhan
Testing suatu dokumen harus mempertimbangkan dua pertanyaan dasar, yaitu :
a) Apakah ada kebutuhan yang hilang?
• Apakah semua fungsi yang dibutuhkan telah dialamatkan dengan benar?
• Apakah kinerja yang dibutuhkan telah dispesifikasikan?
• Apakah kualitas software telah dispesifikasikan?
• Apakah software telah sepenuhnya didefinisikan?
b) Dapatkah suatu kebutuhan disederhanakan atau dihilangkan?
• Dapatkah kebutuhan dikombinasikan?
• Apakah ada kebutuhan yang sangat restriktif?
• Apakah ada kebutuhan yang redundansi atau kontradiksi?
Teknik-teknik yang berguna dalam testing kebutuhan, termasuk :
a) Matrik validasi kebutuhan.
b) Model atau prototipe.
c) Pengembangan secara bertahap.
d) Tabel keputusan dan grafik sebab dan akibat.
e) Penggrupan dan analisa kebutuhan.
Testing Disain Sistem
Sebagaimana pada testing kebutuhan, pada testing disain sistem juga mempunyai dua pertanyaan dasar, yaitu :
a) Apakah solusi merupakan pilihan yang benar?
• Dapatkah disain dicapai dengan lebih sederhana?
• Apakah merupakan pendekatan alternatif yang terbaik?
• Apakah merupakan cara tercepat untuk melakukan pekerjaan?
b) Apakah solusi memenuhi kebutuhan?
• Apakah semua kebutuhan telah dicakup dalam disain?
• Apakah merupakan disain kerja?
• Apasaja sumber dan resiko dari kegagalan?
Metode-metode yang dapat digunakan untuk menetapkan alternatif dan validasi disain, adalah :
c) Simulasi dan model.
d) Kompetisi disain.
e) Kebutuhan dan disain test cases berbasis disain.



Otomatisasi Testing
Otomatisasi testing adalah alat bantu yang digunakan untuk mempermudah proses dan dokumentasi tes, mengefisienkan eksekusi dari tes, dan mempermudah pengukuran pada tes. Sehingga diharapkan dapat memberikan peningkatan yang cukup besar dalam manajemen proses, meminimalkan keterlibatan manusia, dan replikasi pekerjaan.
Otomatisasi testing adalah area yang paling tinggi tingkat perkembangannya dalam industri testing. Mengapa otomatisasi testing dibutuhkan ?
1. Testing selalu dihadapkan pada masalah jadual yang ketat.
2. Testing sering diulang-ulang banyak kali.
3. Testing berkemungkinan untuk dijalankan selama 24 jam sehari, atau tidak pada jam kerja.
4. Testing dapat dilakukan dengan lebih cepat dan akurat, dimana ketidakkonsistenan manusia dapat diminimalkan.
5. Dokumentasi testing dapat dilakukan secara konsisten, sehingga dapat diaudit secara penuh dan berkala.
6. Script testing dapat menjadi aset yang dapat digunakan kembali untuk testing yang sama pada proyek testing yang lain.
7. Mempercepat dalam peninjauan kembali terhadap testing itu sendiri.
8. Dapat meningkatkan proses.
Otomatisasi testing hendaknya dimulai dari hal yang paling mudah terlebih dahulu, dan secara bertahap meningkatkan kompleksitas dari kasus yang diotomatisasi. Bagaimanapun, testing secara manual untuk beberapa kasus masih tetap diperlukan, dan pengembangan otomatisasi testing harus selalu berdasar pada pertimbangan-pertimbangan praktis.


Berdasarkan pada cara pengembangan otomatisasi tes, terdapat dua macam kelompok tes, yaitu :
a. Kesehatan Tes
• Jalankan sebelum testing secara keseluruhan dimulai, untuk menentukan apakah sistem layak untuk digunakan untuk testing secara keseluruhan.
• Jalankan secepatnya, kurang dari satu jam.
• Cek apakah ada kejutan yang tidak diinginkan terjadi.
b. Tes keseluruhan
• Selesaikan secara komplit rangkaian-rangkaian tes yang telah ditetapkan.
• Mungkin membutuhkan beberapa jam atau mungkin beberapa hari untuk menyelesaikannya.
Kelebihan dari otomatisasi testing, adalah sebagai berikut :
a. Mampu melakukan testing secara lebih menyeluruh, dan dapat meningkatkan kinerja regression testing.
b. Durasi waktu yang lebih pendek dalam pelaksanaan testing, sehingga dapat memperbanyak waktu pemasaran atau pun hal strategis lainnya.
c. Meningkatkan produktivitas dari pemakaian sumber daya, dimana tester sangat sulit didapatkan dan mahal. Disamping itu tingkat kepercayaan akan keberhasilan proyek testing pun dapat ditingkatkan.
d. Mengurangi kesalahan dan keteledoran tester, seperti tidak terdeteksinya error, kecerobohan dalam menekan tombol, dll.
e. Melakukan pencatatan secara detil tes log dan item-item yang diaudit, dimana semua hasil eksekusi tes dapat disimpan secara tepat dan teliti untuk proses debugging.
Sedangkan kekurangan dari otomatisasi tes, antara lain :
a. Membutuhkan waktu untuk inisialisasi tes.
b. Membutuhkan perawatan test cases, agar modifikasi tingkah laku sistem yang dilakukan dapat dijaga konsistensinya dengan yang lama, dan agar dapat menghindari keberadaan fitur yang tidak stabil.
c. Membutuhkan waktu beberapa minggu pembelajaran agar didapatkan tingkat kemampuan yang diharapkan.
d. Tetap tidak dapat sepenuhnya menghilangkan testing manual. Umumnya 50 - 75% test cases tidak dapat diotomatisasi (tergantung pada lingkungannya).
e. Membutuhkan biaya investasi yang dapat mencapai US$ 30000 untuk lisensi pengguna tunggal.
f. Terdapatnya batasan teknis, baik terhadap lingkungan sistem operasi, tipe aplikasi, waktu respon, dll.
g. Beberapa alat bantu otomatisasi masih berorientasi pada programmer, sehingga tidak cocok untuk pengguna akhir yang awam pemrograman.
h. Kesulitan dalam memfokuskan tes untuk diotomatisasi, dimana kasus-kasus yang beresiko tinggi dapat dicakup secara keseluruhan.
i. Kurangnya stabilitas dan dukungan, dimana kebanyakan vendor penyedia alat bantu otomatisasi tes tidak dapat dengan cepat merespon terhadap bug yang terjadi pada alat bantu tesebut, serta kurangnya ketersediaan pengguna yang berpengalaman dipasaran kerja
Organisasi harus menghindari hambatan-hambatan yang dapat menyebabkan kegagalan dari implementasi otomatisasi testing, dengan memastikan pemenuhan dari hal-hal sebagai berikut :
a. Identifikasi kebutuhan untuk melakukan otomatisasi testing, seperti (1) analisa biaya dari usaha untuk berpindah ke otomatisasi, (2) hasil analisa dari pengukuran yang mengindikasikan kebutuhan untuk meningkatkan kinerja testing dengan melakukan otomatisasi testing, dan (3) keluhan dari tester karena pelaksanaan tes ulang secara manual.
b. Dukungan organisasional, seperti (1) kecukupan sumber daya dan anggaran untuk memesan alat bantu, mengadakan pelatihan, dan melakukan evaluasi, (2) dukungan dan pemahaman manajemen secara mendasar.
c. Proses testing yang telah stabil (terdefinsi dan termanajemeni dengan baik), karena otomatisasi tes (1) tidak membantu dalam penentuan apa yang akan dites, dan tes mana yang akan diimplementasikan, tetap membutuhkan disain tes, (2) tidak dapat menertibkan kekacauan proses, (3) membutuhkan proses-proses pendukung lainnya, seperti manajemen konfigurasi dari data tes.

Referensi
http://www.google.co.id/search?hl=id&q=penerapan+testing+dan+implementasi&btnG=Telusuri+dengan+Google&meta=&aq=f&oq=
http://pksm.mercubuana.ac.id/modul/18019-1-168113516927.doc...

Definisi Testing software

Definisi Testing Software
• Testing software adalah proses mengoperasikan software dalam suatu kondisi yang dikendalikan, untuk verifikasi apakah telah berlaku sebagaimana telah ditetapkan, validasi apakah spesifikasi yang telah ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna yg 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 system, apakah proses yang telah 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 tidak terjadi dimana seharusnya mereka ada.