8 Jun 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)
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 Design
• Object-oriented design adalah metoda untuk meng-arahkan arsitektur perangkat lunak yang didasarkan pada manipulasi objek-objek sistem atau subsistem.
• Model kebutuhan-kebutuhan yang dibuat pada fase analisis diperkaya dalan fase perancangan.
• Kadang-kadang ditambahkan lebih banyak lagi atribut dan pelayanan.
• Ditambahkan antarmuka obyek-obyek.
• Memberikan blueprint untuk implementasi
• Menspesifikasi “HOW”
• Menspesifikasi: class definitions, class categories
• Menspesifikasi: subsystems, system architectures
• OOA + Rincian Implementasi
• Tujuan dari OO Design adalah mengoptimalkan maintainability, reusability, enhancebility dan reliability

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 tulisan ini :

http://ayuliana_st.staff.gunadarma.ac.id

24 Mei 2010

Macam-macam Metode Pelatihan Implementasi Sistem

METODE PENGUJIAN
Metode pengujian adalah cara atau teknik untuk menguji perangkat lunak,mempunyai mekanisme untuk menentukan data uji yang dapat menguji perangkat lunak secara lengkap dan mempunyai kemungkinan tinggi untuk menemukan kesalahan.

Perangkat lunak dapat diuji dengan dua cara, yaitu :

1. Pengujian dengan menggunakan data uji untuk menguji semua elemen program (data internal, loop, logika, keputusan dan jalur). Data uji dibangkitkan dengan mengetahui struktur internal (kode sumber) dari perangkat lunak.
2. Pengujian dilakukan dengan mengeksekusi data uji dan mengecek apakah fungsional perangkat lunak bekerja dengan baik. Data uji dibangkitkan dari spesifikasi perangkat lunak.

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.
4. menggunakan struktur data internal untuk menjamin validitas jalur
keputusan.
Pengujian Basis Path

Pengujian basis path adalah pengujian white box yang diusulkan pertama kali oleh Tom McCabe. Metode ini memungkinkan penguji dapat mengukur kompleksitas logis dari desain procedural dan menggunakannya sebagai pedoman untuk menetapkan himpunan basis dari semua jalur eksekusi.

A. Notasi Diagram Alir

Notasi yang digunakan untuk menggambarkan jalur eksekusi adalah notasi diagram alir (atau grafik program), yang menggunakan notasi lingkaran (simpul atau node) dan anak panah (link atau edge). Notasi ini menggambarkan aliran control logika yang digunakan dalam suatu bahasa pemrograman.





Tabel – Notasi Diagram Alir

























B. Kompleksitas Siklomatis

Kompleksitas Siklomatis adalah metrics perangkat lunak yang memberikan pengukuran kuantitatif terhadap kompleksitas logis suatu program, nilai yang didapat akan menentukan jumlah jalur independen dalam himpunan path, serta akan memberi nilai batas atas bagi jumlah pengujian yang harus dilakukan, untuk memastikan bahwa semua pernyataan telah dieksekusi sedikitnya satu kali. Jalur independen adalah jalur yang terdapat dalam program yang mengintroduksi sedikitnya satu rangkaian pernyataan proses atau kondisi baru. Berdasarkan contoh PDL sebelumnya, maka jalur independent yang didapat :
Jalur 1 : 1,2,3 – 4 – 5 – 10 – 11 – 12
Jalur 2 : 1,2,3 – 4 – 6 – 7 – 9 – 10 – 11 – 12
Jalur 3 : 1,2,3 – 4 – 8 – 9 – 10 – 11 – 12
Penghitungan Siklomatis
1. Region (daerah muka) grafik alir
2. V(G) = E - N + 2
E adalah jumlah edge, dan N adalah jumlah node
3. V(G) = P +1
P adalah simpul predikat
Simpul Predikat adalah penggambaran suatu node yang memiliki satu atau
lebih inputan, dan lebih dari satu output.

C. Matriks Grafis (Graph Matrik)

Bentuk struktur data yang sering digunakan untuk mengambarkan pengujian adalah dengan matriks grafis. Matriks grafis adalah matriks bujursangkar yang berukuran sama dengan jumlah simpul pada grafik alir. Inputan dalam matriks harus bersesuaian dengan arah sisi dengan simpul. Matriks grafis selanjutnya disebut sebagai matriks koneksi, dan digambarkan serupa dengan matriks ketetanggaan dengan memperhatikan arah in-out dari edge.

1.2 Pengujian Struktur Kontrol

Teknik pengujian basis path merupakan salah satu dari sejumlah teknik untuk pengujian struktur control, namun pengujian basis path tidak memadai untuk
beberapa kasus uji.

A. Pengujian Kondisi

Pengujian kondisi menggunakan kondisi logis sederhana yang terdapat dalam program. Kondisi sederhana dengan menggunakan variable Boolean, dengan bentuk persamaan.
E1 (operator-relasional) E2

Bila suatu kondisi tidak benar, maka akan terdapat paling tidak satu komponen
dari kondisi yang salah, sehingga tipe kesalahan pada suatu kondisi meliputi :




1) Kesalahan operator Boolean
2) Kesalahan variable Boolean
3) Kesalahan tanda kurung Boolean
4) Kesalahan operator relasional
5) Kesalahan persamaan aritmatika
Contoh :
C1 : B1 & B2
B1 & B2 adalah dua variable Boolean sehingga akan terdapat 22
pengujian. Dengan area pengujian :

B. Pengujian Aliran Data

Metode pengujian aliran data melakukan pengujian dengan mengggunakan definisi variable dalam program, efektif digunakan untuk melindungi kesalahan, tetapi akan memiliki cakupan pengukuran dan pemilihan jalur uji yang kompleks.

C. Pengujian Loop

Loop atau skema pengulangan sering digunakan dalam pembuatan program.
Terdapat beberapa macam loop, yaitu :

1. Loop Sederhana

Pengujian yang dilakukan harus memperhatikan hal-hal berikut :
a) Mengabaikan keseluruhan loop
b) Hanya terdapat satu jalur yang melewati loop
c) Suatu variable akan melewati loop jika bernilai lebih besar dari nilai yang ditentukan
d) Harus memperhatikan batasan variable pada loop. (kondisi : n-1, n, n+1)

2. Loop Tersarang

Jumlah pengujian akan bertambah secara geometris sesuai jumlah persarangan loop yang ada. Untuk menyederhanakan pengujian, maka harus
diperhatikan hal-hal berikut:
a) Memulai pengujian dari loop terdalam, dengan memulai pengujian dari nilai minimum
b) Melakukan pengujian loop sederhana dari loop terdalam hingga loop terluar, dengan memperhatikan parameter yang digunakan.

3. Loop Terangkai

Pengujian untuk loop terangkai harus disesuaikan dengan independensi variable antara loop tersebut. Jika variable yang digunakan dalam loop kedua tidak bergantung dengan loop pertama, maka digunakan pengujian loop sederhana, sedangkan bila loop kedua bergantung secara nilai dengan loop kedua, maka lakukan pengujian tersarang.


4. Loop Tidak Terstruktur

Sama sekali tidak dianjurkan untuk digunakan dalam membuat program.
2. 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.

Pengujian black box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pengujian black box merupakan metode perancangan data uji yang didasarkan pada spesifikasi perangkat lunak. Data uji dibangkitkan, dieksekusi pada perangkat lunak dan kemudian keluaran dari perangkat lunak dicek apakah telah sesuai dengan yang diharapkan.
Pengujian black box berusaha menemukan kesalahan dalam kategori :
1. fungsi-fungsi yang tidak benar atau hilang
2. kesalahan interface
3. kesalahan dalam struktur data atau akses database eksternal
4. kesalahan kinerja
5. inisialisasi dan kesalahan terminasi.
Berbeda dengan pengujian white box, pengujian black box cenderung
diaplikasikan selama tahap akhir pengujian. Pengujian black box harus dapat
menjawab pertanyaan sebagai berikut :
a) Bagaimana validitas fungsional diuji
b) Kelas input apa yang akan membuat kasus pengujian menjadi lebih baik
c) Apakah system akan sangat sensitive terhadap harga input tertentu
d) Bagaimana batasan dari suatu data diisolasi
e) Kecepatan data apa dan volume data apa yang akan ditoleransi oleh
system
f) Apa pengaruh kombinasi tertentu dari data terhadap system operasi.


2.1 Graf Based Testing
Langkah pertama pada pengujian black box adalah memahami objek yang terdapat dalam model perangkat lunak dan menentukan hubungan yang dimiliki antara objek-objek tersebut. Pengujian berbasiskan model graf dilakukan terhadap perilaku system. Graf Based Testing menggambarkan graf yang mewakili hubungan antar objek pada modul sehingga tiap objek dan hubungannya dapat diuji. Pengujian ini dimulai dari mendefinisikan semua simpul dan bobot simpul, dimana objek dan atribut diidentifikasikan, serta memberikan indikasi titk mulai dan berhenti.
















Terdapat tiga pola link weight, yaitu :
• Transitivitas, yaitu hubungan antara tiga objek atau lebih yang
menentukan bagaimana pengaruh hubungan tersebut menyebar pada
objek yang ditentukan
• Simetris, yaitu hubungan antara dua objek secara dua arah
• Refleksif, yaitu hubungan yang mengarah pada node itu sendiri atau loop
null
Beizer menyebutkan beberapa metode pengujian black box yang menggunakan
graf, yaitu :
1. Transaction Flow Modeling, metode ini menggunakan node sebagai
representasi langkah pada transaksi, dan link sebagai representasi
hubungan logika antara langkah-langkah tersebut
2. Finite state modeling, metode ini menggunakan node sebagai
representasi status dan link sebagai representasi transisi. Statechart atau
state trasnsition diagram dapat digunakan untuk membuat graf.
3. Data flow modeling, metode ini menguunakan node sebagai represanti
objek data dan link sebagai transformasi dari satu objek data ke objek
data yang lain.
4. Timing modeling, metode ini menggunakan node sebagai representasi
objek program dan link sebagai hubungan sekuensial antara objek.

2.2 Equivalence Partitioning (Partisi ekuivalensi)
Partisi ekuivalensi adalah metode yang membagi domain input dari suatu program ke dalam kelas data, menentukan kasus pengujian dengan mengungkapkan kelas-kelas kesalahan, sehingga akan mengurangi jumlah keseluruhan kasus pengujian. Bila suatu link weight mempunyai pola transitivitas, simetris, dan refleksif maka akan terdapat kelas ekuivalensi. Kelas ekuivalensi merepresentasikan serangkaian kondisi valid dan invalid untuk kondisi inputan. Secara khusus, suatu kondisi input dapat berupa harga numeric, suatu rentang harga, serangkaian harga yang terkait, atau suatu kondisi Boolean.
Penentuan Kelas Ekuivalensi
1. Bila kondisi input menentukan suatu range, maka satu kelas ekuvalensi
valid dan dua yang invalid ditentukan
2. Bila suatu kondisi input memerlukan suatu harga khusus, maka satu kelas
ekuivalensi valid dan dua yang invalid ditentukan
3. Bila suatu kondisi menentukan anggota suatu himpunan, maka satu kelas
ekuivalensi valid atau dua yang invalid ditentukan
4. Bila suatu kondisi input adalah Boolean, maka satu kelas valid dan satu
yang lain ditentukan.
Contoh :
Nomor telepon untuk SLJJ
Ketentuan :
Kode area : kosong atau ada 3 – 4 digit yang dimulai dengan 0
Prefiks : 3 digit dengan tidak dimulai dengan 1 atau 0
Sufiks : 4 digit
Kondisi input :
Kode area : kondisi input Boolean – boleh ada boleh tidak ada
kondisi input range – nilai >200 atau nilai <> 200 atau nilai <>
Sufiks : kondisi input harga – 4 digit
2.3 Boundary Value Analysis (Analisis Nilai Batas)
Analisis nilai batas adalah teknik desain proses yang melengkapi partisi ekuivalensi, dengan berfokus pada domain output. Pedoman untuk menentukan analisis nilai batas :
1. Bila suatu kondisi input mengkhususkan suatu range dibatasi oleh nilai a dan b, maka pengujian harus didesain dengan nilai a dan b, persis di atas dan di bawah a dan b secara bersesuaian
2. Bila suatu kondisi input mengkhususkan sejumlah nilai, maka pengujian harus dikembangkan dengan menggunakan jumlah minimum dan maksimum. Nilai tepat di atas dan di bawah minimum dan maksimum juga diuji.
3. Pedoman 1 dan 2 juga diaplikasikan ke kondisi output.
4. Bila struktur data program telah memesan suatu batasan, maka pengujian akan dilakukan sesuai dengan batasan struktur data terebut.

