BAB 3 : algoritma

bubble sort

Diakhir pembelajaran, pelajar dapat :

  • Menulis pseudokod dan melukis carta alir yang menunjukkan bubble sort.

  1. Sort dalam bidang pengkomputeran merujuk kepada susunan data seperti nama, nombor, rekod dan fail dalam tertib tertentu.

  2. Kenapa data perlu diisih ?

        • Carian data menjadi lebih cepat dan cekap.

        • Percantuman data duplikasi yang lebih efisien.

        • Data mudah diproses mengikut tertib yang dikehendaki.

  3. Contoh situasi yang mengaplikasikan konsep bubble sort.

        • Menyenaraikan markah murid mengikut urutan menaik atau menurun.

        • Mengisih umur peserta mengikut kategori seperti remaja, belia dan warga emas.

ALGORITMA BUBBLE SORT

  1. Semak item pertama dan item ke-2 dalam senarai.

  2. Banding kedua – dua item tersebut.

  3. Jika tidak mengikut urutan yang dikehendaki, tukarkan kedua-dua item tersebut.

  4. Ulang langkah 1 hingga 3 dengan item ke-2 dan ke-3, ke-3 dan ke-4, ke-4 dan ke-5 hinggalah item yang terakhir.

  5. Setelah item terakhir dibandingkan, semak semua item dalam senarai tersebut untuk melihat sama ada semua item telah berada mengikut urutan yang dikehendaki.

  6. Jika ada yang belum mengikut urutan dikehendaki, ulang langkah 1 hingga 5 hinggalah semua item dalam senarai telah diisih mengikut urutan.

PENERANGAN PSEUDO KOD - pemboleh ubah

  • L = senarai yang mengandungi item. Contoh : L = [ 28 , 26 , 27 , 25 , 30 , 22 , 31 , 29 , 20 , 31 ]

  • n = jumlah item dalam senarai. Contoh : jumlah item dalam senarai L ialah 8,maka n = 8.

  • i = bilangan lelaran yang berlaku dalam gelung.

  • j = kedudukan item dalam senarai. Contoh : jika j = 0, maka L[j] = L[0] = 28.

  • temp = simpan data untuk sementara semasa pertukaran kedudukan item.

PSEUDO KOD

  1. Mula

  2. Setkan senarai L = [28 , 26 , 27 , 25 , 30 , 22 , 31 , 29 , 20 , 31 ]

  3. Isytihar pemboleh ubah i , j , n , temp

  4. Setkan i = 0

  5. Setkan j = 0

  6. Setkan n = len(L)

  7. Setkan temp = 0

  8. for i < n – 1

        • for j < n – i – 1

            • Jika L [ j ] > L [ j + 1 ]

                • temp = L [ j ]

                • L[ j ] = L [ j +1]

                • L[j + 1] = temp

            • Tamat jika

            • Kira j = j +1

        • Kira i = i + 1

  9. Papar senarai L

  10. Tamat



penerangan PSEUDO KOD

Penerangan segmen kod 2

  • Senarai L diumpukkan dengan nilai - nilai [ 28, 26, 27, 25, 30, 22, 31, 29, 20, 31 ]

Penerangan segmen kod 3,4,5,6 dan 7

  • i = 0 iaitu bilangan lelaran pertama dalam gelung.

  • j = 0 yang mewakili kedudukan item pertama dalam senarai.

  • n = nilai bagi jumlah item dalam senarai L. Jika ada tambahan nombor dalam senarai L, maka nilai umpukan n pun akan berubah.

  • temp = 0 yang mewakili data untuk disimpan secara sementara semasa membuat pertukaran kedudukan item.

Penerangan segmen kod 8

  • Gelung for i < n - 1 adalah untuk menentukan bilangan lelaran yang berlaku.

  • Gelung for j < n - i - 1 untuk memastikan setiap pasangan item bersebelahan dibandingkan, bermula dengan L[0] dengan L[1], L[1] dengan L[2] dan seterusnya.

  • Kawalan if L[ j ] > L[ j + 1 ] merujuk kepada perbandingan pasangan item bersebelahan.

  • Kedudukan kedua-dua item akan ditukar.

  • Biasanya simbol ‘ > ‘ digunakan untuk mengisih senarai mengikut urutan menaik dan simbol ‘ < ‘ untuk mengisih secara menurun.

  • Pemboleh temp diperlukan sebagai tempat simpanan sementara.

  • Pertukaran kedudukan sebelah kiri dan sebelah kanan tidak boleh berlaku serentak.

  • Maka temp akan simpan terlebih dahulu nilai kedudukan sebelah kiri.

  • Kedudukan sebelah kiri akan simpan nilai sebelah kanan.

  • Dan barulah kedudukan sebelah kanan akan simpan nilai temp yang mengandungi nilai sebelah kiri.

  • Nilai j akan bertambah 1 nilai untuk memastikan gelung for akan sentiasa berulang sehinggalah item - item bersebelahan dibandingkan.

  • Nilai i akan bertambah 1 nilai untuk memastikan gelung for akan sentiasa berulang sehinggalah semua item telah diisih mengikut urutan.

carta alir

video penerangan carta alir


latihan pengukuhan

Rujukan :

  1. Buku Teks Asas Sains Komputer Tingkatan 3

  2. Blog abdmuainazizsmkbg

  3. Youtube (Pendidikan)

  4. https://youtu.be/HHVxkJJfwxY

DISUSUN DAN DISEDIAKAN OLEH CIKGU IZZUDDIN MOHD ALI ( GURU ASK )

SMK SIMPANG BELURU, KUALA KANGSAR, PERAK