aplikasi inventory berbasis web menggunakan

147
1. APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN FRAMEWORK CODEIGNITER DENGAN WEB SERVICE REST API SKRIPSI Disusun Oleh: NAMA: VIRDI GUNAWAN NIM: 20151000083 TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS BUDDHI DHARMA TANGERANG 2019

Upload: others

Post on 01-Dec-2021

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

1. APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

FRAMEWORK CODEIGNITER DENGAN WEB SERVICE REST API

SKRIPSI

Disusun Oleh:

NAMA: VIRDI GUNAWAN

NIM: 20151000083

TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS BUDDHI DHARMA

TANGERANG

2019

Page 2: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

2. APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

FRAMEWORK CODEIGNITER DENGAN WEB SERVICE REST API

Skripsi

Diajukan sebagai salah satu syarat untuk kelengkapan gelar kesarjanaan pada

Program Studi Teknik Informatika

Jenjang Pendidikan Strata 1

Disusun Oleh:

NAMA: VIRDI GUNAWAN

NIM: 20151000083

TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS BUDDHI DHARMA

TANGERANG

2019

Page 3: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

3. LEMBAR PERSEMBAHAN

不是每一分努力都能有收获,

但是每一分收获却必须要努力。

Bùshì měi yī fēn nǔlì dōu néng yǒu shōuhuò, dànshì měi yī fēn shōuhuò què bìxū yào nǔlì.

“Tidak setiap kerja keras bisa mendapatkan pencapaian, Namun setiap pencapaian pasti

harus melalui kerja keras.”

Dengan mengucap puji syukur kepada Tuhan Yang Mahaesa, Skripsi ini

kupersembahkan untuk:

a. Bapak Djoni Gunawan dan Ibu Rusniati tercinta yang telah membesarkan aku dan

selalu membimbing, mendukung, memotivasi, memberi apa yang terbaik bagiku serta

selalu mendoakan aku untuk meraih kesuksesanku.

b. Teman-teman yang telah memberikan dukungan semangat serta dorongan yang

senantiasa diberikan.

c. Kelompok belajar, Darwin Tantowi dan Dermawan yang selalu berjuang bersama.

Page 4: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN
Page 5: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN
Page 6: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN
Page 7: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN
Page 8: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

4. LEMBAR PENGESAHAN DEWAN PENGUJI

N I M : 20151000083

Nama : Virdi Gunawan

Fakultas : Sains dan Teknologi

Judul Skripsi : Aplikasi Inventory Berbasis Web Menggunakan Framework

CodeIgniter dengan Web Service REST API

Dinyatakan LULUS setelah mempersembahkan di depan Tim Penguji pada Senin,

20 Januari 2020.

Nama Penguji Tanda Tangan

Ketua Sidang : Rudy Arijanto, M.Kom

0415077105 ………………………………

Penguji 1 : Edy, M.Kom

0328128201 ………………………………

Penguji 2 : Benny Daniawan, M.Kom

0424049006 ………………………………

Mengetahui,

Dekan Fakultas Sains dan Teknologi

Dr. Eng Ir. Amin Suyitno, M.Eng

NIDN. 9906000711

Page 9: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

i

KATA PENGANTAR

Dengan mengucapkan Puji Syukur kepada Tuhan Yang Mahaesa, yang telah memberikan

Rahmat dan karunia-Nya kepada penulis sehingga dapat menyusun dan menyelesaikan

Skripsi ini dengan judul “Aplikasi Inventory Berbasis Web Menggunakan Framework

CodeIgniter dengan Web Service REST API”. Tujuan utama dari pembuatan Skripsi ini

adalah sebagai salah satu syarat kelengkapan dalam menyelesaikan program pendidikan

Strata 1 Program Studi Teknik Informatika di Universitas Buddhi Dharma. Dalam

penyusunan skripsi ini penulis banyak menerima bantuan dan dorongan baik moril maupun

materiil dari berbagai pihak, maka pada kesempatan ini penulis menyampaikan rasa terima

kasih yang sebesar-besarnya kepada:

a. Bapak Dr. Sofian Sugioko, M.M., CPMA., sebagai Rektor Universitas Buddhi

Dharma.

b. Bapak Dr. Eng. Ir. Amin Suyitno, M.Eng., Dekan Fakultas Sains dan Teknologi.

c. Bapak Rino, M. Kom. Sebagai Ketua Program Studi Teknik Informatika.

d. Bapak Dicky Surya Dwi Putra, M. Kom. Sebagai pembimbing yang telah membantu

dan memberikan dukungan serta harapan untuk menyelesaikan penulisan Skripsi ini.

e. Orang tua dan keluarga yang selalu memberikan dukungan baik moril dan materiil.

f. Teman-teman yang selalu membantu dan memberikan semangat.

Serta semua pihak yang terlalu banyak untuk disebutkan satu-persatu sehingga terwujudnya

penulisan ini. Penulis menyadari bahwa penulisan skripsi ini masih belum sempurna, untuk

itu penulis mohon kritik dan saran yang bersifat membangun demi kesempurnaan penulisan

di masa yang akan datang. Akhir kata semoga skripsi ini dapat berguna bagi penulis

khususnya dan bagi para pembaca yang berminat pada umumnya.

Tangerang, 20 Januari 2020

Penulis

Page 10: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

ii

APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN FRAMEWORK

CODEIGNITER DENGAN WEB SERVICE REST API

106 + vii halaman/ 12 tabel/ 33 gambar/ 3 lampiran

ABSTRAK

Perkembangan teknologi yang begitu pesat membuat pekerjaan yang dilakukan manusia

dapat diselesaikan dengan lebih cepat. Salah satu alat bantu yang digunakan oleh manusia

adalah teknologi. Pengolahan informasi jadi semakin cepat dengan adanya teknologi.

Pengolahan data dan informasi secara cepat, tepat dan efisien adalah hal penting yang

dibutuhkan bagi setiap perusahaan atau suatu instansi untuk meningkatkan produktifitas

pekerjaan, waktu dan biaya. Penulis berencana membuat sebuah aplikasi inventory yang

dapat mengelola data barang secara digital. Sistem ini dibuat menggunakan bahasa

pemrograman PHP dengan framework CodeIgniter serta web service REST API. Hasil dari

sistem ini adalah dapat memproses informasi berkaitan dengan barang seperti: data barang,

barang masuk dan keluar, data supplier, serta laporan. Aplikasi ini dapat mengelola data

barang dengan baik menggunakan REST API sebagai sarana pertukaran datanya.

Kata kunci: Inventory, Framework CodeIgniter, REST API

Page 11: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

iii

WEB-BASED INVENTORY APPLICATIONS USING CODEIGNITER FRAMEWORK

WITH WEB SERVICE REST API

106 pages + vii pages / 12 tabels / 33 pictures / 3 libraries

5. ABSTRACT

The rapid development of technology makes the work done by humans can be completed

more quickly. One of the tools used by humans is technology. Information processing has

become faster with technology. Processing data and information quickly, precisely and

efficiently is an important thing needed for every company or an agency to increase work

productivity, time and cost. The author plans to create an inventory application that can

manage goods data digitally. This system is made using PHP programming language with

CodeIgniter framework and REST API web service. The results of this system are able to

process information related to goods such as: data of goods, goods entering and leaving,

supplier data, and reports. This application can manage goods data properly using the REST

API as a means of exchanging data.

Keyword: Inventory, Framework CodeIgniter, REST API

Page 12: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

iv

DAFTAR ISI

LEMBAR JUDUL LUAR

LEMBAR JUDUL DALAM

LEMBAR PERSEMBAHAN

LEMBAR PENYATAAN KEASLIAN SKRIPSI

LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH

LEMBAR PENGESAHAN PEMBIMBING

LEMBAR PENGESAHAN SKRIPSI

LEMBAR PENGESAHAN DEWAN PENGUJI

KATA PENGANTAR ............................................................................................................ i

ABSTRAK ............................................................................................................................ ii

ABSTRACT ........................................................................................................................... iii

DAFTAR ISI ........................................................................................................................ iv

DAFTAR GAMBAR ........................................................................................................... vii

DAFTAR TABEL ................................................................................................................ ix

DAFTAR LAMPIRAN ......................................................................................................... x

BAB I PENDAHULUAN ...................................................................................................... 1

1.1 Latar Belakang Masalah ......................................................................................... 1

1.2 Identifikasi Masalah ................................................................................................ 2

1.3 Rumusan Masalah ................................................................................................... 2

1.4 Tujuan dan Manfaat Penulisan ............................................................................... 3

1.4.1 Tujuan .............................................................................................................. 3

1.4.2 Manfaat ............................................................................................................ 3

1.5 Ruang Lingkup ....................................................................................................... 3

1.6 Metode Penelitian ................................................................................................... 4

1.6.1 Metode Penelitian ............................................................................................ 4

1.6.2 Metode Pengumpulan Data ............................................................................. 5

1.7 Sistematika Penulisan ............................................................................................. 5

BAB II LANDASAN PEMIKIRAN TEORITIS .................................................................. 7

2.1 Teori Umum ............................................................................................................ 7

2.1.1 Data .................................................................................................................. 7

2.1.2 Proses ............................................................................................................... 8

2.1.3 Informasi .......................................................................................................... 8

Page 13: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

v

2.1.4 Aplikasi ............................................................................................................ 9

2.1.5 Internet ........................................................................................................... 10

2.1.6 Basis Data ...................................................................................................... 14

2.1.7 Website .......................................................................................................... 15

2.2 Teori Khusus ......................................................................................................... 16

2.2.1 Inventory ........................................................................................................ 16

2.2.2 Waterfall ........................................................................................................ 17

2.2.3 Algoritma ....................................................................................................... 19

2.2.4 JSON (JavaScript Object Notation) .............................................................. 22

2.2.5 Web Service ................................................................................................... 24

2.2.6 Framework .................................................................................................... 30

2.2.7 MVC ............................................................................................................... 31

2.3 Teori Analisa dan Perancangan ............................................................................ 33

2.3.1 XAMPP .......................................................................................................... 33

2.3.2 VSCode .......................................................................................................... 34

2.3.3 HTML ............................................................................................................ 36

2.3.4 CSS ................................................................................................................ 37

2.3.5 PHP ............................................................................................................... 38

2.3.6 JavaScript ...................................................................................................... 41

2.3.7 jQuery ............................................................................................................ 42

2.3.8 MySQL ........................................................................................................... 43

2.3.9 Postman ......................................................................................................... 45

2.3.10 CodeIgniter .................................................................................................... 46

2.3.11 API (Application Programming Interface) .................................................... 51

2.3.12 ERD (Entity Relationship Diagram )............................................................. 51

2.3.13 Flowchart ...................................................................................................... 53

2.3.14 Blackbox Testing ........................................................................................... 58

2.4 Tinjauan Studi ....................................................................................................... 62

2.4.1 Penelitian Muhammad Iqbal Perkasa, Eko Budi Setiawan ........................... 62

2.4.2 Penelitian Penidas Fiodinggo Tanaem, Danny Manogga, Ade Iriani ........... 64

2.4.3 Penelitian Swono Sibagariang ....................................................................... 66

2.4.4 Rangkuman Model Penelitian ....................................................................... 68

2.5 Kerangka Pemikiran ............................................................................................. 70

Page 14: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

vi

BAB III PERANCANGAN APLIKASI .............................................................................. 71

3.1 Analisa Kebutuhan ................................................................................................ 71

3.1.1 Analisa Kebutuhan Perangkat ....................................................................... 71

3.1.2 Analisa Kebutuhan Pemakai .......................................................................... 71

3.1.3 Analisa Kebutuhan Aplikasi .......................................................................... 72

3.2 Konstruksi Algoritma dan Metode........................................................................ 73

3.3 Perancangan Layar, Menu dan Database ............................................................. 74

3.3.1 Rancangan Layar dan Menu .......................................................................... 74

3.3.2 Rancangan Database ..................................................................................... 78

3.4 Rancangan Flowchart ........................................................................................... 82

BAB IV PENGUJIAN DAN IMPLEMENTASI ................................................................ 83

4.1 Pembahasan Metode dan Algoritma ..................................................................... 83

4.1.1 CodeIgniter .................................................................................................... 83

4.1.2 REST .............................................................................................................. 85

4.2 Spesifikasi Hardware dan Software ..................................................................... 88

4.2.1 Spesifikasi Hardware .................................................................................... 88

4.2.2 Spesifikasi Software ...................................................................................... 89

4.3 Tampilan Program ................................................................................................ 90

4.3.1 Tampilan Menu Login ................................................................................... 90

4.3.2 Tampilan Menu Dashboard .......................................................................... 90

4.3.3 Tampilan Menu Barang ................................................................................. 91

4.3.4 Tampilan Menu Barang Masuk ..................................................................... 91

4.3.5 Tampilan Menu Barang Keluar ..................................................................... 92

4.3.6 Tampilan Menu Supplier ............................................................................... 92

4.4 Pengujian Blackbox ............................................................................................... 93

BAB V SIMPULAN DAN SARAN .................................................................................. 102

5.1 Simpulan ............................................................................................................. 102

5.2 Saran ................................................................................................................... 102

DAFTAR PUSTAKA ........................................................................................................ 103

LAMPIRAN-LAMPIRAN ................................................................................................ 107

Page 15: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

vii

DAFTAR GAMBAR

Gambar 2.1 Uji coba SOAP dan RESTful web service ........................................................ 27

Gambar 2.2 Cara Kerja REST API....................................................................................... 29

Gambar 2.3 Alur kerja MVC secara ringkas ........................................................................ 32

Gambar 2.4 XAMPP ............................................................................................................ 33

Gambar 2.5 VSCode ............................................................................................................ 34

Gambar 2.6 HTML ............................................................................................................... 36

Gambar 2.7 CSS ................................................................................................................... 37

Gambar 2.8 PHP ................................................................................................................. 38

Gambar 2.9 JavaScript ........................................................................................................ 41

Gambar 2.10 jQuery ............................................................................................................ 42

Gambar 2.11 MySQL ........................................................................................................... 43

Gambar 2.12 Postman ......................................................................................................... 45

Gambar 2.13 CodeIgniter .................................................................................................... 46

Gambar 2.14 Simbol Flowchart .......................................................................................... 57

Gambar 3.1 Rancangan Layar Menu Login......................................................................... 74

Gambar 3.2 Rancangan Layar Dashboard .......................................................................... 75

Gambar 3.3 Rancangan Layar Menu Barang dan Supplier ................................................. 76

Gambar 3.4 Rancangan Layar Menu Barang Masuk dan Barang Keluar ........................... 77

Gambar 3.5 Rancangan Database ....................................................................................... 78

Gambar 3.6 Flowchart ......................................................................................................... 82

Gambar 4.1 Alur Aplikasi CodeIgniter ............................................................................... 83

Gambar 4.2 Struktur Folder CodeIgniter ............................................................................ 84

Gambar 4.3 REST Client PHP di framework CodeIgniter bagian Controller .................... 86

Gambar 4.4 REST Client PHP di framework CodeIgniter bagian Config Link REST Server

............................................................................................................................................. 86

Gambar 4.5 REST Server PHP di framework CodeIgniter bagian Controller .................... 87

Gambar 4.6 REST Server PHP di framework CodeIgniter bagian Model .......................... 87

Gambar 4.7 Hasil Data dari REST API PHP ....................................................................... 88

Gambar 4.8 Tampilan Menu Login ..................................................................................... 90

Gambar 4.9 Tampilan Menu Dashboard ............................................................................. 90

Gambar 4.10 Tampilan Menu Barang ................................................................................. 91

Gambar 4.11 Tampilan Menu Barang Masuk ..................................................................... 91

Page 16: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

viii

Gambar 4.12 Tampilan Menu Barang Keluar ..................................................................... 92

Gambar 4.13 Tampilan Menu Supplier ............................................................................... 92

Page 17: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

ix

DAFTAR TABEL

Tabel 2.1: Penelitian Muhammad Iqbal Perkasa, Eko Budi Setiawan ................................ 62

Tabel 2.2: Penelitian Ninis Insiyah Masyhur, Kasim, Irmawati ......................................... 64

Tabel 2.3: Penelitian Swono Sibagariang ............................................................................ 66

Tabel 2.4: Rangkuman Penelitian ........................................................................................ 68

Tabel 3.1: Identifikasi Kebutuhan Pemakai ........................................................................ 72

Tabel 3.2: Analisa Kebutuhan Pemakai .............................................................................. 72

Tabel 3.3: Tabel Supplier .................................................................................................... 78

Tabel 3.4: Tabel Barang ...................................................................................................... 79

Tabel 3.5: Tabel Barang Keluar Masuk............................................................................... 80

Tabel 3.6: Tabel User .......................................................................................................... 81

Tabel 3.7: Tabel Migration .................................................................................................. 81

Tabel 4.1: Pengujian Blackbox ............................................................................................ 93

Page 18: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

x

DAFTAR LAMPIRAN

Lampiran 1 Code Program REST CLIENT………………….………………………..107

Lampiran 2 Code Program REST SERVER...……………….………………………..123

Lampiran 3 Daftar Riwayat Hidup ……….………………………………………….129

Page 19: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Menurut Nanaban, “Inventory adalah persediaan dalam bahasa Indonesia.

Persediaan, kaitannya dengan aktivitas logistik sebuah perusahaan, merupakan suatu

kegiatan yang menyediakan stok bahan baku atau barang setengah jadi ataupun

barang jadi demi kelancaran proses produksi dan/atau pemenuhan permintaan

pelanggan.”

Murhada dan Yo Ceng Giap mengungkapkan bahwa “Perangkat lunak

aplikasi sejatinya adalah program yang didesain khusus untuk menyelesaikan

masalah spesifik pengguna, seperti melakukan tugas-tugas mengetik dokumen,

manipulasi foto, merancang bangunan” (Murhada dan Yo 2011, 104).

Menurut Yuhefizar, “Website adalah keseluruhan halaman-halaman web

yang terdapat dalam sebuah domain yang mengandung informasi. Sebuah website

biasanya dibangun atas banyak halaman web yang saling berhubungan. Hubungan

antara satu halaman web dengan halaman web yang lainnya disebut dengan

hyperlink, sedangkan teks yang dijadikan media penghubung disebut hypertext”

(Yuhefizar, Mooduto dan Rahmat 2009, 2).

Menurut Wardana, “Framework adalah kumpulan perintah atau fungsi dasar

yang membentuk aturan-aturan tertentu dan asling berinteraksi satu sama lain

sehingga dalam pembuatan aplikasi website, kita harus mengikuti aturan dari

framework tersebut” (Wardana 2010, 3).

Sulistiono mengemukakan, “CodeIgniter adalah aplikasi open source yang

berupa kerangka kerja atau framework untuk membangun website menggunakan

Page 20: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

2

bahasa pemrograman PHP. Tujuannya memungkinkan pengembangan projek yang

lebih cepat daripada penulisan kode dasar atau kode terstruktur, dengan menyediakan

banyak library yang biasanya digunakan dalam pengerjaan” (Sulistiono 2018, 7).

Sehubung dengan uraian tersebut di atas, maka dibuatlah penelitian berjudul

“PERANCANGAN APLIKASI INVENTORY BERBASIS WEB

MENGGUNAKAN FRAMEWORK CODEIGNITER DENGAN WEB SERVICE

REST API” sebagai penelitian tentang pembuatan aplikasi inventory berbasis web

dengan web service REST API.

1.2 Identifikasi Masalah

Berdasarkan dari latar belakang yang telah dijelaskan di atas, maka yang menjadi

identifikasi masalah dalam penelitian ini adalah sebagai berikut:

1. Bagaimana menangani proses dalam pendataan barang masuk dan keluar?

2. Bagaimana membangun sistem inventory stok barang yang dapat memberikan

informasi yang cepat, tepat dan akurat dengan web service REST API?

1.3 Rumusan Masalah

Dalam penulisan ini ada rumusan masalah yang diangkat adalah sebagai berikut:

1. Bagaimana perancangan sistem inventory yang dapat membantu pengolahan

data, barang masuk, barang keluar dan laporan?

2. Bagaimana implementasi sistem inventory dengan web service REST API dapat

menyajikan laporan yang cepat dan sesuai dengan data yang telah ada?

Page 21: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

3

1.4 Tujuan dan Manfaat Penulisan

1.4.1 Tujuan

