Setelah menyelesaikan bab ini,
anda diharapkan dapat:
• Mengerti tentang algoritma.
• Membuat algoritma dari suatu permasalahan.
• Mengerti tentang flowchart.
• Membuat flowchart dari suatu
  permasalahan.
• Adalah inti dari ilmu
  komputer.
• Algoritma adalah urutan
  langkah-langkah logis
  penyelesaian masalah
  yang disusun secara
  sistematis dan logis.
• Kata logis merupakan kata kunci dalam algoritma.
• Algoritma adalah urutan-urutan dari instruksi atau
  langkah-langkah untuk menyelesaikan suatu
  masalah.
   Langkah-langkah dalam
    algoritma harus dapat
    ditentukan bernilai benar atau
    salah.
• Algoritma adalah blueprint dari program.
• Sebaiknya disusun sebelum membuat program.
• Kriteria suatu algoritma:
  – Ada input dan output
  – Efektif dan efisien
  – Terstruktur
• Algoritma adalah jantung ilmu komputer atau
  informatika. Banyak cabang ilmu komputer yang diacu
  dalam terminologi algoritma.
• Algoritma juga digunakan dalam kehidupan sehari-
  hari, contohnya resep makanan. Di dalam resep
  makanan terdapat langkah-langkah yang merupakan
  algoritma.
Mengirim surat kepada teman:
1. Tulis surat pada secarik kertas surat.
2. Ambil sampul surat.
3. Masukkan surat ke dalam sampul.
4. Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka
   tulis alamat pada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian
   tulis alamat pada sampul surat.
7. Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk diposkan.
Mengupas Kentang untuk Makan Malam
 􀂄 Ibu Tati mengambil kantong kentang dari rak
 􀂄 Ibu Tati mengambil panci dari almari
 􀂄 Ibu Tati mengupas kentang
 􀂄 Ibu Tati mengembalikan kantong kentang dari rak
Ada hal yang “tergantung”pada sesuatu:
 􀂄 Ibu Tati mengambil kantong kentang dari rak
 􀂄 Ibu Tati mengambil panci dari almari
 􀂄 Lakukan persiapan, gunakan celemek, pakaian
  tergantung hari
 􀂄 Ibu Tati mengupas kentang
 􀂄 Ibu Tati mengembalikan kantong kentang dari rak
• Hari Sabtu :
 􀂄 “Ibu Tati melihat bahwa bajunya tidak berwarna
  muda karena itu ia tidak memakai celemek”(berarti
  tidak ada aksi memakai celemek)
• Hari Minggu:
 􀂄 “Ibu Tati melihat bahwa bajunya berwarna muda
  karena itu ia memakai celemek”
• Jadi:
 􀂄 Ambil kantong kentang dari rak
 􀂄 Ambil panci dari almari
 􀂄 Depend on warna baju
   􀂄 berwarna muda : Pakai celemek
   􀂄 tidak berwarna muda : Tidak pakai celemek
 􀂄 Kupas kentang
 􀂄 Kembalikan kantong kentang ke rak
Karena dapat pesanan, maka kentang yg harus
  dikupas 500 buah
 􀂄 tergantung pada jumlah kentang yang sudah dikupas
   􀂄 belum cukup : Kupas 1 kentang
     􀂄 cukup : selesai
Atau:
 􀂄    while jumlah kentang terkupas belum cukup do
      􀂄 Kupas 1 kentang
Bisa jadi pada saat mengupas kentang tergantung pada
   kentangnya, jika rusak / busuk, buang, tidak dikupas
Jadi:
 􀂄 Jika jumlah kentang terkupas belum cukup do
   􀂄 Tergantung pada kondisi kentang
       􀂄 Busuk: buang dan cari kentang berikutnya, tidak dihitung
       􀂄 Tidak Busuk: kupas 1 kentang
Menentukan apakah suatu bilangan merupakan
bilangan ganjil atau bilangan genap.
•    Masukkan sebuah bilangan sembarang
•    Bagi bilangan tersebut dengan bilangan 2
•    Hitung sisa hasil bagi pada langkah 2.
•    Bila sisa hasil bagi sama dengan 0 maka bilangan itu
     adalah bilangan genap tetapi bila sisa hasil bagi sama
     dengan 1 maka bilangan itu adalah bilangan ganjil.
• Bagan-bagan yang mempunyai arus yang menggambarkan langkah-
  langkah penyelesaian suatu masalah.
• Merupakan cara penyajian dari suatu algoritma.
• Ada 2 macam Flowchart :
  – System Flowchart  urutan proses dalam system
    dengan menunjukkan alat media input, output serta
    jenis media penyimpanan dalam proses
    pengolahan data.
  – Program Flowchart  urutan instruksi yang
    digambarkan dengan symbol tertentu untuk
    memecahkan masalah dalam suatu program.
• Flow Direction Symbols (Simbol penghubung alur)
• Processing Symbols (Simbol proses).
• Input-output Symbols (Simbol input-output)
• Tidak ada kaidah yang baku.
• Flowchart = gambaran hasil analisa suatu masalah
• Flowchart dapat bervariasi antara satu pemrogram
  dengan pemrogram      lainnya.
• Secara garis besar ada 3 bagian utama:
      – Input
      – Proses
      – Output
• Hindari pengulangan proses yang tidak
  perlu dan logika yang berbelit sehingga
  jalannya proses menjadi singkat.
• Jalannya proses digambarkan dari atas
  ke bawah dan diberikan tanda panah
  untuk memperjelas.
Selalu dimulai dengan BEGIN:

                   Begin


Jangan lupa
menggambar garis




                   End
Input / Output          Begin


                                    Jangan lupa garis

                     Input/output

Mungkin anda ingin
berkomunikasi
dengan pemakai
Proses                       Begin




                             Input
