SISTEM KRITIS Defenisi • Yaitu Sistem yang apabila terjadi kegagalan, maka dapat mengakibatkan kerugian ekonomi yang besar, kerusakan fisik atau mengancam hidup manusia. Ada 3 tipe utama sistem kritis • 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 Biaya Kegagalan Sistem • Langsung – Karena sistem harus diganti • Tidak langsung – Biaya proses pengadilan – Kerugian bisnis yang terjadi karena sistem tidak tersedia Komponen sistem yang rentan terhadap kegagalan • 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 Sistem Kritis • 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 Dimensi dependabilitas : • 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 Contoh: sistem penyaluran insulin untuk mengontrol diabetes : • 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 KETERSEDIAAN & KEANDALAN • Keandalan mencakup ketersediaan • Krn 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. KESELAMATAN • 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 KEAMANAN • 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. SPESIFIKASI SISTEM KRITIS • 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 Spesifikasi keandalan PL • 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 • Eror operator sangat mungkin terjadi dalam kondisi stres, shg akan memberikan input yg tidak benar. Spesifikasi keselamatan PL • 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 Analisa biaya dan resiko • 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 Analisa Pohon kesalahan Pohon kesalahan yg dapat diidentifikasi utk bahaya yg meungkin 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 Spesifikasi Keamanan • Tahap proses spesifikasi keamanan : – Identifikasi dan evaluasi aset (data dan program) – Analisis ancaman dan penilaian resiko – Penggolongan ancaman – Analisis teknologi PENGEMBANGAN SISTEM KRITIS • 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. Minimalisasi Kesalahan • 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 eror 6. Proses pengembangan hrs didefenisikan. Manajer kualitas hrs memeriksa kesesuaian proses Penghindaran Eror • 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 Penyembunyian Informasi • 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. Toleransi Kesalahan • 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 VALIDASI SISTEM KRITIS • 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.