Selasa, 15 Maret 2016

Systems Analyst Job Description


System Analyst merupakan orang yang bertugas menganalisa sistem yang akan diimplementasikan, mulai dari menganalisa sistem yang ada, tentang kelebihan dan kekurangannya, sampai studi kelayakan dan desain sistem yang akan dikembangkan.

System Analyst memegang peranan yang sangat penting dalam proses pengembangan sistem. 
Seorang system analyst harus memiliki setidaknya empat keahlian :
  1. Kemampuan analisis: memungkinkan seorang system analyst untuk memahami perilaku organisasi beserta fungsi-fungsinya, pemahaman tersebut akan membantu dalam mengidentifikasi kemungkinan terbaik serta menganalisis penyelesaian permasalahan.
  2. Keahlian teknis: akan membantu seorang system analyst untuk memahami potensi dan keterbatasan dari teknologi informasi. Seorang system analyst harus mampu untuk bekerja dengan berbagai jenis bahasa pemrograman, sistem operasi, serta perangkat keras yang digunakan.
  3. Keahlian manajerial: akan membantu seorang system analyst mengelola proyek, sumber daya, risiko, dan perubahan.
  4. Keahlian interpersonal (berkomunikasi dengan orang lain): akan membantu system analyst dalam berinteraksi dengan pengguna akhir sebagaimana halnya dengan analis, programer, dan profesi sistem lainnya.

Ada beberapa fungsi dari system analyst, diantaranya meliputi :
  • Dapat menidentifikasikan berbagai masalah dari pemakai (user).
  • Menentukan secara jelas mengenai sasaran yang harus dicapai untuk dapat memenuhi kebutuhan pemakai.
  • Dapat memilih metode alternatif dalam memecahkan masalah pada sistem.
  • Dapat merencanakan maupun menerapkan rancangan sistem sesuai dengan apa yang diinginkan pemakai.

Tanggung jawab dari seorang system analyst, diantaranya meliputi:
  • Pengambilan data yang efektif dari sumbernya.
  • Aliran data pada sistem.
  • Pemerosesan dan penyimpanan data.
  • Aliran dari informasi yang berguna kembali pada proses maupun penggunanya.

Job Descriptions dari System Analyst:
  1. Memperluas atau memodifikasi sistem untuk melayani tujuan baru atau meningkatkan alur kerja. 
  2. Menguji, memelihara, dan memantau program komputer dan sistem, termasuk koordinasi instalasi program komputer dan sistem.
  3. Mengembangkan, dokumen dan merevisi prosedur desain sistem, prosedur pengujian, dan standar kualitas. 
  4. Menyediakan staf dan pengguna dengan membantu memecahkan masalah komputer terkait, seperti malfungsi dan masalah program.
  5. Meninjau dan menganalisa hasil print-out komputer dan indikator kinerja untuk menemukan masalah kode, dan memperbaiki eror dengan mengkoreksi kode.
  6. Berkonsultasi dengan manajemen untuk memastikan kesepakatan pada prinsip-prinsip sistem.
  7. Berunding dengan klien mengenai jenis pengolahan informasi atau perhitungan kebutuhan program komputer.
  8. Membaca manual, berkala, dan mereport secar teknis untuk belajar bagaimana mengembangkan program yang memenuhi kebutuhan staf dan pengguna.
  9. Mengkoordinasikan dan menghubungkan sistem komputer dalam sebuah organisasi untuk meningkatkan kompatibilitas dan sehingga informasi bisa dibagi.
  10. Menentukan software atau hardware komputer yang diperlukan untuk mengatur atau mengubah sistem.

Terakhir, saya akan menambahkan link contoh dokumen SKPL / SRS (Software Requirement Specifications).

Selasa, 08 Maret 2016

SDLC (Systems Development Life Cycle)



Pada postingan saya kali ini akan membahas materi dari mata kuliah Analisis dan Perancangan SI.
Materi pertama yang akan saya bahas adalah tentang SDLC (Systems Development Life Cycle). Semoga bermanfaat :)


sdlc


SDLC (Systems Development Life Cycle), adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. 
SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisa (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance). Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak. 


