13
STRUKTUR DATA Semester 1 2014/15

P1 StrukDat : Pengenalan Struktur Data

Embed Size (px)

Citation preview

Page 1: P1 StrukDat : Pengenalan Struktur Data

STRUKTUR DATASemester 1 2014/15

Page 2: P1 StrukDat : Pengenalan Struktur Data

Sistem Perkuliahan

Unsur Penilaian Bobot

Tugas 20 %

Ujian tengah semester (UTS) 30 %

Ujian akhir semester (UAS) 50 %

Sistem Penilaian:

Lecturer:

Ichwan Ridwan Tandjung, MSc

Email: [email protected]

HP: 0818928807

Page 3: P1 StrukDat : Pengenalan Struktur Data

Sistem Perkuliahan

1. John R. Hubbard, Data structure with Java (Scahum’s

outline), Edisi 4, McGRAW-HILL, 2007.

2. Insap Santosa, P. Struktur Data Menggunakan Turbo

Pascal 6.0, Yogyakarta: ANDI OFFSET, 2001.

3. Vinu V. Das. Principles of Data Structures Using C and

C++,New Age International, 2006.

4. NiklausWirth, Algoritma + Struktur Data = Program,

Yogyakarta: ANDI OFFSET, 1997

Pustaka :

Page 4: P1 StrukDat : Pengenalan Struktur Data

Cakupan Materi

No Materi Buku1 Buku2 Buku3 Buku4

1 Struktur Data & Algoritma √ √ √

2 Tipe Data √ √

3 Record & Pointer √ √

4 Linked List √ √

5 Stack √ √ √

6 Queue √ √ √

7 Hash Table √ √

8 Tree √ √ √

9 Heap & Priority Queue √

10 Sorting √ √ √

11 Graph √ √

Page 5: P1 StrukDat : Pengenalan Struktur Data

Rencana PerkuliahanPertemuan Topik Bahasan Pustaka

1 Pendahuluan:

Struktur Data & Algoritma

Buku 2 bab 1;

Buku 3 bab 1;

Buku 4 bab 1.

2 Tipe Data Buku 1 bab 1;

Buku 2 bab 1.

3 Record & Pointer Buku 2 bab 1,4;

Buku 4 bab 1.

4 Linked List Buku 1 bab 3;

Buku 3 bab 5.

5 Stack Buku 1 bab 5;

Buku 2 bab 3;

Buku 3 bab 3.

6 Queue Buku 1 bab 6;

Buku 2 bab 6;

Buku 3 bab 4.

7 Review

Page 6: P1 StrukDat : Pengenalan Struktur Data

Rencana Perkuliahan

Pertemuan Topik Bahasan Pustaka

8 Hash Table Buku 1 bab 8;

Buku 3 bab 7.

9 Tree Buku 1 bab 10-12;

Buku 2 bab 8;

Buku 3 bab 8.

10 Tree

11 Heap & Priority Queue Buku 1 bab 13

12 Sorting Buku 1 bab 14;

Buku 3 bab 6;

Buku 4 bab 2.

13 Graph Buku 1 bab 15;

Buku 3 bab 9.

14 Review

Page 7: P1 StrukDat : Pengenalan Struktur Data

Definitions

Data Structure - abstract way to

organize information

Algorithm - abstract way to perform

computation tasks

http://www.cs.columbia.edu/~bert/courses/3137

Data Structures and Algorithm Analysis in

Java,

2nd Edition by Mark Allen Weiss.

ISBN-10: 0321370139

Page 8: P1 StrukDat : Pengenalan Struktur Data

Algoritma:

prosedur terbatas yang terdiri beberapa

operasi menyelesaikan suatu masalah

(Ibaraki)

Struktur data

cara pengaturan data agar bisa disimpan

memory komputer secara efisienProgram:

algoritma yang diimplementasikan dalam

bahasa pemrograman tertentu

Definisi

http://asnugroho.net/lecture/ds.html

Page 9: P1 StrukDat : Pengenalan Struktur Data

Data Structures

Variables: boolean, int/byte/short/long,

float/double, char

Arrays, Strings

We’ll go over more advanced structures:

linked lists, trees, heaps, graphs, hash

tables, etc.

Smarter data structures can be

abstracted

http://www.cs.columbia.edu/~bert/courses/3137

Page 10: P1 StrukDat : Pengenalan Struktur Data

Benefits of Abstraction

Consider Java Strings

We use them all the time

How is the text in a String object

stored?

When we call the length() method,

how does it find the length?

How does it concatenate strings?

http://www.cs.columbia.edu/~bert/courses/3137

Page 11: P1 StrukDat : Pengenalan Struktur Data

Besar Kecil

Lama

Singkat

Memory

Running

time

Hubungan antara Algoritma & Struktur Data

http://asnugroho.net/lecture/ds.html

Wirth: algoritma + struktur data = program

Algoritma → penyelesaian satu masalah secara matematis Komputer yang ada sangat terbatas baik memory maupun

kecepatannya

Performa algoritma yang ideal

◦ Memory yang diperlukan kecil,running time singkat

Tradeoff antara waktu dan ruang (memory)

Page 12: P1 StrukDat : Pengenalan Struktur Data

Bagaimana data harus direpresentasikan saatmembuat program ?

Algoritma yang baik + Struktur data yang tepat =

program yang baik

◦ Pemilihan algoritma dan struktur data yang tepatharus mempertimbangkan skala data, CPU, memori, dsb.

◦ Perlu pengetahuan algoritma dan struktur apa sajayang ada dan mungkin dipakai

Struktur data

List, stack, queue, tree, dll

Hubungan antara Algoritma & Struktur Data

http://asnugroho.net/lecture/ds.html

Page 13: P1 StrukDat : Pengenalan Struktur Data

Course Goals

A series of case studies on common

data structures and algorithms

Gain intuition about how to design

useful and efficient data structures

Understand how to analyze any data

structure or algorithm

http://www.cs.columbia.edu/~bert/courses/3137