2.4 Comparison Testing
Pengujian perbandingan adalah metode pembangkitan data uji yang dilakukan pada perangkat lunak yang dibuat redundan. Perangkat lunak yang redundan mempunyai dua tim pengembang yang masing-masing mengembangkan perangkat lunak sendiri-sendiri untuk spesifikasi yang sama. Metode pengujian perbandingan digunakan untuk membangkitkan data uji untuk salah satu perangkat lunak, yang kemudian digunakan sebagai masukan pada pengujian perangkat lunak yang lain. Comparison Testing digunakan untuk system yang menganut redundancy, kasus uji yang dirancang untuk satu versi perangkat lunak dijadikan masukan pada pengujian versi perangkat lunak lainnya, dan diharapkan hasil kedua versi perangkat lunak harus sama. Jika hasil pengujian kedua perangkat lunaktersebut berbeda maka kedua perangkat lunak itu akan dicek untuk mencari yang salah.

12 Apr 2010

ETIKA DAN PROFESIONALISME SEBAGAI PENGAJAR DALAM DUNIA PENDIDIKAN

ETIKA DAN PROFESIONALISME SEBAGAI PENGAJAR DALAM DUNIA PENDIDIKAN

Suatu pemikiran ke arah pengembangan profesionalismestaf pengajar (dosen) seni rupa. Pengertian Profesionalisme, Profesional dan Profesi Profesionalisme adalah suatu paham yang mencitakan dilakukannya kegiatan-kegiatan kerja tertentu dalam masyarakat, berbekalkan keahlian yang tinggi dan berdasarkan rasa keterpanggilan -- serta ikra (fateri/profiteri) untuk menerima panggilan tersebut -- untuk dengan semangat pengabdian selalu siap memberikan pertolongan kepada sesama yang tengah dirundung kesulitan ditengah gelapnya kehidupan (Wignjosoebroto, 1999). Dengan demikian seorang profesional jelas harus memiliki profesi tertentu yang diperoleh melalui sebuah proses pendidikan maupun pelatihan yang khusus, dan disamping itu pula ada unsur semangat pengabdian (panggilan profesi) didalam melaksanakan suatu kegiatan kerja. Hal ini perlu ditekankan benar untuk mem bedakannya dengan kerja biasa (occupation) yang semata bertujuan untuk mencari nafkah dan/ atau kekayaan materiil-duniawi Dua pendekatan untuk mejelaskan pengertian profesi:

1. Pendekatan berdasarkan Definisi Profesi merupakan kelompok lapangan kerja yang khusus melaksanakan kegiatan yang memerlukan ketrampilan dan keahlian tinggi guna memenuhi kebutuhan yang rumit dari manusia, di dalamnya pemakaian dengan cara yang benar akan ketrampilan dan keahlian tinggi, hanya dapat dicapai dengan dimilikinya penguasaan pengetahuan dengan ruang lingkup yang luas, mencakup sifat manusia, kecenderungan sejarah dan lingkungan hidupnya; serta adanya disiplin etika yang dikembangkan dan diterapkan oleh kelompok anggota yang menyandang profesi tersebut.

2. Pendekatan Berdasarkan CiriDefinisi di atas secara tersirat mensyaratkan pengetahuan formal menunjukkan adanya hubungan antara profesidengan dunia pendidikan tinggi. Lembaga pendidikan tinggi ini merupakan lembaga yang mengembangkan dan meneruskan pengetahuan profesional. Karena pandangan lain menganggap bahwa hingga sekarang tidak ada definisi yang yang memuaskan tentang profesi yang diperoleh dari buku maka digunakan pendekatan lain dengan menggunakan ciri profesi. Secara umum ada 3 ciri yang disetujui oleh banyak penulis sebagai ciri sebuah profesi. Adapun ciri itu ialah:

- Sebuah profesi mensyaratkan pelatihan ekstensif sebelum memasuki sebuah profesi. Pelatihan ini dimulai sesudah seseorang memperoleh gelar sarjana. Sebagai contoh mereka yang telah lulus sarjana baru mengikuti pendidikan profesi seperti dokter, dokter gigi, psikologi, apoteker, farmasi, arsitektut untuk Indonesia. Di berbagai negara, pengacara diwajibkan menempuh ujian profesi sebelum memasuki profesi.

