BAB III ANALISIS DAN PERANCANGAN

dokumen-dokumen yang mirip
BAB IV IMPLEMENTASI DAN PENGUJIAN

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR


BAB III ANALISIS DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. yang manual, yaitu dengan melakukan pembukuan untuk seluruh data dan

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN SISTEM

HASIL DAN PEMBAHASAN Investigasi Awal

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM. Tahap perancangan dalam pembuatan program merupakan suatu hal yang

dapat diakses melalui salah satu menu yang berkaitan dengan komponen pada halaman administrator.

Manual Book Website Adverse Drug Report

BAB III METODE PENELITIAN

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM

database server. PHP bersifat terbuka dalam pengembangan, dan gratis. Meskipun demikian PHP memiliki dukungan fungsi yang variatif (Achour, 2000).

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. utuh ke dalam bagian - bagian komponennya dengan maksud untuk

BAB III ANALISIS DAN PERANCANGAN SISTEM`

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISA DAN PERANCANGAN

BAB III METODE PENELITIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III PERANCANGAN ALAT

BAB IV IMPLEMENTASI DAN EVALUASI. Sistem yang dibangun pengembang adalah berbasis web. Untuk dapat

BAB IV IMPLEMENTASI DAN EVALUASI. implementasi desain dalam bentuk kode-kode program. Kemudian di tahap ini

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB IV HASIL DAN UJI COBA

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. Dalam mengimplementasikan sistem yang dijalankan, maka diperlukan beberapa

Pengguna CMS Joomla Oleh: Herman Dwi Surjono, Ph.D.

Instalasi XAMPP di Windows

BAB IV ANALISIS DAN PERANCANGAN SISTEM. terkomputerisasi. Berikut adalah uraian proses dari kegiatan pemesanan makanan

BAB III ANALISIS. 3.1 Analisis Model Business Process Outsourcing

BAB IV ANALISIS DAN PERANCANGAN SISTEM. permasalahan dari suatu sistem informasi. Hasil akhir dari analisis sistem

BAB III PERANCANGAN DAN PEMBUATAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM. permasalahan yang ada sebagai dasar untuk membuat sebuah solusi yang

BAB IV PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III PEMBAHASAN 3.1 Analisa Sistem

BAB III ANALISA DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA

BAB III METODE PENELITIAN. (Software Development Life Cycle). System Development Life Cycle (SDLC) adalah

BAB IV IMPLEMENTASI DAN EVALUASI

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB II ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

Pengumpulan Data. Analisa Data. Pembuatan Use Case,Activity dan Sequence Diagram. Perancangan Database. Bisnis Proses.

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab 3 Metode Perancangan

BAB IV ANALISA DAN PERANCANGAN SISTEM. diusulkan dari sistem yang ada di Dinas Kebudayaan dan Pariwisata Kota

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN EVALUASI. Faktor-faktor tersebut antara lain adalah perangkat keras, perangkat lunak,

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

PERANGKAT LUNAK BANTU REPORTING SOFTWARE CONFIGURATION MANAGEMENT DENGAN PEMANFAATAN INFORMASI CONCURRENT VERSION SYSTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS. 3.1 Model Penerapan BPM pada SOA III-1

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN UJI COBA

BAB IV ANALISIS DAN PERANCANGAN SISTEM. proses kerja yang sedang berjalan. Pokok-pokok yang di analisis meliputi analisis

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

2.19 CSS (Cascading Style Sheets) PHP Codeigniter Studi Pustaka... 28

BAB I PENDAHULUAN. dalam arti yang lebih sempit, adalah sistem komputer yang memiliki kemampuan

BAB 4 IMPLEMENTASI DAN EVALUASI SISTEM

53 Gambar 4. 1 Proses Bisnis sistem yang sedang berjalan Keterangan: 1. Peminjam wajib menyerahkan kwitansi atau bukti transaksi. 2. Staff admin memer

BAB IV HASIL DAN PEMBAHASAN

Implementasi dan Pengujian

`BAB III ANALISIS DAN PERANCANGAN SISTEM. Material Requirement Planning (MRP) berbasis web pada CV. Mitra Techno Sains.

BAB IV HASIL DAN PEMBAHASAN

BAB IV IMPLEMENTASI 4.1 IMPLEMENTASI

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. perangkat keras yang dibutuhkan pengguna maupun pengembang web serta penjelasan

BAB 4 IMPLEMENTASI DAN PENGUJIAN

WEBSITE PEMILIHAN CALON KETUA HIMPUNAN JURUSAN SISTEM KOMPUTER UNIVERSITAS KRISTEN MARANATHA. Angga Indrajaya /

BAB IV HASIL DAN UJICOBA

BAB 3 PERANCANGAN SISTEM. 3.1 Mendefenisikan Web dalam Macromedia Dreamweaver 8

BAB IV IMPLEMENTASI DAN PENGUJIAN

DAFTAR TABEL. Perbandingan Ruby on Rails Dengan PHP Berdasarkan Banyak. Baris Program...

4 BAB IV UJI COBA DAN EVALUASI

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN

7 PERANCANGAN PORTAL MANAJEMEN PENGETAHUAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab 3 Metodologi Penelitian

BAB III ANALISA DAN DESAIN SISTEM

BAB I PERSYARATAN PRODUK

Transkripsi:

