l Oktober 2021 ~ Informatics Engineering

Apa itu SDLC?

klik kalo penasaran :v

Basis Data apa sih???

Apa hayoooo?..

OOP?

Apa hayoooo?..

Sabtu, 16 Oktober 2021

SDLC

 SDLC



3.1 Pengertian SDLC

System Development Life Cycle (SDLC) adalah suatu pendekatan yang memiliki tahap atau bertahap untuk melakukan analisa dan membangun suatu rancangan sistem dengan menggunakan siklus yang lebih spesifik terhadap kegiatan pengguna (Kendall & Kendall, 2006).


Metode SDLC adalah metode yang menggunakan pendekatan sistem yang disebut pendekatan air terjun ( waterfall approach ) dimana setiap tahapan sistem akan dikerjakan secara berurut menurun dari perencanaan, analisa, desain, implementasi, dan perawatan ( Aji Supriyanto, 2005: 272 )


Siklus hidup pengembangan sistem ( System Development Life Cycle / SDLC) merupakan suatu bentuk yang digunakan untuk menggambarkan tahapan utama dan langkah-langkah di dalam tahapan tersebut untuk proses pengembangannya. Siklus hidup pengembangan system merupakan proses evolusioner yang diikuti dalam menerapkan sistem atau subsistem informal berbasis komputer. SDLC dilakukan dengan pendekatan sistem secara teratur dan dilakukan secara top-down, oleh karenanya sering disebut pendekatan air terjun (waterfall approach) bagi pengembangan dan penggunaan sistem.

3.2 Tahapan SDLC


Setiap pengembang mempunyai strategi yang berlainan, namun demikian pada dasarnya siklus hidup pengembangan sistem informasi terdapat 5 (lima) tahapan, yaitu :

  1. 1. Perencanaan Sistem ( Systems Planning)
  2. 2. Analisis Sistem (System Analysis)
  3. 3. Perancangan Sistem (System Design)
  4. 4. Implementasi Sistem (System Implementation)
  5. 5. Penggunaan sistem (System Utilization )

3.2.1 Tahap Perencanaan Sistem ( Systems Planning)


Perencanaan sistem merupakan tahap paling awal yang memberikan pedoman dalam melakukan langkah selanjutnya. Perencanaan sistem menyangkut estimasi dari kebutuhan-kebutuhan fisik, tenaga kerja dan dana yang dibutuhkan untuk mendukung pengembangan sistem ini serta untuk mendukung operasinya setelah diterapkan.
Perencanaan sistem dapat terdiri dari perencanaan jangka pendek meliputi periode 1 sampai 2 tahun dan perencanaan jangka panjang meliputi periode sampai dengan 5 tahun. Perencanaan sistem biasanya ditangani oleh staff perencanaan sistem, bila tidak ada dapat juga dilakukan oleh departemen sistem.
Proses Perencanaan Sistem dapat dikelompokkan dalam 3 proses utama yaitu :

  • Merencanakan proyek-proyek sistem yang dilakukan oleh staff perencana sistem.
  • Menentukan proyek-proyek sistem yang akan dikembangkan dan dilakukan oleh komite pengarah.
  • Mendefinisikan proyek-proyek sistem dikembangkan dan dilakukan oleh analis sistem.

3.2.2 Tahap Analisis Sistem (System Analysis)


Analisis Sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikan.


Tahap analisis merupakan tahap yang kritis dan sangat penting, karena kesalahan didalam tahap ini akan menyebabkan juga kesalahan di tahap selanjutnya. Langkah-langkah di dalam tahap analisis sistem hampir sama dengan langkah-langkah yang dilakukan dalam mendefinisikan proyek-proyek sistem yang akan dikembangkan di tahap perencanaan sistem. Perbedaannya pada analisis sistem ruang lingkup tugasnya lebih terperinci. Didalam tahap analisis sistem terdapat langkah-langkah dasar yang harus dilakukan oleh Analis Sistem yaitu :

  • Identify, yaitu mengidentifikasikan masalah, mengindentifikasikan penyebab masalah, mengidentifikasikan titik keputusan, mengidentifikasikan personil-personil kunci.
  • Understand, yaitu memahami kerja dari sistem yang ada, menentukan jenis penelitian, merencanakan jadwal penelitian, mengatur jadwal wawancara, mengatur jadwal observasi, mengatur jadwal pengambilan sampel, membuat penugasan penelitian, membuat agenda wawancara, mengumpulkan hasil penelitian.
  • Analyze, yaitu menganalis sistem, menganalisis kelemahan sistem; menganalisis kebutuhan Informasi pemakai / manajemen.
  • Report, yaitu membuat laporan hasil analisis yang tujuan untuk memberi laporan bahwa analisis telah selesai dilakukan, meluruskan kesalahan-pengertian mengenai apa yang telah ditemukan dan dianalisis oleh analis sistem tetapi tidak sesuai menurut manajemen, meminta pendapat-pendapat dan saran-saran dari pihak manajemen, meminta persetujuan kepada pihak manajemen untuk melakukan tindakan selanjutnya.

3.2.3 Perancangan Sistem (System Design)


