Showing posts with label Software Engineering. Show all posts
Showing posts with label Software Engineering. Show all posts

Sunday, 9 February 2014

Pengembangan Software dalam Berbagai Model

Syalom guys.. Hari ini saya akan posting tentang sedikit ringkasan materi yang saya sudah terima selama kelas RPL di semester 3. Kali ini saya akan posting mengenai empat model dalam Rekayasa Perangkat Lunak. Diantaranya, adalah Model Bisnis, Model Fungsional, Model Data, dan Model Behavior.

Pertama-tama kita bahas Model Bisnis dulu yaa..
Model bisnis bagi saya itu adalah model yang menggambarkan keterkaitan proses-proses yang terjadi dalam suatu perusahaan atau organisasi dan hal lain yang memerlukan proses bisnis di dalamnya. Ini juga mencakup apa-apa saja yang penyebabkan proses tersebut terjadi, dan apa GOAL yang diharapkan dari proses bisnis tersebut.
Sebagai contoh, sebuah proses pendaftaran mahasiswa membutuhkan informasi berupa data mahasiswa untuk mencapai GOAL, yaitu mahasiswa menjadi terdaftar.

Selanjutnya, kita bahas mengenai Model Fungsi, aliaass Data Flow Diagram (DFD).
Nah, kalo di model bisnis tadi menjelaskan tentang keterkaitan proses-proses bisnisnya, maka DFD ini menjelaskan mengenai personil-personil alias siapa-siapa saja yang terlibat dalam MEMBERI dan MENERIMA informasi dalam suatu proses yang berlangsung. Jadi, dalam DFD itu personil-personilnya pasti makhluk hidup. 
Misalnya dalam suatu proses pendaftaran mahasiswa, dibutuhkan personil berupa Mahasiswa, Bagian Administrasi, dan Pimpinan. Dalam model fungsi, sebuah proses dibagi menjadi 3 proses yang lebih kecil, yaitu: data master, transaksi, dan perekaman data. Dan pada akhirnya, semua alur informasi akan bermuara pada pimpinan.

Selanjutnya, Model Data. Nah, model data ini biasa juga orang sebut dengan Entity Relationship Data (ERD). ERD ini lebih membahas tentang hubungan antar objek yang terkait sebagai SUMBER data. Dalam hal ini objeknya dapat berupa benda hidup ataupun benda mati. ERD itu mendeskripsikan atribut-atribut dari sebuah objek, dan menjelaskan hubungan di antara mereka. 
Contohnya nih: hubungan antara Mahasiswa dan Matakuliah. Dari Mahasiswa kita dapan NIM, nama, dll. Dari Matakuliah kita dapat Kode matakuliah, nama matakuliah, dll. Trus, hubungannya ? Baik-baik aja, gitu ?
wkwkwk
Bukan. Buah hubungan antara mahasiswa dan matakuliah, yaitu lahirlah KRS sob. Selembar kertas yang menggambarkan apakah hubungan antara mahasiswa dan matakuliah itu adem ayem aja atau,,, yaa u know what i mean laa.
Kurang lebih begitulah gambaran tentang model data bro. Kalo ada yang kurang jelas, tinggal komen aja.

Lanjut yookkk... Kita mau bahas sekarang tentang Model Behavior
Waaa. Kalo kita bicara model behavior itu, seperti menjadi sosiolog bro. Kita harus mengerti dulu kebiasaan yang berkembang di masyarakat itu kayak gimana. Dari kebiasaan itu, kita lalu bisa membuat suatu rancangan Software yang mengacu pada kebiasaan-kebiasaan mereka. Sebagai contoh game Flappy Bird yang sekarang lagi banyak digandrungin sama makhluk-makhluk pengguna android bro. Game itu mengacu pada behavior masyarakat yaa. Kalo disentuh, burungnya naik, kalo gak, ya burungnya turun. Jadi sesuai kan? Dan lebih mudah dimainin pula. Inilah pula yang membuat game Flappy Bird cepat menyebar luas.

yaa, sodara-sodara, Sekian dulu yaa blog ane malam ini. Akhir kata, ane bersyukur pada Yang Maha Kuasa karena sudah di berkahi selama satu semester ini. Tq ya semua. God Bless u all :*

