Translate

Rabu, 29 Oktober 2014

Pengertian Algoritma



ALGORITMA

**Pengertian Algoritma
Algoritma adalah langkah-langkah yang disusun secara tertulis dan berurutan untuk menyelesaikan suatu masalah.  Sedangkan Algoritma Pemrograman adalah langkah-langkah yang ditulis secara berurutan untuk menyelesaikan masalah pemrograman komputer.
Pada awalnya, algoritma ini dianggap cukup mengatasi masalah tentang pergantian halaman, sampai pada tahun 70-an, Belady menemukan keanehan pada algoritma ini yang dikenal kemudian dengan anomali Belady. Anomali Belady adalah keadaan di mana page fault rate meningkat seiring dengan pertambahan jumlah frame , seperti yang bisa dilihat pada contoh di bawah ini.

Algoritma berbeda dengan Logaritma. Logaritma merupakan operasi Matematika yang merupakan kebalikan dari eksponen atau pemangkatan. Contoh Logaritma seperti bc= a ditulis sebagai blog a = c (b disebut basis).

Contoh nyata Algoritma dalam kehidupan sehari-hari adalah "Cara Membuat Mie Instan". Berikut langkah-langkah cara membuat mie instan:

  1. Ambil goreng di dalam lemari yang terletak di dapur.
  2. Siapkan peralatan yang diperlukan seperti panci, gunting, piring, serta sendok dan garpu.
  3. Masukkan bumbu mie instan pada piring
  4. Hidupkan kompor, kemudian tuangkan air kurang lebih tiga gelas air ke dalam panci kemudian tunggu hingga air mendidih.
  5. Masukkan mie instan ke dalam air mendidih, lalu aduk dan tunggu hingga tiga menit.
  6. Tiriskan air di dalam panci, kemudian tuangkan mie pada piring.
  7. Aduk mie agar bumbu tercampur merata pada mie kemudian sajikan dengan keadaan hangat.
AlGORITME PREMPTIVE DAN NON PREMPTIV











SJF (Shortest Job First)
Pada algoritma ini setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.

Tabel 14.1. Contoh Shortest Job First
Process
Arrival Time
Burst Time
P1
0.0
7
P2
2.0
4
P3
4.0
1
P4
5.0
4

Contoh: Ada 4 buah proses yang datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst time 7 ms, P2 dengan arrival time pada 2.0 ms dan burst time 4 ms, P3 dengan arrival time pada 4.0 ms dan burst time 1 ms, P4 dengan arrival time pada 5.0 ms dan burst time 4 ms. Hitunglah waiting time rata-rata dan turnaround time dari keempat proses tersebut dengan mengunakan algoritma SJF.
Average waiting time rata-rata untuk ketiga proses tersebut adalah sebesar (0 +6+3+7)/4=4 ms.


Average waiting time rata-rata untuk ketiga prses tersebut adalah sebesar (9+1+0+2)/4=3 ms.
Ada beberapa kekurangan dari algoritma ini yaitu:
  1. Susahnya untuk memprediksi burst time proses yang akan dieksekusi selanjutnya.
  2. Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih kecil.
Algoritma ini dapat dibagi menjadi dua bagian yaitu :
  1. Preemptive . Jika ada proses yang sedang dieksekusi oleh CPU dan terdapat proses di ready queue dengan burst time yang lebih kecil daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses yang berada di ready queue tersebut. Preemptive SJF sering disebut juga Shortest-Remaining- Time-First scheduling.
  2. Non-preemptive . CPU tidak memperbolehkan proses yang ada di ready queue untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst time yang lebih kecil.

Algoritma Penjadwalan
Algoritma – algoritma yang menerapkan strategi nonpreemptive :
  1. FIFO ( First-in, First-out ).
  • SJF ( Shortest Job First ).
  • HRN ( Highest Ratio Next ).
  • MFQ ( Multiple Feedback Queues).


Algortima – algoritma yang menerapkan strategi preemptive :
  • RR ( Round-Robin ).
  • SRF ( Shortest-Remaining-First ).
  • PS ( Priority Schedulling ).
  • GS ( Guaranteed Schedulling ).
Penjadwalan Round Robin (RR)
Penjadwalan preemptive , bukan di- preempt oleh proses lain tapi terutama oleh penjadwal berdasarkan waktu berjalannya proses, disebut preempt-by-time. Penjadwalan tanpa prioritas.
Penjadwalan FIFO ( First In First Out )
Penjadwalan non-preemptive (run to completion). Penjadwalan tidak berprioritas.
Penjadwalan Berprioritas (PS)
Ide penjadwalan adalah tipa proses diberi prioritas dan proses berprioritas tertinggi running (mendapat jatah waktu pemroses). Prioritas dapat diberikan secara :
  • Prioritas statis ( static priorities ).
  • Prioritas dinamis (dynamic priorities ) .
  • Prioritas Statis
  • Prioritas statis berarti prioritas tak berubah.
  • Prioritas Dinamis
Penjadwalan dengan Banyak Antrian (MFQ) : Penjadwalan preemptive (by time ). Penjadwalan berprioritas dinamis.
Penjadwalan Sisa Waktu Terpendek, Duluan ( SRF ) Penjadwalan ini merupakan : Penjadwalan preemptive  dan Penjadwalan berprioritas dinamis
Penjadwalan Rasio Tanggapan Tertinggi, Duluan (HRN) Penjadwalan ini merupakan : Penjadwalan non-preemptive Penjadwalan berprioritas dinamis.
Penjadwalan Terjamin ( GS ) Penjadwalan ini merupakan : Penjadwalan preemptive menjadwalan berprioritas dinamis.
Penjadwalan  Earliest Deadline First (EDP) : Variasi yang diterpakan pada Sistem Waktu Nyata Karena sistem waktu nyata sering mempunyai deadline absolut, maka penjadwalan dapat berdasarkan deadline. Proses yang dijalankan yang mempunyai deadline terdekat. Proses yang lebih dalam bahaya kehilangan deadline dijalankan lebih dulu. Proses yang harus berakhir 10 detik lagi mendapat prioritas di atas proses yang harus berakhir 10 menit lagi.


Sumber :

Tidak ada komentar:

Posting Komentar