Tuesday, 20 February 2018

C Variables and Arithmetic Expressions

Ada program yang bisa membuat variable dimana saja, Tapi dengan C tidak bisa, kita harus membuat variable tersebut terlebih dahulu, dan memberika data type yang diinginkan. Tujuannya adalah compiler akan menyiapkan block memory dengan ukuran yang tepat untuk variable tersebut. Proses pembuatan variable ini dinamakan "declaration".

Integer (int) data type yang sering digunakan, data type ini menyimpan data integer (aduh! apaan nih?) integer adalah bilangan bulat seperti 0, 1, 2, 3, 4, ... dst, dan negatif integer adalah -1, -2, -3, ... dst.

langsung ke program... Kita akan buat program yang mengkonversi ukuran inci ke cm.

#include <stdio.h>

main() 
{
        /* mengkonversi inci menjadi 
        * cm */
int Acm, Ainci;
int Akecil, Abesar;

Akecil = 0;
Abesar = 10;

Ainci = Akecil;
while (Ainci <= Abesar) {
Acm=2.54 * Ainci;
printf (" %d\t%d\n",Ainci,Acm);
Ainci=Ainci+1;
}
}

Save > masukan kedalan direktori yang kita mau, beri nama file disertai ext .c .
Build > Compile / F8
Build > Build / F9
Build > Execute /F5

dan hasilnya adalah :

 0 0
 1 2
 2 5
 3 7
 4 10
 5 12
 6 15
 7 17
 8 20
 9 22
 10 25



Hasil konversi yang kita lakukan sangat tidak akurat, ini dikarenakan kita menggunakan data type int, yaitu bilangan bulat. Tapi saat ini bukan masalah keakuratan hasil, Sekarang kita mencoba data type int.

#include <stdio.h>

main() 
{
        /* mengkonversi inci menjadi 
        * cm */
int Acm, Ainci;
int Akecil, Abesar;

Akecil = 0;
Abesar = 10;

Ainci = Akecil;
while (Ainci <= Abesar) {
Acm=2.54 * Ainci;
printf (" %d\t%d\n",Ainci,Acm);
Ainci=Ainci+1;
}
}

apa yang terjadi disana>

#include <stdio.h>  
membuat library

main()  
membuat function utama

{
awal block dari function


/* mengkonversi inci menjadi 
* cm */
komen, tidak akan dibaca oleh compiler, /* awal block dan */ akhir block komen, tidak masalah dengan jumlah baris atau terpotong dengan baris baru.

int Acm, Ainci;
int Akecil, Abesar;
membuat variable menggunakan data type integer (int) 
A (a besar didepan kata variable seperti Acm atau Ainci) hanya untuk menandakan variable saja, boleh membuat nama variabel apa saja kecuali kata-kata yang digunakan keyword C.  
Penulisan variable langsung satu baris seperti int Acm, Ainci, Akecil, Abesar; tidak masalah, karena menggunakan data type yang sama.


Akecil = 0;
Abesar = 10;
memberikan nilai kepada variable Akecil = nol, dan Abesar = 10 (sepuluh)

Ainci = Akecil;
memberikan nilai kepada variable Ainci sama dengan nilai Akecil pada saat baris ini dibaca.

while (Ainci <= Abesar) {
Acm=2.54 * Ainci;
printf (" %d\t%d\n",Ainci,Acm);
Ainci=Ainci+1;
}
loop yang dilakukan berulang-ulang bila kondisi Ainci lebih kecil dari Abesar
     
     Acm=2.54 * Ainci;
     1 inci = 2.54 cm
     membuat perkalian 2.54 cm x Ainci yang menjadi nilai Acm
     
     printf (" %d\t%d\n",Ainci,Acm);
     mencetak pada layar dengan format seperti %d\t%d\n",Ainci,Acm 
     dimana 
                 %d pertama adalah dicetak sebagai integer yang nilainya adalah variable pertama yaitu Aimci
                 /t adalah tab
                %d pkedua adalah dicetak sebagai integer yang nilainya adalah variable kedua yaitu Acm
                 \n adalah garis baru

}
akhir dari main function

Karena hasil yang kita konversi tidak akurat (bilangan bulat int), kita coba membuatnya menjadi angka desimal dengan data type float dan menjadi seperti ini:
#include <stdio.h>

main() 
{
        /* mengkonversi inci menjadi 
        * cm */
int Ainci, Akecil, Abesar;
   float Acm;

Akecil = 0;
Abesar = 10;

Ainci = Akecil;
while (Ainci <= Abesar) {
Acm=2.54 * Ainci;
printf (" %d\t%f\n",Ainci,Acm);
Ainci=Ainci+1;
}
}

Perubahan int ke float seperti pada illustrasi dibawah ini:
float adalah variable pecahan. angka yang dibuat menggunakan float memiliki angka dibelakang koma.

%d Mencetak sebagai integer
%f Mencetak sebagai float
%6d Mencetak sebagai integer dengan setidaknya ada 6 karakter
%6f Mencetak sebagai float dengan setidaknya ada 6 karakter
%.2f      Mencetak sebagai float, dengan 2 karakter dibelakang koma
%o Mencetak okatadesimal
%x Mencetak hexsadesimal
%c Mencetak karakter (character)
%s Mencetak string

No comments:

Post a Comment