Kuliah C++ (chapter 2)

/*
OPERASI KARAKTER DAN STRING

OPERASI KARAKTER

Suatu nilai karakter mempunyai lebar nilai 1 byte. Konstanta karakter ditulias dalam tanda petik tunggal, sedangkan variabel karakter dideklarasikan dengan menggunakan kata kunci char. Prototype dari fungsi-fungsi pustaka dan definisi dari makro-makro untuk operasi karakter terdapat pada file header ctype.h. Dan dikelompokkan dalam dua kategori, pertama untuk meyeleksi status dari suatu nilai karakter. Dan yang kedua untuk mengkonversikan suatu nilai karakter dari suatu bentuk ke bentuk yang lain.

1. Menyeleksi Status Nilai Karakter
Kode ASCII 8 bit mempunyai kode dari nilai desimal 0 s/d 255. Tiap-tiap kode ini mewakili sebuah bentuk dari karakter, sehingga untuk kode ASCII 8 bit dikenal sebanyak 256 macam karakter. Kode ASCII 7 bit hanya mempunyai 128 macam karakter, dari nilai kode dalam desimal 0 s/d 127. Karakter kode ASCII dengan nilai kode 0 s/d 31 dan 127 termasuk dalam status karakter-karakter kontrol yang tidak dapat dicetak ke printer. Karakter dengan kode 32 s/d 126 termasuk dalam status karakter-karakter yang dapat dicetak ke printer.

Makro-Makro Untuk Meyeleksi Satatus Dari Nilai Karakter
Nama Makro Kelompok Kode ASCII Untuk Nilai Benar Keterangan
isascii(c) 0-127 Karakter berkode ASCII 0 s/d 127 (ASCII 7 bit)
iscntrl(c) 0-31 dan 127 Karakter-Karakter Kontrol
isspace(c) 9,10, 13, 32 Karakter Spasi, BackSpace dan Enter (whitespace characters)
isgraph(c) 33-126 Karakter-karakter yang dapat dicetak selain spasi
isprint(c) 33-126 Semua karakter yang dapat dicetak
ispunct(c) 33-47;58-64;91-96;123-126 Karakter-karakter yang dapat dicetak selain spasi, huruf dan angka
isalnum(c) 48-57;65-90;97-122; Karakter-karakter huruf dan angka
isalpha(c) 65-90;97-122 Karakter-karakter huruf
islower(c) 97-122 Karakter-karakter huruf kecil
isupper(c) 65-90 Karakter-karakter huruf besar
isdigit(c) 48-57 Karakter-karakter angka

Contoh 1
#include
#include
#include

#define Terus 1
main()
{ int Karakter;
do {
Karakter=getche();
if(isspace(Karakter)) break;}
while(Terus);} Contoh 2
#include
#include

#define Terus 1
#define isspace_j(c) ((c==’ ’||c==’\r’ || c==’\t’) ? 1:0)
main()
{ int Karakter;
do {
Karakter=getche();
if(isspace_j(Karakter)) break;}
while(Terus);}

Contoh 3
#include
#include
#include

main()
{ int Karakter;
printf(“Tekan Enter, Spasi ata Tab untuk berhenti .... \n”);
do { Karakter=getche();
if (isspace(Karakter)) break;
/* -----Seleksi apakah yang ditekan adalah huruf ----- */
if (isalpha(Karakter))
printf(“ adalah huruf\n”);
else
printf(“ bukan huruf\n”);}
while(1);}

Contoh 4
#include
#include
#include

main()
{ int Karakter;
printf(“Tekan Enter, Spasi ata Tab untuk berhenti .... \n”);
do { Karakter=getch();
if (isspace(Karakter)) break;
/* -----Seleksi huruf besar atau huruf kecil ----- */
if (isalpha(Karakter))
if (islower(Karakter))
printf(“%c adalah huruf kecil\n”,Karakter);
else
printf(“%c adalah huruf BESAR\n”,Karakter);
else
putchar(7);}
while(1);}

