Penyimpanan Data
NAMA KELOMPOK :
ADILLA MUSTIKA JANNAH 2009010067
DANIAL RAMADHAN 209010074
FARHAN ZULKARNAEN HARAHAP 2009010060
KELAS :
B1 PAGI
1
KATA PENGANTAR
Alhamdulillah, puji syukur ke hadirat Allah SWT. Karena atas taufik dan rahmat-Nya
kami dapat menyelesaikan miniriset tentang “Analisis Algoritma Tree Short dalam
Pengolahan dan Penyimpanan Data” ini. Shalawat serta salam senantiasa kita
sanjungkan kepada junjungan kita, Nabi Muhammad SAW, keluarga, sahabat, serta
semua umatnya hingga kini. Dan Semoga kita termasuk dari golongan yang kelak
mendapatkan syafaatnya.
Dalam kesempatan ini, kami ingin mengucapkan terima kasih kepada semua pihak
yang telah berkenan membantu pada tahap penyusunan hingga selesainya miniriset
Struktur Data ini. Harapan kami semoga miniriset Struktur Data yang telah tersusun
ini dapat bermanfaat sebagai salah satu rujukan maupun pedoman bagi para pembaca,
menambah wawasan serta pengalaman, sehingga nantinya saya dapat memperbaiki
bentuk ataupun isi makalah ini menjadi lebih baik lagi.
Kami sadar bahwa kami ini tentunya tidak lepas dari banyaknya kekurangan, baik
dari aspek kualitas maupun kuantitas dari bahan penelitian yang dipaparkan. Semua
ini murni didasari oleh keterbatasan yang kami miliki. Oleh sebab itu, kami
membutuhkan kritik dan saran kepada segenap pembaca yang bersifat membangun
untuk lebih meningkatkan kualitas di kemudian hari.
2
DAFTAR ISI
KATA PENGANTAR...........................................................................................................i
DAFTAR ISI..........................................................................................................................iii
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah..............................................................................................1
1.2. Rumusan Masalah........................................................................................................2
1.3. Tujuan Penelitian.........................................................................................................2
1.4. Manfaat Penelitian.......................................................................................................2
BAB II PEMBAHASAN
2.1. Kajian Teori................................................................................................................3
BAB III
3.1. Deskripsi Alur.............................................................................................................8
3.2. Implementasi Algoritma...............................................................................................8
BAB IV
4.2. Kesimpulan.................................................................................................................13
4.3. Saran...........................................................................................................................13
PENUTUP
3
BAB I
PENDAHULUAN
4
1.2. Rumusan Masalah
Dalam Penulisan Laporan Mini Riset dan Rekayasa Ide ini maka didapat rumusan
masalah sebagai berikut :
1. Bagaimana Efisiensi Algoritma Tree Sort?
2. Bagaimana Proses Algoritma Tree sort?
3. Serta Bagaimana Hasil Algoritma Tree Sort?
Materi
A. Tree Sort
Pengurutan (Sorting) adalah suatu proses pengurutan data yang sebelumnya
disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan
tertentu.
1. Definisi Tree Sort
Tree Merupakan kumpulan node yang saling terhubung satu sama lain dalam suatu
kesatuan yang membentuk layakya struktur sebuah pohon. Struktur pohon adalah suatu
cara merepresentasikan suatu struktur hirarki (one-to-many) secara grafis yang mirip
sebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan node-node dari
atas ke bawah.
Jika kita memperhatikan setiap simpul dalam pohon biner, kita bisa menyusun struktur
data yang tepat dari simpul-simpul tersebut. Kita dapat melihat bahwa dalam setiap
simpul selalu berisi dua buah pointer untuk menunjuk ke cabang kiri dan cabang kanan,
dan informasi yang akan disimpan dalam simpul tersebut. Dengan memperhatikan hal
ini, simpul dalam pohon biner disajikan sebagai berikut :
Kiri Info Kanan
Sesuai dengan gambar diatas maka deklarasi list yang sesuai adalah : typedef
char TypeInfo;
typedef struct Simpul *Tree; struct
Simpul {
TypeInfo Info;
tree Kiri, /* cabang kiri */
Kanan; /* cabang kanan */
};
Tree sort adalah metode sorting dengan cara membangun pohon biner
dengan menampilkan 3 hasil output yaitu berupa PreOrder, InOrder, PostOrder.
2. Istilah – istilah dalam Tree
Prodecessor : node yang berada diatas node tertentu.
Successor : node yang berada di bawah node tertentu.
Ancestor : seluruh node yang terletak sebelum node tertentu dan
terletak pada jalur yang sama.
Descendant : seluruh node yang terletak sesudah node tertentu dan
terletak pada jalur yang sama.
Parent : predecssor satu level di atas suatu node.
Child : successor satu level di bawah suatu node.
Sibling : node-node yang memiliki parent yang sama dengan suatu
node.
Subtree : bagian dari tree yang berupa suatu node beserta
descendantnya dan memiliki semua karakteristik dari tree
tersebut.
Size : banyaknya node dalam suatu tree.
Height : banyaknya tingkatan/level dalam suatu tree.
Root : satu-satunya node khusus dalam tree yang tak punya
predecssor.
Leaf : node-node dalam tree yang tak memiliki seccessor.
Degree : banyaknya child yang dimiliki suatu node.
3. Jenis – jenis Tree
a. Binary Tree
Tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal
dua sub pohon dan kedua subpohon harus terpisah. Kelebihan struktur
Binary Tree :
Mudah dalam penyusunan algoritma sorting
Searching data relatif cepat
Fleksibel dalam penambahan dan penghapusan data
AVL Tree
AVL Tree adalah Binary Search Tree yang memilikikeseimbangan yang
tetap antara subpohon kiri dan kanan tidak lebih dari 1 untuk setiap simpulnya dan
memiliki ketinggian yang sama
IMPLEMENTASI
b. Inorder
Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :
– Kunjungi cabang kiri.
– Cetak isi simpul yang dikunjungi.
– Kunjungi cabang kanan.
Prosedur untuk melakukan traversal secara INORDER adalah sebagai berikut:
c. Postorder
Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :
– Kunjungi cabang kiri.
– Kunjungi cabang kanan.
– Cetak isi simpul yang dikunjungi.
Selanjutnya kita akan membahas alur partition sort yaitu, Pertama siapkan angka
yang ingin diurutkan dengan metode Quick Short lalu Pilih elemen sementara atau
pivot value, elemen sementara ini berguna sebagai patokan selesainya partisi. karena
hanya sementara, jadi kalau partisinya sudah mencapai elemen sementara tersebut maka
partisi selesai dan harus memilih elemen sementara yang lain sebagai patokan.
Setelah ditentukan elemen sementaranya, kita pilih angka pertama dan terakhir.
Jika angka pertama sudah benar posisinya yaitu angka 1 lebih kecil dari angka 7
(elemen sementara), maka kita geser 1 angka dari angka pertama. Jika angka terkahir
belum benar dan harus dicocokkan jadi tidak harus menggeser ke angka sebelahnya
terlebih dahulu. Dan akan begitu seterusnya.
3.2. Implementasi Algoritma
A. Berikut Merupakan Implementasi Algoritma dari Tree Sort
void BuatSimpulAkar ( )
{ if (Root == NULL)
{ if (P 1 = NULL)
{ Root = P ;
Root -> Leaf = NULL;
Root -> Right = NULL;
}
else
printf (“ \n Simpul Belum Dibuat”);
else
printf (“Pohon sudah Ada “);
3. Pembuatan Simpul
4. PROSES
#include "iostream"
#include "conio.h"
using namespace std;
struct Node {
int item; //variabel item
Node *kiri; //pointer ke subtree kiri
Node *kanan; //pointer ke subtree kanan
};
main()
{
int item;
Node *phn; //pointer phn untuk menghubungkan dengan link Node
phn = NULL; //alamat pointer phn pada NULL
char pil;
do {
system("cls");
cout<<"\tTREE SORT\n";
cout<<"1. Tambah\n";
cout<<"2. Pre-order\n";
cout<<"3. In-order\n";
cout<<"4. Post-order\n";
cout<<"5. Keluar\n";
cout<<"Silahkan masukkan pilihan anda (1-5)... ";
pil=getche();
if(pil=='1')
{
cout<<"\n";
cout<<"\nItem baru : ";cin>>item;
tambah(&phn,item); //fungsi tambah dengan menggunakan alamat pointer phn
dengan variabel
}
if(pil=='2')
{
if(phn!=NULL) { //jika phn tidak kosong
cout<< "\n-->Item yang masuk : ";tampil (phn); //cetak item yang masuk
cout<<"\n-->preOrde : ";preOrder(phn); //cetak preOrder
}
else cout<<"\n-->Masih kosong!";
getch();
}
if(pil=='3')
{
if(phn!=NULL) {
cout<< "\n-->Item yang masuk : ";tampil(phn); //cetak item yang masuk
cout<<"\n-->inOrder : ";inOrder (phn); //cetak item inOrder
}
else cout<<"\n-->Masih kosong!";
getch();
}
if(pil=='4')
{
if(phn!=NULL) {
cout<< "\n-->Item yang masuk : ";tampil (phn); //cetak item yang masuk
cout<<"\n-->postOrder : ";postOrder(phn); //cetak item postOrder
}
else cout<<"\n-->Masih kosong!";
getch();
}
}
while(pil!='5');
cout<<"\n";
}
BAB IV
Kesimpulan
Sorting merupakan suatu proses untuk menyusun kembali humpunan
obyek menggunakan aturan tertentu. Tree Sort yang merupakan metode
sorting dengan cara membangun pohon biner dengan menampilkan 3 hasil
output yaitu berupa PreOrder, InOrder, PostOrder.
Saran
Semoga dalam pengerjaan tugas makalah berikutnya lebih baik lagi dari
pengerjaan tugas makalah yang sebelumnya. Dan kami berharap pembaca
dapat memakluminya dan dapat memberikan masukan yang bersifat
membangun agar kedepanya Laporan dapat menjadi semakin bagus.