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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
PENGESAHAN
Judul
: PERANGKAT LUNAK SIMULASI DINNING PHILOSHOPERS PROBLEMS UNTUK MENGATASI DEADLOCK
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: : : : : :
TUGAS AKHIR MUHAMMAD ZULHAM 082406135 D3 TEKNIK INFORMATIKA 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 NIP. 19620901 198803 1 002
Drs. James Piter Marbun, M.Kom NIP. 19580611 198603 1 002
Universitas Sumatera Utara
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
Universitas Sumatera Utara
PENGHARGAAN
Alhamdulillah. Segala puji bagi Allah SWT yang telah memberikan rahmat dan hidayatNya, 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 Universitas Sumatera Utara. 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.
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
DAFTAR TABEL
Tabel 3.1 Tabel Properti Filsuf ....................................................................... 47 Tabel 3.2 Tabel Properti Filsuf untuk Kasus Deadlock .................................. 51
Universitas Sumatera Utara