:: The Green World RouLi ::

Dunia saya, Dunia yang hijau, Dunianya Rouli...

Laman

Translate

Cari Blog Ini

Follow my Twitter ^^

Tampilkan postingan dengan label struktur data. Tampilkan semua postingan
Tampilkan postingan dengan label struktur data. Tampilkan semua postingan

Minggu, 30 Januari 2011

Materi Struktur Data part 1



Sebenernya Materi Kuliah buat UAS besnk... Yach belajar bikin Ringkasan, trus diposting dechh...
Jadi Bwt yg udah ahli mohon maap yach bwt posting amatiran sy :D

STRUKTUR DATA

Struktur data a/ Cara penyimpanan, Penyusunan & Pengaturan data didalam media penyimpanan komputer jadi dapat digunakaan secara Efisien.

2 aktivitas terhadap Objek data :
a. Mendeskripsikan kumpulan operasi sah yang diterapkan ke elemen-elemen objek data.
b. Menunjukan mekanisme kerja Operasi2

Tahap Pembuatan struktur data :
Tahap Pertama : Spesifikasi (Pendeskripsian) : apa yg dapat dilakukan struktur data yg melibatkan Logika -Spesi3ikasi dapat dilakukan dgn 2 cara, Formal & Informal.
Tahap Kedua : Implementasi : Menyatakan Penerapan struktur data yg telah ada. Implementasi berisi DEKLARASI struktur item2 data juga algoritma2 u/ Implementasi Operasi2 sehingga terjamin terpenuhinya Karakter Struktur data.
Tahap ketiga : Pemrograman : Pemrograman struktur data a/ Penerjemah menjadi pernyataan dibahasa Pemrograman.

Ciri-Ciri Algoritma :
a. Input (Masukan yg diberikan secara internal)
b. Output (Keluaran / Tampilan yg dihasilkan)
c. Definite (Menyatakan apa yg dilakukan)
d. Effective (Instruksi yg dilakukan secara Manual, dgn jumlah waktu yg berhingga)
e. Terminate (Berhenti setelah sejumlah Operasi)

LINKED LIST
-jujur Materi ini gak begitu ngerti-

Linked list a/ Struktur rangkaian elemen2 yg terkait melalui pointer

istilah :
Pointer : alamat Elemen
simpul : masing2 komponen
a. Bagian data / Medan informasi (Yang berisi informasi yg akan disimpan & diolah)
b. Link Field / Bagian Pointer / Medan penyambung (Menujuk kesimpul selanjutnya)
Simpul Dabu (Simpul Baru slalu diletakan sbg simpul pertama & simpul baru menyisip diatara ke-2 simpul yg sudah ada)

STACK

Stack a/ Kasus khusus Ordered List dgn penyimpanan & penghapusan disalah satu ujungnya, Stack lainnya disebut Pushdown List.
Stack memiliki sifat LIFO (Last In First Out).

Operasi dasar Stack :
a. Operasi Menciptakan S Sebagai Stack Koson (initS (S))
b. Operasi Menyisipkan elemen X ke stack S & mengembalikan Stack baru (Push (S,X))
c. Operasi Menghilangkan elemen puncak stack s, (Pop (s,x))
d. Operasi mengirim elemen puncak stack S, (topS (S,X))
e. Operasi Mengirim true jika S kosong, jika tidak kosong mengirim False (isEmptyS (S))
f. Operasi Mengirim jumlah elemen stack S (how manyInS (S))

Pengunaan Stack :
1. Simulasi Tumpukan didunia nyata (tumpukan Buku, Baju, Sate dll)
2. Pemanggilan Fungsi.
3. Implementasi Fungsi.
4. Penanganan Interupsi.
5. Evaluasi Ekspresi.
6. Konversi Infiks ke postfiks
7. Konvers Basis 10 kebasis 2.

Sumber Materi kuliah, wikipedia, mbah google
»»  Baca Selengkapnya...

Kamis, 23 Desember 2010

[kuliah] Tree Struktur data



Definisi Tree
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen. Tree bias didefinisikan sebagai kumpulan simpul/node dengan elemen khusus yang disebut Root. Notde lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan satu sama lain (disebut Subtree). Untuk lebih jelasnya, di bawah akan diuraikan istilah¬istilah umum dalam tree.
Predecessor Node yang berada di atas node tertentu
Successor Node yang berada dibawah node tertentu
Ancestor Seluruh node yang terletak sebelum node tertentu dan terletak
pada jalur yang sama
Descendant Seluruh node yang terletak sebelum node tertentu dan terletak
pada jalur yang sama
Parent Predecessor 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 punyak
predecessor
Leaf Node-node dalam tree yang tak memiliki successor
Degree Banyaknya child yang dimiliki suatu node

Jenis-Jenis Tree Binary Tree
Binary Tree adalah tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Sesuai dengan definisi tersebut tiap node dalam binary tree hanya boleh memiliki paling banyak dua child. Jenis-Jenis Binary Tree :
Full Binary Tree
Jenis binary tree ini tiap nodenya (kecuali leaf) memiliki dua child dan tiap subtree harus mempunyai panjang path yang sama.

Complete Binary Tree
Jenis ini mirip dengan Full Binary Tree, namun tiap subtree boleh memiliki panjang path yang berbeda dan setiap node kecuali leaf hanya boleh memiliki 2 child.

Skewed Binary Tree
Skewed Binary Tree adalah Binary Tree yang semua nodenya (kecuali leaf) hanya memiliki satu child.

