Rabu, 27 November 2019

Data Flow Diagram (DFD) merupakan suatu cara atau metode untuk membuat rancangan sebuah sistem yang mana berorientasi pada alur data yang bergerak pada sebuah sistem nantinya.

DFD (Data Flow Diagram)


Data Flow Diagram (DFD) merupakan suatu cara atau metode untuk membuat rancangan sebuah sistem yang mana berorientasi pada alur data yang bergerak pada sebuah sistem nantinya. Dalam pembuatan Sistem Informasi, DFD sering digunakan. DFD dibuat oleh para analis untuk membuat sebuah sistem yang baik. Dimana DFD ini nantinya diberikan kepada para programmer untuk melakukan proses coding. Dimana para programmer melakukan sebuah coding sesuai dengan DFD yang dibuat oleh para analis sebelumnya. Tools yang digunakan pada pembuatan DFD (Data Flow Diagram) yaitu EasyCase, Power Designer 6. Salah satu cara lain untuk mendesain sistem yaitu menggunakan UML(Unified Manual Language).

Komponen DFD (Data Flow Diagram):

1. User / Terminator: Kesatuan diluar sistem (external entity) yang memberikan input ke sistem atau menerima output dari sistem berupa orang, organisasi, atau sistem lain.

2. Process: Aktivitas yang mengolah input menjadi output.

3. Data Flow: Aliran data pada sistem (antar proses, antara terminator & proses, serta antara proses & data store).

4. Data Store: Penyimpanan data pada database, biasanya berupa tabel.


Didalam DFD terdapat 3 level, yaitu :

1. Diagram Konteks : menggambarkan satu lingkaran besar yang dapat mewakili seluruh proses yang terdapat di dalam suatu sistem. Merupakan tingkatan tertinggi dalam DFD dan biasanya diberi nomor 0 (nol). Semua entitas eksternal yang ditunjukkan pada diagram konteks berikut aliran-aliran data utama menuju dan dari sistem. Diagram ini sama sekali tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan.

                
2. Diagram Nol (diagram level-1) : merupakan satu lingkaran besar  yang mewakili lingkaran-lingkaran kecil yang ada di dalamnya. Merupakan pemecahan dari diagram Konteks ke diagram Nol. di dalam diagram ini memuat penyimpanan data.


3. Diagram Rinci : merupakan diagram yang menguraikan proses apa yang ada dalam diagram Nol.


Fungsi DFD

Fungsi dari Data Flow Diagram adalah :

  • Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
  • DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem.
  • DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.



Sumber:http://duniasisteminformasi.blogspot.com/2011/04/pengertian-dfd-data-flow-diagram.html

http://7enius.wordpress.com/2012/03/11/pengertian-fungsi-dan-contoh-dari-data-flow-diagramdfd/


UML adalah UML merupakan singkatan dari “Unified Modelling Language” yaitu suatu metode permodelan secara visual untuk sarana perancangan sistem berorientasi objek, atau definisi UML yaitu sebagai suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga pendokumentasian sistem software

UML (Unified Modelling Language)



Pengertian UML 

UML adalah UML merupakan singkatan dari “Unified Modelling Language” yaitu suatu metode permodelan secara visual untuk sarana perancangan sistem berorientasi objek, atau definisi UML yaitu sebagai suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga pendokumentasian sistem software. Saat ini UML sudah menjadi bahasa standar dalam penulisan blue print software.

Tujuan atau fungsi dari penggunaan UML

Inilah beberapa tujuan atau fungsi dari penggunaan UML, yang diantaranaya:


  • Dapat memberikan bahasa permodelan visual kepada pengguna dari berbagai macam pemerograman maupun proses rekayasa.
  • Dapat menyatukan praktek-praktek terbaik yang ada dalam permodelan.
  • Dapat memberikan model yang siap untuk digunakan, merupakan bahasa permodelan visual yang ekspresif untuk mengembangkan sistem dan untuk saling menukar model secara mudah.
  • Dapat berguna sebagai blue print, sebab sangat lengkap dan detail dalam perancangannya yang nantinya akan diketahui informasi yang detail mengenai koding suatu program.
  • Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya digunakan untuk memodelkan perangkat lunak (software) saja.
  • Dapat menciptakan suatu bahasa permodelan yang nantinya dapat dipergunakan oleh manusia maupun oleh mesin.


Jenis-jenis Diagram UML, yaitu :

1.  Use Case Diagram


          Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai.

 Diagram Use Case berguna dalam tiga hal :

• Menjelaskan fasilitas yang ada (requirement)
• Komunikasi dengan klien
• Membuat test dari kasus-kasus secara umum

2.  Activity Diagram


            Activity diagram menyediakan analis dengan kemampuan untuk memodelkan proses dalam suatu sistem informasi. Activity diagram dapat digunakan untuk alur kerja model, use case individual, atau logika keputusan yang terkandung dalam metode individual3. Activity diagram juga menyediakan pendekatan untuk proses pemodelan paralel. Activity diagram lebih lanjut .
            Pada dasarnya, diagram aktifitas canggih dan merupakan diagram aliran data yang terbaru. Secara teknis, diagram aktivitas menggabungkan ide-ide proses pemodelan dengan teknik yang berbeda termasuk model acara, statecharts, dan Petri Nets.

3. Package Diagram



            Package diagram utamanya digunakan untuk mengelompokkan elemen diagram UML yang berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram paket pada dasarnya adalah diagram kelas yang hanya menampilkan paket, disamping kelas, dan hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada diagram kelas.
            Sebagai contoh, jika kita memiliki sistem pendaftaran untuk kantor dokter, mungkin masuk akal untuk kelompok kelas pasien dengan kelas sejarah medis pasien bersama-sama untuk membentuk paket kelas pasien. Selain itu, dapat berguna untuk membuat paket perawatan yang mengandung gejala penyakit, penyakit, dan obat-obatan khas yang diresepkan untuk mereka.

4. State Machines Diagram


Statechart diagram digunakan untuk memodelkan perilaku dinamis satu kelas atau objek. Statechart diagram memperlihatkan urutan keadaan sesaat (state) yang dilalui sebuah objek, Kejadian yang menyebabkan sebuah transisi dari suatu state atau aktivitas kepada yang lainnya.
            Statechart diagram khusus digunakan untuk memodelkan tahap-tahap diskrit dari sebuah siklus hidup objek, sedangkan Activity diagram paling cocok untuk memodelkan urutan aktifitas dalam suatu proses.

5. Sequence Diagram


            Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.



6. Class Diagram


            Tujuan utama dari class diagram adalah untuk menciptakan sebuah kosa kata yang digunakan oleh analis dan pengguna. Diagram kelas biasanya merupakan hal-hal, ide-ide atau konsep yang terkandung dalam aplikasi. Misalnya, jika anda sedang membangun sebuah aplikasi penggajian, diagram kelas mungkin akan berisi kelas yang mewakili hal-hal seperti karyawan, cek, dan pendaftaran gaji. Diagram kelas juga akan menggambarkan hubungan antara kelas.
Class memiliki 3 area pokok :
1. Name (dan stereotype);
2. Attribute;
3. Method.



7. Communication Diagram


            Collaboration diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki Nomor 1. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.


8. Composite Structure Diagram


            Diagram struktur komposit adalah diagram yang menunjukan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari system. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifier. Diagram struktur komposit merupakan jenis diagram struktur yang statis dalam UML, yang menggambarkan struktur internal kelas dan kolaborasi.
Struktur komposit dapat digunakan untuk menjelaskan:
- Struktur dari bagian-bagian yang saling berkaitan;
- Run-time struktur yang saling berhubungan.



9. Object Diagram


            Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah system pada satu titik waktu. Karena lebih menonjolkan perintah-perintah dari pada class, object diagram lebih sering disebut sebagai sebuah diagram perintah.



