SlideShare a Scribd company logo
PEMROGRAMAN 
TERSTRUKTUR 
(dalam bahasa C) 
STTQ - 2010 1
Sejarah Bahasa C 
 Bersumber dari bahasa BCPL (Martin Richards -1967) dan B 
(Ken Thompson -1970) 
 C diciptakan Dennis Ritchie dari Bell Laboratories pada tahun 
1972 dan diimplementasikan pada komputer DEC PDP-11 
 Pada 1978 Dennis Ritchie dan Brian Kernighan kemudian 
mempublikasikan buku The C Programming Language yang 
semakin memperluas pemakaiannya dan dijadikan standar oleh 
ANSI (American National Standard Institute) pada tahun 1989 
 C kemudian dikembangkan lagi oleh Bjarne Stroustrup menjadi 
C++ (1986) 
 C dan/atau C++ banyak digunakan (sehingga menjadi ‘standar’) 
sebagai bahasa pemrograman untuk membuat sistem operasi 
STTQ - 2010 2
Proses penerjemahan bahasa 
C 
STTQ - 2010 3 
Editor 
Preprocessor 
Compiler 
Linker 
Loader 
CPU 
DISK 
.c 
.h 
.obj 
.out 
(UNIX) 
.exe 
(MS) 
Primary Memory
Program sederhana I [1] 
 Contoh program untuk menampilkan sebaris teks 
Selamat menggunakan bahasa C! pada layar: 
1. /* Program pertama dalam bahasa C */ 
2. #include <stdio.h> 
3. /* fungsi main mulai eksekusi program */ 
4. int main( void ) 
5. { 
6. printf( “Selamat menggunakan bahasa C!n" ); 
7. return 0; /* indikasi program berakhir dengan sukses */ 
8. } /* akhir fungsi main */ 
Selamat menggunakan bahasa C! Program Output 
STTQ - 2010 4
Program sederhana I [2] 
 Komentar diawali dengan /* dan diakhiri dengan */ (seperti terdapat pada baris- 
1,3,7,dan 8), komentar tidak dipedulikan/diproses oleh compiler. Bermanfaat 
untuk memudahkan pembacaan dan pemahaman sebuah program. 
 Baris dengan awalan # (seperti pada baris-2) diproses oleh preprocessor C 
sebelum program dikompilasi. Baris tersebut menunjukkan bahwa preprocessor 
harus mengikutsertakan standard input/output header (stdio.h) pada 
program.Header ini mengandung informasi yang digunakan compiler untuk 
mengkompilasi pemanggilan fungsi standar input/output seperti printf (baris-6). 
 int main() merupakan fungsi utama program dan selalu merupakan bagian dari 
program dalam C, karena berjalannya program/instruksi ditentukan oleh fungsi 
ini. int berarti fungsi main mengembalikan nilai integer 
 Tanda kurung kurawal buka { dan tutup } merupakan penanda body dari sebuah 
fungsi atau sering disebut juga block fungsi/program. 
 printf( “Selamat menggunakan bahasa C!n" ); menghasilkan aksi yaitu 
menampilkan teks “Selamat menggunakan bahasa C!” 
 return 0; selalu diikutsertakan pada akhir fungsi main. Keyword return untuk 
menyatakan keluar dari suatu fungsi, dan angka 0 menunjukkan nilai yang 
dihasilkan/dikembalikan oleh fungsi tersebut. 
STTQ - 2010 5
Program sederhana I [3] 
1. /* Program pertama dalam bahasa C */ 
2. #include <stdio.h> 
3. /* fungsi main mulai eksekusi program */ 
4. int main( void ) 
5. { 
6. printf( “Selamat menggunakan bahasa C!n" ); 
7. return 0; /* indikasi program berakhir dengan sukses */ 
8. } /* akhir fungsi main */ 
komentar 
STTQ - 2010 6 
preprocessor 
main function 
statement 
function body
Program sederhana I [4] 
 Karakter escape 
Karakter Deskripsi 
n Pindah kursor ke baris baru 
t Horisontal tab, pindah kursor ke posisi tab berikutnya 
a Membunyikan bel sistem/beep 
 Mencetak/menampilkan  (backslash) 
” Mencetak/menampilkan ” 
STTQ - 2010 7
Program sederhana I [5] 
 Modifikasi 1: mencetak 1 baris dengan 2 buah perintah printf 
1 /* Fig. 2.3: fig02_03.c 
2 Printing on one line with two printf statements */ 
3 #include <stdio.h> 
4 
5 /* function main begins program execution */ 
6 int main() 
7 { 
8 printf( "Welcome " ); 
9 printf( "to C!n" ); 
10 
11 return 0; /* indicate that program ended successfully */ 
12 
13 } /* end function main */ 
Welcome to C! Program 
STTQ - 2010 8 
Output
Program sederhana I [6] 
 Modifikasi 2: mencetak banyak baris dengan sebuah perintah printf 
1 /* Fig. 2.4: fig02_04.c 
2 Printing multiple lines with a single printf */ 
3 #include <stdio.h> 
4 
5 /* function main begins program execution */ 
6 int main() 
7 { 
8 printf( "WelcomentonC!n" ); 
9 
10 return 0; /* indicate that program ended successfully */ 
11 
12 } /* end function main */ 
STTQ - 2010 9 
Welcome 
to 
C! 
Program 
Output
Program sederhana II [1] 
Membaca 2 buah bilangan bulat dari 
keyboard dan menampilkan hasil 
penjumlahannya 
STTQ - 2010 10
1 /* Fig. 2.5: fig02_05.c 
2 Addition program */ 
3 #include <stdio.h> 
4 
5 /* function main begins program execution */ 
6 int main() 
7 { 
8 int integer1; /* first number to be input by user */ 
9 int integer2; /* second number to be input by user */ 
10 int sum; /* variable in which sum will be stored */ 
11 
12 printf( "Enter first integern" ); /* prompt */ 
13 scanf( "%d", &integer1 ); /* read an integer */ 
14 
15 printf( "Enter second integern" ); /* prompt */ 
16 scanf( "%d", &integer2 ); /* read an integer */ 
17 
18 sum = integer1 + integer2; /* assign total to sum */ 
19 
20 printf( "Sum is %dn", sum ); /* print sum */ 
21 
22 return 0; /* indicate that program ended successfully */ 
23 
24 } /* end function main */ 
STTQ - 2010 11 
 Enter first integer 
45 
Enter second integer 
72 
Sum is 117 
Program Output
Program sederhana II [2] 
 Baris ke-1 hingga ke-7 serupa dengan program I 
 int integer1, integer2, sum; 
 Pendefinisian variable-variabel 
 Variabel: lokasi di memori tempat sebuah nilai disimpan 
 int berarti variabel dapat menyimpan bilangan bulat (-1, 3, 0, 47) 
 Nama-nama variabel (identifier) 
 integer1, integer2, sum 
 Identifier: mengandung huruf,angka (tidak boleh dimulai dengan 
angka) dan underscores( _ ) 
 Case sensitive (huruf besar dan kecil dibedakan) 
 Deklarasi variabel harus muncul sebelum eksekusi statement yang 
menggunakannya 
 Jika eksekusi statement mengacu kepada variabel yang belum 
dideklarasikan maka akan menghasilkan syntax (compiler) error 
STTQ - 2010 12
Program sederhana II [3] 
 scanf( "%d", &integer1 ); 
 Mengambil sebuah nilai dari user 
 scanf menggunakan standar input (biasanya keyboard) 
 scanf statement ini memiliki dua buah argumen 
 %d - menunjukkan data yang diambil adalah bilangan bulat desimal 
 &integer1 – berlokasi di memori untuk menyimpan nilai variabel tsb 
 Tanda & dapat membingungkan di awal – untuk saat ini sertakan 
pada nama variabel pada statement scanf 
 Ketika program dieksekusi user merespon statement scanf dengan 
mengetik sebuah bilangan kemudian menekan tombol enter (return) 
 = (assignment operator) 
 Assigns (memberi) sebuah nilai kepada sebuah variabel 
 Merupakan sebuah operator biner (memiliki dua buah operand) 
sum = variable1 + variable2; 
sum memperoleh hasil dari variable1 + variable2; 
 Variabel penerima nilai berada di sebelah kiri 
STTQ - 2010 13
Program sederhana II [4] 
 printf( "Sum is %dn", sum ); 
 Serupa dengan pada scanf 
 %d berarti bilangan bulat desimal akan ditampilkan/dicetak 
 Nilai variabel sum menentukan bilangan bulat yang akan 
ditampilkan/dicetak 
 Perhitungan dapat langsung dilakukan dalam statement printf 
printf( "Sum is %dn", integer1 + integer2 ); 
STTQ - 2010 14
Konsep Memori [1] 
STTQ - 2010 15 
 Variabel 
 Nama-nama variabel berkaitan dengan lokasi-lokasi di memori 
komputer 
 Setiap variabel memiliki sebuah nama, sebuah tipe, sebuah 
ukuran dan sebuah nilai 
 Ketika sebuah nilai baru diberikan pada sebuah variabel 
(misalnya melalui scanf) maka nilai yang lama akan diganti 
(dan hilang) 
 Membaca variabel dari memori tidak akan mengubah nilainya 
 Representasi visual: 
integer 1 45
Konsep Memori [2] 
integer 1 45 
integer 2 72 
integer 1 45 
integer 2 72 
sum 117 
STTQ - 2010 16
Aritmatika [1] 
STTQ - 2010 17 
 Perhitungan Aritmatika 
 Gunakan * untuk perkalian dan / untuk pembagian 
 Pembagian bilangan bulat membuang sisa pembagian 
 7 / 5 dievaluasi menjadi 1 
 Operator Modulus (%) menghasilkan sisa pembagian 
 7 % 5 dievaluasi menjadi 2 
 Operator precedence 
 Beberapa operator aritmatika lebih diprioritaskan (dihitung lebih dahulu) 
dibandingkan operator lainnya (misalkan perkalian dan pembagian 
didahulukan dibandingkan penjumlahan dan pengurangan) 
 Gunakan tanda kurung jika diperlukan 
 Contoh: Hitung nilai rata-rata dari variabel-variabel a, b and c 
 Jangan gunakan: a + b + c / 3 
 Gunakan: (a + b + c ) / 3
Aritmatika [2] 
 Operator-operator aritmatika: 
C operation 
Arithmetic operator Algebraic expression C expression 
Addition + f + 7 f + 7 
Subtraction - p – c p - c 
Multiplication * bm b * m 
Division / x / y x / y 
Modulus % r mod s r % s 
 Aturan precedence operator: 
Operator(s) Operation(s) Order of evaluation (precedence) 
() Parentheses Evaluated first. If the parentheses are nested, the expression in the innermost pair is 
evaluated first. If there are several pairs of parentheses “on the same level” (i.e., not 
nested), they are evaluated left to right. 
*, /, or % Multiplication,Division, 
STTQ - 2010 18 
Modulus 
Evaluated second. If there are several, they are 
evaluated left to right. 
+ or - Addition 
Subtraction 
Evaluated last. If there are several, they are 
evaluated left to right.
Aritmatika [3] 
Step 1. y = 2 * 5 * 5 + 3 * 5 + 7; 
2 * 5 is 10 
Step 2. y = 10 * 5 + 3 * 5 + 7; 
10 * 5 is 50 
Step 3. y = 50 + 3 * 5 + 7; 
Step 4. y = 50 + 15 + 7; 
Step 5. y = 65 + 7; 
STTQ - 2010 19 
Step 6. y = 72; 
3 * 5 is 15 
50 + 15 is 65 
65 + 7 is 72 
(Leftmost multiplication) 
(Leftmost multiplication) 
(Multiplication before addition) 
(Leftmost addition) 
(Last addition) 
(Last operation—place 72 in y)
Pengambilan Keputusan: Persamaan 
dan Operator Relasional [1] 
STTQ - 2010 20 
 Eksekusi statement 
 Menghasilkan aksi-aksi (penghitungan, input/output data) 
 Menghasilkan keputusan 
 Ingin menampilkan “lulus" or “gagal" berdasarkan suatu syarat 
nilai tertentu 
 if control statement 
 Versi sederhana dahulu, lebih detail kemudian 
 Jika suatu kondisi true, maka body statement if dieksekusi 
 0 adalah false, non-zero adalah true 
 Kontrol terhadap perintah selanjutnya setelah struktur if 
 Keywords 
 Kata-kata khusus yang digunakan oleh bahasa C 
 Tidak dapat digunakan sebagai nama variabel atau identifier
Pengambilan Keputusan: Persamaan 
dan Operator Relasional [2] 
STTQ - 2010 21 
Standard algebraic equality 
operator or relational operator 
C equality or 
relational operator 
Example of C 
condition 
Meaning of C condition 
Equality Operators 
= == x == y x is equal to y 
¹ != x != y x is not equal to y 
Relational Operators 
> > x > y x is greater than y 
< < x < y x is less than y 
>= >= x >= y x is greater than or equal to y 
<= <= x <= y x is less than or equal to y
1 /* Fig. 2.13: fig02_13.c 
2 Using if statements, relational 
3 operators, and equality operators */ 
4 #include <stdio.h> 
5 
6 /* function main begins program execution */ 
7 int main() 
8 { 
9 int num1, /* first number to be read from user */ 
10 int num2; /* second number to be read from user */ 
11 
12 printf( "Enter two integers, and I will tell youn" ); 
13 printf( "the relationships they satisfy: " ); 
14 
15 scanf( "%d%d", &num1, &num2 ); /* read two integers */ 
16 
17 if ( num1 == num2 ) { 
18 printf( "%d is equal to %dn", num1, num2 ); 
19 } /* end if */ 
20 
21 if ( num1 != num2 ) { 
22 printf( "%d is not equal to %dn", num1, num2 ); 
23 } /* end if */ 
24 
STTQ - 2010 22
25 if ( num1 < num2 ) { 
26 printf( "%d is less than %dn", num1, num2 ); 
27 } /* end if */ 
28 
29 if ( num1 > num2 ) { 
30 printf( "%d is greater than %dn", num1, num2 ); 
31 } /* end if */ 
32 
33 if ( num1 <= num2 ) { 
34 printf( "%d is less than or equal to %dn", num1, num2 ); 
35 } /* end if */ 
36 
37 if ( num1 >= num2 ) { 
38 printf( "%d is greater than or equal to %dn", num1, num2 ); 
39 } /* end if */ 
40 
41 return 0; /* indicate that program ended successfully */ 
42 
43 } /* end function main */ 
Enter two integers, and I will tell you 
the relationships they satisfy: 3 7 
3 is not equal to 7 
3 is less than 7 
3 is less than or equal to 7 
STTQ - 2010 23 
Program Output
Enter two integers, and I will tell you 
the relationships they satisfy: 22 12 
22 is not equal to 12 
22 is greater than 12 
22 is greater than or equal to 12 
Enter two integers, and I will tell you 
the relationships they satisfy: 7 7 
7 is equal to 7 
7 is less than or equal to 7 
7 is greater than or equal to 7 
STTQ - 2010 24 
Program Output 
(lanjutan)
Pengambilan Keputusan: Persamaan 
dan Operator Relasional [3] 
Operators Associativity 
* / % left to right 
+ - left to right 
< <= > >= left to right 
== != left to right 
= right to left 
Precedence dan associativity dari operator-operator 
STTQ - 2010 25
Pengambilan Keputusan: Persamaan 
dan Operator Relasional [4] 
STTQ - 2010 26 
Keywords 
auto double int struct 
break else long switch 
case enum register typedef 
char extern return union 
const float short unsigned 
continue for signed void 
default goto sizeof volatile 
do if static while 
Reserved keywords pada bahasa C
Algoritma dan Pseudocode 
 Algoritma: urutan langkah-langkah yang dapat 
digunakan untuk memecahkan suatu masalah 
 Pseudocode: 
 Bahasa buatan yang bersifat informal yang dapat 
membantu untuk mengembangkan algoritma 
 Serupa dengan bahasa sehari-hari 
 Membantu mempermudah penulisan program; dengan 
menggunakan statement-statement yang dapat dieksekusi, 
mempermudah konversi ke bahasa pemrograman 
STTQ - 2010 27
Struktur Kontrol 
 Semua program ditulis dalam 3 macam bentuk struktur kontrol: 
 Sequence atau berturutan: struktur ini tersedia secara built-in. Secara 
default program dieksekusi secara berturutan sesuai urutan perintah 
 Selection atau pilihan: ada 3 macam dalam bahasa C: if, if…else, 
STTQ - 2010 28 
dan switch 
 Repetition atau pengulangan: ada 3 macam dalam bahasa C: while, 
do…while, dan for 
 Flowchart 
 Representasi grafis dari algoritma 
 Menggunakan simbol-simbol khusus yang dihubungkan dengan garis 
beranak panah 
 Simbol kotak melambangkan aksi 
 Simbol oval melambangkan awal dan akhir suatu program atau blok 
program 
 Simbol berlian melambangkan keputusan/pilihan
Selection Control [1] (if) 
grade >= 60 print “Passed” 
STTQ - 2010 29 
 Statement if: 
 Digunakan untuk seleksi suatu kondisi 
 Contoh pseudocode: 
If student’s grade is greater than or equal to 60 
Print “Passed” 
 Contoh Flowchart: 
true 
false
Selection Control [2] (if) 
STTQ - 2010 30 
 Jika kondisi true 
 Statement Print dieksekusi dan program dilanjutkan ke statement 
berikutnya 
 Jika kondisi false 
 Statement Print diabaikan dan program dilanjutkan ke statement 
berikutnya 
 Dalam bahasa C: 
if ( grade >= 60 ) 
printf( "Passedn" );
Selection Control [3] (if… 
else) 
grade >= 60 
STTQ - 2010 31 
 Statement if…else: 
 Menspesifikasikan aksi baik untuk kondisi true maupun untuk kondisi 
false 
 Contoh pseudocode: 
If student’s grade is greater than or equal to 60 
Print “Passed” 
else 
Print “Failed” 
 Contoh Flowchart: 
false true 
print “Failed” print “Passed”
Selection Control [4] (if… 
else) 
STTQ - 2010 32 
 Dalam C : 
if ( grade >= 60 ) 
printf( "Passedn"); 
else 
printf( "Failedn"); 
 Ternary conditional operator (?:) 
 Memerlukan tiga argumen (kondisi, nilai jika true, nilai jika false) 
 Contoh di atas dapat ditulis sbb: 
printf( "%sn", grade >= 60 ? "Passed" : "Failed" ); 
 Atau dapat ditulis sbb: 
grade >= 60 ? printf( “Passedn” ) : 
printf( “Failedn” );
Selection Control [5] (if… 
else) 
 Statement if…else bertingkat/bersarang: 
 Digunakan untuk menguji banyak kondisi dimana menempatkan 
statement seleksi if…else di dalam statement if…else 
 Sekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikan 
 Contoh pseudocode: 
If student’s grade is greater than or equal to 90 
Print “A” 
else 
If student’s grade is greater than or equal to 80 
Print “B” 
else 
If student’s grade is greater than or equal to 70 
Print “C” 
else 
If student’s grade is greater than or equal to 60 
STTQ - 2010 33 
Print “D” 
else 
Print “F”
Selection Control [6] (if… 
else) 
STTQ - 2010 34 
 Compound statement 
 Ada lebih dari satu statement/aksi yang harus dieksekusi setelah suatu 
kondisi dipenuhi 
 Sering disebut juga blok karena ditandai dengan pasangan { dan } 
 Contoh: 
if ( grade >= 60 ) 
printf( "Passed.n" ); 
else { 
printf( "Failed.n" ); 
printf( "You must take this course 
again.n" ); 
} 
 Tanpa tanda kurung kurawal, statement 
printf( "You must take this course 
again.n" ); 
Akan dieksekusi secara otomatis.
Selection Control [7] (switch) 
 Multiple-Selection Statement switch: 
 Berguna pada waktu sebuah variabel atau ekspresi diuji terhadap 
semua nilai yang mungkin dan masing-masing mengambil aksi yang 
berbeda 
STTQ - 2010 35 
 Format penulisan: 
 Sederetan label case dan opsional default case 
switch ( value ){ 
case '1': 
actions 
case '2': 
actions 
default: 
actions 
} 
 break; keluar dari statement
Selection Control [8] (switch) 
 Flowchart statement switch: 
case a case a action(s) break 
case b case b action(s) break 
case z case z action(s) break 
STTQ - 2010 36 
true 
false 
. 
. 
. 
false 
false 
true 
true 
default action(s)
Repetition Control [1] (while) 
 Struktur pengulangan structure 
 Programmer menentukan aksi yang akan diulang selama kondisi tetap 
STTQ - 2010 37 
true 
 Psuedocode: 
While there are more items on my shopping list 
Purchase next item and cross it off my list 
 while loop diulang hingga kondisi menjadi false 
 Contoh: 
int product = 2; 
while ( product <= 1000 ) 
product = 2 * product;
Repetition Control [2] (while) 
true 
product <= 1000 product = 2 * product 
false 
STTQ - 2010 38 
• Flowchart:
Repetition Control [3] (while) 
 Pengulangan yang dikontrol sebuah counter 
 Loop diulang hingga counter mencapai angka tertentu 
 Disebut juga definite repetition karena jumlah pengulangan dapat kita 
STTQ - 2010 39 
ketahui 
 Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. 
Nilai kuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata 
kuis tersebut. 
 Pseudocode: 
Set total to zero 
Set grade counter to one 
While grade counter is less than or equal to ten 
Input the next grade 
Add the grade into the total 
Add one to the grade counter 
Set the class average to the total divided by ten 
Print the class average
1 /* Fig. 3.6: fig03_06.c 
2 Class average program with counter-controlled repetition */ 
3 #include <stdio.h> 
4 
5 /* function main begins program execution */ 
6 int main() 
7 { 
8 int counter; /* number of grade to be entered next */ 
9 int grade; /* grade value */ 
10 int total; /* sum of grades input by user */ 
11 int average; /* average of grades */ 
12 
13 /* initialization phase */ 
14 total = 0; /* initialize total */ 
15 counter = 1; /* initialize loop counter */ 
16 
17 /* processing phase */ 
18 while ( counter <= 10 ) { /* loop 10 times */ 
19 printf( "Enter grade: " ); /* prompt for input */ 
20 scanf( "%d", &grade ); /* read grade from user */ 
21 total = total + grade; /* add grade to total */ 
22 counter = counter + 1; /* increment counter */ 
23 } /* end while */ 
24 
STTQ - 2010 40
25 /* termination phase */ 
26 average = total / 10; /* integer division */ 
27 
28 /* display result */ 
29 printf( "Class average is %dn", average ); 
30 
31 return 0; /* indicate program ended successfully */ 
32 
33 } /* end function main */ 
STTQ - 2010 41 
Enter grade: 98 
Enter grade: 76 
Enter grade: 71 
Enter grade: 87 
Enter grade: 83 
Enter grade: 90 
Enter grade: 57 
Enter grade: 79 
Enter grade: 82 
Enter grade: 94 
Class average is 81
Repetition Control [4] (while) 
 Pengulangan yang dikontrol sebuah sentinel 
 Sentinel: tanda berhenti untuk keluar dari suatu loop, biasanya berupa 
karakter, angka, atau tombol di keyboard sebagai tanda. Misalnya ‘Q’ 
untuk exit. 
 Loop diulang hingga mencapai sentinel tersebut 
 Jumlah pengulangan belum dapat kita ketahui secara pasti 
STTQ - 2010 42
1 /* Fig. 3.8: fig03_08.c 
2 Class average program with sentinel-controlled repetition */ 
3 #include <stdio.h> 
4 
5 /* function main begins program execution */ 
6 int main() 
7 { 
8 int counter; /* number of grades entered */ 
9 int grade; /* grade value */ 
10 int total; /* sum of grades */ 
11 
12 float average; /* number with decimal point for average */ 
13 
14 /* initialization phase */ 
15 total = 0; /* initialize total */ 
16 counter = 0; /* initialize loop counter */ 
17 
18 /* processing phase */ 
19 /* get first grade from user */ 
20 printf( "Enter grade, -1 to end: " ); /* prompt for input */ 
21 scanf( "%d", &grade ); /* read grade from user */ 
22 
23 /* loop while sentinel value not yet read from user */ 
24 while ( grade != -1 ) { 
25 total = total + grade; /* add grade to total */ 
26 counter = counter + 1; /* increment counter */ 
27 
STTQ - 2010 43
28 printf( "Enter grade, -1 to end: " ); /* prompt for input */ 
29 scanf("%d", &grade); /* read next grade */ 
30 } /* end while */ 
31 
32 /* termination phase */ 
33 /* if user entered at least one grade */ 
34 if ( counter != 0 ) { 
35 
36 /* calculate average of all grades entered */ 
37 average = ( float ) total / counter; 
38 
39 /* display average with two digits of precision */ 
40 printf( "Class average is %.2fn", average ); 
41 } /* end if */ 
42 else { /* if no grades were entered, output message */ 
43 printf( "No grades were enteredn" ); 
44 } /* end else */ 
45 
46 return 0; /* indicate program ended successfully */ 
47 
48 } /* end function main */ 
STTQ - 2010 44
STTQ - 2010 45 
Enter grade, -1 to end: 75 
Enter grade, -1 to end: 94 
Enter grade, -1 to end: 97 
Enter grade, -1 to end: 88 
Enter grade, -1 to end: 70 
Enter grade, -1 to end: 64 
Enter grade, -1 to end: 83 
Enter grade, -1 to end: 89 
Enter grade, -1 to end: -1 
Class average is 82.50 
Enter grade, -1 to end: -1 
No grades were entered

More Related Content

What's hot

Algoritma dan Pemrograman
Algoritma dan Pemrograman Algoritma dan Pemrograman
Algoritma dan Pemrograman
Farah Imaniar Rettyana
 
Function
FunctionFunction
Function
Akmal Fajar
 
90594480 bab-4-larik-array-fotran
90594480 bab-4-larik-array-fotran90594480 bab-4-larik-array-fotran
90594480 bab-4-larik-array-fotranmocoz
 
90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotranmocoz
 
Function
FunctionFunction
Function
Achmad Solichin
 
Desain Kompiler - Kode Antara
Desain Kompiler - Kode AntaraDesain Kompiler - Kode Antara
Desain Kompiler - Kode Antara
Irfannur Diah
 
Dasar c++ input, proses, output
Dasar c++ input, proses, output Dasar c++ input, proses, output
Dasar c++ input, proses, output
Fazar Ikhwan Guntara
 
about C Languages
about C Languagesabout C Languages
about C Languages
S N M P Simamora
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
ahmad haidaroh
 
soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1
Budi Kurniawan
 
Modularisasi – function dalam c++
Modularisasi – function dalam c++Modularisasi – function dalam c++
Modularisasi – function dalam c++
Akmal Fajar
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantikyuster92
 
C programming language notes (7)
C programming language notes (7)C programming language notes (7)
C programming language notes (7)nakomuri
 
Diktat penuntun praktikum fortran
Diktat penuntun praktikum fortranDiktat penuntun praktikum fortran
Diktat penuntun praktikum fortran
radikaljakas
 
Pertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & PemrogramanPertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & Pemrograman
Tri Retna
 
Laporan Praktikum 3 DPK Operator
Laporan Praktikum 3 DPK OperatorLaporan Praktikum 3 DPK Operator
Laporan Praktikum 3 DPK Operator
Hanifah Has
 
Week 3-fungsi-header
Week 3-fungsi-headerWeek 3-fungsi-header
Week 3-fungsi-header
Arif Dzikrullah
 
modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
Eko Widyanto Napitupulu
 

What's hot (20)

Algoritma dan Pemrograman
Algoritma dan Pemrograman Algoritma dan Pemrograman
Algoritma dan Pemrograman
 
Function
FunctionFunction
Function
 
90594480 bab-4-larik-array-fotran
90594480 bab-4-larik-array-fotran90594480 bab-4-larik-array-fotran
90594480 bab-4-larik-array-fotran
 
Asistensi 1 mod 3
Asistensi 1 mod 3Asistensi 1 mod 3
Asistensi 1 mod 3
 
90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran
 
Function
FunctionFunction
Function
 
Desain Kompiler - Kode Antara
Desain Kompiler - Kode AntaraDesain Kompiler - Kode Antara
Desain Kompiler - Kode Antara
 
Dasar c++ input, proses, output
Dasar c++ input, proses, output Dasar c++ input, proses, output
Dasar c++ input, proses, output
 
about C Languages
about C Languagesabout C Languages
about C Languages
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
 
soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1
 
3 adp operator
3   adp operator3   adp operator
3 adp operator
 
Modularisasi – function dalam c++
Modularisasi – function dalam c++Modularisasi – function dalam c++
Modularisasi – function dalam c++
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantik
 
C programming language notes (7)
C programming language notes (7)C programming language notes (7)
C programming language notes (7)
 
Diktat penuntun praktikum fortran
Diktat penuntun praktikum fortranDiktat penuntun praktikum fortran
Diktat penuntun praktikum fortran
 
Pertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & PemrogramanPertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & Pemrograman
 
Laporan Praktikum 3 DPK Operator
Laporan Praktikum 3 DPK OperatorLaporan Praktikum 3 DPK Operator
Laporan Praktikum 3 DPK Operator
 
Week 3-fungsi-header
Week 3-fungsi-headerWeek 3-fungsi-header
Week 3-fungsi-header
 
modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
 

Similar to Pengenalan konsep pemrograman c++

Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
Devi Apriansyah
 
Pascal (Pengenalan).pdf
Pascal (Pengenalan).pdfPascal (Pengenalan).pdf
Pascal (Pengenalan).pdf
DesaSumbung
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
Kelinci Coklat
 
Laporan praktikum dpk modul 1
Laporan praktikum dpk modul 1Laporan praktikum dpk modul 1
Laporan praktikum dpk modul 1
Nur Kholifah Hidayah
 
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMANPENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
Nur Kholifah Hidayah
 
Pascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdfPascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdf
Jurnal IT
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++windi1
 
fungsi algoritma
fungsi algoritmafungsi algoritma
fungsi algoritma
Dhan junkie
 
Pertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman CPertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman CNurdin Al-Azies
 
Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Perkenalan Pemrograman C++
Perkenalan Pemrograman C++
Sparisoma Viridi
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
STMIK AKAKOM
 
Laporan praktikum modul 5
Laporan praktikum modul 5Laporan praktikum modul 5
Laporan praktikum modul 5
Devi Apriansyah
 
Pengenalan Bahasa C
Pengenalan Bahasa CPengenalan Bahasa C
Pengenalan Bahasa Cguestaf3e8f4
 
Pengantar R
Pengantar RPengantar R
Pengantar R
Raden Maulana
 
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaDevandy Enda
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & Pemrograman
Tri Retna
 
Modul c++
Modul c++Modul c++
Modul c++
Kiki MochRifki
 

Similar to Pengenalan konsep pemrograman c++ (20)

Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
Bab ii
Bab iiBab ii
Bab ii
 
Pascal (Pengenalan).pdf
Pascal (Pengenalan).pdfPascal (Pengenalan).pdf
Pascal (Pengenalan).pdf
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
 
Laporan praktikum dpk modul 1
Laporan praktikum dpk modul 1Laporan praktikum dpk modul 1
Laporan praktikum dpk modul 1
 
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMANPENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
 
Pascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdfPascal - Pendahuluan1.txt - Notepad.pdf
Pascal - Pendahuluan1.txt - Notepad.pdf
 
Pengenalan bahasa C++
Pengenalan bahasa C++Pengenalan bahasa C++
Pengenalan bahasa C++
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Tugas alogaritma
Tugas alogaritmaTugas alogaritma
Tugas alogaritma
 
fungsi algoritma
fungsi algoritmafungsi algoritma
fungsi algoritma
 
Pertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman CPertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman C
 
Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Perkenalan Pemrograman C++
Perkenalan Pemrograman C++
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 
Laporan praktikum modul 5
Laporan praktikum modul 5Laporan praktikum modul 5
Laporan praktikum modul 5
 
Pengenalan Bahasa C
Pengenalan Bahasa CPengenalan Bahasa C
Pengenalan Bahasa C
 
Pengantar R
Pengantar RPengantar R
Pengantar R
 
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada java
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & Pemrograman
 
Modul c++
Modul c++Modul c++
Modul c++
 

Recently uploaded

Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
gloriosaesy
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
safitriana935
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
astridamalia20
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Galang Adi Kuncoro
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
gloriosaesy
 
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdfINDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
NurSriWidyastuti1
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
SEMUELSAMBOKARAENG
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
erlita3
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
asyi1
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
DEVI390643
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
AdePutraTunggali
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
EkoPutuKromo
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
UmyHasna1
 
Kisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docxKisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docx
irawan1978
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
MirnasariMutmainna1
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
d2spdpnd9185
 
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
jodikurniawan341
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
agusmulyadi08
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
MuhammadBagusAprilia1
 

Recently uploaded (20)

Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
 
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdfINDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
 
Kisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docxKisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docx
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
 
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
 

Pengenalan konsep pemrograman c++

  • 1. PEMROGRAMAN TERSTRUKTUR (dalam bahasa C) STTQ - 2010 1
  • 2. Sejarah Bahasa C  Bersumber dari bahasa BCPL (Martin Richards -1967) dan B (Ken Thompson -1970)  C diciptakan Dennis Ritchie dari Bell Laboratories pada tahun 1972 dan diimplementasikan pada komputer DEC PDP-11  Pada 1978 Dennis Ritchie dan Brian Kernighan kemudian mempublikasikan buku The C Programming Language yang semakin memperluas pemakaiannya dan dijadikan standar oleh ANSI (American National Standard Institute) pada tahun 1989  C kemudian dikembangkan lagi oleh Bjarne Stroustrup menjadi C++ (1986)  C dan/atau C++ banyak digunakan (sehingga menjadi ‘standar’) sebagai bahasa pemrograman untuk membuat sistem operasi STTQ - 2010 2
  • 3. Proses penerjemahan bahasa C STTQ - 2010 3 Editor Preprocessor Compiler Linker Loader CPU DISK .c .h .obj .out (UNIX) .exe (MS) Primary Memory
  • 4. Program sederhana I [1]  Contoh program untuk menampilkan sebaris teks Selamat menggunakan bahasa C! pada layar: 1. /* Program pertama dalam bahasa C */ 2. #include <stdio.h> 3. /* fungsi main mulai eksekusi program */ 4. int main( void ) 5. { 6. printf( “Selamat menggunakan bahasa C!n" ); 7. return 0; /* indikasi program berakhir dengan sukses */ 8. } /* akhir fungsi main */ Selamat menggunakan bahasa C! Program Output STTQ - 2010 4
  • 5. Program sederhana I [2]  Komentar diawali dengan /* dan diakhiri dengan */ (seperti terdapat pada baris- 1,3,7,dan 8), komentar tidak dipedulikan/diproses oleh compiler. Bermanfaat untuk memudahkan pembacaan dan pemahaman sebuah program.  Baris dengan awalan # (seperti pada baris-2) diproses oleh preprocessor C sebelum program dikompilasi. Baris tersebut menunjukkan bahwa preprocessor harus mengikutsertakan standard input/output header (stdio.h) pada program.Header ini mengandung informasi yang digunakan compiler untuk mengkompilasi pemanggilan fungsi standar input/output seperti printf (baris-6).  int main() merupakan fungsi utama program dan selalu merupakan bagian dari program dalam C, karena berjalannya program/instruksi ditentukan oleh fungsi ini. int berarti fungsi main mengembalikan nilai integer  Tanda kurung kurawal buka { dan tutup } merupakan penanda body dari sebuah fungsi atau sering disebut juga block fungsi/program.  printf( “Selamat menggunakan bahasa C!n" ); menghasilkan aksi yaitu menampilkan teks “Selamat menggunakan bahasa C!”  return 0; selalu diikutsertakan pada akhir fungsi main. Keyword return untuk menyatakan keluar dari suatu fungsi, dan angka 0 menunjukkan nilai yang dihasilkan/dikembalikan oleh fungsi tersebut. STTQ - 2010 5
  • 6. Program sederhana I [3] 1. /* Program pertama dalam bahasa C */ 2. #include <stdio.h> 3. /* fungsi main mulai eksekusi program */ 4. int main( void ) 5. { 6. printf( “Selamat menggunakan bahasa C!n" ); 7. return 0; /* indikasi program berakhir dengan sukses */ 8. } /* akhir fungsi main */ komentar STTQ - 2010 6 preprocessor main function statement function body
  • 7. Program sederhana I [4]  Karakter escape Karakter Deskripsi n Pindah kursor ke baris baru t Horisontal tab, pindah kursor ke posisi tab berikutnya a Membunyikan bel sistem/beep Mencetak/menampilkan (backslash) ” Mencetak/menampilkan ” STTQ - 2010 7
  • 8. Program sederhana I [5]  Modifikasi 1: mencetak 1 baris dengan 2 buah perintah printf 1 /* Fig. 2.3: fig02_03.c 2 Printing on one line with two printf statements */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 printf( "Welcome " ); 9 printf( "to C!n" ); 10 11 return 0; /* indicate that program ended successfully */ 12 13 } /* end function main */ Welcome to C! Program STTQ - 2010 8 Output
  • 9. Program sederhana I [6]  Modifikasi 2: mencetak banyak baris dengan sebuah perintah printf 1 /* Fig. 2.4: fig02_04.c 2 Printing multiple lines with a single printf */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 printf( "WelcomentonC!n" ); 9 10 return 0; /* indicate that program ended successfully */ 11 12 } /* end function main */ STTQ - 2010 9 Welcome to C! Program Output
  • 10. Program sederhana II [1] Membaca 2 buah bilangan bulat dari keyboard dan menampilkan hasil penjumlahannya STTQ - 2010 10
  • 11. 1 /* Fig. 2.5: fig02_05.c 2 Addition program */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 int integer1; /* first number to be input by user */ 9 int integer2; /* second number to be input by user */ 10 int sum; /* variable in which sum will be stored */ 11 12 printf( "Enter first integern" ); /* prompt */ 13 scanf( "%d", &integer1 ); /* read an integer */ 14 15 printf( "Enter second integern" ); /* prompt */ 16 scanf( "%d", &integer2 ); /* read an integer */ 17 18 sum = integer1 + integer2; /* assign total to sum */ 19 20 printf( "Sum is %dn", sum ); /* print sum */ 21 22 return 0; /* indicate that program ended successfully */ 23 24 } /* end function main */ STTQ - 2010 11  Enter first integer 45 Enter second integer 72 Sum is 117 Program Output
  • 12. Program sederhana II [2]  Baris ke-1 hingga ke-7 serupa dengan program I  int integer1, integer2, sum;  Pendefinisian variable-variabel  Variabel: lokasi di memori tempat sebuah nilai disimpan  int berarti variabel dapat menyimpan bilangan bulat (-1, 3, 0, 47)  Nama-nama variabel (identifier)  integer1, integer2, sum  Identifier: mengandung huruf,angka (tidak boleh dimulai dengan angka) dan underscores( _ )  Case sensitive (huruf besar dan kecil dibedakan)  Deklarasi variabel harus muncul sebelum eksekusi statement yang menggunakannya  Jika eksekusi statement mengacu kepada variabel yang belum dideklarasikan maka akan menghasilkan syntax (compiler) error STTQ - 2010 12
  • 13. Program sederhana II [3]  scanf( "%d", &integer1 );  Mengambil sebuah nilai dari user  scanf menggunakan standar input (biasanya keyboard)  scanf statement ini memiliki dua buah argumen  %d - menunjukkan data yang diambil adalah bilangan bulat desimal  &integer1 – berlokasi di memori untuk menyimpan nilai variabel tsb  Tanda & dapat membingungkan di awal – untuk saat ini sertakan pada nama variabel pada statement scanf  Ketika program dieksekusi user merespon statement scanf dengan mengetik sebuah bilangan kemudian menekan tombol enter (return)  = (assignment operator)  Assigns (memberi) sebuah nilai kepada sebuah variabel  Merupakan sebuah operator biner (memiliki dua buah operand) sum = variable1 + variable2; sum memperoleh hasil dari variable1 + variable2;  Variabel penerima nilai berada di sebelah kiri STTQ - 2010 13
  • 14. Program sederhana II [4]  printf( "Sum is %dn", sum );  Serupa dengan pada scanf  %d berarti bilangan bulat desimal akan ditampilkan/dicetak  Nilai variabel sum menentukan bilangan bulat yang akan ditampilkan/dicetak  Perhitungan dapat langsung dilakukan dalam statement printf printf( "Sum is %dn", integer1 + integer2 ); STTQ - 2010 14
  • 15. Konsep Memori [1] STTQ - 2010 15  Variabel  Nama-nama variabel berkaitan dengan lokasi-lokasi di memori komputer  Setiap variabel memiliki sebuah nama, sebuah tipe, sebuah ukuran dan sebuah nilai  Ketika sebuah nilai baru diberikan pada sebuah variabel (misalnya melalui scanf) maka nilai yang lama akan diganti (dan hilang)  Membaca variabel dari memori tidak akan mengubah nilainya  Representasi visual: integer 1 45
  • 16. Konsep Memori [2] integer 1 45 integer 2 72 integer 1 45 integer 2 72 sum 117 STTQ - 2010 16
  • 17. Aritmatika [1] STTQ - 2010 17  Perhitungan Aritmatika  Gunakan * untuk perkalian dan / untuk pembagian  Pembagian bilangan bulat membuang sisa pembagian  7 / 5 dievaluasi menjadi 1  Operator Modulus (%) menghasilkan sisa pembagian  7 % 5 dievaluasi menjadi 2  Operator precedence  Beberapa operator aritmatika lebih diprioritaskan (dihitung lebih dahulu) dibandingkan operator lainnya (misalkan perkalian dan pembagian didahulukan dibandingkan penjumlahan dan pengurangan)  Gunakan tanda kurung jika diperlukan  Contoh: Hitung nilai rata-rata dari variabel-variabel a, b and c  Jangan gunakan: a + b + c / 3  Gunakan: (a + b + c ) / 3
  • 18. Aritmatika [2]  Operator-operator aritmatika: C operation Arithmetic operator Algebraic expression C expression Addition + f + 7 f + 7 Subtraction - p – c p - c Multiplication * bm b * m Division / x / y x / y Modulus % r mod s r % s  Aturan precedence operator: Operator(s) Operation(s) Order of evaluation (precedence) () Parentheses Evaluated first. If the parentheses are nested, the expression in the innermost pair is evaluated first. If there are several pairs of parentheses “on the same level” (i.e., not nested), they are evaluated left to right. *, /, or % Multiplication,Division, STTQ - 2010 18 Modulus Evaluated second. If there are several, they are evaluated left to right. + or - Addition Subtraction Evaluated last. If there are several, they are evaluated left to right.
  • 19. Aritmatika [3] Step 1. y = 2 * 5 * 5 + 3 * 5 + 7; 2 * 5 is 10 Step 2. y = 10 * 5 + 3 * 5 + 7; 10 * 5 is 50 Step 3. y = 50 + 3 * 5 + 7; Step 4. y = 50 + 15 + 7; Step 5. y = 65 + 7; STTQ - 2010 19 Step 6. y = 72; 3 * 5 is 15 50 + 15 is 65 65 + 7 is 72 (Leftmost multiplication) (Leftmost multiplication) (Multiplication before addition) (Leftmost addition) (Last addition) (Last operation—place 72 in y)
  • 20. Pengambilan Keputusan: Persamaan dan Operator Relasional [1] STTQ - 2010 20  Eksekusi statement  Menghasilkan aksi-aksi (penghitungan, input/output data)  Menghasilkan keputusan  Ingin menampilkan “lulus" or “gagal" berdasarkan suatu syarat nilai tertentu  if control statement  Versi sederhana dahulu, lebih detail kemudian  Jika suatu kondisi true, maka body statement if dieksekusi  0 adalah false, non-zero adalah true  Kontrol terhadap perintah selanjutnya setelah struktur if  Keywords  Kata-kata khusus yang digunakan oleh bahasa C  Tidak dapat digunakan sebagai nama variabel atau identifier
  • 21. Pengambilan Keputusan: Persamaan dan Operator Relasional [2] STTQ - 2010 21 Standard algebraic equality operator or relational operator C equality or relational operator Example of C condition Meaning of C condition Equality Operators = == x == y x is equal to y ¹ != x != y x is not equal to y Relational Operators > > x > y x is greater than y < < x < y x is less than y >= >= x >= y x is greater than or equal to y <= <= x <= y x is less than or equal to y
  • 22. 1 /* Fig. 2.13: fig02_13.c 2 Using if statements, relational 3 operators, and equality operators */ 4 #include <stdio.h> 5 6 /* function main begins program execution */ 7 int main() 8 { 9 int num1, /* first number to be read from user */ 10 int num2; /* second number to be read from user */ 11 12 printf( "Enter two integers, and I will tell youn" ); 13 printf( "the relationships they satisfy: " ); 14 15 scanf( "%d%d", &num1, &num2 ); /* read two integers */ 16 17 if ( num1 == num2 ) { 18 printf( "%d is equal to %dn", num1, num2 ); 19 } /* end if */ 20 21 if ( num1 != num2 ) { 22 printf( "%d is not equal to %dn", num1, num2 ); 23 } /* end if */ 24 STTQ - 2010 22
  • 23. 25 if ( num1 < num2 ) { 26 printf( "%d is less than %dn", num1, num2 ); 27 } /* end if */ 28 29 if ( num1 > num2 ) { 30 printf( "%d is greater than %dn", num1, num2 ); 31 } /* end if */ 32 33 if ( num1 <= num2 ) { 34 printf( "%d is less than or equal to %dn", num1, num2 ); 35 } /* end if */ 36 37 if ( num1 >= num2 ) { 38 printf( "%d is greater than or equal to %dn", num1, num2 ); 39 } /* end if */ 40 41 return 0; /* indicate that program ended successfully */ 42 43 } /* end function main */ Enter two integers, and I will tell you the relationships they satisfy: 3 7 3 is not equal to 7 3 is less than 7 3 is less than or equal to 7 STTQ - 2010 23 Program Output
  • 24. Enter two integers, and I will tell you the relationships they satisfy: 22 12 22 is not equal to 12 22 is greater than 12 22 is greater than or equal to 12 Enter two integers, and I will tell you the relationships they satisfy: 7 7 7 is equal to 7 7 is less than or equal to 7 7 is greater than or equal to 7 STTQ - 2010 24 Program Output (lanjutan)
  • 25. Pengambilan Keputusan: Persamaan dan Operator Relasional [3] Operators Associativity * / % left to right + - left to right < <= > >= left to right == != left to right = right to left Precedence dan associativity dari operator-operator STTQ - 2010 25
  • 26. Pengambilan Keputusan: Persamaan dan Operator Relasional [4] STTQ - 2010 26 Keywords auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while Reserved keywords pada bahasa C
  • 27. Algoritma dan Pseudocode  Algoritma: urutan langkah-langkah yang dapat digunakan untuk memecahkan suatu masalah  Pseudocode:  Bahasa buatan yang bersifat informal yang dapat membantu untuk mengembangkan algoritma  Serupa dengan bahasa sehari-hari  Membantu mempermudah penulisan program; dengan menggunakan statement-statement yang dapat dieksekusi, mempermudah konversi ke bahasa pemrograman STTQ - 2010 27
  • 28. Struktur Kontrol  Semua program ditulis dalam 3 macam bentuk struktur kontrol:  Sequence atau berturutan: struktur ini tersedia secara built-in. Secara default program dieksekusi secara berturutan sesuai urutan perintah  Selection atau pilihan: ada 3 macam dalam bahasa C: if, if…else, STTQ - 2010 28 dan switch  Repetition atau pengulangan: ada 3 macam dalam bahasa C: while, do…while, dan for  Flowchart  Representasi grafis dari algoritma  Menggunakan simbol-simbol khusus yang dihubungkan dengan garis beranak panah  Simbol kotak melambangkan aksi  Simbol oval melambangkan awal dan akhir suatu program atau blok program  Simbol berlian melambangkan keputusan/pilihan
  • 29. Selection Control [1] (if) grade >= 60 print “Passed” STTQ - 2010 29  Statement if:  Digunakan untuk seleksi suatu kondisi  Contoh pseudocode: If student’s grade is greater than or equal to 60 Print “Passed”  Contoh Flowchart: true false
  • 30. Selection Control [2] (if) STTQ - 2010 30  Jika kondisi true  Statement Print dieksekusi dan program dilanjutkan ke statement berikutnya  Jika kondisi false  Statement Print diabaikan dan program dilanjutkan ke statement berikutnya  Dalam bahasa C: if ( grade >= 60 ) printf( "Passedn" );
  • 31. Selection Control [3] (if… else) grade >= 60 STTQ - 2010 31  Statement if…else:  Menspesifikasikan aksi baik untuk kondisi true maupun untuk kondisi false  Contoh pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” else Print “Failed”  Contoh Flowchart: false true print “Failed” print “Passed”
  • 32. Selection Control [4] (if… else) STTQ - 2010 32  Dalam C : if ( grade >= 60 ) printf( "Passedn"); else printf( "Failedn");  Ternary conditional operator (?:)  Memerlukan tiga argumen (kondisi, nilai jika true, nilai jika false)  Contoh di atas dapat ditulis sbb: printf( "%sn", grade >= 60 ? "Passed" : "Failed" );  Atau dapat ditulis sbb: grade >= 60 ? printf( “Passedn” ) : printf( “Failedn” );
  • 33. Selection Control [5] (if… else)  Statement if…else bertingkat/bersarang:  Digunakan untuk menguji banyak kondisi dimana menempatkan statement seleksi if…else di dalam statement if…else  Sekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikan  Contoh pseudocode: If student’s grade is greater than or equal to 90 Print “A” else If student’s grade is greater than or equal to 80 Print “B” else If student’s grade is greater than or equal to 70 Print “C” else If student’s grade is greater than or equal to 60 STTQ - 2010 33 Print “D” else Print “F”
  • 34. Selection Control [6] (if… else) STTQ - 2010 34  Compound statement  Ada lebih dari satu statement/aksi yang harus dieksekusi setelah suatu kondisi dipenuhi  Sering disebut juga blok karena ditandai dengan pasangan { dan }  Contoh: if ( grade >= 60 ) printf( "Passed.n" ); else { printf( "Failed.n" ); printf( "You must take this course again.n" ); }  Tanpa tanda kurung kurawal, statement printf( "You must take this course again.n" ); Akan dieksekusi secara otomatis.
  • 35. Selection Control [7] (switch)  Multiple-Selection Statement switch:  Berguna pada waktu sebuah variabel atau ekspresi diuji terhadap semua nilai yang mungkin dan masing-masing mengambil aksi yang berbeda STTQ - 2010 35  Format penulisan:  Sederetan label case dan opsional default case switch ( value ){ case '1': actions case '2': actions default: actions }  break; keluar dari statement
  • 36. Selection Control [8] (switch)  Flowchart statement switch: case a case a action(s) break case b case b action(s) break case z case z action(s) break STTQ - 2010 36 true false . . . false false true true default action(s)
  • 37. Repetition Control [1] (while)  Struktur pengulangan structure  Programmer menentukan aksi yang akan diulang selama kondisi tetap STTQ - 2010 37 true  Psuedocode: While there are more items on my shopping list Purchase next item and cross it off my list  while loop diulang hingga kondisi menjadi false  Contoh: int product = 2; while ( product <= 1000 ) product = 2 * product;
  • 38. Repetition Control [2] (while) true product <= 1000 product = 2 * product false STTQ - 2010 38 • Flowchart:
  • 39. Repetition Control [3] (while)  Pengulangan yang dikontrol sebuah counter  Loop diulang hingga counter mencapai angka tertentu  Disebut juga definite repetition karena jumlah pengulangan dapat kita STTQ - 2010 39 ketahui  Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. Nilai kuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata kuis tersebut.  Pseudocode: Set total to zero Set grade counter to one While grade counter is less than or equal to ten Input the next grade Add the grade into the total Add one to the grade counter Set the class average to the total divided by ten Print the class average
  • 40. 1 /* Fig. 3.6: fig03_06.c 2 Class average program with counter-controlled repetition */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 int counter; /* number of grade to be entered next */ 9 int grade; /* grade value */ 10 int total; /* sum of grades input by user */ 11 int average; /* average of grades */ 12 13 /* initialization phase */ 14 total = 0; /* initialize total */ 15 counter = 1; /* initialize loop counter */ 16 17 /* processing phase */ 18 while ( counter <= 10 ) { /* loop 10 times */ 19 printf( "Enter grade: " ); /* prompt for input */ 20 scanf( "%d", &grade ); /* read grade from user */ 21 total = total + grade; /* add grade to total */ 22 counter = counter + 1; /* increment counter */ 23 } /* end while */ 24 STTQ - 2010 40
  • 41. 25 /* termination phase */ 26 average = total / 10; /* integer division */ 27 28 /* display result */ 29 printf( "Class average is %dn", average ); 30 31 return 0; /* indicate program ended successfully */ 32 33 } /* end function main */ STTQ - 2010 41 Enter grade: 98 Enter grade: 76 Enter grade: 71 Enter grade: 87 Enter grade: 83 Enter grade: 90 Enter grade: 57 Enter grade: 79 Enter grade: 82 Enter grade: 94 Class average is 81
  • 42. Repetition Control [4] (while)  Pengulangan yang dikontrol sebuah sentinel  Sentinel: tanda berhenti untuk keluar dari suatu loop, biasanya berupa karakter, angka, atau tombol di keyboard sebagai tanda. Misalnya ‘Q’ untuk exit.  Loop diulang hingga mencapai sentinel tersebut  Jumlah pengulangan belum dapat kita ketahui secara pasti STTQ - 2010 42
  • 43. 1 /* Fig. 3.8: fig03_08.c 2 Class average program with sentinel-controlled repetition */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 int counter; /* number of grades entered */ 9 int grade; /* grade value */ 10 int total; /* sum of grades */ 11 12 float average; /* number with decimal point for average */ 13 14 /* initialization phase */ 15 total = 0; /* initialize total */ 16 counter = 0; /* initialize loop counter */ 17 18 /* processing phase */ 19 /* get first grade from user */ 20 printf( "Enter grade, -1 to end: " ); /* prompt for input */ 21 scanf( "%d", &grade ); /* read grade from user */ 22 23 /* loop while sentinel value not yet read from user */ 24 while ( grade != -1 ) { 25 total = total + grade; /* add grade to total */ 26 counter = counter + 1; /* increment counter */ 27 STTQ - 2010 43
  • 44. 28 printf( "Enter grade, -1 to end: " ); /* prompt for input */ 29 scanf("%d", &grade); /* read next grade */ 30 } /* end while */ 31 32 /* termination phase */ 33 /* if user entered at least one grade */ 34 if ( counter != 0 ) { 35 36 /* calculate average of all grades entered */ 37 average = ( float ) total / counter; 38 39 /* display average with two digits of precision */ 40 printf( "Class average is %.2fn", average ); 41 } /* end if */ 42 else { /* if no grades were entered, output message */ 43 printf( "No grades were enteredn" ); 44 } /* end else */ 45 46 return 0; /* indicate program ended successfully */ 47 48 } /* end function main */ STTQ - 2010 44
  • 45. STTQ - 2010 45 Enter grade, -1 to end: 75 Enter grade, -1 to end: 94 Enter grade, -1 to end: 97 Enter grade, -1 to end: 88 Enter grade, -1 to end: 70 Enter grade, -1 to end: 64 Enter grade, -1 to end: 83 Enter grade, -1 to end: 89 Enter grade, -1 to end: -1 Class average is 82.50 Enter grade, -1 to end: -1 No grades were entered