Anda di halaman 1dari 30

ALGORITMA PEMROGRAMAN

Array (Larik)
Sulyono, S.Kom,. M.Ti | sulyono@darmajaya.ac.id
ARRAY (LARIK)
Filosofi Array
pnjg lebar luas kllg

var
panjang : integer;
lebar : integer;
luas : integer; ARRAY integer
Keliling : integer;

var
mhs1 : string[40];
mhs2 : string[40]; ARRAY string[40]
mhs3 : string[40];
.
.
mhs100 : string[40]; mhs1 mhs2 ........ mhs100
Definisi Array

• Array digunakan untuk menyimpan sekumpulan


data yang bertipe sama.
• Setiap data diakses langsung melalui indeksnya.
• Banyaknya data array harus sudah diketahui
sebelum program dieksekusi.
• Array :
Array 1 dimensi
Array 2 dimensi
2 Jenis Array

Array 1 Dimensi
&
Array Multidimensi (Matriks)
ARRAY
1.Array(LARIK)
1 Dimensi
Perbedaan deklarasi variabel array dengan variabel biasa

int a;  hanya 1 nilai untuk variabel a

int a[10];  terdapat 10 slot nilai untuk


variabel a

Contoh : int a[7] = {1,2,3,5,43,5,6};

Arrays dapat menggunakan nama apapun (yang dapat digunakan


dalam bahasa C/C++), selama tidak memiliki nama yang sama
dengan variabel tunggal lain.
Isi array

Dalam bahasa C/C++, array dimulai dari 0.


Jika A merupakan array dengan jumlah elemen
10, maka variabel yang adalah A[0], A[1], ..., A[9]

A 5 9 15 8 -7 21 1 -3 11 -1 isi array

[0][1][2][3][4][5][6][7][8][9] indeks array

A[0] bernilai 5
A[4] bernilai -7
Berapa nilai A[6] ?
Berapa nilai A[9] ?
Mengisi Nilai Elemen Array
 Nilai setiap elemen array dapat diisikan
langsung

A[0] = 100; /*Nilai elemen A[0] adalah 100*/


B[5] = 35; /*Nilai elemen B[5] adalah 35 */
A[0] = B[5];/*Nilai elemen A[0] adalah 35 */
C = -99; /*C adalah variabel biasa, bukan
array. C bernilai -99 */
B[5] = C; /*Nilai elemen B[5] adalah -99.
A[0] tetap bernilai 35 */
Menampilkan Nilai Array
#include <iostream>
using namespace std;
int main()
{
int A[3];
int B = 35;

A[0] = 70;
A[1] = B;
cout<<“Isi nilai A[0] adalah”<<A[0]<<“\n”;
cout<<“Isi nilai A[1] adalah”<<A[1]<<“\n”;
cout<<“Silakan user mengisi nilai A[2]:”;cin>>A[2];
cout<<“Isi nilai A[2] adalah”<<A[2]<<“\n”;
system (“PAUSE”);
}
Array initialization [1]

 Meskipun tidak dimungkinkan mengoperasikan array secara


langsung, namun pemberian nilai dapat dilakukan

int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

 Bila initializers-nya lebih sedikit dari elements array, sisanya


akan dianggap bernilai 0.

int a[10] = {0, 1, 2, 3, 4, 5, 6};

nilai a[7], a[8], dan a[9] dianggap 0.


Array initialization [2]

Bila terdapat initializer, maka dimensi array dapat diabaikan

int b[] = {10, 11, 12, 13, 14};

b merupakan array yang memiliki 5 elemen karena di-inisialisasi


dengan 5 angka. Perhatikan bahwa variable b dinyatakan
sebagai b[] untuk menjelaskan bahwa b adalah sebuah array

Jika elemen array adalah karakter, maka initializer dapat


berupa string constant:

char s1[7] = "Hello,";


char s2[10] = "there,";
char s3[] = "world!";
Array dan loop

Untuk memberikan nilai atau mengoperasikan suatu array, dapat


digunakan sebuah loop:

for(int i = 0; i < 10; i = i + 1)


{ a[i] = 0; }
/* a[0] hingga a[9] bernilai 0 */

for(i = 0; i < 10; i++) /* i++ adalah sama dengan i=i+1 */


{ b[i] = a[i]+1; }
/* b[0] hingga b[9] bernilai 1 */

for(i = 0; i < 10; i++)


{ c[i] = b[i]+i; }
/* untuk i=0  c[0]=1+0=1,
untuk i=1  c[1]=1+1=2,
untuk i=2  c[2]=1+2=3,
berapa nilai c[9]? */
Contoh Deklarasi Array [1]

#include <iostream>
using namespace std;

int main ()
{
int n[10];

for (int i=0; i<10; i++)


{ n[i] = 0; }

cout<<”Indeks Elemen Nilai\n”;

for (i=0; i<10; i++)


{ cout<<i<<” ”<<n[i]<<”\n”; }
system (“PAUSE”);
}
Contoh Deklarasi Array [2]
#include <iostream.h>
/* Jumlah array ditentukan dalam deklarasi dengan jumlah
data yang lebih sedikit */

int main ()
{
int n[10] = {32, 27, 64, 18, 95};

cout<<”Elemen ke Nilai\n”;

for (i=0; i<10; i++)


{ cout<<i<<” ”<<n[i]<<”\n”; }

return 0;
}
Contoh Deklarasi Array [3]
#include <iostream>
// Jumlah array tidak ditentukan

