Sabtu, 05 Juni 2010

Pengujian Object Oriented

Object Oriented Programming (OOP) dapat diartikan beberapa macam antara lain :
- Suatu teknik atau cara untuk membuat program (perangkat lunak) objek.

- Pemrograman yang dibangun dengan cara membungkus (enkapsulasi) komponennya menjadi kelompok data dan fungsi yang dapat mewarisi atribut dan sifat dari komponen lainnya. dan komponen – komponen tersebut dapat berinteraksi satu sama lainnya.

- Pemrograman yang didasarkan pada objek-objek, yaitu suatu unit terkecil dari program yang mengandung data dan fungsi yang bekerja atas objek tersebut.

Perangkat lunak objek merupakan perangkat lunak yang dibangun dari kelas-kelas dan objek-objek yang saling berinteraksi satu sama lainnya. Kelas adalah deskripsi statis dari sesuatu objek-objek yang memiliki karakteristik yang sama. Objek adalah sesuatu yang diinstansiasi dari kelas.

Karakteristik OOP antara lain :

- Abstraksi = Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti.

- Enkapsulasi (Pembungkusan) = adalah Variabel dan method dibungkus dalam suatu objek dibungkus agar terlindungi. Dimana Setelah dibungkus, barulah hak akses terhadapnya bisa ditentukan. salah satu contohnya adalah jam tangan. Ini juga penjelasan yang paling mudah dipahami. Taukan fungsi jam? betul, buat nunjukin waktu. Pas beli jam tangan kita hanya memilih tampilan dan kualitas yang bagus, itu yang terpenting. Masa bodo dengan cara mesin rangkaian digital yang bekerja di dalam jam itu. Gimana ngertikan konsep enkapsulasi? intinya kita hanya perlu tau apa kegunaannya, gimana cara memakainya dan hasilnya apa.

- Inheritance (Pewarisan/Penurunan) = adalah suatu metode pemrograman yang berbasiskan pada objek, secara singkat pengertian dari OOP adalah koleksi objek yang saling berinteraksi dan saling memberikan informasi satu dengan yang lainnya. Dalam Object Oriented terdapat istilah Objek dan kelas yaituObjekObjek adalah sesuatu yang memiliki identitas (informasi tentang dirinya) dan tingkah laku (apa yang dapat dilakukan) contoh objek dalam dunia nyata adalah rumah, sepeda, motor, manusia, hewan dll. Identitas dari suatu objek adalah informasi tentang dirinnya sebagai contoh adalah objek Hewan memiliki indentas berupa nama, jenis, tangan, kaki, mata dll, tingkah laku dari objek hewan adalah berjalan, berlari, tidur dll. Contoh lain adalah tentang jam tangan. Dulu fungsi jam tangan hanya sebagai penunjuk waktu saja, tapi sekarang fungsinya sudah nambah, dari yang bisa nampilin tanggal sampe kalender. Inheritance Jadi, dengan inheriten semua perubahan itu gak ngerubah bulat-bulat objek yang ada, tetapi hanya menambah dan memodifikasi dengan mempertahankan objek (class) awalnya.

- Polymorphism = adalah objek yang memiliki banyak bentuk.. bahasa pemrogramman yang berorientasi objek sejati harus bisa konsisten terhadap sifat yang ada dan telah dideskripsikan diawal ketika program dan data tersebut dibuat di JAVA sifat polimorfisme ini bisa dilihat pada perilaku method, dimana method di JAVA bisa di override… istilah kerennya overridding method analoginya seperti class anjing misalnya dia punya method smell… maka parameter yang diberikan oleh kepada method smell ini bisa berbeda… misalnya saya memberikan parameter kucing pada method smell di class anjing… maka method smell akan memberikan pengembalian menggonggong…. Sedangkan ketika saya memberikan parameter makanan pada method smell di class anjing… maka method smell akan memberikan pengembalian makan…

Penerapan di JAVA :

