BAB I
PENDAHULUAN
1.1 Latar Belakang
Masalah pembaca dan penulis (readers and writers problem) merupakan masalah yang memodelkan pengaksesan konkurensi ke suatu sumber daya tertentu yang sama seperti basisdata. Masalah tersebut dapat dideskripsikan sebagai berikut, misalkan terdapat basisdata besar seperti sistem reservasi penerbangan dengan proses-proses berkompetisi untuk membaca dan menulis pada basisdata tersebut. Masalahnya dideskripsikan sebagai berikut, lebih dari satu proses diijinkan untuk membaca basisdata pada saat yang sama tetapi hanya satu proses yang diijinkan menulis (mengubah) basisdata pada satu saat. Jika terdapat proses yang sedang menulis (mengubah) basisdata, maka proses lain tidak boleh mengakses basisdata baik membaca atau menulis.
Untuk permasalahan ini, writers memiliki prioritas lebih tinggi dari readers. Writers mempunyai hak menulis basisdata kapanpun. Ketika writers ingin menulis dan readers sedang membaca basisdata, maka readers akan diblok dan tidak boleh membaca basisdata hingga writers selesai menulis. Permasalahan ini hampir sama dengan manajemen penggunaan basisdata dalam kehidupan sehari-hari, dimana record tidak akan dapat diakses oleh pengguna ketika record sedang dieksekusi oleh pengguna lain untuk transaksi insert, delete atau update.
Berdasarkan uraian di atas, penulis ingin merancang suatu perangkat lunak yang mampu untuk mensimulasikan masalah pembaca dan penulis dan menuangkannya dalam tugas akhir dengan judul “Simulasi Readers and Writers Problem pada maskapai penerbangan di bandara”.
1.2 Perumusan Masalah
Berdasarkan latar belakang pemilihan judul, maka yang menjadi permasalahan adalah bagaimana mensimulasikan proses kerja dari readers and writers problem.
1.3 Tujuan dan Manfaat Penulisan
Tujuan penyusunan tugas akhir (skripsi) ini adalah untuk merancang suatu perangkat lunak simulasi readers and writers problem.
Manfaat dari penyusunan tugas akhir (skripsi) ini, yaitu:
1. Menampilkan simulasi dari readers and writers problem bagi maskapai penerbangan untuk proses pengecekan data jadwal penerbangan.
2. Sebagai fasilitas pendukung dalam proses belajar mengajar, terutama mengenai Sistem Operasi.
1.4 Pembatasan Masalah
Adapun batasan-batasan yang diberikan adalah sebagai berikut:
1. Jumlah komputer server yang digunakan oleh admin sebanyak 1 buah.
2. Jumlah komputer client (digunakan oleh maskapai penerbangan dan customer) yang mengakses komputer server dibatasi maksimal 15 buah, dengan perincian:
a. Komputer yang digunakan oleh maskapai penerbangan maksimal 5 buah. Ini berarti bahwa jumlah maskapai penerbangan pada bandara tersebut dibatasi maksimal 5 buah.
b. Komputer yang dapat digunakan oleh customer maksimal 10 buah.
3. Perangkat lunak mengambil latar berupa sebuah bandara, dimana proses-proses yang dapat dilakukan mencakup:
a. Proses pembacaan (pengecekan jadwal penerbangan dan harga tiket) oleh customer.
b. Proses penulisan (input atau pengubahan data-data jadwal penerbangan dan harga tiket) oleh pihak penerbangan dan admin.
4. Perangkat lunak akan menampilkan laporan mengenai transaksi-transaksi yang terjadi dan dapat disimpan ke dalam bentuk text file.
5. Pembagian hak pengaksesan:
a. Admin, dapat menulis dan membaca.
b. Maskapai penerbangan dapat menulis dan membaca.
c. Customer hanya dapat membaca.
1.5 Metodologi Penyelesaian Masalah
Langkah-langkah pembuatan perangkat lunak ini antara lain:
1. Membaca dan mempelajari buku-buku yang berhubungan dengan Sistem Operasi.
2. Mempelajari readers and writers problem.
3. Merancang interface untuk perangkat lunak simulasi.
4. Merancang suatu perangkat lunak simulasi readers and writers problem dengan menggunakan bahasa pemrograman Visual Basic 6.0.
5. Menguji perangkat lunak dan memperbaiki kesalahan (error) yang muncul.