PEMROGRAMAN TERSTRUKTUR

12
PEMROGRAMAN TERSTRUKTUR Tipe Data Sederhana

description

PEMROGRAMAN TERSTRUKTUR. Tipe Data Sederhana. Tujuan. Memberikan pemahaman mengenai berbagai tipe data sederhana yang disediakan oleh C, sehingga mahasiswa mampu memilih tipe data yang sesuai untuk menyelesaikan persoalan pemrograman. Format Data. Format internal tipe int dan tipe double. - PowerPoint PPT Presentation

Transcript of PEMROGRAMAN TERSTRUKTUR

PEMROGRAMAN TERSTRUKTURTipe Data Sederhana

Tujuan• Memberikan pemahaman mengenai

berbagai tipe data sederhana yang disediakan oleh C, sehingga mahasiswa mampu memilih tipe data yang sesuai untuk menyelesaikan persoalan pemrograman.

Format Data• Format internal tipe int dan tipe double

Bilangan Biner Mantissa Eksponen

Format int Format double

Bilangan real = mantissa x 10 eksponen

Range Tipe DataTipe Rangeshort -32.767 …. 32.767

unsigned short 0 …. 65.535

int -32.767 …. 32.767

unsigned int 0 …. 65.535

long -2.147.483.647 ….2.147.483.647

unsigned long 0 …. 4.294.967.295

float 10-37 …. 1038

double 10-307 …. 10308

long double 10-4931 …. 104932

Ketidakakuratan secara Numerik

• Representational error : kesalahan yang berkaitan dengan pengkodean bilangan real menggunakan jumlah digit biner yang terbatas.Untuk variabel yang mengontrol perulangan sebaiknya digunakan variabel integer, tidak variabel real.

• Cancellation error : kesalahan sebagai akibat operasi aritmetika pada operator dengan magnitude yang berbeda; sehingga pengaruh dari operator yang nilainya kecil hilang.

Ketidakakuratan secara Numerik

• Arithmetic underflow : kesalahan yang disebabkan karena hasil komputasi yang nilainya sangat kecil dinyatakan sebagai nol.

• Arithmetic overflow : kesalahan yang disebabkan karena kita berusaha menyatakan hasil komputasi yang terlalu besar.

Konversi Tipe Data• Konversi tipe data secara otomatis :

int k=5, m=4, n;double x=1.5, y=2.1, z;z=k+5;z=k/m;n=x*y;

• Konversi tipe data secara eksplisit :z=(double) k/ (double) m;

Konversi Tipe Data#include <stdio>#include <conio>#include <iostream>#define START_CHAR ' '#define END_CHAR 'Z'

int main() {int char_code;for (char_code=(int) START_CHAR; char_code

<= (int) END_CHAR; char_code ++)cout<<(char)char_code<<endl;getch();return(0);}

Tipe Enumerasi• Tipe enumerasi adalah tipe data yang

nilai-nilainya ditentukan oleh programer pada saat deklarasi tipe.

• Konstanta enumerasi :– suatu identifier yang merupakan salah satu

nilai dalam tipe enumerasi– Harus berupa identifier– Tidak boleh numerik, karakter atau string– Secara default, nilainya diawali dengan

integer 0.– Suatu identifier tidak boleh muncul lebih

dari sekali dalam definisi tipe enumerasi.

Tipe Enumerasi#include <stdio.h>#include <conio.h>#include <iostream.h>typedef enum {entertainment, rent, utilities, food,clothing, automobile, insurance, miscellaneous}

expense_t;void print_expense(expense_t expense_kind);

void main() {expense_t expense_kind;cout<<"Masukkan nilai identifier = ";cin>>(int)expense_kind;cout<<"Nilai identifier tersebut sama dengan ";print_expense(expense_kind);;getch();}

Tipe Enumerasivoid print_expense(expense_t expense_kind) {switch (expense_kind) {

case entertainment:printf("entertainment"); break;

case rent:printf("rent"); break;

case utilities :printf("utilities"); break;

case food :printf("food"); break;

case clothing :printf("clothing"); break;

case automobile :printf("automobile"); break;

case insurance :printf("insurance"); break;

case miscellaneous :printf("miscellaneous"); break;

default : printf("invalid code" );

}}

Referensi• Bab 7, “Simple Data Types”, Problem Solving

and Program Design in C, Jeri R. Hanly dan Elliot B. Koffman, Addison Wesley, 2002

• Pemrograman Terstruktur, ITS Surabaya

Terima kasihSemoga bermanfaat