Dasar-dasar Algoritma
Tenia Wahyuningrum, SKom., MT
Asal Usul Kata




   Al
             Algorism   Algorithm   Algoritma
Khuwarizmi
Abu Ja’far Mohammed
                          ibn-Musa Al-Khwarizmi
                          Buku : Al Jabar Wal
                          Muqabala (Pemugaran
                          dan pengurangan)




Baghdad , sekitar tahun 780 s.d 850.
Definisi Algoritma

 Urutan langkah-langkah logis
 penyelesaian masalah yang disusun
 secara sistematis dan logis.

       LOGIS
                   Benar
 Sesuai dengan
                  menurut    Masuk akal
     logika
                 penalaran
Pertimbangan algoritma

       Harus                     Hasil yang
       benar                      dicapai
Output sesuai yang dikehendaki         Harus mampu
                                       memberikan hasil
                                       yang sedekat
                                       mungkin dengan
                                       nilai sebenarnya
    Efisiensi

Efisiensi waktu dan memori
“Setiap orang dapat membuat

algoritma yang berbeda untuk

  menyelesaikan masalah”
Jawablah

       Sebutkan contoh
       algoritma
       dalam kehidupan
       sehari-hari!
Contoh
No   Proses          Algoritma Contoh Langkah dalam
                               Algoritma
1    Membuat Kue Resep           Masukan telur dalam wadah,
                 Kue             kocok hingga mengembang
2    Membuat         Pola        Gunting kain dari pinggir kiri
     pakaian         pakaian     bawah ke arah kanan sejauh 5 cm
3    Merakit mobil   Panduan     Sambungkan komponen A dengan
     tamiya          merakit     komponen B
4    Kegiatan        Jadwal      Pukul 06.00 : mandi pagi
     sehari-hari     harian      Pukul 07.00 : berangkat kuliah
5    Mengisi         Panduan     Tekan 888
     voucher HP      pengisian   Masukkan nomor voucher
Pemroses
   Membuat kue  koki / chef
   Membuat pakaian  penjahit
   Memainkan lagu  pianis

Pemroses harus

                          Mengerjakan
     Mengerti setiap
                          operasi yang
     langkah dalam
                          bersesuaian
        algoritma
                       dengan langkah tsb
AlGoRitMa, pRogRAm &
BaHaSA




                                                Bahasa Pemrograman
Algoritma




                         Program
            Metode &               Kumpulan                          Bahasa
            Tahapan                Pernyataan                        untuk
            sistematis             komputer                          berinteraksi
                                                                     manusia
                                                                     dengan
                                                                     komputer
• bahasa mesin          MLL   • Bahasa
                                c, pascal, basic, dll
                 • assembly




        LLL                             HLL
Formula

    ALgoritma




                Program

     Bahasa
001100011   !@!@*#)(@)
              !(@_**
Bagaimana cara mereka
   berkomunikasi?
   Interpreter menerjemahkan program baris per
    baris artinya jika suatu baris akan
    dieksekusi, maka baris tersebut diterjemahkan
    dulu ke bahasa mesin.
   Contoh : bahasa basic
Interpreter &
Interpreter    Compiler
                              Compiler




                Menerjemahkan
Menerjemahk semua perintah      Gabungan
  an            kemudian         keduanya
baris per baris menjalankanny
                a
Java
Dengan menggunakan kata-
kata
Contoh masalah




      A          B
Algoritma TukarIsiBejana
   Diberikan dua buah bejana, A dan B; bejana A berisi
   larutan berwarna merah, bejan B berisi larutan
   berwarna biru. Pertukarkan isi kedua bejana itu
   sedemikian sehingga bejan A berisi larutan berwarna
   biru dan bejan B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari bejan A ke dalam bejana C.
2. Tuangkan larutan dari bejan B ke dalam bejana A.
3. Tuangkan larutan dari bejan C ke dalam bejana B.
Dengan menggunakan
flowchart
Contoh masalah

 Jika lampu di rumah
 mati, apa yang harus
 dilakukan?
Dengan flowchart
Dengan pseudocode
Dengan pseudocode

“Satu cara untuk mewujudkan (atau
kadang-kadang melakukan kodifikasi)
suatu algoritma adalah dengan
penulisan pseudocode”
Pseudocode

  1              2            3
                                               TEXT



Tidak          Tidak ada    Beberapa
menggunak      aturan       penulis
an sintaksis   baku         sedikit meminjam
bahasa         dalam        sintaks bahasa
pemrograma     penulisann   tertentu
n tertentu     ya
Dengan pseudocode
Algorithm LargestNumber
 Input: A non-empty list of numbers L.
 Output: The largest number in the list L.

 largest ← -∞
 for each item in the list L, do
     if the item > largest, then
     largest ← the item
 return largest
Contoh lain pseudocode
Regular code (written in PHP):
<?php
if ($foo == "bar")
{
 $yesFoo = true;
 }                   Pseudocode:
 else                If the value of foo is equal to bar
{                        then make "yesFoo" true
 $yesFoo = false;        otherwise, make "yesFoo" false
 }
 ?>
Latihan
          7+3=?
   Mulai
   Masukkan angka pertama
   Pilih “+”
   Masukkan angka kedua
   Hasil  angka pertama + angka kedua
   Pilih “=“
   Tampilkan hasil
   Selesai
mulai
                           a


     Masukkan
      angka 1          Tampilkan
                         hasil

      Pilih “+”
                         selesai

     Masukkan
      angka 2



Hasil=angka1+angka 2




         a
Latihan di kelas
 Tulislah algoritma untuk mencari luas segitiga
 jika masukan dari pengguna adalah alas dan
 tinggi!
 (dengan menggunakan kalimat dan flowchart)
Tugas Kecil 1
   Buatlah algoritma algoritma untuk mencari sisi
    miring dari suatu segitiga siku-siku jika
    diketahui panjang dua sisi yang membentuk
    sudut siku-siku, menggunakan kalimat dan
    flowchart
   Tuliskan contoh algoritma dalam kehidupan
    sehari-hari, beserta langkah-langkahnya
   Deadline 1 Minggu
Dasar algoritma

Dasar algoritma

  • 1.
  • 2.
    Asal Usul Kata Al Algorism Algorithm Algoritma Khuwarizmi
  • 3.
    Abu Ja’far Mohammed ibn-Musa Al-Khwarizmi Buku : Al Jabar Wal Muqabala (Pemugaran dan pengurangan) Baghdad , sekitar tahun 780 s.d 850.
  • 4.
    Definisi Algoritma Urutanlangkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. LOGIS Benar Sesuai dengan menurut Masuk akal logika penalaran
  • 5.
    Pertimbangan algoritma Harus Hasil yang benar dicapai Output sesuai yang dikehendaki Harus mampu memberikan hasil yang sedekat mungkin dengan nilai sebenarnya Efisiensi Efisiensi waktu dan memori
  • 6.
    “Setiap orang dapatmembuat algoritma yang berbeda untuk menyelesaikan masalah”
  • 7.
    Jawablah Sebutkan contoh algoritma dalam kehidupan sehari-hari!
  • 8.
    Contoh No Proses Algoritma Contoh Langkah dalam Algoritma 1 Membuat Kue Resep Masukan telur dalam wadah, Kue kocok hingga mengembang 2 Membuat Pola Gunting kain dari pinggir kiri pakaian pakaian bawah ke arah kanan sejauh 5 cm 3 Merakit mobil Panduan Sambungkan komponen A dengan tamiya merakit komponen B 4 Kegiatan Jadwal Pukul 06.00 : mandi pagi sehari-hari harian Pukul 07.00 : berangkat kuliah 5 Mengisi Panduan Tekan 888 voucher HP pengisian Masukkan nomor voucher
  • 9.
    Pemroses  Membuat kue  koki / chef  Membuat pakaian  penjahit  Memainkan lagu  pianis Pemroses harus Mengerjakan Mengerti setiap operasi yang langkah dalam bersesuaian algoritma dengan langkah tsb
  • 10.
    AlGoRitMa, pRogRAm & BaHaSA Bahasa Pemrograman Algoritma Program Metode & Kumpulan Bahasa Tahapan Pernyataan untuk sistematis komputer berinteraksi manusia dengan komputer
  • 11.
    • bahasa mesin MLL • Bahasa c, pascal, basic, dll • assembly LLL HLL
  • 12.
    Formula ALgoritma Program Bahasa
  • 13.
    001100011 !@!@*#)(@) !(@_**
  • 14.
    Bagaimana cara mereka berkomunikasi?
  • 15.
    Interpreter menerjemahkan program baris per baris artinya jika suatu baris akan dieksekusi, maka baris tersebut diterjemahkan dulu ke bahasa mesin.  Contoh : bahasa basic
  • 16.
    Interpreter & Interpreter Compiler Compiler Menerjemahkan Menerjemahk semua perintah Gabungan an kemudian keduanya baris per baris menjalankanny a
  • 17.
  • 18.
  • 19.
  • 21.
    Algoritma TukarIsiBejana Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejan B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejan A berisi larutan berwarna biru dan bejan B berisi larutan berwarna merah. Deskripsi: 1. Tuangkan larutan dari bejan A ke dalam bejana C. 2. Tuangkan larutan dari bejan B ke dalam bejana A. 3. Tuangkan larutan dari bejan C ke dalam bejana B.
  • 22.
  • 23.
    Contoh masalah Jikalampu di rumah mati, apa yang harus dilakukan?
  • 24.
  • 25.
  • 26.
    Dengan pseudocode “Satu carauntuk mewujudkan (atau kadang-kadang melakukan kodifikasi) suatu algoritma adalah dengan penulisan pseudocode”
  • 27.
    Pseudocode 1 2 3 TEXT Tidak Tidak ada Beberapa menggunak aturan penulis an sintaksis baku sedikit meminjam bahasa dalam sintaks bahasa pemrograma penulisann tertentu n tertentu ya
  • 28.
    Dengan pseudocode Algorithm LargestNumber Input: A non-empty list of numbers L. Output: The largest number in the list L. largest ← -∞ for each item in the list L, do if the item > largest, then largest ← the item return largest
  • 29.
    Contoh lain pseudocode Regularcode (written in PHP): <?php if ($foo == "bar") { $yesFoo = true; } Pseudocode: else If the value of foo is equal to bar { then make "yesFoo" true $yesFoo = false; otherwise, make "yesFoo" false } ?>
  • 30.
    Latihan 7+3=?
  • 31.
    Mulai  Masukkan angka pertama  Pilih “+”  Masukkan angka kedua  Hasil  angka pertama + angka kedua  Pilih “=“  Tampilkan hasil  Selesai
  • 32.
    mulai a Masukkan angka 1 Tampilkan hasil Pilih “+” selesai Masukkan angka 2 Hasil=angka1+angka 2 a
  • 33.
    Latihan di kelas Tulislah algoritma untuk mencari luas segitiga jika masukan dari pengguna adalah alas dan tinggi! (dengan menggunakan kalimat dan flowchart)
  • 34.
    Tugas Kecil 1  Buatlah algoritma algoritma untuk mencari sisi miring dari suatu segitiga siku-siku jika diketahui panjang dua sisi yang membentuk sudut siku-siku, menggunakan kalimat dan flowchart  Tuliskan contoh algoritma dalam kehidupan sehari-hari, beserta langkah-langkahnya  Deadline 1 Minggu