MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen...

50
www.tobuku.com WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 1 MANAJEMEN ASET IT - BAGIAN 3 MEMBUAT KOMPONEN SSCI_COM Mei 20 06 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML Komponen COM ssci_com yang menjadi inti dari SysPie mengandung dua buah class yaitu cMyXML dan cSSCI. Class cMyXML adalah class yang didefinisikan sebagai private class di dalam komponen ssci_com. Dengan demikian class ini tidak bisa diakses dari luar komponen tersebut karena class ini hanya digunakan secara internal oleh skrip-skrip yang ada di dalam ssci_com. Class cMyXML berisi method-method untuk pembuatan dokumen XML dimana mereka dipanggil secara berulang-ulang oleh rutin lain. Dengan adanya class ini, maka penulisan program menjadi lebih ringkas dan efesien. Telah disebutkan sebelumnya bahwa ssci_com dibuat menggunakan Ms Visual Basic 6.0. Bahasa pemrograman ini dipilih semata-mata untuk alasan kemudahan. Visual Basic sangat populer dan mempunyai komunitas yang luas sehingga penulis beranggapan para pembaca sudah akrab dengan bahasa pemrograman ini dan tidak akan menemui kesulitan dengan pembahasan skripnya. Berkaitan dengan class cMyXML ini, komponen ssci_com membutuhkan sebuah XML parser. Dalam hal ini akan digunakan komponen parser yang dibuat oleh Microsoft yaitu Microsoft XML Parser (MSXML) versi 3.0. Anda tidak diharuskan menggunakan komponen ini. XML parser lain bisa saja digunakan (misalnya yang dibuat oleh pihak ke-tiga), namun tentunya skrip-skrip yang ditunjukkan dalam bagian ini harus dimodifikasi. Untuk saat ini biar saja digunakan MSXML. Mengenai versinya, sekali lagi Anda tidak diharuskan menggunakan versi 3.0. Silakan menggunakan versi yang sudah terinstal pada komputer. Catatan: Kode sumber komponen ssci_com selengkapnya dapat diperoleh dari media yang disertakan dalam direktori ..\SSCI_COM.

Transcript of MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen...

Page 1: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 1

MANAJEMEN ASET IT - BAGIAN 3

MEMBUAT KOMPONEN SSCI_COM

Mei 2006 Tingkat: √

Oleh : Feri Djuandi Pemula Menengah Mahir

3.1. Membuat Class cMyXML Komponen COM ssci_com yang menjadi inti dari SysPie mengandung dua buah class yaitu cMyXML dan cSSCI. Class cMyXML adalah class yang didefinisikan sebagai private class di dalam komponen ssci_com. Dengan demikian class ini tidak bisa diakses dari luar komponen tersebut karena class ini hanya digunakan secara internal oleh skrip-skrip yang ada di dalam ssci_com. Class cMyXML berisi method-method untuk pembuatan dokumen XML dimana mereka dipanggil secara berulang-ulang oleh rutin lain. Dengan adanya class ini, maka penulisan program menjadi lebih ringkas dan efesien.

Telah disebutkan sebelumnya bahwa ssci_com dibuat menggunakan Ms Visual Basic 6.0. Bahasa pemrograman ini dipilih semata-mata untuk alasan kemudahan. Visual Basic sangat populer dan mempunyai komunitas yang luas sehingga penulis beranggapan para pembaca sudah akrab dengan bahasa pemrograman ini dan tidak akan menemui kesulitan dengan pembahasan skripnya.

Berkaitan dengan class cMyXML ini, komponen ssci_com membutuhkan sebuah XML parser. Dalam hal ini akan digunakan komponen parser yang dibuat oleh Microsoft yaitu Microsoft XML Parser (MSXML) versi 3.0. Anda tidak diharuskan menggunakan komponen ini. XML parser lain bisa saja digunakan (misalnya yang dibuat oleh pihak ke-tiga), namun tentunya skrip-skrip yang ditunjukkan dalam bagian ini harus dimodifikasi. Untuk saat ini biar saja digunakan MSXML. Mengenai versinya, sekali lagi Anda tidak diharuskan menggunakan versi 3.0. Silakan menggunakan versi yang sudah terinstal pada komputer.

Catatan:

Kode sumber komponen ssci_com selengkapnya dapat diperoleh dari media yang disertakan dalam direktori ..\SSCI_COM.

Page 2: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSC

Untuk mulai membuat komponen ssci_com, silakan ikuti langkah

1. Jalankan Ms Visual Basic 6.0 dan buat sebuah projek barOpen.

2. Jalankan menu Project �

Biarkan property-property lain dengan nilai default

MEMBUAT KOMPONEN SSCI_COM

Untuk mulai membuat komponen ssci_com, silakan ikuti langkah-langkah berikut ini.

Jalankan Ms Visual Basic 6.0 dan buat sebuah projek baru dengan tipe ActiveX DLL

Gambar 3.1. Memulai projek ActiveX DLL.

� Project 1 Properties, kemudian namakan projek ini sebagai

Gambar 3.2. Window Project Properties.

property lain dengan nilai default-nya. Klik tombol OK.

2

langkah berikut ini.

ActiveX DLL. Klik tombol

, kemudian namakan projek ini sebagai ssci_com.

Page 3: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSC

3. Jalankan menu Project �Jika referensi ini tidak ada dalam komputer lain, silakan gunakan versi yang ada.

Gambar

Klik tombol OK.

4. Saat ini di dalam projek tersebut hanya ada sebuah objek, yaitu Class1. Pada window propertyubahlah nilai-nilainya seperti diperlihatkan gambar di bawah ini.

Klik tombol OK.

5. Untuk sementara, simpanlah dulu projek ini sebagai

MEMBUAT KOMPONEN SSCI_COM

� References, kemudian tambahkan referensi untuk Microsoft XML v3.0. Jika referensi ini tidak ada dalam komputer lain, silakan gunakan versi yang ada.

Gambar 3.3. Menambahkan referensi MSXML.

Saat ini di dalam projek tersebut hanya ada sebuah objek, yaitu Class1. Pada window propertynilainya seperti diperlihatkan gambar di bawah ini.

Gambar 3.4. Merubah property cMyXML.

Untuk sementara, simpanlah dulu projek ini sebagai ssci_com.vbp.

3

, kemudian tambahkan referensi untuk Microsoft XML v3.0. Jika referensi ini tidak ada dalam komputer lain, silakan gunakan versi yang ada.

Saat ini di dalam projek tersebut hanya ada sebuah objek, yaitu Class1. Pada window property-nya

Page 4: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 4

6. Sekarang skrip untuk class ini akan mulai ditulis. Pada bagian Declarations, silakan ketikkan skrip berikut ini.

Skrip 3.1. Deklarasi class cMyXML.

Option Explicit

Public xmlDoc As DOMDocument

Skrip di atas mendefinisikan variabel xmlDoc sebagai dokumen XML.

7. Ketikkan skrip di bawah untuk event Initialize dan Terminate.

Skrip 3.2. Event Initialize.

Private Sub Class_Initialize()

Set xmlDoc = New DOMDocument

xmlDoc.appendChild xmlDoc.createProcessingInstruction("xml", _

"version=""1.0"" encoding=""UTF-8""")

End Sub

Skrip di atas membuat xmlDoc sebagai instance dari DOMDocument, kemudian dilanjutkan pembuatan awalan (header) dokumen XML tersebut. Awalan yang dimaksud adalah “<?xml version="1.0"?>”. Event Initialize dijalankan ini saat objek cMyXML dibuat.

Skrip 3.3. Event Terminate.

Private Sub Class_Terminate()

Set xmlDoc = Nothing

End Sub

Skrip di atas akan membebaskan memori dari alokasi objek xmlDoc. Event Terminate dijalankan ini saat objek cMyXML selesai digunakan.

8. Selanjutnya dibuat sebuah property bernama xmlText yang berisi teks dokumen XML.

Skrip 3.4. Property xmlText.

Public Property Get xmlText() As String

xmlText = xmlDoc.xml

End Property

Page 5: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 5

9. Skrip berikutnya adalah method CreateRootNode, AddChildNode dan AddGrandChildNode. Struktur dokumen XML yang digunakan pada sistem ini diperlihatkan pada gambar berikut.

Gambar 3.5. Struktur dokumen XML

Skrip 3.5. Method CreateRootNode.

Public Sub CreateRootNode(elName As String)

xmlDoc.appendChild xmlDoc.createElement(LCase(elName))

End Sub

Skrip 3.6. Method AddChildNode.

Public Sub AddChildNode(elName As String, elValue As String)

Dim xmlElem As IXMLDOMElement, xmlText As IXMLDOMText

Set xmlElem = xmlDoc.createElement(LCase(elName))

Set xmlText = xmlDoc.createTextNode(elValue)

xmlElem.appendChild xmlText

xmlDoc.childNodes.Item(1).appendChild xmlElem

End Sub

Root Child

Grandchild Node

Page 6: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 6

Skrip 3.7. Method AddGrandChildNode.

Public Sub AddGrandChildNode(childIndex As Integer, elName As String,

elValue As String)

Dim xmlElem As IXMLDOMElement, xmlText As IXMLDOMText

Set xmlElem = xmlDoc.createElement(LCase(elName))

Set xmlText = xmlDoc.createTextNode(elValue)

