when a SIMPLE PATH becomes an IMPORTANT ONE...
Yv's Territory

Wednesday, January 30, 2013

Refleksi Akhir RPL ....

Huaaah, finally, akhirnya minggu-minggu final telah berakhir, dan di sini lah saya sedang menulis post terakhir saya untuk semester ini. *hiks*
Flashback kembali ke mata kuliah RPL, sejujurnya mata kuliah ini juga memberi manfaat yang besar untuk saya. Seperti yang sudah saya katakan sebelumnya pada refleksi ASI, metode pembelajaran yang diberikan oleh dosen ini adalah metode yang bagus menurut saya, berhubung mata kuliah ASI dan RPL diajar oleh dosen yang sama, maka tentu saja kurang lebih "taste" nya akan samaa :p, terkecuali bahan pembelajaran nya, yang 'sebenarnya' secara keseluruhan, kedua mata kuliah ini mirip, tapi tetap ada saja bahan mata kuliah yang khusus adanya di RPL saja.
Saya terkenang dengan hari-hari terakhir perkuliahan RPL, yang merupakan hari tambahan di mana kami hampir seharian bersama dosen tercinta, Pak Sofyan XD.
Banyak kenangan manis dan pahit yang kami lalui bersama dengan beliau, dan tentu saja manfaat dari pertemuan kami di perkuliahan ini sangat besar (seperti yang sudah saya katakan sebelumnya).
Materi terakhir RPL, mengenai arsitektur sistem dan interface. Awalnya, kedua hal ini kurang saya mengerti, tetapi setelah seharian bersama beliau, *cring*, saya sungguh mendapat pencerahan.
Saya masih mendoakan hal yang sama dengan refleksi ASI saya, bahwa moga-moga kami dapat bertemu kembali di lain kesempatan dengan beliau.

Saya tidak akan berpanjang-panjang lagi untuk menuliskan refleksi akhir ini, karena hasil tulisan saya ini tidak akan jauh berbeda(terkecuali beberapa bahan pembelajaran) dengan refleksi yang sebelumnya hehehe

Thanks for read ♥


♥ ♥miss.yv

Wednesday, January 9, 2013

Refleksi ASI ....

Tak terasa matakuliah ASI alias Analisis Sistem Informasi telah berakhir, yang juga menandakan 1 semester lagi telah terlewati. Setelah perkuliahan ASI ini selesai, saya merasakan banyak manfaat yang saya dapatkan, di antaranya, saya telah cukup memahami tentang bagaimana cara analisis yang baik sebelum membuat sebuah sistem.
Metode pembelajaran yang digunakan oleh dosen saya sangat menarik untuk saya. Berbeda dengan sebagian besar dosen lainnya, yang jujur saja, ketika membawakan teori malah terasa membosankan, dan tanpa bentuk praktek yang nyata.
Setiap perkuliahan, selalu diisi dengan penjelasan singkat mengenai itu, dan langsung diselingi dengan praktek-praktek yang semakin membuka wawasan.
Yang saya sukai, ketika selesai mengerjakan hasil praktek tersebut, kami mendapatkan penjelasan lagi lebih lanjut, sehingga kami dapat mengetahui dengan jelas, yang mana yang salah dari hasil 'uji coba' kami berdasarkan teori pengantar yang diberikan. Jadi, kami bukan dibiarkan mengandai-andai dan beranggapan kalau perkerjaan kami itu benar.
Di antara semua bahan pembelajaran, yang palingggg saya rasakan manfaat dari perkuliahan ini, adalah mengenai materi ERD (Entitiy Relationship Diagram), FP (Function Partitioning), dan DFD (Data Flow Diagram).
Sebelum perkuliahan ini, saya sangaatt bingung, bagaimana cara nya membuat sebuah DFD. Ada seorang dosen saya, yang sempat menyinggung masalah ini, tapi penjelasan yang dia berikan tidaklah jelas sama sekali bagi saya. Saya mencoba mencari di internet dan berusaha mengerti, hanya saja begituu banyak variasi yang membuat saya bertanya-tanya ,sebenarnya pola dasar dari pembuatan DFD itu seperti apaaa?
Dan sungguh, pertanyaan saya terjawab setelah mengikuti perkuliahan ASI ini, saya diajar step by step bagaimana cara membuat sebuah DFD, sehingga membuat DFD tidak susah lagi.
Selain itu, masih banyak lagi hal bermanfaat yang saya dapatkan sepanjang perkuliahan ini berlangsung, mulai dari canda, tawa, hingga pelajaran-pelajaran berharga di dalamnya.
Salah satunya, ada pula tentang pembuatan entitas dalam ERD (sebelum membuat DFD), yang ternyata ada 3 bagian, yaitu physical - logical - view.
Selama ini, saya sering terkecoh dengan hampir menjadikan 'view' (yang adalah output dr logical), menjadi sebuah entitas.Ternyata, entitas,relasi,atribut dsb merupakan bagian dari logical.
Ini benar-benar salah satu pelajaran berharga tadi.
Saya berharap ke depan nya, bisa bertemu dan belajar bersama dengan Pak Sofyan lagi, (doa kita sama kok, Pak :p)
Saya pun berterima kasih untuk waktu perkuliahan yang sudah saya lalui untuk matakuliah ini, waktu-waktu yang sangat bermanfaat dan tentu saja palajaran yang tak kalah manfaatnya.

