Selasa, 16 Juni 2020

Perkembangan Ancaman Sistem Keamanan Terkini


Sistem keamanan komputer merupakan sebuah upaya yang dilakukan untuk mengamankan kinerja,fungsi atau proses komputer. sistem keamanan komputer juga berguna untuk menjaga komputer dari para hacker (penjahat dunia maya). Tetapi layaknya seperti gembok kunci dalam rumah yang menjaga rumah dari parah maling untuk masuk. Tetapi sebaik apapun sistem keamanan rumah anda pasti ada cara untuk masuk kedalam rumah anda. Dan mengapa dibutuhkannya sistem keamanan komputer karena meningkatnya perkembangan teknologi dalam jaringan.
Fungsi sistem keamanan komputer adalah untuk menjaga sumer daya sistem agar tidak digunakan, modfikasi, interupsi, dan diganggu oleh orang lain. Keamanan bisa diindentifikasikan dalam masalah teknis, manajerial, legalitas, dan politis.
Keamanan komputer adalah suatu cabang teknologi yang dikenal dengan nama keamanan informasi yang diterapkan pada komputer. Sasaran keamanan komputer antara lain adalah sebagai perlindungan informasi terhadap pencurian atau korupsi, atau pemeliharaan ketersediaan, seperti dijabarkan dalam kebijakan keamanan.
Keamanan komputer memberikan persyaratan terhadap komputer untuk membentuk pembatasan  apa  yang  tidak  boleh dilakukan oleh komputer.  Karena pembatasan terancang akan menyulitkan komputer bekerja secara maksimal. Tetapi dengan persyaratan yang menyulitkan sistem akan terciptanya suatu strategi teknis yang
menjaga kinerja sistem komputer

Pendekatan yang umum dilakukan untuk meningkatkan keamanan komputer antara lain yaitu:
1.      Membatasi akses fisik terhadap komputer,
2.      Menerapkan mekanisme pada perangkat keras dan
3.      Sistem operasi untuk keamanan komputer, serta
4.      Membuat strategi pemrograman untuk menghasilkan program komputer yang dapat diandalkan.

 Kemanan Sistem
Ada tiga macam keamanan sistem, yaitu :
1.      Keamanan eksternal / external security
Berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana seperti kebakaran /kebanjiran.
2.      Keamanan interface pemakai / user interface security
Berkaitan dengan indentifikasi pemakai sebelum pemakai diijinkan mengakses program dan data yang disimpan.
3.      Keamanan internal / internal security
Berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan sistem operasi yang menjamin operasi yang handal dan tak terkorupsi untuk menjaga integritas program dan data.

Dari macam keamanan sistem ada hal yang perlu untuk diperhatikan dalam menjaga keamanan komputer. Di bawah ini adalah dua masalah penting yang harus diperhatikan dalam keamanan komputer :

1.      Kehilangan data / data loss
Masalah data loss bisa disebabkan oleh :
a.       Bencana
b.      Kesalahan perangkat lunak dan perangkat keras c. Kesalahan manusia / human error

2.      Penyusup / intruder
Penyusup bisa dikategorikan kedalam dua jenis :
a.       Penyusup pasif yaitu membaca data yang tidak terotorisasi ( tidak berhak mengakses)
b.      Penyusup aktif yaitu mengubah susunan sistem data yang tidak terotorisasi.

Selain itu ancaman lain terhadap sistem keamanan komputer bisa dikategorikan dalam empat macam :
1.      Interupsi / interuption
Sumber daya sistem komputer dihancurkan menjadi tak berguna. Contohnya penghancuran harddisk atau pemotongan kabel. Ini merupakan ancaman terhadap ketersediaan.
2.      Intersepsi / interception
Orang yang tak diotorisasi dapat masuk / mengakses ke sumber daya sistem. Contohnya menyalin file yang terotorisasi. Ini merupakan ancaman terhadap kerahasiaan.
3.      Modifikasi / modification
Orang yang tak diotorisasi tidak hanya dapat mengakses tapi juga mengubah, merusak sumber daya. Contohnya mengubah isi pesan, atau mengacak program. Ini merupakan ancaman terhadap integritas
4.      Fabrikasi / fabrication
Orang yang tak diotorisasi menyisipkan objek palsu ke dalam sistem. Contohnya memasukkan pesan palsu, menambah data palsu.

Dari kategori yang ada diatas dan jika dikaitkan dalam kehidupan sehari-hari pasti kita akan menemukan masalah dalam komputer.

