Soal-soal.

Slides:



Advertisements
Presentasi serupa
ALGORITMA dan STRUKTUR DATA 1
Advertisements

09 Control Statement if 143.
Perulangan Pertemuan ke-5 Bahasa C.
DASAR-DASAR PEMROGRAMAN C
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
Nandang Hermanto PK2 Pertemuan 3. Perulangan Pernyataan while Pernyataan do..while Pernyataan for.
Algoritme dan Pemrograman
III. STRUKTUR KONTROL.
2 JAM TEORI dan 1 jam praktek
Struktur Kontrol Pemilihan
{Pertemuan 4 Struktur Kondisi IF}
Dasar Pemrograman Pertemuan 10 Pengulangan dalam C
ANALISA DAN DESAIN ALGORITMA
if (condition) statement if (x == 100) cout << "x is 100";
Transfer of control (pemindahan langkah)
Pertemuan Operasi Seleksi
{Pertemuan 4 Struktur Kondisi IF}
{Pertemuan 6 Struktur Perulangan}
Pernyataan Pertemuan 3 Season 1
PERULANGAN C++.
Bab & 7.3 NESTED LOOP Array 1 Dimensi 273.
Pertemuan 4 PROGRAMMING LANGUAGE.
PERCABANGAN & PERULANGAN DALAM JAVA
{Pertemuan 4 Struktur Kondisi IF}
Looping, Percabangan dan Array
Pemograman Terstruktur
PERCABANGAN.
Algoritme dan Pemrograman
06.3 Hari-6.
03.8 Soal-Soal Pekerjaan Rumah.
{Pertemuan 7 Struktur Perulangan Lanjutan}
04.2 Hari-4.
04.1 Hari-4.
Perulangan / Looping / Repetisi PEMROGRAMAN DASAR
Minggu ke-10 Imam Fahrur Rozi
Introduction using 03b to Algorithm C / C++ teknik dasar Algoritma.
Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma.
07.3 Hari-7.
Contoh Aplikasi Sederhana
PERULANGAN (LOOPING) Looping merupakan proses perulangan suatu blok pernyataan sebanyak yang diinginkan. Ada tiga bentuk dalam proses perulangan: Perulangan.
Remainder Senin depan mulai UTS Praktikum
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
09.4 Hari-9.
Pertemuan 9 Pengulangan dalam C Erna Sri Hartatik
Latihan & Studi Kasus Perulangan / Looping PEMROGRAMAN DASAR
Contoh Aplikasi Sederhana
02.1 Hari-2.
Pengendalian Proses : Perulangan /Looping
10.5 Nested loop 6.3 & 7.3 NESTED LOOP 255.
291.
04.2 Hari-4.
Looping, Percabangan dan Array
Pemograman Terstruktur
09.3 Hari-9.
05.1 Hari-5.
mencetak Total kedua bilangan tersebut
Aliran Kendali Pengulangan
Algoritma dan struktur data
BAB 14 RECURSION Pengertian Recursion. Recursion:
Arithmetic Expression
Bab 08 Menghitung Total Data yang Diinput Dari Keyboard
Introduction 04 to Algorithm LOOP sebagai pembentuk kerangka dasar
Perulangan Minggu ke-10.
Nested if 164.
STRUKTUR perulangan (1)
if (condition) statement if (x == 100) cout << "x is 100";
PERCABANGAN.
Logika dan Algoritma Agung BP Chapter 5.
BAB 14 RECURSION Pengertian Recursion. Recursion:
Transcript presentasi:

Soal-soal

Apa yang tercetak : ? #include<stdio.h> void main() { int I, N; while(I <= 5) { printf(“\n%i”,N); N = N + 5; I++; } Apa yang tercetak : ?

#include<stdio.h> void main() { int I, N; N = 45; I = 1; while(I <= 5) { printf(“\n%i”,N); N = N + 5; I++; } Tercetak : 45 50 55 60 65 nilai I Kondisi I <= 5 Tercetak oleh printf(“\n%i”,N) Oleh N=N+5 nilai N menjadi: Oleh I=I+1 nilai I menjadi: N 45 50 55 60 65 70 1 2 3 4 5 6 True False 45 50 55 60 65 50 55 60 65 70 2 3 4 5 6 Keluar dari loop

Apa yang tercetak : ? #include<stdio.h> void main() { int I, N; while(I <= 5) { N = N + 5; I++; } printf(“\n%i”,N); Apa yang tercetak : ?

Apa yang tercetak : ? #include<stdio.h> void main() { int I, N; while(I <= 5) { printf(“\n%i”,N); N = N + 5; I++; } #include<stdio.h> void main() { int I, N; N = 45; I = 1; while(I <= 5) { N = N + 5; I++; } printf(“\n%i”,N); Tercetak : 45 50 55 60 65 Apa yang tercetak : ?

Apa yang tercetak : ? #include<stdio.h> void main() { int I, N; while(I <= 5) { N = N + 5; I++; } printf(“\n%i”,N); #include<stdio.h> void main() { int I, N; N = 45; I = 1; while(I <= 5) { printf(“\n%i”,N); N = N + 5; I++; } 45 50 55 60 65 Apa yang tercetak : ? nilai I Kondisi I <= 5 Tercetak oleh printf(“\n%i”,N) Oleh N=N+5 nilai N menjadi: Oleh I=I+1 nilai I menjadi: N 45 50 55 60 65 50 55 60 65 70 2 3 4 5 6 45 50 55 60 65 70 1 2 3 4 5 6 True False Keluar dari loop

#include<stdio.h> void main() { int I, N; N = 45; I = 1; while(I <= 5) { N = N + 5; I++; } printf(“\n%i”,N); Tercetak : 70 nilai I Kondisi I <= 5 Oleh N=N+5 nilai N menjadi: Oleh I=I+1 nilai I menjadi: N 50 55 60 65 70 2 3 4 5 6 45 50 55 60 65 70 1 2 3 4 5 6 True False Keluar dari loop

Apa yang tercetak : ? #include<stdio.h> void main() { int X, N; while(N <= 100) { N = N + X; printf(“\n%i”,N); X = X + 5; } Apa yang tercetak : ? 263 Soal-01e Program-1

N = 35; X = 0; 35 while(N <= 100) { N = N + X; printf(“\n%i”,N); X = X + 5; } Tercetak : 35 N=N+X nilai N menjadi: Tercetak oleh printf(,N) X=X+5 nilai X menjadi: nilai X Kondisi N <= 100 N 5 35 5 True 35 35 263 Soal-01e Program-1

N = 35; X = 0; 35 while(N <= 100) 40 { N = N + X; printf(“\n%i”,N); X = X + 5; } Tercetak : 35 40 N=N+X nilai N menjadi: Tercetak oleh printf(,N) X=X+5 nilai X menjadi: nilai X Kondisi N <= 100 N 5 10 35 40 5 10 True 35 40 35 40 263 Soal-01e Program-1

N = 35; X = 0; 35 while(N <= 100) 40 { N = N + X; 50 printf(“\n%i”,N); X = X + 5; } Tercetak : 35 40 50 N=N+X nilai N menjadi: Tercetak oleh printf(,N) X=X+5 nilai X menjadi: nilai X Kondisi N <= 100 N 5 10 15 35 40 50 5 10 15 True 35 40 50 35 40 50 263 Soal-01e Program-1

N = 35; X = 0; 35 while(N <= 100) 40 { N = N + X; 50 printf(“\n%i”,N); X = X + 5; } Tercetak : 35 40 50 65 N=N+X nilai N menjadi: Tercetak oleh printf(,N) X=X+5 nilai X menjadi: nilai X Kondisi N <= 100 N 5 10 15 20 35 40 50 65 5 10 15 20 True 35 40 50 65 35 40 50 65 263 Soal-01e Program-1

N = 35; X = 0; 35 while(N <= 100) 40 { N = N + X; 50 printf(“\n%i”,N); X = X + 5; } Tercetak : 35 40 50 65 85 N=N+X nilai N menjadi: Tercetak oleh printf(,N) X=X+5 nilai X menjadi: nilai X Kondisi N <= 100 N 5 10 15 20 25 35 40 50 65 85 5 10 15 20 25 True 35 40 50 65 85 35 40 50 65 85 263 Soal-01e Program-1

N = 35; X = 0; 35 while(N <= 100) 40 { N = N + X; 50 printf(“\n%i”,N); X = X + 5; } Tercetak : 35 40 50 65 85 110 N=N+X nilai N menjadi: Tercetak oleh printf(,N) X=X+5 nilai X menjadi: nilai X Kondisi N <= 100 N 5 10 15 20 25 30 35 40 50 65 85 110 5 10 15 20 25 30 True 35 40 50 65 85 110 35 40 50 65 85 110 263 Soal-01e Program-1

N = 35; X = 0; 35 while(N <= 100) 40 { N = N + X; 50 printf(“\n%i”,N); X = X + 5; } Tercetak : 35 40 50 65 80 110 N=N+X nilai N menjadi: Tercetak oleh printf(,N) X=X+5 nilai X menjadi: nilai X Kondisi N <= 100 N 5 10 15 20 25 30 35 40 50 65 85 110 5 10 15 20 25 30 True False 35 40 50 65 85 110 35 40 50 65 85 110 263 Soal-01e Program-1 Keluar dari loop

Apa yang tercetak : ? N = 35; T = 0; X = 0; while(T <= 100) { T = T + N; printf(“\n%i”, T ); N = N + X; X = X + 5; } Apa yang tercetak : ? 263 Soal-01f Program-2

35 70 110 N = 35; T = 0; X = 0; while(T <= 100) { T = T + N; printf(“\n%i”, T ); N = N + X; X = X + 5; } Tercetak : 35 70 110 Oleh T=T+N nilai T menjadi: Oleh N=N+X nilai N menjadi: Tercetak oleh printf(,T) X=X+5 nilai X menjadi: X Kondisi T <= 100 N T 35 40 50 35 70 110 5 10 15 True False 35 70 110 35 70 110 35 40 50 5 10 15 Keluar dari loop

Apa yang tercetak : ? #include<stdio.h> void main() { int X, N; while(N <= 100) { X = X + 5; N = N + X; printf(“\n%i”,N); } Apa yang tercetak : ?

#include<stdio.h> void main() { int X, N; X = 5; N = 45; while(N <= 100) { X = X + 5; N = N + X; printf(“\n%i”,N); } Tercetak : 55 70 90 115 Oleh N=N+X nilai N menjadi: X=X+5 nilai X menjadi: Tercetak oleh printf(,N) nilai X Kondisi N <= 100 N 10 15 20 25 5 10 15 20 25 45 55 70 90 115 True False 55 70 90 115 55 70 90 115 Keluar dari loop

Apa yang tercetak : ? #include<stdio.h> void main() { int X, N, T; X = 10; N = 20; T = 0; while(T <= 100) { X = X + 5; N = N + X; T = T + N } printf(“%i”, T); Apa yang tercetak : ?

X = 10; N = 20; T = 0; 170 while(T <= 100) { X = X + 5; N = N + X; T = T + N } printf(“%i”, T); Tercetak : 170 Oleh N=N+X nilai N menjadi: Oleh T=T+N nilai T menjadi: X=X+5 nilai X menjadi: nilai X Kondisi N <= 100 N T 10 15 20 25 20 35 55 80 35 90 170 True False 15 20 25 35 55 80 35 90 170 Keluar dari loop

Apa yang tercetak : ? #include<stdio.h> #include<stdio.h> for() while() #include<stdio.h> void main() { int I; I = 1; while(I<=5) { I++; printf(“\n%i”,I); } #include<stdio.h> void main() { int I; for(I=1; I<=5 ; ) { I++; printf(“\n%i”,I); } Apa yang tercetak : ? 214

Tercetak : 2 3 4 5 6 #include<stdio.h> #include<stdio.h> for() while() #include<stdio.h> void main() { int I; I = 1; while(I<=5) { I++; printf(“\n%i”,I); } #include<stdio.h> void main() { int I; for(I=1; I<=5 ; ) { I++; printf(“\n%i”,I); } Tercetak : 2 3 4 5 6 214

Perkembangan nilai I while() I = 1 nilai I I<=5 I=I+1 printf for() #include<stdio.h> void main() { int I; for(I=1; I<=5 ; ) { I++; printf(“\n%i”,I); } #include<stdio.h> void main() { int I; I = 1; while(I<=5) { I++; printf(“\n%i”,I); } Tercetak : 2 3 4 5 6 I<=5 I = 1 I=I+1 printf I false true Perkembangan nilai I nilai I Kondisi I <= 5 Oleh I=I+1 nilai I menjadi: Tercetak oleh printf(“\n%i”, I) 1 2 3 4 5 6 True False 2 3 4 5 6 2 3 4 5 6 Keluar dari loop 214

Perkembangan nilai I while() I = 1 nilai I I<=5 I=I+1 printf for() #include<stdio.h> void main() { int I; for(I=1; I<=5 ; ) { I++; printf(“\n%i”,I); } #include<stdio.h> void main() { int I; I = 1; while(I<=5) { I++; printf(“\n%i”,I); } Tercetak : 2 3 4 5 6 I<=5 I = 1 I=I+1 printf I false true Perkembangan nilai I nilai I Kondisi I <= 5 Oleh I=I+1 nilai I menjadi: Tercetak oleh printf(“\n%i”, I) 1 2 3 4 5 6 True False 2 3 4 5 6 2 3 4 5 6 Keluar dari loop 214

dapat ditulis menjadi : printf(“\n%i”, ++I ); #include<stdio.h> void main() { int I; for(I=1; I<=5 ; ) {printf(“\n%i”,++I ); } } #include<stdio.h> void main() { int I; I = 1; while(I<=5) { printf(“\n%i”,++I ); } } dua instruksi : I++; printf(“\n%i”, I); dapat ditulis menjadi : printf(“\n%i”, ++I ); 214

Aapa yang tercetak : ? do while() (halaman 215) #include<stdio.h> main() { int I; I=1; do { I++; printf(“\n %i”,I); } while ( I<=5 ); I++ printf I I<=5 true false Aapa yang tercetak : ? 215

#include<stdio.h> main() { int I; I=1; do { I++; do while() (halaman 215) I=1 #include<stdio.h> main() { int I; I=1; do { I++; printf(“\n %i”,I ); } while ( I<=5 ); I++ printf I I<=5 true false Tercetak : 2 3 4 5 6 215

#include<stdio.h> main() { int I; I=1; do { I++; do while() (halaman 215) I=1 #include<stdio.h> main() { int I; I=1; do { I++; printf(“\n %i”,I ); } while ( I<=5 ); I++ printf I I<=5 true false Tercetak : 2 3 4 5 6 Perkembangan nilai I Oleh I++ nilai I menjadi: Tercetak oleh printf (“\n %i”, I ) nilai I Kondisi I <= 5 1 2 3 4 5 2 3 4 5 6 2 3 4 5 6 True, lanjutkan False, keluar dari loop 215

#include<stdio.h> main() { int I; I=1; do { printf(“\n %i”,++I); } while ( I<=5 ); #include<stdio.h> main() { int I; I=1; do printf(“\n %i”,++I); while ( I<=5 ); } printf(“\n %i”, ++I ); I ditambah 1 lebih dulu, kemudian baru dicetak 215

Apa yang tercetak : ? Nilai awal condition tidak mesti selalu = 1. CONTOH-3 Nilai awal condition tidak mesti selalu = 1. Perubahan nilai condition juga tidak mesti selalu +1 Halaman : 216 #include<stdio.h> main() { int I; for ( I=3 ; I<=10 ; I=I+2 ) { printf(“\n%i”, I); } #include<stdio.h> main() { int I; I = 3; while( I<=10 ) { printf(“\n%i”, I); I=I+2; } Apa yang tercetak : ? 216

Tercetak : 3 5 7 9 Tercetak : 3 5 7 9 #include<stdio.h> main() { int I; for ( I=3 ; I<=10 ; I=I+2 ) { printf(“\n%i”, I); } #include<stdio.h> main() { int I; I = 3; while( I<=10 ) { printf(“\n%i”, I); I=I+2; } Tercetak : 3 5 7 9 Tercetak : 3 5 7 9 216

CONTOH-4 Sebaiknya merubah nilai condition hanya ada pada satu instruksi yang sesuai bentuk umum Halaman : 216 #include<stdio.h> main() { int I; for ( I=3 ; I<=10 ; I=I+2 ) { printf(“\n %i”, I); I = I+1; } Apa yang tercetak : ? 216

#include<stdio.h> main() { int I; for ( I=3 ; I<=10 ; I=I+2 ) { printf(“\n %i”, I); I = I+1; } Merubah nilai condition. di sembarang tempat mungkin tidak menyebabkan error. Tapi dapat membingungkan Pada penggunaan for( ), hindari menulis algoritma seperi ini. Tercetak : 3 6 9 printf I 3 6 9 I=I+1 4 7 10 I=I+2 6 9 12 I 3 6 9 12 I<=10 True False Keluar dari loop 216

Apa yang tercetak : ? #include<stdio.h> main() { int I; for ( I=3 ; I<=10 ; I=I+2 ) { printf(“\n %i”, I); I = I-1; } Apa yang tercetak : ? 216

#include<stdio.h> main() { int I; for ( I=3 ; I<=10 ; I=I+2 ) { printf(“\n %i”, I); I = I-1; } printf I 3 4 5 6 7 8 9 10 I 3 4 5 6 7 8 9 10 11 I<=10 True False I=I-1 2 3 4 5 6 7 8 9 I=I+2 4 5 6 7 8 9 10 11 Tercetak : 3 4 5 6 7 8 9 10 Keluar dari loop 216

for() while() Apa yang tercetak : ? Halaman 217 CONTOH-5 Halaman 217 for() while() #include<stdio.h> void main() { int I; for( I=1; I >=5; I++ ) { printf(“\n%i”,I); } #include<stdio.h> void main() { int I; I=1; while( I >= 5 ) { printf(“\n%i”,I); I++; } Apa yang tercetak : ? 217

for() while() Kemungkinan suatu loop tidak pernah dikerjakan. CONTOH-5 for() while() #include<stdio.h> void main() { int I; for( I=1; I >=5; I++ ) { printf(“\n%i”,I); } #include<stdio.h> void main() { int I; I=1; while( I >= 5 ) { printf(“\n%i”,I); I++; } TIDAK ADA YANG TERCETAK printf I I++ I 1 I>=5 False Keluar dari loop 217

Apa yang tercetak : ? do while() #include<stdio.h> void main() { int I; I=1; do { printf(“\n%i”,I); I++; } while( I >= 5 ); Apa yang tercetak : ? 217

#include<stdio.h> void main() { int I; I=1; do while() #include<stdio.h> void main() { int I; I=1; do { printf(“\n%i”,I); I++; } while( I >= 5 ); Tercetak : 1 printf I 1 I 1 I++ 2 I>=5 False Keluar dari loop 217

10. 48

#include<stdio.h> main() { int I; for( I=10; I>=5; I++ ) 10. 49 CONTOH-6 #include<stdio.h> main() { int I; for( I=10; I>=5; I++ ) { printf(“\n%i”,I); } Apa yang tercetak : ? 217

#include<stdio.h> main() { int I; for( I=10; I>=5; I++ ) 10. 50 CONTOH-6 #include<stdio.h> main() { int I; for( I=10; I>=5; I++ ) { printf(“\n%i”,I); } Suatu loop kemungkinan dilaksanakan terus menerus Kondisi I >= 5 selalu bernilai TRUE sehingga akan mencetak nilai I terus menerus sampai nilai batas tertinggi bilangan integer yaitu 32767 terlampaui dan nilai I menjadi -32768 baru nilai( I >= 5 ) bernilai False, dan keluar dari loop. Tercetak: 10 11 12 . 32767 Setelah nilai I = -32768 maka kondisi (I >= 5) bernilai FALSE dan keluar dari loop 217

10. 51

for() Apa yang tercetak : ? #include<stdio.h> main() { int I; 10. 52 CONTOH-7 for() #include<stdio.h> main() { int I; for ( I=3; I<=5; I=I+0.5 ) { printf(“\n %i”, I); } Apa yang tercetak : ? 218

for() #include<stdio.h> main() { int I; CONTOH-7 Karena I bertipa int, maka 0.5 dianggap 0. Sehingga I = I + 0.5 dianggap sebagai I = I + 0 Sehingga program disebelah akan selalu mencetak 3 terus menerus sampai dihentikan dengan ‘break’ oleh operator, yaitu dengan cara menekan tombol <Ctrl> dan <C> atau tombol <Ctrl> dan <Break> for() #include<stdio.h> main() { int I; for ( I=3; I<=5; I=I+0.5 ) { printf(“\n %i”, I); } Tercetak : 3 3 dst 218

for() CONTOH-8 #include<stdio.h> main() { float F; 10. 54 CONTOH-8 for() for() #include<stdio.h> main() { int I; for(I=3; I<=5; I=I+1.5 ) { printf(“\n%i”,I); } #include<stdio.h> main() { float F; for( F=3.0; F<=5.5; F=F+0.5 ) { printf(“\n%10.8f”, F); } Tercetak : 3 4 5 Tercetak : 3.00000000 3.50000000 4.00000000 4.50000000 5.00000000 5.50000000 I bertipe int, sehingga I = I + 1.5 dianggap I = I + 1 sehingga bila program disamping dijalankan, akan tercetak : 218

#include<stdio.h> main() { float F; 10. 55 for() #include<stdio.h> main() { float F; for( F=3.0; F<=3.5; F=F+0.1 ) { printf(“\n%10.8f”, F); } Tercetak : 3.00000000 3.09999990 3.19999998 3.29999997 3.39999996 3.49999995 Menyimpan nilai fraction belum tentu tepat. Oleh karena itu bilangan fraction hanya tersimpan mendekati nilai sebenarnya sehingga ada istilah “Single Precision” (ketelitian tunggal) dan “Double Precision” (ketelitian ganda) Tipe float, adalah tipe ketelitian tunggal 218

10. 56 218

10. 61

10. 62

10. 63

65 6565 6565 6.03 Perhatikan kembali Contoh-1 sebelumnya sebagai berikut : Contoh-1A #include<stdio.h> main() { int I; for ( I=1 ; I<=5 ; I=I+1 ) printf(“\n %i”, I); } I=I+1, dapat ditulis menjadi : I++ atau ++I sehingga menjadi: for (I=1; I<=5; I++) atau for(I=1; I<=5; ++I) Untuk menyingkat program, instruksi untuk clear screen dibuang, tapi bila akan ditest dikomputer clrscr() disertakan lagi. Beberapa Cara penulisan Contoh-1 diatas, yang menghasilkan effek yang sama : Contoh-1C #include<stdio.h> main() { int I; for ( I=1 ; I<=5 ; I++ ) printf(“\n %i”, I); } Contoh-1B #include<stdio.h> main() { int I; for ( I=1 ; I<=5 ; I++ ) printf(“\n %i”, I); } Bahkan instruksi print dapat ditulis pada baris yang sama dengan instruksi for………… Karena instruksi dalam loop hanya ada 1 instruksi, maka tanda kurung { dan } boleh tidak dipakai. Contoh-1E #include<stdio.h> main() { int I; I=1; for ( ; I<=5 ; ) { printf(“\n %i”, I); I++; } Contoh-1D #include<stdio.h> main() { int I; I=1; for ( ; I<=5 ; I++ ) printf(“\n %i”, I); } Initialization, pemberian nilai awal I dapat dilakukan sebelum instruksi for…… Perhatikan : sebelum dan sesudah I<=5 ada tanda ; (titik koma) Perhatikan : sebelum I<=5 ada tanda ; (titik koma) Perubahan nilai I dilakukan dalam loop (sesudah instruksi for….) Initialization, dilakukan sebelum instruksi for…… Karena dalam loop ada lebih dari satu instruksi, maka digunakan { dan } 6565

66 6666 6666 6.04 Masih melanjutkan Contoh-1 sebelumnya: Contoh-1F #include<stdio.h> main() { int I; I=1; for ( ; I<=5 ; ) printf(“\n %i”, I++); } Lihat lagi: Contoh-1E #include<stdio.h> main() { int I; I=1; for ( ; I<=5 ; ) { printf(“\n %i”, I); I++; } Akan tercetak : 1 2 3 4 5 Penambahan nilai I dengan I++ dilakukan jadi satu dalam instruksi printf Catatan : dengan I++, maka mencetak I dulu, baru I ditambah satu. Contoh-1G #include<stdio.h> main() { int I; I=1; for ( ; I<=5 ; ) printf(“\n %i”, ++I); } Contoh-1H #include<stdio.h> main() { int I; I=1; for ( ;; ) printf(“\n %i”, ++I); if (I>=5) break; } Penambahan nilai I bukan I++, tapi ++I maka akan tecetak : 2 3 4 5 Bila nilai I >= 5 maka keluar dari loop sehingga tercetak : Catatan : dengan ++I, maka I ditambah satu dulu baru dicetak. 2 3 4 5 6666

67 67 6767 ? 6767 6.06 CONTOH-3 Mana hasil cetakannya??? Program disebelah tidak mengerjakan loop jadi tidak mencetak sesuatu. Karena : Nilai awal I = 10. Sehingga begitu memeriksa kondisi I<= 5 langsung nilainya FALSE dan tidak mengerjakan loop. Contoh-3A #include<stdio.h> main() { int I; for ( I=10 ; I<=5 ; I=I-2 ) printf(“\n %i”, I); } Mana hasil cetakannya??? Contoh-3B #include<stdio.h> main() { int I; for ( I=10 ; I>=5 ; I=I-2 ) printf(“\n %i”, I); } Nilai I dapat dibuat turun Bila program Contoh-3B dijalankan, akan tercetak : 10 8 6 Catatan: Untuk mengurangkan I dengan 1 dapat ditulis dengan : I-- atau --I Contoh-3C Kondisi I >= 5 selalu bernilai TRUE sehingga akan mencetak nilai I terus menerus sampai nilai batas tertinggi bilangan integer yaitu 32767 terlampaui dan nilai I menjadi -32768 baru nilai( I >= 5 ) bernilai False, dan keluar dari loop. Bila program disamping dijalankan, akan tercetak : #include<stdio.h> main() { int I; for ( I=10 ; I>=5 ; I++ ) printf(“\n %i”, I); } 10 11 12 13 . 32767 ? 6767

68 6868 6868 6.07 CONTOH-4 Untuk data dengan tipe integer (int), pecahan selalu tidak diperhatikan. Jadi 0.5 dianggap 0. Sehingga I = I + 0.5 dianggap sebagai I = I + 0 Sehingga program disebelah akan selalu mencetak 3 terus menerus sampai dihentikan dengan ‘break’ oleh operator, yaitu dengan cara menekan tombol <Ctrl> dan <C> atau tombol <Ctrl> dan <Break> Hasil yang tercetak : Contoh-4A #include<stdio.h> main() { int I; for ( I=3 ; I<=5 ; I=I+0.5 ) printf(“\n %i”, I); } 3 dst Contoh-4B #include<stdio.h> main() { int I; for ( I=3 ; I<=5 ; I=I+1.5 ) printf(“\n %i”, I); } I = I + 1.5 dianggap I = I + 1 sehingga bila program disamping dijalankan, akan tercetak : 3 4 5 Contoh-4C #include<stdio.h> main() { float I; for ( I=3 ; I<=5 ; I=I+0.5 ) printf(“\n %f”, I); } Untuk bekerja dengan nilai yang mengandung pecahan, digunaka data tipe float, dan dicetak dengan format %f Bila program disamping dijalankan, akan tercetak : 3.000000 3.500000 4.000000 4.500000 5.000000 6868

