BAB VI TIPE DATA ARRAY Pendahuluan Pada bab ini akan dijelaskan tipe data array dan penggunaannya. Dengan memahami tipe data array, maka mahasiswa dapat membuat program yag berkaitan dengan manipulasi banyak data dengan tipe yang sama, seperti masalah pencaria data atau pengurutan data.
Penyajian Array atau larik terdiri atas bagian-bagian komponen yang memiliki tipe data sama. Dalam penyimpanannya array selalu mempunyai jumlah komponen yang tetap yang ditunjukkan oleh indeksnya. 6.1 Deklarasi Array Variabel array dideklarasikan dengan mencantumkan tipe data dan nama variabel yang diikuti dengan nomor indeks yang menyatakan banyaknya lokasi memori yang ingin dibuat. tipe data nama_variabel[indeks] contoh int nilai[100] Pada bahasa C/C++, no indeks dimulai dari 0, jadi pada contoh di atas, indeks dari 0-99, sehingga bisa menampung 100 elemen bertipe integer. 6.2 Mengakses Data larik : Cara mengakses data larik adalah dengan menunjukkan : Nama_Larik[no.indeks] ; Misal :
x[1] berarti kita mengakses data larik x pada no.indeks ke-1.
Ke untungan : Menggunakan data larik, kita tidak akan kehilangan nilai dari suatu data. Kele mahan : Saat ditentukan suatu variabel bertipe data array maka ia akan langsung mengambil tempat pada memory penyimpanannya sesuai dengan tipe data yang digunakan pada array, baik nantinya semua komponen pada array itu digunakan ataupun tidak. 6.3 Array Dime nsi Banyak Dalam
pemrograman
kadang
kita
menghadapi
masalah
saat
kita
akan
mendeklarasikan suatu matriks. Dengan adanya tipe data array maka masalah itu dapat
diselesaikan, yaitu dengan menggunakan array dengan dimensi dua atau lebih yang kemudian dikenal dengan array dimensi banyak. Pendeklarasian : tipe data Nama_Array [indeks1][ indeks2] Contoh : int matriks[10][ 10] Berarti matriks itu akan mempunyai dimensi (10x10), namun itu hanya batas atas dari indeks yang dipesan dalam memori penyimpanan (di atas itu tidak akan disimpan), sedangkan apabila nantinya kita hanya memasukkan jumlah baris misal 2 dan jumlah kolom 2 itu boleh saja selama tidak lebih dari 10. Entry-entry dari matriks tersebut dapat kita panggil dengan mengetikkan Nama_Array[indeks] ; dari contoh diatas berarti Matriks[2,3] yaitu entry dari matriks pada baris kedua kolom ketiga. 6.4 Contoh Kasus menggunakan tipe data array 1. Program menghitung nilai maksimum, minimum, rata-rata dari sejumlah data integer.
int main () { int i,n,maks,min,jum,h; int nilai[10]; float rerata; cout<<"Banyaknya data ="; cin>>n; jum=0; for (i=1;i<=n;i++) { cout<<"Data ke - " <
>nilai[i-1]; jum =jum + nilai[i-1]; } rerata= float(jum)/n; maks=nilai[0]; min=nilai[0];
for (i=1;i<=n-1;i++) { if (nilai[i]>maks) maks=nilai[i]; if (nilai[i]<min) min=nilai[i]; } cout<<"Nilai Terbesar ="<<maks<<endl; cout<<"Nilai Terkecil ="<<min<<endl; cout<<"Nilai Rata-rata ="<
2. Program penjumlahan 2 matriks #include using namespace std ; int main(){ //deklarasi int matrix_a[3][3],matrix_b[3][3],matrix_c[3][3]; int i,j; char opr; //input nilai matriks ke-1 dari baris dan kolom for(i=1;i<=3;i++){ for(j=1;j<=3;j++){ cout<<"Masukkan matriks(1) nilai baris ke-"<>matrix_a[i-1][j-1]; } cout<<endl; } //output matriks ke-1 for(i=1;i<=3;i++){ for(j=1;j<=3;j++){ cout<<matrix_a[i-1][j-1]<<"\t"; }
cout<<endl; } //input nilai matriks ke-2 dari baris dan kolom for(i=1;i<=3;i++){ for(j=1;j<=3;j++){ cout<<"Masukkan matriks(2) nilai baris ke-"<>matrix_b[i-1][j-1]; } cout<<endl; } //output matriks ke-2 cout<<endl; for(i=1;i<=3;i++){ for(j=1;j<=3;j++){ cout<<matrix_b[i-1][j-1]<<"\t"; } cout<<endl; } //Input Operator cout<<"Tulis operator "; cin>>opr; //switching operator for(i=1;i<=3;i++){ for(j=1;j<=3;j++){ switch(opr){ case '+' : matrix_c[i-1][j-1] = matrix_a[i-1][j-1] + matrix_b[i-1][j-1]; break; case ‘-‘ : matrix_d[i-1][j-1] = matrix_a[i-1][j-1] - matrix_b[i-1][j-1]; break; } } }
//Output Hasil matriks dari Operator + cout<<endl; for(i=1;i<=3;i++){ for(j=1;j<=3;j++){ cout<<matrix_c[i-1][j-1]<<"\t"; } cout<<endl; } //Output Hasil matriks dari Operator cout<<endl; for(i=1;i<=3;i++){ for(j=1;j<=3;j++){ cout<<matrix_d[i-1][j-1]<<”\t”; } cout<<endl; } }
Penutup Latihan soal : 1. Buatlah program untuk menghitung nilai standar deviasi dari sejumlah data nilai ujian (0100) 2. Buatlah program untuk menampilkan matriks transpose dari suatu matriks.