Pembangunan Sistem Lowongan Pekerjaan Dengan Dukungan Web Service

(1)

(2)

DENGAN DUKUNGAN

WEB SERVICE

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

RIAN SATRIA PUTRA

10107402

PROGRAM STUDI S1

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA


(3)

(4)

(5)

i

Oleh

RIAN SATRIA PUTRA 10107402

Kurang optimalnya pemanfaatan informasi dan teknologi dalam penyampain informasi seputar lowongan pekerjaan turut menjadi faktor masih tingginya tingkat pengangguran di Indonesia hingga saat ini. Meskipun beberapa perusahaan sudah ada yang menggunakan fasilitas on-line dalam menginformasikan lowongan pekerjaan hal tersebut masih dirasa kurang dan terbatas karena dalam pembuatan aplikasinya masih harus dibatasi pada satu platform atau sistem operasi tertentu. Untuk aplikasi-aplikasi yang sudah ada, pembuatan antara aplikasi server dengan aplikasi client harus menggunakan bahasa pemrograman yang sama, hal ini dirasa kurang efektif.

Penggunaan web service sebagai penyedia layanan memungkinkan aplikasi yang berbeda satu sama lain dapat saling bertukar informasi dengan mudah sehingga penyampaian informasi lowongan pekerjaan tidak terbatas hanya pada satu aplikasi yang dibangun dengan satu bahasa pemrograman dan di atas satu platform saja. Dengan adanya dukungan web service maka apliksi pada sistem lowongan pekerjaan ini dapat saling bertukar informasi dan terintegrasi dengan baik.

Aplikasi yang dibangun pada sistem lowongan yang akan memanfaatkan layanan dari web service adalah aplikasi web dan aplikasi mobile khususnya pada platform Android. Model analisis sistem pada sistem lowongan pekerjaan ini adalah pemodelan berorientasi objek dan peralatan yang digunakan adalah UML (Unified Modeling Language) versi 2.

Oleh karena itu, adanya sistem lowongan pekerjaan dengan dukungan web service ini dapat membantu masyarakat dalam mencari informasi lowongan pekerjaan dan dapat membantu dalam mengurangi tingkat pengangguran di Indonesia.


(6)

ii

DEVELOPMENT OF JOB VACANCY SYSTEM WITH WEB SERVICES SUPPORT

By

RIAN SATRIA PUTRA 10107402

Less optimal utilization of information and technology in informing about job vacancies have contributed to the factor is still high unemployment in Indonesia to date. Although some companies already are using the facility on-line job in informing those things are still limited because it is less and still making the application must be limited to one platform or operating system specific. For applications that already exist, making the application server to the client application must use the same programming language, it is less effective.

The use of a web service as a service provider allows the applications are different from each other can exchange information easily so that the delivery of job information is not limited to just one application built with a programming language and on top of one platform only. With the support of the same practice on the web service system job is to exchange information and well integrated.

Applications to be built on a system of vacancies that will utilize the services of a web service is a web application and mobile applications in particular on the Android platform. Model analysis of the system on this job vacancy system is object-oriented modeling and the equipment used is UML (Unified Modeling Language) version 2.

Therefore, the job system with web service support can assist people in finding jobs and information can help in reducing the unemployment rate in Indonesia.


(7)

iii

Assalamu‟alaikum Wr. Wb.

Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan karunia-nya, serta dengan segenap motivasi, kesabaran, kerja keras dan doa

sehingga pengerjaan skripsi yang berjudul “Pembangunan Sistem Lowongan

Pekerjaan Dengan Dukungan Web Service” dapat diselesaikan dengan baik. Penyusunan tugas akhir ini merupakan salah satu syarat yang harus ditempuh dalam menyelesaikan Studi Program Strata 1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Penulis menyadari bahwa masih banyak kekurangan dalam menyelesaikan Tugas Akhir ini, karena terbatasnya ilmu dan pengalaman yang dimiliki penulis, untuk itu penulis meminta maaf atas segala kekurangan dan kesalahan yang ada, serta merasa perlunya kritik dan saran dari pihak-pihak lain untuk memperluas wawasan penulis.

Selama menulis laporan tugas akhir ini, penulis telah mendapatkan banyak sekali bimbingan dan bantuan dari berbagai pihak yang dengan segenap hati dan keikhlasan membantu dan membimbing penulis dalam menyelesaikan laporan ini. Rasa terima kasih yang tak terhingga kepada semua pihak yang telah membantu kelancaran skripsi ini baik berupa dukungan moril maupun materil, karena tanpa


(8)

iv

segala kerendahan hati, saya ucapkan banyak terima kasih kepada:

1. Kedua orangtua ku yang telah memberikan segalanya dengan tulus, dan menjadi motivator terbesar bagi penulis, terima kasih atas jasa yang tak pernah dapat terbalaskan.

2. Kakak dan adikku, kak Deni, kak Iche, kak Pebo, kak Sancay, kak Teddy, kak Angga, dan adek Arie. Kalian selalu memberikan motivasi sehingga penulis selalu bisa kembali move on ketika sedang down. Terima kasih atas dukungannya baik berupa moril maupun materil, U’re the best family that I ever had guys, thx a lot.

3. My Lovely Raden Vini Primadona, terima kasih karena telah menemani penulis selama ini, memberikan dorongan, semangat dan kasih sayang yang tiada henti, yang juga menjadi sahabat dan mendengarkan keluh kesah ketika penyusunan skripsi ini. Thank’s for be my best.

4. Bapak Galih Hermawan, S. Kom, M.T. selaku pembimbing Skripsi yang telah memberikan arahan, semangat dan banyak masukan dalam penyusunan skripsi ini.

5. Bapak Andri Heryandi, S.T., M.T. selaku dosen penguji 1 tugas akhir, yang telah memberikan masukan dan arahan dalam penyusunan skripsi ini.

6. Ibu Ednawati Rainarli, S.Si., M.Si. selaku dosen penguji 3 tugas akhir , yang telah memberikan masukan dan arahan dalam penyusunan skripsi ini.

7. Bapak Prof. Dr. Ir Denny Kurniadie, M.Sc. selaku Dekan Fakultas Teknik & Ilmu Komputer Universitas Komputer Indonesia.


(9)

v Indonesia.

10. Sahabat seangkatan penyusunan skripsi ini: Fendi Ridwan, Rudi Permaiyana, Eki Wira Yusnanda, Yugie Nugraha, Arief Rachman M, Tian Dwi Septian serta sahabat generasi objek: Muhammad Syadzili Khafifi, Said Mukhtar Hadi, Helmy Yoga Pranata, Risal Hidayat, Sandhi Rachmat Anugrah, Yudha Yolanda. Terima kasih telah menemani dalam suka dan duka kepada penulis serta semangat dan bantuan yang diberikan selama perjalanan penyelesaian skripsi ini.

11. Teman-teman di Jurusan Teknik Informatika angkatan 2007 khususnya kelas IF-9 terima kasih atas bantuan dan dorongannya selama ini.

12. Semua pihak yang tak dapat penulis sebutkan satu-persatu yang telah memberikan bantuan, doa, dan dorongan dalam penyusunan skripsi ini.

Tiada kata yang pantas penulis ucapkan selain kata terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu pembuatan skripsi ini, semoga Allah SWT membalas kebaikan yang telah diberikan kepada penulis, akhirnya penulis berharap semoga skripsi ini bermanfaat bagi kita semua. Aaamiiin.

Bandung, Juli 2012


(10)

vi

DAFTAR ISI

ABSTRAK ... i

ABSTRACK ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... vi

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xxvi

DAFTAR SIMBOL ... xxxvii

DAFTAR LAMPIRAN ... xlii BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Identifikasi Masalah ... 3

1.3 Maksud dan Tujuan ... 4

1.4 Batasan Masalah ... 4

1.5 Metodologi Penelitian ... 5

1.5.1 Pengumpulan data ... 5

1.5.2 Pembangunan Perangkat Lunak ... 6


(11)

vii

2.1 Web service ... 9

2.1.1 Arsitektur Web service ... 9

2.1.2 Jenis-Jenis Web service ... 11

1. Representational State Transfer (REST) ... 11

2. Simple Object Access Protokol (SOAP) ... 12

2.1.3 Web service Definition Language (WSDL) ... 14

2.1.4 UDDI (Uniform Description, Discovery, and Integration) ... 16

2.1.5 JSON ... 16

2.2 PHP ... 21

2.3 Android ... 23

2.3.1 Arsitektur Android ... 24

1. Aplication ... 25

2. Aplication Framework ... 25

3. Libraries ... 26

4. Android Runtime ... 26

5. Linux Kernel ... 27

2.3.2 Siklus Hidup Aplikasi Android ... 27


(12)

viii

2.4.1 Sejarah UML ... 31

2.4.2 Diagram UML ... 31

1. Use Case Diagram ... 32

2. Activity Diagram ... 33

3. Sequence Diagram ... 35

4. Class Diagram ... 36

2.5 MySQL ... 36

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 40

3.1 Analisis ... 40

3.1.1 Analisis Masalah ... 40

