Anda di halaman 1dari 16

LOGIKA ALGORITMA

Pertemuan 6

By: Augury
augury@pribadiraharja.com

Sequence

Algoritma yang merupakan runtunan


(sequence) satu atau lebih instruksi,
yaitu berarti:
1.
2.
3.
4.

Tiap instruksi dikerjakan satu persatu.


Tiap instruksi dilaksanakan (tanpa
perulangan).
Urutan dilaksanakan sesuai urutan.
Akhir dari instruksi terakhir merupakan
akhir algoritma.

Sequence

Perhatikan diagram di bawah,


Berdasarkan diagram tersebut,
algoritmanya terdiri dari 3 instruksi
yang dimulai dari instruksi A,
kemudian dilanjukan instruksi B dan
setelah instruksi B dilanjutkan instruksi
C
A

Instruksi A

Instruksi B

Instruksi C

Sequence
Pengaruh Urutan Instruksi

Urutan instruksi dalam algoritma


sangat penting. Urutan instruksi yang
berbeda akan menghasilkan keluaran
yang berbeda.

Perhatikan contoh:

Contoh
Algoritma_Sequence_1
{Contoh algoritma yang menghasilkan keluaran berbeda jika urutan
berbeda}
DEKLARASI
DESKRIPSI

A, B

: Integer

A 10
A 2 * A
B A
write (B)
{nilai B yang dicetak ke piranti keluaran = 20}
Algoritma_Sequence_2
{Contoh algoritma yang menghasilkan keluaran berbeda jika
urutan berbeda}
DEKLARASI
DESKRIPSI

A, B

: Integer

A 10
B A
A 2 * A
write (B)
{nilai B yang dicetak ke piranti keluaran = 10}

Contoh
Algoritma_Luas_Segitiga
{Contoh algoritma menghitung luas segitiga}
DEKLARASI
a : Integer {Alas Segitiga}
t : Integer {Tinggi Segitiga}
L : Integer {Luas Segitiga}
DESKRIPSI
read (a)
read (t)
L a * t /2
write (L)

Contoh kasus:
1.
2.

misalkan nilai A=8 dan nilai B=5. Lakukan pertukaran nilai A dengan nilai
B sehingga nilai A=5 (nilai B) dan nilai B=8 (nilai A)
Lakukan pembacaan dari piranti input untuk nilai A, lakukan pembacaan
dari piranti input untuk nilai B, tampilkan nilai A dan nilai B ke piranti
keluaran. Lakukan pertukaran antara nilai A dan nilai B, tampilkan nilai A
dan nilai B ke piranti keluaran.

Contoh

Contoh kasus:
1.

misalkan nilai A=8 dan nilai B=5. Lakukan pertukaran nilai A


dengan nilai B sehingga nilai A=5 (nilai B) dan nilai B=8 (nilai
A)

2.

Lakukan pembacaan dari piranti input untuk nilai A, lakukan


pembacaan dari piranti input untuk nilai B, tampilkan nilai A
dan nilai B ke piranti keluaran. Lakukan pertukaran antara nilai
A dan nilai B, tampilkan nilai A dan nilai B ke piranti keluaran.

3.

Menghitung komisi yang diterima salesman berdasarkan


jumlah penjualan yang dicapainya. Salesman mendapat komisi
10% dari hasil penjualannya. Masukan algoritma adalah nama
salesman dan jumlah penjualannya, tampilkan ke piranti
keluaran nama salesman dan besar komisi yang diperolehnya.

SELECTION (PEMILIHAN )
IF

