ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
ARRAY 1 DIMENSI
DEFINISI ARRAY
 Array (Larik) adalah struktur data yang menyimpan
sekumpulan elemen yang bertipe sama.
 Setiap elemen diakses langsung melalui
indeksnya. A
1
2
3
4
5
6
7
8
Gambar Larik A dengan 8 elemen
PENDEKLARASIAN ARRAY
 Larik adalah struktur data statik
 Mendeklarasikan larik berarti:
 Mendefinisikan banyaknya elemen larik (ukuran larik)
 Mendefinnisikan tipe elemen larik
 Bentuk Umum:
Type namaarray : array [I] of tipedasar
PENDEKLARASIAN ARRAY
a. Sebagai Peubah (variabel)
b. Sebagai Tipe Bentukan
Deklarasi
A : Array [1..100] of integer
NamaMhs : Array [1..10] of String
Nilai : Array [0..74] of real
Deklarasi
Type larikInt : Array [1..100] of integer { nama tipe
baru }
A : LarikInt { A peubah larik int dengan 100 elemen }
PENDEKLARASIAN ARRAY
c. Ukuran larik sebagai Konstanta
Deklarasi
Const Nmaks = 100 { ukuran maksimum elemen larik }
Type LarikInt : Array [1..Nmaks] of integer
A : LarikInt
MENGISI ELEMEN ARRAY
 Versi 1 : jumlah elemen efektif ditentukan di awal
procedure bacalarik1(output A : LarikInt,
input n : integer)
Deklarasi
i : integer
Deskripsi
for i  1 to n do
read(A[i])
endfor
MENGISI ELEMEN ARRAY
 Versi 2 : jumlah elemen efektif baru diketahui di
akhir pembacaan
procedure bacalarik2(output A : LarikInt,
input n : integer)
Deklarasi
jawab : char
Deskripsi
n  0
repeat
n  n + 1
read(A[n])
write(‘Lagi? (y/t)’)
read(jawab)
until jawab = ‘t’
MENCETAK ELEMEN ARRAY
 Elemen larik dicetak satu persatu mulai elemen
pertama sampai elemen ke-n
procedure cetaklarik(input A : LarikInt,
input n : integer)
Deklarasi
i : integer { pencatat indeks larik }
Deskripsi
for i  1 to n do
write(A[i])
endfor
MENGHITUNG NILAI RATA-RATA
procedure hitungratarata(input A : LarikInt, input n :
integer, output rata : real)
Deklarasi
i : integer { pencatat indeks larik }
jumlah : real { jumlah total seluruh nilai }
Deskripsi
i  1
jumlah  0
for I  1 to n do
jumlah  jumlah + A[i]
endfor
u  jumlah / n
MENCARI NILAI MAKSIMUM DAN MINIMUM ARRAY
a. Versi 1
Mengasumsikan nilai maksimum sementara (maks) adalah
nilai yang sangat kecil, misalnya -9999,
procedure carimaks1 (input A : LarikInt, input n :
integer, output maks : integer)
Deklarasi
i : integer
Deskripsi
maks  -9999
for i  1 to n do
if A[i] > maks then
maks  (A[i])
endif
endfor
MENCARI NILAI MAKSIMUM DAN MINIMUM ARRAY
b. Versi 2
Pada versi ini nilai maksimum sementara dan minimun
sementara diinisialisasi dengan elemen pertama larik
procedure carimin2 (input A : LarikInt, input n : integer
output min : integer)
Deklarasi
i : integer
Deskripsi
min  A[1]
for i  2 to n do
if A[i] < min then
min  (A[i])
endif
endfor
MENCARI NILAI MAKSIMUM DAN MINIMUM ARRAY
c. Versi 3
Yang diperlukan adalah posisi atau indeks elemen larik
yang bernilai maksimum atau minimum itu.
procedure carimaks3 (input A : LarikInt, input n : integer
output IdxMaks : integer)
Deklarasi
i : integer
Deskripsi
IdxMaks  1
for i  2 to n do
if A[i] > A[IdxMaks] then
IdxMaks  I
endif
endfor
BEKERJA DENGAN DUA ARRAY
 Contoh: Menghitung nilai indeks mahasiswa dan