BAB III ANALISIS DAN PERANCANGAN Bab ini berisi penjelasan tentang metodologi, analisis, dan perancangan. Dalam subbab metodologi akan dijelaskan metodologi yang dipakai dalam membangun perangkat lunak. Subbab analisis berisi penjelasan tentang hasil analisis yang dilakukan dalam Tugas Akhir. Terakhir, subbab perancangan berisi penjelasan tentang hasil perancangan perangkat lunak yang dilakukan dalam Tugas Akhir. 3.1 Metodologi Metodologi yang digunakan dalam pengembangan perangkat lunak Tugas Akhir ini mengacu pada Unified Proses (UP). UP memiliki empat fase, yaitu Inception, Elaboration, Construction, dan Transition. Dalam UP, terdapat core-workflows: requirements, analysis, design, implementation, dan testing. Kelima workflows inti tersebut dilakukan secara berulang-ulang (iterative) dalam setiap fase dengan prioritas yang berbeda-beda sampai semua fungsionalitas perangkat lunak berhasil diimplementasikan. Iterasi yang bersifat incremental ini merupakan ciri utama metodologi UP. Deliverables setiap fase UP yang dijalankan dalam Tugas Akhir ini dapat dilihat pada Tabel III-1. Tabel III-1 Fase dan Deliverables UP dalam Tugas Akhir No. Fase Deliverables 1. Inception 1. spesifikasi kebutuhan perangkat lunak 2. diagram use case 3. diagram sequence 4. diagram kelas tahap analisis 2. Elaboration 1. diagram kelas tahap perancangan 2. komponen aplikasi 3. rancangan antarmuka 4. perancangan basis data 5. prototipe XCMS 3. Construction 1. kelas-kelas XCMS 2. hasil pengujian kelas 3. hasil pengujian integrasi kelas-kelas 4. perangkat lunak semi-final 4. Transition 1. hasil pengujian akhir 2. perangkat lunak final 3. dokumen final III-1

III-2 Dalam Tugas Akhir ini, pemodelan perangkat lunak akan menghasilkan tiga buah diagram, yaitu use case diagram, sequence diagram, dan class diagram. Use case diagram dan skenario use case bermanfaat untuk memodelkan fungsionalitas perangkat lunak berdasarkan deskripsi dan spesifikasi yang dijelaskan pada bagian analisis. Dari beberapa use case, dibuat diagram sequence yang dapat menggambarkan urutan proses fungsionalitas tertentu dari perangkat lunak dan memperkirakan objek-objek yang dibutuhkan untuk setiap use case. Berdasarkan diagram sequence yang dihasilkan, dilakukan identifikasi kelas yang mungkin dikembangkan dan dibuat sebuah diagram kelas yang menunjukkan keterhubungan antar kelas tersebut. 3.2 Analisis Sesuai dengan metodologi yang dijelaskan pada subbab 3.1, workflow yang dilakukan pada fase inception adalah analisis dan pendefinisian kebutuhan perangkat lunak (requirements). Subbab ini berisi hasil analisis aplikasi CMS, identifikasi service, deskripsi perangkat lunak, spesifikasi kebutuhan, dan pemodelan perangkat lunak yang dibangun dalam Tugas Akhir. 3.2.1 Analisis Fitur Aplikasi CMS Analisis fitur aplikasi CMS dilakukan dengan melakukan eksplorasi terhadap aplikasi CMS yang didapatkan dari internet secara gratis. Aplikasi yang dieksplorasi yaitu Joomla versi 1.0.12 dan Drupal versi 5.1. Kedua aplikasi tersebut dipilih karena cukup populer dan banyak digunakan untuk mengelola website. Berdasarkan hasil eksplorasi, fitur Joomla dapat dilihat pada Tabel III-2, sedangkan fitur Drupal dapat dilihat pada Tabel III-3. Tabel III-2 Fitur Joomla No Jenis Fitur Keterangan 1. Pengelolaan content Meliputi penambahan, pengubahan, penerbitan, pencarian, dan penghapusan content. Tiap content dikelompokkan berdasarkan section dan category tertentu. 2. Pengelolaan section dan category Meliputi penambahan, pengubahan, penerbitan, dan penghapusan section dan category. Setiap category merupakan anak dari section tertentu. 3. Pengelolaan user Meliputi penambahan, pengubahan, dan penghapusan user. Setiap user harus terdefinisi pada group tertentu. Setiap group memiliki hak akses berbeda terhadap aplikasi. 4. Pengelolaan media Meliputi penambahan, dan penghapusan media berupa file gambar. File disimpan pada folder tertentu, dan hanya file yang berada pada folder tersebut yang dapat digunakan sebagai file pendukung content. 5. Pengelolaan halaman depan Digunakan untuk mengatur content yang akan ditampilkan pada halaman ketika website pertama kali dibuka 6. Pengelolaan menu Digunakan untuk mendefinisikan menu yang akan ditampilkan pada halaman web sebagai navigasi situs.

III-3 No Jenis Fitur Keterangan 7. Pengelolaan banner Merupakan fitur khusus untuk menampilkan gambar pada header situs yang akan merujuk pada situs tertentu (semacam iklan) 8. Pengelolaan template Template digunakan untuk keseragaman tampilan, seperti jenis dan ukuran font, tata letak content, header dan footer halaman web. Pengelolaan template meliputi penambahan dan penghapusan template. 9. Pengelolaan modul Modul merupakan komponen CMS yang memiliki fungsi tertentu. Pengelolaan modul meliputi penambahan, pengaktifan, dan penghapusan modul. Beberapa modul merupakan modul utama dan tidak dapat dihapus. 10. Content syndication Digunakan untuk menyediakan content summary dalam bentuk dokumen XML, menggunakan RSS, ATOM, dan OPML. 11. Pengelolaan contact Digunakan untuk menyimpan data tambahan user tertentu, semacam address book. 12. Send mail Digunakan untuk mengirim email. 13. Trash management Digunakan untuk mengelola content yang dihapus. Secara default, content yang dihapus dimasukkan ke dalam trash. Dalam trash management, dapat dilakukan penghapusan secara permanen atau tidak jadi menghapus content (restore). 14. Help Manual aplikasi bersifat online karena merujuk kepada situs resmi Joomla. Tabel III-3 Fitur Drupal No Jenis Fitur Keterangan 1. Pengelolaan content Meliputi penambahan, pengubahan, penerbitan, pencarian, dan penghapusan content. Tiap content dikelompokkan berdasarkan jenisnya. 2. Pengelolaan jenis content Meliputi penambahan, pengubahan, penerbitan, dan penghapusan jenis content. 3. Pengelolaan user Meliputi penambahan, pengubahan, dan penghapusan user. Setiap user memiliki hak akses tertentu yang ditentukan administrator. Selain itu juga dapat dilakukan pendefinisian user role. 4. Pengaturan layout halaman Digunakan untuk mengatur tata letak content yang akan ditampilkan pada halaman web. 5. Pengelolaan template Template digunakan untuk keseragaman tampilan, seperti jenis dan ukuran font, tata letak content, header dan footer halaman web. Pengelolaan template meliputi pengubahan, dan pengaktifan template. 6. Pengelolaan modul Modul merupakan komponen CMS yang memiliki fungsi tertentu. Pengelolaan modul meliputi penambahan, pengaktifan, dan penghapusan modul. Beberapa modul merupakan modul utama dan tidak dapat dihapus. 7. Content syndication Digunakan untuk menyediakan content summary dalam bentuk dokumen XML, menggunakan RSS 2.0.