10. Timing Diagram


            Timing Diagram adalah bentuk lain dari interaction diagram, dimana focus utamanya lebih ke waktu. Timing diagram sangat berdaya guna dalam menunjukkan factor pembatas waktu diantara perubahan state pada objek yang berbeda.


11. Component Diagram


            Diagram ini bila dikombinasikan dengan diagram penyebaran dapat digunakan untuk menggambarkan distribusi fisik dari modul perangkat lunak melalui jaringan. Misalnya, ketika merancang sistem client-server, hal ini berguna untuk menunjukkan mana kelas atau paket kelas akan berada pada node klien dan mana yang akan berada di server.
            Diagram komponen juga dapat berguna dalam merancang dan mengembangkan sistem berbasis komponen. Karena berfokus pada analisis sistem berorientasi objek dan desain.


12. Deployment Diagram


            Deployment diagram menggambarkan detail bagaimana komponen di deploy dalam infrastruktur system, dimana komponen akan terletak (pada mesin, server atau piranti keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Hubungan antar node ( misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.



13. Interaction Overview Diagram


            Interaction Overview Diagram adalah pecangkolan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan.


sumber :
https://faris6593.blogspot.co.id/2013/05/uml-unified-modeling-language-dan-13.html
http://www.pengertianku.net/2015/09/pengertian-uml-dan-jenis-jenisnya-serta-contoh-diagramnya.html
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-package-diagram/
https://en.wikipedia.org/wiki/Object_diagram
https://www.uml-diagrams.org/website-latency-uml-timing-diagram-example.html

Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.

Flowchart

Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.

Berikut ini adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :




















Flowchart terbagi atas lima jenis, yaitu :

  1. Flowchart Sistem (System Flowchart)
  2. Flowchart Flowchart Dokumen (Document Flowchart)
  3. Flowchart Skematik (Schematic Flowchart)
  4. Flowchart Program (Program Flowchart)
  5. Flowchart Proses (Process Flowchart)


  • Flowchart Sistem

Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem.

gambar simbol flowchart sistem





contoh bagan flowchart sistem



Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).


  • Flowchart Dokumen

Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya. Bagan alir dokumen ini menggunakan simbol-simbol yang sama dengan yang digunakan di dalam bagan alir sistem.

gambar simbol flowchart dokumen


gambar bagan flowchart dokumen



  • Flowchart Skematik

Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.

gambar simbol flowchart skematik



gambar bagan flowchart skematik





  • Flowchart Program

Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alir logika program ini dipersiapkan oleh analis sistem.

gambar simbol dari flowchart  program

gambar bagan dari flowchart program





  • Flowchart Proses

Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Bagan alir proses menggunakan lima buah simbol tersendiri seperti terlihat pada tabel di bawah ini.

gambar simbol flowchart proses
 gambar bagan flowchart proses




Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form.
Jenis flowchart dan perbedaanya
 Flowchart adalah sekumpulan gambar – gambar tertentu untuk menyatakan alur dari suatu program yang akan diterjemahkan ke salah satu bahasa pemrograman. Kegunaan flowchart sama seperti halnya algoritma yaitu untuk menuliskan alur program tetapi dalam bentuk gambar atau symbol.


Flowchart dibagi menjadi dua (2) bagian, yaitu :

1. Flowchart yang menggambarkan alur suatu sistem
2. Flowchart yang menggambarkan alur dari suatu program.

Pengertian Entity Relationship Diagram (ERD) dan contoh kasus

Entity Relationship Diagram (ERD) dan Contoh Kasus


Pengertian Entity Relationship Diagram (ERD)
Menurut salah satu para ahli, Brady dan Loonam (2010), Entity Relationship diagram (ERD) merupakan teknik yang digunakan untuk memodelkan kebutuhan data dari suatu organisasi, biasanya oleh System Analys dalam tahap analisis persyaratan proyek pengembangan system. Sementara seolah-olah teknik diagram atau alat peraga memberikan dasar untuk desain database relasional yang mendasari sistem informasi yang dikembangkan. ERD bersama-sama dengan detail pendukung merupakan model data yang pada gilirannya digunakan sebagai spesifikasi untuk database.

Apakah komponen yang terbentuk didalam Entity Relationship Diagram (ERD)?

Dalam pembentukan ERD terdapat 3 komponen yang akan dibentuk yaitu :

A. Entitas

Pada post sebelumnya mengenai basis data telah dijelaskan sedikit tentang pengertian entity (entitas) yaitu suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Pengertian lainnya menurut Brady dan Loonam (2010), entitas adalah objek yang menarik di bidang organisasi yang dimodelkan.

Contoh : Mahasiswa, Kartu Anggota Perpustakaan (KAP), dan Buku.

B.  Hubungan (relasi/relationship)

Suatu hubungan adalah hubungan antara dua jenis entitas dan direpresentasikan sebagai garis lurus yang menghubungkan dua entitas.

Contoh : Mahasiswa mendaftar sebagai anggota perpustakaan (KAP), relasinya adalah mendaftar.

C.  Atribut

Atribut memberikan informasi lebih rinci tentang jenis entitas. Atribut memiliki struktur internal berupa tipe data. Jenis-jenis atribut :

  •     Atribut Key
Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data ( Row/Record ) dalam tabel secara unik. Dikatakan unik jika pada atribut yang dijadikan key tidak boleh ada baris data dengan nilai yang sama

Contoh : Nomor pokok mahasiswa (NPM), NIM dan nomor pokok lainnya

  •     Atribut simple
atribut yang bernilai atomic, tidak dapat dipecah/ dipilah lagi

Contoh : Alamat, penerbit, tahun terbit, judul buku.

  •    Atribut Multivalue
nilai dari suatu attribute yang mempunyai lebih dari satu (multivalue) nilai dari atrribute yang bersangkutan

Contoh : dari sebuah buku, yaitu terdapat beberapa pengarang.

  •     Atribut Composite
Atribut composite adalah suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu yang masih bisah dipecah lagi atau mempunyai sub attribute.

Contoh : dari entitas nama yaitu nama depan, nama tengah, dan nama belakang

  •     Atribut Derivatif
Atribut yang tidak harus disimpan dalam database Ex. Total. atau atribut yang dihasilkan dari atribut lain atau dari suatu relationship. Atribut ini dilambangkan dengan bentuk oval yang bergaris putus-putus

Derajat relasi atau kardinalitas rasio

Menjelaskan jumlah maksimum hubungan antara satu entitas dengan entitas lainnya

  •     One to One (1:1)
  Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.
  •     One to many (1:M / Many)
    Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
  •     Many to Many (M:M)
    Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B dan demikian pula sebaliknya

Simbol-simbol untuk membuat diagram ERD:

Contoh Kasus 1 :

Pada saat mendaftar menjadi anggota perpustakaan Fakultas, dicatatlah nama, nomor mahasiswa dan alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku, judul, pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang. Tentukan entitas, atribut dan relasi dari deskripsi di atas, dengan menggambar ERDnya.

Jawab:

Entitas : Mahasiswa, KAP (Kartu Anggota Perpustakaan), Buku

Atribut : Nama, no.mahasiswa, Alamat mahasiswa, No.buku, Judul, Pengarang, Penerbit dan tahun terbit.

Relasi : Daftar dan Pinjam

Gambar ERD dalam peminjaman buku di perpustakaan:
MODEL ENTITY – RELATIONSHIP
Model Entity Relationship : Suatu penyajian data dengan menggunakan Entity dan Relationship
Entity :

Objek secara fisik : Buku, Perpustakaan, Mahasiswa
Objek secara konsep : Meminjam

Relationship :
 Atribut :

    Atribut Multivalue:



Derajat dari Relationship :

    Trenary degree (Derajat Tiga)

Cardinality Ratio Constraint

    M : N


 Participation Constraint

    Partial Participation

Diagram ERD


Contoh Kasus 2 :
Seperti soal nomor 2, namun ada beberapa tambahan penjelasan seperti berikut : Mahasiswa kadang-kadang terlambat mengembalikan buku, sehingga dikenakan denda. Besarnya denda adalah Rp 500,- per hari keterlambatan. Mahasiswa dianggap terlambat jika mengembalikan buku lebih lama dari 1 minggu.

Gambarkan ERDnya:



Saya ucapkan terimakasih sudah datang di blog saya.
dan jika terdapat kesalahan atas materi yang saya bahas diatas saya meminta maaf, dan tolong isi kolom komentar setelah anda membacanya agar tulisan saya lebih baik lagi dan semoga bermanfaat

TERIMA KASIH


SUMBER:https://herlinnairine.wordpress.com

Senin, 25 November 2019

MODEL PROSES REKAYASA PERANGKAT LUNAK

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak.  Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada Gambar dibawah. 




Setiap model yang dikembangkan mempunyai karakteristik sendirisendiri. 
Namun secara umum ada persamaan dari model-model ini, yaitu: 

  • Kebutuhan terhadap definisi masalah yang jelas.  Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas.Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah.
  •  Tahapan-tahapan pengembangan yang terorganisir.  Meskipun modelmodel pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing - maintenance. 
  • Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan.  Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut
  • Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak.  Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.  
  • Outcome dari proses pengembangan perangkat lunak harus bernilai ekonomis.  Nilai dari sebuah perangkat lunak sebenarnya agak susah dirupiah-kan.  Namun efek dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi.  Hal ini dapat berupa penurunan biaya operasi, efisiensi penggunaan sumberdaya, peningkatan keuntungan organisasi, peningkatan “image” organisasi dan lain-lain. 

Ada banyak model pengembangan perangkat lunak, antara lain The Waterfall Model, Joint Application Development (JAD), Information Engineering (IE), Rapid Application Development (RAD) termasuk di dalamnya Prototyping, Unified Process (UP), Structural Analysis and Design (SAD) dan Framework for the Application of System thinking (FAST).  kali ini akan dibahas lima model proses yaitu The Waterfall Model, Model RAD (Rapid Application Development),  Model Prototype, Model Spiral dan Model Teknik Generasi ke-4/4GT. 

1. The waterfall model 

Pada model Waterfall atau disebut  model air terjun, ada beberapa fase yang harus kita terapkan,yaitu:

  1. Analisi kebutuhan lalu pendefenisiannya
  2. Perancangan Sistem dan Perangkat lunaknya
  3. Implementasi dan unit testing
  4. Integrasi dan pengujian sistem
  5. Pengoprasian dan persawatan

Dimana sebuah proses akan kembali ke state sebulumnya agar tidak ada perubahan setelah proses menuju state di bawahnya sebab sangat sulit.

Proses waterfall dapat di gambarkan sebagai berikut :


  • Pertama: Analisis dan Definisi Persyaratan melingkupin Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user sistem.

  • Kedua: Perancangan sistem dan Perangkat Lunak  melingkupin  Proses perancangan sistem membagi persyaratan dalam sistem perangkat keras atau perangkat lunak,lalu menentukan arsitektur sistem secara keseluruhan.

  • Ketiga: Implementasi dan pengujian unit : Perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya.

  • Keempat: Integrasi dan Pengujian Sistem dimana Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah dipenuhi. Nah yang terakhir yaitu

  • Kelima : Operasi dan Pemeliharaan  Biasanya sih merupakan fase siklus yg paling lama (walaupun tidak seharusnya).dimana Sistem diinstall dan di pakai. Pemeliharaan pun mencakup koreksi dan berbagai error yg tdk ditemukan pada tahap-tahap sebelumnya, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem.

Kekurangan Model Waterfall:

  •  Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen   harus dilakukan pada tahap awal proses. 
  •  Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user).
  •  Model air terjun harus digunakan hanya ketika persyaratan dipahami dengan baik.

