Anda di halaman 1dari 13

Deskripsi

: Dasar-dasar algoritma dan flowchart

Tujuan Pembelajaran : 1. Siswa dapat memahami pengertian algoritma

2. Dapat membuat algoritma dan pseudo-code

3. Dapat menerapkan algoritma dalam bahasa pemrograman.

Pendahuluan Teori
Go Top-TOC

Pengertian Algoritma

Kata Algoritma berasal dari nama seorang ilmuan asal Persia, Abu Jafar
Mohammed lbn Musa Al Khowarizmi yang menulis kitab Al Jabr Wal- Muqabala
( rules of restoration and reduction ) , 825 M. Abu Jafar Mohammed
mengartikan algoritma sebagai seperangkat instruksi yang berurutan dari awal
sampai selesai.

Pengertian Algoritma lainnya menurut Moh Sjukani, dalam bukunya Dari


Algoritma dan Struktur Data dengan C, C++, dan Java adalah sebuah alur
pemikiran dalam memecahkan suatu pekerjaan yang dituangkan secara tertulis.
Algoritma dapat berupa kalimat, gambar, atau table tertentu. Algoritma
merupakan sebuah pemikiran, artinya dimungkinkan adanya algoritma yang
berbeda dari setiap orang.

Berdasarkan penjelas di atas, dapat disimpulkan bahwa Algoritma adalah


seperangkat alur instruksi dari awal sampai selesai yang bertujuan untuk
memecahkan sesuatu, dapat berupa kalimat, gambar, ataupun table tertentu
dan bersifat logis ( bernilai salah atau benar )

Komponen teks algoritma dalam pemrograman procedural dapat berupa :

Instruksi dasar seperti input/output, assignment


Sequence (runtutan)
Analisa kasus

Perulangan
Contoh dari Algoritma sederhana :

Proses mengirim surat :

Mulai Menulis Surat


Masukan surat dalam amplop
Tempelkan perangko pada amplop
Tuliskan alamat tujuan dan pengirim surat
Pergi ke kantor Pos dengan membawa surat
Masukan surat pada Bis Surat.
Selesai.
Go Top-TOC

Hubungan Manusia, Algoritma dan Komputer

Komputer merupan sebuah alat yang diciptakan untuk membantu manusia


dalam menyelesaikan pekerjaannya. Untuk itu harus ada hubungan komunikasi
antara manusia dengan komputer. Bagaimana hubungan komunikasi ini dapat
terjadi?

Manusia berkomunikasi dengan komputer melalui dengan cara memberikan


seperangkat perintah kepada komputer berupa instruksi instruksi dalam bentuk
pembuatan program. Agar komputer mengerti intruksi instruksi tersebut,
diperlukan sebuah bahasa pemrograman.

Dapat disimpulkan bahwa bahasa pemrograman yang diinput oleh manusia ke


komputer adalah salah satu contoh dari algoritma. Algoritma yang baik apabila
manusia dapat menginput bahasa pemrograman dari awal sampai selesai ke
komputer sehingga perintah tersebut dapat dijalankan dengan benar ( output ).

Bahasa pemrograman sangat bermacam-macam, seperti C, C++, Pascal, Java,


C#, Basic, Perl, PHP, ASP, JSP, J#, J++, Visual Basic, Visual Basic for Application
dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara
memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output
yang sama .
Go Top-TOC

KARAKTERISTIK ALGORITMA

Algoritma komputer memiliki beberapa karakteristik yang harus dipenuhi agar


menjadi algoritma yang baik. Karakteristik itu antara lain:

Presisi. Langkah langkah penyelesaian masalah dalam algoritma haruslah secara


