Ex Machina (2015) 's Review

Image
From the beginning of this film, which is how humans can't be escaped from the name of Technology. Yes, modern humans today certainly can't be escaped from laptops, smartphones, and other things related to technology. In this film where a boss named Nathan intends to create an interface that can help people make their work easier. We all know if making an interface is not easy. In this case, the computer and its equipment must be designed in accordance with the desired needs and can help humans in their daily work (according to specific tasks given). If we talk about interfaces, it will offend the User Interface. User Interface here is more than what humans can see, touch or hear. The user interface includes concepts, user needs to know computer systems, and must be integrated into the entire system. The user interface isn't enough to just look 'good' but must be able to support tasks done by humans and has made to avoid minor mistakes. In this film, it c

Software Development Life Cycle (SDLC)

   Pada awal pengembangan software atau perangkat lunak, biasanya programmer langsung melakukan kegiatan utamanya yakni pengkodean software dengan menggunakan prosedur atau pengembangan software. Tentunya dalam pembuatan software tersebut, seorang programmer akan menemukan kendala-kendala yang seiring dengan perkembangan lingkup system yang semakin meluas. Oleh karena itu dibutuhkan proses dalam pengembangan software dengan model dan metodologi yang disebut dengan SDLC (Software Development Life Cycle / System Development Life Cycle.
   
  A.    Tahapan SDLC

Seperti halnya proses metamorphosis pada kupu-kupu yang indah, maka dibutuhkan beberapa tahapan yang harus dapat dilalui agar menghasilkan software yang berkualitas sehingga user atau client merasa puas.
Saya bahas tahapan-tahapan yang ada pada SDLC secara umum sebagai berikut :

1.      Inisialisasi (Initiation)
Tahap ini biasanya ditandai dengan pembuatan proposal proyek perangkat lunak /software yang akan dibuat.

2.      Pengembangan Konsep Sistem (System Concept Development)
   Tahap ini adalah pendefinisian lingkup konsep termasuk dokumen lingkup system analisis manfaat biaya, manajemen rencana, dan pembelajaran kemudahan system.

3.      Perencangan (Planning)
Perlunya mengembangkan rencana manajemen proyek dan dokumen dasar untuk mendapatkan sumber daya yang dibutuhkan adalah cara terbaik dalam memperoleh solusi. 

4.      Analisis Kebutuhan (Requirement Analysis)
Tahap ini merupakan tahapan yang harus benar-benar dipahami seorang System Analyst, dimana ia harus memahami kebutuhan pemakai system / user (membuat dokumen kebutuhan fungsional) dan bagaimana perkembangan selanjutnya. 

5.      Desain (Design)
Desain di sini bukan bagaimana cara memberikan tampilan yang professional untuk user, namun bagaimana cara seorang System Analyst dapat mentransfromasikan kebutuhan detail menjadi kebutuhan yang sudah lengkap dan fokus dalam memenuhi fungsi-fungsi yang dibutuhkan. 

6.      Pengembangan (Development)
Berikut ini rincian dari tahapan pengembangan dalam SDLC :
a.   Mengonversi desain ke SI yang dilengkapi dengan penerapannya di lingkungan system yang dibutuhkan.
b.      Membuat basis data dan mempersiapkan prosedur kasus pengujian.
c.       Memperbaiki dan membersihkan program.
d.     Peninjauan dari pengujian sebelumnya.

7.      Integrasi dan Pengujian (Integration and Test)
Mendemonstrasikan system perangkat lunak bahwa telah memenuhi kebutuhan yang dispesifikasikan pada  dokumen kebutuhan fungsional sehingga dapat dihasilkan sebuah laporan analisis pengujian.

8.      Implementasi (Implementation)
Menerapkan perangkat lunak pada lingkungan user dan menjalankan resolusi dari permasalahan yang telah teridentifikasi dari fase integrasi dan pengujian.

9.      Operasi dan Pemeliharaan (Operation and Maintenance)
     Pada tahap ini dijelaskan deskripsi pekerjaan untuk mengoperasikan dan memelihara SI pada lingkungan user,  termasuk proses peninjauan.

10.  Disposisi (Disposition)
      Mendeskripsikan aktfitas akhir dari pengembangan system dan membangun data yang sesuai aktifitas user yang sebenarnya.


        Ada beberapa model SDLC yang dapat digunakan, namun semuanya memiliki kelemahan dan kelebihan pada setiap modelnya. Hal terpenting adalah mengenali tipe pelanggan (customer) dan memilih menggunakan model SDLC yang sesuai dengan karakter pelanggan dan sesuai dengan karakter pengembang. Selanjutnya akan saya membahas beberapa model SDLC yang biasa digunakan.


B.     Model-model SDLC

     B.1. Model Waterfall

            Model SDLC waterfall (air terjun) atau yang sering juga disebut model sekuensial linier atau alur hidup klasik. Model waterfall menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support) atau pemeliharaan (maintenance).





        Tahapan dalam model Waterfall :

a.  Analisis Kebutuhan Perangkat Lunak
Pengumpulan kebutuhan dilakukan secara intensif dilakukan untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan user.

b. Desain
      Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya.

