Tuesday, June 23, 2009

..Golf, Menaklukkan Diri Sendiri..

"Filosofi dalam permainan golf adalah bagaimana pemain menaklukkan diri sendiri. Saat memukul, golfer bukan sembarang memukul. Sebelum bola jauh melayang, mereka harus punya perhitungan plus insting yang kuat agar bola tepat sasaran..seperti halnya dalam bisnis"

Perhitungan ini bisa meliputi arah angin dan energi pukulan. Energi yang akan dikeluarkan, jika tidak dikontrol, akan membuat bola terlempar jauh dari sasaran.

Intinya adalah, semua dikerjakan dengan hati disertai kesabaran tinggi. Dengan kesabaran dan ketekunan, didapat strategi serta kecermatan menganalisis masalah.

Tak aneh kalau penggemar golf adalah para pebisnis, pengusaha, atau pejabat. Karena golf memberi efek positif bagi pekerjaan mereka, terlebih pada saat membuat perencanaan dan program kerja.

Ada anggapan golf hanya milik kelompok berduit. Penilaian ini berkembang seiring dengan realitas penggemar golf yang umumnya datang dari kaum eksekutif, pejabat, atau pengusaha.

Golf memang berkembang tidak sekadar sebagai olahraga, namun juga menjadi perpaduan antara hobi, prestasi, dan prestise. Bahkan bagi sebagian orang, golf diakui menjadi bagian dari gaya hidup.

Filosofi lainnya dalam bermain golf adalah tak ada lawan yang kuat, kecuali melawan diri sendiri. Jika seorang pegolf menang, bukan berarti dia mengalahkan lawannya, tetapi dia sudah mampu mengalahkan diri sendiri yaitu nafsu dan ambisi yang berlebihan.

Di dunia golf, para pemain diminta untuk mewasiti dan menjadi polisi untuk diri-sendiri. Disebabkan area permainan sedemikian luasnya tidaklah mungkin untuk selalu memonitor setiap gerak-gerik pemain di lapangan. Hanya pada turnamen-turnamen utama setiap grup pemain didampingi wasit berjalan.

Untuk itu perlu dipupuk integritas, kejujuran, dan tentunya pengetahuan peraturan yang cukup baik agar mampu menjadi wasit untuk diri-sendiri. Karena itu golf banyak disebut sebagai a gentlemens game, sebuah permainan untuk para ksatria yang mengedepankan kehormatan, integritas, dan kejujuran.

Read More..

Monday, June 15, 2009

Tugas Akhir RPL (UAS)

Case :
PERANCANGAN SISTEM INFORMASI DATA KLIEN DAN CALON PEGAWAI PADA PERUSAHAAN OUTSOURCING


Sesuai dengan perkembangan zaman teknologi saat ini telah membuat persaingan antara perusahaan yang satu dengan perusahaan lainnya untuk mendapatkan keuntungan yang besar.
Selain untuk meraih suatu keuntungan, proses kerja dalam suatu perusahaan yang telah menggunakan teknologi informasi, juga dapat menciptakan proses kerja yang lebih efisien, akurat dan membutuhkan waktu yang lebih cepat dibandingkan dengan perusahaan yang masih menggunakan sistem manual.

Setelah melihat perusahaan Indo Outsourcing yang masih menggunakan sistem manual dalam proses kerjanya, maka dirancanglah sistem informasi yang bertujuan untuk membantu perusahaan Indo Outsourcing dalam melakukan kegiatannya yang berkaitan dengan sistem pendataan klien dan calon pegawai. Dengan adanya sistem database baru ini akan dapat menghasilkan informasi yang lebih efisien, tepat waktu dan akurat. Analisis dan perancangan sistem yang dibuat menggunakan pemodelan OMT dan sistem yang dibangun menggunakan bahasa pemrograman visual basic 6.0 yang berbasis microsoft access.

Dari hasil penelitian ini diperoleh hasil antara lain bahwa sistem database yang dirancang sangat membantu dalam penyimpanan file data klien dan calon pegawai, sehingga dengan adanya sistem ini dapat menggantikan sistem pendataan yang sebelumnya.

