Pert.3 array

22
LARIK (ARRAY) 10/12/2012 1 Nurdiansah PTIK 09 UNM

Transcript of Pert.3 array

Page 1: Pert.3  array

LARIK (ARRAY)

10/12/2012 1Nurdiansah PTIK 09 UNM

Page 2: Pert.3  array

Pengertian

sekumpulan kotak (variable) yang menyimpan sekumpulan elemen bertipesama secara berurutan (sequential).

Tipe terstruktur yang terdiri dari sejumlah komponen yang mempunyai tipe data yang sama

Nama lain Array : larik, tabel, atau vektor

Variabel array terdiri dari :

Array berdimensi satu

Array berdimensi dua

10/12/2012 2Nurdiansah PTIK 09 UNM

Page 3: Pert.3  array

Ciri-ciri Array

Ciri-ciri Array

setiap elemen data array diacu melaluiindeksnya

karena elemen disimpan secara berurutan, indek array harus lah suatu tipe yang mempunyai keterurutan (ada suksesordan predecessor).

Contoh bertipe data : integer, karakteratau tipe data enumerasi.

10/12/2012 3Nurdiansah PTIK 09 UNM

Page 4: Pert.3  array

Pengolahan data array harus per elemen.

Elemen Array dapat diakses secara langsung (random), maksudnya untuk memanipulasi elemen keempat tidak harus melalui elemen pertama, kedua, dan ketiga.

10/12/2012 4Nurdiansah PTIK 09 UNM

Page 5: Pert.3  array

Keuntungan struktur data array

Paling mudah pengoperasiannya

Ekonomis dalam pemakaian memori, bila semua elemen terisi

Akses ke setiap elemen memerlukan waktu yang sama.

10/12/2012 5Nurdiansah PTIK 09 UNM

Page 6: Pert.3  array

Array Berdimensi Satu

Bentuk Umum :

Tipe_Data Nama_Variabel [ukuran]

• Contoh :

int nilai [6];

Tipe data elemen array

Nama array

Jumlah elemen

10/12/2012 6Nurdiansah PTIK 09 UNM

Page 7: Pert.3  array

Contoh :

int nilai [4];

Hasilnya :

? ? ? ?

Nilai [0] Nilai [1]

Nilai [2]

Nilai [3]

10/12/2012 7Nurdiansah PTIK 09 UNM

Page 8: Pert.3  array

Bentuk umum untuk data bukan angka :data_type array_name []={constant_1, constant_2,...,constant_n}

• Data type menyatakan tipe data array.Array_name adalah nama array, harus memenuhi ketentuan identifier.Constant_1,...,constant_n adalah nilai awal elemen array dan harus setipe.

• Contoh :char huruf []={‘a’,’b’,’c’}

Hasil huruf[0] huruf[1] huruf[2]

‘a’ ‘b’ ‘c’

10/12/2012 8Nurdiansah PTIK 09 UNM

Page 9: Pert.3  array

Array Berdimensi Dua

Bentuk Umum :

Tipe_Data Nama_Variabel [index-1] [index-2]

• Contoh :

int nilai [2] [3] ;

Tipe data elemen array

Nama array

Jumlah baris

Jumlah kolom

10/12/2012 9Nurdiansah PTIK 09 UNM

Page 10: Pert.3  array

Salah satu implemantasi array 2 dimensi ini digunakan untuk membuat program MATRIK (Aljabar Linear).

Contoh Matrik dengan ordo 2 x 2

A= 1 5

2 4

Matrik A diatas adalah matrik dengan ordo 2x2 sehingga matrik tersebut memiliki elemen : A[1,1] = 1, A[1,2] = 5, A[2,1]= 2 dan A[2,2]=4.

10/12/2012 10Nurdiansah PTIK 09 UNM

Page 11: Pert.3  array

Array Multi Dimensi

Bahasa C tidak membatasi jumlah dimensi array yang bisa digunakan. Hal ini semata-mata dibatasi jumlah memory yang tersedia.

Array tiga dimensi dapat diumpamakan sebagai sebuah balok dengan balok-balok satuan sebagai elemen array.

Bentuk umum :data_type array_name[size1] [size2]...[size n]

• Size 1 menyatakan jumlah elemen dimensi pertamasize 2 menyatakan jumlah elemen dimensi keduasize n menyatakan jumlah elemen dimensi ke-n

