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.

Menghapus Data di Mysql menggunakan Foxpro

Ini adalah kelanjutan dari pembahasan yang sebelumnya
Taruh kode dibawah ini di objek cmdDelete pada prosedur click
*delete data ke tabel server
* Procedure cmdDelete.CLICK()
IF MESSAGEBOX('HAPUS DATA?',36,'COBA HAPUS DATA')=6
 oke=SQLEXEC(ConnHandle,"delete from apl_barang")
 IF oke != 0
  MESSAGEBOX("data berhasil dihapus.",64,"Informasi !")
  thisform.grid1.Init
  Thisform.Refresh
  thisform.grid1.Refresh
 ELSE
  MESSAGEBOX("data gagal dihapus.",64,"Informasi !")
  thisform.grid1.Init
  Thisform.Refresh
  thisform.grid1.Refresh
 endif
ENDIF

Mengupdate Data di Mysql menggunakan Foxpro

Ini adalah kelanjutan dari pembahasan yang sebelumnya
Taruh kode dibawah ini di objek cmdUpdate pada prosedur click
*update data ke tabel server
* Procedure cmdUpdate.CLICK()
IF MESSAGEBOX('UPDATE DATA?',36,'COBA UPDATE DATA')=6
 oke=SQLEXEC(ConnHandle,"update apl_barang set kode_barang='kode_update',nama_barang='nama_update' ;
 ,kategori_barang='kategori_update' ;
 ,satuan='satuan_update',stok='5555',harga='5000000'")
 IF oke != 0
  MESSAGEBOX("data berhasil diupdate.",64,"Informasi !")
  thisform.grid1.Init
  Thisform.Refresh
  thisform.grid1.Refresh
 ELSE
  MESSAGEBOX("data gagal disimpan.",64,"Informasi !")
  thisform.grid1.Init
  Thisform.Refresh
  thisform.grid1.Refresh
 endif
ENDIF

Menyimpan Data di Mysql Menggunakan Foxpro 9

Ini adalah kelanjutan dari pembahasan yang sebelumnya
Taruh kode dibawah ini di objek cmdSimpan pada prosedur click
*menyimpan data ke tabel server
* Procedure cmdSimpan.CLICK()
IF MESSAGEBOX('SIMPAN DATA?',36,'COBA SIMPAN DATA')=6
 oke=SQLEXEC(ConnHandle,"INSERT INTO apl_barang (kode_barang,nama_barang,kategori_barang,satuan,stok,harga) VALUES ;
 ('kode','nama barang','kategori','satuan','200','1000')")
 IF oke != 0
  MESSAGEBOX("data berhasil disimpan.",64,"Informasi !")
  thisform.grid1.Init
  Thisform.Refresh
  thisform.grid1.Refresh
 ELSE
  MESSAGEBOX("data gagal disimpan.",64,"Informasi !")
  thisform.grid1.Init
  Thisform.Refresh
  thisform.grid1.Refresh
 endif
ENDIF

oke=SQLEXEC(ConnHandle,"INSERT INTO tabel_data_dinamis_jumlah_pegawai_kantor;
(kode,a,b,c,d,e,f) VALUES ;
(?sim1,?sim2,?sim3,?sim4,?sim5,?sim6,?sim7)")

filetarget = ftujuan+'tabel_akademi_negeri'+'_'+TIME_IMPORT+".csv"
TEXT TO tabel_akademi_negeri TEXTMERGE NOSHOW
  SELECT * FROM tabel_akademi_negeri INTO OUTFILE ?filetarget;
ENDTEXT
oke = SQLEXEC(ConnHandle,tabel_akademi_negeri)

Senin, 21 Maret 2011

Menampilkan Tabel Mysql di Grid Foxpro 9

Berikut adalah source kodenya :
Kita buat koneksi ke mysql terlebih dahulu.
Taruh di objek form pada prosedur load
vdbase = "mvc"
vuser = "root"
vpass = "123456"
msql = "DATABASE="+vdbase+";SERVER=localhost;port=3306;UID="+vuser+";PWD="+vpass+";provider=MSDASQLR;DRIVER={MySQL ODBC 3.51 Driver};"

PUBLIC ConnHandle
ConnHandle = SQLSTRINGCONNECT(msql)
kode di bawah ini di taruh di objek grid pada prosedur init
SQLEXEC(ConnHandle,"SELECT * FROM apl_barang","a")
thisform.Grid1.BackColor=RGB(0,128,255)
thisform.Grid1.RecordSource="a"

Koneksi database Mysql pada Foxpro

sebelum melakukan koneksi database mysql dengan fpxpro, instal dulu mysql-connector-odbc-3.51.12 sebagai konektor database mysql dengan visual foxpro.

Berikut adalah script Foxpro untuk koneksi ke Mysql :
vdbase = ALLTRIM(thisform.vdata.Value)
vuser = ALLTRIM(thisform.username.Value)
vpass = ALLTRIM(thisform.passwd.Value)
msql = "DATABASE="+vdbase+";SERVER=localhost;port=3306;UID="+vuser+";PWD="+vpass+";provider=MSDASQLR;DRIVER={MySQL ODBC 3.51 Driver};"

THISFORM.koneksi = SQLSTRINGCONNECT(msql)

IF THISFORM.koneksi <= 0 
 MESSAGEBOX("Koneksi Ke Server Database MySQL Gagal"+msql ,64,"Informasi !")
 THISFORM.Vdata.SetFocus
 Return
ELSE
 MESSAGEBOX("Koneksi Ke Server Database MySQL Berhasil",64,"Informasi !")
ENDIF 
thisform.Release
Gambar Form seperti di bawah ini.

Mengganti Password root di Mysql

Cara mengganti password root di mysql :
1. Masuk ke database mysql
2. Ketikkan perintah sql berikut.
update user set password=password('123456') where host = 'localhost'; 
atau
update user set password=password('123456') where user = 'root';
3. Setelah password udah diganti, langkah terakhir ketikan perintah sql dibawah ini.
flush privileges;
Selesai...., password sudah berganti dengan 123456.

GOOD LUCK,..

Jumat, 18 Maret 2011

mysql


foxpro


Kamis, 17 Maret 2011

Paging halaman dengan PHP menggunakan array

Pada pembahasan sebelumnya saya telah menulis teknik paging untuk menampilkan data dari tabel MySQL menggunakan LIMIT. sekarang saya akan memberikan tehnik paging menggunakan Array pada PHP.

Berikut adalah tehnik paging menggunakan array

Langkah 1 (pertama)

Kita membuta array terlebih dahulu
<?php
$link = array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18");
$link2 = array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18");
?>

Langkah 2 (kedua)

Membuat form untuk menampilkan berapa data yang akan ditampilkan dalam satu halaman.
<form name="form_tr" action="" method="POST">
<?php
///////////////////////////////////////////////////////////////////
////////////////////GET BATAS, POSISI, DAN HALAMAN/////////////////
///////////////////////////////////////////////////////////////////
 $batasan = 2;
 if(isset($_POST["batas"])){ 
  $batas = $_POST["batas"];
 }
 else if(isset($_GET["batas"])){ 
  $batas = $_GET["batas"]; 
 }
 else{
  $batas = $batasan; 
 }
 if(isset($_POST["halaman"])){ 
  $halaman = $_POST["halaman"];
 }
 else{ $halaman = $_GET["halaman"]; }
 if(empty($halaman)){
  $posisi = 0;
  $halaman = 1;
 }
 else{
  $posisi = intval(($halaman-1) * $batas);
 }
?>
<input type="hidden" name="halaman" value="<?=$halaman;?>" />
Tentukan tampilan data perhalaman :
<select name="batas" onchange="this.form.submit()" class="highlight">
 <?php
  for($i=1; $i<=50; $i++)
  {
   $angka=$batasan*$i;
   echo"<option value=$i";
   if($batas==$i)
    echo"<option value=$i selected>$i</option>";
   else
    echo"<option value=$i>$i</option>";
  }
 ?>
 </select>
<?php
 if(empty($batas))
 {
  $batas = intval($batasan);
  //echo"Batas = $batas";
 }
 else
 {
  $batas=intval($batas);
  //echo"Batas = $batas";
 }
?>
<?php

Langkah 3 (ketiga)

Setelah langkah 2 kita lanjutkan langkah ke 3, menerapkan paging dalam array.
/////////////////////////////////////////////////////////////
//////////MENERAPKAN PAGING ARRAY////////////////////////////
/////////////////////////////////////////////////////////////
?>
<table width="100%" border="1">
  <tr>
    <td>No</td>
    <td>Nama Barang</td>
  </tr>
<?
$no=$posisi+1;
$counts = count($link);
$i=0;
//$posisi,$batas
while($i < $batas )
{
?>
  <tr>
    <td><?php echo $no;?></td>
    <td><?php echo $link[$i]."---dan---".$link2[$i];?></td>
  </tr>
<?php
$no++;
$i++;
}
?>
</table>
<?php

Langkah 4 (keempat)

Tahap terakhir, membuat paging halaman.
/////////////////////////////////////////////////////////////////////////
////////////////////TAHAP TERAKHIR PAGING HALAMAN////////////////////////
/////////////////////////////////////////////////////////////////////////
echo"<div align=\"center\">";
 $jmldata = $counts;
 $jmlhalaman = ceil($jmldata/$batas);
 if($halaman > 1){
  $previous=$halaman-1;
  echo"<a href=?halaman=1&batas=$batas class=linka> << First</a> | <a href=?halaman=$previous&batas=$batas class=linka> < Previous</a> | ";
 }
 else{
  echo"<< First | < Previous | ";
 }
 $angka=($halaman > 3 ? " ... " : " ");
 for($i=$halaman-2;$i<$halaman;$i++){
  if($i < 1)
   continue;
  $angka .= "<a href=?halaman=$i&batas=$batas class=linka>$i</a> ";
 }
 $angka .= " <b>$halaman</b> ";
 for($i=$halaman+1;$i<($halaman+3);$i++){
  if($i > $jmlhalaman)
   break;
  $angka .= "<a href=?halaman=$i&batas=$batas class=linka>$i</a> ";
 }
 $angka .= ($halaman+2<$jmlhalaman ? " ... <a href=?halaman=$jmlhalaman&batas=$batas class=linka>$jmlhalaman</a> " : " ");
 echo"$angka";
 if($halaman < $jmlhalaman){
  $next=$halaman+1;
  echo"<a href=?halaman=$next&batas=$batas class=linka> Next > </a> | <a href=?halaman=$jmlhalaman&batas=$batas class=linka> Last >> </a> ";
 }
 else{
  echo"Next > | Last >>";
 }
 echo"

Total Data : <b>$jmldata</b> Data";
echo"</div>";
?>
</form>

GOOD. . . . . . . KALIAN SUKSES,,,,SAYA MENGACUNGI JEMPOL BUAT KALIAN SEMUA....
SIP. . . . . .!!!!!!!

Selasa, 15 Maret 2011

Paging halaman dengan PHP

Sudah satu bulan penuh saya tidak mengupdate blog ini. untuk mengupdatenya saya menambah judul baru dalam blog ini, yaitu tentang paging halaman. untuk masalah paging, saya juga masih dalam tahap belajar dan beberapa trik dan teknik yang akan saya posting dalam blog ini juga saya ambil dari beberapa referensi buku dan juga beberapa hal yang saya pelajari sendiri. semoga saja bisa bermanfaat buat kalian semua....

Paging juga dikenal dengan sebutan pagination (paginate), previous-next, tampilan per halaman, page navigator, halaman 1..2..3, dst. Apapun namanya, intinya paging merupakan suatu teknik untuk membatasi data yang akan ditampilkan dalam suatu halaman web. Biasanya paging digunakan untuk menampilkan data yang banyak dan hampir di setiap aplikasi web “si paging” selalu ada, namun jenisnya berbeda-beda. Salah satu teknik paging yang efektif dan efisien dapat kita jumpai di Google.

Paging ala Google hanya menampilkan beberapa paging saja, misalkan hanya 1 2 3 4 5 6 7. Sedangkan paging berikutnya akan tampil apabila di klik halaman berikutnya, yaitu halaman 2, maka tampilan pagingnya akan menjadi 2 3 4 5 6 7 8, dan begitu seterusnya.

Masalahnya bagaimana membuat paging dengan php...? jawabannya.., jelas ada donk, buat kalian semua yang mencari script paging halaman, gak usah khawatir karena saya akan menyajikan semuanya dengan langkah - langkah yang sangat mudah, tidak membuat kalian pusing pokoknya dech....

Berikut adalah langkah - langkahnya :

Langkah 1 (pertama)
Kita harus membuat databasenya terlebih dulu dengan nama mvc
setelah database tercipta kita buat tabel dengan nama apl_barang field : kode_barang dan nama_barang.
setelah database dan tabel sudah dibuat kita buat script php'nya adalah sebagai berikut :
kita membuat seting koneksi mysql dan databasesnya.
<?php 
///////////////////////////////////////////////////////////////////
////////////////////SETTING KONEKSI KE MYSQL & DB//////////////////
///////////////////////////////////////////////////////////////////
$dbhost = "localhost";
$dbuser = "root";
$dbpassword = "";
$dbname = "mvc";

$kon = mysql_connect("$dbhost","$dbuser","$dbpassword");
if($kon){
 //echo" sukses mysql konek ";
}
if(!$kon){
 echo" not sukses mysql konek ";
}
$kon = mysql_select_db("$dbname");
if($kon){
 //echo" sukses db konek ";
}
if(!$kon){
 echo" not sukses mysql konek ";
}
?>

Langkah 2 (Kedua)
membuat form untuk pemilihan jumlah paging yang ditentukan perjumlah data yang akan di tampilkan pada setiap halaman, dan mendapatkan batas, posisi guna untuk LIMIT pada peritah SQL'nya.
<form name="form_tr" action="" method="POST">
<?php
///////////////////////////////////////////////////////////////////
////////////////////GET BATAS, POSISI, DAN HALAMAN/////////////////
///////////////////////////////////////////////////////////////////
 $batasan = 2;
 if(isset($_POST["batas"])){ 
  $batas = $_POST["batas"];
 }
 else if(isset($_GET["batas"])){ 
  $batas = $_GET["batas"]; 
 }
 else{
  $batas = $batasan; 
 }
 if(isset($_POST["halaman"])){ 
  $halaman = $_POST["halaman"];
 }
 else{ $halaman = $_GET["halaman"]; }
 if(empty($halaman)){
  $posisi = 0;
  $halaman = 1;
 }
 else{
  $posisi = intval(($halaman-1) * $batas);
 }
?>
<input type="hidden" name="halaman" value="<?=$halaman;?>" />
Tentukan tampilan data perhalaman :
<select name="batas" onchange="this.form.submit()" class="highlight">
 <?php
  for($i=1; $i<=50; $i++)
  {
   $angka=$batasan*$i;
   echo"<option value=$i";
   if($batas==$i)
    echo"<option value=$i selected>$i</option>";
   else
    echo"<option value=$i>$i</option>";
  }
 ?>
 </select>
<?php
 if(empty($batas))
 {
  $batas = intval($batasan);
  //echo"Batas = $batas";
 }
 else
 {
  $batas=intval($batas);
  //echo"Batas = $batas";
 }
?>

Langkah 3 (Ketiga)
Sekarang kita akan menerapkan dengan perintah SQL, di bawah ini adalah script yang akan mengolah data dari barisan pertama hingga baris terakhir melalui LIMIT pada perintah SQL dengan nilai $posisi : yang nilainya akan berubah - ubah dan $batas : juga nilainya akan berubah - ubah, nilai variabel $posisi dan $batas di dapatkan dari langkah 2 (kedua).
<?php
/////////////////////////////////////////////////////////////
//////////MENERAPKAN PAGING PADA RELASI TABEL SQL////////////
/////////////////////////////////////////////////////////////
$aa = mysql_query("select*from apl_barang order by kode_barang desc LIMIT $posisi,$batas;");
?>
<table width="100%" border="1">
  <tr>
    <td>No</td>
    <td>Nama Barang</td>
  </tr>
<?
$no=$posisi+1;
while($data=mysql_fetch_array($aa))
{
?>
  <tr>
    <td><?php echo $no;?></td>
    <td><?php echo $data["nama_barang"];?></td>
  </tr>
<?php
$no++;
}
?>
</table>
<?php

Langkah 4 (Keempat)
ini tahap terakhir, dengan mengetahui jumlah data pada tabel barang melalui perintah SQL, maka kita dapat mengetahui berapa jumlah datanya dan setiap paging 1 2 3 dan seterusnya..., dapat bergerak secara dinamis mengikuti jumlah data dari tabel barang.
/////////////////////////////////////////////////////////////////////////
////////////////////TAHAP TERAKHIR PAGING HALAMAN////////////////////////
/////////////////////////////////////////////////////////////////////////
echo"<div align=\"center\">";
 $tampil2 = mysql_query("select * from apl_barang order by kode_barang desc");
 $jmldata = mysql_num_rows($tampil2);
 $jmlhalaman = ceil($jmldata/$batas);
 if($halaman > 1){
  $previous=$halaman-1;
  echo"<a href=?halaman=1&batas=$batas class=linka> << First</a> | <a href=?halaman=$previous&batas=$batas class=linka> < Previous</a> | ";
 }
 else{
  echo"<< First | < Previous | ";
 }
 $angka=($halaman > 3 ? " ... " : " ");
 for($i=$halaman-2;$i<$halaman;$i++){
  if($i < 1)
   continue;
  $angka .= "<a href=?halaman=$i&batas=$batas class=linka>$i</a> ";
 }
 $angka .= " <b>$halaman</b> ";
 for($i=$halaman+1;$i<($halaman+3);$i++){
  if($i > $jmlhalaman)
   break;
  $angka .= "<a href=?halaman=$i&batas=$batas class=linka>$i</a> ";
 }
 $angka .= ($halaman+2<$jmlhalaman ? " ... <a href=?halaman=$jmlhalaman&batas=$batas class=linka>$jmlhalaman</a> " : " ");
 echo"$angka";
 if($halaman < $jmlhalaman){
  $next=$halaman+1;
  echo"<a href=?halaman=$next&batas=$batas class=linka> Next > </a> | <a href=?halaman=$jmlhalaman&batas=$batas class=linka> Last >> </a> ";
 }
 else{
  echo"Next > | Last >>";
 }
 echo"<br /><br />Total Data : <b>$jmldata</b> Data";
echo"</div>";
?>
</form>

SUKSES...!!! SELAMAT BUAT KALIAN yang sudah berhasil membuat paging halaman dengan php,...salam SEMANGAT. . . . . .

Jumat, 11 Maret 2011

Pemahaman tentang bahasa pemrograman

pemahaman tentang bahasa pemrograman dengan baik dan benar adalah dengan cara membaca artikel2 yang penting dan paling utama dalam bahasa pemrograman, dengan membaca dasar2 pemrograman dan memahaminya. maka akan sangat membantu kita dalam meningkatkan kualitas berfikir kita dalam membuat suatu program yang bagus.
dasar yang penting adalah bagaimana konsep dan prosedur penulisan program, mengetahui kondisi, perulangan , fungsi, class, array, dll....

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