3.1.2 Analisis Kebutuhan Data... 40

3.1.3 Analisis Kebutuhan Non Fungsional ... 41

3.1.3.1 Analisis Pengguna... 41

3.1.3.2 Analisis Kebutuhan Perangkat Keras ... 44

3.1.3.3 Analisis Kebutuhan Perangkat Lunak... 45

3.1.3.4 Spesifikasi Kebutuhan Perangkat Lunak (SKPL) ... 46

3.1.4 Analisis Sistem ... 50

3.1.4.1 Arsitektur Sistem ... 50


(13)

ix

3.1.4.3 Analisis WSDL ... 111

3.1.5 Analisis Kebutuhan Fungsional ... 111

3.1.5.1 Analisis Pada Aplikasi Android ... 112

1. Use Case Diagram ... 112

2. Activity Diagram ... 133

3. Sequence Diagram ... 169

4. Class Diagram ... 187

3.1.5.2 Analisis Pada Aplikasi Web ... 189

1. Use Case Diagram ... 189

2. Activity Diagram ... 208

3. Sequence Diagram ... 240

4. Class Diagram ... 250

3.1.5.3 Analisis Pada Web Admin ... 252

1. Use Case Diagram ... 252

2. Activity Diagram ... 265

3. Sequence Diagram ... 287

4. Class Diagram ... 297


(14)

x

1. Use Case Diagram ... 298

2. Activity Diagram ... 300

3. Sequence Diagram ... 302

4. Class Diagram ... 302

3.2 Perancangan ... 304

3.2.1 Perancangan Basis Data ... 304

3.2.1.1 Entity Relationship Diagram ... 304

3.2.1.2 Skema Relasi... 305

3.2.1.3 Perancangan Struktur Tabel ... 305

1. Struktur Tabel Pada Server ... 305

3.2.2 Perancangan Struktur Menu ... 312

3.2.2.1 Perancangan Struktur Menu Aplikasi Android ... 312

1. Struktur Menu Pengunjung Umum ... 312

2. Struktur Menu Member Pemberi Kerja... 312

3. Struktur Menu Member Pencari Kerja ... 313

3.2.2.2 Perancangan Struktur Menu Aplikasi Web ... 313

1. Struktur Menu Pengunjung Umum ... 313

2. Struktur Menu Member Pemberi Kerja... 314


(15)

xi

3.2.3 Perancangan Antarmuka ... 316

3.2.3.1 Perancangan Antarmuka Android ... 316

3.2.3.2 Perancangan Antarmuka Web User ... 337

3.2.3.3 Perancangan Antarmuka Admin ... 364

3.2.4 Perancangan Jaringan Semantik ... 374

3.2.4.1 Jaringan Semantik Aplikasi Android ... 374

1. Jaringan Semantik Pengunjung Umum ... 374

2. Jaringan Semantik Member Pemberi Kerja ... 375

3. Jaringan Semantik Member Pencari Kerja ... 376

3.2.4.2 Jaringan Semantik Aplikasi Web User ... 376

1. Jaringan Semantik Pengunjung Umum ... 376

2. Jaringan Semantik Member Pemberi Kerja ... 377

3. Jaringan Semantik Member Pencari Kerja ... 378

3.2.4.3 Jaringan Semantik Aplikasi Admin ... 379

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 380

4.1 Implementasi ... 380

4.1.1 Perangkat Lunak Pembangun ... 380


(16)

xii

4.1.3 Batasan implementasi... 381

4.1.4 Impementasi Antarmuka ... 382

4.1.5 Implementasi Kelas ... 389

4.1.5.1 Kelas pada web service ... 389

4.1.5.2 Kelas pada aplikasi android ... 389

4.1.5.3 Kelas pada aplikasi web ... 392

4.1.5.4 Kelas pada aplikasi web admin ... 392

4.1.6 Implementasi Basis Data ... 393

4.2 Pengujian Perangkat Lunak ... 396

4.2.1 Pengujian Alpha ... 396

4.2.1.1 Kasus dan Hasil Pengujian Alpha ... 396

1. Pengujian Pada Aplikasi Android ... 396

2. Pengujian Pada Aplikasi Web ... 414

3. Pengujian Pada Aplikasi Web Admin ... 428

4.2.1.2 Kesimpulan Pengujian Alpha ... 436

4.2.2 Pengujian Beta ... 436

4.2.2.1 Kuesioner Pengujian Beta ... 436

1. Pengujian Pada Aplikasi Web ... 437


(17)

xiii

BAB V KESIMPULAN DAN SARAN ... 460

5.1 Kesimpulan ... 460

5.2 Saran ... 461


(18)

1

PENDAHULUAN

1.1 Latar Belakang

Berdasarkan pengamatan di lapangan, masih banyak organisasi dan perusahaan yang belum memanfaatkan secara optimal sarana teknologi dan infornasi untuk menyampaikan lowongan pekerjaan mereka.Padahal sekarang ini, informasi melalui media teknologi dan informasi dengan dukungan jaringan internet dapat dengan mudah sampai ke para pencari kerja di luar sana. Hal tersebut juga mempengaruhi jumlah pengangguran di Indonesia yang sampai bulan Agustus 2011 tercatat masih sebesar 7,7 juta orang. Data tersebut berdasarkan data dari BPS (Badan Pusat Statistik) Indonesia [1].

Meskipun beberapa perusahaan sudah ada yang menggunakan fasilitas on-line dalam menginformasikan lowongan pekerjaan hal tersebut masih dirasa kurang dan terbatas karena dalam pembuatan aplikasinya masih harus dibatasi oleh suatu bahasa pemrograman tertentu. Untuk aplikasi-aplikasi yang sudah ada, pembuatan antara aplikasi server dengan aplikasi client harus menggunakan bahasa pemrograman yang sama, hal ini dirasa kurang efektif.

Berdasarkan permasalahan tersebut, maka dibutuhkan sebuah layanan yang mampu mendukung aplikasi client yang dibangun oleh berbagai bahasa pemrograman. Web Service adalah layanan yang dirasa mampu mengatasi


(19)

permasalahan tersebut. Pada umumnya sebuah aplikasi memerlukan driver database agar bisa melakukan koneksi ke sebuah database. Web service dapat dijadikan sebagai jembatan penghubung antara aplikasi dengan database. Jadi, dengan memanfaatkan web service sebuah aplikasi tidak lagi memerlukan driver database dan tidak perlu mengetahui database apa yang digunakan oleh server

serta bagaimana struktur database tersebut. Aplikasi yang ingin mengakses cukup mengetahui method atau fungsi apa saja yang disediakan oleh web service.

Ada beberapa standar yang bisa digunakan untuk membuat web service, diantaranya: REST dan SOAP. Standar web service yang akan digunakan dalam tugas akhir ini adalah SOAP (Simple Object Access Protocol) dengan WSDL (Web service Definition Language) untuk mendeskripsikannya. Alasan pemilihan standar SOAP adalah karena SOAP merupakan standar yang berorientasi kepada service sehingga cocok digunakan pada aplikasi lowongan pekerjaan, selain itu SOAP juga dikembangkan oleh W3C (World Wide Web Consortium) sehingga standar ini terus mengalami pengembangan dan penyempurnaan.

Kemajuan teknologi informasi dan penggunaan internet saat ini menjadikan aplikasi web service suatu aplikasi yang mudah diakses oleh aplikasi lain dalam sebuah organisasi maupun di luar organisasi menggunakan standar yang tidak terikat platform (platform-neutral) dan tidak terikat akan bahasa pemrograman yang digunakan (language-neutral). Dengan adanya web service yang bertugas sebagai server untuk mengatur lowongan pekerjaan yang tersedia di dalam suatu instansi pemerintahan, organisasi, perusahaan, atau universitas maka


(20)

sistem ini bisa menjadi salah satu bagian solusi dari masalah komputasi yang terpisah di atas.

Berdasarkan hal di atas, maka akan dibangun sistem lowongan pekerjaan yang yang meyediakan informasi berbasis web dan mobile pada platform android yang menggunakan teknologi web service sebagai server untuk bertukar informasi serta dengan sebuah web administarator sebagai media pengolahan datanya.

1.2 Identifikasi Masalah

Memperhatikan permasalahan-permasalahan di atas sehingga dapat diidentifikasikan masalahnya sebagai berikut :

1. Bagaimana membangun sistem lowongan pekerjaan yang memiliki interoperabilitas antar aplikasi untuk mengatasi penggunaan komputasi terpisah yang kurang efektif.

2. Bagaimana membangun sistem lowongan pekerjaan yang menyajikan informasi berbasis web dan mobile application (android) dengan dukungan

web service sebagai jembatan penghubung antara aplikasi dengan database. 3. Bagaimana memberi dukungan web service kepada aplikasi lowongan

pekerjaan.

4. Bagaimana mengimplementasikan metode SOAP (Simple Object Access Protocol) pada web service.


(21)

1.3 Maksud dan Tujuan

Maksud dari penelitian ini adalah untuk membangun sistem lowongan pekerjaan berbasis web dan mobile application pada platform android sebagai media penyebarluasan informasi mengenai lowongan pekerjaan.

Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah :

1. Membangun sistem lowongan pekerjaan yang menyajikan informasi berbasis web dan mobile application (android) dengan dukungan web service sebagai jembatan penghubung antara aplikasi dengan database yang menjadikan sistem ini memiliki interoperabilitas antar aplikasi.

2. Membangun suatu web service dengan standar SOAP yang dideskripsikan dengan WSDL.

3. Memberi dukungan web service kepada aplikasi lowongan pekerjaan.

4. Memperluas informasi tentang lowongan pekerjaan yang tersedia bagi para

job seeker serta mempermudah bagi perusahaan untuk menginformasikan lowongan pekerjaan melalui aplikasi lowongan pekerjaan ini.

1.4 Batasan Masalah

Agar dalam penulisan ini tidak menyimpang dari permasalahan dan sasaran yang akan dicapai, maka ada batasan pada masalah yang dibahas. Batasan masalah yang ditetapkan dalam skripsi ini adalah:

1. Data lowongan pekerjaan didapat dari website penyedia lowongan pekerjaan dan juga dari perusahaan yang mendaftarkan diri melalui website user (client). 2. Pada aplikasi mobile android (client) memiliki hampir keseluruhan fitur


(22)

3. Sistem lowongan pekerjaan ini terdiri dari web service sebagai server dan aplikasi web dan mobile pada sisi client dan data lowongan pekerjaan tersebut diolah dengan mengggunakan sebuah web administrator.

4. Koneksi internet dibutuhkan untuk menjalankan sistem ini.

5. Model analisis sistem adalah pemodelan berorientasi objek dan peralatan yang digunakan adalah UML (Unified Modeling Language) versi 2.

6. Aspek keamanan aplikasi mobile, web service, serta web admin dan web user

tidak ditangani.

7. Web service yang didukung hanya standar SOAP saja.

1.5 Metodologi Penelitian

1.5.1 Pengumpulan data

Metodologi Penelitian yang digunakan dalam pengumpulan data yang berkaitan dengan penyusunan skripsi dan pembuatan sistem pencarian ini adalah sebagai berikut.

1. Studi kepustakaan.

Tahap ini digunakan untuk mencari informasi yang berhubungan dengan permasalahan yang akan dibahas dengan bersumber pada buku-buku serta bacaan lain yang kiranya dapat mebantu menyelesaikan pembangunan aplikasi.

2. Studi dokumentasi.

Dengan mengumpulkan informasi mengenai data yang diperlukan agar lebih mudah untuk didefinisikan dan dirumuskan pada permasalahan yang ada.


(23)

1.5.2 Pembangunan Perangkat Lunak

Pembangunan sistem pencarian ini menggunakan metodologi Waterfall

dengan gambar I.1 sebagai berikut:


(24)

1. System Engineering

Rekayasa perangkat lunak merupakan tahapan yang pertama kali dilakukan untuk merumuskan sistem yang akan dibangun. Hal ini bertujuan untuk memahami sistem yang akan dibangun.

2. Analysis

Analisis dilakukan terhadap permasalahan yang dihadapi serta untuk menetapkan kebutuhan perangkat lunak dari aplikasi yang dibangun.

3. Design

Tahap desain merupakan tahap penerjemahan dari data yang telah dianalisis ke dalam bentuk yang mudah dimengerti oleh pengguna.

4. Coding

Pengkodean merupakan tahap penerjemahan data yang telah dirancang ke dalam bahasa pemrograman tertentu.

5. Testing

Tahap pengujian dilakukan terhadap perangkat lunak yang telah dibangun. Proses pengujian berfokus pada logika internal perangkat lunak serta memastikan apakah hasil yang diinginkan tercapai atau tidak.

6. Maintenance

Pemeliharaan merupakan penanganan dari suatu perangkat lunak yang telah selesai dibangun sehingga dapat dilakukan perubahan-perubahan atau penambahan sesuai dengan permintaan pengguna.


(25)

1.5.3 Sistematika Penulisan

Adapun sistematika yang akan dilakukan dalam penyusunan skripsi ini dibagi menjadi lima bab, yaitu sebagai berikut :

BAB I PENDAHULUAN

Bab ini menguraikan mengenai latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini membahas berbagai konsep dan dasar-dasar teori mengenai web service, php, android, uml, dan MySql.

BAB III ANALISIS DAN PERANCANGAN

Bab ini berisi tentang analisis deskripsi sistem, analisis perancangan fungsional, analisis kebutuhan non fungsional dan perancangan antarmuka dari perangkat lunak yang akan dibangun.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas implementasi antarmuka perangkat lunak, implementasi perangkat keras dan perangkat lunak, pengujian perangkat lunak (secara subjektif dan alpha) beserta kesimpulan dari hasil pengujian perangkat lunak yang dibangun.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran yang merupakan jawaban yang melatar belakangi masalah pada bab 1, dan saran yang nantinya akan berguna bagi pengembang perangkat lunak ini ke depannya.


(26)

9

LANDASAN TEORI

2.1 Web service

Web service adalah salah satu bentuk sistem perangkat lunak yang didesain untuk mendukung interaksi mesin-ke-mesin melalui jaringan. Web service memiliki interface yang dideskripsikan dalam format yang dapat dibaca oleh mesin. Sistem-sistem lainnya berinteraksi dengan web service menggunakan pesan SOAP yang umumnya dikirim melalui HTTP dalam bentuk XML [8].

Definisi diatas diberikan oleh World Wide Web Consortium(W3C) yang merupakan badan yang menciptakan dan mengembangkan standar web service.

Tetapi secara umum, web service tidak terbatas hanya pada standar SOAP saja. Salah satu pustaka yang mengulas lengkap tentang web service menyebutkan definisi yang lebih umum: web service adalah aplikasi yang diakses melalui

internet menggunakan protokol standar internet dan menggunakan XML sebagai format pesannya.

2.1.1 Arsitektur Web service


(27)

Pada gambar diatas, ada tiga komponen yang membuat web service

berjalan. Ketiga komponen itu adalah:

1. Service provider, merupakan pemilik Web service yang berfungsi menyediakan kumpulan operasi dari Web service.

2. Service requestor, merupakan aplikasi yang bertindak sebagai klien dari Web service yang mencari dan memulai interaksi terhadap layanan yang disediakan.

3. Service registry, merupakan tempat dimana Service provider

mempublikasikan layanannya. Pada arsitektur Web service, Service registry bersifat optional. Teknologi web service memungkinkan kita dapat menghubungkan berbagai jenis software yang memiliki platform dan sistem operasi yang berbeda.


(28)

2.1.2 Jenis-Jenis Web service

Jenis web service dapat dibagi menjadi dua, yaitu REST dan SOAP. 1. Representational State Transfer (REST)

REST adalah salah satu jenis web service yang menerapkan konsep perpindahan antar state. State disini dapat digambarkan seperti jika browser

meminta suatu halaman web, maka server akan mengirimkan state halaman web

yang sekarang ke browser. Bernavigasi melalui link-link yang disediakan sama halnya dengan mengganti state dari halaman web. Begitu pula REST bekerja, dengan bernavigasi melalui link-link HTTP untuk melakukan aktivitas tertentu, seakan-akan terjadi perpindahan state satu sama lain. Perintah HTTP yang bisa digunakan adalah fungsi GET, POST, PUT atau DELETE. Balasan yang dikirimkan adalah dalam bentuk XML sederhana tanpa ada protokol pemaketan data, sehingga informasi yang diterima lebih mudah dibaca dan diparsing disisi

client.

Dalam pengaplikasiannya, REST lebih banyak digunakan untuk web service yang berorientasi pada resource. Maksud orientasi pada resource adalah orientasi yang menyediakan resource-resource sebagai layanannya dan bukan kumpulan-kumpulan dari aktivitas yang mengolah resource itu. Alasan mengapa REST tidak digunakan dalam skripsi ini karena orientasi pada resourcenya itu, sedangkan aplikasi lowongan pekerjaan membutuhkan pemanggilan metode yang bisa dikerjakan terhadap kumpulan resource data lowongan. Selain itu, karena standarnya yang kurang sehingga tidak begitu cocok diterapkan dalam aplikasi yang membutuhkan kerjasama antar aplikasi lain, dimana standar yangbaik akan


(29)

sangat berguna karena berbicara dalam satu bahasa yang sama. Beberapa contoh

web service yang menggunakan REST adalah: Flickr API(Application Program Interface), YouTube API, Amazon API.

2. Simple Object Access Protokol (SOAP)

SOAP merupakan protokol standar yang ringan dan ditujukan untuk pertukaran informasi dalam desentralisasi sistem. Protokol ini melakukan pemanggilan metode dalam bahasa XML (Extensible Markup Language). Namun, selain itu juga kita dapat menggunakan format pertukaran data lainnya yaitu JSON (JavaScript Object Notation). Dengan demikian, SOAP adalah suatu mekanisme yang sederhana untuk melakukan pertukaran struktur dan tipe informasi dalam lingkungan yang tersebar dan terdistribusi menggunakan XML/JSON. Dokumen SOAP yang digunakan untuk melakukan request disebut SOAP request sedangkan dokumen SOAP yang diperoleh dari web service disebut dengan SOAP response.