10/12/2012 11Nurdiansah PTIK 09 UNM

Page 12: Pert.3  array

Cara mengacu elemen larik

Elemen larik diacu melalui indeksnya. Nilaiindeks harus terdefinisi.

Contoh cara mengacu elemen larik adalah:L[4] {mengacu elemen keempat darilarik L}Nama_mahasiswa[‘b’] {mengacu elemenkedua dari larik Nama_mahasiswa}P[k] {mengacu elemen ke-k dari larik P, asalkan nilai k sudah terdefinisi}

10/12/2012 12Nurdiansah PTIK 09 UNM

Page 13: Pert.3  array

Contoh I

int i, j ;int tabel [3] [2] ;for (i=0 ; i<=2 ; i++){

for (j=0; j<=1; j++){

cout<< “data ke- “ << i << j << endl;

cout<<“ nilai = “ ;cin>> tabel [i] [j];

}} 10/12/2012 13Nurdiansah PTIK 09 UNM

Page 14: Pert.3  array

Hasil Contoh I

Tabel [0] [0] Tabel [0] [1]

Tabel [1] [0] Tabel [1] [1]

Tabel [2] [0] Tabel [2] [1]

HASIL

10/12/2012 14Nurdiansah PTIK 09 UNM

Page 15: Pert.3  array

Contoh 2Diberikan matriks A sebagai berikut :

1 1 1 10 1 1 10 0 1 10 0 0 1

Perintah pokok yang digunakan pada pengisian matriks A adalah :

A[i,j] = 1, jika i <= jA[i,j] = 0, jika i > j

10/12/2012 15Nurdiansah PTIK 09 UNM

Page 16: Pert.3  array

Cara lain pendefenisian matriks

Sebagai peubah

Contoh :

L : array[1..50] of integer

NamaMhs : array[‘a’..’j’] of string

Sebagai tipe baru

Contoh :

type LarikInt : array[1..100] of integer

P : LarikInt

10/12/2012 16Nurdiansah PTIK 09 UNM

Page 17: Pert.3  array

Mendefinisikan ukuran maksimum elemenlarik sebagai konstanta

Contoh :

Const Nmaks= 100

type LarikInt : array[1..Nmaks]of integer

P : LarikInt

Cara menerjemahkan ke bahasa C :

#define Nmaks 100

typedef int LarikInt[Nmaks+1];

LarikInt P;

10/12/2012 17Nurdiansah PTIK 09 UNM

Page 18: Pert.3  array

Menginisialisasi matriks

Menginisialisasi elemen larik adalahmemberikan harga awal untuk seluruhelemen larik, misalnya menginisialisasidengan nilai 0 seperti di bawah ini :

Procedure InisDgn0 (output A:larik, input N:integer)

{menginisialisasi setiap elemen larik A[1..N] dengan nol}

{K,Awal : N banyak elemen efektif larik, nilainya terdefinisi}

10/12/2012 18Nurdiansah PTIK 09 UNM

Page 19: Pert.3  array

{K,akhir ; seluruh elemen larik A bernilai 0}

Deklarasi :

K : integer

Deskripsi :

for k ← 1 to N do

A[k] ← 0

endfor

10/12/2012 19Nurdiansah PTIK 09 UNM

Page 20: Pert.3  array

Bentuk paling umum digunakan

Bentuk paling umum digunakan dalam bahasa pemrograman C :type pengenal = array[tipe_indeks] of tipedimana :pengenal adalah nama tipe datatipe_index adalah tipe data untuk nomor indextipe adalah tipe data dari komponen arrayParameter tipe_index menentukan banyaknya komponen larik tersebut. Parameter ini bisa sembarang tipe ordinal kecuali longint dan subjangkauan dari logint.

10/12/2012 20Nurdiansah PTIK 09 UNM

Page 21: Pert.3  array

Sebelum elemen larik dapat digunakan maka perlu didefinisikan dulu sebagai berikut :

Nama : array[1..400] of string (larik dgn tipe data string)

Panjang : array[a..e] of real (larik dengan tipe data real)

Type TITIK : record <X: real, Y : real>

Kurva : array[0..30] of Titik (larik dengan tipe data record)

10/12/2012 21Nurdiansah PTIK 09 UNM

Page 22: Pert.3  array

To be continue…

10/12/2012 22Nurdiansah PTIK 09 UNM