Dynamic Blinkie Text Generator at TextSpace.net

Feedburner

I heart FeedBurner

Selasa, 31 Mei 2016

Kamis, 19 Mei 2016

Pengembangan dengan Metodology Object Oriented

jika yang lain bisa, aku pasti bisa. NOS akan membahas pengembangan berorientasi objek.
Pengembangan berorientasi objek yaitu cara berpikir baru tentang perangkat lunak berdasarkan abstraksi yang terdapat dalam dunia nyata. Dalam konteks pengembangan menunjuk pada bagian awal dari siklus hidup pengembangan sistem, yaitu survei, analis, desain, implementasi dan pemeliharaan sistem. Hal yang lebih penting dalam pengembangan berorientasi objek adalah konsep mengidentifikasi dan mengorganisasi domain aplikasi dari pada penggunakan bahasa pemrograman, berorientasi objek atau tidak.



1. Konsep Pemodelan
Kebanyakan usaha akhir dalam lingkungan berorientasi objek dipusatkan pada bahasa pemrograman. Pada saat ini banyak literatur yang mengutamakan implementasi dibandingkan dengan analisa dan desain. Pemrograman berorientasi objek sangat bermanfaat untuk menghilangkan keterbatasan, yang sebenarnya tidak fleksibel dalam bahasa pemrograman tradisional.

Pengembangan berorientasi objek adalah proses konseptual terpisah dengan bahasa pemrograman sampai tahap terakhir. Pengembangan berorientasi objek secara mendasar yaitu cara berpikir baru dan bukan suatu teknik pemrograman. Hal ini dapat berfungsi sebagai media spesifikasi, analisa, dokumentasi dan interface seperti halnya pemrograman.

2. Metodologi Berorientasi Objek
Metodologi berorientasi objek diperkenalkan pada tahun 1980, menggunakan perangkat kerja dan teknik-teknik yang dibutuhkan dalam pengembangan sistem, yaitu dynamic dan static object oriented model, state transition diagram dan case scenario.

Fokus utama metodologi ini pada objek, dengan melihat suatu sistem terdiri dari objek yang saling berhubungan. Objek dapat digambarkan sebagai benda, orang, tempat dan sebagainya yang mempunyai atribut dan metode. Metodologi terdiri dari pembuatan model dari domain aplikasi, kemudian menambahkan detail implementasi pada saat desain dari suatu sistem. Tahap-tahap metodologi berdasarkan Sistem Development Life Cycle (SDLC) digunakan dengan memperhatikan karakteristik khusus berorientasi objek, dan dapat dijelaskan sebagai berikut :


  • Analisis

Analisa berorientasi objek dimulai dengan menyatakan suatu masalah, analis membuat model situasi dari dunia nyata, menggambarkan sifat yang penting. Analis harus bekerja dengan pihak yang membutuhkan sistem untuk memahami masalah tersebut. Model analisa adalah abstraksi yang ringkas dan tepat dari apa yang harus dilakukan oleh sistem, dan bagaimana melakukannya. Objek dalam model harus merupakan konsep domain dari aplikasi, dan bukan merupakan implementasi komputer seperti struktur data. Model yang baik harus dipahami dan ditanggapi oleh ahli aplikasi. Empat kesulitan yang merupakan gangguan utama sistem adalah memahami problem domain, komunikasi antara pihak yang berkaitan, perubahan kontinyu, dan reuse (penggunaan kembali).



  • Desain

Desain Berorientasi Objek atau Object Oriented Design (OOD) merupakan tahap lanjutan setelah Analisis Berorientasi Objek dimana tujuan sistem diorganisasikan ke dalam sub-sistem berdasar struktur analisis dan arsitektur yang dibutuhkan. System designer menentukan karakteristik penampilan secara optimal, menentukan strategi memecahkan masalah, dan menentukan pilihan alokasi sumberdaya. Sebagai contoh, system designer mungkin menentukan perubahan pada screen untuk workstation yang memerlukan kecepatan serta resolusi lebih tinggi.

Desain model berdasarkan model analisa tetapi berisi detail implementasi. Fokus dari object design adalah perencanaan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan objek domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek yang sama.


  • Implementasi

Kelas, objek, dan relasinya dikembangkan dalam tahap pembuatan desain objek yang pada akhirnya diterjemahkan ke dalam bahasa pemrograman, basisdata, dan implementasi perangkat keras. Hal yang penting dalam tahap implementasi adalah mengikuti penggunaan perangkat lunak yang baik.

