Tampilkan postingan dengan label kuliah. Tampilkan semua postingan
Tampilkan postingan dengan label kuliah. Tampilkan semua postingan

Minggu, 26 April 2009

Database Normalization

Database Normalization

Design Database Process

The process includes:

- Gathering user or business's requirement

- Develop E-R Model bases user or business's requirements

- Convert E-R Model go to relationship gatherings (table)

- Relationship normalization to remove anomaly

- Implementation goes to database by make table for each relationship already most normalization

Database Normalization

- Normalization process is the establishment of the database structure so that most of the ambiguity can be removed.

- Normalization stage, starting from the most mild (1NF) to most stringent (5NF)

- Usually only up to the level of 3NF or BCNF because already sufficient to generate the table-table good quality

Why done by normalization?

- Optimizing table structures

- Increasing speed

- Removing same data inclusion

- More efficient in storage media purpose

- Reducing redundancy

- Avoiding anomaly (insertion anomalies, deletion anomalies, and anomaly's update).

- Increased data integrity

A table saying good (efficient) or if the normal 3 to meet the following criteria:

  1. If there is decomposition (decomposition) table, then the decomposition will be guaranteed safe (Lossless-Join Decomposition). That is, after the table is described / in the decomposition into a new table-table, the table-table can generate a new table with the same exact.
  2. Maintain the functional dependence on the change data (Dependency preservation)
  3. No violate Boyce-Code Normal Form (BCNF)

If the three criteria (BCNF) can not be met, then at least the table does not violate the Normal Form of the third stage (3rd Normal Form / 3NF).

Functional Dependency

A functional dependency (FD) is a constraint between two sets of attributes in a relation from a database.
Given a relation R, a set of attributes X in R is said to functionally determine another attribute Y, also in R, (written X --> Y) if and only if each X value is associated with precisely one Y value. Customarily we call X the determinant set and Y the dependent attribute. Thus, given a tuple and the values of the attributes in X, one can determine the corresponding value of the Y attribute. For the purposes of simplicity, given that X and Y are sets of attributes in R, X --> Y denotes that X functionally determines each of the members of Y - in this case Y is known as the dependent set. Thus, a candidate key is a minimal set of attributes that functionally determine all of the attributes in a relation.

Example :



Functional Dependency:

  • NRP--> Nama
  • Mata_Kuliah, NRP --> Nilai


Non Functional Dependency:

  • Mata_Kuliah --> NRP
  • NRP --> Nilai

Functional Dependency from tables of Nilai:
Nrp --> Nama
Because to each Nrp value is same, so Name value is same too.

{Mata_Kuliah, NRP} --> Nilai
Because attribut value depend on Mata_Kuliah and NRP by together. In other meaning for the Mata_Kuliah and NRP is same, so have same Nilai too, because Mata_Kuliah and NRP is key ( having the character is unique).

Mata_Kuliah --> NRP
NRP --> nilai


First Normal Form / 1NF

First normal form (1NF or Minimal Form) is a normal form used in database normalization. A relational database table that adheres to 1NF is one that meets a certain minimum set of criteria. These criteria are basically concerned with ensuring that the table is a faithful representation of a relation and that it is free of repeating groups.
The concept of a "repeating group" is, however, understood in different ways by different theorists. As a consequence, there is no universal agreement as to which features would disqualify a table from being in 1NF.

Not allowed for :

  • Attribute that valuably there are many ( Multi valued attribute )
  • Attribute composite or combine of both

So :

  • Price of Domain attribute must represent atomic price

For Example


Table "Mahasiswa"


Or

That Tables is not complete 1NF condition.
Decomposition becomes:

Table mahasiswa :

Table hoby :


Second Normal Form / 2NF

Second normal form (2NF) is a normal form used in database normalization. 2NF was originally defined by E.F. Codd in 1971. A table that is in first normal form (1NF) must meet additional criteria if it is to qualify for second normal form. Specifically: a 1NF table is in 2NF if and only if, given any candidate key and any attribute that is not a constituent of a candidate key, the non-key attribute depends upon the whole of the candidate key rather than just a part of it.
In slightly more formal terms: a 1NF table is in 2NF if and only if none of its non-prime attributes are functionally dependent on a part (proper subset) of a candidate key. (A non-prime attribute is one that does not belong to any candidate key.)

Functional dependency X --> Y is said full if erase an attribute A of X its mean that Y no longer functional dependent. Functional dependency X --> Y is said partial if erases an A's attribute of X matter Y still functional dependent. Relationship schemer on 2NF form if each attribute non primary key A R full dependent functionally on primary key R.


This table accomplishes 1NF, but not exclude 2NF :


That table is Not accomplishing 2NF form, because (NIM, KodeMk) is regarded as the primary key:

{NIM, KodeMk} -> NamaMhs
{NIM, KodeMk} -> Alamat
{NIM, KodeMk} -> Matakuliah
{NIM, KodeMk} -> SKS
{NIM, KodeMk} -> NilaiHuruf

Table need to decomposition become some table measures 2NF

Functional dependency as follows:

  • {NIM, KodeMk} --> NilaiHuruf (fd1)
  • NIM --> {NamaMhs, Alamat} (fd2)
  • KodeMk --> {Matakuliah, Sks} (fd3)


So

  • fd1 (NIM, KodeMk, NilaiHuruf) --> Tabel Nilai
  • fd2 (NIM, NamaMhs, Alamat) --> Tabel Mahasiswa
  • fd3 (KodeMk, Matakuliah, Sks) --> Tabel MataKuliah


Third Normal Form

The third normal form (3NF) is a normal form used in database normalization. 3NF was originally defined by E.F. Codd in 1971. Codd's definition states that a table is in 3NF if and only if both of the following conditions hold:

  1. The relation R (table) is in second normal form (2NF)
  2. Every non-prime attribute of R is non-transitively dependent (i.e. directly dependent) on every key of R.

An example of a 2NF table that fails to meet the requirements of 3NF is:

Because still there are attribute not primary key (namely Kota and Provinsi) own depended to attribute not other primary key (name is Kodepos) :

  • Kodepos --> {Town, Provinsi }


So that the table require to decomposition become :

  • Mahasiswa ( NIM, Namamhs, Jalan, Kodepos)
  • Kodepos ( Kodepos, Provinsi, Town)


Boyce-Codd Normal Form / BCNF

Boyce-Codd normal form (or BCNF) is a normal form used in database normalization. It is a slightly stronger version of the third normal form (3NF). A table is in Boyce-Codd normal form if and only if, for every one of its non-trivial functional dependencies X --> Y, X is a superkey—that is, X is either a candidate key or a superset thereof.

Fourth and Fifth Normal Form

Relationship in fourth normal form (4NF) if relationship in BCNF and not contains multi value dependency. To remove multi value dependency from one relationship, we are divide relationship become two new relationships. Each relationship contains of two attributes have multi value relationship.

Relationship in fifth normal form (5NF) get business with property is calling join without marks sense information loss (lossless join). The fifth normal Form (5 NF) also know as PJNF (projection join normal form). This case is very rare to appearance and hard to detect practically.

Minggu, 19 April 2009

DATABASE AND ER-DIAGRAM

Definition Of Database
database is group of data that stored into magnetic disk, optical disk, or another secondary data storage.
fused collection of datas, that connected mutually, from an enterprise (a company, firm, and government).

  • manufacture company -> production planning data, actual production data, material ordering data, etc
  • hospital -> data of patient, doctor, nurse, etc


DBMS (Database Management System)

DBMS is a collection of databases or a combination of software-based database applications. DBMS is a software designed to assist in the maintenance and utility data collection in large numbers. Application programs are used to access and maintain databases. The main purpose DBMS is to provide an environment that is efficient and easy to use, withdrawal and storage of data and information.


BIT, BYTE, Field

- Bit is the smallest pieces of data that contains the value 0 or 1

- Byte is a set of bit-bit similar

- Field is a set of byte-byte similar, in the database used the term attribute








ATTRIBUTE OR FIELD

Attribute is the nature or characteristics of an entity that provides provide detail on these entities. A relationship can also have attributes. Example attributes:

  1. STUDENTS: NIM, NAME, ADDRESS
  2. CAR: NOMOR_PLAT, COLOR, TYPE, CC

types of attribute

single vs multivalue

  • single -> only can containing mostly 1 value
  • multivalue -> can containing more than 1 value with same kind value

atomic vs composition

  • atomic -> cannot divided into smaller attribute
  • composition -> alliance of smaller attribute

derived attribute -> attribute that can be yield from other attribute value, for example : age can be yield from attribute of birth datenull

value attribute -> attribute with no value for a record

mandatory value attribute -> attribute that must have a value


RECORD / TUPLE

Record is a data line in a relationship. Record consists of a set of attributes where the attribute is an attribute-related entity or to inform the full relationship.


Entity / FILE
File is a collection of similar records and have the same elements, the same attributes but different data value.


File Type
In processing applications, files can category as follows:
- Master File
- Transaction Files
- File Reports
- File History
- File Protection
- File Work
Domain is the set of values that are allowed to reside in one or more attributes. Each attribute in a database relational is defined as a domain
Key elements of record which is used to find these records at the time of access, or can also be used to identify each entity / record / line.


DOMAIN

Domain is the set of values that are allowed to reside in one or more attributes. Each attribute in a database relasional is defined as a domain.


KEY DATA ELEMENT

Key elements of record which is used to find these records at the time of access, or can also be used to identify each entity / record / line.

Kind of key:
Super key is one or more attribute from a table which can be used for identifying entity / record from table uniquely
Candidate key is super key with minimum attribute. Candidate key may not contain attribute of other table so that the candidate is super key, but not the contrary
Primary key
One of the attribute of candidate key can be selected / determined into primary key with 3 criteria:
- The key is more natural for use as reference
- The key is simpler
- The key is unique
Alternate key
Alternate key is attribute of candidate key which is not chosen become primary key
Foreign key
Foreign key is any attribute subjecting to primary key at other tables. Foreign key will be happened in a relation which have one to many cardinality or many to many cardinality. Foreign key usually put at the table which direct to many cardinality.
External key
External key is lexical attribute or collection of lexical attribute which values always identify one object instance


ERD (Entity Relationship Diagram)
ERD is a model of a network that uses word order is stored in the abstract system.
Differences between the DFD and ERD
DFD is a model of network functions that will be implemented by the system
ERD is a model that emphasizes the network data on the structure and relationship data
Elements of the ERD

Entity
In ER Diagram, entity was denoted with rectangle shape. Entity is something that exist in real system as well as abstract where lies the storage of the data or the data being stored
Relationship
This relationship ER Diagram was denoted with a rhombus shape. Relationship is a natural relation that exists between entity. Generally named with a basic verb in order to easy to do the reading of the relation
Relationship Degree
Denoting a number of entity which participated in one relationship. A degree which often used in ERD.
Attribute
Denoting a characteristic from every entity or relationship
Cardinality
Shows a maximum number of tupple that can be related with entity, in other entity

Relationship degree

Unary relationship is Relationship model happen between the entity which coming from the same entity set.

Binary relationship is relationship model happen between 2 entity.

Ternary relationship between instance of 3 entity unilaterally.


Cardinality

There are 3 cardinality relation, that is :

  • One-to-one : relationship degree one-to-one expressed by one event in first entity, only have one relation with one event in second entity and on the contrary.
  • One-to-many or many-to-one : relationship degree one-to-many is equal many-to-one dependent from where that relationship seen. For one event in first entity can have many relationship with event in second entity, the other way, one event in second entity only have relationship with one event in first entity.
  • Many-to-many : happen if each event in an entity having a lot of relationship with event in other entity


NOTATION (ER DIAGRAM)
Simbolic notation in ER Diagram are :
• Rectangle denoting an entity community
• Circle round shape denoting attribute
• Rhombus denoting a relation community
• Line as a connector between relation community with entity community and Entity Community with its attribute



Minggu, 29 Maret 2009

FIRST OBSERVATION AND ANALYSIS REQUIREMENT

Investigation system concept
Difference difference (GAP) between target of system and system condition actually
- problem detection report not really real
- target too ideal.
- Lacking of resource and or attitude
- system measurement less accurate
- target of system that lag
- difference between system idel and temporary system

Problem solving:
- Formulation of system which is walking  investigation in detail
- get ideal system consensus
- develop several alternative
- choose best alternative
Target of investigation  showing the problem actually happen

CONSTRAINT IN INVESTIGATION SYSTEM
In doing the investigation of some constraint which often appear is:
  • time
  • cost
  • science
  • Political
  • Interference
RECOMMENDATION
result from investigation a containing recommendation for examples :
• doesn't take steps anything  is not found problem
• do system maintenance little problems
• Improving ability or skill of user
• Considering system modification totally
• Placing problem that happened into system development plan which is immediately done

TACTICS OF INVESTIGATION
Why need tactics ? :
• find all problems
• Knowing cause of appearance ofi problem
• determine correct solution
Is done so that all system element can accept offer of solution without bothering their activity

DESKRIPSI SYSTEM IN THIS TIME
  • Input
  • Output
  • File
  • Data element
  • Volume Transaction and action document
  • Data flow chart

ANALYSIS NEED
Intensive interaction phase between system analyst with user end where system development team show its membership to get comments and trust of user so that get good participation
4 TARGET OF WHICH WISH TO BE REACHED
  1. Explaining system completely
  2. Depicting ideal information system
  3. Bringing ideal information system to condition in this time by paying attention resource constraint
  4. Giving motivation to confidence of user into system development

METHOD
- question and answer
- kuisioner
- observation
- analysis procedure
- document observation

CONSTRAINT RESOURCE
- Time
- Money
- Membership
- Technological
- external factor

DOCUMENT REQUIREMENT OF ANALYSIS
  • Analysis instruction : Relation with final user, perception of process, problem of data collecting
  • Requirement of User : Requirement in fact, Requirement of report, requirement of training and influence of new system
  • Constraint System : Explaining time constraint and expense, membership, technological and factor of eksternal
  • Document in the form of data collecting instrument, statistical consensus, data stream by logikal and physical, data element early in data dictionary

GENERATING SYSTEMS ALTERNATIVES
How to draw near the condition of system in this time with condition of ideal system?
Choice Strategy
- Distributed Versus processing centralized
Change of decision of information of data centralized of processing to center responsibility user end decentralized

- Versus database dispersed Integrated
Designer of system have to consider data any kind of which enter in data base and which come into File

- Surround Strategy System Development of
Environmental about important strategy in the case of confiscation because information system of other company possible differ from company in this time

- Choice Tactics
Done before choice scheme of operational

- Choice Scheme of Operational
Choice Scheme can be grouped into

Input
- Online Vs Off Lino Data Entry
- Keyed Vs Machine Readable Data Entry
- Centralized Vs Decentralized Data Entry

Processing
- Batch of Vs Realtime update record
- Sequential Vs Direct Access records to
- Single Vs Multiple User update records of

Output
- Traditional Vs Turn Around Documents
- Structured Vs Inquiry reports based

SELECTING THE PROPER SYSTEM
Tactics compare : System compared to pursuant to advantage and expense relatively; There is 3 way of system of A told by more pre-eminent with other system if:
- A have lower expense of B and advantage both is same
- A have lower expense of B and of A yield advantage which more than B
- A and of B have same expense but yielded by advantage is A more.
Some Method of Komparasi System
- Break Even Analyisis point
- Payback Period
- Discounted Payback period
- Internal Rate Of Return

SELECTING THE PROPER SYSTEM
  • katagori cost
  • hardware
  • software
  • people
  • suppliers
  • teleccommunications
  • physical sites
Detail of Expense
Comparing the expense of information system pass life of system, projection analyst how much change of expense for the future and there is 3 model of is expense of information system that is Linear, Eksponensial and of Step Function

Expense of information system earn just happened once and earn also happened chronically.

Expense of just information system that happened once that is cost ontime and of development cost that happened system development moment.

Expense of information system that happened continually among others is cost reccuring and also cost operational where this expense happened information system moment operate every day.

FACTOR INFORMATION SYSTEM.
Factor Qualitative which is good information system performance flange among others
- Lessening mistake storey level
- Lessening time to improve;repair mistake
- Lessening time listen carefully from alternative workstation
- Quickening ready time of information
- Improving system security
- Multiply update of source of active record
- Improving satisfaction of user.

FACTOR STRATEGY COMPANY
- Satisfaction of consumer
- Mount sale mount
- Consumer Komitmen and of vendor
- Information product marketing

PRESENTING STUDY OF SYSTEM.
- Doing presentation in a word
- Lessening clarification of technique in detail
- Mempretasikan clearly by means of ... assist visually
- If using model use appliance assist for example laptop so that more informative
- Emphasizing advantage of information system proposal with a few existing alternative according to condition of natural by company.

DECISION CONTINUE OR NOT
  • if company set mind on to develop system hence information department will process hereinafter that is Process of Desain System.
  • If on the contrary hence System Development Life Cycle ( SDLC) will be discontinued
  • Frequently will be found the problem of with study system and and usually management top will ask doing of reworking to study system
  • Model will explain repeated step some part and sometime information department will make decision to repeat step before explaining study system
  • With alternative, decision to repeat a step of SDLC not to speak of or previous Go – No – Go Decision

Jumat, 06 Maret 2009

Tujuan Umum Pengembangan Sistem

1. Perlunya Pengembangan Sistem

Dalam pengembangan suatu sistem, ini berarti menyusun sistem yang baru untuk menggantikan sistem yang lama. Ada beberapa faktor yang mempengaruhi perlunya sistem diperbaharui atau diganti yaitu :

  1. Adanya permasalahan yang ditimbulkan oleh sistem lama seperti
  1. Ketidakberesan
    Hal ini pada menyebabkan sistem lama tidak dapat beroperasi sesuai dengan yang diharapkan seperti :

- kecurangan-kecurangan, yang mengakibatkan tidak amannya kekayaan perusahaan dan kebenaran dari data kurang terjamin.

- kesalahan-kesalahan yang menyebabkan kebenaran dari data kurang terjamin.

- tidak efisiennya operasi.

- tidak ditaatinya kebijaksanaan manajemen yang telah ditetapkan.

  1. Pertumbuhan Organisasi

Pertumbuhan organisasi menyebabkan harus disusunnya sistem yang baru. Pertumbuhan ini seperti kebutuhan akan informasi yang semakin luas, volume pengolahan data semakin meningkat, perubahan prinsip akuntansi yang baru. Semua ini mengakibatkan sistem lama tidak efektif lagi.

  1. Untuk meraih kesempatan-kesempatan (opportunities)

Disini maksudnya adalah dengan pengembangan system kita dapat mempromosikan usaha kita melalui internet sehingga kita bisa meraih kesempatan-kesempatan untuk mendapatkan dan meningkatkan pelanggan.

  1. Adanya instruksi-instruksi (directives)

Penyusunan system yang baru dapat juga terjadi karena adanya instruksi-instruksi dari atasan pimpinan ataupun dari luar organisasi, seperti misalnya peraturan pemerintah.

2. Tujuan Pengembangan Suatu Sistem

- Memecahkan permasalahan-permasalahan

- Meraih kesempatan-kesempatan

- Memenuhi instruksi yang diberikan

3. Harapan Setelah Pengembangan Sistem Baru

- Perfomance (kinerja)

Peningkatan terhadap kinerja system yang baru menjadi lebih efektif. Kinerja dapat diukur dari throughput (jumlah dari pekerjaan yang dapat dilakukan suatu saat tertentu) dan response time (rata-rata waktu yang tertunda diantara dua transaksi).

- Information

Peningkatan kualitas informasi yang didapatkan

- Ekonomis

Peningkatan terhadap manfaat-manfaat, keuntungan-keuntungan atau penurunan-penurunan biaya yang terjadi.

- Efisiensi

Peningkatan terhadap efisiensi operasi. Efisiensi dapat diukur dari outputnya dibagi dengan inpitnya.

- Servis (pelayana)

Peningkatan terhadap pelayanan yang diberikan oleh system.

4. Prinsip Pengembangan Sistem

Ada beberapa prinsip yang tidak boleh dilupakan yaitu :

  1. Sistem untuk manajemen

Setelah system selesai dikembangkan, maka yang menggunakan informasi dari system adalah manajemen sehingga system harus mendukung kebutuhan yang diperlukan oleh manajemen.

  1. Investasi modal yang besar

System yang dikembangkan membutuhkan dana modal yang besar. Investasi modal harus mempertimbangkan 2 hal yaitu :

- Semua alternative yang harus diinvestigasi

- Investasi yang terbaik harus bernilai

  1. Sistem yang dikembangkan memerlukan orang yang terdidik

Manusia merupakan factor utama yang menentukan berhasil tidaknya suatu system, baik dalam proses pengembangannya, penerapannya, maupun dalam proses operasinya. Oleh karena itu diperlukan orang yang terdidik yang menggunakan system ini disamping itu orang ini dapat memberikan solusi terhadap masalah-masalah yang dihadapi.

  1. Tahapan kerja dan tugas-tugas yang harus dilakukan dalam proses pengembangan system

Siklus atau daur hidup pengembangan system (System Development Life Cycle atau SDLC) umumnya menunjukkan tahapan-tahapan kerja dan tugas-tugas kerja yang harus dilakukan.

  1. Proses pengembangan system tidak harus urut

Disini dimaksud adalah langkah-langkah dapat dilakukan secara bersamaan.

  1. Jangan takut membatalkan proyek

Proyek yang sudah tidak layak lagi, maka proyek tersebut harus dihentikan atau dibatalkan karena apabila proyek ini diteruskan maka akan membuang dana saja.

  1. Dokumentasi harus ada dan pedoman dalam pengembangan system

Kegagalan membuat dokumentasi kerja adalah kesalahan kritis yang dibuat analis system. Dokumentasi ini dibuat pada waktu proses dari pengembangan system, karena dokumentasi ini dapat dihasilkan dari hasil kerja tiap-tiap langkah dari pengembangan system. Dokumentasi ini nantinya digunakan bahan komunikasi antara analis system dengan pemakai system dan dapat digunakan untuk mendorong keterlibatan pemakai sistem

5. System development life cycle

- Model Waterfall

Disebut dengan waterfall karena proses tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :


Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman:

· System / Information Engineering and Modeling. Pemodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.

· Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.

· Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.

· Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.

· Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.

· Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

Sumber :

http://hansiaditya.wordpress.com/2007/09/25/waterfall-process-model/

- Model Iteratif


Model inkremental menggabungkan elemen-elemen model waterfall (diaplikasikan secara berulang) dengan prototipe iteratif. Model ini memakai urutan-urutan linier dalam model seiring dengan laju waktu. Setiap urutan linier menghasilkan pertambahan perangkat lunak. Pada saat model pertambahan dipergunakan, pertambahan pertama seringkali adalah produk inti(core product). Produk inti ini kemudian dipergunakan oleh pelanggan. Sebagai hasil dari pemakaian dan/atau evaluasi, prototipe dikembangkan untuk pertambahan selanjutnya. Prototipe tersebut menekankan modifikasi produk inti agar dapat memenuhi kebutuhan pelanggan dan fitur serta fungsionalitas tambahan. Model inkremental ini seperti model prototipe dan pendekatan-pendekatan evolusioner lain yang bersifat iteratif. Tetapi tidak seperti model prototipe, model inkremental berfokus pada penyampaian produk operasional dalam setiap pertambahannya. Pertambahan awal ada di versi striped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai. Perkembangan incremental berguna pada saat staffing tidak dapat digunakan untuk batas waktu bisnis yang telah ditetapkan untuk proyek tersebut. Jika produk inti diterima, maka staf tambahan bisa ditambahkan untuk mengimplementasikan pertambahan selanjutnya.

- Model Spiral

Model spiral pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek sistematis model sequensial linier. Model iteratif ditandai dengan tingkah laku yang memungkinkan pengembang mengembangkan versi perangkat lunak yang lebih lengkap secara bertahap. Perangkat lunak dikembangkan dalam deretan pertambahan. Selama awal iterasi, rilis inkremantal bias berupa model/prototype kertas, kemudian sedikit demi sedikit dihasilkan versi sistem yang lebih lengkap.

Tahapan-Tahapan Model Spiral

Model spiral dibagi menjadi enam wilayah tugas yaitu:

1. Komunikasi pelanggan

Yaitu tugas-tugas untuk membangun komunikasi antara pelanggan dan kebutuhankebutuhan yang diinginkan oleh pelanggan

2. Perencanaan

Yaitu tugas-tugas untuk mendefinisikan sumber daya, ketepatan waktu, dan proyek informasi lain yg berhubungan.

3. Analisis Resiko

Yaitu tugas-tugas yang dibutuhkan untuk menaksir resikomanajemen dan teknis.

4. Perekayasaan

Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.

5. Konstruksi dan peluncuran

Yaitu tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang , dan memberi pelayanan kepada pemakai.

6. Evaluasi Pelanggan

Yaitu tugas-tugas untuk mendapatkan umpan balik dari pelanggan.


Dari gambar tersebut, proses dimulai dari inti bergerak searah dengan jarum jam mengelilingi spiral. Lintasan pertama putaran menghasilkan perkembangan spesifikasi produk. Putaran selanjutnya digunakan untuk mengembangkan sebuah prototype, dan secara progresif mengembangkan versi perangkat lunak yang lebih canggih. Masing-masing lintasan yang melalui daerah perencanaan menghasilkan penyesuaian pada rencanan proyek. Biaya dan jadwal disesuaikan berdasarkan umpan balik yang disimpulakan dari evaluasi pelanggan. Manajer proyek akan menambah jumlah iterasi sesuai dengan yang dibutuhkan.

Kelebihan dan Kelemahan Model Spiral

a. Kelebihan model Spiral :

1. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.

2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar

3. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses .

4. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.

5. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif .

6. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.

b. Kelemahan model Spiral:

1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.

2. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.

3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute

6. Pendekatan pengembangan sistem

Ada 5 pendekatan dalam pengembangan suatu sistem :

  1. Pendekatan klasik lawan pendekatan terstruktur (dipandang dari metodologi yang digunakan)

Pendekatan klasik merupakan lawan dari pendekatan terstruktur. Metodologi klasik mengembangkan sistem dengan mengikuti tahapan-tahapan di system life cycle. Orang yang mengembangkan sistem ini masih memerlukan alat-alat dan teknik-teknik untuk mengembangkan sistem tersebut. Kemudian muncul pendekatan terstruktur yang menyediakan kepada analis sistem tambahan alat-alat dan teknik-teknik untuk mengembangkan sistem disamping itu tetap mengikuti ide dari system life cycle

    1. Pendekatan klasik

Pendekatan ini disebut juga pendekatan tradisional (tradistional approach) atau pendekatan konvensional (conventional approach) adalah pendekatan didalam pengembangan sistem mengikuti tahapan-tahapan di system life cycle tanpa dibekali dengan alat-alat dan teknik-teknik yang memedai.

Permasalah-permasalah pada pendekatan ini adalah :

§ Pengembangan perangkat lunak akan menjadi sulit karena kurang adanya alat-alat dan teknik-teknik dalam mengembangkan sistem

§ Biaya perawatan atau pemeliharaan sistem akan menjadi mahal karena dokumantasi sistem yang dikembangkan kurang lengkap dan kurang terstruktur

§ Kemungkinan kesalahan sistem besar karena pendekatan ini tidak menyediakan kepada analis sistem cara untuk melakukan pengetesan sistem

§ Keberhasilan sistem kurang terjamin karena kurang melibatkan pemakai sistem dalam pengembangan sistem, sehingga kebutuhan-kebutuhan pemakai sistem menjadi kurang sesuai dengan yang diinginkan.

§ Masalah dalam penerapan sistem karena kurangnya kurangnya keterlibatan pemakai sistem dalam tahap pengembangan sistem, maka pemakai sistem hanya akan mengenal sistem yang baru pada tahap diterapkan saja.

    1. Pendekatan terstruktur

Kerena pendekatan klasik banyak terjadi permasalahan-permasalahan maka muncullah pendekatan terstruktur. Dimana pendekatan ini dilengkapi dengan alat-alat dan teknik-teknik yang dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan akan didapatkan sistem yang strukturnya didefinisikan dengan baik dan jelas.


  1. Pendekatan sepotong lawan pendekatan sistem (dipandang dari sasaran yang akan dicapai)

Pendekatan sepotong merupakan pendekatan pengembangan sistem yang menekankan papa suatu kegiatan atau aplikasi tertentu saja. Tanpa memperhatikan sasaran keseluruhan dari organisasi. Pendekatan ini hanya memperhatikan sasaran dari kegiatan atau aplikasi itu saja.

Pendekatan sistem memperhatikan sistem informasi sebagai satu kesatuan terintegrasi untuk masing-masing kegiatan atau aplikasi. Pendekatan ini juga menekankan pada pencapaian sasaran keseluruhan dari organisasi, tidak hanya menekankan pada sasaran dari sistem informasi itu saja.


  1. Pendekatan bawah-naik lawan pendekatan atas-turun (dipandang dari cara menentukan kebutuhan dari sistem)

Pendekatan bawah-naik (down-top approach) dimulai dari level bawah organisasi yaitu level operasional dimana transaksi dilakukan. Pendekatan ini merupakan ciri-ciri pendekatan klasik yang sering disebut dengan intilah data analysis

Pendekatan atas-bawah (top-down approach) dimulai dari level atas organisasi yaitu level perencanaan strategi. Pendekatan ini dimulai dari mendefinisikan sasaran, kemudian melakukan analisis kebutuhan informasi, setelah itu turun ke pemrosesan transaksi yaitu penentuan output, input, basis dara, prosedur-prosedur operasi dan kontrol. Pendekatan ini merupakan ciri-ciri dari pendekatan terstruktur yang sering disebut dengan istilah dicision analysis.


  1. Pendekatan sistem-menyeluruh lawan pendekatan moduler (dipandang dari cara mengembangkannya)

Pendekatan sistem menyeluruh merupakan pendekatan yang mengembangkan sistem serentak secara menyeluruh. Pendekatan ini merupakan ciri-ciri pendekatan klasik.

Pendekatan moduler berusaha memecahkan sistem yang rumit menjadi beberapa bagian atau modul yang sederhana sehingga alkan majadi lebih mudah dipahami dan dikembangkan. Dengan ini sistem akan dapat dikembangkan tepat pada waktu yang direncanakan, mudah dipahami oleh pemakai sistem dan mudah dipelihara. Pendekatan ini merupakan ciri-ciri dari pendekatan terstruktur.


  1. Pendekatan lompatan-jauh lawan pendekatan berkembang (dipandang dari teknologi yang akan digunakan)

Pendekatan lompat-jauh (great loop approach) menerapkan perubahan secara menyeluruh menggunakan teknologi canggih seperti komputer. Pendekatan ini banyak menggunakan dana karena terlalu mahal. Pendekatan ini juga juga sulit untuk dikembangkan karena terlalu komplek.

Pendekatan berkembang (evolutionary approach) menerapkan teknologi canggih untuk aplikasi-aplikasi tertentu saja.. Pendekatan ini kembangkan untuk mengikuti kebutuhannya sesuai dengan perkembangan teknologi yang ada disamping itu pendekatan ini hemat biaya dan dapat mengikuti perkembangan teknologi yang cepat.

7. Arti dari metodologi, metoda dan algoritma

Metodologi adalah kesatuan metode-metode, prosedur-prosedur, konsep-konsep pekerjaan, aturan-aturan dan postulat-postolat yang digunakan oleh suatu ilmu pengetahuan, seni atau disiplin yang lain.

Metode adalah suatu cara sistematik untuk mengerjakan sesuatu atau cara untuk mengembangkan suatu sistem informasi.

Sedangkan algoritma merupakan urutan-urutan prosedur untuk memecahkan masalah.


8. Klasifikasi metodologi pengembangan

  • Functional decomposition methologies

Metodologi ini menekankan pada pemecahan dari sistem ke dalam subsistem-subsistem yang lebih kecil, sehingga lebih mudah untuk dipahami, dirancang dan diterapkan. Contohnya :

- HIPO (Hierarchy plus Input-Process-Output)

- Stepwise refinement (SR) atau Iterarive stepwise refinement (ISR).

- Information-hiding

  • Data-oriented methodologies

Menekankan pada karakteristik data yang diproses

      1. Data-flow oriented: modul-modul sesuai tipe elemen data

- SADT (Structured Analysis and Design Tecniques)

- Composite Design

- Structured System Analysis and Design (SSAD)

      1. Data-structure oriented: struktur input dan output

- JSD (Jakson’s system development)

- W/O (Warnier/Orr)

  • Prescriptive methodologies

o ISDOS (Information System Design and Optimization System)

Digunakan untuk mangotomatisasi proses pengembangan sistem informasi. ISDOS mempunyai 2 komponen yaitu : PSL (mencatat kebutuhan pemakai dalam bentuk machine-readable form) dan PSA (digunakan untuk mengecek data yang dimasukkan)

o PLEXSYS

Digunakan untuk melakukan transformasi suatu statemen bahasa komputer tingkat tinggi ke suatu executable code untuk suatu konfigurasi perangkat keras yang diinginkan.

o PRIDE

Perangkat lunak untuk analisis/disain sistem terstruktur, manajemen data, manajemen proyek dan pendokumentasian.

o SDM/70

Perangkat lunak yang berisi dengan kumpulan metode, estimasi, dokumentasi dan petunjuk administrasi guna membantu pemakai untuk mengembangkan dan merawat sistem.

o SPECTRUM

- SPECTRUM-1 untuk life cycle konvensional

- SPECTRUM-2 untuk sistem manajemen proyek terstruktur

- SPECTRUM-3 untuk on-line interactive estimator

o SRES dan SREM

9. Alat dalam pengembangan sistem

Alat-alat yang digunakan dalam suatu metodologi umumnya berupa suatu gambar atau diagram atau grafik.

a. HIPO diagram, digunakan di metodologi HIPO dan metodologi lainnya.

b. Data flow diagram, digunakan di metodologi structured system analysis and design.

c. Structured chart, digunakan di metodologi structured system analysis and design.

d. SADT diagram, digunakan di metodologi SADT

e. Warnier/Orr diagram, digunakan di metodologi Warnier/Orr

f. Jakson’s diagram, digunakan di metodologi Jakson System Development

Alat yang menggunakan bagan:

a. Activity charting: menggambarkan aktivitas, contoh: Gant chart, flowchart, dll

b. Layout charting: menggambarkan tataletak

c. Personal relationship charting: menggambarkan hubungan personil, contoh: organization chart, working distribution chart

10. Teknik pengembangan sistem

a. Teknik manajemen proyek à untuk penjadualan proyek, contoh: CPM dan PERT

b. Teknik menemukan fakta à untuk mengumpulkan dan menentukan data/fakta

- Wawancara

- Observasi

- Daftar pertanyaan

- Pengumpulan sampel

c. Teknik analisis biaya/manfaat à cost-benefit dan cost-effectiveness analysis

d. Teknik menjalankan rapat

e. Teknik inspeksi

11. Perbedaan antara Analis Sistem & Pemrogram

Analis sistem mempelajari masalah-masalah yang timbul dan menentukan kebutuhan pemakai sistem untuk mengidentifikasi pemecahan. Sebutan lain untuk analis sistem adalah analis informasi (information analysis). Sedangkan pemrogram adalah orang yang menulis kode program untuk suatu aplikasi tertentu berdasarkan rancang bangun yang dibuat oleh analis sistem.

Pengetahuan yang diperlukan oleh seorang analis sistem :

  1. Pengetahuan dan keahlian tentang pengolahan data, teknologi komputer dan pemrograman komputer.

- Keahlian teknis yang harus dimiliki adalah keahlian dalam menggunakan alat dan teknik untuk mengembangkan perangkat lunak aplikasi serta ahli dalam menggunakan komputer

- Pengetahuan teknis meliputi pengetahuan tentang perangkat keras komputer, teknologi komunikasi data, bahasa-bahasa komputer, sistem operasi, utilities dan paket-paket perangkat lunak lainnya.

  1. Pengetahuan bisnis secara umum

Analis sistem harus mengetahui tentang bisnis secara umum karena sekarang paling banyak menggunakan aplikasi bisnis. Ini meliputi akuntasi keuangan, akuntasi biaya, akuntasi manajemen, sistem pengendalian manajemen, pemasaran, produksi, manajemen personalia, keuangan, tingkah laku organisasi, kebijaksanaan perusahaan, dll.

  1. Pengetahuan tentang metode kuantitatif

Misalnya : pemrograman linier, pemrograman dinamik, regresi, network, pohon keputusan, trend, simulasi, dll.

  1. Keahlian pemecahan masalah

Analis sistem harus mampu memecahkan masalah-masalah yang dihadapi oleh bisnis, menganalisis masalah dan kemudian harus dapat merangkainya kembali menjadi suatu sistem yang dapat mengatasi permasalahan-permasalahan tersebut.

  1. Keahlian komunikasi antar personil

Analis sistem harus mempunyai kemampuan untuk mengadakan komunikasi baik secara lisan mampu secara tertulis. Keahlian ini diperlukan dalam wawancara, presentasi, rapat, dan pembuatan laporan-laporan.

  1. Keahlian membina hubungan antar personil.

Manusia merupakan faktor yang kritis di dalam sistem dan watak manusia satu dengan yang lain berbeda. Apabila analis sistem tidak dapat membina hubungan yang baik dengan pemakai sistem sistem atau manajemen dan kecendrungan pemakai sistem akan mempersulitnya.