Pertemuan-VIII Array
Pertemuan-VIII Array
Sub-Capaian Pembelajaran MK
3
4
5
6
Pendahuluan
• Setiap elemen larik menyimpan sebuah nilai. Karena seluruh elemen
larik betipe sama, maka nilai yang disimpan oleh setiap elemen juga
harus bertipe sama.
1 158
2 157
3 162
4 169
5 170
6 170
Mendeklarasikan Larik
• Larik adalah struktur data yang static, artinya jumlah elemen larik
harus sudah terdefinisi di dalam program. Jumlah elemen larik tidak
dapat diubah, ditambah, atau dikurangi selama pelaksanaan
program.
DEKLARASI
NamaLarik: array[idx_awal…idx_akhir] of tipe
Mendeklarasikan Larik (2)
A. Sebagai Peubah
DEKLARASI
N : array[1..100] of integer
NamaMhs : array[1..12] of string
NilUjian : array[0..74] of real
P : array[1..100] of Titik
Atau
for i 1 to N do
pemrosesan terhadap A[i]
end for
Menginisialisasi Larik
a. Menginisialisasi elemen-elemen larik dengan nilai 0
ALGORITMA
read(N)
for i1 to N do
A[i] 0
end for
1 0
2 0
3 0
4 0
5 0
6 0
Menginisialisasi Larik
b. Menginisialisasi setiap elemen larik ke-i dengan nilai i
ALGORITMA
read(N)
for i1 to N do
A[i] i
end for 1 1
2 2
3 3
4 4
5 5
6 6
Menginisialisasi Larik
c. Menginisialisasi setiap elemen larik dengan pembacaan
ALGORITMA
read(N)
for i1 to N do
read(A[i])
end for
1 6
Misalkan dibaca: 6,6,8,3,2,1 2 6
3 8
4 3
5 2
6 1
Mencetak Elemen-Elemen Larik
Untuk mencetak elemen-elemen larik, maka kita menuliskan nilai-nilai di
dalam setiap elemen larik ke piranti keluaran, misalnya ke layar komputer.
Dalam hal ini, elemen larik dicetak satu per satu mulai untuk elemen pertama
sampai elemen ke-N
PROGRAM CetakLarik
{Program untuk mencetak larik}
DEKLARASI
i: integer
A: array [1..N] of integer
ALGORITMA
read(N)
for i1 to N do
write(A[i])
end for
Mencari Nilai Maksimum Larik
• Nilai maksimum pada larik integer/real adalah elemen larik yang
mempunyai nilai terbesar di antara elemen larik lainnya.
1 6
2 6
3 8 Nilai Maksimum
4 3
5 2
6 1
DEKLARASI
A: array [1..N] of integer
i: integer
ALGORITMA
maks A[1]
read(N)
for i 2 to N do
if A[i] > maks then
maks i
end if
end for
Menyalin Larik
Diberikan sebuah larik integer A yang sudah terdefinisi elemen-
elemennya. Ukuran larik adalah N elemen. Kita ingin menyalin (copy)
elemen-elemen larik A ke dalam larik yang lain misalnya B.
A B
1 6 6
2 6 6
3 8 8
4 3 3
5 2 2
6 1 1
Bagaimana Pseudocode nya??
Pseudocode Menyalin Larik
PROGRAM SalinLarik
{Program untuk menyalin elemen di dalam larik A
ke B}
DEKLARASI
A,B: array [1..n] of integer
i: integer
ALGORITMA
read(n)
for i 1 to n do
B[i] A[i]
end for
Larik Bertipe Terstruktur
• Contoh-contoh algoritma yang dibahas sebelum ini menggunakan
larik dengan elemen yang bertipe sederhana.
• Elemen larik juga dapat bertipe terstruktur.
• Sebagai contoh, misalkan kita akan mengolah data 100 orang
mahasiswa. Data setiap mahasiswa terdiri dari NIM, nama
mahasiswa, dan IPK. Struktur lojik dari larik Mhs ditunjukkan seperti
berikut ini:
NIM NamaMhs IPK
1 129801 Panji Bonar 3.04
2 129804 Ki Jambrong 2.80
3 … … …
. … … …
. … … …
100 129880 Roy Suryo 2.00
Bagaimana Deklarasi-nya??
Deklarasi Larik Bertipe Terstruktur
DEKLARASI
const Nmaks = 100
type Mahasiswa: record <NIM: string,
NamaMhs: string,
IPK: real>
type TabelMhs: array[1..Nmaks] of Mahasiswa
Mhs: TabelMhs
Untuk mencetak kita tidak dapat melakukan elemen larik seperti di bawah ini:
write(Mhs[i])
Namun harus seperti berikut ini:
write(Mhs[i].NIM,Mhs[i].IPK,Mhs[i].NamaMhs)
Latihan Soal
Diberikan nilai ujian n orang mahasiswa telah disimpan di dalam larik
NilUjian. Kita akan menghitung nilai indeks (A/B/C/D/E) dari
mahasiswa tersebut dan menyimpan nilai indeks tersebut di dalam
larik Indeks. Indeks nilai ujian ditentukan sebagai berikut: