pertemuan 8 (array)

25
L/O/G/O Algoritma Pemrograman 2 Array Rahmad Dedi Gunawan, S.Kom

Upload: imand-ariand-luphmii-ahmad

Post on 28-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

pertemuan ke 8 membahas tentang array pada bahasa pemrograman pascal dengan menggunakan delphi 7

TRANSCRIPT

Page 1: Pertemuan 8 (Array)

L/O/G/O

Algoritma Pemrograman 2

ArrayRahmad Dedi Gunawan, S.Kom

Page 2: Pertemuan 8 (Array)

• Variabel-variabel yang kita gunakan selama ini adalah variable biasa yang memiliki sifat bahwa sebuah nama variable hanya dapat menangani sebuah nilai berupa numeric atau string.

Pendahuluan

Page 3: Pertemuan 8 (Array)

• Array adalah struktur data statik yang menyimpan sekumpulan elemen (lebih dari 1 nilai) yang bertipe sama.

• Setiap elemen diakses langsung melalui indeksnya.

• Indeks Array harus tipe data yang menyatakan keterurutan misalnya integer atau karakter.

Pendahuluan

Page 4: Pertemuan 8 (Array)

• Banyaknya elemen Array harus sudah diketahui sebelum program dieksekusi.

• Tipe elemen Array dapat berupa tipe sederhana, tipe terstruktur atau tipe Array lain.

• Nama lain array adalah Larik, tabel atau vektor

Pendahuluan

Page 5: Pertemuan 8 (Array)

Pendahuluan

• Ilustrasi Array (Larik)

Page 6: Pertemuan 8 (Array)

Ada 2 Jenis Array :

1. Array 1 Dimensi

2. Array Multi Dimensi– Array 2 Dimensi– Array 3 Dimensi

Jenis-jenis Array

Page 7: Pertemuan 8 (Array)

Deklarasi Array

• Format :Nama_Array : array[UKURAN] of Tipe Data:

• Contoh :– A : array[1..5] of integer ;– Nama_Siswa : array[1..10] of String;– Nilai_UAS : array[1..40] of integer;

Page 8: Pertemuan 8 (Array)

Cara Pendefinisian Arraydalam Delphi

Dapat disebut juga dengan istilah vektor yang menggambarkan data dalam suatu urutan

Misalnya : array[1..5] of integer ;; Penggambaran secara Logika :

A[0] A[1] A[2] A[3] A[4]

1 2 3 4 5

index

Page 9: Pertemuan 8 (Array)

Elemen larik diacu melalui indeksnya. Nilai indek harus terdefinisi.

Contoh cara mengacu elemen larik adalah :

L[4] {mengacu elemen kelima dari larik L } NamaMhs[‘b’] {mengacu elemen kedua dari

larik NamaMhs} P[k] {mengacu elemen ke-k dari larik P, asalkan

nilai k sudah terdefinisi }

Cara Mengacu Elemen Larik

Page 10: Pertemuan 8 (Array)

Menginisialisasi elemen larik adalah memberikan harga awal untuk seluruh elemen larik, misalnya menginisialisasi dengan nilai 0 seperti di bawah ini :Algoritma Isi Array

{menginisialisasi setiap elemen array Nilai[1..3] dengan nol} {K. Awal : banyak elemen efektif larik, nilainya terdefinisi}{K. Akhir : seluruh elemen larik Nilai bernilai nol}Deklarasi :

Nilai : array[1..10] of Integer; Deskripsi :

BeginNilai[0] 0 ;Nilai[1] 0 ;Nilai[2] 0 ;

End.

Menginisialisasi Array 1

Page 11: Pertemuan 8 (Array)

Menginisialisasi elemen larik adalah memberikan harga awal untuk seluruh elemen larik, misalnya menginisialisasi dengan nilai 0 seperti di bawah ini :Algoritma Isi Array dengan nilai 0

{menginisialisasi setiap elemen array Nilai[1..N] dengan nol} {K. Awal : N adalah banyak elemen efektif larik,

nilainya terdefinisi}{K. Akhir : seluruh elemen larik Nilai bernilai nol}Deklarasi :

