ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur...

48
Struktur Data Page i S T R U K T U R D A T A Pendidikan Teknologi Informasi Universitas PGRI Semarang

Transcript of ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur...

Page 1: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Struktur Data Page i

S T R U K T U R D A T A

Pendidikan Teknologi InformasiUniversitas PGRI Semarang

Page 2: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

KATA PENGANTAR

Buku Struktur Data ini memuat materi struktur data sederhana hingga struktur data

majemuk baik linier maupun non linier untuk mahasiswa Pendidikan Teknologi Informasi.

Buku ini diharapkan dapat memberikan pemahaman kepada mahasiswa mengenai konsep

struktur data, menganalisis dan mengimplementasikannya ke dalam baris program. Materi

yang disajikan pada buku ini diarahkan untuk membangun sikap dan keterampilan mahasiswa

yang disesuaiakan dengan kurikulum yang berlaku.

Semoga penyusunana buku ini memberikan banyak manfaat bagi dosen teknologi

informasi dan mahasiswa dalam meningkatkan keilmuan dan keterampilan. Kami menyadari

kalau buku ini masih banyak kekurangan dan keterbatasan. Saran dan masukan yang

membangun dari peserta didik dan praktisi pendidikan sangat kami harapkan untuk

meningkatkan kualitas buku ini.

Semarang, September 2015

Ika Menarianti, M.Kom

ii

Page 3: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Daftar Isi

KATA PENGANTAR............................................................................................................................. ii

Daftar Isi.............................................................................................................................................. iii

A. PENDAHULUAN.......................................................................................................................1

B. PENYAJIAN..............................................................................................................................2

1.1. Definisi Pengurutan (Sorting).................................................................................21.2. Metode Penyisipan Langsung (straight insertion sort).......................................31.1 Metode Penyisipan Langsung (straight insertion sort).......................................31.3. Metode Penyisipan Biner (binary insertion sort)..................................................51.4. Metode Seleksi (selection sort)..............................................................................61.5. Metode Gelembung (Bubble sort)..........................................................................81.6. Metode Shell..........................................................................................................101.7. Metode Quick.........................................................................................................13

C. PENUTUP............................................................................................................................... 16

Rangkuman........................................................................................................................................ 16

Latihan............................................................................................................................................... 18

Tes Formatif....................................................................................................................................... 19

Kunci Jawaban................................................................................................................................... 20

Tindak Lanjut......................................................................................................................................33

Daftar Pustaka................................................................................................................................... 33

Glosarium........................................................................................................................................... 33

Struktur Data Page iii

Page 4: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

BAB V

SORTING

A. PENDAHULUAN

Bab ini membahas tentang pengurutan data (sorting). Pengurutan data merupakan

sebuah proses yang hampir selalu ada pada aplikasi yang menggunakan komputer.

Pengurutan data dilakukan untuk menyusun setiap baris data (record) dalam larik

program (array). Data dapat diurutkan secara urutan dari atas ke bawah (ascending),

misalnya A hingga Z, maupun diurutkan secara dari bawah ke atas (descending),

misalnya Z hingga A. Dalam proses pengurutan data terdapat beberapa metode

pengurutan seperti penyisipan langsung (straight insertion sort), penyisipan binary

(binary insertion sort), metode seleksi (selection sort), metode Quick,dan metode Shell.

Pada bab ini akan membahas pengurutan pada data larik.

Dengan melakukan pengamatan dan percobaan, mahasiswa diharapkan dapat

menganalisa proses pengurutan data dan mengimplementasikannya ke dalam bahasa

pemrograman. Dengan melakukan diskusi, mahasiswa diharapkan mampu mencari cara

paling mudah dalam menyelesaikan proses pengurutan data.

Materi tentang pengurutan data ini diberikan untuk memberi bekal kepada

mahasiswa untuk menganalisa proses masuknya data dalam sebuah aplikasi. Dengan

demikian materi ini dapat dijadikan sebagai dasar dalam melakukan pencarian data

(searching), menguraikan tumpukan data (stack), membuat daftar data (list) dan

mengatasi antrian data (queue).

Kompetensi dasar yang diharapkan adalah (1) Mahasiswa dapat mendeskripsikan

konsep pengurutan data (2) Mahasiswa dapat menganalisis cara kerja metode pengurutan

data (3) Mahasiswa dapat membuat notasi algoritmik metode pengurutan data (4)

Mahasiswa dapat mengimplementasikan semua metode kedalam bahasa pemrograman

Untuk dapat mencapai kompetensi dasar di atas, mahasiswa disarankan agar

memahami teori konsep pengurutan data. Langkah berikutnya adalah mengkaji materi

pada bab ini melalui bagian demi bagian dengan mengacu pada kompetensi dasar.

Mahasiswa dapat menambahkan catatan penting pada bagian tertentu, atau mencatat

kesulitan yang ditemukan untuk didiskusikan dengan teman atau ditanyakan kepada

Struktur Data Page 1

Page 5: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

dosen pengampu. Mahasiswa dituntut mengerjakan latihan maupun soal-soal yang ada.

Selanjutnya, mencocokan pekerjaan dengan kunci jawab yang tersedia.

Untuk dapat mempelajari materi pengurutsn data dengan baik, mahasiswa

sebelumnya telah mendapatkan materi Algoritma Pemrograman.

B. PENYAJIAN

1.

2.

3.

4.

5.

Pengurutan data adalah untuk meletakkan kumpulan elemen data ke dalam urutan

tertentu, berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Ada 2 macam

urutan dalam proses pengurutan yaitu Ascending dan Descending. Mengapa data harus

diurutkan? Agar mudah dilihat dan dibaca.

Proses pengurutan data dimulai dari mendeklarasikan baris program pada variabel.

