Sejarah Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far
Mohammed Ibnu Musa al-Khowarizmi, ilmuan
Persia yang menulis kitab al jabr w’al-
muqabala (rules of restoration and reduction)
sekitar tahun 825 M
Definisi Algoritma
• Urutan langkah-langkah untuk memecahkan masalah
• Urutan logis pengambilan keputusan untuk memecahkan
masalah
• urutan langkah logis, berarti algoritma harus mengikuti suatu
urutan tertentu, tidak boleh melompat-lompat.
• Alur pemikiran dalam menyelesaikan suatu pekerjaan
yang dituangkan secara tertulis.
• alur pikiran, yang artinya algoritma seseorang dapat berbeda dari
algoritma orang lain.
• tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu.
Algoritma dalam Kehidupan
Algoritma dalam Kehidupan
Definisi Algoritma [2]
• Dalam bidang komputer, algoritma sangat diperlukan
dalam menyelesaikan berbagai masalah pemrograman,
terutama dalam komputasi numeris. Tanpa algoritma yang
dirancang baik maka proses pemrograman akan menjadi
salah, rusak, atau lambat dan tidak efisien.
• Algoritma di butuhkan untuk memerintah komputer
mengambil langkah-langkah tertentu untuk
menyelesaikan masalah
• Algoritma Pemrograman Program
• Agar algoritma dapat memerintah (diproses) komputer,
maka dirubah menjadi bentuk program (melalui proses
pemrograman).
Sifat - Sifat Algoritma
Aspek Penting Algoritma :
• Finite algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas
• Definite setiap langkah didefinisikan secara tepat,
tidak boleh membingungkan (ambigu)
• Input sebuah algoritma memiliki satu/lebih input
sebelum dijalankan
• Output algoritma memiliki satu/lebih output, yang
biasanya bergantung kepada input
• Effective setiap algoritma diharapkan memiliki sifat
efektif. (setiap langkah harus sederhana dan sehingga
dapat dikerjakan dalam waktu yang masuk akal)
Notasi Algoritma
• Penulisan algoritma tidak tergantung dari spesifikasi
Algoritma analisis
analisis Program
Eksekusi Data
Hasil
Suatu Algoritma yg terbaik (The Best):
“Suatu algoritma harus menghasilkan output
yg tepat guna (efektif) dlm waktu yg relatif
singkat & penggunaan memori yg relatif
sedikit (efesien) dgn langkah yg berhingga &
prosedurnya berakhir baik dlm keadaan
diperoleh suatu solusi.“
Contoh:
Sebuah prosedur ketika akan mengirimkan surat kepada
teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku
alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop
surat.
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau
menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis
surat.
Penulisan Algoritma
• Menggunakan bahasa natural (Bahasa manusia:
Indonesia, Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit
dipahami.
• Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot
pembuatannya jika algoritma panjang
• Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti
oleh orang yang belum tahu pemrograman
Menggunakan Natural Language (Bahasa
Natural)
Write an algorithm to perform addition of two number.
• Step 1: read the first number say a
• Step 2: read the second number say b
• Step 3: add the two number and store the result in a
variable c
• Step 4: display the result
Menggunakan Pseudo Code
Algorithm sum(a, b)
//problem description: this algorithm perform addition of two
//number
//input: two integers a and b
//output: addition of two integers
ca+b
Write c
Menggunakan Flowchart
Start Start Statement
Transition
Conditional Statement
Input/output
the value of
a
Input/output
the value of b
proses
c= a + b
Display the
value of c
Akhir
• Buatlah flowchart luas lapangan basket jika P= 28,5 m L=
15 m s
Start
Panjang= 28,5 m
Lebar= 15 m
Luas = Panjang *
Lebar
Write
w
Luas
End
Tahap Analisa Algoritma
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 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
Luas phi * radius * radius
Output (Luas)
End
• Dengan flowchart / Start
diagram alir
Program Flowchart, yaitu
bagan yang menggambar- Phi = 3.14
kan urutan logika dari suatu
prosedur pemecahan Input
masalah. (diameter)
Radius = diameter/2
Luas = phi * radius * radius
Output
Luas
Stop
Tahap Proses Uji Algoritma
Penterjemah :
• Interpreter : menterjemahkan baris per baris instruksi.
Contoh bahasa Basic.
• Compiler : menterjamahkan setelah seluruh instruksi ditulis.
Contoh bahasa Pascal, C, C++, dll.
Interpreters and Compilers (Bits and Bytes, Episode
6).mp4
Tugas (Buat Flowchartnya dan
Pseudocodenya !)
1. Buatlah algoritma untuk menghitung konversi suhu.dari
Celcius menjadi Reamur dan Farenheit.
• Input: suhu dalam Celcius
• Proses: R = 4/5 * C dan F = 9/5 * C + 32
• Output
2. Buatlah algoritma untuk menentukan suatu bilangan
genap atau ganjil
• Input: suatu bilangan
• Ouput: genap / ganjil