int main ()
{
int n[] = {32, 27, 64, 18, 95};

cout<<”Elemen ke Nilai\n”;

for (i=0; i<10; i++)


{ cout<<i<<” ”<<n[i]<<”\n”; }

return 0;
}
Const
Contoh:
// Menyatakan ukuran array
dengan const

#include <iostream>
using namespace std;
int main ()
{
const int arraySize = 5;

int n[arraySize];
cout<<"Elemen Nilai\n";
for (int i=0; i < arraySize; i++)
{
n[i] = 2 + 2 * i;
cout<<i<<” ”<<n[i]<<”\n”;
}
system (“PAUSE”);
}
Menghitung Nilai Rata-rata
Nilai rata-rata = Total Penjumlahan seluruh elemen
banyaknya elemen
arraySize1

#include <iostream>
=
 n[i]
i 0

int main ()
{
const int arraySize = 12;
int n[arraySize] = {1,3,5,7,9,4,5,6,44,6,88,45};
int total = 0;
for (int i=0; i < arraySize; i++)
{
total = total + n[i];
}
cout<<"Total nilai = "<<total<<"\n";
cout<< "Rata-rata = "<< total/arraySize<<"\n";
return 0;
}
Mencari Nilai Array
#include <iostream.h>

main ()
{
const int arraySize = 12;
int n[arraySize] = {1,3,5,7,9,4,5,6,44,6,88,45};
int Bil;
cout<<“Masukkan nilai yang ingin dicari = “;
cin>>Bil;
for (int i=0; i < arraySize; i++)
{ if (n[i] == Bil)
{
cout<<Bil<<“is Found!!\n“;
break;
}
}
return 0;
}
Pengurutan (shorting) array [1]

Metoda/algoritma yang digunakan di sini adalah metoda


gelembung (bubble short)

Untuk shorting dari bilangan terkecil ke bilangan


terbesar (ascending) sebanyak n bilangan, dengan
metoda ini bilangan terbesar akan digeser ke paling
kanan.

Selanjutnya bilangan terbesar ke-2 digeser ke posisi n-


1, dst.
Pengurutan (shorting) array [2]
#include <iostream>
int main ()
{
// blok deklarasi dan penulisan urutan awal
const int arraySize = 12;
int dummy;
int n[arraySize]= {1,96,5,7,9,4,5,6,44,6,88,45};

cout<<"Urutan data awal:\n";


for(int i=0;i<arraySize;i++)
{
cout<<n[i]<<" ";
}
Pengurutan (shorting) array [3]
// blok pergeseran bilangan terbesar

for(i=0; i< arraySize-1; i++)


{
for(int j=0; j<arraySize-i; j++)
{
if(n[j]>=n[j+1])
{
dummy=n[j];
n[j]=n[j+1];
n[j+1]=dummy;
}
else;
}
}
Pengurutan (shorting) array [4]
// blok print out hasil shorting

cout<<“\n\nUrutan data dari kecil ke besar:\n";


for(i=0;i<arraySize;i++)
{
cout<<n[i]<<" ";
}
cout<<"\n\nUrutan data dari besar ke kecil:\n";
for(i=arraySize-1;i>=0;i--)
{
cout<<n[i]<<" ";
}
cout<<"\n\n";
return 0;
}
Multidimension array

Dimungkinkan untuk memiliki array dengan dimensi lebih dari satu.

Setiap dimensi direpresentasikan oleh subscript. Array dua dimensi


memiliki dua subscript, 3 dimensi memiliki 3 subscript, dst.

Array dapat berdimensi berapapun, tapi umumnya digunakan satu


atau dua dimensi.
Array 3 dimensi

[2,0,0]
[1,0,0]
[2,0,4]
[1,0,4]
[0,0,4]
[0,0,0] [0,0,1] [0,0,2] [0,0,3] [0,0,4]
[2,1,4]
[1,1,4]
[0,1,4]
[0,1,0] [0,1,1] [0,1,2] [0,1,3] [0,1,4]
[2,2,4]
[1,2,4]
[0,2,4]
[0,2,0] [0,2,1] [0,2,2] [0,2,3] [0,2,4]
Initializing multidimension array

Suatu nilai dapat diberikan (assigned) kedalam elemen array dengan


urutan array yang terakhir berubah terlebih dahulu ketika array
sebelumnya tetap. Maka array:

int theArray[5][3] memiliki urutan 3 elemen pertama bagian dari


theArray[0]; kemudian 3 elemen berikutnya adalah bagian dari
theArray[1]; dst.

Untuk meng-initialize array dapat dilakukan dengan:


int theArray[5][3] = {
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };

Atau untuk kejelasan dapat digunakan tambahan kurung kurawal:


int theArray[5][3] = { {1,2,3},
{4,5,6},
{7,8,9},
{10,11,12},
{13,14,15} };
Contoh multidimension array [1]

#include <iostream>
int main()
{
int a2[2][4];
// memberi nilai
int i, j;
for(i = 0; i < 5; i = i + 1)
{
for(j = 0; j < 7; j = j + 1)
{ a2[i][j] = 10 * i + j;
cout<<"Nilai a2["<<i<<","<<j<<"]="<<a2[i][j]<<"\n";
}
}
}
TUGAS
 Buatlah Program dengan ARRAY untuk
menginputkan nilai 10 orang siswa, data yang
diinput adalah NPM, Nama dan Nilai.
 Jika Nilai >= 60 maka keterangan Lulus

Anda mungkin juga menyukai