III-4 No Jenis Fitur Keterangan 8. Help Manual aplikasi terdapat pada instalasi aplikasi, tidak bersifat online. 9. Logs Berisi informasi aktivitas yang terjadi pada website, seperti terjadinya error, aksi administrator, dan sebagainya. Berdasarkan studi pustaka tentang CMS yang dijelaskan pada subbab 2.4.2 dan hasil eksplorasi aplikasi CMS, ditetapkan beberapa fitur yang akan diimplementasikan pada aplikasi yang dibangun pada Tugas Akhir. Fitur tersebut antara lain pengelolaan content, pengelolaan kategori content, pengelolaan user, dan penampilan content pada halaman web. Fitur-fitur tersebut dipilih karena cukup mewakili fungsionalitas sebuah aplikasi CMS yaitu sebagai alat bantu untuk mengelola content. Fitur pengelolaan content meliputi fungsi untuk menambah, mengubah, menghapus, mencari, dan menerbitkan content. Fitur pengelolaan kategori meliputi fungsi untuk menambah, mengubah, mencari, dan menghapus kategori atau sub kategori content. Sedangkan fitur pengelolaan user meliputi fungsi untuk menambah, mengubah, mencari, menghapus, dan melakukan validasi user. Sementara fitur penampilan content pada halaman web selain berfungsi untuk menampilkan content, juga berfungsi untuk membuat menu untuk navigasi situs berdasarkan kategori content. 3.2.2 Identifikasi dan Implementasi Web Service pada Modul CMS Berdasarkan hasil analisis fitur CMS yang dijelaskan pada subbab 3.2.1, aplikasi yang dibangun dalam Tugas Akhir ini akan mengimplementasikan beberapa fitur yang merupakan fitur minimal CMS, yaitu pengelolaan content, kategori, dan pengguna, serta fitur untuk menampilkan content ke dalam halaman web. Implementasi fitur tersebut dikelompokkan menjadi modul-modul CMS, berupa modul untuk pengelolaan content, pengelolaan kategori content, pengelolaan user, dan penampilan content pada halaman web. Beberapa modul CMS yang akan diimplementasikan juga akan dikembangkan menjadi web service, yaitu modul pengelolaan content, pengelolaan kategori content, dan pengelolaan user. Modul pengelolaan content yang akan dikembangkan menjadi web service berupa fungsi untuk menambah, dan mendapatkan content. Modul pengelolaan kategori yang akan dikembangkan menjadi web service yaitu fungsi untuk menambah, mengubah, menghapus dan mendapatkan kategori atau sub kategori content. Modul pengelolaan user yang akan dikembangkan menjadi web service yaitu fungsi untuk melakukan validasi, menambah, mengubah, dan menghapus user. Hasil identifikasi web service yang akan diimplementasikan dapat dilihat pada Tabel III-4.

III-5 Tabel III-4 Identifikasi Web Service No Nama Service Deskripsi 1. Get Content Service ini berfungsi untuk mendapatkan dan mengirimkan content sesuai dengan permintaan client. Service ini memiliki parameter input berupa username dan password client, tanggal content yang diinginkan, kata kunci pencarian content, dan jumlah maksimal content yang diinginkan. Sedangkan output-nya berupa array yang berisi content yang sesuai dengan permintaan client. 2. Get Category Service ini berfungsi untuk mendapatkan dan mengirimkan kategori content. Service ini memiliki parameter input berupa username dan password client. Sedangkan output-nya berupa array yang berisi kategori content. 3. Get Sub Category Service ini berfungsi untuk mendapatkan dan mengirimkan sub kategori content sesuai dengan permintaan client. Service ini memiliki parameter input berupa username dan password client, serta kategori content. Sedangkan output-nya berupa array yang berisi sub kategori content yang sesuai dengan permintaan client. 4. Validate User Service ini berfungsi untuk melakukan validasi user. Service ini memiliki parameter input berupa username dan password client, serta username dan password yang akan divalidasi. Sedangkan output-nya berupa nilai boolean (true/false). 5. Add Content Service ini berfungsi untuk menambahkan content ke dalam aplikasi CMS. Service ini memiliki parameter input berupa username dan password client, serta parameter-parameter lain yang dibutuhkan untuk menambahkan content ke dalam basis data. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. 6. Add Category Service ini berfungsi untuk menambahkan kategori content ke dalam aplikasi CMS. Service ini memiliki parameter input berupa username dan password client, serta parameter-parameter lain yang dibutuhkan untuk menambahkan kategori content ke dalam basis data. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. 7. Add Sub Category Service ini berfungsi untuk menambahkan sub kategori content ke dalam aplikasi CMS. Service ini memiliki parameter input berupa username dan password client, serta parameter-parameter lain yang dibutuhkan untuk menambahkan sub kategori content ke dalam basis data. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. 8. Edit Category Service ini berfungsi untuk mengubah kategori content. Service ini memiliki parameter input berupa username dan password client, serta parameter-parameter lain yang dibutuhkan untuk mengubah kategori content. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. 9. Edit Sub Category Service ini berfungsi untuk mengubah sub kategori content. Service ini memiliki parameter input berupa username dan password client, serta parameter-parameter lain yang dibutuhkan untuk mengubah sub kategori content. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. 10. Delete Category Service ini berfungsi untuk menghapus kategori content. Service ini memiliki parameter input berupa username dan password client, serta ID

