Algoritma dan Struktur Data - tipe data compound

15
Tipe Data Gabungan Algoritma dan Struktur Data Edwin Lunando [email protected]

description

Pengenalan tipe data compound yang ada pada C++

Transcript of Algoritma dan Struktur Data - tipe data compound

Page 1: Algoritma dan Struktur Data - tipe data compound

Tipe Data Gabungan

Algoritma dan Struktur Data

Edwin [email protected]

Page 2: Algoritma dan Struktur Data - tipe data compound

Pendahuluan

Tipe data gabungan (compound) adalah sebuah tipe data yang dibentuk dari tipe data primitif atau komposit yang ada pada program.

Proses pembentukan tipe data gabungan ini disebut dengan komposisi (composition)

Page 3: Algoritma dan Struktur Data - tipe data compound

Larik

Larik merupakan tempat penyimpanan elemen secara kontigu dengan tipe yang seragam pada indeks-indeks tertentu.

Misalkan: ● Larik yang terdiri dari 5 bilangan bulat● Larik yang terdiri dari 10 karakter● dll

Page 4: Algoritma dan Struktur Data - tipe data compound

Mendefinisikan Larik

Cara mendefinisikan larik adalah dengan:

tipe nama_array[besar_array];

Contoh:

Indeks: 0 1 2 3 4

int foo[5]; // larik bertipe integer dengan besar 5 buahint bar[5] = {46, 93, 99, 27, 26}; // larik bertipe integer yang diinisialisasi

46 93 99 27 26

Page 5: Algoritma dan Struktur Data - tipe data compound

Contoh operasi terhadap larik

Mengakses Larik

#include <iostream>using namespace std;

int main() { int foo[5]; // array bertipe integer dengan besar 5 buah foo[2] = 13; // mengisi array pada indeks ke-2 cout << “isi array indeks ke-2 adalah: ” << foo[2];}

Page 6: Algoritma dan Struktur Data - tipe data compound

Pointer

Pointer berkaitan dengan pengaksesan memory tempat menyimpan dari sebuah variabel.

Pointer memungkinkan kita menyimpan alamat penyimpanan suatu variabel pada variabel lainnya. Dan mengambil nilai dari suatu variabel menggunakan alamat yang diketahui.

Page 7: Algoritma dan Struktur Data - tipe data compound

Pointer - Reference operator (&)

Alamat dari variabel dapat diperoleh dengan menyertakan tanda “&” sebelum nama variabelnya.

Contoh: foo = &contohVar;

Pada contoh tersebut, variabel foo akan diisi dengan alamat dari variabel bernama “contohVar”.

Page 8: Algoritma dan Struktur Data - tipe data compound

Pointer - Dereference Operator (*)

Dereference operator digunakan untuk mengakses nilai yang dari alamat variabel yang ditunjuk.

Contoh:

varKu = 25;int adr = &varKu; // menyimpan address dalam integerint isi = *adr; // maka variabel “isi” akan bernilai 25

Page 9: Algoritma dan Struktur Data - tipe data compound

Ilustrasi Pointer

1776

25

25

myVar = 25;foo = &myvar;bar = *foo;

foo

memory

bar

… 1775 1776 1777 1778 ...myVar

Page 10: Algoritma dan Struktur Data - tipe data compound

Contoh Pointer#include <iostream>

using namespace std;

int main () {

int nilaiPertama, nilaiKedua;

int * pointerku;

pointerku = &nilaiPertama; // arahkan ke variabel nilaiPertama

*pointerku = 10; // isi nilai dari alamat pointerku (nilaiPertama)

pointerku = &nilaiKedua; // arahkan ke variabel nilaiKedua

*pointerku = 20; // isi nilai dari alamat pointerku (nilaiKedua)

cout << "nilai pertama: " << nilaiPertama << '\n'; // bernilai 10

cout << "nilai kedua: " << nilaiKedua << '\n'; // bernilai 20

return 0;

}

Page 11: Algoritma dan Struktur Data - tipe data compound

Tipe Alias - typedef

Fungsi alias sama seperti artinya dirinya yaitu memberi nama yang lain untuk sesuatu dalam hal ini tipe.

Dengan pendefinisian typedef, maka kita dapat memanggil tipe bentukan dengan alias yang kita tentukan.

Page 12: Algoritma dan Struktur Data - tipe data compound

Pendefinisian Alias

Pendefinisian alias mengikuti aturan berikut:

typedef tipe nama_tipe;

Contoh:typedef char karakter; // kita dapat memakai karakter sebagai tipe chartypedef char[5] kata; // kita dapat memakai kata sebagai tipe char*

karakter x = “x”;kata perintah = {“d”,”u”,”d”,”u”,”k”}

Page 13: Algoritma dan Struktur Data - tipe data compound

Struct

Struct digunakan untuk membuat tipe baru yang terdiri dari kumpulan tipe lainnya sehingga lebih tertata.

Biasanya struct terdiri dari data kecil yang bisa dikelompokkan menjadi 1 struktur

Page 14: Algoritma dan Struktur Data - tipe data compound

Pendefinisian Struct

Pendefinisian struct mengikuti ketentuan berikut:

struct { … } nama_struktur;

Contoh:struct { char golonganDarah; int tinggiBadan; string nama;} Pasien;

// Telah terdefinisi Pasien, kita isi nilainya

Pasien.golonganDarah = “A”;Pasien.tinggiBadan = “180”;Pasien.nama = ”Wico”;

Page 15: Algoritma dan Struktur Data - tipe data compound

Kombinasi Typedef - Struct

Jika kita akan memakai struktur tipe secara berulang, kita dapat menggunakan typedef sehingga tipe bentukan tersebut dapat dipakai kembali. Contoh:

type struct { char golongan; int kapasitas;} ruangan;

// Telah terdefinisi tipe ruangan, yang dapat dipakairuangan ruangKu, ruangMu;

kelasKu.golongan = ”A”;kelasKu.kapasitas = 100;

kelasMu.golongan = “B”;kelasMu.kapasitas = 50;