Array/Larik.

Slides:



Advertisements
Presentasi serupa
STRUKTUR DASAR ALGORITMA
Advertisements

STRUKTUR PERULANGAN Perulangan adalah instruksi yang dapat mengulang sederetan Instruksi secara berulang-ulang sesuai persyaratan yang ditetapkan. Struktur.
Tipe Data Bentukan Pertemuan ke-5.
STRUKTUR DATA.
PENGURUTAN (SORTING).
Struktur Data Bambang Irawan.
PENCARIAN (SEARCHING)
Matriks Ery Setiyawan Jullev A.
Dasar Pemrograman ARRAY/LARIK.
ARRAY 1 DIMENSI.
Algoritma dan Pemrograman
- PERTEMUAN 9 - LARIK/ARRAY SATU DIMENSI (1D)
STRUKTUR DATA Pengajar Jaidan Jauhari, M. T
NOTASI ALGORITMIK dan BAHASA C++
Prodi S1-Sistem Komputer, F Teknik Elektro
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
DIKTAT struktur data Oleh: Tim Struktur Data IF
Array (bagian 2).
Algoritma Pencarian (searching)
Algoritma dan Pemrograman I
4. Linked List (List Linier)
Dasar Algoritma dan Pemrograman
Kuliah Ke - 2 Array dan Matriks (Bab 2)
Array/Larik.
STRUKTUR DASAR ALGORITMA
TEL 2112 Dasar Komputer & Pemograman Prosedur
Algoritma dan Pemrograman RECORD dan ARRAY OF RECORD
STRUKTUR DASAR ALGORITMA
PENGURUTAN (SORTING).
Achmad Yasid Struktur Data.
Algoritma & Pemrograman 1
TEE 2103 Algoritma dan Pemrograman
STRUKTUR DATA (1) Sri Nurhayati, MT.
TEL 2103 Dasar Komputer & Pemograman Larik (Array)
Array Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer
Tipe, Nama, dan Nilai.
Rahmat Deddy Rianto Dako, ST, M.Eng
Array 1.
STRUKTUR DATA Array Statis.
Algoritma dan Pemrograman
Tipe Data, Operator dan Ekspresi
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
Algoritma dan Pemrograman RECORD (REKAMAN)
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
Algoritma dan Pemrograman ARRAY (LARIK)
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
Array dan struktur.
STRUKTUR DATA Array Statis.
Teknik Informatika Politeknik Negeri Batam
Larik.
ARRAY.
Array dan Matriks.
Algoritma & Pemrograman 1
TEL 2112 Dasar Komputer & Pemograman Prosedur
Oleh : UMMU ZAHRA ALGORITMA.
ARRAY STATIS Sri Nurhayati, MT.
ARRAY (LARIK) MINGGU VI.
Array.
Prepared by Yohana Nugraheni
STRUKTUR DATA Sri Nurhayati, MT.
ARRAY STATIS Sri Nurhayati, MT.
DIKTAT struktur data Oleh: Tim Struktur Data IF
Tipe Data Bentukan Pertemuan ke-5.
Pencarian (searching)
DIKTAT struktur data Oleh: Tim Struktur Data IF
KUG1E3/ Pemrograman Terstruktur 1
Array.
Matakuliah : Algoritma & Struktur Data Versi Materi Larik
Array.
Larik/Array ALGORITMA DAN PEMROGRAMAN [IS ] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika, S.T., M.T.I.
Transcript presentasi:

Array/Larik

Apakah Larik itu? Larik adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama, setiap elemen diakses melalui indeksnya. Indeks larik haruslah tipe data yang menyatakan keterurutan, misal: integer atau karakter. Larik merupakan struktur data yang statis, artinya jumlah elemen larik harus sudah diketahui/didefinisikan sebelum program dieksekusi. Notasi elemen larik: Nama_larik[indeks] Nama_larik Gb.1: Larik kosong dengan nama A, jumlah indeksnya 8. elemen larik ditulis dengan notasi: A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8] Gb.2: Larik dengan nama A yg setiap elemennya berisi tinggi badan 8 orang mahasiswa: A[1]=169, A[2]=175, …, A[8]=167 elemen larik Indeks larik

Mendeklarasikan Larik Mendeklarasikan larik berarti: Mendefinisikan banyaknya elemen larik (ukuran larik), dan Mendefinisikan tipe elemen larik Sebagai Variable/peubah: DEKLARASI A : array[1..100] of integer NamaMhs : array[1..40] of string NilUjian : array[1..40] of real Sebagai Tipe Bentukan: type LarikInt : array[1..100] of integer A : LarikInt {A adalah sebuah peubah larik integer dengan 100 elemen} Mendefinisikan ukuran larik sebagai sebuah konstanta: const Nmaks = 100 {ukuran maksimum elemen larik} type LarikInt : array[1..Nmaks] of integer

Mengacu Elemen Larik Elemen larik diacu melalui indeksnya Nilai indeks harus terdefinisi Contoh cara mengacu elemen larik: A[4] {mengacu elemen keempat dari larik A} NamaMhs[2] {mengacu elemen kedua dari larik NamaMhs} A[i] {mengacu elemen ke-i dari larik A, asalkan nilai i sudah terdefinisi} NamaMhs[i+1] {asalkan nilai i sudah terdefinisi} Contoh memanipulasi elemen larik: A[4]  10 {mengisi elemen keempat dari larik A dengan nilai 10} NamaMhs[i]  ‘Atabik’ {mengisi elemen ke-i dari larik NamaMhs dengan string ‘Atabik’} read(A[i]) {membaca elemen ke-i dari larik A}

Pemrosesan Larik Elemen larik tersusun di memori secara beruntun (sekuensial), sehingga elemennya diproses secara beruntun melalui indeksnya yang terurut Memproses larik artinya mengunjungi (traversal) setiap elemen larik dan memanipulasi nilai didalamnya. Kunjungan dimulai dari elemen pertama larik, berturut-turut pada elemen berikutnya sampai elemen terakhir dicapai. Karena jumlah elemen larik sudah diketahui di awal proses, maka jumlah pengulangan juga dapat ditentukan. Sehingga struktur pengulangan FOR cocok untuk memproses larik. Skema pemrosesan larik: PROGRAM PemrosesanLarik {Skema pemrosesan larik secara beruntun} DEKLARASI const Nmaks = 100 {ukuran maksimum elemen larik} type LarikInt : array[1..Nmaks] of integer A : LarikInt i : integer {indeks larik} ALGORITMA for i  1 to Nmaks do pemrosesan terhadap A[i] endfor

Menginisialisasi Larik Menginisialisasi larik adalah memberikan harga awal untuk seluruh atau mungkin sebagian elemen larik. Inisialisasi biasanya diperlukan, misalnya “mengosongkan” elemen larik sebelum dipakai untuk proses tertentu. Biasanya untuk tipe numerik dengan 0, dan tipe karakter dengan karakter kosong (null) Inisialisasi larik dengan 0: prosedure InisDengan0(output A:LarikInt,input n:integer) {Menginisialisasi setiap elemen larik A[1..n] dengan nol} {K.Awal: n adalah jumlah elemen efektif larik, nilainya terdefinisi} {K.Akhir: seluruh elemen larik A bernilai nol} DEKLARASI i : integer {pencatat indeks larik} ALGORITMA for i  1 to Nmaks do A[i]  0 endfor

Menginisialisasi Larik (2) Contoh Program utama yang memanggil PROSEDUR InitDengan0: PROGRAM PemrosesanLarik {Program untuk mengisi elemen larik dg 0} DEKLARASI const Nmaks = 100 {ukuran maksimum elemen larik} type LarikInt : array[1..Nmaks] of integer A : LarikInt i : integer {indeks larik} n : integer {ukuran efektif larik} prosedure InisDengan0(output A:LarikInt,input n:integer) {Menginisialisasi setiap elemen larik dengan 0} ALGORITMA read (n) {tentukan jumlah elemen larik efektif} InisDengan0(A,n) {cetak hasil Inisialisasi} for i  1 to n do write(A[i]) endfor

Mengisi Elemen Larik dengan Pembacaan Versi 1: Jika jumlah elemen efektif ditentukan di awal procedure BacaLarik1(output A:LarikInt,input n:integer) {Mengisi elemen larik A[1..n] dg pembacaan} {K.Awal: n adalah jumlah elemen efektif larik, nilainya terdefinisi} {K.Akhir: setelah pembacaan, seluruh elemen larik A berisi nilai-nilai yang dibaca dari piranti masukan} DEKLARASI i : integer {pencatat indeks larik} ALGORITMA for i  1 to n do read(A[i]) endfor

Mengisi Elemen Larik dengan Pembacaan (2) Versi 2: Jika jumlah elemen efektif baru diketahui di akhir pembacaan procedure BacaLarik2(output A:LarikInt, output n:integer) {Mengisi elemen larik A[1..n] dg pembacaan} {K.Awal: sembarang} {K.Akhir: sebanyak n buah elemen larik A berisi nilai-nilai yang dibaca; n berisi jumlah elemen larik yang diisi} DEKLARASI jawab : char {untuk menampung jawaban} ALGORITMA: n  0 repeat n  n+1 read(A[n]) write(‘Lagi(y/t)?’) read(jawab) until jawab = ‘t’

Mengisi Elemen Larik dengan Pembacaan (3) Versi 3: Jika jumlah elemen efektif baru diketahui di akhir pembacaan. Proses pembacaan dianggap selesai jika nilai yang dibaca adalah suatu tanda, misalnya 9999 procedure BacaLarik3(output A:LarikInt, output n:integer) {Mengisi elemen larik A[1..n] dg pembacaan. Akhir pembacaan ditandai jika nilai yang dibaca adalah 9999} {K.Awal: sembarang} {K.Akhir: sebanyak n buah elemen larik A berisi nilai-nilai yang dibaca; n berisi jumlah elemen larik yang diisi} DEKLARASI x : integer {menyimpan sementara nilai yang dibaca} ALGORITMA: n  0 read(x) while x≠9999 do n  n+1 A[n]  x endwhile { x = 9999 }

Larik Bertipe Struktur Misal kita akan mengolah data 100 mahasiswa. Data setiap mahasiswa terdiri-dari NIM, NamaMhs, dan IPK. Struktur lojik larik Mhs dapat ditunjukan seperti berikut:: Struktur larik yang menyimpan data tersebut dideklarasikan dibawah ini. Nama larik adalah Mhs: DEKLARASI const Nmaks = 100 {ukuran maksimum elemen larik} type Mahasiswa: record <NIM : integer, NamaMhs : string, IPK : real > type TabMhs: array[1..Nmaks] of Mahasiswa Mhs : TabMhs

Translasi Notasi Algoritmik ke Bahasa C Sebagai Variable/peubah: Algoritmik DEKLARASI A : array[1..100] of integer NamaMhs : array[1..40] of string NilUjian : array[1..40] of real Cara mengacu elemen larik: A[4] {mengacu elemen keempat dari larik A} NamaMhs[2] {mengacu elemen kedua dari larik NamaMhs} A[i] {mengacu elemen ke-i dari larik A, asalkan nilai i sudah terdefinisi} NilUjian[i+1] {asalkan nilai i sudah terdefinisi} C /* DEKLARASI */ int A[100]; char NamaMhs[41][25];/*panjang string=25 kar */ float NilUjian[41]; Cara mengacu elemen larik, sama dengan notasi algoritmik.

Translasi Notasi Algoritmik ke Bahasa C (2) Sebagai Tipe Bentukan: Algoritmik DEKLARASI type LarikInt : array[1..100] of integer A : LarikInt {A adalah sebuah peubah larik integer dengan 100 elemen} C /* DEKLARASI */ typedef int LarikInt[100]; LarikInt A; Mendefinisikan ukuran larik sebagai sebuah konstanta: const Nmaks = 100 {ukuran maksimum elemen larik} type LarikInt : array[1..Nmaks] of integer cont int Nmaks=100; typedef int LarikInt[Nmaks]; LarikInt A;

Translasi Notasi Algoritmik ke Bahasa C (3) Larik Bertipe Terstruktur: Algoritmik DEKLARASI const Nmaks = 100 {ukuran maksimum elemen larik} type Mahasiswa: record <NIM : integer, NamaMhs : string, IPK : real > type TabMhs: array[1..Nmaks] of Mahasiswa Mhs : TabMhs C /* DEKLARASI */ const int Nmaks = 100 {ukuran maksimum elemen larik} typedef struct {int NIM; char NamaMhs[25]; float IPK; } Mahasiswa; typedef Mahasiswa TabMhs[Nmaks+1]; TabMhs Mhs;