Tampilkan postingan dengan label Rekayasa Perangkat Lunak. Tampilkan semua postingan

Senin, 03 Desember 2012

Model Data II

Pada postingan kali ini saya akan membahas kembali mengenai model data, tetapi dalam pendekatan Rekayasa perangkat lunak, seperti pada pendekatan Analisi sistem informasi bahwa, model data merupakan sekumpulan konsep untuk menjelaskan data yang tersimpan dalam basis data, hubungan-hubungan antara data satu dengan yang lain dan juga batasan yang terkordinasi dalam suatu organisasi, yang tujuannya untuk membuat data lebih mudah dimodifikasi dan dimegerti.

Selanjutnya saya akan membahas mengenai Entitas Relationship Diagram atau yang lebih dikenal sebagai ERD. Dosen saya mengambarkan sebuah himpunan A dan B , dan mengatakan kalau himpunan itu juga merupakan suatu relasi antara entitas A dan entitas B, dimana entitas A dapat memiliki satu atau banyak relasi terhadap entitas B, dan itu merupakan contoh kecil dari sebuah relasi
Entitas Relationship Diagram sendiri  merupakan diagram dimana data dibuat, digunakan dan disimpan dalam sistem. dalam ERD terdapat relasi relasi, yang pertama ada Kardinalitas ( mengacu pada berapa kali suatu entitas dapat berelasi degan entitas lain, satu ke satu, satu kebanyak, dan banyak ke banyak), ada juga Modalitas ( apakah suatu entitas turunan dapat ada tanpa suatu relasi dari entitas induk dimana jika dinyatakan Not null : harus ada relasi dan jika Null artinya tidak perlu ada relasi).


Dalam membuat ERD kita harus mengetahi terlebih dahulu mengena blueprint (kerangka kerja/ arsitektur  sebagai landasan dalam pembuatan kebijakan yang meliputi penetapan tujuan dan sasaran, penyusunan strategi, pelaksanaan program dan fokus kegiatan serta langkah-langkah atau implementasi yang harus dilaksanakan).

Dari penjelasan mengenai di atas pembuatan ERD harus mengacu pada blueprint ( arsitektur ) di bawah ini


 Physical : Merupakan tahapan pemikiran mengenai bentuk fisik dari sebuag ERD
 Logical  : Merupakan tahapan model data itu dibuat ( pembuatan ERD ) dimana menyangkut entitas , relasi ,               dan atribut
 View     : Merupakan output dari hubungan antara entitas yg berada pada level logical. (view bukan entitas)


Kelompok saya ditugaskan untuk membuat ERD mengenai service HP , berikut gambar ERD service hp,


Dari ERD di atas kita bisa mendapatkan beberapa view, misalnya , kerusakan yang terjadi,  daftar customer, dan masih banyak lagi.


Read more

Minggu, 25 November 2012

SimSE, Game Seru Ala Mahasiswa Informatika

Dosen kami memberikan tugas untuk memainkan game yang berjudul SimSe sebagai penganti Mid test rekayasa perangkat lunak, Mid test diganti dengan memainkan game? , yup kalian tidak salah baca, sebelumnya saya akan menjelaskan apa itu SimSE.

SimSE adalah simulasi rekayasa perangkat lunak pada lingkungan pendidikan yang tujuannya untuk menjembatani kesenjangan antara jumlah pengetahuan rekayasa perangkat lunak konseptual yang diberikan kepada mahasiswa dalam perkuliahan dan jumlah comparably kecil dimana mereka benar-benar bisa mempraktekkannya dalam sebuah perangkat lunak yang terkait pada rekayasa proyek.

SimSE memungkinkan mahasiswa untuk berlatih secara virtual proses rekayasa perangkat lunak (atau sub-proses) dalam grafis yang interaktif, dan menyenangkan , di mana umpan baliknya memungkinkan mereka untuk mempelajari penyebab yang kompleks dan hubungan efek yang mendasari proses rekayasa perangkat lunak, untuk mendownload game SimSE ini silakan klik disini.

Kami diberikan tugas untuk memainkan 3 model pengembangan software yang ada dalam game SimSE, yang pertama iyalah incremental model, kemudian waterfall, dan prototyping model. Jika kalian ingin membaca kembali penjelasan mengenai sofware proses model silakan klik disini, dan untuk prototyping model silakan klik disini.