Secara garis besar, protocol SOAP dapat dibagi menjadi beberapa bagian berikut :

a. SOAP Envelope

Untuk mendefinisikan apa yang terdapat dalam pesan (message) yang dikirim, dan kepada siapa pesan tersebut akan digunakan. Elemen ini merupakan root dari pesan dan bersifat wajib.

b. SOAP Header

Elemen ini berisi informasi header dan bersifat opsional. Informasi yang ada pada header tidak ditampilkan di aplikasi.


(30)

c. SOAP Body

Elemen ini berisi panggilan dan merespon informasi. Elemen ini wajib. d. SOAP Encoding Rules

Mendefinisikan mekanisme serialisasi yang dapat digunakan untuk pertukaran tipe data yang didefinisikan dari tiap aplikasi.

e. SOAP RPC Representation

Menyediakan suatu standar yang dapat digunakan untuk mewakili remote procedure call (RPC) dan data hasil kembaliannya.

f. SOAP Binding

Mendefinisikan standar yang digunakan utnuk pertukaran SOAP Envelope

antara peers dengan protokol yang umum untuk transportasi. Sintaks dari protokol SOAP adalah sebagai berikut :

<?xml version="1.0"?> <soap:Envelope

xmlns:soap="http://www.w3.org/2001/12/soap-envelope"

soap:encodingStyle="http:// www.w3.org/2001/12/soap-envelope"> <soap:Header>

. . . . . .

</soap:Header> <soap:Body> . . . . . .

<soap:Fault> . . . . . .

</soap:Fault> </soap:Body>


(31)

2.1.3 Web service Definition Language (WSDL)

WSDL merupakan suatu dokumen berbasis XML yang berfungsi untuk menjelaskan fungsi public dan metode-metode yang tersedia dalam web service. Selain itu, WSDL juga mengatur end-point pada pesan-pesan yang berisi dokumen maupun informasi prosedur.

Dokumen WSDL sanagat kompleks, dan memungkinkan untuk mendeskripsikan end-point serta pesan yang ada pada protokol jaringan. Salah satu bagian dokumen WSDL yang cukup penting dalam melakukan interaksi dengan SOAP, HTTP, serta MIME adalah binding.

SOAP dapat berjalan sendiri tanpa bantuan WSDL, tetapi hal ini akan menyulitkan pengembang di sisi client karena tidak tahu harus mengharapkan operasi dan bentuk data apa. Karena itu WSDL diciptakan sebagai pendefinisi sebuah web service. Dalam tugas akhir ini, web service yang dibangun akan dijabarkan menggunakan WSDL.

Elemen-elemen yang terdapat dalam WSDL adalah sebagai berikut :

1. Elemen Types

Elemen Types menyertakan definisi tipe data yang sesuai untuk pertukaran

message. Untuk meningkatkan operasi dari dalam dan dukungan netral

platform, WSDL sering menggunakan XSD sebagai peraturan sistem dan memperlakukannya sebagai tipe sistem pada umumnya.

2. Elemen Message

Message terdiri dari satu atau beberapa bagian, dan masing-masing bagian digabung dengan beberapa tipe sistem menggunakan atribut.


(32)

3. Elemen Port Type

Elemen ini menjelaskan tentang operasi dan abstrak message yang terlibat di

dalamnya. Atribut “name” dari elemen ini menyediakan nama unik di antara

semua jenis port yang didefinisikan pada penutup dokumen WSDL.

4. Elemen Binding

Binding berfungsi untuk menyatukan format message dan detail protokol untuk operasi. Umumnya ada beberapa nomor binding untuk menentukan tipe port.

5. Elemen Port

Elemen ini bukanlah elemen port type, namun subelemen dalam elemen

service. Fungsinya untuk mendefinisikan end-point individu melalui alamat tunggal khusus untuk binding.

6. Elemen service

Kelompok services digunakan untuk mengatur hubungan yang terjadi antara port. Dengan demikian, elemen-elemen port akan diletakkan dalam group services.

Sintaks dari dokumen WSDL adakah sebagai berikut :

<definitions> <types>

definition of types……

</types> <message>

definition of message…….

</message> <portType>

definition of port………...


(33)

<binding>

definition of bind……….

</binding> </definitions>

2.1.4 UDDI (Uniform Description, Discovery, and Integration)

Dalam penerapannya, web service memerlukan sumber dari semua informasi tentang SOAP message, cara membuat respons, mengumumkan service

yang ada, dan sebagainya. Dengan demikian, aplikasi dapat menggunakannya untuk mencari WSDL. Untuk memenuhi hal tersebut, diperlukan UDDI yang menyediakan service untuk mencari informasi yang diperlukan.

UDDI memungkinkan suatu perusahaan untuk mengumumkan detail dari

web service yang tersedia, biasanya melalui kata kunci atau deskripsi. Dengan adanya UDDI tersebut, kita dapat mengetahui (discover) dimana web service

perusahaan berada.

2.1.5 JSON [3]

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 – Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.


(34)

Penulis menggunakan metode JSON dalam pengiriman data yang dilakukan, karena JSON memiliki beberapa kelebihan - kelebihan dibandingkan XML, kelebihan – kelebihan tersebut adalah:

1. Format Penulisan

Untuk merepresentasikan sebuah struktur data yang rumit dan berbentuk hirarkis penulisan JSON relatif lebih terstruktur dan mudah.

2. Ukuran

Ukuran karakter yang dibutuhkan JSON lebih kecil dibandingkan XML untuk data yang sama. Hal ini tentu berpengaruh pula pada kecepatan pertukaran data, walaupun tidak signifikan untuk data yang kecil, namun cukup berarti jika koneksi yang digunakan relatif lambat untuk mengakses aplikasi web kaya fitur yang memanfaatkan pertukaran data. Di sini JSON lebih unggul dibandingkan XML, kecuali jika data dikompresi terlebih dahulu sebelum dikirimkan, perbedaan JSON dan XML yang telah dikompresi tidaklah signifikan.

3. Browser Parsing

Proses parsing merupakan proses pengenalan token atau bagian-bagian kecil dalam rangkaian dokumen XML/JSON. Contohnya, terdapat data text dalam format JSON. Data tersebut harus di-parsing terlebih dahulu sebelum dapat diakses dan dimanipulasi. Browser parsing berarti proses parsing yang terjadi pada sisi client/browser.

Melakukan browser parsing pada JSON lebih sederhana dibandingkan pada XML, JSON menggunakan function JavaScript eval() untuk melakukan


(35)

parsing. Sementara dokumen XML di-parsing oleh XMLHttpRequest. Rata-rata survei menobatkan JSON sebagai pemenang jika diadu kecepatan parsingnya.

JSON terbuat dari dua struktur:

1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakansebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.

2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini. JSON menggunakan bentuk sebagai berikut:

1. Objek

Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).


(36)

Gambar II. 2 Objek JSON

2. Larik

Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).

Gambar II. 3 Larik JSON

3. Nilai

Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.


(37)

Gambar II. 4 Nilai JSON

4. String

String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java.


(38)

5. Angka

Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.

Gambar II. 6 Angka JSON

2.2 PHP

PHP adalah bahasa skrip dalam server (server-side embedded scripting language). Artinya, PHP bekerja di dalam HTML dengan tugas membuat isi dokumen sesuai permintaan. Alur kerja PHP itu sendiri dapat kita lihat pada gambar II.7.

Database MySQL

Result

Web Server Apache

Komputer Pengunjung Web

PHP Engine INTERPRETASI SOURCE CODE

Query

HTML+PHP Source HTML

HTML Requst HTML


(39)

Pada gambar di atas tampak alur kerja engine PHP. Pada awalnya, sebuah komputer pengunjung web melakukan HTTP request terhadap halaman tertentu. Jika halaman yang di-request tersebut adalah halaman PHP, maka Web Server

Apache akan meneruskan halaman PHP tersebut ke PHP engine. PHP engine akan melakukan interpretasi terhadap source PHP dalam halaman tersebut, dengan bantuan dari database jika perlu. Setelah interpretasi selesai, maka PHP akan mengembalikan hasilnya yang berupa HTML murni (tanpa adanya source PHP sama sekali) kepada Web Server Apache. Setelah itu Web Server Apache akan meneruskannya kepada komputer pengunjung web tadi dalam bentuk HTML yang dapat ditampilkan oleh internet browser.

PHP tidak hanya didesain untuk Web Server Apache dan database

MySQL. Bahkan PHP tidak hanya bisa dipakai untuk halaman web. PHP dapat berjalan pada hampir semua web server yang mendukung konsep CGI-binary atau ISAPI module, di antaranya Personal Web Server (PWS) 3 ke atas, Internet Information Service (IIS) 3 ke atas, Apache, OmniHTTPd 2 ke atas, Oreilly Website Pro, Xitami, dan Netscape Enterprise Server.

