ahdazul on May 30th, 2011

Activity diagram login

Activity diagram pendaftaran

Activity diagram denda

ahdazul on May 3rd, 2011

Sistem Informasi Swalayan

  • Perancangan Data -  ERD
  • Perancangan Proses – DAD

S.I SWALAYAN

Kebutuhan Fungsional :

  1. Pengolahan data barang, data karyawan,supplier, member
  2. Mencari data barang, data karyawan, data supplier, data member
  3. Menghandle Transakasi penjualan
  4. Menghandle frekuensi pembelian
  5. Menghasilkan laporan transaksi penjualan dan pembelian
  6. Menghasilkan laporan data barang, data karyawan, data supplier, data member
  7. Mencetak Kartu Member
  8. Mencetak Nota

Entitas :

  • Member
  • Barang
  • Karyawan
  • Supplier

S.I DENGAN 5 ENTITAS

Perancangan Proses

DAD Level Konteks = DAD level 0


ahdazul on March 9th, 2011

A. WATERFALL

Model Waterfall adalah suatu proses pengembangan perangkat lunak berurutan, di mana kemajuan dipandang sebagai terus mengalir ke bawah (seperti air terjun) melewati fase-fase perencanaan, pemodelan, implementasi (konstruksi), dan pengujian.

Berikut adalah langkah-langkah pengembangan perangkat lunak dengan model waterfall:

1. Scope

Kegiatan awal pada perencanaan adalah penentuan scope. Pernyataan scope mencakup data, fungsi, dan perilaku yg harus diimplementasikan, performance dan constrain serta informasi-informasi pendukung lainnya

2. Software Requirement (Kebutuhan Perangkat Lunak)

Requirement adalah gambaran dari layanan (services) dan batasan bagi sistem yang akan dibangun.

Pengumpulan requirement

  • Interviews : Memberi informasi yang terbaik,mahal.
  • Questionnaires: Bagus jika banyak orang terlibat dan tersebar, respon cenderung kurang baik.
  • Observation: Akurat jika dilakukan dengan baik, mahal.
  • Searching: Informasi terbatas, cenderung tidak menampilkan hal-hal yang mungkin jadi masalah.

Beberapa macam requirement:

  • User Requirement (Kebutuhan Pengguna)

Pernyataan tentang layanan yang disediakan sistem dan tentang batasan-batasan operasionalnya. Dilengkapi dengan gambar/diagram yang dapat dimengerti dengan mudah.

  • System Requirement (Kebutuhan Sistem)

Sekumpulan layanan/kemampuan sistem dan batasan-batasannya yang ditulis secara detil. Ini bisa berlaku sebagai kontrak antara klien dan pembangun.

  • Software Requirement Specification (Spesifikasi Kebutuhan Perangkat Lunak)

Gambaran abstrak dari rancangan perangkat lunak yang menjadi dasar bagi perancangan dan implementasi yang lebih detil

3. Analisa

Tujuan analisa adalah sebagai berikut:

  • Mengambarkan kebutuhan pelanggan,
  • Membangun dasar-dasar untuk proses desain perangkat lunak,
  • Mendefinisikan semua kebutuhan pelanggan sesuai dengan lingkup kontrak yang disepakati kedua belah pihak.

Pemodelan analisa terdiri dari 3 bagian yaitu pemodelan data, pemodelan fungsional, dan pemodelan kelakuan.

Pemodelan Data adalah mendeskripsikan data yang terlibat dalam PL yang terdiri dari:

  • Data Object Description
    Yaitu deskripsi atribut dari setiap objek data.
  • Entity Relationship Diagram
    Yaitu diagram keterhubungan antar objek data.
  • Data Dictionary
    Yaitu deskripsi semua objek data yang dibutuhkan maupun dihasilkan oleh perangkat lunak.

Pemodelan Fungsional adalah mendeskripsikan seluruh fungsi yang terlibat dalam perangkat lunak yang terdiri dari:

  • Data Flow Diagram

Menggambarkan bagaimana data ditransformasikan pada perangkat lunakdan enggambarkan fungsi-fungsi yang mentransformasikan data.

  • Process Specification

Berisi deskripsi dari setiap fungsi yang muncul pada DFD.

Pemodelan Status/Kelakuan adalah mendeskripsikan status sistem yang dapat muncul ketika perangkat lunak digunakan atau mendeskripsikan kelakuan sistem.

  • State Transition Diagram
  • Control Specification

