Selasa, 10 Januari 2012

PERBEDAAN SISTEM OBJEK ORIENTED DAN TERSTRUKTUR

 Perbedaan
sistem objek oriented dan terstruktur





Kata Pengantar

Dengan mengucap puji syukur kehadirat Allah SWT atas berkat dan karuniaNya yang diberikan kepada kita semua, izinkanlah kami mengucapkan syukur yang sebesar-besarnya sehingga makalah ini bisa dapat diselesaikan dengan baik.

Adapun makalah ini menjelaskan tentang “ PERBEDAAN (KELEBIHAN DAN KEKURANGAN) DARI SISTEM OBJEK ORIENTED DAN TERSTRUKTUR” yang berfokus mnjelaskan “PERBEDAAN OO DAN TERSTRUKTUR DARI SEGI SOFTWARE DAN TOOLS.

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.

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

Penyusun menyadari bahwa baik isi maupun cara penyusunan makalah ini belum sempurna. Oleh karena itu,segala saran,tegur sapa,dan kritik membangun sangat penyusun harapkan. Demikianlah mudah-mudahan makalah ini berguna dan dapat dimanfaatkan sebaik-baiknya. 
                                                                              




DAFTAR ISI


Halaman Judul
Kata Pengantar
Daftar Isi

BAB I PENDAHULUAN
 1.1 Pengertian Pemrograman Berorientasi Objek
 1.2 Pengertian Pemrograman Terstruktur
 1.3 Perbedaan pengembangan sistem dengan metode Object Oriented (OO)
      & Metode terstruktur
 1.4 OOP (Object Oriented Programming)

BAB II LATAR BELAKANG
  2.1 Object Oriented Technology
  2.2 Keunggulan dan Kelemahan Object Oriented Technology
  2.3 Object Oriented Technology

Kesimpulan
Daftar Pustaka





BAB I
PENDAHULUAN

1.1 Pengertian Pemrograman Berorientasi 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.
                      
1.2 Pengertian Pemrograman 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).
Setelah mengetahui pengertiannya? Dilihat dari pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat seperti :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
            b. Memuat algoritma yang efisien, efektif dan sederhana
            c. Program disusun dengan logika yang mudah dipahami
            d. Tidak menggunakan perintah GOTO
            e. Biaya pengujian program relatif rendah
            f. Memiliki dokumentasi yang baik
            g.Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah

Berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ). Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2.pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
3.dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.

Jadi, sangat jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.

Permodelan yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.

1.3 Perbedaan pengembangan sistem dengan metode Object Oriented (OO) & Metode terstruktur

Perbedaan pengembangan sistem metode terstruktur dan metode  OO adalah dengan menggunakan OO maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut, lebih mudah digunakan dalam pembangunan sistem, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi, tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan system, Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi, 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.

Sedangkan untuk pengembangan terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur, merupakan metode yang diketahui secara umum pada berbagai industry, sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan, Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek, merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer, relatif simpel dan mudah dimengerti, berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional, Prinsip dasar terstruktur merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.

Perbedaan
Struktural
Objek oriented
Pengertian
Pemrograman terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program
pemrograman berbasis obyek (OOP) berdasarkan pada konsep object dan interaksinya. Program diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah
Isi
Terdiri dari urutan-urutan
Terdiri dari modul-modul
Model data
Kurang fleksibel
fleksibel
Pembelajaran
mudah dipahami
Lebih mudah dipahami
Tujuan
a. Untuk meningkatkan kualitas, kehandalan dan produktifitas program
b. Untuk memudahkan pemahaman terhadap isi program
c. Untuk menyederhanakan program
d. Untuk maintenance (pemeliharaan) program
a. Meningkatkan produktifitas pemrogram dengan meningkatkan perluasan dan penggunaan kembali perangkat lunak
b. Untuk lebih memudahkan memahami isi program karena terdiri dari modul-modul terpisah
c. Program menjadi lebih sederhana
d. Memudahkan untuk maintenence
Sifat
a. Focus bagaimana cara computer menangani masalah.


b. Kurang aman



c. code hanya digunakan sekali saja untuk program tersebut


d. jika ada perubahan dalam program maka harus di cek dari awal karena adanya variable local dan variable global
e. sulit mencari kesalahan
a. focus pada masalah yang ditangani dengan menggunakan computer
b. aman karena setiap data terencapsulasi dari kelas-kelasnya
c. kode bisa digunakan kembali (reuseable) karena disimpan sebagai objek
d. jika program berubah maka hanya mengubah modul-modul yang berhbungan saja


e. relative lebih mudah mencari kesalahan
Contoh
c, pascal, basic
java, C++

1.4 OOP (Object Oriented Programming)

OOP adalah paradigma pemrograman yang cukup dominan saat ini, karena mampu memberikan solusi kaidah pemrograman modern. Meskipun demikian, bukan berarti bahwa pemrograman prosedural sudah tidak layak lagi .

OOP diciptakan karena dirasakan masih adanya keterbatasan pada bahasa pemrograman tradisional. Konsep dari OOP sendiri adalah, semua pemecahan masalah dibagi ke dalam objek. Dalam OOP data dan fungsi-fungsi yang akan mengoperasikannya digabungkan menjadi satu kesatuan yang dapat disebut sebagai objek. Proses perancangan atau desain dalam suatu pemrograman merupakan proses yang tidak terpisah dari proses yang mendahului, yaitu analisis dan proses yang mengikutinya. Pembahasan mengenai orientasi objek tidak akan terlepas dari konsep objek seperti inheritance atau penurunan, encapsulation atau pembungkusan, dan polymorphism atau kebanyakrupaan. Konsep-konsep ini merupakan fundamental dalam orientasi objek yang perlu sekali dipahami serta digunakan dengan baik, dan menghindari penggunaannya yang tidak tepat.
Class dan Objek

Dalam lingkungan program berorientasi objek, pemrogram mendefinisikan class secara statik. Pada saat run-time, class akan diinstantiasi menjadi objek. Ada pun objek yang merupakan instantiasi dari suatu class selalu dapat diacu melalui current objek, apa pun nama instant-nya.

