Bagaimana Cara Suatu Algoritma Bekerja?

Algoritma adalah langkah demi langkah yang dirancang untuk melakukan operasi dengan sejumlah langkah yang terbatas.

Untuk membuat komputer melakukan sesuatu, Anda harus menulis program komputer. Untuk menulis program komputer, Anda harus memberi informasi kepada kompute, selangkah demi selangkah, apa yang Anda inginkan. Komputer kemudian “menjalankan” program, mengikuti setiap langkah secara mekanis, untuk mencapai tujuan akhir.

Bila Anda memberi tahu komputer apa yang harus dilakukan, Anda juga bisa memilih bagaimana cara melakukannya. Di situlah algoritma komputer masuk. Algoritma adalah teknik dasar yang digunakan untuk menyelesaikan pekerjaan. Mari ikuti contoh untuk membantu memahami konsep algoritma.

Katakanlah Anda memiliki seorang teman yang tiba di bandara, dan teman Anda perlu pergi dari bandara ke rumah Anda. Berikut adalah empat algoritma berbeda yang bisa Anda berikan kepada teman Anda untuk sampai ke rumah Anda:

Algoritma taksi :

  1. Pergi ke tempat taksi.
  2. Naik taksi
  3. Beri alamat pengemudinya.

Algoritma “menelfon-saya” :

  1. Saat pesawat Anda tiba, teleponlah ponsel saya.
  2. Temui aku di luar bagasi.

Algoritma sewa mobil :

  1. Naik pesawat ke tempat penyewaan mobil.
  2. Menyewa mobil.
  3. Ikuti petunjuk untuk sampai ke rumah saya.

Algoritma bus :

  1. Di luar bagasi, naik bus nomor 70.
  2. Transfer ke bus 14 di Main Street.
  3. Turun di jalan Elm.
  4. Berjalanlah dua blok ke utara ke rumahku.

Keempat algoritma ini mencapai tujuan yang sama persis, namun setiap algoritma melakukannya dengan cara yang sama sekali berbeda. Setiap algoritma juga memiliki biaya berbeda dan waktu tempuh berbeda. Naik taksi misalnya, mungkin cara tercepat, tapi juga yang paling mahal. Mengambil bus pasti lebih murah, tapi jauh lebih lambat. Anda memilih algoritma berdasarkan keadaan.

Dalam pemrograman komputer, sering ada banyak cara yang berbeda - algoritma - untuk menyelesaikan tugas yang diberikan. Setiap algoritma memiliki kelebihan dan kekurangan dalam situasi yang berbeda. Penyortiran adalah satu tempat dimana banyak penelitian telah dilakukan, karena komputer menghabiskan banyak waktu untuk menyortir daftar. Berikut adalah lima algoritma berbeda yang digunakan dalam pemilahan:

  • Bin sort
  • Merge sort
  • Bubble sort
  • Shell sort
  • Quicksort

Jika Anda memiliki satu juta nilai integer antara 1 dan 10 dan Anda perlu mengurutkannya, jenis bin adalah algoritma yang tepat untuk digunakan. Jika Anda memiliki sejuta judul buku, quicksort mungkin algoritma terbaik. Dengan mengetahui kekuatan dan kelemahan dari algoritma yang berbeda, Anda memilih yang terbaik untuk tugas yang ada.

source : http://computer.howstuffworks.com

Pai Krim Cokelat

  1. Susu panas, marshmallow dan coklat dalam panci 3 liter dengan api kecil, aduk terus, hingga coklat dan marshmallow dicairkan dan dicampur. Dinginkan sekitar 20 menit, aduk sesekali sampai campuran sedikit gundul saat dijatuhkan dari sendok.

  2. Kocok whipping cream di mangkuk kecil dingin dengan mixer listrik dengan kecepatan tinggi sampai bentuk puncak lembut. Lipat campuran coklat ke whipped cream. Tuangkan ke dalam cangkang pai. Dinginkan tutup sekitar 8 jam atau sampai set. Hiasi dengan ikal coklat susu dan whipped cream.

Petunjuk arah ke John’s House

Dari Quik Mart, Anda harus mengikuti jalan Saddle sejauh empat mil sampai Anda mencapai lampu lalu lintas. Kemudian buat belok kiri di lampu stop. Sekarang kamu akan berada di jalan Hollow. Terus mengemudi di jalan Hollow sejauh satu mil. Anda harus melewati empat balok sampai Anda tiba di kantor pos. Begitu Anda berada di kantor pos, belok kanan ke jalan Jackson. Kemudian tinggal di Jackson sekitar 10 mil. Akhirnya Anda akan melewati peternakan Happy Meadow di sebelah kanan Anda. Tepat setelah Happy Meadow, Anda harus belok kiri ke drive Brickland. Rumahku adalah rumah pertama di sebelah kirimu.

