Kamis, 08 Desember 2011

Perbedaan Sistem Terstruktur Dan Sistem Berorientasi Objek

Perbedaan Sistem Terstruktur Dan Sistem Berorientasi Objek
1.      Pendahuluan
Metodologi yang umumnya digunakan dalam pembangunan sistem berbasis komputer dalam dunia bisnis dan industri saat ini adalah metode analisis dan design 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.
Disamping itu, akhir-akhir ini bahasa pemrograman object-oriented (OO) mulai populer dan banyak digunakan pada organisasi bisnis maupun institusi pendidikan. Seiring dengan trend sebuah metodologi dibangun untuk membantu programmer dalam mengunakan bahasa pemrograman berorientasi obyek. Metodologi ini dikenal dengan object-oriented analysis and design (OOAD).
Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman tersrtuktur. 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.


2.      Perbedaan Sistem Terstruktur dan Sistem Orientasi Objek
A.     Sistem Terstruktur
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).
a.      Kelebihan Sistem Terstruktur
·      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.
·      SAD 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.


b.      Kekurangan Sistem Terstruktur
·      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 sliit bagi pengguna untuk melakukan evaluasi.
·      Pada SAAD sliit 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).

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

a.      Kelebihan Sistem Orientasi Objek
·         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.

b.      Kekurangan Kelebihan Sistem Orientasi Objek
·         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).




Referensi :





Nama        : Ivan Octavian Anggarista
Kelas         : 1KA27
Npm          : 13111757

Sistem Terstruktur DFD dan ERD


DATA FLOW DIAGRAM (DFD)

Penggunaan bagan dan notasi untuk mewakili arus data dalam suatu sistem telah banyak dilakukan. Penggunaan notasi dalam diagram arus data ini sangat membantu dalam memahami suatu sistem pada semua tingkat kompleksitasnya. Pada tahap analisis, notasi ini membantu dalam komunikasi dengan pemakai sistem untuk memahahi sistem secara logika. Diagram ini dikenal dengan diagam arus data (Data Flow Diagram = DFD).
DFD merupakan alat pengembangan sistem yang berorientasi pada alur data dengan konsep dekomposisi yang dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program. DFD dapat digunakan untuk menggambarkan sistem yang telah ada maupun sistem baru secara logika tanpa mempertimbangkan lingkungan fisik dari data yang mengalir (misalnya lewat telepon, surat, dan sebagainya) maupun tempat data tersebut disimpan (misalnya file, kartu, hardisk, tape, disket, dan sebagainya).
Ø  KOMPONEN DFD
·         Menurut Yourdan dan DeMarco 
    ·          Menurut Gene dan Sarson

1. Terminator / Entitas Luar (External Entity) / Batas Sistem (Boundary)
Terminator adalah entitas di luar sistem yang berkomunikasi / berhubungan langsung dengan sistem. Entitas luar ini dapat berupa orang, sekelompok orang, organisasi, perusahaan, departemen atau sistem lainnya yang berada di lingkungan luar sistem yang akan memberikan input atau menerima output dari sistem.
Terdapat 2 jenis terminator :
a. Terminator sumber
Merupakan Terminator yang menjadi sumber
b. Terminator Tujuan
Merupakan terminator yang menjadi tujuan data / informasi sistem.

Sebagai identifikasi, terminator diberi nama dan biasanya menggunakan kata benda. Contoh : Dosen, Mahasiswa, Pemasok, Langganan, dan sebagainya.
 
Hal yang perlu diperhatikan tentang terminator :
a.      Alur data yang menghubungkan terminator dengan sistem, menunjukkan hubungan sistem dengan dunia luar.
b.      Profesional sistem tidak dapat mengubah isi / cara kerja, prosedur yang berkaitan dgn terminator.
c.       Hubungan yang ada antar terminator tidak digambarkan dalam DFD.

2. Proses
Komponen proses menggambarkan kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari suatu arus data yang masuk ke dalam proses (input) untuk menghasilkan arus data yang keluar dari proses (output). Untuk physical data flow diagram (PDFD), proses dapat dilakukan oleh orang, mesin atau komputer sedangkan untuk Analisis dan Perancangan Sistem logical data flow diagram (LDFD), suatu proses hanya menunjukkan proses dari komputer.
Setiap proses harus diberikan penjelasan lengkap yang meliputi :
a.      Identifikasi proses yang umumnya berupa angka pada bagian atas simbol proses.
b.      Nama proses yang menunjukkan kegiatan apa yang sedang dikerjakan oleh proses tersebut.
c.       Pemroses, pada PDFD, proses dapat dilakukan oleh komputer maupun manual seperti oleh orang, mesin, dan sebagainya sehingga perlu ditunjukkan pemrosesnya. Sedangkan pada LDFD, proses hanya dilakukan oleh komputer sehingga tidak perlu disebutkan pemrosesnya.



Ada 4 kemungkinan yang dapat terjadi dalam proses sehubungan dengan input dan output :