Tujuan penulisan ini adalah:

a. Untuk merancang sistem inventory barang agar mempermudah

pengelolaan dan pendataan barang yang masuk dan keluar.

b. Untuk menghasilkan suatu sistem yang memberikan informasi tentang

laporan inventory sehingga mempermudah mendapatkan informasi yang

dibutuhkan.

1.4.2 Manfaat

Manfaat penulisan ini adalah:

a. Menjadi referensi bagi penelitian selanjutnya dalam penggunaan web

service REST API.

b. Menjadi aplikasi berbasis web yang dapat membantu pengguna dalam

pengolahan data, barang masuk, barang keluar dan laporan.

1.5 Ruang Lingkup

Adapun ruang lingkup masalah dalam penelitian ini adalah sebagai berikut:

a. Sistem inventory ini membahas stok barang yang ada, barang masuk, barang

keluar dan laporan yang dibuat dengan basis web.

b. Sistem inventory ini tidak ada klien.

Page 22: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

4

1.6 Metode Penelitian

1.6.1 Metode Penelitian

a. Requirement Analisys

Tahap ini pengembang sistem diperlukan komunikasi yang bertujuan

untuk memahami perangkat lunak yang diharapkan oleh pengguna dan

batasan perangkat lunak tersebut. Informasi ini biasanya dapat diperoleh

melalui wawancara, diskusi atau survei langsung. Informasi dianalisis

untuk mendapatkan data yang dibutuhkan oleh pengguna.

b. System Design

Spesifikasi kebutuhan dari tahap sebelumnya akan dipelajari dalam fase

ini dan desain sistem disiapkan. Desain sistem membantu dalam

menentukan perangkat keras (hardware) dan sistem persyaratan dan juga

membantu dalam mendefinisikan arsitektur sistem secara keseluruhan.

c. Implementation

Pada tahap ini, sistem pertama kali dikembangkan di program kecil yang

disebut unit, yang terintegrasi dalam tahap selanjutnya. Setiap

unitdikembangkan dan diuji untuk fungsionalitas yang disebut sebagai

unit testing.

d. Integration & Testing

Seluruh unit yang dikembangkan dalam tahap implementasi

diintegrasikan ke dalam sistem setelah pengujian yang dilakukan

masing-masing unit. Setelah integrasi seluruh sistem diuji untuk

mengecek setiap kegagalan maupun kesalahan.

Page 23: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

5

e. Operation & Maintenance

Tahap akhir dalam model waterfall. Perangkat lunak yang sudah jadi,

dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam

memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya.

Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai

kebutuhan baru.

1.6.2 Metode Pengumpulan Data

a. Studi Pustaka

Pengumpulan data dan informasi yang diperlukan untuk digunakan dalam

pembuatan aplikasi yang menggunakan web service REST API.

1.7 Sistematika Penulisan

a. BAB I PENDAHULUAN

Pendahuluan berisi mengenai latar belakang, identifikasi masalah, rumusan

masalah, tujuan dan manfaat penulisan, ruang lingkup masalah, metode

penelitan dan pengumpulan data, sistematika penulisan.

b. BAB II LANDASAN TEORI

Landasan teori mengenai penelitian terdahulu dan rencana penelitian yang

dilakukan oleh penulis. Selain itu juga berisi teori prediksi dengan menggunakan

web service REST API.

c. BAB III ANALISA MASALAH DAN PERANCANGAN APLIKASI

Metodelogi berisi mengenai metodelogi atau langkah-langkah dalam

penyelesaian masalah, meliputi penyusunan formula dan algoritma yang akan

digunakan dalam penelitian.

Page 24: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

6

d. BAB IV RANCANGAN SISTEM DAN IMPLEMENTASI

Bab ini menjelaskan analisa sistem yang diusulkan dengan menggunakan

flowchart dari sistem yang diimplementasikan, serta pembahasan secara detail

final elisitasi yang ada di bab sebelumnya, dijabarkan secara satu persatu dengan

menerapkan konsep sesudah adanya sistem yang diusulkan.

e. BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran yang berkaitan dengan analisa dan

optimalisasi sistem berdasarkan yang telah diuraikan pada bab-bab sebelumnya.

Page 25: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

7

BAB II

LANDASAN PEMIKIRAN TEORITIS

2.1 Teori Umum

2.1.1 Data

Menurut Helmi, “Data menurut Webster New World Dictionary,

adalah things known or assumed, atau data itu sesuatu yang diketahui atau

dianggap. Diketahui artinya sudah terjadi yang merupakan fakta (bukti). Data

dapat menggambarkan tentang suatu keadaan atau persoalan” (Helmi 2010,

1).

Sedangkan Murhada dan Yo Ceng Giap mengatakan, “Data adalah

representasi dari fakta dunia nyata yang mewakili suatu objek yang sedang

ditinjau (manusia, barang, peristiwa, hewan, konsep, keadaan dan

sebagainya) dan direkam dalam bentuk huruf, kata, angka, simbol, gambar,

bunyi atau kombinasinya” (Murhada dan Yo 2011, 160).

Sedangkan menurut Sugiyono, “Data menurut jenisnya dibagi

menjadi dua yaitu data kualitatif dan kuantitatif” (Sugiyono 2012, 5).

a. Data Kualitatif

Data kualitatif adalah data yang berhubungan dengan kategorisasi,

karakteristik berwujud pernyataan atau berupa kata-kata. Data ini bersifar

subjebtif dan biasanya didapat dari wawancara.

b. Data Kuantitatif

Data kuantitatif adalah data yang berwujud angka-angka. Data ini

diperoleh dari pengukuran langsung maupun dari angka-angka yang

diperoleh dengan mengubah dari data kualitatif menjadi data kuantitatif.

Page 26: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

8

2.1.2 Proses

Menurut Purnawanto, “Proses dapat didefinisikan sebagai aktifitas

mentransformasikan input menjadi output” (Purnawanto 2010, 46).

Purnawanto menambahkan dalam bukunya yang berjudul

Manajemen SDM Berbasis Proses, berdasarkan pendapat Michael Hammer:

“Proses adalah kumpulan task yang bekerja secara bersama untuk

menghasilkan value bagi customer. Berdasarkan definisi dari Hammer

tersebut, kita dapatkan tiga kata kunci” (Purnawanto, 2010, hal. 46):

a. Kumpulan task

b. Bekerja secara bersama

c. Menghasilkan value bagi customer

2.1.3 Informasi

Sutabri mengemukakan di dalam buku yang berjudul Analisis Sistem

Informasi bahwa, “Informasi adalah data yang telah diolah atau

diklasifikasikan atau diinterprestasikan untuk digunakan di dalam proses

pengambilan keputusan. Sistem pengolahan informasi akan mengolah data

menjadi informasi atau mengolah data dari bentuk yang tidak berguna

menjadi berguna bagi yang menerimanya. Nilai informasi berhubungan

dengan keputusan, bila tidak ada pilihan atau keputusan maka informasi tidak

diperlukan” (Sutabri 2012, 22).

Penulis lain menambahkan bahwa, “Informasi adalah data yang

diolah menjadi bentuk yang berguna untuk membuat keputusan” (Muslihudin

& Oktafianto 2016, 9).

Page 27: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

9

Muslihudin menambahkan bahwa, “Kualitas dari suatu informasi

tergantung dari tiga hal, yaitu” (Muslihudin & Oktafianto 2016, 10):

a. Informasi harus akurat (accurate)

Informasi harus bebas dari kesalahan dan tidak bias atau

menyesatkan. Akurat juga berarti bahwa informasi harus jelas

mencerminkan maksudnya.

b. Tepat waktu

Informasi yang sampai pada si penerima tidak poleh terlambat,

informasi yang sudah usang tidak akan mempunyai nilai lagi. Karena

informasi merupakan landasan di dalam pengambilan keputusan.

c. Relevan

Informasi tersebut mempunyai manfaat untuk pemakainya. Relevansi

untuk setiap orang, satu dengan lainnya adalah berbeda.

2.1.4 Aplikasi

Hendrayudi mendefinisikan bahwa “Aplikasi adalah kumpulan

perintah program yang dibuat untuk melakukan pekerjaan-pekerjaan tertentu

(khusus)” (Hendrayudi 2009, 143).

Murhada dan Yo Ceng Giap mengungkapkan bahwa “Perangkat

lunak aplikasi sejatinya adalah program yang didesain khusus untuk

menyelesaikan masalah spesifik pengguna, seperti melakukan tugas-tugas

mengetik dokumen, manipulasi foto, merancang bangunan” (Murhada & Yo

2011, 104).

Perangkat lunak aplikasi dapat digolongkan menjadi beberapa

golongan, yaitu:

Page 28: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

10

a. Perangkat lunak hiburan

Mencangkup berbagai macam program permainan (game), program

untuk memainkan musik, dan program menonton film.

b. Perangkat lunak pendidikan

Berguna untuk mempelajari atau mereferensi suatu pengetahuan, yang

termasuk kategori ini misalkan aplikasi kamus, ensiklopedia, pelajaran

ilmu pengetahuan, pelajaran bahasa asing, dan simulasi.

c. Perangkat lunak bisnis

Digunakan untuk menangani aplikasi bisnis. Misalnya berupa program

untuk menangani persediaan barang (inventory control), pencatatan

pembayaran piutang (account receieable) dan registrasi mahasiswa

(sistem informasi akademik).

d. Perangkat lunak produktivitas kerja

Berguna untuk meningkatkan produktivitas kerja pemakai. Beberapa

golongan perangkat lunak untuk meningkatkan kerja diantaranya word

proccessing, spreadsheet, desktop publishing, presentasi grafik,

komunikasi, personal information manager, dan manajemen data.

2.1.5 Internet

Supardi mengemukakan di buku berjudul Internet untuk Segala

Kebutuhan bahwa, “Internet yang merupakan akronim dari Interconnection

Network adalah jaringan komputer dengan skala dunia. Teknologi internet

memakai protokol TCP/IP yang pertama kali dikenalkan dan diuji coba oleh

US Departement of Defense (US DoD) dalam proyek ARPANET (Advanced

Research Project Agency Network) pada tahun 1969.” (Supardi 2009, 1)

Page 29: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

11

Menurut Murhada dan Yo Ceng Giap “Internet adalah jaringan

komputer yang bisa dikatergorikan sebagai WAN, menghubungkan berjuta

komputer di seluruh dunia, di mana setiap orang memiliki komputer dapat

bergabung ke dalam jaringan ini” (Murhada & Yo 2011, 195).

1. Sejarah Internet

Darma, Jarot S., dan Ananda mengungkapkan dalam buku berjudul

Buku Pintar Menguasai Internet bahwa, “Rangkaian pusat yang

membentuk internet diawali pada tahun 1969 oleh ARPA (Advanced

Research Project Agency), sebuah badan yang dibentuk pada tahun 1958

oleh Amerika yang terdiri para peneliti dan teknisi dari universitas dan

laboratorium yang ada di Amerika. Awalnya, badan ini dibentuk untuk

menyaingi Rusia, yang saat itu lebih maju dibidang satelit. Para peneliti

pun bekerja, tidak harus di satu lokasi, untuk membuat penelitian dan

mendedikasikan hasil penelitian tersebut untuk perkembangan teknologi

Amerika Serikat.

Karena mereka bekerja dengan satu tujuan, tentu mereka harus saling

berbagi hasil penelitian sesering mungkin. Namun, karena para peneliti

tersebut bekerja tidak dalam satu lokasi, mereka mengalami kesulitan

dalam hal ini. Akhirnya, ARPA memutuskan untuk membuat sebuah

jaringan komputer pada tahun 1969, yang diberi nama ARPANET.

Dengan adanya ARPANET, para peneliti dari seluruh belahan Amerika

bisa berkomunikasi dan mengakses data-data yang mereka perlukan dari

komputer server yang telah disediakan. Sambungan atau jalur yang

digunakan ARPANET saat itu adalah jalur atau kabel telepon. Namun,

Page 30: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

12

pada waktu itu, ARPANET bukanlah untuk semua orang, hanya untuk

kalangan tertentu.

Untuk proses mempercepat transmisi data, ARPANET akhirnya

bekerja sama dengan pihak NOVEL. Mereka menggunakan teknologi

yang dinamakan paket switching. Dengan teknologi setiap paket atau data

yang dikirim, akan dipecah menjadi paket-paket yang kecil, sehingga bisa

mempercepat proses. Saat data sampai ke tempat tujuan, data tersebut

akan disatukan kembali.

Pada waktu itu, teknologi network hub belum ditemukan,

menyebabkan server yang ada di ARPANET (empat buah) harus

dihubungkan secara langsung dari satu server ke server yang lain. Seiring

waktu, akhirnya para peneliti menyadari akan besarnya manfaat yang

diberikan oleh networking. Setelah melalui beberapa penelitian, akhirnya

mereka berhasil mengembangkan teknologi networking, yang

menyebakan jumlah komputer yang terhubung semakin banyak.

Pada tahun 1972, email mulai diperkenalkan. Dengan email, para

peneliti bisa lebih mudah untuk berkirim data dan informasi. Semenjak

saat itu, traffic yang ada dalam networking tersebut menjadi semakin

tinggi. Pada 1 Januari 1973, ARPANET menukar protokol rangkaian

pusatnya, dari NCP ke TCP/IP. Ini merupakan awal dari internet yang

kita kenal hari ini. Pada tahun 1989, ARPANET telah memiliki 100.000

server yang saling berhubungan” (Darma, S., & Ananda 2009, 2).

Darma, Jarot S., Ananda menambahkan bahwa, “Hanya mereka yang

mengerti dan memahami bahasa pemrograman, hafal angka-angka dari

alamat-alamat internet, atau internet address saja yang bisa menggunakan

Page 31: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

13

ARPANET. Apalagi masing-masing jenis jenis atau tipe komputer

menggunakan cara yang berbeda untuk mengakses file, networks protocol

yang digunakan pun juga masih berbeda-beda. Pada akhirnya, tahun

1989, diperkenalkan sebuah protokol, yaitu Hypertext Transfer Protocol

atau HTTP. Dengan protokol yang sama, akan memudahkan komputer

untuk saling berhubungan. Dengan HTTP ini, internet tidak lagi menjadi

rumit dan bukan lagi hanya untuk para ilmuwan atau teknisi. Protokol ini

pertama kali dibuat oleh Tim Berners-Lee.

HTTP dapat juga dikatakan sebagai alamat yang digunakan di dalam

internet. Alamat ini menunjukan suatu identitas yang unik. Seperti alamat

rumah, alamat pada masing-masing halaman pada internet pasti berbeda-

beda, sehingga memudahkan pencarian bagi penjelajahnya. Sedangkan

untuk alamat masing-masing komputer yang mengakses internet,

digunakan istilah IP (Internet Protocol) Address. Setiap komputer yang

online mempunyai IP address yang berbeda dengan komputer lainnya.

Tidak ada dua komputer yang memiliki IP address yang sama” (Darma,

S., & Ananda 2009, 2).

2. Layanan Internet

Penulis lain menambahkan bahwa “Layanan-layanan di internet yang

terpopuler adalah” (Supardi 2009, 3):

a. Email: layanan untuk berkirim surat secara elektronik.

b. Browsing: layanan untuk menelusuri situs web.

c. Hosting: layanan untuk meletakan web atau situs yang kita buat

sehingga dapat dilihat di seluruh dunia.

Page 32: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

14

d. Chatting: komunikasi dengan teks, foto, video, dan lain-lainnya ke

seluruh penjuruh dunia.

e. Search engine: layanan dan membantu Anda untuk mencari informasi

dari situs tertentu.

2.1.6 Basis Data

Anniss menemukakan bahwa “Basis Data atau lebih dikenal

database, dalam teknologi informasi adalah aplikasi komputer yang

digunakan untuk menyimpan, mengelola, dan mengakses informasi yang

dikenal sebagai data. Terdapat banyak aplikasi basis data, biasa disebut

DBMS (DataBase Management System)” (Anniss 2014, 5)

Sebuah basis data (database) memiliki satu atau banyak entitas

(umumnya menggunakan istilah table), dan masing-masing table tersebut

memiliki satu atau banyak atribut (umumnya menggunakan istilah field atau

column).

Penulis lain menambahkan bahwa “Ada banyak jenis basis data, Anda

dapat mendapatkannya secara gratis ataupun berbayar. Contoh aplikasi basis

data yang bisa Anda kunjungi adalah” (Politwika, 2017, hal. 345):

a. MS Access

b. DBV

c. FoxPro

d. Paradox

e. MySQL

Page 33: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

15

2.1.7 Website

Menurut Yuhefizar, “Website adalah keseluruhan halaman-halaman

web yang terdapat dalam sebuah domain yang mengandung informasi.

Sebuah website biasanya dibangun atas banyak halaman web yang saling

berhubungan. Hubungan antara satu halaman web dengan halaman web yang

lainnya disebut dengan hyperlink, sedangkan teks yang dijadikan media

penghubung disebut hypertext” (Yuhefizar, Mooduto dan Rahmat 2009, 2).

Menurut Yudianto (2011, 8), “Pengertian website adalah kumpulan

dari alaman web yang sudah dipublikasikan di jaringan internet dan memiliki

domain/URL (Uniform Resource Locator) yang dapat diakses semua

pengguna internet dengan cara mengetikan alamatnya. Hal ini dimungkinkan

dengan adanya teknologi WorldWideWeb (WWW) fasilitas hypertext guna

menampilkan data berupa teks, gambar, animasi, suara dan multimedia

lainnya. Data tersebut dapat saling terhubung pada web server untuk dapat

diakses melalui jaringan internet. Agar data pada web dapat dibaca kita harus

menggunakan web server terlebih dahulu seperti Mozila Firefox, Internet

Explorer, Opera, Google Chrome, atau yang lainnya.”

Menurut Hidayat (2010, 6), “Website adalah keseluruhan halaman-

halaman web yang terdapat dalam sebuah domain yang mengandung

informasi. Sebuha website biasanya dibangun atas banyak halaman web yang

saling berhubungan satu sama lain. Jadi dapat dikatakan bahwa pengertian

website adalah kumpulan halaman-halaman yang digunakan untuk

menampilkan informasi teks, gambar diam atau bergerak, animasi, suara

dan/atau gabungan dari semuanya, baik yang bersifat dinamis yang

membentuk satu rangkaian bangunan yang saling terkait yang masing-masing

Page 34: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

16

dihubungkan dengan jaringan halaman. Hubungan antara satu halaman

website dengan halaman website lainnya disebut dengan hyperlink sedangkan

teks yang dijadikan media disebut hypertext.

2.2 Teori Khusus

2.2.1 Inventory

Menurut Nanaban, “Inventory adalah persediaan dalam bahasa

Indonesia. Persediaan, kaitannya dengan aktivitas logistik sebuah

perusahaan, merupakan suatu kegiatan yang menyediakan stok bahan baku

atau barang setengah jadi ataupun barang jadi demi kelancaran proses

produksi dan/atau pemenuhan permintaan pelanggan.”

Dalam kalimat yang sederhana, persediaan ini hampir menyerupai

sistem persediaan yang dilakukan di keluarga Anda untuk memenuhi

kebutuhan konsumsi rumah tangga.

Contohnya adalah di dalam belanja bulanan kebutuhan rumah tangga

seringkali kita membeli beberapa barang konsumsi tidak hanya satu buah saja

tetapi bisa beberapa buah, misalnya sabun mandi, sabun cuci, sikat gigi, dan

sebagainya.

Tujuannya adalah supaya pada saat kita membutuhkan barang-barang

ini selalu tersedia di rumah, sehingga tidak perlu repot untuk bepergian setiap

kali membutuhkannya.

Secara ringkas manfaat utamanya adalah untuk efisiensi waktu dan

biaya. Ada baiknya kita simak penjelasan lebih lanjut untuk masing-masing

jenis Inventory (Persediaan).

Page 35: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

17

Menurut Musifa (2019, 1), jenis-jenis inventory dapat dibagi menjadi 5, yaitu:

a. Persediaan bahan baku (raw material)

b. Komponen rakitan (part/components)

c. Bahan pembantu (supplies)

d. Barang dalam proses (work in process)

e. Barang jadi (finished goods)

Menurut penulis yang sama, fungsi inventory adalah sebagai berikut:

a. Menghilangkan/mengurangi risiko keterlambatan pengiriman bahan

