• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
13
0
0

Teks penuh

(1)

LANDASAN TEORI

2.1Rekayasa Perangkat Lunak

Rekayasa perangkat lunak atau biasa dikenal dengan Software merupakan kombinasi antara program, basis data dan dokumentasi di dalamnya, yang dibuat dengan tujuan untuk memecahkan masalah yang sudah di tentukan requirement-nya atau kebutuhan.. Tanpa software , komputer hanyalah sebuah kotak elektronik yang tidak digunakan khusus untuk sebagian umat manusia. [Elvis C. Foster, 2014 : 26]

Software terdiri dari data yang diprogram dan disimpan secara digital yang berisi instruksi-instruksi yang akan dibaca dan ditulis oleh komputer. Software menyediakan fungsi dan kinerja yang diinginkan, struktur data yang memungkinkan program memanipulasi informasi yang cukup untuk dimengerti, serta dokumen yang menggambarkan operasi dan penggunaan dari program. [Roger S. Pressman, 2015 : 4]

Tujuan dari rekayasa perangkat lunak adalah :

1. Memperoleh biaya produksi perangkat lunak yang rendah.

2. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu.

3. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.

4. Menghasilkan perangkat lunak yang biaya perawatannya rendah.

Dasar untuk rekayasa perangkat lunak adalah lapisan proses. Proses rekayasa perangkat lunak adalah proses yang terus berulang, karena karakteristik perangkat lunak yang membutuhkan pemeliharaan dan pengembangan berkelanjutan agar perangkat lunak tidak kadarluasa. Dalam proses pemeliharaan dilakukan koreksi kesalahan, adaptasi kebutuhan, peningkatan kemampuan atau fungsi dan bentuk pencegahan lainnya agar perangkat lunak tersebut tidak kadarluasa. [Roger S. Pressman, 2015 : 15]

(2)

Alat rekayasa perangkat lunak merupakan unsur yang mendukung proses dan metode. Ketika alat-alat yang terhubung satu sama lain dan memberi informasi, serta informasi yang dibuat oleh salah satu alat dapat digunakan oleh yang lain, sistem untuk mendukung pengembangan perangkat lunak dapat dibangun dengan menggunakan bantuan komputer. [Roger S. Pressman, 2015 : 16]

2.2Waterfall Model

Waterfall Model dapat juga disebut sebagai Classic Life Cycle. Menunjukkan

sebuah pendekatan sistematis untuk pengembangan perangkat lunak. Diawali dengan communication, planning, modelling, construction, dan deployment. [Roger S. Pressman, 2015: 39]

Berikut proses/fase generik yang berlaku untuk sebagian besar proyek perangkat lunak : [Roger S. Pressman, 2015 : 17]

1. Komunikasi

Kegiatan kerangka ini melibatkan komunikasi berat dan bekerja sama dengan pelanggan (dan stakeholder lainnya) dan mencakup pengumpulan persyaratan dan kegiatan terkait lainnya. Pada fase ini mengidentifikasi informasi apa yang akan diproses, apa fungsi dan kinerja yang diinginkan, perilaku sistem apa yang dapat diharapkan, apa antarmuka yang akan didirikan, apa desain kendala yang ada, dan apa kriteria validasi yang diperlukan untuk menentukan sistem yang sukses. Meskipun metode yang diterapkan selama fase definisi akan bervariasi tergantung pada paradigma rekayasa perangkat lunak (atau kombinasi paradigma) yang diterapkan, tiga tugas utama akan terjadi dalam beberapa bentuk: sistem atau teknik informasi, perencanaan proyek perangkat lunak, dan analisis kebutuhan. 2. Perencanaan

Kegiatan ini menetapkan rencana untuk pekerjaan rekayasa perangkat lunak yang mengikuti. Ini menggambarkan tugas-tugas teknis yang akan dilakukan, risiko yang mungkin, sumber daya yang akan diperlukan, produk pekerjaan yang harus diproduksi, dan jadwal kerja.

(3)

Kegiatan ini meliputi pembuatan model pengembang dan pelanggan untuk lebih memahami kebutuhan perangkat lunak dan desain yang akan mencapai kebutuhan tersebut. Kegiatan ini akan semakin mendetailkan permasalahan dan bagaimana cara menyelesaikan masalah tersebut.

