REKAYASA PERANGKAT LUNAK CUSTOMER RELATI

REKAYASA PERANGKAT LUNAK CUSTOMER RELATIONSHIP MANAGEMENT
(CRM) MARKETING AUTOMATION DAN CUSTOMER SUPPORT DENGAN
MENGGUNAKAN METODE SERVICE ORIENTED ARCHITECTURE (SOA)
Eka Mustofa, Riyanarto Sarno, Rizky Januar A.
Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember
Email: eka_mustofa@yahoo.co.id, riyanarto@its-sby.edu, ricesky@yahoo.com

Disinilah professional IT secara langsung
menghadapi tantangan untuk mampu membuat dan
mengontrol legacy teknologi dalam batasan
perusahaan/enterprise dan heterogenitasnya, yaitu
suatu system yang berbasis service-oriented.
Arsistektur system yang berbasis service dikenal
dengan istilah Service Oriented Architecture
(SOA).

Abstrak - Customer Relationship Management
(CRM) merupakan salah satu sarana untuk
menjalin hubungan yang berkelanjutan antara
perusahaan dengan para pelanggan. Dengan
memanfaatkan CRM, perusahaan akan mengetahui

apa yang diharapkan dan diperlukan pelanggan,
sehingga akan tercipta ikatan emosional yang
mampu menciptakan hubungan bisnis yang erat
dan terbuka serta komunikasi dua arah di antara
mereka.

SOA adalah model arsitektur untuk membuat
software yang menggunakan servis yang terdapat
pada jaringan, misalnya Web. Komponen software
pada SOA bersifat loose coupling, sehingga bisa direuse. Aplikasi pada SOA dibangun berdasar servis.
Servis adalah implementasi dari fungsi bisnis yang
terdefinisi jelas, dan bisa dikonsumsi oleh klien
pada berbagai aplikasi atau proses bisnis. SOA
membantu organisasi supaya bisa melakukan bisnis
secara lebih efisien dan beradaptasi terhadap
perubahan dan kompetisi, memungkinkan konsep
software sebagai servis.

Pada tugas akhir ini akan dibangun
aplikasi CRM dengan menggunakan metode

Service Oriented Architecture (SOA) dengan
memanfaatkan teknologi Web Service dan
perancangan aplikasi menggunakan Service
Oriented Architecture Design (SOAD) berdasarkan
Enterprise Architecture untuk menciptakan
keselarasan antara bisnis dan teknologi informasi
bagi kebutuhan perusahaan.
Kata kunci: CRM, SOA, Web Service, SOAD,
Enterprise Architecture

1. Pendahuluan

Dengan memanfaatkan Service Oriented
Architecture merupakan solusi alternatif untuk
mengatasi problema-problema di atas. SOA
menawarkan sebuah infrastruktur yang baik dengan
kemampuan integrasi yang sudah terkelola, yang
tentunya akan berdampak pada meningkatnya
reliability, kemudahan pertukaran informasi antar
aplikasi, mengurangi pengaruh jika terjadi

perubahan, dan yang tidak kalah pentingnya adalah
dapat menekan biaya-biaya untuk keperluan
integrasi dan modifikasi aplikasi.

Dengan perkembangan Teknologi Informasi
yang sangat pesat membawa dampak dalam proses
bisnis yang membutuhkan kecepatan, transaparansi
dan akuntabilitas dalam semua proses pada suatu
sistem Enterprise terutama untuk Customer
Relationship Management. Customer Relationship
Management adalah sebuah aplikasi manajemen
untuk menjalin hubungan dengan pelanggan dan
memberikan pelayanan yang memuaskan bagi
pelanggan. Dengan ini memungkinkan pelanggan
terlibat dalam proses peningkatan pelayanan,
sehingga pelanggan dapat memperoleh solusi dan
alternative layanan yang cepat dan tepat. Selain itu,
aplikasi yang dikembangkan ini diharapakan dapat
meningkatkan pelayanan terhadap pelanggan dan
menjadi salah satu alat dalam membangun

hubungan antara perusahaan dengan customer yang
saling menguntungkan.

2. Enterprise Architecture
Keselarasan penerapan sistem informasi
dengan kebutuhan organisasi hanya mampu
dijawab dengan memperhatikan faktor integrasi
didalam pengembangannya. Tujuan integrasi yang
sebenarnya adalah untuk mengurangi kesenjangan
yang terjadi dalam proses pengembangan sistem.
Untuk menurunkan kesenjangan tersebut, maka
diperlukan sebuah paradigma dalam merencanakan,
merancang, dan mengelola sistem informasi yang
disebut dengan Enterprise Architecture (EA).

