Pendahuluan

Algoritma dapat disajikan dalam bentuk Tulisan ( Pseudocode ) maupun dalam bentuk Gambar ( Flowchart ). Flowchart bukanlah merupakan sebuah kerangaka berpikir seperti algoritma. flowchart pada dasarnya merupakan sebuah bentuk gambar ataupun diagram yang memiliki aliran satu atau dua arah yang berlaku secara sekuensial atau berkesinambungan. Fungsi utama dari flowchart ini adalah untuk menggambarkan sebuah desain program dan untuk merepresentasikan sebuah program atau sistem yang akan kita buat, berdasarkan pola berpikir kita (berdasarkan algoritma).

Tujuan Instruksional Khusus

Mahasiswa dapat menerapkan Algoritma dan Pemrograman dalam  Flowchart dan Pseudocode

Konsep Dasar Flowchart


Algoritma dapat disajikan dalam dua bentuk, yaitu tulisan dan gambar/simbol.
  1. Panyajian dalam bentuk gambar biasanya  menggunakan metode Flowchart,
  2. Penyajian algoritma dalam bentuk tulisan biasanya menggunakan metode Pseudocode.
Flowchart Adalah Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma.
Tujuan utama dari penggunaan flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas dengan menggunakan simbol-simbol standart.

Tujuan Membuat Flowchat :

  •         Menggambarkan suatu tahapan penyelesaian masalah
  •        Secara sederhana, terurai, rapi dan jelas
  •        Menggunakan simbol-simbol standar

Flowchart Program

Merupakan bagan alir yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah.

Simbol Flowchart Program




Flowchart menghitung luas segitiga




Flowchart membuat Nasi Goreng



Flowchart pemesanan Makanan




Pengambilan Keputusan dalam Flowchart


Pengambilan keputusan digunakan untuk melambangkan pengambilan keputusan bagaimana alur dalam flowchart berjalan selanjutnya berdasarkan kriteria  atau pertanyaan tertentu. Pengambilan keputusan perlu dilakukan apabila harus menentukan satu pilihan dari (minimal) dua pilihan yang ada. Dalam hal mengambil keputusan, perlu diketahui kondisi yang sedang dihadapi. Kondisi ini bisa berupa pernyataan boolean atau proses perbandingan. Dalam flowchart, simbol yang digunakan untuk pengambilan keputusan adalah berbentuk belah ketupat.


Gambar Simbol pengambilan keputusan

Simbol pengambilan keputusan hanya memiliki satu buah input dan dua buah output yang digunakan untuk memfasilitasi hasil dari pengujian kondisi, yaitu “Ya” atau “Tidak”, “True” atau “False”. Umumnya bentuk keputusan terdiri dari beberapa bentuk.  Seperti yang ditunjukan oleh flowchat diabawah ini

Bentuk Keputusan 1 :














Gambar  Simbol pengambilan keputusan dengan satu pilihan

Bentuk keptusan ke 2 



Gambar  Simbol pengambilan keputusan dengan dua pilihan



Bentuk Keputusan 3 merupakan perluasan dari bentuk keputusan dari  bentuk keputusan pertama maupun keputusan kedua, seperti ditunjukan gambar dibawah ini.


Gambar  Simbol pengambilan keputusan dengan  tiga pilihan

Dalam melakukan pengujian kondisi, terdapat beberapa notasi yang dapat digunakan, misalnya menggunakan notasi relasional berikut :

Tabel 3.1 Notasi relasional

Operator
Operator Dalam Bahasa C
Jenis Operasi
Contoh
Hasil
> 
> 
Lebih besar dari
( 5 > 2 )
True
< 
< 
Kurang dari
( 5 < 2 )
False
=
= =
Sama dengan
( 5==2 )
False
>=
Lebih besar atau sama dengan
( 5>=2 )
True
<=
Kurang dari atau sama dengan
( 5<=2 )
False
<> 
!=
Tidak sama dengan
( 5 !=2 )
True


Dalam proses pengambilan keputusan, kadang kala terdapat beberapa syarat sekaligus. Untuk menangani hal ini dapat digunakan ekspresi aljabar boolean. Aljabar boolean merupakan kalkulus logika yang digunakan untuk menentukan nilai kebenaran dari suatu ekspresi logika [10]. Teknik aljabar ini dikembangkan oleh George Boole pada tahun 1930an, sebagai penghargaan atas penemuannya maka aljabar ini diberi nama sesuai dengan nama belakang beliau.
Dalam aljabar boolean terdapat tiga buah operasi dasar, yaitu : AND, OR, NOT ketiga-tiganya dapat digunakan secara independen atau dapat digunakan sekaligus. Keluaran (output) dari aljabar ini adalah nilai benar (TRUE) atau salah (FALSE).

Berikut ini adalah tabel yang menunjukkan ketiga hasil operasi aljabar boolean :

Tabel X AND Y
X
Y
X AND Y
T
T
T
T
F
F
F
T
F
F
F
F

Tabel X OR Y
X
Y
X OR Y
T
T
T
T
F
T
F
T
T
F
F
F

Tabel NOT X
X
NOT X
T
F
F
T


Konsep Dasar Pseudocode

Yang dimaksud dengan pseudocode adalah kode atau tanda atau cerita yang menyerupai dan merupakan ( pseudo ) penjelasan cara  menyelesaikan persoalan. Kode atau tanda atau cerita tersebut ditulis dalam suatu bahasa yang dimengerti oleh manusia.

