Monday, October 29, 2012

Business Process


Hai, Readers ! ;)

Hari ini saya mulai lagi menulis refleksi untuk pelajaran ASI. Pembahasan kali ini yaitu tentang Business Process Analys (Analisis Proses Bisnis).

Sebenarnya materi tentang Proses Bisnis ini sudah dari 2 minggu yang lalu dimulai, tetapi pembahasannya baru selesai hari ini. Oleh karena itu, kami pun baru menuliskan refleksinya.

Sebelum melangkah ke Analisis Proses Bisnis, kami terlebih dahulu dijelaskan mengenai Quality Function Deployment (QFD). QFD merupakan teknik manajemen kualitas yang menerjemahkan kebutuhan customer ke dalam Software Requirement Specification (SRS). QFD meliputi Function Deployment, Information Deployment, Task Deployment, dan Value Analysis.

Setelah menjelaskan teori-teori dasar tentang QFD, Pak Sofyan menyuruh kami untuk menganalisis suatu sistem informasi dengan menentukan jenis usaha apa yang ingin kami buat beserta dengan judul projectnya, kemudian tentukan anggota kelompok yang akan berperan sebagai owner dan yang akan berperan sebagai developer. Kelompok saya membuat jenis usaha : Pabrik Mie Instan dengan judul project : Sistem Distribusi.

Pada saat diskusi, kami masih bingung dalam menentukan apa-apa saja yang merupakan suatu sistem maupun yang bukan termasuk sistem L
Akhirnya, setelah mendapat banyak pembekalan dan arahan dari Pak Sofyan, kami berhasil menyelesaikan analisis sistem informasi tersebut. Dalam tugas ini, kami menuliskan apa-apa saja spesifikasi standar yang ada pada Pabrik Mie Instan, apa-apa saja yang menjadi permintaan dari owner, dan juga saran-saran yang diberikan oleh developer.

Pelajaran yang saya tangkap setelah mempelajari tentang analisis sistem informasi, yaitu dapat menerjemahkan keinginan / kebutuhan konsumen mulai dari merancang jenis usaha sampai menuliskan spesifikasi standar yang ada dalam usaha tersebut. Owner dan developer pun berperan aktif dengan saling berkomunikasi untuk memenuhi kebutuhan konsumennya. Tidak hanya itu, developer juga harus mampu untuk mengembangkan pemikirannya menjadi lebih luas dan terbuka dengan memberikan saran-saran kepada owner agar dapat mencapai kepuasan dari konsumen.

Setelah pembelajaran mengenai analisis sistem informasi selesai, Pak Sofyan melanjutkan pelajaran ke materi selanjutnya yaitu tentang Analisis Proses Bisnis.

Hmm..  Seperti yang kita ketahui, Proses Bisnis (Business Process) dapat didefinisikan sebagai kumpulan dari proses dan berisi kumpulan aktifitas (tasks) yang saling berelasi satu sama lain untuk menghasilkan suatu keluaran yang mendukung pada tujuan dan sasaran strategis dari organisasi. Proses Bisnis harus mempunyai tujuan (goal), membutuhkan masukan (input), menghasilkan apa (output), memiliki sumber daya (resource), beberapa aktivitasnya berurutan, melibatkan satu / lebih organisasi, serta ada value bagi customer. Akan tetapi, yang akan saya bahas disini bukan mengenai teori Proses Bisnis melainkan penerapan Analisis Proses Bisnis dalam suatu perusahaan.

Pada minggu lalu, Pak Sofyan memberikan kami tugas untuk menganalisis proses bisnis yang ada pada sebuah perusahaan rental mobil. Seperti biasa, kami disuruh duduk dalam kelompok kami masing-masing kemudian berdiskusi bersama.

Awalnya, kami disuruh untuk menuliskan divisi-divisi apa saja yang ada dalam sebuah perusahaan rental mobil tersebut. Setelah berembuk, kami menentukan beberapa divisi, antara lain : divisi penyewaan, divisi pengadaan, dan divisi pemeliharaan. Kemudian, kami menentukan jabatan masing-masing anggota kelompok ke dalam divisi-divisi yang telah kami buat.
Setelah semuanya telah mendapat bagian dalam divisi masing-masing, tugasnya adalah menulskan proses kejadian (event) mulai dari customer datang ke rental mobil, didata oleh front desk sampai terjadi proses penyewaan dan pembayaran melalui kasir, lalu diberikan surat-surat mobil dan kunci, kemudian mobil yang telah dipilih oleh customer dapat diambil di bagian bagasi (controller). Proses ini akan berlanjut hingga customer menggembalikan mobil. Pada tahap akhir ini disebut output (tujuan).

