10 Bug Terkenal di Dunia Ilmu Komputer
vermeer2011

10 Bug Terkenal di Dunia Ilmu Komputer

10 Bug Terkenal di Dunia Ilmu Komputer – Deadlock, Race condition, Division by zero, Infinite loops, Infinite recursion, Anda mungkin pernah mendengar istilah-istilah ini dalam pemrograman komputer dan Anda mungkin memiliki pengetahuan bahwa bagaimana istilah di atas dapat membuat masalah besar dalam perangkat lunak jika ada dalam program Anda. Jika pemrograman komputer adalah salah satu bidang paling menarik yang dapat dipilih siapa pun, maka itu juga merupakan salah satu jalur paling berbahaya yang dapat dipilih sendiri oleh seseorang. Seorang programmer tahu betapa dia harus berhati-hati saat menulis kode bebas bug. Satu kesalahan kecil dapat membuat seseorang menjadi orang kaya hanya dalam beberapa detik dan itu juga dapat menyebabkan hilangnya uang dalam bisnis dan bahkan kehidupan manusia.

Berikut ada beberapa bug terkenal yang dibuat oleh programmer dalam sejarah dan bagaimana hal itu memengaruhi bisnis dan kehidupan manusia. sbobet365

10 Bug Terkenal di Dunia Ilmu Komputer

1. Ariane 5 Rocket Failure (1996): Ledakan Ariane 5 adalah salah satu kesalahan perangkat lunak paling mahal dalam sejarah. Roket Europian yang terkenal ini digunakan untuk meluncurkan satelit dan biaya pengembangannya sekitar 8 Milyar. Roket itu meledak hanya setelah 40 detik peluncurannya. Alasan di balik kegagalannya adalah Integer Overflow yang merupakan bug yang sangat umum dalam pemrograman komputer. Sangat penting untuk menjaga ukuran memori yang diperlukan oleh suatu variabel saat mendeklarasikannya dan itu adalah kesalahan selama pengembangan roket ini. Pengkodean dilakukan di Ada. Setelah penyelidikan tim, mereka menemukan bahwa garis kode mencoba memasukkan angka 64-bit ke dalam ruang 16-bit. Hasil dari kegagalan ini adalah kerugian $ 370 juta. judi bola

2. Y2K Bug (1999): Selama 1960-an insinyur komputer mengikuti pendekatan untuk menulis program menggunakan kode dua digit untuk tahun meninggalkan “19.” Sebagian besar dari mereka berpikir bahwa menulis “19” sebelum variabel “tahun” adalah pemborosan memori yang tidak perlu. Misalnya, untuk mewakili tahun 1970 mereka hanya menggunakan dua digit ujung “70”. Semuanya baik-baik saja hingga 31 Desember 1999. Tetapi setelah itu, setelah 1 Januari 2000, komputer banyak dibaca tahun 1900 karena dua digit representasi “00”. Bug ini disebut Y2K atau “bug milenium” (Huruf K, singkatan dari kilo yang digunakan untuk mewakili angka 1, 000. Jadi, Y2K berarti Tahun 2000.). Ini mempengaruhi bank-bank yang menghitung suku bunga setiap hari, pusat-pusat teknologi seperti pembangkit listrik, transportasi dan banyak hal. Miliaran dolar dihabiskan untuk meningkatkan sistem komputer di seluruh dunia. https://americandreamdrivein.com/

3. Patriot Missile Failure (1991): Ketika suatu kesalahan dilakukan dalam operasi militer, itu mempertaruhkan nyawa banyak orang. Selama Perang Teluk Pertama, Rudal Patriot Amerika dikerahkan untuk mendeteksi dan mencegat serangan rudal Scud yang mengandalkan waktu yang sangat akurat. Karena kesalahan pembulatan dalam sistem, itu menghitung waktu yang tidak tepat dan rudal gagal mencegat serangan rudal Scud Irak pada barak tentara di Arab Saudi. 28 tentara Amerika kehilangan nyawa dan 100 orang terluka dalam serangan itu.