class variable1 {

int x;

int y;

varible1 (int x, int y) { //method dengan parameter list

this.x = x;

this.y = y;

}

variable1 () { //method tanpa parameter list

x = 1;

y = 1;

}

class variableview {

public static void main (String args []){

varable1 a = new variable1 ();

System.out.println(“x=” + a.x + “y=” + a.y);

}

}

Hasil yang akan ditampilkan ketika program diatas dijalankan adalah x = 1 dan y = 1 karena program ini membuktikan sifat polimorfisme yang ada di JAVA… class variableview memanggil method variable1 tanpa parameter… sehingga nilai yang dikembalikan adalah nilai yang ada dimana nilai tersebut berada di method yang tidak memiliki parameter list…

- Reusability = Supaya dapat dipakai dalam banyak aplikasi dan situasi –supaya tidak perlu lagi mengimplementasi ulang, walaupun hanya ada perbedaan sedikit saja dari yang sudah dikerjakan sebelumnya

- Komunikasi antar Objek

Macam-macam bahasa OOP antara lain :
- Bahasa OOP Murni adalah bahasa yang mengharuskan program betul-betul ditulis dari objek-objek saja. Contoh: Eiffel, SmallTalk, Java.
- Bahasa OOP Hybrid adalah bahasa yang masih memungkinkan penulisan program mencampuradukkan objek dengan fungsi dan type lainnya di luar objek. Contoh: C++, PHP, Delphi

Mengapa OOP dibutuhkan ?
- Sudut pandang pembuatan program selaras dengan realitas dunia nyata.
- Kemudahan pengembangan.
Analisis ke desain ke implementasi ke pengujian ke perawatan
- Kecepatan pengembangan.
- Peningkatan produktivitas.

Dalam pengujian berorientasi objek, unit terkecil adalah objek dan class, sistem merupakan sekumpulan komunikasi-komunikasi antar objek. Class sering dirancang untuk menerima urutan pesan-pesan tertentu yang mengakibatkan respon class terhadap pesan-pesan tersebut menjadi berbeda-beda Hal ini selanjutnya disebut dengan perilaku (behavior) class. Perilaku tersebut dapat dikendalikan dengan nilai yang ter-enkapsulasi, urutan pesan atau keduanya.
Pengujian Perangkat Lunak Berorientasi Objek
Pengujian adalah suatu proses pengeksekusian program yang bertujuan untuk menemukan kesalahan (Berard, 1994). Pengujian sebaiknya menemukan kesalahan yang tidak disengaja dan pengujian dinyatakan sukses jika berhasil memperbaiki kesalahan tersebut. Selain itu, pengujian juga bertujuan untuk menunjukkan kesesuaian fungsi-fungsi perangkat lunak dengan spesifikasinya.
Pengujian dapat dikategorikan atas :
1. Pengujian terhadap proses pengembangan sistem dan dokumendokumen pendukung. Proses berarti sejumlah aktivitas yang didukung oleh dokumen yang mendeskripsikan aktivitas-aktivitas.
2. Pengujian terhadap analisis dan model perancangan. Dalam sistem berorientasi objek, pengujian model analisis dan perancangan adalah hal yang sangat penting.
3. Pengujian secara statik dan dinamik untuk implementasi. Tujuannya adalah mencari kesalahan sedini mungkin dalam proses, tetapi kesalahan dalam kode untuk sistem yang besar dan kompleks tidak dapat dihindarkan. Pengujian statik merupakan inspeksi kode untuk menemukan kesalahan logic. Pengujian dinamik merupakan eksekusi dengan data uji untuk menemukan kesalahan dalam kode.

Perangkat lunak berorientasi objek berbeda dari perangkat lunak procedural (konvensional) dalam hal analisis, perancangan, struktur dan teknik-teknik pengembangannya. Bahasa pemrograman berorientasi objek mempunyai ciri-ciri adanya pembungkusan (encapsulation), keanekaragaman (polymorphism), dan pewarisan (inheritance) yang membutuhkan dukungan pengujian tertentu. Fokus pengujian perangkat lunak berorientasi objek dimulai pada hasil analisisnya, dilanjutkan pada hasil perancangannya, dan diakhir pada hasil pemrogramannya (Rochimah, 1997). Model yang dihasilkan pada analisis dan perancangan harus diperiksa terutama dalam hal :
1. Semantic correctness, yaitu kesesuaian model dengan domain permasalahan di dunia nyata. Jika model merefleksikan dunia nyata secara akurat, berarti model tersebut benar secara semantik, dan
2. Consistency, yaitu kesesuaian kelas dengan objek turunannya maupun kesesuaian asosiasi kelas dengan kelas lainnya.

Model Uji (Test Model)
Berbagai model pengujian perangkat lunak berorientasi objek diusulkan oleh para peneliti. Setiap model mempunyai konstruksi atau aturan yang menjadi dasar dalam langkah-langkah pengujian.

State-Transition Model
Transisi dalam pengujian method (operasi) suatu class menunjukkan konsep perilaku class. Setiap method dalam class mengekspresikan beberapa elemen dari keseluruhan perilaku class. Dalam beberapa metoda perancangan berorientasi objek menggunakan model State-Transition untuk merepresentasikan perilaku class. State (Status) suatu objek adalah kombinasi dari semua nilai atribut. Pada saat tertentu, status bersifat statik.
Untuk model dinamik objek, perlu ditambahkan transisi dari satu status ke status lainnya dan terjadilah suatu aksi. Model ‘transisi-status’ digambarkan dengan grafik, dimana simpul menyatakan status dan busur menyatakan transisi.
Boris Beizer memberikan beberapa aturan untuk pengecekan model “Transisi-status”, yaitu :
a. Verifikasi bahwa status telah merepresentasikan himpunan satus dengan benar;
b. Cel model untuk semua kemungkinan event suatu class, yaitu transisi dari setiap status untuk setiap method dalam class dan cek spesifikasi perancangannya;
c. Cek terhadap ketetapan satu tansisi untuk setiap kombinasi “eventstate”. Lakukan pengecekan, misal dengan representasi matriks sebagai kombinasi kemungkinan status dan event;
d. Cek status yang tidak terjangkau dan status mati, dimana pada status tersebut tidak ada lintasan atau transisi;
e. Cek aksi yang tidak benar(invalid), termasuk method (operasi) yang tidak ada atau method yang tidak sesuai dengan kebutuhan selama transisi.

Model “transisi-status” dapat mencakup keseluruhan perilaku class, sehingga lebih produktif dibanding dengan model lainnya, namun mempunyai beberapa kelemahan yaitu :
1. Karena model dibentuk dari spesifikasi kebutuhan, bukan dari kode, mudah menyebabkan kesalahan sehingga perlu menguji model seperti halnya menguji kode;
2. Karena model mencakup seluruh perilaku class dan superclass-nya, maka model menjadi kompleks. Namun pemakaian “transisi-status” secara hirarki dapat mengurangi kompleksitas tersebut
3. Model perilaku dapat mengakibatkan hilangnya kendali dan data yang salah. Oleh karena itu perlu adanya asumsi yang sama tentang perilaku class yang didasarkan pada kebutuhan dengan asumsi yang dibuat oleh pemrogram.
4.Object Oriented Analysis (OOA) dan Object Oriented Design (OOD)
Object-Oriented Analysis
• Object-oriented analysis adalah suatu metoda analisis yang memeriksa syarat-syarat dari sudut pandang kelas-kelas dan objek-objek yang ditemui pada ruang lingkup permasalahan.
• Mendefinisikan kebutuhan-kebutuhan sistem melalui skenario atau penggunaan kasus-kasus.
• Kemudian, membuat suatu model obyek dengan kemampuan memenuhi kebutuhan-kebutuhan.
• Output: Model kebutuhan-kebutuhan, biasanya menggunakan CRC Cards.
• Memberikan gambaran rinci dari suatu sistem.
• Mengidentifikasi “WHAT” kebutuhan fungsional (Use Cases)
• Identifikasi: objects, classes, operations
• Identifikasi: object relationships, object interations
• Bangun model-model di dunia nyata menggunakan tampilan OO
• Tujuan dari OOA adalah untuk memahami domain masalah dan meningkatkan ketelitian, konsistensi, kelengkapan

Object-Oriented Testing

• Proses ujicoba sistem yang berorientasi objek (object-oriented system) dimulai dengan meninjau ulang analisis dan model desain berorientasi obyeknya (object-oriented analysis and design models).Ketika sebuah program telah dituliskan, object-oriented testing (OOT) dimulai dengan menguji “in the small” dengan class testing (class operations dan collaborations). Ketika class-class tersebut diintegrasikan menjadi sebuah subsistem, maka masalah kolaborasi class akan diketahui. Terakhir, use-cases dari model OOA digunakan untuk menemukan kesalahan validasi software.
• OOT hampir mirip dengan ujicoba software konvensional dalam hal kasus uji yang akan dibangun untuk melatih class-class yang ada dan kolaborasi antar class-nya juga prilakunya.
• OOT berbeda dari ujicoba software konvensional dalam hal penekanan terhadap konsistensi dan kelengkapan penaksiran dari model OOA dan OOD yang telah dibangun.
• OOT cenderung lebih fokus kepada masalah integrasi dari pada unit testing.

Object-Oriented Testing Activities
• Meninjau ulang model OOA dan OOD
• Ujicoba Class setelah penulisan program sumber
• Ujicoba Integrasi dalam subsistems
• Ujicoba Integrasi subsistem yang telah ditambahkan kedalam sistem
• Ujicoba validasi berdasarkan OOA use-cases
Ujicoba Model OOA dan OOD
o OOA dan OOD tidak dapat diujikan tetapi dapat ditinjau ulang untuk ketepatan dan konsistensinya
o Ketepatan dari model OOA dan OOD

o Consistency of OOA and OOD Models
• Menilai model CRC (class- responsibility-collaborator) dan diagram hubungan antar obyek.
• Meninjau desain sistem (memeriksa model perilaku objek untuk memeriksa pemetaan perilaku sistem ke subsystems, meninjau konkuresi dan alokasi tugas, menggunakan skenario use-case untuk memeriksa desain antarmuka pengguna)
• Model Obyek test terhadap jaringan relasi objek untuk memastikan bahwa semua desain objek berisi atribut dan operasi yang diperlukan untuk melaksanakan kolaborasi yang ditetapkan untuk setiap kartu CRC.
• Periksa rincian spesifikasi algoritma yang digunakan untuk melaksanakan operasi konvensional menggunakan teknik inspeksi

Strategi Ujicoba Berorientasi Objek (Object-Oriented Testing Strategies)
o Unit testing dalam konteks OO
• Unit terkecil yang diujikan adalah enkapsulasi class atau objek
• Hampir serupa dengan ujicoba sistem pada software konvensional
• Tidak menguji operasi dalam isolasinya dengan operasi yang lain
• Dijalankan oleh operasi class dan perilaku tetap, bukan detail algoritmik dan aliran data yang melintasi antar interface modul
• Ujicoba lengkap keseluruhan class meliputi :
- Menguji seluruh operasi yang berhubungan dengan objek
- Mengatur dan interogasi semua atribut obyek
- Melatih objek dalam semua kemungkinan
• Mendesain ujicoba untuk class dengan menggunakan metode yang benar
– Ujicoba berbasis kesalahan (fault-based testing)
- Ujicoba acak (random testing)
- Ujicoba Partisi (partition testing)
• Setiap metode-metode ini akan melatih operasi yang dienkapsulapsi oleh class
• Urutan ujicoba didesain untuk memastikan bahwa operasi yang relevan telah diujicobakan
• Posisi tetap suatu class (Nilai atributnya) di uji untuk menentukan apakah terdapat kesalahan