Karena belum selesai, maka tugas ini akan dikumpul pada pertemuan berikutnya, yaitu hari ini. Tugas itu kami gambar pada kertas flipchart yang telah dibagikan minggu lalu. Kelompok saya menggambarkan 3 tabel karena kami mempunyai 3 divisi yang telah saya sebutkan diatas tadi.
Hasil analisis tersebut kami tempelkan di dinding lalu Pak Sofyan mengacak 1 nomor anggota kelompok yang akan menjaga stand, sedangkan anggota kelompok yang lain akan berpencar ke kelompok-kelompok lain untuk memberikan masukan terhadap kelompok tersebut. Masukan-masukan yang kami berikan akan dicatat oleh penjaga stand jika dianggap bermanfaat dan menjadi informasi yang bagus untuk mereka sehingga NIM kami akan dicatat menjadi bukti bahwa kami aktif dalam kegiatan kelompok ini. Demikian pula sebaliknya, jika ada penjelasan dari penjaga stand yang bagus dan dapat menambah wawasan kami, maka kami pun akan mencatat NIM mereka. Waktu yang diberikan adalah 30 menit dan setelah itu, kami kembali ke tempat kami masing-masing.
Ternyata banyak masukan yang diberikan kepada kelompok saya, beberapa diantara yaitu : harus menambah divisi marketing, divisi promosi, dan harus mencantumkan bagian pimpinan.

Setelah melihat masukan-masukan dari kelompok lain, kami sadar kalau tugas kami ini belum lengkap dan kami akan memperbaiki dan menambahkan kekurangan kami itu dalam tugas berikutnya. Tugas yang diberikan Pak Sofyan berikutnya yaitu membuat flow chart dari tabel yang telah kami buat lalu di print. Tugas ini akan dikumpulkan minggu depan x_x

Menurut saya, dengan adanya kegiatan diskusi seperti ini dapat lebih memudahkan kami dalam memahami pelajaran karena kami mau tidak mau harus berperan aktif didalamnya. Pelajaran yang saya pahami dari materi tentang Proses Bisnis yaitu :
  • Dalam suatu proses bisnis harus memiliki input dan output (tujuan) yang jelas sehingga organisasi dapat fokus pada keinginan customer.
  • Dengan analisis proses bisnis, suatu organisasi mampu memonitor setiap aktivitas-aktivitas yang terjadi karena telah dibagi kedalam divisi-divisi.
  • Organisasi juga lebih mudah mengelolah proses-proses antar bagian-bagian yang ada.
Yang ingin saya ketahui lebih lanjut tentang Proses Bisnis, yaitu apakah ada resiko jika salah satu operasi dalam proses bisnis dilakukan pada urutan waktu yang salah dan apa pula yang dapat terjadi jika proses tersebut dijalankan oleh divisi yang salah?

Ok, demikian dulu pembahasan saya mengenai Analisis Proses Bisnis. Materi yang akan kami pelajari selanjutnya yaitu tentang Model Data, tunggu info selanjutnya yah >.< thanks..


Wednesday, October 24, 2012

Software Process Model~


Haii ^^ 
Pada pelajaran RPL kali ini, saya belajar tentang Model Proses Perangkat Lunak (Software Process). Software Process yang saya pelajari terbagi menjadi 5 model, yaitu :
  • Linear Sequential Model / Waterfall Model
  • Prototyping Model
  • Rapid Application Development (RAD) Model
  • Incremental Model
  • Ireactive-Incremental (Spiral) Model
Untuk lebih jelasnya, silakan baca ulasan singkat berikut ini :D

Software Process Model (Model Proses Perangkat Lunak) merupakan suatu representasi proses perangkat lunak yang disederhanakan, dipresentasikan, dan perspektif secara khusus.

Fungsi utama model proses pengembangan perangkat lunak :
  • Menentukan tahap-tahap yang diperlukan untuk pengembangan perangkat lunak.
  • Menentukan urutan pelaksanaan dari tahap-tahap tersebut dalam rangka pengembangan perangkat lunak.
  • Menentukan kriteria transisi / perpindahan dari satu tahap ke tahap berikutnya.
Terdapat beberapa model proses perangkat lunak (Software Process Model) antara lain sebagai berikut :
  • Linear Sequential Model / Waterfall Model
    Model ini adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Waterfall Model juga dikenal dengan Model Air Terjun. Proses dalam Waterfall Model akan berlanjut jika proses sebelumnya telah selesai dilakukan, jika tidak maka proses selanjutnya juga tidak dapat berjalan (prosesnya berjalan secara berurutan). Berikut ini ada dua gambaran dari Waterfall Model.
    Fase-fase dalam Waterfall Model menurut referensi Pressman :

          Fase-fase dalam Waterfall Model menurut referensi                 Sommerville :

1. Requirements analysis and definition
Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.

2. System and software design
Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.

3. Implementation and unit testing
Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.

4. Integration and system testing
Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).

5. Operation and maintenance
Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya. Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai sebelum mengerjakan fase berikutnya.
  
Masalah dengan Waterfall Model :
  
1. Perubahan sulit dilakukan karena sifatnya yang kaku.

2. Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya jarang sekali konsumen / pengguna yang bisa memberikan kebutuhan secara lengkap, perubahan kebutuhan adalah sesuatu yang wajar terjadi.

