23
TEE 2103 Algoritma & Pemrograman Variabel dan Tipe Data Dosen: Abdillah, MIT Hp: 0853 6581 8665 Email: [email protected] Website: www. abdill01.wordpress.com

TEE 2 103 Algoritma & Pemrograman

  • Upload
    marin

  • View
    52

  • Download
    1

Embed Size (px)

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

Page 1: TEE 2 103 Algoritma  & Pemrograman

TEE 2103 Algoritma & Pemrograman

Variabel dan Tipe Data

Dosen: Abdillah, MITHp: 0853 6581 8665Email: [email protected]: www.abdill01.wordpress.com

Page 2: TEE 2 103 Algoritma  & Pemrograman

Tujuan

Mengetahui jenis variabel dan tipe data serta penggunaannya dalam program bahasa C.

Page 3: TEE 2 103 Algoritma  & Pemrograman

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.

Page 4: TEE 2 103 Algoritma  & Pemrograman

Tabel Output

0 -1720 -640 460 1580 26100 37120 48140 60160 71180 82200 93

Page 5: TEE 2 103 Algoritma  & Pemrograman

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;

}}

Page 6: TEE 2 103 Algoritma  & Pemrograman

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 */

Page 7: TEE 2 103 Algoritma  & Pemrograman

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

Page 8: TEE 2 103 Algoritma  & Pemrograman

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.

Page 9: TEE 2 103 Algoritma  & Pemrograman

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

Page 10: TEE 2 103 Algoritma  & Pemrograman

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.

Page 11: TEE 2 103 Algoritma  & Pemrograman

Komputasi

Penghitungan (komputasi) dalam program konversi suhu dimulai dengan statement inisialisasi yang memberi nilai awal pada variabel.

lower = 0; upper = 200; step = 20;

Page 12: TEE 2 103 Algoritma  & Pemrograman

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;

}

Page 13: TEE 2 103 Algoritma  & Pemrograman

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;

Page 14: TEE 2 103 Algoritma  & Pemrograman

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);

Page 15: TEE 2 103 Algoritma  & Pemrograman

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.

Page 16: TEE 2 103 Algoritma  & Pemrograman

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;

}}

Page 17: TEE 2 103 Algoritma  & Pemrograman

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.

Page 18: TEE 2 103 Algoritma  & Pemrograman

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

Notasi Penentu Format

Notasi penentu format disesuaikan dengan tipe data variabel yang bersangkutan.

Page 19: TEE 2 103 Algoritma  & Pemrograman

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

Page 20: TEE 2 103 Algoritma  & Pemrograman

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.

Page 21: TEE 2 103 Algoritma  & Pemrograman

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.

Page 22: TEE 2 103 Algoritma  & Pemrograman

Deklarasi Konstanta

Konstanta dideklarasikan menggunakan qualifier const.

const double e = 2.71828182845905; const char msg[] = "warning: ";

Page 23: TEE 2 103 Algoritma  & Pemrograman

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