- Pelatihan tersebut meliputi komponen intelektual yang signifikan. Pelatihan tukang batu, tukang cukur, pengrajin meliputi ketrampilan fisik. Pelatihan akuntan, engineer, dokter meliputi komponen intelektual dan ketrampilan. Walaupun pada pelatihan dokter atau dokter gigi mencakup ketrampilan fisik tetap saja komponen intelektual yang dominan. Komponen intelektual merupakan karakteristik profesional yang bertugas utama memberikan nasehat dan bantuan menyangkut bidang keahliannya yang rata-rata tidak diketahui atau dipahami orang awam. Jadi memberikan konsultasi

bukannya memberikan barang merupakan ciri profesi.

- Tenaga yang terlatih mampu memberikan jasa yang penting kepada masyarakat. Dengan kata lain profesi berorientasi memberikan jasa untuk kepentingan umum daripada kepentingan sendiri. Dokter, pengacara, guru, pustakawan, engineer, arsitek memberikan jasa yang penting agar masyarakat dapat berfungsi; hal tersebut tidak dapat dilakukan oleh seorang pakar permainan caturmisalnya. Bertambahnya jumlah profesi dan profesional pada abad 20 terjadi karena ciri tersebut. Untuk dapat berfungsi maka masyarakat modern yang secara teknologis kompleks memerlukan aplikasi yang lebih besar akan pengetahuan khusus daripada masyarakat sederhana yang hidup pada abad-abad lampau. Produksi dan distribusi enersi memerlukan aktivitas oleh banyak engineers. Berjalannya pasar uang dan modal memerlukan tenaga akuntan, analis sekuritas, pengacara, konsultan bisnis dan keuangan. Singkatnya profesi memberikan jasa penting yang memerlukan pelatihan intelektual yang ekstensif. Di samping ketiga syarat itu ciri profesi berikutnya. Ketiga ciri tambahan tersebut tidak berlaku bagi semua profesi.

Adapun ketiga ciri tambahan tersebut ialah:

- Adanya proses lisensi atau sertifikat. Ciri ini lazim pada banyak profesi namun tidak selalu perlu untuk status profesional. Dokter diwajibkan memiliki sertifikat praktek sebelum diizinkan berpraktek. Namun pemberian lisensi atau sertifikat tidak selalu menjadikan sebuah pekerjaan menjadi profesi. Untuk mengemudi motor atau mobil semuanya harus memiliki lisensi, dikenal dengan nama surat izin mengemudi. Namun memiliki SIM tidak berarti menjadikan pemiliknya seorang pengemudi profesional. Banyak profesi tidak mengharuskan adanya lisensi resmi. Dosen di perguruan tinggi tidak diwajibkan memiliki lisensi atau akta namun mereka diwajibkan memiliki syarat pendidikan, misalnya sedikit-dikitnya bergelar magister atau yang lebih tinggi. Banyak akuntan bukanlah Certified Public Accountant dan ilmuwan komputer tidak memiliki lisensi atau sertifikat.

- Adanya organisasi. Hampir semua profesi memiliki organisasi yang mengklaim mewakili anggotanya. Ada kalanya organisasi tidak selalu terbuka bagi anggota sebuah profesi dan seringkali ada organisasi tandingan. Organisasi profesi bertujuan memajukan profesi serta meningkatkan kesejahteraan anggotanya. Peningkatan kesejahteraan anggotanya akan berarti organisasi profesi terlibat dalam mengamankan kepentingan ekonomis anggotanya. Sungguhpun demikian organisasi profesi semacam itu biasanya berbeda dengan serikat kerja yang sepenuhnya mencurahkan perhatiannya pada kepentingan ekonomi anggotanya. Maka hadirin tidak akan menjumpai organisasi pekerja tekstil atau bengkel yang berdemo menuntut disain mobil yang lebih aman atau konstruksi pabrik yang terdisain dengan baik.

- Otonomi dalam pekerjaannya. Profesi memiliki otonomi atas penyediaan jasanya. Di berbagai profesi, seseorang harus memiliki sertifikat yang sah sebelum mulai bekerja. Mencoba bekerja tanpa profesional atau menjadi professional bagi diri sendiri dapat menyebabkan ketidakberhasilan. Bila pembaca mencoba menjadi dokter untuk diri sendiri maka hal tersebut tidak sepenuhnya akan berhasil karena tidak dapat menggunakan dan mengakses obat-obatan dan teknologi yang paling berguna. Banyak obat hanya dapat diperoleh melalui resep dokter.

2 Mar 2010

RUU ITE

RUU ITE

