pengenalan binary tree - ilmu itu kebutuhan | try to be …€¦ · ppt file · web view ·...

31
Linear Data Structures (Array) Teknik Informatika - Universitas Muhammadiyah Malang (UMM) Tahun Akademik 2010-2011 Oleh : Nur Hayatin, S.ST

Upload: doanlien

Post on 28-Apr-2018

217 views

Category:

Documents


3 download

TRANSCRIPT

Linear Data Structures(Array)

Teknik Informatika - Universitas Muhammadiyah Malang (UMM)Tahun Akademik 2010-2011

Oleh : Nur Hayatin, S.ST

Sub Topik

• Pengantar Struktur Data Linear• Class ArrayLinearList• Array

– 1 Dimensi, Multi Dimensi

• Exercise

PengantarStruktur Data Linier

Linear Data Structures

• Jika tiap elemen yang ada pada struktur data tsb berbentuk sequence atau list linear.

• Contoh :

array

linked list

stack

queue

Linear List Abstract Data TypeAbstractDataType LinearList

{

instances

ordered finite collections of zero or more elements

operations

isEmpty(): mengembalikan nilai true jika kosong dan sebaliknya.

size(): mengembalikan jumlah elemen pada list

get(index): mengembalikan elemen sesuai index yang dimasukkan

indexO f(x): mengembalikan nilai index dari elemen x yang dimasukkan, -1 jika elemen tidak ditemukan

remove(index): menghapus elemen sesuai index yang dimasukkan

add(theIndex, x): menambah elemen x pada index yang ditentukan

output(): menampilkan semua elemen pada list dari kiri ke kanan

}

Linear List as Java Interface

public interface LinearList

{

public boolean isEmpty();

public int size();

public Object get(int index);

public int indexOf(Object elem);

public Object remove(int index);

public void add(int index, Object obj);

public String toString();

}

Linear List As Java Abstract Class

public abstract class LinearListAsAbstractClass{ public abstract boolean isEmpty(); public abstract int size(); public abstract Object get(int index); public abstract int indexOf(Object theElement); public abstract Object remove(int index); public abstract void add(int index, Object theElement); public abstract String toString();}

Class ArrayLinearList

Class ArrayLinearList

• Merupakan hasil implements dari interface LinearList.

Class ArrayLinearList

import java.util.*;import utilities.*;

public class ArrayLinearList implements LinearList{ protected Object [] element; // array of elements protected int size; // number of elements in array

Constructor

public ArrayLinearList(int initialCapacity) { if (initialCapacity < 1) throw new IllegalArgumentException ("initialCapacity must be >= 1"); element = new Object [initialCapacity]; }

public ArrayLinearList() { this(10); }

MethodisEmpty() dan size()

public boolean isEmpty() {

return size == 0;}

public int size() {

return size;}

Methodget()

void checkIndex(int index){ if (index < 0 || index >= size) throw new IndexOutOfBoundsException ("index = " + index + " size = " + size);}

public Object get(int index){ checkIndex(index); return element[index]; }

MethodindexOf()

public int indexOf(Object theElement){ for (int i = 0; i < size; i++) if (element[i].equals(theElement)) return i; return -1; }

Methodremove()

public Object remove(int index) { checkIndex(index); Object removedElement = element[index]; for (int i = index + 1; i < size; i++) element[i-1] = element[i]; element[--size] = null; return removedElement; }

Methodadd()

public void add(int index, Object theElement) { if (index < 0 || index > size) throw new IndexOutOfBoundsException ("index = " + index + " size = " + size); if (size == element.length) element = ChangeArrayLength.changeLength1D(element, 2 * size); for (int i = size - 1; i >= index; i--) element[i + 1] = element[i]; element[index] = theElement; size++; }

Exercise

1. L = (a,b,c,d) adalah sebuah linear list. Hasil apa yang akan didapatkan ketika operasi-operasi berikut dikerjakan :

a) isEmpty()

b) size()

c) get(0), get(2), get(6), get(-3)

d) indexOf(a), indexOf(c), indexOf(q)

e) remove(0), remove(2), remove(3)

f) add(0,e), add(2,f), add(3,g), add(4,f), add(6,h),

add(-3,h)

Array

(1-Dimensi)

Definisi• Sebuah tipe data yang mampu meyimpan data/variabel

dengan nama dan tipe yang sama.• Contoh : nilai grade dari 6 mahasiswa

• Keterangan– Terdiri dari 6 elemen– Elemen pertama pada index ke-0 elemen terakhir pada index ke-5

• Array pada java selalu diawali dengan index ke-0!!!!!

0 1 2 3 4 5 Index

Elemen

Deklarasi

• Contoh :

int grade[] = new int[6];

atau

int []grade = new int[6];

Inisialisasi• Contoh :

int grade[] = {5,8,9,7,6,7};

atau :

int grade[] = new int[6];

grade[0] = 5;

grade[1] = 8;

grade[2] = 9;

grade[3] = 7;

grade[4] = 6;

grade[5] = 7;• Untuk mendapatkan panjang array : panggil method length()

Pengaksesan Elemen

• x = grade[5];mengakses elemen grade pada index ke-5 yang akan diisikan ke variabel x.

• System.out.print(grade[0]);mengakses sekaligus menampilkan elemen grade pada index ke-0.

• Elemen array yang dapat diakses dimulai dari index 0 sampai elemen.length()-1

Contoh Program

public class ArraySample {  public static void main( String[] args ){

  int[] ages = new int[100];  for( int i=0; i<ages.length; i++ ){

System.out.print( ages[i] ); }

} }

Array

(Multi Dimensi)

Array Multi Dimensi

• Digunakan untuk merepresentasikan tabel data.

Deklarasi 2D

• Pendeklarasian array 2 dimensi.• Contoh :

int [][]a = new int[3][4];

(terdiri dari 3 baris 4 kolom)• Dapat digambarkan sebagai berikut :

a[0][0] a[0][1] a[0][2] a[0][3]

a[1][0] a[1][1] a[1][2] a[1][3]

a[2][0] a[2][1] a[2][2] a[2][3]

Penjelasan Baris

a[0][0] a[0][1] a[0][2] a[0][3] baris 0

a[1][0] a[1][1] a[1][2] a[1][3] baris 1

a[2][0] a[2][1] a[2][2] a[2][3] baris 2

Penjelasan Kolom

a[0][0] a[0][1] a[0][2] a[0][3]

a[1][0] a[1][1] a[1][2] a[1][3]

a[2][0] a[2][1] a[2][2] a[2][3]

Kolom 0 Kolom 1 Kolom 2 Kolom 3

Pengaksesan Elemen

• Pengaksesan elemen untuk array 2 dimensi hampir sama dengan pengaksesan array 1 dimensi. Yaitu dengan cara menyebutkan index dari elemen yang ingin diakses.

• Contoh :x = dogs[i][j];

//mengakses elemen dogs pada baris i kolom j.

atau

System.out.print(dogs[i][j]);

Contoh ProgramClass MultiDimensiArray{

Public static void main(String args[]){

// String array 4 baris x 2 kolom String[][] dogs = {{ "terry", "brown" }, { "Kristin", "white" }, { "toby", "gray"}, { "fido", "black"} };

For(int i=0;i<dogs.length;i++){

For(int j=0;j<dogs.length[0];j++){

System.out.print(dogs[i][j] );}System.out.println();}

}}

Pustaka

• Sartaj Sahni, Presentation L5 & L10