Thursday, July 8, 2010

UpDown BubbleSort

<html>
<head>
<title>JavaScript Random Number Generator.</title>
</head>
<body>

<script type="text/javascript">


 function inputList(form,listbox)
 {
   var i;
   DataKosong= false;
   DataInputan = form.IsianData.value;
   inputData = DataInputan.split(",");
   for(i = 0; i<inputData.length; i++)
   {
      inputData[i] = parseInt(inputData[i], 10);
      if (isNaN (inputData [i]) )
      {
         DataKosong = true;
         break;
       }
    }
    if (DataKosong)
    {
       alert ("Silakan Entri Dulu Data, Pisahkan dengan tanda Koma");
       form.Data.focus();
     }
     // Update the select box list.
     updateList(listbox);
  }


 function SortNumbersGoDown(form,listbox)
 {
    inputData = BubbleSortDown(inputData, 0, inputData.length-1);
    // Update the select box list.
    updateList(listbox);
  }

 function BubbleSortDown (ArrayData, Mulai, MulaiBaru)
 {
    for (var i=MulaiBaru-1; i>=Mulai; i--)
    {
       for (var j=Mulai; j<=i; j++)
       {
          if (ArrayData[j+1] > ArrayData [j] )
          {
             var DataTemporer = ArrayData [j];
             ArrayData [j] = ArrayData [j+1];
             ArrayData[j+1] = DataTemporer;
           }
        }
     }
      return ArrayData;
  }

  function SortNumbersGoUp(form,listbox)
  {
     inputData = BubbleSortUp(inputData, 0, inputData.length-1);
     // Update the select box list.
     updateList(listbox);
   }

  function BubbleSortUp (ArrayData, Mulai, MulaiBaru)
  {
      for (var i=MulaiBaru-1; i>=Mulai; i--)
      {
         for (var j=Mulai; j<=i; j++)
         {
            if (ArrayData[j+1] < ArrayData [j] )
            {  
               var DataTemporer = ArrayData [j];
               ArrayData [j] = ArrayData [j+1];
               ArrayData[j+1] = DataTemporer;
             }
          }
        }
         return ArrayData;
     }

   // Assign values in array to values in the select box.
   function updateList(listbox)
   {
      var i;
      for(i = 0; i < inputData.length; i++)
      {
         if(listbox.options[i] == null)
         {
            listbox.options[i] = new Option(inputData[i]);
         } else
         {
            listbox.options[i].text = inputData[i];
          }
        }

    }

</script>

<form>
Masukan Deretan Angka, Pisahkan denga Koma :
<hr>
<input type = text name=IsianData size=30 Value="">
<br><br>
<input type=button value="Masukan ke List" onClick="inputList(this.form,this.form.ranlist)">
<br><br>
<select name="ranlist" size="15" style="width:200px">
</select><br><br>
<input type="button" value="SortNumbersGoDown"
onclick="SortNumbersGoDown(this.form,this.form.ranlist);">
<br><br>
<input type="button" value="SortNumbersGoUp"
onclick="SortNumbersGoUp(this.form,this.form.ranlist);">
</form>
</body>
</html>

0 komentar:

Post a Comment