PRAKTIKUM 6: MENGGUNAKAN ALGORITMA PENGURUTAN

 PRAKTIKUM 6: MENGGUNAKAN  ALGORITMA PENGURUTAN




a. Konsep dasar algoritma pengurutan

Dalam pemrograman, algoritma pengurutan digunakan untuk mengatur data secara teratur atau terurut berdasarkan suatu kriteria tertentu. Pengurutan data penting dalam pengolahan informasi dan memungkinkan kita mengakses data dengan lebih efisien. Dalam materi ini, kita akan mempelajari konsep dasar algoritma pengurutan dan beberapa teknik pengurutan yang umum digunakan.

1. Definisi Pengurutan

Pengurutan adalah proses mengatur data dalam urutan tertentu berdasarkan aturan atau kriteria yang ditentukan. Data dapat diurutkan dalam berbagai cara, seperti menaik atau menurun, berdasarkan nilai, abjad, atau kriteria lainnya.

2. Kriteria Pengurutan

Dalam pengurutan, kita perlu menentukan kriteria atau kunci pengurutan yang akan digunakan. Kriteria pengurutan adalah properti atau elemen dalam data yang akan digunakan untuk membandingkan dan mengurutkan data. Contohnya, dalam pengurutan bilangan bulat, kriteria pengurutan dapat berupa nilai bilangan itu sendiri.

3. Algoritma Pengurutan

Algoritma pengurutan adalah langkah-langkah atau prosedur yang digunakan untuk mengurutkan data sesuai dengan kriteria yang telah ditentukan. Ada berbagai algoritma pengurutan yang tersedia, dan setiap algoritma memiliki kompleksitas dan karakteristik khusus.

4. Analisis Kompleksitas

Dalam memilih algoritma pengurutan yang tepat, penting untuk mempertimbangkan analisis kompleksitasnya. Analisis kompleksitas melibatkan pemahaman terhadap seberapa efisien algoritma tersebut dalam mengurutkan data dalam hal waktu (kompleksitas waktu) dan penggunaan sumber daya (kompleksitas ruang).

5. Kelebihan dan Kekurangan

Setiap algoritma pengurutan memiliki kelebihan dan kekurangan masing-masing, tergantung pada karakteristik data dan kebutuhan aplikasi. Beberapa algoritma mungkin lebih cepat dalam pengurutan data yang hampir terurut, sementara yang lain mungkin lebih efisien dalam pengurutan data yang acak atau besar. Penting untuk mempertimbangkan kelebihan dan kekurangan setiap algoritma sebelum memilihnya untuk digunakan.



Praktekan Latihan Berikut:

Studi Kasus

1) Bubble Sort:

Buatlah program dalam bahasa C yang menggunakan algoritma Bubble Sort untuk mengurutkan array berikut secara menaik: {9, 5, 2, 7, 1}. Tampilkan hasil pengurutan array setelah proses Bubble Sort.

2) Selection Sort:

Buatlah program dalam bahasa C yang menggunakan algoritma Selection Sort untuk mengurutkan array berikut secara menurun: {3, 8, 1, 6, 4}.Tampilkan hasil pengurutan array setelah proses Selection Sort.

3) Insertion Sort:

Buatlah program dalam bahasa C yang menggunakan algoritma Insertion Sort untuk mengurutkan array berikut secara menaik: {12, 6, 9, 3, 2}. Tampilkan hasil pengurutan array setelah proses Insertion Sort.

4) Merge Sort:

Buatlah program dalam bahasa C yang menggunakan algoritma Merge Sort untuk mengurutkan array berikut secara menurun: {10, 4, 7, 2, 9}.Tampilkan hasil pengurutan array setelah proses Merge Sort.

5) Quick Sort:

Buatlah program dalam bahasa C yang menggunakan algoritma Quick Sort untuk mengurutkan array berikut secara menaik: {5, 1, 8, 3, 6}.Tampilkan hasil pengurutan array setelah proses Quick Sort. Pastikan program yang dibuat dapat mengimplementasikan algoritma pengurutan yang diminta dan menampilkan hasil pengurutan array dengan benar.


Jawaban

1. Jawaban Soal Bubble Sort

▪ Buka Text Editor Code::Blocks,

▪ Pilih menu klik file → New→Empty File

▪ Ketikan koding di bawah ini

CODINGAN



HASIL CODINGAN

Analisa program

Dalam script ini, fungsi bubbleSort menerima array arr dan ukuran array n.Algoritma Bubble Sort diimplementasikan menggunakan nested loop, dimana loop luar digunakan untuk melakukan iterasi sebanyak (n-1) kali, dan loop dalam digunakan untuk membandingkan dan menukar elemen.Di dalam loop dalam, jika elemen sekarang lebih besar dari elemen berikutnya, maka dilakukan pertukaran posisi.Setelah proses pengurutan selesai, array dioutputkan menggunakan fungsi printf.


2. Jawaban Soal Selection Sort

▪ Buka Text Editor Code::Blocks,

▪ Pilih menu klik file → New→Empty File

▪ Ketikan koding di bawah ini

CODINGAN

HASIL CODINGAN

ANALISIS PROGRAM

Fungsi selectionSort menerima array arr dan ukuran array n.Dalam algoritma ini, loop luar digunakan untuk melakukan iterasi sebanyak (n-1) kali untuk memilih elemen terkecil pada setiap iterasi.Di dalam loop luar, terdapat loop dalam yang mencari elemen terkecil dari subarray yang belum diurutkan.Jika elemen terkecil ditemukan, posisi elemen tersebut ditukar dengan elemen pada indeks yang sesuai.Setelah proses pengurutan selesai, array dioutputkan menggunakan fungsi printf.


3. Jawaban Soal Insertion Sort

▪ Buka Text Editor Code::Blocks,

▪ Pilih menu klik file → New→Empty File

▪ Ketikan koding di bawah ini


CODINGAN


HASIL CODINGAN


ANALISIS PROGRAM


Fungsi merge digunakan untuk menggabungkan dua bagian array
yang terurut.
Fungsi mergeSort menerima array arr, indeks awal left, dan
indeks akhir right.
Di dalam fungsi mergeSort, array dibagi menjadi dua bagian,
kemudian pemanggilan rekursif dilakukan untuk mengurutkan
kedua bagian tersebut.
Setelah itu, fungsi merge digunakan untuk menggabungkan kedua
bagian yang telah diurutkan.
Setelah proses pengurutan selesai, array dioutputkan menggunakan fungsi printf.





4. Jawaban Soal Merge Sort
▪ Buka Text Editor Code::Blocks,
▪ Pilih menu klik file → New→Empty File
▪ Ketikan koding di bawah ini

Jawaban 

CODINGAN


HASIL CODING
ANALISIS

Fungsi merge digunakan untuk menggabungkan dua bagian array
yang terurut.
Fungsi mergeSort menerima array arr, indeks awal left, dan
indeks akhir right.
Di dalam fungsi mergeSort, array dibagi menjadi dua bagian,
kemudian pemanggilan rekursif dilakukan untuk mengurutkan
kedua bagian tersebut.
Setelah itu, fungsi merge digunakan untuk menggabungkan kedua
bagian yang telah diurutkan.
Setelah proses pengurutan selesai, array dioutputkan menggunakan fungsi printf.


5. Jawaban Soal Quick Sort
▪ Buka Text Editor Code::Blocks,
▪ Pilih menu klik file → New→Empty File
▪ Ketikan koding di bawah ini
Codingan



HASIL CODINGAN
ANLISIS

Fungsi swap digunakan untuk menukar posisi dua elemen.
Fungsi partition digunakan untuk mempartisi array berdasarkan
pivot dan mengembalikan indeks pivot yang telah terurut.
Fungsi quickSort menerima array arr, indeks awal low, dan
indeks akhir high.
Di dalam fungsi quickSort, pivot dipilih dan array dipartisi
berdasarkan pivot.
Kemudian, pemanggilan rekursif dilakukan untuk mengurutkan
kedua bagian array sebelum dan setelah pivot.
Setelah proses pengurutan selesai, array dioutputkan menggunakan fungsi
printf.




Comments

Popular posts from this blog

PRAKTIKUM 11: Menggunakan struktur data tree dalam pemrograman

PRAKTIKUM 3: Menggunakan fungsi dan prosedur dalam pemrograman

1 .pengantar pemrograman