Prodi S1-Sistem Komputer, F Teknik Elektro

Slides:



Advertisements
Presentasi serupa
STRUKTUR DATA.
Advertisements

Algoritma dan Struktur Data
PENGURUTAN (SORTING).
Larik/Array Algoritma dan Pemrograman Muhamad Akbar.
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
Pemrogramman Terstruktur
PENCARIAN (SEARCHING)
ARRAY Suatu array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen ini disebut dengan.
Dasar Pemrograman ARRAY/LARIK.
Notasi Algoritma.
ARRAY 1 DIMENSI.
Pertemuan 9 Larik (Array) - 1.
Algoritma dan Pemrograman
Array dan String Array dan String.
ARRAY Suatu array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen ini disebut dengan.
Array dan String.
- PERTEMUAN 9 - LARIK/ARRAY SATU DIMENSI (1D)
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
Pemrogramman Terstruktur
CS1023 Pemrograman Komputer Lecture 20 Array / Tabel [2]
Prodi S1-Sistem Komputer, F Teknik Elektro
DIKTAT struktur data Oleh: Tim Struktur Data IF
KUG1A3 Algoritma& Pemrograman
Prodi S1-Sistem Komputer, F Teknik Elektro
Prodi S1-Sistem Komputer, F Teknik Elektro
Notasi Algoritma & Tipe Data
KUG1A3 Algoritma& Pemrograman
KUG1C3 Dasar Pemrograman
KUG1A3 Algoritma& Pemrograman
KUG1A3 Algoritma& Pemrograman
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
KUG1A3 Algoritma& Pemrograman
Dasar Algoritma dan Pemrograman
Prodi S1-Sistem Komputer, F Teknik Elektro
ALGORITMA PEMROGRAMAN 2A
Pencarian pada Array Tim PHKI Modul Dasar Pemrograman
KUG1C3 Dasar Algoritma & Pemrograman
KUG1A3 Algoritma& Pemrograman
Dasar algoritma dan pemrograman
Struktur data Oleh: Tim Struktur Data IF ARRAY STATIS.
Pengenalan C++ Oleh : Dewi Sartika.
ALGORITMA DAN PEMROGAMAN
GABUNGAN ( LOOP, STRUKTUR KOMPOSISI)
Pemrograman Terstruktur
Struktur Data Tipe data & Struktur Data
Deklarasi Array X : array [ 1.. N ] of Type
Algoritma & Pemrograman 1
TEL 2103 Dasar Komputer & Pemograman Larik (Array)
Array Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer
Pengurutan pada Array Tim PHKI Modul Dasar Pemrograman
Array 1.
Algoritma dan Pemrograman (Pertemuan 03)
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
Array/Larik.
Algoritma dan Pemrograman RECORD (REKAMAN)
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
Algoritma dan Pemrograman ARRAY (LARIK)
Teknik Informatika Politeknik Negeri Batam
Larik.
ARRAY.
Array dan Matriks.
Algoritma & Pemrograman 1
Algoritma dan Pemrograman (Pertemuan 04)
DIKTAT struktur data Oleh: Tim Struktur Data IF
Pencarian (searching)
DIKTAT struktur data Oleh: Tim Struktur Data IF
KUG1E3/ Pemrograman Terstruktur 1
Matakuliah : Algoritma & Struktur Data Versi Materi Larik
ARRAY.
Transcript presentasi:

Prodi S1-Sistem Komputer, F Teknik Elektro KUG1A3 Algoritma & Pemrograman Burhanuddin D Prodi S1-Sistem Komputer, F Teknik Elektro Universitas Telkom Array Bagian 1 ( Konsep Array )

Topik Bahasan Definisi Array/ Tabel / Larik / Vektor Deklarasi & Inisialisasi Array Pengaksesan & Pengisian Array Penelusuran Array Mencari Nilai Ekstrim

Variabel Array Variabel yang terdiri dari sekumpulan elemen Masing-masing elemen memiliki index Index akan membedakan masing-masing elemen Elemen array dapat diakses langsung jika indeks terdefinisi Nama array merupakan nama kumpulan elemen tersebut

[ ] X 1 X 1 Variabel Array –lanj. Sekelompok variabel X Dalam Pascal : X1, X2, X3, X4, X5 . . . . Dalam Pascal : [ ] X 1 X 1 Nama Index Index Nama

Variabel Array – lanj. Jumlah elemen didaftarkan saat deklarasi array Tipe dari sekumpulan informasi tersebut harus sama, dan ada keterurutan index  X1, X2, X3, X4, X5, semua integer  array [1..5] of integer

Lagu Variabel Array Segrup variabel yang bertipe sama Dengan nama sama hanya beda indeksnya Apa namanya : array namanya Nilai indeksnya tentukan variabelnya Variabel indeks tak penting artinya Yang ’kan menentukan hanya nilai indeksnya Indeks K dan I bernilai sama Maka keduanya menunjuk array yang sama

Indeks pada Array Digunakan untuk membedakan elemen Harus memiliki keterurutan Paling sering digunakan : integer suksesor adalah plus satu, predesesor adalah minus satu Bisa juga : tipe enumerasi keterurutan indeks ditentukan sesuai dengan urutan enumerasi.

X1  X2 X1  X10 Index –lanj. X1, X2, X3, X4, X5 . . . . Variabel dengan nama sama, tapi index berbeda merupakan dua objek yang berbeda !

Xi , Xk , XL Index –lanj. Index boleh berupa sebuah variabel Variabel index harus bertipe enumerasi ( umumnya integer, boleh juga karakter ) Variabel index harus diketahui nilainya ! ( Tidak boleh kurang dari nol )

Xi = X10 Xk=X10 XL = X2 Xi Xk Xi XL =  Xi , Xk , XL Index –lanj. Jika diketahui : i = 10, k=10, L=2 Xi = X10 Xk=X10 XL = X2 Xi Xk Xi XL = 

Xi-1 = X9 Xk+1 = X11 XL+k = X12 Index –lanj. Index boleh ekspresi numerik. Jika diketahui : i = 10, k=10, L=2 Xi-1 = X9 Xk+1 = X11 XL+k = X12

Xi+1 = 17 XL-2 = 10 Nilai variabel Array Jika index diketahui, elemen array bisa dioperasikan seperti variabel biasa Jika diketahui : i = 1, k=2, L=3, dan X1=10,X2=17, X3=25 Xi+1 = 17 XL-2 = 10

Nilai variabel Array – lanj. Operasi elemen variabel array seperti operasi variabel biasa input(X1, X2 ) X3  X1 +X2 output( X3) Jika input 3 dan 5, X1=3, X2 =5 X3 =3+5=8 Output ( X3=8)

Contoh (1) Sekumpulan mahasiswa yang terdiri dari lima orang. Masing-masing bernama : Siti, Ali, Minah, Budi dan Bambang. Untuk kelompok tersebut, dibuat sekumpulan variabel yang berisi nama-nama mahasiswa. Tiap mahasiswa dapat dipanggil dengan menyebut Mahasiswa ke-1, Mahasiswa ke-2, Mahasiswa ke-3 dan seterusnya.

Contoh (1) – lanj. Kumpulan tersebut dapat dideklarasikan sebagai berikut : Nama kelompok variabel : Mahasiswa Tipe kelompok : string ( karena untuk menyimpan nama → string ) Index : 1 sampai 5 Cara menulis pada KAMUS Mahasiswa : array [1..5] of string

Contoh (2) Sejumlah keranjang dibuat sebagai tempat meletakkan buah durian. Tiap keranjang akan berisi buah durian. Ada 10 keranjang, sehingga tiap keranjang diberi angka 1-10. Nama kelompok variabel : Keranjang Tipe kelompok : integer Index : 1 sampai 10 Keranjang : array [1..10] of integer

Contoh (3) Sebuah tabel yang berisi data koordinat titik-titik pada peta. Tipa koordinat terdiri dari absis dan ordinat. Disediakan 100 buah koordinat. KAMUS type Point : <x:integer, y:integer > type Indeks : integer [1..100] TitikSurvey : array [Indeks] of Point

Contoh (4) Array dengan jumlah elemen 10 yang berisi angka : 5,3,2,4,9,8,10,3,6,15. Indeks dari 0 sampai 9. 1 2 3 4 5 6 7 8 9 5 3 2 4 9 8 10 6 16

Domain Array Domain : Domain array sesuai dengan pendefinisian indeks Domain isi array sesuai dengan tipe array Contoh : Keranjang : array [1..10] of integer; Domain array : 1 sampai 10  Index hanya dari 1 sampai 10, tidak ada index 0 atau 11. Domain isi array : harus integer

Nilai Array Nilai untuk seluruh array tidak terdefinisi Nilai hanya terdefinisi jika indeks dari array terdefinisi Contoh : Jika I=10, maka Keranjang[I] = Keranjang[10] Mahasiswa[I-5]=Mahasiswa[5]

Pengaksesan Array Array biasanya diakses dalam bentuk pengulangan Pengaksesan elemen array dilakukan dengan menggunakan index Contoh: i traversal [1..5] input(Xi) Membaca Xi sebanyak 5 kali Membaca X1, X2, X3, X4, dan X5

Pengaksesan Array – lanj. Misal : i traversal [5..8] Xi  i * 10 I traversal [4..1] Xi  Xi*2 i Xi 5 50 X5 6 60 X6 7 70 X7 8 80 X8 i Xi 4 X8=80 X4 3 X6=60 X3 2 X4=80 X2 1 X2=80 X1

Contoh Kasus-1 : Nama Hari Program akan menuliskan nama hari yang sesuai dengan input. Input adalah sebuah bilangan integer, antara 1 sampai 7, dan mengeluarkan elemen array dengan index yang sesuai. Array berisi ’Senin’ ..’Minggu’. Contoh : Input : 6, Output 'Sabtu‘ Input : 1, Output ‘Senin'

Contoh Kasus-1 : Nama Hari-lanj. Program TabelHari; Kamus I : integer; Hari : array[1..7] of string Algoritma Hari1  ‘Senin’; Hari2  ‘Selasa’ Hari3  ‘Rabu’; Hari4  ‘Kamis’ Hari5  ‘Jumat’; Hari6  ‘Sabtu’ Hari7  ‘Minggu’ input(i) output(‘Nama hari adalah :’, Harii)

Pencarian Nilai Ekstrim Mencari nilai maksimum/minimum dari array Contoh dalam kehidupan sehari-hari : mencari juara kelas, mencari data percobaan yang merupakan harga ekstrim, dll.

Persoalan Diketahui sebuah array TabInt yang memiliki N elemen dengan tipe integer dan telah diisi. Tuliskanlah sebuah prosedur NilaiMax, yang menghasilkan harga maksimum dari TabInt. Contoh N = 7, TabInt berisi : { 1,-3,5,8,-12,90,3} Output : Maximum adalah 90 N = 6, TabInt berisi : {-11,3,45,8,3,45} Output : Maksimum adalah 45

Solusi 1 Misal : Diketahui nilai elemen TabInt selalu lebih besar dari nilai tertentu, contoh -9999 Cara mencari nilai maksimum : Nilai -9999 diinisialisasikan ke variabel Max Bandingkan nilai elemen TabInt dengan Max Jika lebih besar dari Max, maka nilai Max diisi dengan nilai elemen tersebut Ulangi agar semua elemen array TabInt sudah dibandingkan dengan Max

Procedure NilaiMax1 ( Input N : integer, Output Max : integer ) { Mencari nilai maksimum dari suatu array, yang sudah diisi. Array di program utama } Kamus i : integer Algoritma Max  -9999 i traversal [1..N] if TabInti > Max then Max  TabInti Ouput(Max) { optional}

Catatan Solusi I Algortima HANYA berlaku jika nilai minimal dari elemen array diketahui Tidak berlaku secara umum Menggunakan suatu nilai yang berada di luar domain nilai array Dapat diperbaiki dengan tidak menggunakan nilai di luar domain nilai array

Solusi 2 Diketahui bahwa jika hanya terdapat 1 nilai elemen saja, maka nilai maksimum pasti berada pada nilai elemen tersebut. Elemen pertama dijadikan nilai Max pertama kali Cara mencari nilai maksimum : Nilai elemen pertama diisikan ke variabel Max Bandingkan nilai elemen TabInt dengan Max Jika lebih besar dari Max, maka nilai Max diisi dengan nilai elemen tersebut Ulangi agar semua elemen array TabInt sudah dibandingkan dengan Max

Procedure NilaiMax2 ( Input N : integer, Output Max : integer ) { Mencari nilai maksimum dari suatu array, yang sudah diisi. Array di program utama } Kamus i : integer Algoritma Max  TabInt1 i traversal [2..N] if TabInti > Max then Max  TabInti Output(Max) { optional}

Algoritma Solusi2 Elemen pertama tabel diproses secara khusus, bukan di dalam pengulangan Nilai elemen pertama menjadi nilai Max yang pertama Menghasilkan nilai maksimum, namun tidak diketahui posisi (indeks) di mana nilai maksimum tersebut berada. Bagaimana untuk mencari posisi / indeksnya ? Dg indeks, nilai maksimum dapat diketahui

Solusi 3 Cara mencari nilai maksimum : Pembandingan menekankan pada indeks, bukan nilai elemennya Indeks elemen pertama dijadikan nilai indeks Max pertama kali Cara mencari nilai maksimum : Indeks elemen pertama dimasukkan ke IMax Bandingkan nilai TabInti dengan TabIntIMax Jika lebih besar dari TabIntIMax, maka nilai IMax diisi dengan i. Ulangi untuk semua elemen array TabInt

Procedure NilaiMax3 ( Input N : integer, Output IMax : integer ) { Mencari nilai maksimum dari suatu array, yang sudah diisi. Array di program utama } Kamus i : integer Algoritma IMax  1 { Index TabInt dr 1 } i traversal [2..N] if TabInti > TabIntIMax then IMax  i Ouput(IMax) { optional}

Algoritma Solusi3 Indeks dari elemen pertama array dimasukkan ke indeks nilai maksimum (Imax). Hasil dari algoritma adalah indeks elemen array yang memiliki nilai maksimum Nilai maksimum bisa dicari dari : TabIntImax