Beberapa Jenis Ancaman dan Cara Mengatasinya
a.       Virus
Virus komputer adalah Aplikasi atau program pada komputer yang bisa  merusak program suatu komputer  atau pun  juga  dapat merusak data  dokumen yang terdapat  pada komputer, virus komputer membuat pengguna komputer merasa terganggu atau pun tidak menimbulkan pengaruh apa pun. Virus komputer tidak jauh berbeda dengan virus biologi yang menyebar dengan cara menyisipkan diri sendiri ke sel suatu mahluk hidup yang menjadi sasarannya. dan cara kerja Virus komputer menggandakan atau menyalin dirinya sendiri dan menyebar dengan cara menyisipkan salinan dirinya ke dalam program atau dokumen lain. Suatu Virus pada komputer pada umumnya bisa merusak Software atau perangkat lunak komputer dan tidak secara langsung merusak perangkat keras komputer, virus komputer  dapat  merusak  perangkat  keras  suatu  komputer  dengan  cara  memuat program pada komputer untuk memaksa over process ke perangkat tertentu misalnya VGA, Memory, hardisc atau pun bahkan Procesor. Pengaruh buruk dari virus komputer yang paling utama adalah virus yang selalu memperbanyak diri sendiri, yang dapat membuat sumber daya pada komputer, misalnya pada penggunaan memori, menjadi berkurang. Hampir sembilan puluh lima persen Virus adalah menyerang pada sistem operasi yang berbasis Windows. Sisanya, yaitu dua persen virus menyerang pada sistem operasi Linux / GNU dengan versi kernel dibawah 1.4 (dan Unix, sebagai source dari Linux, tentunya), satu persen menyerang Mac terutama Mac OS 9, Mac OS X (Tiger, Leopard). dua persen lagi menyerang sistim operasi lain seperti FreeBSD, OS/2 IBM, dan Sun Operating System.

Sebelum komputer kita terserang virus ada baiknya sedikit banyak kita mengetahui jenis-jenis virus komputer. Seperti yang kami kutip dari berbagai sumber, di sini kami akan membagi sedekit ilmu kami dengan anda semua. Macam-macam virus:

Virus Compiler, virus yang sudah di compile sehingga dapat dieksekusi langsung. Ini adalah virus yang pertama kali muncul di dunia komputer, dan mengalami perkembangan pesat sekarang. Virs pertama ini sangatlah sulit dibasmi karena dibuat dengan bahasa rendah, assembler. Memang bahasa ini cocok untuk membuat virus namun sangatlah susah menggunakannya. Keunggulan dari virus ini adalah mampu melakukan hampir seluruh manipulasi yang mana hal ini tidak selalu dapat dilakukan oleh virus jenis lain karena lebih terbatas.

Virus Bagle BC, virus ini ini termasuk salah satu jenis virus yang berbahaya dan telah masuk peringkat atas jenis virus yang paling cepat mempengaruhi komputer kita. Beberapa jam sejak keluarnya virus ini, sudah terdapat 2 buah varian Bagle ( Bagle BD dan BE )yang menyebar melalui e-mail, jaringan komputer dan aplikasi P2P. Virus ini menyebar melalui e-mail dengan berbagai subyek berbeda. Menurut suatu penelitian dari Panda Software virus Bagle BC ini menyusup ke dalam e-mail dengan subyek antara lain : Re:, Re:Hello, Re:Hi, Re:Thank you, Re:Thanks. Attachment-nya juga bermacam-macam, antara lain : .com, .cpl, .exe, .scr. Virus Bagle BC juga mampu untuk menghentikan kerja program-program antivirus.

Virus   File,     adalah  virus    yang    memanfaatkan file       yang    dapat diijalankan/dieksekusi secara langsung. Biasanya file *.EXE atau *.COM. Tapi bisa juga menginfeksi file *.SYS, *.DRV, *.BIN, *.OVL dan *.OVY. Jenis Virus ini dapat berpindah dari satu media ke semua jenis media penyimpanan dan menyebar dalam sebuah jaringan.

Virus Sistem, atau lebih dikenal sebagai virus Boot. Kenapa begitu karena virus ini memanfaatkan file-file yang dipakai untuk membuat suatu sistem komputer. Sering terdapat di disket/tempat penyimpanan tanpa sepengetahuan kita. Saat akan menggunakan komputer(restart), maka virus ini akan menginfeksi Master Boot Sector dan System Boot Sector jika disket yang terinfeksi ada di drive disket/tempat penyimpanan.

Virus Boot Sector, virus yang memanfaatkan hubungan antar komputer dan tempat penyimpanan untuk penyebaran virus.Apabila pada boot sector terdapat suatu program yang mampu menyebarkan diri dan mampu tinggal di memory selama komputer bekerja, maka program tersebut dapat disebut virus. Virus boot sector terbagi dua yaitu virus yang menyerang disket dan virus yang menyerang disket dan tabel partisi.

Virus Dropper, suatu program yang dimodifikasi untuk menginstal sebuah virus komputer yang menjadi target serangan. setelah terinstal, maka virus akan menyebar tetapi Dropper tidak ikut menyebar. Dropper bisa berupa nama file seperti  Readme.exe  atau  melalui  Command.com  yang  menjadi  aktif  ketika program berjalan. Satu program Dropper bisa terdapat beberapa jenis Virus.

