Larik
Larik Peubah / tetapan Larik 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
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 7 buah indeks
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 : integer, real, char, boolean Tipe bentukan : record, string Tipe larik
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: