bab 2 landasan teori 2.1 teori-teori umum 2.1.1...

28
7 BAB 2 LANDASAN TEORI 2.1 Teori-teori umum Teori-teori umum yang berkaitan dalam topik skripsi disini adalah tentang Rekayasa Piranti Lunak (RPL), Unified Modeling Language (UML), User Interface Design, Client / Server Software Engineering, Database, SQLite, Interaksi Manusia dan Komputer (IMK), XML. 2.1.1 Rekayasa Piranti Lunak (RPL) Piranti lunak atau software tidak sama dengan program komputer. Piranti lunak tidak hanya mencakup program, tetapi juga semua dokumentasi dan konfigurasi data yang berhubungan, yang diperlukan untuk membuat program dapat beroperasi dengan benar. Piranti lunak adalah instruksi-instruksi yang jika dijalankan akan menyediakan fungsi yang diperlukan, struktur data yang memungkinkan program untuk memanipulasi informasi, dokumen yang menyatakan operasi dan kegunaan program (Roger Pressman, 2010, p.4). Sistem piranti lunak terdiri dari : - Sejumlah program yang terpisah - File-file konfigurasi - Dokumentasi sistem - Dokumentasi user

Upload: hoangcong

Post on 03-Feb-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

7  

BAB 2

LANDASAN TEORI

2.1 Teori-teori umum

Teori-teori umum yang berkaitan dalam topik skripsi disini adalah tentang

Rekayasa Piranti Lunak (RPL), Unified Modeling Language (UML), User Interface

Design, Client / Server Software Engineering, Database, SQLite, Interaksi Manusia dan

Komputer (IMK), XML.

2.1.1 Rekayasa Piranti Lunak (RPL)

Piranti lunak atau software tidak sama dengan program komputer. Piranti lunak

tidak hanya mencakup program, tetapi juga semua dokumentasi dan konfigurasi data

yang berhubungan, yang diperlukan untuk membuat program dapat beroperasi dengan

benar. Piranti lunak adalah instruksi-instruksi yang jika dijalankan akan menyediakan

fungsi yang diperlukan, struktur data yang memungkinkan program untuk memanipulasi

informasi, dokumen yang menyatakan operasi dan kegunaan program (Roger Pressman,

2010, p.4).

Sistem piranti lunak terdiri dari :

- Sejumlah program yang terpisah

- File-file konfigurasi

- Dokumentasi sistem

- Dokumentasi user

Page 2: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

8  

Dari definisi ini dapat dilihat betapa pentingnya pemeliharaan untuk rekayasa

piranti lunak. Definisi ini menganggap bahwa pendekatan yang digunakan harus

sistematis, disiplin, dan terukur bukan hanya didasarkan pada ilmu komputer dan

matematika. Definisi ini mencakup studi dalam rekayasa piranti lunak dan mencari

pendekatan untuk melaksanakan kegiatan rekayasa piranti lunak, yaitu studi dan mencari

metode, teknik, alat, dan lainnya.

Penelitian terhadap rekayasa piranti lunak sangat penting karena produksi piranti

lunak sulit, jauh lebih sulit daripada perkiraan banyak orang. Menurut Roger S.

Pressman (2010, p.14), rekayasa piranti lunak dikelompokan dalam beberapa lapisan

atau layers yaitu :

Gambar 2.1 software engineering layers

Landasan paling dasar yang mendukung dari rekayasa piranti lunak adalah fokus

terhadap kualitas atau quality focus. Yang menjadi pondasi untuk rekayasa piranti lunak

adalah lapisan proses. Proses rekayasa piranti lunak adalah lem yang memegang lapisan

teknologi bersama dan memungkinkan pengembangan rasional dan tepat waktu bagi

piranti lunak komputer. Proses mendefinisikan kerangka kerja untuk satu set area proses

kunci atau key process areas (KPAs) yang harus dibentuk untuk pengiriman efektif

Tools 

Methods 

Process 

A Quality Focus 

Page 3: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

9  

teknologi rekayasa piranti lunak. Area proses kunci membentuk dasar bagi kontrol

manajemen proyek piranti lunak dan menetapkan konteks dimana metode teknis yang

diterapkan, pekerjaan produk (model, dokumen, data, laporan, formulir, dan lainnya)

diproduksi, tonggak ditetapkan, kualitas dijamin, dan perubahan dikelola dengan baik.

Metode rekayasa piranti lunak menyediakan teknis bagaimana untuk membangun piranti

lunak. Metode mencakup array yang luas dari tugas-tugas yang mencakup analisis

kebutuhan, desain, konstruksi program, pengujian, dan metode rekayasa support.

Software bergantung pada sekumpulan prinsip dasar yang mengatur setiap area

teknologi dan termasuk aktifitas modelling dan teknik deskriptif lainnya. Alat rekayasa

piranti lunak memberikan dukungan otomatis atau semi-otomatis untuk proses dan alat

methods. Ketika alat yang terintegrasi sehingga informasi yang dibuat oleh satu alat

yang dapat digunakan oleh yang lain, sebuah sistem untuk mendukung pengembangan

piranti lunak. Kasus menggabungkan software, hardware, dan rekayasa piranti lunak

database (repositori berisi informasi penting tentang analisis, desain, konstruksi

program, dan pengujian) untuk menciptakan sebuah lingkungan piranti lunak rekayasa

analog dengan CAD / CAE (computer-aided design / engineering) untuk hardware.

(Roger Pressman, 2010, p.14).

Page 4: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

10  

2.1.2 Unified Modeling Language (UML)

UML adalah sebuah bahasa yang telah menjadi standar dalam industri untuk

memvisualisasi, menspesifikasi, merancang dan mendokumentasi sistem piranti lunak

(Roger Pressman, 2010). UML memberikan standar penulisan sebuah sistem blue print,

yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang

spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem

piranti lunak.

Pendekatan analisa dan rancangan dengan menggunakan model Object Oriented

(OO) mulai diperkenalkan sekitar pertengahan 1970 dan berkembang pada tahun 1980

dikarenakan pada saat itu aplikasi software sudah meningkat dan mulai kompleks.

Jumlah yang menggunakan metode OO mulai di ujicobakan dan diaplikasikan antara

1989 hingga 1994, seperti halnya oleh Grady Booch dengan metode yang dikenal

dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh dari

General Electric, dikenal dengan OMT (Object Modelling Technique).

Kelemahan saat itu disadari oleh Booch maupun Rumbaugh adalah tidak adanya

standar penggunaan model yang berbasis OO, kemudian Booch, Rumbauch dan

Jacobson mulai mendiskusikan untuk mengadopsi masing-masing pendekatan metode

OO untuk membuat suatu model bahasa yang seragam yang disebut UML (Unified

Modeling Language) dan dapat digunakan oleh seluruh dunia.

Secara resmi bahasa UML dimulai pada bulan Oktober 1994, ketika Rumbaugh

bergabung dengan Booch untuk membuat sebuah project pendekatan metode yang

seragam dari masing-masing metode mereka.

Page 5: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

11  

2.1.2.1 Class Diagram

Class diagram adalah diagram yang menunjukan sekumpulan dari kelas-kelas,

interfaces, dan kolaborasi-kolaborasi serta hubungannya (Roger Pressman, 2010, p.842).

Class diagram digunakan untuk memvisualisasikan, menspesifikasikan,

mendokumentasikan model struktural dan juga membangun sistem yang dapat

dieksekusi.

Pada class diagram terdapat simbol-simbol :

1. Simbol“+” untuk menandakan public.

2. Simbol Simbol “-” untuk menandakan private.

3. Simbol “#” untuk menandakan protected.

Class diagram direpresentasikan dalam bentuk kotak yang terbagi atas tiga bagian

yaitu nama class, attribute, dan perilaku, seperti dibawah :

Class name

Attribute: Type=Initial Value

Operation(arg list): return type

Gambar 2.2 Contoh Class Diagram

Page 6: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

12  

2.1.2.2 Use Case Diagram

Use Case Diagram menggambarkan bagaimana user berinteraksi dengan sistem

dengan cara mendefinisikan langkah-langkah yang dibutuhkan untuk menyelesaikan

tujuan yang spesifik (Roger Pressman, 2010, p.847). Use Case Diagram

memvisualisasikan tingkah laku dari suatu sistem dan menggambarkan interaksi antara

aktor dengan sistem. Bagian dari Use Case Diagram :

1. Aktor

Sebuah aktor mewakili sekumpulan peranan yang saling berhubungan didalam

sistem dimana aktor tersebut berinteraksi dengan use case (Roger Pressman,

2010, p.847).

2. Use Case

Sebuah use case menjelaskan sekumpulan dari sequence, dimana setiap sequence

mewakili interaksi dari hal-hal diluar sistem (aktornya) dengan sistem itu sendiri

(Roger Pressman, 2010, p.847). Sehingga sebuah use case menunjukan sebuah

keperluan fungsional dari keseluruhan sistem.

Untuk menghubungkan antara aktor dengan use case digunakan simbol garis

yang disebut sebagai relationship.

Suatu use case dapat memiliki deskripsi teknik, yaitu : extends, dan include.

Extends berati memperluas use case dasar dengan menambah behavior-behavior

baru tanpa mengubah use case dasar itu sendiri. Titik dimana use case diperluas

disebut extension point.

Page 7: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

13  

Sebuah use case dapat meng-include fungsionalitas dari use case lain sebagai

bagian dari proses dalam diri nya. Secara umum diasumsikan bahwa use case

yang di-include akan dipanggil setiap kali use case yang meng-include

dieksekusi secara normal.

Dengan adanya use case diagram maka akan membantu dalam menyusun

kebutuhan sebuah sistem dan mengkomunikasikannya dengan klien.

2.1.2.3 Sequence Diagram

Sequence diagram menggambarkan sekumpulan objek dan interaksinya, termasuk

pesan yang dikirim terhadap urutan waktu (Roger Pressman, 2010, p.848). Sequence

diagram menunjukan sekumpulan objek dan pesan yang dikirim dan diterima oleh objek

tersebut. Sequence diagram memiliki dua buah karakteristik yaitu :

1 . Setiap objek memiliki lifeline yang digambarkan dengan garis putus-putus vertikal

dan garis ini menunjukan daur hidup dari sebuah objek.

2 . Terdapat fokus kontrol yang digambarkan dengan sebuah persegi panjang yang

tipis dan tinggi. Fokus kontrol ini menunjukan periode waktu selama sebuah objek

melakukan sebuah event.

Page 8: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

14  

2.1.3 Desain Antarmuka User (User Interface Design)

Proses keseluruhan untuk merancang antarmuka dimulai dengan penciptaan model

yang berbeda dari fungsi sistem (seperti yang dirasakan dari luar). Manusia dan

komputer berorientasi pada tugas yang diperlukan untuk mencapai fungsi sistem ini

kemudian digambarkan, desain masalah yang berlaku untuk semua desain antarmuka

dipertimbangkan, alat-alat yang digunakan untuk prototipe dan akhirnya menerapkan

model desain, dan hasilnya dievaluasi untuk kualitas.

2.1.3.1 Model Desain Antarmuka

Empat model yang berbeda datang dalam mendefinisikan sebuah sistem ketika

sebuah sistem antarmuka user dianalisis dan dirancang. Software engineer menciptakan

model desain, seorang insinyur software engineer menetapkan model user, user akhir

mengembangkan gambaran mental yang sering disebut user model atau persepsi sistem,

dan pelaksana sistem membuat implementasi dari model. Sayangnya masing-masing

model dapat berbeda secara signifikan. Peran desainer antarmuka adalah untuk

menggabungkan perbedaan-perbedaan ini dan memperoleh representasi konsisten

antarmuka. Untuk membuat rancangan antarmuka yang efektif, semua desain harus

dimulai dengan ketidakpahaman dari intended users, termasuk profil dari umur mereka,

jenis kelamin, pendidikan, budaya, motivasi, tujuan dan kepribadian. User dapat

dikategorikan menjadi beberapa kelompok (Roger Pressman, 2010, p.318) :

Page 9: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

15  

• Pemula

Tidak ada pengetahuan sintaksis dari sistem dan pengetahuan semantik sedikit dari

aplikasi atau useran komputer secara umum.

• User menengah

Memiliki pengetahuan semantik tentang aplikasi, tapi relatif rendah mengingat informasi

sintaksis yang diperlukan untuk menggunakan antarmuka.

• User professional

Mengetahui dengan baik semantik dan sintaksis pengetahuan yang sering mengarah ke

"power syndrome-user", yaitu orang yang mencari jalan pintas dan cara interaksi

singkat.

2.1.3.2 Proses Desain Antarmuka User

Proses dari desain antarmuka user adalah proses yang terjadi secara berulang

(Roger Pressman, 2010, p.319). Terdapat 4 proses meliputi empat kegiatan yang berbeda

kerangka kerja, yaitu sebagai berikut :

1. User, tugas, dan lingkungan analisis dan pemodelan

2. Desain antarmuka

3. Konstruksi antarmuka

4. Validasi antarmuka

Page 10: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

16  

2.1.4 Client / Server Software Engineering

Meskipun tidak ada definisi standar, istilah arsitektur client / server umumnya

mengacu pada sistem yang membagi pengolahan antara satu atau lebih client jaringan

dan pusat server. Dalam sistem client / server biasa, client menangani seluruh user

interface, termasuk entri data, permintaan data, dan logika layar presentasi. Server

menyimpan data dan menyediakan akses data dan fungsi manajemen database. Logika

aplikasi dibagi dalam beberapa cara antara server dan client. Dalam interaksi client /

server, client mengajukan permintaan untuk informasi dari server, yang melakukan

operasi dan menanggapi client. Seperti ditunjukkan dalam Gambar 2.2, data tidak

ditransfer dari server ke client - hanya permintaan dan hasilnya ditransmisikan di

seluruh jaringan. Untuk memenuhi permintaan dari client, server mungkin melakuan

kontak server lainnya untuk data atau dukungan pengolahan, tetapi proses yang

transparan kepada client (Gary B. Shelly, 2009).

Gambar 2.3 Perbedaan Desain File Server dengan Client/Server

Page 11: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

17  

2.1.4.1 Client/Server Design Styles

Client / server desain dapat mengambil banyak bentuk, tergantung pada jenis

server dan hubungan antara server dan client. Gambar 2.3 menunjukkan client / server

interaksi untuk server database, server transaksi, objek server, dan server Web.

Perhatikan bahwa dalam setiap kasus, pengolahan dibagi antara server dan client. para

sifat komunikasi tergantung pada jenis server. Sebuah database server memproses

sebuah perintah SQL, server transaksi menangani satu set perintah SQL, sebuah objek

server melakukan pertukaran pesan dengan client, dan web server mengirimkan dan

menerima komunikasi berbasi internet (Gary B. Shelly, 2009, p.457).

Page 12: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

18  

Gambar 2.4 Interaksi client/server untuk server database, server transaksi,

objek server, dan server Web.

2.1.5 Database

Database adalah koleksi beberapa data yang saling berhubungan dan didesain

sedemikian hingga untuk memenuhi kebutuhan informasi dari suatu organisasi

(Connolly dan Begg, 2010, p.14). Sehingga database memegang peranan penting dalam

sebuah sistem untuk penyediaan informasi bagi usernya.

Page 13: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

19  

2.1.5.1 Relational Database

Relational database adalah sebuah kumpulan dari relasi yang telah dinormalisasi

dengan nama relasi yang jelas (Connolly dan Begg, 2010, p.74). Relational database

merupakan suatu tipe database yang berdasarkan model relational, dimana semua data

dapat dilihat oleh user, disusun dalam bentuk tabel-tabel dan semua operasi pada

database bekerja pada tabel-tabel tersebut. Relasi antar tabel pada relational database

sudah melalui tahap normalisasi dengan nama relasi yang berbeda-beda.

Ada 3 jenis relasi antar records pada tabel (Connolly dan Begg, 2010, p.344), yaitu

:

1. Relasi one-to-one adalah relasi antara satu record dengan satu record dalam tabel lain

yang saling berhubungan.

2. Relasi one-to-many adalah relasi antara satu record dengan lebih dari satu record

dalam tabel lain sehingga saling berhubungan.

3. Relasi many-to-many adalah relasi antara banyak record dengan lebih dari satu record

dalam tabel lain yang saling berhubungan.

Page 14: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

20  

2.1.6 SQLite

Menurut Owens (2006, p.1), SQLite adalah sebuah open source relational

database. Dirilis pada tahun 2000, SQLite didesain untuk menyediakan cara mudah bagi

aplikasi untuk mengatur data tanpa overhead yang sering timbul dari dedicated

relational database management systems. SQLite memiliki reputasi dalam hal

portabilitas, mudah digunakan, efisien, dan reliable.

SQLite memiliki arsitektur modular yang menggunakan pendekatan unik untuk

relational database management. SQLite terdiri dari delapan grup modul yang terpisah

dalam tiga subsistem utama. Modul ini membagi proses query menjadi beberapa diskrit

yang bekerja seperti sebuah perakitan. Stack teratas meng-compile query, bagian tengah

mengeksekusi, dan bagian bawah menangani penyimpanan dan interface dengan sistem

operasi (Owens, 2006, p.5).

2.1.7 Interaksi Manusia dan Komputer (IMK)

Tujuan dari Interaksi manusia dan komputer :

• Menghasilkan sistem yang bermanfaat, memiliki manfaat dan mudah

dioperasikan atau digunakan oleh user.

• Fungsi-fungsi yang dibuat dalam sistem dibuat sesuai dengan

perencanaan.

• Keamanan, perancangan keamaan yang baik untuk sistem apakah

