Anda di halaman 1dari 34

ARRAY (LARIK)

Pengertian array
• Array adalah suatu tipe data terstruktur yang berupa
sejumlah data sejenis (bertipe data sama) yang
jumlahnya tetap dan diberi suatu nama tertentu.
• Elemen-elemen array tersusun secara berderet dan
dapat diakses secara random di dalam memori.
• Array memiliki alamat yang bersebelahan/
berdampingan tergantung lebar tipe datanya.
• Array dapat berupa array 1 dimensi, 2 dimensi, bahkan
n-dimensi.
• Elemen-elemen array bertipe data sama dan bisa berisi
nilai yang sama atau berbeda-beda.
Pengaksesan elemen array
• Elemen-elemen array dapat diakses oleh program
menggunakan suatu indeks tertentu secara random
ataupun berurutan
• Pengisian dan pengambilan nilai pada indeks tertentu
dapat dilakukan dengan mengeset nilai atau
menampilkan nilai pada indeks yang dimaksud.
• Dalam C, tidak terdapat error handling terhadap
batasan nilai indeks, apakah indeks tersebut berada di
dalam indeks array yang sudah didefinisikan atau
belum. Hal ini merupakan tanggung jawab
programmer. Sehingga jika programmer mengakses
indeks yang salah, maka nilai yang dihasilkan akan
berbeda atau rusak karena mengakses alamat memori
yang tidak sesuai.
Ilustrasi array 1 dimensi

0 1 2 3 4 5 6 7 indeks

10 44 2 76 0 56 70 7 value

1d2 1d4 1d6 1d8 1da 2dc 2de 1e0 alamat


Ilustrasi Array 1 Dimensi char

0 1 2 3 4 5 6
indeks
7

value

alamat
21da 21db 21dc 21dd 21de 21df 21e0
21e1

%x adalah hexadesimal
Ilustrasi Array 1 Dimensi int

0 1 2 3 4 5 6
indeks
7

value

alamat
21d2 21d4 21d6 21d8 21da 21dc 21de
21e0

%x adalah hexadesimal
#include <iostream>
#include <conio.h>
sing namespace std;
main()
{
int nilai[5];
cout<<"Masukan lima data nilai"<<endl;
cout<<"======================="<<endl;
cout<<"Nilai 1 : "; cin>>nilai[0];
cout<<"Nilai 2 : "; cin>>nilai[1];
cout<<"Nilai 3 : "; cin>>nilai[2];
cout<<"Nilai 4 : "; cin>>nilai[3];
cout<<"Nilai 5 : "; cin>>nilai[4];
cout<<endl;
cout<<"Data nilai yang anda masukan "<<endl;
cout<<"1 2 3 4
5"<<endl<<endl;
cout<<nilai[0]<<" ";
cout<<nilai[1]<<" ";
cout<<nilai[2]<<" ";
cout<<nilai[3]<<" ";
cout<<nilai[4]<<" "<<endl;
getch();
}
1 dimensi
#include conio.h
#include iostream.h
int main()
{
int nilai[5];
int i;
cout << "Masukkan nilai ujian mahasiswa [5 mahasiswa]
:\n";
for (i = 0; i < 5; i++)
{
cout << "Mahasiswa " << (i+1) << " : ";
cin >> nilai[i]; // Memasukkan nilai ke dalam elemen array
}
cout << "\nNilai mahasiswa yang telah Anda
masukkan adalah : ";
for (i = 0; i < 5; i++)
{
cout << "\nMahasiswa " << (i+1) << " : " <<
nilai[i];
}
cout << "\n\nTerima kasih.";
getch();
return 0;
}
2 dimensi
#include<iostream>
#include<conio.h>
int main()
{
int matrix[3][3];
int i,j;

for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<"Masukkan Nilai Angka Pada Baris Ke "<<i<<" dan Kolom
Ke "<<j<<" : ";
cin>>matrix[i][j];
}
cout<<endl;
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
return (0);
}
3 dimensi
#include <stdio.h>
#include <conio.h>

