Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Dasar Pemrograman ARRAY/LARIK 1. ARRAY (LARIK) 1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap.

Presentasi serupa


Presentasi berjudul: "Dasar Pemrograman ARRAY/LARIK 1. ARRAY (LARIK) 1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap."— Transcript presentasi:

1 Dasar Pemrograman ARRAY/LARIK 1

2 ARRAY (LARIK) 1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks tersebut haruslah tipe data yang mempunyai keterurutan, misalnya integer atau karakter. Nama lain array adalah larik, tabel, atau vektor. 2

3 2. Cara Pendefinisian Array Array adalah struktur data statik, artinya jumlah elemen larik harus sudah diketahui sebelum program dieksekusi. Mendefinisikan array pada bagian deklarasi adalah :  Mendefinisikan banyaknya elemen array  Mendefinisikan tipe elemen array Cara pendefinisian array pada bagian deklarasi Dapat dilakukan dengan cara sebagai berikut : 3

4 a. Sebagai Peubah (Variabel) Contoh : Misalkan L adalah nama peubah array yang mempunyai 100 elemen yang bertipe integer, maka dapat dituliskan : {Deklarasi}var L : array[1..100] of integer; 4

5 b. Sebagai Tipe Baru Misalkan LarikInt didefinisikan sebagai sebuah tipe baru untuk array yang bertipe integer. Banyak elemen array 100 buah elemen, maka dapat ditulis sebagai berikut : {Deklarasi}type LarikInt : array[1..100] of integer; var P : LarikInt; 5

6 c.Mendefinisikan Ukuran Maksimum Elemen Array Sebagai Sebuah Konstanta Misalkan LarikInt didefinisikan sebagai nama sebuah tipe baru untuk array yang bertipe integer. Banyak elemen maksimum 100 elemen. P adalah array bertipe integer {Deklarasi} const Nmaks = 100; type LarikInt : array[1..Nmaks] of integer; var P : LarikInt; P : LarikInt; 6

7 3. Cara Mengacu Elemen Array Elemen Array diacu melaui indeksnya. Nilai Indeks harus terdefinisi. Contoh cara mengacu elemen array : L[5] L[5] P[k], asalkan k telah terdefinisi Contoh menggunakan elemen array : L[4] :=10; read(P[k]); if HargaBarang[t]<1000 then writeln(‘Harga Murah’) else writeln(‘Harga Mahal’); 7

8 4. Pemrosesan Array Pemrosesan beruntun pada array adalah pemrosesan mulai dari elemen pertama array (yaitu elemen indeks terkecil, berturut-turut elemen berikutnya, sampai elemen terakhir dicapai, yaitu elemen dengan indeks terbesar) Skema umum algoritma memproses array (disebut juga skema mengunjungi/traversal array) adalah : 8

9 Algoritma_skema_umum_pemrosesan_array { Memproses setiap elemen array secara beruntun, mulai dari indeks terkecil sampai indeks terbesar} Deklarasi const Nmaks = 100 {banyaknya elemen array} type LarikInt : array[1..Nmaks] of integer var A : LarikInt k : integer {indeks array} 9

10 Deskripsi Inisialisasi{Pemberian nilai awal} k ← 1 {mulai dari elemen pertama} while k ≤ Nmaks do Pemrosesan terhadap A[k] k ← k + 1{tinjau elemen berikutnya} endwhile {akhir pengulangan k > Nmaks} Terminasi{Penulisan hasil} 10

11 Atau dapat juga menggunakan struktur for..do : Deskripsi Inisialisasi{Pemberian nilai awal} for k ←1 to Nmaks do Pemrosesan terhadap A[k] endfor Terminasi{Penulisan hasil} 11

12 4.1. Jumlah Elemen Efektif Array Bila sebuah array A didefinisikan 100 elemen, mungkin tidak seluruh seratus elemen yang dipakai. Banyaknya elemen array yang dipakai disebut jumlah elemen efektif Jumlah elemen efektif disimpan dalam nama peubah tertentu misalnya N 12

13 4.2. Array Bertipe Terstruktur Elemen array dapat juga bertipe terstruktur. Misalkan TabMhs adalah sebuah array yang elemennya menyatakan nilai ujian seorang mahasiswa untuk suatu mata kuliah (MK) yang ia ambil. Data setiap mahasiswa adalah NIM (Nomor Induk Mahasiswa), Nama Mahasiswa, Mata Kuliah yang diambil dan Nilai Mata Kuliah Tersebut. 13