Initialisation
Permasalahan yang dihadapi dalam perusahaan Indo Outsourcing ini pada umumnya ialah :
• Penyimpanan administrasi klien dan calon pegawai hanya menggunakan microsoft word , sehingga dalam penyimpanan dan pencarian data klien dan calon pegawai masih membutuhkan waktu yang lama.
• Sulitnya mendapatkan informasi dan laporan yang akurat dan cepat, karena hanya bisa dilihat dari file dalam microsoft word serta pencatatan yang secara manual.
• Tidak mempunyai sistem database untuk data calon pegawai dan klien.

DESIGN
Class Entity
Kandidat class entity pada sistem informasi perusahaan jasa dalam bidang tenaga kerja dapat dilihat pada tabel berikut:

Class Diagram

Use Case
Untuk mendeskripsikan use case apa saja dan actor yang terlibat diperlukan spesifikasi sistem berupa requirement actor dan use case pada tabel berikut:

Sequence Diagram Maintain Data Klien
Use Case: Maintain data klien akan dilakukan oleh Staf HRD. Dalam melakukan hal ini Staf HRD terlebih dahulu harus mengisi nama karyawan dan password pada tampilan login, setelah login valid maka Staf HRD dapat memilih menu form data klien yang terdapat pada menu utama. Staf HRD dapat memasukkan data, membatalkan data atau merubah data pada tampilan form data klien yang telah tersedia, setelah perubahan data dilakukan kemudian tekan tombol ‘simpan’, maka data klien akan tersimpan dalam database.
Object : Staf HRD
Function : Maintain data klien
Use case “Maintain Data Klien” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat di dalam gambar di bawah ini

Sequence Diagram Cetak Surat Perjanjian Klien
Use Case: Cetak surat perjanjian klien akan dilakukan oleh Staf HRD. Dalam melakukan hal ini Staf HRD terlebih dahulu harus mengisi nama karyawan danpassword pada tampilan login, setelah login valid maka Staf HRD dapat memilih menu form surat perjanjian klien yang terdapat pada menu utama. Staf HRD dapat memasukkan data,membatalkan data atau merubah data pada tampilan form data surat perjanjian klien yang telah tersedia, setelah perubahan data dilakukan kemudian tekan tombol ‘simpan’, maka data klien akan tersimpan dalam database. Setelah data surat perjanjian klien tersimpan, tekan tombol ’cetak’ maka bentuk surat dapat terlihat di dalam sistem dan langsung dapat dicetak.
Object : Staf HRD
Function : Cetak Surat Perjanjian Klien
Use case “Cetak Surat Perjanjian Klien” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat di dalam gambar di bawah ini

Sequence Diagram Mencari Data Calon Pegawai Lama
Use Case: Apabila Staf HRD ingin mencari data calon pegawai lama, maka terlebih dahulu harus memasukkan nama karyawan dan password untuk masuk ke dalam sistem. Setelah login valid, maka di dalam menu utama Staf HRD dapat memilih ‘form cari data calon pegawai’. Setelah masuk kedalam sistem, Staf HRD dapat memilih data yang diinginkan oleh klien. Apabila pencarian data ditemukan, maka akan tampil data yang diinginkan.
Object : Staf HRD
Fuction : Mencari data calon pegawai lama
Use case “Mencari Data Calon Pegawai Lama” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat di dalam gambar di bawah ini

Sequence Diagram Maintain Data Calon Pegawai
Use Case: Maintain data calon pegawai akan dilakukan oleh Staf HRD. Dalam melakukan hal ini Staf HRD terlebih dahulu harus mengisi nama karyawan dan password pada tampilan login, setelah login valid maka Staf HRD dapat memilih menu form data calon pegawai yang terdapat pada menu utama. Staf HRD dapat memasukkan data, membatalkan data atau merubah data calon pegawai padafield yang telah tersedia pada form, setelah perubahan data dilakukan kemudian tekan tombol ‘simpan’, maka data-data calon pegawai akan tersimpan dalam database.
Object : Staf HRD
Function : Maintain data calon pegawai
Use case “Maintain data calon pegwai” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat didalam gambar di bawah ini