main()
{
char h=64, nama[5][4][22] = {
"AC Milan","Barcelona","Porto","Monaco",
"Liverpool","Real Madrid","CSK Moskow","PSG",
"Inter Milan","Arsenal","Atletico Madrid","Ajax",
"AS Roma","Manchester United","Dortmund","Valencia",
"Manchester City","Bayern Munich","Napoli","Vilareal"
};
printf("Liga Champions : \n\n");
for(i=0; i<5; i++)
{
++h;
printf("Grup %c \n", h);
for(s=0; s<4; s++)
{
printf(" %d. %s \n", s+1, nama[i][s]);
}
printf("\n");
}
getch();
}
Pengaksesan Elemen Array
• Elemen-elemen array dapat diakses oleh
program menggunakan suatu indeks
tertentu secara random ataupun berurutan
• Indeks array secara default dimulai dari 0.
• Deklarasi Array secara umum :
tipe_data nama_var_array [ukuran];
Keterangan :
tipe_data : menyatakan jenis tipe data elemen larik
(int, char, float, dll)
nama_var_array:menyatakan nama variabel yang
dipakai.
ukuran : menunjukkan jumlah maksimal elemen
larik.
Contoh : int nilai[6];
Inisialisasi array :
Menginisialisasi array sama dengan memberikan nilai awal
array pada saat didefinisikan.
int nilai[6] = {8,7,5,6,4,3};
bisa disederhanakan sehingga menjadi :
int nilai = {8,7,5,6,4,3};
Keterangan :
Contoh diatas berarti anda memesan tempat di memori komputer
sebanyak 6 tempat dengan indeks dari 0-5, dimana indeks ke-0
bernilai 8, ke-1 bernilai 7, dst, dan semua elemennya bertipe data
integer.
Catatan: Untuk memberikan niai 0 terhadap seluruh elemen array
pada saat didefinisikan, Anda dapat memberikan nilai awal 0 pada
elemen pertama. Sebagai contoh:
Int temp[100] = {0};
Akan memberikan hasil pemberian nilai nol dari subscript bernilai 0
hingga 99.
Keunggulan array :
• Array sangat cocok untuk pengaksesan acak.
Sembarang elemen di array dapat diacu secara
langsung tanpa melalui elemen-elemen lain.
• Jika berada di suatu lokasi elemen, maka sangat
mudah menelusuri ke elemen-elemen tetangga,
baik elemen pendahulu atau elemen penerus
• Jika elemen-elemen array adalah nilai-nilai
independen dan seluruhnya harus terjaga, maka
penggunaan penyimpanannya sangat efisien
Kelemahan array :
• Array harus bertipe homogen. Kita tidak dapat
mempunyai array dimana satu elemen adalah
karakter, elemen lain bilangan, dan elemen lain
adalah tipe-tipe lain
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
• Pada suatu aplikasi, representasi statis tidak
dimungkinkan
Contoh:
#include <iostream.h>
#include <conio.h>

void main ()
{ int y [] = {1, 2, 7, 4, 5};
int n, r=0;
for ( n=0 ; n<5 ; n++ )
{
r += y[n];
}
cout<<" "<<r;
getch(); }
Contoh input dan output array:

#include <iostream.h>
#include <conio.h>

