Sabtu, 06 Februari 2010

Laporan Sistem Informasi

BAB I
PENDAHULUAN


1. Latar Belakang Masalah
Puskesmas adalah suatu kesatuan organisasi kesehatan fungsional yang merupakan pusat pengembangan kesehatan masyarakat,yang juga berperan serta untuk memberikan pelayanan secara menyeluruh dan terpadu kepada masyarakat di wilayah kerjanya dalam bentuk kegiatan pokok.
Untuk itu kecamatan Cijagra membangun sebuah Puskesmas yang di resmikan pada tanggal 15 April 1983. Puskesmas ini di Bangun untuk memberikan layanan kesehatan masyarakat di wilayah Cijagra Oleh pemerintah Kota Bandung

2. Identifikasi Masalah
Dari hasil observasi yang kami laksanakan pada sebuah puskesmas, baik dari pengamatan maupun hasil wawancara dengan Staf Puskesmas kami mengidentifikasi kan permasalahan sebagai berikut :
1. Pencatatan data-data Organisasi yang masih manual, baik dalam hal data Pasien, data Staf, program kerja, dll.
2. Persediaan obat yang kurang lengkap.
3. Kegiatan pokok yang dianjurkan pemerintah agar diperhatikan,.dan dilaksanakan.

3. Ruang Lingkup Masalah
Dalam penulisan makalah ini kami membatasi masalah terhadap pembahasan masalah. Kami hanya membahas struktur organisasi, uraian tugas, maping data dan data-data terkait lainnya yang berhubungan dengan Puskesmas Cijagra.

4. Tujuan Observasi
Tujuan kami sebagai mahasiswa LPKIA melaksanakan observasi ke Puskesmas, diantaranya :
1. Untuk memenuhi salah satu syarat mata kuliah Sistem Informasi.
2. Menambah wawasan dan pengetahuan tentang sistem informasi pada puskesmas.
5. Tempat dan Waktu Observasi
Kami telah melaksanakan dua kali kegiatan observasi di Puskesmas Cijagra, adapun tempat dan waktu observasi :
a. Observasi pertama, pada :
Hari : Senin, 02 Februari 2009
Pukul : 10.03 WIB
Tempat : Puskesmas Cijagra, Bandung
b. Observasi kedua
Hari : Senin, 08 Februari 2009
Pukul : 11.15 WIB
Tempat : Puskesmas Cijagra, Bandung

BAB II
Analisis Sistem berjalan

1. Struktural organisasi
2. Job description
a. Kepala Puskesmas
Mempunyai tugas pokok dan fungsi: memimpin, mengawasi dan mengkoordinir kegiatan Puskesmas yang dapat dilakukan dalam jabatan struktural dan jabatan fungsional.
b. Kepala Bagian Tata Usaha
Mempunyai tugas pokok dan fungsi: di bidang kepegawaian, keungan, perlengkapan dan surat menyurat serta pencatatan dan pelaporan.
c. Pelaksana Teknis
1. KIA , KB dan GIZI
Mempunyai tugas pokok dan fungsi: melaksanakan kegiatan Kesejahteraan Ibu dan Anak, Keluarga Berencana dan Perbaikan Gizi.
2. MTBS dan P2M
Mempunyai tugas pokok dan fungsi: melaksanakan kegiatan pencegahan dan pemberantasan penyakit, khususnya imunisasi, kesehatan lingkungan dan laboratorium.
3. PHN dan LANSI
Mempunyai tugas pokok dan fungsi: melaksanakan kegiatan Kesehatan Gigi dan Mulut, Kesehatan tenaga Kerja dan Lansia ( lanjut usia ).
4. UKS dan PROMKES
Mempunyai tugas pokok dan fungsi: melaksanakan kegiatan Perawatan Kesehatan Masyarakat, Kesehatan Sekolah dan Olah Raga, Kesehatan Jiwa, Kesehatan Mata dan kesehatan khusus lainnya.
5. KESLING dan PUSLING
Mempunyai tugas pokok dan fungsi: melaksanakan kegiatan di bidang pembinaan dan pengembangan upaya kesehatan masyarakat dan Penyuluhan Kesehatan Masyarakat.
6. BP
Mempunyai tugas pokok dan fungsi: melaksanakan kegiatan pengobatan Rawat Jalan ( Puskesmas Perawatan ).
7. OBAT
Mempunyai tugas pokok dan fungsi: melaksanakan pengelolaan Farmasi.

