Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi
 Berasal dari nama penulis buku arab yang 
terkenal yaitu Abu Ja’far Muhammad Ibnu Musa 
Al-Khuwarizmi. 
 Al-Khuwarizmi dibaca orang barat menjadi 
Algorism. 
 Karena perhitungan dengan angka Arab sudah 
menjadi hal yang biasa, maka lambat laun kata 
algorithm berangsur-angsur dipakai sebagai 
metode perhitungan (komputasi) secara umum, 
sehingga kehilangan makna kata aslinya. 
 Dalam bahasa Indonesia, kata algorithm diserap 
menjadi algoritma.
 “Algoritma adalah urutan langkah-langkah yang 
disusun secara logis dan sistematis”. 
 “Algoritma adalah urutan langkah-langkah 
memecahkan masalah [ MUN11 ] “ 
 “Algoritma adalah deretan instruksi yg jelas untuk 
memecahkan masalah, yaitu untuk memperoleh 
keluaran yang di inginkan [ COR92 ] “
 “Algoritma adalah urutan langkah-langkah yang disusun 
secara logis dan sistematis”. 
 Perbedaannya dengan program, yaitu program 
merupakan kumpulan pernyataan komputer, 
sedangkan metode dan tahapan sistematis dalam 
program adalah algoritma. Program ditulis dengan 
menggunakan bahasa pemrograman. Jadi bisa 
disebut bahwa program adalah suatu implementasi 
dari bahasa pemrograman. 
 Beberapa pakar memberi formula bahwa: 
 Program = Algoritma + Bahasa (Struktur Data)
Diselesaikan 
Oleh 
KOMPUTER 
Langkah-langkah harus 
tersusun secara 
LOGIS 
dan Efisien 
agar dapat 
menyelesaikan tugas 
dengan BENAR 
dan Efisien. 
ALGORITMA 
adalah langkah-langkah 
yang diambil dalam 
menyelesaikan suatu tugas
ALGORITMA 
merupakan gabungan antara SENI dan 
TEKNIK 
TEKNIK, 
Karena Algoritma adalah 
suatu pekerjaan yang 
bersifat rancang bangun 
Seni, 
karena Algoritma penuh 
dengan kreativitas 
dan imajinasi yang 
jenius
 Dalam kehidupan sehari_hari kita banyak menemukan 
langkah_langkah pengerjaan sesuatu, meskipun kita 
tidak menyebutnya algoritma misalnya : 
 Resep membuat masakan 
 Mengkatifkan vocher pulsa 
 Panduan praktikum 
 Menggunakan alat kerja 
 dll
 Finiteness 
 Algoritma harus berhenti after a finite number of 
steps 
 Definiteness 
 Setiap langkah harus didefinisikan secara tepat, 
tidak boleh membingungkan (ambiguous) 
 Input 
 Sebuah algoritma memiliki nol atau lebih input 
yang diberikan kepada algoritma sebelum 
dijalankan 
 Output 
 Sebuah algoritma memiliki satu atau lebih output, 
yang biasanya bergantung kepada input 
 Effectiveness 
 Setiap algoritma diharapkan miliki sifat efektif
 Misalkan sisi sungai kita namakan A dan sisi 
sungai sebrangya kita namakan B. keadaanya 
awalnya, di sisi A ada pemuda (P), srigala (S), 
kambing (K), dan sayur (Y). 
 Keadaan akhir yang kita inginkan adalah di 
sisi B ada pemuda (P), srigala (S), kambing (K), 
dan sayur (Y), 
 Bagaimanakah algoritmanya ?
 Dalam bahasa natural (Bahasa Indonesia, 
Bahasa Inggris, dan bahasa manusia lainnya) 
 Tapi sering membingungkan (ambiguous) 
 Menggunakan flow chart (diagram alir) 
 Bagus secara visual akan tetapi repot kalau 
algoritmanya panjang 
 Menggunakan pseudo-code 
 Sudah lebih dekat ke bahasa pemrograman, 
namun sulit dimengerti oleh orang yang tidak 
mengerti pemrograman
Buat sebuah algoritma untuk 
memilih bilangan terbesar 
dari 3 buah bilangan 
 Nantinya ini bisa 
