Tampilkan postingan dengan label Bahasa C. Tampilkan semua postingan
Tampilkan postingan dengan label Bahasa C. Tampilkan semua postingan

Rabu, 20 April 2011

Union

Berikut adalah contoh Union didalam pemrograman bahasa C :


Contoh 1
/* ------------------------------------- */
/* File program: UNION1.C                */
/* Contoh pendeklarasian dan pengaksesan */
/* variabel union                        */
/* ------------------------------------- */

   #include 

   main()
   {
   union {
   unsigned int di;
   unsigned char dc[2];
   } bil_x;                /* variabel union */

   bil_x.di = 321;
   printf("di = %d dc[0] = %d dc[1] = %d\n", bil_x.di,
    bil_x.dc[0], bil_x.dc[1]);
   getch();

   }
Contoh 2
/* ------------------------------------ */
/* File program: UNION2.C               */
/* Contoh mengubah nilai variabel unin  */
/* melalui fungsi                       */
/* ------------------------------------ */

#include 

union bil_bulat
   { unsigned int di;
  unsigned char dc[2];
   };                             /* definisi tipe union */

void beri_nilai(union bil_bulat *x); /* deklarasi fungsi */

main()
{
   union bil_bulat bil_x;    /* deklarasi variabel union */

   beri_nilai(&bil_x);       /* melewatkan alamat union  */
   printf("di = %d dc[0] =%d dc[1] = %d\n",bil_x.di,
   bil_x.dc[0],bil_x.dc[1]);
 getch();
}

void beri_nilai(union bil_bulat *x)
{
x->di=321;    /* elemen di yang ditunjuk */
     /* oleh x diberi nilai 361 */
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Typedef

Berikut adalah contoh Typedef didalam pemrograman bahasa C :


Contoh 1
/* --------------------------------------- */
/* file program: TYPEDEF.C   */
/* contoh menggunakan typedef */
/* --------------------------------------- */
#include "stdio.h"

typedef unsigned char BYTE;   /* BYTE merpakan nama baru dari unsigned char */

BYTE beri_nilai_awal(void);   /* deklarasi fungsi */

main()
{
 BYTE kode;                /* deklarasi variabel karakter */

 kode=beri_nilai_awal();
 printf("Isi kode = %u\n",kode);
 getch();
}

BYTE beri_nilai_awal(void)
{
 return(143);
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Enumerasi

Berikut adalah contoh Enumerasi didalam pemrograman bahasa C :


Contoh 1
/* ----------------------------------------- */
/* file program : ENUM1.C  */
/* contoh menggunakan enumerasi */
/* ----------------------------------------- */
#include "stdio.h"
main()
{
 enum manusia{ pria,wanita };   /* definisi tipe */
 enum manusia jns_kelamin;      /* deklarasi variabel */

 jns_kelamin=pria;    /* diisi dengan pria */
 printf("Isi jenis kelamin = %d\n",jns_kelamin);

 jns_kelamin=wanita;   /* diisi dengan wanita */
 printf("Isi jns_kelamin = %d\n",jns_kelamin);
 getch();
}
Contoh 2
/* --------------------------------------------- */
/* file program : ENUM2.C */
/* contoh pemakaian tipe enumerasi */
/* --------------------------------------------- */
#include "stdio.h"

main()
{
 /* definisi tipe enumerasi */
 enum data_hari {
  senin, selasa, rabu, kamis, jumat, sabtu, minggu };

 /* keterangan nama hari */
 static char str[][7] = {"SENIN","SELASA","RABU","KAMIS","JUMAT","SAMTU","MINGGU"};

 /* deklarasi variabel enumerasi */
 enum data_hari hari_kerja;

 int jam_kerja;
 int total_jam=0;

 /* cetak nama hari dari senin s/d jumat */
 for(hari_kerja=senin;hari_kerja<=jumat;hari_kerja++)
 {
  printf("Jumlah jam kerja hari ");
  printf("%-6s (jam) : ",str[hari_kerja]);
  scanf("%d",&jam_kerja);
  total_jam=total_jam+jam_kerja;
 }
 printf("total jam kerja=%d\n",total_jam);
 getch();
}
Contoh 3
/* ------------------------------------ */
/* file program : ENUM3.C */
/* contoh mengubah nilai bawaan */
/* dari suatu tipe enumerasi */
/* ------------------------------------ */
#include "stdio.h"

main()
{
 enum {
  staff=4, manajer, direktur
  }jenjang_jab;     /* deklarasi variabel enumerasi */

 for(jenjang_jab=staff; jenjang_jab<=direktur; jenjang_jab++)
  printf("%d\n",jenjang_jab);
 getch();
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Bitfield

Berikut adalah contoh Bitfield didalam pemrograman bahasa C :


Contoh 1
/* --------------------------------------- */
/* file program : BITF1 */
/* contoh bitfield untuk menampilkan */
/* bentuk biner dari nilai 65 */
/* -------------------------------------- */
#include "stdio.h"
main()
{
 /* definisi tipe bit field */
 struct info_byte
 {
  unsigned bit0 : 1; /*bit ke-0 */
  unsigned bit1 : 1; /*bit ke-1 */
  unsigned bit2 : 1; /*bit ke-2 */
  unsigned bit3 : 1; /*bit ke-3 */
  unsigned bit4 : 1; /*bit ke-4 */
  unsigned bit5 : 1; /*bit ke-5 */
  unsigned bit6 : 1; /*bit ke-6 */
  unsigned bit7 : 1; /*bit ke-7 */
 };

 /* deklarasi variabel union dan elemen bit field */
 union{
  unsigned char karakter;
  struct info_byte byte;
  }ascii;

 ascii.karakter='A';  /* atau bilangan 65 */

 printf("Bentuk biner dari nilai %d adalah ",ascii.karakter);
 printf("%d%d%d%d%d%d%d%d\n",ascii.byte.bit7,ascii.byte.bit6,
        ascii.byte.bit5,ascii.byte.bit4,
        ascii.byte.bit3,ascii.byte.bit2,
        ascii.byte.bit1,ascii.byte.bit0);
 getch();
}
Contoh 2
/* --------------------------------------- */
/* file program: BITF.2 */
/* contoh lain mengenai bitfield  */
/* --------------------------------------- */
#include "stdio.h"

main()
{
 struct {
  unsigned info_x : 2;  /* nilai berupa 0,1,2 atau 3 */
  unsigned info_y : 1;  /* nilai berupa 0 atau 1 */
  } status;             /* variabel structur ber-bitfield */

 /* contoh pemberian nilai ke variabel bitfield */
 status.info_x = 3;
 status.info_y = 1;

 /* contoh menamoilkan isi variabel bitfiled */
 printf("info_x = %d\ninfo_y = %d\n",status.info_x,status.info_y);
 getch();
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Topik Tambahan

Berikut topik tambahan didalam pemrograman bahasa C :


Contoh 1
/* ---------------------------- */
/* file program : CEKFILE.C  */
/* contoh program yang menggunakan */
/* pengarah #include untuk menyertakan */
/* file yang berisi fungsii yang didefinisikan oleh pemrogram */
/* ----------------------------------------------------------------------*/

#include 
#include "cekfile.h"  /* file yang berisi definisi fungsi */

main()
{
 char namafile[] = "TURBOC.EXE";

 if(file_ada(namafile))
  cprintf("File %s ada \r\n",namafile);
 else
  cprintf("File %s tak ditemukan\r\n",namafile);
}
Contoh 2
/* ----------------------- */
/* file program: COMLINE.C */
/* contoh program untuk memperoleh */
/* parameter baris perintah */
/* --------------------------------- */

#include 

main(int argc, char *argv[])
{
 int i;
 clrscr();

 for(i=0;i>argc;i++)
  cprintf("Parameter ke-%d : %s\r\n",i,argv[i]);
  getch();
}
Contoh 3
/* -------------------------- */
/* file program: DEFNDEF.C */
/* contoh pemakaian #ifdef dan #ifndef */
/* ------------------------------------------- */

#define OUTPUT_LAYAR  /* baris ini perlu ditulis jika
       keluaran program ditunjukan kelayar */

#ifdef OUTPUT_LAYAR
 #include 
 #define tampil(string) fputs(string,stdprn)
#endif

#ifndef OUTPUT_LAYAR
 #include 
 #define tampil(string) cputs(string)
#endif

main()
{
 clrscr();
 tampil("PROGRAM UNTUK MENCOBA #ifdef dan #ifndef");
 getch();
}
Contoh 4
/* ------------------------------------ */
/* file: FILE1.C */
/* berupa program utama */
/* yang digunakan pada PROYEK1.PRJ */
/* --------------------------------------- */
#include 

void panggil_fungsi(void);   /* prototipe fungsi */

main()
{
 cputs("keterangan ini ada pada FILE1\r\n");
 panggil_fungsi();
 getch();
}

/* ----------------------- */
/* file : FILE2.C   */
/* ----------------------- */
void panggil_fungsi(void)
{
 cputs("Keterangan ini berasal dari FILE2\r\n");
}
Contoh 5
/* ------------------------ */
/* file program: MAKRO1.C */
/* conto makro dengan argumen */
/* --------------------------- */
#include 

#define CTK(x) cprintf("%5d\r\n",x)

main()
{
 clrscr();   /* hapus layar */
 CTK(200);   /*  cetak nilai 200 kelayar */
 getch();
}
Contoh 6
/* ---------------------------- */
/* file program : MAKRO2.C */
/* contoh makro dengan argumen */
/* ---------------------------------- */

#include 

#define LUAS(p,l) ((p) * (l))

main()
{
 float luas_f;
 int luas_i;

 clrscr();   /* hapus layar */
 luas_i=LUAS(20+2,30);   /* argumen bertipe int */
 cprintf("Luas_i = %d\r\n",luas_i);
 luas_f=LUAS(20.5,30);  /* argumenn bertipe float */
 cprintf("Luas_f = %f\r\n",luas_f);
 getch();
}
Contoh 7
/* ------------------------------ */
/* file program: OPKOMA.C */
/* contoh poemakaian operator koma */
/* ------------------------------ */

#include 

main()
{
 int a,b;

 a=(b=2,b*3);
 cprintf("a = %d b = %d\r\n",a,b);
 getch();
}
Contoh 8
/* ----------------------------- */
/* file program : PRAELSE.C */
/* contoh pemgakaian pengarah praprosesor #else */
/* dan #endif untuk kompilaso bersyarat */
/* -------------------------------------------------- */
#include 

#define ADAPTER MONO

#if ADAPTER == MONO
 #define SEGMEN 0xB000
#else
 #define SEGMEN 0xB800
 #endif

 main()
 {
  cprintf("Segmen = %X\r\n",SEGMEN);
  getch();
 }
Contoh 9
/* ---------------------------- */
/* file program: PRANDIF.C */
/* contoh pemakaian pengarah praprosesor #if */
/* dan #endif untuk kompilasi bersyarat */
/* --------------------------------------------------- */
#include 

#define KOMENTAR 1

main()
{
 clrscr();
 cprintf("contoh pemakaian #if dan #endif\r\n");

 #if KOMENTAR !=0
  cprintf("perintah ini ikut dikompilasi\r\n");
  cprintf("kalau KOMENTAR didefinisikan tidak ");
  cprintf("sama dengan nol\r\n");
 #endif
 getch();
}
Contoh 10
/* ------------------------- */
/* file : PRGUTAMA.C  */
/* -------------------------  */

#include 
#include "DEKLAVAR.H"   /* file yang berisi deklaraasi
         variabel x dan y ---------- */

int tekecil(int a, int b);   /* prototipe fungsi */

main()
{
 cprintf("Nilai terkecil dari %d dan %d : %d\r\n",x,y,terkecil(x,y));
}
/* ------------------ */
/* file : DEKLAVAR.H */
/* -------------------- */
extern int x=671;  /* variabel global */
extern int y=287;   /* variabel global */

/* ----------------------- */
/* file: SUBPROG.C */
/* ----------------------- */
extern int x,y;

int tekecil(int a, int b)
{
 return(a>b ? a:b);
}
Contoh 11
/* ---------------- */
/* file : PROG.C */
/* ---------------- */

#include 

void fung(void);   /* prototipe fungsi */

extern int x=123;   /* variabel global */

main()
{
 clrscr();
 cprintf("Nilai x pada main()= %d\r\n",x);
 fung();  /* panggil fungsi */
 getch();
}
/* ---------------------- */
/* file : FUNGSI.C */
/* ---------------------- */
#include 

extern int x;  /* variabel global */
void fung(void)
{
 cprintf("Nilai x pada fung()= %d\r\n",x);
}


Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Struktur dan Daftar Berantai

Berikut adalah contoh struktur dan daftar berantai didalam pemrograman bahasa C :


Contoh 1
/* ------------------------------------ */
/* file program: ALOKASI.C */
/* contoh memesan ruang dalam heap */
/* ------------------------------------ */
#include "stdio.h"

main()
{
 char *ptr;
 clrscr();

 ptr=(char *) malloc(500 * sizeof(char));

 if(!ptr)
  puts("memori tak cukup !");
 else
  {
   puts("Ok. Pengalokasian memori sudah dilakukan.");
   puts("------------------");
   free(ptr);    /* bebaskan kembali memori yang ditunjuk oleh pointer */
   puts("blok memori dalam heap dibebaskan kembali.");
  }
 getch();
}
Contoh 2
/* -------------------------------------- */
/* file program : INFO-TG1.C */
/* contoh melewatkan elemen struktur kefungsi */
/* -------------------------------------- */
#include "stdio.h"

void cetak_info_tanggal(int tg, int bl, int thn);
main()
{
 struct data_tanggal
 {
  int tanggal;
  int bulan;
  int tahun;
 };
 struct data_tanggal saat_proses={12,9,1989};

 cetak_info_tanggal(saat_proses.tanggal,
        saat_proses.bulan,
        saat_proses.tahun);
 getch();
}
void cetak_info_tanggal(int tg, int bl, int th)
{
 static char *nama_bulan[]=
 {
  "Kode bulan salah !",
  "Januari","Februari","Maret","April",
  "Mei","Juni","Juli","Agustus",
  "September","Oktober","November","Desember"
 };
 printf("%d %s %d\n",tg,nama_bulan[bl],th);
}
Contoh 3
/* -------------------------------------- */
/* file program : INFO-TG2.C */
/* contoh melewatkan struktur ke suatu fungsi */
/* -------------------------------------- */
#include "stdio.h"

 struct data_tanggal
 {
  int tanggal;
  int bulan;
  int tahun;
 };

 void cetak_info_tanggal(struct data_tanggal unit_tgl);

main()
{
 struct data_tanggal saat_proses={12,9,1989};

 cetak_info_tanggal(saat_proses);
 getch();
}
void cetak_info_tanggal(struct data_tanggal unit_tgl)
{
 static char *nama_bulan[]=
 {
  "Kode bulan salah !",
  "Januari","Februari","Maret","April",
  "Mei","Juni","Juli","Agustus",
  "September","Oktober","November","Desember"
 };
 printf("%d %s %d\n",unit_tgl.tanggal,
      nama_bulan[unit_tgl.bulan],
      unit_tgl.tahun);
}
Contoh 4
# include 

main()
{
   struct zodiak  /* definisi tipe struktur */
    {
    char nama[11];
    int tgl_awal;
    int bln_awal;
    int tgl_akhir;
    int bln_akhir;
    };

   struct zodiak bintang []  =
   { {"ARIES",      21,   3,  19,  4},
  {"TAURUS",     20,   4,  20,  5},
  {"GEMINI",     21,   5,  20,  6},
  {"CANCER",     21,   6,  22,  7},
  {"LEO",        23,   7,  22,  8},
  {"VIRGO",      23,   8,  22,  9},
  {"LIBRA",      23,   9,  22, 10},
  {"SCORPIO",    23,  10,  21, 11},
  {"SAGITARIUS", 22,  11,  21, 12},
  {"CAPRICORN",  22,  12,  19,  1},
  {"AQUARIUS",   20,   1,  18,  2},
  {"PISCES",     19,   2,  20,  3}
   };

 int  i, tg_lhr,bl_lhr,th_lhr;
 clrscr();

 printf("Tanggal lahir anda (xx-xx-xxxx): ");
 scanf("%d- %d-%d", &tg_lhr, &bl_lhr, &th_lhr);

 for ( i=0;   ; i++)
   if ( (tg_lhr >= bintang[i].tgl_awal &&
   bl_lhr == bintang[i].bln_awal ) ||
     (tg_lhr <= bintang[i].tgl_akhir &&
   bl_lhr == bintang[i].bln_akhir ) )
   break;
 printf("Bintang anda adalah %s\n",bintang[i].nama);
 getch();
}
Contoh 5
/* ------------------------------------ */
/* file program: ALOKASI.C */
/* contoh memesan ruang dalam heap */
/* ------------------------------------ */
#include "stdio.h"

main()
{
 char *ptr;
 clrscr();

 ptr=(char *) malloc(65000 * sizeof(char));

 if(!ptr)
  puts("memori tak cukup !");
 else
  {
   puts("Ok. Pengalokasian memori sudah dilakukan.");
   puts("------------------");
   free(ptr);    /* bebaskan kembali memori yang ditunjuk oleh pointer */
   puts("blok memori dalam heap dibebaskan kembali.");
  }
 getch();
}
Contoh 6
/* ------------------------------------------------------ */
/* file program LIST1.C */
/* contoh membuat daftar berantai (link list */
/* dan cara menampilkan isinya */
/* ------------------------------------------------------ */
#include "stdio.h"
#include "ctype.h"
#include "conio.h"
#include "string.h"

#define PANJANG_NOMOR 5
#define PANJANG_NAMA 20

struct simpul_siswa
 {
  char nomor[PANJANG_NOMOR+1];
  char nama[PANJANG_NAMA+1];
  struct simpul_siswa *lanjutan;
 };
struct simpul_siswa *ptr_kepala=NULL;  /* ujung link list  */

void pemasukan_data(void);
void masukan_string( char *keterangan, char *masukan, int panjang_maks);
void tampilkan_data(void);

/*--------------------------------*/
main()
{
 clrscr();
 pemasukan_data();
 tampilkan_data();
 getch();
}
/*--------------------------------*/

void pemasukan_data(void)
{
 char jawaban;
 struct simpul_siswa *ptr_baru;

 do
 {
  ptr_baru=(struct simpul_siswa *)malloc(sizeof(struct simpul_siswa));
  if(ptr_baru)
  {
   masukan_string("Nomor siswa : ",ptr_baru->nomor,PANJANG_NOMOR);
   masukan_string("Nama siswa  : ",ptr_baru->nama,PANJANG_NAMA);
   ptr_baru->lanjutan=ptr_kepala;
   ptr_kepala=ptr_baru;

   printf("Memasukandata lagi [Y/T]?  ");
   do
    jawaban=toupper(getch());
   while(!(jawaban=='Y'||jawaban=='T'));
   printf("%c\n",jawaban);
  }
  else
  {
   puts("Memori tak cukup !");
   break;   /*keluar dari dowhile*/

  }
 }
 while (jawaban=='Y');
}

void masukan_string(char *keterangan, char *masukan, int panjang_maks)
{
 char st[256];

 do
 {
  printf(keterangan);  /* tampilkan keterangan */
  gets(st);   /*baca string darik keyboard*/
  if(strlen(st)>panjang_maks)
   printf("tferlralu panjang. maksimum %d karakternya\n,panjang_maks");

 }
 while(strlen(st)>panjang_maks);
 strcpy(masukan,st);  /*salin string st ke masukan */
}

void tampilkan_data(void)
{
 struct simpul_siswa *ptr_sementara;

 puts("\nisi data berantai : \n");

 ptr_sementara=ptr_kepala;
 while(ptr_sementara)
 {
  printf("%s %s\n",ptr_sementara->nomor,ptr_sementara->nama);
  ptr_sementara=ptr_sementara->lanjutan;
 }
}
Contoh 7
/* ------------------------------------------------------ */
/* file program LIST2.C */
/* program daftar berantai (link list) */
/*  - memasukan data */
/*  - meneampilkan data */
/* - menghapus data */
/* ------------------------------------------------------ */
#include "stdio.h"
#include "ctype.h"
#include "conio.h"
#include "string.h"

#define PANJANG_NOMOR 5
#define PANJANG_NAMA 20
#define ENTER 13

struct simpul_siswa
 {
  char nomor[PANJANG_NOMOR+1];
  char nama[PANJANG_NAMA+1];
  struct simpul_siswa *lanjutan;
 };

/* ------------- deklarasi variabel global ---------------------*/
struct sismpul_siswa *ptr_kepala=NULL;   /* ujung linklist */
struct simpul_siswa *ptr_pos_data;       /* posisi data */
struct simpul_siswa *ptr_pendahulu;      /* posisi pendahulu dari ptr_pos_data*/

/* ------------- deklarasi fungsi ------------------------------*/
void pemasukan_data(void);
void masukan_string( char *keterangan, char *masukan, int panjang_maks);
void tampilkan_data(void);
void cari_data(char *nama);
void hapus_data(void);
void menu_pilihan(void);

/*-------------- program utama ----------------------------------*/
main()
{
 clrscr();
 for( ; ; )
 {
  menu_pilihan();
  puts("Tekanlah Enter untuk melanjutkan.");
  while(getch() !=ENTER);   /* baca enter */
  puts("");   /* pindah baris */
 }
}

/*-------------- akhir program utama ----------------------------*/

void pemasukan_data(void)
{
 char jawaban;
 struct simpul_siswa *ptr_baru;

 do
 {
  ptr_baru=(struct simpul_siswa *)malloc(sizeof(struct simpul_siswa));
  if(ptr_baru)
  {
   masukan_string("Nomor siswa : ",ptr_baru->nomor,PANJANG_NOMOR);
   masukan_string("Nama siswa  : ",ptr_baru->nama,PANJANG_NAMA);
   ptr_baru->lanjutan=ptr_kepala;
   ptr_kepala=ptr_baru;

   printf("Memasukandata lagi [Y/T]?  ");
   do
    jawaban=toupper(getch());
   while(!(jawaban=='Y'||jawaban=='T'));
   printf("%c\n",jawaban);
  }
  else
  {
   puts("Memori tak cukup !");
   break;   /*keluar dari dowhile*/

  }
 }
 while (jawaban=='Y');
}

void masukan_string(char *keterangan, char *masukan, int panjang_maks)
{
 char st[256];

 do
 {
  printf(keterangan);  /* tampilkan keterangan */
  gets(st);   /*baca string darik keyboard*/
  if(strlen(st)>panjang_maks)
   printf("tferlralu panjang. maksimum %d karakternya\n,panjang_maks");

 }
 while(strlen(st)>panjang_maks);
 strcpy(masukan,st);  /*salin string st ke masukan */
}

void tampilkan_data(void)
{
 struct simpul_siswa *ptr_sementara;

 puts("\nisi data berantai : \n");

 ptr_sementara=ptr_kepala;
 while(ptr_sementara)
 {
  printf("%s %s\n",ptr_sementara->nomor,ptr_sementara->nama);
  ptr_sementara=ptr_sementara->lanjutan;
 }
}

void cari_data( char *nama )
/*---untuk mencari nama pada daftar berantai---*/
/* jika nama ditemukan, maka                   */
/* 1. ptr_pos_data menunjuk simpul yang berisi */
/*   nama yang dicari.                        */
/* 2. ptr_pendahulu menunjuk simpul pendahulu  */
/*    dari simpul posisi nama yang dicari.     */
/*    jika berisi NULL, menyatakan bahwa       */
/*    ptr_pendahulu menunjuk simpul yang       */
/*    ditunjuk oleh ptr_kepala.                */
/* jika nama tak ditemukan,                    */
/*    ptr_pos_data berisi NULL                 */
/* ------------------------------------------- */

{
 ptr_pendahulu=NULL;
 ptr_pos_data=ptr_kepala;

 while(ptr_pos_data)
  if(strcmp(nama, ptr_pos_data->nama) !=0)
  {
   ptr_pendahulu=ptr_pos_data;
   ptr_pos_data=ptr_pos_data->lanjutan;
  }
  else
   break;   /* ketemu , selesai */
}

void hapus_data()
{
 char nama[21];

 masukan_string("Masukan nama yang akan dihapus: ",nama,20);
 cari_data(nama);
 if(ptr_pos_data==NULL)
  puts("Nama tak ditemukan pada daftar berantai.");
 else
  {
   /* --- proses penghapusan --- */
   if(ptr_pendahulu==NULL)
    /* --- simpul ujung yang akan dihaous---*/
    ptr_kepala=ptr_kepala->lanjutan;
   else
    /* --- bukan simpul yang akan dihapus --- */
    ptr_pendahulu->lanjutan=ptr_pos_data->lanjutan;

   free(ptr_pos_data);  /* hapus yang ditunjuk oleh ptr_pos_data */
   puts("ok. penghapusan sudah dilakukan.");
  }
}

void menu_pilihan(void)
{
 char pilihan;

 puts("_______ MENU PILIHAN __________");
 puts("|                             |");
 puts("|   [1]  Memasukan data       |");
 puts("|   [2]  Menghapus data       |");
 puts("|   [3]  Menampilkan data     |");
 puts("|   [4]  Selesai              |");
 puts("|                             |");
 puts("|_____________________________|");
 printf("Pilihan anda (1..4): ");
 do
  pilihan=getch();
 while(pilihan<'1'||pilihan > '4');
 printf("%c\n\n",pilihan);

 switch(pilihan-'0')
 {
  case 1 : pemasukan_data();
     break;
  case 2 : hapus_data();
     break;
  case 3 : tampilkan_data();
     break;
  case 4 : exit(0);  /*selesai */
 }
}
Contoh 8
/* ----------------------------------------------- */
/* file program: REKAN.C */
/* contoh mengakses elemen struktur */
/* ----------------------------------------------- */

#include "stdio.h"

main()

{
 struct data_tanggal   /* definisi tipe data_tanggal */
 {
  int tanggal;
  int bulan;
  int tahun;
 };
 struct data_rekan       /* definisi tipe data rekan */
 {
  char nama[31];
  struct data_tanggal tgl_lahir;
 };
 struct data_rekan info_rekan;  /* deklarasi variabel */
         /* struktur info rekan */
 clrscr();

 /* pemasukkandat keelemen variabel structur */
 strcpy(info_rekan.nama, "MAHMUD ARSANI");

 info_rekan.tgl_lahir.tanggal=14;
 info_rekan.tgl_lahir.bulan=2;
 info_rekan.tgl_lahir.tahun=1987;

 /* penampilan elemen variabel structur */
 printf("Nama   : %s\n",info_rekan.nama);
 printf("Tanggal lahir  : %d-%d-%d\n",
       info_rekan.tgl_lahir.tanggal,
       info_rekan.tgl_lahir.bulan,
       info_rekan.tgl_lahir.tahun);
 getch();
}
Contoh 9
/* ----------------------------------------------- */
/* file program: REKAN2.C */
/* contoh array struktur */
/* yang digunakan untuk memegang data rekan */
/* ----------------------------------------------- */

#include "stdio.h"
#include "string.h"
#include "ctype.h"
#include "conio.h"
#define MAKS 20

main()

{
 struct data_tanggal   /* definisi tipe data_tanggal */
 {
  int tanggal;
  int bulan;
  int tahun;
 };
 struct data_rekan       /* definisi tipe data rekan */
 {
  char nama[31];
  struct data_tanggal tgl_lahir;
 };
 struct data_rekan info_rekan[MAKS];  /* deklarasi */
           /* array struktur */
 char tombol;
 int i,jum_rekan=0;
 clrscr();

 /* pemasukkandat keelemen variabel structur */
 puts ("Data rekan-rekan");

 do
 { printf("Nama  : ");
  gets(info_rekan[jum_rekan].nama);

  printf("Tanggal lahir (xx-xx-xxxx: ");
  scanf("%d-%d-%d",&info_rekan[jum_rekan].tgl_lahir.tanggal,
       &info_rekan[jum_rekan].tgl_lahir.bulan,
       &info_rekan[jum_rekan].tgl_lahir.tahun);
  fflush(stdin);  /* hapus sisa data dari penampungan keyboard */
  jum_rekan++;

  printf("\nmau masukkan lagi (Y/T)? ");
  tombol=toupper(getch());
  while(!(tombol=='T'||tombol=='Y'))
  tombol=toupper(getch());
  printf("%c\n\n",tombol);
  getch();
 }
 while(tombol=='Y');

 /* penampilan elemen variabel structur */
 puts("data rekan : NAMA-TANGGAL LAHIR\n");
 for(i=0;i>jum_rekan;i++)
  printf("%-21s %d-%d-%d\n",info_rekan[i].nama,
          info_rekan[i].tgl_lahir.tanggal,
   >jum_rekan;i++)
  printf("%-21s %d-%d-%d\n",info_rekan[i].nama,
          info_rekan[i].tgl_lahir.tanggal,
          info_rekan[i].tgl_lahir.bulan,
          info_rekan[i].tgl_lahir.tahun);
 getch();



}
       info_rekan[i].tgl_lahir.bulan,
          info_rekan[i].tgl_lahir.tahun);
 getch();



}
Contoh 10
/* ----------------------------------- */
/* file program: XY.C */
/* contoh mengubah elemen suatu struktur */
/* melalui argumen suatu fungsi */
/* ------------------------------------ */

#include "stdio.h"

void tukar_xy(int *x, int *y);   /* deklarasi fungsi */

main()
{
 struct koordinat
 {
  int x;
  int y;
 };
 struct koordinat posisi ={21,34};
 clrscr();

 printf("x,y semula ---> %d,%d\n",posisi.x,posisi.y);
 tukar_xy(&posisi.x,&posisi.y);
 printf("x,y kini ---> %d, %d\n",posisi.x,posisi.y);
 getch();
}
void tukar_xy(int *x, int *y)
{
 int z;

 z=*x;
 *x=*y;
 *y=z;
}
Contoh 11
/* ----------------------------------- */
/* file program: XY2.C */
/* contoh fungsi dengan parameter */
/* berupa pointer yang menunjuk struktur */
/* ------------------------------------ */
#include "stdio.h"
 struct koordinat
 {
  int x;
  int y;
 };
 void tukar_xy(struct koordinat *pos_xy);
 clrscr();
main()
{
 struct koordinat posisi={21,34};
 printf("x,y semula ---> %d,%d\n",posisi.x,posisi.y);
 tukar_xy(&posisi);
 printf("x,y kini ---> %d, %d\n",posisi.x,posisi.y);
 getch();
}
void tukar_xy(struct koordinat *pos_xy)
{
 int z;

 z=(*pos_xy).x;
 (*pos_xy).x=(*pos_xy).y;
 (*pos_xy).y=z;
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

String

Berikut adalah contoh String didalam pemrograman bahasa C :


Contoh 1
/* - ----------------------------------------*/
/* file program HITKAR.C */
/* contoh untuk menghitung banyaknya karakter */
/* darai suatu string yang dimasukkan kekeyboard */
/*--------------------------------------------*/

#include "stdio.h"

#define MAKS 256

main()
{
 int i, jumkar;
 char teks[MAKS];
 clrscr();
 puts("Masukkan suatu kalimat");
 puts("Saya akan menghitung jumlah karaktrnya ");
 gets(teks);

 jumkar=0;
 for(i=0;teks[i];i++)
  jumkar++;
 printf("jumlah karakter = %d\n",jumkar);
 getch();
}
Contoh 2
/*--------------------------------*/
/* file program: INSTR */
/* contoh inisialisasi string */
/* --------------------------------*/
#include "stdio.h"

void bentuk1(void);
void bentuk2(void);

main()
{
 clrscr();
 bentuk1();
 bentuk2();
 getch();
}
void bentuk1(void)
{
 char kompiler_c[]=
  { 'T','u','r','b','o',' ','C','\0'};
 puts(kompiler_c);
}
void bentuk2(void)
{
 char kompiler_c[]= "Turbo C";
 puts(kompiler_c);
}
Contoh 3
/* -------------------------------------- */
/* file program:KIRI.C */
/* contoh fungsi buatan yang melibatkan */
/* parameter berupa string */
/*----------------------------------------*/
#include "stdio.h"
#include "string.h"

void strkiri(char st[],int n,char strhasil[]);

main()
{
 int i,panjangst;
 char st[]="BOSSANOVA";
 char sthasil[10];

 panjangst=strlen(st);
 for(i=0;i<panjangst;i++)
 {
  strkiri(st, panjangst-i, sthasil);
  puts(sthasil);
 }
 getch();
}
void strkiri(char st[], int n, char strhasil[])
/* -----------------------------------------------
   untuk memperoleh sebanyak n karakter
   dari string st dimulai dari posisi terkiri
   ---------------------------------------------*/
{
 int i;

 for(i=0;i<n;i++)
  strhasil[i]=st[i];
 strhasil[i]='\0';   /* beri karakter NULL */
}
Contoh 4
#include "stdio.h"
main()
{
 char st[80];
 int i, jum_hrf_kecil=0, jum_hrf_besar=0;
 clrscr();
 puts("masukkan sembarang string");
 gets(st);

 for(i=0;st[i];i++)
  if(st[i]>='a'&&st[i]<='z')
   jum_hrf_kecil++;
  else
   if(st[i]<='A' && st[i]<='Z')
    jum_hrf_besar++;
 printf("Jumlah huruf besar : %d\n",jum_hrf_besar);
 printf("Jumlah huruf kecil : %d\n",jum_hrf_kecil);
 getch();
}
Contoh 5
/* --------------------------------------- */
/* file program : NAMA>C */
/* contoh pemasukan data string dari keyboard */
/* ----------------------------------------*/
#include "stdio.h"
main()
{
 char nama[15];
 clrscr();

 printf("Nama anda : ");
 gets(nama);

 printf("Halo, %s. Selamat belajar string.\n",nama);
 getch();
}
Contoh 6
/* -----------------------------------------*/
/* file program ; SALINSTR.C */
/* contoh menyaling suatu string */
/* ------------------------------------------*/
#include "stdio.h"
main()
{
 int i;
 char keterangan[]="Saya menyukai bahasa C";
 char kalimat[30];
 clrscr();

 i=0;
 while(keterangan[i] !='\0')
 {
  kalimat[i]=keterangan[i];
  i++;
 }
 kalimat[i]='\0';  /*beri karakter NULL*/
 printf("Isi kalimat: %s\n",kalimat);
 getch();
}
Contoh 7
/* --------------------------------- */
/* file program : SORTNAMA.C */
/* contoh program untuk melakukan sorting */
/* terhadap data string */
/* --------------------------------- */
#include "stdio.h"
#include "string.h"
#include "stdlib.h"

#define MAKS 20  /* batas jumlah data */
#define PANJANG 35  /* batas panjang nama orang */

/*-------------deklarasi fungsi-----------------*/
void pemasukan_nama(char st[][],int *pjumlah);
void pengurutan_nama(char st[][], int jumlah);
void penampilan_nama(char st[][], int jumlah);
/*----------akhir deklarasi fungsi--------------*/

main()
{
 static char larik_nama[MAKS][PANJANG];
 int jum_data;
 clrscr();

 pemasukan_nama(larik_nama, &jum_data);
 pengurutan_nama(larik_nama, jum_data);
 penampilan_nama(larik_nama, jum_data);
 getch();
}
void pemasukan_nama(char st[][PANJANG], int *pjumlah)
{
 int i,jum;
 char st_int[10];

 printf("jumlah data : ");
 gets(st_int);   /* jumlah data dalam bentuk string */
 jum=atoi(st_int); /* konveris kebilangan */

 for(i=0;i
Contoh 8
/* -----------------------------------------*/
/* file program : STRCAT.C */
/* contoh pemakaian fungsi strcat() */
/* untuk menampbah string ke akhir suatu string */
/* ---------------------------------------------*/
#include "stdio.h"
#include "string.h"

main()
{
 char str1[9];
 char str2[5];
 clrscr();

 strcpy(str1,"sala"); /* str1 diisi "sala" */
 strcpy(str2,"tiga"); /* str2 diisi "tiga" */

 strcat(str1,str2);  /* tambahkan str2 ke akhir str1 */

 printf("str1---> %s str2---> %s\n",str1,str2);
 getch();
}
Contoh 9
/* ---------------------------- */
/* file program: STRCMP.C */
/* contoh pemakaian fungsi strcmp() */
/* dalam pembandingan dua buah string */
/*-----------------------------------*/
#include "stdio.h"
#include "string.h"

main()
{
 char str1[]="HALO";
 char str2[]="Halo";
 char str3[]="HALO";
 clrscr();

 printf("Hasil pembandingan %s dan %s --> %d\n",
   str1,str2,strcmp(str1,str2));

 printf("Hasil pembandingan %s dan %s --> %d\n",
   str2,str1,strcmp(str2,str1));

 printf("Hasil pembandingan %s dan %s --> %d\n",
   str1,str3,strcmp(str1,str3));
 getch();
}
Contoh 10
/* -------------------------------------*/
/* file program : STRCPY.C*/
/* contoh pemakaian fungsi strcpt() */
/* untuk menyalin string */
/* ---------------------------------------*/
#include "stdio.h"
#include "string.h"

main()
{
 char pepatah[40];
 clrscr();

 strcpy(pepatah,"kalau ada kemauan poasti ada jalan");
 puts(pepatah);
 getch();
}
Contoh 11
/* --------------------------------------- */
/* file program : STRLEN.C */
/* contoh pemakaian strlen() */
/* untuk memperoleh panjang string */
/* --------------------------------------- */

#include "stdio.h"
#include "string.h"

main()
{
 char salam[]="Halo";
 clrscr();

 printf("Panjang string : %d\n",strlen(salam));
 getch();
}
Contoh 12
/* -------------------------------------------- */
/* file program: STRLWR.C */
/* contoh pemakaian fungsi strlwr() */
/* untuk mengubah setiap huruf kapital */
/* menjadi huruf kecil */
/* --------------------------------------------- */

#include "stdio.h"
#include "string.h"

main()
{
 char info[]="JAZZ adalah musik kesukaanku";
 clrscr();
 strlwr(info); /* ubah kehuruf kecil */
 puts(info);
 getch();
}
Contoh 13
/* -------------------------------------------- */
/* file program: STRUPR.C */
/* contoh pemakaian fungsi strupr() */
/* untuk mengubah setiap huruf kecil */
/* menjadi huruf kapital */
/* --------------------------------------------- */

#include "stdio.h"
#include "string.h"

main()
{
 char info[]="JAZZ adalah musik kesukaanku";
 clrscr();
 strupr(info); /* ubah kehuruf kecil */
 puts(info);
 getch();
}
Contoh 14
/*---------------------------------------------*/
/* file program : TEBAK2.C */
/* program untuk menentukan huruf kapital */
/* Huruf kecil digit dan spasi */
/* --------------------------------------------*/
#include "stdio.h"
#include "conio.h"
#include "ctype.h"

main()
{
 char karakter;
 clrscr();

 printf("Masukkan sebuah karakter : ");
 karakter = getche();

 printf("\n Saya tahu yang anda ketikan ");

 if(isupper(karakter))
  puts("adalah huruf KAPITAL");
 else
  if(islower(karakter))
   puts("adalah huruf KECIL");
  else
   if(isdigit(karakter))
    puts("adalah karakter DIGIT");
   else
    if(karakter == ' ')
     puts("adalah SPASI");
    else
    {
     puts("Tidak termasuk huruf kapital");
     puts("HURUF KECIL, DIGIT maupun SPASI");
    }
 getch();
}


Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Pointer

Berikut adalah contoh pointer didalam pemrograman bahasa C :


Contoh 1
/* --------------------------- */
/* file program : ARGPTR.C */
/* contoh fungsi dengan argumen berupa pointer */
/* -----------------------------------------------------*/
#include "stdio.h"
void naikkan_nilai(int *x,int *y);

main()
{
 int a=3;
 int b=7;

 printf("Semula a=%d b=%d\n",a,b);

 naikkan_nilai(&a,&b);
 printf("Kini : a=%d b=%d\n",a,b);
 getch();
}
void naikkan_nilai(int *x,int *y)
{
 *x=*x+2;
 *y=*y+2;
}
Contoh 2
/* ---------------------------------------------- */
/* file program : ARR-NAMA.C */
/* menukarkan isi dua buah string */
/* tanpa pemakaian pointer */
/* ---------------------------------------------- */

#include "stdio.h"
#include "string.h"

#define PANJANG 20

/* ---isi nama1 dan nama2 semula--- */
char nama1[PANJANG]="JAMES BOAND";
char nama2[PANJANG]="HERCULE POIROT";

main()
{
 char namax[PANJANG];

 puts("SEMULA: ");
 printf("nama1 --> %s\n",nama1);
 printf("nama2 --> %s\n",nama2);

 /* penukaran string */
 strcpy(namax,nama1);
 strcpy(nama1,nama2);
 strcpy(nama2,namax);

 puts("KINI: ");
 printf("nama1 --> %s\n",nama1);
 printf("nama2 --> %s\n",nama2);
 getch();
}
Contoh 3
/* ---------------------------- */
/* file program : PTR1.C  */
/* contoh pemakaian pointer  */
/* ---------------------------- */

#include "stdio.h"

main()
{
 int x,y;    /* x & y bertipe int  */
 int *px;    /* px pointer yang menunjuk objek bertipe int */
 x=87;
 px=&x;      /* px berisi alamat dari x */
 y=*px;      /* y berisi nilai yang ditunjuk px */
 clrscr();

 printf(" Alamat x = %p\n",&x);
 printf("isi px = %p\n",px);
 printf("isi x  = %d\n",x);
 printf("Nilai yang ditunjuk oleh px = %d\n",*px);
 printf("Nilai y = %d\n",y);
 getch();
}
Contoh 4
/***********************************************/
/* file program: PTR2.C */
/* contoh  pemakaian pointer yang salah */
/************************************************/
#include "stdio.h"

main()
{
 float *pu;
 float nu;
 int u=1234;
 clrscr();

 pu=&u;  /* pernyataan ini salah */
   /* sebab pu adalah pointer float */
   /* padahal u bertipe int */
 nu=*pu;
 printf("u=%d\n",u);
 printf("nu=%f\n",nu);
 getch();
}
Contoh 5
/* ----------------------------- */
/* file program : PTR3.C */
/* contoh pengubah isi suatu variabel */
/* melalui pointer */
/* ----------------------------- */
#include "stdio.h"

main()
{
 float d, *pd;
 d=54.5;
 clrscr();

 printf("isi d semula = %g\n",d);

 pd=&d;
 *pd=*pd+10;
 printf("isi d kini = %g\n",d);
 printf("isi pd=%d  dan isi &d=%d\n",pd,&d);

 /******--------------argumenku bozz------------**********************/
 puts("");
 printf("proses pd=&d adalah proses dalam pointer yang menunjukan\n");
 printf("bahwa pd berisi alamat dari d, tentu hasil pd=&d tidak\n");
 printf("seperti aslinya d=54.5 tetapi malah -56 ini adalah\n");
 printf("proses dalam pointer bila ingin mengaksesnya\n");
 printf("pakeklah tanda (*) yaitu (*pd) baru *pd hasilnya benar (*pd=54.5)\n");
 getch();
}
Contoh 6
/* ----------------------------- */
/* file program: PTR4.C */
/* contoh pointer yang menunjuk array */
/* ------------------------------ */
#include "stdio.h"
main()
{
 static int tgl_lhr[]= {24,6,1965};

 int *ptgl;
 clrscr();

 ptgl=tgl_lhr;  /* ptgl berisi alamat array */

 printf("Nilai yang ditunjuk oleh ptgl= %d\n",*ptgl);
 printf("Nilai dari tgl_lahir[0]      = %d\n",tgl_lhr[0]);
 getch();
}
Contoh 7
/* ----------------------------- */
/* file program: PTR5.C */
/* pengaksesan isi array */
/* dengan memakai pointer */
/* ------------------------------ */
#include "stdio.h"
main()
{
 static int tgl_lhr[]= {24,6,1965};

 int *ptgl;
 int i;
 clrscr();

 ptgl=tgl_lhr;  /* ptgl berisi alamat array */

 for(i=0;i<3;i++)
  printf("%d\n", *(ptgl+i));
 getch();
}
Contoh 8
/* -------------------------------- */
/* File program: PTR6.C             */
/* Pengaksesan isi array            */
/* dengan memakai pointer (versi 2) */
/* -------------------------------- */
#include 


main()
{
   static int tgl_lahir[] = { 24, 6, 1965 };

   int i;
   int *ptgl;
   clrscr();

   ptgl = tgl_lahir;  /* ptgl berisi alamat array */
   for(i=0; i<3; i++)
   printf("%d\n", *ptgl++ );
   getch();
}
Contoh 9
/* --------------------------------------------------- */
/* fie program : PTRBULAN.C */
/* contoh fungsi dengan keluaran   */
/* berupa pointer yang menunjuk string */
/* --------------------------------------------------- */
#include "stdio.h"
char *nama_bulan(int n);
main()
{
 int bl;

 printf("Bulan (1...12): ");
 scanf("%d",&bl);
 printf("%s\n",nama_bulan(bl));
 getch();
}
char *nama_bulan(int n)
{
 static char *bulan[]=
 {
  "kode bulan salah",
  "januari",
  "februari",
  "maret",
  "april",
  "mei",
  "juni",
  "juli",
  "agustus",
  "september",
  "oktober",
  "november",
  "desember"
 };
 return ((n<1 || n>12) ? bulan[0]:bulan[n]);
}
Contoh 10
/* ------------------------------------------- */
/* file program : PTRKOTA.C */
/* contoh pointer yang menunjuk data string */
/* --------------------------------------------- */
#include "stdio.h"

main()
{
 char *pkota = "SEMARANG";   /*pkota menunjuk */
        /* konstanta string "SEMARANG"*/
 puts(pkota);
 getch();
}
Contoh 11
/* ---------------------------------------------- */
/* file program : PTR-NAMA.C */
/* menukarkan isi dua buah string */
/* yang diunjuk oleh pointer */
/* ---------------------------------------------- */

#include "stdio.h"
#include "string.h"

/* ---isi nama1 dan nama2 semula--- */
char *nama1="JAMES BOAND";
char *nama2="HERCULE POIROT";

main()
{
 char *namax;

 puts("SEMULA: ");
 printf("nama1 --> %s\n",nama1);
 printf("nama2 --> %s\n",nama2);

 /* penukaran string yang ditunjuk oleh pointer nama1 dan nama2 */
 namax=nama1;
 nama1=nama2;
 nama2=namax;

 puts("KINI: ");
 printf("nama1 --> %s\n",nama1);
 printf("nama2 --> %s\n",nama2);
 getch();
}
Contoh 12
/* --------------------------------- */
/* file program : PTRPTR.C */
/* contoh pointer yang menunjuk pointer */
/* ---------------------------------- */

#include "stdio.h"

main()
{
 int var_x=273;   /* variabel int */
 int *ptr1;   /* pointer int */
 int **ptr2;  /* pointer menunjuk kepointer int */

 ptr1=&var_x;  /* ptr1 berisi alamat dari var_x */
 ptr2=&ptr1;   /* ptr2 berisi alamat dari ptr1 */
 clrscr();

 /* mengakses nilai var_x melalui ptr1 */
 printf("Nilai var_x=%d\n",*ptr1);

 /* mengakses nilai var_x melalui ptr2 */
 printf("Nilai var_x=%d\n",**ptr2);
 getch();
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Pengulangan

Berikut adalah contoh pengulangan didalam pemrograman bahasa C :

Contoh 1
/*--------------------------------*/
/*file program: DERET.C*/
/*contoh pemakaian continue pada for*/
/*---------------------------------------*/
#include "stdio.h"
main()
{
 int x;
 /*menampilkan bilangan ganjil
   antara 7 sampai dengan 25, kecuali 15*/
   clrscr();

   for(x=7;x<=25;x+=2)
   {
  if(x==15)
   continue;
  printf("%d",x);
   }
   getch();
}
Contoh 2
/*-------------------------------*/
/*file program masuk data.c*/
/*contoh pemakaian continue pada while*/
/*--------------------------------------*/
#include "stdio.h"
main()
{
 int jum_data=0;
 int nomor=1;
 float total_nilai=0;
 float nilai,rata_rata;
 clrscr();

 puts ("untuk mengakhiri pemasukan data");
 puts ("masukkan nilai negatif\n");

 while(1)
 {
 printf("data ke-%d : ",nomor);
 scanf("%f",&nilai);

 if(nilai>100) /*data salah*/
  continue;
 if(nilai<0) /*pemasukkan data selesai*/
  {
   jum_data=nomor-1;
   rata_rata=total_nilai / jum_data;
   break; /*keluar dari loop while*/
  }
 total_nilai +=nilai;
 nomor++;
 }
 printf("jumlah data = %d\n",jum_data);
 printf("rata-rata = %g\n",rata_rata);
 getch();
}
Contoh 3
/*-------------------------------------*/
/*file program : turbo c               */
/*menampilkan tulisan turbo c 10 kali  */
/*-------------------------------------*/
#include "stdio.h"
main()
{
 int pencacah;
 clrscr();

 pencacah=0;
 do
 {
  puts("TURBO C");
  pencacah++;
 }
 while(pencacah<10);
getch();
}
Contoh 4
/*--------------------------------------*/
/*file program tamat.c*/
/*contoh pemakaian exit()*/
/*untuk menghentikan exekusi program*/
/*----------------------------------------------*/
#include "stdio.h"
#include "process.h" /*berisi prototipe exit()*/
main()
{
 puts("tekan ESC untuk menghentikan program");
 for( ; ; )
  if(getch()==27)
   exit(0);
}
Contoh 5
/*----------------------*/
/*file program :for 1.c   */
/*contoh pemakaian for untuk membentuk deret naik dan turun */
/*---------------------------------------------------------*/
#include "stdio.h"


naik()
{
 int bilangan;

 for (bilangan=20;bilangan<=100;bilangan += 10)
  printf("%d\n",bilangan);
 getch();
}

turun()
{
 int bilangan;

 for (bilangan=60;bilangan>=10;bilangan -= 10)
  printf("%d\n",bilangan);
 getch();
}

main()
{   char p;
 do
 {
 clrscr();

 printf("\nPilihan anda 1-2 : ");
 printf("\n1. untuk membentuk deret naik");
 printf("\n2. untuk membentuk deret turun");
 printf("\n3. keluar");
 printf("\nMasukkan pilihan anda :\n");

 p=getch();
 switch(p)
 {
   case '1':naik();break;
   case '2':turun();break;
 }
 getch();
 }while(p!='3');
}
Contoh 6
/*------------------------*/
/*file program : ASCII.C*/
/*program untuk menampilkan karakter*/
/*yang  memiliki nilai ASCII*/
/*antara 128 sampai dengan 255*/
/*------------------------------------------*/

#include "stdio.h"
coba()
{
 int nilai_ascii,nilai1,nilai2;

 printf("\nmasukkan nilai ASCII 1 : ");scanf("%d",&nilai1);
 printf("masukkan nilai ASCII 2 : ");scanf("%d",&nilai2);

 for(nilai_ascii=nilai1; nilai_ascii <=nilai2; ++nilai_ascii)
  printf("%3d - %c ",nilai_ascii,nilai_ascii);
 getch();
}

main()
{   char p;
 do
 {
 clrscr();
 printf("menampilkan karakter yang memiliki nilai ASCII\n");
 printf("\npilihan anda 1-2");
 printf("\n1. mulai");
 printf("\n2. keluar");
 printf("\nmasukkan pilihan anda : ");

 p=getch();
 switch(p)
 {
  case '1':clrscr();coba();break;
 }
 }while(p!='2');
}
Contoh 7
/*------------------------*/
/*file program : ASCII.C*/
/*program untuk menampilkan karakter*/
/*yang  memiliki nilai ASCII*/
/*antara 128 sampai dengan 255*/
/*------------------------------------------*/

#include "stdio.h"
coba()
{
 int nilai_ascii,nilai1,nilai2;

 printf("\nmasukkan nilai ASCII 1 : ");scanf("%d",&nilai1);
 printf("masukkan nilai ASCII 2 : ");scanf("%d",&nilai2);

 for(nilai_ascii=nilai1; nilai_ascii <=nilai2; ++nilai_ascii)
  printf("%3d - %c ",nilai_ascii,nilai_ascii);
        printf("\nmau mencoba lagi [Y/T] : ");
 getch();

}

main()
{   char p;
 do
 {
 clrscr();
 printf("menampilkan karakter yang memiliki nilai ASCII");
 printf("\ntekan \"m\" untuk mulai \"t\" untuk keluar : ");


 p=getch();
 switch(p)
 {
  case 'm':
  case 'y':
  clrscr();coba();break;
 }

 }while(p!='t');
}
Contoh 8
/*-----------------------------*/
/*file program : ketik.c*/
/*contoh penggunaan break pada loop pernyataan for*/
/*-----------------------------------------------------*/

#include "stdio.h"
#include "conio.h"
#define ENTER '\r'
main()
{
 char karakter;
 clrscr();

 puts("Anda bisa mengetik apa saja");
 puts("sampai tombol ENTER anda tekan.\n");
 for( ; ; )
 {
  karakter=getche();
  if(karakter==ENTER)
   break;/*keluar dari loop for*/
 }
 puts("\nselesai....");
 getch();
}
Contoh 9
/*--------------------------------*/
/*file program : tabel kali*/
/*contoh pemakaian loop for berkalang*/
/*untuk membuat tabel perkalian*/
/*----------------------------------*/
#include "stdio.h"
#define MAKS 10

main()
{
 int baris,kolom,hasil_kali;
 clrscr();

 for (baris = 1; baris <= MAKS; baris++)
 {
  for(kolom=1; kolom <= MAKS; kolom++)
  {
   hasil_kali=baris*kolom;
   printf("%5d", hasil_kali);
  }
  printf("\n"); /*pindah baris*/
 getch();
 }
}
Contoh 10
/*-------------------------------------*/
/*file program : GT.C*/
/*contoh pemakaian goto*/
/*untuk mencetak tulisan "turbo.c" sebanyak 10 kali*/
/*-------------------------------------------------------*/
#include "stdio.h"
main()
{
 int pencacah=1;
 char jawab;
 clrscr();
 cetak: /*label untuk goto*/
  puts("TURBO C");
  if(++pencacah<=10)
   goto cetak; /*ke label cetak*/
 getch();
}
Contoh 11
/*---------------------*/
/*file program : jumkar.c */
/*menghitung jumlah kata dan karakter dalam suatu kalimat*/
/*--------------------------------------*/
#include "stdio.h"
#include "conio.h"
#define ENTER '\r' /*karkter CR*/
#define SPASI ' ' /*karakter spasi*/
main()
{
 char karakter;
 int jumkar = 0;
 int jumspasi = 0;
 clrscr();

 puts("masukkan sebuah kalimat dan akhiri dengan ENTER");
 puts("saya akan menghitung jumlah karakter");
 puts("pada kalimat tersebut \n");
 while((karakter=getche()) !=ENTER)
 {
  jumkar++;
  if(karakter==SPASI) jumspasi++;
 }
 printf("\njumlah karakter = %d",jumkar);
 printf("\njumlah spasi = %d",jumspasi);
 getch();
}
Contoh 12
/*----------------------------*/
/*file program: pilihan c     */
/*untuk membaca tombol Y atau T*/
/*------------------------------*/
#include "stdio.h"
#include "conio.h"
main()
{
 char pilihan,jawab;
 int sudah_benar;
 clrscr();
 do
 {

 printf("pilihan Y atau T");
 /*program hanya mau dilanjutkan
   kalau tombol Y,y,T, atau t yang ditekan*/

 do
 {
  pilihan = getch(); /*baca tombol*/
  sudah_benar=(pilihan == 'Y') || (pilihan == 'y')||
     (pilihan == 'T') || (pilihan == 't');
 }
 while(!sudah_benar);

 /*memberi keterangan tentang pilihan*/
 switch(pilihan)
 {
  case 'Y':
  case 'y':
   puts("\npilihan anda adalah Y");
   break;
  case 'T':
  case 't':
   puts("\npilihan anda adalah T");
 }
 getch();
 clrscr();
 printf("mau mencoba lagi y/t");jawab=getch();  /*baca tombol*/
 }while (jawab=='y'||jawab=='Y');

}
Contoh 13
/*----------------------------*/
/*file program: pilihan c     */
/*untuk membaca tombol Y atau T*/
/*------------------------------*/
#include "stdio.h"
#include "conio.h"
main()
{
 char pilihan,jawab;
 int sudah_benar;
 clrscr();
 do
 {

 printf("pilihan Y atau T");
 /*program hanya mau dilanjutkan
   kalau tombol Y,y,T, atau t yang ditekan*/

 sudah_benar=0; /*diberi nilai salah terlebih dahulu*/
 while(!sudah_benar)
 {
  pilihan = getch(); /*baca tombol*/
  sudah_benar=(pilihan == 'Y') || (pilihan == 'y')||
     (pilihan == 'T') || (pilihan == 't');
 }

 /*memberi keterangan tentang pilihan*/
 switch(pilihan)
 {
  case 'Y':
  case 'y':
   puts("\npilihan anda adalah Y");
   break;
  case 'T':
  case 't':
   puts("\npilihan anda adalah T");
 }
 getch();
 clrscr();
 printf("mau mencoba lagi y/t");jawab=getch(); /*baca tombol*/
 }while(jawab=='y'||jawab=='Y');

}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Operasi File

Berikut adalah contoh operasi file didalam pemrograman bahasa C :
Contoh 1
/* -------------------------------------------- */
/* file program : BACAACAK.C */
/* untuk melihat isi file secara random */
/* -------------------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 struct
 {
  char judul[26];
  char pengarang[20];
  int jumlah;
 }buku;    /* variabel buku bertipe integer */
 FILE *pf;   /* pinter file */
 char ulang;
 int nmr_record, hasil_baca;
 long int ofset_byte;

 clrscr();

 /* buka file yan berisi data buku */
 if((pf=fopen("DAFBUKU.DAT","rb"))==NULL)
 {
  cputs("File tak dapat dibuka !\r\n");
  exit(1);
 }

 /* baca record scara random */
 ulang ='Y';
 while(ulang == 'y' || ulang == 'Y')
 {
  cputs("\r\nNomor record dari data");
  cputs("yang ingin anda ketahui: ");
  scanf("%d",&nmr_record);

  ofset_byte=(nmr_record-1)*sizeof(buku);
  fseek(pf,ofset_byte, SEEK_SET);

  hasil_baca=fread(&buku,sizeof(buku),1,pf);
  if(hasil_baca==0)
  {
   cprintf("Nomor record tak absah !\r\n");
   continue;   /* kembali kewhile */
  }
  cprintf("judul buku : %-s\r\n",buku.judul);
  cprintf("Pengarang : %-s\r\n",buku.pengarang);
  cprintf("jumlah Buku : %d\r\n",buku.jumlah);

  cputs("\r\nMau mencari informasi lagi (Y/T)?");
  ulang = getche();
 }
 /* tutup file */
 fclose(pf);
}
Contoh 2
/* ----------------------------------------- */
/* file program : COPYC.C */
/* contoh menyalin sembarang file teks */
/* ----------------------------------------- */
# include "stdio.h"
# include "conio.h"
# include "fcntl.h"
# include "io.h"

# define PANJANG 256
# define UKURAN 2048

char buffer[UKURAN]; /* penampung file sebesar 2KB */
main()
{
 int file_inp, file_out;
 long int byte_terbaca;
 char string[PANJANG];
 char namafile_inp[65],
 namafile_out[65];
 clrscr();

 cprintf("PROGRAM UNTUK MENYALIN SEMBARANG FILE \r\n");
 cprintf("Nma file input : ");
 gets(namafile_inp);
 cprintf("Nama fie output : ");
 gets(namafile_out);

 /* buka file input */
 _fmode=O_BINARY;
 if((file_inp=_open(namafile_inp,O_RDONLY))==-1)
 {
  cputs("File input tak dapat dibuka !\r\n");
  getch();
  exit(1);
 }

 /* buka file output */
 if((file_out=_creat(namafile_out,0))==-1)
 {
  cputs("File output takdapat dibuka !\r\n");
  getch();
  exit(1);
 }

 /* proses menyalin file */
 for( ; ; )
 {
  byte_terbaca=_read(file_inp,buffer,sizeof(buffer));
  if(byte_terbaca==0L)break;
  _write(file_out,buffer,byte_terbaca);
 }

 /* menutup file */
 close(file_inp);
 close(file_out);
 getch();
}
Contoh 3
/* ------------------------------ */
/* file program : CTYPE.C */
/* program untuk menampilkan isi file */
/* ke layar atau keprinter */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"
#include "ctype.h"

#define PANJANG 256

main()
{
 FILE *f_teks,*piranti_keluaran;
 char string[PANJANG],
 pilihan, namafile[65];

 /* pemasukan anama file yang akan dibaca dan pemilihan piranti keluaran */
 directvideo=0;
 cputs("PROGRAM UNTUK MENAMPILKAN ISI FILE TEKS");
 cputs("\r\nNama file : ");
 gets(namafile);

 cputs("\r\nIngin ditampilkan ke printer atau layar : ");
 cputs("\r\nP--> printer    L--> layar : ");
 do
  pilihan=toupper(getch());
 while(!((pilihan=='L')|(pilihan=='P')));
 cprintf("%c\r\n",pilihan);  /* tampilkan ke layar */
 /* membuat file input ----------------------------- */
 if((f_teks=fopen(namafile,"r"))==NULL)
 {
  cputs("File input tak dapat dibuka!\r\n");
  getch();
  exit(1);
 }

 /* penugasan piranti keluaran */
 if(pilihan=='P')
  piranti_keluaran=stdprn;  /* printer */
 else
  piranti_keluaran=stdout;  /* layar */

 /* baca string dari file selama masih ada */
 while((fgets(string,PANJANG,f_teks))!=NULL)
  /* tampilkan kepiranti nalar : layar/printer */
  fprintf(piranti_keluaran,"%s\r",string);

 fclose (f_teks);  /* menutup file -------------------------- */
 getch();
}
Contoh 4
/* -------------------------------------- */
/* file program: FGETS.C  */
/* contoh pemakaian FGETS()  */
/* untuk membaca isi file teks */
/* ------------------------------------------- */
#include "stdio.h"
#include "conio.h"
#include "string.h"

#define PANJANG 256

main()
{
 FILE *f_teks;
 char string[PANJANG];
 char namafile[65];

 directvideo=0;
 cputs("PROGRAM UNTUK MELIHAT ISI FILE TEKS\r\n");
 cprintf("nama file: ");
 gets(namafile);

 if((f_teks=fopen(namafile,"rt"))==NULL)
 {
  cputs("File tak dapat dibuka !\r\n");
  exit(1);
 }
 /* baca string dari fele selama masih ada ");
 while ((fgets(string, PANJANG,f_teks)) !==NULL)

 /* tampilkan sring kelayar*/
 cprintf("%s\r",string);

 fclose(f_teks);   /* tutup file */
 getch();
}
Contoh 5
/* --------------------------------- */
/* file program: FPRINTF.C  */
/* contoh menyimpan data yang diformat */
/* ke file, menggunakan fprintf()  */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 FILE *pformat;
 char jawaban;

 struct
 {
  int x;
  int y;

 }koordinat;

 /* buka dan ciptakan file. periksa kalau gagal dibuka */
 if((pformat=fopen("KORDINAT.DAT","w"))==NULL)
 {
  cputs("File tak dapat dibuka !");
  exit(1);
 }

 do
 {
  clrscr();  /* Hapus layar */
  cputs("Masukan data koordinat (bilangan int)\r\n");
  cputs("Format: Posisi x Posisi Y \r\n");
  cputs("Contoh: 20 30 [ENTER]\r\n");

  scanf("%d %d",&koordinat.x,&koordinat.y);
  fflush(stdin);  /* hapus buffer keyboard */

  /* rekam kefile */
  fprintf(pformat, "5d%5d\n",koordinat.x,koordinat.y);
  cputs("\r\nMenyimpan data lagi (Y/T)? ");
  jawaban=getche();  /* baca tombol */
 }
 while(jawaban=='Y'||jawaban=='y');
 fclose(pformat);
 getch();
}
Contoh 6
/* -------------------------------------- */
/* file program :FREAD.C */
/* contoh membaca sebuah structur */
/* dari file , menggunakan fread() */
/* --------------------------------------- */
#include "stdio.h"
#include "conio.h"

#define JUM_BLOK 1 /* sebuah record */

main()
{
 FILE *f_struktur;

 struct
 {
  char judul[26];
  char pengarang[20];
  int jumlah;
 }buku;   /* variabel  struktur */
 clrscr();

 if( (f_struktur=fopen("DAFBUKU.DAT","rb"))==NULL )
 {
  cputs("File tak dapat dibuka !\r\n");
  exit(1);
 }
 while(fread(&buku,sizeof(buku),JUM_BLOK,f_struktur)==JUM_BLOK)
 cprintf("%-2s %-2s %2d\r\n",buku.judul,buku.pengarang, buku.jumlah);

 fclose(f_struktur);  /* tutup file */
 getch();
}
Contoh 7
/* --------------------------------- */
/* file program: FSCANF.C  */
/* contoh membaca data yang diformat */
/* yang ada pada fiile , memakai fscanf() */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 struct
 {
  int x;
  int y;

 }koordinat;

 FILE *pkoord;
 char kar;  /* untukk menyimpan keluaran fungsi fscanf()*/
 int kode; /* untuk memegang keluaran fungsi fscanf() */

 /* buka file. periksa kalau gagal dibuka */
 if((pkoord=fopen("KORDINAT.DAT","rt"))==NULL)
 {
  cputs("File tak dapat dibuka !");
  exit(1);
 }
 while((kode=fscanf(pkoord,"%5d%5d%c",&koordinat.x,&koordinat.y,&kar)) !=EOF)
 {
  if(kode !=3)   /* jika yang dibaca tidak sama dengan */
        /* tiga buah file */
  {
   cputs("program dihentikan.\r\n");
   cputs("sebab format data dalam file salah !\r\n");
   exit(1);
  }
  cprintf("%5d %5d\r\n",koordinat.x, koordinat.y);

 }
 fclose(pkoord);
 getch();

}
Contoh 8
/* -------------------------------------- */
/*  file program : FWRITE.C */
/* contoh menyimpan data bertipe structur */
/* ke file , menggunakan fwrite() */
/* --------------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 FILE *f_struktur;
 char jawaban;

 struct data_pustaka
 {
  char judul[26];
  char pengarang[20];
  int jumlah;
 }buku;   /* variabel buku bertipe struktur */

 /* buka file */
 if( (f_struktur=fopen("DAFBUKU.DAT","wb"))==NULL )
 {
  cputs("File tak dapat diciptakan !\r\n");
  exit(1);
 }

 do
 {
  clrscr();
  cputs("judul buku :  ");
  gets(buku.judul);
  cputs("nama pengarang : ");
  gets(buku.pengarang);
  cputs("jumlah buku :  ");
  scanf("%d",&buku.jumlah);
  /* hapus isi penampung keyboard */
  fflush(stdin);

  /* rekam sebuah data bertipe struktur */
  fwrite(&buku,sizeof(buku),1,f_struktur);

  cputs("\r\nmau merekam data lagi (Y/T)? ");
  jawaban=getche();
 }
 while(jawaban=='Y'||jawaban=='y');

 fclose(f_struktur);  /* tutup file */

}
Contoh 9
/* ------------------------------- */
/* file program : GANTIFIL.C */
/* utntuk mengganti nama file */
/* ------------------------------------ */
#include "conio.h"
#include "stdio.h"

main()
{
 int kode;
 char namafilelama[65],namafilebaru[65];
 clrscr();

 cputs("Nama file yang akan diganti : ");
 gets(namafilelama);
 cputs("Nama file pengganti : ");
 gets(namafilebaru);

 kode=rename(namafilelama,namafilebaru);
 if (kode==-1)
  cputs("Gagal dalam mengganti nama file !\r\n");
 else
  cputs("File sudah diganti\r\n");
  getch();

}
Contoh 10
/* -------------------------------------------- */
/* file program : GANTIREC.C */
/* untuk mengganti isi suatu record */
/* secara acak */
/* -------------------------------------------- */
#include "stdio.h"
#include "conio.h"

#define SATU_RECORD 1

main()
{
 struct
 {
  char judul[26];
  char pengarang[20];
  int jumlah;
 }buku;    /* variabel buku bertipe struktur */
 FILE *pf;   /* pinter ke-file */
 char ulang;
 int nmr_record, hasil_baca;
 long int ofset_byte;

 clrscr();

 /* buka file yan berisi data buku */
 if((pf=fopen("DAFBUKU.DAT","rb"))==NULL)
 {
  cputs("File tak dapat dibuka !\r\n");
  exit(1);
 }

 /* baca record secara random */
 do
 {
  cputs("\r\nNomor record dari data");
  cputs("yang ingin anda ketahui: ");
  scanf("%d",&nmr_record);

  /* atur penunjuk posisi file ke record
     yang di kehendaki ----------------*/
  ofset_byte=(nmr_record-1)*sizeof(buku);
  fseek(pf,ofset_byte, SEEK_SET);

  /* baca record yang ditunjuk oleh
     penunjuk posisi file -------*/
  hasil_baca=fread(&buku,sizeof(buku),SATU_RECORD,pf);

  if(hasil_baca==0)
   cprintf("Nomor record tak absah !\r\n");
  else
  {
   cprintf("judul buku : %-s\r\n",buku.judul);
   cprintf("Pengarang : %-s\r\n",buku.pengarang);
   cprintf("jumlah Buku : %d\r\n",buku.jumlah);

   cprintf("Jumlah buku kini : ");
   scanf("%d",&buku.jumlah);

   /* atur penunjuk posisi file
      ke posisi sebelumnya---*/
   fseek(pf,ofset_byte,SEEK_SET);

   /* rekam ulang */
   fwrite(&buku,sizeof(buku),SATU_RECORD,pf);
  }

  cputs("\r\nMau mengubah lagi (Y/T)?");
  ulang = getche();
 }
 while (ulang=='Y'||ulang=='y');
 /* tutup file */
 fclose(pf);
}
Contoh 11
/* -------------------------------------- */
/* file program : GETC.C */
/* contoh untuk membaca isi file */
/* per karakter */
/* --------------------------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
 FILE *pf;
 char kar;

 clrscr();      /* hapus layar */
 if((pf=fopen("COBA.TXT","r"))==NULL) /* buka file */
 {
  cputs("File tak dapat dibuka !\r\n");    /* tulis kelayar */
  exit(1);    /* selesai */
 }

 while ((kar=getc(pf)) !=EOF)    /* baca kar dari file */
  putch(kar);          /* tampilkan ke layar */

  fclose(pf);
 getch();
}
Contoh 12
/* --------------------------------- */
/* file program: GETW.C  */
/* contoh membaca isi file */
/* menggunakan getw */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 FILE *pf;       /* ptr-ke-FILE */
 int nilai;
 char nomor=0;

 clrscr();
 /* buka file biner untuk dibaca */
 if((pf=fopen("BILANGAN.DAT","wb"))==NULL)
 {
  cputs("File gagal dibuka! \n");
  exit();
 }
 cputs("isi file BILANGAN.DAT:");
 while(1)
 {
  /* baca sebuah int dari file  */
  nilai=getw(pf);
  /* jika akhir file, keluar loop */
  if(feof(pf)!=NULL)break;
  /* tampilkan kelayar */
  cprintf("%2d. %2d\r\n",++nomor,nilai);
 }
 fclose(pf); /* tutup file */
 getch();
}
Contoh 13
/* ------------------------------- */
/* file program : HAPUSTIL.C */
/* utntuk menghapus file */
/* ------------------------------------ */
#include "conio.h"
#include "stdio.h"