4. AT&T (1990): AT&T memilih untuk memutakhirkan perangkat lunak yang lebih kompleks daripada saat ini dan berharap untuk meningkatkan panggilan jarak jauh tetapi itu menjadi bumerang dan jaringan menjadi dinonaktifkan. Selama sembilan jam AT&T pelanggan tidak dapat membuat panggilan jarak jauh. 75 juta panggilan telepon tidak terjawab dan 200 ribu reservasi penerbangan hilang karena kegagalan ini. Masalahnya adalah kondisi perlombaan dalam mengganti kode stasiun yang menangani crash stasiun switching. Kondisi balapan disebabkan oleh pernyataan sakelar di dalam loop. AT&T kehilangan $ 60 juta karena kesalahan dalam kode ini.

5. Gangnam Style Broke Youtube: Ketika youtube pertama kali dikembangkan tidak ada yang mengira bahwa sebuah lagu bisa mendapatkan miliaran tampilan dan bisa melebihi ukuran maksimum 32 bit integer yang ditandatangani. Nilai maksimum untuk integer bertanda 32-bit adalah 2, 147, 483, 647 dan ketika sebuah lagu Gangnam Style datang ke tampilan pada lagu hit ini oleh bintang pop Korea melebihi nilai maksimum .

Kemudian Google mengubah jumlah tampilan menjadi integer bertanda 64-bit untuk memperbaiki bug.

6. Mariner 1 Software Bug (1962): Wahana antariksa Mariner 1 dianggap sebagai salah satu kegagalan termahal dalam sejarah. Wahana antariksa itu dirancang untuk terbang oleh Venus tetapi sebelum satelit gagal, antena pengarah di atas pesawat gagal dan dialihkan dari jalur penerbangan yang dimaksudkan. Alasan di balik kegagalan ini adalah overbar yang hilang. Karena penghilangan tanda hubung dalam kode, pesawat ruang angkasa mendapat sinyal panduan yang salah. Biaya roket ini lebih dari $ 18 juta pada tahun 1962. Penulis fiksi ilmiah Arthur C Clarke menggambarkan Mariner 1 sebagai “dirusak oleh tanda hubung paling mahal dalam sejarah”.

7. Mars Climate Orbiter NASA (1988): Karena berbagai unit pengukuran Mars Climate Orbiter setelah perjalanan 286 hari dari Bumi dihancurkan. Proyek ini dirancang dengan biaya $ 125 juta untuk mempelajari permukaan dan iklim Mars. Komunikasi terputus dan pengorbit memasuki atmosfer Mars pada sudut yang salah daripada memasuki orbit planet. Alasannya adalah perangkat lunak yang mengendalikan pendorong Orbiter menggunakan unit imperial (pound of force), bukan unit metrik (Newton) dan itu saling bertentangan.

8. Pentium FDIV Bug (1993): Banyak komputer yang menggunakan teknologi Intel dan Intel selalu dikenal dengan prosesor yang baik tetapi bug ditemukan dalam prosesor Pentium x86 oleh seorang profesor matematika Thomas Nicely pada tahun 1993. Kesalahan matematika ini membagi mengambang -titik angka dalam rentang tertentu. Misalnya, membagi 4195835.0 / 3145727.0 menghasilkan 1,33374 bukannya 1,33382, kesalahan 0,006%. Tidak semua prosesor rusak tetapi sekitar 5 juta chip rusak ditemukan dan Intel setuju untuk mengganti chip hanya jika pelanggan dapat membuktikan bahwa mereka terkena dampak chip yang rusak. Kemudian perusahaan mengganti chip untuk siapa saja yang mengeluh dan biayanya $ 475 juta untuk Intel.

10 Bug Terkenal di Dunia Ilmu Komputer

9. Paypal Error (2007): Pemroses pembayaran online terbesar di dunia Paypal juga menghadapi kesalahan pemrograman. PayPal secara tidak sengaja menjadikan pria Pennsylvania, Chris Reynolds, orang terkaya di dunia dengan $ 92 kuadriliun. PayPal keliru mengkredit jumlah ini di akunnya dan dia menjadi seribu kali lebih kaya dari total gabungan PDB seluruh planet. Jumlah pastinya signifikan di dunia angka 64-bit yang menunjukkan kesalahan pemrograman. Kesalahannya dengan cepat dikenali dan akunnya telah kembali ke nol pada saat dia masuk.