Kelebihan Model Waterfall:

  • Bisa digunakan jika suatu persyaratan untuk membuat suatu software sudah dipahami dengan baik dan sudah lengkap semua persyaratan yang ada.

2. Model RAD (Rapid Application Development)

  • RAD adalah model proses pembangunan perangkat lunak yang incremental.
  • RAD menekankan pada siklus pembangunan yang pendek/singkat.
  • RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction.
  • Pada model ini waktu yang singkat yang di gunakan pada model tsb.
  • Jika kebutuhan lengkap dan jelas maka waktu yang diperlukan kira2 60 sampai 90 hari.
Model RAD dapat di gambarkan sebagai berikut :



  • Business modelling : berfungsi menjawab pertanyaan-pertanyaan seperti informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi?Penjelasan gambarnya mungkin seperti ini
  • Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. karakteristik/atribut dan hubungan antar objek-objek tersebut à analisis kebutuhan dan data
  • Process Modelling : objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis.
  •  Application Generation: RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan.
  • Testing and Turnover: karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji.

Begitu juga Model ini mempunyai kelemahan dan kelebihannya:

Kelemahan model RAD:

  • Sangat Tidak cocok untuk proyek skala besar
  • Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi

Kelebihan model RAD:

  • Lebih efektif dari pendekatan air terjun dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
  • Cocok untuk proyek yang memerlukan waktu yang singkat.

3. Model Prototype

Metode prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu

Model prototype dapat di gambarkan sebagai berikut :


  •  User merasa prototipe merupakan PL yang sesungguhnya, padahal ketika membuat prototipe belum disertakan kualitas PL secara keseluruhan / kemampuan pemeliharaan untuk jangka panjang
  •  Developer sering membuat kompromi-kompromi implementasi untuk membuat prototipe bekerja dengan cepat sehingga akan ditemui ketidakcocokan pada prototipe ketika prototipe dibangun dengan bahasa yang sederhana
  • Program dibuat ulang / prototipe selalu baru

Mengacu pada pemilahan fungsi yang harus ditampilkan oleh prototyping. Pemilahan harus selalu dilakukan berdasarkan pada tugas-tugas yang relevan yang sesuai dengan contoh kasus yang akan diperagakan

Jenis-Jenis 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 system informasi yang akan digunakan.
  • Implementation prototyping – merupakan lanjytan dari rancangan protipe, prototype ini langsung disusun sebagai suatu system informasi yang akan digunakan.

Adapun keunggulan dan kelemahan dalam model prototype:

Keunggulan Prototyping:

  • user dapat berpartisipasi aktif
  • Penentuan kebutuhan lebih mudah diwujudkan
  • Mempersingkat waktu pengembangan SI

Kelemahan Prototyping :

  • Proses analisis dan perancangan terlalu singkat
  • Mengesampingkan alternatif pemecahan masalah
  • Bisanya kurang fleksible dalam mengahadapi perubahan
  • Prototype yang dihasilkan tidak selamanya mudah dirubah
  • Prototype terlalu cepat selesai.

4. Model Spiral

Model ini cukup baru ditemukan,yaitu tahun 1988 oleh Barry Boehm. Spiral adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistematis yang dikembangkan model waterfall.

Model spiral dapat di gambarkan sebagai berikut :





Spiral model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task regions. Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas. Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model:

  1. Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer. 
  2. Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.
  3. Analysis risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model.
  4. Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal.
  5. Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software.
  6. Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release.

Berikut adalah gambar dari spiral model secara umum 

Adapun beberapa Kelebihan dan Kelemahan Model Spiral yang ada:

Kelebihan model Spiral :
  •  Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
  •  Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
  •  Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap   tingkat evolusi karena perangkat lunak terus bekerja selama proses .

Kelemahan model Spiral:

  •  Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
  • Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
  • Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

5. Fourth Generation Techniques/Model Teknik Generasi ke-4/4GT

Istilah Fourth Generation Techniques (4GT) mencakup seperangkat peralatan perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang pengembang software mengaplikasi beberapa karakteristik software pada tingkat yang tinggi, yang akan menghasilkan source code dan object code secara otomatis sesuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh sang pengembang perangkat lunak.



