Anda di halaman 1dari 42

IMPLEMENTASI, PEMELIHARAAN

DAN PENGUJIAN PERANGKAT


LUNAK
Aktivitas Implementasi
 Merupakan sekumpulan aktivitas dimana rancangan perangkat
lunak yang telah dibuat pada tahap perancangan kemudian
dikodekan ke dalam bentuk kode program dengan
menggunakan bahasa pemrograman tertentu agar dapat
dijalankan pada komputer.
 Fondasi dari aktivitas ini adalah pemrograman. Tools (alat)
untuk membuat program disebut bahasa pemrograman.
Programmer membuat program dengan panduan dokumentasi
rancangan perangkat lunak atau pada umumnya programmer
juga memeriksa semua dokumen dari tahapan-tahapan
sebelumnya untuk memeriksa konsistensi dari dokumentasi-
dokumentasi yang ada.
Aktivitas Pemrograman
 Program adalah serangkaian ekspresi yang disusun menjadi
kesatuan prosedur berupa urutan langkah untuk menyelesaikan
suatu permasalahan dan diimplementasikan dalam bentuk
bahasa pemrograman sehingga dapat dijalankan pada komputer.
Adapun bahasa pemrograman adalah tata cara penulisan
program. Pada bahasa pemrograman terdapat dua faktor
penting, yakni : sintaks, yaitu aturan-aturan yang mengatur
tatacara penulisan ekspresi/statemen. Semantik, yaitu aturan-
aturan untuk menyatakan suatu arti.
Standar Program yang Baik
 Standar pemrograman dibutuhkan untuk menciptakan suatu
program dengan portabilitas yang tinggi sehingga memudahkan
dalam merancang dan merawat program serta meningkatkan
efektivitas penggunaan peralatan komputer.
 Beberapa standar penilaian untuk sebuah program dikatakan
baik antara lain :
1. Teknik memecahkan masalah
2. Penyusunan program
3. Perawatan program
4. Standar prosedur
1.Standar Teknik Pemecahan Masalah

 Setelah masalah dipahami dengan baik, seorang pemrogram membutuhkan


suatu teknik untuk memecahkan masalah tersebut, ada dua pendekatan yang
umum digunakan yakni :
 Teknik Top-Down merupakan teknik pemecahan masalah di mana suatu
masalah yang kompleks dibagi-bagi menjadi beberapa struktur hingga unit
yang paling kecil setelah itu kemudian disusun langkah-langkah untuk
menyelesaikan masalah secara rinci. Teknik semacam ini digunakan pada
metode pemrograman terstruktur.
 Teknik Botton-Up merupakan teknik pemecahan masalah yang berkebalikan
dengan teknik Top-Down di mana penyelesaian masalah dimulai dari hal-hal
yang bersifat khusus, kemudian naik ke bagian yang bersifat umum. Teknik
semacam ini digunakan pada metode pemrograman berorientasi objek.
 Setelah memilih teknik pemecahan masalah, pemrogram mulai
menyusun langkah-langkah untuk memecahkan masalah, yang
disebut dengan algoritma, algoritma yang baik memiliki ciri-ciri
antara lain sebagai berikut : Tepat, benar, sederhana, standar,
dan efektif-logis, terstruktur, dan sistematis-menggunakan
bahasa standar sehingga tidak ambigu.
2. Standar Penyusunan Program
 Beberapa faktor yang menjadi standar dalam penyusunan
program antara lain :
 Kebenaran logika dan penulisan program yang disusun harus
memiliki kebenaran logika dalam pemecahan masalah
maupun penulisan kode program.
 Waktu minimum untuk penulisan program. Penulisan
program harus memiliki waktu minimum, artinya waktu
minimal harus tersedia untuk menuliskan kode program dari
awal hingga siap untuk dieksekusi.
 User friendly program yang baik harus memiliki layanan
untuk mempermudah pemakai untuk menggunakannya,
misalkan layanan online help.
 Portabilitas program yang baik harus dapat dijalankan pada
kondisi yang berbeda-beda baik itu sistem operasi maupun
perangkat keras.
3. Standar Perawatan Program
 Beberapa standar yang harus dipenuhi agar memudahkan pemrogram
dalam merawat dan mengembangkan program antara lain :
 Dokumentasi, merupakan hal yang penting untuk memudahkan menelusuri
adanya kesalahan maupun untuk pengembangannya.
 Penulisan instruksi untuk memudahkan perawatan program, sebaiknya
