Anda di halaman 1dari 17

ALGORITMA DAN NOTASINYA

Program

Sistem Operasi
Program
Bahasa Pemograman
3 level bahasapemrograman:

2. Bahasa tingkat
1. Bahasa tingkat rendah 3. Bahasa tingkat tinggi
menengah

Bahasa mesin Bahasa Assembly The 3rd Generation Programming


• Berisi: kode-kode mesin yg • Bahasa simbol dari bahasa Language
hanya dapat diinterpretasikan mesin. • Lebih dekat dengan bahasa manusia
langsung oleh mesin Contoh: ADD, MUL, SUB, dll • Memberi banyak fasilitas kemudahan
komputer. Macro instruksi: sekumpulan dalam pembuatan program misal
• Berupa kode numerik 0 dan 1 kode dalam bahasa assembly. variabel, tipe data, konstanta, struktur
Microcode: sekumpulan (+) : Eksekusi cepat, masih kontrol, loop, fungsi, prosedur, dll.
instruksi dalam bahasa mesin dapat dipelajari daripada Contoh: Pascal, Basic, C++, Java
(+) : Eksekusi cepat bahasa mesin, file kecil (+) : Mudah dipelajari, mendekati
(-) : Sulit dipelajari manusia (-) : Tetap sulit dipelajari, permasalahan yang akan
program sangatpanjang dipecahkan, kode program pendek
(-) : Eksekusi lambat
translate
translate
Translator

2. Bahasa tingkat
1. Bahasa tingkat rendah translate translate 3. Bahasa tingkat tinggi
menengah

Translator
Assembler

• Translator : penerjemah dari bahasa Tingkat tinggi ke bahasa


tingkat rendah.
• Assembler : merupakan penerjemah bahasa Assembly ke bahasa
mesin.
• Assembler, Interprenter, dan Compiler
Interpreter & Compiler
• Interpreter
Perintah diterjemahkan baris demi baris jadi program tidak dianalisis
seluruhnya dulu tapi bersamaan dengan jalannya program.
(+) : mudah bagi user, debugging cepat
(-) : eksekusi program lambat, tidak langsung menjadi program executable

Contoh: Basic, List

• Compiler
 Seluruh program diterjemahkan.
 Semua perintah (pascal, C++) diubah dalam bentuk exe atau bahasa
asembly.
Tahapan Pelaksanaan Program pada Komputer
Algoritma

Translasi

Program pada Bahasa


Tingkat Tinggi

Kompilasi

Program dalam Bahasa


Mesin

Interpretasi CPU

Operasi
(Membaca, Menulis, Menghitung, Mengurutkan, Membandingkan, dll )
Algoritma
Sejarah Algoritma
Kata „algoritma‟ diturunkan dari nama belakang seorang tokoh matematikawan
Persia bernama Muhammad ibn Musa al-Khuwarizmi (lahir tahun 730an,
meninggal antara tahun 835 dan 850). Al-Khuwarizmi berasal dari propinsi
Khorasan di negara yang saat ini bernama Uzbekistan. Uni Soviet menghormati
jasa-jasa Al-Khuwarizmi dengan membuat gambar dirinya sebagai perangko.

DefinisiAlgoritma
• Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan
untuk memecahkan suatu permasalahan.
• Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.
(kamus besar bahasa Indonesia)
• Algoritma : sederetan langkah – langkah logis (setiap langkah bisa diketahui dengan
pasti) yang disusun secara sistematis untuk memecahkan suatu masalah
Notasi Algoritma
• Dalam kehidupan sehari-hari, kita sudah melakukan penyusunan algoritma untuk
menyelesaikan permasalahan atau tantangan yang dihadapi. Sebagai contoh, pada
saat diminta untuk membuat telur dadar. Sebelum membuat algoritmanya, kita
perlu mendefinisikan masukan (input) dan luaran (output) terlebih dahulu, dimana
input berupa telur mentah, dan output berupa telur dadar yang sudah matang.

Telur Mentah Telur Dadar

• Susunan algoritma membuat telur dadar sebagai berikut:


1. Nyalakan api kompor
2. Tuangkan minyak ke dalam wajan
3. Pecahkan telur ayam ke dalam mangkok
4. Tambahkan garam secukupnya
5. Aduk campuran telur dan garam
6. Tuang adonan telur ke dalam wajan
7. Masak telur hingga matang
 Penulisan algoritma tidak tergantung dari spesifikasi bahasa
pemrograman dan komputer yang mengeksekusinya.

 Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat


diterjemahkan ke dalam berbagai bahasap emrograman.

 Algoritma dapat ditulis secara sistematis menggunakan beberapa skema,