N,Xloop : integer ;Nilai : array[1..10] of Integer;

Deskripsi : Begin

read(N)For Xloop 1 to N Do

Nilai[Xloop ] 0 ;Endfor

End.

Menginisialisasi Array 2

Page 12: Pertemuan 8 (Array)

Elemen larik dapat diisi dengan nilai yang dibaca dari piranti masukan seperti contoh di bawah ini :

{mengisi elemen larik A[1..N] dengan nilai yang dibaca dari piranti masukan}

{K. Awal : N adalah jumlah elemen efektif larik, nilainya terdefinisi}

{K. Akhir : seluruh elemen larik Nilai berisi nilai-nilai yang dibaca dari piranti masukan}

Deklarasi : N,Xloop : integer ;Nilai : array[1..10] of Integer;

Deskripsi :Begin

read(N)For Xloop 1 to N Do

read(Nilai[Xloop ] );Endfor

End.

Menginisialisasi Larik 3

Page 13: Pertemuan 8 (Array)

Contoh PenggunaanDaftar Menu

Jenis Menu 1 2 3 4

Nama Menu Bakso Mie Ayam Siomay Soto Ayam

Harga Menu Rp. 9.000 Rp.10.000 Rp. 6.000 Rp. 8.000

Nama : Array Menu | Tipe : String | Kapasitas : 4

Index[0] Index[1] Index[2] Index[3]

Bakso Mie Ayam Siomay Soto Ayam

Nama : Array Harga| Tipe : Integer| Kapasitas : 4

Index[0] Index[1] Index[2] Index[3]

9000 10000 6000 8000

Page 14: Pertemuan 8 (Array)

Algoritma Isi Menu{menginisialisasi setiap elemen array Nilai[1..4] dengan Nama menu dan harga yang sudah ditetapkan} {K. Awal : N adalah banyak elemen efektif larik,

nilainya terdefinisi}{K. Akhir : seluruh elemen larik NamaM berisi nama Menu dan HargaM berisi harga menu}Deklarasi :

NamaM: array[1..4] of String;HargaM: array[1..4] of Integer;

Penggunaan Array 1D

Deskripsi : BeginNamaM[0] ”Bakso” ;NamaM[1] ”Mie Ayam” ;NamaM[2] ”Siomay” ;NamaM[3] ”Soto Ayam” ;HargaM[0] 9000” ;

HargaM[1] 10000;HargaM[2] 6000;HargaM[3] 8000;

End.

Page 15: Pertemuan 8 (Array)

Latihan Array 1 Dimensi

• Buatlah Array 1 Dimensi untuk menangani data Berikut :

Daftar Nilai

No. Nama Mahasiswa Total Nilai

1 Nikita 85

2 Jason 87

3 Daniel 80

4 Vines 90

Page 16: Pertemuan 8 (Array)

Latihan Array 1

Algoritma pengisian Array

Buatlah algoritma untuk mengisi Array Nilai Tugas dimana jumlah elemen efektifnya di tentukan dari inputan keyboard dan untuk pengisian nilai setiap elemen di ambil dari inputan keyboard.

Page 17: Pertemuan 8 (Array)

Elemen larik dapat diisi dengan nilai yang dibaca dari piranti masukan dan ditampilkan pada piranti keluaran seperti di bawah ini :

Algoritma Isi dan Cetak ArrayDeklarasi :

A : Array[1..5] of IntegerN,k : integer

Deskripsi : Begin

Read(N) ;For k 0 to (N-1) do

Read (A[k]) ;Endfor

For k 0 to (N-1) do Write(A[k]) ;

EndforEnd.

Menginisialisasi Larik 4

Page 18: Pertemuan 8 (Array)

Array 2 Dimensi

Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi.

Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama.

Page 19: Pertemuan 8 (Array)

Array 2 Dimensi

0 1 2 3

0 0,0 0,1 0,2 0,3

1 1,0 1,1 1,2 1,3

2 2,0 2,1 2,2 2,3

3 3,0 3,1 3,2 3,3

