Perbedaan Antara Alokasi Memori Statis dan Dinamis

Perbedaan Utama - Alokasi Memori Statis vs Dinamis
 

Dalam pemrograman, perlu untuk menyimpan data komputasi. Data-data ini disimpan dalam memori. Lokasi memori untuk menyimpan data dalam pemrograman komputer dikenal sebagai variabel. Variabel memiliki tipe data tertentu. Oleh karena itu, memori dialokasikan untuk menjalankan program. Memori dapat dialokasikan dengan dua cara. Mereka adalah alokasi memori statis dan alokasi memori dinamis. Dalam alokasi memori statis, sekali memori dialokasikan itu tidak dapat diubah. Memori tidak dapat digunakan kembali. Tetapi dalam alokasi memori dinamis, setelah memori dialokasikan itu dapat diubah. Itu perbedaan utama antara alokasi memori statis dan dinamis adalah itu dalam alokasi memori statis setelah memori dialokasikan, ukuran memori diperbaiki sedangkan dalam alokasi memori dinamis, setelah memori dialokasikan, ukuran memori dapat diubah.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa yang dimaksud dengan Alokasi Memori Statis
3. Apa itu Alokasi Memori Dinamis
4. Kesamaan Antara Alokasi Memori Statis dan Dinamis
5. Perbandingan Berdampingan - Alokasi Memori Statis vs Dinamis dalam Bentuk Tabular
6. Ringkasan

Apa itu Alokasi Memori Statis?

Dalam alokasi memori statis, memori yang dialokasikan diperbaiki. Setelah memori dialokasikan, itu tidak dapat diubah. Memori tidak dapat ditingkatkan atau diturunkan. Misalnya, dalam bahasa C jika programmer menulis int x, yang berarti bahwa variabel dapat menyimpan nilai integer. Jumlah byte tergantung pada komputer. Mungkin juga ada array. Misalnya. int x [5]; X ini adalah larik yang dapat menyimpan urutan data dengan tipe yang sama. Itu dapat menyimpan lima elemen integer. Itu tidak dapat menyimpan lebih dari lima elemen. Di Jawa, array dapat dibuat sebagai, int arr [] = new int [5]; Array 'arr' dapat menyimpan 5 nilai integer dan tidak dapat menyimpan lebih dari itu.

Gambar 01: Metode Alokasi Memori

Dalam alokasi memori statis, setelah variabel dialokasikan, mereka tetap permanen. Setelah alokasi awal, pemrogram tidak dapat mengubah ukuran memori. Jika pemrogram mengalokasikan array yang dapat menyimpan 10 elemen, tidak mungkin untuk menyimpan nilai lebih dari jumlah yang ditentukan. Jika programmer awalnya mengalokasikan array yang dapat menampung 10 elemen, tetapi hanya membutuhkan 5 elemen, maka ada pemborosan memori. Memori itu tidak lagi diperlukan, tetapi juga tidak mungkin untuk menggunakan kembali memori. Alokasi memori statis diperbaiki tetapi implementasinya sederhana dan mudah, dan juga cepat.

Apa itu Alokasi Memori Dinamis?

Terkadang perlu untuk mengubah ukuran memori. Jadi memori dapat dialokasikan secara dinamis. Bergantung pada penyisipan dan penghapusan elemen data, memori dapat tumbuh atau menyusut. Ini dikenal sebagai alokasi memori dinamis.

Dalam bahasa C, file header stdlib.h, ada empat fungsi untuk alokasi memori dinamis. Mereka adalah calloc, malloc, realloc dan gratis. Fungsi malloc () mengalokasikan ukuran byte yang diperlukan dan mengembalikan pointer kosong, menunjuk byte pertama dari memori yang dialokasikan. Fungsi calloc () mengalokasikan ukuran byte yang diperlukan dan menginisialisasi mereka ke nol. Kemudian mengembalikan pointer kosong ke memori. Fungsi bebas () digunakan untuk merealokasi memori yang dialokasikan. Dan fungsi realokasi dapat memodifikasi memori yang dialokasikan sebelumnya. Setelah mengalokasikan memori menggunakan calloc atau malloc, ukuran memori diperbaiki, tetapi mereka dapat ditingkatkan atau dikurangi menggunakan fungsi realloc. Di Jawa, koleksi dapat digunakan untuk alokasi memori dinamis.

Keuntungan utama alokasi memori dinamis adalah menghemat memori. Programmer dapat mengalokasikan memori atau melepaskan memori sesuai kebutuhan. Memori dapat dialokasikan kembali selama eksekusi dan dapat membebaskan memori saat tidak diperlukan. Alokasi memori dinamis juga lebih efisien daripada alokasi memori statis. Salah satu kelemahannya adalah mengimplementasikan alokasi memori dinamis itu kompleks.

Apa Persamaan Antara Alokasi Memori Statis dan Dinamis?

  • Keduanya adalah mekanisme alokasi memori.
  • Keduanya harus diimplementasikan oleh programmer secara manual.

Apa Perbedaan Antara Alokasi Memori Statis dan Dinamis?

Alokasi Static vs Dynamic Memory

Alokasi memori statis adalah metode mengalokasikan memori, dan setelah memori dialokasikan, itu diperbaiki. Alokasi memori dinamis adalah metode mengalokasikan memori, dan begitu memori dialokasikan, itu dapat diubah.
 Modifikasi
Dalam alokasi memori statis, tidak mungkin untuk mengubah ukuran setelah alokasi awal. Dalam alokasi memori dinamis, memori dapat diminimalkan atau memaksimalkan sesuai.
Penerapan
Alokasi memori statis mudah diimplementasikan. Alokasi memori dinamis rumit untuk diterapkan.
 Kecepatan
Dalam memori statis, eksekusi alokasi lebih cepat daripada alokasi memori dinamis. Dalam memori dinamis, eksekusi alokasi lebih lambat daripada alokasi memori statis.
Pemanfaatan Memori
Dalam alokasi memori statis, tidak dapat menggunakan kembali memori yang tidak digunakan. Alokasi memori dinamis memungkinkan penggunaan kembali memori. Programmer dapat mengalokasikan lebih banyak memori bila diperlukan. Dia dapat melepaskan memori bila perlu.

Ringkasan - Alokasi Static vs Dynamic Memory

Dalam pemrograman, alokasi memori statis dan alokasi memori dinamis adalah dua mekanisme untuk mengalokasikan memori. Perbedaan antara alokasi memori statis dan dinamis adalah bahwa dalam alokasi memori statis setelah memori dialokasikan, ukuran memori ditetapkan sementara dalam alokasi memori dinamis, setelah memori dialokasikan, ukuran memori dapat diubah. Programmer dapat memutuskan apakah memori harus statis atau dinamis tergantung pada aplikasinya.

Unduh PDF dari Static vs Dynamic Memory Allocation

Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini: Perbedaan Antara Alokasi Memori Statis dan Dinamis

Referensi:

1.Kayal, Somnath. "SOMNATH KAYAL." Perbedaan Antara Alokasi Memori Statis & Alokasi Memori Dinamis, 1 Januari 1970. Tersedia di sini 
2.tutorialspoint.com. "Array dalam C." Inti nya. Tersedia disini 
3. teknologi teknologi. Memori Statis vs Memori Dinamis | C Language Tutorial, Naresh i Technologies, 19 September 2016. Tersedia di sini