3. Maping Data
4. Data – Data Terkait
Data-data yang kami dapatkan setelah melakukan observasi di Puskesmas cijagra
a. Mempunyai kurang lebih 50 Pasien yang mempunyai Kartu Berobat. Setiap harinya rata-rata terdapat 20 pasien yang datang untuk berobat.
b. Mempunyai beberapa karyawan diantaranya :
• 1 Dokter Umum
• 2 Perawat
• 1 Bidan
• 1 Dokter spesialis gigi dan mulut
• 1 Dokter spesialis anak
• 5 orang sebagai Bagian Tata Usaha
• 8 orang sebagai Pelaksana Teknis
c. Mempunyai beberapa kegiatan, yaitu :
a. Mengadakan Pencegahan Demam Berdarah Setiap ada laporan dari
Masyarakat
b. Mangadakan Pusling (Puskesmas Keliling), sebagai contoh Polio untuk anak.
c. UKS (Unit Kesehatan Sekolah)
d. Promkes (Promosi Kesehatan)
Untuk mengenalkan kepada Masyarakat bagaimana cara hidup sehat. Seperti program Empat sehat Lima Sempurna, program Kelurga Berencana, dll.

5. Layout Ruangan
6. Lampiran - Lampiran


BAB III
Kesimpulan dan Saran

1. Kesimpulan
Berdasarkan observasi yang dilakukan sistem informasi Puskesmas dapat disimpulkan :
1 Dengan pencatatan data yang lebih terkomputerisasi dapat menghasilkan informasi yang lebih baik dengan cara yang lebih efektif dan efisien.
2 Dalam sebuah organisasi kesehatan peranan obat itu sangatlah penting, untuk itu kelengkapan obat harus diperhatikan.

2. Saran
Saran yang dapat kami berikan untuk Puskesmas Cijagra, yaitu:
1 Pencatatan data dapat lebih terkomputerisasi, dengan cara mencatatnya kedalam sebuah alat elektronik yaitu Komputer.
2
Untuk mempermudah sistem pelayanan pada Puskesmas Cijagra, pendataan pasien dapat dilakukan secara komputerisasi agar sistem informasi pada puskesmas cijagra lebih efektif. Dan juga obat-obatan pada puskesmas cijagra dilengkapi agar masyarakat dengan mudah mendapatkan obat yang dibutuhkan.




Priority

PRIORITY
Algoritma ini memberikan skala prioritas kepada tiap proses. Proses yang mendapat prioritas terbesar akan didahulukan. Skala diberikan dalam bentuk integer. Beberapa sistem menggunakan integer kecil untuk prioritas tertinggi, beberapa sistem menggunakan integer besar.

Algoritma ini dapat preemptive maupun nonpreeemptive. Jika preemptive maka proses dapat diinterupsi oleh proses yang prioritasnya lebih tinggi. Kelemahan dari algoritma ini adalah proses dengan prioritas kecil tidak akan mendapat jatah CPU. Hal ini dapat diatasi dengan aging, yaitu semakin lama menunggu, prioritas semakin tinggi.

Konsep prioritas sangat penting dalam penjadwalan prosesor jamak. Prioritas adalah tingkat kepentingan suatu proses yang ada di ready queue. Prioritas adalah suatu istilah yang digunakan untuk menentukan tingkat urutan atau hirarki suatu proses yang sedang masuk dalam ready queue.

Akan tetapi, ada kemungkinan proses yang mempunyai prioritas tinggi, memerlukan data yang sedang diakses oleh proses yang mempunyai prioritas lebih rendah. Maka, proses yang berprioritas tinggi harus menunggu dan membiarkan proses yang berprioritas rendah menyelesaikan eksekusinya. Situasi ini disebut pembalikan priority inversion.

Namun, pembalikan prioritas memungkinkan proses yang prioritasnya lebih rendah dapat terus menerus mengakses sumber daya yang sedang dibutuhkan oleh proses yang prioritasnya lebih tinggi.

Solusi untuk masalah ini adalah priority inheritance protocol, yaitu semua proses yang sedang mengakses sumber daya mendapat prioritas tinggi sampai selesai menggunakan sumber daya. Setelah selesai, prioritas proses ini dikembalikan menjadi seperti semula.

priority-inheritance protocol, yaitu semua proses yang sedang mengakses sumber daya mendapat prioritas tinggi sampai selesai menggunakan sumber daya. Setelah selesai, prioritas proses ini dikembalikan menjadi seperti semula.

Priority inversion adalah kejadian dimana sebuah Task dengan priority rendah.

(misalkan Task 2) dapat menunda eksekusi Task dengan priority yang lebih tinggi (misalkan Task 1).

Misalkan sebuah set 3 Task dengan urutan priority : Task 1 > Task 2 > Task 3.

Priority inversion dapat terjadi apabila Task 1 hendak mengakses unsharedable resource (contoh: penulisan data ke harddisk atau printing) yang kebetulan sedang digunakan oleh Task lain dengan priority yang lebih rendah (misalkan Task 3). Pada saat itu, Task 1 tidak dapat diteruskan dan Task 3 akan dilanjutkan. Pada saat Task 3 dilanjutkan, Task 2 dapat menginterupsi Task 3 (selama Task 2 tidak mengakses resource) karena priority Task 2 lebih tinggi dari Task 3.

