BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Construction 4.1.1 Model Bisnis dan Kebutuhan Sebelum dilakukannya proses pembangunan sistem, dilakukan kembali analisa dari perancangan yang telah dibuat sebelumnya yang pada proyek nyata analisa ini dilakukan oleh programmer atau orang yang akan membangun sistem. Sehingga orang yang akan membangun sistem tersebut memiliki gambaran bagaimana nanti dia akan bekerja. Dalam sistem ditambahkan pula kebutuhan-kebutuhan tambahan yang bersifat teknis, seperti kebutuhan pengaturan atau konfigurasi sistem, kebutuhan untuk memvalidasi setiap proses yang terjadi. 4.1.2 Analisa Pembangunan Sistem Pada saat pembangunan sistem dilakukan pula analisa, yaitu dengan melihat dan membandingkan apakah pembangunan sistem sudah sesuai dengan rancangan dan apakah proses untuk setiap modul nya sudah sesuai. 4.1.3 Implementasi Pembangunan Sistem 4.1.3.1 Implementasi Basis Data A. Pembuatan Database MySQL Tahapan implementasi pembuatan database pertama-tama kita membuat database MySQL dengan mengetikan perintah SQL ataupun dengan bantuan GUI dari phpmyadmin. Nama database yang akan dibuat adalah ‘ahixsvc’. Jika menggunakan perintah SQL maka dipergunakan DDL (Data Definition
103
104
Language) dalam mendefinisikan database yang akan dibuat. Sintak SQL yang digunakan adalah : CREATE DATABASE ahixsvc
B. Pembuatan Tabel Sama seperti pada tahap pembuatan database, pada tahap pembuatan tabel-tabel pun dapat dilakukan dengan dua cara, yaitu dengan menggunakan perintah SQL atau dengan menggunakan bantuan GUI dari phpmyadmin. Berikut ini adalah sintak SQL yang digunakan untuk membuat tabel-tabel : a. Membuat tabel ci_sessions CREATE TABLE IF NOT EXISTS `ci_sessions` ( `session_id` varchar(40) NOT NULL DEFAULT '0', `ip_address` varchar(45) NOT NULL DEFAULT '0', `user_agent` varchar(120) NOT NULL, `last_activity` int(10) unsigned NOT NULL DEFAULT '0', `user_data` text NOT NULL, PRIMARY KEY (`session_id`), KEY `last_activity_idx` (`last_activity`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Tabel ini tidak termasuk pada tabel perancanagn aplikasi ataupun tabel yang memuat resource API. Tabel ci_sessions merupakan tabel tambahan dari frameworkyang dipakai yaitu framework CodeIgniter, tabel ini berguna sebagai tabel sementara yang menyimpan data-data session dari pengguna aplikasi. b. Membuat tabel comments CREATE TABLE IF NOT EXISTS `comments` ( `content` varchar(301) DEFAULT NULL, `created_date` datetime NOT NULL, `id` int(101) NOT NULL AUTO_INCREMENT, `position` varchar(101) DEFAULT NULL, `status` enum('active','block') NOT NULL, `stream_id` varchar(101) NOT NULL, `user_id` int(11) NOT NULL, `idx` varchar(50) NOT NULL, `last_update` datetime DEFAULT NULL, PRIMARY KEY (`idx`), UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
105
c. Membuat tabel conversations CREATE TABLE IF NOT EXISTS `conversations` ( `id` int(7) NOT NULL AUTO_INCREMENT, `idx` varchar(101) NOT NULL, `created_date` datetime NOT NULL, `last_update` datetime NOT NULL, `users` varchar(1001) NOT NULL, `status` enum('active','block') NOT NULL, `user_id` int(7) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `idx` (`idx`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
d. Membuat tabel messages CREATE TABLE IF NOT EXISTS `messages` ( `id` int(10) NOT NULL AUTO_INCREMENT, `idx` varchar(101) NOT NULL, `created_date` datetime NOT NULL, `last_update` datetime NOT NULL, `conversation_id` varchar(101) NOT NULL, `user_id` int(7) NOT NULL, `content` varchar(1001) NOT NULL, `status` enum('active','block') NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `idx` (`idx`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
e. Membuat tabel notifications CREATE TABLE IF NOT EXISTS `notifications` ( `id` int(10) NOT NULL AUTO_INCREMENT, `idx` varchar(101) NOT NULL, `type` enum('FR','MG','CM','TG','RS') NOT NULL, `status` enum('block','unopen','open') NOT NULL, `created_date` datetime NOT NULL, `last_update` datetime NOT NULL, `user_id` int(7) NOT NULL, `content` varchar(301) NOT NULL, `url` varchar(301) NOT NULL, `img` varchar(301) NOT NULL DEFAULT 'notif.png', PRIMARY KEY (`id`), UNIQUE KEY `idx` (`idx`) )ENGINE=InnoDB DEFAULT CHARSET=latin1;
f. Membuat tabel relations CREATE TABLE IF NOT EXISTS `relations` ( `id` int(7) NOT NULL AUTO_INCREMENT, `idx` varchar(101) NOT NULL, `type` enum('friend','brother','sister','family','special') NOT NULL, `status` enum('block','active','unconfirm') NOT NULL, `user_id` int(7) NOT NULL,
106
`user_rel` int(7) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `idx` (`idx`) ) ENGINE=InnoDB
DEFAULT CHARSET=latin1;
g. Membuat tabel streams CREATE TABLE IF NOT EXISTS `streams` ( `id` int(6) NOT NULL AUTO_INCREMENT, `content` varchar(1001) DEFAULT NULL, `created_date` datetime NOT NULL, `last_update` datetime DEFAULT NULL, `idx` varchar(101) NOT NULL, `position` varchar(101) DEFAULT NULL, `status` enum('active','block','delete') NOT NULL, `user_id` int(11) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `idx` (`idx`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
h. Membuat tabel users CREATE TABLE IF NOT EXISTS `users` ( `activation_code` varchar(7) NOT NULL, `address` varchar(501) NOT NULL, `birth_date` datetime NOT NULL, `birth_place` varchar(101) NOT NULL, `created_date` datetime NOT NULL, `email` varchar(101) NOT NULL, `gender` enum('male','female') NOT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, `is_login` tinyint(1) NOT NULL, `last_ip` varchar(15) DEFAULT NULL, `last_login` datetime DEFAULT NULL, `name` varchar(101) NOT NULL, `new_password` varchar(101) DEFAULT NULL, `password` varchar(101) NOT NULL, `photo` varchar(501) NOT NULL DEFAULT 'blankpp.jpg', `school` varchar(501) NOT NULL, `status` enum('active','inactive','banned') NOT NULL, `type` enum('admin','ahix') NOT NULL, `last_stream` varchar(501) DEFAULT NULL, `last_position` varchar(101) DEFAULT NULL, `last_update` datetime DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
107
Setelah perintah SQL dieksekusi atau setelah tabel-tabel dibuat dengan bantuan tool maka database akan berisi tabel-tabel sesuai dengan yang kita buat.
Gambar 4.1 Tabel-tabel pada database ahixsvc Setelah tabel dibuat, maka relasi tabel dapat dibuat. Jika menggunakan phpmyadmin maka relasi ini dapat dibuat secara manual pada struktur tabel atau pada menu designer.
Gambar 4.2 Skema pada database ahixsvc
108
4.1.3.2 Implementasi Kebutuhan Sistem A. Implementasi Kebutuhan REST API Tabel 4.1 Implementasi kebutuhan REST API no
code
module name
resource
description
1
REQ11
user method
1. user 2. users
service yang berhubungan dengan resource user
2
REQ12
stream method
1. stream 2. streams
service yang berhubungan dengan resource stream
3
REQ13
comment method
1. comment 2. comments
service yang berhubungan dengan resource comment
4
REQ14
conversation method
1. conversation 2. conversations
service yang berhubungan dengan resource conversation
5
REQ15
message method
1. message 2. messages
service yang berhubungan dengan resource message
6
REQ16
relation method
1. relation 2. relations
service yang berhubungan dengan resource relation
Semua resource API pada tabel 4.1 dapat diakses dengan memanggil url http://192.168.0.102/fella.service/api/{resource} melalui seluruh perangkat yang terhubung dengan jaringan lokal sistem. REST API ini dibangun dengan menggunakan bantuan dari library CodeIgniter untuk membuat REST API dan untuk menggunakan fungsi CURL. Semua
resources
itu
dapat
diakses
dengan
menggunakan
HTTP_REQUEST. Pemanggilan API harus mengikuti aturan yang sudah ditentukan sesuai dengan method HTTP yang digunakan, terutama dalam hal penggunaan parameter input.
109
B. Implementasi Kebutuhan Aplikasi Klien Tabel 4.2 Implementasi kebutuhan aplikasi klien No
code
module name
description
1
REQ01
account registration
modul registrasi user
2
REQ02
account activation
modul aktivasi user validation/welcome validation/process
3
REQ03
reset password
modul lupa kata sandi
4
REQ04
account login modul sign in user
5
REQ05
account logout
modul sign out user signout
6
REQ06
manage profile
modul profil user
profile/user profile/edit
7
REQ07
manage relation
modul relasi user
profile
8
REQ08
manage stream modul stream
stream/ stream/id
9
REQ09
manage conversation
conversation conversation/id
modul obrolan
controller signup
forget validation/reset signin
Modul-modul pada halaman web tersebut dapat diakses dengan memanggil url http://192.168.0.102/fella/{controller} melalui seluruh perangkat yang terhubung dengan jaringan lokal sistem. Halaman web ini dibangun dengan menggunakan twitter bootstrap agar menjadi website yang responsive sehingga dapat mengikuti ukuran layar device yang membukanya. Karena menggunakan twitter bootstrap, maka untuk membuka halaman web ini dengan baik diperlukan device yang memiliki web browser yang telah mendukung HTML 5, CSS 3 dan javascript.
110
4.1.3.3 Implementasi Antar Muka Aplikasi Klien A. About Page Halaman ini akan berisi segala sesuatu informasi tentang aplikasi.
keterangan : 1. Menu Bar 4. Link to Contact Page
2. About Content 5. Footer
3. Right Navigation 6. Sign In Dropdown
Gambar 4.3 Tampilan halaman about B. Contact Page Halaman ini adalah tempat dimana user dapat bertanya mengenai aplikasi kepada admin.
keterangan : 1. Menu Bar 4. Link to About Page
2. Contact Content 5. Footer
3. Right Navigation 6. Sign In Dropdown
Gambar 4.4 Tampilan halaman kontak
111
C. Conversation Page Halaman ini adalah tempat dimana user dapat melakukan obrolan dengan user lain.
keterangan : 1. Menu Bar 4. Message List
2. Conversation List 5. Message Form
3. Right Navigation 6. Sign Out Dropdown
Gambar 4.5 Tampilan halaman obrolan D. Create Conversation Page Halaman ini adalah dimana user dapat membuat obrolan baru dengan user lain.
keterangan : 1. Create New Conversation Form
Gambar 4.6 Tampilan halaman membuat obrolan baru
112
E. Profile Edit Page Halaman ini adalah dimana user dapat melakukan perubahan data profil akunnya.
keterangan : 1. Menu Bar 4. Sign Out Dropdown
2. Photo Profile
3. Edit Profile Form
Gambar 4.7 Tampilan halaman merubah data profil F. Profile Page Halaman ini adalah dimana user dapat melihat profil dari user lain.
keterangan : 1. Menu Bar 4. Create Stream Form
2. Detail Profile 5. List Stream
3. Right Naviagtion
Gambar 4.8 Tampilan halaman profil
113
G. Reset Password Page Halaman ini adalah dimana user dapat menyeting ulang kata sandinya ketika lupa. keterangan : 1. Reset Password Form
Gambar 4.9 Tampilan halaman merubah kata sandi H. Sign In Page Halaman ini adalah dimana user melakukan sign in. Pada saat melakukan login, pengguna harus memasukan alamat email dan kata sandinya. keterangan : 1. Menu Bar 2. Sign In Form
Gambar 4.10 Tampilan halaman log in I. Sign Up Page Halaman ini adalah dimana user melakukan registrasi. Pengguna harus melengkapi data diri untuk akunnya. keterangan : 1.Sign Up Form
Gambar 4.11 Tampilan halaman registrasi
114
J. Stream Page Halaman ini adalah dimana user dapat melihat dan menambah stream serta melihat dan menambah komentar.
keterangan : 1. Menu Bar 4. Stream List
2. Stream Form 5. Comment Form
3. Right Naviagtion 6. Sign Out Dropdown
Gambar 4.12 Tampilan halaman stream status K. Welcome Page Halaman ini adalah halaman awal dari aplikasi klien.
keterangan : 1. Menu Bar 4. Footer
2. Link To About Page 3. Link To Contact Page
Gambar 4.13 Tampilan halaman awal aplikasi
115
4.1.4 Pengujian Awal Aplikasi Pengujian pada tahap ini baru merupakan pengujian awal yang dilakukan secara paralel bersama dengan proses pembangunan sistem (coding). Pengujian baru sebatas apakah algoritma atau logika yang diimplementasikan pada kode program dapat berjalan dan sesuai. 4.2 Transition 4.2.1 Model Bisnis dan Kebutuhan Pada tahap ini sudah tidak ada lagi penyusunan atau perencanaan model bisnis ataupun kebutuhan karena pada tahap ini sistem atau aplikasi sudah selesai dibangun, yang selanjutnya akan diuji pada tahap ini. 4.2.2 Analisa Sistem Sama seperti proses penyusunan atau perencanaan model bisini dan kebutuhan, proses analisa sistem sudah diselesaikan pada tahapan sebelumnya, hanya saja dilakukan analisa terhadap hasil pengujian. 4.2.3 Perancangan Sistem Pada tahap ini dilakukan modifikasi-modifikasi terhadap sistem atau aplikasi yang dibangun apabila terdapat kekurangan atau kesalahan pada saat proses pembangunan sistem. Modifikasi dilakukan secara paralel bersamaan disaat ditemukan kekurangan atau kesalahan. 4.2.4 Implementasi dan Pengaturan Sistem Sebelum dilakukan pengujian sistem, maka perlu dipersiapkan dan dilakukan pengaturan atau konfigurasi baik pada perangkat keras atau pun
116
perangkat lunak agar pada saat dilakukan pengujian sistem atau aplikasi sudah siap dan tinggal digunakan atau diuji. Implementasi dilakukan pada perangkat keras dan perangkat lunak yang sudah dijelaskan pada tahapan sebelumnya. Pengaturan minimal yang harus dilakukan adalah : 1. Pemasangan dan pengaturan access point atau hub atau router apabila aplikasi akan diuji pada jaringan lokal. 2. Pemasangan dan pengaturan basis data apabila dilakukan pemindahan server basis data. 3. Pemasangan dan pengaturan web server apabila dilakukan pemindahan server web. 4. Pengaturan konfigurasi sistem atau aplikasi apabila terjadi perubahan lokasi server atau terjadi perubahan alamat IP. 4.2.5 Pengujian Sistem Pengujian sistem dilakukan dengan cara melakukan berbagai kemungkinan masukan yang dilakukan oleh user dan melihat hasil dari berbagai masukan tersebut baik masukan itu salah atau pun masukan yang benar. Dengan mencoba dengan berbagai kemungkinan masukan maka akan terlihat bagaimana sistem atau aplikasi memprosesnya dan apa yang dihasilkan. Pengujian sistem hanya dilihat dari sisi pemenuhan fungsional yang terlihat, atau dengan kata lain pengujian dilakukan dengan metode Black Box.
117
4.2.5.1 Pengujian REST API Tabel 4.3 Skenario pengujian REST API No
Kode
Skenario Uji
1
REQ1101
Pengujian Resource user dengan method PUT
2
REQ1102
Pengujian Resource user dengan method POST
3
REQ1103
Pengujian Resource user dengan method DELETE
4
REQ1104
Pengujian Resource user dengan method GET
5
REQ1201
Pengujian Resource stream dengan method PUT
6
REQ1202
Pengujian Resource stream dengan method POST
7
REQ1203
Pengujian Resource stream dengan method DELETE
8
REQ1204
Pengujian Resource stream dengan method GET
9
REQ1301
Pengujian Resource comment dengan method PUT
10
REQ1302
Pengujian Resource comment dengan method POST
11
REQ1303
Pengujian Resource comment dengan method DELETE
12
REQ1304
Pengujian Resource comment dengan method GET
13
REQ1401
Pengujian Resource conversation dengan method PUT
14
REQ1402
Pengujian Resource conversation dengan method POST
15
REQ1403
Pengujian Resource conversation dengan method DELETE
16
REQ1404
Pengujian Resource conversation dengan method GET
17
REQ1501
Pengujian Resource message dengan method PUT
18
REQ1502
Pengujian Resource message dengan method POST
19
REQ1503
Pengujian Resource message dengan method DELETE
20
REQ1504
Pengujian Resource message dengan method GET
Skenario pengujian API ini berdasarkan pada kebutuhan fungsional dari sistem yang telah diuraikan sebelumnya pada tahap analisa dan perancangan.
118 A. REQ1101 – User PUT Tabel 4.4 Pengujian REQ1101 kasus 1 Pengujian REST API No
1
Kode
REQ1101
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method PUT
Kasus
Menambahkan user baru dengan email yang sudah dipakai
Hasil yang diharapkan
API mengembalikan pesan kegagalan pemrosesan karena email sudah terpakai
Hasil Pengamatan
API mengembalikan kode hasil 05 dan pesan yang memberitahukan bahwa email sudah terpakai
Data Masukan Array ( [email] =>
[email protected] [address] => Komplek Puri Cipageran Indah 1 Blok C no 31 [birth_place] => Bandung [birth_date] => 1989-08-03 [gender] => male [last_ip] => 127.0.0.1 [school] => Array ( [SD] => SD Negeri Karsawinaya xxx [SMP] => SMP Negeri 3 Cimahi xxx [SMA] => SMA Negeri 1 Cimahi xxx ) [name] => Fikri Rohim ) Data Keluaran
stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => [resCode] => 05 [resMsg] => Email has been used. [result] => )
Kesimpulan
Berhasil
Tabel 4.5 Pengujian REQ1101 kasus 2 Pengujian REST API No
1
Kode
REQ1101
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method PUT
Kasus
Menambahkan user baru dengan email baru dan data yang valid
Hasil yang diharapkan
API mengembalikan nilai yang memberikan pesan sukses dan user sudah ditambahakan ke basis data
Hasil Pengamatan
API mengembalikan kode hasil 00 dan pesan yang memberitahukan bahwa user baru sudah dibuat
119
Tabel 4.5 Pengujian REQ1101 kasus 2 (lanjutan) Pengujian REST API Data Masukan
Array ( [email] =>
[email protected] [address] => Komplek Puri Cipageran Indah 1 Blok C no 31xx [birth_place] => Bandungxx [birth_date] => 1989-0803 [gender] => male [last_ip] => 127.0.0.1 [school] => Array ( [SD] => SD Negeri Karsawinaya xxx [SMP] => SMP Negeri 3 Cimahi xxx [SMA] => SMA Negeri 1 Cimahi xxx ) [name] => Fikri Rohimxx )
Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => User created. [result] => stdClass Object ( [activation_code] => 2165816 [address] => Komplek Puri Cipageran Indah 1 Blok C no 31xx [birth_date] => 1989-08-03 [birth_place] => Bandungxx [created_date] => 2012-12-27 00:09:39 [email] =>
[email protected] [gender] => male [id] => 40 [is_login] => [last_ip] => 127.0.0.1 [last_login] => [name] => Fikri Rohimxx Kesimpulan
Berhasil
B. REQ1102 – User POST Tabel 4.6 Pengujian REQ1102 kasus 1 Pengujian REST API No
2
Kode
REQ1102
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method POST
Kasus
Merubah data profil user dengan email yang tidak valid atau email yang tidak terdapat di basis data
Hasil yang diharapkan
API mengembalikan nilai yang memberikan pesan bahwa email yang dimasukkan tidak valid atau user tidak ditemukan
Hasil Pengamatan
API mengembalikan kode hasil 03 dan pesan yang memberitahukan bahwa user tidak ditemukan
Data Masukan
Array ( [mail] =>
[email protected] [status] => active )
Data Keluaran
stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => [resCode] => 03 [resMsg] => User not exist. [result] => )
Kesimpulan
Berhasil
120
Tabel 4.7 Pengujian REQ1102 kasus 2 Pengujian REST API No
2
Kode
REQ1102
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method POST
Kasus
Merubah data profil user dengan email dan data yang valid
Hasil yang diharapkan
API mengembalikan nilai yang memberikan pesan sukses dan data user di basis data sudah berubah
Hasil Pengamatan
API mengembalikan kode hasil 00 dan pesan yang memberitahukan bahwa data user sudah dirubah
Data Masukan Array ( [mail] =>
[email protected] [status] => active ) Data Keluaran
stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => stdClass Object ( [status] => stdClass Object ( [stat] => 1 [msg] => status Updated. ) ) [result] => stdClass Object ( [activation_code] => 5193139 [address] => Komplek Puri Cipageran Indah 1 Blok C no 31 [birth_date] => 1989-08-03 00:00:00 [birth_place] => Bandung [created_date] => 2012-12-26 22:59:52 [email] =>
[email protected] [gender] => male [id] => 38 [is_login] => 0 [last_ip] => 127.0.0.1 [last_login] => [name] => Fikri Rohim [new_password] => 5193139 [password] => ba175166f47ed702d1eab981ba80f8017a28b720......
Kesimpulan
Berhasil
C. REQ1103 – User DELETE Tabel 4.8 Pengujian REQ1103 kasus 1 Pengujian REST API No
3
Kode
REQ1103
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method DELETE
Kasus
Menghapus data user dengan email yang tidak valid atau user tidak ada di basis data
121
Tabel 4.8 Pengujian REQ1103 kasus 1 (lanjutan) Pengujian REST API Hasil yang diharapkan
API mengembalikan pesan kesalahan bahwa email tidak valid atau user tidak ditemukan
Hasil Pengamatan
API mengembalikan pesan yang memberitahukan bahwa user tidak ditemukan di basis data
Data Masukan array('email'=>'
[email protected]') Data Keluaran
stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => [resCode] => 03 [resMsg] => User not found. [result] => )
Kesimpulan
Berhasil
Tabel 4.9 Pengujian REQ1103 kasus 2 Pengujian REST API No
3
Kode
REQ1103
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method DELETE
Kasus
Menghapus data profil user dengan email dan data yang valid
Hasil yang diharapkan
API mengembalikan pesan sukses dan data user di basis data sudah terhapus
Hasil Pengamatan
API mengembalikan kode hasil 00 dan pesan yang memberitahukan bahwa data user sudah dihapus
Data Masukan Array ( [mail] =>
[email protected] ) Data Keluaran
stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => User has been deleted.....
Kesimpulan
Berhasil
D. REQ1104 – User GET Tabel 4.10 Pengujian REQ1104 kasus 1 Pengujian REST API No
4
Kode
REQ1104
Tanggal Pengujian
26 Desember 2012
122
Tabel 4.10 Pengujian REQ1104 kasus 1 (lanjutan) Pengujian REST API Deskripsi
Pengujian resource user dengan method GET
Kasus
Mengambil data user dengan id user yang tidak valid atau id user tidak ada di basis data
Hasil yang diharapkan
API mengembalikan nilai yang memberikan pesan kesalahan bahwa id user tidak valid atau user tidak ditemukan
Hasil Pengamatan
API mengembalikan kode hasil 03 dan pesan memberitahukan bahwa user tidak ditemukan di basis data
Data Masukan
id = 77
Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => [resCode] => 03 [resMsg] => User not exists. [result] => ) Kesimpulan
Berhasil
Tabel 4.11 Pengujian REQ1104 kasus 2 Pengujian REST API No
4
Kode
REQ1104
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method GET
Kasus
Mengambil data user dengan id user yang valid atau id data user ada di basis data
Hasil yang diharapkan
API mengembalikan nilai yang memberikan pesan sukses dan data dari user yang dicari
Hasil Pengamatan
API mengembalikan kode hasil 00 dan data user yang dicari
Data Masukan
id = 28
Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => User exists. [result] => stdClass Object ( [activation_code] => 9832253 [address] => address address [birth_date] => 1989-08-03 00:00:00 [birth_place] => Bandung [created_date] => 2012-1109 08:19:28 [email] =>
[email protected] [gender] => male [id] => 28 [is_login] => 0 [last_ip] => 10.10.10.10 [last_login] => [name] => bacang [new_password] => [password] =>......... Kesimpulan
Berhasil
123
Tabel 4.12 Pengujian REQ1104 kasus 3 Pengujian REST API No
4
Kode
REQ1104
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method GET
Kasus
Mengambil data user dengan email user yang tidak valid atau email user tidak ada di basis data
Hasil yang diharapkan
API mengembalikan nilai yang memberikan pesan kesalahan bahwa email user tidak valid atau user tidak ditemukan
Hasil Pengamatan
API mengembalikan kode hasil 03 dan pesan memberitahukan bahwa user tidak ditemukan di basis data
Data Masukan
email =
[email protected]
Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => [resCode] => 03 [resMsg] => User not exists. [result] => ) Kesimpulan
Berhasil
Tabel 4.13 Pengujian REQ1104 kasus 4 Pengujian REST API No
4
Kode
REQ1104
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method GET
Kasus
Mengambil data user dengan email user yang valid atau email data user ada di basis data
Hasil yang diharapkan
API mengembalikan nilai yang memberikan pesan sukses dan data dari user yang dicari
Hasil Pengamatan
API mengembalikan kode hasil 00 dan data user yang dicari
Data Masukan
email =
[email protected]
Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => User exists. [result] => stdClass Object ( .......... Kesimpulan
Berhasil
124
Tabel 4.14 Pengujian REQ1104 kasus 5 Pengujian REST API No
4
Kode
REQ1104
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource users dengan method GET
Kasus
Mengambil seluruh data user yang ada
Hasil yang diharapkan
API mengembalikan nilai seluruh data user yang ada
Hasil Pengamatan
API mengembalikan data-data user yang ada
Data Masukan Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => success. [result] => Array ( [0] => stdClass Object ( [activation_code] => 3297527 [address] => address address [birth_date] => 1989-08-03 00:00:00 [birth_place] => Bandung [created_date] => 2012-1109 07:24:25 [email] =>
[email protected] [gender] => male [id] => 3 [is_login] => 0 [last_ip] => 10.10.10.10 [last_login] => [name] => bacang [new_password] => [password] => 6126446efdce350e41b724a37f8357f2124c9b52 [photo] => blank.png [school] => a:2:{s:2:"SD";s:15:"SDN Karsawinaya";s:3:"SMP";s:13:"SMPN 3 Cimahi";} [status] => banned [type] => ahix [last_stream] => D20121208N1U3 [last_position] => ) [1] => stdClass Object ( [activation_code] => 9832253 [address] => address address [birth_date] => 1989-08-03 00:00:00 [birth_place] => Bandung [created_date] => 2012-1109 08:19:28 [email] =>
[email protected] [gender] => male [id] => 28 [is_login] => 0 [last_ip] => 10.10.10.10 [last_login] => [name] => bacang...... Kesimpulan
Berhasil
Tabel 4.15 Pengujian REQ1104 kasus 6 Pengujian REST API No
4
Kode
REQ1104
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method GET
125
Tabel 4.15 Pengujian REQ1104 kasus 6 (lanjutan) Pengujian REST API Kasus
Mengambil seluruh data user yang ada dengan limit satu data
Hasil yang diharapkan
API mengembalikan nilai seluruh data user yang ada dengan limit satu data
Hasil Pengamatan
API mengembalikan data-data user yang ada dengan limit satu data
Data Masukan
limit = 1
Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => success. [result] => Array ( [0] => stdClass Object ( [activation_code] => 3297527 [address] => address address [birth_date] => 1989-08-03 00:00:00 [birth_place] => Bandung [created_date] => 2012-1109 07:24:25 [email] =>
[email protected] [gender] => male [id] => 3 [is_login] => 0 [last_ip] => 10.10.10.10 [last_login] => [name] => bacang [new_password] => [password] => 6126446efdce350e41b724a37f8357f2124c9b52 [photo] => blank.png [school] => a:2:{s:2:"SD";s:15:"SDN Karsawinaya";s:3:"SMP";s:13:"SMPN 3 Cimahi";} [status] => banned [type] => ahix [last_stream] => D20121208N1U3 [last_position] => ) ) ) Kesimpulan
Berhasil
Tabel 4.16 Pengujian REQ1104 kasus 7 Pengujian REST API No
4
Kode
REQ1104
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method GET
Kasus
Mengambil seluruh data user yang ada dengan limit satu data dimulai dari data kedua
Hasil yang diharapkan
API mengembalikan nilai seluruh data user yang ada dengan limit satu data dimulai dari data kedua
Hasil Pengamatan
API mengembalikan data-data user yang ada dengan limit satu data dimulai dari data kedua
Data Masukan
limit = 1 offset = 2
126
Tabel 4.16 Pengujian REQ1104 kasus 7 (lanjutan) Pengujian REST API Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => success. [result] => Array ( [0] => stdClass Object ( [activation_code] => 6665151 [address] => [birth_date] => 1997-11-08 00:00:00 [birth_place] => Cimahi [created_date] => 2012-11-17 21:24:11 [email] =>
[email protected] [gender] => female [id] => 37 [is_login] => 0 [last_ip] => 0.0.0.0 [last_login] => [name] => Fikri Muhammad Rohim [new_password] => 6665151 [password] => 0b6b6a2a63098a05c446efe1a51fceef17110fa7 [photo] => blankuser.png [school] => [status] => inactive [type] => ahix [last_stream] => [last_position] => ) ) ) Kesimpulan
Berhasil
Tabel 4.17 Pengujian REQ1104 kasus 8 Pengujian REST API No
4
Kode
REQ1104
Tanggal Pengujian
26 Desember 2012
Deskripsi
Pengujian resource user dengan method GET
Kasus
Mengambil seluruh data user yang ada dengan menggunakan filter where
Hasil yang diharapkan
API mengembalikan nilai seluruh data user yang ada dengan menggunakan filter where
Hasil Pengamatan
API mengembalikan data-data user yang ada dengan menggunakan filter where
Data Masukan
email = @gmail where = true
Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => success. [result] => Array ( ) ) Kesimpulan
Berhasil
Tabel 4.18 Pengujian REQ1104 kasus 9 Pengujian REST API No
4
Kode
REQ1104
127
Tabel 4.18 Pengujian REQ1104 kasus 9 (lanjutan) Pengujian REST API Tanggal Pengujian
26 Desember 2012
Kasus
Mengambil seluruh data user yang ada dengan menggunakan filter like
Hasil yang diharapkan
API mengembalikan nilai seluruh data user yang ada dengan menggunakan filter like
Hasil Pengamatan
API mengembalikan data-data user yang ada dengan menggunakan filter like
Data Masukan
email = @gmail
Data Keluaran stdClass Object ( [retStat] => 1 [retCode] => 00 [resStat] => 1 [resCode] => 00 [resMsg] => success. [result] => Array ( [0] => stdClass Object ( [activation_code] => 3297527 [address] => address address [birth_date] => 1989-08-03 00:00:00 [birth_place] => Bandung [created_date] => 2012-1109 07:24:25 [email] =>
[email protected] [gender] => male [id] => 3 [is_login] => 0 [last_ip] => 10.10.10.10 [last_login] => [name] => bacang [new_password] => [password] => 6126446efdce350e41b724a37f8357f2124c9b52 [photo] => blank.png [school] => a:2:{s:2:"SD";s:15:"SDN Karsawinaya";s:3:"SMP";s:13:"SMPN 3 Cimahi";} [status] => banned [type] => ahix [last_stream] => D20121208N1U3 [last_position] => ) [1] => stdClass Object ( [activation_code] => 5193139 [address] => Komplek Puri Cipageran Indah 1 Blok C no 31 [birth_date] => 1989-08-03 00:00:00 [birth_place] => Bandung [created_date] => 2012-12-26 22:59:52 [email] =>
[email protected] [gender] => male [id] => 38 [is_login] => 0 [last_ip] => 127.0.0.1.... Kesimpulan
Berhasil
Pengujian untuk setiap resource pada prinsipnya adalah sama, hanya berbeda pada pemanggilan url saja yang ditentukan oleh keinginan resource apa yang akan diakses atau dipanggil. Untuk hasil pengujian setiap resource yang lainnya dapat dilihat pada bagian lampiran G.
128
4.2.5.2 Pengujian Aplikasi Klien Tabel 4.55 merupakan hasil pengujian fungsional inti dari aplikasi klien tempat dimana REST API diimplementasikan atau digunakan. Tabel 4.19 Pengujian sistem untuk aplikasi klien No
code
module name
description
result
1
REQ01
account registration
modul untuk membuat akun baru
berhasil
2
REQ02
account activation
modul untuk proses aktifasi user
berhasil
3
REQ03
reset password
modul untuk melakukan reset kata sandi apabila user lupa
berhasil
4
REQ04
account login
modul untuk login user
berhasil
5
REQ05
account logout
modul untuk logout user
berhasil
6
REQ06
manage profile
modul untuk melihat dan mengedit profil
berhasil
7
REQ07
manage relation modul untuk menambah relasi
berhasil
8
REQ08
manage stream
modul untuk menampilkan, menambah dan menghapus stream dan comment
berhasil
9
REQ09
manage conversation
modul untuk melihat dan mnambah obrolan
berhasil
Proses yang berlangsung saat pengujian aplikasi klien merupakan implementasi dari penggunaan REST API yang telah dibuat sebelumnya. Karena aplikasi klien ini tidak memiliki sumber data, aplikasi ini berkomunikasi dengan REST server dengan memanggil API-API yang ada.