Sequence Diagram Cetak Surat Perjanjian Calon Pegawai
Use Case: Cetak surat perjanjian calon pegawai akan dilakukan oleh Staf HRD. Dalam melakukan hal ini Staf HRD terlebih dahulu harus mengisi nama karyawan dan password pada tampilan login, setelah login valid maka Staf HRD dapat memilih menu form surat perjanjian calon pegawai yang terdapat pada menu utama. Staf HRD dapat memasukkan data, membatalkan data atau merubah data pada tampilan form surat perjanjian calon pegawai yang telah tersedia, setelah perubahan data dilakukan kemudian tekan tombol ‘simpan’, maka data calon pegawai akan tersimpan dalam database.
Setelah data surat perjanjian calon pegawai tersimpan, tekan tombol ’cetak’ maka bentuk surat dapat terlihat di dalam sistem dan langsung dapat dicetak.
Object: Staf HRD
Function: Cetak Surat Perjanjian Calon Pegawai
Use case “Cetak Surat Perjanjian Calon Pegawai” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat di dalam gambar di bawah ini

Integration Test Plan
Mencakup rencana uji terintegrasi yang mampu menunjukkan bahwa desain memenuhi fungsi yang ditetapkan dalam persyaratan. Uji kasus harus mencakup setiap objek dan objek interaksi ditentukan dalam model objek serta setiap urutan peristiwa dalam model dinamis. Kita harus mempertimbangkan setiap objek kelas sebagai subsistem dan menerapkan fungsional (black box) test heuristics (seperti input / output dan cakupan kesalahan / kekecualian cakupan) untuk mengidentifikasi parameter dalam setiap operasi di kelas antarmuka. Selain itu, kita harus mengembangkan suatu test case untuk setiap potensi urutan peristiwa (hingga Iterasi). Perlu diketahui bahwa kedua dilihat pada rencana uji independen tidak perlu, Anda mungkin dapat untuk menutup semua objek oleh semua urutan peristiwa (ini akan tergantung pada bagaimana anda menyeluruh dinamis adalah model).
CATATAN: jika dikehendaki, ujian kasus dapat dibedakan dengan desain entitas yang kita terapkan, begitu pula daftar dari beberapa macam cross referensi harus disediakan.

BLACKBOX TESTING
Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain
menggunakan metode whitebox.
Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi
Tidak seperti metode whitebox yang dilaksanakan diawal proses, ujicoba blackbox diaplikasikan di beberapa tahapan berikutnya. Karena ujicoba blackbox dengan sengaja mengabaikan struktur kontrol, sehingga perhatiannya difokuskan pada informasi domain. Ujicoba didesain untuk dapat menjawab pertanyaan-pertanyaan berikut :
1. Bagaimana validitas fungsionalnya diuji?
2. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik ?
3. Apakah sistem secara khusus sensitif terhadap nilai input tertentu ?
4. Bagaimana batasan-batasan kelas data diisolasi?
5. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem?
6. Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem?
Dengan mengaplikasikan ujicoba blackbox, diharapkan dapat menghasilkan sekumpulan kasus uji yang memenuhi kriteria berikut :
1. kasus uji yang berkurang, jika jumlahnya lebih dari 1, maka jumlah dari ujikasus tambahan harus didesain untuk mencapai ujicoba yang cukup beralasan
2. Kasus uji yang memberitahukan sesuatu tentang keberadaan atau tidaknya suatu jenis kesalahan, daripada kesalahan yang terhubung hanya dengan suatu ujicoba yang spesifik


Read More..

Monday, April 6, 2009

UTS - Rancangan Perangkat Lunak "SMART PARKING"


Model Object
























Model Dinamis





Model Fungsional
Graph Dictionary
























