bab 2 landasan teori 2.1 crm 2.1.1 pengertian crmthesis.binus.ac.id/asli/bab2/2006-2-01239-if-bab...
Post on 17-Mar-2019
225 Views
Preview:
TRANSCRIPT
7
BAB 2
LANDASAN TEORI
2.1 CRM
2.1.1 Pengertian CRM
Definisi dari CRM (Customer Relationship Management) adalah
proses dari beberapa tahapan yang terdiri dari identifikasi, akuisisi, retensi
dan pengembangan customer yang memberikan kontribusi yang besar
kepada perusahaan dengan cara memfokuskan strateginya yaitu dengan
cara menjaga hubungan dengan customer secara efektif dan efisien
sehingga hubungan tersebut menjadi hubungan seumur hidup (“lifetime”)
yang menguntungkan. (www.ciptamaya.com, 2005)
Menurut Kalakota dan Robinson (2001, p172), CRM didefinisikan
sebagai integrasi dari penjualan, pemasaran dan strategi pelayanan yang
membantu perusahaan agar lebih baik dalam menangani hubungan dengan
pelanggan dengan melakukan interaksi dengan mereka dalam berbagai
cara.
Menurut Danardatu (2003, p2), CRM dalam perkembangannya juga
bisa didefinisikan sebagai berikut:
1. CRM adalah sebuah istilah industri TI untuk metodologi, strategi,
perangkat lunak (software) dan atau aplikasi berbasis web lainnya yang
mampu membantu sebuah perusahaan (enterprise, kalau besar
ukurannya) untuk mengelola hubungannya dengan para pelanggan.
8
2. CRM adalah usaha sebuah perusahaan untuk berkonsentrasi menjaga
pelanggan (supaya tidak lari ke pesaing) dengan mengumpulkan segala
bentuk interaksi pelanggan baik itu lewat telepon, email, masukan di
situs atau hasil pembicaraan dengan staf sales dan marketing.
3. CRM adalah sebuah strategi bisnis menyeluruh dari suatu perusahaan
yang memungkinkan perusahaan tersebut secara efektif bisa mengelola
hubungan dengan para pelanggan.
2.1.2 Tujuan dari CRM
CRM sendiri menurut Kalakota dan Robinson (2001, p173) memiliki
tujuan-tujuan sebagai berikut:
1. Menggunakan hubungan yang sudah ada untuk meningkatkan
pendapatan.
Hal ini berarti mempersiapkan pandangan yang komprehensif dari
pelanggan untuk memaksimalkan hubungan mereka dengan
perusahaan baik melalui up-selling atau cross-selling dan pada saat
yang sama, meningkatkan profit dengan identifikasi, menarik
perhatian, dan mempertahankan pelanggan terbaik.
2. Menggunakan informasi yang terintegrasi untuk pelayanan yang
memuaskan.
Dengan menggunakan informasi dari pelanggan untuk meningkatkan
pelayanan yang lebih baik berdasarkan kebutuhan mereka, perusahaan
dapat menghemat waktu pelanggan dan menyingkirkan segala
kekecewaan dari pelanggan. Sebagai contoh, pelanggan seharusnya
tidak perlu untuk mengulangi informasi yang sama ke berbagai
9
departemen perusahaan secara terus-menerus. Pelanggan akan senang
jika pihak perusahaan tahu banyak tentang apa yang mereka inginkan.
3. Menciptakan saluran proses dan prosedur komunikasi yang konsisten
dan berulang.
Dengan banyaknya saluran komunikasi dengan pelanggan, semakin
banyak pula karyawan yang terlibat di dalam transaksi penjualan.
Tanpa memperhatikan ukuran atau kompleksitas, perusahaan harus
meningkatkan konsistensi proses dan prosedural di dalam pengaturan
terhadap pelayanan, pemasaran dan penjualan.
2.1.3 Tahapan dari CRM
Menurut Kalakota dan Robinson (2001, p174), ada tiga tahapan yang
dilalui oleh perusahaan dalam menerapkan CRM:
1. Acquiring new customers.
Perusahaan berusaha untuk mendapatkan pelanggan baru dengan
melakukan promosi produk dan pelayanan kepada pelanggan. Dalam
hal ini, perusahaan akan berusaha untuk memberikan penawaran
terbaik bagi pelanggan.
2. Enhancing the profitability of existing customers.
Perusahaan dapat meningkatkan hubungan yang telah terjalin dengan
pelanggan antara lain dengan cara melakukan cross-selling dan up-
selling, yang dapat memperdalam hubungan di antara mereka. Dengan
demikian, pelanggan bisa mendapatkan penawaran dengan penggunaan
waktu yang sebaik-baiknya dengan biaya rendah (one stop shopping).
10
3. Retaining profitable customers for life.
Penting bagi perusahaan bahwa mereka dapat memberikan bukan saja
apa yang diinginkan pasar, tetapi apa yang diinginkan oleh pelangan.
Dewasa ini, perusahaan maju berfokus pada loyalitas pelanggan lama
dibandingkan upaya untuk menarik konsumen baru. Alasan di balik
strategi ini sederhana: jika ingin menghasilkan uang, tetaplah selalu
pada pelanggan terbaik.
2.1.4 Peranan Teknologi di dalam CRM
Untuk mengimplementasikan sebuah strategi CRM, diperlukan paling
tidak 3 (tiga) faktor kunci yaitu (1) orang-orang yang profesional
(kualifikasi memadai), (2) proses yang didesain dengan baik dan (3)
teknologi yang memadai (leading-edge technology). Tenaga yang
profesional tidak saja mengerti bagaimana menghadapi pelanggan tetapi
juga mengerti cara menggunakan teknologi (untuk CRM). Apapun tanpa
desain yang baik akan gagal, begitu juga CRM. Perusahaan pengguna
CRM harus sudah mengetahui tujuan (business objectives) dan tuntutan
bisnis (business requirements) yang diinginkan dari implementasi CRM
ini. (Danardatu, 2003, p3)
Demikian juga menurut Kalakota dan Robinson (2001, p173-174),
teknologi hanyalah salah satu aspek dari kesuksesan pelaksanaan CRM.
Mengimplementasikan CRM juga berarti melakukan desain ulang aturan-
aturan fungsional, reeengineering proses kerja, memotivasi pekerja di
dalam perusahaan unuk mendukung pendekatan yang baru, dan juga
mengimplemetansikan teknologi yang dipakai di dalam CRM.
11
Aplikasi CRM juga menjadi tumpuan bagi perusahaan kecil dan skala
menengah. Teknologi memungkinkan organisasi ini untuk menikmati
kemampuan untuk berhubungan dengan pelanggan, di mana sampai
beberapa tahun lalu, hanya perusahaan besar dengan dana besar yang bisa
melakukannya.
2.1.5 Jenis-jenis Aplikasi CRM
CRM diimplementasikan oleh aplikasi yang menerapkan tiga proses,
yaitu penjualan, pemasaran dan pelayanan, dan banyak proses bisnis lain
yang juga mendukungnya.
Aplikasi-aplikasi itu secara umum dapat terbagi menjadi:
1. Customer Facing Application
Aplikasi Customer-facing CRM menyangkut contact center, sales
force automation dan field service. Disebut sebagai customer-facing
karena perwakilan penjualan, servis lapangan, dan contact center
biasanya berinteraksi dengan pelanggan secara langsung.
2. Customer Touching Application
Kunci dari customer-touching CRM applications adalah campaign
management, e-commerce dan self-service customer support. Disebut
sebagai customer-touching karena pelanggan berinteraksi secara
langsung dengan aplikasi dibandingkan dengan berinteraksi terhadap
perwakilan dari perusahaan. Contoh dari layanan ini adalah layanan
informasi melalui web.
12
3. Customer Centric Intelligence Application
Customer-centric intelligence applications merupakan analytic
applications yang menganalisis hasil dari pemrosesan secara
operasional. Hasilnya bisa digunakan untuk meningkatkan efisiensi dan
efektivitas operasional dari aplikasi CRM. Fungsi-fungsi yang
didukung antara lain adalah datawarehousing, reporting, dan analytic
applications.
Dalam proses kerjanya, CRM harus mendukung semua touchpoints
yang dibutuhkan dalam berinteraksi dengan pelanggan. Touchpoints
sendiri dapat meliputi: telepon, face-to-face, web site dan sebagainya.
Dalam kaitannya dengan aplikasi CRM, maka terdapat berbagai jenis
customer-touching applications yang menggunakan berbagai jenis
touchpoints:
1. Campaign Management Application
Campaign management applications melakukan otomatisasi terhadap
kampanye pemasaran. Perusahaan menawarkan penawaran tehadap
target, prospektus dan pelanggan yang diinginkan, sesuai jadwal
maupun sebagai respon atas event bisnis melalui direct mail, email,
contact center, field sales dan web touchpoints. Idealnya, aplikasi-
aplikasi ini hendaknya dapat merekam respon terhadap penawaran.
2. E-commerce Application
Electronic commerce applications mengimplementasikan pemasaran,
penjualan, dan fungsi servis melalui online touchpoints, yang biasanya
13
lewat web. Aplikasi ini membuat penjual memasarkan produknya lewat
katalog online dan mengasosiasikan web content. Pelanggan dapat
berbelanja untuk produk melalui metafora virtual shopping cart.
Pelanggan dapat juga melakukan self-service support tasks seperti
mengetahui status pemesanan, sejarah transaksi, proses pengembalian
dan manajemen informasi pelanggan.
3. Self-Service Customer Support.
Self-service customer support applications membuat pelanggan dapat
memenuhi kebutuhannya sendiri dalam mendapatkan informasi yang
mereka inginkan melalui permintaan layanan informasi. Dari sana,
pelanggan dapat mengetahui informasi tentang diri mereka sendiri,
membuat permintaan layanan ataupun mengatur order yang dimiliki.
(Seybold, 2005, pp 3-7)
2.2 Teknologi Seluler
Telah banyak menjadi pembicaraan saat ini bahwa telah terjadi revolusi dalam
perkembangan teknologi informasi. Bahkan dikatakan pada saat ini telah terjadi
evolusi teknologi informasi seiring dengan berkembang pesatnya teknologi dan
layanan komunikasi bergerak di dunia (mobile evolutions). Hal ini ditunjukkan
dengan terus bertambahnya ribuan subscriber baru ke dalam jaringan wireless di
dunia. Para ahli, pengembang aplikasi, dan pelaku bisnis utama di bidang ini
kemudian membentuk forum studi dan diskusi untuk merumuskan standar
teknologi jaringan dan aplikasi yang mendukung perkembangan teknologi ini.
14
2.2.1 Sejarah Jaringan Telepon Seluler
Sejarah perkembangan teknologi jaringan wireless hingga saat ini
dibagi menjadi 3 generasi yang masing-masing disebut generasi-1 (1G),
generasi-2 (2G) dan generasi-3 (3G). Generasi-1 dimulai pada akhir tahun
1970-an di Amerika (di Eropa pada awal tahun 1980-an). Advanced Mobile
Phone Service (AMPS) pertama kali diperkenalkan di New Jersey dan
Chicago pada tahun 1978. AMPS merupakan sistem telepon wireless
analog yang, untuk ukuran waktu itu, cukup sukses di Amerika. AMPS
berhasil memberikan pelayanan telepon bergerak yang dapat menjangkau
sebagian besar daratan Amerika Serikat. Namun AMPS masih banyak
memiliki kelemahan, yaitu antara lain dalam hal mobilitas pengguna yang
sangat terbatas karena belum adanya kemampuan handover yang
menyebabkan pembicaraan dari pengguna akan segera terputus apabila dia
berada di luar jangkauan area, efisiensi yang sangat kecil karena
keterbatasan kapasitas spektrum yang menyebabkan hanya sedikit
pengguna saja yang dapat berbicara dalam waktu bersamaan, dan sistem
ini tidak dapat dioptimasi lebih lanjut karena keterbatasan kemampuan
kompresi dan coding data. Selain dari hal-hal tersebut, sistem ini harus
mempergunakan perangkat dan peralatan yang berat dan tidak praktis serta
masih sangat mahal untuk ukuran waktu itu. Generasi-1 telepon wireless
untuk kawasan Eropa ditandai dengan diluncurkannya paling tidak 9
standar sistem analog di awal tahun 1980-an, seperti Nordic Mobile
Telephony (NMT) di Skandinavia, Total Access Communications System
(TACS) di Inggris, C450 di Jerman, dll., dimana satu sama lain tidak
15
saling berinterkoneksi. Banyaknya standar jaringan yang muncul
menjadikan kemampuan jelajah dari masing-masing jaringan yang sangat
terbatas disamping efisiensi dari sistem sendiri yang masih sangat kecil.
Generasi-2 (2G) telepon wireless dipelopori dari kawasan Eropa yang
diawali pada kebutuhan bersama terhadap satu sistem jaringan baru yang
dapat menjadi standar jaringan yang berlaku dan dapat diterapkan di
seluruh kawasan Eropa. Dalam sistem baru juga harus terdapat
kemampuan yang dapat mengantisipasi mobilitas pengguna serta
kemampuan melayani lebih banyak pengguna untuk menampung
penambahan jumlah subscriber baru. Karena hal ini tidak dapat dilakukan
dengan mempertahankan sistem analog, maka kemudian diputuskan untuk
merombak sistem dan menggantinya dengan sistem digital. Standar baru
diperkenalkan dengan nama Global Standard for Mobile Communications
(GSM). GSM pada awalnya adalah kepanjangan dari Groupe Speciale
Mobile, sebuah badan gabungan dari para ahli yang melakukan studi
bersama untuk menciptakan standar GSM tersebut. Generasi-2 (2G) di
Amerika Serikat ditandai dengan diluncurkannya standar jaringan baru
yang juga bersistem digital yang diberi nama Digital AMPS (D-AMPS)
(disebut juga TDMA – Time Division Multiple Access). Sistem digital
lainnya yang muncul di Amerika adalah IS-95 atau cdma-One, yang
merupakan sistem digital yang berbasis teknologi CDMA (Code Division
Multiple Access) dan diperkenalkan oleh Qualcomm pada pertengahan
1990-an. Untuk negara-negara di benua Asia, pertama kali mereka
mengadopsi sistem telepon wireless digital dengan menerapkan teknologi
16
jaringan GSM. Khusus di negara Jepang, berkembang sistem Personal
Digital Cellular (PDC) yang mereka kembangkan sendiri dan hanya
berlaku di negeri itu. Jepang sendiri hingga saat ini telah mengembangkan
sendiri sistem digital selulernya hingga meninggalkan negara-negara di
kawasan lainnya ditandai dengan kemajuan layanan dan terus
bertambahnya jumlah subscriber di jaringan mereka, namun demikian
sistem yang mereka kembangkan tetaplah sistem yang eksklusif dan hanya
berlaku di Jepang saja.
Diperkenalkannya sistem telepon wireless/seluler digital memberikan
beberapa kelebihan, yaitu antara lain suara yang dihasilkan menjadi lebih
jernih, efisiensi spektrum/frekuensi yang menjadi meningkat, serta
kemampuan optimasi sistem yang ditunjukkan dengan kemampuan
kompresi dan coding data digital. Handset yang diperlukan untuk sistem
ini juga menjadi sangat simpel, kecil, dan ringan, karena digunakannya
chip digital untuk SIM (Subscriber Identification Module). Teknologi chip
digital juga memungkinkan penambahan fitur-fitur baru sebagai layanan
tambahan, seperti voice mail, call waiting dan short message service
(SMS).
Teknologi wireless generasi-3 (3G) dikembangkan oleh suatu
kelompok yang diakui dan merupakan kumpulan para ahli dan pelaku
bisnis yang berkompeten dalam bidang teknologi wireless di dunia.
Kesepakatan 3G tertuang dalam International Mobile Telecommunications
2000 (IMT 2000) dan antara lain memutuskan bahwa standar 3G akan
bercabang menjadi 3 standar sistem yang akan diberlakukan di dunia, yaitu
17
Enhanced Datarates for GSM Evolution (EDGE), Wideband-CDMA
(WCDMA) dan CDMA2000.
Teknologi 3G diperkenalkan pada awalnya adalah untuk tujuan sebagai
berikut:
• Menambah efisiensi dan kapasitas jaringan.
• Menambah kemampuan jelajah (roaming).
• Untuk mencapai kecepatan transfer data yang lebih tinggi.
• Peningkatan kualitas layanan (Quality of Service – QOS).
• Mendukung kebutuhan internet bergerak (mobile internet).
(Satriyantono, 2001)
2.2.2 Teknologi SMS
Tidak dapat dipungkiri bahwa SMS merupakan salah satu aplikasi
yang sangat penting dalam perkembangan teknologi seluler. Aplikasi SMS
telah diakui merupakan aplikasi messaging yang paling populer di dunia.
Menurut situs Wikipedia (www.wikipedia.org, 2005), hingga pertengahan
2004 terhitung rata-rata terdapat 500 milyar kiriman SMS per tahunnya.
SMS telah menjadi lahan yang menjanjikan untuk meraih peluang bisnis di
pasar konsumen maupun industri di dunia. Dari jumlah kiriman SMS di
dunia 90% masih merupakan kiriman jenis person to person. Namun
demikian, SMS sangat potensial untuk dikembangkan menjadi aplikasi
berbasis industri dengan berbagai macam layanan, seperti m-commerce,
location-based service, periklanan, voting, games, entertainment, dsb.
18
SMS merupakan layanan messaging yang pada umumnya terdapat
pada setiap sistem jaringan wireless digital. SMS adalah layanan untuk
mengirim dan menerima pesan tertulis (teks) dari maupun kepada
perangkat bergerak (mobile device). Pesan teks yang dimaksud tersusun
dari huruf, angka atau karakter alfanumerik. Pesan teks dikemas dalam
satu paket/frame yang berkapasitas maksimal 160 byte yang dapat
direpresentasikan berupa 160 karakter huruf latin atau 70 karakter alfabet
non-latin seperti alfabet Arab atau Cina.
SMS pada awalnya tidak terhitung sebagai layanan penting dalam
jaringan GSM karena SMS dikembangkan terutama sebagai alat pengirim
informasi data konfigurasi dari handset GSM dan tidak lebih dari sekedar
layanan tambahan daripada sebagai bagian dari protokol jaringan.
Penambahan fungsi SMS sebagai alat pengirim pesan singkat dari
pengguna ke pengguna lainnya secara tak terduga menjadikannya sebagai
layanan messaging paling populer di dunia. Hal ini tentunya memberikan
pendapatan ekstra bagi operator jaringan yang akan memperoleh bayaran
untuk tiap kiriman SMS melalui jaringannya. Keberhasilan dan popularitas
SMS antara lain disebabkan oleh:
1. Harga per kiriman tetap/konstan.
Apabila beban biaya telepon bervariasi maka beban biaya kiriman SMS
tetap/konstan.
19
2. Keamanan dan kesopanan.
Berbicara melalui telepon seluler di tempat umum seringkali dirasakan
tidak sopan dan kurang aman, namun sebaliknya berkirim pesan
menggunakan SMS adalah 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 kemudian kapan dan
dimana dia akan menjawab pesan tersebut.
4. Handal (reliable).
Jaringan GSM secara umum diakui kehandalannya dalam mengirimkan
data, dan SMS mewarisi kehandalan tersebut. Tidak seperti pager,
ketika pesan SMS terkirim dan masuk ke gateway dan gateway
berhasil mengirimkannya ke nomor tujuan, gateway kemudian
mengirim pesan acknowledgement ke pengirim bahwa pesan telah
terkirim.
2.2.3 Arsitektur SMS
SMS atau Short Message Service pada awal diciptakan adalah bagian
dari layanan pada sistem GSM. SMS semula hanyalah merupakan layanan
yang bersifat komplementer terhadap dua layanan utama sistem GSM (atau
sistem 2G pada umumnya) yaitu layanan voice dan switched data. Namun
karena keberhasilan SMS yang tidak terduga, dengan ledakan pelanggan
yang mempergunakannya, menjadikan SMS sebagai bagian integral dari
layanan sistem. Dalam forum studi dan diskusi dan pembicaraan mengenai
standar 3G, SMS (atau disebut layanan messaging) tetap disebut sebagai
20
layanan penting yang diperlukan dan menjadi bagian dari standar 3G.
Dalam standar 3G - IMT 2000, tersebut 4 layanan utama 3G, yaitu:
1. Voice
Layanan voice tetap merupakan layanan utama 3G, yang diharapkan
akan menyamai kualitas layanan voice pada jaringan PSTN.
2. Messaging
Layanan messaging SMS pada 3G akan dikembangkan menjadi EMS
(Enhanced Messaging Service) yang mampu melakukan e-mail
attachment serta merupakan bagian dari layanan Unified Messaging,
dan kemudian MMS (Multimedia Messaging Service) yang merupakan
messaging dengan kemampuan image attachment.
3. Packet Data
Teknologi switched data pada 2G akan ditinggalkan dan diganti
menjadi teknologi paket data yang lebih cepat dan efisien. Teknologi
paket data ini menjadi dipercaya menjadi teknologi yang akan menjadi
pembuka perkembangan internet bergerak (mobile internet).
4. Streaming Multimedia
Seiring dengan diperkenalkannya standar 3G mengenai teknologi paket
data dan peningkatan efisiensi jaringan, maka kecepatan data (data
rate) pada jaringan wireless dapat mencapai 2 Mbps yang akan
memungkinkan streaming data multimedia yang akan menjadi bagian
dari layanan videoconferencing/videophones dan telepresence.
21
Sebagai bagian dari sistem GSM, SMS adalah layanan yang
sebenarnya merupakan bearer sevice atau packet pengirim dari data GSM.
Bearer service ini bekerja pada layer fisik yang merupakan layer terbawah
dari protokol aplikasi data GSM. SMS adalah data tipe asynchoronous
message yang pengiriman datanya dilakukan dengan mekanisme protokol
store and forward. Hal ini berarti bahwa pengirim dan penerima SMS
tidak perlu berada dalam status berhubungan (connected/online) satu sama
lain ketika akan saling bertukar pesan SMS. Pengiriman pesan SMS secara
store and forward berarti pengirim pesan SMS menuliskan pesan dan
nomor telepon tujuan dan kemudian mengirimkannya (store) ke server
SMS (SMS-Center) yang kemudian bertanggung jawab untuk
mengirimkan pesan tersebut (forward) ke nomor telepon tujuan.
Keuntungan mekanisme store and forward pada SMS adalah, penerima
tidak perlu dalam status online ketika ada pengirim yang bermaksud
mengirimkan pesan kepadanya, karena pesan akan dikirim oleh pengirim
ke SMSC yang kemudian dapat menunggu untuk meneruskan pesan
tersebut ke penerima ketika ia siap dan dalam status online di lain waktu.
Ketika pesan SMS telah terkirim dan diterima oleh SMSC, pengirim akan
menerima pesan singkat (konfirmasi) bahwa pesan telah terkirim (message
sent). Hal-hal inilah yang menjadi kelebihan SMS dan populer sebagai
layanan praktis dari sistem telekomunikasi bergerak.
22
Gambar 2.1 Mekanisme store and forward pada pengiriman pesan SMS
Keterbatasan SMS adalah pada ukuran pesan yang dapat dikirimkan,
yaitu maksimal sebesar 160 byte. Keterbatasan ini disebabkan karena
mekanisme transmisi SMS itu sendiri. SMS pada awalnya adalah layanan
yang ditambahkan pada sistem GSM yang digunakan untuk mengirimkan
data mengenai konfigurasi dari handset pelanggan GSM. SMS dikirimkan
menggunakan signalling frame pada kanal frekuensi atau time slot frame
GSM yang biasanya digunakan untuk mengirimkan pesan untuk kontrol
dan sinyal setup panggilan telepon, seperti pesan singkat tentang kesibukan
jaringan atau pesan CLI (Caller Line indentification). Frame ini bersifat
khusus dan ada pada setiap panggilan telepon serta tidak dapat digunakan
untuk membawa voice atau data dari pelanggan. Ukuran frame pada sistem
GSM sendiri adalah sebesar 1250 bit (kurang lebih sama dengan 160 byte).
Karena hanya menggunakan satu frame inilah pengiriman pesan SMS
menjadi sangat murah, karena beban biaya hanya dihitung dari penggunaan
satu frame melalui kanal frekuensi. Pengiriman SMS menggunakan frame
pada kanal frekuensi adalah berarti SMS dikirim oleh pengirim ke nomor
telepon tertentu yang bertindak sebagai SMSC (SMS-Center) dan
kemudian SMSC bertugas untuk meneruskannya ke penerima. Pengiriman
SMS berlangsung cepat karena, SMSC selain terhubung ke LAN aplikasi
23
juga terhubung ke MSC (Mobile Switching Network) melalui SS7
(Signaling System 7) yang merupakan jaringan khusus untuk menangkap
frame kontrol dan sinyal. Mekanisme pengiriman pesan singkat SMS yang
serupa juga ditemukan dalam sistem jaringan lain seperti TDMA, PDC dan
cdmaOne. Beda antara sistem jaringan satu dengan yang lainnya adalah
ukuran dari pesan SMS itu sendiri yang bergantung pada ukuran frame
yang digunakan pada masing-masing sistem. Pada sistem TDMA dan PDC
ukuran pesan SMS sama dengan sistem GSM, yaitu 160 byte, dan pada
cdma-One ukuran pesan SMS sebesar 256 byte.
Gambar 2.2 Struktur time slot dan frame pada sistem GSM
(Satriyantono, 2001)
2.2.4 Format PDU dalam Pengiriman dan Penerimaan SMS
SMS, seperti yang dispesifikasikan pada dokumen GSM 03.04 dan
GSM 03.38, dapat memuat sampai 160 karakter, dimana setiap karakter
merupakan 7 bit menurut 7 bit default alphabet (lihat di L1). Pesan 8 bit
(maksimal 140 karakter) biasanya tidak dapat dilihat melalui telepon
sebagai pesan teks, karena digunakan untuk keperluan khusus, seperti
smart messaging (gambar dan ring tones) and OTA provisioning of WAP
24
settings. Pesan 16-bit (maksimal 70 karakter) digunakan untuk pesan teks
Unicode (UCS2) dengan format karakter internasional, dan dapat dilihat
pada kebanyakan telepon. Pesan teks 16 bit dari class 0 pada beberapa
telepon akan terlihat sebagai Flash SMS (SMS berkelip atau peringatan).
Terdapat 2 cara untuk menerima dan mengirim pesan SMS: dengan
mode teks dan mode PDU (Protocol Description Unit). Mode teks (tidak
terdapat pada sebagian telepon) hanya merupakan encoding dari bit stream
yang direpresentasikan oleh mode PDU. Alphabet dapat saja berbeda dan
ada beberapa alternatif encoding ketika menampilkan pesan SMS. Opsi
yang paling umum adalah "PCCP437", "PCDN", "8859-1", "IRA" dan
"GSM". Pengaturan ini diset dengan menggunakan at command
AT+CSCS, ketika pesan dibaca dengan menggunakan aplikasi komputer.
Jika pesan dibaca melalui telepon, telepon akan memilih encoding yang
tepat. Aplikasi yang dapat membaca pesan yang masuk, dapat
menggunakan baik mode teks maupun mode PDU. Jika mode teks
digunakan, aplikasi akan dibatasi oleh kumpulan encoding yang telah
ditetapkan. Jika mode PDU digunakan, semua tipe encoding dapat
digunakan.
2.2.4.1 Menerima Pesan dalam Mode PDU
String PDU tidak hanya mengandung pesan, tapi juga
mengandung banyak informasi meta tentang pengirim, SMS
service center pengirim, waktu dan sebagainya. Kesemuanya
dalam bentuk heksadesimal oktet atau desimal semi oktet.
25
Berikut adalah string yang diperoleh pada Nokia 6110 ketika
mengirim pesan dengan isi “hellohello” dari www.mtn.co.za.
Tabel 2.1 Contoh string PDU yang diterima
07 917283010010F5 040BC87238880900F10000993092516195800AE8329BFD4697D9EC37
Urutan oktet-oktet ini terdiri atas 3 bagian: Oktet awal yang
mengindikasikan panjang informasi SMSC (“07”), informasi
SMSC itu sendiri ("917283010010F5"), dan bagian
SMS_DELIVER (spesifikasi ETSI pada GSM 03.40).
Tabel 2.2 Deskripsi oktet PDU yang diterima
Oktet Deskripsi
07 Panjang informasi SMSC dalam oktet (pada kasus ini 7 oktet).
91 Tipe alamat SMSC. (91 berarti no telepon format internasional, 81 berarti format nasional/unknown format)
72 83 01 00 10 F5
Service center number (dalam desimal semi-oktet). Panjang no telepon adalah ganjil (11), jadi F ditambahkan diakhir untuk membentuk oktet yang sesuai. No dari service center ini adalah "+27381000015".
04 Oktet pertama dari pesan SMS yang diterima.
0B Panjang Alamat. Panjang no pengirim (0B hex = 11 dec).
C8 Tipe alamat no pengirim (pada kasus ini C8 berarti no berlangganan).
72 38 88 09 00 F1 No pengirim (desimal semi-oktet), dengan akhiran F. 00 PID. Protocol identifier. (00 berarti teks standar)
00 DCS. Data coding scheme. (00 berarti pesan teks standar)
99 30 92 51 61 95 80 SCTS. Time stamp (desimal semi-oktet).
0A
UDL. User Data Length. Panjangnya user data, yaitu panjang pesan. DCS mengindikasikan data 7 bit, jadi panjang disini adalah jumlah septet (10). Jika DCS diset untuk mengindikasikan bahwa data merupakan data 8 bit atau Unicode, panjang akan berupa jumlah oktet (9).
E8329BFD4697D9EC37 UD. User Data. Pesan “hellohello” Oktet-oktet 8 bit yang merepresentasikan data 7 bit.
26
Semua oktet diatas adalah heksa desimal 8 bit oktet, kecuali
no service center, no pengirim dan waktu yang dalam bentuk
desimal semi oktet. Pesan yang ada pada bagian akhir string PDU
terdiri dari heksa desimal 8 bit oktet, namun oktet ini
merepresentasikan data 7 bit.
Semi oktet adalah dalam bentuk desimal, nilainya, sebagai
contoh no pengirim, dapat diperoleh dengan melakukan
pertukaran internal antar semi oktet ini, dari "72 38 88 09 00 F1"
menjadi "27 83 88 90 00 1F". Panjang no telepon adalah ganjil,
sehingga oktet yang sesuai tidak dapat dibentuk oleh no ini.
Inilah alasan penambahan F diakhir oktet. Waktu, ketika
ditelusuri, setara dengan "99 03 29 15 16 59 08", dimana 6
karakter pertama merepresentasikan tanggal, 6 berikutnya
merepresentasikan jam, dan 2 yang terakhir merepresentasikan
zona waktu dalam hubungan dengan GMT.
2.2.4.2 Interpretasi oktet 8 bit sebagai pesan 7 bit
Transformasi ini, secara detil dideskripsikan pada dokumen
GSM 03.38 dan dengan bantuan 7 bit default alphabet. Berikut
ini adalah contoh transformasi dari “hellohello”.
Pesan "hellohello" terdiri dari 10 karakter, disebut septet
ketika masing-masing karakter direpresentasikan dengan 7 bit.
Septet-septet ini memerlukan transformasi menjadi oktet untuk
pengiriman SMS dalam mode PDU.
27
Tabel 2.3 Septet hellohello
h e L l o h e l l o 104 101 108 108 111 104 101 108 108 111
1101000 1100101 1101100 1101100 1101111 1101000 1100101 1101100 1101100 1101111
1101000 110010 1 11011 00 1101 100 110 1111 11 01000 1 100101 1101100 1101100 110111 1
Septet pertama (h) diubah menjadi oktet dengan
menambahkan bit paling kanan dari septet kedua. Bit ini
dimasukkan pada kiri sehingga membentuk 1 + 1101000 =
11101000 ("E8"). Bit paling kanan dari karakter kedua
selanjutnya tidak digunakan lagi, sehingga karakter kedua (septet)
memerlukan tambahan dua bit (kuning) dari karater ketiga untuk
membentuk oktet 8 bit. Proses ini terus berlangsung sehingga
membentuk oktet-oktet sebagai berikut:
Tabel 2.4 Oktet hellohello
1 1101000 00 110010 100 11011 1111 1101 01000 110 100101 11 1101100 1 1 1101100 110111
E8 32 9B FD 46 97 D9 EC 37
Kesembilan oktet dari "hellohello" adalah E8 32 9B FD 46 97
D9 EC 37
2.2.4.3 Mengirim Pesan dalam Mode PDU
Contoh berikut menunjukkan cara pengiriman pesan
“hellohello” dalam mode PDU menggunakan Nokia 6610 dengan
aplikasi komputer.
AT+CMGF=0 //Set ke mode PDU AT+CSMS=0 //Cek apakah modem mendukung mode PDU AT+CMGS=23//Kirim pesan 23 oktet (dua nol pertama tidak termasuk) >0011000B916407281553F80000AA0AE8329BFD4697D9EC37
28
Terdapat 23 oktet dalam pesan ini (46 ‘karakter'). Oktet
pertama ("00") tidak dihitung karena merupakan indikator dari
panjang SMSC yang tersedia. String PDU ini terdiri atas:
Tabel 2.5 Deskripsi oktet PDU yang dikirim
Oktet Deskripsi
00
Panjang dari informasi SMSC. Dalam kasus ini 0, yang berarti SMSC yang tersimpan di telepon akan digunakan. Catatan: Oktet ini adalah optional. Pada beberapa telepon, oktet ini harus diabaikan (penggunaan secara implisit SMSC yang disimpan di telepon).
11 Oktet pertama dari pesan SMS yang akan dikirim (11 hex adalah nilai default).
00 Message Reference. Nilai "00" value membiarkan tujuan mengatur message reference number.
0B Panjang alamat. Panjang no telepon tujuan (11).
91 Tipe alamat. (91 mengindikasikan format nomor telepon internasional).
6407281553F8
Nomor telepon dalam semi oktet (46708251358). Panjang no ini adalah ganjil (11), penambahan F di akhir diperlukan, sehingga no telepon akan menjadi "46708251358F". Jika menggunakan format nasional (Tipe alamat 81, bukan 91) akan menghasilkan urutan oktet 7080523185 (0708251358). Perhatikan bahwa panjangnya adalah 10 (A), yang berarti genap.
00 Protocol identifier
00
Data Coding Scheme. Pesan ini dikode menurut 7 bit default alphabet. Penggunan "04" yang menggantikan "00" disini, akan mengindikasikan User Data dari pesan ini harus diintrepretasikan sebagai 8 bit (digunakan pada smart messaging, OTA provisioning, dll).
AA Validity Period. "AA" berarti 4 hari. Catatan: Oktet ini adalah optional.
0A
User Data Length. Panjangnya pesan. DCS mengindikasikan 7-bit data, jadi panjang disini adalah jumlah septet (10). Jika DCS mengindikasikan penggunaan data 8-bit atau Unicode, panjang akan merupakan jumlah oktet.
E8329BFD4697D9EC37 User Data. Oktet ini merepresentasikan pesan "hellohello".
(Petterson, 2005; Ekkebus, 2004)
29
2.2.5 Perintah-perintah AT Command untuk Komunikasi CPU dengan
GSM Modem
AT Command adalah perintah-perintah yang digunakan dalam
komunikasi dengan Serial Port. Dengan AT Command, kita dapat
mengetahui vendor dari handphone yang digunakan, kekuatan sinyal,
membaca pesan yang ada pada SIM Card, mengirim pesan, mendeteksi
pesan SMS baru yang masuk secara otomatis, menghapus pesan pada SIM
Card, dan masih banyak lagi.
Berikut adalah beberapa perintah AT:
Tabel 2.6 Beberapa perintah AT Command
ATCommand Keterangan AT Mengecek apakah handphone telah
terhubung AT+CMGF Menetapkan format mode dari
terminal AT+CSCS Menetapkan jenis encoding AT+CMGL Membuka daftar SMS yang ada pada
SIM Card AT+CMGS Mengirim pesan SMS AT+CMGR Membaca pesan SMS AT+CMGD Menghapus pesan SMS
(Tim Penelitian dan Pengembangan Wahana Komputer, 2005, pp 12-34)
2.2.6 Pengembangan dan Layanan Aplikasi SMS
Aplikasi SMS berkembang seiring dengan kepopuleran SMS itu
sendiri. Aplikasi SMS dikembangkan pertama kali oleh operator network
sebagai bagian dari layanan aplikasi jaringan. Namun demikian dengan
tersedianya API (Application Programming Interface) untuk pemrograman
aplikasi SMS membuat berkembangnya aplikasi-aplikasi SMS dari
pengembang pihak ketiga.
30
Layanan aplikasi SMS pada dasarnya memiliki karakteristik yang
berbeda dengan aplikasi internet dan internet bergerak pada umumnya,
yaitu: layar monitor yang berukuran kecil, keterbatasan jumlah karakter
yang dapat dikirimkan, serta keterbatasan tombol pada handset yang hanya
berjumlah 12 untuk pengoperasian aplikasi. Tiga karakteristik tersebut
selalu menjadi fokus yang mendasari pada pengembangan aplikasi ini,
sehingga informasi yang disediakan pun singkat dan jelas dengan
pengoperasian aplikasi mudah dan sederhana yang meminimalisir
penggunaan tombol pada handset. Dengan mengetahui ketiga karakteristik
tersebut, maka akan dapat dikenali aplikasi yang cocok untuk
dikembangkan menjadi aplikasi berbasis SMS.
Berdasarkan mekanisme disitribusi pesan SMS oleh aplikasi SMS,
terdapat empat macam mekanisme penghantaran pesan, yaitu:
1. Pull, yaitu pesan yang dikirimkan ke pengguna berdasarkan permintaan
pengguna.
2. Push - Event Based, yaitu pesan yang diaktivasi oleh aplikasi
berdasarkan kejadian yang berlangsung.
3. Push - Scheduled, yaitu pesan yang diaktivasi oleh aplikasi
berdasarkan waktu yang telah terjadwal.
4. Push - Personal Profile, yaitu pesan yang diaktivasi oleh aplikasi
berdasarkan profil dan preference dari pengguna.
Telah terdapat banyak sekali layanan dan aplikasi berbasis SMS pada
saat ini. Aplikasi SMS yang ada di pasaran pada dasarnya dapat dibagi
31
menjadi 2 macam, yaitu aplikasi untuk konsumen personal dan aplikasi
untuk korporat.
2.2.6.1 Aplikasi SMS untuk Personal
Aplikasi untuk konsumen personal hingga saat ini masih
mendominasi penggunaan, yaitu hingga 90% pengguna yang
memakai aplikasi ini. Aplikasi ini antara lain:
1. Pesan SMS antar Pengguna (Person to Person Messaging)
Merupakan layanan yang paling banyak digunakan hingga
saat ini di mana pengguna dapat berkirim pesan SMS satu
sama lain (dua arah) menggunakan handset mereka masing-
masing.
2. Notifikasi Voice dan Fax Mail
Adalah pesan singkat yang memberitahukan datangnya voice-
mail dan fax-mail ke mailbox pengguna. Pemberitahuan
berisikan identitas pengirim dan waktu datangnya pesan ke
dalam mailbox.
3. Notifikasi e-mail Internet
Adalah pesan singkat yang memberitahukan datangnya e-mail
ke account e-mail pengguna. Aplikasi ini terhubung ke e-mail
server dimana terdapat account e-mail dari pengguna yang
bersangkutan, sehingga datangnya e-mail dapat segera
dideteksi oleh aplikasi yang kemudian meneruskan pesan
pemberitahuan ke pengguna lewat SMS. Pesan akan berisi
nama pengirim, waktu datangnya e-mail dan subjek e-mail.
32
Aplikasi dapat pula melakukan seleksi terhadap e-mail yang
dapat diteruskan ke pesan SMS dengan permintaan dari
pengguna yang bersangkutan.
4. Unified Messaging
Merupakan aplikasi yang dilandasi ide untuk menggabungkan
tiga macam messaging, yaitu voicemail, faxmail dan e-mail,
dalam satu account unified messaging box. Dengan demikian
hal ini akan memudahkan pengguna dalam menangani
berbagai pesan yang ditujukan kepadanya, dan pesan yang
masuk ke dalam box akan diteruskan melalui pesan SMS
berikut jenis pesan yang masuk, apakah voice-mail, fax-mail
ataupun e-mail.
5. Pusat Informasi
Merupakan layanan yang menyediakan informasi umum dan
penting bagi pengguna. Informasi disajikan melalui dua
mekanisme, yaitu push-based dimana infomasi diaktivasi oleh
aplikasi dan pull-based dimana informasi diminta (di-request)
oleh pengguna. Aplikasi informasi yang digemari terutama
aplikasi yang memperhatikan kemudahan penggunaan, waktu
yang tepat, serta personalisasi dan lokasi di mana pengguna
berada. Aplikasi yang populer dan paling digemari antara lain
adalah aplikasi informasi nomor telepon, ringtones dan logo,
chatting, pesan bergambar, humor, horoscope, stock quotes,
33
info TV, info musik, info cuaca, info bank, berita hangat, dan
berita olahraga.
2.2.6.2 Aplikasi SMS untuk Korporat
Aplikasi SMS untuk korporat adalah aplikasi SMS yang
dikustomisasi berdasarkan kebutuhan terhadap pelayanan
informasi dan komunikasi dalam sebuah perusahaan atau
kelompok orang. Aplikasi ini dapat dikembangkan berdasarkan
kreatifitas pengembang berdasarkan manfaat sepenuhnya yang
dapat diberikan kepada pelanggan perusahaan yang
membutuhkannya. Aplikasi yang dapat dikembangkan tersebut
antara lain:
1. E-mail Korporat
Adalah layanan bagi karyawan perusahaan yang memiliki
account di e-mail server perusahaan untuk dapat memantau
datangnya e-mail melalui pesan SMS.
2. Program Affinity
Merupakan jenis layanan yang pada awalnya merupakan kerja
sama dari operator network dengan perusahaan-perusahaan
yang memiliki pelanggan cukup besar, seperti perusahaan
TV, radio, klub eksekutif, supermarket, perusahaan
penerbangan atau bank. Aplikasi SMS dapat dikembangkan
untuk memberikan pelayanan pelanggan dengan kiriman
pesan seperti informasi layanan perusahaan, undangan
pertemuan, status pembelian barang, status peminjaman
34
video, pemberitahuan jadwal periksa kesehatan,
pemberitahuan pengambilan obat, dan sebagainya. Layanan
ini pada dasarnya merupakan bagian dari pelayanan (khusus)
terhadap konsumen atau pelanggan yang nantinya diharapkan
dapat lebih menumbuhkan loyalitas pelanggan kepada
perusahaan yang bersangkutan.
3. Mobile Banking
Merupakan salah satu jenis program affinity untuk layanan
perusahaan perbankan. Layanan ini memberikan kemudahan
kepada pelanggan nasabah sebuah bank dalam bertransaksi
melalui rekeningnya. Melalui layanan ini maka pekerjaan-
pekerjaan seperti, transfer uang, pengecekan status rekening,
pemberitahuan masuknya sejumlah uang dapat dilakukan
melalui pengiriman pesan SMS.
4. E-Commerce
Merupakan perdagangan elektronik dimana transaksi
perdagangannya dapat dilakukan melalui pesan SMS.
Layanan ini serupa dengan layanan mobile banking karena
pembayaran dalam suatu transaksi biasanya dilakukan melalui
transfer rekening pengguna ke rekening penjual.
5. Pelayanan Pelanggan (Customer Service)
Pesan melalui SMS akan sangat mengurangi waktu dan biaya
untuk pekerjaan customer service. Pemberitahuan mengenai
pelayanan baru, status pelayanan, dll, yang selama ini
35
dilakukan melalui hubungan telepon dapat dilakukan
menggunakan pesan SMS.
6. Penentuan Lokasi (Positioning)
Aplikasi ini mengintegrasikan aplikasi GPS (Global
Positioning System) yang berbasis satelit dengan pesan
melalui SMS yang dapat memberitahukan kepada orang lain
mengenai keberadaan seseorang.
7. Pemantauan Pekerjaan (Job Dispatch)
Layanan ini akan menggunakan pesan SMS untuk
komunikasi antara staf yang bekerja di kantor dengan staf
yang bekerja di lapangan. Staf pekerja di kantor dapat
memantau status suatu pekerjaan di lapangan dengan
berkomunikasi lewat SMS melalui aplikasi yang interaktif
pekerja di lapangan. Layanan ini akan sangat memudahkan
serta menambah efisiensi pekerjaan.
8. Remote Monitoring
Layanan ini dibangun untuk memantau kinerja suatu
perangkat atau mesin yang dapat secara otomatis melaporkan
kejadian dimana kinerja suatu alat mencapai titik kritis
tertentu, maka pada saat itu juga aplikasi akan secara
elektronis segera mengirim pesan pemberitahuan melalui
SMS ke handset administrator atau penanggung jawab alat
tersebut.
9. Pelelangan
36
Pelelangan suatu barang pada saat ini dapat dilakukan dengan
menggunakan aplikasi berbasis SMS. Dengan layanan ini
pengguna dapat berada di tempat manapun untuk dapat
berpartisipasi dalam event pelelangan barang. Mekanisme
aplikasi ini mirip dengan chatting, karena pesan yang
dikirimkan pengguna akan di-broadcast ke pengguna yang
lain yang mengikuti lelang. Pengguna sebelumnya harus
melalui prosedur pendaftaran tertentu sebelum dapat
mengikuti lelang.
10. Jajak Pendapat
Jajak pendapat yang diadakan oleh suatu media atau
organisasi terhadap suatu permasalahan tertentu dapat
dilakukan menggunakan aplikasi SMS. Di sini aplikasi akan
menampung pesan SMS yang masuk berdasarkan pendapat
yang diberikan pengguna. Aplikasi juga melakukan kontrol
terhadap kemungkinan terdapatnya 2 suara yang sama yang
memberikan pendapatnya dengan menolak suara yang kedua.
(Satriyantono, 2001)
2.3 Software Engineering
Menurut Fritz Bauer, Software Engineering adalah pembentukan dan
penggunaan prinsip-prinsip engineering di dalam upaya untuk menghasilkan
software yang ekonomis dan berdaya tahan baik serta bekerja secara efisien dalam
kenyataannya. (Pressman, 2001, p20)
37
2.4 Software Engineering Paradigm dan Prototyping Model
Sofware Engineering Paradigm seringkali disebut sebagai process model, di
mana process model untuk Software Engineering dipilih berdasarkan sifat alamiah
dari proyek dan aplikasi, metode dan tools yang digunakan, serta kontrol dan
deliverable yang diperlukan. Software Process Model merupakan strategi yang
mencakup process, method dan tools yang digunakan untuk memecahkan
permasalahan aktual, yang biasa dilakukan oleh seorang software engineer atau
team engineer. (Pressman, 2001, p26)
Seringkali, seorang pelanggan mendefinisikan sekumpulan tujuan umum atas
software yang ingin dibuat, tetapi tidak mengidentifikasikan input yang mendetail,
proses, ataupun requirement hasil yang diinginkan. Dalam hal lain, pengembang
dapat saja merasa tidak yakin atas efisiensi dari algoritma, kemampuan adaptasi
dari operating system atau bentuk interaksi yang diinginkan antara manusia
dengan mesin. Dalam situasi ini, prototyping paradigm adalah pilihan terbaik.
Prototyping paradigm dimulai dengan requirements gathering. Developer dan
pelanggan bertemu dan mendefinisikan tujuan umum untuk software yang ingin
dibuat, identifikasi requirement yang diketahui, menggaris bawahi kondisi di
mana definisi lebih lanjut memungkinkan.
Desain dibuat dengan cepat dan memfokuskan diri sebagai gambaran dari
aspek software yang dapat dilihat oleh customer/user (seperti format input dan
output). Prototype ini dievaluasi oleh customer/user dan digunakan untuk
memperhalus requirements untuk software yang akan dikembangkan. Iterasi
terjadi di mana prototype digunakan untuk memberikan kepuasan yang dibutuhkan
38
customer, sementara pada saat yang sama, memungkinkan developer untuk lebih
mengerti tentang apa yang harus diselesaikan.
Yang terpenting di dalam prototyping adlaha mendefinsikan rules of the game
pada permulaan, di mana customer dan developer haruse menyetujui bahwa
prototype dibuat sebagai upaya untuk memenuhi requirements. (Pressman, 2001,
pp30-32)
listento
customerbuild/revise
mock-up
customertest-drivesmock-up
Gambar 2.3 Siklus Prototyping
2.5 Object-Oriented Paradigm
Object-Oriented Paradigm adalah pendekatan untuk mendapatkan solusi dari
masalah-masalah di mana semua perhitungan disajikan dalam konteks objects.
Objects merupakan instances dari konsep pemrograman, yang biasa disebut
dengan class, di mana terdapat data abstractions dan mengandung abstraksi
prosedural yang mengoperasikan objects. (Lethbridge dan Laganiere, 2002, p29)
Kelebihan menggunakan paradigma Object-Oriented antara lain adalah adanya
kemampuan untuk reuse (dari komponen program) yang mengarah pada
39
pengembangan software secara cepat dan program berkualitas tinggi. Software
Object-Oriented menjadi lebih mudah dipelihara karena secara struktural tidak
menyatu. Hal ini menghasilkan side effects dalam jumlah minim saat perubaan
harus dilakukan. Sebagai tambahan, sistem Object-Oriented mudah untuk
diadaptasi dan untuk diskala (misalnya sistem yang besar bisa dikreasi dengan
merangkai subsystem yang reusable). (Pressman, 2001, p542)
2.5.1 Karakteristik dari Object-Oriented
Karakteristik utama dari Object-Oriented adalah:
1. Data Abstraction
Merupakan suatu ide untuk mengelompokkan berbagai hal di dalam
suatu class, sehingga dapat mengurangi kompleksitas dari sistem.
2. Encapsulation dan Information Hiding
Encapsulation berarti pemaketan data dan behaviour ke dalam suatu
object. Information hiding berarti pemisahan aspek-aspek eksternal
dari objek, yang dapat diakses dari objek lainnya. Aspek-aspek internal
dari suatu objek, tidak dapat diakses (tersembunyi) dari objek lainnya.
3. Polymorphism dan Inheritance
Polymorphism adalah kemampuan menyembunyikan implementasi
yang berbeda di balik interface yang sama. Inheritance adalah
mekanisme untuk mendefinisikan suatu class yang didefinisikan dari
class yang sudah ada. (Britton dan Doake, 2000, p14)
40
2.5.2 Beberapa Konsep Tentang Object-Oriented
Beberapa konsep tentang Object Oriented menurut Whiten et al. (2004,
pp431-440) adalah:
1. Object, sesuatu yang dapat dilihat, disentuh, atau dirasakan dan di
dalamnya tersimpan data dan behaviour.
2. Attribute, data yang merepresentasikan karakteristik dari object.
3. Behaviour, sekumpulan hal yang bisa dilakukan oleh object dan
berhubungan dengan fungsi yang ada pada data object (atau attributes).
Behaviour dapat berupa method, operation ataupun service.
4. Object instances, merupakan objek secara spesifik yang merujuk pada
suatu nilai tertentu dari atributnya.
5. Inheritance, suatu konsep di mana methods dan/atau attributes
didefinisikan di dalam suatu object class dan dapat diturunkan atau di-
reuse oleh object dari class yang lain.
6. Generalization/specialization, sebuah teknik di mana attributes dan
behaviours yang sama dimiliki oleh beberapa tipe dari object class
dikelompokkan (atau diabstraksi) ke dalam masing-masing class
mereka, disebut juga dengan supertype. Attributes dan behaviours dari
object supertype kemudian diturunkan oleh setiap object class.
7. Supertype, sebuah entitas yang mengandung attributes dan behaviours
yang sama bagi satu atau lebih bagi class subtypes. Disebut juga
dengan parent class.
41
8. Subtype, sebuah object class yang mewarisi attributes dan behaviours
dari supertype class dan kemudian class itu sendiri dapat memiliki
attributes dan behaviours sendiri yang unik.
9. Multiplicity, jumlah minimum dan maksimum dari hubungan yang
terjadi antar object.
10. Aggregation, suatu hubungan di mana suatu class yang utuh (whole
class) mengandung satu atau lebih class-class yang merupakan bagian
dari whole class.
11. Composition, sebuah hubungan aggregation di mana whole class
bertanggungjawab penuh atas ada dan tiadanya part class. Jika whole
class tiada, maka part class pun juga ikut tiada.
12. Message, komunikasi yang terjadi saat sebuah object meminta
behaviour yang dimilikinya untuk mendapatkan informasi atau aksi
lain.
13. Polymorphism, sebuah konsep tentang bagaimana object-object yang
berbeda dapat menanggapi suatu message yang sama dengan cara yang
berbeda.
14. Override, suatu kondisi di mana subclass (subtype) menggunakan
attributes atau behaviours dari diriya sendiri, daripada attributes atau
behaviours yang diturunkan dari superclass (supertype).
2.6 Object-Oriented Analysis and Design (OOAD)
Object-Oriented Analysis (OOA) dimaksudkan untuk mendefinisikan semua
class yang relevan terhadap masalah yang akan dipecahkan, beserta operations
42
dan attributes yang berhubungan dengan mereka, hubungan di antara mereka, dan
behaviours yang mereka tunjukkan. Untuk melakukan semua ini, maka
diperlukan:
1. User requirement mendasar haruslah dikomunikasikan di antara customer dan
software engineer.
2. Classes harus diidentifikasikan (seperti identifikasi attributes dan methods).
3. Hirarki class harus spesifik.
4. Hubungan antar object (relationship) haruslah direpresentasikan.
5. Object behaviours haruslah dimodelkan.
6. Tugas 1 sampai dengan 5 diterapkan secara iterative sampai modelnya selesai.
Tujuan dari OOA sendiri untuk mengembangkan satu model yang dapat
menggambarkan computer software sebagai usaha untuk memenuhi kebutuhan
tertentu dari customer. (Pressman, 2001, p 572)
Dalam implementasinya, berbagai metodologi OOA untuk melakukan
modelling muncul di akhir 80-an dan awal 90-an. Meskipun secara terminologi
dan langkah-langkah yang diberikan oleh setiap metodologi tersebut berbeda,
secara umum proses-proses di dalam OOA cukup mirip satu sama lainnya. Untuk
menggambarkan suatu Object-Oriented analysis, seorang software engineer
seharusnya melakukan beberapa langkah tersebut:
1. Mendapatkan customer requirement untuk system tersebut.
2. Identifikasi scenario atau use-cases.
3. Memilih classes dan objects dengan menggunakan requirement yang ada
sebagai panduan.
43
4. Identifikasi attributes dan operations untuk setiap object dari system.
5. Mendefinisikan struktur dan hirarki yang menggorganisasikan classes.
6. Membangun model untuk object- relationships.
7. Membangun model untuk object-behaviours.
8. Melakukan review terhadap model yang dibuat terhadap use case atau
scenario.
(Pressman, 2001, p575)
Salah satu metodologi OOA yang telah luas penggunaannya di dunia industri
adalah UML (Unified Modelling Language).
Setelah kita melakukan Object-Oriented Analysis, maka dapat dilakukan
Object-Oriented Design yang bertujuan untuk mendesain model yang telah
dikembangkan yang berfungsi sebagai cetak biru untuk membangun software.
(Pressman, 2001, p603)
2.7 UML
2.7.1 Sejarah UML
UML merupakan hasil pemikiran dari Grady Booch, James Rumbaugh,
dan Ivar Jacobson. Belakangan sering dijuluki “Three Amigos”, mereka
bekerja di organsisasi terpisah di era 80-an dan awal 90-an, yang masing-
masing merancang metodologinya sendiri untuk melakukan analisis dan
desain yang berorientasi objek. Metodologi mereka mencapai keunggulan
di antara kompetitor mereka. Di pertengahan 90-an, saat mereka mulai
untuk saling membawakan ide-ide mereka satu sama lain, mereka pun
44
memutuskan untuk mengembangkan pekerjaan mereka secara bersama-
sama.
Di tahun 1994, Rumbaugh masuk ke dalam Rational Software
Corporation, di mana Booch telah bekerja di sana. Setahun kemudian,
Jacobson masuk.
Seperti yang mereka katakan, pada akhirnya adalah sebuah sejarah.
Versi draf dari UML mulai beredar di dalam industri software dan umpan
balik yang ada menghasilkan perubahan-perubahan yang substansial.
Sebagaimana perusahaan-perusahaan banyak merasakan bahwa UML
dapat menjalankan tujuan-tujuan strategis mereka, sebuah konsorsium
UML pun dibangun. Anggota-anggota dari konsorsium ini termasuk DEC,
Hewlett-Packard, Intellicorp, Microsoft, Oracle, Texas Instruments,
Rational, dan yang lainnya. Di tahun 1997, konsorsium itu mengeluarkan
versi 1.0 dari UML dan dikoordinasikan kepada Object Management
Group (OMG) sebagai respon dari permintaan OMG untuk proposal dari
bahasa pemodelan standar.
Konsorsium pun semakin berkembang, dan mengeluarkan versi 1.1
yang kemudian diadopsi OMG di tahun 1997. OMG pun terus
mengembangkan UML dan menghasilkan revisi yang lebih banyak di
tahun 1998. UML kini telah menjadi standar secara de facto di dunia
industri software dan akan terus-menerus berkembang. (Schmuller, 1999,
pp7-8)
45
2.7.2 Pengertian UML
UML merupakan sekumpulan konvensi tentang pemodelan yang
digunakan untuk menspesifikasi atau menggambarkan sistem software di
dalam hal-hal tentang objek. (Whitten et al., 2004, p430)
UML terdiri dari sejumlah elemen-elemen grafikal yang digunakan
untuk membentuk diagram-diagram. Tujuan dari diagram-diagram ini
adalah untuk merepresentasikan berbagai pandangan terhadap sistem, dan
sekumpulan pandangan ini yang disebut dengan model. Model dari UML
berfungsi untuk menggambarkan apa yang dilakukan oleh sistem, tetapi
tidak menggambarkan tentang bagaimana untuk mengimplementasikan
sistem tersebut. (Schmuller, 1999, p8)
2.7.3 Diagram-diagram UML
UML menyajikan 9 (sembilan) diagram yang dapat dikategorikan
dalam 5 (lima) perspektif yang berbeda dalam memodelkan sistem
(Whitten et.al., 2004, pp441-442). Penjelasan diagram-diagram UML dan
tujuannya digambarkan di bawah ini:
1. Use Case Model Diagrams
Diagram ini menggambarkan interaksi antara sistem dan sistem di luar
(eksternal sistem) dan user. Dengan kata lain, diagram ini
menggambarkan secara grafikal siapa saja yang akan menggunakan
sistem dan dalam hal apa saja user dapat berhubungan dengan sistem
tersebut. Narasi use case digunakan sebagai tambahan untuk
penggambaran secara tekstual terhadap urutan langkah-langkah dari
setiap interaksi.
46
2. Static Structure Diagrams
UML menyajikan dua diagram untuk memodelkan struktur statis dari
sebuah sistem informasi. Keduanya adalah:
a. Class Diagram, menggambarkan struktur objek dari sistem.
Diagram ini menggambarkan object-object class yang menyusun
sistem dan juga relasi yang terjalin di antara object-object class itu.
b. Object Diagram, merupakan diagram yang mirip dengan class
diagram, tetapi jika class diagram menggambarkan object classes,
maka object diagram memodelkan object instances yang aktual,
yang menunjukkan nilai aktual dari atribut instances.
3. Interaction Diagrams
Interaction Diagram memodelkan interaksi, terdiri dari sekumpulan
objek, relasi di antaranya dan pesan yang terkirim di antaranya.
Diagram ini memodelkan sifat-sifat dinamis dari sebuah sistem dan
UML menggambarkan dua diagram tersebut sebagai berikut:
a. Sequence Diagram, secara grafis menggambarkan bagaimana
objek-objek berinteraksi satu sama lain lewat pesan dalam
mengeksekusi sebuah use case atau sebuah operasi.
b. Collaboration Diagram, hampir sama dengan sequence diagram,
tapi ia tidak memfokuskan pada waktu atau urutan pengiriman
pesan.
4. State Diagram
State Diagram juga memodelkan sifat-sifat dinamis dari sebuah sistem.
Diagram UML ini menggambarkan sifat-sifat kompleks dari sebuah
47
objek tertentu (statechart diagram) dan memodelkan sifat dari use case
atau method.
a. Statecahart Diagram, digunakan untuk memodelkan sifat dinamis
dari objek tertentu. Diagram ini menggambarkan siklus objek
(object's life cycle) yang menyebabkan objek bertransisi dari satu
state ke state lainnya.
b. Activity Diagram, digunakan dalam menggambarkan urutan aliran
kegiatan (activities) secara grafis dari proses bisnis atau sebuah use
case. Dan juga memodelkan kegiatan-kegiatan yang dilakukan
ketika sebuah operasi dieksekusi dan hasil dari eksekusi kegiatan
tersebut.
5. Implementation Diagram
Implementation Diagram memodelkan struktur dari sebuah sistem
informasi.
a. Component Diagram, digunakan secara grafis dalam menjelaskan
organisasi dan ketergantungan dari komponen-komponen software
dari sebuah sistem. Dan diagram ini juga menunjukkan bagaimana
kode-kode program dipecah menjadi modul-modul yang lebih
sederhana.
b. Deployment diagram, menjelaskan arsitektur fisik dari node
komponen perangkat keras dan piranti lunak sistem. Penggambaran
konfigurasi dari komponen software, processor dan peralatan yang
membangun sebuah arsitektur sistem.
48
Penjelasan lebih lanjut mengenai beberapa model diagram akan
diberikan dalam subbab-subbab berikut ini.
2.7.3.1 Use Case Diagram
Unsur-unsur pokok dari Use Case Diagram antara lain:
1. Actor
Actor merupakan segala sesuatu yang dibutuhkan dalam
berinteraksi dengan sistem untuk pertukaran informasi.
Dalam hal ini, actor tidak harus selalu berupa manusia. Actor
dapat berupa suatu organisasi, sistem informasi lainnya,
external device seperti sensor panas, atau bahkan konsep
waktu.
2. Use Case
Use Case merupakan hasil dari dekomposisi dari ruang
lingkup fungsionalitas sistem ke dalam bentuk yang lebih
kecil. Use Case merepresentasikan tujuan tunggal dari sistem
dan menggambarkan sekumpulan aktivitas dan interaksi user
dalam upaya untuk mencapai tujuan tersebut. Use Case
adalah sekumpulan langkah-langkah (scenario) yang saling
terhubung, baik secara otomatis maupun manual, yang
bertujuan untuk menyelesaikan suatu proses bisnis.
49
Gambar 2.4 Actor dan Use Case pada Use Case Diagram
3. Hubungan antar Use Case
Ada beberapa hubungan antara use case,antara lain adalah:
a. Uses
Hubungan uses (sering juga disebut includes)
digambarkan dari suatu use case X ke suatu use case Y
yang mengindikasikan bahwa proses untuk melakukan X
selalu melibatkan Y, paling sedikit sekali. Singkatnya,
bisa dikatakan bahwa menggunakan uses dalam bentuk X
uses Y berarti X has a Y (proses X mengandung proses Y
yang harus dikerjakan) sebagai bagian dari proses X.
Gambar 2.5 Contoh uses
50
b. Extends
Hubungan extends digambarkan dengan use case X ke use
case Y yang mengindikasikan bahwa proses X merupakan
case dengan behaviour spesial dari proses yang lebih
umum dari use case Y. Extends dapat digunakan dalam
situasi di mana sistem yang ada memiliki use cases
(proses) di mana ia memiliki beberapa sub proses yang
memiliki kesamaan, tetapi setiap sub proses memiliki
sesuatu yang berbeda yang tidak memungkinkan untuk
mengelompokkan mereka di dalam use case yang sama.
(Whitten, et al., 2004, pp272-273; http://
www.andrew.cmu.edu/ course/90-754/umlucdfaq.html)
Gambar 2.6 Contoh extends
2.7.3.2 Class Diagram
Class Diagram menggambarkan data yang ada di dalam
sistem software. Berbagai simbol penting yang hadir di dalam
class diagram antara lain adalah:
1. Classes, yang berfungsi untuk merepresentasikan tipe dari
data yang dimilikinya. Class diagram dapat ditampilkan
51
dengan menunjukkan attributes dan operations yang
dimilikinya, atau hanya menunjukkan nama class-nya saja.
Dapat juga kita tuliskan nama class dengan attribute-nya saja
atau nama class dengan operation-nya.
Gambar 2.7 Beberapa bentuk penyajian Class Diagram
2. Attributes, merupakan data yang terdapat di dalam classes
dan instancenya.
3. Operations, yang berfungsi untuk merepresentasikan fungsi-
fungsi yang ditampilkan oleh classes dan instancenya.
4. Associations, digunakan untuk menunjukkan bagaimana dua
classes berhubungan satu sama lainnya. Associations
ditunjukkan dengan sebuah garis yang terletak di antara dua
classes. Di dalam setiap associations terdapat multiplicity,
yaitu simbol yang mengindikasikan berapa banyak instances
dari class pada ujung associations yang satu dengan instances
class di ujung associations yang lainnya.
52
Gambar 2.8 Contoh hubungan antar class dengan berbagai jenis multiplicity
5. Generalizations, yang berfungsi untuk mengelompokkan
classes ke dalam hirarki inheritance.
Account
SavingsAccount CheckingAccount MortgageAccount
Gambar 2.9 Contoh Generalization
Dalam gambar ini ditunjukkan bahwa class Account
mewariskan data dan behaviour-nya ke tiga class di
bawahnya.
6. Aggregation, merupakan bentuk khusus dari association yang
merepresentasikan hubungan ‘part-whole’. Bagian ‘whole’
dari hubungan ini sering disebut dengan assembly atau
aggregate. Class yang satu dapat dikatakan merupakan
bagian dari class yang lain yang ikut membentuk class
tersebut.
53
Gambar 2.10 Hubungan aggregation di antara dua class
7. Composition, merupakan jenis aggregation yang lebih kuat di
antara dua class yang memiliki association di mana jika
whole ditiadakan, maka partnya juga ikut ditiadakan. Berbeda
dengan aggregation, part akan tetap bisa berdiri sendiri
meskipun bagian wholenya ditiadakan.
Gambar 2.11 Hubungan composition di antara dua class
(Letbridge dan Laganiere, 2002, pp37, pp154-170).
2.7.3.3 Sequence Diagram
Sequence diagram menggambarkan serangkaian messages
yang mengalami pertukaran yang dilakukan oleh object (dapat
juga berupa actor) yang melakukan tugas tertentu. Sequence
diagram antara lain tersusun atas sekumpulan object-object yang
akan dipergunakan untuk interaksi, activation box (suatu kotak
yang menyatakan lifeline (daur hidup) dari suatu tugas yang
sedang dilakukan. Pesan yang dikirimkan dimulai dari suatu
actor atau object, dan kita dapat memberikan label pada pesan
yang dilakukan. (Lethbridge dan Laganiere, 2002, pp270-271)
54
Gambar 2.12 Contoh sequence diagram
2.7.3.4 State Chart Diagram
State chart diagram merupakan cara lain untuk
mengekspresikan informasi dinamik tentang sistem di mana state
chart diagram digunakan untuk menggambarkan behaviour yang
terlihat dari luar pada sebuah sistem atau objek individual.
Pada suatu titik di suatu masa, sistem atau objek berada di
dalam suatu state. Sistem atau objek tersebut akan tetap berada
pada state tersebut sampai sebuah event lain terjadi yang
berakibat pada berubahnya state yang ditempati saat itu.
Di dalam state diagram ini, selain state, dibutuhkan
transitions yang berfungsi untuk mengubah state sebagai respon
terhadap event yang terjadi. Dapat pula ditambahkan label di
transition ini untuk merepresentasikan event apa yang membuat
perubahan pada state.
55
Selain itu, ada dua simbol lain yang dipergunakan, yaitu:
1. Start state, yang berupa lingkaran hitam, berfungsi saat
sistem atau objek memulai prosesnya. Dari start state, akan
memunculkan transisi tak berlabel yang langsung mengarah
pada state lain yang ditunjuknya. Di dalam setiap state chart
diagram hanya terdapat satu start state.
2. End State, berupa lingkaran hitam yang dikelillingi lingkaran
yang lebih besar yang berwarna putih. End state menandakan
sistem atau objek telah menyelesaikan proses kerjanya. End
state dapat berjumlah lebih dari satu.
(Lethbridge dan Laganiere, 2002, pp276-277)
Gambar 2.13 Contoh state chart diagram
2.7.3.5 Activity Diagram
Activity Diagram digunakan untuk memahami proses kerja
yang dilakukan oleh object maupun komponennya. Dapat juga
digunakan untuk memvisualisasikan interaksi di antara use cases
yang berbeda.
56
Transisi yang terjadi di dalam activity diagram kebanyakan
disebabkan oleh internal events, seperti selesainya suatu activity
yang dijalankan.
Salah satu kekuatan dari activity diagram adalah melakukan
representasi dari concurrent activities atau activities yang
dilakukan secara bersama-sama.
Activity diagram memiliki kemiripan dengan state chart
diagram, kecuali activity diagram memiliki beberapa simbol
tambahan seperti yang digunakan untuk menggambarkan
concurrency. Concurrency dapat digambarkan dengan
menggunakan forks, joins dan rendezvous, yang
direpresentasikan dengan garis-garis pendek, yang menunjukkan
transisi-transisi mana yang dapat dimulai dan diakhiri.
1. Fork, memiliki satu transisi yang masuk dan banyak transisi
yang keluar.
2. Join, memiliki banyak transisi yang masuk dan satu transisi
keluar. Transisi keluar akan dijalankan setelah semua transisi
yang masuk telah dijalankan.
3. Rendezvous, memiliki banyak transisi yang masuk dan
banyak transisi yang keluar. Saat semua transisi yang masuk
dijalankan, sistem akan menjalankan semua transisi yang
keluar pada masing-masing bagian.
57
Activity Diagram sering diasosiasikan dengan beberapa
classes. Partisi dari activities di antara class-class tersebut secara
eksplisit digambarkan dengan kotak berkolom yang disebut
dengan swimlanes.
Gambar 2.14 Contoh activity diagram
(Lethbridge dan Laganiere, 2002, pp284-285)
2.8 Interaksi Manusia dan Komputer (IMK)
Menurut definisi dari ACM SIGCHI (http://sigchi.org/cdg/cdg2.html),
Interaksi Manusia dan Komputer (IMK) atau Human-Computer Interaction (HCI)
adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan
implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta
studi fenomena-fenomena besar yang berhubungan dengannya.
58
Antarmuka merupakan unsur pokok dalam setiap pengembangan sistem yang
ada. Oleh karena itu, penting untuk mengetahui faktor-faktor apa saja yang
menentukan di dalam merancang suatu antarmuka.
Menurut Sneiderman (1998, p15), ada lima faktor manusia terukur yang dapat
dijadikan sebagai pusat evaluasi, yaitu:
1. Waktu belajar, berapa lama waktu yang dibutuhkan oleh user untuk
mempelajari cara relevan untuk melakukan suatu tugas?
2. Kecepatan kinerja, berapa lama waktu yang diperlukan untuk mengerjakan
suatu tugas?
3. Tingkat kesalahan, berapa banyak kesalahan dan kesalahan-kesalahan seperti
apa yang bisa terjadi saat user mengerjakan tugas-tugas tersebut?
4. Daya ingat, bagaimana kemampuan pemakai mempertahankan
pengetahuannya setelah jangka waktu tertentu?
5. Kepuasan subjektif, bagaimana kepuasan user terhadap berbagai aspek dari
sistem?
Selain itu, menurut Sneiderman (1998, p74-75), disebutkan pula bahwa ada
delapan aturan emas yang digunakan di dalam merancang antarmuka, yaitu:
1. Berusaha untuk konsisten, seperti dalam penggunaan warna, layout, jenis
huruf yang konsisten.
2. Memungkinkan frequent user menggunakan shortcuts, karena dengan adanya
shortcuts dapat meningkatkan interaksi dengann user.
3. Memberikan umpan balik yang informatif yang memberikan kejelasan dari
setiap aksi yang dilakukan oleh user.
59
4. Merancang dialog yang memberikan penutupan (keadaan akhir).
5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang
sederhana.
6. Memungkinkan pembalikan aksi yang sederhana (bersifat reversible).
7. Mendukung pusat kendali internal, di mana sistem hendaknya mampu
membuat user sebagai bagian dari sistem itu sendiri dan memiliki kebebasan
tersendiri.
8. Mengurangi beban ingatan jangka pendek di mana user hendaknya mudah
dalam menjelajahi situs dengan petunjuk-petunjuk yang sederhana dan
gampang diingat.
2.9 Basis Data
Basis Data adalah sekumpulan data-data yang dapat digunakan secara
bersama-sama yang berhubungan secara logika, dan deskripsi dari data tersebut
dirancang untuk mendapatkan informasi yang dibutuhkan oleh organisasi.
(Connolly dan Begg, 2002, p14)
2.10 DBMS
DBMS (Database Management System) adalah suatu sistem perangkat lunak
yang memungkinkan pengguna untuk mendefinisikan, menciptakan, memelihara
dan mengontrol akses ke database. (Connolly dan Begg, 2002, p16)
60
2.11 Normalisasi
Normalisasi merupakan suatu teknik yang digunakan untuk menghasilkan
sekumpulan relasi dengan properties yang diinginkan dari data-data yang ada.
Normalisasi juga merupakan teknik formal untuk menganalis relasi berdasarkan
primary key (atau candidate key) dan functional dependencies. Normalisasi sering
dipergunakan untuk melakukan tes terhadap suatu relasi untuk menentukan apakah
relasi tersebut memenuhi atau tidak memenuhi persyaratan dari bentuk normal.
Untuk melakukan normalisasi, maka dibutuhkan sebuah tabel yang berada dalam
bentuk UNF (Unnormalized form), yaitu sebuah tabel yang mengandung satu atau
lebih repeating groups (sekelompok nilai yang berulang yang menimbulkan
redudansi pada data).
Proses-proses normalisasi adalah sebagai berikut:
1. First Normal Form (1NF)
Menghasilkan suatu relasi di mana interseksi dari setiap baris dan kolom
mengandung satu dan hanya satu nilai. Untuk itu, di dalam 1NF, dihilangkan
repeating groups yang ada, salah satunya dengan cara memasukkan data yang
tepat di dalam kolom yang kosong dari baris-baris yang mengandung
repeating data. Hasilnya adalah relasi satu-satu di antara atribut yang satu
dengan yang lain.
2. Second Normal Form (2NF)
Menghasilkan suatu relasi yang telah memenuhi 1NF dan setiap atribut dari
non-primary-key bersifat fully functionally dependent terhadap candidate key.
Fully functionally dependent merupakan suatu istilah bahwa kelompok atribut
yang satu harus tergantung secara penuh terhadap kelompok atribut lainnya
61
(bukan subsetnya saja). Fully functionally dependent di sini juga berarti setiap
hubungan yang hanya bersifat partially dependent atau bergantung sebagian
terhadap key yang lain, harus dihilangkan.
3. Third Normal Form (3NF)
Menghasilkan sebuah relasi yang telah memenuhi 1NF dan 2NF dan tidak ada
satu pun atribut dari non-primary-key yang bersifat transitively dependent
terhadap candidate key. Transitively dependent berarti menghilangkan atribut
yang tidak tergantung pada primary key, melainkan tergantung pada atribut
lainnya.
(Connolly dan Begg, 2002, pp376-396)
2.12 MySQL
MySQL merupakan database open-source yang banyak digunakan dewasa ini.
Menurut perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta
komputer.
MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB,
yang kala itu bernama TcX DataKonsult AB, sejak sekitar 1994–1995, meski cikal
bakal kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX
membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi
Web untuk klien. TcX adalah perusahaan pengembang software dan konsultan
database.
Nama MySQL (baca: mai és kju él) diperkirakan diambil dari nama
pengembangnya, yaitu Michael Widenius, yang sering dipanggil Monty. MySQL
versi 1.0 dirilis Mei 1996 secara terbatas kepada empat orang. Baru di bulan
62
Oktober versi 3.11.0 dilepas ke publik. Namun mula-mula kode ini tidak diberikan
di bawah lisensi General Public License, melainkan lisensi khusus yang intinya
menyatakan bahwa source code MySQL dapat dilihat dan gratis, serta server
MySQL dapat dipakai tanpa biaya tapi hanya untuk kebutuhan non komersial.
Untuk kebutuhan komersial seperti mengemas dan menjual atau menyertakan
MySQL dalam program komersial lain, harus membayar lisensi. Sementara
distribusi Windows MySQL sendiri dirilis secara shareware. Barulah pada Juni
2000 MySQL AB mengumumkan bahwa sejak versi 3.23.19, MySQL adalah
software bebas berlisensi GPL, sehingga source code MySQL dapat dilihat dan
gratis, serta server MySQL dapat dipakai tanpa biaya untuk kebutuhan apa pun.
Barulah di versi-versi akhir 3.22, sepanjang 1998–1999, MySQL menjadi
semakin popular dan dilirik orang. Stabilitasnya sudah baik. Kecepatannya
meningkat. Sudah tersedia di berbagai platform, termasuk Windows. Seri 3.22 ini
banyak dipakai di berbagai instalasi, mungkin hingga sekarang, sehingga MySQL
AB tetap memberikan dukungan technical support untuk seri ini.
Setelah itu, MySQL semakin berkembang dan ditambahkan fitur-fitur tertentu,
sehingga saat ini telah dikembangkan versi 4 dan 5 nya.
(http://www.master.web.id/mwmag/issue/04/content/fokus/fokus.html, 2002)
2.13 Java
Java adalah suatu bahasa pemrograman yang dikembangkan oleh Sun
Microsystems pada Agustus 1991, dengan nama semula Oak. Konon Oak adalah
pohon semacam Jati yang terlihat dari jendela tempat pembuatnya, James Gosling,
bekerja. Ada yang mengatakan bahwa Oak adalah singkatan dari “Object
63
Application Kernel”, tetapi ada yang menyatakan hal itu muncul setelah nama Oak
diberikan. Pada Januari 1995, karena nama Oak dianggap kurang komersial, maka
diganti menjadi Java.
Beberapa keuntungan yang dimiliki oleh Java adalah dalam hal portabilitas,
artinya Java tidak bergantung pada platform. Java memiliki source code khusus
yang berbentuk biner yang disebut bytecode yang memungkinkan hasil kompilasi
bisa ditampilkan di setiap platform yang berbeda.
Java adalah bahasa pemrograman yang berorientasi objek, karena itu konsep-
konsep tentang Object-Oriented pun diterapkan di dalam Java. (Kadir, 2004, pp2-
4).
2.14 NetBeans
NetBeans merupakan integrated development environment (IDE) yang bersifat
open-source dan dibuat menggunakan Java. Pada awalnya, NetBeans dimulai dari
sebuah proyek siswa sekolah di Republik Ceska di tahun 1996. Proyek yang
awalnya disebut dengan Xelfi itu merupakan IDE pertama Java yang ditulis di
dalam bahasa Java, yang dimulai dengan pra-rilisnya di tahun 1997.
Salah seorang entrepreneur Ceska yang bernama Roman Stanek, tertarik dalam
pengembangan Xelfi, dan akhirnya menginvestasikan dananya untuk
pengembangan Xelfi. Sejak itulah Xelfi pun memasuki dunia bisnis. Rencana awal
untuk bisnis tersebut adalah dengan mengembangkan komponen JavaBeans yang
dapat terhubung dengan jaringan. Dari sanalah para developer mengembangkan
IDE tersebut dan akhirnya menamai pekerjaan mereka NetBeans.
64
Di tahun 1999, Sun Microsystem tertarik dengan Netbeans dalam upaya
pengembangan Java-nya. Dan akhirnya NetBeans pun bekerja sama dengan Java
dengan mengembangkan NetBeans sebagai IDEnya.
Saat ini versi terbaru adalah Netbeans IDE 4.1 yang dirilis pada tanggal 11
Mei 2005, termasuk dengan kemampuan pengembangan Java 2 Platform
Enterprise Edition (J2EE). Rilis ini memungkinkan developer untuk tidak hanya
mengembangkan aplikasi di dalam web tier, tetapi juga dapat memasukkan
Enterprise JavaBeans (EJBs) dan kemampuan pengembangan web service.
(http://www.netbeans.org/about/history.html, 2005)
top related