• Tidak ada hasil yang ditemukan

Struktur Data & Algoritme (

N/A
N/A
Protected

Academic year: 2023

Membagikan "Struktur Data & Algoritme ("

Copied!
3
0
0

Teks penuh

(1)

1

Struktur Data & Algoritme (

Data Structures & Algorithms

)

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

Pengantar

SDA/TOPIC/V2.0/2

Tujuan Mata Kuliah

„ 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

SDA/TOPIC/V2.0/3

Arti kata (Webster)

„ da•ta

„n.pl.

• facts or figures to be processed; evidence, records, statistics, etc. from which conclusions can be inferred;

information

„ struc•ture

„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

SDA/TOPIC/V2.0/4

Arti kata (Webster)

„ al•go•rithm

„n.

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

„ Contoh:

„Problem: mencari sebuah integer dalam sebuah array terurut

„Algoritme: binary search

SDA/TOPIC/V2.0/5

Struktur Data

„ 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

SDA/TOPIC/V2.0/6

Mengapa kuliah ini penting?

„ 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]++;

(2)

2

SDA/TOPIC/V2.0/7

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

• menggunakan struktur data Graph

„Sistem basis data (Oracle, SQL Server, dll)

• menggunakan struktur data B+Tree, Hash tables

„Menghitung ekspresi: (5 + 2) * 7

• menggunakan struktur data Stack/Tree

SDA/TOPIC/V2.0/8

Mengapa perlu belajar membuat struktur data, khan sudah ada di Java API?

„ 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.

SDA/TOPIC/V2.0/9

Topik-Topik yang Dibahas

„ 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

SDA/TOPIC/V2.0/10

Jadual Perkuliahan

„ Jadual Kuliah

„Rabu, 14:00-15:40

„Jum’at, 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/11

Administrasi

„ 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

„http://telaga.cs.ui.ac.id/WebKuliah/java5/

SDA/TOPIC/V2.0/12

Penilaian

„ Komponen penilaian:

„Tugas Pemrograman (4x @7.5%) 30%

„Quiz/Tugas Mandiri 10%

„Mid Test 20%

„Final Test 40%

„Presensi Tutorial bonus

„ 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

(3)

3

SDA/TOPIC/V2.0/13

Peraturan Kuliah

„ Presensi

„minimum 70% kehadiran dari kehadiran dosen supaya dapat mengikuti ujian akhir.

„bonus 5 point

• bagi yang menghadiri tutorial dan berpartisipasi aktif

SDA/TOPIC/V2.0/14

Kejujuran Akademis

„ 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)

„Sanksi akan dikenakan baik pada si pelaku maupun yang memberi kesempatan.

SDA/TOPIC/V2.0/15

Asistensi/Responsi

„ 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 forum.iki.struktur

„ Anggota kelompok beserta asistennya masing- masing dapat menentukan jadwal asistensi / responsi / pemeriksaan tugas.

SDA/TOPIC/V2.0/16

Summary

„ struktur data + algoritme = program

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

SDA/TOPIC/V2.0/17

Further Reading

„ 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/18

What’s Next

„ Pengantar Analisa Algoritme (Chapter 5)

Referensi

Dokumen terkait

Future Team Projects  Re-organize archive collections in AURA  Create an APEX Archive Internship  Investigate ACRL’s Project Outcome Digital and Special Collections assessment

University Hostel 3ra Floor, BAC Conference Room, BuISU lvlain Campus Bid Documents will be available to prospective bidders only upon payment of a non-refundable fee of One Thousand