BAB II TINJAUAN PUSTAKA II.1. Perancangan Perancangan sistem adalah proses pengembangan spesifikasi sistem baru berdasarkan hasil rekomendasi analisis sistem. Dalam tahap perancangan, tim kerja desain harus merancangan spesifikasi yang dibutuhkan dalam berbagai kertas kerja. Kertas kerja itu harus membuat berbagai uraian mengenai input, proses, dan output dari sistem yang diusulkan.(Afrian ; 2014 : 45) Desain/perancangan sistem dapat diartikan sebagai : 1. Tahap setelah analisis dari siklus pengembangan sistem. 2. Pendefinisian atas kebutuhan-kebutuhan fungsional. 3. Persiapan untuk rancang bangun implementasi. 4. Menggambarkan bagaimana sesuatu sistem dibentuk berupa penggambaran perencanaan, pembuatan sketsa, pengaturan dari beberapa elemen terpisah ke dalam satu kesatuan yang utuh dan berfungsi. 5. Konfigurasi komponen software dan hardware sistem.
II.2. Server Server dalam dunia computer adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan atau network operating system. Server juga menjalankan perangkat lunak
9
10
administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat didalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan akses kepada workstation anggota jaringan. Umumnya, diatas sistem operasi
server
terdapat
aplikasi-aplikasi
yang
menggunakan
arsitektur
klien/server. Contoh dari aplikasi ini adalah DHCP Serve, Mail Server, HTTP Server, FTP Server, DNS Server dan lain sebagainya. Setiap sistem operasi server umumnya membundel layanan-layanan tersebut atau layanan tersebut juga dapat diperoleh dari pihak ketiga. Setiap layanan tersebut akan merespons terhadap request dari klien. Sebagai contoh, klien DHCP akan memberikan request kepada server yang menjalankan server DHCP, ketika sebuah klient membutuhkan alamat IP, klien akan memberikan perintah/requestkepada server, dengan bahasa yang dipahami oleh serverDHCP, yakni protocolDHCPitu sendiri. Contoh sistem operasi server adalah Windows NT 3.51, dan dilanjutkan dengan Windows NT 4.0. Saat ini sistem yang cukup popular adalah Windows 2000 Server dan Windows Server 2003, kemudian Sun Solaris, Unix, dan GNU/Linux. Server biasanya terbuhung dengan client dengan kabel UTP dan sebuah Network Card. Kartu jaringan ini biasanya berupa kartu PCI atau ISA. Fungsi server sangat banyak misalnya untuk situs internet, ilmu pengetahuan, atau sekedar penyimpanan data. Namun yang paling umum adalah untuk mengkoneksikan komputer client ke Internet.(Khairil, dkk ; 2013 : 2)
11
II.3. SMS (Short Messaging Service) SMS (Short Messaging Service) adalah suatu layanan untuk mengirimkan pesan pendek (160 karakter) dari satu telepon GSM ke yang lainnya. Layanan ini juga dapat digunakan untuk mengirim pesan teks regular seperti halnya logo operator, nada dering, isi kontak telepon, dan konfigurasi telepon. Layanan SMS berisi beberapa service yang dapat dihubungkan melalui pesan SMS untuk beberapa nomor telepon tertentu, yang dapat menjawab isi yang diminta, apabila tersedia. Sedangkan SMS gateway adalah aplikasi yang menyediakan antarmuka antara pesan SMS dan protocol lainnya dan menghubungkan perangkat mobile (Ponsel, PDA phone dan lain-lain) dengan SMS Center. (Taufan Dwi Prayogo, dkk ; 2011 : 64)
II.3.1. SMS Gateway Istilah gateway, bila dilihat pada kamus Inggris-Indonesia diartikansebagai pintu gerbang. Namun pada dunia komputer, gateway dapat berarti jugasebagai jembatan penghubung antar satu sistem dengan sistem lain yangberbeda, sehingga dapat terjadi suatu pertukaran data antar sistem tersebut.Dengan demikian, SMS gateway dapat diartikan sebagai suatu penghubunguntuk lintas data SMS, baik yang dikrimkan maupun yang diterima. Seiring perkembangan teknologi komputer, baik dari sisi hardwaremaupun software, dan perkembangan teknologi komunikasi, SMS gateway tidak lagi dimaksudkan sebagai ilustrasi diatas. Masayarakat lebih menagartikan SMS gateway sebagai jembatan komunikasi yang menghubungkan perangkat
12
komunikasi (dalam hal ini ponsel) dengan perangkat komputer yang menjadikan aktifitas SMS lebih mudah dan menyenangkan. Pengertian SMS gateway kemudian lebih mengarah pada sebuah program yang mengkomunikasikan antara sistem operasi komputer, dengan perangkat komunikasi yang terpasang untuk mengirim atau menerima SMS. (Asep Pramono ; 2010 : 5)
II.4. Kualitas Pelayanan Kata kualitas memiliki banyak definisi yang berbeda dan bervariasi mulai dari konvensional hingga yang lebih strategis. Definisi konvensional dari kualitas biasanya menggambarkan karakteristik langsung dari suatu produk seperti : 1. Kinerja(performance) 2. Kehandalan(reliability) 3. Mudah dalam penggunaan(easy of use) 4. Estetika(esthetics) dan sebagainya. (Lisda Rahmasari ; 2012 : 41)
Dalam definisi strategis kualitas sebagai : “Segala sesuatu yang memenuhi keinginan atau kebutuhan pelanggan (meeting the needs of customers)”. Pengertian kualitas baik dari segi konvensional maupun strategis yang pada dasarnya mengacu pada pengertian pokok : 1. Kualitas terdiri dari sejumlah keistimewaan produk, baik keistimewaan langsung maupun keistimewaan atraktif yang memenuhi keinginan pelanggan dan dengan demikian memberikan kepuasan atas penggunaan produk.
13
2. Kualitas terdiri dari segala sesuatu yang bebas dari kekurangan atau kerusakan. Istilah “kualitas” ini, mencakup pengertian 1) kesesuaian dengan persyaratan ; 2) kecocokan untuk pemakaian ; 3) perbaikan berkelanjutan : 4) bebas dari kerusakan/cacat ; 5) pemenuhan kebutuhan penggan sejak awal dan setiap saat ; 6) melakukan segala sesuatu secara benar ; dan 7) sesuatu yang biasa membahagiakan pelanggan. (Lisda Rahmasari ; 2012 : 41)
Pada prinsipnya pengertian-pengertian tersebut diatas dapat diterima bila dikaitkan dengan kebutuhan atau kepentingan masyarakat yang menginginkan kualitas pelayanan dalam takaran tertentu. Namun demikian setiap jenis pelayanan public yang diselenggarakan oleh instansi-instansi pemerintahan tentu mempunyai kritaria kualitas tersendiri. Hal ini tentu terkait erat dengan atribut pada masingmasing jenis pelayanan. Ciri-ciri atau atribut-atribut yang ada dalam kualitas tersebut adalah : 1. Ketepatan waktu pelayanan, yang meliputi waktu tunggu dan waktu proses. 2. Akurasi pelayanan, yang meliputi bebas dari kesalahan-kesalahan. 3. Kesopanan dan keramahan dalam memberikan pelayanan. 4. Kemudahan mendapatkan pelayanan, misalnya banyaknya petugas yang melayani dan banyaknya fasilitas pendukung seperti komputer. 5. Kenyamanan dalam memperoleh pelayanan, berkaitan dengan lokasi, ruang tempat pelayanan, tempat parkir, ketersediaan informasi, dan lain-lain. 6. Atribut pendukung pelayanan lainnya seperti ruang tunggu ber AC, kebersihan, dan lain-lain. (Lisda Rahmasari ; 2012 ; 41-42)
14
Dari pendapat diatas diketahui bahwa kualitas pelayanan mencakup berbagai factor. Kualitas pelayanan publik merupakan hasil interaksi dari berbagai aspek, yaitu sistem pelayanan, sumber daya manusia pemberi pelayanan, strategi, dan pelanggan(customers). Pelayanan adalah produk-produk yang tidak kasat mata(tidak dapat diraba) yang melibatkan usaha-usaha manusia dan menggunakan peralatan. Agar sistem kualitas yang berfokus pada pelanggan dapat efektif maka penting diperhatikan beberapa dimensi perbaikan kualitas. Beberapa dimensi atau atribut yang harus diperhatikan dalam perbaikan kualitas jasa antara lain : 1. Ketepatan waktu pelayanan yaitu hal-hal yang perlu diperhatikan disini berkaitan dengan waktu tunggu dan waktu proses. 2. Akurasi pelayanan yaitu berkaitan dengan reliabilitas pelayanan dan bebas kesalahan-kesalahan. 3. Kesopanan dan keramahan dalam memberikan pelayanan yaitu bagi petugas yang berinteraksi langsung dengan eksternal, seperti operator telepon, petugas keamanan, pengemudi, staf administrasi, kasir, petugas penerima tamu, perawat, dan lain-lain. 4. Tanggung jawab yatu berkaitan dengan penerimaan pesanan dan penanganan keluhan dari pelanggan eksternal. 5. Kelengkapan yaitu menyangkut lingkup pelayanan dan ketersediaan sarana pendukung serta pelayanan komplementer lainya.
15
6. Kemudahan mendapatkan pelayanan yaitu erkaitan dengan banyaknya outlet, banyaknya petugas yang melayani seperti kasir, staf administrasi, banyaknya fasilitas pendukung seperti komputer untuk memproses data, dan lain-lain. 7. Variasi model pelayanan yaitu berkaitan dengan inovasi untuk memberikan pola-pola dalam pelayanan. (Lisda Rahmasari ; 2012 : 42-43)
Kualias merupakan suatu kondisi dimanis yang berhubungan dengan produk, jasa, manusia, proses dan lingkungan yang memenuhi atau melebihi harapan. Unutk dapat menilai sejauh mana kualitas pelayanan publik yang diberikan oleh aparatur pemerintah, perlu ada kriteria yang menunjukkan apakah suatu pelayanan public yang diberikan dapat dikatakan baik atau buruk. Ada 10 (sepuluh) dimensi yang harus diperhatikan dalam melihat tolak ukur kualitas pelayanan publik, yaitu sebagai berikut : 1. Tangible, terdiri atas fasilitas fisik, peralatan, personil dan komunikasi; 2. Realiable, terdiri dari kemampuan unit pelayanan dalam menciptakan pelayanan yang dijanjikan dengan tepat; 3. Responsivensess, kemauan untuk membantu konsumen bertanggung jawab terhadap kualitas pelayanan yang diberikan; 4. Competence, tuntutan yang dimilikinya, pengetahuan dan ketrampilan yang baik oleh aparatur dalam memberikan pelayanan; 5. Courtesy, sikap atau perilaku ramah, bersahabat, tanggap terhadap keinginan konsumen serta mau melakukan kontak atau hubungan pribadi;
16
6. Credibility, sikap jujur dalam setiap upaya untuk menarik kepercayaan masyarakat; 7. Security, jasa pelayanan yang diberikan harus bebas dari berbagai bahaya dan resiko; 8. Access, terdapat kemudahan untuk mengadakan kontak dan pendekatan; 9. Communication, kemuan pemberi pelayanan untuk mendengarkan suara, keinginan atau aspirasi pelanggan, sekaligus kesediaan untuk selalu menyampaikan informasi baru kepada masyarakat; 10. Understanding the customer, melakukan segala usaha untuk mengetahui kebutuhan pelanggan. (Lisda Rahmasari ; 2012 : 43-44)
II.5.Java Java adalah bahasa pemrograman yang dapat dijalankan diberbagai computer termasuk telepon genggam. Aplikasi-aplikasi berbasis Javaumumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan ketergantungan implementasi seminimal mungkin. Dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.(Yuhendra, dkk ;2013 : 2)
17
II.6. MySQL MySQL(My Structured Query Language) adalah suatu perangkat lunat database relasi (Relational Database Management System atau RDBMS. MySQL itu berkerja menggunakan bahasa basis data atau yang sering kita dengan dengan sebutan DBMS (Database Management System). Data Language ini terbagi dua macam, yaitu : a. DDL (Data Definition Languange), yaitu perintah yang digunakan untuk pendefinisian suatu struktur data musalnya meniptakan database, field, dan sebagainya. b. DML (Database Manipulation Language), yaitu perintah untuk proses manipulasi data, misalnya create, read, update, delete(CRUD). (Yuhendra, dkk ; 2013 : 2)
II.6.1 SQL Structured Query Language (SQL) adalah bahasa yang digunakan untuk berkomunikasi antara pemain dan komputer. (Yuhendra, dkk ; 2013 : 3)
II.7. Android Android adalah sistem operasi yang berbasis linux untuk telepon seluler seperti telepon pintar dan computer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel.
18
Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Movile, dan Nvidia. Pada saat perilisan perdana Android. 5 November 2007, Android bersama Open Hanset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode-kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).(Tri Listyorini, Ateng Widodo ; 2013 : 26-27) Fiur-fitur pada Android antara lain adalah : 1. Framework aplikasi, memungkinkan daur ulang dan penggantian komponen. 2. Browser terintegrasi berbasi engine Open Source WebKityang juga digunakan di browser IPhone dan Nokia S60V3. 3. Rancangan handset, Platform disesuaikan dengan kebutuhan VGA (Video Graphics Adapter) yang lebih besar, library grafik 2D dan 3D yang berdasarkan pada spesifikasi OpenGL ES 1.0 serta layout smartphoneyang tradisional. 4. Multi-touch. Android memiliki dukungan bawaan untuk multi-touch yang tersedia pada handsetterbaru seperti HTC Hero.
19
5. Dukungan hardware tambahan. Android mendukung penggunaan kamera, layar sentuh, GPS (Global Positioning System), pengukur kecepatan, magnetometer, akselerasi 2D bit blits (dengan orientasi hardware, scaling, konversi format piksel) dan akselerasi grafis 3D. (Tri Listyorini, Ateng Widodo ;2013 : 27)
II.7.1. Aplikasi Native Aplikasi native adalah aplikasi yang secara khusus ditujukan untuk platform mobile tertentu dan menggunakan bahasa pemrograman serta perangkat lunak pengembangan sesuai dengan platform tersebut. Sebagai contoh , aplikasi native Android ditulis menggunakan bahasa pemrograman Java dan Tool Eclipse, sementara aplikasi iOS/iPhone dibuat dengan menggunakan bahasa Objective-C dan tool Xcode. Kelebihan : 1. Perfoma yang sangat baik karena ditulis secara native untuk platform spesifik. 2. Mampu mengakses semua fitur perangkat keras smartphone, seperti info device, accelerator, kamera, kompas, file dan lain sebagainya. 3. Menghasilkan antarmuka look and feel yang alami dengan sangat baik. Kekurangan : 1. Pengembangan yang tidak mudah karena menggunakan lingkungan, bahasa dan API (Application Programming Interface) spesifik. 2. Aplikasi hanya berjalan pada platform yang sudah dispesifikasikan diawal pengembangan. Apabila ingin dikembangkan diplatform lain maka harus
20
ditulis ulang dengan tool pengembangan yang sesuai. (Didik Dwi Prasetsya ; 2013 : 2)
II.7.2. Tool Pengembangan Android Untuk mengembangkan sistem operasi Android dapat menggunkan Mac, Windows atau PC. Linux, semua tool yang dibutuhkan adalah gratis dan dapat di download dari web. 1. Java JDK : Andorid berjalan dengan menggunakan resource dari Java SE Development Kit (JDK). 2. Android SDK : Android SDK berikan Debugger, library, dokumentasi, kode contoh dan tutorial. Andorid SDK dapat didownload dari alamat : http://developer.andorid/sdk/index.html . 3. Andorid Development Tools (ADT) : Plug-in Android Development Tools (ADT) untuk mendukung pembuatan dan ;proses debugging dari aplikasi Android yang sedang buat.
II.7. 3. Komponen Aplikasi Android Android memiliki empat komponen. Meliputiactivity, intent reciever, service dan contentprovider. Komponen aplikasi dapat disebut jugasebagai elemen-elemen aplikasi yang bias dikembangkan pada platform android. Perludiketahui bahwa untuk membangun sebuah aplikasipada android bahasa pemrograman yang digunakanadalah Java, seperti halnya J2ME aplikasi padaperangkat selular, Java yang dikembangkan padasistem operasi android
21
memiliki
struktur
yangberbeda.
Program
aplikasi
yang
dikembangkan
padaandroid tidak memiliki fungsi main. Karakteristiklain adalah, bahwa semua aplikasi di android dapatmenggunakan object yang dibangun oleh aplikasiyang lain. Contoh, jika ingin menggunakan sebuahobject scrollbar, tidak harus membuatnya sendiri,namun bisa saja memanggilobject yang berada padaaplikasi lainnya.(Fahmi Fajaruddin, dkk ; 2012 : 2)
II.7.4.Android User Interface (UI) User Interface (UI) pada android dapat dibangun dengan dua cara, dengan mendefenisikan XML-Code atau dengan menuli-Java-Code. Mendefinisikan struktur GUI dalam XML sangat lebih baik, karena salah satu prinsip ModelViewer-Control bahwa UI harus selalu dipisahkan dari logika-program. Selain itu mengadaptasi program dari satu resolusi layar ke yang lain adalah jauh lebih mudah.
II.7.5. Siklus Hidup Komponen Android Siklus hidup dari Android merupakan logika dasar aliran sebuah aplikasi yang dibangun. Untuk komponen aplikasi activity diagram aliran program tampak pada gambar II.1.
onCreate Dipanggil ketika activity pertama dijalankan. Pada saat onCreateini dijalankan akan menampilkan layout pada background.
onStart
22
Dipangil sebelm activity menampilkan layout pada layar perangkat selular android, ketikan onStart berjalan maka activity pada sebuah aplikasi dapat berjalan dalam foreground activity yang nantinya dapat dipanggil oleh fungsi onResume.
onResume Ketika ingin menampilkan foreground activity menjadi background activity maka fungsi ini lah yang digunakan untuk memanggil kembali menjadi background activity.
onPause Dipanggil ketika activity tidak lama akan terlihat karena activity lain akan berpindah ke foreground activity.
onStop Dipanggil ketika activity tidak lama ditutup kembali karena akan dijalankan pada foreground activity.
onDestroy Dipanggil untuk menghentikan seluruh proses activity, biasanya fungsi onDestroy digunakan semua method di dalam activity telah selesai dikerjakan.
23
Gambar II.1.Diagram Alir Siklus Android (Sumber : Fahmi Fajaruddin, dkk ; 2012 : 2)
II.7.6. Kelebihan Sistem Operasi Android. Android menyediakan berbagai firut pendukung untuk memudahkan pengembang untuk mengembangkan berbagai macam aplikasi didalamnya.
24
Berikut ini adalah fitur-fitur pendukung yang disediakan oleh system operasi android :
Storage
Network
Multimedia
GPS
Phone Service
II.8. Aplikasi Terdistribusi Arsitektur aplikasi adalah pandangan secara konseptual terhadap struktur dari sebuah aplikasi. Pada umumnya sebuah aplikasi terdiri dari kode program untuk pengolahan data, business logic dan user interface. Di dalam pengembangan aplikasi enterprisetradisional digunakan paradigma yang bersifat monolitik, artinya basis data, business logic dan user interface digabung kedalam satu aplikasi yang sama. Akibatnya ketika terjadi perubahan, seluruh sistem perlu dikompilasi ulang, sementara perubahan yang dilakukan tidak terlalu banyak. Kelemahan lainnya, reusability dari modul-modul sangat rendah. Jenis-jenis arsitektur aplikasi terdistribusi yang dikenal dalam lingkungan pengembangan perangkat lunak iantaranya adalah 2-Tier Client-Server onIntranet, 2-Tier Client-Server on Internet, 3-Tier Client-Server on Intranet, 3-Tier ClientServer on Internet. Saat ini aplikasi yang ada sebagian besar menggunakan arsitektur 2-tier atau lebih dikenal dengan aplikasi client/server yang dijalankan di intranet
25
maupun internet. Pada arsitektur ini, klien menangani kode untuk pemrosesan data dan antarmuka dengan pemakai dari aplikasi. Sedangkan data disimpan dan dikelola oleh komputer server. Untuk mengakses data yang perlukan maka komputer klien melakukan hubungan secara langsung ke komputer server, dan hubungan ini seringkali dilakukan selama aplikasi dijalankan. Arsitektur 2-tier bekerja dengan baik pada lingkungan yang banyaknya pemakai terbatas, namun jika digunakan pada sistem dengan jumlah pemakai yang sangat banyak, kinerja dari system akan berkurang. Hal ini dikarenakan terbatasnya hubungan yang tersedia antara Klien dan Server. Selain itu aplikasi yang ada pada klien relative berukuran besar, karena setiap aplikasi di klien mengandung kode untuk pemrosesan data (sering disebut dengan istilah fat client). Repotnya lagi, jika kode untuk pemrosesan data memerlukan perubahan, maka aplikasi harus didistribusikan ulang ke seluruh komputer yang ada pada klien. Kemudian timbul ide untuk melakukan sedikit perbaikan dengan cara memindahkan kode untuk pemrosesan data kepada komputer server. Misalnya dengan menggunakan fitur Stored Procedures, yang disediakan oleh beberapa DBMS Server. Arsitektur ini terkadang disebut dengan arsitektur "two-and-a-half tier.". Namun dari segi scalability dan reuseability, arsitektur ini masih memiliki keterbatasan. Masalah keterbatasan scalability dan reuseability ini akhirnya dapat diperbaiki secara siginifikan dengan diperkenalkannya arsitektur 3-tier. Pada model
ini,
kode
untuk
antar
muka
dengan
pemakai,
pemrosesan
data dan pengaksesan data dipisahkan satu dengan yang lainnya, namun perlu
26
dicatat bahwa pemisahan yang dilakukan hanya pada sisi logik saja, bukan pemisahan secara fisik. Dengan menggunakan model arsitektur 3-tier , maka sumber daya yang ada misalnya koneksi ke basis data dapat digunakan bersama oleh beberapa klien. Pada arsitektur ini klien tidak lagi berhubungan secara langsung dengan data server, karena komunikasi untuk melakukan permintaan data dilakukan melalui business service. Hal ini berbeda dari komunikasi klien dan database pada aplikasi 2-tier. (Sandra Islama Putra ; 2005 : A12-A13)
II.9. Aplikasi Berbasis Client-Server Client-server adalah komputer induk (Server) digunakan
untuk
dan
model
pemrograman
PC untuk
bertukar data.
Koneksi
yang
user (Client).
membutuhkan Model
client-server biasa
tersebut digunakan
pemrograman socket yang telah dikembangkan oleh Berkeley University yang mempunyai IP (Internet Protocol) address dan Port(nomor id untuk dalam koneksi). Socket sudah menjadi bagian utama dalam jaringan seperti WSA (Window Socket Agent) untuk Windows, Java Socket untuk Java dan Sock32 untuk pemrograman berbasis DOS. Telepon GSM (Groupe Speciale Mobile) digunakan oleh lebih dari satu milyar orang di lebih dari 200 negara. GSM dalam pensinyalan dan channel (saluran data) pembicaraan
adalah
digital
sehingga muncul teknologi General Paket Radio Service (GPRS) yang merupakan sebuah layanan data untuk
mobile device. Kelas GPRS sudah
mencapai class10 yang mencapai transfer rate mulai dari 56 kbps-114 kbps(kilo
27
bit per second) . Mobile Information Device Profile digunakan menambahkan fungsi networking, menyediakan standar komponen user interface,
dan
penyimpanan lokal untuk CLDC. Profil ini terbatas pada tampilan dan kemampuan penyimpanan pada device, menggunakan networking HTTP 1.1. Connected
Device
Configuration/Connected
Limited
Device
configuration mendefinisikan kebutuhan minimum Java Libraries dan kapabilitas yang dipunyai oleh para developer J2ME. CLDC ditujukan untuk pengunaan kelas bawah dari suatu perangkat elektornik, dengan pengalokasian memori sekitar 512 KB. Oleh karena itu CLDC ditujukan untuk wireless java seperti handphone yang membuat user mampu mengunakan MIDlet. CDC digunakan mampu menjalankan aplikasi J2SE untuk perangkat yang mempunyai memori lebih dari 2 MB dan memiliki banyak kemampuan proses pada processor-nya. Biasa ditemui pada high-end PDA, smart phone,dan web telephone . (Wiranto Herry Utomo, dkk ; 2009 : 166 )
II.10. UML (Unified Modelling Language) Unified Modelling Language merupakan alat perancangan sistem yang berorientasi pada objek. Secara filosofi kemunculan UML diilhami oleh konsep yang telah ada yaitu konsep permodelan Object Oriented (OO), karena konsep ini menganalogikan sistem seperti kehidupan nyata yang didominasi oleh obyek dan digambarkan atau dinotasikan dalam simbol-simbol yang cukup spesifik maka OO memiliki proses standard dan bersifat independen.
28
UML pengembangan
diagram
memiliki
tujuan
utama
untuk
membantu
proyek berkomunikasi, mengeksplorasi potensi
tim
desain, dan
memvalidasi desain arsitektur perangkat lunak atau pembuat program. Komponen atau notasi UML diturunkan dari 3 (tiga) notasi yang telah ada sebelumnya yaitu Grady Booch, OOD (Object-Oriented Design), Jim Rumbaugh, OMT (Object Modelling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). UML mempunyai tiga kategori utama yaitu struktur diagram, behaviour diagram dan interaction diagram. Dimana masing-masing kategori tersebut memiliki diagram yang menjelaskan arsitektur sistem dan saling terintegrasi. (Haviluddin ; 2011 : 1) Menurut Haviluddin (2011) Secara filosofi UML diilhami oleh konsep yang telah ada yaitu konsep permodelan Object Oriented karena konsep ini menganalogikan sistem seperti kehidupan nyata yang didominasi oleh obyek dan digambarkan atau dinotasikan dalam simbol-simbol yang cukup spesifik. Berikut gambar dari diagram UML
29
Gambar II.2. Diagram UML (Sumber : Haviluddin ; 2011 : 2)
Komponen-komponen UML Sejauh ini para pakar merasa lebih mudah dalam menganalisa dan mendesain atau memodelkan suatu sistem karena UML memiliki seperangkat aturan dan notasi dalam bentuk grafis yang cukup spesifik (Sugrue J. 2009). Komponen atau notasi UML diturunkan dari 3 (tiga) notasi yang telah ada sebelumnya yaitu Grady Booch, OOD (Object-Oriented Design), Jim Rumbaugh, OMT (Object Modelling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). (Haviluddin ; 2011 : 3) Pada UML versi 2 terdiri atas tiga kategori dan memiliki 13 jenis diagram yaitu :
30
A. Struktur Diagram Menggambarkan elemen
dari spesifikasi dimulai dengan kelas, obyek, dan
hubungan mereka, dan beralih ke dokumen arsitektur logis dari suatu sistem. Struktur diagram dalamUML terdiri atas : 1. Class Diagram Class diagram menggambarkan struktur statis dari kelas dalam sistem anda dan menggambarkan atribut, operasi dan hubungan antara kelas. Class diagram membantu dalam memvisualisasikan struktur kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Selama tahap desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat. Class memiliki tiga area pokok : a. Nama (dan stereotype) b. Atribut c. Metoda
Gambar II.3. Contoh Notasi Class Diagram (Sumber : Haviluddin ; 2011 : 3)
31
2. Object diagram Object diagram menggambarkan kejelasan kelas dan warisan dan kadangkadang diambil ketika merencanakan kelas, atau untuk membantu pemangku kepentingan non-program yang mungkin menemukan diagram kelas terlalu abstrak. Berikut notasi object diagram :
Gambar II.4. Contoh Notasi Object Diagram (Sumber : Haviluddin ; 2011 : 3)
3. Component diagram Component
diagram menggambarkan struktur fisik dari kode, pemetaan
pandangan logis dari kelas proyek untuk kode aktual di mana logika ini dilaksanakan.
32
Gambar II.5. Contoh Notasi Object Diagram (Sumber : Haviluddin ; 2011 : 3)
4. Deployment diagram Deployment diagram memberikan gambaran dari arsitektur fisik perangkat lunak, perangkat keras, dan artefak dari sistem. Deployment diagram dapat dianggap sebagai ujung spektrum dari kasus penggunaan, menggambarkan bentuk fisik dari sistem yang bertentangan dengan gambar konseptual dari pengguna dan perangkat berinteraksi dengan sistem.
33
Gambar II.6. Contoh Notasi Deployment Diagram (Sumber : Haviluddin ; 2011 : 4)
5. Composite structure diagram Sebuah diagram struktur komposit mirip dengan diagram kelas, tetapi menggambarkan bagian individu, bukan seluruh kelas. Kita dapat menambahkan konektor untuk menghubungkan dua atau lebih bagian dalam atau ketergantungan hubungan asosiasi. 6. Package diagram Paket diagram biasanya digunakan untuk menggambarkan tingkat organisasi yang tinggi dari suatu proyek
software. Atau dengan kata lain untuk
menghasilkan diagram ketergantungan paket untuk setiap paket dalam Pohon Model. B. Behavior Diagram 1. Usecase Diagram
34
Diagram yang menggambarkan actor, use case dan relasinya sebagai suatu urutan tindakan yang memberikan nilai terukur untuk aktor. Sebuah use case digambarkan sebagai elips horizontal dalam suatu diagram UML use case.
Gambar II.7. Contoh Notasi Usecase Diagram (Sumber : Haviluddin ; 2011 : 4) 2. Activity diagram Menggambarkan aktifitas-aktifitas, objek, state, transisi state dan event. Dengan kata lain kegiatan diagram alur kerja menggambarkan perilaku sistem untuk aktivitas 3. State Machine diagram Menggambarkan state, transisi state dan event.
35
Gambar II.8. Contoh Notasi State Machine Diagram (Sumber : Haviluddin ; 2011 : 4)
C. Interaction diagram 1. Communication diagram Serupa dengan sequence diagram, tetapi diagram komunikasi juga digunakan untuk memodelkan perilaku dinamis dari use case. Bila dibandingkan dengan Sequence
diagram, diagram komunikasi lebih terfokus pada menampilkan
kolaborasi benda daripada urutan waktu. 2. Interaction Overview diagram Interaksi overview diagram berfokus pada gambaran aliran kendali interaksi dimana node adalah interaksi atau kejadian interaksi. 3. Sequence diagram Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap, termasuk kronologi (urutan) perubahan secara logis yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram 4. Timing diagram Timing diagram di UML didasarkan pada diagram waktu hardware awalnya dikembangkan oleh para insinyur listrik.(Haviluddin ; 2011 : 3-5)
Untuk menggambarkan analisa dan desain diagram, UML memiliki seperangkat notasi yang akan digunakan ke dalam tiga kategori diatas yaitu
36
struktur diagram, behaviour diagram dan interaction diagram. Berikut beberapa notasi dalam UML diantaranya : 1.
Actor, menentukan peran yang dimainkan oleh user atau sistem lain yang berinteraksi dengan subjek. Actor adalah segala sesuatu yang berinteraksi langsung dengan sistem aplikasi komputer, seperti orang, benda atau lainnya. Tugas
actor
adalah memberikan informasi kepada sistem dan dapat
memerintahkan sistem untuk melakukan sesuatu tugas.
Gambar II.9. Notasi Actor (Sumber : Haviluddin ; 2011 : 6)
2.
Class diagram Notasi utama dan yang paling mendasar pada diagram UML adalah notasi untuk mempresentasikan suatu class beserta dengan atribut dan operasinya. Class adalah pembentuk utama dari sistem berorientasi objek.
Gambar II.10. Notasi Class
37
(Sumber : Haviluddin ; 2011 : 6)
3.
Use Case dan use case specification, Use case adalah deskripsi fungsi dari sebuah sistem perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user
(pengguna) sebuah sistem
dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan sistem disebut skenario. 4.
Realization,Realization menunjukkan hubungan bahwa elemen yang ada di bagian tanpa panah akan merealisasikan apa yang dinyatakan oleh elemen yang ada di bagian dengan panah.
5.
Interaction, Interaction digunakan untuk menunjukkan baik aliran pesan atau informasi antar obyek maupun hubungan antar obyek.
6.
Dependency, Dependency merupakan relasi yang menunjukan bahwa perubahan pada salah satu elemen memberi pengaruh pada elemen lain. Terdapat 2 stereotype dari dependency, yaitu include dan extend. Include menunjukkan bahwa suatu bagian dari elemen (yang ada digaris tanpa panah) memicu eksekusi bagian dari elemen lain (yang ada di garis dengan panah). Extend menunjukkan bahwa suatu bagian dari elemen di garis tanpa panah bisa disisipkan ke dalam elemen yang ada di garis dengan panah. (Haviluddin ; 2011 : 6-7)