Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Struktur Data Linear Created by Fifth Group, S3B TI Anggota

Presentasi serupa


Presentasi berjudul: "Struktur Data Linear Created by Fifth Group, S3B TI Anggota"— Transcript presentasi:

1 Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Agus Ariyanto Dodi Apriyadi Rusdiyanto Trimasari P

2 Agar penyimpanan lebih efisien Agar tersusun lebih terurut
STRUKTUR DATA Struktur data menyangkut susunan fisik data dalam komputer. Struktur data menyerupai beberapa bentuk teknik kompresi data Agar penyimpanan lebih efisien Agar tersusun lebih terurut Agar data retrieval lebih efektif 01/01/2019 S3B T. Informatika

3 Struktur data dibagi atas : a. Struktur data linier
b. Struktur data non-linier A. Struktur Data Linier Struktur data linier adalah struktur data yang menggam barkan hubungan tentang elemen-elemen yang berdekatan. Terdiri dari : 1. ARRAY : a. dimensi satu (vektor matriks) b. dimensi dua (matriks) c. multi dimensi 01/01/2019 S3B T. Informatika

4 Array ( larik ) Setiap elemen diakses langsung melalui indeksnya.
Array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen- komponen dengan tipe yang sama. Banyaknya komponen dalam satu larik adalah tetap dan lokasi dalam suatu larik ditunjukkan oleh suatu INDEKS. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. S3B T. Informatika 01/01/2019

5 Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur atau tipe larik lain.
Nama lain array adalah Larik, tabel atau vektor Yang penting dalam array adalah pengalamatan memori dan digunakan pengalam atau secara statik.

6 Karakteristik Pemakaian Array :
jumlah elemen array terbatas semua elemen array bisa diakses secara acak panjang elemen sama. Contoh : int A[10 ]; float B [5]; Aplikasi penggunaan array diantaranya adalah a. stack (tumpukan) b. queue (antrian) c. deque (antrian dengan 2 pintu) 01/01/2019 S3B T. Informatika

7 a. stack (tumpukan) Adalah suatu list yang semua operasi penambahan (insertion) dan penghapusan (deletion) elemennya dilaksanakan pada satu ujung atas (TOP). Elemen pertama yang akan dihapus adalah elemen terakhir yang disisipkan, sehingga disebut sebagai“Last In First Out” (LIFO ). 01/01/2019 S3B T. Informatika

8 STACK (Tumpukan) Stack atau Tumpukan adalah bentuk khusus dari list linier (linear list) yang penambahan dan penghapusan elemennya hanya boleh melalui salah satu sisi. Posisi untuk menambah dan menghapus elemen pada stack disebut TOP atau puncak. Elemen pada puncak stack diacu dengan TOP(S). Bila stack kosong, maka TOP(S) tidak terdefinisi. Penambahan dan pengurangan elemen pada STACK menggunakan prinsip LIFO (Last In First Out). 01/01/2019 S3B T. Informatika

9 Last In First Out

10 Operasi-operasi pada struktur data STACK:
CREATE = pembentukan stack (alokasi memori) PUSH = menambah elemen baru POP = mengambil/menghapus elemen dari stack ISEMPTY= memeriksa apakah stack kosong Fungsi-fungsi untuk operasi stack adalah TOP = menunjuk kepada elemen puncak pada stack jika stack kosong maka TOP(S) tidak terdefinisi NOEL = jumlah elemen dalam stack (Number Of ELements) 01/01/2019 S3B T. Informatika

11 TOP(S) tidak terdefinisi Stack S = []
CREATE(S) NOEL(S) = 0 TOP(S) tidak terdefinisi Stack S = [] PUSH elemen A NOEL(S) = 1 TOP(S) = A Stack S = [A] 01/01/2019 A S3B T. Informatika

12 PUSH elemen G NOEL(S) = 2 TOP(S) = G Stack S = [A,G] PUSH elemen K
TOP(S) = K Stack S = [A,G,K] 01/01/2019 G A K G A S3B T. Informatika

13 PUSH elemen G NOEL(S) = 2 TOP(S) = G Stack S = [A,G] PUSH elemen M
TOP(S) = M Stack S = [A,G,M] G A M G A 01/01/2019

