Testing dan Implementasi Sistem Informasi : Bab 7

PERANGKAT PENGUJIAN

Perangkat pengujian digunakan untuk membantu menentukan apakah factorfaktor
pengujian telah cukup dilakukan pada fase kebutuhan. Rekomendasi
yang diberikan untuk penggunaan perangkat pengujian adalah alat Bantu
walkthrough dan alat Bantu Mantriks Resiko.

Walkthrough
Tujuan penggunaan alat Bantu walkthrough menciptakan sebuah situasi
dimana suatu tim terdiri dari individu yang terlatih yang dapat menolong tim
proyek dalam pengembangan solusi proyek.
Walk through menggunakan pengalaman dan keputusan review tim sebagai
tambahan atau bantuan dalam proses pembangunan, berorientasi pada
bimbingan dalam pemecahan masalah dibandingkan dengan pemenuhan
pelaksanaan metodologi.

Lima langkah penggunaan alat bantu Walkthrough :
1. Menyusun aturan-aturan dasar
Aturan dasar bersifat umum, walkthrough paling produktif ketika aturan
dasar diterapkan sebelum walkthrough yang seseungguhnya. Aturan dasar
harus dimengerti oleh tim proyek maupun tim walkthrough.

Aturan dasar terdiri dari :
1. Ukuran dan susunan tim walkthrough
2. Tanggung jawab tim walkthrough (terbatas pada rekomendasi dan
pertanyaan)
3. Kewajiban tim proyek menjawab seluruh pertanyaan dan merespon
rekomendasi
4. Perkiraan waktu dan lokasi walkthrough
5. Kerahasiaan informasi yang didiskusikan
6. Aspek sistem yang tidak dapat dihadapi dan didiskusikan
7. Siapa yang akan menerima hasil walkthrough dan bagaimana hasil
tersebut dapat digunakan

2. Memilih tim/memberitahu partisipan
Tim walkthrough harus diseleksi berdasarkan tujuan yang akan dicapai.
Beberapa pihak yang terlibat (misalnya : user, service information dan senior
management) dapat merekomendasikan partisipan tim walkthrough. Hal ini
berdasarkan kepentingan proyek. Partisipan yang umum ada di dalam tim,
adalah :
1. Information Services Project Manager/analis sistem
2. Senior management
3. Operations management
4. User
5. Management
6. Konsultan yang sesuai. (Konsultan auditor internal, administrator
database, konsultan komputer independen)

3. Presentasi proyek
Tim proyek mempresentasikan kebutuhan proyek kepada tim walk through,
yang direpresentasikan adalah :
1. Pernyataan sasaran dan tujuan proyek,
2. Latar belakang informasi, termasuk statistic bisnis yang tepat dalam area
aplikasi yang sedang berjalan dan yang diajukan
3. Daftar pengecualian yang dibuat oleh tim proyek,
4. Mendiskusikan tentang alternative yang ada dan yang akan dipilih
5. Kebutuhan walkthrough menggunakan transaksi representative sebagai
basis untuk walkthrough

4. Pertanyaan/Rekomendasi
Tujuan pertanyaan/rekomendasi adalah untuk membangkitkan diskusi

5. Laporan akhir (optional)
Matriks Resiko
Matriks resiko adalah suatu alat bantu yang dirancang untuk menilai kecukupan
pengendalian dalam sistem komputer. Kendali disini berarti bahwa semua
mekanisme. Metode dan prosedur yang digunakan dalam aplikasi. Diperkirakan
bahwa sistem otomatisasi dalam pengendaliannya memerlukan setengah
usaha dari pengembangan secara keseluruhan. Oleh karena itu, usaha yang dikeluarkan untuk memastikan kelengkapan kendali merupakan hal yang penting bagi kesuksesan dan kredibilitas sistem aplikasi.

Empat langkah alat bantu matriks resiko :
1. Identifikasi tim resiko
Kunci untuk memperoleh matriks resiko yang benar adalah penetapan tim
resiko yang benar, siapa yang akan bertanggung jawab untuk melengkapi
matriks. Tujuan dari pelengkapan matriks adalah untuk menentukan
kelengkapan kebutuhan dan rencana kendali untuk mengurangi resiko
hingga level yang dapat diterima.

Tim resiko harus memiliki minimum keahlian :
1. Memiliki pengetahuan mengenai aplikasi user,
2. Mengerti konsep resiko,
3. Mampu mengidentifikasi kendali,
4. Terbiasa dengan resiko aplikasi dan resiko information services,
5. Mengerti konsep layanan informasi dan perancangan sistem,
6. Mengerti prosedur operasi komputer

Kandidat yang termasuk dalam tim resiko minimal satu dari user dan yang
lainnya dari : Internal auditor, konsultan resiko, pemroses data, petugas
keamanan, dan manajer operasi computer

2. Identifikasi resiko
Tujuan pertama dari tim resiko adalah untuk mengidentifikasi resiko
berorientasi aplikasi, bukan lingkungan, berkaitan dengan sistem aplikasi.
(Resiko yang berkaitan dengan seluruh aplikasi).
Terdapat dua metode untuk mengidentifikasi resiko :
a) Skenario analisis resiko
Tim resiko melakukan brainstorming resiko aplikasi yang potensial dengan
menggunakan pengalaman, penilaian dan pengetahuan mengenai wilayah
aplikasi.
b) Ceklist resiko
Tim resiko diberi sejumlah resiko yang kerap muncul dalam sebuah
aplikasi otomasi. Dari daftar tersebut, tim akan memilih resiko yang
mungkin.

3. Menetapkan objektif pengendalian (tahap requirement)
Tujuan pengendalian untuk setiap resiko harus ditetapkan, ketika kendali
dapat dinyatakan secara terukur, maka pengendallian tersebut untuk
mencapai tujuan memiliki kebutuhan untuk menggunakan kendali
keputusan. Kecukupan kendali tidak dapat diuji sampai tingkat kehilangan
resiko dapat diterima.

4. Mengidentifikasikan kendali pada setiap segmen sistem (Tahap perancangan)
Selama tahap perancangan, tim resiko akan mengidentifikasikan kendali
pada setiap tahap dari setiap aplikasi untuk setiap resiko yang diidentifikasi,
yaitu :
a) Keaslian : pembuatan dokumen sumber ditambah dengan otorisasi
berkaitan dengan transaksi keaslian tersebut
b) Masukan data : transfer informasi ke media yang dapat dibaca mesin
c) Komunikasi : perpindahan data dari satu titik dalam system ke titik yang
lain (perpindahan dapat berupa manual atau elektronik)
d) Pemrosesan : aplikasi logika system ke data
e) Penyimpanan : penyimpanan data, baik untuk waktu sementara maupun penyimpanan tetap
f) Keluaran : translasi data dari media computer ke median yang dapat dimengerti dan digunakan oleh manusia
g) Penggunaan : keputusan bisnis tergantung dari hasil pemrosesan system Penilaian yang digunakan dalam matriks resiko

1. Sangat Lengkap : tim proyek telah melakukan lebih dari yang diharapkan
untuk kriteria tersebut
2. Evaluasi yang lengkap : tim proyek telah melakukan kerja yang cukup untuk
memastikan kendali yang layak untuk kriteria tsb
3. Penilaian yang tidak lengkap : tim proyek belum melakukan kerja yang cukup
dan harus melakukan kerja lebih dalam daerah kriteria
4. Tidak dapat dipagai (Not Applicable – NA) : berkaitan dengan tipe aplikasi
atau filosofi perancangan sistem dimana implementasi kriteria tidak dapat
dipakai untuk aplikasi tersebut.

Testing dan Implementasi Sistem Informasi : Bab 6

TESTING DAN IMPLEMENTASI SISTEM

A. Pengujian Sistem Informasi
Setelah rancangan sistem informasi dibangun, kegiatan berikutnya adalah pembuatan program untuk sistem yang telah dirancang. Pemrograman merupakan kegiatan penulisan kode-kode program untuk dapat dijalankan atau dieksekusi oleh komputer. Program yang telah selesai dibangun tersebut kemudian dilakukan pengujian atau pengetesan. Pengujian program ini dilakukan untuk menemukan kesalahan-kesalahan yang mungkin terjadi saat program dijalankan.

Kesalahan-kesalahan yang mungkin terjadi saat pengujian program adalah sebagai berikut :
1. Kesalahan bahasa, yaitu kesalahan tentang bahasa program yang digunakan dalam merancang program tersebut. Seperti : program yang dirancang tidak sesuai dengan ketentuan yang ada di instansi tersebut.

2. Kesalahan sewaktu proses, yaitu kesalahan saat program dijalankan atau dieksekusi. Seperti : kesalahan dalam merelasikan/melookcup pada tabel lain.

3. Kesalahan logika, yaitu kesalahan dari logika program yang digunakan dalam membuat program tersebut. Seperti : logika dalam penghitungan total dp dalam rupiah tidak sesuai, sehingga sisa pembayaran tidak akurat.

Pengujian program dilakukan melalui dua tahap yaitu :
1. Pengujian terhadap modul-modul program, seperti pengujian pada menu program atau sub menu utama.

2. Pengujian unit atau pengujian program, yaitu pengujian terhadap unit suatu program yang bertujuan untuk mengintegrasikan antar semua modul tanpa adanya kesalahan lagi.

