BAB 2 LANDASAN TEORI 2.1
Kerangka Teori
2.1.1 Teori Umum 2.1.1.1 Sistem Menurut Satzinger, et al (p.6, 2005) sistem adalah kumpulan komponen sistem yang berhubungan dan berfungsi secara bersama untuk mencapai hasil akhir. Menurut O’Brien (p.29, 2006) sistem merupakan sekelompok komponen yang saling berhubungan untuk bekerja secara bersamaan demi mencapai tujuan bersama melalui suatu input serta menghasilkan output dalam suatu proses transformasi yang teratur. Komponen-komponen dasar di dalam suatu sistem adalah sebagai berikut: • Input, yakni bagian dari sistem yang mencakup keseluruhan elemen yang hendak dimasukkan kedalam sistem untuk diproses. • Proses, merupakan bagian sistem yang melakukan transformasi untuk mengubah input menjadi output. • Output adalah bagian dari sistem yang merupakan hasil input yang telah diproses oleh sistem menjadi suatu tujuan akhir. Menurut O’Brien (p.29, 2006), suatu sistem dilengkapi pula dengan dua komponen tambahan untuk menjadikan sistem tersebut lebih baik, yakni feedback dan control. Feedback adalah data mengenai kinerja sistem selama suatu kurun waktu tertentu dimana sistem berjalan. Sedangkan control adalah pengawasan dan pengevaluasian dari feedback untuk mengarahkan sistem agar beroperasi sesuai dengan tujuannya. Berdasarkan teori-teori yang telah disebutkan mengenai sistem tersebut, dapat disimpulkan bahwa sistem adalah suatu kesatuan dari komponen-komponen yang terintegrasi, yang bekerja secara bersamaan untuk mencapai suatu tujuan bersama.
2.1.1.2 Informasi Menurut Rainer dan Cegielski (p.10, 2011), informasi adalah kumpulan data yang telah diolah sehingga mampu memberikan pengertian terhadap suatu hal. Data merupakan deskripsi dasar atas suatu hal, kejadian, aktivitas atau transaksi yang direkam, diklasifikasikan, dan disimpan namun tidak diorganisasikan untuk 1
2 menjelaskan suatu hal yang terperinci. Kumpulan data dan/atau informasi membentuk suatu pengetahuan yang mampu memberikan definisi terhadap suatu hal, namun lebih terperinci. Menurut O’Brien (p.34, 2010), informasi adalah data yang telah dikonversi menjadi suatu konteks yang berarti dan berguna untuk pengguna akhir. Suatu informasi harus memiliki berbagai kriteria sebagai berikut: • Relevan. Informasi harus berasal dari fakta-fakta yang dapat dibuktikan kebenarannya, serta berhubungan dengan suatu keputusan yang akan diambil untuk mencapai tujuan yang telah ditetapkan. • Akurat Informasi harus dapat diandalkan, dan disajikan secara tepat. • Jangkauan Informasi harus meliputi semua fakta yang terjangkau atau dapat diliput dan terkait dengan apa yang ingin disampaikan. • Ringkas Informasi memiliki dan dapat dibuat kesimpulannya. • Terukur Informasi dapat menunjukkan nilai atau kadar kuantitatif yang dapat diukur. • Tepat Waktu Informasi yang akan dibagikan tidak boleh terlambat, karena informasi yang terlambat memiliki nilai yang kurang. Jadi dapat disimpulkan, bahwa informasi adalah bentuk keluaran dari hasil pengolahan data yang bernilai bagi setiap pihak yang menggunakannya.
2.1.1.3 Sistem Informasi Pengertian sistem informasi menurut Satzinger, et al (p.7, 2005) adalah sekumpulan
komponen
sistem
yang
menyimpan dan menyediakan informasi suatu proses bisnis.
berfungsi
mengumpulkan,
mengolah,
yang dibutuhkan untuk menyelesaikan
3 Menurut O’Brien (p.4, 2010), sistem informasi merupakan kombinasi dari manusia, hardware, software, jaringan komunikasi dan sumber data yang mengumpulkan, mengubah, dan berbagi informasi di dalam sebuah organisasi. Sistem informasi menurut Rainer dan Cegielski (p.7, 2011) adalah sistem yang terkait untuk perencanaan, pengembangan, pengaturan, dan penggunaan teknologi informasi untuk membantu organisasi dalam mengerjakan segala tugas terkait pengelolaan dan manajemen informasi dari organisasi tersebut. Tipe-tipe sistem informasi menurut Satzinger, et al (p.8-p.10, 2005) dapat dibedakan menjadi sejumlah hal sebagai berikut: i. Transaction Processing System (TPS) TPS merupakan sistem informasi yang berfungsi menangkap dan menyimpan informasi-informasi mengenai transaksi yang berpengaruh bagi organisasi. ii. Management Information System (MIS) MIS adalah sistem informasi yang mengelola data dari TPS dan membuat laporan yang dibutuhkan pihak manajemen untuk melakukan perencanaan dan pengaturan terhadap proses bisnis yang ada. iii. Executive Information System (EIS) EIS yakni sistem informasi yang digunakan oleh pihak eksekutif untuk pengawasan lingkungan yang kompetitif dan untuk perencanaan strategis. iv. Decision Support System (DSS) DSS adalah sistem pendukung yang memungkinkan pengguna untuk mengetahui dampak dari tiap pilihan/keputusan yang ada. v. Communication Support System Communication Support System adalah sistem pendukung yang memungkinkan para pekerja di dalam suatu organisasi untuk dapat berkomunikasi satu dengan yang lain, dan juga dengan para klien dan para supplier. vi. Office Support System Office Support System adalah sistem pendukung yang membantu para pekerja dalam suatu organisasi untuk membuat dan berbagi dokumen, seperti laporan, proposal dan memo. Dari pengertian-pengertian tadi, dapat disimpulkan bahwa sistem informasi adalah kumpulan dari komponen-komponen yang terintegrasi, yang mengolah data menjadi suatu informasi yang berguna bagi kepentingan organisasi.
4 2.1.1.4 Database Management System (DBMS) Database menurut Satzinger, et al (p.398, 2005) adalah suatu kumpulan dari data-data yang disimpan, terintegrasi, dikelola dan dikontrol secara terpusat. Menurut Satzinger, et al (p.398, 2005) DBMS merupakan suatu sistem piranti lunak yang melakukan pengelolaan dan kontrol tiap-tiap akses yang dilakukan pada database. Komponen-komponen yang terdapat pada database management system menurut Satzinger, et al (p.398, 2005) adalah: • Physical Data Store Area penyimpanan yang menjadi wadah bagi database management system untuk menyimpan data-data. • Schema Deskripsi struktur, isi dan kontrol akses dari suatu tempat penyimpanan data fisik, atau database. Model-model dari database menurut Satzinger, et al (p.399, 2005) yakni: • Hierarchical • Network • Relational • Object-Oriented
2.1.1.5 Smartphone Menurut Oxford Dictionaries, smartphone adalah sebuah telepon seluler yang mempunyai sebagian besar fungsi dari sebuah komputer, umumnya mempunyai layar yang besar dan suatu sistem operasi dengan kemampuan menjalankan aplikasi yang bersifat umum.
2.1.1.6 Mobile Operating System Menurut Oxford Dictionaries, mobile operating system suatu perangkat lunak yang mendukung fungsi – fungsi dasar telepon seluler, seperti penjadwalan tugas – tugas, mengeksekusi aplikasi, dan mengontrol perangkat – perangkat tambahan / peripheral.
5 2.1.1.7 Interaksi Manusia dan Komputer Interaksi manusia dan komputer merupakan disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena – fenomena besar yang berhubungan dengannya. Menurut Shneiderman (2005, p92-93), delapan aturan emas dalam perancangan interface adalah sebagai berikut: •
Strive for consistency Dalam perancangan interface harus konsisten dalam aksi – aksi pada situasi tertentu baik dalam pengaturan menu, ukuran dan bentuk icon, urutan – urutan yang harus diikuti dalam menyelesaikan suatu tugas juga harus konsisten.
•
Enable frequent users to use shortcut Merancang
interface
sebaiknya
menggunakan
shortcut untuk
penggunaan berulang. Dimana designer menyediakan shortcut keys yang dapat mengurangi jumlah dan interaksi untuk menyelesaikan suatu tugas. •
Offer informative feedback Dalam setiap aksi yang dilakukan pengguna harus dapat memberikan feedback yang informatif. Contohnya, ketika pengguna menekan suatu tombol, maka sebaiknya tombol tersebut berubah secara visual berupa tampilan pesan atau mengeluarkan suara tertentu.
•
Design dialog to yield closure Merancang dialog untuk menunjukkan urutan dalam tugas. Setiap dialog sebaiknya diatur dengan urutan yang jelas supaya terlihat mana yang merupakan tahap awal, tengah, dan akhir.
•
Offer simple error handling Merancang sistem yang memungkinkan pengguna tidak melakukan atau membuat kesalahan yang fatal. Hal ini dapat diatasi dengan memberikan petunjuk kesalahan kepada pengguna.
•
Permit easy reversal of action Pengguna harus diberikan kebebasan terhadap pilihan – pilihan yang ada, karena itu sebaiknya merancang interface yang dapat memberikan kesempatan kepada pengguna untuk membatalkan aksi yang dilakukannya.
6 •
Support internal locus of control Dengan adanya pengaturan internal, pengguna dapat menggunakan sistem sesuai kebutuhan dengan memberikan user control untuk setiap aksi atau kegiatan yang dilakukan.
•
Reduce short-term memory load Kemampuan manusia dalam memproses informasi dalam jangka waktu pendek memiliki keterbatasan, sehingga diperlukan rancangan interface yang mengurangi kemungkinan pengguna untuk mengingat keyword pengerjaannya, misalnya dengan memberikan header.
2.1.1.8 Analisis Sistem Menurut Satzinger, et al (p.4, 2005) analisis sistem merupakan suatu proses dari memahami dan menguraikan secara rinci mengenai apa yang dilakukan oleh suatu sistem informasi. Menurut O’Brien (p.349, 2006), analisis sistem adalah proses pembelajaran lebih dalam terhadap kebutuhan informal dari end user yang menghasilkan kebutuhan fungsional yang digunakan sebagai rancangan dasar untuk sistem informasi baru. Menurut Rainer dan Cegielski (p.405, 2011), analisis sistem yakni pengujian terhadap suatu masalah bisnis yang dimiliki oleh suatu organisasi, yang hendak diselesaikan dengan sistem informasi yang dimiliki organisasi tersebut. Berdasarkan pengertian-pengertian tersebut, dapat disimpulkan bahwa analisis sistem merupakan kegiatan untuk memahami dan mendefinisikan bagianbagian yang ada pada suatu sistem secara keseluruhan dengan informasi-informasi yang dimiliki oleh organisasi.
2.1.1.9 Perancangan Sistem Perancangan sistem menurut O’Brien, et al (p.351-352, 2006) merupakan kegiatan membuat suatu sistem untuk mencapai tujuannya. Menurut Rainerdan Cegielski (p.405, 2011), perancangan sistem adalah suatu proses yang menjabarkan bagaimana sistem akan memecahkan masalah bisnis yang dimiliki suatu organisasi.
7 Berdasar
pengertian-pengertian
tersebut,
dapat
disimpulkan
bahwa
perancangan sistem merupakan proses yang menentukan bagaimana sistem dibangun sehingga sistem dapat digunakan untuk memecahkan masalah yang ada di dalam suatu organisasi.
2.1.1.10 Pengumpulan Data Pengumpulan data menurut Moh. Nazir, Ph. D merupakan prosedur yang sistematis dan standar untuk memperoleh data yang diperlukan. Selalu ada hubungan antara metode mengumpulkan data dengan masalah penelitian yang ingin dipecahkan. Masalah memberi arah dan mempengaruhi metode pengumpulan data. Banyak masalah yang dirumuskan tidak akan bisa terpecahkan karena metode untuk memperoleh data yang digunakan tidak memungkinkan, ataupun metode yang ada tidak dapat menghasilkan data seperti yang diinginkan. Jika hal sedemikian terjadi, maka tidak ada lain jalan bagi si peneliti kecuali menukar masalah yang ingin dipecahkan. Secara umum metode pengumpulan data dapat dibagi atas beberapa kelompok, yaitu •
Metode pengamatan langsung Pengumpulan data dengan pengamatan langsung atau dengan observasi langsung adalah cara pengambilan data dengan menggunakan mata tanpa ada pertolongan alat standar lain untuk keperluan tersebut.
•
Metode pengumpulan data dengan wawancara Selain dari pengumpulan data dengan cara pengamatan, maka dalam ilmu sosial data dapat juga diperoleh dengan mengadakan interview atau wawancara. Yang dimaksud dengan wawancara adalah proses memperoleh keterangan untuk tujuan penelitian dengan cara tanya jawab, sambil bertatap muka antara si penanya atau pewawancara dengan si penjawab atau responden dengan menggunakan alat yang dinamakan interview guide.
•
Metode pengumpulan data melalui daftar pertanyaan Alat lain untuk mengumpulkan data adalah daftar pertanyaan, yang sering disebutkan secara umum dengan nama kuesioner. Pertanyaanpertanyaan yang terdapat dalam kuesioner, atau daftar pertanyaan tersebut cukup terperinci dan lengkap. o Isi dari kuesioner
8 Kuesioner harus mempunyai masalah yang ingin dipecahkan. Tiap pertanyaan harus merupaka bagian dari hipotesis yang ingin diuji. Dalam memperoleh keterangan yang berkisar pada masalah yang ingin dipecahkan itu, maka secara umum isi dari kuesioner dapat berupa: pertanyaan tentang fakta, pertanyaan tentang pendapat (opini), pertanyaan tentang persepsi diri. o Cara mengungkapkan pertanyaan Walaupun sukar untuk menentukan suatu aturan yang dapat berlaku umum tentang cara mengungkapkan pertanyaan, beberapa petunjuk penting berkenaan dengan hal di atas perlu diketahui, antara lain:
Perkataan dan kalimat harus sederhana Dalam membuat pertanyaan dalam kuesioner, pakailah kalimat dan kata-kata yang sederhana. Hindari pemilihan katakata sulit.
Sebaiknya
jangan
gunakan
pertanyaan:
bagaimana status ibu? Tetapi lebih baik tanyakan: apakah ibu bersuami?
Pertanyaan sebaiknya khas Pertanyaan janganlah terlalu umum, tetapi sebaiknya spesifik dan khas. Pertanyaan yang umum yang akan digunakan untuk memperoleh jawaban terhadap sesuatu hal yang khusus, dapat menghasilkan jawaban yang tidak mengenai sasaran. Misalnya, peneliti ingin mengetahui tentang harga makanan dan pelayanan dari kantin fakultas yang baru saja dibuka. Jika bentuk pertanyaannya “Apakah Anda puas dengan kantin baru kita?” Maka jelas bahwa pertanyaan tersebut sangat umum sifatnya, dan jawabannya tidak akan dapat menjawab masalah harga makanan dan baik buruknya pelayanan. Karena itu, pertanyaannya harus dibuat secara lebih spesifik, dan diubah menjadi dua pertanyaan sebagai berikut “Apakah Anda puas dengan harga makanan pada kantin kita?”
9 atau “Apakah Anda puas dengan pelayanan kantin kita yang baru?”.
Pertanyaan jangan berarti dua (ambigous) Jika pertanyaan dapat mendua arti, maka tiap orang akan mengartikan pertanyaan tersebut dengan pengertian yang berbeda. Misalnya pertanyaan “Apakah bapak senang minum teh atau kopi?” Pertanyaan ini sukar dijawab bagi orang yang menyenangi kedua-duanya. Pertanyaan “Apakah bapak mau masuk kelompok tani?” Pertanyaan tersebut sebaiknya diganti dengan “Apakah bapak puas dngan pelayanan kantin kita yang baru?”.
Jangan gunakan kata yang samar-samar artinya Hindari kata-kata yang artinya samar-samar. Kata-kata ini dapat menghasilkan jawaban yang samar-samar pula. Katakata: banyak, secara keseluruhan, jenis, biasa, agak, dan sebagainya merupakan kata-kata yang samar-samar. Bahkan ada yang menganggap, menggunakan kata “mengapa” dalam sebuah pertanyaan dapat membuat pertanyaan tersebut menjadi samar-samar.
Hindari pertanyaan-pertanyaan yang mengandung sugesti Pertanyaan, baik karena isi atau kata-kata yang digunakan, dapat menjuruskan responden kepada suatu jawaban tertentu. Pertanyaan seperti ini dinamakan pertanyaan yang memberi sugesti (leading question). Hindari pertanyaan demikian. Penggunaan kata-kata seperti “berperan”, “Apakah Anda setuju”, biasanya mengundang jawaban “ya”. Misalnya “Apakah Anda setuju supaya…” mengandung beberapa jawaban dari sekian banyak pilihan, juga merupakan pertanyaan sugesti. Misalnya, “Apakah Anda membaca surat kabar seperti Kompas dan Waspada?”.
Pertanyaan jangan mengandung presumasi Pertanyaan
presumasi
adalah
pertanyaan
yang
berstandar kepada anggapan bahwa responden termasuk dalam
10 kategori yang mempunyai sifat ingin ditanyakan, ataupun responden mempunyai pengetahuan yang baik tentang kelompok yang ingin ditanyakan. Misalnya, semua responden ditanyakan “Jenis pupuk apa yang Anda gunakan?” Padahal belum tentu semua responden menggunakan pupuk. Karena itu, pertanyaan lain harus diajukan lebih dahulu sebelum pertanyaan di atas ditanyakan, yaitu pertanyaan untuk menyaring responden. Pertanyaan tersebut misalnya “Apakah Anda menggunakan pupuk pada tanaman padi Anda musim yang lalu?”.
Pertanyaan yang membuat seseorang malu Hindari pertanyaan yang membuat malu atau terlalu pribadi bagi responden. Jika ingin ditanyakan juga, maka buatlah pertanyaan tersebut untuk orang lain dan tanyakan pendapat responden. Misalnya, kita ingin diketahui mengapa responden tidak ikut dalam dinas, maka tanyakan pendapatnya dengan menggunakan pertanyaan tidak langsung, seperti “Banyak orang yang tidak ingin ikut dalam program dinas?”.
Pertanyaan yang mengundang ingatan kuat Hindari
pertanyaan-pertanyaan
yang
memerlukan
ingatan yang kuat dari responden. Daya ingat responden terhadap sesuatu dipengaruhi sekurang-kurangnya oleh dua hal, yaitu berapa lamanya waktu tersebut telah berlalu, dan pentingnya hal tersebut bagi responden sendiri. Maka dari itu, periode
suatu
kejadian
yang
ingin
ditanyakan
harus
disesuaikan dengan daya ingat normal dari responden. o Jenis pertanyaan Pertanyaan yang dibuat dalam kuesioner dapat memperoleh jawaban yang berjenis-jenis, atau menjurus kepada beberapa alternatif jawaban yang sudah diberikan lebih dahulu. Dalam hubungannya dengan leluasa tidaknya, responden memberikan jawaban terhadap pertanyaan-pertanyaan yang diajukan, pertanyaan dapat dibagi dalam dua jenis, yaitu pertanyaan berstruktur dan pertanyaan terbuka.
11
Pertanyaan berstruktur Pertanyaan berstruktur adalah pertanyaan yang dibuat sedemikian rupa, sehingga responden dibatasi dalam memberi jawaban kepada beberapa alternatif saja ataupun kepada satu jawaban
saja.
Jawaban
yang
paling
mudah
terhadap
pertanyaan berstruktur adalah “Ya” atau “Tidak”. Beberapa contoh dari pertanyaan yang berstruktur adalah sebagai berikut. a. Apakah Anda mempunyai mobil dinas? ___Ya; ___Tidak b. Dalam kategori manakah pendapatan bapak semusim dari usaha tani? ___di bawah Rp 50.000,00 / musim ___Rp 50.000,00 s.d. Rp 100.000,00 / musim ___Rp 100.000,00 s.d. Rp 150.000,00 / musim ___Rp 150.000,00 s.d. Rp 200.000,00 / musim ___Rp 200.000,00 di atas / musim c. Mulai tahun lalu mahasiswa Universitas Syiah Kuala diharuskan mengikuti P4 sebelum diterima menjadi mahasiswa. Apakah bapak: ___sangat setuju ___setuju ___kurang setuju ___tidak setuju sama sekali d.
Dalam pemilihan umum yang lalu, Golkar kalah di Aceh. Taruhlah No. 1 pada alasan yang paling penting, No. 2 pada asalan penting, dan seterusnya, pada alasan-alasan kekalahan Golkar yang tertulis di bawah ini. ___ program Golkar tidak jelas. ___ program Golkar tidak cocok dengan masyarakat. ___ program Golkar tidak diketahui masyarakat. ___ pimpinan Golkar tidak dikenal. ___ memilih Golkar dianggap berdosa.
12 Ada kalanya, pertanyaan sudah berstruktur secara sendirinya, karena yang dapat diberikan pada pertanyaan tersebut hanya satu saja. Misalnya, “Berapakah umur Anda pada hari ulang tahun Anda yang terakhir?” ___ tahun. Pertanyaan tidak dapat dibuat berstruktur karena kita tidak mengetahui jawabanjawaban apa yang harus diberikan. Dalam hal ini, maka pertanyaan dibuat menjadi semistruktur, di mana di bawah alternatif-alternatif jawaban, ditambahkan “Lain-lain”. Contoh: Mengapa Anda tidak ikut program bimas? ___ tidak mengetahui ada program bimas di desa ini. ___ takut mengambil resiko. ___ tidak dibenarkan oleh tuan rumah. ___ alasan lain:……………………………………… Pertanyaan berstruktur ada baiknya dan ada pula buruknya. Kebaikan dari pertanyaan berstruktur adalah sebagai berikut. -
Pertanyaan berstruktur mudah dianalisis.
-
Jawaban yang diberikan akan lebih mudah memperjelas arti dari pertanyaan terhadap responden, ataupun dimensi dari jawaban yang harus diberikan.
-
Responden
sendiri
memberikan
“penilaian”
sendiri
terhadap jawaban, sehingga si penganalisis nantinya tidak perlu lagi memberikan penilaian. Di
samping
kebaikan,
maka
pertanyaan
berstruktur
mempunyai kelemahan sebagai berikut. -
Mendorong responden untuk
memberikan jawaban,
padahal responden sendiri tidak tahu akan hal tersebut. -
Jawaban dapat menimbulkan bias, karena jawaban yang diinginkan tidak termasuk dalam alternatif-alternatif jawaban yang ada.
-
Menutup kemungkinan ada jawaban lain yang lebih relevan, yang tidak dipikirkan oleh si pembuat penelitian.
13 Pertanyaan-pertanyaan berstruktur hanya baik dibuat untuk mengetahui hal-hal yang mempunyai sedikit alternatif jawaban, dan alternatif-alternatif tersebut nyata sekali perbedaannya. Pertanyaan demikian lebih banyak dalam hal mencari keterangan tentang umur pendidikan, pendapatan, sewa, kepunyaan (ownership), dan sebagainya, dan juga untuk memperoleh keterangan mengenai opini tentang sesuatu hal di mana opini ini cukup jelas.
Pertanyaan terbuka Pertanyaan terbuka atau pertanyaan tidak berstruktur adalah pertanyaan yang dibuat sedemikian rupa dan jawabannya serta cara pengungkapannya dapat bermacam-macam. Bentuk pertanyaan ini jarang digunakan dalam kuesioner, tetapi banyak
digunakan
dalam
interview
guide.
Responden
mempunyai kebebasan dalam menjawab pertanyaan terbuka. Dalam pertanyaan terbuka ini, responden tidak terikat kepada alternatif-alternatif jawaban. Misalnya. a. Jawabannya bermacam-macam. Bisa saja “Saya tanya dulu istri saya.” Atau: “Terserah pada pemerintah.” Atau “Saya
tidak
peduli.”
Jika
peneliti,
sebenarnya
menginginkan jawaban, apakah banyak orang setuju atau yang menentang pendirian sekolah politeknik di desa tersebut, maka pertanyaan tersebut sebaiknya dibuat berstruktur saja, yaitu b. Bagaimana pendapat bapak tentang pembukaan sekolah politeknik di desa ini?___ setuju; ___ tidak setuju. c. Seringkah Anda menonton siaran “Dunia Dalam Berita” di TVRI? Jawaban dari pertanyaan tersebut dapat bermacam-macam. Misalnya tidak berapa sering; kadang-kadang saja; jika saya diajak oleh pacar saya; Jika saya ingin mengetahui sesuatu hal; dan sebagainya. Tetapi, jika yang diinginkan oleh peneliti adalah frekuensi penonton siaran “Dunia Dalam Berita” tiap
14 minggu, maka pertanyaan tersebut lebih baik diubah menjadi pertanyaan berstruktur sebagai berikut.’ d. Berapa kalikah Anda menonton siaran “Dunia Dalam Berita” di TV Saudara dalam 1 minggu. ___ tidak pernah ___ 1x seminggu ___ 2x seminggu ___ 3x seminggu ___ lebih dari 3 kali seminggu ___ tiap malam Kebaikan dari pertanyaan terbuka adalah kebebasan bagi responden
untuk
menjawab
data
enumerator
tidak
menjuruskan jawaban terhadap hal-hal tertentu. Dari itu, bias yang ditimbulkan relatif kecil. Di lain pihak, jawaban terbuka sukar dianalisis, dan jawabannya dapat saja berada di luar dari kerangka analisis yang diinginkan. o Hubungan pertanyaan dengan masalah pokok Dalam membuat pertanyaan, maka peneliti harus selalu kembali kepada pertanyaan: pertanyaan apakah yang penting-penting yang harus ditanyakan sehingga sasaran penelitian untuk memecahkan masalah yang akan diselidiki harus terjawab. Karena itu, pertanyaan yang dibuat harus mempunyai hubungan yang relevan dengan permasalahan pokok dan harus dapat menguji hipotesis yang telah dirumuskan. Mengingat bahwa untuk menjawab pertanyaan tersebut diperlukan waktu, maka pertanyaan seyogyanya harus dapat dijawab oleh responden dalam waktu singkat. Biasanya untuk menyelesaikan satu kuesioner, waktu yang diperlukan tidak melebihi 30 menit. Dalam menyusun pertanyaan, sekurang-kurangnya dua hal perlu dipikirkan, yaitu isi dari tiap item pertanyaan, dan kedua, hubungan antara item dengan item dalam keseluruhan kuesioner. Item dari pertanyaan harus padat, terang, dan tiap item harus merupakan hipotesis ataupun bagian dari hipotesis yang ingin diuji. Berdasarkan pengalaman, pengetahuan ataupun konsultasi, maka peneliti harus
15 dapat membuat sebanyak mungkin keterangan yang diinginkan untuk dicari jawabannya. Keterangan-keterangan ini kemudian diubah dalam bentuk pertanyaan. Semua keterangan harus mempunyai implikasi yang logis dengan masalah yang ingin dipecahkan. Setelah peneliti mengumpulkan item-item yang diinginkan, baik dengan konsultasi dengan para ahli ataupun kawan-kawan seprofesi, itemitem tersebut dikembangkan, dan beberapa perubahan dapat dilakukan. Biasanya list dari pertanyaan menjadi bertambah banyak, area yang menarik perhatian menjadi bertambah luas, dan bias, kemerduaan arti, serta kalimat-kalimat buruk menjadi berkurang jumlahnya dan hubungan-hubungan logis antara pertanyaan dengan masalah pokok menjadi lebih jelas. Selain dari isi dari masing-masing item pertanyaan itu sendiri harus cocok dan relevan dengan masalah pokok, item-item secara keseluruhan harus pula diatur menjadi suatu unit yang padat. Untuk ini diperlukan penyusunan urutan-urutan pertanyaan yang dapat menghasilkan jawaban secara optimal. Sehubungan dengan ini, urutan-urutan pertanyaan biasanya dimulai dari pertanyaan yang mudah untuk dijawab dan berisi item yang menarik perhatian responden, dan tidak berisi pertanyaan yang kontroversial. Pertanyaan dimulai dari yang mudah kemudian kepada yang kompleks. Jangan mulai dengan pertanyaan yang berisi jawaban-jawaban yang terlalu pribadi ataupun membuat seseorang menjadi tersinggung. Dalam membuat pertanyaan, susunlah pertanyaan menurut kelompok kerangka pemikiran tertentu, dan janganlah melompat dari suatu kerangka pemikiran ke kerangka pemikiran yang lain. Penempatan pertanyaan cross-check juga diletakkan dalam kelompok kerangka pemikiran masing-masing. Perlu juga disinggung bahwa ada juga item pertanyaan yang tidak perlu ditanyakan, tetapi dapat dijawab sendiri oleh enumerator. Misalnya pertanyaan; Jenis kelamin: ___ laki-laki, ___ perempuan dalam kuesioner tidak perlu ditanyakan. Enumerator sendiri dapat
16 mengisinya dengan melihat jenis kelamin dari responden dalam tatap muka. •
Daftar pertanyaan yang dikirimkan Pertanyaan-pertanyaan
yang
disusun
dan
dikirimkan
untuk
memperoleh respons dari responden adalah kuesioner, karena yang mengisi jawaban pertanyaan tersebut adalah responden sendiri. Pengiriman kuesioner biasanya dilakukan dengan pos. hanya untuk memperoleh informasi tertentu saja penggunaan kuesioner melalui pos dapat dilakukan secara efektif. •
Studi pendahuluan dan pretest Bagaimanapun baiknya, seseorang menyusun daftar pertanyaan ataupun membuat interview guide, tetapi di sana sini masih akan dijumpai juga beberapa kekurangan. Maka dari itu, sebelum item-item pertanyaan dijadikan pertanyaan final, maka perlu lebih dahulu dijajaki kebaikannya dengan dua cara yaitu dengan mengadakan studi pendahuluan atau pilot studi, dan dengan mengadakan pretest terhadap pertanyaan-pertanyaan yang telah dibuat.
•
Metode khusus Selain dari metode yang telah diterangkan diatas, maka banyak metode lain yang juga sering digunakan dalam penelitian. Metode – metode tersebut antara lain: o Metode proyektif Metode pengumpulan data yang didasarkan pada sifat manusia yang diberikan Tuhan untuk memproyeksikan nilai-nilai, keinginan, kebutuhan ataupun sikapnya ke dalam perilaku, ataupun objek di luar manusia itu sendiri. o Metode sosiometri Metode pengumpulan data yang berkenaan dengan pola memilih, berkomunikasi dan berinteraksi dari individu-individu.
2.1.1.1 Skala Likert Menurut William G. Zikmund (2009), Skala Likert ialah suatu ukuran perilaku yang dirancang supaya responden dapat menilai seberapa kuat kesetujuan/ketidaksetujuan mereka terhadap suatu pernyataan yang
17 telah dikonstruksi secara hati-hati, berjarak antara anggapan yang amat positif hingga amat negatif terhadap suatu objek.
Gambar 0.1 Contoh Skala Likert
2.1.2 Teori Khusus 2.1.2.1 Pendidikan Menurut Kamus Besar Bahasa Indonesia, pendidikan adalah proses pengubahan sikap dan tata laku seseorang atau kelompok orang dalam usaha mendewasakan manusia melalui upaya pengajaran dan pelatihan.
2.1.2.2 Sekolah Menurut Kamus Besar Bahasa Indonesia, sekolah adalah bangunan atau lembaga untuk belajar dan mengajar serta tempat menerima dan memberi pelajaran menurut tingkatannya (-- dasar, -- lanjutan, -- tinggi).
2.1.2.3 Enterprise Resource Planning Menurut Satzinger, Jackson dan Burd (Satzinger, Jackson, & Burd, 2005), ERP merupakan suatu proses dimana organisasi memutuskan untuk menggunakan sepaket perangkat lunak yang mengintegrasikan sistem informasi yang menjadi kunci proses bisnis perusahaan.
2.1.2.4 FAST Menurut L.Whitten & Bentley (2007) FAST merupakan sebuah metodologi bersifat agile yang cukup fleksibel untuk mendukung berbagai ragam proyek serta strategi pengembangan sistem. Huruf-huruf pada FAST merupakan singkatan dari “Framework for the Application of System Thinking”. Fase-fase pada FAST antara lain: scope definition, problem analysis, requirements analysis, logical design, decision analysis,
18 physical design and integration, construction and testing, installation and delivery.
Gambar 0.2 Deliverables setiap fase FAST 2.1.2.4.1
Scope Definition Merupakan fase yang umum pada awal proyek, yang akan menjabarkan masalah-masalah apa yang perlu diatasi, disesuaikan dengan ukuran, batasan, serta tujuan proyek. Fase scope definition ini dipicu oleh beberapa kombinasi dari problems, opportunities, dan directives dimana kerangka kerja PIECES memberi penjelasan problem statement yang baik.
2.1.2.4.2
Problem Analysis Mempelajari sistem yang sudah ada dan menganalisis penemuanpenemuan masalah untuk mendukung tim proyek dalam memahami masalah-masalah yang menyebabkan proyek itu. Hasil dari analisis masalah adalah memutuskan proyek untuk selanjutnya: (a) dibatalkan karena masalah tidak pantas diselesaikan atau (b) disetujui lalu dilanjutkan ke fase selanjutnya atau (c) ruang lingkup yang dikurangi atau ditambahkan (dengan perubahan biaya dan jadwal), lalu dilanjutkan ke fase selanjutnya.
2.1.2.4.3
Requirement Analysis Fase ini mendefinisikan dan memprioritaskan kebutuhan bisnis untuk menentukan kebutuhan secara fungsional dan non-fungsional.
19 Seperti kemampuan apa yang harus disediakan sistem kepada pengguna, sepeti ukuran tingkat kinerja yang diperlukan, data apa yang harus diambil dan disimpan.
2.1.2.4.4
Logical Design Terjemahan dari kebutuhan pengguna dari sisi bisnis kepada model sistem yang hanya
menggambarkan kebutuhan sistem dan bukan
rancangan bersifat teknikal apalagi penerapan dari kebutuhan tersebut.
2.1.2.4.5
Decision Analysis Berdasarkan kebutuhan bisnis dan desain logika, tentunya sangat banyak alternatif keputusan yang dapat diambil untuk merancang sistem informasi dalam memenuhi kebutuhan-kebutuhan terdefinisi. Beberapa pertimbangan yang biasanya muncul adalah: proses mana saja yang sebaiknya diotomatisasi, apakah sistem dibangun sendiri atau membeli dari vendor, apakah mendesain secara internal atau berbasis web, dan lain sebagainya.
Gambar 0.3 Fase-fase pengembangan sistem dengan FAST
20 2.1.2.4.6
Physical design and integration Terjemahan dari kebutuhan pengguna dari sisi bisnis kepada model sistem yang menggambarkan penerapannya secara teknikal.
2.1.2.4.7
Construction and Testing Fase dimana model fisik dari sistem akan dibangun dan diuji untuk mengetahui apakah sistem telah memenuhi kebutuhan dan spesifikasi yang telah direncanakan. Ada pula implementasi rancangan antarmuka sistem lama dengan sistem baru, serta antarmuka pengguna.
2.1.2.4.8
Installation and Delivery Pada fase ini terjadi transisi sistem lama ke sistem baru dan membantu pengguna dalam pelatihan dalam penggunaan sistem baru. Untuk mendukung transisi yang mulus, harus ada perencanaan yang matang supaya tidak terjadi kerugian saat ditinggalkannya sistem lama.
2.1.2.5 Rapid Application Development (RAD) Menurut L.Whitten & Bentley (2007) RAD merupakan sebuah strategi
pengembangan
sistem
yang
menekankan
kecepatan
pengembangan melalui keterlibatan pengguna yang ekstensif dalam konstruksi, cepat, berulang, dan bertambah serangkaian prototipe bekerja sebuah sistem yang pada akhirnya berkembang ke dalam sistem final (atau sebuah versi).
Gagasan – gagasan dasar RAD adalah: o Lebih aktif melibatkan para pengguna sistem dalam aktifitas analisis, desain, konstruksi. o Mengorganisasikan pengembangan sistem ke dalam rangkaian seminar yang intensif dan terfokus bersama dengan para pemilik, pengguna, analis, desainer, dan pembangun sistem. o Mengakselerasi fase – fase analisis dan desain persyaratan melalui pendekatan konstruksi berulang. o Memperpendek waktu yang diperlukan sebelum para pengguna mulai melihat sebuah sistem yang bekerja,
21
Prinsip
dasar
dibalik
prototyping
adalah
para
pengguna
mengetahui apa yang mereka inginkan ketika mereka melihatnya bekerja. Dalam RAD, sebuah prototipe pada akhirnya berkembang menjadi sistem informasi final. Perhatikan Gambar 2.1 dan catatan berikut: 1. Penekanan pada pengurangan waktu dalam mengembangkan aplikasi dan sistem; oleh sebab itu fase analisis masalah awal, analisis persyaratan, dan analisis keputusan dikonsolidasikan dan diakselerasi. Produk jadinya umumnya dipendekkan kembali karena waktu. Produk jadinya dikatakan sebagai awal, berarti “diharapkan untuk berubah” selagi proyek dijalankan. Setelah analisis awal di atas, pendekatan RAD berulang melalui “siklus” fase – fase yang paling baik dideskripsikan sebagai “lakukan desain, konstruksi, analisis, desain lagi, konstruksi lagi, analisis lagi,” dan seterusnya, sampai sebuah versi sistem final siap untuk diimplementasikan.
Tiap
pengulangan
hanya
menekankan
fungsionalitas untuk diselesaikan dalam beberapa minggu. 2. Spesifikasi desain fisik dan logis biasanya secara signifikan dipendekkan dan diakselerasi. Pada tiap pengulangan dalam siklus, hanya “beberapa” spesifikasi desain yang akan dipertimbangkan. Saat beberapa model sistem mungkin digambar, mereka secara selektif dipilih dan penekanannya berlanjut pada pengembangan cepat. Asumsinya adalah bahwa error dapat ditangkap dan diperbaiki dalam pengulangan berikutnya. 3. Dalam beberapa, tapi jarang semua, pengulangan, beberapa proses bisnis mungkin harus didesain ulang untuk merefleksikan integrasi aplikasi perangkat lunak yang berkembang. 4. Pada tiap pengulangan dalam siklus, beberapa elemen prototipe desain atau sistem fungsional sebagian dikonstruksi dan diuji. Pada akhirnya, aplikasi yang telah selesai akan berasal dari pengulangan final dalam siklus.
22
Gambar 0.4 Strategi Rapid Application Development (“Figure 35” merujuk pada Gambar 2.2 Fase-fase pada FAST) 5. Setelah
tiap
prototipe
atau
subsistem
fungsional
sebagian
diskonstruksi dan diuji, para pengguna sistem diberi kesempatan untuk “mengalami” bekerja dengan prototipe tersebut. Harapannya adalah
para
pengguna
akan
mengklarifikasi
persyaratan,
mengidentifikasi persyaratan baru, dan menyediakan umpan balik bisnis pada desain (misalnya, kemudahan dipelajari, kemudahan digunakan) untuk pengulangan selanjutnya dalam siklus RAD. 6. Setelah tiap prototipe atau subsistem yang berfungsi dikonstruksi dan diuji, para analis dan desainer sistem akan meninjau kembali arsitektur dan desain aplikasi untuk menyediakan umpan balik teknis dan pengarahan untuk pengulangan selanjutnya dalam siklus RAD. 7. Berdasarkan umpan balik tersebut, para analis sistem akan mengindentifikasi tujuan perbaikan sistem disempurnakan dan atau persyaratan bisnis. Analisis ini cenderung fokus merevisi atau memperluas tujuan.
23 8. Berdasarkan umpan balik tersebut, para analis sistem dan designer sistem akan mengidentifikasi arsitektur aplikasi disempurnakan dan atau perubahan desain. 9. Pada akhirnya, sistem tersebut (atau versi sistem tersebut) akan dianggap bernilai untuk diimplementasikan. Versi rilis calon sistem fungsional ini adalah sistem yang diuji dan ditempatkan dalam operasi. Versi selanjutnya dari sistem ini mungkin terus berulang dalam siklus RAD.
Keunggulan RAD antara lain: o Berguna untuk proyek – proyek tempat persyaratan – persyaratan pengguna tidak pasti dan tidak tepat. o Mendorong pengguna aktif dan partisipasi manajemen (berkebalikan dengan reaksi pasif pada model – model sistem yang tidak bekerja). Hal ini meningkatkan antusiasme pengguna akhir proyek. o Proyek – proyek memiliki visibilitas dan dukungan lebih tinggi karena keterlibatan pengguna yang ekstensif selama proses. o Para pengguna dan manajemen melihat solusi – solusi yang berbasis perangkat lunak dan bekerja lebih cepat daripada pengembangan yang model-driven. o Error dan penghilangan cenderung untuk dideteksi lebih awal dalam prototipe daripada dalam model sistem. o Pengujian dan pelatihan adalah produk tambahan alami dari pendekatan prototyping yang mendasar.
o Pendekatan berulang adalah proses yang lebih “alami” karena perubahan adalah fakor yang diharapkan selama pengembangan.
Kelemahan RAD antara lain: o Beberapa orang berpendapat bahwa RAD mendorong mentalitas “mengkode,
mengimplementasi,
dan
memperbaiki”
yang
meningkatkan biaya seumur hidup yang diperlukan untuk untuk mengoperasikan, mendukung, dan merawat sistem.
24 o Prototipe – prototipe RAD dapat dengan mudah memecahkan masalah – masalah yang salah karena analisis masalah disingkat atau diabaikan o Prototipe berbasis RAD mungkin membuat para analis minder untuk mempertimbangkan alternatif – alternatif teknis lain yang lebih bernilai. o Kadang – kadang lebih baik membuang sebuah prototipe, tapi para stakeholder
sering
enggan
melakukannya
karena
mereka
mengganggapnya sebagai hilangnya waktu dan usaha dalam produk saat ini. o Penekanan pada kecepatan dapat berimpak buruk terhadap kualitas yang disebabkan jalan – jalan pintas yang disarankan dengan buruk melalui metode tersebut.
2.1.2.6 Phonegap Menurut Wargo (Wargo, 2012, p. xvii), PhoneGap merupakan sebuah teknologi framework yang mendukung perancangan aplikasi mobile bersifat native di beberapa platform perangkat mobile dengan menggunakan teknologi web standar seperti HTML, CSS dan javascript. PhoneGap menjadi sebuah jawaban bagi para developer yang ingin mengembangkan aplikasi mobile di beberapa platform perangkat mobile.
2.1.2.7 jQuery Mobile Jquery Mobile merupakan framework yang ditargetkan secara khusus untuk perangkat mobile seperti Android, iPad, iPhone, Blackberry dan berbagai perangkat lainnya dengan menggunakan bahasa pemrograman javascript dan CSS. Singkatnya, jQuery Mobile adalah sebuah library pengembangan aplikasi mobile berbasis web yang bersifat spesifik untuk perangkat mobile dan dikembangkan oleh jQuery. (Tim EMS, 2013, p. 107)
2.1.2.8 ERP Add-On Menurut Oxford Dictionaries, add-on adalah sesuatu yang telah atau dapat ditambahkan kepada suatu objek atau aturan yang telah ada.
25 ERP add-on adalah suatu aplikasi yang telah atau dapat ditambahkan kepada suatu sistem ERP. 2.1.2.9 Web Service Menurut Tidwell, Snell dan Kulchenko (Tidwell, Snell, & Kulchenko, 2001, p. 6), Web services merupakan sebuah antarmuka yang mengakses jaringan ke aplikasi fungsional, dibangun dengan menggunakan teknologi internet standar. Web services terletak di antara aplikasi dan pengguna dari aplikasi tersebut.
Gambar 0.5 Web Service mendukung akses ke aplikasi dengan menggunakan teknologi internet standar
Gambar 0.6 Web services menyediakan layer abstraksi antara aplikasi klien dan kode aplikasi Menurut Charitha Kankanamge (Kankanamge, 2012, p. 9), web services merupakan unit individual dari logika bisnis di dalam ServiceOriented Architecture. Web services berkomunikasi satu sama lain serta berkomunikasi dengan program atau aplikasi lain dengan cara mengirimkan pesan. Web services sendiri terdiri dari definisi antarmuka umum dimana merupakan pusat bagian dari informasi yang memberikan detail layanan dan mengijinkan permintaan. Kerangka kerja dalam implementasi web service terbagi menjadi dua jenis yang berbeda, yakni Simple Object Access Protocol (SOAP) dan
26 Representational State Transfer (REST). Berikut adalah berbedaan kedua kerangka kerja tersebut (Marathwada Mitra Mandal, 2012): Table 0.1 Table perbedaan SOAP dan REST SOAP
REST
Dikenal sebagai teknologi tradisional.
Teknologi yang lebih baru dibanding SOAP.
Dalam enterprise dan B2B, SOAP tetap REST lebih disukai.
bukannya
enterprise.
tidak
siap
Faktanya
untuk banyak
implementasi REST yang sukses pada misi kritis, seperti banking. Pada SOAP, interaksi klien-server adalah Pada REST, interaksi klien-server adalah tightly coupled.
loosely coupled.
Pada kasus implementasi, SOAP lebih Namun para pengembang REST akan dipilih
karena
SOAP
dianggap berargumen bahwa REST mempunyai
mempunyai alat pengembangan yang interface yang fleksibel. lengkap. Perubahan layanan pada SOAP web Merubah
layanan
pada
REST web
service berarti perubahaan yang sulit service tidak memerlukan perubahan pada sisi klien.
pada kode klien side.
SOAP memiliki pemrosesan yang berat REST sangat ringan pada proses transfer dibandingkan dengan REST.
data pada interface yang sangat dikenal yakni, URI.
Membutuhkan
binary
attachment Mendukung seluruh tipe data secara
parsing.
langsung.
SOAP tidak optimal dijalankan pada RES infrastruktur nirkabel. SOAP
web
optimal
dijalankan
pada
infrastruktur nirkabel. service
selalu REST
web
service
menyediakan
mengembalikan data dalam bentuk XML. fleksibilitas pada tipe data apapun yang dikembalikan. Membutukan
bandwidth
yang
lebih REST
mengkonsumsi
lebih
sedikit
karena SOAP membutuhkan 10 kali lebih bandwith karena responnya yang ringan. banyak byte daripada REST. SOAP membutuhkan metode POST dan REST API menggunakan permintaan
27 membutuhkan permintaan XML yang GET,
intermediate proxy
servers /
kompleks, menyebabkan penangkapan reverse-proxies yang dapat menangkap respon yang sulit. SOAP
menggunakan
respon dengan mudah. HTTP
yang Berbeda
dengan
SOAP,
REST
berbasis pada API yang berhubungan menambahkan bagian menggunakan URI dengan API yang terdiri dari satu atau yang sudah terstandarisasi, dan juga lebih HTTP URIs dan tipikal dengan memberikan kepentingan pada kata kerja respon pada XML/JSON. Skema respon HTTP yang digunakan (i.e. GET/ POST / sudah custom untuk setiap objeknya.
PUT, dll).
Bahasa, platform, dan transport agnostic
Bahasa dan platform agnostic.
Dirancang untuk menangani lingkungan Menyediakan model komunikasi antar komputasi yang terdistribusi.
titik, bukan untuk lingkungan komputasi yang terdistribusi dimana pesan mungkin melewati satu atau lebih penengah.
Lebih
sulit
untuk
dikembangkan, Lebih mudah untuk dikembangkan.
membutuhkan berbagai alat. Asumsi yang salah: SOAP lebih aman. REST berasumsi bahwa transport akan SOAP menggunakan sistem keamanan HTTP/HTTPS dan mekanisme keamanan web service. Keamanan tersebut dibuat dibangun pada protokol. karena spesifikasi SOAP yang transportindependent dan tidak ada asumsi yang muncul bahwa diperlukan lagi keamanan pada transport layer. Standar umum untuk web service, dan Kurangnya standar untuk keamanan, karena itu memiliki dukungan yang lebih peraturan, bagaimana pertukaran pesan baik
dari
standar-standar
peralatan dari vendor.
web
dan yang baik, dsb.
28 2.1.2.10 Threats to Web Service 2.1.2.10.1 Injection Attacks
Serangan injection secara umum menyerang domain dimana data yang berbahaya dimasukkan sebagai input dengan tujuan mengganggu fungsi normal dari web services (Abhinav Nath Gupta, 2013). macammacam serangan injeksi: 2.1.2.10.1.1 SQL injection SQL injection secara umum menyerang database. Melalui query yang sudah di modifikasi dan dimasukkan dengan cara yang umum ke dalam database untuk mendapatkan output seperti yang diinginkan. Pencegahan yang dapat dilakukan yaitu berupa : a. Stored Procedures : stored procedures merupakan sebuah sequence intruksi dalam bahasa PL/SQL. Merupakan bahasa pemrograman yang di implementasi oleh beberapa DBMS, yang memungkinkan kita untuk menyimpan sequence dari query yang umumnya kita panggil ke dalam sebuah model, dan meringankan proses load dari layer aplikasi. b. Prepared Statement : prepared statement merupakan query yang ditulis dalam penampung dan bukan nilai yang sebenarnya. Anda menulis query dan di compile sekali oleh DBMS, dan kemudian anda perlu memasukkan nilai agar dapat masuk ke dalam penampung. Keuntungan menggunakan prepared statement adalah bahwa anda meningkatkan kinerja lebih baik dan melindungi aplikasi dari injeksi SQL. 2.1.2.10.1.2 XML injection Injeksi XML berupaya untuk memodifikasi struktur XML dari sebuah pesan SOAP dengan cara memasukkan konten berupa operation parameters yang berisi tag XML. 2.1.2.10.1.3 XSS/CDATA injection Injeksi XSS (Cross Site Scripting) juga sering di dengar dalam bidang web. Bagian CDATA di dalam XML digunakan untuk menulis syntax di luar teks dan dapat digunakan untuk membangun kode javascript yang berbahaya yang nantinya ditujukan untuk menyerang melalui layanan web.
29 2.1.2.10.1.4 XPath injection XPath merupakan sebuah bahasa yang dirancang khusus untuk node query dan dokumen XML. XPath adalah bahasa query untuk dokumen XML mirip seperti sql yang merupakan bahasa query digunakan dalam database relasional. Perbedaan antara sql dan xpath adalah bahwa xpath di implementasikan secara independen. Mirip dengan database relasional, dokumen XML juga rentan terhadap injeksi XPath. 2.1.2.10.1.5 XQuery injection XQuery merupakan bahasa query yang dirancang secara khusus untuk dokumen XML dalam cara yang sama seperti query SQL dengan database relasional. XQuery sendiri merupakan bentuk abstrak dari XPath, sedangkan injeksi XQuery sama seperti injeksi XPath, yang membedakan adalah bahwa XPath tidak menggunakan nama-nama dokumen XML, sedangkan XQuery menggunakan nama-nama dokumen XML. XQuery merupakan warisan dari XPath sehingga jika di lihat dari query dan notasi, mereka memiliki syntax yang sama.
2.1.2.10.2 Denial of Service (DoS)
Serangan Denial of Service (DoS) adalah serangan yang menargetkan server di balik web service dan bertujuan untuk meruntuhkan kemampuan—“memproses permintaan” dari prosesor. Dalam serangan ini, penyerang memanipulasi variabel yang terkait dengan permintaan terhadap web service. Misalnya, ukuran permintaan dan frekuensi yang sedemikian rupa, menyebabkan pemrosesan permintaan menjadi sulit bagi prosesor web server dan yang kemudian menyebabkan penolakan terakhir dari permintaan, yaitu Denial of Service kepada para pengguna. Beberapa jenis DoS di sini ditunjukkan dalam gambar 4.5, yang mencakup XML beserta XML yang menggunakan HTTP (SOAP).
30
Gambar 0.7 Taksonomi penyerangan terhadap web services
2.1.2.10.2.1 External Entity Reference Attack Dalam External Entity Reference Attacks, penyerang mencoba untuk melewati keamanan dengan melampirkan referensi yang sesuai dengan skema yang diunduh selama validasi dokumen XML, tapi tentunya ini dilakukan sebelum pemrosesan dokumen tersebut dilakukan. Beberapa penyerangan
menggunakan
tag
XML
seperti
dan
untuk memasukkan referensi eksternal ke dalam dokumen XML. Contohnya, dimana URI merupakan singkatan dari Uniform Resource Identifier dan digunakan untuk membuat referensi eksternal bagi dokumen XML. Satu-satunya cara untuk mengetahui jenis kerentanan yang muncul adalah dengan cara melakukan simulasi serangan atau pengujian sistem. Untuk mencegah serangan semacamnya, umumnya dilakukan prosedur yang direkomendasikan yaitu
31 dengan menggunakan XML Schema Definition (XSD) di tempat DTD serta melarang modifikasi dari pengguna di bagian prolog dokumen XML. 2.1.2.10.2.2 Malicious Content/ Application Penyerang mengirimkan kode berbahaya beserta lampiran seperti file gambar, exe, maupun aplikasi dari dokumen lainnya dengan pesan SOAP yang mengandung kode berbahaya, virus seperti Trojan dan lainnya ditularkan melalui dokumen XML, karena pada umumnya firewall yang dirancang untuk melindungi sistem terhadap kode berbahaya, namun buta terhadap file XML, sehingga tetap menerima file XML ke dalam sistem. SOAP dengan spesifikasi yang dilampirkan memungkinkan transmisi paket yang menggunakan tipe MIME. Pesan SOAP dapat memperlihatkan lampiran melalui penggunaan URI. Pendeteksian terhadap kerentanan ini hanya bisa dilakukan dengan menganalisis dan pengujian sistem. Sedangkan satu-satunya pencegahan terhadap serangan adalah dengan cara memeriksa packet untuk lampiran dan tipe data serta parameter inputan lainnya. 2.1.2.10.2.3 Replay Attacks Dalam penyerangan ini, penyerang berulang kali mengirimkan pesan permintaan SOAP sebelumnya ke layanan web dengan tujuan menyebabkan sistem crash atau restart (reboot). Penyerangan ini bertujuan untuk membebani layanan web atau untuk mendapatkan akses ke sistem dengan menyamar sebagai pengguna yang sah. Pencegahan terhadap serangan ini adalah dengan menggunakan cap dan random session ID. 2.1.2.10.2.4 Privilege Escalation Attack Privilege escalation adalah tipe khususdari serangan injeksi XML, menargetkan layanan web yang digunakan untuk otentikasi pengguna dan menggunakan file XML sebagai pengguna daftar access control database. Dalam serangan ini penyerang menginjeksi data pengguna palsu ke database XML pengguna. Satu-satunya cara untuk mencegah serangan semacam ini adalah dengan membersihkan inputan dengan menggunakan penyaringan berupa tag dan skrip serta memvalidasi permintaan SOAP terhadap skema XML.
32 2.1.2.10.2.5 Parameter Tampering Attack Parameter tampering adalah jenis serangan injeksi XML dimana penyerang memodifikasi parameter dalam pesan SOAP sebagai upaya untuk memotong validasi input sehingga dapat mengakses informasi secarah tidak sah. Pengirim mengirimkan pesan SOAP ke bagian lain yang memiliki nilai berbeda dengan yang diharapkan oleh server. Dalam SOAP, parameter dapat mengambil bentuk dari elemen XML. Server memiliki skema XML yang didefinisikan dengan seperangkat peraturan dan pembatasan mengenai inputan yang berasal dari klien. Dalam parameter tampering attack, penyerang melanggar skema ini dengan cara memberikan muatan lebih besar yang dikenal sebagai bom XML. Hasilnya adalah Denial of Service seperti pada umumnya beserta kemudahan untuk mendapatkan informasi, dan lain sebagainya. Satu-satunya cara menguji jenis serangan ini adalah dengan melakukan simulasi serangan menggunakan alat otomatisasi. Langkah-langkah pencegahan adalah validasi yang ekstrim dari pesan SOAP dalam hal parameter input dan lampiran lainnya. 2.1.2.10.2.6 Schema Poisoning Attack Model skema XML terdiri dari sebuah dokumen XML dan tata bahasa dari dokumen XML. XML parser menggunakan tata bahasa ini untuk menafsirkan secara benar pesan layanan web. Karena tata bahasa menggambarkan instruksi preproses yang dibutuhkan, mereka cukup rentan terhadap gangguan apabila tidak di simpan dengan aman. Ini merupakan sebuah variasi dari injeksi XML dan kemungkinan serangan tersebut dapat menyebabkan Denial of Service. Satu-satunya pencegahan yang dapat dilakukan ialah dengan cara melindungi skema XML terhadap modifikasi yang tidak sah. Sedangkan untuk implementasi, sebuah aplikasi yang menggunakan skema yang dikenal, menggunakan salinan hukum, ataupun tempat penyimpanan (repository) yang dikenal baik selain referensi skema merupakan tindakan pencegahan yang baik. 2.1.2.10.2.7 Buffer Overflows Attack Secara umum, komunikasi antara pengirim dan penerima dari sebuah layanan web menggunakan asynchronous alami, sehingga penyerang dapat
33 mengirim permintaan berbahaya mengandung parameter khusus yang sengaja dibuat untuk membebani buffer inputan. Alur buffer ini umumnya dapat menyebabkan crash. Kerentanan pada alur buffer ini juga dapat diuji dengan cara mensimulasikan serangan dan tidak ada solusi lengkap untuk menghadapi masalah ini. Tetapi kita tetap dapat mengambil beberapa kebijakan untuk mengurus masalah ini yaitu dengan cara menyaring batas ukuran pesan permintaan sehingga dapat menghindari penggunaan API yang beresiko selama fase pengembangan layanan web. 2.1.2.10.2.8 BPEL State Deviation Attack Proses BPEL merupakan sebutan dari mitra komunikasi eksternal, dan mesin BPEL sendiri menyediakan endpoint layanan web yang menerima permintaan layanan. Setiap proses BPEL pasti memiliki lebih dari satu proses yang berjalan secara bersamaan, oleh karena itu endpoint yang akan menerima pesan permintaan setiap saat. Melalui hal ini, penyerang dapat mengirimkan permintaan berbahaya yang secara syntax bisa dikatakan benar, tetapi tidak memiliki hubungan dengan proses-proses yang ada. Jenis pesan seperti ini seharusnya dibuang setelah dilakukannya verifikasi proses yang berjalan secara menyeluruh, namun ini menyebabkan kelebihan perhitungan yang sangat besar dan pada akhirnya dapat menyebabkan Denial of Service. 2.1.2.10.2.9 Instatiation Flooding Attack Saat ada pesan baru yang sampai, proses BPEL segera menghasilkan instansi baru dengan tujuan agar instansi baru tersebut segera mulai melaksanakan instruksi yang diberikan dalam deskripsi proses. Setelah semua instruksi diselesaikan, maka instansi tersebut akan diakhiri. Penyerang dapat berulang kali mengirimkan pesan permintaan ke proses BPEL yang sama. Untuk setiap pesan, mesin BPEL akan menciptakan sebuah instansi dan mulai melaksanakan pekerjaannya hingga instruksi tersebut selesai dilaksanakan dan instansi terkait di hentikan. Hal ini akan menyebabkan mesin BPEL di penuhi dengan permintaan yang pada akhirnya menyebabkan Denial of Service.
34 2.1.2.10.2.10 Indirect Flooding Attack Serangan ini bekerja dengan cara yang sama seperti Instatiation Flooding Attack, namun menargetkan arsitektur backend dari web service. Serangan ini menggunakan mesin BPEL sebagai aset untuk mengikat serangan terhadap arsitektur backend. Penyerang akan berusaha membanjiri sistem backend dengan pesan permintaan web service dan untuk setiap pesan ini, akan ada instansi yang diciptakan. Ini akan menyebabkan beban yang berat bagi mesin BPEL dan juga pada sistem backend, apabila sistem target tidak cukup kuat, maka ia akan kehilangan kemampuan sehingga menyebabkan Denial of Service. 2.1.2.10.2.11 Routing Detour Attack Spesifikasi dari web-service routing membantu untuk mengarahkan pesan XML dengan melampirkan informasi mengenai intermediate node. Intermediate node ini dapat dikompromikan, sehingga memungkinkan bagi si penyerang untuk memasukkan kode berbahaya ke dalam pesan. Para penyerang kemudian dapat menghapus kode berbahayanya sebelum meneruskan dokumen tersebut ke alamat yang dituju. 2.1.2.10.2.12 SOAP Action Spoofing Operasi yang dipanggil oleh web service dapat diidentifikasi menjadi dua cara yaitu, satu dengan men-scan first-child dari SOAP body dan yang kedua melalui sebuah HTTP header yang terdapat pada nama pesan tindakan SOAP. Meskipun nilai ini hanya menunjukkan sebuah petunjuk dari operasi yang sesungguhnya, nilai field SOAP action seringkali digunakan sebagai kualifikasi dari operasi yang diminta. HTTP header dari SOAP action ini dapat dimodifikasi untuk menyebabkan “man in the middle attack” dan dapat digunakan untuk memanggil operasi lainnya sehingga tidak menjalankan satu operasi asli yang sebenarnya. 2.1.2.10.2.13 WSDL Scanning WSDL merupakan singkatan dari Web Service Definition Language. Dokumen WSDL terkait dengan web service yang berisi semua rincian mengenai web service tersebut seperti endpoint, operasi dan detil parameter, serta detil binding. Dokumen-dokumen WSDL dapat dengan
35 mudah ditemukan di web sehingga penyerang dapat mempelajari dokumendokumen tersebut untuk mengetahui lebih dalam mengenai web service yang menjadi target. Informasi yang diperoleh dari WSDL ini nantinya dapat digunakan untuk menciptakan serangan yang kuat terhadap web service. Serangan seperti ini disebut sebagai WSDL Scanning. Untuk bisa bertahan menghadapi WSDL Scanning ini, dokumen WSDL harus dipastikan tetap aman dan ditempatkan
di jaringan yang terpisah dari
jaringan web service. Cara lain untuk dapat membuat dokumen WSDL tersebut tetap aman adalah dengan menyediakan klien eksternal yang merupakan WSDL terpisah. WSDL terpisah ini hanya berisi rincian tentang operasi eksternal saja. 2.1.2.10.2.14 Error Message Handling Pesan kesalahan merupakan sumber informasi yang besar dari sudut pandang si penyerang. Dalam aplikasi web pada umumnya, kesalahan ini terjadi karena praktek pemrograman yang buruk sehingga server atau aplikasi menampilkan pesan error secara spesifik kepada pengguna. Pesanpesan seperti ini tentu saja memiliki informasi yang berharga seperti nomor versi server. Dengan didapatinya informasi nomor versi server tersebut, penyerang dapat mengeksploitasi kerentanan yang dikenal terakit dengan server atau aplikasi tertentu.
2.1.2.11 Securing Web Service 2.1.2.11.1 Secure Sockets Layer (SSL)
SSL adalah protokol yang dikembangkan oleh Netscape yang memungkinkan web browser dan server web untuk berkomunikasi secara aman (Ms. Dipti S.Charian, 2013). Hal ini memungkinkan web browser mengotentikasi server web. Protokol SSL memerlukan server web untuk memiliki sertifikat digital yang terpasang di atasnya agar koneksi SSL dapat dibuat. SSL bekerja dengan menggunakan kunci publik untuk mengenkripsi data yang ditransfer melalui koneksi SSL. Netscape Navigator dan Internet Explorer SSL, dan banyak situs menggunakan protokol untuk mendapatkan informasi rahasia pengguna, seperti nomor kartu kredit. Dengan konvensi, URL yang membutuhkan koneksi SSL
36 dimulai dengan “https:” bukan “http:”. Teknologi SSL merupakan merupakan salah satu metode untuk melindungi pengguna internet dari kelompok atau perangkat lunak berbahaya. Saat ini digunakan dalam web browser, instant messaging, email dan perangkat lunak lainnya.
2.1.2.11.2 XML Encryption
XML Encryption memberikan keamanan pada tingkat pesan SOAP. XML Encryption menjelaskan proses untuk mengenkripsi dan mewakili data yang dienkripsi dalam dokumen-dokumen XML. Spesifikasi ini mendukung algoritma enkripsi algoritma serta teknikal, dan menyediakan cara untuk mengenkripsi semua atau sebagian dari teks XML dalam pesan, oleh ekspresi XPath untuk mencapai elemen XML yang perlu dienkripsi. XML Encryption bersifat efisien karena informasi yang tidak bersifat rahasia dapat dikirim tanpa dienkripsi.
2.1.2.11.3 XML Signature
XML Signature mendefinisikan sintaks dan aturan pengolahan untuk mewakili tanda tangan digital. Signatures XML menyediakan integritas dan otentikasi. Seperti XML Encryption, XML Signature dapat menandakan bagian-bagian tertentu dari file XML. Hal ini relevan ketika data yang dihasilkan, diedit, atau dilihat oleh beberapa pengguna, dan ketika integritas bagian tertentu dari data yang harus dipastikan, tetapi bagian-bagian lain mungkin masih dapat diubah.
2.1.2.11.4 Security Assertion Markup Language (SAML)
SAML, yang dikembangkan oleh OASIS, mendefinisikan sebuah cara untuk mengungkapkan keamanan informasi dalam format XML. Fungsi SAML sebagai kerangka untuk bertukar otentikasi, atribut, dan pernyataan otorisasi di beberapa peserta melalui internet menggunakan protokol seperti HTTP dan SOAP.
2.1.2.12 PIECES Menurut James Wetherbe (L.Whitten & Bentley, 2007) PIECES merupakan kerangka kerja untuk mengklasifikasi problem (situasi yang
37 tidak diinginkan yang mencegah organisasi dalam mencapai visi, misi, tujuan, dan objektif), opportunity (kesempatan untuk meningkatkan perusahaan tanpa harus ada masalah yang teridentifikasi), dan directive (kebutuhan baru yang diajukan oleh pihak manajemen, pemerintah, atau pengaruh luar); Whitten membuat ketiga kombinasi tersebut lebih sederhana dengan sebutan problem. PIECES merupakan singkatan dari keenam kategori pada setiap huruf awalnya, kategori-kategori tersebut antara lain: P: kebutuhan untuk memperbaiki atau meningkatkan performance. I: kebutuhan untuk memperbaiki atau meningkatkan information (dan data). E: kebutuhan untuk memperbaiki atau meningkatkan economics, kontrol biaya, meningkatkan laba. C: kebutuhan untuk memperbaiki atau meningkatkan control atau security. E: kebutuhan untuk memperbaiki atau meningkatkan efficiency dari people maupun proses. S: kebutuhan untuk memperbaiki atau meningkatkan service kepada pelanggan, pemasok, mitra, karyawan, dan seterusnya.
2.1.2.13 Cause and Effect Analysis Cause and Effect Analysis adalah suatu teknik yang mempelajari masalah untuk menemukan hubungan sebab-akibatnya (L.Whitten & Bentley, 2007). Praktisnya, sebuah efek mungkin saja suatu gejala dari masalah yang berbeda ataupun semakin mengakar. Analisis sebab-akibat ini bertujuan memahami masalah sesungguhnya dan dapat menuju kepada solusi yang lebih kreatif sekaligus bernilai.
38
Gambar 0.6 Contoh Cause-and-Effect Analysis
Tujuan analisis sebab-akibat adalah untuk mengetahui kriteria yang digunakan untuk mengukur peningkatan sistem (system objectives) serta mengidentifikasi segala ketergantungan yang akan membatasi kebebasan dalam mencapai peningkatan sistem tersebut (system constraint). Tugas ini dilakukan setelah kegiatan analisis masalah. Untuk setiap masalah yang telah diverifikasi, para analis dan pengguna harus mendefinisikan System Improvement Objective yang spesifik.
2.1.2.14 Physical Data Flow Diagram Menurut L.Whitten & Bentley (2007), Physical Data Flow Diagram adalah suatu pemodelan dari proses yang digunakan untuk mengkomunikasikan implementasi sistem informasi yang bersifat teknikal. Berbeda dengan Data Flow Diagram yang merupakan instrumen analisis sistem untuk memodelkan business requirement yang bersifat logical (berarti “non-teknikal”), Physical DFD digunakan sebagai cetak biru yang bersifat teknikal untuk konstruksi serta implementasi sistem.
39
Gambar 0.7 Contoh Physical Data Flow Diagram
2.1.2.15 Application Architecture Suatu spesifikasi dari teknologi-teknologi yang akan digunakan untuk mengimplementasi suatu sistem informasi (L.Whitten & Bentley, 2007). Application Architecture untuk seluruh sistem informasi bisa saja dimodelkan menggunakan satu physical DFD, namun metodologi RAD merekomendasikan setiap physical DFD untuk memodelkan arsitektur jaringan, distribusi data, serta distribusi proses.
40 2.1.2.15.1 Network Architecture
Suatu physical data flow diagram yang mengalokasi prosesorprosesor (client dan server) serta perangkat-perangkat kepada suatu jaringan dan membangun hubungan antara client dengan server dimana pengguna akan berinteraksi dengan prosesor (biasanya hanya client). 2.1.2.15.2 Data Distribution
Suatu bagaimana
physical data
data
akan
flow
disimpan
diagram secara
yang fisik
menggambarkan dan
bagaimana
mengimplementasikannya. 2.1.2.15.3 Process Distribution
Suatu bagaimana
physical data
data
akan
flow
disimpan
diagram secara
yang fisik
menggambarkan dan
bagaimana
mengimplementasikannya.
2.1.2.16 Unified Modeling Language (UML) 2.1.2.16.1 Event Table
Event Table adalah suatu katalog dari usecase yang berisi daftar peristiwa pada setiap baris dan potongan informasi tentang setiap peristiwa yang terjadi di Activity Diagram, ke dalam tiap-tiap baris dan kolom.
41
Gambar 0.8 Contoh Event Table Event menurut Satzinger (Satzinger, Jackson, & Burd, 2012) dapat dibedakan menjadi: a. External Event, event yang terjadi di luar sistem yang dilakukan oleh internal atau external source. Source adalah orang yang terkait atau memulai suatu event namun belum tentu menggunakan sistem, berbeda dengan actor yang tentunya langsung berinteraksi atau menggunakan sistem. Contohnya, bagian pengadaan melakukan supply bahan mentah dari supplier dan sebagainya. b. Temporal Event, adalah event yang terjadi ketika suatu titik waktu tertentu tercapai. Misalnya pembuatan laporan rugi-laba setelah masa keuangan perusahaan untuk periode tertentu telah usai. c. State Event, yaitu event yang terjadi saat sesuatu terjadi di dalam sistem, yang dimana memicu kebutuhan bagi event tersebut untuk diproses. Contohnya ketika bahan mentah habis sebelum masa produksi usai, dilakukanlah re-order bahan mentah kepada supplier.
2.1.2.16.2 Use Case Diagram
Menurut Satzinger, Jackson, & Burd (Satzinger, Jackson, & Burd, 2012, p. 78), use case diagram merupakan sebuah model UML yang digunakan untuk menggambarkan aktivitas sistem dan hubungannya terhadap pengguna.
42
Gambar 0.9 Contoh Use Case Diagram
2.1.2.16.3 Use Case Description
Usecase Description, yakni bagan yang menjelaskan secara lengkap event-event yang terjadi, summary, triggering, dari suatu usecase diagram.
43
Gambar 0.10 Contoh Use Case Description
Menurut Satzinger (Satzinger, Jackson, & Burd, 2012), Usecase Description dapat dibedakan menjadi tiga macam, yakni brief description (berupa uraian singkat dalam bentuk narasi), intermediate description (uraian brief description yang dilengkapi dengan alur kerja dan exception condition), serta fully-developed description (digambarkan pada gambar diatas).
2.1.2.16.4 Activity Diagram
Menurut Satzinger, Jackson, & Burd (Satzinger, Jackson, & Burd, 2012, p. 125), activity diagram merupakan diagram UML standar, dan teknik yang efektif untuk mendokumentasikan alur dari aktivitas setiap use case.
44
Gambar 0.11 Contoh Activity Diagram
2.1.2.16.5 Three Layer Sequence Diagram
Three Layer Sequence Diagram adalah Sequence Diagram yang dikembangkan dengan menggunakan konsep 3 layer MVC (model, view, controller), penjabaran setiap class beserta lifeline nya.
45
Gambar 2.9. Contoh Three Layer Sequence Diagram
46 2.2
Kerangka Pikir Kerangka pikir pikir dalam penulisan menggunakan Rapid Application Development (RAD) sebagai metode analisis dan perancangan sistem (lihat Gambar 2.11). Dimana kegiatan yang dihubungkan garis putus-putus tidak wajib dilakukan setelah siklus pertama. Siklus pertama diakhiri pada kegiatan system review. Untuk situasi dimana system review tidak memerlukan analisis kembali, maka dapat langsung menuju kembali ke kegiatan construction & testing.
Gambar 0.12 Kerangka Pikir Pembangunan Add-On School Solution
1