Anda di halaman 1dari 30

MAKALAH

TOLERANSI KEGAGALAN (FAULT TOLERANCE)


“Diajukan untuk memenuhi tugas terstruktur dalam mata kuliah Sistem
Terdistribusi”

Dosen Pengampu: Yulifda Elin Yuspita, M.Kom

DISUSUN OLEH:
KELOMPOK 9
Naylan Nadzifah (2521134)
Muhammad Ziqri (2521148)
Habib Maulana Febrianda (2521154)

JURUSAN PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER


FAKULTAS TARBIYAH DAN ILMU KEGURUAN
UNIVERSITAS ISLAM NEGERI
SJECH M. DJAMIL DJAMBEK BUKITTINGGI
2022/2023
KATA PENGANTAR
Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha
Penyayang, kami panjatkan puja dan puji syukur atas kehadirat-Nya yang telah
melimpahkan Rahmat, hidayah, dan Inayah-Nya kepada kami, sehingga kami dapat
menyelesaikan Makalah Toleransi Kegagalan (Fault Tolerance) ini.

Adapun penyusunan makalah ini telah kami upayakan dengan semaksimal


mungkin dan tentunya dengan bantuan berbagai pihak. Namun tidak lepas dari semua
itu, kami menyadari sepenuhnya bahwa ada kekurangan baik dari segi penyusunan
bahasanya maupun segi lainnya. Semua itu bukan unsur kesengajaan kami, tetapi
dikarenakan kurangnya ilmu dan pengetahuan kami dalam ilmu ini.

Oleh karena itu, dengan lapang dada dan tangan terbuka, kami membuka
selebar-lebarnya bagi pembaca yang ingin memberi saran dan kritik kepada kami,
sehingga kami dapat memperbaiki makalah ini kedepannya agar lebih baik lagi.

Bukittinggi, 27 Maret 2023

Kelompok 9

i
DAFTAR ISI
KATA PENGANTAR...............................................................................................i
DAFTAR ISI.............................................................................................................ii
BAB I PENDAHULUAN........................................................................................1
A. Latar Belakang.......................................................................................1
B. Rumusan Masalah.................................................................................1
C. Tujuan.....................................................................................................1
BAB II PEMBAHASAN..........................................................................................2
A. Pengertian Toleransi Kegagalan.................................................................2
B. Karakteristik Kegagalan.............................................................................7
C. Jenis Kegagalan............................................................................................9
D. Deteksi Kegagalan........................................................................................19
E. Teknik Mencegah Kegagalan......................................................................20
BAB III PENUTUP..................................................................................................25
A. Kesimpulan...................................................................................................25
B. Saran.............................................................................................................26
DAFTAR PUSTAKA...............................................................................................27

ii
BAB I
PENDAHULUAN
A. Latar Belakang
Toleransi kegagalan (fault tolerance) adalah kemampuan suatu sistem
atau perangkat lunak untuk terus beroperasi secara normal meskipun terjadi
kegagalan atau kesalahan pada komponen tertentu dalam sistem tersebut.
Konsep toleransi kegagalan diperkenalkan untuk pertama kalinya di bidang
teknologi penerbangan pada tahun 1940-an, di mana kesalahan atau
kegagalan sistem dapat berakibat fatal bagi keselamatan penumpang dan
awak pesawat.
Namun, seiring dengan perkembangan teknologi, konsep toleransi
kegagalan juga diterapkan dalam berbagai jenis sistem, termasuk di bidang
teknologi informasi. Sistem komputer yang beroperasi terus-menerus dan
sangat bergantung pada keandalan perangkat keras dan lunak dapat
mengalami kerusakan atau kesalahan yang dapat menyebabkan kegagalan
sistem secara keseluruhan.
Oleh karena itu, penggunaan toleransi kegagalan sangat penting dalam
sistem informasi untuk memastikan bahwa meskipun terjadi kegagalan pada
salah satu komponennya, sistem masih dapat berfungsi dengan baik dan tidak
mengalami kerusakan yang signifikan. Konsep ini telah menjadi prinsip dasar
dalam perancangan sistem informasi yang aman, handal, dan dapat
diandalkan.
B. Rumusan Masalah
1. Jelaskan pengertian toleransi kegagalan!
2. Bagaimana karakteristik kegagalan?
3. Apa saja jenis kegagalan?
4. Apa itu deteksi kegagalan?
5. Bagaimana teknik mencegah kegagalan?
C. Tujuan
1. Untuk mengetahui Pengertian Toleransi Kegagalan.
2. Untuk mengetahui Karakteristik Kegagalan.
3. Untuk mengetahui Jenis Kegagalan.
4. Untuk mengetahui Deteksi Kegagalan.
5. Untuk mengetahui Teknik Mencegah Kegagalan.
1
BAB II
PEMBAHASAN
A. Pengertian Toleransi Kegagalan
Secara etimologi atau bahasa, toleransi (Inggris: tolerance) merupakan
kata benda (noun), sedangkan toleran (Inggris: tolerant) sebagai kata sifat
(adjective). Dalam kamus Al-Munawwir (2009: 657), kata bahasa Arab yang
bermakna toleransi yaitu tasamuh. Untuk kata padanannya misalnya samh,
samhah, samahah berarti toleran, kemurahan hati, kelapangan dada.
Tasamuh dan kata padanannya berakar dari kata samuha yang
mempunyai banyak arti; murah hati, suka berderma, memberikan,
mendermakan, mengizinkan, bersikap halus, lemah lembut dan ramah.
Secara terminologi atau istilah, menurut Kamus Besar Bahasa
Indonesia (2008: 1538), toleransi yaitu bersifat atau bersikap menenggang
(menghargai, membiarkan, membolehkan) pendirian (pendapat, pandangan,
kepercayaan, kebiasaan, kelakuan, dsb) yang berbeda atau bertentangan
dengan pendirian sendiri.
Kegagalan dalam bahasa Indonesia berasal dari kata gagal. Menurut
KBBI, kata gagal memiliki dua arti yaitu pertama, tidak berhasil, tidak
tercapai, maksudnya adalah keinginannya untuk menjadi juara. Kedua, tidak
jadi, seperti gagal panen yang artinya tidak jadi panen.
Toleransi kegagalan (fault tolerance) adalah kemampuan sistem untuk
melanjutkan operasinya ketika sebagian dari sistem tersebut gagal karena
adanya kegagalan peranti keras, kesalahan dalam program aplikasi, atau
kesalahan operator. Berdasarkan salah satu dari empat besar kantor akuntan
publik, 44 persen dari kegagalan sistem disebabkan oleh kegagalan sistem.
Persentase inilebih besar daripada yang disebabkan oleh bencana alam atau
bencana akibat manusia. Berbagai tingkat toleransi kegagalan dapat
diwujudkan melalui implementasi beberapa komponen sistem yang redundan:

1. Redundant array of inexpensive (independent) disks (RAID). Terdapat


beberapa jenis konfigurasi RAID. Pada dasarnya, tiap metode melibatkan
penggunaan beberapa disker paralel yang berisi berbagai elemen data dan
aplikasi yang redundan. Jika salah satu disket gagal, maka data yang