Virus Script/Batch, awalnya virus ini terkenal dengan nama virus batch seperti yang dulu terdapat di file batch yang ada di DOS.Virus script biasanya sering didapat dari Internet karena kelebihannya yang fleksibel dan bisa berjalan pada saat kita bermain internet, virus jenis ini biasanya menumpang pada file HTML (Hype Text Markup Language) dibuat dengan menggunakan fasilitas script seperti Javascript, VBscript,4 maupun gabungan antara script yang mengaktifkan program Active-X dari Microsoft Internet Explorer.

Virus Macro, virus yang dibuat dengan memanfaatkan fasilitas pemrograman modular pada suatu program aplikasi seperti Ms Word, Ms Excel, Corel WordPerfect dan sebagainya. Walaupun virus ini terdapat didalam aplikasi tertentu tetapi bahaya yang ditimbulkan tidak kalah berbahanya dari virus-virus yang lain.

Virus Polymorphic, dapat dikatakan virus cerdas karena virus dapat mengubah strukturnya setelah melaksanakan tugas sehingga sulit dideteksi oleh Antivirus.

 Virus Stealth, virus ini menggunakan cara cerdik, yakni dengan memodifikasi struktur file untuk meyembunyikan kode program tambahan di dalamnya. Kode ini memungkinkan virus ini dapat menyembunyika diri. Semua jenis virus lain juga memanfaatkan kode ini. Ukuran-ukuran file tidak berubah setelah virus menginfeksi file.

Virus Companion, virus jenis ini mencari file *.EXE untuk membuat sebuah file*.COM dan menyalin untuk meletakkan virus. Alasannya, file *.COM berjalan sebelum file *.EXE. Virus bisa menjadi salah satu ancaman yang berbahaya bagi komputer anda. Oleh karena itu peranan antivirus menjadi salah satu kunci untuk mengatasi masalah virus. Rekomendasi saya adalah untuk membeli antivirus yang asli , walaupun harus mengeluarkan harga yang mahal namun keamanan anda terjamin. Contoh antivirus AVG, Avira, Norton Antivirus, Kaspersky , dll.

Selain itu ada beberapa hal yang perlu anda lakukan untuk keamanan komputer anda dari virus.
1.      Aktifkan shield dan auto scanner email anti virus
2.      Aktifkan auto update antivirus setiap saat via jalur Internet
3.      Secara periodik aktifkan scan komputer terhadap potensi virus.

b.      Spyware
Spyware adalah program yang dapat merekam secara rahasia segala aktivitas online anda, seperti merekam cookies atau registry. Data yang sudah terekam akan dikirim atau dijual kepada perusahaan atau perorangan yang akan mengirim iklan atau menyebarkan virus.
Penyebaran spyware sering tidak terdeteksi dari awal. Biasa datang dari software bajakan  yang banyak  dijual, software gratis hasil proses download,  atau  dari situs-situs penyedia jasa file-sharing, seperti Kazaa, Limewire, atau Morpheus. Disamping itu spyware juga bisa tersebar dari situs-situs yang menyediakan screensaver untuk di-download gratis, widgets, dan situs-situs porno. Merusak sistem operasi program yang terinstal di dalam komputer anda. Apabila anda pernah membuang (uninstall) sebuah program, lalu ketika anda cek kembali di control panel, program itu masih ada atau bahkan ada program baru yang belum pernah anda instal sebelumnya, maka curigailah hal ini sebagai akibat spyware. Efek selanjutnya hampir sama  dengan  yang  terjadi  apabila  komputer  anda   terinfeksi malware, bahkan serangan spyware yang terberat bisa berakibat fatal (system crashed).

Cara mengetasinya :
·         Scan komputer anda secara rutin dengan anti-spyware program dan anti-virus yang terkini (update).
·         Lengkapi browser anda dengan fitur-fitur keamanan yang tersedia.
·         Sebaiknya aktifkan auto-update semua program yang anda miliki.
·         Jangan sekali-kali klik OK atau SUBMIT/CANCEL pada pop-up windows yang muncul, langsung tutup saja dengan tombol Close. Karena sekali anda melakukan ini, maka akan muncul beberapa pop-up windows lainnya secara bertubi-tubi.

c.       Phising
Dikenal juga sebagai ‘Brand spoofing’ atau ‘Carding’ adalah sebuah bentuk ‘layanan’ yang menipu anda dengan menjanjikan keabsahan dan keamanan transfer data yang anda lakukan. Phising menyerang melalui  email,  pesan-pesan  yang terdisplay di jendela peringatan (pop-up windows), atau situs-situs milik pemerintah/organisasi/institusi resmi.
Pelaku phising akan meminta anda memasukkan data-data rahasia pribadi anda, seperti informasi account bank anda, atau mereka akan meminta update aplikasi yang pernah anda install, validasi dan konfirmasi account, dsb. Karakterisitik phising yang utama dan mudah dikenali adalah ‘update’ dengan alasan hal ini (konfirmasi ulang/re- registered) perlu dilakukan karena proses konfirmasi/pendaftaran sebelumnya telah gagal. Selain bahaya spam (informasi yang tidak penting dan mengganggu yang muncul berulang-ulang), phising tidak mempengaruhi sistem operasi pada komputer anda.
Namun  efek  yang  lebih  serius  dan  sangat  berbahaya  adalah  kehilangan  akses kepemilikan pribadi. Seperti uang yang anda simpan di bank, tagihan kartu kredit yang tidak seperti biasanya, atau bahkan anda diharuskan membayar beberapa tagihan sekaligus dan belum pernah anda lihat sebelumnya.

