Showing posts with label array. Show all posts
Showing posts with label array. Show all posts

Monday, March 15, 2010

Pencarian Sekuensial tanpa sentinel


Pencarian Sekuensial tanpa sentinel

Pencarian ini dilakukan dengan cara menelurusi data yang ada dalam array dan membandingkannya dengan data yang dicari. Pencarian berhenti ketika data ditemukan atau penelurusan telah mencapai data terakhir.

Contoh :
Data yang dicari adalah : 9
Array :

5
8
7
6
9
3
20
2
1
4

Algoritma pencariannya adalah :
a.       Inisialisasi variabel ditemukan dengan false
b.      Lakukan perulangan i dari 1 (data pertama) selama data ke-i tidak sama dengan data yang dicari (data belum ditemukan) dan selama nilai i masih lebih kecil dari banyak data.
c.       Jika data ke-i sama dengan data yang dicari, maka isi variable ditemukan dengan nilai true yang menandakan data telah ditemukan, tetapi jika tidak sama maka variabel i ditambah 1 untuk memeriksa data selanjutnya.
d.      Setelah perulangan b s/d c selesai, maka jika variabel ditemukan mempunyai nilai true, berarti data yang dicari ada di posisi ke-i. Jika variabel ditemukan mempunyai nilai false, berarti data yang dicari tidak ditemukan.

Implementasi dari algoritma di atas adalah :

int cari_sekuensial(int data[],int banyakdata,
int dicari)