Fungsi Login
User : Petugas Parkir
Tujuan : Menjelaskan proses inisialisasi dan otorisasi petugas parkir
Deskripsi Fungsi:
I. Petugas parkir mulai mengoperasikan smart parking, memasukkan user name dan password
II. Sistem Smart parking memeriksa kebenaran data yang dimasukkan dan melakukan otorisasi
Fungsi Pencatatan Kendaraan Masuk
User : Petugas Parkir Masuk
Tujuan : Menjelaskan proses pencatatan dan perekaman data kendaraan yang masuk
Deskripsi Fungsi:
I. Smart parking menampilkan informasi “petugas parkir masuk”
II. Petugas parkir memasukkan nomor polisi kendaraan yang masuk
III. Smart parking menampilkan informasi nomor polisi kendaraan yang masuk
IV. Petugas parkir mencatat jam masuk kendaraan
V. Smart Parking merekam data yang sudah dimasukkan
VI. Smart Parking mencetak karcis masuk kendaraan

Fungsi Pencatatan Kendaraan Keluar
User : Petugas Parkir Keluar
Tujuan : Menjelaskan proses pencatatan, pengecekkan data kendaraan yang akan keluar dan menghitung total biaya parkir
Deskripsi :
I. Smart parking menampilkan informasi “petugas parkir keluar”
II. Petugas parkir memasukkan nomor polisi kendaraan yang akan keluar
III. Smart parking mencocokkan data kendaraan yang akan keluar dengan karcis
IV. Smart parking mencatat jam keluar kendaraan, sesuai waktu sistem
V. Smart Parking menghitung total biaya parkir kendaraan

Read More..

Monday, March 16, 2009

OMT - Suggested Design Format

Setelah mengenal OMT, selanjutnya akan dikupas lebih detail lagi mengenai aktifitas modelling dalam OMT.
Tiga hal utama dalam diagram OMT:

Model Objek
Objek model menjelaskan struktur dari objek dalam sistem - identitas mereka, hubungan mereka ke objek lainnya, mereka atribut, dan operasi. Objek utama model menggambarkan bagaimana melihat dunia nyata di mana sistem berinteraksi dan dibagi dekomposisi keseluruhan dari sistem. Objek model menyediakan kerangka kerja yang lain yang menjadi model ditempatkan.

Objek model yang diwakili dengan objek grafis kelas diagram berisi objek kelas dan hubungan mereka. Setiap domain aplikasi-konsep dari dunia nyata yang penting untuk aplikasi harus model sebagai obyek kelas. Kelas-kelas tersebut diatur ke dalam struktur hirarki berbagi umum dan perilaku dan lainnya yang terkait dengan kelas. Kelas menentukan atribut dibawa oleh setiap objek dan operasi yang dilakukan pada masing-masing objek.


























Gambar Object Diagram


Model dinamis
Model dinamis menggambarkan aspek-aspek yang bersangkutan dengan sistem operasi sequencing dan waktu - peristiwa yang menyebabkan perubahan state, urutan peristiwa, menyatakan bahwa konteks untuk menentukan aktivitas, dan aktivitas organisasi dan negara. Model dinamis menangkap kontrol informasi tanpa mempertimbangkan untuk apa operasi bertindak atas atau bagaimana mereka diimplementasikan.
Model dinamis meliputi acara jejak diagram menjelaskan skenario. Eksternal event adalah rangsangan dari satu objek ke lainnya, yang terjadi pada satu titik waktu tertentu. Event adalah satu cara pengiriman informasi dari satu objek ke lainnya. Skenario adalah urutan peristiwa yang terjadi selama satu tertentu pelaksanaan sistem. Setiap dasar pelaksanaan sistem harus direpresentasikan sebagai sebuah skenario (terkait dengan skenario dalam mockup HCI).
State diagram harus mematuhi notasi dari OMT dan memanfaatkan kemampuan OMT, seperti transition guards, tindakan dan kegiatan, nesting (state dan event generalisasi), dan concurrency.