Setelah tahap analisis sistem selesai dilakukan, maka analis sistem telah mendapatkan gambaran dengan jelas apa yang harus dikerjakan. Tiba waktunya sekarang bagi analis sistem untuk memikirkan bagaimana membentuk sistem tersebut. Tahap ini disebut dengan perancangan sistem (system design ). Tahap perancangan sistem ini mempunyai tujuan utama yaitu untuk memenuhi kebutuhan kepada pemakai sistem, untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada pemrogram komputer dan ahli-ahli teknik lainnya yang terlibat. Tahap perancangan sistem merupakan tahap penentuan proses dan data yang diperlukan oleh sistem baru. Untuk sistem berbasis komputer biasanya dalam rancangan ada spesifikasi jenis peralatan yang akan digunakan. Adapun langkah-langkah dalam tahap perancangan sistem ini meliputi :

  1. Menyiapkan rancangan sistem yang terperinci : analis bekerja sama dengan pemakai dan mendokumentasikan rancangan sistem baru dengan alat-alat yang telah dijelaskan dalam modul teknis. Penggambaran dilakukan dari yang besar dan secara bertahap secara rinci dengan pendekatan top-down dan ini biasanya dilakukan untuk rancangan terstruktur (structured design).
  2. Mengidentifikasikan berbagai alternatif konfigurasi sistem : analis harus mengidentifikasikan konfigurasi (bukan merk atau model) peralatan komputer yang akan memberikan hasil terbaik bagi sistem untuk menyelesaikan pemrosesan.
  3. Mengevaluasi berbagai alternatif konfigurasi sistem : analis bekerja bersama manajer mengevaluasi berbagai alternatif dan dipilih yang paling memungkinkan subsistem memenuhi kriteria kinerja, dengan kendala-kendala yang ada.
  4. Memilih konfigurasi yang terbaik : analis mengevaluasi semua konfigurasi subsistem dengan menyesuaikan kombinasi peralatan sehingga semua subsistem menjadi satu konfigurasi tunggal. Setelah dianalisis kemudian direkomendasikan kepada manajer untuk disetujui. Persetujuan dilakukan oleh Komite pengarah.
  5. Menyetujui usulan penerapan : analisis menyiapkan usulan penerapan yang mengikhtisarkan tugas-tugas penerapan yang harus dilakukan, keuntungan yang diharapkan dan biayanya.
  6. Menyetujui atau menolak penerapan sistem: jika keuntungan dari sistem melebihi biayanya, penerapan akan disetujui.

3.2.4 Tahap Implementasi Sistem (System Implementation)


Setelah dianalisis dan dirancang secara rinci dan teknologi telah diseleksi dan dipilih. Tiba saatnya sistem untuk diimplementasikan. Tahap implementasi sistem merupakan tahap meletakkan sistem supaya siap untuk dioperasikan. Tahap ini termasuk juga kegiatan menulis kode program jika tidak digunakan paket perangkat lunak aplikasi.
Implementasi sistem merupakan kegiatan untuk memperoleh dan mengintegrasikan sumberdaya fisik dan konseptual yang menghasilkan suatu sistem yang bekerja. Adapun langkah-langkah dalam tahap ini meliputi :

  • Merencanakan penerapan: sebelum sistem baru digunakan, manajer dan spesialis informasi memahami dengan baik pekerjaan yang diperlukan untuk menerapkan rancangan sistem.
  • Mengumumkan penerapan: proyek penerapan diumumkan kepada para pegawai dengan cara yang sama seperti penelitian sistem. Tujuannya untuk menginformasikan pegawai mengenai keputusan untuk menerapkan sistem baru dan meminta kerjasama pegawai.
  • Mendapatkan sumberdaya perangkat keras: rancangan sistem disediakan bagi para pemasok berbagai jenis peralatan komputer yang terdapat pada konfigurasi yang disetujui. Setiap pemasok diberikan request for proposal (RFP).
  • Mendapatkan sumberdaya perangkat lunak: dapat membuat sendiri oleh programmer dari dokumen yang disiapkan analis sistem atau menggunakan perangkat lunak aplikasi jadi (prewritten application soft ware).
  • Menyiapkan database: DBA bertanggungjawab untuk semua kegiatan yang berhubungan dengan data, dan ini mencakup persiapan database.
  • Menyiapkan fasilitas fisik: fasilitas di sini adalah lantai yang ditinggikan, pengendalian suhu ruangan dan kelembaban khusus,keamanan, peralatan pendeteksi api dan pemadam kebakaran, dsb.
  • Mendidik peserta dan pemakai: baik peserta (operator pemasukan data, pegawai coding, dan administrasi) dan pemakai harus dididik tentang peran mereka dalam sistem. Pendidikan sebaiknya setelah siklus hidup dimulai, tepat sebelum bahan-bahan yang dipelajari mulai diterapkan.
  • Masuk ke sistem baru: proses menggantikan sistem lama ke sistem baru disebut cutover. Ada 4 pendekatan dasar: percontohan ( pilot project), serentak, bertahap, dan paralel.


3.2.5 Penggunaan sistem (System Utilization )
Pada tahap ini terdiri dari 3 yaitu :

  • Menggunakan sistem. Pemakai menggunakan sistem untuk mencapai tujuan yang diidentifikasikan pada tahap perencanaan.
  • Audit sistem. Penelitian apakah sistem baru memenuhi kriteria kinerja. Studi ini disebut “penelaahan setelah penerapan” (postimplementation).
  • Memelihara sistem. Selama manajer menggunakan sistem, berbagai modifikasi dibuat sehingga sistem terus memberikan dukungan yang diperlukan. Modifikasi ini disebut pemeliharaan sistem. Ada tiga alasan untuk pemeliharaan : Memperbaiki kesalahan, menjaga kemutakhiran sistem dan meningkatkan sistem.


