• Tidak ada hasil yang ditemukan

LOGIKA ALGORITMA. Pertemuan 6. By: Augury

N/A
N/A
Protected

Academic year: 2021

Membagikan "LOGIKA ALGORITMA. Pertemuan 6. By: Augury"

Copied!
16
0
0

Teks penuh

(1)

By: Augury

By: Augury

[email protected]

[email protected]

[email protected]

LOGIKA ALGORITMA

Pertemuan 6

(2)

Sequence

„

Algoritma yang merupakan runtunan

(

sequence

) satu atau lebih instruksi, yaitu

berarti:

1.

Tiap instruksi dikerjakan satu persatu.

2.

Tiap instruksi dilaksanakan (tanpa

perulangan).

3.

Urutan dilaksanakan sesuai urutan.

4.

Akhir dari instruksi terakhir merupakan akhir

(3)

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 B C Instruksi A Instruksi B Instruksi C

(4)

Sequence

Pengaruh Urutan Instruksi

„

Urutan instruksi dalam algoritma sangat

penting. Urutan instruksi yang berbeda akan

menghasilkan keluaran yang berbeda.

(5)

Contoh

Algoritma_Sequence_1

{Contoh algoritma yang menghasilkan keluaran berbeda jika urutan berbeda} DEKLARASI A, B : Integer DESKRIPSI A Å 10 A Å 2 * A B Å A write (B)

{nilai B yang dicetak ke piranti keluaran = 20}

Algoritma_Sequence_1

{Contoh algoritma yang menghasilkan keluaran berbeda jika urutan berbeda} DEKLARASI A, B : Integer DESKRIPSI 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 A, B : Integer DESKRIPSI A Å 10 B Å A A Å 2 * A write (B)

{nilai B yang dicetak ke piranti keluaran = 10}

Algoritma_Sequence_2

{Contoh algoritma yang menghasilkan keluaran berbeda jika urutan berbeda} DEKLARASI A, B : Integer DESKRIPSI A Å 10 B Å A A Å 2 * A write (B)

(6)

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.

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)

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)

(7)

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.

(8)

SELECTION (PEMILIHAN )

IF

„

IF (

Simple selection without false branch)

„

Contoh:

if

<kondisi> then

instruksi

endif

if

<kondisi> then

instruksi

endif

if

x > 100 then

x Å x + 1

endif

if

x > 100 then

x Å x + 1

endif

if

ketemu=true then

if

a <= 10 then

read(b)

endif

endif

if

ketemu=true then

if

a <= 10 then

read(b)

endif

endif

if (kondisi) {

instruksi

}

if (kondisi) {

instruksi

}

Pseudocode

Bahasa C++

if (x>100) {

x = x + 1;

}

if (x>100) {

x = x + 1;

}

if (ketemu==true) {

if (a<=10) {

scanf(“%d”,&b);

}

}

if (ketemu==true) {

if (a<=10) {

scanf(“%d”,&b);

}

}

Pseudocode

Bahasa C++

(9)

SELECTION (PEMILIHAN )

IF … ELSE

„

IF … ELSE (

Simple selection)

„

Contoh:

if

<kondisi> then

instruksi_1

else

instruksi_2

endif

if

<kondisi> then

instruksi_1

else

instruksi_2

endif

if

nilai >= 60 then

write (“Lulus”)

else

write (“Tidak Lulus”)

endif

if

nilai >= 60 then

write (“Lulus”)

else

write (“Tidak Lulus”)

endif

Pseudocode

Bahasa C++

if (kondisi) {

instruksi_1

}

else {

instruksi_2

}

if (kondisi) {

instruksi_1

}

else {

instruksi_2

}

if (nilai>=60) {

printf(“Lulus”);

}

else {

printf(“Tidak Lulus”);

}

if (nilai>=60) {

printf(“Lulus”);

}

else {

printf(“Tidak Lulus”);

}

Pseudocode

Bahasa C++

(10)

SELECTION (PEMILIHAN )

Nested IF

„

Nested IF (

Nested selection)

„

Linear nested IF statement

„

Non linear 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 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 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 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

(11)

SELECTION (PEMILIHAN )

CASE

„

CASE

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

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

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;

}

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;

}

Pseudocode

Bahasa C++

(12)

SELECTION (PEMILIHAN )

CASE

„

Contoh:

#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; } } #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;

} }

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

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

Pseudocode

(13)

Repetition (PERULANGAN)

while - do

„

while - do

„

Contoh:

Pseudocode

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