III-6 No Nama Service Deskripsi kategori yang akan dihapus. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. 11. Delete Sub Category Service ini berfungsi untuk menghapus sub kategori content. Service ini memiliki parameter input berupa username dan password client, serta ID sub kategori yang akan dihapus. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. 12. Add User Service ini berfungsi untuk menambahkan data pengguna ke dalam aplikasi CMS. Service ini memiliki parameter input berupa username dan password client, serta parameter-parameter lain yang dibutuhkan untuk menambahkan data pengguna ke dalam basis data. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. 13. Delete User Service ini berfungsi untuk menghapus data pengguna aplikasi CMS. Service ini memiliki parameter input berupa username dan password client, serta parameter-parameter lain yang dibutuhkan untuk menghapus data pengguna dari basis data. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. 14. Edit User Service ini berfungsi untuk mengubah data pengguna aplikasi CMS. Service ini memiliki parameter input berupa username dan password client, serta parameter-parameter lain yang dibutuhkan untuk mengubah data pengguna. Sedangkan output-nya berupa nilai boolean (true/false) yang menjelaskan keberhasilan atau kegagalan. Implementasi web service pada modul CMS dilakukan dengan cara memilih method dari suatu kelas pada modul tersebut untuk dijadikan web service. Untuk menangani akses terhadap web service tersebut, dibutuhkan semacam listener berupa kelas yang bertugas sebagai penerima permintaan akses yang kemudian akan menjalankan method tersebut. Keluaran yang dihasilkan method akan dikirimkan kepada pengirim permintaan melalui kelas listener tersebut. Implementasi web service pada aplikasi CMS dikembangkan dengan menggunakan library SOAP Extension yang dimiliki oleh PHP. Library ini menyediakan kelas-kelas yang dapat digunakan untuk membuat web service, diantaranya kelas SoapServer dan SoapClient. Kelas SoapServer dapat digunakan untuk membuat instance server web service yang berfungsi untuk menyediakan web service (service provider) atau sebagai listener yang akan menerima dan merespon permintaan akses terhadap web service. Sedangkan kelas SoapClient digunakan untuk membuat instance client web service yang berfungsi untuk menggunakan layanan dari web service yang ada atau sebagai service requestor. Aplikasi lain mendapatkan deskripsi layanan yang dimiliki aplikasi CMS melalui dokumen WSDL. Dengan WSDL ini, aplikasi lain dapat mengetahui deskripsi layanan yang dimiliki

III-7 aplikasi CMS, yaitu berupa method apa saja yang tersedia, parameter masukan, dan parameter keluaran dari method tersebut. Dokumen WSDL ini tidak dapat dibangkitkan secara otomatis oleh SOAP Extension. Oleh karena itu, dokumen WSDL yang akan digunakan harus dibuat secara manual. 3.2.3 Deskripsi Perangkat Lunak Perangkat lunak yang dibangun dalam Tugas Akhir diberi nama XCMS (extended Content Management System). Perangkat lunak ini berbasis pada web dan bersifat multiplatform (mampu dijalankan di berbagai sistem operasi). Perangkat lunak akan diinstal pada komputer yang berperan sebagai web server, dan basis data yang digunakan disimpan pada suatu database server. Web server maupun database server dapat berada pada satu komputer atau pada komputer yang berlainan. Pengguna dapat menjalankan aplikasi XCMS melalui sebuah web browser. Web service yang disediakan oleh aplikasi dapat diakses oleh aplikasi lain melalui suatu jaringan. Permintaan yang datang dari pengguna akan dieksekusi di server untuk kemudian dihasilkan response. Gambaran umum perangkat lunak yang akan dibangun dapat dilihat pada Gambar III-1. Gambar III-1 Hubungan antara Pengguna dan Aplikasi Bahasa pemrograman yang akan digunakan untuk membangun perangkat lunak adalah PHP. Bahasa ini dipilih karena memiliki kemampuan yang baik dalam pemrograman web, sudah cukup mapan, dan dukungan yang terus diberikan oleh para pengembang di seluruh dunia untuk mengembangkan PHP. PHP memiliki library yang cukup lengkap, salah satunya library untuk membangun web service yang sangat dibutuhkan untuk membangun perangkat lunak dalam Tugas Akhir ini. Selain itu, PHP juga dipilih karena merupakan bahasa pemrograman yang paling banyak digunakan untuk membangun aplikasi CMS. 3.2.4 Spesifikasi Kebutuhan Perangkat Lunak Aplikasi XCMS dikembangkan menggunakan bahasa PHP dengan library SOAP extension. Penggunaan library ini berdasarkan keunggulan utama library ini yaitu kecepatan yang lebih