Wednesday, 5 February 2014

Refleksi Matakuliah RPL Selama Satu Semester

Syalom teman-teman, hari ini saya membuka blog saya kembali setelah sekian lama saya tidak mengurusnya. Pada sore hari ini saya mau share tentang apa yang saya dapatkan selama satu semester menjalani kuliah ala profesor.

Dalam kelas RPL, saya merasakan suatu cara belajar yang benar-benar baru. Di kelas kami lebih banyak berinteraksi melalui presentasi berkelompok. Kami bersama-sama dalam satu kelompok mempersiapkan gambar pada suatu kertas karton untuk dipresentasikan, sesuai dengan kasus yang telah diberikan. Dalam tiap presentasi, ada teman yang menjaga pos untuk mempresentasikan kasus, dan ada pula yang berkeliling menganalisis hasil kerja kelompok lain. Menurut saya, cara seperti inilah yang disebut dengan gaya belajar "sersan" (serius, namun santai). Kata-kata rumit yang biasa ditemui dalam buku RPL dibuat menjadi lebih mudah dengan cara belajar seperti ini.

Bagi saya, matakuliah RPL adalah matakuliah yang kompleks. Sebab dalam pembelajarannya, RPL mencakup banyak hal, seperti Analisis Proses Bisnis, Analisis Sistem Informasi, dan Perancangan Sistem Informasi dan Database. Mempelajari RPL seakan sudah mempelajari keempat matakuliah tersebut.

Yang saya dapatkan setelah mempelajari matakuliah RPL dalam satu semester yaitu dalam merancang suatu software, ada banyak cara yang dapat digunakan, tergantung pada kebutuhan permintaan dan waktu. Yang dapat dianalogikan bila menyelesaikan masalah dalam kehidupan sehari-hari. Harus dianalisis step by step, hingga ditemukan akar masalahnya. Sehingga, dapat dilakukan keputusan yang tepat sasaran.

Saya sangat bersyukur bisa menjalani matakuliah RPL ini. Setidaknya dalam banyak aspek, matakuliah ini sangat membantu saya. Terutama dalam mempelajari dan memahami matakuliah yang terkait, seperti basis data dan perancangan sistem informasi.

Akhir kata, saya sangat mensyukuri waktu yang saya telah jalani selama satu semester di kelas RPL. Dan saya berharap, bisa lulus di matakuliah ini. Sekian dan terima kasih.

Gbu all

Thursday, 9 January 2014

Game SimSE Rapid Prototyping

Halo teman-teman, hari ini saya mau share tentang teknik cara main game SimSE Rapid Prototyping Model. Game ini sangat seru apalagi bila kita mengerti cara bermainnya. Game ini merupakan simulasi pembuatan software menggunakan Rapid Aplication Development Prototyping Model. Berikut, merupakan teknik bermainnya. Check it out !!
Perlu kita diketahui bahwa dalam mengerjakan software dengan model RAD, semua pegawai turut bekerja dalam dalam setiap prosesnya. Mulai dari requirement, evaluasi, design, sampai koding. Jadi tidak ada pegawai yang menganggur.
Pertama, pilih dahulu bahasa prototyping dan implementasi. Kali ini saya memakai bahasa Visual Basic untuk prototyping. Dan Java untuk implementasi.
Lalu, pekerjakan seluruh pegawai untuk “Outline Requrements With Customers”. Lalu klik “next event”. Selanjutnya setelah seluruh pegawai selesai mendiskusikan requirement, pekerjakan semua pegawai untuk melakukan “develope prototype”. Pada saat melakukan developing, akan ada permintaan konsumen untuk melihat produk. Namun abaikan saja dahulu. Setelah selesai, lalu lakukan “have customer evaluate prototype”. Kembali dalam fase ini seluruh pegawai dikerahkan.
Setelah customer melakukan evaluasi, persentase requirement akan turun. Oleh karena itu, lakukan “developing prototype” kembali. Ulangi melakukan evalusasi dan “develope prototype” sampai tiga kali, supaya mantap.
Setelah itu, barulah lakukan “spesifikasi requirement”. Kembali diingatkan, dalam setiap tahap yang dikerjakan seluruh pegawai dipekerjakan tanpa kecuali. Dan semua pegawai mengerjakan setiap tahap secara bersama-sama.
Setelah selesai spesifikasi, barulah lakukan “design sistem”.
Setelah design sistem, lakukan implementasi.
Daaaaannnnn...