Dalam pengujian sistem informasi penjualan mobil ini penulis telah melakukan pengujian di labor kampus STMIK Indonesia Padang dengan disaksikan pembimbing I. Dari pengujian tersebut dapat disimpulkan bahwa :
1. Program yang dirancang sudah berjalan dengan baik dan tidak terdapat kesalahan.

2. Pada item laporan, dapat dihasilkan dengan menginputkan tanggal mulai dan tanggal akhir. Dari kedua item tersebut menghasilkan laporan customer, kendaraan, penjualan dan piutang per periode.

3. Dari laporan tersebut dapat dilihat kendaraan yang sudah terjual atau belum serta jumlah penjualan tunai dan penjualan kredit dalam periode tertentu.

B. Implementasi Sistem Informasi
Implementasi adalah kegiatan yang dilakukan setelah proses pengujian selesai dilaksanakan.

Kegiatan implementasi merupakan tahap sistem yang telah dibagun untuk dioperasikan. Perangkat yang diperlukan untuk implementasi sistem adalah sebagi berikut :
1. Personil adalah orang-orang yang terlibat dalam implementasi sistem tersebut. Baik itu yang akan dijalankan ataupun tenaga yang akan melatih untuk menjalankan sistem tersebut.

2. Tempat implementasi sistem merupakan tempat yang akan diterapkannya sistem ini.

3. Perangkat merupakan alat-alat yang akan digunakan dalam implementasi sistem, seperti software dan hardware.

Dalam implementasi sistem informasi penjualan mobil ini tidak dapat dilaksanakan pada instansi yang bersangkutan karena adanya hambatan-hambatan yang tidak memungkinkan untuk diimplementasikannya sistem ini. Hambatan yang terjadi antara lain :
1. Keterbatasannya perangkat-perangkat untuk mengimplementasikan sistem, seperti tidak mendukung fasilitas yang tedapat pada instansi tesebut.

2. Keterbatasan waktu dan biaya yang tidak memungkinkan diadakannya implementasi pada instansi tersebut.

C. Hasil Pengujian Sistem Informasi

1. Form Menu Utama
Form ini digunakan untuk membuka form-form yang ada di menu File, Data, Transaksi dan Report. Selengkapnya dapat dilihat pada gambar 5.1 berikut :

Image

Gambar 5.1 Tampilan menu utama

2. Form Login
Form ini digunakan untuk menghubungkan form dengan database serta untuk membatasi hak akses user. Form diisi sesuai jenis user, seperti pada gambar 5.2 berikut :

Image

3. Form Entry Customer
Form ini digunakan untuk menginputkan data lengkap customer sesuai dengan proses 1 pada DFD level 1. Selengkapnya dapat dilihat pada gambar 5.3 berikut :

Image

4. Form Pencarian Customer Per Nomor Customer
Form ini digunakan untuk pencarian customer per nomor customer. Selengkapnya dapat dilihat pada gambar 5.4 berikut :

Image

5. Form Kendaraan Masuk
From ini digunakan untuk menginputkan data lengkap kendaraan masuk sesuai dengan proses 2 pada DFD level 1. selengkapnya dapat dilihat pada gambar 5.5 berikut :

Image

6. Form Transaksi Penjualan
a. Transaksi Penjualan Tunai
Form ini digunakan untuk memproses transaksi penjualan tunai pada entry data transaksi penjualan. Selengkapnya dapat dilihat pada gambar 5.6 berikut :

Image

7. Transaksi Penjualan Kredit
From ini digunakan untuk memproses transaksi penjualan kredit pada entry data transaksi penjualan. Proses ini dilakukan apabila mengklik tombol combobox pada jenis penjualan. Selengkapnya dapat dilihat pada gambar 5.7 berikut :

Image

8. Form Browse Penjualan
Form ini digunakan untuk menampilakan seluruh transaksi penjualan. Selngkapnya dapat dilihat pada gambar 5.8 berikut :

Image

9. Transaksi Pelunasan
Proses pada form ini dilakukan setelah terjadinya proses pelunasan piutang yang diberikan lembaga keuangan. Selengkapnya dapat dilihat pada gambar 5.9 berikut :

Image

10. Form Setting Data Customer
Form ini digunakan untuk mencetak laporan data customer secara keseluruhan. Selengkapnya dapat dilihat pada gambar 5.10 berikut:

Image

11. Form Setting Data Kendaraan
Form ini digunakan untuk mencetak data laporan kendaraan kendaraan per periode. Selengkapnya dapat dilihat pada gambar 5.11 :

Image

12. Form Setting Penjualan
Form ini digunakan untuk mencetak laporan data transaksi penjualan secara per periode. Selengkapnya dapat dilihat pada gambar 5.12 :

Image

13. Form Setting Piutang
Form ini digunakan untuk mencetak laporan piutang secara per periode. Selengkapnya dapat dilihat pada gambar 5.13 :

Image

14. Form Setting Kwitansi
Form ini digunakan untuk mencetak kwitansi pembayaran penjualan tunai dan kredit. Selengkapnya dapat dilihat pada gambar 5.14:

Image

15. Hasil Cetak Laporan Customer
Image

16. Hasil Cetak Laporan Kendaraan

Image

17. Hasil Cetak Laporan Penjualan

Image

18. Tampiln Cetak Laporan Piutang

Image

19. Hasil Cetal Kwitansi Tunai

Image

20. Hasil Cetak Kwitansi Kredit

Image

Testing dan Implementasi Sistem Informasi : Bab 5

TESTING DAN IMPLEMENTASI SISTEM

A. Pengujian Sistem Informasi
Setelah rancangan sistem informasi dibangun, kegiatan berikutnya adalah pembuatan program untuk sistem yang telah dirancang. Pemrograman merupakan kegiatan penulisan kode-kode program untuk dapat dijalankan atau dieksekusi oleh komputer. Program yang telah selesai dibangun tersebut kemudian dilakukan pengujian atau pengetesan. Pengujian program ini dilakukan untuk menemukan kesalahan-kesalahan yang mungkin terjadi saat program dijalankan.

Kesalahan-kesalahan yang mungkin terjadi saat pengujian program adalah sebagai berikut :
1. Kesalahan bahasa, yaitu kesalahan tentang bahasa program yang digunakan dalam merancang program tersebut. Seperti : program yang dirancang tidak sesuai dengan ketentuan yang ada di instansi tersebut.

2. Kesalahan sewaktu proses, yaitu kesalahan saat program dijalankan atau dieksekusi. Seperti : kesalahan dalam merelasikan/melookcup pada tabel lain.

3. Kesalahan logika, yaitu kesalahan dari logika program yang digunakan dalam membuat program tersebut. Seperti : logika dalam penghitungan total dp dalam rupiah tidak sesuai, sehingga sisa pembayaran tidak akurat.

Pengujian program dilakukan melalui dua tahap yaitu :
1. Pengujian terhadap modul-modul program, seperti pengujian pada menu program atau sub menu utama.

2. Pengujian unit atau pengujian program, yaitu pengujian terhadap unit suatu program yang bertujuan untuk mengintegrasikan antar semua modul tanpa adanya kesalahan lagi.

Dalam pengujian sistem informasi penjualan mobil ini penulis telah melakukan pengujian di labor kampus STMIK Indonesia Padang dengan disaksikan pembimbing I. Dari pengujian tersebut dapat disimpulkan bahwa :
1. Program yang dirancang sudah berjalan dengan baik dan tidak terdapat kesalahan.

2. Pada item laporan, dapat dihasilkan dengan menginputkan tanggal mulai dan tanggal akhir. Dari kedua item tersebut menghasilkan laporan customer, kendaraan, penjualan dan piutang per periode.

3. Dari laporan tersebut dapat dilihat kendaraan yang sudah terjual atau belum serta jumlah penjualan tunai dan penjualan kredit dalam periode tertentu.

B. Implementasi Sistem Informasi
Implementasi adalah kegiatan yang dilakukan setelah proses pengujian selesai dilaksanakan.

Kegiatan implementasi merupakan tahap sistem yang telah dibagun untuk dioperasikan. Perangkat yang diperlukan untuk implementasi sistem adalah sebagi berikut :
1. Personil adalah orang-orang yang terlibat dalam implementasi sistem tersebut. Baik itu yang akan dijalankan ataupun tenaga yang akan melatih untuk menjalankan sistem tersebut.

2. Tempat implementasi sistem merupakan tempat yang akan diterapkannya sistem ini.

3. Perangkat merupakan alat-alat yang akan digunakan dalam implementasi sistem, seperti software dan hardware.

Dalam implementasi sistem informasi penjualan mobil ini tidak dapat dilaksanakan pada instansi yang bersangkutan karena adanya hambatan-hambatan yang tidak memungkinkan untuk diimplementasikannya sistem ini. Hambatan yang terjadi antara lain :
1. Keterbatasannya perangkat-perangkat untuk mengimplementasikan sistem, seperti tidak mendukung fasilitas yang tedapat pada instansi tesebut.

2. Keterbatasan waktu dan biaya yang tidak memungkinkan diadakannya implementasi pada instansi tersebut.

C. Hasil Pengujian Sistem Informasi

1. Form Menu Utama
Form ini digunakan untuk membuka form-form yang ada di menu File, Data, Transaksi dan Report. Selengkapnya dapat dilihat pada gambar 5.1 berikut :

Image

Gambar 5.1 Tampilan menu utama