Cara mengatasinya :
·         Abaikan semua email atau instant message (chat) yang datang dari orang yang tidak anda kenal.
·         Jangan pernah membuka attachments email yang datangnya dari orang yang tak dikenal.
·         Lindungi password anda dan simpanlah dengan aman.
·         Jangan memberikan informasi-informasi penting, seperti: nomor telepon melalui email, kecuali anda mengetahui dengan pasti siapa yang ada diujung sebelah sana.
·         Cek keamanan situs yang anda kunjungi sebelum mengirimkan informasi-informasi penting kepada mereka.
·         Perhatikan alamat situs (URL) yang ada di address bar browser anda, jika mencurigakan sebaiknya jangan diteruskan.
·         Instal software anti-virus, aktifkan firewalls, dan filter email.
·         Update browser yang sering anda gunakan dan install plug-in security yang direkomendasikan.

d.      Ransomware
Ransomware adalah bentuk malware yang lebih jahat, di mana kriminal cyber bisa menguasai semua data user, memanfaatkannya untuk mencari keuntungan. Salah satunya adalah menguasai data sensitive korban untuk dijadikan korban pemerasan.

Berikut ada beberapa langkah yang bisa dilakukan untuk mencegah perangkat mobil menjadi korban ransomware:
·         Pastikan perangkat mobile Anda disertai program antivirus. Memang antivirus yang baik harganya mahal, tapi cukup ampuh untuk mengamankan data-data Anda.
·         Biasakan lakukan back-up semua data Anda. Jaga-jaga jika penjahat kriminal mencuri data Anda dan menghapusnya secara remot.
·         Jangan unduh data dari sumber yang tidak jelas dan tidak terpercaya. Sebab bisa jadi itu jebakan para penyebar malware.
·         Hindari mengklik sembarang web, walau itu sangat menggoda.
·         Sebisa mungkin jangan lakukan jailbreak pada iPhone, iPad atau iPod Touch Anda, sebab tidak dilengkapi dengan fitur keamanan dari Apple.
·         Jika menyadari Anda sudah jadi korban ransomware, jangan panik. Coba pakai scan antivirus untuk menghapus virus tersebut untuk meminimalisir efek dengan mengkarantinanya.
·         Jangan menghubungkan perangkat mobile yang sudah terkena virus ke PC atau laptop Anda. Sebab hanya akan menyebarkan virus ke sana.
·         Serahkan pada ahli keamanan komputer untuk menanganinya. Setiap perangkat punya  konsultan  untuk  itu.  Ini  adalah  langkah  terbaik  daripada  Anda  harus berusaha menyelesaikannya sendiri, namun justru akan memperburuk keadaan.

Sabtu, 28 Maret 2020

PENJADWALAN PROSES

Penjadwalan Proses adalah kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
Tugas Penjadwalan yaitu :
1)      Memutuskan proses yang harus berjalan
2)      Memutuskan kapan dan selama berapa lama proses berjalan

Sasaran Utama Penjadwalan Proses
            Sasaran utama penjadwalan proses adalah optimasi kinerja sistem computer menurut kriteria tertentu. Kriteria untuk mengukur dan optimasi kinerja penjadwalan yaitu :
1)      Adil (Fairness)
      Adil adalah proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation. Starvation adalah kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan. Sasaran penjadwalan seharusnya menjamin setiap proses mendapat pelayanan dari pemroses secara adil.
2)      Efisiensi
      Efisiensi atau utilisasi pemroses yang dihitung dengan perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi system computer secara keseluruhan. Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi system computer mencapai nilai maksimum. Keadaan sibuk berarti pemroses tidak menganggur. Layanan pemroses termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan layanan system operasi secara efektif, bukan melakukan penjadwalan itu sendiri.
3)      Waktu Tanggap (Response Time)
·         System interaktif
           Waktu tanggap (terminal response time) dalam system interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah oleh program atau transaksi sampai hasil pertama muncul di perangkat masukan keluaran seperti layar (terminal).
·         System waktu nyata
           Pada system waktu nyata (real-time), waktu tanggap didefinisikan sebagai waktu dari saat kemunculan suatu kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan terhadap kejadian dieksekusi. Waktu untuk system nyata biasa disebut event response time. Sasaran penjadwalan adalah meminimalkan waktu tanggap sehingga menghasilkan system yang reponsif.
