SlideShare a Scribd company logo
1 of 6
Download to read offline
1 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi
MODUL PRAKTIKUM
“STRUKTUR DATA”
Modul 5 : Searching
Dosen Pembimbing : Xaverius Najoan, ST. MT.
Bahasa Pemrograman : C
Software : Notepad++ dan GCC
LABORATORIUM TEKNOLOGI INFORMASI DAN KOUNIKASI
UNIVERSITAS SAM RATULANGI
2012
2 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi
TUJUAN
1. Mahasiswa dapat memahami dan melakukan pencarian data menggunakan metode searching
2. Mahasiswa dapat memahami perbedaan antara sequential searching dan binary searching
ALAT DAN BAHAN
1. PC
2. Compiler (GCC)
3. Text Editor (Notepad++)
DASAR TEORI
Ketika kita menggunaan array mungkin kita akan melakukan pencarian elemen didalamnya. Hal ini
sering dlakukan dengan menggunakan suatu kunci pencarian dan membandingkan semua elemen yang ada
dalam array yang digunakan. Proses pencarian suatu elemen didalam array disebut searching.
Ada dua macam pencarian yang akan kita gunakan yaitu pencarian sekuential (sequential searching)
dan pencarian biner (binary searching). Perbedaan terletak pada keadaan suatu elemen atau data yang ada
pada suatu array. Pencarian sequential digunakan apabila data dalam keadaan acak atau tidak urut.
Sedangkan pencarian biner digunakan pada data yang sudah dalam keadaan urut.
Pencarian Sekuential
Pencarian sekuential atau sering disebut juga pencarian linier menggunakan prinsip sebagai berkut :
Data yang ada pada suatu array dibandingkan satu persatu dengan data yang dicari. Pencarian ini dlakukan
dengan menggunakan suatu pengulangan dari 1 sampai semua data yang ada. Pada setiap kali pengulangan,
dibandingkan data yang posisinya ke-i dengan data yang dicari atau dimaksud. Apabila sama maka data
tersebut telah ditemukan dan proses pengulangan dihentikan. Sebaliknya kalau sampai pengulangan selesai
dan data yang dicari tidak ditemukan, maka data tersebut tidak ada.
Fungsi pencarian sekuential :
bool sequential_search(int a[], int target) {
int i;
for(i = 0; i <= (sizeof a)-1; i++) {
if(a[i]==target) {
return true;
}
}
return false;
}
3 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi
Pencarian Biner
Pencarian biner adalah metode pencarian suatu data atau elemen dalam suatu array dengan kondisi
data dalam keadaan urut.
Prinsip dari pencarian biner sebagai berikut :
Mula-mula diambil posisi awal=1 dan posisi akhir=N, kemudian dicari posisi tengah dengan rumus
(posisi awal+posisi akhir)/2. Kemudian data yang dicari dibandingkan dengan data tengah. Jika lebih
kecil, proses dilakukan kembali tetapi dalam hal ini posisi akhir=posisi tengah-1. Jika lebih besar, proses
dilakukan kembali tetapi posisi awal=posisi tengah+1.
Fungsi pencarian biner :
bool binary_search(int a[], int target, int titik_bawah, int titik_atas) {
if(titik_atas < titik_bawah) {
return false;
} else {
int titik_tengah = cari_titikTengah(titik_atas, titik_bawah);
if(a[titik_tengah] > target) {
return binary_search(a, target, titik_bawah, titik_tengah-1);
} else if(a[titik_tengah] < target) {
return binary_search(a, target, titik_tengah+1, titik_atas);
} else {
return true;
}
}
}
4 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi
PROSEDUR PERCOBAAN
Percobaan 1
1. Kompilasi kode sumber sequential.c dibawah ini!
Kode Sumber : sequential.c
2. Jalankan dan tuliskan keluaran sequential!
3. Berikan penjelasan anda tentang program sequential.c !
4. Berikan kesimpulan anda dari percobaan ini!
5 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi
Percobaan 2
1. Kompilasi kode sumber binary.c dibawah ini!
Kode Sumber : binary.c
6 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi
2. Jalankan dan tuliskan keluaran binary!
3. Berikan penjelasan anda tentang program binary.c !
4. Berikan kesimpulan anda dari percobaan ini!
TUGAS
1. Buatlah progam menggunakan metode sequential searching, dimana elemen-elemen array dan nilai
yang dicari diinput oleh user!
2. Buatlah progam menggunakan metode binary searching, dimana elemen-elemen array dan nilai
yang dicari diinput oleh user!

More Related Content

What's hot (8)

Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
Pertemuan 9 Array
Pertemuan 9 ArrayPertemuan 9 Array
Pertemuan 9 Array
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
 
Sd 15.17 modul 2
Sd 15.17 modul 2Sd 15.17 modul 2
Sd 15.17 modul 2
 