System Development Life Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya  fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize.

Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa tahap dan pada sistem yang besar, masing-masing tahapan tersebut dikerjakan oleh tim yang berbeda.
Berikut terdapat enam tahapan dalam sebuah siklus SDLC :
  1. Perencanaan Sistem (Systems Planning). Lebih menekankan pada aspek studi kelayakan pengembangan sistem (feasibility study). Aktivitas-aktivitas yang ada meliputi :
    • Pembentukan dan konsolidasi tim pengembang.
    • Mendefinisikan tujuan dan ruang lingkup pengembangan.
    • Mengidentifikasi apakah masalah-masalah yang ada bisa diselesaikan melalui pengembangan sistem.
    • Menentukan dan evaluasi strategi yang akan digunakan dalam pengembangan sistem.
    • Penentuan prioritas teknologi dan pemilihan aplikasi.
  2. Analisis sistem (system analyst), adalah tahap dimana dilakukan beberapa aktivitas berikut :
    • Melakukan studi literatur untuk menemukan suatu kasus yang bisa ditangani oleh sistem
    • Brainstorming dalam tim pengembang mengenai kasus mana yang paling tepat dimodelkan dengan sistem
    • Mengklasifikasikan masalah, peluang, dan solusi yang mungkin diterapkan untuk kasus tersebut
    • Analisa kebutuhan pada sistem dan membuat batasan sistem
    • Mendefinisikan kebutuhan sistem
  3. Perancangan Sistem (Systems Design).  Aktivitas yang dilakukan pada tahap ini :
    • Menganalisa interaksi obyek dan fungsi pada sistem
    • Menganalisa data dan membuat skema database
    • Merancang user interface
  4. Impelementasi sistem (system implementation). Tahap ini merupakan tahap meletakkan sistem supaya siap dioperasikan. Implementasi sistem juga merupakan proses mengganti atau meninggalkan sistem yang lama dengan mengganti sistem yang baru. Untuk menggantikan sistem yang lama ke sistem yang baru diperlukan suatu pendekatan atau strategi supaya berhasil.
  5. Pengujian sistem (testing). Tahap pengujian sistem merupakan tahap pengujian dari sistem yang telah diimplementasikan di langkah sebelumnya. Tahap ini merupakan tahap yang paling berpengaruh dalam proses pembuatan sistem, karena jika ada salah satu bagian yang tidak sesuai, maka harus ada perancangan ulang di bagian tersebut.
  6. Maintenance (pengelolaan atau pemeliharaan). Setelah melewati tahap pengujian. Maka tahap selanjutnya adalah Deployment yaitu tahap rilis sistem yang telah dibangun kepada client yang telah memesan. Setelah Deployment, masuk ke tahap Maintenance. Pemeliharaan yang dimaksud adalah untuk menjaga sistem supaya tetap mampu beroperasi secara benar seperti pemeliharaan data, pembaharuan sistem sesuai kebutuhuan baru, serta meningkatkan keamanan data.

Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user, terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu diulangi lagi atau kembali ke langkah sebelumnya.

Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi sistem



Kelebihan dan Kekurangan Metode SDLC 
Kelebihan dari metode SDLC :
  1. Menyediakan tahapan yang dapat digunakan sebagai pedoman mengembangkan sistem.
  2. Akan memberikan hasil sistem yang lebih baik karena sistem dianalisis dan dirancang secara keseluruhan sebelum diimplementasikan.

Kekurangan dari metode SDLC :
  1. Hanya menyediakan tahapan-tahapan saja, tetapi tidak menyediakan metodologi (cara dan alat-alat).
  2. Hasil dari SDLC sangat tergantung dari hasil di tahap analisis, sehingga jika terdapat kesalahan analisis, akan terbawa terus dengan hasil sistem yang kurang memuaskan.
  3. Dibutuhkan waktu yang lama untuk mengembangkannya karena sistem harus dikembangkan sampai selesai semua terlebih dahulu.
  4. Dibutuhkan biaya yang relatif lebih besar dibandingkan dengan metode lainnya.
  5. Hasil dari sistem tidak luwes untuk dimodifikasi karena perlu dilakukan analisis kembali.