Berikut tips dan trick cara bermain ketiga sofware proses model tersebut:

A.Incremental Model
  1. 1. Awalnya periksa terlebih dahulu keahlian dari tiap employees yang ada, dan bagilah pekerjaan mereka menurut keahlian masing masing employees. 
  2. 2. Kerjakan terlebih dahulu requirements , dan desing pada modul 1 slanjutnya bisa melanjutkan requirements , dan desing pada modul 2 dan seterusya 
  3. 3. Pekerjakan Lola untuk bagian requirements dibantu oleh karl pada modul 1 
  4. 4. Bob sebaiknya ditugaskan untuk desing, pekerjakan Bob untuk mendesain modul- modul terlebih dahulu 
  5. 5. Amy ditugaskan untuk melakukan implement pada modul. 
  6. 6. Karena jumlah batas waktu 200 ticks maka saya memajukan waktu secara manual ( tidak megnunakan Next event tombol) 
  7. 7. Karl dan Lola melakukan dificulty analysis 
  8. 8. Lakukan hal yang sama pada modul modul berikutnya
  9. 9. Karena keahlian Amy pada coding , suruh dia melakukan evolving code jika client melakukan perubahan pada modul 
  10. 10. Jika Modul telah selesai usahakan di Submit 
  11. 11. Jika terjadi perubahan pada accurasy modul lakukan desing 
  12. 12. Jka terjadi perubahan pada total satisfication lakukan implement 
  13. 13. Lakukan integrate pada modul yang telah dikerjakan 
  14. 14. Usahakan accuracy dan satisfication memiliki nilai 100 untuk mendaptkan nilai akhir 100
  15. 15. Dan terakhir jika semua modul telah dikerjakan lakukan submit final product to customer.
Dari trick dan tips di atas saya mendapatkan score 100, berikut ini gambarnya




B. Waterfall Model
  1. 1. Naikan gaji masing-masing employees sebesar 10% dari gaji pokok kecuali roger secara bertahap, dimulai dari andre,anita, calvin dan pedro, karena mereka akan mengerjakan requrements yg merupakan awal pembuatan program. 
  2. 2. Menaikan gaji dilakukan agar mood dan energi employees menigkat sehiinga menghemat waktu pengerjaan 
  3. 3. Pecat Roger dengan memilih fire , ini bertujuan untuk mengurang tingkat error dan menghemat biaya yang ada, karena roger sangat tidak bepengalaman 
  4. 4. Beli alat yang membantu pekerjaan degan memilih pucrcase tools, beli semua alat yang ada 
  5. 5. Seperti yang saya lakukan pada incremental model , periksalah keahlian dari masing-masing employees yang ada, jangan pekerjakan employees pada pekerjaan yang ia tidak sukai dan masih kurang pengalaman dalam pekerjaan itu , hal itu dapat menyebabkan munculnya banyak error dan menghambat pengerjaan. 
  6. 6. Jangan sekali –sekali mempekerjakan employees yang tidak ahli, sebaiknya istirahatkan saja, sehingga tidak menimbulkan banyak error 
  7. 7. Pada requirements dokumen pekerjakan andre,anita, calvin dan pedro, yang lain biarkan beristirahat 
  8. 8. Selesaikan requirements dokumen hingga percentcomplete = 100, lalu lakukan review requirements document hingga selesai , masih dengan pekerja yang sama,betulkan kesalahan dengan memilih corect the requirements document, hingga NumKnownErrors mencapai angka 0 
  9. 9. Pada desing document pekerjakan Andre , anita dan emili, naikan gaji emili 10% dan turunkan gaji calvin dan pedro 10%. 
  10. 10. Selesaikan Desing Documents hingga percentcomplete = 100, lalu lakukan review Desing Documents hingga selesai , masih dengan pekerja yang sama,betulkan kesalahan dengan memilih corect the Desing Documents, hingga NumKnownErrors mencapai angka 0 
  11. 11. Pada coding pekerjakan Andre, calvin, emili, pedro, naikan gaji calvin dan pedro 10%, turunkan gaji anita 10% 
  12. 12. Lakukan create code hingga percentcomplete = 100, lalu lakukan inspect code hingga selesai , masih dengan pekerja yang sama,betulkan kesalahan dengan memilih corect code, hingga NumKnownErrors mencapai angka 0, jagan lupa untuk melakukan integrate 
  13. 13. Pada system test plan pekerjakan Andre , mimi, dan pedro, naikan gaji mimi 10% dan turunkan semua gaji employees yang tidak bekerja sebesar 50% 
  14. 14. Lakukan create the sytem test plan hingga percentcomplete = 100, lalu lakukan review the sytem test plan hingga selesai , masih dengan pekerja yang sama,betulkan kesalahan dengan memilih corect the sytem test plan, hingga NumKnownErrors mencapai angka 0 
  15. 15. Lakukan do system test , bertujuan mencoba software yang ada sebelum diberikan ke customer
  16. 16. Setelah itu Pilih deliver product to cutomer
