Formulir Kontak

 

Software Development Process


Proses pengembangan perangkat lunak (Software development process) adalah suatu struktur yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem melalui tahap demi tahap. Proses ini memiliki beberapa model yang masing-masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang terjadi selama proses. Contoh model proses pengembangan perangkat lunak antara lain:

Agile Development Methodology 

Agile Development Methods adalah sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun. Agile development methods merupakan salah satu dari Metodologi pengembangan perangkat lunak yang digunakan dalam pengembangan perangkat lunak. Agile memiliki pengertian bersifat cepat, ringan, bebas bergerak, dan waspada. Sehingga saat membuat perangkat lunak dengan menggunakan agile development methods diperlukan inovasi dan responsibiliti yang baik antara tim pengembang dan klien agar kualitas dari perangkat lunak yang dihasilkan bagus dan kelincahan dari tim seimbang.

Agile development methods terdefinisi dalam empat nilai, biasa di sebut Agile Alliance’s Manifesto,diantaranya :

  1. Interaksi dan personel lebih penting daripada proses dan alat.
  2. Perangkat lunak yang berfungsi lebih penting daripada dokumentasi yang lengkap.
  3. Kolaborasi dengan klien lebih penting daripada negosiasi kontrak.
  4. Respon terhadap perubahan lebih penting daripada mengikuti rencana.
Secara garis besar tujuan dirumuskannya agile development methods, yaitu :
  1. High-value & working App system
  2. Iterative, incremental, evolutionary
  3. Cost control & value-driven development
  4. High-quality production
  5. Flexible & risk management
  6. Collaboration
  7. Self-organizing, self-managing teams
Kelebihan dari agile
  • Meningkatkan kepuasan kepada klien.
  • Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
  • Pembangunan system dibuat lebih cepat.
  • Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
  • Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil.
Kekurangan dari agile
  • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  • Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
  • Tidak cocok dalam skala tim yang besar (>20 orang).
  • Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.


Rapid Application Development (RAD)
Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem di mana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.

Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
  1. Component based construction ( pemrograman berbasis komponen bukan prosedural).
  2. Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
  3. Pembangkitan kode program otomatis/semi otomatis.
  4. Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tetapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.

Kelebihan dari RAD
  • RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang tidak perlu membuat dari awal lagi dan waktu yang lebih singkat.
  • Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efisien.
Kekurangan dari RAD
  • Tidak cocok untuk proyek skala besar.
  • Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
  • Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
  • Resiko teknis yang tinggi juga kurang cocok untuk model ini.
  • Penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
  • Kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
  • Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
  • Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.


Dynamic System Development Method (DSDM)
Dynamic System Development Method (DSDM) Merupakan Metodologi Pengembangan Software yang dikembangkan oleh Konsorsium Vendor dan Para Expert dalam bidang pengembangan Sistem Informasi(IS) di United Kingdom pada tahun 1990 dan pertamakali go public pada tahun 1995. Metodologi ini merupakan pengembangan tahap lanjut dari metode Rapid Application Development (RAD) yang sangat menerapkan  metode incremental dan iteratif. metode ini sangat ideal digunakan ketika suatu software dituntut untuk sangat fokus dan mementingkan tampilan yang mudah dan aspek kegunaan yang baik dari produk tersebut.

DSDM memiliki 8 prinsip yang sangat penting dalam implementasinya. menyepelekan salah satunya akan merusak filosofi kerangka kerja dan meningkatkan resiko kegagalan.
  1. Fokus pada kebutuhan bisnis
  2. Memberikan tepat waktu
  3. Berkolaborasi
  4. Jangan kompromi soal kualitas
  5. Membangun secara bertahap
  6. Mengembangkan Iterasi
  7. Berkomunikasi terus menerus dan jelas
  8. Menunjukkan kontrol.
Manajemen proyek yang tradisional menggunakan "Milestones" dalam menandai pencapaiannya. DSDM berbeda, DSDM menggunakan teknik "Timeboxing" dalam menandai pencapainnya yang biasannya berjangka waktu 2,4 atau enam pekan. beberapa teknik utamanya adalah sebagai berikut :
  1. Timebox
  2. MoSCoW Rules
  3. Prototyping