2. Mengonversikan Nilai Karakter
Ada dua fungsi pustaka yang disediakan untuk mengonversikan nilai suatu karakter, yaitu fungsi pustaka tolower() dan fungsi pustaka toupper(). Sedangkan makro untuk proses konversi ini bernama _tolower(c) dan _toupper(c). Fungsi pustaka tolower dan makro _tolower(c) digunakan untuk mengonversi huruf besar ke huruf kecil, sedangkan fungsi toupper() dan makro _toupper(c) untuk mengonversi dari huruf kecil ke huruf besar.

Contoh 1
#include
#include
#include

main()
{ int Karakter;
printf(“Tekan Enter, Spasi ata Tab untuk berhenti .... \n”);
do { printf(“Masukkan Nilai Karakter : ”);
Karakter=getche();
if (isspace(Karakter)) break;
/* -----Konversi ke huruf kecil atau huruf besar ----- */
if (isalpha(Karakter))
if (isupper(Karakter))
printf(“huruf kecilnya adalah : %c \n”,tolower(Karakter));
else
printf(“huruf besarnya adalah : %c \n”,toupper(Karakter));
else
printf(“bukan huruf\n”);}
while(1);}

Contoh 2
#include
#include
#include

main()
{ char Jawab;
float Celcius;

Jawab=’Y’;
While(toupper(Jawab)==’Y’) {
printf(“\n\n”);
printf(“Masukkan Nilai Celcius ?”);scanf(“%f”,&Celcius);
printf(“%7.2f Celcius adalah %7.2f Fahrenheit\n”,Celcius,1.8*Celcius+32);
printf(“Menghitung Lagi (Y/T) ? “);

/* -----Jawaban harus ‘Y’,’y’,’T’ atau ‘t’ ----- */
do { putchar(‘\b’);
Jawab=getche();}
while(!(toupper(Jawab)==’Y’ || toupper(Jawab)==’T’));}}


Contoh 3
#include
#include

main()
{ char Huruf;
int Numerik;

Huruf=’5’;
Numerik=Huruf;

printf(“Huruf ‘5’ ditampilkan secara numerik menjadi %i \n”,Numerik);
getch();
return 0;}

Contoh 4
#include
#define Todigit_j(c) (c-‘0’)
#include

main()
{ char Huruf;
int Numerik;

Huruf=’5’;
Numerik=Todigit_j(Huruf);

printf(“Huruf ‘5’ dikonversikan ke digit menjadi %i\n”,Numerik);
getch();
return 0;}

OPERASI STRING

Prototype untuk operasi string tersimpan pada file header string.h, fungsi-fungsinya adalah sebagai berikut :
No Nama Fungsi Kegunaan
1 strlen() Mencari Panjang Sebuah Setring
2 strcpy() Menyalin Nilai String
3 strcat() Menggabung Nilai String
4 strcmp() Membandingkan Dua Buah Nilai String
5 strchr() Mencari Nilai Karakter Pada Sebuah String

1. Panjang Nilai String (strlen())
Contoh 1
#include
#include
#include

main()
{ char Nama[80];

printf(“Masukkan Nama Anda? “);
scanf(“%[^\n]”,Nama);
printf(“Panjang nama anda adalah : %i karakter \n”,strlen(Nama));
getche();
return 0;}

Contoh 2
#include
#include
#include

int Strlen_j(char *S);

main()
{ char Nama[80];

printf(“Masukkan Nama Anda? “);
scanf(“%[^\n]”,Nama);
printf(“Panjang nama anda adalah : %i karakter \n”,strlen(Nama));
getche();
return 0;}

int Strlen_j(char *S)
{ int I;
for (I=0;S[I];I++);
return(I);
}

Contoh 3
#include
#include
#include

main()
{ int Lebar_Tulisan,Posisi_Tulisan,Panjang_Tulisan, I;
char Judul[]=”PT. HEXA INTERNUSA TECHNOLOGY”;

Lebar_Tulisan=80;
/*--- Menghitung posisi judul ---*/
Panjang_Tulisan=strlen(Judul);
Posisi_Tulisan=(Lebar_Tulisan-Panjang_Tulisan)/2;

/*--- Membuat spasi sampai di posisi judul ---*/
for(I=1;I<=Posisi_Tulisan;I++) printf(“ “);

/*--- Menampilkan judul ---*/
printf(“%s\n”,Judul);
getche();
return 0;}

