Jumat, 10 Agustus 2012

MDAC - MIcrosoft Data Access Component


Microsoft Data Access Component (MDAC) adalah sekumpulan komponen yang merupakan kunci dari teknologi yang membangun aplikasi database. Aplikasi database client server baik itu yang berbasis web ataupun pada suatu LAN dapat menggunakan komponen-komponen ini untuk mengintegrasikan informasi dari berbagai macam sumber data, baik itu yang sifatnya relasional (SQL) maupun data yang tidak relasional komponen-komponen dalam MDAC diantaranya adalah 
1) Microsoft ActiveX Data Object (ADO)
2) OLE DB
3) OPEN Database Conectivity (ODBC)

Gambar berikut ini akan menunjukan secara keseluruhan mengenai arsitektur MDAC dan bagaimana MDAC ini menjadi kunci dakam membangun model UDA (Universal Data Access).





Berikut adalah penjelasan terkait MDAC

1) ActiveXData Object (ADO)
Microsoft ActiveX Data Object (ADO) adalah suatu Application Programming Interface (API) strategi yang khusus digunakan dalam pengaksesan data dan informasi. ADO memberikan cara yang konsisten, pengaksesan data dengan performa tinggi yang mendukung berbagai kepentingan untuk membangun sebuah aplikasi, termasuk dalam pembuatan aplikasi client database, tools, atau browser internet, ADO didesain sedemikian rupa untuk menjadi satu data interface yang dapat digunakan untuk kepentingan single dan client server serta aplikasi berbasis WEB. Keuntungan utama dari ADO adalah kemudahan dalam penggunaan, kecepatan tinggi dan penggunaan memory yang minimal.
Jika kita melihat posisi ADO pada gambar diatas. ADO berada diatas tekhnologi akses data yang lain dan memberikan dukungan data akses terhadap para developer.
ADO memberikan kemudahan interface dalam mengakses OLE DB. ADO menerapkan trafik jaringan secara minimal dan meminimalkan jumlah layar antara fron-end dan sumber data untuk memberikan interface yang ringan tetapi dengan performa yang tinggi. ADO sangat mudah digunakan karena berbasis interface COM automation yang saat ini sudah tersedia pada semua RAD development tools, dan bahasa-bahasa pemrograman di pasaran.

2) OLE DB
OLE DB adalah interface strategis programming pada level sistem untuk mengakses data. OLE DB adalah suatu spesifikasi terbuka yang didesain atas kesuksesan ODBC dengan memberikan suatu standar terbuka untuk mengakses berbagai macam data. ODBC dibuat untuk mengakses database relasional, sedangkan OLE DB di desain data relasional maupun non-relasional.
OLE DB digambarkan sebagai sebuah kumpulan dari COM interface yang mengendalikan berbagai macam service database management system. Interface ini memungkinkan pembuatan suatu komponen software yang digunakan oleh berbagai macam service. Interface OLE DB didesain untuk membantu komponen-komponen agar dapat berintegrasi secara mudah sehingga pembuat komponen OLE DB dapat mebuat komponen OLE DB bagi pengguna denagan kualitas yang baik dan cepat. Sebagai tambahan, OLE DB menawarkan suatu jembatan kepada ODBC untuk membah dukungan kepada driver database ODBC yang banyak ragamnya saat ini.

3) Open Database Connectivity (ODBC)
Interface Microsoft Open Database Connectivity (ODBC) adalah suatu standar industri saat ini dan merupakan komponen dari Mcrosoft Window Open Service Architecture (WOSA). Interface ODBC membuat aplikai-aplikasi dapat mengkases data dari berbagai macam database management system (DBMSs). ODBC mengijinkan interoperabilitas secara maksimal terhadap berbagai macam DBMS hanya dengan melaluisatu interface. Ini dapat dikatakan bahwa suatu aplikasi akan bejalan secara independen. Pengguna aplikasi dapat menambah suatu software komponen yang dinamakan driver, yang mana menciptakan suatu interface antara suatu aplikasi dan suatu DBMS spesifik.