Kelebihan (DSDM)
  • Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan
  • Membangun software dengan cepat
  • DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang sejalan dengan XP
Kelemahan (DSDM)
  • Setiap iterasi bergantung pada prototype sebelumya
  • Menentukan scope dari suatu prototype proyek tidak pernah selesai
  • Dokumentasi sering kali tidak lengkap fokus pada pembuatan prototype
  • Isu-isu mengenai system backup and recoverysystem performance dan system security kurang/tidak diperhatikan dan sering terlupakan


Extreme Programming Methodology

Extreme Programming adalah suatu model yang termasuk dalam pendekatan agile yang diperkenalkan oleh Kent Back. “Extreme Programming (XP) adalah metode pengembangan software yang cepat, efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan menyenangkan“. Model ini cenderung menggunakan pendekatan Object-Oriented. Tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing. Sasaran Extreme Programming adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat cepat.

Core Value Extreme Programming, yaitu:
  1. Komunikasi (Communication)
  2. Kesederhanaan (Simplicity)
  3. Umpan balik (Feedback)
  4. Keberanian (Courage).
Extreme Programming tepat untuk dipergunakan untuk pembuatan program yang:
  1. Membutuhkan perubahan yang cepat (misalnya: Game Mobile)
  2. Proyek beresiko tinggi dengan tantangan yang berat
  3. Tim programmer sedikit, yaitu sekitar 2–10 orang
  4. Adanya permintaan dari pelanggan secara langsung
Kelebihan Extreme Programming :
  • Meningkatkan kepuasan kepada klien
  • Pembangunan system dibuat lebih cepat
  • Menjalin komunikasi yang baik dengan client.
  • Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kelemahan Extreme Programming :
  • Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
  • XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.


Scrum Development Methodology

Scrum merupakan framework untuk manajemen pengembangan software dengan karakteristik cekatan dan bersifat iteratif dan incremental. Scrum mendefinisikan dirinya fleksible, strategi pengembangan yang menyeluruh di mana seluruh team bekerja sebagai satu unit dalam mencapai sebuah gol yang sama. Dalam menjalankan kerjasama antara anggota team, scrum menekankan lokasi fisik yang sama atau sarana online yang akrab antara semua member, dan juga pertemuan muka dengan muka setiap hari antara semua anggota team. Prinsip kunci dari scrum adalah memahami bahwa dalam project yang tengah berlangsung, klien mungkin mengubah apa yang menjadi kebutuhan dan keinginannya. Perubahan sulit diadaptasi oleh framework pengembangan aplikasi yang bersifat tradisional.  Scrum menerima perubahan ini dan memaksimalkan seluruh anggota team untuk menyesuaikan perubahan mendadak ini. Scrum mengadopsi permainan Rugby yang begitu mudah menyesuaikan diri semua anggota team setelah ada sedikit pelanggaran. Kemudian menyesuaikan diri inilah yang mengimpirasi scrum.
Scrum mempunyai 3 Role
  1. Product Owner
    Pengertian produk adalah tujuan dari proyek. Product Owner memastikan bahwa proyek berjalan sesuai yang diharapkan. Product Owner merupakan penjembatan antara client dengan team development. Product Owner akan menuliskan spesifikasi-spesifikasi sesuai cara pandang client, di lain pihak harus punya empati terhadap anggota team.
  2. Team Member
    Dilihat dari namanya jelas yaitu anggota-anggota team.
  3. Scrum Master
    Scrum Master akan mencegah hal-hal yang mengalihkan focus team. Scrum master akan membuat suasana kondusif supaya team dapat bekerja sama dalam mencapai goal.
Proses penting dalam Scrum antara lain:
  • Backlog refinement
  • Sprint planning
  • Daily Scrum
  • Sprint review meeting
  • Sprint retrospective meeting
Kelebihan scrum
  • Keperluan berubah dengan cepat.
  • Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain.
  • Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat.
  • Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun.
  • Proses Scrum mampu menyatakan bahwa produk selesai kapan pun diperlukan.