Dapat didefinisikan bahwa class merupakan struktur data dari suatu objek, lebih jelasnya adalah sebuah bentuk dasar atau blueprint yang mendefinisikan variabel method umum pada semua objek dari beberapa macam. Objek sendiri adalah kumpulan variabel dan fungsi yang dihasilkan dari template khusus atau disebut class. objek adalah elemen pada saat run-time yang akan diciptakan, dimanipulasi, dan dihancurkan ketika eksekusi. Ada pun class merupakan definisi statik dari himpunan objek yang mungkin diciptakan sebagai instantiasi dari class. Sederhananya adalah kumpulan objek yang mempunyai atribut sama. Dengan demikian, pada saat run-time maka yang kita miliki adalah objek.

Pada bahasa pemerograman web lain ex. Java file harus disimpan dengan nama class berbeda dengan PHP kita dapat memberikan nama yang tidak mesti sama dengan nama classnya

Inheritance

Inheritance atau pewarisan adalah kalimat yang pasti ada di dalam pemerograman berorientasi objek disebut juga dengan istilah reusable.

Ketika kita menggunakan kembali atau mengganti method dari class yang sudah ada, serta ketika menambahkan field instant dan method baru, maka pada saat itulah Anda bekerja dengan inheritance. Konsep ini merupakan konsep yang fundamental dalam orientasi objek dan harus digunakan dengan baik, ada beberapa macam Inheritance atau pewarisan yang ada di dalam OOP Single Inheritance dan Multple Inheritance

- Single Inheritance

- Multiple Inheritance

Dalam penggunaan inheritance class Induk akan mewariskan semua atribut yang ia miliki sehingga class bawahnya akan memilki atribut yang sama dengan class induk, bahkan dapat memilki kebabasan untuk memilki atribut berbeda dengan class induknya berikut ilustrasi dalam php
catatan :
sampai sekarang PHP belum mendukung multiple inheritance seperti C++ walapun PHP dan c/c++ begitu banyak kemiripannya, dan perubahan PHP versi 5 ditekankan pada OOP salah satunya adalah beberapa tambahan untuk kemampuan inheritance.


Ada pun di dalam implementasi pemrograman, kebanyakan pemrogram merasakan beberapa manfaat dari inheritance atau pewarisan, diantaranya: Subclass mampu menyediakan perilaku khusus dari elemen dasar yang disediakan oleh superclass.

Pemrogram dapat mengimplementasikan superclass untuk memanggil class abstrak yang menyatakan perilaku umum.















BAB II
LATAR BELAKANG

2.1 Object Oriented Technology

            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 system secara keseluruhan.


Tahapan-Tahapan Object Oriented Technology

Pada Object Oriented Technology ada beberapa metode yang digunakan dlam pengembagan 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.

2.2 Keunggulan dan Kelemahan Object Oriented Technology

a. Keunggulan OMT

1. Uniformity

Pengembang cukup menggunakan satu metodelogi dari tahap analisis hingga perancangan. Dengan adanya perkembangan ke arah aplikasi GUI (graphical User interface) , OMT memungkinkan merancangn user interface secara terintegrasi bersama dengan perancangan perangkat lunak sekaligus dengan perancangan basis data.

2. Understandability

Kode-kode yang dihasilkan dapat diorganisasi ke dalam kelas-kels yang berhubungan dengan masalah sesungguhnya sehingga lebih mudah dipahami.

3. Stability

Kode program yang dihasilkan relatif stabil sebab mendekati permasalahn sesungguhnya dilapangan.

4. Reusability

             Dimungkinkan penggunaan kembali kode-kode sehingga akan mempercepat waktu pengembangan perangkat lunak.

b. Kelemahan OMT

Metode berorientasi objek merupakan konsep yang relatif baru sehingga belum ada standar yang diterima semua pihak dalam menentukan tool apa yang digunakan sebagai dasar analisi serat perancangan perangkat lunak.

2.3 Object Oriented Technology

A.  Pengantar Object Oriented Technology

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

B. Tahapan-Tahapan Object Oriented Technology

Pada Object Oriented Technology ada beberapa metode yang digunakan dalam pengembagan 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

C. Langkah-langkah Proses OOA dalam metode OMT

1. Tentukan domain masalah

2. Bangun model objek
- Identifikasi kelas yang relevan untuk masalah tersebut
- Tentukan atribut dan asosiasi
- Tentukan link objek
- Organisasikan kelas objek dengan menggunakan pewarisan

3. Kembangkan Model Dinamis
- Siapkan skenario
- Tentukan event dan kembangkan penelusuran event untuk masing-masing skenario
- Buatlah diagram aliran event
- Kajilah tingkah laku untuk konsistensi dan kelengkapannya.

4. Buatlah Model Fungsioanal untuk sistem tersebut
- Identiikasikan input dan output
- Gunakan aliran data untuk merepresentasikan transformasi aliran
- Kembangkan msing-masing fungsi

D. Langkah-langkah Proses OOD dalam OMT

1. Lakukan Desain Sistem
- Partissi model analisis ke dalam subsistem
- Identifikasi konkurensi yang ditentukan oleh masalah
- Alokasikan subsistem ke prosesor dan tugas.
- Pilih strategi untuk manajemen data
- Identifikasikan sumber daya globl dan mekanisme kontrol untuk mengakses
- Kajilah dan perhatikan trade-offs

2. Lakukan Desain Objek
- Pilih operasi model analisis
- Tentukan algoritma untuk masing-masing operasi
- Pilih struktur data untuk setiap algoritma
- Tentukan kelas internal
- Kajilah organisasi kelas untuk mengoptimalkan akses ke data dan tingkatkan
efesiensi komputasi
- Rancang atribut kelas

3. Implementasi mekasnisme kontrol

4. Sesuaikan struktur kelas untuk memperkuat pewarisan

5. rancang pemesanan untuk mengimplementasikan hubungan objek asosiasi

6. Kemas kelas-kelas dan asosiasi ke dalam modul


















KESIMPULAN

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.

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

Setelah mengetahui pengertiannya? Dilihat dari pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat seperti :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
            b. Memuat algoritma yang efisien, efektif dan sederhana
            c. Program disusun dengan logika yang mudah dipahami
            d. Tidak menggunakan perintah GOTO
            e. Biaya pengujian program relatif rendah
            f. Memiliki dokumentasi yang baik
            g.Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah


Perbedaan
Struktural
Objek oriented
Pengertian
Pemrograman terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program
pemrograman berbasis obyek (OOP) berdasarkan pada konsep object dan interaksinya. Program diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah
Isi
Terdiri dari urutan-urutan
Terdiri dari modul-modul
Model data
Kurang fleksibel
fleksibel
Pembelajaran
mudah dipahami
Lebih mudah dipahami
Tujuan
a. Untuk meningkatkan kualitas, kehandalan dan produktifitas program
b. Untuk memudahkan pemahaman terhadap isi program
c. Untuk menyederhanakan program
d. Untuk maintenance (pemeliharaan) program
a. Meningkatkan produktifitas pemrogram dengan meningkatkan perluasan dan penggunaan kembali perangkat lunak
b. Untuk lebih memudahkan memahami isi program karena terdiri dari modul-modul terpisah
c. Program menjadi lebih sederhana
d. Memudahkan untuk maintenence
Sifat
a. Focus bagaimana cara computer menangani masalah.


b. Kurang aman



c. code hanya digunakan sekali saja untuk program tersebut


d. jika ada perubahan dalam program maka harus di cek dari awal karena adanya variable local dan variable global
e. sulit mencari kesalahan
a. focus pada masalah yang ditangani dengan menggunakan computer
b. aman karena setiap data terencapsulasi dari kelas-kelasnya
c. kode bisa digunakan kembali (reuseable) karena disimpan sebagai objek
d. jika program berubah maka hanya mengubah modul-modul yang berhbungan saja


e. relative lebih mudah mencari kesalahan
Contoh
c, pascal, basic
java, C++


OOP adalah paradigma pemrograman yang cukup dominan saat ini, karena mampu memberikan solusi kaidah pemrograman modern. Meskipun demikian, bukan berarti bahwa pemrograman prosedural sudah tidak layak lagi .


OOP diciptakan karena dirasakan masih adanya keterbatasan pada bahasa pemrograman tradisional. Konsep dari OOP sendiri adalah, semua pemecahan masalah dibagi ke dalam objek. Dalam OOP data dan fungsi-fungsi yang akan mengoperasikannya digabungkan menjadi satu kesatuan yang dapat disebut sebagai objek. Proses perancangan atau desain dalam suatu pemrograman merupakan proses yang tidak terpisah dari proses yang mendahului, yaitu analisis dan proses yang mengikutinya. Pembahasan mengenai orientasi objek tidak akan terlepas dari konsep objek seperti inheritance atau penurunan, encapsulation atau pembungkusan, dan polymorphism atau kebanyakrupaan. Konsep-konsep ini merupakan fundamental dalam orientasi objek yang perlu sekali dipahami serta digunakan dengan baik, dan menghindari penggunaannya yang tidak tepat.

Keunggulan dan Kelemahan Object Oriented Technology

A. Keunggulan OMT

1. Uniformity

Pengembang cukup menggunakan satu metodelogi dari tahap analisis hingga perancangan. Dengan adanya perkembangan ke arah aplikasi GUI (graphical User interface) ,OMT memungkinkan merancangn user interface secara terintegrasi bersama dengan perancangan perangkat lunak sekaligus dengan perancangan basis data.

2. Understandability

Kode-kode yang dihasilkan dapat diorganisasi ke dalam kelas-kelas yang berhubungan dengan masalah sesungguhnya sehingga lebih mudah dipahami.

3. Stability

Kode program yang dihasilkan relatif stabil sebab mendekati permasalahan sesungguhnya dilapangan.

4. Reusability

   Dimungkinkan penggunaan kembali kode-kode sehingga akan mempercepat waktu pengembangan perangkat lunak.

B.   Kelemahan OMT

Metode berorientasi objek merupakan konsep yang relatif baru sehingga belum ada standar yang diterima semua pihak dalam menentukan tool apa yang digunakan sebagai dasar analisi serat perancangan perangkat lunak.















DAFTAR PUSTAKA

SISTEM TERSTRUKTUR

SISTEM TERSTRUKTUR
(DFD DAN ERD)










Kata Pengantar

Dengan mengucap puji syukur kehadirat Allah SWT atas berkat dan karuniaNya yang diberikan kepada kita semua, izinkanlah kami mengucapkan syukur yang sebesar-besarnya sehingga makalah ini bisa dapat diselesaikan dengan baik.

Adapun makalah ini menjelaskan tentang “ SISTEM TERSTRUKTUR” yang berfokus mnjelaskan “DFD dan ERD”. Apa itu pengertian dan definisinya, maupun penjelasan terperinci tentang SISTEM TERSTUKTUR (DFD dan ERD), dan komponen-komponennya.

Pendekatan terstruktur mengenalkan penggunaan alat-alat dan teknik-teknik untuk mengembangkan sistem yang terstruktur. Tujuan pendekatan terstruktur adalah agar pada akhir pengembangan perangkat lunak dapat memenuhi kebutuhan user, dilakukan tepat waktu, tidak melampaui anggaran biaya, mudah dipergunakan, mudah dipahami dan mudah dirawat. Teknik terstruktur, merupakan pendekatan formal untuk memecahkan masalah-masalah dalam aktivitas bisnis menjadi bagian-bagian kecil yang dapat diatur dan berhubungan untuk kemudian dapat disatukan kembali menjadi satu kesatuan yang dapat dipergunakan untuk memecahkan masalah.

ERD (Entity Relationship Diagram) adalah gambaran mengenai berelasinya antarentitas. DFD (Data flow Diagram)  adalah diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari sistem. DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir (misalnya lewat telpon, surat, dan sebagainya) atau lingkungan fisik dimana data tersebut akan disimpan (misalnya file kartu, harddisk, tape, diskette, dan lain sebagianya).

Penyusun menyadari bahwa baik isi maupun cara penyusunan makalah ini belum sempurna. Oleh karena itu,segala saran,tegur sapa,dan kritik membangun sangat penyusun harapkan. Demikianlah mudah-mudahan makalah ini berguna dan dapat dimanfaatkan sebaik-baiknya. 

                                                                            




     

DAFTAR ISI


Halaman Judul
Kata Pengantar
Daftar Isi

BAB I PENDAHULUAN
 1.1  Konsep perancangan terstruktur
 1.2 Pendekatan pengembangan sistem terstruktur
 1.3 Pendekatan terstruktur