3. Waterfall pada umumnya digunakan untuk rekayasa sistem yang besardimana proyek dikerjakan di beberapa tempat berbeda, dan dibagi menjadibeberapa bagian sub-proyek.

Kelebihan dan Kekurangan Waterfall Model :

Kelebihan :
-   Merupakan model pengembangan paling handal dan paling lama digunakan.
-   Cocok untuk system software berskala besar.
-   Cocok untuk system software yang bersifat generic.
-   Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.

Kekurangan :
-   Persyaratan system harus digambarkan dengan jelas.
-   Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
-  Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan.

Referensi : 

  • Prototyping Model
Model prototipe (prototyping model) merupakan suatu teknik untuk mengumpulkan informasi tertentu mengenai kebutuhan-kebutuhan informasi pengguna secara cepat. Berfokus pada penyajian dari aspek–aspek software tersebut yang akan nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format output). Prototipe tersebut dievaluasi oleh pelanggan / pemakai dan dipakai untuk menyaring kebutuhan pengembangan software.

Proses (aktivitas) pada model prototyping bisa dijelaskan sebagai berikut :

1. Mengidentifikasi kebutuhan : Analisa terhadap kebutuhan calon user.
2. Quick design : Pembuatan desain global untuk membentuk contoh software.
3. Build prototype : Pembuatan software prototype termasuk pengujian dan penyempurnaan.
4. Evaluasi pelanggan : Mengevaluasi prototype dan memperhalus analisa kebutuhan calon pemakai.
5. Pembuatan dan Implementasi : Pembuatan sebenarnya termasuk design, coding, dan testing

Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan customer terpenuhi. Prototype-prototype dibuat untuk memuaskan kebutuhan klien dan untuk memahami kebutuhaklien lebih baik. 

Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software lebih cepat, namun tidak semua prototype bisa dimanfaatkan. Agar model ini bisa berjalan dengan baik, perlu disepakati bersama oleh klien dan developer bahwa prototype yang dibangun merupakan alat untuk mendefinisikan kebutuhan software.

Kelebihan dan Kekurangan Prototyping Model :

Kelebihan :
o Memudahkan user untuk memetakan pikirannya dengan prototipe.
o Lebih tampak realistis bagi user.
o Membangun komunikasi yang baik dengan user.
o Bermanfaat untuk menyatakan objek yang abstrak.
o Membantu mengidentifikasi kebingungan spesifikasi.
o Dapat menggenerasi spesifikasi aplikasi.
o Mendorong adanya inovasi dan desain yang fleksibel.
o Waktu pengembangan cepat jika tidak terjadi banyak iterasi.
o Prototype melibatkan user dalam analisa dan desain.
Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
Untuk digunakan secara stand alone.
Digunakan untuk memperluas SDLC.
Mempersingkat waktu pengembangan Sistem Informasi.

Kekurangan :
Ketidaksadaran user bahwa ini hanya suatu model awal bukan model akhir.
o Pengembang kadang-kadang membuat implementasi yang sembarangan.
o Teknik dan tools yang tidak optimal pada prototype yang akan tetap digunakan pada software sesungguhnya.
o Kebutuhan mempunyai kemungkinan sering berubah, sedangkan protitype yang dihasilkan tidak selamanya mudah dirubah.
o Sulit dalam hal dokumentasi.
o Banyaknya perulangan proses dapat membuat pembengkakan biaya dan jadwal.
o Proses analisis dan perancangan terlalu singkat.
o Mengesampingkan alternatif pemecahan masalah.
o Bisanya kurang fleksibel dalam menghadapi perubahan.

Referensi : 


  • Rapid Application Development (RAD) Model
RAD adalah model proses pembangunan PL yang incremental. RAD menekankan pada siklus pembangunan yang pendek/singkat. RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction. Waktu yang singkat adalah batasan yang penting untuk model ini. Jika kebutuhan lengkap dan jelas maka waktu yang dibutuhkan untuk menyelesaikan secara komplit software yang dibuat adalah misalnya 60 sampai 90 hari.

Fase-fase di atas menggambarkan proses dalam model RAD. Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan dalam waktu yang hampir bersamaan dalam batasan waktu yang sudah ditentukan.

1. Bussiness Modelling 
Menjawab pertanyaan-pertanyaan : 
 - Informasi apa yang mengendalikan proses bisnis? 
- Informasi apa yang dihasilkan? 
- Siapa yang menghasilkan informasi? 
- Kemana informasi itu diberikan? 
- Siapa yang mengolah informasi?
- Kebutuhan dari sistem

2. Data Modelling
Aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. Ditentukan karakteristik/atribut dan hubungan antar objek-objek tersebut analisis kebutuhan dan data.

3. Process Modelling 
Objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis.

4. Application Generation
RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan.

5. Testing and Turnover
Karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji.

Kelebihan dan Kekurangan RAD Model :

Kelebihan :
- RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object).
- Setiap fungsi dapat dimodulkan dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efesien.

Kekurangan :
- Tidak cocok untuk proyek skala besar.
- Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
- Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
- Resiko teknis yang tinggi juga kurang cocok untuk model ini.