Dari trick dan tips di atas saya mendapatkan score 96, berikut ini gambarnya




C. Prototyping Model
  1. 1. Pada awal permainan pilih bahasa pemrograman yang digunakan untuk membuat prototyping saya memilih Visual basic karena , dari semua pilihan , visual basic sangat cocok untuk diterapkan dalam pembuatan prototyping karena bahasa pemrogramannya yang mudah 
  2. 2. Selanjutnya pilih bahasa pemrograman yang akan digunakan dalam melakukan inplementasi, saya memilih java, karena java sangat cocok dipakai untuk implement sebuah program dibanding dengan visual basic dan c++. 
  3. 3. Dalam prototyping ini kita diharuskan mengunakan semua employees yang ada secara bersama-sama 
  4. 4. Dalam melakukan develop prototyping biasanya customer akan memangil untuk melihat dan mengevaluasi prototyping yang telah dibuat hentikan pembuatan dan pilih have customer evaluate , jika tidak ada pangilan maka sebaiknya temui customer yang ada dengan memilih , have customer evaluate.
  5. 5. sehabis prototype di evalute oleh customer lakukan lagi develop prototyping begitu seterusnya hingga percent evaluated = 100 dan discovered requirements prototyped >85 
  6. 6. selanjutnya kerjakan spesifikasi requirements dengan memilih create specification requierements hingga pecentcomplete mencapai 100 
  7. 7. kemudian kerjakan desing system hingga pecentcomplete mencapai 100 
  8. 8. Kerjakan implement system pecentcomplete mencapai 100 
  9. 9. Perlu diingat dalam pengerjaan requirements desing dan implement harus dikerjakan secara    berurutan dan tidak lupa waktu pengerjaan jangan sampai melewati 825 ticks. 
  10. 10. Terakhir Deliver Final product to customer
Dari trick dan tips di atas saya mendapatkan score 98, berikut ini gambarnya





Nah itu tadi tips dan trick saya untuk memainkan ketiga software proses model yang telah ditugaskan dosan kami, dalam memainkan SimSE dengan 3 model pengembangan software, saya merasa Prototyping dan incremental lebih mudah daripada waterfall model, dimana dalam waterfall model banyak aspek yang harus diperhatiakan agar nilai menjadi bagus , sementara pada prototyping dan incremental lebih sederhana.

Jika harus memilih mana yang paling mudah antara Prototyping atau Incremental saya lebih memilih Prototyping, walaupun nilai pada incremental saya lebih tinggi, tetapi dalam memaikan prototyping sangat mudah karena pekerjaannya tidak terbagi-bagi dan sangat simple.

Menurut kalian bagaimana?









Read more

Senin, 12 November 2012

Model pengembangan software Prototyping

Hai, pada postingan kali ini saya akan membahas mengenai Prototyping yang merupakan salah satu dari model pengembangan software, pada postingan saya tentang "About Software Process Model" saya menjanjikan untuk membahas lebih jauh mengenai  prototyping, berikut pembahasan yang dapat saya berikan.

Pertama-tama kita harus tau dulu, apa sih prototyping itu, prototyping merupakan sampel awal atau model yang dibangun untuk menguji suatu konsep atau proses atau untuk bertindak sebagai percobaan atau tempat untuk pembelajaran.

Pendekatan Prototyping akan dilakukan jika 
  • Customer sulit mendefinisikan atau mengkomunikasikan kebutuhanya akan sistem yang direncanakan secara lebih mendetai
Tetapi hal ini akan berpengaruh terhadap pengembang deimana pengembang mungkin tidak yakin terhadap efisiensi algoritma, adaptasi dari sistem operasi, atau bentuk interaksi manusia/mesin atau bentuk interaksi yang harus dibuat



Dalam pembuatan prototyping sendiri , terdapat 2 jenis pembuatan yaitu

1. Close-Ended Prototyping
  • Disebut juga throwaway prototyping
  • Hanya menyajikan demonstrasi kasar dari pemenuhan requiremnets untuk kemudian dibuang, dan pengembang akan menggunakan model yang berbeda
2. Open-Ended Prototyping
  • Disebut juga evolutionary prototyping
  • Menjadi bagian awal dari aktivitas analisi dan akan dilanjutkan hingga desain dan pengembangan



Berikutnya ada 2 strategi mengembangkan prototyping, yaitu

1. Visual Program
  • Sebuah bahasa pemrograman yang menggunakan representasi visual(seperti grafik, gambar, animasi atau ikon, sebagian atau seluruhnya).
  • Sebuah bahasa visual adalah satu set pengaturan spasial teks-grafis simbol dengan interpretasi semantik yang digunakan dalam melakukan tindakan komunikasi di dunia. -Myers 1990
2. Reuse Program
  • Merupakan strategi pengembangan dimana , hasil prototyping yang telah dibuat dapat digunakan kembali ketika ada user lain yang mengiginkan program yang tidak jauh berbeda sehingga menghemat biaya dan waktu.
Sekian penjelasan saya mengenai prototyping, untuk melihat model pengembangan software yang lain silakan klik disini About Software Process Model

Read more

Kamis, 25 Oktober 2012

About Software Process Model

Pada kesempatan kali ini saya akan menjelaskan apa yang saya ketahui mengenai software process model / model pengembangan software. Dosen kami telah mengajarkan 5 model pengembangan software dengan cara memberikan tugas pada kelompok yang ada diamana masing masing kelompok membahasa model pengembangan software yang berbeda dan nantinya tugas akan dipresentasikan dengan metode stand yang pernah diberikan kepada kami.

Berikut beberapa model pengembangan software:

1. Waterfall Model
       
        Menurut saya waterfall model sendiri merupakan model pengembangan software yang mudah untuk dikerjakan, cocok untuk software dalam skala yang besar dan merupakan dasar dari semua pengembangan software yang lainnya, tetapi waterfall model ini memerlukan waktu yang cukup lama dalam membuat suatu software. Dalam pembuatan software yang mengunakan waterfall model, programer harus menyelesaikan satu tahapan terlebih dahulu sebelum melanjutkan ke tahapan selanjutnya (sequental) dimulai dari tahapan requirements analisis and definition, kemudian  system and software desing dilanjutkan ke tahap implementasi dan testing unit, lalu integrasi dan sistem testing, dan terakhir yaitu operation dan maintenance.

Kelebihan

  • Menghasilkan software dengan kualitas yang baik
  • Mudah digunakan
  • Cocok untuk pengembangan software dengan skala yang besar
  • Sangat terorganisir mengingat dalam waterfall model tahap dikerjakan satu demi satu
Kekurangan
  • Pengerjaan yang lama
  • Proses akan terhenti jika terjadi masalah pada salah satu tahapanya
  • Sulit beradaptasi dalam pengembanganya
  • Perincian proses harus jelas

2.Incremental Model

         
        Incremental model itu merupakan model pengembangan software yang dikembangkan dari waterfall model. Pada Incremental model ini mengunakan teknik penambahan sedikit demi sedikit, dimana dalam pengembangannya dibuat dahulu inti dari software (kebutuhan yang paling kritis/mendasar) yang akan dibuat dimana nantinya akan ditambahkan bagian bagian penunjang yang dinginkan oleh user, ada beberapa tahapan dalam pembuatan incremental model , yaitu analisis, desing, implement dan testing. Jika tahap analisis dan desing telah dikerjakan oleh kelompok incremental pertama maka kelompok incremental ke 2 dapat memulai analisis untuk menambahkan penunjang dari software utaman/inti, proses ini akan berjalan terus sampai software telah benar benar mantap maupun user telah puas.

Kelebihan
  • Penerapan yang fleksibel
  • Waktu pengerjaan yang cukup singkat
  • Software dapat digunakan apabila software utama telah selesai dikerjakan, tanpa harus menuggu bagian penunjangnya selesai
Kekurangan
  • Tidak cocok untuk pengembangan software dengan skala yang besar
  • Sulit untuk memetakan lebutuhan user kedalam rencana spesifikasi dari hasil tiap-tiap increment

3. Rapid Application Development Model (RAD)

        
        Yang saya ketahui dari RAD iyalah RAD merupakan model yang digunakan untuk mengembangkan software yang hanya memiliki waktu yang relatif singkat dimana RAD diadaptasi dari waterfall model yang dirasakan cukup lama dalam pengembanganya, maka dari itu pengembangan RAD memerlukan cukup banyak tim kerja yang menjalankan proses dalam waterfall model untuk bagian software yang terpisah, dimana nantinya bagian-bagian software tersebut akan disatukan sehingga memakan waktu yang singkat karena software dibuat degan cara bagian-bagian software dikerjakan oleh tim yang berbeda. ada 5 tahapan dalam RAD ini yaitu, business modeling, data modeling , proses modeling, aplikasi generasi, dan yang terakhir testing and turnover.

Kelebihan
  • Sangat berguna jika user tidak memahami kebutuhan apa saja yang diiginkanya
  • Mempunyai kemampuan untuk mengunakan kembali komponen yang ada, sehingga tidak perlu membuat dari awal lagi
  • Biaya lebih murah karenan mempunyai kemampuan untuk mengunakan komponen yang telah ada
  • Waktu yang singkat
Kekurangan
  • Memerlukan sumber daya manusia yang memadai agar kerja tim menjadi baik
  • Menuntut pengembangan dan user memiliki komitmen untuk melengkapi  sebuah sistem, jika tidak ada komitmen makan proyek RAD akan gagal
  • Tidak cocok untuk pengembangan software dengan skala besar

4.Spiral Model


        Spiral model itu diadaptasi dari pengabungan  waterfall model , prototyping dan incremental model dimana pada pengembagan dan tahapanya akan terus berulang jika user menginginkan pembaruan, mengadukan permasalahan maupun ada yang tidak sesuai dengan kebutuhan user, proses ini juga dikatakan revolusioner dimana dalam software yang dibuat akan terus diperbarui dan dilengkapi sehingga dari hari ke hari  softwarenya menjadi lebih sempurna, ada beberapa tahap dalam spiral model yaitu kominikasi, perencanaan, permodelan, konstruksi, penyerahan software.

Kelebihan 
  • Sangat fleksibel
  • Software yang dihasilkan akan terus berkembang demi memenuhi kebutuhan user
  • Software yang dihasilkan akan bertahan lama
  • Cocok untuk pengembangan software dengan skala besar
  • Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga mengurangi resiko yang ada
Kekurangan
  • Memakan waktu yang lama karena terus berulang
  • Dalam menerapkan paradigma yang pasti dibutuhkan waktu yang lama
  • Programer akan sulit menyakinkan user bahwa  spiral model yang menerapkan sistem evolusioner  akan dapat dikontrol


5. Prototyping Model



        Saya belum banyak mengetahui tentang prototyping model ini tetapi saya akan menjelaskan yang saya ketahui, prototyping model sendiri merupakan proses pengembangan software dimana padal awal pembuatan software terlebih dahulu dibuat garis besar kebutuhan user dengan prototipe, dan akan dibuatkan softwarenya selanjutnya software akan diberikan kepada user untuk dites, tetapi jika user belum puas maka akan dibuatkan kembali samapi kebutuhan user terprnuhi/ puas karena tidak dapat di maintenance. Prototyping model sendiri memiliki tahap-tahap sebagai berikut, pengumpulan  kebutuhan, pembangunan prototyping, evalisasi prototyping, pengkodean sistem, evaluasi sistem dan terkahir mengunakan sistem.