1.4 Teknik struktur Dalam hubungannya dengan pengembangan sistem informasi dan software
      aplikasi sistem informasi
 1.5 Ciri-ciri utama yang mendukung pendekatan terstruktur
 1.6 Alat-alat pengembangan sistem yang berbentuk Diagram

BAB II LATAR BELAKANG
  2.1 Pengertian ERD
  2.2 Komponen-komponen ERD
  2.3 Pengertian DFD
  2.4 Komponen-komponen DFD
  2.5 Bentuk DFD
  2.6 PHYSICAL DATA FLOW DIAGRAM (PDFD)
  2.7 Syarat pembuatan pedoman bagaimana menggambar DFD baik PDFD ataupun LDFD
  2.8 Perbedaan DFD dengan BAGAN ALIR
  2.9 Keterbatasan DFD

Kesimpulan
Daftar Pustaka









BAB I
Pendahuluan

1.1 Konsep Perancangan Terstruktur

Karena banyak terjadi permasalahan-permasalahan di pendekatan klasik, maka kebutuhan akan pendekatan pengembangan sistem yang lebih baik mulai terasa dibutuhkan. Sayangnya sampai sekarang masih banyak orang yang tidak menyadari bahwa hanya dengan mengikuti tahapan di life cycle saja tidak akan membuat pengembangan sistem informasi menjadi berhasil. Oleh karena itu diperlukan suatu pendekatan pengembangan sistem yang baru yang dilengkapi dengan beberapa alat dan teknik supaya membuatnya berhasil. Pendekatan ini yang dimulai dari awal tahun 1970 disebut dengan pendekatan terstruktur (structured approach). Pendekatan terstruktur dilengkapi dengan alat-alat (tools) dan teknik-teknik (techniques) yang dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan akan didapatkan sistem yang strukturnya didefinisikan dengan baik dan jelas.

Konsep pengembangan sistem terstruktur bukan merupakan konsep yang baru. Teknik perakitan di pabrik-pabrik dan perancangan sirkuit untuk alat-alat elektronik adalah dua contoh dari konsep ini yang banyak digunakan di industri-industri. Konsep ini memang relatif masih baru digunakan dalam mengembangkan sistem informasi untuk dihasilkan produk sistem yang memuaskan pemakainya. Melalui pendekatan terstruktur, permasalahan-permasalahan yang komplek di organisasi dapat dipecahkan dan hasil dari sistem akan mudah untuk dipelihara, fleksibel, lebih memuaskan pemakainya, mempunyai dokumentasi yang baik, tepat pada waktunya, sesuai dengan anggaran biaya pengembangannya, dapat meningkatkan produktivitas dan kualitasnya akan lebih baik (bebas kesalahan). Salah satu tools dan teknik dalam pengembangan sistem terstruktur adalah menggunakan DFD (Data Flow Diagram = Diagram Arus Data, DAD).

1.2 Pendekatan Pengembangan Sistem Terstruktur

Terdapat beberapa pendekatan untuk mengembangkan sistem yaitu:
1.Dipandang dari metodologi yang digunakan:
Ø                   Ø   Pendekatan Klasik (Classical Approach) mengembangkan sistem dengan mengikuti tahapan
-                 tahapan di system life cycle.
Ø  Pendekatan Terstruktur (Structured Approach) menyediakan sistem tambahan berupa alat-alat dan teknikteknik untuk mengembangkan sistem disamping tetap mengikuti ide dari system life cycle.

2. Dipandang dari sasaran yang dicapai:
Ø  Pendekatan Sepotong (Piecerneal Approach) merupakan pendekatan pengembangan sistem yang menekankan pada suatu kegiatan atau aplikasi tertentu saja, tanpa memperhatikan posisi dan sasaran keseluruhan organisasi
Ø  Pendekatan Sistem (Systems Approach) memperhatikan sistem informasi sebagai satu kesatuan terintegrasi untuk masing-masing kegiatan atau aplikasinya.

1.3 Pendekatan Terstruktur

Pendekatan terstruktur mengenalkan penggunaan alat-alat dan teknik-teknik untuk mengembangkan sistem yang terstruktur. Tujuan pendekatan terstruktur adalah agar pada akhir pengembangan perangkat lunak dapat memenuhi kebutuhan user, dilakukan tepat waktu, tidak melampaui anggaran biaya, mudah dipergunakan, mudah dipahami dan mudah dirawat. Teknik terstruktur, merupakan pendekatan formal untuk memecahkan masalah-masalah dalam aktivitas bisnis menjadi bagian-bagian kecil yang dapat diatur dan berhubungan untuk kemudian dapat disatukan kembali menjadi satu kesatuan yang dapat dipergunakan untuk memecahkan masalah.

1.4 Teknik terstruktur dalam hubungannya dengan pengembangan sistem informasi dan software aplikasi sistem informasi

Dalam hubungannya dengan pengembangan sistem informasi dan software aplikasi sistem informasi, teknik terstruktur terbagi menjadi :

�� Pemrograman terstruktur adalah proses yang berorientasi kepada teknik yang digunakan untuk merancang dan menulis program secara jelas dan konsisten
�� Desain terstruktur merupakan salah satu proses yang berorientasi teknik yang digunakan untuk memilah-milah program besar ke dalam hirarki modul-modul yang menghasilkan program komputer yang lebih kecil agar mudah untuk diimplementasikan dan dipelihara (dirubah)
�� Analisis Terstruktur Modern merupakan teknik yang berorientasi kepada proses yang paling populer dan banyak digunakan dewasa ini.
�� Pemodelan Data merupakan suatu teknik yang berorientasi kepada data dengan menunjukkan sistem hanya datanya saja terlepas dari bagaimana data tersebut akan diproses atau digunakan untuk menghasilkan informasi.
�� Rekayasa Informasi merupakan perpaduan dari pemodelan data dan proses, juga memberikan penekanan baru terhadap pentingnya perencanaan sistem informasi.

1.5 Ciri-ciri utama yang mendukung pendekatan terstruktur

�� memanfaatkan alat-alat pemodelan
menggunakan model untuk menjelaskan berbagai sistem, sub sistem untuk ditelaah dan dievaluasi oleh pelanggan dan pengembang (sebagai alat komunikasi, eksperimentasi atau prediksi)


