LARIK (ARRAY).

Slides:



Advertisements
Presentasi serupa
Pemrograman Terstruktur
Advertisements

Pencarian ( Searching)
STATEMEN READ-DATA 10 READ A10 READ A,B,C 20 DATA 2,3,420 PRINT A,B,C 30 READ B,C30 END 35 PRINT A,B,C40 DATA 2,3,4 40 ENDOk Ok STATEMEN RESTORE 10 READ.
Bab 2 Struktur Dasar.
Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman I
Soal-Soal Latihan Mandiri
Array Dimensi Banyak Gerlan A. Manu, ST.,MKom
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
STRUKTUR DATA.
Induksi Matematika.
Struktur Dasar Algoritma
PENGURUTAN (SORTING).
Pengertian Algoritma Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses, dimana algoritma disusun oleh sederetan langkah instruksi yang logis.
STRUKTUR DATA (D3) - Review array - Searching (Sequential & Binary)
Dasar pemrograman “Array and Record” Kelompok 3 TIP Kelas C
PENCARIAN (SEARCHING)
Chapter 9 SEARCHING ALGORITHM Program Studi Ekstensi DTE FTUI Slides © 2007.
Bab 2 PERINTAH-PERINTAH DASAR (BAG. 1) Program Pendidikan Sarjana Ekstensi DTE FTUI Slide ©2008.
ARRAY Suatu array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen ini disebut dengan.
Chapter 10 Linked List (Senarai Bertaut) Program Studi Ekstensi DTE FTUI Slides©2007.
Matrik wijanarto.
Dasar Pemrograman ARRAY/LARIK.
Notasi Algoritma.
ARRAY 1 DIMENSI.
PEMOGRAMAN 1 Pertemuan 3.
Algoritma dan Struktur Data
Kompleksitas Algoritma
Algoritma dan Pemrograman
ARRAY Suatu array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen ini disebut dengan.
Chapter 12 Antrian (Queue) Program Studi Ekstensi DTE FTUI Slides©2007.
Searching.
Bab 2 – b PERINTAH 2 B Percabangan. PERCABANGAN Tidak setiap baris program akan dikerjakan Hanya yang memenuhi syarat (kondisi) Syarat terdiri dari operand-operand,
Array dan String.
- PERTEMUAN 9 - LARIK/ARRAY SATU DIMENSI (1D)
Algoritma (Struktur, Tipe Data, Input/Output)
Metode Perancangan Program
Stack.
Chapter 7 Linked List December 2015.
Algoritma Pencarian (searching)
ALGORITMA PEMROGRAMAN LANJUTAN
KUG1A3 Algoritma& Pemrograman
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
Algoritma dan Pemrograman Searching
Dasar Komputer & Pemrograman 2B
ALGORITMA PEMROGRAMAN 2A
Chapter 9 Linked List (Senarai Bertaut)
Struktur Program Minimal
Antrian (Queue).
PENGURUTAN (SORTING).
Pengurutan (Sorting).
Algoritma & Pemrograman 1B
Rahmat Deddy Rianto Dako, ST, M.Eng
Array 1.
Struktur Data Array.
Larik.
Prepared by Yohana Nugraheni
Array dan Matriks.
ARRAY SATU DIMENSI.
Algoritma dan Pemrograman Searching
BAB 3 PERINTAH 2 C 7/23/2018 ABR team presentation.
Sorting (Pengurutan).
Array.
ARRAY ALGORITMA & PEMROGRAMAN 1B.
PEMOGRAMAN Dasar Pemograman.
Pencarian (searching)
Algoritma Pemrograman
Kuliah ke-4 Program Studi Ekstensi DTE FTUI Slides©2008
Array.
Array.
Sorting (Pengurutan).
Transcript presentasi:

LARIK (ARRAY)

Pendahuluan Struktur data dasar yang sangat berdaya guna Sekumpulan data sejenis, mudah dikelola. Pengoperasian yang sangat sederhana, fleksibel dan canggih.

Pendahuluan Dapat digunakan untuk mensimulasikan struktur data yang lain: Stack Queue Tree Graph

Pendahuluan Larik : Variabel yang terdiri dari beberapa bagian Setiap bagian sama ukuran dan jenisnya serta dapat diolah sendiri-sendiri Masing-masing bagian larik disebut elemen atau unsur larik

