Perancangan Perangkat Lunak Sistem Antrian Dengan Metode Multiple Channel Single Phase Berbasis Local Area Network (Lan)
Lampiran A : Listing Program 1. Server
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Dim InData(10) As String, InLayar(10) As String, InTk(10) As String, NoRM As String
Private Sub Command1_Click() Dim WaktuLayanan As Date Dim WaktuSelesai As Date
Dim Lama As Long, Detik As Long Dim RataRata As Long
Dim n As Integer Dim TLama As Long
Dim intJam, intMenit, intDetik As Integer Dim strJam, strMenit, strDetik As Integer On Error Resume Next
Set rsCAri = New ADODB.Recordset
rsCAri.Open "select * from tantrian order by noTiket asc", CN, 1, 2 If Not rsCAri.EOF Then
Do While Not rsCAri.EOF
WaktuLayanan = rsCAri!WaktuLayanan WaktuSelesai = rsCAri!WaktuSelesai If WaktuLayanan > WaktuSelesai Then
Lama = DateDiff("s", WaktuSelesai, WaktuLayanan) Else
Lama = DateDiff("s", WaktuLayanan, WaktuSelesai) End If
n = n + 1
If Lama > 60 Then If Lama < 120 Then intMenit = 1
intDetik = Lama - 60 intJam = 0
ElseIf Lama >= 120 Then If Lama < 180 Then intMenit = 2
intDetik = Lama - 120 intJam = 1
Else
intMenit = 180 / 60
intDetik = Lama - intMenit intJam = 0
End If
ElseIf Lama >= 180 Then If Lama < 240 Then intMenit = 3
(2)
intDetik = Lama - 180 intJam = 0
Else
intMenit = 240 / 60
intDetik = Lama - intMenit intJam = 0
End If End If Else
intMenit = 0 intDetik = Lama intJam = 0
End If
If intJam <= 9 Then strJam = "0" & intJam Else
strJam = intJam End If
If intMenit <= 9 Then strMenit = "0" & intMenit Else
strMenit = intMenit End If
If intDetik <= 9 Then strDetik = "0" & intDetik Else
strDetik = intDetik End If
TLama = TLama + Lama
Detik = Hour(Lama) * 3600 + Minute(Lama) * 60 + Second(Lama) List4.AddItem " No.Antrian: " & rsCAri!NoTiket & " ,Jam Layanan: " & Format(rsCAri!WaktuLayanan, "HH:MM:SS") & " ,Jam Selesai: " &
Format(rsCAri!WaktuSelesai, "HH:MM:SS") & " ,Lama: " & strJam & ":" & strMenit & ":" & strDetik
rsCAri.MoveNext If rsCAri.EOF Then Exit Do
End If Loop
RataRata = TLama / n lblRata = RataRata Else
Lama = 0 End If
(3)
RataRata = 0 Lama = 0 n = 0
Set rsCAri = Nothing End Sub
Private Sub Form_Initialize() InitCommonControls
End Sub
Private Sub Form_Load() Call Koneksi
Call Tengah(Me) wcl(0).Close
wcl(0).LocalPort = 6212 wcl(0).Listen
wly(0).Close
wly(0).LocalPort = 6215 wly(0).Listen
wtc(0).Close
wtc(0).LocalPort = 6217 wtc(0).Listen
Set rsCAri = New Recordset
rsCAri.Open "Delete from tAntrian", CN, 1, 2 Set rsCAri = Nothing
End Sub
Private Sub mnuAbout_Click() frmAbout.Show
End Sub
Private Sub mnuClearLog_Click() Dim Pesan
Pesan = MsgBox("Log will ce clear ?", vbYesNo + vbQuestion, "Clear Log ?")
If Pesan = vbYes Then List1.Clear
End If End Sub
Private Sub mnuExit_Click() Dim Pesan
Pesan = MsgBox("Sure to exit from Main Server Antrian ?", vbYesNo + vbQuestion, "Yakin ?")
(4)
End End If End Sub
Private Sub mnuHelp_Click() frmHelp.Show
End Sub
Private Sub mnuReset_Click() Dim Pesan
Pesan = MsgBox("Yakin Noantrian dan Nomor Tiket akan di reset ke 0 ?", vbYesNo + vbQuestion, "Reset ?")
If Pesan = vbYes Then NoTiket = 0
NoAntri = 0
For j = 1 To tMax
If wcl(j).State = 7 Then
wcl(j).SendData "40010;ticket;" & Format(NoTiket, "000") DoEvents
wcl(j).SendData "20010;counter;" & Format(NoAntri, "000") DoEvents
End If Next j
For i = 1 To tLayar If wly(i).State = 7 Then
wly(i).SendData "20010;counter;" & InData(3) & ";" & Format(NoAntri, "000") & ";0"
DoEvents End If Next i
For h = 1 To tTkt
If wtc(h).State = 7 Then
wtc(h).SendData "20010;counter;" & Format(NoAntri, "000") DoEvents
End If Next h
End If End Sub
Private Sub Timer1_Timer() tmTunggu = tmTunggu + 1 End Sub
Private Sub Timer2_Timer() tmTunggu2 = tmTunggu2 + 1
(5)
End Sub
Private Sub tJam_Timer() TCT = 0
For k = 1 To tTkt
If wtc(k).State = 7 Then TCT = TCT + 1 End If
Next k
tBar.Panels(6).Text = Time
tBar.Panels(5).Text = Format(Date, "d MMMM yyyy") tBar.Panels(4).Text = "NA: " & Format(NoAntri, "000") tBar.Panels(3).Text = "NT: " & Format(NoTiket, "000") tBar.Panels(2).Text = "CT: " & TCT
lblJA.Caption = NoTiket - NoAntri End Sub
Private Sub wcl_ConnectionRequest(Index As Integer, ByVal requestID As Long)
tMax = tMax + 1 Load wcl(tMax) DoEvents wcl(tMax).Close
wcl(tMax).Accept requestID DoEvents
Call AddLog("Request Coonnection from [CL] " & wcl(Index).RemoteHostIP & ":" & wcl(Index).RemotePort) Call CekClient(tMax)
End Sub
Private Sub CekClient(ByVal Idx As Long) Dim lst As ListItem, Ada As Boolean If lstMain.ListItems.Count > 0 Then Ada = False
For i = 1 To lstMain.ListItems.Count
If (lstMain.ListItems(i).SubItems(2) = wcl(Idx).RemoteHostIP) And (wcl(lstMain.ListItems(i).Text).State <> 7) Then
lstMain.ListItems(i).Text = Idx Ada = True
wcl(Idx).SendData "50010;counter;" & lstMain.ListItems(i).SubItems(4) DoEvents
Exit For End If Next i Else
Ada = False End If
(6)
If Ada = False Then
Set lst = lstMain.ListItems.Add(, , Idx)
lst.SubItems(1) = Format(Date, "dd-MM-yyyy") & " " & Format(Time, "hh:mm")
lst.SubItems(2) = wcl(Idx).RemoteHostIP lst.SubItems(3) = wcl(Idx).RemotePort lst.SubItems(4) = 0
lst.SubItems(5) = 0 End If
End Sub
Private Sub wcl_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim strData As String, LoopData, TotalRT As Long, tmpJam As Long, tmpJam2 As Long
wcl(Index).GetData strData DoEvents
If Len(strData) = 0 Then Exit Sub LoopData = Split(strData, ";")
If UBound(LoopData) > 0 And UBound(LoopData) < 10 Then For i = 0 To UBound(LoopData)
InData(i + 1) = LoopData(i) Next i
End If
noLoket = Right(strData, 1) Select Case InData(1) Case "10000"
wcl(Index).SendData "10010;antrian;connect;1" DoEvents
Call AddKetList(Index, "Loket-" & noLoket) 'InData(6)) DoEvents
wcl(Index).SendData "40010;ticket;" & Format(NoTiket, "000") DoEvents
wcl(Index).SendData "20010;counter;" & Format(NoAntri, "000") DoEvents
Case "20000"
Me.Caption = "20000 Counter 1" Timer1.Enabled = True List2.AddItem tmTunggu tmTunggu = 0
If List2.ListCount > 1 Then
TotalRT = 0
For hit = 0 To List2.ListCount - 1 tmpJam = List2.List(hit) TotalRT = TotalRT + tmpJam Next hit
lblRT.Caption = Format(((TotalRT / List2.ListCount) / 60), "###,##") End If
(7)
NoAntri = NoAntri + 1 For i = 1 To tLayar If wly(i).State = 7 Then DoEvents
If (NoTiket - NoAntri) > 0 Then
wly(i).SendData "20010;counter;" & InData(3) & ";" &
Format(NoAntri, "000") & ";" & NoTiket - NoAntri & ";" & lblRT.Caption Else
wly(i).SendData "20010;counter;" & InData(3) & ";" & Format(NoAntri, "000") & ";0;" & lblRT.Caption
End If DoEvents End If Next i
For j = 1 To tMax
If wcl(j).State = 7 Then
wcl(j).SendData "20010;counter;" & Format(NoAntri, "000") DoEvents
End If Next j
For h = 1 To tTkt
If wtc(h).State = 7 Then
wtc(h).SendData "20010;counter;" & Format(NoAntri, "000") DoEvents
End If Next h
Call AddCount(Index, NoAntri)
Call AddKetList(Index, "Loket-" & InData(3)) Case "30000"
Timer2.Enabled = True List3.AddItem tmTunggu2 tmTunggu2 = 0
If List3.ListCount > 1 Then
TotalRT2 = 0
For hit = 0 To List3.ListCount - 1 tmpJam2 = List3.List(hit)
TotalRT2 = TotalRT2 + tmpJam2 Next hit
lblRT2.Caption = ((TotalRT2 / List3.ListCount) / 60) End If
NoAntri = NoAntri + 1 For i = 1 To tLayar If wly(i).State = 7 Then DoEvents
If (NoTiket - NoAntri) > 0 Then
wly(i).SendData "20010;counter;" & InData(3) & ";" &
(8)
Else
wly(i).SendData "20010;counter;" & InData(3) & ";" & Format(NoAntri, "000") & ";0;" & lblRT2.Caption
End If DoEvents End If Next i
For j = 1 To tMax
If wcl(j).State = 7 Then
wcl(j).SendData "20010;counter;" & Format(NoAntri, "000") DoEvents
End If Next j
For h = 1 To tTkt
If wtc(h).State = 7 Then
wtc(h).SendData "20010;counter;" & Format(NoAntri, "000") DoEvents
End If Next h
Call AddCount(Index, NoAntri)
Call AddKetList(Index, "Loket-" & InData(3)) Case "60000"
For i = 1 To tLayar If wly(i).State = 7 Then wly(i).SendData strData DoEvents
End If Next i Case "40000"
Set rsCAri = New Recordset
rsCAri.Open "Update tAntrian set WaktuSelesai='" & Format(Now, "HH:MM:SS") & "' where noTiket=" & NoTiket & " and noLoket=" & noLoket & "", CN, 1, 2
Set rsCAri = Nothing
Set rsCAri = New Recordset
rsCAri.Open "Update tAntrian set WaktuSelesai='" & Format(Now, "HH:MM:SS") & "',st='*' where st='1'", CN, 1, 2
Set rsCAri = Nothing
End Select
Call AddLog(wcl(Index).RemoteHostIP & "MSG " & strData) End Sub
Private Sub AddKetList(ByVal Idx As Long, ByVal sKet As String) If lstMain.ListItems.Count > 0 Then
For i = 1 To lstMain.ListItems.Count If lstMain.ListItems(i).Text = Idx Then lstMain.ListItems(i).SubItems(6) = sKet
(9)
Exit For End If Next i End If End Sub
Private Sub AddCount(ByVal Idx As Long, ByVal nAntri As Long) Dim bolSave As Boolean
Dim WaktuLayanan As Timer Dim WaktuSelesai As Timer Dim Lama As Integer
If lstMain.ListItems.Count > 0 Then For i = 1 To lstMain.ListItems.Count If lstMain.ListItems(i).Text = Idx Then lstMain.ListItems(i).SubItems(4) = CDbl(lstMain.ListItems(i).SubItems(4)) + 1 lstMain.ListItems(i).SubItems(5) = nAntri
lstMain.ListItems(i).SubItems(7) = Format(Now, "HH:MM:SS") Set rsCAri = New ADODB.Recordset
rsCAri.Open "select * from tantrian where noLoket=" & noLoket & " order by noLoket asc", CN, 1, 2
If rsCAri.EOF Then bolSave = True Else
bolSave = False End If
Set rsCAri = Nothing If bolSave = True Then
Set rsSave = New ADODB.Recordset rsSave.Open "tAntrian", CN, 1, 2 rsSave.AddNew
rsSave!NoTiket = nAntri
rsSave!WaktuLayanan = Format(Now, "HH:MM:SS") rsSave!noLoket = noLoket
rsSave!st = "1" rsSave.Update Set rsSave = Nothing Else
Set rsUpdate = New ADODB.Recordset
rsUpdate.Open "Update tAntrian set waktuSelesai='" &
Format(Now, "HH:MM:SS") & "',st='*' where noLoket=" & noLoket & "", CN, 1, 2
Set rsUpdate = Nothing
Set rsSave = New ADODB.Recordset rsSave.Open "tAntrian", CN, 1, 2 rsSave.AddNew
(10)
rsSave!WaktuLayanan = Format(Now, "HH:MM:SS") rsSave!noLoket = noLoket
rsSave!st = "1" rsSave.Update Set rsSave = Nothing
lstMain.ListItems(i).SubItems(8) = Format(Now, "HH:MM:SS") End If
wcl(Idx).SendData "50010;counter;" & lstMain.ListItems(i).SubItems(4) DoEvents
Exit For End If Next i End If End Sub
Private Sub wly_ConnectionRequest(Index As Integer, ByVal requestID As Long)
tLayar = tLayar + 1 Load wly(tLayar) DoEvents
wly(tLayar).Close
wly(tLayar).Accept requestID DoEvents
Call AddLog("Request Coonnection from [LY] " & wly(Index).RemoteHostIP & ":" & wly(Index).RemotePort) End Sub
Private Sub wly_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim strLayar As String, LoopLayar
wly(Index).GetData strLayar DoEvents
If Len(strLayar) = 0 Then Exit Sub LoopLayar = Split(strLayar, ";")
If UBound(LoopLayar) > 0 And UBound(LoopLayar) < 10 Then For i = 0 To UBound(LoopLayar)
InLayar(i + 1) = LoopLayar(i) Next i
End If
Select Case InData(1) Case "10000"
wly(Index).SendData "10010;antrianlayar;connect" DoEvents
End Select
Call AddLog(wly(Index).RemoteHostIP & "MSG " & strLayar) End Sub
(11)
List1.AddItem Format(Time, "hh:mm:ss") & " " & strLog List1.ListIndex = List1.ListCount - 1
End Sub
Private Sub wtc_ConnectionRequest(Index As Integer, ByVal requestID As Long)
tTkt = tTkt + 1 Load wtc(tTkt) DoEvents wtc(tTkt).Close
wtc(tTkt).Accept requestID DoEvents
Call AddLog("Request Coonnection from [TC] " & wtc(Index).RemoteHostIP & ":" & wtc(Index).RemotePort) End Sub
Private Sub wtc_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim strTk As String, LoopTk
wtc(Index).GetData strTk DoEvents
If Len(strTk) = 0 Then Exit Sub LoopTk = Split(strTk, ";")
If UBound(LoopTk) > 0 And UBound(LoopTk) < 10 Then For i = 0 To UBound(LoopTk)
InTk(i + 1) = LoopTk(i) Next i
End If
Select Case InTk(1) Case "10000"
wtc(Index).SendData "10010;antrianticket;connect" DoEvents: DoEvents
wtc(Index).SendData "40010;ticket;" & Format(NoTiket, "000") DoEvents: DoEvents
Case "40000"
NoRM = InData(3) NoTiket = NoTiket + 1 For i = 1 To tTkt
If wtc(i).State = 7 Then
wtc(i).SendData "40010;ticket;" & Format(NoTiket, "000") DoEvents
End If Next i
For j = 1 To tMax
If wcl(j).State = 7 Then
wcl(j).SendData "40010;ticket;" & Format(NoTiket, "000") DoEvents
(12)
Next j
For i = 1 To tLayar If wly(i).State = 7 Then
wly(i).SendData "40010;ticket;" & NoTiket - NoAntri DoEvents
End If Next i End Select
Call AddLog(wtc(Index).RemoteHostIP & "MSG " & strTk) End Sub
2. Layar antrian
Dim WaktuRata As Single
Private InData(10) As String, sLoket As String Private Sub Form_Load()
List1.ForeColor = vbBlack AntrianKe = "000"
Text1.Text = Format(NoAntri, "000")
imJLoket.Picture = LoadPicture(App.Path & "\images\loket.bmp") imJUrut.Picture = LoadPicture(App.Path & "\images\urut.bmp") imJRT.Picture = LoadPicture(App.Path & "\images\waktu.bmp") imJJA.Picture = LoadPicture(App.Path & "\images\mengantri.bmp") ws.LocalPort = 0
ws.Close
ws.Connect Trim(IP_Server), Port_Server DoEvents
StsCon = False
Do While Not ws.State = 7 DoEvents
DoEvents
Ulang = Ulang + 1
If Ulang = 1000 Then Exit Do Loop
If ws.State = 7 Then
ws.SendData "10000;antrianlayar;connect" DoEvents
Else
StsCon = False End If
End Sub
Private Sub imgReset_DblClick() Dim Pesan
Pesan = MsgBox("Reset Counter ke 0", vbYesNo + vbQuestion, "Reset Counter ?")
(13)
If Pesan = vbYes Then NoAntri = 0
End If End Sub
Private Sub Text1_Change() If Len(Text1.Text) = 3 Then Call TampilAngka
End If End Sub
Private Sub TampilAngka()
If (Len(Trim(Str(Val(Text1.Text)))) = 1) Then
NoAnim(2).Open App.Path & "\data\" & Right(Text1.Text, 1) & ".avi" NoAnim(2).Play
imUrut(2).Picture = LoadPicture(App.Path & "\images\" & Right(Text1.Text, 1) & ".bmp")
DoEvents
imUrut(1).Picture = LoadPicture("") DoEvents
imUrut(0).Picture = LoadPicture("") DoEvents
End If
If (Len(Trim(Str(Val(Text1.Text)))) = 2) Then
imUrut(2).Picture = LoadPicture(App.Path & "\images\" & Right(Text1.Text, 1) & ".bmp")
DoEvents
imUrut(1).Picture = LoadPicture(App.Path & "\images\" & Mid(Text1.Text, 2, 1) & ".bmp")
DoEvents
imUrut(0).Picture = LoadPicture("") DoEvents
End If
If (Len(Trim(Str(Val(Text1.Text)))) = 3) Then
imUrut(2).Picture = LoadPicture(App.Path & "\images\" & Right(Text1.Text, 1) & ".bmp")
DoEvents
imUrut(1).Picture = LoadPicture(App.Path & "\images\" & Mid(Text1.Text, 2, 1) & ".bmp")
DoEvents
imUrut(0).Picture = LoadPicture(App.Path & "\images\" & Left(Text1.Text, 1) & ".bmp")
DoEvents End If
imLoket.Picture = LoadPicture(App.Path & "\images\" & sLoket & ".bmp") DoEvents
(14)
Private Sub TampilJA()
If (Len(Trim(Str(Val(JmlAntri)))) = 1) Then Me.Caption = "Jml Antrian " & JmlAntri
imJA(1).Picture = LoadPicture(App.Path & "\images\m_" & Right(Trim(Str(Val(JmlAntri))), 1) & ".bmp")
DoEvents
imJA(0).Picture = LoadPicture("") DoEvents
End If
If (Len(Trim(Str(Val(JmlAntri)))) = 2) Then
imJA(1).Picture = LoadPicture(App.Path & "\images\m_" & Right(Trim(Str(Val(JmlAntri))), 1) & ".bmp")
DoEvents
imJA(0).Picture = LoadPicture(App.Path & "\images\m_" & Left(Trim(Str(Val(JmlAntri))), 1) & ".bmp")
DoEvents End If
'If (Len(Trim(Str(Val(WaktuRata)))) = 1) Then
' imRT(1).Picture = LoadPicture(App.Path & "\images\m_" & Right(Trim(Str(Val(WaktuRata))), 1) & ".bmp")
' DoEvents ' DoEvents 'End If
'If (Len(Trim(Str(Val(WaktuRata)))) = 2) Then
' imRT(1).Picture = LoadPicture(App.Path & "\images\m_" & Right(Trim(Str(Val(WaktuRata))), 1) & ".bmp")
' DoEvents
' imRT(0).Picture = LoadPicture(App.Path & "\images\m_" & Left(Trim(Str(Val(WaktuRata))), 1) & ".bmp")
' DoEvents 'End If End Sub
Private Sub tmrPlay_Timer()
Dim CekData As String, LoopUrut, InCek(10) As String If List1.ListCount > 0 Then
tmrPlay.Enabled = False CekData = List1.List(0)
LoopUrut = Split(CekData, ";")
If UBound(LoopUrut) > 0 And UBound(LoopUrut) < 10 Then For I = 0 To UBound(LoopUrut)
InCek(I + 1) = LoopUrut(I) Next I
End If
(15)
Text1.Text = Format(InCek(2), "000") If SndBell = 1 Then
sndPlaySound App.Path & "\sound\bell.wav", 0 DoEvents
Sleep (100) End If
For Ulang = 1 To anUlang
Call Text2Sp(InCek(2), InCek(1)) DoEvents
If anUlang > 1 Then Sleep (200) Next Ulang
List1.RemoveItem 0 List1.Refresh
tmrPlay.Enabled = True End If
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim strData As String, LoopData
Dim Rata As Single ws.GetData strData DoEvents
If Len(strData) = 0 Then Exit Sub LoopData = Split(strData, ";")
If UBound(LoopData) > 0 And UBound(LoopData) < 10 Then For I = 0 To UBound(LoopData)
InData(I + 1) = LoopData(I) Next I
End If
Select Case InData(1) Case "10010" StsCon = True Case "20010"
NoAntri = Val(InData(4)) JmlAntri = Abs(Val(InData(5))) WaktuRata = Abs(Val(InData(6)))
If WaktuRata > 0 Then If WaktuRata > 0 Then Rata = WaktuRata * 60
lblRata.Caption = Format(Rata, "##,##") & " Detik" Else
lblRata.Caption = 0 End If
Else
lblRata.Caption = 0 End If
(16)
Call TampilJA
List1.AddItem Val(InData(3)) & ";" & NoAntri List1.Refresh
DoEvents Case "60000"
NoAntri = Val(InData(4))
List1.AddItem Val(InData(3)) & ";" & NoAntri List1.Refresh
DoEvents Case "40010"
JmlAntri = Abs(Val(InData(3))) DoEvents
Call TampilJA End Select
End Sub
3. Tiket
Dim rsCari As Recordset
Private Declare Sub InitCommonControls Lib "comctl32.dll" () Dim InData(10) As String, NoTiket As Long
Dim strJamTutup As String Private Sub Form_Activate() Timer1.Enabled = True
Set rsCari = New ADODB.Recordset
rsCari.Open "Select * from atur", CN, 1, 2 If Not rsCari.EOF = True Then
lblNmBank.Caption = rsCari!NmBank strJamTutup = rsCari!JamTutup
Else
txtNmBank.Text = "XXXXXXXXX" strJamTutup = "15"
End If
lblTgl.Caption = Format(Now, "dddd") & " " & Format(Now, "dd-mm-yyyy") lblTutup.Visible = False
End Sub
Private Sub Form_Initialize() InitCommonControls
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
imTombol_Click End If
(17)
End Sub
Private Sub Form_Load() Koneksi
Timer1.Enabled = True ws.LocalPort = 0 ws.Close
ws.Connect Trim(IP_Server), Port_Server DoEvents
StsCon = False
Do While Not ws.State = 7 DoEvents
DoEvents
Ulang = Ulang + 1
If Ulang = 1000 Then Exit Do Loop
If ws.State = 7 Then
ws.SendData "10000;AntrianTicket;connect" DoEvents
Else
StsCon = False End If
End Sub
Public Sub PrintAlignedText(s As String, Alignment As String) Select Case Alignment
Case "Center"
Printer.CurrentX = (Printer.ScaleWidth - Printer.TextWidth(s)) \ 2 Case "Left"
Printer.CurrentX = 0 Case "Right"
Printer.CurrentX = Printer.ScaleWidth - Printer.TextWidth(s) End Select
Printer.Print s End Sub
Private Sub imTombol_Click() imTombol.Enabled = False imTombol.Caption = "Tunggu" If ws.State = 7 Then
ws.SendData "40000;Ticket;0000000000000000" & lblNo.Caption + 1 DoEvents
End If Sleep (2000)
imTombol.Enabled = True
imTombol.Caption = "Ambil Tiket" End Sub
(18)
Private Sub lblNo_Change() If Len(lblNo.Caption) = 3 Then For i = 1 To Len(lblNo.Caption)
imAng(i - 1).Picture = LoadPicture(App.Path & "\images\" & Mid(lblNo.Caption, i, 1) & ".bmp")
'lblAng(i - 1).Caption = lblAng(i - 1).Caption + 1 DoEvents
Next i End If End Sub
Private Sub Timer1_Timer()
Set rsCari = New ADODB.Recordset
rsCari.Open "Select * from atur", CN, 1, 2 If Not rsCari.EOF = True Then
lblNmBank.Caption = rsCari!NmBank strJamTutup = rsCari!JamTutup Else
txtNmBank.Text = "XXXXXXXXX" strJamTutup = "15"
End If
Set rsCari = Nothing
Jam = Format(Time$, "HH:MM:SS") Me.Caption = Jam
If Jam > strJamTutup Then lblTutup.Visible = True Timer1.Enabled = False Timer2.Enabled = True imTombol.Enabled = False Else
Timer2.Enabled = False imTombol.Enabled = True lblTutup.Visible = False End If
End Sub
Private Sub Timer2_Timer() If lblTutup.Visible = True Then lblTutup.Visible = False Else
lblTutup.Visible = True End If
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim strData As String
(19)
DoEvents
LoopData = Split(strData, ";")
If UBound(LoopData) > 0 And UBound(LoopData) < 10 Then For i = 0 To UBound(LoopData)
InData(i + 1) = LoopData(i) Next i
End If
Select Case InData(1) Case "10010" StsCon = True Case "40010"
lblNo.Caption = InData(3) DoEvents
NoTiket = InData(3) Case "20010"
'lblNo.Caption = InData(3) lblKe.Caption = InData(3) DoEvents
End Select End Sub 'End Sub 4. Counter 1
Private InData(10) As String
Private Declare Sub InitCommonControls Lib "comctl32.dll" () Private Sub cmdAntri_Click()
If ws.State = 7 Then
ws.SendData "60000;panggilulang;" & NoLoket & ";" & Val(lblNo) DoEvents
End If End Sub
Private Sub cmdCount_Click() NoLoket = 1
If StsCon = True Then
ws.SendData "30000;counter;" & NoLoket DoEvents
AntrianLoket = Val(lblNo.Caption) + 1 End If
End Sub
Private Sub cmdCount2_Click() NoLoket = 2
If StsCon = True Then
ws.SendData "30000;counter;" & NoLoket DoEvents
(20)
AntrianLoket = Val(lblNo.Caption) + 1 End If
End Sub
Private Sub cmdCount3_Click() NoLoket = 3
If StsCon = True Then
ws.SendData "30000;counter;" & NoLoket DoEvents
AntrianLoket = Val(lblNo.Caption) + 1 End If
End Sub
Private Sub cmdSelesai_Click() If StsCon = True Then
cmdSelesai.Enabled = False
ws.SendData "40000;counter;" & NoLoket DoEvents
cmdSelesai.Enabled = True cmdSelesai.SetFocus End If
End Sub
Private Sub Form_Initialize() InitCommonControls
End Sub
Private Sub Form_Load() Dim Ulang
Me.Caption = "Counter Antrian - Loket " & NoLoket Me.Left = Screen.Width - Me.Width - 70
Me.Top = Screen.Height - Me.Height - 520 Call OpenCon
MinMode = False End Sub
Private Sub OpenCon() ws.Close
ws.LocalPort = 0
ws.Connect Trim(IP_Server), Port_Server DoEvents
StsCon = False
Do While Not ws.State = 7 DoEvents
DoEvents
Ulang = Ulang + 1
If Ulang = 1000 Then Exit Do Loop
(21)
ws.SendData "10000;antrian;connect;" & NoLoket DoEvents
StsCon = True Else
StsCon = False End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) tmrCon.Enabled = False
Unload Me End
End Sub
Private Sub lblAnt_Change() If Len(lblAnt.Caption) < 1 Then Exit Sub
Else
If Val(lblAnt.Caption) <> 20010 Then
If Val(lblAnt.Caption) - Val(lblNo.Caption) < 1 Then cmdCount.Enabled = False
cmdCount2.Enabled = False cmdCount3.Enabled = False Else
cmdCount.Enabled = True cmdCount2.Enabled = True cmdCount3.Enabled = True End If
Else
cmdCount.Enabled = False cmdCount2.Enabled = False cmdCount3.Enabled = False End If
End If End Sub
Private Sub lblLayan_Change() If Len(lblLayan.Caption) < 1 Then Exit Sub
Else
If Val(lblAnt.Caption) - Val(lblLayan.Caption) < 1 Then cmdCount.Enabled = False
cmdCount2.Enabled = False cmdCount3.Enabled = False Else
cmdCount.Enabled = True cmdCount2.Enabled = True cmdCount3.Enabled = True
(22)
End If End If End Sub
Private Sub tJam_Timer() lblJam.Caption = Time If ws.State <> 7 Then
cmdCount.Enabled = False cmdAntri.Enabled = False
cmdCount.Caption = "Not Connected" cmdCount2.Caption = "Not Connected" cmdCount3.Caption = "Not Connected" tmrCon.Enabled = True
StsCon = False Else
cmdAntri.Enabled = True
cmdCount.Caption = "&Panggil Antrian Loket 1" cmdCount2.Caption = "&Panggil Antrian Loket 2" cmdCount3.Caption = "&Panggil Antrian Loket 3" tmrCon.Enabled = False
StsCon = True End If
End Sub
Private Sub tmrCon_Timer() Call OpenCon
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim strData As String
ws.GetData strData DoEvents
LoopData = Split(strData, ";")
If UBound(LoopData) > 0 And UBound(LoopData) < 10 Then For i = 0 To UBound(LoopData)
InData(i + 1) = LoopData(i) Next i
End If
Select Case InData(1) Case "10010" StsCon = True Case "20010"
lblNo.Caption = Val(InData(3)) DoEvents
Case "40010"
lblAnt.Caption = Val(InData(3)) DoEvents
(23)
lblLayan.Caption = InData(3) End Select
End Sub 5. Counter 2
Private InData(10) As String
Private Declare Sub InitCommonControls Lib "comctl32.dll" () Private Sub cmdAntri_Click()
If ws.State = 7 Then
ws.SendData "60000;panggilulang;" & NoLoket & ";" & Val(lblNo) DoEvents
End If End Sub
Private Sub cmdCount_Click() NoLoket = 1
If StsCon = True Then
ws.SendData "30000;counter;" & NoLoket DoEvents
AntrianLoket = Val(lblNo.Caption) + 1 End If
End Sub
Private Sub cmdCount2_Click() NoLoket = 2
If StsCon = True Then
ws.SendData "30000;counter;" & NoLoket DoEvents
AntrianLoket = Val(lblNo.Caption) + 1 End If
End Sub
Private Sub cmdCount3_Click() NoLoket = 3
If StsCon = True Then
ws.SendData "30000;counter;" & NoLoket DoEvents
AntrianLoket = Val(lblNo.Caption) + 1 End If
End Sub
Private Sub cmdSelesai_Click() If StsCon = True Then
cmdSelesai.Enabled = False
ws.SendData "40000;counter;" & NoLoket DoEvents
cmdSelesai.Enabled = True cmdSelesai.SetFocus
(24)
End If End Sub
Private Sub Form_Initialize() InitCommonControls
End Sub
Private Sub Form_Load() Dim Ulang
Me.Caption = "Counter Antrian - Loket " & NoLoket Me.Left = Screen.Width - Me.Width - 70
Me.Top = Screen.Height - Me.Height - 520 Call OpenCon
MinMode = False End Sub
Private Sub OpenCon() ws.Close
ws.LocalPort = 0
ws.Connect Trim(IP_Server), Port_Server DoEvents
StsCon = False
Do While Not ws.State = 7 DoEvents
DoEvents
Ulang = Ulang + 1
If Ulang = 1000 Then Exit Do Loop
If ws.State = 7 Then
ws.SendData "10000;antrian;connect;" & NoLoket DoEvents
StsCon = True Else
StsCon = False End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) tmrCon.Enabled = False
Unload Me End
End Sub
Private Sub lblAnt_Change() If Len(lblAnt.Caption) < 1 Then Exit Sub
Else
If Val(lblAnt.Caption) <> 20010 Then
(25)
If Val(lblAnt.Caption) - Val(lblNo.Caption) < 1 Then cmdCount.Enabled = False
cmdCount2.Enabled = False cmdCount3.Enabled = False Else
cmdCount.Enabled = True cmdCount2.Enabled = True cmdCount3.Enabled = True End If
Else
cmdCount.Enabled = False cmdCount2.Enabled = False cmdCount3.Enabled = False End If
End If End Sub
Private Sub lblLayan_Change() If Len(lblLayan.Caption) < 1 Then Exit Sub
Else
If Val(lblAnt.Caption) - Val(lblLayan.Caption) < 1 Then cmdCount.Enabled = False
cmdCount2.Enabled = False cmdCount3.Enabled = False Else
cmdCount.Enabled = True cmdCount2.Enabled = True cmdCount3.Enabled = True End If
End If End Sub
Private Sub tJam_Timer() lblJam.Caption = Time If ws.State <> 7 Then
cmdCount.Enabled = False cmdAntri.Enabled = False
cmdCount.Caption = "Not Connected" cmdCount2.Caption = "Not Connected" cmdCount3.Caption = "Not Connected" tmrCon.Enabled = True
StsCon = False Else
cmdAntri.Enabled = True
cmdCount.Caption = "&Panggil Antrian Loket 1" cmdCount2.Caption = "&Panggil Antrian Loket 2" cmdCount3.Caption = "&Panggil Antrian Loket 3" tmrCon.Enabled = False
(26)
StsCon = True End If
End Sub
Private Sub tmrCon_Timer() Call OpenCon
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim strData As String
ws.GetData strData DoEvents
LoopData = Split(strData, ";")
If UBound(LoopData) > 0 And UBound(LoopData) < 10 Then For i = 0 To UBound(LoopData)
InData(i + 1) = LoopData(i) Next i
End If
Select Case InData(1) Case "10010" StsCon = True Case "20010"
lblNo.Caption = Val(InData(3)) DoEvents
Case "40010"
lblAnt.Caption = Val(InData(3)) DoEvents
Case "50010"
lblLayan.Caption = InData(3) End Select
End Sub 6. Counter 3
Private InData(10) As String
Private Declare Sub InitCommonControls Lib "comctl32.dll" () Private Sub cmdAntri_Click()
If ws.State = 7 Then
ws.SendData "60000;panggilulang;" & NoLoket & ";" & Val(lblNo) DoEvents
End If End Sub
Private Sub cmdCount_Click() NoLoket = 1
If StsCon = True Then
ws.SendData "30000;counter;" & NoLoket DoEvents
(27)
AntrianLoket = Val(lblNo.Caption) + 1 End If
End Sub
Private Sub cmdCount2_Click() NoLoket = 2
If StsCon = True Then
ws.SendData "30000;counter;" & NoLoket DoEvents
AntrianLoket = Val(lblNo.Caption) + 1 End If
End Sub
Private Sub cmdCount3_Click() NoLoket = 3
If StsCon = True Then
ws.SendData "30000;counter;" & NoLoket DoEvents
AntrianLoket = Val(lblNo.Caption) + 1 End If
End Sub
Private Sub cmdSelesai_Click() If StsCon = True Then
cmdSelesai.Enabled = False
ws.SendData "40000;counter;" & NoLoket DoEvents
cmdSelesai.Enabled = True cmdSelesai.SetFocus End If
End Sub
Private Sub Form_Initialize() InitCommonControls
End Sub
Private Sub Form_Load() Dim Ulang
Me.Caption = "Counter Antrian - Loket " & NoLoket Me.Left = Screen.Width - Me.Width - 70
Me.Top = Screen.Height - Me.Height - 520 Call OpenCon
MinMode = False End Sub
Private Sub OpenCon() ws.Close
ws.LocalPort = 0
ws.Connect Trim(IP_Server), Port_Server DoEvents
(28)
StsCon = False
Do While Not ws.State = 7 DoEvents
DoEvents
Ulang = Ulang + 1
If Ulang = 1000 Then Exit Do Loop
If ws.State = 7 Then
ws.SendData "10000;antrian;connect;" & NoLoket DoEvents
StsCon = True Else
StsCon = False End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) tmrCon.Enabled = False
Unload Me End
End Sub
Private Sub lblAnt_Change() If Len(lblAnt.Caption) < 1 Then Exit Sub
Else
If Val(lblAnt.Caption) <> 20010 Then
If Val(lblAnt.Caption) - Val(lblNo.Caption) < 1 Then cmdCount.Enabled = False
cmdCount2.Enabled = False cmdCount3.Enabled = False Else
cmdCount.Enabled = True cmdCount2.Enabled = True cmdCount3.Enabled = True End If
Else
cmdCount.Enabled = False cmdCount2.Enabled = False cmdCount3.Enabled = False End If
End If End Sub
Private Sub lblLayan_Change() If Len(lblLayan.Caption) < 1 Then Exit Sub
(29)
Else
If Val(lblAnt.Caption) - Val(lblLayan.Caption) < 1 Then cmdCount.Enabled = False
cmdCount2.Enabled = False cmdCount3.Enabled = False Else
cmdCount.Enabled = True cmdCount2.Enabled = True cmdCount3.Enabled = True End If
End If End Sub
Private Sub tJam_Timer() lblJam.Caption = Time If ws.State <> 7 Then
cmdCount.Enabled = False cmdAntri.Enabled = False
cmdCount.Caption = "Not Connected" cmdCount2.Caption = "Not Connected" cmdCount3.Caption = "Not Connected" tmrCon.Enabled = True
StsCon = False Else
cmdAntri.Enabled = True
cmdCount.Caption = "&Panggil Antrian Loket 1" cmdCount2.Caption = "&Panggil Antrian Loket 2" cmdCount3.Caption = "&Panggil Antrian Loket 3" tmrCon.Enabled = False
StsCon = True End If
End Sub
Private Sub tmrCon_Timer() Call OpenCon
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim strData As String
ws.GetData strData DoEvents
LoopData = Split(strData, ";")
If UBound(LoopData) > 0 And UBound(LoopData) < 10 Then For i = 0 To UBound(LoopData)
InData(i + 1) = LoopData(i) Next i
End If
(30)
Case "10010" StsCon = True Case "20010"
lblNo.Caption = Val(InData(3)) DoEvents
Case "40010"
lblAnt.Caption = Val(InData(3)) DoEvents
Case "50010"
lblLayan.Caption = InData(3) End Select
(31)
DAFTAR RIWAYAT HIDUP
Data pribadi :
Nama : Diansah hutabarat S.kom
Umur : 26 Tahun
Tempat tanggal Lahir : Mutiara damai, 28 Januari 1987 Jenis Kelamin : Laki-laki
Telp/Hp : 081362161894
Agama : Islam
Status : Belum Menikah
Alamat : Desa Mutiara Damai, No 45, Kec.Babul Rahmah, Kab.Aceh Tenggara, NAD
Pendidikan :
1994 - 2000 : SD Negeri I Meranti 2000 - 2003 : SMP Negeri I Lawe Alas 2003 - 2006 : SMA Negeri I Lawe Alas 2006 – 2013 : Universitas Sumatera Utara Kemampuan :
• Kemampuan Komputer ( Operasi Windows, Ms Office dan Internet ) • Kemampuan di bidang Hardware dan Software komputer,
• Mengikuti beberapa Kursus :
- How o build augmented Reality For Mobile Application - Swisscontact Multi Donor Fund
- Tenaga Teknis PNPM Mandiri
• Pengalaman menjadi teknisi komputer di beberapa warnet di daerah Sumater Utara.
Kualifikasi :
• Mempunyai sikap yang ingin maju, berinisiatif, motivasi yang tinggi, berpendirian, jujur dan bertanggung jawab terhadap pekerjaan.
• Mau berkerja keras dan belajar tentang hal – hal yang baru. Diansah hutabarat S.kom
Jl.Desa Mutiara Damai, No 45, Kec.Babul Rahmah, Kab.Aceh Tenggara, NAD
(32)
• Bersedia dikritik dan menerima saran yang membangun tentang pekerjaan.
• Bersedia dan mampu bekerja dalam team work, bersedia dipimpin dan mampu memimpin.
Hormat saya,
(33)
DAFTAR PUSTAKA
[1] Aminudin. 2005. “Prinsip-prinsip Riset Operasi”. Penerbit: Erlangga, sssJakarta.
[2] Aisyah, Siti. 2010. “Analisis Antrian Model Multi Channel Single Phase
sssPada Loket Pembayaran Hypermart di Malang Town Square sss(MATOS)”. Skripsi, Jurusan sssMatematika, FMIPA, Universitas Negeri sssMalang.
[3] Gross dan Harris, 1984, “The Queueing System”, New York, McGraw-Hill, sssInc.
[4] Hamdy A. Taha. 2008. “Riset Operasi Jilid 2”. Penerbit: Karisma. Bandung. [5] Setiawan, I. 2006. “Langkah Mudah Membangun Jaringan Berbasis
sssWindows 2003 sssServer”. Yogyakarta: Andi.
[6] Santoso, Insap P. 1992. “Struktur Data Menggunakan Turbo Pascal 6.0”. sssPenerbit: ANDI, Yogyakarta.
[7] Subagyo, Pangestu, dkk. 2000, “Dasar – Dasar Operations Research”. sssPenerbit: BPFE. sssYogyakarta.
[8] Suparman. 2003. “Pengendalian Tenaga Kerja Dengan Menggunakan sssTeori Antrian di PT.Bank NISP Tbk. Cabang Kesatuan Bogor”. sssAkademi Manajemen Kesatuan.
[9] Soma Purnama Aji, Tri Bodroastuti. 2012. “Penerapan Model Sumulasi
sssAntrian Multi sssChannel Single Phase Pada Antrian Diapotek
(34)
[10] Sridadi, Bambang. 2009. “Pemodelan dan Simulasi Sistem”. Penerbit: Informatika, Bandung
[11] Siagian, P. 1987, “Penelitian Operasional : Teori dan Praktek”. Penerbit: Universitas Indonesia Press. Jakarta.
[12] Yani, Ahmad. 2008. “Panduan Menjadi Teknisi Jaringan Komputer”. Kawan Pustaka. Bandung.
[13] Zakaria, Teddy Marcus. 2005, “Konsep dan Implementasi Struktur Data”, Penerbit: Informatika. Bandung.
(35)
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis
Sebuah perusahaan yang akan mengimplementasikan sistem antrian yang terkomputerisasi sehingga dapat digunakan untuk menangani masalah pengaturan antrian dimana ditemukan adanya ketidakteraturan antrian, sehingga dapat memberikan citra negatif pada perusahaan.
3.1.1 Layanan Antrian
Unit-unit yang membutuhkan layanan pada kasus ini adalah berupa nasabah sebuah bank yang datang dan mengantri untuk mndapatkan layanan. Antrian akan terbentuk di depan fasilitas pelayanan yang terdiri dari beberapa loket pelayanan jika jumlah loket layanan lebih kecil dari jumlah nasabah yang datang. Antrian juga terbentuk karena waktu layanan untuk setiap nasabah yang terlalu yang disebabkan proses layanan yang memakan waktu misalnya menunggu proses pencetakan dokumen maupun proses pengolahan data oleh perangkat elektronik. Proses antrian semacam itu dapat dilihat pada Gambar 3.1.
Gambar 3.1 Gambaran Proses Antrian N
N N N N N Masuk
P P
P Fasilitas P pelayanan P
P N N N N N N N N N N
Antrian
P = Pelayan N = Nasabah
Keluar Keluar
N
N
(36)
3.1.2 Pengelolaan Antrian
Pengelolaan antrian adalah pelayanan nasabah sesuai dengan nomor antrian yang ditentukan berdasarkan waktu kedatangan ke tempat layanan. Nomor antrian diperoleh nasabah sewaktu memasuki ruangan pelayanan dimana nomor ini berbeda antar satu nasabah dengan nasabah lainnya. Setelah mendapatkan nomor antrian, nomor antrian tersebut akan ditampilkan pada layar antrian agar nasabah dapat memantau posisi urutannya.
Nomor antrian akan dipanggil oleh petugas loket sesuai dengan urutan layanan dengan mode suara dan akan ditampilkan pada layar monitor. Sistem akan menyimpan lama waktu menunggu nasabah dengan cara waktu pemanggilan nomor tiket- waktu pengambilan tiket dan waktu pelayanan dengan cara waktu pemanggilan nomor urut nasabah dibelakangnya dikurang waktu pelayanan.
Waktu menunggu = (waktu pemanggilan – waktu pengambilan tiket) Misalnya: waktu pemanggilan = pukul 8:50
waktu pengambilan tiket = pukul 8:40 Maka waktu menunggu = 8:50 – 8:40 = 10 menit
Waktu pelayanan = (waktu pemanggilan nasabah selanjutnya - waktu pelayanan) Misalnya: waktu pemanggilan nasabah selanjutnya = pukul 9:20
waktu pelayanan = pukul 9:15 Maka waktu pelayanan = 9:20 – 9:15 = 5 menit
Dari data di atas maka dapat dibuat sebuah laporan yang berisi informasi waktu rata-rata nasabah menunggu dan waktu rata-rata-rata-rata dilayani. Atas dasar laporan inilah pihak manajemen dapat mengambil keputusan apakah menambah loket layanan atau mempercepat layanan nasabah.
(37)
3.1.3 Manajemen Pelayanan Antrian
Hal yang perlu diperhatikan dalam membuat manajemen antrian adalah: 1. Penanganan Antrian
Adapun hal-hal yang perlu diperhatikan dalam manajemen antrian adalah jumlah pelayanan atau loket pelayanan.
2. Struktur dan Tingkat Pelayanan Terhadap Nasabah
Jumlah loket layanan (channel) yang digunakan melayani nasabah berjumlah 3 channel. Setiap channel memiliki tempat pelayanan dengan ukuran panjang dan lebar yang sama. Nasabah yang harus dilayani dirancang membentuk suatu antrian dan dilayani oleh 3 channel antrian. Tiap nasabah yang membentuk antrian memilih channel sesuai dengan nomor yang muncul pada layar antrian yang menunjukkan channel yang akan melayani nasabah tersebut. Sedangkan struktur atau layout dari jumlah antrian yang digunakan adalah tunggal atau single dan saluran (channel) adalah 3, berarti lebih dari satu (multiple). Tingkat pelayanan yang diberikan adalah tunggal atau single. Dengan demikian struktur dan tingkat pelayanan yang diterapkan dalam sistem antrian ini adalah multi channel single phase.
3. Tingkat Populasi Nasabah
Tingkat populasi nasabah yang digunakan dalam sistem antrian ini adalah terbatas oleh waktu pelayanan, artinya channel antrian akan dibuka ketika jam buka pelayanan perusahaan dan ditutup pada jam tutup pelayanan, sesuai dengan ketentuan perusahaan. Hal ini dapat diinputkan pada saat sistem antrian ini dijalankan.
4. Pola Kedatangan Nasabah
Pola kedatangan nasabah pada sistem antrian ini terbatas sesuai dengan waktu yang ditentukan pada saat sistem mulai dijalankan, dimana petugas mempunyai batas kerja yang jelas atau terbatas, sehingga nasabah meminta dilayani terbatas
(38)
hanya pada jangka waktu tersebut, kurang atau lebih pada waktu tersebut tidak dilayani. Kedatangan nasabah memiliki batasan-batasan jam dan hari. Dengan demikian nasabah tidak semua pada jam dan hari itu hadir, ini berarti jumlah nasabah yang hadir setiap harinya (N besar) terkendali (controllable) dan mengikuti distribusi Poisson.
3.1.4 Karakteristik Antrian
Karateristik antrian setiap perusahaan dapat berbeda-beda satu dengan lainnya tergantung jasa yang diberikan. Karateristik antrian adalah sebagai berikut:
1. Karakterisitik Petugas
Petugas dalam hal ini berfungsi untuk melayani nasabah sesuai dengan kebutuhan nasabah tersebut yang berkaitan langsung dengan bidang kerja perusahaan, serta fungsi petugas tersebut. Misalnya bidang kerja perusahaan adalah perbankan, dan petugas adalah kasir, maka pelayanan yang diberikannya meliputi penyetoran dan penarikan uang tunai, ataupun cek atau berupa bilyet giro dan wesel, untuk transaksi produk berupa tabungan, giro, deposito, pinjaman maupun transfer, dan lain sebagainya sesuai dengan fungsi perbankan.
2. Pola Pelayanan Terhadap Nasabah
Waktu pelayanan yang bervariasi untuk setiap nasabah yang satu dengan yang lain menggambarkan bahwa waktu pelayanan bersifat acak. Artinya waktu untuk melayani nasabah tidak tergantung dari banyaknya waktu yang telah dihabiskan untuk melayani nasabah sebelumnya, dan tidak tergantung pada jumlah nasabah yang sedang menunggu untuk dilayani, namun sesuai dengan sifat dan distribusi eksponensial yang menganggap variabel acak waktu pelayanan tidak berumur, atau bahwa variabel acak tidak mempunyai memori, artinya apabila ada nasabah yang meminta untuk dilayani karena pengaduan untuk suatu kekeliruan belum merampungkan pembicaraannya selama 4 jam, probabilitas bahwa pengaduan tersebut akan selesainya misalnya 1 jam. Dengan demikian pula bahwa kondisi-kondisi yang tidak biasa dapat menghasilkan waktu pelayanan yang relatif lama maupun pendek.
(39)
3. Disiplin Antrian Nasabah
Pelayanan terhadap nasabah dalam sistem antrian ini adalah berurutan. Urutan ini diciptakan oleh nasabah sendiri mengikuti pola fasilitas yang telah tertata dan terpelihara dan rapi, sesuai dengan ketentuan antrian yang telah ditetapkan sebelumnya, yaitu datang pertama dilayani pertama kali (first come first serve). Klasifikasi pokok dalam disiplin antrian ada dua macam yaitu prioritas yang pertama datang pertama dilayani (first come first serve). Klasifikasi ini merupakan klasifikasi umum yang diterapkan perusahaan terhadap disiplin antrian. Akan tetapi dalam kondisi praktek nyata bahwa adakalanya nasabah minta dilayani dalam suatu prioritas. Pola prioritas ini sangat kecil presentasenya bila dibandingkan dengan klasifikasi pertama. Kondisi kombinasi dari disiplin antrian ini dimungkinkan terjadi. Disiplin antrian pertama datang, pertama dilayani sebenarnya tidak menciptakan atau menentukan prioritas dan langsung melayani anggota antrian yang pertama datang. Model ini mengasumsikan bahwa subyek pemanggilan pelayanan cenderung sabar dan bersedia menunggu.
4. Panjang Antrian
Karena lamanya pelayanan dibatasi oleh jam kerja, sehingga pelayanan yang diperoleh nasabah hanya sebatas pada waktu tersebut. Apabila tidak dibatasi oleh jam kerja, maka nasabah yang antri tidak akan terbatas. Jadi panjang antrian nasabah dalam sistem antrian ini adalah tidak terbatas.
5. Model Antrian Nasabah
Berdasarkan keadaan dan identifikasi tentang karakteristik antrian yang terjadi di dalam sistem antrian ini, maka diperoleh model antrian sebagai berikut:
a. Layout : ganda (lebih dari satu channel) b. Fase Pelayanan : tunggal
c. Populasi : tidak terbatas
d. Pola Kedatangan : distrubusi poisson (asumsi) e. Disiplin Antrian : datang pertama dilayani pertama f. Pola Pelayanan : distribusi eksponensial
(40)
g. Panjang Antrian : tidak terbatas.
Adapun pihak-pihak yang berkaitan dengan antrian nasabah adalah : 1. Petugas
Petugas adalah orang yang bertugas melayani nasabah perusahaan sesuai dengan kebutuhannya masing-masing serta fungsi petugas itu sendiri, serta bidang kerja perusahaan. Misalnya, kasir pada bank adalah melayani penyetoran atau penarikan uang dalam bentuk tunai, warkat, cek, giro dan lain-lain.
2. Nasabah
Nasabah adalah orang-orang yang mempunyai hubungan kepentingan dengan perusahaan, misalnya nasabah bank yaitu nasabah tabungan maupun kredit, atau hanya sebatas melakukan transfer, pencairan cek dan giro dan lain-lain.
3.2Perancangan
3.2.1 Perancangan Antar Muka (Interface)
Setelah menganalisa masalah pada sistem antrian, maka selanjutnya dilakukan perancangan program untuk mengimplementasikan sistem antrian. Adapun tampilan rancangan antar muka bagi pengguna sistem adalah sebagai berikut :
3.2.1.1Rancangan Menu Utama
Menu Utama berfungsi untuk menampilkan semua proses yang terjadi pada sistem antara lain proses pada pengambilan tiket serta loket layanan. Proses detil yang ditampilkan pada menu utama adalah:
a. Nomor IP address yang diakses
b. Nomor antrian yang dipanggil pada loket. c. Waktu pengambilan tiket dan pemanggilan d. Waktu layanan dan waktu selesai layanan. e. Lama proses layanan per tiket.
(41)
Pada terdapat tampilan detil admin yang telah valid akan masuk pada form utama, dan dapat mengakses fungsi-fungsi ruang yang terdapat pada menu utama tersebut sesuai tingkatannya. Rancangan Menu Utama dapat dilihat pada Gambar 3.2.
Gambar 3.2 Rancangan Menu Utama Keterangan:
1. ListView berisi data antara lain:
a. No Antrian :Nomor antrian yang dilayani oleh loket (counter) b. No Loket :Nomor loket pelayanan
c. Waktu Awal :Waktu nasabah mulai dilayani d. Waktu Selesai :Waktu nasabah selesai dilayani
e. Lama : Selisih Waktu awal dengan waktu selesai layanan
2. Data nomor tiket yang sudah dilayani
Adalah tampilan nomor tiket / antrian yang telah selesai dilayani. 3. Waktu rata-rata pelayanan
Adalah jumlah waktu layanan dibagi jumlah nomor antrian. 4. Jumlah antrian
Adalah jumlah nomor antrian yang belum dilayani 5. Nomor tiket yang sedang dilayani
Adalah nomor antrian yang sedang dilayani. JUDUL SKRIPSI
Data nomor tiket yang sudah dilayani
Waktu Rata-rata pelayanan
Jumlah Antrian Nomor tiket yang sedang dilayani
No urut IP Address NoAntrian No Loket Wkt Awal Wkt Selesai Lama xxx xxxxxxx xxxxxxxxx hh:mm:ss hh:mm:ss hh:mm:ss xxxx xxx xxxxxxx xxxxxxxxx hh:mm:ss hh:mm:ss hh:mm:ss xxxx xxx xxxxxxx xxxxxxxxx hh:mm:ss hh:mm:ss hh:mm:ss xxxx xxx xxxxxxx xxxxxxxxx hh:mm:ss hh:mm:ss hh:mm:ss xxxx xxx xxxxxxx xxxxxxxxx hh:mm:ss hh:mm:ss hh:mm:ss xxxx
2
3
4
5
a b c d e
(42)
3.2.1.2Rancangan Layar Tiket
Rancangan Layar Tiket digunakan oleh nasabah untuk mengambil nomor antrian dan berdasarkan nomor antrian inilah nasabah tersebut dapat dilayani oleh petugas. Apabila nomor antriannya telah muncul di layar monitor yang menunjukkan nomor antrian dan petugas mana yang akan melayani nasabah tersebut. Rancangan Layar Tiket dapat dilihat pada Gambar 3.3.
Gambar 3.3. Rancangan Layar Tiket
Keterangan Layar Tiket:
1. Textbox : untuk menunjukkan Nomor Antrian, Tanggal dan Waktu saat ini, tidak dapat dilakukan manipulasi data, tetapi secara otomatis berubah setiap harinya sesuai dengan tanggal dan waktu sistem.
2. Command Button : sebagai tombol untuk mencetak nomor antrian baik ke printer maupun ke layar monitor dan digunakan sebagai bukti untuk dapat dilayani oleh petugas jika nomor antrian tersebut muncul di Layar Antrian.
3.2.1.3Rancangan Loket Antrian
Rancangan Loket Antrian digunakan sebagai alat penunjuk baik bagi Petugas untuk mengetahui Nomor Antrian berapa yang harus dilayani saat ini maupun bagi nasabah
Data Perusahaan
Tanggal : Waktu :
Nomor Antrian
HH:MM:SS dd-mm-yyyy
Ambil 2
(43)
untuk mengetahui loket mana yang akan melayaninya. Rancangan Loket Antrian dapat dilihat pada Gambar 3.4.
Gambar 3.4. Rancangan Loket Antrian Keterangan :
1. No Antrian
Adalah nomor urutan antrian yang di ambil di box antrian, 2. Total Antrian
Total antrian yang sudah mengambil nomor antrian, 3. Jumlah yang Dilayani
Adalah jumlah nomor antrian yang dilayani, 4. Jam
Tampilan waktu pelayanan yang sedang dilakukan, 5. Panggil Lagi
Button untuk memanggil ulang nomor antrian yang akan di layani, 6. Panggil Antrian
Button untuk memanggil nomor antrian yang akan dilayani, 7. Selesai
Antrian telah selesai dilayani. LOKET ANTRIAN Nomor : XXX
xxxxx xxxxx No Antrian
Total Antrian
Jumlah Yang Dilayani xxxxx
Panggil Antrian
Jam Hh:mm:ss
Panggil Lagi
Selesai
1 5
2
3
4
6
(44)
3.2.1.4Rancangan Layar Antrian
Rancangan Layar Antrian digunakan sebagai informasi baik bagi nasabah untuk mengetahui nomor antrian berapa yang sedang dilayani beserta data waktu pelayanannya. Rancangan juga menampilkan Nomor Antrian berikutnya jika petugas sudah selesai melayani nasabah yang sedang dilayaninya. Rancangan Layar Antrian dapat dilihat pada Gambar 3.5.
B
Gambar 3.5 Rancangan Layar Antrian
Keterangan:
1. Nomor loket
Adalah nomor loket yang akan melayani nomor antrian nasabah, 2. Waktu Tunggu Rata-rata
Jumlah waktu nasabah yang mengantri untuk dilayani, 3. Nomor Urut
Nomor urut antrian nasabah yang akan dilayani di loket pelayanan, 4. Mengantri (orang)
Jumlah nasabah yang sudah mengambil nomor antrian untuk dilayani diloket yang akan di tentukan.
Layar Antrian
Mengantri ( Orang )
Nomor loket Nomor Urut
Waktu Tunggu Rata-rata
1
4 2
(45)
Nomor Antrian, Nomor Loket, Waktu Tunggu Rata-rata, serta nasabah yang mengantri akan muncul secara otomatis jika ada penambahan antrian maupun pemanggilan nomor antrian dari loket antrian pada saat pelayanan nasabah.
3.2.2 Perancangan Jaringan
Sistem yang dibangun untuk Implementasi Sistem Antrian Dengan Metode Multiple Channel Single Phase adalah sistem yang berbasis jaringan lokal (LAN). Masing-masing komputer memiliki IP Address yang unik antara lain IP Address Server diberi nomor 192.168.10.1, komputer 1 diberi alamat 192.168.10.2, komputer Client-2 diberi alamat 19Client-2.168.10.3, komputr Client- diberi alamat 19Client-2.168.10.4, computer Client-5 diberi alamat 192.168.10.5
Setiap komputer saling terhubung melalui sebuah HUB (Switch) yang berfungsi penghubung jalur data dari semua komputer pada jaringan ke komputer server dan juga untuk mencegah tabrakan sinyal (signal colusion). Arsitektur perangkat keras dan jaringan dapat dilihat pada Gambar 3.6.
Gambar 3.6 Arsitektur Perangkat Keras Jaringan
Pada Gambar 3.6 di atas komputer dengan IP address 192.168.10.1 digunakan untuk server, komputer dengan IP address 192.168.10.2 digunakan untuk Layar Tiket sedangkan komputer dengan IP address 192.168.10.3 digunakan untuk Loket 1, IP address 192.168.10.4 digunakan untuk Loket 2 serta IP address 192.168.10.5
IP Addres: 192.168.10.2
IP Addres: 192.168.10.5 IP Addres: 192.168.10.1
HUB
IP Addres: 192.168.10.4 IP Addres: 192.168.10.3
(46)
digunakan untuk Loket 3. Sebelum aplikasi yang dibangun dijalankan pada jaringan komputer di atas, maka terlebih dahulu dilakukan pengujian untuk mengetahui koneksi jaringan antar komputer Server dengan Client. Pengujian dilakukan pada setiap komputer dengan cara memanggil IP Address komputer lain dengan format: Ping IP Address –t
Contoh: Ping 192.168.10.2 –t, berarti komputer tersebut memanggil komputer Layar , jika sudah terjalin maka akan keluar tampilan pada layar Replay from 192.168.10.2, Tiket, Ping 192.168.10.1 –t , berarti komputer tersebut memanggil komputer Server, Loket,ping 192.168.10.2 –t ,berarti komputer memanggil komputer Layar.
Jika koneksi sudah terjalin, ditandai dengan tampilan pada layar Replay from 192.168.10.2. Replay from IP : 192.168.10.2 yang berarti komputer Client dengan IP Address tersebut sudah terkoneksi dan siap untuk diakses.
Contoh dari ping 192.168.10.2 –t dapat dilihat pada gambar 3.7.
(47)
3.2.3 Flow Chart Sistem Antrian
Untuk menjelaskan secara detil sistem antrian yang akan dibangun adalah dengan membuat diagram arus (flow chart) seperti pada Gambar 3.8.
Gambar 3.8 Flow Chart Sistem Antrian No
Start
Masukan Nomor Antrian JumAntrian=JumAntrian + 1
Masukkan nomor Antrian Daftar Antrian
Panggil Nomor Antrian yang Paling Kecil JumAntrian=JumAntrian-1
Catat Waktu Pemanggilan Nomor Antrian Catat Waktu Pemasukan
nomor Antrian
Hitung Waktu Menunggu Hitung waktu Layanan
JumAntrian=0 ?
Yes
(48)
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi
Setelah perangkat lunak Sistem Antrian Dengan Metode Multiple Channel Single Phase berbasis Local Area Network (LAN) selesai dibangun, maka tahap selanjutnya adalah tahap uji coba dan implementasi. Tahap uji coba adalah tahap pengujian yang dilakukan terhadap perangkat lunak apakah sesuai dengan perancangan. Sedang tahap implementasi adalah tahap pemanfaatan aplikasi (perangkat lunak) oleh pengguna untuk mendapatkan hasil yang diharapkan. Tampilan Aplikasi terdiri dari tampilan Server, Tiket, Layar Antrian serta Loket.
4.2Konfigurasi Loket
Setiap masing-masing Loket diberi IP address yang unik, IP address inilah yang nantinya membedakan setiap komputer-komputer yang terhubung di sebuah jaringan. Didalam perancangan perangkat lunak sistem antrian multiple channel ini yang dibutuhkan untuk menunjukan bahwa jaringan ini multiple channel maka diperlukan pemberian IP address pada setiap loket-loket antrian yang ada. Misalnya pada loket antrian 1 di berikan TCP/IP address 192.168.8.5, loket antrian 2 diberikan TCP/IP address 192.168.8.6, dan untuk loket antrian diberikan TCP/IP address 192.168.8.7, dengan masing-masing subnet mask nya 255.255.255.0.
(49)
Contoh dari TCP/IP address loket antrian dapat dilihat pad gambar 4.1.
Gambar 4.1 TCP/IP address Loket Antrian
Dibagian configurasi antrian yang terdapat di setiap folder program antrian perlu dilakukan pengubahan IP address agar dapat terhubung ke server antrian, misalnya IP address server 192.168.8.1, maka hal yang perlu dilakukan adalah merubah configurasi IP Address pada tiap-tiap loket.Contoh dari configurasi IP address dapat dilihat pada gambar 4.2.
(50)
4.2.1 Tampilan Server
Tampilan Server adalah tempat menampilkan data antrian berupa IP Address, nomor Port, Counter, Nomor Tiket dan nama Loket. Tampilan Server dapat dilihat pada Gambar 4.3.
Gambar 4.3 Tampilan Server 4.2.2 Tampilan Tiket
Tampilan Tiket berfungsi untuk pengambilan tiket antrian oleh nasabah. Tampilan Tiket dapat dilihat pada Gambar 4.4.
(51)
4.2.3 Tampilan Layar Antrian
Tampilan Layar Antrian terdapat tempat untuk menampilkan nomor antrian nasabah yang telah mengambil nomor. Tampilan Layar antrian dapat dilihat pada Gambar 4.5.
Gambar 4.5 Tampilan Layar Antrian
4.2.4 Tampilan Loket 1.2.3
Tampilan Loket berfungsi untuk pemanggilan nomor antrian yang sudah mengambil tiket. Pada tampilan ini terdapat tombol untuk pemanggilan antrian. Tampilan Loket 1 dapat dilihat pada Gambar 4.6.
(52)
4.2.5 Tampilan Help
Pada Tampilan Help terdapat tempat untuk menampilkan tampilan bantuan untuk menjalankan sistem antrian. Tampilan Help dapat dilihat pada Gambar 4.7.
Gambar 4.7 Tampilan Help
4.2.6 Tampilan About
Pada Tampilan About terdapat tempat untuk menampilkan keterangan tentang perangkat lunak. Tampilan About dapat dilihat pada Gambar 4.8.
(53)
4.3 Pengujian Sistem
Pengujian sistem pada aplikasi sistem antrian dengan metode Multiple Channel single Phase adalah hasil yang diperoleh dengan pengambilan nomor tiket, tampilan layar monitor, pemanggilan nomor tiket dari loket serta menampilkan waktu layanan rata-rata per nasabah serta waktu tunggu rata-rata-rata-rata pernasabah.
4.3.1 Pengujian Loket 1
Pengujian Loket 1 adalah pelayanan nasabah dengan nomor antrian tertentu dengan menggunakan Loket 1 dengan hasil pengujian dapat dilihat pada Gambar 4.9.
(54)
Pengujian Loket 1 adalah pelayanan nasabah dengan nomor antrian tertentu dengan menggunakan Loket 1 dengan hasil pengujian dapat dilihat pada Gambar 4.10.
Gambar 4.10 Tampilan Nomor Tiket
Pada Gambar di atas pengambilan tiket sampai pada nomor antrian 3 dan sebelum nomor tiket di ambil terlihat posisi nomor antrian pada Layar Antrian adalah seperti pada Gambar 4.11.
(55)
Setelah petugas selesai melayani nasabah, maka pada Server terlihat hasil layanan dengan waktu rata-rata layanan seperti pada Gambar 4.12.
(56)
4.4Tampilan Laporan Harian Sistem Antrian
Laporan Harian Sistem Antrian berfungsi sebagai informasi sistem antrian multiple channel single phase secara harian. Laporan Harian Sistem Antrian dengan menggunakan crystal report dapat dilihat pada gambar 4.13.
(57)
BAB 5
PENUTUP
5.1 Kesimpulan
Dari hasil penelitian yang telah penulis lakukan atas pembuatan perangkat lunak Sistem Antrian dengan Metode Multiple Channel Single Phase Berbasis Local Area Network (LAN), maka penulis dapat mengambil kesimpulan sebagai berikut:
1. Sistem ini dapat menampilkan proses-proses yang terjadi pada sebuah antrian yang sedang berjalan pada sebuah instansi perusahaan.
2. Disetiap Counter atau Loket tempat pelayanan nasabah disediakan sebuah monitor layar antrian yang berfungsi untuk melihat berapa banyak jumlah antrian yang belum mendapat pelayanan dari instansi perusahaan tersebut.
3. Sistem ini dilengkapi dengan laporan harian yang dapat memudahkan para pemilik sebuah instansi perusahaan untuk mempertimbangkan hal apa yang perlu dilakukan untuk kedepannya agar perusahaan tersebut lebih cepat berkembang.
4. Disiplin pelayanan yang diberlakukan adalah disiplin pelayanan First Come First Served.
5.2 Saran
Perancangan perangkat lunak ini masih memerlukan saran-saran untuk menyempurnakannya,adapun saran yang perlu di berikan yaitu:
1. Sistem perlu di lengkapi dengan database untuk menyimpan data transaksi yang terjadi pada waktu pelayanan dan memerlukan sebuah alat multimedia untuk mencetak laporan harian pelayanan nasabah,
2. Agar sistem ini aman dari pihak yang tidak berwenang maka di perlukan keamanan yang maksimal seperti pemberian user name dan password login,
(58)
3. Untuk kedepanya sistem ini perlu penambahan sistem Reservasi Antrian, agar lebih memudahkan para nasabah,
4. Sebaiknya sistem ini dilengkapi dengan sistem prioritas antrian atau pengelompokan untuk para nasabah.
(59)
BAB 2
L A N D A S A N T E O R I
2.1Sistem
Sistem adalah sekumpulan entitas yang melakukan suatu kegiatan atau menyusun skema atau tata cara melakukan suatu kegiatan pengolahan (pemrosesan) untuk mencapai sesuatu atau beberapa tujuan, dalam hal ini dilakukan dengan cara mengolah data dan/atau energi dan/atau barang (benda) dalam jangka waktu tertentu guna menghasilkan informasi dan/atau energi dan/atau barang (benda). Sekumpulan komponen yang menyusun sebuah sistem mungkin saja merupakan bagian atau subset dari sistem lain [10].
Defenisi lain, sistem adalah kombinasi unsur-unsur yang tersusun secara tertentu sedemikian rupa sehingga berbagai masukan (input) atau gangguan (disturbance) akan menyebabkan tanggapan (response) dan keluaran (output) karakteristik sistem tertentu. Jadi, sistem merupakan kumpulan objek-objek yang beraksi dan interaksi bersama kearah beberapa ujung (akhir) logis. Bentuk sebuah sistem dapat dilihat pada Gambar 2.1
Gambar 2.1. Sistem
Unsur-unsur penyusun sistem dapat berupa sistem berwujud (nyata) maupun sistem tak berwujud (model). Yang dimaksud dengan unur-unsur tak berwujud adalah yang diungkapkan dengan besaran-besaran yang tak dapat diukur secara langsung. Sistem fisis di dalam peninjauannya selalu diwakili oleh model-model matematis yang didasarkan pada komponen-komponen atau unsur-unsur ideal yang dengan tepat dapat
Masukan Gangguan
SISTEM Keluaran
(60)
ditentukan secara matematis. Pemilihan model yang sesuai dengan watak yang ditampilkan mungkin sulit. Model yang terlampau sederhana akan menyebabkan sifat-sifat yang jauh dari sistem yang sebenarnya. Sebaliknya, model yang terlampau rumit akan menyulitkan analisis, atau dapat juga tak teranalisiskan. Gambar 2.2 memperlihatkan bagian-bagian dari studi ilmu sistem.
Gambar 2.2 Studi Ilmu Sistem
Berdasarkan dengan tujuan dari pemodelan dan simulasi, secara umum model sistem dapat diklasifikasikan menjadi beberapa kelas, antara lain: model fisika, biologi, sosial; model konsep, konkrit, abstrak; model waktu kontinu, waktu diskret; model kejadian kontinu, kejadian diskret; model deterministik, stokastik, permainan; model statis, dinamis; model linier, nonlinier; model tersebar, terkumpul; model terbuka, tertutup; model takantisipatif, antisipatif; model adaptif, tak adaptif; mode time variant, invariant; model sistem orde satu, dua, tiga dan seterusnya.
2.2Pemodelan Sistem 2.2.1 Pengertian Model
Model adalah representasi atau formalisasi dalam bahasa tertentu (yang disepakati) dari suatu sistem nyata. Dengan kata lain, model adalah representasi dari suatu objek,
Eksperimen dengan Sistem Nyata
Eksperimen dengan Model Sistem
Model Fisik Model Matematika
Solusi Analitis Simulasi Sistem
(61)
benda atau ide-ide dalam bentuk yang lain dengan entitasnya [6]. Model berisi informasi tentang sesuatu sistem yang dibuat dengan tujuan untuk mempelajari perilaku sistem yang sebenarnya. Model dapat berupa tiruan dari suatu benda, sistem atau peristiwa sesungguhnya yang hanya mengandung informasi-informasi yang dipandang penting untuk ditelaah.
Model yang dibuat dapat berfungsi untuk:
1. Membantu dalam berpikir, model menyajikan deskripsi yang sistematis tentang suatu sistem sehingga dapat mempermudah mempelajari sistem tersebut.
2. Membantu untuk berkomunikasi atau mempermudah menjelaskan tentang suatu sistem kepada orang lain.
3. Sebagai alat latihan, untuk melatih ketrampilan orang-orang yang berhubungan dengan sistem sebenarnya yang dimodelkan. Contohnya : Simulator dalam dunia penerbangan, ini digunakan untuk melatih seorang calon pilot yang dalam taraf belajar, belum boleh mengemudikan pesawat yang sebenarnya, tetapi belajar mengemudikan suatu model yang mewakili pesawat dan juga mengoperasikan model tersebut terhadap suatu model lapangan terbang, udara, lingkungan terbang dan sebagainya.
4. Sebagai alat prediksi terhadap kelakuan sistem untuk waktu yang akan datang, yaitu pengaruh-pengaruh yang ingin diketahui jika ada perubahan sistem atau operasi sistem.
5. Membantu dalam melakukan percobaan, dalam hal melakukan percobaan atau eksperimen tidak mungkin langsung dilaksanakan atau diadakan secara praktis karena biaya yang mahal dan bahaya atau resiko yang tinggi.
Sebelum menentukan model yang akan dibuat, lebih dahulu perlu mempelajari sistemnya. Sistem yang ada seringkali sangat kompleks, tapi model diusahakan dibuat sesederhana mungkin. Salah satu cara untuk mempelajari sistem adalah dengan menuangkan informasi-informasi dari sistem tersebut ke dalam bentuk diagram.
Untuk menilai model apakah dapat dianggap ”baik” sebenarnya cukup sulit, tetapi pada dasarnya kriteria suatu model yang baik dapat diuraikan sebagai berikut: 1. Mudah dimengerti pemakaiannya.
(62)
3. Dinyatakan secara jelas dan lengkap.
4. Mudah dikontrol dan dimanipulasi oleh pemakai. 5. Mengandung pemecahan masalah yang penting & jelas. 6. Mudah diubah dan mempunyai prosedur modifikasi. 7. Dapat berkembang dari sederhana menjadi kompleks.
2.2.2 Jenis-jenis Model
Model dapat direpresentasikan dalam berbagai cara, tergantung tujuan dari studi. Beberapa jenis model dapat dikelompokkan sebagai berikut :
1. Model Skala: adalah model yang dibuat biasanya dengan memperkecil skala aslinya. Contoh: model mobil, model pesawat terbang.
2. Model Piktorial (Visual Grafis): model yang dibuat dengan menggambar rancangan yang sebenarnya belum ada. Contoh: designer menggambar model baju, arsitek menggambar rumah.
3. Model Verbal: model yang penjelasannya dengan kata-kata. Contoh: proses inflasi tergantung dari beberapa faktor ekonomi makro, dijelaskan dengan kata-kata baru dibuat diagaram skematis.
4. Model Skematis: model yang melukiskan unsur-unsur sistem dalam bentuk skema. Model dapat berupa diagram, Contoh: diagram blok, DFD (data flow diagram), flowchart.
5. Model Simbolik: model dalam bentuk persamaan matematika, Contoh: persamaan diferensial, persamaan diferens, aljabar, logika dan lain-lain.
6. Model Komputer: model dalam bentuk program komputer yang ditulis menggunakan bahasa komputer tertentu.
2.2.3 Hubungan Antara Model dan Sistem Nyata
Sistem nyata adalah sistem yang sedang berlangsung dalam kehidupan, sistem yang dijadikan titik perhatian dan dipermasalahkan. Pemodelan adalah proses membangun atau membentuk sebuah model dari suatu sistem nyata dalam bahasa formal tertentu. Hasil analitis sistem nyata dengan asumsi tertentu adalah berupa model konsep yang berisi spesifikasi, variabel dan parameter tertentu. Asumsi yang dibuat sangat
(63)
tergantung dari kacamata pemodel dalam memandang sistem nyata yang diperngaruhi oleh tiga faktor, yaitu: tata nilai yang dianut, ilmu pengetahuan yang dimiliki, dan pengalaman hidup dari pemodel. Gambar 2.3. memperlihatkan hubungan antara model dan sistem nyata yang akan dimodelkan.
Gambar 2.3. Hubungan Model dan Sistem Nyata
Model konsep yang berupa persamaan matematika atau diagram (DFD, flowchart) kemudian diimplementasikan menggunakan bahasa pemrograman komputer tertentu menjadi model komputer (kode sumber). Model komputer harus sesuai dengan model konsep asalnya, proses penyesuaian antara model komputer dengan model konsep disebut verifikasi model. Kode sumber kemudian dieksekusi pada perangkat keras komputer merupakan proses simulasi komputer. Penyesuaian antara hasil simulasi dengan data sistem nyata disebut validasi model. Hasil validasi model biasanya dalam bentuk grafik. Simulasi dianggap bagus jika kesalahan kurang dari 5%. Agar simulasi dapat menirukan seperti sistem nyata, maka model harus diperbaiki secara terus menerus menjadi suatu proses siklus hidup.
2.2.4 Tahap-tahap dalam Pengembangan Model
Dalam proses pembuatan suatu model tidak dapat dijabarkan rumusannya secara pasti, namun ada petunjuk yang dapat digunakan yaitu sebagai berikut:
Model Konsep Sistem
Nyata
Model Komputer
Simulasi Analisis
Pemrograman Validasi Model
Spesifikasi Model
(64)
1. Pemecahan masalah melalui penyederhanaan.
2. Menyatakan objek dengan persyaratan yang jelas karena objek sangat menentukan model.
3. Mencari analog-analog dan sistem atau model yang sudah ada untuk mempermudah konstruksi.
4. Menentukan komponen-komponen yang akan dimasukkan ke dalam model.
5. Menentukan variabel, konstanta dan parameter, hubungan fimgsional serta konstrain dari fungsi-fungsi kriterianya.
6. Untuk membuat model matematik harus dipikirkan cara untuk menyatakan masalah secara numerik jika ingin disimulasikan dengan komputer.
7. Nyatakan dengan simbol-simbol. 8. Menuliskan persamaan matematikanya.
9. Bila model terlalu rumit, terdapat beberapa cara untuk menyederhanakan model, seperti:
a. Buat harga variabel menjadi parameter b. Eliminasi / kombinasikan variabel-variabel c. Asumsikan linieritas
d. Tambahkan asumsi dan batasan yang ketat e. Perjelas batasan sistem.
2.3Simulasi
Simulasi adalah proses merancang model dari suatu sistem yang sebenarnya, mengadakan percobaan-percobaan terhadap model tersebut dan mengevaluasi hasil percobaan tersebut. Simulasi merupakan teknik atau cara penyelesaian persoalan melalui pengolahan data operasi sistem imitasi untuk memperoleh data output penyelidikan atau percobaan penelitian sebagai bahan solusi persoalan ataupun sebagai bahan masukan dalam rangka pengembangan dan perbaikan struktur dan operasi sistem yang nyata [10].
(65)
2.3.1 Manfaat Simulasi
Manfaat simulasi bagi kehidupan nyata adalah untuk : 1. Menjelaskan kelakuan sistem.
2. Menirukan bekerjanya suatu sistem melalui melalui suatu model. 3. Memecahkan suatu persoalan matematik dengan analisis numerik. 4. Mempelajari dinamika suatu sistem.
5. Memberikan suatu deskripsi perilaku sistem dalam perkembangan sejalan dengan bertambahnya waktu.
6. Membangun teori atau hipotesa yang mempertanggungjawabkan kelakuan dari sistem yang diamati.
7. Meramalkan kelakuan sistem yang akan datang yaitu pengaruh yang dihasilkan oleh perubahan-perubahan sistem atau perubahan operasinya.
Pengertian simulasi merupakan imitasi dari benda nyata, status dari pengolahan, ataupun proses. Tindakan dari mensimulasikan sesuatu pada umumnya mewakili karateristik kunci tertentu atau sifat dari fisikal terpilih atau sistem abstrak. Simulasi dipakai di berbagai konteks, termasuk pemberlakuan model dari sistem alamiah atau sistem manusia dengan tujuan untuk mendapatkan gambaran ke dalam fungsi yang ada. Konteks lain termasuk ke dalamnya simulasi dari teknologi untuk optimasi perfomansi, rekayasa keamanan, pengetesan, pelatihan dan edukasi. Simulasi dapat dipakai untuk menunjukkan efek kejadian sebenar dari kondisi alternatif dan arah dari tindakan.
Dengan melakukan sebuah simulasi pada kejadian nyata, dapat diketahui hasil yang diaplikasikan secara semu, walau deviasi pasti terjadi antara simulasi dengan kejadian nyata, namun nilai deviasi minimal sudah dapat diperhitungkan lebih jauh.
Isu kunci dari simulasi termasuk akuisisi dari informasi sumber yang sah tentang referensi, pemilihan kunci karateristik dan sifat, penggunaan pencapaian yang disederhanakan dan asumsi di dalam simulasi, dan ketelitian dan validasi dari hasil
(1)
PERANCANGAN PERANGKAT LUNAK SISTEM ANTRIAN MULTIPLE CHANNEL SINGLE PHASE BERBASIS LOCAL AREA NETWORK
(LAN) ABSTRAK
Antrian banyak ditemukan pada kehidupan sehari-hari, misalnya pada sebuah pasar swalayan, bank, tempat-tempat keramaian dan lain-lain.Antrian timbul disebabkan oleh kebutuhan pelayanan yang melebihi kemampuan (kapasitas) pelayanan atau fasilitas layanan, sehingga pengguna fasilitas yang baru tiba tidak dapat segera mendapat layanan disebabkan kesibukan layanan.Pada banyak hal, tambahan fasilitas pelayanan dapat diberikan untuk mengurangi antrian atau untuk mencegah timbulnya antrian,tetapi akan menimbulkan pengurangan keuntungan pemberi layanan. Multiple Channel Single Phase adalah Antrian tunggal pelayanan ganda, dimana jumlah fasilitas pelayanan pada sistem antrian ini lebih dari satu, untuk melayani satu jalur antrian. Multiple Channel Single Phase sering juga disebut dengan model M/M/S/I dimana huruf M disimbolkan sebagai Antrian, S disimbolkan sebagai server pelayanan, dan I disimbolkan sebagai populasi yang tidak terbatas.Pada penelitian ini, penulis mensimulasikan sebuah antrian dengan metode multiple channel single phase, dimana banyak pengguna fasilitas yang datang dengan pelayanan tunggal.Simulasi ini terdiri dari tahap-tahap antara lain pengambilan nomor antrian, pemanggilan nomor antrian serta pelayanan. Sistem ini akan memberikan laporan harian berupa waktu rata-rata menunggu dan pelayanan bagi pengguna fasilitas. Dengan adanya laporan tersebut maka pengambil keputusan mendapat gambaran kondisi pelayanan yang diberikan kepada pengguna fasilitasnya.
(2)
QUEUE SYSTEM SOFTWARE DESIGN USING MULTIPLE SINGLE CHANNEL PHASE BASED LOCAL AREA NETWORK
(LAN)
ABSTRACT
Queues are common in everyday life, eg in a supermarket, banks, crowded places and others. Queues arise due to the need for services exceeds the ability (capacity), service or service facilities, so that users of the new facility can not arrive soon gets busy the service due to service. In many cases, additional facilities can be provided to reduce the queue or to prevent the queue, but will lead to reduction in profit service providers. Multiple Channel Single Phase is a single queue multiple services, where the number of service facilities in the queue system is more than one, to serve a one-lane queue. Multiple-Channel Single Phase often called the model M / M / S / I where the letter M symbolizes the Queue, S symbolized as a server service, and I symbolized as an infinite population.In this study, the authors simulate a queue with multiple-channel single-phase method, in which many users of the facilities that come with a single service. This simulation consists of stages such as taking a queue number, the call queue numbers and services. This system will provide daily reports of the average waiting time and service to users of the facility. With this report, the decision makers get an idea of the conditions of service provided to users of its facilities.
(3)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Gambar ix
Daftar Lampiran xi
Bab 1 Pendahuluan 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metodologi 3
1.7 Sistematika Penulisan 4
Bab 2 Landasan Teori 5
2.1 Sistem 5
2.2 PemodelanSistem 6
2.2.1 Pengertian Model 6
2.2.2 Jenis-jenis Model 8
2.2.3 Hubungan Antara Model dan Sistem Nyata 8 2.2.4 Tahap-tahap dalam Pengembangan Model 9
2.3 Simulasi 10
2.3.1 Manfaat Simulasi 11
2.3.2 Jenis-jenis Model Simulasi 13
2.4 Teori Antrian 13
2.4.1 Komponen Dasar Antrian 16
2.4.2 Struktur Antrian Dasar 19
2.4.3 Struktur Dasar Model-model Antrian 20
2.5 Proses Antrian Dasar 21
2.6 Multiple Channel Single Phase 22
2.7 Jaringan Komputer 25
2.7.1 Konsep LAN 26
2.7.2 Protokol TCP/IP 29
2.7.3 IP Address 30
2.7.4 Subnet Mask 31
(4)
Bab 3 Analisis dan Perancangan 40
3.1 Analisa 40
3.1.1 Layanan Antrian 40
3.1.2 Pengolahan Antrian 41
3.1.3 Manajemen pelayanan Antrian 42
3.1.4 Karakteristik Antrian 43
3.2 Perancangan 45
3.2.1 Perancangan Antar Muka (Interface) 45
3.2.1.1 Rancangan Menu Utama 45
3.2.1.2 Rancangan Layar Tiket 47 3.2.1.3 Rancangan Loket Antrian 47 3.2.1.4 Rancangan Layar Antrian 49
3.2.2 Perancangan Jaringan 50
3.2.3 Flow Chartsistem Antrian 52 Bab 4 Implimentasi dan Pengujian Sistem 53
4.1 Implementasi 53
4.2 Konfigurasi Loket 53
4.2.1 Tampilan Server 55
4.2.2 Tampilan Tiket 55
4.2.3 Tampilan Layar Antrian 56
4.2.4 Tampilan Loket 1.2.3 56
4.2.5 Tampilan Help 57
4.2.6 Tampilan About 57
4.3 Pengujian Sistem 58
4.3.1 Pengujian Loket 1 58
4.4 Tampilan Laporan Harian Sistem Antrian 61
Bab 5 Kesimpulan dan Saran 62
5.1 Kesimpulan 62
5.2 Saran 62
Daftar Pustaka 64
(5)
DAFTAR GAMBAR
NomorGambar
Keterangan Halaman
2.1
Sistem
52.2
Studi Ilmu Sistem
6 2.3Hubungan Model dan Sistem Nyata
9 2.4Contoh Antrian dengan 6 Elemen
15 2.5Contoh Penambahan Elemen
15 2.6Contoh Penghapusan Elemen
16 2.7Bentuk Antrian Tunggal, Pelayanan Tunggal
19 2.8Bentuk Antrian Tunggal, Pelayanan Ganda
19 2.9Bentuk Antrian Ganda, Pelayanan Ganda
202.10
Proses Antrian
202.11
Gambaran Proses Antrian
202.12
Model M/M/S/I
222.13
Mekanisme Algoritma pada Model M/M/S/I
24 2.14Jaringan LAN Menggunakan Kabel BNC
27 2.15Jaringan LAN Menggunakan Kabel UTP
272.16
Topologi Bus
322.17
Topologi Ring
322.18
Topologi Star
332.19
Topologi Mesh
332.20
Topologi Tree
352.21
Topologi Linier
373.1
Gambaran Proses Antrian
40 3.2Rancangan Menu Utama
46 3.3Rancangan Layar Tiket
47 3.4Rancangan Loket Antrian
48 3.5Rancangan Layar Antrian
49 3.6Arsitektur Perangkat Keras Jaringan
50 3.7Ping Address 192.168.10.2 –t
51 3.8Flow Chart Sistem Antrian
52 4.1TCP/IP Address Loket Antrian
54 4.2Konfigurasi IP Address Loket Antrian
54 4.3Tampilan Server
554.4
Tampilan Tiket
554.5
Tampilan Layar Antrian
56 4.6Tampilan Loket 1,2,3
56(6)
4.9
Tampilan Hasil Pengujian Loket 1
584.10
Tampilan Nomor Tiket
594.11