Sunday, April 7, 2019

Pengertian Algoritma, pseudocode, dan Flowchart | Soul Technology

Tags



Apa Itu Algoritma ?

algoritma diserap dari Bahasa Inggris algorithm. Kata algorithm sendiri sebenarnya bukan dari kata asli bahasa Inggris, melainkan berasal dari kata algorism yang berarti “proses menghitung dengan angka Arab”. Para ahli matematika meyakini bahwa kata algorism berasal dari nama penulis buku berkebangsaan Arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khwarizmi (770-840 M), orang barat melafalkan Al-Khwarizmi sebagai Algorism. Pengertian algoritma adalah logika, metode, dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. Algoritma dapat juga diartikan sebagai urutan langkah secara sistematis dan logis. Dalam perkembangannya, algoritma banyak dipakai di bidang komputer.

Fungsi Algoritma

  • Sebagai acuan dalam menulis program ke dalam bahasa pemrograman 
  • Sebagai acuan dalam mendebug dan mengoreksi kesalahan program
Ciri-ciri penting yang wajib dimiliki sebuah algoritma : 
1. Finiteness, harus berakhir untuk semua kondisi setelah memproses sejumlah      langkah. 
2. Definiteness, setiap langkah harus dinyatakan dengan jelas (tidak rancu atau      mendua-arti) 
3. Masukan, dapat tidak memiliki masukan, dapat satu masukan atau beberapa      masukan 
4. Keluaran, harus ada keluaran 
5. Efektivitas, semua operasi harus sederhana dan dapat dikerjakan dalam            waktu yang terbatas

Tiga buah struktur dasar yang digunakan dalam menyusun sebuah algoritma : 
1. Sekuensial, 
2. Pencabangan/seleksi 
3. Pengulangan/looping

Pseudocode berupa kode-kode yang mendekati bahasa program 
Bagan alir / flowchart berupa gambar berisi simbol-simbol proses, masukan/keluaran dll

Ketentuan dalam Penulisan Pseudocode
  • Notasi <= digunakan untuk memberikan nilai ke suatu variabel. Contoh bil<=5 
  • Setiap pernyataan atau perintah yang dapat berdiri sendiri, akan ditulis dalam sebuah baris tersendiri. Contoh bil<=1+2 
  • Setiap variabel ditulis dengan awalan huruf. Awalan huruf kecil untuk variabel non larik, awalan huruf besar untuk variabel larik.
  • Tipe data majemuk atau rekaman dinyatakan sebagai : 
             simpul = REKAMAN 
                     data1 
                     data2
                     data3 
             AKHIR REKAMAN 
  • Indentasi atau tab digunakan untuk menuliskan pernyataan-pernyataan yang berada dalam suatu struktur blok.
  • Sombol // untuk menyatakankomentar 
  • Notasi masukan () mewakili perintah untuk masukan , notasi keluaran () mewakili perintah untuk keluaran
  • Ada dua nilai logika yaitu BENAR dan SALAH, tanda relasional >, <, =, 'lebih kecil dari', 'lebih besar dari', 'tidak sama dengan'. 
  • Notasi A[i] menyatakan elemen ke-i pada larik A 
  • Notasi panjang(A) menyatakan ekspresi untuk memperoleh jumlah elemen pada A
Contoh pseudocode


Pseudocode program untuk menjumlahkan dua bilangan a dan b !

Mulai 
a<=nilai 
b<=nilai 
jumlah<=a+b 
Selesai



Bentuk pencabangan/seleksi IF-THEN


JIKA kondisi benar MAKA

    Pernyataan_1
     ...
SEBALIKNYA
   Pernyataan_2
     ...
AKHIR JIKA









Contoh pseudocode


Pseudocodeprogram untukmengecek status bilangan input, positif atau negatif !


Mulai 

a<=nilai
JIKA a>0 MAKA tampilkan 
   “positif” 
SEBALIKNYA tampilkan 
“negatif” 
Selesai




Bentuk pencabangan/seleksi SWITCH-CASE


COCOK nilai

     DENGAN nilai_1 MAKA
        Pernyataan_11
         ...
     DENGAN nilai_2 MAKA
        Pernyataan_21
        ...
     LAINNYA
         Pernyataan_N1
        ...
     AKHIR_COCOK



Bentuk pengulangan dengan for


UNTUK variabel <= awal S/D akhir 

   LANGKAH langkah 
        Pernyataan 1 Pernyataan 2 
         … 
AKHIR-UNTUK



Bentuk pengulangan dengan while


ULANG SELAMA kondisi

   Pernyataan 1 
   Pernyataan 2 
   … 
AKHIR-ULANG


ALGORITMA : STRUKTUR DASAR BAGAN ALIR/ FLOW CHART

Simbol-simbol Bagan alir



Simbol-simbol Bagan Alir

Sekuensial, langkah-langkah yang dilakukan dalam algoritma diproses secara berurutan sebagaimana terlihat pada gambar di bawah

Struktur Sekuensial
Contoh struktur sekuensial





Pseudocode :
p<=panjang
l<=lebar
k<=2*(p+l)
Tampilkan (k)










Seleksi/pencabangan, menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi/syarat (pengambilan keputusan). 
 Diagram alir struktur pencabangan
Stuktur Seleksi Percabangan

Pengulangan/looping, menyatakan suatu tindakan atau langkah yang dijalankan beberapa kali. 
(Pada struktur pengulangan tersebut, prosedur dapat berupa satu atau beberapa perintah.
Struktur Perulangan (Looping)
                                      
 Sebelum prosedur dijalankan pertama kali, kondisi diuji dulu. Sekiranya kondisi bernilai benar maka prosedur dijalankan dan kemudian kondisi diuji lagi. Sepanjang kondisi bernilai benar, prosedur akan tetap dijalankan. Namun begitu kondisi bernilai salah maka pengulangan akan berakhir.







Masukan (jum_ulang) 
indeks <=0 
WHILE Indeks<=jum_ulang
   Tampilkan (“Pemrograman Mengasyikan”)                 indeks<=indeks+1 
AKHIR-WHILE