Sekian refleksi saya.
Thanks for read ♥ ♥


miss.yv ♥

Sunday, November 25, 2012

SimSE

Hi there ♥
Pada postingan kali ini saya akan 'curhat' mengenai game simulator yang sempat mewarnai hari-hari saya dengannya XP.
Saya memilih untuk menjelaskan lebih detail mengenai Prototyping SimSE ini, karena bagi saya ini cukup menarik.
Awal saya memainkan game ini, saya mencoba step-step sesuai metode SDLC, saya requirement dll terlebih dahulu, lalu siapkan prototypenya, lalu nantinya akan saya delivery ke customer, tapi meskipun sudah 100 percentage selesainya, skornya tidak demikian, malahan berbanding terbalik.
Saya pun mencoba strategi baru, yaitu dengan develop prototypenya dulu, setelah terlebih dahulu meeting dengan customernya, dan ternyata strategi ini cukup bagus, skor saya naik dari yang sebelumnya.
Hanya saja, dalam metode ini ,saya harus memilih bahasa prototype dan bahasa implementasi nya, saya mencoba sembarang saja memilihnya, dan saya memilih Visual dan Visual. Alhasil, erornya 23 tanpa bisa diperbaiki, dan skor saya stuck di 79.
Kebetulan, pertemuan berikutnya, dosen saya membahas tentang bahasa pemrograman yang disarankan untuk digunakan dalam pembuatan prototype adalah dengan menggunakan bahasa visual, maka ketika pulang, saya mencoba lagi strategi baru dengan menetapkan Visual sebagai prototyping language ,dan Java sebagai implementation nya.
Saya juga sempat menetapkan C++ sebagai bahasa implementasinya, tapi hal itu malah membuat pembuatan program saya semakin lama, yang ujung-ujung nya malah kehabisan waktu, maka saya pun tetap menggunakan pasangan VB - Java.
Setelah itu , saya sempat masih bingung, karena kalau saya harus menunggu sampai evaluated prototype dan prototype yang kita kembangkan mencapai 100 -100 , waktu tidak cukup. Setelah berpikir beberapa lama, saya pun mencoba untuk membuat batasan ,seberapa besar prototype itu ingin saya kembangkan, dan ternyata BINGO! ,saya berhasil mendapatkan nilai 98 dengan strategi-strategi yang ditemukan dari hasil coba sana sini. hahaha XD
Masih ingin mencoba lagi sampai mendapatkan 100 sih, cuma belum bisa juga.

That's all.
Thanks ♥


♥miss.yv

Sunday, November 11, 2012

Si Yang Lain Daripada Yang Lain ...