struktur data
struktur datastruktur data
struktur data
 
Presentation1
Presentation1Presentation1
Presentation1
 
Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)
 
Struktur data
Struktur  dataStruktur  data
Struktur data
 

Viewers also liked

Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasiHidayatullah Aldy
 
Sortir Nilai dengan JSP
Sortir Nilai dengan JSPSortir Nilai dengan JSP
Sortir Nilai dengan JSPIbrahim Naki
 
Os2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopiOs2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopirizqitohopi
 
Laporan Praktikum OS
Laporan Praktikum OS Laporan Praktikum OS
Laporan Praktikum OS Ibrahim Naki
 
Laporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxLaporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxIbrahim Naki
 
Laporan Sistem Operasi Linux
Laporan Sistem Operasi LinuxLaporan Sistem Operasi Linux
Laporan Sistem Operasi LinuxIbrahim Naki
 
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupLAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupIbrahim Naki
 
Membuat Kalkulator Dengan JSP
Membuat Kalkulator Dengan JSPMembuat Kalkulator Dengan JSP
Membuat Kalkulator Dengan JSPIbrahim Naki
 
OPERASI INPUT OUTPUT di Linux
OPERASI INPUT OUTPUT di LinuxOPERASI INPUT OUTPUT di Linux
OPERASI INPUT OUTPUT di LinuxIbrahim Naki
 
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal CommandLaporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal CommandMelina Krisnawati
 
Perintah Dasar Sistem Operasi Linux
Perintah Dasar Sistem Operasi LinuxPerintah Dasar Sistem Operasi Linux
Perintah Dasar Sistem Operasi LinuxIbrahim Naki
 

Viewers also liked (17)

Os2013 lap4-ridwan
Os2013 lap4-ridwanOs2013 lap4-ridwan
Os2013 lap4-ridwan
 
Pemrograman visual
Pemrograman visualPemrograman visual
Pemrograman visual
 
Praktikum 6B
Praktikum 6BPraktikum 6B
Praktikum 6B
 
Os2013 lap5-ridwan
Os2013 lap5-ridwanOs2013 lap5-ridwan
Os2013 lap5-ridwan
 
Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasi
 
Sortir Nilai dengan JSP
Sortir Nilai dengan JSPSortir Nilai dengan JSP
Sortir Nilai dengan JSP
 
Os2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopiOs2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopi
 
Kata pengantar
Kata pengantarKata pengantar
Kata pengantar
 
Laporan Praktikum OS
Laporan Praktikum OS Laporan Praktikum OS
Laporan Praktikum OS
 
Laporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxLaporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi Linux
 
L I N U X
L I N U XL I N U X
L I N U X
 
Laporan Sistem Operasi Linux
Laporan Sistem Operasi LinuxLaporan Sistem Operasi Linux
Laporan Sistem Operasi Linux
 
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupLAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
 
Membuat Kalkulator Dengan JSP
Membuat Kalkulator Dengan JSPMembuat Kalkulator Dengan JSP
Membuat Kalkulator Dengan JSP
 
OPERASI INPUT OUTPUT di Linux
OPERASI INPUT OUTPUT di LinuxOPERASI INPUT OUTPUT di Linux
OPERASI INPUT OUTPUT di Linux
 
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal CommandLaporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
 
Perintah Dasar Sistem Operasi Linux
Perintah Dasar Sistem Operasi LinuxPerintah Dasar Sistem Operasi Linux
Perintah Dasar Sistem Operasi Linux
 

Similar to Searching Algoritma (20)

Asd sesi searching part1
Asd sesi searching part1Asd sesi searching part1
Asd sesi searching part1
 
ALPRO SEARCHING K.4.pdf
ALPRO SEARCHING K.4.pdfALPRO SEARCHING K.4.pdf
ALPRO SEARCHING K.4.pdf
 
Teknik Searching
Teknik SearchingTeknik Searching
Teknik Searching
 
TUGAS TIK.pptx
TUGAS TIK.pptxTUGAS TIK.pptx
TUGAS TIK.pptx
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
Binary Search pada Java
Binary Search pada JavaBinary Search pada Java
Binary Search pada Java
 
Sequential Search
Sequential SearchSequential Search
Sequential Search
 
Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
 
Pertemuan 12 ok
Pertemuan 12 okPertemuan 12 ok
Pertemuan 12 ok
 
BERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.pptBERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.ppt
 
Sorting insert binary
Sorting insert binarySorting insert binary
Sorting insert binary
 
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptxBerpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
 
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptxBerpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
 
Setiawan Aprianto
Setiawan ApriantoSetiawan Aprianto
Setiawan Aprianto
 
Algoritma
Algoritma Algoritma
Algoritma
 
Tugas2 -metode searching ai
Tugas2 -metode searching aiTugas2 -metode searching ai
Tugas2 -metode searching ai
 
207 p11
207 p11207 p11
207 p11
 
Array statis if
Array statis ifArray statis if
Array statis if
 
Struktur data chapter_14
Struktur data chapter_14Struktur data chapter_14
Struktur data chapter_14
 
Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
 

More from James Montolalu

Aplikasi penampil profil biodata mahasiswa unsrat berbasis web uas
Aplikasi penampil profil biodata mahasiswa unsrat berbasis web uasAplikasi penampil profil biodata mahasiswa unsrat berbasis web uas
Aplikasi penampil profil biodata mahasiswa unsrat berbasis web uasJames Montolalu
 
Tutorial Pentaho - Membuat Data base werehaouse
Tutorial Pentaho - Membuat Data base werehaouseTutorial Pentaho - Membuat Data base werehaouse
Tutorial Pentaho - Membuat Data base werehaouseJames Montolalu
 
Kelompok 14 - [presentasi sistem transportasi}]
Kelompok 14 - [presentasi sistem transportasi}]Kelompok 14 - [presentasi sistem transportasi}]
Kelompok 14 - [presentasi sistem transportasi}]James Montolalu
 
Pemodelan web dengan web ml
Pemodelan web dengan web mlPemodelan web dengan web ml
Pemodelan web dengan web mlJames Montolalu
 
Final project Aplikasi Teknologi dan dNirkabel
Final project Aplikasi Teknologi dan dNirkabelFinal project Aplikasi Teknologi dan dNirkabel
Final project Aplikasi Teknologi dan dNirkabelJames Montolalu
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048James Montolalu
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048James Montolalu
 
Tugas final 2 presentasi
Tugas final 2 presentasiTugas final 2 presentasi
Tugas final 2 presentasiJames Montolalu
 
Indeks kami ( keamanan informasi )
Indeks kami ( keamanan informasi )Indeks kami ( keamanan informasi )
Indeks kami ( keamanan informasi )James Montolalu
 
Arsitektur dan Organisasi Komputer
Arsitektur dan Organisasi KomputerArsitektur dan Organisasi Komputer
Arsitektur dan Organisasi KomputerJames Montolalu
 

More from James Montolalu (20)

Aplikasi penampil profil biodata mahasiswa unsrat berbasis web uas
Aplikasi penampil profil biodata mahasiswa unsrat berbasis web uasAplikasi penampil profil biodata mahasiswa unsrat berbasis web uas
Aplikasi penampil profil biodata mahasiswa unsrat berbasis web uas
 
Tutorial Pentaho - Membuat Data base werehaouse
Tutorial Pentaho - Membuat Data base werehaouseTutorial Pentaho - Membuat Data base werehaouse
Tutorial Pentaho - Membuat Data base werehaouse
 
Kelompok 14 - [presentasi sistem transportasi}]
Kelompok 14 - [presentasi sistem transportasi}]Kelompok 14 - [presentasi sistem transportasi}]
Kelompok 14 - [presentasi sistem transportasi}]
 
Proposal
ProposalProposal
Proposal
 
Pemodelan web dengan web ml
Pemodelan web dengan web mlPemodelan web dengan web ml
Pemodelan web dengan web ml
 
Final project Aplikasi Teknologi dan dNirkabel
Final project Aplikasi Teknologi dan dNirkabelFinal project Aplikasi Teknologi dan dNirkabel
Final project Aplikasi Teknologi dan dNirkabel
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048
 
Ifc modul 7 (queue)
Ifc   modul 7 (queue)Ifc   modul 7 (queue)
Ifc modul 7 (queue)
 
Ifc modul 6 (stack)
Ifc   modul 6 (stack)Ifc   modul 6 (stack)
Ifc modul 6 (stack)
 
Ifc modul 4(sotring)
Ifc   modul 4(sotring)Ifc   modul 4(sotring)
Ifc modul 4(sotring)
 
Ifc modul 3 (adt)
Ifc   modul 3 (adt)Ifc   modul 3 (adt)
Ifc modul 3 (adt)
 
Ifc modul 2 (array)
Ifc   modul 2 (array)Ifc   modul 2 (array)
Ifc modul 2 (array)
 
Ifc modul 1 (fungsi)
Ifc   modul 1 (fungsi)Ifc   modul 1 (fungsi)
Ifc modul 1 (fungsi)
 
Tugas final 2 presentasi
Tugas final 2 presentasiTugas final 2 presentasi
Tugas final 2 presentasi
 
Presentation2 ver 1.1
Presentation2 ver 1.1Presentation2 ver 1.1
Presentation2 ver 1.1
 
Indeks kami ( keamanan informasi )
Indeks kami ( keamanan informasi )Indeks kami ( keamanan informasi )
Indeks kami ( keamanan informasi )
 