penulisan program dilakukan sebagai berikut :
 Menuliskan satu instruksi pada satu baris program
 Memisahkan modul-modul dengan memberikan spasi beberapa baris
untuk mempermudah pembacaan
 Menghindari penggunaan konstanta dalam penulisan rumus, jika konstanta
tersebut mungkin berubah
 Melakukan pembatasan jumlah baris instruksi per modul
4. Standar Prosedur
 Penggunaan prosedur standar akan memudahkan bagi
pengembang program untuk mengembangkan program
tersebut.
Modularitas
 Modularitas merupakan sebuah konsep untuk memecahkan
program menjadi modul-modul kecil dimana masing-masing
modul/komponen berinteraksi melalui antarmuka modul.
Dengan adanya modularitas, kesalahan di satu bagian program
dapat dikoreksi tanpa perlu mempertimbangkan bagian-bagian
lainnya, program menjadi lebih sederhana sehingga lebih mudah
dipahami.
Kriteria Modularitas
 Terdapat 5 kriteria modularitas, yakni :
 Decomposibility, yaitu kemampuan untuk mendekomposisi masalah
menjadi submasalah yang lebih sederhana dan dihubungkan dengan
struktur yang sederhana.
 Composability, yaitu kemampuan membangun modul-modul program
yang kemudian dapat diintegrasikan menjadi program pada lingkungan
yang mungkin berbeda dengan saat modul tersebut dibangun.
 Understandability, yaitu kemampuan menghasilkan program dimana
programmer dapat memahami masing-masing modul tanpa perlu
mengetahui deailnya.
 Continuity, yaitu kemampuan meredam propagasi perubahan, yaitu suatu
kondisi di mana perubahan kecil pada satu modul memicu perubahan
hanya pada satu modul atau sedikit modul yang terkait.
 Protection, yaitu kemampuan meredam kondisi abnormal hanya pada
satu modul.
Abstraksi Data
 Abstraksi data merupakan suatu cara untuk
menggambarkan data dengan memisahkannya dari
implementasinya, salah satu jenis abstraksi data adalah tipe
data dan juga ADT (Abstract Data Type)
 Tipe data merupakan sekumpulan nilai dan operasi yang
diasosiasikan pada nilai-nilai itu.
 Sedangkan ADT mendeklarasikan sekumpulan nilai,
operasi pada nilai, dan aksioma-aksima yang senantiasa
dipenuhi oleh perasi-operasi tersebut.
Analisis Statik

 Analisis statik merupakan proses menganalisis kode program


yang dilakukan tanpa mengeksekusi kode program tersebut,
berbeda dengan analisis dinamis dimana kode program
dianalisis dengan mengeksekusi kode programnya.
Kesimpulan
 Aktivitas implementasi merupakan sekumpulan aktivitas
dimana rancangan perangkat lunak yang telah dibuat pada
tahap perancangan kemudian dikodekan ke dalam bentuk
kode program dengan menggunakan bahasa pemrograman
tertentu agar dapat dijalankan pada komputer dalam
implementasi terdiri standar program, modularitas,
abstraksi data, dan analisis static dimana semuanya saling
berkaitan antara satu dengan yang lain.
Implementasi Perangkat Lunak

 Tahap pengkodean merupakan suatu proses translasi.


Rancangan detil ditranslasikan ke dalam suatu bahasa
pemrograman, proses translasi dilanjutkan bila suatu
kompiler menerima source code sebagai masukan dan
menghasilkan object code yang akan diterjemahkan
menjadi machine code. Bahasa pemrograman adalah
alat yang digunakan untuk komunikasi antara manusia
dan komputer.
Pemilihan Bahasa Pemrograman
Pemilihan bahasa pemrograman didasarkan atas :
 Lingkup aplikasi
 Algortima dan kompleksitas
 Lingkungan pemrograman
 Performansi
 Struktur data
 Pengetahuan pemrogram
 Ketersediaan komputer
Macam bahasa pemrograman :
 Bahasa C sering digunakan untuk pengembangan
 Bahasa ADA, Modula2 untuk pemrograman waktu nyata
 Bahasa COBOL digunakan untuk aplikasi bisnis, tapi
tempatnya mulai digantikan oleh 4 GL
 Bahasa FORTRAN dominan dalam bidang rekayasa dan
sains
 Bahasa BASIC paling sering digunakan pada komputer
pribadi
 Bahasa LISP dan Prolog sering digunakan pada aplikasi