Pendahuluan Ilustrasi: Kotak K terdiri dari 12 bagian K 1 2 3 4 5 6 7 8 9 10 11 12

Pendahuluan Perintah: “Taruh kelereng warna biru pada kotak K” Dengan adanya pengkotakan dan penomoran maka perintah dapat diubah sehingga tidak membingungkan harus ditaruh dimana kelereng tersebut. Ubah Perintah: “Taruh kelereng warna biru pada kotak nomor 7.”

Pendahuluan Larik dibuat dengan perintah sebagai berikut: def l : array of integer edef Akan muncul larik bernama l yang terdiri dari 12 elemen Setiap elemen diberi nomor 1 s.d 12. yang disebut indeks larik. Diisi oleh bilangan bulat. Bisa juga untuk aksara

Pendahuluan K 1 2 3 4 5 6 7 8 9 10 11 12 Untuk menyimpan bilangan 7681 pada elemen ke –3 larik 1, dibuat perintah sebagai berikut: 1[3] : = 7681

Pendahuluan Kotak pada ilustrasi sebelumnya dapat dianggap sebagai kumpulan kotak-kotak kecil berukuran sama yang disusun sehingga membentuk beberapa baris Susunan Kotak dua dimensi terdiri dari 12 elemen: def l : array [ 1..3, 1..4 ] of integer edef

Pendahuluan K 1 2 3 4 1 1 2 3 4 5 6 7 8 9 10 11 12 2 3 Untuk menyatakan kotak tertentu, kita dapat memberi nomor pada setiap kotak

Pendahuluan Perintah diatas menyatakan larik 1 terdiri dari 3 baris dan 4 kolom. Larik semcam ini dinamakan berdimensi dua sedang larik sebelumnya disebut berdimensi satu. Untuk mengisi elemen larik pada baris ke-2 kolom ke-3 dengan bilangan 81, cukup ditulis: 1 [2,3] : = 81

Pendahuluan Elemen larik pada baris ke-2 kolom ke-3 akan berisi bilangan 81 sedang yang lain tidak. l 1 2 3 4 1 ? 81 2 3

Pendahuluan Larik berdimensi 3 dibuat dengan perintah: def 1 : array [1..3, 1..4, 1..7] of real edef Perintah tersebut akan membentuk larik dengan jumlah elemen sebanyak: 3*4*7* = 84 buah

Pendahuluan Ada 3 tingkat masing-masing berisi 4 baris dan 7 kolom kotak. Analog dengan kumpulan kotak yang tersusun pada beberapa bidang yang disusun membentuk tumpukan.

Membalik isi berkas b1 b2 60 65 71 78 85 85 78 71 65 60 Misalkan ada berkas runtut (sequential file) b1 yang berisi angka-angka dengan urutan membesar seprti pada gambar diatas.

Membalik isi berkas Urutan data dibalik meniadi mengecil dan disimpan pada gamabr b2. Pengembangan Algoritma Berkas runtut hanya dapat dibaca secara berturutan dan hanya dapat ditulis secara berturutan iuga. Menggunakan satu variabel, yaitu bill

Membalik isi berkas Membalikkan berkas dengan memakai variabel biasa: memori disk a disk 60 b 65 60 65 71 78 85 85 78 71 65 60 c 71 d 78 e 85 berkas b2 berkas b1

Membalik isi berkas Algoritma untuk membaca semua data ke dalam larik 1 adalah sebagai berikut: read (b1, l[1]) read (b1, l[2]) read (b1, l[3]) read (b1, l[4]) read (b1, l[5]) Perintah read ( b1, l[1]) = membaca data dari berkas b1 dan menyimpan ke dalam larik l yang pertama. Ke-5 perintah adalah identik, kecuali yang kurung siku (nomor elemen larik)

Membalik isi berkas Larik dapat melakukan manipulasi index, karena index dapat berupa variabel iika indeks dinyatakan dengan variabel i , harga awal haruslah 1.

Membalik isi berkas Harga akan diubah dengan penambahan 1 pada setiap perintah read berikutnya, dapat dinyatakan sbb : i := 1 while not eof (b1) do read (b1, l[i]) i := i + 1 ewhile