Pada umumnya, indeks array dimulai dari 0, tetapi untuk memudahkan data akan

disimpan pada indeks ke 1. Tetapi ada bahasa pemrograman yang mewajibkan

penampung sementara sehingga digunakan indeks 0.

Baris program diatas menjelaskan tentang mendeklarasikan sebuah variabel

bernama Data dengan tipe Array bertipe data word dengan jangkauan 1..Max. Pada

beberapa metode pengurutan akan menemukan pemanggilan TUKAR. Kegunaan

prosedur ini adalah menukar isi dua variabel. Berikut definisi Tukar :

2

Procedure Tukar (var Data1, Data2 : word);Var

temp : word;Begin

temp := Data1;Data1 := Data2;Data2 := Data1;

End;

1.1. Definisi Pengurutan (Sorting)

Constmax = 1000 ;

VarData : Array [0 .. Max] of word;

Page 6: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Untuk contoh pengurutan data, akan selalu menggunakan data bilangan bulat

berjumlah sembilan yaitu:

12 35 9 11 3 17 23 15 31

Dimana akan kita urutkan data diatas menjadi urut naik, seperti;

3 9 11 12 15 17 23 31 35

Proses pengurutan dengan metode penyisipan langsung dapat dijelaskan sebagai

berikut: data di cek satu persatu mulai dari yang ke dua sampai dengan yang terakhir.

Apabila ditemukan data yang lebih kecil dari sebelumnya, maka data disisipkan ke posisi

yang sesuai.Misalnya; pengurutan kartu.

Algoritma penyisipan langsung dapat dituliskan sebagai berikut:

1. i 2

2. Selama (i<=N) kerjakan baris 3 sampai dengan10

3. x Data[i]

4. Data[0] x

5. j i – 1

6. Selama (x < Data[j] ) kerjakan baris 7 dan 8

7. Data [j+i] Data [j]

8. j j – 1

9. Data[j+1] x

10. i i + 1

Proses pengurutan dapat dijelaskan sebagai berikut:

Pada saat i = 2, x samadengan Data[2], yaitu 35 dan j=1. karena Data[1]=12 dan

35>12 maka proses dilanjutkan i=3

Struktur Data Page 3

1.2. Metode Penyisipan Langsung (straight insertion sort)

Page 7: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Pada saat i=3, x samadengan Data[3], yaitu 9 dan j=2. karena Data[2]=35 dan 9<35

maka dilakukan penggeseran sampai menemukan yang lebih kecil dari 9. Hasilnya,

Data[2]=12 dan Data[3]=35. Bagaimana dengan Data[1]? Data[1] = x yaitu 9.

Pada saat i=4, x samadengan Data[4], yaitu 11 dan j=3. karena Data[3]=35 dan

11<35, maka dilakukan penggeseran sampai ditemukan data yang lebih kecil dari 11.

Hasil penggeseran Data[3]=12 dan Data[4]=45, Data[2] diisi 11. Demikian

seterusnya.

Untuk lebih jelasnya, perhatikan proses pengurutan dengan metode penyisipan

langsung pada Tabel dibawah ini.

Tabel 1. Proses Pengurutan dengan metode penyisipan langsung

Mengapa diperlukan data[0]? Untuk berjaga-jaga apabila data yang sedang

dipindah lebih kecil daripada Data[1]. Contohnya pada saat i=3, data yang digeser adalah

9 yang lebih kecil dari 12. Apabila tidak ada Data[0] maka kondisi (x < Data[j]) akan

selalu terpenuhi, artinya kalang tidak pernah terpenuhi.

Berikut adalah contoh prosedur yang menggunakan metode penyisipan langsung:

4

Procedure StraightInsertionSort;Var i, j , x : word;Begin

for i := 2 to N dobegin

x := Data[i];Data[0] := x;j := i – 1;while (x < Data[j]) dobegin

Data[j + 1] := Data[j];dec (j);

end;Data[j + 1] := x;

end;End;

Page 8: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Metode Penyisipan Biner merupakan pengembangan dari metode sebelumnya,

idenya didasarkan pada pernyataan bahwa saat akan menggeser data ke-i, data ke 1

sampai i–1 sebenarnya sudah dalam keadaan urut. Sebagai contoh, pada saat i=4, didapat

data ke 1 sampai 3 sudah dalam keadaan urut: 9, 12, 35. Dengan demikian posisi dari data

ke i sebenarnya dapat ditentukan dengan pencarian biner.

Untuk lebih jelasnya, akan digunakan contoh pada saat i = 8 data yang akan

dipindah adalah 15 sedangkan data disebelah kiri 15 adalah:

3 9 11 12 17 23 35

Pertama, kita cari posisi paling tengah antara data. Data yang terletak ditengah

adalah data ke 4 yaitu 12. Karena12 < 15, berarti 15 harus disisipkan di sebelah kanan 12.

Oleh karena itu, proses pencarian dilanjutkan untuk data:

17 23 35

Hasil yang didapat adalah data tengahnya adalah 23. Karena 15 < 23 berarti 15

disisipkan disebelah kiri 23. proses dilanjutkan dengan data yang berjumlah1, yaitu 17.

Karena 17 > 15, berarti 15 disisipkan di sebelah kiri 17. Algoritma penyisipan biner

dapat dituliskan sebagai berikut:

1. i 2

2. Selama (i <= N ) kerjakan baris 3 sampai 14

3. x Data[i]

4. y 1

5. r i – 1

6. Selama (y <= r) kerjakan baris 7 dan 8

7. m (y + r ) / 2

8. Jika (x < Data[m]) maka r m – 1 , jika tidak 1 m + 1

9. j i – 1

10. Selama (j >= y) kerjakan baris 11 dan 12

11. A[j + i] mA [j]

Struktur Data Page 5