Kecerdasan Buatan
 Bahasa yang berkemabang untuk Object Oriented adalah
Smalltalk, C++, dan Eiffel
PENGUJIAN PERANGKAT LUNAK
 Pengujian perangkat lunak merupakan suatu tahapan
penting dalam pembangunan perangkat lunak. Pengujian
dilakukan dengan cara mengevaluasi konfigurasi perangkat
lunak yang terdiri dari spesifikasi kebutuhan, deskripsi
perancangan, dan program yang dihasilkan. Hasil evaluasi
kemudian dibandingkan dengan hasil uji yang diharapkan.
Jika ditemukan kesalahan, maka perbaikan perangkat lunak
harus dilakukan untuk kemudian diuji kembali.
Pengertian Pengujian

 Pengujian perangkat lunak adalah proses menjalankan dan


mengevaluasi sebuah perangkat lunak secara manual
maupun otomatis untuk menguji apakah perangkat lunak
sudah memenuhi persyaratan atau belum, atau untuk
menentukan perbedaan antara hasil yang diharapkan
dengan hasil sebenarnya. Peksanaan pengujian perangkat
lunak biasanya disesuaikan dengan metodologi
pembangunan perangkat lunak yang digunakan.
 Pada umumnya, pengujian dilakukan sesudah tahap
pemrograman. Namun demikian perencanaan pengujian
dilakukan mulai tahap-tahap analisis. Untuk pendekatan waterfall
model, tahap-tahap pengujian meliputi pengujian tahap analisis,
perancangan, implementasi, instalasi dan pemeliharaan.
Beberapa prinsip pengujian yang harus diperhatikan.
1. Dapat dilacak hingga ke persyaratan atau dokumen SRS
2. Pengujian harsu direncanakan sebelum pelaksanaan pengujian
3. Pengujian harus dimulai dari hasl yang kecil, diteruskan ke hal-
hal yang besar.
4. Pengujian yang berlebihan tidak akan mungkin dapat
dilaksanakan
5. Pengujian sebaiknya dilakukan oleh pihak ketiga.
Tujuan Pengujian
Tujuan yang diinginkan dari pelaksanaan
pengujian perangkat lunak adalah :
1. Menilai apakah perangkat lunak yang
dikembangkan telah memenuhi kebutuhan
pemakai.
2. Menilai apakah tahap pengembangan perangkat
lunak telah sesuai dengan metodologi yang
digunakan.
3. Membuat dokumentasi hasil pengujian yang
Menginformasikan kesesuaian perangkat lunak
yang diuji dengan spesifikasi yang telah ditentukan.
Tahap-Tahap Pengujian

Untuk setiap tahap pengembangan, pelaksanaan pengujian


perangkat lunak secara umum mengikuti tahap-tahap sebagai
berikut :
1. Tentukan apa yang akan diukur melalui pengujian
2. Bagaimana pengujian akan dilaksanakan
3. Membangun suatu kasus uji (test case), yaitu sekumpulan
data atau situasi yang akan digunakan dalam pengujian.
4. Tentukan hasil yang diharapkan atau hasil sebenarnya .
5. Jalankan kasus pengujian
6. Bandingkan hasil pengujian dan hasil yang diharapkan.
Pengujian Tahap Analisis

Pengujian pada tahap analisis ditekankan pada validasi


terhadap kebutuhan, 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 pada tahap analisis ini
meliputi :
1. Kebutuhan yang berkaitan dengan metodelogi
2. Pendefinisian spesifikasi fungsional
3. Penentuan spesifikasi kegunaan
4. Penentuan kebutuhan portabilitas
5. Pendefinisian antar muka sistem.
Pengujian Tahap Perancangan
 Pengujian tahap perancangan bertujuan untuk menguji struktur
perangkat lunak yang diturunkan dari kebutuhan. Kebutuhan
yang bersifat umum dirinci menjadi bentuk yang lebih spesifik .
 Faktor-faktor pengujian yang dilakukan pada tahap perancangan
meliputi :
1. Perancangan yang berkaitan dengan kebutuhan
2. Kesesuaian perancangan dengan metodologi dan teori.
3. Portabilitas rancangan
4. Perancangan yang dirawat
5. Kebenaran rancangan berkaitan dengan fungsi dan aliran data.
6. Kelengkapan perancangan antar muka.
Pengujian Tahap Implementasi

Pengujian pada tahap ini merupakan pengujian unit-