Pada kejadian tersebut, Task 2 menunda eksekusi Task 1 secara tidak langsung dengan menginterupsi Task 3 yang sedang memegang unsharedable resource (dan dengan demikian Task 3 memblok Task 1 yang juga hendak memakai resource tersebut).

contoh yang diberikan :

Ø Pada saat t0, Task 3 mulai di-release dan dijalankan.

Ø Pada saat t1, Task 3 memasuki critical section dan mengakses unsharedable resource R.

Ø Pada saat t2, Task 1 di-release. Karena Task 1 memiliki priority yang lebih tinggi daripada Task 3 dan tidak membutuhkan resource R pada saat itu, maka Task 1 menginterupsi Task 3. Semaphore pada resource R diset untuk menandakan bahwa resource tersebut sedang dikontrol oleh Task 3.

Ø Pada saat t3, Task 1 memasuki critical section yang membutuhkan resource R. Karena resource R sedang dipegang oleh Task 3, maka Task 1 dihentikan dan eksekusi Task 3 dilanjutkan.

Ø Pada saat t4, Task 2 di-release. Karena Task 2 memiliki priority di atas Task 3 dan tidak membutuhkan resource R maka Task 2 menginterupsi Task 3. Pada saat ini, priority inversion terjadi dimana Task 2 dapat menunda eksekusi Task 1.

Ø Pada saat t5, Task 2 selesai dijalankan. Task 3 kembali dilanjutkan.

Ø Pada saat t6, Task 3 selesai menggunakan R. Task 3 melepaskan kontrol terhadap R. Task 1 dilanjutkan dan memegang kontrol atas R.

Ø Pada saat t7, Task 1 telah selesai menggunakan R dan melepaskan kontrol terhadapnya.

Ø Pada saat t8, Task 1 telah selesai dijalankan. Task 3 dilanjutkan.

Ø Pada saat t9, Task 3 selesai dijalankan.

è Priority Inheritance adalah teknik untuk mencegah priority inversion. Pada saat Task

dengan priority yang lebih tinggi (TH) diblok oleh Task dengan priority yang lebih rendah (TL) karena penggunaan unsharedable resource maka TL akan mewarisi priority TH. Setelah TL selesai menggunakan resource tersebut, priority TL dikembalikan ke asalnya.

Berikut ini adalah contoh penggunaan priority inheritance pada kasus priority inversion di atas :


Berikut ini adalah penjelasan dari gambar di atas :

Ø Pada saat t3, Task 1 diblok oleh Task 3 yang sedang mengontrol R. Task 3 mewarisi priority Task 1 (dalam set Task ini, priority tertinggi) dan eksekusinya diteruskan dengan priority yang baru. Pada saat ini terjadi priority inheritance.

Ø Pada saat t4, Task 2 di-release. Karena Task 2 memiliki priority yang lebih rendah daripada Task 3 pada saat ini, eksekusi Task 2 tertunda dan Task 3 dilanjutkan.

Ø Pada saat t5, Task 3 selesai menggunakan R. Karena Task 3 telah melepaskan kontrol atas R, maka blok terhadap Task 1 selesai. Pada saat ini, priority Task 3 dikembalikan menjadi priority asalnya. Task 1 kemudian menginterupsi Task 3 dan mulai menggunakan R.

Ø Pada saat t7, Task 1 selesai dijalankan. Task 2 mulai dieksekusi.

Ø Pada saat t8, Task 2 selesai dijalankan. Task 3 dilanjutkan.

Ø Pada saat t9, Task 3 selesai dijalankan.

Priority Inheritance
Priority inheritance is a protocol used to avoid the problem of priority inversion. When a lower priority task is blocking a higher priority task, it inherits the priority of the higher priority task. It gains its priority back when the blocking is over. The bad side of priority inversion is that it can lead to deadlock.

Untuk menghindari problem priority inversion maka digunakan priority inheritance. Dimana skema dari priority inheritance adalah jika task dengan prioritas lebih tinggi TH diblock oleh task dengan prioritas lebih rendah TL(karena TL sedang mengeksekusi critical section yang dibutuhkan oleh TH), task dengan prioritas lebih rendah secara temporary (sesaat) inherits(mewarisi) prioritas dari TH. Ketika blocking berhenti, TL kembali ke prioritas asalnya.













