Artikel Terbaru

4 Keunggulan Utama Bitcoin

Sebelum membicarakan tentang bitcoin, terlebih dahulu mari pahami apa yang dimaksud dengan uang. Apa sebenarnya yang dimaksud dengan uang? Pada dasarnya, uang adalah segala sesuatu yang mewakili nilai tertentu.

7 Jenis Sinyal Error Program pada Bahasa C

Sinyal atau tanda pada komputer adalah cara berkomunikasi antara proses dan sistem operasi. Ketika sebuah program berjalan dengan beberapa tanda error maka sistem operasi akan memberi sinyal pada prosesnya dan akan menghentikan proses eksekusi program selanjutnya. Beberapa proses mungkin memiliki signal handler atau penanganan sinyal yang melakukan beberapa tugas penting sebelum proses berhenti dari CPU.

Sinyal dan interupsi pada dasarnya adalah sama tetapi terdapat sedikit perbedaan dimana interupsi di-generate oleh prosesor dan ditangani oleh kernel tetapi sinyal atau signal di-generate oleh kernel dan ditangani oleh proses. Sinyal error umumnya dikarenakan terminasi dari program dan sebuah core dump file yang diciptakan dan dinamai core, yang menyimpan state dari proses ketika terjadi terminasi. File tersebut dapat ditemukan menggunakan debugger yang fungsinya untuk mengetahui penyebab dari terminasi program.

Error signal
satu, SIGFPE-
Sinyal error ini menandai beberapa kesalahan aritmatik seperti pembagian oleh angka 0, floating point error, dan lain sebagainya. Jika sebuah program menyimpan data integer pada lokasi dinama digunakan untuk operasi dengan tipe data float, maka dapat menyebabkan invalid operasi kecuali jika prosesor tidak mengenali data sebagai nilai float. Tetapi tanda ini tidak menentukan tipe error floating point.

dua, SIGILL-
Sinyal ini menandai instruksi ilegal. Ketika instruksi garbage atau instruksi yang dibuat tetapi tidak diijinkan pada eksekusi program atau tidak memiliki aturan untuk mengeksekusi program tersebut, dan kemudian perintah tersebut tetap di-generate maka sinyal error ini akan dimunculkan. Bahasa C tidak menghasilkan instruksi ilegal sehingga tidak mungkin akan menemukan sinyal error semacam ini, sehingga hasil dari kemungkinan yang program dieksekusi maka dapat menyebabkan file menjadi corrupted. Sinyal ini juga di-generate ketika terjadi stack overflow.

tiga, SIGSEGV-
Sinyal error ini akan muncul ketika pada tahap proses program mencoba mengakses lokasi yang tidak diijinkan untuk diakses, seperti melakukan referensi ulang pointer secara sembarangan menuju ke "segmentation fault". Sinyal ini hanya di-generate ketika sebuah program menuju terlalu jauh dari ruang memorinya sehingga akan dideteksi oleh mekanisme memori proteksi. Atau lebih akrab dikenal dengan istilah pelanggaran segmentasi atau segmentation violation.

empat, SIGBUS-
Sinyal ini dikenal dengan singkatan "Bus error". Sinyal ini dihasilkan ketika mengalami akses memori invalid. Sekilas mirip seperti SIGSEGV tetapi pada SIGSEGV referensi lokasi memori adalah valid, tetapi pada SIGBUS referensi memori tidak ada atau invalid, dengan kata lain lokasi memori berada diluar jangkauan ruang.

lima, SIGABRT-
Jika error terdeteksi oleh program maka sinyal ini akan di-generate dengan memanggil perintah abort(). Sinyal ini juga digunakan oleh library standard untuk melaporkan internal error. Fungsi assert() pada C++ juga menggunakan abort() untuk generate tanda tersebut.

enam, SIGSYS-
Sinyal ini dikirim untuk diproses ketika argument invalid dilewatkan menuju ke pemanggilan sistem.

tujuh, SIGTRAP-
Sinyal ini dikirim untuk diproses ketika muncul tanda exception. Sinyal ini diperintahkan oleh debugger untuk memberikan informasi. Contohnya, jika sebuah variabel berubah nilainya maka akan hal ini dapat memberikan sinyal error.

Komentar

  1. Apa yang dimaksud dengan error program?

    BalasHapus
    Balasan
    1. Error atau kesalahan merupakan masalah yang terjadi pada suatu program, yang membuat perilaku dari suatu program menjadi tidak normal dimana kesalahan tersebut tidak hanya terjadi ketika program dijalankan, tetapi juga ketika program tersebut sedang dalam proses pembuatan. Error atau kesalahan pemrograman tersebut juga dikenal dengan istilah bug (serangga = mengganggu), dan proses penghapusan debug disebut dengan debugging.

      Hapus
  2. Bagaimana cara penanganan error atau error handling pada bahasa C?

    BalasHapus
    Balasan
    1. Programmer pada bahasa C dapat memeriksa nilai yang dikembalikan oleh kompilator dan dapat mengambil tindakan yang sesuai tergantung dengan nilai (atau pesan error) yang dikembalikan tersebut.

      Tips: biasakan untuk mengembalikan nilai program atau ke 0 untuk menunjukkan bahwa sudah tidak terjadi kesalahan apapun pada program.

      Hapus
  3. Apa yang dimaksud dengan stderr?

    BalasHapus
    Balasan
    1. Stderr adalah standar pesan error yang digunakan untuk mencetak nilai output pada layar atau terminal window.s Stderr juga merupakan salah satu output dari perintah stdout yang melakukan perekaman secara otomatis atau default.

      Hapus

Posting Komentar

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung. :D

Catatan: setiap iklan yang ditayangkan pada blog ini bersumber dari google adsense. Dengan jenis iklan yang dipilih adalah, sebagai berikut.

POIN 1, Iklan yang ditampilkan hanya boleh berbahasa indonesia atau berbahasa inggris. Tidak menerima jenis iklan dalam bahasa yang lain selain yang telah disebutkan karena blog ini dibuat untuk para pengunjung dari negara atau orang yang berbahasa Indonesia.

POIN 2, Setiap gambar yang ditampilkan pada iklan sifatnya tidak mengganggu para pengunjung yang melihat blog, atau tidak boleh menampilkan gambar yang bersifat menjijikkan atau merangsang rasa mual.

POIN 3, Jenis iklan yang dipasang bukan merupakan iklan spam, atau berisi dan mengarahkan pengunjung ke alamat yang berbahaya atau bersifat penipuan.

POIN 4, Segala bentuk iklan tunduk dan patuh pada ketentuan dari pihak Adsense google dan pemilik blog.

POIN 5, Segala jenis iklan yang tidak bertentangan dengan poin 1-4 yang dijelaskan sebelumnya, maka iklan tersebut dapat ditampilkan pada blog.

POIN 6, Jika ada pihak ketika yang ingin memasang iklan pada blog ini secara langsung, maka dapat menghubungi pemilik blog melalui kontak 0882 3218 8316.



~ Ikatlah Ilmu dengan Memostingkannya ~

Hot Artikel

Enkapsulasi pada Java

Perbedaan stdio.h dan stdlib.h pada Bahasa C

6 Tahap Utama dalam Melakukan Kompilasi Program Hello World Java

4 Contoh Program Java dan Multiple Inheritance

3 Jenis Utama Looping pada Java