3.3 Contoh Metodologi atau Model Pengembangan Sistem
Berikut ini adalah contoh Metodologi atau model pengembangan sistem, baik yang terstruktur maupun yang berbasis obyek :

3.3.1 Agile Model
Ditulis oleh (Widodo Journal : 2006:1) Pada dekade ke 90-an diperkenalkan metodologi baru yang dikenal dengan nama agile methods. Metodologi ini sangat revolusioner perubahannya jika dibandingkan dengan metode sebelumnya. Agile Methods dikembangkan karena pada metodologi tradisional terdapat banyak hal yang membuat proses pengembangan tidak dapat berhasil dengan baik sesuai tuntutan user.

Kelebihan Metode Agile

  • Meningakatkan rasio kepuasan pelanggan.
  • Bisa melakukan reviw pelanggan mengenai software yang dibuat lebih awal.
  • Mengurangi resiko kegagalan implementasi software dari non-teknis.
  • Besar kerugian baik secara material atau imaterial tidak terlalu besar jiak terjadi kegagalan

Kelemahan Metode Agile

  • Agile jarang dipraktekkan secara langsung,
  • Interksi dengan customers yang berlebihan,
  • Agile sulit diimplementasikan dalam proyek yang berskala besar,
  • Membutuhkan manajemen tim yang terlatih,
  • Lemah dalam perencanaan arsitektur, 2 Scrum dan Extreme Programming,
  • Keterbatasan waktu dalam perencanaan Proyek

3.3.2 Metodologi Waterfall
Metodologi Waterfall merupakan model klasik yang sederhana dengan aliran sistem yang linier. Output dari setiap tahap merupakan input bagi tahap berikutnya. Model ini pertama kali diperkenalkan oleh Winston Royce tahun 1970, sekarang model ini lebih dikenal dengan Liner Sequential Model. Karakteristik dari metodologi waterfall ini meliputi beberapa bagian, yaitu:

  1. Aktivitas mengalir dari satu fase ke fase lainnya secara berurutan.
  2. Setiap fase dikerjakan terlebih dahulu sampai selesai, jika sudah selesai baru mulai menuju fase berikutnya.

Tahapan penelitian pada model waterfall meliputi metodologi berupa :

  1. System Engineering : Menetapkan segala hal yang diperlukan dalam pelaksanaan proyek.
  2. Analisis : Menganalisis hal-hal yang diperlukan untuk pembuatan atau pengembangan perangkat lunak.
  3. Design : Tahap penerjemahan dari keperluan atau data yang telah dianalisis ke dalam bentuk yang mudah dimengerti oleh programmer. Tiga atribut yang penting dalam proses perancangan yaitu : struktur data, arsitektur perangkat lunak dan prosedur rinci / algoritma.
  4. Coding : Menerjemahkan data yang telah dirancang / algoritma ke dalam bahasa pemrograman yang telah ditentukan.
  5. Testing : Uji coba terhadap program telah dibuat.
  6. Maintenance : Perubahan atau penambahan program sesuai dengan permintaan user.

Kelebihan dari metode WaterFall :

Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.

Kekurangan dari metode Waterfall :

  • Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. Iterasi sering terjadi menyebabkan masalah baru.
  • Sulit bagi pelanggan untuk menentukan semua kebutuhan secara eksplisit.
  • Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama.
  • Kesalahan di awal tahap berakibat sangat fatal pada tahap berikutnya.

3.3.3 Metodologi Prototype
Model ini dikembangkan karena adanya kegagalan yang terjadi akibat pengembangan project / aplikasi menggunkan sistem waterfall. Kegagalan yang terjadi biasanya dikarenakan adanya kekurang pahaman atau bahkan sampai kesalah pahaman pengertian developer aplikasi mengenai user requirement yang ada. Tahapan metodologi prototype antara lain :

  1. Pengumpulan Kebutuhan dan perbaikan : Menetapkan segala kebutuhan untuk pembangunan perangkat lunak.
  2. Disain cepat : Tahap penerjemahan dari keperluan atau data yang telah dianalisis ke dalam bentuk yang mudah dimengerti oleh user.
  3. Bentuk Prototipe : Menerjemahkan data yang telah dirancang ke dalam bahasa pemrograman (Program contoh atau setengah jadi ).
  4. Evaluasi Pelanggan Terhadap Prototipe : Program yang sudah jadi diuji oleh pelanggan, dan bila ada kekurangan pada program bisa ditambahkan.
  5. Prototype : Perbaikan program yang sudah jadi, sesuai dengan kebutuhan konsumen. Kemudian dibuat program kembali dan di evaluasi oleh konsumen sampai semua kebutuhan user terpenuhi.
  6. Produk Rekayasa : Program yang sudah jadi dan seluruh kebutuhan user sudah terpenuhi.

Kelebihan Metode Prototype:

  • Developer belajar langsung mengenai kebutuhan sistem dari customer/user,
  • Hasil produk yang lebih akurat (lebih sesuai dengan permintaan user),
  • Desain sistem lebih fleksibel,
  • Iteraktif dengan adanya simulasi prototype,
  • Untuk pengembangan lebih lanjut (jika terjadi perubahan), developer hanya perlu mengubah prototype,
  • Jika customer sudah ”puas”, prototype dibuat menjadi system secara sempurna untuk dijadikan ’Final Product’.

