Pemrograman C-2

CONTROL STATEMENT PADA PEMROGRAMAN C    

Beberapa program yang telah dipelajari dalam Bab I proses pengeksekusian dimulai pada instruksi pertama pada fungsi main dan kemudian mengeksekusi setiap indtruksi yang berikutnya secara berurut. Apabila program semakin kompleks, adakalanya program tersebut harus melakukan serangkaian instruksi apabila suatu kondisi benar dan mungkin melaksanakan instruksi lainnya apabila kondisinya tidak benar. Program semacam ini disebut melakukan pemrosesan bersyarat. Untuk melakukan pemrosesan bersyarat, program tersebut akan mengevaluasi suatu kondisi yang akan memberikan hasil benar atau salah. Untuk penyeselesaian kasus semacam ini pemrograman C menyediakan pernyataan if, if – else dan  switch.

Berdasarkan hasil dari pengujian terhadap suatu kondisi, sebuah program mungkin akan mengeksekusi atau tidak mengeksekusi serangkaian instruksi. Apabila program menjadi kompleks, adakalanya program tersebut harus mengulangi serangkaian instruksi beberapa kali atau sampai suatu kondisi tertentu terpenuhi. Apabila program mengulangi satu pernyataan atau lebih sampai suatu kondisi yang ditentukan terpenuhi, maka program tersebut dikatakan melakukan pemrosesan pengulangan (iterative). Setiap program yang melalui pernyataan-pernyataan tersebut (proses pengulangan) disebut sebuah iterasi. Untuk penyeselesaian kasus semacam ini pemrograman C menyediakan pernyataan for, while  dan  do-while.

2.1.  Pengujian Sebuah Kondisi dangan Operator IF

Format if untuk pengujian sebuah kondisi secara umum adalah sebagai berikut :

If (kondisi) pernyataan;

Kondisi yang akan dievaluasi oleh pernyataan if harus dituliskan di dalam tanda kurung dan harus memiliki nilai benar atau salah. Apabila kondisi tersebut benar, maka compiler akan melaksanakan pernyataan yang langsung ada dibawahnya. Pernyataan if dibawah ini sebagai contoh yang akan menguji apakah suatu nilai yang kita masukkan melalui keyboard positif atau negative.

1.   #include “stdio.h”

main()

{

int num;

printf(“Masukkan Sebuah Nilai : ”);

scanf( “%d”, &num);

if(num > 0) printf(“Nilai anda positif”);

if(num < 0) printf(“Nilai anda negatif”);

}

 

TUGAS 2.1

Cobalah listing program berikut ini dan amati serta jelaskan hasil yang anda peroleh. Pada program dibawah ini terdapat beberapa kesalahan yang harus anda perbaiki, perbaiki dan kemudian jalankan lagi.

1.   #include “stdio.h”

main()

{

int umur = 21;

float tinggi = 165.0;

float berat = 65.0;

 

printf( “ Usia Saiful Bukhori =  %d”, umur);

printf(“Berapa usia anda ? : ”);

scanf( “%d”, &usia);

if (usia > umur) printf(“usia anda lebih tua dibandingkan saiful bukhori”);

if (usia < umur) printf(“usia anda lebih muda dibandingkan saiful bukhori”);

if (usia == umur) printf(“usia anda sama dengan saiful bukhori”);

 

printf( “ Tinggi Saiful Bukhori =  %f”, tinggi);

printf(“Berapa tinggi anda ? : ”);

scanf( “%f, &duwur);

if (duwur > umur) printf(“anda lebih tinggi dibandingkan saiful bukhori”);

if (duwur < umur) printf(“anda lebih rendah saiful bukhori”);

if (duwur == umur) printf(“tinggi anda sama dengan saiful bukhori”);

 

printf( “ Berat Saiful Bukhori =  %f”, berat);

printf(“Berapa berat anda ? : ”);

scanf( “%d”, &abot);

if (abot > umur) printf(“Anda lebih berat dari pada saiful bukhori”);

if (abot < umur) printf(“Anda lebih ringan dari saiful bukhori”);

if (abot == umur) printf(“Berat anda sama dengan saiful bukhori”);

}

2.2.  Pengujian Sebuah Kondisi dangan Operator IF – else

Dalam pemrograman C, kita dapat menambahkan statement else kepada statement if yang digunakan dalam program. Bentuk umum dari pasangan statement ini adalah sebagai berikut :

if (expression) statement1;

else statement2;

Apabila ekspresi benar, maka target dari if akan dieksekusi, dan bagian else akan diabaikan, akan tetapi apabila ekspresi salah, maka target if akan dilewati dan akan mengeksekusi pada target bagian else.

Penggunaan pernyataan if-else akan dapat membingungkan apabila pemrogram tidak terus memantau pernyataan else yang berhubungan dengan suatu if. Sebagai contoh pada potongan program sebagai berikut :

Test-score = 100;

Current_grade = ‘B’;

If (test_score >= 90)

   If (current_grade == ‘A’)

       printf( “Another A for an A student\n”);

else

        printf( “Should have worked harder\n”);

 

Pernyataan if yang pertama menguji apakah nilai tes siswa lebih besar atau sama dengan 90. Apabila kondisi ini terpenuhi, pernyataan if yang kedua akan menguji apakah siswa telah memiliki tingkat A, jika terpenuhi maka akan menampilkan sebuah pesan. Berdasarkan indentasi yang ada, pernyataan else akan menampilkan pesan apabila nilai tesnya kurang dari 90. Sayangnya, bukan demikian cara kerja program ini. Pada saat diletakkan pernyataan else di dalam program, compiler C akan menggabungkan else dengan if terdekat yang tidak memiliki else, sehingga meskipun nilai tesnya 100, potongan program di atas akan menampilkan pesan meminta agar siswa tersebut belajar lebih tekun, tentu saja ini tidak akan memenuhi kebutuhan desain program yang seharusnya hanya menampilkan pesan apabila nilai siswa lebih kecil dari 90. Untuk menghindari kesalahan tersebut, maka diupayakan agar compiler C tidak menggabungkan pernyataan else dengan if yang salah. Cara yang dapat ditempuh dalam kasus ini dapat dilakukan dengan meletakkan pernyataan if yang kedua dalam tanda kurung kurawal dan membentuk sebuah pernyataan majemuk seperti dalam penggalan program berikut :

Test-score = 100;

Current_grade = ‘B’;

If (test_score >= 90)

{

   If (current_grade == ‘A’)

       printf( “Another A for an A student\n”);

}

else

        printf( “Should have worked harder\n”);

 

TUGAS 2.2

Cobalah listing program berikut ini dan amati serta jelaskan hasil yang anda peroleh

2.   #include “stdio.h”

main()

{

int num1, num2;

printf ( “ Masukkan Nilai Pertama/yang akan dibagi :”);

scanf( “%d”, &num1);

 

printf ( “ Masukkan Nilai Kedua/pembagi :”);

scanf( “%d”, &num2);

 

if (num2 == 0) printf(“Tidak dapat doing dibagi dengan nol”);

else printf (“Jawabannya adalah : %d”, num1 / num2);

}

 

2.3.  Penggunaan Perintah for untuk Pengulangan Tertentu

Salah satu operasi yang paling sering dilakukan oleh program adalah mengulangi serangkaian perintah dengan jumlah pengulangan tertentu. Sebagai contoh mungkin diperlukan untuk menghitung nilai test untuk 50 siswa, untuk membatasi jumlah stok barang, maksimum 100 tiap barang dan lain-lain. Untuk keperluan tersebut maka pemrograman C menyediakan pernyataan for yang memiliki format umum sebagai berikut :

For (inisialisasi; conditional_test ; increment)

Pernyataan;

Apabila program mengulangi perintah (melalui kalang for) dengan jumlah pengulangan tertentu, biasanya akan digunakan sebuah variabel yang disebut variabel control yang bertugas menghitung jumlah pengulangan yang harus dilakukan terhadap pernyataan-pernyataan tersebut. Pernyataan for memiliki empat bagian  yaitu bagian inisialisasi yang menugaskan nilai awal ke variabel kendali (bianya diawali 0 atau 1), conditional_test yang menguji nilai variabel kendali untuk menentukan apakah pernyataan tersebut telah dilakukan berulang kali sejumlah yang dikehendaki (sampai sesuai nilai pembatas). Bagian increment yang menambahkan nilai 1 ke variabel kendali setiap kali pernyataan tersebut dijalankan. Akhirnya bagian kalang for yang terakhir adalah sebuah pernyataan atau beberapa pernyataan yang akan diulang. Sebagai contoh sederhana perhatikan penggunaan kalang for untuk mencetak nilai 1 sampai 10 pada screen.

#include “stdio.h”

main()

{

int num;

for(num=1; num<11; num++) printf(“%d”, num);

printf ( “ Terminating”);

}

TUGAS 2.3

Cobalah listing program berikut ini dan amati serta jelaskan hasil yang anda peroleh

1.   #include “stdio.h”

main()

{

int counter;

for (counter = 1; counter <=5; counter++)

printf ( “ %d”, counter);

printf(“\nStarting second loop\n”);

 

for (counter = 1; counter <=10; counter++)

printf ( “ %d”, counter);

printf(“\nStarting third loop\n”);

 

for (counter = 100; counter <=10; counter++)

printf ( “ %d”, counter);

}

2.4.  Pembacaan Sebuah Karakter dari Keyboard

Pada pembahahasan diatas telah dijelaskan tentang beberapa control statement antara lain adalah If, If-else dan for. Pada bagian selanjutnya ini akan dibahas tentang control statement secara lebih mendalam dan beberapa control statement  yang lain yang belum dibahas, akan tetapi sebelum pembahasan tantang control statement di perdalam terlebih dahulu pada bagian ini akan dibahas tentang proses pembacaan sebuah karakter dari keyboard yang nantinya akan digunakan pada contoh-contoh yang dipakai pada control statement.

Pada aplikasi pemrograman C yang paling sederhanapun seringkali diperlukan pembacaan karakter dari keyboard. Karakter yang dibaca barangkali berhubungan dengan pilihan menu, tanggapan ya atau tidak atau bahkan beberapa huruf untuk nama yang disebutkan. Cara yang paling sederhana dan banyak dipakai untuk melakukan operasi masukan karakter adalah dengan menggunakan statement getchar, yang formatnya seperti berikut :

#include <stdio.h>

int getchar (void);

Apabila  statement ini berhasil dieksekusi, maka getchar mengembalikan nilai ASCII dari karakter yang dibaca. Kalau sesuatu kesalahan terjadi atau akhir file dijumpai, getchar akan menghasilkan EOF. Program berikut memakai statement getchar untuk membaca tanggapan ya atau tidak dari keyboard.

 

#include <stdio.h>

#include <ctype.h>

void main(void)

{

int letter;

printf(“Mau melanjutkan (Y / N)\n”);

do {

letter = toupper(getchar());

} while ((letter != ‘Y’) && (letter !== ‘N’));

printf (“Anda ketikkan %c\n”, ((letter == ‘Y’) ? ‘Y’ : ‘N’));

}

 

Pada program diatas dapat dilihat bahwa kalang program memanggil getchar secara berulang, sampai pemakai mengetikkan huruf Y atau N dengan memakai control statement do while.

Apabila pada percobaan diatas diuji pembacaan sebuah karakter dari keyboard dengan menggunakan makro getchar, maka sebaliknya apabila dibutuhkan penulisan karakter ke layar (dengan menggunakan header file stdio untuk stdout) digunakan makro putchar dengan format makro putchar sebagai berikut :      

#include <stdio.h>

int putchar (int huruf);

apabila putchar berhasil  maka akan mengembalikan karakter yang ditulis, apabila terjadi kesalahan, maka putchar akan mengembalikan EOF. Contoh berikut akan menampilkan huruf-huruf alphabet dengan memakai makro putchar.

#include <stdio.h>

void main(void)

{

int letter;

for (letter = ‘A’; letter <= ‘Z’; letter++)

putchar (letter);

}

                                                                                                                                      

TUGAS 2.4

Cobalah listing program berikut ini dan amati serta jelaskan hasil yang anda peroleh

1.     #include <conio.h>

#include <stdio.h>

 

main()

{

int a, b;

char ch;

 

printf( “Pilih salah satu dari operasi yang akan anda lakukan ?\n”);

printf(“Add, Subtract, Multiply, or Devide?\n”);

printf(“Masukkan Huruf Pertama A, S, M, D :   “);

ch = getche();

printf(“\n”);

 

printf(“Masukkan Angka Pertama :  “);

scanf( “%d”, &a);

printf(“Masukkan Angka Kedua :  “);

scanf( “%d”, &b);

 

if (ch == ‘A’) printf(“%d”, a+b);

if (ch == ‘S’) printf(“”%d”, a-b);

if (ch == ‘M’) printf(”%d”, a*b);

if (ch == ‘D’ && b!=0) printf(”%d”, a/b);

}

 

2.5.  Penggunaan Kalang for untuk Variabel selain Integer

Seperti dipelajari dalam Bab II bahwa pernyataan for memungkinkan program untuk mengulangi serangkaian pernyataan sejumlah beberapa kali. Setiap pernyataan for yang disajikan pada bab II dengan menggunakan nilai dengan tipe int. Pada Bab ini akan dibuktikan bahwa penggunaan karakter dan nilai titik mengambang di dalam kalang for  juga dimungkinkan seperti dalam percobaan sub bab 3.1. Untuk lebih jelasnya maka kerjakan Tugas 3.2 di bawah ini.:

TUGAS 2.5

Cobalah listing program berikut ini dan amati serta jelaskan hasil yang anda peroleh

1.   #include “stdio.h”

void main()

{

char letter;

float percent;

 

for (letter = ‘A’; letter <= ‘Z’; letter++)

putchar(letter);

 

for (letter = ‘a’; letter <= ‘z’; letter++)

putchar(letter);

 

putchar(‘\n’);

 

for (percent = 0.0’; percent < 1.0; percent+=0.1)

printf ( “ %3.1f\n”, percent);

}

 

2.6.  Kalang NULL dan Kalang Tanpa Akhir

Seperti telah dipelajari sebelumnya bahwa kalang for memungkinkan pengulangan satu pernyataan atau lebih sampai suatu kondisi tertentu terpenuhi. Pada suatu program kadang diperlukan proses running program seolah-olah berhenti sejenak, misalnya diperlukan untuk menampilkan sebuah pesan agar pesan tersebut dapat dibaca. Kondisi semacam ini dapat diperoleh dengan membuat kalang NULL yang pada kalang tersebut hanya melakukan proses increment tanpa melakukan proses apa-apa lagi.

Apabila digunakan sebuah kalang NULL di dalam program, compiler C akan melakukan penginisialisasian  kalang dan kemudian mengulangi tes dan menaikkan variabel pengontrol hingga tercapai nilai pengakhirnya. Pengujian berulang semacam ini menghabiskan waktu prosesor, yang mengakibatkan program menjadi tertunda., apabila program tersebut memerlukan waktu yang lebih lama, maka dapat dilakukan dengan menaikkan kondisi pengakhirnya. Penggunaan teknik tunda semacam ini selain dipengaruhi oleh variabel-variabel yang disebutkan diatas, juga dipengaruhi oleh tipe dari prosesor yang digunakan, semakain cepat proses eksekusi dari prosesor, maka waktu tunda juga akan semakin cepat dan sebaliknya.

Kalang tanpa akhir adalah kalang yang terus berjalan tanpa berhenti, kalang semacam ini akan terus berputar tanpa pernah berakhir. Pada kebanyakan kasus, kalang tanpa akhir ini terjadi akibat dari suatu kesalahan dalam pemrograman.

2.7.  Pengulangan Satu Pernyataan atau lebih dengan Menggunakan while

Sebagaimana telah dipelajari bahwa pernyataan for memungkinkan untuk proses pengulangan sebuah pernyataan atau lebih dengan jumlah pengulangan tertentu. Akan tetapi, seringkali sebuah program memerlukan pengulangan sebuah pernyataan atau lebih, sampai suatu kondisi tertentu tercapai, suatu kondisi yang tidak ada hubungannya dengan pencacah, tercapai. Sebagai contoh apabila sebuah program ditulis untuk menampilkan isi dari sebuah file ke layar. Kondisi semacam ini pasti menghendaki agar program tersebut menampilkan setiap baris dari file tadi. Pada umumnya, pemrogram pasti belum tahu berapa jumlah baris yang tersimpan dalam file tersebut. Kondisi seperti ini tidak mungkin digunakan kalang for untuk menampilkannya misalnya sebanyak 100 baris; karena file tadi mungkin memiliki baris yang lebih besar atau lebih kecil. Sebagai gantinya diperlukan statement yang dapat menampilkan baris-baris isinya hingga mencapai akhir dari file tersebut. Dalam hal ini program dapat menggunakan kalang while yang memiliki format sebagai berikut :

While (pernyataan)

Pernyatan;

Pada saat compiler C menjumpai adanya sebuah kalang while di dalam program, compiler akan menguji kondisi yang ditetapkan, apabila kondisi tersebut benar, compiler akan menjalankan pernyataan-pernyataan yang disimpan di dalam kalang. Apabila pernyataan tersebut salah, maka compiler akan melanjutkan eksekusi program tersebut ke pernyataan pertama setelah kalang. Sebuah kalang while dapat mengulang sebuah pernyataan majemuk yang terdapat di antara tanda kurung kurawal. Untuk lebih jelasny, kerjakan latihan berikut ini.

 TUGAS 2.6

Cobalah listing program berikut ini dan amati serta jelaskan hasil yang anda peroleh

1.   #include <stdio.h>

#include <ctype.h>

#include <conio.h>

void main()

{

char letter;

 

printf(“Apakah anda akan melanjutkan ? (Y/N) : “);

 

letter = getch();

letter = touper(letter);

 

while ((letter != ‘Y’) && (letter != ‘N’))

{

putch(7);

letter = getch();

letter = touper (letter);

}

printf (“\n Respon anda adalah %c\n”, letter);

}

2.8.  Bagian-bagian dari Sebuah Kalang While

Sebagaimana telah dipelajari pada sub bab sebelumnya bahwa sebuah kalang tanpa akhir yang kondisi akhirnya tidak pernah ditemui, dan akibatnya kalang tersebut terus menjalankan eksekusinya untuk waktu yang tidak menentu. Pada saat penulisan program dengan menggunakan kalang while statement ini akan memperkecil kesalahan yang memungkinkan membentuk sebuah kalang tanpa akhir. Kalang while juga menjalankan keempat langkah serupa dengan yang dilakukan oleh sebuah kalang for yaitu :

a.       Inisialisasi     : Menginisialisasi variabel pengendali kalang

b.      Test              : Pengaksesan variabel pengendali atau kondisi kalang

c.       Eksekusi       : Pengeksekusian pernyataan-pernyataan yang dikehendaki

d.      Mengubah    : Pengubahan nilai variabel pengontrol atau menjalankan operasi yang mempengaruhi kondisi yang di test

Tidak seperti yang terjadi palang for yang secara eksplisit memungkinkan penginisialisasian dan menaikkan nilai variabel pengendali, apabila program menggunakan sebuah kalang while, maka harus memasukkan pernyataan-pernyataan di dalam program yang menjalankan langkah-langkah tersebut. Untuk lebih jelasnya,maka perhatikan listing program berikut :

 

TUGAS 2.7

Cobalah listing program berikut ini dan amati serta jelaskan hasil yang anda peroleh

 

1.   #include <stdio.h>

void main(void)

{

int counter = 1;

while (counter <= 100)

{

printf(“%d”, counter);

counter++;

}

}

 

2.   #include <stdio.h>

#include (conio.h>

void main(void)

{

char ch;

printf(“Enter your message.\n”);

ch = getche();

while (ch!=’\r’){

printf (“%c”, ch + 1);

ch = getche();

}

}

 

2.9.  Pengulangan Perrnyataan dengan  Menggunakan do

Seperti dipelajari dalam sub bab sebelumnya bahwa pernyataan while milik compiler C memungkinkan suatu pengulangan satu pernyataan atau lebih sampai suatu kondisi tertentu terpenuhi. Demikian juga pernyataan for milik compiler C juga memungkinkan pengulangan satu atau beberapa pernyataan paling tidak satu kali, dan kemudian bila perlu mengulangi pernyataan-pernyataan tersebut. Satu lagi statement pengulangan yaitu do yang memiliki format sebagai berikut :

Do

Statement;

While (kondisi);

Pernyataan do ideal untuk situasi yang mengharuskan program menjalankan satu pernyataan atau lebih paling tidak satu kali. Sebagai contoh perhatikan cuplikan listing program berikut  ini

Printf(“Do you want to continue? (Y/N) : “);

Letter = getch();

Letter = toupper(letter);

While ((letter != ‘Y’) && (letter != ‘N’))

{

putch(7);

letter = getch();

letter = toupper(letter);

}

Seperti terlihat dalam listing program diatas , program meminta agar pemakai menekan sebuah tombol, serta mengkonversikan huruf masukan ke bentuk capital. Kemudian tergantung kepada tombol yang ditekan, cuplikan tadi akan memulai sebuah kalang while, yang sebenarnya berisi perintah-perintah yang sama. Perhatian bagaimana pernyataan tadi dapat disederhanakan dengan menggunakan pernyataan do, seperti dalam listing program berikut ini :