10. Bug Kalkulator Windows: Kalkulator Windows juga mengandung bug. Bug ini ada di hampir semua versi Windows termasuk Windows XP, Vista, 7 dan Windows 8. Anda dapat memeriksanya di sistem Anda. Buka Windows Calculator, lalu ketik 4 dan ambil root kuadrat, Anda akan mendapatkan 2 lalu kurangi 2 dari itu. Alih-alih hasil 0, Anda akan melihat hasil yang berbeda. Anda dapat melihat output yang berbeda pada versi windows yang berbeda. Jawabannya salah bahkan untuk sqrt (9) -3. Jawabannya harus nol, tetapi Anda akan melihat beberapa angka aneh. Akhirnya, Microsoft mengakui bug ini di aplikasi Kalkulator dan mereka memperbaikinya di Windows 10 versi yang lebih baru.

Apa Itu Debugging?
vermeer2011

Apa Itu Debugging?

Apa Itu Debugging? – Debugging adalah salah satu hal paling mengerikan dan menyakitkan bagi pengembang dan tidak peduli apa yang harus dilakukan setiap pengembang melalui fase ini saat mengerjakan sebuah proyek. Anda mulai mengerjakan proyek dengan antusiasme penuh. Anda menulis ribuan baris kode bersih di lingkungan pengembangan Anda, semuanya bekerja dengan baik di sana, tetapi ketika Anda mencoba untuk mengambil seluruh proyek di lingkungan produksi, itu tidak berfungsi atau tidak berperilaku seperti yang Anda inginkan. Banyak pengembang mungkin menghadapi masalah ini dalam karier mereka dan itu menjadi lebih membuat frustrasi ketika mereka harus membersihkan kekacauan yang dibuat oleh orang lain.

Debugging adalah tentang mencari tahu sumber masalah daripada mengidentifikasi penyebabnya, menguji hipotesis Anda dan mencoba setiap solusi yang mungkin untuk menghilangkan penyebab di balik perilaku tak terduga itu. Setiap pengembang menghabiskan banyak waktu debug kode, kadang-kadang lebih dari seminggu atau lebih dari menulis kode dan itu menguras antusiasme pengembang. Jadi apa solusinya untuk mengurangi waktu debug kode? Bagaimana cara meminimalisir terjadinya bug? taruhan bola

Tips Debugging

Apa Itu Debugging?

1. Jalankan Kode Anda Lebih Sering: Ini adalah saran yang paling penting, terutama untuk pemula. Banyak pemula melakukan kesalahan ini dan mereka menjalankan kode mereka pertama kali setelah menulis banyak kode dalam file. Harap hindari kesalahan ini karena Anda akan menjadi semakin bingung memeriksa kode Anda sendiri dan Anda akan membuang waktu Anda menemukan sedikit kesalahan dalam kode Anda. Ketika Anda menjalankan kode Anda setiap kali dan mengujinya, Anda mendapatkan umpan balik dan Anda memeriksa apakah Anda menuju ke arah yang benar atau tidak. sbobet365

2. Gunakan Pernyataan Cetak Secara Efektif: Salah satu alat paling sederhana dan favorit untuk setiap programmer, terutama bagi pemula untuk debug kode. Sebagian besar masalah debugging dapat diselesaikan dengan memasukkan pernyataan cetak dalam kode Anda. Cetak variabel dan periksa konsol Anda apakah nilai yang disimpan di dalamnya benar atau tidak. Cetak array, objek, variabel di mana pun Anda merasa perlu untuk memeriksa nilai data Anda. www.americannamedaycalendar.com