Model fungsional
Fungsional menjelaskan model-model komputasi dan yang menentukan aspek dari sistem yang bersangkutan dengan transformasi nilai - fungsi, pemetaan, kendala, dan fucntional dependensi. Fungsional menangkap apa model sistem ini, tanpa mempertimbangkan bagaimana atau jika sudah selesai.
Model fungsional diwakili oleh grafis dengan beberapa data flow diagram, yang menunjukkan aliran nilai masukan dari luar, melalui operasi dan menyimpan data internal, eksternal output. Data flow diagram menampilkan dependensi antara nilai-nilai dan penghitungan nilai output dari input nilai dan fungsi. Fungsi-fungsi sebagai tindakan dalam model yang dinamis dan akan ditampilkan sebagai operasi pada objek dalam objek model.
Data flow diagram harus mematuhi OMT dari notasi dan memanfaatkan kemampuan OMT, seperti nesting, kontrol aliran, dan kendala.


_______________________________________________________


Spesifikasi Kelas Objek










Integration Test Plan
Mencakup rencana uji yang terintegrasi mampu menunjukkan bahwa desain memenuhi fungsi yang ditetapkan dalam persyaratan. Uji kasus harus mencakup setiap objek dan objek interaksi ditentukan dalam model objek serta setiap urutan peristiwa dalam model dinamis. Kita harus mempertimbangkan setiap objek kelas sebagai subsistem dan menerapkan fungsional (black box) test heuristics (seperti input / output dan cakupan kesalahan / kekecualian cakupan) untuk mengidentifikasi parameter dalam setiap operasi di kelas antarmuka. Selain itu, kita harus mengembangkan suatu test case untuk setiap potensi urutan peristiwa (hingga Iterasi). Perlu diketahui bahwa kedua dilihat pada rencana uji independen tidak perlu, Anda mungkin dapat untuk menutup semua objek oleh semua urutan peristiwa (ini akan tergantung pada bagaimana anda menyeluruh dinamis adalah model).

CATATAN: jika dikehendaki, ujian kasus dapat dibedakan dengan desain entitas yang kita terapkan, begitu pula daftar dari beberapa macam cross referensi harus disediakan.

BLACKBOX TESTING
Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain
menggunakan metode whitebox.
Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi
Tidak seperti metode whitebox yang dilaksanakan diawal proses, ujicoba blackbox diaplikasikan di beberapa tahapan berikutnya. Karena ujicoba blackbox dengan sengaja mengabaikan struktur kontrol, sehingga perhatiannya difokuskan pada informasi domain. Ujicoba didesain untuk dapat menjawab pertanyaan-pertanyaan berikut :
1. Bagaimana validitas fungsionalnya diuji?
2. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik ?
3. Apakah sistem secara khusus sensitif terhadap nilai input tertentu ?
4. Bagaimana batasan-batasan kelas data diisolasi?
5. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem?
6. Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem?

Dengan mengaplikasikan ujicoba blackbox, diharapkan dapat menghasilkan sekumpulan kasus uji yang memenuhi kriteria berikut :
1. kasus uji yang berkurang, jika jumlahnya lebih dari 1, maka jumlah dari ujikasus tambahan harus didesain untuk mencapai ujicoba yang cukup beralasan

2. Kasus uji yang memberitahukan sesuatu tentang keberadaan atau tidaknya suatu jenis kesalahan, daripada kesalahan yang terhubung hanya dengan suatu ujicoba yang spesifik

http://www.ics.uci.edu/~djr/ics125/OMT.html
http://www.ics.uci.edu/~djr/classes/ics125/project.html

Read More..

Thursday, March 12, 2009

Object Modelling Technique

PENGEMBANGAN SISTEM PERANGKAT LUNAK

Metode pengembangan sistem informasi (information systems development methods, ISDM) dibuat untuk menjamin bahwa SI yang dikembangkan dapat diselesaikan tepat waktu, sesuai dengan anggaran, dan sesuai dengan spesifikasi yang ditetapkan. Namun demikian, studi terhadap 32 perusahaan yang bergerak di berbagai sektor menemukan adopsi ISDM di Indonesia masih rendah. Sebagian besar perusahaan mengembangkan metode sendiri dalam pengembangan SI yang sebagian di antaranya didasarkan pada ISDM yang sudah ada.

Para praktisi umumnya sepakat bahwa adopsi ISDM memberikan lebih banyak manfaat dibandingkan usaha yang harus dilakukan untuk mempelajarinya.
Secara garis besar ISDM dibagi ke dalam tiga kelompok utama, yaitu :
(1) Metode terstruktur structured methods)
(2) Metode Rapid Application Development (RAD)
(3) Metode berorientasi obyek (object-oriented methods)