Bahasa C++

Algoritma_Cetak_Hello_Sebanyak_10_Kali

{ Menampilkan tulisan Hello sebanyak 10 kali }

DEKLARASI

i : integer {sebagai pencacah perulangan}

DESKRIPSI i Å 1 while i<=10 do write (‘Halo’) i++; endwhile Algoritma_Cetak_Hello_Sebanyak_10_Kali

{ Menampilkan tulisan Hello sebanyak 10 kali }

DEKLARASI

i : integer {sebagai pencacah perulangan}

DESKRIPSI i Å 1 while i<=10 do write (‘Halo’) i++; endwhile #include<stdio.h> void main() { int i; i = 1; while (i<=10) { printf (“Halo”); i++; } } #include<stdio.h> void main() { int i; i = 1; while (i<=10) { printf (“Halo”); i++; } }

Pseudocode

Bahasa C++

(14)

Repetition (PERULANGAN)

repeat - until

„

repeat - until

„

Contoh:

Pseudocode

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

Bahasa C++

Algoritma_Cetak_Hello_Sebanyak_10_Kali

{ Menampilkan tulisan Hello sebanyak 10 kali }

DEKLARASI

i : integer {sebagai pencacah perulangan}

DESKRIPSI i Å 1 Repeat write (‘Halo’) i++ until i<=10 Algoritma_Cetak_Hello_Sebanyak_10_Kali

{ Menampilkan tulisan Hello sebanyak 10 kali }

DEKLARASI

i : integer {sebagai pencacah perulangan}

DESKRIPSI i Å 1 Repeat write (‘Halo’) i++ until i<=10 #include<stdio.h> void main() { int i; i = 1; do { printf (“Halo”); i++ } while (i<=10) } #include<stdio.h> void main() { int i; i = 1; do { printf (“Halo”); i++ } while (i<=10) }

Pseudocode

Bahasa C++

(15)

Repetition (PERULANGAN)

for

„

for

„

Contoh:

Pseudocode

Bahasa C++

Pseudocode

Bahasa C++

for namavar Å awal to akhir do instruksi_1

instruksi_2 .

. endfor

for namavar Å awal to akhir do instruksi_1

instruksi_2 .

. endfor

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

instruksi_2 .

. }

for (namavar=awal; namavar<=akhir;namavar++) {

instruksi_1 instruksi_2 . . } Algoritma_Cetak_Hello_Sebanyak_10_Kali

{ Menampilkan tulisan Hello sebanyak 10 kali }

DEKLARASI DESKRIPSI for k Å 1 to 10 do write (k, ‘Halo’) endfor Algoritma_Cetak_Hello_Sebanyak_10_Kali

{ Menampilkan tulisan Hello sebanyak 10 kali }

DEKLARASI DESKRIPSI for k Å 1 to 10 do write (k, ‘Halo’) endfor #include<stdio.h> void main() { for (int k=1; k<=10; k++) { printf (“%d Halo”, k); } } #include<stdio.h> void main() { for (int k=1; k<=10; k++) { printf (“%d Halo”, k); } }

(16)

Referensi

Dokumen terkait

Pendekatan orchiectomy merupakan tindakan medik yang umum dilakukan pada kasus cryptorchid.. Pada tulisan ini akan dibahas beberapa hal mengenai pendekatan diagnosis

Tujuan penelitian ini ialah untuk mengetahui daya terima nugget ikan lele dengan tepung kacang merah berdasarkan analisis organoleptik terhadap kriteria warna,

Grebeg Kendalisodo dalam perkembangan tahun berikutnya hingga saat ini bertambah dengan diadakanya jamasan pusaka serta diaraknya hasil pertanian dan perkebunan atau

Apabila jumlah tersebut tidak dipenuhi, maka Rapat dapat diundur dan diusulkan paling lama dalam jangka satu bulan, dengan mata acara yang sama dan Rapat kedua tersebut tetap

Jenis gulma yang mempunyai nilai NJD terbesar berarti gulma tersebut merupakan gulma dominan. c) Bobot kering gulma per spesies, pengamatan dilakukan pada saat

Manusia dan tumbuh-tumbuhan sangat erat kaitannya dalam kehidupan. Banyak sekali nilai manfaat yang didapatkan oleh manusia dari tumbuh-tumbuhan namun masih banyak

Berdasarkan latar belakang yang telah dijelaskan diatas mengenai obat golongan β 2 -agonis maka, diperlukan perhatian khusus dalam menggunakan obat tersebut mulai