Hi readers ♥
Pada postingan kali ini, saya akan menjelaskan tentang suatu model dari software proses, yang pernah dosen saya katakan , sebagai model yang lain daripada yang lainm yaitu PROTOTYPING.
Setelah perkuliahan kali ini saya pun bisa mengerti tentang pengertian dari prototype itu sendiri, di mana prototype merupakan model yang mula-mula (model asli) yang menjadi contoh.
Model prototyping ini biasanya digunakan untuk customer yang mempunyai banyak keinginan, tapi sulit mendeskripsikan / menjelaskan secara detail dan terperinci akan kebutuhan dan keinginan nya. Dan juga model ini cocok bagi para developer yang kurang yakin akan kemampuan software yang dibuatnya dalam beradaptasi dengan lingkungan nya, berinteraksi dengan manusia nya,dll.
Untuk itu, maka dalam model prototyping ini, seorang developer harus membuat sebuah contoh program / prototype ,(sebaiknya dengan bahasa visual (lebih mudah)) untuk diperlihatkan kepada customer terlebih dahulu.
Dalam hal ini, prototype awal di sini berfungsi hanya untuk mendeskripsikan kebutuhan customer secara lebih jelas melalui evaluasi yang diterima developer dari customernya tersebut.
Prototype sejenis ini ,disebut juga throw-away prototyping.
Sedangkan untuk beberapa jenis prototype yang lain (yang sesuai dengan keinginan customer), akan dilanjutkan desain & pengembangan nya, dimodifikasi, dll. Disebut juga Evolutionary prototyping.
Metode prototyping ini biasanya lebih menghemat waktu dalam pengembangan nya, dan juga membuat customer ikut berperan aktif dalam pembuatan software yang diinginkan nya. 
Hanya saja, kadang-kadang customer tidak menyadari kalau prototype yang diperlihatkan kepadanya , bukan lah langsung hasil jadi dari program itu nantinya, melainkan masih akan dikembangkan lebih lanjut, maka dari itu developer harus tentu saja lebih sabar dalam menghadapi customer-customer sejenis ini XD
Kurang lebih itu lah yang saya pahami mengenai prototype.
Sekian.



♥ ♥ miss.yv

Tuesday, November 6, 2012

Data Model ?

Pernah dengar tentang data model / model data?
Bagi yang sudah pernah mempelajari mengenai Pengantar Basis Data atau yang sejenisnya, pasti udah tau dong.
"Model data adalah representasi dari struktur data yang meliputi tipe, hubungan, batasan, dan operasi."
Biasanya, model data ini digambarkan dengan : ERD ( Entity Relationships Diagram), Relational Model (Model relasi), dan Object Oriented (berbasis objek).

Kalau kita bicara mengenai model data, seringkali kita juga membicarakan ERD, tentu saja; yang adalah bagian dari model data itu sendiri.
Data dalam ERD , terbagi atas 3 :
- objek / entitas,
- atribut, dan
- relasi.

Atribut itu sendiri terbagi lagi dalam beberapa bagian , di antaranya :
- ada atribut yang biasanya disebut naming atribut
- identifier, yang sering kali dijadikan primary key
- descriptive atribut , merupakan atribut yang bisa ada, bisa tidak, tergantung kebutuhan
- referensial atribut, merupakan atribut yang muncul akibat adanya relasi.

ER-M (ER Model) ini menggambarkan bagaimana antar hubungan dari sejumlah objek.
ER-M tentu saja tak lepas, dari cardinality dan modality.
Jika cardinality menjelaskan tentang 1/banyak (1 to 1 ,or 1 to Many, or Many to Many),
maka modality menjelaskan tentang ada/tidak ada nya (0 atau 1)
Perlu kita ingat, bahwa setiap ER-M HARUS mempunyai modality, bukan hanya cardinality nya saja, apalagi kalau relasi / cardinality nya adalah 1 to M.
Mengapa?
Karena kalau tidak ada berarti diasumsikan semuanya ada.
Misalnya :

sumber gambar : google.com

