Anda di halaman 1dari 22

TEKNIK PEMROGRAMAN MIKROPROSESOR DAN MIKROKONTROLER

ALGORITMA DAN
FLOWCHART

X TEI 1 PERTEMUAN 3
ALGORITMA

 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.
 Urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan
tertentu, tidak boleh melompat-lompat.
ALGORITMA

 Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara


tertulis.

 Alur pikiran, sehingga algoritma seseorang


dapat juga berbeda dari algoritma orang lain.
 Tertulis, yang artinya dapat berupa kalimat,
gambar, atau tabel tertentu.
 Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar atau
salah.
ALGORITMA

 Algoritma adalah blueprint dari program.


 Sebaiknya disusun sebelum membuat
program.
 Kriteria suatu algoritma:
– Ada input dan output
– Efektif dan efisien
– Terstruktur
MENGAPA HARUS ADA ALGORITMA??

 Pembuatan atau penulisan algoritma tidak


tergantung pada bahasa pemrograman
manapun.
 Notasi algoritma dapat diterjemahkan ke dalam
berbagai bahasa pemrograman.
 Apapun bahasa pemrogramannya, output yang
akan dikeluarkan sama karena algoritmanya
sama.
SYARAT ALGORITMA YANG BAIK

 Tingkat kepercayaannya tinggi (realibility) Hasil


yang diperoleh dari proses harus berakurasi tinggi dan benar.
 Pemrosesan yang efisien (cost rendah)
Proses harus diselesaikan secepat mungkin dan frekuensi
kalkulasi yang sependek mungkin.
 Sifatnya general
Bukan sesuatu yang hanya untuk menyelesaikan satu kasus
saja, tapi juga untuk kasus lain yang lebih general.
SYARAT ALGORITMA YANG BAIK

 Bisa dikembangkan (expandable)


Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan
perubahan requirement yang ada.
 Mudah dimengerti
Siapapun yang melihat, dia akan bisa memahami algoritma Anda.
Susah dimengertinya suatu program akan membuat susah di-
maintenance (kelola).
 Portabilitas yang tinggi (portability)
Bisa dengan mudah diimplementasikan di berbagai platform komputer.
 Precise (tepat, betul, teliti)
SYARAT ALGORITMA YANG BAIK

 Efektif
Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh
pemroses yang akan menjalankannya.
 Harus terminate
Jalannya algoritma harus ada kriteria berhenti.
 Output yang dihasilkan tepat.
ALGORTIMA DALAM KEHIDUPAN
 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.
ALGORITMA DALAM KEHIDUPAN SEHARI-
HARI
KRITERIA ALGORITMA

 Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
 Output: algoritma harus memiliki minimal satu buah output keluaran.
 Definiteness(pasti): algoritma memiliki instruksi-instruksi yang jelas dan
tidak ambigu.
 Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping
role).
 Effectiveness(tepat dan efisien): algoritma sebisa mungkin harus dapat
dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A +
0 atau A = A * 1
JENIS PROSES ALGORITMA

 Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.


 Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
 Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi
tertentu.
 Concurrent Process: beberapa instruksi dikerjakan secara bersama.
SIFAT UMUM ALGORITMA

 Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman


 Tidak tergantung pada suatu bahasa pemrograman
 Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun
CONTOH ALGORIMA 1
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.
CONTOH ALGORITMA 2

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
CONTOH ALGORITMA 3

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.
CONTOH ALGORITMA 4

Algoritma menghitung luas persegi panjang:


 Masukkan panjang (P)
 Masukkan lebar (L)
 Luas ←P * L
 Tulis Luas
PSEUDOCODE

 Kode atau tanda yang menyerupai (pseudo) program atau merupakan


pejelasan cara menyelesaikan suatu masalah.
 Pseudocode sering digunakan oleh manusia untuk menuliskan algoritma
CONTOH PSEUDOCODE 1

Problem: Mencari bilangan terbesar dari dua bilangan yang diinputkan


Contoh Algoritma:
 Masukkan bilangan pertama
 Masukkan bilangan kedua
 Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak,
kerjakan langkah 5.
 Tampilkan bilangan pertama
 Tampilkan bilangan kedua
CONTOH PSEUDOCODE 2

Contoh Pseudo-code:
 Input a
 Input b
 If a > b then kerjakan langkah 4
 print a
 print b
PERBANDINGAN ALGORITMA DENGAN
PSEUDOCODE

Algoritma Pseudo-code
Nilai A ditambah dengan 5 A ←A + 5
Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A
Dari dua bilangan A dan B, cari bilangan IF A > B THEN PRINT A ELSE PRINT
yang terbesar B
SELESAI MATERI HARI INI

Kesimpulan:
Tulislah kesimpulan pada materi algoritma dan flowchart di buku tulis, kemudian
foto dan upload tugas anda maksimal hari Jumat, 27 Agustus 2021 pukul 23.59.

Link daftar hadir dan upload tugas:


https://docs.google.com/forms/d/e/1FAIpQLSfTzmNjImWPWEVVVoEI_cORZ_UDW-
2WRiRijmOY5pVMAxKXfA/viewform

TERIMAKASIH

Anda mungkin juga menyukai