STRUKTUR DATA
Alhamdulillah, pertama penulis mengucapkan rasa syukur dan segala puji kepada
Allah SWT yang telah melimpahkan segala Rahmat dan KaruniaNYA, sehingga
modul Struktur Data ini dapat diselesaikan. Modul Struktur Data ini diharapkan dapat
mendukung mahasiswa dalam memahami matakuliah Struktur Data. Modul ini dibuat
membahas mengenai konsep Struktur Data secara umum. Modul ini membahas
mengenai Konsep Struktur Data & Array, Sistem Bilangan, Representasi Data, Array
Dimensi Banyak, Single Linked List (Non Circular), Stack, Queue, Struktur Pohon &
Kunjungan Pohon Biner, dan Graph . Akhir kata, penulis menyampaikan terimakasih
yang tulus kepada pihak-pihak yang telah memberikan bantuan dan dukungannya
sehingga penulis dapat menyelesaikan penulisan modul ini. Pada akhir kata, penulis
memohon maaf yang sebesar-besarnya jika dalam penulisan modul ini masih banyak
kekurangan dan kelemahannya. Penulis memohon adanya sumbangan ide, kritik dan
saran untuk perbaikan penulisan modul ini supaya lebih baik ke depannya.
ii
DAFTAR ISI
KATA PENGANTAR............................................................................................................ii
DAFTAR ISI..........................................................................................................................iii
BAB I KONSEP STRUKTUR DATA & ARRAY..............................................................1
1.1 Pengertian Struktur Data......................................................................................1
1.2 Konsep Dasar Tipe Data........................................................................................1
1.3 Konversi Bilangan..................................................................................................8
1.4 Array.......................................................................................................................9
BAB II SISTEM BILANGAN.............................................................................................16
2.1 Konsep Dasar Sistem Bilangan............................................................................16
2.2 Satuan Data...........................................................................................................18
2.3 Sistem Pengkodean...............................................................................................19
2.4 Konversi Bilangan................................................................................................21
BAB III REPRESENTASI DATA......................................................................................27
3.1 Pengertian Representasi Data.............................................................................27
3.2 Representasi Integer.............................................................................................28
3.3 Penjumlahan Biner...............................................................................................30
BAB IV ARRAY DIMENSI BANYAK..............................................................................33
4.1 Array Dimensi Tiga (Three Dimensional Array)...............................................33
4.2 Tringular Array....................................................................................................35
BAB V SINGLE LINKED LIST (NON CIRCULAR).......................................................37
5.1 Konsep Pointer dan Linked List.........................................................................37
5.2 Pointer...................................................................................................................37
5.3 Linked List............................................................................................................38
5.4 Single Linked List Non Circular.........................................................................40
5.5 Single Linked List Non Circular Menggunakan Head......................................41
5.6 Menampilkan Isi Linked List..............................................................................47
5.7 Singled Linked List Non Circular Menggunakan Head dan Tail.....................48
BAB VI STACK ATAU TUMPUKAN...............................................................................54
6.1 Pengertian Stack atau tumpukan........................................................................54
iii
6.2 Operasi Stack atau Tumpukan............................................................................54
BAB VII QUEUE (ANTRIAN)...........................................................................................59
7.1 Pengertian Queue (Antrian)................................................................................59
7.2 Deklarasi Queue...................................................................................................59
7.3 Operasi Pada Queue.............................................................................................60
BAB VIII STRUKTUR POHON & KUNJUNGAN POHON BINER.............................64
8.1 Pengertian Tree (Pohon)......................................................................................64
8.2 Isilah Dasar dalam Pohon....................................................................................64
8.3 Isilah-Istilah dalam Pohon...................................................................................64
8.4 Sifat Utama Pohon Berakar.................................................................................66
8.5 Pohon Biner (Binary Tree)..................................................................................69
8.6 Istilah-istilah Pada Pohon Biner..........................................................................70
8.7 Deklarasi Pohon Biner.........................................................................................72
8.8 Penyajian Pohon Biner.........................................................................................72
BAB IX KUNJUNGAN PADA POHON BINER...............................................................74
9.1 Kunjungan Pada Pohon Biner.............................................................................74
9.2 Kunjungan Secara PreOrder (Depth First Order)...............................................74
9.3 Kunjungan Secara InOrder (Symetric Order)...................................................76
9.4 Kunjungan PostOrder..........................................................................................77
9.5 Kunjungan Level Order.......................................................................................78
9.6 Aplikasi Pohon Biner...........................................................................................78
BAB X GRAPH DAN MATRIK PENYAJIAN GRAPH..................................................80
10.1 Graph................................................................................................................80
10.2 Graph Berlabel.................................................................................................82
10.3 Derajat Graph......................................................................................................83
10.4 Multigraph............................................................................................................84
10.5 Keterhubungan.....................................................................................................84
10.6 Graph Terarah (Directed Graph / DiGraph).....................................................87
10.7 Graph Tidak Terarah (Undirect Graph)............................................................88
10.8 Critical Path..........................................................................................................88
10.9 Minimum Spanning Tree.....................................................................................89
10.10 Matriks Penyajian Graph................................................................................89
iv
DAFTAR PUSTAKA...........................................................................................................93
v
BAB I
Struktur Data adalah : suatu koleksi atau kelompok data yang dapat
menghasilkan Algoritma yang lebih jelas dan tepat sehingga menjadikan program
Terdiri dari :
1) Integer
...-3,-2,-1,0,1,2,3,....
1
2
2) Real/Float
Type data yang merupakan bilangan pecahan. Jenis Data float ditulis
M = Pecahan, R = Radix,
e = Exponen, X = Hasil
= 0.32
3) Boolean
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
4) Character
Type data yang terdiri dari aksara (simbol) yang meliputi digit
Contoh :
Misalnya : String
alfabet. Pemberian nilai String diapit dengan tanda petik ganda (“).
[panjang] ;
1) Strcpy()
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
main()
{
char asal[100];
char hasil[100];
cout<<"Masukan kalimat : "; gets(asal);
strcpy(hasil,asal);cout<<endl;
cout<<"Kalimat asal : "<<asal<<endl;
cout<<"Kalimat hasil : "<<hasil<<endl;
getch(); }
2) Strcat
int main() {
char string1 [] ="Belajar";
char string2 [] ="Logika Algortima";
cout<<"Menggabungkan String"<<endl;
cout<<"-------------------"<<endl;
cout<<"string1 :
"<<string1<<endl; cout<<"string2
: "<<string2<<endl; strcat(string1,
string2);
cout<<"\nSetelah digabung, string1 sekarang menjadi:
"<<string1<<endl;
getche(); }
5
3) Strcmp
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
main()
{
char sa[]="Logika";
char sb[]="Logika Algoritma";
char sc[]="Logika Algoritma & Pemprograman";
/*Melakukan perbandingan terhadap dua string dan penampilan
nilainya*/
printf("Nilai Yang dibandingkan sa,sb : %d\n",strcmp(sa,sb));
printf("Nilai Yang dibandingkan sa,sc : %d\n",strcmp(sa,sc));
printf("Nilai Yang dibandingkan sb,sa : %d\n",strcmp(sb,sa));
getch();
return 0;
}
4) Strlen
#include <iostream.h>
#include <conio.h>
#include <string.h>
main()
{
char nama[50] = "Logika
Algoritma"; char kosong[50] = "";
clrscr();
cout << "jumlah karakter dari nama adalah " << strlen(nama) << endl;
cout << "jumlah karakter dari kosong adalah " << strlen(kosong) <<
endl;
getch();}
5) Strchr
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main(void){
char str [100]="Aisyah Zahra";
char karakter='Z';
char *hasil;
hasil=strchr(str,karakter);
printf("Hasil Peubah :%s\n",hasil);
7
2. Struktur Data
Terdiri dari :
1) Array
2) Record
terdiri dari berbagai type. Satuan data sering disebut sebagai field dari
Terdiri dari :
a. Linier
8
b. Non Linier
Misalnya : Pohon (Tree), Pohon Biner (Binary Tree), Pohon Cari Biner
8, dan 9
5, 6, 7, 8, 9, A, B, C, D, E, dan F
bilangan tersebut tidak bisa lagi dibagi enam belas (kurang dari enam belas)
1.4 Array
1. Pengertian Array
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. Sebuah Array
dapat mempunyai elemen yang seluruhnya berupa integer atau character atau String
bahkan dapat pula terjadi suatu Array mempunyai elemen berupa Array.
2. Karakteristik Array
Contoh :
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();
}
& tiga)
Contoh :
Dimana :
data Contoh :
int A[5]; dengan alamat awal index berada di 0011 (H) dan
array A[3]
?
12
Output :
13
IN
14
pemrograman.
& tiga)
Contoh :
Keterangan :
array,I : Baris
j : kolom
Contoh Pemetaan :
#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();
}
BAB II
SEARCHING
BAB III
STRUCT
24
25
26
BAB IV
POINTER
27
28