Apa itu Array?
Array adalah struktur data yang menyimpan elemen dari tipe data yang sama secara berurutan. Array C ++ memiliki ukuran tetap.
Anda dapat melihat array sebagai kumpulan variabel dari tipe data serupa. Alih-alih mendeklarasikan setiap variabel dan memberinya nilai secara individual, Anda dapat mendeklarasikan satu variabel (larik) dan menambahkan nilai dari berbagai variabel ke dalamnya. Setiap nilai yang ditambahkan ke larik diidentifikasi oleh indeks.
Dalam tutorial C ++ ini, Anda akan mempelajari:
- Apa itu Array?
- Mengapa kita membutuhkan array?
- Deklarasikan sebuah array dalam C ++
- Inisialisasi Array
- Jenis Array
- Array Satu Dimensi
- Array Multi-dimensi
- Array Dua Dimensi
- Array Tiga Dimensi
- Pointer ke Array
- Mengakses nilai Array
- Keuntungan dari Array di C ++
- Kekurangan Array di C ++
Mengapa kita membutuhkan array?
Array sangat penting dalam bahasa pemrograman apa pun. Mereka menyediakan cara yang lebih nyaman untuk menyimpan variabel atau kumpulan data dari tipe data yang serupa bersama-sama daripada menyimpannya secara terpisah. Setiap nilai array akan diakses secara terpisah.
Deklarasikan sebuah array dalam C ++
Deklarasi array di C ++ melibatkan pernyataan tipe serta jumlah elemen yang akan disimpan oleh array. Sintaksis:
type array-Name [ array-Size ];
Aturan untuk mendeklarasikan larik berdimensi tunggal di C ++.
- Tipe: Tipe adalah tipe elemen yang akan disimpan dalam larik, dan harus berupa tipe data C ++ yang valid.
- Array-Name: Array-Name adalah nama yang akan diberikan ke array.
- Array-Size: Array-Size adalah jumlah elemen yang akan disimpan dalam array. Ini harus berupa bilangan bulat dan lebih besar dari 0.
Misalnya, Anda dapat membuat array bernama age dan menyimpan usia 5 siswa sebagai berikut:
int age[5];
Usia array akan menyimpan 5 bilangan bulat yang mewakili usia siswa yang berbeda.
Inisialisasi Array
Inisialisasi array adalah proses penugasan / penyimpanan elemen ke array. Inisialisasi dapat dilakukan dalam satu pernyataan atau satu per satu. Perhatikan bahwa elemen pertama dalam array disimpan di indeks 0, sedangkan elemen terakhir disimpan di indeks n-1, di mana n adalah jumlah total elemen dalam array.
Dalam kasus larik usia, elemen pertama akan disimpan di indeks 0, sedangkan elemen terakhir akan disimpan di indeks 4.
Mari kita gunakan larik usia untuk mendemonstrasikan bagaimana inisialisasi larik dapat dilakukan:
int age[5] = {19, 18, 21, 20, 17};
Jumlah total elemen dalam {} tidak boleh melebihi nilai yang dinyatakan dalam []. Elemen 19 ada pada indeks 0, 18 pada indeks 1, 21 pada indeks 2, 20 pada indeks 3 dan 17 pada indeks 4. Jika Anda tidak menyatakan jumlah elemen yang akan disimpan dalam larik di dalam [], larik hanya akan cukup besar untuk menampung elemen yang ditambahkan di dalam {}. Sebagai contoh:
int age[] = {19, 18, 21, 20, 17};
Pernyataan di atas akan membuat array yang sama persis dengan yang sebelumnya. Anda juga dapat menetapkan satu elemen ke array menggunakan indeksnya. Sebagai contoh:
age[3] = 20;
Pernyataan di atas akan menyimpan nilai 20 pada indeks 3 dari array bernama age. Ini berarti bahwa 20 akan menjadi elemen ke- 4 dari array.
Jenis Array
Ada dua tipe array C ++:
- Array satu dimensi
- Array Multi-dimensi
- Pointer ke Array
Array Satu Dimensi
Ini adalah larik di mana item data disusun secara linier dalam satu dimensi saja. Ini biasanya disebut array 1-D. Sintaksis:
datatype array-name[size];
- Nama-array adalah nama dari array.
- Ukuran adalah jumlah item yang akan disimpan dalam larik.
Sebagai contoh:
#includeusing namespace std;int main(){int age[5] = { 19, 18, 21, 20, 17 };for (int x = 0; x < 5; x++){cout < Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Termasuk file header iostream dalam kode kami. Ini akan memungkinkan kita untuk membaca dan menulis ke konsol.
- Termasuk namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main () di mana logika program harus ditambahkan.
- Mulai dari isi fungsi main ().
- Mendeklarasikan sebuah array bernama age untuk menyimpan 5 integer. 5 bilangan bulat juga telah diinisialisasi.
- Buat variabel integer x menggunakan for loop.
- Awal isi loop for.
- Menggunakan variabel loop x untuk mengulang nilai-nilai usia array dan mencetaknya di konsol. "\ N" adalah karakter baris baru dan dicetak di baris baru setelah setiap iterasi.
- Akhir badan for a loop.
- Akhir badan fungsi main ().
Array Multi-dimensi
Ini adalah larik di mana item data disusun untuk membentuk larik larik. Larik multidimensi dapat memiliki sejumlah dimensi, tetapi larik dua dimensi dan tiga dimensi adalah umum. Sintaksis:
datatype array-name[d1][d2][d3]… [dn];Nama-array adalah nama dari array yang akan memiliki n dimensi. Sebagai contoh:
Array Dua Dimensi
Array 2D menyimpan data dalam daftar dengan larik 1-D. Ini adalah matriks dengan baris dan kolom. Untuk mendeklarasikan array 2D, gunakan sintaks berikut:
type array-Name [ x ][ y ];Tipe tersebut harus tipe data C ++ yang valid. Lihat larik 2D sebagai tabel, di mana x menunjukkan jumlah baris sedangkan y menunjukkan jumlah kolom. Ini berarti Anda mengidentifikasi setiap elemen dalam larik 2D menggunakan bentuk a [x] [y], di mana x adalah jumlah baris dan y jumlah kolom tempat elemen tersebut berada.
Berikut adalah contoh cara menginisialisasi array 2D:
int a[2][3] = {{0, 2, 1} , /* row at index 0 */{4, 3, 7} , /* row at index 1 */};Dalam contoh di atas, kami memiliki array 2D yang dapat dilihat sebagai matriks 2x3. Ada 2 baris dan 3 kolom. Elemen 0 dapat diakses sebagai [0] [1] karena terletak di perpotongan baris terindeks 0 dan kolom terindeks 1. Elemen 3 dapat diakses sebagai [1] [2] karena terletak di perpotongan baris terindeks 1 dan kolom terindeks 2.
Perhatikan bahwa kami hanya menambahkan tanda kurung kurawal untuk membedakan baris elemen yang berbeda. Inisialisasi juga bisa dilakukan sebagai berikut:
int a[2][3] = {0, 2, 1, 4, 3, 7};};Contoh C ++ berikut menunjukkan cara menginisialisasi dan melintasi larik 2D:
#includeusing namespace std;int main(){// a 2x3 arrayint a[3][2] = { {0, 2}, {1, 4}, {3, 7} };// traverse array elementsfor (int i=0; i<3; i++)for (int j=0; j<2; j++){cout << "a[" < Keluaran:
Berikut tangkapan layar dari kode di atas:
Penjelasan Kode:
- Termasuk file header iostream dalam kode kami. Ini akan memungkinkan kita untuk membaca dan menulis ke konsol.
- Termasuk namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main () di mana kode harus ditambahkan.
- Mulai dari isi fungsi main ().
- Komentar. Kompiler C ++ akan melewatkan ini.
- Mendeklarasikan array 2D dari 3 baris dan 2 kolom. Item juga telah ditambahkan ke larik.
- Komentar. Kompiler C ++ akan melewatkan ini.
- Membuat variabel i menggunakan for a loop. Variabel ini akan mengulangi indeks baris dari array.
- Membuat variabel j menggunakan for a loop. Variabel ini akan mengulangi indeks kolom dari array.
- Mulai dari badan loop.
- Cetak nilai variabel i dan j pada konsol di dalam tanda kurung siku di konsol.
- Cetak nilai yang disimpan pada indeks [i] [j] dari array a.
- Akhir badan loop.
- Fungsi main () harus mengembalikan nilai integer jika program berjalan dengan baik.
- Akhir badan fungsi main ().
Array Tiga Dimensi
Array 3D adalah larik larik. Setiap elemen dalam larik 3D diidentifikasi oleh sekumpulan 3 indeks. Untuk mengakses elemen array 3D, kami menggunakan tiga for loop. Sebagai contoh:
#includeusing namespace std;void main(){int a[2][3][2] = {{{4, 8},{2, 4},{1, 6}}, {{3, 6},{5, 4},{9, 3}}};cout << "a[0][1][0] = " << a[0][1][0] << "\n";cout << "a[0][1][1] = " << a[0][1][1] << "\n";} Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Termasuk file header iostream dalam kode kami. Ini akan memungkinkan kita untuk membaca dan menulis ke konsol.
- Termasuk namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main () di mana logika program harus ditambahkan.
- Mulai dari isi fungsi main ().
- Menyatakan larik 3D dengan nama ukuran 2x3x2. Nilai-nilai array juga telah diinisialisasi.
- Mengakses item yang disimpan pada indeks [0] [1] [0] dari array dan mencetaknya pada konsol.
- Mengakses item yang disimpan pada indeks [0] [1] [1] dari array dan mencetaknya pada konsol.
- Akhir badan fungsi main ().
Pointer ke Array
Pointer adalah variabel yang menyimpan alamat. Selain menggunakan pointer untuk menyimpan alamat variabel, kita bisa menggunakannya untuk menyimpan alamat sel array. Nama array selalu menunjuk ke elemen pertamanya. Pertimbangkan pernyataan yang diberikan di bawah ini:
int age[5];Age adalah pointer ke $ age [0], alamat elemen pertama dari array bernama age. Perhatikan contoh berikut:
#includeusing namespace std;int main(){int *john;int age[5] = { 19, 18, 21, 20, 17 };john = age;cout << john << "\n";cout << *john;} Keluaran:
Perhatikan bahwa nilai pertama dari keluaran di atas dapat mengembalikan nilai yang berbeda tergantung pada alamat yang ditetapkan ke elemen pertama dari larik di memori komputer Anda.
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Termasuk file header iostream dalam kode kami. Ini akan memungkinkan kita untuk membaca dan menulis ke konsol.
- Termasuk namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main () di mana logika program harus ditambahkan.
- Mulai dari isi fungsi main ().
- Mendeklarasikan variabel pointer bernama * john.
- Mendeklarasikan array integer bernama age untuk menyimpan 5 integer. Nilai bilangan bulat juga telah diinisialisasi.
- Menetapkan variabel john nilai alamat item yang disimpan dalam indeks pertama dari usia array.
- Mencetak nilai variabel john, yang merupakan alamat item yang disimpan di indeks pertama usia array.
- Mencetak nilai pertama yang disimpan dalam usia array.
- Akhir badan fungsi main ().
Nama array dapat digunakan sebagai pointer konstan, dan sebaliknya juga benar. Ini berarti Anda dapat mengakses nilai yang disimpan pada indeks 3 usia array dengan * (usia + 3). Sebagai contoh:
#includeusing namespace std;int main() {// an array of 5 elements.int age[5] = { 19, 18, 21, 20, 17 };int *p;p = age;// output array valuescout << "Using pointer: " << endl;for (int x=0; x<5; x++) {cout << "*(p + " << x << ") : ";cout << *(p + x) << endl;}cout << "Using age as address: " << endl;for (int x = 0; x < 5; x++) {cout << "*(age + " << x << ") : ";cout << *(age + x) << endl;}return 0;} Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Termasuk file header iostream dalam kode kami. Ini akan memungkinkan kita untuk membaca dan menulis ke konsol.
- Termasuk namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main () dan awal isi dari fungsi main ().
- Komentar. Kompiler C ++ akan melewatkan ini.
- Mendeklarasikan sebuah array bernama age untuk menyimpan 5 integer.
- Membuat penunjuk bilangan bulat p.
- Menetapkan p nilai alamat dari elemen pertama usia array.
- Komentar. Kompiler C ++ akan melewatkan ini.
- Cetak beberapa teks di konsol.
- Buat bilangan bulat x menggunakan for a loop. Tanda {menandai awal isi loop for.
- Cetak nilai x yang digabungkan dengan beberapa teks lain di konsol.
- Cetak nilai * (p + x) pada konsol.
- Akhir badan for a loop.
- Cetak beberapa teks di konsol.
- Buat variabel x menggunakan for a loop. {Menandai awal isi loop for.
- Cetak nilai x dari 0 hingga 4 di samping beberapa teks lainnya.
- Cetak nilai * (usia + x).
- Akhir badan loop for.
- Kembalikan nilai jika program berjalan dengan sukses.
- Akhir badan fungsi main ().
Mengakses nilai Array
Elemen array diakses menggunakan indeksnya masing-masing. Indeks elemen yang akan diakses ditambahkan dalam tanda kurung siku [] segera setelah nama array. Sebagai contoh:
int john = age[2];Dalam contoh di atas, kami hanya menyatakan bahwa usia john disimpan pada indeks 2 dari larik bernama age. Ini berarti bahwa usia john adalah 3 rd nilai di era larik. Berikut adalah contoh C ++ lengkap yang menunjukkan cara mengakses dan mencetak nilai ini:
#includeusing namespace std;int main(){int age[5] = { 19, 18, 21, 20, 17 };int john = age[2];cout << "The age of John is:"< Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Termasuk file header iostream dalam kode kami. Ini akan memungkinkan kita untuk membaca dan menulis ke konsol.
- Termasuk namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main () di mana kode harus ditambahkan.
- Mulai dari isi fungsi main ().
- Mendeklarasikan sebuah array bernama age untuk menyimpan 5 elemen integer.
- Mengakses nilai yang disimpan di indeks 2 usia array dan menyimpan nilainya dalam variabel bernama john.
- Mencetak nilai variabel john di konsol bersama teks lain.
Keuntungan dari Array di C ++
Berikut, keuntungan / keuntungan menggunakan Array di C ++:
- Elemen array dapat dilintasi dengan mudah.
- Mudah untuk memanipulasi data array.
- Elemen array dapat diakses secara acak.
- Array memfasilitasi pengoptimalan kode; karenanya, kita dapat melakukan banyak pekerjaan dengan menggunakan lebih sedikit kode.
- Mudah untuk mengurutkan data array.
Kekurangan Array di C ++
- Sebuah array memiliki ukuran tetap; oleh karena itu, kami tidak dapat menambahkan elemen baru setelah inisialisasi.
- Mengalokasikan lebih banyak memori daripada yang dibutuhkan menyebabkan pemborosan ruang memori, dan alokasi memori yang lebih sedikit dapat menimbulkan masalah.
- Jumlah elemen yang akan disimpan dalam sebuah array harus diketahui terlebih dahulu.
Ringkasan
- Array adalah struktur data yang menyimpan elemen dengan tipe data yang sama.
- Elemen array disimpan secara berurutan.
- Elemen array dilambangkan menggunakan indeksnya masing-masing. Elemen pertama berada pada indeks 0, sedangkan elemen terakhir berada pada indeks n-1, dimana merupakan jumlah total elemen array.
- Deklarasi sebuah array melibatkan pendefinisian tipe data dari elemen array serta jumlah elemen yang akan disimpan dalam array.
- Array satu dimensi menyimpan elemen secara berurutan.
- Array dua dimensi menyimpan elemen dalam baris dan kolom.
- Array tiga dimensi adalah larik larik.
- Elemen dapat ditambahkan ke array menggunakan indeksnya.
- Elemen array diakses menggunakan indeksnya.
- Array multi-dimensi memiliki lebih dari satu dimensi.
- Nama array menunjuk ke elemen pertamanya.
- Array memiliki ukuran tetap, artinya elemen baru tidak dapat ditambahkan ke array setelah inisialisasi.