yaitu Narasi/kalimat deskripti, Flowchart dan Pseudocode.

Narasi

Bahasa Pemrograman
Notasi Algoritma Flow Chart

Pseudo Code
Narasi (Kalimat Deskriptif)
Contoh:
• Algoritma Kelulusan Mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama
dengan 60 maka mahasiswa tersebut dinyatakan lulus jika nilai lebih kecil dari 60
maka dinyatakan tidak lulus.

• Narasi :
 Baca nama dan nilai mahasiswa.
 Jika nilai >= 60 maka
 Berikan keterangan ← “lulus”
 Tetapi jika tidak
 Berikan keterangan ← “tidak lulus”
 Tulis nama dan keterangan
Flow Chart
Mulai

Baca
Nama,
Nilai

keterangan ← “lulus” Nilai >= 60

keterangan ← “tidak lulus”


Tulis Nama,
Selesai Keterangan
Pseudo Code
• Ada 3 bagian: Judul, Deklarasi, Deskripsi.

Algoritma kelulusan → Bagian Judul

Deklarasi
Bagian Deklarasi
String nama, keterangan;
integer nilai;

Deskripsi
Read (nama, nilai);
if nilai >= 60 then Bagian
keterangan := “lulus”; Deskripsi/Statemen
else
keterangan:= “tidakl ulus”;
write (nama, keterangan);
Program (Pascal)
PROGRAM kelulusan; → Bagian Judul
USES crt;
VAR
nama, keterangan : string;
Bagian
nilai : integer; Deklarasi/definisi
BEGIN
Write (“Masukkan Nama : “);
Read (nama);
Write (“Masukkan Nilai :”); Bagian
Read (nilai); Statement/Pernyataan
if nilai >= 60 then
Writeln (‘keterangan = lulus’);
else
Writeln (‘keterangan = tidak lulus’);

END.
REFRESH
Algoritma Masalah 1
Pemuda, serigala, domba dan sayuran.
Seorang Pemuda akan berpergian ke kota dengan membawa seekor kambing, serigala dan
sayur. Ditengah jalan pemuda harus menyebrangi sungai dengan menggunakan perahu dan
untuk melaluinya pemuda tersebut tidak diperbolehkan membawa sekaligus bawaannya
mengingat kapasitas kekuatan perahu tersebut, dan untuk melaluinya pemuda harus
membawa satu persatu bawaannya. Situasinya dipersulit yaitu bahwa serigala tidak dapat
ditinggal berdua dengan kambing karena serigala akan memakan kambing. Dan juga
kambing tidak dapat ditinggal berdua dengan sayur karena kambing akan memakan sayur.
Bagaimana algoritma si pemuda menyebrangkan seuluruh bawaannya itu sehingga mereka
semuanya sampai ke seberang sungai dengan selamat.
Algoritma Masalah 2
Pendeta dan Kanibal

Bagaimana caranya untuk menyeberangkan tiga orang rahib yang sedang dikejar oleh Tiga
orang kanibal ke sisi pulau yang ada diseberangnya.

Dengan catatan : Bila misionarisnya Lebih sedikit dari dari kanibal, maka misionaris
tersebut akan dimakan kanibal.
Penyelesaian Algoritma Masalah 1
ALGORITMA menyeberangkan pemuda dan bawaannya
{sisi A: (P, S, K, Y) sisi B: (*, *, *, *)}
1. Pemuda menyeberangkan kambing dari sisi A ke sisi B.
{sisi A: (*, S, K, Y) sisi B: (P, *,K, *)}
2. Pemuda menyeberang sendiri dari B ke A
{sisi A: (P, S, *, Y) sisi B: (*, *, K, *)}
3. Pemuda menyeberangkan serigala dari sisi A ke sisi B
{sisi A: (*, *, *, Y) sisi B: (P, S, K, *)}
4. Pemuda menyeberangkan Kambing dari sisi B ke sisi A
{sisi A: (P, *, K, Y) sisi B: (*, S, *, *)}
5. Pemuda menyeberangkan sayur dari sisi A ke sisi B
{sisi A: (*, *, K, *) sisi B: (P, S, *, Y)}
6. Pemuda menyeberang sendiri dari sisi B ke sisi A
{sisi A: (P, *, K, *) sisi B: (*, S, *, Y)}
7. Pemuda menyeberangkan kambing dari sisi A ke sisi B
{sisi A: (*, *, *, *) sisi B: (P, S, K, Y)}
Analisis Video

• What is Algorithm

Anda mungkin juga menyukai