Referensi : 


  • Incremental Model
Model incremental menggabungkan elemen-elemen model sekuensial linier (diimplementasikan secara berulang) dengan filosofi prototype interatif. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier menghasilkan pertambahan perangkat lunak yang kemudian dapat disampaikan kepada pengguna. Model ini juga merupakan perbaikan dari model waterfall dan sebagai standar pendekatan top-down. Ide dasar dari model ini adalah membangun software secara meningkat (increment) berdasarkan kemampuan fungsional.

Pada saat model incremental (pertambahan) ini digunakan, pertambahan pertama sering merupakan produk inti (core product), yaitu sebuah model pertambahan yang dipergunakan, tetapi beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan. Produk inti tersebut dipergunakan oleh pelanggan (atau mengalami pengkajian detail). Sebagai hasil dari pemakaian dan / atau evaluasi maka dikembangkan rencana bagi pertambahan selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik memenuhi kebutuhan para pelanggan dan penyampaian fitur serta fungsional tambahan. Proses ini mengikuti penyampaian setiap pertambahan sampai bisa menghasilkan produk yang lengkap.

Model proses incremental tersebut, seperti model prototype dan pendekatan-pendekatan evolusioner yang lain, bersifat iterative. Tetapi tidak seperti model prototype, model pertambahan berfokus pada penyampaian produk operasional dalam setiap pertambahannya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai.

Perkembangan pertambahan, khususnya berguna pada saat staffing, tidak bisa dilakukan dengan menggunakan implementasi lengkap oleh batasan waktu bisnis yang sudah disepakati untuk proyek tersebut. Jika produk inti diterima dengan baik, maka staf tambahan (bila dibutuhkan) bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya. Sebagai tambahan, system mayor yang sedang pada masa perkembangan serta waktu penyampaiannya belum pasti, mungkin membutuhkan keberadaan perangkat keras yang baru. Bisa juga rencana tertentu dibuat untuk menghindari pemakaian perangkat lunak ini, sehingga memungkinkan fungsionalitas partial disampaikan kepada pemakai tanpa harus banyak tertunda. 

Contoh Penggunaan Incremental Model :
Misalnya, perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigma penambahan akan menyampaikan manajemen file dasar, editing serta fungsi penghasilan dokumen pada penambahan pertama; kemudian editing dan kemampuan penghasilan dokumen yang lebih canggih pada pertambahan kedua; pengecekan spelling dan tata bahasa pada pertambahan ketiga; serta kemampuan pengaturan halaman tingkat lanjut pada tahap pertambahan keempat. Harus dicatat bahwa aliran proses untuk berbagai pertambahan tersebut dapat menggabungkan paradigma prototype.

Kelebihan dan Kekurangan Incremental Model :

Kelebihan :
  • Merupakan model dengan manajemen yang sederhana.
  • Pelanggan tidak perlu menunggu sampai seluruh system dikirim untuk mengambil keuntungan dari system tersebut. Inkremen yang pertama sudah memenuhi persyaratan mereka yang paling kritis, sehingga perangkat lunak dapat segera digunakan.
  • Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutnya.
  • Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat ditemukan pada beberapa inkremen, bisa saja beberapa inkremen diserahkan dengan sukses kepada pelanggan.
  • Karena layanan dengan prioritas tertinggi diserahkan pertama dan inkremen berikutnya diintegrasikan dengannya, sangatlah penting bahwa layanan system yang paling penting mengalami pengujian yang paling ketat. Ini berarti bahwa pelanggan akan memiliki kemungkinan kecil untuk memenuhi kegagalan      perangkat lunak pada inkremen system yang paling kecil.
Kekurangan :
  • Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode) dan setiap inkremen harus menyediakan sebagian dari fungsional system.
  • Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar.
  • Tiap bagian tidak dapat diintegrasikan.
Referensi : 

  • Ireactive-Incremental (Spiral) Model
Proses digambarkan sebagai spiral. Setiap loop mewakili satu fase dari software process. Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya. Setiap Loop dibagi menjadi beberapa sektor, yaitu :

1. Objective settings (menentukan tujuan)
Menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang diketahui, dan sudah direncanakan.

2. Risk assessment and reduction (Penanganan dan pengurangan resiko)
Setiap resiko dianalisis secara detil pada sektor ini. Langkahlangkah penanganan dilakukan, misalnya membuat prototype untuk mengetahui ketidakcocokan kebutuhan.

3. Development and Validation (Pembangunan dan pengujian)
Setelah evaluasi resiko, maka model pengembangan sistem dipilih. Misalnya jika resiko user interface dominan, maka membuat prototype User Interface. Jika bagian keamanan yang bermasalah, maka

4. Planning
Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak. Jika melanjutkan ke fase berikutnya rencana untuk loop selanjutnya.

5. Menggunakan model formal dengan perhitungan matematis, dan jika masalahnya adalah integrasi sistem model waterfall lebih cocok.

