Senin, 07 Juni 2010

Pengujian Object Oriented

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)

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

sumber tulisan ini :

http://ayuliana_st.staff.gunadarma.ac.id/Downloads/folder/0.1
Jurnal Universitas Paramadina, Vol. 2 No. 2, Januari 2003 oleh Retno Hendrowati,dengan judul Pengujian Perangkat Lunak Berorientasi Obyek



Selasa, 01 Juni 2010

10 Profesi IT

10 profesi IT


1. Teknisi Komputer
Tugas Teknisi Komputer adalah mempelajari hardware komputer dan sistem operasi dengan target peserta mampu mengatasi kerusakan komputer, perakitan komputer, dan penyelamatan data.
Course Outline:
1. Pengenalan komponen
2. Perakitan
3. Disk Operating System
4. Instalasi Sistem Operasi Windows
5. Instalasi Program Aplikasi
6. Utilities & trouble shooting software
7. Maintenance System
8. Backup & Recovery (penyelamatan data)
9. Trouble Shooting Hardware
10. Maintenance hardware

2. Sistem analis
Sistem analis adalah orang yang menganalisis sistem dengan mempelajari
masalah-masalah yang timbul dan menentukan kebutuhan-kebutuhan pemakai serta mengidentifikasikan pemecahan yang beralasan (lebih memahami aspek-aspek bisnis dan teknologi komputer).Nama lainnya : system designer, business analyst, system consultant, system engineer, software engineer, sistem analyst programmer, information system engineer.
Sistem analis :
a. Tanggungjawab analis sistem tidak hanya pada pembuatan program komputer
saja, tetapi pada sistem secara keseluruhan.
b. Pengetahuan analis sistem harus luas, tidak hanya pada teknologi komputer,
tetapi juga pada bidang aplikasi yang ditanganinya.
c. Pekerjaan analis sistem dalam pembuatan program terbatas pada pemecahan
masalah secara garis besar.
d. Pekerjaan analis sistem melibatkan hubungan banyak orang, tidak terbatas
pada sesama analis sistem,programer tetapi juga pemakai sistem dan manajer.



3. Programmer
Programmer adalah orang yang menulis kode program untuk suatu aplikasi tertentu berdasarkan rancangan yang dibuat oleh system analis (lebih memahami teknologi computer).
Programmer :
a. Tanggungjawab pemrogram terbatas pada pembuatan program komputer.
b. Pengetahuan programer cukup terbatas pada teknologi komputer, sistem
komputer, utilitas dan bahasa-bahasa program yang diperlukan.
c. Pekerjaan programer sifatnya teknis dan harus tepat dalam pembuatan
instruksi-instruksi program.
d. Pekerjaan programer tidak menyangkut hubungan dengan banyak orang,terbatas pada sesama pemrogram dan analis sistem yang mempersiapkan rancang bangun (spesifikasi) program.

4. Web database administrator
Web database administrator Adalah seseorang yang mengemban tugas merancang, merawat, dan mengaupdate sistem-sistem database. Bahasa pemrograman yang digeluti untuk keperluan tugasnya adalah SQL. Dengan perangkat ini Web database dapat menjaga Struktur, security, arsip dan integritas database.


5. Network specialist

Network specialist bertanggung jawab mendesign system jaringan computer dan mengamankan semua computer dari virus jaringan dan ancaman para hacker.


6. Operator
Dalam pengelolaan instalasi komputer Analis / perancang harus memperhatikan tata letak komputer / server dan arus kerja departemen TI
Salah satu diantaranya adalah merancang ruang lingkup kerja atau ruang lingkup dimana komputer /server tersebut dioperasikan





7. Konsultan
Anda bertanggung jawab sebagai pelaksana implementasi, yaitu memberikan training, konsultasi dan memberikan solusi kepada client dalam hal penerapan software aplikasi dari REALTA Anda harus mempunyai kemampuan komunikasi yang baik, sehingga dapat menerima konsultasi dan memberikan penjelasan dalam hal penerapan software aplikasi dengan tepat guna Tugas anda termasu juga menangani complaint maupun permintaan client dalam mengembangkan aplikasi software REALTA yang digunakan client.

8. Project Managers
Project Management UnitSebagai proyek yang relatif besar, diperlukan pengelolaan yang cermat yang memperhatikan segi efisiensi dan efektifitas baik dana, waktu, dan pekerjaan itu sendiri. Oleh karena itu dalam melaksanakan The
Upgrading and Development of Haluoleo University Project ini, dibutuhkan suatu bagian yang bertugas mengelola proyek ini dari masalah perencanaan/persiapan proyek, manajemen proyek, administrasi, keuangan, pengembangan SDM hingga pelaksanaan konstruksi proyek. Bagian pengelola ini disebut PMU (Project Managemet Unit). Dalam menjalankan tugasnya, PMU tidak bekerja sendirian, tetapi dibantu oleh unit-unit konsultan profesional, kelompok-kelompok kerja, dan unit pendukung lainnya yang masing-masing memiliki wilayah konsentrasi kerja. Tujuannya adalah mewujudkan tujuan-tujuan pembangunan dan pengembangan secara optimal.


