6 bab 2 - library.binus.ac.idlibrary.binus.ac.id/ecolls/ethesisdoc/bab2/2008-1-00338-if-bab 2.pdf8...

48
7 BAB 2 LANDASAN TEORI 2.1 Analisis Menurut McLeod (2001, p190) analisis sistem merupakan penelitian atas sistem yang telah ada dengan tujuan merancang sistem baru atau diperbaharui. Di dalam tahap analisis sistem, seorang sistem analis terus bekerja sama dengan manajer, dan komite pengarah SIM yang terlibat dalam titik-titik penting. Langkah-langkah anlisis sistem yang diungkapkan oleh Jogianto (1990, p130) antara lain : 1. Mengidentifikasi masalah. 2. Memahami kerja dari sistem yang telah ada. 3. Menganalisa sistem. 4. Membuat laporan hasil analisis. 2.2 Aplikasi Aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang

Upload: doanthien

Post on 16-Apr-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

7

BAB 2

LANDASAN TEORI

2.1 Analisis

Menurut McLeod (2001, p190) analisis sistem merupakan penelitian

atas sistem yang telah ada dengan tujuan merancang sistem baru atau

diperbaharui. Di dalam tahap analisis sistem, seorang sistem analis terus bekerja

sama dengan manajer, dan komite pengarah SIM yang terlibat dalam titik-titik

penting.

Langkah-langkah anlisis sistem yang diungkapkan oleh Jogianto (1990,

p130) antara lain :

1. Mengidentifikasi masalah.

2. Memahami kerja dari sistem yang telah ada.

3. Menganalisa sistem.

4. Membuat laporan hasil analisis.

2.2 Aplikasi

Aplikasi adalah suatu subkelas perangkat lunak komputer yang

memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas

yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak

sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara

langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang

Page 2: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

8

menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah

pengolah kata, lembar kerja, dan pemutar media.

Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang

disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya

adalah Microsoft Office dan OpenOffice.org, yang menggabungkan suatu

aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-

aplikasi dalam suatu paket biasanya memiliki antarmuka pengguna yang

memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan

menggunakan tiap aplikasi. Sering kali, mereka memiliki kemampuan untuk

saling berinteraksi satu sama lain sehingga menguntungkan pengguna.

Contohnya, suatu lembar kerja dapat dibenamkan dalam suatu dokumen

pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah.

Aplikasi dapat digolongkan menjadi beberapa kelas, antara lain :

1. Perangkat lunak perusahaan (enterprise)

2. Perangkat lunak infrastruktur perusahaan

3. Perangkat lunak informasi kerja

4. Perangkat lunak media dan hiburan

5. Perangkat lunak pendidikan

6. Perangkat lunak pengembangan media

7. Perangkat lunak rekayasa produk

Page 3: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

9

2.3 Interaksi Manusia dan Komputer

2.3.1 Definisi Interaksi Manusia dan Komputer

IMK adalah suatu ilmu yang mempelajari bagaimana seorang

manusia berinteraksi dengan komputer atau pengaruh komputer dalam

pengembangan untuk berinteraksi dengan manusia (Shneiderman 1998,

p10).

Dalam merancang suatu sistem yang interaktif, diperlukan

perancangan model yang memiliki sifat user friendly agar dapat

berinteraksi dengan baik. Menurut Shneiderman (1998, p15) ada lima

kriteria yang harus dipenuhi yaitu :

1. Waktu belajar

Berapa lama waktu yang diperlukan bagi pengguna untuk dapat

mempelajari serta bagaimana menggunakan perintah yang

berhubungan dengan tugas.

2. Kecepatan dalam menyajikan informasi

Berapa lama waktu yang diperlukan sampai tugas diselesaikan

3. Tingkat kesalahan

Berapa banyak dan apa jenis dari kesalahan yang dibuat pengguna

sewaktu melaksanakan tugas.

4. Daya ingat

Seberapa baik pengguna memelihara pengetahuan masalah setelah satu

jam, satu hari, satu minggu.

Page 4: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

10

5. Kepuasan subjektif

Seberapa banyak pengguna menyukai aspek sistem yang berbeda.

2.3.2 Antarmuka Pengguna

Antarmuka pengguna merupakan bagian dari sistem komputer

yang memungkinkan manusia berinteraksi dengan komputer. Menurut

Pressman (1992, p457) antarmuka pengguna adalah bagian dari program

yang mengadakan interaksi dengan pengguna.

Semua yang ditampilkan di layar dibaca dalam dokumentasi atau

manipulasi dengan keyboard atau mouse adalah bagian dari user interface.

Sebagian besar program komputer yang dibuat oleh manusia memiliki

user interface sebagai penghubung antara pengguna program dengan

program aplikasinya. Para pengembang program aplikasi harus

memperhatikan dengan baik perancangan user interface aplikasinya.

Menurut Shneiderman (1998, p74) ada delapan aturan emas

dalam perancangan antarmuka pengguna (user interface) antara lain:

a. Berusaha untuk konsisten

Semua urutan aksi harus konsisten dalam situasi yang sama, seperti

pemakaian istilah, warna, tampilan dan jenis huruf yang sama.

b. Memungkinkan pengguna menggunakan shortcut

Terkadang pengguna menginginkan agar jumlah interaksi yang

dilakukan dikurangi untuk meningkatkan kepraktisannya. Penggunaan

Page 5: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

11

shortcut dapat dilakukan untuk mengatasi hal tersebut dan

meningkatkan kecepatan tampilan.

c. Memberikan umpan balik yang informatif

Memberikan respon yang sesuai dengan aksi yang dilakukan

pengguna, sehingga dapat membantu pengguna untuk mengerti sistem

yang telah dibuat dalam suatu aplikasi.

d. Merancang dialog yang memberikan keadaan akhir

Urutan aksi harus diatur menjadi bagian awal, tengah, dan akhir. Hal

ini dilakukan agar pengguna mengetahui bahwa sekelompok tindakan

telah dilakukan sehingga memberikan kepuasan pada pengguna dan

memberikan kesiapan untuk melakukan tindakan selanjutnya.

e. Memberikan pecegahan kesalahan dan penanganan kesalahan secara

sederhana.

Sistem harus dirancang sedemikian rupa agar tidak membuat

kesalahan yang serius. Jika terjadi kesalahan, sistem harus mendeteksi

dan menawarkan mekanisme penanganan yang sederhana dan mudah

dimengerti.

f. Memungkinkan memberikan aksi yang mudah

Aksi harus bisa dibalik untuk mengurangi kegelisahan dari pengguna

jika dia menjelajah ke bagian yang tidak dikenal. aksi harus bisa