Kebutuhan untuk merealisasikan konsep kerja
sama yang dinamis antar perusahaan, maka sebuah
perusahaan harus memfokuskan pada system
enterprise dan proses integrasi antar enterprise.


1

Enterprise Architecture adalah sebuah pendekatan
logis, komprehensif, dan holistik untuk merancang
dan mengimplementasikan sistem dan komponen
sistem secara bersamaan.

digunakan untuk merancang aplikasi berbasis SOA
sehingga dari proses bisnis yang telah dijabarkan
dapat diidentifikasi dan dibentuk berbagai macam
service yang dibutuhkan oleh aplikasi SOA.

Enterprise architecture atau lebih dikenal
dengan arsitektur enterprise merupakan deskripsi
dari misi stakeholder yang di dalamnya termasuk
informasi,
fungsionalitas/kegunaan,
lokasi
organisasi dan parameter kinerja. Arsitektur
enterprise

menggambarkan
rencana
untuk
mengembangkan sebuah sistem atau sekumpulan
sistem (Osvalds, 2001).

SOA membagi fungsi-fungsi menjadi unit-unit
yang berbeda (service), yang dapat didistribusikan
melalui suatu jaringan dan dikombinasikan serta
digunakan ulang untuk membentuk aplikasi bisnis.
Layanan-layanan ini saling berkomunikasi dengan
mempertukarkan data antar mereka atau dengan
mengkoordinasikan aktivitas antara dua atau lebih
layanan. Service adalah sebuah stand-alone unit
dalam sebuah functionality.

EA (Sarno A, 2010) terdiri dari empat
arsitektur antara lain arsitektur bisnis, aplikasi,
informasi dan teknologi. Arsitektur bisnis
mendefinisikan strategi dalam bisnis, proses bisnis

utama dan struktur organisasi. Arsitektur aplikasi
menyediakan cetak biru aplikasi atau sistem dan
interaksinya dengan proses bisnis utama dalam
organisasi. Arsitektur informasi menggambarkan
organisasi dan manajemen sumber daya data yang
merepresentasikan logical dan physical aset.
Arsitektur
teknologi
merepresentasikan
infrastruktur aplikasi perangkat lunak untuk
mendukung pembangunan aplikasi.

5. Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA) adalah
sebuah bentuk teknologi arsitektur yang mengikuti
prinsip-prinsip service orientation (berorientasi
service). Konsep service-orientation ini melakukan
pendekatan dengan membagi masalah besar
menjadi sekumpulan service kecil yang bertujuan
untuk menyelesaikan permasalahan tertentu. SOA

tidak terkait dengan suatu teknologi tertentu, tapi
lebih ke arah pendekatan untuk pembangunan
perangkat lunak yang modular.
Service dalam lingkup SOA merupakan
sekumpulan fungsi, prosedur, atau proses yang
akan memberi respon jika diminta oleh sebuah
client. Dalam hal ini service mempunyai beberapa
karakteristik:

3. TOGAF ADM
TOGAF merupakan metode terinci dan
serangkaian alat pendukung untuk mengembangkan
suatu arsitektur enterprise. Kerangka ini
mempertimbangkan aset perusahaan dan berfokus
pada berbagai aplikasi bisnis mission-critical dan
memungkinkan perancangan arsitektur informasi
yang customized. TOGAF merupakan serangkaian
metode dan alat untuk membangun variasi
arsitektur, termasuk arsitektur bisnis, data, aplikasi
dan teknologi.


 Logical view, service yang dilihat dari level
operasi bisnis yang diidentifikasi sebagai
interface yang independen.
 Message orientation, Sebuah service yang
berhubungan dengan client yang bertukar
message.

Architecture Development Method (ADM) adalah
fitur penting yang memungkinkan perusahaan
mendefinisikan kebutuhan bisnis dan membangun
arsitektur spesifik untuk memenuhi kebutuhan itu.
ADM terdiri dari fase-fase yang dibutuhkan dalam
membangun
arsitektur
sistem
informasi
perusahaan.

 Description Orientation, Service yang

dideskripsikan sebagai mesin pengolah
metadata.
 Network Orientation, Service dituntut untuk
dipakai di dalam jaringan. Hal ini
menekankan pada kebutuhan service yang
secara otomatis serta mudah ditemukan.

4. Service Oriented Analysis and Design
(SOAD)

 Platform neutrality, Pesan disampaikan
