Rabu, 30 Mei 2018

Konsep Perancangan Berorientasi Objek (Pengenalan Singkat Tentang UML)

1. Konsep Perancangan Berorientasi Objek 
Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak,sistem informasi,atau sistem lainnya). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.Ada banyak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut,mulai dan abstraksi objek,kelas,hubungan antarkelas sampai abstraksi sistem.Sistem berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi.Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya dan dapat berinteraksi satu sama lain. Hal-hal yang terlibat dalam perancangan berorientasi objek yaitu:

a. Kelas (class)
Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statik dan himpunan objek yang sama yang mungkin lahir atau diciptakan dari kelas tersebut.Suatu kelas dapat diturunkan dan kelas yang lain , dimana atribut dan kelas semula dapat diwariskan ke kelas yang baru.Ilustrasi dari sebuah kelas dapat dilihat pada gambar berikut.


Gambar ilustrasi Kelas 


Contoh Kasus Class Diagram pada UML
Manajemen Rumah Sakit 

Ini adalah contoh diagram model domain rumah sakit. Model domain untuk Sistem Manajemen Rumah Sakit ditunjukkan oleh beberapa diagram kelas. Tujuan dari diagram ini adalah untuk menunjukkan dan menjelaskan struktur rumah sakit, staf, hubungan dengan pasien, dan terminologi perawatan pasien.Pada diagram di bawah Orang dapat dikaitkan dengan Rumah Sakit yang berbeda, dan Rumah Sakit dapat mempekerjakan atau melayani banyak Orang. Person class telah diturunkan atribut name dan homeAddress. Nama mewakili nama lengkap dan dapat digabungkan dari judul, nama (nama atau nama), nama tengah, dan keluarga (atau nama terakhir) yang pertama (atau yang pertama). Kelas pasien memiliki usia atribut yang diturunkan yang dapat dihitung berdasarkan tanggal lahirnya dan tanggal saat ini atau tanggal masuk rumah sakit.
Kelas Pasien mewarisi atribut dari kelas Person. Beberapa nama atribut, jenis kelamin, dan kelahiran bawaan.




Gambar Kasus Class Diagram 


b. Objek (object)
Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda,manusia,satuan organisasi,tempat,kejadian,struktur,status,atau hal-hal lain bersifat abstrak.Objek merupakan suatu entitas yang mampu menyimpan (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya.Objek mempunyai siklus hidup yaitu diciptakan,dimanipulasi,dan dihancurkan.


Gambar Ilustrasi Kelas dan Objek 


c. Method (Metode)
Metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek.Metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural.Metode dapat berasal dari event,aktivitas,atau aksi keadaan,fungsi,atau kelakuan dunia nyata.Contoh metode misal read,write,move,copy,dsb

d. Attribut
Attribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas.Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek.Atribut dipunyai secara individual oleh sebuah objek,misalnya berat,jenis,nama,dsb.

e. Operasi
Operasi adalah fungsi atau transformasi yang mungkin dapat diaplikasikan ke/oleh suatu objek dalam kelas. Misalnya, suatu objek dalamkelas manusia mungkin memiliki fungsi-fungsi tersenyum, marah, makan, minum, menerima perlakuan tertentu, dan sebagainya.


Notasi dari operations

visibility name (parameter-list) : return-type {property-string}


2. Tools Yang Digunakan Dalam Perancangan Berorientasi Objek 
- Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990]
- Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991] 
- Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992] 
- Booch Merhod dan Grady Booch [1994] 
- Sritrop dan Steve Cook dan John Daniels [1994] 
- UML (united modeling language) dari James Rumbaugh.Grady Booch dan Ivar Jacobson [1997] 


3. Karakteristik Metodologi Berorientasi Objek

Terdapat 3 karakteristik utama dalam metodologi pengembang sistem berorientasi objek , yakni :

Polymorpshim 
bisa disebut dengan polimorfisme adalah suatu konsep yang menyatakan bahwa seseuatu yang sama bisa memiliki bentuk dan perilaku yang berbeda . Intinya polimorfisme ini operasi yang sama mungkin memiliki perbedaan dalam kelas yang berbeda. 

