• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
IV-1
MODUL IVPENCARIAN DAN PENGURUTAN
4.1
 
Tujuan
Tujuan modul IV ini, adalah:
 
Praktikan bisa membuat beberapa program pencarian berdasarkan metodealgoritma pencarian
 
Praktikan bisa membuat beberapa program pengurutan berdasarkan metodealgoritma pengurutan
 
Praktikan dapat membiasakan diri untuk membuat program secara terstruktur.
 
Praktikan memahami algoritma beberapa metode pencarian dan pengurutan
4.2
 
Teori4.2.1
 
Pencarian
Proses pencarian (
searching
) adalah menemukan nilai (data) tertentu didalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipebentukan).
4.2.1.1
 
Metode Pencarian Beruntun (
Sequential Search
)
Metode pencarian beruntun adalah proses membandingkan setiap elemenlarik satu persatu secara beruntun, mulai dari elemen pertama, sampai elemenyang dicari ditemukan atau seluruh elemen sudah diperiksa.Perhatikan larik di bawah ini :23 45 23 57 121 2 3 4 5Misalkan nilai yang dicari : x = 57Elemen yang dibandingkan : 23, 45, 23, 57 (ditemukan)Indeks larik yang dikembalikan : IDX = 4
 
IV-2Misalkan nilai yang dicari : x = 67Elemen yang dibandingkan : 23, 45, 23, 57, 12 (tidak ditemukan)Indeks larik yang dikembalikan : IDX = -1Terdapat 2 bersi algoritma pencarian beruntun, yaitu:
1.
 
Pembandingan Elemen Dilakukan di Awal Pengulangana.
 
Hasil pencarian:
sebuah peubah Boolean yang menyatakan x ditemukan(true) atau tidak ditemukan (
 false
)
Contoh Algoritma 1:
Procedure SeqSearch(input L : Larikint, input N : integer, input X :integer, output Ketemu : integer
 
){
mencari keberadaan nilai X di dalam larik l[1..N].}{k.awal: X dan larik l[1..N] sudah terdefinisi nilainya}{k.akhir: ketemu bernilai true, jika X ditemukan. Jika x tidak ditemukan,ketemu bernilai false
}DeklarasiK : integer {indeks larik}DeskripsiK
1While (K < N) and L[K]
X) doK
K + 1Endwhile{K = N or L[K] = X}If L[K] = X then {X ditemukan}Ketemu
trueElseKetemu
falseEndif Algoritma Pencarian{
 program untuk mencari nilai tertentu dengan sequential search}
DeklarasiConst NMaks = 100 {jumlah maksimum elemen larik}Type Larikint : array[1..NMaks] of integerL : LarikintX : integer {elemen yang dicari}Found : Boolean {true jika X ditemukan, false jika X tidak}Procedure Bacalarik(output L : Larikint, input N : integer
 
){
mengisi elemen larik L[1..N] dengan nilai yang dibaca dari piranti
 
IV-3
masukan
}Procedure SeqSearch(input L : Larikint, input N : integer, input X :integer, output Ketemu : integer
 
){
mencari keberadaan nilai X di dalam larik L[1..N].
}DeskripsiRead(N)Bacalarik(L,N)Read(X)SeqSearch(L, N, X, Found)If Found thenWrite(X, ‘ditemukan’)ElseWrite(X, ‘tidak ditemukan’)Endif 
b.
 
Hasil pencarian: indeks elemen larik yang berisi Nilai x.Contoh Algoritma 2:
Procedure SeqSearch(input L: Larik, input N : integer, input X : integer,output Idx : integer
 
){
mencari keberadaan nilai X di dalam larik L[1..N]}{k.awal : nilai X dan elemen larik L[1..N] sudah terdefinisi}{k.akhir : idx berisi larik L yang berisi nilai X. jika X tidak ditemukan,maka idx diisi dengan nilai -1
}DeklarasiK : integer {indeks larik}DeskripsiK
1While (K<N) and (L[K]
X) doK
K + 1Endwhile{K = N or L[K] = X}if L[K] = X then {X ditemukan}idx
Kelseidx
-1endif 
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...