Sedangkan kekurangannya yakni:

  • Proses bisa jadi berlanjut terus menerus tanpa henti (mengikuti keinginan customer),
  • Bisa jadi customer malah menginginkan prototype system dikirim,
  • Reputasi yang buruk sebagai sebuah metode yang bersifat ”Quick-and-Dirty”,
  • Kemungkinan perawatan secara keseluruhan bisa saja terabaikan,
  • Pengembangan yang berlebihan untuk prototype.

source :
https://www.dicoding.com/blog/metode-sdlc/

 


Rabu, 13 Oktober 2021

Analisis

ANALISIS DAN DESAIN GRAFIS

 


Defenisi Analisis Sistem

    Analisis Sistem atau System Analysis adalah suatu teknik atau metode pemecahan masalah dengan cara menguraikan system ke dalam komponen-komponen pembentuknya untuk mengetahui bagaimana komponen-komponen tersebut bekerja dan saling berinteraksi satu sama lain untuk mencapai tujuan system.

    System Analysis biasanya dilakukan dalam membuat System Design. System Design adalah salah satu langkah dalam teknik pemecahan masalah dimana komponen-komponen pembentuk system digabungkan sehingga membentuk satu kesatuan system yang utuh. Hasil dari System Design merupakan gambaran system yang sudah diperbaiki. Teknik dari System Design ini meliputi proses penambahan, penghilangan, dan pengubahan komponen-komponen dari system semula.

 

Teknik Pengumpulan Data

Hal pertama dalam analisis sistem adalah melakukan pengumpulan data. Ada beberapa teknik pengumpulan data yang sering dilakukan yaitu sebagai berikut :

 

1. Teknik Wawancara

Pengumpulan data dengan menggunakan wawancara mempunyai beberapa keuntungan sebagai berikut.

  • Lebih mudak dalam menggali bagian sistem mana yang dianggap baik dan bagian mana yang dianggap kurang baik.
  • Jika ada bagian tertentu yang menurut anda kurang digali lebih dalam, anda langsung menyatakan kepada narasumber.
  • Dapat menggali kebutuhan user secara lebih luas.
  • User dapat mengungkapkan kebutuhannya secara lebih bebas

Selain mempunyai beberapa kelebihan tersebut, teknik wawancara juga mempunyai beberapa kelemahan. Berikut ini adalah beberapa kelemahan dari teknik wawancara.

  • Wawancara akan sulit dilakukan jika narasumber kurang dapat mengngkapkan kebutuhannya.
  • Pertanyaan dapat menjadi tidak terarah, terlalu fokus pada hal-hal tertentu dan mengabaikan bagian lainnya.

Berikut ini adalah beberapa panduan dalam melakukan kegiatan wawancara agar memperoleh data yang diharapkan.

  1. Buatlah jadwal wawancara dengan narasumber dan beritahukan maksud dan tujuan wawancara.
  2. Buatlah panduan wawancara yang akan anda jadikan arahan agar pertanyaan dapat fokus kepada hal-hal yang dibutuhkan.
  3. Gunakan pertanyaan jelas dan mudah dipahami.
  4. Cobalah untuk menggali mengenai kelebihan dan kekurangan sistem yang telah berjalan sebelumnya.
  5. Anda boleh berimprovisasi dengan mencoba menggali bagian-bagian tertentu yang menurut Anda penting.

2. Teknik Observasi

Pengumpulan data dengan menggunakan observasi mempunyai keuntungan yaitu

  • Analisis dapat melihat langsung bagaimana sistem lama berjalan.
  • Mampu menghasilkan gambaran lebih baik jika dibandingkan dengan teknik lainnya.

Sedangkan kelemahan dengan menggunakan teknik observasi adalah

  • Membutuhan waktu cukup lama karena jika observasi waktunya sangat terbatas maka gambaran sistem secara keseluruhan akan sulit diperoleh.
  • Orang-orang yang sedang diamati biasanya perilakunya akan berbeda dengan perilaku sehari-hari (cenderung berusaha terlihat baik). Hal ini akan menyebabkan gambaran yang diperoleh selama observasi akan berbeda dengan perilaku sehari-hari.
  • Dapat menggangu pekerjaan orang-orang pada bagian yang sedang diamati.

Berikut ini adalah beberapa petunjuk untuk melakukan observasi

  1. Tentukan hal-hal apa saja yang akan diobservasi agar kegiatan observasi menghasilkan sesuai dengan yang diharapkan.
  2. Mintalah izin kepada orang-orang yang berwenang pada bagian yang akan diobservasi.
  3. Berusaha sedikit mungkin agar tidak menggangu pekerjaan orang lain.
  4. Jika ada yang Anda tidak mengerti, cobalah bertanya. Jangan membuat asumsi sendiri.

3. Teknik Kuisioner

Pengumpulan data dengan menggunakan kuisioner mempunyai keuntungan yaitu

  • Hasilnya lebih objektif, karena kuisioner dapat dilakukan kepada orang banyak sekaligus.
  • Waktunya lebih singkat.

Sedangkan kelemahan pengumpulan data dengan menggunakan kuisioner adalah sebagai berikut

  • Responden cenderung malas untuk mengisi kuisioner.
  • Sulit untuk membuat pertanyaan yang singkat, jelas, dan mudah dipahami.

