ALGORITMA DAN FLOWCHART

BAB 1 ALGORITMA DAN FLOWCHART

By Aurino Djamaris & Sridhani Pamungkas –Universitas Bakrie

Contents

Pendahuluan Teori

Pengertian Algoritma

Hubungan Manusia, Algoritma dan Komputer

KARAKTERISTIK ALGORITMA

Notasi Algoritma

Aturan Penulisan Teks Algoritma

Aplikasi Teori

Contoh Flowchart

Contoh Pseudo – code

Pemantapan Teori

Soal – Soal Latihan

References
Go Top-TOC

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 Ja’far Mohammed lbn Musa Al – Khowarizmi yang menulis kitab ” Al Jabr Wal- Muqabala ”( rules of restoration and reduction ) , 825 M. Abu Ja’far 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 :

  1. Mulai Menulis Surat
  2. Masukan surat dalam amplop
  3. Tempelkan perangko pada amplop
  4. Tuliskan alamat tujuan dan pengirim surat
  5. Pergi ke kantor Pos dengan membawa surat
  6. Masukan surat pada Bis Surat.
  7. 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 :

  1. 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.

  2. 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
  1. 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 :

    1. 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.

  1. 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

  1. 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 :

  1. Masukan nilai A, B, dan C
  2. Apakah A lebih besar dari B? bila Ya, apakah A lebih besar dari C? bila Ya , A adalah bilangan terbesar.
  3. Apakah A lebih besar dari B? bila tidak, apakah B lebih besar dari C? bila ya, B adalah bilangan terbesar.
  4. Apakah A lebih besar dari B? bila ya, apakah A lebih besar dari C? bila tidak, C adalah bilangan tertinggi.
  5. 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 IF A > B THEN PRINT A ELSE PRINT B

Go Top-TOC

Pemantapan Teori

Soal – Soal Latihan

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

  1. 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.

Go Top-TOC

References:

Robert Setiadi. 2008. Algoritma Itu Mudah, Prima Infosarana Media, Gramedia, Jakarta

Algorithm , Available from http://en.wikipedia.org/wiki/Algorithm, 11 November 2009

http://ozygazebo.blogspot.com/2011/02/notasi-algoritma-dan-aturan-penulisan.html

http://alwajiz.wordpress.com/2007/02/21/algoritma-komputer/
http://www.undiksha.ac.id/e-learning/staff/dsnmateri/4/1-203.pdf ( pada 10 November 2011 pukul 15.22 ) http://seattlecentral.edu/~ymoh/mic110vb/pseudocode.htm ( pada 1 Februari 2012 pukul 16.12 )

3 thoughts on “ALGORITMA DAN FLOWCHART

  1. tolong dong jelasin penyelesaian algoritma mencari berapa tahun,bulan,hari umur kita jika tanggal lahirnya 17-10-1994

Leave a Reply

Your email address will not be published. Required fields are marked *