Sabtu, 01 Desember 2012

ERD

siang~...
kali ini saya akan membahar mengenai ERD..
SILAHKAN DIBACA ^^


Pengertian ERD
ERD adalah suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.

Untuk menggambarkan ERD digunakan beberapa notasi dan simbol. Pada dasarnya ada tiga simbol yang digunakan, yaitu :
  1. Entiti
Entiti adalah objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain  entity digambarkan dengan persegi panjang dalam ERD.
  1. Atribut
Atribut adalah elemen dari entitas yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
  1. Hubungan / Relasi
Hubungan yang terjadi antara entitas. Relasi dapat digambarkan sebagai berikut :
Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu

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

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

3). Banyak ke banyak (Many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.

Tahapan ERD
     Tahap pertama pada desain sistem informasi menggunakan model ER adalah menggambarkan kebutuhan informasi atau jenis informasi yang akan disimpan dalam database. Teknik pemodelan data dapat digunakan untuk menggambarkan setiap ontologi (yaitu gambaran dan klasifikasi dari istilah yang digunakan dan hubungan anatar informasi) untuk wilayah tertentu.

     Tahap berikutnya disebut  desain logis, dimana data dipetakan ke model data yang logis, seperti model relasional.  Model data yang loguis ini kemudian dipetakan menjadi model fisik , sehingga kadang-kadang, Tahap kedua ini disebut sebagai “desain fisik”.
Secara umum metodologi ERD sebagai berikut:
1.      Menentukan Entity:
menentukan peran,kejadian,lokasi, hal nyata dan konsep untuk database

2.      Menentukan Relasi
selanjutnya menentukan relasi antar entitas.

3.      Gambar ERD Sementara
setelah menentjukan entitas dan relasi selanjutnya membuat gambar ERD sementara.

4.      Isi Kardinalitas
kardinalitas yaitu menentukan jumlah kejadian satu entitas untuk sebuah kejadian pada entitas yang berhubungan

5.      Menentukan Primary Key (Kunci Utama)
Primary key adalah atribut pada entity. Setiap entity hanya memiliki satu primary key.
Selain menentukan primary key juga menentukan foreign key (kunci utama). Foreign key adalah primary key yang ada dalam entity yang lain

6.      Gambar ERD Berdasarkan Primary Key
Menghilangkan relasi many to many dan memasukkan primary dan foreign key pada masing-masing entitas.

7.      Menentukan Atribut
Setelah menggambar ERD berdasarkan Primary Key maka tahap selanjutnys adalah menentukan atribut pada masing-masing entitas

8.      Pemetaan Atribut
Apabila atribut telah ditentukan selanjutnya pasang atribut dengan entitas yang sesuai

9.      Gambar ERD dengan Atribut
Menggambar ERD seperti langkah 6 dengan menambahkan atribut dan relasi yang ditemukan

10.  Periksa Hasil
Periksa ERD apakah sudah menggambarkan system yang akan dibangun.

Thanks for read :)
 

Sabtu, 24 November 2012

how to play sim-se

Malam bloggers ^^..
kali ini saya akan membahas mengenai pengalaman, trik, dan tips bermain sim-se waterfall, rapidprototyping dan incremental...
cekiddooott~


WATERFALL
pertama kali saya memainkan game waterfall ini saya sedikit bosan, karena waktu untuk memainkannya sangat lama dan error dalam pengerjaannya sangat banyak sehingga memerlukan waktu dan dana yang lebih untuk menyelesaikan proyek tersebut. selain bosan saya juga kesal, karena setelah saya menyelesaikan game tersebut saya hanya mendapatkn skor 29 atau 30..
setelah saya lebih memahami proses kerja waterfall dan menerapkannya dalam game ini, akhirnya saya bisa mendapatkan skor 95. yah cukup memuaskan lah daripada skor yang tadi hanya 30..

trik yang saya gunakan agar bisa mendapatkan skor yang tinggi:
  1. membeli tools untuk memudahkan pengerjaan proyek dari game ini
  2. memecat karyawan yang tidak memiliki keahlian khusus dalam bidang ini (roger) 
  3. menentukan pekerjaan para pegawai, yaitu sebagai berikut :
    • Requirements dikerjakan oleh calvin.anita,mimi, pedro dan andre. Sehingga proses requirements dapat cepat selesai karena dikerjakan oleh 5 orang
    • Design dikerjakan oleh andre, anita dan Emily
    • Coding dikerjakan oleh andre, calvin, Emily, dan pedro
    • testing dikerjakan oleh andre, Emily, mimi, dan pedro
  4. mengerjakan step by step
  5. menggunakan tombol next event. karena jika kita menggunakan tombol next event maka game akan berhenti jika terdapat event baru, sedangkan advance clock hanya berjalan 1 detik setiap kali di klik. 
  6. karena waktu yang minim, review pekerjaan 2 kali sj. dan jika terdapat error m aka correct di bagian yang terdapat error tersebut.
  7. terakhir jika program sudah selesai maka delivery program to customer

