Anda di halaman 1dari 37

PENULISAN ALGORITMA

(Pseudocode)
Penulisan Algoritma
● Dalam bentuk tulisan
➢ Bahasa natural
➢ Pseudocode
● Dalam bentuk gambar
● Diagram alir (flowchart)
Pseudocode
● Pseudo = imitasi, mirip atau menyerupai
● Code = kode program
● Pseudocode adalah cara penulisan algoritma
yang menyerupai kode program sebenarnya.

Pseudocode berbasis kepada bahasa Pascal,
Basic, Fortran atau Cobol.

Lebih tepat jika dikomunikasikan dengan
programmer.
Aturan Penulisan Pseudocode
Pseudocode terdiri dari tiga buah bagian:
● Judul algoritma
Terdiri atas nama algoritma dan penjelasan tentang algoritma
tersebut. Nama algoritma sebaiknya singkat dan menggambarkan
apa yang dilakukan oleh algoritma tersebut.
● Deklarasi
Mendefinisikan semua nama yang digunakan di dalam program.
Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedur
dan fungsi.
● Deskripsi
Berisi uraian langkah-langkah penyelesaian masalah yang ditulis
dengan menggunakan notasi yang akan dijelaskan selanjutnya.
Contoh Pseudocode
Algoritma Luas_Lingkaran { ← ini judul algoritma }
{ menghitung luas untuk jari-jari tertentu. Algoritma menerima
masukan jari-jari lingkaran, menghitung luas lingkaran, dan
mencetak luas lingkaran ke piranti keluaran ← ini penjelasan
algoritma }

KAMUS :
const PI = 3.14
R : real
Luas : real

ALGORITMA :
read (R)
Luas ← PI * R * R
write(Luas)
Algoritma dengan Bahasa Natural
● Penulisannya didasarkan kepada struktur
bahasa sehari-hari tanpa melihat kepada
aturan-aturan yang berlaku pada penulisan
algoritma.
Contoh Kasus
Algoritma menghitung persegi panjang
“Diberikan masukan panjang dan lebar, tentukan luas dari sebuah
persegi panjang”

Notasi Algoritma
1. Mulai
2. Baca panjang dan lebar
3. Luas = panjang * lebar
4. Tulis luas persegi panjang
5. Selesai
PENYELEKSIAN KONDISI
(PERCABANGAN)
Jenis Percabangan

 Pernyataan IF
 If-Then
 If-Then-Else

 Pernyataan CASE
 Case-Of
 Case-Of..Else
 Pernyataan IF Sederhana
Bentuk :
IF <kondisi> THEN
<Pernyataan>
ENDIF
1. Pernyataan IF dengan Syarat Tunggal :
Instruksi untuk memeriksa sebuah kondisi saja:
Contoh :
IF komentar$=“coba” THEN
output(“anda masukkan kata yang benar”)
ENDIF
 Pernyataan IF Syarat Majemuk
Digunakan Operator AND dan OR
Contoh :
IF nilai =“A” OR nilai=“B” Then
Output(“Anda lulus Ujian Taruna”)
ENDIF
 Atau
IF nilai<=100 AND nilai>= 80 THEN
Output(“Nilai Mata Kuliah anda A”)
ENDIF
 Pemeriksaan Data String
Digunakan Operator >,>=,<,<=,=,<> untuk mendeteksi nilai
ASCII dari data tersebut.
Contoh :
IF sandi$=“HS” THEN
output(“Silahkan Akses Program ini”)
ENDIF
IF data$<“a” THEN
output(“Huruf Kapital”)
ENDIF
Pernyataan If-Else
 Digunakan untuk menguji sebuah kondisi

 Bila kondisi terpenuhi (True/benar)maka program akan menjalankan pernyataan tertentu

 Bila kondisi tidak terpenuhi (False/salah) maka program akan menjalankan pernyataan
lainnya

 Bentuk umum (sintaks):

If kondisi then
Benar
pernyataan1 {jika kondisi terpenuhi}
else
pernyataan2 {jika kondisi tidak terpenuhi}
Salah
 Pernyataan IF ELSE
Bentuk umum :

IF(kondisi) THEN
<statement 1>
ELSE
<statement 2>
ENDIF
 IF X>0 THEN
Output(“X ADALAH BILANGAN Positif”)
ELSE
Output(“X ADALAH BILANGAN Negatif”)
ENDIF

 IF tahun mod 4 = 0 THEN


Output(“X ADALAH Tahun Kabisat”)
ELSE
Output(“X ADALAH bukan Tahun Kabisat”)
ENDIF
Pernyataan If-Else If
 Pernyataan if bertingkat

Benar
 Bentuk umum (sintaks):

Salah
If kondisi1 then
Benar
pernyataan1 {jika kondisi terpenuhi}

Else if kondisi2 then

pernyataan2{jika kondisi terpenuhi} Salah

Else

pernyataan3 {jika kondisi tidak terpenuhi}


Bentuk:
IF<kondisi 1> THEN
<statement 1>
ELSE
IF<kondisi 2>THEN
<statement 2>
ELSE
IF<kondisi 3>THEN
<statement 3>
…………
ELSE
<statement m>
ENDIF
ENDIF
ENDIF
Pernyataan Case

 Digunakan untuk menyederhanakan penulisan If-Then-Else

Case ekspresi Of

0: pernyataan1;

1: pernyataan2;

2: pernyataan3;

3: pernyataan4;

Else

pernyataan;

End;
Latihan
1. Buat algoritma dan program untuk menampilkan bilangan ganjil atau genap

2. Buat algoritma dan program untuk mengecek tahun kabisat atau bukan

3. Program untuk membaca nomor bulan (integer) dan menuliskan nama bulan
sesuai angka bulannya

4. Buat algoritma dan program untuk membaca nilai ujian dan menentukan indeks
nilainya, kemudian mencetak nilai dan indeksnya ke piranti keluaran

nilai ujian ≥ 80, indeks nilai = A

70 ≤ nilai ujian < 80, indeks nilai = B

55 ≤ nilai ujian < 70, indeks nilai = C

40 ≤ nilai ujian < 55, indeks nilai = D

nilai ujian < 40, indeks nilai = E


Contoh Kasus
Algoritma kelulusan_mhs
“Diberikan masukan nama dan nilai mahasiswa, jika nilai tersebut
lebih besar atau sama dengan 60 maka dinyatakan lulus. Jika lebih
kecil dari 60 maka dinyatakan tidak lulus”

Notasi Algoritma
1. Mulai
2. Baca nama dan nilai mahasiswa
3. Jika nilai >= 60 maka
keterangan = lulus
tetapi, jilai nilan < 60 maka
keterangan = tidak lulus
4. Tulis nama dan keterangan
5. Selesai
PERULANGAN
(LOOPING)
Pengulangan (Repetition)
for var  awal to akhir do
aksi
Endfor

repeat
aksi
until kondisi_stop

while kondisi_ulang do
aksi
endwhile -Alpro 2009- 22
Contoh (Pengulangan) :
For i  1 to 5 do
printf(“Algoritma dan Pemrograman”)
EndFor
i1
Repeat
printf(“Algoritma dan Pemrograman”)
ii+1
Until (i>5)
i1
While (i<=5) do
printf(“Algoritma dan Pemrograman”)
ii+1
endwhile
Perulangan (Looping)

 Loop (perulangan) digunakan untuk mengeksekusi satu atau


beberapa statetement/pernyataan sebanyak beberapa kali.

 Pernyataan loop memungkinkan kita untuk menjalankan


beberapa pernyataan hanya dengan menuliskan pernyataan
tersebut satu kali.

 Perulangan berguna untuk mengerjakan suatu statement atau


blok statement secara berulang-ulang sebanyak yang
diinginkan.

 Bahasa pemrograman Pascal menyediakan tipe loop untuk


menangani permintaan looping (perulangan) seperti FOR-DO,
WHILE-DO dan REPEAT-UNTIL.
Perulangan For..do
 Perulangan menggunakan For..do digunakan jika kita sudah tahu
berapa pernyataan yang akan diulang.

 For digunakan untuk melakukan perulangan sebanyak yang


ditentukan mulai dari nilai awal sampai nilai akhir yang diberikan.

 Pendeklarasian for diikuti dengan nama variabel yang bertipe integer.

 Pada setiap perulangan , variabel akan bertambah satu atau


berkurang satu

 Sintaks:
for variabel_pencacah  nilai_awal to nilai_akhir do

{pernyataan yang akan diulang}

endfor;
Perulangan For..do (lanjutan)
 Contoh untuk menuliskan string ‘Saya Mahasiswa’ sebanyak
20 kali maka:
for i  1 to 10 do

printf(“Saya Mahasiswa”);

