Anda di halaman 1dari 3

Tujuan Mata Kuliah

Struktur Data & Algoritme


(Data Structures & Algorithms)

Pengantar

mempelajari dasar-dasar ilmu komputer agar dapat


melakukan
perancangan dan pemilihan struktur data yang sesuai,
implementasi, dan
melakukan analisis secara umum pada algoritme yang
dibuat.
tentunya, melatih diri dalam programming

Denny (denny@cs.ui.ac.id)
Suryana Setiawan (setiawan@cs.ui.ac.id)
Fakultas Ilmu Komputer
Universitas Indonesia
Semester Genap - 2004/2005
Version 2.0 - Internal Use Only

Arti kata (Webster)

Arti kata (Webster)

data

SDA/TOPIC/V2.0/2

n.pl.

algorithm
n.

facts or figures to be processed; evidence, records,


statistics, etc. from which conclusions can be inferred;
information

1 Math. a) any systematic method of solving a certain


kind of problem b) the repetitive calculations used in
finding the greatest common divisor of two numbers
(called in full Euclidean algorithm)
2 Comput. a predetermined set of instructions for
solving a specific problem in a limited number of steps

structure

n.
1 manner of building, constructing, or organizing
2 something built or constructed, as a building or dam
3 the arrangement or interrelation of all the parts of a whole;
manner of organization or construction [the structure of the
atom, the structure of society]
4 something composed of interrelated parts forming an
organism or an organization

Contoh:
Problem: mencari sebuah integer dalam sebuah array
terurut
Algoritme: binary search

SDA/TOPIC/V2.0/3

Struktur Data

SDA/TOPIC/V2.0/4

Mengapa kuliah ini penting?

Mengapa data itu disimpan?


Supaya bisa diakses/diproses di kemudian waktu
Mengapa dalam penyimpanan data diperlukan
sebuah struktur?
Supaya lebih mudah/efisien dalam
pengaksesan/pemrosesan data tersebut

Apakah kuliah DDP saja tidak cukup?


Perhatikan program untuk menghitung jumlah
kemunculan angka 1 sampai 500 dalam sebuah file:
if (k ==
1) c001++;
if (k ==
2) c002++;
...
if (k == 500) c500++;

Program di atas (+- 500 baris).


Progam di atas benar walaupun tidak efesien, sangat
besar (500 lines of code), dan sulit dipelihara.
Solusi sederhana: gunakanlah array integer yang
terdiri dari 500 elemen
int c[500];
c[k]++;

SDA/TOPIC/V2.0/5

SDA/TOPIC/V2.0/6

Mengapa kuliah ini penting? (2)

Moral story:
Pemilihan struktur data yang tepat, dapat membuat
program lebih terstruktur (elegan) dan efesien
Tentunya, penggunaan algoritme yang baik dapat
membuat program lebih efesien dan mungkin lebih
elegan
Contoh Aplikasi:
Mencari jarak terpendek antara dua kota

Mengapa perlu belajar membuat struktur


data, khan sudah ada di Java API?

menggunakan struktur data Graph

Sistem basis data (Oracle, SQL Server, dll)

Menghitung ekspresi: (5 + 2) * 7

Supaya kita dapat mengetahui struktur data yang


tepat, tentunya kita harus mengetahui kelebihan dan
kekurangan dari masing-masing struktur data.
Cara yang terbaik untuk benar-benar dapat
memahami masing-masing struktur data adalah
membuatnya.
Dalam industri, bahasa yang digunakan tidaklah
selalu Java. Mungkin saja di bahasa tersebut tidak
terdapat library untuk struktur data.

menggunakan struktur data B+Tree, Hash tables


menggunakan struktur data Stack/Tree
SDA/TOPIC/V2.0/7

Topik-Topik yang Dibahas

SDA/TOPIC/V2.0/8

Jadual Perkuliahan

Pengantar analisa algoritme