2. Form Login
Form ini digunakan untuk menghubungkan form dengan database serta untuk membatasi hak akses user. Form diisi sesuai jenis user, seperti pada gambar 5.2 berikut :

Image

3. Form Entry Customer
Form ini digunakan untuk menginputkan data lengkap customer sesuai dengan proses 1 pada DFD level 1. Selengkapnya dapat dilihat pada gambar 5.3 berikut :

Image

4. Form Pencarian Customer Per Nomor Customer
Form ini digunakan untuk pencarian customer per nomor customer. Selengkapnya dapat dilihat pada gambar 5.4 berikut :

Image

5. Form Kendaraan Masuk
From ini digunakan untuk menginputkan data lengkap kendaraan masuk sesuai dengan proses 2 pada DFD level 1. selengkapnya dapat dilihat pada gambar 5.5 berikut :

Image

6. Form Transaksi Penjualan
a. Transaksi Penjualan Tunai
Form ini digunakan untuk memproses transaksi penjualan tunai pada entry data transaksi penjualan. Selengkapnya dapat dilihat pada gambar 5.6 berikut :

Image

7. Transaksi Penjualan Kredit
From ini digunakan untuk memproses transaksi penjualan kredit pada entry data transaksi penjualan. Proses ini dilakukan apabila mengklik tombol combobox pada jenis penjualan. Selengkapnya dapat dilihat pada gambar 5.7 berikut :

Image

8. Form Browse Penjualan
Form ini digunakan untuk menampilakan seluruh transaksi penjualan. Selngkapnya dapat dilihat pada gambar 5.8 berikut :

Image

9. Transaksi Pelunasan
Proses pada form ini dilakukan setelah terjadinya proses pelunasan piutang yang diberikan lembaga keuangan. Selengkapnya dapat dilihat pada gambar 5.9 berikut :

Image

10. Form Setting Data Customer
Form ini digunakan untuk mencetak laporan data customer secara keseluruhan. Selengkapnya dapat dilihat pada gambar 5.10 berikut:

Image

11. Form Setting Data Kendaraan
Form ini digunakan untuk mencetak data laporan kendaraan kendaraan per periode. Selengkapnya dapat dilihat pada gambar 5.11 :

Image

12. Form Setting Penjualan
Form ini digunakan untuk mencetak laporan data transaksi penjualan secara per periode. Selengkapnya dapat dilihat pada gambar 5.12 :

Image

13. Form Setting Piutang
Form ini digunakan untuk mencetak laporan piutang secara per periode. Selengkapnya dapat dilihat pada gambar 5.13 :

Image

14. Form Setting Kwitansi
Form ini digunakan untuk mencetak kwitansi pembayaran penjualan tunai dan kredit. Selengkapnya dapat dilihat pada gambar 5.14:

Image

15. Hasil Cetak Laporan Customer
Image

16. Hasil Cetak Laporan Kendaraan

Image

17. Hasil Cetak Laporan Penjualan

Image

18. Tampiln Cetak Laporan Piutang

Image

19. Hasil Cetal Kwitansi Tunai

Image

20. Hasil Cetak Kwitansi Kredit

Image

Testing dan Implementasi Sistem Informasi : Bab 4

PELAKSANAAN PENGUJIAN

Strategi pengujian dilakukan untuk mengintegrasikan metode perancangan kasus
pengujian software ke dalam langkah-langkah terencana yang tersusun rapi sehingga
menghasilkan konstruksi software yang sukses. Yang terpenting adalah strategi
pengujian software menyediakan jalan bagi software developer, organisasi penjamin
kualitas dan pelanggan karena mendeskripsikan langkah-langkah yang akan dipakai
sebagai bagian dari pengujian.

Langkah-langkah ini direncanakan dan kemudian dijalankan sehingga dapat diketahui
berapa banyak usaha, waktu dan sumber daya yang akan diperlukan. Oleh karena itu,
strategi pengujian manapun harus menyertakan perencanaan pengujian, desain kasus
pengujian, pelaksanaan pengujian dan koleksi serta evaluasi data resultan.

Sasaran dari pengujian adalah mengurangi resiko yang terlihat dalam system computer.
Strategi pengujian harus mengacu pada resiko dan memberikan proses yang dapat mengurangi resiko tersebut.

Karakteristik Umum
Karakteristik yang ditemui dalam menentukan strategi pengujian adalah :
· Testing dimulai pada level modul dan bekerja keluar ke arah integrasi pada sistem
berbasiskan komputer
· Teknik testing yang berbeda sesuai dengan poin-poin yang berbeda pada waktunya
· Testing diadakan oleh software developer dan untuk proyek yang besar oleh group
testing yang independent
· Testing dan Debugging adalah aktivitas yang berbeda tetapi debugging harus
diakomodasikan pada setiap strategi testing

Strategi Pengujian
Jenis pengujian yang dapat dilakukan adalah :
1. Pengujian unit program
Pengujian difokuskan pada unit terkecil dari suatu modul program. Dilaksanakan dengan menggunakan driver dan stub. Driver adalah suatu program utama yang berfungsi mengirim atau menerima data kasus uji dan mencetak hasil dari modul yang diuji. Stub adalah modul yang menggantikan modul sub-ordinat dari modul yang diuji.

2. Pengujian integrasi
Pengujian terhadap unit-unit program yang saling berhubungan (terintegrasi) dengan focus pada masalah interfacing. Dapat dilaksanakan secara top-down integration atau bottom-up integration.

3. Pengujian validasi
Pengujian ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan. Suatu validasi dikatakan sukses jika perangkat lunak berfungsi pada cara yang diharapkan oleh pemakai.

4. Pengujian sistem
Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer.
Jenis pengujian yang dilakukan pada saat melakukan pengujian sistem, yaitu :
· Recovery testing
Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diuji kenormalannya.
· Security testing
Dilakukan untuk menguji mekanisme proteksi
· Stress testing
Pengujian yang dirancang untuk menghadapkan suatu perangkat lunak kepada situasi yang tidak normal.
· Performance testing

Pengujian dilakukan untuk mengetahui kinerja dari sistem
Hal-hal yang diujikan selama pengujian :
1. Antarmuka modul
Memastikan bahwa informasi yang berasal dari dan keluar dari modul yang diuji mengalir dengan benar

2. Struktur Data Lokal
1) Memastikan bahwa data yang disimpan sementara terjaga integritasnya selama eksekusi perintah dalam modul

2) Mencari kesalahan-kesalahan dalam bentuk :
a) Penggunaan tipe data yang tidak tepat
b) Inisialisasi yang salah atau nilai pasti (default) yang salah
c) Nama peubah yang salah
d) Underflow, overflow, dan addressing exceptions

3. Kondisi Batas
Memastikan bahwa modul beroperasi dengan benar pada batas-batas pemrosesan
yang ditentukan

4. Jalur-jalur Bebas
1) Memastikan bahwa semua kemungkinan jalur kontrol yang mungkin dieksekusi
dengan benar paling tidak sekali
2) Mencari kesalahan-kesalahan dalam bentuk :
a) Penghitungan/pemrosesan yang salah
b) Pembandingan yang salah
c) Jalur kontrol yang tidak tepat

5. Jalur-jalur penanganan kesalahan
1) Perancangan perangkat lunak yang baik menuntut agar kondisi salah dapat
diantisipasi dan memiliki penanganan kesalahan agar pemrosesan dapat
berhenti dengan bersih (antibugging) -> Yourdon
2) Mencari kesalahan-kesalahan dalam bentuk :
a) Jenis kesalahan tidak dapat dipahami
b) Pemberitahuan kesalahan tidak sesuai dengan kesalahan yang dialami
c) Kondisi kesalahan menyebabkan intervensi sistem sebelum penanganan
kesalahan dilakukan
d) Penanganan kesalahan tidak benar
e) Jenis kesalahan tidak memberikan informasi yang cukup untuk mencari
sumber kesalahan

Langkah Pengujian

Ketika akan melakukan pengujian terdapat beberapa hal yang harus diperhatikan, yaitu :
1. Menspesifikasikan kebutuhan (requirement) produk dalam bentuk yang dapat diukur (quantifiable) jauh sebelum pengujian dimulai.

2. Menyatakan tujuan pengujian secara eksplisit.

3. Memahami pengguna perangkat lunak dan membuat profil dari tiap kategori pengguna.

4. Membuat rencana pengujian yang menekankan pada rapid cycle testing.

5. Membuat perangkat lunak robust yang dapat menguji dirinya sendiri.

6. Menggunakan formal technical review sebagai penyaring sebelum pengujian dilakukan.

7. Menggunakan formal technical review untuk menilai strategi pengujian dan kasus uji.

8. Mengembangkan ancangan peningkatan berlanjut untuk proses pengujian.

Proses Pengujian
Tipe-tipe pengujian yang dapat dilakukan yaitu :
1. System Testing
Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system

2. Acceptance Testing
a. Pengujian terakhir sebelum sistem dipakai oleh user.
b. Melibatkan pengujian dengan data dari pengguna sistem.
c. Biasa dikenal sebagai “alpha test” (“beta test” untuk software komersial, dimana pengujian dilakukan oleh potensial customer)

3. Component testing
a. Pengujian komponen- komponen program
b. Biasanya dilakukan oleh component developer (kecuali untuk system kritis)

4. Integration testing
a. Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk sub-system ataupun system
b. Dilakukan oleh tim penguji yang independent
c. Pengujian berdasarkan spesifikasi sistem