c.   Pengodean
    Tahap ini adalah pekerjaan yang dilakukan pemrogram atau programmer dengan hasil berupa program computer yang sebelumnya telah dibuat pada tahap desain.

d.  Pengujian
    Tahap ini memastikan bahwa semua bagian sudah diuji dan meminimalisir kesalahan dan memastikan output yang dihasilkan sesuai dengan yang diinginkan.

e.   Pendukung atau Pemeliharaan


    Tahap ini dapat mengulangi proses tahapan sebelumnya (analisis, desain, pengkodean, pengujian) karena tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan. Namun tidak dimaksudkan untuk membuat perangkat lunak yang baru.




          B.2. Model Prototype

                       Model prototype dapat digunakan untuk menyambungkan ketidakpahaman pelanggan mengenai hal teknis dan memperjelas spesifikasi kebutuhan diinginkan pelanggan kepada pengembang perangkat lunak. 
                     Sering sekali pelanggan (customer)  membayangkan sekumpulan kebutuhan yang diinginkan tapi tidak terspesifikasikan secara detail dari segi input, proses, atau   output. Oleh karena itu, dengan model prototype ini semua kebutuhan pelanggan dapat dipenuhi.



Tahapan dalam model Prototype :
    a.  Mendengarkan pelanggan
Pada awalnya seorang analis mendengarkan apa yang dibutuhkan pelanggannya, semua kebutuhan yang diutarakan pelanggan selanjutnya diterjemahkan analis kepada pemrogram.

    b.   Membangun /memperbaiki Mock-Up
Sebuah mock-up disebut sebagai prototype perangkat lunak jika menyediakan atau mampu mendemonstrasikan sebagian besar fungsi system perangkat lunak dan memungkinkan pengujian desain system perangkat lunak.

    c.  Pelanggan melihat / menguji Mock-Up

Setelah Mock-Up terbentuk, maka pelanggan pun berhak melihat serta menguji Mock-Up. Jika Mock-Up dirasa kurang mampu memenuhi kebutuhan pelanggan, maka proses selanjutnya yaitu kembali ke tahapan pertama yakni mendengarkan pelanggan.



          B.3. Model Rapid Application Development (RAD)


             Model RAD ini bisa dibilang merupakan adaptasi dari model air terjun versi  kecepatan tinggi untuk pengembangan setiap komponen perangkat lunak. Konsep yang dapat diambil dari model ini yaitu jika kebutuhan perangkat lunak dipahami dengan baik dan lingkup perangkat lunak dibatasi dengan baik maka tim dapat menyelesaikan pembuatan perangkat lunak dengan waktu yang pendek, dengan membagi tim pengembang menjadi beberapa tim untuk mengerjakan beberapa komponen yang dilakukan secara parallel.





a. Pemodelan Bisnis
Pemodelan yang dilakukan untuk memodelkan fungsi bisnis untuk mengetahui informasi apa yang terkait proses bisnis, informasi apa saja yang harus dibuat, siapa yang membuat dan bagaimana alur informasi itu.

b.  Pemodelan Data
Memodelkan data apa saja yang dibutuhkan berdasarkan pemodelan bisnis dan mendefinisikan atribut-atributnya beserta relasinya dengan data-data yang lain.

c.   Pemodelan Proses
Mengimplementasikan fungsi bisnis yang sudah didefinisikan terkait dengan pendefinisian data.

d.   Pembuatan Aplikasi
Mengimplemnetasikan pemodelan proses dan data menjadi program. Model RAD sangat menganjurkan komponen yang sudah ada jika dimungkinkan.

e.   Pengujian dan Pergantian

Menguji komponen-komponen yang dibuat. Jika sudah teruji maka tim pengembang komponen berikutnya.




         B.4. Model Spiral

            Model ini mengadaptasi 2 model perangkat lunak yang ada yaitu model prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan sistematikanya. Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam model ini memadukan beberapa model umum tersebut untuk menghasilkan produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.






        Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut :
              a. Tahap Liason:pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai.
              b. Tahap Planning (perencanaan):pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.
              c. Tahap Analisis Resiko:mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.
              d. Tahap Rekayasa (engineering):pembuatan prototipe.
              e. Tahap Konstruksi dan Pelepasan (release):pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.

              f. Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi. 





        Dari beberapa model SDLC yang telah saya jelaskan di atas, model Spiral yang bisa memberikan jaminan kualitas yang paling baik untuk aplikasi berskala besar. Penerapan model spiral cocok digunakan untuk suatu proyek dengan target waktu dan biaya yang tidak terlalu ketat. Setiap perubahan spesifikasi pasti beresiko pada molornya waktu pengerjaan dan membengkaknya biaya proyek. Namun sekali lagi, kembali pada jenis dan ruang lingkup proyek yang akan dibuat oleh pengembang tentunya memenuhi kebutuhan customer. 
                         

  Sekian postingan saya mengenai SDLC, jikalau ada waktu luang lagi saya akan mengembangkan tulisan saya kembali. Terima kasih telah berkunjung di blog saya.































      

Comments

Popular posts from this blog

PERANGKAT BERGERAK (MOBILE DEVICE)

Membuat Aplikasi Penjualan Sederhana Menggunakan VB.Net dan database Access 2010 (CRUD)

Ex Machina (2015) 's Review