RUU ITE yang telah disahkan DPR pada 25 Maret lalu tinggal menunggu waktu untuk dapat diberlakukan. UU ini dimaksudkan untuk menjawab permasalahan hukum yang seringkali dihadapi adalah ketika terkait dengan penyampaian informasi, komunikasi, dan/atau transaksi secara elektronik, khususnya dalam hal pembuktian dan hal yang terkait dengan perbuatan hukum yang dilaksanakan melalui sistem elektronik. Namun pada saat yang sama pula, UU ITE ini telah menunjukkan watak aslinya yang anti terhadap hak asasi manusia khususnya terhadap kemerdekaan menyatakan pendapat dan kebebasan berekspresi yang justru dijamin dalam UUD 1945.

UU ITE ini jelas merupakan ancaman serius bagi bloger Indonesia, setidaknya ada 3 ancaman potensial yang akan menimpa bloger Indonesia, yaitu ancaman pelanggaran kesusilaan (pasal 27 ayat 1), penghinaan dan/atau pencemaran nama baik (pasal 27 ayat 3), dan penyebaran kebencian berdasarkan SARA (Pasal 28 ayat 2). Ancaman pidana untuk ketiganya pun tak main-main penjara paling lama 6 tahun dan/atau denda paling banyak 1 milyar rupiah

Dalam konteks pidana, ketiga delik ini masuk dalam kategori delik formil, artinya tidak perlu dibuktikan akan adanya akibat dianggap sudah sempurna perbuatan pidananya. Ketentuan delik formil ini, di masa lalu sering digunakan untuk menjerat pernyataan-pernyataan yang bersifat kritik

Pasal 27 ayat (1) dan ayat (3) memiliki tiga unsur yang sama yaitu (1) unsur setiap orang, (2) unsur dengan sengaja dan tanpa hak, dan (3) unsur mendistribusikan dan/atau mentransmisikan dan/atau membuat dapat diaksesnya Informasi Elektronik dan atau Dokumen Elektronik.

Sementara Pasal 28 ayat (2) memiliki tiga unsur yang patut dicermati yaitu (1) unsur setiap orang, (2) unsur dengan sengaja dan tanpa hak, dan (3) unsur menyebarkan informasi

Untuk bloger dari ketiga ketentuan ini unsur ketigalah yang paling menentukan, karena bloger sudah dapat dipastikan melakukan perbuatan pidana yang sangat sempurna yaitu (sudah pasti dengan sengaja) menyebarkan, mendistribusikan, mentransmisikan, dan membuat dapat diakses. Sungguh sempurnalah jerat hukum untuk Bloger Indonesia. Unsur ketiga inilah yang paling karet, tidak hanya menampilkan saja sebuah informasi, tetapi juga termasuk memberikan taut ke sebuah situs, merupakan ranah yang dapat dijamah oleh unsur ketiga ini.

Ketiga ketentuan dalam UU ITE ini jelas bertentangan dengan Pasal 28 E ayat (2), ayat (3), dan Pasal 28 F UUD 1945 yang mensyaratkan adanya perlindungan bagi kemerdekaan menyatakan pendapat dan kebebasan berekspresi di Indonesia. UU ITE ini jauh dari keinginan pemerintah membatasi akses pornografi akan tetapi secara lebih jauh berusaha untuk membatasi kegiatan masyarakat untuk melakukan 5 M yaitu mencari, menerima mengolah, mengelola, dan menyalurkan informasi..

ETIKA DAN PROFESIONALISME

ETIKA DAN PROFESI

ETIKA

Apakah etika, dan apakah etika profesi itu ? Kata etik (atau etika) berasal dari kata ethos (bahasa Yunani) yang berarti karakter, watak kesusilaan atau adat. Sebagai suatu subyek, etika akan berkaitan dengan konsep yang dimilki oleh individu ataupun kelompok untuk menilai apakah tindakan-tindakan yang telah dikerjakannya itu salah atau benar, buruk atau baik.

Menurut Martin (1993), etika didefinisikan sebagai “the discpline which can act as the performance index or reference for our control system”. Dengan demikian, etika akan memberikan semacam batasan maupun standar yang akan mengatur pergaulan manusia di dalam kelompok sosialnya. Dalam pengertiannya yang secara khusus dikaitkan dengan seni pergaulan manusia, etika ini kemudian dirupakan dalam bentuk aturan (code) tertulis yang secara sistematik sengaja dibuat berdasarkan prinsip-prinsip moral yang ada dan pada saat yang dibutuhkan akan bisa difungsikan sebagai alat untuk menghakimi segala macam tindakan yang secara logika-rasional umum (common sense) dinilai menyimpang dari kode etik. Dengan demikian etika adalah refleksi dari apa yang disebut dengan “self control”, karena segala sesuatunya dibuat dan diterapkan dari dan untuk kepenringan kelompok sosial (profesi) itu sendiri.