4 4,0 4,1 4,2 4,3

5 5,0 5,1 5,2 5,3

ArrayNilai :

Page 20: Pertemuan 8 (Array)

Array 2 DimensiBaris Kolom

Nilai [ 0, 0 ]

Nilai [ 0, 1 ]

Nilai [ 0, 2 ]

Nilai [ 0, 3 ]

Nilai [ 1, 0 ]

Nilai [ 1, 1 ]

Nilai [ 1, 2 ]

Nilai [ 1, 3 ]

Nilai [ 2, 0 ]

Nilai [ 2, 1 ]

Nilai [ 2, 2 ]

Nilai [ 2, 3 ]

Dst…

Berisi Nilai

Nilai [ 80 ]

Nilai [ 75 ]

Nilai [ 85 ]

Nilai [ 90 ]

Nilai [ 85 ]

Nilai [ 85 ]

Nilai [ 90 ]

Nilai [ 90 ]

Nilai [ 75 ]

Nilai [ 80 ]

Nilai [ 80 ]

Nilai [ 85 ]

Dst…

Page 21: Pertemuan 8 (Array)

Array 2 Dimensi Contoh Algoritma 1

Deklarasi : A : Array[1..10] [1..5]of Integer ;N,M,k,b : integer ;

Deskripsi : Begin

Read(N,M)for b 0 to (N-1) do

for k 0 to (M-1) do Read (A[b] [k]) ;

endforendfor

for b 0 to (N-1) do for k 0 to (M-1) do

Write (A[b] [k]) endfor

endfor End.

Page 22: Pertemuan 8 (Array)

Contoh PenggunaanDaftar FlasDisk

No. 1 2 3 4

Jenis Fd 4 Gb 8 Gb 4 Gb 8 Gb

Merk Fd Thosiba Thosiba Sandisk Kingstone

Harga Fd Rp. 65.000 Rp.80.000 Rp. 60.000 Rp. 75.000

Persediaan 35 50 45 40

Nama : Array Fd1| Tipe : String | Kapasitas : 2 X 4

Index IndexKolom[0] IndexKolom [1] IndexKolom [2] IndexKolom [3]

IndexBaris[0] 4 Gb 8 Gb 4 Gb 8 Gb

IndexBaris [1] Thosiba Thosiba Sandisk Kingstone

Nama : Array Fd2| Tipe : Integer| Kapasitas :2 x 4

Index IndexKolom[0] IndexKolom [1] IndexKolom [2] IndexKolom [3]

IndexBaris[0] 65000 80000 60000 75000

IndexBaris [1] 35 50 45 40

Page 23: Pertemuan 8 (Array)

Latihan Array 2 Dimensi

• Buatlah Array Multi Dimensi untuk menangani data Berikut :

Daftar Nilai

No. Nama Mahasiswa Nilai Tugas Nilai Quis Nilai UTS Nilai UAS

1 Nikita 85 80 90 85

2 Jason 87 90 85 90

3 Daniel 80 80 85 85

4 Vines 90 85 90 90

Page 24: Pertemuan 8 (Array)

Array 1 Dimensi dan 2 Dimensi LatihanDeklarasi :

Nama : Array[1..10] of String ;Nilai : Array[1..10] [1..4]of Integer ;N,k,b : integer ;

Deskripsi : Begin

Read(N)for b 0 to (N-1) do

Read (Nama[b]) ;for k 0 to (4-1) do

Read (Nilai[b] [k]) ;endfor

endfor

for b 0 to (N-1) do Write(Nama[b]) ;for k 0 to (4-1) do

Write (Nilai[b] [k]) ;endfor

endfor End.

Page 25: Pertemuan 8 (Array)

Thank You!

Keep Smile (^_^)

Rahmad Dedi Gunawan , S.Kom

KATA BIJAK HARI INI“Apa perbedaan antara hambatan dan kesempatan ??

Perbedaanya terletak pada sikap kita dalam memandangnya.

Selalu ada kesulitan dalam setiap kesempatan,

dan selalu ada kesempatan dalam setiap kesulitan.”

(J. Sidlow Baxter)