xmlElem.appendChild xmlText

xmlDoc.childNodes.Item(1).childNodes.Item(childIndex). appendChild

xmlElem

End Sub

10. Method yang terkahir adalah SaveXML berguna menyimpan dokumen XML dalam bentuk file.

Skrip 3.8. Method SaveXML.

Public Function SaveXML(filePath As String) As Integer

On Error GoTo errHandler

xmlDoc.save (filePath)

SaveXML = 0

Exit Function

errHandler:

SaveXML = -1

End Function

Class cMyXML sudah selesai dibuat. Projek ssci_com belum bisa di-compile menjadi DLL. Class sSSCI harus dibuat dulu untuk bisa melakukan itu. Untuk sementara silakan simpan projek ssci_com dan mari lanjutkan dengan class cSSCI.

Page 7: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSC

3.2. Membuat Class cSSCIClass cSSCI mengandung cukup banyak method f_GetXXX. Namun demikian, sebagian besar methodmethod itu sangat mirip pengkodeannya. Perbedaannya adalah pemanggilan classnya yang berlainan untuk setiap penulisan method tersebut.

1. Tambahkan sebuah Class Module ke dalam projek ssci_com.

Gambar 3.6. Menambahkan class module.

2. Selanjutnya ubah nama class tersebut menjadi

MEMBUAT KOMPONEN SSCI_COM

3.2. Membuat Class cSSCI mengandung cukup banyak method f_GetXXX. Namun demikian, sebagian besar method

method itu sangat mirip pengkodeannya. Perbedaannya adalah pemanggilan classn untuk setiap penulisan method tersebut.

Tambahkan sebuah Class Module ke dalam projek ssci_com.

Gambar 3.6. Menambahkan class module.

Selanjutnya ubah nama class tersebut menjadi cSSCI.

Gambar 3.7. Property class cSSCI.

7

mengandung cukup banyak method f_GetXXX. Namun demikian, sebagian besar method-method itu sangat mirip pengkodeannya. Perbedaannya adalah pemanggilan class-class WMI dan property-

Page 8: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 8

3. Pada bagian Declarations, silakan ketikkan skrip berikut ini.

Skrip 3.9. Definisi konstanta.

Option Explicit

Private Const HKEY_CLASSES_ROOT = &H80000000

Private Const HKEY_CURRENT_USER = &H80000001

Private Const HKEY_LOCAL_MACHINE = &H80000002

Konstanta di atas akan digunakan pada method f_GetSoftwareInformation. Method ini akan dijelaskan kemudian.

4. Buat sebuah method bernama StringValue. Perhatikan bahwa is dideklarasikan sebagai provate

method yang artinya tidak bisa diakses oleh skrip di luar class cSSCI. Seperti yang sudah diduga, method ini digunakan secara internal.

Skrip 3.10. Method StringValue.

Private Function StringValue(ByVal sValue) As String

Dim sDummy As String, i As Integer, j As Integer

sDummy = ""

If Not IsNull(sValue) Then

If TypeName(sValue) = "Variant()" Then

i = UBound(sValue)

For j = 0 To i

sDummy = sDummy & CStr(sValue(j)) & IIf(j = i, "", ",")

Next

Else

sDummy = CStr(sValue)

End If

End If

StringValue = Trim(sDummy)

End Function

Method ini digunakan untuk mengisikan nilai-nilai pada node XML. Mengapa tidak langsung saja mengisikan nilai property class WMI langsung ke node XML? Ada beberapa alasan:

� Sebuah property mungkin saja tipenya bukan string. Nilai itu harus dikonversikan ke string agar bisa dimasukkan ke node XML.

� Sebuah property mungkin saja bernilai NULL. Jika demikian, maka nilai yang harus dimasukkan adalah karakter kosong (“”).

� Sebuah property bisa saja berbentuk array, bukan nilai tunggal. Jika demikian, maka isinya harus diuraikan dan digabung menjadi sebuah string.

Untuk alasan-alasan itulah method StringValue ini perlu dibuat. Anda akan melihat nanti bahwa method ini akan sangat sering dipanggil.

5. Selanjutnya buatlah empat buah private method lainnya, yaitu f_GetDomainName, f_GetWorkgroupName, f_GetComputerName dan f_GetUserName. Keempat method ini digunakan untuk mendapatkan informasi-informasi dasar sebuah komputer yaitu nama domain atau nama workgroup, nama komputer dan nama user.

Page 9: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 9

Perhatikan baris “Set oWMI = GetObject ("winmgmts:root\CIMV2" )”. Ini adalah sebuah moniker untuk membuat koneksi ke komputer lokal menggunakan trusted connection.

Catatan:

Pada prakteknya nanti, SysPie Agent harus diinstal pada komputer-komputer yang ingin diinspeksi inventori sistemnya. Komponen ssci_com yang dijalankan oleh SysPie akan berjalan secara lokal pada komputer yang bersangkutan. ssci_com tidak akan dijalankan untuk menarik informasi dari komputer lain. Oleh karena itu moniker di atas juga konsisten dengan cara kerja ini.

Selanjutnya oItems adalah kompulan objek SwbemObject yang berisi property dan nilai dari objek WMI Win32_ComputerSystem.

Skrip 3.11. Method f_GetDomainName.

Private Function f_GetDomainName() As String

On Error GoTo errHandler

Dim oWMI, oItem, oItems, sDummy As String

sDummy = ""

Set oWMI = GetObject("winmgmts:root\CIMV2")