digeneralisir menjadi n buah 
bilangan
1. Ambil bilangan pertama dan set maks sama 
dengan bilangan pertama 
2. Ambil bilangan kedua dan bandingkan 
dengan maks 
3. Apabila bilangan kedua lebih besar dari maks, 
set maks sama dengan bilangan kedua 
4. Ambil bilangan ketiga dan bandingkan 
dengan maks 
5. Apabila bilangan ketiga lebih besar dari maks, 
set maks sama dengan bilangan ketiga 
6. Variabel maks berisi bilangan terbesar. 
Tayangkan hasilnya
Mulai 
Maks = bilangan pertama 
Maks < 
bilangan kedua 
Maks = bilangan kedua 
Tidak 
Maks < 
bilangan ketiga 
Maks = bilangan ketiga 
Ya 
Ya 
Tidak 
Selesai
maks ← bilangan pertama 
if (maks < bilangan kedua) 
maks ← bilangan kedua 
if (maks < bilangan ketiga) 
maks ← bilangan ketiga
Learning 
Algorithms 
by 
practical ways
Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. 
Susun algoritma untuk mencetak total kedua buah bilangan 
tersebut. 
Algoritma 
secara Umum 
A  5 
B  4 
T  A + B 
WRITE(T) 
Algoritma dalam 
Bahasa C 
#include<stdio.h> 
void main() 
{ int A,B,T; 
A = 5; 
B = 4; 
T = A + B; 
printf(“%i”, T); 
} 
Algoritma dalam 
Bahasa C++ 
#include<iostream.h> 
void main() 
{ int A,B,T; 
A = 5; 
B = 4; 
T = A + B; 
cout << T; 
} 
Soal
Algoritma 
secara Umum 
A  5 
B  4 
T  A + B 
WRITE(T) 
Dapat ditulis 
secara bebas 
asal dapat 
dimengerti oleh 
orang lain 
A = 5 
B = 4 
T = A + B 
WRITE(T) 
Dapat diganti misal : 
A diisi 5 
Dapat diganti, 
misalnya dengan : 
WRITE T 
PRINT ( T ) 
PRINT T 
CETAK T 
TULIS T 
Print T 
Write T 
dan sebagainya 
asal dipahami 
Seperti yang 
dicontohkan 
dalam buku 
literatur
ALGORITMA 
adalah langkah-langkah 
yang diambil dalam 
menyelesaikan suatu tugas 
Direncanakan 
yang 
menyelesaikan 
tugas atau 
pekerjaan 
tersebut adalah : 
KOMPUTER 
atau pekerjaan 
A  5 
B  4 
T  A + B 
WRITE(T) 
ADA 
4 
LANGKAH 
Satu langkah identik 
dengan satu instruksi
SEHINGGA DAPAT DIKATAKAN : 
ALGORITMA 
adalah INSTRUKSI-INSTRUKSI 
yang diberikan kepada KOMPUTER 
untuk menyelesaikan suatu pekerjaan 
Komputer memang 
dirancang untuk dapat 
menerima dan 
melaksanakan instruksi 
yang diberikan kepadanya
Direncanakan yang 
menyelesaikan 
tugas atau 
pekerjaan tersebut 
adalah : 
KOMPUTER 
A  5 
B  4 
T  A + B 
WRITE(T) 
Komputer 
hanya mengerti 
bahasanya sendiri 
yang disebut 
BAHASA MESIN 
ALGORITMA YANG DITULIS 
SEPERTI INI , TIDAK 
DIPAHAMI OLEH KOMPUTER 
karena 
Tidak disiapkan alat untuk 
menerjemahkan ALGORITMA 
tersebut menjadi 
BAHASA MESIN 
ALGORITMA 
adalah INSTRUKSI-INSTRUKSI 
yang diberikan kepada KOMPUTER untuk 
menyelesaikan suatu pekerjaan
Algoritma 
secara Umum 
A  5 
B  4 
T  A + B 
WRITE(T) 
Algoritma dalam 
Bahasa C 
#include<stdio.h> 
void main() 
{ int A,B,T; 
A = 5; 
B = 4; 
T = A + B; 
printf(“%i”, T); 
} 
Algoritma dalam 
Bahasa C++ 
#include<iostream.h> 
void main() 
{ int A,B,T; 
A = 5; 
B = 4; 
T = A + B; 
cout << T; 
} 
TIDAK 
DIMENGERTI 
OLEH 
KOMPUTER 
DIMENGERTI OLEH KOMPUTER 
karena 
disiapkan atau disediakan ALAT PENERJEMAH nya 
menjadi BAHASA MESIN
Algoritma dalam 
Bahasa C 
#include<stdio.h> 
void main() 
{ int A,B,T; 
A = 5; 
B = 4; 
T = A + B; 
printf(“%i”, T); 
} 
Algoritma dalam 
Bahasa C++ 
#include<iostream.h> 
void main() 
{ int A,B,T; 
A = 5; 
B = 4; 
T = A + B; 
cout << T; 
} 
Agar dapat diterjemahkan menjadi BAHASA MESIN, 
maka ALGORITMA harus ditulis dalam suatu Bahasa 
Pemrograman (Programming Language) 
Contoh : Bahasa C
 Program adalah instruksi yang di susun untuk 