RAPID PROTOTYPING
Untuk bermain game ini tidaklah terlalu sulit jika dibandingkan dengan waterfall, karena dalam game ini semua pegawai bisa melakukan semua pekerjaan, sehingga kita tidak terlalu susah untuk membagikan pekerjaan kepada mereka.

trik saya untuk bermain game ini:
  1. memilih bahasa prototyping dan implementation. saya menggunakan visual basic untuk bahasa prototype dan java untuk bahasa implement
  2. mempekerjakan semua pegawai
  3. mengerjakan step by step
  4. jika cutomer ingin melihat prototype pada saat kita lagi mengerjakannya, abaikan saja karena batas waktunya tidaklah cukup.
  5. lakukan evaluated sebanyak 2 kali saja
  6. usahakan program selesai lebih cepat dari batas waktu
 INCREMENTAL
Dari ketiga game sim-se menurut saya game incremental yang paling mudah, hanya sekali main saya langsung mendapatkan skor 92.

trik saya untuk bermain game ini:
  1. karena dalam game ini terdapat 4 modul dan harus dikerjakan step by step maka, pada tahap analyzing sitem, requirements dan design saya mempekerjkan semua pegawai
  2. pada tahap implement modul 1 saya hanya mempekerjakan dua orang, sedangkan dua orang lainnya saya beri tugas untuk mengerjakan analyzing modul berikutnya, karena apabila tahap requirements dan design pada modul sebelumnya selesai maka kita bisa mulai mengerjakan modul 2 walaupun tahap implement pada modul sebelumnya selesai
  3. setiap 1 modul selesai dikerjakan lakukan evolve code untuk mengetahui dibagian mana yang terdapat kesalahan. apabila kita melakukan evolve code maka bagian design akan berkurang percentasenya sehingga kita harus mengerjakan design lagi, hingga mencapai 100%
  4. submit modul yang sudah selesai dikerjakan.
 demikian pengalaman dan trik saya dalam bermain sim-se :)

thanks for reading this blog ^^ 

Jumat, 09 November 2012

Prototyping


heiii para bloggers.
 
 Dalam blog ini saya akan menjelaskan lebih lanjut mengenai prototype..
 semoga bermanfaat :)
Apa itu prototype?
prototipe adalah sampel awal atau model yang dibangun untuk menguji suatu konsep atau proses atau untuk bertindak sebagai sesuatu yang harus direplikasi atau dipelajari

Kenapa kita membutuhkan prototype?
= kita membutuhkan prototype agar kita bisa mengetahui kebutuhan dari user itu seperti apa yang kemudian akan berlanjut pada tahap design coding,dan testing.

berikut adalah gambar proses pembuatan prototyping:
    
proses prototyping:
1.Listen to customer : mendengarkan kebutuhan apa saja yang diinginkan oleh customer
2.build/revise mockup: membuat software seperti permintaan customer.
3.customer test drives mock up: customer kemudian menguji software yang telah dibuat, apabila masih ada kekurangan maka harus kembali ke tahap awal yaitu Listen customer, revise mock-up,test drives. tahap ini akan terus berulang dan akan berhenti jika costumer sudah puas dengan hasil software.    


Mengapa banyak yang suka menggunakan Prototyping?
=Karena dalam proses pengembangannya sangat mudah

Pendekatan yang digunakan jika
  • Costumer sulit untuk mendefinisikan atau mengkomunikasikan kebutuhannya akan sistem yang direncanakan secara lebih mendetail
  • Pengembang  mungkin tidak yakin terhadap efisiensi algoritma, adaptasi dari sistem operasi,a tau bentuk interaksi manusia atau mesin yang harus dibuat 
yaitu: 
1. Close-ended  Prototyping (Throwaway Prototyping)    
    = Hanya menyajikan demonstrasi kasar dari pemenuhan requirements untuk kemudian dibuang dan pengembangan akan menggunakan model yang berbeda