Protocol priority inheritance adalah sebagai berikut,
1. task dengan prioritas paling tinggi T ditentukan oleh processor. T melepaskan processor sewaktu-waktu ketika T bertemu dengan lock semaphore guarding sebuah critical section yang telah di lock oleh task lain
2. jika suatu task T1 diblock oleh task T2(karena adanya critical section) dan T1 memiliki prioritas lebih tinggi dibanding T2, T2 mewarisi(inherits) prioritas dari T1 selama T2 memblock T1. Ketika T2 keluar dari critical section yang telah menyebabkan pemblockan, T2 akan kembali ke prioritas semula dimana T1 > T2 (T1 lebih prioritas dibanding T2). operasi priority inheritance dan pembagian priority sebelumnya sudah tak berlaku lagi
3. priority inheritance bersifat transitive. Jika T3 memblock T2, yang memblock T1(T1 > T2 > T3), kemudian T3 mewarisi prioritas T1 melalaui T2
4. suatu task T1 dapat menginterupsi task lain T2, jika T1 tidak dblock dan jika prioritas T1 lebih besar dibanding prioritas T2

contoh2 untuk mengetahui bagaimana priority inheritance dapat mencegah terjadinya priority inversion, kita kembali analisis contoh1. pada saat t3, ketika T3 memblock T1, T3 mewarisi prioritas yang lebih besar dari T1. sehingga ketika T2 release pada t4, T2 tidak dapat menginterusi T3, karena pada t4 prioritas T3 lebih tinggi (mewarisi prioritas T1) disbanding T2. T3 terus berjalan menggunakan critical section S hingga selesai pada tx. Pada saat itu T3 melepas critical section S dan T1 dapat melanjutkan eksekusinya. Pada saat tx prioritas T3 telah kembali ke prioritas semula. Sehingga T1 dapat menginterupsi T3. Sebagai hasilnya, T1 tidak indirectly block oleh T2

sayangnya, priority inheritance dapat menyebabkan:
1) deadlock.
2) Timbul kemungkinan dimana task dengan prioritas paling tinggi dapat diblock sekali oleh setiap task yang dieksekusi oleh processor yang sama

Fenomena deadlock dapat diilustrasikan dengan contoh berikut
contoh3 terdapat 2 task T1 dan T2, dimana menggunakan 2 critical section S1 dan S2. task-task ini memerlukan critical section dalam urutan sebagai berikut:
T1 : lock S1 . lock S2 . unlock S2 . unlock S1
T2 : lock S2 . lock S1 . unlock S1 . unlock S2

Dengan T1 > T2, dan kita asumsikan T2 mulai eksekusi pada t0. pada saat t1, T2 locks S2. pada saat t2, T1 mulai dan menginterupsi T2 berdasarkan prioritasnya yang lebih tinggi. Pada saat t3, T1 locks S1. pada saat t4, T1 berusaha untuk lock S2, tetapi diblock karena T2 belum selesai menggunakan S2 ini. T2, dimana mewarisi prioritas dari T1 mulai eksekusi. Pada saat t5, T2 berusaha untuk lock S1, tetapi tidak bisa karena T1 sudah me-lock S1. sekarang T1 dan T2 saling menunggu resource yang masing-masing masih di lock oleh task lain. T1 menunggu S2 yang masih di lock oleh T2, sedang T2 menunggu S1 yang masih di lock oleh T1. sehingga terjadilah deadlock.




