BAB I
PENDAHULUAN
1.1 Latar Belakang Pemilihan Judul
Sistem operasi merupakan suatu program yang bertindak sebagai interface antara user dan sistem komputer. Sistem operasi ini harus mampu melakukan pengontrolan penggunaan resource. Dalam proses perancangan sistem operasi, terdapat suatu landasan umum yang disebut dengan kongkurensi. Proses-proses disebut kongkuren jika proses-proses (lebih dari satu proses) berada pada saat yang sama. Keadaan ini disebut dengan multitasking dari sistem operasi. Proses-proses kongkuren dapat sepenuhnya tak bergantung dengan lainnya tapi dapat juga saling berinteraksi. Proses-proses yang berinteraksi memerlukan sinkronisasi agar terkendali dengan baik. Namun, pada proses-proses kongkuren yang berinteraksi, terdapat beberapa masalah yang harus diselesaikan seperti deadlock, sinkronisasi dan sebagainya. Salah satu masalah klasik yang dapat menggambarkan masalah tersebut adalah Dining Philosophers Problem.
Dining Philosophers Problem dapat diilustrasikan sebagai berikut, terdapat lima orang filsuf yang akan makan. Di meja disediakan lima buah sumpit. Jika filsuf lapar betul, maka ia akan mengambil dua buah sumpit yaitu di tangan kanan dan kiri. Namun adakalanya hanya diambil sumpit satu saja. Jika ada filsuf yang mengambil dua buah sumpit, maka ada filsuf yang harus menunggu sampai sumpit tersebut ditaruh kembali. Di dalam problema ini ada kemungkinan terjadi deadlock yaitu suatu kondisi dimana dua proses atau lebih tidak dapat meneruskan eksekusinya.
Penulis bermaksud untuk menyelesaikan masalah tersebut. Penulis merancang suatu perangkat lunak yang dapat mensimulasikan proses kerja dari problema tersebut sekaligus mensimulasikan pencegahan masalah deadlock tersebut.
1.2 Perumusan Masalah
Berdasarkan latar belakang pemilihan judul, maka yang menjadi permasalahan adalah :
1. Merancang interface dari perangkat lunak simulasi.
2. Merancang cara pencegahan keadaan deadlock.
3. Membuat suatu perangkat lunak simulasi dengan animasi Dining Philosophers Problem.
1.3 Tujuan dan Manfaat
Tujuan penyusunan tugas akhir (skripsi) ini adalah untuk merancang suatu perangkat lunak simulasi yang mampu menampilkan proses dari Dining Philosophers Problem.
Manfaat dari penyusunan tugas akhir (skripsi) ini, yaitu :
1. Sebagai dasar bagi pengembangan perangkat lunak penyelesaian Dining Philosophers.
2. Sebagai fasilitas tambahan dalam proses belajar mengajar terutama dalam mata kuliah Sistem Operasi.
1.4 Pembatasan Masalah
Karena keterbatasan waktu dan pengetahuan penulis, maka ruang lingkup permasalahan dalam merancang perangkat lunak ini adalah sebagai berikut :
1. Perangkat lunak ini memiliki input antara lain :
a. Lama waktu filsuf tahan kenyang (waktu yang diperlukan untuk mengubah kondisi filsuf dari kenyang menjadi lapar).
b. Lama waktu filsuf tahan lapar (waktu yang diperlukan untuk mengubah kondisi filsuf dari lapar menjadi mati).
c. Kecepatan simulasi.
2. Input perangkat lunak di atas dapat di-input secara manual oleh user atau dapat juga dihasilkan secara acak (random) oleh komputer.
3. Jumlah filsuf sebanyak 5 orang.
4. Perangkat lunak memiliki fasilitas ‘History’ untuk menampilkan daftar (list) proses yang telah selesai dilakukan.
1.5 Metodologi Penyelesaian
Langkah – langkah pembuatan perangkat lunak ini antara lain :
a. Membaca dan mempelajari buku – buku yang berhubungan dengan sistem operasi terutama mengenai Dining Philosopher Problems.
b. Mempelajari proses dari Dining Philosopher Problems.
c. Merancang interface untuk perangkat lunak simulasi.
d. Merancang suatu perangkat lunak simulasi Dining Philosopher Problems dengan menggunakan bahasa pemrograman Visual Basic 6.0.
e. Melakukan proses pengujian dan perbaikan kesalahan.