Anda di halaman 1dari 26

ALGORITMA

DAN STRUKTUR DATA 1


WEEK 3

Tipe Data dalam C++

M. Nishom, M.Kom
Email : m.nishom.dosen@gmail.com
Telp : 081316468844
MATERI

3.1. Tipe Data dalam C/C++


3.1.1. Tipe Numerik
3.1.2. Tipe Karakter
3.1.3. Tipe Logika
3.1.4. Tipe String
3.1.5. Tipe Enumerasi
Tipe DATA dalam C/C++

Tipe Data mendefinisikan cara representasi informasi


dan cara informasi direpresentasikan. Tipe data
berkaitan erat dengan penyimpanan variabel di
memori karena tipe data dari sebuah variabel
menentukan cara kompilator menginterpretasikan
isian memori.
Tipe Numerik
Tipe Numerik

C/C++ mendukung beberapa tipe data untuk


keperluan penyimpanan data numerik. Data numerik
yang dapat digunakan meliputi bilangan bulat,
bilangan riil, dan bilangan kompleks.
Tipe Numerik Bilangan Bulat
Tipe bilangan bulat yang didukung oleh C++ adalah sebagai berikut:

Tipe Ukuran Range


char 1 byte -128 s.d 127 atau 0 s.d 255
unsigned char 1 byte 0 s.d 255
wchar_t 2 byte 0 s.d 65.535
signed char 1 byte -128 s.d 127
int 2 byte atau 4 byte -32.768 s.d 32.767 atau -2.147.483.648 s.d 2.147.483.647
unsigned int 2 byte atau 4 byte 0 s.d 65.535 atau 0 s.d 4.294.967.295
short 2 byte -32.768 s.d 32.767
unsigned short 2 byte 0 s.d 65.535
long 4 byte -2.147.483.648 s.d 2.147.483.647
unsigned long 4 byte 0 s.d 4.294.967.295
long long 8 byte -9.223.372.036.854.775.808 s.d 9.223.372.036.854.775.807
unsigned long long 8 byte 0 s.d 18.446.744.073.709.551.615
#include <iostream>
#include <climits>
using namespace std;
Bilangan bulat (cont.) int main(){
char c1;
unsigned char c2;
int i1;
unsigned int i2;
Desc
cout << "Tipe char:" << endl;
Controh penggunaan beberapa cout << "Nilai minimum: " << CHAR_MIN << endl;
tipe data numerik (bilangan bulat) cout << "Nilai maximum: " << CHAR_MAX << endl;
dapat dilihat pada kode di cout << "Ukuran: " << (int) sizeof(c1) << " byte" << endl << endl;

samping: cout << "Tipe unsigned char:" << endl;


cout << "Nilai minimum: 0" << endl;
cout << "Nilai maximum: " << UCHAR_MAX << endl;
cout << "Ukuran: " << (int) sizeof(c2) << " byte" << endl << endl;

cout << "Tipe int:" << endl;


cout << "Nilai minimum: " << INT_MIN << endl;
cout << "Nilai maximum: " << INT_MAX << endl;
cout << "Ukuran: " << (int) sizeof(i1) << " byte" << endl << endl;

cout << "Tipe unsigned int:" << endl;


cout << "Nilai minimum: 0" << endl;
cout << "Nilai maximum: " << UINT_MAX << endl;
cout << "Ukuran: " << (int) sizeof(i2) << " byte" << endl << endl;
return 0;
}
Tipe Numerik Bilangan Riil

Untuk mereperesentasikan data bertipe riil (mengandung angka di


belakang koma), C++ menyediakan tipe float, double, dan complex.
Ukuran rentang nilai dari tipe float dan double dapat dilihat pada
table di bawah ini:

Tipe Ukuran Range


float 4 byte -1.2E-38 s.d 3.4+38
double 8 byte 2.3E-308 s.d 1.7E308
Long double 10 byte 3.4E-4932 s.d 1.1E+4932
Tipe Numerik Bilangan Riil (example)

#include <iostream>
using namespace std;

int main(){
float PI = 3.14159;
float r = 3.0;
double luas = PI * r * r;
cout << "Luas Lingkaran = " << luas << endl;

return 0;
}
Tipe Numerik Bilangan Riil (example)

#include <iostream>
#include <complex>
using namespace std;

int main(){
complex<double> aa = 24;

cout << "Complex Number\t: " << real(aa) << endl;

return 0;
}
Tipe Karakter
Tipe Karakter

Dalam C++ tipe karakter direpesentasikan


menggunakan tipe char. Variabel yang
dideklarasikan menggunakan tipe ini dapat diisi
bilangan bulat maupun karakter. Bilangan bulat
yang diperbolehkan hanya bilangan bulat yang
merupakan kode ASCII. Contoh:

C = 65; //kode ASCII 65


Atau
C = A; //karakter A
Tipe Logika