4GT tools dipakai sebagai bahasa non prosedur untuk DataBase Query, Pembentukan laporan (Report Generation), Manipulasi data, Definisi dan interaksi layar (screen), Pembentukan object dan source (Object and source generation ), Kemampuan grafik yang tinggi, dan Kemampuan spreadsheet.

Tahapan-tahapan model 4GT dapat diringkas sebagai berikut.

  • Tahap Pengumpulan Kebutuhan: tahap ini dimulai dengan mengumpulkan serangkaian kebutuhan yang nantinya akan diterjemahkan ke dalam prototipe. Namun, apabila pelanggan tidak yakin dengan apa yang diperlukan dan fakta-fakta tidak jelas diketahui maka prototipe tidak dapat dikerjakan oleh peralatan 4GT.
  • Tahap Merancang Strategi: tahap ini dibutuhkan untuk proyek besar yakni dengan menterjemahkan kebutuhan menjadi prototipe operasional  agar tidak timbul masalah yang sama jika dibuat dengan model konvensional. Namun, untuk proyek skala kecil tahap ini dapat dihilangkan dengan  langsung melakukan implementasi dengan menggunakan bahasa generasi keempat (4GT).
  • Tahap Implementasi Menggunakan Bahasa Keempat: untuk skala kecil tahap ini dapat langsung dilakukan ketika kebutuhan telah jelas, dan untuk proyek besar tahapan ini dijalankan setelah dirancang prototipe operasional. Implementasi yang menggunakan 4GT memudahkan pengembang software untuk menjelaskan hasil yang diharapkan yang nantinya akan diterjemahkan ke dalam bentuk kode sumber dan kode objek.
  • Tahap Produksi: Tahap ini merupakan langkah terakhir yakni mengubah implementasi  4GT ke dalam hasil akhir berupa produk.

Kelebihan 

  • pengurangan waktu dan peningkatan produktivitas yang besar.

Kekurangan 

  • kemungkinan akan sulit memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan menggunakan bahasa pemrograman yang konvensional, selain itu terdapat juga masalah dalam hal kode sumber yang tidak efisien. Di samping itu, pemeliharaan sistem software besar yang dikembangkan oleh 4GT juga masih sedang dalam proses pengkajian.

SUMBER : https://mybiodatakarina.wordpress.com/2016/01/20/model-model-proses-rekayasa- perangkat-lunak/
MODUL RPL SMK


METODE RPL (SDLC)
   
SDLC (Software Development Life Cycle) adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan untuk mengembangkan sistem-sistem perangkat lunak sebelumnya.
Tahapan-tahapan yang ada pada SLDC adalah Inisiasi, Pengembangan Konsep Sistem, Perencanaan, Analisis Kebutuhan, Desain, Pengembangan, Integrasi dan Pengujian, Implementasi, Operasi dan Pemeliharaan, dan Disposisi.

Model  Waterfall

  Model SDLC Waterfall (Air Terjun) sering juga disebut model sekuensial linier atau alur hidup klasik. Model ini menyediakan pendekatan aalur hidup perangkat lunak secara sekuensial atau terurut dimulai dari definisi kebutuhan dan analisis, rancang sistem, implementasi dan unit testing, integrasi dan sistem testing, dan operasi dan perawatan.

     Kelebihan model Waterfall (Air Terjun)  :

  •  Merupakan model pengembangan paling handal dan paling lama       digunakan.
  •  Cocok untuk system software berskala besar.
  •  Cocok untuk system software yang bersifat generic.
  • Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.


     Dari kenyataan yang terjadi sangat jarang model ini dapat dilakukan sesuai alurnya karena sebab berikut:


  1.  Perubahan spesifikasi perangkat lunak terjadi di tengah alur pengembangan.
  2. Sangat sulit bagi pelanggan untuk mendefinisikan semua spesifikasi di awal alur pengembangan. Pelanggan sering kali butuh contoh untuk menjabarkan spesifikasi kebutuhan sistem lebih lanjut.
  3. Tahapan proyek banyak mengalami iterasi/pengulangan.
  4. Tidak sequential (terurut).
  5. Bentuk kerja terlihat lambat.
  6. Pelanggan tidak mungkin bersabar mengakomodasi perubahan yang diperlukan di akhir alur pengembangan.
  7. Kesalahan di awal tahap berakibat fatal.


      Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai sebelum mengerjakan fase berikutnya.
Merupakan model pengembangan system yang paling mudah dan paling sering digunakan. Model pengembangan ini bersifat linear dari tahap awal pengembangan system yaitu tahap perencanaan sampai tahap akhir pengembangan system yaitu tahap pemeliharaan. Tahapan berikutnya tidak akan dilaksanakan sebelum tahapan sebelumnya selesai dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya.

     Model ini sangat cocok digunakan kebutuhan pelanggan sudah sangat dipahami dan kemungkinan terjadinya perubahan kebutuhan selama pengembaangan perangkat lunak kecil. Hal positif dari model ini adalah dokumentasi dihasilkan setiap tahap pengembangan, dan sebuah tahap dijalankan setelah tahap sebelumnya selesai dijalankan.

System/ Information Engineering
>Analisis
>Spesifikasi kebutuhan sistem
>Pengodean
>Pengujian
>Pengembang Sistem
>Implementasi dan pemeliharaan sistem

a).Analisis

Analisis kebutuhan perangkat lunak
Diuraikan tentang:
- Kemampuan
- Batasan
- Tujuan

b). Spesifikasi kebutuhan sistem
Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang dibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek sistem

c). Pengodean
Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain.

d). Pengujian
Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan dan memastikan keluaran yang dilakukan sesuai dengan yang diinginkan.

e). Pengembang Sistem
Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis program yang diperlukan

e). Implementasi  dan  pemeliharaan sistem
Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang telah dibuat

Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun secara umum adalah sama. Langkah tersebut adalah

1. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan

2. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang dibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek sistem

3. Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desain pemrograman yang diperlukan untuk pengembangan sistem informasi

4. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis program yang diperlukan

5. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat

6. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang telah dibuat

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.


SUMBER:

http://download.uniku.ac.id/materi/RPL/REKAYASA%20PERANGKAT%20LUNAK.pdf
S, Asriani Rosa dan M. Shalahuddin. 2011. Modul Pembelajaran Rekayasa Perangkata Lunak ( Terstruktur dan Berosientasi Objek ). Bandung: Modula.



CARA MENANGANI SUATU MASALAH DAN SEBUAH SOLUSI

CARA  MENANGANI SUATU MASALAH  DAN SEBUAH SOLUSI

Pengertian Masalah

Masalah adalah perbedaan antara kondisi yang terjadi dengan kondisi yang diharapkan atau boleh juga diartikan sebagai perbedaan antara kondisi sekarang dengan tujuan yang diinginkan.
Sedangkan Gejala adalah tanda /petunjuk terjadinya suatu masalah.

Tipe-tipe masalah:

1.    Masalah pemenuhan standar
Tipe masalah dalam kelompok ini adalah masalah yang berhubungan dngn pencapaian standar yang telah ditentukan dalam sebuah organisasi. Biasanya tujuan seperti ini berlaku dalam jangka yang relative panjang. Contoh: dalam pembuatan software dibutuhkan waktu dan proses yang panjang dalam pemenuhan standarnya.
2.    Masalah pemilihan alternative
Berhubungan dengan bagaimana memilih solusi terbaik dari berbagai alternative berdasarkan criteria-kriteria tertentu. Permasalahan ini seringkali kita jumpai dlam kehidupan sehari-hari. Contoh: memilih sekolah yang tepat, memilih bidang pekerjaan, memilih lokasi tempat tinggal. Masing-masing alternative dan criteria memiliki bobot yang telah disepakati.
3.    Masalah pemenuhan kepuasan konsumen
Pada organisasi yang bersifat profit (mencari laba), masalah pada kelompok ini merupakan tipe yang seringkali muncul. Konsumen memiliki berbagai macam keinginan yang satu berbagai macam keinginan yang berbeda. Memenuhi seluruh keinginan konsumen sangat tidak mungkin dan sangat memberatkan sebuah organisasi. Oleh karena itu perlu dicari pemecahan yang sama-sama menguntungkan, baik bagi konsumen maupun organisasi tertentu.
4.    Masalah pencapaian tujuan
Tipe ini mirip dengan tipe pertama (masalah pemenuhan standar). Yang berbeda adalah pada tipe ini tujuan yang ingin dicapai dapat berubah-ubah dan jangka pendek.