4)      Turn Arround Time
      Turn Arround time adalah waktu yang dihabiskan dari saat proses atau job mulai masuk ke system sampai proses itu diselesaikan system. Waktu yang dimaksud adalah waktu yang dihabiskan proses berada di system, diekspresikan sebagai penjumlahan waktu eksekusi (waktu pelayanan proses/job) dan waktu  menunggu dari proses itu, yaitu: Turn Arround time = waktu eksekusi + waktu menunggu. Sasaran penjadwalan adalah menimbulkan turn arround time
5)      Throughput
      Throughput adalah jumlah kerja yang dapat diselesaikan selama satu selang/unit waktu. Cara untuk mengekspresikan troughput adalah dengan jumlah proses/job pemakai yang dapat dieksekusi dalam satu unit/interval waktu tertentu. Sasaran penjadwalan adalah memaksimalkan jumlah job/proses yang dilayani per satu interval waktu. Lebih tinggi angka troughput maka lebih banyak kerja yang dilakukan system.

Tipe – Tipe Penjadwalan


            Terdapat 3 tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
1)      Penjadwal jangka pendek (short-term scheduller).

      Penjadwalan jangka pendek bertugas menjadwalkan alokasi pemroses di antara proses-proses Ready yang berada di memori utama. sasaran utama penjadwal jangka pendek adalah memaksimumkan kinerja sistem untuk memenuhi satu kumpulan kriteria yang diharapkan. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

2)      Penjadwal jangka menengah (medium-term scheduller).
      Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses yang tertunda tidak dapat membuat suatu kemajuan untuk menuju selesai sampai ondisi yang menyebabkannya hilang. Agar ruang memori dapat bermanfaat maka proses dipindah dari memori utama ke memori sekunder sehingga tersedia ruang yang lebih besar untuk proses yang lain. Kapasitas memori utama terbatas untuk sejumlah proses yang aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Penjadwal jangka menengah bertugas menangani proses swapping . Proses yang mempunyai kepentingan kecil saat itu adalah proses yang tertunda. Tetapi begitu kondii yang membuat proses tertunda hilang dan proses dimasukkan kembali ke memori utama dan Ready. Penjadwal jangka menengah mengendalikan transisi dari suspended ke ready (dari state suspend ke Ready dari proses yang mengalami swapping). 

3)      Penjadwal jangka panjang (long-term scheduller)
     Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi sistem. Batch biasanya berupa proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program ini mempunyai prioritas yang rendah, dan biasa digunakan sebagai pengisi (agar pemroses sibu) selama periode aktivitas proses-proses interaktif rendah. Sasaran utama penjadwal jangka panjang adalah memberi keseimbangan proses-proses campuran.

Strategi Penjadwalan
Dalam Strategi penjadwalan,  terdapat 2 strategi penjadwalan yaitu :
1)      Penjadwalan Nonpreemptive (run-to-completion)
      Begitu proses diberi jatah layanan pemroses aka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai. Non-preemptive juga disebut run-to-completion karena proses yang telah dijadwalkan akan dijalankan sampai selesainya atau proses tersebut meminta layanan masukan/keluaran.
2)      Penjadwalan Preemptive
      Saat proses diberi jatah layanan pemroses maka pemroses dapat diambil alih proses lain yang mempunyai prioritas lebih tinggi berdasarkan kriteria sistem itu. Pada penjadwalan preemptive, proses dapat disela oleh proses lain sebelumnya selesainya dan harus dilanjutkan menunggu jatah waktu layanan pemroses tiba kembali pada proses itu. Proses yang disela berubah menjadi state Ready.
      Penjadwalan preemptive berguna pada sistem yakni proses-proses yang perlu mendapat perhatian/ tanggapan pemroses secara cepat. Misalnya :
·         Pada sistem-sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal
·   Pada sistem-sistem interatif timesharing, penjadwalan preemptive penting agar dapat menjamin waktu tanggap yang memadai.
      Peralihan proses (yaitu layanan pemroses dari satu proses beralih ke proses lain) memerlukan overhead (karena banya tabel yang dikelola). Agar penjadwalan preemptive menjadi efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera Running begitu diperlukan. Menyimpan banyak proses yang tidak Running di memori utama merupakan suatu overhead tersendiri.

Algoritma - Algoritma Penjadwalan Proses
            Terdapat banyak algoritma penjadwalan, baik algoritma penjadwalan nonpreemptive maupun penjadwalan preemptive.
