-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path01-chapter-1.tex
133 lines (100 loc) · 14 KB
/
01-chapter-1.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
\chapter{Pendahuluan}
Pada bab ini akan dibahas mengenai gambaran dasar dari pelaksanaan Tugas Akhir dalam bentuk penjelasan latar belakang yang mendasari pemilihan topik. Dari latar belakang tersebut, akan diurai kembali menjadi rumusan masalah, tujuan, batasan masalah, serta metodologi yang digunakan untuk keperluan Tugas Akhir ini.
\section{Latar Belakang}
Aplikasi \textit{spreadsheet} merupakan aplikasi yang mudah ditemui dan wajar digunakan oleh banyak orang, baik secara personal maupun dalam sebuah organisasi komersial \citep{Chan1996}. Pada tahun 1979, aplikasi \textit{spreadsheet} pertama dibuat dengan nama VisiCalc. Pengguna komputer pada saat itu dimanjakan dengan kapabilitas dan fleksibilitas aplikasi yang dapat melakukan operasi sederhana tanpa harus menggunakan komputer \textit{mainframe}. Dengan semakin berkembangnya daya komputasi, saat ini telah banyak sekali muncul aplikasi \textit{spreadsheet} baru dan penggunaannya juga semakin beragam.
\textit{Spreadsheet} memiliki beberapa keunggulan dibandingkan dengan aplikasi pengolahan data jenis lain. Keunggulan yang paling terlihat adalah banyak orang yang mengetahui cara penggunaan aplikasi jenis \textit{spreadsheet} dan terbiasa dalam menggunakannya. Di samping itu, \textit{spreadsheet} memiliki banyak fitur dan kemampuan yang jarang diketahui orang awam jika digunakan dengan benar. Dengan keunggulan ini, \textit{spreadsheet} sering kali dijadikan pilihan utama dalam pengolahan dan pengumpulan data. Beberapa orang mungkin menganggap, penggunaan \textit{spreadsheet} adalah personal sehingga tidak membutuhkan tim atau bantuan orang lain dalam pembuatan suatu \textit{spreadsheet}. Hal ini tidak dapat dibenarkan, karena jika melihat kasus penggunaannya pada organisasi bisnis yang besar, \textit{spreadsheet} yang dihasilkan sangatlah kompleks dan besar dengan pengembangan yang membutuhkan banyak orang \citep{Panko1998}.
Penggunaan \textit{spreadsheet} yang dapat ditemui pada perusahaan atau instansi adalah sebagai media pengumpulan data. Data yang dikumpulkan biasanya dalam bentuk \textit{data frame} yakni \textit{spreadsheet} yang mempunyai dua struktur utama yaitu bagian \textit{value} atau data dan bagian \textit{atribute} atau label \citep{Chen2013}. Data yang telah dikumpulkan biasanya akan disebarkan kepada pihak-pihak yang membutuhkan atau disimpan sebagai arsip data yang akan digunakan kembali pada saat dibutuhkan.
Sebagai media pengumpulan data, \textit{spreadsheet} memiliki permasalahan penyimpanan data. Hal tersebut penting untuk diperhatikan jika data yang dikumpulkan mungkin tidak hanya akan ditampilkan dalam bentuk \textit{spreadsheet} namun juga dapat digunakan oleh aplikasi lain. Permasalahan lain yang mungkin muncul adalah kompleksitas dan besarnya ukuran data pada \textit{spreadsheet} yang membuat penggunaan \textit{spreadsheet} pada sebuah bisnis sangatlah rentan akan kesalahan. Sebuah kesalahan kecil dapat berakibat fatal dan memberikan kerugian seperti kehilangan pendapatan, kesalahan pemberian harga, penipuan, dan kegagalan sistem akibat ketergantungan berlebih antar \textit{spreadsheet} \citep{EUSPRIGAbout}. Telah banyak bukti dan penelitian yang menunjukan bahwa kesalahan pada \textit{spreadsheet} sangat mudah ditemui. %Bahkan pada \textit{spreadsheet} yang dibuat dengan sangat hati-hati, masih dapat ditemui sekitar 1 persen atau lebih kesalahan pada formula yang dibuat \citep{Panko1998}.
Contoh kesalahan yang dapat terjadi adalah kesalahan tipe data, kesalahan masukan, tidak divalidasinya data masukan, serta permasalahan \textit{single version of truth} dimana bisa terdapat dua atau lebih versi dari data yang sama.
% Tingginya angka kesalahan yang dapat terjadi pada suatu \textit{spreadsheet} merupakan hal yang sangat krusial terutama di dalam bisnis. Metode pencegahan harus dapat dilakukan untuk dapat mengurangi angka kesalahan ini. Beberapa organisasi dapat menerapkan pencegahan dengan cara melakukan tahap-tahap metodologi yakni dengan pembuatan desain awal, melakukan metode \textit{best practice} yang tersedia dan sesuai dengan situasi yang dihadapi, menerapkan \textit{policy} khusus pada saat pembuatan \textit{spreadsheet}, melakukan \textit{testing}, serta pembuatan dokumentasi \citep{EUSPRIGBestPractice}. Namun, metodologi tersebut masih sangat rentan oleh kesalahan manusia karena perangkat lunak yang digunakan tetap tidak diubah didalam menjalankan metodologi tersebut.
Untuk dapat mengurangi kesalahan-kesalahan yang sering terjadi pada \textit{spreadsheet} secara lebih mendasar, dibutuhkan bantuan perangkat lunak untuk dapat melakukan kontrol terhadap masukan pengguna, melakukan validasi, serta dapat melakukan penyimpanan data yang telah dikumpulkan. Pada tugas akhir ini akan difokuskan pada pengembangan sebuah aplikasi pengumpulan data berbentuk \textit{spreadsheet} yang dapat membantu pengguna mengurangi terjadinya masalah-masalah yang telah disebutkan sebelumnya.
\section{Rumusan Masalah}\label{RumusanMasalah}
Seperti yang telah dijelaskan pada latar belakang, salah satu penggunaan aplikasi \textit{spreadsheet} adalah sebagai media pengumpulan data. Beberapa permasalahan yang muncul dalam pengumpulan data adalah kolaborasi, validasi, dan penyimpanan data. Pengumpulan data dapat dilakukan oleh banyak orang secara bersama-sama sehingga dapat menyebabkan konflik pada data masukan. Konflik ini bisa terjadi karena terdapat lebih dari satu versi file yang diubah secara bersama-sama. Di samping itu, data yang dimasukkan biasanya tidak melalui proses validasi sehingga dapat menyalahi domain data yang seharusnya. Setelah data dikumpulkan ke dalam bentuk \textit{spreadsheet}, diperlukan media penyimpanan data sehingga data tidak terisolasi. Contoh dari media penyimpanan tersebut adalah menggunakan basis data.
Hal-hal tersebut merupakan beberapa masalah utama yang cukup penting untuk diselesaikan terutama dalam penggunaannya pada bisnis dan komersial sehingga akan dibentuk sebuah kakas yang membantu pengumpulan data pada format \textit{spreadsheet}. Dalam rangka pembangunan kakas, terdapat beberapa permasalahan yang menjadi perhatian pada tugas akhir ini, yaitu:
\begin{enumerate}
%\item Bagaimana cara menangani konflik yang terjadi pada saat kolaborasi?
\item Bagaimana cara melakukan validasi terhadap data masukan?
\item Bagaimana cara data pada \textit{spreadsheet} dapat disimpan pada basis data?
\item Bagaimana cara melakukan penyimpanan data yang telah dibuat?
\item Bagaimana proposal perubahan alur kerja yang terjadi akibat penggunaan kakas yang dibuat?
\end{enumerate}
\section{Tujuan}
Tujuan yang ingin dicapai dalam Tugas Akhir ini adalah mengembangkan perangkat lunak pengumpulan data berbentuk \textit{spreadsheet} yang dapat mengubah data dalam format \textit{spreadsheet} menjadi data relasional serta melakukan validasi pada data masukan. Dengan adanya perangkat lunak ini diharapkan dapat dilakukan pengumpulan data yang disertai validasi data masukan.
\section{Batasan Masalah}
Dalam pengerjaan Tugas Akhir ini, terdapat beberapa batasan-batasan yang perlu diperhatikan. Batasan tersebut ditujukan untuk memperjelas dan memfokuskan objek penelitian dan pengembangan tugas akhir. Batasan-batasan masalah pengerjaan tugas akhir adalah sebagai berikut,
\begin{enumerate}
%\item Fitur kolaborasi pada \textit{spreadsheet} bukan fokus utama, fitur akan diambil dari aplikasi \textit{spreadsheet} yang telah ada.
%\item Fokus data masukan pada Tugas Akhir ini berupa data mentah yang belum direkapitulasi.
\item Kakas hanya dapat berjalan pada aplikasi EtherCalc.
\item Jenis \textit{spreadsheet} yang ditangani adalah \textit{data frame} dan relasi.
\item Data disimpan dalam bentuk basis data relasional.
\item Basis data yang didukung untuk digunakan dalam penyimpanan data hanya MySQL.
\item Struktur basis data dan tingkat normalisasi yang terbentuk merupakan tanggung jawab pengguna dan tidak ditangani oleh kakas.
\item Kakas hanya mendukung penggunaan satu \textit{sheet} dalam satu \textit{spreadsheet}.
\item Validasi yang dilakukan hanya validasi tipe, domain, dan relasi data.
\item Validasi tipe hanya mencakup tipe \textit{integer}, \textit{double}, \textit{string}, dan \textit{boolean}.
\item Validasi domain hanya mencakup aturan \textit{range}, lebih besar, lebih kecil, sama dengan, dan nilai diskrit. Atribut hanya dapat menerima satu aturan validasi domain.
\end{enumerate}
\section{Metodologi}
Metodologi yang digunakan dalam pengerjaan Tugas Akhir ini yakni:
\begin{enumerate}
\item Studi Literatur \\
Pengerjaan tugas akhir diawali dengan mencari dan mempelajari referensi berupa jurnal ilmiah dan aplikasi-aplikasi yang telah ada sebelumnya yang dapat membantu pengembangan kakas yang dibuat pada tugas akhir ini. Literatur yang dicari dan dipelajari berkaitan dengan topik tugas akhir yaitu mengenai \textit{spreadsheet}, penggunaannya pada bisnis, kesalahan yang sering dilakukan dalam pembuatan, teknik pendeteksian data yang ada pada \textit{spreadsheet}, serta hal-hal lain yang masih berkaitan dengan topik tugas akhir ini.
\item Analisis Masalah \\
Pada tahap ini dilakukan analisis permasalahan yang berkaitan dengan topik yang diangkat pada tugas akhir ini. Diantaranya adalah memecah permasalahan menjadi aplikasi \textit{spreadsheet} yang dikembangkan, penanganan konflik saat berkolaborasi, jenis \textit{spreadsheet} yang ditangani, metode interaksi pengguna, penentuan bagian data dan label, representasi tabel, validasi data, penyimpanan data, interaksi antar \textit{spreadsheet}, dan proposal perubahan alur kerja.
\item Perancangan Solusi \\
Pada tahap ini dilakukan perancangan solusi yang dapat menyelesaikan masalah-masalah yang telah dijelaskan pada bagian analisis masalah. Bagian perancangan ini juga menjelaskan arsitektur yang digunakan untuk membangun perangkat lunak berdasarkan spesifikasi dan metode yang digunakan.
\item Implementasi \\
Pada tahap ini dilakukan pembangunan kakas sesuai dengan kebutuhan dan spesifikasi dari hasil analisis masalah serta rancangan solusi yang diajukan.
\item Pengujian dan Analisis Hasil \\
Pada tahap ini dilakukan pengujian dengan menggunakan data set uji yang sesuai dengan batasan masalah ke dalam kakas yang diimplementasikan. Selanjutnya dilakukan analisis hasil pengujian dan penarikan kesimpulan.
\end{enumerate}
\section{Sistematika Pembahasan}
Penulisan tugas akhir ini terdiri dari 5 bab, yaitu: BAB I Pendahuluan, BAB II Tinjauan Pustaka, BAB III Analisis dan Perancangan, BAB IV Rancangan, Implementasi, dan Pengujian, dan BAB V Penutup.
Bab satu membahas mengenai latar belakang permasalahan, rumusan masalah, tujuan, batasan masalah, metodologi serta sistematika pembahasan yang digunakan. Bab ini juga menjelaskan secara umum isi dari tugas besar serta gambaran dasar dari pelaksanaan tugas akhir.
Bab dua menjelaskan mengenai dasar teori yang digunakan di dalam menyelesaikan permasalahan yang diangkat. Teori yang digunakan berasal dari literatur dan referensi yang berhubungan dengan permasalahan yang diangkat seperti hal-hal yang berkaitan dengan \textit{spreadsheet}, penggunaannya pada bisnis, masalah yang sering terjadi dalam pembuatan, metode \textit{quality control} yang dapat dilakukan untuk mencegah kesalahan, serta metode pendeteksian bagian label dan data yang pernah dibuat pada penelitian lain. Dasar teori ini menjadi dasar analisis dan rancangan solusi pada bab selanjutnya.
Bab tiga memaparkan analisa kebutuhan dan permasalahan yang dipilih yakni tingginya tingkat kesalahan yang terjadi pada \textit{spreadsheet}. Dari hasil analisa yang dilakukan, di dapatkan bentuk solusi umum yang dapat digunakan untuk mengatasi permasalahan tersebut. Selanjutnya solusi umum tersebut dibuat rancangan dan arsitekturnya agar dapat diimplementasikan.
Bab empat memperlihatkan rancangan perangkat lunak yang dibuat serta hasil implementasinya. Pada akhir bab akan ditunjukkan hasil pengujian yang dilakukan kepada kakas yang dibuat dan pembahasan dari pengujian tersebut. Pengujian dilakukan untuk mengetahui keberhasilan kakas yang dibuat untuk menyelesaikan permasalahan yang di definisikan pada rumusan masalah.
Bab lima berisikan kesimpulan terhadap hasil implementasi dan solusi yang dipaparkan untuk menyelesaikan permasalahan. Di samping itu, terdapat bagian saran yang memaparkan saran pengembangan dan perbaikan yang dapat dilakukan untuk memperkaya fitur dan menyelesaikan permasalahan yang lebih luas.
% \section{Jadwal Pelaksanaan}
% \newsavebox\mybox
% \begin{lrbox}{\mybox}
% \begin{ganttchart}[
% vgrid={*{6}{draw=none}, dotted},
% x unit=.05cm,
% y unit title=.6cm,
% y unit chart=.6cm,
% time slot format=isodate,
% time slot format/start date=2016-09-01]{2016-09-01}{2017-04-30}
% \ganttset{bar height=.6}
% \gantttitlecalendar{year, month} \\
% \ganttbar[bar/.append style={fill=blue}]{Tahap 1}{2016-09-01}{2016-11-30}\\
% \ganttbar[bar/.append style={fill=blue}]{Tahap 2}{2016-10-01}{2016-11-15}\\
% \ganttbar[bar/.append style={fill=blue}]{Tahap 3}{2016-11-01}{2016-12-15}\\
% \ganttbar[bar/.append style={fill=blue}]{Tahap 4}{2016-12-15}{2017-03-01}\\
% \ganttbar[bar/.append style={fill=blue}]{Tahap 5}{2017-02-01}{2017-04-30}
% \end{ganttchart}
% \end{lrbox}
% Pengerjaan tugas akhir ini direncanakan mulai pada September 2016 sampai April 2016. Pelaksanaan tugas akhir ini dibagi menjadi 5 tahap yang dapat dipetakan kepada metodologi pengerjaan sebagai berikut,
% \begin{enumerate}
% \item Tahap 1: Studi Literatur
% \item Tahap 2: Analisis Masalah
% \item Tahap 3: Perancangan Solusi
% \item Tahap 4: Implementasi
% \item Tahap 5: Pengujian dan Analisis Hasil
% \end{enumerate}
% Jadwal pelaksanaan tugas akhir berdasarkan metodologi pengerjaan tugas akhir dapat dilihat pada Tabel \ref{Gantt-Chart} dibawah ini.
% \begin{table}[htb]
% \centering
% \caption{Gantt Chart jadwal pelaksanaan tugas akhir}
% \label{Gantt-Chart}
% \tikz{
% \node[inner sep=0pt,outer sep=0pt] (gantt)
% {\begin{tabular}{c}
% \toprule
% \resizebox{\textwidth}{!}{\usebox\mybox} \\
% \bottomrule
% \end{tabular}%
% };
% }
% \end{table}