 Integration testing dalam konteks OO
• difokuskan pada kelompok-kelompok kelas yang berkolaborasi atau berkomunikasi dalam beberapa cara.
• Integrasi operasi satu per satu ke dalam kelas sering sia-sia
• Ujicoba berbasis thread (uji semua kelas yang dibutuhkan untuk merespon ke satu masukan atau event sistem)
• Pengujian berbasis Kegunaan (dimulai dengan uji independen oleh kelas pertama dan kelaskelas yang tergantung yang menggunakannya)
• Pengujian cluster (kerjasama kelompok kelas yang diuji untuk interaksi kesalahan)
• Pengujian regresi adalah penting karena setiap thread, cluster, atau subsistem yang ditambahkan pada sistem
• Tingkat integrasi yang lebih sedikit berbeda dalam sistem berorientasi objek

 Validation testing dalam konteks OO
• Berfokus pada tindakan pengguna yang terlihat dan pengguna dapat mengenali output dari sistem
• tes validasi didasarkan pada skenario use-case, model perilaku objek, dan diagram alur event dibuat dalam model OOA
• Pengujian Black box konvensional dapat digunakan untuk mendorong tes validasi

Test Case Design untuk software OO
 Setiap kasus uji harus dapat diidentifikassikan secara unik dan secara eksplisit dihubungkan dengan class yang akan diujikan
 Tetapkan kegunaan dari setiap ujicoba
 Tuliskan langkah-langkah ujicoba untuk setiap ujicoba yang disertakan, diantaranya:
• Tuliskan tahapan ujicoba untuk setiap objek yang disertakan dalam ujicoba
• Tuliskan pesan-pesan dan operasi yang dijalankan sebagai konsekuensi dari ujicoba ini
• Tuliskan eksepsi yang muncul ketika suatu objek di ujicoba
• Tuliskan kondisi eksternal yang memerlukan perubahan untuk ujicoba tersebut
• Informasi tambahan lainnya yang diperlukan untuk memahami atau mengimplementasikan ujicoba tersebut.
 Ujicoba Struktur permukaan dan Struktur Dalam (Testing Surface Structure and Deep Structure)
• Ujicoba struktur permukaan (Testing surface structure) yaitu melatih struktur yang tampak oleh pengguna akhir, sering kali melibatkan pengamatan dan mewawancarai pengguna karena mereka memanipulasi objek sistem
• Ujicoba struktur dalam (Testing deep structure) yaitu melatih struktur program internal, seperti ketergantungan, perilaku, dan mekanisme komunikasi yang ada sebagai bagian dari sistem dan desain objek.

Metode Testing yang Dapat diaplikasikan pada Tingkatan Class (Testing Methods Applicable at The Class Level)
 Random testing – memerlukan sejumlah besar permutasi dan kombinasi data, dan dapat menjadi tidak efisien
o Identifikasikan operasi yang mungkin pada class
o Definisikan batasan penggunaannya
o Identifikasikan urutan ujicoba minimum
o Buatlah beberapa variasi urutan ujicoba random