melalui interface yang menggunakan
platform netral (multi platform) dan format
data yang standar seperti XML.

Service Oriented Analysis and Design
(SOAD) merupakan metode pendekatan yang

2


6. Domain Driven Design (DDD)

8. Customer Relationship Management
(CRM)

Domain Driven Design (DDD) adalah sebuah
pendekatan berorientasi obyek untuk merancang
perangkat lunak berdasarkan bisnis domain, dengan
unsur-unsur dan perilaku, dan hubungan antara
mereka. Bertujuan untuk mengaktifkan sistem
perangkat lunak yang merupakan realisasi dari
bisnis
yang
mendasari
domain
dengan
mendefinisikan model domain diungkapkan dalam
bahasa bisnis domain pakar. Model domain dapat
dilihat sebagai suatu kerangka kerja dari solusi
yang kemudian dapat dirasionalisasi. atau sebuah
pendekatan dengan desain perangkat lunak,
didasarkan pada dua premis:

CRM adalah strategi bisnis yang terdiri dari
software dan layanan yang didesain untuk
meningkatkan keuntungan (profit), pendapatan
(revenue) dan kepuasan pelanggan (customer
satisfaction). Caranya adalah dengan membantu
berbagai bentuk perusahaan untuk mengidentifikasi
pelanggannya dengan tepat, memperoleh lebih
banyak pelanggan dengan lebih cepat, dan
mempertahankan kesetiaan pelanggannya. Sasaran
utamanya adalah untuk meningkatkan pertumbuhan
jangka panjang dan profitabilitas perusahaan
melalui pengertian yang lebih baik terhadap
kebiasaan (behavior) pelanggan. CRM bertujuan
untuk menyediakan umpan balik yang lebih efektif
dan integrasi yang lebih baik dengan pengendalian
return on investment

1.

Domain desain yang kompleks harus
didasarkan pada model, dan
2. Bahwa untuk sebagian besar proyek
perangkat lunak, fokus utama harus pada
domain dan domain logika (yang
bertentangan dengan teknologi khusus yang
digunakan untuk mengimplementasikan
sistem).

Sistem CRM berusaha menyediakan sebuah
pendekatan terintegrasi terhadap semua aspek
dalam perusahaan dalam kaitannya dengan
pelanggannya, yang meliputi marketing, sales and
support. Tujuan dari sistem ini adalah dengan
penggunaan teknologi diharapkan terjadi jalinan
hubungan yang kuat antara perusahaan dengan
pelanggannya. Dengan kata lain, perusahaan
berusaha mengelola kinerja perusahaannya dengan
lebih baik. (Martin, Brown, DeHayes, Hoffer &
Perkins, 2005, p.194).

7. Web Service
Web services adalah sistem pertukaran
informasi berbasis XML dengan menggunakan
media internet untuk interaksi antara aplikasi
Teknologi ini merupakan standar yang diadopsi
oleh banyak vendor perangkat lunak, karena
memiliki standar terbuka. Standar terbuka ini yang
memungkinkan aplikasi web service yang
diimplementasikan oleh vendor berbeda dapat
berkomunikasi satu sama lain. Perkembangan web
services yang begitu cepat menyebabkan lahirnya
ekstensi-ekstensi web services yang memperluas
fungsi web services itu sendiri.

CRM menggunakan teknologi informasi untuk
menciptakan cross-functional enterprise system
yang mengintegrasikan dan mengotomatisasi proses
layanan pelanggan dalam bidang penjualan,
pemasaran, dan layanan produk/ jasa berkaitan
dengan perusahaan. Sistem CRM juga menciptakan
IT framework yang menghubungkan semua proses
dengan bisnis operasional perusahaan (O’Brien,
2002, p.130). Selain itu sistem CRM juga meliputi
sekumpulan modul software yang membantu
aktivitas bisnis perusahaan

Implementasi dari teknologi ini, yang berupa
aplikasi web services, saling berinteraksi satu sama
lain dengan menggunakan dokumen berformat
XML dan protokol pengiriman pesan SOAP
(Simple Object Access Protocol) melalui HTTP.
Format XML, SOAP, dan HTTP ini juga
merupakan standar terbuka yang dapat diadopsi.

9. Analisis Perangkat Lunak
Customer Relationship Management secara
umum digunakan untuk membantu kegiatan di
Sales, Marketing dan Customer Support. Lebih
tepatnya, CRM dipakai sebagai sarana penghubung
dari suatu perusahaan dengan pelanggan. Dengan
melalui channel yang dikelola dengan baik, suatu
perusahaan dapat mendengarkan apa yang

