Langsung ke konten utama

Shell Sort



Notasi :
//judul : Shell sort
//oleh : rizky syah gumelar
//tanggal : 2 April 2022
//deskripsi :
 
//Kamus global
temp, x, y, z <-- interger
bil[6] = {34,98,17,70,6,29} <-- interger, array
//int main
 
output "Data yang diinput :"
x <-- 0                                     //awalan
while (x < 6){                         //target
            output bil[x]                //yang diulang
            x = x + 1                                  //counter
}
 
//sort
x = 6/2 <-- karena data array ada 6 dan data tersebut dibagi 2 untuk membandingkan data
while (x > 0){                         //Kondisi
            y = x
            while (y < 6){                        
                        temp = bil[y]   //memasukkan data ke variabel lain sebelum bertukar
                        z=y
                        while (z >= x dan bil[z-x] > temp){
                                    // bertukar
                                    bil[z] = bil[z-x]
                                    z = z - x
                        }
                        bil[z] = temp
                        y = y + 1                                 
            }
            x = x/2
}
 
 
//output
output "Urutan data dari yang terkecil ke terbesar :"
//nilai x direset ke 0 untuk output
x <-- 0
while (x < 6){
            output bil[x]
}
 
Koding :

//judul : Shell sort
//oleh : rizky syah gumelar
//tanggal : 2 April 2022
//deskripsi :
#include <iostream>
 
using namespace std;
 
int main()
{
    //kamus
    int temp, x, y, z;
    int bil[6] = {34,98,17,70,6,29};
 
    //cetak
    cout << "Data yang diinput :" << endl;
    x=0;
    while(x<6){
        cout << bil[x] << " ";
        x++;
    }
 
    //shell sort versi for
    /*for (x = 6 / 2; x > 0; x /= 2) {
        for (y = x; y < 6; y += 1) {
          temp = bil[y];
          for (z = y; z >= x && bil[z - x] > temp; z -= x) {
            bil[z] = bil[z - x];
          }
          bil[z] = temp;
        }
      }*/
 
    //shell sort
    x = 6/2;
    while(x>0){
        y=x;
        while(y<6){
            temp = bil[y];
            z=y;
            while(z >= x && bil[z - x] > temp){
                bil[z] = bil[z - x];
                z-=x;
            }
            bil[z] = temp;
            y+=1;
        }
        x/=2;
    }
 
    //output
    cout << "\n\nUrutan data dari yang terkecil ke terbesar :" << endl;
    x=0;
    while(x<6){
        cout << bil[x] << " ";
        x++;
    }
    cout << endl;
    return 0;
}
 

Screenshot hasil:



Komentar

Postingan populer dari blog ini

Flowchart

Pengertian Flowchart. Flowchart adalah suatu diagram dengan tanda-tanda tertentu yang memvisualkan barisan metode secara terperinci dan hubungan antara suatu metode dengan metode lainnya dalam suatu rancangan. Dengan menggunakan flowchart seseorang dapat menerangkan setiap kegiatan yang terjalin dalam struktur tersebut.      Untuk mendesain flowchart, kita harus memahami tanda-tanda yang dapat digunakan untuk merumuskan hal yang berupa masukan, proses atau keluaran dari suatu rancangan. Tidak ada kulifikasi spesifik untuk mendesain suatu flowchart. Kita hanya harus memahami kapan dan dimana tanda tersebut dapat digunakan. Hal itu bermaksud agar orang lain dapat mengartikan dan mengartikan flowchart tersebut secara jelas.     Simbol Flowchart:   Contoh Flowchart:

Tugas Akhir Algoritma Pemrograman - Program Kompetisi

 Program Kompetisi Sepakbola Menggunakan C++ Code : main.cpp #include <iostream> #include "menuawal.h" using namespace std ; int main (){     int pilih;     Menu menu;     while ( 1 ){         system ( "cls" );         menu. showMenu ();         cout << " \t Masukkan Pilihan : " ;         cin >> pilih;         menu. menuInput (pilih);         if (pilih == 7 ){             return 0 ;         }         system ( "pause" );     }     return 0 ; } menuawal.h #include "kompetisi.h" using namespace std ; class Menu {     public:     Kompetisi laLiga;     void showMenu (){         cout << " \t ========================================================================...