BAB II LANDASAN TEORI
2.1
Pengertian Rekayasa Perangkat Lunak ( RPL ) Rekayasa Perangkat Lunak (software engineering) menurut ( Pressman,
2002), adalah pengembangan dan penggunaan prinsip pengembangan suara untuk memperoleh perangkat lunak secara ekonomis yang dapat dipercaya (reliable) dan dapat bekerja secara efisien pada mesin nyata. Rekayasa Perangkat Lunak yang baik menurut ( Rosa & Shalahuddin, 2013),dalam bukunya yang berjudul “Rekayasa perangkat Lunak Terstruktur dan Berorientasi Objek” Perangkat Lunak yang fokus pada penguna atau pelanggan (customer) atau user . yang setiap fase dialamatkan pada satu atau lebih pertanyaan yang di ajukan sebelumnya. 2.2
Motode Perangkat Lunak Pada rekayasa perangkat lunak, banyak model yang telah
dikembangkan untuk membantu proses pengembangan perangkat lunak. Modelmodel ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada Gambar dibawah ini:
Gambar 2.1 System Development Life Cycle (SDLC)
6 http://digilib.mercubuana.ac.id/
7
Ada banyak model pengembangan perangkat lunak, Beberapa diantaranya adalah Waterfall Model dan Prototyping Model.
2.2.1 Waterfall Model (Air Terjun) Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing/verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.
Waterfall Model adalah sebuah metode pengembangan software yang bersifat sekuensial dan terdiri dari 6 tahap yang saling terkait dan mempengaruhi seperti terlihat pada gambar berikut :
Gambar 2.2 Pemodelan Waterfall Sumber:http://nasirudin.blog.ugm.ac.id/metode-pengembangan-software/
http://digilib.mercubuana.ac.id/
8
Gambar di atas adalah tahapan umum dari model proses ini. Akan tetapi (Pressman, 2002) Memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall. 1.
Tahapan Analisis Ditahapan ini dilakukan analisa atas apa saja kebutuhan perangkat lunak, keluarannya dapat berupa spesifikasi kebutuhan perangkat lunak.
2.
Tahapan Desain Semua kebutuhan perangkat lunak dalam tahapan ini diubah kedalam bentuk arsitektur perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak sulit untuk diaplikasikan.
3.
Tahapan Pengkodean Setelah adanya perancangan dari tahapan tahapan sebelumnya, maka dilakukannya pengkodean baris – baris dari program
4.
Testing Setelah rampung dalam melakukan semua tahapan tahapan, maka dilakukan pengujian atas perangkat lunak. Pengujian ini dimaksudkan dengan melihat setiap detail yang ada, jika ada masalah atau hal hal yang tidak sesuai dengan desain maupun dengan tahapan tahapan sebelumnya, maka dilakukan perbaikan. Jika tidak ada, maka dalam perangkat lunak ini bisa langsung diintergrasi ke dalam bentuk yang sempurna atau utuh.
5.
Tahapan Pemeliharaan Pada penerapan yang dilakukan, sebuah perangkat
lunak dapat
sajamengalami kendala baik itu secara tekhnis atau non teknis, maka bisa dilakukan maintenance
dari sisi system
atau perangkat lunak untuk
dilakukan peningkatan atau perbaikan.
2.2.2 Model Prototipe Model Prototipe dapat digunakan untuk menyambungkan ketidakpahaman pelanggan mengenai hal teknis dan memperjelas spesifikasi kebutuhan yang diinginkan pelanggan kepada pengembang perangkat lunak.
http://digilib.mercubuana.ac.id/
9
Gambar 2.3 Pemodelan Prototipe ( Rossa & Shalahudin 2011)
Menurut (Rosa & Shalahuddin, 2011), Model ini cocok digunakan untuk menggali spesifikasi kebutuhan pelanggan secara lebih detail tetapi beresiko tinggi terhadap membengkaknya biaya dan waktu proyek.
2.3
Sistem Sistem berasal dari bahasa Latin (systema) dan bahasa Yunani (sustema)
adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama ntuk memudahkan aliran informasi, materi atau energi. Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas yang berinteraksi, dimana suatu model atematika seringkali bisa dibuat. Menurut (Kristanto, 2008), suatu sistem adalah jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu. Sistem juga merupakan kesatuan bagian-bagian yang saling berhubungan yang berada dalam suatu wilayah serta memiliki item-item penggerak, contoh umum misalnya seperti negara. Negara merupakan suatu kumpulan dari beberapa elemen kesatuan lain seperti propinsi yang saling berhubungan sehingga membentuk suatu negara dimana yang berperan sebagai penggeraknya yaitu rakyat yang berada dinegara tersebut.
http://digilib.mercubuana.ac.id/
10
Kata "sistem" banyak sekali digunakan dalam percakapan sehari-hari, dalam forum diskusi maupun dokumen ilmiah. Kata ini digunakan untuk banyak hal dan pada banyak bidang pula sehingga maknanya menjadi beragam. Dalam pengertian yang paling umum, sebuah sistem adalah sekumpulan benda yang memiliki hubungan di antara mereka. Kata "sistem" banyak sekali digunakan dalam percakapan sehari-hari, dalam forum diskusi maupun dokumen ilmiah. Kata ini digunakan untuk banyak hal dan pada banyak bidang pula sehingga maknanya menjadi beragam. Dalam pengertian yang paling umum, sebuah sistem adalah sekumpulan benda yang memiliki hubungan di antara mereka. Dari definisi ini dapat disimpulkan pengertian sistem secara umum, yaitu sebagai berikut: 1.
Setiap sistem terdiri dari berbagai unsur. Unsur-unsur suatu sistem terdiri dari subsistem yang lebih kecil, yang terdiri pula dari kelompok-kelompok unsur yang membentuk subsistem tersebut.
2.
Unsur-unsur tersebut merupakan bagian yang tak terpisahkan dari sistem yang bersangkutan. Unsur-unsur sistem berhubungan erat satu sama lain dimana sifat serta kerjasama antar unsur dalam sistem tersebut mempunyai bentuk tertentu.
3.
Unsur-unsur di dalam sistem tersebut bekerja sama untuk mencapai tujuan sistem. Setiap sistem mempunyai tujuan tertentu.
4.
Suatu sistem merupakan bagian dari sistem lain yang lebih besar.
2.4
Informasi Informasi adalah pengetahuan dari hasil pengolahan data-data yang
berhubungan menjadi sebuah kesimpulan. Beberapa data dapat dinyatakan sebagai informasi bila dari sedikit data tersebut sudah dapat ditarik sebuah kesimpulan.Karakteristik dari informasi adalah, penerima informasi mengalami perubahan dari kondisi (state) belum mengetahui menjadi kondisi (state) mengetahui.
http://digilib.mercubuana.ac.id/
11
Perubahan ini mengandung unsur tidak terduga. Informasi yang benar dan baru dapat mengkoreksi dan mengkonfirmasi informasi sebelumnya. Informasi dapat juga dikatakan sebagai data yang telah diproses, yang mempunyai nilai tentang tindakan atau keputusan.
Gambar 2.4 Definisi Sistem Informasi (Abdul Kadir, 2014) Menurut (Sutabri, 2012 ), Informasi merupakan proses lebih lanjut dari data yang sudah memiliki nilai tambah, dan informasi itu sendiri dapat dikelompokan menjadi 3 Bagian, yaitu: 1.
Informasi Strategis. Informasi ini digunakan untuk mengambil keputusan jangka panjang, yang mencakup informasi eksternal, rencana perluasan perusahaan, dan sebagainya.
2.
Informasi Taktis. Informasi ini dibutuhkan untuk mengambil keputusan jangka menengah
3.
Informasi teknis. Informasi ini dibutuhkan untuk keperluan oprasional sehari – hari, seperti informasi persedian stock, retur penjualan, dan laporan kas harian.
http://digilib.mercubuana.ac.id/
12
2.5
Database
1.
Database adalah sekumpulan file di komputer yang saling terhubung. Filefile ini diatur sesuai kesamaan elemennya, sehingga data yang diingikan dapat dicari secara mudah (Williams & Sawyer, 2007).
2.
Database relasional adalah database dengan format data terorganisasi dalam table-tabel terhubung satu sama lain. Database jenis ini yang paling umum digunakan (Williams & Sawyer, 2007).
3.
Database Konseptual adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh perusahaan atau organisasi tanpa pertimbangan perancangan fisik (Conolly & Begg, 2005).
4.
Database Logikal adalah proses untuk membuat sebuah rancangan informasi yang digunakan dalam perusahaan berdasarkan suatu model spesifik (Conolly & Begg, 2005).
5.
Database fisikal adalah proses menghasilkan sebuah deskripsi dari implementasi basis data pada media penyimpanan sekunder dengan menggambarkan hubungan dasar (Conolly & Begg, 2005).
6.
Sistem manajemen database (database management system - DBMS) adalah suatu aplikasi perangkat lunak yang menyimpan struktur database, data itu sendiri, hubungan antar data di dalam database, maupun formulir dan laporan yang berhubungan dengan database (McLeod & Schell, 2008).
2.6
SMS
2.6.1 Pengertian SMS ( Short Message Service ) SMS adalah salah satu fasilitas yang terdapat pada ponsel yang memiliki fungsi untuk mengirimkan paket pesan singkat yang berupa tulisan kata (text), yang maksimal karakternya berjumlah 160. SMS dibagi menjadi 3 kategori yaitu Plain SMS, Encoded SMS dan Encrypted SMS. 1.
Plain SMS adalah aplikasi dimana komunikasi antara dua pihak yang berhubungan menggunakan teks biasa.
2.
Encoded SMS adalah aplikasi yang menggunakan SMS dengan sebuah format tertentu yang dikenali oleh ponsel yang bersangkutan seperti
http://digilib.mercubuana.ac.id/
13
ringtone, operator logo, picture messaging, screen saver, startup logo dan lain-lain. 3.
Encrypted SMS adalah mengirimkan dan menerima SMS dalam format yang terenkrip sehingga aman untuk digunakan bertransaksi. Enkripsi adalah sebuah metode yang mengubah data yang seharusnya menjadi rangkaian kode sehingga sulit untuk dipecahkan. Aplikasi seperti Mobile Banking yang membutuhkan tingkat keamanan yang tinggi memerlukan metode ini untuk operasinya. (Budicahyanto, 2003)
2.6.2 SMS Gateway SMS Gateway dapat diartikan sebagai pintu gerbang. Namun pada dunia komputeriasasi, gateway sendiri dapat dikatakan sebagai jembatan penghubung antara suatu sistem yang lain, sehingga dapat terjadi pertukaran data antar sistem tersebut. Dengan adanya demikian, SMS Gateway dapat bisa diartikan sebagai penghubung untuk lalu lintas data – data SMS.
Menurut (Saputra, 2011), SMS Gateway Merupakan komunikasi dua arah. Maksud dari dua arah ini adalah system akan membalas secara otomatis setiap pesan yang akan masuk.
Pada awalnya, SMS Gateway dibutuhkan untuk menjembatani antar SMSC( SMS Center). Hal ini dikarenakan SMSC yang dibangun oleh perusahaan yang berbeda memiliki protokol komunikasi sendiri, dan protokol tersebut bersifat pribadi, SMS Gateway ini kemudian ditempatkan diantara kedua SMSC yang berbeda pada protokol tersebut, yang akan menerjemahkan data dari protokol SMSC satu ke protokol SMSC lainnya yang dituju.
SMSC1
SMS gateway SMSC Protocol 1 Gambar 2.5 Ilustrasi SMS Gateway
http://digilib.mercubuana.ac.id/
SMSC 1 SMSC Protocol 2
14
Namun, seriring berkembangan teknologi komunikasi, SMS Gateway tidak lagi berorientasi cara proses penggunaanya seperti gambar diatas. Dalam dekadi
ini
SMS
Gateway
sebagai
suatu
jembatan
komunikasi
yang
menghubungkan perangkat komunikasi ( dalam hal tersebut adalah ponsel).
Aplikasi
SMS gateway
Perangkat
Gambar 2.6 Diagram SMS Gateway
Cara kerja SMS Gateway pada dasarnya hampir sama dengan mengirimkan SMS melalui perangkat ( Handphone ). Hanya saja, bedanya adalah perangkat yang digunakan untuk pengirimanya bukan lagi Handphone, tetapi modem GSM. Dan modem ini yang dikendalikan oleh PC menggunakan Aplikasi SMS Gateway yang akan dibuat (Edison, 2012).
Gambar 2.7 Arsistektur SMS Gateway ( Aminudin, 2014)
2.7
Gammu
2.7.1
Tentang Gammu Gammu adalah sebuah aplikasi yang dapat digunakan unutuk mengelola
berbagai fungsi pada handphone, modem dan perangkat sejenis lainnya. Fungsifungsi yang dapat dikelola oleh gammu antara lain adalah fungsi nomor kontak (phonebook) dan fungsi SMS (Edison, 2012).
http://digilib.mercubuana.ac.id/
15
Menurut (Saputra, 2011), Gammu adalah Sebuah proyek yang meliputi aplikasi script dan driver untuk mengelola berbagi fungsi pada telepon selular dan perangkat sejenis. Gammu merupakan sebuah aplikasi/daemon yang dikhususkan untuk membangun sebuah SMS Gateway yang menghubungkan antara operator seluler ke internet dan sebaliknya
2.7.2
Kelebihan Gammu
Kelebihan gammu dibandingkan tool SMS Gateway lainnya adalah: 1.
Gammu mengunakan database MySQL.
2.
Banyak device yang kompatibel dengan gammu
3.
Gammu bisa dijalankan di Windows maupun linux.
4.
Gammu tidak memerlukan banyak hardware (hanya memerlukan PC dan modem), sehingga memudahkan dalam mengembankkan aplikasi dengan model terjangkau.
5. 2.8
Gammu adalah aplikasi open source yang dapat dipakai secara gratis. Desain Dan Perancangan Sistem Dalam hal ini program aplikasi di buat dan dirancang untuk
memperkenalkan tahapan demi tahapan dalam aplikasi yang akan dibuat sehingga didapatkan adanya hasil analisis yang sempurna.
2.8.1 Use Case Diagram 1.
Sejarah Use Case Diagram yaitu model diagram UML ( Unifed Modeling
Language ) yang digunakan untuk menggambarkan fungsional dari sebuah sistem.
Dimulai tahun 1994, Booch, Runbaugh dan Jacobson merupakan tiga tokoh yang merodelogi-nya paling banyak dipakai mempelopori organisasi yang bertujuan menyatukan metodelogi-metodologi berorientasi objek, organisasi tersebut dinamakan OMG (Object Modelling Group).
http://digilib.mercubuana.ac.id/
16
Pada tahun 1995 OMG merealisasi draf pertama dari UML (versi 0.8) dan pada tahun 1997 UML versi 1.1 muncul dan sekarang versu terbary dari UML adalah versi 2.0. Pada tahun 1997 Booch, Ranbaugh dan Jacobson menyusun tida buku tentang UML. Sejak saat itulah UML telah menjelma menjadi dasar bahasa pemodelan untuk aplikasi berorientasi objek.
Dalam cakupan hal ini, use case memberi perintah, atau menekan pada “ Siapa” melakukan “Apa” dalam lingkungan perangkat lunak yang akan dibangun. Jadi bisa di maksudkan use case diagram seorang user itu bisa melakukan apa saja kedalam kebutuhan dari perangkat lunak yang akan dibuat.
Use case diagram menjelaskan kegunaan suatu sistem apa bila dilihat dari pandangan orang yang berada diluar sistem aplikasi. Diagram ini menunjukan fungsional dari suatu sistem dan bagaimana aplikasi sitem tersebut beriteraksi dengan dunia luar.
2.
Diagram UML UML merupakan sintak umum untuk membuat model logika dari suatu
sistem dan digunakan untuk menggambarkan sistem agar dapat dipahami selama fase analisis dan desain.UML biasanya disajikan dalam bentuk diagram/gambar yang meliputi class beserta atribut dan operasinya, serta hubungan antar class yang meliputi inheritance, association dan komposisi.
Gambar 2.8 Diagram UML ( Rossa & Shalahudin 2013)
http://digilib.mercubuana.ac.id/
17
Di dalam buku Rosa & Shalahuddin (2013), dijelaskan secara singkat mengenai pembagian katagori gambar diatas. 1.
Structure diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.
2.
Behavior diagram yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.
2.8.2 Lambang – Lambang Use case diagram 1.
Aktor merupakan sebuah entitas yang berinteraksi dengan Use Case. Nama aktor dituliskan dibawah gambar tersebut.
2.
Hubungan, menggambarkan hubungan Association. Garis ini digunakan untuk menghubungkan antara actor dan Use Case.
3.
Use Case menggambarkan sebuah fungsi tertentu yang disediakan oleh sistem, sebuah subsitem atau urutan pertukaran pesan antara anggota sistem dan satu atau lebih aktor melakukan aksi yang dikerjakan oleh sistem.
Gambar 2.9 Simbol Use Case Diagram Sumber:http://wendyalwaajid.blogspot.com/2014/04/use-case-diagramadalah.html
http://digilib.mercubuana.ac.id/
18
2.8.2 Tujuan Penggunaan UML Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa. 1.
UML bisa berfungsi sebagai sebuah cetak biru ( Blue Print ) karena sangat lengkap dan detail.
2.
Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
3.
Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
2.9
PHP Dalam sejarahnya PHP Pertama kali dibuat oleh Rasmus Lerdorf pada
tahun 1995, yang diberi nama FI ( Form Interpreted) dan digunakan untuk mengola formasi dari web. Menurut Anhar (2010), PHP ( hypertext Preprocessor) yaitu bahasa pemograman web server-side yang bersifat open source. PHP merupakan script yang terintegrasi dengan HTML dan berada pada server. 2.10
PHPMyAdmin PHPMyAdmin merupakan sebuah program yang berbasis web yang dibuat
menggunakan aplikasi PHP. Program ini adalah untuk mengakses database MySQL, intinya adalah digunakan untuk menjadi administrator dari server.
Dengan adanya program ini akan mempermudah dan mempersingkat kinerja, dengan kelebihan - kelebihan yang ada mengakibatkan pengguna awam tidak harus mampu mengetahui sintak SQL dalam pembuatan database dan tabel (Nugroho, 2004) 2.11
MySQL Menurut Abdul Kadir (2013), MySQL adalah nama Databse Server.
Database server
adalah server yang berfungsi untuk menangani database.
Dengan menggunakan MySQL, kita bisa menyimpan data dan kemudian data bisa diakses dengan cara yang mudah dan cepat.
http://digilib.mercubuana.ac.id/
19
MySQL merupakan database yang sangat kuat dan cukup stabil digunakan sebagai media penyimpanan data. Sebagai database server yang mampu memanejem database dengan baik, MySQL terhitung merupakan database yang paling banyak digemari dan paling banyak digunakan dibanding databse yang lain. 2.12
Metode Pengujian
2.12.1 Black Box Menurut Pressman (2002), Metode Blackbox yaitu pengujian untuk menemukan kesalahan dalam linghkup kategori berikut: 1.
Fungsi – fungsi yang salah atau hilang
2.
Kesalahan interface
3.
Kesalahan dalam struktur data
4.
Kesalahan kinerja
5.
Kesalahan inisialisasi dan terminasi
2.12.2 Wahite Box White box
menurut Pressman (2002), metode desain test case yang
menggunakan struktur control procedural untuk memperoleh test cast. Dengan metode tersebut, akan diperoleh: 1.
Menjamin seluruh independent path didalam modul yang dikerjakan sekurang – kurangnya sekali
2.
Mengerjakan seluruh keputusan secara global
3.
Mengerjakan seluruh loop yang sesuai dengan batasnya
http://digilib.mercubuana.ac.id/