Procedure StraightInsertionSort;Var i, j , x : word;Begin

for i := 2 to N dobegin

x := Data[i];Data[0] := x;j := i – 1;while (x < Data[j]) dobegin

Data[j + 1] := Data[j];dec (j);

end;Data[j + 1] := x;

end;End;

1.

Page 9: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

12. j j – 1

13. Data[y] x

14. i i + 1

Berikut adalah contoh prosedur yang menggunakan metode penyisipan biner:

Metode seleksi melakukan pengurutan dengan cara mencari data yang terkecil

kemudian menukarkannya dengan data yang digunakan sebagai acuan yang disebut pivot.

Proses pengurutan dapat dijelaskan sebagai berikut: mula – mula dilakukan pengulangan

dari 1 sampai dengan (N – 1). Tiap-tiap pengulangan dicari data yang paling kecil

diantara data ke (i+1) sampai data terakhir (=N). Data terkecil ditukarkan dengan pivot,

yaitu data ke-i. Apabila data terkecil tersebut lebih kecil dari data ke-i, proses penuakaran

tidak perlu dilakukan.

Algoritma metode seleksi dapat dituliskan sebagai berikut:

6

Procedure BinaryInsertionSort;Var

i, j, x : word;y, r, m : word;

Beginfor i := 2 to N dobegin x := Data[i]; y := 1; r := i – 1 ;

while (y <= r) dobegin m := (y + r) div 2; if ( x < Data[m] ) then r := m – 1 ; else y := m + 1 ;end;

for j := i – 1 downto 1 doData [ j + 1] := Data [j];

Data[y] := x;end;

End;

1.

Page 10: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

1. i 1

2. Selama ( i <= N-1) kerjakan baris 3 sampai 9

3. k i

4. j i + 1

5. Selama ( j <= N) kerjakan baris 6 dan 7

6. Jika (Data[k] > Data[j]) maka k j

7. j j + 1

8. Tukar Data[i] dengan Data[k]

9. i i + 1

Proses pengurutan dapat dijelaskan sebagai berikut:

Saat i=1, data yang terkecil diantara data ke-2 sampai 9 adalah data ke-5, yaitu 3.

Kemudian data ke-1 yaitu 12 ditukar dengan data ke-5 yaitu 3.

Saat i=2, data yang terkecil diantara data ke-3 sampai 9 adalah data ke-3, yaitu 9.

Kemudian data ke-2 yaitu 35 ditukar dengan data ke-3 yaitu 9.

Saat i=3, data yang terkecil diantara data ke-4 sampai 9 adalah data ke-4, yaitu 11.

Kemudian data ke-3 yaitu 35 ditukar dengan data ke-4 yaitu 11. Demikian seterusnya.

Untuk lebih jelasnya perhatikan proses pengurutan dengan metode seleksi yang

disajikan pada tabel 2.

Tabel 2. Proses pengurutan metode seleksi

Iterasi Data [1]

Data [2]

Data [3]

Data [4]

Data [5]

Data [6]

Data [7]

Data [8]

Data [9]

Awal 12 35 9 11 3 17 23 15 31

i=1 12 35 9 11 3 17 23 15 31

i=2 3 35 9 11 12 17 23 15 31

i=3 3 9 35 11 12 17 23 15 31

i=4 3 9 11 35 12 17 23 15 31

i=5 3 9 11 12 35 17 23 15 31

i=6 3 9 11 12 15 17 23 35 31

i=7 3 9 11 12 15 17 23 35 31

i=8 3 9 11 12 15 17 23 35 31

Akhir 3 9 11 12 15 17 23 31 35

Struktur Data Page 7

Page 11: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Berikut adalah contoh prosedur yang menggunakan metode seleksi:

Metode gelembung disebut juga metode penukaran (exchange sort) mengurutkan

data dengan cara membandingkan masing – masing data, kemudian dilakukan penukaran

jika perlu. Proses pengurutan dilakukan dengan menggunakan dua kalang. Kalang

pertama melakukan pengulangan dari 2 sampai dengan N-1 (misalkan dengan variabel i).

Sedangkan kalang ke 2 dari N sampai dengan i (misalkan dengan variabel j). Pada

masing-masing pengulangan, data ke ( j – 1) dibandingkan dengan data ke – j. Apabila

data ke (j – 1) lebih besar daripada data ke – j, kedua data ditukar.

Algoritma penyisipan metode gelembung adalah sebagai berikut:

1. i 2

2. Selama (j<=N) kerjakan baris 3 sampai 7

3. j N

4. Selama (j>=i) kerjakan baris 5 sampai 7

5. Jika (Data[j-1] > Data[j]) maka tukar Data[j-1] dengan Data[j]

6. jj+1

7. ii + 1

8

Procedure SelectionSort;Var

i, j, k : word;Begin

for i := 1 to N – 1 dobegin

k := i;for j := i + 1 to N do

if (Data[k] > Data[j]) then k := j;

Tukar (Data[i], Data[k]);end;

End;

1.

Page 12: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Proses pengurutan dapat dijelaskan sebagai berikut:

• Saat i=2, nilai j diulang dari 9 sampai dengan 2, pengulangan pertama Data[9]

dibandingkan dengan Data[8]. Karena 15 < 31 proses dilanjutkan. Pengulangan kedua

Data[8] dibandingkan dengan Data[7], karena 23 > 15 maka Data[7] dan Data[8] ditukar

dan seterusnya sampai j=2.

• Pada saat i = 3, nilai j diulang dari 9 sampai dengan 3. Pada pengulangan pertama data[9]

dibandingkan dengan data[8]. Karena 23 < 31, maka proses dilanjutkan. Pada

pengulangan kedua data[8] dibandingkan data[7]. Karena 17 > 23, maka proses