Konsep berorientasi objek dapat berlaku pada siklus hidup dari analisis sampai implementasi. Kelas yang sama dipergunakan dari satu tahap ke tahap lain tanpa perubahan notasi, walaupun menambahkan detil implementasi pada tahap akhir. Beberapa kelas tidak merupakan bagian dari analisis, tetapi baru dikenali pada tahap desain atau implementasi.

3. Karakteristik Metodologi Berorientasi Objek
Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama, yaitu :
• Encapsulation
• Inheritance
• Polymorphism

a. Encapsulation
Encapsulation (pengkapsulan) merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Data dan prosedur atau fungsi dikemas bersama-sama dalam satu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek itu sendiri.

b. Inheritance
Inheritance (pewarisan) adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metoda dari induknya langsung. Atribut dan metoda dari objek induk diturunkan kepada anak objek, demikian seterusnya. Pendefinisian objek dipergunakan untuk membangun suatu hirarki dari objek turunannya, sehingga tidak perlu membuat atribut dan metoda lagi pada anaknya, karena telah mewarisi sifat induknya. Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama diantara kelas yang mempunyai hubungan secara hirarki. Suatu kelas dapat ditentukan secara umum, kemudian ditentukan secara spesifik menjadi sub kelas. Setiap subkelas memiliki hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya. Sifat yang dimiliki oleh kelas induknya tidak perlu diulang dalam setiap subkelas. Sebagai contoh, ScrollingWindows dan FixedWindows adalah subkelas dari Windows. Kedua subkelas mewarisi sifat yang dimiliki oleh Windows. ScrollingWindows menambahkan Scroll Bar dan sebuah Offset. Kemampuan untuk menghilangkan beberapa faktor dari superkelas yang bersifat umum dan memasukkannya ke dalam kelas induknya serta mewariskan sifat dari kelas induknya, mengurangi pengulangan dalam desain dan pemrograman. Hal ini merupakan keuntungan utama dari sistem berorientasi objek.

c. Polymorphism
Polymorphisme yaitu aksi yang sama yang dapat dilakukan terhadap beberapa objek. Polimorfisme berarti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. Operasi move mungkin mempunyai perbedaan dalam kelas window atau buah catur. Suatu operasi adalah aksi di mana objek memperlihatkan dirinya. Rata kanan, display, dan move adalah operasi yang sederhana. Suatu implementasi yang spesifik dari suatu operasi dari kelas tertentu disebut metode. Karena operator berorientasi objek adalah bersifat polimorfisme, mungkin dapat mempunyai lebih dari satu metode.

4. Perbedaan dengan Metodologi Non Objek
Pengembangan berorientasi objek berlawanan dengan metodologi berorientasi fungsional, seperti yang diberikan contoh oleh Yourdon [Yourdon-89] dan DeMarco [DeMarco-79]. Dalam metodologi ini, hal yang utama adalah membuat spesifikasi dan dekomposisi sistem secara fungsional.

Berlawanan dengan hal itu, pendekatan berorientasi objek menitik-beratkan pertama-tama pada saat melakukan identifikasi objek dari domain aplikasi, kemudian membuat prosedur yang sesuai dengannya. Walaupun hal ini kelihatannya cenderung tidak langsung, perangkat lunak berorientasi objek menangani lebih baik kebutuhan. Hal ini disebabkan karena berdasarkan kerangka kerja dari domain aplikasi itu sendiri, dari pada kebutuhan fungsional dari suatu problem. Perbedaan yang spesifik dengan metodologi non objek adalah :

• Penggunaan alat
Metodologi non objek menggunakan beberapa alat untuk menggambarkan model seperti data flow diagram, entity relationship diagram dan structure chart. Sedangkan metodologi berorientasi objek menggunakan satu jenis model dari tahap analisa sampai implementasi, yaitu diagram objek.

• Data dan proses
Pada metodologi non objek, data dan proses dianggap sebagai dua komponen yang berlainan, sedangkan pada metodologi berorientasi objek, data dan proses merupakan satu kesatuan, yaitu bagian dari objek.

• Bahasa pemrograman
Metodologi non objek dipergunakan untuk melengkapi pemrograman terstruktur pada bahasa generasi ketiga, sedangkan metodologi berorientasi objek dipergunakan untuk pemrograman berorientasi objek dan bahasa generasi keempat.