memiliki tingkat pengamanan terhadap data atau tidak.

• Efektifitas dan Efisiensi, berpengaruh pada produktifitas kerja dari

usernya dan sistem yang dibuat harus berfungsi dengan baik.

Page 15: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

21  

Ruang lingkup interaksi manusia dan komputer meliputi 3 komponen:

• Manusia

Manusia merupakan user yang memakai komputer. User ini berbeda-

beda dan memiliki karakteristik masing-masing sesuai dengan

kebutuhan dan kemampuannya dalam menggunakan komputer.

• Komputer

Komputer merupkan peralatan elektronik yang meliputi piranti

keras(hardware) dan piranti lunak(software).

• Interaksi

Interaksi adalah komunikasi antara dua objek yang saling

mempengaruhi satu sama lain.

Pada interaksi manusia dan komputer terdapat 8 aturan emas dalam perancangan,

menurut Ben Schneiderman, Shneiderman's "Eight Golden Rules of Interface Design", 8

panduan untuk desain interaksi yang baik (B. Schneiderman & Catherine Plaisant, 2005,

p.74) :

1. Berusaha untuk konsisten

- Urutan tindakan yang konsisten, warna yang konsisten, tata letak yang

konsisten, font yang konsisten, dan sebagainya.

2. Memungkinkan user untuk sering menggunakan jalan pintas (shortcuts)

- Untuk menggunakan laju singkatan menggunakan interaksi, tombol

khusus, perintah tersembunyi, dan sebagainya.

Page 16: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

22  

3. Memberikan umpan balik yang informatif

- Untuk setiap tindakan yang dilakukan user, sistem harus merespon dalam

beberapa cara misalnya, tombol akan mengeluarkan suara klik atau

mengubah warna saat diklik untuk menampilkan sesuatu yang akan

dikenali oleh user sebagai tanda atau pemberitahuan.

4. Merancang dialog yang memberikan keadaan akhir

- Urutan tindakan harus diatur kedalam kelompok awal, tengah, dan akhir.

Umpan balik yang informatif pada tahap dimana user telah selesai

berinteraksi dengan sistem akan menginformasikan bahwa proses yang

dilakukan telah selesai.

5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang

sederhana

- Jika user melakukan kesalahan, instruksi khusus harus ditulis untuk

mendeteksi kesalahan dan menawarkan instruksi sederhana, konstruktif,

dan khusus untuk tindakan pemulihan.

6. Memungkinkan pembalikan aksi yang mudah

- Jika user salah memilih menu, user tidak perlu takut untuk melanjutkan

program. User tinggal menekan button back maka akan kembali ke menu

sebelumnya.

7. Mendukung pusat kendali internal

8. Mengurangi beban ingatan jangka pendek

- Rancangan layar yang jelas terlihat, mudah dimengerti, dan mudah untuk

diingat oleh user akan mengurangi beban memori ingatan jangka pendek

user sistem.

Page 17: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

23  

2.1.8 XML

XML adalah sebuah meta-language (bahasa yang digunakan untuk

mendeskripsikan bahasa lain) yang memungkinkan seorang desainer membuat sendiri

tag yang menyediakan fungsi yang tidak tersedia pada HTML (Connolly dan Begg,

2010, p.1073). XML merupakan sebuah versi meta-language yang diturunkan dari

Standard Generalized Markup Language (SGML), yang didesain khusus untuk

dokumen website dan dapat mendukung perancang untuk menciptakan tag sendiri, yang

memiliki kemampuan untuk mendefinisikan, mentransmisikan, memvalidasikan dan

menginterpretasikan data antara aplikasi dan organisasi.

XML dikembangkan oleh World Wide Web Consortium (W3C) yang didukung

sekitar 150 orang anggotanya dan versi 1.0 pertama kali dirilis pada tahun 1998.

Keunggulan yang dimiliki XML antara lain (Connolly dan Begg, 2010, p.1074) :

• Simplicity, XML menggunakan bahasa yang sederhana, mudah dimengerti oleh

manusia dan mesin.

• Open standard and platform / vendor-independent, XML menggunakan standar

terbuka dan tidak tergantung pada platform tertentu.

• Extensibility, XML memungkinkan user untuk mendefinisikan tag sendiri sehingga

dapat dikembangkan sesuai dengan kebutuhan user.

• Reuse, XML memungkinkan libraries dari XML tags untuk dibangun sekali dan

dapat digunakan kembali oleh banyak aplikasi.

• Separation of content and presentation, XML memisahkan antara isi dan tampilan