dilanjutkan. Pada saat j = 4, data[4] dibandingkan dengan data[3]. Karena 35 > 9, maka

data[3] dan data[4] ditukar. Demikian seterusnya sampai j = 3.

Untuk lebih jelasnya perhatikan proses pengurutan dengan metode gelembung

yang disajikan pada tabel 3.

Tabel 3. Proses pengurutan metode gelembung

Iterasi Data [1]

Data [2]

Data [3]

Data [4]

Data [5]

Data [6]

Data [7]

Data [8]

Data [9]

Awal 12 35 9 11 3 17 23 15 31

i=2 12 35 9 11 3 17 23 15 31

j=8 12 35 9 11 3 17 23 15 31

j=7 12 35 9 11 3 17 15 23 31

j=5 12 35 9 11 3 15 17 23 31

j=4 12 35 9 3 11 15 17 23 31

j=3 12 35 3 9 11 15 17 23 31

j=2 12 3 35 9 11 15 17 23 31

i=3 3 12 35 9 11 15 17 23 31

j=4 3 12 35 9 11 15 17 23 31

j=3 3 12 9 35 11 15 17 23 31

i=4 3 9 12 35 11 15 17 23 31

j=5 3 9 12 35 11 15 17 23 31

i=5 3 9 12 11 35 15 17 23 31

j=6 3 9 12 11 35 15 17 23 31

i=6 3 9 12 11 15 35 17 23 31

Struktur Data Page 9

Page 13: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

j=7 3 9 12 11 15 35 17 23 31

i=7 3 9 12 11 15 17 35 23 31

j=8 3 9 12 11 15 17 35 23 31

i=8 3 9 12 11 15 17 23 35 31

j=9 3 9 12 11 15 17 23 35 31

Akhir 3 9 12 11 15 17 23 31 35

Berikut adalah contoh prosedur yang menggunakan metode gelembung:

Diambil dari nama penciptanya, yaitu D.L.Shell (1959). Metode ini mengurutkan

data dengan cara membandingkan suatu data dengan data yang lain yang memiliki jarak

tertentu, kemudian dilakukan penukaran jika diperlukan. Prosesnya:

1. Menentukan jarak mula-mula dari data yang dibandingkan, yaitu N / 2. Lakukan

pengulangan dari 1 sampai N/2.

2. Masing – masing pengulangan dilakukan pembandingan antara data ke-j dengan data

ke-(j+N/2).

3. Apabila data-j lebih besar dari data (j + N/2 ) maka data ditukar.

4. Data diulang sampai semua data ke-j selalu lebih kecil dari data ke (j + N / 2)

5. Gunakan jarak (N/2)/2 atau N/4.

6. Lakukan pengulangan dari 1 sampai (N-N/4) atau 3.N/4

7. Masing – masing pengulangan dilakukan pembandingan antara data ke-j dengan data

ke-(j+N/4), apabila diperlukan data ditukar.

10

Procedure BubbleSort;Var

i, j : word;Begin

for i := 2 to N – 1 do for j := N downto 1 do

begin if ( Data[j – 1] > Data[j]) then Tukar (Data[j – 1], Data[j]);end;

end.

1.

Page 14: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

8. Pengulangan dari 1 sampai 3.N/4 dilakukan sampai semua data ke-j lebih kecil dari

data ke-(j+N/4).

Algoritma penyisipan metode shell adalah sebagai berikut:

1. Lompat 2

2. Selama (Lompat >1) kerjakan baris 3 sampai 9

3. Lompat Lompat/2. Sudah false

4. Kerjakan baris 4 sampai dengan 8 sampai (Sudah=true)

5. Sudah true

6. j 1

7. Selama (j<=N - Lompat) kerjakan baris 8 dan 9

8. Jika (Data[j] > Data[j+lompat] maka tukar Data[j], Data[j+Lompat], Sudah false

9. j j + 1

Untuk lebih jelasnya perhatikan proses pengurutan dengan metode shell yang

disajikan pada tabel 4.

Tabel 4. Proses pengurutan dengan metode shell

Iterasi Data [1]

Data [2]

Data [3]

Data [4]

Data [5]

Data [6]

Data [7]

Data [8]

Data [9]

Awal 12 35 9 11 3 17 23 15 31

Jarak =4 12 35 9 11 3 17 23 15 31

j = 1 12 35 9 11 3 17 23 15 31

j = 2 3 35 9 11 12 17 23 15 31

Jarak =2 3 17 9 11 12 35 23 15 31

j = 2 3 17 9 11 12 35 23 15 31

j = 6 3 11 9 17 12 35 23 15 31

Jarak =2 3 11 9 17 12 15 23 35 31

j = 4 3 11 9 17 12 15 23 35 31

Jarak =1 3 11 9 15 12 17 23 35 31

j = 2 3 11 9 15 12 17 23 35 31

j = 4 3 9 11 15 12 17 23 35 31

j = 8 3 9 11 12 15 17 23 35 31

Akhir 3 9 11 12 15 17 23 31 35

Struktur Data Page 11

Page 15: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Proses pengurutan dapat dijelaskan sebagai berikut:

Saat jarak=4, j diulang dari 1 sampai 5. Pengulanganpertama, Data[1] dibandingkan

Data[5] karena 12 > 3 maka data ditukar. Pengulangan kedua Data[2] dibandingkan

dengan Data[6] karena 35 > 17 maka data ditukar. Pengulangan ketiga Data[3]

dibandingkan dengan Data[7] karena 9 > 23 data tidak perlu ditukar. Demikian seterusnya

sampai j.

Pada saat jarak = 2, j diulang dari 1 sampai 7. Pengulanganpertama, Data[1] dibandingkan

Data[3] karena 3>9maka data ditukar. Pengulangan kedua Data[2] dibandingkan dengan

Data[4] karena 17> 11 maka data ditukar. Demikian seterusnya sampai j = 7. Perhatikan

bahwa pengulangan untuk jarak = 2 harus diulang lagi karena ternyata data[4] masih lebih

besar daripada data[6]. Demikian seterusnya.

Berikut adalah contoh prosedur yang menggunakan metode shell:

12

Procedure ShellSort;Var

Sudah : boolean;Lompat, i , j : word;

BeginLompat := N;while (Lompat > 1) dobegin Lompat := Lompat div 2;

repeat Sudah := true;

for j := 1 to N – Lompat dobegin i := j + Lompat; if (Data[j] > Data[i]) then begin Tukar (Data[j], Data[i]); Sudah := false;end;

end;Until Sudah;end;

End;

Page 16: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Disebut juga metode partisi ditemukan C.A.R Hoare (1962) dimana jarak dari

kedua elemen yang ditukarkan cukup besar dengan tujuan untuk mempertinggi

efektivitasnya.Proses pengurutan dengan metode quick dimulai dengan memilih data

yang dinamakan pivot misalnya x. Pivot diletakkan pada posisi ke-j hingga data antara 1

sampai (j–1) lebih kecil daripada x, sedangkan data pada posisi ke (j+1) sampai N lebih

besar daripada x. Cara pengaturannya adalah menukarkan data diantara posisi 1 sampai

dengan (j – 1) yang lebih besar daripada x dengan data diantara posisi (j+1) sampai

dengan N yang lebih kecil daripada x.

Algoritma penyisipan metode quick adalah sebagai berikut:

1. x Data[(L+R)/2]

2. i L

3. j R

4. Selama (i<=j) kerjakan baris 5 sampai 12

5. Selama (Data[i]<x) kerjakan i i + 1

6. Selama (Data[j] > x) kerjakan j j + 1

7. Jika (i<=j) kerjakan baris 8 sampai 10, jika tidak kerjakan baris 11

8. Tukar Data[i] dengan Data[j]

9. i i + 1

10. j j – 1

11. Jika (L < j) kerjakan lagi baris 1 dengan R=j

12. Jika (i < R) kerjakan lagi baris 1 dengan L=i

Proses pengurutan metode quick dapat dijelaskan sebagai berikut:

a) Mula-mula diambil L=1 dan R=9 serta pivot adalah data ke-5 yaitu 3. Tujuan

pemilihan pivot adalah mengatur data disebelah kiri agar lebih lecil daripada pivot

dan data disebelah kanan agar lebih besar daripada pivot. Kita harus mencari data

disebelah kiri pivot yang lebih besar dari 3.

b) Ternyata data ke-1 yaitu 12. kita tidak akan dapat nilai yang lebih kecil dari 3.

Sekarang 3 harus ditukar dengan 12.

Struktur Data Page 13

1.

Page 17: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

12 35 9 11 3 17 23 15 31

3 35 9 11 12 17 23 15 31

c) Langkah selanjutnya, membuat dua kumpulan data baru berdasarkan hasil diatas.

Kumpulan data pertama adalah data yang memiliki indeks 1 sampai 5 – 1 = 4, yaitu :

3 35 9 11

d) Kumpulan data kedua adalah data yang memiliki indeks 1 + 1 = 2 sampai dengan 9.

Kumpulan data kedua belum bisa ditentukan karena masih tergantung pengurutan data

pertama.

e) Kumpulan data pertama harus mencari pivot kemudian menggunakan aturan yang

serupa. Pivotnya adalah data ke 2 yaitu 35. disebelah kiri tidak ada yng lebih kecil

dari 35 sedang di kanan 11 adalah lebih kecil dari 35, maka 35 harus ditukar dengan

11.

f) Selanjutnya buat dua kumpulan data lagi. Kumpulan pertama punya indeks 1 sampai

4–1 = 3 adalah sebagai berikut:

3 11 9

g) Pivotnya adalah 11. Apabila data disebelah kananlebih kecil maka data harus ditukar.

Jadi 11 ditukar dengan 9.

h) Kumpulan kedua punya indeks dari 2 + 1 = 3 sampai 4 yaitu 11 dan 35. data tidak

ditukar karena sudah urut. Kumpulan kedua memiliki indeks 2 sampai 9 , yaitu

9 11 35 12 17 23 15 31

i) Pivotnya 12, jika dilakukan proses yang sama maka 35 dan 12 harus ditukar.

3 9 11 35 15 17 23 35 31

3 9 11 12 35 17 23 35 31

j) Dari hasilnya kita bagi menjadi dua kumpulan data. Pertama memiliki indeks 2

sampai 4, dan tidak perlu diurutkan karena sudah urut. Kedua memiliki indeks 5

sampai 9

14

Page 18: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Untuk lebih jelasnya perhatikan proses pengurutan dengan metode quick yang

disajikan pada tabel 5.

Tabel 5. Proses pengurutan dengan metode quick

Berikut adalah contoh prosedur yang menggunakan metode quick:

Struktur Data Page 15

Procedure QuickSort(L, R : word);Var

i, j, x : word;Begin

x := Data [(L+R) div 2];i := L;j := R;while (i<=j) dobegin

while (Data[i] < x) doinc (i);while (Data[j] > x) dodec (j);

if (i <= j) thenbegin Tukar (Data[i], Data[j]); inc(i); dec(j);end;end;

If (L < j) then QuickSort (L,j);

If (i < R) thenQuickSort (i,R);

Page 19: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

C. PENUTUP

16

Procedure QuickSort(L, R : word);Var

i, j, x : word;Begin

x := Data [(L+R) div 2];i := L;j := R;while (i<=j) dobegin

while (Data[i] < x) doinc (i);while (Data[j] > x) dodec (j);

