Pages

Subscribe:

Friday, May 02, 2008

Belajar C dari tingkat dasar !

BAB I :

Bentuk dasar :

-------------

void main(){

//disini badan program diproses

}

#include

int main()

{

printf("Oh_gayo lagi Nembak Pake sniffer\n");

return 0;

}

Hasil keluarannya tampak dimonitor anda:

----------------------------------------

oh_gayo lagi Nembak Pake sniffer

Perhatikan :

#include <--- #include untuk membuka file header/library file stdio.h yang dibutuhkan oleh fungsi printf (kita harus sertakan)

int main() { <--- ini adalah fungsi utama pada saat program dijalankan

<--- pada saat kita mengcompile suatu program selalu fungsi ini yang dijalankan

printf(" test \n"); <--- fungsinya untuk mencetak text kelayar , \n artinya turun baris

return 1; <--- nilai yang dikembalikan oleh fungsi utama bernilai true

}

note

tanda { = pembuka

} = penutup

1 : true

0 : false

Apakah anda bisa membayangkan hasil dari source code ini..

--------------------------------------------------------

int main()

{

printf("Mr.Gayo\n");

printf("----------\n");

printf("Renjana Administrator\n");

printf("Komunity Crot Crew");

return 0;

}

Bermain dengan tipe data :

------------------------

Apakah tipe data itu ?

Tipe data adalah jenis tipe dari suatu variable

contoh : abc ->> merupakan string

a ->> merupakan character

1,2,3,... ->> merupakan bilangan integer

1.001 ->> merupakan bilangan desimal (berkoma)

dll

nah didalam bahasa C terdapat tipe-tipe data yang menampung sesuai dengan data anda. Ada pun tipe data tersebut adalah sebagai berikut :

Type ³ Length ³ Range

------------------------------------------------------------------

unsigned char ³ 8 bits ³ 0 to 255

char ³ 8 bits ³ -128 to 127

enum ³ 16 bits ³ -32,768 to 32,767

unsigned int ³ 16 bits ³ 0 to 65,535

short int ³ 16 bits ³ -32,768 to 32,767

int ³ 16 bits ³ -32,768 to 32,767

unsigned long ³ 32 bits ³ 0 to 4,294,967,295

long ³ 32 bits ³ -2,147,483,648 to 2,147,483,647

float ³ 32 bits ³ 3.4 * (10**-38) to 3.4 * (10**+38)

double ³ 64 bits ³ 1.7 * (10**-308) to 1.7 * (10**+308)

long double ³ 80 bits ³ 3.4 * (10**-4932) to 1.1 * (10**+4932)

nah kira-kira jenis tipe data apa yang kita gunakan , itu tergantung dari kebutuhan saat kita membuat program!

contoh pemakaian sebagai berikut :

--------------------------------

Bermain dengan tipe data

#include

int main()

{

int angka; // int = tipe data , angka = merupakan variabel penampung

angka=1;

printf("nilai dari angka : %d\n", angka);

angka=5;

printf("nilai dari angka : %d\n", angka);

angka=-8;

printf("nilai dari angka : %d\n", angka);

return 0;

}

contoh lain :

------------

#include

int main()

{

int a = 2;

float x = 17.1, y = 8.95, z;

char c;

c = (char)a + (char)x;

c = (char)(a + (int)x);

c = (char)(a + x);

c = a + x;

z = (float)((int)x * (int)y);

z = (float)((int)(x * y));

z = x * y;

return 0;

}

note : tanda // artinya komentar yang anda sisipkan jika hanya untuk satu baris jika lebih anda bisa mengunakan

seperti ini :

/*

komentarnya disini

*/

Apa yang terdapat dalam tanda itu tidak akan dieksekusi (dijalankan/running) oke!, gimana sekarang tidak terlalu sulit bukan? :p

Program mengenal tipe data

--------------------------

#include

int main()

