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.