Kamis, 10 November 2011

Perbedaan Pendekatan Antara Perancangan Terstruktur dan Berorientasi Objek

Perancangan Terstruktur (Structured Analisys and Design / SSAD)

Metode ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata.
Perancangan ini bertujuan untuk membuat model SOLUSI terhadap PROBLEM yang sudah dimodelkan secara lengkap pada tahap analisis terstruktur. Ada empat kegiatan perancangan yang harus dilakukan, yaitu:
  1. Perancangan arsitektural; kita merancang struktur modul P/L dengam mengacu pada model analisis yang sesuai (DFD). Langkahnya adalah: mengidentifikasi jenis aliran (transform flow atau transaction flow), menemukan batas-batas aliran (incoming flow dan outgoing flow), kemudian memetakannya menjadi striktur hirarki modul. Selanjutnya, kita alokasikan fungsi-fungsi yang harus ada pada modul-modul yang tepat.
  2. Perancangan data; kita merancang struktur data yang dibutuhkan, serta merancang skema basisdata dengan mengacu pada model analisis yang sesuai (ERD).
  3. Perancangan antarmuka; kita merancang antarmuka P/L dengan pengguna, antarmuka dengan sistem lain, dan antarmuka antar-modul.
  4. Perancangan prosedural; kita merancang detil dari setiap fungsi pada modul. Notasi yang digunakan bisa berupa flow chart, algoritma, dan lain-lain
Pastikan bahwa model perancangan yang dibuat sudah mengakomodasi kebutuhan non fungsional.
Berikut ini merupakan kelebihan dan kekurangan metode perancangan terstruktur :
Kelebihan
  • Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
  • SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
  • Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
  • SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
  • SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
  • SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
  • SSAD relatif simpel dan mudah dimengerti.
Kekurangan
  • SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
  • Sedikit sekali manajemen langsung terkait dengan SSAD
  • Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
  • Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
  • Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi.
  • Pada SAAD sulit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
  • SSAD tidak selalu memenuhi kebutuhan pengguna.
  • SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).
Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)

Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman terstruktur. Akhir-akhir ini penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan software dengan metode tradisional. Sebagai metode baru dan sophisticated bahasa pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis.
Metode pengembangan perangkat lunak berorientasi objek yang sudah dikenal, dan diantaranya adalah :
  • Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990].
  • Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991].
  • Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].
  • Booch Method dan Grady Booch [1994].
  • Sritrop dan Steve Cook dan John Daniels [1994].
  • UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama, yaitu:
1.      Encapsulation
  •  Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
  •  Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu 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.
2.      Inheritance
  •  Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.
  • Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
  •  Inheritance menggambarkan generalisasi sebuah kelas.
3.     Polymorphism
  •  Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
  •  Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.
  •  Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan objek.
Kelebihan dan kekurangan dari metode perancangan ini adalah sebagai berikut :
Kelebihan
  • Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
  • Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
  • Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
  • Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
  • Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
  • Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
  • Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
  • OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
  • Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan
  • Pada awal desain OOAD, sistem mungkin akan sangat simple.
  • Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
  • Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
  • Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
  • Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
  • OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
  • Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).


    http://eziekim.wordpress.com/2011/11/08/perbedaan-antara-perancangan-terstruktur-dan-berorientasi-objek/

Senin, 17 Oktober 2011

Layanan Telematic


Berbagai keadaan menunjukkan bahwa Indonesia belum mampu mendayagunakan potensi teknologi telematika secara baik, dan oleh karena itu Indonesia terancam "digital divide" yang semakin tertinggal terhadap negara-negara maju. Kesenjangan prasarana dan sarana telematika antara kota dan pedesaaan, juga memperlebar rurang perbedaan sehingga terjadi pula "digital divide" di dalam negara kita sendiri. Indonesia perlu melaLayana  Telematickukan terobosan agar dapat secara efektif mempercepat pendayagunaan teknologi telematika yang potensinya sangat besar itu,untuk meningkatkan kesejahteraan rakyat dan mempererat persatuan bangsa sebagai landasan yang kokoh bagi pembangunan secara berkelanjutan.
Di dalam hal ini pemerintah perlu secara proaktif dan dengan komitmen yang tinggi membangun kesadaran politik dan menumbuhkan komitmen nasional, membentuk lingkungan bisnis yang kompetitif, serta meningkatkan kesiapan masyarakat untuk mempercepat pengembangan dan pendayagunaan teknologi telematika secara sistematik. Indonesia perlu menyambut komitmen dan inisiatif berbagai lembaga internasional, kelompok negara atau negara-negara lain secara sendiri-sendiri dalam meningkatkankerja sama yang lebih erat dalam penyediaan sumber daya pembiayaan, dukungan teknis, dan sumber daya lain untuk membantu Indonesia sebagai negara berkembang mengatasi "digital divide". Dengan kenyataan tersebut, pemerintah dengan ini menyatakan komitmen untuk melaksanakan kebijakan serta melakukan langkah-langkahdalam bentuk program aksi yang dapat secara nyata mengatasi "digital divide", dengan arah pengembangan sebagai yang dimaksud dalam isi kerangka kebijakan ini.