menyimpan nilai indeks tersebut di dalam larik indeks,
Dengan Ketentuan
NilUjian ≥ 85 , indeks nilai = A
70 ≤ NilUjian < 85 , indeks nilai = B
60 ≤ NilUjian < 70 , indeks nilai = C
50 ≤ NilUjian < 60 , indeks nilai = D
NilUjian < 50 , indeks nilai = E
Deklarasi
Const Nmaks = 200 {jumlah maksimum elemen larik }
Type LarikUjian : Array [1..Nmaks] of real
Type LarikIndeks : Array [1..Nmaks] of char
BEKERJA DENGAN DUA ARRAY
 Prosedur menghitung Nilai indeks
procedure HitungIndeksNilai (input NilUjian : Larikujian,
input n : integer,
output indeks : LarikIndeks)
Deklarasi
i, k : integer
Deskripsi
for k  1 to n do
if (NilUjian[i] ≥ 85) then
indeks[i]  ‘A’
else
if (NilUjian[i] ≥ 70) and (NilUjian[i] < 85) then
indeks[i]  ‘B’
else
BEKERJA DENGAN DUA ARRAY
if (NilUjian[i] ≥ 60) and (NilUjian[i] < 70) then
indeks[i]  ‘C’
else
if (NilUjian[i] ≥ 50) and (NilUjian[i] < 60) then
indeks[i]  ‘D’
else
indeks[i]  ‘E’
endif
endif
endif
endif
endfor
BEKERJA DENGAN DUA ARRAY
 Prosedur mencetak
procedure CetakIndeksNilai (input NilUjian : Larikujian,
input n : integer,
output indeks : LarikIndeks)
Deklarasi
i, k : integer
Deskripsi
for I  1 to n do
write(i, NilUjian[i], indeks[i])
endfor

More Related Content