presisi (tepat) dinyatakan, tidak mengandung ambiguitas.
Keunikan. Hasil pertengahan dalam tiap langkah eksekusi suatu algoritma
didefinisikan secara khas dan merupakan pengolahan dari hasil eksekusi langkah
sebelumnya.
Keterbatasan. Algoritma harus terbatas dan berhenti pada suatu titik setelah
semua ekesekusi dilaksanakan.
Input. Algoritma menerima input.
Output. Algoritma menghasilkan output.
General. Algoritma berlaku untuk suatu kumpulan input tertentu.
Go Top-TOC

Notasi Algoritma

Dalam suatu penulisan algoritma terkadang kita sulit untuk mengerti dan
memahami maksud dari algoritma tersebut. Selain itu juga kita sulit untuk
menuliskan algoritmanya. Untuk itu agar mempermudahnya dapat dilakukan
notasi notasi algoritma. Notasi algoritma merupakan rancangan penyelesaian
masalah (algoritma) yang dituliskan ke dalam notasi (cara penulisan khusus).

Notasi algoritma yang sering dijumpai ada 3 macam yaitu :

Notasi deskriptif,

yaitu dengan cara menuliskan langkah-langkah penyelesaian masalah dengan


kalimat-kalimat yang jelas dan deskriptif disertai dengan urutan (nomor urut)
yang jelas. Selain itu juga Dengan notasi ini, deskripsi setiap langkah dijelaskan
dengan bahasa yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun
untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu,
pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung
relatif sukar.

Notasi bagan alir (flow chart),

yaitu algoritma menggunakan bagan alir dengan memanfaatkan bentuk-bentuk


geometri seperti persegi panjang, jajaran genjang, lingkaran dan sebagainya.
Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma yang
pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak
efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa
pemrograman cenderung relatif sukar.

Simbol symbol yang digunakan dalam penyusunan flowchart adalah :

Keterangan Lambang
Mulai/selesai (terminator)
Aliran data
Input/Output
Proses
Percabangan (Decision)
Pemberian nilai awal suatu variabel (Preparation)
Memanggil Prosedur/Fungsi (Call)
Sambungan di halaman yang sama (Connector)
Sambungan di halaman lain (Off Page Connector)
Dokumen atau beberapa dokumen

atau

Tampilan (Display)
Input Manual
Operasi Manual
Data tersimpan
Penyimpanan Data
Proses berurutan (Sequence Process)
Pengulangan
Notasi pseudo-code,

yaitu notasi algoritma yang praktis dan mirip dengan bahasa pemrograman
tingkat tinggi seperti Pascal. Banyak notasi pseudo-code yang digunakan oleh
para ahli komputer dan berbeda-beda sehingga tidak ada aturan baku dalam
penulisan pseudo-code ini, tetapi yang paling banyak digunakan dalam algoritma

pemrograman adalah yang mendekati bahasa pascal. Keuntungan menggunakan


notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang
disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat
korespondensi antara setiap pseudo code dengan notasi bahasa pemrograman.
Pseudo-code adalah bahasa buatan yang membantu programmer
mengembangkan algoritma. Pseudo-code mirip dengan bahasa sehari-hari
(Bahasa Inggris atau Bahasa Indonesia, sebaiknya menggunakan bahasa Inggris
agar mudah dipahami banyak orang). Program pseudocede tidak dijalankan oleh
komputer, tetapi dipergunakan untuk membantu programmer dalam
mengembangkan program sebelum menulisnya ke dalam bahasa pemrograman
tertentu , misalnya C++, VB, Java, VBA, dan lain sebagainya.

Penerapan Pseudo-code dalam algoritma ada 3 (tiga) macam, yaitu :

Struktur Berurutan
Contoh 1:

Bahasa Indonesia Terstruktur


Baca data Jam-kerja

Hitung Gaji adalah Jam-kerja dikalikan Tarif

Tampilkan Gaji

Pseudocode

Baca data Jam-kerja dari keyboard

Hitung Gaji = Jam-kerja * Tarip

Tampilkan Gaji di monitor

Pseudocode dapat ditulis lebih terinci didasarkan pada suatu bahasa


