Variabel dan Tipe Data TEE 2103 Algoritma & Pemrograman Dosen: Abdillah, MIT Hp: 0853 6581 8665 Email: abdill01@gmail.com Website: www.abdill01.wordpress.com
Tujuan Mengetahui jenis variabel dan tipe data serta penggunaannya dalam program bahasa C.
Program C Program C berikutnya menggunakan rumus 0C = (5/9)(0F-32) untuk mencetak tabel suhu dalam derajat Fahrenheit dari 00, 200, ... 2000 serta ekuivalennya dalam derajat Celcius. Program ini mengenalkan tentang komentar, deklarasi, variabel, tipe data, pengulangan, ekspresi aritmetika dan format output.
Tabel Output 0 -17 20 -6 40 4 60 15 80 26 100 37 120 48 140 60 160 71 180 82 200 93
Listing Program /* Mencetak tabel F – C untuk 0,202000F */ #include <stdio.h> main() { int fahr, celsius, lower, upper, step; lower = 0; /* batas bawah skala suhu */ upper = 200; /* batas atas skala suhu */ step = 20; /* interval suhu */ fahr = lower; while (fahr <= upper) { celsius = 5 * (fahr-32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + step; }
Komentar Baris pertama program /* Mencetak tabel F – C untuk 0,202000F */ adalah sebuah komentar yang menjelaskan secara ringkas apa yang dilakukan oleh program. Setiap karakter antara /* dan */ diabaikan kompilator. Komentar dapat digunakan bebas agar program lebih mudah dimengerti. Komentar dapat ditulis dimana saja dalam program, misalnya: lower = 0; /* batas bawah skala suhu */ upper = 200; /* batas atas skala suhu */ step = 20; /* interval suhu */
Variabel Baris pertama fungsi main int fahr, celsius, lower, upper, step; adalah deklarasi variabel fahr, celsius, lower, upper dan step dengan tipe data int. Variabel berfungsi menyimpan nilai yang digunakan selama proses komputasi. Setiap variabel harus dideklarasikan sebelum dapat digunakan. Variabel harus dideklarasikan dengan tipe datanya. Tipe data menentukan sifat-sifat variabel.
Nama Variabel Nama variabel terdiri atas karakter huruf, angka dan underscore _. Karakter pertama haruslah sebuah huruf. C membedakan huruf besar dan huruf kecil (case sensitive). Secara tradisi untuk nama variabel digunakan semuanya huruf kecil.
Kata Kunci Terdapat beberapa kata kunci (keywords) yang tidak bisa digunakan untuk nama variabel. asm default for switch typedef auto do goto register union break double huge return union case else if short void cdecl enum int signed volatile char extern interrupt sizeof while const far long static continue float near struct
Tipe Data Dalam C terdapat empat tipe data dasar, yakni: char karakter tunggal int bilangan bulat float bilangan berkoma double bilangan berkoma presisi ganda Selain itu ada pula short untuk bilangan bulat 16 bit dan long untuk bilangan bulat 32 bit. Dalam ANSI C ada tambahan signed dan unsigned untuk char dan int. Bilangan unsigned char antara 0 dan 255, sementara signed char antara 128 dan 127.
Komputasi Penghitungan (komputasi) dalam program konversi suhu dimulai dengan statement inisialisasi yang memberi nilai awal pada variabel. lower = 0; upper = 200; step = 20;
Pengulangan Setiap baris tabel pada output dihitung dengan cara yang sama, maka kita gunakan loop atau pengulangan yang mengulang sekali setiap baris output. Inilah kegunaan dari pengulangan while. while (fahr <= upper) { celsius = 5 * (fahr-32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + step; }
Pengulangan Pengulangan while beroperasi sebagai berikut: Kondisi dalam tanda () diuji. Jika nilainya benar (fahr upper), maka badan pengulangan akan dieksekusi. Kemudian kondisi diuji lagi sampai pengujian bernilai salah. Suhu dalam Celcius dihitung dan ditugaskan pada variabel celcius oleh pernyataan Alasan perkalian 5 dan pembagian 9 ketimbang perkalian dengan 5/9 adalah karena hasil pembagian bilangan bulat 5/9 yakni 0,55 akan terpotong menjadi 0. celsius = 5 * (fahr-32) / 9;
Format Output Pada argumen fungsi printf printf("%d\t%d\n", fahr, celsius); setiap tanda % menentukan dimana posisi argumen yang lain dicetak dan dalam format apa. Dalam program, %d adalah penentu format bilangan bulat. Untuk menghasilkan tabel output yang rata kanan, sebelum %d dapat ditambahkan bilangan yang menunjukkan lebar digit maksimum bilangan bulat yang dicetak, misalnya: printf("%3d %6d\n", fahr, celsius);
Format Output Masalah yang lebih besar adalah tentang akurasi penghitungan. Karena operasi penghitungan menggunakan tipe bilangan bulat, penghitungan derajat Celcius menjadi tidak terlalu akurat. Misalnya, 00F seharusnya -17.80C bukannya 170C. Untuk mendapatkan hasil yang lebih akurat, operasi penghitungan harus menggunakan tipe data bilangan berkoma. Hal ini memerlukan beberapa perubahan dalam program.
Listing Program 2 /* Mencetak tabel F – C untuk 0,202000F */ #include <stdio.h> main() { float fahr, celsius, lower, upper, step; lower = 0; /* batas bawah skala suhu */ upper = 200; /* batas atas skala suhu */ step = 20; /* interval suhu */ fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; }
Format Output Program ini hampir sama dengan sebelumnya, kecuali tipe data yang digunakan adalah float. Perbedaan lain ada pada argumen fungsi printf printf("%3.0f %6.1f\n", fahr, celsius); tanda %3.0f menentukan fahr dicetak dalam lebar 3 karakter dan tanpa angka di belakang koma. Sedangkan tanda %6.1f menentukan celsius dicetak dalam jarak 6 karakter dan 1 angka di belakang koma.
Notasi Penentu Format Notasi penentu format disesuaikan dengan tipe data variabel yang bersangkutan. %c char %lf double %f float %ld long int %u unsigned int %d int
Tabel Output 0 -17.8 20 -6.7 40 4.4 60 15.6 80 26.7 100 37.8 120 48.9 140 60.0 160 71.1 180 82.2 200 93.3
Latihan Tulislah sebuah program untuk menentukan interval variabel char, short, int, dan long, untuk signed dan unsigned, dengan mencetak nilai yang bersesuian dari header standar dan komputasi langsung.
Konstanta Konstanta menyimpan nilai yang tidak berubah selama proses komputasi. Secara tradisi nama konstanta menggunakan semuanya huruf besar. Konstanta bilangan bulat seperti 123 adalah int. Konstanta bilangan berkoma seperti 12.3 adalah double, kecuali dengan akhiran f atau F untuk float. Sebuah konstanta long ditulis dengan akhiran l atau L, misalnya 123456789L. Sebuah konstanta unsigned ditulis dengan akhiran u atau U, dan akhiran ul atau UL digunakan untuk unsigned long.
Deklarasi Konstanta Konstanta dideklarasikan menggunakan qualifier const. const double e = 2.71828182845905; const char msg[] = "warning: ";
Escape Sequence Kumpulan escape sequence lengkap adalah sbb: \a alert character \\ backslash \b backspace \? question mark \f formfeed \' single quote \n newline \" double quote \r carriage return \ooo octal number \t horizontal tab \xhh hexadecimal number \v vertical tab \0 null character