Penulisan Array Terdiri Dari Kecuali
ARRAY
Array atau larik adalah struktur data yang mengacu lega sebuah/sekumpulan elemen yang diakses melalui indikator. Dapat juga dikatakan bahwa array adalah wadah yang dapat menggudangkan sejumlah nilai skalar.
Array
n kepunyaan
tipe integral nan terdiri pecah sejumlah onderdil-komponen nan mempunyai spesies yang setolok. Nilai-ponten data disebut elemen. Letak atau urutan berusul suatu elemen array ditunjukkan makanya satu
index/subscript.Bahasa C elemen permulaan pecah suatu array ditunjukan dimulai dari
index zero.Suatu array dapat berdimensi suatu atau lebih.
Karakteristik Array
- Mempunyai batasan dari pemesanan alokasi
memory
(Bersifat Statis) - Punya
Type Data
Sama (Bersifat Homogen)
- Boleh Diakses Secara Acak
Illustrasi Posisi Array
Array di bawah ini mengandung 5 elemen
Proklamasi ARRAY
Deklarasi Array memperalat tanda
[ ]
(bracket)
Lembaga umum
Deklarasi
Array 1
Dimensi:
tipe_data nama_variable[n];
Ket:
tipe_data
: menyatakan
diversifikasi data
yang digunakan
nama_variable
:
label array
lengkung langit
:
jumlah elemen
atau format array maximum
Array merupakan struktur data statis, artinya kuantitas elemen array harus sudah diketahui sebelum program dieksekusi. Jumlah elemen array tidakdapat diubah, ditambah, atau dikurangi sepanjang pelaksanaan acara. Mendefinisikan banyaknya atom array (dimensi array) penting memesan sejumlah gelanggang di memori. Komputer mengalokasikan sejumlah lokasi ki kenangan sebanyak elemen array yang bersangkutan. Mendefenisikan tipe elemen array berfaedah menetapkakaki langit
variasi nilai yang boleh disimpan oleh array. Tipe unsur array dapat berupa diversifikasi data sederhana (integer, real, char, boolean, string), macam data
array
berbentuk (jenis data terstrukutur seperti
record), atau bahkan tipe array yang lain.
3 Hal
yang
harus diketahui dalam mendeklarasikan
array :
- Tera
array -
Range
darisubskrip
(jangkauan
array) - Type data array.
float Nil_Akhir[6];
•
Kuantitas elemen Array
•
Merek Array
•
Tipe data elemen Array
int
Ririt[25];
Contoh Embaran Array Dimensi Satu
char leter[9];
int vitalitas[10];
int kondisi[2] = {0,1}
int arr_dinamis[ ] = {1,2,3}
Tanda [ ] disebut juga “elemen yang ke- …“. Misalnya kondisi[0] berarti array kondisi zarah nan ke kosong. Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa sekadar hanya diisi 5 elemen namun, baik secara berurutan maupun tidak. Semata-mata pada kondisi yang tidak sebaik-baiknya terisi tersebut, kancah pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi taat akan terpesan dan dibiarkan kosong. Kita tidak dapat mendeklarasikan array dinamis tanpa inisialisasi!
Biji ARRAY
Mengisi nilai ke dalam partikel array
Contoh:
Nil_Akhir[3]
=100
Jika akan diisi dengan satu nilai
Artinya
Nil_Akhir[3]<—– 100nama array
index
diisioleh
//manual
pengisi
an
Nil_Akhir
[0]
= 25;
Nil_Akhir
[1]
= 50;
Nil_Akhir
[2]
= 100;
…
…
d
st
//
Pengisian dengan looping
for (
int
c=0; c<25; C++)
{
cout
<<“
Nil_Akhir
[“<<c<<“]= ”;
cin
>>
Nil_Akhir
[c];
}
Contoh Program Array 1 Dimensipengisian dengan looping
//mengisikan array proses pengulangan
#include<iostream>
using namespace std;
int main()
{
//mendeklarasikan array A dengan 10 buah elemen
//bertipe integer
int A[10];
for(int C=0; C<10; C++)
{
cout <<“A[“<<C<<“] = “;
cin >> A[C];
}
return 0;
}
Memajukan ponten pada array
#include<iostream>
using namespace std;
int main()
{
int A[5];
for(int C=0; C<5; C++) {
cout << “A[” << C <<“] = “;
cin >> A[C];
}
cout <<‘\n’;
cout <<“menampilkan biji nan mutakadim dimasukkan adalah” << endl;
for (int J=0; J<5; J++){
cout << “Nilai nan terwalak lega elemen ke- “;
cout << J+1 <<“: “<< A[J] << endl;
}
return 0;
}
INISIALISASI
Inisialisasi adalah mengisikan nilai awal (default) lega zarah array sehingga jika elemen bersangkutan tidak diisi dengan skor hijau, maka nilai nan digunakan ialah nilai nan telah ada.
Inisialisasi
Array
Dimensi 1
int X[3];
Artinya:
int X
0 1 2
x[0], x[1], x[2]
array X memiliki variasi data integer, mempunyai total unsur sebanyak 3 zarah.
Bentuk Awam Inisialisasi Array
tipe_data nama_array[total unsur]={nilai array
1,
nilai array2
, …
};
Contoh:
int X[3]={5,3,7};
artinya array
x
bertipe integer, memiliki 3 elemen merupakan
x[0] bernilai 5
x[1] bernilai 3
x[2] bernilai 7
Program Inisialisasi poin pada molekul Array
#include<iostream>
using namespace std;
int main(){
//mendeklarasikan array dan
//langsung menginisilaisasikan //nilainya
int A[5] = {10, 20, 30, 40, 50};
//menampilkan poin yang
//terletak plong partikel array
cout<<“Sebelum dilakukan perubahan nilai” << endl;
cout<<“A[0]= “<<A[0]<<endl;
cout<<“A[1]= “<<A[1]<<endl;
cout<<“A[2]= “<<A[2]<<endl;
cout<<“A[3]= “<<A[3]<<endl;
cout<<“A[4]= “<<A[4]<<endl;
//mengubah elemen ke-1 dan ke-2
A[0]=12;
A[1]=25;
//memajukan kembali nilai yang //terdapat puas
//anasir array
cout<<“setelah dilakukan perubahan skor ” << endl;
cout<<“
A[0]= “<<A[0]<<endl;
cout<<“A[1]= “<<A[1]<<endl;
cout<<“A[2]= “<<A[2]<<endl;
cout<<“A[3]= “<<A[3]<<endl;
cout<<“A[4]= “<<A[4]<<endl;
return 0;
}
ARRAY Ukuran Suatu
Pengaksesan Array Ukuran Satu
Subscript/index array lega C++ selalu dimulai dari Zero(0)
Bentuk Umum Pengaksesan:
nama_array[Subscript/Index]
A[4] {mengacu elemen ke 4 array
A}
NamaMHS[2] {mengacu elemen ke 2 bermula array
NamaMHS}
A[i] {mengacu zarah ke –i dari larik
A,asalkan kredit i sudah terdefinisikan}
NamaMHS[i+1] {asalkan nilai i sudah terdefinisikan}
Mengambil ponten di molekul
Contoh:
Mengambil nilai yang terletak pada elemen ke 10 dan menampung ponten tersebut kedalam sebuah fleksibel nan bertipe int pun(misal x),
x = Banjar[9];
elemen ke 10
nama array
nilai yang terwalak plong elemen ke 10
Pemetaan
(Mapping) Array
DimensiSatuKe
Storage
@A[
i
] = B + (
i
– 1 ) * L
Ket:
@A[
i
] :
Posisi
Array yang
dicari
B :Posisi awal
array di
album
I :Subscribe/index array yang
dicari
L :Ukuran/besarmemorisuatutipe
data
Teristiadat diketahui juga bahwa i – 1 akan menghasilkan ganjaran desimal, maka qada dan qadar desimal itu diubah menjadi bilangan heksadesimal.
Transendental :
Suatu array A dideklarasikan dalam bahasa C++ sebagai berikut;
int A[5]; dengan alamatawal berada di 0011(H) dan ukuran besar memori varietas data integer tersebut 2.
tentukan berapa alamat array A[3] ?
Perampungan
Dik: int A[5]
B : 0011(H)
L : 2
i : 3
Dit: A[3]?
Jawab:
Konversi Puluh ke Hexadesimal
4 : 16 = 0 sisa 4
Sehingga 4(D)=4(H)
@A[ I ] = B + ( i – 1 ) * L
A[3] = 0011(H) + ( 3 – 1 ) * 2
= 0011(H) + 4(D)
= 0011(H) + 4(H)
= 0015(H)
0011(H) |
? |
0015(H) |
? |
? |
Pada contoh seperti mana di atas, maka kita pun bisa mencari mangsa array lainnya.
ARRAY Pancamuka
Array Dimensi Dua
Array dua dimensi adalah array yang terdiri dari dua biji pelir subscript, adalah ririt dan kolom.
Buram array dimensi 2 bisa berupa matrik ataupun table. Berikut ini ialah ilustrasi dari array dua format.
Permakluman Array Dimensi 2
tipe_data nama_array[jumlah_elemen_baris][jumlah_elemen_kolom];
Ideal:
int data_jual[3][3];
besaran kolom
jumlah ririt
nama array
spesies data zarah array
Data jual dengan macam integer memiliki 3 ririt dan 3 kolom
Inisialisasi Array Format 2
Bentuk Umum:
tipe_data nama_array[jml_elemen_baris][jml_elemen_kolom]={nilai_array};
int data[2][4];
artinya:
|
|
|
|
|
|
|
|
int data
Contoh:
int data[2][4]={{1,3,5,7},{2,4,6,8}};
Artinya: data[1, 1] bernilai 1, data[1, 2] bernilai 3, data[1, 3] bernilai 5 dst…
Bagan Publik Pengaksesan Array Dimensi 2
Nama_array[index_baris
,
index_kolom];
Contoh:
data[2
,
2]
<—- 100
artinya:
puas baris ke 2 rubrik ke 2 di isi dengan nilai100
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
int main()
{
int baris,kolom;
int i,j;
int data[10][10];
cout<<“Jumlah Baris (1..10) : “;
cin>>baris;
cout <<“Jumlah Kolom (1..10) : “;
cin>>kolom;
for(i=0;i<=ririt-1;i++)
for(j=0;j<=kolom-1;j++)
{
cout << “Angka Deret ” << i+1
<< “, Kolom ” << j+1 << ” : ” ;
cin >> data[i][j];
}
cout << “Data Matriks : \kaki langit”;
cout << endl;
for (i=0;i<=baris-1;i++)
{
for(j=0;j<=kolom-1;j++)
cout << setw(8) << data[i][j];
cout << “\ufuk”;
}
return 0;
}
Pemetaan (Mapping) Array DimensiDuaKe Storage
Terbagi dua cara pandang (representasi) nan farik :
1.
Secara Kolom Sendirisendiri Kolom (Column Major Order/CMO)
@M[i][j] = M[1, 1] + {(j – 1) * K + (i – 1)} * L
2.
Secara Jejer Per Deret (Row Major Order / RMO)
@M[i][j] = M[1, 1] + {(i – 1) * Ufuk + (j – 1)} * L
Keterangan :
@ M[ i,
j] = Posisi Array yang dicari,
M[
1,1
] = Posisi alamat awal index
I = Baris, j = ruangan,
L = Ukuran memory type data
K = Banyaknya elemen sendirisendiri kolom,
Falak = Banyaknya elemen per baris
Penggambaran secara logika
/ Cara Pandang
Misal : int M[3][2];
(Array dengan 3 Baris & 2 Kolom)
Berlandaskan Cara pandang :
1. Banjar Per Jejer (Row Major Pesanan / RMO)
Ufuk=
Banyaknya/
Jumlah zarah per saf = 2
|
|
|
|
|
|
2. Kolom Per Kolom (Coloumn Major Kiriman / CMO)
K=Banyaknya/Jumlah elemen sendirisendiri kolom =3
|
|
|
|
|
|
ContohSoal
Jika suatu variable x dengan struktur data array dimensi dua yang bertipe betulan dengan ukuran 4 siapa 3 dengan korban awal x[1,
1]=0011(H) dan ukuran type data dimemori merupakan
4, tentukan berapa alamat array x[3, 2] berdasarkan pendirian pandang baris dan rubrik.
Jawab secara baris per baris
Penuntasan :
Dik:
benaran X[4][3];
L= 4
T = 3
M[1, 1]= 0011(H)
Dit: Alamat
array x[3, 2]=?
Ø
Secara Banjar Tiap-tiap Saf (Row Major Oder / RMO)
@M[i][j] = M[1, 1] + {(i – 1) * Tepi langit + (j – 1)} * L
X[3,
2] = 0011(H ) + {(3 – 1) * 3 + (2 – 1)} * 4
= 0011(H) + 28 (D ) 1C ( H)
= 0011(H) + 1C ( H)
= 002D(H
)
i = Lajur, j = kolom,
L = Ukuran memory type data
K = Banyaknya unsur masing-masing rubrik,
N = Banyaknya elemen per baris
M[
1] [
1
] = Posisi alamat awal index
Jawab secara kolom sendirisendiri kolom
Penyelesaian :
K = 4
Ø
Secara Ruangan Per Kolom (Coloumn Major Oder / CMO)
@M[i][j] = M[1, 1] + {(j – 1) * K + (i – 1)} * L
X[3,
2] = 0011(H) + {(2 – 1) * 4 + (3 – 1)} * 4
= 0011(H) + 24 (D) 18 (H)
= 0011(H) + 18 (H)
= 0029(H)
M[ 0,
0 ] = Posisi alamat awal index
I = Baris, j = rubrik,
L = Ukuran memory type data
K = Banyaknya elemen sendirisendiri rubrik,
N = Banyaknya anasir masing-masing saf
|
|
|
|
||
Array DimensiTiga (Three Dimensional Array)
Pemberitaan
Type_Data Nama_Variabel [index1] [index2] [index3];
Bak : int A [3][4][2];
Penggambaran secara Ilmu mantik :
Pemetaan (Mapping) Array Dimensi 3 Ke Storage
Rumus :
@M[
m
][
horizon
][p] = M[
1, 1, 1
] + {((
m
-1)*(
jum.elemen2*jum.elemen3
)) + ((
ufuk
-1)*(
jum.elemen3
)) + ((p-1)* L
Contoh Tanya
Suatu Array A dideklarasikan sebagai berikut :
shortint A [3][4][2], dengan alamat awal index A[1, 1, 1]
produktif di 0011( H) dan ukuran type data shortint = 1 Tentukan
berapa mangsa array di A[2,
3,
2] ?
Jawab
Perampungan :
1. Tentukan jumlah elemen array A [3][4][2]
= (3) * (4) * (2)
=
24
2. @M[m][n][p] = M[1, 1, 1]+{((m-1)*(jum.elemen2*jum.elemen3))+((n-1)*(jum.elemen3)) + ((p-1)}* L
A[2,
3,
2] = 0011(H ) + {((2–1) * 4 *
2) + ((3-1) *
2) + (2-1)} * 1
= 0011(H ) + {8
+
4
+ 1 } * 1
= 0011(H) + {13} * 1
= 0011(H ) +
13
( D)
D
= 0011(H ) +
D
(H )
= 001E( H)
Source: https://sites.google.com/site/rizkyluthpiyanaif15d120/array
Posted by: soaltugas.net