pengenalan binary tree - ilmu itu kebutuhan | try to be …€¦ · ppt file · web view ·...
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
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
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)
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
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] ); }
} }
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();}
}}