Membalik isi berkas Perintah read (b1, l[i]) = baca data dari berkas dan menyimpannya di dalam elemen larik yang ke-i. Harga i yang pertama adalah 1, oleh karena itu 1[i] berarti 1[1], sehingga read (b1, 1[i]) yang pertama ekuivalen dengan perintah read (b1, 1[1]), dst. Untuk menuliskan isi larik 1 dengan urutan terbalik sama halnya dengan pembacaan data sebelumnya

Membalik isi berkas Jika i dianggap sebagai indeks, maka indeks i dimulai dari 5 dengan pengurangan 1. for i := 5 to 1 step –1 do write (b2, 1[i]) efor

Membalik isi berkas Rincian algoritma untuk membalik isi berkas b1 ke berkas b2 adalah sebagai berikut: proc Balik Berkas (b1, b2) def maksL : 100 l: array (1..maksL) of integer edef

Membalik isi berkas (baca isi berkas b1 dan simpan ke larik l) i := 1 while not eof (b1) do read (b1, l[i]) i := i +1 ewhile (tulis terbalik isi larik l ke berkas b2) for i := 5 to : step –1 do write (b2, l[i]) efor eproc

Membalik isi berkas b1 dan b2 didefinisikan pada program yang memanggil prosedur ini sebagai berikut: def b1, b2 : file edef

Membalik isi berkas Evaluasi Program Program Balik berlaku untuk berkas yang datanya hanya 5 buah.

Membalik isi berkas Prosedur Balik dapat teriadi dua kesalahan: Jika data b1 lebih dari 5 buah Untuk mengatasi ditambah satu perintah if untuk memeriksa apakah indeks larik melebihi 5, jika iya program dihentikan. Jika data b1 kurang dari 5 buah Program akan berhenti atau mengisi data dengan data yang tidak diharapkan

Membalik isi berkas Jika variabel yang mencatat banyaknya bilangan yang terbaca  n, maka algoritmanya menjadi : for i := n to step –1 do write (b2, l[i]) efor

Membalik isi berkas Harga variabel n harus ditentukan pada saat pembacaan data. Variabel i menyatakan index elemen larik yang siap diisi  n := i – 1 pada akhir pembacaan data. Algoritmanya sebagai berikut :

Membalik isi berkas proc BalikBerkas (b1, b2) def maksL : 100 l : array [1 .. maksL] of integer edef

Membalik isi berkas (baca isi berkas b1 dan simpan ke larik l) i := 1 While not eof (b1) do read (b1, l[i]) i := i +1 if i > maksL then write(‘Data tidak muat di dalam larik’) stop(menghentikan proses) eif ewhile n := i - 1

Membalik isi berkas (tulis terbalik isi larik l ke berkas b2) for i := n to 1 step –1 do write(b2, l[i]) efor eporc prog P6_1() def b1, b2 : file edef BalikBerkas (b1, b2) eprog

Membalik Isi Larik Algoritma untuk membalik isi larik: 10 11 12 13 14 15 l (a) 15 14 13 12 11 10 l (b)

Membalik Isi Larik Pengembangan Algoritma Diubah dengan mempertukarkan isi elemen larik pertama dengan isi elemen larik terakhir, kemudian tukar isi elemen larik yang kedua dengan isi elemen larik kedua dari akhir, dst.

Membalik Isi Larik 2 10 11 12 13 14 15 15 14 13 12 11 10 (a) Proses Pembalikan isi larik temp 1 3 (b) Proses pertukaran isi larik

Membalik Isi Larik Untuk menukar dua elemen larik diperlukan satu variabel yaitu temp dan tiga proses pemuatan (assignment) seperti pada gambar. Simpan isi elemen larik pertama ke variabel temp, kemudian salin isi elemen larik terakhir ke elemen pertama, dan akhirnya salin isi temp ke elemen terakhir. Bilangan n adalah indeks elemen terkahir

Membalik Isi Larik temp := l[1] l[1] := l[n] l[n] := temp Prosedur yang sama dilakukan untuk elemen ke-2,3,4 dst. Bila jumlah elemen larik adalah n maka nomor elemen tengah larik adalah t = n div 2, yaitu hasil bagi bilangan bulat bilangan n dengan 2. Contoh: 6 div 2 = 3 5 div 2 = 2