Bisa kita lihat, kalau modality pada customer bernilai 1, sedangkan modality pada repair action bernilai 0. Relasinya / cardinality nya sendiri merupakan 1 to Many.
Kalau seandainya saja, tidak ada modality dalam ERD di atas, maka akan diasumsikan seolah-olah semua customer mengambil repair action. Padahal,hal itu belum tentu.
Belum tentu semua customer dalam Honda Centre misalnya, ingin repair action, bisa saja customernya hanya ingin membeli sparepart, dsb.
Untuk itu, modality repair action adalah 0.
Sedangkan, setiap repair action PASTI ada customernya. (Kalau bukan customer, lalu siapa yang ngambil repair action nya? :S XD)
Oleh sebab itulah, maka di entitas customer, kita beri modality nya bernilai 1.

Kurang lebihnya, itulah model data yang bisa saya jelaskan di sini.
Model data yang lebih berfokus ke ER-Model sih. Karena memang, ERD lah yang paling sering kita gunakan. Hehehe

Thanks for reading..



miss.yv ♥ ♥

Tuesday, October 30, 2012

Proses Bisnis ...

Hi there ♥
Pada post kali ini saya akan menuliskan refleksi mengenai "Proses Bisnis" ,yang biasa dikenal dengan bahasa keren nya > Business Process XD
Setelah mengikuti perkuliahan mengenai materi ini (2 pertemuan), yang saya pahami dan saya tangkap ialah Proses Bisnis itu terdiri dari tindakan/aktivitas yang terstruktur yang mempunyai bentuk urutan (input - output nya jelas), di mana tindakan/aktivitas itu saling berkaitan dan dimulai dari respon terhadap sebuah event.
Event yang dimaksud adalah kejadian yang menjadi pemicu terjadinya respon / aktivitas lain.
Sebagai contoh ,kalau mahasiswa tidak mengambil KRS ,maka tidak mungkin terjadi kegiatan pembayaran.
Kegiatan pembayaran disini adalah respon dari kegiatan pengambilan KRS yang dilakukan oleh mahasiswa.

Suatu proses bisnis harus  :
- Ada tujuan
- Ada input
- Ada output
- Ada sumber daya
- Ada beberapa aktivitas yang mengikuti urutan (aktivitas nya terurut)
- Melibatkan satu/lebih organizational unit (unit dalam organisasi)
- Ada value/nilai untuk customer (internal maupun eksternal)

Suatu bisnis harus mempunyai tujuan yang jelas, agar input dan outputnya pun bisa jelas.
Ada pun yang dimaksud dengan sumber daya disini ada bermacam-macam, contohnya saja, sumber daya yang pasti ada dalam setiap bisnis itu adalah Sumber Daya Manusia (SDM).

Aktivitas yang terurut , saya memahami bagian ini kurang lebihnya seperti ini: dalam suatu proses bisnis, kegiatan/aktivitas nya harus terurut (ada urutan nya masing-masing), sebagai contoh (menggunakan contoh yang tadi saja ya). Seorang mahasiswa harus mengambil KRS dulu ,baru melakukan pengisian, dan mengambil slip pembayaran.
Di sini sudah terlihat urutan yang dimaksudkan. Karena, mahasiswa tidak dapat langsung mengambil slip pembayaran, kalau belum melakukan kegiatan/tindakan sebelumnya.

Adapun mengenai melibatkan satu / lebih organizational unit (melibatkan 1 / lebih unit), hal ini cukup mudah untuk saya pahami. Karena suatu kegiatan proses bisnis, biasanya pasti akan melibatkan lebih dari 1 unit.
Misalnya , yang persoalan KRS tadi, akan melibatkan Mahasiswa, BAAK, Admin Keuangan, dst.

Sedangkan mengenai value/nilai itu sudah jelas, setiap proses bisnis pasti akan mempunyai suatu nilai(manfaat) baik bagi lingkungan internal(organisasinya) maupun eksternal (pelanggan,user,dll)

