83
BAB 2 LANDASAN TEORI 2.1 Aplikasi Sistem Pemesanan 2.1.1 Aplikasi Aplikasi merupakan suatu bagian dari perangkat lunak yang dapat digunakan untuk menyelesaikan masalah-masalah yang khusus yang dihadapi user dengan menggunakan kemampuan komputer. Aplikasi digunakan oleh pemakai ahir dan merupakan program pemrosesan langsung di dalam suatu komputer. O’Brien (2006, p37). Sedangkan menurut Pressman (2002, p10) suatu program dapat dikatakan aplikasi jika terdapat tiga hal berikut : 1. Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan. 2. Struktur data yang memungkinkan program memanipulasi formasi secara professional. 7

library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

BAB 2

LANDASAN TEORI

2.1 Aplikasi Sistem Pemesanan

2.1.1 Aplikasi

Aplikasi merupakan suatu bagian dari perangkat lunak yang dapat

digunakan untuk menyelesaikan masalah-masalah yang khusus yang dihadapi

user dengan menggunakan kemampuan komputer. Aplikasi digunakan oleh

pemakai ahir dan merupakan program pemrosesan langsung di dalam suatu

komputer. O’Brien (2006, p37).

Sedangkan menurut Pressman (2002, p10) suatu program dapat

dikatakan aplikasi jika terdapat tiga hal berikut :

1. Perintah (program komputer) yang bila dieksekusi memberikan

fungsi dan unjuk kerja seperti yang diinginkan.

2. Struktur data yang memungkinkan program memanipulasi formasi

secara professional.

3. Dokumen yang menggambarkan operasi dan kegunaan program.

Banyak contoh dari aplikasi dalam suatu komputer, beberapa contoh

aplikasi tersebut yaitu : aplikasi penjualan, aplikasi penggajian dan aplikasi

pengolah kata (Microsoft Word).

2.1.2 Sistem

Berdasarkan teori O’Brien (2006, p9) definisi sistem secara umum

sebagai berikut :

7

Page 2: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

8

1. Kumpulan dari elemen-elemen yang saling berhubungan atau

saling berinteraksi membentuk satu keseluruhan.

2. Sekelompok komponen-komponen yang saling berhubungan,

bekerja untuk mencapai satu tujuan dengan menerima input dan

menghasilkan output dalam suatu proses transformasi yang

terorganisasi.

3. Kumpulan dari metode-metode, prosedur-prosedur, atau teknik-

teknik yang disatukan oleh keterhubungan yang teregulasi untuk

membentuk keseluruhan yang terorganisasi.

4. Kumpulan dari orang-orang, mesin-mesin dan metode-metode

yang terorgansisasi yang diperlukan untuk menyelesaikan satu set

fungsi yang khusus.

Sedangkan dalam kaitannya sistem pada bidang teknologi dapat

didefinisikan sebagai kumpulan dari berbagai komponen seperti hardware,

software, teknologi jaringan telekomunikasi dan manajemen yang

membentuk suatu satu kesatuan.

Selain itu Pressman (2002, p276) juga berpendapat bahwa sistem

yang berbasiskan komputer didefinisikan sebagai serangkaian atau tatanan

elemen-elemen dari software dan hardware yang diatur untuk mencapai

tujuan yang ditentukan sebelumnya melalui pemrosesan informasi.

Konsep sistem akan semakin berguna jika terdapat 2 komponen

tambahan yaitu umpan balik (Feedback) dan pengendalian. Sistem yang

memiliki komponen umpan balik disebut sebagai sistem cybernetic, yaitu

sistem yang mengawasi dan mengatur dirinya sendiri. Umpan balik adalah

data mengenai kinerja sistem contohnya data mengenai kinerja penjualan

Page 3: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

9

adalah umpan balik bagi manajer penjualan. Pengendalian melibatkan

pengawasan dan pengevaluasian umpan balik untuk menetapkan apakah

sistem bergerak menuju pencapaian tujuan atau tidak.

2.1.3 Pemesanan

Dalam kamus besar bahasa Indonesia (ed. 3) pemesanan adalah proses

perbuatan, cara memesan atau memesankan. Pemesanan merupakan salah

satu aktifitas dalam sebuah restoran, pemesanan dilakukan oleh konsumen,

adanya pemesanan membantu penjual menentukan jumlah persediaan barang.

Kemajuan teknologi sekarang ini memungkinkan pemesanan tidak

hanya dapat dilakukan jika konsumen dan penjual bertatap langsung, tetapi

dapat dilakukan dari jarak jauh sekalipun, misalnya sistem pemesanan barang

lewat internet ataupun melalui media-media komunikasi lainnya.

2.1.4 Aplikasi Sistem Pemesan

Berdasarkan pengertian – pengertian di atas dapat disimpulkan bahwa

aplikasi sistem pemesanan adalah suatu rangkaian program yang saling

berinteraksi antara elemen – elemennya seperti perangkat keras dan perangkat

lunaknya melalui jaringan komputer dimana terdapat pengguna yang lebih

dari satu orang sehingga membentuk proses kerja untuk tercapai suatu tujuan

yaitu kegiatan pemesanan.

2.2 Rekayasa Perangkat Lunak (RPL)

Rekayasa Perangkat Lunak merupakan suatu disiplin ilmu dalam pembuatan

dan penggunaan prinsip-prinsip keahlian teknik untuk mendapatkan piranti lunak

yang ekonomis, handal, dan bekerja secara efisien pada mesin nyata.

Page 4: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

10

Ada 2 bagian yang di kemukakan oleh Sommeville (2001, p7) yang menjadi

kunci di dalam rekayasa perangkat lunak yaitu :

1. Ilmu Rekayasa (Engineering Discipline) yaitu membuat segala sesuatu

berfungsi, dan mengaplikasikan teori, metode dan alat yang sesuai dan

menggunakannya secara selektif untuk mencari dan menemukan solusi

dari setiap akar masalah.

2. Aspek-aspek dalam produksi perangkat lunak, dalam perekayasaan

perangkat lunak tidak hanya mementingkan teknikal dalam pembuatan

perangkat lunak tetapi juga memperhatikan setiap aktivitas dari

manajemen proyek, alat pengembang (development tools), metode, dan

teori yang mendukung produksi perangkat lunak

Berdasarkan pengertian diatas dapat disimpulkan bahwa Rekayasa Perangkat

Lunak adalah suatu proses membangun perangkat lunak menggunakan prinsip-

prinsip keahlian teknik untuk menghasilkan perangkat lunak yang ekonomis, handal,

dan efisien pada mesin.

Di dalam suatu perancangan perangkat lunak terdapat suatu bagian yaitu

proses perangkat lunak dimana di dalalmnya terdapat beberapa aktivitas mendasar

yang biasa dilakukan dalam setiap proses perangkat lunak yaitu :

1. Spesifikasi Perangkat Lunak (Software Spesification). Setiap fungsi dari

perangkat lunak harus didefinisikan secara jelas.

2. Pembuatan Perangkat Lunak (Software Development). Setiap spesifikasi

yang telah ditetapkan harus dibuat sesuai dengan spesifikasi perangkat

lunak.

Page 5: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

11

3. Validasi Perangkat Lunak (Software Validation). Setiap perangkat lunak

harus memiliki validasi untuk menghindari terjadinya error dan pengguna

hanya dapat mengakses sesuai hak aksesnya.

4. Perubahan Perangkat Lunak (Software Evolution).Perangkat lunak harus

dapat berubah sesuai perubahan kebutuhan pengguna.

2.2.1 Lapisan dalam RPL

Secara umum Rekayasa Perangkat Lunak dapat dibagi menjadi tiga

layer, Pressman (2002, p28) antara lain :

1. Process Model adalah fondasi dari RPL yang mendefinisikan

sebuah framework untuk sekumpulan key process area yang

harus dibangun demi keefektifan penyampaian teknologi

pengembangan RPL.

2. Methods menyediakan secara teknis bagaimana untuk

membangun suatu perangkat lunak

3. Tools menyediakan dukungan otomatis dan semi otomatis

untuk process model dan methods.

4. Quality focus merupakan batu landasan yang menopang tools,

methods, dan process dalam RPL

Gambar 2.1 Lapisan Rekayasa Perangkat Lunak

Page 6: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

12

(Sumber Gambar :

http://dl2yourpcstory.blogspot.com/2011/03/pengertian-rekayasa-perangkat-

lunak.html)

2.2.2 Model Proses Software

Model rekayasa piranti lunak yang diuraikan oleh Pressman (2002,

p36) salah satunya adalah waterfall model. Model ini memberikan

pendekatan-pendekatan sistematis dan berurutan bagi pengembangan piranti

lunak. Berikut adalah gambar pengembangan sistem perangkat lunak dengan

proses SDLC (System Development Life Cycle) dengan model waterfall.

Gambar 2.2 SDLC Model Waterfall

Penjelasan dari tahap-tahap waterfall model adalah sebagai berikut:

i. Rekayasa Sistem (System Enginering) Perancangan sistem sangat

diperlukan, karena piranti lunak biasanya merupakan bagian dari

suatu sistem yang lebih besar. Pembuatan sebuah piranti lunak