III-8 baik dibandingkan library yang lain. Unsur kecepatan ini menjadi penting karena pertukaran data yang terjadi dalam web service menggunakan XML yang berukuran relatif besar. Selain itu library ini juga memiliki fitur yang cukup lengkap dan mudah digunakan. Aplikasi yang dikembangkan memiliki beberapa fitur utama sebagai suatu CMS, seperti pengelolaan content, pengelolaan user, dan pengelolaan kategori content. Selain itu, beberapa method yang dimiliki oleh aplikasi dikembangkan menjadi web service agar dapat diakses oleh aplikasi di luar aplikasi XCMS. Untuk memanfaatkan web service yang dimiliki, aplikasi juga menyediakan fasilitas untuk menggunakan web service tersebut. Jadi, selain sebagai service provider, aplikasi dapat juga berperan sebagai service requestor. Seperti yang telah dijelaskan pada subbab 3.2.1 tentang analisis fitur aplikasi CMS, aplikasi yang akan dikembangkan akan mengimplementasikan fitur pengelolaan content, kategori, dan user, serta penampilan content pada halaman web. Selain itu, aplikasi memiliki tambahan fitur yaitu menyediakan web service dan fasilitas untuk menggunakan web service yang telah dibuat. Spesifikasi kebutuhan perangkat lunak yang lengkap adalah sebagai berikut: 1. Aplikasi menyediakan fasilitas bagi pengguna untuk melakukan pengelolaan content, meliputi pembuatan content baru, pengubahan content, dan penghapusan content (SRS-01). 2. Aplikasi menyediakan fasilitas bagi pengguna untuk melakukan pengelolaan kategori content, yaitu pembuatan, pengubahan, dan penghapusan kategori (SRS-02). 3. Aplikasi menyediakan fasilitas bagi pengguna untuk melakukan pengelolaan data user aplikasi, yaitu pembuatan, pengubahan, dan penghapusan data user (SRS-03). 4. Aplikasi dapat menampilkan content yang ada pada halaman web yang dapat dilihat oleh pengguna (SRS-04). 5. Aplikasi menyediakan fasilitas untuk melakukan pencarian content sesuai dengan keinginan pengguna (SRS-05). 6. Aplikasi menyediakan fasilitas untuk melakukan registrasi bagi calon pengguna web service yang dimiliki aplikasi (SRS-06). 7. Aplikasi mampu melakukan validasi pengguna aplikasi maupun pengguna web service (SRS-07). 8. Aplikasi menyediakan web service untuk pengelolaan content, pengelolaan kategori content, dan pengelolaan user, seperti teridentifikasi pada subbab 3.2.2 (SRS-08). 9. Aplikasi menyediakan fasilitas bagi pengguna untuk memanfaatkan web service yang telah dibuat, dan dapat menyimpan hasilnya ke basis data (SRS-09).

III-9 Perangkat lunak yang akan dibangun hanya akan menangani satu jenis content, yaitu content web secara umum berupa teks yang dapat ditampilkan oleh web browser. Content tersebut dapat mengandung tag html yang sesuai dengan standar, dan akan ditampilkan ke dalam web browser sesuai dengan tag html yang dikandungnya. Selain memiliki kebutuhan fungsional yang telah dijabarkan sebelumnya, aplikasi yang akan dibangun juga memiliki spesifikasi kebutuhan non-fungsional sebagai berikut: 1. Aplikasi harus dapat dijalankan pada berbagai sistem operasi, minimal Microsoft Windows XP dan Linux (SRS-NF-01). 2. Aplikasi harus dapat dijalankan pada berbagai web server yang mendukung PHP, minimal Apache dan IIS (SRS-NF-02). 3. Aplikasi harus dapat dijalankan pada berbagai web browser, minimal Internet Explorer dan Mozilla Firefox (SRS-NF-03). 3.2.5 Karakteristik Pengguna Aplikasi yang dibangun hanya memiliki 4 macam pengguna, yaitu webmaster, administrator, pengunjung situs, dan client application. Masing-masing pengguna memiliki hak akses yang berbeda-beda. Administrator adalah pengguna aplikasi yang memiliki hak akses tertinggi, yaitu dapat melakukan aksi: 1. mengelola, melihat dan mencari content. 2. mengelola kategori. 3. mengelola user. 4. menggunakan web service yang disediakan aplikasi. Webmaster adalah pengguna aplikasi yang memiliki hak akses lebih rendah daripada administrator. Aksi yang dapat dilakukan oleh webmaster yaitu semua aksi yang dapat dilakukan oleh administrator kecuali aksi mengelola user. Sedangkan pengunjung situs merupakan pengguna aplikasi yang memiliki hak akses terendah, yaitu hanya dapat melakukan aksi: 1. melihat dan mencari content. 2. melakukan registrasi untuk dapat menggunakan web service. Sedang client application merupakan aplikasi lain yang menggunakan layanan dari web service yang dimiliki aplikasi. 3.2.6 Pemodelan Perangkat Lunak Sesuai dengan metodologi Tugas Akhir yang telah dijelaskan pada subbab 3.1, pada bagian ini akan dijelaskan pemodelan perangkat lunak yang merupakan salah satu aktifitas pada

III-10 tahap analisis. Pemodelan meliputi pembuatan diagram use case dan skenarionya, pembuatan diagram sequence, dan diagram kelas. 3.2.6.1 Pemodelan Kebutuhan Sistem Pemodelan kebutuhan sistem dibuat dalam bentuk diagram use case. Diagram use case yang dibuat dalam Tugas Akhir ini dapat dilihat pada Gambar III-2. Gambar III-2 Diagram Use Case Pada Gambar III-2 dapat dilihat bahwa aplikasi XCMS memiliki lima aktor, dua belas use case utama, dan lima extended use case. Hubungan antara aktor dan use case menggambarkan rangkaian interaksi antar keduanya dalam menjalankan suatu fungsi tertentu. Masing-masing use case yang terdapat dalam pemodelan kebutuhan sistem merepresentasikan fungsionalitas yang harus dimiliki oleh aplikasi. Use case tersebut diturunkan berdasarkan spesifikasi kebutuhan perangkat lunak yang telah dijelaskan pada subbab 3.2.4. Deskripsi untuk masingmasing use case dan aktor dapat dilihat pada Tabel III-5 dan Tabel III-6.

III-11 Tabel III-5 Deskripsi Use Case No Use Case Deskripsi ID SRS 1. Manage content Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam melakukan pengelolaan terhadap content aplikasi. SRS-01 2. Manage category Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam melakukan pengelolaan terhadap kategori suatu content. 3. Manage user Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam melakukan pengelolaan terhadap pengguna aplikasi maupun pengguna web service. 4. View content Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam menampilkan content yang ada pada halaman web. 5. Search content Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam melakukan pencarian content sesuai keinginan pengguna. 6. Register Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam menyediakan sarana bagi calon pengguna web service untuk melakukan registrasi agar dapat menggunakan web service yang disediakan aplikasi. SRS-02 SRS-03 SRS-04 SRS-05 SRS-06 7. Invoke other XCMS web service Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam memanfaatkan web service yang disediakan oleh aplikasi XCMS lain, dan menyimpan hasilnya ke dalam basis data. SRS-09 8. Get other XCMS content Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam memanfaatkan web service yang disediakan oleh aplikasi XCMS lain, yaitu service untuk mendapatkan content. 9. Add other XCMS content Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam memanfaatkan web service yang disediakan oleh aplikasi XCMS lain, yaitu service untuk menambahkan content. SRS-09 SRS-09 10. Get other XCMS Category 11. Manage other XCMS category 12. Manage other XCMS user Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam memanfaatkan web service yang disediakan aplikasi XCMS lain, yaitu service untuk mendapatkan kategori atau sub kategori. Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam memanfaatkan web service yang disediakan oleh aplikasi XCMS lain, yaitu service untuk mengelola kategori. Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam memanfaatkan web service yang disediakan oleh aplikasi XCMS lain, yaitu service untuk validasi dan mengelola user. SRS-09 SRS-09 SRS-09

