Algoritma Pemrograman
Definisi Algoritma 
• Algoritma berasal dari kata algorism yang artinya proses menghitung 
dengan angka arab. 
• para ahli sejarah matematika menemukan asal kata tersebut berasal dari 
nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu 
Musa Al-Khuwarizmi. 
• Al-Khuwarizmi dibaca orang barat menjadi Algorism. 
• Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala 
yang artinya Buku pemugaran dan pengurangan (The book of restoration 
and reduction). 
• Seseorang dikatakan algorist jika ia menghitung menggunakan angka Arab.
Algoritma adalah logika, metode dan tahapan 
(urutan) sistematis yang digunakan untuk 
memecahkan suatu permasalahan. 
Didalam kamus besar bahasa Indonesia (Balai 
Pustaka 1988) : 
Algoritma adalah urutan logis pengambilan 
putusan untuk pemecahan masalah.
• Program komputer adalah rangkaian kata perintah 
yang telah dimengerti oleh komputer untuk 
dikerjakannya. 
• Program adalah kumpulan instruksi atau perintah yang 
disusun sedemikian rupa sehingga mempunyai urutan 
nalar yang tepat untuk menyelesaikan suatu 
persoalan.(Menurut P. Insap Santosa) 
• Bahasa pemrograman adalah kumpulan perintah-perintah 
bermakana, berstruktur tertentu (syntax) yang 
dapat dimengerti komputer yang berguna dalam 
menyelesaikan masalah.
Konsep Algoritma 
• Langkah-langkah umum dalam pembuatan suatu program yaitu: 
1. Mendefinisikan masalah 
2. Mencari solusinya 
3. Menentukan algoritma 
4. Menulis program 
5. Menguji program 
6. Mendokumentasikan program 
7. Merawat program
Contoh Algorima : 
• Terdapat dua buah gelas, gelas A dan gelas B. 
• Gelas A berisi air berwarna merah 
• gelas B berisi air berwarna biru, 
• kita ingin menukartan isi air kedua gelas tersebut, 
sehingga gelas A berisi air berwarna biru dan gelas B 
berisi air berwarna merah.
Algoritma Tukar_Isi_Gelas : 
1. Tuangkan air dari gelas A ke gelas B 
2. Tuangkan air dari gelas B ke gelas A
• Algoritma diatas tidak menghasilkan 
pertukaran yang benar, langkah-langkahnya 
tidak logis, karena yang terjadi bukan 
pertukaran tetapi percampuran antara air di 
gelas A dengan air di gelas B. Sehingga 
algoritma Tukar_Isi_Gelas diatas salah.
Algoritma Tukar_Isi_Gelas :
• ALGORITMA PE-UBAH 
adalah variabel yang nilainya bukan konstanta 
(selalu berubah- sesuai dengan kondisi Variabel 
terkini). 
Sintaks : P = Q 
Algoritma : PQ 
Artinya : 
– Nnilai P diberi harga nilai Q, 
– Nilai P akan sama dengan nilai Q 
– Nilai Q tetap.
• Hubungan antara algoritma, masalah dan 
solusi dapat digambarkan sebagai berikut : 
Masalah Algorima Solusi 
• krtiteria program yang baik : 
1. Correct :benar. 
2. Clear :jelas. 
3. Efficient :efisien.
Perbedaan Algoritma dan Program 
• Program adalah kompulan instruksi komputer, 
• metode dan tahapan sistematis dalam program 
adalah algoritma. 
• Program = Struktur Data + Algoritma 
• Program ini ditulis dengan menggunakan bahasa 
pemrograman.
• Beberapa hal yang perlu diperhatikan dalam membuat 
algoritma: 
1. Teks algoritma berisi deskripsi langkah-langkah 
penyelesaian masalah.Deskripsi tersebut dapat ditulis 
dalam notasi apapun asalkan mudah dimengerti dan 
dipahami. 
2. Tidak ada notasi yang baku dalam penulisan teks 
algoritma seperti notasi bahasa pemrograman. Notasi 
yang digunakan dalam menulis algoritma disebut notasi 
algoritmik. 
3. Setiap orang dapat membuat aturan penulisan dan notasi 
algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak 
sama dengan teks program.
4. Notasi algoritmik bukan notasi bahasa 
pemrograman. 
5. Algoritma sebenarnya digunakan untuk 
membantu kita dalam mengkonversikan suatu 
permasalahan ke dalam bahasa pemrograman. 
6. Algoritma merupakan hasil pemikiran 
konseptual, supaya dapat dilaksanakan oleh 
komputer, algoritma harus ditranslasikan ke 
dalam notasi bahasa pemrograman.
Ciri algoritma yang baik adalah : 
1. Algoritma memiliki logika perhitungan atau metode yang 
tepat dalam menyelesaikan masalah. 
2. Menghasilkan output yang tepat dan benar dalam waktu 
yang singkat. 
3. Algortima ditulis dengan format yang mudah dipahami dan 
mudah diimplementasikan ke dalam bahasa 
pemrograman. 
4. Semua operasi yang dibutuhkan terdefinisi dengan jelas. 
5. Tidak menimbulkan arti ganda (ambiguous). 
6. Semua proses dalam algoritma harus berakhir setelah 
sejumlah langkah dilakukan.
algoritma yang baik menurut Donald E. Knuth 
1. bisa menerima input dari luar, bukan hanya ada 
di dalam program 
2. memiliki sedikitnya sebuah hasil atau output 
3. memiliki kepastian (definiteness) pada setiap 
instruksinya atau tidak memiliki arti yang bias 
(tidak bersifat ambigu) 
4. memiliki batas (finiteness) atau memiliki titik 
henti (stopping role), 
5. bersifat efektif (effectiveness).
• Algoritma dapat disajikan dengan dua teknik 
yaitu teknik tulisan dan teknik gambar. 
– Teknik tulisan biasanya menggunakan metode 
structure english atau bahasa natural dan 
pseudocode, 
– sedangkan teknik gambar biasanya menggunakan 
diagram alir (flow chart).
Struktur Algoritma 
1. Struktur Sekuensial (Runtunan) 
2. Struktur Seleksi (Pemilihan) 
3. Struktur Repetition(Pengulangan)
1. Struktur Sekuensial (Runtunan) 
– Pada struktur sekuensial instruksi dikerjakan secara 
berurutan baris perbaris mulai dari baris pertama hingga 
baris terakhir, tanpa ada loncatan atau perulangan. 
– Tiap instruksi dikerjakan satu per satu. 
– Tiap instruksi dilaksanakan sekali, tidak ada instruksi yang 
diulang. 
– Urutan instruksi yang dilaksanakan pemroses sama dengan 
urutan instruksi sebagai tertulis di dalam teks algoritma. 
– Akhir dari instruksi terakhir merupakan akhir algoritma.
Mulai 
deklar 
asi 
data 
proses 
data 
Selesai
• Urutan instruksi dalam algoritma adalah 
penting. Urutan instruksi menunjukan urutan 
logik penyelesaian masalah. 
• Urutan instruksi yang berbeda mungkin tidak 
ada pengaruh terhadap solusi persoalan, 
tetapi mungkin juga menghasilkan keluaran 
yang berbeda, tergantung pada masalahnya
• Contoh urutan instruksi yang berbeda tetapi tidak 
mempengaruhi hasil: 
1) 
Deklarasi : 
A, B, C, D : integer 
Deskripsi : 
4.read (A, B) {1} 
5.C = A + B {2} 
6.D = A * B {3} 
7.write (C, D) {4} 
2) 
Deklarasi : 
A, B, C, D : integer 
Deskripsi : 
4.read (A, B) 
5.D = A * B 
6.C = A + B 
7.write (C, D) 
3) 
Deklarasi : 
A, B, C, D : integer 
Deskripsi : 
C = A + B 
D = A * B 
read (A, B) 
write (C, D) 
Dari ketiga algoritma hasil C dan D pada algoritma 1 dan 2 
SAMA sedangkan algoritma 3 menghasilkan keluaran yang 
berbeda
2. Struktur Seleksi (Pemilihan) 
Struktur seleksi adalah instruksi yang dipakai 
untuk memilih satu aksi dari beberapa 
kemungkinan aksi berdasarkan suatu syarat.
3. Struktur Repetition(Pengulangan) 
Perulangan adalah instruksi yang dapat mengulang 
sederetan Instruksi secara berulang-ulang sesuai persyaratan 
yang ditetapkan. 
Struktur instruksi perulangan pada dasarnya terdiri atas : 
• Kondisi perulangan 
• Badan (body) perulangan 
• Pencacah (counter) perulangan
Benar 
Salah
Tugas: 
• Buatlah 5 contoh Algoritma dalam kehidupan 
sehari

