PENULISAN TEKS
PENULISAN TEKS
ALGORITMA
Teks Algoritma
Teks Algoritma
Teks algoritma berisi deskripsi
langkah-langkah penyelesaian
masalah.
Deskripsi tersebut dapat ditulis dalam
Penulisan
Penulisan
Teks
Teks
Algoritma
Algoritma
Menggunakan bahasa natural
(Bahasa manusia: Indonesia, Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami.
Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot pembuatannya jika algoritma panjang
Menggunakan Pseudocode
Flowchart
Flowchart
Flowchart adalah representasi grafik
dari langkah-langkah yang harus diikuti
dalam menyelesaikan suatu permasalahan
yang terdiri atas sekumpulan simbol,
dimana masing-masing simbol
merepresentasikan suatu kegiatan
tertentu.
Flowchart diawali dengan penerimaan
input, pemrosesan input, dan diakhiri
dengan penampilan output.
bagan yang menggambarkan urutan logika
dari suatu prosedur pemecahan masalah.
suatu diagram yang menggambarkan
Simbol-simbol Flowchart
Simbol-simbol Flowchart
Terminal
Permulaan (start) / akhir
(stop) program
Flowline
Arah aliran program
Preparation,
Proses
inisialisasi/pemberian
nilai/harga awal.
Proses/prosessing
Simbol-simbol Flowchart
Simbol-simbol Flowchart
Input/Output Data
Proses input/output data, parameter, informasi.
Decision (kotak keputusan)
Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya.
On Page Connector
Penghubung bagian-bagian flowchart yang berada pada satu halaman.
Off Page Connector
Pembuatan Flowchart
Pembuatan Flowchart
Tidak ada kaidah yang baku.
Flowchart = gambaran hasil analisa suatu
masalah
Flowchart dapat bervariasi antara
satu pemrogram dengan pemrogram lainnya.
Secara garis besar ada 3 bagian utama:
◦ Input
◦ Proses
◦ Output
Hindari pengulangan proses yang tidak perlu
dan logika yang berbelit sehingga jalannya
proses menjadi singkat.
Jalannya proses digambarkan dari atas ke
bawah dan diberikan tanda panah untuk
memperjelas.
Contoh Flowcart
Contoh Flowcart
start
read/input
condition?
process
write/print
stop Ya
Start
Phi = 3.14
Input (diameter)
Radius = diameter/2 Luas = phi * radius * radius
Output Luas
Stop
Contoh Flowcart
3 Struktur Flowcart
3 Struktur Flowcart
Sequence/
Sederhana Branching/Percabangan Looping/Perulangan
Psudocode
Suatu cara penulisan teks algoritma
dengan menggunakan notasi
algoritma
notasi algoritma sebaiknya
berkoresponden notasi bahasa
Kita menuliskan perintah
Tulis Nilai X dan Y
Dalam notasi algoritma manjadi :
Write (X, Y)
Notasi write berkoresponden dengan :
•
Write atau writeln (bahasa pascal)
•
Printf (bahasa C)
•
WRITE (bahasa C++)
•
Write (bahasa FORTRAN)
Writeln(X,Y);
(bahasa pascal)
Printf (“%d %d”, X,Y);
(bahasa C)
cout << x << y ;
(bahasa C++)
WRITE ( *, *) X, Y
(bahasa FORTRAN)
Translasi dalam bahasa pemrograman
Kita menuliskan perintah
Isikan nilai X ke dalam min
Dalam notasi algoritma manjadi :
min
X
Notasi
write
berkoresponden dengan :
:=
(bahasa pascal)
=
(bahasa C)
=
(bahasa C++)
=
(bahasa FORTRAN)
Translasi dalam bahasa pemrograman
min := X;
(bahasa pascal)
min = X;
(bahasa C)
min = X
(bahasa C++)
Teks Algoritma
Teks Algoritma
Teks algoritma tersusun atas 3
bagian(blok)
◦
Bagian Kepala (header)
◦
Bagian deklarasi
◦
Bagian deskripsi
Setiap bagian dapat disertai komentar
untuk memperjelas maksud teks yang
ditulis.
Algoritma Nama_Algoritma
{ Penjelasan tentang algoritma yang berisi
uraian singkat mengenai apa yang
dilakukan oleh algoritma}
DEKLARASI
{ semua nama yang dipakai, meliputi nama
tipe, nama tetapan, nama peubah, nama
prosedur, dan nama fungsi didefinisikan
disini}
DESKRIPSI
Kepala Algoritma
Kepala Algoritma
Kepala Algoritma adalah bagian yang
terdiri atas nama algoritma dan
penjelasan(spesifikasi) tentang algoritma
tersebut.
Nama algoritma sebaiknya singkat namun
cukup menggambarkan apa yang dilakukan
oleh algoritma tersebut
Spesifikasi algoritma berisi penjelasan
Algoritma LUAS_LINGKARAN
{ Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luasnya, lalu
DEKLARASI
DEKLARASI
Bagian Deklarasi adalah bagian untuk
mendeklarasikan / mendefinisikan semua
nama yang dipakai dalam algoritma.
Nama dapat berupa nama tetapan, nama
peubah, nama Tipe, nama prosedur dan
nama fungsi.
Dalam resep makanan bagian deklarasi
dianalogikan dengan bagian yang
DEKLARASI
{nama tetapan}
Cont phi = 3.14
{Nama tipe}
Type titik : record
< x :integer,
y : integer
>
{nama peubah }
r : integer { variabel dengan tipe data bilangan bulat)
Bagian deskripsi
Bagian deskripsi
Bagian ini adalah bagian inti dari
suatu algoritma
Bagian ini berisi uraian
DESKRIPSI
Read (r)
L ← phi * r * r
Format Syntax Algoritma
Format Syntax Algoritma
JUDUL ALGORITMA DEKLARASI/
KAMUS
{Lokal / Umum} ALGORITMA
TUBUH
ALGORITMA/ DESKRIPSI
Nama Algoritma
Type namatipe : tipe [subrange]
Type namatipe : array [min..maks] of tipe Namavar : tipe
Namavar : array [ min..maks] of tipe Const nama = nilai
Procedure namaproc
(Input/Output[daftar_nama_parameter:tipe])
Notasi Assigment
Notasi Kondisional/Pemilihan Notasi Pengulangan
Algoritma untuk menulis Hello
Algoritma untuk menulis Hello
world:
world:
Algoritma
Hello_world
{ program untuk mencetak “Hello world”}
DEKLARASI
{tidak ada}
DESKRIPSI
Write(“Hello world”)
Algoritma untuk menghitung
Algoritma untuk menghitung
luas segiempat :
luas segiempat :
PROGRAM
LuasSegi4
{program untuk menghitung luas segiempat
dengan
diketahui panjang dan lebarnya}
DEKLARASI
Luas,panjang,lebar :integer
ALGORITMA
panjang
10
lebar
5
Translasi Teks Algoritma ke
dalam Teks Program Bahasa
C++
Translasi Notasi Kamus
Algoritma C++
1 #include <nama_unit> 2 CONST namaconst =
nilai #define namaconst nilai 3 TYPE namatipe :
tipedata Typedef namatipe; tipedata
4 namavar : tipedata
namavar : namatipe tipedata namavarnamatipe namavar;;
1 #include <iostream.h> 2 CONST phi = 3.14 #define phi 3.14
3 TYPE jumlah : integer Typedef int jumlah;
4 n : integer
n : jumlah int njumlah n; ;
Translasi Notasi Pengendalian
Translasi Notasi Pengendalian
Algoritma C++
1 namavaribel harga namavar = harga;
3 OUTPUT(daftar_item)
Lanjutan Translasi Notasi
Lanjutan Translasi Notasi
Pengendalian
Pengendalian
Algoritma C++
Lanjutan Translasi Notasi
Lanjutan Translasi Notasi
Pengendalian
Pengendalian
Algoritma C++
6 DEPEND ON <ekspresi> <ekspresi 1> : aksi_1 <ekspresi 2> : aksi_2 :
<ekspresi n> : aksi_n
atau
CASE namavarcase OF expkonstan 1 : aksi_1
Lanjutan Translasi Notasi
Lanjutan Translasi Notasi
Pengendalian
Pengendalian
Algoritma C++
7 [inisialisasi]
WHILE <kondisi_ulang> DO
while (kondisi_ulang) {
UNTIL <kondisi_stop>
[inisialisasi]
Lanjutan Translasi Notasi
Lanjutan Translasi Notasi
Pengendalian
Pengendalian
Algoritma
9 namavar TRAVERSAL [awal..akhir] daftar_aksi;
atau
FOR var awal TO/DOWNTO akhir STEP counter DO