Page 141 - BUKU TEKS SK T5
P. 141

Isihan buih (Bubble sort)
                  Bubble sort ialah satu algoritma mudah dalam pengisihan suatu senarai yang prosesnya dilaksanakan
                  satu persatu secara berturutan dengan membandingkan unsur-unsur bersebelahan dan akan menukar
                  kedudukan (swap) sekiranya berlaku turutan yang salah. Rajah 3.1.13 menunjukkan proses isihan buih.

                                               Banding                  Tukar
                                             satu persatu            kedudukan jika
                                                unsur                 kedudukan
                                             bersebelahan               salah

                                                   Rajah 3.1.13  Proses isihan buih
                     Terdapat dua proses perbandingan yang boleh dilaksanakan untuk menukar kedudukan, iaitu:
                  1  Banding unsur pertama sama ada lebih kecil daripada unsur kedua (untuk turutan menurun)
                  2  Banding unsur pertama sama ada lebih besar daripada unsur kedua (untuk turutan menaik)



                   CONTOH         3

                  Contoh 3 menunjukkan satu senarai nombor diisih secara menaik dengan menggunakan kaedah isihan
                  buih. Atur cara JavaScript dan output untuk isihan buih ditunjukkan pada Rajah 3.1.14.


                                   <html>
                                      <body>
                                         <script>
                                             var no = [5,1,4,3,2];                     Dapatkan senarai
                                             var bilNombor = no.length, i, j;          yang belum diisih
                                             var sementara = no[0];
                      no.length untuk        for(i=0; i<bilNombor-1; i++)
                      mengira bilangan       {
                      nombor dalam               for(j=0; j<bilNombor-i-1; j++)
                      senarai                    {
                                                     if (no[j] > no[j+1])           Bandingkan unsur
                                                     {
                                                         sementara = no[j];
                                                         no[j]     = no[j+1];           Tukar kedudukan
                                                         no[j+1]   = sementara;
                                                     }
                                                 }
                                             }
                                             document.write (no);
                                         </script>
                                      </body>
                                   </html>








                                       Rajah 3.1.14  Atur cara dan output bagi isihan buih (Turutan menaik)

 PB                                                                BAB 3  Pengaturcaraan Berasaskan Web 133
   136   137   138   139   140   141   142   143   144   145   146