2
hilang secara otomatis akan direkonstruksi dari komponen redundan yang
disimpan dalam disket lainnya.
2. Uninterruptable power supplies (UPS). Jika terjadi pemadaman listrik,
maka sumber listrik cadangan dengan tenaga baterai yang tersedia akan
memungkinkan sistem untuk mematikan dirinya secara terkendali. Proses
ini akan mencegah hilangnya dan rusaknya data yang dapat terjadi akibat
dari kegagalan sistem yang tidak terkendali.
3. Multipemrosesan. Penggunaan yang simultan dua atau lebih prosesor
meningkatkan jumlah pemrosesan yang dapat dijalankan dalam operasi
normal. Jika terjadi kegagalan prosesor, berbagai prosesor sama lainnya
akan menyeimbangkan beban kerja dan memberikan bantuan penuh.

Mengimplementasikan pengendalian toleransi kegagalan akan


memastikan bahwa tidak ada satu pun titik potensi kegagalan sistem.
Kegagalan total hanya dapat terjadi jika timbul kegagalan dalam beberapa
komponen sekaligus.

Sistem dapat dirancang dalam suatu cara yang secara otomatis dapat
pulih dari kegagalan (kerusakan) parsial (sebagian)

Fault-tolerance adalah properti yang memungkinkan suatu system


untuk terus beroperasi dengan benar bahkan jika suatu kerusakan (failure)
terjadi pada waktu operasi.

Sebagai Contoh, TCP dirancang untuk menyediakan komunikasi dua-


arah yang reliable (dapat diandalkan) dalam jaringan packet-switched,
bahkan dalam kehadiran link komunikasi yang tidak sempurna dan
berbeban3lebih (overloaded).
Apa Itu Kegagalan? Kegagalan merupakan suatu deviasi (simpangan)
dari jalan yang telah ditetapkan (specified behavior). Misal, menekan pedal

3
rem tidak menghentikan mobil merupakan kegagalan rem hal ini dapat
menjadi bencana besar. Pemisalan lainnya, membaca suatu sector disk tidak
memperoleh konten kegagalan disk (bukan bencara cukup besar). Banyak
kegagalan disebabkan oleh perilaku spesifik yang salah. Ini biasanya terjadi
ketika perancang gagal mengatasi skenario yang membuat sistem melakukan
salah. Terutama benar dalam sistem yang kompleks dengan banyak interaksi
yang halus
Untuk memahami peran dari toleransi kesalahan di dalam sistem
tersebar, kita kebutuhan pertama untuk melihat lebih dekat pada apa yang itu
benar-benar berarti karena suatu sistem tersebar untuk toleransi terhadap
kesalahan-kesalahan. Toleran kesalahan adalah betul-betul dihubungkan
dengan apakah menyebut sistem yang ketergantungan.
Toleransi kegagalan adalah metode dinamis yang digunakan untuk
menjaga sistem yang saling berhubungan bersama, mempertahankan
keandalan, dan ketersediaan dalam sistem terdistribusi. Metode redundansi
perangkat keras dan lunak adalah teknik toleransi kegagalan yang dikenal
dalam sistem terdistribusi. Metode perangkat keras memastikan penambahan
beberapa komponen perangkat keras seperti CPU, tautan komunikasi,
memori, dan perangkat I/O sementara dalam metode toleransi kesalahan
perangkat lunak, program spesifik dimasukkan untuk mengatasi kesalahan.
Mekanisme toleransi kesalahan yang efisien membantu dalam mendeteksi
kesalahan dan jika memungkinkan pulih dari itu. Secara tradisional, fault
tolerance mengacu pada pengembangan subsystem dari komponen redundant
yang ditempatkan secara paralel.
Pada sistem penerbangan terlihat adanya kombinasi komputer
redundant dan versi software redundant, versi software redundant dengan
spesifikasi yang sama, pada dasarnya mengacu pada pemrograman N versi.
Pemrograman ini merupakan pengembangan paradigma fault tolerance yang
mengeksekusi banyak program (yang dirancang/ditulis secara independen
dan menerapkan fungsi yang sama) secara paralel dan mengambil keputusan
dari sejumlah hasil yang nilai keluarannya sering berubah. Software
berkemampuan fault tolerance jika dan hanya jika:
1. Program mampu mengkomputasi acceptable result meskipun program itu
sendiri mengalami kekurangan dari logika yang tidak tepat, dan
4
2. Program apakah benar atau tidak, mampu mengkomputasi acceptable
result meskipun program itu sendiri menerima data terkorupsi selama
eksekusi.
Kunci pokok ada pada acceptable, mencakup karakteristik seperti
correctness/ safety, dan hal ini berdasarkan pada sistem. Interprestasi
software fault tolerance dihasilkan dari kombinasi prinsip-prinsip software
safety dan robustness design. Hal yang membedakan antara robustness dan
fault tolerance didasarkan pada apakah kondisi yang tidak diharapkan tadi
terduga atau tidak terduga. Robustness berkaitan dengan masalah yang
terduga dan harus diantisipasi sedangkan fault tolerance berkaitan dengan
masalah tak terduga yang juga harus diantisipasi.
Untuk software kritis, pada dasarnya terdapat tiga kondisi yang
dihasilkan dari eksekusi program: (1) benar, (2) tidak benar tetapi dapat
diterima dan tidak berbahaya, (3) berbahaya. Software fault tolerance,
mengacu pada kemampuan software untuk menghasilkan keluaran yang
dapat diterima ‘acceptable’ berkaitan dengan status program yang terjadi
selama eksekusi. Software safety mengacu pada kemampuan software
menghasilkan keluaran tak berbahaya berkaitan dengan status program
selama eksekusi. Keluaran tak berbahaya didefinisikan oleh persyaratan
tingkat keamanan sistem. Untuk itu software safety menurut pandangan fault
tolerance adalah tipe khusus dari software fault tolerance. Fault tolerance
mengacu pada kelompok output yang dapat ditolerir sedangkan software
safety mengacu pada kelompok output yang tak dapat ditolerir.
Dalam pengembangan software fault tolerant ini banyak
menggunakan algoritma yang dikenal dengan Byzantine Fault Tolerant
(Byzntine General Algorithm, oleh Lamport tahun 1982) dan banyak dibahas
dalam berbagai tulisan dari jurnal sampai bahan tesis. Miquel Castro dan
Barbara Liskov banyak melakukan penelitian baik teori maupun practical,
sehingga terkenal dengan Castro & Liskov’s BFT. Protocols. Aplikasi dari
BFT mencakup dari sistem operasi sampai aplikasi berbasiskan web (http
services) seperti FARGOS/VISTA. Baik komputer yang berdiri sendiri
maupun pada suatu jaringan sistem terdistribusi yang saling ketergantungan .
Teknologi ATM pada dunia perbankan saat ini terdiri dari beberapa metode.
Beberapa ATM dihubungkan melalui perangkat komunikasi dengan
5
komputer pusat yang dikenal sebagai ATM Controller/Switching (biasanya
komputer kelas mini atau main frame). Pendekatan lain adalah mesin-mesin
ATM ini dihubungkan dan dikendalikan oleh Personal Computer (PC Base).
Untuk memahami peran dari toleransi kegagalan di dalam sistem
tersebar, kita kebutuhan pertama untuk melihat lebih dekat pada apa yang itu
benar-benar berarti karena suatu sistem tersebar untuk toleransi terhadap
kesalahan-kesalahan. Toleran kegagalan adalah betul-betul dihubungkan
dengan apakah menyebut sistem yang ketergantungan.
Salah satu tujuan dalam membangun sebuah system terdistribusi adalah
memungkinkan untuk melakukan improvisasi terhadap kehandalan sistem. Ini
dilakukan karena setiap system pasti akan menemukan kesalahan atau
gangguan. Sehingga perlu untuk dibuat pencegahan atau solusi untuk
mengatasi masalah tersebut. Availability: kalaumesin mati (down), sistem
tetap harus berjalan dengan jumlah layananan yang tersisa.Dalam suatu
sistem terdistribusi komponen dalam system yang sangat vital terutama
padaresources (critical resources) berjumlah seminimal mungkin.
Yang dimaksud dengan critical resources adalah komponen dalam system
yang harus ada untuk menjalankan system terdistribusi.Secara umum, ada dua
jenis fault tolerant, yaitu fault tolerant secara hardware dan secara software.
Untuk itu, masing-masing Software dan Hardware harus di replikasi.
Sehingga kalau terjadi kegagalan/error maka yang lain akan menangani. Data
dalam sistem terdistribusi tidak boleh hilang, oleh karena itu copy dari data
atau resource lainnya tersebut disimpan secara redundan pada server lain, tapi
tetap harus dijaga konsistensi datanya. Hal ini memang berkaitan dengan
replikasi. Dengan membuat system terdistribusi yang fault tolerance maka
Sistem harus bisa mendeteksi kegagalan dan melakukan tindakan dasar
sebagai berikut:
1. Mask the fault (menutupi kegagalan): tugas harus dapat dilanjutkan
dengan menurunkankinerja tapi tanpa terjadi kehilangan data atau
informasi.
2. Fail Gracefully: membuat suatu antisipasi terhadap suatu kegagalan ke
suatu proseduryang telah di rencanakan dan memungkinkan untuk
menghentikan proses dalam waktuyang singkat tanpa
menghilangkan informasi atau data.
6
B. Karakteristik Kegagalan
Sistem dikatakan gagal (fail) apabila tidak mampu memenuhi
spesifikasi tekniknya. Sistem Komputer dapat gagal karena kesalahan
beberapa komponen seperti: Processor, memory, I/O device, cable atau
software. Kesalahan dapat diklasifikasikan sebagai:
1. Transient
Transient Kesalahan adalah kesalahan sementara yang terjadi pada sistem
atau perangkat. Kesalahan ini dapat terjadi karena faktor seperti kegagalan
listrik sementara, gangguan sementara pada jaringan, atau kesalahan
perangkat lunak. Transient kesalahan sering kali dapat diperbaiki dengan
menghidupkan ulang sistem atau perangkat.
2. Intermittent
Intermittent Kesalahan adalah kesalahan yang terjadi pada sistem atau
perangkat secara sporadis dan tidak dapat diprediksi. Kesalahan ini dapat
terjadi karena faktor seperti keausan perangkat keras atau ketidakstabilan
perangkat lunak. Intermittent kesalahan dapat sulit diperbaiki karena sulit
diprediksi dan terjadi secara acak.
3. Permanent Kesalahan
Permanent Kesalahan adalah kesalahan yang terjadi pada sistem atau
perangkat yang tidak dapat diperbaiki. Kesalahan ini sering kali terjadi
pada perangkat keras dan dapat disebabkan oleh faktor seperti kegagalan
komponen atau kerusakan fisik. Perangkat yang mengalami kesalahan
permanen harus diganti atau diperbaiki untuk memulihkan fungsi
normalnya.
Transient terjadi sekali dan kemudian menghilang. Jika operasi
diulangi, kesalahan tidak muncul. Intermittent terjadi kemudian
menghilang, lalu muncul lagi, lalu menghilang lagi, dan seterusnya.
Contohnya seperti hubungan konektor yang longgar. Permanent terjadi
seterusnya sampai komponen yang fault diperbaiki. Contoh chips
terbakar, software bugs, disk head crash. Tujuan perancangan dan
pembuatan toleransi kesalahan adalah menjamin bahwa System secara
keseluruhan mampu terus berfungsi secara benar meskipun fault terjadi.