4) OLE Automation
OLE (Object Linking and Embedding) adalah suatu protokol yang memungkinkan adanya komunikasi diantara beberapa aplikasi yang berbeda. Bagian dari OLE yang memungkinkan berbagai aplikasi saling berkomunikasi tersebut dikenal sebagai OLE Automation. Ada dua bentuk OLE  Automation yaitu OLE Automation Client dan OLE Automation Server.
OLE Automation Client dapat mengendalikan aplikasi lain yaitu OLE Automation Server. Dengan kata lain OLE Automation Client adalah suatu aplikasi yang dapat menggunakan berbagai objek beserta fungsi dan prosedurnya yang memang telah disediakan oleh OLE Automation Server. Untuk mengendalikan apikasi berbentuk OLE Automation Server tersebut. Protokol OLE dirancang berdasarkan arsitektur berbasis komponen yang disebut COM (Component Obyek Model)

Rabu, 25 Juli 2012

Pemodelan Perangkat Lunak

Saya sudah sering menulis tentang topik ini: pemodelan perangkat lunak, namun karena adanya kebutuhan untuk "mengumpulkan" tulisan-tulisan saya yang tersebar, menjadi lebih mudah dibaca, maka saya (kembalil) menulis topik ini.

Silahkan baca disini, bagi yang ingin mengetahui mengenai UML sebagai Bahasa Pemodelan Perangkat Lunak:

  1. UML dan Pemodelan Software: tulisan ini membahas mengenai jenis-jenis diagram yang ada pada UML, beserta kegunaannya, dan pada proses SDLC mana diagram itu dapat digunakan http://stanlysk.blogspot.com/2012/04/pemodelan-dengan-uml.html
  2. Model Sistem Perangkat Lunak: tulisan ini membahas tentang LINK official UML, serta maksud dan tujuan digunakannya UML sebagai alat pemodelan perangkat lunak. http://stanlysk.blogspot.com/2012/07/model-sistem-perangkat-lunak.html
  3. UML Use Case Diagram; bagian tulisan ini menjelaskan secara mendetail, langkah-langkah logis tertentu dalam memodelkan perangkat lunak, dengan pendekatan user-oriented dan menggunakan UML Use Case Diagram http://stanlysk.blogspot.com/2012/05/use-case-diagram.html
  4. Sequence Diagram; bagian tulisan ini menjelaskan secara mendetail, langkah-langkah logis tertentu dalam memodelkan perangkat lunak, dengan menggunakan UML Sequence Diagram  http://stanlysk.blogspot.com/2012/05/sequence-diagram.html
Bagi yang ingin melihat Video Tuturial tentang Pemodelan menggunakan UML, maka saya menganjurkan beberapa LINK Youtube dibawah ini:
1. Pengenalan tentang UML, klik disini: http://www.youtube.com/watch?v=FkRwbVUVFvE&feature=fvwrel

Tautan dibawah ini, adalah daftar tools yang bisa digunakan untuk menggambar model UML:








Senin, 23 Juli 2012

Model Sistem Perangkat Lunak



Pertanyaan pertama yang selalu muncul di benak pengembang perangkat lunak adalah "mengapa harus repot-repot membuat model sistem dari perangkat lunak yang akan dibangun?"

Memang, jika hanya melihat dari "satu sisi", maka langkah pemodelan sistem perangkat lunak, seperti membuang waktu. Namun demikian, pada kenyataannya, tidaklah demikian. Para pengembang perangkat lunak yang punya banyak "jam terbang" dan telah mengembangkan berbagai "model" akan menyetujui bahwa langkah pemodelan merupakan langkah yang penting dan strategis, dalam pengembangan perangkat lunak.

Sedikitnya ada beberapa alasan mengapa para pengembang "pemula" tidak memahami pentingnya langkah pemodelan perangkat lunak, diantaranya adalah:
1) terlalu banyak melibatkan pekerjaan "dokumentasi" perangkat lunak;
2) tidak menggambarkan persyaratan non - fungsional
3) tidak dapat menggambarkan keseluruhan aplikasi yang akan dikembangkan
4) jika modelnya terlalu "mendetail" maka justru akan membuat kebingungan.

Para pengembang "pemula" JUSTRU harus mengubah paradigma diatas, dengan meyakini bahwa model perangkat lunak, merupakan syarat penting untuk memulai kegiatan pengembangan perangkat lunak. Misalnya, dengan menggunakan model diagram, maka pengembang dapat "mengkomunikasikan" dengan pengguna, perihal perangkat lunak yang akan dikembangkan. Dari sisi pengembang, maka model perangkat lunak akan menjadi "panduan" pada langkah-langkah selanjutnya.

Banyak notasi yang dapat digunakan untuk memodelkan perangkat lunak, yang umum digunakan adalah:
Diagram Konteks,
Data Flow Diagram
Diagram Aktivitas
Diagram Use Case
Diagram Kelas
Diagram Sekuens
Diagram Navigasi

UML adalah salah notasi pemodelan yang umum digunakan dalam industri perangkat lunak. Untuk acuan RESMI dari notasi pemodelan UML, dapat mengklik tautan dibawah ini:
1. http://www.uml.org/
3. Document Associated with UML version 2.0:
4. UML version 2: In support on model driven development:


Sabtu, 21 Juli 2012

Catatan Seminar Sabtu, 21 Juli 2012

Hari ini, Sabtu 21 Juli 2012 kembali saya diminta untuk memberikan Seminar tentang Teknologi Informasi. Kali ini yang meminta saya adalah salah satu komunitas Kristen. Mereka meminta saya menerangkan tentang Pengaruh Teknologi Informasi, khususnya untuk generasi muda.

Berikut adalah LINK terkait materi saya tersebut:

1. Paradigma Kristen mengenai Teknologi Informasi; klik disini:
http://stanlysk.blogspot.com/2012/06/information-technology-christian.html

2. Tentang Perspektif Teknologi Informasi, klik disini:
http://stanlysk.blogspot.com/2012/04/perspektif-teknologi-informasi.html

3. Apa itu Web 2.0?, klik disini:
http://stanlysk.blogspot.com/2012/05/apa-itu-web-20.html
 
Demikian beberapa catatan saya terkait pelaksanaan Seminar kali ini. Semoga bermanfaat!

Jumat, 20 Juli 2012

Requirements Engineering

Apakah yang dimaksud dengan requiremens engineering tersebut?

Menurut pemahaman Ian Sommerville, software requirements adalah ...
Requirements engineering is the process of establishing: (1) the services that the customer requires from a system; (2) the constraints under which it operates and is developed
Jadi, pada dasarnya, requirements adalah proses dimana developer sistem/aplikasi mencoba untuk memahami secara jelas, apa yang diinginkan user (atau stakeholders) pada sistem/aplikasi yang ingin dikembangkan.
Perlu diperhatikan disini, bahwa proses requirements merupakan proses yang sangat krusial dalam pengembangan perangkat lunak. Apalagi jika kita berparadigma bahwa ukuran "kualitas" perangkat lunak yang akan dibangun itu adalah "sesuai dengan kebutuhan dan keinginan pengguna".
Yang menjadi tantangan disini adalah bagaiman pengembang dan pengguna dapat memiliki kesaman persepsi mengenai setiap services dan constraints dari perangkat lunak yang akan dikembangkan.

Software Requirements atau Persyaratan Perangkat Lunak daapt dibedakan menjadi:
1) User Requirements: 
statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers
2) System Requirements:
A structured document setting out detailed descriptions of the system services. Written as a contract between client and contractor
dan
3) Software Specification Requirements:
A detailed software description which can serve as a basis for a design or implementation. Written for developers

Dalam prakteknya, pendefinisian software requirements itu dilakukan dengan menggunakan berbagai model diagram, seperti misalnya UML Use Case Diagram, ataupuan Data Flow Diagram. Tujuan menggunakan notasi diagram adalah untuk "memudahkan" pemahaman antara user dan pengembang.


Proses pendefinisian perangkat lunak, bertujuan untuk "menyelesaikan" berbagai perbedaan antara pengembang dan pengguna seperti yang diilustrasikan pada gambar diatas.
Secara umum, software requirements sering dibedakan menjadi requirement fungsional, non-fungsional dan requirements domain.

Untuk penulisan dokumen Software Requirements Spesification (SRS) dapat mengacu pada standar IEEE, seperti yang ditulis selengkapnya disini:
http://asingh.com.np/blog/ieee-srs-recommendations/
atau bisa juga melihat tulisan blog disini:
http://techwhirl.com/skills/tech-docs/writing-software-requirements-specs/

Beberapa Contoh Template Dokumen SRS dapat diunduh disini:

Penjelasan Video Tutorial Pembuatan Software Requirements Specification, dapat dilihat disini:
http://www.youtube.com/watch?v=HcRQ8oLik18
dan, disini:
http://www.youtube.com/watch?gl=ID&v=_XTQjKhh6hQ

Semoga Bermanfaat ...