Printf(Do you want to continue? (Y/N) : “);

 

Do {

Letter = getch();

Letter = toupper(letter);

 

If ((letter != ‘Y’) && (letter != ‘N’))

putch(7);

}

while ((letter != ‘Y’) && (letter != ‘N’));

 

Pada saat compiler C menemui adanya sebuah pernyataan do di dalam program, Kompiler C mengeksekusi pernyataan yang terdapat di antara do dan while, lalu compiler menguji kondisi tertentu untuk menentukan perlu tidaknya pernyataan-pernyataan tadi diulang. Dengan demikian, pernyataan yang dibuat dalam sebuah kalang do selalu akan dieksekusi paling tidak sekali. Kalang do sering kali digunakan untuk menempatkan dan memproses pilihan-pilihan menu.  Unruk lebih jelasnya, kerjakan tugas berikut ini.

TUGAS 2.8

Cobalah listing program berikut ini dan amati serta jelaskan hasil yang anda peroleh

 

1.   #include <stdio.h>

#include <conio.h>

#include <ctype.h>

#include <stdlib.h>

 

void main()

{

char letter;

do {

printf(“A Display directory listing\n”);

printf(“B Display disk information\n”);

printf(“C change system date\n”);

printf(“Q Quit\n”);

printf(“Chice :”);

 

letter = getch();

letter = toupper(letter);

 

if (letter == ‘A’)

system(“DIR”);

else if (letter == ‘B’)

system(“CHKDSK”);

else if (letter == ‘C’)

system(“DATE”);

}

while (letter != ‘Q’);

}

2.10.        Pengulangan Perrnyataan dengan  Menggunakan continue

Pernyataan-pernyataan for, while dan do yang telah dipelajari pada sub bab sebelumnya memungkinkan program mengulangi satu atau lebih pernyataan sampai suatu kondisi tertentu terpenuhi. Tergantung dari tujuan program yang dibuat, berdasarkan suatu kondisi tertentu, adakalnya dikehendaki melewati suatu iterasi tertentu. Pernyataan continue milik compiler C memungkinkan dilakukannya kondisi tersebut..

Apabila compiler C adanya pernyataan continue didalam sebuah kalang for, compiler akan langsung mengeksekusi bagian-bagian penaikan pencacah kalang dan kemudaian menjalankan pengujian kondisi pengakhir. Apabila compiler menemui adanya sebuah pernyataan continue di dalam sebuah sebuah kalang while atau do, compiler akan segera menjalankan prngujian kondisi pengakhir. Untuk memahami lebih lanjut pernyataan continue ini cobalah program pendek di bawah ini dengan menggunakan statement continue dalam sebuah kalang for dan while untuk menampilkan nilai ganjil dan genap diantara 1 sampai dengan 100.

#include <stdio.h>

void main()

{

int counter;

printf(“\n Nilai  Genap\n”);

for (counter = 1; counter <= 100; counter++)

   {

if (counter % 2) 

      continue;

printf(“ %d “, counter);

}

printf(“\n Nilai Ganjil\n”);

counter = 0;

while (counter <= 100)

{

       counter++:

if (! (counter % 2)) 

      continue;

printf(“ %d “, counter);

}

}

 

Program diatas menggunakan operator modulus (sisa hasil pembagian) untuk menentukan sebuah nilai ganjil atau genap. Apabila sebuah nilai dibagi dengan 2 dan diperoleh sisa 1, berarti nilai tersebut adalah nilai ganjil. Demikian juga sebaliknya apabila nilai tersebut dibagi dengan 2 dan sisa pembagian sama dengan 0, maka nilai tersebut adalah genap.

Penting untuk diperhatikan bahwa apabila program secara normal dapat menghilangkan perlunya menggunakan sebuah pernyataan continue dengan merancang ulang program dengan menggunakan pernyataan if dan else. Sebagai contoh program tersebut diatas apabila dibuat tanpa menggunakan pernyataan continue dan menggunakan pernyataan ef dan else, akan menjadi seperti program di bawah ini.

#include <stdio.h>

void main()

{

int counter;

printf(“\n Nilai  Genap\n”);

for (counter = 1; counter <= 100; counter++)

   {

if (!(counter % 2)) 

printf(“ %d “, counter);

}

printf(“\n Nilai Ganjil\n”);

counter = 0;

while (counter <= 100)

{

       counter++:

if (counter % 2) 

printf(“ %d “, counter);

}

}

2.11.        Penggunaan Pernyataan break untuk keluar dari Sebuah Loop

Pernyataan milik compiler C memungkinkan untuk mengakhiri dari sebuah kalang. Apabila compiler C menjumpai sebuah pernyataan break di dalam sebuah kalang, maka pengeksekusian kalang tersebut akan langsung diakhiri. Pernyataan berikutnyayang akan dieksekusi adalah pernyataan yang langsung berada di bawah kalang. Pada kasus kalang for , compiler C tidak akan menjalankan bagian penaikan pencacah kalang, melainkan kalang langsung akan berhenti.

Contoh program pendek berikut ini akan mengilustrasikan penggunaan pernyataan break. Program berkalang mulai angka 1 sampai 100 dan kemudian dari 100 turun sampai 1. Setiap kali kalang tersebut mencapai nilai 50 pernyataan break langsung mengakhiri kalang.

#include <stdio.h>

void main()

{

int counter;

for (counter = 1; counter <= 100; counter++)

   {

if (counter == 50) 

       break;

printf(“ %d “, counter);

}

printf(“\n Loop Berikutnya\n”);

for (counter = 100; counter >= 1; counter–)

   {

if (counter == 50) 

       break;

printf(“ %d “, counter);

}

}

2.12.        Penggunaan Pernyataan break di Dalam switch

Pada saat program perlu menguji sebuah variabel yang sama untuk beberapa kemungkinan nilai, maka compiler C menyediakan sebuah pernyataan switch yang memiliki format sebagai berikut :

switch (ekspresi) {

       case konstanta-1 : pernyataan; 

       case konstanta-2 : pernyataan; 

       case konstanta-3 : pernyataan; 

};

Apabila compiler C menjumpai sebuah pernyataan switch di dalam program, compiler akan mengevaluasi ekspresi yang mengikutinya untuk memberikan suatu hasil. Kemudian compiler membandingkan hasil tadi ke seluruh nilai konstanta yang telah ditentukan yang berada di belakang kata kunci case. Apabila compiler menemukan ada yang sesuai, maka compiler akan mengeksekusi pernyataan yang bersesuaian. Pernyataan break memisahkan pernyataan-pernyataan yang terdapat pada suatu case dari yang lainnya. Biasanya programmer harus menempatkan sebuah pernyataan break setelah pernyataan terakhir yang berhubungan dengan pilihan tersebut. Untuk lebih jelanya cobalah program pendek berikut ini.

#include <stdio.h>

#include <conio.h>

 

void main()

{

int a, b;

char ch;

printf(“Do You  want to :\n”);

printf(“Add, Substract, Multiply, or Divide ?\n”);

do {

printf(“Enter first letter :”);

ch = getche();

printf (“\n”);

} while (ch != ’A’ && ch != ‘S’ && ch != ‘M’ && ch != ‘D’);

 

printf(“Enter first number :”);

scanf (“%d”, &a);

printf(“Enter second number :”);

scanf (“%d”, &b);

 

switch(ch)  {

 

case ‘A’ : printf (“%d”, a+b);

break;

case ‘S’ : printf (“%d”, a-b);

break;

case ‘M’ : printf (“%d”, a*b);

break;

case ‘D’ : if (b!=0) printf (“%d”, a/b);

}

}

 

2.13.   Penggunaan Pernyataan goto

Pada bahasa pemrograman C disediakan sebuah pernyataan goto yang memungkinkan eksekusi program bercabang ke suatu lokasi khusus yang disebut label. Format dari pernyataan goto adalah sebagai berikut :

goto label;

 

label:

 

Apabila digunakan pernyataan goto ini, label tersebut harus berada pada fungsi sekarang. Dengan kata lain, dapat digunakan goto untuk melompat dari main ke suatu label yang muncul pada fungsi lain, dan demikian pula sebaliknya. Untuk lebih memahami penggunaan pernyataan go to ini cobalah program pendek berikut ini :

#include <stdio.h>

main()

{

int i;

i = 1;

again :

       printf(“%d”, i);

i++;

if (i<10) goto again;

}

 

 

Leave a comment

No comments yet.

Comments RSS TrackBack Identifier URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s