KELAS : 2CB
NIM : 062230701440
Terlepas dari itu, sistem yang kompleks harus tetap menangani setiap
kesalahan yang ditemui dengan baik. Ada banyak contoh sistem yang berhasil
seperti itu. Beberapa sistem yang paling kuat dapat dikembangkan dan dapat
dengan mudah disesuaikan dengan situasi baru.
Program dan perangkat lunak adalah alat yang berfokus pada tugas yang
sangat spesifik, sehingga tidak digeneralisasi dan fleksibel. Namun, pengamatan
dalam sistem seperti internet atau sistem biologis menunjukkan adaptasi terhadap
lingkungannya. Salah satu cara sistem biologis beradaptasi dengan lingkungan
adalah melalui penggunaan redundansi. Banyak organ yang berlebihan pada
manusia. Ginjal adalah salah satu contohnya. Manusia pada umumnya hanya
membutuhkan satu ginjal, tetapi memiliki ginjal kedua memungkinkan terjadinya
kegagalan. Prinsip yang sama dapat diambil untuk diterapkan pada perangkat lunak,
tetapi ada beberapa tantangan. Saat menerapkan prinsip redundansi ke ilmu
komputer, menambahkan kode secara membabi buta tidak disarankan.
Menambahkan kode secara membabi buta menyebabkan lebih banyak kesalahan,
membuat sistem lebih kompleks, dan membuatnya lebih sulit untuk dipahami. Kode
yang tidak memberikan penguatan pada kode yang sudah ada tidak diinginkan.
Kode baru malah harus memiliki fungsionalitas yang setara, sehingga jika suatu
fungsi rusak, fungsi lain yang menyediakan fungsi yang sama dapat
menggantikannya, menggunakan keragaman perangkat lunak manual atau
otomatis. Untuk melakukannya, kode baru harus mengetahui bagaimana dan kapan
mengakomodasi titik kegagalan. Ini berarti lebih banyak logika perlu ditambahkan
ke sistem. Tetapi ketika suatu sistem menambahkan lebih banyak logika,
komponen, dan peningkatan ukuran, itu menjadi lebih kompleks. Jadi, saat
membuat sistem yang lebih redundan, sistem juga menjadi lebih kompleks dan
pengembang harus mempertimbangkan untuk menyeimbangkan redundansi dengan
kompleksitas.