Menurut para ahli maka etika tidak lain adalah aturan prilaku, adat kebiasaan manusia dalam pergaulan antara sesamanya dan menegaskan mana yang benar dan mana yang buruk.

Ada dua macam etika yang harus kita pahami bersama dalam menentukan baik dan buruknya prilaku manusia :

1. ETIKA DESKRIPTIF, yaitu etika yang berusaha meneropong secara kritis dan rasional sikap dan prilaku manusia dan apa yang dikejar oleh manusia dalam hidup ini sebagai sesuatu yang bernilai. Etika deskriptif memberikan fakta sebagai dasar untuk mengambil keputusan tentang prilaku atau sikap yang mau diambil.

2. ETIKA NORMATIF, yaitu etika yang berusaha menetapkan berbagai sikap dan pola prilaku ideal yang seharusnya dimiliki oleh manusia dalam hidup ini sebagai sesuatu yang bernilai. Etika normatif memberi penilaian sekaligus memberi norma sebagai dasar dan kerangka tindakan yang akan diputuskan.

Etika secara umum dapat dibagi menjadi :

a. ETIKA UMUM, berbicara mengenai kondisi-kondisi dasar bagaimana manusia bertindak secara etis, bagaimana manusia mengambil keputusan etis, teori-teori etika dan prinsip-prinsip moral dasar yang menjadi pegangan bagi manusia dalam bertindak serta tolak ukur dalam menilai baik atau buruknya suatu tindakan. Etika umum dapat di analogkan dengan ilmu pengetahuan, yang membahas mengenai pengertian umum dan teori-teori.

b. ETIKA KHUSUS, merupakan penerapan prinsip-prinsip moral dasar dalam bidang kehidupan yang khusus. Penerapan ini bisa berwujud : Bagaimana saya mengambil keputusan dan bertindak dalam bidang kehidupan dan kegiatan khusus yang saya lakukan, yang didasari oleh cara, teori dan prinsip-prinsip moral dasar. Namun, penerapan itu dapat juga berwujud : Bagaimana saya menilai perilaku saya dan orang lain dalam bidang kegiatan dan kehidupan khusus yang dilatarbelakangi oleh kondisi yang memungkinkan manusia bertindak etis: cara bagaimana manusia mengambil suatu keputusan atau tidanakn, dan teori serta prinsip moral dasar yang ada dibaliknya

PROFESI

Istilah profesi telah dimengerti oleh banyak orang bahwa suatu hal yang berkaitan dengan bidang yang sangat dipengaruhi oleh pendidikan dan keahlian, sehingga banyak orang yang bekerja tetap sesuai. Tetapi dengan keahlian saja yang diperoleh dari pendidikan kejuruan, juga belum cukup disebut profesi. Tetapi perlu penguasaan teori sistematis yang mendasari praktek pelaksanaan, dan hubungan antara teori dan penerapan dalam praktek.

Kita tidak hanya mengenal istilah profesi untuk bidang-bidang pekerjaan seperti kedokteran, guru, militer, pengacara, dan semacamnya, tetapi meluas sampai mencakup pula bidang seperti manajer, wartawan, pelukis, penyanyi, artis, sekretaris dan sebagainya. Sejalan dengan itu, menurut DE GEORGE, timbul kebingungan mengenai pengertian profesi itu sendiri, sehubungan dengan istilah profesi danprofesional. Kebingungan ini timbul karena banyak orang yang profesional tidak atau belum tentu termasuk dalam pengertian profesi..

PROFESI, adalah pekerjaan yang dilakukan sebagai kegiatan pokok untuk menghasilkan nafkah hidup dan yang mengandalkan suatu keahlian.

PROFESIONAL, adalah orang yang mempunyai profesi atau pekerjaan purna waktu dan hidup dari pekerjaan itu dengan mengandalkan suatu keahlian yang tinggi. Atau seorang profesional adalah seseorang yang hidup dengan mempraktekkan suatu keahlian tertentu atau dengan terlibat dalam suatu kegiatan tertentu yang menurut keahlian, sementara orang lain melakukan hal yang sama sebagai sekedar hobi, untuk senang-senang, atau untuk mengisi waktu luang.