Set oItems = oWMI.execQuery("select * from win32_computersystem where

PartOfDomain=TRUE")

For Each oItem In oItems

sDummy = oItem.domain

Next

f_GetDomainName = sDummy

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

Exit Function

errHandler:

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

f_GetDomainName = ""

End Function

Jangan melupakan rutin penanganan kesalahan (error handling atau dikenal juga exception) karena kesalahan sekalipun harus ada di dalam kendali pembuat program. Pada skrip di atas, kesalahan yang terjadi akan ditangkap pada bagian errHandler sehingga ia akan berhenti di situ (tidak diteruskan ke skrip pemanggil method ini). Jika lalai melakukan ini, kesalahan akan diteruskan sampai ke aplikasi klien dengan munculnya sebuah pesan kesalahan. Munculnya pesan kesalahan (yang tidak diantisipasi) di depan pengguna tentunya akan mengurangi impresi.

Pada skrip di atas, kesalahan ditangani dengan dikembalikannya sebuah karakter kosong oleh method tersebut. Tidak ada pesan kesalahan yang akan muncul.

Page 10: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 10

Skrip 3.12. Method f_GetWorkgroupName.

Private Function f_GetWorkgroupName() As String

On Error GoTo errHandler

Dim oWMI, oItem, oItems, sDummy As String

sDummy = ""

Set oWMI = GetObject("winmgmts:root\CIMV2")

Set oItems = oWMI.execQuery("select * from win32_computersystem where

PartOfDomain=FALSE")

For Each oItem In oItems

sDummy = oItem.workgroup

Next

f_GetWorkgroupName = sDummy

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

Exit Function

errHandler:

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

f_GetWorkgroupName = ""

End Function

Skrip 3.13. Method f_GetComputerName.

Private Function f_GetComputerName() As String

On Error GoTo errHandler

Dim oWMI, oItem, oItems

Set oWMI = GetObject("winmgmts:root\CIMV2")

Set oItems = oWMI.execQuery("select * from win32_computersystem")

For Each oItem In oItems

f_GetComputerName = oItem.Name

Next

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

Exit Function

errHandler:

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

f_GetComputerName = ""

End Function

Page 11: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 11

Skrip 3.14. Method f_GetUserName.

Private Function f_GetUserName() As String

On Error GoTo errHandler

Dim oWMI, oItem, oItems

Set oWMI = GetObject("winmgmts:root\CIMV2")

Set oItems = oWMI.execQuery("select * from win32_computersystem")

For Each oItem In oItems

f_GetUserName = oItem.username

Next

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

Exit Function

errHandler:

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

f_GetUserName = ""

End Function

6. Selanjutnya ketikkan skrip di bawah ini untuk membuat method f_GetLoginInformation.

Skrip ini mestinya akan menarik perhatian karena ini adalah skrip pertama yang mengandung panggilan-panggilan ke cMyXML untuk membuat dokumen XML. Berbeda dengan method-method sebelumnya, f_GetLoginInformation adalah sebuah public method. Ia bisa dipanggil dari luar komponen ssci_com.

Skrip 3.15. Method f_GetLoginInformation.

Public Function f_GetLoginInformation(ByRef sXML As String) As Integer

Dim oMyXML As cMyXML, sDomainName As String, sComputerName As String,

sUserName As String

sDomainName = f_GetDomainName()

If IsEmpty(sDomainName) Then sDomainName = f_GetWorkgroupName()

sComputerName = f_GetComputerName()

sUserName = f_GetUserName()

Set oMyXML = New cMyXML

oMyXML.CreateRootNode "logininformation"

oMyXML.AddChildNode "login_row", ""

oMyXML.AddGrandChildNode 0, "domainname", StringValue(sDomainName)

oMyXML.AddGrandChildNode 0, "computername", StringValue( sComputerName)

oMyXML.AddGrandChildNode 0, "username", StringValue(sUserName)

sXML = oMyXML.xmlText

Set oMyXML = Nothing

If sDomainName = "" Or sComputerName = "" Or sUserName = "" Then

f_GetLoginInformation = -1

Page 12: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSC

Else

f_GetLoginInformation = 0

End If

End Function

Berikut ini adalah potongan dari skrip di atas. Di situ tampak bahwa intance dari class cMyXML. Pada inisialisasi inilah event kembali penjelasan sebelumnya mengenai class tersebut.

Pada baris selanjutnya ke dalam dokumen XML itu dibuat sebuah root node dengan method CreateRootNode, diikuti baris-baris berikutnya untuk pembuatan child node dan grandchild node menggunakan method AddChildNode

...

Set oMyXML = New cMyXML

oMyXML.CreateRootNode "logininformation"

oMyXML.AddChildNode "login_row", ""

oMyXML.AddGrandChildNode 0, "domainname", StringValue( sDomainName)

...

sXML = oMyXML.xmlText

Set oMyXML = Nothing

...

Ke dalam variabel string sXML dimasukkan teks XML yang diperoleh dari property digunakan, akhirnya oMyXML dibebaskan dari memori. Pada saat inilah event dijalankan.

Isi dari variabel sXML diperlihatkan pada gambar di bawah ini.

Gambar 3.8. Dokumen XML hasil pemanggilan

Jika cukup teliti, Anda akan bertanyaAddGrandChildNode di atas. Angka nol tersebut mewakili nomor indeks dari child node (dalam hal ini login_row) dimana grandchild node akan ditambahkan ke dalamnya. Pada contoh dokumen XML tersebut hanya ada satu buah childnode, dengan demikian tidak masalah jika angka nol ditulis secara Akan tampak nanti bahwa sebuah dokumen XML bisa mengandusaat sebuah grandchild node akan ditambahkan maka nomor indeks child node harus ditetapkan dengan benar.

Sebagai contoh, perhatikan dokumen XML yang lain berikut ini. Di dalamnya tampak ada empat buah child node masing-masing memiliki indeks 0, 1, 2, 3 dan 4. Oleh karena itu parameter indeks pada method AddGrandChildNode harus dirujuk dengan benar.

MEMBUAT KOMPONEN SSCI_COM

f_GetLoginInformation = 0

Berikut ini adalah potongan dari skrip di atas. Di situ tampak bahwa oMyXML didefinisikan sebagai sebuah . Pada inisialisasi inilah event Initialize dari class cMyXML

kembali penjelasan sebelumnya mengenai class cMyXML dimana sebuah dokumen XML dibuat pada event

Pada baris selanjutnya ke dalam dokumen XML itu dibuat sebuah root node dengan method baris berikutnya untuk pembuatan child node dan grandchild node

AddChildNode dan AddGrandChildNode.

oMyXML.CreateRootNode "logininformation"

oMyXML.AddChildNode "login_row", ""

oMyXML.AddGrandChildNode 0, "domainname", StringValue( sDomainName)

dimasukkan teks XML yang diperoleh dari property xmlTextdibebaskan dari memori. Pada saat inilah event Terminate

diperlihatkan pada gambar di bawah ini.

Dokumen XML hasil pemanggilan f_GetLoginInformation

Jika cukup teliti, Anda akan bertanya-tanya apa artinya angka nol (0) pada parameter method di atas. Angka nol tersebut mewakili nomor indeks dari child node (dalam hal ini

login_row) dimana grandchild node akan ditambahkan ke dalamnya. Pada contoh dokumen XML tersebut hanya ada satu buah childnode, dengan demikian tidak masalah jika angka nol ditulis secara Akan tampak nanti bahwa sebuah dokumen XML bisa mengandung beberapa child node. Dengan demikian, saat sebuah grandchild node akan ditambahkan maka nomor indeks child node harus ditetapkan dengan

Sebagai contoh, perhatikan dokumen XML yang lain berikut ini. Di dalamnya tampak ada empat buah child masing memiliki indeks 0, 1, 2, 3 dan 4. Oleh karena itu parameter indeks pada method

harus dirujuk dengan benar.

12

didefinisikan sebagai sebuah cMyXML dijalankan. Silakan lihat

dimana sebuah dokumen XML dibuat pada event

Pada baris selanjutnya ke dalam dokumen XML itu dibuat sebuah root node dengan method baris berikutnya untuk pembuatan child node dan grandchild node

oMyXML.AddGrandChildNode 0, "domainname", StringValue( sDomainName)

xmlText. Setelah selesai Terminate dari class cMyXML

f_GetLoginInformation.

tanya apa artinya angka nol (0) pada parameter method di atas. Angka nol tersebut mewakili nomor indeks dari child node (dalam hal ini

login_row) dimana grandchild node akan ditambahkan ke dalamnya. Pada contoh dokumen XML tersebut hanya ada satu buah childnode, dengan demikian tidak masalah jika angka nol ditulis secara hard-coded.

ng beberapa child node. Dengan demikian, saat sebuah grandchild node akan ditambahkan maka nomor indeks child node harus ditetapkan dengan

Sebagai contoh, perhatikan dokumen XML yang lain berikut ini. Di dalamnya tampak ada empat buah child masing memiliki indeks 0, 1, 2, 3 dan 4. Oleh karena itu parameter indeks pada method

Page 13: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSC

Gambar 3.9

7. Silakan ketik skrip di bawah ini untuk membuat method Penjelasannya akan diberikan setelah ini.

Skrip 3.16. Method f_GetComputerSysInformation

Public Function f_GetComputerSysInformation(ByRef sXML As String, ByRef

sErrMsg As String) As Integer

On Error GoTo errHandler

Dim oWMI, oItem, oItems, oMyXML As cMyXML, vDummy As Variant, i As

Integer

Set oWMI = GetObject("winmgmts:root

Set oItems = oWMI.execQuery("select * from Win32_ComputerSystem")

Set oMyXML = New cMyXML

oMyXML.CreateRootNode "computersysinformation"

i = 0

On Error Resume Next

For Each oItem In oItems

oMyXML.AddChildNode "computersys_row", ""

vDummy = "": vDummy = oItem.Name

oMyXML.AddGrandChildNode i, "name", StringValue(vDummy)

vDummy = "": vDummy = oItem.Description

oMyXML.AddGrandChildNode i, "description", StringValue(vDummy)

vDummy = "": vDummy = oItem.manufacturer

oMyXML.AddGrandChildNode i, "manufacturer", StringValue(vDummy)

MEMBUAT KOMPONEN SSCI_COM

Gambar 3.9. Dokumen XML dengan beberapa child node.

Silakan ketik skrip di bawah ini untuk membuat method f_GetComputerSysInformationPenjelasannya akan diberikan setelah ini.

f_GetComputerSysInformation.

Public Function f_GetComputerSysInformation(ByRef sXML As String, ByRef

String) As Integer

Dim oWMI, oItem, oItems, oMyXML As cMyXML, vDummy As Variant, i As

Set oWMI = GetObject("winmgmts:root\CIMV2")

Set oItems = oWMI.execQuery("select * from Win32_ComputerSystem")

oMyXML.CreateRootNode "computersysinformation"

oMyXML.AddChildNode "computersys_row", ""

vDummy = "": vDummy = oItem.Name

oMyXML.AddGrandChildNode i, "name", StringValue(vDummy)

my = "": vDummy = oItem.Description

oMyXML.AddGrandChildNode i, "description", StringValue(vDummy)

vDummy = "": vDummy = oItem.manufacturer

oMyXML.AddGrandChildNode i, "manufacturer", StringValue(vDummy)

Indeks=

Indeks=

Indeks=

Indeks=

13

.

f_GetComputerSysInformation.

Public Function f_GetComputerSysInformation(ByRef sXML As String, ByRef

Dim oWMI, oItem, oItems, oMyXML As cMyXML, vDummy As Variant, i As

Set oItems = oWMI.execQuery("select * from Win32_ComputerSystem")

oMyXML.AddGrandChildNode i, "description", StringValue(vDummy)

oMyXML.AddGrandChildNode i, "manufacturer", StringValue(vDummy)

Page 14: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 14

vDummy = "": vDummy = oItem.model

oMyXML.AddGrandChildNode i, "model", StringValue(vDummy)

vDummy = "": vDummy = oItem.systemtype

oMyXML.AddGrandChildNode i, "systemtype", StringValue(vDummy)

vDummy = "": vDummy = oItem.primaryownername

oMyXML.AddGrandChildNode i, "primaryownername", StringValue(vDummy)

vDummy = "": vDummy = oItem.roles

oMyXML.AddGrandChildNode i, "roles", StringValue(vDummy)

vDummy = "": vDummy = oItem.domain

oMyXML.AddGrandChildNode i, "domain", StringValue(vDummy)

vDummy = "": vDummy = oItem.workgroup

oMyXML.AddGrandChildNode i, "workgroup", StringValue(vDummy)

vDummy = "": vDummy = oItem.username

oMyXML.AddGrandChildNode i, "username", StringValue(vDummy)

vDummy = "": vDummy = oItem.DomainRole

oMyXML.AddGrandChildNode i, "domainrole", StringValue(vDummy)

vDummy = "": vDummy = oItem.TotalPhysicalMemory

oMyXML.AddGrandChildNode i, "totalphysicalmemory",

StringValue(vDummy)

vDummy = "": vDummy = oItem.NumberOfProcessors

oMyXML.AddGrandChildNode i, "numberofprocessors",

StringValue(vDummy)

i = i + 1

Next

sErrMsg = ""

sXML = oMyXML.xmlText

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

Set oMyXML = Nothing

f_GetComputerSysInformation = 0

Exit Function

errHandler:

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

Set oMyXML = Nothing

sErrMsg = Err.Description

sXML = ""

f_GetComputerSysInformation = -1

End Function

Pada bagian awal skrip tersebut, terlihat sebuah exception “On Error GoTo errHandler”. Exception ini mengindikasikan bahwa jika terjadi kesalahan saat program dijalankan, maka ia akan menuju ke rutin yang ditandai dengan label errHandler. Saat itu terjadi, method akan mengembalikan nilai -1 dan parameter sXML

Page 15: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 15

akan berisi karakter kosong, sementara parameter sErrMsg akan berisi kode kesalahan. Kesalahan yang mungkin terjadi pada bagian-bagian awal ini bisa jadi disebabkan oleh:

� Komputer yang bersangkutan tidak terinstal WMI.

� Komputer yang bersangkutan tidak terinstal MSXML.

On Error GoTo errHandler

...

Set oItems = oWMI.execQuery("select * from Win32_ComputerSystem")

...

On Error Resume Next

...

Pada beberapa baris di bawahnya akan dijumpai lagi sebuah exception yang lain, yaitu “On Error Resume Next”. Exception ini mengindikasikan bahwa jika terjadi kesalahan, program akan terus berjalan. Penjelasan ini kelihatannya menghibur, tapi Anda harus sangat berhati-hati dengan penggunaan exception ini karena perilaku program dalam menanggapi sebuah kesalahan menjadi kurang terprediksi. Antisipasi hal tersebut akan sangat berbeda-beda untuk setiap skrip dan tidak ada cara yang baku. Apa yang akan dijelaskan berikut ini adalah khusus untuk mengantisipasi kesalahan-kesalahan yang mungkin timbul di dalam class cSSCI.

Saat informasi property-property sebuah class WMI akan ditarik dari sebuah komputer. Terlebih dahulu harus disiapkan sebuah variabel untuk menampung nilainya. Dalam hal ini disiapkan sebuah variabel bernama vDummy dan tipenya adalah variant (silakan lihat deklarasi variabel ini pada awal skrip). Pilihan variant bukannya tanpa alasan. Ingat bahwa property-property sebuah class WMI bisa berwujud string, integer, float bahkan sebuah array. Jika Anda mendeklarasikan vDummy sebagai string misalnya, program akan crashed saat ia memaksakan nilai bertipe data lain.

...

vDummy = "": vDummy = oItem.Name

oMyXML.AddGrandChildNode i, "name", StringValue(vDummy)

vDummy = "": vDummy = oItem.Description

oMyXML.AddGrandChildNode i, "description", StringValue(vDummy)

...

Yang berikutnya, inisialisasi vDummy harus dilakukan dengan karakter kosong. Asumsi bahwa nilai property yang akan dibaca sebagai sebuah string tidak menjadi masalah. Jika seandainya ia adalah sebuah integer atau array, vDummy akan fleksibel menyiapkan ruangnya guna menampung data tersebut dengan tipe yang bersesuaian. Itulah keunggulan variant.

Inisialisasi bukanlah sebuah basa-basi di sini. Perhatikan potongan skrip di atas. Asumsikan skrip berhasil membaca property oItem.Name (saat itu vDummy akan berisi nilai oItem.Name) dan berlanjut ke baris-baris di bawahnya. Sekarang anggaplah terjadi kesalahan saat membaca property oItem.Description. Karena pilihan exception di atas, maka kesalahan yang terjadi tidak akan menyebabkan program berhenti tapi akan terus berlanjut ke baris berikutnya – dalam hal ini eksekusi method AddGrandChildNode pada baris di bawahnya. Saat itu vDummy berisi karakter kosong karena perintah “vDummy = oItem.Description” tidak berhasil dilaksanakan sehingga node description pada dokumen XML berisi nilai kosong. Sekalipun bukan hasil yang bagus, tapi program mengantisipasi kesalahan dengan cara yang benar.

Bagaimana seandainya vDummy tidak diinisialsisasi sebelumnya? Variabel vDummy akan berisi nilai property oItem.Name dari hasil eksekusi baris-baris sebelumnya dan meneruskan nilai itu pada node description dari dokumen XML tersebut – dimana ini adalah perilaku yang menyesatkan.

Ada hal lain yang perlu diperhatikan. Hati-hati jika Anda tergoda untuk menghindari penggunaan variabel penampung dan mengganti bentuk perintah semula menjadi:

Page 16: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 16

...

oMyXML.AddGrandChildNode i, "description", StringValue( oItem.Description)

...

Walaupun kelihatannya serupa, tapi hasilnya akan menunjukkan perbedaan saat terjadi kesalahan. Jika program gagal membaca property oItem.Description, maka satu baris perintah di atas akan diabaikan. Artinya tidak akan ada node description di dalam dokumen XML tersebut.

Hal berikutnya yang perlu dijelaskan adalah variabel i pada parameter method AddGrandChildNode. Variabel i berfungsi sebagai indeks dari child node di dalam dokumen XML.

...

Set oItems = oWMI.execQuery("select * from Win32_ComputerSystem")

...

i = 0

On Error Resume Next

For Each oItem In oItems

oMyXML.AddChildNode "computersys_row", ""

vDummy = "": vDummy = oItem.Name

oMyXML.AddGrandChildNode i, "name", StringValue(vDummy)

...

i = i + 1

Next

...

Dari potongan skrip di atas oItems adalah sebuah objek SwbemObjectSet, yaitu sebuah collection atau kumpulan dari objek-objek SwbemObject. Sementara itu, oItem adalah objek SwbemObject itu sendiri. Kita tidak akan pernah yakin berapa banyak objek SwbemObject ada di dalam sebuah SwbemObjectSet. Mungkin satu, dua atau jumlah lain. Oleh karena jumlahnya dianggapan bisa lebih dari satu, maka iterasi “For Each oItem In oItems . . . Next” digunakan disini. Variabel i akan menunjukkan seberapa banyak objek SwbemObject yang ditemui di dalam SwbemObjectSet.

Silakan simpan projek ssci_com dengan segala perubahannya.

Untuk sementara tinggalkan dulu projek ssci_com. Dari beberapa skrip yang telah ditunjukkan, terlihat class-class yang digunakan untuk membaca informasi komputer memiliki nama nama yang diawali dengan prefik Win32_. Di dalam WMI, class-class yang memiliki awalan seperti itu disebut class-class Win32. Di dalam WMI, Microsoft telah menyiapkan class-class Win32 yang jumlahnya sangat banyak, cukup bervariasi untuk memenuhi rasa ingin tahu isi komputer Anda. Lampiran A pada bagian akhir artikel ini memuat daftar class-class yang dimaksud.

Komponen ssci_com tidak memanfaatkan seluruh class tersebut, bahkan bisa dikatakan hanya sebagian kecil. Berikut ini adalah daftar nama-nama method berikut class yang digunakannya.

Tabel 3.1. Method-method di dalam class cSSCI.

Method Namespace Class

f_GetBIOSInformation CIMV2 Win32_Bios

f_GetCacheMemoryInformation CIMV2 Win32_Cachememory

f_GetCDROMDriveInformation CIMV2 Win32_Cdromdrive

f_GetComputerSysInformation CIMV2 Win32_Computersystem

Page 17: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 17

f_GetDesktopMonitorInformation CIMV2 Win32_Desktopmonitor

f_GetDiskDriveInformation CIMV2 Win32_Diskdrive

f_GetDisplayConfigurationInformation CIMV2 Win32_Displayconfiguration

f_GetFloppyDriveInformation CIMV2 Win32_Floppydrive

f_GetIDEControllerInformation CIMV2 Win32_Idecontroller

f_GetKeyboardInformation CIMV2 Win32_Keyboard

f_GetLogicalDiskInformation CIMV2 Win32_Logicaldisk

f_GetNetAdapterConfigInformation CIMV2 Win32_Networkadapterconfiguration

f_GetNetworkAdapterInformation CIMV2 Win32_Networkadapter

f_GetOSInformation CIMV2 Win32_Operatingsystem

f_GetParallelPortInformation CIMV2 Win32_Parallelport

f_GetPCMCIAControllerInformation CIMV2 Win32_Pcmciacontroller

f_GetPhysicalMemoryInformation CIMV2 Win32_Physicalmemory

f_GetPointingDevInformation CIMV2 Win32_Pointingdevice

f_GetPOTSModemInformation CIMV2 Win32_Potsmodem

f_GetPrinterInformation CIMV2 Win32_Printer

f_GetProcessorInformation CIMV2 Win32_Processor

f_GetSCSIControllerInformation CIMV2 Win32_Scsicontroller

f_GetSerialPortConfigInformation CIMV2 Win32_Serialportconfiguration

f_GetSerialPortInformation CIMV2 Win32_Serialport

f_GetSoftwareInformation DEFAULT Stdregprov

f_GetSoundDeviceInformation CIMV2 Win32_Sounddevice

f_GetTapeDriveInformation CIMV2 Win32_Tapedrive

f_GetUSBControllerInformation CIMV2 Win32_Usbcontroller

f_GetVideoControllerInformation CIMV2 Win32_Videocontroller

Method-method di atas akan diulas beberapa saat lagi. Dari sekian banyak method yang menggunakan class-class Win32 (namespace CIMV2), hanya sebuah method yang menggunakan namespace DEFAULT yaitu method f_GetSoftwareInformation.

Catatan:

Informasi property setiap class bisa diperoleh dari menu bantuan pada program WMI Object Browser atau MSDN.

Dalam direktori ..\LINKS\WIN32_CLASSES pada media yang disertakan terdapat sejumlah link Internet ke MSDN untuk informasi class-class tersebut.

Pada bagian selanjutnya akan diperlihatkan bagaimana method-method tersebut diimplementasikan di dalam class cSSCI.

Page 18: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 18

3.3. Menambahkan Method Berikut ini adalah penjelasan mengenai method-method yang ada di dalam class cSSCI.

Method f_GetBIOSInformation

Keterangan Method ini menampilkan atribut dari sistem Basic Input/Output Services (BIOS) yang terinstal pada sebuah komputer.

Dari keseluruhan property yang ada di dalam class Win32_Bios, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.2. Beberapa property dari class Win32_Bios.

Property Tipe Data

name string

description string

status string

serialnumber string

buildnumber string

identificationcode string

manufacturer string

currentlanguage string

primarybios boolean

releasedate datetime

softwareelementid string

softwareelementstate uint16

targetoperatingsystem uint16

version string

smbiosbiosversion string

smbiosmajorversion uint16

smbiosminorversion uint16

smbiospresent boolean

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Bios.asp

Untuk menambahkan method f_GetBIOSInformation pada projek ssci_com, ikuti langkah-langkah sebagai berikut:

1. Buka projek ssci_com.

2. Tambahkan skrip f_GetBIOSInformation di bawah ini ke dalam class cSSCI untuk membuat method

tersebut.

Page 19: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 19

Skrip 3.17. Method f_GetBIOSInformation.

Public Function f_GetBIOSInformation(ByRef sXML As String, ByRef

sErrMsg As String) As Integer

On Error GoTo errHandler

Dim oWMI, oItem, oItems, oMyXML As cMyXML, vDummy As Variant, i As

Integer

Set oWMI = GetObject("winmgmts:root\CIMV2")

Set oItems = oWMI.execQuery("select * from Win32_bios")

Set oMyXML = New cMyXML

oMyXML.CreateRootNode "biosinformation"

i = 0

On Error Resume Next

For Each oItem In oItems

oMyXML.AddChildNode "bios_row", ""

vDummy = "": vDummy = oItem.Name

oMyXML.AddGrandChildNode i, "name", StringValue(vDummy)

vDummy = "": vDummy = oItem.Description

oMyXML.AddGrandChildNode i, "description", StringValue(vDummy)

vDummy = "": vDummy = oItem.Status

oMyXML.AddGrandChildNode i, "status", StringValue(vDummy)

vDummy = "": vDummy = oItem.serialnumber

oMyXML.AddGrandChildNode i, "serialnumber", StringValue(vDummy)

vDummy = "": vDummy = oItem.buildnumber

oMyXML.AddGrandChildNode i, "buildnumber", StringValue(vDummy)

vDummy = "": vDummy = oItem.identificationcode

oMyXML.AddGrandChildNode i, "identificationcode",

StringValue(vDummy)

vDummy = "": vDummy = oItem.manufacturer

oMyXML.AddGrandChildNode i, "manufacturer", StringValue(vDummy)

vDummy = "": vDummy = oItem.currentlanguage

oMyXML.AddGrandChildNode i, "currentlanguage", StringValue(vDummy)

vDummy = "": vDummy = oItem.primarybios

oMyXML.AddGrandChildNode i, "primarybios", StringValue(vDummy)

vDummy = "": vDummy = oItem.releasedate

oMyXML.AddGrandChildNode i, "releasedate", StringValue(vDummy)

vDummy = "": vDummy = oItem.softwareelementid

oMyXML.AddGrandChildNode i, "softwareelementid",

StringValue(vDummy)

vDummy = "": vDummy = oItem.softwareelementstate

oMyXML.AddGrandChildNode i, "softwareelementstate",

StringValue(vDummy)

Page 20: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 20

vDummy = "": vDummy = oItem.targetoperatingsystem

oMyXML.AddGrandChildNode i, "targetoperatingsystem",

StringValue(vDummy)

vDummy = "": vDummy = oItem.version

oMyXML.AddGrandChildNode i, "version", StringValue(vDummy)

vDummy = "": vDummy = oItem.smbiosbiosversion

oMyXML.AddGrandChildNode i, "smbiosbiosversion",

StringValue(vDummy)

vDummy = "": vDummy = oItem.smbiosmajorversion

oMyXML.AddGrandChildNode i, "smbiosmajorversion",

StringValue(vDummy)

vDummy = "": vDummy = oItem.smbiosminorversion

oMyXML.AddGrandChildNode i, "smbiosminorversion",

StringValue(vDummy)

vDummy = "": vDummy = oItem.smbiospresent

oMyXML.AddGrandChildNode i, "smbiospresent", StringValue(vDummy)

i = i + 1

Next

sErrMsg = ""

sXML = oMyXML.xmlText

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

Set oMyXML = Nothing

f_GetBIOSInformation = 0

Exit Function

errHandler:

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

Set oMyXML = Nothing

sErrMsg = Err.Description

sXML = ""

f_GetBIOSInformation = -1

End Function

Catatan:

Untuk selanjutnya, skrip method-method f_GetXXX lainnya dapat dilihat pada Lampiran B.

Method f_GetCacheMemoryInformation

Keterangan Method ini menampilkan cache memori internal dan eksternal pada sistem komputer yang bersangkutan.

Dari keseluruhan property yang ada di dalam class Win32_CacheMemory, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Page 21: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 21

Tabel 3.3. Beberapa property dari class Win32_CacheMemory.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

statusinfo uint16

access uint16

associativity uint16

availability uint16

blocksize uint64

numberofblocks uint64

cachespeed uint32

cachetype uint16

maxcachesize uint32

systemleveladdress boolean

startingaddress uint64

endingaddress uint64

flushtimer uint32

level uint16

linesize uint32

location uint16

readpolicy uint16

replacementpolicy uint16

writepolicy uint16

installdate datetime

installedsize uint32

Page 22: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 22

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Cachememory.asp

Method f_GetCDROMDriveInformation

Keterangan Method ini menampilkan penggerak CD-ROM pada sistem komputer Windows.

Dari keseluruhan property yang ada di dalam class Win32_Cdromdrive, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.4. Beberapa property dari class Win32_Cdromdrive.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

drive string

id string

manufacturer string

mediatype string

medialoaded boolean

numberofmediasupported uint32

maximumcomponentlength uint32

compressionmethod string

size uint64

volumename string

volumeserialnumber string

defaultblocksize uint64

maxblocksize uint64

minblocksize uint64

maxmediasize uint64

scsibus uint32

scsilogicalunit uint16

scsiport uint16

scsitargetid uint16

transferrate real64

Page 23: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 23

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Cdromdrive.asp

Method f_GetComputerSysInformation

Keterangan Method ini menampilkan sistem operasi dalam lingkungan Windows.

Dari keseluruhan property yang ada di dalam class Win32_Computersystem, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.5. Beberapa property dari class Win32_Computersystem.

Property Tipe Data

name string

description string

manufacturer string

model string

systemtype string

primaryownername string

roles string array

domain string

workgroup string

username string

domainrole uint16

totalphysicalmemory uint64

numberofprocessors uint32

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Computersystem.asp

Method f_GetDesktopMonitorInformation

Keterangan Method ini menampilkan tipe perangkat monitor atau tampilan yang terhubung ke sistem komputer.

Dari keseluruhan property yang ada di dalam class Win32_Desktopmonitor, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.6. Beberapa property dari class Win32_Desktopmonitor.

Property Tipe Data

name string

Page 24: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 24

description string

deviceid string

pnpdeviceid string

status string

monitormanufacturer string

monitortype string

pixelsperxlogicalinch uint32

pixelsperylogicalinch uint32

screenheight uint32

screenwidth uint32

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Desktopmonitor.asp

Method f_GetDiskDriveInformation

Keterangan Method ini menampilkan penggerak disk yang terdeteksi oleh komputer yang menjalankan sistem operasi Windows.

Dari keseluruhan property yang ada di dalam class Win32_Diskdrive, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.7. Beberapa property dari class Win32_Diskdrive.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

mediatype string

medialoaded boolean

numberofmediasupported uint32

compressionmethod string

model string

interfacetype string

manufacturer string

index uint32

partitions uint32

Page 25: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 25

signature uint32

totalheads uint32

bytespersector uint32

sectorspertrack uint32

trackspercylinder uint32

totalsectors uint64

totaltracks uint64

totalcylinders uint64

size uint64

scsibus uint32

scsilogicalunit uint16

scsiport uint16

scsitargetid uint16

defaultblocksize uint64

maxblocksize uint64

minblocksize uint64

maxmediasize uint64

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Diskdrive.asp

Method f_GetDisplayConfigurationInformation

Keterangan Method ini menampilkan informasi konfigurasi perangkat tampilan pada sistem Windows.

Dari keseluruhan property yang ada di dalam class Win32_Displayconfiguration, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.8. Beberapa property dari class Win32_Displayconfiguration.

Property Tipe Data

devicename string

description string

settingid string

specificationversion uint32

displayflags uint32

displayfrequency uin32

driverversion string

Page 26: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 26

logpixels uint32

bitsperpel uint32

pelsheight uint32

pelswidth uint32

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Displayconfiguration.asp

Method f_GetFloppyDriveInformation

Keterangan Method ini menampilkan informasi penggerak floppy disk.

Dari keseluruhan property yang ada di dalam class Win32_Floppydrive, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.9. Beberapa property dari class Win32_Floppydrive.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

numberofmediasupported uint32

compressionmethod string

manufacturer string

defaultblocksize uint64

maxblocksize uint64

minblocksize uint64

maxmediasize uint64

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Floppydrive.asp

Method f_GetIDEControllerInformation

Keterangan Method ini menampilkan manages perangkat pengendali Integrated Device Electronics (IDE).

Dari keseluruhan property yang ada di dalam class Win32_Idecontroller, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Page 27: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 27

Tabel 3.10. Beberapa property dari class Win32_Idecontroller.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

statusinfo uint16

manufacturer string

maxnumbercontrolled uint32

protocolsupported uint16

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Idecontroller.asp

Method f_GetKeyboardInformation

Keterangan Method ini menampilkan papan ketik yang terinstal pada sistem Windows.

Dari keseluruhan property yang ada di dalam class Win32_Keyboard, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.11. Beberapa property dari class Win32_Keyboard.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

layout string

numberoffunctionkeys uint16

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Keyboard.asp

Method f_GetLogicalDiskInformation

Keterangan Method ini menampilkan perangkat penyimpanan data lokal pada sistem Windows.

Page 28: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 28

Dari keseluruhan property yang ada di dalam class Win32_Logicaldisk, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.12. Beberapa property dari class Win32_Logicaldisk.

Property Tipe Data

name string

description string

deviceid string

filesystem string

freespace uint64

size uint64

volumename string

volumeserialnumber string

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Logicaldisk.asp

Method f_GetNetAdapterConfigInformation

Keterangan Method ini menampilkan atribut dan seting dari network adapter.

Dari keseluruhan property yang ada di dalam class Win32_Networkadapterconfiguration, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.13. Beberapa property dari class Win32_Networkadapterconfiguration.

Property Tipe Data

index uint32

macaddress string

settingid string

description string

servicename string

arpalwayssourceroute boolean

arpuseethersnap boolean

databasepath string

deadgwdetectenabled boolean

defaultipgateway array string

defaulttos uint8

defaultttl uint8

dhcpenabled boolean

Page 29: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 29

dhcpleaseexpires datetime

dhcpleaseobtained datetime

dhcpserver string

dnsdomain string

dnsdomainsuffixsearchorder array string

dnsenabledforwinsresolution boolean

dnshostname string

dnsserversearchorder array string

domaindnsregistrationenabled boolean

forwardbuffermemory uint32

fulldnsregistrationenabled boolean

gatewaycostmetric array uint16

igmplevel uint8

ipaddress array string

ipconnectionmetric uint32

ipenabled boolean

ipfiltersecurityenabled boolean

ipportsecurityenabled boolean

ipsecpermitipprotocols array string

ipsecpermittcpports array string

ipsecpermitudpports array string

ipsubnet array string

ipusezerobroadcast boolean

ipxaddress string

ipxenabled boolean

ipxframetype array uint32

ipxmediatype uint32

ipxnetworknumber array string

ipxvirtualnetnumber string

keepaliveinterval uint32

mtu uint32

numforwardpackets uint32

pmtubhdetectenabled boolean

pmtudiscoveryenabled boolean

tcpipnetbiosoptions uint32

Page 30: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 30

tcpmaxconnectretransmissions uint32

tcpmaxdataretransmissions uint32

tcpnumconnections uint32

tcpuserfc1122urgentpointer boolean

tcpwindowsize uint16

winsenablelmhostslookup boolean

winshostlookupfile string

winsprimaryserver string

winsscopeid string

winssecondaryserver string

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Networkadapterconfiguration.asp

Method f_GetNetworkAdapterInformation

Fungsi Method ini menampilkan network adapter pada sistem operasi Windows.

Dari keseluruhan property yang ada di dalam class Win32_Networkadapter, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.14. Beberapa property dari class Win32_Networkadapter.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

statusinfo uint16

speed uint64

maxspeed uint64

macaddress string

timeoflastreset datetime

index uint32

installed boolean

autosense boolean

adaptertype string

adaptertypeid uint16

Page 31: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 31

productname string

servicename string

manufacturer string

maxnumbercontrolled uint32

netconnectionid string

netconnectionstatus uint16

permanentaddress string

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Networkadapter.asp

Method f_GetOSInformation

Keterangan Method ini menampilkan sistem operasi yang terinstal pada sistem komputer Windows.

Dari keseluruhan property yang ada di dalam class Win32_Operatingsystem, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.15. Beberapa property dari class Win32_Operatingsystem.

Property Tipe Data

name string

caption string

status string

manufacturer string

version string

producttype uint32

buildnumber string

buildtype string

csdversion string

servicepackmajorversion uint16

servicepackminorversion uint16

primary boolean

serialnumber string

registereduser string

organization string

installdate datetime

numberoflicensedusers uint32

Page 32: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 32

bootdevice string

systemdevice string

systemdrive string

systemdirectory string

windowsdirectory string

lastbootuptime datetime

codeset string

countrycode string

locale string

currenttimezone sint16

localdatetime datetime

oslanguage uint32

osproductsuite uint32

ostype uint16

dataexecutionprevention_32bitapplications

boolean

dataexecutionprevention_available boolean

dataexecutionprevention_drivers boolean

dataexecutionprevention_supportpolicy boolean

debug boolean

distributed string

encryptionlevel uint32

foregroundapplicationboost uint8

freephysicalmemory uint64

freespaceinpagingfiles uint64

freevirtualmemory uint64

sizestoredinpagingfiles uint64

totalswapspacesize uint64

totalvirtualmemorysize uint64

totalvisiblememorysize uint64

numberofprocesses uint32

maxnumberofprocesses uint32

maxprocessmemorysize uint32

numberofusers uint32

Baca informasi selengkapnya pada situs Internet:

Page 33: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 33

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Operatingsystem.asp

Method f_GetParallelPortInformation

Fungsi Method ini menampilkan parallel port pada sistem komputer Windows.

Dari keseluruhan property yang ada di dalam class Win32_Parallelport, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.16. Beberapa property dari class Win32_Parallelport.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

statusinfo uint16

dmasupport boolean

installdate datetime

maxnumbercontrolled uint32

osautodiscovered boolean

protocolsupported uint16

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Parallelport.asp

Method f_GetPCMCIAControllerInformation

Fungsi Method ini menampilkan kemampuan dari perangkat pengendali Personal Computer Memory Card Interface Adapter (PCMCIA).

Dari keseluruhan property yang ada di dalam class Win32_Pcmciacontroller, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.17. Beberapa property dari class Win32_Pcmciacontroller.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

Page 34: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 34

status string

statusinfo uint16

manufacturer string

maxnumbercontrolled uint32

protocolsupported uint16

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Pcmciacontroller.asp

Method f_GetPhysicalMemoryInformation

Keterangan Method ini menampilkan memori fisikal yang ada di dalam sistem komputer dan digunakan oleh sistem operasi.

Dari keseluruhan property yang ada di dalam class Win32_Physicalmemory, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.18. Beberapa property dari class Win32_Physicalmemory.

Property Tipe Data

name string

description string

status string

manufacturer string

model string

version string

memorytype uint16

typedetail uint16

positioninrow uint32

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Physicalmemory.asp

Method f_GetPointingDevInformation

Keterangan Method ini menampilkan perangkat input yang digunakan untuk menunjuk dan memilih area pada tampilan sistem komputer Windows.

Dari keseluruhan property yang ada di dalam class Win32_Pointingdevice, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.19. Beberapa property dari class Win32_Pointingdevice.

Page 35: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 35

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

manufacturer string

hardwaretype string

numberofbuttons uint8

statusinfo uint16

pointingtype uint16

deviceinterface uint16

doublespeedthreshold uint32

quadspeedthreshold uint32

samplerate uint32

resolution uint32

handedness uint16

synch uint32

inffilename string

infsection string

installdate datetime

islocked boolean

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Pointingdevice.asp

Method f_GetPOTSModemInformation

Keterangan Method ini menampilkan layanan dan karakteristik dari modem Plain Old Telephone Service (POTS) pada sistem Windows.

Dari keseluruhan property yang ada di dalam class Win32_Potsmodem, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.20. Beberapa property dari class Win32_Potsmodem.

Property Tipe Data

name string

description string

Page 36: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 36

deviceid string

pnpdeviceid string

status string

statusinfo uint16

attachedto string

model string

devicetype string

deviceloader string

index uint32

blindoff string

blindon string

compatibilityflags string

compressioninfo uint16

compressionoff string

compressionon string

configmanagererrorcode uint32

configmanageruserconfig boolean

configurationdialog string

countryselected string

dcb array uint8

default array uint8

errorcleared boolean

errorcontrolforced string

errorcontrolinfo uint16

errorcontroloff string

errorcontrolon string

flowcontrolhard string

flowcontroloff string

flowcontrolsoft string

maxbaudratetophone uint32

maxbaudratetoserialport uint32

maxnumberofpasswords uint16

modeminfpath string

modeminfsection string

modulationbell string

Page 37: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 37

modulationccitt string

modulationscheme uint16

portsubclass string

stringformat string

prefix string

reset string

terminator string

properties array uint8

providername string

pulse string

tone string

responseskeyname string

dialtype uint16

answermode uint16

ringsbeforeanswer uint8

speakermodedial string

speakermodeoff string

speakermodeon string

speakermodesetup string

speakervolumeinfo uint16

speakervolumelow string

speakervolumemed string

speakervolumehigh string

supportscallback boolean

supportssynchronousconnect boolean

voiceswitchfeature string

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Potsmodem.asp

Method f_GetPrinterInformation

Keterangan Method ini menampilkan perangkat yang terhubung dengan sistem komputer Windows yang dapat menghasilkan gambar visual pada kertas atau media lain.

Dari keseluruhan property yang ada di dalam class Win32_Printer, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.21. Beberapa property dari class Win32_Printer.

Page 38: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 38

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

statusinfo uint16

drivername string

portname string

capabilitydescriptions array string

printerpapernames array string

averagepagesperminute uint32

horizontalresolution uint32

verticalresolution uint32

attributes uint32

default boolean

direct boolean

local boolean

network boolean

hidden boolean

published boolean

queued boolean

rawonly boolean

shared boolean

sharename string

workoffline boolean

spoolenabled boolean

docompletefirst boolean

keepprintedjobs boolean

enablebidi boolean

enabledevqueryprint boolean

detectederrorstate uint16

extendeddetectederrorstate uint16

extendedprinterstatus uint16

jobcountsincelastreset uint32

Page 39: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 39

location string

markingtechnology uint16

maxcopies uint32

maxnumberup uint32

maxsizesupported uint32

printerstate uint32

printerstatus uint16

printjobdatatype string

printprocessor string

priority uint32

separatorfile string

servername string

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Printer.asp

Method f_GetProcessorInformation

Fungsi Method ini menampilkan komponen yang menjalankan serangkaian instruksi mesin pada komputer yang menjalankan sistem operasi Windows. Pada komputer dengan prosesor lebih dari satu, setiap instance dari class Win32_Processor mewakili masing-masing prosesor.

Dari keseluruhan property yang ada di dalam class Win32_Processor, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.22. Beberapa property dari class Win32_Processor.

Property Tipe Data

name string

description string

deviceid string

status string

processorid string

uniqueid string

manufacturer string

version string

revision uint16

addresswidth uint16

datawidth uint16

Page 40: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 40

l2cachesize uint32

l2cachespeed uint32

currentclockspeed uint32

extclock uint32

maxclockspeed uint32

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Processor.asp

Method f_GetSCSIControllerInformation

Keterangan Method ini menampilkan pengendali SCSI pada sistem Windows.

Dari keseluruhan property yang ada di dalam class Win32_Scsicontroller, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.23. Beberapa property dari class Win32_Scsicontroller.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

statusinfo uint16

devicemap string

index uint32

drivername string

manufacturer string

hardwareversion string

controllertimeouts uint32

maxdatawidth uint32

maxnumbercontrolled uint32

maxtransferrate uint64

protocolsupported uint16

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Scsicontroller.asp

Page 41: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 41

Method f_GetSerialPortConfigInformation

Keterangan Method ini menampilkan seting untuk transamisi data pada serial port.

Dari keseluruhan property yang ada di dalam class Win32_Serialportconfiguration, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.24. Beberapa property dari class Win32_Serialportconfiguration.

Property Tipe Data

name string

description string

baudrate uint32

parity string

paritycheckenabled boolean

settingid string

abortreadwriteonerror boolean

binarymodeenabled boolean

continuexmitonxoff boolean

ctsoutflowcontrol boolean

discardnullbytes boolean

dsroutflowcontrol boolean

dsrsensitivity boolean

errorreplacementenabled boolean

isbusy boolean

dtrflowcontroltype string

rtsflowcontroltype string

stopbits string

eventcharacter uint32

eofcharacter uint32

errorreplacecharacter uint32

xoffcharacter uint32

xoffxmitthreshold uint32

xoncharacter uint32

xonxmitthreshold uint32

xonxoffinflowcontrol uint32

xonxoffoutflowcontrol uint32

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Serialportconfiguration.asp

Page 42: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 42

Method f_GetSerialPortInformation

Keterangan Method ini menampilkan serial port pada sistem Windows.

Dari keseluruhan property yang ada di dalam class Win32_Serialport, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.25. Beberapa property dari class Win32_Serialport.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

statusinfo uint16

providertype string

binary boolean

osautodiscovered boolean

protocolsupported uint16

maxbaudrate uint32

maximuminputbuffersize uint32

maximumoutputbuffersize uint32

maxnumbercontrolled uint32

settablebaudrate boolean

settabledatabits boolean

settableflowcontrol boolean

settableparity boolean

settableparitycheck boolean

settablerlsd boolean

settablestopbits boolean

supports16bitmode boolean

supportsdtrdsr boolean

supportselapsedtimeouts boolean

supportsinttimeouts boolean

supportsparitycheck boolean

supportsrlsd boolean

supportsrtscts boolean

supportsspecialcharacters boolean

Page 43: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 43

supportsxonxoff boolean

supportsxonxoffset boolean

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Serialport.asp

Method f_GetSoundDeviceInformation

Fungsi Method ini menampilkan property dari perangkat suara pada sistem komputer Windows.

Dari keseluruhan property yang ada di dalam class Win32_Sounddevice, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.26. Beberapa property dari class Win32_Sounddevice.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

statusinfo uint16

productname string

manufacturer string

dmabuffersize uint16

mpu401address uint32

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Sounddevice.asp

Method f_GetTapeDriveInformation

Keterangan Method ini menampilkan penggerak tape drive pada komputer Windows.

Dari keseluruhan property yang ada di dalam class Win32_Tapedrive, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.27. Beberapa property dari class Win32_Tapedrive.

Property Tipe Data

name string

description string

Page 44: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 44

deviceid string

pnpdeviceid string

status string

statusinfo uint16

manufacturer string

mediatype string

compression uint32

defaultblocksize uint64

maxblocksize uint64

minblocksize uint64

maxmediasize uint64

maxpartitioncount uint32

id string

numberofmediasupported uint32

ecc uint32

eotwarningzonesize uint32

errorcleared boolean

errordescription string

errormethodology string

featureshigh uint32

featureslow uint32

padding uint32

installdate datetime

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Tapedrive.asp

Page 45: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 45

Method f_GetUSBControllerInformation

Keterangan Method ini menampilkan kemampuan dari pengendali Universal Serial Bus (USB).

Dari keseluruhan property yang ada di dalam class Win32_Usbcontroller, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.28. Beberapa property dari class Win32_Usbcontroller.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

statusinfo uint16

manufacturer string

maxnumbercontrolled uint32

protocolsupported uint16

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Usbcontroller.asp

Method f_GetVideoControllerInformation

Keterangan Method ini menampilkan kemampuan dan kapasitas pengelolaan pengendali video pada sistem komputer Windows.

Dari keseluruhan property yang ada di dalam class Win32_Videocontroller, berikut ini adalah sebagian yang digunakan pada komponen ssci_com.

Tabel 3.29. Beberapa property dari class Win32_Videocontroller.

Property Tipe Data

name string

description string

deviceid string

pnpdeviceid string

status string

adaptercompatibility string

adapterdactype string

adapterram uint32

currentbitsperpixel uint32

Page 46: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 46

currenthorizontalresolution uint32

currentnumberofcolors uint64

currentnumberofcolumns uint32

currentnumberofrows uint32

currentrefreshrate uint32

currentscanmode uint16

currentverticalresolution uint32

devicespecificpens uint32

driverdate datetime

driverversion string

inffilename string

infsection string

installdate datetime

installeddisplaydrivers string

maxrefreshrate uint32

minrefreshrate uint32

monochrome boolean

numberofcolorplanes uint16

numberofvideopages uint32

videomodedescription string

videoprocessor string

Baca informasi selengkapnya pada situs Internet:

http://msdn.microsoft.com/library/default.asp?url=/library/en-

us/wmisdk/wmi/Win32_Videocontroller.asp

Method f_GetSoftwareInformation

Keterangan Method ini menampilkan pembacaan nilai dalam Windows registry pada path HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows\CurrentVersion\Uninstall\.

Tabel 3.30. Beberapa nilai yang dibaca.

Property Tipe Data

key string

displayname string

displayversion string

installlocation string

installsource string

Page 47: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 47

installdate datetime

productid string

publisher string

regcompany string

regowner string

Skrip 3.18. Method f_GetSoftwareInformation.

Public Function f_GetSoftwareInformation(ByRef sXML As String, ByRef

sErrMsg As String) As Integer

On Error GoTo errHandler

Dim oWMI, oItem, oItems, oMyXML As cMyXML, vDummy As Variant, i As

Integer

Dim iRet As Integer

Dim sValue

Const sBaseKey = "Software\Microsoft\Windows\CurrentVersion\

Uninstall\"

Set oWMI = GetObject("winmgmts:root\default:StdRegProv")

oWMI.EnumKey HKEY_LOCAL_MACHINE, sBaseKey, oItems

Set oMyXML = New cMyXML

oMyXML.CreateRootNode "softwareinformation"

i = 0

On Error Resume Next

For Each oItem In oItems

iRet = oWMI.GetDWordValue(HKEY_LOCAL_MACHINE, sBaseKey & oItem,

"NoRemove", sValue)

If sValue <> 1 Or IsNull(sValue) Then

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"DisplayName", sValue)

If iRet <> 0 Then

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"QuietDisplayName", sValue)

End If

If Not (IsEmpty(sValue) Or IsNull(sValue)) Then

oMyXML.AddChildNode "software_row", ""

vDummy = "": vDummy = oItem

oMyXML.AddGrandChildNode i, "key", StringValue(vDummy)

oMyXML.AddGrandChildNode i, "DisplayName",

StringValue(sValue)

vDummy = ""

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"DisplayVersion", vDummy)

Page 48: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 48

oMyXML.AddGrandChildNode i, "DisplayVersion",

StringValue(vDummy)

vDummy = ""

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"InstallLocation", vDummy)

