57
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
4.1Analisis 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.1Deskripsi 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.2Pemecahan 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).
58
4.1.1.3Sistem 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.2Perancangan 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. Sasaran pemodelan use case diantaranya adalah mendefinisikan kebutuhan fungsional dan operasional sistem 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:
59
Gambar 4.1 Use Case Diagram Website CV. Ascend Points System
Admin
User client
Guest Log In
Check web content
set permissions Testimonial Insert Testimonials Log Out data processing <<include>> <<extend>> <<extend>> <<include>>
60
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 masing-masing skenario tersebut :
1. Use Case Scenario Login
Tabel 4.1 Use Case Scenario Login Identifikasi
Nama Login
Tujuan Admin & client masuk ke website
Tipe
Aktor Admin, User Client
Use Case Yang Berkaitan *
Kondisi awal Tampilan Form Login
Aksi Aktor 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
61
2. Use Case Scenario Pengolahan data (Data Processing) Tabel 4.2 Use Case Scenario Pengolahan data
Identifikasi
Nama Pengolahan data
Tujuan Mengolah data yang masuk
Tipe
Aktor Admin
Use Case Yang Berkaitan *
Kondisi awal Tampilan Form Pengolahan Data
Aksi Aktor Reaksi Sistem
1. Menampilkan halaman pengolahan data
2. Melakukan pengolahan data (add, edit, save, delete)
3. Memproses pengolahan data 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
62
1. Menampilkan pesan bahwa data gagal diubah
2. Melakukan perubahan data kembali 3. Melakukan proses perubahan data 4. Menampilkan pesan kalau data
berhasil diubah
Kondisi akhir Data telah disimpan atau dirubah pada penyimpanan data
3. Use Case Scenario Isi Komentar (Insert Testimonial) Tabel 4.3 Use Case Scenario Isi komentar (Insert Testimonial) Identifikasi
Nama Isi Komentar
Tujuan Isi Komentar
Tipe
Aktor Admin
Use Case Yang Berkaitan *
Kondisi awal Tampilan awal pengisian komentar
Aksi Aktor Reaksi Sistem
1. Menampilkan halaman Isi komentar
2. Mengisi komentar 3. Memproses komentar
4. Menunggu persetujuan admin tentang komentar
5. Admin menyetujui komentar 6. Menyimpan data hasil proses persetujuan komentar
7. Admin menghapus komentar 8. Komentar terhapus
Kondisi Akhir Menampilkan Komentar pada testimonial dan komentar dihapus jika berisikalimat yang tidak baik
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
63
Gambar 4.2 Activity diagram
User Client Admin System
proses
permintaan masuk diterima
proses permintaan masuk
Melihat isi web
proses Log Out Log In
password benar
64
4.2.4 Class Diagram
Class Diagram menggambarkan struktur dan hubungan antar objek-objek 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
Gambar 4.5 Class Diagram Website CV. Ascend Points Client +address +Create_at +Descreption +email +Logo_content_type +Logo_file_name +Logo_file_size +Logo_updatde_at +name +phone +update_at +website Jobs +tittle +content +created_at +updated_at Product +created_at +description +photo_content_type +photo_file_name +photo_file_size +photo_update_at +price +product_type +tittle +updated_at portopolios +tittle +content +photo_file_name +photo_content_type +photo_file_size +photo_update_at +created_at +updated_at Service +created_at +description +name +photo_content_type +photo_file_name +photo_file_size +photo_update_at +updated_at Testimonial +approved +content +created_at +update_at +user_id User +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()
65
4.3Perancangan 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 masing-masing 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 type Id Name Desk irption Photo_content-_type Photo_file_name Photo_file_size 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
66 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 type Id Title content Int (11) String tek s
67 5. Tabel Testimonial
Menampilkan komentar-komentar terbaru dari client yang mengomentari proyeknya dengan perusahaan CV. Ascend Points. Berikut struktur tabel Testimonial, seperti terlihat pada tabel 4.5
Tabel 4.5 Testimonial Testimonial name type Id Content Approved User_id Id Tek s 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 type Id Name Email Username Password Image Client_id 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 type Id Name Email Integer(11) String String
68 Phone Address Desk ripstion 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 Name content Int (11) String 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 type Id Name Email Phone Address Desk ripstion Logo_file_name Logo_content_type Logo_file_size website Integer(11) String String String Text Text String String Int (11) string User name type Id Name Email Username Password Image Client_id Integer(11) String String String String String Integer(11)
69 b. Normal Kedua (2NF)
Sebuah model data dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut
Clients name type Id Name Email Phone Address Desk ripstion Logo_file_name Logo_content_type Logo_file_size website Integer(11) String String String Text Text String String Int (11) string User name type Id Name Email Username Password Image Client_id Integer(11) String String String String String Integer(11) Testimonial name type Id Content Approved User_id Id Tek s 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)
70
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