Selasa, 30 April 2019

Alpro Keren

Searching Binary


1. Pengertian Searching Binary

         Binary search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan terurut. Proses pencarian binary search hanya dapat dilakukan pada sekumpulan data yang sudah diurutkan terlebih dahulu.

2. Cara Pencarian Dari  Binary 

  1. Memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya.
  2. Beban komputasi juga lebih kecil karena pencarian dilakukan dari depan, belakang, dan tengah.
  3. Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan).
  4. Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut.

3. Algoritma Searching Binary

  1. Pertama-tama diambil posisi awal 0 dan posisi akhir = N - 1, N merupakan jumlah data. 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 ) /2.
  3. Lalu data yang di cari akan dibandingkan dengan data tengah.
  4. Jika sama, data ditemukan, Proses selesai.
  5. Jika lebih kecil, maka proses akan dilakukan kembali tetapi, posisi akhir dianggap sama dengan posisi tengah -1.
  6. Jika lebih besar pun proses akan dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1.
  7.  Mengulang dari langkah kedua sampai data ditemukan, atau tidak ditemukan.
  8.  Searching binery 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.

4. Contoh Searching Binary

Data = 4 6 11 14 16

x = 16

Penyelesaian :
  • N =5 
  • awal = 0, akhir =5 -1=4. akhir>awal.
  • tengah = (0 + 4)/2 = 2.
  • x .......data[tengah] = x ........data[2]
  •                                =16    >     11 
  •                       awal  = tengah + 1
  •                       awal  = 2 + 1 = 3
  • awal = 3, akhir =5 -1=4. akhir>awal.
  • tengah = (3 + 4)/2 = 3.
  • x .......data[tengah] = x ........data[3]
  •                                =16    >     14 
  •                       awal  = tengah + 1
  •                       awal  = 3 + 1 = 3
  • awal = 4, akhir =5 -1=4. akhir = awal.
  • tengah = (4 + 4)/2 = 4.
  • x .......data[tengah] = x ........data[4]
  •                                =16 ==  16
  • tengah+1= 4+1= 5
  • Data 16 terdapat pada posisi 5.
     Pada proses  program terbaca  dari 0 karena array dimulai dari 0. sedangkan untuk tampilan pada program di mulai dari 1.

4. Contoh Program







Refernsi:


2. http://blog-sharings.blogspot.com/2012/07/konsep-binary-search.html



Minggu, 21 April 2019

kesukaan ku

 Sequensial Searcing



A. Pengertian Sequensial Searcing

Metode pencarian informasi dalam suatu aplikasi, dengan suatu kunci(key), dengan mencari data yang ada didalam komputer. Pencarian informasi khusus dari table pada saat lokasi dari informasi tersebut sebelumnya tidak diketahui. Pencarian dinyatakan dengan referensi pada adanya sekelompok informasi yang tersimpan secara terorganisasi. Dalam kehidupan sehari-hari kita juga sering melakukan kegiatan searchingseperti mencari data atau informasi yang ada di internet.

B. Metode Sequential Searching

Metode sequential search/pencarian beruntun  adalah pencarian di dalam linier yang merupakan pencarian dengan mode paling simple. Pencarian beruntun yang digunakan untuk melakukan pencarian data, baik pada array yang sudah terurut urut maupun belum terurut.  Proses yang terjadi pada metode in adalah :
a.       Membaca array data
b.      Menetukan data yang di cari
      Mulai dari data pertama sampai dengan data terakhir, data yang di cari dibandingkan masing-masing data dalam array.
a.    Jika data dicari tidak ditemukan, maka semua data atau elemen array di bandingkan sampai selesai
b.    Jika data yang di cari di temukan maka perbandingan akan dihentikan.

c. Kekurangan Dan Kelebihan Sequential Searcing