b. Menyesuaikan dengan jadwal produksi

c. menghilangkan/mengurangi risiko kenaikan harga

d. Menjaga persediaan bahan yang dihasilkan secara musiman

e. Mengantisipasi permintaan yang dapat diramalkan

f. Mendapatkan keuntungan dari quantity discount

g. Komitmen terhadap pelanggan

2.2.2 Waterfall

Menurut Bahjar, “Metode air terjun atau yang sering disebut metode

waterfall sering dinamakan siklus hidup klasik (classic life cycle), di mana

hal ini menggambarkan pendekatan yang sistematis dan juga berurutan pada

pengembangan perangkat lunak, dimulai dengan spesifikasi kebutuhan

pengguna lalu berlanjut melalui tahapan-tahapan perencanaan (planning),

permodelan (modeling), konstruksi (construction), serta penyerahan sistem

ke para pelanggan/pengguna (deployment), yang diakhiri dengan dukungan

pada perangkat lunak lengkap yang dihasilkan.”

Page 36: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

18

Tahapan Metode Waterfall

Dalam pengembangannya metode waterfall memiliki beberapa tahapan yang

berurut yaitu: requirement (analisis kebutuhan), design system (desain

sistem), coding (pengkodean) & testing (pengujian), Penerapan program,

pemeliharaan. Tahapan tahapan dari metode waterfall adalah sebagai berikut:

a. Requirement Analisis

Tahap ini pengembang sistem diperlukan komunikasi yang

bertujuan untuk memahami perangkat lunak yang diharapkan oleh

pengguna dan batasan perangkat lunak tersebut. Informasi ini

biasanya dapat diperoleh melalui wawancara, diskusi atau survei

langsung. Informasi dianalisis untuk mendapatkan data yang

dibutuhkan oleh pengguna.

b. System Design

Spesifikasi kebutuhan dari tahap sebelumnya akan dipelajari

dalam fase ini dan desain sistem disiapkan. Desain sistem

membantu dalam menentukan perangkat keras (hardware) dan

sistem persyaratan dan juga membantu dalam mendefinisikan

arsitektur sistem secara keseluruhan.

c. Implementation

Pada tahap ini, sistem pertama kali dikembangkan di program

kecil yang disebut unit, yang terintegrasi dalam tahap selanjutnya.

Setiap unitdikembangkan dan diuji untuk fungsionalitas yang

disebut sebagai unit testing.

Page 37: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

19

d. Integration & Testing

Seluruh unit yang dikembangkan dalam tahap implementasi

diintegrasikan ke dalam sistem setelah pengujian yang dilakukan

masing-masing unit. Setelah integrasi seluruh sistem diuji untuk

mengecek setiap kegagalan maupun kesalahan.

e. Operation & Maintenance

Tahap akhir dalam model waterfall. Perangkat lunak yang

sudah jadi, dijalankan serta dilakukan pemeliharaan.

Pemeliharaan termasuk dalam memperbaiki kesalahan yang tidak

ditemukan pada langkah sebelumnya. Perbaikan implementasi unit

sistem dan peningkatan jasa sistem sebagai kebutuhan baru.

2.2.3 Algoritma

Menurut Sahyar, “Algoritma adalah langkah-langkah yang sistematis, logis

dan lengkap untuk penyelesaian suatu masalah” (Sahyar 2016, 4).

Sahyar menambahkan, “ada dua cara menyusun algoritma, yaitu:”

(Sahyar 2016, 4).

a. Menggunakan bagan-bagan/simbol-simbol tertentu yang membentuk

bagan alir (flowchart).

b. Menggunakan kata-kata atau kalimat matematis.

Pengertian algoritma menurut Cipta Ramadhani (2015, 1), “algoritma

adalah kumpulan perintah yang saling berkaitan untuk menyelesaikan suatu

masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal

hingga akhir. Diperlukan urutan serta logika agar algoritma yang dihasilkan

Page 38: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

20

sesuai dengan yang diharapkan. Beberapa pendapat tentang istilah algoritma

adalah sebagai berikut:”

a. Anonim

Algoritma adalah prosedur tahap demi tahap untuk pemecahan

masalah.

b. Antony Pranata

Algoritma adalah urutan langkah berhingga untuk memecahkan

masalah logika atau matematika.

c. Suarga

Algoritma adalah teknik penyusunan langkah-langkah penyelesaian

masalah dalam bentuk kalimat dengan jumlah kata terbatas, tetapi

tersusun secara logis dan sistematis.

Secara umum algoritma adalah langkah-langkah komputasi yang

mengubah masukan (input) menjadi keluaran (output) yang benar. Algoritma

yang masih berupa logika pemecahan masalah selanjutnya diubah menjadi

program komputer (disebut source code).

Algoritma merupakan bagian yang terpenting dan tidak dapat

dipisahkan dari pemrograman. Meskipun sintaksis dan semantik yang dibuat

benar adanya, namun dengan algoritma yang keliru permasalahan yang ingin

dipecahkan dengan teknik pemrograman tidak akan berhasil. Oleh karena itu,

sebelum membuat suatu program aplikasi, hal pertama yang harus kita

pahami adalah algoritma atau prosedur pemecahannya. Tujuannya agar

program yang telah dibuat dapat sesuai dengan apa yang diharapkan.

Sintaksis dapat diartikan sebagai tata bahasa yang digunakan dalam program,

semantik adalah maksud yang dikandung pada setiap pernyataan di dalam

Page 39: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

21

program. Sementara kebenaran logika berhubungan dengan benar-tidaknya

urutan pernyataan serta prosedur yang ada dalam program, atau yang biasa

disebut algoritma.

Menurut Donald E. Knuth, algoritma yang baik memiliki kriteria

sebagai berikut:

a. Input

Suatu algoritma harus memiliki nol atau lebih masukan (input). Artinya,

suatu algoritma itu dimungkinkan tidak memiliki masukan secara

langsung dari pengguna tetapi dapat juga memiliki beberapa masukan.

Algoritma yang tidak memiliki masukan secara langsung dari pengguna,

maka semua data dapat diinisialisasikan atau dibangkitkan dalam

algoritma.

b. Output

Suatu algoritma harus memiliki satu atau lebih algoritma. Suatu

algoritma yang tidak memiliki keluaran (output) adalah suatu algoritma

yang sia-sia, yang tidak perlu dilakukan. Algoritma dibuat untuk tujuan

menghasilkan sesuatu yang diinginkan, yaitu berupa hasil keluaran

(output).

c. Finitenes

Setiap pekerjaan yang dikerjakan pasti berhenti. Algoritma pun sama,

harus dapat dijamin akan berhenti setelah melakukan sejumlah langkah

proses.

d. Definiteness

Tidak menimbulkan makna ganda. Setiap baris aksi/pernyataan dalam

suatu algoritma harus pasti, artinya tidak menimbulkan penafsiran lain

Page 40: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

22

bagi setiap pembaca algoritma, sehingga memberikan output yang sesuai

dengan yang diharapkan oleh pengguna. Dan sesuai dengan yang

diinginkan pengguna.

e. Effectiveness

Langkah-langkah algoritma dikerjakan dalam waktu yang wajar. Suatu

algoritma tidak terdapat suatu aksi yang tidak diperlukan. Setiap aksi

akan memberlukan waktu eksekusi, padahal aksi tersebut jelas tidak

berpengaruh atau tidak ada gunanya. Misalnya aksi X<X+0. Aksi ini

jelas tidak ada pengaruh dan tidak ada gunanya karena X+0 akan

menghasilkan bilangan X juga yang berarti tidak berguna. Jadi, tidak

perlu dilakukan karena sia sia.

Pada dasarnya, algoritma merupakan deskripsi pelaksanaan suatu

proses sehingga proses akan dikerjakan sesuai dengan algoritma yang telah

ditulis. Urutan langkah dalam algoritma disusun dalam sederetan aksi.

Prinsip kerja suatu algoritma dapat dilihat dalam suatu masukan (input), yaitu

adanya masukan ke dalam algoritma yang akan diproses dan akan

memberikan hasil yang diinginkan.

2.2.4 JSON (JavaScript Object Notation)

Menurut Deitel (2012, 303), JSON (JavaScript Object Notation)

adalah suatu format pertukaran data computer. Format dari JSON adalah

berbasis teks, dapat terbaca oleh manusia, digunakan untuk

mempresentasikan struktur data sederhana, dan tidak bergantung dengan

bahasa apa pun. Noasamya digunakan pada aplikasi Ajax. Format JSON

sering digunakan untuk mentransmisikan data terstruktur melalui koneksi

Page 41: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

23

jaringan. Secara umum, JSON digunakan untuk mentransmisikan data antara

server dan aplikasi web.

Jenis media internet yang resmi untuk JSON adalah aplikasi/json.

Format JSON sering digunakan untuk serialisasi dan mengirimkan data

terstruktur melalui koneksi jaringan, terutama untuk pengiriman data antara

server dan aplikasi web melayani sebagai alternatif ke XML.

Menurut Anton & Subagia (2018, 38), “JSON merupakan format

pertukaran data yang ringan dan tidak tergantung pada bahasa apa pun.

Format JSON menggunakan bahasa yang umum digunakan oleh bahasa

pemrograman C termasuk C#, C++, Java, JavaScript, dll. Karena itu JSON

sangat cocok sebagai bahasa untuk pertukaran data.”

JSON terdiri dari dua struktur, yaitu objek dan array. Objek dalam

JavaScript merupakan kumpulan pasangan nama dan nilai yang diawali

dengan tanda { dan diakhiri dengan tanda } yang demikian kita sebut kurung

kurawal. Sedangkan array merupakan daftar nilai beruntutan yang diawali [

dan diakhiri dengan ] atau yang biasa kita sebut dengan kurung siku. PHP

telah menyediakan fungsi untuk mengubah array menjadi format JSON

sehingga akan memudahkan kita dalam mengirim data dengan format JSON

pada Teknik Ajax. Format JSON sangat cocok digunakan untuk menampilkan

data dari database melalui Ajax.

Page 42: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

24

2.2.5 Web Service

Kasman mengemukakan, “Web Service adalah aplikasi yang dibuat

agar dapat dipanggil dan diakses oleh aplikasi lain melalui internet dengan

menggunakan format pertukaran data sebagai format pengiriman pesan”

(Kasman 2015, 10).

Kreger mengatakan, “Web service dapat diartikan sebagai antarmuka

(interface) yang menggambarkan sekumpulan operasi yang dapat diakses

