Anda di halaman 1dari 15

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Kebutuhan Sistem

Analisis kebutuhan system berfungsi untuk menentukan analisis

kebutuhan non fungsional dan analisis kebutuhan fungsional. Analisis

kebutuhan non fungsional terdiri dari analisis perangkat keras, analisis

perangkat lunak, analisis kebutuhan antar muka dan analisis pengguna.

Sedangkatn analisis kebutuhan fungsional terdiri dari analisis masalah,

analisis kebutuhan masukan, kebutuhan proses, analisis kebutuhan keluaran,

analisis metode. Dengan menggunakan analisis kebutuhan system maka

dapat diketahui kebutuhan minimum yang diperlukan untuk membuat

system E-Learning Berikut ini adalah penjabaran tentang analisis kebutuhan

non fungsional dan analisis kebutuhan fungsional.

3.1.1. Analisis Kebutuhan Non Fungsional

Bertujuan untuk mengetahui beberapa elemen yang dibutuhkan oleh

sebuah system pakar yang dikembangkan, spesifikasi input yang diperlukan

oleh aplikasi, output yang dihasilkan oleh aplikasi dan proses yang

dibutuhkan sampai melakukan implementasi terhadap aplikasi tersebut.

3.1.1.1. Analisis Perangkat Keras

Perangkat keras sangat dibuthkan dalam pengembangan dan

pengoperasian aplikasi ini, adapun spesifikasi minimum perangkat keras

yang dibutuhkan yaitu sebagai berikut :

1. Processor Dual Core


2. RAM 512MB

3. Hardisk 60GB

3.1.1.2. Analisis Perangkat Lunak

Perangkat lunak ataus software minimum yang diperlukan dalam

pembuatan system E-Learning adalah sebagai berikut:

1. Sistem Operasi Windows 7

2. MySQL 5.0.27

3. Apache 2.2.4

4. PHP 5.2.1

5. PhpMyAdmin 2.9.2

6. Notepad ++

3.1.1.3. Analisis Kebutuhan Antarmuka

Fasilitas atau sarana yang digunakan untuk berinteraksi antara system

dengan user atau penggunna. Kebutuhan antarmuka dalam pengoperasian

aplikasi ini yaitu diantaranya:

1. Mouse

2. Keyboard

3. Monitor

3.1.1.4. Analisis Pengguna

Pengguna yang akan mengoperasikan aplikasi E-Learning yang akan

dikembangkan ini yaitu diantaranya:

1. Admin

2. User
3.1.2. Analisis Kebutuhan Fungsional

3.1.2.1. Analisis Masalah

Langkah pertama dalam analisis system yaitu analis masalah yang

perupakan proses identifikasi masalah untuk mengetahui berbagai macam

permasalahan yang ada di lokasi penelitian. Masalah tersebut merupakan

sesuatu yang menyebabkan sasaran dari system tidak dapat tercapai.

Berdasarkan penelitian dan observasi, peneliti menemukan beberapa

permasalahan yang dihadapi terutama pada pembelajaran online yang

dimana ini dilakukan untuk memudahkan peserta didik untuk belajar dan

melakukan ujian yang dapat diakses dimana saja.

Berdasarkan masalah tersebut, diperlukan suatu sistem E-Learning

atau pembelajaran online menggunakan PHP. Dan salah satu konten dalam

E-Learnning itu adalah ujian online pilihan ganda dengan soal secara acak

dikembangkan dengan metode Multiplicative CRNG (Congruential Random

Number Generator).

3.1.2.2. Analisis Kebutuhan Masukan

Analisis kebutuhan masukan yang dimaksud adalah data yang

dibutuhkan untuk aplikasi E-Leraning dengan metode multiplicative

CRNG. Soal yang akan diujiankan, jawaban dari soal yang diujiankan,

serta metode multiplicative CRNG, untuk melakukan random soal yang

akan ditampilkan.

3.1.2.3. Kebutuhan Proses


Kebutuhan proses merupakan kebutuhan pengolahan data dari

input data yang dikirim kepada program sehingga menghasilkan output.

Kebutuhan proses tersebut diantaranya:

1. Proses menentukan jenis soal yang akan digunakan

2. Proses menentukan jawaban dari soal yang akan diberikan

3. Proses menentukan penilaian hasil jawaban.

4. Proses menentukan metode multiplicative CRNG untuk