Ada beberapa hal yang perlu diperhatikan tentang proses :
a.      Proses harus memiliki input dan output.
b.      Proses dapat dihubungkan dengan komponen terminator, simpanan data atau proses melalui alur data.
c.       Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem digambarkan dengan komponen proses.

3. Data Store / Simpanan Data
Komponen ini digunakan untuk membuat model sekumpulan paket data. Simpanan data dapat berupa file atau database yang tersimpan dalam disket, harddisk atau bersifat manual seperti arsip / catatan manual, agenda / buku, kotak tempat data / file folder. Komponen simpanan data diberi nama dengan kata benda. Untuk PDFD, selain nama simpanan data perlu dicantumkan penjelasan mengenai media dari simpana data tersebut. Sedangkan pada LDFD, cukup identifikasi dan namanya saja.


Yang perlu diperhatikan tentang simpanan data:
a.      Hanya proses saja yang berhubungan dengan simpanan data, karena yang menggunakan atau mengubah data pada simpanan data adalah suatu proses.
b.      Alur data dari proses menuju simpanan data, hal ini berarti simpanan data berfungsi sebagai tujuan / tempat penyimpanan dari suatu proses (proses write).
c.       Alur data dari simpanan data ke proses, hal ini berarti simpanan data berfungsi sebagai sumber/ proses memerlukan data (proses read).
d.       Alur data dari proses menuju simpanan data dan sebaliknya berarti berfungsi sebagai sumber dan tujuan.

Lihat gambar berikut  :
4. Alur Data / Data Flow
Alur data digunakan untuk menerangkan perpindahan data / paket data yang terjadi di antara proses, simpanan data dan terminator. Alur data dapat berupa kata, pesan, formulir / dokumen, laporan, informasi, surat / memo, dan sebagainya. Alur data diberi nama yang jelas dan mempunyai arti.
Ada 4 konsep tentang alur data :
a. Konsep paket data (Packets of data)
Apabila ada 2 data atau lebih yg mengalir dari 1 sumber yang sama menuju pada tujuan yang sama dan mempunyai hubungan digambarkan dengan 1 alur data.

b. Konsep arus data menyebar (Diverging data flow)
Apabila ada sejumlah paket data yang berasal dari sumber yang sama menuju pada tujuan yang berbeda atau paket data yang kompleks dibagi menjadi beberapa elemen data yang dikirim ke tujuan yang berbeda.
c. Konsep arus data mengumpul (Converging data flow)
Apabila ada beberapa alur data yang berbeda sumber menuju ke tujuan yang sama.
d. Sumber dan Tujuan
Semua arus data harus dihubungkan dengan proses, baik yang dihasilkan maupun yang menuju ke suatu proses.

Ø  BENTUK DFD
Terdapat 2 bentuk DFD, yaitu DFD fisik (physical data flow diagram = PDFD) dan DFD logika (logical data flow diagram = LDFD). DFD fisik lebih menekankan pada bagaimana proses sistem diterapkan sedangkan DFD logika lebih menekankan pada proses‐proses apa yang terdapat pada sistem.
1. DFD Fisik (physical data flow diagram = PDFD)
DFD fisik lebih tepat digunakan untuk menggambarkan sistem yang sudah ada (sistem lama). Penekanan DFD fisik adalah bagaimana proses‐proses sistem diterapkan (dengan cara apa, oleh siapa, dan di mana), termasuk proses‐proses manual. Dengan DFD fisik, bagaimana proses sistem berajalan dapat lebih digambarkan dan dikomunikasikan kepada pemakai sistem, sehingga analis sistem dapat memperoleh gambaran yang jelas bagaimana sistem tersebut bekerja.
DFD fisik harus memuat :
·      Proses‐proses manual
·      Nama arus data harus menunjukkan penerapannya seperti nomor formulir dan medianya, waktu mengalirnya, dsb. Dengan kata lain, nama arus data harus memuat keterangan yanng cukup terinci untuk menunjukkan bagaimana pemakai sistem memahami kerja sistem.
·         Simpanan data dapat menunjukkan simpanan non komputer.
·         Nama dari simpanan data harus menunjukkan tipe penerapannya apakah manual atau terkomputerisasi.
·         Proses harus menunjukkan nama pemroses, yaitu orang, departemen, sistem komputer, atau nama program komputer yang mengeksekusi proses tersebut.

2. DFD Logika (logical data flow diagram = PDFD)
DFD logika lebih tepat digunakan untuk menggambarkan sistem yang akan diusulkan (sistem baru). DFD logika menekankan hanya pada logika dari kebutuhan‐kebutuhan sistem, yaitu proses‐proses apa secara logika yang dibutuhkan oleh sistem. Karena sistem yang diusulkan belum tentu diterima dan biasanya terdiri dari beberapa alternatif, maka penggambaran secara logika terlebih dahulu tanpa melihat penerapannya secara fisik akan lebih mengena dan menghemat waktu. Untuk sistem komputerisasi, penggambaran DFD logika hanya akan menunjukkan kebutuhan proses sistem, dan umumnya yang digambarkan hanya proses‐proses secara komputer saja.