menyelesaikan sebuah masalah dengan menggunakan 
komputer 
 Algoritma yg ditulis dalam bahasa komputer dinamakan 
program 
 Bahasa komputer yg digunakan dalam menulis program 
dinamakan bahasa pemrograman 
 Orang yg membuat program komputer disebut pemrogram 
 Dan kegiatan merancang dan menulis program disebut 
pemrograman 
 Aktivitas menulis kode program disebut coding
 Belajar memprogram berarti mempelajari 
metodologi pemecahan masalah kemudian 
menuliskan algoritma pemecahan masalah dalam 
notasi tertentu [ LIE96 ]. 
 Sedangkan belajar bahasa pemrograman berarti 
belajar memakai suatu bahasa komputer, aturan tata 
bahasanya, instruksi-instruksinya, tata cara 
pengoperasianya tersebut untuk membuat program 
yg ditulisn hanya dalam bahasa itu saja [ LIE96 ]
 Mengerti persoalan yg akan di selesaikan 
 Menganalisa persoalan ( diagram alur ) 
 Menulis program 
 Menguji program 
 Meyimpan sebagai dokumentasi
 Kebenaran logika dan penulisan 
program harus memiliki ketepatan, ketelitian, dan 
kebenaran dalam perhitungan sehingga hasilnya 
dapat di percaya. 
 Waktu minimum untuk menulis program 
waktu minimum adalah waktu yang harus di 
sediakan secara wajar untuk menyusun program 
dari awal hingga siap di operasikan
 Kecepatan maksimum eksekusi program 
kecepatan maksimum program dapat di tingkatkan 
dengan struktur program yang benar dan tepat. 
 Ekspresi penggunaan memori 
untuk dapat meminimumkan penggunaan memori , 
maka perlu di perhatikan, pengunaan tipe data yang 
cocok sesuai program dan hindari penggunaan yang 
berulang-ulang terhadap variabel berindeks.
 Kemudahan dan merawat dan mengembangkan 
program 
program hendaknya memiliki struktur 
pemrograman yang baik, struktur data yang jelas, 
dan dilengkapi dengan dokumentasi sehingga 
mudah untuk di pahami, diuji dan dikembangkan. 
 User friendly 
program harus memiliki fasilitas-fasilitas yang 
memberikan kemudahan kepada penggunanya
 Portabilitas 
usahakan program yang di buat dapat di 
operasikan dengan berbagai jenis sistem operasi 
dan perangkat keras yang berbeda 
 Pemrograman modular 
modul program adalah sekumpulan instruksi yang 
memiliki operasi-operasi dan data yang 
didefinisikan; memiliki struktur internal yang tidak 
tergantung pada subprogram yang lain dan 
merupakan satu kesatuan yang utuh yang akan di 
eksekusi secara berulang-ulang
Pemrogram adalah orang yg bekerja menyusun 
suatu program untuk menghasilkan program 
yang baik di butuhkan pemrogram yang baik 
dan berkualitas. 
 Mampu menyusun algoritma dengan baik 
 Menguasai bahasa dan teknik penulisan 
program dengan baik 
 Dapat bekerja sama dalam team kerja 
 Dapat bekerja secara efisien dan tepat waktu
 MUN 2011 Algoritma dan 
Pemrograman 
 Algoritma dan Pemrograman; 
Teori dan Praktik dalam Pascal 
Edisi Kedua_Normal_bab 1 
 Ppt Dosen Korlap ibu Aulia
Percayalah semua pengorbanan yang kamu 
Lakukan tidak akan pernah sia_SIA 
KARENA TUHAN MELIHAT ITU SEMUA 
Thank You

Algoritma 1 pertemuan 1

  • 1.
    Abu Ja’far MuhammadIbnu Musa Al-Khuwarizmi
  • 2.
     Berasal darinama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.  Al-Khuwarizmi dibaca orang barat menjadi Algorism.  Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya.  Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
  • 3.
     “Algoritma adalahurutan langkah-langkah yang disusun secara logis dan sistematis”.  “Algoritma adalah urutan langkah-langkah memecahkan masalah [ MUN11 ] “  “Algoritma adalah deretan instruksi yg jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang di inginkan [ COR92 ] “
  • 4.
     “Algoritma adalahurutan langkah-langkah yang disusun secara logis dan sistematis”.  Perbedaannya dengan program, yaitu program merupakan kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.  Beberapa pakar memberi formula bahwa:  Program = Algoritma + Bahasa (Struktur Data)
  • 5.
    Diselesaikan Oleh KOMPUTER Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan BENAR dan Efisien. ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas
  • 6.
    ALGORITMA merupakan gabunganantara SENI dan TEKNIK TEKNIK, Karena Algoritma adalah suatu pekerjaan yang bersifat rancang bangun Seni, karena Algoritma penuh dengan kreativitas dan imajinasi yang jenius
  • 7.
     Dalam kehidupansehari_hari kita banyak menemukan langkah_langkah pengerjaan sesuatu, meskipun kita tidak menyebutnya algoritma misalnya :  Resep membuat masakan  Mengkatifkan vocher pulsa  Panduan praktikum  Menggunakan alat kerja  dll
  • 8.
     Finiteness Algoritma harus berhenti after a finite number of steps  Definiteness  Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous)  Input  Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan  Output  Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input  Effectiveness  Setiap algoritma diharapkan miliki sifat efektif
  • 9.
     Misalkan sisisungai kita namakan A dan sisi sungai sebrangya kita namakan B. keadaanya awalnya, di sisi A ada pemuda (P), srigala (S), kambing (K), dan sayur (Y).  Keadaan akhir yang kita inginkan adalah di sisi B ada pemuda (P), srigala (S), kambing (K), dan sayur (Y),  Bagaimanakah algoritmanya ?
  • 10.
     Dalam bahasanatural (Bahasa Indonesia, Bahasa Inggris, dan bahasa manusia lainnya)  Tapi sering membingungkan (ambiguous)  Menggunakan flow chart (diagram alir)  Bagus secara visual akan tetapi repot kalau algoritmanya panjang  Menggunakan pseudo-code  Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti pemrograman
  • 11.
    Buat sebuah algoritmauntuk memilih bilangan terbesar dari 3 buah bilangan  Nantinya ini bisa digeneralisir menjadi n buah bilangan
  • 12.
    1. Ambil bilanganpertama dan set maks sama dengan bilangan pertama 2. Ambil bilangan kedua dan bandingkan dengan maks 3. Apabila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua 4. Ambil bilangan ketiga dan bandingkan dengan maks 5. Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga 6. Variabel maks berisi bilangan terbesar. Tayangkan hasilnya
  • 13.
    Mulai Maks =bilangan pertama Maks < bilangan kedua Maks = bilangan kedua Tidak Maks < bilangan ketiga Maks = bilangan ketiga Ya Ya Tidak Selesai
  • 14.
    maks ← bilanganpertama if (maks < bilangan kedua) maks ← bilangan kedua if (maks < bilangan ketiga) maks ← bilangan ketiga
  • 15.
    Learning Algorithms by practical ways
  • 16.
    Diketahui dua buahbilangan masing- masing bernilai 5 dan 4. Susun algoritma untuk mencetak total kedua buah bilangan tersebut. Algoritma secara Umum A  5 B  4 T  A + B WRITE(T) Algoritma dalam Bahasa C #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T); } Algoritma dalam Bahasa C++ #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } Soal
  • 17.
    Algoritma secara Umum A  5 B  4 T  A + B WRITE(T) Dapat ditulis secara bebas asal dapat dimengerti oleh orang lain A = 5 B = 4 T = A + B WRITE(T) Dapat diganti misal : A diisi 5 Dapat diganti, misalnya dengan : WRITE T PRINT ( T ) PRINT T CETAK T TULIS T Print T Write T dan sebagainya asal dipahami Seperti yang dicontohkan dalam buku literatur
  • 18.
    ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas Direncanakan yang menyelesaikan tugas atau pekerjaan tersebut adalah : KOMPUTER atau pekerjaan A  5 B  4 T  A + B WRITE(T) ADA 4 LANGKAH Satu langkah identik dengan satu instruksi
  • 19.
    SEHINGGA DAPAT DIKATAKAN: ALGORITMA adalah INSTRUKSI-INSTRUKSI yang diberikan kepada KOMPUTER untuk menyelesaikan suatu pekerjaan Komputer memang dirancang untuk dapat menerima dan melaksanakan instruksi yang diberikan kepadanya
  • 20.
    Direncanakan yang menyelesaikan tugas atau pekerjaan tersebut adalah : KOMPUTER A  5 B  4 T  A + B WRITE(T) Komputer hanya mengerti bahasanya sendiri yang disebut BAHASA MESIN ALGORITMA YANG DITULIS SEPERTI INI , TIDAK DIPAHAMI OLEH KOMPUTER karena Tidak disiapkan alat untuk menerjemahkan ALGORITMA tersebut menjadi BAHASA MESIN ALGORITMA adalah INSTRUKSI-INSTRUKSI yang diberikan kepada KOMPUTER untuk menyelesaikan suatu pekerjaan
  • 21.
    Algoritma secara Umum A  5 B  4 T  A + B WRITE(T) Algoritma dalam Bahasa C #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T); } Algoritma dalam Bahasa C++ #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } TIDAK DIMENGERTI OLEH KOMPUTER DIMENGERTI OLEH KOMPUTER karena disiapkan atau disediakan ALAT PENERJEMAH nya menjadi BAHASA MESIN
  • 22.
    Algoritma dalam BahasaC #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T); } Algoritma dalam Bahasa C++ #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } Agar dapat diterjemahkan menjadi BAHASA MESIN, maka ALGORITMA harus ditulis dalam suatu Bahasa Pemrograman (Programming Language) Contoh : Bahasa C
  • 23.
     Program adalahinstruksi yang di susun untuk menyelesaikan sebuah masalah dengan menggunakan komputer  Algoritma yg ditulis dalam bahasa komputer dinamakan program  Bahasa komputer yg digunakan dalam menulis program dinamakan bahasa pemrograman  Orang yg membuat program komputer disebut pemrogram  Dan kegiatan merancang dan menulis program disebut pemrograman  Aktivitas menulis kode program disebut coding
  • 24.
     Belajar memprogramberarti mempelajari metodologi pemecahan masalah kemudian menuliskan algoritma pemecahan masalah dalam notasi tertentu [ LIE96 ].  Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa komputer, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasianya tersebut untuk membuat program yg ditulisn hanya dalam bahasa itu saja [ LIE96 ]
  • 25.
     Mengerti persoalanyg akan di selesaikan  Menganalisa persoalan ( diagram alur )  Menulis program  Menguji program  Meyimpan sebagai dokumentasi
  • 26.
     Kebenaran logikadan penulisan program harus memiliki ketepatan, ketelitian, dan kebenaran dalam perhitungan sehingga hasilnya dapat di percaya.  Waktu minimum untuk menulis program waktu minimum adalah waktu yang harus di sediakan secara wajar untuk menyusun program dari awal hingga siap di operasikan
  • 27.
     Kecepatan maksimumeksekusi program kecepatan maksimum program dapat di tingkatkan dengan struktur program yang benar dan tepat.  Ekspresi penggunaan memori untuk dapat meminimumkan penggunaan memori , maka perlu di perhatikan, pengunaan tipe data yang cocok sesuai program dan hindari penggunaan yang berulang-ulang terhadap variabel berindeks.
  • 28.
     Kemudahan danmerawat dan mengembangkan program program hendaknya memiliki struktur pemrograman yang baik, struktur data yang jelas, dan dilengkapi dengan dokumentasi sehingga mudah untuk di pahami, diuji dan dikembangkan.  User friendly program harus memiliki fasilitas-fasilitas yang memberikan kemudahan kepada penggunanya
  • 29.
     Portabilitas usahakanprogram yang di buat dapat di operasikan dengan berbagai jenis sistem operasi dan perangkat keras yang berbeda  Pemrograman modular modul program adalah sekumpulan instruksi yang memiliki operasi-operasi dan data yang didefinisikan; memiliki struktur internal yang tidak tergantung pada subprogram yang lain dan merupakan satu kesatuan yang utuh yang akan di eksekusi secara berulang-ulang
  • 30.
    Pemrogram adalah orangyg bekerja menyusun suatu program untuk menghasilkan program yang baik di butuhkan pemrogram yang baik dan berkualitas.  Mampu menyusun algoritma dengan baik  Menguasai bahasa dan teknik penulisan program dengan baik  Dapat bekerja sama dalam team kerja  Dapat bekerja secara efisien dan tepat waktu
  • 31.
     MUN 2011Algoritma dan Pemrograman  Algoritma dan Pemrograman; Teori dan Praktik dalam Pascal Edisi Kedua_Normal_bab 1  Ppt Dosen Korlap ibu Aulia
  • 32.
    Percayalah semua pengorbananyang kamu Lakukan tidak akan pernah sia_SIA KARENA TUHAN MELIHAT ITU SEMUA Thank You