7
Jadi disini tidak mensyaratkan individual komponen yang sangat reliable
(andal).
a. Systems Failures
Keandalan sistem (System reliability) sangat penting di dalam
sebuah sistem terdistribusi karena di dalam System tersebut
terkandung sejumlah besar komponen dan kemungkinan terjadinya
kegagalan sangat besar. Fault atau kesalahan suatu sistem dapat
dibedakan menjadi: Fail-silent faults atau fail stop faults: sistem
berhenti dan tidak memberikan respon terhadap masukan yang ada.
Bizantine Faults: sistem terus bekerja meskipun fault dan memberikan
hasil yang salah. Sistem yang mempunyai sifat dalam kondisi normal
bekerja akan memberikan respon terhadapat input dalam waktu
terbatas yang telah diketahui disebut sistem Synchronous. Sistem yang
tak punya sifat seperti itu disebut sistem aSynchronous. Sistem
aSynchronous sangat sulit dikelola dibandingkan dengan Synchronous

b. Penggunaan Redudancy.
Pendekatan umum fault tolerance (toleransi terhadap
kegagalan) adalah menggunakan redundancy. 3 jenis redundancy:
1) Information redundancy
Metoda ini menambahkan extra bit untuk membuat sedemikian
hingga dapat me recovery informasi yang telah rusak. Contoh
Hamming code ditambahkan pada transmitted data.
2) Time redundancy
Sebuah operasi dilakukan dan kemudian jika diperlukan diulangi
lagi. Contoh, penggunaan atomic transaction. Jika transaction
dibatalkan, proses tersebut dapat diulangi lagi tanpa menimbulkan
masalah. Metoda ini sangat bermanfaat jika fault-nya adalah
transient atau intermittent.
3) Physical redundancy
Pendekatan ini menggunakan penambahan perangkat ekstra.
Sebagai contoh ekstra processor dapat ditambahkan ke System
sehingga jika beberapa processor rusak maka System secara
keseluruhan masih dapat berfungsi dengan benar. Ada dua cara
8
untuk mengelola ekstra processor tersebut: active replication dan
primary backup.

C. Jenis Kegagalan
Sistem terdistribusi adalah sistem komputer yang terdiri dari beberapa
komputer atau node yang saling terhubung dan beroperasi sebagai satu
kesatuan. Sistem terdistribusi ini dirancang untuk meningkatkan kinerja,
keandalan, dan skalabilitas sistem, serta memungkinkan aplikasi yang lebih
kompleks untuk berjalan.
Namun, meskipun dirancang untuk meningkatkan kinerja dan
keandalan, sistem terdistribusi juga dapat mengalami kegagalan. Berikut
adalah beberapa jenis kegagalan yang dapat terjadi pada sistem terdistribusi:
1. Kegagalan jaringan.
Kegagalan ini terjadi ketika jaringan antara node-node dalam sistem
terdistribusi terputus atau mengalami masalah. Hal ini dapat terjadi karena
beberapa alasan, seperti perangkat jaringan yang rusak atau kesalahan
konfigurasi.
2. Kegagalan perangkat keras.
Kegagalan perangkat keras pada satu atau beberapa node dapat
menyebabkan kegagalan sistem terdistribusi. Hal ini dapat terjadi karena
beberapa alasan, seperti kerusakan fisik atau kesalahan dalam desain
perangkat keras.
3. Kegagalan perangkat lunak.
Kegagalan perangkat lunak dapat terjadi ketika program atau aplikasi
yang berjalan pada satu atau beberapa node mengalami kegagalan. Hal ini
dapat terjadi karena beberapa alasan, seperti bug atau kesalahan dalam
kode program.
4. Kegagalan sistem manajemen.
Kegagalan sistem manajemen terjadi ketika sistem terdistribusi tidak
diatur atau dikelola dengan benar. Hal ini dapat terjadi karena beberapa
alasan, seperti kesalahan konfigurasi atau kurangnya pemeliharaan.
5. Kegagalan keamanan:

9
Kegagalan keamanan dapat terjadi ketika sistem terdistribusi tidak
dilindungi dengan benar dari ancaman keamanan, seperti serangan virus
atau hacker.
Untuk mengatasi kegagalan pada sistem terdistribusi, diperlukan
pemantauan yang ketat dan pengelolaan yang baik. Hal ini meliputi
pemantauan jaringan, pemantauan perangkat keras dan perangkat lunak, serta
pengaturan keamanan yang tepat. Selain itu, diperlukan juga perencanaan
yang baik dalam hal pemulihan jika terjadi kegagalan.
Pemantauan jaringan, pemantauan perangkat keras dan perangkat
lunak, serta pengaturan keamanan yang tepat adalah tiga hal yang sangat
penting dalam menjaga keamanan dan kinerja sistem IT suatu organisasi atau
perusahaan.
1. Pemantauan Jaringan Pemantauan jaringan adalah proses memonitor
kinerja jaringan dan infrastruktur IT untuk memastikan bahwa semuanya
berjalan dengan baik. Pemantauan jaringan meliputi pemantauan
ketersediaan, latensi, kapasitas, dan throughput jaringan. Dengan
memantau jaringan secara teratur, organisasi dapat mengidentifikasi
masalah dan memperbaikinya sebelum memengaruhi kinerja atau
menyebabkan kegagalan sistem.
2. Pemantauan Perangkat Keras dan Perangkat Lunak Pemantauan
perangkat keras dan perangkat lunak adalah proses memonitor kesehatan
perangkat keras dan perangkat lunak pada sistem IT. Pemantauan
perangkat keras mencakup pemantauan suhu, kapasitas penyimpanan,
penggunaan CPU, dan kinerja disk. Pemantauan perangkat lunak
mencakup pemantauan patch keamanan, penggunaan lisensi, dan
pembaruan perangkat lunak. Dengan memantau perangkat keras dan
perangkat lunak secara teratur, organisasi dapat mengidentifikasi masalah
sebelum terjadi kegagalan atau celah keamanan.
3. Pengaturan Keamanan yang Tepat Pengaturan keamanan yang tepat
mencakup pengaturan firewall, pencegahan serangan malware,
pengaturan akses dan kebijakan, dan manajemen risiko. Pengaturan
keamanan yang tepat membantu mencegah akses yang tidak sah ke
sistem dan data sensitif. Dengan pengaturan keamanan yang tepat,

10
organisasi dapat melindungi aset IT dan data dari serangan cyber dan
meminimalkan dampak jika terjadi pelanggaran keamanan.
Secara keseluruhan, pemantauan jaringan, pemantauan perangkat
keras dan perangkat lunak, serta pengaturan keamanan yang tepat sangat
penting untuk menjaga kinerja dan keamanan sistem IT suatu organisasi atau
perusahaan. Dengan memantau dan mengatur sistem IT secara efektif,
organisasi dapat meminimalkan risiko dan memastikan operasi yang lancer.
Berikut merupakan jenis-jenis kegagalan pada sistem:
1. Crash Failure (Server berhenti tetapi telah bekerja dengan benar sampai ia
berhenti.)
Crash failure adalah jenis kegagalan pada sistem komputer atau
perangkat lunak yang terjadi ketika sistem tiba-tiba berhenti atau berhenti
bekerja secara keseluruhan tanpa adanya tanda-tanda kerusakan
sebelumnya. Hal ini dapat disebabkan oleh berbagai faktor seperti
kegagalan perangkat keras, masalah perangkat lunak, atau kegagalan
jaringan.
Ketika sebuah sistem mengalami crash failure, maka semua
aktivitas dan proses yang sedang berjalan di dalamnya akan terhenti tiba-
tiba dan tidak dapat dilanjutkan. Hal ini dapat menyebabkan kerugian
yang signifikan, seperti kehilangan data atau penghentian operasi bisnis
yang sedang berjalan.
Untuk mencegah terjadinya crash failure, biasanya dilakukan
berbagai upaya seperti melakukan backup data secara berkala,
memperbarui perangkat lunak dan firmware secara teratur, serta
melakukan pengujian keamanan dan kinerja sistem secara berkala. Jika
terjadi kegagalan, perlu dilakukan pemulihan sistem dengan segera untuk
mengurangi dampak yang ditimbulkan.

2. Omission Failure (Server gagal merespon request yang masuk)


Omission failure adalah jenis kegagalan pada sistem komputer atau
perangkat lunak yang terjadi ketika sistem gagal untuk melakukan
tindakan atau operasi yang seharusnya dilakukan, baik secara sengaja
maupun tidak sengaja.

11
Contoh dari omission failure adalah ketika sistem gagal untuk
memproses permintaan pengguna atau melakukan tindakan yang telah
diprogramkan, seperti mengirim email konfirmasi atau melakukan
pembaruan data. Kegagalan ini dapat disebabkan oleh beberapa faktor,
seperti kesalahan dalam kode program, kegagalan perangkat keras, atau
masalah jaringan.
Omission failure dapat menyebabkan kerugian yang signifikan,
seperti kehilangan data penting atau kerusakan pada sistem yang lebih
besar. Oleh karena itu, perlu dilakukan berbagai upaya untuk mencegah
terjadinya omission failure, seperti melakukan pengujian kinerja dan
keamanan sistem secara teratur, memperbarui perangkat lunak dan
firmware, serta memonitor aktivitas sistem secara berkala untuk
mendeteksi adanya masalah dan mencegah terjadinya kegagalan.

3. Receive omission (Server gagal menerima message yang masuk)


Receive omission adalah jenis kegagalan pada sistem komunikasi
yang terjadi ketika sebuah pesan atau sinyal yang seharusnya diterima
oleh penerima tidak berhasil diterima atau tidak terdeteksi. Hal ini bisa
disebabkan oleh beberapa faktor, seperti gangguan pada jalur komunikasi,
kegagalan perangkat keras, atau kesalahan pada perangkat lunak.
Contoh dari receive omission adalah ketika sebuah email atau
pesan teks yang seharusnya diterima oleh penerima tidak berhasil masuk
ke dalam kotak masuk atau ponsel penerima. Hal ini dapat menyebabkan
ketidaknyamanan atau bahkan kerugian, seperti kehilangan informasi
penting atau keterlambatan dalam pengambilan keputusan.
Untuk mencegah terjadinya receive omission, perlu dilakukan
berbagai upaya seperti memastikan kualitas jaringan komunikasi yang
digunakan, memeriksa dan memperbarui perangkat keras dan perangkat
lunak secara teratur, dan memonitor aktivitas sistem secara berkala untuk
mendeteksi adanya masalah. Jika terjadi receive omission, maka perlu
dilakukan pengujian ulang atau pengiriman ulang pesan atau sinyal
tersebut untuk memastikan bahwa pesan tersebut telah berhasil diterima
oleh penerima.

