PERANGKAT LUNAK SIMULASI DINNING PHILOSOPHERS UNTUK MENGATASI DEADLOCK TUGAS AKHIR MUHAMMAD ZULHAM 082406135 PROGRAM STUDI DIPLOMA III TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
PERANGKAT LUNAK SIMULASI DINNING PHILOSOPHERS UNTUK MENGATASI DEADLOCK TUGAS AKHIR Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya MUHAMMAD ZULHAM 082406135 PROGRAM STUDI DIPLOMA III TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
PENGESAHAN Judul : PERANGKAT LUNAK SIMULASI DINNING PHILOSHOPERS PROBLEMS UNTUK MENGATASI DEADLOCK Kategori : TUGAS AKHIR Nama : MUHAMMAD ZULHAM Nomor Induk Mahasiswa : 082406135 Program Studi : D3 TEKNIK INFORMATIKA Departemen Fakultas : MATEMATIKA : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Komisi Pembimbing : Diketahui/Disetujui oleh Departemen Matematika FMIPA USU Ketua Pembimbing Prof. Dr. Tulus, M.Si Drs. James Piter Marbun, M.Kom NIP. 19620901 198803 1 002 NIP. 19580611 198603 1 002
PERNYATAAN PERANGKAT LUNAK SIMULASI DINNING PHILOSHOPERS PROBLEMS UNTUK MENGATASI DEADLOCK TUGAS AKHIR Saya mengakui bahwa Tugas Akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, April 2011 MUHAMMAD ZULHAM 082406135
PENGHARGAAN Alhamdulillah. Segala puji bagi Allah SWT yang telah memberikan rahmat dan hidayat- Nya, sehingga penulis berhasil meyelesaikan tugas akhir yang berjudul Perangkat Lunak Simulasi Dinning Philoshopers Problems Untuk Mengatasi Deadlock ini tepat pada waktunya. Shalawat dan salam semoga selalu dilimpahkan kepada junjungan Nabi besar Muhammad SAW, keluarga, sahabat dan para pengikut sampai akhir zaman. Tugas Akhir ini disusun sebagai salah satu syarat untuk menyelesaikan pendidikan Diploma III Teknik Informatika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatra Utara. Dalam tugas akhir ini, penulis banyak mendapat masukan dan serta dukungan dari berbagai pihak. Secara khusus penulis menyampaikan rasa terima kasih yang sedalamdalamnya kepada Ayahanda Paimin dan Ibunda Sri Yuliati yang telah mendidik dan membesarkan penulis dengan segala pengorbanan yang tak terhitung nilainya serta kasih sayang yang tulus. Dan selalu memberikan doa dan dukungan baik moril maupun materil, sehingga penulis dapat mengikuti kuliah Diploma III Teknik Informatika dan menyelesaikan pendidikan ini tepat pada waktunya. Semoga Allah SWT membalas budi baik mereka. Amin. Dalam kesempatan ini penulis juga penulis mengucapkan terima kasih kepada: 1. Drs. James Piter Marbun, M.Kom selaku Dosen Pembimbing yang telah banyak memberikan bimbingan serta masukan dalam menyelesaikan tugas akhir ini. 2. Bapak Drs. Syahril Effendi, S.Si., M.IT dan Syahriol Sitorus, S.Si, M.IT, selaku Ketua dan Sekretaris Program Studi Diploma III Teknik Informatika Fakultas MIPA. 3. Prof. Drs. Tulus, M.Si dan Dra. Mardiningsih, M.Si. selaku Ketua dan Sekretaris Departemen Matematika Fakultas MIPA Universitas Sumatera Utara. 4. Seluruh dosen Program Studi Diploma III Teknik Informatika yang telah memberikan ilmu pengetahuannya kepada penulis selama masa perkuliahan. 5. Yang penulis sayangi Asy Syiva, yang telah banyak memberikan dukungan dan nasihat dalam penyusunan tugas akhir ini. 6. Saudara penulis Angga Kurniawan, yang telah banyak memberikan dukungan dan ilmunya selama ini. 7. Teman-teman Teknik Informatika angkatan 08 khususnya kepada Ahmad Irfansyah, Suci Ikhwani, Fanny Anggara Funna, Nurul Hayani, Fauzan Akbar, Dessy Febriani Triajiwaty Atmajaya, Birman Arianto Simatupang, Indra Perdana Zambeck, dan Aulia Rachman yang telah banyak memberikan ilmu kepada penulis baik dalam penyusunan tugas akhir ini maupun pada masa perkuliahan.
Pada penulisan tugas akhir ini, penulis telah berusaha semaksimal mungkin untuk mencapai kesempurnan. Namun penulis menyadari terdapat kelemahan dan kekurangan dalam penulisan tugas akhir ini. Untuk itu penulis mengharapkan kritik dan saran dari pembaca sekalian demi penyempurnaan. Demikian tugas akhir ini penulis buat. Semoga tulisan ini bermanfaat bagi kita semua. Medan, April 2011 Penulis Muhammad Zulham
ABSTRAK Di dalam Dining Philosophers Problem ini ada kemungkinan terjadi deadlock, yaitu suatu kondisi dimana dua proses atau lebih tidak dapat meneruskan eksekusinya. Penulis merancang suatu perangkat lunak yang dapat menyimulasikan proses kerja dari problem tersebut sekaligus menyimulasikan pencegahan masalah deadlock tersebut. Yang menjadi permasalahan adalah merancang interface dari perangkat lunak simulasi, merancang cara pencegahan keadaan deadlock, dan membuat suatu perangkat lunak simulasi dengan animasi Dining Philosophers Problem. Manfaat dari dining philosophers problem ini adalah sebagai dasar bagi pengembangan perangkat lunak penyelesaian Dining Philosophers dan sebagai fasilitas tambahan dalam proses belajar mengajar terutama dalam mata kuliah Sistem Operasi.
DAFTAR ISI PENGESAHAN... ii PERNYATAAN... iii PENGHARGAAN... iv ABSTRAK... vi DAFTAR ISI... vii DAFTAR GAMBAR... x DAFTAR TABEL... xii BAB 1 PENDAHULUAN... 1 1.1. Latar Belakang Pemilihan Judul... 1 1.2. Identifikasi Masalah... 2 1.3. Batasan Masalah... 2 1.4. Tujuan Penelitian... 3 1.5. Metode Penelitian... 3 1.6. Sistematika Penulisan... 4 BAB 2 LANDASAN TEORI... 5 2.1. Sistem Operasi... 5 2.1.1. Definisi Sistem Operasi... 6 2.1.2. Peranan SistemOperasi... 6 2.1.3. Tujuan Adanya Sistem Operasi... 7 2.1.4. Sejarah Singkat Perkembangan Sistem Operasi... 7 2.1.5. Sudut Pandang Sistem Komputer... 9
2.2. Struktur Sistem Operasi... 10 2.2.1. Komponen-Komponen Sistem... 10 2.2.2. Pelayanan Sistem Operasi... 12 2.2.3. System Call... 13 2.2.4. Sistem Program... 16 2.2.5. Struktur Sistem Operasi... 17 2.2.6. Struktur Sederhana... 17 2.2.7. Monolithic System... 19 2.2.8. Pendekatan Terlapis (Layered Approach)... 20 2.2.9. Mesin Virtual (Virtual Machine)...22 2.2.10. Client-Server Model... 23 2.3. Sinkronisasi... 24 2.3.1. Masalah Critical Section... 27 2.3.2. Semaphore... 28 2.3.3. Dining Philosopher Problem... 29 2.4. Deadlock... 31 2.4.1. Model Deadlock... 31 2.4.2. Metode-Metode Mengatasi Deadlock... 33 2.4.3. Pencegahan Deadlock... 35 2.5. Model... 36 2.6. Simulasi... 39 2.7. Simulasi Sistem Diskrit... 39 2.8. Visual Basic 6.0... 40
2.8.1. Mengenal MS-Visual Basic 6.0... 40 2.8.2. Memulai Program Visual Basic 6.0... 41 BAB 3 PEMBAHASAN DAN PERANCANGAN... 44 3.1. Pembahasan... 44 3.2. Perancangan... 53 3.2.1. Proses Perancangan... 54 3.2.2. Form Splash Screen... 56 3.2.3. Form Input... 57 3.2.4. Form Proses Simulasi... 59 BAB 4 IMPLEMENTASI... 61 4.1. Implementasi Sistem... 61 4.1.1. Spesifikasi Perangkat Keras Dan Perangkat Lunak... 61 4.1.2. Pengujian Program... 62 BAB 5 KESIMPULAN DAN SARAN... 70 5.1. Kesimpulan... 70 5.2. Saran... 71 DAFTAR PUSTAKA... 72 LAMPIRAN... 73
DAFTAR GAMBAR Gambar 2.1 Komponen-Komponen Sistem Komputer... 5 Gambar 2.2 Hierarki Pandangan Terhadap Sistem Komputer... 10 Gambar 2.3 Model Komunikasi Message Passing... 15 Gambar 2.4 Model Komunikasi Shared Memory... 16 Gambar 2.5 Struktur Sistem MS-DOS... 18 Gambar 2.6 Struktur Sistem UNIX... 19 Gambar 2.7 Model Struktur Monolithic... 20 Gambar 2.8 Lapisan Sistem Operasi... 21 Gambar 2.9 Struktur THE... 21 Gambar 2.10 Struktur Venus... 21 Gambar 2.11 Struktur OS/2... 22 Gambar 2.12 Model Client-Server... 24 Gambar 2.13 Struktur Proses Filsuf Ke-i... 30 Gambar 2.14 Lima Filsuf Dalam Satu Meja Makan... 30 Gambar 2.15 Graph Meminta Sumber Daya Dan Alokasi Sumber Daya... 32 Gambar 2.16 Graph Deadlock Dua Proses Dan Dua Sumber Daya... 33 Gambar 2.17 Mutual Exlution Condition... 33 Gambar 2.18 Kondisi Genggam Dan Tunggu... 34 Gambar 2.19 Kondisi Non-Preemtion... 34 Gambar 2.20 Kondisi Menunggu Secara Sirkuler... 35 Ganbar 2.21 Tampilan Dasar MS-Visual Basic 6.0... 41
Gambar 3.1 Bagan Illustrasi Kondisi Awal Simulasi... 48 Gambar 3.2 Bagan Illustrasi Kondisi Awal Simulasi Saat t=3 Sekon... 49 Gambar 3.3 Bagan Illustrasi Kondisi Awal Simulasi Saat t=12 Sekon... 50 Gambar 3.4 Bagan Illustrasi Kondisi Awal Kondisi Awal (Kasus Deadlock). 51 Gambar 3.5 Bagan Illustrasi Kondisi Deadlock... 52 Gambar 3.6 Diagram Aktivitas Sistem... 55 Gambar 3.7 Rancangan Form Splash Srcreen... 56 Gambar 3.8 Rancangan Form Input... 57 Gambar 3.9 Rancangan Form Proses Simulasi... 59 Gambar 4.1 Input Data (Contoh-1)... 62 Gambar 4.2 Tampilan Awal Proses Simulasi (Contoh-1)... 63 Gambar 4.3 Tampilan Sewaktu Proses Simulasi Sedang Berjalan Pada t=40 Sekon (Contoh-1)... 64 Gambar 4.4 Input Data (Contoh-2)... 66 Gambar 4.5 Tampilan Awal Proses Simulasi (Contoh-2)... 67 Gambar 4.6 Tampilan Terjadinya Kondisi Deadlock (Contoh-2)... 68
DAFTAR TABEL Tabel 3.1 Tabel Properti Filsuf... 47 Tabel 3.2 Tabel Properti Filsuf untuk Kasus Deadlock... 51