Tugas pertemuan 7, Paper Tentang Binary,Sequential Searching dan tips mencegah penularan COVID-19


Nama                    : Andi Gigatera Halil Makkasau
NIM                       : D121191054

Algoritma dan Struktur Data - Agung Setiawan
Definisi searching
SEARCHING adalah mesin pencari WEB atau yang lebih dikenal dengan istilah WEB SEARCH merupakan program komputer yang dirancang untuk mencari informasi yang tersedia didalam dunia maya.
Searching juga bisa diartikan  adalah proses pencarian data dari sekumpulan data yang sudah ada. Pencarian data sering juga disebut dengan table look-up atau store and retrieval information. Hasil dari suatu pencarian dapat bernilai salah (tidak ketemu atau tidak sukses) atau benar (ketemu atau sukses). Untuk data yang tidak ketemu biasanya ada prosedur tersendiri untuk menambah atau menyisipkan data yang belum ada tersebut.
Jenis-jenis Searching
Sequential Search
Pencarian sekuensial (sequential search) atau sering disebut pencarian linier menggunakan prinsip sebagai berikut : data yang ada di bandingkan satu persatu secara berurutan dengan yang dicari. Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data. Pada setiap perulangan , di bandingkan data ke-i dengan yang dicari. Apabila sama , berarti data telah ditemukan . Sebaliknya apabila sampai akhir pengulangan , tidak ada yang sama berarti data tidak ada.
Binary Search
Salah satu syarat pencarian biner (binary search) dapat dilakukan adalah data sudah dalam keadaan terurut. Dengan kata lain, apabila data belum dalam keadaan terurut , pencarian biner tidak dapat dilakukan . Dalam kehidupan sehari-hari, sebenarnya kita juga sering menggunakan pencarian biner. Misalnya saat kita ingin mencari suatu kata dalam kamus.
Contoh algoritma dan program sequential search
   Sequential Search atau juga dikenal dengan Linear Search merupakan metode pencarian data yang paling mudah. Metode ini membaca satu per satu data yang mulai dari indek kecil ke indek besar, atupun sebaliknya.
Berikut ini program C++ untuk mencari data dengan metode Sequential Search() :







Text Box: /*       Mencari data dengan sequential search       Compiler : Microsoft Visual Studio 2012       N.N. Blog */  #include <iostream> using namespace std; #include <conio.h> #include <iomanip>  int main() {       int dataku[10] = {7,9,2,10,15,4,5,6,13,11};       int caridata, i, flag = 0;        cout<<"PENCARIAN DENGAN SEQUENTIAL SEARCH"<<endl;       cout<<"----------------------------------"<<endl;       cout<<"Data   : ";             for(int n=0; n<10; n++)                   cout<<setw(4)<<dataku[n];       cout<<endl;        cout<<"\nMasukkan data yang ingin Anda cari : ";       cin>>caridata;        //cari dengan metode sequential search()       for(i = 0; i<10; i++)       {             if(dataku[i]==caridata)             {                   flag = 1;                   break;             }       }        //cetak hasil       if(flag==1)             cout<<"Data ditemukan pada indek ke-"<<i<<endl;       else             cout<<"Data tidak ditemukan"<<endl;             _getche();       return EXIT_SUCCESS; }
Outputnya


Text Box: PENCARIAN DENGAN SEQUENTIAL SEARCH ---------------------------------- Data  :  7  9  2  10 15  4  5  6  13  11  Masukkan data yang ingin Anda cari : 13 Data ditemukan pada indek ke-8