Priority
Algoritma ini memberikan skala prioritas kepada tiap proses. Proses yang mendapat prioritas terbesar akan didahulukan. Skala diberikan dalam bentuk integer. Beberapa sistem menggunakan integer kecil untuk prioritas tertinggi, beberapa sistem menggunakan integer besar.
Algoritma ini bisa preemptive maupun nonpreeemptive . Jika preemptive maka proses bisa diinterupsi oleh proses yang prioritasnya lebih tinggi.
Kelemahan dari algoritma ini adalah proses dengan prioritas kecil bisa-bisa tidak akan mendapat jatah CPU. Hal ini bisa diatasi dengan aging , yaitu semakin lama menunggu, prioritas semakin tinggi.
5)PreemptivePriority.
Harus diperhatikan bahwa penjadwalan selalu dikelola dengan prioritas, baik rendah ataupun tinggi. Job dengan prioritas yang sama ada dalam penjadwalan FCFS. Algoritma penjadwalan Shortest Job First adalah bentuk khusus dari penjadwalan Prioritas yang umum karena SJF dapat dijalankan dengan prioritas menurut nilai yang dihitung dari kebalikan (perkirakan) waktu penyelesaian job.
Prioritas-prioritas biasanya dalam bentuk bilangan yang telah ditetapkan sebelumnya. Walaupun demikian masih belum ada kesepakatan apakah suatu angka kecil memang menunjukkan prioritas yang rendah. Prioritas dapat dihitung baik secara ienternal maupun eksternal. Prioritas yang terdefinisi secara internal menggunakan ukuran kuantitas, seperti batas waktu, kebutuhan memori, jumlah file yang dibukanya, ataupun perbandingan antara waktu I/O dengan waktu CPU, dan lain-lain. Prioritas eksternal ditentukan oleh kriteria di luar sistem operasi, misalnya jumlah iuran yang dibayar untuk pemakaian komputer, bagian yang mensponsori kerja, bahkan mungkin saja faktor-faktor politis juga.
Masalah utama dengan algoritma penjadwalan Prioritas adalah penahanan (blocking) takterbatas atau lebih dikenal starvation. Starvation muncul jika suatu job telah siap untuk dijalankan (sedang menunggu CPU) tetapi tidak pernah diberi kesempatan untuk menyelesaikan jobnya karena prioritasnya rendah. Pemecahan masalah ini adalah Aging (untuk selanjutnya disebut pemetaan). Pemetaan adalah teknik yang menaikkan secara berkala prioritas job yang sudah lama menunggu di dalam sistem. Misalnya untuk kisaran prioritas antara 0 (rendah) sampai 127 (tinggi), prioritas job yang menuggu dapat dinaikkan 1 setiap 15 menit . Sehingga walaupun prioritas job semula adalah 0, namun suatu saat mampu pula mencapai prioritas tertinggi dan akhirnya dijalankan oleh CPU.
Walaupun sesungguhnya suatu sistem dapat memiliki beberapa buah CPU, dalam pembahasan selanjutnya untuk penyederhanaan hanya akan disediakan satu CPU untuk pengerjaan beberapa job.
Priority Scheduling
Algoritma SJF adalah suatu kasus khusus dari penjadwalan berprioritas. Tiaptiap
proses dilengkapi dengan nomor prioritas (integer). CPU dialokasikan untuk proses
yang memiliki prioritas paling tinggi (nilai integer terkecil biasanya merupakan prioritas
terbesar). Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan
algoritma FCFS. Penjadwalan berprioritas terdiri dari dua skema yaitu non preemptive
dan preemptive. Jika ada proses P1 yang datang pada saat P0 sedang berjalan, maka
akan dilihat prioritas P1. Seandainya prioritas P1 lebih besar dibanding dengan prioritas
P0, maka pada non-preemptive, algoritma tetap akan menyelesaikan P0 sampai habis
CPU burst-nya, dan meletakkan P1 pada posisi head queue. Sedangkan pada
preemptive, P0 akan dihentikan dulu, dan CPU ganti dialokasikan untuk P1.
Misalnya terdapat lima proses P1, P2, P3, P4 dan P5 yang datang secara
berurutan dengan CPU burst dalam milidetik.
Process Burst Time Priority
P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 2
Penjadwalan proses dengan algoritma priority dapat dilihat pada gant chart berikut :
BAB 4 PENJADWALAN CPU
59
Waktu tunggu untuk P1 adalah 6, P2 adalah 0, P3 adalah 16, P4 adalah 18 dan P5 adalah
1 sehingga rata-rata waktu tunggu adalah (6 + 0 +16 + 18 + 1)/5 = 8.2 milidetik.

Priority Inheritance –Protocol
Prioritas ditukar hanya sementara. Setelah keperluan selesai, prioritas diganti kembali.

Priority
Algoritma ini memberikan skala prioritas kepada tiap proses. Proses yang mendapat prioritas
terbesar akan didahulukan. Skala diberikan dalam bentuk integer. Beberapa sistem
menggunakan integer kecil untuk prioritas tertinggi, beberapa sistem menggunakan integer
besar.
Algoritma ini dapat preemptive maupun nonpreeemptive. Jika preemptive maka proses dapat
diinterupsi oleh proses yang prioritasnya lebih tinggi.
Kelemahan dari algoritma ini adalah proses dengan prioritas kecil tidak akan mendapat jatah
CPU. Hal ini dapat diatasi dengan aging, yaitu semakin lama menunggu, prioritas semakin
tinggi.

Priority
Algoritma ini memberikan skala prioritas kepada tiap proses. Proses yang mendapat prioritas
terbesar akan didahulukan. Skala diberikan dalam bentuk integer. Beberapa sistem
menggunakan integer kecil untuk prioritas tertinggi, beberapa sistem menggunakan integer
besar.
Algoritma ini dapat preemptive maupun nonpreeemptive. Jika preemptive maka proses dapat
diinterupsi oleh proses yang prioritasnya lebih tinggi.
Kelemahan dari algoritma ini adalah proses dengan prioritas kecil tidak akan mendapat jatah
CPU. Hal ini dapat diatasi dengan aging, yaitu semakin lama menunggu, prioritas semakin
tinggi.

3. Priority Scheduling

Priority Scheduling merupakan algoritma penjadwalan yang
mendahulukan proses yang memiliki prioritas tertinggi.
Setiap proses memiliki prioritasnya masing-masing.

Prioritas suatu proses dapat ditentukan melalui beberapa
karakteristik antara lain:

1. Time limit
2. Memory requirement
3. Akses file
4. Perbandingan antara I/O Burst dengan CPU Burst
5. Tingkat kepentingan proses

Priority Scheduling juga dapat dijalankan secara
preemptive maupun non-preemptive.

Pada preemptive, jika ada suatu proses yang baru datang
memiliki prioritas yang lebih tinggi daripada proses
yang sedang dijalankan, maka proses yang sedang berjalan
tersebut dihentikan, lalu CPU dialihkan untuk proses yang
baru datang tersebut.

Sementara itu, pada non-preemptive, proses yang baru datang
tidak dapat menganggu proses yang sedang berjalan, tetapi
hanya diletakkan di depan queue.

Kelemahan pada priority scheduling adalah dapat terjadinya
indefinite blocking (starvation). Suatu proses dengan prioritas
yang rendah memiliki kemungkinan untuk tidak dieksekusi jika
terdapat proses lain yang memiliki prioritas lebih tinggi darinya.

Solusi dari permasalahan ini adalah aging, yaitu meningkatkan
prioritas dari setiap proses yang menunggu dalam queue secara
bertahap.

Contoh:
Setiap 10 menit, prioritas dari masing-masing proses yang
menunggu dalam queue dinaikkan satu tingkat.
Maka, suatu proses yang memiliki prioritas 127, setidaknya dalam
21 jam 20 menit, proses tersebut akan memiliki prioritas 0,
yaitu prioritas yang tertinggi. (semakin kecil angka menunjukkan
bahwa prioritasnya semakin tinggi)

Priority Scheduling
■ Algoritma:
■ Setiap proses akan mempunyai prioritas (bilangan integer).
■ CPU diberikan ke proses dengan prioritas tertinggi (smallest integer = highest priority).
■ Preemptive: proses dapat di interupsi jika terdapat prioritas lebih tinggi yang memerlukan CPU.
■ Nonpreemptive: proses dengan prioritas tinggi akan mengganti pada saat pemakain time-slice habis.
■ SJF adalah contoh priority scheduling dimana prioritas ditentukan oleh waktu pemakaian CPU berikutnya.
■ Problem = Starvation
■ low priority processes may never execute.
■ Solution = Aging
• Prioritas akan naik jika proses makin lama menunggu waktu jatah CPU.

Program Rental  Video

 

Program ini digunakan sebagai sistem informasi manajemen peminjaman video pada sebuah jasa rental video. Sistem yang dibuat ini bersifat interen, yang berarti pengguna program ini hanya kalangan tertentu yang memiliki hak akses terhadap program. Bagian-bagian yang akan mengakses program ini adalah Administrator dan Kasir.

 

A.   Database dan Tabel

Untuk menyimpan semua data, program ini menyediakan database Rental.mdb yang mempunyai 5 tabel, diantaranya :

1.      Tabel Data Member (TMember)

Field Name

Type

Field Size

Format

Keterangan

IDM

Text

6

DIM001

Identitas Member  (PK)

Nama

Text

30

 

 

JK

Text

10

 

Jenis Kelamin

TL

Date/Time

 

dd/mm/yyyy

Tanggal Lahir

Alamat

Text

50

 

 

Tlp

Text

20

 

 

Hp

Text

20

 

 

Statsus_Pinjam

Text

3

 

 

 

2.      Tabel Data DVD (TDVD)

Field Name

Type

Field Size

Format

Keterangan

No_DVD

Text

7

DVD0001

Nomor DVD (PK)

Judul

Text

30

 

Judul Film

Jenis

Text

15

 

JenisFilm

jumlah

Number

 

 

Jumlah beli

Jml_sekarang

Number

 

 

Stok gudang

Tarif

Number

 

 

Tarif/3hari

 

3.      Tabel Data Karyawan (TKaryawan)

Field Name

Type

Field Size

Format

Keterangan

IDK

Text

6

IDK001

Identitas Karyawan (PK)

Nama

Text

30

 

 

JK

Text

10

 

Jenis Kelamin

Tgl

Date/Time

 

dd/mm/yyyy

Tanggal Lahir

Tmp

Text

30

 

Tempat Lahir

Alamat

Text

50

 

 

PT

Text

50

 

Pendidikan Terakhir

tlp

Text

20

 

 

hp

Text

20

 

 

4.      Tabel Data Transaksi (TTransaksi)

Field Name

Type

Field Size

Format

Keterangan

No_T

Text

7

TPD0001

Nomor Transaksi (PK)

TglT

Date/Time

 

dd/mm/yyyy

Tanggal Transaksi

IDM

Text

6

MID001

Identitas Member (FK)

TglK

Date/Time

 

dd/mm/yyyy

Tanggal Kembali

Bayar

Number

 

 

 

IDK

Text

6

IDK001

Identitas Karyawan (FK)

disk

Text

4

 

Diskon

Status_T