3. Google, Google, dan Google: Tidak dapat menyangkal bahwa Google memiliki solusi untuk sebagian besar masalah dan ini adalah saran termudah, terutama untuk pemula. Anda mungkin mengalami masalah ketika Anda tidak memahami pesan kesalahan pada layar Anda untuk kode yang telah Anda tulis. Hal paling sederhana yang dapat Anda lakukan adalah menyalin pesan kesalahan dan google itu. Setelah Anda mencoba mencarinya, ada kemungkinan besar Anda mendapatkan jawaban di StackOverflow (komunitas terbesar untuk pengembang) atau di forum atau komunitas lain (peluang lebih besar untuk beralih dari StackOverflow).

4. Coba Solusi Alternatif: Coba solusi yang berbeda ketika Anda tidak memahami penyebabnya dan tidak tahu cara memperbaiki masalah. Jika masih, itu tidak berfungsi, coba yang lain. Kemungkinan juga Anda mendapatkan solusinya tetapi Anda menemukan kesalahan baru. Jangan panik dalam hal ini dan terima bahwa setiap pengembang harus melalui fase ini. Jika Anda adalah pengembang junior atau pemula, Anda harus mencoba solusi alternatif untuk mengetahui akar permasalahan sebelum meminta bantuan dari pengembang senior atau dari orang lain. Jika Anda tidak akan mencoba solusi alternatif dan meminta bantuan secara langsung, pertanyaan pertama yang akan mereka ajukan adalah “Apakah Anda mencoba solusi yang berbeda?”. Jadi pastikan Anda tidak perlu kembali ke tempat duduk Anda lagi dan mencoba solusi lain setelah meminta bantuan.

5. Gunakan Komentar secara Efektif: Dalam bahasa apa pun, komentar tidak hanya meninggalkan catatan dalam kode atau untuk menjelaskan kode. Anda juga dapat menggunakannya dengan cerdas untuk men-debug kode Anda. Banyak pemula yang tidak mengerti bagaimana menggunakan komentar secara efektif untuk men-debug kode. Anda dapat mengomentari sepotong kode untuk sementara waktu yang tidak perlu Anda jalankan saat itu dan Anda dapat memeriksa bagian lain dari kode untuk mengidentifikasi mana yang menyebabkan masalah. Menjadi mudah untuk memeriksa kode sisanya dan mengidentifikasi kesalahan. Banyak pemula menghapus kode untuk memeriksa kesalahan alih-alih berkomentar, tolong jangan lakukan itu dan berlatih untuk berkomentar kode.

6. Reproduksi Bug: Sering kali ketika Anda mengunggah situs web Anda di lingkungan produksi (Godaddy, Heroku, dll) itu tidak berfungsi. Ini berfungsi dengan baik di lingkungan lokal Anda, tetapi Anda mendapatkan masalah di lingkungan produksi dan alasannya mungkin karena perubahan dalam variabel lingkungan atau beberapa hal seperti kunci API yang Anda simpan langsung di lingkungan lokal Anda, Anda melakukan hal yang sama dalam produksi Anda lingkungan yang tidak seharusnya Anda lakukan di sana untuk alasan keamanan.

Untuk mengatasi masalah seperti ini, solusi terbaik adalah mereproduksi bug yang sama di lingkungan lokal Anda, tetapi pastikan Anda tidak bermain-main dengan kode Anda di lingkungan produksi karena butuh waktu untuk berkomunikasi dengan server.

7. Gunakan Binary Search: Menemukan kesalahan kompleks dalam file kereta sangat sulit terutama ketika memiliki ribuan baris kode. Dalam kasus tersebut, Anda perlu memeriksa lebih banyak tempat dan untuk menghindari kasus ini hal terbaik yang dapat Anda lakukan adalah menerapkan pencarian biner. Dalam proses ini, Anda perlu memotong seluruh kode menjadi dua bagian. Komentari satu bagian dan jalankan bagian lain. Bagian mana pun yang bertanggung jawab atas kesalahan, ulangi proses yang sama dengan bagian itu dan terus mengulanginya sampai atau kecuali Anda tidak menemukan baris kode yang tepat yang menyebabkan kesalahan.