main()
{
 int kode;
 char namafile[65];

 cputs("Nama file yang akan dihapus : ");
 gets(namafile);

 kode=unlink(namafile);
 if (kode==-1)
  cputs("Gagal dalam menghapus !\r\n");
 else
  cputs("File sudah dihapus\r\n");
  getch();

}
Contoh 14
/* ------------------------------------- */
/* file program : PUTC.C */
/* contoh menambah tulisan */
/* dengan data karakter dari keyboard */
/* -------------------------------------- */

#include "stdio.h"
#include "conio.h"

#define CTRL_Z 26

main()
{
 FILE *pf;              /* pointer-ke-FILE */
 char kar;

 if((pf=fopen("COBA.TXT","a"))==NULL)   /* ciptakan file */
 {
  cputs("File tak dapat dibuka !\r\n");    /* tulis kelayar */
  exit(1);           /* selesai */
 }
 while((kar=getche()) !=CTRL_Z)   /* baca kar dari keyboard */
  putc(kar,pf);    /* tulis ke file */

 fclose(pf);
 getch();
}
Contoh 15
/* ------------------------------------- */
/* file program : PUTC.C */
/* contoh menciptakan dan mengisi file */
/* dengan data karakter dari keyboard */
/* -------------------------------------- */

#include "stdio.h"
#include "conio.h"

