Lompat ke konten Lompat ke sidebar Lompat ke footer

Kebocoran Memori Bahasa C dan Cara Mengatasinya

Kebocoran memori pada Bahasa C muncul ketika seorang programmer menciptakan sebuah memori dalam heap dan lupa untuk menghapus memori yang telah dialokasikan tersebut ketika program telah selesai digunakan.


Sebelum memahami lebih dalam materi tentang Kebocoran Memori Bahasa C dan Cara Mengatasinya, terlebih dahulu pelajari materi tentang: Penggunaan realloc() Bahasa C dan Penjelasannya, Fungsi free() Bahasa C untuk Mengetahui Ukuran Memori yang Dealokasi, dan Perbedaan malloc() dan calloc() Bahasa C.

Konsekuensi dari kebocoran memori pada bahasa C adalah performa dari komputer mengalami penurunan jumlah memorinya karena memori yang mestinya tersedia kosong masih digunakan oleh komputer. Bahkan, dalam kondisi terburuk, terlalu banyak alokasi memori yang masih terpakai dapat menyebabkan perangkat atau sistem dapat berhenti bekerja secara tepat, aplikasi mengalami kegagalan fungsi, dan sistem menjadi lambat secara signifikan.

Kebocoran memori merupakan sebuah permasalahan serius bagi sebuah program bahasa C, dimana server tidak berhenti bekerja atau tidak pernah dimatikan meskipun program telah selesai menjalankan tugasnya.


Contoh:

/* Fungsi Bahasa C dengan

 kebocoran memori */

#include <stdlib.h>


void f()

{

/* Lakukan kegiatan */

int *ptr = (int *) malloc(sizeof(int));


/* Return tanpa membebaskan

 memori pointer ptr */

return

}

Untuk menghindari kebocoran memori, maka memori yang dialokasikan pada heap harus selalu dibebaskan ketika memori tersebut sudah tidak dibutuhkan lagi penggunaannya.

Contoh:

/* Fungsi Bahasa C tanpa

 kebocoran memori. */

#include <stdlib.h>;


void f()

{

/* Lakukan kegiatan program */

int *ptr = (int *) malloc(sizeof(int));


free(ptr);


return;

}


Referensi Tambahan:

Artikel ini didedikasikan kepada: Ichsan Rizqi DewantoIin Risma ImandaIndah NurhidayahIndy Rahmawati, dan Iva Rahma Nurfadilla.

5 komentar untuk "Kebocoran Memori Bahasa C dan Cara Mengatasinya"

  1. Apa yang dimaksud dengan kebocoran memori pada Bahasa C?

    BalasHapus
    Balasan
    1. Kebocoran memori pada bahasa C merupakan jenis kebocoran sumber daya khusus yang terjadi ketika perangkat lunak atau program komputer menangani alokasi memori dengan buruk dan gagal mengosongkan memori yang tidak lagi diperlukan.

      Hapus
    2. Yang dimaksud dengan kebocoran memori itu adalah memori yang digunakan sebelumnya dan masih dialokasikan pada komputer sehingga membebani kerja dari komputer itu sendiri.

      Hapus
  2. Kenapa alokasi memori perlu dikosongkan pada Bahasa C?

    BalasHapus
    Balasan
    1. Setiap kali program bahasa C menjalankan tugasnya, maka sebagian dari alokasi memori akan dipakai atau digunakan untuk pelaksanaan tugas dari program tersebut, memori tersebut akan selamanya dialokasikan pada komputer meskipun program telah selesai menjalankan tugasnya, oleh karena itu agar penggunaan memori menjadi lebih efisien dan tidak membebani kerja komputer, maka alokasi memori yang sudah tidak diperlukan lagi harus dibebaskan, guna memberikan ruang memori yang lebih luas untuk jenis tugas atau program selanjutnya yang akan dijalankan pada komputer.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

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

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -