Cari Blog Ini

Sabtu, 03 Januari 2015

tugas

MAKALAH TENTANG PENGURUTAN (SORTING)
yang di bimbing oleh MOH. Ahsan, S.kom



Kelompok VII

CANDRA ROHMAN WAHYUDI : 140403020037
FANDIKA NOVAN PRATAMA : 140403020038
TRI MEISA BAYU PUTRA : 140403020040



D:\berkas\New folder (2)\kanjuruhan copy.png





DEPARTEMEN PENDIDIKAN DAN KEBUDAYAAN
SISTEM INFORMASI KOMPUTER

UNIVERSITAS KANJURUHAN MALANG
    KATA PENGANTAR
Segala puji dan syukur kami ucapkan kehadapan hadirat Tuhan Yang Maha Kuasa karena atas berkat dan rahmatnya sehingga kami dapat menyelesaikan makalah ini dengan baik.
Dalam pembuatan makalah ini ,kami mendapat bantuan dari berbagai pihak,maka pada kesempatan ini kami ingin menyampaikan terima kasih kepada Bapak MOH. Ahsan, S.kom selaku dosen pengampu mata kuliah algoritma dan struktur data, dan kepada teman-teman kelompok VII yang telah terlibat dan berusaha keras dan menyelesaikan  makalah ini.
Semoga makalah ini bisa bermanfaat bagi pembaca.Kami menyadari bahwa dalam pembuatan makalah ini masih jauh dari kesempurnaan,untuk itu kami bersedia menerima kritikan,masukan, maupun saran yang bersifat membangun demi perbaikan kearah kesempurnaan
Akhir  kata kami ucapkan terima kasih.







Malang, 31 Oktober 2014

                                                                         Penulis




Daftar isi
Cover ……………………………………………………………….i
Daftar isi…….………………………………………………………ii
Kata Pengantar …..…………………………………………………iii
BAB I
Pendahuluan ……………………………………………………...…3
1.1 Latar belakang ……………………………………………3
BAB II
Pembahasan ………………………………………….………….…..4
2.1. Apa itu seleksi perulangan ……………………………....4
2.2. Bentuk – brntuk perulangan …………………………......4
2.3. Penulisan perulangan di algoritma ……………………....5
2.4. Penulisan perulangan di Delphi atau pascal ……………..6
2.5. Cara kerja seleksi kondisi ……………………………....10
2.6. Operator Relasional …………………………………….10
BAB III
Jenis-Jenis Perulangan …………..…………………….…………..11
3.1 Bubble Sort ……………………………………………....4
3.2 Selection Sort……………….………………...………......4

3.3 Heap Sort ………………………………………………....5
3.4. Insertion Sort……..………………………..……………..6
3.5. Tree Sort………………………………………………....10
3.6. Quick Sort………….…………………………………….10
3.7 Merge Sort………………………………………………..10
3.8 Shell Sort…………………………………………………10
BAB VI
Penutup ……………………………………………..........................…3
4.1 Kesimpulan…………………………………………….…………..4
4.2 Kritik dan saran…………………………………………………….5




































BAB I
PENDAHULUAN
1.1 Latar belakang
Suatu konsep dasar pemograman pascal atau juga yang di sebut dengan PENGULANGAN adalah suatu cara untuk mengulang satu atau sekumpulan perintah sampai mencapai kondisi tertentu. Konstruksi for digunakan untuk melakukan perulangan terhadap baris kode tertentu dengan jumlah yang telah ditentukan. Untuk mencacah berapa kali perulangan dilakukan, diperlukan suatu variabel pencacah yang bertipe integer. Variabel tersebut akan bertambah nilainya setiap kali perulangan dilakukan.
Konstrksi while digunakan untuk melakukan perulangan terhadap baris kode tertentu selama suatu kondisi terpenuhi. Jika kondisi sudah tidak terpenuhi, maka program akan keluar dari perulangan. Konstruksi repeat digunakan untuk melakukan perulangan sampai suatu kondisi terpenuhi. Berbeda dengan while yang melakukan pengecekan sebelum pengulangan dilakukan, pengulangan jenis repeat melakukan pengecekan kondisi setelah perulangan dilakukan.

BAB II
PEMBAHASAN
2.1  Apa itu Perulangan.
Perulangan adalah suatu cara untuk mengulang satu atau sekumpulan perintah sampai mencapai kondisi tertentu.
    2.3 Bentuk – bentuk Perulangan.
