Home » , , » Definisi dan Langkah-langkah Penyelesaian Algoritma (Ilmu Komputer)

Definisi dan Langkah-langkah Penyelesaian Algoritma (Ilmu Komputer)

Posted by Yuslim Blog on Senin, 17 Juni 2019


BAB 1

Paada pembahasan kali ini kita akan membahas tentang Algoritma. Algoritma menjadi penting karena ia merupakan jantung komputer. Banyak pembahasan di dalam cabang-cabang ilmu komputer yang di acu dengan terminologi algoritma. Di dalam bab ini akan di jelasin definisi algoritma, notasi yang di gunakan dan beberapa contoh algoritma dasar.

1.1 Algoritma

 Sebuah masalah dipecahkan dengan mendeskripsikan langkah-langkah penyelesaiannya. Misalnya masalah pengurutan (sorting) Berikut : Di berikan sejumlah bilangan bulat, tulisakan semua bilangan tersebut dalam urutan yang menaik. Metode untuk pengurutan data diskrit sudah banyak ditemukan orang. Metode pengurutan sering digambarkan dalam sejumlah langkah terbatas yang mengarah pada solusi permasalahan. Urutan langkah langkah ini dinama kan ALGORITMA

Jadi Definisi Algoritma adalah : Urutan langkah-langkah logis penyelesaian masalah yang di susun secara sistematis. 
Di tinjau dari asal usul kara , kata algoritma sendiri mempunyai sejarah yang aneh. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun1975. Orang-orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab (KNU73). Anda di katakan Algorist jika anda menggunakan angka Arab. para ahli bahasa berusaha untuk menemukan asal kata algorism ini namun yang didapat hasilnya kurang memuaskan. Akhirnya para ahli sejarah Matematika menemukan asal mula kata tersebut. Kata algorism berasa dari nama penulis buku Arab yang terkenal, yaitu Abu Ja'far Muhammad ibnu Musa al-Khuwarizmi (al-khuwarizmi orang baratnya menjadi algorism). al-khuwarizmi menulis bukunya yang berjudul " kitab al-jabar wal-muqabala, yang artinya " Buku pemugaran dan pengurangan " (The Book Of Restoration and Reduction).

Meskipun Algoritma sering di kaitkan dengan ilmu komputer, namun sesungguhnya dalah kehidupan sehari-haripun banyak terdapat proses yang di gambarkan dalam suatu algoritma.

1.2 Beberapa Contoh Algoritma

Di bawah ini disajikan beberapa contoh algoritam. Algoritma pertama mempertukarkan nilai dari dua peubah. Algoritma kedua mencari elemen tertentu di antara sekumpulan nilai bilangan bulat. Sedangkan algoritma ketiga adalah algoritma mengurutkan sekumpulan bilangan bulat.

Algoritma mempertukarkan nilai dari dua peubah

Dua peubah , x dan y. Nilai x dan y dipertukarkan sehingga x akan berisi nilai y, sedangkan y akan berisi nilai  yang lama. Misalnya,

Sebelum Pertukaran , x =10,  y = 8    
Setelah pertukaran , x = 8 dan y = 10 

Dalam oprasi pertukaran inim kita membutuhkan sebuah peubahan bantu , temp, sebagai tempat menampung sementara nilai dari salah satu peubah (atau y)


procedur Tukar (input/output x, y : integer)
(mempertukarkan  nilai x dan y
masukan : x dan y
keluarkan : x dan y

Deklarasi    Temp : integer


Algoritmatemp ← y

y ← temp

Algoritma mencari elemen tertentu di dalam himpunan elemen

Di contohkan misalkan n buah bilangan bulat yang dinyatakan sebagai a1, a2, ...., an. Carilah apakah  terdapat di dalam himpunan bilangan bulat tersebut?. Jika x di temukan, maka lokasi (index) elemen yang bernilai x di simpan di dalam peubah idx. jika x tidak terdapat di dalam himpunan tersebut, makan idx di isi dengan nilai 0.

Algoritma pencarian yang paling sederhana adalah algoritma pencarian beruntun (squential search atau linear search).  Setiap elemen di dala, himpunan di bandingkan dengan x mulai dari elemen pertama a1 sampai elemen yang bernilai sama dengan x atau sampai semua elemen sudah habis di periksa. Algoritma pencarian yang di maksud adalah sebagai berikut:

procedure pencarianberuntun (input a1, a2,..., an : integer, x :integer,                                                                     output idx : integer(Mencari x di dalam elemen a1, a2,..., an. Lokasi (index elemen) tempat x ditemukan di isi kedalam idx. Jika x tidak ditemukan, maka idx di isi dengan 0.masukan : a1, a2,..., an.Keluarkan :idx

Deklarasi
k : integer
Algoritma
k←while (k < n) and (ax ) do                  k ← k + 1endwhile( k = n or ak = x )
if ak = x then ( x di temukan )   idxkelse    idx← 0     ( x tidak di temukan )endif

Algoritma pengurutan 

Contoh n bilangan bulat yang di nyatakan sebagai a1, a2, ...., an..  Urutkan semua bilangan bulat tersebut sehingga a a ... an.
Pengurutan adalah persoalan yang kaya dengan solusi algoritma, karena apa ? karena saat ini terdapat puluhan algoritma pengurutan. Salah satu algoritma pengurutan adalah algortma pengurutan seleksi (selection sort) gagasn dasarnya adalah mencari elemen terbesar atau terkecil, lalu menempatkan elemen terbesar atau terkecil seperti berikut ini :


Sebelum :
1                                                                                                                                        N
Belum terurut



Sesudah :
1                                                                                                                                                N
Belum terurut




Algoritma pengurutan terpilih yang di maksud adalah berikut ini. Algoritma di sini menghasilkan susunan yang menaik ( ascending order). perhatikan algortima berikut :

procedure pencarianberuntun (input/output a1, a2,..., an : integer, input n: integer{Mengurutkan a1, a2,..., a sehingga tersusun menaik dengan metode pengurutan maksimum.masukan : a1, a2,..., ankeluarkan : a1, a2,..., an (terurut menaik)}

Deklarasik         : Integer { pemecah jumlaj pengulangan/pass }j          : Integer { pemecah untuk mencari nilai maksimum }imaks  : Integer { index yang berisi nilai maksimum sementara }tamp    : Integer { peubah bantu untuk pertukaran }
Algoritma      For k  ← n downto 2 do {jumlah pass sebanyak N - 1 }          { cari elemen maksimum pada elemen a1, a2,..., an }imaks ← 1         {elemen pertama diasumsikan sebagai elemen                     maksimum sementara }
for← 2 to i do  if a > a imaks then                   imaks j     endif    endfor
{ pertukaran imaks dengan ai}temp  aiai  ← imaksimaks  temp 
endfor
Berikut adalah pembahasan tentang algoritma semoga pembahasan ringkas ini dapat di pahami pembaca dan tentunya bermanfaat bagi kita semua

Thanks for reading & sharing Yuslim Blog

Previous
« Prev Post

0 komentar:

Posting Komentar