digunakan, pengguna akhir harus didorong untuk mengomentari fitur dan fungsi, kemudahan penggunaan, kehandalan dan karakteristik lain yang sesuai.
2.11 Simple Pattern Matching
Menurut Jhonson, M a simple pattern-matching algorithm for recovering empty nodes and their antecedents : 2009.
Secara garis besar, algoritma ini dapat dikategorikan sebagai contoh dari pendekatan the Memory-Based Learning, dimana
kedua pola ekstraksi dan pencocokkan pola melibatkan kunjungan rekursif ke semua sub-pohon dari pohon yang bersangkutan. Hal ini juga dapat dianggap sebagai jenis
transformasi pohon, jadi keseluruhan arsitektur sistem termasuk parser adalah contoh dari transform-detransform.
Algoritma ini memiliki 2 fase. Fase pertama dari algoritma mengekstrak pola dari pohon di training corpus. Pada fase kedua, menggunakan hasil ekstraksi pola untuk
dimasukkan ke dalam node kosong dan mengindex pendahulu mereka di pohon yang tidak memiliki node kosong. Sebelum pohon digunakan di fase training and
insertion , mereka melewati langkah praproses, yang melabelkan ulang node
preterminal yang mendominasi kata kerja bantu dan transisi.
2.12 Unified Modelling Language UML
Unified Modeling Language UML adalah bahasa pemodelan visual untuk
tujuan umum yang digunakan untuk menentukan, memvisualisasi, membangun, dan mendokumentasikan artefak dari perangkat lunak sistem. UML digunakan untuk
memahami, mendesain, menjelajah, mengonfigurasi, memelihara dan mengontrol
26
informasi tentang sistem tersebut. UML dimaksudkan untuk digunakan dengan semua metode pengembangan, tahapan-tahapan siklus hidup, domain-domain aplikasi dan
media. Pemodelan bahasa ini dimaksudkan untuk menyatukan pengalaman masa lalu tentang teknik pemodelan dan untuk memasukkan praktik-praktik terbaik perangkat
lunak saat ini menjadi pendekatan standar. Spesifikasi UML tidak mendefinisikan proses standar tetapi dimaksudkan
untuk menjadi berguna dengan proses pengembangan berulang. Hal ini dimaksudkan untuk mendukung proses pengembangan dengan object oriented. UML menyimpan
informasi tentang struktur statis dan perilaku dinamis suatu sistem. Sebuah sistem dimodelkan sebagai koleksi benda-benda diskrit yang berinteraksi untuk melakukan
kerja yang pada akhirnya bermanfaat. Struktur statis mendefinisikan jenis-jenis objek penting untuk sistem dan pelaksanaannya, serta sebagai hubungan antara objek-objek.
Perilaku dinamis mendefinisikan sejarah obyek dari waktu ke waktu dan komunikasi antara objek-objek untuk mencapai tujuan Rumbaugh, et al., 2006: 3.
UML bukanlah bahasa pemrograman. UML dapat digunakan untuk menulis program, tetapi tidak memiliki kemudahan sintak dan semantik yang mana
kebanyakan bahasa pemrograman menyediakan untuk memudahkan tugas pemrograman. Beberapa tools dapat menyediakan generator kode dari UML ke dalam
berbagai bahasa pemrograman, serta membangun reverse engineered model dari program yang ada. UML adalah bahasa pemodelan untuk tujuan umum. Untuk
domain khusus, seperti tata letak GUI, desain sirkuit VLSI, atau kecerdasan buatan berbasis aturan, sebuah alat yang lebih khusus dengan bahasa khusus yang lebih
27
tepat. UML merupakan bahasa pemodelan diskrit. Hal ini tidak dimaksudkan untuk model sistem kontinyu seperti yang ditemukan di bidang teknik dan fisika. UML
dimaksudkan untuk menjadi tujuan universal bahasa pemodelan untuk sistem diskrit seperti yang terbuat dari perangkat lunak, firmware atau logika digital Rumbaugh, et
al ., 2006: 4.
Tabel 2.1 UML Views and Diagrams
Major Area View
Diagrams Main Concepts
Structural static view class diagram
association, class, dependency,
generalization, interface, realization,
design view internal structure
connector, interface, part, port, provided interface,
role required interface
collaboration diagram connector, collaboration, collaboration use, role
component diagram component, dependency,
port, provided interface, realization, required
interface, subsystem
use case view use case diagram
actor, association, extend, include, use case, use case
generalization
Dynamic state machine
view state machine
diagram completion transition, do
activity, effect, event, region, state, transition,
trigger
activity view activity diagram
Action, activity, control flow, control node, data
flow, exception, exception region, fork, join, object
node, pin
interaction view
sequence diagram occurrence specification,
execution specification, interaction, interaction
28
fragment, interaction operand, lifeline, message,
signal
communication diagram
collaboration, guard condition, message, role,
sequence number
Physical deployment
view deployment diagram
artifact, dependency, manifestation, node
Model Management
model management
view package diagram
import, model, package,
profile package diagram
constraint, profile, stereotype, tagged value
Sumber: Rumbaugh, et al., 2006: 26
2.12.1 Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Dalam pembuatan Use Case Diagram, yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case
merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create
sebuah daftar belanja, dan sebagainya. Seorangsebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan
pekerjaan-pekerjaan tertentu. Sebuah use case dapat meng-include fungsionalitas use case lain
sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case
yang di-include akan dipanggil setiap kali use case yang meng-include
29
dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case
lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-
extend use case lain dengan behaviour-nya sendiri. Sementara hubungan
generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain Dharwiyanti Wahono, 2003: 4.
Gambar 2.2 Contoh Use Case Diagram
Sumber: Rumbaugh, et al., 2006: 695
2.12.2 Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem
yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram
merupakan state diagram khusus, di mana sebagian besar state
adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya internal processing. Oleh karena itu activity diagram tidak
30
menggambarkan behaviour internal sebuah sistem dan interaksi antar subsistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-
jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan,
sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas Dharwiyanti Wahono, 2003: 7.
Gambar 2.3 Contoh Activity Diagram
Sumber: Rumbaugh, et al., 2006: 699
31
2.12.3 Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan
di sekitar sistem termasuk pengguna, display, dan sebagainya berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi
vertikal waktu dan dimensi horizontal objek-objek yang terkait. Sequence diagram
biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai tanggapan dari sebuah event untuk
menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output
apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek
lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasimetode dari class. Activation bar menunjukkan lamanya eksekusi
sebuah proses, biasanya diawali dengan diterimanya sebuah message Dharwiyanti Wahono, 2003: 8.
Hal pertama yang dapat diperhatikan dalam sequence diagram adalah sequence diagram
mengindikasikan perbedaan tentang bagaimana partisipan berinteraksi. Ini adalah salah satu keunggulan diagram interaksi, mereka tidak
begitu baik untuk menunjukkan detail dari algoritma, seperti loops, dan keadaan kondisional, tetapi mereka memperjelas proses-proses yang dilakukan
oleh masing-masing partisipan Fowler, 2004:55
32
Gambar 2.4
Contoh Sequence Diagram Sumber: Rumbaugh, et al., 2006: 700
33
2.12.4 Deployment Diagram
Deployment diagram menggambarkan detail bagaimana komponen di-
deploy dalam infrastruktur sistem, di mana komponen akan terletak pada
mesin, server atau piranti keras apa, bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Sebuah
node adalah server, workstation, atau piranti keras lain yang digunakan untuk
men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node misalnya TCPIP dan requirement dapat juga didefinisikan dalam diagram ini
Dharwiyanti Wahono, 2003: 10.
Gambar 2.5 Contoh Deployment Diagram
Sumber: Rumbaugh, et al., 2006: 701
34
2.13 Adobe Flash Lite
Menurut Elron, Janousek, Joos 2009: 12 Adobe Flash Lite adalah versi yang dioptimalkan Flash Player yang didukung oleh beberapa hal berikut, perangkat
mobile umum:
• Sistem operasi Symbian • Sistem operasi Windows Mobile
• Binary Runtime Environment Wireless BREW platform Selain itu, perangkat mobile yang sudah mendukung Flash Lite, termasuk
Chumby, BenQ, China Mobile, iRiver, KDDI, Kodak, LG, Motorola, Nokia, NTT DoCoMo, Samsung, Sony Ericsson, dan Verizon Wireless.
Flash Lite memberikan kelebihan luar biasa hal ini memungkinkan akses ke
sekitar 80 persen dari ponsel di seluruh dunia. Dengan menggunakan platform Flash Lite
, mereka tidak tergantung pada sistem operasi API dan dapat memanfaatkan “write once, run anywhere”
pengembangan praktis, karena aplikasi dapat dengan mudah melakukan porting ke sistem operasi yang berbeda, seringkali dengan tidak
ada perubahan, daripada mengembangkan aplikasi baru untuk setiap sistem operasi. Menurut Elron, Janousek, Joos 2009: 13 arsitektur Flash Lite adalah versi
Flash yang dioptimalkan dan termasuk komponen berikut:
1. Device API: Flash Lite memiliki akses ke beberapa layanan ponsel seperti
SMS, tingkat baterai, dan lain-lain dengan memanfaatkan fungsi fscommand dan fscommand2.
35
2. Network: HTTP dan HTTPS panggilan dapat dibuat untuk mengambil data,
menggunakan getURL dan e-mail, menggunakan mailto.API lainnya, seperti loadMovieNum, loadVariables, dan loadVariablesNum, dapat
digunakan untuk mengambil data dan media pada saat runtime. SWX dan XML keduanya didukung dengan Flash Lite 2 dan 3.
3. Drawing API: API ini memungkinkan penciptaan dinamis atau statistik dari
vektor grafis dan animasi. 4.
Dynamic Data: data eksternal XML dapat dimuat dan diuraikan secara langsung, serta menggunakan proxy bila diperlukan.
5. Persistent data: Anda dapat menyimpan objek-objek yang lokal atau mobile
di direktori sistem ponsel. Adobe Flash Lite Player adalah runtime environment ringan yang
teroptimalisasi untuk ponsel, dan embedded portable device lainnya. Pemutarnya, memungkinkan alat-alat non-PC ini untuk memainkan konten Flash Lite.
Berikut adalah beberapa kelebihan dari Adobe Flash Lite: 1.
Friendly development environment, Adobe Creative Suite dan Device Central menyediakan lingkungan yang baik untuk pengembangan perangkat
lunak mobile yang cepat dan pengujian interaktif yang luas antar target device
dan platform. 2.
Vector support, selain mendukung Bitmap, Flash Lite memberikan pengolahan gambar vector yang memungkinkan untuk scaling, rotasi,
dan transformasi.
36
3. Content portability, Flash lite adalah salah satu runtime mobile terbaik
untuk migrasi dari konten desktop ke dalam konten mobile dengan sedikit perubahan.
4. Small file size, karena SWF adalah format biner, maka ukuran konten
dari flash lite sangatlah kecil, yang ideal untuk penggunaan pada perangkat mobile dimana memory adalah komoditas yang sangat
berharga dalam perangkat mobile. Sedangkan, beberapa kekurangan dari Adobe Flash Lite adalah:
a. Learning the tools, untuk pengembang baru, membutuhkan beberapa waktu
untuk mempelajari IDE, timeline dan konteks seperti movieClips, button. Namun, memepelajari actionScript lebih mudah daripada mempelajari
bahasa pemrograman native Symbian C++, Objective-C, dan memiliki kemiripan dengan bahasa pemrograman Web javaScript.
b. Fragmentation, fragmentasi perangkat masih menjadi kendala diantara
platform flash Lite. Versi flash lite yang berbeda dapat menjadi kendala, diantaranya kemampuan dari dari tiap versi yang berbeda, juga dukungan
actionScript yang berbeda di tiap versinya.
c. Developer adoption rate, Flash lite di adopsi oleh OEM dan data provider.
Di awal evolusinya, hanya terdapat sedikit pengembang dikarenakan terbatasnya distribusi untuk menghasilkan keuntungan dari penjualan konten
Flash lite. Hal ini berubah di tahun 2008, setelah Adobe mengubah fokusnya
37
dari menjual Flash lite runtime kepada OEM ke membantu pengembang untuk mengembangkan kontennya ke dalam jutaan perangkat yang telah
terpasang pemutar Flash Lite.
2.14 PHP