TEE 2 103 Algoritma & Pemrograman

Preview:

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

TEE 2103 Algoritma & Pemrograman

Variabel dan Tipe Data

Dosen: Abdillah, MITHp: 0853 6581 8665Email: abdill01@gmail.comWebsite: 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 -1720 -640 460 1580 26100 37120 48140 60160 71180 82200 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

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.

int fahr, celsius, lower, upper, step;

Baris pertama fungsi main

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 typedefauto do goto register unionbreak double huge return unioncase else if short voidcdecl enum int signed volatile

char extern interrupt sizeof whileconst far long staticcontinue 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.

%cchar%lfdouble%ffloat%ldlong int%uunsigned int%dint

Notasi Penentu Format

Notasi penentu format disesuaikan dengan tipe data variabel yang bersangkutan.

Tabel Output

0 -17.8 20 -6.7 40 4.4 60 15.6 80 26.7100 37.8120 48.9140 60.0160 71.1180 82.2200 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