III-12 No Use Case Deskripsi ID SRS 13. Get content via web service Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam menyediakan web service kepada aplikasi lain, berupa web service untuk mengambil content. SRS-08 14. Add content via web service 15. Get category via web service 16. Manage category via web service 17. Manage user via web service Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam menyediakan web service kepada aplikasi lain, berupa web service untuk menambah dan mengambil content. Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam menyediakan web service kepada aplikasi lain, berupa web service untuk mengambil kategori atau sub kategori content. Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam menyediakan web service kepada aplikasi lain, berupa web service untuk mengelola kategori atau sub kategori content. Use case ini mendeskripsikan fungsionalitas yang dimiliki aplikasi dalam menyediakan web service kepada aplikasi lain, berupa web service untuk mengelola user meliputi add user, edit user, dan delete user. SRS-08 SRS-08 SRS-08 SRS-08 Sesuai spesifikasi kebutuhan perangkat lunak, SRS-07, yaitu tentang kemampuan aplikasi dapat melakukan validasi pengguna, tidak digambarkan secara eksplisit dalam diagram use case. Spesifikasi kebutuhan perangkat lunak tersebut sudah termasuk dalam use case yang memerlukan validasi pengguna, yaitu use case manage content, manage category, manage user, invoke other XCMS web service, get content via WS, add content via WS, get category via WS, manage category via WS, dan manage user via WS. Tabel III-6 Deskripsi Aktor No Aktor Deskripsi 1. Webmaster Aktor yang termasuk dalam kategori pengguna webmaster. 2. Administrator Aktor yang termasuk dalam kategori pengguna administrator. 3. Web Visitor Aktor yang termasuk dalam kategori pengguna pengunjung situs. 4. Client Application Aktor yang termasuk dalam kategori pengguna client application. 5. Other XCMS Aktor ini merupakan sistem lain, berupa aplikasi XCMS lain yang berperan sebagai web service server. 3.2.6.2 Pemodelan Skenario Kejadian Pemodelan skenario kejadian dimaksudkan untuk memodelkan jalannya aplikasi perangkat lunak pada saat run-time. Skenario kejadian dibuat untuk setiap use case yang telah dibuat.

III-13 Contoh skenario normal untuk use case manage content dapat dilihat pada Tabel III-7 dan skenario yang lain dapat dilihat pada Acuan Teknis subbab 2.3.4. Tabel III-7 Skenario Normal Use Case Manage Content, Sub Skenario Add Content Aksi Aktor Reaksi Sistem 1. Menekan link Add Content 3. Mengisi form masukan untuk menambah content baru dan menekan tombol Save 2. Menampilkan form untuk menambah content baru 4. Menyimpan masukan ke dalam basis data dan menampilkan pesan 3.2.6.3 Pemodelan Interaksi Elemen Pada subbab berikut akan ditampilkan diagram sequence yang menggambarkan model interaksi elemen-elemen dalam aplikasi. Diagram sequence ini akan dibuat untuk setiap use case utama. Pada setiap pembuatan diagram sequence akan ditentukan objek-objek yang dibutuhkan oleh aplikasi serta interaksi antar objek-objek tersebut. Gambar III-3 menunjukkan diagram sequence yang terdapat dalam aplikasi yang dibangun, yaitu diagram sequence untuk use case manage content, sub skenario Add Content. Diagram sequence yang lain dapat dilihat pada Acuan Teknis subbab 3.1.1 dan subbab 4.1.1. Gambar III-3 Diagram sequence untuk use case manage content, sub skenario Add Content

III-14 3.2.6.4 Pemodelan Kelas Subbab ini berisi pembahasan tentang pemodelan kelas yang terdapat dalam sistem. Pemodelan kelas akan digambarkan dengan diagram kelas. Kelas-kelas yang terdapat dalam diagram kelas merupakan hasil identifikasi awal, sesuai dengan objek-objek yang terdapat dalam diagram sequence. Untuk lebih jelas, hasil identifikasi kelas tahap awal dapat dilihat pada Tabel III-8. Sedangkan diagram kelas analisis dari aplikasi yang dibangun dapat dilihat pada Gambar III-4. Gambar III-4 Diagram Kelas Analisis Tabel III-8 Hasil Identifikasi Awal Kelas-Kelas yang Terdapat dalam Aplikasi No Nama Kelas Tipe Kelas Deskripsi 1. UI_class Boundary Kelas ini berfungsi untuk membangkitkan halaman web sebagai jembatan interaksi antara pengguna dan aplikasi. 2. procuser Control Kelas ini berfungsi untuk membuka koneksi basis data melalui kelas DBConn dan berisi method yang dapat dilakukan dan dikenakan terhadap suatu user. 3. entuser Entity Kelas ini berisi atribut dan method untuk menangani operasi terhadap entitas user. 4. proccontent Control Kelas ini berfungsi untuk membuka koneksi basis data melalui kelas DBConn dan berisi method yang dapat dilakukan dan dikenakan terhadap suatu content. 5. entcontent Entity Kelas ini berisi atribut dan method untuk menangani operasi terhadap entitas content.