TAHAPAN PENGUJIAN
Langkah-langkah yang seharusnya dilakukan ketika melakukan pengujian, adalah :
1. Menentukan apa yang akan diukur melalui pengujian

2. Menentukan bagaimana pengujian akan dilaksanakan

3. Membangun suatu kasus uji (test case), yaitu sekumpulan data atau situasi yang akan digunakan dalam pengujian.

4. Menentukan hasil yang diharapkan atau hasil sebenarnya

5. Menjalankan kasus pengujian

6. Membandingkan hasil pengujian dan hasil yang diharapkan.

Di awal melakukan pengujian, hal pertama yang harus dilakukan adalah membuat
rencana pengujian, yang mencakup hal-hal berikut :
· Proses testing
Mendeskripsi fase-fase utama dalam pengujian

· Pelacakan Kebutuhan
Menentukan semua kebutuhan user yang akan diujikan secara individu

· Item yg diuji
Menspesifikasi komponen sistem yang diuji

· Jadual testing

· Prosedur Pencatatan Hasil dan Prosedur

· Kebutuhan akan Hardware dan Software

· Kendala-kendala
Menentukan hal-hal yang akan mengganggu pengujian, seperti : kekurangan, staff, alat, waktu dll.

Pengujian Tahapan Analisis
Pengujian pada tahapan ini lebih menekankan pada validasi terhadap kebutuhan
perangkat lunak, untuk menjamin bahwa kebutuhan telah dispesifikasikan dengan benar.
Tujuan pengujian pada tahap ini adalah untuk mendapatkan kebutuhan yang layak dan
untuk memastikan apakah kebutuhan tersebut sudah dirumuskan dengan baik.
Faktor-faktor pengujian yang dilakukan meliputi :
• Kebutuhan yang berkaitan dengan metodelogi

• Pendefinisian spesifikasi fungsional

• Penentuan spesifikasi kegunaan

• Penentuan kebutuhan portabilitas

• Pendefinisian antar muka sistem.

Pengujian Tahapan Desain
Pengujian pada tahapan ini bertujuan untuk menguji struktur perangkat lunak yang
diturunkan dari kebutuhan perangkat, kebutuhan yang bersifat umum dirinci menjadi
bentuk yang lebih spesifik .

Faktor-faktor pengujian yang dilakukan meliputi :
• Perancangan yang berkaitan dengan kebutuhan
• Kesesuaian perancangan dengan metodologi dan teori.
• Portabilitas rancangan
• Perancangan yang dirawat
• Kebenaran rancangan berkaitan dengan fungsi dan aliran data.
• Kelengkapan perancangan antar muka.

Pengujian Tahapan Implementasi
Merupakan pengujian unit-unit yang dibuat sebelum diintegrasikan mejadi aplikasi
secara keseluruhan.

Faktor-faktor pengujian tahap implementasi meliputi :
• Kendali integritas data
• Kebenaran program
• kemudahan pemakaian
• Sifat coupling
• Pengembangan prosedur operasi.

Pengujian Tahapan Pengujian
Pengujian pada tahapan ini dilakukan untuk menilai apakah spesifikasi program telah
ditulis menjadi instruksi-instruksi yang dapat dijalankan pada mesin/komputer. Selain itu,
juga untuk menilai apakah instruksi yang ditulis tersebut telah sesuai dengan spesifikasi
program.

Faktor-faktor pengujian tahap ini meliputi :
• Pengujian fungsional
• Dukungan manual
• Kemudahan operasi

Testing dan Implementasi Sistem Informasi : Bab 3

Memproduksi PL

Materi

  1. Memproduksi perangkat lunak berkualitas tinggi,
  2. Merencanakan proyek siklus hidup pengembangan perangkat lunak
  3. Produktivitas perangkat lunak
  4. Memproduksi perangkat lunak berkualitas tinggi,

• Sasaran akhir pengembangan perangkat lunak adalah
untuk menghasilkan perangkat lunak berkualitas
tinggi pada tingkat produktivitas tinggi yang memberi
nilai tambah kepada perusahaan.

Apa yang dimaksud dengan
kualitas PL ?
Ada tiga dimensi untuk mengukur kualitas
1. Faktor kinerja, dari sudut pandang end user
2. Faktor rancangan MURRE
3. Faktor Strategik PDM

1. Faktor kinerja, dari sudut pandang end user
a) Kinerja pengoperasian keseluruhan
b) Kemudahan pembelajaran
c) Pengontrolan dan penanganan kesalahan
d) Dukungan dari pembuat dan pemelihara perangkat lunak.

2. Faktor rancangan MURRE
(Maintainability,Usability, reusability,reliability, extandability)
a) Kemungkinan pemeliharaan (Maintainability)
b) Kemungkinan penggunaan (Usability)
c) Kemungkinan penggunaan ulang (Reusability)
d) Kehandalan (Reliability)
e) Kemungkinan perluasan (Extendability)

3. Faktor Strategik PDM
a) Meningkatkan produktivitas (Productivity)
b) Menambah keragaman produk dan pelayanan
(Development)
c) Meningkatkan fungsi manajemen (Management)
Apa yang dimaksud dengan Jaminan Kualitas
(QA)
• Adalah memastikan bahwa SWDLC yang digunakan
dalam pengembangan perangkat lunak berkualitas
sesuai dengan standar yang telah ditetapkan bagi
produk tersebut.
• Pada skala yang lebih luas, jaminan kualitas
mencakup pemonitoran terus menerus terhadap
semua tahap-tahap pengembangan sistem dan
perangkat lunak dari perencanaan sampai
implementasi, dan pengoreksian terhadap proses
pengembangan sistem dan perangkat lunak.
Apa yang dimaksud dengan pengendalian
kualitas
• Pengendalian Kualitas (Quality Control) memfokuskan
pada produk, yaitu apa yang dihasilkan. Pengendalian
kualitas mengevaluasi sistem dan perangkat lunak
setelah dikembangkan.
• Kualitas harus dirancang ke dalam sistem dan
perangkat lunak ketika mereka sedang dibuat, bukan
setelah pembuatannya selesai. Jadi jaminan kualitas
adalah teknik pencegahan kesalahan, sedangkan
pengendalian kualitas merupakan teknik
penghapusan kesalahan.
Menciptakan kelompok Jaminan Kualitas
(QA)
• Kelompok QA yang independen terbentuk atas wakil-wakil end
user, analis sistem, perancang sistem, programmer terampil,
yang semuanya tidak tergantung pada developer (pembuat).

• Tugas-tugas QA mencakup :
– Menetapkan standar untuk pengembangan sistem dan
perangkat lunak (SDLC dan SWDLC)
– Mengevaluasi laporan terdokumentasi yang siap
diserahkan.
– Menjalankan tahapan pemeriksaan rancangan sistem dan
perangkat lunak.
– Melakukan tahapan pemeriksaan pengkodean.
– Menjalankan pengujian.

Merencanakan Proyek Siklus Hidup
Pengembangan Perangkat Lunak (SWDLC)
• Manajer Proyek membuat jadwal dan memonitor
semua tugas yang diperlukan untuk menyelesaikan
SWDLC, dan Teknik yang digunakan adalah Teknik
Tinjauan dan Evaluasi Program (Program Evaluation
Review and Technic atau PERT).
• Sasaran PERT adalah untuk menentukan rangkaian
atau urutan pelaksanaan tugas pengembangan
perangkat lunak dan untuk mengestimasi lamanya
waktu yang diperlukan dari awal sampai selesainya
pelaksanaan tugas.
• Lamanya proyek yang terdiri atas serangkaian tugas
yang harus dijalankan secara urut merupakan jalur
kritis (critical path) dari proyek tersebut.

• Empat langkah menyusun jaringan PERT pengembangan perangkat lunak :
1. Mengidentifikasi semua tugas pengembangan perangkat lunak yang harus dijalankan.
2. Mengestimasi waktu yang diperlukan untuk menjalankan setiap tugas.
3. Menentukan atau menetapkan rangkaian tugas.
4. Menentukan jalur kritis yang akan menunjukkan waktu pengembangan perangkat lunak.

Testing dan Implementasi Sistem Informasi : Bab 2

Pengembangan Perangkat Lunak

Materi
1. Pengembangan PL
2. Sumber perangkat lunak aplikasi,
3. Mengorganisir proyek pengembangan perangkat
lunak,
4. Merancang dan memprogram perangkat lunak.
5. Mengukur produktivitas dalam pengembangan
perangkat lunak

1.Pengembangan PL
• Pengembangan perangkat lunak (Software
development) merupakan salah satu dari tahap
rancangan sistem rinci/detail dari Siklus Hidup
Pengembangan Sistem (Software Development Life
Cycle atau SDLC).

Software Development System

Image

System Development Life Cycle

Image

SUMBER PERANGKAT LUNAK APLIKASI

Sumber PL
PL dapat diperoleh melalui :
1. Perangkat Lunak Komersial dari Vendor
2. Perangkat Lunak Pesanan (customized software)
dikembangkan secara in-house atau oleh kontraktor
pemrograman independen

1.Perangkat Lunak Komersial dari
Vendor
• Paket (off-the-self) yang tersedia dapat diterapkan
dalam berbagai kebutuhan bisnis.
• Beberapa paket bersifat generik dan multifungsional
yang memungkinkan para pemakai memprogram
sofware tersebut untuk kebutuhannya sendiri.
• Paket-paket tersebut mengotomisasi fungsi-fungsi
bisnis dasar yang umumnya tidak terlalu bervariasi
dari satu organisasi dengan organisasi lain.
• Contoh jenis paket adalah spreadsheet dan DBMS.

