Apa itu Debugging?

Debugging adalah proses menemukan dan memperbaiki kesalahan atau bug di setiap kode sumber perangkat lunak. Ketika perangkat lunak tidak bekerja seperti yang diharapkan, pemrogram komputer mempelajari kode untuk menentukan alasan terjadinya kesalahan. Pemrogram komputer menggunakan alat debugging untuk menjalankan perangkat lunak di lingkungan yang terkendali, memeriksa kode langkah demi langkah, dan menganalisis serta memperbaiki masalah. 

Dari mana istilah debugging berasal?

Istilah debugging dapat ditelusuri kembali ke Admiral Grace Hopper, yang bekerja di Harvard University pada tahun 1940-an. Saat salah satu koleganya menemukan ngengat yang mengganggu operasi salah satu komputer universitas. Ia mengatakan pada koleganya bahwa ngengat tersebut sedang men-debug sistem komputer. Istilah bug dan debugging pertama kali tercatat digunakan oleh pemrogram komputer pada tahun 1950-an, dan pada awal tahun 1960-an, istilah debugging secara umum digunakan oleh komunitas pemrograman.

Mengapa debugging penting?

Bug dan kesalahan terjadi dalam pemrograman komputer karena merupakan aktivitas yang abstrak dan konseptual. Komputer memanipulasi data dalam bentuk sinyal elektronik. Bahasa pemrograman mengabstraksi informasi ini sehingga manusia dapat berinteraksi dengan komputer secara lebih efisien. Setiap tipe perangkat lunak memiliki beberapa lapisan abstraksi, dengan komponen berbeda yang berkomunikasi agar aplikasi dapat bekerja dengan benar. Saat kesalahan terjadi, tantangannya adalah menemukan dan menyelesaikan masalah. Alat dan strategi debugging membantu memperbaiki masalah lebih cepat dan meningkatkan produktivitas developer. Hasilnya, kualitas perangkat lunak dan pengalaman pengguna akhir meningkat.

Bagaimana proses debugging bekerja?

Proses debugging biasanya memerlukan langkah-langkah berikut. 

Identifikasi kesalahan

Developer, penguji, dan pengguna akhir melaporkan bug yang mereka temukan saat menguji atau menggunakan perangkat lunak. Developer menemukan baris kode atau modul kode yang tepat yang menyebabkan bug. Hal ini bisa jadi membosankan dan memakan waktu. 

Analisis kesalahan

Pembuat kode menganalisis kesalahan dengan merekam semua perubahan status program dan nilai data. Mereka juga memprioritaskan perbaikan bug berdasarkan dampaknya pada fungsionalitas perangkat lunak. Tim perangkat lunak juga mengidentifikasi garis waktu untuk perbaikan bug tergantung pada tujuan dan persyaratan pengembangan.

Perbaiki dan validasi

Developer memperbaiki bug dan menjalankan uji untuk memastikan perangkat lunak terus bekerja seperti yang diharapkan. Mereka mungkin menulis uji baru untuk memeriksa apakah bug akan kembali terjadi di masa mendatang.

Debugging vs. pengujian

Debugging dan pengujian adalah proses pelengkap yang memastikan program perangkat lunak berjalan sebagaimana mestinya. Setelah menulis bagian yang lengkap atau sebagian kode, pemrogram menguji untuk mengidentifikasi bug dan kesalahan. Setelah bug ditemukan, pembuat kode dapat memulai proses debugging dan bekerja untuk membersihkan perangkat lunak dari setiap kesalahan.

Apa saja kesalahan pengkodean yang memerlukan debugging?

Cacat pada perangkat lunak muncul karena kompleksitas yang melekat pada pengembangan perangkat lunak. Kesalahan produksi yang kecil juga diamati setelah perangkat lunak aktif karena pelanggan menggunakannya dengan cara yang tidak terduga. Kami memberikan beberapa tipe kesalahan umum yang sering membutuhkan proses debugging di bawah ini.

Kesalahan sintaks

Kesalahan sintaks adalah bug yang terjadi saat program komputer memiliki pernyataan yang salah ketik. Kesalahan sintaks setara dengan salah ketik atau kesalahan ejaan dalam pemrosesan kata. Program tidak akan dikompilasi atau dijalankan jika ada kesalahan sintaks. Perangkat lunak untuk mengedit kode biasanya menyoroti kesalahan ini.

Kesalahan semantik

Kesalahan semantik terjadi karena penggunaan pernyataan pemrograman yang tidak tepat. Misalnya, jika Anda menerjemahkan ekspresi x/(2 π) sebagai Python, Anda mungkin akan menulis:

y = x / 2 * math.pi

Namun, pernyataan ini tidak benar karena perkalian dan pembagian memiliki prioritas yang sama dalam Python dan dievaluasi dari kiri ke kanan. Oleh karena itu, ekspresi ini dihitung sebagai (xπ)/2, yang mengarah ke bug.

Kesalahan logiika