14 Maka Pendefinisiannya adalah sbb : Deklarasi const Nmaks = 100 type Mahasiswa = record TabMhs : array[1..Nmaks] of Mahasiswa 14

15 Cara Mengacu Elemen TabMhs Contoh cara mengacu elemen : 1. Elemen Kedua dari TabMhs TabMhs[2] 2. Mengacu field NIM dari elemen kedua Array TabMhs[2].NIM 3.Mengacu field KodeMK dari elemen kedua array TabMhs[2].KodeMK Karena record merupakan tipe terstruktur, pencetakan elemen tidak dapat dilakukan dengan bentuk sebagai berikut : write(TabMhs[k]) 15

16 Tapi harus dengan cara sebagai berikut : write(TabMhs[k].NIM, TabMhs[k].NamaMhs, TabMhs[k].KodeMK, TabMhs[k].Nilai) Namun pengisian nilai elemen ke elemen berikutnya Dengan penulisan berikut adalah benar : TabMhs[k] ←TabMhs[k+1] Bentuk tersebut sama dengan pengisian perfield Sbb : TabMhs[k].NIM ← TabMhs[k+1].NIM TabMhs[k].NIM ← TabMhs[k+1].NIM TabMhs[k].NamaMhs ← TabMhs[k+1].NamaMhs TabMhs[k].NamaMhs ← TabMhs[k+1].NamaMhs TabMhs[k].KodeMK ← TabMhs[k+1].KodeMK TabMhs[k].KodeMK ← TabMhs[k+1].KodeMK TabMhs[k].Nilai ← TabMhs[k+1].Nilai TabMhs[k].Nilai ← TabMhs[k+1].Nilai 16

17 4.3. Menginisialisasi Array Menginisialisasi array adalah memberikan harga awal untuk seluruh elemen array. Inisialisasi elemen array misalnya mengosongkan elemen array sebelum dipakai untuk proses tertentu. Menginisialisasi array bertipe numerik dapat berupa pengisian elemen array dengan nol sedangkan pada array karakter berarti mengisi elemen array dengan spasi atau karakter kosong 17

18 a. Menginisialisasi Elemen Array dengan 0 (nol) Procedure Inisialisasi(output A : LarikInt, input N : integer) {K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi K. Akhir : Seluruh elemen array A bernilai 0 K. Akhir : Seluruh elemen array A bernilai 0 Proses : Menginisialisasi setiap elemen array A[1..N] dengan 0 } Proses : Menginisialisasi setiap elemen array A[1..N] dengan 0 }Deklarasi k : integer {pencatat indeks array} Deskripsi for k ←1 to N do A[k] ← 0 A[k] ← 0endfor 18

19 b.Menginisialisasi Elemen Array masing-masing dengan 1,2,3,…N Procedure Inisialisasi(output A : LarikInt, input N : integer) {K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi K. Akhir : Seluruh elemen array A bernilai k K. Akhir : Seluruh elemen array A bernilai k Proses : Menginisialisasi setiap elemen array A[1..N] dengan 1,2,3…N } Proses : Menginisialisasi setiap elemen array A[1..N] dengan 1,2,3…N }Deklarasi k : integer {pencatat indeks array} Deskripsi for k ←1 to N do A[k] ← k A[k] ← kendfor 19

20 4.4. Mengisi Elemen Array dari Piranti Masukan Procedure Baca(Input A : LarikInt, input N : integer) {K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi K. Akhir : Seluruh elemen array A berisi nilai yang dibaca. K. Akhir : Seluruh elemen array A berisi nilai yang dibaca. Proses : Mengisi setiap elemen array A[1..N] dengan nilai yang dibaca dari piranti masukan } Proses : Mengisi setiap elemen array A[1..N] dengan nilai yang dibaca dari piranti masukan }Deklarasi k : integer {pencatat indeks array} Deskripsi for k ←1 to N do read(A[k]) read(A[k])endfor 20