4. Konstruksi

Apa yang didesain sebelumnya akan mulai dibuat pada fase ini. Kegiatan ini menggabungkan kode generasi (baik manual atau otomatis) dan pengujian yang diperlukan untuk mengungkap kesalahan dalam kode. 5. Deployment

Perangkat lunak (sebagai entitas lengkap atau entitas yang sebagian sudah selesai) dikirimkan ke pelanggan/User agar pelanggan/User mengevaluasi perangkat lunak yang sudah dibuat dan memberikan umpan balik berdasarkan evaluasi tersebut agar bisa diperbaiki atau dikembangkan. 2.3UML

UML (Unified Modelling Language) adalah sebuah teknik desain perancangan atau blueprint perangkat lunak yang berorientasi objek (OOP) sebelum melakukan pembuatan aplikasi (coding). UML dapat digunakan untuk memvisualisasikan, menentukan, membangun, dan mendokumentasikan artifak dari suatu perangkat lunak. [ Roger S. Pressman, 2015 : 869]

2.3.1 Use Case Diagram

Use case menggambarkan serangkaian kegiatan yang dilakukan untuk menghasilkan beberapa hasil output. Setiap use case menggambarkan bagaimana pengguna eksternal memicu suatu peristiwa yang sistem harus merespon. Misalnya, dalam sistem toko video, pelanggan mungkin menyewa DVD atau mengembalikan DVD, atau DVD yang dikembalikan menjadi terlambat. Tindakan menyewa atau kembali DVD dan berlalunya waktu peristiwa memicu serangkaian kegiatan dimana sistem harus melakukan sesuatu. Bila tidak ada event sistem akan dalam keadaan menunggu. Dengan jenis event modeling, segala sesuatu dalam sistem dapat dianggap sebagai respon terhadap suatu peristiwa pemicu. Ketika event pemicu terjadi, sistem (dan orang-orang menggunakannya) merespon,

(4)

melakukan tindakan yang ditetapkan dalam kasus penggunaan, dan kemudian kembali ke keadaan menunggu. [Alan Dennis, 2012 : 149]

Use Case Diagram adalah design untuk menggambarkan interaksi antara aktor dengan sistem yang membentuk peran dan aktifitas dalam suatu sistem [Roger S. Pressman, 2015 : 149]. Berikut adalah beberapa simbol yang digunakan di usecase :

Tabel 1 Komponen Use Case Diagram [Roger S. Pressman, 2015 : 149]

Simbol Nama

Elemen

Keterangan

Aktor Aktor adalah seseorang atau sesuatu yang berperan untuk berinteraksi dengan sistem tetapi tidak memiliki kontrol akan use case.

UseCase Simbol UseCase menggambar kan fungsionalitas dari sistem, sehingga pengguna paham mengenai manfaat dari sistem yang dibangun

Asosiasi Penghubung antar elemen ( aktor / UseCase ) di dalam sistem

Generalisasi Sebuah elemen yang dihasilkan dari pewarisan elemen lain

Batasan sistem

Area yang digunakan untuk menempatkan usecase sebagai batasan apa yang dilakukan sistem

(5)

Gambar 2 Use Case Diagram [Roger S.Pressman, 2015 : 179]

2.3.2 Activity Diagram

Activitydiagram adalah sebuah diagram alur kerja yang menjelaskan berbagai kegiatan pengguna atau sistem, orang yang melakukan masing – masing aktivitas dan aliran sekuensial dari aktivitas–aktivitas tersebut. [John W. Satzinger, Robert B. Jackson, Stephen D. Burd, 2010, System Analysis and Design in a Changing World]. Activity diagram lebih diperuntukan sebagai gambaran business process suatu sistem dimulai dari awal sampai akhir. Activity diagram hampir sama seperti flowchart hanya saja activity bisa bersifat paralel.

Activity Diagram adalah bagan diagram yang merepresentasikan analis dengan tujuan untuk memodelkan alur proses dan hubungan antar proses dalam suatu sistem informasi dan juga berisikan tentang skenario yang ada dalam sistem tersebut [Roger S. Pressman, 2015 : 180].

Berikut komponen–komponen yang ada di dalam sebuah model Activity Diagram :