Keuntungan dari Perangkat Lunak Komersial
1. Implementasi yang cepat

2. Penghematan Biaya

3. Estimasi biaya dan waktu di ketahui

4. Reliabilitas (telah diuji secara teliti)
1. Implementasi yang cepat
• Software tersebut bersifat siap, teruji, dan
terdokumentasi.
• Paket yang dibeli biasanya pengimplementasiannya
jauh lebih cepat dari pada mengembangkan program yang sama secara in-house atau menyuruh kontraktor independen untuk mengembangkannya sehingga secara potensial membantu memecahkan backlog (penimbunan pekerjaan yang belumselesai).

2. Penghematan Biaya
• Satu paket perangkat lunak komersial bisa
dijual kepada banyak organisasi sehingga
biaya pengembangan ditanggung oleh banyak
pemakai, dan biaya total suatu paket akan
lebih murah dari pada program pesanan yang
sama.

3. Estimasi biaya dan waktu di ketahui
• Biaya atau harga paket komersial telah
diketahui, dan tanggal
pengimplementasian-nya mudah
diestimasi.
• Sebaliknya program pesanan biasanya
cenderung melampaui estimasi waktu
dan biaya.

4. Reliabilitas (telah diuji secara teliti)
• Sebelum diterbitkan di pasaran umum,
paket perangkat lunak komersial pasti
telah diuji secara teliti. Melalui
penggunaan yang ekstensif oleh
sejumlah organisasi, segala kesalahan
yang dijumpai telah dideteksi dan
dikoreksi sehingga peluang kesalahannya
lebih sedikit.

Kerugian/kelemahan
1. Kesesuaian Rancangan sistem yang tidak baik

2. Ketergantungan Vendor

3. Biaya tidak langsung dari kerusakan SDLC
1. Kesesuaian Rancangan sistem yang tidak baik
• Paket software komersial dibuat untuk berbagai organisasi,
dan tidak untuk organisasi tertentu maka paket ini mungkin
mempunyai beberapa fungsi yang tidak diperlukan atau
mungkin tidak mempunyai fungsi yang diperlukan sehingga
paket tersebut harus dimodifikasi.
• Jika vendor tidak membuat kode sumber (source code) yang
bisa digunakan untuk penyesuaian dan tidak menyediakan
layanan penyesuaian maka rancangan sistem mungkin harus
diubah agar sesuai dengan paket tersebut.
• Jika hal ini terjadi sebaiknya mengembangkan program
secara in-house agar programnya bisa memenuhi spesifikasi
rancangan sistem yang tepat.

2. Ketergantungan Vendor
• Jika organisasi memerlukan perubahan paketnya
maka organisasi akan tergantung pada vendor dalam
perolehan dukungannya, dan jika vendor telah tiada
maka organisasi akan kesulitan mencari
dukungannya.

3. Biaya tidak langsung dari kerusakan SDLC
• Seringkali apa yang ingin dicapai, manajemen tidak
melaksanakan SDLC menyeluruh atau mungkin
melewati tahap SDLC, dan secara langsung menuju ke
paket perangkat lunak komersial Strategi ini seringkali
mengakibatkan paket perangkat lunak komersial tidak
berjalan sesuai yang diharapkan dan masalah sistem
serta organisasional yang terjadi sebelum
implementasi paket tersebut tetap muncul sehingga
menimbulkan kesulitan atau harus dibayar kemudian
yaitu adanya peningkatan biaya implementasi,
operasi, dan pemeliharaan.
Menyiapkan permohonan untuk proposal
berorientasi kinerja
• Terkait dengan pemerolehan (akuisisi) perangkat lunak
komersial maka perlu membuat atau menyiapkan
Permohonan Proposal (Request For Proposal atau RFP)
berorientasi kinerja untuk menyeleksi vendor dan paket
perangkat lunak komersial yang tepat.
• Faktor-faktor evaluasi mencakup pemenuhan spesifikasi
rancangan detail untuk output, input, proses, dan database
serta cocok dengan batasan waktu dan biayanya, juga
penggunaan benchmark yang mensimulasi kebutuhan sistem
baru (bentuk prototyping) harus diterapkan pada setiap
paket dari vendor.

4. Perangkat Lunak Pesanan (customized software)
• Jika sistem yang sedang dikembangkan tidak bisa
didukung oleh paket software maka harus memesan
dari perusahaan jasa/kontraktor independen atau
membangun sendiri perangkat lunak (in-house) agar
sesuai dengan rancangan sistemnya.
Siklus Hidup Pengembangan Perangkat Lunak
(Software Development Life Cycle)
• Membangun perangkat lunak mengikuti tiga
tahap SWDLC, yaitu :
1. Rancangan (Design)
2. Kode (Code)
3. Uji (Test)

1.Rancangan (Design)
• Bagian dari rancangan sistem terinci yang akan dikonversi ke
program aplikasi yang dapat digunakan sebagai pedoman oleh
programmer dalam menulis program.
• Alat (tools) rancangan program yang pokok adalah :

  • Bagan Terstruktur (Structure Chart)
  • Bahasa Inggris Terstruktur (Structure English)
  • Tabel Keputusan (Decision Tabel)
  • Pohon Keputusan (Decision Tree)
  • Persamaan/mirip bahasa pemrograman (Pseudocode)
  • Kamus Data (Data Dictionary)
  • Diagram Warnier/Orr (W/O)
  • Diagram Jackson

2. Kode (Code)
• Menulis statemen dalam bahasa
pemrograman yang diasumsikan dibuat dan
dijalankan oleh programmer dan tidak secara
otomatis seperti yang dibangkitkan oleh paket

CASE (Computer Aided Software Engineering).
• Beberapa paket CASE akan membangkitkan
kode dari beberapa rancangan terinci sehingga
menghapus adanya kebutuhan pengkode
manusia (human coders).

3. Uji (Test )
• Pengujian terhadap semua modul kode untuk
mendeteksi dan menghapus kesalahan.
Mengorganisir proyek pengembangan PL

Tiga cara untuk mengorganisasi tim
pemrograman, yaitu :
1. Tim Pengembangan Program ( Program
development team)

2. Tim programmer kepala (chief programmer
team)

3. Tim pemrograman bersama (Egoless
programming team)
Konsep pabrik perangkat lunak
• Pabrik-pabrik perangkat lunak yang menerapkan prinsip
pengendalian kualitas dan manajemen proyek.
• Berbagai macam tujuan pabrik pengembangan perangkat
lunak, yaitu :

  • Penerapan cara termekanisasi (terekayasa) untuk pengembangan
  • sistem dan perangkat lunak.
  • Penggunaan perangkat pemodelan dan teknologi CASE
  • Penginstalasian teknik manajemen proyek
  • Penekanan pada kemungkinan kemampuan pemeliharaan
    (Maintainability), penggunaan (Usability), penggunaan ulang (reusability), kehandalan (reliability), perluasan faktor-faktor rancangan (extandability) atau MURRE
  • Pencapaian produktivitas pengembangan perangkat lunak dan sistem yang optimal.

Mengukur Produktivitas Dalam Pengembangan PL

• Produktivitas dapat diukur dengan rumus :
Output yang dihasilkan

• Produktivitas = ——————————–
Input yang dikonsumsi

• Produktivitas pengembangan perangkat lunak dapat
ditingkatkan dengan menaikkan output, menurunkan input,
atau keduanya.

• Input yang dikonsumsi relatif mudah diukur misalnya tenaga
kerja, workstation, pasokan, sebaliknya output relatif tidak
mudah diukur.

• Untuk mengukur output pengembangan perangkat lunak
dapat menggunakan teknik metrik.
Manfaat menggunakan metrik

• Manfaat menggunakan metrik yaitu :
1. Bisa mengelola proses pengembangan perangkat lunak
2. Bisa mengukur dampak perubahan misalnya perubahan ke
teknologi CASE atau dari satu generasi bahasa komputer ke
generasi lain
3. Bisa terjadi persepsi bahwa pengembangan perangkat lunak
lebih bersifat ilmiah (produk yang dimekanisasi)

Dua metrik yang paling berperan
Dua metrik yang paling berperan adalah :
1. Jalur Kode yang bisa dieksekusi (Lines Of Executable
Code atau LOEC)
2. Titik Fungsi (Function Point)

Brainstorming
1. Bagaimana tahapan pengembangan PL
2. S/W dpt di peroleh darimana saja atau dengan cara

bagaimana
3. Apa keuntungan s/w di bangun sendiri
4. Jika mau beli s/w apa yg di nilai

Testing dan Implementasi Sistem Informasi: Bab 1

PENGEMBANGAN PERANGKAT LUNAK

Pengembangan perangkat lunak (Software development) merupakan salah satu
dari tahap rancangan sistem rinci/detail dari Siklus Hidup Pengembangan Sistem
(Software Development Life Cycle atau SDLC).

Tim proyek sistem mungkin mulai mencari paket perangkat lunak komersial yang
sesuai atau mendukung spesifikasi rancangan sistem dan berjalan pada rancangan
arsitektur komputernya. Paket perangkat lunak komersial secara luas tersedia untuk
aplikasi fungsi spesifik dan aplikasi bisnis yang telah ditetapkan secara baku.

