070-103_pcm_know-how_03

17
Know-How 03/2007 70 KNOW-HOW T idak terkecuali pada bahasa pem- rograman Visual Basic.NET. Dengan dukungan platform framework .NET yang terus dikembangkan, melakukan eksplorasi .NET bagaikan menggali harta karun yang tidak ada habisnya. Bagi Anda yang telah terlebih dahulu menguasai Visual Basic 6.0, mungkin telah memiliki bekal dan teknik pemrograman selama Anda menggunakan Visual Basic 6.0. Pada banyak kasus, Anda tentu masih dapat menerapkan teknik pemrograman VB 6.0 pada VB.NET. Hanya saja, Anda perlu mempelajari solusi lain yang dapat ditawarkan Visual Basic .NET untuk memecahkan permasalahan yang sama, mengingat perbedaan paradigma yang terdapat pada Visual Basic .NET dan Visual Basic 6.0 atau versi yang lebih rendah. Dengan demikian, Anda dapat mengem- bangkan teknik yang paling sesuai untuk lingkungan .NET yang diterapkan pada aplikasi Anda. Teknik pemrograman meliputi banyak hal dan selalu berkembang dari hari ke hari. Mungkin hari ini Anda menemukan teknik pemrograman dalam kaitannya dengan database, sementara besok Anda akan mendapatkan teknik pembuatan yang berkaitan dengan penanganan Windows Form. Teknik pemrograman yang akan dibahas pada artikel ini tidak membatasi pada satu bidang atau bentuk aplikasi. Tetapi, meliputi eksplorasi teknik pemrograman dasar yang sering digunakan dalam membuat aplikasi dengan menggunakan Visual Basic .NET. Dengan Visual Basic.NET, secara umum Anda dapat menciptakan tiga jenis platform aplikasi sesuai kebutuhan Anda, yaitu Con- sole Application, Windows Application, dan Web Application. Console Application Pada umumnya, aplikasi Visual Basic.NET yang sering ditemui merupakan aplikasi Windows Form atau Web. Tetapi dengan menggunakan Visual Basic.NET, Anda dapat juga menciptakan jenis aplikasi console yang tampil dalam jendela Command Prompt. Console Application merupakan aplikasi command-line oriented yang mengizinkan Anda melakukan proses penulisan dan pembacaan pada console. Console Applica- tion didukung oleh namespace System. Console. Anda dapat menciptakan Console Appli- cation dengan cepat dan mudah, sehingga dapat menggunakannya untuk aplikasi sederhana atau aplikasi yang tidak memer- lukan user interface. Console Application sering digunakan saat di mana Anda fokus untuk mempelajari atau mengajarkan dasar bahasa pemrograman tanpa perlu melakukan tata letak control dan form. Berikut adalah contoh sederhana Console Application: Sub Main() Console.WriteLine(“Ini adalah Console Application!”) Console.ReadLine() End Sub Bagi Anda yang pernah mempelajari bahasa pemrograman dengan platform MS-DOS, tentu sudah tidak asing dengan tampilan aplikasi ini. Perintah Console. ReadLine() berfungsi untuk menunggu penekanan tombol oleh user. Dengan perintah Console.ReadLine() tersebut, Anda juga dapat menangkap input dari user. Perintah CharInput = Con- sole.ReadLine() akan menyimpan setiap karakter hingga penekanan tombol Enter yang dilakukan user pada variabel CharInput. Perulangan Baik pada pemrograman Console Application ataupun jenis aplikasi lainnya atau bahkan pada setiap bahasa pemrograman, perintah perulangan tentu sering digunakan. Pada Visual Basic.NET, perulangan yang telah dikenal pada Visual Basic sebelum- nya seperti For atau While masih dapat digunakan. Pada umumnya, perulangan For menam- bah nilai sebuah variabel dalam setiap peru- langannya, Anda tentu tidak asing dengan perintah seperti For I = 1 to 100 yang akan melakukan perulangan dari nilai variabel I bernilai 1, 2, 3 hingga mencapai nilai 100. Pada kasus-kasus tertentu, Anda dapat melakukan perulangan dengan tipe variabel Dunia pemrograman tidak terlepas dari teknik-teknik pemrograman, dimulai dari yang sederhana hingga yang kompleks. Teknik pemrograman yang baik tidak hanya didukung oleh kemampuan analisis masalah dan logika, tetapi juga bagaimana menggali keunggulan bahasa pemrograman yang digunakan. Eksplorasi Teknik Pemrograman VB.NET Joko Nurjadi Programming Template Console Application pada Visual Basic.NET. Know-How KNOW-HOW 03/2007 71 lain, seperti Single atau Double, hal ini memungkinkan Anda untuk melakukan perulangan dengan penambahan nilai (incre- ment) selain 1. Misalnya pada perintah For X = 0.0 to 1.0 Step 0.1, di mana X merupakan variabel dengan tipe Single atau Double, perulangan yang dilakukan adalah dengan menambahkan 0.1 pada variabel X untuk setiap perulangan. Setiap statement perulangan melakukan eksekusi sebuah blok program selama kon- disinya bernilai true. Anda perlu berhati-hati dalam melakukan perulangan karena sedikit kesalahan programming dapat menyebabkan terjadinya perulangan terus-menerus tanpa henti yang dikenal dengan infinite loop. Contoh kecil program yang mengandung kesalahan logika sehingga menyebabkan infinite loop: Dim I as Integer = 0 While I < 100 Console.WriteLine(I) End While Pada potongan program di atas, dilakukan perulangan selama kondisi nilai variabel I lebih kecil dari 100. Karena variabel I pada saat deklarasi diberikan nilai 0 yang lebih kecil dari 100, maka akan dijalankan blok perintah di dalam While. Kesalahan yang terjadi di sini adalah nilai variabel I tidak pernah ditambah, sehingga selalu bernilai 0. Dengan demikian, kondisi variabel I lebih kecil dari 100 akan selalu terpenuhi (bernilai True) dan perulangan akan terus dilakukan hingga Anda menutup aplikasi dengan paksa. Untuk mengurangi kemungkinan terjadi- nya infinite loop, Anda perlu memperhatikan empat pedoman berikut: 1. Inisiasi variabel. 2. Test nilai variabel. 3. Eksekusi statement di dalam perulangan. 4. Modifikasi nilai variabel. Empat pedoman ini jika diambil masing- masing huruf pertamanya, maka akan di- dapatkan kata ITEM (Inisiasi, Test, Eksekusi, Modifikasi) sehingga memudahkan Anda untuk mengingatnya. Pada kasus contoh program di atas, telah dilakukan proses Inisiasi, Test, Eksekusi. Tetapi, tidak melakukan proses Modifikasi sehingga menyebabkan terjadinya infinite loop. Untuk keluar dari sebuah perulangan sebelum kondisi terpenuhi, Anda dapat menggunakan perintah Exit Loop untuk keluar dari blok For, atau Exit While untuk keluar dari blok While. Salah satu tambahan perintah perulangan yang diperkenalkan oleh Visual Basic .NET adalah perintah perulangan For Each. Mungkin Anda pernah mengetahui jenis per- ulangan For Each yang juga telah dikenal pada beberapa bahasa pemrograman. Statement For Each melakukan pe- ngulangan satu atau lebih perintah untuk masing-masing elemen array. Pada beberapa kasus, perintah For Each dapat membuat program Anda sangat efisien. Sebagai con- toh, berikut adalah potongan kode program yang menampilkan nama file yang terdapat pada suatu directory: Dim Files As String() = Directory.GetFiles(“.”) Dim Filename As String For Each Filename in Files Console. WriteLine(Filename) Next Penggunaan For Each tentunya sangat membantu untuk kasus-kasus tertentu se- lama Anda membangun aplikasi. Kondisi IF Hampir semua aplikasi pasti memiliki kon- disi di dalam programnya, perintah IF pada bahasa pemrograman menunjukkan sebuah kondisi yang menentukan statement yang mana yang harus dijalankan. Contoh kasus menentukan grade ber- dasarkan sebuah nilai merupakan contoh yang baik untuk menunjukkan penggunaan statement IF. Katakanlah untuk mendapat- kan grade A, seorang siswa harus mendapat- kan nilai 90 ke atas, untuk nilai 80 hingga 94 akan mendapatkan grade B, nilai 70 hingga 79 akan mendapatkan grade C, dan nilai di bawah 70 akan mendapatkan grade D. Terdapat banyak solusi untuk pemecahan kasus di atas, di mana Anda perlu menga- nalisa solusi mana yang terbaik. Salah satu solusi adalah dengan menu- liskan statement IF untuk masing-masing kondisi nilai, seperti di bawah ini: If (Nilai >= 90) Then Console.WriteLine(“grade A”) End If If (Nilai >= 80) And (Nilai < 90) Then Console.WriteLine(“grade B”) End If If (Nilai >= 70) And (Nilai < 80) Then Console.WriteLine(“grade C”) End If If (Nilai < 70) Then Console.WriteLine(“grade D”) End If Sekarang marilah kita menganalisis potong- an program di atas. Kelemahannya, program akan mengevaluasi masing-masing state- ment IF, bahkan setelah salah satu kondisi IF terpenuhi. Hal ini tentu mengakibatkan terjadinya proses yang sebenarnya tidak diperlukan. Solusi yang lebih baik, Anda dapat meng- gunakan statement IF-ELSE sebagai berikut untuk memecahkan persoalan yang sama: If Nilai >= 90 Then Console.WriteLine(“grade A”) ElseIf Nilai >= 80 Then Console.WriteLine(“grade B”) ElseIf Nilai >= 70 Then Console.WriteLine(“grade C”) Else Console.WriteLine(“grade D”) End if Solusi lainnya, Anda dapat menggunakan perintah Select Case, di mana peng- gunaan Case mengizinkan Anda untuk melakukan komparasi yang beragam terha- dap nilai variabel. Operator Jika Anda pernah mempelajari bahasa pemrograman berorientasi object sebelum Programming

Upload: taufiq-rahman

Post on 16-Sep-2015

9 views

Category:

Documents


2 download

DESCRIPTION

sad