Seputar proses bisnis ini, kami diberikan tugas untuk membagi diri kami masing-masing(anggota kelompok) ke dalam divisi-divisi yang kami rasa perlu ada dalam Bisnis Perentalan Mobil. Dari sana, kami diminta untuk memikirkan/menganalisa kira-kira proses bisnis seperti apa yang kami inginkan. Kami sebagai owner, yang langsung menentukan aktivitas-aktivitas apa saja yang kami rasa perlu.
Yang saya ingin ketahui lebih lanjut, bagaimana menuangkan hal yang telah kami kerjakan itu ke dalam flowchart yang benar (kebetulan ada tugas kami juga mengenai ini), dan saya bersama teman-teman dalam kelompok saya akan berusaha memikirkan seperti apa flowchartnya.
Mudah-mudahan saja, hasil pemikiran kami nanti sesuai dengan yang seharusnya. XD

Kira-kira itu saja ya. Thanks for reading.



♥ miss.yv

Thursday, October 25, 2012

SOFTWARE PROCESS

hi readers ♥
Dalam tulisan kali ini, saya akan membahas mengenai software process, seperti yang tertera di judul post ini.
Software Process itu kurang lebih nya adalah kegiatan-kegiatan yang berkaitan dengan bagaimana kita sebagai software developer mengkomunikasikan rancangan dan bagaimana user mengkomunikasikan keinginan nya.
Untuk itu, dalam software process terdapat berbagai macam bentuk / model, yaitu :

♣ Linear Sequential Model / Waterfall Model

Model ini seringkali disebut sebagai classic life cycle, yang sistematis, dan berurutan (sequential).
Model yang satu ini mengharuskan kita benar-benar menyelesaikan suatu tahapan baru melangkah ke tahapan selanjutnya. Seperti yang terlihat pada gambar, ada tahapan-tahapan : Requirements (mengumpulkan, menganalisis, dan mendefinisikan kebutuhan user. Tahap ini harus dikerjakan secara lengkap sebelum maju ke tahap berikutnya),Design (mendesign software yang dapat dilakukan hanya setelah requirements nya lengkap), implementation and unit testing (diterjemahkan ke dalam bahasa pemrograman yang diinginkan, yang sudah ditentukan sebelumnya. Program yang dibangun langsung dapat diuji bagian-bagian nya), integration & system testing (penggabungan bagian-bagian program, yang langsung dites secara keseluruhan), dan maintenance (program dioperasikan di lingkungan nya, dan dilakukan pemeliharaan,seperti penyesuaian/adaptasi dengan situasi sebenarnya).
Karena itu, software developer harus benar-benar mengerti requirements (kebutuhan) user dengan baik, sehingga perubahan dapat ditekan sekecil mungkin.
Kelebihan dari model ini adalah ada penjadwalan / pengaturan yang dilakukan pada setiap tahap, sehingga mempermudah dalam pengontrolannya. Model ini juga cocok untuk sistem berskala besar. Sayangnya, selain dari sifatnya kaku (sulit menerima perubahan-perubahan), pembuatan software dengan model ini cenderung memakan waktu yang lama.


♣ Incremental Model










Pada model ini, software developer membagi proses dalam beberapa inkremen. Setiap inkremen nanti nya akan menyediakan sedikit dari fungsional sistem. 
Model ini tidak sekaku model sebelumnya(waterfall model), karena bisa saja, sebelum inkremen pertama benar-benar selesai, inkremen kedua telah boleh dijalankan, karena inkremen kedua merupakan lanjutan / pengembangan yang lebih dalam dari inkremen pertama.
Kelebihan dari model ini adalah user tidak harus menunggu sampai keseluruhan program / inkremen selesai baru bisa menggunakan programnya, karena ketika inkremen pertama telah selesai, user dapat mulai menggunakan nya. Jadi, dengan model ini, user dapat menggunakan program yang sedang dikembangkan, dan dapat pula memberikan informasi yang nanti nya dapat menjadi referensi untuk inkremen berikutnya.
Oleh karena itu, maka inkremen pertama pasti harus menjalani testing yang ketat, karena inkremen selanjutnya akan berhubungan dengan nya. Hanya saja, terkadang ada kesulitan dalam memberi gambaran tentang kebutuhan pelanggan pada inkremen dengan ukuran yang benar. (Mungkin saja pelanggan ingin lebih lengkap pada tahap inkremen awal, dst)