·         Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya :
1)      FIFO (First-In, First-Out) atau FCFS (First-Come, First-Serve)
2)      SJF (Shortest Job First)
·         Algoritma-algoritma yang menerapkan strategi preemptive diantaranya :
1)      RR (Round-Robin)
2)      MFQ (Multiple Feedback Queues)
3)      SRF (Shortest-Remaining-First)
4)      HRN (Highest-Remaining-Next)
5)      PS (Priority Schedulling)
6)      GS (Guaranteed Schedulling)
Klasifikasi lain selain berdasarkan dapat/tidaknya suatu proses diambil alih secara paksa adalah klasifikasi yang berdasarkan adanya prioritas diproses-proses, yaitu :
1.      Algoritma penjadwalan tanpa berprioritas
2.      Algoritma penjadwalan berprioritas, terdiri dari :
·         Algoritma penjadwalan berprioritas statis
·         Algoritma penjadwalan berprioritas dinamis
Algoritma-Algoritma Penjadwalan Proses
1.      Penjadwalan Round-Robin (RR)
      Penjadwalan Round Robin merupakan Penjadwalan Preemptive, namun proses tidak di-preempt secara langsung oleh proses lain, namun oleh penjadwal berdasarkan lama waktu berjalannya suatu proses. Maka penjadwalan ini disebut preempt-by-time dan Penjadwalan tanpa prioritas.
      Semua proses dianggap penting dan diberi jumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice tempat proses tsb berjalan. Proses berjalan selama 1 kwanta, kemudian penjadwal akan mengalihkan kepada proses berikutnya juga untuk berjalan satu kwanta, begitu seterusnya sampai kembali pada proses pertama dan berulang.
Ketentuan algoritma round robin adalah sbb :
a.       Jika kwanta habis dan proses belum selesai maka proses Runing menjadi Ready dan pemroses dialihkan ke proses lain
b.      Jika kwanta belum habis dan proses menunggu suatu kejadian (misalnya menunggu selesainya suatu operasi I/O), maka proses Running menjadi Blocked dan pemroses dialihkan ke proses lain.
c.       Jika kwanta belum habis tapi proses telah selesai maka proses Running itu diakhiri dan pemroses dialihkan ke proses lain
Algoritma penjadwalan ini dapat diimplementasi sbb :
a.       Sistem mengelola senarai proses Ready sesuai urutan kedatangannya
b.      Sistem mengambil proses yang berada di ujung depan antrian Ready menjadi Running
c.       Bila kwanta belum habis dan proses selesai maka sistem mengambil proses di ujung depan antrian proses Ready
d.      Jika kwanta habis dan proses belum selesai maka ditempatkan proses Running ke ekor antrian proses Ready dan sistem mengambil proses di ujung depan antrian proses Ready
Masalah penjadwalan ini adalah dalam hal menentukan besar kwanta, yaitu :
a.       Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah
b.      Kwanta terlalu kecil mengakibatkan peralihan proses terlalu banyak sehingga menurunkan efisiensi pemroses
Harus diterapkan besar kwanta waktu yang optimal berdasarkan kebutuhan sistem, terutama dari hasil percobaan atau data historis dari sistem. Besar kwanta waktu beragam yang bergantung beban sistem.
Berdasarkan kriteria penilaian penjadwalan :
a.       Fairness, penjadwalan RR adil bila dipandang dari persamaan pelayanan oleh pemroses
b.      Efisiensi, penjadwalan ini cenderung efisien pada sistem interatif
c.       Respons Time(waktu tanggap), penjadwalan ini memuaskan untuk sistem interaktif, tidak memadai untuk sistem waktu nyata.Turn arround Time, penjadwalan RR cukup bagus
d.      Throughput, penjadwlan RR cukup bagus

2.      Penjadwalan FIFO (FIFO)
      Penjadwalan FIFO merupakan Penjadwalan non preemptive (run-to-completion) dan Penjadwalan tidak berprioritas. Penjadwal FIFO adalah penjadwalan dengan ketentuan-ketentuan paling sederhana, yaitu :
·         Proses-proses diberi jatah waktu pemroses diurutkan berdasarkan waktu kedatangan proses-proses itu ke sistem.
·         Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai
      Penjadwalan ini dikatakan adil dalam arti resmi, tapi dikatakan tidak adil karena proses yang memerlukan waktu lama membuat proses pendek menunggu. Proses tidak penting dapat membuat proses penting menjadi menunggu. FIFO jarang digunakan secara mandiri tapi dikombinasikan dengan skema lain, misalnya keputusan berdasarkan prioritas proses, sedangkan untuk proses berprioritas sama diputuskan berdasarkan FIFO.
Berdasarkan kriteria penilaian penjadwalan :
a.       Fairness, penjadwalan FIFO adil dalam arti resmi
b.      Efisiensi, FIFO sangat efisien dalam penggunaan pemroses
c.       Waktu tanggap, penjadwalan sangat tidak memuaskan karena proses dapat menunggu lama. Tidak cocok untuk sistem interaktifTurn arround time, penjadwalan FIFO tidak bagus
d.      Throughput, penjadwalan FIFO tidak bagus.

3.      Penjadwalan Berprioritas (PS)
      Gagasan penjadwalan adalah masing-masing proses diberi prioritas dan proses berprioritas tertinggi menjadi Running (yaitu mendapat jatah waktu pemroses).
