Tujuan Pembelajaran
Diharapkan dapat:1. Mengerti tentang algoritma2. Membuat algoritma
dari suatu permasalahan3. Mengerti tentang flowchart4. Membuat
flowchart dari suatu permasalahanPendahuluan1. Komputer adalah alat bantu
untuk menyelesaikan masalah2. Dalam menyelesaikan masalah dengan komputer
perlu merumuskan langkah-langkah penyelesaian masalah dalam sekumpulan
instruksi3. sekumpulan instruksi yang dimengerti oleh komputer disebut
dengan programBahasa Pemrograman1. Program harus ditulis dalam suatu
bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan
menjadi:· Bahasa tingkat rendah
(low level
language):
Bahasa yang berorientasi ke
mesin.· Bahasa tingkat tinggi
(high level
language):
Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa
Pascal, bahasa C, dll.2. Program yang ditulis dalam bahasa pemrograman
akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan
menggunakan penerjemah.
Penerjemah:· Interpreter :
menerjemahkan baris per baris instruksi. Contoh bahasa
Basic.· Compiler :
menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa
C/C++, dll.AlgoritmaArti umum adalah serangkaian urutan langkah-langkah yang
tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang
disusun secara sistematis.1. Algoritma adalah inti dari ilmu
komputer2. Algoritma adalah urutan-urutan dari instruksi atau
langkah-langkah untuk menyelesaikan suatu masalah3. Algoritma adalah
blueprint dari program4. Sebaiknya disusun sebelum membuat
program5. Kriteria suatu
algoritma:· Ada input dan
output· Efektifitas dan efisien·
TerstrukturContoh:Algoritma TUKAR ISI BEJANADiberikan 2 buah bejana A dan B,
bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru.
Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna
biru dan bejana B berisi larutan berwarna merah.Deskripsi:1. Tuangkan
larutan dari bejana A ke dalam bejana B2. Tuangkan larutan dari bejana B
ke dalam bejana AAlgoritma TUKAR ISI BEJANA di atas tidak menghasilkan
pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang
terjadi adalah pertukaran kedua larutan tersebut.Untuk itu pertukaran isi dua
bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara,
misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar
adalah sebagai berikut:Diberikan dua buah bejana A dan B, bejana A berisi
larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi
kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan
bejana B berisi larutan berwarna merah.Deskripsi:1. Tuangkan larutan dari
bejana A ke dalam bejana C.2. Tuangkan larutan dari bejana B ke dalam
bejana A.3. Tuangkan larutan dari bejana C ke dalam bejana B.Ciri Penting
Algoritma1. Algoritma harus berhenti setelah menjalankan sejumlah langkah
terbatas.2. Setiap langkah harus didefinisikan dengan tepat dan tidak
berarti-dua (ambiguitas).3. Algortima memiliki nol atau lebih
masukan.4. Algoritma memiliki nol atau lebih keluaran.5. Algoritma
harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu
yang masuk akal).Memrogram dan Bahasa Pemrograman:1. Belajar memrogram
adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam
suatu notasi tertentu yang mudah dibaca dan dipahami.2. Belajar bahasa
pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya,
instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat
program yang ditulis dalam bahasa itu saja.Notasi Algoritma:1. Penulisan
algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer
yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi
dapat diterjemahkan ke dalam berbagai bahasa pemrograman.2. Notasi
algoritma dapat berupa:· Uraian
kalimat deskriptif (narasi):Contoh:Algoritma kelulusan mahasiswaDiberikan nama dan
nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka
mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka
dinyatakan tidak lulus.Deskripsi:Baca nama dan nilai
mahasiswa
Jika nilai >= 60 maka
Keterangan =
lulus
Tetapi jika
salah
Keterangan = tidak
lulus Tulis
nama dan keterangan.Tahapan Pembuatan Program:1. Mendefinisikan masalah
dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan,
fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman
yang digunakan.2. Merealisasikan dengan langkah-langkah sebagai berikut: -
See more at:
http://tatangf.blogspot.co.id/2016/01/blog-post.html#sthash.u2MnB5LK.dpuf

Contoh
Algoritma:
1. Mengirim surat kepada teman:
· Tulis
surat pada secarik kertas surat
· Ambil
sampul surat
· Masukkan
surat ke dalam sampul
· Tutup
sampul surat dengan perekat
· Jika kita
ingat alamat teman tersebut, maka tulis alamat surat pada sampul
· Jika tidak
ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
· Tempel
prangko pada sampul
· Bawa
sampul ke kantor pos untuk diposkan
2. Menentukan apakah suatu bilangan merupakan bilangan
ganjil atau bilangan genap:
· Masukkan
sebuah bilangan sembarang
· Bagi
bilangan tersebut dengan 2
· Hitung
sisa hasil bagi pada langkah 2
· Bila sisa
hasil sama dengan 0, maka bilangan itu adalah bilangan genap
· Jika hasil
bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil
Flowchart
1. Flowchart adalah bagan-bagan yang mempunyai arus
menggambarkan langkah-langkah penyelesaian suatu masalah
2. Merupakan cara penyajian dari suatu algoritma
3. Ada 2 macam flowchart:
· System
flowchart:
Urutan proses dalam system dengan menunjukkan alat media input, output serta
jenis penyimpanan dalam proses pengolahan data.
· Program
flowchart:
Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan
masalah dalam suatu program.
Contoh program Flowchart
Simbol-simbol
Flowchart
1. Flow Direction Symbols (simbol penghubung alur)
2. Processing Symbols (simbol proses)
3. Input-Output Symbols (simbol input-outp
Tabel Simbol-simbol Flowchart
Pembuatan
Flowchart
1. Tidak ada kaidah yang baku
2. Flowchart = gambaran hasil analisa suatu masalah
3. Flowchart dapat bervariasi antara satu pemrograman
dengan pemrograman lainnya.
4. Secara garis besar ada 3 bagian utama:
· Input
· Proses
· Output
5. Hindari pengulangan yang tidak perlu dan logika
yang berbelit sehingga jalannya proses menjadi singkat
6. Jalannnya proses digambarkan dari atas ke bawah dan
diberikan tanda panah untuk memperjelas.
7. Sebuah Flowchart diawali dari satu titik START dan
diakhiri dengan End.
Pseudocode:
1. Diberikan nama dan nilai mahasiswa, jika nilai
tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan
lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama :
String
Nilai
: Integer
Keterangan : String
Deskripsi:
Read (nama, nilai)
if nilai >= 60 then
Keterangan = 'lulus'
else
Keterangan = 'tidak lulus'
write (nama, keterangan)
Aturan Penulisan Teks Algoritma
1. Judul Algoritma
Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang
algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan
oleh algoritma tersebut.
2. Deklarasi
Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama
tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3. Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis
dengan menggunakan notasi yang akan dijelaskan selanjutnya.
Contoh Pseudocode:
1. Algoritma Luas_Keliling_Lingkaran (ini merupakan
judul algoritma)
{
Menghitung luas dan keliling untuk ukuran jari-jari
tertentu. Algoritma menerima masukkan jari-jari lingkaran, menghitung luas dan
kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
} (ini spesifikasi algoritma)
2. Deklarasi
const phi = 3.14 {nilai konstanta phi}
R : real
{jari-jari lingkaran}
Luas : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3. Deskripsi
Read (R)
Luas = phi * R * R
Keliling = 2 * phi * R
Write (luas, keliling)