21 4.5. Menulis Elemen Array Ke Piranti Keluaran Procedure Tulis(input A : LarikInt, input N : integer) {K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi K. Akhir : Seluruh elemen array A telah tercetak. K. Akhir : Seluruh elemen array A telah tercetak. Proses : Mencetak setiap elemen array A[1..N] ke piranti keluaran } Proses : Mencetak setiap elemen array A[1..N] ke piranti keluaran }Deklarasi k : integer {pencatat indeks array} Deskripsi for k ←1 to N do write(A[k]) write(A[k])endfor 21

22 Menghitung Nilai Rata-rata Procedure HitungRata(input A : LarikInt, input N : integer, output u : real) {K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi K. Akhir : U berisi rata-rata elemen array K. Akhir : U berisi rata-rata elemen array Proses : Menghitung rata-rata elemen array A[1..N] } Proses : Menghitung rata-rata elemen array A[1..N] } 22

23 Mencari Nilai Maksimum Array Procedure CariMaks(input A : LarikInt, input N : integer, output Maks : integer) {K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi K. Akhir : Maks berisi elemen array yang maksimum K. Akhir : Maks berisi elemen array yang maksimum Proses : Mencari elemen array A[1..N] yang maksimum } Proses : Mencari elemen array A[1..N] yang maksimum } 23

24 Mencari Nilai Minimum Array Procedure CariMin(input A : LarikInt, input N : integer, output Min : integer) {K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi K. Akhir : Min berisi elemen array yang minimum K. Akhir : Min berisi elemen array yang minimum Proses : Mencari elemen array A[1..N] yang minimum } Proses : Mencari elemen array A[1..N] yang minimum } 24

25 Contoh-contoh yg lebih kompleks Misalkan akan disimpan data nilai-nilai mata kuliah mahasiswa pada sebuah array bernama TabMhs dengan field mahasiswa terdiri dari NIM, NamaMHs, dan MataKuliah. Mata kuliah yang diambil mempunyai field KodeMk, NamaMK, dan Nilai. Maka Algoritmanya adalah sebagai berikut : 25

26 Algoritma Baca_Array_Mahasiswa { Mengisi elemen array mahasiswa dengan data yang dibaca ari piranti masukan } Deklarasi const Nmaks = 100 type MataKuliah = record Nilai : Char > 26

27 type Mahasiswa = record MK : array[1..4] of MataKuliah > TabMhs : array[1..Nmaks] of Mahasiswa i, j : integer N : integer Deskripsi Deskripsi 27

28 read(N) for i ← 1 to N do read(TabMhs[i].NIM) read(TabMhs[i].NamaMhs) for j ← 1 to 4 do read(TabMhs[i].MK[j].KodeMK) read(TabMhs[i].MK[j].NamaMK) read(TabMhs[i].MK[j].Nilai) endforendfor 28

29 Soal-soal 1. Dalam rangka ulang tahun sebuah toserba memberikan diskon sebesar 15% untuk seluruh barang. Misalkan data Kode Barang dan Harga Jual Barang tersebut telah diisikan ke dalam array HargaJual. HargaJual bertipe LarikBarang. Buatlah pendefinisian permasalahan tersebut pada bagian deklarasi dan buatlah prosedur untuk menurunkan harga barang tersebut. 29

30 2. Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen- elemennya. Buatlah prosedur untuk mencari elemen X dalam array yang keluarannya adalah indeks dari tempat elemen X ditemukan 3.Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen- elemennya. Buatlah prosedur untuk menghitung banyaknya elemen ganjil dalam array yang keluarannya adalah banyaknya elemen ganjil yang ditemukan. 30

31 4. Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen-elemennya. Buatlah fungsi untuk mengirimkan banyaknya elemen array. 5. Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen-elemennya. Buatlah fungsi untuk menghitung jumlah elemen array. 31

32 6. Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen-elemennya. Elemen array tersebut tersusun terurut membesar. Buatlah fungsi untuk mengirimkan elemen array yang paling maksimum dan sebuah fungsi untuk mengirimkan elemen array yang paling minimum. 7. Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen-elemennya. Buatlah Prosedur untuk menghitung jumlah elemen array yang negatif. 32

33 8. Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen-elemennya. Buatlah prosedur untuk menghitung rata-rata elemen array yang genap. 9. Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen-elemennya. Buatlah fungsi untuk menghitung banyaknya elemen yang kelipatan 5 dan jumlah elemen array yang kelipatan 5. 33


Download ppt "Dasar Pemrograman ARRAY/LARIK 1. ARRAY (LARIK) 1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap."

Presentasi serupa


Iklan oleh Google