Nama: Adelia Riskhi Arishandi
NPM: 20312105
Kelas: IF 20 Dx
1. Permasalahan Sorting
Sorting
bisa didefinisikan sebagai suatu proses pengurutan data yang sebelumnya disusun
secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu.
Sorting yang kita terapkan
menggunakan tipe data array agar pemahaman serta
pengimplementasiannya lebih mudah. Pada umumnya terdapat dua jenis
pengurutan :
- Ascending (Naik).
- Descending (Turun).
Contoh:
Mengurutkan dari data berikut
Data
: Array [1..5] of Byte
= (13, 1, 12, 20, 4);
Data Acak
: 13
1 12 20 4
Terurut
Ascending : 1 4 12
13 20
Terurut
Descanding : 20 13 12 4
1
Solusi:
Pengurutan
menggunakan metode Selection Sort
Cara kerja metode ini
didasarkan pada pencarian elemen dengan
nilai terkecil, kemudian dilakukan penukaran
dengan elemen ke-I.
Contoh dari proses Sorting dengan menggunakan metode Selection Sort:
Berikut ini merupakan Procedure Selection Sort pada
Pascal:
Procedure Selection (Var Temp : Data; JmlData :
Integer);
Var I,J, Lok : Integer;
Begin
For I:=1 To JmlData-1 Do
Begin
Lok:=I;
For J:=I+1 To
JmlData Do
If Temp[Lok] > Temp[J] Then Lok:=J;
SWAP(Temp[I],
Temp[Lok]);
End;
End;
Kelebihan dan kekurangan menggunakan metode Selection Sort
1. KELEBIHAN
Algoritma ini sangat rapat dan mudah untuk
diimplementasikan
Operasi pertukarannya hanya dilakukan sekali saja
Waktu pengurutan dapat lebih ditekan
Mudah menggabungkannya kembali
Kompleksitas selection relative lebih kecil
2. KEKURANGAN
Sulit untuk membagi
masalah.
2. Permasalahan Searching
Searching merupakan suatu proses pencarian data dari
sejumlah data yang ada. Pencarian data dapat dilakukan pada sejumlah data yang
sudah terurut atau juga pada data yang sama sekali belum terurut.
-Pencarian Berurutan (Sequential Searching).
-Pencarian Biner (Binary Search).
-Pencarian Data yang sudah terurut (Interpolation
Search)
Contoh:
Dalam kasus paling buruk, untuk data dengan N elemen
harus dilakukan pencarian sebanyak N kali pula. Ada baiknya jika data yang
dicari tidak ditemukan maka data ditambahkan pada posisi terakhir.
Solusi:
Pencarian Berurutan (Sequential Searching)
Sequential Search adalah suatu teknik pencarian data
dalam array (1 dimensi) yang akan menelusuri semua elemen array dari awal
hingga yang paling akhir, dimana data-data tidak perlu diurutkan terlebih
dahulu.
Procedure Cari Urut (Var Ada : Boolean; Var N,
Posisi : Integer;
Var Temp : Data; Elemen : Char);
Var I : Integer;
Begin
Ada:=False;
For I:=1 To N Do
If Temp[I] = Elemen Then {Data yang
dicari ketemu}
Begin
Posisi:=I;
Ada:=True;
Exit;
End;
If Not Ada Then
Begin
Inc(N);
Temp[N]:=Elemen;
{Tambah di posisi akhir}
End;
End;
Kelebihan dan kekurangan menggunakan metode Sequential Search
1. KELEBIHAN
Proses pencarian menggunakan Sequential Search
cenderung lebih cepat dan efisien untuk jumlah data yang terbatas atau
tidak terlalu banyak.
Algoritma yang digunakan juga lebih sederhana atau
tidak terlalu rumit.
2. KEKURANGAN
Kekurangan yang paling mendasar Sequential Search adalah kurang efisien dan kurang cepat untuk mencari suatu data dalam jumlah yang besar
3. Permasalahan String Processing
Algoritma pencarian string atau sering disebut
juga pencocokan string adalah Algoritma untuk melakukan pencarian
semua kemunculan string pendek pattern [0..n-1] yang
disebut pattern di string yang lebih panjang teks [0...m-1] yang disebut
teks. String processing dapat di gunakan dalam Algoritma brute force dalam
pencarian string. Algoritma brute force merupakan algoritma pencocokan string
yang ditulis tanpa memikirkan peningkatan performa.
Pseudocode
Pseudocode algoritma brute force ini:
procedure BruteForceSearch(
input m, n
: integer,
input P :
array[0..n-1] of char,
input T :
array[0..m-1] of char,
output
ketemu : array[0..m-1] of boolean
)
Deklarasi:
i, j: integer
Algoritma:
for (i:=0
to m-n) do
j:=0
while (j < n and T[i+j] = P[j]) do
j:=j+1
endwhile
if(j >= n) then
ketemu[i]:=true;
endif
endfor
Kelebihan algoritma Brute Force
Brute force merupakan sebuah metode
pemecahan masalah logis yang memiliki kemampuan untuk memperoleh pemecahan
masalah dengan baik.
Dengan mempertimbangan banyak opsi,
metode algoritma brute force mampu untuk menyaring satu dari sekian banyak
solusi atau opsi yang ditawarkan,sehingga proses pemecahan masalah yang
dilakukan akan menjadi lebih baik dan juga lebih optimal.
Kelemahan dari algoritma Brute Force
Algoritma brute force sangat sulit untuk digunakan pada kebutuhan pemecahan masalah yang cepat. Hal ini disebabkan karena algoritma brute force membutuhkan kumpulan banyak opsi terlebih dahulu sebelum dieksekusi. Hal ini membuat pertimbangan dalam memilih opsi akan menjadi lebih lambat.
3. Permasalahan Graph
Graph adalah sekelompok simpul-simpul (nodes/vertices) V, dan sekelompok sisi (edges) E yang menghubungkan sepasang simpul, atau bisa juga sebagai himpunan benda-benda yang disebut verteks (node) yang terhubung oleh sisi (edge atau arc). biasanya graf digambarkan
Graph adalah sekelompok simpul-simpul (nodes/vertices) V, dan sekelompok sisi (edges) E yang menghubungkan sepasang simpul, atau bisa juga sebagai himpunan benda-benda yang disebut verteks (node) yang terhubung oleh sisi (atau edge atau arc). biasanya graf digambarkan sebagai kumpulan titik-titik (melambangkan verteks) yang dihubungkan oleh garis-garis (melambangkan sisi).
Tidak ada komentar:
Posting Komentar