240 likes | 457 Views
TEE 2 103 Algoritma & Pemrograman. Variabel dan Tipe Data. Dosen: Abdillah, MIT Hp : 0853 6581 8665 Email: abdill 01 @ gmail.com Website: www. abdill01.wordpress.com. Tujuan. Mengetahui j enis variabel dan tipe data serta penggunaannya dalam program bahasa C. Program C.
E N D
TEE 2103Algoritma & Pemrograman Variabel dan Tipe Data 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, ... 2000serta 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
ListingProgram /* 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 switchtypedef auto do goto registerunion break double huge return union case else if short void cdeclenumint signedvolatile char extern interrupt sizeofwhile const far long static continuefloat near struct
Tipe Data • Dalam C terdapat empat tipe data dasar, yakni: • 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 statementinisialisasi 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, 00Fseharusnya -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.
ListingProgram 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. int %d unsigned int %u long int %ld float %f double %lf char %c
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 mencetaknilai yang bersesuian dari headerstandar 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 \ooooctal number \t horizontal tab \xhhhexadecimal number \v vertical tab \0 null character