Tetapi untuk rancangan sistem yang terkait dengan kebutuhan khusus atau unik
(memenuhi keperluan pemakai dan spesifikasi rancangan sistem) maka paket perangkat
lunak komersial mungkin tidak sesuai atau mendukung kebutuhan pemakai secara
langsung. Perangkat lunak yang diharapkan untuk mendukung rancangan sistem tersebut
harus dibuat sendiri dari awal (scratch)

Sumber Perangkat Lunak Aplikasi
A. Perangkat Lunak Komersial dari Vendor
B. Perangkat Lunak Pesanan (customized software) dikembangkan secara in-house
atau oleh kontraktor pemrograman independen
A. Perangkat Lunak Komersial dari Vendor

Paket (off-the-self) yang tersedia dapat diterapkan dalam berbagai kebutuhan
bisnis. Beberapa paket bersifat generik dan multifungsional yang memungkinkan para
pemakai memprogram sofware tersebut untuk kebutuhannya sendiri. Paket-paket tersebut
mengotomisasi fungsi-fungsi bisnis dasar yang umumnya tidak terlalu bervariasi dari satu
organisasi dengan organisasi lain. Contoh jenis paket adalah spreadsheet dan DBMS.

Keuntungan/kelebihan dari Perangkat Lunak Komersial :
1. Implementasi yang cepat
Software tersebut bersifat siap, teruji, dan terdokumentasi. Paket yang dibeli biasanya
pengimplementasiannya jauh lebih cepat dari pada mengembangkan program yang sama
secara in-house atau menyuruh kontraktor independen untuk mengembangkannya
sehingga secara potensial membantu memecahkan backlog (penimbunan pekerjaan yang
belum selesai).
2. Penghematan Biaya
Satu paket perangkat lunak komersial bisa dijual kepada banyak organisasi sehingga
biaya pengembangan ditanggung oleh banyak pemakai, dan biaya total suatu paket akan
lebih murah dari pada program pesanan yang sama.
3. Estimasi biaya dan waktu
Biaya atau harga paket komersial telah diketahui, dan tanggal pengimplementasiannya
mudah diestimasi. Sebaliknya program pesanan biasanya cenderung melampaui
estimasi waktu dan biaya.
4. Reliabilitas
Sebelum diterbitkan di pasaran umum, paket perangkat lunak komersial pasti telah
diuji secara teliti. Melalui penggunaan yang ekstensif oleh sejumlah organisasi, segala
kesalahan yang dijumpai telah dideteksi dan dikoreksi sehingga peluang kesalahannya
lebih sedikit.

Kerugian/kelemahan :
1. Kesesuaian Rancangan sistem yang tidak baik
Paket software komersial dibuat untuk berbagai organisasi, dan tidak untuk organisasi
tertentu maka paket ini mungkin mempunyai beberapa fungsi yang tidak diperlukan atau
mungkin tidak mempunyai fungsi yang diperlukan sehingga paket tersebut harus
dimodifikasi. Jika vendor tidak membuat kode sumber (source code) yang bisa digunakan
untuk penyesuaian dan tidak menyediakan layanan penyesuaian maka rancangan sistem
mungkin harus diubah agar sesuai dengan paket tersebut. Jika hal ini terjadi sebaiknya
mengembangkan program secara in-house agar programnya bisa memenuhi spesifikasi
rancangan sistem yang tepat.
2. Ketergantungan Vendor
Jika organisasi memerlukan perubahan paketnya maka organisasi akan tergantung
pada vendor dalam perolehan dukungannya, dan jika vendor telah tiada maka organisasi
akan kesulitan mencari dukungannya.
3. Biaya tidak langsung dari kerusakan SDLC
Seringkali apa yang ingin dicapai, manajemen tidak melaksanakan SDLC menyeluruh
atau mungkin melewati tahap SDLC, dan secara langsung menuju ke paket perangkat
lunak komersial Strategi ini seringkali mengakibatkan paket perangkat lunak komersial
tidak berjalan sesuai yang diharapkan dan masalah sistem serta organisasional yang
terjadi sebelum implementasi paket tersebut tetap muncul sehingga menimbulkan
kesulitan atau harus dibayar kemudian yaitu adanya peningkatan biaya implementasi,
operasi, dan pemeliharaan.

Menyiapkan permohonan untuk proposal berorientasi kinerja
Terkait dengan pemerolehan (akuisisi) perangkat lunak komersial maka perlu
membuat atau menyiapkan Permohonan Proposal (Request For Proposal atau RFP)
berorientasi kinerja untuk menyeleksi vendor dan paket perangkat lunak komersial yang
tepat. Faktor-faktor evaluasi mencakup pemenuhan spesifikasi rancangan detail
untuk output, input, proses, dan database serta cocok dengan batasan waktu dan
biayanya, juga penggunaan benchmark yang mensimulasi kebutuhan sistem baru
(bentuk prototyping) harus diterapkan pada setiap paket dari vendor.
Penilaian paket

Setiap paket dari vendor harus dinilai. Penilaian tersebut meliputi :
a. Sebagian penilaian dari benchmark (tanda untuk menentukan tingginya suatu nama),
dan penilaian lain dari sejumlah publikasi yang didasarkan pada survei dari sejumlah
besar pengguna paket tersebut.
b. Kinerja pengoperasian (operating performance)
Penilaian dari benchmark yang digunakan untuk mengukur hal-hal seperti transaksi
perdetik (transaction per second) dan waktu respon (response time).
c. Dokumentasi
Penilaian ini mencerminkan kuantitas dan kualitas prosedur tertulis, prosedur online,
pedoman quick start, online tutorial, dan fasilitas help.
d. Mudah dipelajari
Penilain ini tergantung pada interface pemakai dan rancangan intuitif dari paket
tersebut. Paket harus bisa dipelajari oleh rata-rata pemakai.
e. Mudah digunakan
Menu yang mudah diikuti dan perintah yang jelas membantu kemudahan
penggunaan.
f. Pengendalian dan penanganan kesalahan.
Untuk menjaga kesalahan input, paket software harus menyediakan pencegahan
kesalahan, pendeteksian kesalahan dan perbaikan kesalahan, serta menuliskan
kesalahan ke file kesalahan.
g. Dukungan (support).
Menyediakan dukungan kebijakan dan teknis. Dukungan kebijakan mencakup jalur
toll-free, garansi, dan pelatihan. Dukungan teknis menyediakan teknisi dan yang berpengalaman.

Menyeleksi paket
Menentukan paket software dari vendor yang menawarkan manfaat terbesar
dengan biaya/harga termurah. Metode untuk menentukan angka penilaian total terlihat
padaTabel 1. Bobot relatif ditentukan ke setiap faktor kinerja umum yang didasarkan
pada kepentingan relatifnya.Base atau nilai dasarnya adalah 100. Penilaian setiap faktor
kinerja 1 s/d 10 (1=jelek dan 10 = sangat bagus).Skor adalah bobot dikalikan penilaian.
Setiap skor yang dihasilkan dijumlahkan yang merupakan angka penilaian total untuk
setiap vendor.

TISI 1

Misalkan biaya atau harga paket vendor A adalah $22.700 dan paket vendor B adalah
$27.690. Paket mana yang harus dipilih ? Jawabannya ditentukan dengan membagi angka
biaya total dengan skor total untuk memperoleh biaya perangka penilaian. Vendor A
mempunyai penilaian= $22.700/620= $37, sedangkan Vendor B= $27.690/710= $39,
tampak terlihat pada gambar 1.2

TISI 2

Vendor A mempunyai penilaian lebih rendah, namun biaya per angka penilaiannya
sebesar $37 menjadi pilihan biaya atau manfaat yang lebih baik dari pada vendor B.

B. Perangkat Lunak Pesanan (customized software)
Jika sistem yang sedang dikembangkan tidak bisa didukung oleh paket software
maka harus memesan dari perusahaan jasa/kontraktor independen atau membangun
sendiri perangkat lunak (in-house) agar sesuai dengan rancangan sistemnya.

Siklus Hidup Pengembangan Perangkat Lunak (Software Development Life Cycle)
Membangun perangkat lunak mengikuti tiga tahap SWDLC, yaitu :
1. Rancangan (Design)
2. Kode (Code)
3. Uji (Test)

1. Rancangan (Design)
Bagian dari rancangan sistem terinci yang akan dikonversi ke program aplikasi yang
dapat digunakan sebagai pedoman oleh programmer dalam menulis program. Alat
(tools) rancangan program yang pokok adalah :
> Bagan Terstruktur (Structure Chart)  Diagram Warnier/Orr (W/O)
> Bahasa Inggris Terstruktur (Structure English)  Diagram Jackson
> Tabel Keputusan (Decision Tabel)
> Pohon Keputusan (Decision Tree)
> Persamaan/mirip bahasa pemrograman (Pseudocode)
> Kamus Data (Data Dictionary)

2. Kode (Code)
Menulis statemen dalam bahasa pemrograman yang diasumsikan dibuat dan
dijalankan oleh programmer dan tidak secara otomatis seperti yang dibangkitkan oleh
paket CASE (Computer Aided Software Engineering). Beberapa paket CASE akan
membangkitkan kode dari beberapa rancangan terinci sehingga menghapus adanya
kebutuhan pengkode manusia (human coders).