dapat dimulai dengan melihat dan mencari apa yang dibutuhkan

oleh sistem. Dari kebutuhan sistem tersebut akan diterapkan

kedalam piranti lunak yang dibuat.

ii. Analisa Kebutuhan Piranti Lunak (Software Requirement

Analysis) Merupakan proses pengumpulan kebutuhan piranti

Page 7: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

13

lunak. Untuk memahami dasar dari program yang akan dibuat,

seorang analisis harus mengetahui ruang lingkup informasi,

fungsi-fungsi yang dibutuhkan, kemampuan kinerja yang ingin

dihasilkan dan perancangan antarmuka pemakai piranti lunak

tersebut.

iii. Perancangan (Design) Perancangan piranti lunak merupakan

proses bertahap yang memfokuskan pada empat bagian penting,

yaitu: Struktur data, arsitektur piranti lunak, detil prosedur, dan

karakteristik antar muka pemakai.

iv. Pengkodean (Coding) Pengkodean piranti lunak merupakan

proses penulisan bahasa program agar piranti lunak tersebut

dapat dijalankan oleh mesin.

v. Pengujian (Testing) Proses ini akan menguji kode program yang

telah dibuat dengan memfokuskan pada bagian dalam piranti

lunak. Tujuannya untuk memastikan bahwa semua pernyataan

telah diuji dan memastikan juga bahwa input yang digunakan

akan menghasilkan output yang sesuai. Pada tahap ini pengujian

ini dibagi menjadi dua bagian, pengujian internal dan pengujian

eksternal. Pengujian internal bertujuan menggambarkan bahwa

semua statement sudah dilakukan pengujian, sedangkan

pengujian eksternal bertujuan untuk menemukan kesalahan serta

memastikan output yang dihasilkan sesuai dengan yang

diharapkan.

vi. Pemeliharaan (Maintenance) Proses ini dilakukan setelah piranti

lunak telah digunakan oleh pemakai atau konsumen. Perubahan

Page 8: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

14

akan dilakukan jika terdapat kesalahan, oleh karena itu piranti

lunak harus disesuaikan lagi untuk menampung perubahan

kebutuhan yang diinginkan konsumen.

Selain model waterfall juga terdapat model proses perangkat lunak

yang lain yaitu model Spiral Development. Model proses ini pertama kali

dikemukakan oleh Boehm (1988), merupakan model proses yang dilakukan

secara berurutan dan dapat melakukan pengulangan (backtracking) ke satu

aktivitas ke yang lainnya dimana bentuk kegiatan tersebut menyerupai bentuk

spiral. Setiap perulangan dalam spiral menggambarkan satu bagian dalam

proses perangkat lunak. Perulangan dalam bentuk spiral ini terdapat 4 bagian

yaitu :

i. Pembuatan Tujuan (Objective Setting). Penentuan tujuan,

hambatan dalam proses ataupun produk serta resiko-resiko

proyek. Rencana rinci manajemen juga ditulis lengkap serta

pembuatan strategi-strategi alternative sesuai dengan resiko yang

ada.

ii. Perkiraan dan Pengurangan Resiko (Risk Assessment and

Reduction). Membuat rincian analisis untuk setiap resiko yang

telah diidentifikasi kemudian diambil langkah-langkah untuk

mengurangi resiko, contohnya jika ada resiko bahwa persyaratan-

persyaratan tidak tepat maka sebuah model contoh mungkin dapat

dikembangkan.

iii. Pengembangan dan Validasi (Development and Validation).

Setelah evaluasi resiko, sebuah model pengembangan untuk

sistem dipilih misalnya jika resiko interface pengguna yang

Page 9: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

15

dominan, maka model pengembangan yang tepat mungkin

pengembangan model contoh (prototype). Jika resiko keselamatan

yang diutamakan, model pengembangan yang sesuai adalah model

transformasi formal. Model waterfall tepat jika yang diutamakan

integrasi.

iv. Perencanaan (Planning). Jika diputuskan untuk melanjutkan pada

loop spiral berikutnya maka nproyek dibicarakan kembali dan

rencana dibuat untuk tahap selanjutnya.

Dari pembahasan beberapa model rekayasa perangkat lunak antara

model waterfall dan model spiral maka dapat ditemukan perbandingan antara

model rekayasa perangkat lunak tersebut. Berikut ini adalah perbandingan

model waterfall dan spiral serta faktor pembandingnya :

Tabel 2.1 Perbandingan Model Waterfall dan Spiral

Faktor Waterfall Spiral

Proyek dengan ukuran resiko Kecil Sedang

Ukuran Software Kecil Besar

Jenis aplikasi Sedang Sedang

Fleksibel terhadap perubahan (waktu) Rendah Perubahan awal

Keterlibatan konsumen Rendah Sedang

Kelebihan Model Waterfall:

Bisa digunakan jika suatu persyaratan untuk membuat suatu software

sudah dipahami dengan baik dan sudah lengkap semua persyaratan yang

ada.

Page 10: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

16

Kekurangan Model Waterfall:

Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel,

karena komitmen harus dilakukan pada tahap awal proses.

Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan

pengguna (user).

Model air terjun harus digunakan hanya ketika persyaratan dipahami

dengan baik.

Kelebihan Model Spiral :

Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup

perangkat lunak komputer.

Lebih cocok untuk pengembangan sistem dan perangkat lunak skala

besar.

Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi

terhadap resiko setiap   tingkat evolusi karena perangkat lunak terus

bekerja selama proses .

Kelemahan model Spiral:

Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini

bisa dikontrol.

Memerlukan penaksiran resiko yang masuk akal dan akan menjadi

masalah yang serius jika resiko mayor tidak ditemukan dan diatur.

Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian

yang absolute

Page 11: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

17

2.3 Interaksi Manusia dengan Komputer

Interaksi manusia dan komputer adalah disiplin ilmu yang berhubungan

dengan perancangan, evaluasi dan implementasi sistem komputer interaktif untuk

digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan

dengannya. Ilmu ini secara khusus menitikberatkan pada perancangan dan evaluasi

antar pemakai (user interface).

2.3.1 Eight Golden Rules User Interface Design

Menurut Shneiderman (1998, p.74-75), ada delapan aturan emas

perancangan antarmuka yang harus diperhatikan dalam perancangan dialog.

Delapan aturan emas (Eight Golden Rules) tersebut adalah:

1. Berusaha untuk konsisten.

Dalam hal merancang tampilan harus selalu berusaha untuk konsisten.

2. Memungkinkan frequent users menggunakan shortcuts.

Pengguna yang sudah sering menggunakan aplikasi lebih

menginginkan kecepatan dalam mengakses fungsi-fungsi yang

diinginkan. Sehingga disediakan tombol-tombol spesial penyingkat

untuk memudahkan user langsung berinteraksi dengan fungsi yang

diinginkannya.

3. Memberikan umpan balik yang informative.

Umpan balik harus diberikan untuk memberikan informasi kepada

user sesuai dengan aksi yang dilakukan, sehingga user mengetahui

aksi apa yang telah dan akan dilakukan dengan adanya umpan balik

ini. Umpan balik dapat berupa konfirmasi atau informasi atas suatu

aksi.

Page 12: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

18

4. Merancang dialog yang memberikan penutupan (keadaan akhir).

Umpan balik atas akhir dari suatu proses-proses dan aksi sangat

membantu dan juga pengguna mendapat signal untuk melanjutkan

aksi lainnya.

5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang

sederhana.

Sistem dirancang sedemikian rupa sehingga dapat mencegah

pengguna dalam buat kesalahan. Bila terjadi kesalahan, sistem harus

dapat memberikan instruksi sederhana, konstruktif dan spesifik untuk

perbaikan.

6. Memungkinkan pembalikan aksi yang mudah.

User kadang tidak sengaja melakukan aksi yang tidak diinginkan,

untuk itu user ingin melakukan pembatalan. Sistem harus dapat

memberikan fungsi pembatalan ini sehingga user akan merasa lebih

aman dan tidak takut dalam mencoba dan memakai sistem tersebut.

7. Mendukung internal locus of control.

User yang berpengalaman sangat menginginkan kontrol yang kuat

pada sistem sehingga user merasa menguasai sistem tersebut. Sistem

yang tidak terduga dan sulit melakukan aksi, akan menyulitkan user.

8. Mengurangi beban ingatan jangka pendek.

Keterbatasan memori pada manusia harus mampu diatasi oleh sistem

sehingga tidak banyak membuat user melakukan proses penyimpanan

memori.

Page 13: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

19

2.4 Unified Modelling Language (UML)

Lethbridge (2004, p169) menjelaskan Unified Modelling Language (UML)

merupakan bahasa grafis standar untuk permodelan software berorientasi objek. Satu

model menangkap set informasi mengenai sistem, satu diagram hanya member satu

sudut pandang suatu informasi. Jika menghapus sebuah elemen dari diagram maka

tetap tersimpan dalam model, jika menghapus elemen dari model maka akan

menghilang dari seluruh diagram. Sebuah model dapat menggiring software engineer

untuk memiliki wawasan tentang sistem, mereka dapat menganalisis model (manual

maupun menggunakan alat) untuk menemukan masalah yang lainnya. Diagram