2.Open-ended Prototypingn (Evolutionary Prototyping)
    = Menjadi bagian awal dari aktivitas analisis dan akan dilanjutkan hingga desain pengembangan


 Program yang dapat digunakan untuk mempermudah pembuatan Prototype:
  • Visual pemrograman (Visual basic, Netbeans IDE)
  • Reuse Code
  

thanks for read this blog ^^ <3

Rabu, 24 Oktober 2012

Software Process

Haiiii!!!
blog saya kali ini akan membahas lebih lanjut mengenai model-model software process yang terdiri dari 5 jenis,yaitu:
  1. Waterfall Model
  2. Prototyping Model
  3.  Rapid Application Development
  4. Incremental Model
  5. Spiral Model

cekidooottt......

1. Waterfall Model

disebut waterfall karena modelnya seperti air terjun. yaitu model sotware yang bekerja secara step by step dan langkah kerjanya harus berurutan.

proses waterfall:
1.Requirement Analysis
    Proses pengumpulan informasi tentang kebutuhan proyek yang akan dibuat dan kemudian dianalisis dan dispesifikasikan sehingga informasi kebutuhan yang didapatkan tepat

2.Design
    proses desain bertujuan untuk menerjemahkan kebutuhan kedalam sebuah representasi perangkat lunak

3.Implementation
    Hasil desain kemudian diterjemahkan kedalam bahasa pemrograman yang sesuai

4.Verification
     hasil implementasi kemudian digabungkan dan diuji untuk mengetahui apakah pengkodean sudah tepat semua atau tidak,

5.Maintenance
     tahap pemeliharaan yaitu memperbaiki kesalahan yang mungkin terjadi karena perangkat lunak mengalami perubahan karena menyesuaikan diri dengan lingkungan baru.

Kelebihan:
  • merupakan model pengembangan yang paling handal dan paling lama digunakan
  • cocok untuk sistem software berskala besar
  • cocok utuk sistem software yang bersifat generic
  • pengerjaan project sistem akan terjadwal dengan baik dan mudah dikontrol


Kekurangan:
  • Persyaratan harus digambarkan dengan jelas
  • rincian proses harus benar-benar jelas dan tidak dapat berubah-ubah
  • sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan

Contoh Kasus: software pengolah gambar

referensi: http://waliadigunawan.blogspot.com/2009/12/waterfall-model.html


2.Prototyping Model







 Prototyping adalah proses yg bisa dilaksanakan secara berulang dengan tujuan untuk menghindarkan proses persetujuan formal secara periodik yg diperlukan dalam pendekatan pengembangan sistem secara tradisional.

Prototyping adalah proses yang digunakan untuk membantu pengembang perangkat lunak dalam membentuk model dari perangkat lunak yang harus dibuat.


Proses Prototyping:
1.Pengumpulan kebutuhan
    yaitu mengumpulkan kebuthan pelanggan secara garis besar

2.Membangun Prototyping
    membangun protoyping dengan perancangan sementara sebagain penyajian kepada pelanggan

3.Evaluasi Prototyping

4.Mengkodekan Sistem
     prototyping kemdian diterjemahkan kedalam bahasa pemrograman yang sesuai

5.Menguji Sistem
     setelah pengkodean selesai sistem kemudian di tes

6.Evaluasi Sistem

7.Menggunakan Sistem

Kelebihan:
  • Sudah Terstruktur
  • Adanya komunikasi yang baik antara pengembang dan pelanggan
  • Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
  • Lebih menghemat waktu
  • Pelanggan berperan aktif dalam pengembangan sistem
  • Penerapan menjadi lebih mudah karena pemakai mengetah apa uyang diharapkannya


Kekurangan:
  • Proses analisis dan perancangan terlalu singkat. 
  • Mengesampingkan alternatif pemecahan masalah. 
  • Bisanya kurang fleksible dalam mengahdapi perubahan. 
  • Protitype yang dihasilkan tidak selamanya mudah dirubah  
  • Protype terlalu cepat selesai
contoh kasus: Replika/gameonline

referensi:  http://ikavita.blogspot.com/2008/07/sistem-informasi-manajemen.html


3.Rapid Application Development

 

 Rapid Application Development (RAD) adalah sebuah model proses perkembangan model waterfall yang menekankan siklus perkembangan yang sangat pendek. Model ini merupakan sebuah adaptasi “kecepatan tinggi” dari model waterfall di mana perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi berbasis komponen. Selain itu RAD merupakan Versi “High Speed” dari model Waterfall.

Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
  1. Component based construction ( pemrograman berbasis komponen bukan prosedural).
  2. Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
  3. Pembangkitan kode program otomatis/semi otomatis.
  4. 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 kebutuhan yang diinginkan pada tahap analisis 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:

Beberapa hal (kelebhan dan kekurangan) yang perlu diperhatikan dalam implementasi pengembangan menggunakan model RAD :
  1. Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
  2. Model ini cocok untuk proyek dengan skala besar.
  3. Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
  4. kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
  5. sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
  6. penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
  7. proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
  8. risiko teknis yang tinggi juga kurang cocok untuk model ini.
 referensi: http://id.wikipedia.org/wiki/Rapid_Application_Development


4.Incremental Model






incremental model adalah proses pengembangan perangkat lunak berskala besar yang terbagi menjadi bagian-bagian/ modul-modul.

Proses Increment:
1.Analysis
    proses pengumpulan informasi mengenai kebutuhan pelanggan. informasi kebutuhan kemudian dianalisis dan dispesifikasi sehingga benar-benar lengkap dan tepat

2.Design
    setelah dianalisis kemudian diterjemahkan kedalam sebuah representasi perangkat lunak

3.Code
     desain kemudian diterjemahkan kedalam bahasa pemrograman yang sesuai

4.test
     setelah proses pengkodean selesai maka akan dilakukan pengujian perangkat lunak

setiap bagian increment dikerjakan oleh tim-tim khusus. tim 1 mengerjakan increment 1, tim 2 mengerjakan increment 2. jika tim sebelumnya sudah menyelesaikan tahap analisis dan design maka tim selanjutnya dapat memulai tahap analisis untk increment yang mereka kerjakan.

kelebihan:
  • Mampu mengakomodasikan perubahan secara fleksibel
  • Pelanggan dapat memakai increment yang pertama sebagai bentuk prototype dan mendapatkan pengalaman yang dapat menginformasikan persyaratan untuk increment sistem berikutnya
  • Resiko untuk kegagalan proyek lebih rendah
  • Pelanggan tidak perlu menunggu hingga seluruh sistem dikirimkan untuk menggunakan sistem tersebut

Kekurangan:
  • kesulitan untuk memetakan persyaratan pelanggan pada increment dengan ukuran benar
  • sebagian besar  sistem membutuhkan serangkaian fasilitas dasar yang dipakai oleh increment lain pada sistem
  • incremental harus menyediakan sebagian dari fungsonalitas sistem.
contoh kasus: Microsoft word

referensi:  http://evi-mursalim.blogspot.com/2011/01/rekayasa-perangkat-lunak-incremental.html


5.Spiral Model







  Model spiral merupakan pengembangan dan pembangunan dari prototyping dan incremental model,dimana proses berjalan dengan mekanisme pengembangan prototype yang dilakukan secara berulang untuk melengkapi perangkat lunak hinga sesuai dengan kebutuhan.

Proses Spiral:

1.Customer Comunication
     merupakan aktivitas yang dilakukan untuk membangun komunikasi yang efektif antara pengembang dengan pengguna terutama mengenai kebutuhan dari pengguna.

2.Perencanaan
     aktivitas yang dibutuhkan untuk menentukan sumber daya perkiraan waktu pengerjaan, analisa resiko dan informasi lainnya yang dibutuhkan untuk pengembangan perangkat lunak.

3.Pemodelan
     aktivitas yang dijalankan untuk menganalisis design yang akan dibuat

4.Konstruksi
     aktivitas yang dibutuhkan untuk mengembangkan perangkat lunak,pengkodean, pengujian, penggunaan perangkat lunak, serta dokumentasi seperti buku manual penggunaan perangkat lunak

5.Penyebaran
      aktivitas yang dilakukan untuk mendapatkan respon dari pengguna berdasarkan evaluasi mereka selama representasi perangkat lunak pada tahap permodelan maupun pada implementasi selama intalasi perangkat lunak pada tahap konstruksi

Kelebihan:
  • Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer
  • Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
  • Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi, karena perangkat lunak terus bekerja selama proses
  • 4.Menggunakan prototype sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk
  • 5.Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya kedalam perangkat kerja iterative
  • Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga mengurangi resiko sebelum menjadi permasalahan yang serius
Kekurangan:
  • Sulit untuk meyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol
  • Memerlukan menaksirkan resiko yang masuk akal dan akan menjadi permasalahan yang serius jika resiko mayor tidak ditemukan dan diatur
  • Butuh waktu lama untuk menerapkan paradikma ini menuju lapisan yang absolute
referensi: http://www.scribd.com/doc/51691655/MODEL-SPIRAL


Sekian blog saya mengenai model-model software proses..
selamat membaca :)