{

int a; /* simple integer type */

long int b; /* long integer type */

short int c; /* short integer type */

unsigned int d; /* unsigned integer type */

char e; /* character type */

float f; /* floating point type */

double g; /* double precision floating point */

a = 1023;

b = 2222;

c = 123;

d = 1234;

e = 'X';

f = 3.14159;

g = 3.1415926535898;

printf("a = %d\n", a); /* decimal output */

printf("a = %o\n", a); /* octal output */

printf("a = %x\n", a); /* hexadecimal output */

printf("b = %ld\n", b); /* decimal long output */

printf("c = %d\n", c); /* decimal short output */

printf("d = %u\n", d); /* unsigned output */

printf("e = %c\n", e); /* character output */

printf("f = %f\n", f); /* floating output */

printf("g = %f\n", g); /* double float output */

printf("\n");

printf("a = %d\n", a); /* simple int output */

printf("a = %7d\n", a); /* use a field width of 7 */

printf("a = %-7d\n", a); /* left justify in field of 7 */

c = 5;

d = 8;

printf("a = %*d\n", c, a); /* use a field width of 5 */

printf("a = %*d\n", d, a); /* use a field width of 8 */

printf("\n");

printf("f = %f\n", f); /* simple float output */

printf("f = %12f\n", f); /* use field width of 12 */

printf("f = %12.3f\n", f); /* use 3 decimal places */

printf("f = %12.5f\n", f); /* use 5 decimal places */

printf("f = %-12.5f\n", f); /* left justify in field */

return 0;

}

PERHATIKAN TABLE berikut ini

# Category ³ Operator ³ What it is (or does)

---------------------------------------------------------------------------

1. Highest ³ () ³ Function call

³ [] ³ Array subscript

³ -> ³ C++ indirect component selector

³ :: ³ C++ scope access/resolution

³ . ³ C++ direct component selector

---------------------------------------------------------------------------

2. Unary ³ ! ³ Logical negation (NOT)