Sebuah aplikasi web service tidak dapat
langsung diketahui bagaimana penggunaannya.
Oleh karena itu, aplikasi ini harus menyediakan
deskripsi service. Untuk deskripsi ini, web service
juga memiliki standar terbuka yaitu WSDL (Web
Service Description Language).

3

diinginkan pelanggan, apa yang mereka keluhkan,
bagaimana
competitor
bertindak
terhadap
produk/jasa dari perusahaan, dan berbagai kegiatan
sejenis.

yang menunjukkan hubungan bisnis proses, sub
bisnis proses, software service, software entities
dan business entities. Selain itu di sudut pandang
ini terdapat business service activity diagram yang
menggambarkan aktivitas yang terjadi dalam suatu
layanan bisnis yang dikelompokkan berdasarkan
proses bisnisnya dalam suatu functional domain
yang meliputi proses internal dan penyediaan
layanan untuk functional domain lain.

Dengan menggunakan SOAD, analisa
permasalahan dalam functional domain dapat
dilakukan secara top-down, sehingga setiap
functional domain akan dimodelkan dalam
beberapa sudut pandang yaitu conceptual view,
logical view, dan physical view. Dalam conceptual
view, tiap functional domain dibagi menjadi
beberapa proses bisnis. Pembagian proses bisnis
dilakukan berdasarkan bisnis proses yang
digunakan, misalnya bisnis proses campaign
management yang menggambarkan kegiatan
marketing dalam mempromosikan barang-barang
yang ada dalam perusahaan. Tiap bisnis proses
terdiri dari beberapa sub bisnis proses yang
merepresentasikan bagian terkecil dari tiap bisnis
proses. Kemudian tiap bisnis proses dibagi lagi
menjadi beberapa bisnis service. Bisnis Service ini
tidak hanya proses internal masing-masing
functional domain tetapi juga apa yang harus
disediakan oleh bisnis service untuk digunakan oleh
functional domain lain. Selanjutnya adalah
membagi tiap bisnis service ke dalam service layer
yaitu bagian yang menggambarkan web service apa
saja yang disediakan oleh masing-masing
functional domain. Setelah mengetahui web service
apa saja yang akan disediakan masing-masing
functional domain, tahap
berikutnya adalah
mendefinisikan entitas apa saja yang dibutuhkan
untuk merealisasikan web service yaitu kumpulan
class yang disebut sebagai component dan
digambarkan dalam software component.

Physical View merupakan realisasi dari desain
yang ada pada conceptual view dan logical view.
Pada Physical View dibagi menjadi beberapa layer
yaitu web service layer yang menunjukkan apa saja
web service yang disediakan oleh functional
domain, presentation layer yang menggambarkan
rancangan user interface; application service layer
(ASL) yang menggambarkan bisnis logic yang ada
di tiap functional domain; domain model layer yang
menggambarkan class-class yang digunakan untuk
merealisasikan apa yang didesain sebelumnya
(class diagram); data transfer object yang
digunakan untuk menampung data yang akan
dikirim melalui web service yang disediakan; data
access layer yang menggambarkan koneksi aplikasi
dengan database melalui Object Relational
Mapping (Nhibernate).
Dari pemaparan conceptual view, logical view
dan physical view diatas dapat ditunjukkan salah
satu sub bisnis proses aplikasi Customer
Relationship Management pada waktu marketing
melakukan campaign. Apabila aplikasi didesain
menggunakan SOAD maka informasi produk yang
ingin dipromosikan dapat diketahui dari data
inventory menggunakan web service dari functional
domain lain sehingga dapat diketahui produkproduk apa saja yang
perlu dipromosikan.
Realisasi dari kegiatan campaign digambarkan pada
physical view, misalnya untuk user interface bisa
dilihat pada presentation layer; bisnis logic pada
application service layer; class, component, data
access object dan sequence diagram pada domain
model layer, proses insert ke dalam database pada
data access layer.

Conceptual View tidak hanya membagi
functional domain ke dalam beberapa sudut
pandang tetapi juga menggambarkan siapa saja
yang terlibat dalam sistem. Conceptual view juga
memberi gambaran tiap proses bisnis tiap
functional domain ke dalam sebuah flow chart
diagram, di situ digambarkan apa saja masukan
yang diperlukan untuk melakukan suatu proses
bisnis dan siapa yang melakukan proses bisnis
tersebut.