 Partition testing – Menghilangkan sejumlah kasus uji yang dibutuhkan untuk menguji sebuah
class
o state-based partitioning – ujicoba didesain dalam suatu cara sehingga operasi yang menyebabkan perubahan state diujikan secara terpisah dari yang tidak.
o attribute-based partitioning – untuk setiap atribut class, operasi diklasifikasikan berdasarkan pengguna atribut tersebut, yang memodifikasi atribut dan yang tidak menggunakan atau memodifikasi atribut
o category-based partitioning – operasi dikategorikan berdasarkan fungsi yang dilakukannya, seperti : inisialisasi, komputassi, query, terminasi

 Fault-based testing
• Terbaik untuk operasi dan tingkatan class
• Menggunakan struktur pewarisan
• Pengujian memeriksa model OOA dan menghipotesis sekumpulan kerusakan yang dipahami yang mungkin terjadi dalam pemanggilan operasi dan sambungan pesan, dan membangun kasus uji yang sesuai
• Menemukan spesifikasi yang tidak tepat dan kesalahan dalam interaksi subsistem

Inter-Class Test Case Design
• Desain kasus uji menjadi lebih rumit seperti halnya integrasi dari dimulainya sistem OO – menguji kolaborasi antar class
• Ujicoba class yang beragam, seperti :
- Untuk setiap class client menggunakan daftar operator classs untuk men-generate urutan ujicoba random yang mengirimkan pesan ke server class yang lain
- Untuk setiap pesan yang di-generate, tentukan class kolaborator dan operator server object yang ditunjuk
- Untuk setiap operator server class (dimohon oleh pesan dari client object) tentukan pesan yang dikirimkan
- Untuk setiap pesan, tentukan tingkatan operator berikutkan yang memohon dan menggabungkannya kedalam urutan ujicoba
• Ujicoba yang dihasilkan dari model perilaku
- gunakan state transition diagram (STD) sebagai model yang merepresentasikan perilaku dinamis dari suatu class.
- Kasus uji harus mencakkup seluruh tahapan STD
- breadth first traversal dari state model dapat digunakan (uji satu transisi dalam satu waktu dan hanya membuat kegunaan daari transisi yang diujikan sebelumnya ketika mengujikan transisi yang baru)
- Kassus uji juga dapat dihasilkan untuk memastikan bahwa seluruh perilaku untuk class telah diujikan dengan benar

Testing Methods Applicable at Inter-Class Level
 Cluster Testing
• Menitikberatkan pada pengintegrasian dan menguji kelompok objek yang bekerja sama
• Mengidentifikasi kelompok dengan menggunakan pengetahuan tentang pengoperasian objek dan memiliki sistem yang diterapkan oleh kelompok ini.
• Pendekatan Cluster Testing
- Use-case atau ujicoba scenario
o Ujicoba berdasarkan pada interaksi user dengan sistem
o Mempunyai keuntungan bahwa fitur ujicoba sistem seperti yang dialami pengguna.
- Thread testing – menguji respon sistem terhadap event sebagai pemrosesan thread melalui sistem
- Object interaction testing – menguji urutan interaksi objek yang berhenti ketika operasi objek tidak memanggil layanan dari objek lainnya
 Use Case / Scenario-based Testing
• Berdasarkan pada
- use cases
- corresponding sequence diagrams
• Identifikassi skenario dari use-case dan menambahkan hal ini dengan diagram interaksi yang menampilkan objek-objek yang termasuk dalam scenario
• Konsentrasi pada kebutuhan (fungsional) :
- Setiap use case
- Setiap perluasan kombinasi perpanjangan penuh(<>)
- Setiap perluasan kombinasi penggunaan penuh(<>)
- Ujicoba normal seperti perilaku
• Sebuah skenario adalah sebuah alur/path melalui diagram urutan
• Banyak skenario yang berbeda dapat dihubungkan dengan sebuah diagram urutan
• Mengggunakan tugas pengguna yang dideskripsikan dalan use-cases dan membangun kasus uji dari tugas-tugas tersebut dan variasinya
• Menemukan kesalahan yang muncul ketika pengguna berinteraksi dengan software OO
• Konsentrasi pada apa yang dilakukan oleh fungsinya, bukan apa yang dilakukan oleh produknya
• Dapat memperoleh nilai kembali yang lebih besar atas usaha dan waktu lebih yang dikeluarkan dalam meninjau ulang use-cases semenjak mereka dibuat, dari pada membuang waktu untuk uji coba use-case

OO Test Design Issues
 Metode White-box testing dapat diaplikasikan pada ujicoba kegunaan program untuk
mengimplementasi operasi class tetapi tidak untuk lainnya
 Metode Black-box testing method sangat tepat untuk ujicoba sistem OO
 Object-oriented programming menyebabkan kebutuhan tambahan untuk ujicoba, berupa :
• class dapat mengandung operasi yang diturunkan dari super classes
• subclass dapat mengandung operasi yang didefinisikan ulang daripada diturunkan
• seluruh class dihasilkan dari ujicoba class dasar sebelumnya memerlukan ujicoba lanjutan

sumber :


http://ayuliana_st.staff.gunadarma.ac.id/Downloads/folder/0.1

id.wikipedia.org/wiki/Pemrograman_berorientasi_objek

Read Full Post

Senin, 31 Mei 2010

Pemeliharaan Sistem

Macam-Macam Jenis Pemeliharaan Sistem

Pemeliharaan Sistem dapat digolongkan empat jenis :
* Pemeliharaan Korektif
* Pemeliharaan Adaptif
* Pemeliharaan Perfektif (Penyempurnaan)
* Pemeliharaan Preventif

Pemeliharaan Korektif
Pemeliharaan Korektif adalah sebuah bagian dari pemeliharaan sistem yang nilainya tidak terlalu tinggi nilainya serta lebih memberatkan, dikarenakan pemeriksaan korektif ini mengkoreksi kesalahan yang telah ditemukan pada saat sistem berjalan. Bisanya pemeliharaan ini melingkupi kondisi penting / bahaya yang memerlukan penanganan secepatnya.

Pemeliharaan Adaptif
Pemeliharaan Adaptif adalah cara penyesuaian diri sistem karena perubahan dalam lingkungan data / pemrosesan serta untuk memenuhi persyaratan pemakai baru. Misalnya : Sebuah undang - undang perpajakan yang baru mungkin memerlukan suatu perubahan dalam perhitungan pembayarannya.

Pemeliharaan Perfektif (Penyempurnaan)
Pemeliharaan Perfektif meninggikan kinerja / maintainability sistem (kemampuan) untuk dipelihara. Pada pemeliharaan ini Memungkinkan sebuah sistem untuk melakukan pemenuhan persyaratan pemakai yang sebelumnya tidak di kenali. Contoh : kegiatan ini seperti menyusun ulang software, penulisan ulang dokumen, perubahan format laporan, dll.

Pemeliharaan Preventif
Pemeliharaan Preventif adalah inspeksi periodik atau perombakan secara total atau melakukan pemeriksaan sistem guna mengantisipasi permasalahan. Dikarenakan penemuan kesalahan yang potenial (bukan kesalahan fatal) sehingga bila tidak diantisipasi akan berakibat buruk pada sistem tersebut.

Siklus Hidup Pemeliharaan Sistem (SMLC)

Tahapan SMLC :