Koneksi database pada PHP amat mudah, cukup dengan menggunakan 2 atau 3 baris perintah saja. Fungsi-fungsi untuk database cukup lengkap, dan

database yang didukung amat banyak, di antaranya MySQL, PostgreSQL, dBase, DB++, FrontBase, ODBC, Sybase-CT, Oracle, Informix, dan Interbase.

PHP memiliki empat kelebihan utama yang menarik minat banyak pengguna. Kelebihan utama PHP tersebut diringkas dalam 4P berikut:


(40)

1. Practicality. PHP dibuat dengan menitikberatkan pada kepraktisan. Hasilnya, PHP adalah bahasa pemrograman minimalis, dilihat dari segi kebutuhan pengguna dan kebutuhan sintaks.

2. Power. PHP memiliki banyak kemampuan, mulai dari kemampuan untuk terhubung dengan basis data, membuat halaman web dinamis, membuat dan memanipulasi berkas gambar, Flash dan PDF, berkomunikasi dengan bermacam protokol seperti IMAP dan POP3, dan masih banyak lagi.

3. Possibility. PHP dapat menyediakan lebih dari satu solusi untuk suatu masalah 4. Price. PHP selalu dirilis kepada publik tanpa ada batasan penggunaan,

modifikasi, atau redistribusi.

2.3 Android

Android merupakan subset perangkat lunak untuk perangkat mobile yang meliputi sistem operasi, middleware dan aplikasi inti yang di release oleh GOOGLE [4]. Aplikasi pada platform ini dikembangkan dalam bahasa pemrograman java. Android sendiri memiliki banyak fitur diantaranya adalah:

 Merupakan sebuah Application Framework sehingga programmer dapat menggunakan beberapa fungsi yang telah disediakan.

Dalvik virtual machine. Tiap aplikasi dalam Android memiliki instance virtual machine yang dapat bekerja secara efisien dalam lingkungan memoriyang terbatas.

Integrated browser. Web browser berbasis WebKit engine terdapat pada browser default Android atau pun dapat diintegrasikan dengan aplikasi lain.


(41)

Optimized graphics. Library grafis 2D yang kaya dan 3D berbasis OpenGL ES 1.0 yang mendukung akselerasi hardware.

SQLite. Basis data relasional yang ringan namun sangat powerful.

Media Support. Mendukung berbagai format audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

GSM Telephony. Mendukung fungsi komunikasi GSM.

Bluetooth,EDGE, 3G dan WiFi. Mendukung komunikasi pada jaringan (tergantung hardware).

Kamera, GPS, kompas dan accelerometer. Mendukung berbagai fitur yang disediakan oleh hardware.

Tools Developer yang lengkap. Termasuk device emulator, tools untuk

debugging, profiling memori dan performa, plugin untuk Eclipse IDE.

2.3.1 Arsitektur Android

Android terdiri dari beberapa stack software yang terdiri dari:

Applications, Application Framework, Libraries, Android Runtime dan Kernel Linux. Arsitekturlengkap platform ini dapat dilihat pada Gambar II.8.


(42)

Gambar II. 8 Arsitektur Platform Android [4].

1. Aplication

Application merupakan program yang langsung berhubungan dengan

user. Baik program yang merupakan bawaan dari Android sendiri maupun program yang dibuat oleh developer menggunakan bahasa pemrograman java. Contoh program bawaan dari platform Android sendiri adalah email client, program SMS, calendar, maps, web browser, contact dan sebagainya.

2. Aplication Framework

Lapisan ini berisi sekumpulan API yang dapat digunakan oleh

programmer maupun core application dari Android. Lapisan ini dirancang untuk memudahkan penggunaan komponen dari Android sendiri. Aplikasi manapun


(43)

dalam Android dapat berbagi fungsi sehingga aplikasi lain dapat memanfaatkannya.

3. Libraries

Android mendukung beberapa library C/C++ yang digunakan pada berbagai komponen Android. Kemampuan ini dapat diakses oleh developer

melalui Android application framework. Beberapa library diantaranya adalah:  System C library. Implementasi library C standar (libc).

Media Libraries. Mendukung berbagai format multimedia (termasuk MPEG4,H.264, MP3, AAC, AMR, JPG, PNG).

Surface Manager. Mengatur akses ke subsistem display.  LibWebCore. Engine web browser modern.

 SGL. Engine grafis 2D.

 3D Library. Implementasi OpenGL ES 1.0 yang mendukung akselerasi hardware.

 FreeType. Rendering untuk bitmap dan vector font.

 SQLite. Basis data relasional yang kecil namun sangat ampuh.

4. Android Runtime

Tiap aplikasi pada Android memiliki proses-nya masing-masing. Tiap aplikasi tersebut memiliki instans dari Dalvik virtual machine (VM). Dalvik

virtual machine dirancang agar suatu device dapat menjalankan beberapa VM secara efisien. Dalvik VM mengeksekusi file dengan format Dalvik Executable format (.dex) yang dirancang untuk meminimalkan memory footprint . Dalvik VM


(44)

berbasis register, dan dapat menjalankan kelas-kelas yang dikompilasi dengan bahasa pemrograman java dan ditransformasikan menjadi format .dex. Dalvik VM sendiri bergantung pada Kernel Linux untuk fungsi dasarnya, seperti threading

dan manajemen memori secara low-level.

5. Linux Kernel

Android menggunakan Kernel Linux versi 2.6 sebagai sistem utama. Fungsi kernel yang digunakan antara lain untuk keamanan, manajemen memori, manajemen proses, manajemen jaringan dan driver model. Kernel juga berfungsi sebagai layer abstrak antara hardware dan lapisan lainnya pada software stack.

2.3.2 Siklus Hidup Aplikasi Android

Pada banyak kasus, tiap aplikasi pada Android masing-masing memiliki Linux proses. Proses ini diciptakan untuk aplikasi tersebut pada saat kode program tersebut akan dieksekusi, akan terus berjalan sampai tidak dibutuhkan lagi dan sistem memerlukan memori untuk aplikasi lain. Konsep dasar program Android adalah suatu proses pada aplikasi tidak langsung di atur oleh aplikasi tersebut. Proses tersebut ditentukan oleh sistem melalui kombinasi : informasi aplikasi bagi sistem, seberapa pentingnya aplikasi tersebut bagi user dan ketersediaan memori. Contoh kasus life-cycle bug adalah IntentReceiver yang menciptakan thread pada saat menerima intent pada method onReceiveIntent() dan selesai dari fungsi tersebut. Setelah fungsi tersebut selesai, sistem menganggap bahwa IntentReceiver tersebut menjadi tidak aktif sehingga ia memiliki proses yang tidak dibutuhkan (kecuali terdapat komponen aplikasi lain


(45)

di dalamnya). Oleh karena itu, sistem dapat menghapus proses tersebut kapanpun apabila dibutuhkan. Hal tersebut akan menghapus semua thread yang berjalan pada proses tersebut. Solusi masalah ini adalah memakai Service dari IntentReceiver, sehingga sistem mengetahui bahwa ada suatu yang aktif dalam proses tersebut.

Sebagai programmer, kita harus mengetahui bagaimana cara yang tepat untuk merancang aplikasi. Kesalahan pada perancangan akan membuat suatu aplikasi akan dihentikan oleh sistem pada saat yang tidak diinginkan. Untuk menentukan proses mana yang akan dihapus pada situasi low memory, Android

memiliki “importance hierarchy” berdasarkan komponen dan state yang sedang berjalan. Urutan berdasarkan kepentingan tersebut adalah:

1. Foreground process. Adalah suatu proses yang dibutuhkan untuk berinteraksi dengan user saat ini. Berbagai komponen suatu aplikasi dapat mengakibatkan proses di dalamnya menjadi foreground proses. Suatu proses dikatakan

foreground apabila memenuhi kondisi sebagai berikut:

 Menjalankan Activity pada top screen yang sedang berinteraksi dengan user (setelah method onResume() dipanggil).

 Mempunyai IntentReceiver yang sedang berjalan (method IntentReceiver.onReceiveIntent() sedang dieksekusi).

 Memilik service yang fungsi callback-nya ( Service.onCreate(), Service.onStart() atau Service.onDestroy()) sedang dieksekusi.

Hanya akan terdapat beberapa proses seperti itu dalam sistem, proses ini hanya akan dihapus apabila sistem tidak memiliki pilihan lain. Contohnya


(46)

apabila memori tinggal sedikit sehingga proses foreground tidak bisa lagi berjalan. Hal ini diperlukan untuk menjaga user interface tetap interaktif dengan user.

2. Visible process. Adalah proses yang memegang Activity yang dapat dilihat

user pada layar tetapi tidak foreground (pada saat method onPause() dipanggil). Hal ini dapat terjadi, sebagai contoh activity foreground muncul dengan dialog sehingga activity sebelumnya terlihat di belakangnya. Proses ini sangat penting dan tidak akan di hapus kecuali untuk menjaga aplikasi

foreground tetap berjalan.

3. Service process. Adalah proses yang memegang Service yang dimulai dengan method StartService().Meskipun proses ini secara langsung tidak dapat dilihat oleh user, biasanya proses ini menjalankan perintah dari user (seperti memutar lagu, men-download data dari jaringan dan lain-lain). Sistem akan tetap membiarkan proses ini berjalan selama proses foreground dan visible masih bisa berjalan.

4. Background process. Adalah proses yang memegang Activity yang saat ini tidak dapat dilihat oleh user (method onStop() sedang dipanggil). Proses ini tidak secara langsung mempengaruhi user. Apabila activity life cycle telah dipenuhi dengan benar, sistem dapat menghapus proses ini sewaktu-waktu untuk memberikan memori tambahan. Biasanya banyak ditemukan proses semacam ini, sehingga proses tersebut disimpan dalam LRU (Least Recently Used) untuk menjaga agar proses yang baru saja dilihat oleh user akan dihapus paling akhir pada kondisi low memory.


(47)

5. Empty Process. Adalah proses yang tidak memegang suatu komponen yang sedang aktif. Alasan mengapa membiarkan proses semacam ini adalah untuk melakukan cache sehingga proses startup menjadi lebih cepat apabila aplikasi tersebut akan dijalankan kembali. Sistem seringkali menghapus proses semacam ini untuk mencapai keseimbangan dari system resource antara cached processes dan kernel caches.

2.4 UML

Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.

UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan


(48)

standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

2.4.1 Sejarah UML

Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.

Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8) [7]. Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org).

2.4.2 Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:


(49)

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.

4. Collaboration Diagram untuk memodelkan interaksi antar objects. 5. State Diagram untuk memodelkan perilaku objects di dalam sistem.

6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.

7. Class Diagram untuk memodelkan struktur kelas. 8. Object Diagram untuk memodelkan struktur object.

9. Component Diagram untuk memodelkan komponen object. 10.Deployment Diagram untuk memodelkan distribusi aplikasi.

1. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Sebuah use case dapat meng-include

fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat


(50)

di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case

yang satu merupakan spesialisasi dari yang lain. Penggambaran Use case diagram dapat di lihat dalam gambar II.9.

Gambar II. 9 Contoh Use Case Diagram.

2. Activity Diagram

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state

adalah action dan sebagian besar transisi di-trigger oleh selesainya state


(51)

menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case

menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Contoh Activity diagram dapat di lihat pada gambar II.10.


(52)

3. Sequence Diagram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi. Contoh sequence diagram dapat di lihat pada gambar II.11.


(53)

4. Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan. Penggambaran class diagram dapat di lihat dalam gambar II.12.

Gambar II. 12 Contoh Class Diagram.

2.5 MySQL

MySQL merupakan sebuah software yang berguna sebagai suatu database server yang cukup terkenal. Database server itu sendiri merupakan suatu software


(54)

MySQL sebagai suatu database server mempunyai beberapa kemampuan, salah satunya harus menyediakan suatu sistem manajemen database yang dapat mengatur bagaimana menyimpan, menambah, mengakses data dan transaksi-transaksi database lainnya. MySQL cepat sekali berkembang, karena MySQL merupakan suatu software yang Open Source.

MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language) [2]. SQL adalah sebuah konsep pengoperasian

database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh

user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query

data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan

query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.


(55)

MySQL memiliki beberapa keistimewaan, antara lain :

1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

2. Open Source. MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.

3. Multiuse. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.

4. Performance tuning. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

5. Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti

signed/unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.

6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).

7. Keamanan. MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.

8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.


(56)

9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protocol TCP/IP, Unix socket (UNIX), atau Named Pipes.

10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di dalamnya.

11. Antar Muka. MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).

12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basisdata, dan pada setiap peralatan yang ada disertakan petunjuk online.

13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basisdata lainnya semacam PostgreSQL.


(57)

40

3.1 Analisis

3.1.1 Analisis Masalah

Permasalahan pada penelitian ini adalah masih banyak organisasi dan perusahaan yang masih belum mengoptimalkan penggunan media teknologi dan informasi dengan media internet atau online, dan meskipun sudah ada yang mengunakan fasilitas online hal tersebut masih dirasa kurang efektif karena pembuatan antara aplikasi server dengan aplikasi klien harus menggunakan bahasa pemrograman yang sama sehingga dalam pembuatan aplikasinya terbatas dalam bahasa pemrograman tertentu. Selain itu, bagaimana mengimplementasikan

web service dengan aplikasi web dan android sebagai solusi permasalahan tersebut.

3.1.2 Analisis Kebutuhan Data

Sistem yang akan dibangun merupakan sistem untuk menginformasikan lowongan pekerjaan yang tersedia, profil perusahaan yang menyediakan pekerjaan, serta profil pencari kerja. Untuk aplikasi back end yang dikelola oleh admin dapat melakukan proses menyetujui publikasi atau penerbitan lowongan pekerjaan,edit,dan delete dan untuk client pada aplikasi web dan android dapat


(58)

melakukan proses pemanggilan method atau fungsi yang ada pada web service

untuk mendapatkan data lowongan pekerjaan, profil perusahaan, dan profil pencari kerja. Maka web service harus menyediakan data lowongan pekerjaan, profil perusahaan, dan profil pencari kerja agar aplikasi web dan android dapat mengakses data tersebut. Sehingga untuk dibangunnya sistem ini, dibutuhkan data berupa informasi lowongan pekerjaan yang dikelola oleh admin dan berasal dari perusahaan yang mendaftarkan diri ke sistem lowongan pekerjaan ini.

3.1.3 Analisis Kebutuhan Non Fungsional

Kebutuhan non fungsional yang dibutuhkan untuk membangun sistem ini terdiri dari tiga hal, yaitu : kebutuhan perangkat keras, kebutuhan perangkat lunak dan spesifikasi kebutuhan perangkat lunak (SKPL).

3.1.3.1 Analisis Pengguna

Sistem yang akan dibangun ini digunakan oleh tiga jenis pengguna utama yaitu admin, pengunjung umum dan pengunjung terdaftar. Admin dapat melakukan pengelolaan data terhadap aplikasi ini seperti menyetujui untuk menerbitkan atau publikasi lowongan dari member pemberi kerja atau perusahaan, hapus lowongan, edit lowongan dan dapat melakukan hapus data pencari dan pemberi kerja. Pengunjung umum hanya dapat melihat informasi lowongan kerja dan melakukan registrasi menjadi member atau pengunjung terdaftar (pemberi kerja atau pencari kerja). Pengunjung terdaftar terbagi menjadi 2 yaitu member pemberi kerja (Pmk) yang dapat membuat profil perusahaan ketika melakukan registrasi dan juga menambah lowongan kerja baru. Sedangkan member pencari


(59)

kerja (Pck) dapat melihat informasi lowongan kerja dan informasi perusahaan, juga membuat profil pribadi ketika melakukan registrasi sebagai member atau pengunjung terdaftar dan melakukan lamaran pekerjaan.

Tabel III. 1 Karakteristik Pengguna

Pengguna Deskripsi Usia Hak Akses Tingkat

Pendidikan Pengalaman Administrator Sistem (Staff pengelola data lowongan pekerjaan) Orang yang mengelola web portal secara keseluruhan, diberikan hak akses penuh untuk melakukan pemeliharaan terhadap web portal Lebih dari 21 Tahun Melakukan pengolahan data lowongan pekerjaan, pengolahan data master, lihat data member Minimal D3 dan dapat mengakses internet Pernah mengelola web sejenis dan mengerti teknologi website Pemberi Kerja (Perusahaan) Adalah user yang melakukan registrasi sebagai member perusahaan untuk dapat melakukan input lowongan kerja dan merespon lamaran pekerjaan Lebih dari 21 Tahun Membuat profil perusahaan ketika registrasi, input lowongan kerja baru, mengelola data lowongan, melihat daftar pencari kerja, dan merespon lamaran pekerjaan

- Mengakses internet


(60)

Tabel III. 2 Karakteristik Pengguna (Lanjutan)

Pengguna Deskripsi Usia Hak Akses Tingkat

Pendidikan Pengalaman

Pencari Kerja

Adalah user yang melakukan registrasi sebagai pencari kerja dan dapat melakukan lamaran terhadap lowongan pekerjaan Lebih dari 17 Tahun Melihat informasi lowongan pekerjaan, melihat daftar pemberi kerja, mengubah data profil pribadi, dapat melakukan lamaran, dan menerima info lowongan baru sesuai minat kerja melalui email

- Mengakses internet

Pengunjung Umum

Adalah user yang mengunjungi web portal, dan belum melakukan registrasi untuk menjadi member Lebih dari 17 Tahun Melihat informasi lowongan kerja, dapat melakukan pendaftaran sebagai member

- Mengakses internet


(61)

3.1.3.2 Analisis Kebutuhan Perangkat Keras

Perangkat keras yang digunakan dalam membangun sistem ini adalah : 1. Processor Intel Core 2 Duo 2.2 GHz

2. Kapasitas RAM 4 GB 3. VGA Card 512 MB 4. Kapasitas Hardisk 160 GB 5. Monitor

6. Lan Card 10/100 Mbps 7. Koneksi internet 256 Kbps