Text

2

 

Status Transaksi

Sub_Bayar

Number

 

 

 

 

5.      Tabel Data Sub Transaksi (TSub)

Field Name

Type

Field Size

Format

Keterangan

No_T

Text

7

TPD0001

Nomor Transaksi (PK)

No_DVD

Date/Time

7

DVD0001

Tanggal Transaksi (PK)

Status_dvd

Text

2

 

 

Denda

Number

 

 

 

 

 

B.     Relationship

            Dan untuk menjadi satu kesatuan, kelima tabel ini mempunyai Relasionship sebagai berikut :

 

C.    Pengenalan Form

 

1.      Form Login

Form Login adalah Form yang pertama tampil ketikan menjalankan program ini. Pada form ini terdapat 2 formulir, yaitu action, kotak teks untuk user, kotak teks untuk password dan tombol submit untuk login.

Berikut ini tampilan Form Login .

 

           

Cara penggunaannya :

·         Isi teks USER dengan Nama User dan teks PASSWORD dengan Password yang telah ditentukan.

·         Ketikan kita klik tombol  maka jika kita login sebagai Adminidtrator akan tampil Form  Utama Administrator dan jika kita login sebagai Karyawan akan tampil Form Utama Karyawan.

·         Ketika kita klik tombol  maka sekaligus akan keluar dari program ini.

 

 

 

 

 

 

 

 

 

2.      Form Administrator

Form ini akan tampil ketika kita berhasil login sebagai Admoinistrator . pada form ini terdapat 3 Menu, diantaranya :

·         Menu File,Sub Menu File adalah LogOut dan Keluar.

·         Menu Master, Sub Menu Master adalah Karyawan (Form Data Karyawan).

·         Menu About, Sib Menu About adalah Status Login (Form Status Login).

 

3.      Form Karyawan

Form ini akan tampil ketika kita berhasil login sebagai Karyawan . pada form ini terdapat 6 Menu, diantaranya :

·         Menu File,Sub Menu File adalah LogOut dan Keluar.

·         Menu Master, Sub Menu Master adalah DVD (Form Data DVD) dan Member (Form Data Member).

·         Menu Transaksi, Sub Menu Transaksi adalah Peminjaman (Form Transaksi Peminjaman) dan Pengdembalian (Form Transaksi Pengembalian).

·         Menu Laporan, Sub Menu Laporan adalah Data DVD (Laporan), Data Member, Data DVD Sedang Dipinjam dan Data Member Sedang Meminjam.

·         Menu Pencarian, Sub Menu Pencarian adalah Data DVD (Form Pencarian Data DVD) dan Data Member ( Form Pencarian Data Member).

·         Menu About, Sib Menu About adalah Status Login (Form Status Login).

 

4.      Form Data Karyawan

Form ini akan tampil ketika memilih Master – Karyawan pada Form Administrator setelah login sebagai Administrator. Berikut tampilannya :

Cara Penggunaannya :

·         Klik tombol   ketika akan menambahkan Data Karyawan baru.

·         ID Karyawan akan muncul otomatis. Isi teks-teks yang telah disediakan kemudian klik tombol  ketika data akan disimpan.

·         Jika akan mengedit, pilih salah satu data pada List Data . Kemudian akan ditampilkan secara otomatis pada teks-teks yang tersedia.

·         Setelah data selesai diubah-ubah, kemudian klik tombol  untuk menyimpan data yang telah diubah.

·         Jika akan menghapus salah satu data, pilih data pada list data kemudian klik tombol  untuk menghapusnya.

·         Klik tombol  , jika akan keluar dari Form Data Karyawan.

 

5.      Form Data DVD

Form ini akan tampil ketika memilih Master – DVD pada Form Karyawan setelah login sebagai Karyawan. Berikut tampilannya :

 

Cara Penggunaannya :

·         Klik tombol   ketika akan menambahkan Data DVD baru.

·         No. DVD akan muncul otomatis. Kemudian Isi teks-teks yang telah disediakan. Setelah itu, klik tombol  ketika data akan disimpan.

·         Jika akan mengedit, pilih salah satu data pada List Data . Kemudian akan ditampilkan secara otomatis pada teks-teks yang tersedia.

·         Setelah data selesai diubah-ubah, kemudian klik tombol  untuk menyimpan data yang telah diubah.

·         Jika akan menghapus salah satu data, pilih data pada list data kemudian klik tombol  untuk menghapusnya.

·         Klik tombol  , jika akan keluar dari Form Data DVD.

 

6.      Form Data Member

Form ini akan tampil ketika memilih Master – Member pada Form Karyawan setelah login sebagai Karyawan. Berikut tampilannya :

 

Cara Penggunaannya :

·         Klik tombol   ketika akan menambahkan Data Member baru.

