SISTEM KRITIS

Download Report

Transcript SISTEM KRITIS

Rekayasa Perangkat Lunak

Yaitu Sistem yang apabila terjadi kegagalan,
maka dapat mengakibatkan kerugian
ekonomi yang besar, kerusakan fisik atau
mengancam hidup manusia.

Sistem kritis dalam hal keselamatan
 Sistem yang kegagalannya dapat mengakibatkan cedera,
kematian atau kerusakan lingkungan. Contoh : sistem kendali
untuk pabrik kimia

Sistem kritis dalam hal misi
 Kegagalannya dapat mengakibatkan kegagalan pada suatu
kegiatan yang diarahkan pada suatu tujuan. Contoh : Sistem
navigasi pesawat udara.

Sistem kritis dalam hal bisnis
 Kegagalannya dapat mengakibatkan kegagalan pada bisnis
yang menggunakan sistem tersebut. Contoh : Sistem rekening
nasabah pada sebuah bank

Langsung
 Karena sistem harus diganti

Tidak langsung
 Biaya proses pengadilan
 Kerugian bisnis yang terjadi karena sistem tidak
tersedia

Hardware: disebabkan karena :
 Kesalahan dalam perancangan
 Komponen rusak karena kesalahan manufaktur
 Komponen telah mencapai akhir masa pakai


Software : karena kesalahan dalam perincian,
perancangan, atau implementasi
Operator sistem : gagal menjalankan sistem
dengan benar

Dependabilitas
 Properti dari sistem
 Sama dengan keterpercayaan (trustworthiness)
 Yaitu derajad kepercayaan user bahwa sistem
yang akan beroperasi sebagaimana yang mereka
harapkan
 Atau sistem tidak akan gagal dalam penggunaan
yang normal

Ketersediaan (Availability)
 Probabilitas bahwa sistem dapat bekerja dan
memberikan layanan yang berguna setiap saat

Keandalan (Reliability)
 Probabilitas bahwa dalam jangka waktu tertentu
bahwa sistem akan memberikan layanan dengan
benar sesuai harapan user

Keselamatan (Safety)
 Penilaian pada seberapa besar kemungkinan
sistem akan menyebabkan kerusakan terhadap
orang dan lingkungan sistem

Keamanan (Security)
 Penilaian pada seberapa besar kemungkinan
sistem dapat bertahan terhadap campur tangan
yang disengaja atau tidak disengaja



Sistem otomatis
Memonitor tingkat gula darah dan
menyalurkan dosis insulin saat dibutuhkan
Bekerja dengan sensor mikro yang terpasang
dalam tubuh pasien

Ada 3 dimensi dependabilitas yg berlaku
 Ketersediaan :
▪ Sistem hrs tersedia untuk memberikan insulin saat
dibutuhkan
 Keandalan :
▪ Sistem hrs bekerja andal dan mengalirkan jumlah insulin
yang tepat
 Keselamatan :
▪ Kegagalan sistem dapat mengakibatkan pemberian
dosis yg berlebihan shg mengancam hidup pasien



Keandalan mencakup ketersediaan
Karena jika suatu layanan yg telah ditentukan
tidak diberikan, maka sistem tidak akan
berjalan sebagaimana mestinya
Namun ada sistem yg dapat mentolerir
kegagalan yg relatif sering terjadi, namun
memiliki persyaratan ketersediaan yg cukup
tinggi  cth : saklar hub telepon


Jika sistem A gagal sekali setahun dan sistem
B gagal sekali sebulan, maka A lebih dapat
diandalkan dibanding B
Tetapi jika A membutuhkan 3 hari untuk
dapat bekerja kembali sementara B
membutuhkan 10 menit,maka ketersediaan B
selama setahun jauh lebih besar ketimbang A

Keandalan :
 Probabilitsas sistem yg bebas dr kegagalan dlm
kurun waktu tertentu pada suatulingkungan
tertentu dan untuk tujuan yg tertentu pula

Ketersediaan :
 Probabilitas bahwa suatu sistem pada suatu
waktu akan bekerja dan dapat memberikan
layanan yang diminta

Tiga pendekatan yg saling melengkapi yg
dapat digunakan untuk memperbaiki
keandalan sistem :
 Penghindaran kesalahan
menghindari konstruksi bhs pemrograman yg rentan thd eror (pointer,
rekursi, dll)
 Deteksi dan buang kesalahan
Pengujian dan debug sistem
 Toleransi kesalahan
Menjamin bahwa kesalahan sistem tidak menghasilkan eror atau menjamin
bahwa eror sistem tidak mngakibatkan kegagalan



Tidak semua kesalahn PL memiliki
kemungkinan yang sama untuk
mengakibatkan kegagalan PL
Sebuah program mungkin mengandung
kesalahan yg diketahui namun tetap dapat
diandalkan oleh usernya
User yg berpengalaman seringkali “berputar
menghindari” kesalahan PL yg diketahui akan
menyebabkan kegagalan.

