" aLL tHanks f0r vIew bLog_y na'2;(n_n)...

wELc0me to mY bLog....

m0hon c0mment-y yApppzzz..!!!


(n_n)


Tampilkan postingan dengan label maTa kuLiaH sMstr 2_MI. Tampilkan semua postingan
Tampilkan postingan dengan label maTa kuLiaH sMstr 2_MI. Tampilkan semua postingan

Minggu, Mei 24, 2009

_ 9'th m0duL !!


" TREE "


" Tree ;

Merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen.
Tree bisa didefinisikan sebagai kumpulan simpul/node dengan satu elemen khusus yang disebut Root dan node lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan satu sama lainnya (disebut subtree).
Untuk jelasnya, di bawah akan diuraikan istilah-istilah umum dalam tree :

a) Prodecessor : node yang berada diatas node tertentu.
b) Successor : node yang berada di bawah node tertentu.
c) Ancestor : seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama.
d) Descendant : seluruh node yang terletak sesudah node tertentu dan terletak pada jalur yang sama.
e) Parent : predecssor satu level di atas suatu node.
f) Child : successor satu level di bawah suatu node.
g) Sibling : node-node yang memiliki parent yang sama dengan suatu node.
h) Subtree : bagian dari tree yang berupa suatu node beserta descendantnya dan memiliki semua karakteristik dari tree tersebut.
i) Size : banyaknya node dalam suatu tree.
j) Height : banyaknya tingkatan/level dalam suatu tree.
k) Root : satu-satunya node khusus dalam tree yang tak punya predecssor.
l) Leaf : node-node dalam tree yang tak memiliki seccessor.
m) Degree : banyaknya child yang dimiliki suatu node.

" Beberapa jenis Tree yang memiliki sifat khusus :

1) 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, maka tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.


Jenis-jenis Binary Tree :

a) Full Binary Tree


Binary Tree yang tiap nodenya (kecuali leaf) memiliki dua child dan tiap subtree harus mempunyai panjang path yang sama.


b) Complete Binary Tree

Mirip dengan Full Binary Tree, namun tiap subtree boleh memiliki panjang path yang berbeda. Node kecuali leaf memiliki 0 atau 2 child.


c) Skewed Binary Tree

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



Implementasi Binary Tree

" Binary Tree dapat diimplemntasikan dalam Pascal dengan menggunakan double Linked List. Untuk nodenya, bisa dideklarasikan sbb :


Type Tree = ^node;

Node = record
Isi : TipeData;
Left,Right : Tree;
end;

Contoh ilustrasi Tree yang disusun dengan double linked list :


(Ket: LC=Left Child; RC=Right Child)

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 tak boleh kosong)

 Update : Mengubah isi dari node yang ditunjuk oleh pointer current. (Tree tidak boleh kosong)
 Retrieve : Mengetahui isi dari node yang ditunjuk pointer current. (Tree tidak boleh kosong)
 DeleteSub : Menghapus sebuah subtree (node beserta seluruh descendantnya) yang ditunjuk current. Tree tak boleh kosong. Setelah itu pointer current akan berpindah ke parent dari node yang dihapus.
 Characteristic : Mengetahui karakteristik dari suatu tree, yakni : size, height, serta average lengthnya. Tree tidak boleh kosong. (Average Length = [jumlahNodeLvl1*1+jmlNodeLvl2*2+…+jmlNodeLvln*n]/Size)
 Traverse : Mengunjungi seluruh node-node pada tree, masing-masing sekali. Hasilnya adalah urutan informasi secara linier yang tersimpan dalam tree. Ada tiga cara traverse : Pre Order, In Order, dan Post Order.


Langkah-Langkahnya Traverse :

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

2) Binary search Tree

" Adalah Binary Tree dengan sifat bahwa semua left child harus lebih kecil daripada right child dan parentnya. Juga semua right child harus lebih besar dari left child serta parentnya. Binary seach tree dibuat untuk mengatasi kelemahan pada binary tree biasa, yaitu kesulitan dalam searching / pencarian node tertentu dalam binary tree.

" Pada dasarnya operasi dalam binary search tree sama dengan Binary tree biasa, kecuali pada operasi insert, update, dan delete.

1. Insert : Pada Binary Search Tree, insert dilakukan setelah ditemukan lokasi yang tepat. (Lokasi tidak ditentukan oleh user sendiri).


2. Update : Seperti pada Binary Tree biasa, namun disini uapte akan berpengaruh pada posisi node tersebut selanjutnya. Bila setelah diupdate mengakibatkan tree tersebut bukan Binary Search Tree lagi, maka harus dilakukan perubahan pada tree dengan melakukan perubahan pada tree dengan melakukan rotasi supaya tetap menjadi Binary Search Tree.


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