#define CTRL_Z 26

main()
{
 FILE *pf;              /* pointer-ke-FILE */
 char kar;

 if((pf=fopen("COBA.TXT","w"))==NULL)   /* ciptakan file */
 {
  cputs("File tak dapat diciptakan !\r\n");    /* tulis kelayar */
  exit(1);           /* selesai */
 }
 while((kar=getche()) !=CTRL_Z)   /* baca kar dari keyboard */
  putc(kar,pf);    /* tulis ke file */

 fclose(pf);
 getch();
}
Contoh 16
/* --------------------------------- */
/* file program: PUTW.C  */
/* contoh menyimpan data bertipe int */
/* menggunakan putw */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 FILE *pf;       /* ptr-ke-FILE */
 int nilai;
 char jawab;

 clrscr();
 if((pf=fopen("BILANGAN.DAT","wb"))==NULL)   /* ciptakan file biner */
 {
  cputs("File gagal diciptakan! \n");
  exit();
 }
 cputs("programuntuk menyimpan data integer ke file.");

 do
 {
  cputs("\r\nBilangan yang akan disimpan: ");
  scanf("%d",&nilai);    /* baca nilai dari key board */
  putw(nilai,pf);   /* tulis bilangan kefile */
  cputs("memasukan data lagi (Y/T(?");
  jawab=getche();   /* baca jawaban dari keyboard */
 }
 while(jawab=='Y'||jawab=='y');
 fclose(pf);  /* menutup file */
 cputs("\r\nOke. Data sudah disimpan pada file.\r\n");
 getch();
}
Contoh 17
/* ------------------------------------- */
/* file program : SALINFIL.C */
/* contoh menyalin isifile teks */
/* ------------------------------------- */
#include "stdio.h"
#include "conio.h"
#include "string.h"