Prioritas dapat diberikan secara :
a.       Prioritas statis (static priorities), prioritas tak berubah.
·         keunggulan : Mudah diimplementasikan dan mempunyai overhead relatif kecil.
·         kelemahan : penjadwalan prioritas statis tidak tanggap perubahan lingkungan yang mungkin menghendaki penyesuaian prioritas.
b.      Prioritas dinamis (dynamic priorities)
           Mekanisme menanggapi perubahan lingkungan sistem saat beroperasi di lingkungan nyata. Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek. Dalam hal ini sistem dapat menyesuaikan nilai prioritasnya ke nilai yang lebih tepat sesuai lingkungan.
·         keunggulan : waktu tanggap sistem yang bagus
·         kelemahan : implementsi mekanisme prioritas dinamis lebih kompleks dan mempunyai overhead yang lebih besar dibanding mekanisme prioritas statik.
           Algoritma ini dituntun oleh keputusan untuk memenuhi kebijaksanaan tertentu yang menjadi tujuan sistem komputer. Algoritma sederhana yang memberi layanan yang baik adalah dengan menge-set proses dengan prioritas berdasarkan rumus nilai 1/f bahwa f adalah rasio kwanta terakhir yang digunakan proses.
·         Proses yang menggunakan 2 milidetik, kwanta 100 ms maka prioritasnya 50
·         Proses yang berjalan selama 50 milidetik sebelum Blocked berprioritas 2
·         Proses yang menggunakan seluruh kwanta berprioritas 1
           Kebijaksanaan yang diterapkan adalah jaminan proses-proses mendapat layanan yang adil dari pemroses dalam arti jumlah waktu pemroses yang sama untuk masing-masing pemroses pada satu waktu.
Biasanya memenuhi kebijaksanaan yang ingin mencapai level maksimal berdasarkan suatu kriteria tertentu di sistem. Algoritma penjadwalan berprioritas dapat dikombinasikan yaitu dengan mengelompokkan proses-proses menjadi kelas-kelas prioritas. Penjadwalan berprioritas diterapkan antar kelas- kelas proses itu. Penjadwalan round-robin atau penjadwalan FIFO diterapkan pada proses-proses di dalam satu kelas.


4.      Penjadwalan yang Terpendek yang Lebih Dahulu (SJF)
      Penjadwalan SJF ini merupakan Penjadwalan non preemptive dan Penjadwalan dapat dikatakan sebagai berprioritas. Di SJF, prioritas diasosiasikan dengan masing-masing proses dan pemproses dialokasikan ke proses dengan prioritas tertinggi. Proses-proses dengan prioritas yang sama akan dijadwalkan secara FIFO.
      Penjadwalan ini mengasumsikan waktu jalan proses (sampai selesai) atau waktu lamanya proses diketahui sebelumnya. Mekanisme penjadwlan SJF adalah lebih dulu menjadwalkan proses dengan waktu jalan terpendek sampai selesai. Setelah proses itu selesai, maka proses dengan waktu jalan terpendek berikutnya dijadwalkan. Demikian seterusnya. Keunggulan : penjadwalan SJF mempunyai efisiensi tinggi dan turn arround time rendah.

5.      Penjadwalan dengan Banyak Antrian (MFQ)
      Penjadwalan MFQ ini merupakan Penjadwalan preemptive dan Penjadwalan berprioritas dinamis. Sasaran penjadwalan ini adalah untuk mencegah banyaknya aktivitas swapping. Cara yang dilakukan adalah dengan :
·         Proses-proses yang sangat banyak menggunakan pemroses (karena menyelesaikan tugasnya memakan waktu yang lama) diberi jatah waktu (jumlah kwanta) lebih banyak dalam satu waktu.
·         Penjadwalan ini menghendaki kelas prioritas bagi proses-proses yang ada. Kelas tertinggi berjalan selama satu kwanta, kelas berikutnya berjalan selama dua kwanta, kelas berikutnya lagi berjalan empat kwanta, kelas berikutnya-berikutnya lagi berjalan delapan kwanta dan seterusnya.
Ketentuan yang berlaku adalah sebagai berikut :
·         Jalankan proses-proses yang berada pada kelas prioritas tertinggi
·        Jika proses telah menggunakan seluruh kwanta yang dialokasikan maka proses itu diturunkan kelas prioritasnya
·         Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi

6.      Penjadwalan dengan Sisa Waktu Terpendek, Lebih Dahulu (SRF)
      Penjadwalan ini merupakan Penjadwalan Preemptive dan Penjadwalan berprioritas dinamis. Penjadwalan SRF merupakan perbaikan dari SJF, SJF merupakan penjadwalan nonpreemptive sedang SRF adalah preemptive yang dapat digunakan untuk sistem timesharing. Pada SRF, proses dengan sisa waktu jalan diestimasi terendah dijalankan, termasuk proses-proses yang baru tiba.