5. Tema Berorientasi Objek
Terdapat beberapa tema sebagai dasar teknologi berorientasi objek walaupun tema ini tidak unik untuk sistem berorientasi objek, namun sangat menunjang sistem berorientasi objek.

1. Abstraksi
Abstraksi berarti memfokuskan pada aspek yang melekat dari entitas dan mengabaikan sifat yang sementara. Dalam pengembangan sistem, hal ini berarti memfokuskan pada apakah suatu objek dan apa yang dikerjakan oleh objek tersebut, sebelum menentukan implementasinya. Sebagian besar bahasa pemrograman modern dilengkapi dengan abstraksi data, tetapi kemampuan inheritance dan polymorphisme melengkapi kekuatan tambahan yang dimilikinya. Menggunakan abstraksi dalam analisa berarti hanya melakukan konsep domain aplikasi, tidak menentukan desain dan implementasi sebelum masalah dipahami. Penggunaan abstraksi yang sesuai memungkinkan model yang sama digunakan untuk analisa perancangan tingkat tinggi, struktur program, struktur basis data, dan dokumentasi. Suatu bentuk bahasa pemrograman yang bebas dari desain berbeda dengan detail pemrograman sampai akhir, secara relatif adalah tahap pengembangan yang bersifat mekanik.

2. Pengkapsulan
Pengkapsulan (juga information hiding) terdiri dari pemisahan aspek eksternal dari suatu objek, dimana dapat diakses oleh objek lain. Pengkapsulan melindungi program dari saling keterkaitan sehingga kesempatan kecil mempunyai akibat penyimpangan. Implementasi dari suatu objek dapat berubah tanpa mempengaruhi aplikasi yang digunakan. Seseorang mungkin menginginkan mengubah implementasi dari objek untuk mendapatkan penampilan. Pengkapsulan tidak unik terhadap bahasa berorientasi objek, tetapi kemampuan untuk mengkombinasikan struktur data dengan perilaku dalam satu entitas membuat pengkapsulan jelas dan mempunyai kekuatan lebih dari pada dalam bahasa konvensional yang memisahkan data dengan perilaku.

3. Menggabungkan Data dengan Perilaku
Pemanggilan dari operasi tidak perlu dipikirkan berapa banyak implementasi yang diberikan oleh operasi yang ada. Operator polymorphisme menjadwalkan beban apa implementasi yang digunakan dari kode pemanggilan pada hirarki kelas. Sebagai contoh, code yang bukan berorientasi pada objek menampilkan isi dari window harus membedakan tipe dari setiap bentuk, seperti poligon, lingkaran atau teks dan memanggil prosedur yang tepat untuk menampilkannya. Program berorientasi objek lebih sederhana memohon operasi draw pada setiap bentuk, penentuan di mana prosedur digunakan dibuat implisit oleh setiap objek berdasarkan kelasnya. Tidak perlu selalu mengulang pilihan prosedur setiap saat operasi dilakukan dalam program aplikasi. Pemeliharaan lebih mudah, karena prosedur yang dipanggil tidak perlu dimodifikasi setiap kelas baru ditambahkan. Dalam sistem berorientasi objek hirarki struktur data identik dengan pewarisan hirarki operasi.




Gambar 3. Struktur hirarki prosedural dan berorientasi objek

4. Penggunaan Bersama
Teknik berorientasi objek menawarkan penggunaan bersama untuk beberapa tingkat yang berbeda. Pewarisan struktur data dan perilaku memungkinkan penggunaan bersama antara beberapa subkelas yang sama tanpa redundancy. Pemakaian bersama code adalah keuntungan utama dari bahasa berorientasi objek.

Pengembangan berorientasi objek tidak hanya mengizinkan informasi dipergunakan bersama dalam aplikasi, tatapi memberikan prospek untuk menggunakan desain dan code bersama pada prospek mendatang. Orientasi objek bukan merupakan formula ajaib untuk melakukan penggunaan kembali. Penggunaan kembali tidak datang begitu saja, tetapi harus direncanakan dengan baik di bawah aplikasi dan memerlukan tenaga tambahan yang lebih besar dalam desain.

semoga bermanfaat :)
sumber :  http://blog.mikail.web.id/2011/06/pengembangan-berorientasi-objek.html

Password USB Debugging Advan