C++ menyediakan tipe bool yang menyatakan tipe


logika (boolean). Nilai yang dapat diisikan ke dalam
variabel bertipe bool adalah true atau false.
Contoh:

bool = false;
while(!found){
//do something
}
Tipe Logika (cont.)

C++ juga menizinkan kita untuk memasukkan nilai


bilangan bulat ke dalam variabel bool. Nilai 0 berarti
false, dan nilai selain 0 (biasanya nilai 1) berarti
true.
Contoh:

bool b = 1; //sama dengan bool b = true;


std::string s = b ? true : false;
std::cout << s;
Tipe String
Tipe String

Dalam C++, teks (string) direpresentasikan menggunakan


kelas std::string. Objek string dapat dibentuk
menggunakan cara berikut:

#include <iostream>
using namespace std;

int main(){
string s;
s = "C++";

cout << s << endl;

return 0;
}
Tipe String karakter escape

C++ mendukung karakter escape sequence di dalam objek string.


Karakter escape sequence adalah runtunan karakter khusus yang selalu
diawali dengan karakter backslash (\) dan memiliki makna tersendiri.
Lihat table berikut:
Escape Sequence Keterangan
\\ Backslash
\ Petik tunggal
\ Petik ganda
\n ASCII linefeed (LF)
\r ASCII carriage return (CR)
\t ASCII tab (TAB)
\v ASCI vertical tab (VT)
Tipe String karakter escape
Example
#include <iostream>
using namespace std;

int main(){
string data;
data = "Kode\tNama Laptop\tHarga Laptop\n";
data += "----\t-----------\t------------\n";
data += "P001\tLaptop Mac\t: Rp 25.000.000\nP002\tLaptop Asus\t: Rp 15.000.000";
cout << data << endl;

return 0;
}

Catatan: dua buah objek string dapat disambung menjadi satu objek string menggunakan operator +
Tipe String
Membandingkan String
Untuk membandingkan nilai dari dua buah objek string (apakah sama atau tidak), dapat dilakukan
menggunakan operator == atau juga dapat dilakukan dengan fungsi compare(). Contoh:

#include <iostream>
using namespace std;

int main(){
string s;
s = "C++";

bool b = s == "C++";
bool c = s.compare("C++") == 0;

string resultb = b ? "true" : "false";


string resultc = c ? "true" : "false";

cout << "Bool B = " << resultb << endl;


cout << "Bool C = " << resultc << endl;

return 0;
}
Tipe String
Mengekstrak subString
Dalam C++, suatu substring di dalam string dapat diekstrak menggunakan fungsi substr() yang telah
didefinisikan dalam kelas string. Contoh:

#include <iostream>
using namespace std;

int main(){
string s = "Saya belajar C++ di Poltek Tegal";

//ambil kata C++


string cpp = s.substr(13,3);

//ambil kata poltek


string poltek = s.substr(20,6);

cout << cpp << endl;


cout << poltek << endl;

return 0;
}
Tipe String

Fungsi Keterangan
append(string& s) Menambahkan teks ke dalam bagian akhir string

at(size_t pos) Mengambil karakter pada posisi ke-pos.

clear() Menghapus semua karakter di dalam string.

compare(const string& str) Untuk membandingkan string

c_str() Mengkonversi string ke char

length() Untuk mendapatkan jumlah karakter pada sebuah string.

substr(int start, int n) Untuk mendapatkan sub teks atau karakter dari string
Tipe
Enumerasi
Tipe Enumerasi
Tipe enumerasi adalah tipe data bentukan yang daftar nilainya dapat didefinisikan sendiri.
Sebagai contoh, tipe jenis kelamin memiliki dua nilai: laki-laki dan perempuan. Sintaksnya
seperti berikut:

enum NamaType {nilai1, nilai2, }

Contoh:
//Laki2 memiliki nilai ordinal 0, perempuan 1
enum JenisKelamin {laki_laki,perempuan};

//Laki2 memiliki nilai ordinal 1, perempuan 2


enum JenisKelamin {laki_laki=1,perempuan=2};

Setelah tipe enumerasi didefinisikan, maka kita dapat menggunakan tipe tersebut untuk
mendeklarasikan variabel. Contoh:

JenisKelamin gender;
Tipe Enumerasi
Example
#include <iostream>
using namespace std;

enum JenisKelamin {laki_laki, perempuan};

int main(){
string nama, email;
JenisKelamin jk;

nama = "M. Nishom, M.Kom";


email = "m.nishom.dosen@gmail.com";
jk = laki_laki;

string jKelamin = (jk == laki_laki) ? "Laki-laki" : "Perempuan";

cout << "Nama\t\t: " << nama << endl;


cout << "Jenis Kelamin\t: " << jKelamin << endl;
cout << "Email\t\t: " << email << endl;

return 0;
}
PRAKTIK PEMROGRAMAN
Next Week: Prosedur

Anda mungkin juga menyukai