120 likes | 291 Views
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.
E N D
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 Bilangan Biner Mantissa Eksponen Format double Format int Bilangan real = mantissa x 10 eksponen
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 bolehnumerik, 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 Enumerasi void 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 kasih Semoga bermanfaat