Encapsulation 
bisa disebut sebagai pengkapsulan yang merupakan suatu dasar pembatasan ruang lingkup program terhadap data yang diproses sehingga data atau method yang sudah dibatasi tidak dapat diakses dari luar sehingga data atau method itu akan terlindungi 

Inheritance 
disebut dengan pewarisan merupakan teknik yang mengemukakan bahwa anak dari objek akan mewarisi data atau atribut dari induknya secara langsung. 


4. Pengenalan UML (Unified Modeling Language)
a. Sejarah UML 
Bahasa pemrograman berorientasi objek yang pertama dikembangkan dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967. Bahasa pemrograman ini kurang berkembang dan dikembangkan lebih lanjut, namun dengan kemunculannya telah memberikan sumbangan yang besar pada developer pengembang bahasa pemrograman berorientasi objek selanjutnya. 

Perkembangan aktif dari pemrograman berorientasi objek mulai menggeliat ketika berkembangnya bahasa pemrograman Smalltalk pada awal 1980-an yang kemudian diikuti dengan perkembangan bahasa pemrograman beorientasi objek yang lainnya seperti C objek, C++, Eiffel, dan CLOS. Secara aktual, penggunaan bahasa pemrograman berorientasi objek pada saat itu masih terbatas, namun telah banyak menarik perhatian di saat itu. Sekitar lima tahun setelah Smalltalk berkembang, maka berkembang pula metode pengembangan berorientasi objek. Metode yang pertama diperkenalkan oleh Sally Shlaer dan Stephen Mellor (Shlaer-Mellor, 1988) dan Peter Coad dan Edward Yourdon (Coad-Yourdon, 1991), diikuti oleh Grady Booch (Booch, 1991), James R. Rumbaugh, Michael R. Blaha, William Lorensen, Frederick Eddy, William Premerlani (Rumbaugh-Blaha-Premerlani-Eddy-Lorensen, 1991), dan masih banyak lagi. Buku terkenal yang juga berkembang selanjutnya adalah karangan Ivar Jacobson (Jacobson, 1992) yang menerangkan perbedaan pendekatan yang fokus pada use case dan proses pengembangan. Sekitar lima tahun kemudian muncul buku yang membahas mengenai metodologi berorientasi objek yang diikuti dengan buku-buku yang lainnya. Di dalamnya juga membahas mengenai konsep, definisi, notasi, terminologi, dan proses mengenai metodologi berorientasi objek. 

Karena banyaknya metodologi-metodologi yang berkembang pesat saat itu, maka muncullah ide untuk membuat sebuah bahasa yang dapat dimengerti semua orang. Usaha penyatuan ini banyak mengambil dari metodologi-metodologi yang berkembang saat itu. Maka dibuat bahasa yang merupakan gabungan dari beberapa konsep seperti konsep Object Modelling Technique (OMT) dari Rumbaugh dan Booch (1991), konsep The Classes, Responsibilities, Collaborators (CRC) dari Rebecca Wirfs-Brock (1990), konsep pemikiran Ivar Jacobson, dan beberapa konsep lainnya dimana James R. Rumbaigh, Grady Booch, dan Ivar Jacobson bergabung dalam sebuah perusahaan yang bernama Rational Software Corporation menghasilkan bahasa yang disebut dengan Unified Modeling Language (UML). Pada 1996, Object Management Group (OMG) mengajukan proposal agar adanya standardisasi pemodelan berorientasi objek dan pada bulan September 1997 UML diakomodasi oleh OMG sehingga sampai saat ini UML telah memberikan kontribusinya yang cukup besar di dalam metodologi berorientasi objek dan hal-hal yang terkait di dalamnya.

b. Pengenalan UML
UML (Unified Modelling Language) adalah salah satu alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi objek.UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch,Object Modelling Technique (OMT) dan Object Oriented Software Engineering (OOSE).Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design Object Oriented.Metode ini menjadikan proses analisis dan design ke dalam empat tahapan iteratif,yaitu: identifikasi kelas-kelas dan objek-objek,identifikasi semantik dari hubungan objek dan kelas tersebut,perincian interface dan implementasi.Keunggulan metode Booch adalah pada detil dan kayanya dengan notasi dan elemen.

