Anda di halaman 1dari 9

MODUL 8

PENGURUTAN

8.1 TUJUAN PRAKTIKUM

1. Mengenalkan konsep pengurutan data pada stuktur array satu dimensi


2. Mengenalkan teknik bubble sort untuk mengurutkan data

8.2 INDIKATOR PENCAPAIAN

1. Mampu menerapkan teknik bubble sort untuk pengurutan data pada array
satu dimensi dengan bahasa C
2. Mampu menerapkan teknik-teknik pengurutan data selain bubble sort

8.3 TEORI DASAR

Pengurutan atau sorting merupakan proses menyusun elemen-elemen array


dengan tata urut tertentu. Pengurutan ada dua jenis yaitu ascending dan
descending. Pengurutan ascending adalah proses menyusun elemen-elemen dari
nilai terkecil hingga nilai terbesar, sedangkan descending adalah proses menyusun
elemen-elemen dari nilai terbesar hingga nilai terkecil.

Gambar 35. Jenis-Jenis Pengurutan Data


8.3.1 Konsep Pertukaran Nilai Dua Variabel

Konsep penting dalam proses pengurutan elemen-elemen array adalah


konsep pertukaran data antara dua buah variabel. Misalkan ada dua variabel
yaitu 𝑥 = 10 dan 𝑦 = 20 akan saling bertukar nilai, sehingga 𝑥 = 20 dan 𝑦 = 10.
Pertukaran dua buah variabel dapat dilakukan dengan menambahkan satu variabel
tambahan sebagai penampung data sementara, baik dari x maupun y, yaitu
variabel temp.

Modul 8 – Praktikum Pemrograman | Mokhammad Nurkholis Abdillah, M.Eng 67


Gambar 36. Ilustrasi Pertukaran Data

Langkah pertama adalah nilai variabel 𝑥 = 10 dimasukkan ke variabel


𝑡𝑒𝑚𝑝, sehingga nilai variabel 𝑡𝑒𝑚𝑝 = 10, 𝑥 = 0 dan 𝑦 = 20. Langkah kedua
nilai variabel 𝑦 = 20 dimasukkan ke variabel 𝑥, sehingga variabel 𝑡𝑒𝑚𝑝 = 10,
𝑥 = 20 dan 𝑦 = 0. Langkah ketiga nilai variabel 𝑡𝑒𝑚𝑝 = 10 dimasukkan ke
variabel 𝑦, sehingga hasil akhir dari pertukaran variabel, yaitu 𝑡𝑒𝑚𝑝 = 0, 𝑥 = 20
dan 𝑦 = 10.

Notasi pseudocode dan flowchart untuk algoritma pertukaran data seperti


berikut.

Gambar 37. Pseudocode algoritma Gambar 38. Flowchart algoritma


pertukaran dua variabel pertukaran dua variabel

Modul 8 – Praktikum Pemrograman | Mokhammad Nurkholis Abdillah, M.Eng 68


8.3.2 Algoritma Bubble Sort

Algoritma bubble sort melakukan pengurutan dengan cara menukar data


dengan data disebelahnya secara terus menerus sampai dalam satu iterasi (loop)
tertentu tidak ada lagi perubahan. Ilustrasi algoritma Bubble sort ketika
mengurutkan data secara ascending sebagai berikut:

Input Fase 1 Fase 1

Input fase 1 adalah sebuah


array yang belum terurut:

Input Fase 2 Fase 2

Input fase 2 dari output fase


1:

Input Fase 3 Fase 3

Input fase 3 dari output fase


2:

Input Fase 4 Fase 4

Input fase 4 dari output fase


3:

Modul 8 – Praktikum Pemrograman | Mokhammad Nurkholis Abdillah, M.Eng 69


Algoritma ini dinamakan Bubble (gelembung) karena proses pengurutannya
yang secara berangsur-angsur berpindah ke posisi yang tepat. Algoritma ini dapat
mengurutkan data secara ascending atau descending.

Gambar 39. Notasi Pseudocode Algoritma Bubble Sort Ascending

Gambar 40. Notasi Flowchart Algoritma Bubble Sort Ascending

Modul 8 – Praktikum Pemrograman | Mokhammad Nurkholis Abdillah, M.Eng 70


8.4 ALAT DAN BAHAN

Alat dan bahan yang dibutuhkan untuk praktikum:


1) Komputer/Laptop.
2) IDE Embarcadero Dev-C++

8.5 PRAKTIKUM

Percobaan dalam praktikum ini berfokus pada penerapan algoritma Bubble


Sort untuk mengurutkan data array berdimensi satu.

8.5.1. Pertukaran data dua variabel

1) Siapkan folder untuk menyimpan kode program:


“Praktikum Pemrograman/ NPM / Praktik8”!
2) Untuk setiap kode program diawali dengan template berikut:

3) Buka aplikasi Embarcadero Dev-C++. Buat file baru dengan cara:


File → New → Source File.
4) Simpan dengan nama “Modul8_AlgoritmaPertukaran”!
5) Konversi notasi pseudocode diibawah ke dalam bahasa C dengan
ketentuan nilai variabel x dan y diperoleh dari input keyboard!

6) Eksekusi kode program diatas dengan memberikan input nilai 𝑥 = 40 dan


𝑦 = 10, lihat dan analisis hasilnya!

Modul 8 – Praktikum Pemrograman | Mokhammad Nurkholis Abdillah, M.Eng 71


8.5.2. Algoritma bubble sort ascending

1) Buat file baru dengan cara: File → New → Source File.!


2) Simpan dengan nama “Modul8_BubbleSort_Ascending”!
3) Buatlah kode program seperti di bawah ini!

4) Eksekusi kode program diatas, lihat dan analisis hasilnya!

8.5.3. Algoritma Exchange Sort

1) Buat file baru dengan cara: File → New → Source File.!


2) Simpan dengan nama “Modul8_ExchangeSort_Ascending”!
3) Buatlah kode program seperti di bawah ini!

Modul 8 – Praktikum Pemrograman | Mokhammad Nurkholis Abdillah, M.Eng 72


4) Eksekusi kode program diatas, lihat dan analisis hasilnya!.

8.5.4. Algoritma Selection Sort

1) Buat file baru dengan cara: File → New → Source File.!


2) Simpan dengan nama “Modul8_SelectionSort_Ascending”!
3) Buatlah kode program seperti di bawah ini!

Modul 8 – Praktikum Pemrograman | Mokhammad Nurkholis Abdillah, M.Eng 73


4) Eksekusi kode program diatas, lihat dan analisis hasilnya!

8.5.5. Algoritma Insertion Sort

1) Buat file baru dengan cara: File → New → Source File.!


2) Simpan dengan nama “Modul8_SelectionSort_Ascending”!
3) Buatlah kode program seperti di bawah ini!

4) Eksekusi kode program diatas, lihat dan analisis hasilnya!.

8.6 EVALUASI

1. Screenshot semua kode program dan output pada percobaan 8.5.1 s/d 8.5.5
dan berikan penjelasan untuk setiap baris kode programnya (gunakan tabel
pelacakan untuk analisisnya)!
2. Modifikasi semua kode program 8.5.1 sampai 8.5.5, supaya dapat
mengurutkan secara descending. Screenshot dan berikan penjelasan untuk
setiap baris kode programnya (gunakan tabel pelacakan untuk analisisnya)!
3. Diberikan sebuah array 1 dimensi bernama suhu dengan panjang 5, yaitu
“suhu[5]” yang belum ada isinya. Seperti di bawah:

Modul 8 – Praktikum Pemrograman | Mokhammad Nurkholis Abdillah, M.Eng 74


Buat kode program dengan bahasa C++ yang dapat:
• Menginput angka-angka ke array “suhu”!
• Menampilkan urutan angka-angka yang diinput dari besar ke kecil!
• Melakukan perhitungan rata-rata, lalu nilai suhu rata-rata digunakan
untuk menampilkan output kategori suhu sesuai tabel di bawah.

Modul 8 – Praktikum Pemrograman | Mokhammad Nurkholis Abdillah, M.Eng 75

Anda mungkin juga menyukai