Materi 7 C++ Array

Download Report

Transcript Materi 7 C++ Array

Array (Larik)
As’ad Djamalilleil
http://kampusku.web.id
[email protected]
Pengertian Array
• Array adalah serangkaian tempat
penyimpanan data yang mempunyai nama
dan tipe data yang sama, dimana setiap
elemen array umumnya diacu lewat
namanya dengan menyertakan
index/subscript dari elemen yang
bersesuaian.
• Secara teknis, data berbentuk array
tersimpan di memory komputer dengan
lokasi yang berurutan. Array di C++
bersifat statis.
Deklarasi Array
tipeData namaArray[jumlah];
tipeData  tipe dari array yang dipesan, dapat berupa
tipe data dasar, struktur maupun class.
namaArray  nama dari array yang dipesan
[ ]  jumlah pasang kurung-siku menyatakan dimensi
dari array
jumlah  jumlah elemen dari array, harus disertakan
pada saat deklarasi serta harus berupa konstanta
bertipe bilangan bulat.
Index dari elemen array selalu dimulai dari 0 (nol).
Contoh:
int nilai[5];
nilai[0]
nilai[1]
nilai[2]
nilai[3]
nilai[4]
char kata[30];
………
kata[0]
kata[1]
kata[2]
kata[3]
………
float isi[3][5];  contoh array 2 dimensi
isi[0][0]
isi[0][1]
isi[0][2]
isi[0][3]
isi[0][4]
isi[1][0]
isi[1][1]
isi[1][2]
isi[1][3]
isi[1][4]
isi[2][0]
isi[2][1]
isi[2][2]
isi[2][3]
isi[2][4]
kata[29]
Inisialisasi Array
tipeData namaArray[jumlah] = {n1, n2, … };
Nilai yang disertakan pada saat inisialisasi akan dipetakan satu
persatu secara berurutan ke dalam setiap elemen array.
Apabila jumlah nilai lebih sedikit daripada jumlah elemen array,
maka elemen array yang lain akan diberi nilai 0 (nol).
Apabila jumlah nilai lebih banyak daripada jumlah elemen array,
maka C++ akan memberikan pesan error pada saat program
di-compile.
Apabila jumlah elemen tidak disertakan, maka secara otomatis
jumlah elemen akan di-set sesuai dengan jumlah nilai yang
disertakan.
Khusus untuk array bertipe char, nilai inisialisasi dapat langsung
ditulis dalam bentuk konstanta string.
Contoh:
int nilai[5] = {0};
0
0
0
0
0
nilai[0]
nilai[1]
nilai[2]
nilai[3]
nilai[4]
int nilai[5] = {8, 3, 6, 2, 9};
8
3
6
2
9
nilai[0]
nilai[1]
nilai[2]
nilai[3]
nilai[4]
int nilai[5] = {8, 3};
8
3
0
0
0
nilai[0]
nilai[1]
nilai[2]
nilai[3]
nilai[4]
int nilai[ ] = {8, 5, 6};  jumlah elemen otomatis di-set menjadi
3, sesuai dengan jumlah nilai yang
disertakan
8
5
6
nilai[0]
nilai[1]
nilai[2]
Contoh:
char kata[15] = {‘m’,‘u’,‘h’,‘a’,‘m’,‘m’,‘a’,‘d’};
d
i
p
a
n
e
g
a
r
a
0
0
0
0
Inisialisasi di atas dapat juga ditulis seperti berikut:
char kata[15] = “muhammad”;
atau
char kata[] = “muhammad”;  jumlah elemen otomatis bernilai 10
atau
char *kata = “muhammad”;
 menggunakan pointer
0
Kelebihan menggunakan pointer untuk array bertipe char adalah kita dapat merubah
nilai variabel array bertipe char secara langsung menggunakan operator assignment
(=)
Contoh:
char *kata = “muhammad”;
kata = “muhammad rasulullah”;
Tetapi apabila array bertipe char tersebut berupa “fixed-array”, kita tetap dapat
merubah isi variabel tersebut dengan menggunakan function strcpy() yang berada
pada file header string.h, dengan syarat nilai yang akan diisikan tidak boleh melebihi
jumlah elemen yang dipesan pada saat deklarasi.
Contoh:
#include <string.h>
………
………
char kata[50] = “muhammad”;
strcpy(kata, “muhammad rasulullah”);
Mengakses Elemen Array
namaArray[index]
Index array pada bahasa pemrograman C++ selalu dimulai dari
0 (nol). Jadi, jika n adalah jumlah elemen sebuah array,
maka index dari elemen array tersebut dimulai dari 0 (nol)
sampai dengan n – 1
Contoh:
int nilai[5] = {7,5,3,6,9};
cout << nilai[2];  statement ini akan menampilkan
nilai 3
char stambuk[6] = “052123”;
cout << nilai[0] << nilai[1];  statement ini akan
menampilkan nilai “05”
cout << nilai;  menampilkan seluruh elemen,
yaitu “052123”
Biasanya untuk memproses data berbentuk array, kita bisa
menggunakan statement pengulangan, seperti for, while,
maupun do-while.
Contoh:
int nilai[5];
for(int i = 0; i < 5; i++){
cout << "Input nilai ke-" << (i + 1) << ":";
cin >> nilai[i];
}
cout << "Nilai yang Anda masukkan ..." << endl;
for(int i = 0; i < 5; i++)
cout << "\nNilai ke-" << (i + 1) << " adalah " << nilai[i];
Bagian kondisi pada struktur pengulangan for di atas, yaitu
i < 5 dapat diganti dengan pernyataan yang lebih dinamis,
yaitu i < sizeof(nilai) / sizeof(int)
Contoh:
char nama[3][10];
for(int i = 0; i < 3; i++){
cout << "Input nama : ";
cin >> ws;
cin.getline(nama[i],sizeof(nama[i]));
}
cout << "Daftar nama yang diinput ...\n";
for(int i = 0; i < 3; i++)
cout << nama[i] << endl;