Tabel 2 Komponen Activity Diagram [Roger S. Pressman, 2015 : 180]

Simbol Nama Elemen Keterangan

Aktifitas Notasi yang menggambarkan aktor dari proses dalam aliran pekerjaan.

Transisi Notiasi yang digunakan mem- perlihatkan aliran kontrol dari satu aktifitas ke aktifitas lain.

(6)

Simbol Nama Elemen Keterangan

Decision Notasi yang menandakan ada- nya kontrol cabang berdasarkan decision point.

Awalan & Akhiran

Notasi yang menandakan awal dan akhir dari sebuah aktifitas system.

Contoh untuk penggunaan Activity Diagram dalam pembangunan sistem.

Gambar 3 Activity Diagram [Roger S.Pressman, 2015 : 180]

2.3.3 Sequence Diagram

Sequence Diagram adalah diagram yang menjelaskan interaksi antar objek yang disusun berdasarkan waktu proses berlangsung. Diagram ini digunakan untuk menggambarkan tahap demi tahap yang harus dilakukan oleh pengguna sistem untuk menghasilkan sesuatu dari use case diagram yang sudah dibuat [Roger S. Pressman , 2015 : 205].

Berikut adalah beberapa komponen yang sangat berpengaruh dalam pembentukan sebuah Sequence Diagram :

(7)

Tabel 3 Komponen Sequence Diagram [Roger S. Pressman, 2015 : 205]

Simbol Nama Elemen Keterangan

Objek Komponen yang menjadikan sebuah objek dalam membuat diagram

Stimulus Untuk menandakan hubungan komunikasi antar objek

Self Stimulus Fungsi sama dengan Stimulus, tetapi pesan yang disampaikan dikirimkan untuk objek itu sendiri Focus Control Sebagai tempat untuk hasil input atau output dari

sebuah proses yang dilakukan oleh objek ataupun aktor yang ada dalam sistem

Contoh untuk penggunaan Sequence Diagram dalam pembangunan sistem :

Gambar 4 Sequence Diagram [Roger S.Pressman, 2015 : 206]

2.3.4 Class Diagram

Class Diagram adalah diagram yang menunjukkan class-class yang ada dari sebuah sistem dan saling berhubungan secara logika [Roger S. Pressman, 2015 : 192]. Diagram ini menggambarkan struktur statis dari sebuah sistem. Karena itu, class diagram merupakan tulang punggung atau kekuatan dasar dari hamper setiap metode berorientasi objek termasuk UML ( Unified Modeling Language ).

Berikut komponen–komponen yang harus dipakai dalam pembuatan class diagram

(8)

Tabel 4 Komponen Class Diagram [Roger S. Pressman, 2015 : 192]

Simbol Nama Elemen Keterangan

Kelas Simbol untuk membangun sebuah pemrograman dengan objek

Terdiri 3 bagian, bagian atas adalah nama kelas, bagian tengah adalah atribut, dan bagian bawah adalah metode dari kelas tersebut

Garis Asosiasi Simbol yang menggambarkan adanya hubungan antara satu kelas dengan kelas lainnya

Generalisasi Simbol yang menandakan adanya generalisasi dari kelas input untuk menghasilkan data yang dibutuhkan

Contoh untuk penggunaan Class Diagram dalam pembangunan sistem.

(9)

2.4Studi Pustaka Penelitian

2..4.1 Sistem Informasi Geografis (SIG)

Menurut Rhind (Heywood, 2011) sistem informasi geografis adalah sistem komputer yang dapat menyimpan dan menggunakan data yang menggambarkan tempat-tempat di permukaan bumi.

Menurut Burrough (Heywood, 2011) sistem informasi geografis adalah satu set alat untuk mengumpulkan, menyimpan, memeriksa, mengintegrasikan, memanipulasi, menganalisa dan menampilkan data dari dunia nyata untuk satu set tujuan tertentu.

Menurut Department of Environment (Heywood, 2011) sistem informasi geografis lebih mengacu terhadap sistem yang berguna untuk menangkap, menyimpan, memeriksa, mengintegrasikan, memanipulasi, menganalisa dan menampilkan data yang secara spasial direferensikan ke bumi.

