Jumat, 09 Mei 2014

Definisi Activity Diagram

Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram iniberhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yangdalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokuspada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengankata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu
sama lain. Sebagai contoh, perhatikan proses yang terjadi. “Pengambilan uang dari bankmelalui ATM.” Ada tiga aktifitas kelas (orang, dan lainnya) yang terkait yaitu : Customer,ATM, and Bank. Proses berawal dari lingkaran start hitam pada bagian atas dan berakhir dipusat lingkaran stop hitam/putih pada bagian bawah. Aktivitas digambarkan dalam bentukkotak persegi. Lihat gambar di bawah ini, agar lebih jelas :
Contoh Diagram Activity „Pengambilan Uang melalui ATM‟.


Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkanobyek mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal ( single transition )timbul dari setiap adanya activity (aktiftas), yang saling menghubungi pada aktifitas berikutnya.
Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih percabangan exclusivetransition (transisi eksklusif). Label Guard Expression (ada didalam [ ]) yang menerangkanoutput (keluaran) dari percabangan. Percabangan akan menghasilkan bentuk menyerupai bentuk intan. Transition bisa bercabang menjadi beberapa aktifitas paralel yangdisebut Fork.Fork beserta join (gabungan dari hasil output fork) dalam diagram berbentuk  solid bar (batang penuh).

Jumat, 25 April 2014

Definisi UML dan Diagram Case

A. Definisi UML ( Unified Modeling Language )

Unified Modeling Language merupakan salah satu alat bantu yang dapat digunakan dalam bahasa pemograman yang berorientasi objek, saat ini UML akan mulai menjadi standar masa depan bagi industri pengembangan sistem/perangkat lunak yang berorientasi objek sebab pada dasarnya UML digunakan oleh banyak perusahaan raksasa seperti IBM, Microsoft, dan sebagainya [Adin05].

UML (Unified Modeling Language)
adalah sebuah bahasa yang berdasarkangrafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasiandari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database.

Diagram-diagram yang ada pada UML
  • Use Case Diagram
  • Activity Diagram
  • Sequence Diagram
  • Communication Diagram (Collaboration diagram in versi 1.x)
  • Class Diagram 
  • State Machine Diagram (Statechart diagram in versi 1.x)
  • Component Diagram 
  • Deployment Diagram
  • Composite Structure Diagram 
  • Interaction Overview Diagram
  • Object Diagram
  • Package Diagram
  • Timing Diagram
A. Use Case Diagram
           Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengancara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melaluisebuah cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi untukmendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan use case diagrammemfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client.

Diagram Use Case berguna dalam tiga hal :
  • Menjelaskan fasilitas yang ada (requirements)
  • Use Case baru selalu menghasilkan fasilitas baru ketika sistem di analisa, dan design menjadilebih jelas.
  • Komunikas dengan klien
  • Penggunaan notasi dan simbol dalam diagram Use Case membuat pengembang lebih mudah berkomunikasi dengan klien-kliennya.
  • Membuat test dari kasus-kasus secara umum
  • Kumpulan dari kejadian-kejadian untuk Use Case bisa dilakukan test kasus layak untuk kejadian-kejadian tersebut.
B. Activity Diagram
             Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram iniberhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yangdalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokuspada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengankata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu
sama lain. Sebagai contoh, perhatikan proses yang terjadi. “Pengambilan uang dari bankmelalui ATM.” Ada tiga aktifitas kelas (orang, dan lainnya) yang terkait yaitu : Customer,ATM, and Bank. Proses berawal dari lingkaran start hitam pada bagian atas dan berakhir dipusat lingkaran stop hitam/putih pada bagian bawah. Aktivitas digambarkan dalam bentukkotak persegi. Lihat gambar di bawah ini, agar lebih jelas :
Contoh Diagram Activity „Pengambilan Uang melalui ATM‟.


Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkanobyek mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal ( single transition )timbul dari setiap adanya activity (aktiftas), yang saling menghubungi pada aktifitas berikutnya.
Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih percabangan exclusivetransition (transisi eksklusif). Label Guard Expression (ada didalam [ ]) yang menerangkanoutput (keluaran) dari percabangan. Percabangan akan menghasilkan bentuk menyerupai bentuk intan. Transition bisa bercabang menjadi beberapa aktifitas paralel yangdisebut Fork.Fork beserta join (gabungan dari hasil output fork) dalam diagram berbentuk  solid bar (batang penuh).
C. Sequence Diagram
           Diagram Class dan diagram Object merupakan suatu gambaran model statis. Namun ada jugayang bersifat dinamis, seperti Diagram Interaction. Diagram sequence merupakan salah satudiagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apayang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktuterjadinya dalam pesan yang terurut. Di bawah ini adalah diagram Sequence untuk pembuatan HotelReservation. Obyek yang mengawali urutanmessageadalah „aReservation Window‟.
Contoh Diagram Sequence „Pemesanan kamar di Hotel‟.

„Reservation window‟ mengirim pesan makeReservation() ke „HotelChain‟.Kemudian „HotelChain‟ mengirim pesan yang sama ke „Hotel‟. Bila „Hotel‟ punya kamar kosong,maka dibuat „Reservation‟ dan „Confirmation‟.Lifeline adalah garis dot (putus-putus)vertikal pada gambar, menerangkan waktu terjadinya suatu obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal dari pengirim ke bagian paling atas dari batang kegiatan( activation bar ) dari suatu pesan pada lifelinepenerima. Activation barmenerangkan lamanya suatu pesan diproses. Pada gambar diagram , terlihat bahwa „Hotel‟ telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar kosong. Bila benar, maka „Hotel‟membuat „Reservation‟ dan „Confirmation‟. Pemanggilan diri sendiri disebut dengan iterasi.Expression yeng dikurung dengan “[ ]”, adalah condition (keadaan kondisi). Padadiagram dapat dibuat note (catatan). Pada gambar, terlihat seperti selembar kertas yang berisikanteks. Note bisa diletakan dimana saja pada diagram UML
D. Communication Diagram (Collaboration diagram in versi 1.x)
            Collaboration diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama. Diagram Collaboration juga merupakan diagram interaction. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
Contoh Diagram Collaboration ‘Pemesanan kamar di Hotel’

Kotak kegiatan obyek diberi label dengan nama kelas atau obyek (atau keduanya). Nama kelas dibatasi dengan colons / titik dua ( : ). Setiap pesan pada diagram Collaboration mempunyai angka yang terurut. Pesan yang tingkatannya tertinggi adalah angka 1. Pesan yang berada pada tingkat yang sama memiliki prefix yang sama, namun suffix berbeda bergantung pada posisinya; hanya untuk angka 1, 2, dan seterusnya.

E. Class Diagram
            Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment , pewarisan, asosiasi, dan lain-lain.

Class memiliki tiga area pokok :
  1. Nama (dan stereotype)
  2. Atribut
  3. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :

  • Private, tidak dapat dipanggil dari luar class yang bersangkutan
  • Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
  • Public, dapat dipanggil oleh siapa saja
           Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.


Hubungan Antar Class
  • Asosiasi, yaitu hubungan statis antar class . Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
  • Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
  • Pewarisan, yaitu hubungan hirarkis antar class . Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
  • Hubungan dinamis, yaitu rangkaian pesan ( message ) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
F. State Machine Diagram (Statechart diagram in versi 1.x)
          Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram ). Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.

G. Component Diagram
             Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan ( dependency ) di antaranya. Komponen piranti lunak adalah modul berisi code , baik berisi source code maupun binary code , baik library maupun executable , baik yang muncul pada compile time, link time , maupun run time . Umumnya komponen terbentuk dari beberapa class dan/atau package , tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface , yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.


H. Deployment Diagram
           Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal Sebuah node adalah server, workstation , atau piranti keras lain yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

I.  Composite Structure Diagram
Diagram struktur komposit adalah diagram yang menunjukkan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari sistem. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifie. Diagram struktur komposit merupakan jenis diagram struktur statis dalam Unified Modeling Language (UML), yang menggambarkan struktur internal kelas dan kolaborasi. 

Struktur komposit dapat digunakan untuk menjelaskan :
  • Struktur dari bagian-bagian yang saling berkaitan
  • Run-time struktur yang saling berhubungan
Contoh : Deskripsi dari bagian-bagian mesin yang saling berhubungan untuk melakukan fungsi mesin.


J. Interaction Overview Diagram
Interaction Overview Diagram adalah pencangkokan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan.



