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.
0 komentar:
Posting Komentar