PEMROGRAMAN TERSTRUKTUR
-
Upload
galena-dunlap -
Category
Documents
-
view
65 -
download
0
description
Transcript of PEMROGRAMAN TERSTRUKTUR
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" );
}}