III-15 No Nama Kelas Tipe Kelas Deskripsi 6. proccategory Control Kelas ini berfungsi untuk membuka koneksi basis data melalui kelas DBConn dan berisi method yang dapat dilakukan dan dikenakan terhadap suatu kategori. 7. entcategory Entity Kelas ini berisi atribut dan method untuk menangani operasi terhadap entitas kategori. 8. DBConn Control Kelas ini berfungsi untuk menangani konfigurasi dan koneksi basis data. 9. WSHandler Control Kelas ini berfungsi untuk membentuk dan menjalankan web service dari method yang dimiliki oleh kelas-kelas lain yang ada dalam aplikasi. 10. WSConsumer Control Kelas ini berisi method yang digunakan untuk mempermudah pemakaian web service dari pihak lain oleh aplikasi. 3.3 Perancangan Sesuai dengan metodologi Tugas Akhir yang telah dijelaskan pada subbab 3.1, perancangan termasuk pada akhir fase inception dan terutama pada fase elaboration. Pada bagian ini akan dijelaskan hasil rancangan yang dibuat berdasarkan hasil analisis sebelumnya. Kegiatan perancangan ini dilakukan terhadap konfigurasi jaringan, struktur kelas dan antarmuka perangkat lunak. Struktur kelas yang terdapat dalam subbab ini merupakan hasil penjabaran terhadap struktur kelas awal yang telah dijelaskan pada subbab 3.2.6.4. 3.3.1 Batasan Perancangan Perancangan aplikasi XCMS ini memiliki batasan berupa perancangan kelas yang disesuaikan dengan bahasa pemrograman yang digunakan untuk implementasi perangkat lunak, yaitu PHP. Pada kelas perancangan, kelas entity yang muncul pada kelas analisis digabungkan dengan kelas control yang bersesuaian. Hal ini dilakukan untuk memudahkan dalam coding, dan efisiensi kode dalam pembuatan halaman web yang akan ditampilkan. Selain itu, implementasi perangkat lunak tidak akan menggunakan framework tertentu, tetapi hanya akan memanfaatkan library dasar yang dimiliki oleh PHP sehingga tidak akan mengikuti standar pengkodean yang dimiliki oleh suatu framework. 3.3.2 Perancangan Konfigurasi Jaringan Gambar III-5 menunjukkan hasil rancangan konfigurasi jaringan yang terdapat dalam Tugas Akhir ini. Dalam gambar tersebut terdapat sebuah komputer yang berperan sebagai web server. Aplikasi XCMS dapat diinstal pada komputer tersebut. Selain itu juga terdapat

III-16 beberapa komputer yang terhubung ke server melalui suatu jaringan (internet). Komputerkomputer tersebut merupakan client yang hendak mengakses aplikasi XCMS. Pengguna memerlukan web browser untuk dapat menjalankan aplikasi tersebut. Gambar III-5 Konfigurasi Jaringan XCMS 3.3.3 Perancangan Rinci Struktur Kelas Berdasarkan diagram kelas analisis yang telah diperoleh pada subbab 3.2.6.4, selanjutnya akan dilakukan perancangan detil tentang kelas-kelas yang terdapat dalam sistem. Diagram kelas perancangan yang digunakan dalam sistem dapat dilihat pada Gambar III-6. Kelas-kelas hasil perancangan memiliki perbedaan jika dibandingkan dengan kandidat kelas yang diperoleh pada bagian analisis. Terdapat beberapa kelas analisis yang tidak muncul dalam kelas perancangan dan terdapat beberapa kelas tambahan dalam perancangan yang dibuat. Kelas analisis yang tidak muncul yaitu kelas procuser, proccontent, proccategory, entuser, entcontent, dan entcategory. Kelas-kelas tersebut digabungkan menjadi kelas-kelas perancangan, yaitu kelas User (gabungan dari procuser dan entuser), Content (gabungan dari proccontent dan entcontent), dan Category (gabungan dari proccategory dan entcategory). Hal ini dilakukan untuk efektifitas pemrosesan dalam pembuatan halaman web. Dalam pemrograman berbasis web, semua variabel yang dibutuhkan ditangani pada setiap halaman web yang bersangkutan. Variabel-variabel tersebut bersifat bebas, dan dapat di-passing ke kelas manapun yang akan memprosesnya. Oleh karena itu, pemrosesan variabel dapat dilakukan oleh satu kelas yang mencakup fungsionalitas sebagai kelas entity dan control. Beberapa kelas tambahan lain yang muncul dalam perancangan yaitu kelas HTML_Template_IT, WSResultProcessor, SoapClient, SoapServer, dan SoapFault. HTML_Template_IT merupakan kelas yang menyediakan fungsionalitas untuk membentuk antarmuka antara pengguna dengan sistem, yaitu dengan memproses suatu file html yang

III-17 dijadikan template antarmuka halaman web. Kelas ini berasosiasi dengan kelas UI_class yang telah dibuat dalam tahap analisis. Gambar III-6 Diagram Kelas Perancangan Kelas WSResultProcessor merupakan kelas yang digunakan oleh aplikasi untuk memproses hasil yang didapatkan dari pemanggilan web service yang disediakan oleh aplikasi XCMS yang lain. Hasil yang didapatkan akan diproses dan kemudian dilakukan penyimpanan hasil ke dalam basis data. Kelas ini berhubungan dengan kelas WSConsumer, yaitu kelas ini mendapatkan parameter berupa hasil yang didapatkan kelas WSConsumer dari pemanfaatan web service. Kelas SoapClient merupakan kelas yang termasuk dalam library SOAP Extension. Kelas ini digunakan untuk menciptakan instance web service client. Kelas ini memiliki method yang dapat digunakan untuk melakukan pemanggilan terhadap web service. Dengan instance kelas tersebut, aplikasi dapat melakukan perannya sebagai service requestor atau pengguna layanan.

