Struktur Data - Dynamic Array

Nama    : Aga Nafta Filadelfiano
NRP      : 5025251055
Kelas     : Struktur Data (D) 

Dynamic Array


Source Code: GitHub

Implementasi Dynamic Array pada C++

Deskripsi: 
Program ini mengimplementasikan konsep Dynamic Array pada C++ dengan menggunakan pointer dan alokasi memori dinamis. Program berfungsi untuk membuat array satu dimensi yang ukurannya dapat ditentukan langsung oleh pengguna saat program berjalan (runtime). Setelah memori dialokasikan menggunakan operator new, program akan meminta input data untuk mengisi setiap elemen array, menampilkan isi array tersebut ke layar, dan diakhiri dengan membebaskan/mendealokasi memori menggunakan operator delete[] untuk mencegah terjadinya memory leak (kebocoran memori).

Syntax Program:


Output:

Penjelasan Code:
#include <bits/stdc++.h>
using namespace std;
  • #include <bits/stdc++.h>: Ini adalah header file universal dalam C++ yang otomatis mencakup hampir seluruh pustaka standar (seperti iostream, vector, string, dll.). Biasanya digunakan dalam competitive programming agar tidak perlu menulis banyak #include satu per satu.

  • using namespace std;: Berfungsi untuk memberi tahu kompiler bahwa program menggunakan namespace standar. Dengan ini, kamu tidak perlu lagi menulis std::cout atau std::cin, cukup cout dan cin saja.


int
main(void)
{ int n; cout << "Masukkan jumlah data: "; cin >> n;
  • int main(void): Fungsi utama tempat program C++ pertama kali dieksekusi.

  • int n;: Deklarasi variabel n dengan tipe data integer untuk menyimpan jumlah data yang akan dimasukkan oleh pengguna.

  • cout dan cin: Meminta pengguna memasukkan angka, lalu menyimpannya ke dalam variabel n.


    int* data = new int[n];
  • int* data: Membuat sebuah pointer bernama data yang menunjuk ke tipe data integer.

  • new int[n]: Ini adalah proses Dynamic Memory Allocation (Alokasi Memori Dinamis). Program memesan memori di heap sebesar n elemen saat program sedang berjalan (runtime). Ukuran array ini fleksibel tergantung nilai n yang dimasukkan pengguna sebelumnya.


    for(int i = 0; i < n; i++) {
        cout << "Data ke-" << i+1 << ": ";
        cin >> data[i];
    }
  • for(int i = 0; i < n; i++): Perulangan (loop) yang berjalan sebanyak n kali (dari indeks 0 sampai n-1) untuk mengisi array.

  • i+1: Digunakan saat menampilkan pesan agar teks di layar dimulai dari "Data ke-1", bukan "Data ke-0", sehingga lebih mudah dipahami pengguna.

  • cin >> data[i];: Mengambil input angka dari pengguna dan menyimpannya ke dalam array data pada indeks ke-i.


    cout << "\nIsi array:\n";
    for(int i = 0; i < n; i++) {
        cout << data[i] << " ";
    }
  • Perulangan Kedua: Melakukan looping kembali dari indeks 0 sampai n-1 untuk membaca isi array.

  • cout << data[i] << " ";: Menampilkan nilai yang tersimpan di dalam array data satu per satu ke layar, dipisahkan dengan spasi.


    delete[] data;

    return 0;
}

  • delete[] data;: Langkah krusial untuk menghapus atau membebaskan kembali memori di heap yang tadi dipesan dengan perintah new[]. Jika dilewatkan, bisa menyebabkan kebocoran memori (memory leak).

  • return 0;: Menghentikan fungsi main() dan mengirim sinyal ke sistem operasi bahwa program telah berjalan dan selesai dengan sukses tanpa eror.

Postingan populer dari blog ini

Curiculum Vitae - Aga Nafta Filadelfiano

Struktur Data - Studi Kasus Stack

Struktur Data - Tipe Data & Array