9.1. Perangkat
Automation

Logical View dapat dikatakan sebagai
jembatan untuk menghubungkan antara conceptual
view yang dimengerti oleh kalangan bisnis dan
physical view yang dipahami oleh para developer.
Di dalam sudut pandang ini digambarkan matrix

Lunak

Marketing

Modul Marketing Automation dari CRM
membantu perusahaan dalam melakukan Marketing
Campaign menggunakan Campaign Management
dan Email Marketing. Modul CRM ini penting

4

dalam menciptakan leads-leads baru yang mungkin
saja tertarik membeli produk atau jasa (Leads
Generation), sehingga leads tersebut bisa diarahkan
ke bagian sales.

Email Marketing merupakan modul untuk
membuat email template bagi marketing untuk
kebutuhan campaign.
e.

Lead Management
Lead
Management
digunakan
untuk
mengelola calon pelanggan baru yang telah
masuk dalam marketing automation dari hasil
campaign.

f.

Web to Leads Form
Merupakan fitur untuk menyediakan form lead
dari setiap campaign yang dikirim ke target
agar dapat mendaftar sebagai calon pelanggan
baru sehingga pelanggan dapat langsung
mendaftar
secara
langsung
apabila
berkeinginan untuk menjadi calon pelanggan.

Berdasarkan konsep Service Oriented
Architecture Design, Marketing Automation dapat
di-mapping-kan menjadi functional domain dalam
layer SOAD sebagai berikut:

«Lane» Business Layer
«Lane» Service Layer
«Lane» Component Layer

«Lane» Software Component MA «Lane» Software Service MA

«Lane» Business Service MA

«Lane» Business Process MA

«Lane» Functinal Domain MA

BPEL Mapping Domain MA

«FunctinalDomain»
10. Marketing Automation

«BusinessProcess»
10.2 Multi-Channel
Campaign

«BusinessServ i...
10.2.1 Multi-Channel
Campaign Serv ice

«BusinessProcess»
10.1 Campaign
Management

«BusinessServ ices»
10.1.1
Priv idingCampaign

«BusinessProcess»
10.3 Campaign Wizard

«BusinessServ i...
10.3.1 Campaign
Wizard Serv ice

«BusinessProcess»
10.4 Lead Management

«BusinessProcess»
10.5 Web To Leads
Form

«BusinessServ ices»
10.4.1 Priv idingLeads

«BusinessServ i...
10.5.1 Web to Lead
Form Serv ice

«BusinessProcess»
10.6 Email Marketing

«BusinessServ i...
10.6.1 Email
Marketing Serv ice

9.2. Perangkat Lunak Customer Support
«Softw areServ ices»
10.1.1.1
Priv ideCampaignData

«Softw areServ ices»
10.1.1.2
Priv ideTotalCampaignData

«Softw areServ ices»
10.4.1.1
Priv ideLeadsData

Modul Customer Support atau Help Desk
adalah modul CRM untuk mengelola setiap
masukan dari pihak luar, baik dari customer
ataupun yang non-customer. Masukan-masukan
tersebut misalnya adalah keluhan atas layanan,
keluhan atas produk, pertanyaan, kritik dan saran.

«Softw areServ ices»
10.4.1.2
Priv ideTotalLeadData

«Softw areComponent»
CampaignComponent
«Softw areComponent»
User Component

«Softw areComponent»
Lead Component

«Softw areComp...
Web to Lead
Component

Gambar 1 Functional Domain Marketing
Automation

Setiap komplain yang masuk dapat di-entry
secara manual ke dalam software CRM, atau dapat
di-entry secara otomatis jika komplain atau
masukan tersebut dikirimkan melalui email. Setiap
komplain kemudian akan mendapatkan Ticket ID,
yaitu sebuah nomor komplain untuk membantu
kemudahan tracking jika diperlukan.

Marketing Automation terdiri dari beberapa
fitur yang harus ditangani, yaitu:
a.

Campaign Management
Campaign Management adalah sub modul dari
Marketing Automation untuk mengatur
campaign yang akan dilakukan, misalnya
adalah tema campaign, tanggal dimulai dan
berakhirnya campaign, sasaran yang ingin
dicapai dari campaign tersebut, respond yang
dihasilkan, hingga ke perkiraan biaya.

Berdasarkan konsep Service Oriented
Architecture Design, Customer Support dapat dimapping-kan menjadi functional domain dalam
layer SOAD sebagai berikut:

d.

«Lane» Busines Layer
«Lane» Service Layer

