Berikut adalah contoh fungsi didalam pemrograman bahasa C :
Contoh 1
Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.
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 */ /* ------------------------------------*/ #includeContoh 4main() { 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(); }
/* ---------------------------------------- */ /* file program: lulus.S */ /* Contoh pemakaian array berdimensi dua */ /* -----------------------------------------*/ #includeContoh 5main() { 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(); }
/* --------------------------------------------------------*/
/* 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.


14.06
alie
Posted in:
0 komentar:
Posting Komentar