Wednesday, October 2, 2013

Seri Bahasa C :"Fungsi" dan Menampilkan Hasil Compile Pada Web Server

'Fungsi' dapat memecah sebuah komputasi yang besar menjadi lebih kecil, dan memungkinkan bagi pengembang untuk membangun apa yang telah dikerjakan pengembang lain tanpa memulai dari awal.

Mendefinisikan fungsi tipe_fungsi nama_fungsi(argumen1, argumen2,…)

program dibentuk ke dalam fungsi agar tidak terbentuk blok-blok program yang sangat panjang dan tidak terbaca, karena tidak bisa tertampung dalam satu screen (layar) atau dalam 1 page (halaman) dan juga untuk memastikan bahwa kita tidak telah mengulangi potongan source code yang sama pada bagian program yang lain.

Berikut Beberapa contoh Penggunaan Fungsi 

Fungsi yang mengembalikan nilai
#include

int mult(int x,int y);

int main()
{ int x,y;

printf("masukkan dua bilangan untuk dikalikan :");
scanf("%d", &x);
scanf("%d", &y);

printf("hasil perkalian dari bilangan tsb adalah :%d\n",mult(x,y));
getchar();
}

int mult (int x, int y)
{
return x*y;
}

output program 
cinnamon FUNCTION # ./function3
masukkan dua bilangan untuk dikalikan :2 10
hasil perkalian dari bilangan tsb adalah :20

Hasil kompilasi yang dijalankan pada Web Server [cgi-bin]


/*****************************************************
compile dan copy-kan hasil compilasi ke cgi-bin 
/usr/lib/cgi-bin
buka di browser http://localhost/cgi-bin/function1?5:5
atau eksekusi di terminal : # ./function1 ?5:5
****************************************************/
#include <stdio.h>
#include <string.h>
#include <math.h>

double doit(int number1, int number2)/*mendefinisikan fungsi*/

{
    return sqrt((double)(number1+number2));
}

int main(int argc,char*argv[],char*env[])
{
    int n1=0, n2=0, i=0;
    n1 = atoi((char*)strtok(argv[1],":"));
    n2 = atoi((char*)strtok(NULL,":"));

    printf ("Content-type:text/html\n\n<html><body>\n");

    for(i=1;i<=100;i++)
    printf("%f",doit(n1+i,n2*i));

    printf("</body></html>\n");

    return 0;
}


Pada contoh di atas fungsi yang dipanggil adalah fungsi doit yang menggunakan dua argumen integer dan mengembalikan hasil dari beberapa perhitungan matematika.

compile dan copy hasil kompile pada directory cgi-bin. selanjutnya pada browser buka http://localhost/cgi-bin/function1?5:5 .


atau dapat juga di buka pada terminal : ./function1 ?5:5


coba tampilkan hasil compile tanpa ?5:5 bagaimana hasilnya??




referensi
The C programming Language, Dennis M. Ritchie (Pencipta bahasa C)
C programming in Linux, David Haskins


No comments :

Post a Comment