Soft-Science-Socio::Creativity

… simple note

Mari belajar bahasa C

Posted by putu on March 2, 2008

Bahasa C pertama kali diciptakan oleh Dennis Ritchie pada tahun 1972 di Bell Lab. untuk keperluan sistem operasi UNIX. Bahasa ini diciptakan untuk mempermudah pemindahan/pengembangan sistem operasi UNIX ke berbagai arsitektur PC. Pada perkembangannya, selain digunakan untuk memprogram kernel (contohnya Kernel Linux), bahasa C juga di pakai untuk mengembangkan berbagai applikasi.

Kelebihan dari C adalah kemampuannya untuk mengakses memory secara langsung (melalui pointer atau array). Memory dimaksud adalah memory secara fisik, alamat hardware (yang biasanya di-map ke register/memory tertentu). Dengan adanya akses langsung kem memory, dimungkinkan untuk membuat applikasi dengan performa tinggi dan efektif. Akan tetapi konsep pointer ini biasanya agak susah dimengerti, membingungkan, dan bisa menjadi sumber bug yang fatal apabila tidak hati2.

Lalu, kenapa kita harus Belajar bahasa C? Bukankah ada banyak bahasa pemrograman seperti Java, C#, Visual Basic, Python, dsb? Berikut beberapa alasan yang bisa dijadikan acuan:

  • Selain untuk pemrograman di PC, bahasa C juga bisa digunakan untuk memprogram mikrokontroler seperti 8051, Z80, PIC, AVR, atau processor untuk mobile seperti ARM maupun DSP untuk mengimplementasikan pemrosesan sinyal digital.
  • Apabila anda ingin membangun sistem kontrol yang bersifat real-time di Linux dengan RTAI, RTLinux ataupun RTOS lainnya
  • Menggunakan SystemC(syntaxnya hampir sama dengan bahasa C), kita bisa mendesign IC sebagai pengganti VHDL/Verilog.
  • Apabila kita menguasai bahasa C, akan lebih mudah untuk menguasai bahasa pemrograman seperti C++, Java atau PHP karena bahasa-bahasa tersebut mempunyai kemiripan sytax.
  • Bahasa C adalah bahasa yang pertama kali saya pelajarai (alasan pribadi :)

Apabila anda ingin membuat aplikasi yang berbasis GUI, bahasa C juga bisa digunakan. Untuk lebih jelasnya, bisa dilihat di http://www.gtk.org/ atau untuk Windows, bisa menggunakan windows SDK.Apakah anda berminat untuk mempelajari bahasa C??…Tunggu saja lanjutannya.

One Response to “Mari belajar bahasa C”

  1. adiputra said

    mas tolong bantu, gak ngerti pointernya yang benar yang mana yach…ditunggu jawabannya via email mas..

    #include
    #include
    #include
    #include
    #define maks 3

    void isi_brg(char *kd, int *jml);
    char *nama_brg(char kd);
    int cek_hrg(char *kd);
    float cek_diskon(char *kd, int jml);

    typedef struct
    {
    char kd_brg[5],nm_brg[15];
    int hrg_stn;
    unsigned long bayar;
    float diskon;
    }Tjual;

    /*===============================PROGRAM UTAMA================================*/
    int main(int argc, char *argv[])
    {

    char kd[5];
    int jml;
    isi_brg(&kd[5],&jml);

    system(“PAUSE”);
    return 0;
    }

    /*=============================FUNGSI ISI BARANG================================*/
    void isi_brg(char *kd, int *jml)
    {
    Tjual brg[maks];
    char *kd_brg[maks][5],nm_brg[maks][15];
    int hrg_stn[maks];
    unsigned long bayar[maks];
    float diskon[maks];
    int no_faktur,n,i;
    float total;

    gotoxy(30,1);printf(“: = : PENJUALAN BARANG : = :\n”);
    printf(“No Faktur : “); scanf(“%i”,&no_faktur);
    printf(“—————————————————————————–\n”);
    printf(“| No | KODE | NAMA BARANG | JUMLAH | HARGA SATUAN | BAYAR | DISKON |”);
    n=0;
    i=-1;
    total=0;
    do{
    gotoxy(1,n+6);printf(“|”);
    gotoxy(6,n+6);printf(“|”);
    gotoxy(17,n+6);printf(“|”);
    gotoxy(35,n+6);printf(“|”);
    gotoxy(44,n+6);printf(“|”);
    gotoxy(59,n+6);printf(“|”);
    gotoxy(69,n+6);printf(“|”);
    gotoxy(78,n+6);printf(“|”);
    gotoxy(3,n+6);printf(“%i”,n+1);

    gotoxy(8,n+6); fflush(stdin); gets(kd); //CEK YANG INI

    if((strcmpi(kd,”PK01″)!=0) && (strcmpi(kd,”SP02″)!=0) && (strcmpi(kd,”TS03″)!=0))
    exit(0);
    else
    {
    i++;
    //strcpy(brg[i].kd_brg,kd);
    strcpy(brg[i].nm_brg, nama_brg(*kd)); //CEK YANG INI

    gotoxy(20,n+6); printf(“%i”, *brg[i].nm_brg);

    brg[i].hrg_stn = cek_hrg(kd);

    gotoxy(47,n+6); printf(“%i”, brg[i].hrg_stn);

    gotoxy(39,n+6); scanf(“%i”,jml);

    brg[i].bayar = *jml * brg[i].hrg_stn;

    gotoxy(61,n+6); printf(“%li”, brg[i].bayar);

    brg[i].diskon = brg[i].bayar * cek_diskon(kd,*jml);

    gotoxy(71,n+6); printf(“%.2f”, brg[i].diskon);
    n++;
    }
    }while(kd!=0 && n<maks);
    }
    /*============================FUNGSI CEK NAMA BARANG===========================*/

    char *nama_brg(char kd) //CEK YANG INI
    {
    if(strcmp(&kd,”PK01″)==0) //CEK YANG INI
    return “PAKAIAN”;
    else if(strcmp(&kd,”SP02″)==0) //CEK YANG INI
    return “SEPATU”;
    else
    return “TAS”;

    }

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>