Pemecahan masalah adalah sebuah proses dimana suatu situasi diamati kemudian bila ditemukan ada masalah dibuat penyelesaiannya dengan cara menentukan masalah, mengurangi atau menghilangkan masalah atau mencegah masalah tersebut terjadi.

1.Proses pemecahan masalah
2.Pendefinisian masalah
3.Analisis situasi
4.Pengembangan ide-ide solusi
5.Analisis ide-ide solusi
6.Pengambilan keputusan
7.Penerapan solusi
Seringkali kita kesulitan membedakan antara gejala dan masalah. Gejala adalah tanda/petunjuk terjadinya suatu masalah. Perhatikan contoh seorang yang berprofesi sebagai dokter pada. Seorang dokter dalam usaha mengobati penyakit pasien selalu bertanya dulu tentang gejala-gejala yang dirasakan pasien kemudian menyimpulkan bahwa pasien menderita penyakit tertentu dan menentukan obat yang tepat. Pusing, demam, batuk, dan pilek merupakan gejala atau tanda dari penyakit flu. Apabila dokter hanya memberi obat sakit kepala, maka penyakit flu tidak akan sembuh. Satu masalah mungkin memiliki satu gejala tetapi mungkin juga

Mungkin kita bertanya-tanya apa hubungan masalah dan gejala dengan RPL. Seperti telah disampaikan, perangkat lunak yang merupakan hasil dari RPL merupakan alat bantu yang digunakan untuk menyelesaikan tugas/masalah tertentu. Apabila kita tidak mengetahui dengan benar masalahnya mustahil kita dapat menentukan bagaimana menyelesaikannya. Dan, untuk mengetahui dengan baik masalah, maka pengetahuan tentang gejala dari masalah menjadi sangat penting.
Pemecahan masalah adalah sebuah proses dimana suatu situasi diamati kemudian bila ditemukan ada masalah dibuat penyelesaiannya dengan cara menentukan masalah, mengurangi atau menghilangkan masalah atau mencegah masalah tersebut terjadi. Ada banyak urutan proses pemecahan masalah yang diajukan oleh para ahli.

Serangkaian tahapan proses yang berbeda yang dapat digunakan dalam berbagai tingkatan, tergantung dari tipe dan sifat masalahnya. Masalah yang berbeda membutuhkan penggunaan cara yang berbeda, bahkan mungkin urutan yang berbeda.

Tahapan kritis dari proses pemecahan masalah adalah Pendefinisian Masalah. Apabila masalah tidak cukup jelas didefinisikan maka tahapan-tahapan berikut sulit untuk dijalankan. Bahkan apabila dipaksakan, kemungkinan besar penyelesaian yang tepat tidak akan diperoleh.
Usaha untuk mengatasi permasalahan rekayasa perangkat lunak

Masalah perangkat lunak (software engineering) biasanya dipilih berdasarkan 3 aspek antara lain sifat dari proyek dan aplikasi, metode dan alat bantu yang digunakan serta kontrol dan output yang dibutuhkan. Perekayasaan perangkat lunak berupa penggunaan metode pengembangan perangkat lunak berkualitas tinggi secara ekonomi dan handal. Dari usaha-usaha tersebut dihasilkan alternatif paradigma, alternatif metodologi dan perangkat bantu komputer.

1. Siklus Hidup

Pengesetan dan piranti teknik serta metode yang digunakan oleh para ahli software dalam proyek disebut Metodologi Proyek. Metodologi proyek diterapkan dalam konteks tahap-tahap pengembangan software (software live cycle) , yang disebut fase, yang merupakan tahapan yang harus dilalui oleh produk software dari konsep awal sampai tahap akhir. Model tahap-tahap tersebt merupakan enyajian dari tahap-tahap pengembangan software yang juga dapat berisikan alur informasi, saat penentuan keputusan, dan sebagainya.

Langkah-langkah dari model tahapan penyusunan dapat merupakan fase temoporal yang membentuk urutan dalam waktu atau fase logis yang menunjukkan tahap-tahap bukan membentuk urutan temporal. Sebagai contoh implementasi secara logis akan mendahului pengujian, namun bagian fase implementasi dan pengujian dapat terjadi secara serempak. Jadi moedl tahapan yang menggunakan fase logis dapat memiliki fase implementasi sebelum fase pengujian, sedangkan model yang menggunakan fase temporal mungkin fase-fase ini kan bertumpang tindih.

2. Model Spiral

Permodelan dalam suatu perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Di dalam suatu rekayasa dalam perangkat lunak sebenarnya maih memungkinkan tanpa melakukan suatu permodelan. Hal ini tidak dapat lagi dilakukan dalam suatu industri perangkat lunak. Permodelan dalam perangkat lunak merupakan suatu yang harus ikerjakan di bagian awal dari rekayasa, dan permodelan ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut. dalam prakteknya, setiap langkah sering tumpang tindih dan sering memberi informasi satu ama lain.

Proses perangkat lunak tidak linier dan sederhana tapi mengandung urutan iterasi dari aktivitas pengembangan. Selama langkah terakhir, perangkat lunak telah digunakan. Kesalahan dan kelalaian dalam menentukan kebutuhan perangkat lunak original dapat diatasi.

Namun sayang, model yang banyak mengandung iterasi sehingga membuat kesulitan bagi pihak manajemen untuk memeriksa seluruh rencana dan laporan. Maka dari itu, seteleh sedikit iterasi, biasanya bagian yang telah dikembangkan akan dihentikan dan dilanjutkan dengan keinginan user. Mungkin juga sistem terstruktur secara jelek yang sebenarnya merupakan masalah desain akan dibiarkan karena terkalahkan oleh trik implementasi.

3. Pendekatan Waterfall

Model waterfall menawarkan cara pembuatan perangkat lunak secara lebih nyata. Langkah-langkah yang penting dalam model ini adalah :

    Penentuan dan analisis spesifikasi
    Desain sistem dan perangkat lunak
    Implementasi dan ujicoba unit
    Integrasi dan uji coba sistem
    Operasi dan pemeliharaan

Masalah pendekatan waterfall adalah ketidakluwesan pembagian project ke dalam langkah yang nyata atau jelas. Sistem yang disampaikan kadang-kadang tidak dapat digunakan sesuai keinginan customer. Namun demikian model waterfall mencerminkan kepraktisan engineering. Konsekwensinya, model proses perangkat lunak yang bredasarkan pada pendekatan ini digunakan dalam pengembangan sistem perangkat lunak dan hardware yang luas.
4. Pendekatan Evolusioner

Pendekatan evolusioner ini berdasarkan pada ide pengembangan dan implementasi awal yang akan menghasilkan komentar pemakai sehingga dapat dilakukan perbaikan melalui banyak versi sampai sistem yang mencukupi dapat dikembangkan. Selain memiliki kegiatan-kegiatan terpisah model ini memberikan umpan balik dengan cepat dan serempak. Ada 2 tipe pada model ini yaitu :

a. Pemrogramaman evolusioner

Tujuan proses adalah bekerja sama dengan cusomer untuk menghasilakan kebutuhan-kebutuhan dan menyampaikan sistem akhir kepada pemakai/ customer. Pengembangan dimulai dengan bagian-bagian sistem yang dimengerti. Sistem dikembangkan melalui penambahan features sesuai yang diusulkan oleh customer. 2.

b. Pemodelan

