:: The Green World RouLi ::

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

Laman

Translate

Cari Blog Ini

Follow my Twitter ^^

Tampilkan postingan dengan label algoritma. Tampilkan semua postingan
Tampilkan postingan dengan label algoritma. Tampilkan semua postingan

Selasa, 25 Januari 2011

Program Algoritma dan Pemrograman

Berhubung lama gak posting jadi posting ini ajach Yachh sebenarnya ini tugas kuliah gw.

Contoh Print screen program mengurutkan nilai di c++



donlot codingnya mengurutkan nilai disini


kalo yang dibawah ini contoh prit screennya mencari nilai maximum di c++

donlot mencari nilai maks disini

contohnya cuma yg simpel karna gw belum ahli, klo ada yg mau ngoreksi silahkan koment :D
»»  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...

Sabtu, 04 Desember 2010

Animasi Queue dan Stack C++

wooow searchh gogle dapat program animasi Queue dan Stack keren
nich donlot dahhhh

yang ini animasi stack
animasis.cpp
yang ini animasi Queue
animque2.cpp

by : http://www.blogtopsites.com/outpost/c47810df7fe862e762666b1e8e4cf290
»»  Baca Selengkapnya...

Selasa, 09 November 2010

[kuliah] Mengurutkan nilai pada ARRAY

Mungkin para mahasiswa yang mengambil jurusan komputer/ IT dan yang sedang mengambil matkuliah pemrograman (algoritma) berikut saya ingin share materi tentang itu atau lebih tepatnya tentang MENGURUTKAN NILAI DENGAN ARRAY


entah kenapa codingnya ada eror kalo dicopy paste karna program dalam blog tidak mendukung untuk menampilkan semua codingannya, tapi printscreennya ada jadi codingnya liat disitu ajach yachh !!

Berikut adalah codingnya :

#include
#include
void input( float bil[],int n)
{
cout<<<"bilangan ke-"<<(i+1)<<" = "; cin>>bil[i];
}
}


void urut (float bil [],int n)
{
for(int i=0; i=0; j--)
{
if (bil[j] < tem="bil[j];"><<"\tHasil Bilangan setelah Berurutan\n"; cout<<"------------------------------------------\n"; for(int i=0; i<<<" "; } getch(); } void main () { int n; float bil[100]; cout<<"Banyak bilangan : "; cin>>n;
input(bil,n);
urut(bil,n);
cetak(bil,n);
}

berikut adalah printscreen dari coding diatas



lajutannya



Berikut Contoh Untuk OUTPUTNYA






silahkan coba mungkin punya gw masih banyak kekurangan :)

tolong tulis coment'y agar saya dapat evaluasi lagi.
gomawo :D

by asdos, dosemn, modul, googling.....
»»  Baca Selengkapnya...

array statis

berikut contoh array untuk matriks Statis


silahkan kalian coba coba lagi yuachhhhh !!!!
»»  Baca Selengkapnya...

Rabu, 03 November 2010

Looping for dgn c++

Mendokumentasikan materi yg ada dilemari :p kalo dilepas dunia maya qn ga bakal ilang :D

LOOPING ( PENGULANGAN )
adalah perintah yg dapat dieksekusi lebih dari satu kali,

bentuk pengulangan
o> pernyataan while
o> pernyataan do...while
o> pernyataan for
o> pernyataan continue dan break

contoh2 program dgn looping
1)segitiga





2) dgn while

#include //mencari faktorial
void main ()
{
int i,n;

cout<<"mencari faktorial"<<<"inputkan nilai yang akan difaktorialkan = "; cin>>n;

i=0;
while (i <= n)
{
i++
int fak = 1;
fak = fak*i;
}
cout<<"maka faktorial dari "<<<" adalah "<
}
}

sumber pengalaman wkwkwk !!
»»  Baca Selengkapnya...

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...