8. Keyboard & Mouse

Spesifikasi kebutuhan perangkat keras (hardware) pada mobile android yang digunakan untuk menjalankan aplikasi mobile lowongan pekerjaan ini adalah :

1. Processor 800 MHz 2. Kapasitas RAM 256 MB 3. Memori internal 158 MB

4. Ukuran layar 3,2 inch dengan resolusi HVGA (320x480) 5. Baterai Li-Ion 1350 mAh

Spesifikasi kebutuhan minimal perangkat keras yang digunakan untuk membangun sistem ini adalah :

1. Processordengan kecepatan minimal 2 GHz 2. RAM minimal 256 MB


(62)

4. Kapasitas Harddisk minimal 40 GB 5. Monitor

6. Lan Card 10/100Mbps

7. Koneksi internet minimal64kbps 8. Keyboard & Mouse

3.1.3.3 Analisis Kebutuhan Perangkat Lunak

Perangakat lunak yang diperlukan untuk membangun sistem ini adalah : 1. Java Development Kit versi 5 atau 6 , untuk kompilasi kode – kode program. 2. Java Runtime Edition, sebagai platform untuk menjalankan sistem.

3. Netbeans IDE, sebagai perangkat lunak yang digunakan untuk membangun

web service.

4. Eclipse 3.5, sebagai perangkat lunak yang digunakan untuk membangun aplikasi client pada android.

5. Adobe Dreamweaver CS5 sebagai perangkat lunak yang digunakan untuk membangun aplikasi web client.

6. Glassfish, sebagai webserver untuk aplikasi web service. 7. Apache, sebagai webserver untuk aplikasi web.

8. Android SDK, untuk pengembang aplikasi android.

9. Android Development Tool, sebagai plugin android pada eclipse.


(63)

3.1.3.4 Spesifikasi Kebutuhan Perangkat Lunak (SKPL)

Pembangunan Sistem Lowongan Pekerjaan Dengan Dukungan Web Service ini berfungsi sebagai media informasi lowongan kerja dan sarana melamar kerja. Semua itu akan dilakukan secara online. Fungsi utama perangkat lunak yang dibangun adalah :

1. Registrasi Member

Proses registrasi member untuk pengunjung yang ingin bergabung menjadi member aktif di aplikasi Lowongan Pekerjaan dengan menginputkan data profil member lengkap yang akan disimpan ke dalam database.

2. Login

Proses sebelum masuk ke dalam sistem menu utama admin dan member. User harus menginputkan data login member atau data login admin agar masuk kedalam sistem. Kemudian sistem akan mengautentikasi

username dan password user. Jika login valid maka user dapat mengakses sistem, jika login data tidak valid maka sistem akan memberikan info kepada

user bahwa username atau password tidak ditemukan. 3. Lupa Password

Fasilitas lupa password untuk mengantisipasi jika user admin dan member lupa password untuk login ke dalam sistem. User hanya menginputkan alamat email ke dalam sistem dan sistem akan memberikan informasi data passworduser melalui alamat email.


(64)

4. Logout

Suatu proses admin dan member untuk keluar dari sistem yang telah digunakan dan jika ingin mengakses sistem maka harus login kembali agar bisa masuk ke sistem.

5. Pencarian Lowongan Pekerjaan

Sistem menyediakan fungsionalitas pencarian lowongan pekerjaan yang dapat digunakan oleh pengunjung umum dan member. Setelah user menginputkan data cari yang akan dicari, sistem akan memberikan respon apakah data ditemukan atau tidak.

6. Lihat Lowongan Pekerjaan

Sistem menyediakan fungsionalitas untuk melihat lowongan pekerjaan. Fasilitas ini berfungsi sebagai informasi adanya lowongan pekerjaan dari berbagai perusahaan.

7. Filter Lowongan Pekerjaan

Sistem menyediakan fungsionalitas pada aplikasi client mobile android untuk filter lowongan pekerjaan. Fasilitas ini berfungsi untuk menyaring daftar lowongan pekerjaan yang ditampilkan berdasarkan lokasi penempatan, kategori, gaji, dan tipe kerja.

8. Lihat Peta

Sistem menyediakan fungsionalitas pada untuk melihat peta. Fasilitas ini berfungsi untuk melihat lokasi penempatan dari lowongan pekerjaan pada peta digital.


(65)

9. Membagikan Info Lowongan

Sistem menyediakan fungsionalitas pada aplikasi client mobile android untuk membagikan info lowongan pekerjaan. Fasilitas ini berfungsi untuk membagikan info lowongan pekerjaan melalui aplikasi social networking atau email yang terdapat pada device user.

10.Pengolahan Data Lowongan Kerja

Sistem menyediakan fungsionalitas proses pengolahan data lowongan kerja yang dikelola oleh admin yakni menyetujui untuk menerbitkan lowongan, dan hapus data lowongan pekerjaan. Sedangkan untuk member pemberi kerja dapat melakukan tambah lowongan baru, edit, dan hapus data lowongan pekerjaan.

11.Pengolahan Data Member

Sistem menyediakan fungsionalitas proses pengolahan data member dimana admin dapat melihat detil dari data member dan dapat menghapus data member.

12.Pengolahan Data User

Proses pengolahan data user atau member untuk mengubah profil pribadi atau profil perusahaan, kemudian disimpan di database.

13.Update CV

Sistem menyediakan fungsionalitas untuk meng-upload file CV baru bagi member pencari kerja ke dalam database.


(66)

14.Pengolahan Data Lamaran Kerja

Sistem menyediakan fungsionalitas proses pengolahan data lamaran pekerjaan yang masuk bagi member pemberi kerja (perusahaan). Member pemberi kerja (perusahaan) dapat melakukan melihat daftar lamaran yang masuk dan melakukan aksi untuk melihat CV pelamar, menolak, dan menerima lamaran pekerjaan. Member pemberi kerja juga dapat mengirim surat panggilan kepada pelamar jika member perusahaan menerimaa lamaran pekerjaan dari pelamar.

15.Pengolahan Data Master

Sistem menyediakan fungsionalitas untuk pengolahan data master yang dilakukan admin. Pengolahan data master fasilitas yang berguna bagi admin untuk melakukan penambahan kategori dan admin baru lowongan pekerjaan.

16.History Lamaran

Sistem menyediakan fungsionalitas untuk melihat data history

lamaran. Fasilitas ini berguna bagi member pencari kerja untuk melihat daftar dari lamaran yang pernah dilakukan dan melihat respon dari perusahaan dari lowongan pekerjaan yang dilamar.

17.Melihat Data Perusahaan

Sistem menyediakan fungsionalitas untuk melihat data perusahaan. Fasilitas ini berguna untuk membantu user untuk melihat data detil dari perusahaan seperti deskripsi perusahaan, alamat, dan kontak perusahaan yang dapat dihubungi oleh user.


(67)

18.Melihat Data Pencari Kerja

Sistem menyediakan fungsionalitas untuk melihat data pencari kerja. Fasilitas ini berguna untuk membantu user terutama member pemberi kerja untuk melihat spesifikasi dari pencari kerja yang melakukan lamaran ke lowongan perusahaan mereka.

19.Melihat Profil

Sistem menyediakan fungsionalitas untuk melihat profil member. Fasilitas ini berguna untuk melihat data profil pribadi bagi member yang melakukan login ke aplikasi lowongan pekerjaan.

3.1.4 Analisis Sistem

3.1.4.1 Arsitektur Sistem

Sistem yang akan dibangun mempunyai 2 bagian yaitu di sisi server dan sisi klien. Sisi server akan menyediakan fungsi-fungsi yang terdapat pada web service. Sedangkan pada sisi klien terdapat tiga aplikasi yaitu dua aplikasi berbasis web dan satu aplikasi berbasis mobile pada platform android yang dapat digunakan oleh user melalui internet. Aplikasi web pertama merupakan sistem

back end yang digunakan user administrator untuk mengelola data lowongan pekerjaan dan data member. Administrator berhak atas segala akses data yang sudah ada termasuk untuk menyetujui penerbitan lowongan, edit, dan hapus data lowongan pekerjaan serta dapat menghapus data member. Sedangkan aplikasi web yang kedua adalah sistem front end yang digunakan user untuk memperoleh informasi mengenai lowongan pekerjaan. User yang menggunakan aplikasi web


(68)

pada sistem front end ini dapat dibedakan menjadi dua jenis, yaitu : pengunjung umum dan member. Kemudian aplikasi klien yang terakhir yang merupakan sistem front end yang berbasis mobile pada platform android juga memiliki dua

user yaitu pengunjung umum dan pengunjung terdaftar atau member.

Selain aplikasi utama pada sisi klien tadi, sistem lowongan pekerjaan juga mempunyai dukungan web servive dalam bentuk clientserver. User yang akan menggunakan dukungan web service harus menyediakan program client,yang dapat dibuat dengan bantuan WSDL yang telah disediakan. Client ini selanjutnya dapat mengakses fungsi-fungsi web service yang disediakan oleh server. Pada penelitian ini program client akan dibuat pada aplikasi web dan mobile pada platform android.