Berikut ini adalah beberapa cara yang dapat dilakukan untuk membuat kuisioner menghasilkan data yang baik

  1. Hindari pertanyaan isian, lebih baik pilihan ganda, karena responden biasanya malas untuk menulis banyak, dan jika reponden menuliskan sesuatu sering kali susah untuk dipahami. Dan juga dengan pertanyaan pilihan ganda, akan memudahkan Anda untuk melakukan rekapitulasi data hasil kuisioner.
  2. Buatlah pertanyaan yang tidak terlalu banyak.
  3. Buatlah pertanyaan singkat, padat, dan jelas.

Jenis Kebutuhan

Kebutuhan (requirement) yang dikumpulkan dengan menggunakan  wawancara, observasi, kuisioner, atau gabungan dari ketiga hal tersebut dapat dikelompkkan menjadi beberapa kategori sebagai berikut (tidak semua kebutuhan ini harus ada).

 

  • Functional requirement
  • Development requirement
  • Deployment requirement
  • Performance requirement
  • Documentation requirement
  • Support requirement
  • Miscellanoeus requirement

Defenisi Desain Sistem

Desain atau rancangan dalam pembangunan perangkat lunak merupakan upaya untuk mengonstruksi sebuah sistem yang memberikan kepuasan  akan spesifikasi kebutuhan fungsional , memenuhi target , memenuhi kebutuhan secara  implisit atau eksplisit dari segi performansi maupun penggunaan sumber daya.


source :

https://jogja-training.com/pelatihan-analisis-dan-desain-sistem/

Selasa, 12 Oktober 2021

RPL

Perangkat Lunak & Rekayasa Perangkat Lunak



1.1 KARAKTERISTIK PERANGKAT LUNAK

    Perangkat Lunak merupakan suatu produk yang dapat menghantarkan informasi yang ada pada perangkat keras atau komputer dan dapat di akses. Perangkat lunak pada zaman sekarang dapat mengirimkan informasi, dapat mengubah data menjadi lebih baik dan perangkat lunak sekarang dapat mengatur informasi bisnis untuk meningkatkan kompetisi yang ada. Perangkat lunak mengalami perubahan yang besar dalam penyimpanan bisa dapat menjadi lebih besar, dan banyak pilihan output(keluaran) dan input(masukan) yang Sdapat terhubung dengan komputer lebih cepat dan canggih. Kecanggihan dalam perangkat lunak mempunyai hasil yang sangat mengagumkan saat berhasil di operasikan dengan baik tetapi akan menjadi masalah besar dalam membangun sistem yang kompleks.

    Pada sektor industri, perangakat lunak sangat menajdi dominan pada faktor perekonomian dan dunia industri. Para pakar industri telah merancang teknologi yang dibutuhkan untuk menghantarkan aplikasi yang lebih komplek yang dapat menggantikan program yang tunggal sebelumnya.

1.1.1 Definisi Perangkat Lunak

    Perangkat lunak memiliki kemiripan dengan perangkat keras tetapi kedua nya memiliki perbedaan dalam produksinya. Perangkat lunak tidak di produksi manufaktur atau dalam jumlah yang banyak tetapi perangkat lunak hanya dikembangkan atau di rekayasa. Sedangkan perangkat keras atau komputer di produksi dalam jumlah banyak atau manufaktur.

    Perangkat lunak pada dasarnya tidak terpengaruh oleh kondisi kondisi lingkungan dan cuaca sehingga tidak mengalami kelelahan. Berbeda dengan perangkat keras yang mudah mengalami kelelahan karena dapat terpengaruh oleh kondisi-kondisi lingkungan dan cuaca di sekitarnya, atau dapat mudah lelah karena cara salah pemakaian dan pengaruh debu serta getaran. Walaupun industri selalu beralih komponen, perangkat lunak masih tetap berdasarkan spesifikasi yang di inginkan oleh pengguna.

1.1.2 Ranah Aplikasi Perangkat Lunak

  1. Perangkat Lunak Sistem Beberapa program yang dibuat untuk melayani program-program untuk melakukan pemrosesan informasi yang kompleks dan bersifat terbatas.
  2. Perangkat Lunak Aplikasi Program yang dapat menjawab kebutuhannya sendiri secara terinci. Aplikasi ini biasa nya ada pada bidang pemrosesan data bisnis atau mendukung operasi bisnis.
  3. Perangkat Lunak Rekayasa/ilmiah Memiliki algoritma yang lengkap dan penuh dengan kalkulasi numerik. Aplikasi ini dikembangkan untuk kebutuhan analisa ilmiah seperti astronomi hingga vulkanologi.
  4. Perangkat Lunak yang Tertanam Aplikasi atau sistem yang digunakan untuk menjalankann dan mengendalikan fungsi dan fitur bagu pengguna akhir dan bagi sistem itu sendiri.
  5. Perangkat Lunak Lini  Produk Dibuat atau dirancang untuk kemampuan khusus yang digunakan oleh pelanggan yang berbeda-beda.
  6. Aplikasi Web Perangkat lunak yang tersambung pada jaringan komputer yang menyediakan banyak aplikasi-aplikasi.
  7. Perangkat Lunak Kecerdasan Buatan Memecahkan masalah-masalah yang rumit dan tidak bisa dipecahkan dengan komputasi secara langsung tetapi dengan menggunakan algoritma non-numerik.