oMyXML.AddGrandChildNode i, "InstallLocation",

StringValue(vDummy)

vDummy = ""

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"InstallSource", vDummy)

oMyXML.AddGrandChildNode i, "InstallSource",

StringValue(vDummy)

vDummy = ""

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"InstallDate", vDummy)

oMyXML.AddGrandChildNode i, "InstallDate",

StringValue(vDummy)

vDummy = ""

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"ProductID", vDummy)

oMyXML.AddGrandChildNode i, "ProductID",

StringValue(vDummy)

vDummy = ""

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"Publisher", vDummy)

oMyXML.AddGrandChildNode i, "Publisher",

StringValue(vDummy)

vDummy = ""

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"RegCompany", vDummy)

oMyXML.AddGrandChildNode i, "RegCompany",

StringValue(vDummy)

vDummy = ""

iRet = oWMI.GetStringValue(HKEY_LOCAL_MACHINE, sBaseKey &

oItem, _

"RegOwner", vDummy)

oMyXML.AddGrandChildNode i, "RegOwner", StringValue(vDummy)

i = i + 1

End If

End If

Next

Page 49: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSCI_COM 49

sErrMsg = ""

sXML = oMyXML.xmlText

Set oMyXML = Nothing

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

f_GetSoftwareInformation = 0

