- sapta fadhila yang cantik jelita tiada duanya di indonesia blog's

Minggu, 13 Juni 2010

SEARCHING


Searching adalah pencarian data dengan cara menelusuri data-data tersebut.Pada suatu data seringkali dibutuhkan pembacaan kembali informasi (retrieval information) dengan cara searching.empat pencarian data dapat berupa array dalam memori, bisa juga pada file pada external storage



Sequential Search

Adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.

Kemungkinan terbaik (best case) adalah jika data yang dicari terletak di indeks array terdepan (elemen array pertama) sehingga waktu yang dibutuhkan untuk pencarian data sangat sebentar (minimal).Kemungkinan terburuk (worst case) adalah jika data yang dicari terletak di indeks array terakhir (elemen array terakhir) sehingga waktu yang dibutuhkan untuk pencarian data sangat lama (maksimal).

deklarasi dalam program c++





Binary Search

Adalah teknik pencarian data dalam dengan cara membagi data menjadi dua bagian setiap kali terjadi proses pencarian.Data yang ada harus diurutkan terlebih dahulu berdasarkan suatu urutan tertentu yang dijadikan kunci pencarian.

Prinsip pencarian biner adalah:

• Data diambil dari posisi 1 sampai posisi akhir N
• Kemudian cari posisi data tengah dengan rumus: (posisi awal
+ posisi akhir) / 2
• Kemudian data yang dicari dibandingkan dengan data yang di
tengah, apakah sama atau lebih kecil, atau lebih besar?
• Jika lebih besar, maka proses pencarian dicari dengan posisi
awal adalah posisi tengah + 1
• Jika lebih kecil, maka proses pencarian dicari dengan posisi
akhir adalah posisi tengah –1
• Jika data sama, berarti ketemu.

deklarasi dalam program c++ 

Read More..

SORTING

Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan
proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada
aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif.
Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan
secara ascending demi kenyamanan dalam penelusuran data.

Beberapa macam algoritma sorting : selection sort,bubble sort,merge sort,quick sort,insertion sort,heap sort.





1.Selection sort



metode pengurutan selection sort,prosedur atau algorimatnya adalah sbb :


- pengecekan dimulai dari data ke -1 sampai dengan data ke -n

- tentukan bilangan dengan index terkecil dari data bilangan tersebut

- tukar bilangan dengan index terkecil tersebut dengan bilangan pertama (I= 1)dari bilangan tersebut

- lakukanlah langkah 2 dan 3 untuk bilangan berikut (I=I+1)sampai dapatkan urutan yang optimal



deklarasi dalam program c++ 




2.Bubble Sort



metode pengurutan buble sort,prosedur atau algorimatnya adalah sbb:


-.pengecekan dimulai dari data ke-1 sampai dengan data ke-n

- bandingkan data ke-n dengan data sebelumnya (n-1),jika lebih kecil maka tukar bilangan tersebut dengan data yang ada didepanya satu persatu (n-1,n-2,n-3,..dst)

- lakukan langkah ke 2 sampai mendapatkan urutan yang maksimal



deklarasi dalam program c++ 









3.Merge sort





metode pengurutan merge sort,prosedur atau algorimatnya adalah sbb:



- kelompokan 2 deret bilangan menjadi 2 bagian,4 bagian,8 bagian dst


- urutkan secara langsung bilangan dalam kelompok tersebut

- lakukanlah langkah diatas untuk kondisi bilangan yang lain sampai didapatkan urutan yang maksimal






deklarasi dalam program c++ 










4.Quick Sort






metode pengurutan Quick sort,prosedur atau algorimatnya adalah sbb:



- tentukan bilangan batas bawah (lower bound(I = 1)) dan tentukan bilangan batas atas (upper bound(I = N))


- syarat pemindahan adalah LB>UB


- Jika LB>UB lakukan pertukaran diantara dua bilangan tersebut


- lakukana langkah 2 dan langkah 3 untuk bilangan selanjutnya sampai mendapat urutan yang optimal






deklarasi dalam program c++ 






5.Insertion Sort






metode pengurutan insertion sort,prosedur atau algorimatnya adalah sbb:



- pengecekan dimulai dari data ke -1 sampai dengan data ke -n

- Pengurutan dilakukan dengan cara membandingkan data ke- 1


- Bandingkan data ke- 1 dengan data sebelumnya,jika lebih kecil data tersebut bisa


- lakukan langkah 2 dan 3 sampai mendapatkan urutan yang optimal





deklarasi dalam program c++ 










6.heap sort






metode pengurutan insertion sort,prosedur atau algorimatnya adalah sbb



- Buat Heap Maksimum


- Jika N lebih besar dari 1 maka tukarkan Nilai/Prioritas root dengan prioritas
simpul terakhir (simpul ke-N) tetapi jika N sama dengan 1 maka ambil nilai yang
ada di root.

- Kemudian nilai banyak simpul (N) dikurangi 1.

- Jika N > 1 maka lakukan reorganisasi heap yaitu proses sift down terhadap root.

- Lakukan langkah 2 sampai 4 sampai simpul habis (N=0).







Read More..

KUNJUNGAN PADA POHON BINER

Ada tida macam kunjungan pada pohon biner, yaitu kunjungan PreOrder, InOrder, dan PostOrder. Selain itu ada kunjungan LevelOrder, yaitu yang berdasarkan kedudukan tiap simpul dalam pohon. Keempat kunjungan itu dibagi menjadi orientasi, yaitu left to right oriented (LRO) atau kunjungan dilakukan di cabang kiri dulu baru ke cabang kanan dan right to left oriented (RLO) atau kunjungan dilakukan di cabang kanan dulu baru ke cabang kiri.



1. Kunjungan PreOrder
Kunjungan PreOrder LRO atau sering disebut dengan depth first order
menggunakan urutan sebagai berikut :
Cetak isi simpul yang dikunjungi.
Kunjungi cabang kiri.
Kunjungi cabang kanan.




Prosedur kunjungan PreOrder dapat dilakukan dengan cara rekursif atau non rekursif. Prosedur kunjungan secara PreOrder LRO dengan rekursif disajikan berikut ini :

Procedure PreOrder (Root:Pohon);
Begin
If Root <> nil then
Begin
Write (Root^.Info);
PreOrder (Root^.kiri);
PreOrder (Root^.kanan);
End;
End;

2. Kunjungan InOrder

Kunjungan InOrder LRO atau sering disebut dengan symmetric order,menggunakan urutan sebagai berikut :

Kunjungi cabang kiri.
Cetak isi simpul yang dikunjungi.
Kunjungi cabang kanan.


Seperti pada kunjungan PreOrder, prosedur kunjungan InOrder dapat dilakukan
dengan cara rekursif atau non rekursif.
Prosedur kunjungan secara InOrder LRO dengan rekursif disajikan berikut ini :

Procedure InOrder (Root:Pohon);
Begin
If Root <> nil then
Begin
InOrder (Root^.kiri);
Write (Root^.Info);
InOrder (Root^.kanan);
End;
End;

3. Kunjungan PostOrder

Kunjungan PostOrder LRO menggunakan urutan sebagai berikut :
Kunjungi cabang kiri.
Kunjungi cabang kanan.
Cetak isi simpul yang dikunjungi.





Seperti halnya PreOrde dan InOrder, prosedur kunjungan PostOrder juga dapat
dilakukan dengan cara rekursif atau non rekursif.
Prosedur kunjungan secara PostOrder LRO dengan rekursif disajikan berikut ini :

Procedure PostOrder (Root:Pohon);
Begin
If Root <> nil then
Begin
PostOrder (Root^.kiri);
PostOrder (Root^.kanan);
Write (Root^.Info);
End;
End;

4 Kunjungan LevelOrder 

Kunjungan Level order mempunyai urutan sebagai berikut :

kunijungan dimulai dari simpul yang ada pada tingkat 1 (akar),

diteruskan pada simpul ditingkat 2 ,tingkat 3 dan seterusnya

Read More..

STRUKTUR POHON (TREE)

TREE (POHON)
adalah salah satu bentuk sirkuit salah satu bentuk graph terhubung yang tidak mengandung sirkuit.
karena merupakan graph terhubung,maka pada pohon (tree) selalu terdapat path yang menghubungkan setiap simpul dalam pohon.
tree dapat juga didefinisikan sebagai kumpulan elemen yang salah satu elemenya di sebut akar(root) dan sisa elemen lainya (simpul)yang terpecah menjadi sebuah himpunan yang saling tidak berhubungan yang di sebut sub pohon (subtree) atau cabang.


dibawah ini gambar proses pembentukan pohon


 Sifat sifat pohon



    1. Jika Pohon mempunyai simpul sebanyak n,maka banyaknya ruas atau edge adalah n-1
    2. Mempunyai simpul khusus yang di sebut root,jika simpul tersebut mempunyai derajat keluar >=0,dan derajat masuk = 0
    3. Mempunyai simpul yang disebut daun/leaf,jika simpul tersebut berderajat keluar = 0,dan berderajat masuk = 1
    4. Setiap simpul mempunyai Tingkatan/level yang dimulai dari root yang levelnya =1,sampai dengan  level ke-n yang berada pada daun yang paling bawah.simpul yang mempunyai level sama di sebut bersaudara
    5. Pohon mempunyai ketinggian atau kedalaman atau height ,yang merupakan level tertinggi.
    6. Pohon mempunyai berat atau weight,yang banyaknya daun pada pohon.
     Hutan (forest) adalah Kumpulan pohon yang tidak saling berhubungan




     (klik untuk memperbesar gambar)
    • cara kedua
      dengan membuat diagram venn seperti gambar di bawah ini 
    • Cara ketiga 
       dengan cara menggunakan notasi kurung untuk gambar pada diagram venn di atas.
       hasilnya : (P(Q(R,S)),T(U(V,W)))
    • Cara Keempat
       dengan menggunakan notasi tingkat dan notasi garis

    Read More..

    QUEUE

    Queue (antrian) adalah barisan elemen yang apabila elemen ditambah maka penambahannya berada di posisi belakang (rear) dan jika dilakukan pengambilan elemen
    dilakukan di elemen paling depan (front). Oleh karena itu, queue bersifat FIFO (first in first out).


    Operasi-operasi

    1. Create : Operasi untuk menciptakan dan inisialisasi queue (fungsi inisialisasi)
    2. isempty : Operasi pemeriksaan queue kosong (fungsi kosong)
    3. isfull : Operasi pemeriksaan queue penuh (fungsi penuh).
    4. Dequeue : proses pengambilan elemen di posisi depan
    5. Enqueue : proses penambahan elemen di posisi belakang
    6. clear : operasi untuk mengosongkan queue


    Read More..