Membalik Isi Larik Algoritma pembalikan isi larik dapat diformulasikan sbb: t := n div 2 (t adalah nomor tengah larik ) for i := to t do (tukar elemen ke-i dengan elemen ke-i dari akhir ). Elemen ke-i adalah l[i] sedang elemen i dari akhir adalah l[j] dimana j mulai dari n dengan pengurangan 1, sedang i mulai dari dengan pertambahan 1.

Membalik Isi Larik Algoritma lengkap pembalikan isi larik adalah: proc Balik (l, n) t := n div 2 (nomor tengah larik). j := n (indeks elemen terakhir) for i := 1 to t do temp := l[i] l[i] := l[j] l[j] := temp j := j-1 efor eproc

Membalik Isi Larik Pemanggilan prosedur Balik dengan perintah Balik (l,n) akan membalik susunan data didalam larik l, yang elemennya terdiri dari n buah. Contoh algoritma untuk membaca data dari berkas b dan menyimpannya ke dalam larik l, kemudian membalik isi larik tersebut :

Membalik Isi Larik prog P6 : 2 () Baca berkas (b, l, n) (baca berkas b dan simpan ke larik l) (catat banyaknya data yang didalam n) Balik Larik (l,n) (balik isi larik l berelemen sebanyak n) Tulis Larik (l,n) (tulskan semua elemen larik l) eprog

Membalik Isi Larik proc Baca Berkas (b, l, n) i := 1 read (b, bil) while not eof (b) do l[i] := bil i := i +1 ewhile n := i – 1 eproc

Membalik Isi Larik proc Balik (l,n) t := n div 2 (nomor tengah larik) j := n (indeks elemen terakhir) for i := 1 to t do temp := l[i] l[i] := l[j] l[j] := temp j := j – 1 efor eproc

Membalik Isi Larik proc TulisLArik (l,n) for i := 1 to n do write (l[i]) efor eproc

Menghilangkan Duplikasi Untuk menghilangkan duplikasi data yang ada didalam suatu larik akan dibuat algoritma. Contoh: Terdapat duplikasi L 10 10 10 14 15 16 16 17 17 19 (a) L 10 14 15 16 17 19 (b) tanpa duplikasi

Menghilangkan Duplikasi Pengembangan Algoritma Periksa elemen yang sama pada larik Hilangkan elemen tersebut dengan menimpa dengan elemen berikut

Menghilangkan Duplikasi Algoritmanya: proc BuangDuplikasi (l, m, n) (Buang duplikasi didalam larik l yang elemennya sebanyak m. Banyaknya elemen setelah duplikasi dibuang adalah n) [mulai dari elemen pertama] while [belum semua data diperiksa] do

Menghilangkan Duplikasi if [elemen itu sama dengan elemen sebelumnya] then [lewati saia] else [timpa data ganda dengan data yang berbeda] eif [laniutkan ke elemen berikutnya] ewhile eproc

Menghilangkan Duplikasi Untuk algoritma rinci perlu dua variabel, misal i dan j. Variabel i mencatat sampai dimana pembuangan duplikasi

Menghilangkan Duplikasi Variabel j mencatat elemen mana yang sedang diperiksa (duplikasi atau bukan) L 10 10 10 14 15 16 16 17 17 19 (a) j L 10 14 15 16 17 19 (b) i Suatu keadaan, saat proses pembuangan duplikasi didalam suatu larik

Menghilangkan Duplikasi Variabel j akan maju terus selama data yang ditemukan tetap sama, sementara i diam. Jika ada data yang berbeda, yaitu l[j] tidak sama dengan l[i] maka i ditambah satu Data yang baru ditemukan ditempatkan pada elemen ke-i.

Menghilangkan Duplikasi proc BuangDuplikasi (l, m, n) (Buang duplikasi dalam larik l yang elemennya sebanyak m. Banyaknya elemen setelah duplikasi dibuang adalah n) i := 1(duplikasi sudah dibuang sampai elemen ke-i) j := 2 (elemen ke-j sedang diperiksa) while j <= m do if l[j] = l[i] then j := j + 1 (lewati saia)

Menghilangkan Duplikasi else (timpa data ganda dengan data yg berbeda) i := i + 1 l[i] := l[j] j := j + 1 eif ewhile n := i eproc

Menghilangkan Duplikasi Perintah j := j + 1 didalam blok then dan blok else dapat disatukan dengan menuliskannya dibawah eif ,sehingga menjadi: proc BuangDuplikasi (l, m, n) (Buang duplikasi dalam larik l yang elemennya sebanyak m. Banyaknya elemen setelah duplikasi dibuang adalah n)