³ ~ ³ Bitwise (1's) complement

³ + ³ Unary plus

³ - ³ Unary minus

³ ++ ³ Preincrement or postincrement

³ -- ³ Predecrement or postdecrement

³ & ³ Address

³ * ³ Indirection

³ sizeof ³ (returns size of operand, in bytes)

³ new ³ (dynamically allocates C++ storage)

³ delete ³ (dynamically deallocates C++ storage)

---------------------------------------------------------------------------

3. Multipli- ³ * ³ Multiply

cative ³ / ³ Divide

³ % ³ Remainder (modulus)

---------------------------------------------------------------------------

4. Member ³ .* ³ C++ dereference

access ³ ->* ³ C++ dereference

---------------------------------------------------------------------------

5. Additive ³ + ³ Binary plus

³ - ³ Binary minus

---------------------------------------------------------------------------

6. Shift ³ << ³ Shift left

³ >> ³ Shift right

---------------------------------------------------------------------------

7. Relational ³ < ³ Less than

³ <= ³ Less than or equal to

³ > ³ Greater than

³ >= ³ Greater than or equal to

---------------------------------------------------------------------------

8. Equality ³ == ³ Equal to

³ != ³ Not equal to

---------------------------------------------------------------------------

9. ³ & ³ Bitwise AND

---------------------------------------------------------------------------

10. ³ ^ ³ Bitwise XOR

---------------------------------------------------------------------------

11. ³ | ³ Bitwise OR

---------------------------------------------------------------------------

12. ³ && ³ Logical AND

---------------------------------------------------------------------------

13. ³ || ³ Logical OR

---------------------------------------------------------------------------

14. Conditional³ ?: ³ (a ? x : y means "if a then x, else y")

---------------------------------------------------------------------------

15. Assignment ³ = ³ Simple assignment

³ *= ³ Assign product

³ /= ³ Assign quotient

³ %= ³ Assign remainder (modulus)

³ += ³ Assign sum

³ -= ³ Assign difference

³ &= ³ Assign bitwise AND

³ ^= ³ Assign bitwise XOR

³ |= ³ Assign bitwise OR

³ <<= ³ Assign left shift

³ >>= ³ Assign right shift

---------------------------------------------------------------------------

16. Comma ³ , ³ Evaluate

---------------------------------------------------------------------------

contoh programnya

-----------------

#include

int main()

{

char mask;

char number[6];

char and, or, xor, inv, index;

number[0] = 0X00;

number[1] = 0X11;

number[2] = 0X22;

number[3] = 0X44;

number[4] = 0X88;

number[5] = 0XFF;

printf(" nmbr mask and or xor inv\n");

mask = 0X0F;

for (index = 0 ; index <= 5 ; index++)

{

and = mask & number[index];

or = mask | number[index];

xor = mask ^ number[index];

inv = ~number[index];

printf("%5x %5x %5x %5x %5x %5x\n",

number[index], mask, and, or, xor, inv);

}

printf("\n");

mask = 0X22;

for (index = 0 ; index <= 5 ; index++)

{

and = mask & number[index];

or = mask | number[index];

xor = mask ^ number[index];

inv = ~number[index];

printf("%5x %5x %5x %5x %5x %5x\n",

number[index], mask, and, or, xor, inv);

}

return 0;

}

BAB II : Perulangan

Terkadang sangat melelahkan jika kita mencetak sebuah kata "hello world " sebanyak 1000 kali dengan adanya perulangan semua jadi simple! macam-macam perulangan yang terdapat pada Bahaca c :

1.for

2.while

3.do-while

contoh pemakaian sebagai berikut :

--------------------------------

1. for (awal ;kondisi ;akhir)

{

}

Perhatikan soure code dibawah ini

contoh :

#include

int main()

{

int angka;

for(angka = 0 ; angka < angka =" angka">

printf("gayo ganteng lo\n");

return 0;

}

/* Outputnya : mencetak gayo ganteng sebanyak seribu kali (perhatikan kondisinya)

Jika bernilai True (benar) maka statement didalam { } akan dijalankan

Jika bernilai False kondisi didalam perulangan tidak akan dijalankan

*/

2.while

contoh pemakaian sebagai berikut :

--------------------------------

awal =0;

while (kondisi) {

awal=awal+1; /// variabel awal akan bertambah sesuai dengan dengan kondisi didalam = while(kondisi)

}

contoh :

#include

int main()

{

int index;

index = 0;

while (index <>

{

printf("mr.Udien\n");

index = index + 1;

}

return 0;

}

3.do-while

contoh pemakaian sebagai berikut :

--------------------------------

awal =0;

do{

awal=awal+1

}while(kondisi)

contoh :

#include

int main()

{

int index;

index = 0;

do

{

printf("oh_gayo\n");

index = index + 1;

} while (index <>

return 0;

}

note :

awal=awal+1; /// dapat ditulis dengan awal+=1; (ini sama saja artinya)

nilai awal selalu ditambah dengan angka satu, contoh :

int main()

{

int x = 0, y = 2, z = 1025;

float a = 0.0, b = 3.14159, c = -37.234;

x = x + 1;

x++;

++x;

z = y++;

z = ++y;

y = y - 1;

y--;

--y;

y = 3;

z = y--;

z = --y;

a = a + 12;

a += 12;

a *= 3.2;

a -= b;

a /= 10.0;

a = (b >= 3.0 ? 2.0 : 10.5 );

if (b >= 3.0)

a = 2.0;

else

a = 10.5;

c = (a > b ? a : b);

c = (a > b ? b : a);

return 0;

}

Gimana dengan konstanta suatu nilai :

kita dapat menggunakan #DEFINE

Contoh :

#define START 0

#define ENDING 9

#define MAX(A,B) ((A)>(B)?(A):(B))

#define MIN(A,B) ((A)>(B)?(B):(A))

int main()

{

int index, mn, mx;

int count = 5;

for (index = START ; index <= ENDING ; index++)

{

mx = MAX(index, count);

mn = MIN(index, count);

printf("Max is %d and min is %d\n", mx, mn);

}

return 0;

}

BAB III : Kondisi

Kondisi sangat perlu sebagai pembatas atau pengecekan suatu nilai, ada 2 bentuk penulisan kondisi :

1. if

2. switch -case

1. if(kondisi) {

}

if(kondisi ){

}else{

if(kondisi){

}else{

}

}

contoh pemakaian sebagai berikut :

--------------------------------

a = 4;

if (a <>

if (a <>

//akan mengeksekusi didalam sini

}

if (a <>

//akan mengeksekusi didalam sini Jika kondisinya berlaku benar

}else{ //selain itu

//akan mengeksekusi didalam sini jika Kondisinya berlaku salah

}

1. switch-case

contoh pemakaian sebagai berikut :

--------------------------------

awal = 4;

swicth(awal){

case '1' : printf("ini angka 1"); break;

case '2' : printf("ini angka 2"); break;

case '3' : printf("ini angka 3"); break;

case '4' : printf("ini angka 4"); break;

default : printf("angka tersebut tidak ada");

}

perhatikan source diatas

pertama kali awal=4

sewaktu masuk kedalam kondisi swith(kondisi)

apakah 4 termasuk didalam switch

jika terdapat maka baris : printf("ini angka 4"); //akan dijalankan

jika tidak terdapat maka akan lompat ke default : printf("angka tersebut tidak ada");

coba sekarang anda rubah awal =1;

apa yang terjadi ? // pikirkan sendiri :p

Contoh lain:

operand =ADD;

switch (operand) {

case MULTIPLY: x *= y; break;

case DIVIDE: x /= y; break;

case ADD: x += y; break;

case SUBTRACT: x -= y; break;

case INCREMENT2: x++;

case INCREMENT1: x++; break;

case EXPONENT:

case ROOT:

case MOD: printf("Not done\n"); break;

default: printf("Bug!\n");

exit(1);

}

contoh kombinasinya :

-------------------

#include

int main()

{

int index;

for(index = 1 ; index < index =" index">

{

if ((index >= 32) && (index <= 39))

printf("%5d\n", index);

}

return 0;

}

atau bentuk begini

#include

int main()

{

int index;

index = 1;

do

{

printf("nilai sekarang %2d",index);

if (index == 3)

printf(" ini sama dengan 3.");

if (index == 7)

printf(" ini sama dengan 7.");

printf("\n");

index = index + 1;

} while (index <>

return 0;

}

----- pikirkan kembali bentuk seperti dibawah ini ----------------

#include

#define OPTION_1 /* This defines the preprocessor control */

#define PRINT_DATA /* If this is defined, we will print */

#ifndef OPTION_1

int count_1 = 17; /* This exists if OPTION_1 is not defined */

#endif

int main()

{

int index;

#ifndef PRINT_DATA

printf("No results will be printed with this version of "

" the program IFNDEF.C\n");

#endif

for (index = 0 ; index <>

{

#ifdef PRINT_DATA

printf("In the loop, index = %d", index);

#ifndef OPTION_1

printf(" count_1 = %d", count_1); /* This may be printed */

#endif

printf("\n");

#endif

}

return 0;

}

// apakah anda bisa membayangkannya ? apa maksud dari #ifndef - #endif

?

contoh Mengenal enum

contoh pemakaian sebagai berikut :

--------------------------------

#include

int main()

{

enum {WIN, TIE, BYE, LOSE, NO_SHOW} result;

enum {SUN, MON, TUE, WED, THU, FRI, SAT} days;

result = WIN;

printf(" WIN = %d\n", result);

result = LOSE;

printf(" LOSE = %d\n", result);

result = TIE;

printf(" TIE = %d\n", result);

result = BYE;

printf(" BYE = %d\n", result);

result = NO_SHOW;

printf("NO_SHOW = %d\n\n", result);

for(days = MON ; days <>

printf("The day code is %d\n", days);

return 0;

}

BAB IV : fungsi

Bayangkan jika program anda sekarang dalam baris yang sangat panjang, merepotkan sekali bukan nah dengan fungsi kita dapat menyederhakan sebuah program menjadi jelas dan mudah di baca

okeh.. kita mulai lagi.

contoh pemakaian sebagai berikut :

--------------------------------

#include

void writename(); // ini sebuah fungsi

void writename() // ini sebuah fungsi bernama writename()

{

printf("Oh_gayo\n");

}

int main()

{

int index;

for(index = 0 ; index < index =" index">

writename(); // panggil fungi yang bernama writename();

return 0;

}

contoh lain ;

#include

int tempcalc(int centtemp);

int main()

{

int count;

int farenheit; /* temperature farenheit */

int centigrade; /* temperature centigrade */

printf("Table Farenheit temperature \n\n");

for(count = -2 ; count <= 12 ; count = count + 1)

{

centigrade = 10 * count;

farenheit = tempcalc(centigrade);

printf(" C =%4d F =%4d ", centigrade, farenheit);

if (centigrade == 0)

printf(" Freezing point of water");

if (centigrade == 100)

printf(" Boiling point of water");

printf("\n");

} /* akhir dari perulangan*/

return 0;

}

int tempcalc(int centtemp)

{

int faren;

faren = 32 + (centtemp * 9)/5;

return (faren);

}

note :

ingat , didalam sebuah program terdapat yang namanya variabel local dan grobal, jika kita ingin melempar sebuah varibel kesuatu fungsi maka kita dapat melakukan hal sebagai berikut

model passing by value

----------------------

void fungsi (int tampung){

printf("%d",tampung); /// disini nilai 5 akan tercetak dari operan

dibawah

}

void main(){

int a=5;

cetak(a); ///lempar variabel a ke fungsi cetak diatas

}

gimana jika kita ingin melempar sebuah 2 buah varibel

void fungsi (int tampung, float tampung1){

printf("%d",tampung); /// disini nilai 5 akan tercetak dari operan dibawah

printf("%f",tampung1); /// disini nilai 4.5 akan tercetak dari operan dibawah

}

void main(){

int a=5;

float b=4.5

cetak(a,b); ///lempar variabel a ke fungsi cetak diatas

}

model passing by pointer

------------------------

void testing(int &a){

printf("%d",*a);

}

void main(){

int a=5;

testing(&a);

}

perhatikan tipe data yang anda lemparkan ,,, dia harus di tampung didalam tipe yang sama (jika memungkinkan)

contoh kombinasi :

#include

void header(void);

void square(int number);

void ending(void);

int sum; /* ini global variable */

int main(void)

{

int index; // ini local variabel

header(); /* ini memanggil fungsi header */

for (index = 1 ; index <= 7 ; index++)

square(index); /* ini memanggil fungsi square */

ending(); /* ini memanggil fungsi ending */

return 0;

}

void header(void) /* ini fungsi header */

{

sum = 0; /* inisialisasi dari sum=0 */

printf("ini adalah header dari square program\n\n");

}

void square(int number) /* ini fungsi square */

{

int numsq;

numsq = number * number;

sum += numsq;

printf("nilai square %d adalah %d\n", number, numsq);

}

void ending(void) /* ini fungsi ending */

{

printf("\njumlah dari square adalah %d\n", sum);

}

/* ouputnya

ini adalah header dari square program

nilai square 1 adalah 1

nilai square 2 adalah 4

nilai square 3 adalah 9

nilai square 4 adalah 16

nilai square 5 adalah 25

nilai square 6 adalah 36

nilai square 7 adalah 49

jumlah dari square adalah :140

*/

BAB V: Mengenal Array

Array adalah kumpulan tipe data yang sejenis, kita dapat mendeklarasikan Array kedalam berbagai Dimensi

tampung[5]; // 1 Dimensi

tampung[5][5]; // 2 Dimensi

tampung[5][5][3]; // 3 Dimensi

...

.......

dan seterusnya

cara pendeklarasian :

int tampung[5];

float tampung[5];

char tampung[20];

int tampung[5][5];

angka 5 menjelaskan bawah kita mempunyai 5 data didalam variabel tampung cara pengisian langsung ;

int tampung[5] ={1,2,3,4,5};

float tampung[5] = { 1.0.2.0.3.0.4.0.5.0};

char tampung[5] = {'a','b','c','d','e'};

contoh pemakaian sebagai berikut :

--------------------------------

#include

#include

char my_string[20] = "C hebat!";

int main()

{

int index;

printf("%s\n", my_string);

for (index = 0 ; my_string[index] ; index = index + 1)

printf("%c", my_string[index]);

printf("\n");

for(index = strlen(my_string) ; index > 0 ; index = index - 1)

printf("%c", my_string[index - 1]);

printf("\n");

return 0;

}

contoh lain :

#include

#include

int main()

{

int index;

char stuff[20], *pt;

strcpy(stuff, "This is a neat test.");

pt = stuff;

for(index = 0 ; index <>

{

printf("A character is ---> %c\n", *pt);

pt++;

}

return 0;

}

#include

#include

int main()

{

int index;

char string1[6], string2[6], string3[6], all_three[18];

strcpy(string1, "one"); //mencopy string "one" kedalam varibel

string1

strcpy(string2, "two"); //idem

strcpy(string3, "three"); // idem

strcpy(all_three, string1);

strcat(all_three, " "); // mengosongkan isi variabel all_tree;

strcat(all_three, string2); // gabungkan isinya

strcat(all_three, " ");

strcat(all_three, string3);

for(index = 0 ; index < index =" index">

printf("hasil stringnya ---> %s\n", all_three);

return 0;

}

#include

int main()

{

int index, array1[10], array2[10], arrays[10];

for(index = 0 ; index < index =" index">

{

array1[index] = 2 + 2 * index;

array2[index] = 10 * (index + 1);

}

for(index = 0 ; index < index =" index">

arrays[index] = array1[index] + array2[index];

for(index = 0 ; index < index =" index">

printf("%4d %4d + %4d = %4d\n", (index + 1), array1[index],

array2[index], arrays[index]);

return 0;

}

Contoh penggunaan Array 2 Dimensi

--------------------------------

#include

int main()

{

int i, j;

int big[8][8], large[25][12];

for (i = 0 ; i <>

for (j = 0 ; j <>

big[i][j] = i * j; /* perkalian tables */

for (i = 0 ; i <>

for (j = 0 ; j <>

large[i][j] = i + j; /* penambahan tabel*/

big[2][6] = large[24][10] * 22;

big[2][2] = 5;

big[big[2][2]][big[2][2]] = 177; /* big[5][5] = 177; */

for (i = 0 ; i <>

{

for (j = 0 ; j <>

printf("%5d ", big[i][j]);

printf("\n");

}

return 0;

}

BAB VI: Bermain dengan file

untuk bermain dengan file kita harus mendeklarasikannya terlebih dahulu;

contoh;

FILE *ptrfile ; //pointer penunjuk kesebuah file

ptrfile = fopen(outfilename, "w"); /// membuka suatu file ,ditampung disebuah ptrfile

fclose (outfilename); // menutup kembali file yang barusan dibuka

perhatikan tanda "w " , itu disebut dengan modus

modus sangat perlu jika kita bermain dengan file :

r ³ Open for reading only

w ³ Create for writing

³ If a file by that name already exists, it will be overwritten.

a ³ Append; open for writing at end of file, or create for

³ writing if the file does not exist.

r+ ³ Open an existing file for update (reading and writing)

w+ ³ Create a new file for update (reading and writing).

³ If a file by that name already exists, it will be overwritten.

a+ ³ Open for append; open for update at the end of the file, or

³ create if the file does not exist.

contoh :

#include

int main()

{

FILE *infile, *outfile, *printer;

char infilename[25], outfilename[25];

int c;

printf("Enter input file name ----> ");

scanf("%s", infilename);

infile = fopen(infilename, "r");

printf("Enter output file name ---> ");

scanf("%s", outfilename);

outfile = fopen(outfilename, "w");

printer = fopen("PRN", "w");

do

{

c = getc(infile);

if (c != EOF)

{

putchar(c);

putc(c, outfile);

putc(c, printer);

}

} while (c != EOF);

fclose(printer);

fclose(infile);

fclose(outfile);

return 0;

}

contoh lain :

#include

int main()

{

FILE *infile;

char *c, infilename[25], inputline[100];

int line = 1;

printf("Enter input file name ----> ");

scanf("%s", infilename);

infile = fopen(infilename, "r");

printf("%5d", line);

do

{

c=fgets(inputline, 100, infile); /* baca perbaris */

if (c != NULL)

{

printf("%5d %s", line, inputline);

line++;

}

} while (c != NULL);

fclose(infile);

return 0;

}

#include

int main()

{

FILE *fp1;

char oneword[100], filename[25];

char *c;

printf("Enter filename -> ");

scanf("%s", filename); /* baca nama file */

fp1 = fopen(filename, "r");

if (fp1 == NULL)

{

printf("File doesn't exist\n");

exit (1);

}

else

{

do

{

c = fgets(oneword, 100, fp1); /* baca perbaris dari file*/

if (c != NULL)

printf("%s", oneword); /* tampilkan dimonitor */

} while (c != NULL); /* ulangi sampai ketemu NULL

*/

}

fclose(fp1);

return 0;

}

BAB IX: Mengenal struct

struct dalah kumpulan dari berbagai tipe data menjadi satu.

cara pendeklarasian :

struct nama{

int a;

float b ; // berbeda bisa dijadikan dalam 1 struct;

char z;

};

contoh pemakaian sebagai berikut :

--------------------------------

struct nama{

int a;

float b ;

char z;

};

void main() {

nama.a =5;

nama.b =4.0;

nama.z = 'a';

}

contoh lain berupa Array of struct

#include

#include

struct

{

char what[25];

int legs, arms;

} object[6];

int main()

{

int index;

strcpy(object[0].what, "human being");

object[0].legs = 2;

object[0].arms = 2;

strcpy(object[1].what, "dog");

object[1].legs = 4;

object[1].arms = 0;

strcpy(object[2].what, "television set");

object[2].legs = 4;

object[2].arms = 0;

strcpy(object[3].what, "chair");

object[3].legs = 4;

object[3].arms = 2;

strcpy(object[4].what, "centipede");

object[4].legs = 100;

object[4].arms = 0;

strcpy(object[5].what, "spider");

object[5].legs = 6;

object[5].arms = 0;

for(index = 0 ; index <>

{

printf("A %s has %d legs and %d arms.\n", object[index].what,

object[index].legs, object[index].arms);

}

return 0;

}

contoh kombinasinya , menggunakan pointer:

#include

#include

struct

{

char what[25];

int legs, arms;

} object[6], *point;

int main()

{

int index;

strcpy(object[0].what, "human being");

object[0].legs = 2;

object[0].arms = 2;

strcpy(object[1].what, "dog");

object[1].legs = 4;

object[1].arms = 0;

strcpy(object[2].what, "television set");

object[2].legs = 4;

object[2].arms = 0;

strcpy(object[3].what, "chair");

object[3].legs = 4;

object[3].arms = 2;

strcpy(object[4].what, "centipede");

object[4].legs = 100;

object[4].arms = 0;

strcpy(object[5].what, "spider");

object[5].legs = 6;

object[5].arms = 0;

point = object;

for(index = 0 ; index <>

{

printf("A %s has %d legs and %d arms.\n", point->what,

point->legs, point->arms);

point++;

}

return 0;

}

#include

#include

struct child

{

char initial;

int age;

int grade;

} *boy, *girl;

int main()

{

boy = (struct child *)malloc(sizeof(struct child));

boy->initial = 'R';

boy->age = 15;

boy->grade = 75;

girl = (struct child *)malloc(sizeof(struct child));

girl->age = boy->age - 1;

girl->grade = 82;

girl->initial = 'H';

printf("%c is %d years old and got a grade of %d\n",

girl->initial, girl->age, girl->grade);

printf("%c is %d years old and got a grade of %d\n",

boy->initial, boy->age, boy->grade);

return 0;

}

#include

#include

struct child

{

char initial;

int age;

int grade;

} *kids[12];

int main()

{

int index;

for (index = 0 ; index <>

{

kids[index] = (struct child *)malloc(sizeof(struct child));

kids[index]->initial = 'A' + index;

kids[index]->age = 16;

kids[index]->grade = 84;

}

kids[3]->age = kids[5]->age = 17;

kids[2]->grade = kids[6]->grade = 92;

kids[4]->grade = 57;

*kids[10] = *kids[4]; /* Structure assignment */

for (index = 0 ; index <>

printf("%c is %d years old and got a grade of %d\n",

kids[index]->initial, kids[index]->age,

kids[index]->grade);

return 0;

}

BAB X: Program Penekanan tombol keybord

#include

#include

int main()

{

char input_char;

printf("Hit any key - to stop hit a $\n");

do

{

input_char = getch();

printf("Input character is %c, numerical value is %3d\n",

input_char, input_char);

} while (input_char != '$');

return 0;

}

contoh lain

#include

#include

char storage[80];

int main()

{

char c;

int index = 0;

printf("Tekan sembarang character, keluar dari program tekan X\n");

do

{

c = getch(); /* ambil sebuah character */

if (index <>

{

storage[index] = c;

index++;

}

putchar(c); /* tampilkan hit key */

} while (c != 'X');

storage[index] = 0;

printf("%s\n", storage);

printf("\nAkhir dari program.\n");

return 0;

}

Waw... asik juga berkomunikasi dengan komputer dikala suntuk!

ini adalah dasar-dasar pemprograman C. kembangkan lagi sesuai kreatifitas dan imajinasi anda. semoga kita tidak hanya menjadi script kidde terus!, yang tahunya hanya mengcompile dan binggung jika terjadi error :)) .

NOTE : Semua program ini dibuat dan dicompile dengan Borland C 3.1.

Pemberitahuan :

---------------

1. Artikel ini dimaksudkan untuk bahan pelajaran siapa saja yang ingin mengembangkan pengetahuan programming .

2. Dilarang mempublis tanpa mengikutsertakan nama penulis, dengan harapan ingin dianggap Hacker ato apalah ?

3. Jika ada pertanyaan kirimkan ke Email penulis

4. Mohon Maaf jika ada salah kata2 renjana@hackermail.com

0 comments:

Post a Comment