12
4. Send omission (Server gagal mengirimkan message)
Send omission adalah jenis kegagalan pada sistem komunikasi
yang terjadi ketika sebuah pesan atau sinyal yang seharusnya dikirimkan
oleh pengirim tidak berhasil dikirim atau tidak terdeteksi oleh sistem. Hal
ini bisa disebabkan oleh beberapa faktor, seperti kesalahan pada perangkat
lunak, kegagalan jaringan komunikasi, atau masalah pada perangkat
keras.
Contoh dari send omission adalah ketika seorang pengirim gagal
mengirimkan email atau pesan teks kepada penerima karena kesalahan
pada sistem. Hal ini dapat menyebabkan ketidaknyamanan atau bahkan
kerugian, seperti kehilangan informasi penting atau keterlambatan dalam
pengambilan keputusan.
Untuk mencegah terjadinya send omission, perlu dilakukan
berbagai upaya seperti memastikan kualitas jaringan komunikasi yang
digunakan, memeriksa dan memperbarui perangkat keras dan perangkat
lunak secara teratur, dan memonitor aktivitas sistem secara berkala untuk
mendeteksi adanya masalah. Jika terjadi send omission, maka perlu
dilakukan pengujian ulang atau pengiriman ulang pesan atau sinyal
tersebut untuk memastikan bahwa pesan tersebut telah berhasil
dikirimkan.

5. Timing Failure
Timing failure adalah jenis kegagalan pada sistem komputer atau
perangkat lunak yang terjadi ketika sebuah operasi atau tindakan tidak
dapat diselesaikan dalam waktu yang telah ditentukan. Hal ini bisa
disebabkan oleh beberapa faktor, seperti kesalahan dalam desain atau
pemrograman, kegagalan perangkat keras, atau masalah pada jaringan.
Contoh dari timing failure adalah ketika sebuah sistem tidak
dapat menanggapi permintaan pengguna dalam waktu yang telah
ditentukan, atau ketika sistem mengalami keterlambatan dalam
memproses data yang dibutuhkan. Hal ini dapat menyebabkan
ketidaknyamanan atau bahkan kerugian, seperti penurunan kinerja sistem,
penghentian operasi bisnis, atau kehilangan data penting.

13
Untuk mencegah terjadinya timing failure, perlu dilakukan
berbagai upaya seperti melakukan pengujian kinerja sistem secara teratur,
memperbarui perangkat lunak dan firmware secara berkala, serta
memonitor aktivitas sistem secara berkala untuk mendeteksi adanya
masalah dan mencegah terjadinya kegagalan. Jika terjadi timing failure,
maka perlu dilakukan perbaikan atau penyesuaian pada sistem untuk
memastikan bahwa sistem dapat beroperasi secara efektif dalam waktu
yang ditentukan.

6. Response Failure (respon server tidak tepat)


Response failure adalah jenis kegagalan pada sistem komputer
atau perangkat lunak yang terjadi ketika sebuah permintaan atau tindakan
berhasil diterima oleh sistem, tetapi sistem tidak dapat memberikan
respon yang tepat atau respon yang diharapkan oleh pengguna. Hal ini
bisa disebabkan oleh beberapa faktor, seperti kesalahan dalam desain atau
pemrograman, kegagalan perangkat keras, atau masalah pada jaringan.
Contoh dari response failure adalah ketika sebuah sistem e-
commerce gagal memberikan informasi yang akurat tentang ketersediaan
produk atau gagal memproses transaksi pembayaran, atau ketika sebuah
aplikasi gagal memberikan jawaban yang tepat terhadap permintaan
pengguna. Hal ini dapat menyebabkan ketidaknyamanan atau bahkan
kerugian, seperti penurunan kepercayaan pengguna pada sistem,
kehilangan pelanggan, atau kerugian finansial.
Untuk mencegah terjadinya response failure, perlu dilakukan
berbagai upaya seperti melakukan pengujian perangkat lunak secara
teratur, memperbarui perangkat lunak dan firmware secara berkala, serta
memonitor aktivitas sistem secara berkala untuk mendeteksi adanya
masalah dan mencegah terjadinya kegagalan. Jika terjadi response failure,
maka perlu dilakukan perbaikan atau penyesuaian pada sistem untuk
memastikan bahwa sistem dapat memberikan respon yang tepat dan
sesuai dengan permintaan pengguna.

7. Value Failure (nilai responnya salah)

14
Value failure adalah jenis kegagalan pada sistem komputer atau
perangkat lunak yang terjadi ketika sebuah sistem menghasilkan output
yang tidak sesuai dengan nilai atau kualitas yang diharapkan oleh
pengguna atau sistem. Hal ini bisa disebabkan oleh beberapa faktor,
seperti kesalahan dalam desain atau pemrograman, kegagalan perangkat
keras, atau masalah pada jaringan.
Contoh dari value failure adalah ketika sebuah sistem keamanan
gagal mengenali ancaman dan memberikan alarm palsu, atau ketika
sebuah aplikasi keuangan memberikan informasi yang tidak akurat
tentang keuangan seseorang atau perusahaan. Hal ini dapat menyebabkan
ketidaknyamanan atau bahkan kerugian, seperti penurunan kepercayaan
pengguna pada sistem, kehilangan pelanggan, atau kerugian finansial.
Untuk mencegah terjadinya value failure, perlu dilakukan berbagai
upaya seperti melakukan pengujian perangkat lunak secara teratur,
memperbarui perangkat lunak dan firmware secara berkala, serta
memonitor aktivitas sistem secara berkala untuk mendeteksi adanya
masalah dan mencegah terjadinya kegagalan. Jika terjadi value failure,
maka perlu dilakukan perbaikan atau penyesuaian pada sistem untuk
memastikan bahwa sistem dapat menghasilkan output yang sesuai dengan
nilai atau kualitas yang diharapkan oleh pengguna atau sistem.

8. State Transition Failure (serner menyimpang dari aliran kendali yang


benar)
State transition failure adalah jenis kegagalan pada sistem komputer
atau perangkat lunak yang terjadi ketika sebuah sistem gagal dalam
melakukan transisi dari satu keadaan ke keadaan lainnya yang diharapkan.
Hal ini bisa disebabkan oleh beberapa faktor, seperti kesalahan dalam
desain atau pemrograman, kegagalan perangkat keras, atau masalah pada
jaringan.
Contoh dari state transition failure adalah ketika sebuah sistem
otomatisasi rumah tangga gagal beralih ke mode "malam" saat waktu
tertentu tiba, atau ketika sebuah sistem pemrosesan transaksi gagal
mengubah status pesanan dari "menunggu pembayaran" ke "dalam
pengiriman" setelah pembayaran dilakukan. Hal ini dapat menyebabkan
15
ketidaknyamanan atau bahkan kerugian, seperti penurunan kinerja sistem,
penghentian operasi bisnis, atau kehilangan data penting.
Untuk mencegah terjadinya state transition failure, perlu dilakukan
berbagai upaya seperti melakukan pengujian perangkat lunak secara
teratur, memperbarui perangkat lunak dan firmware secara berkala, serta
memonitor aktivitas sistem secara berkala untuk mendeteksi adanya
masalah dan mencegah terjadinya kegagalan. Jika terjadi state transition
failure, maka perlu dilakukan perbaikan atau penyesuaian pada sistem
untuk memastikan bahwa sistem dapat melakukan transisi dari satu
keadaan ke keadaan lainnya yang diharapkan dengan baik dan efektif.

9. Byzantine Failure (Server dapat menghasilkan respon sembarang


(berubah-ubah) pada waktu sembarang.)
Byzantine failure atau kegagalan Byzantine adalah jenis
kegagalan sistem pada jaringan terdistribusi, dimana beberapa node di
dalam jaringan mengirimkan pesan atau informasi yang salah atau bahkan
bertentangan dengan pesan atau informasi yang diterima oleh node
lainnya. Kegagalan ini terjadi karena adanya kesalahan yang disengaja
atau tidak disengaja pada node, sehingga node tersebut tidak dapat
diandalkan.
Contoh dari Byzantine failure adalah ketika seorang hacker
berhasil merusak data yang dikirimkan pada jaringan atau ketika terjadi
konflik antara node di dalam jaringan yang mengakibatkan terjadinya
keputusan yang salah atau tidak akurat. Hal ini dapat menyebabkan
kerusakan pada sistem dan kehilangan data, sehingga memberikan
dampak yang signifikan pada keamanan dan kinerja jaringan.
Untuk mencegah terjadinya Byzantine failure, perlu dilakukan
beberapa upaya seperti implementasi keamanan yang baik pada jaringan,
menggunakan algoritma konsensus yang tepat, melakukan verifikasi
pesan dan pengujian reguler pada sistem. Selain itu, perlu juga diterapkan
protokol untuk mendeteksi dan mengatasi masalah dengan cepat jika
terjadi kegagalan Byzantine pada jaringan.

16
Jenis Kegagalan secara umum;
1. Kegagalan fail stop dan fail-fast
Fail-stop failure adalah jenis kegagalan perangkat keras atau
perangkat lunak pada sebuah sistem komputer atau jaringan yang
mengalami kerusakan dan berhenti bekerja secara tiba-tiba. Saat terjadi
fail-stop failure, sistem akan menghentikan operasi dan tidak dapat
melanjutkan kegiatan atau mengirimkan pesan kesalahan kepada
pengguna. Contoh dari fail-stop failure adalah kegagalan pada hard drive,
crash pada sistem operasi, atau kegagalan pada switch jaringan.
Sedangkan, fail-fast failure adalah jenis kegagalan perangkat lunak
yang didesain untuk memberikan kesalahan atau pesan kesalahan secepat
mungkin ketika terjadi kesalahan pada sistem. Hal ini dilakukan untuk
meminimalkan kerusakan yang ditimbulkan dan untuk membantu
pengguna untuk mengetahui masalah dengan cepat. Contohnya, ketika
aplikasi keuangan mendeteksi adanya kesalahan dalam entri data, maka
aplikasi akan segera menampilkan pesan kesalahan dan meminta
pengguna untuk memperbaikinya.
Keduanya memiliki peran yang penting dalam pengelolaan sistem
dan memberikan manfaat yang signifikan bagi pengguna. Fail-stop failure
dapat membantu mencegah kegagalan lebih lanjut dan memberikan
kesempatan untuk melakukan perbaikan atau penggantian perangkat keras
yang rusak, sedangkan fail-fast failure dapat membantu mendeteksi dan
mengatasi masalah secara cepat dan efektif sehingga dapat mengurangi
dampak yang ditimbulkan oleh kesalahan pada sistem.

2. Kegagalan fail silent


Fail-silent failure adalah jenis kegagalan pada sistem komputer
atau jaringan dimana perangkat keras atau perangkat lunak terus
beroperasi tanpa memberikan pesan kesalahan atau tanda-tanda kerusakan
yang jelas, tetapi hasil akhir dari operasi tersebut tidak akurat atau tidak
tepat. Dalam jenis kegagalan ini, sistem terus beroperasi seperti biasa,
namun menghasilkan data yang salah atau tidak konsisten, sehingga dapat
mengakibatkan kerugian yang signifikan bagi pengguna.

17
Contoh dari fail-silent failure adalah ketika seorang pengguna
melakukan transfer uang antar rekening pada bank, tetapi sistem gagal
mengirimkan pesan konfirmasi atau memberikan tanda-tanda kesalahan
pada sistem, namun transfer tersebut tidak terjadi atau terjadi kesalahan
dalam jumlah transfer tersebut. Hal ini dapat menyebabkan kerugian yang
signifikan bagi pengguna, terutama jika transfer tersebut dilakukan dalam
jumlah yang besar.
Untuk mencegah terjadinya kegagalan fail-silent, perlu dilakukan
pengujian dan pemantauan sistem secara teratur untuk mendeteksi adanya
kesalahan atau ketidaksesuaian pada operasi yang dilakukan. Selain itu,
perlu juga dilakukan pemeriksaan sistem secara berkala untuk
memastikan bahwa data yang dihasilkan tetap akurat dan konsisten.
Dengan demikian, pengguna dapat memastikan bahwa sistem yang
digunakan beroperasi dengan baik dan menghasilkan data yang akurat.

3. Kegagalan sembarang atau byzantine


Kegagalan sembarang atau Byzantine failure adalah jenis
kegagalan pada sistem komputer atau jaringan dimana terdapat beberapa
komponen yang secara sengaja atau tidak sengaja mengirimkan informasi
yang salah atau merusak data dengan tujuan mengacaukan sistem atau
memberikan kerugian pada pengguna.
Contohnya, pada sistem jaringan distribusi tenaga listrik,
Byzantine failure dapat terjadi ketika beberapa sensor mendeteksi suhu
atau tekanan yang salah dan memberikan informasi yang salah ke sistem
pengaturan, sehingga menyebabkan ketidakstabilan dalam aliran listrik
atau bahkan kegagalan total pada sistem tersebut.
Kegagalan sembarang atau Byzantine failure sangat sulit dideteksi
dan dicegah karena kegagalan ini dapat terjadi pada berbagai tingkat
sistem dan dapat menyebabkan kerugian yang sangat besar. Untuk
mencegah kegagalan sembarang, perlu dilakukan beberapa langkah
seperti pemantauan sistem secara teratur, penggunaan teknologi yang
aman dan terpercaya, dan pengujian sistem secara menyeluruh sebelum
digunakan. Selain itu, pengguna juga perlu mempertimbangkan
penggunaan mekanisme keamanan yang kuat seperti enkripsi data dan
18
tanda tangan digital untuk memastikan keamanan data dan mencegah
manipulasi data yang tidak sah.