Kekurangan scrum
  • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  • Lemah dalam perencanaan arsitektur


Lokasi:

Total comment

Author

Noga
Sistem operasi atau yang juga dikenal dengan istilah Operating System (OS) adalah salah satu perangkat lunak atau software yang bertanggung jawab mengatur atau mengontrol kerja perangkat keras atau hardware dan menjalankan aplikasi atau software didalam suatu sistem komputer. Dan kali ini saya akan membahas 5 OS FAVORIT  VERSI KIDS JAMAN NOW.


macOS
macOS, Macintosh Operating System.atau yang sebelumnya disebut OS X, adalah antarmuka grafikal sistem operasi yang dikembangkan dan disebarkan oleh Apple Inc. Sistem operasi ini pertama kali dikeluarkan pada tahun 2001 dan populer di kalangan penggunaMac OS merupakan sistem operasi pertama yang menggunakan Graphical User Interface – GUI. Mac OS X menggunakan kernel BSD sehingga beberapa kalangan mengatakan bahwa Mac OS X termasuk dalam keluarga Unix. Dan baru- baru ini Apple telah merilis sistem operasi terbaru untuk komputer Mac dan laptop MacBook yang diberi nama macOS High Sierra


       Anda dapat melakukan banyak hal di Mac yang tidak dapat Anda lakukan di komputer lain. Karena Mac dirancang khusus untuk perangkat keras yang menggunakannya  — dan sebaliknya. macOS dilengkapi dengan keseluruhan rangkaian aplikasi yang didesain dengan indah. macOS bekerja sama dengan iCloud untuk terus memperbarui foto, dokumen, dan file lain pada semua perangkat Anda. Menjadikan Mac Anda bekerja begitu sempurna dengan iPhone Anda. Dan telah dirancang sejak awal dengan mengutamakan privasi dan keamanan. 

Kelebihan:

  • “Time Machine”, aplikasi yang berfungsi untuk membackup system dan perubahan data secara otomatis.
  • “Sherlock”, aplikasi yang bisa mencari data harddisk, jaringan LAN dan Internet secara keyword.
  • Sangat sulit terserang virus, malware, maupun spyware.
  • Tampilan lebih glossy dan elegan, cocok untuk desain/multimedia– Shutdown yang sangat cepat. waktu untuk shutdown hanya dibutuhkan 3 – 4 detik.
  • Bisa mengenal file format windows.




LINUX

Linux adalah sistem operasi berbasis UNIX. Dikatakan demikian karena Linux dikembangkan berdasarkan standar yang dimiliki oleh UNIX, dengan kata lain Linux ini merupakan turunan dari UNIX. Linus Trovalds adalah pembuat atau bisa dibilang sosok dibalik sistem operasi ini. Nama Linux diambil sendiri diambil dari nama  Beliau, yang diperkenalkan sekitar tahun 1991. Linux merupakan sistem operasi yang bersifat multi user dan multi tasking. Artinya lebih dari satu user dapat masuk ke Linux yang sama pada waktu yang sama dan aplikasi yang berbeda. Linux juga multi-tasking, artinya user dapat mengeksekusi lebih dari satu proses (program) pada waktu yang sama.

Linux menggunakan sebuah license yang bernama GNU General Public License(GNU/GPL). Singkatnya GNU General Public License memungkinkan suatu aplikasi ( termasuk sistem operasi ) secara bebas digunakan dan disebarluaskan dimana pengguna/penerima software berhak menerima kode asal ( source code) dari aplikasi tersebut beserta semua hak yang diijinkan oleh penulis asli.

Kelebihan:
  • Aman terhadap serangan virus.
  • Mempunyai sistem keamanan yang lebih baik dibandingkan dengan windows.
  • Dukungan dari komunitas yang sangat banyak.
  • Linux bisa berinterksi dengan sistem operasi yang lain.
  • Adanya virtual memory (SWAP) yang akan membuat sistem operasi linux ini dapat menjalankan program yang besar dalam waktu yang bersamaan.
  • Linux lebih stabil dibandingkan dengan windows.