Menurut Budiyanto dkk. dalam penelitiannya (JNTETI, 2012), sistem informasi geografis dapat membantu memetakan suatu titik bahkan daerah ke dalam informasi garis lintang dan garis bujur (longitude dan latitude), yang berguna dalam pengambilan keputusan untuk lokasi peletakan alat pendeteksi sensor suhu.

Dengan demikian, secara sederhana sistem informasi geografis dapat diartikan sebagai suatu sistem komputer yang dapat mengolah, mengintegrasikan serta menampilkan tempat-tempat di permukaan bumi. Sistem informasi geografis yang baik harus mempu menyediakan kemampuan seperti:

1. Akses yang cepat dan mudah untuk mengelola data dalam jumlah yang besar.

2. Mempunyai kemampuan untuk:

a. Memilih detail berdasarkan area atau tema tertentu.

b. Menyambungkan atau menggabungkan satu set data dengan yang lainnya.

(10)

d. Mencari karakteristik tertentu di dalam suatu area.

e. Pembaharuan data dapat dilakukan dengan cepat dan murah. f. Memodelkan data dan mengkaji alternatif.

3. Kemampuan output (peta, grafik, daftar alamat dan rangkuman statistik) disesuaikan untuk memenuhi kebutuhan tertentu.

2..4.2 Mobile Application

Istilah aplikasi telah berevolusi menjadi perangkat lunak yang telah secara khusus dirancang untuk berada pada platform mobile (mis., IOS, Android, atau Windows Mobile). Pada kebanyakan contoh, aplikasi mobile mencakup tampilan atau User interfaces yang mengambil keuntungan dari mekanisme interaksi yang unik memberikan akses ke berbagai macam informasi yang relevan dengan aplikasi, dan kemampuan pemrosesan lokal dari data yang dikumpulkan, menganalisis, dan memformat informasi dengan cara yang paling cocok untuk platform mobile. Selain itu, aplikasi mobile memberikan kemampuan penyimpanan permanen dalam platform mobile tersebut. [Roger S. Pressman, 2015 : 9]

2.5Materi Pembuatan Aplikasi

1. PHP + SlimFramework

PHP atau yang memiliki kepanjangan PHP Hypertext Preprocessor merupakan suatu bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, web akan sangat mudah di-maintenance. [Agus Saputra, 2011 :1]

PHP adalah kependekan dari PHP Hypertext Preprocessor, bahasa interpreter yang mempunyai kemiripan dengan bahasa C dan Perl yang mempunyai

(11)

kesederhanaan dalam perintah, yang digunakan untuk pembuatan aplikasi web. [Sidiq, 2004 : 3]

