Algoritma

 
3.1  Pembangunan Algoritma
 
  • Algoritma ialah satu set langkah-langkah yang perlu dilaksanakan untuk menghasilkan output yang dikehendaki.
  • Algoritma digunakan oleh pengaturcara untuk membangunkan set aturcara yang telah dirancang.
  • Algoritma juga salah satu teknik penyelesaian masalah.
  • Algoritma boleh diwakili dengan pembinaan pseudokod dan carta alir.
  • Pembangunan algoritma merupakan satu teknik pengitlakan yang mengandungi langkah-langkah untuk menyelesaikan masalah.
  • Algoritma dibangunkan untuk membantu memahami  proses  yang  perlu  dilakukan  oleh  komputer, melakukan  penambahbaikkan kepada  algoritma dan menulis  algoritma  dengan  teratur, cekap  dan  mudah difahami.
 

Ciri-ciri search (linear, binary) dan sort (bubble, bucket)

 
Search
 

Linear  search

Binary  search

Satu teknik untuk mendapatkan item dalam satu senarai linear

Satu teknik yang menggunakan proses carian dwipilihan

Pencarian bermula dari item pertama dan diikuti dengan item berikutnya

Item dalam senarai akan diisih dalam urutan menaik

Sekiranya item yang dicari tiada dalam senarai, maka carian akan ditamatkan

Proses carian akan dimulai dari ditengah-tengah senarai item

Item tidak perlu diisih mengikut urutan

Jika carian telah ditemui, maka proses carian akan ditamatkan

Teknik ini kurang efesien 

Teknik ini akan membandingkan item ditengah-tengah dengan item yang bersebelahan dengannya

Teknik ini menggunakan masa yang panjang untuk memproses senarai yang panjang

Teknik ini lebih efesien kerana tidak perlu menyemak semua senarai dan sesuai untuk item yang banyak

 
Sort
 
  • Sort ialah proses mengisih atau menyusun item-item dalam suatu senarai linear mengikut urutan tertentu
  • Jenis Sort adalah seperti berikut:
 

Bubble sort

Bucket sort

Teknik ini mengisihkan item-item mengikut urutan menaik atau menurun

 

Teknik ini mengasingkan item-item dalam

senarai tertentu ke dalam baldi

Teknik ini akan bermula dengan mengisihkan dua item pertama  dalam  senarai

 

Item-item di dalam baldi akan diisih

Item pertama dan kedua akan bertukar tempat dan menyusunnya mengikut urutan menaik atau menurun

Item-item disusun semula ke dalam senarai

Perbandingan dengan item bersebelahan akan berterusan sehingga satu set susunan akan dihasilkan samada secara menaik atau menurun

Bilangan baldi yang digunakan bergantung kepada bilangan pengaturcara dan bilangan item-item dalam senarai yang perlu  diisih

 
Perbandingan antara Search dan Sort
 

Persamaan

  • Memerlukan senarai
  • Memerlukan algoritma
  • Linear search dan bubble sort sesuai digunakan untuk senarai item yang sedikit
  • Binary search dan bucket sort sesuai untuk item yang banyak
 

Perbezaan

  • Search- Mencari item tertentu dalam senarai
  • Sort - Mengisih item-item dalam senarai mengikut urutan menaik atau menurun
 

Pseudokod dan carta alir: (i) linear search dan (ii) binary search

 

Linear search

 
  • Algoritma ialah satu set langkah yang teratur untuk dilakukan bagi mencapai sesuatu hasil
  • Algoritma  boleh  diwakili  oleh pseudokod dan carta alir
  • Pseudokod ialah perwakilan algoritma dalam bahasa yang boleh difahami
  • Carta alir adalah perwakilan algoritma dalam bentuk grafik
  • Algoritma memudahkan seseorang untuk mengesan ralat yang ada pada output yang diperoleh dan dapat memastikan output yang dihasilkan adalah output yang diingini
  • Algoritma bagi proses linear search dirumuskan seperti berikut:
 
 
 
Simbol-simbol bagi carta alir
 
 
 

Binary search

 
  • Algoritma perlu dibina bagi memudahkan proses  binary search
  • Algoritma bagi binary search adalah seperti berikut:
 
 
 
 

Pseudokod dan carta alir: (i) bubble sort dan (ii) bucket sort

 

Bubble sort

 
  • Penyusunan data seperti nama, nombor, rekod dan fail dalam tertib tertentu
  • Data yang telah diisih menjadikan carian lebih cekap, percantuman lebih efisien dan  memudahkan pemprosesan data dalam susunan yang dikehendaki
  • Proses carian akan menjadi dengan adanya penghapusan  dan  pencatuman  data  yang  berulang
  • Algoritma bagi bubble sort menggunakan struktur kawalan ulangan untuk memproses  setiap item
 
 
 
 

Bucket sort

 
  • Algoritma bagi bucket sort ialah suatu isihan yang menyusun item-item dalam suatu senarai mengikut kategori dan menyusunnya semula mengikut susunan yang betul
  • Item-item dalam senarai akan diisih sebanyak dua kali supaya item-item berada dalam urutan yang betul
  • Isihan pertama dibuat apabila item-item dalam senarai diisih mengikut saiz baldi
  • Isihan kedua dibuat apabila item-item dalam setiap baldi diisih  mengikut urutan
  • Algoritma bagi bucket sort adalah seperti berikut:
 
 
 
 

Mengesan dan membaiki ralat dalam pseudokod dan melukis carta alir 

 
  • Apabila terdapat ralat dalam suatu algoritma, ia akan menyebabkan aturcara yang dibangunkan itu tidak dapat menghasilkan output yang dikehendaki.
  • Pengesanan ralat dalam algoritma adalah penting supaya proses pembaikian kod aturcara dapat dilakukan.
  • Semakan meja dan semakan  langkah demi langkah merupakan dua jenis pengesanan ralat dalam algoritma.

 

Pengesanan ralat melalui semakan meja ialah:

  • Output perlu bergantung kepada pembolehubah semasa algoritma papar dipanggil.
  • Kesahihan output algoritma ditentukan dengan membandingkan output dijangka.
  • Output dijangka ditentukan dengan hitungan manual.
  • Output akan bersamaan dengan output algoritma jika algoritma adalah betul.

 

Pengesanan ralat melalui langkah demi langkah ialah:

  • Jadual pembolehubah boleh digunakan untuk mengesan perubahan algoritma yang mengumpuk dan mengubah nilai pembolehubah.
  • Perubahan pada pembolehubah mungkin berlaku pada setiap baris algoritma.

 

Tujuan pengujian dan pembaikan ralat ialah:

  • Untuk pembaikian algoritma
  • Memastikan algoritma betul sebelum ditulis sebagai kod computer
  • Untuk memastikan logik algoritma adalah betul supaya pembaikiannya lebih senang

 

Ciri-ciri ralat algoritma adalah seperti berikut:

  • Berfungsi dan menjimatkan proses pengekodan
  • Mudah difahami
  • Berdasarkan kriteria reka bentuk
  • Memenuhi  keperluan untuk menyelesaikan masalah

           

Terdapat dua jenis ralat dalam algoritma iaitu:

  • Ralat  Logik
    • Output yang  dihasilkan adalah tidak tepat sebagaimana yang sepatutnya akibat kesilapan menulis formula, jenis data yang tidak sesuai atau nilai umpukan yang tidak betul
  • Ralat Sintaks
    • Tidak ada semasa penulisan algoritma kerana ia hanya wujud jika ada kesilapan semasa menggunakan bahasa pengaturcaraan
 

Langkah-langkah pengujian ralat dalam algoritma adalah seperti berikut:

 
 

Membandingkan algoritma search dan sort melalui pengecaman corak

 
  •  Pengecaman corak adalah penting dalam proses pembangunan algoritma kerana para pengatur cara boleh mengenal pasti dan memahami corak masalah yang harus diselesaikan.
  • Pengecaman corak merupakan salah satu teknik untuk mengenal pasti ciri-ciri, struktur, bentuk input serta output yang terdapat dalam sesuatu masalah algoritma.
  • Kaedah  pengecaman  corak  boleh digunakan  untuk  membandingkan  masalah-masalah yang  hendak  diselesaikan  dengan  masalah-masalah  lain  yang seiras  dan  telah  mendapat  penyelesaiannya.
  • Jika  corak  masalahnya  adalah  seiras,   maka  pengaturcara  boleh menggunakan  bentuk  penyelesaian  sedia  ada  untuk  membina algoritma  penyelesaian  bagi masalah  yang  hendak  diselesaikan.

 

Berikut adalah persamaan dan perbezaan di antara ciri-ciri algoritma search dan sort:

 
Algoritma Search Algoritma Sort
Persamaan
Menggunakan senarai
Menggunakan gelung
Perbezaan
Membandingkan item carian dengan item tertentu dalam  senarai Isihan akan tamat jika semua item berada dalam urutan yang betul
Mencari suatu item dalam senarai Mengisih item-item dalam senarai mengikut urutan menaik atau menurun
Boleh digunakan untuk senarai yang telah diisih atau belum Digunakan untuk senarai yang belum diisih
 

Menghasilkan algoritma melibatkan gabungan teknik search dan sort

 

Gabungan algoritma search dan sort diperlukan untuk mempercepatkan dan memudahkan proses penyelesaian sesuatu masalah.

Selain itu, gabungan juga boleh dibuat diantara algoritma jenis search iaitu linear search dan binary search atau bubble sort dan bucket sort.

Gabungan teknik search dan sort akan membantu pengaturcara untuk menyelesaikan sesuatu masalah dengan mudah.

Selain itu, ia juga membolehkan pengaturcara mendapat output yang dikehendaki.