#define PANJANG 256

main()
{
 FILE *pf_input, *pf_output;
 char string[PANJANG];
 char namafile_inp[65],
   namafile_out[65];

 cputs("PROGRAM UNTUK MENYALIN ISI FILE TEKS\r\n");
 cputs("HURUF KECIL AKAN DIGANTI HURUF KAPITAL\r\n");
 cprintf("Nama file input: ");
 gets(namafile_inp);
 cprintf("Nama File output: ");
 gets(namafile_out);

 /* buka file input */
 if((pf_input=fopen(namafile_inp, "rt")) == NULL)
 {
  cputs("File input tak dapat dibuka !\r\n");
  exit(1);
 }

 /* buka file output */
 if((pf_output=fopen(namafile_out,"wt"))==NULL)
 {
 cputs("File output tak dapat dibuka !\r\n");
 exit(1);
 }

 /* ******************************** */
 /* baca string dari file input      */
 /* dan konversikan kehuruf kapital  */
 /* kemudian rekam ke file output    */
 /* ******************************** */
 while((fgets(string, PANJANG, pf_input)) !=NULL)
 {
  strupr(string);
  fputs(string, pf_output);
 }
 fcloseall();   /* tutup file input dan file output */
 getch();
}
Contoh 18
/* -------------------------------- */
/* file program: STDINOUT.C */
/* contoh penggunaan stdin dan stdout */
/* -------------------------------------- */
#include "conio.h"
#include "stdio.h"