sederhana yang dihasilkan dari model juga dapat membantu komunikasi dengan

klien dan pengguna.

UML merupakan suatu bahasa yang terdiri dari kata-kata, dan memiliki

aturan untuk menggabungkan kata-kata tersebut sehingga tercipta komunikasi,

Booch (2005). Sebuah pemodelan bahasa merupakan suatu bahasa dimana kata-kata

dan aturannya berfokus pada penggambaran sistem secara konseptual dan fisik.

Sebuah pemodelan bahasa UML telah menjadi bahasa standar untuk merencanakan

suatu aplikasi. Hasilnya didapatkan pengertian dari sistem tersebut.

Berikut beberapa model dalam UML yang akan digunakan pada

perancangan sistem.

2.4.1 Use-Case Diagram

Pemodelan use-case mengidentifikasi dan menggambarkan fungsi-

fungsi sistem dengan menggunakan alat yang disebut use-case. Use-case

adalah urutan langkah-langkah yang secara tindakan saling terkait (skenario),

baik terotomatisasi maupun secara manual untuk tujuan melengkapi satu

Page 14: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

20

tugas bisnis tunggal. Dalam bukunya Whitten (2004, p257), “Use-Case

Diagram adalah diagram yang menggambarkan interaksi antara sistem

dengan sistem eksternal dan pengguna”.

Ambler (2004, p113) use-case menggambarkan fungsi-fungsi sistem

dari sudut pandang pengguna eksternal dalam sebuah cara dan terminologi

yang mereka pahami. Selain itu use-case merupakan hasil penyusunan

kembali lingkup fungsionalitas sistem menjadi banyak pernyataan

fungsionalitas sistem yang lebih kecil. Use-case disajikan secara grafis

dengan elips horizontal dengan nama use-case muncul diatas, dibawah, atau

didalam elips tersebut.

Sebuah use-case mempresentasikan satu tujuan tunggal dari sistem

dan menggambarkan satu rangkaian kegiatan dan interaksi pengguna untuk

mencapai tujuan. Pembuatan use-case terbukti menjadi teknik yang sangat

bagus untuk memahami dan mendokumentasi persyaratan sistem dengan

lebih baik. Use-case sendiri bukan merupakan persyaratan fungsional tetapi

skenario yang disampaikan oleh use-case terdiri dari beberapa persyaratan.

Tabel 2.2 Bagian-Bagian Use-Case Diagram

No Gambar Nama Keterangan

1 ActorMenspesifikasikan himpunan peran yang pengguna mainkan ketika berinteraksi dengan use case

3 GeneralizationHubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor)

4 Include Menspesifikasikan bahwa use case sumber secara eksplisit

Page 15: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

21

5 ExtendMenspesifikasikan bahwa use case target memperluas perilaku dari use case sumber pada suatu titik yang diberikan

6 Association Apa yang menghubungkan antara objek yang satu dengan objek lainnya

7 System Menspesifikasikan paket yang menampilkan sistem secara terbatas

8 Use CaseDeskripsi dari urutan aksi–aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor

Berikut ini adalah contoh use-case diagram dalam sistem pemesanan

menu makanan.

Gambar 2.3 Use-Case Diagram Sistem Pemesanan

Page 16: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

22

2.4.2 Activity Diagram

Menurut Whitten(2004, p428), Activity Diagram adalah sebuah

diagram yang dapat digunakan unutk menggambarkan secara grafis aliran

proses bisnis, langkah-langkah sebuah use case atau logika behavior (metode)

objek.

Diagram aktivitas UML menurut Ambler (2004, p113) digunakan

untuk :

Mengeksplorasi logika.

Operasi yang kompleks

Aturan bisnis yang kompleks

Satu use-case

Beberapa use-case

Proses bisnis

Proses bersamaan

Proses software

Activity Diagram digunakan untuk memodelkan langkah-langkah

proses atau kegiatan dan menggambarkan kasus yang kompleks sebagai

sarana untuk menggambarkan perilaku kompleks dalam objek dan

menggambarkan secara rinci aliran dalam operasi.

Diagram ini serupa dengan flow chart dimana secara grafis diagram

ini menggambarkan aliran sekuensial dari kegiatan proses bisnis atau sebuah

use-case, tetapi diagram ini berbeda dari flow chart dimana diagram ini

menyediakan sebuah mekanisme untuk menggambarkan kegiatan yang

tampak secara pararel.

Page 17: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

23

Tabel 2.3 Bagian-Bagian Activity Diagram

No Gambar Nama Keterangan

1 Activity Memperlihatkan bagaimana masing-masing kelas antarmuka saling berinteraksi satu sama lain

2 Action State dari sistem yang mencerminkan eksekusi dari suatu aksi

3 Start State Bagaimana objek dibentuk atau diawali

4 End State Bagaimana objek dibentuk dan dihancurkan

5 State Transitio State transition menunjukan kegiatan apa berikutnya setelah suatu kegiatan

6Fork

Percabangan yang menunjukan aliran pada Activity Diagram

7 Join Penggabungan yang menjadi arah aliran pada Activity Diagram

8 Decision Pilihan untuk mengambil keputusan

9 Flow Final Aliran akhir

Berikut ini adalah contoh activity diagram dalam proses payment.

Page 18: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

24

act Payment

Select Payment

View Cashier Menu

Final

Confirm

View Payment

Start

Gambar 2.4 Activity Diagram Proses Payment

2.4.3 Class Diagram

Class Diagram menggambarkan struktur objek sistem, dimana

diagram ini menunjukkan kelas objek yang menyusun sistem dan juga

hubungan antara kelas objek tersebut.

Menurut Ambler (2004, p 47), UML class diagram menunjukkan

kelas pada sistem, hubungannya, dan operasi serta atribut dari kelas.

Class Diagram digunakan untuk:

Mengeksplorasi konsep domain dalam bentuk model domain.

Menganalisis persyaratan dalam bentuk analisis / model

konseptual.

Page 19: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

25

Menggambarkan desain rinci berorientasi objek atau object-based

software.

Sebuah model kelas terdiri dari diagram kelas satu atau lebih dan

mendukung spesifikasi yang menggambarkan elemen model, termasuk kelas,

hubungan antara kelas, dan interface.

Tabel 2.4 Pilihan Visibilitas dalam UML Class Diagram

Visibility Symbol Accessible toPublic + Semua objek yang terdapat

pada sistem dan dapat diakses di semua class

Protected # Dapat diakses oleh class itu sendiri dan class

turunannyaPrivate - Hanya dapat diakses oleh

class itu sendiriPackage ~ Class yang yang terdapat

dalam satu paket

Pada tabel 2.4, mengindikasikan visibilitas hanya pada model desain.

Visibilitas operasi atau atribut mendefinisikan tingkat mengakses objek, dan

UML mendukung empat jenis visibilitas.Visibilitas adalah permasalahan

desain yang penting.

Tabel 2.5 UML Multiplicity Indicators

Indicator Meaning0..1 Zero or one1 One only0..* Zero or more1..* One or moreN Only n (where n > 1)* Many0..n Zero to n (where n > 1)1..n One to n (where n > 1)n..m Where n and m both > 1n..* N or more, where n > 1

Page 20: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

26

Pada tabel 2.5, untuk setiap kelas yang terlibat dalam suatu hubungan,

selalu ada akan multiplicity. Hal ini dapat dilakukan pada semua jenis

hubungan baik dalam asosiasi maupun agregasi.

Tabel 2.6 Bagian-Bagian Class Diagram

No Gambar Nama Keterangan

1 Association Apa yang menghubungkan antara objek yang satu dengan objek lainnya.

2 Aggregation Upaya untuk menghindari asosiasi dengan lebih dari 2 objek.

3Composite

Composite adalah varian yang lebih kuat dari “memiliki” atau hubungan asosiasi; composite lebih spesifik dari agregasi.

4 ClassHimpunan dari objek-objek yang berbagi atribut serta operasi yang sama.

7 Dependency Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent).

2.4.4 Sequence Diagram

Berdasarkan teori yang dikemukakan oleh 2 ahli, sequence diagram

memiliki pengertian sebagai berikut:

1. Diagram sekuensi secara grafis menggambarkan bagaimana objek

berinteraksi dengan satu sama lain melalui pesan pada eksekusi

sebuah use case atau operasi. Diagram ini mengilustrasikan

Page 21: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

27

bagaimana proses terkirim dan diterima di antara objek dan dalam

sekuensi apa. Whitten (2004, p419).

2. Teknik pemodelan yang dinamis seperti UML diagram

komunikasi yamg digunakan untuk memberi gambaran suatu

logika dan skenario sistem. Ambler (2004, p80).

Fungsi UML diagram sekuensi adalah biasanya digunakan untuk

kegiatan kegiatan sebagai berikut :

Validasi dan menyempurnakan logika dan kelengkapan

penggunaan suatu skenario. Menunjukkan deskripsi cara bahwa

sistem anda bisa digunakan.

Menjelajahi desain karena menyediakan jalan secara langkah

visual melalui permintaan dari operasi yang didefinisikan dari

kelas.

Memberikan nuansa kelas mana dalam aplikasi yang akan menjadi

