foundation of algorithm
TRANSCRIPT
Apakah ALGORITMA ? Untuk Apa ALGORITMA ? Karakateristik ALGORITMA Struktur Dasar ALGORITMA Penyajian ALGORITMA Analisis ALGORITMA Rahasia Belajar Algoritma
Asal kata Abu Ja’far Muhammad Ibn Musa Al Khuwarizmi Al Jabar Wal Muqabata.
“Permasalahan yang Besar dapat diselesaikan dengan membaginya ke dalam masalah-masalah yang lebih kecil”
“Permasalahan yang Besar dapat diselesaikan dengan membaginya ke dalam masalah-masalah yang lebih kecil”
(Rinaldi Munir :2002) urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis
(KBBI :1988) urutan logis pengambilan keputusan untuk pemecahan masalah
(Team Gunadarma :1988) suatu himpunan hingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik
Untuk apa Untuk apa ALGORITMA?ALGORITMA?
Menentukan dengan tepat langkah2 apa yg harus diambil untuk mencapai tujuan sehingga dapat ditempuh dengan efektif dan efisien.
Algoritma dibutuhkan (terkait dengan komputer): untuk memerintah komputer mengambil
langkah-langkah tertentu dalam menyelesaikan masalah
Menurut Donald E. Knuth :1. Algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas.2. Setiap langkah harus didefinisikan secara tepat dan
tidak berarti dua.3. Algoritma memiliki nol atau lebih masukan (input).4. Algoritma mempunyai nol atau lebih keluaran
(output).5. Algoritma harus sangkil (efektif)
Pembuatan algoritma harus selalu dikaitkan dengan:Kebenaran algoritmaKompleksitas (lama dan jumlah waktu proses dan penggunaan memori)
“Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien) dengan langkah yang berhingga dan prosesnya berakhir baik dalam keadaaan diperoleh suatu solusi ataupun tidak adanya solusi.”
1. Berurutan (sequence):langkah dikerjakan secara berurutan (sekuensial).
2. Percabangan (selection):langkah dikerjakan JIKA memenuhi kondisi tertentu
3. Pengulangan (iteration): langkah dikerjakan SELAMA memenuhi suatu kondisi tertentu.
4. Konkuren (concurrent): beberapa langkah dikerjakan secara bersama.
Penyajian ALGORITMA
• Teknik tulisan; English Structure Pseudocode
• Gambar Metode structure chart, Hierarchy plus input-process-output Flowchart Nassi Schneiderman chart
1. Bagaimana merencanakan algoritma 2. Bagaimana menyatakan suatu algoritma
(menulis algoritma)3. Bagaimana validitas suatu algoritma.4. Bagaimana Menganalisa suatu Algoritma.5. Bagaimana Menguji Program dari suatu
Algoritma
Ad.1. Bagaimana merencanakan algoritma
Dengan Mendefinisikan masalah.
Contoh : Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran.
Rumus : ∏ . r2 dengan Phi = 3.14 atau 22/7.
Ad.2.Bagaimana menyatakan suatu algoritma (menulis algoritma)
◦ Dengan psudocodeSuatu cara penulisan algoritma agar ide dan logika dari algoritma dapat disampaikan/diekspresikan menggunakan gaya bahasa pemrograman tertentu.
Phi 3.14Input (diameter)Radius diameter / 2Luar phi * radius * radiusOutput (Luas)End
Untuk melihat effisiensi dan efektifitas dari suatu algoritma, dapat dilihat dari:
1. Waktu Tempuh dari Suatu Algoritma2. Jumlah memori yang digunakan
Hal-hal yang dapat mempengaruhi waktu tempuh adalah :1. Banyaknya langkah.2. Besar dan jenis input data.3. Jenis Operasi.4. Komputer dan kompilator
Mau membaca tulisan, artikel, dokumentasi, howto, atau bantuan (Help) berbahasa Inggris
Membaca source code atau meniru program-program sederhana
Mencoba dan Mencoba Mengerjakan Proyek Terus.. Bertanya ke teman yang sudah bisa Mencari di internet Bertanya di milis atau forum