BREAKING NEWS!!!! Akhirnya jebol juga password USB Debugging dari Smartfren Andromax V.  Kode ini diberikan oleh seseorang di forum Kaskus, dengan nama awaaas.
Kodenya adalah :
260981
Bisa dibaca selengkapnya di sini sebagai sumbernya. Terima kasih kepada Agan awaaas yang berkenan memberikan kode yang membawa secercah harapan bagi kami para oprekers… MERDEKAAA….

Minggu, 15 Mei 2016

Tahapan Object Oriented

PENGUJIAN OBJECT ORIENTED (PENGUJIAN BERORIENTASI OBYEK)

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. 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.

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.

Object Oriented Testing
Untuk melakukan testing sistem OO (Object Oriented) yang mencukupi, harus dilakukan tiga hal berikut:
a. definisi testing harus diperluas untuk mencakup teknik penemuan error yang diaplikasikan ke dalam model OOA dan OOD.
b. strategi unit testing akan menjadi kurang berarti dan strategi integrasi harus berubah secara signifikan.
c. disain test case harus bertanggung jawab terhadap karakteristik unik software OO.

Kebenaran Model OOA (Object Oriented Analys) dan OOD (Object Oriented Design)
Notasi dan sintaksis digunakan untuk menggambarkan model analisa dan disain akan sangat terkait dengan metode analisa dan disain tertentu yang digunakan pada proyek.
Karenanya kebenaran sintaksis dinilai berdasarkan pada ketepatan penggunaan simbologi, dan tiap model direview untuk memastikan ketepatan konvensi pemodelan yang akan dirawat.
Selama analisa dan disain, kebenaran simantik harus dinilai berdasarkan pada pemenuhan model terhadap domain masalah yang sebenarnya.
Konsistensi Model OOA dan OOD Konsistensi model OOA dan OOD dinilai dengan memperhatikan hubungan antar entitas dalam model.
Untuk menilai konnsistensi, tiap class dan koneksinya dengan class lain harus diperiksa. Model Class-Responsibility-Colaboration dan diagram hubungan obyek dapat digunakan untuk membantu aktivitas ini. Model CRC berupa kartu berindex, yang tersusun dari nama class, tipe class, karakteristik class, tanggung jawab class (operasi yang ada), dan kolaborator-nya (class-class lain yang mengirim pesan dan yang bergantung pada pemenuhan tanggung jawabnya)
Disain Test Case untuk Software OO
Ada beberapa pendekatan menurut Berard :
- Setiap test case harus secara unik diidentifikasikan dan harus secara explisit diasosiasikan dengan class yang akan ditest.
- Tujuan dari test case harus telah ditentukan.
- Daftar langkah – langkah test harus dibangun dan berisi:
- Daftar dari status object yang akan ditest.
- Daftar dari message dan operasi yang akan diperiksa sebagai konsekuensi dari test case.
- Daftar perkecualian yang mungkin terjadi dari obyek yang dites.
- Daftar kondisi external (perubahan yang terjadi pada lingkungan external yang harus ada pada software agar dapat dites)
- Informasi pendukung yang akan digunakan untuk membantu pemahaman atau pengimplemenntasian dari tes.

