Struktur Data & Algoritme (Data Structures & Algorithms)

dokumen-dokumen yang mirip
Struktur Data dan Algoritma

Pendahuluan Struktur Data STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 1 : 20 Juni 2016

Struktur Data & Algoritme (Data Structures & Algorithms)

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Outline. Apa itu Recursion? Recursion

Review. Struktur Data & Algoritme (Data Structures & Algorithms) Objectives. Outline. Stacks & Queues

Data Structures. Class 3 Pengenalan Struktur Data dan ADT. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Pengantar Struktur Data

Program Teknologi Informasi dan Ilmu Komputer. Team Teaching ASD

RENCANA PEMBELAJARAN SEMESTER (RPS)

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting

Struktur Data & Algoritme (Data Structures & Algorithms)

PENERAPAN MODEL PEMBELAJARAN PROBLEM SOLVING SEARCH, SOLVE, CREATE, AND SHARE PADA MATERI ALJABAR DI KELAS VIII SMP NEGERI 22 SURABAYA

RENCANA PEMBELAJARAN SEMESTER (RPS)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees

KKKF33110 STRUKTUR DATA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

STRUKTUR DATA. Deskripsi Mata Kuliah

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktivitas Pembelajaran

ALGORITME :: Pengantar Pemrograman

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

BAB I PENDAHULUAN. prioritas utama untuk melahirkan generasi-generasi yang lebih baik. Sehingga. mutu pendidikan menjadi fokus penting pendidikan.

Fakultas Teknologi Informasi

RENCANA PEMBELAJARAN SEMESTER (RPS)

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Struktur Data & Algoritme (Data Structures & Algorithms)

Struktur Data dan Algoritme. Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data dan Algoritme. Objectives.

RENCANA PROGRAM KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) STRUKTUR DATA

TIPE DATA ABSTRAK MENGGUNAKAN BAHASA C

1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3.

Easy & Simple - Web Programming: Belajar Pemprograman Website Secara Efektif dan Efisien (Indonesian Edition)

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

(3) BAHAN KAJIAN (materi ajar)

Membuat sebuah program

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

DIG1G3 Implementasi Struktur Data

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati

SATUAN ACARA PENGAJARAN

Algoritma dan Struktur Data 2

SILABUS STRUKTUR DATA ( TIF-104 ) PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PEMBANGUNAN JAYA TANGERANG SELATAN

Pendahuluan Struktur Data. Nisa ul Hafidhoh

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

ALGORITMA DAN PEMROGRAMAN

Konsep Dasar Struktur Data. Struktur Data

Algoritma dan Struktur Data

Searching. Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

BAB II LANDASAN TEORI

Sub Pokok Bahasan dan Sasaran Belajar

RENCANA PEMBELAJARAN SEMESTER (RPS)

KESASTRAAN MELAYU TIONGHOA DAN KEBANGSAAN INDONESIA: JILID 2 FROM KPG (KEPUSTAKAAN POPULER GRAMEDIA)

Problem 1. Implementasi Interface. Diberikan definisi interface BentukDuaDimensi berikut:

=il= ''#i&kwi. ' "*-ttt-{ut%:* lj %"q:dlrulrfi iil fl RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) STRUKTUR DATA DISUSUN OLEH:

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

Buku Rancangan Pengajaran. Struktur Data dan Algoritma. Fakultas Ilmu Komputer Universitas Indonesia

BAB VIII Pencarian(Searching)

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

RENCANA PEMBELAJARAN

KONTRAK PEMBELAJARAN (KP) MATA KULIAH. Algoritma dan Pemrograman

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Program Studi Pendidikan Ilmu Komputer Fakultas Ilmu Pendidikan Universitas Ubudiyah Indonesia

APLIKASI SIMULASI METODE PENCARIAN LINIER, BINER DAN INTERPOLASI SEBAGAI MEDIA PEMBELAJARAN

PRAKTIKUM PEMROGRAMAN DASAR

Fakultas Teknologi Informasi

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Struktur Data dan Analisa Algoritma

Analisis Algoritma: Anany Levitin, Introduction to Design and Analysis of Algorithm, 3 rd Edition, Pearson Education, Inc.

Sistem Informasi. Soal Dengan 2 Bahasa: Bahasa Indonesia Dan Bahasa Inggris

Algoritma Pemrograman [BS204]

Perkuliahan dan Pengantar

FAKULTAS ILMU PENDIDIKAN UNIVERSITAS NEGERI YOGYAKARTA RPP. ALGORITMA DAN PEMROGRAMAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

Program Development Cycle

Method & Tools for Program Analysis & Design

BAB 1 PENDAHULUAN. jadwal yang disusun tetap realistis untuk digunakan. berjalan sebagaimana mestinya. Agar praktikum berjalan dengan baik, kepala

STRUKTUR DATA TFP 1502

Struktur Data dan Algoritma

PENYELESAIAN MASALAH ALIRAN MAKSIMUM MENGGUNAKAN EDMONS KARP ALGORITHM

Pemrograman Berbasis. Strategy dan Observer Pattern

What Is Greedy Technique

ALGORITMA PENGURUTAN & PENCARIAN

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

Irfan Satria S

CBN setup guideline for Ms. Outlook 2013/2016

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5

RENCANA PEMBELAJARAN SEMESTER (RPS)

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

Hypothesis Testing SUNU WIBIRAMA

E VA D A E L U M M A H K H O I R, M. A B. P E R T E M U A N 2 A N A

Langkah Awal menuju Analisis Kompleksitas Algoritma

Transkripsi:

Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar Denny denny@cs.ui.ac.id Fakultas Ilmu Komputer Universitas Indonesia Semester Genap - 2000/2001 Version 1.0 - Internal Use Only Tujuan Mata Kuliah Dalam kuliah ini anda akan mempelajari dasar-dasar ilmu komputer agar dapat melakukan perancangan dan pemilihan struktur data yang sesuai, implementasi, dan melakukan analisis secara umum pada algoritma yang dibuat. Tentunya juga anda akan melatih diri dalam programming SDA/INTRO/DN/V1.0/2 Fundamental Data Types: String, Math, Casting 1

Arti kata (Webster) da ta n.pl. struc ture n. [now usually with sing. v.] facts or figures to be processed; evidence, records, statistics, etc. from which conclusions can be inferred; information 1 2 manner of building, constructing, or organizing 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/INTRO/DN/V1.0/3 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 SDA/INTRO/DN/V1.0/4 Fundamental Data Types: String, Math, Casting 2

Mengapa kuliah ini penting? Apakah KP1 saja tidak cukup? Perhatikan program berikut ini: if (k == 1) c001++; if (k == 2) c002++;... if (k == 500) c500++; Program di atas (+- 500 baris) digunakan untuk menghitung jumlah kemunculan angka 1 sampai 500 dalam sebuah file. Progam di atas benar, tetapi sangat besar (butuh waktu pengembangan yang lebih lama) dan sulit dipelihara. Solusi: gunakanlah array dari integer yang terdiri dari 500 elemen SDA/INTRO/DN/V1.0/5 Mengapa kuliah ini penting? (2) Moral story: Pemilihan struktur data yang tepat, membuat program lebih terstruktur dan efesien Aplikasi: Sistem basis data (Oracle, SQL Server, dll) Menghitung ekspresi: (5 + 2) * 7 Mencari jarak terpendek antara dua kota SDA/INTRO/DN/V1.0/6 Fundamental Data Types: String, Math, Casting 3

Mengapa perlu belajar membuatnya, 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 real world, bahasa yang digunakan tidaklah selalu Java. Mungkin saja di bahasa tersebut tidak terdapat library untuk struktur data. SDA/INTRO/DN/V1.0/7 Topik-Topik yang Dibahas Pengantar analisa algoritme Tipe Data Abstrak (Abstract Data Type - ADT) Model data linear: Array, Linked List Stack, Queue Model data hirarkis: Tree Graph Hashing Pelacakan (searching) Pengurutan (sorting) SDA/INTRO/DN/V1.0/8 Fundamental Data Types: String, Math, Casting 4

Jadual Perkuliahan Masa perkuliahan: 29 Jan 25 Mei 2001 Mid Test: 27 Maret 2001 (pada jam kuliah) Batas akhir pembatalan MK (drop): 16 Apr 2001 Minggu Tenang: 28 Mei 01 Jun 2001 Final Test: 5-15 Juni 2001 (sesuai dengan jadual sekretariat) Total kuliah: 32 x SDA/INTRO/DN/V1.0/9 Administrasi Kelas B Dosen: Denny - denny@cs.ui.ac.id Asisten Dosen: akan diumumkan kemudian Newsgroup: news.cs.ui.ac.id - forum.iki.struktur Homepage & resources: http://pala.acad.cs.ui.ac.id/academic/sda/ Buku Acuan: Mark Allen Weiss. Data Structures & Problem Solving Using Java. Addison Wesley, 1998. (call code: 005.133 Wei d). SDA/INTRO/DN/V1.0/10 Fundamental Data Types: String, Math, Casting 5

Penilaian Komponen penilaian: Tugas Pemrograman 30% Quiz/Tugas Mandiri 5% Mid Test 25% Final Test 40% Presensi 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 SDA/INTRO/DN/V1.0/11 Peraturan Kuliah Presensi minimum 70% kehadiran dari kehadiran dosen supaya dapat mengikuti ujian akhir. bonus 5 point, proporsi dari presensi diatas 90% contoh: presensi 92% mendapat bonus 1 point presensi 100% mendapat bonus 5 point berguna bagi anda yang berada di perbatasan nilai untuk naik ke grade yang lebih tinggi. SDA/INTRO/DN/V1.0/12 Fundamental Data Types: String, Math, Casting 6

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/INTRO/DN/V1.0/13 Asistensi/Responsi Peserta akan dibagi ke dalam 3 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 masingmasing dapat menentukan jadwal asistensi / responsi / pemeriksaan tugas. SDA/INTRO/DN/V1.0/14 Fundamental Data Types: String, Math, Casting 7

Problem Solving Apa itu problem/masalah? Apakah mencari pasangan hidup adalah problem? Apakah semua problem bisa diselesaikan dengan menggunakan komputer? Secara umum, ada 2 jenis problem: problem to find problem to prove SDA/INTRO/DN/V1.0/15 Problem Solving (2) Problem to find Input Problem to decide Input Condition Condition Output True False Termasuk problem yang manakah? Apakah stop dan pots adalah palindrome? Cetak semua kelompok kata palindrom dari sebuah file. Prinsip terpenting dalam memecahkan masalah: pahamilah masalahmu! SDA/INTRO/DN/V1.0/16 Fundamental Data Types: String, Math, Casting 8

Polya s Principle What are the inputs? What is the desired output? Find connection between input & output Can you derive anything of use from the inputs? Perhaps introduce an auxilary problem. Can you see an analogy? Make a good guess. yes Understand the problem Devise a plan Is this a computer problem? Draw a figure! Introduce suitable notation Have you seen it before? Do you know related problem? Look at the unknown (the output) Restate the problem Perhaps first consider a related but simpler problem no Implement the plan Outline your plan Check each step Is each step correct? Carry out the plan Test your implementation! Could you derive a better plan? Look back Can you check the results? SDA/INTRO/DN/V1.0/17 Algorithms A clearly specified set of instructions the computer will follow to solve a problem Contoh: Problem: mencari sebuah integer dalam sebuah array terurut Algoritme: binary search SDA/INTRO/DN/V1.0/18 Fundamental Data Types: String, Math, Casting 9

Tugas Mandiri & Latihan Cari dan pelajari struktur data yang telah tersedia di Java API Kerjakan latihan: 1.20 dalam buku acuan. Buat sebuah method yang menerima sebuah integer dan mencetak angka romawi. Jika parameter adalah 1998, outputnya MCMLXLVIII. SDA/INTRO/DN/V1.0/19 Summary struktur data + algoritme = program Langkah-langkah dalam memecahkan masalah: pahami masalah, buat sebuah rencana/solusi, implementasi/jalankan solusi, kemudian dikaji kembali solusi tersebut. SDA/INTRO/DN/V1.0/20 Fundamental Data Types: String, Math, Casting 10

Further Reading http://pala.acad.cs.ui.ac.id/academic/sda/ 1998/handout/handout07.html http://pala.acad.cs.ui.ac.id/javaresources /jdk1.2.2/docs/api/java/util/packagesummary.html SDA/INTRO/DN/V1.0/21 What s Next Review konsep-konsep penting dalam Java (Chapter 1-4) SDA/INTRO/DN/V1.0/22 Fundamental Data Types: String, Math, Casting 11