Topologi jaringan
Topologi jaringanTopologi jaringan
Topologi jaringan
 
Ansis
AnsisAnsis
Ansis
 
Arsitektur dan Organisasi Komputer
Arsitektur dan Organisasi KomputerArsitektur dan Organisasi Komputer
Arsitektur dan Organisasi Komputer
 

Recently uploaded

TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxsiswoST
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 

Recently uploaded (8)

TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptx
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 

Searching Algoritma

  • 1. 1 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi MODUL PRAKTIKUM “STRUKTUR DATA” Modul 5 : Searching Dosen Pembimbing : Xaverius Najoan, ST. MT. Bahasa Pemrograman : C Software : Notepad++ dan GCC LABORATORIUM TEKNOLOGI INFORMASI DAN KOUNIKASI UNIVERSITAS SAM RATULANGI 2012
  • 2. 2 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi TUJUAN 1. Mahasiswa dapat memahami dan melakukan pencarian data menggunakan metode searching 2. Mahasiswa dapat memahami perbedaan antara sequential searching dan binary searching ALAT DAN BAHAN 1. PC 2. Compiler (GCC) 3. Text Editor (Notepad++) DASAR TEORI Ketika kita menggunaan array mungkin kita akan melakukan pencarian elemen didalamnya. Hal ini sering dlakukan dengan menggunakan suatu kunci pencarian dan membandingkan semua elemen yang ada dalam array yang digunakan. Proses pencarian suatu elemen didalam array disebut searching. Ada dua macam pencarian yang akan kita gunakan yaitu pencarian sekuential (sequential searching) dan pencarian biner (binary searching). Perbedaan terletak pada keadaan suatu elemen atau data yang ada pada suatu array. Pencarian sequential digunakan apabila data dalam keadaan acak atau tidak urut. Sedangkan pencarian biner digunakan pada data yang sudah dalam keadaan urut. Pencarian Sekuential Pencarian sekuential atau sering disebut juga pencarian linier menggunakan prinsip sebagai berkut : Data yang ada pada suatu array dibandingkan satu persatu dengan data yang dicari. Pencarian ini dlakukan dengan menggunakan suatu pengulangan dari 1 sampai semua data yang ada. Pada setiap kali pengulangan, dibandingkan data yang posisinya ke-i dengan data yang dicari atau dimaksud. Apabila sama maka data tersebut telah ditemukan dan proses pengulangan dihentikan. Sebaliknya kalau sampai pengulangan selesai dan data yang dicari tidak ditemukan, maka data tersebut tidak ada. Fungsi pencarian sekuential : bool sequential_search(int a[], int target) { int i; for(i = 0; i <= (sizeof a)-1; i++) { if(a[i]==target) { return true; } } return false; }
  • 3. 3 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi Pencarian Biner Pencarian biner adalah metode pencarian suatu data atau elemen dalam suatu array dengan kondisi data dalam keadaan urut. Prinsip dari pencarian biner sebagai berikut : Mula-mula diambil posisi awal=1 dan posisi akhir=N, kemudian dicari posisi tengah dengan rumus (posisi awal+posisi akhir)/2. Kemudian data yang dicari dibandingkan dengan data tengah. Jika lebih kecil, proses dilakukan kembali tetapi dalam hal ini posisi akhir=posisi tengah-1. Jika lebih besar, proses dilakukan kembali tetapi posisi awal=posisi tengah+1. Fungsi pencarian biner : bool binary_search(int a[], int target, int titik_bawah, int titik_atas) { if(titik_atas < titik_bawah) { return false; } else { int titik_tengah = cari_titikTengah(titik_atas, titik_bawah); if(a[titik_tengah] > target) { return binary_search(a, target, titik_bawah, titik_tengah-1); } else if(a[titik_tengah] < target) { return binary_search(a, target, titik_tengah+1, titik_atas); } else { return true; } } }
  • 4. 4 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi PROSEDUR PERCOBAAN Percobaan 1 1. Kompilasi kode sumber sequential.c dibawah ini! Kode Sumber : sequential.c 2. Jalankan dan tuliskan keluaran sequential! 3. Berikan penjelasan anda tentang program sequential.c ! 4. Berikan kesimpulan anda dari percobaan ini!
  • 5. 5 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi Percobaan 2 1. Kompilasi kode sumber binary.c dibawah ini! Kode Sumber : binary.c
  • 6. 6 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi 2. Jalankan dan tuliskan keluaran binary! 3. Berikan penjelasan anda tentang program binary.c ! 4. Berikan kesimpulan anda dari percobaan ini! TUGAS 1. Buatlah progam menggunakan metode sequential searching, dimana elemen-elemen array dan nilai yang dicari diinput oleh user! 2. Buatlah progam menggunakan metode binary searching, dimana elemen-elemen array dan nilai yang dicari diinput oleh user!