11
1 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi MODUL PRAKTIKUM “STRUKTUR DATA” Modul 4 : Sorting Dosen Pembimbing : Xaverius Najoan, ST. MT. Bahasa Pemrograman : C Software : Notepad++ dan GCC LABORATORIUM TEKNOLOGI INFORMASI DAN KOUNIKASI UNIVERSITAS SAM RATULANGI 2012

Ifc modul 4(sotring)

Embed Size (px)

Citation preview

Page 1: Ifc   modul 4(sotring)

1 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

MODUL PRAKTIKUM “STRUKTUR DATA”

Modul 4 : Sorting Dosen Pembimbing : Xaverius Najoan, ST. MT. Bahasa Pemrograman : C Software : Notepad++ dan GCC

LABORATORIUM TEKNOLOGI INFORMASI DAN KOUNIKASI UNIVERSITAS SAM RATULANGI

2012

Page 2: Ifc   modul 4(sotring)

2 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

TUJUAN 1. Mahasiswa dapat memahami metode-metode pengurutan 2. Mahasiswa dapat menggunakan metode-metode pengurutan untuk memecahkan masalah

ALAT DAN BAHAN

1. PC 2. Compiler (GCC) 3. Text Editor (Notepad++)

DASAR TEORI Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak

teratur menjadi urut dan teratur menurut suatu aturan tertentu. Biasanya pengurutan terbagi menjadi 2 bagian, yaitu : ascending (pengurutan dari angka/karakter kecil ke angka/karakter besar) dan descending (pengurutan dari angka/karakter besar ke angka/karakter kecil).

Untuk melakukan proses pengurutan dapat menggunakan beberapa metode, antara lain :

Bubble sort

Selection sort

Insertion sort

BUBBLE SORT

Bubble sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya. Pembandingan elemen dapat dimulai dari data yang paling awal atau data yang paling akhir. Jika perbandingan tersebut sesuai dengan kondisi, maka data langsung ditukar.

Misalkan terdapat data-data sebagai berikut :

5 1 4 2 8

Page 3: Ifc   modul 4(sotring)

3 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Langkah Pertama :

( 5 1 4 2 8 ) ( 1 5 4 2 8 ), disini 2 elemen pertama dibandingkan kemudian ditukar karena 5 > 1

( 1 5 4 2 8 ) ( 1 4 5 2 8 ), ditukar karena 5 > 4

( 1 4 5 2 8 ) ( 1 4 2 5 8 ), ditukar karena 5 > 2

( 1 4 2 5 8 ) ( 1 4 2 5 8 ), karena urutan sudah sesuai (5 < 8), maka tidak ditukar

Langkah Kedua :

( 1 4 2 5 8 ) ( 1 4 2 5 8 )

( 1 4 2 5 8 ) ( 1 2 4 5 8 ), ditukar karena 4 > 2

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

Langkah Ketiga :

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

Langkah Keempat :

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

Langkah Kelima :

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

Page 4: Ifc   modul 4(sotring)

4 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

SELECTION SORT

Selection Sort adalah suatu metode pengurutan yang membandingkn elemen yang sekarang dengan elemen berikutnya sampai ke elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil / lebih besar (sesuai kondisi) dari elemen yang sekarang, maka dicatat posisinya dan langsung ditukar.

Misalkan terdapat data-data sebagai berikut :

5 1 4 2 8

Langkah Pertama :

Posisi : 0 1 2 3 4

Data : 5 1 4 2 8

Index = 0

5 < 1, karena pernyataan bernilai false maka index = 1

1 < 4, index = 1

1 < 2, index = 1

1 < 8, index = 1

Tukar elemen 0 dan elemen 1, menjadi :

Posisi : 0 1 2 3 4

Data : 1 5 4 2 8

Langkah Kedua :

Posisi : 0 1 2 3 4

Data : 1 5 4 2 8

Index = 1

5 < 2, index = 2

4 < 2, index = 3

2 < 8, index = 3

Tukar elemen 1 dan elemen 3, menjadi :

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

Page 5: Ifc   modul 4(sotring)

5 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Langkah Ketiga :

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

Index = 2

4 < 5, index = 2

4 < 8, index = 2

Tidak ada penukaran, sehingga :

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

Langkah Keempat :

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

Index = 3

5 < 8, index = 3

Tidak ada penukaran, sehingga :

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

Langkah Kelima :

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

Index = 4

Tidak ada penukaran, sehingga :

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

Page 6: Ifc   modul 4(sotring)

6 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

INSERTION SORT

Insertion sort merupakan salah satu algoritma pengurutan dengan cara menyisipkan jika menemukan nilai yang lebih kecil / lebih besar (sesuai dengan kondisi). Sehingga algoritma ini menyelesaikan pengurutan secara bertahap dari kiri ke kanan atau sebaliknya.

Misalkan terdapat data-data sebagai berikut :

5 1 4 2 8

Langkah Pertama :

Posisi : 0 1 2 3 4

Data : 5 1 4 2 8

tmp cek geser

1 5 > 1 data pada posisi [0] pindah pada posisi [1]

Tmp menempati posisi [0]

Posisi : 0 1 2 3 4

Data : 1 5 4 2 8

Langkah Kedua :

Posisi : 0 1 2 3 4

Data : 1 5 4 2 8

tmp cek geser

4 5 > 4 data pada posisi [1] pindah pada posisi [2]

1 < 4

Tmp menempati posisi [1]

Posisi : 0 1 2 3 4

Data : 1 4 5 2 8

Page 7: Ifc   modul 4(sotring)

7 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Langkah Ketiga :

Posisi : 0 1 2 3 4

Data : 1 4 5 2 8

tmp cek geser

2 5 > 2 data pada posisi [2] pindah pada posisi [3]

4 > 2 data pada posisi [1] pindah pada posisi [2]

1 < 2

Tmp menempati posisi [1]

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

Langkah Keempat :

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

tmp cek geser

8 5 < 8

4 < 8

2 < 8

1 < 8

Tmp menempati posisi [4]

Posisi : 0 1 2 3 4

Data : 1 2 4 5 8

Page 8: Ifc   modul 4(sotring)

8 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

PROSEDUR PERCOBAAN

Percobaan 1

1. Kompilasi kode sumber bubble_sort.c dibawah ini! Kode Sumber : bubble_sort.c

2. Jalankan program bubble_sort! 3. Jalankan dan tuliskan keluaran bubble_sort! 4. Pelajari dan bandingkan antara kode sumber dan hasil eksekusi bubble_sort ini! 5. Berikan penjelasan anda tentang baris 14 - 22! 6. Berikan kesimpulan anda dari percobaan ini!

Page 9: Ifc   modul 4(sotring)

9 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Percobaan 2

1. Kompilasi kode sumber selection_sort.c dibawah ini!

Kode Sumber : selection_sort.c

2. Jalankan program selection_sort! 3. Jalankan dan tuliskan keluaran selection_sort! 4. Pelajari dan bandingkan antara kode sumber dan hasil eksekusi selection_sort ini! 5. Berikan penjelasan anda tentang baris 14 - 24! 6. Berikan kesimpulan anda dari percobaan ini!

Page 10: Ifc   modul 4(sotring)

10 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Percobaan 3

1. Kompilasi kode sumber insertion_sort.c dibawah ini!

Kode Sumber : insertion _sort.c

2. Jalankan program selection_sort! 3. Jalankan dan tuliskan keluaran selection_sort! 4. Pelajari dan bandingkan antara kode sumber dan hasil eksekusi selection_sort ini! 5. Berikan penjelasan anda tentang baris 14 - 24! 6. Berikan kesimpulan anda dari percobaan ini!

Page 11: Ifc   modul 4(sotring)

11 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

TUGAS 1. Buatlah algoritma dan program untuk memasukkan 10 buah data dengan menggunakan metode-

metode yang telah dipelajari, dan tampilkan data tersebut secara ascending dan descending!