Pengertian Rekayasa Perangkat Lunak Menurut Para Ahli
Menurut Pressman (2010, p. 13) Rekayasa Perangkat Lunak adalah pembuatan dan penggunaan prinsip-prinsip keahlian teknik untuk mendapatkan perangkat lunak yang ekonomis yang handal dan bekerja secara efisien pada mesin yang sesungguhnya. Rekayasa Perangkat Lunak mendirikan suatu pondasi untuk suatu proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah aktifitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak, terlepas dari hal ukuran dan kompleksitas. Lapisan rekayasa peranti lunak terdapat pada gambar.
Gambar Lapisan pada rekayasa peranti lunak
(Sumber Pressman , 2010)
Kerangka Proses (A process Framework)
Menurut Pressman (2010, p. 16) Sebuah kerangka proses menetapkan dasar bagi proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah kecil aktivitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak, tanpa memandang ukuran atau kompleksitas. Selain itu, kerangka proses mencakup serangkaian kegiatan yang berlaku diseluruh proses perangkat lunak.
Berikut kerangka proses (process framework) yang berlaku untuk sebagian besar proses perangkat lunak:
Komunikasi (Communication)
Suatu proses aktivitas kerangka kerja yang melibatkan komunikasi dan kolaborasi dengan pengguna (dan stakeholder lainnya) dan meliputi persyaratan pengumpulan dan kegiatan terkait untuk menyampaian informasi dari satu pihak ke pihak lain.
Perencanaan(Planning)
Suatu proses tujuan salam strategi dan merencanakan aktivitas kerangka kerjayang menetapkan suatu rencana untuk rekayasa perangkat lunak yang menggambarkan tugas-tugas yang akan dilakukan, resiko yang mungkin terjadi, sumber daya yang akan dibutuhkan, pekerjaan produk yang harus dihasilkan, dan jadwal kerja.
Pemodelan (Modeling)
Suatu proses aktivitas kerangka kerja yang meliputi pembuatan model untuk memungkinkan pengembang (developer) dan client agar lebih memahami kebutuhan perangkat lunak (software requirement) dan desain supaya pencapaian kebutuhan tersebut.
Konstruksi (Construction)
Aktivitas kerangka kerja ini menggabungkan kegiatan coding dan pengujian (testing) yang diperlukan untuk mengungkapkan kesalahan dalam code.
Penyebaran (Deployment)
Perangkat lunak diberikan kepada client dimana client yang akan mengevaluasi dan memberikan umpan balik berdasarkan hasil evaluasi.
Preskriptif Model Proses Perangkat Lunak
Menurut Pressman (2010, p39) Setiap organisasi yang membangun suatu perangkat lunak harus menetapkan sebuah kerangka kerja yang unik untuk proses perangkat lunak. Terlepas dari model perangkat lunak yang dipilih, seorang software engineer pada umumnya memilih kerangka proses yang mencakup kerangka kerja: komunikasi (communication), perencanaan (planning), pemodelan (modeling), konstruksi (construction), dan penyebaran (deployment).
Preskriptif model proses perangkat lunak, disebut preskriptif karena model proses menetapkan (mempreskriptif) seperangkat kerangka proses kegiatan, kegiatan rekayasa perangkat lunak, tugas, produk kerja, jaminan mutu (quality assurance), dan perubahan mekanisme kontrol untuk setiap proyek. Setiap model proses perangkat lunak juga menetapkan alur kerja (workflow) yaitu cara dimana elemen-elemen proses terkait satu sama lain.
Model Proses Waterfall
Menurut Pressman (2010, p39) Mode proses waterfall, yang dikenal juga sebagai classic life cycle, adalah model proses yang sistematis, pendekatan yang berurutan dalam pengembangan perangkat lunak yang diawali dengan spesifikasi kebutuhan – kebutuhan (requirements) client dan akan melalui perencanaan (planning), permodelan (modelling), konstruksi (construction), dan deployment, yang berpuncak pada penyelesaian perangkat lunak.
Gambar The Waterfall Model
(Sumber Pressman, 2010)
Unified Modeling Language (UML)
Menurut Pressman (2010, p841) Unified Modeling Language atau disingkat UML merupakan bahasa standar yang digunakan untuk memvisualisasikan, menspesifikasikan, menkonstruksikan, serta mendokumentasikan sebuah sistem software.
Menurut Lethbridge (2011, p. 169) Unified Modeling language (UML) UML adalah standar bahasa grafis untuk memodelkan software berorientasi objek. UML dikembangkan pada pertengahan tahun 1990an oleh James Rumbaugh, Grady Booch, dan Ivar Jacobson dimana mereka telah mengembangkan notasi mereka masing-masing pada awal 1990an. Pada November 1997, UML diresmikan sebagai standar untuk pemodelan objek oleh Object Management Group (OMG).
Use Case Diagram
Menurut Whitten, Bentley & Dittman (2004, p. 271) Use case modeling adalah sebuah pendekatan yang memfasilitasi pengembangan yang berpusat pada penggunaan. Use case diagram digunakan untuk memodelkan proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.
Ada beberapa relasi yang terdapat pada use case diagram:
1. Association adalah sebuah relasi antara actor dan use case, dimana sebuah interaksi terjadi diantara actor dan use case tersebut.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah elemen bergantung dalam beberapa cara ke elemen lainnya.
Contoh penggunaan use case diagram:
Gambar Contoh penggunaan use case diagram
Class Diagram
Menurut Whitten, Bentley & Dittman.(2004, p441), class diagram menggambarkan struktur objek yang terdapat pada sebuah sistem. Diagram ini menunjukkan objek – objek yang terdapat pada suatu sistem dan relasi antar objek – objek tersebut. Class memiliki tiga area pokok yaitu : Nama, Atribut dan Metoda/Operation. Atribut dan Metoda dapat mempunyai sifat Private (tidak dapat dipanggil dari luar class), Protected (Hanya dapat dipanggil oleh class yang bersangkutan dan anak yang mewarisinya) dan Public (dapat dipanggil siapa saja). Berikut adalah contoh dari sebuah kelas.
Gambar Class Diagram
Sequence Diagram
Menurut Whitten, Bentley & Dittman.(2004, p663), sequence diagram adalah diagram yang memodelkan logika sebuah usecase dengan cara menggambarkan interaksi di antara objek – objek rangkaian waktu.
Gambar Sequence Diagram
Gambar Komponen Sequence Diagram
Activity Diagram
Menurut Whitten, Bentley & Dittman.(2004, p442), activity diagram digunakan untuk menggambarkan alur dari proses bisnis atau langkah – langkah usecase secara berurutan. Diagram ini juga digunakan untuk menggambar action (tindakan) yang akan dieksekusikan ketika suatu proses sedang berjalan dan berserta hasil daro proses eksekusi tersebut.
Gambar Activity Diagram
Entity Reliationship Diagram (ERD)
Menurut Whitten, Bentley & Dittman (2004, p280) pemodelan data adalah teknik untuk mendefinisikan persyaratan bisnis untuk sebuah database atau teknik yang digunakan untuk mengatur dan mendokumentasikan data sistem. Biasanya disebut dengan database modeling atau pemodelan database. Terdapat beberapa alat atau tools yang digunakan untuk membuat pemodelan data. Salah satunya adalah Entity Reliationship Diagram (ERD) yang merupakan pemodelan data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang digambarkan oleh data tersebut.
Menurut Connoly dan Begg (2010, p330) ERD menggambarkan strukturlogika dari database ke dalam bentuk diagram. ERD menyediakan cara yang sederhana dan mempermudah untuk memahami berbagai komponen dalam desain database. Berikut adalah komponen-komponen pembentuk ERD:
Entitas
Menurut Connoly dan Begg (2010, p372). Entitas adalah kelompok orang, tempat, objek, kejadian atau konsep tentang apa yang diperlukan untuk men-capture dan menyimpan data, serta untuk direpresentasikan ke dalam database.
Relasi
Menurut Connoly dan Begg (2010, p375). Yang dimaksud dengan relasi disini adalah asosiasi atau hubungan antar entitas. Entitas menjadi awal dan akhir dari hubungan. Hubungan dapat digambarkan dengan bentuk belah-ketupat berisi nama dari relasi yang dimaksud.
Tipe relasi dalam ERD menurut Connoly dan Begg (2010, pp385-389) adalah:
One to One (1:1) Relasi/hubungan dimana tiap entitas yang ada hanya dapat memiliki maksimum satu relasi dengan entitas lainnya.
One to Many (1:*) Relasi/hubungan dimana tiap entitas yang ada dapat memiliki satu atau lebih relasi/hubungan dengan entitas lainnya.
Many to Many (*:*) Relasi/hubungan dimana tiap entitas dapat memiliki lebih dari satu relasi dengan entitas lainnya.
Atribut
Menurut Connoly dan Begg (2010, p379) atribut merupakan properti dari sebuah entitas.
Menurut Whitten, Bentley & Dittman (2004, p281) atribut adalah sifat atau karakteristik deskriptif suatu entitas, sinonimnya antara lain elemen, sifat, dan bidang. Atribut memiliki nilai yang menjelaskan setiap kejadian entitas dan merepresentasi bagian utama dari kata yang disimpan dalam database. Berikut adalah metodologi untuk membentuk ERD menurut (Roger S. Pressman 2001, p319):
- Definisikan objek/entitas-entitas yang terlibat.
- Analisis dan tentukan hubungan antar objek dan entitas yang terkait.
- Membuat satu atau lebih relationship untuk setiap hubungan objek.
- Lakukan pemetaan kardinalitas dan modalitas untuk setiap pasangan terelasi.
Pesan Antar
Pesan Antar adalah dokumen yang berfungsi sebagai surat perintah penyerahan barang kepada pembawa surat tersebut, yang ditujukan kepada bagian yang menyimpan barang ( Bagian gudang ) milik perusahaan atau bagian gudang perusahaan lain yang memiliki konsensus dengan perusahaan yang menerbitkan pesan antar. Pesan antar tidak berpengaruh terhadap persediaan. Selanjutnya dokumen ini berfungsi sebagai bukti pengeluaran barang atas perintah yang menerbitkan pesan antar.
Bila dokumen ini ditujukan kepada gudang milik perusahaan yang menerbitkan diperlukan sebanyak 3 lembar.
1. Lembar ke 3 sebagai arsip bagian yang menerbitkan.
2. Lembar ke 2 sebagai arsip yang mengeluarkan barang ( bagian Gudang).
3. Lembar ke 1 sebagai bukti transaksi yang digunakan untuk pembuatan tagihan.
Rumah Makan
Menurut Radith (2008, p12), Rumah makan adalah usaha yang meyajikan hidangan kepada konsuennya dan menyediakan tempat untuk menikmati hidangan tersebut serta menetapkan tarif tertentu untuk makanan dan pelayanannya.
Aplikasi
Menurut (Shelly, Cashman, Vermant, 2009 p 57), Aplikasi adalah seperangkat instruksi khusus dalam computer yang di rancang agar kita menyelesaikan tugas – tugas tertentu. Sebagai contoh aplikasi word processing adalah sebuah aplikasi yang di peruntukkan membuat dokumen tertulis, aplikasi web browser adalah aplikasi yang di peruntukkan untuk mencari sesuatu dan menampilkan halaman web.
Smartphone
Telepon genggam yang mempunyai kemampuan tingkat tinggi, kadang-kadang dengan fungsi yang menyerupai komputer. Belum ada standar pabrik yang menentukan definisi smartphone. Bagi beberapa orang, smartphone merupakan telepon yang bekerja menggunakan seluruh piranti lunak sistem operasi yang menyediakan hubungan standar dan mendasar bagi pengembang aplikasi. Ponsel berjenis high-end yang mengkombinasikan fungsi dari Personal Digital Assistant (PDA) dan ponsel. Model pada masa kini biasanya berfungsi sebagai portable media player dan camera phone dengan touch screen resolusi tinggi, web browser yang dapat mengakses dan menampilkan halaman web standar dengan baik daripada hanya website untuk mobile, navigasi GPS, wi-fi dan mobile broadband access.
Smartphone menjalankan mobile operating system seperti Android, iOS, Windows Phone, Symbian, Blackberry OS, dan Linux. Sistem seperti itu dapat di - install di banyak model ponsel, dan biasanya setiap perangkat dapat menerima beberapa update sistem operasi. Smartphone menjalankan third-party application yang dapat memungkinkan aplikasi tersebut memiliki intregrasi lebih baik dengan sistem operasi ponsel dan hardware-nya daripada ponsel dengan fitur biasa.