• Tidak ada hasil yang ditemukan

FAKULTAS TEKNOLOGI INFORMASI ANALISIS DAN DESAIN ALGORITMA [ PG167 / 3 SKS ]

N/A
N/A
Protected

Academic year: 2022

Membagikan "FAKULTAS TEKNOLOGI INFORMASI ANALISIS DAN DESAIN ALGORITMA [ PG167 / 3 SKS ]"

Copied!
37
0
0

Teks penuh

(1)

ANALISIS DAN DESAIN ALGORITMA

[ PG167 / 3 SKS ]

(2)

Pertemuan 6

STRUKTUR KONTROL

PENGULANGAN

(3)

Tujuan Pembelajaran

Mahasiswa mampu memahami dasar penggunaan struktur perulangan FOR, WHILE, dan DO-WHILE

(4)

Topik Pembahasan

Pengertian Perulangan

Jenis-Jenis Perulangan

Contoh Perulangan Sederhana

Algoritma Mencari Nilai Terbesar Atau Terkecil Dari Sejumlah Bilangan

Algoritma Mencetak Deret, Menghitung Dan Mencetak Total Suatu Deret

(5)

PENGERTIAN PERULANGAN

Digunakan untuk menyelesaikan suatu proses yang dikerjakan beberapa kali

Banyaknya perulangan sesuai dengan nilai yang ditentukan atau batas yang ditentukan

Disebut dengan Looping

(6)

JENIS PERULANGAN (LOOPING)

3 Jenis Perulangan

(7)

JENIS PERULANGAN FOR

Keterangan:

Init (Inisialisasi), Instruksi pemberian suatu nilai yang mempengaruhi nilai condition

Cond (Condition), Suatu pernyataan yang mengandung nilai BENAR (true) atau SALAH (false)

Chng of Cond (Change Of Condition), Suatu instruksi yang dapat

mempengaruhi nilai condition

FOR init to cond step change of cond LOOP

END FOR

(8)

JENIS PERULANGAN FOR

Cara Kerja:

Menjalankan Inisialisasi. Memberikan Nilai Awal yang terkait dengan Kondisi.

Memeriksa Condition

Bila True, Mengerjakan perintah yang ada

pada Blok Kerjakan Loop. Berlanjut mengubah nilai kondisi. Kemudian kembali lagi

melakukan pemeriksaan kondisi

Bila False, perualangan selesai, keluar dari loop kemudian menjalankan Next Instruction.

(9)

JENIS PERULANGAN WHILE

Keterangan:

Init (Inisialisasi), Instruksi pemberian suatu nilai yang mempengaruhi nilai condition

Cond (Condition), Suatu pernyataan yang mengandung nilai BENAR (true) atau SALAH (false)

Chng of Cond (Change Of Condition), Suatu instruksi yang dapat

mempengaruhi nilai condition

INIT

WHILE COND DO LOOP

CHNG OF COND ENDWHILE

(10)

JENIS PERULANGAN WHILE

Cara Kerja:

Menjalankan Inisialisasi. Memberikan Nilai Awal yang terkait dengan Kondisi.

Memeriksa Condition

Bila True, Mengerjakan perintah yang ada

pada Blok Kerjakan Loop. Berlanjut mengubah nilai kondisi. Kemudian kembali lagi

melakukan pemeriksaan kondisi

Bila False, perualangan selesai, keluar dari loop kemudian menjalankan Next Instruction.

(11)

JENIS PERULANGAN DO-WHILE

Keterangan:

Init (Inisialisasi), Instruksi pemberian suatu nilai yang mempengaruhi nilai condition

Cond (Condition), Suatu

pernyataan yang mengandung nilai BENAR (true) atau SALAH (false)

Chng of Cond (Change Of

Condition), Suatu instruksi yang dapat mempengaruhi nilai

condition

INIT DO

LOOP

CHNG OF COND WHILE COND

(12)

JENIS PERULANGAN DO-WHILE

Cara Kerja:

Menjalankan Inisialisasi. Memberikan Nilai Awal yang terkait dengan Kondisi.

Kerjakan instruksi yang ada pada blok 2 perintah yang diulang

Perubahan nilai kondisi

Memeriksa Condition

Bila True, Mengerjakan perintah yang ada

pada Blok 2. Berlanjut mengubah nilai kondisi.

Kemudian kembali lagi melakukan pemeriksaan kondisi

Bila False, perualangan selesai, keluar dari loop kemudian menjalankan Next Instruction.

(13)

CONTOH PERULANGAN SEDERHANA

Buatlah algoritma dan flowchart untuk mencetak kata “FTI” ke layar sebanyak 5 kali!

(14)

CONTOH PERULANGAN SEDERHANA

Jawab (Menggunakan FOR)

#include<stdio.h>

void main() { int a;

for(a=1; a<=5; a=a+1) {

printf(”\n FTI”);

} }

FOR a=1 TO 5 STEP 1 CETAK “FTI”

ENDFOR

(15)

CONTOH PERULANGAN SEDERHANA

Jawab (Menggunakan WHILE)

#include<stdio.h>

void main() { int a;

a=1;

while (a<=5) {

printf(”\n FTI”);

a=a+1;}

} INIT a=1

WHILE a<=5 DO

CETAK “FTI”

a=a+1 ENDWHILE

(16)

CONTOH PERULANGAN SEDERHANA

Jawab (Menggunakan DO-WHILE)

#include<stdio.h>

void main() { int a;

a=1;

do {

printf(”\n FTI”);

a=a+1;

}

while(a<=5);

} INIT a=1

DO

CETAK “FTI”

a=a+1 WHILE a<=5

(17)

CONTOH PERULANGAN SEDERHANA

Buatlah algoritma dan flowchart untuk mencetak deret bilangan 2 4 6 8 10 ke layar!

(18)

CONTOH PERULANGAN SEDERHANA

Jawab (Menggunakan FOR)

#include<stdio.h>

void main() { int b;

for(b=2; b<=10; b=b+2) {

printf(“%3i”,b);

} }

FOR b=2 TO 10 STEP 2 CETAK b

ENDFOR

(19)

CONTOH PERULANGAN SEDERHANA

Jawab (Menggunakan WHILE)

#include<stdio.h>

void main() { int b;

b=2;

while (b<=10) {

printf (”%i”, b);

b=b+2;}

} INIT b=2

WHILE b<=10 DO CETAK b b=b+2 ENDWHILE

(20)

CONTOH PERULANGAN SEDERHANA

Jawab (Menggunakan DO-WHILE)

#include<stdio.h>

void main() { int b;

b=2;

printf (”%i”, b);

b=b+2;}

while (b<=10);

} INIT b=2

DO

CETAK b b=b+2 WHILE b<=10

(21)

BILANGAN

Buatlah algoritma dan flowchart untuk

menginputkan 3 buah bilangan bulat dan

tampilkan bilangan TERBESAR diantara ketiganya.

(dianggap ketiga bilangan nilainya berbeda)

(22)

BILANGAN

Jawab (Menggunakan 2 Variabel dan percabangan saja)

A, MAX INPUT A MAX=A INPUT A IF A>MAX

THEN MAX=A ENDIF

INPUT A IF A>MAX

THEN MAX=A ENDIF

CETAK MAX

(23)

BILANGAN

Jawab (Menggunakan 2 Variabel, percabangan, dan perulangan)

A, MAX INPUT A MAX=A

FOR i=1 TO 2 STEP 1 INPUT A

IF A>MAX

THEN MAX=A ENDIF

ENDFOR

A, MAX INPUT A MAX=A

INIT i=1

WHILE (i<=2) DO INPUT A IF A>MAX

THEN MAX=A ENDIF

i=i+1 ENDWHILE

A, MAX INPUT A MAX=A

INIT i=1 DO

INPUT A IF A>MAX

THEN MAX=A ENDIF

i=i+1 WHILE (i<=2)

(24)

BILANGAN

Jawab Flowchart

FLOWCHART FOR DAN WHILE

(25)

BILANGAN

Jawab Program

#include <stdio.h>

void main()

{ int A, MAX, i;

scanf (“%i”, &A);

MAX = A;

for (i=1; i<=2;i++) { scanf (“%i”, &A);

if (A > MAX) { MAX = A;}

}

printf (“%i”, MAX);

}

#include <stdio.h>

void main()

{ int A, MAX, i;

scanf (“%i”, &A);

MAX = A;

i=1;

while (i<=2)

{ scanf (“%i”, &A);

if (A > MAX) { MAX = A;}

i++;

}

printf (“%i”, MAX);

}

#include <stdio.h>

void main()

{ int A, MAX, i;

scanf (“%i”, &A);

MAX = A;

i=1;

do

{ scanf (“%i”, &A);

if (A > MAX) { MAX = A;}

i++;

} while (i<=2);

printf (“%i”, MAX);

}

(26)

BILANGAN

Buatlah algoritma dan flowchart untuk

menginputkan 100 buah bilangan bulat dan

tampilkan bilangan TERKECIL diantara 100 buah nilai yang diinput tersebut.

(27)

BILANGAN

Jawab

A, MIN INPUT A MIN=A

FOR i=1 TO 100 STEP 1 INPUT A

IF A<MIN

THEN MIN=A ENDIF

ENDFOR

A, MIN INPUT A MIN=A

INIT i=1

WHILE (i<=100) DO INPUT A