9. Administrator
Aktivitas utama dari administrator antara lain pengoperasian, pengontrolan dan pengoptimalan sistem. Administrator memelihara dan mengontrol sistem dan infrastruktur yang ada pada pihak pemakai. Proses-proses yang senantiasa dijalankan dan kontinue membedakan aktivitas administrator dari tugas-tugas yang terkait proyek dari spesialis lainnya
Administator spesial jaringan, sistem TI, data bank, aplikasi perusahaan dan web membentuk kelompok administrator. Mereka bertugas mengkonfigurasi, mengoperasikan, mengoptimalkan jaringan, sistem teknik informasi, bank data, dan aplikasi perusahaan dan web.

10. Adviser
Adviser memposisikan di diri di daerah irisan antara proses dan profit aktivitas yang berbeda. Ia menjadi penghubung antara produsen dan pemakai dalam hal teknis atau komersial. Lingkup aktivitas khasnya anntara lain juga analisis kebutuhan, delivering dan acceptance dari produ, user training serta technical support.
IT supporter dan IT trainer merupakan adviser di lingkup teknis; IT key accounter dan IT product coodinator adalah adviser dalam lingkup komersial. IT supporter menyelesaikan masalah aplikasi dan memelihara produk-produk dan system-sistem (software, hardware, jaringan). Sebagai outsider, IT supporter senantiasa berhubungan dengan beragam aplikasiaplikasi yang berbeda dan heterogen. Hal membedakannya dari seorang administrator.
Tugas utama IT trainer adalah memperkenal produk baru ke user dan melatih pemakaian software maupun hardware ke user. Model training klasik, konsultasi personal, E-learning merupakan sebagian bentuk model pelatihan yang mungkin.

Minggu, 30 Mei 2010

Macam-Macam Jenis Pemeliharaan Sistem

Sebuah sistem informasi pasti mengalami perubahan dengan seiringnya waktu. Pemeliharaan sistem dalah kegiatan yang membuat perubahan ini. Sebuah sistem perlu dipelihara karena beberapa hal, antara lain: sistem memiliki kesalahan yang dulunya belum terdeteksi, sehingga kesalahan-kesalahan sistem perlu diperbaiki; sistem mengalami perubahan-perubahan karena permintaan baru dari pemakai sistem; sistem mengalami perubahan karena perubahan lingkungan luar(perubahan bisnis); sistem perlu ditingkatkan.

Pemeliharaan sistem dapat digolongkan menjadi empat jenis:

Pemeliharaan korektif

Pemeliharaan korektif adalah bagian pemeliharaan sistem yang tidak begitu tinggi nilaianya dan lebuh membebani, karena pemeliharaan ini mengkoreksi kesalahan-kesalahan yang ditemukan pada saat sistem berjalan.Umumnya pemeliharaan korektif ini mencakup kondisi penting atau bahaya yang memerlukan tindakan segera. Kemampuan untuk mendiagnosa atau memperbaiki kesalahan atau malfungsi dengan cepat sangatlah berharga bagi perusahaan.


Pemeliharaan Adaptif


Pemeliharaan adaptif dilakukan untuk menyesuaikan perubahan dalam lingkungan data atau pemrosesan dan memenuhi persyaratan pemakai baru.Lingkungan tempat sistem beroperasi adalah dinamik, dengan demikian, sistem harus terus merespon perubahan persyaratan pemakai. Umumnya pemelihaaraan adaptif ini baik dan tidak dapat dihindari.


Pemeliharaan Perfektif (Penyempurnaan)


Pemeliharaan penyempurnaan mempertinggi cara kerja atau maintainbilitas (kemampuan untuk dipelihara). Tindakan ini juga memungkinkan sistem untuk memenuhi persyaratan pemakai yang sebelumnya tidak dikenal.Ketika membuat perubahan subtansial modul apapun, petuugas pemeliharaan juga menggunakan kesempatan meng-upgrade kode, mengganti cabang-cabang yang kadaluwarsa, memperbaiki kecerobohan dan mengembangkan dokumentasi.Sebagai contoh, kegiatan pemeliharaan ini dapat berbentuk perekayasaan ulang atau restrukturisasi perangkat lunak, penulisan ulang dokumentasi, pengubahan format dan isi laporan, penentuan logika pemrosesan yang lebih efisien dan pengembangan efisiensi pengoperasian perangkat.


Pemeliharaan Preventif


Pemeliharaan preventif terdiri atas inspeksi periodik dan pemeriksaan sistem untuk mengungkap dan mengantisipasi permasalahan.Karena personil pemeliharaan sistem bekeerja dalam sistem ini, mereka seringkali menemukan cacat-cacat (bukan kesalahan yang sebenarnya) yang menandakan permasalahn potensial. Sementara tidak memerlukan tindakan segera, cacat ini bila tidak dikoreksi di tingkat awal, jelas sekali akan mempengaruhi baik fiungsi sistem maupun kemampuan untuk memellihaaranya dalam waktu dekat.