Anda di halaman 1dari 23

Dasar- Dasar Algoritma

Struktur Sistem Komputer


:

Siklus Hidup Perangkat Lunak

Dilihat dari Struktur Sistem Komputer dan


Siklus
diatas,
Algoritma
Pemrograman
menempati posisi dibagian software dan di
bagian
implementasi
karena
bagian
implementasi merupakan bagian dimana
pemrogram
melakukan
proses
coding
(pembuatan program.)

Algoritma
:Asal kata Algoritma

berasal dari nama Abu


Jafar Mohammed Ibn Musa al-Khowarizmi,
ilmuan Persia yang menulis kitab al jabr
wal-muqabala (rules of restoration and
reduction) sekitar tahun 825 M

Defenisi Algoritma

Algoritma adalah urutan langkah logis tertentu


untuk
memecahkan
suatu
masalah.
Yang
ditekankan adalah urutan langkah logis, yang
berarti algoritma harus mengikuti suatu urutan
tertentu, tidak boleh melompat-lompat.
Alur pemikiran dalam menyelesaikan suatu
pekerjaan yang dituangkan secara tertulis. Yang
ditekankan pertama adalah alur pikiran, sehingga
algoritma seseorang dapat juga berbeda dari
algoritma orang lain. Sedangkan penekanan kedua
adalah tertulis, yang artinya dapat berupa kalimat,
gambar, atau tabel tertentu.

Jika seseorang ingin mengirim surat kepada


Contoh
:
kenalannya
di tempat lain, langkah yang harus dilakukan
adalah :
Menulis surat
Surat dimasukkan ke dalam amplop
tertutup
Amplop ditempeli perangko
secukupnya
Pergi ke Kantor Pos terdekat untuk
mengirimkannya

Contoh :
Algoritma menghitung luas persegi panjang:

Masukkan panjang (P)


Masukkan lebar (L)
L= P*L
Tulis L

Definisi Algoritma adalah urutan langkah-langkah logis


penyelesaian masalah yang disusun secara sistematis.
Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana A berisi
larutan berwarna merah, bejana B berisi larutan
berwarna biru. Pertukarkan isi kedua bejana itu
sedemikian sehingga bejana A berisi larutan
berwarna biru dan bejana B berisi larutan berwarna
merah.
DESKRIPSI :
Tuangkan larutan dari bejana A ke dalam bejana B
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 percampuran kedua larutan tersebut.
Untuk mempertukarkan isi duah bejana,
diperlukan sebuah bejana tambahan sebagai
tempat penampungan sementara, misalnya
bejana C. Maka algoritma untuk menghasilkan
pertukaran yang benar adalah sebagai berikut :

Algoritma Tukar Isi Bejana


Diberikan dua buah bejana A dan B, bejana A berisi
larutan berwarna merah, bejana B berisi larutan
berwarna biru. Pertukarkan isi kedua bejana itu
sedemikian sehingga 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


Algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas.
Setiap langkah harus didefinisikan dengan
tepat dan tidak berarti-dua (Ambiguitas).
Algoritma memiliki nol atau lebih masukkan.
Algoritma memiliki nol atau lebih keluaran.
Algoritma harus efektif (setiap langkah harus
sederhana sehingga dapat dikerjakan dalam
waktu yang masuk akal).

Dalam bidang komputer, algoritma sangat


diperlukan
dalam
menyelesaikan
berbagai
masalah
pemrograman,
terutama
dalam
komputasi numeris.
Tanpa algoritma yang dirancang baik maka
proses pemrograman akan menjadi salah, rusak,
atau lambat dan tidak efisien
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan
cara :
manusia memberikan perintahperintah kepada komputer
berupa instruksi-instruksi yang disebut program

Komputer adalah alat bantu untuk


menyelesaikan masalah.
Dalam menyelesaian masalah dengan
komputer perlu merumuskan langkah langkah
penyelesaian masalah dalam
sekumpulan instruksi.
Sekumpulan instruksi yang dimengerti
oleh komputer yang disebut dengan
program

