DAFTAR PUSTAKA
Fowler, Martin. (2003). UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition. Addison Wesley.
Joe Rich, Jon Hill, How to Do Capacity Planning, 2010, TeamQuest Corporation.
Pressman, Roger S. , Software engineering: a practitioner’s approach / Roger S. Pressman.—5th ed., 2001, McGraw-Hill SBSATM Institut Teknologi Bandung, 2008, Capacity Planning, Bandung.
Syahrizal, Muhammad, Mahir dan Professional Visual Basic, 2007, Gratech Media Perkasa, Medan
White, Curt M. , Data Communications and Computer Networks, A Business User’s Approach, Sixth Edition, 2011, Course Technology, Cengage Learning
87
http://digilib.mercubuana.ac.id/
LAMPIRAN 1 Source Code Program
a. Form1.frm Dim TotUsrDay As Double Dim TotAll As Double Dim AllBand As Double Dim totSpc As Double Dim totUPS As Double Dim totUser As Long
If cbCTR.Text <> "" Then TotUsrDay = 1 * (Val(cbCTR.Text) + Val(cbrPT.Text)) + (250 / 125) * (Val(cbuNDUH.Text) + Val(cbCONS.Text)) End If lblOprDay.Caption = Format(TotUsrDay, "#,##0") End Sub
Private Sub cbCONS_Click() If cbCTR.Text <> "" Then TotUsrDay = 1 * (Val(cbCTR.Text) + Val(cbrPT.Text)) + (250 / 125) * (Val(cbuNDUH.Text) + Val(cbCONS.Text)) End If lblOprDay.Caption = Format(TotUsrDay, "#,##0") End Sub
Private Sub cbuNDUH_Click() If cbCTR.Text <> "" Then TotUsrDay = 1 * (Val(cbCTR.Text) + Val(cbrPT.Text)) + (250 / 125) * (Val(cbuNDUH.Text) + Val(cbCONS.Text)) End If lblOprDay.Caption = Format(TotUsrDay, "#,##0") End Sub
Private Sub cbCTR_Click() If cbCTR.Text <> "" Then TotUsrDay = 1 * (Val(cbCTR.Text) + Val(cbrPT.Text)) + (250 / 125) * (Val(cbuNDUH.Text) + Val(cbCONS.Text)) End If
Private Sub cmdPrint_Click() cmdPrint.Visible = False PrintForm cmdPrint.Visible = True End Sub
lblOprDay.Caption = Format(TotUsrDay, "#,##0") End SubPrivate Sub cbrPT_Click()
Private Sub Command1_Click() OpenDlg.Filter = "*.csv" OpenDlg.ShowOpen
http://digilib.mercubuana.ac.id/
OpenDlg.InitDir = App.Path If OpenDlg.FileName <> "" Then
cbCTR.SetFocus End Sub
Open_Project OpenDlg.FileName Private Sub Command13_Click() 'SSTab1_Click Form2.Show End If Form1.Hide End Sub End Sub
Private Sub Command10_Click() Private Sub Command14_Click() Dim fname As String SSTab1.Tab = 2 SaveDlg.InitDir = App.Path lblUnduh.Visible = True SaveDlg.Filter = "*.csv" lblCtr.Visible = False SaveDlg.ShowSave lblCons.Visible = False If SaveDlg.FileName <> "" Then lblRpt.Visible = False fname = SaveDlg.FileName If InStr(fname, ".") = 0 Then fname = fname + ".csv"
cbCONS.Visible = False
Save_Project fname
cbrPT.Visible = False
End If End Sub
cbCTR.Visible = False cbuNDUH.Visible = True cbuNDUH.SetFocus
Private Sub Command12_Click()
End Sub
SSTab1.Tab = 2 lblUnduh.Visible = False
Private Sub Command2_Click()
lblCtr.Visible = True
txtClient.Text = ""
lblCons.Visible = False
txtJobNo.Text = ""
lblRpt.Visible = False
txtPrjLoc.Text = "" txtPrjName.Text = ""
cbCONS.Visible = False
txtEng.Text = ""
cbrPT.Visible = False
txtDsg.Text = ""
cbCTR.Visible = True
txtDft.Text = ""
cbuNDUH.Visible = False
txtDc.Text = ""
http://digilib.mercubuana.ac.id/
txtScrt.Text = ""
SSTab1.Tab = 0
txtPrjSup.Text = ""
lblJob.Visible = True
cbCTR.Text = ""
lblClnt.Visible = False
cbrPT.Text = ""
lblPrjNm.Visible = False
cbCONS.Text = ""
lblPrjLc.Visible = False
cbuNDUH.Text = ""
txtClient.Visible = False
SSTab1_Click 1
txtPrjName.Visible = False
lblTotUser.Caption = ""
txtJobNo.Visible = True
lblOprDay.Caption = ""
txtPrjLoc.Visible = False
End Sub
txtJobNo.SetFocus End Sub
Private Sub Command3_Click() cmdPrint.Visible = False
Private Sub Command6_Click()
PrintForm
SSTab1.Tab = 0
cmdPrint.Visible = True
lblPrjNm.Visible = True
End Sub
lblJob.Visible = False lblClnt.Visible = False
Private Sub Command4_Click()
lblPrjLc.Visible = False
SSTab1.Tab = 0
txtClient.Visible = False
lblClnt.Visible = True
txtPrjName.Visible = True
lblPrjNm.Visible = False
txtJobNo.Visible = False
lblPrjLc.Visible = False
txtPrjLoc.Visible = False
lblJob.Visible = False
txtPrjName.SetFocus
txtPrjName.Visible = False txtJobNo.Visible = False
End Sub
txtPrjLoc.Visible = False txtClient.Visible = True txtClient.SetFocus End Sub
Private Sub Command7_Click() SSTab1.Tab = 0 lblPrjLc.Visible = True lblJob.Visible = False
Private Sub Command5_Click()
http://digilib.mercubuana.ac.id/
lblClnt.Visible = False
lblPrjNm.Visible = False
cbCTR.Visible = False
txtClient.Visible = False
cbuNDUH.Visible = False
txtPrjName.Visible = False
txtPrjName.Visible = False
txtJobNo.Visible = False
txtJobNo.Visible = False
txtPrjLoc.Visible = True
txtPrjLoc.Visible = False txtClient.Visible = False
txtPrjLoc.SetFocus End Sub
'SSTab1.Tabs = 5 cbCTR.Clear For X = 1 To 30
Private Sub Command8_Click() SSTab1.Tab = 1 txtEng.SetFocus
cbCTR.AddItem X Next X cbCTR.AddItem ">10(SILAHKAN ISI ANGKA)"
End Sub cbrPT.Clear For X = 1 To 30 Private Sub Command9_Click() cbrPT.AddItem X SSTab1.Tab = 3 Next X End Sub cbrPT.AddItem ">30(SILAHKAN ISI ANGKA)" Private Sub Form_Load() lblPrjNm.Visible = False
cbuNDUH.Clear For X = 1 To 30
lblClnt.Visible = False lblPrjLc.Visible = False lblJob.Visible = False
cbuNDUH.AddItem X Next X cbuNDUH.AddItem ">30(SILAHKAN ISI ANGKA)"
lblUnduh.Visible = False cbCONS.Clear lblCtr.Visible = False For X = 1 To 30 lblCons.Visible = False cbCONS.AddItem X lblRpt.Visible = False Next X
cbCONS.Visible = False
cbCONS.AddItem ">30(SILAHKAN ISI ANGKA)"
cbrPT.Visible = False
End Sub
http://digilib.mercubuana.ac.id/
Private Sub Form_Terminate() End
totSpc = 0.7 * (Val(txtEng.Text) + Val(txtDsg.Text) + Val(txtDft.Text) + Val(txtDc.Text) + Val(txtScrt.Text) + Val(txtPrjSup.Text))
End Sub lblSpace.Caption = Format(totSpc, "###,##0.00") & " M2" Private Sub Form_Unload(Cancel As Integer) End End Sub
Private Sub SSTab1_Click(PreviousTab As Integer) TotAll = TotUsrDay * (Val(txtEng.Text) + Val(txtDsg.Text) + Val(txtDft.Text) + Val(txtDc.Text) + Val(txtScrt.Text) + Val(txtPrjSup.Text)) TotAll = (TotAll * 0.7) / (7 * 3600) lblOprAll.Caption = Format(TotAll, "#,##0.0000") AllBand = TotAll * 125 lblAllBand.Caption = Format(AllBand, "##,##0.00") txtConc.Text = "Dari hasil perhitungan, didapat konsumsi" & vbCrLf & " bandwidth pada PT ISB adalah sebesar : " & Format(AllBand, "##,##0.00") & " kbps. Maka menurut perhitungan aplikasi Network Capacity Planning, tehnologi yang disarankan " _ & " adalah : koneksi dengan kecepatan dedicated minimum : " & Format(AllBand * (Val(txtEng.Text) + Val(txtDsg.Text) + Val(txtDft.Text) + Val(txtDc.Text) + Val(txtScrt.Text) + Val(txtPrjSup.Text)), "##,##0.00") & " kbps."
http://digilib.mercubuana.ac.id/
totUPS = 400 * (Val(txtEng.Text) + Val(txtDsg.Text) + Val(txtDft.Text) + Val(txtDc.Text) + Val(txtScrt.Text) + Val(txtPrjSup.Text)) lblUPS.Caption = Format(totUPS, "#,##0") & " WATTS" totUser = (Val(txtEng.Text) + Val(txtDsg.Text) + Val(txtDft.Text) + Val(txtDc.Text) + Val(txtScrt.Text) + Val(txtPrjSup.Text)) lblTotUser.Caption = Format(totUser, "#,##0") End Sub
Private Sub txtClient_Change() lblClient.Caption = txtClient.Text End Sub
Private Sub txtJobNo_Change() lblJobNo.Caption = txtJobNo.Text End Sub
Private Sub txtPrjLoc_Change() 'apabila txtPrjLoc berubah, Loc.Caption juga berubah. Loc.Caption utk laporan pada sstab
lblLoc.Caption = txtPrjLoc.Text End Sub End Sub
Private Sub txtPrjName_Change() lblPrjName.Caption = txtPrjName.Text
Private Sub Open_Project(fn As String) Open fn For Input As #1 While Not EOF(1)
End Sub Line Input #1, l$
Private Sub Save_Project(fn As String)
If InStr(l$, "Client") > 0 Then txtClient.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ",")))
Open fn For Output As #1 Print #1, "Client,", txtClient.Text Print #1, "Job No,", txtJobNo.Text Print #1, "Location,", txtPrjLoc.Text Print #1, "Project Name,", txtPrjName.Text Print #1, "Engineer,", txtEng.Text Print #1, "Designer,", txtDsg.Text Print #1, "Drafter,", txtDft.Text Print #1, "Document Control,", txtDc.Text Print #1, "Secretary,", txtScrt.Text Print #1, "Project Support,", txtPrjSup.Text Print #1, "BEBAN OPERASI BIASA,", cbCTR.Text Print #1, "BEBAN OPERASI KOMPLEKS,", cbuNDUH.Text
Close #1
http://digilib.mercubuana.ac.id/
If InStr(l$, "Job No") > 0 Then txtJobNo.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ","))) If InStr(l$, "Location") > 0 Then txtPrjLoc.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ","))) If InStr(l$, "Project Name") > 0 Then txtPrjName.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ","))) If InStr(l$, "Engineer") > 0 Then txtEng.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ","))) If InStr(l$, "Designer") > 0 Then txtDsg.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ","))) If InStr(l$, "Drafter") > 0 Then txtDft.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ","))) If InStr(l$, "Document Control") > 0 Then txtDc.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ","))) If InStr(l$, "Secretary") > 0 Then txtScrt.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ",")))
If InStr(l$, "Project Support") > 0 Then txtPrjSup.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ","))) If InStr(l$, "BEBAN OPERASI CTR") > 0 Then cbCTR.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ","))) If InStr(l$, "BEBAN OPERASI REPORTING") > 0 Then cbrPT.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ",")))
SysMon1.Counters.Remove 1 SysMon1.Counters.Remove 1 SysMon1.Counters.Add cbComputer.Text & "\Processor(_Total)\% Processor Time" SysMon1.Counters.Add cbComputer.Text & "\Processor(_Total)\DPCs Queued/sec" End Sub
If InStr(l$, "BEBAN OPERASI CONSOLIDATION") > 0 Then cbCONS.Text = LTrim(Right$(l$, Len(l$) - InStr(l$, ","))) If InStr(l$, "BEBAN OPERASI UNDUH DATA") > 0 Then cbuNDUH.Text = LTrim(Right$(l$, Len(l$) InStr(l$, ",")))
Private Sub Form_Load() SysMon1.ReadOnly = True SysMon2.ReadOnly = True SysMon3.ReadOnly = True cbComputer.Clear
Wend 'cbComputer.AddItem "" Close #1 End Sub b. Form2.frm
cbComputer.AddItem "\\Contoh:192.168.1.3" lblDate.Caption = Format$(Date, "d/m/yyyy")
Private Sub cmdPrint_Click() cmdPrint.Visible = False
lblTime.Caption = Format$(Time, "h:nn AM/PM")
PrintForm
End Sub
cmdPrint.Visible = True End Sub
Private Sub Form_Terminate() End
Private Sub Command1_Click()
End Sub
Form1.Show Form2.Hide
Private Sub Form_Unload(Cancel As Integer) End
End Sub End Sub
Private Sub Command3_Click() Private Sub Refresh_Value()
http://digilib.mercubuana.ac.id/
lblCpuTime.Caption = SysMon1.Counters.Item(2).Value
Dim excel_app As Excel.Application
lblQueL.Caption = SysMon1.Counters.Item(1).Value
Dim row As Integer 'Screen.MousePointer = vbHourglass
lblTotMem.Caption = SysMon2.Counters.Item(2).Value / 1048576 lblAvMem.Caption = SysMon2.Counters.Item(1).Value
DoEvents 'Menggunakan Project References : Excel 11 Set excel_app = CreateObject("Excel.Application") excel_app.Visible = False
lblFreeC.Caption = SysMon3.Counters.Item(1).Value
'excel_app.Workbooks.Add
lblTrRate.Caption = SysMon3.Counters.Item(2).Value
excel_app.Workbooks.Open App.Path & "\logmon.xls"
End Sub With excel_app .Range("A1").Select
Private Sub Timer1_Timer() 'Sub Prosedure Refresh Value, untuk refresh capture resource per detik (Interval 1000milisecond)
While .ActiveCell.Text <> "" .ActiveCell.Offset(1, 0).Activate
Refresh_Value
Wend .ActiveCell.Offset(0, 0).Value = Date
End Sub
.ActiveCell.Offset(0, 1).Value = lblCpuTime.Caption Private Sub tmrLog_Timer() 'Kalau di checkmark, value 1. Secara Default,valuenya 0
If Val(lblCpuTime.Caption) <= 31 Then .ActiveCell.Offset(0, 2).Value = "LOW" Else
If chkLog.Value = 1 Then Write_log End If
.ActiveCell.Offset(0, 2).Value = "NORMAL" End If
End Sub .ActiveCell.Offset(0, 3).Value = lblQueL.Caption Private Sub Write_log()
http://digilib.mercubuana.ac.id/
If Val(lblQueL.Caption) > 10 Then
.ActiveCell.Offset(0, 10).Value = "LOW"
.ActiveCell.Offset(0, 4).Value = "LOW" Else
Else .ActiveCell.Offset(0, 10).Value = "NORMAL"
.ActiveCell.Offset(0, 4).Value = "NORMAL"
End If
End If .ActiveWorkbook.Save
.ActiveCell.Offset(0, 5).Value = SysMon2.Counters.Item(1).Value If SysMon2.Counters.Item(1).Value < 100 Then .ActiveCell.Offset(0, 6).Value = "LOW" Else .ActiveCell.Offset(0, 6).Value = "NORMAL"
'.ActiveWorkbook.SaveAs App.Path & "\logmon.xls" End With
excel_app.ActiveWorkbook.Close False excel_app.Quit Set excel_app = Nothing
End If End Sub
.ActiveCell.Offset(0, 7).Value = SysMon3.Counters.Item(3).Value If SysMon3.Counters.Item(3).Value > 25 Then .ActiveCell.Offset(0, 8).Value = "LOW" Else .ActiveCell.Offset(0, 8).Value = "NORMAL" End If .ActiveCell.Offset(0, 9).Value = SysMon3.Counters.Item(1).Value If SysMon3.Counters.Item(1).Value < 20 Then
http://digilib.mercubuana.ac.id/
LAMPIRAN 2 Capacity Planning Report pada PT.Indonesian Service Bureau
Engineering Datacenter Server Capacity Planning Analysis Report 1 REV
3‐Feb‐2012
RA
ISSUED FOR APPROVAL
DATE
BY
DESCRIPTION
MA CHECK
APPR
COMPANY
TOTAL OR PARTIAL REPRODUCTION AND/OR UTILIZATION OF THIS DOCUMENT ARE FORBIDDEN WITHOUT PRIOR WRITTEN AUTHORIZATION OF THE OWNER
Document No.
www.isbeng.com
http://digilib.mercubuana.ac.id/
ISB‐ITCP‐DC‐II‐2012
REVISION
STATUS
1
IFA
Contents Analisa Baseline Server ..................................................................................................................... 5 Engineering Datacenter Server Spec............................................................................................. 5 Engineering Datacenter Server Capacity Analysis......................................................................... 5 Engineering Datacenter Server Graph .......................................................................................... 6 Ringkasan .......................................................................................................................................... 7 Kesimpulan.................................................................................................................................... 7
http://digilib.mercubuana.ac.id/
Dalam rangka perencanaan kapasitas, PT.INDONESIAN SERVICE BUREAU(PTISB) telah memantau kinerja server datacenter PTISB. Hal ini dilakukan untuk melakukan pengawasan terhadap kinerja pada saat ini dan kedepan. Sebagai Baseline, Pemantauan dilakukan terhadap kinerja Processor, Memory dan Hard disk terhadap server berdasarkan Counter Policy yang ditetapkan. Dokumen ini menyajikan informasi mengenai kinerja ketiga komponen (Processor, Memory, dan Hard Disk) dengan penilaian berdasarkan Resources Counter Policy Threshold atau perhitungan ambang batas sumber daya sebagai berikut: a. PROCESSOR UTILIZATION •
Processor Time
Jika Prosesor Time dibawah 31%, berarti prosesor tidak bisa menangani load dengan efektif •
Processor Queue Length
Jumlah antrean thread&waiting time di CPU. Hasil counter dibagi jumlah CPU dalam server. Apabila hasilnya dibawah 10, maka sistem berjalan dgn baik. b. MEMORY UTILIZATION •
Available Bytes
Jika RAM tinggal sisa 10% saja atau 100 Megabytes, berarti Memory dianggap sudah LOW
c. DISK UTILIZATION •
Disk Transfers/sec
Jika Disc Transfer diatas 25 per second, berarti response time Harddisk rendah (poor) •
Disk Idle Time
Jika counter menunjukkan dibawah 20%, berarti RPM Harddisk kurang kuat utk menjalankan proses yang ada. Pemantauan server dilakukan dengan pengumpulan data terhadap server datacenter dengan menggunakan aplikasi Network Capacity Planner (NCP) versi 1.0. Aplikasi NCP merekam data‐
http://digilib.mercubuana.ac.id/
data dari server yang di pantau. Pemantauan di lakukan setiap hari dan menyajikan data rata‐rata utilisasi setiap harinya. Periode pemantauan data dilakukan mulai dari bulan November 2011 hingga saat ini. Laporan ini memberikan gambaran dasar bagaimana sumber daya server tersebut di gunakan selama periode pemantauan periode bulan November 2011 sampai dengan Januari 2012. Selanjutnya, pemantauan terhadap server datacenter PTISB akan di pantau setiap bulan dengan disajikan dalam bentuk scorecard.
http://digilib.mercubuana.ac.id/
Analisa Baseline Server Engineering Datacenter Server Spec Nama Server
Spesifikasi Hardware IBM Proliant ML-350 Series
Isb-server
Dual Xeon Quad Core 3.66GHz
Fungsi DATACENTER
OS Windows 2003
Bit 64
RAM (in Gb) 1
Engineering Datacenter Server Capacity Analysis •
PROCESSOR UTILIZATION o
Processor Time Prosesor Time pada isb-server masih diatas 31%, berarti prosesor masih dapat bisa menangani load dengan efektif
o
Processor Queue Length Processor Queue Length masih dibawah 10, artinya sistem masih berjalan dgn baik
•
MEMORY UTILIZATION o
Available Bytes Rata-rata pemakaian RAM pada isb-server masih menunjukkan nilai sekitar dari 200.000 bytes atau 200 Megabytes, artinya RAM masih tersisa rata-rata sekitar 800 megabytes. Sehingga RAM dianggap masih mencukupi.
•
DISK UTILIZATION o
Disk Transfers/sec Disc Transfer pada isb-server selama bulan Nov-Des 2011 dibawah nilai 25 per second, berarti response time Harddisk masih baik. Namun pada bulan Januari 2012, Disc Transfer pada isb-server berada diatas nilai 25 per second, berarti response time Harddisk pada bulan Januari 2012 menurun.
o
Disk Idle Time Counter pada isb-server menunjukkan nilai diatas 20%, berarti RPM Harddisk masih baik utk menjalankan proses yang ada.
http://digilib.mercubuana.ac.id/
Engineering Datacenter Server Graph
http://digilib.mercubuana.ac.id/
Ringkasan 1. Processor yang di gunakan pada server datacenter PTISB, masih sangat memadai dengan terpantaunya utilisasi rata-rata Prosesor Time diatas 31% dan Queue Length bernilai diatas 10. 2. Rata-rata pemakaian RAM pada isb-server masih menunjukkan nilai sekitar dari 200.000 bytes atau 200 Megabytes, artinya RAM masih tersisa rata-rata sekitar 800 megabytes. Sehingga RAM dianggap masih mencukupi. 3. Response Time Harddisk perlu dipantau sampai 1 bulan ke depan, apabila response time tidak mengalami peningkatan, maka disarankan untuk segera dilakukan upgrade Harddisk, karena adanya indikasi response time yang menurun pada periode Januari 2012.
Kesimpulan Dari hasil monitoring server yang terpantau, penggunaan Processor dan Memory, rata‐rata masih memadai dalam menjalankan proses yang ada. Pada bulan Januari 2012, ditemukan response time Hard Disk dibawah 25 per second. Sehingga, Response Time Harddisk perlu dipantau sampai 1 bulan ke depan, apabila response time tidak mengalami peningkatan,maka disarankan untuk segera dilakukan upgrade Harddisk.
http://digilib.mercubuana.ac.id/