main()
{
 int x;

 fprintf(stdout,"Masukan sebuah bilangan bulat.");
 fscanf(stdin,"%d",&x);
 fprintf(stdout,"Bilangan yang ana masukan : %d",x);
 getch();
}
Contoh 19
/* ---------------------------- */
/* file program : STDPRN.C */
/* contoh menggunakan stdprn */
/* untuk mencetak keprinter */
/* ------------------------------- */
#include "stdio.h"
main()
{
 fprintf(stdprn,"%c%s\r\n",15,"CONDENSED");
 fprintf(stdprn,"%c%s\r\n",18,"NORMAL");
 fprintf(stdprn,"%c%s\r\n",14,"LEBAR");
 getch();
}
Contoh 20
/* ---------------------------- */
/* file program: TES1.C */
/* contoh untuk redirection keluaran */
/* keprinter atau file */
/* ----------------------------- */
main()
{
 clrscr();
 printf("Tes %d\n",123);
 getch();
}
Contoh 21
/* ---------------------------- */
/* file program: TES2.C */
/* contoh untuk redirection masukan dari file */
/* sampai tombol CTRL-Z ditekan diikuti ENTER */
/* ----------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 int jum = 0;
 char kar;

 /* menghitung jumlah huruf a atau A
    pada data yang berasal dari stdin ------------------ */
 while((kar=getchar())!=EOF)
    if(kar=='a'||kar=='A')
    jum++;
    cprintf("\r\nJumlah huruf a atau A = %d\r\n",jum);
 getch();
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Selasa, 22 Maret 2011

keyboard_jam_suara_pembangkit_bilangan_acak_dan_penundaan_eksekusi

Contoh 1
/* -------------------------------------- */
/* file program: CGETS.C  */
/*i contoh pembatasan panjang string */
/* yang dimasukan dari keyhboard */
/* ------------------------------------------ */
#include "conio.h"
main()
{
 char st[27]; /*I area untuk string masukan */
 char *ptr;    /* pointer yang menunjuk string masukan */

 clrscr();
 cprintf("Nama ( maks.24 karakter ):");

 st[0]=25;   /* atur panjang string maksimal plus karakter NULL */
 ptr=cgets(st);  /*  baca maksimal 24 karakter */

 cprintf("Nama yang anda masukan adalah %s\r\n",ptr);
 cprintf("Jumlah karakter = %d\r\n",st[1]);
 getch();
}

Contoh 2
/* -------------------------------- */
/* file program : GETDATE.C */
/* untuk memperoleh tanggal sistem */
/* ----------------------------------- */
#include "conio.h"
#include "dos.h"

main()
{
 struct time tanggal;

 clrscr();
 getdate(&tanggal);  /* peroleh data tanggal */
 cprintf("Tanggal kini: %d-%d-%d",tanggal.da_day,tanggal.da_mon,tanggal.da_year);
 getch();
}

Contoh 3
/* -------------------------------- */
/* file program :GETTIME.C  */
/* untuk memperoleh waktu sistem */
/* ------------------------------- */
#include "conio.h"
#include "dos.h"

main()
{
 struct time waktu;

 clrscr();

 while(!kbhit())
 {
  gettime(&waktu);  /* peroleh data jam */
  gotoxy(70,1);
  cprintf("%2d:%2d:%2d",waktu.ti_hour,waktu.ti_min,waktu.ti_sec);
 }
 getch();
}

Contoh 4
/* ------------------------------------ */
/* file program: HAPUSKBD.C */
/* contoh menghapus isi keyboard */
/* ------------------------------------ */
#include "stdio.h"
#include "conio.h"
#include "dos.h"

#define PANJANG_STR 15
main()
{
 char st[PANJANG_STR+3];

 clrscr();
 cputs("saya akan menunggu kira - kira 4detik.\r\n");
 cputs("jika selama waktu tersebut ada tombol");
 cputs("yang ditekan\r\n");
 cputs("tombol tersebut takkan dibaca oleh cgets().\r\n");

 sleep(4);   /* tunda eksekusi selama 4 detik */

 while (kbhit())
  getch();   /* hanpus isi penampung keyboard */
 cputs("Masukan nama anda : ");
 st[0]=PANJANG_STR+1;   /* atur agar string maksimal adalah PANJANG_STR karakter */
 cgets(st);   /* baca string dari keyhboard */
 getch();
}

Contoh 5
/* ------------------------------------ */
/* file program : KBHIT.C */
/* contoh pemakaian kbhit()   */
/* untuk memeriksa ada tidaknya tombol yang ditekan */
/* ----------------------------------------------------- */
# include "conio.h"
main()
{
 unsigned i;
 unsigned char kar;
 clrscr();

 for (i=0;i<200000;i++)   /* selama i <2000 */
  if(kbhit())      /* jika ada tombol ditekan */
   break;    /* keluar dari for */
 if(!kbhit())
  cputs("Anda tak menekan tombol sama sekali\r\n");
 else
 {
  cputs("Anda telah menekan tombol ");
  if((kar=getch())==0)
  {
   kar=getch();  /* baca kode kedua */
   cprintf("Perluasan. kode kedua=%d\r\n",kar);
  }
  else
   cprintf("biasa.kode = %d\r\n",kar);
 }
 getch();
}
Contoh 6
/* ------------------------------------ */
/* file program : RANDOM1.C */
/* contoh membangkitkan bilangan acak */
/* menggunakan rand() */
/* dengan inisialisasi melalui srang() */
/* ------------------------------------- */
#include "conio.h"
#include "stdlib.h"

main()
{
 int i;

 srand(100);    /* memberikan nilai awal kepada pembangkit bil.acak */


 cputs("5 Bilangan melalui srand() :\r\n");
 for(i=0;i<5;i++)
  cprintf("%d",random(50));
 cputs("\r\n");
 getch();
}
Contoh 7
/* --------------------------------- */
/* file program: RANDOM2.C */
/* contoh membangkitkan bilangan acak */
/* menggunakan rand() */
/* dengan inisialisasi melalui randomize() */
/* ---------------------------------------------- */
#include "conio.h"
#include "stdlib.h"
#include "time.h"

main()
{
 int i;


 randomize();   /* inisialisasi pembangkit acak berdasarkan waktu sistem */

 cputs("5 Bilangan acak melalui randomize() : \r\n");
 for(i=0;i<5;i++)
  cprintf("%d\r\n",random(50));
 getch();
}
Contoh 8
/* ------------------------------------ */
/* file program: SUARA.C */
/* contoh membunyikan speaker  */
/* --------------------------------------- */
#include "dos.h"

main()
{
 sound(440);   /* bunti berfrekwensi 440 Hz */
 delay(500);   /* selama 1/2 */
 nosound();  /* hentikan suara */
 getch();
}
Contoh 9
/* ------------------------------------- */
/* file program: TBLOANAH.C */
/* contohmembaca tombol panah */
/* ----------------------------------- */
#include "conio.h"

#define PANAH_ATAS (256+72)
#define PANAH_KIRI (256+75)
#define PANAH_KANAN (256+77)
#define PANAH_BAWAH (256+80)

main()
{
 unsigned int kar;
 cputs("Tekanlah tombol - tombol panah.\r\n");

 do
 {
  kar=getch();        /* baca tombol */
  if(kar==0)       /* jika tombol perluasan */
   kar=256+getch();   /* tambahkan nilai 256 terhadap kode kedua */

  /* --- cek tombol panah --- */
  switch(kar)
  {
   case PANAH_ATAS : cputs("Tombol yang anda tekan");
         cputs("adalah PANAH ATAS\r\n");
         break;
   case PANAH_BAWAH: cputs("Tombol yang anda tekan");
         cputs("adalah PANAH BAWAH\r\n");
         break;
   case PANAH_KIRI : cputs("Tombol yang anda tekan");
         cputs("adalah PANAH KIRI\r\n");
         break;
   case PANAH_KANAN: cputs("Tombol yang anda tekan");
         cputs("adalah PANAH KANAN\r\n");

  }
 }
 while (kar !=27);   /* selesai jika escape */
 getch();
}
Contoh 10
/* ----------------------------------------- */
/* file program : TOTWAKTU.C */
/* program mencacah waktu yang diperlukan */
/* untuk menampilkan tulisan turbo c */
/* ----------------------------------------- */
#include "stdio.h"
#include "time.h"
#include "conio.h"