unit yang dibuat sebelum diintegrasikan mejadi
aplikasi keseluruhan. Faktor-faktor pengujian yang
dilakukan pada tahap implementasi meliputi :
1. Kendali integritas data
2. Kebenaran program
3. Kemudahan pemakaian
4. Sifat coupling
5. Pengembangan prosedur operasi.
Pengujian Tahap Pengujian
Tujuan pengujian pada tahap ini adalah untuk menilai
apakah spesifikasi program telah ditulis menjadi
instruksi-instruksi yang dapat dijalankan pada mesin.
Selain itu, juga untuk menilai apakah instruksi yang
ditulis tersebut telah sesuai dengan spesifikasi
program. Faktor-faktor pengujian yang dilakukan pada
tahap ini meliputi :
1. Pengujian fungsional
2. Dukungan manual
3. Kemudahan operasi.
Pengujian dengan Kasus Uji

 Pengujian yang dilakukan meliputi pengujian unit (berupa


prosedur atau fungsi) dan pengujian sistem.
 Dalam pengujian unit, unit-unit yang diuji meliputi unit-
unit yang ada dalam sistem. Sedangkan pengujian sistem
dilakukan terhadap sistem secara keseluruhan.
 Setiap pengujian dilakukan dengan menggunakan berbagai
data masukan, baik data yang valid maupun tidak.
TEKNIK PENGUJIAN

Ada dua teknik pengujian yang dapat digunakan untuk


menguji perangkat lunak, yaitu :
1. Teknik black box
2. White box testing.
Pengujian Black Box
 Pengujian black box digunakan untuk menguji fungsi-fungsi khusus dari
perangkat lunak yang dirancang.
 Pada teknik ini, kebenaran perangkat lunak yang diuji hanya
dilihaberdasarkan keluaran yang dihasilkan dari data atau kondisi masukan
yang diberikan untuk fungsi yang ada tanpa melihat bagaimana proses
untuk mendapatkan keluaran tersebut.
 Dari keluaran yang dihasilkan, kemampuan program dalam memenuhi
kebutuhan pemakai dapat diukur sekaligus dapat diiketahui kesalahan-
kesalahannya.
 Beberapa jenis kesalahan yang dapat diidentifikasi :
1. Fungsi tidak benar atau hilang
2. Kesalahan antar muka
3. Kesalahan pada struktur data (pengaksesan basis data)
4. Kesalahan inisialisasi dan akhir program
5. Kesalahan performasi.
Pengujian White Box
 Berbeda dengan teknik black box teknik ini digunakan untuk
mengetahui cara kerja suatu perangkat lunak secara internal.
Pengujian dilakukan untuk menjamin operasi-operasi internal
sesuai dengan spesifikasi yang telah ditetapkan dengan
menggunakan struktur kendali dari prosedur yang dirancang.
Pelaksanaan pengujian white box :
 Menjamim seluruh independent path dieksekusi paling sedikit satu
kali. Independent path adalah jalur dalam program yang
menunjukkan paling sedikit satu kumpulan proses ataupun kondisi
baru.
 Menjalani logical decision pada sisi dan false
 Mengeksekusi pengulangan (looping) dalam batas-batas yang
ditentukan
 Menguji struktur data internal.
Strategi Pengujian
 Digunakan untuk mengintegrasikan metode-metode
perancangan kasus pengujian perangkat lunak menjadi suatu
langkah-langkah terencana dengan tujuan mendapatkan
perangkat lunak yang sukses. Setiap strategi pengujian
Perangkat lunak harus meliputi perencanaan pengujian,
perancangan kasus-kasus uji, eksekusi pengujian, Pengumpulan
data, serta evaluasi.
1. Pengujian 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 fokus 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 suatu
cara yang diharapkan oleh pemakai.
4. Pengujian sistem
Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer.
 Recovery testing
Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diuji
normalisasinya.
 Security testing
Dilakukan untuk menguji mekanisme proteksi
 Stess testing
Pengujian yang dirancang untuk menghadapkan suatu perangkat lunak kepada situasi yang
tidak normal.
Pemeliharaan perangkat Lunak
Karakteristik perawatan perangkat lunak :
 Aktivitas yang dilakukan untuk menyelesaikan kesalahan
yang tidak terdeteksi sebelumnya dan muncul pada saat
penggunaan perangkat lunak tersebut.
 Aktivitas yang membantu memecahkan perubahan