Pelacakan (searching)
Pengurutan (sorting)
Tipe Data Abstrak (Abstract Data Type - ADT)
Model data linear: Array, Linked List
Stack, Queue
Model data hirarkis: Tree
Graph
Hash Tables

Jadual Kuliah
Rabu, 14:00-15:40
Jumat, 08:00-09:40
Tutorial:
oleh asisten, jadual akan ditentukan kemudian
Ruangan: Kelas A: 304, Kelas B: 407
Masa perkuliahan: 14 Februari 2005 3 Juni 2005
Mid Test:
tanggal akan ditentukan kemudian (pada jam kuliah)
Final Test:
13 Juni 24 Juni 2005 (sesuai dengan jadual
sekretariat)
Total kuliah: 28x (3x Libur, 1x Midtest)

SDA/TOPIC/V2.0/9

Administrasi

SDA/TOPIC/V2.0/10

Penilaian

Dosen:
kelas A: Denny denny@cs.ui.ac.id
kelas B: Suryana Setiawan setiawan@cs.ui.ac.id
Asisten Dosen: akan diumumkan kemudian
Newsgroup: news.cs.ui.ac.id - forum.iki.struktur
Homepage & resources:

http://ranau.cs.ui.ac.id/sda/
http://telaga.cs.ui.ac.id/WebKuliah/IKI10100/

Buku Acuan:
Mark Allen Weiss. Data Structures & Problem Solving
Using Java. Addison Wesley, 1998.
(call code: 005.133 Wei d).
Java 1.5

Komponen penilaian:
Tugas Pemrograman (4x @7.5%)
Quiz/Tugas Mandiri
Mid Test
Final Test
Presensi Tutorial
Grading (subject to change)
A: 85 ke atas
B: 70 sampai dengan 84.9
C: 55 sampai dengan 69.9
D: 35 sampai dengan 54.9
E: di bawah 35

30%
10%
20%
40%
bonus

http://telaga.cs.ui.ac.id/WebKuliah/java5/
SDA/TOPIC/V2.0/11

SDA/TOPIC/V2.0/12

Peraturan Kuliah

Kejujuran Akademis

Presensi
minimum 70% kehadiran dari kehadiran dosen supaya
dapat mengikuti ujian akhir.
bonus 5 point

Kecurangan
Setiap bentuk kecurangan akan mendapatkan sanksi
dengan tegas sesuai dengan peraturan universitas
Kecurangan saat ujian (menyontek jawaban teman
atau bekerjasama)
Kecurangan dalam tugas (menyalin & memodifikasi
hasil pekerjaan yang lain)
Kecurangan dalam pencatatan kehadiran (titip tanda
tangan)

bagi yang menghadiri tutorial dan berpartisipasi aktif

Sanksi akan dikenakan baik pada si pelaku maupun


yang memberi kesempatan.

SDA/TOPIC/V2.0/13

Asistensi/Responsi

SDA/TOPIC/V2.0/14

Summary

Peserta setiap kelas akan dibagi ke dalam 2


kelompok asistensi yang masing-masing akan di
asuh oleh seorang asisten (asisten akan diumumkan
kemudian).
Pembagian kelompok akan diumumkan pada

struktur data + algoritme = program


Pemilihan struktur data yang tepat, dapat membuat
program lebih terstruktur (elegan) dan efesien

forum.iki.struktur

Anggota kelompok beserta asistennya masingmasing dapat menentukan jadwal asistensi / responsi
/ pemeriksaan tugas.

SDA/TOPIC/V2.0/15

Further Reading

SDA/TOPIC/V2.0/16

Whats Next

Cari dan pelajari struktur data yang telah tersedia di


Java API
http://telaga.cs.ui.ac.id/WebKuliah/java5/
docs/api/java/util/package-summary.html
Generics in Java 2 SE 5:
http://telaga.cs.ui.ac.id/WebKuliah/java5/
Java5-Generics.pdf

SDA/TOPIC/V2.0/17

Pengantar Analisa Algoritme (Chapter 5)

SDA/TOPIC/V2.0/18

Anda mungkin juga menyukai