Object Oriented Technology
Pengantar Object Oriented Technology
Metode berorientasi-obyek merupakan metode yang relatif baru dan sekarang menjadi cukup populer di kalangan pengembang sistem informasi (e.g. Iivari dan Maansaari, 1998). Metode ini berfokus pada obyek yang konsisten mulai tahap analisis, perancangan, dan implementasi sistem informasi.
Salah satu varian metode ini yang paling komtemporer adalah Unified Modelling Language (UML) yang diperkenalkan oleh (Rumbaugh, Jacobson, dan Booch, 1999).
Object Oriented Technology merupakan cara pengembangan perangkat lunak berdasarkan abstraksi objek-objek yang ada di dunia nyata. Dasar pembuatan adalah Objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.
Filosofi Object Oriented sangat luar biasa sepanjang siklus pengenbangan perangkat lunak (perencanaan, analisis, perancangan dan implementasi) sehingga dapat diterapkan pada perancangan sistem secara umum: menyangkut perangkat lunak, perangkat keras dan sistem secara keseluruhan.

Dalam pengembangan sistem berorientasi objek ini , konsep-konsep dan sifat-sifat object oriented digunakan. Kosep-konsep tersebut adalah:
1. Kelas
Kelas adalah konsep OO yang mengencapsulasi/membungkus data dan abstraksi prosedural yang diperlukan untuk menggambarkan isi dan tingkah laku berbagai entitas.
Kelas juga merupakan deskripsi tergeneralisir (misl template, pola, cetak biru) yang menggambarkan kumpulan objek yang sama.
2. Objek
Objek digambarkan sebagai benda, orang, tempat dan sebagainya yang ada di dunia nyata yang penting bagi suatu aplikasi. Objek mempunyai atribut dan metoda .
3. Atribut
Atribut menggambarkan data yang dapat memberikan informasi kelas atau objek dimana atribut tersebut berada.
4. Metoda/Servis/Operator
Metoda adalah prosedur atau fungsi yang tergabumh dalam objek bersama dengan atribut. Metode ini digunakan untuk pengaksesan terhadap data yang terdapat dalam objek tersebut.
5. Message
Message adalah alat komunikasi antar objek. Hubungan antar objek ditentukan oleh problem domain dan tanggung jawab sistem.
6. Event
Event adalah suatu kejadian pada waktu yang terbatas yang menggambarkan rangsangan (stimulus) dari luar sistem.
7. State
State adalah abstraksi dari nilai atribut dan link dalam sebuah objek. State merupakan tanggapan dari objek terhadap event-event masukan.
8.Skenario
Skenario adalah urutan event yang terjadi sepanjang eksekusi sistem.

Karakteristik-karakteristik yang terdapat dalam metode pengembangan sistem berorientasi objek adalah:
 Encapsulation
Encapsulation merupakan dasar untuk membatasi ruang lingkup program terhadap data yang diproses. Data dan prosedur dikemas dalam suatu objek sehingga prosedur lain dari luar tidak dapat mengaksesnya. Data akan terlindungi dari prosedur atau objek lain.
 Inheritance
Inheritance (pewarisan) adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Suatu kelas dapat ditentukan secara umum, kemudian ditentukan secara spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki kelas induknya dan ditambah dengan sifat unik yang dimilikinya.
 Polymorphism
Polymorphism menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfisme juga menyatakan bahwa operasi yang sama mungkin mempunyai perbedaan kelas.

2. Jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu
Aplikasi yang dikembangkan pada saat ini sangat beragam dengan platform yang erbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.
Tahun 1980 Grady Booch --> konsep “Object-Oriented Design”
Tahun 1988 Shlaer dan Mellor --> buku “Object Oriented System Analysis”
Tahun 1991 --> buku “Object Oriented Design”
Tahun 1992 --> diterbitkan jilid 2 buku “Object Oriented System Analysis”. Metodologi shlaer dan Mellor ini diakui sebagai metodologi OO yang pertama