3. Uji (Test)
Pengujian terhadap semua modul kode untuk mendeteksi dan menghapus kesalahan.
Testing dan Implementasi minggu 2-3 Hal : 5
Mengorganisasi Proyek Pengembangan Perangkat Lumak
Perancang dan analis sistem terlibat dalam tim pengembangan perangkat lunak
dan harus mengetahui bagaimana program ini dikode dan bagaimana hasil akhirnya.
Untuk itu diperlukan keterampilan pengorganisasian dalam tim proyek. Pengorganisasian
proyek pengembangan perangkat lunak memerlukan komunikasi, integrasi dan
koordinasi yang baik. Pengorganisasian tim pemrograman menggunakan pendekatan
organisasional.

Pendekatan Organisasional
Tiga cara untuk mengorganisasi tim pemrograman, yaitu :
1. Tim Pengembangan Program ( Program development team)
2. Tim programmer kepala (chief programmer team)
3. Tim pemrograman bersama (Egoless programming team)

1. Tim Pengembangan Program ( Program development team)
Tim pengembangan program dikelola oleh manajer tim atau seseorang yang
terlibat dalam SDLC dari awal, dan didukung oleh perancang, pengkode, dan penguji
Jika perusahaan menggunakan aturan  maka orang-orang yang memiliki keterampilan
lebih tinggi harus ditugaskan untuk perancangan dan pengujian. Bila rancangan lengkap,
jelas dan akurat maka tugas pengkodean akan menjadi proses yang sederhana yang dapat
dijalankan oleh setiap orang yang telah kenal dengan sintaks bahasa pemrograman.
Konsep ini mendukung terciptanya teknologi CASE.

2. Tim programmer kepala (chief programmer team)
Tim ini dibentuk dari programmer kepala atau senior yang banyak pengalaman
dan pengetahuan pemrograman. Programmer kepala dapat berkomunikasi secara efektif
dengan analis dan perancang sistem, pemakai, dan berbagai teknisi.
Programmer kepala didukung oleh asisten utama yang bertugas sebagai
komunikator dengan orang lain pada tim atau penyampai informasi dari gagasan
programmer kepala. Kedua orang tersebut didukung oleh Programmer pendukung/ yunior
bertugas membantu programmer kepala dan asisten utama untuk proyek besar yang tidak
dapat ditangani sendiri. Para programmer pendukung biasanya mengkode modul-modul
tingkat rendah. Tim ini juga didukung oleh pustakawan, administrator, editor, dan klerk
program.

3. Tim pemrograman bersama (Egoless programming team)
Tim ini terbentuk dari seluruh rekan yang bersama-sama bertanggung jawab atas
pengembangan perangkat lunak tanpa supervisi langsung/pimpinan.
Perbedaan pendekatan-pendekatan tersebut :
> Tim pengembangan program mengembangkan aturan 40-20-40 yaitu menekankan
pada perancangan dan pengujian.
> Tim programmer kepala dan tim pemrograman bersama menekankan pada fungsi
pengkodean.
Jumlah interface dan lintasan komunikasi dari pendekatan di atas:
> Tim pengembangan program tersusun atas 2 perancang, 1 pengkode, 2 penguji.
Interface dan lintasan komunikasi berada antara perancang dan pengkode, pengkode
dan penguji, perancang dan penguji. Interface dan lintasan komunikasi ke manajer
tim hanya memberikan rekapitulasi dan informasi kinerja karena manajer tidak
terlibat langsung dalam pekerjaan yang sebenarnya. Jadi total interface dan lintasan
komunikasi ada lima, dan satu interface manajemen.

TISI 3

> Tim programmer kepala terdiri dari lima programmer pendukung mempunyai lima
interface dan lintasan komunikasi, dan lebih mungkin memenuhi deadline yang ketat.

TISI 4

> Tim pemrograman bersama terdiri dari lima programmer. Jumlah interface dan
lintasan komunikasi = n(n-1)/2= 5(5-1)/2=10

TISI 5

Biasanya untuk komunikasi membutuhkan waktu dan mengurangi produktivitas. Segala
jenis pekerjaan pengembangan biasanya waktu restart (mulai lagi) setelah setiap interupsi
besarnya 30 menit sehingga peluang pemrograman yang bisa dilakukan waktunya sedikit.
Oleh karena itu apabila terdapat lebih dari tiga programmer yang terlibat maka sebaiknya
ditetapkan seorang supervisor atau pimpinan.

Konsep pabrik perangkat lunak
Pabrik-pabrik perangkat lunak yang menerapkan prinsip pengendalian kualitas
dan manajemen proyek. Berbagai macam tujuan pabrik pengembangan perangkat lunak,
yaitu :
> Penerapan cara termekanisasi (terekayasa) untuk pengembanan sistem dan
perangkat lunak.
> Penggunaan perangkat pemodelan dan teknologi CASE
> Penginstalasian teknik manajemen proyek
> Penekanan pada kemungkinan kemampuan pemeliharaan (Maintainability),
penggunaan (Usability), penggunaan ulang (reusability), kehandalan (reliability),
perluasan faktor-faktor rancangan (extandability) MURRE
> Pencapaian produktivitas pengembangan perangkat lunak dan sistem yang
optimal.

Mengukur Produktivitas Dalam Pengembangan Perangkat Lunak
TISI 6

Produktivitas pengembangan perangkat lunak dapat ditingkatkan dengan
menaikkan output, menurunkan input, atau keduanya.
Input yang dikonsumsi relatif mudah diukur misalnya tenaga kerja, workstation,
pasokan, sebaliknya output relatif tidak mudah diukur. Untuk mengukur output
pengembangan perangkat lunak dapat menggunakan teknik metrik.

Manfaat menggunakan metrik yaitu :
a. Bisa mengelola proses pengembangan perangkat lunak
b. Bisa mengukur dampak perubahan misalnya perubahan ke teknologi CASE atau dari
satu generasi bahasa komputer ke generasi lain
c. Bisa terjadi persepsi bahwa pengembangan perangkat lunak lebih bersifat ilmiah
(produk yang dimekanisasi)

Dua metrik yang paling berperan adalah :
1. Jalur Kode yang bisa dieksekusi (Lines Of Executable Code atau LOEC)
2. Titik Fungsi (Function Point)

1. Mencacah Jalur Kode yang bisa Dieksekusi (LOEC)
Metrik LOEC mengukur cakupan pada pengkodean. Beberapa Profesional Sistem
menggunakan Jalur Kode Sumber sebagai metriknya. Jalur Kode Sumber (Source
Line Of Code atau SLOC) adalah segala jalur program yang bukan penjelasan maupun
jalur kosong tanpa mempedulikan jumlah statemen (statemen yang bisa dan tidak bisa
dieksekusi). SLOC bisa untuk mengukur LOEC.

Keuntungan menggunakan metric LOEC sebagai ukuran produktivitas output
perangkat lunak adalah :
a. Mudah ditetapkan dan dibahas secara jelas.
End user, manajer, dan profesional sistem biasanya memahami apa yang
dimaksud dengan jalur kode yang bisa dieksekusi.
b. Diakui secara luas.
Metrik ini seringkali digunakan oleh vendor sebagai alat pengembangan
perangkat lunak.
c. Mudah diukur.
LOEC dapat dihitung untuk menentukan ukuran program.
d. Mudah digunakan untuk estimasi.
Ukuran perkiraan suatu program ditentukan berdasarkan dokumentasi rancangan
sistem detail. Angka ini digunakan untuk mengestimasi waktu dan biaya proyek
pengembangan perangkat lunak.

Produktivitas =
Contoh : program yang diusulkan berisi 100K LOEC. Jika 2K LOEC dapat dihasilkan
oleh satu orang per bulan, maka untuk menyelesaikan proyek tersebut
diperlukan 50 orang perbulan. Jika input yang diperlukan untuk mendukung satu
orang per bulan sebesar $9000 maka proyek tersebut membutuhkan biaya
$450.000.
Apa kelemahan dari satu orang per bulan (person-month) dan pencacahan
LOEC?
Frederick P. Brooks, Jr. Dalam bukunya berjudul The Mythical Man-
Month bahwa the person-month sebagai unit pengukuran suatu pekerjaan adalah
mitos. Ia menyatakan bahwa orang dan bulan bisa saling ditukar atau diganti.
Misal memerlukan 50 orang untuk waktu 1 bulan atau memerlukan 10 orang
dengan per orang memerlukan waktu 5 bulan Apabila tugas dibagikan kepada
banyak pekerja tanpa komunikasi hal ini mustahil, tetapi apabila menggandakan
tugas ukuran tim maka tidak akan menggandakan produktivitas.
Penggunaan person-month sebagai benchmark harus digunakan secara
wajar dan konsisten.
Kelemahan lain metrik LOEC adalah mengukur dengan dasar jumlah
LOEC yang lebih besar adalah yang produktif bukan jalur kode yang diperlukan.
Misal untuk menulis suatu program Programmer assembly membutuhkan waktu 4
minggu untuk 1500 LOEC, programmer COBOL butuh waktu 2 minggu untuk
500 LOEC, dan programmer C butuh waktu 1 minggu untuk 300 LOEC. Dengan
metric LOEC programmer assembly yang paling produktif. Secara riil
programmer yang paling produktif adalah programmer C. Yang lebih
efektif dan efisien dijalankan adalah bahasa pemrograman C dan COBOL.
2. Metrik Titik Fungsi (Function Point)