Cara mengganti oli motor anda

  1. Letakkan panci minyak di bawah steker minyak mobil Anda.
  2. Lepaskan steker minyak.
  3. Tiriskan inyak.
  4. Ganti steker oli.
  5. Lepaskan tutup minyak dari mesin.
  6. Tuangkan dalam 4 liter minyak.
  7. Ganti tutup minyak.

Masing-masing contoh ini adalah algoritma, seperangkat instruksi untuk memecahkan masalah. Setelah kita membuat sebuah algoritma, kita tidak perlu lagi memikirkan prinsip-prinsip dasar algoritma. Misalnya, begitu Anda memiliki arahan ke rumah John, Anda tidak perlu melihat peta untuk menentukan kemana harus membuat giliran berikutnya. Kecerdasan yang dibutuhkan untuk menemukan rute yang benar terkandung dalam algoritma. Yang harus Anda lakukan adalah mengikuti petunjuk. Ini berarti bahwa algoritma adalah cara menangkap kecerdasan dan berbagi dengan orang lain. Setelah Anda mengkodekan kecerdasan yang diperlukan untuk memecahkan masalah dalam algoritma, banyak orang dapat menggunakan algoritme Anda tanpa perlu menjadi pakar di bidang tertentu.

Algoritma sangat penting untuk komputer karena komputer adalah mesin tujuan yang benar-benar umum untuk memecahkan masalah. Tapi agar komputer bisa bermanfaat, kita harus memberikannya masalah untuk dipecahkan dan teknik pemecahan masalah. Melalui penggunaan algoritma, kita bisa membuat komputer “cerdas” dengan memprogramnya dengan berbagai algoritma untuk memecahkan masalah. Karena kecepatan dan ketepatannya, komputer sangat sesuai untuk memecahkan masalah yang membosankan seperti mencari nama dalam direktori telepon besar atau menambahkan kolom angka panjang. Namun, kegunaan komputer sebagai mesin pemecahan masalah terbatas karena solusi untuk beberapa masalah tidak dapat dinyatakan dalam algoritma.

Sebagian besar studi tentang ilmu komputer didedikasikan untuk menemukan algoritma yang efisien dan mewakili mereka sehingga dapat dipahami oleh komputer. Selama mempelajari algoritma kami, kami akan membahas apa yang mendefinisikan algoritma, bagaimana merepresentasikan algoritma, dan apa yang membuat algoritme efisien. Sepanjang jalan kita akan menggambarkan konsep-konsep ini dengan memperkenalkan beberapa algoritma untuk pemilahan. Pada akhir pelajaran kami, Anda harus bisa melakukan hal berikut:

  • Tuliskan beberapa algoritma sederhana.
  • Urutkan angka menggunakan tiga algoritma pengurutan dasar.
  • Bandingkan algoritma sorting untuk efisiensi.

Sumber : http://courses.cs.vt.edu/csonline/Algorithms/Lessons/Introduction/index.html

Disini saya akan menjabarkan bagaimana cara algoritma bekerja menggunakan metode Dekker
sebelumnya saya akan menjelaskan apa itu Mutual exclusion dan Busy waiting.

  • Mutual exclusion : Keadaan dimana hanya ada satu prosess yang bisa mengakses critical section dan apabila ada satu proses yang sudah masuk pada critical section maka proses lain tidak bisa masuk.
  • Busy waiting : Dimana proses pemeriksaan berulang kali untuk sebuah kondisi yang artinya “menunggu” kondisi tersebut, namun “sibuk” memeriksanya untuk proses tersebut masuk pada critical section.

Contohnya pada printer, laptop, dan komputer. Dimana hanya ada 1 device yang dapat mengakses printer tidak bisa keduanya. Kedua device tersebut ingin mengakses printer. Namun pada saat tertentu hanya ada satu device yang dapat mengakses printer. Apabila komputer sudah mengakses printer maka laptop tidak dapat mengakses printer untuk sementara waktu.

Pada metode tersebut ada 2 variabel yg dibutuhkan:

  1. Variabel flag(Array of boolean) -> Untuk mempresentasikan masuk ke critical section
  2. Variabel turn(integer) -> Untuk mempresentasikan giliran diproses

Dimisalkan pada p0(proses nol) dan p1(proses satu) yang akan masuk ke critical section. p0 ingin memasuki critical cection, namun terlebih dahulu menanyakan pada p1 apakah ia akan memasuki critical section. Jika YA, maka dia akan bertanya lagi apakah p1 berada giliran nya untuk memasuki critical section apabila YA maka p1 akan memasuki critical section dan p0 akan pada busy waiting. Sebaliknya jika p1 menjawab TIDAK maka yang masuk pada critical section yaitu p0.