Pemrograman evolusioner penting saat sulit untuk membuat spesifikasi sistem secara rinci. Beberapa orang mungkin setuju bahwa semua sistem masuk dalam tipe ini. Namun, pemrograman evolusioner banayk digunakan dalam pengembangan sistem pakar (artifacial intelegence) yang berusaha untuk menyamai kemampuan manusia.

Kita tidak mungkin membuat spesifikasi yang rinci untuk perangkat lunak yang menyamai manusia karena kita tidak mengerti bagaimana biasanya manusia menjalankan tugas-tugasnya. Pendekatan evolusioner biasanya lebih efektif daripada pendekatan waterfall untuk hal pengembangan perangkat lunak yang harus dengan segera dapat memenuhi kebutuhan customer. Namun, daris egi teknik dan manajemen, model ini mempunyai masalah mendasar yaitu :

    proses tidak visibel
    sistem biasanya kurang terstruktur
    ketrampilan khusus jarang dimiliki

Untuk memecahkan masalah-masalah tersebut, kadang-kadang tujuan dari pengembangan evolusioner adalah mengembangkan contoh sistem. Contoh ini digunakan untuk mengerti dan memvalidasikan spesifikasi sistem. Disinilah pengembangan evolusioner merupakan bagian dari beberapa proses yang lebih luas (seperti model waterfall).

Oleh karena masalah-masalah tersebut, sistem dengan skala besar biasanya tidak dikembangkan melalui cara ini. Pengembangan evolusioner lebih tepat untuk pengembangan yang relatif kecil. Masalah-masalah mengenai perubahan sistem yang ada dihindari dengan mengimplementasikan ulang sistem keseluruhan kapanpun perubahan yang signifikan diperlukan. Jika permodelan digunakan, tidak terlalu mahal. Pengembangan sistem yang memiliki masa hidup yang relatif singkat.

5. Spiral Boehm

Boehm (1988) mengusulkan sebuah model yang secara eksplisit menjelaskan bahwa resiko yang disadari mungkin membentuk dasar model umum. Model yang diusulkan oleh Boehm ini berbentuk spiral. Tak ada tahap yang ditetapkan dalam model ini. Manajemen harus memutuskan bagaimana membentuk proyek ke dalam tahap-tahap. Perusahaan biasanya bekerja dengan beberapa model umum dengan tambahan untuk proyek khusus atau ketika masalah-masalah ditemukan selama pembuatan proyek. Setiap loop dibagi dalam 4 sektor yaitu :

 
@). Pembuatan tujuan

Tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek yang ditentukan. Rencana rinci manajemen juga ditulis lengkap. Pembuatan strategi-strategi alternatif direncanakan sesuai dengan resiko yang ada.

    @).Perkiraan dan pengurangan resiko

Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya. Kemudian diambil langkah-langkah untuk mengurangi resiko. Contohnya jika ada resiko bahwa persayaratan-persyaratan tidak tepat maka sebuah model mungkin dapat dikembangkan.

    @).Pengembangan dan validasi

Setelah evaluasi resiko, jika resiko sebuah model pengembangan untuk sistem dipilih. Misalnya, jika resiko interface pengguna yang dominan maka model pengembangan yang tepat mungkin pengembangan evolusioner dengan menggunakan contoh (prototype). Jika resiko keselamatan yang diutamakan, model pengembangan sesuai adalah transformasi formal. Model waterfall mungkin tepat digunakan jika resiko yang diutamakan adalah integrasi sistem.

    @). Perencanaan
Jika diputuskan untuk melanjutkan pada loop spiral berikutnya, maka prosyek yang dibicarakan kembalai dan rencana perlu dibuat untuk tahap selanjutnya. Tidak perlu untuk menggunakan satu model tunggal pada setiap loop spiral bahkan dalam keseluruhan sistem perangkat lunak. Model spiral encompasses model lainnya. Pemodelan digunakan pada salah satu spiraluntuk memecahkan masalah kebutuhan.

Pada implementasinya, model spiral banyak digunakan , tetapi biasanya dikombinasikan dengan model lain. Pemodelan waterfall yang sangat bagus dalam menentukan milestones dan pemodelan spiral, yang sangat bagus dengan menggunakan prototyping, merupakan kombinasi yang sering dipakai di dalam kontrak-kontrak untuk perangkat lunak dewasa ini.

$$Contoh  suatu masalahnya adalah:
    Layaknya sebuah smartphone, kita perlu merawat laptop yang kita miliki agar masalah yang tidak kita inginkan terjadi pada laptop yang kita miliki tersebut. Meskipun penyebab laptop cepat panas dan baterai sering habis memang sangat beragam, kita tentu akan dapat memperbaiki baterai laptop yang bocor sehingga sering mati mendadak apabila kita mengetahui akan cara merawat laptop yang kita miliki. Namun kita tidak perlu menyesali apa yang sudah terjadi karena baterai laptop baru terkadang juga akan mengalami cepat habis atau ngedrop tersebut. Untuk itu mari langsung saja kita simak ulasan selengkapnya mengenai cara mengatasi baterai laptop yang bocor dan memperbaiki baterai laptop yang cepat habis, sebagai berikut :

Solusi agar baterai laptop tidak cepat habis

1. Penyebab baterai laptop bocor

Sebelum kita memulai untuk mengatasi laptop sering kehabisan daya baterai, alangkah lebih baiknya jika kita mencari tahu terlebih dahulu kenapa baterai laptop tiba tiba habis tersebut. Diantaranya adalah :

>> Menggunakan laptop saat di-charger

Itu juga berisiko baterai laptop akan cepat rusak, jadi jangan terlalu sering. Charger terlalu lama juga harus dihindari

>> Membiarkan laptop mati dalam keadaan baterai kosong
Ini juga sangat berpotensi membuat baterai laptop cepat rusak

>> Penggunaan laptop yang berlebihan
Laptop sebenarnya diciptakan untuk pekerjaan yang ringan dan tidak digunakan untuk bekerja seharian. Bukan untuk kegiatan seperti bermain game berat dan aplikasi dengan grafis tinggi, kecuali laptop gaming

>> Peletakan laptop yang salah
Laptop mengeluarkan hawa panas dan kebanyakan para pengguna laptop kurang mengerti bahwa meletakkan laptop di atas bahan yang empuk seperti di bantal atau kasur dapat menyebabkan aliran hawa panas terganggu


2.  Cara memperbaiki baterai laptop yang bocor

Jika baterai laptop yang cepat habis tersebut terjadi karena salah satu penyebab laptop cepat ngedrop diatas maka solusi untuk mengatasi daya baterai laptop gampang drop / cepat habis tersebut adalah dengan melakukan kalibrasi baterai laptop.
Cara memperbaiki baterai laptop yang cepat habis berikutnya, kita perlu untuk mengatur opsi daya di laptop Windows dengan cara :

* Klik tanda baterai dan aktifkan ke modus balance
* Setelah itu atur "Turn off the display" di baterai "Never dan Put the computer to sleep" menjadi "Never".
* Kita juga dapat menemui pengaturan power melalui control panel.

Proses kalibrasi ini memerlukan siklus menghabiskan baterai dari penuh sampai habis dan mengisinya lagi hingga penuh, sehingga butuh waktu beberapa jam untuk menyelesaikannya. Setelah proses kalibrasi, indikator baterai laptop kita akan menunjukkan kapasitas power baterai yang lebih akurat. Untuk melakukan kalibrasi baterai laptop cepat habis tersebut, ikuti cara berikut ini :
* Biarkan laptop menyala hingga baterai terpakai habis dan laptop mati dengan sendirinya.
* Setelah itu tancapkan lagi charger dan nyalakan laptop.
* Isi baterai hingga penuh lagi 100%.
* Selama proses kalibrasi pastikan kita tidak menggunakan komputer sama sekali.
* Sekarang proses kalibrasi baterai telah selesai dan kita dapat mengembalikan lagi Power Plan ke pilihan yang semula.


