Anda di halaman 1dari 11

PERTEMUAN 2

STRUKTUR DASAR ALGORITMA DAN PROGRAM FLOWCHART

2.1. Struktur Penulisan Algoritma


Struktur dasar penulisan algoritma terdiri dari tiga bagian yaitu :
1. Judul
Digunakan untuk menulis komentar mengenai algoritma seperti : cara kerja
program kondisi awal dan kondisi akhir algoritma.
2. Kamus
Digunakan untuk mendefinisikan nama konstanta, nama type, nama variable,
nama prosedur dan nama fungsi yang digunakan dalam algoritma.
3. Algoritma
Digunakan untuk menuliskan algoritma dalam menyelesaikan masalah secara
terstruktur.

Ketiga bagian algoritma diatas dapat dituliskan dengan struktur :


Algoritma_Name NamaIdentifier
[ Const
NamaKonstatnta = Nilai ]
[ Type
NamaType = Type Baru
.
.
End]
[ Var
Namavariabel : Typedata]
[ Procedure/Function NamaModul [(Parameter)]
[var
Namavar : Type]
Begin
.
.
End ]
Begin
. Input
. Proses
. Output
End

`w Tz|t cxztt
cxztt D Wx M T|A `^ 8
2.2. Constanta, Variabel dan Type Data
Constanta adalah data yang nilainya tidak dapat berubah walaupun ada
operasi selama proses eksekusi.
Variabel adalah data yang nilainya dapat berubah karena ada operasi selama
proses eksekusi.
Aturan penamaan variabel dan constanta :
- Diawali dengan huruf
- Diikuti huruf, angka
- Diantara character tidak dapat menggunakanx Spesial character kecuali
under score (_)
Contoh :
A, A1, A2b, A_B, Pi
Type Data digunakan untuk menentukan nilai data yang terkandung dalam
variabel. Seperti : Char, string, Numerik, date, time, boolean
Char : huruf, angka, tanda baca dan simbol.
String : gabungan dua atau lebih character.
Numerik : digit angka 0-9 untuk bilangan desimal data numeric dibagi dua :
Numerik bulat : byte, integer, word, longint
Numerik pecahan : real, single, double
Date : data tanggal dd/mm/yyyy
Time : data waktu hh:mm:ss
Boolean : data logika true dan false
Tabel Type Data Numerik Bulat

`w Tz|t cxztt
cxztt D Wx M T|A `^ 9
Tabel Type Data Numerik Pecahan

2.3. Statement Input Output


Statement Input Output digunakan untuk menerima data masukan dan
menampilkan hasil ke media keluaran.
Statement Input :
Read|Readln(Namavar)
Contoh : Read(A)
Statement Output :
Write|Writeln([Literal,] Namavar)
Literal dapat berbentuk keterangan yang penulisannya diapit tanda petik tunggal
atau petik ganda.
Contoh :
Write(A)
Writeln(Nilai A = , A)

2.4. Proses dan Operasi


Proses digunakan untuk melakukan pengolahan data dengan menggunakan
notasi asignment ( ).
Contoh : A B+C
Operasi digunakan untuk melakukan proses pengoperasian data terdiri dari :

`w Tz|t cxztt
cxztt D Wx M T|A `^ 10
Operasi Aritmatika :
^, *, /, \, +, -, mod
Operasi Relasional :
<, >, =, <=, >=, <>
Operasi Logika :
And, Or, Not, Xor
1 : True
0 : False
Tabel kebenaran Operasi Logika :
Input Output
1 2 AND OR XOR
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0

Tabel kebenaran Operasi Logika NOT :


INPUT 1 OUTPUT NOT
0 1
1 0

