♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫

♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥
♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥
♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥♫♥

Sabtu, 05 Februari 2011

sorting

dah lama gk nge_posting nih, test posting yang berbau pendidikan ah,,! booleeee,,,!
PENGURUTAN(Sorting)
Sebelumnya kita harus tau apa itu Sorting, Sorting adalah proses pengurutan data. Tujuan Sorting adalah mempercepat pencarian data (Searching, Retrieving).
Ada beberapa Algoritma Sorting yaitu : bubble sort, selection sort, insertion sort, quicksort, mergesort, heapsort, shellsort, radix sort, external sorting
Berikut penjelasan buble sort dan mergesort:



1. Algoritma bubble sort
Algoritma ini diberi nama buble sort karna mengikuti prinsip buble (gelembun udara). Gelembung udara lebih ringan dari pada air maka gelembung udara didalam air akan naik keatas.
Metode gelembung (bubble sort) sering juga disebut dengan metode penukaran(exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan masing-masing elemen, kemudian melakukan penukaran bila perlu.
Kelebihan : - Metode ini mudah dipahami dan diprogramkan.
Kekurangan :
- metode ini merupakan metode yang paling tidak efisien.
- pengurutan metode gelembung ini menggunakan dua
data.(pembanding & yang dibandingkan)sehingga terjadi pemborosan waktu.


Di bawah ini merupakan prosedur yang menggunakan metode gelembung.

Proses dari buble sort :
Pada satu putaran pengurutan, dilakukan perbandingan antara data [n-1] dengan data [n-2]. Apabila data [n-2] < data[n-1] maka tidak terjadi penukaran . selanjutnya dilakukan perbandingan antara antara data [n-3] dengan data [n-2], data[n-4] dengan data[n-3], dan seterusnya.
Apabila seluruh data sudah dalam keadaan terurut maka :

Data[0] < data[1]

Jadi kesimpulannya, terjadinya(atau tidak terjadinya)pertukaran data dapat mengindikasikan terurut tidaknya seluruh elemen.


2. algoritma Mergesort
mergesort adalah pengurutan dengan cara penggabungan. Dua kumpulan data yang masing – masing telah diurutkan digabungkan menjadi satu. Penggabungan dimulai dengan menggabungkan kelompok data dengan jumlah elemen terkecil yaitu kelompok satu data digabung dengan kelompok satu data.
Algoritma pengurutan ini berbeda dengan algoritma sebelumnya yang melakukan proses pengurutan “ditempat.” Pengurutan”ditempat” adalah proses pertukaran data langsung dilakukan pada array penampung data, tidak menggunakan array pembantu atau dengan kata lain Data dibagi menjadi subkumpulan-subkumpulan yang kemudian subkumpulan tersebut diurutkan secara terpisah, dan kemudian digabungkan kembali dengan metode merging. Algoritma ini melakukan metode pengurutan merge sort juga untuk mengurutkan sub kumpulan data tersebut, atau dengan kata lain, pengurutan dilakukan secara rekursif.
Metode ini dapat diaplikasikan untuk mengurutkan satu buah vector beranggota N dengan menganggap setiap anggota elemen array adalah sebuah vector. Jadi pengurutan dengan metode ini dilakukan pada N buah vector.


Kelebihannya :

- Dari banyaknya algoritma pengurutan yang ada, hanya algoritma divide and conquer, yaitu algoritma Merge Sort yang akan dicoba dan dibandingkan serta dianalisis waktu komputasi dan jumlah langkah/proses/step. Hal ini mengingat algoritma tersebut yang paling banyak digunakan dan selama ini dianggap yang paling cepat dan terbaik di dalam proses pengurutan data.
- Pada hasil pengujian dan analisis diperoleh bahwa algoritma Merge Sort memiliki kelebihan pada waktu komputasi.
- merge sort bisa dibilang sebagai salah satu algoritma terbaik terutama untuk mengurutkan data yang jumlahnya sangat banyak.

Kekurangan nya :
- Banyak faktor yang mempengaruhi hal tersebut, salah satunya adalah faktor besar kecilnya input data, jenis input data dan juga penentuan nilai pivot.


Dibawah ini merupakan Prosedur program merge dua buah vector dengan kondisi masin – masing vector telah terurut:

Yaitu proses vector 1 dan 2 kemudian disimpan dalam vector 3 dalam kondisi terurut, dengan cara parameter penunjuk index vektor1 (i) parameter penunjuk index vector 2(j)serta parameter penunjuk index vector 3(k) diset =0.
Kemudian jika vector1[i] < vektor2[j], maka vektor3[k] = vektor1[i], nilai index I dan k diincrement. Tapi jika vektor2[j] < vektor1[i], maka vector3[k] = vektor2[j], dan nilai index j dan k diincrement. Proses ini berulang hingga semua anggota vector 1 dan vector 2 sudah berada divektor 3.

5 komentar:

  1. WAOW,,Logaritma,, dulu tu pelajaran pling saya suka tp skarang jaarang saya plajari lagi n jadinya tidak terlalu paham dech,, :'(

    nice info lady,,,

    BalasHapus
  2. heheh..:)
    thanks y..
    selamat menikmati lawasnya:) hhaahkz..

    BalasHapus
  3. follow sukses sob,, no 26.. follow balik yah?? thanks..

    BalasHapus
  4. trim"sinfo nya,,dan salam kenal ya,,,!!
    happy bloging,,
    sekalian follow,,di tunggu balasan nya,,

    BalasHapus
  5. kunjungan gan .,.
    bagi" motivasi .,.
    sikap yang positif tidak akan berguna tanpa di sertai dengan tindakan yang posituf.,.
    di tunggu kunjungan balik.na gan.,.

    BalasHapus