BAB II TINJAUAN PUSTAKA
II.1. Teori Antrian Teori antrian bermula dari penelitian Agner Kraup Erlang (siswanto, 2007) yang dimulai pada tahun 1909. Ia mengamati kasus kemacetan hubungan telepon di Copenhagen, dengan tujuan untuk menentukan permintaan sambungan telepon yang tidak pasti. Sebelum perang dunia ke-II berakhir, teori ini diperluas ke masalah-masalah umum dengan memasukkan unsur antri atau garis tunggu. Ada dua unsur pokok yang menentukan apakah masalah antrian atau garis tunggu dapat terjadi yaitu kedatangan pelanggan dan tingkat pelayanan fasilitas yang melayaninya. Tentunya semua pelanggan yang datang diharapkan semaksimal mungkin dapat dilayani dan cara yang paling baik untuk mengoptimalkan pelayanan terhadap pelanggan adalah dengan menentukan aturan pelayanan yang baik, atau dengan kata lain membuat suatu tata tertib antrian bagi pelanggan. Kebanyakan sistem yang menjadi perhatian dalam studi simulasi berisi proses permintaan layanan yang menyebabkan kongesti (kemacetan). Kongesti dapat dilukiskan oleh tiga karakteristik : 1. Pola kedatangan (arrival pattern) yang menggambarkan sifat-sifat statistik dari kedatangan. 2. Proses layanan (service process) yang melukiskan bagaimana entitas dilayani.
15
3. Tata tertib antrian (queuing discipline) yang menggambarkan bagaimana pemilihan entitas berikutnya yang akan dilayani.
II.2. Sistem Antrian Ada tiga komponen dalam sistem antrian yaitu : 1. Kedatangan, populasi yang akan dilayani (calling population) 2. Antrian 3. Fasilitas pelayanan Masing-masing komponen dalam sistem antrian tersebut mempunyai karakteristik sendiri-sendiri. Karakteristik dari masing-masing komponen tersebut adalah :
II.2.1. Kedatangan Populasi yang akan Dilayani (calling population) Karakteristik dari populasi yang akan dilayani (calling population) dapat dilihat menurut ukurannya, pola kedatangan, serta perilaku dari populasi yang akan dilayani. Menurut ukurannya, populasi yang akan dilayani bisa terbatas (finite) bisa juga tidak terbatas (infinite). Sebagai contoh jumlah mahasiswa yang antri untuk registrasi di sebuah perguruan tinggi sudah diketahui jumlahnya (finite), sedangkan jumlah nasabah bank yang antri untuk setor, menarik tabungan, maupun membuka rekening baru, bisa tak terbatas (infinite). Pola kedatangan bisa teratur, bisa juga acak (random). Kedatangan yang teratur sering kita jumpai pada proses pembuatan/ pengemasan produk yang sudah distandardisasi. Pada proses semacam ini, kedatangan produk untuk diproses pada bagian selanjutnya biasanya sudah ditentukan waktunya, misalnya setiap 30 detik.
16
Sedangkan pola kedatangan yang sifatnya acak (random) banyak kita jumpai misalnya kedatangan nasabah di bank. Pola kedatangan yang sifatnya acak dapat digambarkan dengan distribusi statistik dan dapat ditentukan dua cara yaitu kedatangan per satuan waktu dan distribusi waktu antar kedatangan. Contoh : Kedatangan digambarkan dalam jumlah satu waktu, dan bila kedatangan terjadi secara acak, informasi yang penting adalah Probabilitas n kedatangan dalam periode waktu tertentu, dimana n = 0,1,2,. Jika kedatangan diasumsikan terjadi dengan kecepatan rata-rata yang konstan dan bebas satu sama lain disebut distribusi probabilitas Poisson Ahli matematika dan fisika, Simeon Poisson (1781 – 1840), menemukan sejumlah aplikasi manajerial, seperti kedatangan pasien di RS, sambungan telepon melalui central switching system, kedatangan kendaraan di pintu toll, dll. Semua kedatangan tersebut digambarkan dengan variabel acak yang terputus-putus dan nonnegative integer (0, 1, 2, 3, 4, 5, dst). Selama 10 menit mobil yang antri di pintu toll bisa 3, 5, 8, dst. Ciri distribusi poisson: 1. Rata-rata jumlah kedatangan setiap interval bisa diestimasi dari data sebelumnya 2. Bila interval waktu diperkecil misalnya dari 10 menit menjadi 5 menit, maka pernyataan ini benar a. Probabilita bahwa seorang pasien datang merupakan angka yang sangat kecil dan konstan untuk setiap interval b. Probabilita bahwa 2 atau lebih pasien akan datang dalam waktu interval sangat kecil sehingga probabilita untuk 2 atau lebih dikatakan nol (0).
17
c. Jumlah pasien yang yang datang pada interval waktu bersifat independent d. Jumlah pasien yang datang pada satu interval tidak tergantung pada interval yang lain. Probabilitas n kedatangan dalam waktu T ditentukan dengan rumus :
dimana n = 0, 1, 2, .... Dimana : λ = rata-rata kedatangn persatuan waktu T = periode waktu n = jumlah kedatangan dalam waktu T P (n,T) = probabilitas n kedatangan dalam waktu T Jika kedatangan mengikuti Distribusi Poisson dapat ditunjukkan secara matematis bahwa waktu antar kedatangan akan terdistribusi sesuai dengan distribusi eksponensial . -λt
P(T≤ t) = 1 - e 0 ≤ t ≤ ∞ Dimana: P(T≤ t) = probabilitas di mana waktu antar kedatangan T ≤ suatu waktu tertentu λ = rata - rata kedatangan persatuan waktu t = suatu waktu tertentu Suatu faktor yang mempengaruhi penilaian distribusi kedatangan adalah ukuran populasi panggilan .
18
Contoh : jika seorang tukang reparasi sedang memperbaiki enam buah mesin, populasi panggilan dibatasi sampai dengan enam buah mesin. Dalam hal ini tidak mungkin bahwa kedatangan mengikuti distribusi Poisson sebab tingkat kecepatan kerusakan tidak konstan. Jika lima buah mesin telah rusak, tingkat kedatangan lebih rendah daripada bila seluruh mesin dalam keadaan operasi.
II.2.2. Antrian Batasan panjang antrian bisa terbatas (limited) bisa juga tidak terbatas (unlimited). Sebagai contoh antrian di jalan tol masuk dalam kategori panjang antrian yang tidak terbatas. Sementara antrian di rumah makan, masuk kategori panjang antrian yang terbatas karena keterbatasan tempat. Dalam kasus batasan panjang antrian yang tertentu (definite line-length) dapat menyebabkan penundaan kedatangan antrian bila batasan telah tercapai. Contoh : sejumlah tertentu pesawat pada landasan telah melebihi suatu kapasitas bandara, kedatangan pesawat yang baru dialihkan ke bandara yang lain.
II.2.3. Fasilitas Pelayanan Karakteristik fasilitas pelayanan dapat dilihat dari tiga hal, yaitu tata letak (lay out) secara fisik dari sistem antrian, disiplin antrian, waktu pelayanan. 1. Tata letak Tata letak fisik dari sistem antrian digambarkan dengan jumlah saluran, juga disebut sebagai jumlah pelayan. Sistem antrian jalur tunggal (single channel, single server) berarti bahwa dalam sistem antrian tersebut hanya terdapat satu
19
pemberi layanan serta satu jenis layanan yang diberikan. Sementara sistem antrian jalur tunggal tahapan berganda (single channel multi server) berarti dalam sistem antrian tersebut terdapat lebih dari satu jenis layanan yang diberikan, tetapi dalam setiap jenis layanan hanya terdapat satu pemberi layanan. Sistem antrian jalur berganda satu tahap (multi channel single server) adalah terdapat satu jenis layanan dalam sistem antrian tersebut , namun terdapat lebih dari satu pemberi layanan. Sedangkan sistem antrian jalur berganda dengan tahapan berganda (multi channel, multi server) adalah sistem antrian dimana terdapat lebih dari satu jenis layanan dan terdapat lebih dari satu pemberi layanan dalam setiap jenis layanan. 2. Disiplin antrian Salah satu faktor penyebab utama kemacetan adalah tata tertib antrian yang menentukan bagaimana memilih entitas berikutnya dari garis tunggu (waiting line) yaitu : 1. FIFO (First In First Out) “masuk pertama, keluar pertama” terjadi bila entitas yang datang melakukan antrian sesuai dengan waktu kedatangannya. Layanan diberikan pada entitas berikutnya yang telah menunggu paling lama. 2. LIFO (Last In First Out) “masuk terakhir, keluar pertama”, terjadi bila layanan berikutnya diberikan pada entitas yang datang paling akhir. 3. Acak (random) berarti dilakukan pilihan secara acak terhadap entitas untuk memperoleh layanan. Bila tak ada spesifikasi lain, istilah acak ini menyatakan
20
bahwa semua entitas yang sedang menunggu untuk dilayani mempunyai kesempatan yang sama untuk dipilih. 3. Waktu pelayanan Waktu yang digunakan untuk melayani individu dalam suatu sistem disebut waktu pelayanan (service time). Waktu ini mungkin konstan tetapi juga sering acak. Bila waktu pelayanan konstan, akan mengikuti distribusi eksponensial atau distribusinya acak, waktu pelayanan akan mengikuti suatu distribusi Poisson.
II.3. Model dan Notasi Antrian II.3.1. Model Antrian Sistem layanan sendiri diklasifikasikan berdasarkan konfigurasi jumlah server dan jumlah phasenya yang dikelompokkan menjadi 4 bentuk dasar (Siswanto, 2007, hal; 224), yaitu single channel single phase, single channel multiphase, multichannel single phase dan multichannel multiphase. Dari keempat konfigurasi dasar ini berkembang menjadi berbagai macam bentuk yang lebih kompleks.
21
Model sistem antrian yang umum yaitu dapat dilihat pada gambar II.1 berikut ini:
Disiplin Antrian input pelanggan
Antrian
Service facility
(arrival)
output (departure)
Gambar II.1. Model Sistem Antrian Sumber : Siswanto, 2007, hal; 219. Dalam model yang ditunjukkan gambar II.1, berdasarkan formulasi Little bisa dinyatakan sebagai : N = T
(2.1)
Dimana adalah probabilitas kedatangan pelanggan, T adalah rata-rata waktu proses di dalam sistem (proses antrian dan pelayanan), dan N adalah ratarata banyaknya pelanggan didalam sistem. Bentuk antrian multiserver multiqueue adalah pengembangan dari konsep antrian single server dengan menambahkan jumlah garis antrian dan membentuk fasilitas pelayanan yang paralel, sehingga modelnya membentuk banyak server dengan masing-masing server memiliki antrian masing-masing atau “multiserver multiqueue”. Model antrian multiserver multiqueue ini umumnya mengizinkan terjadinya peristiwa jockeying antar garis antrian pelayanan.
22
Sistem Antrian
Queue Service facility
input
output
pelanggan
Queue Service facility
(arrival)
(departure) Queue
Gambar II.2. Model antrian multiserver multiqueue Sumber : Render, Barry & Stair, 2003, hal; 238. Jika dalam model antrian multiserver multiqueue garis antrian digabung menjadi hanya terdapat satu garis antrian saja, maka model antriannya akan berbentuk multiserver single queue dengan model seperti pada gambar II.3 : Sistem Antrian
Queue
input pelanggan
output Service
(arrival)
facility
(departure)
Gambar II.3. Model antrian multiserver single queue Sumber : Render, Barry & Stair, 2003, hal; 232.
II.3.2. Notasi Antrian Untuk menyatakan sistem antrian digunakan notasi Kendall (Kakiay, Thomas.J, 2003, hal; 259) yang di tulis sebagai A/B/C/K/M/Z [2,3,5,6]. A: distribusi kedatangan pelanggan
23
B: distribusi pelayanan C: jumlah pelayanan K: panjang antrian yang diizinkan (termasuk didalamnya pelanggan yang sedang diproses) M: jumlah pelanggan yang datang Z: metode pelayanan Untuk distribusi kedatangan pelanggan dan distribusi pelayanan yang sering digunakan adalah tanda : M: distribusi eksponensial G: distribusi umum D: konstanta (constant)
II.4. Bentuk Kedatangan dan Pelayanan II.4.1. Bentuk kedatangan pelanggan Bentuk kedatangan pelanggan atau input pada sistem antrian biasanya diukur oleh rerata banyaknya kedatangan pelanggan persatuan waktu (mean arrival rate), atau oleh rerata waktu diantara kedatangan yang berurutan (mean interarrival rate). Pada kejadian dimana aliran input adalah deterministik (dapat diketahui dengan pasti atau tidak mengandung ketidakpastian) maka bentuk kedatangan ditentukan melalui mean arrival rate atau mean interarrival rate. Jika terdapat bentuk yang tidak pasti dari kedatangan maka bentuk ini disebut random atau probabilistik.
24
II.4.2. Bentuk pelayanan server Sebagaimana bentuk kedatangan pelanggan, bentuk pelayanan server dapat diterangkan oleh banyaknya pelanggan yang telah selesai dilayani per unit waktu atau waktu yang dibutuhkan untuk melayani seorang pelanggan, satu hal penting yang membedakan pelayanan dan kedatangan. Ketika kita bicara tentang laju pelayanan (service rate) atau waktu pelayanan (service time) maka sistem dalam keadaan kosong. Jika suatu sistem kosong (empty) maka fasilitas pelayanan dikatakan idle (kosong). Bentuk pelayanan juga bisa deterministik atau probabilistik. Laju pelayanan tergantung dari banyaknya pelanggan yang menunggu untuk diberi pelayanan, sebuah server dapat bekerja lebih cepat jika memiliki antrian yang semakin bertambah atau sebaliknya. Situasi dimana pelayanan tergantung pada banyaknya pelanggan yang menunggu dalam antrian disebut state dependent service. Meskipun istilah ini tidak dipakai untuk bentuk kedatangan, masalah pelanggan yang tidak sabar dapat dilihat sebagai state independent arrivals karena sifat kedatangan bergantung pada panjang antrian. Sehingga panjang antrian merupakan hasil dari dua proses terpisah, kedatangan dan pelayanan. Pelayanan sebagaimana kedatangan, bisa stasioner atau nonstasioner terhadap waktu.
25
II.5. Perilaku pelanggan yang mempengaruhi antrian Perlu juga diketahui reaksi pelanggan ketika masuk ke dalam sistem antrian. Seorang pelanggan bisa memutuskan untuk menunggu walaupun antriannya panjang atau keluar dari sistem jika merasa antriannya terlalu panjang. Beberapa perilaku digambarkan sebagai berikut: 1.
Jika seseorang memutuskan untuk tidak masuk ke dalam antrian ketika ia baru datang karena mungkin melihat antriannya terlalu panjang, maka ia melakukan penolakan atau balked.
2.
Jika seorang pelanggan meninggalkan antrian karena tidak sabar terhadap waktu menunggunya, sedangkan dia telah mengantri, maka ia dikatakan telah melakukan pembatalan atau reneged.
3.
Jika dalam garis tunggu atau antrian ada yang lebih pendek atau ketika pelanggan melihat garis yang lain itu sedang bergerak lebih cepat, maka reaksi lain berupa pelanggan berinisiatif pindah dari antrian satu ke antrian lainnya untuk mencoba mengurangi waktu di dalam sistem sehingga terjadi proses yang disebut jockeying.
II.6. Distribusi II.6.1. Pola Distribusi Kedatangan Distribusi Poisson adalah distribusi peluang peubah acak x yang menyatakan banyaknya sukses dalam suatu selang waktu atau daerah tertentu yang dinyatakan dengan t dengan memiliki sifat-sifat berikut :
26
Fungsi distribusi kemungkinan untuk suatu Proses Poisson (Pangestu Subagyo, Marwan Asri dan T.Hani Handoko, 2005, hal; 258)
digambarkan
sebagai :
f ( x, t )
( t ) X e t x!
x 0,1, 2 ...
Lamda adalah rata-rata kelajuan per unit waktu, yang ditunjukkan oleh gambar berikut ini :
P (t)
Gambar II.4. Grafik Distribusi Poisson Sumber : Pangestu Subagyo, SE., MBA, Marwan Asri, SE., MBA, T. Hani Handoko, SE, 2005, “Dasar - Dasar Operations Research”, BPFE, Yogyakarta Grafik distribusi Poisson pada gambar II.4 menggambarkan fungsi densitas distribusi Poisson dengan nilai λ bervariasi. Dengan fungsi densitas distribusi Poisson ini, maka diperoleh fungsi distribusi kumulatifnya (Pangestu Subagyo, Marwan Asri dan T.Hani Handoko, 2005, hal; 258) adalah :
f ( x, t )
( t ) X e t x!
x 0,1, 2 ...
27
dari teori probabilitas dapat ditemukan sejumlah kejadian yang muncul dan dinyatakan dalam distribusi Poisson, sedangkan waktu antara kedua kejadian tersebut dinyatakan dalam parameter distribusi eksponensial. Dengan demikian untuk mengambil sample simulasi dari distribusi Poisson dilakukan dengan (mean) = t , yang mana λ adalah parameter eksponensial dan t adalah jumlah waktu. Dari distribusi ini diketahui random variabelnya : ti = 1/λ ln (u) ,
u = uniform variate [0,1]
untuk µ = 1/ λ Dengan mengambil ti berulang kali sampai jumlah random variate eksponensial melampaui nilai waku t untuk pertama kali. Hal ini dapat dilakukan untuk setiap distribusi Poisson setelah λ dan t sebagai parameter yang diperlukan diketahui.
II.6.2. Pola Distribusi Pelayanan Fungsi distribusi densitas dari suatu distribusi bersifat eksponen (Husnan, Suad, 1982, hal; 259) adalah :
exponential (x, ) = otherwise Untuk distribusi kumulatifnya adalah :
Commulative density function (x, ) = otherwise
28
Beberapa Contoh distribusi yang bersifat eksponen untuk berbagai nilai-nilai lamda ditunjukkan gambar II.5 dibawah ini : This image cannot currently be display ed.
P (t)
t
Gambar II.5. Grafik Distribusi Eksponensial Sumber : Pangestu Subagyo, SE., MBA, Marwan Asri, SE., MBA, T. Hani Handoko, SE, 2005, “Dasar - Dasar Operations Research”, BPFE, Yogyakarta.
Selanjutnya apabila yang ingin diketahui adalah tingkat pelayanan dan juga lamanya waktu pelayanan itu, maka: t = waktu pelayanan λ = laju pelayanan (service rate) dalam unit waktu Itu berarti distribusi fungsi densitas eksponensialnya (Husnan, Suad, 1982, hal; 259) adalah :
f t t untuk t > 0 maka untuk CDF akan diperoleh :
F t
t
e 0
x
dx 1 e t
29
Bila dinyatakan dalam random number akan diperoleh:
F t R 1 et e t 1 R
ln et ln1 R
untuk R = antara 0 dan 1
-λt = ln R 1 Maka t ln R
II.6.3. Hubungan Antara Distribusi Poisson Dan Distribusi Eksponensial Untuk mengetahui bagaimana distribusi waktu antar kejadian pada proses Poisson, kita kembali ke fungsi distribusi Poisson (Aminudin, 2005, hal; 174). t x t f ( x ) Pr X x e x!
(2.2)
dimana λ adalah rerata kedatangan (Aminudin, 2005, hal; 174) dan t adalah periode waktu. Didefenisikan T sebagai waktu suatu kejadian, diperoleh:
F (t ) Pr T t
(2.3)
ini sama dengan
F (t ) Pr T t 1 Pr T t
(2.4)
dimana t 0 t Pr T t Pr x 0 e 0 !
= e t
(2.5)
30
selanjutnya disubtitusikan ke hasil Pr T t dalam persamaan (2.4) dan diperoleh
F t 1 e t yang merupakan fungsi distribusi eksponensial.
II.6.4. Sifat Memoryless Distribusi Eksponensial Memoryless berarti banyaknya hasil yang terjadi dalam selang waktu atau daerah tertentu tidak terpengaruh oleh apa yang terjadi pada selang waktu atau daerah lain yang terpisah. Sifat ini setara dengan pembuktian pernyataan probabilitas (Render, Barry & Stair, 2003, hal; 238) berikut ini : Pr x T t | T Prx t Menurut Wulandari, N.E. (2007) yang membahas tentang model antrian di dalam suatu sistem acak, waktu kejadian dari suatu peristiwa (kedatangan, keberangkatan) tidaklah dipengaruhi oleh waktu yang berlalu karena kejadian yang terakhir. Hanya ada dua distribusi yang memiliki sifat memoryless yaitu distribusi eksponensial (kontinu) dan distribusi geometri (diskret). Distribusi eksponensial memiliki sifat memoryless dapat dibuktikan sebagai berikut :
Pr x T t | x T
=
=
Pr x T t x.T Pr x T Prx T t Pr x T Pr x T
1 e
Pr1 e 1 1 e
T t
T
T
31
=
e t 1 e t 1 e t T e
= Pr x t
II.6.5. Pembangkit Bilangan Acak Pengertian distribusi berhubungan dengan distribusi probabilitas yang dipergunakan untuk meninjau atau terlibat langsung dengan penarikan bilangan acak (random number). Telah dikembangkan program komputer untuk membangkitkan sederetan bilangan yang terdistribusi secara uniform pada suatu jangkauan (range) tertentu umumnya [0 , 1]. Pada pembangkitan pola kedatangan, kedatangan entitas didefenisikan sebagai sebuah kejadian dan waktu kedatangan entitas berikutnya direkam sebagai salah satu waktu kejadian. Bila waktu mencapai waktu kejadian ini, kejadian masuknya entitas ke dalam sistem akan dieksekusi, dan waktu kedatangan entitas berikutnya dapat segera dihitung dari distribusi waktu antar kedatangan. Karena pada penelitian ini telah diketahui bahwa waktu antar kedatangan jika proses kedatangannya adalah proses Poisson, adalah eksponensial. Fungsi distribusi kumulatif dari distribusi eksponensial diberikan oleh :
y = 1- e
x
Yang bila diinverskan akan menghasilkan :
t = Ln (1-y)
32
Lambang Ln menunjukkan logaritma natural, dan y menunjukkan
distribusi
kumulatif, suku 1-y bernilai antara 0 dan 1. Dalam rentang nilai ini, logaritma berharga negatif. t = -1/ Ln (1-y) Dengan menggunakan rumus logaritma natural dan menggantikan nilai y dengan sederet bilangan acak yang uniform antara 0 dan 1, akan menghasilkan keluaran berupa sederet bilangan acak yang berdistribusi eksponensial.. Metode pembangkitan bilangan acak ini diterapkan untuk pembangkitan bilangan acak waktu antar kedatangan (interarrival time) dan pembangkitan waktu layanan (service time), menggunakan fungsi kumulatif dari distribusi eksponensial.
II.7. Banyaknya Server Banyaknya server (number of server channel) merupakan banyaknya server yang dipasang secara paralel yang dapat melayani para pelanggan secara serempak. Terdapat dua macam server yaitu single server dan multi server.
II.8. Metode Jockeying Jockeying adalah terjadinya perubahan dalam antrian ketika ada pelanggan yang sedang antri kemudian berpindah ke antrian lain yang baru saja selesai melayani, yang lebih pendek dari antriannya. Peristiwa jockeying ini akan menyebabkan perubahan pada posisi pelanggan dalam antrian, sehinggan
33
dibutuhkan suatu metode dalam menganalisa perubahan yang terjadi pada sistem antrian yang melibatkan peristiwa jockeying.
II.9. Kapasitas Sistem Pada sebuah antrian, terdapat batas secara fisik yang menunjukkan banyaknya atau besarnya ruang tunggu, sehingga ketika sebuah antrian mencapai panjang tertentu, pelanggan yang baru datang tidak dibolehkan masuk kedalam sistem hingga memungkinkan baginya untuk masuk (kapasitas ruang tunggu belum terisi penuh) keadaan tersebut disebut antrian berhingga (finite queuing), maka terdapat batas berhingga untuk ukuran maksimum antrian. Kebalikannya adalah antrian tak berhingga (infinite queuing).
II.10. Merumuskan Masalah Antrian Perkiraan prestasi dari sistem antrian dapat digambarkan dengan misalnya : rata-rata jumlah kedatangan dalam antrian, rata-rata waktu tunggu dari suatu kedatangan dan persentase waktu luang dari pelayanan. Ukuran prestasi ini dapat digunakan untuk memutuskan jumlah pelayanan yang harus diberikan, perubahan yang harus dilakukan dalam kecepatan pelayanan atau perubahan lain dalam sistem antrian. Dengan sasaran pelayanan, jumlah pelayan dapat ditentukan tanpa berpatokan pada biaya waktu tunggu. Ukuran prestasi dan parameter model antrian ditentukan dengan notasi sebagai berikut: Λ = rata-rata kecepatan kedatangan (jumlah kedatangan persatuan waktu)
34
1/λ = rata-rata waktu antar kedatangan μ = rata-rata kecepatan pelayanan (jumlah satuan yang dilayani persatuan waktu bila pelayan sibuk). 1/μ = rata-rata waktu yang dibutuhkan pelayan ρ
= faktor penggunaan pelayan (proporsi waktu pelayan ketika sedang sibuk)
Pn = probabilita bahwa n satuan (kedatangan) dalam sistem Lq = rata-rata jumlah satuan dalam antrian (rata-rata panjang antrian) Ls = rata-rata jumlah satuan dalam sistem Wq = rata-rata waktu tunggu dalam antrian Ws = rata-rata waktu tunggu dalam sistem Dari asumsi tersebut dapat diperoleh hasil secara statistik sebagai berikut : n
1 Pn P0 n! 1 Pn c!c n c
n =0 , 1,... c – 1
(2.6)
n≥c
(2.7)
n
Po
P0 diperoleh dengan normalisasi. P(n ≥ c) = Probabilitas suatu kedatangan menunggu untuk dilayani = Probabilitas sekurang-kurangnya m pelanggan dalam sistem
=
Pn n c
c
P0 = c!(1 / c)
(2.8)
35
Po =
1 c 1 1 n 0 n!
n
c 1 c!(1 / c )
( probabilitas waktu koso
(2.9)
c 1
P0 Lq = c(c!)(1 / c) 2 Ls = Lq+
Wq =
( rerata jumlah unit dalam antrian )
(2.10)
( rerata jumlah unit dalam sistem ) (2.11)
Lq
( rerata waktu didalam antrian )
(2.12)
c
Ls 1 Po Ws = 2 c 1!c
( rerata waktu didalam sistem ) (2.13)
c
II.11. Pengertian Sistem Sistem adalah sekumpulan unsur / elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu tujuan. Berikut ini adalah pengertian sistem menurut para ahli: a.
Ludwig Von Bartalanfy Sistem merupakan seperangkat unsur yang saling terikat dalam suatu antar relasi diantara unsur-unsur tersebut dengan lingkungan.
36
b.
Anatol Raporot Sistem adalah suatu kumpulan kesatuan dan perangkat hubungan satu sama lain.
c.
L.Ackof Sistem adalah setiap kesatuan secara konseptual atau fisik yang terdiri dari bagian-bagian dalam keadaan saling tergantung satu sama lainnya.
(sumber: http://duniabaca.com/pengertian-sistem-dan-analisis-sistem.html. Di akses pada tanggal 11 juli 2012). Contoh: sistem komputer terdiri dari a.
Software
b.
Hardware
c.
Brainware
d.
Sistem Akuntansi
A. Syarat-syarat system 1.
Sistem harus dibentuk untuk menyelesaikan masalah.
2.
Elemen sistem harus mempunyai rencana yang ditetapkan.
3.
Adanya hubungan diantara elemen sistem.
4.
Unsur dasar dari proses (arus informasi, energi dan material) lebih penting dari pada elemen sistem.
5.
Tujuan organisasi lebih penting dari pada tujuan elemen.
(sumber: http://duniabaca.com/pengertian-sistem-dan-analisis-sistem.html. Di akses pada tanggal 11 juli 2012).
37
B. Klasifikasi Sistem 1.
Sistem Abstrak (Abstract System) Adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik.
2.
Sistem Fisik (Physical System) Merupakan sistem yang ada secara fisik.
3.
Sistem Alamiah (Natural System) Merupakan sistem yang terjadi melalui proses alam.
4.
Sistem buatan manusia (Human made system) Merupakan sistem yang dirancang oleh manusia. Sistem buatan manusia yang melibatkan interaksi manusia dengan mesin yang disebut human-machine system
5.
Sistem deterministik (Deterministic System) Beroperasi dengan tingkah laku yang sudah dapat diprediksi. Interaksi bagian-bagiannya dapat dideteksi dengan pasti sehingga keluaran dari sistem dapat diramalkn.
6.
Sistem Tak Tentu (Probabilistic System) Merupakan sistem yang kondisi masa depannya tidak dapat diprediksikan karena mengandung unsur probabilitas.
7.
Sistem Tertutup (Closed Sistem) Merupakan sistem yang tidak berhubungan dan tidak terpengaruh dengan sistem luarnya. Secara teoritis system tersebut ada, tetapi kenyataannya tidak
38
ada sistem yang benar-benar tertutup, yang ada hanyalah relatively closed system (secara relative tertutup, tidak benar-benar tertutup). 8.
Sistem Terbuka (Open Sistem) Merupakan sistem yang berhubungan dan terpengaruh dengan lingkungan luarnya.
(sumber: http://duniabaca.com/pengertian-sistem-dan-analisis-sistem.html. Di akses pada tanggal 11 juli 2012). C. Karakteristik sistem/Elemen sistem 1.
Komponen sistem (Componen) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan. Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagianbagian dari sistem. Setiap sistem tidak peduli betapapun kecilnya, selalu mengandung komponen-komponen atau subsistem-subsistem. Setiap subsistem mempunyai sifat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Jadi, dapat dibayangkan jika dalam suatu sistem ada subsistem yang tidak berjalan atau berfungsi sebagaimana mestinya. Tentunya sistem tersebut tidak akan berjalan mulus atau mungkin juga sistem tersebut rusak sehingga dengan sendirinya tujuan sistem tersebut tidak tercapai.
2.
Batas Sistem (Boundary) Batas Sistem (Boundary) merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya.batas
39
sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut. 3.
Lingkungan luar sistem (Environment) Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. Lingkungan luar yang menguntungkan merupakan energi dari sistem dan dengandemikian harus tetap dijaga dan dipelihara. Sedang lingkungan luar yang merugikan harus ditahan dan dikendalikan, kalau tidak maka akan mengganggu kelangsungan hidup dari sistem.
4.
Penghubung sistem Penghubung sistem merupakan media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumbersumber daya mengalir dari satu subsistem ke yang lainnya. Keluaran (output) dari satu subsistem akan menjadi masukan (input) untuk subsistem lainnya dengan melalui penghubung.
5.
Masukan (input) sistem Masukan sistem adalah energy yang dimasukkan ke dalam sistem. Masukan dapat berupa masukan perawatan (maintenance input) dan masukan sinyal (signal output). Maintenance input adalah energy yang dimasukkan supaya sistem tersebut dapat beroperasi. Signal input adalah energy yang diproses untuk didapatkan keluaran. Sebagai contoh didalam sistem komputer,
40
program adalah maintenance input yang digunakan untuk mengoperasikan komputernya dan data adalah signal input untuk diolah menjadi informasi. 6.
Keluaran (output) Keluaran sistem adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk subsistem yang lain atau kepala supersistem. Misalnya untuk sistem komputer, panas yang dihasilkan adalah keluaran yang tidak berguna dan merupakan hasil sisa pembuangan, sedang informasi adalah keluaran yang dibutuhkan.
7.
Pengolah (process) sistem Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukan menjadi keluaran. Suatu system produksi akan mengolah masukan berupa bahan baku dan bahan-bahan yang lain menjadi keluaran berupa barang jadi.
8.
Sasaran (objectives) atau tujuan (Goal) Suatu sistem pasti mempunyai tujuan atau sasaran. Kalau suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya. Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya. Perbedaan suatu sasaran (objectives) dan suatu tujuan (goal) adalah, goal biasanya dihubungkan dengan ruang lingkup yang lebih luas dan sasaran dalam ruang lingkup yang lebih sempit. Bila merupakan suatu sistem utama, seperti misalnya sistem bisnis perusahaan,
41
maka istilah goal lebih tepat diterapkan. Untuk sistem akuntansi atau sistemsistem lainnya yang merupakan bagian atau subsistem dari sistem bisnis, maka istilah objectives yang lebih tepat. Jadi tergantung dari ruang lingkup mana memandang sistem tersebut. Seringkali tujuan (goal) dan sasaran (objectives) digunakan bergantian dan tidak dibedakan. (sumber: http://www.scribd.com/doc/83787517/7/Pengertian-Sistem. Di akses pada tanggal 11 juli 2012).
II.12. Perancangan 1.
Defenisi Perancangan Perancangan adalah proses penerapan berbagai teknik dan prinsip dengan
tujuan untuk mentransformasikan hasil analisis ke dalam bentuk yang memudahkan pengimplementasian. 2.
Prinsip Perancangan a.
Hasil perancangan harus dapat dirunut dari model analisisnya (perancangan harus konsisten dengan hasil analisis)
b.
Perancangan harus memperkecil perbedaan antara perangkat lunak yang dihasilkan dengan problem nyatanya
c.
Perancangan harus dapat mengakomodasi perubahan
d.
Perancangan bukan coding dan coding bukan perancangan
e.
Perancangan haarus memperkecil kesalahan konseptual (semantik)
42
3.
Konsep Perancangan a.
Abstraksi adalah cara pendeskripsian suatu masalah. Pada pemecahan masalah secara modular terdapat tingkat abstraksi. Abstraksi tingkat tinggi menjabarkan masalah yang ada secara umum. Sedangkan abstraksi tingkat rendah menjabarkan rincian dari pemecahan masalah untuk
dapat
diimplementasikan
dengan
menggunakan
bahasa
pemrograman tertentu. b.
Refinement merupakan proses untuk mengelaborasi atau melakukan perincian secara iteratif berdasarkan kebutuhan fungsional yang telah didefinisikan
hingga
diperoleh
pernyataan
yang
memudahkan
pengimplementasian dengan bahasa pemrograman tertentu. c.
Modularitas perangkat lunak dipartisi ke dalam elemen-elemen yang masing-masing merepresentasikan fungsi tertentu, atau sering disebut modul, dan diintegrasikan untuk memenuhi kebutuhan yang telah didefinsikan pada tahap analisis.
d.
Arsitektur Perangkat Lunak menggambarkan struktur keseluruhan dari perangkat lunak.
e.
Hirarki Kontrol disebut juga struktur program, merepresentasikan organisasi (seringkali secara hirarki) komponen program (modul).
f.
Pemartisian Struktur menggambarkan bagaimana program disusun secara berhirarki.
g.
Struktur Data mendeskripsikan pengorganisasian, metode akses, derajat asosiasi dari informasi.
43
h.
Penyembunyian
Informasi
berfungsi
untuk
membentuk
tingkat
modularitas yang tinggi. i.
Ketidakbergantungan Fungsional diukur dengan dua kriteria, yaitu cohesion
dan
coupling.
Cohesion
adalah
suatu
atribut
yang
menunjukkan ukuran bahwa suatu komponen (modul) mewakili entitas lojik tunggal atau memwakili satu fungsi. Coupling adalah suatu atribut yang menunjukkan ukuran tingkat konektivitas antar komponen (modul). Kriteria perancangan modular yang baik adalah jika cohesion tinggi dan coupling rendah. (sumber:http://achmadyasid.files.wordpress.com/2011/06/bab_4_perancangan.pdf .Di akses pada tanggal 11 juli 2012).
II.13. System Development Life Cycle (SDLC) Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Pengembangan sistem (SDLC) diperlukan untuk menyusun suatu sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem yang ada hal ini di karenakan adanya permasalahan di sistem lama dan pertumbuhan organisasi. Dengan telah dikembangkannya sistem yang baru, maka diharapkan akan terjadi peningkatan-peningkatan di sistem yang baru. Peningkatan-peningkatan ini berhubungan dengan PIECES yaitu sebagai berikut : Performance (kinerja), peningkatan terhadap kinerja (hasil kerja) sistem yang baru sehingga menjadi
44
lebih efektif. Kinerja dapat diukur dari throughput dan response time. Throughput adalah jumlah dari pekerjaan yang dapat dilakukan suatu saat tertentu. Response time adalah rata-rata waktu yang tertunda diantara dua transaksi atau pekerjaan ditambah dengan waktu response untuk menanggapi pekerjaan tersebut. Information (informasi), peningkatan terhadap kualitas informasi yang disajikan. Economy (ekonomis), peningkatan terhadap manfaat-manfaat, keuntungankeuntungan atau penurunan-penurunan biaya yang terjadi. SDLC (System Development Life Cycle) adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. Langkah yang digunakan meliputi : melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi, mempelajari dan menganalisis sistem informasi yang sedang berjalan, menentukan permintaan pemakai sistem informasi, memilih solusi atau pemecahan masalah yang paling baik, menentukan perangkat keras (hardware) dan perangkat lunak (software), merancang sistem informasi baru, membangun sistem informasi baru, mengkomunikasikan dan mengimplementasikan sistem informasi baru, memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan. Dalam sebuah siklus SDLC, terdapat lima langkah. Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun secara umum adalah sama. Langkah tersebut adalah sebagai berikut : 1. Perancangan Sistem Tujuan perancangan sistem adalah untuk menentukan dan mendefinisikan sistem informasi apa yang akan dikembangkan sehingga dapat memberikan
45
keuntungan dan nilai bagi kegiatan bisnis secara keseluruhan. 2. Analisa Sistem Analisa sistem dapat didefinisikan sebagai pengguna dari suatu sistem informasi yang utuh kedalam bagian-bagian komponen dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, hambatanhambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan, sehingga dapat diusulkan perbaikan-perbaikan. Tahap ini merupakan tahap yang kritis dan penting karena kesalahan pada tahap ini akan menyebabkan kesalahan pada tahap berikutnya. Langkah-langkah dasar yang harus dilaksanakan oleh analis sistem yaitu : 1. Mengidentifikasikan masalah 2. Memahami sistem yang membatasinya 3. Alternatif - alternatif apa saja yang ada untuk mencapai sasaran dan untuk memodifikasi atau mengubah sistem a.
Pilih satu dari alternatif yang telah diidentifikasikan pada tahap sebelumnya
b.
Implementasikan alternatif yang dipilih
c.
Evaluasi masalah dari perubahan yang kita buat dalam sistem
3. Rancangan Sistem Alternatif yang telah dipilih dalam langkah analisa sistem merupakan dasar dari rancangan sistem. Rancangan sistem menentukan bagaimana suatu sistem akan menyelesaikan apa yang harus diselesaikan. Tahap ini menyangkut
46
konfigurasi dari komponen-komponen perangkat keras dan perangkat lunak sistem sehingga setelah menginstalasi sistem akan benar-benar akan memuaskan spesifikasi sistem yang telah ditetapkan pada akhir analisa sistem. 4. Implementasi Sistem Tahap dari implementasi sistem adalah : a. Membangun dan menguji jaringan database a. Membangun dan menguji program c. Instalasi dan menguji sistem yang baru d. Penyerahan sistem yang telah dibuat 5. Perawatan dan Pengembangan Sistem Diperlukan adanya kegiatan tambahan setelah sistem yang baru dijalankan, seperti merawat dan menjaga agar sistem tetap berjalan sesuai dengan apa yang dikehendaki. Perlu juga diperhatikan akibat adanya kebijaksanaan yang baru yaitu perubahan-perubahan prosedur, agar sistem tetap menjalankan fungsinya sehingga pengembangan sistem diperlukan. (sumber : http://www.library.upnvj.ac.id/pdf/3tipdf/208513005/bab2.pdf. Di akses pada tanggal 11 juli 2012).
47
II.14. Alat Bantu Perancangan Sistem Adapun alat bantu yang digunakan dalam perancangan atau pengembangan sistem yang digunakan dalam penelitian ini adalah sebagai berikut:
II.14.1 Flowchart 1. Defenisi Flowchart Flowchart
merupakan
bagan-bagan
yang
mempunyai
arus
yang
menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma. Tujuan Membuat Flowchart : a. Menggambarkan suatu tahapan penyelesaian masalah b. Secara sederhana, terurai, rapi dan jelas c. Menggunakan simbol-simbol standar 2.
Simbol Flowchart Simbol-simbol yang di pakai dalam flowchart dibagi menjadi 3 kelompok : a. Flow direction symbols Digunakan untuk menghubungkan simbol satu dengan yang lain disebut juga connecting line b. Processing symbols Menunjukan jenis operasi pengolahan dalam suatu proses/prosedur c. Input / Output symbols Menunjukkan jenis peralatan yang digunakan sebagai media input atau output.
48
Tabel II.1. Flow direction symbols Symbol
Off-line
keluar/masuk
Connector
prosedure
(Simbol
untuk
proses
dalam
atau
lembar/halaman yang lain) Symbol Connector (Simbol untuk keluar/masuk prosedur atau proses dalam
lembar/halaman yang
sama) Simbol arus / flow, yaitu menyatakan jalannya arus suatu proses Simbol communication link, yaitu menyatakan transmisi data dari satu lokasi ke lokasi lain
Tabel II.2. Processing symbols Symbol
Process
(Simbol
yang
menunjukkan
pengolahan yang dilakukan oleh komputer) Symbol Manual Operation (Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer) Symbol Decision (Simbol untuk kondisi yang akan menghasilkan beberapa kemungkinan jawaban/aksi) Symbol
Predefined
Process
(Simbol
untuk
mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage)
49
Symbol Terminal (Simbol untuk permulaan atau akhir dari suatu program) Symbol Off-line Storage (Simbol yang menunjukkan bahwa data di dalam symbol ini akan disimpan) Symbol Manual Input (Simbol untuk pemasukan data secara manual on-line keyboard
Tabel II.3. Input / Output symbols Symbol input-output (Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya) Symbol
magnetig-tape
unit
(Simbol
yang
menyatakan input berasal pita magnetic atau output disimpan ke pita magnetic) Symbol punched card (Simbol yang menyatakan input berasal dari kartu atau output ditulis ke kartu) Symbol disk and on-line storage (Simbol untuk menyatakan input berasal dari disk atau output disimpan ke disk) Symbol display (Simbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer, dan sebagainya)
50
Symbol documen (simbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output dicetak ke kertas) Symbol transmittal tape (Simbol untuk menyatakan input berasal dari mesin jumlah/hitung)
Dalam penulisan Flowchart dikenal dua model, yaitu Sistem Flowchart dan Program Flowchart. 1.
Sistem Flowchart Bagan Yang memperlihatkan urutan prosedure dan proses dari beberapa file
di dalam media tertentu. Melalui flowchart ini terlihat jenis media penyimpanan yang dipakai dalam pengolahan data. Selain itu juga menggambarkan file yang dipakai sebagai input dan output, tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, dan hanya untuk menggambarkan prosedur dalam sistem yang dibentuk. 2.
Program Flowchart Bagan yang memperlihatkan urutan dan hubungan proses dalam suatu
program. Dua jenis metode penggambaran program flowchart : a.
Conceptual flowchart, menggambarkan alur pemecahan masalah secara global
b.
Detail flowchart, menggambarkan alur pemecahan masalah secara rinci.
(sumber : http://ndoware.com/diagram-alir-flowchart.html. Di akses pada tanggal 11 juli 2012).
51
II.14.2 UML (Unified Modeling Language) Unified Modeling Language (UML) merupakan sistem arsitektur yang bekerja dalam OOAD (Object-Oriented Analysis/Design) dengan satu bahasa yang
konsisten
untuk
menentukan,
visualisasi,
mengkontruksi,
dan
mendokumentasikan artifact (sepotong informasi yang digunakan atau dihasilkan dalam suatu proses rekayasa software, dapat berupa model, deskripsi, atau software) yang terdapat dalam sistem software. UML merupakan bahasa pemodelan yang paling sukses dari tiga metode OO yang telah ada sebelumnya, yaitu Booch, OMT (Object Modeling Technique), dan OOSE (Object-Oriented Software Engineering). Tujuan UML diantaranya adalah : 1.
Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
2.
Memberikan
bahasa
pemodelan
yang
bebas
dari
berbagai
bahasa
pemrograman dan proses rekayasa. 3.
Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
Untuk membuat suatu model, UML memiliki 8 diagram grafis sebagai berikut : A. Diagram Use Case Diagram Use Case menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar. yang menjadi persoalan itu apa yang dilakukan bukan bagaimana melakukannya. Diagram Use Case dekat
52
kaitannya dengan kejadian-kejadian. Kejadian (scenario) merupakan contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem.
Gambar II.6. Simbol Use Case 1.
Actor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan sistem
2.
Usecase yaitu abstraksi dari interaksi antara sistem dan actor
3.
Use yaitu untuk menghubungkan actor dan usecase atau actor dengan actor. Setiap use case harus dideskripsikan dalam dokumen yang disebut dengan
dokumen flow of event. Dokumen ini mendefinisikan apa yang harus dilakukan oleh sistem ketika actor mengaktifkan use case. Struktur dari dokumen use case ini bisa bermacam-macam, tetapi umumnya deskripsi ini paling tidak harus mengandung: 1.
Brief Description (deskripsi singkat)
2.
Actor yang terlibat
3.
Precondition yang penting bagi use case untuk memulai
4.
Deskripsi rinci dari aliran kejadian yang mencakup Main Flow dari kejadian ini bisa dirinci lagi menjadi sub flow dan alternative flow.
5.
Postcondition yang menjelaskan state dari sistem setelah use case berakhir.
53
Cara menentukan Use Case dalam suatu sistem: 1.
Pola perilaku perangkat lunak aplikasi.
2.
Gambaran tugas dari sebuah actor.
3.
Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.
4.
Apa yang dikerjakan oleh suatu perangkat lunak (bukan bagaimana cara mengerjakannya).
Ada beberapa relasi yang terdapat pada use case diagram: 1.
Association, menghubungkan link antar element.
2.
Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3.
Dependency, sebuah element bergantung dalam beberapa cara ke elemen lainnya.
4.
Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram: 1.
<
> , yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2.
<<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
3.
<>, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
54
B. Diagram Class Diagram Class memberikan pandangan secara luas dari suatu sistem dengan menunjukan kelas-kelasnya dan hubungan mereka. Diagram Class bersifat statis; menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika mereka berhubungan. Diagram Class mempunyai 3 macam relationalships (hubungan), sebagai berikut : 1.
Association
Suatu hubungan antara bagian dari dua kelas. Terjadi association antara dua kelas jika salah satu bagian dari kelas mengetahui yang lainnya dalam melakukan suatu kegiatan. Di dalam diagram, sebuah association adalah penghubung yang menghubungkan dua kelas. 2.
Aggregation
Suatu association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan. Aggregation memiliki titik pusat yang mencakup keseluruhan bagian. Sebagai contoh : OrderDetail merupakan kumpulan dari Order. 3.
Generalization
Suatu hubungan turunan dengan mengasumsikan satu kelas merupakan suatu superClass (kelas super) dari kelas yang lain. Generalization memiliki tingkatan yang berpusat pada superClass. Contoh : Payment adalah superClass dari Cash, Check, dan Credit. Untuk tambahan bahwa association mempunyai 2 titik. Salah satu titik bisa memiliki label untuk menjelaskan association tersebut.
55
C. Diagram Package dan Object Untuk mengatur pengorganisasian diagram Class yang kompleks, dapat dilakukan pengelompokan kelas-kelas berupa package (paket-paket). Package adalah kumpulan elemen-elemen logika UML. Ada jenis khusus dari diagram Class yaitu diagram Object. Kegunaannya untuk penjelasan yang sedikit dengan relasi yang sulit, khususnya relasi rekursif. D. Diagram Sequence Diagram Class dan diagram Object merupakan suatu gambaran model statis. Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan). Pada diagram dapat dibuat note (catatan). Pada gambar, terlihat seperti selembar kertas yang berisikan teks. Note bisa diletakan dimana saja pada diagram UML. E. Diagram Collaboration Diagram Collaboration juga merupakan diagram interaction. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan. Kotak kegiatan obyek diberi label dengan nama kelas atau obyek (atau keduanya). Nama kelas dibatasi dengan colons /titik dua ( : ). Setiap pesan pada diagram Collaboration mempunyai angka yang terurut. Pesan yang tingkatannya tertinggi adalah angka 1. Pesan yang berada pada tingkat yang sama
56
memiliki prefix yang sama, namun suffix berbeda bergantung pada posisinya; hanya untuk angka 1, 2, dan seterusnya. F. Diagram StateChart Behaviors dan state dimiliki oleh obyek. Keadaan dari suatu obyek bergantung pada kegiatan dan keadaan yang berlaku pada saat itu. Diagram StateChart menunjukan kemungkinan dari keadaan obyek dan proses yang menyebabkan perubahan pada keadaannya. Untuk lebih jelas, contoh yang digunakan model diagram untuk login yang merupakan bagian dari Online Banking System. Logging in terdiri atas masukan input Social Security Number dan Personal ID Number yang berlaku, lalu memutuskan kesahan dari informasi tersebut. Logging in dapat dibagi menjadi empat tahapan proses, yaitu : 1.
Getting SSN (masukkan SSN)
2.
Getting PIN (masukkan PIN)
3.
Validating (periksa kesahannya)
4.
Rejecting (keluar) Proses peralihan digambarkan dengan panah dari satu state ke yang lainnya.
Event (peristiwa) atau condition (keadaan) yang menyebabkan perubahan dituliskan pada samping panah. Diagram ini mengandung dua self-transition (transisi sendiri), satu pada getting SSN dan lainnya pada getting PIN. Keadaan awal Start (black circle /lingkar hitam) adalah dummy (model) untuk memulai action (kegiatan). Keadaan akhir juga keadaan model yang menghentikan kegiatan. Aksi yang terjadi sebagai hasil dari suatu peristiwa atau keadaan ditandai dalam bentuk / action. Pada Validating State, obyek tidak menunggu
57
peristiwa dari luar untuk menyebabkan suatu perubahan. Sebagai gantinya melakukan suatu activity (aktifitas). Hasil dari aktifitas tersebut menentukan keadaan berikutnya dari obyek tersebut. G. Diagram Activity Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitasaktifitas tersebut bergantung satu sama lain. Sebagai contoh, perhatikan proses yang terjadi. “Pengambilan uang dari bank melalui ATM.” Ada tiga aktifitas kelas (orang, dan lainnya) yang terkait, yaitu : Customer, ATM, and Bank. Proses berawal dari lingkaran start hitam pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada bagian bawah. Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek yang mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal (single transition) timbul dari setiap adanya activity (aktifitas), yang saling menghubungi pada aktifitas berikutnya. Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih percabangan exclusive transition (transisi eksklusif). Label Guard Expression (ada di dalam [ ]) yang menerangkan output (keluaran) dari percabangan. percabangan akan menghasilkan bentuk menyerupai bentuk intan. transition bisa bercabang menjadi beberapa aktifitas
58
paralel yang disebut Fork. Fork beserta join (gabungan dari hasil output fork) dalam diagram berbentuk solid bar (batang penuh). H. Diagram Component dan Deployment Component adalah sebuah code module (kode-kode module). Diagram Component merupakan fisik sebenarnya dari diagram Class. Diagram Deployment menerangkan bahwa konfigurasi fisik software dan hardware. Fisik hardware berbentuk seperti node-node. Setiap komponen merupakan bagian dari node. Pada gambar komponen berbentuk dua kotak tersusun yang terletak di sebelah kiri atas. (sumber : http://library.binus.ac.id/eColls/eThesis/Bab2/2009-1-00065 IF%20Bab%202.pdf. Di akses pada tanggal 11 juli 2012).
II.15. Database Database adalah kunpulan file-file yang saling berelasi, relasi tersebut biasa ditunjukkan dengan kunci dari tiap file yang ada. Satu database menunjukkan satu kumpulan data yang dipakai dalam satu lingkup perusahaan dan instansi. Dalam satu file terdapat record-record yang sejenis, sama besar, sama bentuk, merupakan satu kumpulan entity yang seragam. Satu record terdiri dari field-field yang saling berhubungan untuk menunjukkan bahwa field tersebut dalam satu pengertian yang lengkap dan direkam dalam satu record. Untuk menyebut isi dari field maka digunakan atribute atau merupakan judul dari satu kelompok entity tertentu. Entity adalah suatu obyek yang nyata dan akan direkam. Set program pengelola merupakan satu paket program yang dibuat agar
59
memudahkan dan mengefisiensikan pemasukan atau pembacaan informasi kedalam database. Kegunaan database / syarat database Penyusunan satu databse digunakan untuk mengatasi masalah-masalah pada penyusunan data yaitu: 1.
Redundansi dan inkonsistensi data
2.
Kesulitan pengaksesan data
3.
Isolasi data untuk standarisasi
4.
Multiple user (banyak pemakai)
5.
Masalah keamanan (security)
6.
Masalah integrasi (kesatuan)
7.
Masalah data independence (kebebasan data)
(sumber : http://www.scribd.com/doc/83787517/7/Pengertian-Sistem. Di akses pada tanggal 11 juli 2012).
II.16. Pemograman Delphi II.16.1. Pengertian Program Delphi Delphi adalah kompiler / penterjemah bahasa Delphi (awalnya dari Pascal) yang merupakan bahasa tingkat tinggi sekelas dengan bahasa pemrograman Basic, C. Bahasa Pemrograman di Delphi disebut bahasa prosedural artinya bahasa/sintaknya mengikuti urutan tertentu / prosedur. Ada jenis pemrograman non-prosedural seperti pemrograman untuk kecerdasan buatan contohnya bahasa
60
Prolog. Delphi termasuk Keluarga Pemrograman Visual sekelas dengan Visual Basic, Visual C, artinya perintah-perintah untuk membuat objek dapat dilakukan secara visual. Pemrogram tinggal memilih objek apa yang ingin dimasukkan kedalam Form/Window, lalu tingkah laku objek tersebut saat menerima event/aksi tinggal dibuat programnya. Delphi juga merupakan bahasa pemrograman berorentasi objek, artinya nama objek, properti dan methode/procedure dikemas menjadi satu kemasan (encapsulate). Sebelum kita mempelajari pemrograman menggunakan Delphi ada baiknya kita mengenali dahulu tampilan IDE, yang merupakan editor dan tools untuk membuat program Delphi. Pada IDE akan ditampilkan Form baru yang merupakan aplikasi/program Window yang akan kita buat. Delphi adalah sebuah perangkat lunak (bahasa pemrograman) untuk membuat program / aplikasi komputer yang berbasis windows (VCL) dan berbasis Linux (CLX). Delphi merupakan bahasa pemograman berbasis objek, artinya semua komponen yang ada pada Delphi merupakan objek-objek. Ciri sebuah objek adalah memiliki nama, properti dan method/procedure. Delphi disebut juga visual programming artinya komponen-komponen yang ada tidak hanya berupa teks (yang sebenarnya program kecil) tetapi muncul berupa gambar atau grafikgrafik.
61
II.16.2. Memulai Dengan Delphi Untuk memulai pemrograman Delphi, yang pertama kali adalah membuka program Delphi bila belum dijalankan.Umumnya cara untuk menjalankan program Delphi adalah dengan melalui menu Start > Programs > Borland Delphi > Delphi. Pada saat pertama kali program Delphi dijalankan, maka akan secara otomatis terbentuk sebuah form kosong yang siap untuk diproses lebih lanjut. Berikut penjelasan tentang fasilitas yang ada di delphi.
Gambar II.7. Form awal Delphi
62
Keterangan: a. Menu Bar Di dalam menu bar terdapat benyak perintah untuk memerintahkan komputer agar melakukan suatu tindakan, seperti menyimpan file, membuka file, menutup file, memkompile program dan masih banyak lagi perintah-perintah lainnya. b. Tool Bar Adalah kumpulan tombol-tombol yang berfungsi untuk memberikan perintah pada komputer, atau dengan kata lain dapat diartikan sebagai alternatif dalam memberikan perintah selain menggunakan menu bar. c. Componen Palette Adalah kumpulan komponen yang berfungsi untuk merancang tampilan program. Dalam bagian ini terdapat banyak komponen yang dapat digunakan secara langsung. d. Object Tree View Adalah tempat menampilkan nama-nama komponen yang kita gunakan pada form yang aktif saat pembuatan program. e. Object Inspector Adalah kumpulan sifat / properties dari setiap komponen program, dengan menggunakan bagian ini kita dapat mengatur sifat setiap komponen, seperti warna, ukuran dan pengaturan tampilan lain, juga untuk mengatur kejadian / event pada suatu objek tertentu.
63
f. Object Form Adalah tempat kita melakukan desain tampilan terhadap program yang kita buat, dan sinilah setiap komponen yang kita gunakan diletakkan sewaktu kita ingin menggunakannya. g. Code Editor Adalah tempat kita akan menuliskan setiap perintah-perintah program terhadap proses yang kita inginkan terjadi terhadap suatu objek atau kejadian. h. Object Inspector Perlu kiranya kita membahas Object Inspector secara lebih detail, karena pada object ini terdapat semua pengaturan terhadap suatu komponen tertentu, dan seterusnya nanti kita akan sering menggunakan Object ini. Berikut penjelasannya:
Gambar II.8. Gambar Objek Inspector
64
Nama objek akan selalu menampilkan nama objek yang saat itu sedang aktif atau sedang terpilih pada objek form. Tab Properties digunakan untuk mengganti properti (kepemilikan) sebuah objek/komponen. Tab Event digunakan untuk membuat procedure yang diaktifkan (trigered) lewat sebuah event.
II.16.3.Tab Additional Pada bab ini kita akan membahas penggunaan beberapa komponen yang terdapat di Tab Additional pada Komponen Palette. Seperti halnya pada Tab Standart yang menyediakan komponen-komponen yang siap pakai, pada Tab Additional juga menyediakan komponen yang siap pakai, namun di Tab Additional, komponen-komponen yang ditampilkan lebih Variatif, sehingga lebih membebaskan kita untuk memilih dan menggunakan komponen yang dibutuhkan dalam sebuah program
Gambar II.9. Tab Additional Seperti gambar diatas yang menampilkan Tab Additional berisi banyak sekali komponen yang dapat digunakan baik yang berupa Visual maupun Non Visual.
Gambar II.10. Tab Win32
65
Komponen - komponen yang ada pada tab ini berguna untuk membuat control yang biasa dipakai sebagai kontrol user interface Windows95.
Gambar II.11. Tab System Komponen-komponen yang ada pada Tab System ini berguna untuk membuat elemen kontrol untuk system, seperti timer, multimedia, dll.Untuk lebih memperjelas penggunaan komponen - komponen tersebut berikut beberapa latihan membuat program dengan menggunakan beberapa komponen yang terdapat pada Tab Win32 dan Tab System.
II.16.4. Database Dengan Delphi 1. Database Desktop. Database Desktop adalah program yang disediakan oleh Borland Delphi untuk melakukan pembuatan database. Dengan menggunakan program inilah nanti kita akan membuat tabel-tabel yang kita butuhkan untuk membuat database. Databse Desktop dapat dipanggil dari Menu ‘Tools > Database Desktop’ yang ada di Delphi. a. Membuat Alias. Alias adalah nama lain yang digunakan untuk mempersingkat alamat suatu direktori tempat database yang kita buat berada. Sebelum memulai pembuatan
66
tabel ada baiknya kita membuat Alias terlebih dahulu, agar lebih mudah dalam pemanggilan database nantinya. Caranya adalah : 1. Jalankan Database Desktop seperti yang telah dijelaskan diatas. 2. Kemudian pilih menu ‘Tools > Alias Manager’ yang ada pada Database Desktop. 3. Pada jendela yang muncul klik tombol New, untuk membuat Alias baru. 4. Ketikkan nama Alias yang kita inginkan pada isian ‘Database alias’. 5. Kemudian klik tombol Browse untuk menentukan lokasi database disimpan nantinya. 6. Bila semuanya sudah selesai, klik tombol OK untuk mengakhiri. b. Membuat Tabel Sebelum kita mulai membuat tabel, ada baiknya kita menetapkan daerah direktori kerja kita, agar nantinya kita tidak salah dalam melakukan penyimpanan tabel yang kita buat. Ikuti langkah berikut : 1.
Pada Database Desktop, pilih menu ‘File > Working Directory …’
2.
Pada jendela yang baru muncul cari nama alias yang baru anda buat tadi pada bagian ‘aliases’.
3.
Setelah ketemu klik tombol OK untuk mengakhiri. Sekarang anda sudah aktif pada direktori anda menyimpan file - file database nantinya. Untuk membuat tabel, ikuti langkah-langkah berikut :
4.
Pada Databse Desktop pilih menu ‘File > New > Table’.
5.
Pada jendela yang baru muncul pilih ‘Paradox 7’. Dan tekan tombol OK.
67
6.
Kemudian akan tampil jendela baru untuk memulai membuat struktur tabel yang anda inginkan.
7.
Sebagai contoh isikan ‘IDMhs’ pada ‘Field Name’, kemudian pada kolom ‘Type’ tekan spasi untuk melihat jenis-jenis data yang dapat digunakan, dan pilih ‘AutoIncreamen’, pada kolom Key tekan spasi kembali untuk membuat kunci, kegunaan pembuatan kunci sebagian adalah untuk memudahkan dalam pencarian data nantinya.
8.
Kemudian masukkan kembali data-data berikut secara berurutan: ‘NIM/Alpha/10’,‘Nama/Alpha/35’,’Nilai/Number’,‘Alamat/Memo/200’.
9.
Setelah selesai tekan tombol Save As. Dan masukkan nama tabel sesuai dengan yang diinginkan, dalam hal ini isikan dengan ‘DataMhs’. Bila yang anda masukkan tadi benar, tampilan pada Database Desktop anda adalah seperti berikut:
Gambar II.12. Tabel Database Desktop
68
Untuk kembali melihat dan merubah struktur tabel, anda harus membuka tabelnya terlebih dahulu dengan pilih menu ‘File > Open > Table’, setelah tabel anda terbuka maka pilih menu ‘Table > Restructure’ 2. Menghubungkan File Database ke dalam Form. Untuk menghubungkan Database kedalam Form Delphi, sedikitnya dibutuhkan 3 buah komponen, yaitu : TTable yang berada pada Tab BDE, TdataSourch yang berada pada Tab Data Acces, dan TDBGrid yang berada pada Tab DataControls. Komponen - komponen yang sering digunakan untuk koneksi ke database paling sering digunakan yang berada pada Tab DataControls.
Gambar II.13. Menghubungkan File Database ke dalam Form Berikut contoh pengaplikasiannya : 1.
Pada program Delphi buka File baru.
2.
Kemudian klik 2 kali komponen TTable pada Tab BDE untuk menempatkannya di Form.
3.
Klik sekali komponen TTable yang ada di Form untuk mengaktifkannya, kemudian lihat di Object Inspector ‘DatabaseName’, dan klik menu drop down, carilah nama Alias yang tadi anda buat.
69
4.
Setelah itu kembali lihat di Object Inspector ‘TableName’, dan klik menu drop down untuk menentukan nama table yang anda inginkan, dalam hal ini adalah nama table yang tadi baru anda buat.
5.
Setelah itu lihat di ‘Active’ ganti nilainya menjadi ‘True’.
6.
Setelah itu ambil komponen TdataSourch pada Tab DataAcces dan letakkan di Form.
7.
Atur properti ‘DataSet’-nya menunjuk ke komponen TTable yang tadi.
8.
Kemudian dari Tab DataControls ambil komponen TDBGrid dan letakkan di Form.
Aturlah
properti
‘DataSource’-nya
menunjuk
ke
komponen
TdataSource. 9.
Maka akan secara otomatis data yang ada di dalam Database ditampilkan di form.