pengacakan nomor soal yang akan diberikan.

3.1.2.4. Analisis Kebutuhan Keluaran

Keluaran yang dibutuhkan dalam pengembangan system aplikasi e-

learning ini antara lain:

1. Jenis materi pelajaran yang akan diujiankan.

2. Jenis soal pelajaran yang akan diujikan

3. Informasi berupa laporan hasil tes peseta, tentang kesimpulan

nilai yang didapat.

3.1.2.5. Analisa Metode Multiplicative CRNG

Metode ini merupakan algoritma yang digunakan untuk

menghasilkan urutan-urutan (sequence) dari angka sebagai hasil dari

perhitungan dengan komputer yang diketahui distribusinya sehingga

angka tersbut muncul secara random dan digunakan terus menerus.

Dalam membangkitkan bilangan acak maka diperlukan rumus yang

dapat membuat soal berkategori diacak supaya nantiniya tidak ada soal

yang sama muncul pada peserta ujian lainnya, dengan memanfaatkan


model linier untuk membangkitkan bilangan acak yang didefinisikan

sebagai berikut:

X = (a.b + b) mod M

Dimana:

X = Bilangan Acak

A = Faktor Penggali

x = Bilangan Acak Sebelumnya

b = Increment

M =M

Sebagai contoh, untuk mengacak bilangan sebanyak 8 kali, dimana

nilai a=11, b=25, m=26 dan X(0)=3 adalah sebagai berikut:

1. X(1) = (11(3)+25) mod 26 = 6

2. X(1) = (11(6)+25) mod 26 = 13

3. X(1) = (11(13)+25) mod 26 = 12

4. X(1) = (11(12)+25) mod 26 = 1

5. X(1) = (11(1)+25) mod 26 = 10

6. X(1) = (11(10)+25) mod 26 = 21

7. X(1) = (11(21)+25) mod 26 = 22

8. X(1) = (11(22)+25) mod 26 = 11

9. X(1) = (11(11)+25) mod 26 = 16

10. X(1) = (11(16)+25) mod 26 = 19

Maka bilangan acak yang dibangkitkan adalah : 6, 13, 12, 1, 10, 21,

22, 11, 16, 19.


Dari contoh tersebut dapat diketahui bahwa dalam pembangkitan

bilangan acak tidak terjadi perulangan.

Selanjutnya untuk rumus atau Additive (Aritmetik) Random

Number Generator yaitu sebagai berikut:

Zi = (a. Zi-l + c) mod m

Dimana

Zi = Bilangan random yang lama

a = Konstanta a harus lebih besar dari √m

Zi = Bilangan random yang lalu

c = Angka konstan bersyarat

m = Angka modulo

Sementara untuk bentuk rumus Multiplicative Rando Number

Generator yaitu sebagai berikut:

Zi-l = (a.Zi) mod m

Dimana:

Zi = Bilangan random yang lama

Zi-1 = Bilangan random yang baru

a > 1, c = 0, m > 1

pemilihan m (modulo), merupakan angka integer yang cukup besar

dan merupakan satu kata (word) yang dipakai pada komputer. Dan untuk

Mixed Pseudo RNG rumus yang digunakan sebagai berikut:


n n
z n=(a . Z 0 +( a −1 /a−1). c )mod m
Syarat utama, n harus berupa bilangan integer dan lebih besar dari

nol (linier Congruential RNG). Bila c = 0 maka diperoleh Multiplicative

Congruen RNG.

Penjelasan:

C = Bilangan relative prima terhadap n

a = 1 (mod q) untuk setiap factor prima q dari m

a = 1 (mod 4) bila adalah suatu factor dari m

Langkah penyelesaian algoritma Multiplicative CRNG pada

aplikasi antara lain:

a. Setelah melakukan input data pada aplikasi, maka dilakukanlah

pengacakan soal menggunakan algoritma multiplicative CRNG

b. Untuk membuat sebuah urutan random numbers pada aplikasi

soal menggunakan Metode Linear Congruential dengan Z 0=27,

a=17, c=43, dan m=100.

 Z 0=27

 Z1 =( 17.27+43 ) mod 100=502mod 100=2

2
 R 1= =0,02
100

 Z2 =( 17.2+ 43 ) mod 100=77 mod 100=77

77
 R 2= =0,77
100

 Z3 =( 17.77+43 ) mod 100=1352 mod100=52

