Algoritma & Pemrograman
Tahun Pelajaran 2009/2010
oleh :
Choiriyah, S.Pd
Semarang, Juli 2009
 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 apaUntuk 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
Contoh Algoritma di kehidupan Nyata
?
?
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 algoritma
Kompleksitas (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
Algoritma dengan banyak kemungkinan2
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 psudocode
Suatu cara penulisan algoritma agar ide dan logika dari
algoritma dapat disampaikan/diekspresikan
menggunakan gaya bahasa pemrograman tertentu.
Phi  3.14
Input (diameter)
Radius  diameter / 2
Luar  phi * radius * radius
Output (Luas)
End
Untuk melihat effisiensi dan efektifitas dari suatu
algoritma, dapat dilihat dari:
1. Waktu Tempuh dari Suatu Algoritma
2. 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
MEMPROGRAM
BERMAIN
SILAT
Variasi  kombinasi dari algoritma2 dasar
Rangkaian  urutan kombinasi/variasi
 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
Foundation of algorithm

Foundation of algorithm

  • 1.
    Algoritma & Pemrograman TahunPelajaran 2009/2010 oleh : Choiriyah, S.Pd Semarang, Juli 2009
  • 2.
     Apakah ALGORITMA?  Untuk Apa ALGORITMA ?  Karakateristik ALGORITMA  Struktur Dasar ALGORITMA  Penyajian ALGORITMA  Analisis ALGORITMA  Rahasia Belajar Algoritma
  • 3.
     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”
  • 4.
    (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
  • 5.
    Untuk apaUntuk apaALGORITMA?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
  • 6.
    Contoh Algoritma dikehidupan Nyata ? ?
  • 8.
    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)
  • 9.
    Pembuatan algoritma harusselalu dikaitkan dengan: Kebenaran algoritma Kompleksitas (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.”
  • 10.
    1. Berurutan (sequence): langkahdikerjakan 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.
  • 11.
    Penyajian ALGORITMA • Tekniktulisan;  English Structure  Pseudocode • Gambar  Metode structure chart,  Hierarchy plus input-process-output  Flowchart  Nassi Schneiderman chart
  • 12.
  • 13.
    1. Bagaimana merencanakanalgoritma 2. Bagaimana menyatakan suatu algoritma (menulis algoritma) 3. Bagaimana validitas suatu algoritma. 4. Bagaimana Menganalisa suatu Algoritma. 5. Bagaimana Menguji Program dari suatu Algoritma
  • 14.
    Ad.1. Bagaimana merencanakanalgoritma Dengan Mendefinisikan masalah. Contoh : Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran. Rumus : ∏ . r2 dengan Phi = 3.14 atau 22/7.
  • 15.
    Ad.2.Bagaimana menyatakan suatualgoritma (menulis algoritma) ◦ Dengan psudocode Suatu cara penulisan algoritma agar ide dan logika dari algoritma dapat disampaikan/diekspresikan menggunakan gaya bahasa pemrograman tertentu. Phi  3.14 Input (diameter) Radius  diameter / 2 Luar  phi * radius * radius Output (Luas) End
  • 17.
    Untuk melihat effisiensidan efektifitas dari suatu algoritma, dapat dilihat dari: 1. Waktu Tempuh dari Suatu Algoritma 2. 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
  • 18.
    MEMPROGRAM BERMAIN SILAT Variasi  kombinasidari algoritma2 dasar Rangkaian  urutan kombinasi/variasi
  • 19.
     Mau membacatulisan, 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