3. Install Smarter Battery

Apabila kita sudah melakukan kalibrasi baterai laptop tapi kondisi baterai laptop masih ngedrop atau cepat habis maka dapat disebabkan karena adanya masalah pada perangkat lunak. Jadi perlu untuk kami ingatkan disini bahwa cara memperbaiki baterai laptop yang cepat habis tidak bisa membuat baterai yang memang sudah usang atau rusak karena faktor umur kembali menjadi bagus lagi.

Untuk itu setelah kita melakukan kalibrasi baterai laptop tidak ada salahnya jika kita menginstall software Smarter Battery. Smarter Battery merupakan utilitas pemantauan baterai untuk komputer portabel yang dimaksudkan untuk memberikan semua data baterai kepada si pengguna. Selain dapat digunakan untuk membantu memperpanjang hidup dan menghemat baterai, Smarter Battery ini juga berfungsi untuk memberikan gambaran yang sangat lengkap tentang kehidupan baterai laptop yang kita miliki. Supaya data ini akurat, utilitas ini harus terus berjalan sepanjang waktu pada laptop yang kita miliki tersebut.



DAFTAR BACAAN

Adri Kristianto, Rekayasa Perangkat Lunak (Konsep Dasar), Gava Media Yogyakarta, 2004

Al Bahra bin Ladjamuddin, Rekayasa Perangkat Lunak, Graha Ilmu, Yogyakarta, 2004

Barbee Teasley Mynatt, Software Engineering with Student Project Guidance, Prentice Hall Int. 1990.

Menurut Wikipedia : Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termat lunak dan manajemen kualitas.

REKAYASA  PERANGKAT  LUNAK

     Menurut Wikipedia : Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termat lunak dan manajemen kualitas.

suk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangka
Menurut IEEE Computer Society : Rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.

Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.

    Tujuan Rekayasa Perangkat Lunak Secara lebih khusus kita dapat menyatakan tujuan dan Rekaya Perangkat Lunak ini adalah:

* Memperoleh biaya produksi perangkat lunak yang rendah.
* Menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
* Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
* Menghasilkan perangkat lunak yang biaya perawatannya rendah

    Kriteria Dalam Merekayasa Perangkat Lunak

* Dapat terus dirawat dan dipelihara (maintainability)
* Dapat mengikuti perkembangan teknologi (dependability)
* Dapat mengikuti keinginan pengguna (robust).
* Efektif dan efisien dalam menggunakan energi dan penggunaannya.
* Dapat memenuhi kebutuhan yang diinginkan (usability).

    Ruang Lingkup Rekayasa Perangkat Lunak

* Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.
* Software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak.
* Software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk. algoritma, pengkodean, pengujian dan pencarian kesalahan.
* Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak.
* Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan.
* Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
* Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
* Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.

    Rekayasa Perangkat Lunak dan Disiplin Ilmu Lain

  @ Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin dengan bidang ilmu lain. tidak saja sub bidang dalam disiplin ilmu komputer namun dengan beberapa disiplin ilmu lain diluar ilmu komputer.

* Bidang ilmu manajemen meliputi akuntansi, finansial, pemasaran, manajemen operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia, kebijakan, dan strategi bisnis.
* Bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik, analisis numerik, dan matematika diskrit.
* Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek, seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif.


  • Sejarah  Rekayasa  Perangkat  Lunak 1940an
  • Komputer pertama yang membolehkan pengguna menulis kode program langsung –1950an
  • Generasi awal interpreter dan bahasa macro
  • Generasi pertama compiler
  • Generasi kedua compiler – 1960an
  • Komputer mainframe mulai dikomersialkan
  • Pengembangan perangkat lunak pesanan
  • Konsep Software Engineering mulai digunakan– 1970an
  • Perangkat pengembang perangkat lunak
  • Perangkat minicomputer komersial– 1980an
  • Perangkat Komputer Personal (PC) komersial
  • Peningkatan permintaan perangkat lunak– 1990an
  • Pemrograman berorientasi obyek (OOP)
  • Agile Process dan Extreme Programming
  • Peningkatan drastis kapasitas memori
  • Peningkatan penggunaan internet– 2000an
  • Platform interpreter modern (Java, .Net, PHP, dll)
  • Outsourcing


Pada era globalisasi ini telah banyak terjadi kemajuan-kemajuan
teknologi yang dimanfaatkan masyarakat, dan yang lebih kelihatan terutama kemajuan di berbagai bidang ilmu. Hal ini disebabkan karena adanya kemajuan-kemajuan teknologi informasi. Kebanyakan orang menganggap Teknologi informasi sama dengan teknologi baru.
Hal ini sebenarnya bisa dilihat dari adanya software software yang Penerapan mengunakan teknologi informasi saat ini telah terjadi di segala bidang dan dapat kita lihat dan rasakan di rumah-rumah, di kantor, perdagangan dan keuangan, dan juga di bidang militer yang mengunakan software.

IDENTIFIKASI JENIS-JENIS SOFTWARE APLIKASI
1) Sistem Operasi
Sistem operasi merupakan sofware yang pertama kali dibaca oleh komputer pada saat booting sebagai dasar pengoperasian komputer.

Terdapat 2 jenis sistem operasi berdasarkan tampilan antarmuka kepada penggunanya (user interface) yaitu yang berbasis CUI (Character User Interface) dan berbasis GUI (Graphical User Interface).

  •  Programm Bantu dan Program Tambahan Program bantu (utility) merupakan program yang digunakan untuk mengisi kekurangan atau menampilkan kembali file suatu sistem operasi yang terhapus. PC Tools dan Norton Utilities merupakan contoh dari program ini. Salah satu dari kelemahan DOS adalah tidak mampu bekerja di sistem jaringan.
  •  Bahasa Komputer (Computer Language) Computer Language merupakan bahasa yang digunakan untuk membuat program komputer. Disebut bahasa karenacomputer language memiliki kosa kata dan tata bahasa yang harus ditaati oleh pemakainya.


Yang termasuk dalam jenis ini adalah :
a. Low Level Language, merupakan bahasa tingkat rendah karena sulit dipahami dan hanya dapat dimengerti oleh pembuatnya. Yang termasuk program ini adalah bahasa mesin assembly language

b. High Level Language, merupakan bahasa tingkat tinggi karena menggunakan kata-kata yang mudah dimengerti. Contoh dari program ini adalah BASIC, PASCAL, FORTRAN, dsb.

Ada pula beberapa tipe software, diantaranya :

a. Software Games
Jenis-jenis tersebut seperti MMOs (Massive Multiplayer Online games), first-person shooters, action games, roleplaying games, and game petualangan.

b. Software Driver
Program in mengijinkan komputer untuk dapat berinteraksi dengan perangkat hardware tambahan seperti printer, scanner, dan video cards.

c. Software Pendidikan
berbeda dengan jenis program sebelumnya, software pendidikan ini dapat mengajarkan apapun dari komputer, melakukan aktifitas yang berhubungan seperti mengetik atau berbagai macam jenis pendidikan lainnya seperti kimia.

d. Media player dan pengembangan software media lainnya –
Software yang dibuat untuk dapat memainkan atau mengedit media digital seperti file music atau video.

e. Software Produktifitas
Jenis software ini mengijinkan pengguna untuk lebih produktif baik itu dalam menjalankan bisnis atau menjalankan aktifitas produktif lainnya. Contoh dari software ini adalah software pengolah huruf (Ms Words)
Estetetika
Menurut Connel, estetika merupakan suatu penilaian yang bersifat kualitatif, namun, seperti juga arsitektur
fisik, estetika perangkat lunak terdiri dari beberapa prinsip umum, yaitu :

• Kooperatif
• Bentuk yang Sesuai
• Minimalitas Sistem
• Ketunggalan Komponen

2.2 Kooperatif