52
 Z3 = =0,52
100
c. Contoh : Jika diberikan m=22 , c=7 , a=5dan Z 0=1

m= power of 2

A = 5  1 + 4k, dimana k = 1

C = 7 (prima) => Maka :

Z0 = 1; Zi + 1 = (5 x Zi + 7) mod 4

Z0 = 1

Z1 = (5 x 1 + 7) mod 4 = 0
4  full period = m
Z2 = (5 x 0 + 7) mod 4 = 3

Z3 = (5 x 3 + 7) mod 4 = 2

Z4 = (5 x 2 + 7) mod 4 = 1

d. Contoh : Jika diberikan


6
m=2 =64 , c=0 ,a=13 dan Z 0 =1,2,3 dan 4.

m = power of 2

a = 13  5 + 8k, dimana k = 1

c=0

e. Hasil dari output pengacakan soal tersebut dapat dilihat dari

table dibawah, bahwa dalam proses pengacakan tersebut tidak

ada nilai yang terjadi perulangan. Penyelesaian dalam bentuk

table antara lain:

Max period Zi = ganjil  16 atau P = M/4 = 64/4 = 16

i Zi Zi Zi Zi
0 1 2 3 4
1 13 2 39 52
2 41 26 59 36
3 21 18 63 20
4 17 42 51 4
5 29 34 23
6 57 58 43
7 37 50 47
8 33 10 35
9 45 2 7
10 9 27
11 53 31
12 49 19
13 61 55
14 25 11
15 5 15
16 1 3
17
18

Implementasi Algoritma Multiplicative CRNG pada Aplikasi:

Soal yang sudah didapat dari database yang berjumlah sudah

ditentukan dari table setting akan diacak didalam sebuah metode yang

bernama Acak Soal. Disini nantinya soal yang sudah terkumpul secara

urut akan diacak menggunakan algoritma acak dengan cara mencari nilai

acak lalu nilai acak tersebut digunakan untuk mencari indeks data soal

dan dipindahkan ke data yang lain yang sudah disediakan untuk

menampung soal acak.

Flowchart acak soal dapat dilihat pada gambar 3.1


Gambar 3.1 Flowchart Algoritma CRNG Pada Aplikasi

Pertama kali soalSebelumRandoms adalah variable array yang

menampung soal dari database. Setelah itu disediakan array kosong


dengan nama listAcak, int m, n dan Boolean ulang adalah variable

pendukung. Setelah itu dilakukan perulangan menggunakan do while

yang berisi pertama ulang di isi false, setelah itu n diisi dengan

bilangan hasil acak. Setelah itu dilakukan perulangan apakah id indek

n pada soalSebelumRandoms sama dengan id indek pada listAcak,

bila yam aka ulang diset true dan perulangan dilakukan kembali, bila

tidak maka id indek n pada soalSebelumRandom akan dipindahkan ke

indek m pada listAcak. Setelah itu m increment satu. Dan berulang

terus menerus selama nilai m kurang dari size soalSebelumRandoms.

Setelah perulangan selesai maka acak soal selesai dan diteruskan oleh

fungsi yang lain.

3.2. Perancangan Sistem

Tujuan dari perancangan system adalah untuk menentukan rancangan

pembuatan sistem e-learning. Perancangan sistem ini dimulai dengan

perancangan Context Diagram (CD), Data Flow Diagram (DFD) dan

Flowchart.

3.2.1. Diagram Konteks

Diagram konteks ini merupakan penggambaran secara garis besar

system e-learning yang dibuat serta menunjukkan hubungan antar user yang

terlibat langsung dengan sistem. Berikut adalah diagram konteks dari

system e-learning yang ditunjukkan pada Gambar 3.2.

3.2.2. Data Flow Diagram


Data Flow Diagram (DFD) merupakan model yang menggambarkan

sistem sebagai jaringan kerja antar fungsi yang saling berhubungan dengan

aliran dan penyimpanan data atau database. Berikut adalah DFD Level 0

dari sistem e-learning yang ditunjukkan pada Gambar 3.3.

3.3. Rancangan Basis Data

Perancangan basis data perlukan dalam pembuatan sistem e-learning

dan digunakan untuk tempat menyimpan seluruh informasi dan data.

Rancangan basis data dimulai dengan membuat rancangan table data, relasi

antar table, ERD dan kamus data.