2.5. Struktur Dasar Algoritma


Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-
langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi
(selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi
struktur dasar pembangunan algoritma ada tiga, yaitu:
1. Struktur Runtunan
Digunakan untuk program yang pernyataannya sequential atau urutan.
2. Struktur Pemilihan
Digunakan untuk program yang menggunakan pemilihan atau penyeleksian
kondisi.

`w Tz|t cxztt
cxztt D Wx M T|A `^ 11
3. Struktur Perulangan
Digunakan untuk program yang pernyataannya akan dieksekusi berulang-
ulang.

2.6. Tahapan Pembuatan Algoritma / Program


Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam
pemrograman dengan komputer adalah:
1. Definisikan Masalah
Berikut adalah hal-hal yang harus diketahui dalam analisis masalah supaya
kita mengetahui bagaimana permasalahan tersebut:
a. Kondisi awal, yaitu input yang tersedia.
b. Kondisi akhir, yaitu output yang diinginkan.
c. Data lain yang tersedia.
d. Operator yang tersedia.
e. Syarat atau kendala yang harus dipenuhi.
Contoh kasus:
Menghitung biaya percakapan telepon di wartel. Proses yang perlu
diperhatikan adalah:
a. Input yang tersedia adalah jam mulai bicara dan jam selesai bicara.
b. Output yang diinginkan adalah biaya percakapan.
c. Data lain yang tersedia adalah besarnya pulsa yang digunakan dan biaya
per pulsa.
d. Operator yang tersedia adalah pengurangan (-), penambahan (+), dan
perkalian (*).
e. Syarat kendala yang harus dipenuhi adalah aturan jarak dan aturan waktu.
2. Buat Algoritma dan Struktur Cara Penyelesaian
Jika masalahnya kompleks, maka dibagi ke dalam modul-modul. Tahap
penyusunan algoritma seringkali dimulai dari langkah yang global terlebih
dahulu. Langkah global ini diperhalus sampai menjadi langkah yang lebih
rinci atau detail. Cara pendekatan ini sangat bermanfaat dalam pembuatan
algoritma untuk masalah yang kompleks. Penghalusan langkah dengan cara

`w Tz|t cxztt
cxztt D Wx M T|A `^ 12
memecah langkah menjadi beberapa langkah. Setiap langkah diuraikan lagi
menjadi beberapa langkah yang lebih sederhana. Penghalusan langkah ini
akan terus berlanjut sampai setiap langkah sudah cukup rinci dan tepat untuk
dilaksanakan oleh pemroses.
3. Menulis Program
Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi
sebuah program. Perlu diperhatikan bahwa pemilihan algoritma yang salah
akan menyebabkan program memiliki untuk kerja yang kurang baik. Program
yang baik memiliki standar penilaian:
a. Standar teknik pemecahan masalah
- Teknik Top-Down
Teknik pemecahan masalah yang paling umum digunakan. Prinsipnya adalah
suatu masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok
masalah yang lebih kecil. Dari masalah yang kecil tersebut dilakukan analisis.
Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi
subbagiansubbagian dan setelah itu mulai disusun langkah-langkah
penyelesaian yang lebih detail.
- Teknik Bottom-Up
Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan
dengan menggabungkan prosedur-prosedur yang ada menjadi satu kesatuan
program sebagai penyelesaian masalah tersebut.
b. Standar penyusunan program
- Kebenaran logika dan penulisan.
- Waktu minimum untuk penulisan program.
- Kecepatan maksimum eksekusi program.
- Ekspresi penggunaan memori.
- Kemudahan merawat dan mengembangkan program.
- User Friendly.
- Portability.
- Pemrograman modular.
4. Mencari Kesalahan

`w Tz|t cxztt
cxztt D Wx M T|A `^ 13
a. Kesalahan sintaks (penulisan program).
b. Kesalahan pelaksanaan: semantik, logika, dan ketelitian.
5. Uji dan Verifikasi Program
Pertama kali harus diuji apakah program dapat dijalankan. Apabila program
tidak dapat dijalankan maka perlu diperbaiki penulisan sintaksisnya tetapi bila
program dapat dijalankan, maka harus diuji dengan menggunakan data-data
yang biasa yaitu data yang diharapkan oleh sistem. Contoh data ekstrem,
misalnya, program menghendaki masukan jumlah data tetapi user mengisikan
bilangan negatif. Program sebaiknya diuji menggunakan data yang relatif
banyak.
6. Dokumentasi Program
Dokumentasi program ada dua macam yaitu dokumentasi internal dan
dokumentasi eksternal. Dokumentasi internal adalah dokumentasi yang dibuat
di dalam program yaitu setiap kita menuliskan baris program sebaiknya diberi
komentar atau keterangan supaya mempermudah kita untuk mengingat logika
yang terdapat di dalam instruksi tersebut, hal ini sangat bermanfaat ketika
suatu saat program tersebut akan dikembangkan. Dokumentasi eksternal
adalah dokumentasi yang dilakukan dari luar program yaitu membuat user
guide atau buku petunjuk aturan atau cara menjalankan program tersebut.
7. Pemeliharaan Program
a. Memperbaiki kekurangan yang ditemukan kemudian.
b. Memodifikasi, karena perubahan spesifikasi.

`w Tz|t cxztt
cxztt D Wx M T|A `^ 14
2.6. Program Flowchat
urutan logis pengambilan kepututusan untuk pemecahan masalah
menggunakan simbol.

`w Tz|t cxztt
cxztt D Wx M T|A `^ 15
Contoh : Buat Algoritma untuk menghitung luas persegi panjang :

Algoritma_Name Hitungluas
Var
p,l,luas : numerik
Begin
Read(p,l)
atau
p 10
l 5
luas p*l
writeln(luas persegi panjang , luas)
End

Mulai

Var
P,L,Luas : Numerik

Read (P,L)

Luas Pp*L

Write (Luas)

Selesai

`w Tz|t cxztt
cxztt D Wx M T|A `^ 16
Struktur Program Pascal :

Program Namaprogram;
Uses daftarunit; {misal wincrt}
[ Const
NamaKonstatnta = Nilai; ]
[ Type
NamaType = Type Baru;
.
.
End;]
[ Var
Namavariabel : Typedata;]
[ Procedure/Function NamaModul [(Parameter)] [:type hasil];
[var
Namavar : Type;]
Begin
.statement;
.
End; ]
Begin
. Input;
. Proses;
. Output;
End.

Implementasi Algoritma dan program flowchart kedalam program pascal :

Program Hitungluas;
Uses wincrt;
Var
p,l,luas : integer
Begin
Write(Panjang = ); Readln(p);
Write(Lebar = ); Readln(l);
luas := p*l;
writeln(Luas Persegi Panjang , Luas);
End.

`w Tz|t cxztt
cxztt D Wx M T|A `^ 17
Output program :

`w Tz|t cxztt
cxztt D Wx M T|A `^ 18

Anda mungkin juga menyukai