Searching & Sorting Searching Sorting Oleh : Oman Somantri, S.Kom

Slides:



Advertisements
Presentasi serupa
Pencarian ( Searching)
Advertisements

STRUKTUR DATA Struktur Data - Gerlan A. Manu, ST.,MKom 1.
STRUKTUR PERULANGAN Statemen ini di gunakan untuk memproses statemen-statemen tertentu berulang kali. Struktur perulangan While … Do Jenis perulangan.
Sorting (Pengurutan).
ARRAY 1 DIMENSI #10 STIKOM Searching Pengantar Manfaat Inisialisasi
STRUKTUR DATA.
MATERI 11. TAS Tanggal 30 Nopember 2011 (RABU). Jam 7-9 TUTUP BUKU Materi : 1-11.
STRUKTUR DATA PERTEMUAN 6
PENGURUTAN (SORTING).
BAB 9 S e a r c h i n g.
Algoritma dan Struktur Data
PENCARIAN (SEARCHING)
ARRAY Suatu array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen ini disebut dengan.
STRUKTUR PERULANGAN STRUKTUR PERULANGAN FOR
ARRAY Suatu array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen ini disebut dengan.
Procedure & Function Sub Program.
Searching.
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S. Kom tertiaavini
Pemprograman Terstruktur 1
Tenia Wahyuningrum, SKom, MT. Deskripsi singkat Larik (array) adalah deretan rinci data yang mempunyai tipe sejenis. Setiap rinci data disebut dengan.
TPI4202 e-tp.ub.ac.id Perulangan (Looping) Lecture 5.
Algoritma Pencarian (searching)
RECORD.
KUG1A3 Algoritma& Pemrograman
KUG1A3 Algoritma& Pemrograman
Dasar-Dasar Pemrograman
Struktur Data Algoritma Sorting
Bubble Sort Metode pengurutan gelembung diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan.
Pertemuan 10 SORTING.
Struktur data Oleh: Tim Struktur Data IF ARRAY STATIS.
RECORD Oleh : Oman Somantri, S.Kom
Materi 11 LOGIKA & ALGORITMA 11.
Materi Pascal.
Algoritma Pemrograman
PENGURUTAN (SORTING).
Pengurutan (Sorting).
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
STRUKTUR DATA Array Statis.
Matematika Pascal Identifier x bernilai 10 X = 10
PROCEDURE DAN FUNCTION
Array ( Larik ) Array Satu Dimensi Array Dua Dimensi
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel
Dasar-Dasar Pemrograman
KUG1E3/ Pemrograman Terstruktur 1
BINARY SEARCH Tim Algoritma Pemrograman Teknik Informatika
STRUKTUR DATA TUMPukAN (STACK).
SEARCHING (PENCARIAN)
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
MULTIDIMENSI ARRAY Struktur Data
STRUKTUR DATA Array Statis.
ARRAY SATU DIMENSI.
Matematika Pascal Nilai dari 40 siswa Identifier Nilai memuat 40 data
ARRAY STATIS Sri Nurhayati, MT.
Pemrograman Choice Ramos Somya, S.Kom., M.Cs..
PENYELEKSIAN KONDISI.
Array (Larik)‏ Struktur Data 1 1.
Sorting (Pengurutan).
Dasar-Dasar Komputer FKIP Prodi Matematika Univ. Muhammadiyah Gresik
Matematika Pascal Identifier x bernilai 10 X = 10
FUNCTION Oleh : Oman Somantri, S.Kom
ARRAY STATIS Sri Nurhayati, MT.
Dasar-Dasar Pemrograman
Pencarian (searching)
ALGORITMA & PEMROGRAMAN
Rekursif Oleh : Oman Somantri, S.Kom
Dasar-Dasar Pemrograman
Dasar-Dasar Pemrograman
Sorting (Pengurutan).
STATEMEN FOR STATEMEN WHILE STATEMEN REPEAT
Dasar-Dasar Pemrograman
Transcript presentasi:

Searching & Sorting Searching Sorting Oleh : Oman Somantri, S.Kom Email : oman_mantri@yahoo.com

Searching Pencarian (Searching) adalah proses pencarian nilai dari sebuah larik dengan membandingkan tiap-tiap elemennya berdasarkan algoritma pencarian yang digunakan. Ada 3 macam jenis search yang terdapat dalam pascal yaitu, Sequential search, Binary Search, dan Ekstrim Search. 

1. Sequential Search Algoritma pencarian ini yaitu membandingkan nilai yang dicari (didefenisikan) dengan setiap elemen array, mulai indeks terkecil sampai indeks terbesar yang terdefenisi.

CONTOH : program Sequential_Search ; uses wincrt; label awal; var pil:char;     lg :char; const  nmin = 1;  nmax = 100; type   arrint = array [nmin..nmax] of integer; var  x      : integer;   tabint : arrint;   n,i    : integer;   indeks : integer; function seqsearch1(xx : integer): integer;   var i : integer;   begin     i := 1;     while ((i<n) and (tabint[i] <> xx)) do       i:=i+1;       if tabint[i] = xx then         seqsearch1:=i         else         seqsearch1:=0;   end;

begin   clrscr;   write('input nilai n = '); readln(n);   for i:=1 to n do     begin       write('Tabint[',i,'] = '); readln(tabint[i]);     end;   write('Nilai yang dicari = '); readln(x);   indeks:=seqsearch1(x);   if indeks <> 0 then     write(x,' ditemukan pada indeks ke-',indeks)     else     write(x,' tidak ditemukan');   writeln; readln; end.