Exit Function

errHandler:

Set oItem = Nothing

Set oItems = Nothing

Set oWMI = Nothing

Set oMyXML = Nothing

sErrMsg = Err.Description

sXML = ""

f_GetSoftwareInformation = -1

End Function

Method f_Ping

Keterangan Method ini mengembalikan status respon dari sebuah komputer dengan perintah PING.

Kegunaan fungsi f_Ping akan dijelaskan pada pembahasan bab berikutnya.

Public Function f_Ping(sComputerName As String) As Integer

Dim oWMI, oPing

On Error GoTo errHandler

Set oWMI = GetObject("winmgmts:root\cimv2")

Set oPing = oWMI.Get("win32_pingStatus.Address='" & sComputerName &

"'")

If oPing.StatusCode = 0 Then

f_Ping = 0

Else

f_Ping = -1

End If

Set oWMI = Nothing

Set oPing = Nothing

Exit Function

errHandler:

Dim oShell, oScriptExec, strPingResults As String

Set oShell = CreateObject("WScript.Shell")

Set oScriptExec = oShell.Exec("ping -n 2 -w 1000 " & sComputerName)

strPingResults = LCase(oScriptExec.StdOut.ReadAll)

If InStr(strPingResults, "reply from") Then

f_Ping = 0

Else