IF A<MIN

THEN MIN=A ENDIF

i=i+1 ENDWHILE

A, MIN INPUT A MIN=A

INIT i=1 DO

INPUT A IF A<MIN

THEN MIN=A ENDIF

i=i+1

WHILE (i<=100)

(28)

BILANGAN

Jawab Flowchart

FLOWCHART FOR DAN WHILE

(29)

BILANGAN

Jawab Program

#include <stdio.h>

void main()

{ int A, MIN, i

scanf (“%i”, &A) MIN = A

for (i=1;i < =100; i++) {scanf (“%i”, &A)

if(A<MIN)

{ MIN = A; } }

printf (“%i”, MIN);

}

#include <stdio.h>

void main()

{ int A, MIN, i

scanf (“%i”, &A) MIN = A

i=1;

while (i<=100)

{ scanf (“%i”, &A) if(A<MIN)

{ MIN = A } i++;

}

printf (“%i”, MAX);

}

#include <stdio.h>

void main()

{ int A, MIN, i

scanf (“%i”, &A) MIN = A

i=1;

do

{ scanf (“%i”, &A) if(A<MIN)

{ MIN = A; } i++;

} while (i<=100);

printf (“%i”, MAX);

}

(30)

SUATU DERET

Buatlah algoritma dan flowchart untuk mencetak deret bilangan berikut ini:

1 3 5 7 9 1 1 13 15 17 19

(31)

SUATU DERET

Jawab CARA 1

FOR y=1 TO 19 STEP 2 CETAK y

ENDFOR

(32)

SUATU DERET

Jawab CARA 2 (FOR)

y,N N=1

FOR y=1 TO 10 STEP 1 CETAK N

N=N+2 ENDFOR

#include <stdio.h>

void main() { int y, N;

N=1;

for (y=1; y<=10; y++) { printf (“%3i”, N;

N=N+2;

}

(33)

SUATU DERET

Jawab CARA 2 (WHILE)

y,N N=1

INIT y=1

WHILE (y<=10) DO CETAK N

N=N+2 y=y+1 ENDWHILE

#include <stdio.h>

void main() { int y, N;

N=1;

y=1;

while(y<=10)

{ printf (“%3i”, N);

N=N+2;

y=y+1;

} }

(34)

SUATU DERET

Buatlah algoritma dan flowchart untuk

menghitung dan mencetak total 10 suku pertama deret berikut ini:

1 2 3 4 5 6 7 8 9 10

(35)

SUATU DERET

Jawab FOR

T,a T=0

FOR a=1 TO 10 STEP 1 T=T+a

ENDFOR CETAK T

#include <stdio.h>

void main() { int a, T;

T = 0;

for (a = 1; a<=10; a++) { T= T + a; }

printf (“%i”, T);

}

(36)

SUATU DERET

Jawab WHILE

T,a T=0

INIT a=1

WHILE (a<=10) DO T=T+a

a=a+1 ENDWHILE

CETAK T

#include <stdio.h>

void main() { int a, T;

T = 0;

a = 1;

while (a<=10) { T= T + a;

a++;

}

printf (“%i”, T);

}

(37)

KESIMPULAN

SELESAI

Referensi

Dokumen terkait

Penulis mengamati bahwa Pemerintah Seketariat daerah Kabupaten Boyolali selalu berusaha memberikan informasi kepada seluruh lapisan masyarakat dikota Boyolali, sesuai

Praktikan juga mendapatkan gambaran cara mengajar yang telah diperoleh setelah melakukan observasi dengan guru pamong dan siswa, sehingga dalam PPL II nanti

Dalam ha1 ini, Lembaga Penelitian Universitas Negeri Padang berusaha mendorong dosen untuk melakukan penelitian sebagai bagian integral dari kegiatan mengajarnya,

Permasalahan saat menggunakan banyak lighting juga penulis rasakan, namun seiring penulis bergelut dalam bidang itu penulis mempelajari suatu teknik penggunaan

Sesuai dengan permasalahan penelitian yang dikemukakan di atas, tujuan penelitian ini adalah: (1) Untuk menerapkan model pembelajaran kontekstual yang berbasis kompetensi

mengandung sel-sel dari strain-strain efektif mikroba penambat nitrogen, pelarut fosfat atau selulolitik yang digunakan pada biji, tanah atau tempat pengomposan

Selain berfungsi sebagaimana dimaksud pada ayat (1), bahasa daerah dapat berfungsi sebagai sarana komunikasi dalam keluarga dan masyarakat daerah; bahasa Media

→ Menjawab pertanyaan tentang materi Pembuatan karya seni rupa tiga dimensi dengan memodifikasi objek menggunakan teknik stilasi yang terdapat pada buku pegangan peserta didik