Campaign Wizard
Campaign Wizard merupakan fitur tambahan
dari campaign management untuk mengelola
campaign secara step by step menggunakan
wizard sampai pengelolaan target campaign
dan mengirim campaign by email.

«Lane» Component Layer

c.

Multi-Channel Campaign
Merupakan
bagian
dari
campaign
management untuk membuat campaign
dimana proses campaign dapat dilakukan
dengan beberapa channel.

Email Marketing

«Lane» Software Component CS «Lane» Software Service CS «Lane» Business Service CS «Lane» Business Process CS «Lane» Functional Domain CS

BPEL Mapping Domain CS

b.

«FunctinalDomain»
11. Customer Support

«BusinessProcess»
11.2 Inbound Email

«BusinessServ i...
11.2.1 Inbound Email
Serv ice

«BusinessProcess»
11.3 Know ledgebase

«BusinessServ i...
11.3.1
Knoelw dgebase
Serv ice

«BusinessProcess»
11.1 Case Management

«BusinessServ ices»
11.1.1 Prov idingCase

«Softw areServ ices»
11.1.1.1
Priv ideCaseData

«Softw areComp...
Inbound Email
Component

«BusinessServ i...
11,4,1 Bugs Tracking
Serv ice

«BusinessProcess»
11.5 FAQs

«BusinessServ i...
11.5.1 FAQs Serv ice

«Softw areServ ices»
11.1.1.2
Priv ideCaseByItemData

«Softw areComp...
Account Component

«BusinessServ i...
Know ledgebase
Component

«BusinessProcess»
11.4 Bugs Tracking

«Softw areComp...
Bug Component

«Softw areCompo...
Case Component

«Softw areComp...
FAQs Component

Gambar 2 Functional Domain Customer Support

5

a.

b.

c.

Case Management
Digunakan untuk mengelola komplain dari
pelanggan berdasarkan ticket ID, subject,
tanggal terjadi komplain, user yang
melakukan input, hingga status dari komplain
tersebut.
Inbound Email
Merupakan modul untuk men-download email
baru yang ada pada setiap account email
marketing kedalam aplikasi CRM, sehingga
marketing tidak perlu login ke webmail.
Knowledge Base
Merupakan modul dari customer support
untuk memberikan modul-modul yang
dibutuhkan oleh pelanggan.

d.

Bug Tracking
Merupakan fitur untuk mendokumentasikan
bug yang terjadi pada sistem agar dapat segera
ditangani oleh pihak yang menangani.

e.

FAQs
Sub modul yang membantu pelanggan dalam
mendapatkan quick knowledge seputar
komplain-komplain atau pertanyaan umum
yang sering ditanyakan oleh customer,
sehingga mereka akan lebih siap ketika benarbenar menghadapi komplain dari pelanggan.

f.

Penerapan arsitektur sistem pada program
digunakan lima layer dimana masing-masing layer
memiliki peran tersendiri. Penjelasan layer-layer ini
adalah sebagai berikut:
1.

Web Service Layer
Layer ini berfungsi untuk implementasi web
service yang harus disediakan oleh sistem
untuk kebutuhan aplikasi lain.

2.

Presentation Layer
Layer ini digunakan untuk mengimplementasikan segala aktifitas user dalam
bentuk user interface.

3.

Application Service Layer
Layer ini bertanggung jawab dalam penerapan business logic dari aplikasi.

4.

Domain Model layer
Layer ini bertanggung jawab dalam
implementasi object class dan data transfer
object yang digunakan.

5.

Data Access Layer
Pada layer ini digunakan untuk menciptakan
komponen NHibernate dari setiap class
untuk melakukan aktifitas create, read,
update dan delete data

Self Service Portal
Modul ini menyediakan portal bagi customer
yang
menyediakan
layanan
keluhan
pelanggan, bug tracking, knowledgebase dan
seputar pertanyaan yang sering diajukan oleh
pelanggan (FAQs).

10. Arsitektur Perangkat Lunak
Desain arsitektur perangkat lunak Customer
Relationship
Management
ini
dibangun
menggunakan arsitektur sistem berbasis web
menggunakan ASP.NET C# 3.5 sebagai front-end
dan Oracle 10g Enterprise Edition sebagai backend.
Aplikasi
juga
memakai
library
BasicDatePicker yang digunakan sebagai sarana
untuk memilih kalender dan ListControlsEx untuk
menampilkan listbox yang dapat di isi lebih dari
satu inputan dengan output satu parameter yang di
set ketika listbox di-select. Komponen untuk
mengakses database oracle digunakan Nhibernate
untuk melakukan proses CRUD ke dalam database.