14 PUSH elemen W NOEL(S) = 4 TOP(S) = W Stack S = [A,G,M,W] PUSH elemen F
TOP(S) = F Stack S = [A,G,M,W,F] W M G A F W M G A 01/01/2019

15 Misalnya pada compiler, sistem operasi, dsb.
Aplikasi Stack Stack sangat luas pemakaiannya dalam penyelesaian berbagai macam problem. Misalnya pada compiler, sistem operasi, dsb. Kasus yang sering menggunakan stack adalah penjodohan tanda kurung (matching parentheses) 01/01/2019

16 History pada web browser. Undo Log pada text editor.
Pemrosesan struktur bersarang (nested) : loop, rekursi, fungsi, dll. Algoritma back tracking-Artificial Intelegence 01/01/2019

17 Deklarasi Struktur Data Stack
#define maxsize 100 // mendefinisikan maks ukuran data // dlm stack typedef struct { int top; // indeks TOP char items [ maxsize ] // array } stack; // nama tipe data baru yg dibuat // adalah stack

18 b. queue (antrian) adalah struktur data linear dimana penambahan komponen dilakukan di satu ujung, sementara pengurangan dilakukan di ujung lain (yang satu lagi). Prinsip: FIFO(First In First Out)atauFCFS (First Come First Serve),yang lebih awal masuk akandilayani  terlebih dahulu . 01/01/2019

19 Jenis Queue Normal queue. Circular queue. DE-queue (double ended). Ex. High and low priority policy Priority queue.

20 Waiting list – birokrasi. Simulasi sistem antrian.
Penggunaan Queue Waiting list – birokrasi. Simulasi sistem antrian. Antrian printer jobs. Antrian proses multitasking dalam CPU. Antrian playlist winamp. 01/01/2019

21 Operasi Dasar Enqueue Memasukkan item ke dalam queue. Dequeue
Mengeluarkan item dari queue. Is_Full Mengecek apakah queue penuh. Is_Empty Mengecek apakah queue kosong. Initialize Membuat queue untuk pertama kali.

22 Deklarasi Struktur Data Queue
#define maxsize 100 typdef struct { int jumlah; //jumlah data int depan; //ujung depan int belakang; //ujung belakang char data [ maxsize ]; //array isi queue }queue;

23 LINKED LIST (LIST BERKAIT )
  a. linear singly linked list b. linear doubly linked list c. circular singly linked list d. circular doubly linked list Aplikasi linked list pada struktur data linier diantaranya : a. linked stack b. linked queue 01/01/2019

24 Singly and Doubly A linked list node containing a single forward pointer may be declared as follows struct Node { int data; /* or whatever */ struct Node *next_in_line; }; pointer to next Node structure A linked list node containing a forward and a backward pointer may be declared as follows struct Node { int data; struct Node *next_in_line; struct Node *previous_in_line; }; pointer to next Node structure pointer to previous Node structure

25 Circular Linked List

26 Stack – Linked List Jika sebuah linked list SELALU menambahkan node baru dan menghapus node lama dari salah SATU ujungnya saja (posisi Head ataukah Tail)  STACK. TOP = head untuk single linked list. TOP = tail untuk double linked list. HOW?

27 Queue – Linked List Jika sebuah linked list SELALU menambahkan node baru di ujung Tail dan SELALU menghapus node lama dari ujung Head  QUEUE. Front = head. Rear = tail. Single atau Double linked list?

28 01/01/2019 PENGELOLAAN MEMORI Dapat secara STATIS atau DINAMIS. a. Secara STATIS : menempati lokasi memori yang tetap (fixed size),tidak dapat dikembangkanatau diciutkan. Misal : array alamat memori menjadi kunci array

29 01/01/2019 b. Secara DINAMIS : menempati lokasi memori dimana dapat dikembangkan atau diciutkan sesuai dengan kebutuhan. Pengelolaan alamat dinamis (dynamic address) ditunjukkan oleh pointer.

30


Download ppt "Struktur Data Linear Created by Fifth Group, S3B TI Anggota"

Presentasi serupa


Iklan oleh Google