1.                  Layanan Telematika dibidang Informasi

Penggunaan teknologi telematika dan aliran informasi harus selalu ditujukan untuk meningkatkan kesejahteraan masyarakat, termasuk pemberantasan kemiksinan dan kesenjangan, serta meningkatkan kualitas hidup masyarakat. Selain itu, teknologi telematika juga harus diarahkan untuk menjembatani kesenjangan politik dan budaya serta meningkatkan keharmonisan di kalangan masyarakat Wartel dan Warnet memainkan peranan penting dalam masyarakat. Warung Telekomunikasi dan Warung Internet ini secara berkelanjutan memperluas jangkauan pelayanan telepon dan internet, baik di daerah kota maupun desa, bagi pelanggan yang tidak memiliki akses sendiri di tempat tinggal atau di tempat kerjanya. Oleh karena itu langkah-langkah lebih lanjut untuk mendorong pertumbuhan jangkauan dan kandungan informasi pelayanan publik, memperluas pelayanan kesehatan dan pendidikan, mengembangkan sentra-sentra pelayanan masyarakat perkotaan dan pedesaan, serta menyediakan layanan “e-commerce” bagi usaha kecil dan menengah, sangat diperlukan. Dengan demikian akan terbentuk Balai-balai Informasi. Untuk melayani lokasi-lokasi yang tidak terjangkau oleh masyarakat.

2.                  Layanan Telematika dibidang Keamanan

Layanan ini menyediakan fasilitas untuk memantau dan memberikan informasi bila ada sesuatu yang berjalan tidak seharusnya. Layanan ini dapat mengurangi tingkat pencurian dan kejahatan. Seperti contohnya dengan menggunakan Firewall dan juga anti virus yang ada.

3.                  Layanan Context Aware dan Event-Based

Di dalam ilmu komputer menyatakan bahwa perangkat komputer memiliki kepekaan dan dapat bereaksi terhadap lingkungan sekitarnya berdasarkan informasi dan aturan-aturan tertentu yang tersimpan di dalam perangkat. Gagasan inilah yang diperkenalkan oleh Schilit pada tahun 1994 dengan istilah context-awareness. Context-awareness adalah kemampuan layanan network untuk mengetahui berbagai konteks, yaitu kumpulan parameter yang relevan dari pengguna (user) dan penggunaan network itu, serta memberikan layanan yang sesuai dengan parameter-parameter itu. Beberapa konteks yang dapat digunakan antara lain lokasi user, data dasar user, berbagai preferensi user, jenis dan kemampuan terminal yang digunakan user. Sebagai contoh : ketika seorang user sedang mengadakan rapat, maka context-aware mobile phone yang dimiliki user akan langsung menyimpulkan bahwa user sedang mengadakan rapat dan akan menolak seluruh panggilan telepon yang tidak penting. Dan untuk saat ini, konteks location awareness dan activity recognition yang merupakan bagian dari context-awareness menjadi pembahasan utama di bidang penelitian ilmu komputer.

Tiga hal yang menjadi perhatian sistem context-aware menurut Albrecht Schmidt, yaitu:
a.       The acquisition of context
Hal ini berkaitan dengan pemilihan konteks dan bagaimana cara memperoleh konteks yang diinginkan, sebagai contoh : pemilihan konteks lokasi, dengan penggunaan suatu sensor lokasi tertentu (misalnya: GPS) untuk melihat situasi atau posisi suatu lokasi tersebut.
b.      The abstraction and understanding of context
Pemahaman terhadap bagaimana cara konteks yang dipilih berhubungan dengan kondisi nyata, bagaimana informasi yang dimiliki suatu konteks dapat membantu meningkatkan kinerja aplikasi, dan bagaimana tanggapan sistem dan cara kerja terhadap inputan dalam suatu konteks.
c.       Application behaviour based on the recognized context
Terakhir, dua hal yang paling penting adalah bagaimana pengguna dapat memahami sistem dan tingkah lakunya yang sesuai dengan konteks yang dimilikinya serta bagaimana caranya memberikan kontrol penuh kepada pengguna terhadap sistem.

4.                  Layanan Perbaikan Sumber

Layanan perbaikan sumber yang dimaksud adalah layanan perbaikan dalam sumber daya manusia (SDM). SDM telematika adalah orang yang melakukan aktivitas yang berhubungan dengan telekomunikasi, media, dan informatika sebagai pengelola, pengembang, pendidik, dan pengguna di lingkungan pemerintah, dunia usaha, lembaga pendidikan, dan masyarakat pada umumnya.
Konsep pengembangan sumber daya manusia di bidang telematika ditujukan untuk meningkatkan kualitas, kuantitas dan pendayagunaan SDM telematika dengan tujuan untuk mengatasi kesenjangan digital, kesenjangan informasi dan meningkatkan kemandirian masyarakat dalam pemanfaatan teknologi informasi dan komunikasi secara efektif dan optimal.
Kebutuhan akan SDM dapat dilihat dari bidang ekonomi dan bidang politik, yaitu :
a.       Dilihat dari bidang ekonomi
Pengembangan telematika ditujukan untuk peningkatan kapasitas ekonomi, berupa peningkatan kapasitas industry produk barang dan jasa.
b.      Dilihat dari bidang politik
Bagaimana telematika memberikan kontribusi pada pelayanan public sehingga menghasilkan dukungan politik.


Minggu, 16 Oktober 2011

Arsitektur Telematika

Arsitektur Telematika
Arsitektur system harus berdasarkan konfigurasi sistem secara keseluruhan yang akan  menjadi tempat dari DBMS, basis data dan aplikasi yang memanfaatkannya yang juga akan  menentukan bagaimana pemakai dapat berinteraksi dengannya. Seiring dengan kemajuan  teknologi, aristektur tersebut semakin beraneka ragam atau semakin banyak jenisnya dan  berubah pula keunggulannya. Yang harus menjadi pertimbangan utama dalam menentukan  arsitektur sistem, yang paling cocok tentu saja bukan hanya keunggulan teknologinya saja, kita  harus mempertimbangkan pula faktor biaya dan yang sesuai dengan kebutuhan nyata ditempat  dimana sistem akan digunakan.Arsitektur telematika menurut kami adalah sebuah aplikasi yang  secara logic berada diantara lapisan aplikasi (application layer dan lapisan data dari sebuah  arsitektur layer – layer TCP/IP.
Tiga elemen utama sebuah arsitektur, masing-masing sering dianggap sebagai arsitektur,  adalah:
1.      Arsitektur sistem pemrosesan, menentukan standar teknis untuk hardware,  lingkungan sistem operasi, dan software aplikasi, yang diperlukan untuk  menangani persyaratan pemrosesan informasi perusahaan dalam spektrum yang  lengkap. Standar merupakan format, prosedur, dan antar muka, yang menjamin  bahwa perlengkapan dan software dari sekumpulan penyalur akan bekerja sama.
2.      Arsitektur telekomunikasi dan jaringan, menentukan kaitan di antara fasilitas  komunikasi perusahaan, yang melaluinya informasi bergerak dalam organisasi  dan ke peserta dari organisasi lain, dan hal ini juga tergantung dari standar yang  berlaku.
3.      Arsitektur data, sejauh ini merupakan yang paling rumit diantara ketiga arsitektur  di atas, dan termasuk yang relatif sulit dalam implementasinya, menentukan  organisasi data untuk tujuan referensi silang dan penyesuaian ulang, serta untuk penciptaan sumber informasi yang dapat diakses oleh aplikasi bisnis dalam  lingkup luas.
Arsitektur klien – Server Telematika
Arsitektur klien-server telematika terdiri dari 2 buah arsitektur yakni, arsitektur sisi client dan  sisi servernya :
1.      Arsitektur klien
Istilah ini merujuk pada pelaksanaan atau penyimpanan data pada browser (atau klien) sisi  koneksi HTTP. JavaScript adalah sebuah contoh dari sisi klien eksekusi, dan cookie adalah  contoh dari sisi klien penyimpanan. Lihat Cookie, Server Side.  
Karakteristik Klien :
·         Selalu memulai permintaan ke server.
·         Menunggu balasan.
·         Menerima balasan.
·         Biasanya terhubung ke sejumlah kecil dari server pada satu waktu.
·         Biasanya berinteraksi langsung dengan pengguna akhir dengan menggunakan antarmuka pengguna seperti antarmuka pengguna grafis.
·         Khusus jenis klien mencakup: web browser, e-mail klien, dan online chat klien.

2.      Arsitektur Sisi Server
Sebuah eksekusi sisi server adalah server Web khusus eksekusi yang melampaui standar metode HTTP itu harus mendukung. Sebagai contoh, penggunaan CGI script sisi server khusus tag tertanam di halaman HTML; tag ini memicu tindakan terjadi atau program untuk mengeksekusi.  
Karakteristik Server:
·         Selalu menunggu permintaan dari salah satu klien.
·         Melayani klien permintaan kemudian menjawab dengan data yang diminta ke klien.
·         Sebuah server dapat berkomunikasi dengan server lain untuk melayani permintaan klien.
·         Jenis server khusus mencakup: web server, FTP server, database server, E-mail server, file server, print server. Kebanyakan web layanan ini juga jenis server.

Keterkaitan antara  arsitektur sisi client dan sisi server :

1.      Arsitektur Single-Tier

Definisi  satu-tier arsitektur, seperti yang ditunjukkan pada gambar di bawah ini, adalah  bahwa semua komponen produksi dari sistem dijalankan pada komputer yang sama. Ini  adalah sederhana dan paling mahal alternatif. Ada kurang perlengkapan untuk membeli  dan mempertahankan. Kelemahan dari jenis ini pelaksanaan keamanan lebih rendah dan  kurangnya skalabilitas. Sebuah arsitektur skalabel ketika dapat dengan mudah diperluas  atau ditambah untuk memenuhi kebutuhan peningkatan kinerja.  Setelah semua komponen utama situs  dan data di satu komputer di belakang firewall  daun domain situs lebih rentan terhadap serangan berbahaya. Menjalankan semua  komponen situs pada sebuah komputer juga membatasi ekspansi dan optimalisasi  kemungkinan. Anda hanya dapat menambahkan begitu banyak memori atau begitu  banyak CPU untuk sebuah server tunggal.

 Arsitektur single-tier

2.      Arsitektur Two-tier
Dalam dua lapis klien  server arsitektur, antarmuka pengguna pengguna ditempatkan di  lingkungan desktop dan sistem manajemen database jasa biasanya dalam sebuah server  yang lebih kuat merupakan mesin yang menyediakan layanan bagi banyak klien.  Pengolahan informasi dibagi antara sistem user interface lingkungan dan lingkungan  server manajemen database. Manajemen database server mendukung untuk disimpan  prosedur dan pemicu.. Vendor perangkat lunak menyediakan alat-alat untuk  menyederhanakan pengembangan aplikasi untuk dua lapis klien / server arsitektur.
 
Arsitektur Two-tier
 
3.      Arsitektur Three-tier
Arsitektur Three-Tier diperkenalkan untuk mengatasi kelemahan dari arsitektur two-tier.  Di tiga tingkatan arsitektur, sebuah middleware digunakan antara sistem user interface  lingkungan klien dan server manajemen database lingkungan. Middleware ini  diimplementasikan dalam berbagai cara seperti pengolahan transaksi monitor, pesan  server atau aplikasi server. The middleware menjalankan fungsi dari antrian, eksekusi  aplikasi dan database pementasan. Di samping itu middleware menambahkan  penjadwalan dan prioritas untuk bekerja di kemajuan. Three-tier klien / server arsitektur  digunakan untuk meningkatkan performa untuk jumlah pengguna yang besar dan juga  meningkatkan fleksibilitas ketika dibandingkan dengan pendekatan dua tingkat.  Kekurangan dari tiga tingkatan arsitektur adalah bahwa lingkungan pengembangan lebih  sulit untuk digunakan daripada pengembangan aplikasi dari dua lapis.
Arsitektur Three-tier