Tadaaaa

Saya mendapatkan skor 95 untuk Game SimSE Rapid Aplication Prototyping ini.


Berikut screenshoot nya :D

Bila anda berminat pada Game ini, anda dapat download pada link berikut: http://www.ics.uci.edu/~emilyo/SimSE/downloads.html


Sekian, dan terima kasih. :D


Wednesday, 18 December 2013

Game SimSe Incremental

Halo teman-teman, hari ini saya akan share tentang cara main game SimSe Incremental. Game yang lumayan seru, dan bikin penasaran. Game ini merupakan simulasi pengerjaan software dengan menggunakan model increamental. Jadi menurut teori kan, model increamental merupakan model yang dikerjakan secara bertahap. Mulai dari modul 1  sampai selesai. Nah, berikut adalah pengaplikasiannya pada game SimSe Incremental.

Pertama-tama, dalam memainkan game ini kita perlu untuk mengerti aturan bermainnya, mengenali kemampuan para pegawai, dan yang paling penting konsep dari model Incremental itu sendiri.
Nah. Dalam game ini tidak ada batas waktu ditentukan. Tidak perlu terlalu terburu-buru memainkannya. Dalam game ini, terdapat empat orang pegawai yang mempunyai kemampuan dan pengalaman kerja yang berbeda-beda. Berikut ini merupakan deskripsi dari setiap pegawai yang ada dalam game ini.

  • AMY (Sang Professor). Saya menyebutnya sebagai profesor karena dia yang paling berperan dalam implementasi dan pembuatan kode (Coding).
  • BOB (Si Culun). Dari penampilannya memang terlihat culun dengan kacamata bulatnya. Namun dia adalah  designer handal. Untuk urusan desain mendesain, serahakan saja sama dia.
  • KARL (Pak Senior). Dengan pengalaman yang dimilikinya, KARL merupakan orang yang bisa diandalkan dalam segala hal.
  • LOLA (The Servant). Walaupun belum masih tergolong pemula, namun jangan ragukan kemampuan analisanya. Dia mempunyai kemampuan Risk Analysis dan Difficult Analysis yang setara dengan KARL seniornya, bahkan melebihi kemampuan analisa AMY dan BOB.
Berikut cara mainnya:
  1. Pertama-tama, kerjakan setiap modul secara berurutan mulai dari modul 1 sampai modul 4. Pekerjakan LOLA dan KARL untuk Requirement, AMY untuk Implement, dan BOB untuk Design.
  2. Dalam pengerjaan akan ada perubahan-perubahan yang dilakukan oleh konsumen. Untuk sementara, abaikan saja dahulu sampai semua pekerjaan selesai.
  3. Setelah LOLA dan KARL selesai Requirement, pekerjakan mereka untuk melakukan Risk Analysis dan Difficult Analysis untuk semua modul.
  4. Setelah AMY dan BOB selesai dengan pekerjaannya, sekarang saatnya untuk Evolve Code. Pekerjakan mereka untuk Evolve Code.
  5. Lalu setelah Evolve Code, pekerjakan BOB untuk Design modul.
  6. Begitu seterusnya sampai konsumen tidak cerewet lagi.
  7. Setelah selesai, Integrate modul 1, centang semua pegawai. Lalu serahkan produk ke konsumen.
Saya mendapatkan skor 99,75
Berikut screenshoot nya:

Bila anda berminat pada Game ini, anda dapat download pada link berikut: http://www.ics.uci.edu/~emilyo/SimSE/downloads.html

Sekian, dan terima kasih :D



Tuesday, 12 November 2013

Model Proses Inkremental

