#include'stdio



LATIHAN

Perbaikilah program berikut ini hingga benar, kesalahan dapat berupa penggunaan

perintah atau fungsi yang salah, cara penulisan pernyataan yang salah dan sebagainya ?

1./*MENGOREKSI PROGRAM YANG SALAH*/

#include"stdio.h"

#include"conio.h"

void main()

{

Char [20];

int usia;

printf("\nInput nama anda :");

gets(&nama);

printf("\nInput usia anda :");

scanf("%d",usia);

if (usia=25)

printf("\nandalah karyawan yang dibutuhkan, %s",nama[20]);

}

2. fungsi penyimpanan gets dan cgets

#include"stdio.h"

#include"conio.h"

void main()

{

char nama[20],nama2[20];

printf("\nInputkan nama anda : ");

gets(nama1);

printf("\nsekali lagi ? :");

cgets(nama2);

printf("\n%c",nama1[2]);

printf("\n%c",nama2[2]);

printf("\n%d",nama1[2]);

printf("\n%d",nama2[2]);

getch();

}

1. Makro

Makro dapat dianggap sebagai sebuah fungsi yang sederhana. Beberapa pernyataan dan perintah yang perlu dipelajari sebelum anda mulai menyusun suatu makro adalah :

Preprocessor directives, #define,dan #include.

- Preprocessor directives selalu diawali dengan tanda : #

- Fungsi #define : mendefinisikan suatu nilai tertentu kepada suatu nama konstanta.

- Fungsi #include : berfungsi untuk memasukkan file-fle header kedalam program anda.

- Bentuk umum Preprocessor directives #define nama_konstanta text.

- Text ini dapat berupa :

1. numeric Ex: #define PI 3.14432

2. karakter Ex: #define ABJAD ‘A’

3. string Ex: #define NAMA “AMIR”

4. pernyataan Ex:#define CETAK printf(“\nBagus

sekali”)

A. Preprocessor directives

Ex 1: Preprocessor directives

#include

#include

Void main()

{

Int n=4,m,p;

M=n*2;

P=n+m;

Printf(”%d %d”,m,p);

}

Ex 2: Preprocessor directives

#include

#include

#define N 4 /*Preprocessor directives*/

void main()

{

int m,p;

m=N*2; /*nilai n diganti dulu dengan 4 br diterjamahkan

kedalam bahasa mesin*/

p=N+m;

printf("%d%d",m,p);

}

B. #define

Ex a: Luas lingkaran dengan #define

#include

#include

#define PI 3.14

#define L(n) PI*n*n

void main()

{

clrscr;

printf("\nLUAS LINGKARAN DENGAN JARI-JARI: ");

printf("\nt5 :%.3f",L(5));

printf("\nt10 :%.3f",L(10));

printf("\nt15 :%.3f",L(15));

}

Ex b: Luas lingkaran dengan #define

#include

#include

float l(int n);

main()

{

clrscr();

printf("\nLUAS LINGKARAN DENGAN JARI-JARI:\n");

printf("\nt5 :%.3f",3.14*5*5);

printf("\nt10 :%.3f",3.14*10*10);

printf("\nt15 :%.3f",3.14*15*15);

getch();

}

* Keuntungan dan karugian mendefinisikan suatu fungsi lewat makro dibandingkan membuat fungsi tersendiri?

1. Makro hannya dapat digunakan untuk membuat suatu fungsi yang sederhana, dimana penulisan rumusnya tidak lebih dari satubaris, sedangkan fungsi dapat digunakan untuk masalah-masalah yang lebih komplek.

2. dari segi pengguaan memori. Makro umumnya membutuhkan memori lebih besar dari pada fungsi, karena semua makro yang terdapat dalam program akan diubah lebih dahulu sesuai dengan apa yang telah didefinisikan, sebelum mulai dikompilasi. Bila makro berupa suatu pernyataan yang cukup panjang dan digunakan dengan tingkat pengulangan yang tinggi, maka program anda akan membengkak sebaliknya fungsi akan dicompile seperti apa adanya, tampa mengadakan perubahan-perubahan terhadap program.

Ex: Membuat fungsi luas lingkaran

#include

#include

float L(int n);

void main()

{

clrscr();

printf("\nLUAS LINGKARAN DENGAN JARI-JARI :");

printf("\nt5 :%.3f",L(5));

printf("\nt10 :%.3f",L(10));

printf("\nt15 :%.3f",L(15));

getch();

}