8. Gunakan Alat Debugging: Ada begitu banyak IDE dan lingkungan yang tersedia di pasar dengan alat debugging, misalnya, kode studio visual, gerhana di mana Anda dapat menulis kode Anda dan Anda dapat menggunakannya untuk mencari tahu kesalahan juga sebagian besar bahasa memiliki banyak debugger juga dengan berbagai fitur seperti antarmuka grafis, pengaturan breakpoint. Alat-alat ini menghentikan eksekusi dan memeriksa nilai data baris demi baris yang harus Anda lakukan adalah menetapkan breakpoint.

Langkah, langkah, pengaturan breakpoint berikutnya hal-hal ini tersedia di sebagian besar alat debugging. GDB (C) atau PDB (Python) atau alat pengembang Chrome (JavaScript) adalah beberapa alat debugging luar biasa yang dapat Anda gunakan untuk mencari tahu kesalahannya tetapi masalahnya adalah sebagian besar programmer atau pemula tidak tahu cara menggunakan alat-alat ini secara efektif . Memberi waktu dan mempelajari alat ini dapat menghemat banyak waktu.

9. Tes Otomatis: Teknik ini digunakan di banyak perusahaan untuk mendeteksi kesalahan. Pengujian otomatis dan beberapa pengujian unit lainnya dilakukan untuk memeriksa apakah output aktual sesuai dengan output yang diharapkan atau tidak dan ini dilakukan dengan menggunakan beberapa alat atau menulis beberapa skrip pengujian di mana menjalankan perangkat lunak dengan input spesifik. Jika Anda membuat hipotesis atau asumsi, tulislah unit test (memeriksa fungsionalitas fungsi tunggal atau kelas) dan periksa hasilnya. Menulis kasus uji ini melintasi kode Anda dan memeriksa perilaku mereka yang membantu dalam menemukan kesalahan.

10. Diskusikan dan Minta Bantuan: Jika Anda telah mencoba segalanya untuk menemukan bug dan mengatasinya tetapi tidak ada yang berhasil maka itu mungkin merupakan masalah yang kompleks seperti Kondisi Balap dan dalam skenario semacam itu, Anda perlu meminta bantuan seseorang kepada seseorang. . Jelaskan segala sesuatu tentang masalah ini, asumsi Anda, solusi yang telah Anda coba, tunjukkan kode yang memberikan kesalahan. Berpasangan dengan orang lain atau jika Anda meminta bantuan, Anda mungkin mendapatkan solusi atau Anda mungkin harus mempertimbangkan beberapa skenario lain yang belum Anda pertimbangkan sebelum dapat menyelesaikan masalah Anda.

Tips Lain:

Apa Itu Debugging?
  • Selalu perbaiki satu masalah pada satu waktu. Anda mungkin menemukan kesalahan lain saat menyelesaikan satu masalah tetapi jangan mengacaukan sepotong kode lain. Selalu pilih satu masalah, selesaikan itu, lalu pilih satu lagi untuk menyelesaikannya, jika tidak Anda akan bingung atau ini bisa menjadi mimpi buruk untuk ditangani.
  • Membaca kode Anda dengan hati-hati kadang-kadang ini bisa menjadi kesalahan yang sangat kecil seperti titik koma atau koma atau tanda kurung. Jika Anda seorang pemula dan mempelajari kode chancer lebih tinggi bahwa kode Anda tidak persis sama dengan guru yang mencoba mengajar Anda, jadi baca kode Anda dengan cermat setiap kali.
  • Jika Anda menggunakan segala jenis kerangka kerja, dalam hal itu, tetap perbarui diri Anda dengan kerangka kerja Anda. Perusahaan membuat perubahan reguler dalam kerangka kerja itu jadi tetap perbarui dengan itu.
  • Beristirahatlah dan berjalan menjauh dari sistem Anda untuk mengatur ulang pikiran Anda jika Anda mulai kehilangan kesabaran atau kelelahan. Lakukan aktivitas lain untuk beberapa waktu. Dengarkan musik atau minum segelas air atau berikan istirahat yang layak untuk mata Anda. Anda mungkin menemukan pendekatan lain untuk men-debug kode Anda atau memulai semuanya dari awal lagi setelah istirahat sebentar dapat membantu menyelesaikan masalah.