dibalik. Hal ini dapat mengurangi kegelisahan pengguna, karena

kesalahan yang dilakukan oleh pengguna dapat diperbaiki.

Page 6: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

12

g. Mendukung pusat kendali internal.

Pengguna harus merasa menguasai sistem dan sistem bekerja sesuai

dengan keinginannya. Kesulitan memperoleh informasi yang penting

atau informasi yang diinginkan akan memberikan ketidakpuasan bagi

pengguna.

h. Mengurangi beban ingatan jangka pendek

Manusia memiliki ingatan yang terbatas oleh karena itu aplikasi harus

dibuat sedemikian rupa agar pengguna tidak terlalu banyak

menyimpan memori.

2.3.3 Pedoman Penggunaan Warna

Tampilan warna sangat mempengaruhi penggunanya,

pengaruhnya dapat berupa pengaruh baik ataupun buruk. Oleh karena itu,

penggunaan warna harus diperhatikan dengan baik pula agar dapat

memberikan pengaruh yang baik. Menurut Shneiderman (1998, p398),

dampak dari penggunaan warna antara lain:

a. Menyejukkan atau menyilaukan mata.

b. Membuat tampilan lebih menarik.

c. Memungkinkan perbedaan yang halus pada tampilan yang kompleks.

d. Menekankan pada pengelompokan informasi secara logikal.

e. Dapat menarik perhatian pada pesan peringatan.

Page 7: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

13

f. Menimbulkan reaksi emosional yang kuat berupa sukacita,

kegembiraan, ketakutan atau kemarahan.

2.4 Rekayasa Piranti Lunak

2.4.1 Definisi Piranti Lunak

Menurut Pressman (2001, p6), piranti lunak dapat diartikan

sebagai berikut:

a. Perintah-perintah dalam suatu program komputer yang jika dijalankan

akan memberikan fungsi dan hasil yang diinginkan.

b. Struktur-struktur data yang membuat program dapat memanipulasi

data.

c. Dokumen yang menggambarkan operasi dan penggunaan program.

d. Piranti lunak memiliki karakteristik yang berbeda dengan piranti

keras.

2.4.2 Karakteristik Piranti Lunak

Menurut Pressman (2001, p6), piranti lunak merupakan elemen

sistem yang bersifat logik, bukan bersifat fisik. Beberapa karateristiknya

adalah:

a. Piranti lunak dapat dikembangkan dan direkayasa, bukan dirakit

seperti piranti keras. Meskipun ada persamaan pengertian antara kedua

Page 8: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

14

istilah tersebut, pada dasarnya mempunyai aktivitas yang berbeda di

mana kualitas yang baik dapat dicapai jika desainnya juga baik.

b. Piranti lunak tidak mudah rusak. Hal ini berbeda dengan piranti keras

yang mempunyai tingkat kerusakan yang tinggi. Pada piranti keras

apabila terjadi kerusakan maka harus diganti, tetapi pada piranti lunak

jika terjadi kerusakan dapat diperbaiki melalui software maintenance

(pemeliharaan piranti lunak). Kesalahan yang terjadi pada piranti

lunak, biasanya terpusat pada saat proses menterjemahkan program ke

bahasa mesin dan pada saat merancang.

c. Pada dasarnya perancangan piranti lunak dibuat sebagai komponen

yang dapat dirakit ulang.

2.4.3 Definisi Rekayasa Piranti Lunak

Rekayasa piranti lunak adalah penerapan dan pemakaian prinsip

rekayasa dalam rangka mendapatkan piranti lunak ekonomis yang

terpercaya dan bekerja secara efisien pada mesin komputer (Pressman

2001, p20).

Rekayasa piranti lunak mencakup tiga elemen yang mampu

mengontrol proses perkembangan piranti lunak, yaitu:

a. Metode

Metode merupakan cara-cara teknis membangun piranti lunak yang

terdiri dari perancangan proyek dan estimasi, analisis kebutuhan

Page 9: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

15

sistem dan piranti lunak, perancangan struktur data, arsitektur

program, prosedur algoritma, pengkodean, pengujian dan

pemrograman.

b. Alat-alat bantu

Alat-alat bantu menyediakan dukungan otomatis atau semi otomatis

untuk metode-metode seperti Computer Aided Software Engineering

(CASE) yang mengkombinasikan piranti lunak dan piranti keras dan

software engineering database (tempat penyimpanan yang

mengandung informasi yang penting tentang analisis, perancangan,

pembuatan program, dan pengujian) untuk pengembangan piranti

lunak yang sejalan dengan Computer Aided Design/Engineering

(CAD/E) untuk piranti keras.

c. Prosedur-prosedur

Prosedur-prosedur untuk menghubungkan alat-alat bantu dengan

metode. Tujuan dari prosedur yaitu untuk mendapatkan piranti lunak

yang efisien, berguna dan ekonomis.

2.4.4 Daur Hidup Pengembangan Piranti Lunak

Metode The Classic Life Cycle atau metode yang biasanya

disebut Waterfall Model (Model Air Terjun). Menurut Pressman (2001,

pp28-29), tahapan-tahapan yang terdapat dalam metode ini adalah, yaitu:

Page 10: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

16

• Analisis dan rekayasa sistem (system engineering and modeling)

Dalam tahap ini, pekerjaan dimulai dengan menetapkan kebutuhan-

kebutuhan piranti lunak untuk semua elemen sistem, karena piranti

lunak adalah bagian dari yang penting dari sebuah sistem. Peninjauan

dalam tahap ini penting karena piranti lunak harus dapat berinteraksi

dengan elemen-elemen lainnya seperti piranti keras, manusia, dan

basis data.

• Analisis kebutuhan piranti lunak (software requirements analysis)

Dalam tahap ini, seorang analis piranti lunak harus menganalisis

kebutuhan agar dapat mengetahui seluruh informasi, fungsi, performa

dan antarmuka yang dibutuhkan agar dapat digunakan sebagai dasar

sistem yang akan dibangun.

• Perancangan (design)

Dalam tahap ini, perancangan terhadap piranti lunak dilakukan.

Perancangan piranti lunak merupakan sebuah proses yang terdiri atas

beberapa langkah yang difokuskan pada empat perlengkapan program

yang berbeda yaitu struktur data, arsitektur piranti lunak, representasi

antar muka, dan prosedur yang detail.

• Pembuatan program (coding)

Dalam tahap ini, hasil perancangan diterjemahkan ke dalam bentuk

yang dapat dimengerti oleh mesin/komputer.

Page 11: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

17

• Pengujian (testing)

Dalam tahap ini, pengujian terhadap program yang telah selesai

dilakukan. Proses pengujian difokuskan pada logika dalam program

dari piranti lunak untuk memastikan bahwa semua kode program telah

diuji. Tujuan dilaksanakannya pengujian ini untuk menemukan

kesalahan dan juga untuk memastikan bahwa piranti lunak yang telah

dibuat telah sesuai dengan yang diinginkan.

• Pemeliharaan (maintenance)

Dalam tahap ini dilakukan pemeliharaan terhadap piranti lunak yang

telah dibuat. Pemeliharaan dilakukan dengan mengecek apakah ada

kesalahan-kesalahan setelah sistem dijalankan, dan setiap kesalahan

harus diperbaiki. Selain itu juga dilakukan pengecekan apakah piranti

lunak ini dapat beradaptasi dengan segala perubahan yang ada, baik

dari segi kebutuhan sistem maupun pengaruh dari luar sistem.

Gambar 2.1 Diagram Classic Life Cycle

Page 12: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

18

2.5 Unified Modelling Language (UML)

2.5.1 Definisi Unified Modelling Language

UML adalah sebuah bahasa grafis untuk memvisualisasikan,

mendefinisikan, merancang, dan mendokumentasikan unsur-unsur dari

sistem piranti lunak. UML yang pada umumnya digunakan untuk

membuat rancangan dari sistem, mencakup hal-hal yang berhubungan

dengan konsep seperti proses bisnis dan fungsi sistem, dan hal-hal yang

berhubungan dengan unsur-unsur kongkrit seperti class, skema basis data,

serta komponen perangkat lunak yang dapat digunakan kembali (Booch,

1999, p13).

UML merupakan bahasa pemodelan dimana unsur-unsur dan

aturan-aturan yang dimilikinya berfokus pada representasi konseptual dan

fisikal dari sistem. Unsur-unsur dan aturan-aturan tersebut dapat

digunakan untuk merancang dan membaca model objek, namun mereka

tidak dimaksudkan untuk memberitahu pengguna bagaimana merancang

sebuah model yang baik. Unsur-unsur UML terdiri dari :

• Objek, yang merupakan abstraksi dari elemen-elemen model.

• Hubungan, yang menjadi alat penyatu bagi objek-objek yang ada.

• Diagram, yang mengelompokkan objek-objek dan hubungannya dalam

kelompok-kelompok diagram yang mudah dibaca.

Page 13: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

19

2.5.2 Use Case Diagram

Use case Diagram adalah sebuah diagram yang diperkenalkan

untuk memvisualisasikan use case (Fowler, 2000, p41). Use case

menjelaskan segala hal yang diinginkan oleh pengguna dari sebuah sistem.

Use case adalah sekelompok scenario yang memiliki sebuah tujuan

bersama bagi pengguna. Dalam UML, sebuah use case selalu dimulai dari

sebuah aktor (Fowler, 2000, p40).

Sebuah format yang mudah untuk membuat sebuah use case

adalah dengan menjelaskan skenario utamanya sebagai sebuah urutan

langkah-langkah dan alternatif langkah-langkah sebagai variasi dari urutan

tersebut. Ada banyak variasi dalam menjelaskan isi dari sebuah use case

namun UML tidak menspesifikasikan standard tertentu.

Setiap use case menjelaskan langkah-langkah yang harus

dikerjakan untuk mendapatkan fungsi dari use case tersebut. Diagram use

case yang merupakan bagian dari UML ini, diidentifikasikan untuk sebuah

sistem dan mencakup :

• Aktor

Aktor mewakili setiap orang atau segala sesuatu yang harus

berinteraksi dengan sebuah sistem. Aktor dapat memasukkan data ke

sebuah sistem dan menerima informasi dari sebuah sistem. Contoh

aktor adalah sesesorang, perangkat lunak, peralatan perangkat keras,

Page 14: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

20

ataupun jaringan. Jadi aktor tidak harus selalu manusia, walaupun

aktor diwakili sebagai sebuah figure dalam diagram use case.

Aktor merupakan bagian eksternal dari sebuah sistem dan tidak akan

pernah menjadi bagian dari sistem tersebut. Seseorang dapat diwakili

oleh beberapa aktor karena orang tersebut mempunyai beberapa peran

berbeda terhadap sebuah sistem dan beberapa orang dapat diwakili

dengan aktor yang sama karena mereka semua mempunyai peran yang

sama terhadap sistem tersebut. Aktor menyelesaikan atau melakukan

langkah-langkah dalam use case. Aktor dapat terlibat dalam banyak

use case dan sebaliknya, sebuah use case dapat dilakukan oleh

beberapa aktor.

Gambar 2.2 Contoh Aktor

• Hubungan

Dalam use-case model, ada beberapa jenis hubungan yang dapat

digambarkan, diantaranya adalah Communicate-Association yang

menggambarkan adanya interaksi antara use-case dan actor. Interaksi

ini ditandai dengan mengirimkan sinyal atau informasi satu sama lain.

Page 15: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

21

Gambar 2.3 Contoh Notasi Communicate Association

Gambar 2.4 Contoh Use Case Diagram

2.5.3 Activity Diagram

Activity diagram menggambarkan urutan kegiatan di mana

diagram ini mendukung tingkah laku kondisional dan paralel (Fowler,

Page 16: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

22

2000, p129). Activity diagram mengijinkan kita untuk memilih urutan

untuk melakukan sesuatu. Activity diagram hanya menyatakan aturan

urutan yang harus kita ikuti. Hal ini adalah kunci perbedaan antara sebuah

activity diagram dan sebuah flowchart. Umumnya, flowchart terbatas pada

proses-proses sekuensial, sedangkan activity diagram dapat menangani

proses-proses yang parallel.

Gambar 2.5 Contoh Activity Diagram

2.5.4 Class Diagram

Class Diagram dibuat untuk menyediakan sebuah gambaran atau

pandangan dari beberapa atau semua class dalam sebuah model. Sebuah

diagram class menjelaskan tipe-tipe objek yang berada dalam sebuah

Page 17: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

23

sistem dan berbagai macam hubungan statik di antara mereka (Fowler,

2000, p49). Class diagram memperlihatkan sekelompok class, interface,

serta kolaborasi dan hubungan mereka (Booch, 1999, p105).

Salah satu detail-detail yang paling penting dapat dijelaskan

pada atribut dan method class adalah visibility. Visibility sebuah fitur

menjelaskan apakah sebuah class dapat digunakan oleh class lain. Dalam

UML, ada tiga macam visibility :

1. Public

Class yang diluar class dengan visibility ini, dapat menggunakan fitur-

fiturnya. Simbol yang digunakan adalah simbol +.

2. Protected

Semua turunan class ini dapat menggunakan fitur-fitur dari class ini.

Simbol yang digunakan adalah simbol #.

3. Private

Hanya class ini sendiri yang dapat menggunakan fitur-fiturnya.

Simbol yang digunakan adalah simbol -.

Notasi-notasi yang terdapat dalam class diagram :

a. Class

Class merupakan sebuah deskripsi dari sekumpulan object yang

berbagi attribute, operation, dan hubungan yang sama. Sebuah class

dapat mengimplementasikan satu atau lebih interface.

Page 18: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

24

Gambar 2.6 Contoh Class

b. Attribute

Merupakan property dari class yang berisi tipe data yang dimiliki oleh

instance suatu class.

c. Operation

Merupakan kegiatan-kegiatan yang akan dilakukan oleh suatu class.

d. Aggregation

Menggambarkan hubungan antara dua atau lebih objek, dimana salah

satu objek merupakan bagian dari objek lainnya.

e. Composition

Composition adalah strong aggregation. Pada composition, objek

“bagian” tidak dapat berdiri sendiri tanpa object “keseluruhan”. Jadi

mereka terkait kuat satu dengan lainnya.

f. Multiplicity

Merupakan sebuah spesifikasi tentang rentang kardinalitas yang

diizinkan untuk dimiliki oleh sebuah object. Sebuah multiplicity dapat

berisi : exactly one(1), optional/zero or one (0..1), many/zero or more

Page 19: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

25

(0..n), one or more (1..n), an exact number (n), ataupun numerically

specified (m..n).

Gambar 2.7 Contoh Multiplicity

Gambar 2.8 Contoh Class Diagram

2.5.5 Interaction Diagram

Menurut Fowler (2000, p67), Interaction Diagram

menggambarkan interaksi yang terdiri dari sekumpulan object-object dan

hubungan-hubungannya, termasuk pesan-pesan yang dikirim diantara

Page 20: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

26

kedua object tersebut. Notasi-notasi yang digunakan dalam Diagram

Interaksi :

a. Object

Merupakan entitas yang mempunyai identity, state, dan behaviour.

Digambarkan berupa kotak-kotak yang terletak di sebelah atas

diagram. Object diawali dengan “:”(tanda titik dua), dan nama object

berada di depan (sebelum) “:“(tanda titik dua) berada. Object dan

nama object digaris bawahi dari awal hingga akhir.

Gambar 2.9 Contoh Object pada Sequence Diagram

Menurut Conallen, object terdiri dari 3 jenis stereotype :

i. Boundary object

Menggambarkan interface antara aktor dan sistem

Gambar 2.10 Contoh Boundary Object

Page 21: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

27

ii. Entity object

Hal–hal yang dideskripsikan pada use case dan bertahan terus

dalam sistem

Gambar 2.11 Contoh Entity Object

iii. Control object

Menggambarkan aktivitas atau proses yang dilakukan oleh sistem.

Gambar 2.12 Contoh Control Object

b. Lifeline

Digambarkan berupa garis vertikal dari setiap object yang

menunjukkan lamanya pemakaian object dalam interaksi

c. Message

Digambarkan berupa panah antara dua object yang berguna untuk

menjelaskan interaksi atau proses yang terjadi antara dua object

tersebut. Setiap message dapat disertai message name atau juga

argumennya dan informasi control.

Page 22: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

28

d. Focus of Control

Digambarkan sebagai sebuah persegi panjang pipih yang terdapat

diatas lifeline, menggambarkan periode waktu bagi sebuah object

untuk melakukan sebuah aksi.

Gambar 2.13 Contoh Focus Of Control pada Sequence Diagram

e. Condition

Kondisi yang menandakan kapan sebuah message harus dikirim

(misalnya, [Data Exist]. Message tersebut hanya akan dikirim jika

kondisi benar.

Gambar 2.14 Contoh Condition pada Sequence Diagram

Page 23: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

29

f. Self Call

Menggambarkan message yang dikirim oleh suatu object ke object itu

sendiri. Digambarkan berupa panah yang menunjuk kembali ke object

yang sama.

Gambar 2.15 Contoh Self-Call pada Sequence Diagram

g. Return Message

Merupakan sebuah hasil (output) yang dikirim oleh sebuah object

kepada object lain yang mengirimkan message padanya. Return

Message digambarkan sebagai sebuah anak panah putus–putus

diantara lifeline dari dua buah object. Return message adalah notasi

yang opsional sehingga dapat digambarkan bila dengan

menggambarkannya akan memperjelas sequence diagram.

Gambar 2.16 Contoh Return pada Sequence Diagram

Page 24: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

30

2.5.5.1 Sequence Diagram

Sequence diagram memperlihatkan interaksi-interaksi

antar objek yang terjadi dalam sebuah scenario. Diagram

sequence dalam UML menambahkan dimensi waktu pada

interaksi antar objek (Schmuller, 1999, p108).

Secara grafis, sebuah sequence diagram adalah sebuah

tabel yang memperlihatkan objek-objek yang diatur sepanjang

garis horizontal, dengan pertambahan waktu sepanjang garis

vertikal (Booch et.al., 1999, p245).

Gambar 2.17 Contoh Sequence Diagram

Page 25: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

31

2.6 State Trantition Diagram (STD)

2.6.1 Definisi State Trantition Diagram (STD)

Menurut Pressman (2001, p302), STD mengindikasikan

bagaimana sebuah sistem berperilaku sebagai sebuah konsekuensi dari

kejadian (event) eksternal. Untuk itu, STD mewakili sejumlah mode dari

behavior yang disebut sebagai kondisi (state) dari sistem dan cara dalam

perubahan yang dihasilkan dari satu kondisi ke kondisi lainnya.

Menurut Pressman (2001, p317), State Transition Diagram

adalah model behavior yang mendasarkan pada pengertian dari kumpulan

kondisi sistem. Model behavior adalah sebuah prinsip operasional untuk

seluruh metode analisis kebutuhan. STD mewakili behavior dari sebuah

sistem dengan menggambarkan kondisinya dan kejadian yang

menyebabkan perubahan kondisi suatu sistem.

Simbol-simbol atau properti dari STD yang sering digunakan :

a. State, disimbolkan dengan segi empat.

State adalah kumpulan keadaan atau atribut yang memberi perincian

seseorang atau benda pada waktu dan kondisi tertentu. Contohnya

seperti proses user mengisi password, menentukan instruksi

berikutnya.

Simbol state:

Page 26: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

32

b. Transition State

Merupakan simbol yang menyatakan suatu perubahan dari suatu

keadaan ke keadaaan lain (perubahan suatu state).

Disimbolkan dengan :

c. Condition

Condition adalah suatu kejadian pada lingkungan eksternal yang dapat

dideteksi oleh sistem. Contohnya adalah sebuah sinyal, interrupt atau

data. Hal ini akan menyebabkan perubahan terhadap state dari state

menunggu X ke state menunggu Y atau memindahkan aktivitas X ke

aktivitas Y.

d. Action

Action adalah yang dilakukan sistem bila terjadi perubahan state atau

merupakan reaksi terhadap kondisi. Aksi akan menghasilkan keluaran

atau tampilan.

Gambar 2.18 State Transition Diagram (STD)

Page 27: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

33

2.7 Pemrograman Java

2.7.1 Pengertian Java

Menurut Hermawan (2006) Java adalah bahasa pemrograman

berorientasi objek yang dikembangkan oleh Sun Microsystem sejak tahun

1991. Bahasa ini dikembangkan dengan model yang mirip bahasa C++

dan Smalltalk, namun dirancang agar lebih mudah dipakai dan platform

independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan

arsitektur komputer. Bahasa ini juga dirancang untuk pemrograman di

internet, sehingga dirancang agar aman dan juga portabel.

2.7.2 Sejarah Perkembangan Java

Bahasa pemrograman Java pertama lahir dari The Green Project,

yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas

1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak.

Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling

dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems.

Versi awal Java ditahun 1996 sudah merupakan versi release

sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak

paket standar awal yang terus dikembangkan pada versi selanjutnya, yaitu:

• java.lang: Peruntukan kelas elemen-elemen dasar.

Page 28: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

34

• java.io: Peruntukan kelas input dan output, termasuk penggunaan

berkas.

• java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan

kelas kelas penanggalan.

• java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi

dengan komputer lain menggunakan jaringan TCP/IP.

• java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna

(GUI).

• java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada

penjelajah web.

2.7.3 Kelebihan dan Kekurangan Java

Kelebihan Java dibandingkn dengan bahasa pemprograman yang

lain :

• Multiplatform

Kelebihan utama dari Java ialah dapat dijalankan di beberapa sistem

operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana

saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program

Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia

menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan

di atas beberapa platform tanpa perubahan.

Page 29: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

35

Kelebihan ini memungkinkan sebuah program berbasis java

dikerjakan diatas operating system Linux tetapi dijalankan dengan

baik di atas Microsoft Windows. Platform yang didukung sampai saat

ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris.

Penyebanya adalah setiap sistem operasi menggunakan programnya

sendiri-sendiri (yang dapat diunduh dari situs Java) untuk

meninterpretasikan bytecode tersebut.

• OOP (Object Oriented Programming)

Pemrogram Berorientasi Objek yaitu semua aspek yang terdapat di

Java adalah Objek. Java merupakan salah satu bahasa pemrograman

berbasis oebjek secara murni. Semua tipe data diturunkan dari kelas

dasar yang disebut Object. Hal ini sangat memudahkan pemrogram

untuk mendesain, membuat, mengembangkan dan mengalokasi

kesalahan sebuah program dengan basis Java secara cepat, tepat,

mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah

satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang

advance seperti komunikasi antara komputer sekalipun.

• Perpustakaan Kelas Yang Lengkap

Java terkenal dengan kelengkapan library/perpustakaan (kumpulan

program program yang disertakan dalam pemrograman java) yang

sangat memudahkan dalam penggunaan oleh para pemrogram untuk

Page 30: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

36

membangun aplikasinya. Kelengkapan perpustakaan ini ditambah

dengan keberadaan komunitas Java yang besar yang terus menerus

membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh

kebutuhan pembangunan aplikasi.

• Bergaya C++

Memiliki sintaks seperti bahasa pemrograman [C++] sehingga

menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini

pengguna Java sangat banyak, sebagian besar adalah pemrogram C++

yang pindah ke Java. Universitas-universitas di Amerika juga mulai

berpindah dengan mengajarkan Java kepada murid-murid yang baru

karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi

mereka yang bukan mengambil jurusan komputer.

• Pengumpulan Sampah Otomatis

Memiliki fasilitas pengaturan penggunaan memori sehingga para

pemrogram tidak perlu melakukan pengaturan memori secara langsung

(seperti halnya dalam bahasa C++ yang dipakai secara luas).

Kekurangan Java dibandingkn dengan bahasa pemprograman

yang lain :

Page 31: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

37

• Tulis sekali, perbaiki di mana saja

Masih ada beberapa hal yang tidak kompatibel antara platform satu

dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang

sampai sekarang tidak berfungsi pada Mac OS X.

• Mudah didekompilasi

Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode

sumber. Ini dimungkinkan karena koe jadi Java merupakan bytecode

yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-

nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada

Microsoft .NET Platform. Dengan demikian, algoritma yang

digunakan program akan lebih sulit disembunyikan dan mudah

dibajak/direverse-engineer.

• Penggunaan memori yang banyak

Penggunaan memori untuk program berbasis Java jauh lebih besar

daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan

Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini

bukan merupakan masalah bagi pihak yang menggunakan teknologi

terbaru (karena trend memori terpasang makin murah), tetapi menjadi

masalah bagi mereka yang masih harus berkutat dengan mesin

komputer berumur lebih dari 4 tahun.

Page 32: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

38

2.8 Sistem Basis Data

2.8.1 Definisi Sistem Basis Data

Sistem Basis Data adalah sistem penyimpanan data secara

komputerisasi. Menurut Connoly (2002, p14), database merupakan

sebuah kumpulan dari data yang berhubungan secara logical yang dapat

digunakan secara bersama-sama, dan sebuah deskripsi dari data tersebut

dirancang untuk mendapatkan informasi yang diperlukan dari sebuah

organisasi.

Basis data adalah sekumpulan elemen-elemen data logis yang

digabungkan. Sebuah basis data menggabungkan record yang disimpan

sebelumnya dalam file-file terpisah ke dalam sebuah kelompok elemen-

elemen data umum yang menyediakan data untuk banyak aplikasi. Data

yang disimpan dalam basis data berdiri sendiri, terpisah dari program

aplikasi yang menggunakan data tersebut dan dari tipe alat penyimpanan

dimana data itu disimpan.

Tujuan dari sistem basis data secara keseluruhan adalah untuk

melakukan perawatan informasi dan menyajikan kapan saja dibutuhkan.

SQL (Static Query Language) adalah bentuk biasa untuk melakukan suatu

perubahan dan atau untuk membuat perintah query yang interaktif dari

sebuah aplikasi database seperti Microsoft Access, Oracle, atau Microsoft

SQL Server.

Page 33: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

39

Sistem basis data terdiri dari :

a. Field, merupakan unit terkecil dalam suatu record yang membentuk

suatu atribut dari record yang merupakan suatu data.

b. Record, merupakan kumpulan dari field-field yang saling berkaitan.

c. File, merupakan kumpulan dari record-record yang membentuk suatu

kesatuan data yang sejenis.

2.8.2 MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis

data SQL (bahasa Inggris: database management system) atau DBMS

yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh

dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak

gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka

juga menjual dibawah lisensi komersial untuk kasus-kasus dimana

penggunaannya tidak cocok dengan penggunaan GPL.

MySQL sangat populer dalam aplikasi web seperti MediaWiki

(perangkat lunak yang dipakai Wikipedia dan proyek-proyek sejenis) dan

PHP-Nuke dan berfungsi sebagai komponen basis data dalam LAMP.

Popularitas sebagai aplikasi web dikarenakan kedekatannya dengan

popularitas PHP, sehingga seringkali disebut sebagai Dynamic Duo.

Untuk melakukan administrasi dalam basis data MySQL, dapat

menggunakan modul yang sudah termasuk yaitu command-line (perintah:

Page 34: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

40

mysql dan mysqladmin). Juga dapat diunduh dari situs MySQL yaitu

sebuah modul berbasis grafik (GUI): MySQL Administrator dan MySQL

Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis

untuk administrasi basis data MySQL berbasis web yang sangat populer

yaitu phpMyAdmin. Untuk perangkat lunak untuk administrasi basis data

MySQL yang dijual secara komersial antara lain: MySQL front, Navicat

dan EMS SQL Manager for MySQL.

2.9 Eclipse

2.9.1 Pengertian Eclipse

Eclipse adalah sebuah IDE (Integrated Development

Environment) untuk mengembangkan perangkat lunak dan dapat

dijalankan di semua platform (platform-independent). Berikut ini adalah

sifat-sifat dari Eclipse, yaitu :

• Multi-platform

Target sistem operasi Eclipse adalah Microsoft Windows, Linux,

Solaris, AIX, HP-UX dan Mac OS X.

• Mulit-language

Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi

Eclipse mendukung pengembangan aplikasi berbasis bahasa

Page 35: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

41

pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan

lain sebagainya.

• Multi-role

Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa

digunakan untuk aktivitas dalam siklus pengembangan perangkat

lunak, seperti dokumentasi, test perangkat lunak, pengembangan web,

dan lain sebagainya.

2.9.2 Sejarah Eclipse

Eclipse awalnya dikembangkan oleh IBM untuk menggantikan

perangkat lunak IBM Visual Age for Java 4.0. Produk ini diluncurkan

oleh IBM pada tanggal 5 November 2001, yang menginvestasikan

sebanyak US$ 40 juta untuk pengembangannya. Semenjak itu konsursium

Eclipse Foundation mengambil alih untuk pengembangan Eclipse lebih

lanjut dan pengaturan organisasinya.

Eclipse pada saat ini merupakan salah satu IDE favorit

dikarenakan gratis dan open source, yang 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 komponen yang dinamakan plug-in.

Page 36: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

42

2.10 XAMPP

XAMPP adalah aplikasi web server gratis yang multiplatform yang

terdiri atas Apache HTTP Server, MySQL database, dan penerjemah untuk

script yang ditulis dalam bahasa pemrograman PHP dan Perl. Nama XAMPP

adalah singkatan dari X (untuk sistem operasi yang berbeda), Apache, MySQL,

PHP and Perl.

Program ini dipublikasikan dibawah lisensi GNU General Public

License dan bersifat gratis, dan sebagai web server yang mudah digunakan untuk

aktifitas halaman web yang dinamis. Saat ini, XAMPP dapat digunakan pada

sistem operasi Microsoft Windows, Linux, Sun Solaris and Mac OS X, dan biasa

digunakan untuk proyek pembuatan website.

Umumnya, pembuat XAMPP hanya berencana sebagai alat untuk

pengembangan yang mengijinkan pembuat website dan pembuat program

menguji pekerjaan mereka di komputer mereka sendiri tanpa harus terhubung ke

internet. Dalam pelaksanaannya, XAMPP seringkali digunakan sebagai Web

Server di WWW (World Wide Web). XAMPP juga mendukung pembuatan dan

perubahan database di MySQL dan SQLite.

2.11 Short Message Service (SMS)

2.11.1 Pengenalan Short Message Service

SMS adalah suatu teknologi yang memungkinkan untuk

mengirim maupun menerima pesan antar telepon bergerak / ponsel

Page 37: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

43

(Yunianto 2006, p71). Teknologi baru ini pertama kali diperkenalkan

pada tahun 1992 oleh ETSI (European Telecommunication Standarts

Institute) (Zakaria 2006, p2). SMS sebetulnya hanya layanan tambahan

terhadap dua layanan utama (voice dan switched data) dalam sistem

jaringan GSM (Global System for Mobile Communication). Namun

teknologi SMS saat ini sudah sangat berkembang, tidak hanya digunakan

pada sistem jaringan GSM, melaikan juga dugunakan pada sistem

jaringan CDMA, TDMA, bahkan pada sistem telepon rumah (fixed

phone).

Sebagaimana namanya, SMS berarti layanan pesan pendek,

maka besar data yang dapat ditampung oleh SMS ini sangatlah terbatas.

Untuk satu SMS yang dikirimkan, hanya dapat menampung paling besar

140 bites atau sekitar 1120 bites. Atau dengan kata lain, untuk satu SMS

hanya dapat berisi paling banyak 160 karakter untuk karakter latin, dan

70 karakter untuk karakter non-latin seperti Jepang maupun Cina.

Dan jika ada SMS yang jumlah karakternya lebih dari 160

karakter, maka berarti ponsel tersebut akan memecah SMS tersebut

menjadi SMS-SMS kecil sebesar 160 karakter, kemudian ponsel

penerima akan menggabungkan beberapa SMS-SMS kecil tersebut

menjadi satu SMS.

Page 38: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

44

Berikut ini jenis data yang dapat dibawa oleh SMS yaitu :

• Pesan text

• Ringtone ponsel

• Gambar (Wallpaper, logo operator, maupun animasi)

• Bisnis Card seperti Vcards

• Konfigurasi WAP

Menurut Zakaria (2006, p5) keberhasilan dan kepopuleran SMS

saat ini lebih disebabkan oleh :

1. Harga per kiriman tetap/konstan

Apabila beban telepon/percakapan bervariasi, maka beban biaya

kiriman SMS tetap. Seperti kita ketahui biaya percakapan telepon

selular khususnya GSM sangat tinggi sekali.

2. Keamanan dan kesopanan

Apabila kita hendak menggunakan telepon selular di tempat umum,

maka berbicara menggunakannya dirasakan tidak sopan dan kurang

aman. Namun sebaliknya berkirim pesan menggunakan SMS

dirasakan lebih sopan dan privacy lebih terjaga.

3. Tidak mengganggu penerima

Seperti halnya e-mail, SMS sebagai alat komunikasi tidak

mengganggu penerima, karena penerima bisa memutuskan kapan dan

dimana dia akan menjawab pesan tersebut.

Page 39: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

45

4. Handal (reliable)

Jaringan GSM secara umum diakui kehandalannya dalam

mengirimkan data, dan SMS mewarisi kehandalan tersebut.

2.11.2 Mekanisme Kerja SMS

Ketika SMS dikirim ke suatu nomer, SMS tersebut tidak

langsung dikirim ke nomer tersebut, melaikan akan masuk terlebih

dahulu ke SMS Center (SMSC) operator telepon yang digunakan. SMSC

sendiri dapat diartikan sebagai sebuah server yang bertanggung jawab

pada proses pengiriman SMS pada suatu operator. Setelah SMS tersebut

masuk ke SMSC, kemudian barulah diteruskan ke nomer tujuan SMS

tersebut. Bila nomer tujuan sedang offline, SMSC akan menyimpan SMS

tersebut untuk sementara waktu, hingga nomer tujuan online. Stelah

menerima SMS, nomer tujuan akan mengirimkan laporan ke SMSC

bahwa SMS telah berhasil diterima.

Menurut Yunianto (2006, p72) mekanisme kerja pengiriman

SMS dapat dibagi menjadi tiga macam, yaitu :

• Pengiriman SMS dalam satu operator (Intra-Operator SMS)

PonselNomer

PengirimSMS

SMSCNomer

PengirimSMS

PonselNomer

PenerimaSMS

SMS

DeliveryReport

StatusReport

SMS

DeliveryReport

Gambar 2.19 Mekanisme intra-operator SMS

Page 40: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

46

SMS yang dikirimkan oleh nomer pengirim akan dimasukkan terlebih

dahulu ke dalam SMSC operator nomer pengirim, kemudian SMSC

tersebut akan mengirimkan ke nomer yang dituju secara langsung.

Nomer penerima akan mengirimkan delivery rteport yang menyatakan

bahwa SMS telah diterima kepada SMSC. SMSC kemudian

meneruskan report tersebut kepada nomer pengirim SMS, disertai

status report dari proses pengiriman SMS tersebut.

• Pengiriman SMS antar operator yang berbeda (Inter-Operator SMS)

PonselNomer

PengirimSMS

SMSCNomer

PengirimSMS

PonselNomer

PenerimaSMS

SMS

DeliveryReport

StatusReport

SMS

DeliveryReport

SMSCNomer

PengirimSMS

Gambar 2.20 Mekanisme inter-operator SMS

Selain masuk ke SMSC operator pengirim, SMS yang dikirimkan akan

diteruskan oleh SMSC operator pengirim ke SMSC operator penerima

SMS, kemudian baru diteruskan ke nomer tujuan. Delivery report

yang dihasuilkanpun harus melewati mekanisme yang sama sebelum

diterima oleh nomer pengirim.

• Pengiriman SMS dari suatu operator suatu negara ke negara lain (SMS

Internasional)

Page 41: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

47

Mekanisme yang terjadi tidak jauh berbeda dengan mekanisme pada

inter-operator SMS. Perbedaannya hanya pada SMSC nomer

penerima, yang tentu saja adalah SMSC operator luar negeri, dan

penambahan kode negara pada nomer tujuan.

2.11.3 Implementasi Teknologi SMS

Selain digunakan sebagai media pengiriman pesan singkat, SMS

secara umum telah dikembangkan untuk :

1. Sistem pemilihan (polling) dan jajak pendapat (voting)

2. Pengiriman banyak serentak (broadcasting)

a. Pengumuman (announcer)

b. Peringatan (warning)

c. Pengingat (reminder)

d. Penerus pesan (forwarder)

3. Alat kontrol aktivasi (remote controller activation)

4. Penjawab umpan balik otomatis (auto responder)

a. Informasi (info)

b. Pendaftaran bertingkat (cascading digital sign)

c. Pendaftaran tersusun (smart tag digital sign)

5. Perangkat penguji jaringan (tester)

a. Flood SMS/SMS Bomb

b. Floating SMS

Page 42: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

48

Teknologi SMS juga telah dikembangkan untuk mengirimkan

gambar dan suara bersamaan dengan SMS, teknologi ini dikenal dengan

EMS (Enchanced Message Service), MMS (Multimedia Message Service)

dan SmartMessaging, dan telah mendukung pertukaran data terdefinisi

melalui konsep OTA (Over-The-Air), seperti bertukar data buku telepon

(PhoneBook), bertukar jadwal (note, schedule, reminder), dan secara

terbatas bertukar nada dering (ring tones).

2.12 SMS Gateway

2.12.1 Pengenalan SMS Gateway

Gateway menurut kamus Inggris-Indonesia diartikan sebagai

pintu gerbang. Namun pada dunia komputer, gateway berarti jempatan

penghubung antar satu sistem dengan sistem lain yang berbeda, sehingga

dapat terjadi pertukaran data antar sistem tersebut. Dengan demikian

SMS gateway dapat diartikan sebagai suatu penghubung untuk lalu lintas

data-data SMS, baik yang dikirim maupun yang diterima (Yunianto, 2006

p75).

Pada awalnya, SMS gateway dibutuhkan untuk menjembatani

antar SMSC. Hal ini dikarenakan SMSC yang dibangun oleh perusahaan

yang berbeda memiliki protokol komunikasi sendiri yang bersifat pribadi.

Sebagai contoh, Nokia memiliki protokol SMSC yang disebut dengan

CIMD, sedangkan CMG memiliki protokol yang disebut dengan EMI.

Page 43: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

49

SMS gateway ini kemudian ditempatkan diantara kedua SMSC berbeda

tersebut, yang berfungsi sebagai relay bagi keduanya, yang kemudian

akan menterjemahkan data dari protokol SMSC satu ke protokol SMSC

lainnya yang dituju.

SMSC 1 SMSGateway SMSC 2

SMSCProtokol 1

SMSCProtokol 2

Gambar 2.21 Ilustrasi SMS gateway

Namun dengan seiring perkembangan teknologi komputer, baik

software mauipun hardware, dan perkembangan teknologi komunikasi,

SMS gateway tidak lagi dimaksudkan sebagaimana ilistrasi di atas. Saat

ini masyarakat lebih mengartikan SMS gateway sebagai suatu jembatan

komunikasi yang menghubungkan perangkat komunikasi (handphone)

dengan perangkat komputer, yang menjadikan aktifitas SMS menjadi

lebih mudah dan menyenangkan.

Dan pengertian SMS gateway saat ini adalah sebuah program

yang mengkomunikasikan antar sistem operasi komputer, dengan

perangkat komunikasi yang terpasang untuk mengirim atau menerima

SMS (Yonianto, 2006 p76).

Aplikasi SMSGateway

PerangkatKomunikasi

Gambar 2.22 Aplikasi SMS gateway

Page 44: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

50

2.12.2 Perangkat Komunikasi

Perangkat komunikasi yang dimaksud di sini adalah perangkat

yang dapat digunakan untuk mengirim atau menerima SMS. Perangkat-

perangkat tersebut antara lain :

• Telepon seluler (Handphone)

Apapun tipe handphone yang digunakan, bisa dipastikan memiliki

feature untuk SMS, baik yang menggunakan teknologi GSM maupun

CDMA. Namun bukan berarti ponsel-ponsel tersebut dapat digunakan

sebagai piranti SMS gateway. Agar dapat terhubung ke komputer,

ponsel harus memiliki fasilitas koneksi ke perangkat lain, baik dengan

kabel, bluetooth, maupun infrared.

• GSM Modem

GSM Modem adalah sebuah modem wireless yang bekerja dengan

jaringan GSM. Fungsi dari GSM modem ini hampir sama dengan

modem biasa, bedanya terletak pada media yang digunakan untuk

transfer data. Bila modem biasa menggunakan kabel telepon untuk

transfer data, GSM modem menggunakan gelombang radio sebagai

medianya.

• GPRS Modem

GPRS modem memiliki funsi yang mirip dengan GSM modem.

Perbedaan paling mendasar adalah dengan adanya tambahan dukungan

Page 45: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

51

untuk teknologi GPRS pada transmisi datanya. Kecepatan SMS pada

GPRS modem lebih cepat dibanding dengan GSM modem. Selain itu

GPRS modem lebih bermanfaat untuk mengirim atau menerima MMS.

Namun sayangnya tidak semua operator menyediakan layanan

pengiriman SMS melalui GPRS.

2.12.3 Media Koneksi

Media koneksi adalah media yang dapat digunakan untuk

mengirimkan data dari perangkat komunikasi ke komputer atau

sebaliknya (Yunianto, 2006 p77). Media-media tersebut diantaranya

adalah :

• Kabel Data

Ada banyak jenis dan tipe kabel data yang dapat digunakan untuk

menghubungkan sebuah ponsel dengan komputer, hal ini tergantung

tipe dan merk ponsel tersebut.

• Bluetooth

Bluetooth adalah sebuah standar spesifikasi yang mendefinisikan

bagaimana atarperangkat (telepon, komputer, PDA atau perangkat

digital lainnya) dapat saling berkomunikasi, dan berhubungan tanpa

melalui kabel (wireless).

Page 46: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

52

Media yang dipakai dalam transmisi datanya adalah gelombang radio

yang berjalan pada frekwensi ISM 2,4 GHz. ISM (Industrial

Scientific and Medical) merupakan frekwensi bebas yang

diperuntukkan untuk keperluan industri, ilmu pengetahuan, dan

medis. Jarak maksimal untuk komunikasi dengan menggunakan

teknologi bluetooth adalah 100 meter.

• Infrared Data Association (IrDA)

IrDA adalah sebuah organisasi nonprofit yang dibentuk untuk

membuat sebuah standar teknologi transmisi data tanpa kabel dengan

sinar infra merah sebagai medianya.

Prinsip kerjanya, sebuah tranceiver IrDA akan mengirimkan pulsa

infra merah dalam bentuk kerucut dengan sudut berkisar antara15

hingga 30 derajat dari titik tengah. Gelombang infra merah yang

digunakan oleh IrDA adalah gelombang dengan panjang gelombang

antara 0,85 hingga 0,90 mikro meter. Secara umum jarak maksimal

perangkat IrDA agar dapat nerkomunikasi adalah sepanjang 1 meter

tanpa penghalang.

2.12.4 Tools SMS Gateway

Saat ini banyak Tool-tool SMS gateway yang bersifat open

source, beberapa diantaranya adalah sebagai berikut :

Page 47: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

53

• Kannel

Kannel adalah tool SMS gateway yang sangat terkenal dan handal

yang bersifat open dan free. Awalnya kannel ditunjukkan untuk WAP

gateway, namun dikembangkan menjadi SMS gateway. Kannel dapat

digunakan untuk koneksi ke SMSC operator, dapat juga menggunakan

GSM modem sebagai SMSC virtual. Untuk digunakan sebagai wap

atau SMS gateway, dibutuhkan sebuah halaman web sebagai interface-

nya, karena kannel tidak memiliki aplikasi yang dapat digunakan

langsung dalam console.

• Gnokii

Dengan menggunakan gnokii anda dapat langsung mengirim SMS,

membaca SMS, maupun operasi pengelolaan ponsel seperti

memasukkan ringtone, wallpaper, membaca phonebook dan lainnya

secara langsung, baik melalui console maupun aplikasi grafis yang

telah disediakan gnokii.

• jSMSEngine

jSMSEngine adalah tool SMS gateway yang ditulis dengan bahasa

pemrograman Java. Selain mirip dengan Gnokii, perangkat yang

didukung oleh tool ini adalah ponsel dengan teknologi GSM dan GSM

modem. Karena telah menggunakan bahasa Java, maka tool ini dapat

Page 48: 6 BAB 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00338-IF-Bab 2.pdf8 menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata,

54

digunakan oleh semua sistem operasi yang telah mendukung Java,

baik Linux, Windows maupun yang lainnya.

• Smslink

SMS gateway yang dibuat oleh Philippe Andersson ini, terinspirasi

oleh sebuah aplikasi standalone yang dibuat dengan Delphi oleh Nico

Rotty. Mirip dengan Gnokii, smslink juga menyediakan perintah

console dan daemon yang dapat digunakan untuk mengoperasikan

SMS gateway. Bedanya, tool ini sepenuhnya menggunakan AT

Command, sehingga lebih diarahkan pada perangkat-perangkat GSM.

Selain itu, tool ini tidak mampu menangani kirim logo, wallpaper atau

ringtone ke perangkat GSM tersebut.