1.      Kelebihan Sequential Searching bisa dikatakan lebih mudah dalam implementasinya dalam pemrograman.
2.      Kekurangannya jika data yang terdapat dalam suatu array itu sangat banyak, maka akan diperlukan waktu yang lebih lama untuk membandingkan data yang dicari dengan jumlah data yang sangat banyak dalam suatu array.

D. Listing Program

1. Coding

#include <iostream>
#include <stdlib.h>

using namespace std;

main ()
{
    int i,j,mp[10],harga[10], golek;
    string np [10],op[10];

        cout<< "Selamat Datang Ponsel Joujau"<<endl;
        cout<< " Menu Operator Yang Tersedia ;"<<endl;
        cout<< "1. Telkomsel   = Rp. 25.000"<<endl;
        cout<< "2. XL          = Rp. 20.000"<<endl;
        cout<< "3. IM3         = Rp. 22.000"<<endl;
        cout<< "4. TRI         = Rp. 18.000"<<endl;
        cout<< "5. Smartfrind  = RP. 15.000"<<endl;

        cout<< "Memasukkan Jumlah Pembeli :"; cin>>i;
        for(j=0; j<i; j++)
        {
            pertama:
            cout<< "Pembeli ke-  :"<<j+1<<endl;
            cout<< "Nama Pembeli              :"; cin>>np[j];
            cout<< "Memasukkan Operator       :"; cin>>mp[j];
            if(mp[j]==1)
            {
                op[j]="Telkomsel";
                harga[j]=25000;
            }
            else if(mp[j]==2)
            {
                op[j]=" XL";
                harga[j]=20000;
            }
            else if(mp[j]==3)
            {
                op[j]=" IM3 ";
                harga[j]=22000;
            }
            else if(mp[j]==4)
            {
                op[j]=" TRI ";
                harga[j]=18000;
            }
            else if(mp[j]==5)
            {
                op[j]=" Smartfrind ";
                harga[j]=15000;
            }
            else
            {
                cout<<" operator yang kamu pilih tidak ada" <<endl;
                cout<<" silahkan pilih operator yang tersedia" <<endl;
                goto pertama;
            }
        }
        system("cls");
        cout<<" Kategori : "<<endl;
        cout<<" 1. nama " <<endl;
        cout<<" 2. nama operator"<<endl;
        cout<<" Pilih kategori pencarian : ";cin>>golek;
        if(golek==1)
        {
            cout<<"masukkan nama : ";cin>>peng;
            j=0;
            ulang:
                if(j!=i)
                {
                    if(np[j]==peng)
                    {
                        for (j=0;j<i;j++)
                        {
                            if(np[j]==peng)
                                cout<<" Membeli kartu operator "<<mp[j]<<"  Rp. "<<harga[j]<<endl<<endl;
                        }
                    }
                    else
                    {
                        j++;goto ulang;
                    }
                }

        }
        else if (golek==2)
        {

            cout<< "1. Telkomsel   = Rp. 25.000"<<endl;
            cout<< "2. XL          = Rp. 20.000"<<endl;
            cout<< "3. IM3         = Rp. 22.000"<<endl;
            cout<< "4. TRI         = Rp. 18.000"<<endl;
            cout<< "5. Smartfrind  = RP. 15.000"<<endl;
            cout<<"masukkan nama kartu operator : ";cin>>kp;
            j=0;
            ulang1:
                if(j!=i)
                {
                    if(mp[j]==kp)
                    {
                        for(j=0;j<i;j++)
                        {
                            if(mp[j]==kp)
                            cout<<"yang membeli kartu operator adalah "<<nama[m]<<endl<<endl;
                        }
                    }
                    else
                    {
                        j++;goto ulang1;
                    }
                }

        }
        else
            cout<<"Data tidak ditemukan " <<endl;

        return 0;

2. Running





Referensi
}

Belajar Blog di Martikulasi MABA 2022

MARTIKULASI MABA 2022 Ini adalah pertama kali saya membuat blog, ini pengalaman yang sangat mengesankan untuk saya, karena saya bisa membu...