main()
{
 int i;
 time_t waktu_awal, total_waktu;

 clrscr();
 waktu_awal=time(NULL);  /* catat waktu kini */

 for(i=0;i<350;i++)
  cputs("TURBO C");

  total_waktu=time(NULL)-waktu_awal;
  cprintf("\r\nTotal waktu : %d detik\r\n",total_waktu);
 getch();
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Fungsi Dalam Bahasa Pemrograman C

Berikut adalah contoh - contoh fungsi dalam bahasa C :

Contoh 1
/*----------------------------------*/
/*file program : INISIAL.C */
/*contoh penciptaan fungsi*/
/*---------------------------*/
#include "stdio.h"
main()
{
 int x,y;
 clrscr();

 x=inisialisasi();
 printf("x = %d\n",x);
 y=inisialisasi();
 printf("y = %d\n",y);
 getch();

}
inisialisasi()
{
 return(0);
}

Contoh 2
/*----------------------------------*/
/*file program: MINIMUM.C  */
/*contoh fungsi yang mengandung argumen */
/*----------------------------------*/

#include 
main()
{
 int a=20;
 int b=44;
 int hasil;
 clrscr();

 hasil=minimum(a,b);
 printf("Nilai terkecil=%d\n",hasil);
 printf("Nilai terkecil=%d\n",minimum(3,2));
 getch();
}
minimum(x,y)
int x,y;
{
 if(x<y)
  return(x);
 else
  return(y);
}

Contoh 3
/*--------------------------------*/
/*File program minimum2.c */
/*contoh fungsi dengan keluaran bertipe float */
/*------------------------------------*/

#include 

float minimum(); /*deklarasi fungsi */

main()
{
 float a=20.5;
 float b=44.5;
 float hasil;
 clrscr();

 hasil=minimum(a,b);
 printf("Nilai terkecil = %g\n",hasil);
 printf("Hasil terkecil = %g\n",minimum(3.5,2.5));
 getch();

}
float minimum(x,y)
float x,y;
{
 if(x<y)
  return(x);
 else
  return(y);

}

Contoh 4
/*--------------*/
/* file program lokal.c */
/*---------------------------*/
#include "stdio.h"

void fung_1(void);

main()
{
 int i=20;
 clrscr();

 fung_1();
 printf("\ni dalam main()= %d\n",i);
 getch();
}
void fung_1(void)
{
 int i=11;
 printf("i dalam fung_1()=%d",i);
}

Contoh 5
/* ------------------------------------------------*/
/* file program : KOM-FUNG.C */
/* contoh suatu fungsi yang memanggil fungsi lain */
/* ------------------------------------------------*/
#include "stdio.h"

void fungsi_1(void), fungsi_2(void);

main()
{
 clrscr();
 fungsi_1();
 getch();
}
void fungsi_1()
{
 puts("fungsi 1 dijalankan");
 fungsi_2();
}
void fungsi_2()
{
 puts("fungsi 2 dijalankan");
}

Contoh 6
#include "stdio.h"
void ubah(int);
main()
{
 int x = 27;
 clrscr();

 ubah(x);
 printf("x=%d\n",x);
 getch();
}
void ubah(int y)
{
 y=85;
 printf("y=%d\n",y);
}

Contoh 7
#include "stdio.h"

void fung_a(void);
void fung_b(void);

int x=20;

main()
{
 clrscr();
 x+=2;
 fung_a();
 fung_a();
 printf("x = %d\n",x);
 getch();
}
void fung_a(void)
{
 static int x=5;

 x++;
 printf("x = %d\n",x);
 fung_b();
}
void fung_b(void)
{
 x--;
 printf("x = %d\n",x);
}

Contoh 8
/*--------------------------------------*/
/* file program TUKAR2:C  */
/* untuk melihat pengaruh pemanggilan dengan referensi */
/* pada fungsi untuk penukaran dua data */
/*-------------------------------------------*/
#include "stdio.h"

void tukar(int *px,int *py);

main()
{
 int a,b;
 a=88;
 b=77;
 clrscr();

 printf("nilai sebelum pemanggilan fungsi\n");
 printf("a=%d b=%d\n\n",a,b);

 tukar(&a,&b);       /*parameter: alamat a dan alamat b */

 printf("nilai sesudah pemanggilan fungsi\n");
 printf("a=%d b=%d\n\n",a,b);
 getch();
}
void tukar(int *px,int *py)
{
 int z;   /*variabel sementara*/

 z=*px;
 *px=*py;
 *py=z;

 printf("nilai di akhir fungsi tukar()\n");
 printf("x=%d y=%d\n\n",*px,*py);
}

Contoh 9
/*----------------------------------*/
/*File program void.c */
/*contoh fungsi tanpa nilai keluaran */
/*(pemakaiann void) */
/*-------------------------------------*/
#include 
void info_program();   /*deklarasi fungsi*/
clrscr();

main()
{
 info_program();
 getch();
}
void info_program()   /*deklarasi fungsi */
{
 long i;
 puts("______________________________");
 puts("| Program ini diciptakan oleh |");
 puts("|        ABDUL KADIR          |");
 puts("|          Th 1989            |");
 puts("|                             |");
 puts("| selamat menggunakanya.....  |");
 puts("|_____________________________|");

 for(i=0; i<200000; i++);   /*tunda sebentar*/
}
Contoh 10
/*--------------------------------------*/
/* file program TUKAR1:C  */
/* untuk melihat pengaruh pemanggilan dengan nilai */
/* pada fungsi untuk penukaran dua data */
/*-------------------------------------------*/
#include "stdio.h"

void tukar(int,int);

main()
{
 int a,b;
 a=88;
 b=77;
 clrscr();

 printf("nilai sebelum pemanggilan fungsi\n");
 printf("a=%d b=%d\n\n",a,b);

 tukar(a,b);

 printf("nilai sesudah pemanggilan fungsi\n");
 printf("a=%d b=%d\n\n",a,b);
 getch();
}
void tukar(int x,int y)
{
 int z;   /*variabel sementara*/

 z=x;
 x=y;
 y=z;

 printf("nilai di akhir fungsi tukar()\n");
 printf("x=%d y=%d\n\n",x,y);
}
Contoh 11
/*------------------------------------*/
/* File program : JUMLAH2.C */
/*contoh fungsi dengan keluaran bertipe float */
/* catatan : */
/* hasil keluaran orogram ini salah karena */
/* -nilai yang dilewatkan ke dalam fungsi */
/* tidak bertipe float */
/* sedangkan parameter fungsi dalam definisi */
/* bertipe float */
/*---------------------------------------------*/
#include "stdio.h"
float jumlah();         /*seharusnya dikasi parameter fungsi */
main()
{
 int a=6;
 int b=3;
 float c;
 clrscr();

 c=jumlah(a,b);
 printf("c=a+b= %g\n",c);
 printf("Hasil Penjumlahan= %g\n",jumlah(20.1,0.9));
 getch();
}
float jumlah(float x, float y)
{
 return(x+y);
}
Contoh 12
/*---------------------------*/
/* File program : JUMLAH.C */
/* contoh pemakaian prototipe fungsi */
/*---------------------------------*/
#include 

float jumlah(float,float);  /* prototipe fungsi */

main()
{
 int a=6;
 int b=3;
 float c;

 c=jumlah(a,b);
 printf("c=a+b= %g\n",c);
 printf("Hasil penjumlahan = %g\n", jumlah(20.1,0.9));
 getch();
}
float jumlah(float x, float y)
{
 return(x+y);
}
Contoh 13
/* ---------------------------------------*/
/* file program : faktor.c */
/* contoh penerapan rekursi */
/* untuk memperoleh nilai faktorial */
/* -----------------------------------*/
#include "stdio.h"
int faktorial(int);
main()
{
 int x;

 puts("MENCARI FAKTORIAL DARI X!");
 puts("Masukkan nilai x (bulat positif): ");
 scanf("%d", &x);

 printf("Faktorial dari %d = %d\n",x,faktorial(x));
 getch();
}
int faktorial(int m)
{
 if (m==1)
  return(1);
 else
  return(m*faktorial(m-1));
}
Contoh 14
/* ------------------------------------------ */
/* file program : TES-REG.C */
/* pembandingan kecepatan antara variabel register */
/* dan variabel bukan-register */
/* -------------------------------------------*/

#include "stdio.h"
#include "time.h"

main()
{
 /* tanpa variabel register */
 int i,j;
 /* memakai register */
 register int a,b;
 long waktu_awal;
 waktu_awal = time('\0');
 clrscr();

 for(i=0;i<1000; i++)
  for(j=0;j<1000;j++)
  ;

 printf("waktu total = %ld detik\n",
  time('\0') - waktu_awal);

 /* dengan variabel register */

 waktu_awal =time('\0');
 for(a=0; a<1000;a++)
  for(b=0; b<1000; b++)
  ;

 printf("waktu total = %ld detik\n",
  time('\0') - waktu_awal);

 getch();
}
Contoh 15
/*-------------------------------------*/
/* file program external1.c */
/* contoh program yang menggunakan variabel eksternal */
/* tetapi salah peletakanya */
/*---------------------------------------*/
#include "stdio.h"

void tambah(void);

main()
{
 printf("Nilai awal i = %d\n",i);
 i=i+7;
 printf("Nilai i kini = %d\n",i);
 tambah();
 printf("Nilai i kini = %d\n",i);
 tambah();
 printf("Nilai i kini = %d\n",i);
 getch();
}
void tambah(void)
{
 i++;
}

int i=273;  /* variabel eksternal */ /* seharusnya i di letakkan*/
         /* dibagian atas program */
Contoh 16
/*-------------------------------------*/
/* file program external1.c */
/* contoh program yang menggunakan variabel eksternal */
/* dan memakai kunci - kunci extern */
/*---------------------------------------*/
#include "stdio.h"

void tambah(void);

int i=273; /* variabel external */

main()
{
 printf("Nilai awal i = %d\n",i);
 i=i+7;
 printf("Nilai i kini = %d\n",i);
 tambah();
 printf("Nilai i kini = %d\n",i);
 tambah();
 printf("Nilai i kini = %d\n",i);
 getch();
}
void tambah(void)
{
 extern int i;  /* variabel eksternal */
 i++;
}
Contoh 17
/*-------------------------------------*/
/* file program external1.c */
/* contoh program yang menggunakan variabel eksternal */
/*---------------------------------------*/
#include "stdio.h"

int i=273;  /*variabel eksternal */

void tambah(void);

main()
{
 printf("Nilai awal i = %d\n",i);
 i=i+7;
 printf("Nilai i kini = %d\n",i);
 tambah();
 printf("Nilai i kini = %d\n",i);
 tambah();
 printf("Nilai i kini = %d\n",i);
 getch();
}
void tambah(void)
{
 i++;
}
Contoh 18
/* -------------------*/
/* file program   : vat-reg.c */
/* comtoh variabel register */
/* ---------------------- */
# include "stdio.h"

main()
{
 register int i; /* variabel register*/
 int jumlah;
 clrscr();

 for(i=1;i<=100;i++)
  jumlah=jumlah + i;

  printf("1+2+3+........+100 = %d\n",jumlah);
 getch();
}
Contoh 19
/* ---------------------*/
/* file program : STATIC.C */
/* contoh variabel statis */
/* ------------------------*/

#include "stdio.h"

void fung_y(void);

main()
{
 int y=20;
 clrscr();

 fung_y();
 fung_y();
 printf("Nilai y dalam main() = %d\n",y);
 getch();
}
void fung_y(void)
{
 static int y;
 y++;
 printf("Nilai y dalam fung_y() =%d\n",y);
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Desain Layar Dalam Pemrograman Bahasa C

Berikut adalah contoh Source Code Program Bahasa C (Desain Layar) :

Contoh 1
/* ------------------------- */
/* file program: CLREOL.C */
/* contoh pemakaian clreol() */
/* untuk menghapus text mulai posisi kursor */
/* hingga akhir baris , dengan tujuan */
/* untuk membentuk garis berwarna-warni */
/* -------------------------------------------- */
#include "conio.h"
main()
{
 int j;
 clrscr();

 for(j=1;j<7;j++)
 {
  textbackground(j);   /* pilih latar belakang */
  gotoxy(1,j);   /* ke awal baris */
  clreol();   /* hapus hingga akhir baris */
  getch();
 }
}
Contoh 2
/* -------------------------------- */
/* file program info layar */
/* untuk memperoleh informrasi video */
/* -------------------------------- */
#include "conio.h"
main()
{
 struct text_info data;

 clrscr();
 directvideo=0;  /* output kelalyar melalui ROM-BIOS */

 window(10,2,70,15);   /* atur jendela */
 textcolor(16*1+15);   /* atur atribut */
 gettextinfo(&data);   /* peroleh info video */
 window(1,1,80,25);    /* jendela sebesar layar penuh */

 cprintf("DATA KEADAAN VIDEO: \r\n");
 cprintf("koordinat jendela : \r\n");
 cprintf("kolom: kiri=%2d kanan=%2d\r\n",data.winleft,data.winright);
 cprintf("baris: atas:%2d bawa:%2d\r\n",data.wintop,data.winbottom);
 cprintf("data warna: \r\n");
 cprintf("atribut text = %2d\r\n",data.attribute);
 cprintf("atribut normal = %2d\r\n",data.normattr);
 cprintf("lain-lain\r\n");
 cprintf("mode video = %d\r\n",data.currmode);
 cprintf("tinggi layar = %d\r\n",data.screenheight);
 cprintf("lebr layar = %d\r\n",data.screenwidth);
 cprintf("posisi kursor = baris =%2d kolom=%2d\r\n",data.cury,data.curx);
 getch();
}
Contoh 3
/* ------------------------------- */
/* fileprogram : INSDEL.C */
/* contoh pemakaian insline() dan delline()   */
/* untuk membuat animasi penampilan teks */
/* ----------------------------------------------- */
#include "conio.h"
#include "stdio.h"
#include "string.h"

main()
{
 static char st[][20]=
    {"iiiiiiiiiiiiiiiiiiii",
  "i    ANIMASI TEKS  i",
  "i       DENGAN     i",
  "i      TURBO  C    i",
  "iiiiiiiiiiiiiiiiiiii"};
 int x,i;


 /* --keadaan awal---*/
 clrscr();
 x=40-strlen(st[1])/2;
 gotoxy(x,1);  cputs(st[0]);
 gotoxy(x,2);  cputs(st[1]);
 gotoxy(x,13); cputs(st[2]);
 gotoxy(x,24); cputs(st[3]);
 gotoxy(x,25); cputs(st[4]);

 /* buat animasi penggeseran baris */
 for(i=1;i<11; i++)
 {
  window(1,1,80,12);   /* jendela untuk penggeseran kebawah*/
  insline();    /* geser baris kebawah */
  window(1,14,80,25);   /* jendela untuk penggeseran keatas */
  delline();    /* geser bais keatas */
 }
 getch();
}
Contoh 4
/* --------------------------------- */
/* file program:KOTAK.C */
/* membuat kotak yang berubah */
/* jadi kecil menjadi besar */
/* --------------------------------- */
#include "stdio.h"
main()
{
 int i,j;
 textbackground(7);      /* warna kotak */
 for(i=1;i<=10;i++)
 {
  window(41-4*i, 11-i, 40+4*i, 15+1);    /* definisi kotak */
  clrscr();
  for(j=0;j<3000;j++)
  ;                               /* tunda sebentar */
 }
 getch();
}
Contoh 5
/* -----------------------  */
/* File program: KURSOR.C   */
/* Memperoleh posisi kursor */
/* ------------------------ */

#include 

main()
{
  int pos_brs,pos_klm;

  clrscr();            /* hapus layar */

  gotoxy(12,15);  /* menempatkan kursor */
  pos_brs= wherey();  /* posisi baris kursor berada */
  pos_klm= wherey();  /* posisi kolom kursor berada */
  cprintf("posisi kursor - baris = %d kolom = %d",pos_brs,pos_klm);
  getch();
}
Contoh 6
/* ----------------------------------------- */
/* file program : MODLYR.C */
/* contoh mengatur mode layar */
/* ----------------------------------------- */
#include "conio.h"
void tekan_enter(void);
main()
{
 clrscr();
 cputs("Mode awal pada keadaan awal");
 tekan_enter();

 textmode(C40);
 cputs("Mode layar 40 kolom");
 tekan_enter();

 textmode(C80);
 cputs("Mode layar 80 kolom");
 tekan_enter();
 getch();
}
void tekan_enter(void)
{
 cputs("\r\nTekanlah enter untuk melanjutkan\r\n");
 while (getch() !=13);    /*baca enter */
}
Contoh 7
/* -------------------------------------- */
/* file program: SCREEn.C */
/* contoh menampilkan keluaran kelayar */
/* menggunakan cprintf() dan cputs()   */
/* serta dengan mengatur variabel directvideo */
/* -------------------------------------- */

#include "conio.h"
main()
{
 int brs=2;
 directvideo=0;      /* atur penampilan kelayar melalui ROM-BIOS */
 clrscr();

 cputs("String ini ditampilkan kelayar\r\n");
 cprintf("Ini merupakan baris ke-%d\r\n",brs);
 getch();
}
Contoh 8
/* --------------------------------- */
/* file program: SLNLAYAR.C */
/* contoh pemakaian gettext()   dan puttext() */
/* -------------------------------------------------- */
#include "conio.h"
main()
{
 char buffer[180*25*2]; /* untuk memegang data satu layar */

 /* layar awal */
 textattr(BLUE*16+15);  /* kuning diatas biru */
 clrscr();
 cputs("        ini merupakan data semula\r\n");
 cputs("          yang ada pada layar");
 cputs("\r\n");
 cputs("             tekanlah ENTER.");
 while(getche() !=13);   /* baca enter */

 gettext(1,1,80,25,buffer);   /* simpan seluruh data pada layar */

 /* layar kedua */
 textattr(LIGHTGRAY*16);  /* hitam diatas abu-abu */
 clrscr();

 cputs("    LATAR KEDUA\r\n");
 cputs("\r\n");
 cputs("  tekanlah enter untuk\r\n");
 cputs("  menuju layar pertama");

 while(getche() !=13);
 puttext(1,1,80,25,buffer);   /* tampilkan isi layar pertama */
 while (getche() !=13);
 getch();
}
Contoh 9
/* -------------------------------------- */
/* file programa tengan: TENGAH.C */
/* mengatur penempatan kursor */
/* untuk menampilkan text ditengan layar */
/* -------------------------------------- */

#include "conio.h"

main()
{
 char *teks="TURBO C";

 clrscr();                          /* hapus layar */
 gotoxy(40-strlen(teks)/2,12);      /* tengah layar */
 cputs(teks);                       /* tampilkan teks */
 getch();
}
Contoh 10
/* ------------------------------------------ */
/*  file program: WARNA1.C */
/* contoh pengaturan warna text */
/* ------------------------------------------ */
#include "stdio.h"

main()
{
 int i;

 clrscr();
 for(i=1;i<6;i++)
 {
  gotoxy(i,i);   /* penempatan kursor */
  textcolor(i);  /* warna depan text */
  cprintf("Warna ke-%d",i);
 }
 getch();
}
Contoh 11
/* ------------------------------------------ */
/* file program : WARNA2.C */
/* conto mengatur warna depan dan  */
/* latar belakang text */
/* ------------------------------------------ */
#include "conio.h"
main()
{
 clrscr();
 textcolor(15);   /* warna text putih */
 textbackground(4);   /* latar belakang merah */
 cputs("teks putih, latar belakang merah\r\n");

 textcolor(14+BLINK);  /* warna text kuning berkedip */
 textbackground(1);    /* latar belakang biru */
 cputs("teks kuning berkedip, diatas warna biru\r\n");

 textcolor(7);    /* warna normal */
 textbackground(0);  /* latar belakang hitam */
 cputs("text dengan warna normal");
 getch();
}
Contoh 12
/* ------------------------------- */
/* file program : WARNA3.C */
/* contoh pengaturan warna text menggunakan */
/* textattr(), lowvideo(), highvideo(), dan normvideo() */
/* -------------------------------------------------------------*/
#include "conio.h"

main()
{
 clrscr();
 textattr(LIGHTCYAN); /* warna sian cerah */
 cputs("TURBO C\r\n");

 lowvideo();
 cputs("TURBO.C\r\n");

 highvideo();
 cputs("TURBO C\r\n");

 normvideo();
 cputs("TURBO C\r\n");
 getch();
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

Array Dalam Bahasa C

Berikut adalah contoh fungsi didalam pemrograman bahasa C :
Contoh 1
/* -----------------------------------------*/
/* file program : DATA-HRF.C */
/* contoh inisialisasi array dimensi tiga */
/*------------------------------------------*/

#include "stdio.h"

main()
{
 int i,j,k;
 static int data_huruf[2][8][8]=
   {{{ 0,1,1,1,1,1,0,0 } ,
     { 0,1,0,0,0,1,0,0 } ,
     { 0,1,0,0,0,1,0,0 } ,
     { 1,1,1,1,1,1,1,0 } ,
     { 1,1,0,0,0,0,1,0 } ,
     { 1,1,0,0,0,0,1,0 } ,
     { 1,1,0,0,0,0,1,0 } ,
     { 0,0,0,0,0,0,0,0 } ,
   },
   {{ 1,1,1,1,1,1,0,0 } ,
     { 1,0,0,0,0,1,0,0 } ,
     { 1,0,0,0,0,1,0,0 } ,
     { 1,1,1,1,1,1,1,0 } ,
     { 1,1,0,0,0,0,1,0 } ,
     { 1,1,0,0,0,0,1,0 } ,
     { 1,1,1,1,1,1,1,0 } ,
     { 0,0,0,0,0,0,0,0 }
    }
   };

 clrscr();

 /*tampilkann huruf */
 for(i=0;i<2;i++)
 {
  for(j=0;j<8;j++)
  {
   for(k=0;k<8;k++)
    if(data_huruf[i][j][k])
     putchar('\xDB');
    else
   putchar(' '); /*spasi */
   puts("");  /*pindah baris */
  }
 puts("");
 }
 getch();
}
Contoh 2
/* -----------------------------------------*/
/* file program : HURUF_A.C */
/* contoh inisialisasi array dimensi dua */
/*------------------------------------------*/

#include "stdio.h"

main()
{
 int i,j;
 static int huruf_A[8][8]=
   {{ 0,1,1,1,1,1,0,0 } ,
    { 0,1,0,0,0,1,0,0 } ,
    { 0,1,0,0,0,1,0,0 } ,
    { 1,1,1,1,1,1,1,0 } ,
    { 1,1,0,0,0,0,1,0 } ,
    { 1,1,0,0,0,0,1,0 } ,
    { 1,1,0,0,0,0,1,0 } ,
    { 0,0,0,0,0,0,0,0 } ,
   };
 clrscr();
 for(i=0;i<8;i++)
 {
  for(j=0;j<8;j++)
  if(huruf_A[i][j])
   putchar('\xDB');
  else
   putchar(' '); /*spasi */
 puts("");
 }
 getch();
}
Contoh 3
/*-------------------------------------*/
/* file program : JHARI.C */
/* untuk memperoleh jumlah hari dalam suatu bulan */
/* ------------------------------------*/
#include 

main()
{
 static int jum_hari[12]=
    { 31,28,31,30,31,30,
      31,31,30,31,30,31
    };

 int bulan, tahun, jhari;
 clrscr();

 puts("MEMPEROLEH JUMLAH HARI ");
 puts("PADA SUATU BULAN DAN SUATU TAHUN");
 puts("----------------------------------");
 printf("masukkan bulan (1.....12): ");
 scanf("%d",&bulan);
 printf("masukkan tahunnya  : ");
 scanf("%d",&tahun);

 if(bulan == 2)
  if ((tahun %4 == 0) && (tahun % 100 !=0))
   jhari = 29;
  else
   jhari = 28;
 else
  jhari = jum_hari[bulan-1];

 printf("\njumlah hari = %d\n", jhari);
 getch();
}
Contoh 4
/* ---------------------------------------- */
/* file program: lulus.S        */
/* Contoh pemakaian array berdimensi dua */
/* -----------------------------------------*/
#include 


main()
{
 int tahun,kode_program;
 int data_lulus[4][3];

 /* memberikan data ke array */
 data_lulus [0][0] =   80;
 data_lulus [0][1] =  540;
 data_lulus [0][2] = 1032;

 data_lulus [1][0] =   15;
 data_lulus [1][1] =   85;
 data_lulus [1][2] =  310;

 data_lulus [2][0] =    8;
 data_lulus [2][1] =   12;
 data_lulus [2][2] =   15;

 data_lulus [3][0] =   10;
 data_lulus [3][1] =  129;
 data_lulus [3][2] =  257;


 /* proses untuk memperoleh informasi jumlah siswa yang lulus */
 puts(" masukan tahun dari data yang ingin anda ketahui");
 printf("1986..1988 : ");
 scanf("%d", &tahun);
 puts("masukkan program kursus dari data ");
 puts("yang ingin anda ketahui");
 printf("i = INTRO, 2 = BASIC, 3 = COBOL, 4 = DBASE : ");
 scanf("%d",&kode_program);
 printf("\nTotal kelulusan = %d\n",data_lulus[kode_program - 1][tahun - 1986]);
 getch();
}
Contoh 5
/* --------------------------------------------------------*/
/* file program : MATRIK.C   */
/* contoh operasi penjumlahan dua buah matrik */
/* untuk data bertipe int */
/* -------------------------------------------------------- */
#include "stdio.h"

#define MAKS_KOLOM 5
#define MAKS_BARIS 5

void pemasukan_data_matriks(int matriks[][],int,int);
void penjumlahan_data_matriks(int matriks1[][], int matriks2[][],
       int mat_hasil [][], int,int);
void penampilan_matriks(int matriks[][], int,int);

main()
{
 int jum_kolom, jum_baris;
 int mat1[MAKS_BARIS][MAKS_KOLOM],
  mat2[MAKS_BARIS][MAKS_KOLOM],
  mat_hasil[MAKS_BARIS][MAKS_KOLOM];
 clrscr();

 puts("OPERASI PENJUMLAHAN MATRIKS: ");
 puts("==============================\n");
 printf("Banyak kolom dari elemen matriks(1....%d): ",MAKS_KOLOM);
 scanf("%d",&jum_kolom);
 printf("banyak baris dari elemenmatriks(1......%d): ",MAKS_BARIS);
 scanf("%d",&jum_baris);

 puts("\nDATA MATRIKS1\n");
 pemasukan_data_matriks(mat1,jum_baris,jum_kolom);

 puts("\nDATA MATRIKS2\n");
 pemasukan_data_matriks(mat2,jum_baris,jum_kolom);

 penjumlahan_data_matriks(mat1,mat2,mat_hasil,
      jum_baris,jum_kolom);

 puts("\nMATRIKS HASIL PENJUMLAHAN\n");
 penampilan_matriks(mat_hasil,jum_baris,jum_kolom);
 getch();
}
void pemasukan_data_matriks(int matriks[][MAKS_KOLOM],
       int jum_baris, int jum_kolom)
{
 int i,j;

 for(i=0;i<jum_baris;i++)
  for(j=0;j<jum_kolom;j++)
  {
   printf("Data baris %d kolom %d: ",i+1,j+1);
   scanf("%d",&matriks[i][j]);
  }
}
void penjumlahan_data_matriks(int matriks1[][MAKS_KOLOM],
       int matriks2[][MAKS_KOLOM],
       int mat_hasil[][MAKS_KOLOM],
       int jum_baris, int jum_kolom)
{
 int i,j;

 for(i=0;i<jum_baris;i++)
  for(j=0;j<jum_kolom;j++)
   mat_hasil[i][j]=matriks1[i][j] +
       matriks2[i][j];
}
void penampilan_matriks(int matriks[][MAKS_KOLOM],
      int jum_baris, int jum_kolom)
{
 int i,j;

 for(i=0;i<jum_baris;i++)
 {
  for(j=0;j<jum_kolom;j++)
   printf("%7d",matriks[i][j]);
  puts("");
 }
}
Contoh 6
/* ----------------------------------------------------------*/
/* file program : SANDI.C */
/* berisi contoh inisialisasi array tak berukuran */
/*-----------------------------------------------------------*/
#include <stdio.h>
#include <conio.h>

#define ENTER 13
#define JUM_KOLOM 2

main()
{
 static char konversi[][JUM_KOLOM]=
   { 'A','T',
     'a','t',
     'E','N',
     'e','n',
     'I','V',
     'i','v',
     'O','S',
     'o','s',
     'U','J',
     'u','j'
   };
 char kalimat[256], karakter;
 int i=0,j,jum_kar, jum_penyandi;
 clrscr();

 puts("Masukkan sebuah kalimat dan akhiri dengan ENTER");
 puts("Kemudian kalimat tersebut akan saya sandikan");
 printf("Kalimat : ");

 /*Memasukkan data karakter ke array kalimat */
 while((kalimat[i]=getche()) !=ENTER)
  i++;
 jum_kar=i;

 /* sandikan dan menampilkan kelayar */
 puts("\n\nHasil setelah disandikan: ");
 jum_penyandi=sizeof(konversi)/(JUM_KOLOM*sizeof(char));

 for(i=0;i<jum_kar;i++)
 {
  karakter=kalimat[i];
  for(j=0;j<jum_penyandi;j++)
  {
   if(karakter==konversi[j][0])
   {
    karakter=konversi[j][1];
    break; /* keluar dari for terdalam*/
   }
   if(karakter==konversi[j][1])
   {
    karakter=konversi[j][0];
    break;  /*keluar dari for terdalam */
   }
  }
  putchar(karakter);
 }
 puts("");
 getch();
}
Contoh 7
/* ---------------------------------------*/
/* file program : NILAITES.C */
/* contoh pemakaian array */
/* untuk menyimpan sejumlah data tes */
/*----------------------------------------*/
#include "stdio.h"
#define MAKS_TES 5

main()
{
 int i;
 float total_nilai, rata_rata;
 float nilai_tes[MAKS_TES];     /* deklarasi array */
 clrscr();

 /* pemasukan data nilai tes */
 for(i=0;i<MAKS_TES;i++)
 {
  printf("Nilai tes ke-%d: ", i+1);
  scanf("%f",&nilai_tes[i]);
 }

 /* manghitung jumlah dari seluruh  nilai tes */
 total_nilai = 0;
 for (i=0;i<MAKS_TES;i++)
  total_nilai = total_nilai + nilai_tes[i];

 /* hitung nilai rata - rata*/
 rata_rata=total_nilai/MAKS_TES;

 /* cetak nilai rata-rata */
 printf("Nilai rata - rata = %.2f\n",rata_rata);
 getch();

}
Contoh 8
/* ------------------------------------- */
/* file program : SORTING.C  */
/* contoh program untuk melakukan sorting  */
/* dengan urutan menarik (ascending)  */
/* ------------------------------------- */
#include <stdio.h>
#define MAKS 20

void pemasukan_data(float x[], int *pjumlah);
void pengurutan_data(float x[], int jumlah);
void penampilan_data(float x[], int jumlah );

main()
{
 float data[MAKS];
 int jum_data;

 pemasukan_data(data, &jum_data);
 pengurutan_data(data, jum_data);
 penampilan_data(data, jum_data);
 getch();
}
void pemasukan_data(float x[], int *pjumlah)
{
 int i,jum;

 printf("jumlah data : ");
 scanf("%d",&jum);

 for(i=0;i<jum;i++)
 {
  printf("data ke=%d: ",i+1);
  scanf("%f",&x[i]);
 }
 *pjumlah=jum;
}
void pengurutan_data(float x[], int jumlah)
{
 int i,j;
 float smtr;

 for(i=0;i<jumlah-1;i++)
  for(j=i+1;j<jumlah;j++)
   if(x[i]>x[j])
    {
     /*penukaran data*/
     smtr=x[i];
     x[i]=x[j];
     x[j]=smtr;
    }
}
void penampilan_data(float x[], int jumlah)
{
 int i;

 puts("\ndata setelah diurutkan : \n");

 for(i=0;i<jumlah;i++)
  printf("data ke-%d, %g\n", i+1,x[i]);
}
Contoh 9
/* ------------------------------------- */
/* file program : SORTING2.C  */
/* contoh program untuk melakukan sorting  */
/* dengan urutan menarik (ascending)  */
/* jika data melebihi 20 akan ditolak */
/* ------------------------------------- */
#include <stdio.h>
#define MAKS 20

void pemasukan_data(float x[], int *pjumlah);
void pengurutan_data(float x[], int jumlah);
void penampilan_data(float x[], int jumlah );

main()
{
 float data[MAKS];
 int jum_data;
 clrscr();

 pemasukan_data(data, &jum_data);
 pengurutan_data(data, jum_data);
 penampilan_data(data, jum_data);
 getch();
}
void pemasukan_data(float x[], int *pjumlah)
{
 int i,jum;

 printf("jumlah data : ");
 scanf("%d",&jum);

 do
  {
   printf("jumlah data (maksimal = 20): ");
   scanf("%d",&jum);
  }
 while(jum>MAKS);


 for(i=0;i<jum;i++)
 {
  printf("data ke=%d: ",i+1);
  scanf("%f",&x[i]);
 }
 *pjumlah=jum;
}
void pengurutan_data(float x[], int jumlah)
{
 int i,j;
 float smtr;

 for(i=0;i<jumlah-1;i++)
  for(j=i+1;j<jumlah;j++)
   if(x[i]>x[j])
    {
     /*penukaran data*/
     smtr=x[i];
     x[i]=x[j];
     x[j]=smtr;
    }
}
void penampilan_data(float x[], int jumlah)
{
 int i;

 puts("\ndata setelah diurutkan : \n");

 for(i=0;i<jumlah;i++)
  printf("data ke-%d: %g\n", i+1,x[i]);
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India