  • Memahami Permintaan Pemeliharaan
  • Mentransformasi permintaan pemeliharaan menjadi pengubahan
  • Menspesifikasi perubahan
  • Mengembangkan perubahan
  • Menguji perubahan
  • Melatih pengguna dan melakukan test penerimaan
  • Pengkonversian dan meluncurkan operasi
  • Mengupdate Dokumen
  • Melakukan pemeriksaan Pasca implementasi

Maintainability (Kemampuan pemeliharaan sistem)

Prosedur untuk peningkatan maintainability :

  • Menerapkan SDLC dan SWDLC
  • Menspesifikasi definisi data standar
  • Menggunakan bahasa pemrograman standart
  • Merancang modul-modul yang terstruktur dengan baik
  • Mempekerjakan modul yang dapat digunakan kembali
  • Mempersiapkan dokumentasi yang jelas, terbaru dan komprehensif
  • Menginstall perangkat lunak, dokumentasi dan soal-soal test di dalam sentral repositor sistem CASE atau CMS (change management system)

Tiga pendekatan untuk menyusun Pemeliharaan sistem :

  • Pendekatan Pemisahan à Pemeliharaan dan Pemeliharaan
  • Pendekatan Gabungan à Menggabungkan personalia penyusun dan pemelihara menjadi sebuah kelompok utama sistem informasi
  • Pendekatan Fungsional à Variasi dari pendekatan gabungan dengan memindahkan tenaga profesional sistem dari sistem informasi dan menugasi mereka pada fungsi bisnis untuk penyusunan maupun pemeliharaan.

Ada 5 CASE Tools yang membantu pemeliharaan sistem dari sistem lama dan membantu memecahkan kemacetan timbunan sistem baru yang belum dikerjakan :