f_Ping = -1

Page 50: MAI03-Membuat Komponen ssci com - Tobuku.com | Cepat …tobuku.com/docs/MAI03-Membuat Komponen ssci_com.pdf · Oleh : Feri Djuandi Pemula Menengah Mahir 3.1. Membuat Class cMyXML

www.tobuku.com

WMI-FD-06013–MEMBUAT KOMPONEN SSC

End If

Set oShell = Nothing

Set oScriptExec = Nothing

Set oWMI = Nothing

Set oPing = Nothing

End Function

Pada skrip di atas, rutin errHandlertiadanya respon dari komputer yang dituju melainkan pada pewin32_pingStatus.Address= '" & sComputerName & "'")Win32_Pingstatus sehingga bisa dipastikan baris perintah itu akan memicu kesalahan.

Untuk menggantikan penggunaanWScript.Shell yang selanjutnya menjalankan perintah “Respon komputer yang dituju bisa didapat dari ada atau tiadanya teks “

Bab ini telah menuntaskan pembuatan komponen ssci_com dengan bahasa pemrograman Visual Basic. Pada bab sebelumnya mengenai program demo SysPie Agent, ditunjukkan bahwa informasi sistem komputer telah dapat ditampilkan dengan baik. Program klien (dsumber datanya dari pemanggilan fungsiprogram klien dan ssci_com dilakukan melalui dokumen XML. Bentuk komunikasi ini dipilih untuk memastikan ssci_com sebagai sistem yang terbuka, juga XML adalah standar industri, lintas protokolnya sederhana dan formatnya sudah diadopsi secara luas oleh banyak sistem dan pembuat software.

Untuk saat ini, SysPie Agent yang telah diinstal hanya menampilkan informasi pmenyimpannya ke dalam database. Pada bab selanjutnya akan diperlihatkan bagaimana informasi tersebut dapat disimpan ke dalam database. Dengan demikian setiap komputer klien yang terinstal SysPie Agent secara simultan akan mengirim informasi masingterkumpul dalam sebuah repository. Pada tahap selanjutnya, administrator bisa memperoleh gabungan informasi-informasi itu dan menampilkannya dalam berbagai bentuk laporan.

MEMBUAT KOMPONEN SSCI_COM

Set oScriptExec = Nothing

errHandler akan dijalankan saat terjadi kesalahan. Kesalahan yang dimaksud bukan tiadanya respon dari komputer yang dituju melainkan pada pemanggilan baris “Set oPing = oWMI.Get("

'" & sComputerName & "'")”. Sistem operasi Windows 2000 tidak memiliki class sehingga bisa dipastikan baris perintah itu akan memicu kesalahan.

Untuk menggantikan penggunaan class Win32_Pingstatus pada Windows 2000 digunakan objek yang selanjutnya menjalankan perintah “Exec("ping -n 2 -w 1000 " & sComputerName)

Respon komputer yang dituju bisa didapat dari ada atau tiadanya teks “reply from” pada hasil perinta

Bab ini telah menuntaskan pembuatan komponen ssci_com dengan bahasa pemrograman Visual Basic. Pada bab sebelumnya mengenai program demo SysPie Agent, ditunjukkan bahwa informasi sistem komputer telah dapat ditampilkan dengan baik. Program klien (dalam hal ini SysPie Agent) mendapatkan sumber datanya dari pemanggilan fungsi-fungsi di dalam komponen COM ssci_com. Komunikasi antara program klien dan ssci_com dilakukan melalui dokumen XML. Bentuk komunikasi ini dipilih untuk

i sistem yang terbuka, juga XML adalah standar industri, lintas protokolnya sederhana dan formatnya sudah diadopsi secara luas oleh banyak sistem dan pembuat

Untuk saat ini, SysPie Agent yang telah diinstal hanya menampilkan informasi pada layar komputer menyimpannya ke dalam database. Pada bab selanjutnya akan diperlihatkan bagaimana informasi tersebut dapat disimpan ke dalam database. Dengan demikian setiap komputer klien yang terinstal SysPie Agent

im informasi masing-masing komputer lokalnya ke server database dan terkumpul dalam sebuah repository. Pada tahap selanjutnya, administrator bisa memperoleh gabungan

informasi itu dan menampilkannya dalam berbagai bentuk laporan.

50

akan dijalankan saat terjadi kesalahan. Kesalahan yang dimaksud bukan Set oPing = oWMI.Get("

”. Sistem operasi Windows 2000 tidak memiliki class sehingga bisa dipastikan baris perintah itu akan memicu kesalahan.

pada Windows 2000 digunakan objek w 1000 " & sComputerName)”.

” pada hasil perintah PING.

Bab ini telah menuntaskan pembuatan komponen ssci_com dengan bahasa pemrograman Visual Basic. Pada bab sebelumnya mengenai program demo SysPie Agent, ditunjukkan bahwa informasi sistem

alam hal ini SysPie Agent) mendapatkan fungsi di dalam komponen COM ssci_com. Komunikasi antara

program klien dan ssci_com dilakukan melalui dokumen XML. Bentuk komunikasi ini dipilih untuk i sistem yang terbuka, juga XML adalah standar industri, lintas platform,

protokolnya sederhana dan formatnya sudah diadopsi secara luas oleh banyak sistem dan pembuat

ada layar komputer – tidak menyimpannya ke dalam database. Pada bab selanjutnya akan diperlihatkan bagaimana informasi tersebut dapat disimpan ke dalam database. Dengan demikian setiap komputer klien yang terinstal SysPie Agent

masing komputer lokalnya ke server database dan terkumpul dalam sebuah repository. Pada tahap selanjutnya, administrator bisa memperoleh gabungan