Unit Testing dalam Kontek OO
Enkapsulasi menentukan definisi dari class dan obyek.
Unit testing tidak melakukan tes pada tiap modul secara individual, namun unit terkecil yang dites adalah class atau obyek yang di-enkapsulasi.
Dalam OO kita tak dapat melakukan tes operasi tunggal dalam suatu isolasi, tapi harus dalam bagian dari class.
Testing class untuk software OO sama dengan unit testing untuk software konvensional
Tak seperti testing software konvensional, yang cenderung berfokus pada detil algoritma dari modul dan aliran data sepanjang interface modul, testing class untuk software OO ditentukan oleh operasi dari class yang dienkapsulasi dan tingkah laku dari class.
Integration Testing dalam Kontek OO
Karena software OO tidak mempunyai struktur kendali dalam bentuk hirarkhi, strategi integrasi konvennsional (top-down / bottom-up integration) menjadi tak berarti.
Ada 2 strategi untuk testing integrasi dari sistem OO, yaitu:
- Thread-based Testing, mengintegrasikan sekumpulan class yang dibutuhkan dalam merespon satu input atau event terhadap sistem. Tiap thread diintegrasikan dan dites secara individual.
- Used-based Testing, memulai konstruksi dari sistem dengan melakukan testing class-class (disebut independent class) yang menggunakan sangat sedikit (jika ada) class server. Setelah itu dilanjutkan dengan melakukan testing terhadap dependent class yang menggunakan independent class yang telah dites. Proses testing berlanjut terus hingga keseluruhan sistem selesai dikonstruksikan.
Cluster Testing adalah suatu langkah dalam testing integrasi dalam software OO. Disini, suatu kluster mengkolaborasi class (ditentukan oleh CRC dan model hubungan obyek) diperiksa dengan mendisain test cases yang dapat untuk menemukan error dalam kolaborasi.
Validation Testing dalam Kontek OO
Seperti pada validasi software konvensional, validasi software OO berfokus pada aksi user dan output dari sistem. Test cases dapat diturunkan dari model tingkah laku obyek dan dari diagram alur kejadian (event) yang dibuat sebagai bagian dari OOA.
Re- testing on Inheritance (Regression testing of Classes)
Dalam teori testing ulang, suatu fungsi yang tidak diubah setelah diturunkan, adalah tidak perlu. Fitur class yang sudah ditest perlu ditest ulang pada class yang menurunkannya. Dalam hal ini karakteristik yang sudah ditest sebelumnya kemudian di modifikasi pada turunannya memerlukan test case yang berbeda.
Berapa banyak re- test diperlukan? Jawaban tergantung pada spesifik risk vs economic tradeoff dari subclass yang menurunkan object.
Beberapa superclass mungkin tidak dipengaruhi oleh perubahan dalam class yang diturunkannya.
Random testing
-Identifikasi operasi yang dapat digunakan pada class
-Definisikan constrain yang mungkin terjadi
-Identifikasi minimum test sequence, sequence yang mungkin terjadi definisikan secara minimum dalam sejarahnya
-Jalankan berbagai macam test sequence secara random, terutama class instance yang mempunyai sejarah yang kompleks
Partitioning testing
Menghemat banyak test case yang dibutuhkan oleh class yang banyaknya sama partitioning dalam konvensional software
State based testing
Kategori dan operasi test yang berjalan tergantung pada kemampuan dari class untuk berubah. Masalah yang mungkin terjadi:
-Testing harus dapat memberikan semua report yang ada dan dapat diakses oleh internal state dari object itu sendiri
-Informasi hiding : keadaan ini secara tidak langsung dapat diakses, tetapi dapat diakses jika class itu sudah di public

Fungsi A-GPS

Salam sobat blogger, dah pada menggunakan smartphone apa belum nihh kalian...? yang belum pake' nabung dulu ya [hehee...], okey pada postingan kali ini saya akan membahas soal teknologi yang sekarang lagi nge-tren yaitu smartphone yang perkembangannya sangat pesat dan harganya pun sangat kompetitif terutama smartphone android. Dari harga 500 ribuan sampai jutaan tentunya ponsel pintar ini menggapai semua kalangan masyarakat. Tapi pada postingan ini saya gak bahas soal harga, melainkan fitur yang tertanam dalam smartphone tersebut.

Ponsel-ponsel pintar juga menuntut penggunanya untuk pintar agar semua fitur yang telah ada pada smartphone berguna dengan maksimal untuk memudahkan penguna dalam kebutuhannya, sayang juga kan kalo punya smartphone tapi cuman buat foto, telefon dan sms doank. Salah satu fitur yang ada dalam smartphone android adalah A-GPS atau sering disebut GPS saja. Sering dipakai gak nihh GPS di smartphone mu?


Sebelunm membahas lebih lanjut, tak kasih bocoran dulu tentang apa itu GPS meskipun udah banyak yang tau, nggak ada salahnyakan kalo tak ingetin lagi [hehee...]. Global Positioning System (GPS) adalah sistem yang menyediakan informasi posisi secara terus menerus di berbagai tempat di bumi. Karena GPS dapat diakses oleh sejumlah orang yang tidak terbatas, maka GPS adalah sebuah sistem yang pasif. Selain untuk mengetahui posisi/letak suatu tempat atau benda tertentu, GPS juga membantu untuk mencari rute tercepat dan banyak digunakan sebagai alat bantu navigasi. Assisted GPS (A-GPS) sebenarnya sama dengan GPS tapi pada sistem ini ada bantuan dari base station dalam penentuan posisi yaitu jaringan internet dari operator yang digunakan untuk memperbaiki koordinat/posisi sehingga receiver GPS dapat memproses lebih cepat, akurat, dan efisien. Karena A-GPS menggunakan jaringan internet maka pengguna harus merelakan penggunaan pulsa untuk data. Teknologi A-GPS inilah yang saat ini banyak digunakan dalam smartphone.
 

