Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Linear Data Structures (Array)

Presentasi serupa


Presentasi berjudul: "Linear Data Structures (Array)"— Transcript presentasi:

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

2 Sub Topik Pengantar Struktur Data Linear Class ArrayLinearList Array
1 Dimensi, Multi Dimensi Exercise

3 Pengantar Struktur Data Linier

4 Linear Data Structures
Jika tiap elemen yang ada pada struktur data tsb berbentuk sequence atau list linear. Contoh : array linked list stack queue

5 Linear List Abstract Data Type
AbstractDataType 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 }

6 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(); } Should add comments that describe the parameters, return value, and functionality of each method. Looks a lot like the abstract data type specification but the data types, return type specification, name of output method (toString) are all peculiar to Java.

7 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(); } In the case of a linear list, the main difference between the interface and abstract class specification is the use of the keyword interface vs the keywords abstract class. All methods of the abstract class have been declared as abstract to indicate that we are not providing their implementation here. In the case of an interface it isn’t required (though permissible) to declare each method abstract. This is because all methods listed in an interface are, by default, abstract.

8 Class ArrayLinearList

9 Class ArrayLinearList
Merupakan hasil implements dari interface LinearList.

10 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

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

12 Method isEmpty() dan size()
public boolean isEmpty() { return size == 0; } public int size() return size;

13 Method get() 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];

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

15 Method remove() 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; }

16 Method add() 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++; }

17 Exercise L = (a,b,c,d) adalah sebuah linear list. Hasil apa yang akan didapatkan ketika operasi-operasi berikut dikerjakan : isEmpty() size() get(0), get(2), get(6), get(-3) indexOf(a), indexOf(c), indexOf(q) remove(0), remove(2), remove(3) add(0,e), add(2,f), add(3,g), add(4,f), add(6,h), add(-3,h)

18 Array (1-Dimensi)

19 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!!!!! Index Elemen

20 Deklarasi Contoh : int grade[] = new int[6]; atau

21 Inisialisasi grade[0] = 5; Contoh : atau : int grade[] = new int[6];
Untuk mendapatkan panjang array : panggil method length()

22 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

23 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] ); }

24 Array (Multi Dimensi)

25 Array Multi Dimensi Digunakan untuk merepresentasikan tabel data.

26 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]

27 Penjelasan Baris a[0][0] a[0][1] a[0][2] a[0][3] baris 0

28 Penjelasan Kolom a[0][0] a[0][1] a[0][2] a[0][3]

29 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]);

30 Contoh Program Class 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(); }

31 Pustaka Sartaj Sahni, Presentation L5 & L10


Download ppt "Linear Data Structures (Array)"

Presentasi serupa


Iklan oleh Google