Model proses inkremen merupakan suatu model yang menganalisa terlebih dahulu tujuan utama dari suatu software, dan kemudian membuat software sesuai kebutuhan utama dari konsumen terlebih dahulu. Lalu kemudian, dalam perjalanan software tersebut diluncurkan, secara bertahap kemampuan software tersebut ditambah, sesuai dengan permintaan konsumen. Sehingga dalam pembuatannya akan sangat menghemat waktu, dan dapat menghindari penundaan-penundaan yang tidak perlu, apalagi jika kebutuhan akan software tersebut sangat mendesak.

Model proses inkremen tidak membutuhkan waktu yang lama dalam pembuatannya. Apalagi jika si-pembuat software sudah paham betul dengan apa yang diinginkan oleh konsumen. Yang dibutuhkan hanyalah analisis dan desain software yang sudah mantap. Karena inilah yang dibutuhkan sebagai dasar dalam pengembangan software kedepannya.

Dalam model proses inkremen, analisis dan desain software nyaris tidak akan berubah dalam pengembangannya. Karena sejak awal memang model ini hanya bisa dilakukan bila kebutuhan akan software sudah terpaparkan dengan jelas. Nah, yang jadi masalah adalah apabila terjadi penambahan (upgrade) kemampuan yang bisa dikatakan sedikit melenceng dari desain awal yang telah ditetapkan. Penambahan kemampuan ini akan sulit diintegrasikan dengan desain awal yang sudah paten.




Menurut analisis saya, model inkremen ini sangat dibutuhkan di jaman yang serba cepat ini. Namun akan sangat sulit untuk memaparkan dengan rinci kebutuhan suatu software dengan skala besar. Sehingga, si-pembuat software mungkin akan menemui sedikit kesulitan dalam mengerjakan sebuah software dengan skala besar jika menggunakan model proses ini.

Adapun dalam proses kerjanya, model proses inkremen ini menurut saya merupakan model proses linear (waterfall) yang dilakukan terus-menerus, dalam setiap penambahannya. Bedanya dengan model waterfall, adalah analisis dan desain yang tidak dilakukan lagi, alias sudah mantap. Yang dalam proses kerjanya, analisis dan desain sudah terpapar dengan baik. Sehingga dalam setiap penambahan tidak akan mengubah model dari software tersebut.

Saya lalu mengambil sebuah asumsi pada salah satu aplikasi chating yang baru saja diluncurkan bagi pengguna Android. Peluncuran aplikasi ini menggunakan proses inkremen. Aplikasi yang diluncurkan baru sebatas dapat melakukan hal-hal mendasar yang biasa dilakukan, seperti chating, grup, dan multiple chat. Namun masih ada satu kelemahannya, yaitu tombol enter yang tidak dapat melakukan pindah baris, namun langsung mengirim pesan.

Demikianlah sedikit pemaparan saya mengenai model proses inkremen. Semoga sedikit banyak dapat menambah wawasan kawan-kawan sekalian. Bila ada kesalahan, mohon dikoreksi.

Thx, n God bless..

Refleksi: RPL, Tak Kenal maka Tak Sayang

Halo, pada malam hari menjelang subuh ini saya akan bercerita sedikit tentang suka duka selama saya belajar mata kuliah Rekayasa Perangkat Lunak di Kampus STMIK Kharisma.

Seperti kata pepatah: Tak kenal maka tak sayang. Begitu pun juga mata kuliah RPL menurut saya.

Rekayasa Perangkat Lunak. Dari namanya saja, saya sudah bingung. Apa itu rekayasa ? Apa itu perangkat lunak ? Seperti apa itu rekayasa perangkat lunak ? 
Maklum lah, sebagai mahasiswa yang kurang melakukan konsultasi dengan dosen pembimbing, saya jelas kurang mengerti dengan persoalan belanja mata kuliah. Jadi, dalam belanja mata kuliah saya kebanyakan mengikuti apa yang dipilih oleh teman-teman saya kebanyakan. Sehingga mata kuliah Rekayasa Perangkat Lunak menjadi suatu hal yang tabu bagi saya ketika itu. Namun, setelah melewati pertemuan demi pertemuan dalam mata kuliah ini, saya pelan-pelan mengerti akan maksud dari mata kuliah ini.