1.1.3 Perangkat Lunak Warisan

Perangkat lunak yang lama  dan sudah pernah di kembangkan sering disebut dengan Perangkat Lunak Warisan. Terkadang perangkat lunak warisan ini berkualitas sangat buruk. Perangkat Lunak Warisan juga memiliki perancangan yang tidak memungkinkan untuk dikembangkan lagi. Dengan seiringnya waktu Perangkat Lunak Warisan sering berubah seperti harus meningkatkan kinerja supaya dapat menjalankan kebutuhan-kebutahan yang bisnis atau perangkat lunak harus dirancang ulang-ulang yang dapat hidup dalam mengoperasikan jaringan komputer.

1.2 KARAKTERISTIK KHAS DARI APLIKASI-APLIKASI WEB

Situs WEB(Website) pertama muncul dengan Word Wide Web(WWW), ini terbentuk dari sekumpulan file hypertext yang berhubungan yang dapat memberikan informasi teks dengan pola grafis yang terbatas. Perkembangan HTML oleh perangkat yang baru berkembang memugkinkan perangkat lunak yang mengembangkan aplikasi Web yang isinya bersifat informatif. Sifat-sifat yang bisa ditemui dalam sebagian besar aplikasi Web sebagai berikut :

  • Kepadatan jaringan.
  • Keserempakan.
  • Jumlah pengguna yang tidak dapat diprediksi.
  • Kinerja.
  • Keterseedian.
  • Digerakan oleh data.
  • Peka terhadap isi.
  • Evolusi yang berkeseimbangan,.
  • Kesegaran.
  • Keamanan.
  • Estetika.

1.3 REKAYASA PERANGKAT LUNAK

Perangkat lunak menyatu dengan setiap kehidupan kita dan sejumlah orang telah tertarik pada fitur dan fungsi yang ada pada aplikasi tertentu yang telah berkembang secara drastis. Kebutuhan teknologi informasi yang sekarang dibutuhkan oleh individu, bisnis dan pemerintah akan selalu bertambah kompleks terus menerus. Apabila nilai aplikasi terntu bertambah, memiliki kemungkinan usia perangkat lunak tersebut akan bertambah panjang.

Rekayasa Perangkat Lunak merupakan aplikasi ilmu komputer untuk membangun perangkat lunak yang praktis yang membahas semua produksi dari tahap awal, menganalisa kebutuhan pengguna sampai pemeliharaan sistem setelah digunakan.

1.4 PROSES PERANGKAT LUNAK

Suatu proses sebenarnya sekumpulan aktivitas, aksi, dan tugas yang dijalankan ketika suatu pekerjaan dilakukan. Aktivitas biasanya berupaya mencapai tujuan umum dan diterapkan diterapkan tanpa memperhatikan bagian aplikasi, ukuran, kerumitan usaha, dan tingkat fleksibilitas yang diterapkan. Aksi mencakup beberapa tugas yang menghasilkan suatu pekerjaan utama. Tugas berkonsentrasi pada tujuan kecil namun terdefinisi dengan baik yang memberikan hasil nyata.

Suatu kerangka kerja proses membangun pondasi bagi proses rekayasa perangkat lunak yang lengkap dengan cara mengidentifikasi beberapa aktivitas kerangka. Selain itu kerangka kerja mencakup sekumpulan aktivitas yang berperan sebagai penyangga. Kerangka kerja proses yang umum bagi rekayasa perangkat lunak terdiri dari lima aktivitas berikut:

  • Komunikasi. Sebelum pekerjaan teknis dimulai, komunikasi dan kolaborasi dengan pelanggan sangatlah penting untuk memahami tujuan stakeholder atas proyek perangkat lunak yang sedang dikembangkan.
  • Perencanaan. Kegiatan ini untuk menyederhanakan suatu alur yang rumit dengan menciptakan suatu peta yang membantu membimbing tim perangkat lunak.
  • Pemodelan. Kegiatan ini adalah pembuatan sketsa atau gambaran bagaimana bagian-bagian pembentuk memiliki kecocokan dan karakteristik lain. Seorang rekayasawan perangkat lunak melakukan hal tersebut dengan cara membuat baik model untuk memahami kebutuhan perangkat lunak maupun rancangan yang memenuhi kebutuhan tersebut.
  • Konstruksi. Kegiatan ini untuk membentuk kode dan pengujian  yang sangat dibutuhkan untuk menemukan kesalahan dalam kode program yang dihasilkan sebelumnya.
  • Penyerahan perangkat lunak ke pengguna. Perangkat lunak ditunjukan ke pelanggan yang kemudian akan mengevaluasi produk dan akan memberikan tanggapan berdasarkan evaluasi tersebut.

Lima aktivitas kerangka kerja yg umum tersebut biasanya digunakan dalam masa pengembangan program. Rincian proses perangkat lunak bisa berbeda pada setiap kasusnya, namun aktivitas kerangka kerja biasanya tetap sama.