pemrograman tertentu.

Bahasa Pemrograman BASIC.

Read Jam-kerja

Let Gaji = Jam-kerja * Tarip

Print Gaji

Contoh 2:

Bahasa Indonesia Terstruktur


Baca data Panjang dan Lebar Persegi Panjang

Hitung Luas Persegi Panjang adalah Panjang dikalikan Lebar

Tampilkan Luas

Pseudocode

Baca Panjang Persegi Panjang dari keyboard

Baca Lebar Persegi Panjang dari keyboard

Hitung Luasi = Panjang Persegi Panjang * Lebar Persegi Panjang

Tampilkan Luas di monitor

Bahasa Pemrograman JAVA.

Program hitung luas persegi panjang ;

Var Panjang : Integer;

Lebar : Integer;

Luas : Integer;

Begin

Writeln(Panjang Persegi Panjang :);

Read(Panjang);

Writeln(Lebar Persegi Panjang :);

Read(Lebar);

Luas:= Panjang * Lebar;

Writeln(Luasnya, Luas);

End.

Struktur Keputusan (Decision Structure)


Decision Structure (struktur keputusan) atau Selection Structure (struktur
seleksi) terdiri atas :

1. If Then

2. If Then Else

3. Select Case

Contoh :

Deskrisi Permasalahan: Amir ujian ABC, jika nilainya lebih dari 60, maka
mendapat status atau keterangan PASS selain itu FAIL

Bahasa Indonesia Terstruktur


Baca nilaiABC

Jika Hitung Luas Persegi Panjang adalah Panjang dikalikan Lebar

Tampilkan Luas

Pseudocode

Baca NilaiABC dari keyboard

Remark adalah PASS atau FAIL

Jika Remark lebih Besar atau sama dengan 55 maka Remark sama dengan PASS

Jika Tidak Maka Remark sama dengan FAIL

Tampilkan NilaiABC dan Remark di monitor

Bahasa Pemrograman VBA.

Sub PassAtauFail()

Dim NilaiABC As Integer

Dim Remark As String

NilaiABC = InputBox(Nilai ABC :)

If NilaiABC >= 55 Then

Remark = PASS

Else

Remark = FAIL

End If

MsgBox Nilai ABC: & NilaiABC & adalah & Remark

End Sub

Struktur Pengulangan (Looping Structure)


Bahasa Indonesia Terstruktur
Tampilkan angka Ganjil dari satu hingga sembilan di monitor

Pseudocode

AngkaAwal = 1

Remark adalah PASS atau FAIL

Jika Remark lebih Besar atau sama dengan 55 maka Remark sama dengan PASS

Jika Tidak Maka Remark sama dengan FAIL

Tampilkan NilaiABC dan Remark di monitor

Bahasa Pemrograman VBA.

Sub TampilkanGanjil()

AngkaAwal = 1

While AngkaAwal <= 9

MsgBox AngkaAwal

AngkaAwal = AngkaAwal + 2

Wend

End Sub

Pada pseudocode juga terdapat beberapa aturan penulisan agar pseudocode


mudah dipahami dan dimengerti oleh para pemrogram. Aturan penulisan
tersebut antara lain :

Tulis satu pseudocode suatu instruksi pada satu baris.


Pisahkan modul-modul atau kelompok pseudocode instruksi dengan memberikan
spasi beberapa baris untuk mempermudah pembacaan.
Bedakan bentuk huruf dalam penulisan pseudocode dimana pseudocode
instruksi ditulis dengan huruf Besar, sedangkan komentar atau variabel dalam
huruf Kecil.
Berikanlah tabulasi yang berbeda untuk penulisan pseudocode instruksi-instruksi
yang berada dalam kalang (loop) atau struktur kondisional.
Lakukan pembatasan jumlah baris pseudocode instruksi setiap modulnya,
misalnya 50-75 baris instruksi per modul, sehingga terlalu panjang.
Go Top-TOC