Gambar berikut adalah unsur-unsur yang membentuk UML.



Gambar unsur-unsur pembentukan UML 



c. Mengapa UML Penting 
UML adalah hasil kerja dari konsursium berbagai organisasi yang berhasil dijadikan sebagai standar baku dalam OOAD (Object Oriented Analysis & Design).Kontribusi untuk UML telah dihasilkan dari banyak perusahaan-perusahaan ternama diantaranya Digital Equipment Corp, Hewlet-Packard Company, i-Logic, Intellicorp, IBM, IconComputing, Electronic Data Services Corporation, MCI System House, Microsoft, Orecle, Rational Software, TI, Sterling Software, Taskon A/S, Unisys Platinum Technologies, Ptech, Taskon & Reich Technologies dan Softeam. 

UML tidak hanya dominan dalam penotasian di lingkungan OO tetapi juga populer di luar lingkungan OO.Paling tidak ada tiga karakter penting yang melekat di UML yaitu sketsa,cetak biru dan bahasa pemrograman.Sebagai sebuah sketsa,UML bisa berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dari sistem.UML bisa juga berfungsi sebagai sebuah cetak biru karena sangat lengkap dan detil.Sebagai bahasa pemrograman,UML dapat menterjemahkan diagram yang ada di UML menjadi code program yang siap untuk dijalankan.UML dibangun atas model 4+1 view.Model ini didasarkan pada fakta bahwa struktur sebuah sistem dideskripsikan dalam 5 view dimana salah satu diantaranya use case view.Use case view ini memegang peran khusus untuk mengintegrasikan content ke view yang lain.


Gambar Model 4+1 view 


Kelima view tersebut tidak berhubungan dengan diagram yang dideskripsikan di UML.Setiap view berhubungan dengan perspektif tertentu dimana sistem akan diuji.View yang berbeda akan menekankan pada aspek yang berbeda dari sistem yang mewakili ketertarikan sekelompok stakeholder tertentu.Penjelasan lengkap tentang sistem bisa dibentuk dengan menggabungkan informasi-informasi yang ada pada kelima view tersebut.

Use case view mendefinisikan kebutuhan sistem karena mengandung semua view yang lain yang mendeskripsikan aspek-aspek tertentu dari rancangan sistem.Itulah sebabnya use case view menjadi pusat peran dan sering dikatakan yang mendrive proses pengembangan perangkat lunak.

Design view ini berisi definisi komponen program,class-class utama bersama-sama dengan spesifikasi data,perilaku dan interaksinya.Informasi yang terkandung di view ini menjadi perhatian para programmer karena menjelaskan secara detil bagaimana fungsionalitas sistem akan diimplementasikan.

Implementation view menjelaskan komponen-komponen fisik dari sistem yang akan dibangun.Hal ini berbeda dengan komponen logic yang dideskripsikan pada design view.Termasuk di sini diantaranya file exe,library dan database.Informasi yang ada di view ini relefan dengan aktifitas-aktifitas seperti manajemen konfigurasi dan integrasi sistem.

Proses view berhubungan dengan hal-hal yang berkaitan dengan concurrency di dalam sistem.Sedangkan deployment view menjelaskan bagaimana komponen-komponen fisik didistribusikan ke linkungan fisik seperti jaringan komputer dimana sistem akan dijalankan.Kedua view ini menunjukkan kebutuhan non fungsional dari sistem seperti toleransi kesalahan dan hal-hal yang berhubungan dengan kinerja.


d. Diagram-diagram UML 
Pada UML 2.3 terdiri dari 13 macam diagram yang dikelompokkan dalam 3 kategori.Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada gambar dibawah. 

Diagram UML 


Tipe Diagram UML 



Berikut ini penjelasan singkat dari pembagian kategori tersebut.

1. Structure diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.