Gambar 3 Arsitektur Perangkat Lunak

11. Perancangan Perangkat Lunak
Pada bagian membahas perancangan desain
dari perangkat lunak yang akan dibangun meliputi :
desain class diagram, desain software service, dan
desain antarmuka perangkat lunak.

11.1. Web Service Layer
Bagian ini akan menjelaskan perancangan
Web Service yang harus disediakan oleh tiap-tiap
functional domain untuk kebutuhan aplikasi lain.

6

class Class Diagram MACS

class Web

Campaign Component

System.Web.Services.WebService
CampaignManagement
-

serviceFactory: IServiceFactory = new DaoFactoryS...

+
+

ProvideCampaignDataDto(DateTime, DateTime) : List
ProvideTotalCampaignDataDto(DateTime, DateTime) : TotalCampaignDataDto

-

Gambar 4 Web Service Campaign Management

11.2. Presentation Layer

Save

Cancel

Assigned to

Status

Planning

Start Date

dd/mm/yyyy

End Date

dd/mm/yyyy

Type

Telesales

+Type

Admin

Releted Item

Currency

EURO

Budget

0

Expected Revenue

0

Actual Cost

Compaign Revenue

0

Expected Cost

Impression

+TargetID
+TargetID
Target

+TargetListID

+TargetListID
TargetList

-

Assigned: char
Created: char
DateEntered: DateTime
DateModified: DateTime
Description: string
ListType: TargetListType
Modified: char
Name: string

«id»
- TargetListID: char
«property»
+ Assigned() : char
+ Created() : char
+ DateEntered() : DateTime
+ DateModified() : DateTime
+ Description() : string
+ ListType() : TargetListType
+ Modified() : char
+ Name() : string
+ TargetListID() : char

+ListType

AUTO

Name

TargetID: char
TargetListID: char

«property»
+ TargetID() : char
+ TargetListID() : char

+TargetListID

«property»
+ ActualCost() : decimal
+ Assigned() : char
+ Budget() : decimal
+ CampaignID() : char
+ CampaignRevenue() : decimal
+ Created() : char
+ Currency() : string
+ DateEntered() : DateTime
+ DateModified() : DateTime
+ Description() : string
+ EmailTemplate() : char
+ EndDate() : DateTime
+ ExpectedCost() : decimal
+ ExpectedRevenue() : decimal
+ Impession() : decimal
+ Modified() : char
+ Name() : string
+ Objective() : string
+ StartDate() : DateTime
+ Status() : CampaignStatus
+ Type() : CampaingType

Compaigns

CampaignID: char +TargetListID TargetListID: char

«property»
+ CampaignID() : char
+CampaignID + TargetListID() : char

+ ProvidingCampignData(date, date) : IList
+ ProvidingCampignOfTheMonth(month) : IList

ui Presentation Layer

ID

+CampaignID -

ActualCost: decimal
Assigned: char
Budget: decimal
CampaignRevenue: decimal
Created: char
Currency: string
DateEntered: DateTime
DateModified: DateTime
Description: string
emailTemplate: char
EndDate: DateTime
ExpectedCost: decimal
ExpectedRevenue: decimal
Impression: decimal
Modified: char
Name: string
Objective: string
StartDate: DateTime
Status: CampaignStatus
Type: CampaingType

«id»
- CampaignID: char

Bagian ini akan membahas perancangan antar
muka dari aplikasi yang akan dibangun.
Perancangan antar muka ini bertujuan untuk
memberikan kemudahan dalam membangun
aplikasi berdasarkan desain GUI yang sudah dibuat.

TargetListTarget

TargetListCampaign

Campaign

+Status

«enumeratio...
CampaingType

«enumeratio...
CampaignStatus

Telesales
Email
Print
Web
Radio
Television
Newsletter

Planing
Active
Inactive
Complete
In Queue
Sending

«enumeration»
TargetListType
Default
Seed
Suppresion List - By Email Address
Suppression List - By Id
Tes

0

-

AccountName: string
AddressCity: string
AddressCountry: string
AddressEmail: string
AddressPostalcode: string
AddressState: string
AddressStreet: string
Assigned: char
Birthdate: DateTime
Created: char
DateEntered: DateTime
DateModified: DateTime
Department: string
Description: string
FirstName: string
LastName: string
Modified: char
PhoneFax: string
PhoneHome: string
PhoneMobile: string
PhoneWork: string
Salutation: string
Title: string