Kesalahan logika terjadi saat pemrogram salah mengartikan proses stepwise atau algoritme dari suatu program komputer. Misalnya, kode mungkin keluar dari loop terlalu cepat atau memiliki hasil jika-maka yang salah. Anda dapat mengidentifikasi kesalahan logika dengan melakukan penelusuran melalui kode untuk skenario input/output yang berbeda.

Kesalahan waktu proses

Kesalahan waktu proses terjadi dikarenakan lingkungan komputasi tempat kode perangkat lunak berjalan. Misalnya, ruang memori tidak mencukupi atau tumpukan meluap. Anda dapat mengatasi kesalahan waktu proses dengan melingkari pernyataan di blok coba-tangkap atau mencatat pengecualian dengan pesan yang sesuai.

Apa saja strategi debugging yang umum?

Ada beberapa strategi yang digunakan pemrogram untuk meminimalkan kesalahan dan mengurangi waktu yang dibutuhkan untuk debugging.

Pengembangan program tambahan

Pengembangan inkremental adalah mengembangkan program di bagian yang dapat dikelola sehingga sebagian kecil kode sering kali diuji. Dengan melakukan pengembangan ini, pemrogram dapat melokalisasi bug yang mereka temukan. Pengembangan inkremental juga memungkinkan mereka untuk bekerja pada satu bug pada satu waktu daripada beberapa kesalahan setelah menulis sebagian besar kode.

Backtracking

Backtracking adalah metode debugging yang populer, terutama untuk program yang lebih kecil. Developer bekerja secara mundur dari tempat terjadinya kesalahan fatal untuk mengidentifikasi titik kejadian yang tepat dalam kode. Sayangnya, proses tersebut menjadi lebih menantang untuk dicapai karena jumlah baris kode meningkat.

Debugging jarak jauh

Debugging jarak jauh adalah debugging aplikasi yang berjalan di lingkungan terpisah dari mesin lokal Anda. Misalnya, Anda dapat menggunakan alat debugging yang diinstal dari jarak jauh untuk memecahkan masalah bug.

Logging

Sebagian besar program komputer merekam data internal dan informasi penting lainnya seperti waktu operasi dan status sistem operasi dalam file log. Developer mempelajari file log untuk menemukan dan mengatasi bug. Mereka juga menggunakan alat seperti penganalisis log untuk mengotomatiskan pemrosesan file log.   

Debugging cloud

Debugging aplikasi cloud yang kompleks merupakan tantangan karena developer harus berusaha menyamai arsitektur cloud pada mesin lokal. Perbedaan konfigurasi tambahan waktu dapat muncul antara lingkungan cloud dan lingkungan yang ditiru. Perbedaan ini menghasilkan lebih banyak bug dalam produksi dan siklus pengembangan yang lebih lama. Alat khusus diperlukan untuk debugging cloud yang lebih efisien.

Bagaimana AWS membantu debugging?

AWS mendukung upaya pengkodean dan debugging dalam beberapa cara berbeda.

Plugin untuk IDE populer

Developer menggunakan Lingkungan Pengembangan Terintegrasi (IDE) untuk menulis kode. AWS memiliki beberapa plugin yang kompatibel dengan IDE dan mendukung proses debug Anda. AWS Toolkit for Eclipse adalah plugin sumber terbuka untuk Eclipse Java IDE yang mempermudah developer untuk mengembangkan, melakukan debug, dan melakukan deployment pada aplikasi Java menggunakan Amazon Web Services. Demikian pula, AWS juga menyediakan dukungan debugging untuk bahasa lain melalui plugin yang terintegrasi dengan IDE populer lainnya, seperti:

Plugin ini mendukung debugging cloud sehingga developer dapat melakukan debug aplikasi cloud dengan cara mengakses kode yang berjalan di cloud secara langsung. 

AWS X-Ray

AWS X-Ray adalah alat debugging yang digunakan oleh developer untuk menganalisis aplikasi dalam pengembangan dan produksi. AWS X-Ray mencakup semuanya, mulai dari aplikasi tiga tingkat sederhana hingga aplikasi layanan mikro kompleks yang terdiri dari ribuan layanan.

Dengan X-Ray, Anda dapat:

  • Memahami cara aplikasi Anda dan layanan dasarnya bekerja
  • Mengidentifikasi dan memecahkan akar masalah penyebab masalah performa dan kesalahan
  • Menganalisis tampilan permintaan menyeluruh saat melakukan perjalanan melalui aplikasi Anda 

Mulai menggunakan AWS X-Ray dengan membuat akun AWS gratis sekarang juga.

Langkah Berikutnya untuk Debugging dengan AWS

Lihat sumber daya tambahan terkait produk
Pelajari selengkapnya tentang Alat Developer 
Daftar untuk akun gratis

Dapatkan akses secara instan ke AWS Tingkat Gratis. 

Daftar 
Mulai membangun di konsol

Mulai membangun dengan AWS di Konsol Manajemen AWS.

Masuk