Advance Shorting

Advance Shorting
Algoritma quick sort diperkenalkanpertama kali oleh C.A.R. Hoare padatahun 1960, dandimuatsebagaiartikel di “Computer Journal 5” pada April 1962. Quick sort adalahalgoritma sorting yang berdasarkanpembandingandenganmetoda divide-and-conqueror. Disebut Quick Sort, karenaAlgoritma quick sort mengurutkandengansangatcepat.

Algoritma quick sort mengurutkandengansangatcepat, namunalgoritmainisangatkomplexdandiprosessecararekursif. Sangatmemungkinkanuntukmenulisalgoritma yang lebihcepatuntukbeberapakasuskhusus, namununtukkasusumum, sampaisaatinitidakada yang lebihcepatdibandingkanalgoritma quick sort.

            Quick Sort merupakansuatualgoritmapengurutan data yang menggunakanteknikpemecahan data menjadipartisi-partisi, sehinggametodeinidisebutjugadengannama partition exchange sort. Untukmemulaiirterasipengurutan, pertama-tama sebuahelemendipilihdaridata,  kemudianelemen-elemen data akandiurutkandiatursedemikianrupasehingganilaivariabelSementaraberada di suatuposisike I yang memenuhikondisisebagaiberikut :
1.                   Semuaelemen di posisike 1 sampaidenganke I-1 adalahlebihkecilatausamadenganSementara.
2.                  Semuaelemen di posisike I+1 sampaidenganke N adalahlebihbesaratausamadenganSementara.

Sebagaicontoh, data yang akandiurutkansejumlah 12 elemensebagaiberikut :
33 45 18 7 5 99 57 25 55 10 40 50
Misalnya element yang dipilihadalah element yang pertama, makavariabelSementarabernilai 33. Setelahdiatur, makanilai 33 akanmenempatiposisike I, yaituposisiurutanke 6 sebagaiberikut :
Tampakbahwakondisiberikutterpenuhi, yaitu :
1.                  Semuaelemen di posisike 1 sampaidenganposisike 5 (10, 25, 18, 7,dan 5) akanlebihkecilatausamadengannilai 33 yang dipilih.
2.                  Semuaelemen di posisike 7 sampaidenganke 12 (57,99,55,45,40 dan 50) aka lebihbesaratausamadengannilai 33 yang dipilih.

Dengandemikian, data tersebutakanterpecahmenjadi 2 partisi, sebagaiberikut :

(10 25 18 7 5) 33 (57 99 55 45 40 50)

Proses inidiulangikembaliuntukmasing-masingpartisi data, yaitu:

untuk data (10, 25, 18, 7, 5) dan data (57, 99, 55, 45, 40, 50).

Untukpartisi yang pertama, bilanilaiSementara yang diambiladalah data pertamakembalidalampartisibersangkutan, yaitu 10 dandiaturkembalisedemikianrupa, makanilai data yang dipilihakanterletak di posisisebagaiberikut:

(5  7) 10 (18 25) 33 (57 99 55 45 40 50)

Untukmengurutkanmasing-masingpartisi, maka proses tersebutdiulangikembalidantiap-tiappartisidipecah-pecahkembalilebihlanjut. Kurung yang menutupipartisimenunjukkan data yang belumurutdanperludiurutkankembali. Sedang data yang tidakberadadiantaratandakurungmerupakan data yang sudahdiurut. Iterasiselanjutyasampaididapatkan data yang telahurutsemuanyaadalahsebagaiberikutini.

5 ( 7) 10 (18 25) 33 (57 99 55 45 40 50)

5   7  10  18 (25) 33 (57 99 55 45 40 50)

5   7  10  18  25  33 (50 40 55 45) 57 (99)

5   7  10  18  25  33 (50 40 55 45) 57 99

5   7  10  18  25  33 (45 40) 50 (55) 57 99

5   7  10  18  25  33 (45 40) 50 55 57 99

5   7  10  18  25  33  40 (45) 50 55 57 99

5   7  10  18  25  33  40 45 50 55 57 99

Contoh program:

  program QUIKSORT;
uses crt;
type larik=array[1..10] of integer;
var   i:integer;
      data:larik;
      ch : string;

procedure input_data;


begin
clrscr;

writeln ('                          PENGURUTAN DENGAN METODE QUICK SORT');
writeln ('                      -------------------------------------------');
writeln;
writeln;
writeln ('masukan 10 data');
writeln ('=================');
writeln;
  for i := 1 to 10 do {input 10 data}
      begin
      write ('data ke-',i,'=');

      readln (data[i]);
      end;
  clrscr;
  writeln;
  writeln ('************************************');
  for i:= 1 to 10 do
  write(data[i],'  ');

  writeln;
  writeln('*************************************');
  writeln;
  writeln;
  writeln ;
  writeln ( 'Hasil data yang telah diurutkan:');
  writeln ('=====================================');
  end;
procedure TUKARKAN(var d,b:integer);
var t:integer;
begin
t:=d;
d:=b;
b:=t;
end;

procedure quicksort(var A:larik; aw,ak:integer);
var i,j:integer;
procedure atur;

begin
     I:= Aw + 1 ;
     J:= Ak ;

     while A[I] < A[Aw] do inc (I);
     while A[j] >A [Aw] do dec (J);
     while I < J do

     begin
     TUKARKAN (A[I],A[J]);
     while  A[I] < A[Aw] do inc(I);
     while A[J] > A[Aw] do dec(J);
     end;
    TUKARKAN (A [Aw], A [J] )
END;
BEGIN
 IF Aw < Ak THEN
 BEGIN
  ATUR;
  QUICKSORT (A,Aw,J-1);
  QUICKSORT (A,J+1,Ak)
 END
END;



begin
     repeat
     input_data;
     quicksort(data,1,10);
     for i:=1 to 10 do
     write(data[i],'   ');
     begin
     end;
     writeln;
     writeln ('======================================');
     writeln;
     writeln;
     writeln;
     writeln ('di ulang lagi apa enggak...???? (Y/N)');
     readkey;

      ch:= readkey;
      writeln;
      until
      (ch='n') ;
     gotoxy(10,23);  writeln ('>>>>  Thank You   <<<<<<<<');
      readkey;
end.




Shell Sort (Metode Shell) 
  
Metodeinidisebutjugadenganmetodepertambahanmenurun (diminishing increment). Metodeinidikembangkanoleh Donald L. Shell padatahun 1959, sehinggaseringdisebutdenganMetode Shell Sort. Metodeinimengurutkan data dengancaramembandingkansuatu data dengan data lain yang memilikijaraktertentu, kemudiandilakukanpenukaranbiladiperlukan. Proses pengurutandenganmetode Shell dapatdijelaskansebagaiberikut : 
            Metodeinimengurutkan data dengancaramembandingkansuatu data lain yang memilikijaraktentusehinggamembentuksebuah sub-list-, kemudiandilakukanpenukaranapabiladiperlukan.
            Pertama-tama adalahmenentukanjarakmula-muladari data yang akandibandingkan, yaitu N / 2.

Data pertamadibandingkandengan data denganjarak N / 2.
Apabila data pertamalebihbesardari data ke N / 2 tersebutmakakedua data tersebutditukar. Kemudian data keduadibandingkandenganjarak yang samayaitu N / 2.
Demikianseterusnyasampaiseluruh data dibandingkansehinggasemua data ke-j selalulebihkecildaripada data ke-(j + N / 2).

Pada proses berikutnya, digunakanjarak (N / 2) / 2 atau N / 4. Data pertamadibandingkandengan data denganjarak N / 4. Apabila data pertamalebihbesardari data ke N / 4 tersebutmakakedua data tersebutditukar. Kemudian data keduadibandingkandenganjarak yang samayaitu N / 4. Demikianlahseterusnyahinggaseluruh data dibandingkansehinggasemua data ke-j lebihkecildaripada data ke-(j + N / 4).

Pada proses berikutnya, digunakanjarak (N / 4) / 2 atau N / 8. Demikianseterusnyasampaijarak yang digunakanadalah 1.

Algoritmametode Shell dapatdituliskansebagaiberikut :

