TIPE DATA Penggunaan tipe data pada bahasa c++ erat kaitannya dengan penggunaan memori, perlu diperhatikan dalam penggunaanya. Terdapat tiga tipe data dalam bahasa C++ yaitu : 1. Tipe Data Dasar terdiri dari : Tipe Total bit Range Keterangan Char 8-128 s/d 127 Karakter Int 16-32768 s/d 32767 Integer Float 32 3.4E-38 s/d 3.4e+38 Bilangan Double 64 1.7e308 s/d 1.7e+308 Bilangan Void 0 - Tak Bertipe 2. Tipe Bentukan a. array : sekumpulan elemen bertipe sama b. struktur komposisi (record) : sebuah tipe yang terdiri dari komponen-komponen bertipe tertentu. 3. Pointer : berisi alamat mesin. Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester). ESCAPE SEQUENCES Disebut escape sequence karena notasi \ dianggap sebagai karakter escape (menghindar), dalam arti bahwa bukan karakter biasa. Escape sequence biasanya digunakan untuk mengatur tampilan output dilayar. Diantaranya : Escape sequence Pengertian \b backspace \n atau endl baris baru (akan sering digunakan) \t tab (default = 8 karakter) \\ backslash \ tanda kutip tunggal ( ) \ tanda kutip ganda ( ) \xaa kode ASCII dalam hexadecimal (aa menunjukkan angka ASCII ybs)
\aaa Kode ASCII dalam octal (aaa menujukkan angka ASCII ybs) VARIABEL DAN KONSTANTA F Variabel Variabel adalah data pada suatu lokasi memori yang nilainya dapat berubah-ubah. Format Deklarasi veriabel dan tipe data : <Tipe> <Nama_variabel>; int Umur; char Nama[30]; float Nilai_max; Hal-hal yang perlu diperhatikan dalam pemberian nama variabel yaitu : 1. Terdiri dari abjad, bilangan dan tanda hubung (_) 2. Boleh dimulai oleh tanda hubung(_) atau abjad 3. Tidak boleh dimulai oleh angka 4. Tidak boleh menggunakan operator aritmatika (+ - / * %) dan karakter khusus (; :, # @ $ ^! & dan titik (.)) 5. Tidak boleh mengandung spasi 6. Jangan menggunakan nama fungsi yang mempunyai arti khusus dalam c++ 7. C++ membedakan huruf besar dan huruf kecil gaji dan GAJI dan Gaji merupakan tiga nama variabel yang berbeda Contoh penulisan nama variabel yang BENAR : nim nama_mhs _jurusan nilai_mhs1 k angkt_2005 F Konstanta Konstanta adalah suatu data yang sifatnya tetap.
Format deklarasi konstanta ada dua bentuk yaitu memakai deklarasi const atau memanfaatkan fasilitas makro #define. const [<tipe>] <nama> = <nilai> format ini ditulis pada kamus : const double pi = 3.14; const int umur = 40; #define <nama> <nilai> format ini ditulis diluar main() : #define pi 3.14 #define umur 40 OPERATOR F Operator Numerik * kali / bagi % modulo (sisa bagi) - kurang ++ increment (plus 1) -- decrement (minus 1) Catatan : increment dan decrement dapat dilakukan sebelum ekspresi dievaluasi (preincrement) atau setelah ekspresi dievaluasi (post-decrement) Pre-increment : x = --i + 1; Post-increment : x = i++ + 1; F Operator Bit << shift left
>> shift right & and or ^ xor ~ not Catatan : operator ini bekerja bit per bit (jadi tergantung kepada representasi bilangan), dibedakan dengan operator logika. Perhatikanlah contoh sebagai berikut : int a,b; /*ekspresi a&b akan berbeda hasilnya dengan a&&b*/ F Operator Relational > lebih besar >= lebih besar atau sama dengan < lebih kecil <= lebih kecil atau sama dengan == sama dengan!= tidak sama dengan Catatan : Perhatikanlah bahwa test kesamaan dilakukan dengan operator == bukan =. Operator = dalam bahasa C berarti assignment. Cek kesamaan nilai x dan y, kemudian increment x if (x==y) x++; untuk kasus ini, x++ akan dilakukan jika x sama dengan y. F Operator Logika && and or! not Catatan : operator logika adalah operator terhadap nilai boolean (true, false)
C tidak mempunyai tipe data boolean. Dalam pengetasan kondisi untuk if-then, while, do-while, dan for, nilai satu dianggap true dan nilai nol dianggap false emulasi data boolean dapat dilakukan dengan beberapa cara : 1. mendefinisikan nilai true dan false lewat #define #define true 1 #define false 0 #define boolean unsigned char 2. menggunakan enumerasi enum boolean(false,true); atau enum boolean(true = 1; false = 0); cara memakai : boolean x; x=true; while(x){.... dst} F Compound Assigment Compound assignment hanya dapat dilakukan untuk operator : *, /, %, +, -, <<, >>, &, ^, X = y Assignment nilai y ke x (x y) x *= y x x * y x /= y x x / y x %= y x x % y x += y x x + y x -= y x x - y dst.. F Operator Kondisional Operator Arti
(k)?t : f Jika kondisi k benar (berharga!= 0), harga ekspresi adalah t, jika tidak harga ekspresi adalah f Catatan : operator ini biasanya dipakai untuk menghemat pemakaian kalimat if-then dan/ atau pemanggilan fungsi, dengan maksud agar dihasilkan kode yang lebih kompak dan efisien. menentukan nilai terbesar dari dua bilangan x dan y (a > b)? a : b); Latihan 1. penggunaan operator aritmatika // Nama file : hitung.cpp // Deklarasi : penggunaan operator aritmatika #include <iostream.h> void main() { // kamus int x,y; // program cout<<"perhitungan aritmatika : <<endl; cout<<"nilai x : "; cin>>x; cout<<"nilai y : "; cin>>y; } cout<<"x*y = "<<x*y<<endl; cout<<"x/y = "<<(float)x/(float)y)<<endl; cout<<"x+y = "<<x+y<<endl; cout<<"x-y = "<<x-y<<endl; Catatan : (float) x dan (float) y, berarti meng-casting tipe data integer menjadi float sebaliknya, float z; (int) z, berarti meng-casting tipe data float menjadi integer 2. Menghitung luas lingkaran dengan pemakaian konstanta // Nama file : luaslingk.cpp // Deskripsi : menghitung luas lingkaran dari jari-jari yang dibaca #include<iostream.h> #include<conio.h> #define pi 3.14 void main() { // kamus float r; float luas; // program // baca data
TIPE DATA Penggunaan tipe data pada bahasa c++ erat kaitannya dengan penggunaan memori, perlu diperhatikan dalam penggunaanya. Terdapat tiga tipe data dalam bahasa C++ yaitu : 1. Tipe Data Dasar terdiri dari : Tipe Total bit Range Keterangan Char 8-128 s/d 127 Karakter Int 16-32768 s/d 32767 Integer Float 32 3.4E-38 s/d 3.4e+38 Bilangan Double 64 1.7e308 s/d 1.7e+308 Bilangan Void 0 - Tak Bertipe 2. Tipe Bentukan a. array : sekumpulan elemen bertipe sama b. struktur komposisi (record) : sebuah tipe yang terdiri dari komponen-komponen bertipe tertentu. 3. Pointer : berisi alamat mesin. Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester). ESCAPE SEQUENCES Disebut escape sequence karena notasi \ dianggap sebagai karakter escape (menghindar), dalam arti bahwa bukan karakter biasa. Escape sequence biasanya digunakan untuk mengatur tampilan output dilayar. Diantaranya : Escape sequence Pengertian \b backspace \n atau endl baris baru (akan sering digunakan) \t tab (default = 8 karakter) \\ backslash \ tanda kutip tunggal ( ) \ tanda kutip ganda ( ) \xaa kode ASCII dalam hexadecimal (aa menunjukkan angka ASCII ybs)
\aaa Kode ASCII dalam octal (aaa menujukkan angka ASCII ybs) VARIABEL DAN KONSTANTA F Variabel Variabel adalah data pada suatu lokasi memori yang nilainya dapat berubah-ubah. Format Deklarasi veriabel dan tipe data : <Tipe> <Nama_variabel>; int Umur; char Nama[30]; float Nilai_max; Hal-hal yang perlu diperhatikan dalam pemberian nama variabel yaitu : 1. Terdiri dari abjad, bilangan dan tanda hubung (_) 2. Boleh dimulai oleh tanda hubung(_) atau abjad 3. Tidak boleh dimulai oleh angka 4. Tidak boleh menggunakan operator aritmatika (+ - / * %) dan karakter khusus (; :, # @ $ ^! & dan titik (.)) 5. Tidak boleh mengandung spasi 6. Jangan menggunakan nama fungsi yang mempunyai arti khusus dalam c++ 7. C++ membedakan huruf besar dan huruf kecil gaji dan GAJI dan Gaji merupakan tiga nama variabel yang berbeda Contoh penulisan nama variabel yang BENAR : nim nama_mhs _jurusan nilai_mhs1 k angkt_2005 F Konstanta Konstanta adalah suatu data yang sifatnya tetap.
Format deklarasi konstanta ada dua bentuk yaitu memakai deklarasi const atau memanfaatkan fasilitas makro #define. const [<tipe>] <nama> = <nilai> format ini ditulis pada kamus : const double pi = 3.14; const int umur = 40; #define <nama> <nilai> format ini ditulis diluar main() : #define pi 3.14 #define umur 40 OPERATOR F Operator Numerik * kali / bagi % modulo (sisa bagi) - kurang ++ increment (plus 1) -- decrement (minus 1) Catatan : increment dan decrement dapat dilakukan sebelum ekspresi dievaluasi (preincrement) atau setelah ekspresi dievaluasi (post-decrement) Pre-increment : x = --i + 1; Post-increment : x = i++ + 1; F Operator Bit << shift left
>> shift right & and or ^ xor ~ not Catatan : operator ini bekerja bit per bit (jadi tergantung kepada representasi bilangan), dibedakan dengan operator logika. Perhatikanlah contoh sebagai berikut : int a,b; /*ekspresi a&b akan berbeda hasilnya dengan a&&b*/ F Operator Relational > lebih besar >= lebih besar atau sama dengan < lebih kecil <= lebih kecil atau sama dengan == sama dengan!= tidak sama dengan Catatan : Perhatikanlah bahwa test kesamaan dilakukan dengan operator == bukan =. Operator = dalam bahasa C berarti assignment. Cek kesamaan nilai x dan y, kemudian increment x if (x==y) x++; untuk kasus ini, x++ akan dilakukan jika x sama dengan y. F Operator Logika && and or! not Catatan : operator logika adalah operator terhadap nilai boolean (true, false)
C tidak mempunyai tipe data boolean. Dalam pengetasan kondisi untuk if-then, while, do-while, dan for, nilai satu dianggap true dan nilai nol dianggap false emulasi data boolean dapat dilakukan dengan beberapa cara : 1. mendefinisikan nilai true dan false lewat #define #define true 1 #define false 0 #define boolean unsigned char 2. menggunakan enumerasi enum boolean(false,true); atau enum boolean(true = 1; false = 0); cara memakai : boolean x; x=true; while(x){.... dst} F Compound Assigment Compound assignment hanya dapat dilakukan untuk operator : *, /, %, +, -, <<, >>, &, ^, X = y Assignment nilai y ke x (x y) x *= y x x * y x /= y x x / y x %= y x x % y x += y x x + y x -= y x x - y dst.. F Operator Kondisional Operator Arti
(k)?t : f Jika kondisi k benar (berharga!= 0), harga ekspresi adalah t, jika tidak harga ekspresi adalah f Catatan : operator ini biasanya dipakai untuk menghemat pemakaian kalimat if-then dan/ atau pemanggilan fungsi, dengan maksud agar dihasilkan kode yang lebih kompak dan efisien. menentukan nilai terbesar dari dua bilangan x dan y (a > b)? a : b); Latihan 1. penggunaan operator aritmatika // Nama file : hitung.cpp // Deklarasi : penggunaan operator aritmatika #include <iostream.h> void main() { // kamus int x,y; // program cout<<"perhitungan aritmatika : <<endl; cout<<"nilai x : "; cin>>x; cout<<"nilai y : "; cin>>y; } cout<<"x*y = "<<x*y<<endl; cout<<"x/y = "<<(float)x/(float)y)<<endl; cout<<"x+y = "<<x+y<<endl; cout<<"x-y = "<<x-y<<endl; Catatan : (float) x dan (float) y, berarti meng-casting tipe data integer menjadi float sebaliknya, float z; (int) z, berarti meng-casting tipe data float menjadi integer 2. Menghitung luas lingkaran dengan pemakaian konstanta // Nama file : luaslingk.cpp // Deskripsi : menghitung luas lingkaran dari jari-jari yang dibaca #include<iostream.h> #include<conio.h> #define pi 3.14 void main() { // kamus float r; float luas; // program // baca data