2. Menyalin Nilai String (strcpy())
Contoh
#include
#include
#include

main()
{ char Nama1[80];
char Nama2[]=”ABCDE”;

strcpy(Nama1,Nama2);
printf(“String Pertama adalah : %s\n”,Nama1);
printf(“String Kedua adalah : %s\n”,Nama2);
getche();
return 0;}

3. Menggabung Nilai String (strcat())
Contoh
#include
#include
#include

main()
{ char Nama1[]=”Saya adalah “;
char Nama2[]=”Programmer yang handal”;

strcat(Nama1,Nama2);
printf(“Hasil Gabungannya adalah : %s\n”,Nama1);
getche();
return 0;}

4. Membandingkan Dua Nilai String (strcmp())
Contoh
#include
#include
#include

main()
{ char Nama1[]=”ABcde“;
char Nama2[]=”ABCDE”;
int Hasil;

Hasil=strcmp(Nama1,Nama2);

if(Hasil==0)
printf(“Nama1 sama dengan Nama2\n”);
else
if(Hasil<0)
printf(“Nama1 lebih kecil dari Nama2\n”);
else
printf(“Nama1 lebih besar dari Nama2\n”);
getche();
return 0;}

5. Mencari Nilai Karakter di String (strchr())
Contoh 1
#include
#include
#include

main()
{ char String[]=”ABcde“;
char *Hasil;

Hasil=strchr(String,’B’);
printf(“%s”,Hasil);
getche();
return 0;}

Contoh 2
#include
#include
#include
int Strchr_j(char *S, char C);

main()
{ char String[]=”ABcde“;
int Posisi;

Posisi=Strchr_j(String,’c’);
printf(“Huruf ‘c’ ada di posisi urutan ke %d\n”,Posisi);
getche();
return 0;}

/*--- Fungsi ini untuk mencari nilai suatu karakter di string dengan
hasil letak posisinya dengan tipe integer (hasilnya nilai
0 jika karakter yang dicari tidak ada di string) ----*/