Catatan : Secara bahasa  pseudo dapat diterjemahkan menjedi pura-puranya menyerupai atau pura-puranya seperti

Pseudo dapat ditulis dengan bahasa yang sangat dekat dengan bahasa sehari-hari dan dapat juga ditulis dalam bentuk algoritma yaitu susunan instruksi-instruksi yang lebih dekat dengan bahasa pemrograman komputer.

Untuk mennujukan kaitan an=ntara pseudo code dan algoritma berikut ini diperlihatkan beberapa contoh penulisan algoritma untuk pseudocode yang diberikan.

Pseudo code
Algoritma
  Nilai A ditambah dengan 5
 Cetak nilai A, bila nilaitersebut lebih besar dari 5
      Dari dua buah nilai A dan B cetak salah satu yang terbesar
          A = A + 5
 IF(A > 5) THEN WRITE(A)
IF (A>B) THEN WRITE(A)   ELSE WRITE B)



PSEUDO-CODE
Procedure BINSRCH(A,n,x,j)
initialize lower and upper
while there are more elements to check  do
   let A(mid) be the middle element
   case
   : x > A(mid) : set lower to mid + 1
   : X < A(mid) : set upper to mid - 1
   : else : found
   end
end
not found
end BINSRCH



ALGORITMA
Procedure BINSCRH(A,n,x,j)
lower ß 1; upper ß n
while lower <= upper do
     mid ß [ (lower + upper) / 2 ]
     case
     : x > A(mid) : lower ß mid +1
     : x < A(mid) : upper ß 1
     : else : j ß mid; return
     end
end
j ß 0
end


Struktur Algoritma

Struktur algoritma yang digunakan mengacu pada struktur pemrograman bahasa Pascal yang terdiri dari 3 (tiga) bagian, yaitu :

JUDUL
DEKLARASI  KAMUS DATA
BADAN PROGRAM

Pada bagian Judul, digunakan sebagai tempat untuk mencantumkan nama atau judul program. Terdapat aturan penulisan judul, yakni:
1.      Tidak diawali dengan angka atau karakter selain alphabet
2.      Tidak terdapat karakter spasi atau karakter selain alphabet kecuali karakter underscore ‘_’ (sebagai pengganti karakter spasi).
Contoh:
Algoritma berhitung;
Benar
Algoritma konversi bilangan;
Salah
Algoritma perhitungan_pajak;
Benar
Algoritma 2bilangan;
Salah
Algoritma *kecil;
Salah

Pada bagian deklarasi, digunakan sebagai tempat untuk mencantumkan variabel, konstanta, dan record. Mengingat cara eksekusi kode program dilakukan berurut dari atas ke bawah maka, deklarasi diletakkan di awal program setelah bagian judul. Hal-hal yang dideklarasikan pada bagian ini digunakan sebagai ‘reservasi’ alokasi memory untuk penyimpanan data dan akan digunakan selama program bekerja.
Pada bahasa pemrograman Pascal, bagian deklarasi juga berfungsi untuk mendeklarasikan nama function dan procedure.
Contoh:

Algoritma Coba;
Kamus data
  x : integer;
  s : string;
...

Pada bagian badan program, digunakan untuk meletakkan semua algoritma atau kode-kode program. Bagian ini diawali dengan ‘BEGIN’ dan diakhiri dengan ‘END’. Semua algoritma atau kode program wajib dituliskan diantara kedua penanda tersebut.
Contoh:

Algoritma Hello
Kamus data

Tanda awal algoritma
  s : string
BEGIN
  s ß “Halo!”

Tanda akhir algoritma
  output(s)
END.

Input dan Output

Dalam mengawali suatu proses tertentu, minimal membutuhkan suatu masukan berupa data (input), karena data inilah yang nantinya akan diproses dan akan menjadi keluaran (output).
Contoh :
Menerima masukan data dari user (pengguna)
Algoritma Masukkan_data
Kamus data

BEGIN
  input(x) /*x adalah variabel penampung nilai*/
END.

Memasukkan nilai tertentu pada variabel
Algoritma Masukkan_nilai
Kamus data

BEGIN
  x ß 5 /*panah ke kiri arah masuknya nilai*/
END.

Menampilkan isi variabel ke layar monitor
Algoritma Tampilan
Kamus data

BEGIN
  output(x) /*x adalah variabel yang berisi nilai*/
END.




Rangkuman

  1. Flowchart digunakan untuk menggambarkan algoritma atau proses
  2. Dalam melakukan pengujian kondisi digunakan notasi relasional
  3. Simbol dalam flowchart yang digunakan untuk pengambilan keputusan adalah belah ketupat
  4. Aljabar boolean merupakan kalkulus logika yang digunakan untuk menentukan nilai kebenaran dari suatu ekspresi logika
  5. Program yang baik adalah program yang bisa mengoptimalkan kinerja komputer, dengan cara menggunakan kembali program atau sekumpulan program dengan proses tertentu
  6. Pseudocode cocok digunakan untuk menuliskan algoritma dengan kasus yang kompleks dan berskala besar

Daftar Pustaka

1.     Algorithm Data Structures and Problem Solving with C++. 1997. Addison Wesley.
2.     Moh. Sjukani, Algoritma dan Struktur Data. Mitra Wacana Media
3.     Rinaldi Munir, Algoritma dan Pemrograman. Informatika Bandung


Video Pembelajaran



Video Pembelajaran Flowchart


Kuis dan Latihan

http://www.zatranssmarttech.com/edukasi/media/videos/Pertemuan3.mp4