Menghilangkan Duplikasi (duplikasi sudah dibuang sampai elemen ke-i) j := 2 (elemen ke-j sedang diperiksa) while j <= m do if l[j] = l[i] then else

Menghilangkan Duplikasi (timpa data ganda dengan data yg berbeda) i := i + 1 l[i] := l[j] eif j := j + 1 ewhile n := i eproc

Menghilangkan Duplikasi Penulisan if – then – else – eif seperti ini tidak baik, sebaiknya ditulis menjadi:

Menghilangkan Duplikasi proc BuangDuplikasi (l, m, n) (Buang duplikasi dalam larik l yang elemennya sebanyak m. Banyaknya elemen setelah duplikasi dibuang adalah n) i := 1(duplikasi sudah dibuang sampai elemen ke-i) j := 2 (elemen ke-j sedang diperiksa)

Menghilangkan Duplikasi while j <= m do if l[j] < > l[i] then (timpa data ganda dengan data yg berbeda) i := i + 1 l[i] := l[j] eif j := j + 1 ewhile n := i eproc

Menghilangkan Duplikasi jika tidak ada duplikasi, algoritma tsb akan menimpa elemen ke-i dengan elemen ke-j (i = j) Seharusnya penimpaan dilakukan iika i tidak sama dengan j Pengubahan pada algoritma:

Menghilangkan Duplikasi proc BuangDuplikasi (l, m, n) (Buang duplikasi dalam larik l yang elemennya sebanyak m. Banyaknya elemen setelah duplikasi dibuang adalah n)

Menghilangkan Duplikasi i := 1(duplikasi sudah dibuang sampai elemen ke-i) j := 2 (elemen ke-j sedang diperiksa) while j <= m do if l[j] < > l[i] and (i + 1) < > j then (timpa data ganda dengan data yg berbeda) i := i + 1 l[i] := l[j] eif j := j + 1 ewhile n := i eproc

Menghilangkan Duplikasi Pemeriksaan i dan j tidak perlu dilakukan berkali-kali ((i+1) < > j). Tentukan duplikasi yang pertama kemudian penimpaan akan selalu dilakukan pada setiap data berikutnya. Pengubahan algoritmanya:

Menghilangkan Duplikasi proc BuangDuplikasi (l, m, n) (Buang duplikasi dalam larik l yang elemennya sebanyak m. Banyaknya elemen setelah duplikasi dibuang adalah n)

Menghilangkan Duplikasi (cari dupliksai pertma) i := 1(duplikasi sudah dibuang sampai elemen ke-i) j := 2 (elemen ke-j sedang diperiksa) while j <= m and l[j] < > l[i] do i := i +1 j := j + 1 ewhile (buang data dan cari duplikasi berikutnya) while j <= m do if l[j] < > l[i] then

Menghilangkan Duplikasi (timpa data ganda dengan data yg berbeda) i := i + 1 l[i] := l[j] eif j := j + 1 ewhile n := i eproc

Menghilangkan Duplikasi Penulisan while j <= m and l[j] < > l[i] do tidak boleh dituliskan terbalik. Menyebabkan pelaksanaan perbandingan untuk l[j] dimana l lebih besar dari m.

Larik Sebagai Variabel Majemuk Contoh kasus: Data kepegawaian yang dihimpun dalam berkas bernama pegawai yang cantumannya terdiri ruas: nip, nama, tgl. Lahir, dan lain-lain. Hitung jumlah pegawai untuk setiap umur berikut (tabel).Umur dihitung berdasarkan tgl lahir seperti yang tercantum dalam berkas pegawai dan tgl.pembuatan laporan yg dibaca dari papan kunci.

Larik Sebagai Variabel Majemuk Umur jumlah Pegawai 25 ……………….. 26 ………………. 27 …. 55 Selain itu

Larik Sebagai Variabel Majemuk Pengembangan Algoritma Diperlukan Variabel 32 buah untuk menyimpan banyaknya pegawai sesuai dengan umurnya

Larik Sebagai Variabel Majemuk Gunakan larik sebagai variabel majemuk. Struktur data: proses DistribusiUmur (pegawai, jumlah) Nolkan (jumlah, 32) {inisiasi larik jumlah dengan 0} Baca (tglProses) {baca tanggal pemrosesan} read (pegawai, nip, nama, tgl.lahir) while not eof (pegawai) do umur := Kurangkan (tglLahir, tglProses) if umur < 25 or umur > 55 then jumlah [32] := jumlah [32] +1