2. Behavior diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.

3. Interaction diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem.

Share:

Rabu, 23 Mei 2018

Perbandingan Metode Terstruktrur dan Obyek Oriented

Metodologi yang umumnya digunakan dalam pembangunan sistem berbasis komputer dalam dunia bisnis dan industri saat ini adalah metode analisis dan design terstruktur (Structured Analisys and Design / SSAD). Metode ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata.

Disamping itu, akhir-akhir ini bahasa pemrograman object-oriented (OO) mliai poplier dan banyak digunakan pada organisasi bisnis maupun institusi pendidikan. Seiring dengan trend sebuah metodologi dibangun untuk membantu programmer dalam mengunakan bahasa pemrograman berorientasi obyek. Metodologi ini dikenal dengan object-oriented analysis and design (OOAD).

Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman tersrtuktur. Akhir-akhir ini penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan software dengan metode tradisional. Sebagai metode baru dan sophisticated bahasa pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis.

Berikut adalah Kelebihan dan Kekurangan Kedua Metode Tersebut

METODE TERSTRUKTUR
Kelebihan
  • Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
  • SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
  • Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
  • SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
  • SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
  • SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
  • SSAD relatif simpel dan mudah dimengerti.
Kekurangan
  • SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
  • Sedikit sekali manajemen langsung terkait dengan SSAD
  • Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
  • Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
  • Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.
  • Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
  • SSAD tidak selalu memenuhi kebutuhan pengguna.
  • SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).

METODE BERORIENTASI OBYEK

Kelebihan
  • Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
  • Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
  • Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
  • Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
  • Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
  • Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
  • Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
  • OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
  • Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.

Kekurangan
  • Pada awal desain OOAD, sistem mungkin akan sangat simple.
  • Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
  • Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
  • Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
  • Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
  • OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
  • Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).
Share:

Selasa, 03 April 2018

Kelemahan Applikasi WhatsApp Web

Kekurangan WhatsApp Web dibanding WA di HP Android



Pada WhatsApp versi Web, yaitu akun WA yang dijalankan melalui perantara dan antarmuka Browser PC memang menawarkan kemudahan bagi para pemilik akun WhatsApp untuk mengakses WA tanpa memegang ponsel sama sekali.

Jadi para pengguna whatsApp bisa leluasa meninggalkan ponselnya dirumah dan tidak khawatir kehilangan kontak ketika ingin melakukan chatting melalui antarmuka WhatsApp di browser komputer yang dibawanya.

Namun demikian, dibalik kemudahan yang ditawarkan pihak google sebagai developer aplikasi WhatsApp, tentunya WA versi Web masih dibatasi dengan beberapa fitur yang tidak bisa diakses kecuali menggunakan Smartphone android sebagai kunci dari akun utamanya.

Kekurangan WhatsApp Web di PC / Laptop

Menu WhatsApp

Pengguna WA yang mengakses dari web browser tidak akan bisa menemui beberapa fitur yang disediakan pada versi Mobile.

Dimana beberapa fitur seperti Pencadangan chat, Settingan privasi, keamanan, Mengaktifkan Verifikasi dua langkah, mengganti Nomor dan juga menghapus akun. Untuk keamanan akun, memang WhatsApp web menghilangkan settingan yang bisa membuat akun utama dari versi mobile beresiko.

Perlu diketahui, bahwasanya untuk penggunaan WA di browser tergantung dari izin dari pemilik akun di versi mobile dan untuk menjaga keamanan dari pembobol akun maka di versi Web tidak disertakan fitur keamanan seperti meenonaktifkan akun dan juga mengganti settingan verifikasi dua langkah.

Menu Keluar dari akses komputer

Ada kunci utama agar WA versi Web bisa terus digunakan yaitu ketika pemilik akun tidak pernah menyentuh opsi 'keluar dari semua komputer' di menu WhatsApp versi Mobile.

