Perancangan Perangkat Lunak Sistem Antrian Dengan Metode Multiple Channel Single Phase Berbasis Local Area Network (Lan)

(1)

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

Nomor

Gambar

Keterangan Halaman

2.1

Sistem

5

2.2

Studi Ilmu Sistem

6 2.3

Hubungan Model dan Sistem Nyata

9 2.4

Contoh Antrian dengan 6 Elemen

15 2.5

Contoh Penambahan Elemen

15 2.6

Contoh Penghapusan Elemen

16 2.7

Bentuk Antrian Tunggal, Pelayanan Tunggal

19 2.8

Bentuk Antrian Tunggal, Pelayanan Ganda

19 2.9

Bentuk Antrian Ganda, Pelayanan Ganda

20

2.10

Proses Antrian

20

2.11

Gambaran Proses Antrian

20

2.12

Model M/M/S/I

22

2.13

Mekanisme Algoritma pada Model M/M/S/I

24 2.14

Jaringan LAN Menggunakan Kabel BNC

27 2.15

Jaringan LAN Menggunakan Kabel UTP

27

2.16

Topologi Bus

32

2.17

Topologi Ring

32

2.18

Topologi Star

33

2.19

Topologi Mesh

33

2.20

Topologi Tree

35

2.21

Topologi Linier

37

3.1

Gambaran Proses Antrian

40 3.2

Rancangan Menu Utama

46 3.3

Rancangan Layar Tiket

47 3.4

Rancangan Loket Antrian

48 3.5

Rancangan Layar Antrian

49 3.6

Arsitektur Perangkat Keras Jaringan

50 3.7

Ping Address 192.168.10.2 –t

51 3.8

Flow Chart Sistem Antrian

52 4.1

TCP/IP Address Loket Antrian

54 4.2

Konfigurasi IP Address Loket Antrian

54 4.3

Tampilan Server

55

4.4

Tampilan Tiket

55

4.5

Tampilan Layar Antrian

56 4.6

Tampilan Loket 1,2,3

56


(6)

4.9

Tampilan Hasil Pengujian Loket 1

58

4.10

Tampilan Nomor Tiket

59

4.11

Tampilan Layar Antrian Loket 1

59 4.12

Tampilan Waktu Rata-rata Layanan

60 4.13

Laporan Harian Sistem Antrian

61