Aturan Penulisan Teks Algoritma

Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi


tersebut dapat ditulis alam bentuk notasi apapun , asalkan mudah dibaca dan
dimengerti. Tidak ada notasi yang baku dalam penulisan teks algoritma. Tiap
orang dapat membuat aturan penulisan dan algoritma sendiri. Namun, agar
notasi algoritma dapat dengan mudah ditranslasi ke alam notasi bahasa
pemrograman, maka sebaiknya notasi algoritma itu berkoresponden dengan

notasi bahasa pemrograman secara umum. Pada dasarnya, teks algoritma


disusun atas tiga bagian (blok) : bagian judul (header) agoritma, bagian
deklarasi, dan bagian deskripsi. Setiap bagian dapat diberi komentar untuk
memperjelas maksud teks yang dituliskan. Komentar biasanya ditulis
menggunakan kurung kurawal.

1) Judul Algoritma

Judul algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat,
namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.
Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang
apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering
dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan
spesifikasi yang didefinisikan.

2) Deklarasi

Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan semua


nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama
tetapan, nama peubah, nama tipe, nama prosedur dan nama fungsi.

3) Deskripsi

Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi
uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan
dengan notasi yang lazim dalam penulisan algoritma. Setiap langkah algoritma
dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan
menentukan urutan pelaksanaan perintah.
Go Top-TOC

Aplikasi Teori

Contoh Flowchart:

Problem :

Mencari nilai terbesar ( A, B, C )

Algoritma :

Masukan nilai A, B, dan C


Apakah A lebih besar dari B? bila Ya, apakah A lebih besar dari C? bila Ya , A
adalah bilangan terbesar.
Apakah A lebih besar dari B? bila tidak, apakah B lebih besar dari C? bila ya, B
adalah bilangan terbesar.
Apakah A lebih besar dari B? bila ya, apakah A lebih besar dari C? bila tidak, C
adalah bilangan tertinggi.
Cetak hasil bilangan tertinggi ( A, B, atau C )

Go Top-TOC

Contoh Pseudo code :

Pseudo- Code Cetak String :

Contoh Pseudo Code mencari nilai maksimal

Perbandingan penulisan Algoritma notasi deskriptif dengan pseudo code

Algoritma

Pseudo-code

Nilai A ditambah dengan 5

A A+5

Cetak nilai A bila lebih besar dari 10

IF A > 10 THEN PRINT A

Dari dua bilangan A dan B, cari bilangan yang terbesar


ELSE PRINT B
Go Top-TOC

IF A > B THEN PRINT A

Pemantapan Teori

Soal Soal Latihan

Buatlah sebuah algoritma dari setiap soal dibawah ini, lengkapi dengan notasi
algoritma dekriptif formal dan gambarlah flowchart masing masing.

Buatlah algoritma dan flowchart untuk menghitung conversi temperatur dari


Celcius ( C ) ke Farenheit ( F ) dan Reamur ( R )
Input : Suhu dalam Celcius

Proses : R = 4/5*C dan F = 9/5*C +32

Output : Suhu dalam Reamur dan Farenheit

2. Buatlah algoritma untuk menemukan sisi miring dari segitiga siku siku,
panjang dari 2 sisi yang saling berhadapan diketahui.

Input: a and b, panjang dari 2 sisi yang berhadapan dan membentuk sudut siku.
Process:
Ouput:

Panjang sisi miring (c)

Buatlah algoritma untuk menentukan bilangan ganjil atau genap.


Input: Sebuah angka
Output: Ganjil / Genap
Buatlah algoritma untuk menghitung usia seseorang, tahun kelahiran dan tahun
sekarang diketahui.
Input : Tahun Kelahiran (tl), Tahun Sekarang (ts)
Process : Usia = ts tl
Output : Tampilkan Usia pada Layar Komputer.

Anda mungkin juga menyukai