dari suatu data sesuai dengan pengaturan yang diinginkan.

Page 18: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

24  

• Improved load balancing, data dapat ditampilkan pada browser dengan baik.

• Support for the integration of data from multiple source. Kemampuan

mengintegrasikan data dari berbagai macam sumber yang berbeda adalah hal

yang sulit dan memakan waktu.XML dapat menggabungkan data dari banyak

sumber yang berbeda dengan cara yang mudah.

• Ability to describe data from a wide variety of applications, XML dapat digunakan

untuk mendeskripsikan data yang terdapat pada aplikasi yang berbeda.

• More advanced search engine, dengan XML mesin pencarian akan mampu untuk

menyederhanakan berbagai macam tags.

• New opportunities, XML memiliki banyak kelebihan yang dapat dihadirkan dalam

banyak aplikasi teknologi saat ini. Struktur hirarkisnya cocok untuk kebanyakan

tipe dokumen.

Kekurangan-kekurangan XML :

• Parser harus didesain untuk memahami struktur data bersarang yang berubah-ubah

dan harus melakukan pengecekan tambahan untuk mendeteksi sintaks atau data

yang tidak terformat atau terurut dengan benar.

• Urutan penekanan tombol untuk mengetikkan ekspresi XML pada keyboard

standar komputer seringkali tidak flesksible.

XML menggunakan teknologi Document Type Definitions (DTDs) yang dapat

mendefinisikan sintaksis yang valid dari dokumen XML.

Page 19: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

25  

2.1.8.1 Deklarasi XML

Sebuah file XML diawali dengan pilihan deklarasi XML, yang menunjukan versi

XML yang digunakan oleh penulis dalam dokumen, encoding system yang digunakan

dan menentukan apakah ada deklarasi external markup yang perlu dimasukkan. XML

bersifat case-sensitive (huruf kecil tidak sama dengan huruf besar). Artinya tag <home>

dan <Home> merupakan hal yang berbeda.

2.1.8.2 Element XML

Element atau tag, adalah bentuk umum dalam markup. Elemen pertama pasti

adalah sebuah root element, yang terdiri atas banyak sub element lain. Sebuah dokumen

XML harus mempunyai satu root element.

2.1.8.3 Atribut XML

Atribut adalah pasangan nama dan nilai yang mendeskripsikan informasi tentang

suatu element. Atribut diletakkan dalam tag awal setelah nama elemen dan nilai atribut

ada dalam tanda petik. Contoh :

<STAFF brachNo=”B001”>.

Jika sudah diberikan atribut maka dapat ditunjukkan element itu adalah element

yang kosong, contoh: <SEX gender=”M”/>.

2.1.8.4 Entity References

Setiap entiti harus memiliki nama yang unik dan userannya dalam sebuah

dokumen XML disebut dengan entity references. Sebuah entity references diawali

Page 20: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

26  

dengan tanda dan (&) dan diakhiri dengan titik koma (;). Entity references adalah

karakter yang mengganti illegal character di XML.

2.1.8.5 Komentar XML

Komentar pada XML menggunakan sintaks sama seperti komentar pada HTML.

Contoh :

<!-- komentar -->

Komentar ini dapat mengandung semua string kecuali ‘--’.

2.2 Teori–teori Khusus

Teori-teori khusus yang berkaitan dalam topik skripsi disini adalah tentang

Android, Enkripsi, Kriptografi, Hashing, dan Rapid Application Development.

2.2.1 Android

Android adalah sebuah aplikasi platform telepon seluler yang open source. Android

utamanya adalah produk Google, tetapi lebih tepatnya Open Handset Alliance. Open

Handset Alliance adalah aliansi dari 30 organisasi yang berkomitmen untuk membawa

sebuah perangkat seluler yang lebih baik dan terbuka untuk pasar.

Android adalah platform terbuka pertama untuk perangkat mobile, tetapi tanpa

gangguan berarti yang mengganggu inovasi. Android adalah sebuah lingkungan

perangkat lunak yang dibangun untuk perangkat-perangkat mobile. (Ableson, 2009, p.4)

Android termasuk kernel berbasis Linux, user interface yang kaya, aplikasi end-

user,framework aplikasi, dukungan multimedia,dan masih banyak lainnya. User

Page 21: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

27  

application dibangun berbasiskan bahasa pemograman Java. Bahkan aplikasi yang

dibangun juga berbasiskan Java.

Beberapa komponen yang ada dalam Android :

• Kapabilitas konektivitas seperti Wi-Fi dan Bluetooth yang ditemukan.