Anda dpt melakukan
perhitungan di dlm proses

                            Proses
Begin



                          Input


Anda dapat menampilkan
                         Proses
hasil di output


                          Output   End
• Dengan kondisi Anda tidak memiliki uang tunai sekarang,
  buatlah algoritma dan flowchart untuk mengambil uang di ATM
  terdekat dari posisi anda sekarang !
• Buatlah flowchart untuk menampilkan deret bilangan
  berikut :
      1, 1, 2, 3, 5, 8, 13
• Buatlah flowchart untuk ...

Algoritma dan flowchart

  • 2.
    Setelah menyelesaikan babini, anda diharapkan dapat: • Mengerti tentang algoritma. • Membuat algoritma dari suatu permasalahan. • Mengerti tentang flowchart. • Membuat flowchart dari suatu permasalahan.
  • 3.
    • Adalah intidari ilmu komputer. • Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.
  • 4.
    • Kata logismerupakan kata kunci dalam algoritma. • Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah.
  • 5.
    Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar atau salah.
  • 6.
    • Algoritma adalahblueprint dari program. • Sebaiknya disusun sebelum membuat program. • Kriteria suatu algoritma: – Ada input dan output – Efektif dan efisien – Terstruktur
  • 7.
    • Algoritma adalahjantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. • Algoritma juga digunakan dalam kehidupan sehari- hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah-langkah yang merupakan algoritma.
  • 10.
    Mengirim surat kepadateman: 1. Tulis surat pada secarik kertas surat. 2. Ambil sampul surat. 3. Masukkan surat ke dalam sampul. 4. Tutup sampul surat menggunakan perekat. 5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat. 6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat. 7. Tempel perangko pada surat. 8. Bawa surat ke kantor pos untuk diposkan.
  • 11.
    Mengupas Kentang untukMakan Malam 􀂄 Ibu Tati mengambil kantong kentang dari rak 􀂄 Ibu Tati mengambil panci dari almari 􀂄 Ibu Tati mengupas kentang 􀂄 Ibu Tati mengembalikan kantong kentang dari rak
  • 12.
    Ada hal yang“tergantung”pada sesuatu: 􀂄 Ibu Tati mengambil kantong kentang dari rak 􀂄 Ibu Tati mengambil panci dari almari 􀂄 Lakukan persiapan, gunakan celemek, pakaian tergantung hari 􀂄 Ibu Tati mengupas kentang 􀂄 Ibu Tati mengembalikan kantong kentang dari rak
  • 13.
    • Hari Sabtu: 􀂄 “Ibu Tati melihat bahwa bajunya tidak berwarna muda karena itu ia tidak memakai celemek”(berarti tidak ada aksi memakai celemek) • Hari Minggu: 􀂄 “Ibu Tati melihat bahwa bajunya berwarna muda karena itu ia memakai celemek”
  • 14.
    • Jadi: 􀂄Ambil kantong kentang dari rak 􀂄 Ambil panci dari almari 􀂄 Depend on warna baju 􀂄 berwarna muda : Pakai celemek 􀂄 tidak berwarna muda : Tidak pakai celemek 􀂄 Kupas kentang 􀂄 Kembalikan kantong kentang ke rak
  • 15.
    Karena dapat pesanan,maka kentang yg harus dikupas 500 buah 􀂄 tergantung pada jumlah kentang yang sudah dikupas 􀂄 belum cukup : Kupas 1 kentang 􀂄 cukup : selesai Atau: 􀂄 while jumlah kentang terkupas belum cukup do 􀂄 Kupas 1 kentang
  • 16.
    Bisa jadi padasaat mengupas kentang tergantung pada kentangnya, jika rusak / busuk, buang, tidak dikupas Jadi: 􀂄 Jika jumlah kentang terkupas belum cukup do 􀂄 Tergantung pada kondisi kentang 􀂄 Busuk: buang dan cari kentang berikutnya, tidak dihitung 􀂄 Tidak Busuk: kupas 1 kentang
  • 17.
    Menentukan apakah suatubilangan merupakan bilangan ganjil atau bilangan genap. • Masukkan sebuah bilangan sembarang • Bagi bilangan tersebut dengan bilangan 2 • Hitung sisa hasil bagi pada langkah 2. • Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.
  • 18.
    • Bagan-bagan yangmempunyai arus yang menggambarkan langkah- langkah penyelesaian suatu masalah. • Merupakan cara penyajian dari suatu algoritma. • Ada 2 macam Flowchart : – System Flowchart  urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. – Program Flowchart  urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
  • 19.
    • Flow DirectionSymbols (Simbol penghubung alur) • Processing Symbols (Simbol proses). • Input-output Symbols (Simbol input-output)
  • 22.
    • Tidak adakaidah yang baku. • Flowchart = gambaran hasil analisa suatu masalah • Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya. • Secara garis besar ada 3 bagian utama: – Input – Proses – Output
  • 23.
    • Hindari pengulanganproses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. • Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
  • 24.
    Selalu dimulai denganBEGIN: Begin Jangan lupa menggambar garis End
  • 25.
    Input / Output Begin Jangan lupa garis Input/output Mungkin anda ingin berkomunikasi dengan pemakai
  • 26.
    Proses Begin Input Anda dpt melakukan perhitungan di dlm proses Proses
  • 27.
    Begin Input Anda dapat menampilkan Proses hasil di output Output End
  • 33.
    • Dengan kondisiAnda tidak memiliki uang tunai sekarang, buatlah algoritma dan flowchart untuk mengambil uang di ATM terdekat dari posisi anda sekarang !
  • 34.
    • Buatlah flowchartuntuk menampilkan deret bilangan berikut : 1, 1, 2, 3, 5, 8, 13 • Buatlah flowchart untuk ...