�� merancang berdasar modul
modularisasi adalah proses yang membagi suatu sistem menjadi beberapa modul yang dapat
beroperasi secara independent

�� bekerja dengan pendekatan top-down
dimulai dari level atas (secara global) kemudian diuraikan sampai ke tingkat modul (rinci)

�� dilakukan secara iterasi
dengan iterasi akan didapat hasil yang lebih baik, terlalu banyak iterasi juga akan menurunkan hasilnya dan menunjukkan bahwa tahap sebelumnya tidak dilakukan dengan baik

�� kegiatan dilakukan secara paralel
pengembangan subsistem-subsistem dapat dilakukan secara paralel, sehingga akan memperpendek waktu pengembangan sistem

�� menggunakan CASE (Perangkat Lunak Pendukung Proses Pengembangan)
dengan CASE (computer aided software engineering) memungkinkan analis dapat membangun sistem dan menghasilkan executable secara otomatis

1.6 Alat-alat pengembangan sistem yang berbentuk Diagram
a.Diagram HIPO (Hierarchy plus Input-Proces-Output)
b.Diagram aliran data (DFD/Data Flow diagram)
c.Diagram keterhubungan entitas (ERD/Entity Relationship Diagram)
d.Diagram Perubahan status (STD/State Transition Diagram)
e.Structured Chart
f. Diagram SADT (Structured Analysis and Design Techniques)
g.Diagram Warnier/Orr
h.Diagram Jakson’s
i. Diagram UML





BAB II
Latar Belakang


2.1 Pengertian ERD

- ERD (Entity Relationship Diagram) adalah gambaran mengenai berelasinya antarentitas.
- Sistem adalah kumpulan elemen yang setiap elemen memiliki fungsi masing-masing dan secara bersama-sama mencapai tujuan dari sistem tersebut.
- ‘Kebersama-sama’-an dari sistem di atas dilambangkan dengan saling berelasinya antara satu entitas dengan entitas lainnya
- Entitas (entity/ entity set), memiliki banyak istilah di dalam ilmu komputer, seperti tabel (table), berkas (data file), penyimpan data (data store), dan sebagainya

2.2 Komponen-komponen ERD

1.  Entitas dan Atribut
- Entitas adalah tempat penyimpan data, maka entitas yang digambarkan  dalam ERD ini merupakan data store yang ada di DFD dan akan menjadi file data di komputer
- Entitas adalah suatu objek dan memiliki nama. Secara sederhana dapat dikatakan bahwa jika objek ini tidak ada di suatu enterprise (lingkungan tertentu), maka enterprise tersebut tidak dapat berjalan normal.
- Contoh, entitas ‘MAHASISWA’ harus ada di lingkungan perguruan tinggi, begitu juga dengan entitas ‘DOSEN’, ‘MT_KULIAH’, dan sebagainya
- Di dalam entitas ‘MAHASISWA’ berisi elemen-elemen data (biodata mahasiswa) yang terdiri atas NPM, NAMA, KELAS, ALAMAT, dan sebagainya. NPM, NAMA, KELAS, dan ALAMAT disebut dengan atribut (field)
- Gambar memperlihatkan bahwa atribut-atribut NPM, NAMA, ALAMAT, dan TGL_LAHIR harus ada di dalam biodata seorang mahasiswa.
- Atribut-atribut TINGGI_BADAN, dan WARNA_RAMBUT adalah atribut-atribut yang boleh tidak ada di dalam biodata mahasiswa (karena tidak penting).
- Sedangkan atribut NAMA_DOSEN adalah atribut yang tidak boleh ada di entitas mahasiswa
- Pada akhirnya, entitas ini akan menjadi file data (yang bersifat master file) di dalam komputer. Master file adalah file utama (yang harus ada, dan sifatnya jarang berubah)

2. Relasi
- Relasi adalah penghubung antara satu entitas (master file) dengan entitas lain di dalam sebuah sistem komputer. Pada akhirnya, relasi akan menjadi file transaksi (transaction file) di komputer
- Secara kalimat logis, contoh relasi yang terjadi di sebuah perpustakaan adalah : “Anggota meminjam buku,” atau “Anggota mengembalikan buku.” Dalam hal ini, Anggota dan Buku adalah entitas, meminjam dan mengembalikan adalah transaksi (relasi antara anggota dan buku).

2.3 Pengertian DFD

Data Flow Diagram (DFD) adalah Ide dari suatu bagan untuk mewakili arus data dalam suatu sistem bukanlah hal yang baru. Pada tahun 1967, Martin dan Estrin memperkenalkan suatu algorima program dengan menggunakan simbol lingkaran dan panah untuk mewakili arus data. E. Yourdan dan L. L. Constantine juga menggunakan notasi simbol ini untuk menggambarkan arus data dalam perancangan program. G.E. Whitehouse tahun 1973 juga menggunakan notasi semacam ini untuk membuat model-model system matematika. Penggunaan notasi dalam diagram arus data ini sangat membantu sekali untuk memahami suatu sistem pada semua tingkat kompleksitasnya seperti yang diungkapkan oleh Chris Gane dan Trish Sarson. Pada tahap analisis, penggunaan notasi ini sangat membantu sekali di dalam komunikasi dengan pemakai sistem untuk memahami sistem secara logika. Diagram yang menggunakan notasi-notasi ini untuk menggambarkan arus dari data sistem sekarang dikenal dengan nama diagram arus data (data flow diagram, DFD).

DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan  dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir (misalnya lewat telpon, surat dan sebagainya) atau lingkungan fisik dimana data tersebut akan disimpan (misalnya file kartu, microfile, harddisk, tape, diskette dan lain sebagainya). DFD merupakan alat yang cukup populer sekarang ini, karena dapat menggambarkan arus data di dalam sistem dengan terstruktur dan jelas. Lebih lanjut DFD juga merupakan dokumentasi dari sistem yang baik.

Data flow Diagram (DFD) adalah diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari sistem. DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir (misalnya lewat telpon, surat, dan sebagainya) atau lingkungan fisik dimana data tersebut akan disimpan (misalnya file kartu, harddisk, tape, diskette, dan lain sebagianya). Simbol-sombol yang digunakan di  FD mewakili maksud tertentu, yaitu:

1.External entity (kesatuan Luar) atau boundary (batas sistem).

Setiap sistem pasti memiliki batas sistem (boundary) yang memisahkan suatu sistem dengan lingkungan luarnya. Kesatuan luar (external entity) merupakan kesatuan di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainya yang berada di lingkungan luarnya yang memberikan input atau menerima output dari sistem.

2. Data flow (arus data)

Arus data di DFD diberi simbol panah. Arus data ini mengalir diantara proses, simpanan, dan kesatuan luar.

3. Process (proses)

Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses.

4. Data store (simpanan data)

Simpanan data (data store) merupakan simpanan dari data yang dapat berupa suatu file atau database di komputer, suatu arsip atau catatan manual dan lain sebagainya.

2.4 Komponen-komponen DFD

KESATUAN LUAR

Setiap sistem pasti mempunyai batas sistem (boundary) yang memisahkan suatu sistem dengan lingkungan luarnya. Sistem akan menerima input dan menghasilkan output kepada lingkungan luarnya. Kesatuan luar (external entity) merupakan kesatuan (entity) di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari sistem. Kesatuan luar ini kebanyakan adalah salah satu dari berikut ini :
a. Suatu kantor, departemen, atau divisi dalam perusahaan teatpi di luar sistem yang sedang
    dikembangkan
b. Orang atau sekelompok orang di organisasis tetapi di luar sistem yang sedang dikembangkan
c. Suatu organisasi atau orang uang berada di luar organisasi seperti misalnya langganan, pemasok
d. Sistem infromasi yang lain di luar sistem yang sedang dikembangkan
e. Sumber asli dari suatu transaksi
f. Penerima akhir dari suatu laporan yang dihasilkan oleh system

Suatu kesatuan luar dapat disimbolkan dengan suatu notasi kotak atau suatu kotak dengan sisi kiri dan atasnya berbentuk garis tebal, juga dapat diberi identifikasi dengan huruf kecil di ujung kiri atas.

ARUS DATA

Arus data (data flow) di DFD diberi simbol suatu panah. Arus data ini mengalir diantara proses (process), simpanan data (data store) dan kesatuan luar (external entity). Arus data ini menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem dan dapat berbentuk sebagai berikut ini :
a. Formulir atau dokumen yang digunakan di perusahaan
b. Laporan tercetak yang dihasilkan oleh system
c. Tampilan atau output di layar komputer yang dihasilkan oleh system
d. Masukan untuk computer
e. Komunikasi ucapan
f. Surat-surat atau memo
g. Data yang dibaca atau direkamkan ke suatu file
h. Suatu isian yang dicatat pada buku agenda
i. Transmisi data dari suatu komputer ke komputer yang lain

Arus data sebaiknya diberi nama yang jelas dan mempunyai arti. Nama dari arus data dituliskan disamping garis panahnya.

Di dalam menggambar arus data di DFD perlu diperhatikan beberapa konsep penggambarannya sebagai berikut :
1. Konsep paket dari data (packet of data) Bila dua atau lebih data mengalir dari suatu sumber yang sama ke tujuan yang sama, maka harus dianggap sebagai suatu arus data yang tunggal. Mengapa ? karena dua atau lebih data tersebut mengalir bersama-sama sebagai suatu paket. Data yang mengalir bersama-sama harus ditunjukkan sebagai satu arus data, walaupun misalnya terdiri dari beberapa dokumen.

2. Konsep arus data menyebar (diverging data flow) Arus data yang menyebar menunjukkan sejumlah tembusan dari arus data yang sama dari sumber yang sama ke tujuan yang berbeda.

3. Konsep arus data mengumpul (converging data flow) Arus data yang mengumpul menunjukkan beberapa arus data yang berbeda dari sumber yang berbeda bergabung bersama-sama menuju ke tujuan yang sama Arus data pengiriman merupakan hasil dari gabungan arus data faktur dan slip pengepakan. Arus data mengumpul ini jarang dibuat di DFD.

4. Konsep sumber dan tujuan arus data Semua arus data harus dihasilkan dari suatu proses atau menuju ke suatu proses (dapat salah satu atau kedua-duanya, yaitu berasal dari suatu proses menuju ke bukan suatu proses atau berasal dari bukan suatu proses tetapi menuju ke suatu proses atau berasal dari suatu proses dan menuju ke suatu proses). Konsep ini penting karena arus data adalah salah satu dari hasil suatu proses atau akan digunakan untuk melakukan suatu proses.

PROSES

Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses. Untuk physical data flow diagram (PDFD), proses yang dapat dilakukan oleh orang, mesin atau komputer, sedang untuk logical data flow diagram (LDFD), suatu proses hanya menunjukkan proses dari komputer. Suatu proses dapat ditunjukkan dengan simbol lingkaran atau dengan simbol empat persegi panjang tegak dengan sudut-sudutnya tumpul.

1.        Identifikasi proses
Identifikasi ini umumnya berupa suatu angka yang menunjukkan nomor acuan dari proses dan ditulis pada bagian atas di simbol proses.

2.       Nama proses
Nama proses menunjukkan apa yang dikerjakan oleh proses tersebut. Nama dari proses harus jelas dan lengkap menggambarkan kegiatan prosesnya. Nama dari proses biasanya berbentuk suatu kalimat diawali dengan kata kerja (misalnya menghitung, membuat, membandingkan, memverifikasi, mempersiapkan, merekam dan lain sebagainya). Nama dari proses diletakkan di bawah identifikasi proses di simbol proses.

3.       Pemroses
Untuk PDFD yang menunjukkan proses tidak hanya proses dari komputer, tetapi  juga proses manual, seperti proses yang dilakukan oleh orang, mesin dan lain sebagainya, maka pemroses harus ditunjukkan. Pemroses ini menunjukkan siapa atau dimana suatu proses dilakukan. Untuk LDFD yang prosesnya hanya menunjukkan proses komputer saja, maka pemroses dapat tidak disebutkan. Untuk LDFD bila pemroses akan disebutkan dapat juga untuk menyebutkan nama dari program yang melakukan prosesnya. Suatu proses terjadi karena adanya arus data yang masuk dan hasil dari proses adalah juga merupakan arus data lain yang mengalir. Berikut ini adalah berbagai kemungkinan arus data dalam suatu proses
a. Suatu proses yang menerima sebuah arus data dan menghasilkan sebuah arus data
b. Suatu proses yang menerima lebih dari satu arus data dan menghasilkan sebuah arus data
c. Suatu proses yang menerima satu arus data dan menghasilkan lebihdari sebuah arus data umumnya kesalahan proses di DFD adalah sebagai berikut :
1. Proses mempunyai input tetapi tidak menghasilkan output. Kesalahan ini disebut dengan black hole (lubang hitam), karena data masuk kedalam proses dan lenyap tidak berbekas seperti dimasukkan ke dalam lubang hitam yang dalam sekali. Kesalahan lubang hitam tampak pada proses nomor 1.

