BAB 3.
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem Implementasi Sistem Teknik Web Scraping ini dibuat karena website seminar tidak menyediakan API untuk mengelola data atau content pada websitenya dan membutuhkan biaya personil data entry untuk membuat seminar, maka sistem ini dibuat untuk menampilkan data seminar, order seminar, cek history order dan cek sisa kuota seminar yang ada pada website seminar dengan cara teknik Web Scraping untuk mengolah data seminar.
Gambar 3-1 Alur Proses Scraping List Seminar
Pada gambar 3.1 dijelaskan tentang proses scraping data seminar untuk mengambil dan menampilkan data seminar. Data seminar yang ditampilkan digunakan untuk order seminar ke member yang mau ikut ke seminar tersebut.
24 http://digilib.mercubuana.ac.id/
3.2. Spesifikasi dan fungsi sistem Perancangan merupakan tahapan penting dalam pembuatan suatu sistem, sehingga dengan perancangan yang baik diharapkan akan dihasilkan suatu sistem yang sesuai dengan fungsi dan tujuan dari dibuatnya sistem tersebut. Pada perancangan ini umumnya terdiri dari beberapa tahapan seperti menentukan spesifikasi dan fungsi sistem, menentukan cara kerja sistem, mengidentifikasi hal-hal yang dibutuhkan sistem dan menentukan tools atau alat bantu yang digunakan untuk pembuatan sistem. Sistem yang dirancang merupakan sistem berbasis web yang berfungsi untuk menampilkan daftar seminar dan kuota seminar secara realtime. Sistem bekerja dengan teknik web scraping pada website seminar, kemudian sistem ini akan login di halaman login untuk mendapatkan data seminar, kemudian menyimpan data-data yang diperlukan ke database, lalu mengolah data seminar tersebut untuk mengetahui sisa kuota yang ada. Pada sistem ini bisa mendaftar seminar juga tanpa harus login tinggal menginput email.
3.3. Perancangan Pada tahap ini, dalam pembuatan sistem web scraping seminar dilakukan perancangan terhadap sistem yang terdiri dari perancangan use case diagram, perancangan activity diagram, perancangan sequence diagram, perancangan class diagram, dan perancangan antarmuka.
3.3.1
Perancangan Use Case Diagram Use case diagram adalah gambaran fungsionalitas dari suatu sistem, sehingga pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun. Pada sistem web scraping seminar, dapat diketahui bahwa aktornya adalah user (pengguna) dan waktu satu menit. Maka didapatkan satu use case diagram.
25 http://digilib.mercubuana.ac.id/
Gambar 3-2 Use Case Diagram
a.
Definisi Aktor
Tabel 3-1 Definisi Aktor
No
Aktor
Deskripsi
1.
User
Orang yang memiliki hak akses ke semua halaman seminar.
2.
Waktu
Satu Actor ini akan menjalankan function
Menit
scheduler-check-seminar setiap satu menit dari pertama kali sistem start.
26 http://digilib.mercubuana.ac.id/
b.
Definisi Use Case Tabel 3-2 Definisi Use Case
No.
Use Case
Deskripsi
1.
Register
Use
Member
mendaftarkan member baru di web
Case
ini
digunakan
untuk
seminar. 2.
List Member
Use Case ini digunakan untuk melihat semua member yang sudah terdaftar di web seminar.
3.
List & Order Use Case ini digunakan melihat semua Seminar
seminar dan order seminar di web seminar.
4.
History Order Use Case ini digunakan untuk melihat & Cetak ticket
history order dari salah satu member dan bisa untuk cetak ticket.
5.
Scheduler
Use
Case
ini
digunakan
untuk
Check Seminar mengecek perbedaan data seminar di website aslinya dan di database kalau berbeda maka mengirimkan email notifikasi dan menyimpan ke database.
27 http://digilib.mercubuana.ac.id/
3.3.2
Perancangan Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana suatu aktivitas berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Berikut gambar Activity Diagram :
Gambar 3-3 Activity Diagram Register Member
28 http://digilib.mercubuana.ac.id/
Gambar 3-4 Activity Diagram List Member
29 http://digilib.mercubuana.ac.id/
Gambar 3-5 Activity Diagram Order Seminar
30 http://digilib.mercubuana.ac.id/
Gambar 3-6 Activity Diagram History Order
31 http://digilib.mercubuana.ac.id/
Gambar 3-7 Activity Diagram Scheduler Check Seminar
32 http://digilib.mercubuana.ac.id/
3.3.3
Perancangan Sequence Diagram Sequence diagram menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram. Sequence diagram biasa digunakan untuk meggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan keluaran tertentu.
Gambar 3-8 Sequence Diagram Register Member
33 http://digilib.mercubuana.ac.id/
Gambar 3-9 Sequence Diagram List Member
34 http://digilib.mercubuana.ac.id/
Gambar 3-10 Sequence Diagram Order Seminar
35 http://digilib.mercubuana.ac.id/
Gambar 3-11 Sequence Diagram History Order
36 http://digilib.mercubuana.ac.id/
Gambar 3-12 Sequence Diagram Schedule Check Seminar
3.3.4
Perancangan Class Diagram
Gambar 3-13 Class Diagram
37 http://digilib.mercubuana.ac.id/
3.3.5
Perancangan Algoritma Pada sistem ini menggunakan algoritma sequential search. Algoritma sequential search adalah suatu teknik pencarian data dalam array (1 dimensi) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu. Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan. Algoritma pencarian berurutan dapat dituliskan sebagai berikut : 1. i ← 0 2.
ditemukan ← false
3. Selama (tidak ditemukan) dan (i <= N) kerjakan baris 4 4. Jika (Data[i] = x) maka ditemukan ← true, jika tidak i ← i + 1 5. Jika (ditemukan) maka i adalah indeks dari data yang dicari, jika tidak data tidak ditemukan Di bawah ini merupakan fungsi untuk mencari data menggunakan pencarian sekuensial. int SequentialSearch(int x) { int i = 0; bool ditemukan = false; while ((!ditemukan) && (i < Max)) { if(Data[i] == x) ditemukan = true; else i++; } if(ditemukan) return i; else return -1; } Algoritma sequential search digunakan pada sistem ini untuk mencari perbedaan sisa kuota seminar apabila berbeda dan ada seminar baru maka akan kirim email notifikasi. Dan untuk mencari member di elemen array member berdasarkan email yang dimasukan user , apabila sudah ketemu
38 http://digilib.mercubuana.ac.id/
maka hasilnya akan digunakan untuk keperluan pada Order Seminar dan History Order.
Contoh program mencari perbedaan sisa kuota seminar dan seminar baru :
Gambar 3-14 Program mencari perbedaan sisa kuota seminar
Contoh program mencari member :
Gambar 3-15 Program mencari member
39 http://digilib.mercubuana.ac.id/
3.3.6
Perancangan Basis Data Pada sistem ini database yang digunakan adalah MYSQL. Sistem ini menyimpan data seminar dan member yang ada pada Web Seminar dengan teknik web scraping. Table seminar_order diisi apabila ada user yang melakukan order seminar pada sistem ini. 1. Nama Table Media
: Member : Harddisk
Primary Key : member_id Tabel 3-3 Tabel Member
Nama Field
Jenis
Lebar
Keterangan
member_id
INT
11
-
email
VARCHAR
100
-
firstname
VARCHAR
50
-
lastname
VARCHAR
50
-
phone
VARCHAR
15
-
gender
VARCHAR
10
-
dob
DATE
-
-
status
TINYINT
1
-
created_date
DATETIME -
-
modified_date
DATETIME -
-
2. Nama Table Media
: Seminar : Harddisk
Primary Key : seminar_id Tabel 3-4 Tabel Seminar
Nama Field
Jenis
Lebar
Keterangan
seminar_id
INT
11
-
tema
VARCHAR
100
-
jadwal
DATETIME -
-
tempat
VARCHAR
100
-
pembicara
VARCHAR
100
-
40 http://digilib.mercubuana.ac.id/
Nama Field
Jenis
Lebar
Keterangan
kuota
INT
11
-
sisa_kuota
INT
11
-
status
TINYINT
1
-
created_date
DATETIME -
-
modified_date
DATETIME -
-
3. Nama Table
: seminar_order
Media
: Harddisk
Primary key
: order_id
Tabel 3-5 Tabel seminar_order
Nama Field
Jenis
Lebar
Keterangan
order_id
INT
11
-
seminar_id
INT
11
-
member_id
INT
11
-
serial
VARCHAR
150
-
created_date
DATETIME -
41 http://digilib.mercubuana.ac.id/
-
3.3.7
Perancangan Antarmuka Pada tahap perancangan antarmuka ini, penulis mendesain rancangan antarmuka untuk sistem yang akan dibuat dan menunjukan letak menu yang satu dengan yang lainnya, serta menjelaskan menu-menu yang ada pada sistem ini. Berikut menu-menu antarmuka yang pada sistem ini :
1. Menu Register
Gambar 3-16 Perancangan Antamuka Menu Register
42 http://digilib.mercubuana.ac.id/
2. Menu List Member
Gambar 3-17 Perancangan Antamuka Menu List Member
3. Menu Oder Seminar
Gambar 3-18 Perancangan Antamuka Menu Order Seminar
4. Menu History Order
Gambar 3-19 Perancangan Antamuka Menu Order Seminar
43 http://digilib.mercubuana.ac.id/