Cara Menghindari Masalah Perangkat Lunak

Cara Menghindari Masalah Perangkat Lunak:

Di era digital ini, Anda pasti pernah mendengar tentang raksasa media sosial seperti Facebook dan Twitter serta platform e-commerce seperti Alibaba dan Amazon. Situs web online ini mengandalkan berbagai paket perangkat lunak untuk pengoperasiannya.

Program-program ini terus terang telah mengubah cara kita bekerja, berpikir, dan hidup.

Selain itu, banyak perangkat yang sebelumnya hanya bersifat mekanis, kini dikendalikan oleh perangkat lunak.

Misalnya, termostat pernah menjadi perangkat elektromekanis. Namun, mereka sekarang sangat bergantung pada perangkat lunak untuk pengoperasian.

Namun, bug perangkat lunak bisa sangat bermasalah, terutama dengan ketergantungan kita yang meningkat pada mereka untuk aktivitas sehari-hari. Faktanya, sebenarnya ada beberapa kejadian di mana perangkat lunak tidak memenuhi tujuan yang dimaksudkan, yang menyebabkan hasil yang tidak menyenangkan.

Pada artikel ini, kita berbicara tentang 4 kejadian di mana kinerja perangkat lunak sangat meleset dan bagaimana cara menghindari masalah perangkat lunak tersebut. Baca Juga : 10 Alasan Sebaiknya Jangan Terburu-buru Beli iPhone X

1.

Pemadaman 911 Multi-Negara AS

911 merupakan layanan kritis, yang memungkinkan individu menghubungi personel darurat kapan pun dibutuhkan. Kadang-kadang, menghubungi operator darurat melalui 911 benar-benar dapat membuat perbedaan antara hidup dan mati.

Oleh karena itu, cukup menjadi bencana ketika pada tanggal 9 April 2014, 911 call-routing gagal di tujuh negara bagian AS, termasuk California, Florida, Minnesota, North Carolina, Pennsylvania, South Carolina, dan Washington. Pemadaman ini disebabkan oleh kesalahan pengodean yang dapat dicegah, yang terjadi di pusat manajemen panggilan darurat di Colorado yang dimiliki oleh Intrado.

2.

Grounded Armada United Airlines

Pada Juli 2015, United Airlines terpaksa mengandangkan seluruh armada pesawatnya karena kesalahan perangkat lunak. Ini memengaruhi lebih dari 4.900 penerbangan secara global dan membuat banyak penumpang terdampar di bandara dan jelas frustrasi.

Mungkin ada dampak ekonomi juga karena maskapai harus memberi kompensasi kepada banyak penumpang atas ketidaknyamanan ini. Ada juga mungkin beberapa pertemuan bisnis penting yang ceroboh karena grounding.

3.

Kerusakan Pedal Akselerator Toyota Camry

Karena semakin banyak fitur yang ditambahkan ke perangkat lunak selama bertahun-tahun, tampilannya dapat mulai terlihat seperti ini. Pada bulan September 2007, Jean Bookout melakukan perjalanan di Interstate Highway 69 di Oklahoma dengan penumpang Barbara Schwarz, ketika dia mengalami kesulitan dalam mengendalikan Toyota Camry miliknya.

Dia berusaha mengangkat kakinya dari throttle tetapi mobil terus berakselerasi. Pedal rem gagal menghentikan mobil dan dia terpaksa menggunakan rem daruratnya.

Sayangnya, hal ini membuat mobil meluncur ke tanggul. Akibatnya Schwarz meninggal dan Bookout dirawat di rumah sakit selama lima bulan karena luka kritis.

Gambar representasional

Ada spekulasi bahwa kecelakaan itu terjadi karena beberapa kekurangan pengkodean yang menyebabkan macetnya tugas di CPU Camry. CPU ini akan mengontrol sejumlah besar fungsi, termasuk pengapian, kontrol throttle, dan cruise control.

Kode Toyota menjadi berantakan setelah beberapa tahun kode baru ditumpuk di atas kode lama. Ini biasanya disebut sebagai ‘kode spageti’.

Kode Spaghetti terlalu rumit dan membuatnya hampir mustahil untuk menemukan kesalahan. Selain itu, Toyota juga telah melanggar beberapa peraturan keselamatan dalam pengkodean mereka.

Perlu dicatat bahwa ini bukan satu-satunya kasus akselerasi yang tidak diinginkan di Toyota. Namun, kecelakaan Bookout membuat masalah ini terungkap dan menyoroti kekurangan Toyota dalam proses perangkat lunak mereka.

Bahkan ditemukan bahwa ada lebih dari 10 juta cara untuk kemungkinan terjadinya akselerasi yang tidak diinginkan, berdasarkan cara penyusunan kode Toyota.

Kegagalan Termostat Sarang

Sumber: Flickr

Nest adalah perusahaan milik Alphabet yang membuat termostat pintar. Termostat ini cukup bagus dan memungkinkan pengguna untuk mengontrol suhu di rumah mereka dari ponsel cerdas mereka.

Musim dingin yang lalu, termostat Nest mengalami kesalahan berupa pembaruan perangkat lunak yang salah, yang menyebabkan baterainya habis. Sayangnya, kesalahan ini terjadi di tengah musim dingin, membuat beberapa pengguna tanpa panas untuk sementara.

Ini pasti sesuatu yang tidak Anda inginkan terjadi di sepanjang tahun ini. Lihat Berikutnya : Selfie Tidak Sepele Seperti Media Sosial Akhir-akhir Ini

Analisis Singkat Masalah Perangkat Lunak

Pendekatan seperti desain berbasis model dan TLA+ memungkinkan pengembang mendapatkan gambaran umum yang lebih besar tentang cara kerja perangkat lunak mereka.

Brett Victor, seorang peneliti komputer terkemuka, berpendapat bahwa ada keterputusan antara pemrogram dan masalah yang mereka coba selesaikan dengan kode. Karena pemutusan ini, menjadi sulit bagi pemrogram untuk membayangkan apa yang mereka coba masukkan ke dalam kode.

Victor berpikir ini adalah salah satu faktor penyebab perangkat lunak penuh dengan bug. Namun, ada harapan.

Pendekatan seperti desain berbasis model dan TLA+ memungkinkan pengembang mendapatkan gambaran umum yang lebih besar tentang cara kerja perangkat lunak mereka.

Desain berbasis model, seperti namanya, memungkinkan pengembangan perangkat lunak melalui model visual.

TLA+, singkatan dari Temporal Logic of Actions, adalah bahasa yang dirancang untuk menulis spesifikasi program komputer. Apa yang hebat tentang TLA+ adalah memungkinkan pengujian dan verifikasi menyeluruh terhadap perangkat lunak sebelum dipublikasikan.

Baik desain berbasis model maupun TLA+ telah membuktikan kemampuannya. Teknologi Esterel, sebuah perusahaan pengembangan perangkat lunak, menggunakan desain berbasis model untuk membuat perangkat lunak yang sangat penting bagi keselamatan, sementara TLA+ telah digunakan oleh orang-orang seperti Microsoft untuk memperbaiki kemungkinan kesalahan bencana Xbox, dan oleh Badan Antariksa Eropa untuk menulis ulang kode untuk penyelidikan yang mendarat di sebuah komet.

Proses penulisan kode dijunjung tinggi oleh programmer. Banyak dari mereka yang cukup tertarik dengan proses penulisan kode.

Oleh karena itu, merupakan tantangan untuk membuat beberapa pemrogram menerima pendekatan seperti desain berbasis model dan TLA+. Pendekatan-pendekatan ini sering dianggap sangat akademis tanpa kelayakan dunia nyata.

Namun, perubahan pandangan harus datang sedini mungkin. Baca Juga : Kami Mendorong Anak-Anak Kami Menuju Kebutaan

Pikiran Akhir

Perangkat lunak semakin banyak digunakan dalam aplikasi yang membutuhkan tindakan pencegahan keamanan bawaan.

Metode yang lebih baik dalam merancang perangkat lunak harus diperkenalkan secara menyeluruh karena aplikasi semacam itu sangat penting dalam kehidupan kita. Proses seperti otomatisasi sangat bergantung pada perangkat lunak akhir-akhir ini, tetapi satu kesalahan dalam satu baris kode dapat membawa kita ke kemunduran besar seperti yang ditunjukkan contoh di atas.

Sekarang, bayangkan sesuatu seperti Kecerdasan Buatan (AI) dimasukkan ke dalam aplikasi ini. AI sendiri cukup menakutkan tanpa gangguan perangkat lunak.

Tambahkan bug ke dalam campuran dan tidak ada yang tahu apa yang bisa terjadi. Namun, ada hikmahnya di sini.

Dengan sedikit kerja keras dan beberapa alat baru, kami dapat membuat perangkat lunak dan AI yang lebih baik dengan mendesainnya lebih baik dan mengujinya ke tiangnya. Semoga masalah kritis ini ditanggapi dengan serius oleh otoritas terkait sehingga kita dapat menggunakan perangkat lunak secara maksimal tetapi hanya untuk membangun masa depan yang lebih aman dan cerdas.

Lihat Selanjutnya : Kecerdasan Buatan: Jenis dan Masa Depan yang Dimiliki Manusia