• Kode-kode libraries yang meliputi :

- Teknologi browser seperti WebKit.

- Dukungan database SQLite.

- Dukungan grafis, yang meliputi 2D, 3D, animasi dari SGL, dan

OPENGLES.

• Dukungan servis meliputi :

- Activity dan Views.

- Telephony.

- Windows.

- Resources.

- Location-Based Services.

2.2.1.1 Arsitektur Android

Dalam paket sistem operasi android tediri dari beberapa unsur seperti tampak

pada gambar di bawah. Secara sederhana arsitektur android merupakan sebuah kernel

Page 22: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

28  

Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang menyediakan dan

mengatur alur proses aplikasi.

1) Linux Kernel

Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google

menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang mencakup

memory management, security setting, power management, dan beberapa driver

hardware. Kernel berperan sebagai abstraction layer antara hardware dan keseluruhan

software. Sebagai contoh, HTC GI dilengkapi dengan kamera. Kernel Android terdapat

driver kamera yang memungkinkan user mengirimkan perintah kepada hardware

kamera.

Pada Android hanya terdapat beberapa servis yang diperlukan seperti keamanan,

manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan

driver layar, kamera, keypad, Wi-Fi, Flash Memory, audio, dan IPC (Interprocess

Communication) untuk mengatur aplikasi dan lubang keamanan.

2) Libraries

Bertempat divlevel yang sama dengan Android Runtime adalah Libraries.

Android menyertakan satu set library-library dalam bahasa C/C++ yang digunakan oleh

berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh

programmer melewati Android application framework. Sebagai contoh Android

mendukung pemutaran format audio, video, dan gambar.

Berikut ini beberapa core library tersebut :

Page 23: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

29  

- Media Libraries

Berdasarkan PacketVideo's OpenCORE; library-library ini mendukung playback dan

recording dari berbagai format audio and video popular, meliputi MPEG4, H.264, MP3,

AAC, AMR, JPG, dan PNG.

- Surface Manager

Mengatur akses pada display dan lapisan composites 2D and 3D grafik dari berbagai

aplikasi.

- LibWebCore

Web browser engine moderen yang mendukung Android browser maupun embeddable

web view

Library-library tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya

dapat digunakan oleh program yang berada di level atasnya. Sejak versi Android 1.5,

pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan Native

Development Toolkit (NDK).

3) Android Runtime

Pada android tertanam paket pustaka inti yang menyediakan sebagian besar

fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi

lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual

yang membuat aplikasi Android menjadi lebih tangguh dengan paket pustaka yang telah

ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya:

Page 24: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

30  

• Pustaka Inti, Android dikembangkan melalui bahasa pemrograman Java, tapi Android

Runtime bukanlah mesin virtual Java. Pustaka inti Android menyediakan hampir semua

fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus Android.

4) Application Framework

Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk

mengembangkan aplikasi Android. Selain itu, juga menyediakan abstraksi generik untuk

mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi.

Bagian terpenting dalam kerangka aplikasi Android adalah sebagai berikut (Burnette,

2009, p.31):

1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan untuk

navigasi useran.

2. Content Providers, berfungsi untuk merangkum data yang memungkinkan

digunakan oleh aplikasi lainnya, seperti daftar nama.

3. Resource Manager, untuk mengatur sumber daya yang ada dalam program.

Serta menyediakan akses sumber daya diluar kode program, seperti karakter,

grafik, dan file layout.

4. Location Manager, berfungsi untuk memberikan informasi detail mengenai

lokasi perangkat Android berada.

5. Notification Manager, mencakup berbagai macam peringatan seperti, pesan

masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar.

Page 25: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

31  

5) Application Layer

Puncak dari diagram arsitektur Android adalah lapisan aplikasi dan widget.

Lapisan aplikasi merupakan lapisan yang paling tampak pada user ketika menjalankan

program. User hanya akan melihat program ketika digunakan tanpa mengetahui proses

yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan

menggunakan kelas dan service yang tersedia pada framework aplikasi.

Lapisan aplikasi Android sangat berbeda dibandingkan dengan sistem operasi

lainnya. Pada Android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak

ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application

Programming Interface) yang sama.

2.2.2 Enkripsi

Enkripsi adalah proses perubahan data menjadi sebuah bentuk yang tidak dengan

mudah dapat dimengerti oleh orang yang tidak berhak (Carr, 2010, p.192). Dengan kata

lain enkripsi berarti mengubah data asli menjadi data samar. Proses kebalikannya yaitu

