Postingan

Menampilkan postingan dari Maret, 2018

Shell Sort

Gambar
                 Shell sort adalah algoritma penyortiran yang sangat efisien dan didasarkan pada algoritma penyortiran. Algoritma ini menghindari pergeseran besar seperti dalam kasus penyisipan, jika nilai yang lebih kecil ke paling kanan dan harus dipindahkan ke paling kiri. Algoritma ini menggunakan semacam penyisipan pada elemen yang tersebar luas, pertama untuk mengurutkannya dan kemudian mengurutkan elemen yang kurang luas. Jarak ini disebut sebagai interval. Interval ini dihitung berdasarkan rumus Knuth -                 Bagaimana Shell Sort Bekerja? Mari kita perhatikan contoh berikut untuk memiliki gagasan tentang cara kerja Shell sort. Kami mengambil array yang sama yang telah kami gunakan dalam contoh kami sebelumnya. Untuk contoh dan kemudahan pemahaman kami, kami mengambil interval 4. Buat daftar sub-virtual dari semua nilai yang berada pada interval 4 posisi. Di sini nilai-nilai ini adalah {35, 14}, {33, 19}, {42, 27} dan {10, 44} Disisni kita membandingkan nila

Quick Sort

Gambar
Quick Sort adalah algoritma pengurutan cepat lainnya yang menggunakan membagi dan menaklukkan. Dalam bentuk cepat, elemen dipilih sebagai "poros(pivot)". Daftar ini kemudian dibagi menjadi dua sub daftar: daftar elemen yang kurang dari (atau sama dengan) pivot dan daftar elemen yang lebih besar dari pivot. Setiap sublist disortir dan kemudian ditambahkan bersama dengan pivot asal.        Baiklah kita akan memulai pembahasan materi tentang bagaimana  Membuat Program Quick Sort di Bahasa Pemrograman Python . Silahkan cermati program di bawah ini : data = [3,2,4,5,1,6] def partition (A,start,end):     pivot = A[end]     pindex = start     for i in range (start,end):         if (A[i] <= pivot):             A[i],A[pindex] = A[pindex],A[i]             pindex = pindex+1             print (data)     A[pindex],A[end] = A[end],A[pindex]     return pindex      def quicksort (A,start,end):     if start < end:         pindex = pa

Insertion sort

Gambar
                  Insertion sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data pertama, mengurutkannya, kemudian mengecek elemen data berikutnya satu persatu dan membandingkannya dengan elemen data yang telah diurutkan. Karena algoritma ini bekerja dengan membandingkan elemen-elemen data yang akan diurutkan, algoritma ini termasuk pula dalam comparison-based sort. Ide dasar dari algoritma Insertion Sort ini adalah mencari tempat yang "tepat" untuk setiap elemen array, dengan cara sequential search.                   Proses ini kemudian menyisipkan sebuah elemen array yang diproses ke tempatnya ang seharusnya. Proses dilakukan sebanyak N-1 tahapan (dalam sorting disebut sebagai "pass"), dengan indeks dimulai dari 0. Proses pengurutan dengan menggunakan algoritma Insertion Sort dilakukan dengan cara membandingkan data ke-i (dimana i dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya. Jika ditemukan data yang lebih keci

Selection Sort

Gambar
Pengertian Selection Sort Selection Sort merupakan salah satu algoritma pengurutan yang sederhana. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar. Selection Sort diakui karena kesederhanaan algoritmanya dan performanya lebih bagus daripada algoritma lain yang lebih rumit dalam situasi tertentu. Algoritma ini bekerja sebagai berikut: Mencari nilai minimum (jika ascending) atau maksimum (jika descending) dalam sebuah list Menukarkan nilai ini dengan elemen pertama list Mengulangi langkah di atas untuk sisa list dengan dimulai pada posisi kedua Secara efisien kita membagi lis

Bubble Sort

Gambar
Pengertian/Konsep  Buble Sort Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung. Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.        Algoritma Bubble Sort 1.      Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan). Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan algoritme menghasilka

Linear Search

        Linear search adalah program search yang gampang untuk dipahami, linear search memiliki kelebihan apabila data yang di cari letaknya pada data – data awal sehingga prosesnya berjalan cepat, namun apabila data yang di cari letaknya pada data terakhir maka pencarian lebih memakan waktu yang cukup lama pula.          Berbeda dengan Binary Search, Linear search tidak perlu mengurutkan data.  Program Linear Search di Bahasa Pemrograman Python . Silahkan cermati program di bawah ini : def LinSearch ( List ,search) :     position = 0     last =  len ( List )-1     found = False      while position <= last and not found:         if list [position] == search:             found = True         else :              position= position + 1         if found :             print ( "Found the search number." )             print (position)         else :             print ( "Did not find the search number." )