Pembagian sektor tidak bisa saja dikembangkan seperti pada pembagian sektor berikut pada model variasi spiral di bawah ini :
1. Customer communication : membangun komunikasi yang baik dengan pengguna / customer.
2. Planning : mendefinisikan sesumber, batas waktu, informasi-informasi lain seputar proyek.
3. Risk analysis : identifikasi resiko managemen dan teknis
4. Engineering : pembangunan contoh-contoh aplikasi, misalnya prototype
5. Construction and release : pembangunan, test, install dan support.
6. Customer evaluation : mendapatkan feedback dari pengguna berdasarkan evaluasi PL pada fase engineering dan fase instalasi. Pada model spiral, resiko sangat dipertimbangkan. Resiko adalah sesuatu yang mungkin mengakibatkan kesalahan. Model spiral merupakan pendekatan yang realistik untuk PL berskala besar. Pengguna dan pembangun bisa memahami dengan baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik. Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi pengguna, karena waktu yang lama sama dengan biaya yang lebih besar.

Kelebihan dan Kekurangan Spiral Model :

Kelebihan :
   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.

Kekurangan :
   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 absolut.

Referensi :


Demikianlah ulasan singkat saya mengenai Software Process Model... 
Semoga dapat bermanfaat bagi pembaca sekalian \(-^o^-)/ thank you !

Friday, October 12, 2012

The Importance of Reading !


Hai Readers, hari ini saya bukan memberikan refleksi saya tentang pelajaran ASI maupun RPL, tetapi saya akan menulis blog tentang pentingnya membaca materi sebelum kuliah di mulai . . . . .

Kami sekelas ditegur karena lupa membaca materi yang diberikan Pak Sofyan minggu lalu :(
Beliau sudah mengingatkan kami itu mencari dan membaca materi itu seminggu yang lalu karena hari ini kami akan diberikan aktivitas yang berhubungan dengan materi-materi tersebut.
Materi-materi yang diberikan yaitu tentang :
  • Waterfall Model
  • Prototyping Model
  • Rapid Application Development
  • Incremental Model
  • Ireactive-Incremental
Karena tidak ada yang membaca materi itu, Pak Sofyan menjadi kecewa kepada kami semua :|
Saya merasa menyesal karena tidak membaca materi-materi itu sebelumnya, padahal banyak sekali manfaat yang dapat diperoleh jika kami mau membaca.

Beberapa manfaat yang diperoleh dari membaca antara lain sebagai berikut :
  • Membaca itu dapat membuka wawasan baru, banyak hal-hal baru yang dapat ditemukan dengan membaca.
  • Lebih mudah mengerti materi pelajaran berikutnya karena sudah membaca materi yang diberikan sebelumnya.
  • Membaca dapat membantu mengembangkan pemikiran kita.
  • Semakin banyak membaca, maka semakin banyak pula ilmu pengetahuan yang kita peroleh.
  • Dengan membaca, kita dapat mencerdaskan diri kita sendiri karena pengetahuan kita bertambah.
  • Membaca dan mencari materi yang diberikan akan membuat kita menjadi lebih mandiri dalam mencari pengetahuan.
Oleh karena itu, mulai sekarang saya BERJANJI akan rajin membaca materi yang diberikan sebelum materi selanjutnya dimulai karena saya tahu membaca itu tidak ada ruginya :)

Sekian dulu postingan hari ini, c next time ^^



Monday, October 8, 2012

Analisis Sistem Informasi (2)


BINGO !  

Hari ini, saya kembali belajar mata kuliah Analisis Sistem Informasi (ASI). Seperti biasa, setelah satu pokok pembahasan telah selesai, maka saya akan menulis refleksi pada blog ini :D

Pada pertemuan kali ini, saya diajarkan mengenai Sistem Informasi (Information System)... 
Tapi hari ini, pembelajaran dilakukan dengan menggunakan sistem permainan BINGO, caranya yaitu kami masing-masing dibagikan selembar kertas kotak-kotak (5x5) seperti permainan BINGO pada umumnya. Dalam setiap kotak, ada yang bertuliskan bermacam-macam istilah dalam Sistem Informasi, ada yang kosong, bertanda tanya (?), dan ada juga yang bertuliskan BINGO!

Macam-macam istilah-istilah itu antara lain :
  • Information System
  • Data
  • Information
  • Knowledge
  • Data Resources
  • Hardware Resources
  • Software Resources
  • People Resouces
  • Network Resources
  • Input
  • Processing
  • Output
  • Storage
  • Sistem Control
  • Level Operational
  • Level Taktis
  • Level Strategis
Cara permainannya adalah jika ada istilah yang telah dibahas dan kami bisa mengerti arti terminologinya dengan menuliskan penjelasannya dibawah kotak BINGO, maka kami berhak melingkari 1 kata istilah dalam kotak BINGO hingga membentuk garis horizontal, vertikal, maupun diagonal (harus sebanyak 4 kotak yang dilingkari). Selain itu, jika kami ada yang bertanya maupun dapat menjawab pertanyaan yang diberikan Pak Sofyan dengan benar, kami berhak melingkari tanda tanya (?) manapun yang tersedia dalam kotak BINGO tapi dengan catatan pertanyaan dan jawaban yang diberikan harus ditulis juga, sedangkan 1 gambar BINGO yang disediakan adalah untuk Bonus agar dapat lebih banyak menghasilkan BINGO.

