Вы находитесь на странице: 1из 22

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 Ja’far


Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia
yang menulis kitab al jabr w’al-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.
Contoh :

Jika seseorang ingin mengirim surat kepada 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 mengirimkan
nya
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 lar
utan berwarna merah, bejana B berisi larutan berwarn
a biru. Pertukarkan isi kedua bejana itu sedemikian se
hingga bejana A berisi larutan berwarna biru dan bej
ana 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. M
aka algoritma untuk menghasilkan pertukaran yang be
nar 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 s


ejumlah langkah terbatas.
• Setiap langkah harus didefinisikan dengan tepat d
an 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 y
ang 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 perintah-perintah kepada komputer berupa instr
uksi-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 diterj
emahkan ke dalam bahasa mesin (biner) menggunakan penterj
emah.
Interpreter :
Menterjemahkan baris per baris instruksi [Bahasa B
asic]
Compiler
Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C
]
Memprogram 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 ters
ebut 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 tidak
keterangan = tidak lulus.
tulis nama dan keterangan
Notasi algoritma : PseudoCode

Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai tersebut leb
ih
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’
Notasi Algoritma : Flow Chart

Digunakan untuk menunju Digunakan untuk proses


kkan awal dan akhir progr yang detailnya dijelaska
am n terpisah, misalkan unt
uk menyatakan prosedu
r, atau sub program
Digunakan untuk memberi
kan nilai awal (inisial) pad
a suatu variabel atau coun
ter Digunakan untuk hubung
an arus proses yang terp
utus masih di halaman ya
Digunakan untuk proses, ng sama
pengolahan arithmatik, da
n pemindahan data
Digunakan untuk hubun
gan arus proses yang te
rputus di halaman yang
Digunakan untuk mewakili
berbeda
operasi perbandingan logi
ka yang dibutuhkan pada
Selection dan Looping Digunakan untuk mengh
ubungan antar simbol/el
emen yang lain dan seka
Digunakan untuk menyataka ligus menyatakan arah al
n operasi memasukkan data/i iran
nput dan menampilkan data/
output
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
Lingkaran ke 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
write(luas, keliling)

Вам также может понравиться