TRANSCRIPT

  • Know-How

    03/200770 KNOW-HOW

    Tidak terkecuali pada bahasa pem-rograman Visual Basic.NET. Dengan dukungan platform framework .NET yang terus dikembangkan, melakukan eksplorasi .NET bagaikan menggali harta karun yang tidak ada habisnya.

    Bagi Anda yang telah terlebih dahulu menguasai Visual Basic 6.0, mungkin telah memiliki bekal dan teknik pemrograman selama Anda menggunakan Visual Basic 6.0. Pada banyak kasus, Anda tentu masih dapat menerapkan teknik pemrograman VB 6.0 pada VB.NET.

    Hanya saja, Anda perlu mempelajari solusi lain yang dapat ditawarkan Visual Basic .NET untuk memecahkan permasalahan yang sama, mengingat perbedaan paradigma yang terdapat pada Visual Basic .NET dan Visual Basic 6.0 atau versi yang lebih rendah.

    Dengan demikian, Anda dapat mengem-bangkan teknik yang paling sesuai untuk lingkungan .NET yang diterapkan pada aplikasi Anda.

    Teknik pemrograman meliputi banyak hal dan selalu berkembang dari hari ke hari. Mungkin hari ini Anda menemukan teknik pemrograman dalam kaitannya dengan database, sementara besok Anda akan mendapatkan teknik pembuatan yang berkaitan dengan penanganan Windows Form.

    Teknik pemrograman yang akan dibahas pada artikel ini tidak membatasi pada satu bidang atau bentuk aplikasi. Tetapi, meliputi eksplorasi teknik pemrograman dasar yang

    sering digunakan dalam membuat aplikasi dengan menggunakan Visual Basic .NET.

    Dengan Visual Basic.NET, secara umum Anda dapat menciptakan tiga jenis platformaplikasi sesuai kebutuhan Anda, yaitu Con-sole Application, Windows Application, dan Web Application.

    Console ApplicationPada umumnya, aplikasi Visual Basic.NET yang sering ditemui merupakan aplikasi Windows Form atau Web. Tetapi dengan menggunakan Visual Basic.NET, Anda dapat juga menciptakan jenis aplikasi console yang tampil dalam jendela Command Prompt.

    Console Application merupakan aplikasi command-line oriented yang mengizinkan Anda melakukan proses penulisan dan pembacaan pada console. Console Applica-tion didukung oleh namespace System.Console.

    Anda dapat menciptakan Console Appli-cation dengan cepat dan mudah, sehingga dapat menggunakannya untuk aplikasi sederhana atau aplikasi yang tidak memer-lukan user interface.

    Console Application sering digunakan saat di mana Anda fokus untuk mempelajari atau mengajarkan dasar bahasa pemrograman tanpa perlu melakukan tata letak controldan form.

    Berikut adalah contoh sederhana Console Application:Sub Main() Console.WriteLine(Ini

    adalah Console Application!) Console.ReadLine()End Sub

    Bagi Anda yang pernah mempelajari bahasa pemrograman dengan platform MS-DOS, tentu sudah tidak asing dengan tampilan aplikasi ini. Perintah Console.ReadLine() berfungsi untuk menunggu penekanan tombol oleh user.

    Dengan perintah Console.ReadLine()tersebut, Anda juga dapat menangkap input dari user. Perintah CharInput = Con-sole.ReadLine() akan menyimpan setiap karak ter hingga penekanan tombol Enter yang dilakukan user pada variabel CharInput.

    PerulanganBaik pada pemrograman Console Application ataupun jenis aplikasi lainnya atau bahkan pada setiap bahasa pemrograman, perintah perulangan tentu sering digunakan.

    Pada Visual Basic.NET, perulangan yang telah dikenal pada Visual Basic sebelum-nya seperti For atau While masih dapat digunakan.

    Pada umumnya, perulangan For menam-bah nilai sebuah variabel dalam setiap peru-langannya, Anda tentu tidak asing de nganperintah seperti For I = 1 to 100 yang akan melakukan perulangan dari nilai variabel I bernilai 1, 2, 3 hingga mencapai nilai 100.

    Pada kasus-kasus tertentu, Anda dapat melakukan perulangan dengan tipe variabel

    Dunia pemrograman tidak terlepas dari teknik-teknik pemrograman, dimulai dari yang sederhana hingga yang kompleks. Teknik pemrograman yang baik tidak hanya didukung oleh kemampuan analisis masalah dan logika, tetapi juga bagaimana menggali keunggulan bahasa pemrograman yang digunakan.

    Eksplorasi Teknik Pemrograman VB.NET

    Joko Nurjadi

    Programming

    Template Console Application pada Visual Basic.NET.

    Know-How

    KNOW-HOW03/2007 71

    lain, seperti Single atau Double, hal ini memungkinkan Anda untuk melakukan perulangan dengan penambahan nilai (incre-ment) selain 1.

    Misalnya pada perintah For X = 0.0 to 1.0 Step 0.1, di mana X merupakan variabel dengan tipe Single atau Double,perulangan yang dilakukan adalah dengan menambahkan 0.1 pada variabel X untuk setiap perulangan.

    Setiap statement perulangan melakukan eksekusi sebuah blok program selama kon-disinya bernilai true. Anda perlu berhati-hati dalam melakukan perulangan karena sedikit kesalahan programming dapat menyebabkan terjadinya perulangan terus-menerus tanpa henti yang dikenal dengan in nite loop.

    Contoh kecil program yang mengandung kesalahan logika sehingga menyebabkan in nite loop:Dim I as Integer = 0

    While I < 100 Console.WriteLine(I)End While

    Pada potongan program di atas, dilakukan perulangan selama kondisi nilai variabel I lebih kecil dari 100. Karena variabel I pada saat deklarasi diberikan nilai 0 yang lebih kecil dari 100, maka akan dijalankan blok perintah di dalam While.

    Kesalahan yang terjadi di sini adalah nilai variabel I tidak pernah ditambah, sehingga selalu bernilai 0. Dengan demikian, kondisi variabel I lebih kecil dari 100 akan selalu terpenuhi (bernilai True) dan perulangan akan terus dilakukan hingga Anda menutup aplikasi dengan paksa.

    Untuk mengurangi kemungkinan terjadi-nya in nite loop, Anda perlu memperhatikan empat pedoman berikut:1. Inisiasi variabel.2. Test nilai variabel.3. Eksekusi statement di dalam perulangan.4. Modi kasi nilai variabel.

    Empat pedoman ini jika diambil ma sing-masing huruf pertamanya, maka akan di-dapatkan kata ITEM (Inisiasi, Test, Eksekusi, Modi kasi) sehingga memudahkan Anda untuk mengingatnya.

    Pada kasus contoh program di atas, telah dilakukan proses Inisiasi, Test, Eksekusi. Tetapi, tidak melakukan proses Modi kasi

    sehingga menyebabkan terjadinya in nite loop.

    Untuk keluar dari sebuah perulangan sebelum kondisi terpenuhi, Anda dapat menggunakan perintah Exit Loop untuk keluar dari blok For, atau Exit Whileuntuk keluar dari blok While.

    Salah satu tambahan perintah perulangan yang diperkenalkan oleh Visual Basic .NET adalah perintah perulangan For Each.Mungkin Anda pernah mengetahui jenis per-ulangan For Each yang juga telah dikenal pada beberapa bahasa pemrograman.

    Statement For Each melakukan pe-ngulangan satu atau lebih perintah untuk masing-masing elemen array. Pada beberapa kasus, perintah For Each dapat membuat program Anda sangat e sien. Sebagai con-toh, berikut adalah potongan kode program yang menampilkan nama le yang terdapat pada suatu directory:Dim Files As String() = Directory.GetFiles(.)Dim Filename As String

    For Each Filename in Files Console.WriteLine(Filename)Next

    Penggunaan For Each tentunya sangat membantu untuk kasus-kasus tertentu se-lama Anda membangun aplikasi.

    Kondisi IFHampir semua aplikasi pasti memiliki kon-disi di dalam programnya, perintah IF pada bahasa pemrograman menunjukkan sebuah kondisi yang menentukan statement yang mana yang harus dijalankan.

    Contoh kasus menentukan grade ber-dasarkan sebuah nilai merupakan contoh yang baik untuk menunjukkan penggunaan statement IF. Katakanlah untuk mendapat-kan grade A, seorang siswa harus mendapat-kan nilai 90 ke atas, untuk nilai 80 hingga 94 akan mendapatkan grade B, nilai 70 hingga 79 akan mendapatkan grade C, dan nilai di bawah 70 akan mendapatkan grade D.

    Terdapat banyak solusi untuk pemecahan kasus di atas, di mana Anda perlu menga-nalisa solusi mana yang terbaik.

    Salah satu solusi adalah dengan menu-liskan statement IF untuk masing-masing kondisi nilai, seperti di bawah ini:

    If (Nilai >= 90) Then Console.WriteLine(grade A)End If

    If (Nilai >= 80) And (Nilai < 90) Then Console.WriteLine(grade B)End If

    If (Nilai >= 70) And (Nilai < 80) Then Console.WriteLine(grade C)End If

    If (Nilai < 70) Then Console.WriteLine(grade D)End If

    Sekarang marilah kita menganalisis potong-an program di atas. Kelemahannya, program akan mengevaluasi masing-masing state-ment IF, bahkan setelah salah satu kondisi IF terpenuhi. Hal ini tentu mengakibatkan terjadinya proses yang sebenarnya tidak diperlukan.

    Solusi yang lebih baik, Anda dapat meng-gunakan statement IF-ELSE sebagai berikut untuk memecahkan persoalan yang sama:If Nilai >= 90 Then Console.WriteLine(grade A)ElseIf Nilai >= 80 Then Console.WriteLine(grade B)ElseIf Nilai >= 70 Then Console.WriteLine(grade C)Else Console.WriteLine(grade D)End if

    Solusi lainnya, Anda dapat menggunakan perintah Select Case, di mana peng-gunaan Case mengizinkan Anda untuk melakukan komparasi yang beragam terha-dap nilai variabel.

    OperatorJika Anda pernah mempelajari bahasa pemrograman berorientasi object sebelum

    Programming

  • Know-How

    03/200772 KNOW-HOW

    Pada potongan program di atas, Visual Basic.NET dapat membedakan bagaimana kedua method tersebut diimplementasikan berdasarkan parameter yang dikirimkan pada method.

    Method OverridingPada environment .NET, semua class ditu-runkan dari class System.Object, con-tohnya method ToString yang disediakan oleh System.Object dan diturunkan pada class lainnya. Method ToString mengem-balikan sebuah string yang merepresentasi-kan nilai object.

    Di dalam de nisi class, Anda dapat mengim-plementasikan method ToString Anda sendiri, yang mengenyampingkan (override)implementasi method dari base-class.

    Pada contoh berikut, class Telpon akan melakukan override pada method To-String.Class Telpon Public NoTlp As String

    Public Sub New(ByVal NoTlp As String) Me.NoTlp = NoTlp End Sub Public Overrides Function ToString() As String ToString = NoTlp End Function

    End Class

    Perhatikan untuk melakukan override, Anda harus memberikan perintah Over-rides sewaktu mende nisikan method, untuk memberitahukan compiler Visual

    mempelajari Visual Basic.NET, maka Anda akan mendapatkan bahwa Visual Basic.NET banyak mengadopsi bahasa pemrograman berorientasi object yang sudah ada, seperti misalnya C++.

    Salah satunya adalah dengan penggunaan operator aritmatika. Contoh mudahnya, saat Anda ingin menambahkan nilai sebuah variabel counter, Anda dapat menggunakan perintah Counter = Counter + 1.

    Penulisan perintah ini dapat diseder-hanakan menjadi Counter += 1. Peng-gunaan operator aritmatika secara lengkap dapat Anda lihat pada tabel berikut:

    Windows ApplicationPada beberapa tahun silam, kemampuan drag and drop control ke dalam form untuk membangun user interface telah membuat Visual Basic menjadi sangat popular. Hal ini berbeda dengan programer C dan C++ yang membangun user interface dengan Microsoft Foundation Classes (MFC) dan Win32 App-lication Program Interface (API).

    Dengan Windows Form yang terdapat pada environment .NET, maka programer dapat membuat user interface pada Win-dows Application dengan operasi drag and drop dengan menggunakan bahasa Visual Basic.NET ataupun C#.

    Dengan mengintegrasikan Windows Form dengan language-independent platform,maka environment .NET membuat segalanya menjadi mudah bagi programer, baik meng-gunakan bahasa pemrograman Visual Basic maupun C#.

    Satu perbedaan yang cukup signi kan saat Anda melakukan pengodean pada environ-ment Visual Basic.NET dibandingkan dengan Visual Basic 6.0, adalah penggunaan Object

    Oriented Programming yang sepenuhnya didukung oleh Visual Basic.NET.

    Karena itu, eksplorasi teknik pemrograman pada Visual Basic.NET tidak akan lepas dari teknik pemrograman OOP.

    Visual Studio Class ViewPada aplikasi .NET, Anda akan banyak meng-gunakan class, yang mana terkadang dapat membuat program Anda menjadi kompleks, sehingga akan sangat membantu jika Anda dapat melihat struktur class secara visual.

    Jika menggunakan Visual Studio sebagai editor Anda, maka Anda dapat menggu-nakan Visual Studio Class View untuk dapat melihat class yang ada beserta struktur di dalamnya.

    Method Overloading Visual Basic.NET mengizinkan Anda untuk melakukanmethod overload, yaitu mende ni si-kan dua atau lebih method dengan nama yang sama. Perbedaannya adalah dengan jumlah atau tipe parameter method tersebut.

    Sebagai contoh, Anda memiliki class Pegawai yang memiliki dua method dengan nama yang sama, yaitu BeriNama, method BeriNama yang pertama akan memberikan nama lengkap, sementara method BeriNama yang kedua akan membedakan nama depan dan nama belakang.Class Pegawai

    Public Nama As String Public NamaDepan As String Public NamaBelakang As String

    Public Sub BeriNama(ByVal Nama As String) Me.Nama = NamaEnd Sub

    Public Sub BeriNama(ByVal NamaDepan As String, ByVal NamaBelakang As String) Me.NamaDepan = NamaDepan Me.NamaBelakang = NamaBelakang Me.Nama = NamaDepan & & NamaBelakangEnd Sub

    End Class

    Programming

    Class View pada Visual Studio.

    OPERATOR KEGUNAAN+= Menambahkan expression tertentu pada

    nilai awal variabel.-= Mengurangi expression tertentu pada nilai

    awal variabel.*= Mengalikan expression tertentu dengan

    nilai awal variabel dan mengembalikan hasilnya pada variabel tersebut.

    /= dan \= Membagi expression tertentu dengan nilai awal variabel dan mengembalikan hasilnya pada variabel tersebut.

    ^= Melakukan operasi pangkat dengan expression tertentu pada nilai awal variabel dan mengembalikan hasilnya pada variabel tersebut.

    &= Menggabungkan string tertentu pada nilai awal variabel dan mengembalikan hasilnya pada variabel tersebut.

    Know-How

    KNOW-HOW03/2007 73

    Programming

    Basic .NET bahwa method tersebut akan menggantikan implementasi method pada base-class.

    Menghindari Class InheritanceSalah satu keunggulan OOP adalah konsep inheritance yang memungkinkan sebuah class menurunkan method dan property-nya. Tetapi ada kalanya, justru Anda tidak menghendaki proses inheritance pada class Anda dengan alasan tertentu.

    Misalnya karena class tersebut memiliki proses operasi internal dan unik, yang mana Anda tidak menginginkan operasi class tersebut digunakan oleh aplikasi lain. Untuk keperluan itu, Anda perlu menambahkan perintah atau keyword NotInheritablepada de nisi class.

    Contohnya adalah sebagai berikut:NotInheritable Class Test Definisi Class MemberEnd Class

    Jika sebuah class mencoba untuk melaku-kan inheritance pada class yang NotIn-heritable, maka compiler Visual Basic .NET akan menampilkan pesan sintaks error.

    Multiple InheritanceJika ada kekurangan Visual Basic .NET dibandingkan dengan C++ dari sisi Object Oriented Programming, maka hal tersebut adalah kemampuan multiple inheritance yang tidak didukung oleh Visual Basic .NET.

    Pertimbangan untuk menghindari multiple inheritance adalah untuk menghindari per-masalahan yang dapat muncul karena kom-pleksitas penerapan multiple inheritance.

    Multiple inheritance sendiri merupakan kemampuan untuk mengambil sebuah class dengan menggunakan dua atau lebih

    base-class. Sebagai contoh, anggap Anda memiliki class Pengarang dan class Penerbit. Dengan menggunakan multiple inheritance, Anda dapat menciptakan class Buku dari penggabungan class Pengarang dan class Penerbit.

    Visual Basic .NET mendukung multiple level of inheritance yang menggunakan konsep yang berbeda dengan multiple inheritance. Sebagai ilustrasi contoh multiple level of inheritance, bayangkan Anda memiliki dua buah class yaitu class Pegawai dan class Orang, di mana class Pegawai merupakan sub class dari class Orang.

    Untuk beberapa kasus, terdapat berbagai jenis pegawai, misalnya Pegawai Kontrak dan Pegawai Tetap. Untuk itu, Anda me-merlukan class PegawaiKontrak dan class PegawaiTetap yang memiliki fungsi se-bagaimana yang dimiliki oleh class Pegawai. Dengan demikian, tercipta multiple level of inheritance.

    Web ApplicationSelama bertahun-tahun, web developer telah menggunakan VBScript untuk mengimple-mentasikan Active Server Pages (ASP). Seiring kemajuan zaman, penggunaan VBScript mu-lai dirasakan memiliki kekurangan, terlebih dari sisi user interface dibandingkan dengan Windows Application.

    Environment .NET menawarkan model baru untuk menciptakan web dinamis, yang dinamakan dengan ASP.NET. Perubahan utama adalah tidak digunakan lagi VBScript, untuk menciptakan halaman ASP.NET, Anda menggunakan bahasa pemrograman seperti Visual Basic .NET, C#, atau JScript.NET.

    Tidak seperti VBScript di mana server berfungsi sebagai interpreter dan kemudian

    mengeksekusi perintah, halaman ASP.NET merupakan program terkompilasi yang memperbaiki kinerja dan keamanan halam-an website.

    ASP disimpan pada le dengan ekstensi .asp, sementara ASP.NET menggunakan ekstensi .aspx, agar server Anda dapat men-dukung ASP.NET, Anda perlu menggunakan Microsoft Internet Information Services (IIS) versi 5 atau versi yang lebih tinggi.

    Environment .NET menyediakan kumpulan control berbasis form yang memungkinkan Anda untuk menciptakan form sebagai user interface. Bagi Anda yang telah mempelajari ASP terlebih dahulu, mungkin menghadapi paradigma yang sangat berbeda saat meng-hadapi ASP.NET.

    Aplikasi Lain pada Visual Basic .NETTidak terbatas pada Windows, Web, ataupun Console Application, dengan Visual Basic .NET Anda juga dapat menciptakan jenis aplikasi lain seperti Mobile Application untuk mengakses mobile device ataupun Crystal Reports Application untuk menghasilkan report.

    Hal yang terpenting untuk pembuatan aplikasi apapun pada environment .NET, adalah penguasaan Anda dalam menyelami teknik pemrograman Visual Basic .NET. Hal ini meliputi pemrograman dasar, penggunaan Object Oriented Programming, dan peng-gunaan library yang terus dikembangkan hingga saat ini.

    Dan tentu saja, latihan dan belajar terus-menerus, karena mempelajari teori dan praktik sama-sama membuka wawasan yang lebih luas. Teori memerlukan praktik, dari praktik melahirkan teori baru, menjadi siklus yang berkesinambungan, sehingga dapat terus tercipta karya nyata berupa aplikasi yang bermanfaat.

    http://www.startvbdotnet.com/language/console.aspx

    http://www.developer.com/net/vb/article.php/10926_3456701_4

    http://visualbasic.about.com/od/learnvbnet/a/LVBE_L1_3.htm

    http://www.vbip.com/books/1861004974/chapter_4974_08.asp

    Lebih Lanjut

    Contoh Multiple Inheritance.

    Contoh Multiple Level of Inheritance.

  • Know-How

    03/200774 KNOW-HOW

    Sebagai sebuah sistem database, MySQL juga memerlukan pendamping, yaitu bahasa pemrograman yang berinteraksi dengannya. Bahasa pemrograman seperti C, C++, PHP, ASP, ASP.NET, Perl, C#, Visual Ba-sic, Java, Phyton, dan lain sebagainya dapat digunakan untuk mengakses MySQL.

    MySQL sebagai RDBMS Sebuah sistem database yang baik saat ini tidak hanya berfungsi sebagai tempat pe-nyimpanan data yang tersedia bagi peng-guna yang ingin mengaksesnya. Sebuah Database Management System (DBMS) ber-tanggung jawab dalam ruang lingkup yang lebih besar, pada umumnya sebuah DBMS harus dapat berfungsi sebagai:1. Manajemen penyimpanan data.2. Memelihara keamanan data.3. Memelihara metadata.4. Menangani transaksi.5. Mendukung bermacam-macam konekti-

    vitas.6. Optimasi kinerja.7. Memiliki mekanisme back-up dan reco-

    very.8. Menangani pengambilan data dan modi-

    kasi.

    Ada istilah DBMS, ada pula istilah RDBMS. Perbedaannya adalah huruf depan R yang mengacu pada kata Relational. Sebuah RDBMS tidak hanya mendukung penyimpan-

    an data pada table, tetapi juga menangani relationship antar-table tersebut.

    Jika Anda pengguna baru MySQL dan ingin melakukan instalasi awal, MySQL tersedia un-tuk di-download dengan berbagai tahapan sebagai berikut:1. Alpha. Versi MySQL, di mana berada pada taha-

    pan yang belum dites secara menyeluruh. Pada tahap ini, mungkin masih dapat terjadi perubahan atau penambahan tur yang bersifat mayor.

    2. Beta. Tahap setelah Alpha, di mana kode telah

    dites dan tidak ada lagi penambahan mayor yang dilakukan. Versi MySQL pada tahapan beta ini telah menuju pada versi yang cukup stabil.

    3. Gamma. Saat sebuah versi MySQL telah berada

    pada tahapan beta dan telah beroperasi dengan stabil tanpa masalah yang sig-ni kan, maka tahapan beralih menjadi tahap gamma. Pada tahap ini, beberapa perbaikan minor masih dapat dilakukan.

    4. Production. Tahapan di mana versi MySQL telah sa-

    ngat stabil untuk digunakan. Pada tahap ini, hanya perbaikan yang bersifat genting yang dapat dilakukan.

    File Data MySQLSetiap sistem database pada umumnya

    memiliki nama le dengan ekstensi masing-masing untuk menyimpan data. Misalnya, Microsoft Access yang menyimpan data pada le dengan ekstensi .mdb, Microsoft SQL Server yang menyimpan data pada le .mdf, .ldf, dan seterusnya. MySQL juga memiliki le dengan ekstensi:1. FRM. Merupakan le yang digunakan untuk

    mende nisikan format table. 2. MYD. File yang menyimpan data.3. MYI. Digunakan sebagai le index.4. MRG. Tipe le yang digunakan sebagai daftar

    nama table yang digabungkan (merged).

    Pembuatan masing-masing file di atas tergantung pada tipe table. Pada MySQL, Anda akan mengenal beberapa tipe table sebagai berikut:1. BDB. Tipe table yang ditangani oleh Berkeley

    DB handler. 2. MEMORY. Table yang tersimpan pada memory, se-

    hingga data hanya akan tersedia selama server MySQL aktif. Jika server mengalami crash atau down, maka data juga akan hilang seketika.

    3. InnoDB. Tipe table yang ditangani InnoDB handler. 4. ISAM. Merupakan tipe table default MySQL versi

    terdahulu, saat ini tipe table default MySQL adalah MyISAM. Sementara ISAM masih tetap didukung untuk kompatibilitas.

    5. MERGE. Sebuah table virtual yang tercipta dari tipe

    table MyISAM. 6. MyISAM. Merupakan tipe table default MySQL.

    Mendukung index dan telah dioptimasi dari sisi kecepatan dan kompresi.

    Executable File Pada MySQLMySQL menyediakan le- le pendukung yang dapat dieksekusi secara Command Line, di mana Anda dapat menggunakan-nya sesuai kebutuhan. File-file tersebut antara lain:1. myisamchk. Berfungsi untuk melakukan check dan

    repair pada table MyISAM.

    Joko Nurjadi

    Programming

    Mengenal Lebih Jauh MySQL

    MySQL merupakan salah satu sistem database open source yang paling popular, dengan kemudahan implementasi, reliabilitas, dan tentunya total biaya yang relatif murah. Ditambah dengan dukungan konektivitas pada platform Windows, Linux, Unix, Solaris, dan banyak lagi.

    Bagian 1 dari 3 Artikel

    Know-How

    KNOW-HOW03/2007 75

    2. myisampack. Berfungsi untuk melakukan kompresi

    pada table MyISAM ke dalam table yang read-only.

    3. mysql. Berfungsi untuk melakukan akses pada

    data MySQL, Anda dapat menggunakan utility ini dalam mode interaktif ataupun mode batch. Mode interaktif digunakan jika Anda ingin langsung mengeksekusi query pada database. Mode batch digu-nakan untuk mengeksekusi query yang tersimpan pada le script, dan menyim-pan hasilnya pada sebuah le.

    4. mysqladmin. Menyediakan interface untuk tugas-tugas

    administratif, seperti mengambil informasi mengenai kon gurasi MySQL, melakukan setting password, menghentikan server, menciptakan dan menghapus database, dan lain-lain.

    5. mysqldump. Meng-copy table ke dalam le untuk data

    back-up, juga dapat digunakan untuk me-mindahkan database ke server yang lain.

    6. mysqlhostcopy. Membuat back-up dari sebuah database. 7. mysqlshow. Menampilkan daftar database yang

    berada pada MySQL. Juga ditampilkan daftar table dan informasi lainnya.

    IndexSebagai sebuah RDBMS, konsep desain da-tabase pada MySQL merupakan konsep yang umum digunakan pada relational database, misalnya Anda perlu mende nisikan primarykey dan foreign key pada table-table yang berhubungan.

    Selain itu, normalisasi data merupakan suatu konsep penting dalam relational data-base, yang bertujuan untuk mengorganisasi data dalam sebuah struktur yang mengu-rangi data yang redundant, selain juga untuk menjaga integritas data.

    Desain database belum lengkap tanpa memanfaatkan fasilitas index. Index adalah sarana yang digunakan untuk mempercepat eksekusi query yang kompleks. Sebuah index menyediakan daftar pointer terorganisasi yang merujuk pada data aktual.

    Sebagai hasilnya, saat MySQL mengeksekusi sebuah query, tidak perlu dilakukan pencarian data pada lokasi table, melainkan melakukan pencarian data pada index, yang akan meng-hasilkan akses yang lebih cepat dan e sien.

    Bagaimanapun, penggunaan index memi-liki konsekuensi, yaitu mengurangi performa operasi yang memodi kasi data pada table. Hal ini dikarenakan index harus di-updatemengikuti update pada table.

    Penggunaan index juga memerlukan ruang penyimpanan, yang jika digunakan untuk table dalam kapasitas besar, akan relatif cukup banyak memakan ruang hard-disk. Karena itu, penggunaan index harus disesuaikan pula dengan kebutuhan.

    MySQL mendukung lima tipe index, dua jenis index yang tentu telah Anda kenal adalah pri-mary key dan foreign key. Saat Anda mencip-takan primary key ataupun foreign key, secara otomatis MySQL akan menciptakan index pada kolom yang Anda de nisikan sebagai key.

    Selain dua tipe index tersebut, MySQL juga mendukung tipe index regular, yaitu index yang mengijinkan duplikasi atau nilai null pada kolom yang dide nisikan sebagai index. Tipe index selanjutnya adalah Unique,

    di mana nilai pada kolom adalah unik seperti pada primary key. Hanya saja tipe Unique memperbolehkan nilai null.

    Tipe index terakhir adalah Full-text, men-dukung pencarian full-text pada kolom yang dide nisikan sebagai index. Index full-text mengizinkan duplikasi dan nilai null, tipe index ini hanya dapat dide nisikan pada tipe table MyISAM dan hanya pada tipe data char, varchar, dan text.

    Manipulasi DataJika Anda telah pernah membuat aplikasi database, tentu sudah tidak asing melakukan manipulasi data. Yang dimaksud dengan manipulasi data adalah melakukan penam-bahan data (dengan perintah INSERT atau REPLACE), perubahan data (dengan perin-tah UPDATE), dan menghapus data (dengan perintah DELETE atau TRUNCATE).

    Walaupun pada intinya perintah untuk manipulasi data pada MySQL memiliki fungsi yang sama seperti RDBMS lainnya, mencakup statement yang telah dijelaskan di atas, namun MySQL memiliki beberapa opsi yang mungkin berbeda dengan perintah yang pernah Anda kenal pada RDBMS lainnya.

    Perintah INSERT pada MySQL memiliki beberapa opsi, di antaranya opsi LOW_PRI-ORITY dan DELAYED, di mana Anda dapat menggunakan salah satunya pada sebuah perintah INSERT. LOW_PRIORITY mengin-dikasikan bahwa query baru akan dijalankan jika tidak ada koneksi dari client lain yang mengakses table yang sama.

    Selama proses tersebut, Anda tidak dapat melakukan aksi lainnya. Jika menggunakan DELAYED, selama menunggu eksekusi, Anda dapat melanjutkan melakukan operasi lain sementara statement INSERT berada dalam antrian untuk dieksekusi.

    Baik opsi LOW_PRIORITY maupun DE-LAYED hanya dapat digunakan pada tipe table MyISAM atau ISAM.

    Opsi lainnya yang terdapat pada perintah INSERT adalah opsi IGNORE. Opsi ini dapat Anda gunakan jika menambahkan banyak record dan ingin mengabaikan record yang mengandung duplikasi nilai pada primary key atau index unique. Tanpa opsi IGNORE,maka proses INSERT data akan menghen-tikan proses saat ditemukan duplikasi nilai pada primary key atau index unique.

    Selain menggunakan statement INSERTuntuk menambah data pada sebuah table,

    Programming

    Tampilan Command Line pada MySQL.

  • Know-How

    03/200776 KNOW-HOW

    Anda juga dapat menggunakan statement REPLACE. Perbedaan antara statement INSERT dan REPLACE adalah bagaimana memperlakukan nilai primary key atau index unique jika ditemukan duplikasi.

    Pada statement INSERT , jika terjadi duplikasi maka tidak akan dilakukan penam-bahan data. Sementara pada statement REPLACE, data lama akan dihapus dan di-gantikan dengan data yang baru, atau sama dengan melakukan perintah UPDATE.

    Untuk melakukan perubahan data, digu-nakan statement UPDATE. Sebagaimana statement INSERT, statement UPDATE pada MySQL juga memiliki opsi LOW_PRIORITYdan IGNORE.

    Anda dapat menyertakan clause ORDER BY yang berfungsi untuk pengurutan data, sehingga proses update akan sesuai urutan yang Anda kehendaki. Clause LIMIT juga dapat disertakan untuk kebutuhan mem-batasi jumlah record yang di-update.

    Clause lain yang bisa jadi sering digunakan adalah clause WHERE, yang digunakan untuk melakukan lter data. Proses update tidak hanya dapat dilakukan pada sebuah table, tetapi juga untuk meng-update join table.

    Untuk melakukan penghapusan data, digunakan statement DELETE . Seperti pada statement lainnya, Anda dapat meng-gunakan opsi LOW_PRIORITY dan IGNOREuntuk kebutuhan menghapus data.

    Opsi lain yang dapat digunakan adalah opsi QUICK, yang hanya dapat digunakan untuk table bertipe MyISAM. Dengan meng-gunakan opsi QUICK, engine penyimpanan MyISAM tidak akan menggabungkan kom-ponen index selama proses delete, sehingga mempercepat eksekusi.

    Statement TRUNCATE juga dapat digu-nakan untuk menghapus data, dan berfungsi

    untuk menghapus seluruh record pada se-buah table. TRUNCATE juga akan melakukan inisasi ulang AUTO_INCREMENT sehingga kolom yang memiliki AUTO_INCREMENTakan mulai kembali dari awal, hal ini tidak dilakukan oleh statement DELETE.

    Proses database yang sering digunakan adalah proses pengambilan data, yaitu dengan menggunakan statement yang paling populer dalam SQL, yaitu statement SELECT. Dengan eksibiltas yang tinggi, Anda dapat mencip-takan query SELECT dari yang sederhana hingga yang rumit sesuai dengan kebutuhan.

    Dengan statement SELECT, Anda dapat mengambil nilai pada kolom yang terdapat pada table, atau dapat juga mengambil suatu nilai dengan menggunakan expression. Expres-sion adalah suatu tipe formula yang membantu Anda untuk mende nisikan nilai yang akan dikembalikan oleh statement SELECT.

    Termasuk dalam expression adalah nama kolom, suatu nilai, operator, ataupun func-tion. Operator adalah sebuah simbol yang merepresentasikan sebuah aksi yang ingin dilakukan, misalnya membandingkan nilai atau menambahkan nilai.

    Contoh operator adalah simbol lebih besar (>) atau lebih kecil (

  • Know-How

    03/200778 KNOW-HOW

    Anda sebagai seorang programer dan kutu buku, tentu tidak ketinggalan menjadi pelanggan tetap penyewaan buku Semua Ada, lengkap dengan status peminjam buku terbanyak. Hari ini seperti biasanya Anda meminjam 10 judul buku dan terpaksa harus mengantri. Sekilas Anda meli-hat Pak Kumissang pemiliksedang sibuk mencatat buku yang keluar dan masuk.

    Belum punya sistem komputerisasi pe-minjaman buku, Pak? Tanya Anda penuh percaya diri. Pak Kumis menggeleng singkat. Kebetulan saya programer, mungkin saya bisa membantu bapak. Anda berusaha membujuk Pak Kumis, disambut dengan tatapan tidak percaya Pak Kumis sambil meli-hat tumpukan komik yang Anda pegang.

    Gratis kok Pak..., Kata Anda lagi, yang kali ini disambut senyum gembira Pak Kumis. Dengan demikian, terhitung sejak hari itu Anda mulai membuat sistem komputerisasi peminjaman buku untuk Pak Kumis.

    Ibarat rak-rak buku yang menyimpan masing-masing buku dalam kategorinya di dalam tempat peminjaman buku Pak Kumis, demikian pula permulaan tahap komputerisasi yang harus Anda lakukan. Buku merupakan sebuah table khusus di dalam database Anda, di dalam buku terdapat informasi-informasi seperti judul, pengarang, penerbit, jumlah halaman, dan lain sebagainya yang perlu Anda siapkan di dalam eld penampung.

    Pada sebuah aplikasi, database sering menjadi faktor penting. Sebagai contoh, sebuah aplikasi absensi tidak akan berjalan tanpa data absen, atau sebuah aplikasi kasir tidak akan berjalan tanpa data produk dan harga.

    Untuk menyimpan database, Anda mutlak memerlukan ruang pada media penyim-panan. Anda perlu menyimpan database pada le dan mengelolanya.

    Konsep mengelola file dan database bisa jadi sama untuk semua bahasa pem-rograman, tetapi jika Anda menggunakan Visual Basic .NET, beberapa teknik khusus perlu diketahui agar Anda dapat membuat aplikasi database yang baik dengan waktu yang relatif singkat.

    FileJika Anda menyebut database, umumnya orang akan mengartikannya sebagai salah satu software RDBMS (Relation Database Management System), seperti Microsoft Ac-cess, Microsoft SQL Server, atau MySQL.

    Tetapi jika mengambil pengertian data-base sebagai basis data, maka sebuah le teks juga dapat berfungsi sebagai database, tentu saja dalam bentuk yang sederhana. Pada file teks Anda dapat menganggap sebuah le sebagai sebuah table, sementara setiap baris pada le teks merepresentasikan record yang ada.

    Setiap record terdiri dari eld- eld. Pada le teks, Anda dapat menggunakan sebuah karakter pemisah (delimiter character) yang unik sebagai pemisah antar- eld, misalnya menggunakan karakter * (asterisk), & (am-persand), dan seterusnya.

    Walaupun tentu saja tidak disarankan menggunakan le teks sebagai database aplikasi peminjaman buku, kecuali jika Anda menyiapkan cukup banyak Aspirin untuk mengobati sakit kepala Anda.

    Lalu Anda bertanya, untuk apa mempela-jari operasi le jika ingin membuat aplikasi database seperti sistem peminjaman buku?

    Membuat database untuk menampung table buku, transaksi peminjaman, pelang-gan, dan seterusnya di dalam file teks memang bukan pilihan bijaksana, baik dari segi kompleksitas maupun pemeliharaan dan keamanan data. Tetapi, Anda masih dapat menggunakan le teks untuk keperluan lain dalam aplikasi.

    Katakanlah, Anda ingin menyimpan kon gurasi, seperti username, password,lokasi database, dan lain sebagainya. Pada kasus ini, Anda dapat menggunakan le teks sederhana.

    Ada kalanya juga Anda memerlukan le teks dan operasi baca tulis le untuk melaku-kan proses import/export data.

    Memeriksa Eksistensi FileSebelum melakukan operasi le seperti mem-baca ataupun menulis isi le, Anda harus memeriksa keberadaan le tersebut terlebih dahulu. Tidak sulit untuk melakukannya dalam Visual Basic .NET, anggaplah Anda ingin memeriksa keberadaan le con g.ini, maka Anda hanya perlu menuliskan kode sebagai berikut:Dim oFile As System.IO.FileIf oFile.Exists(config.ini) then - statement jika file config.ini ada End If

    Pada kode program di atas, Anda mendeklarasikan variabel oFile yang meru-pakan object yang diturunkan dari namespaceSystem.IO, yang umum digunakan untuk bekerja dengan le teks, le biner, stream, ataupun direktori.

    Alternatif penulisan lain adalah dengan menuliskan:

    Joko Nurjadi

    Mengelola File dan Database pada VB.NETAlkisah, penyewaan buku Semua Ada terkenal dengan koleksi buku yang lengkap, di mana hampir terdapat semua jenis buku, dari komik, novel, kamus, ensiklopedia, hingga soal-soal ujian beserta jawabannya tersedia untuk dipinjamkan kepada siapa saja yang membutuhkan.

    ProgrammingKnow-How

    KNOW-HOW03/2007 79

    Programming

    If System.IO.File.Exists(config.ini) then- statement jika file config.ini ada End If

    Perbedaannya adalah, pada kode program di atas Anda tidak memerlukan variabel untuk menampung class object, Anda juga dapat meng-import namespace System.IO terlebih dahulu dengan perintah Im-ports System.IO, untuk selanjutnya menggunakan class-class yang terdapat pada System.IO.

    Anda dapat melakukan eksplorasi lebih dalam dengan class dan method yang ter-dapat pada System.IO. Misalnya System.IO.File.Delete untuk menghapus le, System.IO.File.Copy untuk meng-copy le, atau System.IO.File.Encryptdan System.IO.File.Decrypt untuk melakukan enkripsi dan dekripsi le.

    Operasi FileProses selanjutnya yang dapat Anda lakukan adalah membuat le baru atau membuka le yang sudah ada, untuk kemudian melakukan penulisan atau pembacaan isi le.

    Untuk membuat le baru dan menuliskan sebuah teks ke dalamnya, Anda dapat meng-gunakan System.IO.StreamWriter,contoh kode programnya adalah sebagai berikut:Dim ioFile As New System.IO.StreamWriter(test.txt)ioFile.WriteLine(Selamat Pagi)ioFile.Close()

    Kode program di atas akan menghasilkan sebuah le teks bernama test.txt yang berisi-kan string Selamat Pagi.

    Mudah d i tebak , j i ka S y s t e m .IO.StreamWriter digunakan untuk menulis file, maka untuk membaca file digunakan System.IO.StreamReader.Jika method WriteLine digunakan untuk menulis isi le, maka method ReadLinedigunakan untuk membaca isi le.

    ADO.NETSekarang kita akan masuk ke dalam pemba-hasan bagaimana mengoperasikan perintah-perintah untuk mengakses RDBMS, untuk itu Anda wajib mengenal ADO.NET.

    ADO (Active Data Objects) merupakan kumpulan komponen untuk mengakses data dan data services, ADO.NET merupakan ba-gian dari class library framework .NET.

    Pada Visual Basic generasi pra .NET, Anda tentu sudah mengenal DAO dan ADO, bukan? ADO.NET menggunakan konsep yang sedikit berbeda dengan DAO maupun ADO.

    ADO.NET terdiri dari dua bagian utama, yaitu Data Provider dan DataSets.

    Data ProviderMerupakan kumpulan class untuk mengakses sumber data. Contoh sumber data adalah RDBMS seperti Microsoft SQL Server, Oracle, MySQL, dan seterusnya. Masing-masing sum-ber data tersebut memiliki object provider sendiri-sendiri, tetapi masing-masing memi-liki class yang umum sebagai berikut:1. Connection. Menyediakan koneksi yang digunakan

    untuk berkomunikasi dengan sumber data.

    2. Command. Digunakan untuk melakukan akses pada

    sumber data, seperti membaca, menam-bah, update, atau menghapus data.

    3. Parameter. Merupakan parameter atau argumen

    yang dikirimkan pada sebuah perintah. Misalnya parameter untuk stored proce-dure.

    4. Data Adapter. Digunakan sebagai jembatan untuk

    melakukan transfer data antara sumber data dan object DataSet.

    5. Data Reader. Class yang digunakan untuk melakukan

    proses pada data yang besar dengan e sien.

    DataSetsObject DataSet merupakan sebuah grup yang berisikan class untuk mengakses rela-tional database. Mungkin Anda mengenal RecordSet pada ADO, pada platform .NET ini, DataSet menggantikan fungsi RecordSet yang berlaku pada ADO.

    Di dalam DataSet, terdapat object-object sebagai berikut:1. Object DataTable. Merepresentasikan sebuah table dalam

    database, di mana table tersebut memiliki nama, kolom, dan baris.

    2. Object DataView. Melakukan pengurutan (sort) pada data

    dan melakukan lter pada record.3. Object DataRelation. Relationship antar-table, seperti relation-

    ship primary key dan foreign key.

    Dengan menggunakan object DataSet, aplikasi Anda dapat melakukan koneksi pada database, memproses query untuk kemu-dian melakukan diskoneksi pada database. Koneksi akan dilakukan lagi kemudian, untuk meng-update database dengan perubahan yang telah dilakukan.

    Dengan demikian, Anda tidak perlu terus-menerus melakukan koneksi pada database, yang mana merupakan solusi ideal untuk aplikasi web. Selain itu, DataSet dapat meny-impan content-nya ke dalam XML, sehingga dapat digunakan untuk web services atau aplikasi terdistribusi.

    Operasi DatabaseUntuk membuat suatu aplikasi database se-perti peminjaman buku, Anda harus terlebih dahulu mendesain database sesuai dengan kebutuhan. Susun table-table yang diperlu-kan, tentukan primary key dan foreign key, lakukan index sesuai keperluan.

    Desain database sangat menentukan sejauh mana aplikasi Anda berkembang. Terkadang hambatan aplikasi untuk berkem-bang adalah karena database yang digu-nakan tidak dapat diekspansi dalam ruang lingkup yang lebih besar.

    Sementara jika Anda harus melakukan design ulang database pada suatu sistem yang telah berjalan, tentu sangat memer-lukan pengorbanan dari segi materi dan waktu.

    Contoh format XML.

  • Know-How

    03/200780 KNOW-HOW

    Programming

    Karena itu, sudah sewajarnya setiap ap-likasi yang Anda buat juga memiliki visi dan misi, karena aplikasi yang besar juga lahir dari aplikasi kecil.

    Setelah database Anda siap, maka hal pertama yang harus dilakukan oleh aplikasi Anda adalah membuka koneksi pada data-base. Environment ADO.NET mendukung SQL Server .NET Data Provider dan OLE DB.NET Data Provider.

    Pada class ADO.NET, Anda akan mendapat-kan class ADO Managed Provider yang diawali dengan OleDB, seperti OleDBCon-nection. Sementara class SQL Managed Provider diawali dengan SQL, misalnya SqlConnection.

    Berikut adalah contoh membuka koneksi database dengan class ADO Managed Provider:Dim Connect As New OleDBConnection(Provider=SQLOLEDB; & _Initial Catalog=Book; Data Source=(local); & _User ID=sa; password=;)

    Sementara contoh membuka koneksi da-tabase dengan class SQL Managed Provider adalah sebagai berikut:Dim Connect As New SqlConnection(Initial Catalog=Book; _ & Data Source=(local); User ID=sa; password=;)

    Setelah aplikasi Anda berhasil menciptakan koneksi pada database, maka aplikasi Anda siap untuk memberikan query dan perintah operasi database dengan object DataSet atau DataReader.

    Jika kebutuhan aplikasi Anda adalah mengakses database untuk dibaca saja (read-

    only) tanpa melakukan update apapun, maka Anda dapat meningkatkan kinerja aplikasi dengan menggunakan object DataReader.

    Cukup banyak proses yang hanya me-merlukan pembacaan data, misalnya me-nampilkan daftar buku, atau pencarian buku berdasarkan pengarang, tahun terbit, judul, dan seterusnya.

    Konsekuensi dari object DataReader adalah membutuhkan koneksi terus menerus pada database selama eksekusi, sehingga dapat menaikkan beban pada jaringan.

    Jika proses yang ingin Anda lakukan terha-dap database adalah operasi untuk melaku-kan update isi database, maka Anda dapat menggunakan object DataSet. Perubahan yang Anda lakukan pada DataSet akan di-up-date pada database dengan menggunakan object DataAdapter.

    Dengan kata lain, DataAdapter berada di antara database dan DataSet, dan bekerja di-belakang layar untuk meng-update perubah-an yang Anda lakukan pada DataSet pada lokasi database yang sesungguhnya.

    Untuk itu, Anda dapat menciptakan object SqlCommandBuilder, yang akan memoni-tor operasi insert, delete, dan update.

    Pada environment .ADO.NET, sebuah Da-taSet menampung hasil dari sebuah query, yang terdiri dari satu atau lebih table. DataSet menyimpan isi masing-masing table tersebut dengan menggunakan object DataTable.

    Telah dijelaskan di atas, bahwa ADO.NET dapat menyimpan content-nya dalam bentuk XML. Sebenarnya pada saat sebuah object DataSet menerima data dari database, maka data yang diterima telah berbasis XML. Di mana jika DataSet melakukan update pada data tersebut, maka akan tercipta sebuah content baru yang juga berbasis XML.

    Anda dapat menggunakan method GetX-ML dalam class DataSet untuk menampilkan data dengan format XML.

    ASP.NETJika di dalam bayangan Anda, untuk mem-buat aplikasi peminjaman buku harus merupakan sebuah windows application, maka Anda harus lebih mendayagunakan kemampuan environment .NET.

    Di dalam environment .NET, dimungkinkan untuk menciptakan sebuah web application yang tentunya juga didukung oleh ADO.NET yang telah dibahas di atas. Jika beberapa ta-hun lalu Anda menciptakan web application

    dengan menggunakan Active Server Pages (ASP), maka pada .NET, Anda menggunakan ASP.NET.

    ASP.NET sendiri sebenarnya bukan nama sebuah bahasa pemrograman, karena bahasa pemrograman yang Anda gunakan dapat berupa Visual Basic .NET, C# atau J# didalam environment .NET.

    ASP.NET lebih cenderung merupakan sebuah teknologi yang menggunakan library .NET yang dibangun pada Common Language Runtime (CLR), dan merupakan bagian dari platform .NET yang membentuk development tools untuk membangun web application.

    Dengan ASP.NET, Anda sebagai programer dengan mudah melakukan transisi dari win-dows application ke web application, control yang digunakan untuk membentuk windows application seperti button dan label, dapat digunakan juga untuk membangun web application.

    Membangun sebuah web application menjadi mudah dengan paradigma event-driven GUI, dibandingkan dengan metode konvensional, yaitu membangun web de-ngan berbasis bahasa script.

    PenutupSebuah aplikasi dapat berkembang menjadi semakin besar, hanya jika aplikasi tersebut telah menunjukkan manfaat, walaupun awalnya masih dalam skala yang relatif kecil. Dengan adanya manfaat dari penggunaan aplikasi tersebut, maka pengembangan aplikasi akan terus dilakukan sesuai kebu-tuhan.

    Sebagai contoh, jika awalnya Anda hanya membuat sistem kecil peminjaman buku, jika manfaat yang diperoleh dari aplikasi Anda dirasakan oleh pengguna, maka aplikasi Anda akan berperan besar dalam operasional dan ikut mengembangkan kemajuan bisnis pengguna.

    Semoga artikel singkat ini dapat menjadi acuan dasar bagi Anda untuk mengembang-kan aplikasi yang bermanfaat!

    http://en.wikipedia.org/wiki/ADO.NET http://en.wikipedia.org/wiki/ASP.NET http://www.astahost.com/info.php/

    text- le-operations-vb-net_t6372.html

    Lebih Lanjut

    ASP.NET mendukung kemudahan membangun Web Application.

    IKLAN

  • Know-How

    03/200782 KNOW-HOW

    Beberapa laporan sensasional tentang masalah sekuriti langsung mengikuti dengan dirilisnya Internet Explorer 7 (IE7). Microsoft telah melakukan ba nyak hal su-paya IE7 lebih aman. Berikut adalah beberapa tur sekuriti IE7 yang baru dan apa yang bisa mereka lakukan untuk Anda.

    ActiveX Menandai (Hot) SpotSalah satu masalah sekuriti yang dihadapi Internet Explorer dulu, dan alasan me ngapa banyak orang memilih Firefox dan browser lain adalah risiko kontrol ActiveX. Ac-tiveX memungkinkan pengembang web membuat halaman web yang lebih baik dibandingkan dengan HTML. Namun, karena kontrol ActiveX merupakan pro-gram executable yang bisa otomatis di-download dan dijalankan oleh web browser, penyerang sering kali membuat kontrol berbahaya yang memanipulasi le pada komputer user, melakukan koneksi ke komputer lain, dan mentransfer data tanpa sepengetahuan user.

    Respon Microsoft terhadap masalah ini membuat perubahan besar terhadap IE7. Suatu tur bernama ActiveX opt-in secaradefault mematikan kontrol yang diinstalasi pada komputer Anda. Jika Anda membuka situs web yang membutuhkan kontrol tersebut, sebuah pesan akan tampil pada

    information bar di bagian atas jendela browser yang memberitahu Anda bahwa situs ingin menjalankan kontrol (dengan nama dan nama pubsliher). Anda bisa memilih apakah ingin menjalankan kontrol atau tidak.

    Yang menjadi masalah dalam hal seku-riti adalah bagaimana menyeimbangkan proteksi dengan kenyamanan user. Untuk meningkatkan sekuriti tanpa terlalu meng-ganggu user, Microsoft menyertakan daftar kontrol yang tidak otomatis dimatikan

    oleh ActiveX opt-in. Ini merupakan kontrol yang aman digunakan. User tidak akan di-prompt untuk sebelum menjalankan tool tersebut.

    Selain itu, Anda bisa mematikan ActiveX opt-in secara per zone. Secara default, kontrol dimatikan pada zone Internet dan Restricted dan dijalankan pada zone Intranet dan Trusted zone. Setting bisa diubah dari Internet Option|tab Securitydengan memilih zone dan mengklik tom-bol Custom Level, lalu pilih setting yang diinginkan.

    Pengembang kontrol ActiveX bisa men-jalankan lebih aman menjalankan kontrol mereka dengan menggunakan site-locking(membatasi kontrol ke suatu domain situs tertentu) dan zone-locking (membatasi kon-trol hanya jika IE berada dalam zone tertentu, misalnya Intranet) dan menandai kontrol mereka secara digital.

    Proteksi terhadap PhisingUntuk menghadapi masalah phising, IE7 ditambahkan Microsoft Phising Filter. Phis-ing Filter otomatis mengecek situs web yang Anda kunjungi dan memperingatkan Anda jika situs teridenti kasi sebagai situs phis-ing. Jika tidak ingin mengecek situs secara otomatis, Anda bisa mengecek suatu situs jika dianggap sebagai situs phising. Untuk melakukannya, klik Tools|Phising Filter|Check This Web Site.

    Jika menurut Anda itu adalah situs phising dan phising lter tidak mengganggapnya demikian, Anda bisa melaporkannya ke Mic-

    Internet Explorer 7 dilengkapi tur baru seperti tab browsing, tetapi yang paling utama adalah sekuriti yang ditambahkan. Baik sebagaibrowser upgrade pada XP dan browser terintegrasi pada Windows Vista, IE7 menyediakan mekanisme baru agar web browsing lebih aman. Mari kita lihat tur sekuriti baru yang paling penting.

    PeningkatanSekuriti Internet Explorer 7

    Gunung Sarjono

    Security

    Anda bisa mengatur ActiveX opt-in untuk setiap zone sekuriti. Anda bisa mengon gurasi Phising Filter dari tab Advanced Setting Internet Options.

    Know-How

    KNOW-HOW03/2007 83

    rosoft dan akan diinvestigasi dan dimasukkan ke database jika perlu. Jika situs yang Anda kirim terdapat dalam situs yang aman, situs tidak akan dicek. Phising Filter menggunakan heuristic untuk menentukan apakah suatu situs mempunyai karakterisktik phising dan jika ya, ditandai sebagai mencurigakan.

    Anda bisa mematikan Phising Filter atau mematikan/menyalakan pengecekan oto-matis melalui tab Advanced Settings pada Internet Options.

    Sekuriti Cross-domainCross-domain scripting merupakan taktik yang digunakan oleh penyerang untuk me-ngarahkan browser yang dibuka pada satu domain sekuriti ke domain sekuriti yang lain. IE7 membuat script dan objek web yang lain berada dalam konteks sekuriti yang sama jika mereka diarahkan. Secara default, setting kon gurasi diset untuk menolah akses data cross-domain di semua zone sekuriti. IE7 memblokir script URL dan memblokir pengalihan navigasi objek pada waktu dilakukan cross-domain. Ini berarti script pada halaman web tidak bisa berinteraksi dengan data yang terdapat pada domain lain.

    IE Protected Mode di VistaPada Windows Vista, IE7 bekerja sama dengan User Account Control (UAC) untuk menjalankan browser dalam protected mode. Browser hanya bisa menjelajah web, dan menjalankan plug-in dan add-on dengan hak akses serendah mungkin.

    Dengan protected mode, situs web tidak bisa menginstalasi kode berbahaya pada komputer tanpa sepengetahuan user. Ia melakukannya dengan melarang segala bentuk penulisan ke harddisk selain ke folder Temporary Internet Files, kecuali jika user memberi hak.

    Pada waktu menulis le ke lokasi di luar folder TIF, digunakan proses perantara supaya lebih aman. Proses perantara didesain supaya tidak bisa ditulis tanpa input user.

    Pengetatan Zone SekuritiZone sekuriti pada IE7 lebih ketat. Sekarang zone Intranet pada komputer yang tidak tergabung ke domain Windows dimatikan.

    Setting zone ini biasanya lebih longgar dibandingkan zone Internet, tetapi sebagian besar user yang menggunakan jaringan peer-to-peer tidak membuat zone Intranet karena mereka tidak mengakses intranet. Selain itu, setting default zone Trusted lebih ketak dibandingkan sebelumnya, dan Anda tidak bisa lagi menggeser setting sekuriti ke Lowatau Medium-LowAnda harus membuat setting sendiri untuk membuat setting lebih rendah dari Medium.

    Noti kasi SSL/TLSSekarang user bisa lebih mudah mengeta-hui apakah transaksi yang mereka lakukan

    melalui situs web (seperti Internet bankingatau menggunakan kartu kredit untuk membeli barang dari pedagang online)dilindungi oleh Secure Socket Layer (SSL) atau Transport Layer Security (TLS). Ke-duanya adalah protokol yang digunakan oleh situs web untuk otentikasi web server dan mengenkripsi informasi yang dikirim melalui Internet.

    IE7 menampilkan icon di sebelah kanan address bar pada waktu Anda mengakses halaman HTTPS, yang bisa diklik untuk melihat serti kat digital yang digunakan untuk mengenkripsi koneksi informasi dan yang mengeluarkan. Pada versi sebelum-nya, icon SSL ditampilkan di bagian bawah jendela browser dan kecil dan sering kali terlewat.

    Security

    ActiveX: merupakan teknologi yang dikembangkan oleh Microsoft yang merupakan pengembangan dari Object Linking and Embedding (OLE) dan Component Object Model (OCM), yang memungkinkan pengembang web untuk membuat halaman web lebih interaktif dan menyediakan jenis fungsi yang sama dengan Java applet.

    User Account Control (UAC): merupakan teknologi sekuriti pada Windows Vista yang mengurangi serangan yang dilakukan dengan berjalan dalam mode biasa (nonadministratif), meskipun masuk sebagai account administratif, kecuali dan sampai diperlukan hak akses administratif untuk melakukan suatu task. User harus memberi hak akses secara eksplisit untuk masuk ke mode administrativedan mendapatkan hak akses administratif.

    Phising: suatu cara untuk mengalihkan komputer user, biasanya melalui e-mail, ke suatu situs web yang mengaku sebagai bank, perusahaan pinjaman, perusahaan kartu kredit, pedagang e-commerce, institusi pemerintah, dan situs lain yang mengharuskan user untuk memasukkan informasi rahasia, seperti password account, nomor rekening, nomor jaminan sosial, dan data pribadi lainnya.

    Scripting: digunakan untuk menyederhanakan bahasa pemrograman (disebut scripting language) untuk membuat sekumpulan instruksi buat halaman web.

    Zone sekuriti: suatu teknik yang digunakan Internet Explorer supaya Anda bisa menggunakan tingkat sekuriti yang berbeda terhadap suatu situs web bergantung di mana mereka berada dan seberapa besar Anda mempercayai mereka. Sebagai contoh, jika menurut Anda situs tidak bisa dipercaya, Anda bisa memasukkannya ke dalam zone Restricted; Jika menurut Anda aman, bisa memasukkan ke zone Trusted. Secara default, situs di Internet mempunyai sekuriti yang lebih ketat dibandingkan mereka yang ada di intranet.

    SSL/TLS: Transport Layer Security (TLS) merupakan penerus Secure Socket Layer (SSL), yang awalnya dikembangkan oleh Netscape supaya transaksi e-commerce melalui Internet bisa lebih aman. Ia menggunakan enkripsi key public (asymetric) dan serti kat digital untuk meyakinkan user bahwa web server tempat mereka melakukan bisnis sudah diveri kasi identitasnya dan menggunakan enkripsi asymetric, misalnya DES/3DES atau AES, untuk mengenkripsi traf c.

    Daftar Istilah

    Icon SSL/TLS yang baru mempermudah user untuk mengetahui apakah suatu situs web aman.

  • Know-How

    03/200784 KNOW-HOW

    Pewarnaan Address BarBersamaan dengan peningkatan sekuriti yang besar, ada juga sejumlah perubahan kecil yang dilakukan supaya browsing bisa lebih aman. IE7 menggunakan kode warna untuk menandai situs web yang telah di-veri kasi. Situs ini, yang telah mendapatkan serti kat kepastian, membuat address bar berubah menjadi warna hijau.

    Tiga key registry baru, bernama FeatureControl, yang menjaga supaya HTML (baik Internet dan Intranet) tidak bisa mengakses informasi pribadi user. Akses ke objek cachediblokir pada waktu browsing di dalam

    domain yang sama, dan juga pada waktu browsing lintas domain.

    Perlindungan PrivasiAnda bisa lebih mudah melindungi privasi, terutama pada komputer umum atau yang digunakan bersama, dengan menghapus le history browsing web, cache page dan objek (Temporary Internet Files), password yang diingat IE, cookies, dan data yang Anda masukkan ke dalam form, dari satu interfacesederhana (dan semua dengan mengklik satu tombol).

    Karakter InternasionalBeberapa penyerang yang cerdik membuat URL dengan menggunakan karakter inter-nasional untuk menyamarkan situs web yang sebenarnya. Nama domain bisa berisi karakter dalam bahasa asing yang mirip dengan karakter bahasa Inggris yang akan membuat domain yang berbeda. IE7 akan memperingatkan Anda bahwa ada karak-ter dalam bahasa asing jika ada karakter internasional yang digunakan.

    Sekuriti TambahanDulu, pop-up dibuka pada jendela baru yang tidak berisi address bar. Dengan demikian, user lebih mudah dikelabui dan yakin bahwa

    situs tersebut adalah situs yang biasanya dikunjungi. Pada IE7, semua jendela berisi address bar sehingga Anda bisa melihat URL situs. Dengan demikian, akan lebih sulit bagi situs yang mencurigakan untuk menyembu-nyikan identitasnya.

    Ancaman sekuriti sering kali menyelinap dari pintu belakang melalui add-on dan plug-in browser. Jika khawatir terhadap hal ini, Anda bisa menjalankan IE7 dalam mode no add-ons. Ini memungkinkan Anda un-tuk memperbaiki masalah yang disebabkan oleh malware yang menyebabkan browser tidak bisa dibuka. Sebelumnya, jika ada ekstension yang menyebabkan IE crash dan Anda tidak punya browser alternatif, maka Anda tidak bisa browsing ke web untuk men-download informasi atau program yang bisa membantu Anda memperbaiki masalah tersebut.

    http://www.microsoft.com/mscorp/safety/technologies/antiphishing/faq.mspx

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/ProtectedMode.asp

    Lebih Lanjut

    Anda bisa menghapus jejak hanya dengan sekali klik untuk melindungi privasi history browsing Anda.

    Web browser terus berkembang. Tidak lagi suatu aplikasi untuk menampilkan HTML, web browser sekarang harus menangani JavaScript, PHP, Java, kontrol ActiveX, layanan web, plug-in, multimedia, XML, RSS, dan lainnya. Web browser telah menjadi bagian integral dalam berkomputer. Semua ekspektasi tersebut membuat pemilihan browser lebih penting dari yang dikira atau yang seharusnya.

    Microsoft Internet Explorer 7 (IE7) dan Mozilla Firefox 2 merupakan kandidat web browser terbaru yang perlu Anda perhatikan (mohon maaf kepada pengguna Opera dan web browser yang lain, tetapi keduanya mendapatkan banyak perhatian). Banyak dari kita yang mencoba keduanya dan memilih browser yang digunakan.

    Jika memilih Firefox 2, maka mungkin Anda ingin meng-uninstall IE7. Namun, ini menimbulkan dua pertanyaan: Bisakah kita meng-uninstall IE 7 dan bagaimana caranya? Jawabannya adalah: Ya, Anda bisa dan berikut ini adalah caranya.

    Uninstall IE7Jika instalasi IE7 Anda berjalan dengan baik dan lancar, maka proses uninstall relatif sederhana. Untuk meng-uninstall IE7

    dan mengembalikan IE6, klik Start, kemudian klik ControlPanel. Klik Add or Remove Programs. Klik Internet Explorer 7,dan kemudian klik Add/Remove.

    Jika karena suatu hal Internet Explorer 7 tidak muncul pada Add or Remove Programs, buka Windows Explorer. Klik Tools,Folder Options. Klik tab View. Pastikan Show hidden les and folder diklik. Klik OK. Klik Start, dan kemudian klik Run. Ketik %windir%\ie7\spuninst\spuninst.exe dan tekan Enter.

    User AccountPada situasi tertentu, Anda mungkin mendapatkan pesan erroryang mengatakan bahwa Anda tidak bisa melakukan uninstall dengan account user sekarang. Untuk mengatasi hal ini, Anda harus mengedit registry (mengedit registry Windows bisa menyebabkan operating system Windows berhenti berfungsi. Ini bukanlah hal yang sederhana dan sebaiknya back-upregistry sebelum Anda mulai mengedit).

    Klik Start, klik Run, ketik regedit, dan kemudian klik OK. Cari HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer. Klik kanan key Internet Explorer, klik New, dan kemudian klik DWORD Value. Beri nama InstalledByUser, dan kemudian tekan Enter. Coba lagi uninstall IE7.

    Uninstall Internet Explorer 7?

    Security

    IKLAN

  • Know-How

    03/200786 KNOW-HOW

    Mengacu pada artikel sebelumnya Di-saster Recovery Plan: Konsep-konsep Pemulihan (PC Media edisi 02/2007), nilai-nilai Recovery Point Objective (RPO) dan Recovery Time Objective (RTO) harus diterjemahkan ke dalam bentuk implemen-tasi teknis dan praktis. Proses ini merupakan sebuah proses kreatif, namun tetap berpe-gang teguh pada acuan-acuan yang baku. Mengenal proses kreatif ini atau yang lebih dikenal sebagai proses penyusunan Strategi Pemulihan, merupakan salah satu langkah penting dalam proses penyusunan DisasterRecovery Plan (DRP).

    Konsep-konsep PemulihanDalam proses penyusunan dan pengembang-an DRP ada dua konsep teknis yang sangat penting nilai dan peranannya, yaitu RPO dan RTO. Dengan menggunakan kedua konsep tersebut, dapat ditentukan, misalnya, apakah sebuah database dari sebuah aplikasi harus direplikasi secara synchronous atau asyn-chronous ke database cadangan yang ada di Disaster Recovery Center (DRC). Selain itu, dengan konsep-konsep ini pula dapat disu-sun jadwal data back-up yang lebih mencer-minkan kebutuhan bisnis terhadap data yang disimpan dalam database, jadi bukan hanya menurut best practice-nya saja.

    Menurut definisinya, RPO merupakan sebuah nilai dalam satuan waktu (detik, menit, jam, hari, minggu, atau bulan), yang mengindikasikan bahwa selama itu, katakan-lah 2 jam, pihak bisnis dari sebuah perusa-

    haan dapat menoleransi hilangnya data. Sedangkan, RTO merupakan suatu nilai, dalam satuan waktu, yang mengindikasikan seberapa lama infrastruktur teknologi infor-masi (server, storage, dan perangkat keras komunikasi lainnya) akan dipulihkan.

    Gambar 1 memperlihatkan secara gra s konsep dari RPO dan RTO ini beserta penera-pannya secara generik pada beberapa contoh aplikasi dan sistem bisnis.

    Sebagai contoh adalah aplikasi CustomerRelationship Management (CRM), yang pada umumnya merupakan aplikasi yang memiliki nilai RPO dan RTO 0. Ini merupakan indikasi bagi pihak teknologi informasi dalam sebuah organisasi bahwa semua sistem dan infrastruktur pendukung, yaitu server tempat aplikasi CRM dipasang, storage tempat da-tabase disimpan, serta semua hardware dan software yang terkait, harus dapat dipulihkan fungsinya, tentu beserta aplikasi CRM-nya, sesegera mungkin menyusul terjadi bencana yang merusak semua sistem dan infrastruktur pendukung tadi. Sesegera mungkin di sini berarti setidaknya dalam waktu yang sangat pendek, mendekati 0, aplikasi CRM tersebut sudah dapat berfungsi kembali dan beroperasi di fasilitas DRC milik organisasi tersebut.

    Nilai RPO dan RTO yang 0 tadi ke perlu diterjemahkan dalam bentuk kebutuhan teknis, sehingga akan lebih mudah untuk diimplementasikan. Mengacu pada nilai RPO 0, biasanya digunakan proses replikasi database CRM secara synchronous dari DataCenter (DC) ke Disaster Recovery Center

    (DRC), artinya adalah semua transaksi aplikasi yang terjadi di server CRM di DC selalu, pada saat yang sama, direplikasi ke server CRM cadangan yang ada di DRC. Dengan metode ini, tentunya status database di kedua server tersebut akan selalu sama.

    Untuk nilai RTO 0, juga biasanya digunakan solusi wide area clustering. Dengan solusi ini, apabila aplikasi CRM di DC secara tiba-tiba ti-dak berfungsi, maka secara otomatis aplikasi CRM di DRC akan mengambil alih fungsinya. Artinya semua user request untuk transaksi aplikasi, secara otomatis pula dialihkan dari DC ke DRC. Dengan metode seperti ini juga, aplikasi relatif tidak mengalami masalah di mata para user, karena mereka masih dapat meneruskan pekerjaannya.

    Perumusan Strategi PemulihanPerumusan strategi pemulihan adalah sebuah kegiatan yang menerjemahkan lebih lanjut nilai-nilai RPO dan RTO ke dalam bentuk-ben-tuk implementasi teknis maupun praktisnya, seperti pada contoh aplikasi CRM di atas. Proses replikasi database sebuah aplikasi, apakah akan menggunakan metode synchro-nous atau asynchronous, adalah sedikit dari banyak bentuk implementasi tersebut. Proses ini adalah sebuah proses kreatif, namun terarah yang membutuhkan keterlibatan berbagai disiplin ilmu sistem dan teknologi informasi, serta informasi perkembangan teknologi yang paling mutakhir.

    Secara umum langkah-langkah yang harus ditempuh dalam proses perumusan strategi pemulihan ini adalah sebagai berikut: Mengidentifikasi objek-objek pemuli-

    han. Memilih dan mengembangkan opsi-opsi

    untuk setiap objek pemulihan. Menyusun laporan strategi pemulihan. Mendiskusikan serta menyesuaikan

    laporan strategi pemulihan dengan pihak bisnis dan manajemen organisasi.

    Istilah Disaster Recovery Plan memang tidak sepopuler DisasterRecovery Center. Sebagai metodologi, Disaster Recovery Plan sering luput dari perhatian banyak pekerja profesional TI. Padahal keberadaannya sering dijadikan sebagai aspek penting kestrategisan dan kedewasaan operasional TI sebuah organisasi.

    Disaster Recovery Plan: Strategi-strategi Pemulihan

    Jimmy Hannytyo Pinontoan

    TechnologyKnow-How

    KNOW-HOW03/2007 87

    Objek-objek PemulihanObjek-objek pemulihan tidak lain adalah ruang lingkup dari DRP itu sendiri. Ada dua objek pemulihan utama dalam DRP yang menjadi fokus dalam proses perumusan strategi, yaitu: Sistem dan infrastruktur TI. Data.

    Tabel 1 memperlihatkan secara umum objek, kategori, serta opsi-opsi pemulihan dalam proses penyusunan strategi pemu-lihan.

    Sistem dan Infrastruktur TIPemulihan sistem dan infrastruktur teknologi informasi merupakan implementasi dari kon-sep RTO yang mencakup dua aspek, yaitu: Sistem dan infrastruktur TI yang kritikal. Fasilitas pemulihan TI alternatif.

    Sistem dan infrastruktur TI yang kritikal mencakup seluruh hardware dan software yang digunakan dan dioperasikan dalam DC, yang dijadikan infrastruktur pendukung berjalannya sistem bisnis dan aplikasi-aplikasi yang kritikal bagi organisasi. Sistem dan ap-likasi yang kritikal ini biasanya memiliki nilai RPO dan RTO 0 atau yang mendekati 0. Jadi memang tidak semua sistem bisnis dan ap-likasi yang digunakan oleh sebuah organisasi itu punya nilai signi kan bagi bisnis.

    Hardware yang dimaksud di sini adalah server, storage system, network devices,serta perangkat-perangkat lainnya yang ter-kait. Sedangkan, software adalah operatingsystem, aplikasi, serta infrastructure/systemsoftware seperti antivirus, back-up/recovery

    software, network management system, dan beberapa lainnya.

    Opsi-opsi pemulihan untuk sistem dan infrastruktur TI ini berada pada bagaimana hardware dan software cadangan (sistem cadangan) diadakan sebelum dan/atau sesu-dah bencana, yang adalah sebagai berikut: Pre-establishedpada opsi ini, sebelum

    terjadinya bencana, sistem cadangan telah disiapkan, sudah dipasang, dan dapat berfungsi hingga pada kapasitas dan kapabilitas yang sama dengan hardware dan software yang ada di DC. Namun, penggunaannya hanya dilakukan jika terjadi bencana.

    Pre-arranged (quick-ship)pada opsi ini, sebuah perjanjian tertulis telah disepakati antara organisasi dengan pemasok-pe-masok teknologi terkait, bahwa pemasok dapat mendatangkan dan memasang sistem cadangan yang dibutuhkan pada jangka waktu yang telah disepakati menyusul terjadinya sebuah bencana yang berdampak pada tidak berfungsinya DC.

    Acquire-as-neededpada opsi ini, sistem cadangan dipesan ke pemasok-pemasok teknologi, menyusul setelah terjadinya bencana, hanya jika diperlukan.

    Fasilitas pemulihan TI alternatif tidak lain dan tidak bukan adalah DRC dan fasilitas-fasilitas pendukungnya. Ada tiga kategori dalam menentukan opsi-opsi pemilihannya, yaitu: Ownership. Operational readiness. Number of alternate sites.

    Dari kategori ownership, opsi-opsinya adalah sebagai berikut: Company-owned remote sitemeru-

    pakan tempat dan lokasi DRC yang statusnya dimiliki sendiri oleh organisasi yang bersangkutan.

    Mobile sitemerupakan DRC yang mobile, biasanya berupa container yang ditaruh di atas truk, sehingga dapat ber-pindah posisi kapanpun diinginkan.

    Reciprocal sitemerupakan DRC yang menggunakan DC milik organisasi lain melalui perjanjian yang khusus. Dalam hal ini, DC organisasi yang bersangkutan juga digunakan sebagai DRC bagi organisasi lain tersebut.

    Commercially available dedicated/shared sitemerupakan DRC yang khusus disediakan untuk satu organisasi atau digunakan bersama dengan beberapa or-ganisasi lainnya, yang ditawarkan berupa jasa oleh sebuah pemasok penyedia fasilitas DRC.

    Dari kategori operational readiness, opsi-opsinya adalah sebagai berikut: Cold sitemerupakan DRC yang tidak

    dilengkapi dengan sistem cadangan, biasanya hanya merupakan ruangan/ba-ngunan yang telah dilengkapi dengan catudaya, pendingin ruangan, sistem pencegah kebakaran, jaringan infrastruk-tur data dan suara, serta terpasangnya raised floor. Bisa dikatakan cold site adalah DRC yang kosong.

    Warm siteseperti halnya cold site, pada warm site, telah ada beberapa sistem cadangan, namun belum cukup memadai dalam hal kapasitas maupun kapabilitas sistem sehingga jika terjadi bencana, beberapa kegiatan pembelian hardware maupun software tetap harus dilakukan, serta kegiatan lainnya yang terkait dengan kon gurasi sistem.

    Hot sitemerupakan DRC yang memiliki sistem cadangan cukup memadai, per-bedaannya dengan Data Center adalah dalam hal kinerja sistem. Jika Data Center telah menggunakan service level agree-ment yang telah ditentukan, maka DRC hot site ini menggunakan service level yang lebih rendah daripada yang telah ditentukan.

    Mirrored sitemerupakan DRC yang berfungsi sebagai kembaran dari DC.

    Technology

    Gambar 1. Konsep RPO dan RTO serta contoh generik aplikasi terkait.

  • Know-How

    03/200788 KNOW-HOW

    Dalam hal ini, baik DRC maupun DC merupakan fasilitas dan berisi sistem TI yang identik.

    Sedangkan berdasarkan kategori number of alternate sites, opsi-opsinya adalah seba-gai berikut: Single sitehanya terdapat satu DRC

    untuk sebuah DC. Multiple sitesimplementasi DRC yang

    jumlahnya lebih satu untuk sebuah DC.

    DataData merupakan objek pemulihan yang teramat penting, karena pada umumnya perumusan strategi pemulihan banyak berkutat pada bagaimana memulihkan data semutakhir mungkin. Data itu sendiri juga merupakan salah satu aset organisasi yang memiliki nilai bisnis yang sangat signi kan. Sistem cadangan yang terdiri dari hardware dan software boleh berbeda kapasitas serta kapabilitasnya di dalam DRC dengan sistem utama yang ada di dalam DC, namun data apapun yang terjadi harus identik baik di DC maupun DRC. Tingkat identiknya data inilah yang banyak ditentukan dengan menggu-nakan nilai RPO.

    Pemulihan data mencakup empat aspek, yang adalah sebagai berikut: Data back-up frequency. Back-up type. Back-up method. Off-site storage facility.

    Opsi-opsi pemulihan pada aspek data back-up frequency adalah sebagai berikut: Continousdigunakan bila RPO adalah

    0, di mana data secara terus menerus direplikasi ke DRC.

    Dailyback-up data yang dilakukan hari-an.

    Weeklyback-up data yang dilakukan mingguan.

    Monthlyback-up data yang dilakukan bulanan.

    Opsi-opsi pemulihan pada aspek back-up type adalah sebagai berikut: Fullteknik back-up data secara normal,

    di mana semua data yang perlu dicadang-kan akan di-back-up.

    Incrementalteknik back-up di mana data yang di-back-up adalah hanya data

    yang berubah sejak terakhir kalinya dilakukan full back-up atau incremental back-up.

    Differentialteknik back-up di mana data yang di-back-up adalah hanya data yang berubah sejak terakhir kalinya dilakukan full back-up.

    Opsi-opsi pemulihan pada aspek back-upmethode, antara lain sebagai berikut: Tape backupsmetode back-up tradi-

    sional yang menggunakan tape sebagai media penyimpanan.

    Remote journalingmetode back-up yang mengirimkan transaction logs atau journals ke DRC, untuk kemudian di-re-play ke aplikasi atau database terkait.

    Disk shadowingmetode back-up yang secara asynchronous mereplikasi data dari sebuah disk/storage volume ke disk/sto-rage volume lainnya.

    Disk mirroringmetode back-up yang secara synchronous mereplikasi data dari sebuah disk/storage volume ke disk/sto-rage volume lainnya.

    Remote mirroringmetode back-up yang

    secara synchronous mereplikasi data dari DC ke DRC.

    Wide area clusteringmetode back-up yang menggunakan hardware maupun software khusus yang memungkinkan terjadinya automatic failover aplikasi dan database terkait, yang tadinya beroperasi di DC menjadi beroperasi di DRC akibat terjadinya bencana.

    Fasilitas penyimpanan off-site adalah tem-pat yang berada di luar lokasi utama tempat DC, lengkap dengan fasilitas seperti lemari besi, ruangan kedap api, serta fungsi-fungsi keamanan terkait, yang digunakan sebagai tempat penyimpanan back-up data dari hasil cloning data back-up yang dilakukan sehari-hari di DC. Maksud dari cloning di sini adalah, bahwa semua kegiatan back-up di DC selalu diduplikasi ke dua set tape backups yang ber-beda. Set pertama disimpan di DC, sedangkan set kedua disimpan di fasilitas penyimpan off-site.

    Hal lain yang dapat dilakukan dengan ada-nya fasilitas penyimpanan off-site ini adalah sebagai tempat penyimpanan data hasil

    Technology

    Tabel 1. Objek, kategori, serta opsi-opsi strategi pemulihan.

    Know-How

    KNOW-HOW03/2007 89

    Technology

    Syed, Akhtar, Business Continuity Planning Methodology, Sentryx, Ontario, 2003 (www.sentryx.co)

    www.veritas.com

    Lebih Lanjut

    duplikasi berupa system manual, applica-tion manual, users manual, administration manual, installation CDs, dan beberapa hal lainnya dari keseluruhan sistem utama DC.

    Opsi-opsi pemulihan pada aspek fasilitas penyimpanan off-site ini adalah sebagai berikut: Fasilitas penyimpanan off-site komersial. Fasilitas penyimpanan off-site milik organi-

    sasi.

    Desain DRCKembali kepada contoh aplikasi CRM di atas. Setelah semua rumusan strategi ditentukan, termasuk di antaranya juga telah ditentukan-nya tempat atau lokasi di mana DRC bakal dibangun atau ditempatkan, langkah yang lazim dilakukan sesegera mungkin adalah mendesain DRC. Strategi pemulihan yang telah dirumuskan akan menjadi salah satu acuan dan batasan yang penting, karena semua aspek yang akan digunakan dalam proses desain DRC akan berada dalam batasan-batasan yang telah ditentukan dalam strategi pemulihan tersebut.

    Katakanlah solusi wide area clustering untuk menjamin tercapainya nilai 0 untuk RTO aplikasi CRM tadi. Ada banyak hal yang harus dilaku-kan untuk dapat mengimplementasikan solusi ini. Salah satu langkah yang penting dalam hal desain ini adalah ber-interface atau mencari informasi-informasi yang terkait, baik langsung maupun tidak langsung dengan solusi wide area clustering ini. Yang paling mudah adalah mencari produk-produk yang mampu dijadikan solusinya. Ini adalah kegiatan belanja para profesional teknologi informasi, dan meru-pakan kegiatan yang sangat menarik. Pengum-pulan informasi biasanya dilakukan dengan mengadakan riset di Internet serta meng-hubungi representative dari produk-produk tersebut. Kegiatan lain tidak kalah pentingnya adalah mencari business case terkait dengan produk-produk solusi wide area clustering tersebut. Menghubungi organisasi lain yang sudah pernah menggunakan produk-produk tersebut, serta meminta pendapat mereka mengenai kinerjanya adalah kegiatan yang sangat disarankan untuk dilakukan, sebelum sebuah produk benar-benar dipilih dan dibeli.

    Proses desain juga mutlak untuk harus mengacu pada best practice. Sebagai contoh adalah terkait dengan implementasi sistem ke-amanan di DRC. Perlu untuk diketahui, banyak organisasi yang memilih untuk merahasiakan

    lokasi DRC yang mereka bangun agar tidak menjadi sasaran kegiatan terorisme maupun spionase. Salah satu best practice dalam facilitysecurity adalah penerapan double lock system.Di mana setiap area gedung DRC diproteksi dengan adanya instalasi kombinasi security access yang berbeda seperti antara mekanisme ngerscan dan angka PIN. Kombinasi yang ber-beda seperti antara mekanisme card-scan dan ngerscan dapat digunakan lagi untuk akses ke area-area yang lebih secure, seperti Ruang Komputer dan Ruang Telekomunikasi.

    Letak dan Lokasi DRCLetak serta lokasi DRC juga merupakan hal yang sangat krusial untuk dipertimbangkan. Banyak sekali, jika ingin diurutkan, kriteria-kriteria serta persyaratan yang harus dipenuhi terkait dengan pemilihan letak dan lokasi DRC tersebut. Dalam banyak proyek penyusunan DRP serta pembangunan DRC, masalah lokasi dan letak ini sering mendapat perhatian secara khusus. Mengapa? Karena selain nilainya yang strategis bagi bisnis, pembangunan DRC juga memerlukan investasi yang tidak kecil, apalagi jika telah ditentukan lokasi dan letaknya dan setelah dibangun fasilitas siknya, tidak ada lagi opsi untuk membatalkan proses pem-bangunannya akibat adanya kesalahan dalam proses pemilihannya. Karena sifatnya yang seperti inilah, biasanya dalam sebuah proyek DRP, masalah ini selalu ditangani oleh sebuah tim khusus dengan kemampuan untuk men-gakses berbagai informasi seperti data statistik bencana, kondisi sosio-ekonomis, situasi ke-amanan, serta informasi lainnya terkait dengan keberadaan sebuah calon lokasi DRC.

    Beberapa contoh checklist atau kriteria kelayakan sebuah calon lokasi DRC adalah sebagai berikut: Lokasi DRC relatif terhadap lokasi kantor

    polisi, stasiun pemadam kebakaran, rumah sakit, instalasi militer serta pasar/mal, yang dinyatakan dalam satuan waktu (berapa menit/atau jam jarak antara lokasi-lokasi tersebut dengan DRC).

    Identi kasi kemungkinan terjadinya banjir dan gempa di lokasi DRC.

    Identi kasi kemungkinan terjadinya keru-suhan di lokasi DRC.

    Identi kasi kemungkinan terjadinya gang-guan pada pembangkit listrik yang me-masok tenaga listrik ke DRC.

    Letak relatif DRC terhadap keberadaan gunung berapi.

    Dan lain sebagainya.

    Terkait dengan keberadaan layanan out-sourcing fasilitas DRC, setiap organisasi bisnis sebenarnya memiliki opsi lain dari usahanya untuk membangun sendiri DRC mereka. Ke-beradaan layanan outsourcing ini sedikit banyak dapat mempermudah masalah penen-tuan lokasi dan letak DRC. Karena saat ini sudah banyak organisasi bisnis di Indonesia yang menggunakan layanan semacam ini untuk solusi DRC mereka. Dalam banyak hal, opsi ini sangat pantas untuk dipertimbangkan terutama untuk banyak organisasi bisnis yang memilih untuk tidak melakukan investasi property atau capital asset untuk fasilitas DRC. Di samping itu juga, para penyedia layanan ini memang sudah secara profesional serta telah melalui proses yang panjang dalam menentu-kan letak dan lokasi fasilitas DRC mereka.

    PenutupMemilih strategi mana yang tepat untuk di-implementasikan berdasarkan nilai-nilai RPO dan RTO, bukanlah satu-satunya kegiatan dalam merumuskan strategi pemulihan. Dari sedikit banyak penjelasan mengenai objek-objek serta opsi-opsi pemulihan di atas, ada banyak hal yang harus diputuskan bukan semata-mata dari nilai-nilai RPO dan RTO saja. Kemudahan operasional, rendahnya biaya, serta terjaminnya mutu dan kualitas sebuah opsi pemulihan menjadi faktor-faktor penting lainnya yang harus juga mendapat perhatian khusus.

    Satu hal yang juga sangat penting dilaku-kan adalah melibatkan pihak bisnis, sebagai user dan customer dari layanan TI sebuah or-ganisasi, dalam proses perumusan strategi ini. Sistem bisnis dan aplikasi yang memiliki nilai RPO dan RTO 0 atau mendekati 0, biasanya harus menggunakan beberapa strategi pemu-lihan yang solusinya tidak murah. Keputusan penggunaan atau penerapan solusi-solusi tersebut harus mutlak mendapatkan persetu-juan dari pihak-pihak bisnis, sehingga validitas dari strategi pemulihan yang dirumuskan tersebut tinggi.

  • Know-How

    03/200790 KNOW-HOW

    Dengan System Configuration Utility(Mscon g.exe), Anda bisa mengubah cara Windows XP dijalankan dengan men-disable program dan service startup. Sebagai contoh, pada komputer x86 Anda bisa meng-gunakan tool ini untuk men-disable aplikasi startup 16-bit pada Win.ini dan System.ini. Anda harus masuk sebagai administrator atau anggota grup Administrators untuk mengubah atau mengembalikan setting dengan System Con guration Utility.

    Untuk mengubah opsi dengan meng-gunakan System Con guration Utility, pada kotak dialog Run, ketik mscon g. Pada kotak dialog System Con guration Utility, klik salah satu tab, dan kemudian enable atau disable opsi yang tersedia dengan menghilangkan atau memberi tanda centang (). Menye-derhanakan kon gurasi sistem merupakan bagian penting dari troubleshooting. Untuk informasi lebih lanjut tentang penggunaan System Con guration Utility, klik Tools pada Help and Support Center.

    SysteminfoSysteminfo (Systeminfo.exe) merupakan com-mand-line tool yang menampilkan informasi kon gurasi komputer. Anda bisa menggu-nakan tool ini untuk mengumpulkan informasi buat troubleshooting, seperti versi rmwaredan update software yang terinstalasi.

    Tool ini terpisah dari tool System Informa-tion (Msinfo32.exe) yang menggunakan inter-face gra s, tetapi menyediakan informasi yang sama. Untuk menjalankan Systemino, ketik systeminfo pada command prompt. Untuk in-

    formasi lebih lanjut tentang Systeminfo.exe, klik Tools pada Help and Support Center.

    System InformationSystem Information (Msinfo32.exe) me-nampilkan informasi kon gurasi yang bisa membantu Anda dalam mendiagnosis dan troubleshooting masalah. Untuk menjalan-kan System Information, pada kotak dialog Run, jalankan msinfo32. Untuk menyimpan data System Information ke dalam le teks, jalankan System Information.

    Pada menu File, klik Export, dan kemudian ketik nama le. Untuk mencetak informasi, pada menu File, klik Print. Data System Information merupakan catatan penting dari kon gurasi dasar komputer Anda yang bisa digunakan untuk troubleshooting.

    Tool Aplikasi dan Service

    Masuk ke bagian terakhir dari artikel ini, kita akan lihat sisa tool aplikasi yang service yang bisa digunakan untuk troubleshooting.

    Gunung Sarjono

    Bagian 3 dari 3 Artikel

    Host Name: DOLOKSARIBUOS Name: Microsoft Windows XP ProfessionalOS Version: 5.1.2600 Service Pack 2 Build 2600OS Manufacturer: Microsoft CorporationOS Configuration: Standalone WorkstationOS Build Type: Uniprocessor FreeRegistered Owner: meRegistered Organization: privateOriginal Install Date: 9/24/2006, 8:50:44 PMSystem Up Time: 1 Days, 2 Hours, 22 Minutes, 33

    SecondsSystem Manufacturer: Hewlett-PackardSystem Model: Presario M2000 (PY884PA#UUF)System type: X86-based PCProcessor(s): 1 Processor(s) Installed. [01]: x86 Family 6 Model 13

    Stepping 8 GenuineIntel ~ 1396 MhzBIOS Version: HP - 20040708Windows Directory: C:\WINDOWSSystem Directory: C:\WINDOWS\system32Boot Device: \Device\HarddiskVolume1System Locale: en-us;English (United States)Input Locale: en-us;English (United States)Time Zone: (GMT+07:00) Bangkok, Hanoi,

    JakartaTotal Physical Memory: 502 MBAvailable Physical Memory: 185 MBVirtual Memory: Max Size: 2,048 MBVirtual Memory: Available: 2,008 MBVirtual Memory: In Use: 40 MB Page File Location(s): C:\pagefile.sysDomain: WORKGROUPLogon Server: \\DOLOKSARIBUHotfix(s): 123 Hotfix(s) Installed.

    Contoh output Systeminfo.

    Windows XP

    IKLAN

  • Know-How

    03/200792 KNOW-HOW

    Task KillTask Kill (Tskill.exe) merupakan command-line tool yang digunakan untuk menghen-tikan satu atau beberapa proses. Anda bisa menghentikan proses dengan memberikan parameter ke Tskill.exe yang berisi processindenti er (PID) atau nama proses, se pertijudul jendela utama aplikasi. Anda bisa mengetahui nama proses dan PID dengan menggunakan Task List (Tasklist.exe).

    Gunakan Task Kill untuk troubleshootingpada waktu Anda menduga ada service atau aplikasi yang bermasalah yang tidak memberikan respon atau menyedot resourcesistem dalam jumlah besar sehingga bisa mempengaruhi performa sistem. Gejala yang biasa terjadi adalah performa yang lambat, tampilan layar yang lama di-refresh, respon jaringan yang tertunda, atau respon yang lambat atas input keyboard dan mouse.

    Anda bisa menggunakan Task Kill untuk menghentikan proses dengan mengirim perintah kepada proses untuk menghen-tikan dirinya sendiri atau memaksa proses untuk berhenti. Task Kill berguna untuk menghentikan suatu task jika Task Manager tidak ada atau pada waktu Anda terhubung ke komputer dengan menggunakan Telnet. Untuk informati lebih lanjut tentang Task Kill atau Task List, klik Tools pada Help and Support Center.

    Task ListTask List merupakan command-line tool (Tasklist.exe) untuk melihat daftar proses yang sedang berjalan pada komputer lokal. Task List menampilkan nama dan process identi er (PID) setiap proses. Anda bisa menghentikan

    Image Name PID Session Name Session# Mem Usage================= ====== ================ ======== ============System Idle Process 0 Console 0 28 KSystem 4 Console 0 236 Ksmss.exe 908 Console 0 388 Kcsrss.exe 1000 Console 0 3,912 Kwinlogon.exe 1028 Console 0 3,924 Kservices.exe 1072 Console 0 4,088 Klsass.exe 1084 Console 0 1,416 Ksvchost.exe 1240 Console 0 4,660 Ksvchost.exe 1308 Console 0 4,244 Ksvchost.exe 1348 Console 0 20,624 Ksvchost.exe 1408 Console 0 2,840 Ksvchost.exe 1528 Console 0 4,416 KccSetMgr.exe 1828 Console 0 4,040 KccEvtMgr.exe 1856 Console 0 2,708 Kbrsvc01a.exe 1992 Console 0 1,176 Kbrss01a.exe 2012 Console 0 1,624 Kspoolsv.exe 2020 Console 0 5,164 Kexplorer.exe 592 Console 0 32,508 KDefWatch.exe 672 Console 0 1,712 Ksvchost.exe 772 Console 0 4,088 KRtvscan.exe 784 Console 0 33,604 Kwdfmgr.exe 856 Console 0 1,696 Khkcmd.exe 1388 Console 0 3,636 KccApp.exe 1576 Console 0 6,140 KVPTray.exe 1656 Console 0 5,744 Kalg.exe 1736 Console 0 3,416 KYmsgr_tray.exe 2176 Console 0 4,316 KWINWORD.EXE 2640 Console 0 37,604 KIEXPLORE.EXE 3124 Console 0 35,720 Kcmd.exe 2312 Console 0 2,572 Ktasklist.exe 2320 Console 0 4,308 Kwmiprvse.exe 1880 Console 0 5,560 K

    Contoh output Task List.

    System Con guration Utility.Pesan di atas akan muncul jika mengubah setting startup dengan System Con guration Utility.

    Windows XPKnow-How

    KNOW-HOW03/2007 93

    Windows XP

    System Con guration Utility menyediakan beberapa tab kon gurasi yang memungkinkan Anda untuk meng-enable atau disable service sistem dan aplikasi startup.

    GeneralMemungkinkan Anda untuk menjalankan Windows XP pada mode Normal, Diagnostic, atau Selective Startup. Dengan Diagnostic Startup, Windows XP berjalan dalam safe mode dengan driver atau service dasar saja. Pada waktu Anda memilih opsi Diagnostic Startup, System Con guration Utility mematikan sebagian besar service, dan Anda tidak bisa menjalankan tool Computer Management dan Control Panel tertentu.

    Untuk menggunakan tool tersebut, pilih Selective Startup, kemudian enable service berikut pada tab Services: Cryptographic Services, Event Log, Logical Disk Manager, Help and Support, Plug and Play, Remote Procedure Call (RPC), System Restore Service, Windows Management Instrumentation.

    Selective Startup memungkinkan Anda untuk meng-enable atau disable program dan service yang terdapat pada tab SYSTEM.INI, WIN.INI, BOOT.INI, Startup, dan Services. Menghilangkan tanda centang di bawah Selective Startup berarti men-disable semua entri pada tab yang bersangkutan. Anda juga bisa meng-enable atau disable masing-masing entri pada setiap tab.

    WIN.INI dan SYSTEM.INIPada kedua tab ini, Anda bisa menjalankan atau mematikan service dan program startup yang ditujukan untuk Windows

    versi sebelumnya. File systemroot\System.ini dan systemroot\Win.ini tidak diperlukan oleh Windows XP dan kedua le tersebut dipertahankan hanya untuk menjaga kompatibilitas dengan software lama yang tidak menggunakan registry untuk menyimpan setting. File System.ini digunakan untuk menjalankan dan menyimpan informasi untuk driver dan service; Win.ini menjalankan dan menyimpan informasi untuk aplikasi.

    BOOT.INIPada tab ini Anda bisa mengubah le Boot.ini.

    ServicesPada tab ini, Anda bisa menjalankan atau mematikan suatu service. Dengan meng-enable Hide All Microsoft Services, Anda bisa mengisolasi dan mematikan service pihak ketiga.

    Beberapa aplikasi (seperti program antivirus) berjalan sebagai service. Jika terjadi masalah dengan aplikasi semacam ini, Anda mungkin tidak bisa menjalankan Windows XP dalam normal mode. Anda bisa menggunakan System Con guration Utility untuk mematikan suatu service dan memveri kasi apakah menyebabkan masalah.

    StartupAnda bisa menjalankan atau mematikan program startup pada tab ini. Jika Anda mengubah setting startup dengan System Con guration Utility, maka akan muncul pesan pada waktu berikutnya Anda masuk ke sistem.

    System Con guration Utility

    INFORMASI HARDWARE RESOURCES RESOURCE DESKRIPSICon icts/Sharing Menyediakan informasi tentang perangkat yang di-share atau kon ik, termasuk beberapa jenis bus seperti

    Industry Standard Architecture (ISA), Peripheral Component Interconnect (PCI), Small Computer System Interface (SCSI), dan PC Card atau Personal Computer Memory Card International Association (PCMCIA). Resource yang di-share belum tentu kon ik. Sebagai contoh, perangkat PCI bisa berbagi IRQ.

    DMA Melaporkan DMA channel yang digunakan, perangkat yang menggunakan mereka, dan channel yang bisa digunakan.

    Forced Hardware Menampilkan perangkat yang menggunakan resource yang diberikan secara manual, bukan yang diberikan oleh Windows XP. Informasi ini berguna untuk troubleshooting kon ik resource Plug and Play.

    I/O Menampilkan semua range port input