2. Proses menghasilkan output tetapi tidak pernah menerima input dan kesalahan ini disebut dengan miracle (ajaib), karena secara ajaib dihasilkan output tanpa pernah menerima input. Proses nomor 2 merupakan kesalahan jenis ini.

SIMPANAN DATA

Simpanan data (data store) merupakan simpanan dari data yang dapat berupa sebagai berikut ini :
a. Suatu file atau database di sistem computer
b. Suatu arsip atau catatan manual
c. Suatu kotak tempat data di meja seseorang
d. Suatu tabel acuan manual
e. Suatu agenda atau buku

Simpanan data di DFD dapat disimbolkan dengan sepasang garis horisontal parallel yang tertutup di salah satu ujungnya LDFD, penjelasan ini dapat digunakan untuk identifikasi dari simpanan data yang berguna sebagai acuan dalam merancang database.

Di dalam penggambaran simpanan data di DFD perlu diperhatikan beberapa hal, sebagai berikut :
1. Hanya proses saja yang berhubungan dengan simpanan data, karena yang menggunakan atau merubah data di simpanan data adlah suatu proses.

2. Arus data yang menuju ke simpanan data dari suatu proses menunjukkan proses update terhadap data yang tersimpan di simpanan data. Update dapat berupa proses :
a. menambah/menyimpankan record baru atau dokumen baru ke dlm simpanan data
b. menghapus record atau mengambil dokumen dari simpanan data
c. merubah nilai data di suatu record atau di suatu dokumen yg ada di simpanan data

3. Arus data yang berasal dari simpanan data ke suatu proses menunjukkan bahwa proses tersebut menggunakan data yang ada di simpanan data. Untuk media simpanan data berupa simpanan luar komputer (disk atau tape) berarti data dari suatu record di file sedang untuk simpanan data berupa media manual berarti mengambil suatu formulir atau dokumen untuk dilihat isinya dari suatu simpanan data.

4. Untuk suatu porses yang melakukan kedua-duanya, yaitu menggunakan dan update simpanan data dapat dipilih salah satu penggambaran sebagai berikut ini
a. Menggunakan sebuah garis dengan panah mengarah kedua arah yang berlawanan dari simpanan data
b. Menggunakan arus data yang terpisah

Untuk menghindari garis arus data yang saling berpotongan sehingga membuat gambar di DFD menjadi ruwet, maka simpanan data atau kesatuan luar dapat digambar lebih dari sebuah. Misalnya DFD sebagai berikut :
Supaya gambar dari DFD tidak ruwet karena banyaknya garis arus data yang saling berpotongan, maka kesatuan luar dan simpanan data dapat digambarkan lebih dari sebuah. Duplikasi dari kesatuan luar dapat diidentifikasikan dengan suatu garis miring (/) atau dengan asterik (*). Sedang duplikasi dari simpanan data dapat diidentifikasi dengan garis vertikal (|) atau dengan asterik (*). Dengan menggambarkan ulang kesatuan luar dan simpanan data lebih dari sebuah, maka garis-garis arus data yang berpotongan dapat dihindari, sehingga DFD akan tampak tidak terlalu ruwet, seperti sebagai berikut ini :

2.5 Bentuk DFD

Terdapat 2 bentuk DFD, yaitu DFD fisik (Physical Data Flow Diagram) dan DFD logika (Logical Data Flow Diagram). DFD fisik lebih menekankan pada bagaimana proses dari sistem diterapkan sedang DFD logika lebih menekankan proses-proses apa yang terdapat di sistem.

2.6 PHYSICAL DATA FLOW DIAGRAM (PDFD)

PDFD lebih tepat digunakan untuk menggambarkan sistem yang ada (sistem yang lama). Penekanan dari PDFD adalah bagaimana proses-proses dari sistem diterapkan (dengan cara apa, oleh siapa dan dimana), termasuk proses-proses manual. Dengan menggunakan PDFD, bagaimana proses sistem yang ada akan lebih dapat digambarkan dan dikomunikasikan kepada pemakai sistem, sehingga analis system akan dapat memperoleh gambaran yang jelas bagaimana sistem tersebut bekerja. Untuk memperoleh gambaran bagaimana sistem yang ada diterapkan, PDFD harus memuat sebagai berikut :
1. Proses-proses manual juga digambarkan

2. Nama dari arus data harus menunjukkan fakta penerapannya semacam nomor formulir dan medianya (misalnya telpon atau surat). Nama arus data mungkin juga menerangkan tentang waktu mengalirnya (misalnya harian atau mingguan). Dengan kata lain, nama dari arus data harus memuat keterangan yang cukup terinci untuk menunjukkan bagaimana pemakai sistem memahami kerja dari sistem.

3. Simpanan data dapat menunjukkan simpanan non komputer, misalnya kotak in/out yang berfngsi sebagai buffer dari proses serentak yang beroperasi dengan kecepatan berbeda, sehingga ada sebuah data yang harus menunggu di buffer.

4. Nama dari simpanan data harus menunjukkan tipe penerapannya apakah secara manual atau komputerisasi. Secara manual misalnya dapat menunjukkan buku catatan, meja pekerja atau kotak in/out. Sedang secara komputerisasi misalnya menunjukkan file urut, file ISAM, file database dan lain sebagainya.

