• Tidak ada hasil yang ditemukan

Struktur Data & Algoritme Tujuan Mata Kuliah

N/A
N/A
Protected

Academic year: 2023

Membagikan "Struktur Data & Algoritme Tujuan Mata Kuliah"

Copied!
9
0
0

Teks penuh

(1)

Struktur Data & Algoritme (

Data Structures & Algorithms

)

Denny ([email protected]) Suryana Setiawan ([email protected])

Fakultas Ilmu Komputer Universitas Indonesia Semester Genap - 2004/2005

Version 2.0 - Internal Use Only

Pengantar

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

(2)

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

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

(3)

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

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

(4)

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

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.

(5)

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

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

(6)

SDA/TOPIC/V2.0/11

Administrasi

„ Dosen:

„ kelas A: Denny –[email protected]

„ kelas B: Suryana Setiawan –[email protected]

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

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

(7)

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

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.

(8)

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.

Summary

„ struktur data + algoritme = program

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

(9)

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

What’s Next

„ Pengantar Analisa Algoritme (Chapter 5)

Referensi

Dokumen terkait

It then looks at current levels of both horizontal and vertical segregation around the world and at the changes that occurred in the 1990s in terms of female participation in the labour

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