Pada Object Oriented Technology ada beberapa metode yang digunakan dalam pengembangan sistem. Salah satu yang terkenal adalah OMT (Object Modelling Technique) yang diciptakan oleh Rambough
Aktivitas-aktivitas yang dilakukan dalam OMT ini adalah:
o Model Objek
o Model Dinamis
o Model Fungsional
Dalam pengembangan sistem berbasis objek diperlukan tahapan proses analisis yang akan dilanjutkan dengan tahapan desain / perancangan sistem.

Untuk translasi model dari proses analisis ke proses desain dapat digambarkan berikut

Langkah-langkah Proses OOA dalam metode OMT
1. Menentukan domain masalah
2. Membangun model objek
- Identifikasi kelas yang relevan untuk masalah tersebut
- Penentuan atribut dan asosiasi
- Penentuan link objek
- Pengorganisasian kelas objek dengan menggunakan pewarisan
3. Pengembangan Model Dinamis
- Penyiapan skenario
- Penentuan event dan kembangkan penelusuran event untuk masing-masing skenario
- Pembuatan diagram aliran event
- Kajian tingkah laku untuk konsistensi dan kelengkapannya.
4. Pembuatan Model Fungsioanal untuk sistem tersebut
- Identifikasi input dan output
- Penggunaan aliran data untuk merepresentasikan transformasi aliran
- Pengembangan masing-masing fungsi

Langkah-langkah Proses OOD dalam metode OMT
1. Desain Sistem
- Partissi model analisis ke dalam subsistem
- Identifikasi konkurensi yang ditentukan oleh masalah
- Alokasikan subsistem ke prosesor dan tugas.
- Penentuan strategi untuk manajemen data
- Identifikasikan sumber daya globl dan mekanisme kontrol untuk mengakses
- Pengkajian trade-offs
2. Desain Objek
- Pemilihan operasi model analisis
- Penentuan algoritma untuk masing-masing operasi
- Pemilihan struktur data untuk setiap algoritma
- Penentuan kelas internal
- Pengkajian organisasi kelas untuk mengoptimalkan akses ke data
- Perancangan atribut kelas
3. Implementasi mekasnisme kontrol
4. Penyesuaian struktur kelas untuk memperkuat pewarisan
5. Perancangan pemesanan untuk mengimplementasikan hubungan objek asosiasi
6. Pengemasan kelas-kelas dan asosiasi ke dalam modul

Perkembangan OOD dalam metode OMT
 Konsep awal programming (Basic) dengan kekuatan GOTO statement
 Bahasa pemrograman terstruktur (procedural Language), menghilangkan kelemahan GOTO yang menjadikan konsep programming menjadi tidak terstruktur
Contoh: Pascal, Basic, FORTRAN, COBOL, C++, dll
Object Oriented Programming, yang mengarah ke konsep object
- Diperkenalkan pertama kali oleh bahasa SIMULA 67
- Masih berbasiskan Text, dimana program harus dibuat dengan mengetik
serangkaian perintah
- Bahasa Pemrograman lain : Smalltalk  magik, Clipper 5.2, Java, Prolog, dll

 Visual Object Oriented Programming
- memakai konsep GUI (Graphical User Interface)
- Diperkenalkan pertama kali pada tahun 1991 oleh Microsoft dengan
mengeluarkan Visual Basic
- Bahasa pemrograman lain :
Visual C++ (Dikembangkan dari bahasa C )
Visual foxpro 3.0 (Dikembangkan dari bahasa Foxpro )
Power Builder
CORBA (Common Object Request Broker Architecture)
Visual basic (Dikembangkan dari bahasa BASIC )
Borland delphi ( Dikembangkan dari bahasa PASCAL )
CA Clipper 5.3 ( Dikembangkan dari bahasa clipper )
dot NET, dll

Industri pengguna
Contoh :
- GE Network Solutions

Perangkat Lunak yang dihasilkan
Contoh :
- Smallworld GIS
* Application Development using OOP
Magik Programming --> GNU Emacs
* Data Modelling (CASE TOOLS)


Read More..