Larik Sebagai Variabel Majemuk else kelompok :=26 while umur <> kelompok do kelompok := kelompok + 1 ewhile i := kelompok – 25 jumlah [I] := jumlah [i] +1 eif read (pegawai, nip, nama, tglLahir) eproc

Larik Sebagai Variabel Majemuk proc TulisDaftar (jumlah) write (‘………………………………’) write (‘Umur jumlah pegawai’) for i := 1 to 31 do write (i + 25,’ ‘,jumlah [i]) efor write (‘selain itu ‘,jumlah [i]) write (‘……………………………….’) eproc

Struktur Data Program Ditribusi Umur Pegawai 1 jumlah pegawai yang berumur 25 2 jumlah pegawai yang berumur 26 3 ……… 4 32 jumlah pegawai yang berumur diluar itu

Larik Sebagai Tabel Referrensi Kegunaan dari larik yang penting : sebagai Tabel Referensi Perlu pengkodean dalam setiap pemasukan data. Contoh: Sebuah perusahaan mengkomputerisasi data kepegawaiannya. Semua data telah tersimpan dalam komputer. Buatlah algoritma untuk menghitung daftar gaji pegawai

Larik Sebagai Tabel Referrensi Masukan. Terdiri dari dua berkas : pegawai dan tabel Berkas pegawai terdiri dari: - nip, 7 digit - nama, 20 aksara - golongan, 1 digit, dari 1 sampai 9 - gaji pokok dalam rupiah, maksimal 999.999 - status kawin, 1 aksara, K = Kawin, B = Belum Kawin, J = janda, D = Duda - jumlah anak yang masih tanggungan, maksimal 3

Larik Sebagai Tabel Referrensi Berkas tabel terdiri dari: Golongan dari 1 – 9 tunjangan istri, dalam persen tunjangan anak, dalam persen pajak, dalam persen

Larik Sebagai Tabel Referrensi Keluaran Hasil gaji untuk setiap pegawai (gaji, tunjangan, dan pajak) informasi yang dimuat terdiri dari

Larik Sebagai Tabel Referrensi - nip - nama - golongan - gaji pokok - tunjangan istri (tdk sama untuk semua pegawai tapi tergantung golongan pegawai ybs) - tunjangan anak (-idem- dgn tunjangan istri) - pajak = persentasi pajak * gaji total - gaji bersih = gaji total - pajak

Larik Sebagai Tabel Referrensi Struktur Data Persentase tunjangan istri, tunjangan anak serta pajak berlainan pada setiap golongan dan tidak mempunyai keteraturan perbedaan, maka angka-angka persentase tsb disimpan dalam larik pti, pta dan pp yang elemennya sebanyak jumlah golongan.(seperti pada gambar)

Larik Sebagai Tabel Referrensi pti pta pp 1 1 1 2 2 2 3 3 3 9 9 9

Larik Sebagai Tabel Referensi Pengembangan Algoritma prog Hitunggaji ( ) {baca data dari berkas tabel dan simpan pada larik} for i := 1 to 9 do read (tabel, gol, pti[i], pta[i], pp[i]) efor {proses semua data pada berkas pegawai}

Larik Sebagai Tabel Referrensi read (pegawai, nip, nama , golongan, gajiPokok, statusKawin, jumlahAnak) while not eof (pegawai)do write (nip) write (nama) write (golongan) write (gajiPokok)

Larik Sebagai Tabel Referrensi if statusKawin = ‘K’ then tunjanganIstri = pti[golongan]/100*gajiPokok tunjanganAnak = pta[golongan]/100*gajiPokok else tunjanganistri := 0 tunjanganAnak := 0 eif

Larik Sebagai Tabel Referrensi gajiTotal := gajiPokok + tunjanganIstri + tunjanganAnak pajak := pp[golongan]*gajiTotal gajiBersih := gajiTotal – pajak write (tunjanganIstri) write (pajak)

Larik Sebagai Tabel Referrensi write(gajiBersih) read (pegawai, nip, nama, golongan, gajiPokok, statusKawin,jumlahAnak) ewhile eprog