0Pricing
C Academy · Pelajaran

Galat Runtime yang Umum

Identifikasi dan cegah kesalahan segmentasi, luapan buffer, dan kebocoran memori.

Galat Runtime yang Umum adalah pelajaran C Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C Academy mencakup 3 pelajaran total.

Error Runtime yang Umum dalam C

Error Runtime yang Umum dalam C

Error runtime terjadi ketika program mengalami perilaku yang tidak terduga dan sering kali menyebabkan kerusakan.

Dalam pelajaran ini, Anda akan mempelajari:

  • Cara segmentation fault terjadi dan cara memperbaikinya.
  • Cara buffer overflow menyebabkan kerentanan keamanan.
  • Cara kebocoran memori memengaruhi kinerja dan cara menghindarinya.
Galat Runtime yang Umum — ilustrasi 1

Apa Itu Segmentation Fault?

Apa Itu Segmentation Fault?

Segmentation fault terjadi ketika program mencoba mengakses memori yang tidak diizinkan untuk diaksesnya.

Penyebab:

  • Menghapus referensi pointer yang belum diinisialisasi atau NULL.
  • Mengakses memori di luar batas array.
  • Memodifikasi memori hanya-baca.

Contoh: Segmentation Fault

Contoh: Segmentation Fault

Program ini menyebabkan segmentation fault dengan menghapus referensi pointer NULL.

#include <stdio.h>

int main() {
    int *ptr = NULL;
    printf("%d\n", *ptr); // Segmentation fault
    return 0;
}

Mencegah Segmentation Fault

Mencegah Segmentation Fault

Kiat untuk menghindari segmentation fault:

  • Selalu inisialisasi pointer sebelum digunakan.
  • Periksa apakah pointer bernilai NULL sebelum menghapus referensinya.
  • Gunakan pemeriksaan batas array.

Apa Itu Buffer Overflow?

Apa Itu Buffer Overflow?

Buffer overflow terjadi ketika data melebihi ruang memori yang dialokasikan.

Contoh:

char arr[5]; gets(arr);

Hal ini dapat menyebabkan perilaku yang tidak dapat diprediksi dan kerentanan keamanan.

Contoh: Buffer Overflow

Contoh: Buffer Overflow

Program ini mendemonstrasikan buffer overflow menggunakan gets().

#include <stdio.h>

int main() {
    char buffer[5];
    printf("Enter a string: ");
    gets(buffer); // Unsafe, may cause buffer overflow
    printf("You entered: %s\n", buffer);
    return 0;
}

Mencegah Buffer Overflow

Mencegah Buffer Overflow

Untuk mencegah buffer overflow:

  • Gunakan fgets(), bukan gets().
  • Validasi ukuran input sebelum menulis ke array.
  • Gunakan fungsi yang aman terhadap memori seperti snprintf().

Kebocoran Memori

Kebocoran Memori

Kebocoran memori terjadi ketika memori yang dialokasikan tidak dibebaskan sehingga memori terbuang.

Penyebab:

  • Lupa menggunakan free() setelah malloc().
  • Menimpa pointer tanpa membebaskan alokasi lama.

Ringkasan

Ringkasan

Dalam pelajaran ini, Anda telah mempelajari:

  • Cara segmentation fault terjadi dan cara mencegahnya.
  • Cara buffer overflow menyebabkan masalah keamanan.
  • Cara kebocoran memori membuang sumber daya sistem.

Selanjutnya, kita akan membahas strategi penanganan pengecualian dalam C!

Galat Runtime yang Umum — ilustrasi 10

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Galat Runtime yang Umum” gratis?

Ya — teks lengkap “Galat Runtime yang Umum” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C Academy, upgrade ke CoddyKit PRO. Kursus C Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Galat Runtime yang Umum”?

Identifikasi dan cegah kesalahan segmentasi, luapan buffer, dan kebocoran memori. Kamu berlatih C Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C Academy?

Tidak diperlukan pengalaman sebelumnya. C Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 3.

Berapa lama pelajaran “Galat Runtime yang Umum” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C Academy ini?

Ya. Setiap pelajaran C Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menelusuri Galat dengan GDB
  2. Galat Runtime yang Umum
  3. Penanganan Pengecualian dalam C
← Kembali ke C Academy