Program
Sistem Operasi
Program
Bahasa Pemograman
3 level bahasapemrograman:
2. Bahasa tingkat
1. Bahasa tingkat rendah 3. Bahasa tingkat tinggi
menengah
2. Bahasa tingkat
1. Bahasa tingkat rendah translate translate 3. Bahasa tingkat tinggi
menengah
Translator
Assembler
• Compiler
Seluruh program diterjemahkan.
Semua perintah (pascal, C++) diubah dalam bentuk exe atau bahasa
asembly.
Tahapan Pelaksanaan Program pada Komputer
Algoritma
Translasi
Kompilasi
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.
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
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