Yang harus kita ingat dan fahami betul bahwa “PEKERJAAN / PROFESI” dan “PROFESIONAL” terdapat beberapa perbedaan :

PROFESI :

- Mengandalkan suatu keterampilan atau keahlian khusus.

- Dilaksanakan sebagai suatu pekerjaan atau kegiatan utama (purna waktu).

- Dilaksanakan sebagai sumber utama nafkah hidup.

- Dilaksanakan dengan keterlibatan pribadi yang mendalam.

PROFESIONAL :

- Orang yang tahu akan keahlian dan keterampilannya.

- Meluangkan seluruh waktunya untuk pekerjaan atau kegiatannya itu.

- Hidup dari situ.

- Bangga akan pekerjaannya.

CIRI-CIRI PROFESI

Secara umum ada beberapa ciri atau sifat yang selalu melekat pada profesi, yaitu :

1. Adanya pengetahuan khusus, yang biasanya keahlian dan keterampilan ini dimiliki berkat pendidikan, pelatihan dan pengalaman yang bertahun-tahun.

2. Adanya kaidah dan standar moral yang sangat tinggi. Hal ini biasanya setiap pelaku profesi mendasarkan kegiatannya pada kode etik profesi.

3. Mengabdi pada kepentingan masyarakat, artinya setiap pelaksana profesi harus meletakkan kepentingan pribadi di bawah kepentingan masyarakat.

4. Ada izin khusus untuk menjalankan suatu profesi. Setiap profesi akan selalu

berkaitan dengan kepentingan masyarakat, dimana nilai-nilai kemanusiaan berupa

keselamatan, keamanan, kelangsungan hidup dan sebagainya, maka untuk menjalankan suatu profesi harus terlebih dahulu ada izin khusus.

5. Kaum profesional biasanya menjadi anggota dari suatu profesi.

Dengan melihat ciri-ciri umum profesi di atas, kita dapat menyimpulkan bahwa kaum profesional adalah orang-orang yang memiliki tolak ukur perilaku yang berada di atas rata-rata. Di satu pihak ada tuntutan dan tantangan yang sangat berat, tetapi di lain pihak ada suatu kejelasan mengenai pola perilaku yang baik dalam rangka kepentingan masyarakat. Seandainya semua bidang kehidupan dan bidang kegiatanmenerapkan suatu standar profesional yang tinggi, bisa diharapkan akan tercipta suatu kualitas masyarakat yang semakin baik.

PRINSIP-PRINSIP ETIKA PROFESI :

1. Tanggung jawab

-Terhadap pelaksanaan pekerjaan itu dan terhadap hasilnya.

-Terhadap dampak dari profesi itu untuk kehidupan orang lain atau masyarakat pada umumnya.

2. Keadilan. Prinsip ini menuntut kita untuk memberikan kepada siapa saja apa yang menjadi haknya.

3. Otonomi. Prinsip ini menuntut agar setiap kaum profesional memiliki dan di beri kebebasan dalam menjalankan profesinya.

Tujuan Hidup

Dalam hidup ini pasti ada tujuan, kelak akan menjadi “apa saya nanti dimasa depan” oleh karena itu tujuan hidup yang dimiliki manusia pasti bermacam-macam. Mungkin dengan adanya tujuan hidup, manusia dapat menjadi manusia yang berguna bagi diri sendiri dan orang lain. Tak ada manusia didunia ini yang terlahir sempurna karena kesempurnaan milik sang pencipta ya itu ALLAH SWT. Setiap manusia pasti memiliki takdir dan garis hidup yang sudah di tentukan oleh ALLAH SWT, dengan demikian manusia hanya bisa berdoa dan berusaha.

Tujuan hidup saya adalah:

1. Menjadi orang yang berguna bagi diri sendiri dan orang lain

2. Membahagiakan orang tua yang sudah melahir, merawat, menjaga, melindungi, dan

memberikan arti kehidupan ini

3. Bisa berkerja sesuai dengan ilmu yang sudah saya tuntut selama ini, untuk menjadi

modal dimasa depan.

4. Menikah dengan orang yang sayang cintai, karena dalam hidup manusia di ciptakan

berpasangan.