III-18 Kelas SoapServer dan SoapFault juga merupakan kelas yang termasuk dalam library SOAP Extension. Kelas SoapServer digunakan untuk menciptakan instance web service server. Kelas ini memiliki method yang dapat digunakan untuk membuat web service berdasarkan kelas dan method yang diinginkan, dan membuat semacam listener yang akan memproses permintaan penggunaan web service. Sedangkan kelas SoapFault digunakan untuk mendukung kelas SoapServer dalam pembuatan web service. Kelas ini berfungsi untuk menciptakan pesan kesalahan jika web service yang diminta mengalami suatu kegagalan. Daftar kelas yang dihasilkan pada tahap perancangan dapat dilihat pada Tabel III-9. Penjelasan lebih detil tentang kelas-kelas hasil tahap perancangan dapat dilihat pada Acuan Teknis subbab 4.2. Tabel III-9 Deskripsi Kelas Hasil Perancangan No Nama Kelas Kelas Analisis Definisi Terkait 1. UI_class UI_class Kelas ini bertanggung jawab untuk menjembatani interaksi antara pengguna dengan aplikasi. 2. User procuser, entuser Kelas ini bertanggung jawab untuk melakukan aksi terhadap pengguna aplikasi. 3. Content proccontent, entcontent 4. Category proccategory, entcategory Kelas ini bertanggung jawab untuk menangani semua aksi yang berhubungan dengan suatu content. Kelas ini bertanggung jawab untuk menangani semua aksi yang berhubungan dengan suatu kategori content. 5. DBConn DBConn Kelas ini bertanggung jawab untuk melakukan koneksi ke database. 6. WSHandler WSHandler Kelas ini bertangggung jawab untuk menangani penyediaan web service terhadap aplikasi lain. 7. WSConsumer WSConsumer Kelas ini bertanggung jawab untuk menangani proses pemanfaatan web service lain. 8. HTML_Template_IT UI_class Merupakan template antarmuka yang bertanggung jawab untuk menangani interaksi pengguna dengan sistem. 9. WSResultProcessor WSConsumer Kelas ini bertanggung jawab untuk memproses hasil yang didapatkan oleh kelas WSConsumer.

III-19 No Nama Kelas Kelas Analisis Definisi Terkait 10. SoapClient WSConsumer Kelas ini merupakan kelas pustaka yang digunakan untuk menciptakan instance web service client. 11. SoapServer WSHandler Kelas ini merupakan kelas pustaka yang digunakan untuk menciptakan instance web service server. 12. SoapFault WSHandler Kelas ini merupakan kelas pustaka yang digunakan untuk mendukung penciptaan instance web service server. 3.3.4 Representasi Persisten Kelas Perancangan Berdasarkan hasil perancangan kelas yang telah dibuat, aplikasi memerlukan persistensi beberapa kelas. Persistensi ini direalisasikan dalam bentuk tabel basis data. Beberapa kelas yang memerlukan persistensi diantaranya kelas User, Content, dan Category. Setiap kelas yang memerlukan persistensi tersebut dipetakan dalam sebuah tabel dalam basis data. Selain itu juga dilakukan normalisasi atau denormalisasi terhadap basis data agar pemrosesan data menjadi lebih efektif dan efisien. Basis data yang digunakan merupakan basis data relasional. Hasil perancangan basis data dapat dilihat pada Gambar III-7. Gambar III-7 Rancangan Persistensi Kelas Perancangan

III-20 Dari Gambar III-7 dapat dilihat bahwa basis data memiliki 5 tabel. Tabel category dan sub_category berasal dari persistensi kelas Category, tabel content berasal dari kelas Content, sedangkan tabel user dan user_detail berasal dari kelas User. Selain membutuhkan persistensi terhadap beberapa kelas yang diwujudkan dalam bentuk tabel basis data, aplikasi juga memerlukan beberapa data tambahan. Data tambahan tersebut terutama diperlukan oleh content sebagai data pendukung yang dapat berbentuk file gambar atau file lainnya. Dokumen pendukung content tersebut tidak disimpan dalam tabel, tetapi disimpan dalam bentuk flat file dan disimpan dalam folder tertentu dengan aturan tertentu. Aturan yang dimaksud yaitu: 1. File gambar disimpan dalam folder images, dan nama file gambar tersebut disimpan dalam tabel content pada kolom content_image dalam bentuk string/variable characters. 2. File pendukung lainnya disimpan dalam folder files, dan nama file pendukung tersebut disimpan dalam tabel content pada kolom content_file dalam bentuk string/variable characters. 3.3.5 Perancangan Antarmuka Pada subbab ini akan ditampilkan rancangan antarmuka aplikasi. Aplikasi yang dibangun pada dasarnya memiliki 2 jenis antarmuka, yaitu antarmuka halaman utama untuk pengunjung situs, dan antarmuka untuk administrasi situs. Antarmuka untuk administrasi situs hanya dapat diakses oleh pengguna yang memiliki hak akses, yaitu administrator dan webmaster. Antarmuka untuk pengunjung situs menampilkan content yang telah dibuat dan dipublikasikan oleh pengelola situs. Salah satu rancangan antarmuka dapat dilihat pada Gambar III-8. Gambar III-8 Rancangan Halaman Utama Pengunjung Situs

III-21 Gambar III-8 menunjukkan halaman utama untuk pengunjung situs. Bagian paling atas dari antarmuka tersebut berisi logo atau banner dari situs tersebut. Dibawahnya terdapat ruang untuk meletakkan judul atau keterangan dari halaman yang sedang diakses. Pada bagian kiri terdapat ruang untuk menampilkan menu utama dari situs tersebut, dan form untuk melakukan pencarian. Bagian tengah merupakan tempat utama, yaitu untuk menampilkan content dari situs tersebut. Sedangkan bagian paling bawah memuat footer atau keterangan singkat tentang situs tersebut. Halaman-halaman untuk administrasi web hanya dapat diakses oleh pengguna yang memiliki hak akses, yaitu pengguna dengan level administrator dan webmaster. Untuk mengakses halaman tersebut diperlukan proses otentikasi terlebih dahulu dengan melakukan login ke aplikasi. Setelah melalui proses otentikasi atau login, pengguna dapat melakukan pengelolaan terhadap situs, yaitu dengan mengelola kategori dan sub kategori content, mengelola content, mengelola user, dan menggunakan layanan dari web service XCMS lain. Rancangan tampilan halaman-halaman yang lain dapat dilihat pada Acuan Teknis subbab 4.4.