Pada awal pertemuan, saya sempat merasa bingung dengan mata kuliah ini. Apalagi, dengan lingkungan orang-orang yang sedikit lebih tinggi dibanding dengan level saya (waktu itu kelas kami digabung dengan mahasiswa TI semester 5). Namun untunglah ketika itu Pak Dosen membawakan mata kuliah dengan santai, dan penuh interaksi dengan kami sebagai mahasiswa. Sehingga saya bisa sedikit mengerti akan mata kuliah yang akan dibawakan ini.

Perlahan, sedikit demi sedikit saya mulai mengerti akan mata kuliah ini. Yang menjadi penghambat saya dalam mempelajari mata kuliah ini sebenarnya hanya penggunaan bahasa yang terlalu rumit, sehingga sulit untuk dimengerti. Bagi saya, jika kita mampu memahami dan membahasakannya menjadi bahasa yang lebih sederhana, mata kuliah RPL bukanlah suatu hal yang mesti ditakuti. Setelah saya mengenal RPL, saya lalu merasa bahwa mata kuliah ini adalah mata kuliah yang menarik untuk dipelajari. Ternyata, RPL tidak sesulit yang dibayangkan.

Sekian, dan terima kasih.. Gbu all friends  :))

Perbandingan Antara Inkremental Model dan Spiral Model

Meskipun pada postingan yang pertama saya sempat menyinggung bahwa model inkremental ini hampir sama dengan model air terjun, namun setelah saya mendengar penjelasan dari dosen saya tadi siang, saya jadi lebih tertarik untuk membicarakan perbandingan antara model spiral dan model inkremental. Mengapa ? Karena ternyata dalam proses model spiral ternyata menggabungkan antara dua model proses, yaitu prototyping model dan increamental model. Yang dimana keduanya saling bersinergi, dan membuat suatu proses kerja yang menarik menurut saya.

Berikut, beberapa perbandingan antara proses model inkremental dan proses model spiral yang saya dapati:

-          Inkremental model hanya dapat dilakukan apabila analisis dan desain sudah terpaparkan dengan baik. Sedangkan spiral model dikerjakan dengan cara mendengarkan dan menyimpulkan sendiri kebutuhan konsumen, sambil membuat software

-          Dalam model inkremental, sudah jelas terlihat sampai di mana hasil akhir dari sebuah software. Sedangkan pada model spiral, hasil akhirnya belum dapat diketahui, sesuai dengan pendapat dan hasil feedback yang diberikan oleh konsumen

-          Test pada model inkremental berbeda dengan test pada model spiral. Pada model inkremental, test software dilakukan oleh developer. Sedangkan pada model spiral, test software dilakukan langsung oleh user/konsumen

-          Pada model inkremental, akan sangat kesulitan apabila dilakukan penambahan-penambahan yang tidak dibicarakan terlebih dahulu pada proses awal. Namun pada model spiral, penambahan-penambahan seperti itu sangat mungkin dilakukan. Sebab, sejak dari awal memang developer masih seakan meraba-raba akan kebutuhan konsumen.

-          Model proses inkremental membuat software yang pokok terlebih dahulu, dan fitur-fiturnya akan ditambahkan kemudian. Model proses spiral mendengar permintaan dari konsumen, merancang, lalu membuat software, lalu mengembalikannya kepada konsumen untuk diuji.

-          Dan seperti halnya dalam prototyping model, dalam model spiral akan terus berputar sampai software yang diinginkan selesai. Dalam hal ini, software yang dikerjakan dengan menggunakan model spiral memungkinkan untuk di-upgrade. Berbeda dengan software yang dikerjakan dengan model inkremental, yang hasil akhir dari sebuah software sudah dapat diramalkan, dan sulit untuk ditambahkan fitur baru.

Sebenarnya masih banyak lagi perbandingan-perbandingan antara model proses inkremental dan model proses spiral. Namun sementara, yang saya dapat paparkan baru begitu saja. Bila ada sesuatu hal yang masih kurang terkait artikel di atas, mohon ditambahkan. Sekian


Thx, n Gbu all J