kompleks.

Mendeteksi hambatan dalam desain berorientasi obyek, melihat

pesan apa yang sedang dikirim ke objek, dan dengan melihat kira-

kira berapa lama waktu yang dibutuhkan untuk menjalankan

metode, serta memahami tentang di mana perlu mengubah desain

untuk mempermudah jalannya sistem.

Berikut ini adalah contoh model sequence diagram dalam sistem

pemesanan menu makanan.

Page 22: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

28

sd Payment

System::TampilanKasir System::Form_Bayar

Cashier

System::MejaUITampilanKasir

Selec Table toPayment()

requestTable()

cekTable()

getTable()

cekPayment()

getPayment()

Display Payment()

Confirm Payment()

confirm()

setEmpty()

Table Has BeenClear ()

Gambar 2.5 Sequence Diagram Proses Payment

2.5 Jaringan (Network)

Leinwan (1996, p4) jaringan adalah kumpulan dari device dan sirkuit untuk

melakukan transfer data dari satu komputer ke komputer lain. Dimana

memungkinkan user melakukan sharing data sumber computer dari tempat yang

berbeda.

Sofana (2012, p107), jaringan komputer berawal dari time-sharing networks,

yaitu “rangkaian” terminal yang terhubung dengan komputer sentral yang disebut

mainframe. Norton (1999, p5), jaringan komputer adalah sebuah sistem dimana

terdiri dari komputer dan beberapa perangkat jaringan lainnya yang bekerja secara

Page 23: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

29

bersama-sama untuk mencapai tujuan yang sama. Tujuan dari pembuatan sebuah

jaringan komputer adalah :

1. Dapat menghemat perangkat keras (hardware) seperti pemakaian

printer, scanner, CPU.

2. Dapat melakukan komunikasi dengan murah seperti instant

messanging, chatting dan surat elektronik.

3. Mendapat akses informasi lebih cepat seperti web browsing.

4. Dapat melakukan perpindahan data (Transferring data).

2.5.1 LAN (Local Area Network)

Lukas (2006, p12), Local Area Network adalah jaringan yang

menyediakan hubungan komunikasi berbagai peralatan sehingga peralatan

yang ada dalam jaringan mampu member dan menerima informasi dari

peralatan lainnya yang ada di dalam satu jaringan lokal area. Jaringan LAN

memiliki karakteristik yaitu :

1. Jangkauan yang kecil, khususnya untuk satu gedung atau satu

area.

2. LAN dimiliki oleh organisasi yang sama dimana dapat

menghubungkan satu peralatan ke peralatan yang lain.

3. Tingkat kepadatan data pada LAN sangat besar.

4. Konsep komunikasi pada LAN menggunakan cara broadcast.

Dengan demikian LAN dapat di artikan sebagai jaringan yang

meliputi suatu area geografis yang relative kecil (1 lantai, gedung kecil).

LAN mengirimkan dan menerima data pada kecepatan yang lebih cepat dari

pada kecepatan yang ada pada aliran kabel telepon, yakni kecepatan transfer

rate data 10, 100 atau 100 Mbit/s pada basis teknologi IEEE 802.3 Ethernet

Page 24: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

30

yang menggunakan perangkat switch. Selain itu LAN memiliki karakteristik

dimana tingkat error yang lebih rendah dibandingkan WAN.

LAN digunakan untuk menghubungkan workstation, perangkat

jaringan, terminal, dan perangkat lain dalam area yang terbatas. Standar LAN

menentukan perkabelan dan pensinyalan pada layer fisik dan layer data link

dalam model OSI. Ethernet, FDDI dan Token Ring menggunakan teknologi

LAN.

Gambar 2.6 Topologi LAN Sederhana

2.5.2 Wireless LAN

Wireless LAN adalah metode menggabungkan dua atau lebih

komputer menjadi satu jaringan, tanpa menggunakan kabel. WLAN

menggunakan teknologi spread-spectrum berdasarkan pada gelombang radio

untuk melakukan komunikasi antar device pada ruang yang terbatas. WLAN

mengizinkan pengguna melakukan aktivitas mobilitas dalam jangkauan area

nirkabel. Gambar tabel berikut menunjukan perbedaan standar IEEE 802.11x

yang digunakan WLAN (CISCO Sytems, 2008a).

Page 25: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

31

Gambar 2.7 Perbandingan Standar IEEE 802.11x

Sumber Gambar :

http://cnap.binus.ac.id/ccna/prot-doc/Exploration3/theme/cheetah.html?

cid=1300000000&l1=en&l2=none&chapter=7

IEEE adalah badan internasional yang mendokumentasikan riset-riset

teknologi oleh para ahli yang kemudian dijadikan standar internasional.

Dalam kerjanya IEEE mengeluarkan salah satu standar internasional untuk

LAN. IEEE mendefinisikan satu standar LAN dengan meluncurkan proyek

802. Proyek 802 membuat standar jaringan untuk komponen fisik dari

jaringan yang terletak pada lapis fisik dan data link pada model OSI. Standar

ini disebut spesifikasi 802, yang mendefinisikan bagaimana kartu jaringan

dapat mengakses dan mentransfer data melalui media fisik, termasuk

didalamnya proses pembuatan koneksi dan memutuskan koneksi.

IEEE 802 terbagi menjadi 12 kategori sebagai berikut:

1. 802.1 Internetworking

2. 802.2 Logical Link Control

3. 802.3 Carrier Sense Multiple Access with Collision Detection

CSMA/CD

4. 802.4 Token Bus LAN

Page 26: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

32

5. 802.5 Token Ring LAN

6. 802.6 Metropolitan Area Network (MAN)

7. 802.7 Broadband Technical Advisory

8. 802.8 Fiber-Optic Technical Advisory

9. 802.9 Integrated Data/Voice Network

10. 802.10 Network Security

11. 802.11 Wireless LAN

12. 802.12 Demand Priority Access LAN, 100 Base VG-any LAN

Standar IEEE 802.11 mengkhususkan pengembangan teknologi

lapisan fisik dan datalink wireless LAN (lapisan 1 dan 2 OSI).

2.5.3 Wi – Fi

Berdasarkan Kamus Lengkap Jaringan Komputer (2004) Wi-Fi

merupakan kependekan dari Wireless Fidelity dan merupakan aliansi industri

yang mempromosikan penggunaan jaringan nirkabel (Wireless LAN/WLAN)

untuk jaringan yang didasari pada spesifikasi IEEE 802.11.

2.5.3.1 Spesifikasi Wi-Fi

Saat ini terdapat empat variasi dari 802.11, yaitu 802.11a,

802.11b, 802.11g dan 802.11n.

Berikut detail dari masing-masing variasi tersebut :

Tabel 2.7 Variasi 802.11

Kecepatan Frekuensi Band Sesuai Spesifikasi802.11b 11 Mbps 2.4 GHz B802.11a 54 Mbps 5 GHz A802.11g 54 Mbps 2.4 GHz b, g802.11n 100 Mbps 2.4 GHz b , g , n

Page 27: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

33

Sofana (2012, p447) dalam pengembangan teknologi Wi – fi

terbaru berdasarkan spesifikasi Pre-802.11n terdapat teknologi yang

disebut MIMO (Multiple Input Multiple Output) yang dapat

meningkatkan throughput, reliabilitas serta jumlah client yang

terkoneksi. Selain itu daya tembus terhadap penghalang lebih baik,

jangkauan lebih luas dan menghasilkan kecepatan transfer data yang

lebih besar.

Secara teknis operasional, Wi-Fi merupakan salah satu varian

teknologi komunikasi dan informasi yang bekerja pada jaringan dan

perangkat WLAN (Wireless Local Area Network). Dengan kata lain,

Wi-Fi adalah sertifikasi merek dagang yang diberikan pabrikan

kepada perangkat telekomunikasi (Internet) yang bekerja di jaringan

WLAN dan sudah memenuhi kualitas kapasitas interoperasi yang

dipersyaratkan sehingga produk yang telah mendapat persetujuan dari

aliansi tersebut menerima sertifikat segel interoperabilitas Wi-Fi.

2.5.4 Access Point (AP)

Access point adalah peralatan yang digunakan wireless LAN. AP

bertugas mengatur dan menghubungkan koneksi beberapa peralatan Wi – Fi.

AP dapat dianalogikan dengan hub, hanya saja digunakan pada wireless

LAN. AP juga dapat menghubungkan wireless LAN dengan wired LAN.

2.5.4.1 SSID

Di dalam peralatan wi-fi terdapat SSID (Service Set Identifier)

merupakan network ID atau nama untuk jaringan wireless. Beberapa

Page 28: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

34

vendor menyebut SSID sebagai Domain ID. Setiap jaringan wi-fi

harus memiliki SSID yang unik serta channel yang sama agar antar

device dapat saling berkomunikasi.

2.5.4.2 Otentikasi dan Enkripsi Wireless

Di dalam jaringan wireless terdapat beberapa metode

otentikasi dan enkripsi. Yaitu :

WEP (Wired Equivalent Privacy)

Fitur keamanan standar untuk peralatan wireless.

Dalam WEP menggunakan 64bit dan 128bit. Ada dua cara