Seperti bangunan yang harus didesain untuk menyatu dan memperindah lingkungannya, perangkat lunak
juga mesti bisa bekerja sama secara baik dengan lingkungannya. Jika dimisalkan lingkungan untuk sebuah
bangunan
Contoh dari sistem perangkat lunak yang kooperatif dengan lingkungannya :
• Suatu buku saku appointment elektronik yang bekerja dalam batasan layar kecil hitam putihnya, dan
masih dapat menampilkan informasi dengan jelas.
• Suatu sistem pembukuan pajak penghasilan yang bisa dibayar lewat Internet, karena banyak sekali
user yang sudah memiliki akses Internet.

2.3 Bentuk yang Sesuai

Desain internal dari suatu sistem perangkat lunak harus merefleksikan dan meng-create fungsi
eksternalnya. Suatu bangunan yang indah menyatukan bentuk dan fungsi, begitu pula dengan perangkat
lunak yang baik. Mengapa ini menjadi masalah? Selagi suatu sistem perangkat lunak bekerja dengan
benar, apakah hasil dari suatu internal desain menjadi masalah? Jawabannya adalah Ya. Sebuah struktur
internal yang mempertimbangkan fitur eksternal akan cenderung meng-create fitur tersebut lebih baik.
Sebuah bentuk perangkat lunak yang mengikuti fungsi perangkat lunak tersebut, juga cenderung lebih
simpel, karena fitur eksternal tersebut diangkat dari desain internal daripada dipaksakan diatas desain
tersebut. Suatu sistem perangkat lunak yang bentuknya tidak mencerminkan fungsinya selamanya akan
sulit untuk di debug, memiliki lebih banyak bug, dan sulit untuk dikembangkan dan dimodifikasi

2.4 Minimalitas Sistem

Jika dibayangkan sebuah rumah yang sedang dibangun di jalan yang berfasilitas saluran air bersih dan
listrik. Sekarang umpama pembangun rumah menggali sebuah sumur pribadi atau membuat pembangkit
listrik sendiri. Ketika ditanya mengapa mereka melakukan ini, jawabannya adalah : “Kami ingin sumur kami
sendiri, Sehingga kami bisa menggunakannya sesuka hati. Kemudian kami sendiri tidak tahu bahwa ada
jaringan listrik di jalan ini”. Pekerjaan dan pengeluaran yang berlebihan ini tidak bisa diterima. Memang tidak
ada salahnya menambahkan sumur atau generator listrik di suatu rumah – apabila rumah tersebut benarbenar
membutuhkannya. Adalah suatu hal yang mengerikan apabila menyertakan hal-hal tersebut untuk
alasan kecil atau tidak perduli akan adanya kemungkinan fasilitas-fasilitas umum yang tersedia. Rancangan
bangunan yang baik berusaha menjaga bangunan tersebut seminimal mungkin, dengan menggunakan
sumber daya eksternal yang tersedia.

2.5 Ketunggalan Komponen

Umumnya, bangunan yang cantik berisi ruangan-ruangan yang setiap ruangan tersebut berguna untuk
memenuhi satu tujuan tertentu dengan baik. Sebagai contoh, hampir setiap rumah memiliki sebuah kamar
tidur utama, yang berisi apa-apa yang dibutuhkan oleh ruangan tersebut. Adalah suatu rancangan yang
buruk bila sebuah rumah sampai memiliki empat kamar tidur utama karena pembangunnya tidak dapat
menyelesaikan satupun ruangan. Lebih buruk lagi, apabila pembangun lupa bahwa mereka baru saja
membuat sebuah kamar tidur utama, lalu mereka membangun lagi satu lagi, kemudian mereka lupa lagi,
dan membangun lagi dan seterusnya.
Tentu saja, beberapa bangunan-bangunan yang besar mungkin membutuhkan lebih dari satu ruangan yang
berfungsi sama.

2.6 Lokalitas Fungsional

Rancangan pembangunan yang baik menempatkan item-item yang berhubungan pada tempat yang
berdekatan. Peralatan dan bahan-bahan untuk menyiapkan makanan biasanya terletak dalam ruang yang
sama. Peralatan-peralatan rias, silet cukur, deodoran biasanya terletak berdekatan di meja rias. Walaupun
suatu rumah dapat dibangun dengan kulkas di loteng, atau oven di ruang keluarga, dan mesin cuci di dalam
kamar tidur – namun ini termasuk rancangan yang buruk.
Rancangan perangkat lunak yang baik mengikuti prinsip yang sama dalam menempatkan hal-hal yang
berhubungan di tempat yang berdekatan. Ketika perangkat lunak dibangun seperti ini, maka sangat mudah
untuk memahami perangkat lunak bagi tim proyek – karena strukturnya bisa dinalar dengan mudah pula.

2.7 Readability
Readibility adalah satu area dalam estetika perangkat lunak yang tidak memiliki kesejajaran dengan
konstruksi fisik, tapi adalah sangat penting. Apabila pengembang-pengembang perangkat lunak tidak dapat
memahami source code dari engineer, maka kode tersebut secara efektif tidak mengandung metrik-metrik
lain yang didiskusikan di sini. Kualitas-kualitas tersebut mungkin ada pada beberapa pengertian teknis,
namun ketidakmungkinan suatu kode untuk ditelusuri ke dalamnya membuat kode tersebut tidak dapat
digunakan untuk tujuan-tujuan praktis. Sebagai contoh, diambil suatu himpunan file-file source
menunjukkan minimality yang sempurna (tidak mengandung redundansi). Namun apabila tidak ada
manusia yang dapat menemukan bagian tertentu dari kode sumber yang berhubungan dengan fitur tertentu,
maka tidak ada seorangpun yang dapat memperbaiki bug-bug di lokasi tersebut atau mengembangkan fiturfitur
dengan jalan apapun.

2.8 Simplisitas
Simpicity dari perangkat lunak juga merupakan suatu metrik kunci yang membedakan kemampuan
programing. Programer junior menciptakan solusi simpel untuk masalah simpel. Programer senior
menciptakan solusi kompleks untuk masalah kompleks. Programer besar dapat menemukan solusi simpel
untuk masalah yang kompleks. Kode yang ditulis oleh seorang programer top akan terlihat jelas, apabila
sudah selesai, namun lebih sulit untuk dibuat. Sejalan dengan tujuan ilmu pengetahuan yaitu
menyederhanakan dan mengurutkan hal-hal dalam alam semesta yang kompleks, maka tujuan dari
pemrograman haruslah untuk menemukan solusi sederhana dari suatu masalah yang kompleks.
Dr. Indrajit juga menyampaikan factor-faktor yang memperngaruhi kualitas perangkat lunak usulan dari
McCall dan kawan-kawan (1997). Faktor-faktor tersebut adalah:
1. Sifat-sifat operasional dari software (Product Operations);
2. Kemampuan software dalam menjalani perubahan (Product Revision); dan
3. Daya adaptasi atau penyesuaian software terhadap lingkungan baru (Product Transition).

, kualitas global dari perangkat lunak yang cantik yang bukanlah jumlahan begitu saja dari atributatribut
sebelumnya. Untuk membuat sebuah perangkat lunak yang berkualitas harus diperhatikan
kecantikan desain perangkat lunak tersebut. Dengan desain yang memadai diharapkan program akan
bekerja lebih baik, memerlukan biaya lebih murah, cocok dengan kebutuhan user, memiliki bug yang lebih
sedikit, berjalan lebih cepat, lebih mudah diperbaiki dan memiliki masa hidup lebih lama.

Daftar pustaka
http://rina-aryani.blogspot.com/2009/11/makalah-software.html
http://p3m.amikom.ac.id/p3m/dasi/sept05/06%20-%20STMIK%20AMIKOM%20Yogyakarta%20Makalah%20RINI%20_estetika%20dan_.pdf
http://google.com

Tradisional Model Pada SDLC

12. SDLC Tradisional Model SDLC tradisional adalah metode pengembangan sistem informasi klasik yang mengikuti suatu pola teratur secara ...