Apabila program ini dijalankan maka hasilnya adalah :   Penjelasan : Bila pada indeks “input nilai n=” diisi dengan angka 5 maka akan muncul “Tabint=” berjumlah 5. Misalkan ke-5 “Tabint” tersebut diisi dengan angka (1,3,5,7,8) secara berurutan, lalu pada indeks  “Nilai yang dicari =” diisi dengan angka 5 maka pencarian akan berhenti pada (1,3,5) karena angka 5 telah ditemukan pada tabint ke 3.

2.   Binary Search Algoritma ini juga disebut dengan dikotomik ide dasarnya adalah membandingkan harga x, dengan elemen tengah array, jika lebih besar dari elemen tengah array, Karena elemen-elemen terurut membesar, maka pencarian dilakukan pada setengah bagian yang nilainya lebih besar dari x sampai elemen terakhir.

CONTOH : Program binary_search; begin atas := 1; bawah := n;     ditemukan:=false;     indeksxx:=0;     while ((atas <= bawah) and (not ditemukan)) do       begin         tengah:= (atas+bawah) div 2;         if xx = tabint[tengah] then           begin             ditemukan:= true;             indeksxx := tengah;           end         else             if xx = tabint[tengah] then               bawah:= tengah - 1             else               atas:= tengah + 1;           end;       end;     binarysearch:=indeks;   end; CONTOH : Program binary_search; Uses crt; const   nmin = 1;   nmax = 100; type   arrint = array [nmin..nmax] of integer; var   x      : integer;   tabint : arrint;   n,i    : integer;   indeks : integer;   function binarysearch(xx : integer): integer;   var     i : integer;     atas, bawah, tengah : integer;     ditemukan : boolean;     indeksxx : integer;

begin   clrscr;   write('input nilai n = '); readln(n);   for i:= 1 to n do     begin       write('Tabint[',i,'] = '); readln(tabint[i]);     end;   write('Nilai yang dicari = '); readln(x);   indeks:=binarysearch(x);   if indeks <> 0 then     write(x,' ditemukan pada indeks ke-',indeks)     else     write(x,' tidak ditemukan');     readln; end.

3. Ekstrim Search (Mencari nilai terbesar dan terkecil) Ide dasar algoritma mencari nilai ekstrim adalah dengan membandingkan nilai elemen pertama array (diasumsikan sebagai nilai ekstrim) dengan nilai elemen-elemen sesudahnya.

CONTOH : program cari_maks; begin clrscr;   write('jumlah elemen = '); readln(nn);   for i:= 1 to nn do     begin       write('elemen ke-',i,' = '); readln(tabint[i]);     end;   maks:= maksimum(tabint, nn);   writeln('nilai Maksimum = ',maks); writeln; writeln('andihasdialam.blogspot.com'); readln; end. program cari_maks; uses crt; type   arrint = array [1..100] of integer; var   maks   : integer;   tabint : arrint;   nn, i  : integer;   function maksimum(tabint : arrint; n : integer) : integer;   var     i   : integer;     max : integer;   begin     for i:=2 to n do       if max< tabint[i] then         max:= tabint[i];     maksimum:=max;   end;

Sorting ( Pencarian )

Buble Sort Pengurutan biasa diterapkan pada isi tipe data array. Misalnya kita punya 100 orang mahasiswa lalu kita ingin urutkan data tersebut mulai dari nilai tertinggi sampai nilai terendah disitulah kita gunakan pengurutan. Buble Sort adalah suatu metode pengurutan yang sederhana. Prinsip kerjanya seperti namanya (buble yang berarti gelembung).

Misalnya kita punya setumpuk data, akan kita urutkan dari yang paling kecil. Ambil data yang paling bawah bandingkan dengan yang atasnya kalau atasnya lebih kecil tukar poisisi yang kecil naik ke atas. Lakukan langkah tersebut seterusnya sampai semua data terurutkan. Lihat tabel berikut :

CONTOH : Program Urut_BubleSort ; Uses wincrt; Var data: array [1..100] of integer; i,j,temp,x,n: integer; Begin clrscr; write('Masukan jumlah data : '); readln(x); for i:=1 to x do begin write('Masukan data ke ',i,': '); readln(data[i]); end; writeln('Data yang belum terurut'); for i:=1 to n do begin write(data[i]); end; for i:=1 to x do for j:= n downto 2 do if (data[j]<data[j-1]) then temp:=data[j-1]; data[j-1]:=data[j]; data[j]:=temp; writeln;

writeln('Data yang sudah terurut'); for i:=1 to n do begin write(data[i]); end; readln; end.

Insertion Sort Insertion Sort adalah contoh lain dari metode pengurutan yang sederhana yaitu kebalikan dari buble sort yang mengurutkan data dari belakang, Insertion Sort mengurutkan data dari depan. Ambil dua data pertama, urutkan sesuai yang diinginkan. Lalu sisipkan data ketiga ditempat semestinya lalu sisipkan data keempat ditempat semestinya diantara 3 data sebelumnya dan begitu seterusnya sampai semua data selesai diurutkan.

Program insertion_sort; CONTOH : Program insertion_sort; Uses crt; var data : array [1..100] of integer; i,j,temp,jumlah : integer; begin clrscr; write('Masukan jumlah data : '); readln(jumlah); for i:=1 to jumlah do write('Masukan data ke-',i,' : '); readln(data[i]); end; clrscr; writeln('Data yang belum terurut'); for i:=1 to jumlah do begin write(data[i]); end;

while (j>=1) and (temp<data[j]) do data[j+1]:=data[j]; j:=j-1; begin temp:=data[i]; j:=i-1; while (j>=1) and (temp<data[j]) do data[j+1]:=data[j]; j:=j-1; end; data[j+1]:=temp; writeln; writeln('Data yang sudah terurut'); for i:=1 to jumlah do write(data[i]); readln; end.

SELESAI