untuk memasukkan WEP key, disetkan sendiri atau generate

menggunakan passphrase. Passphrase akan generate automatic

WEP key untuk masukkan abjad. WEP hanya boleh

memasukkan 0-9 dan A-F(hexadecimal). Kepanjangan key

bergantung jenis securiy, jika 64bit memasukkan 10key, dan

untuk 128bit memasukkan 26key.  Tak boleh kurang dan lebih.

WPA - PSK (Wi-Fi Protected Access – Pre Shared Key)

WPA-PSK adalah securiti yang lebih update dari WEP.

WPA-PSK mempunyai decryption yang ada pada WEP. Serta

menambahkan security yang lebih pada wireless yaitu dengan

menggunakan key yang akan diubah secara otomatis dan

diotentikasi secara teratur. WPA-PSK masih bisa dicrack atau

disadap, tetapi mengambil masa lebih lama dari WEP. Panjang

key adalah 8-63, anda boleh memasukkan sama ada 64

hexadecimal atau ASCII(seperti biasa).

Page 29: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

35

WPA2 - PSK(Wi-Fi Protected Access 2)

Dalam WPA2-PSK beberapa teknisnya hampir sama

dengan WPA namun pada enkripsinya yang dipakai adalah

Advanced Encryption Standard (AES) yaitu suatu enkripsi

dengan menggunakan algoritma Rijndael. Dalam proses

enkripsi input, diperlukanlah empat macam operasi yang

dilakukan berulang-ulang dalam beberapa putaran dan

menggunakan kunci cipher.

2.5.4.3 Metode Koneksi Access Point

Terdapat 2 metode koneksi pada access point, yaitu:

1. Ad-hoc

Sistem ad-hoc adalah sistem peer-to-peer, dalam arti

satu komputer dihubungkan dengan satu komputer lain secara

langsung tanpa menggunakan Access Point. Pada sistem ad-

hoc tidak lagi mengenal sistem central (yang biasanya

difungsikan pada Access Point). Sistem ad-hoc hanya

memerlukan satu buah komputer yang memiliki nama SSID

(Service Set Identifier) atau sederhananya nama sebuah

network pada sebuah card / komputer.

2. Infrastruktur

Sistem infrastruktur menggunakan Access Point untuk

menghubungkan komputer-komputer ke dalam suatu jaringan.

Jadi setiap komputer yang hendak berhubungan satu sama lain

harus melewati Access Point terlebih dahulu, baru kemudian

dapat menggunakan sumber daya yang ada pada jaringan.

Page 30: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

36

2.6 Socket Programming

Socket Programming adalah protokol yang mempunyai metode untuk

membuat koneksi antar perangkat dalam jaringan yang dibuat dengan bahasa

pemrograman. Berikut ini adalah istilah istilah yang ada dalam socket

programming.

2.6.1 Socket

Socket adalah mekanisme komunikasi yang memungkinkan terjadinya

pertukaran data antar program atau proses, baik dalam satu mesin maupun

antar mesin. Gaya pemrograman socket sendiri berawal dari sistem Unix

BSD yang terkenal dengan kepeloporannya pada bidang penanganan

jaringan, sehingga sering disebut BSD Socket. Socket pertama kali

diperkenalkan di sistem Unix BSD versi 4.2 tahun 1983 sebagai kelanjutan

dari implementasi protokol TCP/IP yang muncul pertama kali pada sistem

Unix BSD 4.1 pada akhir 1981. Hampir setiap variant Unix dan Linux

mengadopsi BSD Socket. Pada lingkungan Unix, socket memberikan

keleluasaan pemrograman gaya Unix yang terkenal dengan ideologinya.

Komunikasi antar program dapat berlangsung lewat penggunaan deskriptor

file standar Unix dengan bantuan socket.

Keunggulan dari penggunaan socket adalah dapat melakukan

komunikasi antar proses/program melalui jaringan berbasis yang TCP/IP

tentunya, bahkan dengan program lain yang berjalan pada platform non-unix

seperti Microsoft Windows, sepanjang program tersebut berbicara dalam

protokol transfer yang sama. Fasilitas-fasilitas yang disediakan oleh mesin

Page 31: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

37

unix seperti rlogin, ssh, ftp, dan lain-lain menggunakan socket sebagai sarana

komunikasi mereka. Socket dibentuk dan digunakan dengan cara yang

berbeda. Komunikasi socket terutama diciptakan untuk tujuan menjembatani

komunikasi antara dua buah program yang dijalankan pada mesin yang

berbeda. Kelebihan lain dari komunikasi socket adalah mampu menangani

banyak klien sekaligus.

2.6.2 Port

Aplikasi Internet cukup banyak, agar tidak “bentrok” satu sama lain

maka masing-masing aplikasi telah diberi jalur khusus yang disebut i. Port

dapat dianalogikan dengan “virtual slot” di dalam “stack” TCP/UDP. Port

digunakan untuk memetakan koneksi antara 2 host, antara layer TCP/UDP

dan aplikasi aktual yang berjalan pada host. Sofana (2012, p268).

Port diberi nomor 0 s.d 65535. Port dengan range 0-1023 dinamai

“reserved” atau “privileged” port. Artinya port-port di wilayah tersebut

sudah digunakan untuk berbagai aplikasi yang khas. Seperti telnet, email,

web, ftp dan sebagainya. Sedangkan sisanya (1024 s.d 65535) disebut sebagai

“dynamic” atau “unprivileged” port.

Port 0 s.d 1023 hampir selalu digunakan sebagai port untuk aplikasi

server yang sudah umum. Sebagai contoh, server FTP menggunakan port

21/20, SMTP menggunakan port 25, HTTP menggunakan port 80, dan

seterusnya. Port dengan range 1024 s.d 65535 biasanya bersifat dinamis.

Sebagai contoh, ketika client melakukan koneksi ke server maka port yang

digunakan oleh client adalah port dinamis.

Dalam pemrograman socket terdapat dua tipe socket yang paling

sering digunakan yaitu “Stream Socket” dan “Datagram Socket” yang lebih

Page 32: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

38

dikenal dengan “SOCK_STREAM” dan “SOCK_DGRAM”. Datagram

Socket disebut dengan “Connectionless socket” (menggunakan protocol

UDP) sedangkan Stream Socket (menggunakan protocol TCP) lebih reliable

dibandingkan Datagram Socket karena terciptanya komunikasi dua arah yang

memungkinkan kecilnya data error pada saat transmisi data.

2.6.2.1 TCP

TCP (Transmision Control Protocol) yaitu Protokol yang

bertanggung jawab untuk pengiriman data dari sumber ke tujuan

dengan benar. TCP dapat mendeteksi kesalahan atau hilangnya data

dan melakukan pengiriman kembali sampai data diterima dengan

lengkap. TCP selalu meminta konfirmasi setiap kali data dikirim,

untuk memastikan apakah data telah sampai di tempat tujuan.

Kemudian TCP akan mengirimkan data berikutnya atau melakukan

retransmisi (pengiriman ulang) apabila data sebelumnya tidak sampai

atau rusak. Data yang dikirim dan diterima kemudian di atur

berdasarkan nomor urut

Tugas dari TCP adalah menerima pesan elektronik dengan

panjang sembarang dan membaginya ke dalam bagian – bagian

berukuran 64 kb. Dengan adanya pembagian pesan tersebut,

perangkat lunak yang mengontrol komunikasi jaringan dapat

mengirim tiap bagian dan menyerahkan prosedur pemeriksaaan

bagian demi bagian. Sukmaaji (2008, p22).

Protokol TCP memliki karakteristik sebagai berikut:

1. Connection oriented

2. Reliable

Page 33: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

39

3. Byte stream service

TCP merupakan protocol yang bersifat connection oriented,

artinya sebelum proses transmisi data terjadi, dua aplikasi TCP harus

melakukan pertukaran control informasi (handshaking)

TCP juga bersifat reliable karena menerapkan fitur deteksi

kesalahan dan retransmisi apabila ada data yang rusak. Sehingga

keutuhan data dapat terjamin.. Jika terjadi kerusakan selama transmisi

maka program pengirim hanya perlu mengulang transmisi bagian itu

dan tidak perlu mengulang dari awal. Sedangkan byte stream service

artinya paket akan dikirimkan ke tujuan secara berurutan

(sequencing).

Untuk mengetahui tujuan tersebut (sequencing, error

checksum, dan retransmission) pada header protocol TCP telah

disediakan field khusus. Perhtikan bagan segmen TCP berikut ini.

Segmen TCP terdiri atas header dan data. Kita bisa melihat ada field

khusus untuk Sequence, Checksum, Acknowledgement. Sofana(2012,

p249-250).

Gambar 2.8 Bagan Segmen TCP

Keterangan:

1. Source port (16 bits), Berisi informasi port pengirim.

Page 34: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

40

2. Destination port (16 bits), Berisi informasi port penerima.

3. Sequence number (32 bits), Berupa sequence number yang

terdiri atas dua kondisi berikut:

a) Jika flag SYN di-set (yang ada di bagian field Flags),

maka field ini berisi awal (inisial) dari sequence

number.

