PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

dokumen-dokumen yang mirip
KONTRAK PEMBELAJARAN (KP) MATA KULIAH. Algoritma dan Pemrograman

Analisa Algoritma. Konsep Algoritma

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

# ONE PENGANTAR ALGORITMA PEMROGRAMAN

Algoritma dan Pemrograman Pendekatan Pemrograman Modular

IT234 ALGORITMA DAN STRUKTUR DATA

BAB 2 LANDASAN TEORI

Teori Algoritma. Literatur

Praktikum Algoritma dan Pemrograman. By Faizah, S.Kom. Lab. Komputasi Dasar Prodi Ilmu Komputer UGM

Algoritma, Pseudo Code Flow Chart

BAB 2 LANDASAN TEORI

1: Pengertian Dasar Logika dan Algoritma STRUKTUR DASAR. Oleh: Imana Malia kondou, S.T.

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom, M.Cs

BAB II DASAR-DASAR DAN ATURAN PENULISAN ALGORITMA

Analisis dan Strategi Algoritma

Pendahuluan Metode Numerik

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

Logika dan Algoritma Yuni Dwi Astuti, ST 2

Pemrograman Dasar Kelas X RPL KONSEP DASAR ALGORITMA

Analisis Algoritma Bubble Sort

STRATEGI DIVIDE AND CONQUER

Algoritma dan Flowchart

Analisis Kecepatan Sorting Dengan Notasi Big O

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

Algoritma dan Struktur Data

Sorting Algorithms. Definisi

BAB II TINJAUAN PUSTAKA

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

Algoritma & Struktur Data. Eko Puji Widiyanto, ST

BAB I PENDAHULUAN.

MENYIGI PENGGUNAAN METODE SHELLSORT DALAM PENGURUTAN DATA

Apa Itu Algoritma? Algoritma berasal dari: ahli

Kontrak Perkuliahan & Introduction

Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel

BAB 2 TINJAUAN PUSTAKA

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

PENGENALAN ANALISIS ALGORITMA

Langkah Awal menuju Analisis Kompleksitas Algoritma

Pengenalan Algoritma

SATUAN ACARA PENGAJARAN (SAP) : Aswir Premadi, S.T., M.Sc. (Eng) Pertemuan Minggu ke : 1 & 2 ( 1 x 2 x 50 )

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

SATUAN ACARA PERKULIAHAN PERANCANGAN DAN ANALISIS ALGORITMA ** (S1/TEKNIK INFORMATIKA) PTA 2010/2011

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

SILABUS MATA KULIAH: LOGIKA ALGORITMA

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

PENGANTAR ALGORITMA & PEMROGRAMAN C/C++ Analisis Algoritma dan Struktur Data (TKE 670)

PENGANTAR PEMROGRAMAN TERSTRUKTUR

KOMPUTASI PADA JARINGAN KOMPUTER SEBAGAI ALTERNATIF PENINGKATAN KINERJA KOMPUTASI

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

Algoritma. Begin at the beginning and go on /ll you come to the end: then stop. Lewis Caroll, Alice s Adventures in Wonderland, 1865

Algoritma Bubble Sort dan Quick Sort

Jurnal Evolusi Volume 5 No evolusi.bsi.ac.id

MATERI SIMKOMDIG PENGERTIAN DASAR LOGIKA DAN ALGORITMA

PEMROGRAMAN TERSTRUKTUR by: Budiyono, S. Kom

Perbandingan Performa Kombinasi Algoritma Pengurutan Quick-Insertion Sort dan Merge-Insertion Sort

SEARCHING & SORTING. Pendahuluan

Langkah Awal menuju Analisis Kompleksitas Algoritma

IT234 - Algoritma dan Struktur Data. Ramos Somya

MODUL IV PENCARIAN DAN PENGURUTAN

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis

Alih Kontrol dengan Flowchart

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

SATUAN ACARA PERKULIAHAN MATA KULIAH GRAPH & ANALISIS ALGORITMA (SI / S1) KODE / SKS : KK / 3 SKS

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi

Sorting Algorithms. Divide and Conquer

PENGENALAN ALGORITMA & PEMROGRAMAN P E N G A N T A R T E K N O L O G I I N F O R M A S I ( T I F )

Design and Analysis of Algorithm

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search

STRUKTUR DATA KULIAH KE : 3 ALGORITMA

Bab I Pengantar Ke Algoritma

PENDAHULUAN TUJUAN KEGUNAAN FLOWCHART KONSEP PEMROGRAMAN

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

Algoritma & Pemrograman #1

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Dasar Algoritma. Oky Dwi Nurhayati, ST, MT

Fakultas Teknologi Informasi

Pendahuluan. Ukuran input (input s size)

oleh : Edhy Suta tanta

ANALISIS PERBANDINGAN ALGORITMA BUBBLE SORT, MERGE SORT, DAN QUICK SORT DALAM PROSES PENGURUTAN KOMBINASI ANGKA DAN HURUF

BAB VII ALGORITMA DIVIDE AND CONQUER

Algoritma dan Pemrograman DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS PENDIDIKAN INDONESIA 2008

ALGORITMA PENGURUTAN & PENCARIAN

Data Structure SORTING. Chapter 11. Dahlia Widhyaestoeti, S.Kom

Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai:

Gambar 13.1 Ilustrasi proses algoritma sorting

BUANA. Distribusi 01 September 2017

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

IF Algoritma & Pemrograman. Bab 1: Pengantar Algoritma. Oleh : Andri Heryandi, M.T. Universitas Komputer Indonesia

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

BAB 2 LANDASAN TEORI

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

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

STRUKTUR DATA SORTING ARRAY

Program Studi Pendidikan Ilmu Komputer Fakultas Ilmu Pendidikan Universitas Ubudiyah Indonesia

Transkripsi:

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id

Anany Levitin, Introduction to the Design & Analysis of Algorithms, Addison-Wesley, 2003. Enem, S. Graph Algorithms, Computer Science Press, Inc, 1999. Kruth, D.E. : Fundamental Algorithms, Addison-Esley, 1975. La Budda, K : Structure Programming Concepts. Mc.Graw Hill. Pemrograman Borland Delphi 6, Antony Pranata, Andi offset Yogyakarta

Minggu Topik Materi ke 1 Pendahuluan - Definisi algoritma - Notasi matematis - Tahapan algoritma (Proses Pemrograman) 2 Dasar algoritma - Penulisan algoritma dengan pseudocode - Masalah analisis algoritma - Masalah komputasi 3,4 Pendekatan Pemrograman Modular - Model Top Down - Algoritma Prim - Algoritma Bouruvka

5 Sorting dan Searching - Bubble sort - Selection sort - Insertion sort - Shell sort - Merge sort - Quick sort 6,7 Algoritma Greedy - Definisi - Skema umum algoritma greedy - Minimisasi Waktu di dalam Sistem (Penjadwalan) - Pemecahan masalah dengan algoritma Greedy - Pohon merentang minimum - Kompleksitas algoritma: O(n 2 )

8,9 Algoritma Divide and Conquer - Definisi - Skema umum algoritma divide and conquer - Penyelesaian masalah dengan algoritma divide and conquer - Kompleksitas waktu algoritma - Algoritma pengurutan dengan divide and conquer 10,11 Pemrograman Dinamis - Prinsip optimalitas - Karakteristik persoalan program dinamis - Contoh persoalan program dinamis

12 Algoritma paralel - Model komputasi parallel - Teknik dasar - Evaluasi paralel - Parallel sorting 13,14 Kompleksi tas Algoritma - Pendahuluan - Reduksi linear - Kompleksitas beberapa algoritma

Asal Usul Kata Kata algoritma dari nama Abu Ja fat Mohammed Ibn Musa al-khowarizmi, seorang ilmuan Persia yang menulis buku berjudul Kitab al jabr w al-muqabala (rules of restoration and reduction) sekitar tahun 825

Asal Usul Kata pada tahun 1950 istilah algorithm selalu diasosiasikan dengan Euclid s algorithm, yaitu suatu proses yang menjelaskan cara mencari bilangan pembagi terbesar untuk dua buah bilangan.

Asal Usul Kata Merriam-Webster s Collegiet Dictionary istilah algorithm diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau Penyelesaian suatu tugas khususnya dengan menggunakan bantuan komputer

Syarat Algotitma Menurut Donald E Knuth algoritma harus memenuhi persyaratan ; Finiteness Definiteness Input Output Effectiveness

Sebagai basis pemerograman komputer, algoritma mendeskripsikan kan urutan langkah-langkah yang diperlukan untuk pemecahan masalah (penyelesaian persoalan), yang memiliki ciri-ciri sebagai berikut; selalu memiliki terminasi/langkah akhir setiap langkah dinyatakan secara jelas dan tegas setiap langkah sederhana, sehingga kinerjanya sehubungan dengan waktu yang effisien/bisa diterima akal memberikan hasil (output), mungkin dengan satu atau tanpa input.

Tahapan Algoritma (Proses Pemrograman) Proses pemecahan masalah dengan algoritma tertentu hingga menjadi program dapat dibagi dalam sembilan tahap; Mendefinisikan masalah Masalah yang ingin dipecahkan harus jelas lingkupnya. Membuat model Yang dimaksud model ini adalah model (bentuk) matematis yang dapat digunakan untuk memecahkan masalah, misalnya apakah harus dilakukan pengurutan terhadap data, apakah menggunakan perhitungan kombinatorik dan sebagainya.

Tahapan Algoritma (Proses Pemrograman) Merancang algoritma (flowchart/pseudocode) Apa maksudnya, bagaimana rincian prosesnya, apa keluarannya. Menulis program Ubah algoritma menjadi program (source code) dalam bahasa pemrograman tertentu. Mengubah source code menjadi executable code melalui proses compiling. Memeriksa hasil compiling, jika salah maka kembali ke tahap empat.

Tahapan Algoritma (Proses Pemrograman) Menjalankan program (run) untuk diuji kebenarannya dengan menggunakan berbagai data Memperbaiki kesalahan (debugging dan testing) Apabila hasilnya salah, kesalahan mungkin terjadi saat konversi rancangan algoritma manjadi program, atau salah rancang algoritma, atau salah menentukan model, atau salah mendefinisikan masalah. Ulangi langkah yang sesuai.

Tahapan Algoritma (Proses Pemrograman) Mendokumentasi program bila sudah benar.

Penulisan Algoritma dengan Pseudocode Dengan menggunakan pseudocode pemecahan masalah di atas dapat ditulis sebagai berikut; Contoh; baca jumlah data tulis jumlah data while data belum habis hitung data yang dibaca baca data no_mhs, nama, nilai tulis no_mhs dan nama if nilai > 6,0 else then tulis LULUS else tulis TIDAK LULUS else if when tulis garis penutup tabal selesai Implementasi program dalam bahasa BASIC; baca jumlah data

Jenis Proses Algoritma Langkah yang membentuk suatu algoritma dapat dibagi manjadi 3 kelompok proses; 1). Sequence proces 2). Selection proces 3). Iteration proces

Macam Algoritma Metode Seleksi Metode Sisipan Metode Shell Metode Bubble Metode Cepat Metode Radix Metode Merge Metode Pohon Biner Metode Tournament Metode Heap

Masalah Analisis Algoritma Kinerja yang perlu ditelaah pada algoritma; beban komputasi efisiensi penggunaan memory

Masalah Analisis Algoritma Tantangan yang dihadapi dalam membandingkan kinerja berbagai algoritma sangat berguna, yang perlu diperhatikan ; Kasus rata-rata; running time untuk tipikal data tertentu. Kasus terjelek; running time yang mungkin paling jelek pada konfigurasi masukan data tertentu Program bahasa yang dipakai Program sensitif terhadap input Program sulit dimengerti, dan secara matematis hasil tah tersedia/ diketahui Sering kali program tidak bisa membandingkan, misal untuk data tertentu sangat efisien, tetapi yang lain pada kondisi yang sangat berbeda.

Masalah Komputasi Menurut kesepakatan para ilmuwan komputer, algoritma berdayaguna untuk komputasi bila kompleksitas waktu Ο berkembang secara polinomial dalam respect terhadap ukuran input : n. Secara lebih positif, wajah polinomial suatu algoritma seperti: Ο (n), Ο (n log n), Ο (n3), Ο (106 n8), Ο (2n), Ο (n log n), Ο (n!).

Pengelompokan Algoritma Berdasarkan Notasi O-Besar Kelompok Algoritma Nama O(1) konstan O(log n) logaritmik O(n) lanjar O(n log n) n log n O(n 2 ) kuadratik O(n 3 ) kubik O(2 n ) eksponensial O(n!) faktorial Urutan spektrum kompleksitas waktu algoritma adalah : O(1) < O(log n) < O( n) < O( n log n) < O( n ) < O( n ) <... < 2 3 O( 2 n ) < O( n!) algoritma polinomial algoritma eksponensial 23

Masalah Komputasi Dalam perkembangan yang lebih menguntungkan kompleksitas waktu dapat seperti: Ο (n), Ο (n log n), Ο (n 2 ) Ο (n 3 ), Ο (108 n 4 ), Ο (2n) Ο (10n), Ο (n log n), Ο (n!)

Menghadapi Banyaknya paket dalam TI dewasa ini Kita dituntut untuk dapat melakukan pengamatan tentang kinerja paket-paket yang bersangkutan dan menyajikan informasi sehubungan dengan efektivitas dan efisiensi masing-masing paket bagi persoalan yang akan dihadapi. Perlu memperhatikan masalah kompatabilitas sistem. Perlu memperhatikan tingkat kemudahan oprasional dan antarmuka. Perlu memperhatikan tingkat kemudahan perolehan paket dan populasi pamakaiannya. Perhatikan masalah pemeliharaan di masa mendatang.

Teknik Pemrograman Penekanan pada pemrograman tersetruktur Struktur dasar Menggunakan flow chart dan pseudocode Menggunakan sistem modular. Program dibuat dalam bentuk modul-modul untuk fungsi tertentu maupun subroutine tertentu. Modul-modul dikendalikan oleh modul utama (program utama)

Teknik Pemrograman Modul bersifat independen (tidak ada modul yang dapat akses langsung ke modul lain, kecuali modul pemanggil dan submodulnya sendiri) Modul dapat diubah secara radikal tanpa mempengaruhi modul lain sejauh fungsi modul tidak berubah..

Teknik Pemrograman Implementasi pemrograman modul menggunakan subroutinesubroutine digambarkan sebagai berikut;

Bentuk sub module Internal subroutine; berupa bagian dari program yang menggunakannya External subroutine; bukan bagian dari program yang menggunakan modul itu. Modul tersimpan dalam library dalam bentuk object module yang siap digunakan oleh modul-modul yang akan menggunakan. Modul dapat digunakan untuk tugas lebih dari satu program Dalam menggunakan, pemrograman perlu mengetahui di mana diperoleh, namanya, bagaimana mengirim data padanya, dan jabawan baliknya.