teknologi komputer yang sangat cepat .
 Aktivitas yang membantu mengatasi kebutuhan
rekomendasi kapabilitas perangkat lunak yang baru.
 Aktivitas yang membantu mengantisipasi perubahan
bentuk peningkatan reliabilitas masa yang akan datang.
SDLC
Perencanaan Sistem

Analisis Sistem
Rancangan Sistem Umum

Evaluasi dan Seleksi Sistem

Rancangan Sistem Terinci

Pengembangan Perangkat Lunak & Implementasi Sistem

Pengemb. Peranc. Peng- Pengujian Imp.


PL PL codean PL PL PL

Pemeliharaan Sistem
“ Pemeliharaan sistem berawal begitu
sistem baru menjadi operasional dan
berakhir masa hidupnya ”

Jenis Pemeliharaan :
• Pemeliharaan Korektif
• Pemeliharaan Adaptif
• Pemeliharaan Penyempurnaan
• Pemeliharaan Preventif
Siklus Hidup
Pemeliharaan Sistem
(SMLC)
Tahapan SMLC :
• Memahami Permintaan Pemeliharaan
• Mentransformasi permintaan pemeliharaan menjadi pengubahan
• Menspesifikasi perubahan
• Mengembangkan perubahan
• Menguji perubahan
• Melatih pengguna dan melakukan test penerimaan
• Pengkonversian dan meluncurkan operasi
• Mengupdate Dokumen
• Melakukan pemeriksaan Pasca implementasi
Maintainability
(Kemampuan pemeliharaan sistem)

Prosedur untuk peningkatan maintainability :


• Menerapkan SDLC dan SWDLC
• Menspesifikasi definisi data standar
• Menggunakan bahasa pemrograman standart
• Merancang modul-modul yang terstruktur dengan baik
• Mempekerjakan modul yang dapat digunakan kembali
• Mempersiapkan dokumentasi yang jelas, terbaru dan
komprehensif
• Menginstall perangkat lunak, dokumentasi dan soal-soal test di
dalam sentral repositor sistem CASE atau CMS (change
management system)
Tiga pendekatan untuk menyusun Pemeliharaan
sistem :
• Pendekatan Pemisahan
Pemeliharaan dan Pemeliharaan
• Pendekatan Gabungan
Menggabungkan personalia penyusun dan
pemelihara menjadi sebuah kelompok utama
sistem informasi
• Pendekatan Fungsional
Variasi dari pendekatan gabungan dengan
memindahkan tenaga profesional sistem dari
sistem informasi dan menugasi mereka pada
fungsi bisnis untuk penyusunan maupun
pemeliharaan.
Ada 5 CASE Tools yang membantu
pemeliharaan sistem dari sistem lama
dan membantu memecahkan
kemacetan timbunan sistem baru yang
belum dikerjakan :

• Rekayasa Maju (Forward engineering)


• Rekayasa Mundur (Reverse engineering)
• Rekayasa Ulang (Reengineering)
• Restrukturisasi (restrukturing)
• Sistem Pakar Pemeliharaan (Maintenance
expert system)
Mengelola Pemeliharaan Sistem

• Menetapkan Kegiatan Pemeliharaan Sistem


• Mengawali dan merekam kegiatan
pemeliharaan sistem tidak terjadwal (Form
Maintenance Work Order : Pekerjaan yang
diperlukan/dilakukan, waktu yang diperkirakan
dibandingkan dengan waktu yang sebenarnya,
kode pemeliharaan, biaya pemeliharaan)
• Menggunakan sistem perangkat lunak help-
desk
• Mengevaluasi aktivitas pemeliharaan sistem
• Mengoptimalkan program pemeliharaan sistem
Test Master Quality Assurance
Master File (QAMF)
File (TMF)

Maintenance Librarian Function Management


work orders Facility (LFF) report and
(WO) audit trails

Production
Master File
Logouts (PMF)
Programmer Backup Master
Workstation File (BMF)
Logins

Load modules
for operations
Resiko apa saja yang
CMS hindarkan ?

• Kekurangan inventaris program perangkat lunak yang akurat dan


sumber-sumber sistem informasi lainnya.
• Ketidak lengkapan sejarah perubahan program
• Modul-modul program perangkat lunak terduplikasi
• Perubahan program perangkat lunak yang tidak sah
• Kekurangan dokumentasi yang jelas, komprehensif dan terbaru
• Rendahnya kualitas dan reabilitas perangkat lunak

Anda mungkin juga menyukai