Anda di halaman 1dari 108

Definisi Algoritma

Algoritma adalah urutan langkah-langkah logis yang disusun


secara sistematis untuk menyelesaikan suatu masalah.

Kata logis (logika) merupakan kunci dalam algoritma.

Langkah-langkah dalam algoritma harus logis, hasil


algoritma harus dapat ditentukan bernilai benar atau salah.

Langkah yang salah akan memberikan hasil yang salah.

Algoritma Dalam Kehidupan

Algoritma dapat dikatakan jantung dalam ilmu komputer


dan informatika.

Banyak cabang ilmu komputer yang diacu dalam terminologi


algoritma.

Selain itu algoritma juga dapat ditemukan dalam kehidupan


sehari-hari.

Algoritma Dalam Kehidupan

Contoh algoritma dalam kehidupan sehari-hari adalah


resep masakan.

Di dalam resep masakan terdapat langkah-langkah


yang merupakan algoritma.

Selain itu masih banyak contoh algoritma yang lain


dalam kehidupan sehari-hari.

Contoh Algoritma Sederhana

Sebagai contoh, menukarkan isi dua buah gelas.

Gelas A berisi cairan biru dan gelas B berisi cairan


merah.

Tukarkanlah isi kedua gelas tersebut.

Contoh Algoritma Sederhana

Algoritma 1 :
1.

Tuangkan isi gelas A ke gelas B

2.

Tuangkan isi gelas B ke gelas A

Contoh Algoritma Sederhana

Jawaban pada Algoritma 1 diatas tidak menghasilkan


pertukaran yang benar.

Cairan pada kedua gelas bisa saja tercampur.

Contoh Algoritma Sederhana

Algoritma 2 :
1.

Tuangkan isi gelas A ke gelas C

2.

Tuangkan isi gelas B ke gelas A

3.

Tuangkan isi gelas C ke gelas B

Contoh Algoritma Sederhana

Jawaban pada Algoritma 2 sudah tepat.

Dengan menggunakan bantuan sebuah gelas C, maka


kedua isi gelas dapat ditukarkan tanpa tercampur.

Bahasa Pemrograman

Agar suatu algoritma dapat dilaksanakan oleh komputer,


maka notasi algoritma harus ditulis dalam notasi bahasa
pemrograman sehingga dinamakan program.

Jadi program merupakan implementasi teknis algoritma yang


ditulis dengan bahasa pemrograman tertentu.

Contoh bahasa pemrograman misalnya : Basic, C/C++, Java,


PHP, Python, JavaScript, Perl, Ruby, Pascal, dan lainnya.

Bahasa Pemrograman

Notasi algoritma nantinya dapat dituangkan ke dalam


bahasa pemrograman apapun, dengan kata lain algoritma
bersifat independen.

Belajar bahasa pemrograman tidak sama dengan belajar


algoritma.

Notasi Algoritma

Notasi algoritma umumnya dapat dibuat dalam tiga cara


yaitu :

Kalimat Deskriptif

Flowchart

Pseudo-code

Dalam belajar algoritma notasi yang umum digunakan


adalah Flowchart dan Pseudo-code.

Flowchart dan Pseudo-code memiliki keunggulan tersendiri.

Notasi Algoritma

Menulis algoritma dengan Flowhart dan Pseudo-code


biasanya dilakukan oleh programmer pemula (tahap
belajar).

Programmer yang mahir umumnya langsung


menuangkan algoritma dengan bahasa pemrograman
tertentu.

Namun programmer mahir terkadang menggunakan


Flowchart dan Pseudo-code untuk dokumentasi.

Contoh Soal

Terdapat tiga buah cakram seperti pada gambar,


dimana cakram yang lebih kecil berada lebih diatas.
Buatlah algoritma untuk memindahkan cakram dari
tempat A ke B dimana satu kali perpindahan hanya
boleh satu cakram. Cakram yang lebih kecil harus
selalu berada diatas cakram yang lebih besar.

Contoh Soal

Contoh Soal
1.

Pindahkan cakram A ke B

2.

Pindahkan cakram A ke C

3.

Pindahkan cakram B ke C

4.

Pindahkan cakram A ke B

5.

Pindahkan cakram C ke A

6.

Pindahkan cakram C ke B

7.

Pindahkan cakram A ke B

Flowchart
Flowchart adalah jenis diagram yang merepresentasikan
sebuah algoritma atau proses, menunjukkan langkahlangkah sebagai kotak dari berbagai jenis, dan pesan yang
dibawa antar kotak, dihubungkan dengan anak panah.
Representasi diagram dapat memberikan solusi langkahdemi-langkah untuk suatu masalah.
Operasi proses direpresentasikan dalam kotak-kotak, dan
panah menghubungkan mereka mewakili aliran kontrol.
Flowchart digunakan dalam menganalisis, merancang,
mendokumentasikan atau mengelola proses atau program di
berbagai bidang.
Flowchart
digunakan
dalam
merancang
dan
mendokumentasikan proses kompleks.

Simbol Flowchart
Terminal, untuk menyatakan START dan END
Hanya sebagai tanda, tidak melakukan suatu pekerjaan
khusus.

Process, untuk menyatakan assignment statement

I/O, Input/Output operation.


untuk menyatakan proses baca (READ) dan proses tulis
(WRITE)
Decision, untuk menyatakan pengambilan keputusan sesuai
dengan suatu kondisi.
Digunakan untuk menggambarkan control statement.

Garis, untuk menyatakan urutan pelaksanaan, atau alur proses.

Simbol Flowchart
Pemberian nilai awal suatu variabel.

Subrutin ,
fungsi)

Memanggil suatu subprogram (prosedur, atau

Titik connector yang berada pada halaman yang sama

Titik connector yang berada pada halaman lain.

Flowchart
Simbol-simbol diatas umumnya digunakan untuk menuliskan flowchart.
Sebagai contoh algoritma untuk menjumlahkan dua buah bilangan adalah
sebagai berikut :
Start
Read

A, B

C=A+B

Write

Stop

Flowchart
Contoh lain, misalkan kita ingin mengetahui apakah sebuah
bilangan ganjil atau genap.
Untuk itu kita harus membuat flowchart seperti berikut :
Start
Read

Sisa = A mod 2

Sisa = 0

N
Write

Ganjil

Stop

Write

Genap

Pseudo-code
Pseudo-code merupakan deskripsi tingkat tinggi informal dan
ringkas
atas
algoritma
pemrograman
komputer
yang
menggunakan
konvensi
struktural
atas
suatu
bahasa
pemrograman, dan ditujukan untuk dibaca oleh manusia dan
bukan oleh mesin.
Pseudo-code biasanya tidak menggunakan elemen detail yang
tidak diperlukan untuk kebutuhan pemahaman manusia atas
suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin
untuk sistem yang bersifat spesifik.
Bahasa pemrograman yang digunakan lebih diperbanyak dengan
deskripsi dalam bahasa natural atas sesuatu hal yang bersifat
detail, atau dengan menggunakan notasi matematis.
Tujuan dari penggunaan pseudo-code adalah untuk mempermudah
manusia dalam pemahaman dibandingkan menggunakan bahasa
pemrograman yang umum digunakan, terlebih aspeknya yang
ringkas serta tidak bergantung pada suatu sistem tertentu
merupakan prinsip utama dalam suatu algoritma.

Pseudo-code
Berikut ini adalah contoh
menghitung jumlah A dan B.
1|Start
2|Masukkan A dan B
3|C = A + B
4|Tampilkan C
5|End

pseudo-code

untuk

Pseudo-code
Berikut ini adalah contoh pseudo-code untuk mencari
bilangan ganjil dan genap.
1|Start
2|Masukkan A
3|Sisa = A MOD 2
4|IF (Sisa = 0)
5|
Cetak Genap
6|Else
7|
Cetak Ganjil
8|End

Variabel dan Tipe Data

Variabel dalam pemrograman adalah suatu tempat pada memori


komputer yang di beri nama dan memiliki alamat tertentu.
Variabel digunakan untuk menyimpan nilai-nilai tertentu yang akan
digunakan pada program.
Pada sebagian bahasa pemrograman, ukuran dari sebuah variabel
ditentukan oleh tipe data yang akan digunakan.
Data yang akan disimpan pada sebuah variabel tidak boleh lebih
besar dari ukuran yang disediakan. Jika terjadi ukuran data lebih besar
dari ukuran yang disediakan, umumnya program akan mengeluarkan
peringatan kesalahan.
Tipe data umumnya terdiri dari tipe data bilangan bulat, tipe data
bilangan pecahan, dan tipe data karakter. Tipe data selain yang
disebutkan sebelumnya biasanya tergantung dari bahasa
pemrograman yang digunakan.

Contoh Penggunaan Variabel


Start
Set a = 0
Set b = 0
Set c = 0
Read

a, b

Set c = a + b
Write
Stop

Pseudo Code
Set a = 0
Set b = 0
Set c = 0
Read a, b
Set c = a + b
Write c

Implementasi pada bahasa BASIC


Dim a as Integer
Dim b as Integer
Dim c as Integer
Input a
Input b
c=a+b
Print c

Implementasi pada bahasa Java


package contoh;
import java.io.*;
public class latihan1 {
static int a, b, c;
public static void main(String[] args) {
Console cons = System.console();
String x = cons.readLine();
a = Integer.parseInt(x);
x = cons.readLine();
b = Integer.parseInt(x);
c = a + b;
System.out.println(c);
}
}

Implementasi pada Python


#!/usr/bin/python
A=0
B=0
C=0
try:
A = int(input(A: ))
B = int(input(B: ))
C=A+B
print C
except:
print(Angka yang dimasukkan tidak benar.)

Implementasi pada C#
using System;
namespace Latihan {
class LatihanClass {
static int a = 0;
static int b = 0;
static int c = 0;
public static void tes() {
string x = "";
bool t = false;
while(t == false) {
Console.Write("A: ");
x = Console.ReadLine();
t = int.TryParse(x, out a);
}
t = false;
while(t == false) {
Console.Write("B: ");
x = Console.ReadLine();
t = int.TryParse(x, out b);
}
c = a + b;
Console.WriteLine("C: " + c.ToString());
}

public static void Main() {


tes();
}

Implementasi pada VB.NET


Imports System
Public Class Application
Public Shared Sub Main()
dim a, b, c as integer
Console.Write("A: ")
a = Console.ReadLine()
Console.Write("B: ")
b = Console.ReadLine()
c=a+b
Console.WriteLine("C: {0}", c)
End Sub
End Class

Implementasi pada BASH script


#!/bin/bash
echo -n "A: "
read a
echo -n "B: "
read b
let "c=a+b"
echo "C: $c"

Implementasi pada PHP script


#!/usr/bin/php
<?php
print("A: ");
$a = trim(fgets(STDIN));
print("B: ");
$b = trim(fgets(STDIN));
$c = $a + $b;
print("C: {$c}\n");
?>

Implementasi pada Javascript


<html>
<head>
<title>Latihan21</title>
</head>
<body>
<script type="text/javascript">
var a = prompt("Masukkan sebuah bilangan", "0");
var b = prompt("Masukkan sebuah bilangan", "0");
var c = parseInt(a) + parseInt(b);
document.write("A: ");
document.write(a + "<br>");
document.write("B: ");
document.write(b + "<br>");
document.write("C: ");
document.write(c + "<br>");
</script>
</body>
</html>

Percabangan
Percabangan digunakan untuk memeriksa sebuah kondisi atau lebih kondisi
dan menjalankan rangkaian proses berdasarkan hasil dari kondisi yang
diperiksa.
Ada beberapa bentuk percabangan, antara lain:
IF kondisi THEN proses ENDIF
IF kondisi THEN proses1 ELSE proses2 ENDIF
IF kondisi1 THEN proses1 ELSEIF kondisi2 THEN proses2 ELSE proses3
ENDIF
Contoh:
Jika a lebih besar dari 10 maka cetak a
Pseudocode:
Start
Set a = 0
Read a
If a > 10 then
Write a
Endif
Stop

Percabangan: IF
Pseudocode
Start
IF kondisi THEN
Proses1
ENDIF
Stop

Start

Y
Kondisi

T
Stop

Proses1

Contoh Penggunaan IF
Soal
Cetak Nilai lebih besar dari 10
jika variabel x berisi nilai lebih dari
10.
Pseudo Code
Start
num x = 0
Read x
If x > 10 Then
Write Nilai lebih besar dari 10
Endif
Stop

Start
Declarations
num x = 0

Read

x > 10
T
Stop

Write

Nilai lebih besar


dari 10

Implementasi pada bahasa BASIC


Dim x as Integer
Input x
If x > 10 Then
Print Nilai lebih besar dari 10
End If

Implementasi pada bahasa Java


package contoh;
import java.io.*;
public class latihan1 {
int x;
public static void main(String[] args) {
Console cons = System.console();
String y = cons.readLine();
x = Integer.parseInt(y);
If (x > 10) {
System.out.println(Nilai lebih besar dari 10);
}
}
}

Implementasi pada bahasa Python


#!/usr/bin/python
x=0
try:
x = int(input(X: ))
if x > 10:
print(Nilai lebih besar dari 10)
except:
print(Angka yang dimasukkan tidak benar.)

Implementasi pada bahasa VB.Net


Imports System
Public Class Application
Public Shared Sub Main()
Dim x as integer
Console.Write("X: ")
x = Console.ReadLine()
If x > 10 Then
Console.WriteLine("Nilai lebih besar dari 10")
End If
End Sub
End Class

Implementasi pada bahasa C#


using System;
namespace Latihan {
class LatihanClass02 {
static int x = 0;
public static void tes() {
string y = "";
bool t = false;
while(t == false) {
Console.Write("X: ");
y = Console.ReadLine();
t = int.TryParse(y, out x);
}
if (x > 10) {
Console.WriteLine("Nilai lebih besar dari 10");
}
}

public static void Main() {


tes();
}

Implementasi pada bahasa BASH


#!/bin/bash
echo -n "X: "
read x
if [[ $x -gt 10 ]]; then
echo Nilai lebih besar dari 10
fi

Implementasi pada bahasa C


#include "stdio.h"
int main(int argc, char **argv) {
int x;
printf("Masukkan sebuah bilangan : ");
scanf("%d", &x);
if (x > 10) {
printf("Bilangan %d lebih besar dari 10\n", x);
}
}

Implementasi pada bahasa Pascal


Program Latihan41;
Var x : integer;
Begin
Write('Masukkan sebuah angka :');
Readln(x);
If x > 10 Then
Begin
Writeln('Angka yang dimasukkan lebih besar dari 10');
End;
End.

Implementasi pada bahasa PHP


#!/usr/bin/php
<?php
print("X: ");
$x = trim(fgets(STDIN));
if ($x > 10) {
print("{$x} lebih besar dari 10\n");
}
?>

Implementasi pada bahasa Javascript


<html>
<head>
<title>Latihan41</title>
</head>
<body>
<script type="text/javascript">
var x = prompt("Masukkan sebuah bilangan", "0");
if (x > 10) {
document.write(x + " lebih besar dari 10<br>");
}
</script>
</body>
</html>

Percabangan: IF - ELSE
Start

Kondisi

Proses1
Y

T
Proses2

Stop

Pseudocode
Start
IF kondisi THEN
Proses1
ELSE
Proses2
ENDIF
Stop

Contoh Penggunaan IF - ELSE


Soal
Cetak Nilai lebih besar dari 10
jika variabel x berisi nilai lebih dari
10 dan cetak Nilai lebih kecil dari
10 jika tidak.
Pseudo Code
Start
num x = 0
Read x
If x > 10 Then
Write Nilai lebih besar dari 10
Else
Write Nilai lebih kecil dari 10
Endif
Stop

Start
Declarations
num x = 0

Read

x > 10
T
Write

Stop

Y
Nilai lebih
kecil dari 10

Write

Nilai lebih
besar dari
10

Implementasi pada bahasa BASIC


Dim x as Integer
Input x
If x > 10 Then
Print Nilai lebih besar dari 10
Else
Print Nilai lebih kecil dari 10
End If

Implementasi pada bahasa Java


package contoh;
import java.io.*;
public class latihan1 {
int x;
public static void main(String[] args) {
Console cons = System.console();
String y = cons.readLine();
x = Integer.parseInt(y);

if (x > 10) {
System.out.println(Nilai lebih besar dari 10);
} else {
System.out.println(Nilai lebih kecil dari 10);
}

Implementasi pada bahasa Python


#!/usr/bin/python
x=0
try:
x = int(input(X: ))
if x > 10:
print(Nilai lebih besar dari 10)
else:
print(Nilai lebih kecil dari 10)
except:
print(Angka yang dimasukkan tidak benar.)

Implementasi pada bahasa VB.Net


Imports System
Public Class Application
Public Shared Sub Main()
Dim x as integer
Console.Write("X: ")
x = Console.ReadLine()
If x > 10 Then
Console.WriteLine("Nilai lebih besar dari 10")
Else
Console.WriteLine("Nilai lebih kecil dari 10")
End If
End Sub
End Class

Implementasi pada bahasa C#


using System;
namespace Latihan {
class LatihanClass02 {
static int x = 0;
public static void tes() {
string y = "";
bool t = false;
while(t == false) {
Console.Write("X: ");
y = Console.ReadLine();
t = int.TryParse(y, out x);
}
if (x > 10) {
Console.WriteLine("Nilai lebih besar dari 10");
} else {
Console.WriteLine("Nilai lebih kecil dari 10");
}
}

public static void Main() {


tes();
}

Implementasi pada bahasa BASH


#!/bin/bash
echo -n "X: "
read x
if [[ $x -gt 10 ]]; then
echo Nilai lebih besar dari 10
else
echo Nilai lebih kecil dari 10
fi

Percabangan: IF - ELSEIF
Start

Kondisi1

Proses1

T
Kondisi2
T
Proses3

Stop

Proses2

Pseudocode
Start
IF kondisi1 THEN
Proses1
ELSEIF kondisi2 THEN
Proses2
ELSE
Proses3
ENDIF
Stop

Contoh Penggunaan IF - ELSEIF


Soal
Cetak Nilai lebih besar dari 10 jika
variabel x berisi nilai lebih dari 10 dan
jika variabel x berisi nilai lebih besar dari
5 maka cetak Nilai lebih besar dari 5
dan cetak Nilai lebih kecil dari 5 jika
tidak.
Pseudo Code
Start
num x = 0
Read x
If x > 10 Then
Write Nilai lebih besar dari 10
ElseIf x > 5 Then
Write Nilai lebih besar dari 5
Else
Write Nilai lebih kecil dari 5
Endif
Stop

Start
Declarations
num x = 0
Read

x > 10

x
Y

Nilai lebih besar


dari 10

T
x>5
T
Write

Stop

Write

Write

Nilai lebih besar dari 5


Nilai lebih kecil dari 5

Implementasi pada bahasa BASIC


Dim x as Integer
Input x
If x > 10 Then
Print Nilai lebih besar dari 10
ElseIf x > 5 Then
Print Nilai lebih besar dari 5
Else
Print Nilai lebih kecil dari 5
End If

Implementasi pada bahasa Java


package contoh;
import java.io.*;
public class latihan4 {
int x;
public static void main(String[] args) {
Console cons = System.console();
String y = cons.readLine();
x = Integer.parseInt(y);
if (x > 10) {
System.out.println(Nilai lebih besar dari 10);
} else if (x > 5) {
System.out.println(Nilai lebih besar dari 5);
} else {
System.out.println(Nilai lebih kecil dari 5);
}
}
}

Implementasi pada bahasa Python


#!/usr/bin/python
x = 0
try:
x = int(input(X: ))
if x > 10:
print(Nilai lebih besar dari 10)
elseif x > 5:
print(Nilai lebih besar dari 5)
else:
print(Nilai lebih kecil dari 5)
except:
print(Angka yang dimasukkan tidak benar.)

Implementasi pada bahasa VB.Net


Imports System
Public Class Application
Public Shared Sub Main()
Dim x as integer
Console.Write("X: ")
x = Console.ReadLine()
If x > 10 Then
Console.WriteLine("Nilai lebih besar dari 10")
ElseIf x > 5 Then
Console.WriteLine("Nilai lebih besar dari 5")
Else
Console.WriteLine("Nilai lebih kecil dari 5")
End If
End Sub
End Class

Implementasi pada bahasa C#


using System;
namespace Latihan {
class LatihanClass02 {
static int x = 0;
public static void tes() {
string y = "";
bool t = false;
while(t == false) {
Console.Write("X: ");
y = Console.ReadLine();
t = int.TryParse(y, out x);
}
if (x > 10) {
Console.WriteLine("Nilai lebih besar dari 10");
} else if (x > 10) {
Console.WriteLine("Nilai lebih besar dari 5");
} else {
Console.WriteLine("Nilai lebih kecil dari 5");
}
}
public static void Main() {
tes();
}
}
}

Implementasi pada bahasa BASH


#!/bin/bash
echo -n "X: "
read x
if [[ $x -gt 10 ]]; then
echo Nilai lebih besar dari 10
elif [[ $x -gt 5 ]]; then
echo Nilai lebih besar dari 5
else
echo Nilai lebih kecil dari 5
fi

Perulangan
Seringkali dalam membuat program kita perlu melakukan suatu
proses secara berulang. Hal ini biasa disebut dengan perulangan.
Perulangan ada yang terbatas dan ada pula yang tidak terbatas.
Dalam algoritma, ada beberapa bentuk perulangan yang biasa
digunakan. Diantaranya:
Perulangan While
Perulangan Do
Perulangan For
Dalam setiap bentuk perulangan, selalu ada sebuah nilai yang akan
diperiksa. Hasil dari pemeriksaan kondisi ini yang akan menentukan
apakah sebuah perulangan akan di ulangi atau berhenti.

Perulangan: While
Pada perulangan While, sebuah kondisi akan di
periksa apakah masih dalam batas kriteria yang
kita tentukan.
Sebagai contoh, kita akan mencetak angka dari 1
sampai 5 maka kita inisialisasi sebuah variabel
dengan nilai 1 lalu kita cetak variabel tersebut
kemudian variabel tersebut kita naikkan/turunkan
nilainya dan kita periksa apakah variabel tersebut
masih dibawah angka 6.
Pseudocode dari penjelasan diatas:
Start
Num I = 1
While I < 6
Write I
I = I +1
End While
Stop

Start

Inisialiasi

Proses

Kondisi
T
Stop

Perulangan: Contoh penggunaan While


Cetak angka genap antara
sampai dengan 10.
Pseudocode:
Start
Declarations
Num I = 1
While I < 11
If I mod 2 = 0 Then
Write Bilangan genap
End If
I=I+1
End While
Stop

Start
Declarations
Num I = 1

I mod 2 = 0
T
I=I+1

I < 11
T
Stop

Genap
Write

Implementasi pada bahasa BASIC


Dim I As Integer
I = 1
While I < 11
If I mod 2 = 0 Then
Print I, adalah bilangan genap
End If
I = I + 1
Wend

Implementasi pada bahasa Python


I = 1
while I < 11:
if I % 2 == 0:
print I, adalah bilangan genap
I = I + 1

Implementasi pada bahasa BASH


#!/bin/bash
i="1"
while [ $i -lt 11 ]; do
x = $[$i % 2]
if [[ $i -eq 0 ]]; then
echo $i adalah bilangan genap
fi
i=$[$i+1]
done

Implementasi pada bahasa Java


package contoh;
public class Latihan5 {
public static void main(String[] args) {
int i = 1;
while(i < 11) {
if (i % 2 == 0) {
System.out.print(String.valueOf(i));
System.out.println(" adalah bilangan genap");
}
i++;
}
}

Implementasi pada bahasa C#


using System;
namespace Latihan {
class LatihanClass52 {
static int i = 1;
public static void tes() {
while(i <= 10) {
if (i % 2 == 0) {
Console.Write(i);
Console.WriteLine(" adalah bilangan genap");
}
i++;
}
}
public static void Main() {
tes();
}
}
}

Implementasi pada bahasa VB.Net


Imports System
Public Class Application
Public Shared Sub Main()
Dim i as integer
i = 1
While i <= 10
If i mod 2 = 0 Then
Console.Write(i)
Console.WriteLine(" adalah bilangan genap")
End If
i = i + 1
End While
End Sub
End Class

Implementasi pada bahasa C


#include "stdio.h"
int main(int argc, char **argv) {
int i = 1;
while (i <= 10) {
if (i % 2 == 0) {
printf("%d adalah bilangan genap", i);
}
i++;
}
}

Implementasi pada bahasa Pascal


Program Latihan52;
Var i : integer;
Begin
i := 1;
While i <= 10 do
Begin
If i mod 2 = 0 Then
Begin
Write(i);
Writeln(' adalah bilangan genap');
End;
i := i + 1;
End;
End.

Perulangan: Do - Loop
Perulangan Do - Loop mirip dengan perulangan
While hanya saja pemeriksaan kondisi dilakukan
setelah semua proses di jalankan.
Jika pada perulangan While, perulangan bisa saja
tidak dijalankan sama sekali karena kondisi yang
diperiksa
menghasilkan
nilai
false,
pada
perulangan Do - Loop perulangan dijalankan
minimal 1 kali meskipun kondisi yang diperiksa
menghasilkan nilai false.
Bentuk flowchart perulangan Do - Loop mirip
dengan perulangan For.
Pemeriksaan kondisi pada perulangan Do Loop di
lakukan setelah kata kunci While atau Until
Perulangan Do Loop While dilakukan selama
kondisi bernilai true.
Perulangan Do Loop Until dilakukan sampai
kondisi bernilai true.

Start

Inisialiasi

Proses

Kondisi
T
Stop

Perulangan: Do - Loop
Bentuk perulangan Do Loop While dengan pseudo-code:
Inisialisasi
Do
Proses
Loop While kondisi
Bentuk perulangan Do Loop Until dengan pseudo-code:
Initialisasi
Do
Proses
Loop Until kondisi

Perulangan: Contoh Do Loop


Contoh soal: Buatlah pseudo-code untuk mencetak angka dari 0 sampai
9.
Menggunakan Do Loop While:
Start
Num I = 0
Do
Write I
I=I+1
Loop While I < 10
Stop
Menggunakan Do Loop Until
Start
Num I = 0
Do
Write I
I=I+1
Loop Until I = 9
Stop

Perulangan: Contoh Perulangan Do - Loop


Start

Soal:
Cetak bilangan ganjil dan genap
antara 1 s/d 10.
Jawaban:
Pseudo-code
Start
Declarations
Num I = 1
Do
If I mod 2 = 1 Then
Write I, "Bilangan ganjil"
Else
Write I, Bilangan genap
End If
I=I+1
Loop While I <= 10
Stop

Declarations
Num I = 1
Genap
I mod 2 = 0
Write Ganjil
I=I+1
Y

I < 11
T
Stop

Write

Implementasi pada bahasa BASIC


Dim I As Integer
I = 1
Do
If I mod 2 = 0 Then
Print I, adalah bilangan genap
Else
Print I, adalah bilangan ganjil
End If
I = I + 1
Loop While I < 11

Implementasi pada bahasa Java


package contoh;
public class Latihan53 {
public static void main(String[] args) {
int i = 1;
do {
if (i % 2 == 0) {
System.out.print(String.valueOf(i));
System.out.println(" adalah bilangan genap");
} else {
System.out.print(String.valueOf(i));
System.out.println(" adalah bilangan ganjil");
}
i++;
} while(i < 11);
}

Implementasi pada bahasa C#


using System;
namespace Latihan {
class LatihanClass52 {
static int i = 1;
public static void tes() {
do {
if (i % 2 == 0) {
Console.Write(i);
Console.WriteLine(" adalah bilangan genap");
} else {
Console.Write(i);
Console.WriteLine(" adalah bilangan ganjil");
}
i++;
} while(i <= 10);
}
public static void Main() {
tes();
}
}
}

Implementasi pada bahasa VB.Net


Imports System
Public Class Application
Public Shared Sub Main()
Dim i as integer
i = 1
Do
If i mod 2 = 0 Then
Console.Write(i)
Console.WriteLine(" adalah bilangan genap")
Else
Console.Write(i)
Console.WriteLine(" adalah bilangan ganjil")
End If
i = i + 1
Loop While i <= 10
End Sub
End Class

Implementasi pada bahasa C


#include "stdio.h"
int main(int argc, char **argv) {
int i = 1;
do {
if (i % 2 == 0) {
printf("%d adalah bilangan genap", i);
} else {
printf("%d adalah bilangan ganjil", i);
}
i++;
} while (i <= 10);
}

Implementasi pada bahasa Pascal


Program Latihan52;
Var i : integer;
Begin
i := 1;
Repeat
If i mod 2 = 0 Then
Begin
Write(i);
Writeln(' adalah bilangan genap');
End
Else
Begin
Write(i);
Writeln(' adalah bilangan ganjil');
End;
i := i + 1
Until i = 10;
End.

Perulangan: For
Perulangan
For
adalah
sebuah
bentuk
perulangan yang sudah ditentukan jumlah
perulangan yang harus dilaksanakan.
Perulangan For menggunakan batas bawah dan
batas atas sebagai batas dalam melakukan
perulangan.
Selain batas bawah dan batas atas, perulangan
For juga menggunakan lompatan (step) untuk
menentukan berapa banyak variabel kontrol
perulangan for akan berubah.
Bentuk perulangan for dalam bentuk flowchart
tidak berbeda dengan bentuk perulangan while.
Bentuk perulangan for dalam pseudo-code adalah:
For count = 1 To 10 Step 1
proses
EndFor

Start

Inisialiasi

Proses

Kondisi
T
Stop

Perulangan: Contoh penggunaan For


Contoh soal: Cetak angka dari 1 sampai
10 dan beri keterangan masing-masing
angka apakah termasuk bilangan genap
atau bilangan ganjil.
Dalam bentuk pseudo-code:
Start
For I = 1 To 10
Write I
If I mod 2 = 0 Then
Write adalah bilangan genap
Else
Write adalah bilangan ganjil
EndIf
EndFor
Stop

Start
Num I = 1

I mod 2 = 0

T
Write
I=I+1

I <= 10
T
Stop

Ganjil

Genap
Write

Implementasi pada bahasa BASIC


Dim I As Integer
For I = 1 To 10
If I mod 2 = 0 Then
Print I, adalah bilangan genap
Else
Print I, adalah bilangan ganjil
End If
Next

Implementasi pada bahasa Python


#!/usr/bin/env python
for I in range(1,10):
if I % 2 == 0:
print I, adalah bilangan genap
else
print I, adalah bilangan ganjil

Implementasi pada bahasa BASH


#!/bin/bash
for ((i=1; i < 11; i++)); do
x=$[$i % 2]
if [[ $x -eq 0 ]]; then
echo $i adalah bilangan genap
else
echo $i adalah bilangan ganjil
fi
done

Implementasi pada bahasa Java


package contoh;
public class Latihan5 {
public static void main(String[] args) {
for(int I = 1; i < 11; i++) {
if (i % 2 == 0) {
System.out.print(String.valueOf(i));
System.out.println(" adalah bilangan genap");
} else {
System.out.print(String.valueOf(i));
System.out.println(" adalah bilangan ganjil");
}
}
}
}

Implementasi pada bahasa C#


using System;
namespace Latihan {
class LatihanClass52 {
public static void tes() {
for(int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
Console.Write(i);
Console.WriteLine(" adalah bilangan genap");
} else {
Console.Write(i);
Console.WriteLine(" adalah bilangan ganjil");
}
}
}
public static void Main() {
tes();
}
}
}

Implementasi pada bahasa VB.Net


Imports System
Public Class Application
Public Shared Sub Main()
Dim i as integer
For i = 1 To 10
If i mod 2 = 0 Then
Console.Write(i)
Console.WriteLine(" adalah bilangan genap")
Else
Console.Write(i)
Console.WriteLine(" adalah bilangan ganjil")
End If
Next
End Sub
End Class

Implementasi pada bahasa C


#include "stdio.h"
int main(int argc, char **argv) {
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
printf("%d adalah bilangan genap", i);
} else {
printf("%d adalah bilangan ganjil", i);
}
}
}

Implementasi pada bahasa Pascal


Program Latihan54;
Var i : integer;
Begin
For i := 1 To 10 do
Begin
If i mod 2 = 0 Then
Begin
Write(i);
Writeln(' adalah bilangan genap');
End
Else
Begin
Write(i);
Writeln(' adalah bilangan ganjil');
End
End;
End.

Subrutin
Sub rutin adalah sub program atau bagian terkecil dari suatu
program yang digunakan untuk keperluan tertentu.
Sub rutin dibagi menjadi dua macam, yaitu Prosedur (Procedure)
dan Fungsi (Function).
Yang membedakan antara prosedur dengan fungsi adalah jika
prosedur tidak menghasilkan/mengembalikan suatu nilai,
sedangkan fungsi mengembalikan suatu nilai.
Dengan menggunakan prosedur dan fungsi maka pembuatan
program yang besar dan komplek menjadi lebih mudah.
Pada bahasa pemrograman berorientasi objek (OOP) (seperti Java,
C++, dll) subrutin dikenal dengan sebutan metode (method).

Prosedur
Prosedur adalah sebuah bagian dari
program (subprogram) melakukan proses
tertentu dan tidak mengembalikan nilai
kepada pemanggilnya.
Cara menuliskan fungsi pada pseudo-code:
namaprosedur()
proses
return
Cara menggunakan fungsi pada pseudocode:
namaprosedur()

Start
namaprosedur()
Stop

namaprosedur()
proses
return

Fungsi
Fungsi merupakan sekumpulan perintah
yang digunakan untuk keperluan tertentu,
yang mungkin pekerjaan tersebut sering kita
lakukan.
Hanya
saja,
fungsi
menghasilkan/mengembalikan suatu nilai.
Biasanya
fungsi
digunakan
untuk
melakukan proses perhitungan.
Cara menuliskan fungsi pada pseudo-code:
[tipedata] namafungsi()
proses
return namavariabel
Cara menggunakan fungsi pada pseudo-code:
x = namafungsi()

Start
x = namafungsi()
Stop

num namafungsi()
proses
return namavariabel

Subrutin: Penggunaan Parameter


Seringkali dalam penggunaan subrutin
kita perlu mengirimkan nilai yang akan
diolah oleh subrutin.
Nilai yang dikirimkan kepada subrutin
akan diterima oleh parameter subrutin.
Biasanya hal ini lebih sering kita
gunakan dalam penggunaan fungsi.
Contoh pembuatan fungsi menghitung
luas persegi panjang pada pseudo-code:
num hitungluas(num pjg, num lbr)
Declarations
num luas
luas = pjg * lbr
return luas
Cara penggunaan fungsi pada pseudocode:
luas = hitungluas(2, 3)

num hitungluas(num p, num l)


num luas
luas = p * l

return luas

Subrutin: Contoh penggunaan

start
num al
num tg
num I
num luas

Soal: Buatlah pseudo-code dan flowchart


untuk menghitung luas segitiga dengan
rumus: Luas = alas * tinggi.
Pseudo-code:
num luassegitiga(num a, num t)
Declarations
num luas
num sgtg(num a, num t)
luas = 0.5 * a * t
return luas
num luas

start
Declarations
luas = 0.5 * a * t
num alas
num tinggi
return luas
For I = 1 to 5
Read alas, tinggi
Write luassegitiga(alas, tinggi)
EndFor
stop

I=1
Read

al, tg

luas = sgtg(al, tg)


Write
I=I+1
Y

I<6
T
stop

luas

Implementasi pada bahasa BASIC


Declare Function luassegitiga(al As Integer, tg As Integer) As Integer
Dim alas As Integer, tinggi As Integer, luas As Integer, I As Integer
For I = 1 To 5 Step 1
Input "Alas : "; alas
Input "Tinggi : "; tinggi
luas = luassegitiga(alas, tinggi)
Print "Luas : "; luas
Next
Sleep 1000
Function luassegitiga(al As Integer, tg As Integer) As Integer
Dim luas As Integer
luas = 0.5 * al * tg
Return luas
End Function

Implementasi pada bahasa Java


package org.pakartiluhur;
import java.io.*;
public class LuasSegitiga {
private int alas, tinggi, luas;
public void proses() {
String y = "";
Console cons = System.console();
for(int i = 0; i < 5; i++) {
System.out.print("Alas : ");
y = cons.readLine();
alas = Integer.parseInt(y);
System.out.print("Tinggi : ");
y = cons.readLine();
tinggi = Integer.parseInt(y);
luas = luasSegitiga(alas, tinggi);
System.out.println("Luas : " + String.valueOf(luas));
}
}
public int luasSegitiga(int al, int tg) {
int ls = (int) (0.5 * al * tg);
}

return ls;
public static void main (String args[]) {
LuasSegitiga ls = new LuasSegitiga();
ls.proses();
}

Array
Array adalah serangkaian nilai didalam memori komputer yang
memiliki nama dan tipe data yang sama namun dibedakan dengan
angka khusus yang disebut indeks.
Indeks adalah angka yang mengindikasikan posisi item tertentu
dalam array.
Array bisa terdiri dari 1 dimensi atau banyak dimensi.
Contoh inisialisasi array 1 dimensi pada pseudo-code:
num ab[3]
num tg[2] = 4, 3
Contoh inisialisasi array 2 dimensi pada pseudo-code:
num ut[3][2], ua[3][4]
Contoh mengisi array pada posisi tertentu pada pseudo-code:
ab[1] = 2
ab[2] = 8
Contoh menampilkan isi array pada posisi tertentu pada pseudocode:
Write ab[2]

Contoh penggunaan Array


Contoh soal: Buatlah pseudo-code dan
flowchart untuk menerima input dari user
dan dimasukkan ke dalam sebuah array
sebanyak 5 kemudian isi array di cetak ke
media keluaran.
Start
Declarations
num bil[5]
For I = 1 to 5
Read bil[I]
EndFor
For I = 1 to 5
Write bil[i]
EndFor
Stop

Start
Declarations
Num bil[5]
Num I = 0
Read
Y

bil[I]

I=I+1
I<5

I=0
Write
Y

I=I+1
I<5
Stop

bil[I]

Implementasi pada bahasa BASIC


Dim bil(5) As Integer
Dim i As Integer
For I = 1 To 5
Print "Bilangan ke "; i; ": ";
Input bil(i)
Next
For I = 1 To 5
Print bil(i)
Next

Implementasi pada bahasa Java


package contoh;
import java.io.*;
public class Latihan71 {
public static void main(String[] args) {
Console cons = System.console();
int i = 0;
int[] bil = new int[5];
String x;
for (i = 0; i < 5; i++) {
System.out.print("Array ke ");
System.out.print(i);
System.out.print(" : ");
x = cons.readLine();
bil[i] = Integer.parseInt(x);

}
for (i = 0; i < 5; i++) {
System.out.print("Isi array ke ");
System.out.print(i);
System.out.print(" : ");
System.out.println(bil[i]);
}

Contoh mencari nilai terbesar dalam array


Contoh soal: Buatlah pseudo-code dan flowchart
untuk menerima input dari user dan dimasukkan
ke dalam sebuah array sebanyak 5 kemudian cetak
nilai terbesar ke media keluaran.
Start
Declarations
num bil[5]
A
Y
num I = 0
num maks
Write
maks
For I = 1 to 5
Read bil[I]
Stop
EndFor
maks = 0
For I = 1 to 5
If bil[I] > maks Then
Y
maks = bil[I]
EndFor
Write maks
Stop

Start
Declarations
Num bil[5]
Num I = 0
Num maks = 0
Read

bil[I]

I=I+1
I<5
I=0

bil[I] < maks

I=I+1
I<5

maks = bil[I]

Implementasi pada bahasa BASIC


Dim bil(5) As Integer
Dim i As Integer
Dim maks As Integer
For I = 1 To 5
Print "Bilangan ke "; i; ": ";
Input bil(i)
Next
maks = 0
For I = 1 To 5
If maks < bil[i] Then
maks = bil[i]
EndIf
Next
Print bil(i)

Implementasi pada bahasa Java


package contoh;
import java.io.*;
public class Latihan71 {
public static void main(String[] args) {
Console cons = System.console();
int i = 0, maks = 0;
int[] bil = new int[5];
String x;
for (i = 0; i < 5; i++) {
System.out.print("Array ke ");
System.out.print(i);
System.out.print(" : ");
x = cons.readLine();
bil[i] = Integer.parseInt(x);

}
for (i = 0; i < 5; i++) {
if (maks < bil[i]) {
maks = bil[i];
}
}
System.out.print("Bilangan terbesar : ");
System.out.println(maks);
}

Anda mungkin juga menyukai