D. Deteksi Kegagalan
Kegagalan perlu dideteksi sebelum bisa ditutupi Suatu sub-system
Deteksi (terutama untuk kegagalan fail-stop atau fail-silent): Biasanya dapat
dilakukan sebagai efek samping dari bertukar informasi secara teratur
dengan server Idealnya harus dapat membedakan antara kegagalan jaringan
dan server Suatu proses, P, yang tidak dapat mencapai server dapat
memeriksa dengan proses lain pada apakah mereka dapat mencapai server.
Jika setidaknya satu proses lain menunjukkan bahwa ia dapat mencapai
server, P dapat menganggap bahwa itu adalah kegagalan jaringan (dengan
asumsi semua proses tidak berbahaya / tidak salah).
Deteksi kesalahan pada sistem terdistribusi adalah proses pengenalan
dan identifikasi kesalahan atau kegagalan pada sistem yang terdiri dari
beberapa komponen atau node yang saling terhubung. Kesalahan pada sistem
terdistribusi dapat berupa kegagalan perangkat keras, perangkat lunak,
jaringan, atau kegagalan manusia.
Beberapa teknik yang dapat digunakan untuk mendeteksi kesalahan
pada sistem terdistribusi antara lain:
1. Monitoring: Melakukan pemantauan terus menerus pada sistem dan
lingkungannya, dengan mengukur kinerja dan parameter kunci lainnya,
seperti beban, kecepatan, kapasitas, dan ketersediaan sistem.
2. Logging: Merekam semua aktivitas sistem dalam file log, termasuk
kejadian-kejadian kesalahan yang terjadi, untuk memudahkan analisis dan
identifikasi kesalahan.
3. Testing: Melakukan uji coba pada sistem secara berkala untuk
memastikan keandalan dan ketersediaannya.
4. Algoritma Deteksi Kesalahan: Penerapan algoritma untuk mendeteksi
kesalahan pada sistem, seperti algoritma deteksi kesalahan dan koreksi
kesalahan, yang memungkinkan sistem untuk memperbaiki kesalahan
secara otomatis.

19
5. Redundansi: Menerapkan duplikasi atau cadangan pada sistem, seperti
replikasi node atau server, sehingga jika satu node mengalami kegagalan,
maka sistem masih dapat beroperasi dengan normal.
6. Sistem Peringatan Dini: Menggunakan sistem peringatan dini, yang
memberikan pemberitahuan ketika terjadi kesalahan atau anomali pada
sistem, sehingga dapat segera diatasi sebelum menjadi masalah yang lebih
besar.
Dalam sistem terdistribusi, deteksi kesalahan sangat penting untuk
menjaga ketersediaan dan keandalan sistem, dan meminimalkan dampak
negatif terhadap pengguna dan organisasi. Oleh karena itu, sistem deteksi
kesalahan harus dirancang dan diimplementasikan dengan baik, serta diuji
secara teratur untuk memastikan keandalannya.

E. Teknik Mencegah Kegagalan


Kesalahan dalam sistem perangkat lunak apa pun, biasanya, terjadi karena
celah yang tidak diketahui selama fase desain. Berdasarkan hal tersebut,
teknik toleransi kesalahan diidentifikasi menjadi dua kelompok yang berbeda,
yaitu Teknik Versi Tunggal dan Teknik Multi Versi. Ada banyak teknik yang
diterapkan di bawah masing-masing kategori ini, dan beberapa teknik yang
sering digunakan oleh pemrogram adalah;

1. Struktur dan Tindakan Perangkat Lunak


Ketika sistem perangkat lunak adalah satu blok kode, secara logis lebih
rentan terhadap kegagalan. Karena, ketika satu kesalahan kecil terjadi
pada program, seluruh sistem akan dirobohkan. Oleh karena itu, sangat
penting untuk sistem perangkat lunak harus disusun dalam bentuk
modular, di mana fungsionalitasnya tercakup dalam modul terpisah. Jika
terjadi kegagalan, setiap modul harus memiliki instruksi khusus tentang
cara menanganinya dan membiarkan modul lain berjalan seperti biasa,
alih-alih meneruskan kegagalan dari modul ke modul.

2. Deteksi Kesalahan
Deteksi Kesalahan adalah teknik toleransi kesalahan di mana program
menempatkan setiap kejadian kesalahan dalam sistem. Teknik ini
20
diimplementasikan secara praktis dengan menggunakan dua atribut, yaitu
self-protection dan self-checking. Atribut Self-Protection dari deteksi
kesalahan digunakan untuk menemukan kesalahan dalam modul
eksternal, sedangkan atribut Self-Checking dari deteksi kesalahan
digunakan untuk menemukan kesalahan dalam modul internal.

3. Penanganan Pengecualian
Penanganan Pengecualian adalah teknik yang digunakan untuk
mengarahkan aliran eksekusi menuju rute pemulihan setiap kali terjadi
kesalahan dalam aliran fungsional normal. Sebagai bagian dari toleransi
kesalahan, aktivitas ini dilakukan di bawah tiga komponen perangkat
lunak yang berbeda, seperti Pengecualian Antarmuka, Pengecualian
Lokal, dan Pengecualian Kegagalan.

4. Pos pemeriksaan dan Restart


Ini adalah salah satu metode pemulihan yang umum digunakan untuk
sistem perangkat lunak versi tunggal. Teknik toleransi kesalahan
Checkpoint dan Restart dapat digunakan untuk kejadian seperti
pengecualian run-time, yaitu, kegagalan fungsi terjadi selama run-time
dan saat eksekusi selesai tidak ada catatan kesalahan yang terjadi. Untuk
kasus ini, pemrogram dapat menempatkan pos pemeriksaan dalam
program dan menginstruksikan program untuk segera dimulai ulang
segera setelah terjadinya kesalahan.

5. Proses Pasangan
Teknik Process Pair adalah metode menggunakan perangkat lunak yang
sama di dua unit perangkat keras yang berbeda dan memvalidasi
perbedaan fungsional untuk menangkap area yang salah. Teknik ini
berfungsi di atas checkpoint dan teknik restart, karena checkpoint serupa
dan instruksi restart ditempatkan di kedua sistem.

6. Keanekaragaman Data
Teknik Keanekaragaman Data biasanya merupakan proses di mana
pemrogram melewati serangkaian data input, dan menempatkan pos
21
pemeriksaan untuk mendeteksi selip. Model Keanekaragaman Data yang
umum digunakan adalah model 'Input Data Re-Expression', model 'Input
Data Re-Expression with Post-Execution Adjustment', dan model 'Re-
Expression via Decomposition and Recombination'.

7. Blok Pemulihan
Teknik Blok Pemulihan untuk beberapa versi software Fault Tolerance
melibatkan metode checkpoint dan restart, di mana checkpoint
ditempatkan sebelum terjadinya kesalahan, dan sistem diinstruksikan
untuk beralih ke versi berikutnya untuk melanjutkan aliran. Itu dilakukan
di tiga area, yaitu modul utama, tes penerimaan, dan modul swap.

8. N – Pemrograman Versi
Teknik pemrograman N-Versi untuk toleransi kesalahan multi-versi
adalah metode yang umum digunakan ketika ada ketentuan untuk
menguji beberapa edisi kode. Pemulihan dilakukan dengan menjalankan
semua versi dan membandingkan keluaran dari masing-masing versi.
Teknik ini juga melibatkan alur uji penerimaan.

9. N Pemrograman Pemeriksaan Mandiri


N Self-Checking Programming adalah teknik kombinasi dari blok
Pemulihan dan teknik Pemrograman N-versi, yang juga membutuhkan
eksekusi uji penerimaan. Itu dilakukan oleh eksekusi berurutan dan
paralel dari berbagai versi perangkat lunak.

10. Toleransi Kesalahan dengan menggunakan Active Replication


Pada teknik ini semua processor / device digunakan sepanjang waktu dan
setiap device memiliki replikasinya masing-masing sehingga dapat
menyembunyikan fault dengan penuh.