Metrik titik fungsi dirancang untuk mengatasi beberapa kelemahan metrik LOEC.
Ada lima fungsi yang dianalisis untuk diukur oleh profesional sistem, yaitu :
1. Jumlah input, seperti form dan layar
2. Jumlah output, seperti laporan dan layar
3. Jumlah query yang diminta oleh end user
4. Jumlah file logic yang diakses dan digunakan
5. Jumlah interface ke aplikasi lain.
Metrik titik fungsi mengukur apa yang akan diberikan oleh tim pengembangan
perangkat lunak kepada end user. Metrik ini mencakup perancangan, pengkodean,
dan pengujian, dan metrik ini juga mengukur efisiensi dan efektifitas.
Kelebihan/keuntungan metrik titik fungsi :
> Mengukur produktivitas perangkat lunak menggunakan cara yang seragam tanpa
memandang bahasa pemrograman yang digunakan.
Testing dan Implementasi minggu 2-3 Hal : 10
> Mengukur efisiensi dan efektivitas. Efisiensi berkaitan dengan sumber-sumber
yang dikonsumsi dalam pengembangan suatu aplikasi tertentu secara tepat waktu.
Efektivitas berhubungan dengan kualitas program dan kemampuannya dalam
memenuhi kebutuhan pemakai.

Di bawah ini adalah contoh menghitung titik fungsi.

TISI 7

 

Derajat kompleksitas 1 s/d 10 (1= derajat rendah dan 10 derajat paling kompleks).
Sebagai contoh 12 input mempunyai kompleksitas cukup rendah 2, dan 3 input
kompleksitas rata-rata 5, serta 12 input mempunyai kompleksitas cukup tinggi 8. Semua
titik fungsi dicacah atau dikalkulasi dengan cara yang sama. Jumlah total titik fungsi
adalah 1272.

TISI 8

 

Tingkat produktivitas pengembangan rata-rata untuk perangkat lunak aplikasi, umumnya
berada antara 5 dan 10 artinya satu orang bisa menyerahkan atau menghasilkan sekitar 5
sampai 10 titik fungsi per bulan.

Jika proyek pengembangan perangkat lunak memerlukan 1272 titik fungsi dan tingkat
penyerahan rata-rata dari tim yang akan mengembangkannya adalah 8 titik fungsi per
person-month, maka proyek tersebut memerlukan sekitar 159 person-month,
(1272/8=159). Jika satu person-month mengkonsumsi $10.000, maka proyek tersebut
akan membutuhkan biaya  $1.590.000

Jika organisasi menginstal teknologi CASE maka bisa kemungkinan menghasilkan
sekitar 15 atau 20 titik fungsi per person-month.

Tingkat Produktivitas
Pengembangan =
Jumlah titik fungsi yang dihadirkan
Jumlah person-month
Jika organisasi yang menggunakan pendekatan rancangan dan diadopsi dengan teknologi
dan dikombinasikan dengan menerapkan penggunaan ulang kode sekitar 50% , maka
tingkat produktivitas pengembangan bisa mencapai 70 titik fungsi per person-month.

Misalkan, diasumsikan biaya per person-month meningkat menjadi $12.000 dengan
tingkat penyerahan 62 titik fungsi per person-month, maka jumlah person-month yang
akan menghasilkan 1272 titik fungsi dikurangi menjadi 20,5 person-month
(1272/62=20,5), dan biaya sebesar $246.000  ($12.000 x 20,5= $246.000).
Penghematan biaya sebesar $1.344.000($1.590.000 – $246.000 = $1.344.000).

Pengaruh Manajemen terhadap Produktivitas
1. Metrik Produktivitas yang tidak baik atau tidak tersedia
Manajemen yang tidak baik dapat menurunkan produktivitas perangkat lunak
sehingga manajer tidak akan bisa mengestimasi waktu dan biaya pengembangan
perangkat lunak atau tidak bisa mengukur produktivitas/tingkat penyerahan.
2. Perencanaan dan pengontrolan yang tidak baik
Manajer proyek membiarkan proyek berkembang semaunya tanpa mempunyai
target penyelesaian dan penyerahannya.Untuk membantu mengurangi perencanaan
dan pengontrolan yang tidak baik bisa menggunakan pengaplikasian teknik
manajemen proyek seperti PERT.
3. Pencampuran keterampilan yang tidak baik.
Tim pengembangan cenderung kurang memberi tekanan pada perancangan dan
pengujian, dan lebih menekankan pada pengkodean. Idealnya campuran keterampilan
adalah 40% perancangan, 20% pengkodean, dan 40% pengujian.
4. Pengkodean Prematur.
Manajer proyek biasanya ingin menyelesaiakan proyek pengembangan secara
cepat dan segera melakukan pengkodean dengan mengabaikan tahap rancangan
sehingga waktu dan biaya yang dikeluarkan tidak sebanding dengan manfaat atau
keuntungan yang diperoleh.
5. Imbalan yang tidak adil.
Upah atau gaji yang tidak adil kepada pelaksana tim yang berpotensi
(berketrampilan dan motivasi tinggi) mengakibatkan pelaksana tersebut frustasi dan
keluar. Cara yang bisa dilakukan untuk memberikan imbalan dengan pemberian
bonus kinerja khusus, bonus perjalanan, dan pemberian kesempatan mengikuti
seminar khusus.

Memproduksi Perangkat Lunak Berkualitas Tinggi
Sasaran akhir pengembangan perangkat lunak adalah untuk menghasilkan
perangkat lunak berkualitas tinggi pada tingkat produktivitas tinggi yang memberi nilai
tambah kepada perusahaan.
Apa yang dimaksud dengan kualitas perangkat lunak ?

Ada tiga dimensi untuk mengukur kualitas :
1. Faktor kinerja, dari sudut pandang end user seperti :
a. Kinerja pengoperasian keseluruhan
b. Kemudahan pembelajaran
c. Pengontrolan dan penanganan kesalahan
d. Dukungan dari pembuat dan pemelihara perangkat lunak.

2. Faktor rancangan MURRE mencakup :
a. Kemungkinan pemeliharaan (Maintainability)
b. Kemungkinan penggunaan (Usability)
c. Kemungkinan penggunaan ulang (Reusability)
d. Kehandalan (Reliability)
e. Kemungkinan perluasan (Extendability)

3. Faktor Strategik PDM
a. Meningkatkan produktivitas (Productivity)
b. Menambah keragaman produk dan pelayanan (Development)
c. Meningkatkan fungsi manajemen (Management)

Apa yang dimaksud dengan Jaminan Kualitas (Quality Assurance atau QA) ?
Adalah memastikan bahwa SWDLC yang digunakan dalam pengembangan perangkat
lunak berkualitas sesuai dengan standart yang telah ditetapkan bagi produk tersebut.
Pada skala yang lebih luas, jaminan kualitas mencakup pemonitoran terus menerus
terhadap semua tahap-tahap pengembangan sistem dan perangkat lunak dari perencanaan
sampai implementasi, dan pengoreksian terhadap proses pengembangan sistem dan
perangkat lunak.

Apa yang dimaksud dengan pengendalian kualitas ?
Pengendalian Kualitas (Quality Control) memfokuskan pada produk, yaitu apa yang
dihasilkan. Pengendalian kualitas mengevaluasi sistem dan perangkat lunak setelah
dikembangkan.

Kualitas harus dirancang ke dalam sistem dan perangkat lunak ketika mereka sedang
dibuat, bukan setelah pembuatannya selesai. Jadi jaminan kualitas adalah teknik
pencegahan kesalahan, sedangkan pengendalian kualitas merupakan teknik penghapusan
kesalahan.

Menciptakan kelompok Jaminan Kualitas (QA)
Kelompok QA yang independen terbentuk atas wakil-wakil end user, analis sistem,
perancang sistem, programmer terampil, yang semuanya tidak tergantung pada developer
(pembuat).

Tugas-tugas QA mencakup :
1. Menetapkan standar untuk pengembangan sistem dan perangkat lunak (SDLC dan
SWDLC)
2. Mengevaluasi laporan terdokumentasi yang siap diserahkan.
3. Menjalankan tahapan pemeriksaan rancangan sistem dan perangkat lunak.
4. Melakukan tahapan pemeriksaan pengkodean.
5. Menjalankan pengujian.

Merencanakan Proyek Siklus Hidup Pengembangan Perangkat Lunak (SWDLC)
Manajer Proyek menjadual dan memonitor semua tugas yang diperlukan untuk
menyelesaikan SWDLC, dan Teknik yang digunakan adalah Teknik Tinjauan dan

Evaluasi Program (Program Evaluation Review and Technic atau PERT).
Sasaran PERT adalah untuk menentukan rangkaian atau urutan pelaksanaan tugas
pengembangan perangkat lunak dan untuk mengestimasi lamanya waktu yang diperlukan
dari awal sampai selesainya pelaksanaan tugas.

Lamanya proyek yang terdiri atas serangkaian tugas yang harus dijalankan secara
urut merupakan jalur kritis (critical path) darai proyek tersebut.
Empat langkah menyusun jaringan PERT pengembangan perangkat lunak :
1. Mengidentifikasi semua tugas pengembangan perangkat lunak yang harus dijalankan.
2. Mengestimasi waktu yang diperlukan untuk menjalankan setiap tugas.
3. Menentukan atau menetapkan rangkaian tugas.
4. Menentukan jalur kritis yang akan menunjukkan waktu pengembangan perangkat
lunak.