if (i <= j) thenbegin Tukar (Data[i], Data[j]); inc(i); dec(j);end;end;

If (L < j) then QuickSort (L,j);

If (i < R) thenQuickSort (i,R);

Rangkuman

1. Pengurutan data adalah meletakkan kumpulan elemen data ke dalam

urutan tertentu, berdasarkan satu atau beberapa kunci dalam tiap-tiap

elemen.

2. Ada 2 macam urutan dalam proses pengurutan yaitu Ascending dan

Descending.

3. Proses pengurutan dengan metode penyisipan langsung dapat

dilakukan dengan mengecek data satu persatu mulai dari yang ke dua

sampai dengan yang terakhir.

4. Metode Penyisipan Biner merupakan pengembangan dari metode

sebelumnya,idenya didasarkan pada pernyataan bahwa saat akan

menggeser data ke-i, data ke 1 sampai i–1 sebenarnya sudah dalam

keadaan urut.

5. Metode seleksi melakukan pengurutan dengan cara mencari data

yang terkecil kemudian menukarkannya dengan data yang

digunakan sebagai acuan yang disebut pivot. Proses pengurutan

dilakukan pengulangan dari 1 sampai dengan (N – 1). Tiap-tiap

pengulangan dicari data yang paling kecil diantara data ke (i+1)

sampai data terakhir (=N). Data terkecil ditukarkan dengan

pivot, yaitu data ke-i. Apabila data terkecil tersebut lebih kecil

dari data ke-i, proses penuakaran tidak perlu dilakukan.

6. Metode gelembung disebut juga metode penukaran (exchange

sort) mengurutkan data dengan cara membandingkan masing –

masing data, kemudian dilakukan penukaran jika perlu. Proses

pengurutan dilakukan dengan menggunakan dua kalang. Kalang

Page 20: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Urutkan data berdasarkan nilai terkecil ke nilai terbesar.

Inputan:

Nama

Umur

Proses: pengisian data akan diulang sebanyak 5 kali

Output: data diurutkan berdasarkan umur paling muda ke paling tua

Struktur Data Page 17

5. Metode seleksi melakukan pengurutan dengan cara mencari data

yang terkecil kemudian menukarkannya dengan data yang

digunakan sebagai acuan yang disebut pivot. Proses pengurutan

dilakukan pengulangan dari 1 sampai dengan (N – 1). Tiap-tiap

pengulangan dicari data yang paling kecil diantara data ke (i+1)

sampai data terakhir (=N). Data terkecil ditukarkan dengan

pivot, yaitu data ke-i. Apabila data terkecil tersebut lebih kecil

dari data ke-i, proses penuakaran tidak perlu dilakukan.

6. Metode gelembung disebut juga metode penukaran (exchange

sort) mengurutkan data dengan cara membandingkan masing –

masing data, kemudian dilakukan penukaran jika perlu. Proses

pengurutan dilakukan dengan menggunakan dua kalang. Kalang

Contoh Soal 1

Latihan

Page 21: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

program latihsort;{$APPTYPE CONSOLE}uses SysUtils;const cgaris = '-----------------------';var snama : array[1..100] of string; iumur : array[1..100] of integer; snamatitip : string; iumurtitip : integer; i,j : integer; a,b : integer;begin { TODO -oUser -cConsole Main : Insert code here }i := 1;repeatwrite('Nama : ');readln(snama[i]);write('Umur : ');readln(iumur[i]);i := i + 1;until i > 5;a := 1;repeat b := a + 1; repeat if iumur[a] > iumur[b] then

begin snamatitip := snama[a]; snama[a] := snama[b]; snama[b] := snamatitip; iumurtitip := iumur[a]; iumur[a] := iumur[b]; iumur[b] := iumurtitip; end; b := b + 1; until b > 5; a := a + 1;until a > 4;readln;writeln('');writeln(cgaris);writeln('Nama Umur');writeln(cgaris);j := 1;repeatwrite(snama[j],' ',iumur[j]);writeln('');j := j + 1;until j > 5;writeln(cgaris);readln;end.

18

Penyelesaian Contoh Soal 1

Page 22: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Soal 1.

Urutkan data dibawah ini ke dalam bentuk ascending menggunakan masing-masing metode!

8 5 2 6 9 3 1 4 0 7

Soal2.

Buatlah program untuk mengurutkan data nilai mahasiswa dari terbesar ke terkecil

Nama Mahasiswa Nilai Nilai Huruf

Asep 70 B

Bonita 89 A

Cinta 54 D

Deni 60 C

Ema 90 A

Farel 60 C

Urutkan data dibawah ini ke dalam bentuk ascending menggunakan masing-masing metode!

Struktur Data Page 19

Tes Formatif

Page 23: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Langkah 1: membuat tabel dengan nilai indeks iterasi. Data yang menjadi acuan pertama adalah data ke- 2

Langkah 2: Data ke -2 dibandingkan dengan data ke-1, jika data ke-2 lebih kecil dibandingkan data ke-1, tukar data tersebut

Iterasi Data [1]

Data [2]

Data [3]

Data [4]

Data [5]

Data [6]

Data [7]

Data [8]

Data [9]

Data [10]

Awal 8 5 2 6 9 3 1 4 0 7

i=2 8 5 2 6 9 3 1 4 0 7

Hasil i=2 5 8 2 6 9 3 1 4 0 7 Langkah 3:

Data dibandingkan mulai data ke-3 yaitu 2, bandingkan dengan data ke-2 yaitu 8.

Apakah data ke -3 lebih kecil dari data ke-2? Jika iya nilai ditukar.

Selanjutnya, data ke-2 yaitu 2 dibandingkan dengan data ke-1 yaitu 5, jika data ke-2

lebih kecil dari data ke-1, nilai ditukar.

Struktur Data Page 20

Penyelesaian Soal 1

Penyisipan Langsung (Straight Insertion Sort)

Kunci Jawaban

Page 24: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Iterasi Data [1]

Data [2]

Data [3]

Data [4]

Data [5]

Data [6]

Data [7]

Data [8]

Data [9]

Data [10]

Hasil i=2 5 8 2 6 9 3 1 4 0 7

i=3 (a) 5 8 2 6 9 3 1 4 0 7

i=3 (b) 5 2 8 6 9 3 1 4 0 7

Hasil i=3 2 5 8 6 9 3 1 4 0 7Langkah 4:

Data dibandingkan mulai data ke-4 yaitu 6, bandingkan dengan data ke-3 yaitu 8. Ternyata data ke-4 lebih kecil dari data ke-3, maka nilai ditukar.

Pada data ke-3 yaitu 6, dandata ke-2 yaitu 5. Ternyata data ke -3 lebih besar dari data ke-2, maka nilai tidak ditukar.

Iterasi Data [1]

Data [2]

Data [3]

Data [4]

Data [5]

Data [6]

Data [7]

Data [8]

Data [9]

Data [10]

Hasil i=3 2 5 8 6 9 3 1 4 0 7

i=4 (a) 2 5 8 6 9 3 1 4 0 7

i=4 (b) 2 5 6 8 9 3 1 4 0 7

i=4 (c) 2 5 6 8 9 3 1 4 0 7

Hasil i=4 2 5 6 8 9 3 1 4 0 7

Ulangi langkah diatas hingga i=10

Hasilnya:

Struktur Data Page 21

Page 25: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Idenya didasarkan pada pernyataan bahwa saat akan menggeser data ke-i, data ke 1 sampai i–1 sebenarnya sudah dalam keadaan urut.

Contoh

Data ke-6 yaitu 3, dijadikan sebagai pembanding.

Data ke-1 hingga data ke-5, cari posisi paling tengah antara data, yaitu data ke-3.Ternyata data ke-6 yaitu 3 lebih kecil dari data ke-3 yaitu 6, maka tukar nilai tersebut.

Hasilnya adalah:

Selanjutnya, jika data pembanding lebih kecil dari data tengah, maka data disebelah

kanan diabaikan (karena sudah pasti lebih besar).

Sehingga data tengah hanya akan dibandingkan dengan data disebelah kirinya.

Cari posisi tengah pada data disebelah kiri, yaitu data ke-1. Bandingkan! Ternyata

data ke-3 lebih besar dari data ke-1 maka letakkan pada sebelah kanan data 1.

22

Penyisipan Biner (Binary Insertion Sort)

Page 26: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Kemudian bandingkan data tersebut disebelah kanannya. Ternyata data tersebut tidak

mengalami perubahan.

Hasilnya adalah:

Data yang menjadi pembanding adalah data ke- 1

Iterasi Data [1]

Data [2]

Data [3]

Data [4]

Data [5]

Data [6]

Data [7]

Data [8]

Data [9]

Data [10]

Awal 8 5 2 6 9 3 1 4 0 7

i=1 8 5 2 6 9 3 1 4 0 7 Data ke-1 menjadi acuan, kemudian cari data terkecil pada sebelah kanan data ke-1.

ternyata data terkecil terletak di data ke-9 yaitu 0. Tukar data ke-1 dengan data ke-9.

Hasilnya:

0 5 2 6 9 3 1 4 8 7

Hasil akhirnya:

Struktur Data Page 23

Seleksi (Selection sort)

Page 27: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Cara kerjanya adalah dengan berulang-ulang melakukan traversal (proses looping) terhadap elemen-elemen struktur data yang belum diurutkan.

Langkah 1: bandingkan data dari indeks yang paling belakang

Langkah 2:

24

Gelembung (Bubble Sort)

Page 28: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Langkah 3:

Dan seterusnya.

Prosesnya:

1. Menentukan jarak mula-mula dari data yang dibandingkan, yaitu N / 2.

2. Lakukan pengulangan dari 1 sampai N/2

3. Masing – masing pengulangan dilakukan pembandingan antara data ke-j dengan data ke-(j+N/2).

4. Apabila data-j lebih besar dari data (j + N/2 ) maka data ditukar.

5. Data diulang sampai semua data ke-j selalu lebih kecil dari data ke (j + N / 2)

Struktur Data Page 25

Metode Shell

Page 29: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

6. Gunakan jarak (N/2)/2 atau N/4

7. Lakukan pengulangan dari 1 sampai (N-N/4) atau 3.N/4

8. Masing – masing pengulangan dilakukan pembandingan antara data ke-j dengan data ke-(j+N/4), apabila diperlukan data ditukar

9. Pengulangan dari 1 sampai 3.N/4 dilakukan sampai semua data ke-j lebih kecil dari data ke-(j+N/4)

26

Page 30: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Struktur Data Page 27

Page 31: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Mula-mula diambil L=1 dan R=10 dengan Data[(L+R)/2] dengan pivot adalah data

ke-5 yaitu 9 .

Tujuan pemilihan pivot adalah mengatur data disebelah kiri agar lebih kecil daripada

pivot dan data disebelah kanan agar lebih besar daripada pivot. 28

Metode Quick

Page 32: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Bandingkan 9 dengan nilai di sebelah kiri.

Ternyata, tidak ada nilai yang lebih dari 9, maka kita bandingkan nilai disebelah

kanan.

Pada proses kita mencari nilai yang paling kecil dari 9 yaitu 0. Tukar 9 dengan 0.

Setelah itu, 0 dibandingkan dengan data disebelah kiri. Cari data yang lebih besar dari

0, kemudian tukar.

Selanjutnya, buatlah dua kumpulan data baru. Kumpulan data pertama adalah indeks

1 sampai dengan 5-1=4

Kumpulan data kedua adalah data dengan indeks 1+1=2 hingga 10. kumpulan data ini

belum bisa ditentukan karena masih tergantung urutan kumpulan data pertama.

Kembali ke kumpulan data pertama. Cari pivot data tersebut dengan L=1 dan R=4

yaitu data ke 2.

Tidak ada data yang lebih besar dari 5, sedangkan ada data yang lebih kecil dari 5

yaitu 2. Tukar data.

Selanjutnya, buat kumpulan data lagi dengan indeks 1 sampai 4-1=3, yaitu:

Struktur Data Page 29

Page 33: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Pivotnya adalah 2.Cari apakah ada data sebelah kiri yang lebih besar dari 2? Ternyata

tidak, maka bandingkan 2 dengan disebelah kanan. Jika ada yang lebih kecil, maka

tukar.

Selanjutnya, indeks ke 2+1=3 hingga ke 4.

Data tidak perlu ditukar, karena sudah dalam keadaan urut

Kembali ke kumpulan data kedua, yaitu indeks ke 2 hingga 10.

Pivot x adalah 3. Bandingkan x dengan data ke 2 yaitu 2.

Ternyata 2 tidak lebih besar dari 3. Maka bandingkan disebelah kanan pivot. Ternyata

disebelah kanan 3 terdapat nilai yang lebih kecil. Tukarkan.

Hasilnya:

Bandingkan data 1 dengan data 2, karena lebih dikecil nilai ditukar.

Selanjutnya buat kumpulan data dibawah ini:

pivot untuk kumpulan data ini adalah 5. jika dilihat dari data tersebut data kiri dan

data kanan sudah pada posisi yang tidak bisa ditukar.

Selanjutnya, kita lakukan kembali untuk indeks 3 hingga 10

Bandingkan data x yaitu 2 dengan data ke 3 yaitu 5, karena data ke 3 lebih besar nilai

ditukar.

30

Page 34: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Kumpulan data yang terbentuk adalah

Dilihat dari posisi tersebut, tidak akan terjadi pertukaran data

Selanjutnya, kita lakukan kembali untuk indeks 4 hingga 10

Bandingkan data x yaitu 3 dengan data ke 4 yaitu 6, karena data ke 4 lebih besar, nilai

ditukar.

Kumpulan data yang terbentuk adalah

Dilihat dari posisi tersebut, tidak akan terjadi pertukaran data. Dan seterusnya

program Psortsoal;

{$APPTYPE CONSOLE}

uses

SysUtils;

const

cgaris='-------------------------------------------';

var nama : array[1..100] of string;

nilai : array[1..100] of integer;

huruf : array [1..100] of string;

namatitip : string;

nilaititip : integer;

huruftitip : string;

i,j : integer;

a,b : integer;

begin

{ TODO -oUser -cConsole Main : Insert code here }

Struktur Data Page 31

Penyelesaian Soal 2

Page 35: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

i := 1;

repeat

write('Nama : ');readln(nama[i]);

write('Nilai : ');readln(nilai[i]);

write('Huruf : ');readln(huruf[i]);

i := i + 1;

until i > 7;

a := 1;

repeat

b := a + 1;

repeat

if nilai[a] < nilai[b] then

begin

namatitip := nama[a];

nama[a] := nama[b];

nama[b] := namatitip;

nilaititip := nilai[a];

nilai[a] := nilai[b];

nilai[b] := nilaititip;

huruftitip := huruf[a];

huruf[a] := huruf[b];

huruf[b] := huruftitip;

end;

b := b + 1;

until b > 7;

a := a + 1;

until a > 6;

readln;

writeln('');

writeln(cgaris);

writeln('Nama Nilai Huruf');

writeln(cgaris);

j := 1;

repeat

write(nama[j],' ',nilai[j],' ', huruf[j]);

writeln('');

j := j + 1;

until j > 5;

writeln(cgaris);

readln;

end.

32

Page 36: ik4menarianti.files.wordpress.com€¦  · Web viewBuku Struktur Data ini memuat materi struktur data sederhana hingga struktur data majemuk baik linier maupun non linier untuk mahasiswa

Setelah mempelajari bahasan pada bab Sorting diharapkan mahasiswa dapat

mendeskripsikan konsep pengurutan data, dapat menganalisis cara kerja metode

pengurutan data dan dapat membuat notasi algoritmik metode pengurutan data serta dapat

mengimplementasikan semua metode kedalam bahasa pemrograman.

Bahasan sorting sangat penting untuk digunakan sebagai dasar mempelajari materi

Searching. Dengan mempelajari sorting diharapkan dapat menganalisa proses pengurutan

serta dapat mengimplemetasikan ke dalam metode pencarian data.

Hasbi, M. (2003). Struktur Data dan Algoritma dalam Pemrograman Turbo Pascal,

Yogyakarta: Gava Media. ISBN: 979-97088-8-5

Kadir, Abdul (2011). Konsep dan Implementasi Struktur Data dalam pemrograman

Delphi, Yogyakarta: ANDI OFFSET. ISBN: 978-979-29-1786-4.

Munir, Rinaldi (2009). Algoritma dan Pemrograman dalam Bahasa PASCAL dan

C, Bandung: Informatika. ISBN: 979-756-031-0

Pranata, Antony (2005). Algoritma dan Pemrograman, Edisi Ketiga, Yogyakarta:

Graha Ilmu. ISBN: 978-979-1153-17-1

Const = konstanta atau nilai tetap

Var = variabel / tempat mendeklarasikan nama variabel yang belum dikenal program

Max = nilai maksimum

Array = tipe data larik

Pivot = nilai yang menjadi acuan

Struktur Data Page 33

Tindak Lanjut

Daftar Pustaka

Glosarium