melalui jaringan, misalkan internet dalam bentuk pesan XML (Extensible

Markup Language)” (Kreger (2011, 8).

Hartono dkk, (2012, 5) mengungkapkan, “Weh service menyediakan

standard komunikasi di antara berbagai aplikasi software yang berbeda-beda

dan dapat berjalan di berbagai platform maupun framework. Web service

digunakan sebagai salah satu fasilitas yang disediakan oleh suatu web untuk

menyediakan layanan dalam bentuk informasi kepada sistem lain, sehinggal

sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan service

yang disediakan oleh suatu sistem yang menyediakan web service.”

Web service sebenarnya adalah kumpulan dari fungsi dan method

yang terdapat pada server yang dapat dipanggul oleh klien dari jarak jauh

kemudian untuk memanggil method-method tersebut kita bebas

menggunakan aplikasi yang akan dibuat dengan menggunakan Bahasa

pemrograman apa saja yang dijalankan pada platform apa saja. (Marthasari

2010, 2).

Page 43: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

25

a. RESTful

Ada beberapa pendekatan teknologi web service yang dapat

digunakan, yaitu metode SOAP dan REST. Dalam penelitian ini akan

digunakan pendekatan REST. REST merupakan singkatan dari

Representative State Transfer. Pertama kali ditemukan dalam

disertasi seorang program doctor bernama Roy Thomas Fielding pada

tahun 2000 (Rozali 2011, 13). REST adalah sebuah metode dalam

menyampaikan resource melalui media web. Sedangkan resource

sendiri didefinisikan sebagai urutan bit, misalkan sebuah dokumen,

tabel dalam sistem bisnis data, ataupun hasil dari sebuah perhitungan.

REST (Representative State Transfer) adalah model arsitektur

yang pada dasarnya memanfaatkan teknologi protokol yang sudah ada

seperti HTTP (Hypertext Transfer Protocol) dan XML (Extensible

Markup Language)” (Riyandi 2013, 2).

Menurut Masse, “API memaparkan serangkaian data dan

fungsi untuk memfasilitasi interaksi antara program komputer dan

memungkinkan mereka untuk bertukar informasi. Web API adalah

wajah dari layanan web, langsung mendengarkan dan menanggapi

permintaan klien. Adanya REST API otomatis membuat sebuah web

service menjadi 'RESTful.' REST API terdiri dari sekumpulan sumber

daya yang saling terkait” (Masse 2011, 5).

REST adalah salah satu jenis web service yang menerapkan

konsep perpindahan antar state. State di sini dapat digambarkan

seperti jika browser meminta suatu halaman web, maka server akan

mengirimkan state halaman web yang sekarang ke browser.

Page 44: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

26

Bernavigasi melalui link-link yang disediakan sama halnya dengan

mengganti state dari halaman web. Begitu pula REST bekerja, dengan

bernavigasi melalui link-link HTTP untuk melakukan aktivitas

tertentu, seakan-akan terjadi perpindahan state satu sama lain.

Perintah HTTP yang bisa digunakan adalah fungsi GET, POST, PUT

atau DELETE. Balasan yang dikirimkan adalah dalam bentuk XML

sederhana tanpa ada protokol pemaketan data, sehingga informasi

yang diterima lebih mudah dibaca dan di-parsing di sisi client. Dalam

pengaplikasiannya, REST lebih banyak digunakan untuk web service

yang berorientasi pada resource. Maksud orientasi pada resource

adalah orientasi yang menyediakan resource-resource sebagai

layanannya dan bukan kumpulan-kumpulan dari aktifitas yang

mengolah resource itu. Selain itu, karena standarnya yang kurang

sehingga tidak begitu cocok diterapkan dalam aplikasi yang

membutuhkan kerjasama antar aplikasi lain, di mana standar yang

baik akan sangat berguna karena berbicara dalam satu bahasa yang

sama. Beberapa contoh web service yang menggunakan REST adalah:

Flickr API (Application Program Interface), YouTube API, Amazon

API.

Dalam penggunaannya, REST API terbukti lebih cepat dalam

transfer data daripada metode lain yang serupa, dalam hal ini SOAP

(Symple Object Access Protocol). Tidak seperti SOAP, tidak ada

notasi standar resmi untuk RESTful API. Hal ini dikarenakan REST

merupakan arsitektur, sedangkan SOAP adalah protokol.

Page 45: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

27

Gambar 2.1 Uji coba SOAP dan RESTful web service

(Sumber: Performance & Evaluation of RESTful web service)

Less message size dan response time yang lebih kecil dari

SOAP membuktikan bahwa RESTful menggunakan power yang

rendah dan layanan web service yang cepat, sehingga RESTful lebih

cocok diterapkan pada saat ini.

Dalam perjalanannya, pengembangan untuk mengembangkan

sebuah RESTful API menemui kendala dalam penamaan sebuah objek.

Notasi objek-objek yang ada haruslah memudahkan pengembang

dalam menamainya namun juga harus dikenali oleh komputer. Alasan

inilah yang membuat pengembang menggunakan JSON (JavaScript

Object Notation) sebagai notasi untuk REST Web Service dalam

aplikasi miliknya. Penggunaan JSON untuk menyokong pembuatan

aplikasi mobile berbasis REST API juga dianggap lebih baik

performanya untuk pengguna mobile.

Secara umum, terdapat dua buah konsep dasar tentang REST, yaitu:

Page 46: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

28

a. Resource-Based

REST menekankan pada resource atau objek yang akan

dimanipulasi. Ambillah beberapa contoh objek-objek yang dapat

dimanipulasi dalam suatu restoran, misal Menu (buat menu, hapus

menu, edit menu, dsb) dan Utensil/peralatan dapur (dapatkan info

tentang peralatan, ganti peralatan, dsb). Dengan menggunakan

ilustrasi tersebut, yang dimaksud Resource-Based adalah sebagai

berikut:

REST:

a. Menu

b. Utensil

Bukan REST:

a. getMenuInfo

b. getUtensilInfo

Resource pada REST diidentifikasi dengan menggunakan URI

REST:

a. http://myrestfulapp.com/menu/{id}

b. http://myrestfulapp.com/utensil/{id}

Bukan REST:

a. restaurantAPI.getMenuInfo(int id)

b. restaurantAPI.getUtensilInfo(int id)

Bukan REST:

a. http://myrestfulapp.com/getMenuInfo/{id}

b. http://myrestfulapp.com/getUtensilInfo/{id}

Page 47: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

29

Gambar 2.2 Cara Kerja REST API

(Sumber: https://blog-tki.universitaspertamina.ac.id/post/12/mengulik_restful_api/)

Jika dilihat, resources/objek-objek tersebut dituliskan dengan

menggunakan kata benda (nouns) bukan kerja (verbs).

a. Representation

Konsep berikutnya adalah mengenai Representation. Bagaimana

REST merepresentasikan sebuah objek? Bagaimana suatu objek

dimanipulasi? Umumnya, REST menggunakan JSON atau XML

dalam merepresentasikan objek.

Contoh sebuah layanan REST adalah sebagai berikut:

b. Resource: Menu (http://myrestfulapp.com/menu/{id})

c. Service: Get menu information (GET)

d. Representation:

1. ID

2. Title

3. Price

Page 48: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

30

Contoh penggunaan:

a. request:

(GET) http://myrestfulapp.com/menu/1

b. response:

{ “id” : “1”, “title” : “Egg Benedict”, “price” : “6.50” }

JSON tersebut adalah contoh reprentasi sebuah

resource/objek dalam REST.

Kurang lebih seperti itulah gambaran umum dari konsep

REST. Seperti yang telah disampaikan sebelumnya, untuk

membuat suatu RESTful API, API tersebut harus dibuat dengan

mematuhi constraints yang berlaku. Adapun REST memiliki 6

constraints, yaitu:

a. Uniform Interface

b. Stateless

c. Cacheable

d. Client-Server

e. Layered System

f. Code on Demand (optional)

2.2.6 Framework

Menurut Wardana, “Framework adalah kumpulan perintah atau

fungsi dasar yang membentuk aturan-aturan tertentu dan asling berinteraksi

satu sama lain sehingga dalam pembuatan aplikasi website, kita harus

mengikuti aturan dari framework tersebut” (Wardana 2010, 3).

Page 49: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

31

Sedangkan menurut Yudhanto, “Framework adalah kerangka kerja.

Framework juga dapat diartikan sebagai kumpulan script (terutama class dan

function) yang dapat membantu developer/programmer dalam menangani

berbagai masalah-masalah dalam pemrograman, seperti koneksi ke database,

pemanggilan variabel, file dan lain-lain sehingga pekerjaan developer lebih

fokus dan cepat dalam membangun aplikasi. Framework adalah komponen

pemrograman yang siap digunakan ulang kapan saja sehingga programmer

tidak harus membuat script yang sama untuk tugas yang sama” (Yudhanto

2018, 8).

2.2.7 MVC

MVC adalah konsep arsitektur dalam pembangunan aplikasi berbasis

web yang membagi aplikasi web menjadi tiga bagian besar, yang mana setiap

bagian memiliki tugas-tugas serta tanggung jawab masing-masing. Tiga

bagian tersebut adalah: model, view dan controller. Dengan MVC, maka

memungkinkan pemisahan antara layer application-logic dan presentation.

Sehingga, dalam sebuah pengembangan web, seorang programmer bisa

berkonsentrasi pada core-system, sedangkan web designer bisa

berkonsentrasi pada tampilan web. Menariknya, skrip PHP, query MySQL,

JavaScript dan CSS bisa saling terpisah, tidak dibuat dalam satu skrip

berukuran besar yang membutuhkan resource besar pula untuk

mengesekusinya.

Page 50: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

32

Penjelasan model-view-controller yaitu:

a. Model

Bertugas untuk mengatur, menyiapkan, memanipulasi dan

mengorganisasikan data (dari database) sesuai dengan instruksi dari

controller.

b. View

Bertugas untuk menyajikan informasi (yang mudah dimengerti)

kepada user sesuai dengan instruksi dari controller.

c. Controller

Bertugas untuk mengatur apa yang harus dilakukan model, dan view

mana yang harus ditampilkan berdasarkan permintaan dari user.

Namun, terkadang permintaan dari user tidak selalu memerlukan

aksi dari model. Misalnya seperti menampilkan halaman form untuk

registrasi user.

Gambar 2.3 Alur kerja MVC secara ringkas

(Sumber: https://jagongoding.com/web/memahami-konsep-mvc/)

Page 51: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

33

2.3 Teori Analisa dan Perancangan

2.3.1 XAMPP

Gambar 2.4 XAMPP

(Sumber: https://commons.wikimedia.org/wiki/File:Xampp_logo.svg)

Dadan & Kerendi Developers mengemukakan, “XAMPP adalah salah

satu aplikasi web server apache yang terintegrasi dengan MySQL dan

PHPMyadmin. XAMPP adalah singkatan dari X, Apache Server, MySQL,

PHPMyadmin dan Python. Huruf X di depan menandakan XAMPP dapat

diinstal di berbagai sistem operasi” (Dadan & Kerendi Developers 2015, 28).

Sedangkan menurut Yudhanto, “XAMPP adalah kompilasi program

aplikasi gratis terfavorit di kalangan developer/programmer yang berguna

untuk pengembangan website berbasis PHP dan MySQL” (Yudhanto 2018,

14).

Bagian penting dari XAMPP yang biasa digunakan:

a. Htdoc adalah folder tempat meletakkan berkas-berkas yang akan

dijalankan, seperti berkas PHP, HTML, dan skrip lain.

b. PHPMyadmin merupakan bagian untuk mengelola basis data mysql yang

ada di komputer. Untuk membukanya, buka browser lalu ketikkan alamat

http://localhost/phpmyadmin.

c. Kontrol Panel yang berfungsi untuk mengelola layanan (service)

XAMPP. Seperti menghentikan (stop) layanan, ataupun memulai (start).

Page 52: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

34

2.3.2 VSCode

Gambar 2.5 VSCode

(Sumber: https://en.wikipedia.org/wiki/Visual_Studio_Code)

Visual Studio Code (VS Code) ini adalah sebuah teks editor ringan dan

handal yang dibuat oleh Microsoft untuk sistem operasi multiplatform, artinya

tersedia juga untuk versi Linux, Mac, dan Windows. Teks editor ini secara

langsung mendukung bahasa pemrograman JavaScript, Typescript, dan Node

JS, serta bahasa pemrograman lainnya dengan bantuan plugin yang dapat

dipasang via mysql.

Banyak sekali fitur-fitur yang disediakan oleh Visual Studio Code,

diantaranya Intellisense, Git Integration, Debugging, dan fitur ekstensi yang

menambah kemampuan teks editor. Fitur-fitur tersebut akan terus bertambah

seiring dengan bertambahnya versi Visual Studio Code. Pembaruan versi

Visual Studio Code ini juga dilakukan berkala setiap bulan, dan inilah yang

membedakan VS Code dengan teks editor yang lain.

Teks editor VS Code juga bersifat open source, yang mana kode

sumbernya dapat kalian lihat dan kalian dapat berkontribusi untuk

pengembangannya. Kode sumber dari VS Code ini pun dapat dilihat di link

Page 53: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

35

Github. Hal ini juga yang membuat VS Code menjadi favorit para

pengembang aplikasi, karena para pengembang aplikasi bisa ikut serta dalam

proses pengembangan VS Code ke depannya.

VS Code dapat digunakan secara langsung tanpa perlu ekstensi selama

alur pemrogramannya sudah didukung langsung. Namun ada beberapa alur

pemrograman yang tidak didukung langsung misalnya penggunaan snippets

code dan kemampuan Intellisense yang masih kurang. Di sini letak kegunaan

ekstensi karena dapat menambah kemampuan dukungan alur pemrograman

yang diinginkan. Ekstensi VS Code ini banyak dibuat oleh pengembang-

pengembang pihak ketiga yang juga menjadi kontributor dari VS Code.

Di dalam Pasar Ekstensi tersebut, pengguna VS Code dapat memilih-

memilih ekstensi yang diinginkan sesuai kebutuhan. Dan mayoritas ekstensi

tersebut bersifat gratis. Pasar Ekstensi VS Code berisi tambahan kemampuan

snippet code untuk bahasa pemrograman tertentu, alur kerja pengembangan,

tambahan kemampuan fitur VS Code, tema warna untuk VS Code, dan masih

banyak lagi. Pemasangan ekstensi di dalam VS Code dapat dilakukan

langsung di dalam VS Code. Yaitu dengan mengakses menu Extensions (Ctrl

+ Shift + X ), kemudian mencari ekstensi dengan mengetikkan nama ekstensi

di kotak pencarian.

Page 54: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

36

2.3.3 HTML

Gambar 2.6 HTML

(Sumber: https://www.pngdownload.id/png-hcxtdk/)

Menurut Lavarino, Dio dan Wiyli Yustanti (2016, 74), “Hypertext

Markup Language (HTML) adalah bahasa markup yang umum digunakan

untuk membuat halaman web. Sebenarnya HTML bukanlah sebuah bahasa

pemrograman. Apabila ditinjau dari namanya, HTML merupakan bahasa

markup atau penandaan terhadap sebuah dokumen teks. Tanda tersebut di

gunakan untuk menentukan format atau style dari teks yang di tandai.”

HTML dibuat oleh Tim Berners-Lee ketika masih bekerja untuk

CERN dan dipopulerkan pertama kali oleh browser Mosaic. Selama awal

tahun 1990 HTML mengalami perkembangan yang sangat pesat. Setiap

pengembangan HTML pasti akan menambahkan kemampuan dan fasilitas

yang lebih baik dari versi sebelumnya.

Sebelum suatu HTML disahkan sebagai suatu dokumen HTML

standar, ia harus disetujui dulu oleh W3C untuk dievaluasi secara ketat.

Setiap terjadi perkembangan suatu versi HTML, maka mau tak mau browser

Page 55: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

37

pun harus memperbaiki diri agar bisa mendukung kode-kode HTML yang

baru tersebut. Sebab jika tidak, browser tak akan bisa menampilkan HTML

tersebut.

2.3.4 CSS

Gambar 2.7 CSS

(Sumber: https://www.pngdownload.id/png-sz9ser/)

Menurut Pranata, Dana, Hamdani dan Dyna Marisa K (2015, 26), CSS

adalah suatu cara untuk membuat format atau layout halaman web menjadi

lebih menarik dan mudah dikelola. CSS muncul karena sulitnya mengatur

layout tampilan dokumen yang dibuat dengan HTML murni meskipun telah

menggunakan berbagai kombinasi format.

Suryana mengemukakan, “CSS (Cascading Style Sheet) adalah suatu

bahasa stylesheet yang digunakan untuk mengatur tampilan suatu website,

baik tata letaknya, jenis huruf, warna, dan semua yang berhubungan dengan

tampilan. Pada umumnya CSS digunakan untuk menformat halaman web

yang ditulis dengan HTML atau XHTML” (Suryana 2014, 123).

Page 56: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

38

2.3.5 PHP

Gambar 2.8 PHP

(Sumber: https://www.pngdownload.id/png-622o3d/)

Menurut Yudhanto, “PHP atau Hyper Preprocessor adalah bahasa

pemrograman script server side yang sengaja dirancang lebuh cenderung

untuk membuat dan mengembangkan web. Bahasa pemrograman ini memang

dirancang untuk para pengembang web agar dapat menciptakan suatu

halaman web yang bersifat dinamis” (Yudhanto 2018, 7).

Menurut Firman, Astria, Hans F. Wowor, Xaverius Najoan, “PHP

atau kependekan dari Hypertext Preprocessor adalah salah satu bahasa

pemrograman open source yang sangat cocok atau dikhususkan untuk

pengembangan web dan dapat ditanamkan pada sebuah skripsi HTML.

Bahasa PHP dapat dikatakan menggambarkan beberapa bahasa

pemrograman seperti C, Java, dan Perl serta mudah untuk dipelajari. PHP

merupakan bahasa scripting server–side, di mana pemrosesan datanya

dilakukan pada sisi server. Sederhananya, serverlah yang akan

Page 57: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

39

menerjemahkan skrip program, baru kemudian hasilnya akan dikirim kepada

client yang melakukan permintaan.”

Adapun pengertian lain PHP adalah akronim dari Hypertext

Preprocessor, yaitu suatu bahasa pemrograman berbasiskan kode–kode

(script) yang digunakan untuk mengolah suatu data dan mengirimkannya

kembali ke web browser menjadi kode HTML”.

Menurut Kustiyaningsih (2011, 114), “PHP (atau resminya PHP:

Hypertext Preprocessor) adalah skrip bersifat server–side yang ditambahkan

ke dalam HTML”. Pada prinsipnya server akan bekerja apabila ada

permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP

untuk mengirimkan permintaan ke server. Sistem kerja dari PHP diawali

dengan permintaan yang berasal dari halaman website oleh browser.

Berdasarkan URL atau alamat website dalam jaringan internet, browser akan

menemukan sebuah alamat dari webserver, mengidentifikasi halaman yang

dikehendaki, dan menyampaikan segala informasi yang dibutuhkan oleh

webserver. Selanjutnya webserver akan mencarikan berkas yang diminta dan

menampilkan isinya di browser. Browser yang mendapatkan isinya segera

menerjemahkan kode HTML dan menampilkannya. Lalu bagaimana apabila

yang dipanggil oleh user adalah halaman yang mengandung script PHP? Pada

prinsipnya sama dengan memanggil kode HTML, namun pada saat

permintaan dikirim ke webserver, webserver akan memeriksa tipe file yang

diminta user. Jika tipe file yang diminta adalah PHP, maka akan memeriksa

isi skrip dari halaman PHP tersebut.

Page 58: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

40

Apabila dalam file tersebut tidak mengandung script PHP,

permintaan user akan langsung ditampilkan ke browser, namun jika dalam

file tersebut mengandung script PHP, maka proses akan dilanjutkan ke modul

PHP sebagai mesin yang menerjemahkan script-script PHP dan mengolah

script tersebut, sehingga dapat dikonversikan ke kode-kode HTML lalu

ditampilkan ke browser user.

PHP dapat mengirim HTTP header, dapat mengatur cookies,

mengatur authentication dan redirect user. Salah satu keunggulan yang

dimiliki PHP adalah kemampuannya untuk melakukan koneksi ke

berbagai macam software sistem manajemen basis data atau Database

Management Sistem (DBMS), sehingga dapat menciptakan suatu halaman

web dinamis.

PHP mempunyai koneksitas yang baik dengan beberapa DBMS

seperti Oracle, Sybase, mSQL, MySQL, Microsoft SQL Server, Solid,

PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm, dan tidak terkecuali

semua database ber-interface ODBC.

Page 59: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

41

2.3.6 JavaScript

Gambar 2.9 JavaScript

(Sumber: https://imgbin.com/png/WcVjdck9/JavaScript-logo-html-comment-blog-png)

Menurut Lavarino, Dio dan Wiyli Yustanti (2016, 74), JavaScript

adalah bahasa yang berbentuk kumpulan skrip berjalan pada suatu dokumen

HTML. Bahasa ini adalah bahasa pemrograman untuk memberikan

kemampuan tambahan terhadap HTML dengan mengizinkan pengeksekusian

perintah-perintah disisi user variabel atau fungsi dengan nama TEST berbeda

dengan variabel dengan nama test dan setiap instruksi diakhiri dengan artinya

disisi browser bukan disisi server web. JavaScript adalah bahasa yang “case

sensitive” artinya memnedakan penamaan variabel dan fungsi yang

menggunakan huruf besar dan huruf kecil, contoh karakter titik koma.

Page 60: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

42

2.3.7 jQuery

Gambar 2.10 jQuery

(Sumber: https://www.pngdownload.id/png-z3ui1c/)

Menurut Lavarino, Dio dan Wiyli Yustanti (2016, 74), jQuery adalah

library JavaScript yang dibuat untuk memudahkan pembuatan website

dengan HTML yang berjalan di sisi client. jQuery diluncurkan pada tanggal

26 Januari 2006 di Barcamp NYC oleh John Resig dan berlisensi ganda di

bawah MIT dan GPL. Script jQuery dibuat untuk memudahkan pengaturan

document seperti menyeleksi object dengan elemen DOM dan membuat

aplikasi dengan AJAX. jQuery juga menyediakan layanan atau para developer

untuk membuat plugin di dalam bahasa JavaScript tentunya. Sehingga

memungkinkan para developer website membuat website lebih interaktif

dengan animasi, efek–efek, tema dan widget.

jQuery juga adalah kumpulan kode JavaScript siap pakai.

Keunggulan menggunakan jQuery dibandingkan dengan JavaScript standar,

yaitu menyederhanakan kode JavaScript dengan cara memanggil fungsi-

Page 61: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

43

fungsi yang disediakan oleh jQuery. JavaScript sendiri merupakan bahasa

Scripting yang bekerja disisi Client/Browser sehingga website bisa lebih

interaktif

jQuery adalah salah satu JavaScript framework terbaik saat ini.

jQuery dikembangkan oleh John Resig pada tahun 2006 di BarCamp NYC.

Pada awal berkembangannya, jQuery pertama dibuat untuk meringkas

penggunaan CSS Selector dalam suatu pustaka fungsi. jQuery memiliki ciri

khas pada penggunaan perintahnya, prefix untuk jQuery dengan tanda $

kemudian dilanjutkan dengan fungsi atau perintah.

2.3.8 MySQL

Gambar 2.11 MySQL

(Sumber: https://worldvectorlogo.com/logo/mysql)

Menurut Kustiyahningsih (2011, 145), “MySQL adalah sebuah basis

data yang mengandung satu atau jumlah tabel. Tabel terdiri atas sejumlah

Page 62: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

44

baris dan setiap baris mengandung satu atau sejumlah tabel. Tabel terdiri atas

sejumlah baris dan setiap baris mengandung satu atau sejumlah tabel.”

MySQL adalah sistem manajemen database open source dengan

client-server model (RDBMS). Sedangkan RDBMS merupakan software

untuk membuat dan mengelola basis data berdasarkan pada model relasional.

Sejarah singkat mengenai MSQL, dibaca MY-ES-KYOO-EL.

Beberapa orang bahkan membaca MySQL seperti menyebutkan “my sequel”.

MySQL AB, Sebuah perusahaan asal Swedia, menjadi yang pertama

mengembangkan MySQL di tahun 1994. Hak kepemilikan MySQL kemudian

diambil secara menyeluruh oleh perusahaan teknologi Amerika Serikat, Sun

Microsystems, ketika mereka membeli MySQL AB pada tahun 2008. Di

tahun 2010, Oracle adalah salah satu perusahaan teknologi terbesar di

Amerika Serikat, mengakuisisi Sun Microsystem. Semenjak itulah, MySQL

sepenuhnya dimiliki oleh Oracle.

Pada awal tahun 1970, seorang ahli komputer, Ted Codd,

mengembangkan SQL dengan IBM berbasis model relasional. Pada tahun

1974, SQL mulai banyak digunakan dan dengan cepat menggantikan posisi

bahasa yang sudah outdated, yakni ISAM dan VISAM. Tugas SQL adalah

untuk memberi tahu server tentang apa yang harus dilakukan terhadap data.

SQL Statement menginstrusikan server untuk menjalankan operasi tertentu:

Page 63: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

45

a. Data Query

Meminta informasi yang spesifik dari database yang sudah ada

b. Manipulasi Data

Menambahkan, menghapus, mengubah, menyortir, melakukan operasi

lainnya untuk memodifikasi data, value, atau visual.

c. Identitas Data

Menentukan tipe data, misalnya mengubah data numerik menjadi

integer, juga menentukan skema atau hubungan dari masing masing tabel

yang ada di database

d. Data Access Control

Menyediakan metode keamanan untuk melindungi data, termasuk dalam

menentukan siapa yang boleh melihat atau menggunakan informasi yang

tersimpan di database.

2.3.9 Postman

Gambar 2.12 Postman

(Sumber: https://www.getpostman.com/resources/media-assets/)

Postman adalah sebuah aplikasi (berupa plugin) untuk browser

chrome, fungsinya adalah sebagai REST Client atau istilahnya adalah aplikasi

yang digunakan untuk melakukan uji coba REST API yang telah kita buat.

Page 64: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

46

Menurut Rohman (2017), Postman ini merupakan tool wajib bagi

para developer yang berkutat pada pembuatan API, fungsi utama postman ini

adalah sebagai GUI API Caller namun sekarang postman juga menyadiakan

fitur lain yaitu Sharing Collection API for Documentation (free), Testing API

(free), Realtime Collaboration Team (paid), Monitoring API (paid),

Integration (paid).

2.3.10 CodeIgniter

Gambar 2.13 CodeIgniter

(Sumber: https://imgbin.com/png/Uv9X8wLk/logo-orange-s-a-codeigniter-png)

Sulistiono mengemukakan, “CodeIgniter adalah aplikasi open source

yang berupa kerangka kerja atau framework untuk membangun website

menggunakan bahasa pemrograman PHP. Tujuannya memungkinkan

pengembangan projek yang lebih cepat daripada penulisan kode dasar atau

kode terstruktur, dengan menyediakan banyak library yang biasanya

digunakan dalam pengerjaan” (Sulistiono 2018, 7).

Page 65: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

47

a. Sejarah Perkembangan CodeIgniter

Selain cepat dan mudah, CodeIgniter juga memiliki dokumentasi

yang super lengkap disertai dengan contoh implementasi kodenya.

Dokumentasi lengkap inilah yang menjadi salah satu alasan kuat

mengapa banyak orang memilih CodeIgniter sebagai framework

pilihannya. Karena kelebihan-kelebihan yang dimiliki oleh CodeIgniter,

pembuat PHP Rasmus Lerdorf memuji CodeIgniter di frOSCon

(Agustus 2008) dengan mengatakan bahwa dia menyukai CodeIgniter

karena “it is faster, lighter and the least like a framework.” CodeIgniter

pertama kali dikembangkan pada tahun 2006 oleh Rick Ellis. Dengan

logo api yang menyala, CodeIgniter dengan cepat “membakar” semangat

para web developer untuk mengembangkan web dinamis dengan cepat

dan mudah menggunakan framework PHP yang satu ini. Pada bulan Juli

2013, EllisLab mengumumkan bahwa mereka mencari pemilik baru

untuk CodeIgniter karena internal mereka sendiri tidak memiliki cukup

fokus untuk terus mengembangkan CodeIgniter. Akhirnya pada bulan

Oktober 2014, kepemilikan CodeIgniter berpindah tangan kepada British

Columbia Institute of Technology, salah satu sekolah tinggi teknologi di

Kanada.

b. Fitur Pada CodeIgniter

Berikut ini adalah fitur-fitur penting yang ada di CodeIgniter:

1. Sistem berbasis Model-View-Controller (MVC)

2. Sangat ringan dan butuh sedikit sumber daya (Memory + CPU)

3. Men-support berbagai macam database dan kaya fitur

4. Mendukung Query Builder untuk mengakses database

Page 66: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

48

5. Validasi Form dan Data

6. Mengamankan website dari XSS (Cross Site Scripting)

7. Manajemen Session

c. Keuntungan CodeIgniter

Keuntungan dari CodeIgniter antara lain:

1. Berukuran sangat kecil

File yang di-download hanya berukuran sekitar 2MB dan sudah

termasuk dokumentasinya yang sangat lengkap.

2. Dokumentasi yang bagus

Dokumentasi yang berisi pengantar, tutorial, bagaimana panduan

penggunaan, serta referensi dokumentasi untuk komponen-

komponennya.

3. Kompitabilitas dengan hosting

CodeIgniter mampu berjalan dengan baik pada hamper semua platfom

hosting. CodeIgniter juga mendukung database-database paling

umum, termasuk MySQL.

4. Tidak ada aturan coding yang ketat

Terserah anda jika anda hanya ingin menggunakan Controller, tanpa

View, atau tidak menggunakan Model, atau tidak salah satu keduanya.

Namun dengan menggunakan ketiga komponennya adalah pilihan

lebih bijak.

5. Sangat mudah diintegrasikan

CodeIgniter sangat mengerti tentang pengembangan berbagai library

saat ini. Karenanya CodeIgniter memberikan kemudahan untuk

diintegrasikan dengan library-library yang tersedia saat ini.

Page 67: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

49

6. Sedikit Konfigurasi

Konfigurasi CodeIgniter terletak di folder aplication/config.

CodeIgniter tidak membutuhkan konfigurasi yang rumit, bahkan

untuk mencoba menjalankannya, tanpa melakukan konfigurasi

sedikitpun ia sudah bisa berjalan.

7. Mudah dipelajari

Di samping dokementasi yang lengkap, ia juga memiliki berbagai

forum diskusi.

8. URL yang sederhana

Secara default, URL yang dihasilkan CodeIgniter sangat besih dan

Search Engine Friendly (SEF).

9. Extensible

Sistem dapat dikembangkan dengan mudah menggunakan plugin dan

helper, atau dengan menggunakan hooks.

10. Tidak memerlukan template engine

Meskipun CodeIgniter dilengkapi dengan template parser sederhana

yang dapat digunakan, tetapi hal ini tidak mengharuskan kita untuk

menggunakannya.

d. Kelemahan CodeIgniter

Kelemahan dari CodeIgniter antara lain:

1. CodeIgniter tidak ditujukan untuk pembuatan web dengan skala besar.

2. Library yang sangat terbatas. Hal ini dikarenakan sangat sulit mencari

plugin tambahan yang terverifikasi secara resmi, karena pada situsnya

CodeIgniter tidak menyediakan plugin-plugin tambahan untuk

mendukung pengembangan aplikasi dengan CodeIgniter.

Page 68: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

50

3. Belum adanya editor khusus CodeIgniter, sehingga dalam melakukan

create project dan modul-modulnya harus berpindah-pindah folder.

e. Versi CodeIgniter

1. CodeIgniter 1

Merupakan versi CodeIgniter yang paling pertama dirilis pada 28

Januari 2006 sebagai versi Beta 1, dan dengan versi 1.7.2 sebagai

terakhir yang dirilis pada 11 September 2009.

2. CodeIgniter 2

CodeIgniter 2 adalah versi terlawas yang bias di-download di situs

resminya. Pertama kali dirilis pada 28 Januari 2011 dan terakhir dirilis

pada Oktober 2015 dengan versi terakhirnya adalah versi 2.2.6.

CodeIgniter 2 pun sudah tidak ada pembaruan lagi jadi versi ini sangat

tidak dianjurkan untuk digunakan.

3. CodeIgniter 3

CodeIgniter 3 adalah versi yang paling banyak digunakan sekarang.

Pertama kali dirilis pada 30 Maret 2015 dan terakhir dirilis pada 19

September 2019 dengan versi terbarunya adalah versi 3.1.11. Versi ini

menggunakan PHP 5.6+, dan masih mendapat pembaruan serta

dukungan dari tim pengembang.

4. CodeIgniter 4

CodeIgniter 4 adalah versi yang sedang dalam pengembangan untuk

menggantikan CodeIgniter 3. Versi yang terbaru adalah versi 4.0.0-

rc3, CodeIgniter ini menggunakan PHP 7.2.

Page 69: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

51

2.3.11 API (Application Programming Interface)

Menurut Alper Dincer dan Balkan Uraz “API adalah sebuah teknologi

yang dapat memfasilitasi sebuah pertukaran akses data, layanan, dan

informasi lainnya biasanya digunakan oleh para pengembang aplikasi

(developer)” (Dincer & Uraz, 2013, hal. 3).

Penulis lain juga mengemukakan bahwa “Dalam penggunaan API

secara lengkap dibutuhkan sebuah kerjasama yang bersifat berbayar” (Daniel

2012, 4).

2.3.12 ERD (Entity Relationship Diagram )

Menurut (Aji 2014, 28), mendefinisikan ERD merupakan model

jaringan data yang menekankan pada struktur-struktur dan relationship data.

Sedangkan menurut (Sutanta 2011, 91), Entity Relationship Diagram (ERD)

merupakan suatu model data yang dikembangkan berdasarkan objek. Entity

Relationship Diagram (ERD) digunakan untuk menjelaskan hubungan antar

data dalam basis data kepada pengguna secara logis. Entity Relationship

Diagram (ERD) didasarkan pada suatu persepsi bahwa real world terdiri atas

objek-objek dasar tersebut. Penggunaan Entity Relationship Diagram (ERD)

relatif mudah dipahami, bahkan oleh para pengguna yang awam. Bagi

perancang atau analis sistem, Entity Relationship Diagram (ERD) berguna

untuk memodelkan sistem yang nantinya, basis data akan dikembangkan.

Model ini juga membantu perancang atau analis sistem pada saat melakukan

analis dan perancangan basis data karena model ini dapat menunjukkan

macam data yang dibutuhkan dan kerelasian antar data di dalamnya.

Page 70: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

52

Entitas adalah suatu objek dalam dunia nyata yang dapat dibedakan

dari objek lain. Sebagai contoh masing-masing motor adalah entitas dan

konsumen dapat pula diangap sebagai entitas. Entitas digambarkan dalam

basis data dengan kumpulan atribut misalnya atribut kode, nama motor, harga

cash, bisa menggambarkan data. Relasi adalah hubungan antara beberapa

entitas. Sebagai contoh, relasi menghubungkan mahasiswa dengan mata

kuliah yang diambilnya.

Struktur logis skema database dapat ditunjukan secara grafis dengan

diagram ERD yang dibentuk dari komponen-komponen berikut :

Entitas adalah objek riil yang dapat dibedakan satu dengan yang lain.

Entitas digambarkan simbol seperti BOX.

Atribut adalah elemen dari entitas yang berfungsi untuk menerangkan

entitas tersebut.

Line berfungsi untuk menghubungkan atribut dengan entitas dan

entitas dengan relasi.

Page 71: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

53

Hubungan sama saja dengan relasi, yaitu hubungan yang terjadi

antara satu entitas atau lebih.

Dari pengertian di atas dapat disimpulkan pengertian Entity

Relationship Diagram (ERD) adalah memodelkan suatu kebutuhan data dari

suatu organisasi yang saling terhubung satu dengan yang lainnya.

2.3.13 Flowchart

Menurut Indrajani “Flowchart (bagan alir) merupakan penggambaran

secara grafik dari langkah-langkah dan urutan prosedur suatu program.

Flowchart bisa mempermudah penyelesaian masalah, khususnya yang perlu

dipelajaridan dievaluasi lagi” (Indrajani 2015, 36).

Bagan alir merupakan langkah awal pembuatan program. Dengan

adanya flowchart urutan proses kegiatan menjadi lebih jelas. Jika ada

penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart

selesai disusun, selanjutnya programmer akan menerjemahkan ke dalam

bentuk program dengan bahasa pemrograman.

Bagan alir (flowchart) memiliki berbagai aturan–aturan dalam

perancangan diagram alirnya, yaitu:

Page 72: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

54

a. System flowchart

Disebut juga bagan alir sistem merupakan bagan yang menunjukan

arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan

urut–urutan dari prosedur–prosedur yang ada di dalam sistem dan apa

yang dikerjakan di sistem.

b. Document flowchart

Disebut juga bagan alir formulir (form flowchart) atau paperwork

flowchart merupakan bagan alir yang menunjukan arus dari laporan

dan formulir termasuk tembusan–tembusannya.

c. Schematic flowchart

Disebut juga bagan alir skematik merupakan bagan alir yang mirip

dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di

dalam sistem. Perbedaannya adalah bagan alir skematik selain

menggunakan simbol–simbol bagan alir sistem, juga mengunakan

gambar–gambar komputer dan peralatan lainnya yang digunakan.

Penggunaan gambar–gambar dimaksudkan untuk memudahkan

komunikasi kepada orang yang kurang paham dengan simbol–simbol

dari bagan alir. Penggunaan gambar memudahkan untuk dipahami

nanun sulit dan lama dalam proses penggambaran dan pengerjaan.

Page 73: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

55

d. Program flowchart

Disebut juga bagan alir program merupakan bagan yang menjelaskan

secara rinci langkah–langkah dari proses program. Bagan alir

program dibuat dari derivikasi bagan alir sistem. Bagan alir program

terbagi menjadi dua macam, yaitu bagan alir logika program

(program logic flowchart) dan bagan alir komputer terinci (detail

computer program flowchart). Bagan alir logika program digunakan

untuk menggambarkan tiap–tiap langkah di dalam program komputer

secara logika. Bagan alir logika program dipersiapkan oleh analis

sitem. Sedangkan bagan alir program komputer terinci digunakan

untuk menggambarkan instruksi–instruksi progam komputer secara

terinci. Bagan alir dipersiapkan oleh pemrogram.

e. Process flowchart

Disebut juga bagan alir proses merupakan bagan alir yang digunakan

di teknik industri. Bagan alir proses juga berguna pada analis sitem

untuk menggambarkan proses dalam suatu prosedur.

Dalam pembuatan flowchat tidak ada rumus atau patokan yang

bersifat mutlak digunakan. Karena flowchart merupakan gambaran

hasil pemikiran dalam menganalisa suatu masalah dengan komputer.

Sehingga flowchart yang dihasilkan dapat bervariasi antara saru

pemrogram dengan pemrogram lainnya. Namun secara garis besar

setiap pengiolahan selalu terdiri dari tiga bagian utama yaitu:

Page 74: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

56

1. Input;

Berupa masukan bahan mentah.

2. Proses;

Pengolahan bahan mentah.

3. Output;

Berupa hasil jadi.

Pengolahan data dengan komputer, dapat dilakukan dengan

urutan dasar untuk pemecahan suatu masalah, sebagai berikut:

1. START

Berisikan instruksi untuk persiapan peralatan yang diperlukan

sebelum menangani pemecahan masalah.

2. READ;

Berisikan intruksi untuk membaca dara dari suatu peralatan

input.

3. PROCESS;

Berisikan kegiatan yang berkaitan dengan pemecahan masalah

sesuai dengan data yang dibaca.

4. WRITE;

Berisikan instruksi untuk merekam hasil kegiatan ke peralatan

output.

5. END;

Mengakhiri kegiatan pengolahan.

Walaupun tidak ada aturan–aturan yang baku dalam

penyusunan flowchart, namun harus ada beberapa syarat yang

harus ditepati, yaitu:

Page 75: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

57

1. Hindari pengulangan proses yang tidak perlu dan logika yang

berbeda sehingga jalannya proses menjadi singkat.

2. Penggambaran flowchart harus simetris dengan arah yang

jelas.

3. Sebuah flowchart harus diawali dari satu titik START dan

diakhiri dengan END.

Tujuan dari flowchart adalah untuk menggambarkan suatu

tahapan penyelesaian masalah secara sederhana, terurai, rapi, dan

jelas dengan menggunakan simbol–simbol standar yang

digunakan.

Dalam penggunaan flowchart tedapat simbol–simbol dasar

yang sering digunakan, yaitu:

Gambar 2.14 Simbol Flowchart

Page 76: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

58

2.3.14 Blackbox Testing

Simarmata mengungkapkan bahwa “Blackbox testing merupakan

pendekatan pengujian di mana program dianggap sebagai suatu kotak hitam

program test case berbasiskan spesifikasi test planning dapat dimulai sejak

awal proses pengembangan sistem. Blackbox testing berfokus pada

persyaratan fungsional perangkat lunak. Metode ini memungkinkan software

developer untuk mendapatkan serangkaian kondisi input yang menggunakan

semua persyaratan fungsional program” (Simarmata 2010, 316)

Pengertian blackbox testing menurut Simarmata (2010, 316) adalah

sebagai berikut:

a. Pengujian Fungsional

Pengujian dilakukan dalam bentuk tertulis untuk memeriksa apakah

aplikasi berjalan seperti yang diharapkan. Pengujian fungsional meliputi

seberapa baik sistem melaksanakan fungsinya, termasuk perintah–

perintah pengguna, integrasi, pencarian dan proses bisnis, manipulasi

data, dan pengguna layar.

b. Pengujian Tegangan

Pengujian tegangan berkaitan dengan kualitas aplikasi.

c. Pengujian Beban

Pada pengujian beban, pengujian dilakukan dengan beban berat atau

masukan untuk mengetahui apakah aplikasi atau situs gagal atau

kinerjanya menurun.

Page 77: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

59

d. Pengujian Khusus

Jenis pengujian ini dilakukan tanpa penciptaan rencana pengujian

atau kasus pengujian. Salah satu penggunaan terbaik dari pengujian

khusus adalah untuk penemuan. Pengujian ini membaca persyaratan atau

spesifikasi jarang memberikan paduan yang jelas mengenai bagaimana

sebuah program benar-benar bertindak.

e. Pengujian Penyelidikan

Pengujian penyelidikan mirip dengan pengujian khusus dan

dilakukan untuk mempelajari/mencari aplikasi.

f. Pengujian Usability

Proses yang bekerja dengan pengguna akhir secara langsung maupun

tidak langsung untuk menilai bagaimana pengguna merasakan paket

perangkat lunak dan bagaimana mereka berinteraksi dengannya.

g. Pengujian Asap

Pengujian ini dilakukan untuk memeriksa apakah aplikasi tersebut

sudah siap untuk pengujian yang lebih besar dan bekerja dengan baik

tanpa cela sampai tingkat yang paling diharapkan.

h. Pengujian Pemulihan

Dilakukan untuk memeriksa seberapa cepat dan baiknya aplikasi bisa

pulih terhadap semua jenis crash atau kegagalan hardware.

i. Pengujian Volume

Pengujian sebuah sistem untuk serangkaian pengujian dengan volume

data yang diproses.

Page 78: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

60

j. Pengujian Domain

Merupakan penjelasan yang paling sering menjelaskan teknik

pengujian.

k. Pengujian Skenario

Pengujian yang realistis, kredibel dan memotivasi skateholder,

tantangan untuk program dan mempermudah penguji melakukan

evaluasi.

l. Pengujian Regresi

Pengujian yang berfokus pada pengujian ulang setelah ada perubahan.

Pada pengujian regresi berorientasi risiko.

m. Penerimaan Pengguna

Pada jenis pengujian ini, pengguna akan diundang ke pusat

pengembangan. Pengguna akan menggunakan aplikasi dan pengembang

mencatat setiap masukan atau tindakan yang dilakukan oleh pengguna.

n. Pengujian Alfa

Pada jenis pengujian ini, pengembang mengamati penggunaan

aplikasi oleh pengguna selanjutnya pengguna mencatat temuan yang

terjadi dari kecacatan aplikasi.

o. Pengujian Beta

Pada jenis pengujian ini, perangkat lunak didistribusikan sebagai

sebuah versi beta dengan pengguna yang menguji aplikasi di situs

mereka.

Penulis lain pun menambahkan bahwa “Tester menggunakan

behavioral test (disebut juga blackbox test), sering digunakan untuk

menemukan bug dalam high level operations, pada tingkatan fitur, profil

Page 79: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

61

operasional dan skenario kustomer. Tester dapat membuat pengujian

fungsional blackbox berdasarkan pada apa yang harus sistem lakukan.

Behavioral testing melibatkan pemahaman rinci mengenai domain aplikasi,

masalah bisnis yang bisa dipecahkan oleh sistem dan misi yang dilakukuan

sistem. Behavioral test paling baik dilakukan oleh penguji yang memahami

desain sistem, setidaknya pada tingkat yang tinggi sehingga mereka dapat

secara efektif menemukan bug umum untuk jenis desain.” (Black 2009).

Berdasarkan konsep pengujian blackbox testing mengidentifikasikan

kesalahan yang berhubungan dengan kesalahan fungsionalitas perangkat

lunak yang tampak dalam kesalahan output.

Langkah–langkah dalam black box adalah sebagai berikut:

1. Analisa kebutuhan dan spesifikasi.

2. Pemilihan input.

3. Pemilihan output.

4. Seleksi input.

5. Pengujian.

6. Review hasil.

7. Evaluasi.

Beberapa jenis kesalahan yang dapat diidentifikasikan seperti fungsi

tidak benar atau hilang, kesalahan antarmuka, kesalahan pada struktur data

(pengaksesan basis data), kesalahan inisialisasi dan akhir program, dan

kesalahan performasi.

Keunggulan blackbox adalah bisa memilih subset test secara efektif

dan efisien, dapat menemukan cacat. Sedangkan kelemahan blackbox

Page 80: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

62

adalah tester tidak pernah yakin apakah perangkat lunak tersebut benar–

benar lolos uji.

2.4 Tinjauan Studi

2.4.1 Penelitian Muhammad Iqbal Perkasa, Eko Budi Setiawan

Tabel 2.1: Penelitian Muhammad Iqbal Perkasa, Eko Budi Setiawan

No. Data Jurnal/Makalah Keterangan

1 Judul

Pembangunan Web Service Data

Masyarakat Menggunakan REST API

dengan Access Token

2 Jurnal Jurnal Sarjana Teknik Informatika

3 Volume dan halaman Vol. X, No. 1, 19-26

4 Tanggal & Tahun 8 Juni 2018

5 Penulis a. Muhammad Iqbal Perkasa

b. Eko Budi Setiawan

6 Penerbit Universitas Komputer Indonesia

7 Tujuan Penelitian

Mempercepat dalam penulisan atau

pengisian data masyarakat

8

Lokasi dan Subjek

Penelitian

Dinas Ketenagakerjaan dan Transmigrasi

9 Perancangan Sistem a. Bahasa pemrograman PHP

Page 81: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

63

b. Database MySQL

10 Hasil Penelitian

a. Data-data yang ditampilkan dalam

aplikasi ini sudah baik yang di mana

ditampilkan berupa grafik dan tabel

b. Kantor-kantor sebagai pengembang

dan masyarakat dapat dimudahkan

dengan adanya web service ini untuk

memudahkan dalam pengambilan

data masyarakat

c. Tampilan dan menu dari aplikasi ini

sudah baik dan mudah digunakan

d. Aplikasi sudah bagus dan

memudahkan untuk melihat data-

datanya, pun dengan tampilan sudah

baik dan tepat

11 Kekuatan Penelitian

a. Administrator data penduduk dapat

dimudahkan dalam memonitor

penggunaan data penduduk dan

mengatur hak akses masing-masing

access token

b. Dari hasil 100 sample percobaan

yang dilakukan dalam satu detik,

empat sample terakhir baru

menunjukkan indikasi server

mengalami beban

Page 82: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

64

12 Kelemahan Penelitian

a. Tidak ada fitur cache pada web

service

b. Tidak memberikan statistik data

penggunaan data masyarakat secara

real-time

13 Kesimpulan

Web service ini mampu dan dapat

mempercepat pendaftaran dengan keandalan

server yang baik.

2.4.2 Penelitian Penidas Fiodinggo Tanaem, Danny Manogga, Ade Iriani

Tabel 2.2: Penelitian Ninis Insiyah Masyhur, Kasim, Irmawati

No. Data Jurnal/Makalah Keterangan

1 Judul

RESTful Web Service Untuk Sistem

Pencatatan Transaksi Studi Kasus PT. XYZ

2 Jurnal Jurnal Magister Sistem Informatika

3 Volume dan halaman Volume 2 Nomor 1, 1-10

4 Tanggal & Tahun 1 April 2016

5 Penulis

a. Penidas Fiodinggo Tanaem

b. Danny Manogga

c. Ade Iriani

6 Penerbit Universitas Kristen Satya Wacana Salatiga

Page 83: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

65

7 Tujuan Penelitian

Membantu perusahaan menyesuaikan data

antara data pergudangan dan data

perncatatan transaksi, dikarenakan terdapat

beberapa database yang digunakan secara

terpisah dan aplikasi yang berbeda-beda

8

Lokasi dan Subjek

Penelitian

PT. XYZ

9 Perancangan Sistem

a. Bahasa pemrograman JSON Web

Token

b. Database mysql server

10 Hasil Penelitian

a. Merancang aplikasi program

b. Merancang basis data

c. Menerapkan web service RESTful

dengan JSON Web Token

11 Kekuatan Penelitian

Metode yang digunakan menjadi dasar untuk

penelitian selanjutnya

12 Kelemahan Penelitian

Hanya berfokus pada pemanfaatan arsitektur

RESTful WS dan pemanfaatan JWT

13 Kesimpulan

Menghasilkan arsitektur RESTful WS yang

aman bagi PT. XYZ yang memungkinkan

untuk mengintegrasikan sumber daya dari

sistem dengan menggunakan aplikasi yang

Page 84: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

66

berbeda dan dapat diintegrasikan dengan

jalur komunikasi yang aman

2.4.3 Penelitian Swono Sibagariang

Tabel 2.3: Penelitian Swono Sibagariang

No. Data Jurnal/Makalah Keterangan

1 Judul Penerapan Web Service pada Perpustakaan

Berbasis Android

2 Jurnal Jurnal Sarjana Sistem Informasi

3 Volume dan halaman Volume 1 Nomor 1, 28-32

4 Tanggal & Tahun 12 Juni 2016

5 Penulis Swono Sibagariang

6 Penerbit Universitas Sari Mutiara Indonesia

7 Tujuan Penelitian Menghubungkan berbagai jenis software

yang memiliki platform dan sistem operasi

yang sama atau berbeda sekalipun

8 Lokasi dan Subjek

Penelitian

Memanfaatkan web service untuk aplikasi

perpustakaan Universitas Katolik Santo

Thomas Sumatera Utara

9 Perancangan Sistem Android

Page 85: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

67

10 Hasil Penelitian a. Pencarian buku dapat dilakukan

berdasarkan kriteria yakni: judul,

pengarang dan penerbit

b. Pencarian data tugas akhir dapat

dilakukan berdasarkan kriteria seperti:

judul dan jurusan

11 Kekuatan Penelitian a. Sangat efektif untuk digunakan karena

method atau fungsi dalam web service

dapat langsung digunakan untuk

mengembangkan aplikasi client

sehingga tidak perlu dilakukan

pemrograman aplikasi client dari awal

b. Dapat berjalan di OS Android Versi

2.2

12 Kelemahan Penelitian Tampilan yang hitam-putih

13 Kesimpulan a. Dengan menggunakan web service,

setiap client yang berjalan pada

platform yang berbeda dapat

mengakses data yang sama.

b. Sistem yang telah dibangun

dimaksudkan untuk menunjukkan

implementasi web service dalam

pengembangan aplikasi client dan

integrasi antar web service yang

menggambarkan suatu sistem multi-

tier.

Page 86: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

68

2.4.4 Rangkuman Model Penelitian

Tabel 2.4: Rangkuman Penelitian

Peneliti Nama Jurnal Tahun Institusi

Judul dan Metode

yang Digunakan

Kesimpulan

a. Muhammad

Iqbal Perkasa

b. Eko Budi

Setiawan

Jurnal Sarjana

Teknik

Informatika

2018

Universitas

Komputer

Indonesia

Pembangunan Web

Service Data

Masyarakat

Menggunakan REST

API dengan Access

Token

Web service ini mampu dan dapat mempercepat

pendaftaran dengan keandalan server yang baik

a. Penidas

Fiodinggo

Tanaem

b. Danny

Manogga

Jurnal

Magister

Sistem

Informatika

2016

Universitas

Kristen Satya

Wacana

Salatiga

RESTful Web Service

Untuk Sistem

Pencatatan Transaksi

Studi Kasus PT. XYZ

Menghasilkan arsitektur RESTful WS yang aman

bagi PT. XYZ yang memungkinkan untuk

mengintegrasikan sumberdaya dari sistem dengan

menggunakan aplikasi yang berbeda dan dapat

Page 87: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

69

c. Ade Iriani diintegrasikan dengan jalur komunikasi yang

aman

Swono Sibagariang

Jurnal Sarjana

Sistem

Informasi

2016

Universitas

Sari Mutiara

Indonesia

Penerapan Web Service

pada Perpustakaan

Berbasis Android

a. Dengan menggunakan web service, setiap

client yang berjalan pada platform yang

berbeda dapat mengakses data yang sama.

b. Sistem yang telah dibangun dimaksudkan

untuk menunjukkan implementasi web

service dalam pengembangan aplikasi

client dan integrasi antar web service yang

menggambarkan suatu sistem multi-tier.

Page 88: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

70

2.5 Kerangka Pemikiran

Kerangka pemikiran merupakan alur pikir yang dijadikan sebagai skema

pemikir atau dasar-dasar pemikiran untuk memperkuat indikator yang

melatarbelakangi pembuatan aplikasi ini. Dalam kerangka pemikiran ini, penjelasan

akan dibentuk dalam diagram.

Gambar 2.15 Kerangka Pemikiran

Page 89: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

71

BAB III

PERANCANGAN APLIKASI

3.1 Analisa Kebutuhan

3.1.1 Analisa Kebutuhan Perangkat

Berikut ini adalah perangkat yang digunakan untuk membangun aplikasi ini:

a. Laptop Samsung 300E4Z.

b. Sistem Operasi Windows 8.1 Pro (64 Bit).

c. Processor Intel® Celeron® CPU B815 @ 1.60GHz (2 CPUs), ~1.6GHz.

d. RAM 4 GB

e. VS Code

f. CodeIgniter 3.1.11

g. XAMPP

h. Google Chrome

i. Postman

3.1.2 Analisa Kebutuhan Pemakai

Berdasarkan survey yang telah dilakukan kepada responden yang

menginginkan sebuah aplikasi untuk membantu memprediksi penyakit ginjal

kronis, kebutuhan yang responden butuhkan untuk aplikasi ini adalah sebagai

berikut:

Page 90: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

72

Tabel 3.1: Identifikasi Kebutuhan Pemakai

No. Kebutuhan Pemakai

1

Dapat menghitung jumlah stok barang keluar, barang

masuk, dan total barang yang tersedia

2

Dapat diakses secara realtime, kapan pun dan di mana

pun

3 Tampilan yang mudah digunakan dan dimengerti

4 Dapat menginput detail barang

5 Harus ada catatan atau histori barang masuk dan keluar

6 Memiliki fitur admin

3.1.3 Analisa Kebutuhan Aplikasi

Berdasarkan tabel analisa kebutuhan pemakai di atas dibuatlah

program aplikasi untuk memenuhi kebutuhan pemakai, yang dijabarkan pada

tabel di bawah ini:

Tabel 3.2: Analisa Kebutuhan Pemakai

No. Kebutuhan Pemakai Keterangan

1

Dapat menghitung jumlah stok barang keluar,

barang masuk, dan total barang yang tersedia

2

Dapat diakses secara realtime, kapan pun dan di

mana pun

3 Tampilan yang mudah digunakan dan dimengerti ✓

Page 91: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

73

4

Dapat menginput detail barang seperti berat,

ukuran, warna, jenis produk, kategori produk, dan

sejenisnya

5

Harus ada catatan atau histori barang masuk dan

keluar

6 Memiliki fitur admin ✓

3.2 Konstruksi Algoritma dan Metode

Penerapan arsitektur model-view-controller ini dapat menungkatkan

modularitas dan reusibilitas dari sistem yang akan dibangun. Hal ini dimungkinkan

karena source code menjadi lebih rapi dan pemisah antara logika dan antarmuka

pengguna lebih jelas.

Definisi teknis dan arsitektur MVC dibagi menjadi tiga lapisan:

a. Model

Digunakan untuk mengelola informasi dan memberi tahu pengamat bila ada

perubahan informasi. Hanya model yang mengandung data dan fungsi yang

berhubungan dengan database.

b. View

Digunakan sebagai pemetaan grafis ke sebuah perangkat. View melekat pada

model dan me-render isinya ke permukaan layar.

c. Controller

Menerima masukan (input) dari pengguna dan mengintruksikan model dan view

untuk melakukan aksi berdasarkan masukan tersebut.

Model, view dan controller sangat erat terkait, makanya mereka harus merujuk satu

sama lain.

Page 92: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

74

3.3 Perancangan Layar, Menu dan Database

3.3.1 Rancangan Layar dan Menu

a. Rancangan Layar Menu Login

Gambar 3.1 Rancangan Layar Menu Login

Pada rancangan layar menu login ini terdapat sebuah header yang

menunjukkan nama dari aplikasi ini, dua buah form input untuk username

dan password, sebuah tombol login, dan sebuah label yang menunjukkan ini

adalah halaman login.

Page 93: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

75

b. Rancangan Layar Dashboard

Gambar 3.2 Rancangan Layar Dashboard

Pada rancangan layar dashboard ini terdapat sebuah header yang

menunjukkan nama dari aplikasi ini, sebuah tombol untuk logout jika sudah

login. Lima buah tombol yang masing-masing adalah tombol beranda,

barang, barang masuk, barang keluar dan supplier di samping kiri. Tiga buah

tombol di tengah yang masing-masing adalah tombol barang, tombol barang

masuk dan tombol barang keluar. Sebuah label di kanan atas yang

menunjukkan halaman yang sedang terbuka. Sebuah label di kanan atas yang

menunjukkan nama aplikasi ini. Dua buah label di kiri dan kanan bawah yang

merupakan footer.

Page 94: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

76

c. Rancangan Layar Menu Barang dan Supplier

Gambar 3.3 Rancangan Layar Menu Barang dan Supplier

Pada rancangan layar menu barang, barang masuk, barang keluar, dan

supplier ini terdapat sebuah header yang menunjukkan nama dari aplikasi ini,

sebuah tombol untuk logout jika sudah login. Lima buah tombol yang masing-

masing adalah tombol beranda, barang, barang masuk, barang keluar dan

supplier di samping kiri. Sebuah label di kanan atas yang menunjukkan

halaman yang sedang terbuka. Sebuah label di kanan atas yang menunjukkan

nama aplikasi ini. Dua buah label di kiri dan kanan bawah yang merupakan

footer. Sebuah tabel yang berisi data yang diambil dari database. Sebuah

tombol insert dan cetak report di bawah table. Sebuah tombol edit dan delete

di dalam table untuk masing-masing data yang ada.

Page 95: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

77

d. Rancangan Layar Menu Barang dan Barang Keluar

Gambar 3.4 Rancangan Layar Menu Barang Masuk dan Barang

Keluar

Pada rancangan layar menu barang, barang masuk, barang keluar, dan

supplier ini terdapat sebuah header yang menunjukkan nama dari aplikasi ini,

sebuah tombol untuk logout jika sudah login. Lima buah tombol yang masing-

masing adalah tombol beranda, barang, barang masuk, barang keluar dan

supplier di samping kiri. Sebuah label di kanan atas yang menunjukkan

halaman yang sedang terbuka. Sebuah label di kanan atas yang menunjukkan

nama aplikasi ini. Dua buah label di kiri dan kanan bawah yang merupakan

footer. Sebuah tabel yang berisi data yang diambil dari database. Sebuah

tombol insert dan cetak report di bawah table. Sebuah tombol lihat di dalam

table untuk masing-masing data yang ada, untuk melihat detail dari data

dalam tabel tersebut.

Page 96: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

78

3.3.2 Rancangan Database

Gambar 3.5 Rancangan Database

1. Tabel supplier

Tabel 3.3: Tabel Supplier

No.

Nama

Kolom

Tipe Data Keterangan

1 id INT(11) Nomor Induk Supplier

2 namasupplier VARCHAR(225) Nama Supplier

3 nomortelepon VARCHAR(15)

Nomor Telepon Supplier

4 alamat TEXT Alamat Supplier

5 created_by INT(11)

Orang yang meng-input data

supplier

6 created_at INT(11)

Waktu dan tanggal meng-input

data supplier dalam bentuk

timestamp

Page 97: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

79

7 updated_by INT(11)

Orang yang mengubah data

supplier

8 updated_at INT(11)

Waktu dan tanggal mengubah

data supplier dalam bentuk

timestamp

2. Tabel barang

Tabel 3.4: Tabel Barang

No Nama Kolom Tipe Data Keterangan

1 id INT(11) Nomor Induk Barang

2 namabarang VARCHAR(225) Nama Barang

3 stok INT(11) Jumlah Stok Barang Ada

4 harga INT(11) Harga Barang

5 deskripsi VARCHAR(225) Deskripsi Barang

6 created_by INT(11)

Orang yang menginput data

barang

7 created_at INT(11)

Waktu dan tanggal menginput

data barang dalam bentuk

timestamp

8 updated_by INT(11)

Orang yang mengubah data

barang

Page 98: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

80

9 updated_at INT(11)

Waktu dan tanggal mengubah

data barang dalam bentuk

timestamp

3. Tabel barang_keluar_masuk

Tabel 3.5: Tabel Barang Keluar Masuk

No

Nama

Kolom

Tipe Data Keterangan

1 id INT(11)

Nomor Induk Barang Keluar

Masuk

2 barang_id INT(11) Nomor Induk Barnag

3 supplier_id INT(11) Nomor Induk Supplier

4 stok INT(11)

Stok Barang yang Keluar atau

Masuk

5 keterangan VARCHAR(6)

Keterangan Barang Masuk atau

Keluar

6 created_by INT(11)

Orang yang menginput data

barang

7 created_at INT(11)

Waktu dan tanggal menginput

data barang dalam bentuk

timestamp

Page 99: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

81

4. Tabel user

Tabel 3.6: Tabel User

No Nama Kolom Tipe Data Keterangan

1 id INT(11) Nomor Induk User

2 password_hash VARCHAR(225)

Password User yang sudah

Di-hash

3 email VARCHAR(225) Email User

4 nama VARCHAR(225) Nama User

5 nomortelepon VARCHAR (15) Nomor Telepon User

6 alamat TEXT Alamat User

7 created_at INT(11)

Waktu dan tanggal meng-

input data barang dalam

bentuk timestamp

8 updated_at INT(11)

Waktu dan tanggal

mengubah data barang

dalam bentuk timestamp

5. Tabel migration

Tabel 3.7: Tabel Migration

No

Nama

Kolom

Tipe Data Keterangan

1 Version BIGINT(20)

Tabel yang otomatis dibuat saat

menggunakan fitur migration di

CodeIgniter

Page 100: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

82

3.4 Rancangan Flowchart

Gambar 3.6 Flowchart

Page 101: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

83

BAB IV

PENGUJIAN DAN IMPLEMENTASI

4.1 Pembahasan Metode dan Algoritma

4.1.1 CodeIgniter

a. Alur Kerja

Gambar 4.1 Alur Aplikasi CodeIgniter

(Sumber: https://codeigniter-id.github.io/user-

guide/overview/appflow.html)

1. File index.php (kadang disebut entry scripts) berfungsi sebagai front

controller, menginisialisasi resource utama yang dibutuhkan untuk

menjalankan CodeIgniter.

2. Router memeriksa HTTP request untuk menentukan apa yang harus

dilakukan dengan itu.

3. Jika file cache ada, dikirim langsung ke browser, melewati eksekusi

sistem normal.

4. Keamanan. Sebelum controller aplikasi dimuat, HTTP request dan

setiap data pengguna yang di-submit disaring terlebih dahulu untuk

keamanan.

5. Controller memuat model, library utama, helper, dan setiap resource

lainnya yang diperlukan untuk memproses permintaan khusus.

Page 102: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

84

6. View di-render kemudian dikirim ke web browser agar dapat dilihat.

Jika caching diaktifkan, view di-cache terlebih dahulu sehingga pada

permintaan berikutnya dapat dilayani.

b. Struktur Folder

Gambar 4.2 Struktur Folder CodeIgniter

Penjelasan struktur folder default CodeIgniter 3.1.11:

a. Application: Tempat aplikasi yang akan dibuat

b. Cache: Tempat menyimpan semua cache

c. Config: Tempat menyimpan file konfigurasi aplikasi yang akan dibuat

d. Controller: Tempat menyimpan semua file controller

Page 103: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

85

e. Core: Tempat menyimpan core custom

f. Helper: Tempat menyimpan helper yang bukan berasal dari

CodeIgniter

g. Hooks: Tempat menyimpan hook yang digunakan untuk mengubah

alur fungsi dari core CodeIgniter

h. Language: Tempat menyimpan bahasa-bahasa yang digunakan

i. Libraries: Tempat menyimpan library yang bukan berasal dari

CodeIgniter

j. Logs: Tempat menyimpan semua log

k. Models: Tempat menyimpan semua file model, yang berisi query-

query database

l. Third_party: Tempat menyimpan package yang dibuat sendiri

m. Views: Tampilan aplikasi yang akan dibuat

n. System: Inti (core) dari framework CodeIgniter

o. User_guide: Berisi panduan penggunaan CodeIgniter

4.1.2 REST

REST (Representational State Transfer) adalah suatu arsitektur

metode komunikasi yang sering diterapkan dalam pengembangan sistem/

Arsitektur REST umumnya dijalankan via HTTP (Hypertext Transfer

Protocol), melibatkan proses pembacaan laman web tertentu yang memuat

sebuah file XML atau JSON. File inilah yang mengurai dan memuat konten

yang hendak disajikan. Dalam pembuatan apliikasi ini menerapkan metode

komunikasi tersebut sebagai jembatan antara aplikasi yang dibuat dengan

database yang ada. REST API dibuat dengan menggunakan bahasa

Page 104: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

86

pemrograman dan framework CodeIgniter. Berikut ini contoh bagaimana

penerapan sebuah REST API dalam aplikasi ini menggunakan library REST

untuk CodeIgniter.

Gambar 4.3 REST Client PHP di framework CodeIgniter bagian

Controller

Gambar 4.4 REST Client PHP di framework CodeIgniter bagian Config

Link REST Server

Gambar 4.3 line 21 merupakan contoh pemanggilan fungsi REST di

framework CodeIgniter menggunakan library REST dan curl. Alamat link

Page 105: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

87

REST server-nya ada di gambar 4.4, yang di-include di gambar 4.3 melalui

fungsi __construct(). Lalu, fungsi REST yang dipanggil adalah “stok”.

Gambar 4.5 REST Server PHP di framework CodeIgniter bagian

Controller

Gambar 4.6 REST Server PHP di framework CodeIgniter bagian Model

Gambar di atas merupakan contoh script PHP yang digunakan untuk

menggambil data jumlah stok barang dari database. Database yang

digunakan adalah MySQL Lalu, untuk mengetahui data yang dihasilkan dari

query di atas, bisa menggunakan aplikasi Postman.

Page 106: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

88

Gambar 4.7 Hasil Data dari REST API PHP

(Postman mengembalikan status 200 OK bila fungsinya berjalan dengan baik.)

Pada aplikasi Postman, pertama kita harus memilih metode yang sesuai (GET,

POST, PUT, DELETE, dll). Dalam percobaan gambar 4.5, kita akan

melakukan select data dari database, jadi metode yang kita pakai adalah GET.

Hasil yang didapat lalu dikirimkan dari REST Server ke REST Client dalam

bentuk JSON dalam variabel $tmpData1 di gambar 4.3.

4.2 Spesifikasi Hardware dan Software

4.2.1 Spesifikasi Hardware

Spesifikasi hardware yang diperlukan oleh pengembang dan pengguna

yaitu:

a. Processor: Minimal 1.6 Ghz

b. RAM: 2 GB

c. VGA: 1 GB

d. Harddisk: Ruang kosong minimal 3 GB

e. Mouse: 1 unit

Page 107: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

89

f. Keyboard: 1 unit

Sedangkan kebutuhan perangkat keras untuk pengguna:

a. Processor: Minimal 1.6 Ghz

b. RAM: 2 GB

c. VGA: 1 GB

d. Harddisk: Ruang kosong minimal 3 GB

e. Mouse: 1 unit

f. Keyboard: 1 unit

4.2.2 Spesifikasi Software

Spesifikasi software yang diperlukan untuk pengembangan pengguna, yaitu:

a. Operating System: Windows 8.1

b. Web Server: XAMPP

c. Code Editor: VSCode

d. Database & Tools: MySQL

e. Web Browser: Google Chrome

Sedangkan kebutuhan perangkat lunak pada komputer pengguna:

a. Operating System: Windows 7/8/8.1/10

b. Mouse dan Keyboard: Aktif dan berfungsi dengan baik

c. Web Browser: Google Chrome

Page 108: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

90

4.3 Tampilan Program

4.3.1 Tampilan Menu Login

Menu ini berfungsi untuk menampilkan halaman login. Berikut

adalah gambar menu login:

Gambar 4.8 Tampilan Menu Login

4.3.2 Tampilan Menu Dashboard

Menu ini berfungsi untuk menampilkan menu-menu utama dari

aplikasi ini yaitu menu barang, barang masuk, dan barang keluar, di mana

setiap menu memiliki sub-menu tambah, edit, delete, dan lihat. Berikut adalah

gambar menu dashboard:

Gambar 4.9 Tampilan Menu Dashboard

Page 109: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

91

4.3.3 Tampilan Menu Barang

Menu ini berfungsi untuk menampilkan tabel yang berisi data barang-barang

yang ada, di mana setiap data memiliki tombol edit sendiri. Terdapat tombol

tambahkan untuk menambahkan barang, dan tombol cetak untuk mencetak

semua barang yang sudah terdaftar di database dalam bentuk pdf. Berikut

adalah gambar menu barang:

Gambar 4.10 Tampilan Menu Barang

4.3.4 Tampilan Menu Barang Masuk

Menu ini berfungsi untuk menampilkan tabel yang berisi data stok barang

masuk yang ada, di mana setiap data memiliki tombol lihat sendiri. Terdapat

tombol tambahkan untuk menambahkan stok barang, dan tombol cetak untuk

mencetak semua stok barang yang masuk di database dalam bentuk pdf.

Berikut adalah gambar menu barang masuk:

Gambar 4.11 Tampilan Menu Barang Masuk

Page 110: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

92

4.3.5 Tampilan Menu Barang Keluar

Menu ini berfungsi untuk menampilkan tabel yang berisi data stok barang

keluar yang ada, di mana setiap data memiliki tombol lihat sendiri. Terdapat

tombol keluarkan untuk mengeluarkan stok barang, dan tombol cetak untuk

mencetak semua stok barang yang keluar di database dalam bentuk pdf.

Berikut adalah gambar menu barang keluar:

Gambar 4.12 Tampilan Menu Barang Keluar

4.3.6 Tampilan Menu Supplier

Menu ini berfungsi untuk menampilkan tabel yang berisi data supplier-

supplier yang ada, di mana setiap data memiliki tombol edit dan delete

sendiri. Terdapat tombol tambahkan untuk menambahkan supplier, dan

tombol cetak untuk mencetak semua supplier yang sudah terdaftar di

database dalam bentuk pdf. Berikut adalah gambar menu supplier:

Gambar 4.13 Tampilan Menu Supplier

Page 111: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

93

4.4 Pengujian Blackbox

Pengujian blackbox dilakukan dengan tes fungsionalitas dari aplikasi atau perangkat

lunak. Tujuan pengujian ini adalah untuk menemukan kesalahan dalam aplikasi.

Berikut adalah tabel hasil pengujian blackbox:

Tabel 4.1: Pengujian Blackbox

No. Scene Pengujian Skenario Hasil yang Diharapkan Keterangan

1 Halaman login

Pengguna

mengisi

username dan

password yang

sesuai di

database

Pengguna dialihkan ke

halaman dashboard dan

menampilkan jumlah

stok barang, stok barang

masuk dan stok barang

keluar

Sesuai

2 Halaman login

Pengguna

mengisi

username dan

password yang

tidak sesuai di

database

Pengguna akan kembali

ke halaman login

Sesuai

3 Halaman login

Pengguna

mengisi

username dan

password yang

tidak sesuai di

database

Menampilkan pesan eror Tidak sesuai

Page 112: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

94

4 Halaman utama

Pengguna

mengeklik

tombol barang

Pengguna akan masuk ke

halaman barang dan

tampil tabel barang

Sesuai

5 Halaman utama

Pengguna

mengeklik

tombol barang

masuk

Pengguna akan masuk ke

halaman barang masuk

dan tampil tabel barang

masuk

Sesuai

6 Halaman utama

Pengguna

mengeklik

tombol barang

keluar

Pengguna akan masuk ke

halaman barang keluar

dan tampil tabel barang

keluar

Sesuai

7 Halaman utama

Pengguna

mengeklik

tombol supplier

Pengguna akan masuk ke

halaman supplier dan

tampil tabel suplier

Sesuai

8 Halaman barang

Pengguna

mengeklik

tombol

tambahkan

Pengguna masuk ke

halaman tambahkan

untuk menu barang dan

tampil form

Sesuai

9

Halaman tambahkan

dari menu barang

Pengguna

mengisi form

lalu klik simpan

Pengguna dialihkan ke

halaman barang lalu

muncul pesan berhasil

Sesuai

10

Halaman tambahkan

dari menu barang

Pengguna tidak

mengisi form

lalu klik simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu barang dan

muncul pesan eror

Sesuai

Page 113: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

95

11

Halaman tambahkan

dari menu barang

Pengguna

mengisi form

harga dengan

selain numerik

lalu klik simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu barang dan

muncul pesan eror

Sesuai

12

Halaman tambahkan

dari menu barang

Pengguna

mengisi form

stok dengan

angka nol (0) lalu

klik simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu barang dan

muncul pesan eror

Sesuai

13 Halaman barang

Pengguna

mengeklik

tombol edit

Pengguna masuk ke

halaman edit untuk menu

barang dan tampil form

Sesuai

14

Halaman edit dari

menu barang

Pengguna

mengisi form

lalu klik simpan

Pengguna dialihkan ke

halaman barang lalu

muncul pesan berhasil

Sesuai

15

Halaman edit dari

menu barang

Pengguna tidak

mengisi form

lalu klik simpan

Pengguna akan kembali

ke halaman edit dari

menu barang dan muncul

pesan eror

Sesuai

16

Halaman edit dari

menu barang

Pengguna

mengisi form

harga dengan

selain numerik

lalu klik simpan

Pengguna akan kembali

ke halaman edit dari

menu barang dan muncul

pesan eror

Sesuai

Page 114: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

96

17

Halaman edit dari

menu barang

Pengguna

mengisi form

harga dengan

angka nol (0) lalu

klik simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu barang dan

muncul pesan eror

Sesuai

18 Halaman barang

Pengguna

mengeklik

tombol delete

Pengguna akan kembali

ke halaman barang dan

muncul pesan berhasil

Sesuai

19 Halaman barang

Pengguna

mengeklik

tombol cetak

report

Pengguna akan melihat

file pdf di tab baru

browser, atau men-

download file-nya bila di

komputer pengguna

terdapat aplikasi

download manager

Sesuai

20

Halaman barang

masuk

Pengguna

mengeklik

tombol

tambahkan

Pengguna masuk ke

halaman tambahkan

untuk menu barang

masuk dan tampil form

Sesuai

21

Halaman tambahkan

dari menu barang

masuk

Pengguna

mengisi form

lalu klik simpan

Pengguna dialihkan ke

halaman barang masuk

lalu muncul pesan

berhasil

Sesuai

Page 115: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

97

22

Halaman tambahkan

dari menu barang

masuk

Pengguna tidak

mengisi form

lalu klik simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu barang masuk

dan muncul pesan eror

Sesuai

23

Halaman tambahkan

dari menu barang

masuk

Pengguna

mengisi form

stok dengan

selain numerik

lalu klik simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu barang masuk

dan muncul pesan eror

Sesuai

24

Halaman tambahkan

dari menu barang

masuk

Pengguna

mengisi form

stok dengan

angka nol (0) lalu

klik simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu barang masuk

dan muncul pesan eror

Tidak sesuai

25

Halaman barang

masuk

Pengguna

mengeklik

tombol lihat

Pengguna dialihkan ke

halaman detail dari

barang masuk lalu

muncul detail barang

yang masuk

Sesuai

26

Halaman barang

masuk

Pengguna

mengeklik

tombol cetak

report

Pengguna akan melihat

file pdf di tab baru

browser, atau men-

download file-nya bila di

komputer pengguna

Sesuai

Page 116: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

98

terdapat aplikasi

download manager

27

Halaman barang

keluar

Pengguna

mengeklik

tombol keluarkan

Pengguna masuk ke

halaman keluarkan untuk

menu barang keluar dan

tampil form

Sesuai

28

Halaman keluarkan

dari menu barang

keluar

Pengguna

mengisi form

lalu klik simpan

Pengguna dialihkan ke

halaman barang keluar

lalu muncul pesan

berhasil

Sesuai

29

Halaman keluarkan

dari menu barang

keluar

Pengguna tidak

mengisi form

lalu klik simpan

Pengguna akan kembali

ke halaman keluarkan

dari menu barang keluar

dan muncul pesan eror

Sesuai

30

Halaman keluarkan

dari menu barang

keluar

Pengguna

mengisi form

stok dengan

selain numerik

lalu klik simpan

Pengguna akan kembali

ke halaman keluarkan

dari menu barang keluar

dan muncul pesan eror

Sesuai

31

Halaman keluarkan

dari menu barang

keluar

Pengguna

mengisi form

stok dengan

angka nol (0) lalu

klik simpan

Pengguna akan kembali

ke halaman keluarkan

dari menu barang keluar

dan muncul pesan eror

Tidak sesuai

Page 117: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

99

32

Halaman keluarkan

dari menu barang

keluar

Pengguna

mengisi form

stok melebihi

stok yang ada

Pengguna akan kembali

ke halaman keluarkan

dari menu barang keluar

dan muncul pesan eror

Sesuai

33

Halaman barang

keluar

Pengguna

mengeklik

tombol lihat

Pengguna dialihkan ke

halaman detail dari

barang keluar lalu

muncul detail barang

yang masuk

Sesuai

34

Halaman barang

keluar

Pengguna

mengeklik

tombol cetak

report

Pengguna akan melihat

file pdf di tab baru

browser, atau men-

download file-nya bila di

komputer pengguna

terdapat aplikasi

download manager

Sesuai

35 Halaman supplier

Pengguna

mengeklik

tombol

tambahkan

Pengguna masuk ke

halaman tambahkan

untuk menu supplier dan

tampil form

Sesuai

36

Halaman tambahkan

dari menu supplier

Pengguna

mengisi form

lalu klik simpan

Pengguna dialihkan ke

halaman supplier lalu

muncul pesan berhasil

Sesuai

Page 118: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

100

37

Halaman tambahkan

dari menu supplier

Pengguna tidak

mengisi form

lalu klik simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu supplier dan

muncul pesan eror

Sesuai

38

Halaman tambahkan

dari menu supplier

Pengguna

mengisi form

nomor telepon

dengan selain

numerik lalu klik

simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu supplier dan

muncul pesan eror

Sesuai

39

Halaman tambahkan

dari menu supplier

Pengguna

mengisi form

nomor telepon

dengan angka nol

(0) lalu klik

simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu supplier dan

muncul pesan eror

Sesuai

40 Halaman supplier

Pengguna

mengeklik

tombol edit

Pengguna masuk ke

halaman edit untuk menu

supplier dan tampil form

Sesuai

41

Halaman edit dari

menu supplier

Pengguna

mengisi form

lalu klik simpan

Pengguna dialihkan ke

halaman supplier lalu

muncul pesan berhasil

Sesuai

42

Halaman edit dari

menu supplier

Pengguna tidak

mengisi form

lalu klik simpan

Pengguna akan kembali

ke halaman edit dari

Sesuai

Page 119: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

101

menu supplier dan

muncul pesan eror

Halaman edit dari

menu supplier

Pengguna

mengisi form

nomor telepon

dengan selain

numerik lalu klik

simpan

Pengguna akan kembali

ke halaman edit dari

menu supplier dan

muncul pesan eror

Sesuai

44 Halaman edit dari

menu supplier

Pengguna

mengisi form

nomor telepon

dengan angka nol

(0) lalu klik

simpan

Pengguna akan kembali

ke halaman tambahkan

dari menu supplier dan

muncul pesan eror

Sesuai

45 Halaman supplier

Pengguna

mengeklik

tombol delete

Pengguna akan kembali

ke halaman supplier dan

muncul pesan berhasil

Sesuai

46 Halaman supplier

Pengguna

mengeklik

tombol cetak

report

Pengguna akan melihat

file pdf di tab baru

browser, atau men-

download file-nya bila di

komputer pengguna

terdapat aplikasi

download manager

Sesuai

47 Halaman barang

Pengguna

mengeklik

tombol logout

Pengguna dialihkan ke

halaman login Sesuai

Page 120: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

102

BAB V

SIMPULAN DAN SARAN

5.1 Simpulan

Berdasarkan hasil penelitian ini, maka dapat diperoleh kesimpulan sebagai

berikut:

a. Aplikasi ini dapat mengelola data barang dengan baik menggunakan REST API

sebagai sarana pertukaran datanya.

b. Aplikasi ini dapat mencetak laporan master barang, barang masuk dan keluar

yang dibutuhkan

5.2 Saran

Penelitian yang dilakukan, tentunya masih terdapat kelemahan-kelemahan

yang belum teratasi, oleh karena itu, perlu diperhatikan beberapa hal untuk

mengembangkan sistem yang sudah ada. Antara lain:

a. Perbaikan error yang ada serta pesan error yang tidak muncul di halaman login,

barang masuk dan barang keluar.

b. Dapat dijalankan secara online.

Demikian saran yang dapat diberikan. Semoga saran tersebut dapat dijadikan

bahan pembelajaran dan referensi apabila akan ada pengembangan dalam sistem

aplikasi ini ke depannya. Terima kasih.

Page 121: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

103

DAFTAR PUSTAKA

Abed, M, H. S., & Hamad. 2010. Performance & Evaluaion for RESTfull Web Service. Arab:

International Arab Journal of e-Technology.

Aji, S.M. 2014. “Journal on Networking and Security.” Rancangan Bangun Sistem

Informasi Disposisi Surat Berbasis Web Volume 3 no 3.

Amalia, Dina. Pengertian dan Fitur pada CodeIgniter.

https://idwebhost.com/blog/pengertian-dan-fitur-pada-CodeIgniter/, diakses 13

Desember 2019.

Anniss, Matt. 2014. What Is a Database and How Do I Use It? New York: Reese.

Anton, & Subagia. 2018. Kolaborasi CodeIgniter dan Ajax dalam Perancangan CMS.

Jakarta: PT. Elex Media Komputindo.

Arief, M., & Yudianto. 2011. Pemrograman Web Dinamis Menggunakan PHP dan MySQL.

Yogyakarta: Andi.

Bahjar. Metode Waterfall: Definisi, Tahapan, Kelebihan dan Kekurangan.

http://bahjah.blogger.mercubuana.ac.id/2017/09/15/metode-waterfall-definisi-

tahapan-kelebihan-dan-kekurangan/, diakses 29 Januari 2020.

Black. 2009. Implementasi dan Pengujian Program. Palembang: Maxikom.

British Columbia Institute of Technology. 2017. Alur Aplikasi. https://CodeIgniter-

id.github.io/user-guide/overview/appflow.html, diakses 13 Desember 2019.

British Columbia Institute of Technology. 2019. Change Log.

https://CodeIgniter.com/user_guide/changelog.html, diakses 19 Desember 2019.

Dadan & Kerendi Developers. 2015. Membuat CMS Multifitur. Jakarta: PT. Elex Media

Komputindo.

Daniel, Jacob. 2012. API's : A Strategy Guide. United State: O'Reilly Media.

Deitel, H., Paul, & Deitel. 2012. Java: How to Program. United Hall: Prentice Hall.

Dincer, Alper, dan Balkan Uraz. 2013. Google Maps JavaScript API Coockbook.

Brimingham: Pack Publishing Ltd.

Firman, Astria, Hans F. Wowor, Xaverius Najoan. 2016. “Sistem Informasi Perpustakaan

Online Bwebasis Web.” UNSRAT 29-36.

H, & Kreger. 2011. Web Service Conseptual (WSCA.1.0). USA: IBM Software Group.

Hartono. 2012. Rancang Bangun Web Service untuk Sistem Informasi Pengisian Kartu

Rencana Studi Berbasis Android. Purwokerto: Universitas Muhammadiah.

Helmi, Syafizal. 2010. Analisis Data. Medan: Usu Press.

Page 122: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

104

Hendrayudi. 2009. Pengertian Aplikasi. Yogyakarta: CV. Andi Offset.

Idcloudhost. 2017. Mengetahui Fungsi, Kelebihan dan Kekurangan Framework

CodeIgniter. https://idcloudhost.com/panduan/mengetahui-fungsi-kelebihan-dan-

kekurangan-CodeIgniter/, diakses 19 Desember 2019.

Imam, & Rozali. 2011. Next Generation Mobile Application. Konfrensi Informasi dan

Teknologi untuk Indonesia, 35.

Indrajani. 2015. Database Design. Jakarta: PT. Elex Media Komputindo.

Jubilee Enterprise. 2016. Pengenalan HTML dan CSS. Jakarta: PT. Elex Media Komputindo.

Kasman, Akhmad Dharma. 2015. Trik Kolaborasi ANDROID dengan PHP dan MySQL.

Yogyakarta: Lokomedia.

Lavarino, Dio dan Wiyli Yustanti. 2016. “Rancang Bangun E-Voting Berbasis Website di

Universitas Surabaya”. Universitas Negeri Surabaya 72-81.

Marthasari, Aminudin, G., & Y, M. 2010. Implementasi Web Service untuk Mendukung

Interprobabilitas pada E-Commers. Surabaya: Electronic Enginering Politecnic

Institute.

Masse, Mark. 2011. REST API Design Rulebook: Designing Consistent RESTful Web

Service Interfaces. Sobastopol: O'Reilly Media.

Murhada, dan Ceng Giap Yo. 2011. Pengantar Teknologi Informasi. Jakarta: Mitra Wacana

Media.

Musiafa, Zayid. 2019. Membangun Aplikasi Inventory Multistore dengan Visual Basic dan

MySQL. Banjarmasin: Universitas Islam Kalimantan Muhammad Arsyad Al-Banjary.

Muslihudin, Muhamad, dan Oktafianto. 2016. Analisis dan Perancangan Sistem Informasi

Menggunakan Model Terstruktur dan UML. Yogyakarta: ANDI.

Nanaban, Martin. 2018. Fungsi Distribusi di Dalam Industri. https://mgt-

logistik.com/inventory-adalah-persediaan-barang/, diakses 19 Desember 2019.

Pamungkas, Galang Amanda Dwi. 2019. Mengulik RESTful API. https://blog-

tki.universitaspertamina.ac.id/post/12/mengulik_restful_api/, diakses 13 Desember

2019.

Perkasa, Muhammad Iqbal dan Eko Budi Setiawan. 2018. “Pembangunan Web Service Data

Masyarakat Menggunakan REST API dengan Access Token”. ULTIMA Computing 19-

26.

Politwika. 2017. 60+ Cara Online Menghasilkan Uang Saat Weekend. Jakarta: Gramedia

Widiasarana Indonesia.

Pranata, Dana, Hamdani dan Dyna Marisa K. 2015. “Rancang Bangun Website Jurnal

Ilmiah Bidang Komputer (Studi Kasus: Program Studi Ilmu Komputer Universitas

Mulawarman)”. Universitas Mulawarman 25-29.

Page 123: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

105

Purnawanto, Budy. 2010. Manajemen SDM Berbasis Proses. Jakarta: Grasindo.

Raharjo, Budi. 2018. Belajar Otodidak Framework CodeIgniter. Bandung:

INFORMATIKA Bandung.

Rahmad, & Hidayat. 2010. Cara Membangun Web Site Gratis: Pengertian Web Site. Jakarta:

PT. Elex Media Komputindo.

Ramadhani, Cipta. 2015. Dasar Algoritma & Struktur Data dengan Bahasa Jawa.

Yogyakarta: Penerbit Andi

Rohman, Ardani. 2017. Documentation & Testing API dengan Postman part 1.

https://medium.com/skyshidigital/documentation-testing-api-dengan-postman-part-1-

5d33e430dca7, diakses 13 Desember 2019.

Rulloh, Amin, Dewi Erla Mahmudah, Herman Kabetta. 2017. Implementasi REST API pada

Aplikasi Kepaskibraan Berbasis Android

Sahyar. 2016. Alforitma & Pemrograman Menggunakan Matlab (Matrix Laboratory).

Jakarta: Kencana.

Sibagariang, Swono. 2016. “Penerapan Web Service pada Perpustakaan Berbasis Android”

Universitas Sari Mutiara Indonesia 28-32.

Simarmata, Janner. 2010. Rekayasa Perangkat Lunak. Yogyakarta: Andi.

Sutanta, Edhy. 2011. Basis Data dalam Tinjauan Konseptual. Yogyakarta: Andi.

Sugiyono. 2012. Metode Penelitian Kuantitatif dan Kualitatif dan R&D. Bandung: Alfabeta.

Sulistiono, Heru. 2018. Coding Mudah dengan CodeIgniter, jQuery, Bootstrap, dan

Datatable. Jakarta: PT. Elex Media Komputindo.

Supardi, Yaniar. 2009. Internet untuk Segala Kebutuhan. Jakarta: PT. Elex Media

Komputindo.

Suryana, Taryana, dan Koesheryatin. 2014. Aplikasi Internet Menggunakan HTML, CSS,

Java Script. Jakarta: PT. Elex Media Komputindo.

Sutabri, Tata. 2012. Analisis Sistem Informasi. Yogyakarta: CV. Andi Offset.

Tanaem, Penidas Fiodinggo, dkk. 2016. “RESTful Web Service Untuk Sistem Pencatatan

Transaksi Studi Kasus PT. XYZ”. Universitas Kristen Satya Wacana Salatiga 1-10.

Visual Studio Code. 2019. Getting Started. https://code.visualstudio.com/docs, diakses 13

Desember 2019.

Wardana. 2010. Menjadi Master PHP dengan Framework CodeIgniter. Jakarta: PT. Elex

Media Komputindo.

Y. Kustiyahningsih, D. Rosa. 2011. Pemrograman Basis Data Berbasis WEB Menggunakan

PHP dan Mysql. Yogyakarta: Graha Ilmu.

Page 124: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

106

Yudhanto, Yudho, dan Helmi Adi Prasetyo. 2018. Panduan Mudah Belajar Framework

Laravel. Jakarta: PT. Elex Media Komputindo.

Yuhefizar, HA Mooduto, Rahmat Hidayat. 2009. Cara Mudah Membangun Website

Interaktif Menggunakan Content Management Sustem Joomla Edisi Revisi. Jakarta:

PT. Elex Media Komputindo.

Zakariyya, Ibnu. 2017. Memahami Konsep MVC (Model-View-Controller).

https://jagongoding.com/blog/post/memahami-konsep-mvc, diakses 19 Desember

2019

Page 125: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

107

LAMPIRAN-LAMPIRAN

REST Client

application/config/restapi.php

<?php defined('BASEPATH') OR exit('No direct script access allowed');

$config['api'] = 'http://localhost/stok_restserver/index.php/';

application/controllers/Barang.php

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Barang extends CI_Controller {

function __construct() {

parent::__construct();

$this->load->config('restapi');//link rest api

$this->load->library('curl');

$this->load->helper('images');

$this->API = $this->config->item('api');

if (!$this->sess()) {

redirect('login');

}

}

function sess() {

//ambil session

return $this->session->userdata('admin');

}

Page 126: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

108

public function index() {//menampilkan halaman index

$data['session'] = $this->sess();

$data['barang'] = json_decode($this->curl->simple_get($this->API.'barang'));

$this->render->title = 'Stok Barang | Beranda';

$this->render->data('barang/index', $data);

}

public function post() {//menampilkan halaman insert

$data['session'] = $this->sess();

if (isset($_POST['do_post'])) {

$this->do_post();

}

$this->render->title = 'Stok Barang | Tambah Baru';

$this->render->data('barang/tambah_baru', $data);

}

function do_post() {//proses insert

$sess = $this->sess();

$this->load->library('form_validation');

$this->form_validation->set_rules('namabarang', 'Nama Barang',

'trim|required|min_length[1]|max_length[150]', array('required' => 'Nama Barang

tidak boleh kosong.'));

Page 127: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

109

$this->form_validation->set_rules('deskripsi', 'Deskripsi',

'trim|required|min_length[3]|max_length[150]', array('required' => 'Deskripsi tidak

boleh kosong.'));

$this->form_validation->set_rules('harga', 'Harga',

'trim|required|numeric|min_length[3]|max_length[7]', array('required' => 'Harga

tidak boleh kosong.'));

if ($this->form_validation->run() == true) {

$namabarang = $this->input->post('namabarang');

$deskripsi = $this->input->post('deskripsi');

$harga = $this->input->post('harga');

$param = array(

'namabarang' => $namabarang,

'deskripsi' => $deskripsi,

'harga' => $harga,

'stok' => 0,

'created_by' => $sess['id'],

'created_at' => time(),

'updated_by' => $sess['id'],

'updated_at' => time()

);

$post = $this->curl->simple_post($this->API.'barang', $param,

array(CURLOPT_BUFFERSIZE => 10));

if ($post) {

$this->session->set_flashdata('msg', "$namabarang berhasil didaftarkan.");

redirect('barang');

Page 128: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

110

}

} else {

$this->form_validation->set_error_delimiters('', '<br />');

$this->session->set_flashdata('msg_g', validation_errors());

redirect($_SERVER['HTTP_REFERER']);

}

}

public function edit($id) {//menampilkan halaman edit

$data['session'] = $this->sess();

$arrayId = array('id'=> $id);//$this->uri->segment(3)

$data['barang'] = json_decode($this->curl->simple_get($this->API.'barang',

$arrayId));

if (isset($_POST['do_edit'])) {

$this->do_edit();

}

$this->render->title = 'Stok Barang | Edit Barang';

$this->render->data('barang/edit', $data);

}

function do_edit() {//proses edit

$sess = $this->sess();

$this->load->library('form_validation');

Page 129: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

111

$this->form_validation->set_rules('namabarang', 'Nama Barang',

'trim|required|min_length[1]|max_length[150]', array('required' => 'Nama Barang

tidak boleh kosong.'));

$this->form_validation->set_rules('deskripsi','Deskripsi',

'trim|required|min_length[3]|max_length[150]', array('required' => 'Deskripsi tidak

boleh kosong.'));

$this->form_validation->set_rules('harga','Harga',

'trim|required|numeric|min_length[3]|max_length[150]', array('required' => 'Harga

tidak boleh kosong.'));

if ($this->form_validation->run() == true) {

$id = $this->input->post('id');

$namabarang = $this->input->post('namabarang');

$deskripsi = $this->input->post('deskripsi');

$harga = $this->input->post('harga');

$param = array(

'id' => $id,

'namabarang' => $namabarang,

'deskripsi' => $deskripsi,

'harga' => $harga,

'updated_by' => $sess['id'],

'updated_at' => time()

);

$update = $this->curl->simple_put($this->API.'barang', $param,

array(CURLOPT_BUFFERSIZE => 10));

Page 130: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

112

if ($update) {

$this->session->set_flashdata('msg', "Perubahan berhasil disimpan.");

redirect('barang');

}

} else {

$this->form_validation->set_error_delimiters('', '<br />');

$this->session->set_flashdata('msg_g', validation_errors());

redirect($_SERVER['HTTP_REFERER']);

}

}

function do_delete($id) {//proses delete

$delete = $this->curl->simple_delete($this->API.'barang', array('id'=> $id),

array(CURLOPT_BUFFERSIZE => 10));

if ($delete) {

$this->session->set_flashdata('msg', "Barang berhasil dihapus.");

redirect('barang');

} else {

$this->session->set_flashdata('msg_g', "Barang gagal dihapus.");

redirect('barang');

}

}

function cetak_report() {//cetak pdf

$this->load->library('pdf');

Page 131: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

113

$date = date("d F Y", time());

$pdf = new FPDF('l','mm','A4');

// membuat halaman baru

$pdf->AddPage();

// setting jenis font yang akan digunakan

$pdf->SetFont('Arial','B',16);

// mencetak string

$pdf->Cell(190,7,'Report Stok Barang ' . $date ,0,1,'C');

// Memberikan space ke bawah agar tidak terlalu rapat

$pdf->Cell(10,7,'',0,1);

$pdf->SetFont('Arial','B',10);

$pdf->Cell(10,6,'No.',1,0);

$pdf->Cell(78,6,'Nama Barang',1,0);

$pdf->Cell(27,6,'Stok Saat Ini',1,0);

$pdf->Cell(25,6,'Harga',1,1);

$pdf->SetFont('Arial','',10);

$result = json_decode($this->curl->simple_get($this->API.'barang'));

foreach ($result as $key => $res){

$pdf->Cell(10,6,$key+1,1,0);

$pdf->Cell(78,6,$res->namabarang,1,0);

$pdf->Cell(27,6,$res->stok,1,0);

$pdf->Cell(25,6,$res->harga,1,1);

}

$pdf->Output();

}

Page 132: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

114

}

application/views/barang/edit.php

<div class="content-wrapper">

<section class="content-header">

<h1>

Stok Barang

</h1>

<ol class="breadcrumb">

<li><a href="<?= base_url() ?>"><i class="fa fa-dashboard"></i>

Dashboard</a></li>

<li><a href="<?= base_url('barang') ?>">Stok Barang</a></li>

<li class="active">Edit Barang</li>

</ol>

</section>

<section class="content">

<div class="box">

<div class="box-header with-border">

<h3 class="box-title">Edit Barang</h3>

</div>

<div class="box-body">

<?php if($this->session->flashdata('msg_g')) : ?>

<div class="alert alert-danger alert-dismissible">

<tombol type="tombol" class="close" data-dismiss="alert" aria-

hidden="true">&times;</tombol>

Page 133: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

115

<h5><i class="icon fa fa-ban"></i> <?= $this->session->flashdata('msg_g')

?></h5>

</div>

<?php elseif($this->session->flashdata('msg')) : ?>

<div class="alert alert-success alert-dismissible">

<tombol type="tombol" class="close" data-dismiss="alert" aria-

hidden="true">&times;</tombol>

<h5><i class="icon fa fa-check"></i> <?= $this->session->flashdata('msg')

?></h5>

</div>

<?php endif; ?>

<form role="form" class="form-horizontal" enctype="multipart/form-data"

action="<?= base_url('barang/do_edit') ?>" method="POST">

<?php foreach ($barang as $key => $res) : ?>

<div class="row">

<div class="col-xs-1">

<label>ID Barang</label>

<input type="text" class="form-control" id="id" name="id"

value="<?= $res->id ?>" readonly>

</div>

<div class="col-xs-9">

<label>Nama Barang</label>

<input type="text" class="form-control" id="namabarang"

name="namabarang" value="<?= $res->namabarang ?>" autofocus>

</div>

Page 134: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

116

<div class="col-xs-2">

<label>Harga</label>

<input type="number" class="form-control" id="harga" name="harga"

min="1" value="<?= $res->harga ?>">

</div>

<div class="col-xs-12">

<label>Deskripsi</label>

<input type="text" class="form-control" id="deskripsi"

name="deskripsi" value="<?= $res->deskripsi ?>">

</div>

</div>

<div class="row">

<div class="col-xs-2">

<tombol type="submit" name="do_edit" class="btn btn-primary btn-

block btn-flat">Simpan</tombol>

</div>

</div>

<?php endforeach; ?>

</form>

</div>

<div class="box-footer">

<a class="btn btn-primary btn-sm" href="<?= base_url('barang') ?>">

<i class="fa fa-arrow-left" aria-hidden="true"></i> Kembali</a>

</div>

</div>

Page 135: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

117

</section>

</div>

application/views/barang/index.php

<div class="content-wrapper">

<section class="content-header">

<h1>

Stok Barang

</h1>

<ol class="breadcrumb">

<li><a href="<?= base_url() ?>"><i class="fa fa-dashboard"></i>

Dashboard</a></li>

<li class="active">Master Barang</li>

</ol>

</section>

<section class="content">

<div class="box">

<div class="box-header with-border">

<h3 class="box-title">Master Barang</h3>

</div>

<div class="box-body">

<?php if($this->session->flashdata('msg_g')) : ?>

<div class="alert alert-danger alert-dismissible">

<tombol type="tombol" class="close" data-dismiss="alert" aria-

hidden="true">&times;</tombol>

<h5><i class="icon fa fa-ban"></i> <?= $this->session->flashdata('msg_g')

?></h5>

</div>

Page 136: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

118

<?php elseif($this->session->flashdata('msg')) : ?>

<div class="alert alert-success alert-dismissible">

<tombol type="tombol" class="close" data-dismiss="alert" aria-

hidden="true">&times;</tombol>

<h5><i class="icon fa fa-check"></i> <?= $this->session->flashdata('msg')

?></h5>

</div>

<?php endif; ?>

<table id="example1" class="table table-bordered table-striped">

<thead>

<tr>

<th class="col-xs-1">No.</th>

<th class="col-xs-5">Nama Barang (Stok)</th>

<th class="col-xs-1">Harga</th>

<th class="col-xs-3">Deskripsi</th>

<th class="col-xs-2"></th>

</tr>

</thead>

<tbody>

<?php

if ($barang) :

foreach ($barang as $key => $res) :

?>

<tr>

<td><?= $key+1 ?></td>

<td><?= $res->namabarang ?> (<b><?= $res->stok ?></b>)</td>

<td><?= $res->harga ?></td>

<td><?= $res->deskripsi ?></td>

Page 137: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

119

<td><a class="btn btn-primary btn-sm" href="<?=

base_url('barang/edit/' . $res->id) ?>">

<i class="fa fa-pencil-square-o" aria-hidden="true"></i>

Edit</a>

<a class="btn btn-danger btn-sm deletetombol" data-url="<?=

base_url('barang/do_delete/' . $res->id) ?>">

<i class="fa fa-trash-o" aria-hidden="true"></i> Delete</a>

</th>

</tr>

<?php

endforeach;

endif;

?>

</tbody>

</table>

</div>

<div class="box-footer">

<a class="btn btn-primary btn-sm" href="<?= base_url('barang/post/') ?>">

<i class="fa fa-pencil-square-o" aria-hidden="true"></i> Tambah Baru</a>

<a class="btn btn-primary btn-sm" href="<?= base_url('barang/cetak_report/')

?>">

<i class="fa fa-file-pdf-o" aria-hidden="true"></i> Cetak Report</a>

</div>

</div>

</section>

</div>

application/views/barang/tambah_baru.php

<div class="content-wrapper">

Page 138: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

120

<section class="content-header">

<h1>

Stok Barang

</h1>

<ol class="breadcrumb">

<li><a href="<?= base_url() ?>"><i class="fa fa-dashboard"></i>

Dashboard</a></li>

<li><a href="<?= base_url('barang') ?>">Stok Barang</a></li>

<li class="active">Tambah Baru</li>

</ol>

</section>

<section class="content">

<div class="box">

<div class="box-header with-border">

<h3 class="box-title">Tambah Baru</h3>

</div>

<div class="box-body">

<?php if($this->session->flashdata('msg_g')) : ?>

<div class="alert alert-danger alert-dismissible">

<tombol type="tombol" class="close" data-dismiss="alert" aria-

hidden="true">&times;</tombol>

<h5><i class="icon fa fa-ban"></i> <?= $this->session->flashdata('msg_g')

?></h5>

</div>

<?php elseif($this->session->flashdata('msg')) : ?>

<div class="alert alert-success alert-dismissible">

<tombol type="tombol" class="close" data-dismiss="alert" aria-

hidden="true">&times;</tombol>

Page 139: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

121

<h5><i class="icon fa fa-check"></i> <?= $this->session->flashdata('msg')

?></h5>

</div>

<?php endif; ?>

<form role="form" class="form-horizontal" enctype="multipart/form-data"

action="<?= base_url('barang/do_post') ?>" method="POST">

<div class="row">

<div class="col-xs-10">

<label>Nama Barang</label>

<input type="text" class="form-control" id="namabarang"

name="namabarang" autofocus>

</div>

<div class="col-xs-2">

<label>Harga</label>

<input type="number" class="form-control" id="harga" name="harga"

min="1">

</div>

<div class="col-xs-12">

<label>Deskripsi</label>

<input type="text" class="form-control" id="deskripsi"

name="deskripsi">

</div>

</div>

<div class="row">

<div class="col-xs-2">

<tombol type="submit" name="do_post" class="btn btn-primary btn-

block btn-flat">Daftarkan</tombol>

</div>

</div>

Page 140: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

122

</form>

</div>

<div class="box-footer">

<a class="btn btn-primary btn-sm" href="<?= base_url('barang_masuk') ?>">

<i class="fa fa-arrow-left" aria-hidden="true"></i> Kembali</a>

</div>

</div>

</section>

</div>

Page 141: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

123

REST Server

application/controllers/Barang.php

<?php defined('BASEPATH') OR exit('No direct script access allowed');

require APPPATH . '/libraries/REST_Controller.php';

use Restserver\Libraries\REST_Controller;

class Barang extends REST_Controller {

function __construct($config = 'rest') {

parent::__construct($config);

$this->load->database();

$this->load->model('m_barang');

}

function index_get() {//select, simple_get

$id = $this->get('id');

if ($id == '') {

$result = $this->m_barang->get_all();

} else {

$result = $this->m_barang->get($id);

}

if (!empty($result)) {

$this->set_response($result, REST_Controller::HTTP_OK);

// OK (200) being the HTTP response code

} else {

$this->set_response([

Page 142: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

124

'status' => FALSE,

'message' => 'Tidak ada data yang cocok'

], REST_Controller::HTTP_NOT_FOUND);

// NOT_FOUND (404) being the HTTP response code

}

}

function index_put() {//update, simple_put

$id = $this->put('id');

$param = array(

'namabarang' => $this->put('namabarang'),

'harga' => $this->put('harga'),

'deskripsi' => $this->put('deskripsi'),

'updated_by' => $this->put('updated_by'),

'updated_at' => $this->put('updated_at')

);

if ($result = $this->m_barang->update($id, $param)) {

$this->set_response($result, REST_Controller::HTTP_OK);

} else {

$this->set_response([

'status' => FALSE,

'message' => 'Penyuntingan gagal'

], REST_Controller::HTTP_NOT_FOUND);

}

}

function index_post() {//insert, simple_post

Page 143: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

125

$param = array(

'namabarang' => $this->post('namabarang'),

'harga' => $this->post('harga'),

'stok' => $this->post('stok'),

'deskripsi' => $this->post('deskripsi'),

'created_by' => $this->post('created_by'),

'created_at' => $this->post('created_at'),

'updated_by' => $this->post('updated_by'),

'updated_at' => $this->post('updated_at')

);

if ($result = $this->m_barang->post($param)) {

$this->set_response($result, REST_Controller::HTTP_OK);

} else {

$this->set_response([

'status' => FALSE,

'message' => 'Penambahan data gagal'

], REST_Controller::HTTP_NOT_FOUND);

}

}

function index_delete() {//delete, simple_delete

$id = $this->delete('id');

if ($result = $this->m_barang->delete($id)) {

$this->set_response($result, REST_Controller::HTTP_OK);

} else {

$this->set_response([

'status' => FALSE,

Page 144: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

126

'message' => 'Penghapusan data gagal'

], REST_Controller::HTTP_NOT_FOUND);

}

}

}

application/models/M_barang.php

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class M_barang extends CI_Model {

function __construct() {

parent::__construct();

}

function get_all() {

return $this->db->get('barang')->result_array();

}

function get($id) {

return $this->db->get_where('barang', array('id' => $id))->result_array();

}

function post($param) {

$this->db->trans_start();

$this->db->insert('barang', $param);

Page 145: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

127

// $id = $this->db->insert_id();

$this->db->trans_complete();

if ($this->db->trans_status() == FALSE) {

return FALSE;

} else {

return TRUE;

}

}

function update($id, $param) {

$this->db->trans_start();

$this->db->where('id', $id);

$this->db->update('barang', $param);

$this->db->trans_complete();

if ($this->db->trans_status() == FALSE) {

return FALSE;

} else {

return TRUE;

}

}

function delete($id) {

$this->db->trans_start();

$this->db->where('id', $id);

$this->db->delete('barang');

$this->db->trans_complete();

if ($this->db->trans_status() == FALSE) {

Page 146: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

128

return FALSE;

} else {

return TRUE;

}

}

}

Page 147: APLIKASI INVENTORY BERBASIS WEB MENGGUNAKAN

129

DAFTAR RIWAYAT HIDUP

Biodata Mahasiswa

Nama Lengkap: Virdi Gunawan

Tempat Tanggal Lahir: Simpang Sender, 5 September 1997

Jenis Kelamin: Laki–laki

Alamat Lengkap: Jln. Tegal Sari 3 no. 34 RT 3 RW 11 Kel. Sukasari Kec. Tangerang

Agama: Islam

Nomor Telepon: 0821-2250-4953

E-Mail: [email protected]

Pendidikan Formal

2003 – 2009: SD Negeri 12 Tangerang

2009 – 2012: SMP Negeri 16 Tangerang

2012 – 2015: SMK Negeri 1 Tangerang

2015 – Sekarang: Universitas Buddhi Dharma, Peminatan Jaringan

Tangerang, 20 Desember 2019

Virdi Gunawan

20151000083