Perbedaan SRF dengan SJF yaitu :
·         Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai
·         Pada SRF proses yang sedang berjalan (Running) dapat diambil alih oleh proses baru dengan sisa waktu jalan yang diestimasi lebih rendah
·         SRF mempunyai overhead yang lebih besar dibanding SJF. SRF memerlukan penyimpanan waktu layanan yang telah dihabiskan proses dan kadang-kadang harus menangani peralihan.
·         Tibanya proses-proses kecil akan segera dijalankan
·         Proses-proses lebih lama berarti dengan lama dan variasi waktu tunggu lebih lama dibanding dengan SJF.
·     Secara teoretis, SRF memberi waktu tunggu minimum tapi karena adanya overhead peralihan, maka pada situasi tertentu SJF bisa memberi kinerja yang lebih baik dibanding SRF.

7.      Penjadwalan Rasio Tanggapan Tertinggi, Lebih Dahulu(HRN)
      Penjadwalan HRN ini merupakan Penjadwalan non preemptive dan Penjadwalan berprioritas dinamis. Penjadwalan ini juga untuk mengkoreksi kelemahan SJF. HRN adalah strategi penjadwalan non preemptive dengan prioritas proses tidak hanya merupakan fungsi dari waktu layanan, tapi juga jumlah waktu tunggu proses. Prioritas dinamis HRN dihitung berdasarkan rumus berikut : Prioritas = (waktu tunggu + waktu layanan) / waktu layanan
      Karena waktu layanan muncul sebagai pembagi maka proses yang lebih pendek mempunyai prioritas yang lebih baik. Karena waktu tunggu sebagai pembilang maka proses yang telah menunggu lebih lama juga mempunyai kesempatan lebih bagus untuk memperoleh layanan pemroses. Disebut HRN (High respons next) karena waktu tanggap adalah (waktu tunggu + waktu layanan). Ketentuan HRN berarti agar memperoleh waktu tanggap tertinggi yang harus dilayani.

8.      Penjadwalan Terjamin (GS)
      Penjadwal GS ini adalah Penjadwalan preemptive dan Penjadwalan berprioritas dinamis. Penjadwalan ini berupaya memberi masing-masing pemakai daya pemroses yang sama. Jika terdapat N pemakai maka tiap pemakai diupayakan mendapat 1/N daya pemroses. Sistem merekam banyak waktu pemroses yang telah digunakan proses sejak login dan jumlah waktu proses yang digunakan seluruh proses.
      Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses telah diperuntukkan proses itu.
Penjadwal akan menjalankan proses dengan rasio terendah sampai rasio proses diatas pesaing terdekatnya.
Evaluasi Algoritma
            Masing-masing algoritma mempunyai parameter-parameter tersendiri. Pemilihan algoritma penjadwalan merupakan hal yang sulit. Persoalan pertama adalah mendefinisikan kriteria untuk pemilihan algoritma. Kriteria-kriteria yang sering digunakan adalah fairness (keadilan), efisiensi, waktu tanggap, turn arround time dan throughput. Kriteria kemudian dapat menjadi :
·         Memaksimumkan utilisasi pemroses dengan konstrain waktu tanggap maksimum adalah 500 milidetik, atau
·         Memaksimumkan throughput bahwa turn arround time adalah berbanding linier dengan waktu eksekusi total.

Begitu kriteria pemilihan telah didefinisikan, kita dapat mengeveluasi beragam algoritma. Terdapat sejumlah metode evaluasi untuk melakukan hal ini, yaitu :
a.      Pemodelan deterministis
      Merupakan evaluasi analitis. Evaluasi analitis menggunakan algoritma dan beban kerja sistem untuk menghasilkan satu rumus atau angka yang menunjukkan kinerja algoritma untuk beban kerja itu. Pemodelan deterministik menggunakan suatu beban kerja tertentu yang telah ditentukan dan mendefinisikan kinerja algoritma untuk beban kerja itu.
b.      Pemodelan antrian
      Sistem komputer dipandang sebagai satu jaringan pelayanan (server). Masing-masing pelayan mempunyai satu antrian dari proses-proses yang menunggu layanan. Pemroses adalah satu pelayan dengan satu antrian proses yang siap menerima layanan, begitu juga perangkat I/O adalah antrian perangkat. Dengan mengetahui rate kedatangan dan rate layanan, maka kita dapat mengkomputasi utilisasi, panjang antrian rata-rata, waktu tunggu rata-rata dsb. Bidang studi ini adalah analisis jaringan antrian (queueing network analys).
c.       Simulasi
      Simulasi dapat memberikan evaluasi algoritma penjadwalan dengan lebih akurat. Simulasi melibatkan pemrograman model sistem komputer. Dengan simulasi akan diperoleh statistik yang menyatakan kinerja algoritma.
d.      Implementasi
      Simulasi pun hanya memberikan akurasi yang terbatas. Satu-satunya cara paling akurat dalam mengevaluasi algoritma penjadwalan adalah mengimplementasikannya, menjalankannya pada sistem nyata dan melihatnya bekerja. Pendekatan ini adalah menjalankan algoritma nyata di sistem nyata untuk keperluan evaluasi pada beban atau kondisi operasi yang nyata.

Referensi :