Lantas apakah harus menggunakan pulsa untuk menggunakan fitur A-GPS pada smartphone kita?
Jika smartphone anda sekarang sudah tertanam A-GPS tak usah kuatir pulsa anda akan habis tersedot untuk akses data karena A-GPS juga dapat menjalankan moda offline, artinya A-GPS bisa bekerja murni mengandalkan sinyal satelit.


Terus bagaimana kita bisa memanfaatkannya dengan cara offline?
tentunya dibutuhkan applikasi tambahan untuk menggunakannya. Ada banyak sekali aplikasi untuk navigasi untuk dijalankan secara offline seperti papago, IGO, NDrive, Navitel, dll. aplikasi-aplikasi tersebut dapat anda beli di Google Play, tapi buat yang suka gratisan nih ada NDrive yang siap untuk di download, untuk aplikasi yang lainnya silahkan dicari sendiri [heheee...].Untuk ukuran filenya tergolong besar buat aplikasi hape sekitar 100MB, yang terdiri dari 3 file utama (apk, data, dan zbi) didalamnya sudah termasuk peta untuk Indonesia. Silahkan download melalui link dibawah. Cara instalnya sudah tersemat dalam file download.

Sabtu, 14 Mei 2016

Konsep Object Oriented

Pengertian OOAD
OOAD adalah metode analisis yang memerikasa requirements dari sudut pandang kelas kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek system atau subsistem.. OOAD merupakan cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek,yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.
Konsep Dasar OOAD
OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaiut analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD).
OOA (object oriented analysis)
OOA (object oriented analysis) adalah Metode analisis yang memeriksa requirement (syarat/keperluan  yang harus dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup perusahaan.
Tahapan OOA (object oriented analysis) adalah:
1.               Menentukan Kebutuhan Pemakai untuk Sistem Berorientasi Objek.
·            Mengidentifikasikan proses-proses bisnis dan kebutuhan pemakai dan mengekspresikan dengan ‘use-case”.
·            Sebenarnya bukan merupakan aktivitas analisis berorientasi objek, karena tidak membicarakan pembahasan tentang objek.
·            Diperlukan karena dapat menjelaskan aktivitas-aktivitas apa saja yang harus dikerjakan oleh sistem, dan menjelaskan juga perilaku dari komponen-komponen sistem.
·            Ada diagram tertentu yang dapat merepresentasikan model kebutuhan dari “use-case” yang diperoleh.
2.               Identifikasi Kelas dan Objek
·            Mengidentifikasi kelas-kelas dan objek-objek yang ada dalam lingkup aplikasi:
- eksplisit pada pernyataan masalah
- implisit pada lingkup aplikasi atau pengetahuan atas lingkup aplikasi
·             Kelas dan objek dapat diidentifikasi dari:
- entitas eksternal yang memproduksi dan memakai informasi yang akan digunakan oleh sistem berbasis komputer
- sesuatu yang merupakan bagian dari wilayah informasi dari permasalahan
- kejadian, misalnya prosedur operasional, yang muncul dalam lingkup operasional sistem
- peran yang dimainkan oleh orang-orang yang berinteraksi dengan sistem
- unit organisasi yang relevan dengan aplikasi
- tempat yang menentukan ruang lingkup masalah dan seluruh fungsi dari sitem
- struktur yang mendefinisikan kelas dari objek atau yang menghubungkan kelas-kelas objek.
·            Abaikan kelas dan objek yang tidak tepat karena:
- redunden
- tidak relevan
- lebih tepat berupa atribut
3.               Identifikasi Atribut dan Layanan
·      Mengidentifikasi atribut dan layanan yang terkait untuk setiap atribut tersebut.
·      Atribut diidentifikasi dari elemen-elemen data yang dapat menggambarkan (mencirikan) sebuah objek secara utuh.
·      Layanan diidentifikasi dari perilaku spesifik yang dapat menunjukkan peran dan tanggung jawab suatu objek.
·      Abaikan atribut yang tidak tepat karena:
- berupa objek
- berupa qualifier
- berupa nama
- berupa identifier pada implementasi
- menyatakan status internal objek
- merupakan atribut yang sangat kecil (minor)
- bertentangan dengan atribut lain
4.               Definisi Struktur dan Hirarki
·       Mendefinisikan struktur dan hirarki dari objek yang akan mengorganisasikan kelas objek.
·      Mengatur dan menyederhanakan objek-objek menjadi kelas-kelas objek melalui konsep agregasi dan pewarisan.
·      Struktur dan hirarki yang mungkin didefinisikan:
- Struktur “generalization-specification”
Contoh:

- Struktur “whole-part” atau “a-part-of”
Contoh:

5.               Buat Model Hubungan Objek
·       Mendefinisikan hubungan (asosiasi atau koneksi) antar kelas, yaitu ketergantungan antar satu kelas atau lebih dengan kelas lainnya.
·       Asosiasi dapat berbentuk:
- lokasi fisik atau penempatan (next, to, part, of contained in)
- aksi terarah (drive)
- komunikasi (transmit to, acquires from)
- kepemilikan (incorporated by, is composed of)
- pemenuhan kondisi (manages, coordinates, controls)
·      Jenis-jenis asosiasi:
- Asosiasi 1 – 1 (one-to-one association)
Contoh:

- Asosiasi 1 – n (one-to-many association)
Contoh:

- Asosiasi n – n (many-to-many association)
Contoh:

- Ternary Association
Contoh:

- Kualifikasi
Hubungan asosiatif berkualifikasi antara 2 kelas objek.
Contoh:

- Ordering
Hubungan berdasarkan urutan kejadian.
Contoh:

·                  Nama hubungan dan garis atau anak panah digunakan untuk menyatakan hubungan antar kelas-kelas tersebut.
·                  Abaikan asosiasi yang tidak tepat karena:
- asosiasi antara kelas yang diabaikan
- asosiasi implementatif atau tidak relevan
- asosiasi yang berupa aksi
- asosiasi ternary
- asosiasi turunan
6.               Buat Model Perilaku Objek
·      Menyatakan bagaimana sistem berorientasi objek akan menanggapi kejadian atau stimuli eksternal (memunculkan sifat dinamis objek).
·                  Tahap-tahap untuk membuat model perilaku objek:
- evaluasi semua “use-case” untuk memahami urutan interaksi yang ada dalam sistem
- identifikasi kejadian yang menggerakkan urutan interaksi, dan pahami bagaimana   kejadian-kejadian tersebut berhubungan dengan objek tertentu
- buat penelusuran kejadian untuk setiap “use-case”
- buat diagram transisi keadaan untuk sistem
- tinjau ulang model perilaku objek untuk verifikasi keakuratan dan konsistensi
OOD (Object Oriented Design)
OOD (Object Oriented Design) adalah metode mendesain yang mencakup proses pendekompoisisan objek dan digambarkan dalam notasi sehingga bisa menggambarkan static dan dynamic model sistem baik secara logical dan/atau physical.
OOD memungkinkan software engineer untuk mengetahui object-object yang dihasilkan oleh tiap class dan hubungan antar object. Selain itu, OOD menggambarkan bagaimana hubungan antar object bisa dilakukan, bagaimana behavior dari object diimplementasikan dan bagaimana komunikasi antar object diimplementasikan.
2.3            Konsep pemodelan OOAD
·         Obyek ® segala sesuatu yang ada atau dapat dilihat bisa berupa benda, proses, aktifitas dan lain-lain. Hasil pengamatan tersebut tidak otomatis menjadi obyek dalam sistem yang akan dibuat.
·         Class ® kumpulan dari beberapa obyek yang mempunyai karakteristik (atribut daan operasi) yang sama.
·         Atribut®Data yang mewakili karakteristik interes tentang sebuah obyek/class.
·         Pewarisan (inheritence) ® Konsep dimana metode dan atau atribut yang ditentukan di dalam sebuah obyek dalam class dapat diwariskan atau digunakan lagi oleh obyek class lainnya
·         Generalisasi ®Teknik dimana atribut dan behavior yang umum pada beberapa tipe class obyek dikelompokkan kedalam class sendiri disebut supertype.
·         Supertype ® Entity yang berisi atribut dan behavior yang umum bagi satu atau lebih subtype kelas.
·         Behavior = implementasi layanan/operasi dari class/obyek yg mempengaruhi atribut
·         Pengkapsulan (encapsulation)
Dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Data dan prosedur (fungsi) dikemas dalam suatu obyek shg prosedur dari luar tidak dapat mengaksesnya
·         Polimorfisme (Polymorphism)
Konsep yang menunjukkan bahwa sesuatu yang sama mempunyai bentuk dan perilaku yang berbeda.
Operasi/method yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.
Metode= implementasi spesifik dari operasi suatu class
Pemodelan OOAD dengan Konsep Pemodelan Unified Modelling Languange (UML)
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software.
Contoh  Kasus Pada Sistem Perpustakaan
Use Case Pada Sistem Perpustakaan

Class Diagram Pada Sistem Perpustakaan

Sequence Diagram Pada Sistem Perpustakaan

Pemodelan OOAD dengan Blue J
BlueJ merupakan salah satu alat pengembangan bahasa Java yang secara khusus di-design untuk proses pembelajaran java di level perkenalan. Di dalam BlueJ terdapat suatu fitur yang sangat membantu dalam proses pembelajaran yaitu adanya otomatisasi dalam penggambaran class diagram, sehingga pengguna dapat mendapat esensi dari berpikir dalam OO menggunakan bahasa Java.
Contoh  Inheritance dengan Blue J
Berikut ini adalah contoh inheritance yaitu anggota. Anggota dapat terdiri dari dosen dan mahasiswa.
Berikut ini adalah screenshoot programnya :

Dan berikut ini adalah source code dari masing-masing kelasnya :
1.     Kelas Anggota (sebagai Parent Class)

2.    Kelas Dosen (sebagai Child Class)

3.    Kelas Mahasiswa (sebagai Child Class)

Pemodelan OOAD dengan JAVA (NetBeans IDE 6.9.1)
Java adalah bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuan-kemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).
Contoh  Asosiasi dengan JAVA
Berikut ini adalah penerapaan asosiasi pada JAVA, yaitu hubungan antara anggota dengan buku, yaitu hubungan asosiasi one to many.
Kelas yang dibutuhkan antara lain :
1.        Kelas Anggota
2.      Kelas Buku
3.      Kelas Pinjam
Berikut ini adalah source code dari masing-masing kelas:
1.     Kelas Anggota
package pinjambuku;
public class anggota {
private String KdAnggota;
protected String[] KodeBuku=new String[2];
protected String[] JudulBuku=new String[2];
private int jmlBuku=0;
public anggota(String kode){
    this.KdAnggota=kode;
}
public void setKdAnggota (String KdAnggota) {
    this.KdAnggota = KdAnggota;
}
public void setKodeBuku (String KdBuku) {
    KodeBuku[jmlBuku]=KdBuku;
    jmlBuku++;
}
public void setJudulBuku (String JdlBuku) {
    KodeBuku[jmlBuku]=JdlBuku;
    jmlBuku++;
}
public int getJmlBuku () {
    return this.jmlBuku;
}
public String getKdAnggota () {
    return this.KdAnggota;
}
public void daftarBuku() {
    System.out.println("Kode Anggota : " +KdAnggota);
    System.out.println("Daftar Buku Yang Dipinjam : ");
        for (int i=0;i<jmlBuku;i++){
                        System.out.println(KodeBuku[i]);
            }
}
}
2.    Kelas Buku
package pinjambuku;
public class buku {
    private String KdBuku;
    private String JdlBuku;
    public buku (String KdBuku , String JdlBuku){
        this.KdBuku=KdBuku;
        this.JdlBuku=JdlBuku;
    }
    public void setKdBuku (String KdBuku){
        this.KdBuku=KdBuku;
    }
   
    public void setJdlBuku (String JdlBuku){
        this.JdlBuku=JdlBuku;
    }
    public String getKdBuku() {
            return this.KdBuku;
    }
    public String getJdlBuku() {
            return this.JdlBuku;
    }
}
3.    Kelas Pinjam
package pinjambuku;
public class pinjam {
 
    public static void main(String[] args) {
            buku buku1 = new buku("B001","Pengantar Teknologi Informasi");
            buku buku2 = new buku("B005","Pemrograman Berorientasi Objek");
            anggota anggota1 = new anggota("2009-51-100");
            anggota1.setKodeBuku(buku1.getKdBuku());
            anggota1.setKodeBuku(buku2.getKdBuku());
            anggota1.daftarBuku();
    }
}
Berikut ini adalah hasil programnya ketika di running :