BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah 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 prosesproses (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 prosesproses kongkuren yang berinteraksi, terdapat beberapa masalah yang harus diselesaikan seperti deadlock dan sinkronisasi. 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, dengan cara merancang suatu perangkat lunak yang dapat mensimulasikan proses kerja dari problem tersebut sekaligus mensimulasikan pencegahan masalah deadlock tersebut. 1.2 Identifikasi Masalah Sesuai dengan latar belakang masalah yang telah dikemukakan, maka secara umum yang menjadi permasalahannya adalah sebagai berikut: 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 Batasan 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. Perangkat lunak memiliki fasilitas History untuk menampilkan daftar (list) proses yang telah selesai dilakukan. 1.4 Tujuan Penelitian Tujuan penyusunan tugas akhir ini adalah untuk merancang suatu perangkat lunak simulasi yang mampu menampilkan proses dari Dining Philosophers Problem. 1.5 Metode Penelitian Langkah-Langkah pembuatan perangkat lunak ini adalah: 1. Membaca dan mempelajari buku-buku yang berhubungan dengan sistem operasi terutama mengenai Dining Philosopher Problems.
2. Mempelajari proses dari Dining Philosopher Problems. 3. Merancang interface untuk perangkat lunak simulasi. 4. Merancang suatu perangkat lunak simulasi Dining Philosopher Problems dengan menggunakan bahasa pemrograman Visual Basic 6.0. 5. Melakukan proses pengujian dan perbaikan kesalahan. 1.6 Sistematika Penulisan Untuk mempermudah penulisan Tugas Akhir ini, penulis membuat suatu sistematika penulis yang terdiri dari: BAB 1 PENDAHULUAN Pada bab ini menguraikan latar belakang pemilihan judul, ruang lingkup permasalahan, tujuan dan manfaat penelitian, metode penelitian, dan sistem penelitian. BAB 2 LANDASAN TEORI Dalam bab ini dijelaskan teori-teori singkat tentang hal-hal yang berhubungan dengan judul dan pembahasan sistem operasi dan bahasa pemrograman Visual Basic 6.0. BAB 3 PEMBAHASAN DAN PERANCANGAN SISTEM Dalam bab ini dijelaskan dan diuraikan tentang pembuatan serta perancangan sistem.
BAB 4 IMPLEMENTASI SISTEM Bab ini menguraikan tentang definisi, tujuan, dan langkah-langkah dalam implementasi sistem juga disertai dengan komponen-komponen kebutuhan sistem. BAB 5 KESIMPULAN DAN SARAN Sebagai bab terakhir penulis akan menguraikan beberapa kesimpulan dari uraian bab-bab sebelumnya. Dan akan memberikan saran-saran yang ada manfaatnya.