pertemuan 8 (array)
DESCRIPTION
pertemuan ke 8 membahas tentang array pada bahasa pemrograman pascal dengan menggunakan delphi 7TRANSCRIPT
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)