69 6969 6969 6.08 CONTOH-5 Contoh-5B Contoh-5A #include<stdio.h> main() { int I,A,B,C; A=1; B=10; C=2; for ( I=A ; I<=B ; I=I+C ) printf(“\n %i”, I); } Mudah dipahami bahwa program disebelah bila dijalankan akan mencetak: 1 3 5 7 9 Karena awalnya 1, naik 2 selama <=10 setelah nilai I =11, keluar dari loop, tidak mencetak nilai I lagi. Contoh-5B Nilai A dirobah tidak akan mempengaruhi loo. Tapi bila nilai C dan B yang dirobah akan mempengaruhi loop. sehingga bila program disebelah dijalankan, akan tercetak : #include<stdio.h> main() { int I,A,B,C; A=1; B=10; C=2; for ( I=A ; I<=B ; I=I+C ) printf(“\n %i”, I); C=C+1; } 1 4 8 Karena pada loop pertama nilai I ditambah 3 tapi pada loop kedua nilai I ditambah 4. Perhatikan perkembangan nilai I dan nilai B Contoh-5C Bila program disamping dijalankan, akan tercetak : B naik jadi I naik jadi #include<stdio.h> main() { int I,A,B,C; A=1; B=10; C=2; for ( I=A ; I<=B ; I=I+C ) printf(“\n %i”, I); B=B+1; } I B kondisi cetak 1 3 5 7 9 11 13 15 17 19 1 3 5 7 9 11 13 15 17 19 21 10 11 12 13 14 15 16 17 18 19 20 True FALSE 1 3 5 7 9 11 13 15 17 19 11 12 13 14 15 16 17 18 19 20 3 5 7 9 11 13 15 17 19 21 Keluar dari loop Nilai I = 21, tidak dicetak, karena kondisi FALSE, keluar dari loop. 6969

7070 7070 6.09 CONTOH-6 Contoh-6A #include<stdio.h> main() { int I; for ( ; I<=5 ;I++ ) printf(“\n %i”, I); } Bila I tidak dinyatakan nilai awalnya tapi langsung digunakan (ditest atau dicetak) maka nilai awalnya dinyatakan = 0 sehingga program akan mencetak : 1 2 3 4 5 Contoh-6B #include<stdio.h> main() { int I; for ( ; I ; ) printf(“\n %i”,I); } for (;I;) maksudnya : - kerjakan loop bila I != 0 - keluar dari loop bila I = 0 karena nilai awal I tidak dinyatakan sehingga dinyatakan = 0, maka : program tidak mengerjakan loop, yang artinya tidak mencetak sesuat. Contoh-6C Tercetak : #include<stdio.h> main() { int I; I=1; for ( ; I ; ) printf(“\n %i”,I); } for (;I;) maksudnya : - kerjakan loop bila I != 0 - keluar dari loop bila I = 0 karena nilai awal I = 1 dan tidak pernah ditambah atau dikurang, maka : program akan mencetak nilai I yaitu mencetak angka 1 terus menerus sampai dihentikan dengan ‘break’ 1 dst sampai dihentikan dengan ^C 7070

7171 7171 6.10 Contoh-6D #include<stdio.h> main() { int I; for ( ; I ;I++ ) printf(“\n %i”, I); } for (;I;I++) maksudnya : - akan mengerjakan loop bila I != 0 baru kemudian I ditambah 1. - keluar dari loop bila I = 0 karena nilai awal I tidak dinyatakan sehingga dinyatakan = 0, maka : program tidak mengerjakan loop, yang artinya tidak mencetak sesuatu. Contoh-6E #include<stdio.h> main() { int I; for ( ; I ;I-- ) printf(“\n %i”,I); } Sama dengan atas tidak mencetak sesuatu. Walaupun ada instruksi I-- atau I dikurangi 1, tapi instruksi I dikurang 1 ini belum sempat dikerjakan karena langsung keluar dari loop. Contoh-6F #include<stdio.h> main() { int I; for ( ; ; ) printf(“\n Jakarta”); } Akan mencetak “Jakarta” terus menerus sampai dihentikan dengan menekan tombol break ^C karena nilai kondisi selalu tidak sama dg 0 (nol) Tercetak: Jakarta dst. 7171

7272 7272 6.11 CONTOH-7. Logika penulisan program seperti diatas, Contoh-7A #include<stdio.h> main() { int I; I = 1; for ( ; I<10 ; ) printf(“Jakarta”); } Sama kasusnya dengan Contoh 6-C yang akan mengerjakan loop terus menerus, karena kondisi selalu bernilai TRUE. Jadi program akan mencetak “Jakarta” terus menerus sampai dihentikan dengan ^C. Akan tercetak: Jakarta . Dan seterusnya Logika penulisan program seperti diatas, dapat dimanfaatkan untuk memeriksa apakah data yang diinput sesuai dengan batas nilai yang diinginkan Contoh-7B #include<stdio.h> main() { int Nilai; Nilai = -1; for (; Nilai <0 || Nilai > 100 ; ) printf(“Masukkan Nilai Ujian (0-100) : “); scanf(“%i”, &Nilai ); } Program ini meminta operator untuk menginput sebuah nilai integer. Apabila nilai yang diinput < 0 atau > 100, maka program kembali meminta operator untuk memasukkan nilai Demikianseterusnya sampai nilai yang diinput berada dalam batas 0 - 100 7272

7373 7373 6.12 6.2 Penggunaan break dan continue CONTOH-8. atau I=1 Statement break didalam loop menyebabkan control keluar dari loop langsung ke next-instruction #include<stdio.h> main() { int I, N, T; T=0; I=1; for(I=1; I<=10; I++ ) { scanf(“%i”, &N); T = T + N; if(T> 1000) break; } printf(“%i”, T) Walaupun data yang akan diinput ada 10 buah, tapi bila totalnya sudah lebih dari 1000, maka proses input harus dihentikan dengan cara keluar dari loop. atau I=1 T=0 I=1 T=0 I<=10 false I++ true T>1000 break scanf N T=T+N T=T+N T>1000 true scanf N break I<=10 I++ true false printf T printf T 7373

7474 7474 6.13 14 I=1 I++ I<=3 scanf N T=T+N T=T+N scanf N I<=3 Contoh-8B statement continue didalam loop yang dibuat oleh control statement for() pada contoh 8B, menyebabkan control langsung menuju ke pengubahan nilai I (dalam contoh I++ yang ada pada instruksi for() ). Untuk contoh ini, ingin dinputkan 5 buah nilai, tapi data yang nilainya lebih kecil dari 1 atau diatas 10 tidak diproses. #include<stdio.h> main() { int I, T; T=0; for ( I=1; I<=5; I++ ) { scanf(“%i” , &N); if (N<1 || N>10) continue T = T + N } printf(“\n %i”, T); Bila data yang diinput misalnya : 5, -2, 12, 9, 17 maka akan tercetak : 14 (yaitu total dari 5+9) I = 1 I=1 I<=3 I++ Perhatikan : tetap melewati I++ Bandingkan dengan algoritma berikut ini : scanf N T=T+N for ( I=1; I<=3; I++ ) { scanf(“%i” , &N); if (N >= 1 && N <= 10) { T = T + N; } } N<1 || N>10 true N<1 || N>10 continue continue true T=T+N scanf N Perhatikan instruksi : if(N >= 1 && N <= 10) Perhatikan : tetap melewati I++ I<=3 I++ true false Bila nilai N berada dalam batas 1 - 10 maka tambahkan ke T printf Bandingkan dengan pemakaian continue pada loop yang dibentuk dengan for( )bentuk lain pada halaman lain dan while() T printf T 7474

7575 7575 6.14 15 I<=3 I++ scanf N T=T+N continue T=T+N scanf N I++ Contoh-8C statement continue didalam loop yang ditulis dengan for cara pada cintoh-8C, menyebabkan control langsung menuju ke pengeckan nilai I <= 3 sehingga nilai N tidak ditambahkan ke T, dan nilai I tdak ditambah 1. Untuk contoh ini, yang akan ditambahkan ke T hanyalah 3 buah data yang nilainya tidak lebih kecil dari 1 dan tidak lebih besar dari 10, dari sekian banyak data yang diinput. #include<stdio.h> main() { int I, T; T=0; for ( I=1; I<=3; ) { scanf(“%i” , &N); if (N<1 || N>10) continue; T = T + N; I++; } printf(“\n %i”, T); Bila data yang diinput misalnya : 5, -2, 12, 8, 17, 2 maka akan tercetak : 15 (yaitu total dari 5+8+2) I = 1 I = 1 I<=3 false I++ true Bandingkan dengan algoritma berikut ini : scanf N for ( I=1; I<=3; ) { scanf(“%i” , &N); if (N >= 1 && N <= 10) { T = T + N; I++; } T=T+N true N<1 || N>10 continue N<1 || N>10 continue true T=T+N scanf N Perhatikan instruksi : if(N >= 1 && N <= 10) I++ I<=3 true Bila nilai N berada dalam batas 1 - 10 maka tambahkan ke T dan I ditambah 1 Tapi bila N < 1 atau N > 10 maka tidak ditambah ke T dan I juga tidak ditambah 1 printf printf T T Bandingkan dengan pemakaian continue pada loop yang dibentuk dengan while( ) 7575