TUTORIAL

PHP

Tutorial Sederhana Penerapan Algoritma Bubble Sorting Ascending dan Descending Menggunakan PHP Native dan CSS

05-08-2020 23:38:56 BY Alfikri Read 1599x 5 min read

Halo Klinik Coders...

Ditutorial ini saya akan mengajarkan bagaimana penerapan Algoritma Bubble Sort Ascending dan Descending menggunakan PHP Native dan Inline CSS.

Tahap#1 - Teori

Dalam matematika dan ilmu komputer, Algoritma adalah prosedur langkah-demi-langkah untuk penghitungan. Algoritma digunakan untuk penghitungan, pemrosesan data, dan penalaran otomatis (Sumber : Wikipedia).

Bubble sort, kadang-kadang disebut sebagai sinking sort, adalah algoritma penyortiran sederhana yang berulang kali menelusuri daftar, membandingkan elemen yang berdekatan dan menukar mereka jika mereka berada dalam urutan yang salah. Pass through the list diulangi sampai daftar diurutkan (Sumber : Wikipedia).

Dari teori diatas dapat kita analisa bahwa algoritma Bubble Sort adalah sebuah proses dasar dalam algoritma dan struktur data. Algoritma ini sangat sederhana dan mudah dipahami.

Pada Algoritma ini kita bisa menampilkan data dengan 2 cara yaitunya :

  1. Ascending
    adalah pengurutan data dari yang terendah ke yang tertinggi.
  2. Descending
    adalah pengurutan dara dari yang tertinggi ke yang terendah.

Untuk itu kita hanya perlu memahami cara yang digunakan untuk mengurutkan data, jadi untuk algoritmanya kita menggunakan perbandingan dalam operasi antar elemen datanya. Disini saya akan memperlihatkan bagaimana gambaran sederhana dari algoritma ini :

Contoh Bubble Sort ASC

$random = [45312];



Jika kita perhatikan gambar diatas, terlihat bahwa algoritma bubble sort mengurutkan data dari angka terkecil hingga terbersar.

Contoh Bubble Sort DESC


Jika kita perhatikan gambar diatas, terlihat bahwa algoritma bubble sort mengurutkan data dari angka terbesar hingga terkecil.

Tahap#2 - Eksekusi Latihan Bubble Sort Angka

Buatlah sebuah file php dengan nama angka.php

  1. Buatlah style css
    <style>
      .kotak {
        padding5px;
        width40px;
        floatleft;
        text-aligncenter;
        border1px solid #000;
        vertical-alignmiddle;
        margin1px;
      }

      .clear {
        clearboth;
      }
    </style>
  2. Buatlah fungsi show
    berfungsi untuk menampilkan data yang telah diproses dalam perulangan
    function show($array)
    {
      foreach ($array as $data) {
        echo '<div class="kotak">' . $data . '</div>';
      }
      echo '<div class="clear"></div>';
    }

Untuk kode lengkapnya sebagai berikut :

<style>
  .kotak {
    padding5px;
    width40px;
    floatleft;
    text-aligncenter;
    border1px solid #000;
    vertical-alignmiddle;
    margin1px;
  }

  .clear {
    clearboth;
  }
</style>
<?php
function show($array)
{
  foreach ($array as $data) {
    echo '<div class="kotak">' . $data . '</div>';
  }
  echo '<div class="clear"></div>';
}

$random = [45312];

show($random);

echo '<br/>';

for ($i = 1$i < count($random); $i++) {
  for ($j = count($random) - 1$j >= $i$j--) {
    if ($random[$j] < $random[$j - 1]) {
      $temp = $random[$j];
      $random[$j] = $random[$j - 1];
      $random[$j - 1] = $temp;
    }
  }
  show($random);
}

echo '<br/>';

show($random);



Catatan : untuk membuat ascending atau descending kita hanya mengganti tanda "<" untuk ascending dan tanda ">" untuk descending
if ($random[$j] < $random[$j - 1]) menjadi
if ($random[$j] > $random[$j - 1])

Tahap#3 - Eksekusi Latihan Bubble Sort Huruf

Buatlah sebuah file php dengan nama huruf.php

<style>
  .kotak {
    padding5px;
    width40px;
    floatleft;
    text-aligncenter;
    border1px solid #000;
    vertical-alignmiddle;
    margin1px;
  }

  .clear {
    clearboth;
  }
</style>

<?php
function convert($huruf)
{
  $abjad = ['A''B''C''D''E''F''G''H''I''J''K''L''M''N''O''P''Q''R''S''T''U''V''W''X''Y''Z'];

  return array_search($hurufarray_values($abjad)) + 1;
}

function show($array)
{
  foreach ($array as $data) {
    echo '<div class="kotak">' . $data . '</div>';
  }
  echo '<div class="clear"></div>';
}

$random = ['E''A''B''D''C'];

show($random);

echo '<br/>';

for ($i = 1$i < count($random); $i++) {
  for ($j = count($random) - 1$j >= $i$j--) {
    if ($random[$j] < $random[$j - 1]) {
      $temp = $random[$j];
      $random[$j] = $random[$j - 1];
      $random[$j - 1] = $temp;
    }
  }
  show($random);
}

echo '<br/>';

show($random);



Tahap#4 - Uji Coba

Setelah tahapan diatas dilakukan dengan benar, maka akan terlihat seperti gambar berikut ini :


Kesimpulan

Algoritma Bubble Sort ini memiliki kelebihan dan kekurangan. Kelebihannya dapat dibuat dengan sederhana mungkin untuk mengurutkan data. Selain itu algoritma ini mudah dipahami. Sebaliknya kekurangannya terletak pada efisiensi karena saat mengurutkan data yang banyak akan memperlambat prosesnya dan untuk jumlah pengulangan akan tetap sama jumlahnya meskipun data sudah cukup terurut.

Sekian tutorial dari saya, mudah-mudahan bermanfaat dan jika ada kritik, saran dan pertanyaan silahkan berkomentar dibawah ini.

Let's Coding...

Demo

About author

Alfikri

Saya seorang web developer. Saya sangat suka tantangan untuk mempelejari hal-hal baru dalam dunia pemograman.



Comments

Scroll to Top