Jadi semisal akun anda dicuri atau sedang dijalankan oleh orang lain dari browser Komputer yang anda tidak ketahui, maka cara mengeluarkan akses orang tersebut sangatlah mudah. Bisa langsung menuju ke opsi menu, kemudian masuk ke Opsi whatsApp Web dan disana akan terlihat komputer yang sedang mengakses akun WA anda, silahkan klik saja opsi 'Keluar dari semua komputer' maka seketika itu pula akses akan terputus.

Ketika akses dari WhatsApp web terputus, untuk masuk lagi ke akun anda melalui browser diharuskan melakukan scan kode QR dari perantara ponsel yang berisi nomor akun yang bersangkutan.

Tergantung Akses Internet

               WhatsApp Web akan terputus mengakses akun apabila Ponsel yang sedang diakses tidak terdapat sambungan data internet aktif. Jadi walaupun WA Web itu memudahkan penggunanya untuk bisa chatting dari laptop tanpa membawa Ponsel yang berisi akun utama, tidak akan bisa lagi melakukan chatting ketika koneksi data internet di ponsel tidak aktif.

Jadi pastikan dahulu apabila anda ingin bepergian tidak membawa ponsel dan ingin memanfaatkan laptop untuk mengakses WhatsApp dari kejauhan maka jangan pernah matikan koneksi internet di ponsel anda.

Tidak bisa Call online

Kelemahan lain dari WhatsApp Web adalah tidak adanya fitur untuk panggilan Online maupun video call.

Hal tersebut bisa saja dibuat oleh pihak pengembang WhatApp karena untuk panggilan dan video call di PC akan memerlukan koneksi data internet yang semakin besar. Itu hanya perkiraan admin saja lho..tapi masuk akal kan?..hehe

Respon kurang cepat

Satu lagi kelemahan WhatsApp Web dibanding WA versi mobile yakni Respon mengirim dan respon pesan masuk kurang cepat.

Hal tersebut bisa dikarenakan pesan yang kita kirim dan pesan masuk akan meminta izin ke ponsel sebagai akun utama dan akan diteruskan ke server WhatsApp.

           
Jadi menurut pengalaman saya sendiri yang sampai saat ini sering menggunakan WhatsApp Web akan lebih baik apabila ingin berkirim pesan dengan cepat maka gunakan saja WhatsApp di Ponsel dan bila dalam kondisi chatting santai bisa menggunakan WA versi Web.
Share:

Minggu, 25 Maret 2018

Macam-Macam Model SDLC & Penjelasan Model Prototype





Sebelum kita membahas macam-macam model SDLC (System Delevelopment Life Cycle) saya akan menjelaskan sedikit tentang SDLC. SDLC menurut saya adalah suatu proses pengembangan perangkat lunak secara keseluruhan yang dimulai dari: planning, identifikasi, analisis, perancangan, implementasi, pengujian, deployment, pemeliharaan.
  
A.        Model-Model Proses Siklus Rekayasa Perangkat Lunak (SDLC)
            Model proses disebut juga dengan aliran kerja (workflow), yakni tata cara bagaimana elemen-elemen proses berhubungan satu dengan lainnya. Aliran kerja ini dapat juga disebut dengan siklus hidup (life-cycle) sistem yang dimulai dari sejak sistem diajukan untuk dibangun hingga saat ia ditarik dari peredaran. 

Fungsi utama model proses SDLC: 

  1. menentukan tahap-tahap yang diperlukan untuk pengembangan perangkat lunak.
  2. menentukan urutan pelaksanaan dari tahap-tahap tersebut dalam rangka pengembangan perangkat lunak.
  3. menentukan kriteria transisi/perpindahan dari satu tahap ke tahap berikutnya.
Model-Model Proses SDLC: 
  1. Waterfall
  2. Model V
  3. Model Prototyping
  4. Model Spiral
  5. Model Incremental
  6. Model RAD (Rapid Application Development)
  7. Model CBSE (Component Based Software Engineering)
  8. Model RUP (Rational Unified Process)

    Salah satu model yang menurut saya yang paling menarik adalah Model Prototype. Dan saya disini akan menjelaskan secara singkat tentang model tersebut. Selamat membaca :)


