p1 strukdat : pengenalan struktur data
TRANSCRIPT
STRUKTUR DATASemester 1 2014/15
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
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 :
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 √ √
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
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
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
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
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
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
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)
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
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