22
Gambar 8 .1 menunjukkan sinyal melalui device A,B,C secara berurutan.
Setiap device memiliki 3 replikasi.
• Dan setiap replikasi diikuti sebuah voter. Setiap voter memiliki 3
input dan satu output.
• Jika dua atau tiga input sama, maka output sama dengan input. Jika 3
input berbeda hasil output tak terdefinisi. Misalkan element A2 gagal.
• Setiap voter V1, V2 dan V3 m end apatkan 2 masukan identik yang
benar dan sebauh salah, tetapi Voter tetap menghasilkan output yang
benar untuk masukan tahap berikutnya.
• Sehingga pada dasarnya efek A2 tidak berpengaruh secara
keseluruhan System.
11. Toleransi Kesalahan dengan menggunakan Primary Backup
Pada metoda ini setiap saat hanya ada satu server sebagai primary yang
bekerja. Jika primary server gagal maka backup server akan mengambil
alih.

Istilah
1. Availability

23
Availability menjamin bahwa informasi dan layanan dapat diakses
dan berfungsi dengan benar (accessible and functional) pada saat
dibutuhkan. Untuk menyediakan jaringan dengan availability yang
tinggi, maka harus dijamin bahwa Security proses adalah handal
(reliable) dan responsif. Sistem dan software termasuk System
Security yang modular perlu saling Interoperable. Sistem yang
mempunyai availability yang tinggi mempunyai karakteristik antara
lain mempunyai MTBF ( Mean Time Between Failur ) yang panjang
dengan dukungan redundant power suplay dan hot - swappable
module.
2. Integrity
Integrity (keutuhan) menjamin bahwa informasi atau software adalah
lengkap, akurat dan otentik. Dengan integrity orang atau proses yang
tak berhak tak bisa membuat perubahan pada sistem. Untuk network
entegrity kita perlu menjamin bahwa message yang diterima adalah
sama dengan message yang dikirim. Isi dari messa ge harus lengkap
dan tak dimodifikasi, dan link antara sumber dan tujuan node valid.
Connection integrity dapat disediakan oleh cryptography dan routing
control
3. Confidentiality
Confidentiality (kerahasiaan) melindungi informasi sensitif dari
penyingkapan /pengaksesan yang tak berhak. Cryptography dan
access control digunakan untuk melindungi kerahasiaan. Usaha
penerapan perlindungan kerahasiaan tergantung pada sensitivitas dari
informasi dan kemungkinan sifat pengamat atau penyusup.

BAB III

24
PENUTUP
A. Kesimpulan
Toleransi kegagalan (fault tolerance) adalah kemampuan sistem untuk
melanjutkan operasinya ketika sebagian dari sistem tersebut gagal karena
adanya kegagalan peranti keras, kesalahan dalam program aplikasi, atau
kesalahan operator. Berdasarkan salah satu dari empat besar kantor akuntan
publik, 44 persen dari kegagalan sistem disebabkan oleh kegagalan sistem.
Persentase inilebih besar daripada yang disebabkan oleh bencana alam atau
bencana akibat manusia.
Karakteristik Kegagalan Transient terjadi sekali dan kemudian
menghilang. Jika operasi diulangi, kesalahan tidak muncul. Intermittent
terjadi kemudian menghilang, lalu muncul lagi, lalu menghilang lagi, dan
seterusnya. Contohnya seperti hubungan konektor yang longgar. Permanent
terjadi seterusnya sampai komponen yang fault diperbaiki.
Berikut merupakan jenis-jenis kegagalan pada sistem:
1. Crash Failure (Server berhenti tetapi telah bekerja dengan benar sampai
ia berhenti.)
2. Omission Failure (Server gagal merespon request yang masuk)
3. Receive omission (Server gagal menerima message yang masuk)
4. Send omission (Server gagal mengirimkan message)
5. Timing Failure
6. Response Failure (respon server tidak tepat)
7. Value Failure (nilai responnya salah)
8. State Transition Failure (server menyimpang dari aliran kendali yang
benar)
9. Byzantine Failure (Server dapat menghasilkan respon sembarang
(berubah-ubah) pada waktu sembarang.)
Beberapa teknik yang dapat digunakan untuk mendeteksi kesalahan
pada sistem terdistribusi antara lain:
1. Monitoring: Melakukan pemantauan terus menerus pada sistem dan
lingkungannya, dengan mengukur kinerja dan parameter kunci lainnya,
seperti beban, kecepatan, kapasitas, dan ketersediaan sistem.

25
2. Logging: Merekam semua aktivitas sistem dalam file log, termasuk
kejadian-kejadian kesalahan yang terjadi, untuk memudahkan analisis
dan identifikasi kesalahan.
3. Testing: Melakukan uji coba pada sistem secara berkala untuk
memastikan keandalan dan ketersediaannya.
4. Algoritma Deteksi Kesalahan: Penerapan algoritma untuk mendeteksi
kesalahan pada sistem, seperti algoritma deteksi kesalahan dan koreksi
kesalahan, yang memungkinkan sistem untuk memperbaiki kesalahan
secara otomatis.
5. Redundansi: Menerapkan duplikasi atau cadangan pada sistem, seperti
replikasi node atau server, sehingga jika satu node mengalami kegagalan,
maka sistem masih dapat beroperasi dengan normal.
6. Sistem Peringatan Dini: Menggunakan sistem peringatan dini, yang
memberikan pemberitahuan ketika terjadi kesalahan atau anomali pada
sistem, sehingga dapat segera diatasi sebelum menjadi masalah yang
lebih besar.
Teknik Mencegah Kegagalan
1. Struktur dan Tindakan Perangkat Lunak
2. Deteksi Kesalahan
3. Penanganan Pengecualian
4. Pos pemeriksaan dan Restart
5. Proses Pasangan
6. Keanekaragaman Data
7. Blok Pemulihan
8. N – Pemrograman Versi
9. N Pemrograman Pemeriksaan Mandiri

B. Saran
Pada saat pembuatan makalah Penulis menyadari bahwa banyak sekali
kesalahan dan jauh dari kesempurnaan. Dengan sebuah pedoman yang bisa
dipertanggungjawabkan dari banyaknya sumber Penulis akan memperbaiki
makalah tersebut. Oleh sebab itu penulis harapkan kritik serta sarannya
mengenai pembahasan makalah dalam kesimpulan di atas.
DAFTAR PUSTAKA
26
Sunny Arief Sudiro. Abdul Hakim. Penanganan Toleransi Kesalahan (Fault
Tolerance) Pada Sistem Pembayaran Elektronis Dalam Lingkup Sistem
Terdistribusi. 1,2STMIK Jakarta STI&K Jl. BRI No. 17 Radio Dalam
Kebayoran Baru Jakarta Selatan 1 sunnyariefsudiro@ieee.org, 2
hakiem09@gmail.com
James A. Hall, Tommie Singleton. 2007. AUDIT TEKNOLOGI INFORMASI DAN
ASSURANCE, Edisi 2. Audit dan Jaminan Teknologi Informasi, 2 ed.
Penerbit Salemba Empat. Jl Wijaya 2, Jakarta
Putra. Yeffry Handoko. 2020. Analisa Kinerja Sistem. Penerbit UNIKOM.
Pratama, Yohanssen, 2021. SISTEM TERDISTRIBUSI. Ahlimedia Book.

27

Anda mungkin juga menyukai