Sd bab 2 (array)

  • 2. DEFINISI ARRAY  Array (Larik) adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama.  Setiap elemen diakses langsung melalui indeksnya. A 1 2 3 4 5 6 7 8 Gambar Larik A dengan 8 elemen
  • 3. PENDEKLARASIAN ARRAY  Larik adalah struktur data statik  Mendeklarasikan larik berarti:  Mendefinisikan banyaknya elemen larik (ukuran larik)  Mendefinnisikan tipe elemen larik  Bentuk Umum: Type namaarray : array [I] of tipedasar
  • 4. PENDEKLARASIAN ARRAY a. Sebagai Peubah (variabel) b. Sebagai Tipe Bentukan Deklarasi A : Array [1..100] of integer NamaMhs : Array [1..10] of String Nilai : Array [0..74] of real Deklarasi Type larikInt : Array [1..100] of integer { nama tipe baru } A : LarikInt { A peubah larik int dengan 100 elemen }
  • 5. PENDEKLARASIAN ARRAY c. Ukuran larik sebagai Konstanta Deklarasi Const Nmaks = 100 { ukuran maksimum elemen larik } Type LarikInt : Array [1..Nmaks] of integer A : LarikInt
  • 6. MENGISI ELEMEN ARRAY  Versi 1 : jumlah elemen efektif ditentukan di awal procedure bacalarik1(output A : LarikInt, input n : integer) Deklarasi i : integer Deskripsi for i  1 to n do read(A[i]) endfor
  • 7. MENGISI ELEMEN ARRAY  Versi 2 : jumlah elemen efektif baru diketahui di akhir pembacaan procedure bacalarik2(output A : LarikInt, input n : integer) Deklarasi jawab : char Deskripsi n  0 repeat n  n + 1 read(A[n]) write(‘Lagi? (y/t)’) read(jawab) until jawab = ‘t’
  • 8. MENCETAK ELEMEN ARRAY  Elemen larik dicetak satu persatu mulai elemen pertama sampai elemen ke-n procedure cetaklarik(input A : LarikInt, input n : integer) Deklarasi i : integer { pencatat indeks larik } Deskripsi for i  1 to n do write(A[i]) endfor
  • 9. MENGHITUNG NILAI RATA-RATA procedure hitungratarata(input A : LarikInt, input n : integer, output rata : real) Deklarasi i : integer { pencatat indeks larik } jumlah : real { jumlah total seluruh nilai } Deskripsi i  1 jumlah  0 for I  1 to n do jumlah  jumlah + A[i] endfor u  jumlah / n
  • 10. MENCARI NILAI MAKSIMUM DAN MINIMUM ARRAY a. Versi 1 Mengasumsikan nilai maksimum sementara (maks) adalah nilai yang sangat kecil, misalnya -9999, procedure carimaks1 (input A : LarikInt, input n : integer, output maks : integer) Deklarasi i : integer Deskripsi maks  -9999 for i  1 to n do if A[i] > maks then maks  (A[i]) endif endfor
  • 11. MENCARI NILAI MAKSIMUM DAN MINIMUM ARRAY b. Versi 2 Pada versi ini nilai maksimum sementara dan minimun sementara diinisialisasi dengan elemen pertama larik procedure carimin2 (input A : LarikInt, input n : integer output min : integer) Deklarasi i : integer Deskripsi min  A[1] for i  2 to n do if A[i] < min then min  (A[i]) endif endfor
  • 12. MENCARI NILAI MAKSIMUM DAN MINIMUM ARRAY c. Versi 3 Yang diperlukan adalah posisi atau indeks elemen larik yang bernilai maksimum atau minimum itu. procedure carimaks3 (input A : LarikInt, input n : integer output IdxMaks : integer) Deklarasi i : integer Deskripsi IdxMaks  1 for i  2 to n do if A[i] > A[IdxMaks] then IdxMaks  I endif endfor
  • 13. BEKERJA DENGAN DUA ARRAY  Contoh: Menghitung nilai indeks mahasiswa dan menyimpan nilai indeks tersebut di dalam larik indeks, Dengan Ketentuan NilUjian ≥ 85 , indeks nilai = A 70 ≤ NilUjian < 85 , indeks nilai = B 60 ≤ NilUjian < 70 , indeks nilai = C 50 ≤ NilUjian < 60 , indeks nilai = D NilUjian < 50 , indeks nilai = E Deklarasi Const Nmaks = 200 {jumlah maksimum elemen larik } Type LarikUjian : Array [1..Nmaks] of real Type LarikIndeks : Array [1..Nmaks] of char
  • 14. BEKERJA DENGAN DUA ARRAY  Prosedur menghitung Nilai indeks procedure HitungIndeksNilai (input NilUjian : Larikujian, input n : integer, output indeks : LarikIndeks) Deklarasi i, k : integer Deskripsi for k  1 to n do if (NilUjian[i] ≥ 85) then indeks[i]  ‘A’ else if (NilUjian[i] ≥ 70) and (NilUjian[i] < 85) then indeks[i]  ‘B’ else
  • 15. BEKERJA DENGAN DUA ARRAY if (NilUjian[i] ≥ 60) and (NilUjian[i] < 70) then indeks[i]  ‘C’ else if (NilUjian[i] ≥ 50) and (NilUjian[i] < 60) then indeks[i]  ‘D’ else indeks[i]  ‘E’ endif endif endif endif endfor
  • 16. BEKERJA DENGAN DUA ARRAY  Prosedur mencetak procedure CetakIndeksNilai (input NilUjian : Larikujian, input n : integer, output indeks : LarikIndeks) Deklarasi i, k : integer Deskripsi for I  1 to n do write(i, NilUjian[i], indeks[i]) endfor