Read More......

Kamis, Mei 21, 2009

" dekLarasi-2 !


" kaLo sbLum-nya na uda baHas sTruktuR-y; sekarang kitA baHas deKLarasi-2 yang aDa di baHasa pAscaL itu.!!!!!

1) Deklarasi Variable:


Mendeklarasikan varibel adalah:

a. Memberikan nama variabel sebagai identitas pengenal


b. Menentukan tipe data variabel


Contoh deklarasi variabel:

var K : integer;
R : real;
C : char;
T : boolean;


Beberapa identifier yang sejenis bisa dideklarasikan bersamaan.
var i, j, k : integer;{Variabel i, j dan k sebagai integer}
namaMHS, alamatMHS : char; {Nama dan alamat mahasiswa }




2) Deklarasi Konstanta:


Mendeklarasikan konstanta adalah:

a. Memberikan nama konstanta sebagai identitas pengenal
b. Menentukan nilai konstanta

Contoh deklarasi konstanta:

const MaximumSize = 100; {integer }

ExitCommand = 'Q'; {char }

Read More......

" Dasar Bahasa PascaL"


Unsur-unsur Pemrograman ;
a. Mendapatkan data dengan membaca data dari default input (key board, file atau sumber data lainnya). b. Menyimpan data ke dalam memori dengan struktur data yang sesuai, c. Memproses data dengan instruksi yang tepat. d. Menyajikan atau mengirimkan hasil olahan data ke default output (monitor, file atau tujuan lainnya).


" beRhubunhg Tugas mata kuLiah kaLi ini beLajar ttg PASCAL,jadi Yahhh...seDikit baNyak bAhas PascaL dEhhh...he..he..!!!
yang peRtama kitA baHas,sTrukTurnya aja kaLi yaH...


" Struktur Bahasa PASCAL secara umum "

Pascal mempunyai struktur sebagai berikut:

1. Bagian Judul Program 2. Bagian Deklarasi a. Deklarasi tipe data (TYPE) b. Deklarasi variabel (VAR) c. Deklarasi konstanta (CONST) d. Deklarasi label (LABEL) e. Deklarasi sub-program (PROCEDURE dan FUNCTION) 3. Bagian Program Utama Perintah-perintah.

Teks Pascal setidaknya memiliki bagian Judul Program, bagian Deklarasi, dan Bagian Program Utama yang berupa perintah-perintah. Sedangkan untuk bagian deklarasi menyesuaikan dengan isi dari program itu sendiri. Contoh program PASCAL:

program TAMBAH_00; { Menjumlahkan dua bilangan yang nilainya diberikan dalam perintah}
var X, Y, Z: integer; { Deklarasi variabel X,Y dan Z sebagai bilangan bulat }
BEGIN { Program Utama Mulai }
X := 50; { Perintah memberikan nilai 50 pada var. X }
Y := 25; { Perintah memberikan nilai 25 pada var. Y }
Z := X + Y; { Perintah menjumlahkan X dan Y serta menyimpan hasilnya ke Z}
END. { Akhir Program Utama }

Pada contoh ini nilai X dan Y tidak bisa sembarang, karena didefiniskan tertentu. Agar nilai X dan Y bisa bebas ditentukan, nilai X dan Y dibaca dari default input.

program TAMBAH_01; { Menjumlahlan dua buah bilangan yang dibaca dari default input }
var X, Y, Z: integer; { Deklarasi variabel X,Y dan Z sebagai bilangan bulat }
BEGIN { Program Utama Mulai }
read(X); { Membaca nilai X lewat key-board }
read(Y); { Membaca nilai Y lewat key-board }
Z := X + Y; { Menjumlahkan X dan Y serta menyimpan hasilnya ke Z }
write(Z); { Menyajikan Z ke layar monitor }
END.
{ Akhir Program Utama }

" jaDi gItu tUh,c0ntoh daSar pEmrogrAman aLa PascaL.
RibeT sIh,taPi namanya juga tUntutAn pRofesI...!!!



Read More......

" ab0ut sTruktur dAta "


"struktur data mempelajari tentang struktur dan bentuk suatu data secara umum."

Salah satunya yaitu mengenai struktur data bahasa pascal.

Struktur Bahasa PASCAL secara umum

Pascal mempunyai struktur sebagai berikut:
1. Bagian Judul Program
2. Bagian Deklarasi
a. Deklarasi tipe data (TYPE)
b. Deklarasi variabel (VAR)
c. Deklarasi konstanta (CONST)
d. Deklarasi label (LABEL)
e. Deklarasi sub-program (PROCEDURE dan FUNCTION)
3. Bagian Program Utama Perintah-perintah.

Read More......