Ø  PENGGAMBARAN DFD
Tidak ada aturan baku untuk menggambarkan DFD, tapi dari berbagai referensi yang ada, secara garis besar :
1. Buat diagram konteks
Diagram ini adalah diagram level tertinggi dari DFD yg menggambarkan hubungan sistem dengan lingkungan luarnya.
Cara :
a.      Tentukan nama sistemnya.
b.      Tentukan batasan sistemnya.
c.       Tentukan terminator apa saja yang ada dalam sistem.
d.      Tentukan apa yang diterima / diberikan terminator dari / pada sistem.
e.      Gambarkan diagram konteks.
2. Buat diagram level zero
Diagram ini adalah dekomposisi dari diagram konteks
Cara :
a.      Tentukan proses utama yang ada pada sistem.
b.      Tentukan apa yang diberikan / diterima masing‐masing proses pada/dari sistem sambil memperhatikan konsep keseimbangan (alur data yang keluar/masuk dari suatu level harus sama dengan alur data yang masuk/keluar pada level berikutnya)
c.       Apabila diperlukan, munculkan simpanan data (master) sebagai sumber maupun tujuan alur data.
d.      Gambarkan diagram level zero.
·      Hindari perpotongan arus data dengan membuat duplikat dari simpanan data atau terminator. Duplikasi pada terminator dapat disimbolkan dengan garis miring ( / ) atau asteriks ( *). Sedangkan pada simpanan data dapat digunakan asteriks ( * ) atau garis vertikal ( | ).
·      Beri nomor pada proses utama (nomor tidak menunjukkan urutan proses).
3. Buat diagram level Satu
Diagram ini merupakan dekomposisi dari diagram level zero.
Cara :
a.      Tentukan proses yang lebih kecil (sub‐proses) dari proses utama yang ada di level zero.
b.      Tentukan apa yang diberikan / diterima masing‐masing sub‐proses pada / dari sistem dan perhatikan konsep keseimbangan.
c.       Apabila diperlukan, munculkan simpanan data (transaksi) sebagai sumber maupun tujuan alur data.
d.       Gambarkan DFD level Satu
·         Hindari perpotongan arus data dengan membuat duplikat dari simpanan data atau terminator
·         Beri nomor pada masing‐masing sub‐proses yang menunjukkan dekomposisi dari proses sebelumnya. Contoh : 1.1, 1.2, 2.1
4. DFD level dua, tiga, ..
Diagram ini merupakan dekomposisi dari level sebelumnya. Proses dekomposisi dilakukan sampai dengan proses siap dituangkan ke dalam program. Aturan yang digunakan sama dengan level satu.




ENTITY RELATIONSHIP DIAGRAM  (ERD)
Entity Relationship Diagram (ERD) adalah diagram yang dipakai untuk mendokumentasikan data-data yang ada dengan cara mengidentifikasi tiap jenis entitas (entity) beserta hubungannya (relationship). Etode ini digunakan untuk menjelaskan suatu skema database. Terdapat dua macam ERD, yaitu conceptual ERD dan physical ERD. Beberapa elemen yang ada di dalam Entity Relationship Diagram (ERD) adalah sebagai berikut.
a.      Entity / Entitas
Entitas merupakan objek yang dapat bersifat fisik atau bersifat konsep dan dapat dibedakan satu dengan yang lainnya berdasarkan attribute yang dimilikinya. Suatu entitas disebut juga dengan file.
b.      Relationship
Relationship adalah hubungan antara dua entitas atau lebih. Tiga jenis relationship yaitu Obligatory, Non-obligatory, dan Dependency
·         Obligatory, obligatory dapat disebut juga mandatory. Obligatory adalah keadaan dimana semua anggota dari semua entitas harus berpartisipasi atau memiliki hubungan dengan etitas yang lain.
·         Non-obligatory, non-obligatory adalah keadaan dimana tidak semua anggota dari suatu entitas harus berpartisipasi atau memiliki hubungan dengan entitas yang lain.
·         Dependency, dependency adalah suatu keadaan diman syatu entitas didefinisikan secara sebagian (partial) oleh entitas lainnya. Agar terjadi hubungan ini, setiap entitas harus memiliki suatu identifier.
c.       Attribute
Attribute adalah informasi singkat atau karakteristik yang terdapat didalam sebuah entitas.
d.      Cardinality
Cardinality digunakan untuk menandai sebuah entitas yang muncul dalam relasi dengan entitas lainnya.

Referensi
http://www.unhas.ac.id/rhiza/arsip/Arsitektur%20Komputer/sist%20dan%20analisis%20sist/_Microsoft_Word_-_Modul_4_APSI_-_Pendekatan_Perancangan_Ters.pdf 
http://it.toolbox.com/wiki/index.php/Entity_Relationship_Diagram
http://www.123helpme.com/view.asp?id=121686
http://zhurazhura.blogspot.com/2010/05/data-flow-diagram-dfd.html


Nama : Ivan Octavian Anggarista
NPM : 13111757
Kelas : 1KA27