endfor

 Kita juga bisa menuliskan perulangan dari bilangan yang


lebih besar ke bilangan yang lebih kecil dengan mengganti
‘to’ dengan ‘downto’. Contoh:
for i  10 downto 1 do

printf(“Saya Mahasiswa”);

endfor
Awas!!

 Jika nilai awal dari variabel for..do lebih besar daripada nilai
akhir maka statement di dalamnya tidak akan dijalankan

 Jika nilai awal dari variabel for..down to lebih kecil daripada


nilai akhir maka statement di dalamnya juga tidak akan
dikerjakan

 Meskipun tidak dapat diketahui berapa banyak perulangan


dilakukan, namun harus dipastikan bahwa loop akan berhenti,
agar tidak terjadi infinite loop

 Invinite loop adalah suatu perulangan yang dilakukan terus


menerus
For bersarang

 Kita bisa menuliskan pernyataan for di dalam pernyataan


for. Contoh:
For x  1 to 3 do

For y  1 to 2 do
printf(x,” “, y)

endfor

endfor
Perulangan while..do
 Digunakan jika kita belum tahu pasti berapa banyak akan mengulang
pernyataan-pernyataan.

 Berakhirnya pengulangan ini ditentukan oleh suatu kondisi.

 Pengulangan akan berakhir, jika kondisi sudah tidak terpenuhi.

 Jadi, selama kondisi masih terpenuhi, maka pengulangan akan terus


dilakukan. Kondisi merupakan suatu ekspresi boolean, dapat bernilai
benar (true) dan salah (false).

 Sintaks:
while kondisi do
{pernyataan-pernyataan yang akan diulang}
enwhile
Pemakaian perulangan while..do
 Pada saat program akan menjalankan perulangan,
kondisi akan diperiksa terlebih dahulu.

 Jika kondisi terpenuhi maka statement akan dijalankan,


jika tidak maka akan dihentikan
while

do
Ya

Tidak
Perulangan Repeat..until

 Pernyataan ini hampir sama dengan perulangan while-do,


digunakan bila jumlah pengulangan belum dapat ditentukan
pada saat program ditulis.

 Perbedaannya pada repeat-until dan while-do terletak pada


letak pengecekan kondisi. Jika pada while-do, kondisi dicek di
awal, maka pada repeat-until mengulang pernyataan selama
kondisi belum terpenuhi.

 Sintaks:
Repeat
{pernyataan-pernyataan yang akan diulang}
until kondisi;
Pemakaian perulangan repeat..until
 Perulangan repeat..until pasti
mengerjakan baris perintahnya satu
kali, sedangkan perulangan
repeat while..do ada kemungkinan tidak
pernah mengerjakan baris perintah
di dalamnya

Tidak

Until Ya
Awas!!

 Kondisi perulangan pada while..do dan repeat..until


adalah berkebalikan. Pada repeat..until terminasi terjadi
jika kondisi benar, sedangkan pada while..do terminasi
terjadi jika kondisi salah.
Pernyataan break

 Pernyataan break dapat digunakan untuk


menghentikan pengulangan di tengah jalan.
x := 0;
Jika dilihat sekilas, program di atas
while (x >= 0) do
seperti tidak akan pernah berakhir
begin karena x selalu ditambah 1. Padahal
x := x+1; kondisi yang harus dipenuhi adalah x
>= 0. Namun bila dieksekusi, setelah
If (x > 100) then
nilai x lebih besar dari pada 100 maka
break; perulangan akan berhenti karena
ada pernyataan break.
end;
Pernyataan continue

 Pernyataan continue digunakan untuk mengembalikan


aliran program ke pengujian kondisi perulangan,
sehingga pernyataan di bawahnya akan diabaikan.
for i := 0 to 100 do
Program tersebut akan
begin
menuliskan semua bilangan
if ((i mod 3) <> 0 ) then kelipatan tiga yang kurang dari
continue;
100, karena pada saat nilai
pencacah pengulangan tidak
writeln(i);
habis dibagi 3, program akan
end; memanggil pernyataan
continue, akibatnya writeln(i)
tidak dipanggil.
Pernyataan break dan continue

 Pernyataan break dan continue ini dapat digunakan


pada pernyataan for, while, maupun repeat-until.

 Selain itu juga dapat digunakan pada pernyataan


perulangan bersarang (baik for, while, maupun repeat-
until).
Any Question?

Anda mungkin juga menyukai