4. Perancangan

Perancangan perangkat lunak adalah proses dimana analisa diterjemahkan menjadi “cetak-biru” untuk membangun perangkat lunak. Awalnya, cetak biru menggambarkan pandangan menyeluruh perangkat lunak. Yaitu, desain diwakili pada tingkat abstraksi tinggi-tingkat yang dapat langsung ditelusuri pada sistem tertentu objektif dan data yang lebih rinci, fungsional, dan perilaku persyaratan. Seperti terjadi pengulangan desain, perbaikan berikutnya mengarah pada representasi desain yang jauh lebih rendah tingkat abstraksi.

Prinsip perancangan perangkat lunak:

  • Siap dengan alternatif solusi.
  • Perancangan yang dibuat bisa dilacak sampai ke model analisis.
  • Untuk bagian-bagian yang berpola sama gunakan komponen yang sudah ada. Ini sering disebut : reuse design component.
  • Struktur perangkat lunak sebisa mungkin mendekati struktur domain yang sebenarnya.
  • Perancangan sebaiknya menampilkan keseragaman dan kesatuan.
  • Perancangan harus terstruktur dan mudah menerima perubahan.
  • Mampu mengatasi kejadian tidak normal dengan baik.
  • Perancangan tidak sama dengan pengkodean.
  • Kualitas perangkat lunak harus sudah terlihat dari perancangan.
  • Perancangan, sebelum dikodekan, perlu diuji untuk mengurangi kesalahan.

Metode Perancangan:

  • Perancangan Data

Yaitu transformasi model data yang dihasilkan oleh proses analisis menjadi struktur  data yang dibutuhkan pada saat implementasi.

Hasil perancangan data adalah:

- struktur data siap diprogram

- struktur basis data siap dibuat oleh pemrogram

- prosedur/operasi untuk mengakses data, siap diprogram

  • Perancangan Arsitektur

Yaitu definisi keterkaitan antar elemen-elemen utama yang akan membentuk program.

Hasil perancangan arsitektural:

Structure Chart yang merepresentasikan gambaran menyeluruh struktur/ arsitektur perangkat lunak, beserta seluruh hierarki kendali/passing parameter, yang siap dituliskan dalam bentuk modul program.

  • Perancangan Antarmuka

Yaitu penjabaran komunikasi: internal perangkat lunak, antara perangkat lunak, dengan sistem diluarnya, dan antara perangkat lunak dengan usernya.

Hasil perancangan antarmuka adalah:

- definisi antarmuka modul yang siap untuk diprogram

- definisi / format rancangan layar yang siap diimplementasikan

  • Perancangan Prosedur

Yaitu transformasi elemen struktural dari arsitektur program menjadi deskripsi prosedur.

Hasil perancangan prosedur adalah:

Flow-chart

- Algoritma/pseudocode/program design language

5. Implementasi

Implementasi perangkat lunak adalah melaksanakan,eksekusi, atau praktek dari rencana, metode, atau desain dalam pengembangan perangkat lunak.

Pada tahap ini dilakukan kerja untuk membangun perangkat lunak berdasarkan analisa dan pemodelan yang telah dilakukan. Sehigga hasil dari tahap ini adalah basis data dan source code perangkat lunak.

6. Pengujian

Setelah source code dihasilkan, perangkat lunak harus diuji untuk menemukan (dan membenarkan) sebanyak mungkin kesalahan yang dibuat.

Pengujian perangkat lunak adalah penyelidikan empiris para pemangku kepentingan untuk menyediakan informasi mengenai kualitas perangkat lunak yang diuji. Pengujian perangkat lunak juga menyediakan pandangan independen dari perangkat lunak yang objektif untuk memungkinkan bisnis untuk menghargai dan memahami risiko pada pelaksanaan perangkat lunak.

Teknik uji meliputi, tetapi tidak terbatas pada, proses eksekusi sebuah program atau aplikasi dengan tujuan menemukan bug perangkat lunak.

Metode pengetesan:

1. Black box testing

Black box testing memperlakukan pengujian perangkat lunak sebagai “kotak hitam” – tanpa pengetahuan tentang pelaksanaan internal.

2. White box testing

White box testing adalah ketika penguji memiliki akses ke struktur data internal dan algoritma termasuk source code.

Kelebihan:

Kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal project, maka Software Engineering dapat berjalan dengan baik dan tanpa masalah.

Kekurangan:

- Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan selanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul. Hal-hal seperti ini yang dapat membuang waktu pengerjaan SE.

-Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya. Oleh karena itu, seringkali model ini berlangsung lama pengerjaannya.

-Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya masing-masing. Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumber dayanya juga tidak terpakai lagi. Oleh karena itu, seringkali pada model proses ini dibutuhkan seseorang yang “multi-skilled”, sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya.

A. Metode System Development Life Cycle (SDLC)

1. Rekayasa dan Pemodelan Sistem/Informasi

Karena perangkat lunak merupakan bagian dari suatu sistem maka langkah pertama dimulai dengan membangun syarat semua elemen sistem dan mengalokasikan ke perangkat lunak dengan memeperhatiakn hubungannya dengan manusia, perangkat keras dan database.

2. Analisis Kebutuhan Perangkat Lunak

Proses menganalisis dan pengumpulan kebutuhan sistem yang sesuai dengan domain informasi tingkah laku, unjuk kerja, dan antar muka (interface) yang diperlukan. Kebutuhan-kebutuhan tersebut didokumentasikan dan dilihat lagi dengan pelanggan.

3. Desain

Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural.

4. Pengkodeaan (Coding)

Pengkodean merupakan proses menerjemahkan desain ke dalam suatu bahasa yang bisa dimengerti oleh komputer.

5. Pengujian

Proses pengujian dilakukan pada logika internal untuk memastikan semua pernyataan sudah diuji. Pengujian eksternal fungsional untuk menemukan kesalahan-kesalahan dan memastikan bahwa input akan memberikan hasil yang aktual sesuai yang dibutuhkan.

6. Pemeliharaan

Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena pelanggan membutuhkan

perkembangan fungsional atau unjuk kerja.

Keunggulan dan Kelemahan Model Sekuensial Linier

a. Keunggulan

1. Mudah aplikasikan

2. Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan

b. Kelemahan

1. Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena model ini bisa melakukan itersi tidak langsung . Hal ini berakibat ada perubahan yang diragukan pada saat proyek berjalan.

1.       Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk megakomodasi ketidakpastian pada saat awal proyek.

2.       Sebuah kesalahan jika tidak diketahui dari awal akan menjadi masalah besar karena harus mengulang dari awal.

B. Prototype

Prototyping merupakan salah satu metode pengembangan perangkat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem.

Seing terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detal output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer.

Untuk mengatasi ketidakserasian antara pelanggan dan pengembang , maka harus dibutuhakan kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalm menyelasaikan sistem yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan.

Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan

Tahapan-tahapan Prototyping

Tahapan-tahapan dalam Prototyping adalah sebagai berikut:

1. Pengumpulan kebutuhan

Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.

2. Membangun prototyping

Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output)

3. Evaluasi prototyping

Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.

4. Mengkodekan sistem

Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai

5. Menguji sistem

Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain

6. Evaluasi Sistem

Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.

7. Menggunakan sistem

Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.

Keunggulan dan Kelemahan Prototyping

Keunggulan prototyping adalah:

1.       Adanya komunikasi yang baik antara pengembang dan pelanggan

2.       Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan

3.       Pelanggan berperan aktif dalam pengembangan sistem

4.       Lebih menghemat waktu dalam pengembangan sistem

5.       Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.

Kelemahan prototyping adalah :

1.       Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama.

2.       Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem .

3.       Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik

C. Object Oriented Design

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.

Langkah-langkah Proses OOD dalam OMT

1. Lakukan Desain Sistem

a.        Partissi model analisis ke dalam subsistem

b.       Identifikasi konkurensi yang ditentukan oleh masalah

c.        Alokasikan subsistem ke prosesor dan tugas.

d.       Pilih strategi untuk manajemen data

e.        Identifikasikan sumber daya globl dan mekanisme kontrol untuk mengakses

f.        Kajilah dan perhatikan trade-offs

2. Lakukan Desain Objek

a.        Pilih operasi model analisis

b.       Tentukan algoritma untuk masing-masing operasi

c.        Pilih struktur data untuk setiap algoritma

d.       Tentukan kelas internal

e.        Kajilah organisasi kelas untuk mengoptimalkan akses ke data dan tingkatkan efesiensi komputasi

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

Sumber:

http://imacokladh.wordpress.com/2009/05/21/metode-pengembangan-perangkat-lunak/
http://blog.ariefapriandi.com/pengembangan-perangkat-lunak-dengan-model-waterfall/