Yaitu atribut sistem yg merefleksikan
kemampuan sistem untuk beroperasi secara
normal atau abnormal tanpa membahayakan
manusia atau lingkungan
Contoh : sistem kontrol dan monitor pada
pesawat udara, sistem kontrol proses pada
pabrik kimia dan farmasi, dan sistem kontrol
pada mobil
PL lunak yg kritis dalam hal keselamatan terbagi atas :
1. PL kritis keselamatan primer
 PL yg menyatu sbg kontroler pada sistem
 Malfungsi PL menyebabkan malfungsi PK
 Menyebabkan cedera pada manusia atau kerusakan pada
lingkungan
2.
PL kritis keselamatan sekunder
 PL yg secara tidak langsung dapat menimbulkan cedera
 Cth : malfungsi sistem perancangan berbasis komputer
yg mengakibatkan kesalahan pd objek yg dirancang
Fakta menunjukkan bahwa :
“Kita tidak akan pernah 100% yakin bahwa
suatu sistem PL bebas dari kesalahan dan
bertoleransi terhadap kesalahan”
Ada beberapa alasan lain mengapa sistem PL
yg dapat diandalkan belum tentu menjamin
keselamatan
1. Spesifikasi mungkin tidak lengkap
Tingkat persentase malfungsi sistem yg tinggi merupakan akibat dari eror
spesifikasi, bukan eror perancangan.
2.
Malfungsi perangkat keras
Shg menyebabkan PL menghasilkan suatu lingkungan yg tidak dapat
diantisipasi
3.
Operator sistem
Ada 3 hal yg perlu dilakukan utk menjamin bahwa
kecelakaan tidak akan terjadi atau bahwa
konsekuensi kecelakaan akan minimal, yaitu :
1. Menghindari bahaya
2. Deteksi dan membuang bahaya
Cth : sistem pabrik pengolahan bahan kimia yg dpt mendeteksi tekanan yg
berlebihan dan akan membuka sebuah katup untuk mengurangi tekanan ini.
3.
Membatasi kerusakan
Dgn menyertakan fitur proteksi yg akan meminimalisasi kerusakan
cth : pemadam api otomatis, sebelum melukai penumpang dan awak pesawat



Yaitu penilaian sampai sejauh mana sistem
melindungi diri dari serangan eksternal yg
disengaja atau tidak.
Contoh serangan : virus, penggunaan yg
tidak syah atas layanan sistem, modifikasi yg
tidak diijinkan thd data atau sistem
Cth sistem yg memerlukan jaminan
keamanan tinggi : sistem militer, sistem ecommerce, dan sistem yg melibatkan
pertukaran informasi rahasia
Ada 3 jenis kerusakan yg dapat disebabkan oleh
serangan eksternal :
1. Penolakan layanan
 Sehingga layanan normal sistem tidak tersedia
2.
Korupsi program atau data
 Karena perubahan komponen PL
3.
Penyingkapan informasi rahasia



Keamanan semakin penting dgn beragamnya
sistem yg terhubung dgn internet
Atribut yg yg terpenting utk utk sistem
berbasis internet adalah “kemampuan
bertahan”
Yaitu kemampuan sistem untuk terus
meberikan layanan pada saat diserang atau
pada
saat
sebagian
sistem
telah
dilumpuhkan.

Karena biaya potensi kegagalan sistem
tinggi, maka penting untuk menjamin bahwa
spesifikasi sistem kritis harus berkualitas
tinggi dan dgn akurat merefleksikan
kebutuhan user sistem yg sebenarnya

Perlunya dependibilitas pd sistem kritis
menimbukan :
 Persyaratan fungsional
▪ Dibuat utk mendefenisikan pemeriksaan eror dan
fasilitas pemulihan serta fitur2 yg memberikan proteksi
thd kegagalan sistem
 Persyaratan non-fungsional
▪ Untuk mendefenisikan keandalan dan ketersediaan
sistem yg dibutuhkan

Persyaratan lain yg hrs dipertimbangkan adalah
persyaratan “tidak akan”, yaitu :
 Sistem tidak akan memperbolehkan user mengubah
ijin akses terhadap file manapun yg tidak mereka buat
(keamanan)
 Sistem tidak akan memperbolehkan dipilihnya
metode mendorong ke belakang (reverse thrust
mode) ketika pesawat sedang terbang (keselamatan)
 Sistem tidak akan membolehkan aktivasi lebih dari
tiga sinyal alarm secara bersamaan (keselamatan)

Ada 3 dimensi ketika menspesifikasikan keandalan sistem
secara menyeluruh :
 Keandalan PK
 Keandalan PL
 Keandalan operator
Kegagalan PK dpt menyebabkan sinyal palsu yg berada
diluar kisaran input
 Shg PL dp berprilaku spt yg tidak diharapkan
 Prilaku sistem yg tidak diharapkan dpt membingungkan
operator dan mengakibatkan stres operator
 Error operator sangat mungkin terjadi dalam kondisi stres,
shg akan memberikan input yg tidak benar.




