Algoritma
Arti 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 komputer
2. Algoritma adalah
urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu
masalah
3. Algoritma adalah
blueprint dari program
4. Sebaiknya disusun
sebelum membuat program
5. Kriteria suatu
algoritma:
· Ada input
dan output
· Efektifitas
dan efisien
· Terstruktur
Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 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 B
2. Tuangkan larutan
dari bejana B ke dalam bejana A
Algoritma 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 Algoritma
1. 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 mahasiswa
Diberikan 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:
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-output)
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)
Posting Komentar