Slim Framework merupakan framework PHP yang ramping dan merupakan salah satu micro framework yang memiliki fitur-fitur standard untuk pengembang yang sangat mudah digunakan pada penggunaannya. [https://www.slimframework.com/docs/]

2. Ionic Framewok

Ionic merupakan satu dari beberapa hybrid framework yang merupakan turunan dari PhoneGap dan cukup populer di dunia. Framework ini dibuat diatas AngularJS dan biasa digunakan untuk membuat aplikasi yang sederhana dan tidak membutuhkan waktu yang lama dalam pengembangan aplikasi.

Selain itu menurut website resmi Ionic

(http://ionicframework.com/docs/v1/overview/), Framework ini juga datang dengan desain yang mirip dengan aplikasi native yang telah disesuaikan dengan mobile UI elements. Ionic juga mempunyai integrasi yang baik dengan cordova device API, yang berarti kita dapat mengakses perangkat keras menggunakan library yang disediakan oleh pengembang, contohnya adalah ngCordova.

3. Definisi Basis Data

Basis data terdiri atas 2 kata, yaitu basis dan data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang diwujudkan dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya. [Fathansyah, 2015 : 2]

Sebagai satu kesatuan istilah, Basis Data (Database) sendiri dapat didefinisikan dalam sejumlah sudut pandang seperti :

(12)

1. Himpunan kelompok data (arsip) yang saling berhubungan diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.

2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.

3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.

Basis data adalah repository tunggal yang memungkinkan penggunaan data dilakukan bersamaan oleh banyak departemen dan pengguna. Basis data bukan file terputus dengan data yang berlebihan , tetapi semua item data terintegrasi dengan jumlah minimum duplikasi. Basis data tidak lagi dimiliki oleh satu departemen tetapi adalah sumber daya perusahaan bersama. Database memegang tidak hanya organisasi data operasional tetapi juga deskripsi data. Untuk alasan ini, database juga didefinisikan sebagai kumpulan diri yang menggambarkan catatan yang terintegrasi. Deskripsi data tersebut dikenal sebagai sistem katalog (atau kamus data atau metadata - yang 'data tentang data'). Basis data mewakili entitas, atribut, dan hubungan logis antara entitas. Dengan kata lain, database menyimpan data yang logis terkait. [Thomas M. Connolly & Carolyn E. Begg, 2005 : 4]

4. DBMS dan MySQL

Database Management System (DBMS) adalah aplikasi yang dipakai untuk mengelola basis data. DBMS biasanya menawarkan beberapa kemampuan yang terintegrasi seperti:

1. Membuat, menghapus, menambah dan memodifikasi basisdata.

2. Pada beberapa DBMS pengelolaannya berbasis windows (bentuknya seperti jendela-jendela) sehingga mudah digunakan.

3. Tidak semua orang bisa mengakses basisdata yang ada sehingga memberikan keamanan bagi data.

4. Kemampuan berkomunikasi dengan program aplikasi yang lain. Misalnya dimungkinkan untuk mengakses basis data MySQL menggunakan aplikasi yang dibuat menggunakan PHP.

(13)

5. Kemampuan pengaksesan melalui komunikasi antar computer (client server). MySQL adalah salah satu aplikasi DBMS yang sudah sangat banyak digunakan oleh para pemrogram aplikasi web. Contoh DBMS lainnya adalah : PostgreSQL (freeware), SQL Server, MS Access dari Microsoft, DB2 dari IBM, Oracle, Foxpro dan sebagainya.

Kelebihan dari MySQL adalah gratis, handal, selalu di-update dan banyak forum yang memfasilitasi para penggunak jika memiliki kendala. MySQL juga menjadi DBMS yang sering dibundling dengan web server sehingga instalasinya jadi lebih mudah. [Hidayatullah, Priyanto. 2015]

5. XAMPP

XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis atau auto konfigurasi. XAMPP berfungsi sebagai server lokal pada komputer yang digunakan untuk menjalankan aplikasi berbasis web. [Suehring, Steve. 2013].

Gambar

Tabel 1 Komponen  Use Case Diagram [Roger S. Pressman, 2015  : 149]
Gambar 2 Use Case Diagram [Roger S.Pressman, 2015 : 179]
Gambar 3 Activity Diagram [Roger S.Pressman, 2015 : 180]
Tabel 3 Komponen  Sequence Diagram [Roger S. Pressman, 2015  : 205]
+2

Referensi

Dokumen terkait

Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Direktorat Jenderal Bina Marga, Kementerian Pekerjaan Umum dan Perumahan Rakyat.. DAFTAR

Sikap bersangkutan dengan dimensi waktu, yang berarti sikap hanya cocok pada situasi tertentu, yang belum tentu sesuai dengan waktu lain, karena itu sikap dapat berubah-ubah

teknik penerjemahan terhadap kualitas terjemahan serta dampak bagi anak sebagai penonton target pada dubbing interpersonal-transaksional: proposal film Thomas

Perangkapan kepemimpinan dapat dengan mudah digunakan pemimpin untuk mengakumulasi kekuasaan dengan alasan demi kepentingan masyarakat, sehingga munculnya

Berdasarkan perhitungan statistik dari unsur logam dalam conto tanah, menunjukkan adanya anomali Au terutama menempati bagian timur yang berhubungan dengan mineralisasi

Sebaliknya individu yang memiliki tingkat pe- ngetahuan tentang agama yang rendah akan melakukan perilaku seks bebas tanpa berpikir panjang terlebih dahulu sehingga

Pada grafik percobaan menggunakan selang dengan diameter 3/4 tekanan tertinggi mencapai 0.28 pada variasi 7 dimana katup 1 ditutup penuh dan katup 2 ditutup 45 derajat, hal ini

4 Kantor Kesehatan Pelabuhan (KKP) Kls II Palembang Perawat D-III Keperawatan II/c 1.. Epidemiolog Kesehatan/Sanitarian D-III Kesehatan