Bentuk perulangan di bagi menjdi ;
a. Perulangan Bubble sort
b. Perulangan menggunakan While Do
c. Perulangan menggunakan Repeat Until
a. FOR – TO – DO dan FOR – DownTo - DO
Konstruksi for digunakan untuk melakukan perulangan terhadap baris kode tertentu dengan jumlah yang telah ditentukan. Untuk mencacah berapa kali perulangan dilakukan, diperlukan suatu variabel pencacah yang bertipe integer. Variabel tersebut akan bertambah nilainya setiap kali perulangan dilakukan.
Bentuk umum dari perulangan ini adalah :
For menaik
FOR TO DO
For menurun
FOR DOWNTO DO
Perbedaan antara to dan downto adalah pada kondisi nilai awal dan akhir. Pada to: nilai awal lebih kecil dari nilai akhir, sedangkan pada downto nilai awal lebih besar dari nilai akhir. Perlu diingat, bahwa variable kendali harus dideklarasikan dengan tipe data integer.
b. While Do
Konstrksi while digunakan untuk melakukan perulangan terhadap baris kode tertentu selama suatu kondisi terpenuhi. Jika kondisi sudah tidak terpenuhi, maka program akan keluar dari perulangan. Bentuk umum dari perulangan ini adalah :
WHILE DO
Selama kondisi_pengulangan bernilai true maka aksi akan dilakukan, dan baru akan berhenti setelah kondisi pengulangan bernilai false. Karena kondisi pengulangan diperiksa pada bagian awal, maka adakemungkinan aksi tidak pernah dilakukan, yaitu bila kondisi pengulangan tidak pernah bernilai true.

c. Repeat Until
Konstruksi repeat digunakan untuk melakukan perulangan sampai suatu kondisi terpenuhi. Berbeda dengan while yang melakukan pengecekan sebelum pengulangan dilakukan, pengulangan jenis repeat melakukan pengecekan kondisi setelah perulangan dilakukan.
Bentuk umum dari perulangan ini adalah:
REPEAT UNTIL.
Berlawanan dengan While, yang akan memproses aksi hanya bila kondisi_pengulangan bernilai true,pada pengulangan Repeat, sistem akan memproses aksi selama kondisi_berhenti bernilai false. Dengandemikian aksi pasti akan selalu diproses (minimal satu kali). Pada tipe ini, pengulangan dapat terjadi terus-menerus (tidak pernah berhenti), yaitu bila kondisi berhenti tidak pernah bernilai true.
2.4 Penulisan perulangan di algoritma.
1.For – To – Do
Algoritma
contoh
For namavariabel nilai to nilaiakhir do
Proses_perulangan
End
For i 1 to 10 do
Write(‘angka’,i)
End
2.For – Downto - Do
Algoritma
contoh
For namavariabel nilaiawal downto nilai akhir do
Peroses_perulangan
End
For i 10 downto 1 do
Write(‘angka’,i)
End
3.While - Do
Algoritma
contoh
While kondisimengulang do
Aksi
End
Password : string
Write (‘masukkan password’)
Read(password)
While password < > ‘123’ do
Write (‘password salah ‘)
Write(‘masukkan password’)
Read(password)
End
4.Repeat - Until
Algoritma
contoh
Repeat
Aksi
Until kondisi berhenti
Password ; srting
Repeat
read(password)
Until password = ‘sandi123’
2.5 Penulisan Perulangan di Delphi atau Pascal
1. FOR – TO – DO dan FOR – DownTo – DO
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var I: Byte;
begin
{ TODO -oUser -cConsole Main : Insert code here }
For I:= 1 to 5 Do
Writeln(I);
Writeln('selesai');
Readln;
end.
Dan
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var I : Byte;
begin
for I:=5 downto 1 do
writeln(I);
writeln('selesai');
readln;
end.
2. While Do
program Project1;
{$APPTYPE CONSOLE}
Var Ni, R, T : real;
N, I : integer;
Lagi : char;
Begin
Lagi := 'Y';
While lagi ='Y' Do
Begin
Write('jumlah data ?');
Readln (N);
Writeln;
I :=0;
T :=0;
While I< N Do
Begin
I:=I+1;
Write('nilai data ke :',I,'?');
Readln(Ni);
T:=T+Ni;
End;
Writeln;
Writeln('total nilai =',T:8:2);
Writeln('jumlah data =',N:3);
Writeln('rata-rata nilai =',R:8:2);
Writeln;
Write('akan menghitung lagi (Y/T)?');
Readln(lagi);
End;
End.
3. Repeat Until
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var a, b, c, d, y : real;
Begin
Write('berapa rupiah batas awal table =');readln(a);
Write('berapa rupiah batas akhir table =');readln(b);
Write('berapa rupiah pertambahannya =');readln(c);
Writeln;
Writeln('tabel kurs');
Writeln;
Writeln(' rupiah dollar yen ');
Writeln('======================');
Repeat
D :=a/1900;
Y :=a/900;
Writeln(a:9:2,'',d:9:2,'',y:9:2);
A :=a+C;
Until a>=b;
Writeln('======================');
Readln;
End.
2.6 Cara kerja Perulangan.
Cara kerja dari perulangan While mirip dengan perulangan For, tetapi dalam penulisan While ini tidak ada jaminan bahwa program akan masuk ke dalam perulangan di karenakan pemangkasan kondisinya di lakukan di awal penulisan.
Pengulangan Repeat .. Until hampir sama dengan pengulangan While .. Do dan biasanya digunakan jika jumlah pengulangan belum dapat ditentukan pada saat program ditulis. Perbendaannya, pernyataan Repeat .. Until dan While .. Do terletak pada letak pengecekan kondisi. Jika pada pernyataan While .. Do kondisi dicek pada awal blok pernyataan yang harus diulang, sedangkan pada pernyataan Repeat .. Until, kondisi dicek pada akhir blok pernyataan yang harus diulang.
2.7. Operator Relasional
perator relasional adalah operator yang digunakan untuk membandingkan dua buah nilai dan menghasilkan nilai berupa True (benar) atau False (salah). Operator-operator yang dapat digunakan dapat dilihat pada tabel di bawah ini.
Operator
Operasi
>
Lebih dari
<
Kurang dari
>=
Lebih besar atau Sama dengan
<=
Lebih kecil atau Sama dengan
<>
Tidak sama deengan
=
Samaa dengan
Operator relasional melambangkan hubungan antara dua entita (kemungkinan).
Nilai dari hubungan tersebut adalah TRUE berupa angka 1 atau FALSE yang berupa angka 0
Contoh :
5 > 3 (bernilai benar (TRUE))
6 < 2 (bernilai salah (FALSE))





BAB III Jenis-Jenis Perulangan

3.1 Bubble Sort
Salah satu metode pengurutan berdasarkan pembagian adalah metode gelembung (bubble sort). Berikut algoritma dari metode pengurutan gelembung (untuk terutuk menaik).

C:\Users\acha\Documents\uu.jpg



















Bila ditinjau dari segi komputasi, maka metode pengurutan ini kemungkinan paling banyak melakukan proses penukaran tempat antara 2 buah nilai yang di bandingkan.

3.2 Selection Sort

Salah satu metode pengurutan berdasarkan prioritas antrian (kedudukan berdasarkan besarnya nilai data terhadap indeks array) adalah Selection sort. Karena pengurutan misalnya dari nilai terkecil ke nilai terbesar (dalam arti mencari nilai terkecil ke-satu sampai ke-n), maka kadang kadang disebut minimum sort, atau apabila kebalikannya (dari besar ke kecil) disebut Maximum sort.
    Berikut ini adalah algoritma dari Selection Sort (untuk terurut menaik).

C:\Users\acha\Documents\00.jpg



















 
3.3 Heap Sort
    Heap merupakan pohon biner tanpa pointer dan mirip seperti pohon biner yang hampir penuh. Semua simpul (daun) terletak pada dua cabang paling terbawah dan simpul daun pada cabang paling bawah terletak disebelah kiri sejauh mungkin. Nilai dalam setiap simpul adalah lebih besar atau sama anaknya. Oleh karena itu, akar adalah nilai terbesar. Heap mempunyai bentuk sebagai berikut:








C:\Users\acha\Documents\oo.jpg












































3.4 Insertion Sort

C:\Users\acha\Documents\ooop0.jpg
























3.5  Tree Sort
Di dalam pengurutan pohon, nilai-nilai data yang tidak terurut dalam array diambil dan disisipkan ke dalam pohon pencarian biner. Setelah semua nilai data disisipkan pada pohon pencarian biner,dilakukan penelusuran secara menaik.


3.6 Quick Sort
Quick sort merupakan algoritma tercepat untuk melakukan proses pengurutan data,  dan menggunakan kaidah rekursif .












3.7. Merge Sort
Merge sort merupakan pengurutan untuk daya yang jumahnya besar, dimana data tidak semuanya dapat dimuat dalam memori utama (main memory), sehingga harus disimpan dalam penyimpanan sekunder (secondary storage) berupa berkas (file). Langkah :
  1. Dalam hal ini diperlukan 3 buah berkas yaitu B1, B2, dan B3. kedua berkas yaitu B1 dan B2 adalah berkas data masukan (input), sedangkan B3 adalah berkas data keluaran(output)
  2. Data asal dibagikan kedalam Bi dan B2, secara selang seling yaitu unsur 1 dalam berkas B1 unsur 2 dalam berkas B2, unsur 3 dalam berkas B1 dan seterusnya
  3. Pengurutan dilakukan dengan mengulangi pengurutan sub berkas B1 dan sub berkas B2 yang dimulai dengan sub berkas B1 dan sub berkasyang sudah terurut disimpan dalam berkas B3.

3.8 Shell Sort
Metode pengurutan shellsort dengan cara penukaran elemen dengan jarak tertentu.
C:\Users\acha\Documents\ad.jpg

BAB IV
PENUTUP
    1. Kesimpulan

Struktur data merupakan salah satu bahan dasar pembuatan program. Pemakaian struktur data yang tepat di dalam proses pemrograman, akan menghasilkan algoritma yang jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana.
    1. KRITIK DAN SARAN
Penulis menyadari tentang penyusunan makalah, tentu masih banyak kesalahan dan kekurangannya, kerena terbatasnya pengetahuan dan kurangnya rujukan atau referensi yang ada hubungannya dengan judul makalah ini.
Penulis banyak berharap para pembaca yang budiman memberikan kritik dan saran yang membangun kepada penulis demi sempurnanya makalah ini dan dan penulisan makalah di kesempatan-kesempatan berikutnya. Semoga makalah ini berguna bagi penulis pada khususnya juga para pembaca yang budiman pada umumnya.




















Tidak ada komentar:

Posting Komentar