pertemuan 8 (array)

Post on 28-Jan-2016

45 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

L/O/G/O

Algoritma Pemrograman 2

ArrayRahmad Dedi Gunawan, S.Kom

• 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

• 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

• 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

Pendahuluan

• Ilustrasi Array (Larik)

Ada 2 Jenis Array :

1. Array 1 Dimensi

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

Jenis-jenis 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;

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

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

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

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

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

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

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.

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

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.

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

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.

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 :

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…

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.

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

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

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.

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)

top related