konsep & struktur algoritma

  • 1.
  • 2.
    Definisi Algoritma •Algoritma berasal dari kata algorism yang artinya proses menghitung dengan angka arab. • para ahli sejarah matematika menemukan asal kata tersebut berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. • Al-Khuwarizmi dibaca orang barat menjadi Algorism. • Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya Buku pemugaran dan pengurangan (The book of restoration and reduction). • Seseorang dikatakan algorist jika ia menghitung menggunakan angka Arab.
  • 3.
    Algoritma adalah logika,metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. Didalam kamus besar bahasa Indonesia (Balai Pustaka 1988) : Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.
  • 4.
    • Program komputeradalah rangkaian kata perintah yang telah dimengerti oleh komputer untuk dikerjakannya. • Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan.(Menurut P. Insap Santosa) • Bahasa pemrograman adalah kumpulan perintah-perintah bermakana, berstruktur tertentu (syntax) yang dapat dimengerti komputer yang berguna dalam menyelesaikan masalah.
  • 5.
    Konsep Algoritma •Langkah-langkah umum dalam pembuatan suatu program yaitu: 1. Mendefinisikan masalah 2. Mencari solusinya 3. Menentukan algoritma 4. Menulis program 5. Menguji program 6. Mendokumentasikan program 7. Merawat program
  • 6.
    Contoh Algorima : • Terdapat dua buah gelas, gelas A dan gelas B. • Gelas A berisi air berwarna merah • gelas B berisi air berwarna biru, • kita ingin menukartan isi air kedua gelas tersebut, sehingga gelas A berisi air berwarna biru dan gelas B berisi air berwarna merah.
  • 7.
    Algoritma Tukar_Isi_Gelas : 1. Tuangkan air dari gelas A ke gelas B 2. Tuangkan air dari gelas B ke gelas A
  • 8.
    • Algoritma diatastidak menghasilkan pertukaran yang benar, langkah-langkahnya tidak logis, karena yang terjadi bukan pertukaran tetapi percampuran antara air di gelas A dengan air di gelas B. Sehingga algoritma Tukar_Isi_Gelas diatas salah.
  • 9.
  • 11.
    • ALGORITMA PE-UBAH adalah variabel yang nilainya bukan konstanta (selalu berubah- sesuai dengan kondisi Variabel terkini). Sintaks : P = Q Algoritma : PQ Artinya : – Nnilai P diberi harga nilai Q, – Nilai P akan sama dengan nilai Q – Nilai Q tetap.
  • 12.
    • Hubungan antaraalgoritma, masalah dan solusi dapat digambarkan sebagai berikut : Masalah Algorima Solusi • krtiteria program yang baik : 1. Correct :benar. 2. Clear :jelas. 3. Efficient :efisien.
  • 13.
    Perbedaan Algoritma danProgram • Program adalah kompulan instruksi komputer, • metode dan tahapan sistematis dalam program adalah algoritma. • Program = Struktur Data + Algoritma • Program ini ditulis dengan menggunakan bahasa pemrograman.
  • 14.
    • Beberapa halyang perlu diperhatikan dalam membuat algoritma: 1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. 2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik. 3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program.
  • 15.
    4. Notasi algoritmikbukan notasi bahasa pemrograman. 5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman. 6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.
  • 16.
    Ciri algoritma yangbaik adalah : 1. Algoritma memiliki logika perhitungan atau metode yang tepat dalam menyelesaikan masalah. 2. Menghasilkan output yang tepat dan benar dalam waktu yang singkat. 3. Algortima ditulis dengan format yang mudah dipahami dan mudah diimplementasikan ke dalam bahasa pemrograman. 4. Semua operasi yang dibutuhkan terdefinisi dengan jelas. 5. Tidak menimbulkan arti ganda (ambiguous). 6. Semua proses dalam algoritma harus berakhir setelah sejumlah langkah dilakukan.
  • 17.
    algoritma yang baikmenurut Donald E. Knuth 1. bisa menerima input dari luar, bukan hanya ada di dalam program 2. memiliki sedikitnya sebuah hasil atau output 3. memiliki kepastian (definiteness) pada setiap instruksinya atau tidak memiliki arti yang bias (tidak bersifat ambigu) 4. memiliki batas (finiteness) atau memiliki titik henti (stopping role), 5. bersifat efektif (effectiveness).
  • 18.
    • Algoritma dapatdisajikan dengan dua teknik yaitu teknik tulisan dan teknik gambar. – Teknik tulisan biasanya menggunakan metode structure english atau bahasa natural dan pseudocode, – sedangkan teknik gambar biasanya menggunakan diagram alir (flow chart).
  • 19.
    Struktur Algoritma 1.Struktur Sekuensial (Runtunan) 2. Struktur Seleksi (Pemilihan) 3. Struktur Repetition(Pengulangan)
  • 20.
    1. Struktur Sekuensial(Runtunan) – Pada struktur sekuensial instruksi dikerjakan secara berurutan baris perbaris mulai dari baris pertama hingga baris terakhir, tanpa ada loncatan atau perulangan. – Tiap instruksi dikerjakan satu per satu. – Tiap instruksi dilaksanakan sekali, tidak ada instruksi yang diulang. – Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi sebagai tertulis di dalam teks algoritma. – Akhir dari instruksi terakhir merupakan akhir algoritma.
  • 21.
    Mulai deklar asi data proses data Selesai
  • 22.
    • Urutan instruksidalam algoritma adalah penting. Urutan instruksi menunjukan urutan logik penyelesaian masalah. • Urutan instruksi yang berbeda mungkin tidak ada pengaruh terhadap solusi persoalan, tetapi mungkin juga menghasilkan keluaran yang berbeda, tergantung pada masalahnya
  • 23.
    • Contoh urutaninstruksi yang berbeda tetapi tidak mempengaruhi hasil: 1) Deklarasi : A, B, C, D : integer Deskripsi : 4.read (A, B) {1} 5.C = A + B {2} 6.D = A * B {3} 7.write (C, D) {4} 2) Deklarasi : A, B, C, D : integer Deskripsi : 4.read (A, B) 5.D = A * B 6.C = A + B 7.write (C, D) 3) Deklarasi : A, B, C, D : integer Deskripsi : C = A + B D = A * B read (A, B) write (C, D) Dari ketiga algoritma hasil C dan D pada algoritma 1 dan 2 SAMA sedangkan algoritma 3 menghasilkan keluaran yang berbeda
  • 24.
    2. Struktur Seleksi(Pemilihan) Struktur seleksi adalah instruksi yang dipakai untuk memilih satu aksi dari beberapa kemungkinan aksi berdasarkan suatu syarat.
  • 26.
    3. Struktur Repetition(Pengulangan) Perulangan adalah instruksi yang dapat mengulang sederetan Instruksi secara berulang-ulang sesuai persyaratan yang ditetapkan. Struktur instruksi perulangan pada dasarnya terdiri atas : • Kondisi perulangan • Badan (body) perulangan • Pencacah (counter) perulangan
  • 27.
  • 28.
    Tugas: • Buatlah5 contoh Algoritma dalam kehidupan sehari