mengubah data samar menjadi data asli atau data yang dapat dimengerti dikenal dengan

dekripsi. Proses enkripsi membutuhkan bantuan cipher, yakni sebuah key untuk

menterjemahkan data asli ke data samar atau sebaliknya.

2.2.3 Kriptografi

Untuk melakukan enkripsi, diperlukan beberapa teknik agar informasi didalam

data tidak dapat dilihat oleh orang yang tidak berhak yang dikenal dengan kriptografi.

Berasal dari bahasa Yunani, kryptos, kriptografi adalah bagian dari information security.

Page 26: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

32  

Secata sederhana, kriptografi dapat digambarkan dengan proses menerjemahkan

plaintext menjadi ciphertext (Carr, 2010, p.192). Plaintext adalah teks atau data yang

asli, sedangkan ciphertext adalah teks atau data yang dienkripsi dengan bantuan sebuah

key yang lebih dikenal dengan cipher.

2.2.4 Hashing

Hashing adalah suatu algoritma yang menghasilkan ciphertext dengan panjang

tertentu dari suatu plaintext (Carr, 2010, p.196). Panjang dari plaintext tidak

menentukan panjang dari ciphertext karena ciphertext yang dihasilkan pasti selalu sama

dengan algoritma hashing. Hashing berbeda dengan enkripsi karena ciphertext pada

hashing tidak dapat dikembalikan ke bentuk plaintext. Hashing efektif bila ukuran dari

plaintext tidak terlalu panjang, dan menjadi kurang efektif bila ukuran dari plaintext

panjang karena dimungkinkan 2 atau lebih plaintext panjang yang berbeda mempunyai

ciphertext yang sama.

2.2.5 Rapid Application Development

Rapid application development (RAD) atau rapid prototyping adalah model

proses pembangunan perangkat lunak yang tergolong dalam teknik bertingkat. RAD

menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat

adalah batasan yang penting untuk model ini. Rapid application development

menggunakan metode berulang dalam mengembangkan sistem dimana working model

sistem dikonstruksikan diawal tahap pengembangan dengan tujuan menetapkan

kebutuhan user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang

sebagai basis desain dan implementasi sistem akhir.

Page 27: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

33  

Dalam membangun sistem menggunakan RAD terdapat empat fase didalamnya

(Gary B. Shelly, 2009), yaitu :

1. Requirements Planning Phase : Kombinasi elemen dari fase sistem perancangan

dan analisis dari System Development Life Cycle. Seluruh elemen dari fase ini

mendiskusikan sistem kebutuhan program dan mendapatkan solusi untuk

perancangan sistem.

2. User Design Phase : Dalam fase ini mulai dibuat analisis sistem dan model

pengembangan serta prototipe yang menggambarkan keseluruhan sistem dalam

program meliputi input, process, output. Pembuatan desain ini

mengkombinasikan teknik Joint Application Development (JAD) dan CASE

untuk mendapatkan kebutuhan user dan mengubahnya menjadi model. Dalam

pembuatan desain user ini juga menyertakan user untuk mengerti, mengubah,

dan memastikan model sistem yang dibuat seperti kebutuhan user.

3. Construction Phase : Fokus pada program dan pengembangan aplikasi seperti

pada System Development Life Cycle. Didalam RAD user melanjutkan untuk

berpartisipasi dan masih dapat memberikan keinginan untuk merubah atau

perbaikan sistem yang sudah dibuat. Dalam fase ini pengembangan

menitikberatkan pada pemrograman, integrasi unit, dan pengetesan sistem.

4. Cutover Phase : Ini merupakan fase akhir dalam RAD yang mencakup

implementasi, konversi data, pengetesan akhir pada sistem, dan pelatihan user.

Apabila dibandingkan dengan metode yang lama, prosesnya lebih singkat.

Sehingga pada akhirnya hasil dari sistem yang dibuat lebih cepat.

Page 28: BAB 2 LANDASAN TEORI 2.1 Teori-teori umum 2.1.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00102-IF Bab 2.pdf · 12 2.1.2.2 Use Case Diagram Use Case Diagram menggambarkan

34  

 

Gambar 2.5 Fase pada RAD

Dari penjelasan diatas dapat disimpulkan bahwa metode pengembangan aplikasi

dengan menggunakan RAD membuat waktu pengerjaan aplikasi lebih cepat, hasil lebih

baik karena terdapat kontrol user pada pengembangan sistem akan tetapi biaya yang

dikeluarkan lebih besar dan juga membutuhkan manajemen yang baik.