int Strchr_j(char *S, char C)
{ int I;
for(I=0;S[I];I++)
if(S[I]==C
return(I+1);
return(0);
}

Contoh 3
#include
#include
#include

main()
{ float C;
char Jawab;

do {
printf(“Berapa Celcius ?“);
scanf(“%f”,&C);
printf(“%f Celcius adalah %f Fahrenheit\n”,C,1.8*C+32);
printf(“\n”);

printf(“Menghitung Lagi (Y/T) ?”);
do {
Jawab=getch();}
While(strchr(“YtTt”,Jawab)==’\0’);
printf(“\n”);}
while(Jawab==’Y’ || Jawab==’y’);}

6. Membuang spasi di String
Contoh 1
#include
#include
#include
void Buang_Spasi_j(char *S);

main()
{ char String[]=”A B c de “;

Buang_Spasi_j(String);
printf(“%s\n”,String);
getche();
return 0;}

/*---Fungsi buatan untuk membuang spasi di suatu string---*/
void Buang_Spasi_j(char *S)
{ int I,J;
for(I=0;S[I];)
{if(S[I]==’ ’) /* ketemu nilai blank atau spasi */
for(J=I;S[J];J++) /* mulai dari blank sampai karakter terakhir */
S[J]=S[J+1]; /* geser ke kiri nilai-nilai selanjutnya */
If(S[J]!=’ ‘) I++;} /* periksa karakter berikutnya jika sudah bukan
blank lagi */
}

Contoh 2
#include
#include
#include
void Buang_Mspasi_j(char S[]);

main()
{ char String[]=” A B c de “;

Buang_Mspasi_j(String);
printf(“%s\n”,String);
getche();
return 0;}

/*---Fungsi buatan untuk membuang spasi di muka suatu string---*/
void Buang_Mspasi_j(char S[J])
{ int I=0;
for(;(S[]=’ ‘ && S[0]);)
for(I=0;S[I];I++)
S[I]=S[I+1]; /* geser ke kiri nilai-nilai selanjutnya */
}

Contoh 3
#include
#include
#include
char Buang_Mspasi_j(char *S);

main()
{ char String[]=” A B c de “;

String=Buang_Mspasi_j(String);
printf(“%s\n”,String);
getche();
return 0;}

/*---Fungsi buatan untuk membuang spasi di m uka suatu string---*/
char Buang_Mspasi_j(char *S)
{
for(;*S==’ ‘ && *S; S++); /* cari sampai bukan blank */
return(S);
}

Contoh 4
#include
#include
#include
void Buang_Spasi_j(char *S);

main()
{ char String[]=” A B c de “;

Buang_Spasi_j(String);
printf(“%s\n”,String);
getche();
return 0;}

/*---Fungsi buatan untuk membuang spasi di belakang suatu string---*/
void Buang_Spasi_j(char *S)
{ int I,J;
/*---Cari panjang suatu string---*/
for(J=0;S[J];J++);
/*---Buang blank di belakang nilai string---*/

for(;S[J-1]==’ ‘;)
{ S[J-1]=’\0’; /* geser akhir dari string ke posisi ini */
J--; /* Buang blank, sehingga panjang string berkurang */
}
}

7. Mengambil Bagian String
Contoh 1
#include
#include
#include
void Bagian_String_j(char *S1,char *S2,int M,int P);

main()
{ char String1[80];
char String2=”abscdefghijklmnop”;

Bagian_String_j(String1,String2,4,7);
printf(“%s\n”,String1);
getche();
return 0;}

/*---Fungsi buatan untuk mengambil bagian dari suatu string---*/
void Bagian_String_j(char *S1,char *S2,int M,int P)
{ int I,J,N;
/* Cari panjang suatu string */
for(N=0;S2[N];N++);
{if(M>=0 && M<=N-1)
{ for(I=M;J=0;(J


S1[J]=S2[I];
S1[P]=’\0‘;}
else
S1[0]=’\0’;
}

OPERASI NUMERIK DAN MATEMATIK

File header yang digunakan math.h dan stdlib.h

Fungsi Standar Numerik dan Matematik Yang Terdapat Pada File Header math.h
Tipe Hasil Nama Fungsi(tipe argumen) Kegunaan
int abs (int x); Memutlakkan Nilai (int)
double acos (double x); Arcus cosinus
double asin (double x); Arcus sinus
double atan (double x); Arcus tagent
double atan2 (double y,double x); Arcus tagent
double atof (const char *s); Konversi character ke numerik
double ceil (double x); Pembulatan keatas
double cos (double x); Cosinus
double cosh (double x); Hiperbolis Cosinus
double exp (double x); Exponensial
double fabs (double x); Memutlakan Nilai
double floor (double x); Pembulatan kebawah
double fmod (double x,double y); Sisa hasil bagi
long labs (long x); Memutlakkan Nilai (long)
double ldexp (double x,int exponent); Exponensial
double log (double x); Logaritma Alam Bil. dasar e
double log10 (double x); Logaritma Biasa Bil. Dasar 10
double pow (double x,double y); Pangkat
double sin (double x); Sinus
double sinh (double x); Hiperbolis Sinus
double sqrt (double x); Akar
double tan (double x); Tangent
double tanh (double x); Hiperbolis Tangent








Fungsi Standar Numerik dan Matematik Yang Terdapat Pada File Header stdlib.h
Tipe Hasil Nama Fungsi(tipe argumen) Kegunaan
int abs (int x); Memutlakkan Nilai (int)
double atof (const char *s); Konversi karakter – numerik (double)
int atoi (const char *s); Konversi karakter – numerik (int)
long atol (const char *s); Konversi karakter – numerik(long int)
long labs (long x); Memutlakkan Nilai (long int)
int rand (void); Pengacak Bilangan
void srand rand (void);(unsigned bit angka acak); Pengacak Bilangan
*/
Up?
0
kuliah c++ (chapter 1)
Posted In: kuliah . By yudi.ariestya

INPUT DATA

Fungsi pustaka yang digunakan untuk memasukkan data melalui keyboard, prototypenya ada pada file header stdio.h dan conio.h. Fungsi pustaka yang menggunakan file header stdio.h adalah gets() dan scanf(). Sedangkan fungsi pustaka yang menggunakan file header conio.h adalah getche(), getchar() dan getch().


MEMASUKKAN DATA TIDAK TERFORMAT

KARAKTER
Fungsi yang digunakan adalah getche(), getchar(), getch().
getche() input karakter tanpa diakhiri penekanan tombol enter
getchar() input karakter dan diakhiri penekanan tombol enter
getch() input karakter tanpa diakhiri penekanan tombol enter dan karkter yang
diinput tidak tampil di layar.

Contoh :
/* Contoh Penggunaan getche() */

#include
#include

main()
{char C;

printf(“Masukkan Nilai Sebuah Karakter ?”);
C=getche();

printf(“\nNilai Karakter Yang Dimasukkan Adalah : %c \n”,C);
}

/* Contoh Penggunaan getchar() */

#include
#include

main()
{char C;

printf(“Masukkan Nilai Sebuah Karakter ?”);
C=getchar();

printf(“\nNilai Karakter Yang Dimasukkan Adalah : %c \n”,C);
}

/* Contoh Penggunaan getch () */

#include
#include

main()
{char C;

printf(“Masukkan Nilai Sebuah Karakter ?”);
C=getch ();

printf(“\nNilai Karakter Yang Dimasukkan Adalah : %c \n”,C);
}

STRING
Fungsi yang digunakan adalah gets()

/* Contoh Penggunaan gets() */

#include
#include

main()
{char S[50];

printf(“Masukkan Nilai String ?”);
gets(S);

printf(“\nNilai String Yang Dimasukkan Adalah : %c \n”,S);
}

MEMASUKKAN DATA TERFORMAT
Fungsi yang digunakan adalah scanf(). Fungsi scanf() menggunakan kode-kode format sebagai berikut :
Kode Kegunaan
%c Membaca sebuah karakter
%d Membaca sebuah nilai integer desimal
%i Membaca sebuah nilai integer desimal
%h Membaca sebuah nilai short integer desimal
%e Membaca sebuah data pecahan
%f Membaca sebuah data pecahan
%g Membaca sebuah data pecahan
%s Membaca sebuah data string
%o Membaca sebuah nilai oktal
%x Membaca sebuah nilai heksadesimal

Fungsi scanf() menggunakan pengiriman nilai secara acuan. Di bahasa C, pengiriman secara acuan dilakukan dengan menggunakan pointer. Variabel pointer diawali dengan operator ‘&’. Misalnya variabel maka variabel ini harus dituliskan &P.

Contoh :
KARAKTER

/* Contoh Input Karakter Dengan scanf() */

#include
#include

main()
{char C;

printf(“Masukkan Nilai Karakter ?”);
scanf(“%c”,&C);

printf(“\nNilai Karakter Yang Dimasukkan Adalah : %c \n”,C);
}

/* Contoh Input Karakter Dengan scanf() */

#include
#include

main()
{char C1,C2,C3;

printf(“Masukkan 3 Nilai Karakter ?”);
scanf(“%c%c%c”,&C1,&C2,&C3);

printf(“\nNilai – Nilai Karakter Yang Dimasukkan Adalah : %c%c%c \n”,C1,C2,C3);
}

STRING
/* Contoh Input String Dengan scanf() */

#include
#include

main()
{char S[80];

printf(“Masukkan Nilai String ?”);
scanf(“%s”,S);

printf(“\nNilai String Yang Dimasukkan Adalah : %s \n”,C);
}


/* Contoh Input String Dengan scanf() */

#include
#include

main()
{char S[80];

printf(“Masukkan Nilai String ?”);
scanf(“%[^\n]”,S);

printf(“\nNilai String Yang Dimasukkan Adalah : %s \n”,C);
}


/* Contoh Input String Dengan scanf() */

#include
#include

main()
{char S[80];

printf(“Masukkan Nilai String ?”);
scanf(“%[abcdefghijklmnopqrstuvwxyz]”,S);

printf(“\nNilai String Yang Dimasukkan Adalah : %s \n”,C);
}


/* Contoh Input String Dengan scanf() */

#include
#include

main()
{char S[80];

printf(“Masukkan Nilai String ?”);
scanf(“%[^\0123456789Zz]”,S);

printf(“\nNilai String Yang Dimasukkan Adalah : %s \n”,C);
}

NUMERIK

Kode Formatnya
“%li” atau “%Id” long integer
“%le”, “%lf” atau “%lg” double
“%Le”, “%Lf” atau “%Lg” long double

Contoh

/* Contoh Input Numerik Integer Dengan scanf() */

#include
#include

main()
{int I;

printf(“Masukkan Nilai Integer ?”);
scanf(“%i”,&I);

printf(“\nNilai Integer Yang Dimasukkan Adalah : %i \n”,I);
}

/* Contoh Input Numerik Heksadesimal Dengan scanf() */

#include
#include

main()
{int I;

printf(“Masukkan Nilai Heksadesimal ?”);
scanf(“%x”,&I);

printf(“\nNilai heksadesimal % #x Adalah : %i dalam desimal \n”,I,I);
}







PENGENDALIAN PROSES
Perintah yang digunakan adalah if dan switch.

PERINTAH IF
1. Bentuk if tunggal sederhana
if (kondisi) statement;
Contoh :
#include
main();
{
int JmlAnak;
float Gator,Tunj,PersenTunj=0.2;

printf(“Gaji Kotor ?”);
scanf(“%f,&Gator);
printf(“Jml Anak ?”);
scanf(“%d,&JmlAnak);

if(JmlAnak>2) PersenTunj=0.3;
Tunj = PersenTunj * Gator;
printf(“\nBesarnya Tunjangan = Rp %10.2f\n”,Tunj);
}

2. Bentuk if tunggal blok statement
Untuk blok statement menggunakan {}.
Contoh :
#include
main();
{
int JmlAnak;
float Gator,Tunj,Pot,PersenTunj=0.2,PersenPot=0.05;

printf(“Gaji Kotor ?”);
scanf(“%f,&Gator);
printf(“Jml Anak ?”);
scanf(“%d,&JmlAnak);

if(JmlAnak>2) {
PersenTunj=0.3;
PersenPot=0.07;}
Tunj = PersenTunj * Gator;
Pot = PersenPot * Gator;
printf(“\nBesarnya Tunjangan = Rp %10.2f\n”,Tunj);
printf(“\nBesarnya Potongan = Rp %10.2f\n”,Pot);
}

3. Bentuk if-else
if (kondisi) statement;
else statement;

Contoh :
#include
main();
{
float A,B;

printf(“Masukkan Nilai A ?”);scanf(“%f,&A);
printf(“Masukkan Nilai B ?”);scanf(“%d,&B);
printf(“\n”);

if(B= =0)
printf(“%f dibagi dengan 0 adalah TAK HINGGA\n”,A);
else
printf(“%f dibagi dengan %f adalah %f\n”,A,B,A/B);
}

4. Bentuk if-else-if ... else
if (kondisi1)
statement;
else if (kondisi2)
statement;
else if (kondisi3)
statement;
....
....
else
statement;
5. Bentuk if bersarang
if (kondisi1)
if (kondisi2)
.....
.....
if (kondisin)
statement;
else
statement;
....
....
else
statement;
else
statement;
6. Bentuk If Dengan Kondisi Sebuah Variabel
Contoh :
if(D= =0)
printf(“Nilai D adalah nol\n”);
else
printf(“Nilai D tidak sama dengan nol\n”);

atau

if(D)
printf(“Nilai D tidak sama dengan nol\n”);
else
printf(“Nilai D adalah nol\n”);

7. Bentuk if Kondisi Jamak
Dengan menggunakan operator logika (&& (AND), || (OR) atau ! (NOT))
Contoh :
Misal : Nilai A=3, B=1 dan C=’Y’

if(A>5 || B && C= =’Y’)
printf(“Kondisi benar\n”);
else
printf(“Kondisi tidak benar\n”);

8. Operator ?
Digunakan sebagai pengganti bentuk statement if-else, disebut juga ternary operator (menggunakan 3 buah ungkapan), bentuknya sbb:

(Ungkapan1) ? Ungkapan2 : Ungkapan3
Contoh 1 :
#include
main()
{
int X;
printf(“Masukkan Nilai Suatu Integer ? ”);
scanf(“%d”,&X);

(X % 2 = = 0) ? printf(“Nilai Genap\n”) : printf(“Nilai Ganjil\n”);
}

Contoh 2 :
#include
#include

main()
{
float X;
printf(“Masukkan Nilai Suatu Numerik ? ”);
scanf(“%f”,&X);

X = (X >= 0) ? X : 0 - X;
printf(“Nilai Mutlaknya Adalah %f”,X);
}


PERINTAH SWITCH
1. Switch Bentuk Tunggal
switch(kondisi) {
case konstanta1:
statement-statement;
break;
case konstanta2:
statement-statement;
break;
......
......
default:
statement-statement;
break;
}

Contoh 1 (Numerik):
#include
main()
{int Nilai;
printf(“Masukkan Nilai 1-3 ?”);
scanf(“%d”,&Nilai);

switch(Nilai) {
case 1:
printf(“Satu \n”);
break;
case 2:
printf(“Dua \n”);
break;
case 3:
printf(“Tiga \n”);
break;
deafult:
printf(“Bukan 1, 2 atau 3\n”);
break;
}}
Contoh 2 (karakter):
#include
#include

main()
{char Tekan;
printf(“Tekan tombol A atau B ?”);
Tekan = getch();

switch(Tekan) {
case ‘A’:
printf(“\nDitekan Tombol ‘A’ \n”);
break;
case ‘a’:
printf(“\nDitekan Tombol ‘a’ \n”);
break;
case ‘B’:
printf(“\nDitekan Tombol ‘B’ \n”);
break;
case ‘b’:
printf(“\nDitekan Tombol ‘b’ \n”);
break;
deafult:
printf(“Bukan Ditekan ‘A’, ‘a’, ’B’ atau ‘b’\n”);
break;
}}


2. Bentuk Switch Bersarang
Contoh :
#include
#include

main()
{char Pilih;
int PilihK;
float Sisi, Jari, Tinggi;

printf(“\n”);
printf(“ <<< Menu Utama >>>\n”);
printf(“\n”);
printf(“A. Menghitung Kubus\n”);
printf(“B. Menghitung Luas Lingkaran\n”);
printf(“\n”);
printf(“Pilih (A-B) ? ”);
scanf(“%c”,&Pilih);
Pilih = toupper(Pilih);
printf(“\n”);

switch(Pilih) {
case ‘A’:
printf(“1. Isi Kubus \n”);
printf(“2. Luas Sisi Kubus \n”);
printf(“\n”);
printf(“Pilih Nomor (1-2) ? ”);
scanf(“”%d”,&PilihK);
printf(“\n”);

printf(“Panjang Sisi Kubus ? ”);
scanf(“%f”,&Sisi);
switch(PilihK) {
case 1:
printf(“Isi Kubus = %f \n”,Sisi*Sisi*Sisi);
break;
case 2:
printf(“Luas Sisi Kubus = %f \n”,6*Sisa*Sisi);
break;
}
break;

case ‘B’:
printf(“Jari-Jari Lingkarang ? ”);
scanf(“”%f”,&Jari);
printf(“Luas Lingkaran = %f \n ”,3.14*Jari*Jari);
break;
}}

PERULANGAN (LOOPING)
1. Statement For
Bentuk Umum :
For(Awal; Akhir; Step) statement;

Contoh 1 :
#include
main()
{
int X;
for(X=1; X<=5; X++) printf(“Hallo, Calon Programmer C\n”);
}



Contoh 2 (Positif) :
#include
main()
{
int I;
for(I=-2; I<=3; I++) printf(“%d\n”,I);
}

Contoh 3 (Positif) :
#include
main()
{
int I;
for(I=0; I<=10; I+=3) printf(“%d\n”,I);
}

Contoh 4 (Negatif) :
#include
main()
{
int I;
for(I=5; I>1; I--) printf(“%d\n”,I);
}

Contoh 5 (Dengan Blok Statement) :
#include
main()
{
int I,N;
float X, Rata, Total=0;

/* Menyatakan Banyak Dari Data */
printf(“Banyaknya Data ?”);
scanf(“%d”, &N);
printf(“\n”);

/* Memasukkan Masing-Masing Data dari I=1 ke I=N */
for(I=1; I<=N; I++) {
printf(“Data Ke %3d ? “,I);
scanf(“%f”,&X);
Total = Total + X;
}
Rata = Total/N;

/* Menampilkan Hasil */
printf(“\n”);
printf(“Banyaknya Data = %-3d\n”,N);
printf(“Total Nilai Data = %-10.2f\n”,Total);
printf(“Rata-Rata Nilai Data = %-10.2f\n”,Rata);
}

Contoh 6 (Tanpa Nilai Awal) :
#include
main()
{
int I;
I=3;
for(; I<=5; I++) printf(“%d\n”,I);
}

Contoh 7 (Tanpa Step) :
#include
main()
{
int I;
for(I=3; I<=5;) {
printf(“%d\n”,I);
I++;
}
}

Contoh 8 (Tanpa Step) :
#include
main()
{
int I;
for(I=3; I<=5;)
printf(“%d\n”,I++);
}

Contoh 9 (Tanpa Step) :
#include
main()
{
int I;
for(I=3; I<=5;)
printf(“%d\n”,++I);
}




Contoh 10 (Tanpa Nilai Awal dan Step) :
#include
main()
{
int I=3;
for(; I<=5;)
printf(“%d\n”,I++);
}

Contoh 11 (Tanpa Nilai Awal, Akhir dan Step) :
#include
main()
{
int I=0;
for(;;) {
printf(“%d\n”,++I);
if(I>=5) break;
}
}

Contoh 12 (Bersarang) :
#include
main()
{
int I,J;
for(I=1; I<=3;I++) {
for(J=1;J<=4;J++)
printf(“ (I = %1d,Y = %1d)”,I,J);
printf(“\n”);
}
}

2. WHILE
Bentuk Umum :
While(kondisi) Statement;
Contoh :
#include
main()
{
int X;
X = 7;
while(X<5;)
printf(“%d”,X++);
}


3. DO – WHILE
Bentuk Umum :
do statement while(kondisi);
Contoh 1 :
#include
main()
{
int X;
X = 7;
do
printf(“%d\n”,X);
while(X<5);
}

Contoh 2 :
#include
main()
{
int X;
X = 3;
do {
printf(“%d\n”,X);
X++;
} while(X<5);
}

4. CONTINUE
Menyebabkan proses perulangan kembali ke awal mulainya perulangan dan mengabaikan statement-statement berikutnya setelah statement continue.

Contoh :
#include
main()
{
int I,N;
float Nilai,Rata,Total;

/* Baynyaknya mahasiswa */
printf(“Banyaknya Data ? ”);
scanf(“%d”,&N);
printf(“\n”);

/* Memasukkan Nilai Masing-Masing Mahasiswa */
for(I=1;I<=N;) {
printf(“Data Ke %3d ? ”,I);
scanf(“%f”,&Nilai);
/* Periksa apakah nilai yang dimasukkan negatif */
if(Nilai<0) continue;

Total = Total + Nilai;
X++;
}

Rata = Total/N;

/* Menampilkan Hasil */
printf(“\n”);
printf(“Banyaknya Mahasiswa = %-3d\n”,N);
printf(“Total Nilai Mahasiswa = %-10.2d\n”,Total);
printf(“Rata-Rata Nilai Mahasiswa = %-10.2d\n”,Rata);
}


5. LOMPATAN (GOTO)
Bnetuk Umum :
goto label;

Contoh :
#include
main()
{
float A,B;

printf(“Masukkan Nilai A ? ”);scanf(“%f”,&A);
printf(“Masukkan Nilai B ? ”);scanf(“%f”,&B);

if(B= =0) goto Tak_Hingga;

printf(“%f dibagi dengan %f adalah %f\n”,A,B,A/B);
goto Selesai;

Tak_Hingga:
printf(“%f dibagi dengan 0 adalah TAK HINGGA\n”,A);

Selesai:
;
}

Comments

Popular posts from this blog

Configure Open Smtp google with Postfix

membuat random password di linux

ISCSI