Float L(int n)

{

return(3.14*n*n);

}

C. #include

Bentuk umum #include adalah:

#include ”nama_file_header” atau include < nama_file_header>

Ex: #include “stdio.h” atau #include

Kedua bentuk ini memiliki perbedaan, bila nama header diletakkan diantara tanda tanda kutip ganda (“), artinnya pertama kali compiler disuruh mencari file header ini pada file directory dimana file editor (file yang sedang anda kerjakan yang mengandung perintah. #include tadi sering disebut juga sebagai source file) berada, dan bila file header tidak ditemukan dalam directory ini, maka akan dilanjutkan pada directory lain. Sedangkan untuk tanda compiler ini akan mencari file header ini pada directory-directory yang ada.

Ex: header

#include"stdio.h"

#include"conio.h"

void hapus_layar()

{

printf("\x1b[2j");

}

main()

{

clrscr();

hapus_layar();

printf("\nproses include");

getch();

}

Ex: header (kutu pulang kandang)

*penggunaan perintah-perintah ANSI.SYS*/

#define PNH_ATAS "\x1b[A"

#define PNH_BWH "\x1b[B"

#define PNH_KA "\x1b[C"

#define PNH_KI "\x1b[D"

#define HPS_LYR printf("\x1b[2j")

#define NORMAL "\x1b[om"

#define KEDIP "\x1b[5m"

#define SIMPAN printf("\x1b[s")

#define KEMBALI printf("\x1b[u")

#define POSISI(x,y) printf("\x1b%d;%df",y,x)

#define KARAKTER printf("%c",1)

main()

{

char a;

int b,x=40,y=10;

HPS_LYR;

bingkai(20,9,60,14);

judul();

getch();

HPS_LYR;

garis_h(1,79,3);

garis_h(1,79,21);

POSISI(1,1); printf("untuk menggerakkan karakter : --> tujuan=atoi(tj);

switch(ptr->tujuan)

{

case 1:

atiket=50000;

break;

case 2:

atiket=11000;

break;

case 3:

atiket=15000;

break;

case 4:

atiket=65000;

break;

}

gotoxy(KIRI+5,ATAS+9);printf("TANGGAL PESAN (tg-bl-th) :");

gets(tgl);

dummy=strtok(tgl,".,-/");

i=0;

while(dummy!=NULL)

{

tanggal[i]=atoi(dummy);

dummy=strtok(NULL,".,-/");

i++;

}

ptr->tg1=tanggal[0];ptr->bl1=tanggal[1];ptr->th1=tanggal[12];

gotoxy(KIRI+5,ATAS+10);printf("TANGGAL BERANGKAT (tg-bl-th) :");

gets(tgl);

dummy=strtok(tgl,".-/");

i=0;

while(dummy!=NULL)

{

tanggal[i]=atoi(dummy);

dummy=strtok(NULL,".,-/");

i++;

}

ptr->tg2=tanggal[0];ptr->bl2=tanggal[1];ptr->th2=tanggal[2];

nl_h_pesan=k_tanggal(ptr->tg1,ptr->bl1,ptr->th1);

nl_h_brk=k_tanggal(ptr->tg2,ptr->bl2,ptr->th2);

sls_hari=nl_h_brk-nl_h_pesan;

if(sls_hari>=10)

ptr->bayar=0.9*ptr->jml*atiket;

else

ptr->bayar=ptr->jml*atiket;

gotoxy(KIRI+5,ATAS+11);printf("HARGA SATUAN TIKET :rp. %.2f",

atiket);

gotoxy(KIRI+5,ATAS+12);printf("BIAYA TIKET : rp. %.2f",

ptr->bayar);

gotoxy(KIRI+5,ATAS+14);printf("ADA DATA LAGI (Y/T) :");

jwb=getche();

if(jwb=='y'|| jwb=='y')

ptr->p_1jt=(struct pesan *)malloc (sizeof(struct pesan));

else

ptr->p_1jt=(struct pesan *)NULL;

ptr=ptr->p_1jt;

}

while (jwb=='y'|| jwb=='y');

getch();

}

bingkai(kiri,atas,kanan,bawah);

{

int i;

gotoxy(kiri,atas); printf("\xC9");

for(i=1;i ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download