WINDOWS

Microsoft Windows atau lebih dikenal dengan sebutan Windows adalah keluarga sistem operasi komputer pribadi yang dikembangkan oleh Microsoft yang menggunakan antarmuka dengan pengguna berbasis grafik (graphical user interface). Windows mayoritas sudah di-bundling pada komputer (PC) baru sehingga 
Windows menjadi sistem operasi yang paling populer di dunia. 

Microsoft merilis versi pertama Windows di pertengahan tahun 1980. Banyak versi Windows lainnya yang telah dirilis sejak saat itu, termasuk beberapa versi Windows yang terbaru yaitu Windows 10 (2015), Windows 8 (2012), Windows 7 (2009), Windows Vista (2007), dan Windows XP (2001).

Kelebihan:
  • GUI yang familiar sehingga pengguna lebih nyaman berada didepan layar monitor.
  • dukungan perangkat dari driver yang lebih baik.
  • Banyak aplikasi kantor yang kompatibel dengan windows.
  • Mudah untuk digunakan, karena para pengguna sudah terbiasa dengan tampilan windows.


ANDROID

Android adalah sistem operasi berbasis kernel Linux yang pada awalnya dikembangkan oleh Android, Inc, yang didukung Google finansial dan kemudian dibeli pada tahun 2005. Android merupakan sistem operasi yang memang khusus dirancang untuk smartphone dan tablet. Android merupakan sistem operasi yang terbuka (open source) yang mana berarti jika pihak Google memperbolehkan dan membebaskan bagi pihak manapun untuk dapat mengembangkan sistem operasi tersebut.

Google juga telah mengembangkan Android TV untuk televisi, Android Auto untuk mobil, dan Android Wear untuk jam tangan, masing-masingnya memiliki antarmuka pengguna yang berbeda. Varian Android juga digunakan pada komputer jinjingkonsol permainankamera digital, dan peralatan elektronik lainnya.

Kelebihan:
  • User Friendly.
  • Anda akan sangat mudah mendapat beragam notifikasi dari smartphone anda. 
  • Keunggulan lainnya terdapat dari segi tampilan sistem Android yang menarik dan tidak kalah baiknya dengan iOS. 
  • Sistem operasi ini memang memiliki konsep open source yang mana pengguna dapat bebas mengembangkan sistem android versi milikinya sendiri.
  • Tersedia beragam pilihan aplikasi menarik, bahkan hingga jutaan aplikasi.


IOS
iOS (sebelumnya iPhone OS) adalah sistem operasi perangkat bergerak yang dikembangkan dan didistribusikan oleh Apple Inc. Sistem operasi ini pertama diluncurkan tahun 2007 untuk iPhone dan iPod Touch, dan telah dikembangkan untuk mendukung perangkat Apple lainnya seperti iPad dan Apple TViOS diturunkan dari OS X, yang memiliki fondasi Darwin dan karena itu iOS merupakan sistem operasi Unix

iOS adalah versi bergerak dari sistem operasi OS X yang dipakai di komputer-komputer Apple. Di iOS, ada empat lapisan abstraksi, yaitu Core OS, Core Services, Media, dan Cocoa Touch. Versi terbaru sistem operasi ini (iOS 7) menyisihkan 1,5 s.d. 2 GB memori perangkat bergerak untuk partisi sistem dengan memakai 800 MB partisi (tergantung model) untuk iOS-nya saja.

Kelebihan:
  • Jumlah Aplikasi dan games terbanyak dibanding OS smartphone lain.
  • Punya kontrol ketat terhadap kualitas aplikasi yang ada di apps store.
  • Performa & kualitas menjalankan aplikasi/games lebih bagus dibanding smartphone dengan OS lainnya.
  • Device-device lama bisa mendapat update OS walau secara hardware jauh tertinggal.
  • Pelopor could computing (media penyimpanan data secara online).
  • Garansi device internasional
  • Harga jual kembali lebih stabil.

Lokasi:

Total comment

Author

Noga