Materi dimulai dengan membahas arti dari Sistem Informasi. Apa itu Sistem Informasi sebenarnya?
Sistem Informasi (Information System) adalah suatu kumpulan dari komponen-komponen dalam perusahaan / organisasi yang berhubungan dengan proses pengumpulan, penyimpanan, pengolahan, dan distribusi informasi untuk mendukung pengambilan keputusan, pengendalian, analisis, dan visualisasi dalam organisasi.

Dan jika berbicara mengenai Sistem Informasi, pasti akan berkaitan dengan Data, Information, dan Knowledge.
- Data merupakan kumpulan fakta-fakta (fakta dasar) yang merepresentasikan nilai, kuantitas, konsep, dan jumlah dalam kegiatan bisnis. Data akan bermanfaat jika dapat menghasilkan suatu informasi yang berguna.
- Information (Informasi) adalah kumpulan data (fakta) yang telah diolah / diproses dan disimpulkan sehingga menghasilkan fakta yang memiliki nilai tambah.
- Knowledge (Pengetahuan) yaitu dapat memahami informasi yang diperoleh dari pengalaman / studi dan menghasilkan kemampuan untuk melakukan kegiatan yang efektif dan efisien sesuai dengan kebutuhan masyarakat.

Selanjutnya, kami diajarkan mengenai IS Model (Model Sistem Informasi).
Terdapat beberapa unit dalam IS Model yang saling bekerja sama untuk mengolah data menjadi informasi, yaitu sebagai berikut :
  • Data Resouces
Berbicara tentang bagaimana suatu sumber data dihimpun, diformat, disimpan, dan dientri sehingga dapat mengetahui apa saja yang dapat dihasilkan, serta bagaimana caranya sehingga dapat menjadi data yang baru.
  • Hardware Resources
Teknik pemasukan data yang didukung oleh Hardware (perangkat keras). Hal-hal yang harus diperhatikan yaitu datanya diinput menggunakan apa, kecepatan olah data berapa, bagaimana bentuk output, bagaimana karakteristik prosesor, memori, dan penyimpanan (Harddisk).
  • Software Resources
Sub sistem perangkat lunak yang memungkinkan sebuah komputer bisa bekerja dengan program yang ada untuk mengolah data sehingga bisa menghasilkan informasi. Software merupakan faktor pendukung bagi Hardware untuk menghasilkan suatu informasi, jadi apabila tidak ada Hardware, Software pun tidak dapat bekerja begitupun sebaliknya.
  • People Resources
Berkaitan dengan kemampuan pengguna / user untuk mengoperasikan Software dan Hardware. Softwarenya pun harus disesuaikan dengan data yang akan diolah. Hal-hal yang harus diperhatikan yaitu siapa yang menggunakan, berapa banyak yang menggunakan, dan latar belakang penggunanya karena faktor-faktor tersebut sangat berpengaruh pada informasi yang akan dihasilkan.
  • Network Resources
Berkaitan dengan jaringan komputer, media komunikasi, dan dukungan jaringan untuk distribusi informasi yang berbasis web. Faktor-faktor pendukung lainnya seperti Hardware, Software, dan People harus berjalan dengan baik pula agar pada unit ini, informasi yang dihasilkan dapat berguna bagi user.

Selain istilah-istilah diatas, terdapat juga Input, Processing, Output, Sistem Control, Storage, dan Management Level dalam Model Sistem Informasi.

- Input : Dilakukan oleh People, pada Hardware, menggunakan Software, dan melalui Network.
- Processing : Dilakukan pada Hardware, menggunakan Software, dioperasikan oleh People, Lintas Jaringan (yang diolah adalah data).
- Output : Dihasilkan oleh Software pada Hardware yang menggunakan jaringan, kemudian memproses data dan akan kembali menjadi data yang dapat diolah lagi.
- Sistem Control : Memantau apakah Hardware, Software, Network, dan People bekerja dengan benar, inputnya benar, dan proses yang dilakukan benar agar dapat diproses dengan baik sehingga menghasilkan informasi yang benar dalam waktu yang sesingkat-singkatnya.
- Storage : Merupakan tempat penyimpanan data, dimana data dapat diinput, diproses, diolah, serta dapat diakses melalui web. Dapat juga berfungsi sebagai cadangan data misalnya dengan dibackup / diduplikasi kedalam Harddisk.
- Management Level : Tebagi atas 3 level, yaitu : Level Operasional, Level Taktis, dan Level Strategis.
  • Level Operasional : Menerima data kemudian diolah. Behubungan dengan pencatatan traksaksi, aktivitas harian staf, dan dukungan produksi.
  • Level Taktis : Mendapatkan informasi dari level Operasional, befungsi sebagai Middle Management yang memiliki kebijakan-kebijakan dalam mendukung tujuan jangka pendek dam aplikasi resouce.
  • Level Strategis : Informasi dari level Taktis akan dijadikan knowledge / pengetahuan di bagian Strategis sehingga mampu menghasilkan strategi-strategi yang mendukung tujuan jangka panjang organisasi.
