BAB IV ANALISIS DAN PERANCANGAN SISTEM
4.1 Analisis Sistem Analisis sistem yaitu suatu proses penguraian dari suatu sistem yang utuh kedalam bagian-bagian kompenen dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi pada kebutuhan-kebutuhan yang diharapkan dapat diusulkan perbaikannya. 4.1.1
Analisis Sistem Yang Sedang Berjalan 4.1.1.1 Deskripsi Masalah Menurut pembimbing kerja praktik, masalah yang ada di sini yaitu pengolahan data isi website yang berjalan di CV. Ascend Points masih secara manual, yaitu dengan cara mengganti source code yang ada, sehingga admin yang bertugas mengurusi website ini merasa sangat kesulitan dalam perubahan isi website. 4.1.1.2 Pemecahan Masalah Sebagaimana
pendeskripsian
masalah-masalah
di
atas,
maka
pemecahan masalah yang akan dilakukan adalah sebagai berikut: a. Untuk memudahkan dalam pengolahan data isi website, maka dibuatkan sebuah halaman administrator menggunakan plugin Rails Admin dan database-nya menggunakan MySQL. b. Admin dapat melakukan add, edit, view, destroy dengan hak akses pribadi (email dan password). c. Admin mempunyai hak akses penuh terhadap sistem.
57
4.1.1.3 Sistem yang Diharapkan Sistem
yang
akan
dikembangkan
haruslah
dapat
memenuhi
keinginan user diantaranya adalah: a. Sistem yang baru dapat menggantikan sistem yang lama, yaitu berbasis web. b. Sistem yang baru harus mampu berinteraksi dengan admin. c. Sistem yang baru harus mempunyai tampilan yang menarik, agar admin tidak merasa bosan.
4.2 Perancangan Sistem 4.2.1
Use Case Diagram Use case diagram
merupakan konstruksi untuk
mendeskripsikan
hubungan-hubungan yang terjadi antar aktor dengan aktivitas yang terdapat pada
sistem.
mendefinisikan
Sasaran
pemodelan
use
kebutuhan
fungsional
dan
case
diantaranya
operasional
sistem
adalah dengan
mendefinisikan skenario penggunaan yang disepakati antara pemakai dan pengembang. Berikut adalah gambar use case diagram yang disajikan untuk Website CV. Ascend Points. Lihat gambar4.1 sebagai berikut:
58
System
Log Out
<>
Log In
<<extend>>
<<extend>> data processing User client
Check web content
Admin
Insert Testimonials
Guest
<>
set permissions Testimonial
Gambar 4.1 Use Case Diagram Website CV. Ascend Points
59
4.2.2
Skenario use case Use Case Scenario mendeskripsikan urutan langkah-langkah dalam proses bisnis baik yang dilakukan aktor terhadap sistem maupun yang dilakakukan oleh sistem terhadap aktor. Berikut ini penjelasan dari masingmasing skenario tersebut : 1. Use Case Scenario Login Tabel 4.1 Use Case Scenario Login
Identifikasi Nama Tujuan Tipe Aktor Use Case Yang Berkaitan Kondisi awal Aksi Aktor
Login Admin & client masuk ke website
Admin, User Client * Tampilan Form Login Reaksi Sistem 1. Menampilkan form login 2. Mengisi email & password 3. Verifikasi email & password 4. Menampilkan halaman website Skenario Alternatif jika password & email salah Aksi Aktor Reaksi Sistem 1. Menampilkan pesan bahwa password & email salah 2. Melakukan pengisian kembali 3. Verifikasi email & password 4. Menampilkan halaman website Skenario Alternatif jika tidak terdaftar Aksi Aktor Reaksi Sistem 1. Menampilkan pesan bahwa belum terdaftar 2. Melakukan pendaftaran dahulu 3. Memproses data pendaftaran 4. Menyimpan data yang sudah terdaftar 5. Menampilkan pesan bahwa data berhasil terdaftar Kondisi akhir User client & admin dapat memasuki website
60
2. Use Case Scenario Pengolahan data (Data Processing) Tabel 4.2 Use Case Scenario Pengolahan data
Nama Tujuan Tipe Aktor Use Case Yang Berkaitan Kondisi awal Aksi Aktor
Identifikasi Pengolahan data Mengolah data yang masuk Admin * Tampilan Form Pengolahan Data Reaksi Sistem 1. Menampilkan halaman pengolahan data 3. Memproses pengolahan data
2. Melakukan pengolahan data (add, edit, save, delete)
4. Menyimpan hasil pengolahan data pada database 5. Menampilkan pesan kalau data berhasil disimpan Skenario Alternatif jika field masih kosong Aksi Aktor Reaksi Sistem 1. Menampilkan pesan bahwa field tidak boleh ada yang kosong 5. Melakukan perubahan data kembali 6. Memproses perubahan data 7. Menyimpan data baru kedalam database Skenario Alternatif jika tidak sesuai dengan tipe data Aksi Aktor Reaksi Sistem 1. Menampilkan pesan bahwa tipe data tidak sesuai 2. Melakukan perubahan data kembali 3. Memproses perubahan data 4. Menyimpan data baru kedalam database 5. Menampilkan pesan kalau data berhasil dirubah Skenario Alternatif jika data telah terdaftar Aksi Aktor Reaksi Sistem 1. Menampilkan pesan bahwa tipe data tidak sesuai 2. Melakukan perubahan data kembali 3. Memproses perubahan data 4. Menyimpan data baru kedalam database 5. Menampilkan pesan kalau data berhasil dirubah Skenario alternative jika data gagal diubah Aksi Aktor Reaksi Sistem
61
1. Menampilkan pesan bahwa data gagal diubah 3. Melakukan proses perubahan data 4. Menampilkan pesan kalau data berhasil diubah Data telah disimpan atau dirubah pada penyimpanan data
2. Melakukan perubahan data kembali
Kondisi akhir
3. Use Case Scenario Isi Komentar (Insert Testimonial) Tabel 4.3 Use Case Scenario Isi komentar (Insert Testimonial) Identifikasi Nama Tujuan Tipe Aktor Use Case Yang Berkaitan Kondisi awal Aksi Aktor
Isi Komentar Isi Komentar Admin * Tampilan awal pengisian komentar Reaksi Sistem 1. Menampilkan halaman Isi komentar 3. Memproses komentar 4. Menunggu persetujuan admin tentang komentar 6. Menyimpan data hasil proses persetujuan komentar 8. Komentar terhapus Menampilkan Komentar pada testimonial dan komentar dihapus jika berisikalimat yang tidak baik
2. Mengisi komentar
5. Admin menyetujui komentar 7. Admin menghapus komentar Kondisi Akhir
4.2.3
Activity Diagram Activity diagram memodelkan aliran kerja atau workflow dari urutan aktifitas dalam suatu proses yang mengacu pada use case diagram yang ada. Berikut ini penjelasan dari masing-masing activity diagram, gambar activity diagram dapat dilihat pada gambar 4.2
62
User Client
Admin
System
Log In
proses permintaan masuk
proses
password benar Melihat isi web
permintaan masuk diterima
proses Log Out
Log Out
Gambar 4.2 Activity diagram
63
4.2.4
Class Diagram Class Diagram menggambarkan struktur dan hubungan antar objekobjek yang ada pada sistem. Struktur itu meliputi atribut-atribut dan method-method yang ada pada masing-masing class. Hubungannya dari masing-masing class yang ada tersebut digambarkan dengan menggunakan pewarisan dan generalilasi seperti terlihat pada gambar 4.5
User Client +address +Create_at +Descreption +email +Logo_content_type +Logo_file_name +Logo_file_size +Logo_updatde_at +name +phone +update_at +website
+client_id +created_at +current_sign +current_sign_in_ip +email +encrypted_password +last_sign_at +last_sign_ip +remember_created_at +set_password_sent_at +set_password_token +roles_mask +sign_in_count +update_at
ActiveRecodrBase +save() +update_attribute() +destroy()
Testimonial
Jobs +tittle +content +created_at +updated_at
portopolios
Product
Service
+tittle +content +photo_file_name +photo_content_type +photo_file_size +photo_update_at +created_at +updated_at
+created_at +description +photo_content_type +photo_file_name +photo_file_size +photo_update_at +price +product_type +tittle +updated_at
+created_at +description +name +photo_content_type +photo_file_name +photo_file_size +photo_update_at +updated_at
+approved +content +created_at +update_at +user_id
Gambar 4.5 Class Diagram Website CV. Ascend Points
64
4.3 Perancangan Database Perancangan database
adalah teknik penyususunan suatu penyimpanan data
(Database), dengan menjelaskan deskripsi isi tabel dan menggambarkan atribut-atribut yang ada dalam tabel, beserta jenis-jenis tipe data yang dipakai. Teknik ini juga menjelaskan setiap relasi-relasi yang akan terjadi antara masingmasing tabel yang terdapat dalam database. 1. Tabel Services Mendeskripsikan informasi layanan yang dimiliki oleh perusaan CV. Ascend Points yang
bergerak pada bidang pembuatan dan perawatan perangkat
lunak. Berikut struktur tabel services seperti terlihat pada tabel 4.1 Tabel 4.1 services Services name Id Name Deskirption Photo_content_type Photo_file_name Photo_file_size
type Int (11) String Text String String Int(11)
2. Tabel Portofolios Mendeskripsikan informasi proyek-proyek antara perusahaan CV. Ascend Points dengan pelanggan (clients) Berikut struktur tabel portofolios, seperti terlihat pada tabel 4.2 Tabel 4.2 portofolios Portofolios name
type
65
Id Title Content Photo_content_type Photo_file_name Photo_file_size
Int (11) String Text String String Int (11)
3. Tabel Products Mendeskripsikan informasi produk-produk yang telah dibuat oleh perusaan CV. Ascend Points berupa perangkat lunak, mikro controller, GPS, dan produk lainnya yang bersifat teknologi informasi. Berikut struktur tabel portofolios, seperti terlihat pada tabel 4.3 Tabel 4.3 products Products name
type
Id Title Product_type Description Price Photo_content_type Photo_file_name Photo_file_size
Int (11) String Text String Double (11) String String Int (11)
4. Tabel Jobs Mendeskripsikan informasi lowongan kerja yang tersedia dalam perusahaan CV. Ascend Points beserta syarat dan ketentuannya. Berikut struktur tabel Jobs, seperti terlihat pada tabel 4.4 Tabel 4.4 Jobs Jobs name Id Title content
type Int (11) String teks
66
5. Tabel Testimonial Menampilkan komentar-komentar terbaru dari client proyeknya
dengan
perusahaan
CV.
Ascend
Points.
yang mengomentari
Berikut struktur tabel
Testimonial, seperti terlihat pada tabel 4.5 Tabel 4.5 Testimonial Testimonial name Id Content Approved User_id
type Id Teks Int (11) Int (11)
6. Tabel User Berisi data-data dari user yang bias melakukan login pada website. Berikut struktur tabel User: seperti terlihat pada tabel 4.6 Tabel 4.6 User User name Id Name Email Username Password Image Client_id
type Integer(11) String String String String String Integer(11)
7. Tabel Cients Berisi data-data dari setiap client yang memiliki kontrak kerja dengan CV. Ascend Points. Berikut struktur tabel Client, seperti terlihat pada tabel 4.7 Tabel 4.7 Clients Clients name Id Name Email
type Integer(11) String String
67
Phone Address Deskripstion Logo_file_name Logo_content_type Logo_file_size website
String Text Text String String Int (11) string
8. Tabel App_Setting Berikut struktur tabel app_setting, seperti terlihat pada tabel 4.8 Tabel 4.8 App_setting App_Setting name type Id Int (11) Name String content text
9. Normalisasi a. Normal Pertama (1NF) Sebuah model data dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.
Clients name Id Name Email Phone Address Deskripstion Logo_file_name Logo_content_type Logo_file_size website
User type Integer(11) String String String Text Text String String Int (11) string
name Id Name Email Username Password Image Client_id
68
type Integer(11) String String String String String Integer(11)
b. Normal Kedua (2NF) Sebuah model data dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut nonidentifier
sebuah entitas
bergantung sepenuhnya hanya pada semua
identifier entitas tersebut Clients name type Id Integer(11) Name String Email String Phone String Address Text Deskripstion Text Logo_file_name String Logo_content_type String Logo_file_size Int (11) website string
User name Id Name Email Username Password Image Client_id
type Integer(11) String String String String String Integer(11)
Testimonial name Id Content Approved User_id
type Id Teks Int (11) Int (11)
10. Tabel relasi keseluruhan Database Berdasarkan data tabel yang telah dijelaskan sebelumnya, untuk menghubungkan antar tabel agar bisa saling berinteraksi dengan tabel lain, maka dibutuhkan relasi yang akan menggambarkan hubungan antara tabel. Berikut beberapa relasi yang terjadi dalam database: 1. Relasi antar tabel User dengan tabel Clients yang memiliki relasi banyak ke satu(many to one)
69
Setiap data dalam tabel user dapat berisi banyak data client yang berlainan, sedangkan tiap client hanya memiliki satu data user yang bisa dipakai untuk proses login. 2. Relasi antar tabel Testimonials dengan tabel User yang memiliki relasi banyak ke satu(many to one) Setiap
client dapat mengisi satu komentar pada testimonial, sedangkan
testimonial hanya berisi satu komentar dari tiap client, jadi client hanya bisa member satu komentar. Sebagaimana pada tabel 9.1 berikut: Tabel 9.1 Relasi Database
70