Algoritma Pemog.

Download Report

Transcript Algoritma Pemog.

Algoritma dan Pemrograman
Larik / Array
Kelas D
Jonh Fredrik Ulysses, S.T
Larik
• Peubah / tetapan
– Menyimpan sebuah nilai dari tipe data tertentu.
• Larik
– Menyimpan sekumpulan nilai yang tipe data tertentu (sama).
• Dalam bidang ilmiah sering ditemui besaran yang
menggunakan nama peubah berindeks.
Misalnya :
– u1,u2,u3,u4,u5,…,un.
– vk  0, untuk k = 0, 1, 2, …, n

a  (a1  a2  a3  ... an ) / n 
n
a
i
i 1
Larik (2)
• Bila kumpulan data tersebut disimpan secara
beruntun di dalam memori, maka tiap elemen
dapat diacu dengan menggunakan indeks.
• Indeks menyatakan posisi data relatif di dalam
kumpulannya.
• Struktur data penyimpanan data seperti ini
dinamakan larik (array).
• Nama lain larik : tabel, vektor, atau peubah
majemuk.
Definisi Larik
• Larik adalah struktur data
yang menyimpan sekumpulan
elemen yang bertipe sama,
setiap elemen diakses secara
langsung melalui indeksnya.
• Indeks larik haruslah tipe data
yang menyatakan
keterurutan, misalnya :
integer, atau karakter.
• Contoh :
– Larik yang bernama A
dengan 8 buah elemen 
Definisi Larik(2)
• Notasi tiap elemen :
A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8]
• Angka di dalam kurung siku menyatakan
indeks.
• Setiap elemen menyimpan sebuah nilai.
Mendefinisi Larik di dalam
DEKLARASI
• Larik adalah struktur data yang statik.
• Jumlah elemen larik harus sudah diketahui
sebelum program dieksekusi.
 tidak dapat ditambah atau dikurangi
• Mendefinisikan larik di dalam DEKLARASI :
– Mendefinisikan banyaknya elemen larik
• Memesan sejumlah tempat di memori (sebanyak elemen
larik).
– Mendefinisikan tipe elemen larik
• Tipe sederhana
• Tipe bentukan
• Tipe larik
: integer, real, char, boolean
: record, string
Contoh
•
Larik sebagai PEUBAH
•
Larik sebagai TIPE BARU
•
Ukuran maksimum larik sebagai tetapan
Cara Mengacu Elemen Larik
• Elemen larik diacu melalui indeksnya.
• Misal :
– L[4]  10
– nama_mhs[i]  ‘linuxita’
– read(P[k])
– write(deret[n])
Pemrosesan Larik
•
•
•
Elemen larik tersusun secara beruntun
 elemen larik diproses secara beruntun melalui indeks yang terurut.
Skema umum algoritma memproses larik disebut juga skema
mengunjungi (traversal) larik.
 PROSES adalah aksi yang dilakukan terhadap elemen larik
(pengisian, pembacaan, penulisan, atau manipulasi lainnya)
Menginisialisasi Larik
• Menginisialisasi larik adalah memberikan harga
awal untuk seluruh elemen larik.
– Untuk ‘mengosongkan’ elemen larik sebelum
digunakan untuk proses tertentu.
– Larik bertipe numerik biasanya diisi dengan bilangan
nol.
– Larik bertipe karakter biasanya diisi dengan karakter
spasi.
– Pemrogram dapat memberi nilai lain sesuai dengan
kebutuhan.
Memanipulasi Larik
•
•
•
Seringkali tidak seluruh elemen larik (yang telah didefinisikan)
digunakan.
Banyaknya elemen larik yang digunakan disebut jumlah elemen
efektif.
PROSES :
– read(A[i])
– write(A[i])
– jumlah  jumlah + A[i]
Kapan Menggunakan Larik ?
• Larik dibutuhkan bila diperlukan penyimpanan data
sementara yang bertipe sama di dalam memori,
sebelum data tersebut diproses lebih lanjut.
– Menghemat penggunaan nama peubah yang banyak (yang
bertipe sama).
karena sebuah peubah hanya dapat menampung sebuah
nilai
– Mengurangi penulisan perintah yang sama secara berulang
ulang untuk peubah-peubah tersebut.
Larik Bertipe Terstruktur
• Elemen larik juga dapat bertipe terstruktur.
– Contoh :
– TabMhs merupakan sebuah larik yang isinya berupa data
mahasiswa :
Larik Bertipe Terstruktur(2)
Cara mengacu elemen TabMhs :
TabMhs[1].NIM  12345
write(TabMhs[k].NIM, TabMhs[k].KodeMK, TabMhs[k].Nilai)
TabMhs[k]  TabMhs[k+1]
Larik Bertipe Terstruktur (3)
• Elemen larik juga dapat bertipe larik lain.
– Contoh :
Pada suatu semester, setiap mahasiswa mengambil 4 mata
kuliah :
– NIM
– NamaMhs
– Mata kuliah yang diambil :
• KodeMK 1
NamaMK 1
Nilai 1
• KodeMK 2
NamaMK 2
Nilai 2
• KodeMK 3
NamaMK 3
Nilai 3
• KodeMK 4
NamaMK 4
Nilai 4
Larik Bertipe Terstruktur (4)
Cara mengacu elemen LarikMhs :
read(LarikMhs[2].NIM)
LarikMhs[2].MK[3].KodeMK  ‘TF1234’
write(LarikMhs[2].MK[3].NamaMK)
Bekerja dengan Dua Buah Larik
• Dua buah larik atau lebih dapat dioperasikan sekaligus.
Contoh :
Nilai ujian N mahasiswa disimpan dalam larik UJIAN[1..N]. Nilai
tersebut akan dikonversi menjadi nilai indeks (A/B/C/D/E) dan
disimpan pada larik INDEKS[1..N).
• Deklarasi Data :
Bekerja dengan Dua Buah Larik
• Prosedur untuk menghitung nilai indeks:
Sumber
• Algoritma dan Pemrograman dalam
Bahasa Pascal dan C (Buku 1), Rinaldi
Munir, Informatika Bandung
• Bahan Matakuliah Algoritma dan
Pemrograman Universitas Atma Jaya
Yogyakarta