{
   int i=0;
   int ditemukan=0;// dalam bahasa c, false adalah nilai 0
   while((i
&& // dan
     (ditemukan==0))// data belum ditemukan, maka
   {
if(data[i]==dicari)
   ditemukan=1;//ditemukan diisi dengan true (1)
else
   i++;
   }
   if(ditemukan==1)
     return i+1;
   else
     return 0;
}







Cara penggunaan fungsi tersebut adalah :

int a[5]={10,22,34,42,55};
int bd=5;
int posisi;
clrscr();
posisi=cari_sekuensial(a,bd,34);
if(posisi!=0)
   printf("Data ditemukan di posisis : %d\n",posisi);
else
   printf("Data tidak ditemukan\n");





Download Artikel








Silahkan Pasang Komentar Anda




ShoutMix chat widget

Saturday, March 6, 2010

Pencarian sekuensial dengan sentinel


Pencarian sekuensial dengan sentinel

Pencarian ini dilakukan dengan cara menelusuri data yang ada di array dan membandingkannya dengan data yang dicari sampai data yang dicari ditemukan. Oleh karena itu, maka untuk mengatasi apabila data yang dicari tidak ada di array, maka digunakan sentinel yaitu suatu Pencarian yang menggunakan sentinel selalu dapat menemukan data. Tetapi sebelum pencarian data, ada proses pengisian sentinel (data terakhir diisi dengan data yang dicari),

Contoh 1:
Data yang dicari adalah : 7
Banyak data : 5
Array :

5
8
7
6
9


Ketika pencarian, nilai yang dicari diisikan ke urutan terakhir.

Sehingga array berisi :

5
8
7
6
9
7

Sehingga ketika pencarian dengan teknik ini, maka pencarian akan selalu menemukan data yang dicari. Untuk menentukan kondisi apakah data tersebut ditemukan atau tidak adalah dengan memeriksa di index ke berapa data tersebut ditemukan. Jika index data bernilai masih di bawah atau sama dengan banyak data yang ada di array, maka itu berarti data ditemukan dan jika index data melebihi dari banyak data yang ada di array berarti data tidak ditemukan.

Untuk kasus di atas, maka pencarian akan berakhir pada index ke-3, karena data ada. Tetapi kalau data yang dicari adalah 10, maka array akan berisi :
5
8
7
6
9
10
Sehingga pencarian akan berakhir pada index ke-6. Karena 6 lebih besar dari 5 (banyak data), itu berarti data tidak ditemukan.
Kekurangan dari algoritma ini adalah kita harus menyediakan 1 tempat untuk sentinel.



Contoh script berbahasa C untuk pencarian menggunakan sentinel adalah sebagai berikut :

int cari_sekuensial_sentinel(int data[],int banyakdata,
int dicari)

{ int i=0;
data[banyakdata]=dicari;//pengisian sentinel
while(data[i]!=dicari)//selama belum ditemukan
{
i++;
}
if(i
return i+1;
else
return 0;
}

Cara penggunaan fungsi pencarian ini adalah :

int a[6]={10,22,34,42,55,0};//0 untuk sentinel
int bd=5;
int posisi;
clrscr();
view_array(a,bd);printf("\n");
posisi=cari_sekuensial_sentinel(a,bd,34);
if(posisi!=0)
printf("Data ditemukan di posisis : %d\n",posisi);
else
printf("Data tidak ditemukan\n");

Download Artikel








Silahkan Pasang Komentar Anda




ShoutMix chat widget

/

Webmaster Forum

Categories

Action (6) add-ons (2) Adventure (3) Advertising (3) affiliate programs (2) algoritma dan pemrograman 1 (4) algoritma dan pemrograman 2 (3) Aljabar Linier Matriks (2) aplikasi (12) array (2) Basis Data (3) basis data. programming project (1) berita (1) browser (3) bug (1) buku tamu (1) Business (2) c++ (1) CERITA LUCU (3) clone (1) cms (9) Comedy (1) commedy (1) Computers (3) corel draw (1) Database (3) desktop (1) domain (1) Drama (3) Dreamweaver (3) driver (1) E-book (43) E-book Adsense (2) e-book hacking (4) E-book Humor (1) E-book Islam (1) E-book Jaringan Komputer (1) E-book Kesehatan (1) E-book Komputer (23) E-Book Pekerjaan (2) e-book photoshop (4) Entertainment (1) etika (1) exploit (5) facebook (5) Fantasy (2) firefox (2) Forum (1) gambar (1) Games (2) gitar (1) grafis (1) Hack (1) hacking (15) hacking joomla (2) Hacking Wordpress (3) HANDPHONE (12) hollywood (7) hosting (3) HUMOR (3) indonesia (1) internet (46) iseng (3) Islam (1) jaringan (2) java games (1) kata mutiara (1) Komputer (8) Komputer. open source (1) lan (1) Linux (4) majalah (1) Marketing (2) materi kuliah (15) Media (1) Money (2) movie (7) Mp3 (2) music (1) MySql (2) Mystery (1) networking (2) Open Source (13) Oracle (1) pemrograman non prosedural (3) pemrograman shell (1) Pengantar Teknologi Informasi (2) pengertian (1) photo design (1) photoshop (4) PHP (2) problem solving (1) Products (3) Programming (3) prolog (3) sahabat (1) Sci-Fi (3) script (4) Search Engine Optimization (5) security (7) SEKOLAH (1) seo (3) Services (3) seven (1) Shopping (1) sistem operasi (2) situs ngetop (2) SMS (3) SNMPTN (1) SOFTWARE (33) spam (1) SQL (1) streaming (1) Super Heroes (1) tampilan (1) Thriller (3) tips (1) Tips dan Trik (74) Trik Windows XP (15) Tutorial blog (18) tutorial drupal (2) tutorial html (2) Tutorial Joomla (14) tutorial moodle (1) tutorial wordpress (9) TV (1) ubuntu (13) UII (1) wall (1) wap (1) Web Design (33) web programming (2) webcam (1) Webdesign (1) youtube (1)
 
FREE AND HAPPY ALWAYS Copyright © 2009-2010 Blogger Template Designed by Bie Blogger Template

PUTRA OKU TIMUR BLOG FRIENDS
Reviews Music Indie Oku Timur||Campang Tiga||Ato||Daryanto||Tax||Shasya||Dewi||Fajar||Hendrie||Ria Imut||My Own Gallery||Penulis Mania||Saung Web||Ipan||Goceng Blog||Guntur Setyo||Mundo Belitang||Edwar||Teknologi||seo||eno||oob||Black Warrior||Wardi Sukoharjo||Chef Krendo||Maranai||prost||Traveller||Mas Muji||Pambudi||Pandu||Kabar Maya||Lie||Harnet||rayapost||juandry||fianmuse||inipulsaku||Tips dan Trik Blogging||Hidup Sehat||sastrafresh||Martapura Blogger||Salsa Kids||
Nofasonic WeblogPhotobucketBlog Directory Cara Membuat Blog EBOOK GRATISBlog Ratings'WavyKomunitas Blogger WongKito