IF (Simple selection without false


Pseudocode
Bahasa C++
branch)
if <kondisi> then
if (kondisi) {
instruksi
endif

Pseudocode
Contoh:

instruksi

Bahasa C++

if

x > 100 then


x x + 1
endif

if (x>100) {
x = x + 1;
}

if

if (ketemu==true) {
if (a<=10) {
scanf(%d,&b);
}
}

ketemu=true then
if a <= 10 then
read(b)
endif
endif

SELECTION (PEMILIHAN )
IF ELSE
IF ELSE (Simple selection)
Pseudocode
if

<kondisi> then
instruksi_1
else
instruksi_2
endif

Contoh:
Pseudocode
if

nilai
write
else
write
endif

>= 60 then
(Lulus)
(Tidak Lulus)

Bahasa C++
if (kondisi) {
instruksi_1
}
else {
instruksi_2
}

Bahasa C++
if (nilai>=60) {
printf(Lulus);
}
else {
printf(Tidak Lulus);
}

SELECTION (PEMILIHAN )
Nested IF
Nested
Linear

Non

IF (Nested selection)
nested IF statement

if <kondisi_1> then
Instruksi_1
else
if <kondisi_2> then
Instruksi_2
else
if <kondisi_3> then
Instruksi_3
else
Instruksi_4
endif
endif
endif

linear nested IF statement

if <kondisi_1> then
if <kondisi_2> then
if <kondisi_3> then
Instruksi_1
else
Instruksi_2
endif
else
Instruksi_3
endif
else
Instruksi_4
endif

SELECTION (PEMILIHAN )
CASE

CASE
Pseudocode
case (nama_variable_yang_diuji)
<kondisi_1> : instruksi_1
<kondisi_2> : instruksi_2
<kondisi_3> : instruksi_3
.
.
.
<kondisi_N> : instruksi_N
Otherwise instruksi_x
endcase

Bahasa C++
switch (nama_variable_yang_diuji) {
case nilai_1 : instruksi_1;
break;
case nilai_2 : instruksi_2;
break;
case nilai_3 : instruksi_3;
break;
.
.
.
.
default
: instruksi_4;
break;
}

SELECTION (PEMILIHAN )
CASE
Contoh:

Bahasa C++

Pseudocode

Algoritma_Keterangan_grade_nilai
{ Menampilkan keterangan untuk grade nilai }
DEKLARASI

chrNilai : char

DESKRIPSI
write (Nilai huruf yang didapat ? )
read (chrNilai)
case (chrNilai)
chrNilai==A : write (Sangat Baik)
chrNilai==B : write (Baik)
chrNilai==C : write (Cukup)
chrNilai==D : write (Kurang)
chrNilai==E or chrNilai==F : write (Gagal)
otherwise write(isi dengan huruf antara (A F) !)
endcase

#include<stdio.h>
void main() {
char chrNilai;
printf(Nilai huruf yang didapat ? );
scanff(%s, &chrNilai);
switch (chrNilai){
case A : printf(Sangat Baik); break;
case B : printf(Baik); break;
case C : printf(Cukup); break;
case D : printf(Kurang); break;
case E : printf(Gagal); break;
case F : printf(Gagal); break;
default : printf(isi dengan huruf antara (A F) !);
break;
}
}

Repetition (PERULANGAN)
while - do

while - do

Contoh:

Pseudocode

Bahasa C++

while <kondisi> do
instruksi_1
instruksi_2
.
.
endwhile

while (<kondisi>) {
instruksi_1
instruksi_2
.
.
}

Pseudocode

Bahasa C++

Algoritma_Cetak_Hello_Sebanyak_10_Kali
Algoritma_Cetak_Hello_Sebanyak_10_Kali
{{ Menampilkan
Menampilkan tulisan
tulisan Hello
Hello sebanyak
sebanyak 10
10 kali
kali }}

#include<stdio.h>
#include<stdio.h>

DEKLARASI
DEKLARASI
ii :: integer
integer

{sebagai
{sebagai pencacah
pencacah perulangan}
perulangan}

DESKRIPSI
DESKRIPSI
ii
11
while
while i<=10
i<=10 do
do
write
write (Halo)
(Halo)
i++;
i++;
endwhile
endwhile

void
void main()
main() {{
int
int i;
i;
ii == 1;
1;
while
while (i<=10)
(i<=10) {{
printf
printf (Halo);
(Halo);
i++;
i++;
}}
}}

Repetition (PERULANGAN)
repeat - until

repeat - until

Contoh:

Pseudocode

Bahasa C++

repeat
instruksi_1
instruksi_2
.
.
Until <kondisi>

do {
instruksi_1
instruksi_2
.
.
} while (<kondisi>)

Pseudocode

Bahasa C++

Algoritma_Cetak_Hello_Sebanyak_10_Kali
Algoritma_Cetak_Hello_Sebanyak_10_Kali
{{ Menampilkan
Menampilkan tulisan
tulisan Hello
Hello sebanyak
sebanyak 10
10 kali
kali }}

#include<stdio.h>
#include<stdio.h>
void
void main()
main() {{
int
int i;
i;

DEKLARASI
DEKLARASI
ii :: integer
integer

{sebagai
{sebagai pencacah
pencacah perulangan}
perulangan}

DESKRIPSI
DESKRIPSI
ii
11
Repeat
Repeat
write
write (Halo)
(Halo)
i++
i++
until
until i<=10
i<=10

}}

ii == 1;
1;
do
do {{
printf
printf (Halo);
(Halo);
i++
i++
}} while
while (i<=10)
(i<=10)

Repetition (PERULANGAN)
for
Pseudocode

Bahasa C++

for
for namavar
namavar
awal
awal to
to akhir
akhir do
do
instruksi_1
instruksi_1
instruksi_2
instruksi_2
..
..
endfor
endfor

for
for (namavar=awal;
(namavar=awal; namavar<=akhir;namavar++)
namavar<=akhir;namavar++) {{
instruksi_1
instruksi_1
instruksi_2
instruksi_2
..
..
}}

for

Contoh:
Pseudocode

Bahasa C++

Algoritma_Cetak_Hello_Sebanyak_10_Kali
Algoritma_Cetak_Hello_Sebanyak_10_Kali
{{ Menampilkan
Menampilkan tulisan
tulisan Hello
Hello sebanyak
sebanyak 10
10 kali
kali }}

#include<stdio.h>
#include<stdio.h>
void
void main()
main() {{
for
for (int
(int k=1;
k=1; k<=10;
k<=10; k++)
k++) {{
printf
printf (%d Halo,
Halo, k);
k);
}}
}}

DEKLARASI
DEKLARASI
DESKRIPSI
DESKRIPSI
for
for kk
11 to
to 10
10 do
do
write
write (k,
(k, Halo)
Halo)
endfor
endfor

Thanks

Anda mungkin juga menyukai