  • Rekayasa Maju (Forward engineering)
  • Rekayasa Mundur (Reverse engineering)
  • Rekayasa Ulang (Reengineering)
  • Restrukturisasi (restrukturing)
  • Sistem Pakar Pemeliharaan (Maintenance expert system)

Mengelola Pemeliharaan Sistem

  • Menetapkan Kegiatan Pemeliharaan Sistem
  • Mengawali dan merekam kegiatan pemeliharaan sistem tidak terjadwal (Form Maintenance Work Order : Pekerjaan yang diperlukan/dilakukan, waktu yang diperkirakan dibandingkan dengan waktu yang sebenarnya, kode pemeliharaan, biaya pemeliharaan)
  • Menggunakan sistem perangkat lunak helpdesk
  • Mengevaluasi aktivitas pemeliharaan sistem
  • Mengoptimalkan program pemeliharaan sistem


Resiko apa saja yang CMS hindarkan ?

  • Kekurangan inventaris program perangkat lunak yang akurat dan sumber-sumber sistem informasi lainnya.
  • Ketidak lengkapan sejarah perubahan program
  • Modul-modul program perangkat lunak terduplikasi
  • Perubahan program perangkat lunak yang tidak sah
  • Kekurangan dokumentasi yang jelas, komprehensif dan terbaru
  • Rendahnya kualitas dan reabilitas perangkat lunak

Read Full Post

Senin, 24 Mei 2010

Macam - macam metode pelatihan implementasi sistem

Metode pelatihan adalah proses untuk melatih pengguna dalam penggunaan proses bisnis baru dan fitur serta fungsi sistem baru dengan tujuan pengembangan kompetensi untuk menjamin keberhasilan operasional sistem baru. alur atau tata cara untuk menjelaskan mengapa metode pelatihan harus dipilih dengan hati-hati agar sesuai dengan tujuan dari satu sesi dan sesuai dengan profil pelatihan. Metoda pelatihan ini meliputi beberapa bagian seperti :


> Resident expert adalah sebuah pelatihan yang membutuhkan tenaga ahli pada suatu bidang.


> Computer-aided instruction adalah suatu tehnik pelatihan yang menggunakan instruksi-instruksi terprogram untuk melakukan suatu pelatihan perancangan dan perekaan dengan dibantu oleh computer dengan sistem yang terkomputansi.


> Formal courses adalah pelatihan yang dilakukan dengan cara formal yang mencakup muatan proses pembelajaran yang bersifat teori dan diskusi yang dilaksanakan didalam sebuah pelatihan secara formal untuk beberapa orang sekaligus.


> Software help components adalah sebuah perangkat lunak yang membantu mengeksekusi instruksi dalam sebuah program kemudian membantu mengambil bentuk instruksi dalam sebuah komponen. Komponen terpadu dalam sistem yang dirancang untuk pelatihan dan troubleshooting sistem.


> Tutorials adalah layanan bantuan dalam sebuah pembelajaran untuk membantu kelancaran proses dalam sebuah pelatihan. berisi petunjuk dan latihan untuk pengajaran dan pengembangan kompetensi pengguna dalam penggunaan sistem. Petunjuk latihan dan tutorial ini dapat dilengkapi oleh basis data yang menggunakan data riil.


> Interactive training manuals adalah bentuk kombinasi antara pelatihan tutorials dan Computer-aided instruction.


> External sources, such as vendors adalah vendor penyedia jasa pelatihan kursus dan bentuk pelatihan lain.

White Box Testing

Pengujian white box (glass box) adalah pengujian yang didasarkan pada pengecekan terhadap detil perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Penentuan kasus uji disesuaikan dengan struktur system, pengetahuan mengenai program digunakan untuk mengidentifikasikan kasus uji tambahan. Tujuan penggunaan white box untuk menguji semua statement program.

Penggunaan metode pengujian white box dilakukan untuk :
(1) memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali,
(2) menggunakan semua keputusan logis untuk semua kondisi true atau false,
(3) mengeksekusi semua perulangan pada batasan nilai dan operasional pada setiap kondisi., dan
(4) menggunakan struktur data internal untuk menjamin validitas
jalur keputusan.


Black Box Testing
Pengujian black box merupakan pendekatan komplementer dari teknik white box, karena pengujian black box diharapkan mampu mengungkap kelas kesalahan yang lebih luas dibandingkan teknik white box. Pengujian black box berfokus pada pengujian persyaratan fungsional perangkat lunak, untuk mendapatkan serangkaian kondisi input yang sesuai dengan persyaratan fungsional suatu program.

Yang Bertanggung Jawab

Teknisi dan System Administrator adalah seseorang yang harus memelihara (maintain) sistem komputer yang berbeda pengoperasian dan penanganannya beserta sarana pendukungnya.
Supervisor / direct personal adalah jabatan yang sangat strategis dalam suatu organisasi. Ia memiliki peran ganda. Di satu sisi ia adalah pemimpin yang harus membimbing, memotivasi dan mengendalikan karyawan. Di sisi lain, ia adalah wakil manajemen yang harus mempertanggungjawabkan semua tugas yang diberikan pada bagiannya. Karena itulah, seorang supervisor dituntut bukan hanya menguasai keterampilan teknis, tetapi juga keterampilan hubungan antar manusia. Training ini akan memberikan pengetahuan dan pedoman para supervisor dalam melaksanakan tugasnya.
General Manager atau Manajer umum adalah manajer yang memiliki tanggung jawab seluruh bagian / fungsional pada suatu perusahaan atau organisasi. Manajer umum memimpin beberapa unit bidang fungsi pekerjaan yang mengepalai beberapa atau seluruh manajer fungsional. Pada perusahaan yang berskala kecil mungkin cukup diperlukan satu orang manajer umum, sedangkan pada perusahaan atau organisasi yang berkaliber besar biasanya memiliki beberapa orang manajer umum yang bertanggung-jawab pada area tugas yang berbeda-beda.

Read Full Post

Selasa, 11 Mei 2010

Sertifikasi IT

Perkembangan Teknologi Informasi (Information Technology, IT), khususnya di bidang Internet, memacu kebutuhan akan sumber daya manusia yang handal. Namun sumber daya manusia ini tidak dapat dipenuhi sehingga timbul krisis sumber daya manusia. Dalam dokumen BHTV, ternyata pada tahun 2010 dibutuhkan sekitar 350.000 tenaga di bidang IT di Indonesia. Angka ini masih kecil jika dibandingkan dengan kubutuhan akan tenaga IT di dunia.

Untuk menghasilkan SDM yang jumlahnya sangat ini dibutuhkan kerjasama antara institusi pendidikan formal (perguruan tinggi, sekolah) dan pendidikan informal (professional training center). Pendidikan formal melalui perguruan tinggi tidak mampu menghasilkan jumlah SDM yang banyak, dan juga kurikulumnya tidak dapat berubah secara cepat mengikuti perkembangan kemajuan teknologi. Padahal, perkembangan dunia IT (khususnya yang terkait Internet) sangat pesat. Oleh sebab itu, lembaga penghasil SDM profesional sangat dibutuhkan.

Bidang IT memiliki rentang bidang yang cukup luas. Latar belakang kebutuhan pendidikan pun bervariasi. Ada perkerjaan yang membutuhkan banyak inovasi dan teori yang membutuhkan latar belakang pendidikan formal di perguruan tinggi. Akan tetapi ada pula bidang IT yang tidak membutuhkan pendidikan perguruan tinggi dan dapat dilakukan oleh lulusan setingkat SMU/SMK, diploma.

Adanya standar kompetensi dibutuhkan untuk memudahkan bagi perusahaan atau institusi untuk menilai kemampuan (skill) calon pegawai atau pegawainya. Adanya inisiatif untuk membuat standar dan sertifikasi sangat dibutuhkan. Namun masih terdapat permasalahan seperti beragamnya standar dan sertifikasi. Sebagai contoh, ada standar dari Australian National Training Authority (lihat bagian referensi). Untuk itu PPAUME ITB beserta APJII mengambil inisiatif untuk membuat sebuah standar sertifikasi di bidang yang terkait dengan Internet.

Standar dan sertifikasi dapat dilakukan oleh badan yang resmi dari pemerintah atau dapat juga mengikuti standar sertifikasi di industri, yang sering juga disebut vendor certification. Untuk contoh yang terakhir (vendor certification), standar industri seperti sertifikat dari Microsoft atau Cisco merupakan standar sertifikasi yang diakui di seluruh dunia. Padahal standar ini dikeluarkan oleh perusahaan, bukan badan sertifikasi pemerintah. Memang pada intinya industrilah yang mengetahui standar yang dibutuhkan dalam kegiatan sehari-harinya.

Standar sertifikasi dari PPAUME & APJII ini bersifat terbuka dan dapat digunakan oleh siapa saja. Analogi yang dapat digunakan adalah mirip dengan TOEFL, dimana banyak kursus dan lembaga yang mengajarkan materi TOEFL akan tetapi hanya ada satu ujian TOEFL. Dalam hal ini hanya ada satu standar ujian sertifikasi PPAUME & APJII.

ada juga Sertifikasi IT menunjukkan para Professional Teknologi Informasi memiliki pengetahuan dan kompetensi yang dapat dibuktikan. Sertifikasi IT memberikan keunggulan bersaing bagi perusahaan, khususnya dalam pasar global karena kemampuan dan pengetahuan Profesional Teknologi Informasi dan Telekomunikasi telah diuji dan didokumentasikan.

Beberapa bidang pekerjaan tertentu mensyaratkan kualifikasi dan kompetensi dalam menjalankan prosesnya. Permasalahannya adalah bagaimana employer dapat mengetahui bahwa SDM yang dicarinya berkualitas tanpa perlu ia membuang waktu dan tenaga untuk menguji satu-persatu calon karyawannya. Agar lebih jelas dibawah ini adalah mereka yang memerlukan sertifikasi IT :

1. Profesional ICT (operator, administrator, developer, engineer, specialist).
2. Akademisi ICT (trainer, lecturer, instructor and teacher).
3. Manager dan Supervisor ICT.
4. Semua pihak yang terlibat dalam pengembangan TI dan telekomunikasi.

Sertifikasi yang paling populer di bidang jaringan adalah sertifikasi Cisco. Memang bukan rahasia bahwa Cisco merupakan pemegang pangsa pasar terbesar di bidang jaringan sampai saat ini. Selain sertifikasi Cisco, sertifikasi di bidang jaringan yang juga cukup populer adalah sertifikasi yang diberikan oleh CompTIA, Novell, dan Solaris.

Sumber :

- www.cert.or.id

- www.wikipedia.co.id

- http://webmediacenter.com



Read Full Post

IEEE (Institute of Electrical and Electronics Engineers)

IEEE adalah organisasi internasional, beranggotakan para insinyur, dengan tujuan untuk mengembangan teknologi untuk meningkatkan harkat kemanusiaan.

Sebelumnya IEEE memiliki kepanjangan yang dalam Indonesia berarti Institut Insinyur Listrik dan Elektronik (Institute of Electrical and Electronics Engineers). Namun kini kepanjangan itu tak lagi digunakan, sehinga organisasi ini memiliki nama resmi IEEE saja.

IEEE adalah sebuah organisasi profesi nirlaba yang terdiri dari banyak ahli di bidang teknik yang mempromosikan pengembangan standar-standar dan bertindak sebagai pihak yang mempercepat teknologi-teknologi baru dalam semua aspek dalam industri dan rekayasa (engineering), yang mencakup telekomunikasi, jaringan komputer, kelistrikan, antariksa, dan elektronika.

EEE memiliki lebih dari 300.000 anggota individual yang tersebar dalam lebih dari 150 negara. Aktivitasnya mencakup beberapa panitia pembuat standar, publikasi terhadap standar-standar teknik, serta mengadakan konferensi. IEEE Indonesia Section berada pada IEEE Region 10 (Asia-Pasifik). Ketua IEEE Indonesia Section tahun 2009-2010 adalah Arnold Ph Djiwatampu.

sumber :

-http://id.wikipedia.org

Read Full Post

UU IT (UNDANG - UNDANG INFORMASI DAN TRANSAKSI)

UU IT telah di terbitkan, undang-undang ini jelas bertujuan mengatur proses transaksi informasi secara elektronik memiliki dasar pijakan. Harapan besar untuk kemajuan dunia teknologi informasi (TI) di Indonesia. Pro maupun kontra tidak dapat dihindari atas terbitnya sebuah undang-undang, saran kami sebaiknya baca detail informasi undang-undang tersebut lebih dahulu sebelum kita membuat opini pro dan kontra

Dokumen tersebut adalah dokumen draft dengan versi paling baru, yang menjadi materi pembahasan dalam rapat paripurna. Jadi saat masih belum diketok palu oleh DPR, maka masih dalam format ‘rancangan’. Setelah diketok palu, resmilah sudah dokumen tersebut menjadi UU (bukan Rancangan Undang-undang / RUU lagi). Sedangkan untuk memiliki nomor/tahun UU, harus menunggu administrasi pencatatan dari Sekretariat Negara (Sekneg) dan ditanda-tangani oleh Presiden. Waktunya sekitar 1 (satu) bulan setelah UU tersebut disahkan DPR

Salah satu rancangan undang - undang :

Undang‐Undang ini berlaku untuk setiap Orang yang melakukan perbuatan hukum sebagaimana diatur dalam Undang‐Undang ini, baik yang berada di wilayah hukum Indonesia maupun di luar wilayah hukum Indonesia, yang memiliki akibat hukum di wilayah hukum Indonesia dan/atau di luar
wilayah hukum Indonesia dan merugikan kepentingan Indonesia.

sumber :

- http://blog.semanggi.net/?p=13

- UU IT

Read Full Post

Minggu, 21 Februari 2010

TUJUAN HIDUP

Mulai saya lahir pada tanggal 20 desember 1987 saya lahir dengan keadaan yang baik alhamdullilah. Sehingga sampai saat ini tujuan hidup saya hanya ingin membahagiakan ke dua orang tua saya dan hidup bahagia sebagaimana semestina orang – orang .

Saya pun mulai menyarankan pada orang-orang di sekitar saya, teman-teman terdekat saya, adik - adik saya, untuk segera menetapkan tujuan jangka panjang di dalam hidup mereka, seperti yang telah saya lakukan. Bagi saya, tujuan hidup adalah motivasi paling kuat yang mendorong saya untuk maju dan berkembang.

Jadi inti dari tujuan hidup saya adalah ingin mencapai cita – cita saya sebagai orang IT. Demikianlah tujuan hidup saya. Jelas dan singkat. Terima kasih

Read Full Post