«id»
- TargetID: char
«property»
+ AccountName() : string
+ AddressCity() : string
+ AddressCountry() : string
+ AddressEmail() : string
+ AddressPostalcode() : string
+ AddressState() : string
+ AddressStreet() : string
+ Assigned() : char
+ Birthdate() : DateTime
+ Created() : char
+ DateEntered() : DateTime
+ DateModified() : DateTime
+ Department() : string
+ Description() : string
+ FirstName() : string
+ LastName() : string
+ Modified() : char
+ PhoneFax() : string
+ PhoneHome() : string
+ PhoneMobile() : string
+ PhoneWork() : string
+ Salutation() : string
+ TargetID() : char
+ Title() : string

0
0

Objective

Gambar 7 Class Diagram dalam komponen
Campaign

Description

11.5. Data Access Layer
Gambar 5 Halaman Multi-Channel Campaign

Bagian ini menjelaskan desain dari interface
data acces object yang digunakan oleh sistem untuk
menjalankan aplikasi.

11.3. Application Service Layer
Bagian ini akan menjelaskan perancangan
application service yang merupakan bisnis logic
dari suatu functional domain yang disediakan oleh
tiap-tiap functional domain.

class DataInterface
«interface»
ICampaignDao
+
+
+
+
+
+

class Application
ICampaignASL
+
+
+
+
+
+

GetAllByUser(Campaign) : IList
GetByAllData() : IList
GetCampaignDataDto(DateTime, DateTime) : IList
GetDataById(string) : Campaign
GetFilterData(string, string) : IList
GetTotalCampaignDataDto(DateTime, DateTime) : TotalCampaignDataDto

deleteDataASL(string) : void
GetAllByUser(string) : List
GetAllData() : List
GetFilterData(string, string) : List
saveDataASL(string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string) : void
updateDataASL(string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string) : void

Gambar 8 Interface ICaseDao
Gambar 6 Interface ICampaignASL

12. Uji Coba

11.4. Domain Model Layer

Pada proses uji coba diberikan beberapa
skenario
untuk
mengetahui
fungsionalitasfungsionalitas dari program. Uji coba dilakukan
mulai dari masuknya input dan diproses sampai
akhirnya menghasilkan output. Uji coba meliputi
pengujian beberapa komponen utama dari aplikasi
ini.

Bagian ini menjelaskan tentang perancangan
aplikasi yang dibangun dalam bentuk class
diagram. Class diagram dari aplikasi yang dibangun
digambarkan pada Lampiran.

7

Tabel 1 Hasil Uji Coba Fungsional

Fungsi yang diuji
Melakukan Campaign
Menambah data Lead
Menambah data Case
Memasukkan data Knowledge Base
Memasukan data Bug
MengunakanPortal

14. Daftar Pustaka
Hasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil

[1] Osvalds, G. (2001). Definition of Enterprise
Architecture – Centric Models for The
Systems Engineers, TASC Inc.
[2] Martin, E.W., Brown, C.V., DeHayes, D.W.,
Hoffer, J.A., Perkins, W.C., 2005, “Customer
Relationship
Management”,
Managing
Information Technology (5th ed.), Pearson
Prentice Hall, pp. 194-196.
[3] O’Brien, James A., 2002, “Customer
Relationship Management”, Management
Information Systems: Managing Information
Technology in the E-Business Enterprise (5th
ed.), McGraw-Hill Higher Education, pp.128131.
[4] [Sarno A, 2010] Sarno, R. and Herdiyanti,

13. Kesimpulan
Berdasarkan hasil pengamatan selama proses
perancangan, implementasi, dan uji coba perangkat
lunak, maka dapat diambil kesimpulan sebagai
berikut:
1.

2.

Customer Relationship Management (CRM)
merupakan aplikasi yang berkaitan erat
dengan aplikasi ERP, sehingga untuk
kebutuhan data antar aplikasi dapat berbagi
dengan memanfaatkan Service Oriented
Architecture (SOA).
Perancangan
Aplikasi
Customer
Relationship
Management
untuk
menerapkan
metode
SOA
dengan
menggunakan Service Oriented Architecture
Design (SOAD) memudahkan dalam
penerapan aplikasi.

A. (March 2010), “A Service Portfolio for
an Enterprise Resource Planning”;
International Journal of Computer Science
and Network Security, ISSN – 1738 –
7906, Vol. 10, No. 3, pp. 144-156.

8