Alat yang digunakan untuk membuat program


tersebut adalah bahasa pemrograman.
Bahasa pemrograman dapat dikategorikan dalam :
Bahasa tingkat tinggi [HLL] : PASCAL, C, Java,
PHP, ASP
Bahasa tingkat menengah[MLL] : Assembly
Bahasa tingkat rendah [LLL] : Machine Code
Dari
berbagai
bahasa
pemrograman
cara
memberikan instruksinya berbeda-beda namun
bertujuan menghasilkan output yang sama

Bahasa Pemrograman :
Program yang ditulis dalam bahasa pemrograman
akan
diterjemahkan ke dalam bahasa
mesin (biner) menggunakan penterjemah.
Interpreter :

Menterjemahkan baris per baris instruksi


[Bahasa Basic]
Compiler
Menterjemahkan setelah seluruh instruksi di tulis
[Pascal, C]

Memprogran dan Bahasa Permograman

Belajar memprogram adalah belajar tentang


metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu
yang mudah dibaca dan dipahami.
Belajar bahasa pemrograman adalah belajar
memakai suatu bahasa, aturan tata bahasanya,
instruksi-instruksinya, tata cara pengoperasian
compiler-nya untuk membuat program yang
ditulis dalam bahasa itu saja.

Notasi Algoritma

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

Notasi algoritma : Uraian kalimat deskriptif (narasi)

Contoh
Algoritma Kelulusan_mhs
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.
DESKRIPSI :
baca nama dan nilai mahasiswa.
jika nilai >= 60 maka
keterangan = lulus
tetapi jika
keterangan = tidak lulus.
tulis nama dan keterangan

Notasi algoritma : PseudoCode


Algoritma Kelulusan_mhs
{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)

Notasi Algoritma : Flow Chart

Digunakan untuk
menunjukkan awal dan
akhir program
Digunakan untuk
memberikan nilai awal
(inisial) pada suatu variabel
atau counter
Digunakan untuk proses,
pengolahan arithmatik, dan
pemindahan data

Digunakan untuk mewakili


operasi perbandingan logika
yang dibutuhkan pada
Selection dan Looping
Digunakan untuk menyatakan
operasi memasukkan
data/input dan menampilkan
data/output

Digunakan untuk proses


yang detailnya dijelaskan
terpisah, misalkan untuk
menyatakan prosedur,
atau sub program

Digunakan untuk
hubungan arus proses
yang terputus masih di
halaman yang sama
Digunakan untuk
hubungan arus proses
yang terputus di halaman
yang berbeda
Digunakan untuk
menghubungan antar
simbol/elemen yang lain
dan sekaligus
menyatakan arah aliran

Susun: Diagram Alir Kelulusan Mahasiswa

Aturan Penulisan Algoritma

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.
Deklarasi
Bagian untuk mendefinisikan semua nama yang
digunakan di dalam program. Nama tersebut dapat
berupa nama tetapan, peubah, tipe, prosedur dan
fungsi.
Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian
masalah yang ditulis dengan menggunakan notasi
yang akan dijelaskan selanjutnya

Algoritma Luas_Kell_Lingkaran {<- ini judul algoritma}


{menghitung luas dan keliling lingkaran untuk ukuran jari-jari
tertentu. Algoritma menerima masukan jari-jari
lingkaran,
menghitung luas dan kelilingnya, dan mencetak luas
lingkaranke piranti keluaran <- ini spesifikasi algoritma}
DEKLARASI :
const phi = 3.14 {nilai ? }
R : real {jari-jari lingkaran}
Luas : real {luas lingkaran}
Keliling : real {keliling lingkaran}
DESKRIPSI :
read (R)
Luas <- phi * R *R
Keliling <- 2 * phi * R

Anda mungkin juga menyukai