Algoritma dan penjelasannya:
1)    dari array index ke-0, dicocokan dengan bilangan yang dicari (13), karena tidak sama maka menuju index selanjutnya
2)    pada array index ke-1, dicocokan dengan bilangan yang dicari (13), karena tidak sama maka menuju index selanjutnya
3)    pada array index ke-2, dicocokan dengan bilangan yang dicari (13), karena tidak sama maka menuju index selanjutnya
4)   pada array index ke-8, ternyata sama dengan bilangan yang dicari (13), maka data ditemukan kemudian keluar dari looping pencarian.
·        Indeks awal pada C++ dimulai dari 0(nol)
·      Saat berada pada index ke-8 maka kondisi if akan terpenuhi sehingga semua penyataan yang ada di dalam blok if akan dijalankan :
flag akan diberi nilai 1 -> mengindikasikan data ditemukan, pemberian nilai 1 akan digunakan pada kondisi untuk mencetak string data ditemukan atau tidak.
break -> digunakan untuk keluar dari suatu blok kode, disini break digunakan untuk keluar dai perualangan for
Contoh algoritma dan program binery search
1. Pertama-tama diambil posisi awal 0 dan posisi akhir = N - 1, kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data tengah.
2. Kemudian kita cari posisi data tengah dengan rumus posisi tengah yaitu = (posisi awal + posisi akhir ) div 2.
3. Lalu data yang di cari akan dibandingkan dengan data tengah
a. Jika sama, data ditemukan, Proses selesai.
b. Jika lebih kecil, maka proses akan dilakukan kembali tetapi, posisi akhir dianggap sama dengan posisi tengah -1.
c. Jika lebih besar pun proses akan dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1.
4. Mengulang dari langkah kedua sampai data ditemukan, atau tidak ditemukan.
5. Searching biner ini akan berakhir jika data ditemukan posisi awal lebih besar dari pada posisi akhir. Jika posisi awal sudah lebih besar dari posisis akhir berarti data tidak ditemukan.


Program
Text Box: #include<iostream>  using namespace std; int main () {  int n, angka[12], kiri, kanan, tengah, temp, key;  bool ketemu = false;   cout<<"HARDIFAL"<<endl;  cout<<"========================================="<<endl;  cout<<"=========PROGRAM BINARY SEARCH C++==========="<<endl;  cout<<"========================================="<<endl<<endl;  cout<<"Masukan jumlah data : ";  cin>>n;   for(int i=0; i<n; i++)  {   cout<<"Angka ke - ["<<i<<"] : ";   cin>>angka[i];  }  for (int i=0; i<n; i++)  {   for(int j=0; j< n-i-1; j++)   {    if(angka [j] > angka [j+1])    {     temp=angka[j];     angka[j]=angka[j+1];     angka[j+1]=temp;    }   }  }  cout<<"Data yang telah diurutkan adalah : ";  for(int i=0; i<n; i++)  {   cout<<angka[i]<<" ";  }  cout<<"\n Masukan angka yang dicari : ";  cin>>key;   kiri=0;  kanan=n-1;   while(kiri<=kanan)  {   tengah=(kiri + kanan)/2;   if(key == angka[tengah])   {    ketemu=true;    break;   }   else if (key < angka [tengah])   {    kanan = tengah -1;   }   else   {    kiri = tengah +1;   }  }  if (ketemu == true)   cout<<"Angka ditemukan!";  else    cout<<"Angka tidak ditemukan";   return 0;  }

















Outputnya













Materi dan Program Sederhana Binary Search C++ Singkat Lengkap


Tips mencegah penularan COVID-19
·         Sering cuci tangan pakai sabun dan air mengalir minimal 20 detik dan ingatkan anak untuk mencuci tangan pakai sabun secara benar. (Gunakan cara mudah mengukur durasi 20 detik, semisal menyanyi lagu Selamat Ulang Tahun 2x)
·         Cuci tangan pakai sabun saat tiba di rumah, tempat kerja atau sekolah, sebelum makan, sebelum menyiapkan makanan, dan setelah menggunakan toilet.
·         Gunakan cairan pembersih tangan (minimal 60% alkohol) bila sabun dan air mengalir tidak tersedia
·         Tutup mulut dan hidung dengan siku terlipat saat batuk atau bersin atau gunakan tisu, yang langsung dibuang ke tempat sampah tertutup setelah digunakan. Cuci tangan dengan sabun dan air mengalir atau cairan pembersih tangan.
·         Jaga jarak paling sedikit 1 meter dengan orang. Jangan berada dekat orang yang tidak sehat
·         Hindari menyentuh wajah karena mulut, hidung mata dapat menjadi pintu masuk virus.


Sumber referensi disini

Share
Disclaimer: Gambar, artikel ataupun video yang ada di web ini terkadang berasal dari berbagai sumber media lain. Hak Cipta sepenuhnya dipegang oleh sumber tersebut. Jika ada masalah terkait hal ini, Anda dapat menghubungi kami disini.

LATEST ARTICLES

Posting Komentar