Aktivitas kerangka kerja proses rekayasa perangkat lunak disempurnakan oleh aktivitas yang bertindak sebagai penyangga, kegiatan penyangga pada umumnya mencakup hal-hal berikut ini:

  • Penelusuran dan Kendali memungkinkan tim perangkat lunak melakukan penilaian terhadap progres perangkat lunak yang sedang berjalan.
  • Manajemen Resiko menilai resiko yg mungkin berpengaruh pada hasil akhir proyek perangkat lunak.
  • Penjaminan Kualitas memperjelas dan melakukan kegiatan yang diperlukan untuk memastikan kualitas perangkat lunak.
  • Ulasan menilai produk hasil karya rekayasa perangkat lunak sebagai usaha untuk mencari dan memperbaiki kesalahan.
  • Pengukuran menjelaskan dan mengumpulkan tolok ukur proses dari proyek dan produk yang membantu tim.
  • Manajemen konfigurasi mengatur efek perubahan di seluruh proses perangkat lunak
  • Manajemen penggunaan ulang menjelaskan kriteria bagi pengunaan kembali produk kerja perangkat lunak.
  • Persiapan produk mencakup aktivitas yang diperlukan dalam menciptakan produk kerja seperti model, dokumen, dan catatan.

1.5 PRAKTIK REKAYASA PERANGKAT LUNAK

  1. 5.1 Esensi Praktik

Dalam buku How to Solve It, George Poyla membuat gambaran garis besar esensi pemecahan masalah dan menghasilkan esensi praktik rekayasa perangkat lunak:

  1. Pahami permasalahannya
  2. Rancang Solusinya
  3. Laksanakan rancangannya
  4. Periksa ketepatan hasilnya
  1. 5.2 1.5.2 Prinsip-prinsip Umum
  • Prinsip Pertama: Alasan keberadaan perangkat lunak

Suatu prinsip perangkat lunak ada suatu alasan: memberikan nilai tertentu bagi para pengguna.

  • Prinsip Kedua: Tetap Sederhana

Seluruh rancangan pada dasarnya harus sesederhana mungkin, namun tidak terlalu sederhana sehingga mengabaikan hal yang perlu dicantumkan.

  • Prinsip Ketiga: Pertahankan Visi

Visi yang jelas penting bagi keberhasilan suatu proyek perangkat lunak. Tanpa visi yang jelas proyek perangkat lunak akan berakhir multitafsir.

  • Prinsip Keempat: Apa yang Anda Buat, Akan Digunakan Oleh Konsumen / Pelanggan

Spesifikasikan secara cermat kecocokannya dengan pengguna. Lakukan perancangan dengan mengingat seiapa yang menggunakan nanti.

  • Prinsip Kelima: Membuka Diri Terhadap Mas Depan

Suatu sistem/perangkat lunak yang berjangka panjang memiliki nilai lebih. Sistem/perangkat lunak harus siap beradaptasi dengan segala perubahan.

  • Prinsip Keenam: Rancanglah Selangkah ke Depan Sehingga Dapat Digunakan Kembali

Penggunaan ulang akan menghemat waktu dan tenaga yang diperlukan untuk mengembangkan perangkat lunak.

  • Prinsip Ketujuh: Pikirlah!

Prinsip terakhir ini munkin adalah yang paling sering diabaikan. Menempatkan pikiran yang tepat sebelum bertindak selalu membuahkan hasil yang lebih baik.

1.6 MITOS-MITOS PERANGKAT LUNAK

Mitos perangkat lunak, yaitu keyakinan yang keliru tentang perangkat lunak. Mitos memiliki beberapa atribut yang terkadang bersifat membahayakan.

Mitos Manajemen. Manajer dengan tanggung jawab perangkat lunak,seperti manajer di sebagian disiplin ilmu, sering dibawah tekanan, menjaga jadwal seara ketat, dan meningkatkan kualitas

Mitos Pelanggan. Dalam banyak kasus, pelanggan percaya mitos tentang perangkat lunak karena manajer dan praktisi perangkat lunak mengoreksi informasi yang keliru.

Mitos Praktisi. Mitos yang masih diyakini oleh praktisi perangkat lunak sejak lebih dari 50 tahun adanya pemrograman. Awalnya pemrograman dipandang sebagai bentuk seni.

Mitos perangkat lunak, yaitu keyakinan yang keliru tentang perangkat lunak. Mitos memiliki beberapa atribut yang terkadang bersifat membahayakan.

Mitos Manajemen. Manajer dengan tanggung jawab perangkat lunak,seperti manajer di sebagian disiplin ilmu, sering dibawah tekanan, menjaga jadwal seara ketat, dan meningkatkan kualitas

Mitos Pelanggan. Dalam banyak kasus, pelanggan percaya mitos tentang perangkat lunak karena manajer dan praktisi perangkat lunak mengoreksi informasi yang keliru.

Mitos Praktisi. Mitos yang masih diyakini oleh praktisi perangkat lunak sejak lebih dari 50 tahun adanya pemrograman. Awalnya pemrograman dipandang sebagai bentuk seni.

1.7 BAGAIMANA PROYEK PERANGKAT LUNAK DIMULAI?

Sebuah Proyek Perangkat Lunak dibuat atas dasar kebutuhan dari Masyarakat dalam kehidupan sehari-harinya. Kebutuhan tersebut mulai dari pekerjaan, pendidikan dan yang lainnya. Proyek Perangkat Lunak juga diadakan tidak untuk membuat sebuah system, layanan yang baru tapi juga memperbaiki sebuah system yang sudah rusak atau mengembangkan system yang sudah ada menjadi lebih baik dan lebih kompleks lagi.

            Bagaimana Proyek Perangkat Lunak Dimulai ? Prosesnya pada dasarnya sama yaitu selalu diawali dengan yang namanya Perencanaan Proyek atau Project Planning tersebut. Berikut adalah beberapa hal yang berpengaruh penting pada Planning Project ini :

