Selasa, 22 Maret 2011

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.

0 komentar:

Posting Komentar

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