Implementasi Binary Tree
Binary tree dapat diimplementasikan dalam C++ dengan menggunakan double linkedlist.

Operasi-Operasi pada Binary Tree
Create Membentuk binary tree baru yang masih kosong
Clear Mengosongkan binary tree yang sudah ada
Empty Function untuk memeriksa apakah binary tree masih kosong
Insert Memasukkan sebuah node ke dalam tree. Ada tiga pilihan
insert : sebagai root, left child, atau right child. Khusus insert
sebagai root, tree harus dalam keadaan kosong
Find Mencari root, parent, left child, atau right child dari suatu
node. (tree tidak boleh kosong).
Update Mengubah isi dari node yang ditunjuk oleh pointer curret
(Tree tidak boleh kosong)
Retrieve Mengetahui isi dari node yang ditunjuk oleh pointer current
(Tree tidak boleh kosong)
DeleteSub Menghapus sebuah subtree (node beserta seluruh descendant¬
nya) yang ditunjuk current. Tree tidak boleh kosong. Setelah
itu, pointer current dakan berpindah ke parent dari node yang
dihapus.
Characteristic Mengetahui karakteristik dari suatu tree, yakni: size, height,
serta average length. Tree tidak boleh kosong.
Traverse Mengunjungi seluruh node-node pada tree, masing-masing
sekali. Hasilnya adalah urutan informasi secara linear yang
tersimpan dalam tree. Ada tiga cara traverse,yaitu PreOrder,
InOrder, dan PostOrder.

Langkah-langkah Tranverse :
. • PreOrder : cetak isi node yang dikunjungi, kunjungi Left Child, kunjungi Right Child
. • InOrder : kunjungi Left Child, cetak isi node yang dikunjungi, kunjungi Right Child
. • PostOrder : kunjungi Left Child, kunjungi Right Child cetak isi node yang dikunjungi.


Binary Search Tree
Binary Tree ini memiliki sifat dimana semua left child harus lebih kecil dari pada right child dan parentnya. Semua right child juga harus lebih besar dari left child serta parent-nya. Binary search tree dibuat untuk mengatasi kelemahan pada binary tree biasa, yaitu kesulitan dalam searching / pendarian node tertentu dalam binary tree. Pada dasarnya operasi dalam Binary Search Tree sama dengan Binary Tree biasa, kecuali pada operasi insert, update, dan delete.
Insert
Pada Binary Search Tree insert dilakukan setelah lokasi yang tepat ditemukan (lokasi tidak ditentukan oleh user sendiri ).

Update
Update ini seperti yang ada pada Binary Tree biasa, namun di sini update akan berpengaruh pada posisi node tersebut selanjutnya. Bila update mengakibatkan tree tersebut bukan Binary Search Tree lagi, harus dilakukan perubahan pada tree dengan melakukan rotasi supaya tetap menjadi Binary Search Tree.

Delete
Seperti halnya update, delete dalam Binary Search Tree juga turut mempengaruhi struktur dari tree tersebut.

AVL Tree
AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi/ level maksimal 1 antara subtree kiri dan subtree kanan. AVL Tree muncul untuk menyeimbangkan Binary Search Tree. Dengan AVL Tree, waktu pencarian dan bentuk tree dapat dipersingkat dan disederhanakan. Selain AVL Tree, terdapat pula Height Balanced n Tree, yakni Binary Search Tree yang memiliki perbedaan level antara subtree kiri dan subtree kanan maksimal adalah n sehingga dengan kata lain AVL Tree adalah Height Balanced 1 Tree. Untuk memudahkan dalam menyeimbangkan tree, digunakan simbol-simbol Bantu :
-(tanda minus) : digunakan apabila Subtree kiri lebih panjang dari Subtree kanan.
+ (tanda plus) : digunakan apabila Subtree kanan lebih panjang dari Subtree kiri.
0 (nol) : digunakan apabila Subtree kiri dan Subtree kanan mempunyai
height yang sama.

contoh program donlot disini
tree.cpp

credit http://ypraptomo.files.wordpress.com/2009/01/struktur-data-c.doc
»»  Baca Selengkapnya...

Rabu, 22 Desember 2010

[kuliah] makalah Queue


nitip makalah ahhhh



teman donlot disini uadh itu langsung kirim keAsdosnya yachh !!!

Makalah QUEUE1.doc
»»  Baca Selengkapnya...

Rabu, 03 November 2010

Array dan contoh programnya dgn c++

Sebenernya bingung mw posting apa tp otak kena virus array jd posting tentang array aja dachh

Array : Variabel yang dapat diisi lebih dari satu data dgn tipe data yang sama
array terdapat beberapa macam :
1. Array 1 dimensi.
Berikut contoh array 1 dimensi pada c++ untuk mencari nilai maximum

#include //mencari nilai maximum
void main ()
{
int n, max ;
int x [30]; //jika data yg mau dimasukan 30
cout<<"masukan data : ";
cin>>n;

for (int i=0; i {
cout<<"masukan data : "< cin>> x[i];
}

max = x[0];

for (int j=0; j {
if (max < x[j]) //jika ingin nilai min yg dicari ganti tanda < menjadi >
{max = x[j]}
cout<<"nilai max = "< }
}


2. Array 2 dimensi : Sekumpulan informasi (data) yg setiap elemennya mengacu dgn 2 buah index (kolom dan baris) biasanya array 2 dimensi dgunakan untuk matriks


sumber : modul algoritma, asdos, dosen dll
»»  Baca Selengkapnya...