b) Jika flag SYN tidak di-set, maka nilai pada field ini

merupakan sequence number.

4. Acknowledgement atau ACK (32 bits), Jika flag ACK di-

set, maka nilai pada field ini adalah nilai sequence number

berikutnya di-“harapkan” oleh penerima.

5. Data offset (4 bits), Menunjukan ukuran TCP header.

Total header sepanjang 32-bit words. Ukuran minimum

header adalah 5 words. Data offset juga merupakan awal

dari data.

6. Reserved (4 bits), Untuk keperluan tertentu di masa yang

akan datang. Nilai pada field ini semestinya adalah zero

(nol).

7. Flags (8 bits), Field untuk control bit (masing - masing

1bit), yaitu:

a) CWR (Congestion Window Reduced)

b) ECE (ECN-Echo)

c) URG (URGent)

d) ACK (ACKnowledgement)

e) PSH (Push Function)

Page 35: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

41

f) RST (Reset)

g) SYN (Synchronize)

h) FIN (Finish)

8. Window (16 bits), Menunjukan ukuran window penerima

(receive window). Agar data dapat diterima dengan baik

maka di perlukan pengaturan ukuran jumlah byte optimal

yang ditentukan oleh field ini.

9. Checksum (16 bits), Digunakan untuk error-checking dari

header dan data.

10. Urgent pointer (16 bits), Digunakan untuk sequence

number yang menandakan urgent data byte terakhir.

11. Options (Variable bits), Berisi berbagai opsi berupa angka

sebagai berikut:

o 0 – End of option list

o 1 – No operation (NOP, Padding)

o 2 – Maximum segment size

o 3 – Window scale

o 4 – Selective Acknowledgement

o 5, 6, 7

o 8 - Timestamp

12. Data, Berisi data yang dikirim.

Jadi dapat disimpulkan bahwa TCP menyediakan layanan

transfer yang dapat diandalkan dengan mengirimkan paket datagrams

per kelompok antar server dan client dengan pemeriksaan.

Keuntungan TCP:

Page 36: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

42

- Mampu menangani paket yang hilang

- Mampu menangani kedatangan paket ganda.

- Dapat mengatasi penerimaan paket secara beriringan.

- Menyediakan alur penerimaan paket.

- Data yang diterima dapat diepercaya dan diandalkan.

Kelemahan TCP :

- Waktu lebih lama.

- Paket yang dikirim besar.

Alur program TCP pada pemrograman socket :

Gambar 2.9 Alur Program Socket TCP

Fungsi socket protocol TCP

Page 37: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

43

1. socket(AF_INET, SOCK_STREAM, 0), berfungsi untuk membuat

socket dan parameter family yang digunakan adalah AF_INET

yaitu internet protocol dan socket yang digunakan adalah

SOCK_STREAM yang berfungsi untuk membuka socket pada

TCP.

2. htonl(), meng-convert unsigned integer ke network byte order.

3. inet_ntoa(), ntoa singkatan 'network to ascii', nilai return-nya

berupa string dari alamat yang dilewatkan.

4. inet_addr(), meng-convert string menjadi network byte order.

5. bind(), digunakan pada pihak server, untuk membuka 'port'

komunikasi.

6. write(), send(), bertugas mengirimkan data.

7. read(), recv(), bertugas menerima data.

8. connect(), digunakan pada pihak client, untuk mengadakan

koneksi ke server.

9. listen(), menunggu koneksi socket.

10. accept(), menerima koneksi socket.

11. close() dan shutdown(), digunakan untuk menutup atau

mengakhiri koneksi.

2.6.3 Arsitektur Jaringan

Sistem operasi jaringan sangat menentukan bentuk arsitektur jaringan

yang dibangun. Ada dua macam arsitektur jaringan, yaitu peer to peer dan

client-server.

2.6.3.1 Peer to Peer

Page 38: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

44

Dalam beberapa hal, komunikasi peer to peer diterapkan

dengan member masing-masing titik komunikasi kemampuan sebagai

klien maupun server. Dengan demikian, masing-masing titik dapat

menjadi server sekaligus klien.

Setiap komputer dapat menerima dan memberikan access

dari/ke komputer lain. Peer to peer banyak diimplementasikan pada

LAN. Walaupun dapat juga diimplementasikan pada MAN, WAN,

atau Internet, namun hal ini kurang lazim. Salah satu alasannya adalah

masalah manajemen security. Cukup sulit mengawasi security pada

jaringan peer to peer manakala pengguna jaringan komputer sudah

banyak. Contoh aplikasi yang menggunakan metode peer to peer

adalah winpopup dan Netmeeting pada windows.Untuk melakukan

komunikasi tidak memerlukan server untuk menjembataninya.

Arifin (2005, p8), Jaringan peer to peer memiliki beberapa

keuntungan dan kekurangan. Beberapa keuntungan dari jaringan peer

to peer yaitu :

o Mudah diinstal dan dikonfigurasi.

o Komputer tidak bergantung pada server.

o User dapat mengontrol resource yang akan dibagikan ke

user lain.

o Lebih relative murah dibandingkan client-server.

o Tidak memerlukan administrator khusus.

o Tidak membutuhkan software sistem operasi tambahan

(sistem operasi yang secara khusus bertindak sebagai

Page 39: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

45

server seperti Windows 2000 server, Windows NT 4.0,

dsb).

o Lebih efektif karena jumlah pengguna hanya 10.

Dan ada beberapa kekurangannya diantaranya :

o Hanya menggunakan sekuritas jaringan untuk sebuah

resource pada suatu saat.

o User harus mengingat beberapa password untuk beberapa

resource.

o User harus melakukan backup pada masing-masing

komputer untuk melindungi data yang tersimpan pada

masing-masing komputer.

o Performa computer yang memiliki resource akan menurun

ketika resource tersebut diakses.

o Penyimpanan data tidak terpusat pada satu komputer,

karena tersebar pada masing-masing komputer.

2.6.3.2 Client Server

Client server adalah jaringan komputer yang salah satu (boleh

lebih) komputernya difungsikan sebagai server untuk melayani

komputer lain. Komputer yang dilayani oleh server disebut client.

Layanan yang diberikan bisa berupa akses web, e-mail, file, atau yang

lain. Client server banyak dipakai oleh Internet dan Intranet.

Didalam suatu jaringan, hubungan klien server menyediakan

suatu layanan untuk menghubungkan program-program yang

Page 40: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

46

terdistribusi pada lokasi yang berjauhan. Sebagai contoh ketika

mengakses halaman web di internet maka browser akan mengirimkan

permintaan ke web server dan web server yang menerima permintaan

akan mencari halaman yang diminta, setelah web server menemukan

halaman tersebut maka akan di kirim kembali ke browser.

Arifin (2005, p8), Jaringan client-server memiliki beberapa

keuntungan dan kekurangan. Beberapa keuntungan dari jaringan

client-server yaitu :

o Menyediakan user account, sistem keamanan dan access

control secara terpusat.

o Adanya penyediaan alat yang powerfull akan berakibat

efisiensi pengaksesan resource jaringan menjadi lebih baik.

o User hanya perlu satu password untuk mengakses beberapa

resource yang tersedia.

Dan ada beberapa kekurangannya diantaranya :

o Jika server mengalami kerusakan maka jaringan tidak

dapat digunakan.

o Dibutuhkan user yang memiliki kemampuan untuk

mengelola server.

o Biaya yang dibutuhkan lebih besar dari jaringan peer to

peer.

2.7 Java

Page 41: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

47

Java adalah bahasa pemrograman yang dikembangkan oleh Sun Microsistem

di California pada tahun 1991, yang dipimpin oleh James Gosling, yang

menyediakan animasi dan interaksi World Wide Web. Secara umum nama Java

adalah sekelompok software tool yang digunakan untuk menciptakan dan

menerapkan executable content menggunakan bahasa pemrograman Java.

Bahasa pemrograman Java adalah bahasa pemrograman berbasis object

oriented yang modern. Java memiliki sintaks yang mirip dengan bahasa C dan C++,

tetapi Java menghilangkan banyak kelebihan C dan C++ yang menjadikan C dan C+

+ menjadi kompleks, membingungkan dan tidak aman, December (1995, p.8). Java

platform dikembangkan untuk mengakomodasikan masalah pembangunan piranti

lunak untuk media yang terhubung ke jaringan. Java dirancang untuk mendukung

arsitektur komputer yang berbeda-beda. Untuk mencapai kebutuhan tersebut, sebuah

program yang telah dikompilasi harus dapat dipindahkan di dalam jaringan, bekerja

di client dan menjamin keamanan client yang memakainya. Java merupakan salah

satu bahasa pemrograman yang multi-platform, maksudnya bahasa pemrograman ini

dapat dijalankan pada sistem operasi yang berbeda-beda. Namun untuk dapat

menjalankan program Java, sistem operasi tersebut harus memiliki Java Virtual

Machine (JVM) yang sudah ter-install di dalamnya. Banyak software yang

membantu untuk membuat program dalam bahasa pemrograman Java, salah satu

software yang menggunakan bahasa pemrograman Java yaitu eclipse.

2.7.1 Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment)

untuk mengembangkan perangkat lunak dan dapat dijalankan di semua

platform (platform-independent).

Berikut ini adalah sifat dari eclipse:

Page 42: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

48

1. Multi-Platform

Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris,

AIX, HP-UXdan Mac OS X.

2. Mulit-Language

Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi

eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman

lain seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

3. Multi-Role

Selain sebagai IDE untuk pengembangan aplikasi. Eclipse pun bisa

digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak

seperti dokumentasi, pengujian perangkat lunak, pengembangan web, dan

lain sebagainya.

Pada saat ini, eclipse merupakan salah satu IDE favorit karena gratis

dan open source. Open Source berarti setiap orang boleh melihat kode

pemrograman perangkat lunak ini. Selain itu, kelebihan dari eclipse yang

membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh

pengguna dengan membuat komponen yang disebut plug-in. Didalam eclipse

juga terdapat plug-in yang dimana digunakan untuk menguji fungsionalitas

dari sebuah coding, nama plug-in tersebut adalah CodePro Anlytix.

2.7.1.1 CodePro Analytic

Testing yang dilakukan dengan mengukur metric yang terdiri

dari beberapa kategori termasuk basics, complexity, dependency dan

inheritance. Setiap metric yang nilainya sudah melebihi batas yang

ditentukan akan diberi warna yang berbeda. Hasil yang ditampilkan

Page 43: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

49

berikut merupakan ukuran metric secara keseluruhan dalam satu

program.

1. Average Block Depth

Average Block Depth adalah rata-rata panjang baris kode

pada suatu fungsi yang didefinisikan dalam elemen target / class.

2. Average Cyclomatic Complexity

Average Cyclomatic Complexity adalah rata-rata

kompleksitas siklomatik dari masing-masing fungsi yang

didefinisikan dalam elemen target/class. Kompleksitas cyclomatic

dari fungsi tunggal adalah sebuah ukuran angka dari jalur yang

berbeda pada saat fungsi dipanggil. Hal ini diukur dengan

menambahkan satu jalur untuk fungsi dengan masing-masing jalur

yang dibuat oleh pernyataan bersyarat (seperti "if" dan "for") dan

operator (?:).

3. Average Lines Of Code Per Method

Average Lines Of Code Per Method adalah rata-rata

jumlah baris kode dalam setiap fungsi yang didefinisikan dalam

elemen target.Metrik ini mencakup rincian tentang jumlah

minimum dan maksimum dari baris kode dalam salah satu fungsi.

4. Average Number of Constructors Per Type

Average Number of Constructors Per Type adalah rata-rata

jumlah konstruktor yang ditetapkan untuk setiap tipe yang

didefinisikan dalam elemen target. Metrik ini mencakup rincian

tentang jumlah minimum dan maksimum konstruktor

didefinisikan oleh tipe.

Page 44: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

50

5. Average Number of Fields Per Type

Average Number of Fields Per Type adalah rata-rata

jumlah field yang yang didefinisikan untuk setiap jenis tipe

didalam elemen target.Metrik ini mencakup rincian tentang

jumlah minimum dan maksimum dari field yang didefinisikan

oleh tipe.

6. Average Number of Methods Per Type

Average Number of Methods Per Type adalah rata-rata

jumlah metode yang didefinisikan untuk setiap jenis tipe dalam

elemen target.Metrik ini mencakup rincian tentang jumlah

minimum dan maksimum dari fungsi yang didefinisikan oleh tipe.

7. Average Number of Parameters

Average Number of Parameters adalah rata-rata jumlah

parameter yang ditetapkan untuk fungsi (tetapi bukan konstruktor)

didefinisikan dalam elemen target.Metrik ini mencakup rincian

tentang jumlah minimum dan maksimum dari parameter yang

didefinisikan oleh fungsi. Hal ini juga memberikan rincian tentang

jumlah fungsi dari masing-masing ukuran tertentu.

8. Comments Ratio

Comments Ratio adalah rasio dari jumlah baris kode.

Secara khusus, itu dihitung sebagai berikut:

[Number of Comments] / [Lines of Code]

9. Efferent Couplings

Efferent Couplings adalah jumlah tipe dalam elemen target

/ class yang bergantung pada tipe luar elemen target / class.

Page 45: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

51

10. Lines of Code

Lines of Code adalah jumlah baris dalam elemen target

yang berisi karakter selain spasi dan komentar.

11. Number of Characters

Number of Characters adalah hitungan sederhana jumlah

karakter dari sumberkode yang terkait dengan unsur-unsur target.

Sumber kodeyang berhubungan dengan elemen meliputi setiap

comment Javadoc yang mungkin mendahului elemen.

12. Number of Comments

Number of Comments adalah jumlah komentar. Ini bukan

hitungan jumlah baris yang berisi komentar, multi-baris komentar

dihitung sebagai satu baris tidak pentingseberapa banyak baris

yang mereka tempati.Metrik ini mencakup rincian berdasarkan

jenis komentar: end-of-line, multi-line, dan Javadoc.

13. Number of Constructors

Number of Constructors adalah jumlah konstruktor

didefinisikan dalam elemen target.Metrik ini termasuk gangguan

berdasarkan visibilitas konstruktor(public, package, protected or

private).

14. Number of Fields

Number of Fields adalah jumlah bidang yang didefinisikan

dalam elemen target.Metrik ini termasuk gangguan didasarkan

pada kedua lingkup dari lapangan (static or instance) dan

visibilitas dari lapangan (public, package, protected or private).

15. Number of Lines

Page 46: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

52

Number of Lines adalah hitungan sederhana jumlah baris

dalam elemen target, termasuk baris kosong.

16. Number of Methods

Number of Methods adalah jumlah fungsi yang

didefinisikan dalam elemen target.Metrik ini termasuk gangguan

didasarkan pada kedua lingkup fungsi(static or instance)dan

visibilitas dari fungsi (public, package, protected or private).

17. Number of Packages

Number of Packages adalah jumlah paket yang

didefinisikan dalam elemen target.

18. Number of Semicolons

Number of Semicolons adalah hitungan sederhana jumlah

titik koma dalam sumber kode yang terkait dengan unsur-unsur

target. Titik koma yang terjadi di dalamcomment tidak dihitung,

tetapi titik koma yang berada pada akhir deklarasi paket dan impor

dihitung.

19. Number of Types

Number of Types adalah jumlah jenis tipe didefinisikan

dalam elemen target.Metrik ini mencakup rincian berdasarkan

apakah jenisnya adalah kelas atau interface.

20. Weighted Methods

Weighted Methodsadalah jumlah kompleksitas siklomatik

dari masing-masing fungsi yang didefinisikan dalam elemen

target.Kompleksitas cyclomatic dari fungsi tunggal adalah sebuah

Page 47: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

53

ukuran angka dari jalur yang berbeda pada saat fungsi dipanggil.

Hal ini diukur dengan menambahkan satu jalur untuk fungsi

dengan masing-masing jalur yang dibuat oleh pernyataan

bersyarat (seperti "if" dan "for") dan operator (such? :).

2.8 Android

Safaat (2012, p1) Android adalah sebuah sistem operasi untuk perangkat

mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi.

Android merupakan sistem operasi pertama yang memiliki platform mobile lengkap,

terbuka dan bebas. Berikut ini adaalah penjelasan platform pada android :

1. Complete Platform (Lengkap) : para desainer dapat melakukan

pendekatan yang komprehensif ketika sedang mengembangkan platform

android. Android merupakan sistem operasi yang aman dan banyak

menyediakan tools dalam membangun software dan memungkinkan

untuk peluang pengembangan aplikasi

2. Open Source Platform (Terbuka) : platform android di sediakan melalui

lisensi open source pengembang dapat dengan bebas untuk

mengembangkan aplikasi. Andoid sendiri menggunakan Linux Kernel

2.6.

3. Free Platform (Bebas) : android adalah platform atau aplikasi yang bebas

untuk develop. Tidak ada lisensi atau biaya royalti untuk dikembangkan

pada platform android. Tidak ada biaya keanggotaan yang diperlukan.

Tidak diperlukan biaya pengujian. Tidak ada kontrak yang diperlukan.

Aplikasi untuk android dapat didistribusikan dan diperdagangkan dalam

bentuk apapun.

Page 48: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

54

Beberapa fitur – fitur android yang paling penting adalah :

1. Framework aplikasi yang mendukung penggantian komponen dan

reuseable.

2. Mesin virtual dalvik dioptimalkan untuk perangkat mobile.

3. Integrated browser berdasarkan engine open source webkit.

4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D

berdasarkan spesifikasi opengl ES 1,0 (optional akselerasi hardware).

5. SQLite untuk penyimapanan data.

6. Media support yang mendukung audio, video dan gambar (MPEG4,

H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM telephony (tergantung

hardware).

7. Bluetooth, EDGE, 3G dan Wi-Fi (tergantung hardware).

8. Kamera, GPS, kompas, dan accelerometer (tergantung hardware).

9. Lingkungan development yang lengkap dan kaya termasuk perangkat

emulator, tools untuk debugging, profil dan kinerja memori dan plug-in

untuk IDE Eclipse.

2.8.1 Arsitektur Android

Secara garis besar arsitektur android berfungsi mempermudah

penggunaan kembali komponen yang sudah digunakan sebelumnay. Dan

dapat dijelaskan dan digambarkan sebagai berikut :

1. Applications and Widgets adalah layer dimana developer dapat

berhubungan dengan aplikasi saja. Di layer ini terdapat aplikasi

inti termasuk client email, program sms, kalender, peta, browser,

contact dan lain-lain. Semua aplikasi ditulis menggunakan bahasa

pemrograman Java.

Page 49: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

55

2. Applications Frameworks adalah fitur pada android yang

menawarkan bagi developer atau memberi kemampuan pada

developer untuk membangun aplikasi yang inovatif dan bagus.

Pengembang dapat mengakses perangkat keras, informasi

resource, menjalankan service background, mengatur alarm dan

menambahkan status notification. Pengembang memiliki akses

penuh menuju API framework seperti yang dilakukan oleh

aplikasi yang kategori inti. Komponen yang termasuk dalam

applications frameworks adalah views, content provider, resource

manager, notification manager dan activity manager.

3. Libraries adalah layer dimana fitur-fitur android berada, biasanya

para pembuat aplikasi mengakses libraries untuk menjalankan

aplikasinya. Berjalan diatas kernel, layer ini meliputi berbagai

library C / C++ inti seperti Libc dan SSL, serta :

a) Libraries media untuk pemutaran media audio dan

video.

b) Libraries untuk manajemen tampilan.

c) Libraries graphics mencakup SGL dan OpenGl

untuk grafis 2D dan 3D.

d) Libraries SQLite untuk dukungan database.

e) Libraries SSL dan Webkit terintegrasi dengan web

browser dan security.

f) Libraries LiveWebcore mencakup modern web

browser dengan engine embedded web view.

Page 50: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

56

g) Libraries 3D yang mencakup implementasi opengl

ES 1,0 API’s.

4. Android Run Time adalah layer yang membuat aplikasi android

dapat dijalankan dimana dalam prosesnya menggunakan

implementasi linux. Dalvik Virtual Maachine (DVM) merupakan

mesin yang membentuk dasar kerangka aplikasi android. Di dalam

android run time dibagi menjadi 2 bagian yaitu Core Libraries

berfungsi sebagai penerjemah bahasa Java / C dan DVM yang

berfungsi sebagai virtual machine berbasis register yang

dioptimalkan fungsi-fungsi secara efisien.

5. Linux Kernel adalah layer dimana inti dari operating system dari

android itu berada. Berisi file-file sistem yang mengatur sistem

processing, memory, resource, drivers, dan sistem-sistem operasi

android lainnya. Linux kernel yang digunakan adalah linux kernel

release 2.6.

2.8.2 Komponen Aplikasi Android

Dalam bukunya Murphy(2011,p5) terdapat komponen penting dalam

android bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain

(untuk aplikasi yang memungkinkan).

Sebagai contoh,sebuah aplikasi memerlukan fitur scroller dan aplikasi

lain telah mengembangkan fitur scroller yang baik dan memungkinkan

aplikasi lain menggunakannya. Maka pengembang tidak perlu lagi

mengembangkan hal serupa untuk aplikasinya, cukup menggunakan scroller

yang telah ada.

Page 51: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

57

Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan

aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek

java untuk bagian itu. Oleh karenanya Android berbeda dari sistem-sistem

lain, Android tidak memiliki satu tampilan utama program seperti fungsi

main() pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen penting

yang memungkinkan sistem untuk memanggil dan menjalankan ketika

dibutuhkan.

1. Activities

Activity merupakan bagian yang paling penting dalam sebuah

aplikasi,karena Activity menyajikan tampilan visual program yang

sedang digunakan olehpengguna. Setiap Activity dideklarasikan

dalam sebuah kelas yang bertugas untuk menampilkan antarmuka

pengguna yang terdiri dari Views dan respon terhadap Event .

Ketika activity diambil dan disimpan dalam tumpukkan activity

terdapat 4 kemungkinan kondisi transisi yang akan terjadi 4:

Active, setiap activity yang berada ditumpukan paling atas,

maka dia akanterlihat, terfokus, dan menerima masukkan

dari pengguna.

Paused, dalam beberapa kasus activity akan terlihat tapi

tidak terfokus pada kondisi inilah disebut paused. Keadaan

ini terjadi jika activity transparan dan tidak fullscreen pada

layar. Ketika activity dalam keadaan paused , dia terlihat

active namun tidak dapat menerima masukkan dari

pengguna.

Page 52: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

58

Stopped, ketika sebuah activity tidak terlihat, maka itulah

yang disebut stopped Activity akan tetap berada dalam

memori dengan semua keadaandan informasi yang ada.

Namun akan menjadi kandidat utama untuk dieksekusi

oleh sistem ketika membutuhkan sumberdaya lebih.

Inactive, kondisi ketika activity telah dihentikan dan

sebelum dijalankan. Inactive activity telah ditiadakan dari

tumpukan activity sehingga perlu restart ulang agar dapat

tampil dan digunakan kembali.

2. Services

Suatu service tidak memiliki tampilan antarmuka, melainkan

berjalan di background untuk waktu yang tidak terbatas.

Komponen service diproses tidak terlihat, memperbarui sumber

data dan menampilkan notifikasi. Service digunakan untuk

melakukan pengolahan data yang perlu terus diproses, bahkan

ketika Activity tidak aktif atau tidak tampak.

3. Content Providers

Content Providers digunakan untuk mengelola dan berbagi

database. Data dapat disimpan dalam file sistem, dalam database

SQLite, atau dengan cara lain yang pada prinsipnya sama. Dengan

adanya Content Provider memungkinkan antar aplikasi untuk

saling berbagi data.

4. Intents

Intens merupakan sebuah mekanisme untuk menggambarkan

tindakan tertentu, seperti memilih foto, menampilkan halaman

Page 53: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

59

web, dan lain sebagainya. Intents tidak selalu dimulai dengan

menjalankan aplikasi, namun juga digunakan oleh sistem untuk

memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan

masuk.

2.9 Database

Pengertian database menurut para ahli :

1. O’Brien (2006, p213), database adalah kumpulan terintegrasi dari elemen

data yang berelasi secara logika. Sebuah database menyatukan banyak

record yang telah disimpan sebelumnya, agar supaya sekumpulan data

yang umum dapat dignakan untuk banyak aplikasi.

2. Connolly (2005, p15), database adalah suatu kumpulan data logika yang

berhubungan satu sama lain, dan didesain dari sebuah informasi untuk

memenuhi yang dibutuhkan dari satu perusahaan.

Database dapat diartikan sebagai kumpulan data yang terdiri atas satu atau

lebih tabel yang mempunyai kaitan satu dengan lainnya dimana tabel yang ada saling

menunjang dalam menyajikan informasi yang dibutuhkan oleh pengguna atau

pengolah data tersebut bagi pengguna dan perusahaan. Database mempunyai peranan

yang sangat penting dalam menunjang sistem yang ada, sekaligus merupakan salah

satu indikasi keberhasilan suatu sistem dalam menyajikan informasi yang akurat dan

relevan.

Tujuan utama pengunaan konsep database (McLeod, 2001, p182) :

1. Mengurangi data redundancy

Data redundancy adalah duplikasi dari data, maksudnya adalah data yang

sama disimpan berulang-ulang pada banyak file.

Page 54: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

60

2. Meningkatkan data independence

Data independence adalah kemampuan untuk merubah struktur data tanpa

harus mengubah aplikasi yang memproses data tersebut.

Database disusun berdasarkan tabel-tabel dan tabel-tabel disusun berdasarkan

record-record yang ada. Tabel berfungsi untuk menyimpan data dan merupakan suatu

kumpulan data yang berhubungan dengan topik tertentu. Misalnya daftar mahasiswa

atau daftar barang. Database terdiri dari beberapa objek antara lain yaitu :

1. Field

Field adalah kumpulan dari beberapa karakteristik dari objek – objek

yang ada.

2. Record

Record adalah kumpulan dari field yang berhubungan satu sama lain.

Contohnya: nama, alamat, nomor karyawan, nomor telepon, dan

sebagainya.

3. File

File atau berkas adalah kumpulan dari beberapa record yang berhubungan

membentuk saling ketergantungan satu dengan yang lain. Contohnya:

transaksi pada perusahaan yang recordnya tercatat tanggal, kode, barang

dan harga.

4. Entity

Entity adalah satu kesatuan yang terdiri dari informasi yang disimpan.

Contohnya: pelanggan, karyawan, barang, dan sebagainya.

5. Attribute

Page 55: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/2012-1... · Web viewInteraksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi

61

Atribut adalah nama dari suatu kolom relasi yang menjelaskan suatu

entity. Contohnya nama, nomor karyawan, nomor telepon, dan

sebagainya.

6. Primary Key

Primary Key adalah sebuah field yang mempunyai nilai unik yan tidak

memiliki kesamaan antara record yang satu dengan record yang lain.

7. Foreign Key

Foreign key adalah satu atribut atau kumpulan atribut dalam satu relasi

yang berguna untuk menghubungkan primary key lain yang berada dalam

tabel lain.