Header Ads

Link Banner

contoh tugas Binary search dan modul lengkap tebaru

metode belajar yang sangat saya sukai adalah... ketika mhasiswa di suruh mencari sendiri materi yang ada pada dosen, dan langsung di suruh membuat contoh tugas dan slide presentasi, menurut saya gaya pembelajaran seperi ini sangat bagus sekali karena bisa meningkatkan tingkat pengetahuan, kemandirian mahasiswa dan juga melatih meahasiswa untuk mengeksplor kemempuanya...walau dalam benak juga berfikir... "mungkin dosenya yang malas" hehe"  tapi tak apalah bagi saya ini sangat menyenangkan saya jauh bisa melatih kemampuan dan meningkatkan minat belajar, kitakan mahasiswa buka siswa lagi .. jadi ngak harus di bimbing se deatail mungkin... ode dalam arikel ini saya akan mebahas dan berbagi Tugas Binary search dan modul lengkap tebaru 


                                

Point yang akan kita pelajari

1. apa itu Binary Search

2. bagaimana cara kerja Binary Search

3. contoh tugas dan pengaplikasianya
4. aplikasi yang di gunakan adalah Visual Studio 10

walaupun belum sempurna tapi saya harap bisa bermanfaat

                                

1. apa itu Binary Search

   Binary search merupakan salah satu algoritma untuk melalukan pencarian pada array yang sudah terurut. Jika kita tidak mengetahui informasi bagaimana integer dalam array, maka penggunaan binary search akan menjadi tidak efisien, kita harus melakukan sorting terlebih dahulu atau menggunakan metode lain yaitu linear search. Namun jika kita telah mengetahui integer dalam array terorganisasi baik secara menaik atau menurun, maka bisa dengan cepat menggunakan algoritma binary search. Adapun ide dasar binary search yaitu memulai pencarian dengan membagi dua ruang pencarian.

2. bagaimana cara kerja Binary Search

          Misalnya kita memiliki array A, dan kita ingin menemukan lokasi dari spesifik target integer K dalam array. Ada 3 kemungkinan kondisi pada binary search yaitu:

1. Jika data target K langsung di temukan, maka proses pembagian ruangan berhenti. Kemudian print out indeks data elemen pada array.

2. Jika data target K < A[middle], maka pencarian dapat dibatasi hanya dengan melakukan pencarian pada sisi kiri array dari A[middle]. Seluruh elemen yang berada di sebelah kanan dapat di abaikan.

3. Jika data target K > A[middle], maka akan lebih cepat jika pencarian di batasi hanya pada bagian sebelah kanan saja.

4. Jika seluruh data telah di cari namun tidak ada, maka diberi nilai seperti -1.

Dibawah ini merupakan salah satu version program binary search.


                                
Kamus


Conts N :
Type t=array[0 … N] of integer
val, left, right, mid : Integer
Algoritma
int binarySearch(LIST t[], int n, int val)
{
          int left, right, mid;
          left = 0; right = n-1;
           while(left<=right) {
         mid=(left+right)/2;
 if (val<t[mid].key)
 right=mid-1;
else if (val>t[mid].key)
left=mid+1;
else
return mid; /* found */
}
return -1; /* not found */

}
                                






contoh tugas Binary searc nilai 100


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace latihan
{
    class Program
    {
        static void Main(string[] args)
        {
            int i,k;
            int[] Array = new int[100];


            
            Console.Write("Masukan data yang Akan Diproses: ");
            int n = Convert.ToInt32(Console.ReadLine());
            for (i = 0; i < n; i++)
            {
                
                Console.Write("");
                Array[i] = Convert.ToInt32(Console.ReadLine());
            }
            a:
            Console.WriteLine();
            Console.Write("Masukan Data yang akan ada cari? ");
            k = Convert.ToInt32(Console.ReadLine());


            for(i = 0; i < n; i++)
            {                 
                for (int j = i + 1; j < n; j++)
               
                {
                    if (Array[i] > Array[j])
                   
                    {
                        int simpan = Array[i];
                        Array[i] = Array[j];
                        Array[j] = simpan; 
                    }
                }            
            }


            int tm = 0;
            int low =0 ;
            int high=n-1;
            int middle;


            while (high >= low)
            {
                middle = (high + low) / 2;
                if (Array[middle] == k)
                {
                    tm++;
                    break;
                }


                else if (Array[middle] < k)                
                    low = middle + 1;                
                else if (Array[middle] > k)               
                    high = middle - 1;
               
            }


            if (tm > 0)
            {
                Console.WriteLine("\nData yang dicari ada dalam array");


            }
            else
            {
                Console.WriteLine("\nData tidak di temukan dalam array");
                
            }
            Console.WriteLine();
            Console.Write("Coba Lagi?(ya/tidak)");


            string s = Console.ReadLine();
            if (s == "ya")
            {
                goto a;
            }
            Console.Read(); 
        }
    }

}

                                                         

Tidak ada komentar