·         ID Member akan muncul otomatis. Isi teks-teks yang telah disediakan kemudian klik tombol  ketika data akan disimpan.

·         Jika akan mengedit, pilih salah satu data pada List Data . Kemudian akan ditampilkan secara otomatis pada teks-teks yang tersedia.

·         Setelah data selesai diubah-ubah, kemudian klik tombol  untuk menyimpan data yang telah diubah.

 

·         Jika akan menghapus salah satu data, pilih data pada list data kemudian klik tombol  untuk menghapusnya.

·         Klik tombol  , jika akan keluar dari Form Data Member.

 

7.      Form Transaksi Peminjaman

Form ini akan tampil ketika memilih Transaksi – Peminjaman pada Form Karyawan setelah login sebagai Karyawan. Berikut tampilannya :

 

Cara Penggunaannya :

·         Klik tombol   ketika ada trnsaksi peminjaman baru.

·         Pada teks yang ditandai tanda (*), data akan muncul otomatis. Isi teks-teks yang telah disediakan kemudian klik tombol  ketika data akan disimpan.

·         Klik tombol  , jika akan keluar dari Form Transaksi Peminjaman.

 

8.      Form Transaksi Pengembalian

Form ini akan tampil ketika memilih Transaksi – Pengembalian pada Form Karyawan setelah login sebagai Karyawan. Berikut tampilannya :

 

Cara Penggunaannya :

·         Klik tombol panah pada No. Transaksi, pilih nomor transaksi yang diinginkan.

·         Semua data akan muncul otomatis pada teks-teks yang telah disediakan

·         Klik tombol  untuk memilih semua dvd yang akan dikembalikan.

·         Pilih salah satu data pada List Data sebelah kiri. Klik tombol  untuk memilih satu-persatu dvd yang akan dikembalikan.

·         Pilih salah satu data pada List Data yang berada diposisi tengah. Klik tombol   untuk memilih satu-persatu dvd yang batal dikembalikan.

·         Klik tombol  untuk memilih semua dvd yang batal dikembalikan.

·         Kemudian klik tombol  ketika data akan disimpan.

·         Klik tombol  ,untuk kembali pada posisi awal.

·         Klik tombol  , jika akan keluar dari Form Transaksi Pengembalian.

 

9.      Form Pencarian Data DVD

Form ini akan tampil ketika memilih Pencarian – Data DVD pada Form Karyawan setelah login sebagai Karyawan. Berikut tampilannya :

 

Cara Penggunaannya :

·         Klik tombol panah pada combobox berdasarkan, pilih kategori pencarian  yang diinginkan.

·         Kemudian isi teks disampingnya, isi dengan kriteria yang diinginkan.

·         Semua data akan muncul otomatis pada list data yang telah disediakan

·         Klik tombol  , jika akan keluar dari Form Pencarian Data Member.

 

10.  Form Pencarian Data Member

Form ini akan tampil ketika memilih Pencarian – Data Member pada Form Karyawan setelah login sebagai Karyawan. Berikut tampilannya :

 

 

 

 

Cara Penggunaannya :

·         Klik tombol panah pada combobox berdasarkan, pilih kategori pencarian  yang diinginkan.

·         Kemudian isi teks disampingnya, isi dengan kriteria yang diinginkan.

·         Semua data akan muncul otomatis pada list data yang telah disediakan

·         Klik tombol  , jika akan keluar dari Form Pencarian Data Member.

 

11.  Form Status Login

Form ini akan tampil ketika memilih About – Status Login baik pada Form Karyawan ataupun Form Administrator. Form ini akan memberikan informasi Login. Untuk keluar dari Form ini, klik tombol . Berikut tampilannya :

 

D.    Laporan

 

1.      Laporan Data DVD

Untuk menampilkannya, pilih Laporan – Data DVD pada Form Karyawan setelah berhasil login sebagai karyawan. Berikut tampilannya :

2.      Laporan Data Member

Untuk menampilkannya, pilih Laporan – Data Member pada Form Karyawan setelah berhasil login sebagai karyawan. Berikut tampilannya :

 

3.      Laporan Data DVD Sedang Dipinjam

Untuk menampilkannya, pilih Laporan – Data DVD Sedang Dipinjam pada Form Karyawan setelah berhasil login sebagai karyawan. Berikut tampilannya :

 

 

 

 

 

 

 

4.      Laporan Data Member Sedang Meminjam

Untuk menampilkannya, pilih Laporan – Data Member Sedang Meminjam pada Form Karyawan setelah berhasil login sebagai karyawan. Berikut tampilannya :

 

 

            Karena keterbatasan kemampuan dan pengetahuan yang kami miliki. Atas segala kekurangan dan ketidaksempurnaan dalam pembuatan  program ini, kami sangat mengharapkan masukan dan saran yang bersifat membangun kearah perbaikan dan penyempurnaan program ini.