1. Jarak = N
2. Selama (Jarak> 1) kerjakanbaris 3 sampaidengan 9
3. Jarak = Jarak / 2. Sudah = false
4. Kerjakanbaris 4 sampaidengan 8 selamaSudah = false
5. Sudah = true
6. j = 0
7. Selama (j < N – Jarak) kerjakanbaris 8 dan 9
8. Jika (Data[j] > Data[j + Jarak] makatukar Data[j],
Data[j + Jarak].
   Sudah = true
9. j = j + 1


Jarak yang dipakaididasarkanpada increment value atau sequence number K.Misalnya sequence number yang dipakaiadalah 5,3,1. tidakadapembuktianyadisinibahwabilangantersebutadalah sequence number terbaik.
Setiap sup-list berisisetiap element ke-K darikumpulan element yang asli.
Sebagaicontoh :
            Jika K=5 maka sub-list adalahsebagaiberikut :
– s[0] s[5]     s[10]…
– s[1] s[6]     s[11]…
– s[2] s[7]     s[12]…
– dst
Begitujuga K=3 maka sub-listnyaadalah :
– s[0] s[3]     s[6]…
– s[1] s[4]     s[7]…
– dst
Proses shell short
– urutkan sekumpulan element dibawah ini, misalnya diberikan sequence number : 5,3,1


Contoh lainter dapat elemen sebagai berikut :
23 45 12 24 56 34 27 23 16
Proses pengurutanmenggunakanmetoda Shell Dalamhalinielemen yang digaisbawahadalahelemen yang dibandingkandankemudianditukar, jikaperlu.
Contoh procedure program:

Procedure Shell(Var Temp : Data; JmlData : Integer); 
Var I,J, Jarak : Integer; 
        Begin 
             Jarak := JmlData Div 2; 
              While Jarak > 0 Do 
                    Begin 
                        For I:=1 To JmlData-Jarak Do 
                             Begin 
                                 J := I + Jarak; 
                                 If Temp[I] > Temp[J] Then  
                                 SWAP(Temp[I], Temp[Lok]); 
                             End; 
                             Jarak := Jarak Div 2; 
                    End; 
          End; 

RADIX SORT
Radix Sort merupakansalahsatualgoritma Non-Comparasion Sort (pengurutantanpapembandingan). Proses yang dilakukandalammetodeiniadalahmengklasifikasikan/menyelesaikan data sesuaidengankategoriterurut yang tertentu, dantiapkategoridilakukanpengklasifikasianlagi, danseterusnyasesuaikebutuhan, kemudiansubkategori-kategoriataubagian-bagiandari  kategori  tersebutdigabungkankembali.
Secaraharfiah Radix dapatdiartikansebagaiposisidalamangka, karenacarainipertamakalinyamengurutkannilai-nilai yang dimasukan (input) berdasarkan radix pertamanya, lalupengurutandilakukanberdasarkan radix keduanya, danbegituseterusnya. Padasistemdesimal, radix adalah digit dalamangkadesimal. Misalnya, angka “169” mempunyai 3 digit yaitu 1,6 dan 9.
Sayaakanmembeikancontohpenggunaanalgoritma radix sort untukpengurutansebuahkumpulanbilanganbulatpositif, denganjumlah digit maksimal3 :


Hasil pengkategorian tersebut lalu digabung kembali dengan metode konkatenasi menjadi :
Kemudian pengkategorian dilakukan kembali,namun kali ini berdasar digit keduaatau digit tengah, dan jangan lupa bahwa urutan pada tiap sub kumpulan data harus sesuai dengan urutan kemunculanpada kumpulan data

Kemudianlangkahketiga, atau langkah terakhir pada contoh ini adalah pengkategorian kembali berdasar digit yang terkiri, atau yang paling signufikan

Yang kemudian dikonkatenasilagi menjadi
Algoritma dan Kompleksitas Waktu Radix Sort  Implementasi dari algoritma tersebut dibuat menggunakan bahasa Pascal, yang direalisasikan dengan menggunakan queue sebagai representasi tiap kategori radix untuk pengkategorian. Array A adalah array input, dan array B adalah array A yang sudah terurut.

Contoh program:


Read More

contoh kultum dalam bahasa inggris

contoh kultum dalam bahasa inggris



Assalaamualaikum Warahmatullahi Wabarakaatuh


    الْحَمْدُ لله رَبِّ الْعَالَمِيْنَ، وَالصَّلاَةُ وَالسَّلاَمُ عَلَى أَشْرَفِ الْأَنْبِيَاءِ وَالْمُرْسَلِيْنَ، وَعَلَى أله وَأَصْحَابِهِ وَمَنْ
                 تَبِعَهُمْ بِإِحْسَانٍ
                                                                                                                   إِلَىيَوْمِ الدِّيْنِ، أَمَّا بَعْد   

Your Excellency
Respectable
Honorable,
Unforgettable
gentlemen, my brothers

              First of all, let’s thank and pray to our God, Allah SWT, who has given us mercy and blessing so we can come and gather in this place in good condition.
          Second of all, may salutation and peace always be given to our prophet, Muhammad SAW, the last messenger of God who has guided us from the darkness, from the stupidity, and from Jahiliyah to Islamiyah.
             Third of all, I won’t forget to say thank a million to the master of ceremony (MC) who has given me a chance to give my speech.

THE YOUTH RESPONSIBILITY

               Dear muslim brothers!

           When we talk about youngsters, we often find in many articles and we ourselves even witness he great role of youth participation in developing, favoring, and supporting the development of nation. They are the hope of nation who will carry out the struggle for the sake of brighter future of the country. Similarly, they are at the same time, the hope of Islmaic religion that will strive for the sake of Islamic teaching in the next, maintain the Islamic laws, who will safeguard the muslim young generation at large from influence of destructive western style of life, who will be leaders for the next. It was yelled as: TODAY IS YOUNG TOMORROW WILL BE A LEADER.

        This statement encourages us to pay attention to the young existence in the future. By knowing all the facts we realize, how important role the young have for the future. The youths supposedly symbolize the force that never becomes weak quickly. For this reason, the former president of Indonesia Soekarno has once said: “GIVE ME TEN YOUTH WOULD SHAKE THE WORLD”. Form this statement we are can sum up that Soekarno appreciated the young people more than the old. Why: because they play significant roles and have great potency and treat energy that can be prided.

              Dear muslim generation!

      There for our religion joins us to be flexible muslim leaders for society who ultimately have to devote themselves for the development of muslims community at large. Ironically, in this sophisticated era we witness the conducts of young people are always against the Islamic laws. We pay attention to many young people who are not aware of their education and will be more sad if we see our muslim brothers in our country behave badly and they intentionally avoiding Islamic teachings to follow western culture. We cannot imagine and describe what is going to happen in the next time if all the young people are careless in this responsibility of nation developing and religion establishing depend on us. By those considerations we should be very cautious with any destructive western culture that would enter Islamic teaching.
  
             Dear muslim

         Given the importance of youth to the people, the role of youth in nation-building is a theme that we will discuss on this occasion, with the foundation of a letter an-Nisa verse 9:

وَلْيَخْشَ الَّذِينَ لَوْ تَرَكُوا۟ مِنْ خَلْفِهِمْ ذُرِّيَّةً ضِعٰفًا خَافُوا۟ عَلَيْهِمْ

فَلْيَتَّقُوا۟ اللَّـهَ وَلْيَقُولُوا۟ قَوْلًا سَدِيدًا
  
“And let those fear (in their behaviour toward orphans) who if they left behind them weak off spring would be afraid for them. So let them mind their duty to Allah, and speak justly.”

      My brothers! Last but not the least, I should like to call you to prepare our generation in order to be able to replace the old in the future. And I hope you and all muslim brothers wheresoever’s they are to abstain from bad action and furthermore we have to develop our skill and potency to teach the bright future.

          I think it’s time for me to finish this speech begging your pardon, finally I say …
Wassalaamualaikum Warahmatullahi Wabarakaatuh.
http://tafsirhaditsuinsgdbdgangkatan2009.blogspot.com/2012/10/peranan-pemuda-dalam-pembangunan-bangsa.html


ringkasan dalam bahasa indonesia


Saudara muslim yang terhormat!
Ketika kita berbicara tentang anak-anak, kita sering menemukan di banyak artikel dan kita sendiri bahkan saksi dia peran besar partisipasi pemuda dalam mengembangkan, mendukung, dan mendukung pembangunan bangsa. Mereka adalah harapan bangsa yang akan melaksanakan perjuangan demi masa depan yang lebih cerah dari negara. Demikian pula, mereka pada saat yang sama, harapan Islmaic agama yang akan berusaha demi ajaran Islam di depan, mempertahankan hukum Islam, yang akan menjaga generasi muda muslim pada umumnya dari pengaruh gaya barat yang merusak kehidupan, yang akan menjadi pemimpin untuk selanjutnya. Itu berteriak sebagai: TODAY IS YOUNG BESOK AKAN MENJADI PEMIMPIN.
Pernyataan ini mendorong kita untuk memperhatikan keberadaan muda di masa depan. Dengan mengetahui semua fakta kita menyadari, betapa pentingnya peran pemuda memiliki masa depan. Para pemuda seharusnya melambangkan kekuatan yang tidak pernah menjadi lemah dengan cepat. Untuk alasan ini, mantan presiden Indonesia Soekarno pernah berkata: "GIVE ME TEN YOUTH AKAN SHAKE DUNIA". Bentuk pernyataan ini kita dapat menyimpulkan bahwa Soekarno menghargai orang-orang muda lebih dari yang lama. Mengapa: karena mereka memainkan peran yang signifikan dan memiliki potensi besar dan memperlakukan energi yang dapat membanggakan.
Generasi muslim yang terhormat!
Ada agama kami bergabung dengan kami untuk menjadi pemimpin muslim yang fleksibel bagi masyarakat yang pada akhirnya harus mengabdikan diri untuk pengembangan masyarakat muslim pada umumnya. Ironisnya, di era canggih ini kita menyaksikan perilaku anak muda yang selalu melawan hukum Islam. Kami memperhatikan banyak orang muda yang tidak menyadari pendidikan mereka dan akan lebih sedih jika kita melihat saudara-saudara muslim kita di negara kita berperilaku buruk dan mereka sengaja menghindari ajaran Islam untuk mengikuti budaya barat. Kita tidak bisa membayangkan dan menggambarkan apa yang akan terjadi di waktu berikutnya jika semua orang muda ceroboh dalam tanggung jawab ini dari negara berkembang dan agama pendirian tergantung pada kami. Dengan pertimbangan-pertimbangan kita harus sangat berhati-hati dengan budaya barat yang merusak yang akan memasuki ajaran Islam.
 Saudara-saudaraku! Terakhir namun tidak sedikit, saya ingin menghubungi Anda untuk mempersiapkan generasi kita agar mampu menggantikan yang lama di masa depan. Dan saya harap Anda dan semua saudara muslim dimanapun yang mereka untuk menjauhkan diri dari tindakan buruk dan selanjutnya kita harus mengembangkan keterampilan dan potensi kita untuk mengajarkan masa depan yang cerah.

Saya pikir sudah waktunya bagi saya untuk menyelesaikan pidato ini memohon maaf, akhirnya saya katakan ...
Read More

Pemahaman Mengenai Shell Short

Pemahaman Mengenai Shell Short
Shell Sort (Metode Shell)


 
  
       Metode ini disebut juga dengan metode pertambahan menurun (diminishing increment). Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959, sehingga sering disebut dengan Metode Shell Sort. Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu, kemudian dilakukan penukaran bila diperlukan. Proses pengurutan dengan metode Shell dapat dijelaskan sebagai berikut : 
      Pada proses berikutnya, digunakan jarak (N / 2) / 2 atau N / 4. Data pertama dibandingkan dengan data dengan jarak N / 4. Apabila data pertama lebih besar dari data ke N / 4 tersebut maka kedua data tersebut ditukar. Kemudian data kedua dibandingkan dengan jarak yang sama yaitu N / 4. Demikianlah seterusnya hingga seluruh data dibandingkan sehingga semua data ke-j lebih kecil daripada data ke-(j + N / 4).
      Pada proses berikutnya, digunakan jarak (N / 4) / 2 atau N / 8. Demikian seterusnya sampai jarak yang digunakan adalah 
1.
    Algoritma metode Shell dapat dituliskan sebagai berikut :

1. Jarak = N
2. Selama (Jarak > 1) kerjakan baris 3 sampai dengan 9
3. Jarak = Jarak / 2. Sudah = false
4. Kerjakan baris 4 sampai dengan 8 selama Sudah = false
5. Sudah = true
6. j = 0
7. Selama (j < N – Jarak) kerjakan baris 8 dan 9
8. Jika (Data[j] > Data[j + Jarak] maka tukar Data[j],
   Data[j + Jarak].
   Sudah = true
9. j = j + 1



METODE PENGURUTAN (SHELL SORT)

     Metode ini disebut juga dengan metode pertambahan menurun (diminishing increment short). Metode ini dikembangkan oleh Donald L.shell pada tahun 1959,sehingga sering disebut dengan metode shell short.
     Metode ini mengurutkan data dengan cara membandingkan suatu data lain yang memiliki jarak tentu sehingga membentuk sebuah sub-list-, kemudian dilakukan penukaran apabila diperlukan.
Jarak yang dipakai didasarkan pada increment value atau sequence number K.Misalnya sequence number yang dipakai adalah 5,3,1. tidak ada pembuktianya disini bahwa bilangan tersebut adalah sequence number terbaik.
    Setiap sup-list berisi setiap element ke-K dari kumpulan element yang asli.
o Sebagai contoh :
Jika K=5 maka sub-list adalah sebagai berikut :
– s[0] s[5]     s[10]…
– s[1] s[6]     s[11]…
– s[2] s[7]     s[12]…
– dst
o Begitu juga K=3 maka sub-listnya adalah :
– s[0] s[3]     s[6]…
– s[1] s[4]     s[7]…
– dst



Read More