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 BinerMantissa Eksponen Format int Format double Bilangan real = mantissa x 10 eksponen
Range Tipe Data TipeRange short … unsigned short0 … int … unsigned int0 … long … unsigned long0 … float10-37 … double … long double …
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 #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 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