Struktur Data - Dynamic Array
Kelas : Struktur Data (D)
Dynamic Array
Implementasi Dynamic Array pada C++
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;
}
#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 perintahnew[]. Jika dilewatkan, bisa menyebabkan kebocoran memori (memory leak).return 0;: Menghentikan fungsimain()dan mengirim sinyal ke sistem operasi bahwa program telah berjalan dan selesai dengan sukses tanpa eror.