1.Estimasi

Estimasi (Perkiraan) diperlukan untuk memperkirakan sumber daya, biaya, dan jadwal dalam pembuatan atau pengembangan sebuah perangkat lunak. Berikut adalah ketidakpastian dalam estimasi ini :

  • Project Complexity (Kompleksitas Proyek) merupakan pengukuran relative yang berpengaruh akibat adanya kebiasaan dengan usaha yang telah dilakukan sebelumnya.
  • Project Size (Ukuran Proyek) Sangat berpengaruh dikarenakan bila ukuran bertambah maka tingkat ketergantungan pada elemen perangkat lunak pun akan ikut bertambah juga.
  • Structural Uncertainly (Ketidakpastian Struktural) dapat digunakan untuk melihat masalah-masalah yang akan muncul.

Estimasi ini penting dikarenakan kita dapat memperkirakan apakah client kita sewaktu-waktu mau merubah kebutuhannya akan perangkat lunak yang sedang kita buat.

2.Tujuan Perencanaan Proyek

Tujuan dari perencanaan proyek adalah untuk membuat sebuah kerangka kerja yang berguna untuk membuat sebuah estimasi mengenai sumber daya, biaya, dan jadwal yang kiranya dapat dipertanggungjawabkan.

3.Ruang Lingkup

Ruang Lingkup Perangkat Lunak dibuat guna untuk menggambarkan fungsi, kinerja, batasan, interface, dan reliabilitas. Fungsi berguna untuk memberikan gambaran yang lebih detail saat memulai estimasi. Kinerja berguna untuk melihat proses dan waktu yang dibutuhkan. Batasan sendiri berguna untuk membuat batasan pada perangkat lunak mengenai perangkat keras yang digunakan, memori pengunaan dan system informasi yang ada.

4.Sumber Daya

Sumber daya dibutuhkan untuk menyelesaikan sebuah perangkat lunak yang meliputi beberapa sumber daya yaitu manusia, perangkat lunak dan lingkungan (Perangkat Lunak dan Perangkat Keras).Namun ada juga beberapa karateristik dari masing-masing  sumber daya :

  • Deskripsi Sumber Daya
  • Statemen Ketersediaan
  • Waktu Kronologis Sumber Daya Yang Diperlukan
  • Durasi Waktu Sumber Daya

5.Teknik Dekomposisi

Saat masalah yang terjadi sangat kompleks untuk dipertimbangkan sebagai satu kesatuan, maka kita mendekoposisi masalah, menandainya sebagai serangkaian masalah yang lebih kecil dengan cara berikut :

A.Software Sizing

Estimasi proyek perangkat lunak didasarkan pada sejumlah hal berikut :

  • Mengestimasi ukuran produk dengan tepat dan sesuai.
  • Membagi estimasi dalam berbagai hal dan ukuran.
  • Melihat kemampuan dari tim perangkat lunak.
  • Membuat syarat produk yang mengdukung usaha pengembangan perangkat lunak.

Ada pula pendekatan yang berpengaruh dalam teknik ini yaitu secara langsung dan tidak langsung. Putnam dan Myres mengusulkan 4 pendekatan yaitu :

  • Fuzzy-logic Sizing

Pendekatan yang menggunakan teknik reasoning aproksimasi yang merupakan dasar bagi fuzzy logic(logika kabur). Perencana harus mengidentifikasi tipe aplikasi, membuat besarnya dalam skala kuantitatif, dan menyaring besaran itu dalam bentuk originil.

  • Function Point Sizing

Perencanaan pengembangan estimasi karakteritik domain informasi.

  • Standart Component Sizing

Perangkat lunak dibangun dari sejumlah komponen yang standar yang berbeda-beda yang umum bagi suatu era aplikasi tertentu.

  • Change Sizing

Pendekatan ini digunakan bila proyek melingkupi pemakaian perangkat lunak yang ada harus dimodihikasi dengan banyak cara sebagai bagian dari sebuah proyek.

B.Perkiraan Berdasarkan Masalah

Baris kode(LOC) dan titik fungsi (FP) digambarkan sebagai pengukuran dasar di mana metrik produktivitas dapat dihitung. Data LOC dan FP digunakan dalam dua cara :

  • Sebagai variabel untuk estimasi yang dipakai untuk mengukur masing-masing elemen perangkat lunak
  • Sebagai metrik baseline yang dikumpulkan dari proyek yang lalu dan dipakai dalam hubungannya dengan variabel estimasi untuk mengembangkan proyeksi kerja dan biaya.

6.Keputusan Make-Buy

Keputusan ini menentukan sebagai akhir dari perencaan proyek perangkat lunak dimana ada terdapat beberapa keputusan make buy :

  • Perangkat Lunak dapat dibeli.
  • Komponen perangkat lunak full-experience dan partial-experiance dapat diperoleh dan dikembangkan sendiri.
  • Perangkat lunak dapat dibuat custom-built oleh kontraktor luar untuk memenuhi spesifikasi pembeli.

Pada akhirnya keputusan make-bu ditentukan oleh beberapa kondisi berikut ini :

  • Tanggal Penyampaian
  • Biaya Yang Diperlukan Dukungan

source :