BAB I DASAR-DASAR ALGORITMA

Slides:



Advertisements
Presentasi serupa
Pseudocode & Flowchart
Advertisements

Pengertian Dasar Logika dan Algoritma
PENDAHULUAN KONSEP ALGORITMA DAN DIAGRAM ALIR (FLOWCHART)
Algoritma dan FlowChart
Desain Dan Analisis Algoritma
ALGORITMA & PEMROGRAMAN (PRAKTEK)
TEORI ALGORITMA.
ALGORITMA ERIK HADI SAPUTRA.
- PERTEMUAN 1 - DASAR-DASAR ALGORITMA, PROGRAM, DAN PEMROGRAMAN
Design and Analysis of Algorithm Recursive Algorithm Analysis
SEKOLAH TINGGI MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA (STIKOM) LOGIKA DAN ALGORITMA.
LOGIKA & ALGORITMA Pengertian & Contoh Algoritma
Desain dan Analisis Algoritma
BAB I DASAR-DASAR ALGORITMA
Algoritma Pemrograman #Pengantar Algoritma Dosen M.Wildan Eltika S.Kom
Algoritma dan Struktur Data
BAB I DASAR-DASAR ALGORITMA. ALGORITMA An algorithm is “a precise rule (or set of rules) specifying how to solve some problem.” (thefreedictionary.com)
PENGANTAR ALGORITMA DAN PEMROGRAMAN
Pengertian Algoritma Sumber Kepustakaan : gerlan1986.files.wordpress.com/.../materi-ii-penge... 1 Algoritma adalah kumpulan instruksi-instruksi/ perintah–perintah/langkah-langkah.
Algoritma (Komputer).
Tenia Wahyuningrum, SKom., MT Dasar-dasar Algoritma.
Pengenalan Algoritma.
Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 1 PENGENALAN PERANCANGAN & ANALISIS ALGORITMA.
Algoritma?!? Flowchart ?!?# DASAR PEMROGRAMAN.
Algoritma dan Pemrograman
1 Session 4 Decision Making For Computer Operations Management (Linear Programming Method)
1 Diselesaikan Oleh KOMPUTER Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. ALGORITMA.
P ERTEMUAN K E -2 T UGAS K ELOMPOK 3.2 A LGORITMA & P ROGRAM P EMBAGI TEKECIL SUATU BILANGAN.
Pengantar Algoritma.
Pemodelan untuk Ilmu Komputasi
MERANCANG PROGRAM DAN PSEUDOCODE 1 Metode Perancang Program.
PERTEMUAN 1.
Algoritma dan Pemrograman
Analisis dan desain Algoritma (PG157)
Pertemuan 1 Muhamad Haikal,S.Kom., MT
KECERDASAN BUATAN PERTEMUAN 10.
LOGIKA & ALGORITMA -Pengertian & Contoh Algoritma
Algoritma dan Pemrograman 1
Start.
Pengertian Algoritma dan Flowchart
SYSTEM FLOWCHART.
Pemrograman Terstruktur
ALGORITMA DAN PEMROGRAMAN (PERTEMUAN 2)
Algoritma.
Bab 2B Struktur Dasar 2 Pengulangan
Pertemuan 5 KONVERSI NFA MENJADI DFA
KECERDASAN BUATAN PERTEMUAN 10.
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pertemuan ke 9.
Desain dan Analisis Algoritma
PENGANTAR ALGORITMA.
KONSEP LOGIKA DAN ALGORITMA PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
1. Jelaskan yang dimaksud dengan POST…?
DASAR PEMROGRAMAN Anita Qoiriah ..
UJIAN TERDIRI ATAS 50 SOAL
Algoritma dan Pemrograman I
Pengantar Algoritma.
Algoritma.
LOGIKA & ALGORITMA -Pengertian & Contoh Algoritma
Analisa algoritma rekursif
Algoritma dan Struktur Data
Pencarian (searching)
TEORI ALGORITMA.
STRUKTUR DATA NAMA : ALDI NUGROHO SETYO PAMBUDI NIM :
Pengertian Dasar Logika dan Algoritma. LOGIKA Pertama kali diperkenalkan oleh Aristoteles (384 – 322 SM) Logika berasal dari kata Yunani kuno λόγος (logos)
UJIAN TERDIRI ATAS 50 SOAL
ALGORITMA 1 Temu 1.
Aplikasi Komputer Pertemuan 8 Dasar Algoritma
Algoritma & Pemrograman 1 Chapter 1 Achmad Fitro The Power of PowerPoint – thepopp.com.
Algoritma dan Pemrograman
Transcript presentasi:

BAB I DASAR-DASAR ALGORITMA

ALGORITMA An algorithm is “a precise rule (or set of rules) specifying how to solve some problem.” (thefreedictionary.com) Muhammad al-Khwarizmi Arab mathematician of the court of Mamun in Baghdad in the 9th century…the word algorithm is said to have been derived from his name. Much of the mathematical knowledge of medieval Europe (algebra) was derived from Latin translations of his works. (encyclopedia.com) • The study of algorithms is one of the key foundations of computer science.

FIRST ALGORITHM Perhatikan pseudocode berikut ini (1) Input x (2) Input y (3) While x  0 do (a) b= x modulo y (b) set x= y (c) set y = b (d) kembali ke langkah 3 (4) Output x Jika nilai x = 114, dan y = 54, berapa outputnya?

PENYAJIAN ALGORITMA Kata-kata Pseudocode Flowchart

Algoritma di kehidupan sehari-hari Tuliskan resep membuat nasi goreng! Tuliskan langkah-langkah merakit kompor gas! Tuliskan langkah-langkah menginstall Windows XP. Tuliskan langkah-langkah menyelesaikan Sistem Persamaan Linear dua peubah a1x + b1 y =c1 dan a2x + b2y =c2 Tuliskan langkah-langkah membuah grafik y = f(x)

Algoritma adalah suatu fungsi

Apa yang diperlukan oleh Algoritma? SPESIFIKASI INPUT Agar bisa dijalankan sebuah algoritma memerlukan spesifikasi input yang jelas Contoh: Membuat resep makanan : Installasi software : Menjahit baju : Spesifikasi input dalam algoritma komputer Jenis data apa yang diperlukan Berapa banyak data yang diperlukan Dari mana data tersebut diinputkan (bentuk form, atau yang lain)

Apa yang diperlukan oleh Algoritma? PROCESS Selain input, algoritma memerlukan langkah- langkah yang jelas dan tepat untuk menyatakan bagaimna melakukan operasi untuk mendapatkan output yang diinginkan  menyatakan proses dalam algoritma Algoritma menyatkan kumpulan operas-operasi dasar yang diasumsikan dimengerti oleh eksekutor algoritma Resep makanan: haluskan, goreng, rebus, tiriskan, … Komputasi: add, multiply, modulo, div, output, …

Apa yang diperlukan oleh Algoritma? SPESIFIKASI OUTPUT Hasil apa yang diperlukan Bagaimana penyajian output Apa yang terjadi dengan output jika iput error

Bagaimna membuat Algoritma baik? Harus menghasilkan output yang benar untuk input yang legal Sebisa mungkin mengeksekusi secara efisien dengan jumlah langkah seminimal mungkin Sebisamungkin didesain sedemikian rupa sehingga orang lain mampu memahami dan memodifikasi untuk keperluan lebih lanjut

Contoh Algoritma Misalkan diberikan algoritma berikut (1) Input: n (2) Input : Array A[1], A[2], …A[n] of integer (3) Set i=2 (4) Set m = A[1] (5) While i<=n do (a) if A[i] <m then set m=A[i] (b) Set i=i+1 (6) Output m Jika diberikan n = 5 dan A=[4, 7, 3, 5, 9, 8]

Melacak Algoritma Nilai awal i=2, m=4. Berikutnya ada looping yang harus dicek (1) Input: n=5 (2) Input : A=[4, 7, 3, 5, 9, 8] (3) Set i=2 (4) Set m = A[1] (5) While i<=n do (a) if A[i] <m then set m=A[i] (b) Set i=i+1 (6) Output m i m 2 3 4 5

Contoh Algoritma 2 1. Input : n 2. Input : array A[1], A[2], …, A[n] of integer 3. For i=1 to n do 4. for j=1 to n-1 do 5. If A[j] > A[j+1], exchange A[j] and A[j+1] 6. Output A Jika n = 5 dan A = [8,4,9,3,7], tentukan output nya

Contoh Algoritma 3 Apakah hasil dari algoritma di atas? Apakah pada langkah 3 perlu melakukan n kali perulangan? Apakah pada langkah 4 perlu n-1 perulangan Coba lakukan algoritma ini untuk input yang sama 1. Input : n 2. Input : array A[1], A[2], …, A[n] of integer 3. For i=1 to n-1 do for j=1 to n-i do If A[j] > A[j+1], exchange A[j] and A[j+1] 4. Output A

Effisiensi algoritma Hitunglah pada algoritma 2 dan 3 ada berapa kali pengecekan if .. Then … Apa kesimpulanmu?

LATIHAN Buat Algoritma dengan kata-kata untuk beberapa masalah berikut Menentukan jenis segitiga berdasarkan panjang sisi a, b, dan c (lancip, tumpul, siku-siku) Menentukan KPK dari dua bilangan integer x dan y Menentukan persamaan garis singgung y=f(x) di titik (x,y) Menentukan apakah sebuah bilangan prima atau bukan Mencari nilai Pn(x) dengan input : n, koefisien A[1..n] dan nilai x dan output hasilnya

Aturan penulisan algoritma dengan pseudocode) ALGORITMA Mencari Max //keterangan tujuan algoritma //keterangan input //keterangan output (1) Input: n (2) Input: array A[1], A[2], ..A[n] of integer (3) Process… (4) Process… … (11) Output max

Aturan penulisan algoritma dengan pseudocode) SINTAX: If …then …else … If (kondisi) then pernyataan 1 else pernyataan 2 ATAU If (kondisi) then pernyataan 1 pernyataan 2 …. else if pernytaan 1 pernytaan 2

Aturan penulisan algoritma dengan pseudocode) SINTAX FOR … TO … DO For i=nilaiawal to nilaiakhir do pernyataan 1 pernyataan 2 …. pernytaan n

Aturan Penulisan Algoritma SINTAX WHILE… DO … While (kondisi) do pernyataan 1 pernyataan 2 …. pernytaan n

LATIHAN Tuliskan algoritma berikut dalam pseudo code Menentukan apakah sebuah bilangan genap atau ganjil Menentukan bilangan terbesar dari tiga angka a, b, c Menentukan jumlah n bilangan kuadrat pertama (input bilanagan integer n, output: jumlah n bilangan kuadrat yang pertama) Menentukan 4 + 7+10 + ..+ Un (input:n) PR nomer 1 Menentukan bilangan fibonacci ke-n: 1, 2, 3, 5, 8, ..Fn (Input n)

Menentukan jenis segitiga berdasarkan panjang sisi a, b, dan c (lancip, tumpul siku-siku) (diketahui c adalah sisi terpanjang) Menentukan apakah sebuah bilangan prima atau bukan Mencari nilai Pn(x) dengan input : n, koefisien A[0..n] dan nilai x dan output hasilnya Mencari solusi SPL dua variabel dengan input koefisien-koefisien persamaan linear, output adalah x dan y

LATIHAN (MENELUSURI ALGORITMA) PR nomer 2 Ada sebanyak 100 loker di sebuah asrama, dinomori secara urut dari 1 sampai 100. Setiap loker dilengkapi sebuah tombol yang jika ditekan akan merubah posisi loker. Jika tertutup menjadi terbuka dan sebaliknya. Posisi awal semua loker tertutup. Selanjutnya Anda langkah berikut. Langkah pertama dimulai dari loker 1, Anda tekan tombol pada semua loker i, i=1,2, …, 100. Pada langkah kedua, dimulai dari loker nomor 2 Anda tekan tombol pada loker bernomor genap(2, 4, 6…). Pada langkah ketiga, dimulai loker nomor 3 Anda tekan tombol pada loker kelipatan 3 (3, 6, 9, …) dan seterusnya. Setelah langkah ke 100, ada berapa loker yang tertutup?

LATIHAN (MENELUSURI ALGORITMA) PR ke-3 ALGORITMA Sesuatu (1) Input: n (2) Input: array A[1..n] of integer (3) Set d= (4) For i=1 to n do (5) For j=1 to n do (6) If ij and |A[i]-A[j]|<d then (7) Set d=A[i]-A[j] (8) Output d Tentukan Outputnya jika diberikan n = 8, dan A=[2 3 7 11 4 14 10 8]

PENYAJIAN ALGORITMA DENGAN FLOWCHART Flowcharts digunakan untuk menunjukkan aliran kontrol dari suatu algoritma berjalan step by step dalam sajian visual Flowcharts terdiri dari beberapa komponen Sebuah Oval utk menunjukkan START Sebarisan Kotak-kotak dengan operas-operasi dalam algoritma (Kotak bisa persegi panjang, jajar genjang, belah ketupat) Panah-panah untuk menunjukkan urutan kotak-kotak dievaluasi dalam algoritma Sebuah Oval menunjukkan STOP or END

SEQUENTIAL FLOW Suatu operasi assignment (penugasan) memberikan suatu variabel sebuah nilai khusus atau merubah nilai lama menjadi nilai baru Operasi Assignment disajikan dalam flow chart dengan menggunakan persegi panjang yang didalamnya dituliskan operasi assignment yang dimaksud Contoh

INPUT Operasi input memberikan suatu variabel dengan nilai data yang diberikan oleh user/pengguna algoritma Operasi input disajikan dalam flowchart menggunakan jajar genjang dengan panah kecil masuk dari samping Isi dari jajar genjang adalah variabel yang diinisialisasi Contoh

OUTPUT Operasi Output menampilkan nilai data variabel atau pesan kepada user dalam algoritma Output disajikan dalam flowchart menggunakan jajar genjang dengan panah kecil keluar dari samping Isi dari jajar genjang adalah variabel atau pesan yang hendak ditampilkan Contoh

CONTOH Algoritma menentukan akar-akar persamaan kuadrat ax2 +bx + c =0

OPERASI KONDISIONAL (BERSYARAT) Operasi bersyarat menetukan aliran algoritma berdasarkan syarat tertentu Digunakan untuk kasus If .. Then … atau while.. Do Dilambangkan dengan belah ketupat dengan uji kondisi di dalamnya Contoh:

CONTOH Algoritma mencari akar-akar persamaan ax2 + bx + c = 0

LATIHAN PR 4 dan 5 Sajikan algoritma berikut dalam bentuk flow chart Menentukan jenis segitiga berdasarkan panjang sisi a,b,c (diketahui sisi terpanjang adalah c) Menentukan nilai dalam huruf (A, B, C, D, E) dari nilai angka skala 0-100

OPERASI LOOP (PERULANGAN) Perulangan mengindikasikan adanya operasi yang dilakukan secara berulang selama kondisi dipenuhi Contoh struktur perulangan : WHILE … DO Direpresentasikan dalam flowchart dengan tanda belah ketupat yang didalamya terdapat kondisi syarat. Pada dua ujung yang lain terdapat alur ke mana jika syarat dipenuhi dan tidak dipenuhi. Proses di dalam perulangan bisa terdiri dari satu operasi atau lebih yang diakhiri dengan panah kembali ke atas untuk memeriksa kembali syarat

OPERASI LOOP (PERULANGAN) Contoh

OPERASI PERULANGAN Struktur perulangan : FOR … TO … DO

Buat Flowchart untuk menentukan algoritma berikut PR NO 6, 7, 8 Menentukan nilai 2n (Gunakan while do) Buat flowchart untuk soal nomer 1 dan 3