Operasi yg selamat mrpk karakteristik yg
dibutuhkan pada sistem PL yg berhubungan
dgn keselamatan
Setiap bahaya harus dinilai terhadap resiko
yg dimiliki
Selanjutnya mendeskripsikan bagaimana PL
harus berprilaku utk meminimalisasi resiko
atau mempersyratkan bahwa bahaya tidak
boleh terjadi


Tujuannya utk menemukan bahaya potensial
yg mungkin muncul, akar penyebab bahaya,
dan resiko yg berhubungan dgnnya.
Proses iteratif dr analisis biaya dan resiko :
 Identifikasi bahaya  petir, gempa bumi, dll
 Analisis resiko dan klasifikasi biaya
 Penguraian bahaya  penyebab
 Penilaian reduksi resiko
Pohon
kesalahan yg
dapat
diidentifikasi utk
bahaya yg
mungkin muncul
yg berhubungan
dgn PL pada
sistem
penyaluran
insulin
Incorrect
insulin dose
administered
or
Incorrect
sugar level
measured
Correct dose
delivered at
wrong time
Delivery
system
failure
or
Sensor
failure
or
Sugar
computation
error
Timer
failure
Insulin
computation
incorrect
or
or
Algorithm
error
Pump signals
incorrect
Arithmetic
error
Algorithm
error
Arithmetic
error

Pengurangan resiko :
 Penghindaran bahaya
▪ Sistem dirancang shg bahaya tidak muncul
 Deteksi dan pembuangan bahaya
▪ Sistem dirancang shg bahaya terdeteksi dan
dinetralisasi sebelum menimbulkan kecelakaan
 Pembatasan kerusakan
▪ Sistem dirancang shg konsekuensi kecelakaan
diminimalisasi

Tahap proses spesifikasi keamanan :
 Identifikasi dan evaluasi aset (data dan program)
 Analisis ancaman dan penilaian resiko
 Penggolongan ancaman
 Analisis teknologi

Ada 2 pendekatan komplementer yg dapat
dipakai jika tujuannya adalah
mengembangkan PL yg dapat diandalkan :
 Penghindaran kesalahan
▪ Meminimalisasi eror manusia dan membantu
menemukan kesalahan sistem sebelum sistem dipakai
 Toleransi kesalahan
▪ Sistem hrs dirancang sedemikian rupa shg kesalahan
selama eksekusi akan terdeteksi dan tertangani.

PL yg bebas dr kesalahan adalah PL yg dgn
tepat mengikuti spesifikasinya.

Namun PL yg bebas dr kesalahan belum
tentu bebas dari kesalahan
Persyaratan utk pengembangan PL yg bebas dr
kesalahan :
1. Harus ada spesifikasi sistem yg tepat
2. Organisasi yg mengembangkan sistem hrs memiliki
kultur kualitas organisasi
3. Hrs digunakan pendekatan perancangan dan
implementasi PL yg berdasarkan penyembunyian
informasi dan enkapsulasi
4. Gunakan bhs pemrograman yg strongly-typed (dpt
mendeteksi kesalahan lebih banyak oleh kompilator)
5. Menghindari penulisan yg potensial rentan thd error
6. Proses pengembangan hrs didefenisikan. Manajer
kualitas hrs memeriksa kesesuaian proses


Stetement goto merupakan konstruksi
pemrograman yg secara bawaan rentan thd
eror
Pemrograman terstruktur berarti :
 pemrograman tanpa penggunaan statement goto
 Hanya menggunakan loop while dan statement if
sebagai konstruksi kontrol

Pemrog terstruktur mrpk batu loncatan yg
penting bagi pengembangan RPL


Komponen2program harus diperbolehkan
akses hanya ke data yg mereka butuhkan
untuk implementasi.
Peyembunyian informasi akan
mengakibatkan inf yg disembunyikan tidak
dapat dirusak oleh komponen2 program yg
tidak seharusnya menggunakannya.




Tujuannya utk menjamin bahwa kesalahan
sistem tidak mengakibatkan kegagalan
sistem
Diperlukan pada situasi dimana kegagalan
sistem dapat menyebabkan kecelakaan hebat
Atau kerugian operasi sistem akan
menyebabkan kerugian ekonomi yg besar
Bebas kesalahan tidak berarti bebas
kegagalan
Aspek toleransi kesalahan :
1. Deteksi kesalahan
2. Penilaian kerusakan
3. Pemulihan kerusakan status aman
4. Perbaikan kesalahan


Proses V&V harus mendemonstrasikan
bahwa sistem memenuhi spesifikasinya dan
bahwa layanan dan prilaku sistem
mendukung persyaratan klien
Shg diperlukan penambahan analisis dan
pengujian normal, karena :
 Biaya kegagalan  jauh lebih besar dr pd sistem
non-kritis
 Validasi atribut tingkat dependabilitas 
meyakinkan user



Lebih dari 50% biaya pengembangan total
utk sistem PL kritis  agar kegagalan sistem
yg mahal terhindari
Contoh : kegagalan sistem PL dalam hal misi
pada roket Ariane 5 th 1996, yg
mengakibatkan beberapa satelit rusak.
Kualitas sistem dipengaruhi oleh kualitas
proses yg dipakai untuk mengembangkan
sistem.