DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat...
Transcript of DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat...
![Page 1: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/1.jpg)
Pertemuan 1
DATA &
STRUKTUR DATA
![Page 2: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/2.jpg)
Struktur Data adalah : suatu koleksi atau kelompok data
yang dapat dikarakteristikan oleh organisasi serta operasi
yang didefinisikan terhadapnya.
Pemakaian Struktur Data yang tepat didalam proses
pemrograman, akan menghasilkan Algoritma yang lebih
jelas dan tepat sehingga menjadikan program secara
keseluruhan lebih sederhana.
STRUKTUR DATA
![Page 3: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/3.jpg)
Pada garis besarnya, Data dapat dikategorikan menjadi :
A. Type Data Sederhana / Data Sederhana
Terdiri dari :
1. Data Sederhana Tunggal
Misalnya : Integer, Real/Float, Boolean dan
Character
2. Data Sederhana Majemuk
Misalnya : String
B. Struktur Data
Terdiri dari :
1. Struktur Data Sederhana
Misalnya Array dan Record
![Page 4: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/4.jpg)
2. Struktur Data Majemuk
Terdiri dari :
a. Linier
Misalnya : Stack, Queue dan Linear Linked List.
b. Non Linier
Misalnya : Pohon (Tree), Pohon Biner (Binary
Tree), Pohon Cari Biner (Binary Search Tree),
General Tree serta Graph.
![Page 5: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/5.jpg)
TYPE DATA SEDERHANA
(Dalam Program C++)
Type Range Ukuran
(Byte)
Integer - 32768..32767 2
Long - 2147483648..2147483647 4
1. INTEGER
Merupakan Bilangan Bulat dan tidak mengandung
pecahan. seperti : ...-3,-2,-1,0,1,2,3,....
Type data Integer
![Page 6: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/6.jpg)
2. FLOAT
Type data yang merupakan bilangan pecahan.
Jenis Data float ditulis dgn menggunakan titik(koma) desimal.
Misalnya : 0.32 4,35 -131.128
Type Real dapat juga ditulis dengan Rumus :
M * Re = X
M = Pecahan, R = Radix,
e = Exponen, X = Hasil Bilangan,
Misalnya : 3.2 * 10-1 = 0.32
4.35 * 102 = 435
TYPE DATA SEDERHANA
(Dalam Program C++)
![Page 7: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/7.jpg)
TYPE DATA SEDERHANA
(Dalam Program C++)
Type data FLOAT
Type Range Ukuran
(Byte)
Float 3.4 x 10 -38 s/d 3.4 x10 +38 4
Double 1.7 x 10 -308 s/d 1.7x10 +308 8
Long Double 3.4 x 10 -4932 s/d 1.1x10 + 4932 10
![Page 8: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/8.jpg)
3. BOOL ATAU LOGICAL
Type data yang hanya mempunyai dua bentuk keluaran
yaitu nilai True dan False (Benar dan Salah) yang
dinyatakan dengan 1 dan 0, Sehingga satuan data yang
terpakai cukup satu bit saja. Operator yang digunakan
adalah : And, Or dan Not.
![Page 9: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/9.jpg)
Bool atau Logical
Input NOT (!) AND (&&) OR (||)
A B C !A !B !C A&&B&&C A||B||C
0 0 0 1 1 1 0 0
0 0 1 1 1 0 0 1
0 1 0 1 0 1 0 1
0 1 1 1 0 0 0 1
1 0 0 0 1 1 0 1
1 0 1 0 1 0 0 1
1 1 0 0 0 1 0 1
1 1 1 0 0 0 1 1
![Page 10: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/10.jpg)
CHARACTER
Type data yang terdiri dari aksara (simbol)
yang meliputi digit numerik, character alfabetik
dan spesial character. Untuk menuliskan tipe
char, karakter perlu ditulis di dalam tanda petik
tunggal ( ‘ )
Contoh :
‘A’ karakter berupa huruf A
‘1’ karakter berupa angka 1
‘*’ karakter simbol *
![Page 11: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/11.jpg)
STRING
Merupakan type data majemuk yang terbentuk dari
kumpulan character sebanyak 256 (default) dengan
jangkauan niai 0 - 255. Kumpulan character yang
digunakan untuk membentuk String dinamakan
alfabet. Pemberian nilai String diapit dengan
tanda petik ganda (“)
Bentuk umum penulisan tipe data ini adalah
:
tipe_data pengenal [panjang] ;
pengenal = nama variabel
panjang = bilangan bulat yg menunjukan
jumlah karakter
Contoh : char nama[15] ;
![Page 12: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/12.jpg)
Diharapkan dosen memberikan contoh
aplikasi programnya
Fungsi pada Operasi STRING
1. Strcpy() untuk menyalin nilai string. 2. Strcat() untuk menggabungkan nilai string. 3. Strcmp() untuk membandingkan 2 nilai string. 4. Strlen() untuk mengetahui panjang nilai string. 5. Strchr () untuk mencari nilai karakter dalam string.
![Page 13: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/13.jpg)
Operator
Aritmatika
Keterangan
pow Pangkat
sqrt Menghitung akar
% Sisa hasil bagi (modulus)
* , / Perkalian, Pembagian
+ , - Penjumlahan, Pengurangan
Jenis-jenis Operator Dalam Bahasa C++
![Page 14: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/14.jpg)
Jenis-jenis Operator Dalam Bahasa C++
Operator Pemberi
Nilai Aritmatika
Keterangan
* = Perkalian
/ = Pembagian
% = Sisa hasil bagi
+ = Penjumlahan
- = Pengurangan
Operator
Logika
Keterangan
&& Dan (AND)
|| Atau (OR)
! Bukan (NOT)
![Page 15: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/15.jpg)
Jenis-jenis Operator Dalam Bahasa C++
Operator Unary Keterangan
+ Tanda Plus
- Tanda Minus
Operator Penambah
& Pengurang
Keterangan
++ Penambahan
-- Pengurangan
![Page 16: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/16.jpg)
Jenis-jenis Operator Dalam Bahasa C++
Operator
Relasi
Keterangan
= Sama dengan (assignment)
!= Tidak sama dengan
> Lebih besar
< Lebih kecil
== Sama dengan (bukan assignment)
>= Lebih besar atau sama dengan
<= Lebih kecil atau sama dengan
![Page 17: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/17.jpg)
Jenis-jenis Operator Dalam Bahasa C++
Operator
Bitwise
Keterangan
~ NOT
<< Shift Left
>> Shift Right
& AND
^ XOR
| OR
![Page 18: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/18.jpg)
TYPE TERSTRUKTUR
(Dalam Program C++)
Bermanfaat untuk mengelompokkan sejumlah data dengan tipe data yang berlainan.
Contoh :
struct data_pegawai
{
int nip;
char nama[25];
char alamat[40];
}
![Page 19: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/19.jpg)
Latihan Soal Struktur Data
(Pertemuan 1)
1. Type data dibawah ini, yang tidak termasuk dalam tipe
data sederhana tunggal, adalah :
a. Boolean d. Integer
b. String e. float
c. Char
2. ==, <=, >=, !=, termasuk dalam operator …
a. Aritmatika d. Relasi
b. Unary e. Bitwise
c. Binary
![Page 20: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/20.jpg)
2. ==, <=, >=, !=, termasuk dalam operator …
a. Aritmatika d. Relasi
b. Unary e. Bitwise
c. Binary
3. Type data yang menghasilkan bentuk keluaran nilai
True dan False (Benar dan Salah) , adalah :
a. Boolean d. Integer
b. String e. float
c. Char
![Page 21: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/21.jpg)
4. void main() { ....(a).... x,y,z; clrscr(); cout <<“\n input nilai X=“; cin >> x; cout <<“\n input nilai Y=“; cin >> y; z = x + y; cout <<“\n hasil penjumlahan =“ << z; getch(); }
Tipe data yang tepat untuk (a) adalah ….
a. Boolean d. Integer
b. String e. Array
c. Char
![Page 22: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/22.jpg)
5. void main() { int r = 10; int s; clrscr(); s = 10 + ++r; cout <<“r = “<< r << ‘\n’; cout <<“s = “<< s << ‘\n’;
getch(); }
Hasil eksekusi dari program diatas adalah ….
a. r = 11, s = 21 d. r = 10, s = 21
b. r = 11, s = 20 e. r = 10, s = 20
c. r = 12, s = 21
![Page 23: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/23.jpg)
Pertemuan 2
ARRAY
DIMENSI 1 & 2
![Page 24: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/24.jpg)
Definisi Array Array / Larik : Struktur Data Sederhana yang dapat
didefinisikan sebagai pemesanan alokasi memory sementara pada komputer.
Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.
Terurut : Dapat diartikan bahwa elemen tersebut dapat diidentifikasi sebagai elemen pertama, elemen kedua dan seterusnya sampai elemen ke-n.
Homogen : Adalah bahwa setiap elemen dari sebuah Array tertentu haruslah mempunyai type data yang sama.
![Page 25: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/25.jpg)
Definisi Array Sebuah Array dapat mempunyai elemen yang seluruhnya
berupa integer atau character atau String bahkan dapat
pula terjadi suatu Array mempunyai elemen berupa Array.
Karakteristik Array :
1. Mempunyai batasan dari pemesanan alokasi memory
(Bersifat Statis)
2. Mempunyai Type Data Sama (Bersifat Homogen)
3. Dapat Diakses Secara Acak
![Page 26: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/26.jpg)
Definisi Array
3 Hal yang harus diketahui dalam mendeklarasikan
array :
a. Type data array
b. Nama variabel array
c. Subskrip / index array
Jenis Array (yang akan dipelajari) adalah :
a. Array Dimensi Satu (One Dimensional Array)
b. Array Dimensi Dua (Two Dimensional Array)
c. Array Dimensi Tiga (Thee Dimensional Array)
![Page 27: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/27.jpg)
Array Dimensi Satu
1.ARRAY DIMENSI SATU (One Dimensional Array)
Dapat disebut juga dengan istilah vektor yang
menggambarkan data dalam suatu urutan
Deklarasi : Type_Data Nama_Variabel [index]
Misalnya : int A[5];
Penggambaran secara Logika :
A[1] A[2] A[3] A[4] A[5]
Elemen Array
0 1 2 3 4
Subscript / Index
![Page 28: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/28.jpg)
Array Dimensi Satu
void main()
{ int bil [5];
clrscr;
cout<<"Masukkan 5 bilangan genap : "<<endl;
for (int i = 0; i < 5; i++)
{ cout<<"Bilangan ";
cout<< i + 1 <<" : ";
cin>> bil[i];
cout<<endl;
}
cout<<endl;
cout<<"5 bilangan genap yang dimasukkan “ <<endl;
for (int i = 0; i < 5; i++)
cout<<" "<<bil[i];
getch();
}
![Page 29: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/29.jpg)
Rumus untuk menentukan jumlah elemen dalam Array :
n
(Elemen Array)
i=1
= Perkalian dari elemen sebelumnya
(untuk array dimensi dua & tiga)
Contoh :
Suatu Array A dideklarasikan sbb :
int A[10]; maka jumlah elemen Array dimensi satu tersebut
adalah = 10
Array Dimensi Satu
![Page 30: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/30.jpg)
Rumus : @A[i] = B + (i – 1) * L
Dimana : @A[i] : Posisi Array yg dicari
B : Posisi awal index di memory komputer
i : Subkrip atau indeks array yg dicari
L : Ukuran / Besar memory suatu type data
PEMETAAN (MAPPING)
ARRAY DIMENSI SATU KE STORAGE
Contoh :
Suatu Array A dideklarasikan sebagai berikut :
int A[5]; dengan alamat awal index berada di 0011 (H) dan
ukuran memory type data integer = 2
Tentukan berapa alamat array A[3] ?
![Page 31: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/31.jpg)
Rumus : @A[i] = B + (i – 1) * L
Diketahui :
@A[i] = A[3]
B = 0011 (H)
i = 3
L = 2
Penyelesaian :
A[3] = 0011(H) + (3 – 1) * 2
= 0011(H) + 4 (D)
= 0011(H) + 4 (H)
= 0015(H)
4 Desimal = 4 Hexa
0011
A[1] A[2] A[3] A[4] A[5]
0013 0015 0017 0019
0 1 2 3 4
PEMETAAN (MAPPING)
ARRAY DIMENSI SATU KE STORAGE
![Page 32: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/32.jpg)
KONVERSI BILANGAN
1. Decimal adalah bilangan berbasis sepuluh yang
terdiridari 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9
2. Hexadecimal adalah bilangan berbasis enam belas yang
terdiri dari 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F
Tabel di bawah adalah contoh konversi bilangan Decimal,
dan Hexadecimal
![Page 33: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/33.jpg)
Contoh KONVERSI ANTAR BILANGAN
Konversi Bilangan Decimal ke Hexadecimal
Contoh 254 (10) = .......(16)
Caranya dengan membagi bilangan tersebut dengan enam belas
sampai bilangan tersebut tidak bisa lagi dibagi enam belas (kurang
dari enam belas) dengan mencatat setiap sisa pembagian.
254 : 16 = 15 sisa 14 atau E (lihat tabel di atas)
15 : 16 = sisa 15 atau F (lihat tabel di atas)
Jadi 254 (10) = FE (16) diurutkan dari sisa pembagian terakhir.
![Page 34: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/34.jpg)
0 1 2 3 4 5 6 7
21d2 21d4 21d6 21d8 21da 21dc 21de 21e0
indeks
value
alamat
%x adalah hexadesimal
Contoh Penerapan
Array Dimensi 1 Pada Program C++
![Page 35: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/35.jpg)
2. ARRAY DIMENSI DUA (Two Dimensional Array)
Deklarasi : Type_Data Nama_Variabel [Index1] [index2];
Misal : int A[3][2];
Penggambaran secara Logika :
Array Dimensi Dua
0 1
0
1
2
Sering digunakan dalam menterjemahkan matriks
pada pemrograman.
![Page 36: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/36.jpg)
Menentukan jumlah elemen dalam Array dimensi dua:
n
(Elemen array)
i=1
Contoh :
Suatu Array X dideklarasikan sbb :
int X[4][3];
maka jumlah elemen Array dimensi dua tersebut adalah :
(4) * (3) = 12
= Perkalian dari elemen sebelumnya
(untuk array dimensi dua & tiga)
Array Dimensi Dua
![Page 37: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/37.jpg)
PEMETAAN (MAPPING)
ARRAY DIMENSI DUA KE STORAGE
Keterangan :
@M[i][j] = Posisi Array yg dicari, M[0][0] = Posisi alamat awal index
array,i = Baris, j = kolom, L = Ukuran memory type data
K = Banyaknya elemen per kolom, N = Banyaknya elemen per baris
Terbagi Dua cara pandang (representasi) yang berbeda :
1. Secara Kolom Per Kolom (Coloumn Major Order/CMO)
@M[i][j] = M[0][0] + {(j - 1) * K + (i - 1)} * L
2. Secara Baris Per Baris (Row Major Order / RMO)
@M[i][j] = M[0][0] + {(i - 1) * N + (j - 1)} * L
![Page 38: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/38.jpg)
Penggambaran secara logika
Misal : int M[3][2];
(Array dengan 3 Baris & 2 Kolom)
Berdasarkan Cara pandang :
1. Kolom Per Baris (Row Major Order / RMO)
M[0,0] M[0,1] M[1,0] M[1,1] M[2,0] M[2,1]
M[0,0] M[1,0] M[2,0] M[0,1] M[1,1] M[2,1]
2. Baris Per Kolom (Coloumn Major Order / CMO)
Jumlah elemen per baris = 2
Jumlah elemen per kolom = 3
0 1
0
1
2
![Page 39: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/39.jpg)
Contoh Pemetaan :
Suatu Array X dideklarasikan sebagai berikut :
Float X[4][3], dengan alamat index X[0][0] berada
di 0011(H) dan ukuran type data float = 4
Tentukan berapa alamat array X[3][2]
berdasarkan cara pandang baris dan kolom ?
0011(H)
?
0 1 2
0
1
2
3
index
index
![Page 40: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/40.jpg)
Lanjutan Contoh Pemetaan :
Penyelesaian :
Secara Baris Per Baris (Row Major Oder / RMO)
@M[i][j] = @M[0][0] + {(i - 1) * N + (j - 1)} * L
X[3][2] = 0011(H) + {(3 – 1) * 3 + (2 – 1)} * 4
= 0011(H) + 28 (D) 1C (H)
= 0011(H) + 1C (H)
= 002D(H)
![Page 41: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/41.jpg)
Lanjutan Contoh Pemetaan :
Penyelesaian :
Secara Kolom Per Kolom (Coloumn Major Oder / CMO)
@M[i][j] = @M[0][0] + {(j - 1) * K + (i - 1)} * L
X[3][2] = 0011(H) + {(2 – 1) * 4 + (3 – 1)} * 4
= 0011(H) + 24 (D) 18 (H)
= 0011(H) + 18 (H)
= 0029(H)
![Page 42: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/42.jpg)
Contoh program array dua dimensi
#include<stdio.h>
#include<conio.h>
main()
{
int a[3][5];
for (int i=0;i<3;i++)
{
for (int j=0;j<5;j++)
{
printf("%x ",&a[j][i]);
}
printf("\n");
}
getch();
}
![Page 43: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/43.jpg)
Contoh program array dua dimensi
#include<stdio.h>
#include<conio.h>
main()
{
int a[3][5];
for (int i=0;i<3;i++)
{
for (int j=0;j<5;j++)
{
printf("%x ",&a[i][j]);
}
printf("\n");
}
getch();
}
![Page 44: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/44.jpg)
Latihan :
1. Suatu array A dideklarasikan sbb :
int A[50] dengan alamat awal berada di
0011(H). Tentukan berapa alamat array A[20]
dan A[40]?
2. Suatu array X dideklarasikan sbb :
Float X[4][5] dengan alamat awal berada pada
0011(H). Tentukan berapa alamat array X[4][3],
berdasarkan cara pandang baris dan kolom?
![Page 45: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/45.jpg)
Latihan Soal Struktur Data
(Pertemuan 2)
1. Setiap elemen dari sebuah Array haruslah mempunyai type data yang sama, termasuk dalam karakteristik array yaitu :
a. Statis d. Heterogen
b. Dinamis e. Homogen
c. Terurut
2. Array yang sering digunakan dalam menterjemahkan matriks pada pemrograman, adalah array berdimensi :
a. Satu d. Satu dan Dua
b. Dua e. Satu dan Tiga
c. Tiga
![Page 46: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/46.jpg)
2. Array yang sering digunakan dalam menterjemahkan matriks pada pemrograman, adalah array berdimensi :
a. Satu d. Satu dan Dua
b. Dua e. Satu dan Tiga
c. Tiga
3. Contoh aplikasi array dimensi dua adalah…..
a. Input data suhu
b. Input nama hari
c. Input nilai mahasiswa perkelas dan matakuliah
d. Input nilai ipk mahasiswa
e. Input nama bulan
![Page 47: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/47.jpg)
3. Contoh aplikasi array dimensi dua adalah…..
a. Input data suhu
b. Input nama hari
c. Input nilai mahasiswa perkelas dan matakuliah
d. Input nilai ipk mahasiswa
e. Input nama bulan
4. Terdapat Array : A [5][4] maka jumlah elemen Array
tersebut adalah ……
a. 25 d. 15
b. 35 e. 20
c. 9
![Page 48: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/48.jpg)
4. Terdapat Array : A [5][4] maka jumlah elemen Array tersebut adalah ……
a. 25 d. 15
b. 35 e. 20
c. 9
5. Diketahui float A[5] dan lokasi awal terletak di alamat 00F(H), maka lokasi A[3] adalah …..
a. 00FC(H) d. 01B(H)
b. 017(H) e. 111(H)
c. 071(H)
![Page 49: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/49.jpg)
5. Diketahui float A[5] dan lokasi awal terletak di alamat 00F(H), maka lokasi A[3] adalah …..
a. 00FC(H) d. 01B(H)
b. 017(H) e. 111(H)
c. 071(H)
1. Setiap elemen dari sebuah Array haruslah
mempunyai type data yang sama, termasuk dalam karakteristik array yaitu :
a. Statis d. Heterogen
b. Dinamis e. Homogen
c. Terurut
![Page 50: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/50.jpg)
Pertemuan 3
ARRAY
DIMENSI BANYAK
![Page 51: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/51.jpg)
0
1
2
0 1 2 3 0
1
3. ARRAY DIMENSI TIGA
(Three Dimensional Array)
Digunakan untuk mengelola data dalam bentuk 3 dimensi
atau tiga sisi.
Deklarasi :
Type_Data Nama_Variabel [index1] [ndex2] [index3];
Misal : int A [3][4][2];
Penggambaran secara Logika :
![Page 52: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/52.jpg)
Menentukan jumlah elemen dalam Array dimensi 3 :
n
(index array)
i=1
= Perkalian dari statemen sebelumnya
Contoh :
Suatu Array X dideklarasikan sbb :
int A [3][4][2]; maka jumlah elemen Array dimensi tiga
tersebut adalah :
(3) * (4) * (2) = 24
![Page 53: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/53.jpg)
Rumus :
@M[m][n][p] = M[0][0][0] + {((m-1) *(jum.elemen2 *
jum.elemen3)) + ((n-1)*(jum.elemen 3)) +
((p-1)}* L
Contoh :
Suatu Array A dideklarasikan sebagai berikut :
int A [2][4][3], dengan alamat awal index A[0][0][0] berada di
0011(H) dan ukuran type data int = 2 Tentukan berapa alamat
array di A[2][3][2] ?
PEMETAAN (MAPPING)
ARRAY DIMENSI TIGA KE STORAGE
![Page 54: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/54.jpg)
Contoh Pemetaan :
Penyelesaian :
1.Tentukan jumlah elemen array A [2][4][3]
= (2) * (4) * (3) = 24
2.@M[m][n][p] = M[0][0][0] + {((m-1)
*(jum.elemen2 * jum.elemen3))
+ ((n-1)*(jum.elemen 3)) + ((p-1)}* L
A[2][3][2] = 0011(H) + {((2–1) * 4 * 3) + ((3-1) * 3)
+
(2-1)} * 2
= 0011(H) + {12 + 6 + 1 } * 2
= 0011(H) + 38 (D) 26 (H)
= 0011(H) + 26 (H)
= 0037(H)
![Page 55: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/55.jpg)
Contoh Program array dimensi 3 /*
*Judul Program : Array dimensi 3
*Bahasa Program : Bahasa C
*Pembuat Program : Hendro Pramana
Sinaga
*Tanggal Pembuatan : 5 Mei 2012
*/
#include <stdio.h>
#include <conio.h>
main()
{
char h=64, nama[5][4][22] = {
"AC
Milan","Barcelona","Porto","Monaco",
"Liverpool","Real Madrid","CSK
Moskow","PSG",
"Inter
Milan","Arsenal","Atletico
Madrid","Ajax",
"AS Roma","Manchester
United","Dortmund","Valencia",
"Manchester City","Bayern
Munich","Napoli","Vilareal"
};
printf("Liga Champions : \n\n");
for(i=0; i<5; i++)
{
++h;
printf("Grup %c \n", h);
for(s=0; s<4; s++)
{
printf(" %d. %s \n",
s+1, nama[i][s]);
}
printf("\n");
}
getch();
}
![Page 56: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/56.jpg)
Tampilan Program
![Page 57: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/57.jpg)
Tringular Array dapat merupakan Upper Tringular
(seluruh elemen di bawah diagonal utama = 0),
ataupun Lower Tringular (seluruh elemen di atas
diagonal utama = 0).
Dalam Array Lower Tringular dengan N baris, jumlah
maksimum elemen <> 0 pada baris ke-I adalah = I,
karenanya total elemen <> 0, tidak lebih dari
N
S I = N(N+1) / 2
I=1
TRINGULAR ARRAY
(ARRAY SEGITIGA)
![Page 58: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/58.jpg)
Gambar (a) Upper Triangular Array
(b) Lower Triangular Array
Contoh Tringular Array
![Page 59: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/59.jpg)
Contoh :
Diketahui suatu array segitiga atas memiliki 3 baris dan
kolom, tentukan berapakah jumlah elemen yang bukan nol
pada array tersebut.
I = N(N+1) / 2
I = 3 (3+1) / 2
= 12 / 2
= 6
10 20 30
0 40 50
0 0 60
5 10 15
0 20 25
0 0 30
Contoh bentuk array nya adalah seperti dibawah ini :
Dan lain-lain
Tringular Array (Lanjut)
![Page 60: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/60.jpg)
Suatu Array Upper Tringular dan Array Lower
Tringular dapat dengan order yang sama, dapat
disimpan sebagai suatu array dengan order yang
berbeda, Contohnya :
Tringular Array (Lanjut)
![Page 61: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/61.jpg)
Suatu Array yang sangat banyak elemen nol-nya,
contohnya adalah Array A pada Gambar berikut :
SPARSE ARRAY (ARRAY JARANG)
![Page 62: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/62.jpg)
Latihan
1. Suatu array A dideklarasikan sbb:
Float A[5][5][5] dengan alamat awal A[0][0][0] =
0021(H), berapakah alamat array A[2][3][2] dan
A[5][4][3]?
2. Suatu array B dideklarasikan sbb:
Char B[3][4][3] dengan alamat awal A[0][0][0] =
0021(H), berapakah alamat array A[2][3][2] dan
A[3][4][3]?
![Page 63: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/63.jpg)
1. Array yang sangat banyak elemen nol-nya, dikenal sebagai :
a. Upper tringular Array d. One Dimensional Array
b. Lower tringular Array e. Multi Dimensional Array
c. Sparse Array
2 Array yang seluruh elemen dibawah diagonal utamanya = 0, dikenal sebagai :
a. Upper tringular Array d. One Dimensional Array
b. Lower tringular Array e. Multi Dimensional Array
c. Sparse Array
Latihan Soal Struktur Data
(Pertemuan 3)
![Page 64: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/64.jpg)
2 Array yang seluruh elemen dibawah diagonal utamanya = 0, dikenal sebagai :
a. Upper tringular Array d. One Dimensional Array
b. Lower tringular Array e. Multi Dimensional Array
c. Sparse Array
3. Terdapat Array : A [3][4][5] maka jumlah elemen Array tersebut adalah ……
a. 25 d. 15
b. 35 e. 60
c. 12
![Page 65: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/65.jpg)
3. Terdapat Array : A [3][4][5] maka jumlah elemen Array
tersebut adalah ……
a. 25 d. 15
b. 35 e. 60
c. 12
4. Diketahui suatu array segitiga memiliki 4 baris dan
kolom. Jumlah elemen yang bukan nol pada array
segitiga tersebut adalah …..
a. 10 d. 16
b. 8 e. 20
c. 4
![Page 66: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/66.jpg)
4. Diketahui suatu array segitiga memiliki 4 baris dan kolom. Jumlah elemen yang bukan nol pada array segitiga tersebut adalah …..
a. 10 d. 16
b. 8 e. 20
c. 4
5. Deklarasi Array X adalah int A [2][4][5], dengan alamat awal index A[0][0][0] berada di 0021(H) dan ukuran type data int = 2 Tentukan berapa alamat array di A[2][2][2] ?
a. 0034(H) d. 0052(H)
b. 0022(H) e. 0034(H)
c. 0055(H)
![Page 67: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/67.jpg)
5. Deklarasi Array X adalah int A [2][4][5], dengan alamat awal index A[0][0][0] berada di 0021(H) dan ukuran type data int = 2 Tentukan berapa alamat array di A[2][2][2] ?
a. 0034(H) d. 0052(H)
b. 0022(H) e. 0034(H)
c. 0055(H)
1. Array yang sangat banyak elemen nol-nya, dikenal sebagai :
a. Upper tringular Array d. One Dimensional Array
b. Lower tringular Array e. Multi Dimensional Array
c. Sparse Array
![Page 68: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/68.jpg)
Pertemuan 4
SINGLE LINKED LIST (Non
Circular)
![Page 69: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/69.jpg)
KONSEP POINTER DAN LINKED LIST
Untuk mengolah data yang banyaknya tidak
bisa ditentukan sebelumnya, maka
disediakan satu fasilitas yang memungkinan
untuk menggunakan suatu perubah yang
disebut dengan perubah dinamis (Dinamic
variable)
Perubah Dinamis (Dinamic variable)
Suatu perubah yang akan dialokasikan
hanya pada saat diperlukan, yaitu setelah
program dieksekusi.
![Page 70: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/70.jpg)
Perbedaan Perubah Statis & Dinamis
Pada perubah statis, isi Memory pada lokasi tertentu
(nilai perubah) adalah data sesungguhnya yang akan
diolah. Pada perubah dinamis, nilai perubah adalah
alamat lokasi lain yang menyimpan data
sesungguhnya. Dengan demikian data yang
sesungguhnya dapat dimasukkan secara langsung.
Dalam hal cara pemasukkan data dapat diilustrasikan
seperti dibawah ini
![Page 71: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/71.jpg)
DEKLARASI POINTER
Pointer digunakan sebagai penunjuk ke suatu
alamat memori
Dalam pemrograman C++, Type Data Pointer
dideklarasikan dengan bentuk umum :
Type Data * Nama Variabel;
Type Data dapat berupa sembarang type data,
misalnya char, int atau float. Sedangkan Nama
veriabel merupakan nama variabel pointer
![Page 72: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/72.jpg)
Contoh penggunaan pointer dalam program C++:
Void main()
{
int x,y,*z;
x = 75; //nilai x = 75
y = x; //nilai y diambil dari nilai x
z = &x; //nilai z menunjuk kealamat pointer dari nilai
x
getch();
}
![Page 73: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/73.jpg)
LINKED LIST (LINKED LIST)
Salah satu Struktur Data Dinamis yang paling
sederhana adalah Linked List atau Struktur Berkait
atau Senarai Berantai, yaitu suatu kumpulan
komponen yang disusun secara berurutan dengan
bantuan Pointer.
Linked List (Senarai Berantai) disebut juga dengan
Senarai Satu Arah (One-Way List). Masing-masing
komponen dinamakan dengan Simpul (Node).
![Page 74: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/74.jpg)
Perbedaan Karakteristik
Array dan Linked List
![Page 75: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/75.jpg)
Setiap simpul dalam suatu Linked List terbagi menjadi dua
bagian,yaitu :
1. Medan Informasi
Berisi informasi yang akan disimpan dan diolah.
2. Medan Penyambung (Link Field)
Berisi alamat berikutnya. Bernilai 0, Jika Link tersebut
tidak menunjuk ke Data (Simpul) lainnya. Penunjuk ini
disebut Penunjuk Nol.
![Page 76: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/76.jpg)
Linked juga mengandung sebuah
variabel penunjuk List, yang biasanya diberi
nama START (AWAL), yang berisi alamat
dari simpul pertama dalam List.
LINKED LIST (LINKED LIST) Lanjutan
![Page 77: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/77.jpg)
Penyajian Linked List dalam Memory
![Page 78: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/78.jpg)
Penyajian Linked List dalam Memory Lanjutan)
![Page 79: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/79.jpg)
Bentuk Node
Single Linked List non Circular
• Single : field pointer-nya hanya satu dan satu arah,pada
akhir node pointernya menunjuk NULL
• Linked List : node-node tersebut saling terhubung satu
sama lain.
Menempati alamat memori tertentu
![Page 80: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/80.jpg)
Single Linked List Non Circular (Lanjutan)
Setiap node pada linked list mempunyai field
yang berisi pointer ke node berikutnya, dan
juga memiliki field yang berisi data.
Node terakhir akan menunjuk ke NULL yang
akan digunakan sebagai kondisi berhenti
pada saat pembacaan isi linked list.
![Page 81: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/81.jpg)
Pembuatan
Single Linked List non Circular
Deklarasi Node :
typedef struct TNode{
int data;
TNode *next;
};
Keterangan:
• Pembuatan struct bernama TNode yang berisi 2 field, yaitu field data bertipe integer dan field next yang bertipe pointer dari TNode
![Page 82: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/82.jpg)
Pembuatan Single Linked List non Circular Lanjutan
Setelah pembuatan struct, buat variabel head
yang bertipe pointer dari TNode yang
berguna sebagai kepala linked list.
Digunakan perintah new untuk
mempersiapkan sebuah node baru berserta
alokasi memorinya, kemudian node tersebut
diisi data dan pointer nextnya ditunjuk ke
NULL.
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
![Page 83: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/83.jpg)
Single Linked List non Circular
Menggunakan Head
• Dibutuhkan satu buah variabel pointer : head yang akan
selalu menunjuk pada node pertama
![Page 84: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/84.jpg)
Deklarasi Pointer Penunjuk Head Single Linked List
Manipulasi linked list tidak dapat dilakukan langsung ke node yang dituju, melainkan harus menggunakan suatu pointer penunjuk ke node pertama (Head) dalam linked list
Deklarasinya sebagai berikut:
TNode *head;
![Page 85: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/85.jpg)
Fungsi Inisialisasi Single Linked List
void init()
{
head = NULL;
}
Function untuk mengetahui kondisi Single Linked List
Jika pointer head tidak menunjuk pada suatu node maka kosong
int isEmpty()
{
if (head == NULL) return 1;
else return 0;
}
![Page 86: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/86.jpg)
Single Linked List Non Circular dengan Head
Menambah Node di Depan
Penambahan node baru akan dikaitan di node paling depan, namun pada saat pertama kali (data masih kosong), maka penambahan data dilakukan dengan cara: node head ditunjukkan ke node baru tersebut.
Prinsipnya adalah mengkaitkan node baru dengan head, kemudian head akan menunjuk pada data baru tersebut sehingga head akan tetap selalu menjadi data terdepan.
![Page 87: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/87.jpg)
Single Linked List Non Circular dengan Head
void insertDepan(int databaru)
{
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
if(isEmpty()==1)
{
head=baru;
head->next = NULL;
}
else
{
baru->next = head;
head = baru;
}
printf(”Data masuk\n”);
}
![Page 88: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/88.jpg)
Ilustrasi Penambahan Node Didepan
![Page 89: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/89.jpg)
Ilustrasi Penambahan node didepan (lanjutan)
![Page 90: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/90.jpg)
Single Linked List Non Circular dengan Head
Menambah Node di Belakang
Penambahan data dilakukan di belakang, namun pada saat pertama kali, node langsung ditunjuk oleh head.
Penambahan di belakang membutuhkan pointer bantu untuk mengetahui node terbelakang. Kemudian, dikaitkan dengan node baru.
Untuk mengetahui data terbelakang perlu digunakan perulangan.
![Page 91: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/91.jpg)
Single Linked List Non Circular dengan Head
void insertBelakang (int databaru)
{
TNode *baru,*bantu;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
if(isEmpty()==1) {
head=baru;
head->next = NULL;
}
else {
bantu=head;
while(bantu->next!=NULL){
bantu=bantu->next;
}
bantu->next = baru;
}
printf("Data masuk\n“);
}
![Page 92: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/92.jpg)
Ilustrasi Penambahan Node Dibelakang
![Page 93: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/93.jpg)
Ilustrasi Penambahan node di belakang
![Page 94: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/94.jpg)
Menghapus Node di Depan
• Penghapusan node tidak boleh dilakukan jika keadaan node sedang ditunjuk oleh pointer, maka harus dilakukan penggunakan suatu pointer lain (hapus) yang digunakan untuk menunjuk node yang akan dihapus, barulah kemudian menghapus pointer hapus dengan menggunakan perintah delete.
• Sebelum data terdepan dihapus, terlebih dahulu head harus menunjuk ke node berikutnya agar list tidak putus, sehingga node setelah head lama akan menjadi head baru
• Jika head masih NULL maka berarti data masih kosong!
![Page 95: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/95.jpg)
Menghapus Node Di depan
void hapusDepan ()
{
TNode *hapus;
int d;
if (isEmpty()==0){
if(head->next != NULL){
hapus = head;
d = hapus->data;
head = head->next;
delete hapus;
} else {
d = head->data;
head = NULL;
}
printf(“%d terhapus\n“,d);
} else cout<<"Masih kosong\n";
}
![Page 96: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/96.jpg)
Ilustrasi menghapus node di depan
![Page 97: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/97.jpg)
Menghapus Node di Belakang
• Membutuhkan pointer bantu dan hapus. Pointer hapus
digunakan untuk menunjuk node yang akan dihapus,
pointer bantu untuk menunjuk node sebelum node yang
dihapus yang akan menjadi node terakhir.
• Pointer bantu digunakan untuk menunjuk ke nilai NULL.
Pointer bantu selalu bergerak sampai sebelum node
yang akan dihapus, kemudian pointer hapus diletakkan
setelah pointer bantu. Selanjutnya pointer hapus akan
dihapus, pointer bantu akan menunjuk ke NULL.
![Page 98: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/98.jpg)
Menghapus Node di Belakang
void hapusBelakang(){
TNode *hapus,*bantu;
int d;
if (isEmpty()==0){
if(head->next != NULL){
bantu = head;
while(bantu->next->next!=NULL){
bantu = bantu->next;
}
hapus = bantu->next;
d = hapus->data;
bantu->next = NULL;
delete hapus;
} else {
d = head->data;
head = NULL;
}
printf(“%d terhapus\n“,d);
} else printf(“Masih kosong\n“);
}
![Page 99: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/99.jpg)
Ilustrasi menghapus node di belakang
![Page 100: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/100.jpg)
Function untuk menghapus semua elemen
Linked List
void clear()
{
TNode *bantu,*hapus;
bantu = head;
while(bantu!=NULL)
{
hapus = bantu;
bantu = bantu->next;
delete hapus;
}
head = NULL;
}
![Page 101: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/101.jpg)
Menampilkan / Membaca
Isi Linked List
• Linked list ditelusuri satu-persatu dari awal sampai akhir node. Penelusuran dilakukan dengan menggunakan pointer bantu, karena pointer head yang menjadi tanda awal list tidak boleh berubah/berganti posisi.
• Penelusuran dilakukan terus sampai ditemukan node terakhir yang menunjuk ke nilai NULL.
Jika tidak NULL, maka node bantu akan berpindah ke node selanjutnya dan membaca isi datanya dengan menggunakan field next sehingga dapat saling berkait.
• Jika head masih NULL berarti data masih kosong!
![Page 102: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/102.jpg)
Menampilkan / Membaca
Isi Linked List
void tampil(){
TNode *bantu;
bantu = head;
if(isEmpty()==0){
while(bantu!=NULL){
cout<<bantu->data<<" ";
bantu=bantu->next;
}
printf(“\n”);
} else printf(“Masih kosong\n“);
}
![Page 103: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/103.jpg)
Single Linked List non Circular Menggunakan Head
dan Tail
Dibutuhkan dua variabel pointer : head dan tail
Head selalu menunjuk pada node pertama, sedangkan tail selalu menunjuk pada node terakhir.
Kelebihan dari Single Linked List dengan Head & Tail adalah pada penambahan data di belakang, hanya dibutuhkan tail yang mengikat node baru saja tanpa harus menggunakan perulangan pointer bantu.
![Page 104: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/104.jpg)
Single Linked List non Circular Menggunakan Head
dan Tail
Inisialisasi Linked List
TNode *head, *tail;
Fungsi Inisialisasi Linked List
void init(){
head = NULL;
tail = NULL;
}
Function untuk mengetahui kondisi LinkedList kosong / tidak
int isEmpty(){
if(tail == NULL) return 1;
else return 0;
}
![Page 105: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/105.jpg)
void insertDepan(int databaru){
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
if(isEmpty()==1){
head=tail=baru;
tail->next=NULL;
}
else {
baru->next = head;
head = baru;
}
printf(”Data masuk\n”);
}
Menambah Node di depan dengan Haid dan Tail
![Page 106: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/106.jpg)
Ilustrasi penambahan node didepan dengan Head
dan Tail
![Page 107: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/107.jpg)
Ilustrasi Penambahan node di depan dengan Head
dan Tail
![Page 108: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/108.jpg)
Menambah Node di Belakang
Dengan Head dan Tail
void tambahBelakang(int databaru){
TNode *baru,*bantu;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
if(isEmpty()==1){
head=baru;
tail=baru;
tail->next = NULL;
}
else {
tail->next = baru;
tail=baru;
}
printf("Data masuk\n“);
}
![Page 109: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/109.jpg)
Ilustrasi penambahan node di depan dengan Head
dan Tail
![Page 110: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/110.jpg)
Ilustrasi Penamabahan node di depan dengan Head
dan Tail
![Page 111: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/111.jpg)
Menghapus Node di Depan (Dengan Head dan Tail)
Penghapusan node tidak boleh dilakukan jika
keadaan node sedang ditunjuk oleh pointer,
maka harus dilakukan penunjukkan terlebih
dahulu dengan pointer hapus pada head,
kemudian dilakukan pergeseran head ke
node berikutnya sehingga data setelah head
menjadi head baru, kemudian menghapus
pointer hapus dengan menggunakan perintah
delete.
Jika tail masih NULL maka berarti list masih
kosong!
![Page 112: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/112.jpg)
Menghapus Node didepan dengan Head dan Tail
void hapusDepan(){
TNode *hapus;
int d;
if (isEmpty()==0){
if(head!=tail){
hapus = head;
d = hapus->data;
head = head->next;
delete hapus;
} else {
d = tail->data;
head=tail=NULL;
}
printf(“%d terhapus\n“,d);
} else printf("Masih kosong\n“);
}
![Page 113: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/113.jpg)
Ilustrasi menghapus node didepan dengan Head
dan Tail
![Page 114: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/114.jpg)
Menghapus Node di Belakang (Dengan Head dan
Tail)
Penghapusan node tidak boleh dilakukan jika keadaan node sedang ditunjuk oleh pointer, maka harus dilakukan penunjukkan terlebih dahulu dengan variabel hapus pada tail. Jika tail masih NULL maka berarti list masih kosong!
Dibutuhkan pointer bantu untuk membantu pergeseran dari head ke node berikutnya sampai sebelum tail, sehingga tail dapat ditunjukkan ke bantu, dan bantu tersebut akan menjadi tail yang baru.
Setelah itu hapus pointer hapus dengan menggunakan perintah delete.
![Page 115: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/115.jpg)
Menghapus Node dibelakang dengan Head dan Tail void hapusBelakang(){
TNode *bantu,*hapus;
int d;
if (isEmpty()==0){
bantu = head;
if(head!=tail){
while(bantu->next!=tail){
bantu = bantu->next;
}
hapus = tail;
tail=bantu;
d = hapus->data;
delete hapus;
tail->next = NULL;
}else {
d = tail->data;
head=tail=NULL;
}
cout<<d<<" terhapus\n";
} else cout<<"Masih kosong\n";
}
![Page 116: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/116.jpg)
null
Ilustrasi Menghapus node di belakang
![Page 117: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/117.jpg)
Function untuk menghapus semua elemen
LinkedList dengan HEAD & TAIL
void clear()
{
TNode *bantu,*hapus;
bantu = head;
while(bantu!=NULL)
{
hapus = bantu;
bantu = bantu->next;
delete hapus;
}
head = NULL;
tail = NULL;
}
![Page 118: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/118.jpg)
Latihan Soal I Struktur Data
(Pertemuan 4)
1. Diketahui suatu deklarasi variabel int x,y,*z;
variabel yang merupakan penunjuk ke pointer adalah :
a. x d. x dan y
b. y e. x, y dan z
c. z
2. Perintah yang tepat untuk mempersiapkan sebuah node baru berserta alokasi memorinya, adalah ….
a. Create d. New
b. Null e. Insert
c. Input
![Page 119: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/119.jpg)
2. Perintah yang tepat untuk mempersiapkan sebuah node baru berserta alokasi memorinya, adalah ….
a. Create d. New
b. Null e. Insert
c. Input
3. Jika Tail = Null, maka kondisi Linked List adalah :
a. Penuh d. Tidak dapat ditambah
b. Kosong e. Baru
c. Terisi
![Page 120: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/120.jpg)
3. Jika Tail = Null, maka kondisi Linked List adalah :
a. Penuh d. Tidak dapat ditambah
b. Kosong e. Baru
c. Terisi
4.
Gambar diatas menunjukkan bentuk penghapusan node pada posisi :
a. Belakang d. Tengah dan Depan
b. Depan e. Depan dan Belakang
c. Tengah
![Page 121: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/121.jpg)
4.
Gambar diatas menunjukkan bentuk penambahan node pada posisi :
a. Belakang d. Tengah dan Depan
b. Depan e. Depan dan Belakang
c. Tengah
5. Perintah yang tepat untuk menyatakan Linked list berada dalam kondisi kosong, adalah ….
a. head=tail d. bantu=head
b. head=tail=null e. bantu=tail
c. bantu=null
![Page 122: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/122.jpg)
5. Perintah yang tepat untuk menyatakan Linked list berada dalam kondisi kosong, adalah ….
a. head=tail d. bantu=head
b. head=tail=null e. bantu=tail
c. bantu=null
1. Diketahui suatu deklarasi variabel int x,y,*z;
variabel yang merupakan penunjuk ke pointer adalah :
a. x d. x dan y
b. y e. x, y dan z
c. z
![Page 123: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/123.jpg)
Latihan II Soal Struktur Data
(Review Materi Pertemuan 4)
Dikumpulkan pada pertemuan selanjutnya
Buatlah Ilustrasi / Penggambaran untuk
menambah dan menghapus node di posisi tengah
pada :
1. Single Linked List dengan Head
2. Single Linked List dengan Head & Trail
![Page 124: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/124.jpg)
Pertemuan 5
STACK atau TUMPUKAN
![Page 125: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/125.jpg)
Merupakan bentuk khusus dari Linier List yang pemasukan
dan penghapusan elemennya hanya dapat dilakukan pada
satu posisi, yaitu posisi akhir dari List (Top)
Prinsip Stack adalah LAST-IN-FIRST-OUT (LIFO).
STACK (TUMPUKAN)
Klik untuk
Ilustrasi Stack
![Page 126: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/126.jpg)
• ISEMPTY
Untuk memeriksa apakah stack kosong
• ISFULL
Untuk memeriksa apakah stack sudah penuh
• PUSH
Untuk menambahkan item pada posisi paling atas
(TOP)
• POP
Untuk menghapus item paling atas (TOP)
• CLEAR
Untuk mengosongkan stack
OPERASI STACK
![Page 127: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/127.jpg)
Deklarasi MAX_STACK
#define MAX_STACK 5
Deklarasi STACK dengan struct dan array data
typedef struct STACK{
int top;
int data[5];
};
Deklarasi variabel stack dari struct
STACK tumpuk;
STACK PADA ARRAY
![Page 128: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/128.jpg)
TOP = -1
MAX_STACK 4
3
2
1
0
void inisialisasi ()
{
tumpuk.top = -1
}
Inisialisasi
• Pada mulanya isi top dengan -1,
karena array dalam C/C++ dimulai
dari 0, berarti stack adalah KOSONG
• TOP adalah variabel penanda dalam
STACK yang menunjukkan elemen
teratas Stack.
• TOP of STACK akan selalu bergerak
hingga mencapai MAX of STACK
sehingga menyebabkan stack
PENUH
![Page 129: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/129.jpg)
Fungsi IsEmpty
• Digunakan untuk memeriksa apakah stack masih dalam kondisi kosong
• Dengan cara memeriksa
TOP of STACK. Jika TOP masih = -1
maka berarti stack masih kosong
int IsEmpty ()
{
if (tumpuk.top == -1
return 1;
else
return 0;
}
4
3
2
1
0
TOP = -1
MAX_STACK
![Page 130: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/130.jpg)
Fungsi IsFull
• Digunakan untuk memeriksa apakah kondisi stack
sudah penuh
• Dengan cara memeriksa TOP of Stack.
Jika TOP of STACK = MAX_STACK-1 maka FULL
(Penuh).
Jika TOP of STACK < MAX_STACK-1 maka belum
penuh
![Page 131: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/131.jpg)
Fungsi isFull
E
D
C
B
A
4
3
2
1
0
TOP = 4
MAX_STACK
int IsFull ()
{
if (tumpuk.top == MAX_STACK-
1
return 1;
else
return 0;
}
![Page 132: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/132.jpg)
Fungsi PUSH
• Digunakan untuk memasukkan elemen ke dalam stack
dan selalu menjadi elemen teratas stack
• Dengan cara :
1. Menambah satu (increment) nilai TOP of
STACK setiap ada penambahan elemen
stack selama stack masih belum penuh
2. Isikan nilai baru ke stack berdasarkan indeks TOP
of STACK setelah ditambah satu (diincrement)
![Page 133: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/133.jpg)
Fungsi Push
4
3
2
1
0
TOP = -1
MAX_STACK
void push (char d[5])
{
tumpuk.top++
strcpy(tumpuk.data[tumpuk.top],d);
}
A
4
3
2
1
0 TOP = TOP + 1
= -1 + 1
= 0
MAX_STACK
PUSH ELEMEN A
![Page 134: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/134.jpg)
Fungsi POP
• Digunakan untuk menghapus elemen yang berada pada
posisi paling atas dari stack.
• Dengan cara :
1. Ambil dahulu nilai elemen teratas stack dengan
mengakses TOP of STACK.
2. Tampilkan nilai yang akan diambil.
3. Lakukan decrement nilai TOP of STACK
sehingga jumlah elemen stack berkurang 1
![Page 135: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/135.jpg)
Fungsi POP
B
A
4
3
2
1
0
void pop ()
{
printf(“Data yg di POP = %s\n”, tumpuk.data[tumpuk.top]);
tumpuk.top--;
}
C
B
A
4
3
2
1
0
TOP = 2
MAX_STACK Data yg di POP = C
TOP = TOP - 1
= 2 - 1
= 1
![Page 136: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/136.jpg)
Fungsi CLEAR
• Digunakan untuk mengosongkan stack / membuat stack
hampa sehingga Top pada Stack berada kembali di
posisi Top = -1
void clear ()
{
tumpuk.data=tumpuk.top=-1
printf(“Data clear”);
}
4
3
2
1
0
![Page 137: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/137.jpg)
Diketahui suatu stack dgn max_stack = 6
1. Bila dilakukan PUSH 3 elemen kedalam stack, kemudian di PUSH lagi 2 elemen dan di POP 3 elemen. Maka dimana posisi Top of Stack ?
2. IsEmpty pada kondisi terakhir adalah ?
3. Dari kondisi diatas, Berapa elemen yg hrs di PUSH unt mencapai kondisi penuh Top of Stack = max_stack ?
4. Berapa elemen yg hrs di POP unt mencapai kondisi IsEmpty = True
Latihan I Struktur Data
(Pertemuan 5)
Jawaban dibahas dgn
menggunakan contoh program
![Page 139: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/139.jpg)
Latihan Soal II
Struktur Data (Pertemuan 5)
1. Operasi Stack yang digunakan untuk memeriksa apakah stack sudah penuh, adalah ….. a. PUSH d. ISEMPTY
b. POP e. ISFULL
c. CLEAR
2. Menambah satu (increment) nilai TOP of STACK setiap ada penambahan elemen stack selama stack masih belum penuh, merupakan langkah awal pada operasi STACK yaitu …..
a. PUSH d. ISEMPTY
b. POP e. ISFULL
c. CLEAR
![Page 140: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/140.jpg)
2. Menambah satu (increment) nilai TOP of STACK setiap ada penambahan elemen stack selama stack masih belum penuh, merupakan langkah awal pada operasi STACK …..
a. PUSH d. ISEMPTY
b. POP e. ISFULL
c. CLEAR
3. Jika pada stack terdapat kondisi TOP of STACK = MAX_STACK - 1 maka stack berada dalam keadaan ...
a. ISEMPTY d. RETREIVE b. CLEAR e. FULL c. TOP
![Page 141: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/141.jpg)
3. Jika pada stack terdapat kondisi TOP of STACK = MAX_STACK - 1 maka stack berada dalam keadaan ...
a. ISEMPTY d. RETREIVE b. CLEAR e. FULL c. TOP
4. Pada saat awal, Top of Stack selalu bernilai :
a. Top = 0 d. Top = Max_Stack
b. Top = 1 e. Top = Max_Stack - 1
c. Top = -1
![Page 142: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/142.jpg)
4. Pada saat awal, Top of Stack selalu bernilai :
a.Top = 0 d. Top = Max_Stack
b. Top = 1 e. Top = Max_Stack - 1
c. Top = -1
5. Diberikan perintah/instruksi pada program C++, yaitu tumpuk.top++; Maksud dari perintah/instruksi tersebut adalah ….
a. Top = Top + 1 d. Top = - 1
b. Top = Top - 1 e. Top = 1
c. Top = 0
![Page 143: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/143.jpg)
5. Diberikan perintah/instruksi pada program C++, yaitu tumpuk.top++; Maksud dari perintah/instruksi tersebut adalah ….
a. Top = Top + 1 d. Top = - 1
b. Top = Top - 1 e. Top = 1
c. Top = 0
1. Operasi Stack yang digunakan untuk memeriksa
apakah stack sudah penuh, adalah ….. a. PUSH d. ISEMPTY
b. POP e. ISFULL
c. CLEAR
![Page 144: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/144.jpg)
Pertemuan 6
QUEUE (ANTREAN)
![Page 145: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/145.jpg)
Struktur Data Antrean (Queue) adalah suatu bentuk
khusus dari List Linier dengan operasi pemasukan data
hanya diperbolehkan pada salah satu sisi, yang disebut
sisi Belakang / ekor (Tail) dan operasi penghapusan
hanya diperbolehkan pada sisi lainnya yang disebut sisi
Depan / kepala (Head) dari LinkedList.
Prinsip Antrean : FIFO (First In First Out)
FCFS (First Come First Serve)
“Yang Tiba lebih awal Maka akan dilayani Terlebih
Dahulu”
PENGERTIAN QUEUE
(ANTREAN)
![Page 146: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/146.jpg)
Deklarasi Queue
0 1 2 3 4 5 6 7 Max = 8
head = -1
tail = -1
![Page 147: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/147.jpg)
• CREATE
Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail = -1
• ISEMPTY
Untuk memeriksa apakah queue kosong
• ISFULL
Untuk memeriksa apakah queue sudah penuh
• ENQUEUE
Untuk menambahkan item pada posisi paling belakang
• DEQUEUE
Untuk menghapus item dari posisi paling depan
• CLEAR
Untuk mengosongkan queue
OPERASI QUEUE
![Page 148: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/148.jpg)
Digunakan untuk membentuk dan menunjukan awal
terbentuknya suatu Antrean / Queue
0 1 2 3 4 5 6 7 Max = 8
head = -1
tail = -1
Antrian pertama kali
Void Create()
{
antrian.head = antrian.tail = -1
}
Fungsi Create
![Page 149: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/149.jpg)
Fungsi IsEmpty
• Untuk memeriksa apakah Antrian penuh atau
kosong
• Dengan cara memeriksa nilai Tail, jika Tail = -1
maka antrian kosong (empty)
• Head adalah tanda untuk kepala antrian
(elemen pertama dalam antrian) yang
tidak akan berubah-ubah
• Pergerakan pada Antrian terjadi dengan
penambahan elemen Antrian kebelakang,
yaitu menggunakan nilai Tail
![Page 150: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/150.jpg)
0 1 2 3 4 5 6 7 Max = 8
head = -1
tail = -1
Antrian kosong
Karena tail = -1
Int IsEmpty()
{
if (antrian.tail == -1)
return 1;
else
return 0;
}
Fungsi IsEmpty
![Page 151: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/151.jpg)
Fungsi IsFull
Untuk mengecek apakah Antrian sudah penuh atau
belum
Dengan cara :
- Mengecek nilai Tail
- Jika tail = MAX-1 berarti antrian sudah penuh
(MAX-1 adalah batas elemen array dalam
program C++)
![Page 152: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/152.jpg)
5 10 35 20 15 30 40 25
0 1 2 3 4 5 6 7 Max = 8
head = 0 Antrian penuh karena
Head = 0
tail = max - 1
tail = 7
Int IsFull()
{
if (antrian.tail == Max-1)
return 1;
else
return 0;
}
Fungsi IsFull
![Page 153: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/153.jpg)
Fungsi Enqueue
• Untuk menambahkan elemen ke dalam Antrian,
penambahan elemen selalu dilakukan pada
elemen paling belakang
• Penambahan elemen selalu menggerakan variabel
Tail dengan cara menambahkan Tail terlebih dahulu
![Page 154: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/154.jpg)
Fungsi Enqueue
![Page 155: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/155.jpg)
Fungsi Dequeue
• Digunakan untuk menghapus elemen terdepan (head) dari Antrian
• Dengan cara : menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1. Penggeseran dilakukan dengan menggunakan looping
![Page 156: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/156.jpg)
Fungsi Dequeue
![Page 157: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/157.jpg)
Fungsi Clear
• Untuk menghapus elemen-elemen Antrian dengan
cara membuat Tail dan Head = -1
• Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca sehingga mengembalikan antrian seperti keadaan semula
![Page 158: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/158.jpg)
Antrian setelah di lakukan Clear
0 1 2 3 4 5 6 7 Max = 8
head = -1
tail = -1
Antrian kosong
Karena tail = -1
Fungsi Clear
![Page 159: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/159.jpg)
Berikan gambaran/ilustrasi dari kasus antrian berikut :
a) Diketahui suatu Antrian/queue dgn max = 6.
b) Lakukan Enqueue 4 elemen ke dalam antrian, dimanakah posisi Head dan Tail ?
c) Kemudian lakukan Dequeue 2 elemen dari antrian. Maka dimana posisi Head dan Tail ?
d) Dari keadaan diatas, bagaimanakah kondisi IsFull dan IsEmpty nya ?
Latihan I Struktur Data
(Pertemuan 6)
Jawaban dibahas dgn
menggunakan contoh program
![Page 161: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/161.jpg)
Latihan Soal II Struktur Data
(Pertemuan 6)
1. Operasi pada Antrian yang digunakan untuk menambahkan item pada posisi paling belakang, adalah …
a. Create d. Enqueue
b. Clear e. Dequeue
c. Tail
2. Perintah IsFull pada antrian digunakan untuk :
a. Memeriksa apakah antrian sudah penuh
b. Memeriksa apakah Antrian penuh atau kosong
c. Menambahkan elemen ke dalam Antrian
d. Menghapus elemen dari dalam Antrian
e. Memeriksa apakah antrian sudah kosong
![Page 162: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/162.jpg)
2. Perintah IsFull pada antrian digunakan untuk :
a. Memeriksa apakah antrian sudah penuh
b. Memeriksa apakah Antrian penuh atau kosong
c. Menambahkan elemen ke dalam Antrian
d. Menghapus elemen dari dalam Antrian
e. Memeriksa apakah antrian sudah kosong
3. Yang tidak termasuk dalam operasi antrian, adalah ...
a. Clear d. Push
b. Enqueue e. Dequeue
c. IsFull
![Page 163: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/163.jpg)
3. Yang tidak termasuk dalam operasi antrian, adalah ...
a. Clear d. Push
b. Enqueue e. Dequeue
c. IsFull
4. Menghapus elemen dari antrian dilakukan dari posisi :
a. Tengah / Middle d. Belakang / Tail
b. Depan / Head e. Atas / Top
c. Bawah / bottom
![Page 164: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/164.jpg)
4. Menghapus elemen dari antrian dilakukan dari posisi :
a. Tengah / Middle d. Belakang / Tail
b. Depan / Head e. Atas / Top
c. Bawah / bottom
5. Maksud dari perintah program antrian.head=antrian.tail=-1; adalah untuk ......
a. Menambah elemen antrian
b Mengecek kondisi antrian kosong atau tidak
c. Mengecek kondisi antrian penuh atau tidak
d. Membentuk atau menghapus semua elemen antrian
e. Menghapus elemen antrian
![Page 165: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/165.jpg)
5. Maksud dari perintah program antrian.head=antrian.tail=-1; adalah untuk ......
a. Menambah elemen antrian
b Mengecek kondisi antrian kosong atau tidak
c. Mengecek kondisi antrian penuh atau tidak
d. Membentuk atau menghapus semua elemen antrian
e. Menghapus elemen antrian
1. Operasi pada Antrian yang digunakan untuk menambahkan item pada posisi paling belakang, adalah …
a. Create d. Enqueue
b. Clear e. Dequeue
c. Tail
![Page 166: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/166.jpg)
Pertemuan 7
REVIEW & QUIS
![Page 167: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/167.jpg)
1. Type data dibawah ini, yang tidak termasuk dalam tipe
data sederhana tunggal, adalah :
a. Boolean d. Integer
b. String e. float
c. Char
2. ==, <=, >=, !=, termasuk dalam operator …
a. Aritmatika d. Relasi
b. Unary e. Bitwise
c. Binary
![Page 168: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/168.jpg)
2. ==, <=, >=, !=, termasuk dalam operator …
a. Aritmatika d. Relasi
b. Unary e. Bitwise
c. Binary
3. Type data yang menghasilkan bentuk keluaran nilai
True dan False (Benar dan Salah) , adalah :
a. Boolean d. Integer
b. String e. float
c. Char
![Page 169: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/169.jpg)
3. Type data yang menghasilkan bentuk keluaran
nilai True dan False (Benar dan Salah) , adalah :
a. Boolean d. Integer
b. String e. float
c. Char
4. void main()
{ ....(a).... x,y,z; clrscr(); cout <<“\n input nilai X=“; cin >> x; cout <<“\n input nilai Y=“; cin >> y; z = x + y; cout <<“\n hasil penjumlahan =“ << z; getch(); }
Tipe data yang tepat untuk (a) adalah ….
a. Boolean d. Integer
b. String e. Array
c. Char
![Page 170: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/170.jpg)
4. void main() { ....(a).... x,y,z; clrscr(); cout <<“\n input nilai X=“; cin >> x; cout <<“\n input nilai Y=“; cin >> y; z = x + y; cout <<“\n hasil penjumlahan =“ << z; getch(); }
Tipe data yang tepat untuk (a) adalah ….
a. Boolean d. Integer
b. String e. Array
c. Char
![Page 171: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/171.jpg)
5. void main() { int r = 10; int s; clrscr(); s = 10 + ++r; cout <<“r = “<< r << ‘\n’; cout <<“s = “<< s << ‘\n’;
getch(); }
Hasil eksekusi dari program diatas adalah ….
a. r = 11, s = 21 d. r = 10, s = 21
b. r = 11, s = 20 e. r = 10, s = 20
c. r = 12, s = 21
![Page 172: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/172.jpg)
5. void main()
{ int r = 10; int s; clrscr(); s = 10 + ++r; cout <<“r = “<< r << ‘\n’; cout <<“s = “<< s << ‘\n’; getch(); }
Hasil eksekusi dari program diatas adalah ….
a. r = 11, s = 21 d. r = 10, s = 21
b. r = 11, s = 20 e. r = 10, s = 20
c. r = 12, s = 21
6. Setiap elemen dari sebuah Array haruslah mempunyai type data yang sama, termasuk dalam karakteristik array yaitu :
a. Statis d. Heterogen b. Dinamis e. Homogen c. Terurut
![Page 173: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/173.jpg)
6. Setiap elemen dari sebuah Array haruslah mempunyai type data yang sama, termasuk dalam karakteristik array yaitu :
a. Statis d. Heterogen
b. Dinamis e. Homogen
c. Terurut
7. Array yang sering digunakan dalam menterjemahkan matriks pada pemrograman, adalah array berdimensi :
a. Satu d. Satu dan Dua
b. Dua e. Satu dan Tiga
c. Tiga
![Page 174: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/174.jpg)
7. Array yang sering digunakan dalam menterjemahkan matriks pada pemrograman, adalah array berdimensi :
a. Satu d. Satu dan Dua
b. Dua e. Satu dan Tiga
c. Tiga
8. Contoh aplikasi array dimensi dua adalah…..
a. Input data suhu
b. Input nama hari
c. Input nilai mahasiswa perkelas dan matakuliah
d. Input nilai ipk mahasiswa
e. Input nama bulan
![Page 175: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/175.jpg)
8. Contoh aplikasi array dimensi dua adalah…..
a. Input data suhu
b. Input nama hari
c. Input nilai mahasiswa perkelas dan matakuliah
d. Input nilai ipk mahasiswa
e. Input nama bulan
9. Terdapat Array : A [5][4] maka jumlah elemen Array
tersebut adalah ……
a. 25 d. 15
b. 35 e. 20
c. 9
![Page 176: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/176.jpg)
9. Terdapat Array : A [5][4] maka jumlah elemen Array tersebut adalah ……
a. 25 d. 15
b. 35 e. 20
c. 9
10. Diketahui float A[5] dan lokasi awal terletak di alamat 00F(H), maka lokasi A[3] adalah …..
a. 00FC(H) d. 01B(H)
b. 017(H) e. 111(H)
c. 071(H)
![Page 177: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/177.jpg)
11. Array yang sangat banyak elemen nol-nya, dikenal sebagai :
a. Upper tringular Array d. One Dimensional Array
b. Lower tringular Array e. Multi Dimensional Array
c. Sparse Array
10. Diketahui float A[5] dan lokasi awal terletak di alamat 00F(H), maka lokasi A[3] adalah …..
a. 00FC(H) d. 01B(H) b. 017(H) e. 111(H) c. 071(H)
![Page 178: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/178.jpg)
11. Array yang sangat banyak elemen nol-nya, dikenal sebagai :
a. Upper tringular Array d. One Dimensional Array
b. Lower tringular Array e. Multi Dimensional Array
c. Sparse Array
12 Array yang seluruh elemen dibawah diagonal utamanya = 0, dikenal sebagai :
a. Upper tringular Array d. One Dimensional Array
b. Lower tringular Array e. Multi Dimensional Array
c. Sparse Array
![Page 179: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/179.jpg)
12 Array yang seluruh elemen dibawah diagonal utamanya = 0, dikenal sebagai :
a. Upper tringular Array d. One Dimensional Array
b. Lower tringular Array e. Multi Dimensional Array
c. Sparse Array
13. Terdapat Array : A [3][4][5] maka jumlah elemen Array tersebut adalah ……
a. 25 d. 15
b. 35 e. 60
c. 12
![Page 180: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/180.jpg)
13. Terdapat Array : A [3][4][5] maka jumlah elemen Array
tersebut adalah ……
a. 25 d. 15
b. 35 e. 60
c. 12
14. Diketahui suatu array segitiga memiliki 4 baris dan
kolom. Jumlah elemen yang bukan nol pada array
segitiga tersebut adalah …..
a. 10 d. 16
b. 8 e. 20
c. 4
![Page 181: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/181.jpg)
14. Diketahui suatu array segitiga memiliki 4 baris dan kolom. Jumlah elemen yang bukan nol pada array segitiga tersebut adalah …..
a. 10 d. 16
b. 8 e. 20
c. 4
15. Deklarasi Array X adalah int A [2][4][5], dengan alamat awal index A[0][0][0] berada di 0021(H) dan ukuran type data int = 2 Tentukan berapa alamat array di A[2][2][2] ?
a. 0034(H) d. 0052(H)
b. 0022(H) e. 0034(H)
c. 0055(H)
![Page 182: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/182.jpg)
15. Deklarasi Array X adalah int A [2][4][5], dengan alamat awal index A[0][0][0] berada di 0021(H) dan ukuran type data int = 2 Tentukan berapa alamat array di A[2][2][2] ?
a. 0034(H) d. 0052(H)
b. 0022(H) e. 0034(H)
c. 0055(H) 16. Diketahui suatu deklarasi variabel int x,y,*z;
variabel yang merupakan penunjuk ke pointer adalah :
a. x d. x dan y
b. y e. x, y dan z
c. z
![Page 183: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/183.jpg)
16. Diketahui suatu deklarasi variabel int x,y,*z;
variabel yang merupakan penunjuk ke pointer adalah :
a. x d. x dan y
b. y e. x, y dan z
c. z
17. Perintah yang tepat untuk mempersiapkan sebuah node baru berserta alokasi memorinya, adalah ….
a. Create d. New
b. Null e. Insert
c. Input
![Page 184: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/184.jpg)
17. Perintah yang tepat untuk mempersiapkan sebuah node baru berserta alokasi memorinya, adalah ….
a. Create d. New
b. Null e. Insert
c. Input
18. Jika Tail = Null, maka kondisi Linked List adalah :
a. Penuh d. Tidak dapat ditambah
b. Kosong e. Baru
c. Terisi
![Page 185: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/185.jpg)
18. Jika Tail = Null, maka kondisi Linked List adalah :
a. Penuh d. Tidak dapat ditambah
b. Kosong e. Baru
c. Terisi
19.
Gambar diatas menunjukkan bentuk penghapusan node pada posisi :
a. Belakang d. Tengah dan Depan
b. Depan e. Depan dan Belakang
c. Tengah
![Page 186: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/186.jpg)
19.
Gambar diatas menunjukkan bentuk penambahan node pada posisi :
a. Belakang d. Tengah dan Depan
b. Depan e. Depan dan Belakang
c. Tengah
20. Perintah yang tepat untuk menyatakan Linked list berada dalam kondisi kosong, adalah ….
a. head=tail d. bantu=head
b. head=tail=null e. bantu=tail
c. bantu=null
![Page 187: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/187.jpg)
20. Perintah yang tepat untuk menyatakan Linked list berada dalam kondisi kosong, adalah ….
a. head=tail d. bantu=head
b. head=tail=null e. bantu=tail
c. bantu=null
21. Operasi Stack yang digunakan untuk memeriksa
apakah stack sudah penuh, adalah ….. a. PUSH d. ISEMPTY
b. POP e. ISFULL
c. CLEAR
![Page 188: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/188.jpg)
21. Operasi Stack yang digunakan untuk memeriksa apakah stack sudah penuh, adalah ….. a. PUSH d. ISEMPTY
b. POP e. ISFULL
c. CLEAR
22. Menambah satu (increment) nilai TOP of STACK setiap ada penambahan elemen stack selama stack masih belum penuh, merupakan langkah awal pada operasi STACK yaitu …..
a. PUSH d. ISEMPTY
b. POP e. ISFULL
c. CLEAR
![Page 189: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/189.jpg)
22. Menambah satu (increment) nilai TOP of STACK setiap ada penambahan elemen stack selama stack masih belum penuh, merupakan langkah awal pada operasi STACK …..
a. PUSH d. ISEMPTY
b. POP e. ISFULL
c. CLEAR 23. Jika pada stack terdapat kondisi TOP of STACK =
MAX_STACK - 1 maka stack berada dalam keadaan ...
a. ISEMPTY d. RETREIVE b. CLEAR e. FULL c. TOP
![Page 190: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/190.jpg)
23. Jika pada stack terdapat kondisi TOP of STACK = MAX_STACK - 1 maka stack berada dalam keadaan ...
a. ISEMPTY d. RETREIVE b. CLEAR e. FULL c. TOP
24. Pada saat awal, Top of Stack selalu bernilai :
a. Top = 0 d. Top = Max_Stack
b. Top = 1 e. Top = Max_Stack - 1
c. Top = -1
![Page 191: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/191.jpg)
24. Pada saat awal, Top of Stack selalu bernilai :
a. Top = 0 d. Top = Max_Stack
b. Top = 1 e. Top = Max_Stack - 1
c. Top = -1
25. Diberikan perintah/instruksi pada program C++, yaitu tumpuk.top++; Maksud dari perintah/instruksi tersebut adalah ….
a. Top = Top + 1 d. Top = - 1
b. Top = Top - 1 e. Top = 1
c. Top = 0
![Page 192: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/192.jpg)
25. Diberikan perintah/instruksi pada program C++, yaitu tumpuk.top++; Maksud dari perintah/instruksi tersebut adalah ….
a. Top = Top + 1 d. Top = - 1
b. Top = Top - 1 e. Top = 1
c. Top = 0
26. Operasi pada Antrian yang digunakan untuk menambahkan item pada posisi paling belakang, adalah …
a. Create d. Enqueue
b. Clear e. Dequeue
c. Tail
![Page 193: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/193.jpg)
26. Operasi pada Antrian yang digunakan untuk menambahkan item pada posisi paling belakang, adalah …
a. Create d. Enqueue
b. Clear e. Dequeue
c. Tail
27. Perintah IsFull pada antrian digunakan untuk :
a. Memeriksa apakah antrian sudah penuh
b. Memeriksa apakah Antrian penuh atau kosong
c. Menambahkan elemen ke dalam Antrian
d. Menghapus elemen dari dalam Antrian
e. Memeriksa apakah antrian sudah kosong
![Page 194: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/194.jpg)
27. Perintah IsFull pada antrian digunakan untuk :
a. Memeriksa apakah antrian sudah penuh
b. Memeriksa apakah Antrian penuh atau kosong
c. Menambahkan elemen ke dalam Antrian
d. Menghapus elemen dari dalam Antrian
e. Memeriksa apakah antrian sudah kosong
28. Yang tidak termasuk dalam operasi antrian, adalah ...
a. Clear d. Push
b. Enqueue e. Dequeue
c. IsFull
![Page 195: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/195.jpg)
28. Yang tidak termasuk dalam operasi antrian, adalah ...
a. Clear d. Push
b. Enqueue e. Dequeue
c. IsFull
29. Menghapus elemen dari antrian dilakukan dari posisi :
a. Tengah / Middle d. Belakang / Tail
b. Depan / Head e. Atas / Top
c. Bawah / bottom
![Page 196: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/196.jpg)
29. Menghapus elemen dari antrian dilakukan dari posisi :
a. Tengah / Middle d. Belakang / Tail
b. Depan / Head e. Atas / Top
c. Bawah / bottom
30. Maksud dari perintah program antrian.head=antrian.tail=-1; adalah untuk ......
a. Menambah elemen antrian
b Mengecek kondisi antrian kosong atau tidak
c. Mengecek kondisi antrian penuh atau tidak
d. Membentuk atau menghapus semua elemen antrian
e. Menghapus elemen antrian
![Page 197: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/197.jpg)
30. Maksud dari perintah program antrian.head=antrian.tail=-1; adalah untuk ......
a. Menambah elemen antrian
b Mengecek kondisi antrian kosong atau tidak
c. Mengecek kondisi antrian penuh atau tidak
d. Membentuk atau menghapus semua elemen antrian
e. Menghapus elemen antrian
1. Type data dibawah ini, yang tidak termasuk dalam tipe
data sederhana tunggal, adalah :
a. Boolean d. Integer
b. String e. float
c. Char
![Page 198: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/198.jpg)
Pertemuan 9
STRUKTUR POHON &
KUNJUNGAN POHON BINER
![Page 199: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/199.jpg)
Pohon (Tree) termasuk struktur non linear yang
didefinisikan sebagai data yang terorganisir dari suatu
item informasi cabang yang saling terkait
Root
E
B C
F
A
G
D
H
Level
DEFINISI POHON (TREE)
---------------------------------- 1
----------------------- 2
------------------ 3
Height = 3
![Page 200: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/200.jpg)
1. Predesesor
Node yang berada diatas node tertentu.
(contoh : B predesesor dari E dan F)
2. Succesor
Node yang berada dibawah node tertentu.
(contoh : E dan F merupakan succesor dari B)
3. Ancestor
Seluruh node yang terletak sebelum node tertentu dan
terletak pada jalur yang sama.
(contoh : A dan B merupakan ancestor dari F)
Istilah – istilah Dalam Pohon
![Page 201: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/201.jpg)
4. Descendant
Seluruh node yang terletak sesudah node tertentu
dan terletak pada jalur yang sama.
(contoh : F dan B merupakan ancestor dari A)
5. Parent
Predesesor satu level diatas satu node
(contoh : B merupakan parent dari F)
6. Child
Succesor satu level dibawah satu node
(contoh : F merupakan child dari B)
7. Sibling
Node yang memiliki parent yang sama dengan satu
node (contoh : E dan F adalah sibling)
![Page 202: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/202.jpg)
8. Subtree
Bagian dari tree yang berupa suatu node beserta
descendant-nya (contoh : Subtree B, E, F dan
Subtree D, G, H)
9. Size
Banyaknya node dalam suatu tree (contoh : gambar
tree diatas memiliki size = 8)
10. Height
Banyaknya tingkat/level dalam suatu tree (contoh :
gambar tree diatas memiliki height = 3)
![Page 203: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/203.jpg)
11. Root (Akar)
Node khusus dalam tree yang tidak memiliki
predesesor (Contoh : A)
12. Leaf (Daun)
Node-node dalam tree yang tidak memiliki daun
(contoh : Node E,F,C,G,H)
13. Degree (Derajat)
Banyaknya child yang dimiliki oleh suatu node
(contoh : Node A memiliki derajat 3, node B memiliki
derajat 2)
![Page 204: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/204.jpg)
Pohon atau Tree adalah salah satu bentuk Graph
terhubung yang tidak mengandung sirkuit.
Karena merupakan Graph terhubung, maka pada Pohon
(Tree) selalu terdapat Path atau Jalur yang
menghubungkan setiap simpul dalam dua pohon.
Pohon (Tree) dapat juga didefinisikan sebagai kumpulan
elemen yang salah satu elemennya disebut dengan Akar
(Root) dan sisa elemen lain (Simpul) yang terpecah
menjadi sejumlah himpunan yang saling tidak berhubungan
yang disebut dengan Subpohon (Subtree) atau cabang
ISTILAH-ISTILAH DASAR
![Page 205: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/205.jpg)
![Page 206: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/206.jpg)
1. Jika Pohon mempunyai Simpul sebanyak n, maka
banyaknya ruas atau edge adalah (n-1).
2. Mempunyai Simpul Khusus yang disebut Root, jika
Simpul tersebut memiliki derajat keluar >= 0, dan
derajat masuk = 0.
3. Mempunyai Simpul yang disebut sebagai Daun / Leaf,
jika Simpul tersebut berderajat keluar = 0, dan
berderajat masuk = 1.
4. Setiap Simpul mempunyai Tingkatan / Level yang dimulai
dari Root yang Levelnya = 1 sampai dengan Level ke - n
pada daun paling bawah. Simpul yang mempunyai Level
sama disebut Bersaudara atau Brother atau Stribling.
Sifat utama Pohon Berakar
![Page 207: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/207.jpg)
5. Pohon mempunyai Ketinggian atau Kedalaman atau
Height, yang merupakan Level tertinggi
6. Pohon mempunyai Weight atau Berat atau Bobot, yang
banyaknya daun (leaf) pada Pohon.
7. Banyaknya Simpul Maksimum sampai Level N adalah :
2 (N) - 1
8. Banyaknya Simpul untuk setiap Level I adalah :
N
2 ( I – 1)
I = 1
Hutan (Forest) adalah kumpulan Pohon yang tidak saling
berhubungan
![Page 208: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/208.jpg)
Diketahui suatu bentuk Pohon Berakar T sebagai berikut :
Pohon Diatas Mempunyai :
a. Simpul sebanyak = 8 dan edge = n - 1 = 8 – 1 = 7
b. Root pada Pohon T diatas adalah Simpul P
c. Mempunyai daun (Leaf) = 4, yaitu = R, S, V dan W
![Page 209: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/209.jpg)
d. Level (tingkatan) Pohon = 4 yaitu :
Level 1 = Simpul P
Level 2 = Simpul Q dan T
Level 3 = Simpul R, S dan U
Level 4 = Simpul V dan W
e. Ketinggian atau kedalaman = jumlah level = 4
f. Weight atau berat atau bobot = jumlah daun = 4
Dalam gambar Pohon T diatas dapat dibentuk 2 buah
hutan (forest), bila simpul P dihilangkan, yaitu :
Hutan 1 : Q,R,S
Hutan 2 : T,U,V,W
![Page 210: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/210.jpg)
g. Banyaknya Simpul Maksimum yang dapat terbentuk
sampai Level 4 (bila simpul pada pohon dianggap
penuh) adalah : 2 (N) – 1
2 (4) – 1 = 16 – 1 = 15
![Page 211: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/211.jpg)
h. Banyaknya Simpul maksimum untuk setiap Level I
(bila simpul pada pohon dianggap penuh) adalah :
Maksimum Simpul pada level 2 = 2 ( I – 1)
= 2 (2-1) = 2
Maksimum Simpul pada level 3 = 2 (3-1) = 4
Maksimum Simpul pada level 4 = 2 (4-1) = 2
![Page 212: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/212.jpg)
Struktur ini biasanya digunakan untuk menyajikan data
yang mengandung hubungan hirarkial antara elemen-
elemennya.
Bentuk Pohon Berakar yang lebih mudah dikelola dalam
komputer adalah Pohon Biner (Binary Tree) yang lebih
dikenal sebagai Pohon Umum (General Tree) yang dapat
didefinisikan sebagai kumpulan simpul yang mungkin
kosong atau mempunyai akar dan dua Subpohon yang
saling terpisah yang disebut dengan Subpohon Kiri /
cabang kiri (Left Subtree) dan Subpohon Kanan / cabang
kanan (Right Subtree).
POHON BINAR (BINARY TREE)
![Page 213: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/213.jpg)
Karakteristik Pohon Binar (Binary Tree) :
1. Setiap Simpul paling banyak hanya memiliki dua buah
anak
2. Derajat Tertinggi dari setiap Simpul adalah dua.
3. Dibedakan antara Cabang Kiri dan Cabang Kanan.
4. Dimungkinkan tidak mempunyai Simpul
Berikut ini diberikan contoh gambar Pohon Binar (Binary
Tree) dengan Cabang Kiri dan Cabang Kanan.
![Page 214: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/214.jpg)
ISTILAH PADA POHON BINER
• Pohon Biner Penuh
(Full Binary Tree)
Semua simpul (kecuali daun)
memiliki 2 anak dan tiap cabang
memiliki panjang ruas yang sama
A
B C
D E F G
• Pohon Biner Lengkap
(Complete Binary Tree)
Hampir sama dengan Pohon Biner Penuh, semua simpul (kecuali daun) memiliki 2 anak tetapi tiap cabang memiliki panjang ruas berbeda
A
B C
D E
![Page 215: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/215.jpg)
ISTILAH PADA POHON BINER
• Pohon Biner Similer
Dua pohon yang memiliki struktur yang sama tetapi
informasinya berbeda
A
B C
• Pohon Biner Ekivalent
Dua pohon yang memiliki struktur dan informasi yang
sama
P
Q R
P
Q R
P
Q R
![Page 216: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/216.jpg)
• Pohon Biner Miring (Skewed Tree)
Dua pohon yang semua simpulnya mempunyai satu
anak / turunan kecuali daun
ISTILAH PADA POHON BINER
![Page 217: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/217.jpg)
Dalam setiap simpul selalu berisi dua buah Pointer untuk
menunjuk ke cabang Kiri dan cabang Kanan dan informasi
yang akan disimpan dalam simpul tersebut.
Deklarasi Pohon Biner
(Dengan Program C++)
![Page 218: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/218.jpg)
![Page 219: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/219.jpg)
Penyajian Pohon Binar (Binary Tree)
• Tree dapat dibuat dengan menggunakan linked list secara rekursif.
• Linked list yang digunakan adalah double linked list non circular
• Data yang pertama kali masuk akan menjadi node root.
• Data yang lebih kecil dari data node root akan masuk dan menempati node kiri dari node root, sedangkan jika lebih besar dari data node root, akan masuk dan menempati node di sebelah kanan node root.
![Page 220: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/220.jpg)
Bila diberikan untai HAKJCBL, maka proses untuk dapat
membentuk pohon biner dari untai diatas adalah :
1. Karakter pertama ‘H’ ditempatkan sebagai akar (root)
2. Karakter ‘A’,karena lebih kecil dari ‘H’, maka akan
menempati cabang kiri.
3. Karakter ‘K’, karena lebih besar dari ‘H’, maka akan
menempati cabang kanan.
4. Karakter ‘J’, lebih besar dari ‘H’ dan kecil dari ‘K’, maka
menempati cabang kiri ‘K’.
5. Karakter ‘C’,karena lebih besar dari ‘A’, maka akan
menempati cabang kanan.
6. Karakter ‘B’, karena lebih kecil dari ‘C’, maka akan
menempati cabang kiri.
7. Karakter ‘L’, lebih besar dari ‘K’, maka menempati
cabang kiri kanan.
![Page 221: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/221.jpg)
Sehingga terbentuk pohon biner seperti
berikut :
![Page 222: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/222.jpg)
Latihan
Buatlah pohon biner dari barisan bilangan
berikut:
1. 12, 22, 8, 19, 10, 9, 20, 4, 2, 6
2. 2, 3, 4, 5, 50, 10, 15, 13, 20, 12, 10, 7
3. 7, 13, 4, 6, 5, 9, 15, 20, 60, 14, 40, 70
4. 50, 45, 55, 41, 49,13,60, 70, 40, 35, 30, 20, 80,
75, 85
5. 12, 19, 11, 17, 29, 21, 20, 22, 13, 14, 18, 16, 15
![Page 223: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/223.jpg)
Latihan Soal Struktur Data
(Pertemuan 9)
1. Simpul Khusus pada pohon yang memiliki derajat keluar >= 0, dan derajat masuk = 0, adalah ….
a. Node / simpul d. edge / ruas
b. Root / akar e. level
c. Leaf / daun
2. Jika suatu pohon biner memiliki simpul sebanyak 5 maka banyaknya ruas adalah :
a. 2 d. 5
b. 3 e. 6
c. 4
![Page 224: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/224.jpg)
2. Jika suatu pohon biner memiliki simpul sebanyak 5 maka banyaknya ruas adalah :
a. 2 d. 5
b. 3 e. 6
c. 4
3. Pohon biner yang memiliki ciri Semua simpul (kecuali daun) memiliki 2 anak dan tiap cabang memiliki panjang ruas yang sama, adalah pohon biner ….
a. Lengkap / complete
b. Similer
c. Miring / skewed
d. Penuh / full
e. ekivalen
![Page 225: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/225.jpg)
3. Pohon biner yang memiliki ciri Semua simpul (kecuali daun) memiliki 2 anak dan tiap cabang memiliki panjang ruas yang sama, adalah pohon biner ….
a. Lengkap / complete
b. Similer
c. Miring / skewed
d. Penuh / full
e. ekivalen
4. Suatu pohon memiliki level = 4, maka banyaknya Simpul Maksimum yang dapat terbentuk sampai Level 4 adalah ….
a. 8 b. 15 c. 12 d. 4 e. 7
![Page 226: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/226.jpg)
4. Suatu pohon memiliki level = 4, maka banyaknya Simpul Maksimum yang dapat terbentuk sampai Level 4 adalah ….
a. 8 b. 15 c. 12 d. 4 e. 7
5. Pohon biner yang memiliki struktur dan informasinya sama disebut :
a. Miring (Skewed)
c. Terstruktur
b. Ekivalent
d. Similer
e. Complete
![Page 227: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/227.jpg)
5. Pohon biner yang memiliki struktur dan informasinya sama disebut :
a. Miring (Skewed)
c. Terstruktur
b. Ekivalent
d. Similer
e. Complete
1. Simpul Khusus pada pohon yang memiliki derajat keluar >= 0, dan derajat masuk = 0, adalah ….
a. Node / simpul d. edge / ruas
b. Root / akar e. level
c. Leaf / daun
![Page 228: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/228.jpg)
Pertemuan 10
KUNJUNGAN
PADA POHON BINER
![Page 229: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/229.jpg)
Kunjungan Pohon Biner
![Page 230: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/230.jpg)
3. Kunjungan secara Postorder, mempunyai urutan :
a. Kunjungi Cabang Kiri
b. Kunjungi Cabang Kanan
c. Cetak isi simpul yang dikunjungi (Simpul Akar)
Kunjungan Pohon Biner
![Page 231: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/231.jpg)
Pada ketiga cara kunjungan diatas, kunjungan ke
Cabang Kiri dilakukan terlebih dahulu, baru kemudian
kunjungan ke Cabang Kanan. Dengan orientasi
semacam ini, Ketiga kunjungan diatas disebut dengan
Left To Right Oriented (LRO).
Jika kunjungan ke Cabang Kanan dilakukan lebih
dahulu baru kemudian kunjungan ke Cabang Kiri, maka
Orientasi semacam ini disebut Right To Left Oriented
(RLO).
![Page 232: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/232.jpg)
A
B C
D E
A B D E C
Klik Animasi
PreOrder
![Page 233: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/233.jpg)
Klik Animasi
Contoh PreOrder
![Page 234: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/234.jpg)
Kunjungan PreOrder dalam Program C++
![Page 235: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/235.jpg)
A
B C
D E
A B D E C
Klik Animasi
InOrder
![Page 236: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/236.jpg)
Klik Animasi
Contoh InOrder
![Page 237: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/237.jpg)
Kunjungan InOrder dalam Program C++
![Page 238: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/238.jpg)
A
B C
D E
A B D E C
3. Kunjungan secara Postorder, mempunyai urutan :
a. Kunjungi Cabang Kiri
b. Kunjungi Cabang Kanan
c. Cetak isi simpul yang dikunjungi (Simpul Akar)
Klik Animasi
![Page 239: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/239.jpg)
Klik Animasi
Contoh PostOrder
![Page 240: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/240.jpg)
Kunjungan PostOrder dalam Program
C++
![Page 241: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/241.jpg)
Kunjungan LevelOrder
Selain kunjungan yang dijelaskan diatas,
masih ada satu macam kunjungan masih ada
satu macam kunjungan lagi yaitu kunjungan
LevelOrder.
Kunjungan dimulai dari simpul yang ada pada
tingkat 1 (Akar), diteruskan pada simpul di
tingkat 2, tingkat 3 dan seterusnya.
![Page 242: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/242.jpg)
Secara singkat kunjungan Level Order ini dapat dijelaskan
sebagai berikut.
1. Dimulai dengan memasukkan Akar kedalam antrean.
2. Kemudian mengeluarkan Akar tersebut keluar dari
antrean.
Pada saat Akar tersebut dikeluarkan dari antrean, cabang
kiri dan cabang kanan secara berturut-turut dimasukkan
dalam antrean.
Dengan kata lain jika suatu elemen dikeluarkan dari
antrean, maka cabang kiri dan kanan dari elemen yang
baru saja dikeluarkan dimasukkan kedalam antrean.
![Page 243: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/243.jpg)
APLIKASI POHON BINER
NOTASI PREFIX, INFIX DAN POSTFIX Pada bagian ini akan dibahas tentang bagaimana
menyusun sebuah Pohon Binar yang apabila dikunjungi
secara PreOrder akan menghasilkan Notasi Prefix,
kunjungan secara InOrder menghasilkan Notasi Infix, dan
kunjungan PostOrder menghasilkan Notasi Postfix.
![Page 244: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/244.jpg)
Aplikasi Pohon Biner
![Page 245: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/245.jpg)
Aplikasi Pohon Biner
![Page 246: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/246.jpg)
Berdasarkan Gambar diatas, apabila dilakukan kunjungan
secara PreOrder, maka akan diperoleh Notasi Prefix dari
persamaan-persamaan yang digambarkan tersebut, yaitu :
+A*BC (Gambar.a)
*+AB-BC (Gambar.b)
^-*+ABC-DE+FG (Gambar.c)
Jika dilakukan kunjungan secara InOrder, akan diperoleh
Notasi Infixnya, yaitu :
(A+(B*C)) (Gambar.a)
((A+B) * (B-C)) (Gambar.b)
((((A+B) * C) – (D-E))^(F+G)) (Gambar.c)
![Page 247: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/247.jpg)
Jika dilakukan kunjungan secara PostOrder, akan
diperoleh Notasi Postfixnya, yaitu :
ABC*+ (Gambar.a)
AB+BC-* (Gambar.b)
AB+C*DE--FG+^ (Gambar.c)
![Page 248: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/248.jpg)
Latihan Soal Struktur Data
(Pertemuan 10)
1. Kunjungan dengan urutan : kunjungi simpul akar, cabang kiri,cabang kanan, adalah kunjungan….
a. Preorder d. Postorder
b. Inorder e. Outorder
c. Symetric Order
2. Dengan kunjungan PREORDER maka untai yang dihasilkan adalah :
a. A B D C
b. A B C D
c. B A D C
d. B D C A
e. B C D A
A
C B
D
![Page 249: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/249.jpg)
2. Dengan kunjungan PREORDER maka untai yang dihasilkan adalah :
a. A B D C
b. A B C D
c. B A D C
d. B D C A
e. B C D A
3. Dari gambar disamping, notasi POSTFIX yang dihasilkan adalah …
a. A B C - *
b. A - B * C
c. A B - C *
d. * - A B C
e. A B - * C
A
C B
D
*
C -
A B
![Page 250: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/250.jpg)
3. Dari gambar disamping, notasi POSTFIX yang dihasilkan adalah …
a. A B C - *
b. A - B * C
c. A B - C *
d. * - A B C
e. A B - * C
4. Dari gambar diatas,notasi PREFIX yang dihasilkan adalah :
a. A B C - * d. A B - C *
b. A - B * C e. * - A B C
c. * - C A B
*
C -
A B
![Page 251: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/251.jpg)
4. Dari gambar diatas,notasi PREFIX yang dihasilkan
adalah :
a. A B C - *
b. A - B * C
c. * - C A B
d. A B - C *
e. * - A B C
5. Berikut ini, yang tidak termasuk dalam kunjungan
pohon biner adalah :
a. Inorder d. Preorder
b. Outorder e. Postorder
c. Symetric Order
*
C -
A B
![Page 252: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/252.jpg)
5. Berikut ini, yang tidak termasuk dalam kunjungan
pohon biner adalah :
a. Inorder d. Preorder
b. Outorder e. Postorder
c. Symetric Order
1. Kunjungan dengan urutan : kunjungi simpul akar, cabang kiri,cabang kanan, adalah kunjungan….
a. Preorder d. Postorder
b. Inorder e. Outorder
c. Symetric Order
![Page 253: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/253.jpg)
Pertemuan 11
GRAPH,
MATRIK PENYAJIAN GRAPH
![Page 254: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/254.jpg)
Suatu Graph mengandung 2 himpunan, yaitu :
1. Himpunan V yang elemennya disebut simpul (Vertex
atau Point atau Node atau Titik)
2. Himpunan E yang merupakan pasangan tak urut dari
simpul. Anggotanya disebut Ruas (Edge atau rusuk
atau sisi)
Graph seperti dimaksud diatas, ditulis sebagai G(E,V).
GRAPH
![Page 255: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/255.jpg)
Contoh :
Gambar berikut menanyakan Graph G(E,V) dengan :
1. V mengandung 4 simpul, yaitu simpul A,B,C,D.
2. E mengandung 5 ruas, yaitu :
e1 = (A,B) e4 = (C,D)
e2 = (B,C) e5 = (B,D)
e3 = (A,D)
![Page 256: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/256.jpg)
Gambar dibawah ini menyatakan suatu Multigraph.
Disini, ruas e2 pada kedua titik ujungnya adalah simpul
yang sama, yaitu simpul A. Ruas semacam ini disebut
Gelung atau Self-Loop. Sedangkan ruas e5 dan e6
mempunyai titik ujung yang sama, yaitu simpul-simpul B
dan C. Kedua ruas ini disebut ruas berganda atau ruas
sejajar.
e5
e4
e3 e2
e1
e6
![Page 257: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/257.jpg)
Suatu Graph yang tidak mengandung ruas sejajar maupun
self-loop, sering disebut juga sebagai Graph sederhana
atau simple Graph.
Suatu Graph G’(E’,V’) disebut Sub Graph dari G(E,V), bila E’
himpunan bagian dari E dan V’ himpunan bagian dari V.
Jika E’ mengandung semua ruas dari E yang titik ujungnya
di V’, maka G’ disebut Subgraph yang direntang oleh V’
(Spanning Subgraph).
![Page 258: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/258.jpg)
Contoh Sub Graph:
![Page 259: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/259.jpg)
Contoh Spanning Sub Graph
![Page 260: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/260.jpg)
Graph G disebut berlabel jika ruas dan atau simpulnya
dikaitkan dengan suatu besaran tertentu. Khususnya jika
setiap Ruas e dari G dikaitkan dengan suatu bilangan
non negatif d(e), maka d(e) disebut bobot atau panjang
dari ruas e.
GRAPH BERLABEL
![Page 261: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/261.jpg)
Contoh :
Gambar berikut ini menyajikan hubungan antar kota.
Disini simpul menyatakan kota dan label d(e) menyatakan
jarak antara dua kota.
![Page 262: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/262.jpg)
DERAJAT GRAPH
Derajat simpul V, ditulis d(v) adalah banyaknya ruas
yang menghubungi v. Karena setiap ruas dihitung dua
kali ketika menentukan derajat suatu Graph, maka :
Jumlah derajat semua simpul suatu Graph (derajat) =
dua kali banyaknya ruas Graph (Size) Atau dapat
dituliskan :
Derajat Graph = 2 x Size
![Page 263: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/263.jpg)
Pada gambar diatas Jumlah Semua Simpul = 4, maka
Jumlah Derajat Semua Simpul = 8
Jika Derajat masing-masing simpul pada Graph berjumlah
Genap maka Graph tersebut disebut EULER Graph
![Page 264: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/264.jpg)
E D
B
C
A F
Contoh :
![Page 265: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/265.jpg)
Pada gambar diatas, banyak ruas/size = 7, sedangkan
derajat masing-masing simpul adalah :
d(A) = 2
d(B) = 5
d(C) = 3
d(D) = 3
d(E) = 1
d(F) = 0
maka, total jumlah derajat simpul adalah : 14
E disebut simpul bergantung/akhir, yaitu simpul yang
berderajat satu. Sedangkan F disebut simpul terpencil,
yaitu simpul yang berderajat Nol.
![Page 266: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/266.jpg)
Walk atau perjalanan dalam Graph G adalah barisan simpul
dan ruas berganti-ganti : V1,e1,V2,e2,......., e n-1, Vn
Disini ruas ei menghubungkan simpul Vi dan Vi+1.
Banyaknya ruas disebut Panjang Walk. Walk dapat ditulis
lebih singkat dengan hanya menulis deretan ruas :
e1,e2, ...., en-1 atau deretan simpul : V1, V2,....., Vn-1, Vn
dimana : V1 = simpul awal
Vn = simpul akhir.
Walk disebut tertutup bila V1 = Vn
KETERHUBUNGAN
![Page 267: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/267.jpg)
Istilah Pada Graph
![Page 268: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/268.jpg)
Graph merupakan Walk Terbuka, karena tidak ada ruas
yang menghubungkan Simpul U dan T.
Merupakan suatu Path atau Trail terbuka dengan
derajat setiap simpulnya = 2, kecuali simpul awal U dan
simpul akhir T berderajat = 1.
![Page 269: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/269.jpg)
![Page 270: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/270.jpg)
Barisan ruas a,b,c,d,b,c,g,h adalah Walk bukan Trail
(karena ruas b dua kali muncul).
Barisan simpul A, B, E, F bukan Walk (karena tdk
ada ruas yang menghubungkan simpul B ke F).
Barisan simpul A, B, C, D, E, C, F adalah Trail
bukan Jalur/Path (karena c dua kali muncul)
Barisan ruas a, d, g, k adalah Jalur/Path karena
menghubungkan A dengan F
Ruas a, b, h, g, e, a, adalah Cycle.
Graph yang tidak mengandung Cycle disebut Acyclic.
Contoh dari Graph Acyclic adalah pohon atau Tree.
![Page 271: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/271.jpg)
Contoh dari acyclic
![Page 272: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/272.jpg)
![Page 273: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/273.jpg)
GRAPH TERARAH (DIRECTED GRAPH / DIGRAPH)
Graph terarah adalah Graph yang dapat menghubungkan
V1 ke V2 saja (1 arah).
Maksimum jumlah busur dari n simpul adalah : n ( n - 1)
Suatu Graph Berarah (Directed Graph) D terdiri atas 2
himpunan :
1) Himpunan V, anggotanya disebut simpul.
2) Himpunan A, merupakan himpunan pasangan terurut,
yang disebut ruas berarah atau arkus.
![Page 274: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/274.jpg)
Contoh, Gambar dibawah ini adalah sebuah Graph
Berarah D(V,A) dengan :
1. V mengandung 4 simpul, yaitu 1, 2, 3 dan 4
2. A mengandung 7 arkus, yaitu (1,4) ,(2,1), (2,1),
(4,2), (2,3), (4,3) dan (2)
Arkus (2,2) disebut gelung (self-loop), sedangkan
arkus (2,1) muncul lebih dari satu kali, disebut
arkus sejajar atau arkus berganda.
![Page 275: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/275.jpg)
Bila arkus suatu Graph Berarah menyatakan suatu bobot,
maka Graph Berarah tersebut dinamakan jaringan /
Network. Biasanya digunakan untuk menggambarkan
situasi dinamis.
Bila V’ himpunan bagian dari V serta A’ himpunan bagian
dari A, dengan titik ujung anggota A’ terletak di dalam V’,
maka dikatakan bahwa D’(V’,A’) adalah Graph bagian
(Subgraph) dari D(V,A).
Bila A’ mengandung semua arkus anggota A yang titik
ujungnya anggota V’, maka dikatakan bahwa D’(V’,A’)
adalah Graph Bagian yang dibentuk atau direntang oleh V’.
![Page 276: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/276.jpg)
Undirected Graph
![Page 277: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/277.jpg)
1
2
4
3
5
Critical Path
![Page 278: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/278.jpg)
Critical Path
![Page 279: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/279.jpg)
Minimum Spanning Tree
V1
V2
V4
V3
V5
Merupakan Spanning Tree yang mempunyai Bobot
dan tidak mempunyai arah dengan hasil
penjumlahan bobotnya adalah minimum.
Lihat gambar Graph G berikut :
![Page 280: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/280.jpg)
Total Minimum
Spanning Tree = 22
Langkah yang dilakukan untuk membentuk minimum
spanning tree adalah :
Bentuk kembali semua simpul tetapi tanpa ruas.
Gambar dan telusuri ruas dengan bobot paling kecil,
seterusnya (secara ascending) hingga semua simpul
terhubung
(4)
V1
V2
V3
V4 V5
(5)
(6)
(7)
Minimum Spanning Tree
![Page 281: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/281.jpg)
MATRIKS PENYAJIAN GRAPH
Misalnya disajikan Graph G dalam Matriks ruas B ukuran
(M x 2), maka setiap baris Matriks menyatakan ruas,
misalnya baris (4 7) menyatakan ada ruas
menghubungkan simpul 4 dan 7.
Matriks Adjacency dari Graph G, yaitu Matriks yang
menghubungkan Vertex dengan Vertex, tanpa ruas
sejajar adalah Matriks A berukuran (N x N) yang bersifat :
1 , bila ada ruas (Vi, Vj)
aij=
0, bila dalam hal lain.
![Page 282: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/282.jpg)
Matriks Adjacency merupakan matriks simetri.
Untuk Graph dengan ruas sejajar, Matriks Adjacency
didefinisikan sebagai berikut :
P, bila ada p buah ruas menghubungkan
aij = (Vi, Vj)(p>0)
0, bila dalam hal lain.
Matriks Incidence dari Graph G, yaitu Matriks yang
menghubungkan Vertex dengan Edge, tanpa self-loop
didefinisikan sebagai Matriks M berukuran (NXM) sebagai
berikut :
1, bila ada ruas ej berujung di simpul Vi
mij =
0, dalam hal lain.
![Page 283: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/283.jpg)
Matriks Adjacency
![Page 284: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/284.jpg)
Matriks Adjacency
![Page 285: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/285.jpg)
e1 e2 e3 e4 e5 e6 e7 e8
V1 1 1 0 1 1 0 0 0
V2 1 0 1 0 0 0 0 0
V3 0 1 1 0 0 1 1 0
V4 0 0 0 1 0 1 0 1
V5 0 0 0 0 0 1 0 1
![Page 286: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/286.jpg)
GRAPH TERARAH (DIRECTED GRAPH / DIGRAPH)
Graph terarah adalah Graph yang dapat menghubungkan
V1 ke V2 saja (1 arah).
Maksimum jumlah busur dari n simpul adalah : n ( n - 1)
Suatu Graph Berarah (Directed Graph) D terdiri atas 2
himpunan :
1) Himpunan V, anggotanya disebut simpul.
2) Himpunan A, merupakan himpunan pasangan terurut,
yang disebut ruas berarah atau arkus.
![Page 287: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/287.jpg)
Graph
![Page 288: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/288.jpg)
Karena V8 sudah dilewati setelah
penelusuran ke V4, maka penelusuran yang
berikutnya dianggap tidak dilewati lagi
Klik Animasi
Depth First Search
![Page 289: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/289.jpg)
Dari gambar diatas dapat terbentuk matriks sbb :
Dari Matriks diatas, akan diperoleh urutan sbb:
V1 -> V2 -> V4 -> V8 -> V5 -> V6 -> V3 -> V7
![Page 290: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/290.jpg)
2. Breadth First Search (BFS).
Berbeda dengan cara BFS, dengan BFS penelusuran
akan diawasi dari Node-1, kemudian melebar pada
Adjacent Node dari Node-1 dan diteruskan pada
Node-2, Node- 3 dan seterusnya.
![Page 291: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/291.jpg)
Dari gambar di atas akan diperoleh urutan :
V1 , V2 ---> V3 , V4 ---> V5 ---> V6 ---> V7, V8
Klik Animasi
Breadth First Search
![Page 292: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/292.jpg)
Latihan Soal Struktur Data
(Pertemuan 11)
1. Graph yang memiliki ruas sejajar dan gelung disebut …
a. Gelung/self loop d. Graph sederhana
b. Multigraph e. Euler graph
c. Simple Graph
2. Bila diketahui jumlah derajat semua simpul pada suatu
graph adalah 20, maka banyaknya ruas pada graph
tersebut adalah ….
a. 19 b. 21 c. 40 d. 10 e. 15
![Page 293: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/293.jpg)
2. Bila diketahui jumlah derajat semua simpul pada suatu graph adalah 20, maka banyaknya ruas pada graph tersebut adalah ….
a. 19 b. 21 c. 40 d. 10 e. 15
3.
Dari gambar diatas, yang termasuk TRAIL adalah ….
a. a,b,c,h,g,d,a d. a,b,h,k,f,g,b
b. a,e,f,k,h,c,d e. a,d,g,k,f,d,b
c. a,b,c,g,h,c,d
![Page 294: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/294.jpg)
3.
Dari gambar diatas, yang termasuk TRAIL adalah ….
a. a,b,c,h,g,d,a d. a,b,h,k,f,g,b
b. a,e,f,k,h,c,d e. a,d,g,k,f,d,b
c. a,b,c,g,h,c,d
4. Maksimum jumlah busur dari n simpul dalam Directed Graph
a. n ( n - 1) / 2 d. (n – 1) / 2
b. n ( n - 1) e. (n – 1) + 2
c. n - 1
![Page 295: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/295.jpg)
4. Maksimum jumlah busur dari n simpul dalam Directed Graph
a. n ( n - 1) / 2 d. (n – 1) / 2
b. n ( n - 1) e. (n – 1) + 2
c. n - 1
5. Critical Path dari simpul A ke simpul D
pada graph disamping adalah …
a. 15 d. 33
b. 18 e. 38
c. 20
A
B
C
D 5
8
10
12
18
![Page 296: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/296.jpg)
5. Critical Path dari simpul A ke simpul D
pada graph disamping adalah …
a. 15 d. 33
b. 18 e. 38
c. 20
1. Graph yang memiliki ruas sejajar dan gelung disebut …
a. Gelung/self loop d. Graph sederhana
b. Multigraph e. Euler graph
c. Simple Graph
A
B
C
D 5
8
10
12
18
![Page 297: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/297.jpg)
Pertemuan 12-14
PRESENTASI
PROJECT
![Page 298: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/298.jpg)
Pertemuan 12-14
PRESENTASI
PROJECT
![Page 299: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/299.jpg)
Pertemuan 12-14
PRESENTASI
PROJECT
![Page 300: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/300.jpg)
Pertemuan 15
REVIEW & QUIS
![Page 301: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/301.jpg)
1. Simpul Khusus pada pohon yang memiliki derajat keluar >= 0, dan derajat masuk = 0, adalah ….
a. Node / simpul d. edge / ruas
b. Root / akar e. level
c. Leaf / daun
2. Jika suatu pohon biner memiliki simpul sebanyak 5 maka banyaknya ruas adalah :
a. 2 d. 5
b. 3 e. 6
c. 4
![Page 302: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/302.jpg)
2. Jika suatu pohon biner memiliki simpul sebanyak 5 maka banyaknya ruas adalah :
a. 2 d. 5
b. 3 e. 6
c. 4
3. Pohon biner yang memiliki ciri Semua simpul (kecuali daun) memiliki 2 anak dan tiap cabang memiliki panjang ruas yang sama, adalah pohon biner ….
a. Lengkap / complete
b. Similer
c. Miring / skewed
d. Penuh / full
e. ekivalen
![Page 303: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/303.jpg)
3. Pohon biner yang memiliki ciri Semua simpul (kecuali daun) memiliki 2 anak dan tiap cabang memiliki panjang ruas yang sama, adalah pohon biner ….
a. Lengkap / complete
b. Similer
c. Miring / skewed
d. Penuh / full
e. ekivalen
4. Suatu pohon memiliki level = 4, maka banyaknya Simpul Maksimum yang dapat terbentuk sampai Level 4 adalah ….
a. 8 b. 15 c. 12 d. 4 e. 7
![Page 304: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/304.jpg)
4. Suatu pohon memiliki level = 4, maka banyaknya Simpul Maksimum yang dapat terbentuk sampai Level 4 adalah ….
a. 8 b. 15 c. 12 d. 4 e. 7
5. Pohon biner yang memiliki struktur dan informasinya sama disebut :
a. Miring (Skewed)
b. Terstruktur
c. Ekivalent
d. Similer
e. Complete
![Page 305: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/305.jpg)
5. Pohon biner yang memiliki struktur dan informasinya sama disebut :
a. Miring (Skewed)
c. Terstruktur
b. Ekivalent
d. Similer
e. Complete
6. Kunjungan dengan urutan : kunjungi simpul akar, cabang kiri,cabang kanan, adalah kunjungan….
a. Preorder d. Postorder
b. Inorder e. Outorder
c. Symetric Order
![Page 306: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/306.jpg)
6. Kunjungan dengan urutan : kunjungi simpul akar, cabang kiri,cabang kanan, adalah kunjungan….
a. Preorder d. Postorder
b. Inorder e. Outorder
c. Symetric Order
7. Dengan kunjungan PREORDER maka untai yang dihasilkan adalah :
a. A B D C
b. A B C D
c. B A D C
d. B D C A
e. B C D A
A
C B
D
![Page 307: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/307.jpg)
7. Dengan kunjungan PREORDER maka untai yang dihasilkan adalah :
a. A B D C b. A B C D c. B A D C d. B D C A e. B C D A 8. Dengan kunjungan INORDER maka untai
yang dihasilkan adalah : a. A B D C b. A B C D c. B A D C d. B D C A e. B C D A
A
C B
D
A
C B
D
![Page 308: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/308.jpg)
8. Dengan kunjungan INORDER maka untai yang
dihasilkan adalah : a. A B D C b. A B C D c. B A D C d. B D C A e. B C D A 9. Dengan kunjungan POSTORDER maka untai
yang dihasilkan adalah : a. A B D C b. A B C D c. B A D C d. B D C A e. B C D A
A
C B
D
A
C B
D
![Page 309: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/309.jpg)
9. Dengan kunjungan POSTORDER maka untai yang dihasilkan adalah :
a. A B D C b. A B C D c. B A D C d. B D C A e. B C D A 10. Dari gambar disamping, notasi PREFIX yang
dihasilkan adalah … a. A B C - * b. A - B * C c. A B - C * d. * - A B C e. A B - * C
A
C B
D
*
C -
A B
![Page 310: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/310.jpg)
10. Dari gambar disamping, notasi PREFIX yang dihasilkan adalah …
a. A B C - *
b. A - B * C
c. A B - C *
d. * - A B C
e. A B - * C
11. Dari gambar disamping, notasi INFIX yang dihasilkan adalah …
a. A B C - *
b. A - B * C
c. A B - C *
d. * - A B C
e. A B - * C
*
C -
A B
*
C -
A B
![Page 311: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/311.jpg)
*
C -
A B
*
C -
A B
11. Dari gambar disamping, notasi INFIX yang
dihasilkan adalah … a. A B C - * b. A - B * C c. A B - C * d. * - A B C e. A B - * C 12. Dari gambar disamping, notasi POSTFIX yang
dihasilkan adalah … a. A B C - * b. A - B * C c. A B - C * d. * - A B C e. A B - * C
![Page 312: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/312.jpg)
12. Dari gambar disamping, notasi POSTFIX yang dihasilkan adalah …
a. A B C - *
b. A - B * C
c. A B - C *
d. * - A B C
e. A B - * C
13. Berikut ini, yang tidak termasuk dalam kunjungan pohon biner adalah :
a. Inorder d. Preorder
b. Outorder e. Postorder
c. Symetric Order
*
C -
A B
![Page 313: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/313.jpg)
13. Berikut ini, yang tidak termasuk dalam kunjungan pohon biner adalah :
a. Inorder d. Preorder
b. Outorder e. Postorder
c. Symetric Order
14. Perjalanan (walk) dalam suatu graph akan disebut
tertutup bila..
a. V1 = Vn d. V1 = 0
b. Vn = V(n-1) e. V1=Vn/2
c. V1 = V(n+1)
![Page 314: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/314.jpg)
14. Perjalanan (walk) dalam suatu graph akan disebut
tertutup bila..
a. V1 = Vn d. V1 = 0
b. Vn = V(n-1) e. V1=Vn/2
c. V1 = V(n+1)
15. Graph yang memiliki ruas sejajar dan gelung
disebut … a. Gelung/self loop d. Graph sederhana b. Multigraph e. Euler graph c. Simple Graph
![Page 315: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/315.jpg)
15. Graph yang memiliki ruas sejajar dan gelung disebut …
a. Gelung/self loop d. Graph sederhana
b. Multigraph e. Euler graph
c. Simple Graph
16. Bila diketahui jumlah derajat semua simpul pada suatu
graph adalah 20, maka banyaknya ruas pada graph
tersebut adalah ….
a. 19 b. 21 c. 40 d. 10 e. 15
![Page 316: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/316.jpg)
16. Bila diketahui jumlah derajat semua simpul pada suatu graph adalah 20, maka banyaknya ruas pada graph tersebut adalah ….
a. 19 b. 21 c. 40 d. 10 e. 15
17.
Dari gambar diatas, yang termasuk TRAIL adalah ….
a. a,b,c,h,g,d,a d. a,b,h,k,f,g,b
b. a,e,f,k,h,c,d e. a,d,g,k,f,d,b
c. a,b,c,g,h,c,d
![Page 317: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/317.jpg)
17.
Dari gambar diatas, yang termasuk TRAIL adalah ….
a. a,b,c,h,g,d,a d. a,b,h,k,f,g,b
b. a,e,f,k,h,c,d e. a,d,g,k,f,d,b
c. a,b,c,g,h,c,d
18. Maksimum jumlah busur dari n simpul dalam Directed Graph
a. n ( n - 1) / 2 d. (n – 1) / 2
b. n ( n - 1) e. (n – 1) + 2
c. n - 1
![Page 318: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/318.jpg)
18. Maksimum jumlah busur dari n simpul dalam Directed Graph
a. n ( n - 1) / 2 d. (n – 1) / 2
b. n ( n - 1) e. (n – 1) + 2
c. n - 1
19. Critical Path dari simpul A ke simpul D
pada graph disamping adalah …
a. 15 d. 33
b. 18 e. 38
c. 20
A
B
C
D 5
8
10
12
18
![Page 319: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/319.jpg)
19. Critical Path dari simpul A ke simpul D
pada graph disamping adalah …
a. 15 d. 33
b. 18 e. 38
c. 20
20. Shortest Path dari simpul A ke simpul D
pada graph disamping adalah …
a. 15 d. 33
b. 18 e. 38
c. 20
A
B
C
D 5
8
10
12
18
A
B
C
D 5
8
10
12
18
![Page 320: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/320.jpg)
A
B
C
D 5
8
10
12
18
20. Shortest Path dari simpul A ke simpul D pada graph disamping adalah … a. 15 d. 33 b. 18 e. 38 c. 20 21. Matriks penyajian graph yang menghubungkan vertex
dengan vertex, tanpa ruas sejajar disebut matriks.. a. Incidence b. Adjacency c. Ruas d. Vertex e. Simpul
![Page 321: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/321.jpg)
21. Matriks penyajian graph yang menghubungkan vertex dengan vertex, tanpa ruas sejajar disebut matriks..
a. Incidence b. Adjacency c. Ruas d. Vertex e. Simpul 22. Yang tidak termasuk dalam matriks penyajian graph
adalah matriks.. a. Adjacency b. Incidence c. Ruas d. Size e. Transpose
![Page 322: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/322.jpg)
22. Yang tidak termasuk dalam matriks penyajian graph adalah matriks..
a. Adjacency b. Incidence c. Ruas d. Size e. Transpose 23. Bila diketahui simpul dari suatu graph berarah
(directed graph) adalah 5, maka maksimum jumlah busur dari graph tersebut adalah..
a. 25 d. 10 b. 20 e. 5 c. 15
![Page 323: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/323.jpg)
23. Bila diketahui simpul dari suatu graph berarah
(directed graph) adalah 5, maka maksimum jumlah busur dari graph tersebut adalah..
a. 25 d. 10 b. 20 e. 5 c. 15 24.Penelusuran graph yang diawali dari Node-1,
kemudian melebar pada Adjacent Node dari Node-1 dan diteruskan pada Node-2, Node- 3 dan seterusnya, adalah penelusuran dengan cara..
a. Breadth First Search b. Depth First Search c. Node First Search d. Edge First Search e. Vertex First Search
![Page 324: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/324.jpg)
24.Penelusuran graph yang diawali dari Node-1, kemudian melebar pada Adjacent Node dari Node-1 dan diteruskan pada Node-2, Node- 3 dan seterusnya, adalah penelusuran dengan cara..
a. Breadth First Search d. Edge First Search b. Depth First Search e. Vertex First Search c. Node First Search
25.Penelusuran pada graph tak berarah dengan
melakukan pengecekan pada node dengan kedalaman
node yang ditinjau, adalah penelusuran dengan cara..
a. Breadth First Search d. Edge First Search
b. Depth First Search e. Vertex First Search
c. Node First Search
![Page 325: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/325.jpg)
25.Penelusuran pada graph tak berarah dengan
melakukan pengecekan pada node dengan
kedalaman node yang ditinjau, adalah penelusuran
dengan cara..
a. Breadth First Search d. Edge First Search
b. Depth First Search e. Vertex First Search
c. Node First Search
26. Matriks penyajian graph yang menghubungkan vertex dengan edge, tanpa self loop disebut matriks..
a. Incidence d. Vertex
b. Adjacency e. Simpul
c. Ruas
![Page 326: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/326.jpg)
26. Matriks penyajian graph yang menghubungkan vertex dengan edge, tanpa self loop disebut matriks..
a. Incidence d. Vertex b. Adjacency e. Simpul c. Ruas 27. Walk yang semua simpul dalam barisan adalah
berbeda, dan dapat dipastikan merupakan suatu trail, adalah..
a. Trail d. Sirkuit b. Walk e. Cycle c. Path
![Page 327: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/327.jpg)
27. Walk yang semua simpul dalam barisan adalah berbeda, dan dapat dipastikan merupakan suatu trail, adalah..
a. Trail d. Sirkuit b. Walk e. Cycle c. Path 28.Berapa jumlah derajat simpul pada graph disamping.. a. 10 b. 11 c. 12 d. 13 e. 14
e5
e4
e3 e2
e1
e6
![Page 328: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/328.jpg)
28.Berapa jumlah derajat simpul pada graph disamping.. a. 10 b. 11 c. 12 d. 13 e. 14 29. Suatu bentuk graph terhubung yang tidak mengandung
sirkuit disebut.. a. Three d. Vertex b. Graph e. Simpul c. Ruas
e5
e4
e3 e2
e1
e6
![Page 329: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/329.jpg)
29. Suatu bentuk graph terhubung yang tidak mengandung sirkuit disebut..
a. Three d. Vertex b. Graph e. Simpul c. Ruas 30. Graph yang tidak mengandung ruas sejajar ataupun
self loop, sering disebut juga sebagai.. a. Euler graph d. Graph terarah b. Multigraph e. Graph tidak terarah c. Simple graph
![Page 330: DATA & STRUKTUR DATA · Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian](https://reader034.fdokumen.com/reader034/viewer/2022051107/60172fc7191f9a68267bdca0/html5/thumbnails/330.jpg)
30. Graph yang tidak mengandung ruas sejajar ataupun self loop, sering disebut juga sebagai..
a. Euler graph d. Graph terarah b. Multigraph e. Graph tidak terarah c. Simple graph 1. Simpul Khusus pada pohon yang memiliki derajat
keluar >= 0, dan derajat masuk = 0, adalah …. a. Node / simpul d. edge / ruas b. Root / akar e. level c. Leaf / daun