Page 182 - SK tingkatan 5
P. 182

Contoh output










                 Penerangan:
                  1   Menerima senarai nama yang berjenis String.

                   2   Mengisih nama-nama secara turutan menaik mengikut abjad menggunakan kaedah isihan pilih.


                  CONTOH       20

                 Contoh 20 menunjukkan senarai nama pesakit berjenis String disimpan dalam pemboleh ubah namaPesakit.
                 Seterusnya, proses mencari pesakit bernama "Ramasamy A/L Muthusamy" dilaksanakan menggunakan
                 kaedah carian perduaan. Atur cara JavaScript dan contoh output ditunjukkan pada Jadual 3.1.6.

                         Jadual 3.1.6  Contoh atur cara JavaScript dan output carian perduaan (binary search) (Jenis data String)
                  Jenis data               Contoh atur cara penskripan carian perduaan (Binary Search)
                  String    <html>
                              <body>
                               <script>
                                var namaPesakit=["Ah Chong", "Ramasamy A/L Muthusamy", "Siti Aminah"];  1
                                var namaPesakitCarian="Ramasamy A/L Muthusamy";
                                var indeksAwal = 0, indeksAkhir = namaPesakit.length – 1,
                                  indeksTengah = Math.floor((indeksAkhir + indeksAwal)/2);
                                document.write("Senarai pesakit dalam Klinik SIHAT :<br>");
                                document.write(namaPesakit);
                                document.write("<br><br>Nama Pesakit Yg DiCari: ", namaPesakitCarian);
                                while(namaPesakit[indeksTengah] != namaPesakitCarian &&
                                  indeksAwal < indeksAkhir)
                                {
                                  if (namaPesakit[indeksTengah]> namaPesakitCarian)
                                  {
                                    indeksAkhir = indeksTengah - 1;
                                  }
                                   else
                                   {
                                    if (namaPesakit[indeksTengah]< namaPesakit)                  2 2
                                    {
                                        indeksAwal = indeksTengah + 1;
                                    }
                                   }
                                    indeksTengah = Math.floor((indeksAkhir + indeksAwal)/2);
                                }
                                if (namaPesakit[indeksTengah]==namaPesakitCarian)
                                {
                                  document.write(" (masih dalam giliran.)");  3
                                }
                               </script>
                              </body>
                            </html>

                 174   Sains Komputer Tingkatan 5                                                                                                                                                                PB
   177   178   179   180   181   182   183   184   185   186   187