K. Object Diagram
Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah sistem pada satu titik waktu. Karena lebih menonjolkan perintah-perintah 29 daripada class, object diagram lebih sering disebut sebagai sebuah diagram perintah.

L. Package Diagram
Diagram objek melengkapi notasi grafik untuk pemodelan objek, kelas dan relasinya dengan yang lain. Diagram objek bermanfaat untuk pemodelan abstrak dan membuat perancangan program. Untuk mengatur pengorganisasian diagram Class yang kompleks, dapat dilakukan pengelompokan kelas-kelas berupa package (paket-paket). Package adalah kumpulan elemen-elemen logika UML. Gambar di bawah ini mengenai model bisnis dengan pengelompokan kelas-kelas dalam bentuk paket-paket :
Contoh Diagram Package.

Ada jenis khusus dari diagram Class yaitu diagram Object. Kegunaannya untuk penjelasan yang sedikit dengan relasi yang sulit, khususnya relasi rekursif. Lihat gambar dibawah, diagram Class kecil menunjukkan bahwa ‘department’ dapat mengandung banyak ‘department’ yang lain.
Class yang relasinya rekursif.

Setiap tingkatan pada diagram berpengaruh pada single instance (bagian tunggal). Nama bagian digarisbawahi dalam diagram UML. Untuk Class name (nama kelas) maupun instance name (nama bagian) bisa mengambil dari diagram Object selama arti diagram tersebut masih jelas.
Instance name memiliki huruf yang digarisbawahi.


M. Timing Diagram
Timing Diagram adalah bentuk lain dari interaction diagram, dimana fokus utamanya lebih ke waktu. Timing diagram sangat berdaya guna dalam menunjukkan faktor pembatas waktu diantara perubahan state pada objek yang berbeda.

Tujuan Penggunaan UML
  • Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.
  • Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
  • Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
  • UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).


Jumat, 28 Maret 2014

Perancangan Stuktur Tabel dan Stuktur Menu

Perancangan struktur tabel adalah salah satu hal yang paling utama dalam merancang sebuah program. Hal ini dikarenakan tabel-tabel tersebut yang akan menyimpan data-data yang diolah di dalam program. Sehingga dalam pembuatannya diperlukan perancangan struktur tabel yang tepat agar tidak terjadi
kesalahan yang berdampak kepada jalannya program.
Gambaar Stuktur Tabel

Stuktur Menu

Jumat, 21 Maret 2014

Definisi ERD

Pengertian dari ERD (Entity Relationship Diagram) adalah suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol.

Pada dasarnya ada tiga komponen yang digunakan, yaitu :
a. Entiti

Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya digambarkan dengan persegi panjang.
b. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendes-kripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
c. Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut:
Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu:

  • Satu ke satu (One to one)

Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.

  • Satu ke banyak (One to many)

Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.

  • Banyak ke banyak (Many to many)

Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.



Kamis, 20 Maret 2014

DFD Level 1

Pada DFD level 1 menggambarkan proses-proses yang ada pada sistem informasi pencatatan data tahapan. Proses-proses tersebut meliputi proses input data, edit data dan hapus data seperti gambar di bawah ini.

Rabu, 12 Maret 2014

Definisi Data Flow Diagram (DFD)

Pengertian Data Flow Diagram (DFD)

Data Flow Diagram atau sering disingkat DFD adalah perangkat-perangkat analisis dan perancangan yang terstruktur sehingga memungkinkan peng-analis sistem memahami sistem dan subsistem secara visual sebagai suatu rangkaian aliran data yang saling berkaitan.
Simbol-simbol dalam DFD
Kesatuan Luar :
Merupakan kesatuan lingkungan di luar sistem yang dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari sistem.

Arus Data:
Arus data ini mengalir diantara proses, simpanan data dan kesatuan luar. Arus data ini menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem. Arus data ini ditunjukkan dengan simbol panah.
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 menghasilkan arus data yang akan keluar dari proses.

Simpan Data  :
Simpanan data merupakan simpanan dari data yang dapat berupa :
  • Suatu file atau database di sistem komputer
  • Suatu arsip atau catatan manual
  • Suatu kotak tempat data di meja seseorang
  • Suatu tabel acuan manual
  • Suatu agenda atau buku
Entitas  biasanya diberi nama dengan kata benda.

Aliran data merupakan perpindahan data dari satu titik ke titik yang lain (penggambarannya dengan cara kepala tanda panah mengarah ke tujuan datanya. Proses biasanya selalu menunjukkan suatu perubahan data dan terjadinya proses transformasi data. Penyimpanan Data (data store) diberi nama dengan kata benda, sesuai dengan data yang disimpan didalamnya.

Didalam DFD terdapat 3 level, yaitu :
  • Diagram Konteks : menggambarkan satu lingkaran besar yang dapat mewakili seluruh proses yang terdapat di dalam suatu sistem. Merupakan tingkatan tertinggi dalam DFD dan biasanya diberi nomor 0 (nol). Semua entitas eksternal yang ditunjukkan pada diagram konteks berikut aliran-aliran data utama menuju dan dari sistem. Diagram ini sama sekali tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan.
  • Diagram Nol (diagram level-1) : merupakan satu lingkaran besar  yang mewakili lingkaran-lingkaran kecil yang ada di dalamnya. Merupakan pemecahan dari diagram Konteks ke diagram Nol. di dalam diagram ini memuat penyimpanan data.
  • Diagram Rinci : merupakan diagram yang menguraikan proses apa yang ada dalam diagram Nol.
Fungsi DFD :

  • Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
  • DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem.
  • DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.
Contoh DFD :







Rabu, 05 Maret 2014

Definisi Diagram Konteks

Definisi Diagram Konteks

Merupakan gambaran sistem secara garis besar di dalam suatu lingkungan dengan entitas luar. Lingkaran tersebut menggambarkan keseluruhan proses dalam sistem yang telah dirancang.
          Beberapa yang harus di perhatikan dalam membuat diagram ini:
1.    Jangan memberikan Nomor pada diagram ini
2.    Gunakan hanya satu lingkaran proses.

3.    Beri nama lingkaran sesuai dengan fungsi sistem tersebut.

Menggambarkan satu lingkaran besar yang dapat mewakili seluruh proses yang terdapat di dalam suatu sistem. Merupakan tingkatan tertinggi dalam DFD dan biasanya diberi nomor 0 (nol). Semua entitas eksternal yang ditunjukkan pada diagram konteks berikut aliran-aliran data utama menuju dan dari sistem. Diagram ini sama sekali tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan.

Jenis pertama Context Diagram, adalah data flow diagram tingkat atas (DFD Top Level), yaitu diagram yang paling tidak detail, dari sebuah sistem informasi yang menggambarkan aliran-aliran data ke dalam dan ke luar sistem dan ke dalam dan ke luar entitas-entitas eksternal. (CD menggambarkan sistem dalam satu lingkaran dan hubungan dengan entitas luar. Lingkaran tersebut menggambarkan keseluruhan proses dalam sistem).

Beberapa hal yang harus diperhatikan dalam menggambar CD:
Terminologi sistem :

  • Batas Sistem adalah batas antara “daerah kepentingan sistem”.
  • Lingkungan Sistem adalah segala sesuatu yang berhubungan atau mempengaruhi sistem tersebut.
  • Interface adalah aliran yang menghubungkan sebuah sistem dengan linkungan sistem tersebut. Sebagai contoh, dalam gambar 1. 
  • Menggunakan satu simbol proses.
Yang masuk didalam lingkaran konteks (simbol proses) adalah kegiatan pemrosesan informasi (Batas Sistem). Kegiatan informasi adalah mengambil data dari file, mentransformasikan data, atau melakukan filing data, misalnya mempersiapkan dokumen, memasukkan, memeriksa, mengklasifikasi, mengatur, menyortir, menghitung, meringkas data, dan melakukan filing data (baik yang melakukan secara manual maupun yang dilakukan secara terotomasi).


Nama/keterangan di simbol proses tersebut sesuai dengan fungsi sistem tersebut.
  • Antara Entitas Eksternal/Terminator tidak diperbolehkan komunikasi langsung.
  • Jika terdapat termintor yang mempunyai banyak masukan dan keluaran, diperbolehkan untuk digambarkan lebih dari satu sehingga mencegah penggambaran yang terlalu rumit, dengan memberikan tanda asterik ( * ) atau garis silang ( # ).
  • Jika Terminator mewakili individu (personil) sebaiknya diwakili oleh peran yang dipermainkan personil tersebut.
  • Aliran data ke proses dan keluar sebagai output keterangan aliran data berbeda.
Contoh-contoh diagram conteks sistem informasi :
Diagram konteks Pegadaian

Diagram konteks Restoran

Diagram konteks Sistem Inforamasi Pengiriman Barang

Diagram konteks Sistem Informasi Berobat

Diagram Konteks Sistem Informasi Kursus Musik

Diagram konteks Sistem informasi Pariwisata

Diagram Konteks Sistem Kredit

Diagram konteks PSB

Diagram konteks Sistem Informasi Perpustakaan

Diagram konteks sistem penjualan barang



sumber : 
http://definisisteminformasi.blogspot.com/2012/07/definisi-diagram-konteks.html
http://7enius.wordpress.com/2012/03/11/pengertian-fungsi-dan-contoh-dari-data-flow-diagramdfd/
http://anasthea.blogspot.com/2010/04/contoh-contoh-diagram-konteks-sistem.html
http://stmikpren.blogspot.com/

Minggu, 23 Februari 2014

Model-Model Pengembangan Perangkat Lunak

A. Model Prototype


Prototyping adalah salah satu pendekatan  dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungan sebuah tahapan konstruksi aktual di lakukan ( Howard 1997)

Metode prototyping adalah sistem yang menggambarkan hal-hal penting  dari sistem informasi yang akan datang . Prototype sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesutau yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau di gabungkan dengan sistem informasi yang lain bila perlu.

Prototyping Model dapat di kalsifikasikan menjadi beberapa tipe seperti gambar di bawah ini :

  • Reusable prototype : Prototype yang akan di transformasikan menjadi produk final.
  • Throwaway prototype : Prototype yang akan di buang begitu selesai menjalankan maksud nya
  • Input/Output prototype : Prototype yang terbatas antar muka pengguna ( user interface ).
  • Processing prototype : Prototype yang meliputi perawatan file dasar dan proses-proses transaksi
  • System prototype : Prototype yang berupa model lengkap dari perangkat lunak.

Tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:
  • Identifikasi kandidat prototyping. Kandidat dalam kasus ini meliputi user interface (menu, dialog, input dan output), file-file transaksi utama, dan fungsi-fungsi pemrosesan sederhana.
  • Rancang bangun prototype dengan bantuan software seperti word processor, spreadsheet, database, pengolah grafik, dan software CASE (Computer-Aided System Engineering).
  • Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan untuk tujuan demonstrasi.
  • Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi bagian-bagian dari perangkat lunak yang di-prototype-kan.
  • Evaluasi dengan pengguna untuk mengevaluasi prototype, dan melakukan perubahan jika diperlukan.
  • Transformasikan prototype menjadi perangkat lunak yang beroperasi penuh dengan melakukan penghilangan kode-kode yang tidak dibutuhkan, penambahan program-program yang memang dibutuhkan, dan perbaikan serta pengujian perangkat lunak secara berulang.



Jenis-Jenis Prototyping

  • Feasibility prototyping - digunakan untuk menguji kelayakan dari teknologi yang akan di gunakan untuk sistem informasi yang akan di susun.
  • Requirement prototyping - digunakan untuk mengetahui kebutuhan aktivitas bisnis user.
  • Desain prototyping - digunakan untuk mendorong perancangan sistem inforamsi yang akan di gunakan.
  • Implementation prototyping - merupakan lanjutan dari rancangan prorotype, prototype ini langung di susun sebagai satu sistem informasi yang akan di gunakan.

Adapun Keunggulan dan Kelemahan dalam Model Prototype
Keunggulan Prototype : 

  • User dapat berpartisipasi aktif
  • Penentuan lebih mudah di wujudkan
  • Mempersingkat waktu perkembangan SI

Kelemahan Prototype:

  • Proses analisis dan perancangan terlalu singkat.
  • Mengesampingkan alternatif pemecahan masalah
  • Bisanya kurang fleksible dalam menghadapi erubahan.
  • Prototype yang di hasilkan tidak selamanya dirubah
  • Prototype terlalu cepat selesai.







B. Model RAD

Rapid Aplication Model (RAD) adalah sebuah proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60 sampai 90 hari).
RAD merupakan incremental software process yang menekankan pada siklus development yang singkat. Model ini mengunakan pembuatan berdasarkan komponen, menekankan penggunaan kembali code dan code generation. Jika requirement telah diketahui dengan pasti dan scope project mendesak, RAD proses memungkinkan team development untuk sistem fungsional keseluruhan dalam periode waktu yang sangat singkat (misalnya 60-90 hari). RAD model dapat digunakan untuk project yang dapat dipisah, misalnya ada 1 project besar, dibagi 3, dikerjakan oleh team yang berbeda-beda (dari analisis sampai testing) kemudian diintegrasikan. Jika menggunkan RAD model, kualitas team harus solid dan punya disiplin tinggi.

Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
  • Component based construction ( pemrograman berbasis komponen bukan prosedural).
  • Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
  • Pembangkitan kode program otomatis/semi otomatis.
  • Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
Jika keutuhan yang diinginkan pada tahap analisis kebutuhan telah lengkap dan jelas, maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak yang dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan model waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat pendek dengan penerapan teknik yang cepat.

Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan pembagian modul sistem.

Kelemahan RAD
  • Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
  • Model ini cocok untuk proyek dengan skala besar.
  • Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim.
  • Kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
  • Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
  • Penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
  • Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
  • Risiko teknis yang tinggi juga kurang cocok untuk model ini.
Kelebihan RAD
  • Fleksibilitas yang lebih besar
  • Sangat mengurangi manual coding
  • Peningkatan keterlibatan pengguna
  • Mungkin lebih sedikit cacat
  • Mungkin dikurangi biaya
  • Singkat siklus pengembangan
C. Model Skuensial Linier ( Waterfall )

Model sekuensial linear disebut juga model waterfall atau air terjun.  Model ini peertama kali muncul pada tahun1970 yang diperkenalkan oleh WinstonW.Royce. walaupun sudah dikenal dalam waktu yang lama dan sering di anggap kuno tetapi model ini paling banyak dipakai dalam industri perangkat lunak.
Model sekuensial linear berisi rangkaian proses yang disajikan secara terpisah, yaitu analisis kebutuhan,perancangan,pemgkodean,pemgujian, seta implementasi dan pemeliharaan. Setelah setiap proses dilakukan, proses tersebut ditutup dan pengembangan dilanjutkan pada proses berikutnya.
Untuk mengatasi kekurangna-kekurangan tersebut, dibuatlah model sekuensial linear yang dimodifikasis. Keunggulan model ini dibandingkan model sekuensial linear biasa adalah model ini memungkinkan tahap-tahap yang telah dilalui ditinjau kembali sehinnga jika ternyata terjadi  kesalahan atau kekurangan dalam menentukan kebutuhan di tahap awal, bisa dilakukan perbaikan atau peambahan lagi.

Model sekuensial linier melingkupi aktivitas – aktivitas sebagai berikut :

  • Rekayasa dan pemodelan sistem/informasi
Karena sistem merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke software tersebut. Pandangan sistem ini penting ketika software harus berhubungan dengan elemen-elemen yang lain seperti software, manusia, dan database. Rekayasa dan anasisis system menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta disain tingkat puncak. Rekayasa informasi mancakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis.
  • Analisis kebutuhan Software
Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khusunya pada software. Untuk memahami sifat program yang dibangun, analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan interface yang diperlukan. Kebutuhan baik untuk sistem maupun software didokumentasikan dan dilihat lagi dengan pelanggan.
  • Desain
Desain software sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Proses desain menterjemahkan syarat/kebutuhan ke dalam sebuah representasi software yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi software.
  • Generasi Kode
Desain harus diterjemahkan kedalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
  • Pengujian
Sekali program dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal software, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahan – kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
  • Pemeliharaan
Software akan mengalami perubahan setelah disampaikan kepada pelanggan (perkecualian yang mungkin adalah software yangdilekatkan). Perubahan akan terjadi karena kesalahan – kesalahan ditentukan, karena software harus disesuaikan untuk mengakomodasi perubahan – perubahan di dalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan software mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.

Kelemahan Model Waterfall ( Skuensial Linier )
  • Jarang sekali proyek nyata mengikuti aliran sekuensial yang dianjurkan oleh model. Meskipun model linier bisa mengakomodasi iterasi, model ini melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahan – perubahan dapat menyebabkan keraguan pada saat tim proyek berjalan.
  • Kadang – kadang sulit bagi pelanggan untuk menyatakan semua kebutuhannya secara eksplisit. Model linier sekuensial memerlukan halini dan mengalami kesulitan untuk mengakomodasi ketidakpastiannatural yang ada pada bagian awal beberapa proyek.
  • Pelanggan harus bersifat sabar. Sebuah versi kerja dari program – program kerja itu tidak akan diperoleh sampai akhir waktu proyek dilalui. Sebuah kesalahan besar, jika tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa menjadi petaka.
  • Pengembang sering melakukan penundan yang tidak perlu. Sifat alami dari siklus kehidupan klasik membawa kepada blocking state di mana banyak anggota tim proyek harus menunggu tim yang lain untuk melengkapi tugas yang saling memiliki ketergantungan. Blocking state cenderung menjadi lebih lazim pada awal dan akhir sebuah proses sekuensial linier.
Kelebihan Model Waterfall ( Skuensial Linier )
  • software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
  • Document pengembangan sistem sangat terorganisir, karena setiap fase harus         terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya
  • Memberikan template tentang metode analisis, desain, pengkodean,   pengujian, dan pemeliharaan.

Fase Model Air Terjun ( Waterfall ) :
  • Analisis kebutuhan dan pendefinisiannya. 
  • Perancangan sistem dan perangkat lunak
  • Implementasi dan unit testing
  • Integrasi dan pengujian sistem
  • Pengoperasian dan perawatan

Kapan Waterfall Model Digunakan?
  • Ketika semua persyaratan sudah dipahami dengan baik di awal pengembangan.
  • Definisi produk stabil dan tidak ada perubahan saat pengembangan untuk alasan apapun seperti perubahan eksternal, perubahan tujuan, perubahan anggaran atau perubahan teknologi. Untuk itu, teknologi yang digunakan pun harus sudah dipahami dengan baik.
  • Menghasilkan produk baru, atau versi baru dari produk yang sudah ada. Sebenarnya, jika menghasilkan versi baru maka sudah masuk incremental development, yang setiap tahapnya sama dengan Waterfall kemudian diulang-ulang.
  • Porting produk yang sudah ada ke dalam platform baru.

Sumber : 


Senin, 17 Februari 2014

Definisi Rekayasa Perangkat Lunak

Definisi Rekayasa Perangkat LunakMenurut Wikipedia : Rekayasa Perangkat Lunak satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas.Sedangkan Menurut IEEE Computer Society :Rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.Tujuan Rekayasa Perangkat LunakSecara lebih khusus kita dapat menyatakan tujuan dan Rekaya Perangkat Lunak ini adalah:
  • Memperoleh biaya produksi perangkat lunak yang rendah
  • Menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
  • Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
  • Menghasilkan perangkat lunak yang biaya perawatannya rendah
Kriteria Dalam Merekayasa Perangkat Lunak
  • Dapat terus dirawat dan dipelihara (maintainability)
  • Dapat mengikuti perkembangan teknologi (dependability)
  • Dapat mengikuti keinginan pengguna (robust).
  • Efektif dan efisien dalam menggunakan energi dan penggunaannya.
  • Dapat memenuhi kebutuhan yang diinginkan (usability).
Ruang Lingkup Rekayasa Perangkat Lunak
  • Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.
  • Software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak.
  • Software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk. algoritma, pengkodean, pengujian dan pencarian kesalahan.
  • Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak.
  • Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan.
  • Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
  • Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
  • Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.
Rekayasa Perangkat Lunak dan Disiplin Ilmu Lain
  • Bidang ilmu manajemen meliputi akuntansi, finansial, pemasaran, manajemen operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia, kebijakan, dan strategi bisnis. 
  • Bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik, analisis numerik, dan matematika diskrit.
  • Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek, seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif.
Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software Engineering. Istilah Software Engineering mulai dipopulerkan tahun 1968 pada Software Engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur.Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999). Pengertian RPL sendiri adalah sebagai berikut:Suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.Jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer. Pernyataan “semua aspek produksi” pada pengertian di atas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.dari buku sekolah.sumber : wikipedia , Forum Positif dari Dahlanforumhttp://ifunsika2011099.wordpress.com/