Dengan adanya pembelajaran sambil bermain seperti ini, saya merasa lebih mudah dalam mengerti pembahasan materinya dan juga tidak bosan di kelas. Tapi masih ada beberapa istilah yang belum saya pahami :( mudah-mudahan istilah-istilah itu akan dibahas lagi lebih jelas pada pertemuan selanjutnya xD

Ok, sekian dulu materi pembahasan hari ini ^^
Tunggu kelanjutan materi berikutnya, ya...(○´`)




Saturday, October 6, 2012

Rekayasa Perangkat Lunak (Software)


Jika pada hari Senin lalu saya menulis refleksi blog tentang Analisis Sistem Informasi, kali ini saya akan membahas tentang mata kuliah Rekayasa Perangkat Lunak (RPL) dan dalam bahasa Inggris disebut Software Engineering.

Pada hari Jumat, 5 Oktober 2012 tepatnya jam 02.00 siang, saya belajar tentang Rekayasa Perangkat Lunak (RPL) yang membahas mengenai “Software”. Seperti halnya pada mata kuliah ASI, dosen yang mengajar mata kuliah ini juga adalah Pak Sofyan :D

Sebenarnya, ini adalah pertemuan yang ke-3 untuk mata kuliah RPL, namun karena minggu pertama hanya perkenalan dan minggu keduanya para dosen sedang rapat, sehingga kali ini merupakan pertemuan pertama kami untuk belajar tentang RPL.

Pokok-pokok bahasan pada pertemuan kali ini yaitu membahas tentang :
  • Definisi Software
  • Karakteristik Software
  • Macam-macam sistem software (Software Application)
  • Waterfall Model
Saat pertama kali ditanya tentang “Apa itu Software?” Yang terlintas dibenak banyak orang pasti adalah perangkat lunak. Tetapi, jelas itu bukan jawaban dari pertanyaan yang diberikan. Pada awalnya, menurut saya, software adalah sebuah program / aplikasi dalam komputer untuk mengolah data. Tentu saja pengertian tersebut belum tepat untuk mendefinisikan arti software yang sebenarnya.

Akhirnya, Pak Sofyan pun menjelaskan pengertian software secara lebih detail.
Software itu ternyata tidak terbatas hanya pada program maupun aplikasi saja, tetapi Software merupakan kumpulan item atau objek yang membentuk “konfigurasi” yang terdiri dari :
  • Program
  • Data
  • Dokumen
Penjelasannya yaitu sebagai berikut :
·         Data merupakan inputan untuk program dan prosedur menggunakan program, sehingga data juga merupakan software.
·         Dalam dokumen akan ada petunjuk tentang bagaimana program itu digunakan, bagaimana data disimpan, dan bagaimana hasilnya.
Sedangkan isi dokumen lebih kepada prosedur / tata laksana.

Setelah itu, kami juga dijelaskan mengenai karakteeristik software, yaitu :
- Software is engineered
Software tidak diproduksi secara massal dan untuk membuat software, harus melakukan pengukuran (engineered) sesuai dengan kebutuhan.
- Software doesn't wear out
Software tidak lapuk dan dapat dibuat untuk jangka waktu yang panjang.
- Software is like an aging factory 
Software seperti pabrik yang menua, kusam / tidak sesuai lagi, maksudnya tersebut dapat terjadi jika ada perubahan data, misalnya : peningkatan produksi.
- Software is complex
Software adalah sesuatu yang kompleks, karena banyak hal yang harus diperhatikan untuk membuat / mendesign suatu software.
- Software is a "differentiator"
Software adalah "pembeda". Keunggulan-keunggulan yang membedakan setiap software yang satu dengan software yang lainnya menjadi ciri istimewa dari seorang pebisnis.

Berikut ini merupakan kurva jangka waktu penggunaan software :
Suatu software yang telah selesai dirancang dapat dikatakan stabil apabila telah digunakan dan diperbaiki kesalahan-kesalahannya yang ditemukan pada saat penggunaan.
Tetapi jangka waktunya pun tidak akan terlalu lama karena adanya beberapa factor yang mempengaruhi, misalnya : perubahan / peningkatan data dalam perusahaan, dan software yang digunakan sudah tidak sesuai lagi sehingga memungkinkan suatu perusahaan mengganti software yang lama dengan yang baru. Oleh karena itu, software harus dibuat dalam jangka waktu yang panjang tapi harus siap di upgrade.

Macam-macam sistem software (Software Application) :
·     - System Software
Software yang fungsi / kegunaannya untuk melayani software yang lain.
Contoh : Anti Virus, Windows (menata jalannya Software / mengatur susunan jalannya software), WinRAR dan WinZIP (mengkompresi software lain).

·      - Real-time Software
Software yang melakukan pengolahan data pada waktu yang real dan hasilnya langsung dirasakan pada waktu itu juga.
Contoh : Chatting, Mesin ATM, MSN, dll.

·      - Business Software
Software yang digunakan untuk keperluan bisnis.
Contoh : CRM, ERP, dll.

·      - Engineering / Scientific Software
Software yang digunakan untuk keperluan teknis , masalah pengukuran , atau sains. 

·     - Embedded Software
Software yang dimasukkan ke dalam perangkat keras.
Contoh : AC, Jam Tangan, dll. 

·     PC Software
Software yang digunakan untuk keperluan personal komputer.
Contoh : Corel Draw, Microsoft Office, Windows Media Player, dll.  

·      - AI Software
Software yang digunakan untuk memprediksi sesuatu dan banyak ditemukan pada game / aplikasi kecerdasan buatan.

·      - Web Application
Suatu aplikasi komputer yang menggunakan internet / berbasis web.
Contoh : Klik BCA, dll.

Adapun dalam software process, hal-hal yang perlu diketahui, yaitu :
·         Bagaimana cara menjamin kualitas yang dihasilkan, bagaimana menjawab peningkatan kebutuhan, dan masih banyak lagi. Materi ini akan dibahas lebih lanjut pada pertemuan berikutnya ;)

Games~ (з´`ε)
Setelah membahas semua itu, Pak Sofyan mengajak kami untuk melakukan permainan, tetapi syarat permainannya yaitu tidak boleh diperlihatkan dan diberitahu kepada siapapun (hanya diri sendiri yang tahu).

Pertama, Pak Sofyan meminta kami menyediakan selembar kertas kemudian beliau mengeluarkan potongan-potongan kertas kecil yang tidak kami tahu apa isi dari kertas-kertas tersebut. Lalu kami disuruh mengambil potongan kertas kecil yang di dalamnya ada nama 2 material, dimana kami diminta untuk membayangkan suatu objek yang dapat dibuat dari material tersebut (menjadi bahan utamanya) dan kami disuruh untuk menuliskan NIM dan Judul Projek kami masing-masing pada selembar kertas yang telah kami sediakan. Kami diberi waktu 10 menit untuk menulis judul projek, setelah itu kami juga diminta untuk menuliskan tujuan kami membuat projek tersebut di halaman belakang kertas kami dan sesuai persyaratan tadi, semuanya hanya boleh diketahui diri sendiri.

Setelah semuanya selesai, kami dibagi secara kelompok, 1 kelompok terdiri dari 2 orang dan tidak boleh memilih orang yang tepat disamping kiri / kanan. Kami diperintahkan untuk saling bertanya dan menebak nama material utama serta objek apa yang dibuat oleh teman sekelompok kami. Waktu yang diberikan untuk seksi tanya jawab ini adalah 20 menit. Clue yang diberikan adalah dengan memberitahukan tujuan pembuatan projek kami masing-masing dan setiap pertanyaan yang diajukan oleh teman sekelompok harus dicatat di kertas kami (orang yang ditanya) agar dapat dijadikan sebagai dokumentasi (bukti). Selain itu, jawaban untuk setiap pertanyaan teman hanya boleh di jawab dengan jawaban Ya atau Tidak ! K
Akhirnya, waktu yang diberikan pun habis. Ada kelompok yang berhasil menebak dan ada juga yang tidak berhasil menebak semuanya dengan tepat
Menurut saya, kelompok yang berhasil menebak yaitu kelompok yang anggotanya menuliskan tujuan pembuatan objeknya secara terbuka dan mudah diketahui sehingga teman sekelompoknya mudah dalam menangkap material dan objek apa yang dibuat, sedangkan yang tidak berhasil disebabkan penulisan tujuan yang kurang jelas.

Awalnya, saya tidak mengetahui tujuan permainan ini secara pasti, namun setelah permainan berakhir, kami diperlihatkan slide pembicaraan antara seorang develop (pembuat program) dengan user (pengguna program). Dan akhirnya saya menyadari tujuan permainan tersebut.

Sebenarnya, tujuan dari permainan ini adalah ingin mengajarkan kami bagaimana cara untuk mengkomunikasikan rancangan program yang kita buat agar sesuai dengan program yang diinginkan oleh clien (user).

Kemudian, Pak Sofyan melanjutkan materi pembahasannya. Kali ini, kami diperlihatkan Waterfall Model, gambarnya yaitu sebagai berikut :













Karena waktu pelajaran sudah habis, maka Pak Sofyan pun mengakhiri kuliah hari ini. Tapi tidak lupa ia memperlihatkan materi selanjuntya agar kami bisa membacanya dirumah, yaitu tentang :
  • Waterfall Model
  • Prototyping Model
  • Rapid Application Development
  •  Incremental Model
  • Iteractive - Incremental

Ok, kalau begitu sekian dulu untuk hari ini, jangan lupa tunggu postingan berikutnya, ya…

Thanks (''