main(){
int A[5]; //deklarasi array
//input element array
for (int i=0;i<5;i++)
{ cout<<"A["<<i<<"] = ";
cin>>A[i]; }
//menampilkan isi dari elemen array
for(int c=0;c<5;c++)
{ cout<<"Nilai pada elemen ke "<<c+1
<<" adalah = "<<A[c]<<endl; }
getch();}
Mengedit array
#include <iostream>
#include <conio.h>
using namespace std;
main (void)
{ int A [5]={20,9,1986,200,13};//dgn inisialisasi
int n;
cout<<"Data yang lama\n";
for (n=0;n<5;n++)
{ cout<<" "<<A[n];}
cout<<"\nData yang baru : \n";
A[0]=4;
A[1]=2;
A[2]=1;
A[3]=3;
A[4]=5;
for (n=0;n<5;n++)
{ cout<<" "<<A[n]; }
getch();}
Menghapus elemen array
#include <iostream>
#include <conio.h>
using namespace std;
main (void)
{ int A [5]={20,9,1986,200,13};
int n,hapus;
cout<<"Data yang lama\n";
for (n=0;n<5;n++)
{ cout<<" "<<A[n];}
cout<<" data yang ingin dihapus : ";
cin>>hapus ;
cout<<"\nData yang baru : \n";
for (n=hapus-1;n<5-1;n++)
{ A[n]=A[n+1];}
for (n=0;n<4;n++)
{ cout<<" "<<A[n]; }
getch();}
Pencarian data
//pencarian data
for (int c=0;c<10;c++)
{
if (A[c]==bil)
{ cout<<"Nilai yang anda cari terdapat
pada indek ke- "<<c;
break;
}
} getch(); }
#include <iostream>
using namespace std;
int main() {
// Mendeklarasikan array
// dengan melakukan inisialisasi nilai ke dalamnya
int A[10] = { 12, 24, 14, 25, 10,
13, 21, 20, 15, 18 };
int BIL; // Variabel untuk menampung
// nilai yang akan dicari
// Menampilkan nilai yang terdapat
// pada elemen-elemen array di atas
for (int C=0; C<10; C++) {
cout<<"A["<<C<<"]: "
<<A[C]<<endl;
}
cout<<endl;
// Memasukkan nilai yang akan dicari
cout<<"Masukkan nilai yang akan dicari: ";
cin>>BIL;
// Melakukan pencarian data
for (int J=0; J<10; J++) {
if (A[J] == BIL) {
cout<<"Nilai yang dicari "
<<"terdapat pada indeks ke-"<<J;
break;
}
}
return 0;
}
Contoh fungsi dengan parameter array :
#include <iostream.h>
#include <conio.h>

void main ()
{ int A [5]={20,9,1986,200,13};
cout<<"Data yang lama\n";
for (int n=0;n<5;n++)
{cout<<" "<<A[n];}
cout<<"\nData yang baru : \n";
A[0]=4; A[1]=2; A[2]=1; A[3]=3; A[4]=5;
for (int n=0;n<5;n++)
{cout<<" "<<A[n]; } getch();}
Contoh :
#include <iostream.h>
#include <conio.h>

void main ()
{ int nilai[5],x; //tanpa inisialisasi
cout<<"Masukkan nilai :\n\n";
for(x=0;x<5;x++)
{ cout<<"Nilai Angka : ";
cin>>nilai[x];}
cout<<"\n\nOutput nilai : \n";
for(x=0;x<5;x++)
{ cout<<"\nNilai Angka : “
<<nilai[x];}
getch(); }
Fungsi by array
Array juga dapat dijadikan sebagai parameter
dalam sebuah fungsi. Contoh :
#include <iostream.h>
#include <conio.h>

//definisi fungsi input array


void input_array(int A[],int n)
{ for(int c=0;c<n;c++)
{cout<<"Input nilai A["<<c<<"] : ";
cin>>A[c];}
}
//definisi fungsi jumlah
long jumlah(int A[],int n)
{ long jml=0;
for(int c=0;c<n;c++)
{jml += A[c];}
return jml;
}

main(){

int x[100]; //elemen maksimal adl 100


int byk_elemen;
long hsl;
cout<<"masukkan banyak elemen : ";
cin>>byk_elemen;
cout<<endl;

//pemanggilan fungsi input array & jumlah


input_array(x, byk_elemen);
hsl=jumlah(x,byk_elemen);

cout<<"\nHasilnya = "<<hsl;

getch();
}

Anda mungkin juga menyukai