Selasa, 08 Juni 2010

Pengujian Object Oriented

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Konsep dasar dari Pemrograman Berorientasi Objek

Pemrograman orientasi-objek menekankan konsep berikut:

* kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

* Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

* Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

* Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

* Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

* Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)

* Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Bahasa pemrograman

Bahasa pemrograman yang mendukung OOP antara lain:

1. Visual Foxpro
2. Java
3. C++
4. Pascal (bahasa pemrograman)
5. Visual Basic.NET
6. SIMULA
7. Smalltalk
8. Ruby
9. Python
10. PHP
11. C#
12. Delphi
13. Eiffel
14. Perl

Perangkat Lunak : Merupakan program-program komputer dan dokumentasi yang berkaitan, Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar umum Produk perangkat lunak tersebut:

* Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda.

* Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.

Rekayasa Perangkat Lunak :

adalah suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak. mengadopsi pendekatan yang sistematis dan terorganisir terhadap pekerjaannya dan menggunakan tool yang sesuai serta teknik yang ditentukan berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia

Paradigma Berorientasi Objek

* Paradigma OO meliputi suatu pandangan yang lengkap mengenai Rekayasa Perangkat Lunak.
* Rekayasa Perangkat Lunak dengan metoda klasik:

1. Analisis
2. Desain
3. Pemrograman
4. Pengujian
5. Teknologi yang sesuai

Paradigma Rekayasa Perangkat Lunak OO


Model proses evolusioner yang di rangkai dengan suatu pendekatan yang mendorong pemasangan komponen.

Proses OO bergerak melewati spiral evolusioner yang berangkat dengan komunikasi pelanggan. Analisis risiko dan perencanaan membangun fondasi bagi rencana proyek OO. Rekayasa Perangkat Lunak OO menekankan penggunaan ulang sehingga di lihat di dala pustaka ( dari kelas OO yang ada ) sebelum di bangun.

Bagaimana jika suatu kelas tidak ditemukan pada pustaka?

Perekayasa perangkat lunak melakukan :

* Mengaplikasikan analisis berorientasi objek (OOA)

* Berorientasi objek design (OOD)

* Pemrograman berorientasi objek (OOP)

* Pengujian berorientasi objek (OOT)

Konsep – Konsep Berorientasi Objek

1. Objek mengenkapsulasi data
2. Operasi (aksi yang diaplikasikan untuk merubah atribut)
3. Objek lain (objek komposit dapat ditentukan)

Enkapsulasi berarti semua informasi dikemas di bawah satu nama dan dapat digunakan lagi sebagai satu spesifikasi atau komponen program

Definisi berorientasi objek menurut Coad dan Tourdon :

Berorentasi objek = objek + klasifikasi + pewarisan +komunikasi

Kelas & Objek

Kelas adalah konsep OO yang mengenkapsulasi data dan abtraksi prosedural yang diperlukan untuk menggambarkan isi serta tingkah laku berbagai entitas dunia nyata.

Kelas dapat didefinisikan juga sebagai suatu deskripsi tergeneralisir (template,pola,cetak biru).

Objek yang ada pada suatu kelas mewarisi atribut dan operasi nya yang dapat diperoleh untuk memanipulasi atribut tersebut.

Superkelas adalah sekumpulan kelas.

Subkelas adalah kejadian dari suatu kelas

Atribut

Entitas kehidupan nyata sering digambarkan dengan kata – kata yang mengindikasikan keadaan yang stabil . Sebagian besar objek fisik memiliki keadaan seperti potongan, berat, warna dan tipe material.Manusia memiliki keadaan, termasuk data kelahiran, orang tua, nama dan warna mata.

Teknologi Object Oriented

Merupakan paradigma baru dalam rekayasa software yang didasarkan obyek dan kelas

Teknik object oriented memandang software bagian per bagian dan menggambarkannya dalam satu obyek

Teknologi obyek menganalogikan sistem aplikasi seperti kehidupan nyata yang didominasi obyek

contoh :

1. Manusia adalah obyek yang memiliki atribut (nama, pekerjaan, rumah, dll.)

2. Manusia dapat berjalan, bicara, makan, minum, dll.

* Obyek dapat beraksi dan bereaksi

Prinsip Dasar dari Pemograman berorientasi obyek

* Abstraksi : memfokuskan pada karakteristikobyek

* Enkapsulasi : menyembunyikan banyak hal yang terdapat dalam obyek yang tidak perlu diketahui obyek lain

* Modularitas : membagi sistem yang rumit menjadi bagian-bagian yang lebih kecil

* Hirarki : berhubungan dengan abstraksi dan modularitas yaitu pembagian berdasarkan urutan dan pengelompokan tertentu

* Bagi Software Engineer, Teknik Pemodelan Object Oriented berpengaruh dalam bahasa pemrograman, metodologi rekayasa,manajemen proyek, hardware, dsb

* Analisis dan perancangan berorientasi obyek adalah suatu metode analisis yang memeriksa requirements (syarat-syarat/keperluan yang harus dipenuhi suatu sistem) dari sudut pandang kelas-kelas dan obyek-obyek dalam lingkup permasalahan

Konsep dasar Object Oriented Analysis and Design

* Obyek adalah benda secara fisik atau konseptual yang memiliki keadaan (state) dan perilaku (behavior)

* Kelas (Class) adalah definisi umum (pola, template atau cetak biru) untuk himpunan obyek sejenis
* Kotak hitam dan Interface : sebuah obyek digambarkan sebagai kotak hitam untuk mengakses obyek melalui interface.Kotak hitam berisi Kode (himpunan instruksi dengan bahasa yang dipahami komputer) dan Data
* Association dan Aggregation:

1. Association adalah hubungan antar obyek yang saling membutuhkan.
2. Aggregation adalah menggambarkan seluruh bagian dari obyek

Perbedaan antara Metode Struktural dan OOAD

Terletak pada bagaimana data dan fungsi disimpan

Metode Struktural : data dan fungsi disimpan terpisah. Biasanya semua data ditempatkan sebelum fungsi ditulis.

Metode OOAD : data dan fungsi yang berhubungan dalam suatu obyek disimpan bersama-sama dalam satu kesatuan.

Pemrograman berorientasi obyek

Adalah kelanjutan dari proses analisa dan desain berorientasi obyek yang kemudian diimplementasikan dengan bahasa pemrograman berorientasi obyek.
misal : C++, Java, Visual Basic, dsb

Kebutuhan dan Spesifikasi Perangkat Lunak

LINGKUP PEMBAHASAN

* Pengumpulan Kebutuhan Perangkat Lunak

- Mengumpulkan Data mengenai analisa sistem dan masalah nya

* Teknik Pemodelan Analisa Kebutuhan

- Dengan pendekatan berorientasi obyek menggunakan UML( Unified Modelling Language )

* Kebutuhan Fungsional & Non Fungsional
* Pembuatan Prototipe & teknik spesifikasi formal

- Perancangan sistem dengan pendekatan UML sbg alat bantu perangkat lunak

Sistem yang baik adalah yang selalu menyesuaikan dengan perubahan lingkungan yang terjadi disekitarnya atau sistem tersebut harus dinamis menuju keadaan yang lebih baik.

Tahapan Pengembangan Sistem Informas

1. Tahap Perencanaan :

menyangkut studi kebutuhan user, studi kelayakan baik secara teknis maupun teknologi serta penjadwalan pengembangan suatu proyek sistem informasi
2.

Tahap Analisis :

yaitu tahap dimana kita berusaha mengenali segenap permasalahan yang muncul pada pengguna, mengenali komponen-komponen sistem, obyek-obyek, hubungan antar obyek dan sebagainya.
3.

Tahap Perancangan :

yaitu tahap dimana kita mencoba mencari solusi permasalahan yang didapat dari tahap analisa.
4.

Tahap Implementasi :

tahap dimulainya pemilihan perangkat keras, penyusunan perangkat lunak aplikasi, melihat apakah sistem yang dibuat sudah sesuai dengan kebutuhan user atau belum.
5.

Tahap Pemeliharaan :

mulai melakukan pengoperasian sistem dan jika diperlukan dapat melakukan perbaikan-perbaikan kecil.

Unified Modeling Language (UML)

Suatu bahasa yang dapat membuat model untuk semua jenis aplikasi perangkat lunak yang dapat berjalan pada perangkat keras. UML menyediakan beberapa notasi dan arti fact standar sebagai alat komunikasi bagi pelaku dalam proses analisa dan desain

UML memiliki Diagram Grafis

* Use Case Diagram

* Class Diagram

* Behavior Diagram :

- state chart diagram

- activity diagram

- interaction diagram : * sequence diagram

* collaboration diagram

* Implementation Diagram

- Component Diagram

- Deployment Diagram

Cakupan UML

* UML menggabungkan konsep Booch, OMT, dan OOSE

* UML menekankan pada apa yang dapat dikerjakan dengan metode-metode tsb

* UML berfokus pada bahasa Pemodelan Standar, bahkan pada Proses Standar


http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek

http://www.google.co.id/#hl=id&q=iisi+pengujian+objek+oriented&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=a86637e519b879be

Tidak ada komentar:

Posting Komentar