mp3 Player

Efek klik kanan

Rabu, 22 Juni 2016

Belajar Bahasa C





Learn C Cahya ganteng :v


################################################

Bahasa merupakan salah satu yang terpenting untuk berkomunikasi!, bayangkan jika anda bisa berdialog dengan komputer asik juga bukan ? nah berikut ini penulis akan membahas sedikit gimana cara berkomunikasi dengan komputer dengan bahasa pemprograman bahasa tingkat Tinggi yaitu Bahasa C selaku bahasa Tingkat tinggi,dasar pemprograman yang banyak dikembangkan sampai jaman sekarang ini, C telah banyak membantu perkembangan Bahasa komputer sebagai contoh banyak software canggih yang telah dilahirkannya seperti Keluarga Linux. terlalu panjang untuk dijabarkan disini!


oke kita mulai Belajar C dari tingkat dasar !

BAB I :

Bentuk dasar :
-------------
void main(){
//disini badan program diproses
}

#include
int main()
{
printf("Cahya lagi Nembak Pake sniffer\n");
return 0;
}

Hasil keluarannya tampak dimonitor anda:
----------------------------------------
Cahya  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("./RobinMasterGrayFox\n");
printf("----------\n");
printf("Renjana Administrator\n");
printf("Komunity Millw0rm 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 < 1000 ; angka = angka + 1)
printf("Cahya  ganteng lo\n");
return 0;
}
/* Outputnya : mencetak Cahya  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 < 10)
{
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("Cahya\n");
index = index + 1;
} while (index < 10);

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 < 2 ) // apakah a lebih besar dari 4

if (a < 2 ) { // apakah a lebih besar dari 4
//akan mengeksekusi didalam sini
}

if (a < 2 ) { // apakah a lebih besar dari 4

//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 < 101 ; index = index + 1)
{
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 < 11);

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 < 6 ; 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 < FRI ; 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("Cahya\n");
}

int main()
{
int index;

for(index = 0 ; index < 10 ; index = index + 1)
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 < 20 ; 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 < 10 ; index = index + 1)
printf("hasil stringnya ---> %s\n", all_three);
return 0;
}


#include
int main()
{
int index, array1[10], array2[10], arrays[10];

for(index = 0 ; index < 10 ; index = index + 1)
{
array1[index] = 2 + 2 * index;
array2[index] = 10 * (index + 1);
}

for(index = 0 ; index < 10 ; index = index + 1)
arrays[index] = array1[index] + array2[index];

for(index = 0 ; index < 10 ; index = index + 1)
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 < 8 ; i++)
for (j = 0 ; j < 8 ; j++)
big[i][j] = i * j; /* perkalian tables */

for (i = 0 ; i < 25 ; i++)
for (j = 0 ; j < 12 ; 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 < 8 ; i++)
{
for (j = 0 ; j < 8 ; 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 < 6 ; 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 < 6 ; 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 < 12 ; 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 < 12 ; 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 < 79) /* batas dari 79 characters */
{
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 cahyakm11@gmail.com


Report buqs: cahyakm11@gmail.com


0 komentar:

Posting Komentar