3.1.4.2 Analisis Standar Web service

Dalam bab landasan teori telah dijelaskan secara singkat ada dua jenis

web service yang dapat digunakan, yaitu REST dan SOAP. Tugas akhir ini akan menggunakan web service dengan standar SOAP karena pertama, SOAP adalah jenis web service yang berorientasi pada service yang cocok diterapkan pada aplikasi lowongan pekerjaan yang memang menyediakan layanan untuk memanggil metode yang mengolah resource data lowongan, selain itu SOAP memiliki standar yang baik dan jelas. REST tidak memiliki standar, tetapi hanya sebuah arsitektur web service. Untuk aplikasi dimana ia mungkin saja berkomunikasi dengan banyak aplikasi lain yang berbeda bahasa maupun

platform, standar sangat diperlukan karena menjamin aplikasi-aplikasi ini berbicara dalam bahasa yang sama dan memudahkan pengembangan. Penjabaran


(69)

SOAP diperjelas dengan disediakannya WSDL, sehingga pengguna web service

dapat dengan mudah membuat client untuk menggunakan SOAP.

1. Analisis Method Web Service

Bagian ini adalah bagian yang paling utama dari fungsi web service. Bagian ini menjelaskan secara rinci fungsi atau method-method apa saja yang tersedia dalam Web Service, parameter apa saja yang diperlukan untuk memanggil sebuah method, dan apa hasil atau tipe data yang dikembalikan oleh method yang dipanggil tersebut.

1) Method loginPck

Hal pertama yang harus dilakukan oleh member sebelum melakukan aktivitas dengan aplikasi Lowongan Pekerjaan.

Method loginPck merupakan method yang digunakan aplikasi Lowongan Pekerjaan untuk mengambil data login pada basis data Lowongan Pekerjaan sebagai member pencari kerja. Method loginPck memiliki beberapa variabel yang dikirimkan sebagai parameter pada saat melakukan login ke dalam aplikasi Lowongan Pekerjaan baik aplikasi web maupun mobile. Berikut ini variabel-variabel yang dibutuhkan oleh method loginPck pada saat melakukan login ke dalam Lowongan Pekerjaan seperti terlihat pada tabel III.3 dan juga prosedurnya pada tabel III.4.


(70)

Tabel III. 3 Variabel Method loginPck

Nama Variabel Isi Variabel Tipe Variabel

username Username dari pengguna yang akan

melakukan login. GET

password Password dari pengguna yang akan

melakukan login. GET

Tabel III. 4 Prosedur Method loginPck

Method loginPck (input username:string, input password:string) Masukan Username & password

Keluaran Array lowongan pekerjaan dalam bentuk JSON Skenario Utama Method loginPck

Proses

1. Mengambil username & password yang dimasukkan.

2. Menjalankan query sql.

3. Memasukkan data member pencari kerja sesuai

username & password yang dimasukkan ke dalam

array.

4. Mengembalikan data member pencari kerja ke dalam array.

Skenario Alternatif Method loginPck

4a. Mengembalikan nilai kosong jika member pencari kerja dengan username & password yang

dimasukkan tidak ditemukan.

Hasil dari method loginPck yaitu berupa data dengan format JSON yang didapat dari basis data Lowongan Pekerjaan. Data dengan format JSON tersebut nantinya akan diuraikan (parsing) oleh aplikasi Lowongan Pekerjaan.


(1)

Tabel IV. 90 Hasil Pengujian Kuesioner Aplikasi Android member Pencari Kerja Soal Nomor 5

Pertanyaan Keterangan Responden Nilai

Jawaban Skor

Persentase (%)

5 Sangat Setuju 7 5 35 23,33

Setuju 12 4 48 40

Cukup Setuju 11 3 33 36,67

Kurang Setuju 2

Tidak Setuju 1

Jumlah 30 116 100

Rentang yang digunakan:

Sangat Setuju Setuju

Cukup Setuju Kurang Setuju

Tidak Setuju

54 78 102 126

30 116 150

Dari hasil kuesioner pada tabel di atas didapatkan skor akhir untuk jawaban yang dipilih oleh responden terhadap pertanyaan no 5. Dari hasil pada tabel tersebut diperoleh skor akhir 116 dari skor maksimal 150. Sehingga dengan demikian dapat disimpulkan bahwa responden setuju jika antarmuka (user interface) aplikasi mobile lowongan pekerjaan ini cukup menarik dan mudah dipahami (user friendly).


(2)

458

4.2.2.2 Kesimpulan Pengujian Beta

Berdasarkan hasil persentase hasil perhitungan pengujian beta pengguna aplikasi klien sistem lowongan pekerjaan dengan dukungan web service maka dapat disimpulkan bahwa pembangunan sistem lowongan pekerjaan dengan dukungan web service ini sudah sesuai dengan tujuan, yaitu memberikan kemudahan bagi perusahaan untuk menyampaikan lowongan pekerjaan pada perusahaan mereka, dan bagi pencari kerja sangat membantu dalam mencari lowongan pekerjaan sesuai dengan minat kerja dan dapat mempermudah proses lamaran dengan adanya fasilitas lamaran pada aplikasi klien sistem lowongan ini


(3)

460

5.1 Kesimpulan

Setelah melalui tahap perancangan, implementasi dan pengujian aplikasi sistem lowongan pekerjaan dengan dukungan web service ini, maka dapat ditarik kesimpulan bahwa:

1. Web service dapat berfungsi dengan baik sebagai jembatan penghubung antara aplikasi klien dengan database yang menjadikan sistem ini memiliki interoperabilitas antar aplikasi.

2. Pembangunan web service dengan standar SOAP yang dideskripsikan dengan WSDL berhasil dilakukan dengan baik.

3. Web service dapat memberikan dukungan dengan baik kepada aplikasi lowongan pekerjaan.

4. Sistem Lowongan Pekerjaan Dengan Dukungan Web Service ini dapat berjalan sesuai dengan tujuannya, yaitu memperluas informasi tentang lowongan pekerjaan yang tersedia bagi para job seeker serta mempermudah bagi perusahaan untuk menginformasikan lowongan pekerjaan melalui aplikasi lowongan pekerjaan ini.


(4)

461

5.2 Saran

Sistem Lowongan Pekerjaan Dengan Dukungan Web Service ini dapat dikembangkan lebih baik untuk ke depannya. Adapun saran-saran terhadap pengembangan sistem ini untuk ke depannya adalah sebagai berikut:

1. Aplikasi klien mobile dapat dibangun di atas platform lain misalnya Blackberry, iPhone dan Windows Phone.

2. Membuat sistem keamanan dalam hak akses method – method yang ada pada web service.

3. Melengkapi fitur sesuai dengan kebutuhan user, misalnya pada aplikasi mobile android adanya rss feed dari situs lowongan pekerjaan lain.


(5)

462

[1] BPS, Indonesia, Penduduk 15 Tahun Ke Atas Menurut Jenis Kegiatan, 2004 -2011.

http://www.bps.go.id/tab_sub/view.php?tabel=1&daftar=1&id_subyek=06 &notab=1. Diakses pada tanggal 22 Februari 2012.

[2] Eko Indriyawan, Pemrograman Database, ANDI, Yogyakarta, 2006. [3] JSON, Indonesia, Pengenalan JSON. http://json.org/json-id.html. Diakses

6 Februari 2011.

[4] Mulyadi, ST., Membuat Aplikasi Untuk Android, Multimedia Center Publishing, Yogyakarta, 2010.

[5] Scribd, Metode Pengembangan Sistem/Software.

http://www.scribd.com/doc/40955185/Metode-Pengembangan-Sistem. Diakses 21 Maret 2012.

[6] Vidyapati, Pembangunan Aplikasi Web Event Calendar Dengan Dukungan Web Service (Skripsi), Program Sarjana Institut Teknologi Bandung, Bandung, 2008.

[7] Widodo, Prabowo Pudjo, dan Herlawati, Mengunakan UML, Informatika, Bandung, 2011.

[8] W3C, 2004, Web Services Architecture.

http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#whatis. Diakses 11 September 2011.


(6)

BIODATA PENULIS

Nama : Rian Satria Putra

Nim : 10107402

Tempat / Tgl Lahir : Pagaralam, 02 Desember 1988 Jenis Kelamin : Laki-laki

Alamat : Jl. Gunung Dempo No. 82 RT 04 RW 02 Kelurahan Nendagung Kec. Pagaralam Selatan Kota Pagaralam Provinsi Sumatera Selatan

Telepon : 085659109575

Email : dtararyan@gmail.com

Pendidikan

1. 1993 – 1994 : TK (ra) Aisyiyah KaumanPagaralam Sumatera Selatan

2. 1994 – 2000 : SD Negeri 3 Pagaralam Sumatera Selatan 3. 2000 – 2003 : SMP Negeri 2 Pagaralam Sumatera Selatan 4. 2003 – 2006 : SMA Negeri 1 Pagaralam Sumatera Selatan

5. 2007 - 2012 : Program Studi S1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

Bandung, 30 Agustus 2012 Penulis