Model Prototype
    Metode Prototype merupakan suatu paradigma baru dalam metode pengembangan perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan perangkat lunak, tetapi juga merevolusi metode pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau waterfall development model.
prototype
    Dalam Model Prototype, prototype dari perangkat lunak yang dihasilkan kemudian dipresentasikan kepada pelanggan, dan pelanggan tersebut diberikan kesempatan untuk memberikan masukan sehingga perangkat lunak yang dihasilkan nantinya betul-betul sesuai dengan keinginan dan kebutuhan pelanggan.
    Perubahan dan presentasi prototype dapat dilakukan berkali-kali sampai dicapai kesepakatan bentuk dari perangkat lunak yang akan dikembangkan.
Teknik – teknik Prototyping Meliputi :
  1. Perancangan Model
  2. Perancangan Dialog
  3. Simulasi
Berikut adalah 4 langkah yang menjadi karakteristik dalam proses pengembangan pada metode prototype, yaitu :
  1. Pemilihan fungsi
  2. Penyusunan Sistem Informasi
  3. Evaluasi
  4. Penggunaan Selanjutnya
    Metode ini menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak, terdiri atas model kertas, model kerja dan program. Pihak pengembang akan melakukan identifikasi kebutuhan pemakai, menganalisa sistem dan melakukan studi kelayakan serta studi terhadap kebutuhan pemakai, meliputi model interface, teknik prosedural dan teknologi yang akan dimanfaatkan.
prototype 2
Berikut adalah Tahapan – tahapan Proses Pengembangan dalam Model Prototype, yaitu :
  • Pengumpulan kebutuhan
    Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
  • Membangun prototyping
    Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).
  • Evaluasi protoptyping
    Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya akan diambil. Namun jika tidak, prototyping direvisi dengan mengulang langkah-langkah sebelumnya.
  • Mengkodekan sistem
    Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
  • Menguji sistem
    Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan proses Pengujian. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur, dll.
  • Evaluasi Sistem
    Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun jika perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan, maka tahapan sebelumnya akan diulang.
  • Menggunakan sistem
    Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
    Model Prototyping ini sangat sesuai diterapkan untuk kondisi yang beresiko tinggi di mana masalah-masalah tidak terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai yang berubah dari waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai menjadi syarat mutlak dan waktu yang tersedia sangat terbatas sehingga butuh penyelesaian yang segera. Model ini juga dapat berjalan dengan maksimal pada situasi di mana sistem yang diharapkan adalah yang inovatif dan mutakhir sementara tahap penggunaan sistemnya relatif singkat.
Berikut merupakan Jenis – jenis dari Prototyping :
  • Feasibility prototyping
    digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun.
  • Requirement prototyping
    digunakan untuk mengetahui kebutuhan aktivitas bisnis user.
  • Desain Prototyping
    digunakan untuk mendorong perancangan sistem informasi yang akan digunakan.
  • Implementation prototyping
    merupakan lanjutan dari rancangan prototype, prototype ini langsung disusun sebagai suatu sistem informasi yang akan digunakan.
  • Contoh Penerapan Metode Prototype.
    Sebuah rumah sakit ingin membuat aplikasi sistem database untuk pendataan pasiennya. Seorang atau sekelompok programmer akan melakukan identifikasi mengenai apa saja yang dibutuhkan oleh pelanggan, dan bagaimana model kerja program tersebut. Kemudian dilakukan rancangan program yang diujikan kepada pelanggan. Hasil/penilaian dari pelanggan dievaluasi, dan analisis kebutuhan pemakai kembali di lakukan.
  • Kelebihan Model Prototype :
  •     Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
  • Penentuan kebutuhan lebih mudah diwujudkan.
  • Mempersingkat waktu pengembangan produk perangkat lunak.
  • Adanya komunikasi yang baik antara pengembang dan pelanggan.
  • Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
  • Lebih menghemat waktu dalam pengembangan sistem.
  • Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.



  • Kekurangan Model Prototype :
  •     Proses analisis dan perancangan terlalu singkat.
  • Biasanya kurang fleksibel dalam mengahadapi perubahan.
  • Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
  • Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.

Share: