Friday, December 30, 2011

Control Flow & Flowchart Pada Pemrograman C

Control Flow



Control flow (aliran Kontrol) adalah statement/pernyataan yang mengontrol urutan dimana suatu operasi dieksekusi. Proses yang ada pada suatu program tidak hanya proses yang berurutan. Selain proses berurutan, terdapat juga proses percabangan, proses pengulangan, dan proses lompatan. Bahasa C menyediakan beberapa statement yang dapat digunakan untuk mengendalikan proses dari suatu program. Berikut adalah macam-macam penyataan/statement pada bahasa C.
  • IF statement
    Statement if adalah salah satu statement yang digunakan untuk penyeleksian suatu kondisi.

    Bentuk Umum Contoh

    if kondisi-dari ekspresi logika

    pernyataan;
    if (a > b) //Jika ekspresi logika
    ++c; //bernilai 1 (benar)
    //maka c increment
    if (kondisi)
    {
    pernyataan 1;
    pernyataan 2;
    ...
    pernyataan n;
    }
    if (a > 1.2)
    {
    b+=2;
    ++c;
    }
    if (kondisi 1)
    {
    pernyataan 1;
    if (kondisi 2)
    pernyataan 2;
    }
    if (a > 1.2)
    {
    b+=2;
    if (b > 10)
    --c;
    }

  • IF/ELSE statement

    Bentuk Umum Contoh

    if (kondisi dari ekspresi logika)
    pernyataan 1;
    else
    pernyataan 2;
    if (a > b)
    ++c;
    else
    --c;

  • SWITCH statement

    Bentuk Umum Contoh

    switch (ekspresi yang dikontrol)
    {
    case label_1:
    pernyataan 1;
    break;
    case label_2:
    pernyataan 2;
    break;
    ...
    default:
    pernyataan;
    break;
    }
    switch (a)
    {
    case 2:
    k = ++c;
    break;
    case 10:
    c+=a;
    k = c;
    break;
    default:
    k = a;
    break;
    }

  • Perulangan (Loop)dengan WHILE

    Bentuk Umum Contoh

    while (kondisi)
    {
    pernyataan;
    }
    int k,a = 10;
    while (a > 5)
    {
    k = a%2;
    printf("Nilai = %d\n", k);
    --a;
    }

    Pernyataan di dalam kurung kurawal tidak akan dijalankan jika kondisi berlogika 0 (salah).

  • Perulangan dengan DO/WHILE

    Bentuk Umum Contoh

    do
    {
    pernyataan;
    }while (kondisi);
    int k,a = 3;
    do
    {
    k = a%2;
    printf("Nilai = %d\n", k);
    --a;
    } while (a > 5);

    Tidak seperti perulangan sebelumnya, pada perulangan ini pernyataan di dalam kurung kurawal selalu dijalankan minimal sekali, meskipun kondisi berlogika 0 (salah).

  • Perulangan dengan FOR

    Bentuk Umum Contoh

    for (ekspresi_1; ekspresi_2; ekspresi_3)
    {
    pernyataan;
    }
    for (a = 10; a > 5; --a)
    {
    k = a%2;
    printf("Nilai = %d\n", k);
    }


--------------------- sekian semoga bermanfaat ---------------------

read more »»  

Sunday, December 25, 2011

Operator pada bahasa C


Untuk mengenal Operator, lebih baik kita mengenali apa itu operasi terlebih dahulu. Operasi adalah suatu proses yang dikerjakan oleh program (bahasan program c) untuk melakukan suatu proses/tindakan tertentu terhadap nilai suatu variabel yang tentunya sudah dideklarasikan terlebih dahulu didalam suatu program tersebut. Didalam suatu Operasi terdapat operand dan operator. Operand adalah suatu nilai yang dioperasikan sedangkan operator adalah suatu tanda atau simbol yang digunakan untuk suatu operasi tertentu. Didalam pemrograman C terdapat beberapa jenis operator, Berikut adalah jenis-jenis operator dalam bahasa C yang akan saya bahas.


  • Arithmetic Operator

    Operator aritmatika melibatkan 2 buah operand (nilai) atau lebih, namun terkadang operand yang dioperasikan memiliki tipe data yang berbeda. Untuk menghindari kesalahan maka kompiler C mempunyai pedoman untuk operand yang memiliki tipe data berbeda :

    1. Tipe char akan dikonversikan ke tipe int
    2. Tipe float akan dikonversikan ke tipe double
    3. Jenjang tertinggi adalah mulai dari long double, double, long int, unsigned int, dan int. ini berarti tipe double dioperasikan dengan tipe int akan menghasilkan tipe double.

    Berikut ini adalah tabel operator aritmatika pada program C.

    Operator Keterangan
    + Penjumlahan
    - Pengurangan
    / Pembagian
    * Perkalian
    % Modulus atau sisa dari pembagian dgn bilangan bulat


    Contoh penggunaan Operasi Aritmatik pada pemrograman C



    Untuk dapat lebih memahami, salin program diatas dan running ke dalam komputer anda (f5), dan cobalah memodifikasi ekspresi dari operasi aritmatika tersebut, sehingga anda dapat mengetahui perbedaannya.

    Berikut ini adalah hasil running dari program operasi aritmatika diatas:


    *ket: penjelasan tiap baris code di atas dapat dipelajari pada posting saya sebelumya

  • Assignment Operator

    Assignment Operator atau operator penugasan digunakan untuk memindahkan suatu nilai dari suatu ungkapan (expression) pada suatu identifier. Dalam bahasa pemrograman C, assignment operator yang biasa digunakan adalah samadengan (=).


  • Berikut ini adalah tabel Assignment Operator

    Operator Contoh
    += b += c berarti b = b + c
    b*=(c-2) berarti b = b * (c-2)
    -=
    *=
    /=
    %=


    Contoh penggunaan Assignment Operator pada pemrograman C



    Untuk dapat lebih memahami, salin program diatas dan running ke dalam komputer anda (f5), dan cobalah ekspresi dari Assignment Operation lainnya, sehingga anda dapat mengetahui perbedaannya.



    Berikut ini adalah hasil running dari program Assignment Operator diatas:


    *ket: penjelasan tiap baris code di atas dapat dipelajari pada posting saya sebelumya

  • Unary Operator

    Operator unary merupakan operator yang hanya menggunakan sebuah operand saja. Operator-operator unary mempunyai jenjang 2.

    Berikut adalah tabel dari penggunaan Unary Operator


    Operator Contoh Operasi
    - (minus) - 21
    ++
    (incremental operator)
    ++k int k = 5;
    printf("k = %d\n", k); //k = 5
    printf ("k = %d\n", ++k); //k = 6
    printf("k = %d\n", k); //k = 6
    k++ int k = 5;
    printf("k = %d\n", k); //k = 5
    printf ("k = %d\n", k++); //k = 5
    printf("k = %d\n", k); //k = 6
    --
    (decremental operator)
    --k int k = 5;
    printf("k = %d\n", k);
    printf ("k = %d\n", --k);
    printf("k = %d\n", k);
    k--int k = 12;
    printf("k = %d\n", k);
    printf ("k = %d\n", k--);
    printf("k = %d\n", k);


  • Contoh penggunaan Unary Operator pada pemrograman C


    keterangan :
    jika ++k
    maka penambahan/increment dilakukan sebelum proses display
    jika k++
    maka penambahan/increment dilakukan sesudah proses display
    jika --k
    maka pengurangan/decrement dilakukan sebelum proses display
    jika k--
    maka pengurangan/decrement dilakukan sesudah proses display

    *ket: penjelasan untuk baris code lainya, dapat dipelajari pada posting saya sebelumya


    Untuk dapat lebih memahami, salin program diatas dan running ke dalam komputer anda (f5), amati dan cobalah memodifikasi ekspresi dari Unary Operator tersebut, sehingga anda dapat mengetahui perbedaannya.



    Berikut ini adalah hasil running dari program Unary Operation diatas:

    hasil running Program Unary Operator


  • Relational dan Logical Operator

    Relational Operator atau Operator hubungan digunakan untuk menunjukkan hubungan antara 2 buah operand. Banyak digunakan untuk penyeleksian kondisi dengan statement if, do-while, atau while. Sedangkan Logical operator digunakan untuk membuat ekspresi logika, yang memberikan hasil 1 (benar) atau 0 (salah).

    Berikut adalah tabel penggunaan Relational dan Logical Operator

    Operator Keterangan Contoh
    > lebih besar dari Misalnya variable k bernilai2, variabel m bernilai 10, ekspresi berikut bernilai 1 (benar):

    (k != m) && (k < m)
    (k != m) || (k > m)

    Ekspresi berikut bernilai 0(salah)

    (k != m) && (k > m)
    >= lebih besar dari atau samadengan
    < lebih kecil dari
    <= lebih kecil dari atau samadengan
    == samadengan
    != tidak samadengan
    (logical) (logical)
    && dan
    || atau


  • Contoh penggunaan Relational dan Logical Operator pada pemrograman C


    keterangan :

    (k != m) && (k < m) bernilai 1 (benar) karena :
    (k != m) = (2 != 10) --> yang artinya 2 tidak samadengan 10 maka bernilai 1(benar)
    (k < m) = (2 < 10) --> yang artinya 2 lebih kecil dari 10 maka bernilai 1(benar)
    1(benar) && 1 (benar) --> yang artinya benar DAN benar maka bernilai 1(benar)
    untuk operasi logical "&&" syarat agar nilai = 1, keduanya harus bernilai 1(benar)

    (k != m) || (k > m) bernilai 1 (benar) karena:
    (k != m) = (2 != 10) --> yang artinya 2 tidak samadengan 10 maka bernilai 1 (benar)
    (k > m) = (2 > 10) --> yang artinya 2 lebih besar dari 10 maka bernilai 0 (salah)
    1(benar) || 0 (salah) --> yang artinya benar ATAU salah maka bernilai 1(benar)
    untuk operasi logical "||" syarat agar nilai = 1, salah satu atau keduanya harus bernilai 1(benar)

    (k != m) && (k > m) bernilai 0 (salah) karena:
    (k != m) = (2 != 10) --> yang artinya 2 tidak samadengan 10 maka bernilai 1 (benar)
    (k > m) = (2 > 10) --> yang artinya 2 lebih besar dari 10 maka bernilai 0 (salah)
    1(benar) || 0 (salah) --> yang artinya benar DAN salah maka bernilai 0 (salah)
    untuk operasi logical "&&" syarat agar nilai = 1, keduanya harus bernilai 1(benar)


    *ket: penjelasan untuk baris code lainya, dapat dipelajari pada posting saya sebelumya

    Untuk dapat lebih memahami, salin program diatas dan running ke dalam komputer anda (f5), amati dan cobalah memodifikasi ekspresi dari Relational dan Logical Operator tersebut, sehingga anda dapat mengetahui perbedaannya.



    Berikut ini adalah hasil running dari program Relational dan Logical Operator diatas:

    hasil running Program Relational dan Logical Operator




--------------------- sekian semoga bermanfaat ---------------------



read more »»  

Saturday, December 24, 2011

Memulai bahasa C

MEMBUAT PROGRAM C DENGAN VISUAL C++


Microsoft Visual C++ 2008 (MVC++ 2008) adalah IDE (Integrated Development Environtment) yang akan saya bahas pada blog saya kali ini, kita juga bisa menggunakan versi terbaru dari Microsoft Visual C++ yaitu versi 2010. Berikut adalah langkah-langkah untuk memulai membuat program C dengan MVC++ 2008:

  • Pada window Start Page – Microsoft Visual Studio, pilih File --> New --> Project atau tekan tombol Ctrl+Shift+N


  • Pada window New Project, pilih Project types: Win32 dan pilih Templates: Win32 Console Application. Kemudian tuliskan beri nama project, misalnya, Luas. Tentukan pula lokasi untuk menyimpan file project. Akhiri dengan klik OK.


  • Pada Win32 Application Wizard, klik Next atau pilih Application Settings --> Application type: Console application dan hilangkan tanda centang pada checkbox Additional options: Precompiled header. Lalu, beri tanda centang pada checkbox Additional options: Empty project. Akhiri dengan klik Finish.


  • Pada window Luas – Microsoft Visual Studio, klik kanan Source Files --> pilih Add --> New Item…


  • Pada window New Item – Luas pilih Categories: Visual C++ dan pilih Templates: C++ File (.cpp). Beri nama, misalnya Luas Segitiga.c (Ket.: secara otomatis, nama yang diberikan memiliki extension .c, bukan .cpp). Akhiri dengan klik Add.


  • Pada window Luas – Microsoft Visual Studio, klik ganda Luas Segitiga.c (tampil sebagai cabang dari Source Files), dan program C pun siap dibuat.



Memanggil File Program yang Sudah Dibuat
  • Misalkan suatu program C telah dibuat. Langkah-langkah untuk memanggil kembali program tersebut, yaitu: pilih File --> Open --> Project/ Solution…


  • Kemudian, cari file project yang telah dibuat (memiliki extention .sln)



Tipe data pada pemrograman C

Bahasa C mendukung beberapa tipe data. Masing-masing tipe data berkaitan dengan cakupan nilai dan besar memori yang digunakan. Tipe-tipe data tersebut diberikan pada tabel di bawah ini.


Tipe Data Keterangan Penggunaan Memori
int bilangan bulat 2 atau 4 byte (berbeda pada setiap compiler)
char karakter tunggal 1 byte
float meliputi bilangan desimal 4 byte
double Bilangan decimal dengan tingkat ketelitian lebih besar daripada float 8 byte

Tipe-tipe data dasar di atas dapat pula digunakan bersamaan dengan keterangan-sifatnya (qualifier), yaitu short, long, signed dan unsigned. Contohnya, long int dan long double. Penggunaan qualifier ini juga menentukan cakupan nilai dan besar memori yang digunakan.


Kerangka dasar pemrograman C
Kerangka program C diberikan sebagai berikut:
  • Ada satu atau lebih fungsi, namun yang harus ada di dalam sebuah program C adalah fungsi main()
  • Deklarasi variable
  • Perintah (statement)
  • Akses library
  • Komentar

Perhatikan contoh program C sederhana berikut ini. Program C ini adalah program perhitungan luas segitiga.


keterangan:
#include stdio.h
merupakan standard input output yang digunakan untuk mengakses fungsi printf() dan scanf_s() yang terdapat pada library stdio.h

#include stdlib.h
digunakan untuk mengakses fungsi system ("pause")yang terdapat pada library stdlib.h

#define dua 2
Digunakan untuk deklarasi konstanta dengan simbol dua untuk menggantikan (substitusi) atau memberi nilai dua = 2

int main (void) adalah fungsi yang harus ada pada setiap program C. Tipe data int pada int main (void) berarti nilai balikan (return) dari fungsi main bertipe integer. Simbol nama main tidak dapat diubah dengan simbol-nama lain sehingga misalnya menjadi nima(). Selain itu juga, program C juga mengartikan huruf besar dan huruf kecil berbeda (case-sensitive). Misalnya, h berbeda dengan H. Dengan demikian, fungsi main() juga tidak bisa diubah namanya dengan MAIN().

float a, t, LuasSegitiga;
merupakan deklarasi variable a, t, dan LuasSegitiga yang bertipe data float (bilangan desimal/pecahan)

printf("text \n");
Digunakan untuk menampilkan informasi/data (output), sedangkan kode "\n" merupakan end of line atau digunakan untuk membuat newline seperti tombol ENTER pada keyboard komputer ada.

printf("%.2f",LuasSegitiga);
sama seperti penjelasan sebelumnya, baris kode ini digunakan untuk menampilkan informasi/data (output). Perbedaanya yaitu pada baris code %f digunakan untuk menampilkan suatu nilai dan nilai tersebut sesuai dengan nilai variabel LuasSegitiga. sedangkan code .2 yang diletakkan ditengah-tengah code %f memiliki arti bahwa nilai dari variable LuasSegitiga yang bertipe data float/desimal akan ditampilkan dengan 2 angka di belakang koma ","

scanf_s("%f", &a);
Baris kode ini digunakan untuk meminta/menerima data nilai dari user(input) berupa nilai bertipe data float yang merupakan nilai dari variabel a. Fungsi scanf() memiliki kegunaan yang sama dengan scanf_s(). Fungsi scanf_s() merupakan fungsi pengganti scanf() yang disarankan oleh MVC++ karena alasan keamanan (security).

LuasSegitiga = a*t/dua;
Baris kode tersebut merupakan perintah berupa penugasan perhitungan/operasi perkalian yang merupakan rumus dari perhitungan luas segitiga

system("pause");
Merupakan fungsi yang ada pada library stdlib.h yang digunakan untuk menghentikan sementara tampilan program ketika sampai pada tahapan output saat di run sehingga pada saat output muncul, program tidak langsung tertutup

return(0);
Perintah return(0); berarti nilai balikan dari fungsi main samadengan nol.


Untuk lebih dapat memahami, salin program diatas dan running ke dalam komputer anda (f5), dan cobalah hilangkan beberapa baris kode misal system ("pause"); atau baris kode yang lainnya, sehingga anda dapat mengetahui perbedaannya.

Berikut ini adalah hasil running dari program luas segitiga diatas:



Tabel di bawah ini merupakan tabel karakter yang dapat digunakan untuk mengkonversikan nilai seperti pada contoh di atas. (sumber: Programming With C, Schaum Outline)

Conversion Character Meaning
c data item is a single character
d data item is a decimal integer
e data item is a floating - point value
f data item is a floating - point value
g data item is a floating - point value
h data item is a short integer
i data item is a decimal, hexadecimal, or octal integer
o data item is an octal integer
s data item is a string ollowed by a whitespace character (the null character \0 will automatically be added at the end)
u data item is a unsigned decimal integer
x data item is a hexadecimal integer
[...] data item is a string which may include whitespace characters


Menemukan Kesalahan
Setiap kompilasi dari program yang terdapat kesalahan, pada kolom Output akan ditampilkan keterangan gagal (failed) berikut:

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Adapun kesalahan yang terjadi sehingga menyebabkan kegagalan kompilasi dapat dilihat dengan mengikuti langkah-langkah berikut:

  • Pilih View --> Other Windows --> Error List

  • Sehingga pada bagian bawah window Microsoft Visual Studio ditampilkan keterangan error:

  • Double-click pada list di bagian Description untuk mengetahui posisi kesalahan pada code.


Baca juga : Operator Pada Bahasa C


read more »»