♣ Prototyping Model

Pembuatan software dengan model ini sangat melibatkan user / customer. Biasanya, developer akan membuat suatu prototype sederhana untuk diperlihatkan kepada customer / user untuk dievaluasi olehnya. Setelah menerima evaluasi dari customer, maka mulailah program tersebut terus dikembangkan sesuai keinginan dari user, sedangkan bila tidak sesuai dengan apa yang diinginkan oleh si user, maka developer harus mengulang prototype nya lagi. Model ini biasanya digunakan pada customer / user yang belum benar-benar mengerti tentang program seperti apa yang diinginkan nya. 
Kelebihan dari model ini, tentu saja bahwa user sangat berperan dalam pembuatan software nya, dan dapat mempersingkat waktu pengembangan softwarenya.
Sayangnya, developer biasanya tidak maksimal dalam implementasi nya, dan kalau waterfall model tadi mudah dalam dokumentasinya, maka model yang satu ini mengalami kesulitan dalam hal dokumentasi dikarenakan struktur / prototype program yang bisa saja terus mengalami perubahan.

♣ Rapid Application Development (RAD)

Model ini dapat dikatakan sebagai pengembangan lebih lanjut dari waterfall model dan incremental model. Karena, dalam model ini tahapan-tahapan yang dilakukan juga sama dengan waterfall hanya saja dibagi menjadi 3 tim, yang akan mengerjakan pekerjaan yang sama dengan deadline yang sama pula. Hal ini agak mirip dengan incremental model yang juga membagi pekerjaan nya, tetapi kalau incremental model maka pekerjaan yang dikerjekan dan deadline nya itu berbeda.
Tahapan-tahapan dalam model ini mulai dari business modelling(lebih kepada seperti apa jenis bisnis nya / jenis informasi bisnis yang akan diproses oleh sistem nantinya, dan hal-hal mendasar seputar itu), data modelling (bentuk data nya, objek nya, dll), process modelling (seperti apa proses nya), application generation (mirip dengan tahap design, tentang bagaimana model aplikasinya dalam bentuk program), dan testing/turnover (pengecekan kesalahan dalam sistem / program). Nantinya, ketiga tim ini akan menggabungkan hasil kerja nya dan membentuk suatu software secara utuh. 
Kelebihan dari sistem ini, tentu saja akan menghemat waktu bia sampai 60-90 hari dan cocok untuk sistem berskala besar, tapi seperti yang bisa kita bayangkan, model ini akan membutuhkan tenaga kerja yang cukup banyak.

♣ Spiral Model / Incremental Prototyping Model
Seperti yang terlihat pada gambar, tahapan pertama dalam model ini adalah CUSTOMER COMMUNICATION di mana user akan mengkomunikasikan keinginan nya untuk membuat program yang diinginkan nya kepada developer. 
Selanjutnya, PLANNING. User dan developer merencanakan bersama tentang software seperti apa yang sesuai dengan kebutuhan nya,waktu yang dibutuhkan dan informasi-informasi lainnya.
RISK ANALYSIS. Pada tahapan ini, developer akan menganalisis mengenai apa-apa saja yang dibutuhkan dalam sistem beserta resiko-resikonya.
ENGINEERING. Pembuatan contoh-contoh aplikasi ,misalnya prototype,
CONSTRUCTION AND RELEASE. Pembangunan/pembuatan program/sistem, menguji, memasang, dan memberikan help/buku panduan dalam penggunaan nya yang ditujukan untuk user.
CUSTOMER EVALUATION. Evaluasi dari customer mengenai program yang telah digunakan nya.

Kelebihan dari model ini, adalah :
Software dapat digunakan untuk waktu yang cukup lama, cocok pula untuk program berskala besar dan pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
Akan tetapi, ada kesulitan dalam meyakinkan pelanggan bahwa setiap evolusi ini bisa dikontrol dan cenderung butuh waktu yang lama.

Referensi : 


That's all.



♥ ♥ miss. yv