5. Proses harus menunjukkan nama dari pemroses (processor), yaitu orang, departemen, sistem komputer atau nama program komputer yang mengeksekusi proses tersebut. LOGICAL DATA FLOW DIAGRAM (LDFD) LDFD lebih tepat digunakan untuk menggambarkan sistem yang akan diusulkan (sistem yang baru). LDFD tidak menekankan pada bagaimana sistem diterapkan, tetapi penekanannya hanya pada logika dari kebutuhan-kebutuhan sistem, yaitu proses-proses apa secara logika yang dibutuhkan oleh sistem. Karena sistem yang diusulkan belum tentu diterima oleh pemakai sistem dan biasanya sistem yang diusulkan terdiri dari beberapa alternatif, maka penggambaran sistem secara logika terlebih dahulu tanpa berkepentingan dengan penerapannya secara fisik akan lebih mengena dan menghemat waktu penggambarannya dibandingkan dengan PDFD. Untuk sistem komputerisasi, penggambaran LDFD yang hanya menunjukkan kebutuhan proses dari sistem yang diusulkan secara logika, biasanya proses-proses yang digambarkan hanya merupakan proses-proses secara komputer saja.

2.7 Syarat Pembuatan

Pedoman bagaimana menggambar DFD baik PDFD ataupun LDFD adalah sebagai berikut ini :
1. Identifikasikan terlebih dahulu semua kesatuan luar (external entity) yang terlibat di sistem. Kesatuan luar ini merupakan kesatuan (entity) di luar sistem, karena di luar bagian pengolahan data (sistem informasi). Kesatuan luar ini merupakan sumber arus data ke sistem informasi serta tujuan penerima arus data hasil dari proses sistem informasi, sehingga merupakan kesatuan di luar sistem informasi.

2. Identifikasikan semua input dan output yang terlibat dengan kesatuan luar.

3. Gambarlah terlebih dahulu suatu diagram konteks (context diagram). DFD merupakan alat untuk structured analysis. Pendekatan terstruktur ini mencoba untuk menggambarkan sistem pertama kali secara garis besar (disebut dengan top level) dan memecah-mecahnya menjadi bagian yang lebih terinci (disebut dengan lower level). DFD yang pertama kali digambar adalah level teratas (top level) dan diagram ini disebut context diagram. Dari context diagram ini kemudian akan digambar dengan lebih terinci lagi yang disebut dengan overview diagram (level 0). Tiaptiap proses di overview diagram akan digambar secara lebih terinci lagi dan disebut dengan level 1. Tiap-tiap proses di level 1 akan digambar kembali dengan lebih terinci lagi dan disebut dengan level 2 dan seterusnya sampai tiap-tiap proses tidak dapat digambar lebih terinci lagi.

2.8 Perbedaan DFD dengan BAGAN ALIR

DFD sangat berbeda dengan bagan alir (flow-chart). Perbedaannya adalah sebagai berikut :
1. proses di DFD dapat beroperasi secara paralel, sehingga beberapa proses dapat dilakukan serentak. Hal ini merupakan kelebihan DFD dibandingkan dengan bagan alir yang cenderung hanya menunjukkan proses yang urut. Kenyataannya kegiatan-kegiatan proses dapat dilakukan secara tidak urut, yaitu secara parallel atau serentak, sehingga DFD dapat menggambarkan proses semacam ini dengan lebih mengena.

2. DFD lebih menunjukkan arus data di suatu sistem, sedang bagan alir sistem lebih menunjukkan arus dari prosedur dan bagan alir program lebih menunjukkan arus dari algoritma.

3. DFD tidak menunjukkan proses perulangan (loop) dan proses keputusan (decision), sedang bagan alir menunjukkannya.

2.9 Keterbasan DFD

Walaupun DFD mempunyai kebaikan-kebaikan, yaitu dapat menggambarkan sistem secara terstruktur dengan memecah-mecah menjadi level lebih rendah (decomposition), dapat menunjukkan arus data di sistem, dapat menggambarkan proses paralel di sistem, dapat menunjukkan simpanan data, dapat menunjukkan kesatuan luar, tetapi DFD juga mempunyai keterbatasan. Keterbatasan DFD adalah sebagai berikut :
1. DFD tidak menunjukkan proses perulangan (loop)
2. DFD tidak menunjukkan proses keputusan (decision)
3. DFD tidak menunjukkan proses perhitungan









Kesimpulan

Pendekatan terstruktur mengenalkan penggunaan alat-alat dan teknik-teknik untuk mengembangkan sistem yang terstruktur. Tujuan pendekatan terstruktur adalah agar pada akhir pengembangan perangkat lunak dapat memenuhi kebutuhan user, dilakukan tepat waktu, tidak melampaui anggaran biaya, mudah dipergunakan, mudah dipahami dan mudah dirawat. Teknik terstruktur, merupakan pendekatan formal untuk memecahkan masalah-masalah dalam aktivitas bisnis menjadi bagian-bagian kecil yang dapat diatur dan berhubungan untuk kemudian dapat disatukan kembali menjadi satu kesatuan yang dapat dipergunakan untuk memecahkan masalah.

ERD (Entity Relationship Diagram) adalah gambaran mengenai berelasinya antarentitas. Komponen-komponen ERD ada Entitas dan Relasi. Entitas adalah tempat penyimpan data, maka entitas yang digambarkan  dalam ERD ini merupakan data store yang ada di DFD dan akan menjadi file data di computer. Entitas adalah suatu objek dan memiliki nama. Secara sederhana dapat dikatakan bahwa jika objek ini tidak ada di suatu enterprise (lingkungan tertentu), maka enterprise tersebut tidak dapat berjalan normal. Relasi adalah penghubung antara satu entitas (master file) dengan entitas lain di dalam sebuah sistem komputer. Pada akhirnya, relasi akan menjadi file transaksi (transaction file) di computer.

Data flow Diagram (DFD) adalah diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari sistem. DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir (misalnya lewat telpon, surat, dan sebagainya) atau lingkungan fisik dimana data tersebut akan disimpan (misalnya file kartu, harddisk, tape, diskette, dan lain sebagianya). Simbol-sombol yang digunakan di  FD mewakili maksud tertentu, yaitu: External entity (kesatuan Luar) atau boundary (batas system), Data flow (arus data), Process (proses), Data store (simpanan data). Komponen-komponen DFD :





Daftar Pustaka


http://www.unhas.ac.id/rhiza/arsip/Arsitektur%20Komputer/sist%20dan%20analisis%20sist/_Microsoft_Word_-_Modul_4_APSI_-_Pendekatan_Perancangan_Ters.pdf