Permasalahan Dalam Algoritma

Permasalahan Dalam Algoritma

Nama :Dandi Aldion Hartanto
Kelas : IF 20 B
Npm : 20312081


                        Searching

1.Definisi Searching
             Dalam kehidupan sehari-hari sebenarnya kita sering melakukan pencarian data. Sebagai contoh, jika kita menggunakan Kamus untuk mencari kata-kata dalam Bahasa Inggris yang belum diketahui terjemahannya dalam Bahasa Indonesia. Contoh lain saat kita menggunakan buku telepon untuk mencari nomor telepon teman atau kenalan dan masih banyak contoh yang lain.

            Pencarian (Searching) merupakan suatu proses yang penting dalam pengelolaan data atau nilai. Proses pencarian adalah menemukan suatu data atau nilai tertentu dalam kumpulan data yang memiliki tipe yang sama baik tipe dasar atau tipe bentuk. Data atau nilai yang dimaksud disini adalah data yang disimpan secara temporer dalam memori utama atau disimpan secara permanen didalam memori sekunder contohnya tape atau disk. Didalam memori utama, struktur penyimpanan data yang umum adalah berupa larik atau tabel (array), sedangkan didalam memori sekunder berupa file atau arsip.

2. Jenis-jenis Searching
Ada beberapa jenis searching :

1. Sequential Search
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.

Berikut ini kelebihan dan kekurangan dari Sequential Search :

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.
Kekurangan yang paling mendasar Sequential Search adalah kurang efisien dan kurang cepat untuk mencari suatu data dalam jumlah yang besar
Proses-proses dari Sequential Search :

Pertama data akan melakukan perbandingan satu per satu secara berurutan dalam data dengan data yang akan dicari. Proses pencarian ini akan terjadi sampai data ditemukan atau tidak ditemukan dalam kumpulan data tersebut.
Pencarian ini akan melakukan pengulangan dari data awal hingga data akhir sesuai dengan jumlah datanya.
Jika, data yang dimasukkan sama dengan data yang dicari maka data telah berhasil ditemukan. Tapi, jika pengulangan terjadi dari data awal hingga data akhir dan tidak ada data yang sama. Maka, data tersebut tidak ditemukan.
2. Binary Search
Binary Search adalah suatu metode pencarian suatu data yang ada didalam kumpulan data dimana data-data tersebut sudah berurut. Karena, proses pencarian tidak akan terjadi jika data-data yang berada didalam kumpulan data tersebut tidak berurut. Dalam proses pencarian dengan metode ini data akan dibagi menjadi dua bagian untuk setiap tahap pencariannya.

Berikut kelebihan dan kekurangan dari Binary Search:

Efisien dan lebih cepat jika mencari suatu nilai dalam jumlah data yang besar. Karena data-data tersebut sudah diurutkan terlebih dahulu
Kekurangan Binary Search yang pertama adalah data harus diurutkan terlebih dahulu agar proses pencarian bisa berjalan dengan baik
Kekurangan kedua adalah algoritma Binary Search lebih rumit daripada Sequential Search
Proses-proses Binary Search:

Pengambilan data dimulai dari data awal hingga data yang terakhir sesuai dengan jumlah data
Kedua, mencari data yang berada paling tengah dalam kumpulan data tersebut dengan menggunakan rumus :(posisi awal+posisi akhir)/2
Selanjutnya data yang dicari akan dibandingkan dengan data yang paling tengah, jika nilai data yang dicari lebih besar dari nilai data yang paling tengah maka kumpulan data akan dibagi menjadi dua dan data yang berada diposisi paling tengah menjadi posisi awal pencarian data.
Sebaliknya, jika data yang dicari lebih kecil dengan data yang berada diposisi tengah , maka kumpulan data tersebut dibagi menjadi dua bagian dimana data yang berada diposisi tengah menjadi posisi akhir untuk pencarian data. Jika data yang dicari sama, berarti data sudah ketemu.
3. Interpolation Search
Interpolation Search adalah suatu metode pencarian data yang sudah terurut dengan cara memperkirakan letak data yang berada dalam kumpulan data tersebut. Contoh ilustrasi : jika kita mencari kata dalam KBBI dengan awalan M, kita tidak perlu mencari dari awal kamus. Tapi, kita dapat langsung mencari pada bagian tengah kamus tersebut. Proses Interpolation Search menggunakan rumus:

Posisi = (kunci-data[low]/data[high]-data[low])*(high-low)+low

Singkatnya proses pencarian interpolation search hampir mirip dengan proses pencarian kata dikamus, yaitu kita mencari data yang dimaksud dengan cara memperkirakan letak data.

Permasalahan Sorting

1. Pengertian Sorting

Ø Pengurutan data dalam struktur data sangat penting untuk data yang bertipe data numerik ataupun karakter.

Ø Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun)

Ø Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga dapat tersusun secara teratur menurut aturan tertentu.

Contoh :

Ø Data Acak : 10 3 8 7 12 18 1 6

Ø Ascending : 1 3 6 7 8 10 12 18

Ø Descending : 18 12 10 8 7 6 3 1

 

2. Metode Pengurutan Data Berdasarkan Perbandingan (Bubble Sort)

Metode Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.

Bubble Sort merupakan cara pengurutan yang sederhana. Cara kerjanya adalah dengan berulang-ulang melakukan traversal (proses looping) terhadap elemen-elemen struktur data yang belum diurutkan. Di dalam traversal tersebut nilai dari dua elemen struktur data dibandingkan. Jika ternyata urutannya tidak sesuai dengan “pesanan”, maka dilakukan pertukaran (swap). Algoritma sorting ini disebut juga dengan comparison sort dikarenakan hanya mengandalkan perbandingan nilai elemen untuk mengoperasikan elemennya.

          Contoh :

Ø Pengurutan Ascending : Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar.

Ø Pengurutan Descending : Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar.

Ø Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya.

Ø Ketika suatu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya dari 0 sampai dengan iterasi sebanyak n-1.

Ø Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bias dilakukan, serta tercapai perurutan yang telah diinginkan.

 

3. Kelebihan dan Kekurangan Bubble Sort

                      I. Kelebihan dari algoritma Bubble Sort adalah sebagai berikut :

· Algoritma yang simpel.

· Mudah untuk diubah menjadi kode.

· Definisi terurut terdapat dengan jelas dalam algoritma.

· Cocok untuk pengurutan data dengan elemen kecil telah terurut.

 

                   II. Kekurangan dari algoritma Bubble Sort adalah sebagai berikut :

· Tidak efektif dalam pengurutan data berskala besar.

· Langkah pengurutan yang terlalu panjang.

· Kompleksitas algoritma yang terlalu besar, baik dalam average case maupun worst case, yaitu O(n2), sehingga seringkali disebut sebagai algoritma primitif, brute-force, maupun algoritma naif

Sumber :
https://www.google.com/amp/s/tugasanalgo4blog.wordpress.com/2016/10/07/searching/amp/

Jangan Lupa Kunjungi Link di Bawah ini :

https://www.teknokrat.ac.id/
http://ti.ftik.teknokrat.ac.id
http://ftik.teknokrat.ac.id

Komentar

Postingan populer dari blog ini

Notasi Algoritma (Kalimat deskriptif, Flowchart, Pseudocode)

Process Synchronization

DESAIN EXPERIMEN