Kelebihan

  • Melibatkan user dalam tahap analisis dan desing
  • Waktu yang dibutuhkan singkat/ menghemat waktu yang ada
Kekurangan
  • Tidak fleksibel 
  • Tahap-tahap pengembangan  yang relatif singkat membuat banyak terjadi kesalahan

Pada postingan saya mengenai software process model / model pengembangan software tentunya masih  banyak kekurangan yang ada , tetapi dalam pertemuan-pertemuan yang membahas software process model / model pengembangan software , inilah yang dapatkan

Yang ingin saya ketahui lebih lanjut yaitu mengenai prototyping model. Tunggu postingan berikutnya!.



Read more

Senin, 08 Oktober 2012

Software

Pada kesempatan kali ini saya akan membahas mengenai apa itu Software, yang saya dapat simpulkan dari penjelasan dosen kami iyalah, software merupakan seperangkat item maupun objek yang membentuk suatu konfigurasi, dimana didalamnya terdapat program,data, serta dokumen.

Dosen kami juga menjelaskan bahwa software sendiri memiliki karakteristik yaitu :

1. Software adalah engineered
       Artinya jika ingin membuat sebuah sofware maka tidak langsung dibuat begitu saja, melainkan harus terlebih dahulu di ukur sesuai dengan kebutuhan oleh user.

2. Software itu tidak habis dipakai / lapuk
       Software itu dibuat untuk jangka waktu yang panjang

3. Software itu kompleks
       Dalam pembuatan software, banyak hal yang harus dipertimbangkan terlebih dahulu, sebelum software itu dibuat.

4. Software adalah pembeda
        Artinya software itu bisa menjadi pembeda atau menjadi ciri khas dari user yang memakainya, dimana pada setiap software memiliki ciri-ciri tertentu.

5. Software itu seperti pabrik yang menua
        Artinya software itu akan "out of date" dimana pada titik tertentu software itu tidak dapat digunakan lagi karena tidak lagi memenuhi kebutuhan user.

Memang pada poin ke 5 dan poin ke 3 sangat bertolak belakang, oleh sebab itu sebaiknya jika ingin membuat software maka buatlah software yang dapat diupdate sehingga jika kebutuhan user meningkat software pun dapat ditingkatkan juga.

Software sendiri memiliki beberapa jenis, berikut macam-macam software :

  • System Software                        : software yang melayani software lain
  • Real-time Software                     : software yang mengolah data berdasarkan saat itu juga
  • Bussines Software                      : software yang digunakan dalam dunia bisnis
  • Engineering/scientific Software    : software yang dipakai untuk keperluan teknis dan sains
  • Embedded Software                   : software yang dimasukkan kedalam perangkat keras
  • Pc Software                              : software yang digunakan untuk kebutuhan personal komputer
  • Al Software                               : software yang digunakan untuk melakukan prediksi
  • Web Applications                       : software / aplikasi yang berbasis web



Selanjutnya kami diberikan games oleh dosen kami, dimana dosen kami membagikan potongan kertas yang didalamnya bertuliskan 2 macam bahan, kami di suruh untuk membuat sesuatu dari 2 bahan tersebut, dan menuliskan tujuan dari bahan tersebut, saya sendiri mendapatkan kertas yang bertuliskan kaca dan kerikil, awalnya saya bingung harus membuat benda apa dari 2 bahan tersebut, kemudian saya memilih untuk membuat akuarium.

Kemudian kami ditugaskan untuk mencari 1 orang untuk menjadi partner ,dimana kita harus menebak apa bahan dan benda yang dibuat oleh partner kami dengan benar, kami dapat mengajukan pertanyaan kepada partner kami tetapi dengan catatan ,partner kami hanya dapat menjawab ya atau tidak.

Tujuan dari games ini tidak lain dan tidak bukan untuk mengasah kemampuan kami dalam berkomunikasi kepada client yang akan bekerjasama dengan kita apabila, kita menjadi seorang programer.

Diakhir pertemuan kami diperlihatkan gambar mengenai software proses, dimana proses tersebut bernama waterfall model, saya sangat penasaran tentang apa itu waterfall model, yang ingin saya tanyakan iyalah mengenai waterfall model lebih dalam lagi.


Read more