21 BAB II TINJAUAN PUSTAKA Definisi Perangkat Lunak Perangkat

advertisement
21
BAB II
TINJAUAN PUSTAKA
Definisi Perangkat Lunak
Perangkat lunak komputer merupakan produk yang dibuat oleh para professional perangkat lunak yang kemudian mendukungnya dalam jangka waktu panjang. Perangkat lunak yang dimaksud mencakup didalamnya program-program
komputer yang berjalan di dalam suatu komputer dari berbagai ukuran dan
berbagai arsitektur, terdapat pula isi yang akan diperlihatkan ketika programprogram komputer berjalan, dan selain itu terdapat informasi-informasi yang bersifat deskriptif (menjelaskan) dalam bentuk salinan tercetak dan dalam bentuk
berkas-berkas salinan secara maya yang meliputi di dalamnya segala bentuk media elektronik (Pressman, 2012).
Definisi lain dijelaskan bahwa perangkat lunak (software) adalah program
komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain dan cara penggunaan (user manual) (Rosa dan
Shalahuddin, 2016). Perangkat lunak atau program terdiri dari rangkaian instruksi
elektronik yang menyeluruh untuk mengerjakan sesuatu. Berbagai instruksi ini
dibuat oleh pengembang perangkat lunak dan tersedia dalam berbagai bentuk
misalnya compact disk (Yakub, 2012). Definisi lainnya juga dijelaskan Sulianta
(2016) perangkat lunak merupakan mediator dan pemberi instruksi terhadap sumber daya tegar/hardware.
Penulis lain juga mendefinisikan bahwa perangkat lunak merupakan program komputer dan dokumentasi yang terhubung. Produk perangkat lunak dapat
dikembangkan untuk pelanggan tertentu atau dapat dikembangkan untuk general
market. Pengembang perangkat sangat memperhatikan dalam mengembangkan
sebuah perangkat lunak (contohnya perangkat lunak yang dijual kepada pelanggan) (Sommerville, 2011). Terdapat dua jenis produk dari perangkat lunak sebagai
berikut.
http://digilib.mercubuana.ac.id/
22
1)
Generic Products yaitu sistem stand-alone yang diproduksi oleh organisasi
pengembang perangkat lunak dan menjualnya ke pasar terbuka kepada
pelanggan manapun yang mampu membelinya.
2)
Customized Products, yaitu sistem yang ditugaskan/diberikan oleh pelanggan tertentu. Pengembang perangkat lunak mengembangkan produk tersebut
secara khusus untuk pelanggan tersebut.
Karakteristik Perangkat Lunak
Untuk memenuhi pemahaman definisi perangkat lunak, penting untuk me-
meriksa karakteristik perangkat lunak yang membedakannya dari benda-benda
lain yang dibuat oleh manusia. Perangkat lunak lebih merupakan elemen logika
alih-alih sistem secara fisik. Oleh karena itu, perangkat lunak memiliki karakteristik yang berbeda dari karakteristik-karakteristik yang dimiliki perangkat keras
(Pressman, 2012).
1)
Perangkat lunak dikembangkan atau direkayasa, bukan diproduksi dalam
konteks manufaktur
2)
Perangkat lunak tidak mengalami kelelahan
3)
Meskipun industri terus beralih ke konstruksi berbasis komponen, sebagian
besar perangkat lunak masih tetap dibuat berdasarkan spesifikasi yang
diminta pengguna.
Ranah Aplikasi Perangkat Lunak
Berdasarkan ranah aplikasinya, perangkat lunak terbagi atas 7 kategori
(Pressman, 2012).
1)
Perangkat lunak sistem
Sekumpulan program yang ditulis untuk melayani program-program lain
(contoh : perangkat lunak untuk melakukan kompilasi [compiler], editor dan utilitas-utilitas pengaturan berkas) yang melakukan pemrosesan struktur-struktur informasi yang kompleks namun umumnya bersifat terbatas. Aplikasi sistem lainnya
(contoh: komponen-komponen sistem operasi, driver, perangkat lunak jaringan,
prosesor telekomunikasi) memproses data yang ragam serta jumlahnya sangat tidak terbatas. Dalam salah satu kasus, suatu perangkat lunak sistem bersifat mem-
http://digilib.mercubuana.ac.id/
23
iliki interaksi dengan berbagai perangkat keras komputer; memiliki karakterisitk
penggunaan yang sangat tinggi oleh banyak pengguna; memiliki operasi-operasi
yang terjadi secara bersamaan yang pada gilirannya menuntut penjadwalanpenjadwalan, berbagi sumber daya yang sama dan melakukan pengaturan pemroses yang rumit, menangani struktur-struktur data yang kompleks; dan antarmuka
eksternal yang jumlahnya sangat banyak.
2)
Perangkat lunak aplikasi
Program-program mandiri yang menjawab kebutuhan bisnis yang terinci.
Aplikasi-aplikasi dalam bidang ini melakukan pemrosesan data bisnis atau data
teknis
yang
mendukung
berjalannya
operasi-operasi
bisnis
atau
pengaturan/pengambilan keputusan teknis. Selain ada aplikasi pemrosesan data
konvensional, perangkat lunak aplikasi juga digunakan untuk mengendalikan
fungsi-fungsi bisnis secara aktual (contoh: pemrosesan transaksi pada titik
penjualan, kendali pemrosesan produksi pada pabrik secara aktual).
3)
Perangkat lunak rekayasa/ilmiah
Telah lama memiliki algoritma yang penuh dengan kalkulasi data numerik.
Aplikasi dalam kategori ini beragam mulai dari aplikasi-aplikasi yang dikembangkan untuk kebutuhan astronomi hingga vulkanologi (ilmu tentang gunung
api), dari analisis tekanan pada otomotif hingga dinamika orbit pada pesawat
ulang alik dan dari biologi molekul hingga produksi terotomatisasi. Namun, aplikasi-aplikasi modern dalam bidang rekayasa/ilmiah saat ini semakin bergeser
menjauh dari algoritma numerik konvensional. Proses-proses perancangan yang
dibantu oleh komputer, simulasi sistem dan aplikasi-aplikasi interaktif lainnya telah mulai memiliki karakter perangkat lunak ‘waktu-nyata’ (real-time) dan bahkan
beberapa diantaranya mulai memiliki karakter perangkat lunak sistem.
4)
Perangkat lunak yang tertanam
Berada dalam suatu produk atau sistem dan digunakan untuk menjalankan
dan mengendalikan fitur-fitur dan fungsi-fungsi bagi pengguna akhir dan bagi sistem itu sendiri. Perangkat lunak yang tertanam itu dapat menjalankan fungsifungsi terbatas dan seringkali hanya dipahami kalangan-kalangan tertentu (contoh:
kontrol tombol-tombol pada pemanggang gelombang mikro) atau menyediakan
http://digilib.mercubuana.ac.id/
24
fungsi signifikan dan kemampuan kendali (contoh: fungsi-fungsi digital dalam
mobil seperti kendali bahan bakar, tampilan indikator dan sistem pengereman).
5)
Perangkat lunak lini produk
Dirancang untuk menyediakan kemampuan khusus untuk digunakan oleh
pelanggan yang berbeda-beda. Perangkat lunak lini produk dapat berkonstrasi pada pasar tertentu dan sifatnya terbatas (contoh: produk-produk kendali inventarisasi) atau merujuk pada pasar pengguna (contoh: pengolah kata, lembar kerja
[spreadsheet], grafik-grafik komputer, multimedia, hiburan, pengaturan basis data
dan aplikasi-aplikasi personal dan keuangan bisnis).
6)
Aplikasi web
Disebut “WebApps”, kategori perangkat lunak yang berpusat pada jaringan
komputer ini menyajikan sederetan luas aplikasi-aplikasi. Sederhananya, aplikasiaplikasi Web sedikit lebih dari sekedar sekumpulan file hypertext yang saling terhubung untuk menunjukkan informasi-informasi tertentu dengan mengunakan
grafis-grafis yang sifatnya terbatas dan menampilkan informasi-informasi tertentu
dengan menggunakan teks-teks. Namun, seiring munculnya Web 2.0, aplikasiaplikasi Web saat ini sedang berevolusi menjadi lingkungan komputasi yang
canggih yang tidak hanya menyajikan fitur-fitur mandiri, fungsi-fungsi komputasi
24a nisi untuk pengguna akhir, namun juga terintegrasi dengan sistem basis data
yang dimiliki oleh perusahaan dan juga terintegrasi dengan aplikasi-aplikasi bisnis
lainnya.
7)
Perangkat lunak kecerdasan buatan
Menggunakan algoritma non-numerik untuk memecahkan permasalahan-
permasalahan rumit yang tidak bisa diselesaikan dengan komputasi atau analisis
permasalahan secara langsung. Aplikasi-aplikasi yang berada didalam kategori ini
menyertakan didalamnya robotika, sistem pakar, pengenalan pola (gambar dan
suara), jaringan saraf buatan/tiruan, pembuktian teorema-teorema dan permainanpermainan (game) komputer.
Rekayasa Perangkat Lunak
IEEE [IEE93a] telah mengembangkan suatu definisi yang lebih komprehensif. Rekayasa perangkat lunak pada dasarnya merupakan: (1) aplikasi dari suatu
http://digilib.mercubuana.ac.id/
25
pendekatan yang sistematik, disiplin, dan dapat diukur pada pengembangan,
operasi dan perawatan perangkat lunak. (2) Studi pendekatan-pemdekatan seperti
pada (1) (Pressman, 2012).
Rekayasa perangkat lunak (software engineering) merupakan pembangunan
dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan
perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien
menggunakan mesin. Perangkat lunak banyak dibuat dan pada akhirnya sering
tidak digunakan karena tidak memenuhi kebutuhan pelanggan atau bahkan karena
masalah non-teknis seperti keenggan pemakai perangkat (user) untuk mengubah
cara kerja dari manual ke otomatis, atau ketidakmampuan user menggunakan
komputer. Oleh karena itu, rekayasa perangkat lunak dibutuhkan agar perangkat
lunak yang dibuat tidak hanya menjadi perangkat lunak yang tidak terpakai (Rosa
dan Shalahuddin, 2016).
Rekayasa perangkat lunak atau software engineering merupakan disiplin
ilmu teknik yang berkaitan dengan semua aspek dalam pembuatan perangkat lunak mulai dari tahap awal menspesifikasikan sistem sampai pemeliharaan sistem
setelah digunakan (Sommerville, 2011). Dalam definisi tersebut terdapat dua kata
kunci.
1)
Engineering discipline atau disiplin ilmu teknik
Engineers membuat sesuatu dapat bekerja dengan baik. Mereka menerapkan
teori-teori, metode-metode dan peralatan-peralatan dengan tepat. Namun mereka
menggunakannya dengan sangat selektif dan selalu mencoba menemukan solusi
dari masalah sekalipun tidak ada teori-teori maupun metode-metode yang mendukung.
2)
All aspect of software atau semua aspek dalam perangkat lunak
Rekayasa perangkat lunak tidak hanya fokus pada proses teknis pengem-
bangan perangkat lunak. Tetapi termasuk aktivitas pengembangannya seperti manajemen proyek perangkat lunak, pengembangan peralatan-peralatan, metodemetode dan teori-teori yang mendukung pembuatan perangkat lunak.
Rekayasa perangkat lunak dituntut memiliki atribut-atribut penting dari
perangkat lunak yang baik, yaitu sebagai berikut.
1)
Maintainability
http://digilib.mercubuana.ac.id/
26
Perangkat lunak sebaiknya didokumentasikan tertulis sedemikian rupa sehingga dapat berkembang dalam memenuhi kebutuhan pelanggan yang berubahubah. Ini merupakan atribut penting karena perubahan perangkat lunak tak dapat
terhindarkan dari perubahan lingkungan bisnis.
2)
Dependability and security
Perangkat lunak yang dapat diandalkan memiliki karakter bekerja dengan
baik, terlindungi dan aman. Perangkat lunak yang baik tentunya tidak menyebabkan kerusakan secara fisik maupun ekonomi ketika terjadi kegagalan sistem.
Pengguna yang jahat tidak dapat mengakses atau merusak sistem.
3)
Efficiency
Sebuah perangkat lunak seharusnya tidak membuat pemborosan sumber
daya sistem seperti memory dan processor. Efisiensi yang dimaksud juga termasuk daya tanggap, waktu proses, penggunaan memory dan lain sebagainya.
4)
Acceptability
Sebuah perangkat lunak yang telah dirancang harus dapat diterima oleh
semua jenis pengguna. Artinya perangkat lunak yang dibuat harus dapat dimengerti, bisa digunakan dan sesuai dengan sistem yang digunakan pengguna.
Software Development Life Cycle (SDLC)
Software Development Life Cycle merupakan proses mengembangkan atau
mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan
metodologi yang digunakan orang untuk mengembangkan sistem-sistem
perangkat lunak sebelumnya (berdasarkan best practice atau cara-cara yang sudah
teruji baik) (Rosa dan Shalahuddin, 2016). Tahapan-tahapan yang ada pada SDLC
secara global adalah sebagai berikut.
1)
Inisiasi (initiation), Tahap ini biasanya ditandai dengan pembuatan proposal
proyek perangkat lunak.
2)
Pengembangan konsep sistem (system concept development), mendefinisikan lingkup konsep termasuk dokumen lingkup sistem, analisis manfaat
biaya, manajemen rencana dan pembelajaran kemudahan sistem
http://digilib.mercubuana.ac.id/
27
3)
Perencanaan (planning), mengembangkan rencana manajemen proyek dan
dokumen perencanaan lainnya. Menyediakan dasar untuk mendapatkan
sumber daya (resources) yang dibutuhkan untuk memperoleh solusi.
4)
Analisis kebutuhan (requirement analysis), menganalisis kebutuhan
pemakai sistem perangkat lunak (user) dan mengembangkan kebutuhan user. Membuat dokumen kebutuhan fungsional.
5)
Desain (design), mentransformasikan kebutuhan detail menjadi kebutuhan
yang sudah lengkap, dokumen desain, sistem fokus pada bagaimana dapat
memenuhi fungsi-fungsi yang dibutuhkan.
6)
Pengembangan (development), mengonversi desain ke sistem informasi
yang lengkap termasuk bagaimana memperoleh dan melakukan instalasi
lingkungan sistem yang dibutuhkan; membuat basis data dan mempersiapkan prosedur kasus pengujian; mempersiapkan berkas atau file pengujian,
pengodean, pengompilasian, memperbaiki dan membersihkan program;
peninjauan pengujian.
7)
Integrasi dan pengujian (integration and test), mendemonstrasikan sistem
perangkat lunak bahwa telah memenuhi kebutuhan yang dispesifikasikan
pada dokumen kebutuhan fungsional. Dengan diarahkan staf penjamin
kualitas (quality assurance) dan user. Menghasilkan laporan analisis pengujian.
8)
Implementasi (implementation), termasuk pada persiapan implementasi, implementasi perangkat lunak pada lingkungan produksi (lingkungan pada user) dan menjalankan resolusi dari permasalahan yang teridentifikasi dari
fase integrasi dan pengujian.
9)
Operasi dan pemeliharaan (operation and maintenance), mendeskripsikan
pekerjaan untuk mengoperasikan dan memelihara sistem informasi pada
lingkungan produksi (lingkungan pada user), termasuk implementasi akhir
dan masuk pada proses peninjauan.
10)
Disposisi (disposition), mendeskripsikan aktivitas akhir dari pengembangan
sistem dan membangun data yang sebenarnya sesuai dengan aktivitas user.
Salah satu model SDLC adalah Extreme Programming (XP) dalam metode
pengembangan sistem. Model XP menggunakan pendekatan berorientasi objek
http://digilib.mercubuana.ac.id/
28
sebagai paradigma pengembangan yang diinginkan dan mencakup di dalamnya.
Seperangkat aturan dan praktik-praktik yang terjadi dalam konteks empat kegiatan
kerangka kerja: planning, design, coding dan test. Berikut tahap-tahap
pengembangan menggunakan model XP (Pressman, 2010).
Gambar 2.1 Ilustrasi Proses XP [Pressman, 2010]
1)
Planning
Kegiatan perencanaan (disebut juga planning game) dimulai dengan
mendengarkan informasi. Suatu kegiatan yang bertujuan untuk mengumpulkan
kebutuhan-kebutuhan yang memungkinkan pengembang XP memahami konteks
bisnis untuk aplikasi yang akan dikembangkan dan memahami
perlunya
keluaran-keluaran (output), fitur-fitur utama dan fungsionalitas. Aktivitas
mendengarkan akan merujuk pada pembuatan susunan cerita (disebut juga user
stories) yang menjelaskan keluaran yang diperlukan, fitur utama dan
fungsionalitasnya. Setiap cerita (mirip dengan use case) umumnya ditulis oleh
pelanggan dan diletakkan pada kartu indeks. Pelanggan memberikan suatu nilai
(contohnya sebuah prioritas) pada cerita berdasarkan nilai bisnis seluruh fitur atau
fungsi. Pengembang XP kemudian menilai setiap cerita dan menetapkan biaya.
2)
Design
Perancangan XP dengan ketat mengikuti prinsip “tetap sederhana”. Sebuah
hasil perancangan yang sederhana selalu lebih disukai daripada gambarangambaran yang lebih kompleks. Selain itu, perancangan XP akan memberikan
panduan implementasi untuk suatu cerita ketika cerita itu ditulis, tidak kurang,
http://digilib.mercubuana.ac.id/
29
tidak lebih. Rancangan-rancangan dan fungsionalitas-fungsionalitas tambahan
(karena pengembang menggangap nantinya akan diperlukan) tidak terlalu
disarankan. XP mendorong penggunaan kartu CRC sebagai mekanisme yang
efektif untuk berfikir tentang perangkat lunak dalam konteks berorientasi objek.
Kartu CRC (class-responsibility-collaborator) digunakan untuk mengidentifikasi
dan mengatur kelas-kelas dalam konteks pemrograman berorientasi objek yang
relevan dengan peningkatan perangkat lunak saat ini.
Jika masalah perancangan yang sulit ditemui sebagai bagian dari
perancangan suatu cerita, metode pengembangan cepat XP menyarankan
pembuatan langsung suatu dari prototipe operasional dari bagian perancangan
tersebut. Disebut sebagai solusi spike, prototipe perancangan diimplementasikan
dan selanjutnya dievaluasi. Tujuannya adalah mengurangi resiko-resiko yang akan
timbul ketika pelaksanaan yang sesungguhnya dimulai dan untuk memvalidasi
keaslian perkiraan untuk cerita yang berisi masalah-masalah perancangan.
3)
Coding
Setelah cerita dikembangakan dan karya rancangan awal dilakukan,
pengembang perangkat lunak XP tidak langsung beralih ke kode-kode program,
tetapi lebih dahulu akan mengembangkan serangkaian unit pengujian yang akan
menjalankan setiap cerita yang akan disertakan pada rilis yang ada (peningkatan
perangkat lunak). Setelah unit pengujian dibuat, pengembang perangkat lunak
akan lebih mampu berkonsentrasi pada apa yang harus diimplementasikan supaya
lulus dari unit pengujian tersebut.
4)
Test
Test atau pengujian sebelumnya telah dicatatkan bahwa pembuatan unit
pengujian sebelum coding dimulai merupakan elemen kunci dari pendekatan
pengembangan perangkat lunak cepat XP. Unit pengujian yang harus dibuat dan
kemudian dijalankan menggunakan kerangka kerja yang memungkinkan mereka
untuk diotomatisasi (sehingga mereka dapat dijalankan dengan mudah dan dapat
dijalankan berulang kali). Hal ini mendorong strategi pengujian regresi terhadap
kode-kode program setiap kali kode-kode tersebut diubah.
Uji kelayakan pada XP sering disebut uji pelanggan, dirinci oleh para
pelanggan dan pada dasarnya berfokus pada fitur-fitur dan fungsionalitas-
http://digilib.mercubuana.ac.id/
30
fungsionalitas sistem/perangkat lunak secara keseluruhan yang dapat terlihat dan
ditinjau kembali oleh para pelanggan. Uji kelayakan berasal dari cerita pengguna
yang telah diimplementasikan sebagai bagian dari suatu rilis perangkat lunak.
Internet
Internet adalah suatu jaringan global yang menghubungkan berjuta-juta
komputer. Ada ratusan negara-negara dihubungkan ke dalam pertukaran dari data,
berita dan pendapat. Tidak sama dengan jasa online pada umumnya, yang mana
diatur secara terpusat, internet di-desentralisasi berdasarkan desainnya (Sugeng
dan Putri, 2015).
Komputer dan perangkat terhubung dengan internet menggunakan komunikasi ethernet protocol atau wireless (Wi-Fi). Data publik, disimpan di server
sebagai halaman web yang dapat diakses oleh perangkat klien menggunakan internet. Selain itu juga klien dapat mengakses dan memanfaatkan sebuah sistem
yang tertanam dan merespon untuk mengontrol perintah yang dikirm oleh server
(Toulson dan Wilmshurst, 2017).
Database
Basis data (database) merupakan kumpulan data yang saling berhubungan
(punya relasi). Relasinya biasanya ditunjukkan dengan kunci (key) dari tiap file
yang ada (Yakub, 2012).
Database didefinisikan sebagai kumpulan data yang terintegrasi dan diatur
sedemikian rupa sehingga data tersebut dapat dimanipulasi, diambil dan dicari
secara cepat (Raharjo, 2015). Definisi lainnya juga menjelaskan bahwa database
adalah seperangkat koordinasi beberapa file data terpusat yang saling berhubungan yang disimpan dengan sedikit mungkin kelebihan data (Romney & Steinbart, 2016).
2.7.1 Database Management System (DBMS)
Sistem manajemen database (database management system-DBMS) adalah
suatu program yang mengelola dan mengendalikan data serta menghubungkan
data dan program-program aplikasi yang menggunakan data yang disimpan dalam
http://digilib.mercubuana.ac.id/
31
database. Database, DBMS dan program-program aplikasi yang mengakses database melalui DBMS disebut sebagai sistem database (database system). Administrator database (database administrator-DBA) bertanggung jawab untuk mengoordinasikan, mengendalikan dan mengelola database (Romney & Steinbart,
2016).
DBMS (Database Management System) atau dalam bahasa Indonesia sering
disebut Sistem Manajemen Basis Data adalah suatu sistem aplikasi yang
digunakan untuk menyimpan, mengelola dan menampilkan data (Rosa dan Shalahuddin, 2016). Suatu sistem aplikasi disebut DBMS jika memenuhi persyaratan
minimal sebagai berikut.
1)
Menyediakan fasilitas untuk mengelola akses data
2)
Mampu menangani integritas data
3)
Mampu menangani akses data
4)
Mampu menangani backup data
Menurut Yakub (2012) database management system (DBMS) adalah meru-
pakan kumpulan program aplikasi yang digunakan untuk membuat dan mengelola
basis data. DBMS berisi suatu koleksi data dan satu set program untuk mengakses
data. DBMS merupakan perangkat lunak (software) yang menentukan bagaimana
data tersebut diorganisasi, disimpan, diubah dan diambil kembali. Perangkat lunak
ini juga menerapkan mekanisme pengamanan data, pemakaian data bersama dan
konsistensi data. Perangkat lunak yang termasuk DBMS adalah sebagai berikut.
Tabel 2.1 Daftar DBMS [Yakub, 2012]
Nama DBMS
Perusahaan
Access
Microsoft Corporation
DB2
IBM
Informix
IBM
Ingres
Computer Associate
MySQL
The MySQL AB Company
Oracle
Oracle Corporation
PostgreSQL
www.postgresql.com
Sybase
Sybase Inc
http://digilib.mercubuana.ac.id/
32
Raharjo (2015) menjelaskan database berbeda dengan database management system (DBMS). DBMS adalah kumpulan program yang digunakan untuk
mendefinisikan, mengatur dan memproses database; sedangkan database itu
sendiri esensinya adalah sebuah struktur yang dibangun untuk keperluan penyimpanan data. DBMS merupakan alat atau tool yang berperan untuk membangun
struktur tersebut.
Gambar 2.2 Ilustrasi Database dan DBMS [Raharjo,2015]
2.7.2 Structure Query Language (SQL)
Rosa dan Shalahuddin (2016) mendefinisikan SQL sebagai bahasa yang
digunakan untuk mengelola data pada Relational DBMS atau RDBMS.
Sedangkan Yakub (2012) menjelaskan structure query language (SQL) adalah sekumpulan sintaks-sintaks atau statement untuk mengakses data dalam database. Terdiri dari Data Definition Language (DDL), Data Manipulation Language
(DML) dan Data Control Language (DCL).
1)
Data Definition Language (DDL)
DDL berfungsi lebih ke dalam manipulasi struktur dari database. DDL
digunakan untuk membuat tabel, memuat key atau indeks, membuat relasi antartabel. Beberapa statement atau sintaks yang sering dijumpai adalah sebagai berikut.
•
CREATE TABLE, bertugas membuat tabel
•
CREATE INDEX, bertugas membuat suatu indeks dalam tabel
•
DROP TABLE, bertugas untuk menghapus suatu tabel
•
ALTER TABLE, bertugas untuk mengubah struktur suatu table
DDL merupakan suatu perintah yang berfungsi untuk mendefinisikan
atribut-atribut basis data, tabel, atribut serta hubungan antartabel.
2)
Data Manipulation Language (DML)
http://digilib.mercubuana.ac.id/
33
SQL juga memiliki sintaks-sintaks yang digunakan dalam proses Insert,
Update atau Delete ke dalam suatu database. Sintaks-sintaks tersebut disebut
dengan Data Manipulation Language yang merupakan bagian dari SQL.
•
INSERT, bertugas untuk menambahkan data ke dalam suatu tabel dalam database
•
UPDATE, bertugas untuk mengupdate (mengubah) data dalam suatu tabel
pada database
•
SELECT, bertugas untuk mengakses data dari suatu tabel dalam database
•
DELETE, bertugas untuk menghapus data dari suatu tabel dalam database
3)
Data Control Language (DCL)
Data control language (DCL) merupakan kelompok perintah yang berisi un-
tuk mengendalikan pengaksesan data DCL digunakan untuk menangani masalah
keamanan database server. Pengelompokkan dalam perintah DCL ini adalah
Grant dan Revoke.
•
GRANT, pernyataan Grant ini digunakan untuk memberikan atau mengizinkan seorang user untuk mengakses tabel dalam database tertentu.
•
REVOKE, pernyataan Revoke ini digunakan untuk mencabut suatu hak
akses dalam database tertentu.
2.7.3 MySQL
Raharjo (2015) mendefinisikan MySQL merupakan software RDBMS (atau
server database) yang dapat mengelola database dengan sangat cepat, dapat menampung data dalam jumlah sangat besar, dapat diakses banyak user (multi-user)
dan dapat melakukan suatu proses secara sinkron atau berbarengan (multithreaded). Lisensi MySQL terbagi menjadi dua, yakni produk open source di
bawah GNU General Public License (gratis) atau versi komersial (berbayar).
Dalam situs resminya, MySQL (http://www.mysql.com/about/) merupakan
open source database yang paling popular di dunia. Dengan kinerja yang telah
terbukti, keandalan dan kemudahan untuk penggunanya, MySQL telah menjadi
pilihan basis data yang terkemuka untuk aplikasi berbasis web, dan digunakan
oleh perusahaan web terkemuka seperti Facebook, Twitter, Youtube, Yahoo dan
masih banyak lagi.
http://digilib.mercubuana.ac.id/
34
2.7.4 phpMyAdmin
dalam situs resminya phpMyAdmin (https://www.phpmyadmin.net/) adalah
perangkat lunak gratis yang ditulis dalam PHP, yang dimaksudkan untuk
mengerjakan MySQL melalui web. phpMyAdmin mendukung berbagai operasi
pada MySQL dan MariaDB. Operasi yang biasa dilakukan (mengelola database,
tabel, kolom, relasi, indeks, user, perizinan akses database, dll.) dapat dijalankan
melalui user interface.
XAMPP
XAMPP (https://www.apachefriends.org/about.html) adalah kompilasi dari
perangkat lunak gratis (sama dengan distribusi Linux), bebas biaya dan bebas diperbanyak di bawah ketentuan GNU General Public License. Tetapi hanya kompilasi tersebut saja yang diterbitkan dibawah GPL.
Abdulloh (2014) menjelaskan XAMPP adalah salah satu paket installer
yang berisi Apache yang merupakan web server tempat menyimpan file-file yang
diperlukan website dan phpMyAdmin sebagai aplikasi yang digunakan untuk
perancangan database MySQL.
Dalam menginstall paket XAMPP, pengguna akan mendapatkan paket program PHP, MySQL dan Apache. Dimana PHP adalah bahasa pemrogramannya,
MySQL untuk penyimpanan data atau database dan Apache untuk web server
atau mesin yang berfungsi menjalankan skrip PHP di sisi server lokal (Nugroho,
2013).
2.8.1 PHP
Menurut PHP (http://php.net/) merupakan scripting language multi-guna
yang banyak digunakan khususnya pada pengembangan aplikasi berbasis web.
Menurut Amanatidis dan Chatzigeorgiou (2016) bahasa scripting sangat
mudah untuk digunakan, khususnya ditafsirkan bahasa pemrograman yang mendukung penulisan data bebas tetapi dengan sangat cepat berkembang menjadi
kuat, umum dan bahasa pengembangan web tingkat tinggi. Popularitas bahasa
scripting saat ini sangat terlihat jelas pada open source penyedia repository hosting seperti SourceForge dan GitHub diantaranya PHP, Javascript, Phyton, Perl dan
http://digilib.mercubuana.ac.id/
35
Ruby yang digunakan untuk mengembangkan client and server side programming. Pengembangan aplikasi web menggunakan scripting language PHP karena
merupakan pada umumnya PHP adalah konteks dari web dan secara luas
digunakan oleh LAMP platform (Linux-Apache-MySQL-PHP).
2.8.2 Apache
Apache
(https://httpd.apache.org/ABOUT_APACHE.html)
dalam
situs
resminya menjelaskan bahwa Apache HTTP Server Project merupakan usaha
pengembangan perangkat lunak kolaboratif yang bertujuan menciptakan
pengimplementasian source code HTTP (web) server yang kuat, komersil, memiliki ciri dan bebas tersedia.
Unified Modeling Language (UML)
Zhang et al (2016) menjelaskan Unified Modeling Language merupakan
standar dari notasi diagram (dikelola oleh Object Management Group) yang menyediakan seperangkat aturan untuk menggambarkan objek beserta hubungan/relasinya di dalam suatu sistem. UML dapat dikatakan sebagai alat awal
untuk menentukan spesifikasi teknis aplikasi komputer berorientasi objek sebelum
kemudian diterjemahkan ke dalam bahasa pemrograman tingkat tinggi.
Denis et al (2012) menjelaskan Unified Modeling Language adalah standar
seperangkat teknik diagram yang menyediakan representasi grafis dalam pemodelan proyek pengembangan sistem mulai dari tahap analisis sampai pada tahap
implementasi. Saat ini sebagian besar sistem berorientasi objek dan pendekatan
desain menggunakan UML untuk menggambarkan perkembangan sistem. UML
menggunakan seperangkat set diagram yang berbeda-beda dalam mendeskripsikan
dari sudut pandang yang berbeda-beda pada perkembangan sistem. Diagram tersebut dibagi menjadi dua klasifikasi, structure dan behavior. Diagram structure
diantaranya Class, Object, Package, Deployment, Component dan Composite
Structure Diagram. Sedangkan diagram behavior diantaranya Activity, Sequence,
Communication, Interaction Overview, Timing, Behavior State Machine, Protocol
State Machine dan Use Case Diagram.
http://digilib.mercubuana.ac.id/
36
2.9.1 Use Case Diagram
Menurut Denis et al (2012) use case adalah penggambaran umum yang
mewakili alur bisnis dari sistem yang berinteraksi dengan sekitarnya. Use case
menggambarkan aktivitas yang dilakukan oleh pengguna sistem. Pemodelan usecase juga sering dikatakan sebagai tampilan fungsional dari proses bisnis agar
pengguna dapat melihat alur prosesnya. Terdapat unsur-unsur pada use case untuk
menggambarkannya secara visual. Unsur-unsur dari use case diagram adalah Actor, Use case, Subject Boundary dan Set of Relationship. Berikut unsur-unsur
beserta contoh use case diagram.
1)
Actor, orang atau sistem yang berperan dalam sebuah sistem.
2)
Use case, menggambarkan bagian penting dari fungsi suatu sistem.
3)
Subject boundary, ruang lingkup dari suatu subjek, misalnya sebuah sistem
atau proses bisnis individu.
4)
Association, merupakan konektor atau penghubung antara actor dan use
case. Association juga dapat dikatakan sebagai komunikasi antara actor dan
use case.
http://digilib.mercubuana.ac.id/
37
Tabel 2.2 Sintaks untuk Use Case Diagram [Denis et al, 2012]
http://digilib.mercubuana.ac.id/
38
Gambar 2.3 Contoh Use Case Diagram [Denis et al, 2012]
2.9.2 Activity Diagram
Activity diagram memberikan representasi tindakan-tindakan dan keputusan-keputusan yang terjadi saat beberapa fungsi dilakukan (Pressman, 2012).
Denis et al (2012) menjelaskan Activity diagram juga memiliki unsur-unsur
untuk menggambarkan aktivitas primer dan hubungan antar activity dalam suatu
proses. Unsur tersebut adalah Action and Activities, Object Nodes dan Control
Flows and Object Flows. Berikut unsur beserta contoh activity diagram.
1)
Action and Activities, action digunakan untuk mewakili suatu proses atau
tindakan. Sedangkan activities merupakan sekumpulan dari action.
Biasanya, hanya activities yang digunakan untuk menampilkan proses bisnis
atau pemodelan alur kerja. Pada kebanyakan kasus, setiap activities
terhubung dengan use case.
2)
Object
Nodes,
action
and
activities
biasanya
dimodifikasi
atau
mentransformasikan suatu objek. Object nodes inilah yang mewakili hal
tersebut. Object nodes digambarkan sebagai persegi panjang.
http://digilib.mercubuana.ac.id/
39
3)
Control Flows and Object Flows, control flows merupakan jalur eksekusi
dari alur proses bisnis. Control flows digambarkan dengan tanda panah
sebagai arah dari alur proses tersebut. Control flows hanya bisa digunakan
untuk sebuah action atau activities. Sedangkan object flows merupakan alur
objek dari suatu proses bisnis yang menunjukkan alur dari sebuah action
atau activities ke action atau activities lainnya.
Tabel 2.3 Sintaks Activity Diagram [Denis et al, 2012]
http://digilib.mercubuana.ac.id/
40
Gambar 2.4 Contoh Activity Diagram [Denis et al, 2012]
2.9.3 Class Diagram
Class diagram adalah model statis yang menggambarkan sebuah kelas dan
hubungan antarkelas tersebut yang tetap konstan di dalam sistem dari waktu ke
waktu. Class diagram menggambarkan sebuah kelas dimana terdapat behavior
dan states dan dengan hubungan antarkelas tersebut.
1)
Class, merepresentasikan orang, tempat atau sesuatu yang sistem butuhkan
untuk menangkap dan menyimpan informasi. Setiap kelas memiliki attribute dan operation.
2)
Association, menggambarkan hubungan antara actions atau fungsi class.
http://digilib.mercubuana.ac.id/
41
Tabel 2.4 Sintaks Class Diagram [Denis et al, 2012]
http://digilib.mercubuana.ac.id/
42
Gambar 2.5 Contoh Class Diagram [Denis et al, 2012]
2.9.4 Sequence Diagram
Sequence diagram mengilustrasikan objek pada use case dan pesan yang
muncul diantaranya dari waktu ke waktu untuk satu use case. Pada dasarnya objek-objek tersebut berinteraksi secara terurut atau sekuensial. Hal ini sangat membantu untuk memahami use case yang rumit.
http://digilib.mercubuana.ac.id/
43
Tabel 2.5 Sintaks Sequence Diagram [Denis et al, 2012]
http://digilib.mercubuana.ac.id/
44
Gambar 2.6 Contoh Sequence Diagram [Denis et al, 2012]
Javascript
Menurut w3school (http://www.w3schools.com/js/) Javascript merupakan
bahasa pemrograman HTML dan web.
Javascript adalah [………..]
David (2010) menjelaskan terdapat dua acara memasukkan Javascript ke
dalam halaman web.
1)
Memasukkan Javascript langsung ke halaman web diantara elemen
SCRIPT.
<html>
<body>
<script type=“text/javascript”>
document.write(“Welcome to JavaScript”);
</script>
</body>
</html>
2)
Memasukkan Javascript melalui teks file dan mengkoneksikan halaman
web ke teks file tersebut.
<script type=“text/javascript” src=“popup.js”>
</script>
http://digilib.mercubuana.ac.id/
45
Cascading Style Sheet (CSS)
Definisi menurut w3school (http://www.w3schools.com/css/) Cascading
Style Sheet (CSS) adalah bahasa yang digunakan untuk mendeskripsikan style pada suatu dokumen HTML. Situs lainnya World Wide Web Consortium atau W3C
(https://www.w3.org/Style/CSS/#specs) mendefinisikan CSS adalah mekanisme
sederhana untuk menambahkan style atau gaya (misalnya font, warna, ukuran) ke
dokumen web.
Sedangkan
menurut
Mozilla
(https://developer.mozilla.org/en-US/docs/Web/CSS)
Developer
CSS
adalah
Network
bahasa
stylesheet yang digunakan untuk mengambarkan tampilan dari sebuah dokumen
yang tertulis pada HTML atau XML. CSS juga menggambarkan bagaimana elemen-elemen pada dokumen tersebut seharusnya terlihat di layar, kertas, penulisan
atau media lainnya. CSS merupakan salah satu bahasa inti dari open web dan
memiliki standarisasi spesifikasi dari W3C.
Menurut Abdulloh (2016) Cascading Style Sheet (CSS) adalah skrip yang
digunakan untuk mengatur desain web. Walaupun HTML mempunyai kemampuan untuk mengatur tampilan website, namun kemampuannya masih terbatas.
Fungsi CSS ini memberikan pengaturan lebih lengkap agar struktur website yang
dibuat dengan HTML terlihat lebih rapih dan elegan.
jQuery
Menurut Lindley (2012) Istilah fungsi jQuery mengacu pada fungsi konstruktor jQuery (jQuery() atau alias $()) yang digunakan untuk membuat instance dari suatu objek jQuery.
Chaffer dan Swedberg (2013) menjelaskan peranan dari jQuery sebagai
berikut.
1)
Mengakses elemen pada dokumen web dengan mudah.
2)
Memodifikasi tampilan halaman web
3)
Mengubah isi dari dokumen
4)
Menanggapi interaksi dari user
5)
Perubahan dengan tampilan animasi dapat dibuat pada dokumen
6)
Dapat menerima informasi dari server tanpa me-refresh halaman
http://digilib.mercubuana.ac.id/
46
Bootstraps
Dalam situs resminya Bootstrap (http://getbootstrap.com/) merupakan
framework HTML, CSS dan Javascript yang sangat popular saat ini oleh para
pengembang web. Dengan adanya Bootstrap, pembuatan front-end web menjadi
lebih mudah dan cepat. Ini dibuat untuk semua kalangan pengguna dengan
berbagai tingkat keahlian, mendukung semua perangkat dan proyek apapun.
Aplikasi Pendukung
Dalam proses pembuatan aplikasi ini, terdapat beberapa macam software
yang digunakan, diantaranya Text Editor dan Aplikasi Pengolah Grafis.
1)
Text Editor
Digunakan untuk menuliskan skrip HTML, CSS, PHP dan Javascript. Ada
banyak text editor yang dapat digunakan diantaranya Notepad++, Adobe Dreamweaver dan sebagainya (Abdullah, 2014).
2)
Aplikasi Pengolah Gambar
Menurut Binanto (2010) gambar dibuat dengan dua acara yaitu bitmap dan
vektor. Perangkat lunak untuk mengolah bitmap antara lain adalah GIMP dan
Adobe Photoshop. Sedangkan perangkat lunak untuk mengolah vektor diantaranya adalah InkScape dan CorelDraw.
Transaksi Elektronik
Dalam UU RI Nomor 11 Tahun 2008 tentang informasi dan transaksi elektronik pasal 1 ayat 1 menjelaskan informasi elektronik adalah satu atau sekumpulan data elektronik, termasuk tetapi tidak terbatas pada tulisan, suara, gambar,
peta, rancangan, foto, electronic data interchange (EDI), surat elektronik (electronic mail), telegram, teleks, telecopy atau sejenisnya, huruf, tanda, angka, kode
akses, symbol, atau perforasi yang telah diolah dan memiliki arti atau dipahami
oleh orang yang mampu memahaminya. Kemudian pada pasal 1 nomor 2
dilanjutkan dengan transaksi elektronik adalah perbuatan hukum yang dilakukan
dengan menggunakan komputer, jaringan komputer dan/atau media elektronik
lainnya. Selanjutnya, pasal 17 menjelaskan sebagai berikut.
http://digilib.mercubuana.ac.id/
47
1)
Penyelenggaraan transaksi elektronik dapat dilakukan dalam ruang lingkup
publik atau privat
2)
Para pihak yang melakukan transaksi elektronik sebagaimana yang dimaksud ayat (1) wajib beritikad baik dalam melakukan interaksi dan/atau pertukaran informasi elektronik dan/atau dokumen elektronik selama transaksi
berlangsung
3)
Ketentuan lebih lanjut mengenai penyelenggaraan transaksi elektronik sebagaimana dimaksud pada ayat (1) diatur dalam peraturan pemerintah
Raditio (2014) menjelaskan bahwa dalam kehidupan sehari-hari bentuk
transaksi menggunakan teknologi dapat kita lihat dalam wujud electronic transaction (e-banking) melalui ATM, phone banking, internet banking dan lain sebagainya sebagai bentuk baru delivery channel memodernisasi setiap transaksi.
Secara umum saat ini terdapat tiga basis instrument pembayaran, yakni:
1)
Paper-based: cek, bilyet giro dan nota debet
2)
Card-based: kartu kredit, kartu debet dan kartu ATM
3)
Electronic-based: e-money, internet banking, mobile banking, electronic
mall
e-Business
Menurut Yakub (2012) e-business secara umum adalah berbagai aktivitas di
dalam perusahaan, baik yang berkaitan secara langsung maupun tidak langsung
dengan berbagai proses pertukaran barang atau jasa dengan memanfaatkan
teknologi digital (komputer, telekomunikasi, teknologi informasi dan sebagainya).
Seluruh rangkaian proses yang sering dijumpai dalam aktivitas bisnis masuk ke
dalam domain definisi e-business, seperti; Supply Chain Management (SCM),
Demand Chain Management (DCM) dan Enterprise Resource Planning (ERP).
Nilai (value) yang ditawarkan oleh e-business paling tidak ada lima keuntungan
yang ditawarkan.
1)
Efficiency
Manfaat yang paling cepat diperoleh perusahaan yang terjun ke dunia e-
business adalah perbaikan tingkat efisiensi. Pemanfaatan teknologi informasi di
berbagai rangkaian bisnis akan terlihat bagaimana perusahaan dapat mengurangi
http://digilib.mercubuana.ac.id/
48
biaya operasional yang biasa dikeluarkan. E-Mail dapat mengurangi biaya
komunikasi dan pengiriman dokumen, call center dapat mengurangi biaya
pelayanan pelanggan, website dapat mengurangi biaya pemasaran dan voip dapat
mengurangi biaya telekomunikasi.
2)
Effectiveness
Manfaat ini dirasakan ketika terjadi perubahan-perubahan yang cukup
signifikan dalam melakukan aktivitas operasional. E-technology, perusahaan
dapat berhubungan
dengan pelanggan secara non stop. E-supply chain,
manajemen dapat meningkatkan pelayanan kepada pelanggannya.
3)
Reach
Manfaat yang diperoleh dari perusahan adalah kemampuan e-technology di
dalam memperluas jangkauan dan ruang gerak perusahaan. Melalui internet,
secara tidak langsung telah menghubungkan perusahaan dengan ratusan juta calon
pelanggan. Kemampuan ekspansi yang sedemikian mudah untuk menembus batas
ruang dan waktu tanpa memerlukan biaya yang mahal.
4)
Structure
Manfaat penerapan e-business adalah terciptanya berbagai jenis produk
maupun jasa baru akibat berkonvergensi berbagai sektor industri yang selama ini
secara struktur terlihat berdiri sendiri. Sebuah toko dapat menjual dengan cara
lelang, paket liburan yang mengemas berbagai produk seperti; transportasi, hotel
dan lokasi wisata, dan toko buku yang berfungsi sebagai perpustakaan. Konsep
brick-and-mortar telah menjadi click-and-mortar, benar-benar mengubah perilaku
perusahaan dalam melakukan pendekatan bisnis.
5)
Opportunity
Manfaat terakhir adalah terbukanya peluang yang lebar bagi pelaku bisnis
untuk berinovasi menciptakan produk atau jasa baru akibat selalu ditemukan etechnology baru dari masa ke masa. Model bisnis (business model) baru selalu
ditawarkan oleh beraneka ragam situs yang berkembang pesat di internet. Bidang
pendidikan tercatat semakin maraknya situs-situs penyelenggara pendidikan (eschool), maupun pelatihan (e-training). Bidang keuangan telah berdiri lembagalembaga keuangan virtual semacam e-banking, e-insurance dan e-stock. Bidang
produksi
(manufacturing)
berkembang
perusahan-perusahaan
http://digilib.mercubuana.ac.id/
yang
siap
49
memberikan bisnis outsourcing pada bidang e-procurement, e-logistics, einventory dan e-distribution.
Aplikasi e-business dianggap sebagai mekanisme yang memungkinkan peningkatan kompetensi organisasi, menyediakan peluang baru bagi organisasi dalam
menyediakan barang dan jasa dan sabagai nilai tambah dengan cara meningkatkan
efisiensi dan efektivitas siklus suplai (Ciarniene and Stankeviciute, 2015).
Gambar 2.7 Ilustrasi e-Business (Sumber: http://www.iticale.com/e-business)
Electronic Data Interchange
Menurut EDI Basics (http://www.edibasics.com/what-is-edi/) Electronic
Data Interchange (EDI) adalah pertukaran dokumen bisnis komputer ke komputer
lainnya antar sesama rekan bisnis dengan standar format elektronik.
http://digilib.mercubuana.ac.id/
50
Gambar 2.8 Ilustrasi proses EDI (Sumber: http://www.edibasics.com/what-is-edi/)
Sedangkan Electronic Data Intechange Indonesia atau EDII (http://www.ediindonesia.co.id/index.php?act=edi) menjelaskan Pertukaran Data Elektronik
(Electronic Data Interchange / EDI) adalah transmisi data terstruktur antar organisasi secara elektronis. Proses ini dapat digunakan untuk mengirimkan dokumen
elektronis ataupun data perusahaan dari satu komputer ke komputer lainnya atau
antara satu trading partner ke trading partner lainnya tanpa campur tangan manusia. Standar EDI didesain secara independen dari sisi metode komunikasi maupun
teknologi perangkat lunaknya. EDI dapat ditransmisikan menggunakan berbagai
metodologi yang disepakati antara pengirim dan penerima. Termasuk dalam
metodologi ini adalah berbagai variasi teknologi seperti modem (asynchronous
dan synchronous), FTP, e-mail, HTTP, AS1, AS2 dan lain-lain. Namun perlu
dibedakan antara dokumen EDI dan metode untuk mengirimkan dokumen tersebut.
http://digilib.mercubuana.ac.id/
51
Exforsys
Inc
(http://www.exforsys.com/tutorials/edi/electronic-data-
interchange.html) menjelaskan pada dasarnya EDI terbuat dari empat elemen.
1)
Pada dasarnya EDI menggunakan media transmisi elektronik seperti VAN
(Value Added Network), namun seiring berkembangnya teknologi, saat ini
sudah ada internet
2)
EDI menggunakan format pesan terstruktur berdasarkan standar yang telah
disepakati
3)
Menyediakan pengirimin dokumen yang relatif cepat dari pengirim ke
penerima
4)
EDI menyediakan komunikasi langsung antar aplikasi, bukan antar
komputer
http://digilib.mercubuana.ac.id/
Download