3.3.1. Rancangan Tabel Data

Rancangan table data digunakan untuk memberikan keterangan tentang

data apa saja yang dibutuhkan dalam pembuatan sistem e-leraning. Berikut ini

adalah table yang dipergunakan dalam perancangan basis data.

3.3.2. Relasi Antar Tabel Tabel Data

Diagram relasi antar table menggambarkan adanya relasi antar table

yang terdapat dalam sistem e-learning. Relasi antar table ini berfungsi untuk

meminimalisir resiko data redundancy dan pemborosan memori. Relasi antar

table ditunjukkan pada Gambar 3.7.

3.3.3. Entity Relationship Diagram (ERD)

Entity Relationship Diagram digunakan untuk melihat hubungan antar

entitas yang terdapat dalam sistem e-learning. Berikut adalah ERD yang

terdapat dalam sistem e-learning yang ditunjukkan pada Gambar 3.8.

3.4. Desain Tampilan Sistem


Desain tampilan sistem berfungsi sebagai acuan untuk membuat user

interface dalam implementasi sistem. Desain tampilan terdiri dari beberapa

halaman yang akan dibuat. Berikut ini adalah penjabaran tentang desain

tampilan sistem dalam pembuatan sistem e-learning.

3.4.1. Desain Layout

Desain layout menggambarkan garis besar rancangan user interface

dalam pembuatan sistem e-learning yang terdiri atas halaman utama, halaman

peserta tkd dan halaman admin.


DAFTAR PUSTAKA

Anhar. 2010. PHP & MySql Secara Otodidak. Jakarta: PT TransMedia

Connolly, T., & Begg, C. 2010. Database Systems A Practical Approach to


Design, Implementation, and Management Fifth Edition. Boston: Pearson
Education.

Fathansyah. 2015. Basis Data. Bandung: INFORMATIKA.

Hidayat, Tadya Rahanady. 2010. Random Number Generator, Makalah IF2091


Struktur Diskrit – Sem. I Tahun 2010/2011. Program Studi Teknik
Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi
Bandung, Jl. Ganesha 10 Bandung, Indonesia.

Indrajani. 2011. Perancangan Basis Data dalam All in 1. Jakarta: PT. Elex Media
Komputindo.

Jogiyanto, H.M., 2005. Analisa dan Desain Sistem Informasi: Pendekatan


Terstruktur Teori dan Praktik Aplikasi Bisnis. Yogyakarta: ANDI

Kendall, K.E dan Kendall, J.E. 2003. Analisis dan Perancangan Sistem.
Prehallindo. Jakarta.

L, Riani. 2010. Pembangkit Bilangan Acak. Mata Kuliah Pemodelan & Simulasi.
Jurusan Teknik Informatika Universitas Komputer Indonesia. Bandung.

Marlinda, L. 2004. Sistem Basis Data. Yogyakarta: Andi Offset

Pohan, H., & Bahri, K. 1997. Pengantar Perancangan Sistem. Jakarta: Erlangga.

Pressman, R. 2015. Rekayasa Perangkat Lunak: Pendekatan Praktisi Buku I.


Yogyakarta: Andi.

Rizal, S., Retnadi, E., & Ikhwana, A. 2013. Pengembangan Aplikasi Pencarian
Lokasi Objek Wisata Terdekat Di Kabupaten Garut Berbasis Android.
Jurnal Algoritma, 10(2), 124-138.

Rouse, M. 2011. Web Application (Wen App). TechTarget Magazine.

Stark, J.S. & Thomas, A. (1994). Assessment and program evaluation. Needham
Heights: Simon & Schuster Custom Publishing

Supriyanto, A. 2005. Pengantar Teknologi Informas (Edisi Pertama). Jakarta:


Penerbit Salemba Empat.
Usman, N. 2002. Konteks Implementasi Berbasis Kurikulum. Jakarta: PT. Raja
Grafindo Persada.

Wandt, Edwin and Brown Gerald W. Essentials of Educational Evaluation. New


York : Holt Rinehart and Winston. 1957.

Zeeb, Charles N. 1984. Random Number Generator Recommendation.


Department of Mechanical Engineering Colorado State University.
Colorado.

_____. Implementasi. [Online]. Tersedia:


https://kbbi.kemdikbud.go.id/entri/implementasi. [1 Juni 2020]

Anda mungkin juga menyukai