ERIC PRAKARSA PUTRA,S.KOM., M.T.I.
TIPE DATA
C++
University
www.itbss.ac.id
ITB SABDA SETIA
PRESENTATION
2.
TIPE DATA
University
Mengutip dariwikipedia (Data type):
“A data type or simply type is a classification of data which
tells the compiler or interpreter how the programmer
intends to use the data”.
Secara sederhana, tipe data adalah cara kita memberitahu
komputer untuk mengelompokkan data berdasarkan apa
yang dipahami oleh komputer.
Sebagai contoh, misalkan saya memiliki data berupa
angka. Agar bisa dipahami oleh compiler C++, data ini
harus disimpan ke dalam variabel yang sudah di siapkan
agar bisa menyimpan angka seperti tipe data integer, float
dan double. Atau jika data yang harus disimpan dalam
bentuk teks atau kata, bisa disimpan ke dalam tipe data
string.
3.
Primitive data type
integer
Tipedata untuk angka
bulat seperti 5, 7, atau
48.
01
FLOAT
Tipe data untuk angka
pecahan
02
Boolean
Tipe data yang berisi
nilai true atau false.
03
VOID
Tipe data khusus yang
menyatakan tidak ada
data
05
CHAR
Tipe data untuk 1
karakter
04
4.
Non-Primitive data type
STRING
Tipedata untuk
kumpulan karakter
01
ARRAY
Tipe data untuk
kumpulan tipe data
lain yang sejenis.
02
STRUCTURE
Tipe data yang terdiri
dari kumpulan tipe
data dasar. Tipe data
tersebut bisa lebih
dari 1 jenis.
03
POINTER
Tipe data untuk
mengakses alamat
memory secara
langsung.
05
ENUM
Tipe data bentukan
yang dibuat sendiri
oleh kita
04
University
jenis-jenis tipe integer
charshort int long
Di dalam bahasa C++, terdapat beberapa sub-tipe integer yang dibedakan berdasarkan
jangkauan angka yang bisa ditampung. Setidaknya terdapat 4 tipe data integer di dalam
bahasa C++
8.
University
jenis-jenis tipe integer
JenisTipe Data Ukuran Memory
Penyimpanan
Jangkauan
char 1 byte -128 hingga 127
short 2 bytes -32,768 hingga 32,767
int 2 bytes -32,768 hingga 32,767
int 4 bytes -2,147,483,648 hingga
2,147,483,647
long 4 bytes -2,147,483,648 hingga
2,147,483,647
9.
University
jenis-jenis tipe integer
Khususuntuk tipe data int, bisa terdiri dari 2 byte maupun 4 byte. Ini tergantung sistem
komputer dan compiler bahasa C++ yang dipakai.
Jangkauan tipe data diatas adalah untuk angka yang bertanda (signed). Maksudnya,
setiap tipe data bisa menampung angka positif dan negatif. Kita bisa mengorbankan nilai
negatif ini untuk memperbesar jangkauan angka positif dengan menambahkan keyword
unsigned sebelum penulisan tipe data.
Jika tipe data integer di-set sebagai unsigned (tidak bertanda), maka tipe data tersebut
tidak bisa menampung angka negatif, namun jatah untuk angka negatif akan dialihkan
kepada angka positif sehingga jangkauannya menjadi 2 kali lipat.
10.
University
jenis-jenis tipe integer
JenisTipe Data Ukuran Memory
Penyimpanan
Jangkauan
unsigned char 1 byte 0 hingga 255
unsigned short 2 bytes 0 hingga 65,535
unsigned int 2 bytes 0 hingga 65,535
unsigned int 4 bytes 0 hingga 4,294,967,295
unsigned long 4 bytes 0 hingga 4,294,967,295
11.
University
#include <iostream>
using namespacestd;
int main()
{
unsigned char angka1;
char angka2;
long angka3;
unsigned long angka4;
angka1 = 248;
angka2 = 248;
angka3 = 4294967299;
angka4 = 4294967299;
printf("Isi variabel angka1: %d n",angka1);
cout << "Isi variabel angka2: " << angka2 << endl;
cout << "Isi variabel angka3: " << angka3 << endl;
cout << "Isi variabel angka4: " << angka4 << endl;
return 0;
}
12.
University
#include <iostream>
#include <limits>
usingnamespace std;
int main()
{
cout << "Ukuran memory tipe data char: " << sizeof(char) << " byte n";
cout << "Ukuran memory tipe data short: " << sizeof(short) << " byte n";
cout << "Ukuran memory tipe data int: " << sizeof(int) << " byte n";
cout << "Ukuran memory tipe data long: " << sizeof(long) << " byte n";
cout << endl;
cout << "Nilai minimal tipe data char: " << SCHAR_MIN << endl;
cout << "Nilai minimal tipe data short: " << SHRT_MIN << endl;
cout << "Nilai minimal tipe data int: " << INT_MIN << endl;
cout << "Nilai minimal tipe data long: " << LONG_MIN << endl;
cout << endl;
cout << "Nilai maksimal tipe data char: " << SCHAR_MAX << endl;
cout << "Nilai maksimal tipe data short: " << SHRT_MAX << endl;
cout << "Nilai maksimal tipe data int: " << INT_MAX << endl;
cout << "Nilai maksimal tipe data long: " << LONG_MAX << endl;
return 0;
}
13.
University
#include <iostream>
#include <limits>
usingnamespace std;
int main()
{
cout << "Ukuran memory tipe data char: " << sizeof(char) << " byte n";
cout << "Ukuran memory tipe data short: " << sizeof(short) << " byte n";
cout << "Ukuran memory tipe data int: " << sizeof(int) << " byte n";
cout << "Ukuran memory tipe data long: " << sizeof(long) << " byte n";
cout << endl;
cout << "Nilai minimal tipe data char: " << SCHAR_MIN << endl;
cout << "Nilai minimal tipe data short: " << SHRT_MIN << endl;
cout << "Nilai minimal tipe data int: " << INT_MIN << endl;
cout << "Nilai minimal tipe data long: " << LONG_MIN << endl;
cout << endl;
cout << "Nilai maksimal tipe data char: " << SCHAR_MAX << endl;
cout << "Nilai maksimal tipe data short: " << SHRT_MAX << endl;
cout << "Nilai maksimal tipe data int: " << INT_MAX << endl;
cout << "Nilai maksimal tipe data long: " << LONG_MAX << endl;
return 0;
}
14.
University
FLOAT
02
Tipe data floatdipakai untuk menampung
angka pecahan seperti 3.14, 72.12 atau -
0.06463. Sama seperti bahasa pemrograman
pada umumnya, kita menggunakan tanda titik
sebagai pemisah angka bulat dan pecahan,
bukan tanda koma seperti yang kita pakai
sehari-hari di Indonesia.
University
boolean
03
Tipe data booleanadalah tipe data yang hanya
bisa diisi salah satu dari 2 nilai: true atau false.
Tipe data boolean banyak dipakai untuk
percabangan kode program atau untuk
memutuskan apa yang mesti dijalankan ketika
sebuah kondisi terjadi.
University
CHAR
04
Tipe data chardalam bahasa C++ digunakan
untuk menampung 1 digit karakter, entah itu
berupa huruf maupun angka. Variabel yang
didefinisikan untuk menampung tipe data char
butuh 1 byte memory. Secara teknis, char ini
dikodekan dari charset ASCII.
University
VOID
05
Tipe data voiddalam bahasa C++ digunakan
untuk khusus yang menyatakan tidak ada
data.
Variable ini biasanya dipakai di dalam
Procedure(Sub-Program)
23.
University
STRING
06
Pengertian umum dibidang programming, string adalah
tipe data yang menampung kumpulan karakter, seperti
“aku”, “kamu” atau “itbss”. Sebuah kalimat juga terhitung
sebagai tipe data string seperti “Sedang belajar bahasa
C++ di Algoritma & Pemograman”.
Pada bahasa C++, tipe data string dibuat menggunakan
keyword string. Selain itu teks string ini harus berada di
dalam tanda kutip dua ( ” ).
24.
University
#include <iostream>
using namespacestd;
int main()
{
string var1 = "Belajar C++ ";
string var2 = "di Algoritma dan Pemograman";
string var3 = var1 + var2;
cout << var3 << endl;
return 0;
}
25.
University
Mencari Panjang SebuahString
Salah satu hal yang sering kita lakukan untuk tipe data string adalah mencari tau total
jumlah karakter yang ada di dalam sebuah string. Atau disebut juga dengan mencari
panjang string.
Dalam bahasa C++, panjang sebuah string bisa didapat dengan mengakses method
length() atau size()
26.
University
#include <iostream>
using namespacestd;
int main()
{
string var1 = "Belajar C++ di Duniailkom";
string var2 = "Semangat!!";
string var3 = "Belajar demi masa depan yang lebih baik";
cout << "Panjang string var1 adalah " << var1.length() <<endl;
cout << "Panjang string var2 adalah " << var2.length() <<endl;
cout << "Panjang string var3 adalah " << var3.size() <<endl;
return 0;
}
27.
University
array
07
Tipe data arrayadalah tipe data yang terdiri dari kumpulan tipe data
lain. Dalam bahasa Indonesia, array dikenal juga dengan istilah Larik.
Dengan array, proses penyimpanan data ke dalam variabel menjadi
lebih efisien dan mudah, terutama jika memiliki data dalam jumlah
banyak.
28.
University
array
Anggota atau isidari array itu sendiri harus satu jenis tipe data, misalkan terdiri dari
kumpulan angka bulat saja (integer), kumpulan karakter saja (char), maupun kumpulan
angka pecahan saja (double). Di dalam bahasa C++, kita tidak bisa membuat 1 array
dengan berbagai tipe data (harus 1 jenis saja).
Sebagai contoh, misalkan saya ingin menyimpan 5 buah nilai siswa. Tanpa array, maka
harus menyiapkan 5 buah variabel:
int nilai1, nilai2, nilai3, nilai4, nilai5;
Jika menggunakan array, pendefinisian variabel cukup seperti ini:
int nilai[5];
Atau bagaimana jika ingin 1000 nilai? tidak masalah:
int nilai[1000];
Tentu jauh lebih efisien dibandingkan membuat 1000 buah variabel.
29.
University
Format Dasar penulisanArray dalam bahasa C++
Format pendefinisian array di dalam bahasa C++ adalah sebagai berikut:
tipe_data nama_variabel[jumlah_element]
Element adalah sebutan untuk isi atau anggota sebuah array.
Sebagai contoh, jika saya ingin membuat array dengan 100 element yang bisa diisi
dengan tipe data float, pendefinisiannya adalah sebagai berikut:
float bilangan[100];
Berikutnya, bagaimana cara mengakses dan mengisi element array ini? Kita tinggal
menuliskan nomor urut dari element yang akan akan diakses, nomor urut ini dikenal juga
dengan istilah index. Berikut contohnya:
bilangan[5] = 3.14;
University
Struct
08
Struct mirip sepertiarray, tapi struct bisa menampung lebih dari 1
jenis tipe data. Jika sebelumnya anda pernah belajar bahasa
pemrograman Pascal, struct dalam bahasa C++ sangat mirip seperti
tipe data record di Pascal.
Tipe data struct cocok dipakai untuk menampung data berkelompok.
Misalnya kita ingin membuat biodata siswa, dimana setiap siswa
memiliki data nama, nama sekolah serta jumlah uang saku.
32.
University
Struct
Menggunakan cara biasa,ketiga data bisa ditampung ke dalam 3 variabel berikut:
1. string nama_siswa01 = "Andi Permana Nugroho";
2. string nama_sekolah_siswa01 = "SMA 1 Lumut Ijo";
3. unsigned int uang_saku_siswa01 = 10000;
Untuk siswa kedua, tinggal membuat penamaan yang sama, yakni nama_siswa02,
nama_sekolah_siswa02 dan uang_saku_siswa02.
Cara ini tidak salah, namun setiap variabel seolah-olah terpisah satu sama lain. Satu-
satunya yang menghubungkan ketiga variabel hanya dari penamaan saja. Kita tidak bisa
menggunakan array karena 3 data di atas memiliki tipe data yang berbeda. Dalam kasus
seperti inilah tipe data struct cocok digunakan.
33.
University
#include <iostream>
using namespacestd;
struct Siswa {
string nama;
string sekolah;
unsigned int uangSaku;
};
int main()
{
struct Siswa siswa01;
siswa01.nama = "Andi Permana Nugroho";
siswa01.sekolah = "SMA 1 Lumut Ijo";
siswa01.uangSaku = 10000;
cout << siswa01.nama <<" bersekolah di " << siswa01.sekolah << endl;
cout << "dengan uang saku " << siswa01.uangSaku << " per hari" << endl;
return 0;
}
34.
University
enum
09
Tipe data enumatau tipe data enumerated adalah tipe data khusus
yang isinya bisa kita tentukan sendiri. Sebagai contoh, kita bisa
membuat tipe enum warna yang hanya bisa diisi nilai: merah, kuning,
biru dan ungu. Atau tipe enum nama_hari yang hanya bisa di isi
nama-nama hari seperti senin, selasa, rabu, dst.
Setelah di definisikan, data yang bisa diinput hanya nilai yang telah
ditentukan saja, tidak bisa di isi nilai lain.
35.
University
Format Penulisan TipeData Enum C++
Sama seperti tipe data struct, tipe data enum adalah tipe data bentukan. Kita harus buat
dulu seperti apa isi komponen dari enum, baru kemudian diakses dari function main().
Tipe data enum C++ dibuat menggunakan keyword enum. Format dasarnya adalah
sebagai berikut:
enum nama_tipe {nilai1, nilai2, nilai3... };
Sebagai contoh, jika saya ingin membuat tipe enum nama_hari yang berisi nama-nama
hari, bisa menggunakan perintah berikut:
enum nama_hari {minggu, senin, selasa, rabu, kamis, jumat, sabtu};
Dalam kode diatas, enum nama_hari terdiri dari nama seperti minggu, senin, selasa…
sabtu.
Agar bisa dipakai, tipe data enum harus di deklarasikan oleh sebuah variabel di dalam
function main(). Penjelasan ini akan lebih mudah dengan contoh kode program.
University
Pointer
10
Tipe data pointerbisa jadi merupakan tipe data paling rumit dalam
bahasa pemrograman C++. Namun tipe data ini sekaligus yang paling
powerfull karena kita bisa langsung mengakses alamat memory
komputer.
38.
University
Reference
Apa itu reference?
Sebagaimanayang kita ketahui, variabel adalah ‘nama alias’ dari sebuah alamat di
memory. Pada saat kita membuat variabel var1, compiler C++ akan ‘membooking’ satu
alamat di memory komputer untuk menyimpan data yang akan diinput ke dalam variabel
tersebut.
Lalu ketika dibuat var2, maka akan di booking satu alamat memory lain, dst. Disini, var1
dan var2 berada di alamat yang berbeda dan tidak terhubung satu sama lain:
39.
University
#include <iostream>
using namespacestd;
int main()
{
string var1 = "Belajar C++ di Algoritma dan Pemograman";
string &var2 = var1;
cout << var1 << endl;
cout << var2 << endl;
var2 = "Belajar C++ di ITBSS";
cout << var1 << endl;
cout << var2 << endl;
return 0;
}