pengembangan website keanggotaan perbakin ......1 pengembangan website keanggotaan perbakin...

22
1 Pengembangan Website Keanggotaan PERBAKIN (Persatuan Tembak Menembak Indonesia) menggunakan Framework Laravel (Studi Kasus : Defender Shooting Club Pusat, Magelang) Artikel Ilmiah Oleh: Fajar Dwi Utara (672014105) Nina Setiyawati, S.Kom., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga 2018

Upload: others

Post on 27-Jan-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

    Pengembangan Website Keanggotaan PERBAKIN (Persatuan

    Tembak Menembak Indonesia) menggunakan Framework Laravel

    (Studi Kasus : Defender Shooting Club Pusat, Magelang)

    Artikel Ilmiah

    Oleh:

    Fajar Dwi Utara (672014105)

    Nina Setiyawati, S.Kom., M.Cs.

    Program Studi Teknik Informatika

    Fakultas Teknologi Informasi

    Universitas Kristen Satya Wacana

    Salatiga

    2018

  • 2

  • 3

  • 4

  • 5

  • 6

    1. Pendahuluan

    Defender Shooting Club merupakan organisasi yang bergerak dalam bidang

    olahraga menembak dibawah naungan induk olahraga menembak seluruh Indonesia yaitu

    PERBAKIN (Persatuan Tembak Menembak Indonesia). Defender Shooting Club telah

    resmi dibawah PERBAKIN setelah disahkan kepengurusan Defender Shooting Club oleh

    pengurus cabang PERBAKIN kabupaten Semarang melalui surat keputusan

    No.017/Pbk.Kab.Smg/IX/2010 dan telah resmi dikukuhkan atau dilaksanakan pelantikan

    pengurus Defender Sooting Club oleh ketua harian pengurus cabang PERBAKIN

    Kabupaten Semarang pada tanggal 29 Oktober 2010 di Salatiga. Pengurus Defender

    Shooting Club terdiri dari kalangan TNI, POLRI, anggota RESIMEN mahasiswa, alumni

    resimen mahasiswa serta beberapa pelajar setingkat SLTA. Defender Shooting Club

    memiliki tiga cabang olahraga menembak yaitu tembak target, tembak reaksi dan

    berburu. Defender Shooting Club terbuka dalam menerima anggota untuk masyarakat dari

    seluruh Indonesia[1].

    Defender Shooting Club pada tahun 2012 telah membuat web resmi dengan

    menggunakan blogspot dengan alamat www.defendersc.com/. Blog tersebut berisi tentang

    informasi yang berkaitan dengan Defender Shooting Club seperti profil, pengurus,

    keanggotaan, sekretariat, dan info. Di web tersebut hanya mencantumkan tata cara

    seseorang untuk menjadi anggota atau seseorang yang ingin melihat status

    keanggotaannya[1]. Defender Shooting Club tidak mempunyai sistem untuk penyimpanan

    data, dimana dalam satu tahun setidaknya Defender Shooting Club menerima ratusan

    anggota. Masyarakat yang ingin menjadi anggota diharuskan mengisi data pribadi dengan

    datang ke kantor Defender Shooting Club untuk menjadi anggota. Registrasi tersebut

    dirasa kurang efektif karena masyarakat memerlukan waktu dan biaya yang lebih hanya

    untuk menjadi anggota Defender Shooting Club. Oleh karena itu diperlukan sistem

    informasi berbasis web untuk membantu proses penyampaian informasi, penyimpanan

    data, proses registrasi dan pengelolaan data anggota.

    Berdasarkan latar belakang yang ada, maka dilakukan penelitian yang bertujuan

    untuk merancang dan implementasi sistem informasi pengelolaan data Defender Shooting

    Club berbasis web menggunakan framework Laravel. Sistem ini mendukung

    penyampaian informasi yang ada di Defender Shooting Club, registrasi keanggotaan dan

    berhubungan dengan pengdokumentasian data anggota. Menggunakan framework Laravel

    karena Laravel merupakan pengembangan aplikasi berbasis MVC (Model, view,

    Controller) yang ditulis dalam PHP yang dirancang untuk meningkatkan kualitas

    perangkat lunak dengan mengurangi biaya pengembangan awal, biaya pemeliharaan dan

    untuk meningkatkan pengalaman bekerja dengan aplikasi dengan menyediakan sintaks

    yang ekspresif, jelas dan menghemat waktu. Dengan framework Laravel memudahkan

    maintenance dan pengembangan aplikasi dimasa yang akan datang, karena konsep MVC

    berfungsi untuk mengatur arsitektur sebuah aplikasi dengan memisahkan fungsi-fungsi

    yang sejenis sehingga mempermudah dalam pembaharuan aplikasi[2].

  • 7

    2. Tinjauan Pustaka

    Penelitian ini mengacu pada dua penelitian terdahulu. Penelitian yang pertama

    berjudul Sistem Informasi Manajemen Keanggotaan Pada Sekolah Tinggi Manajemen

    Informatika dan Komputer Kopma UGM Berbasis Web, membahas tentang memberikan

    kemudahan bagi anggota dari KOPMA UGM guna mengakses informasi keanggotaannya

    pada Kopma UGM. Web dibangun menggunakan bahasa pemrograman PHP dan Mysql

    sebagai database, serta didukung dengan program Wampserver 2.0 sebagai web server

    dan Micromedia Dreamweaver 8 sebagai tools pembangun aplikasi. Prosedur yang

    terlibat dalam sistem ini yaitu prosedur pengelolaan data mahasiswa UGM mendaftar

    menjadi anggota koperasi dan prosedur anggota untuk mengakses informasi keanggotaan

    pada Kopma UGM[3].

    Penelitian kedua yang berjudul Analisis dan Perancangan Sistem Informasi

    Registrasi dan Keanggotaan Klub, membahas tentang menganalisis sistem registrasi dan

    kemudian merancang sistem registrasi dan keanggotaan pada klub sehingga

    mempermudah pengelolaan data dan memperoleh informasi secara cepat yang pada

    akhirnya akan meningkatkan kualitas pelayanan dan fasilitas pada klub. Metodologi yang

    akan digunakan adalah metode analisis dan metode perancangan. Web dibangun

    menggunakan framework Codeigniter dan dengan bahasa pemrograman PHP dan Mysql

    sebagai database[4].

    Berdasarkan kedua penelitian sebelumnya, sistem informasi dibangun dengan

    bahasa pemrograman PHP dengan framework Codeigniter untuk mengefisienkan

    penulisan program. Penelitian dibuat untuk mempermudah anggota mendapatkan

    informasi tentang registrasi dan mengakses informasi keanggotaan. Rancangan sistem

    registrasi ini mempermudah pengelolaan data serta memperoleh informasi secara cepat

    yang akan meningkatkan kualitas pelayanan dan fasilitas.

    Jika dibandingkan dengan penelitian sebelumnya yang berfokus pada informasi

    registrasi keanggotaan, penelitian ini berfokus pada fitur aplikasi Defender Shooting

    Club. Fitur yang ada pada aplikasi yaitu notifikasi kepada masyarakat yang berhasil

    menjadi anggota dan notifikasi masa berlaku kartu tanda anggota yang sudah habis atau

    berhasil diperpanjang melalui email. Aplikasi dibangun menggunakan framework Laravel

    yang menggunakan metode MVC(Model-View Controller) untuk mempermudah

    pengembangan dan pemeliharan aplikasi tersebut.

    Sistem informasi merupakan Suatu sistem yang dibuat oleh manusia yang terdiri

    dari komponen-komponen dalam organisasi untuk mencapai suatu tujuan yaitu

    menyajikan informasi. Sekumpulan prosedur organisasi yang pada saat dilakasanakan

    akan memberikan informasi bagi pengambilan keputusan atau untuk mengendalikan

    organisasi. Suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan

    pengolahan transaksi, mendukung operasi, bersifat manajerial, kegiatan strategi dari suatu

    organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang

    diperlukan[5].

  • 8

    Sejarah framework Laravel dibuat oleh Taylor Otwell, proyek Laravel dimulai

    pada April 2011. Awal mula proyek ini dibuat, karena Otwell sendiri tidak menemukan

    framework yang up-to-date dengan versi PHP. Mengembangkan framework yang sudah

    ada juga bukan merupakan ide yang bagus, karena keterbatasan sumber daya.

    Dikarenakan beberapa keterbatasan tersebut, Otwell membuat sendiri framework dengan

    nama Laravel. Oleh karena itu, Laravel mensyaratkan PHP versi 5.3 ke atas[6].

    Adapun kelebihan framework Laravel adalah sebagai berikut :

    • Expressif, Laravel adalah framework PHP yang expressif, artinya ketika

    melihat suatu sintaks Laravel, seorang programmer diharapkan akan langsung

    tahu kegunaan dari sintaks.

    • Simple, salah satu yang membuat Laravel begitu simple adalah dengan adanya

    Eloquent ORM. Misalnya kita ingin mengambil semua data yang ada di dalam

    table users, maka yang diperlukan hanya membuat sebuah class model bernama

    user, kemudian kita tinggal memasukan semua data dari tabel users tersebut.

    Beberapa fitur yang dimiliki oleh framework Laravel adalah sebagai berikut :

    • Reverse Routing, mendefinisikan hubungan antara Link dan Route, sehingga

    jika suatu saat ada perubahan pada route secara otomatis akan tersambung dengan

    link yang relevan.

    • Restful Controllers, memberikan sebuah option (pilihan) untuk memisahkan

    logika dalam melayani HTTP GET dan permintaan POST.

    • Migrations menyediakan versi sistem control untuk skema database, sehingga

    memungkinkan untuk menghubungkan perubahan adalah basis kode aplikasi dan

    keperluan yang dibutuhkan dalam merubah tata letak database.

    3. Metode dan Perancangan Sistem

    Penelitian yang berjudul Pengembangan Aplikasi Keanggotaan PERBAKIN

    Berbasis Web (Persatuan Tembak Menembak Indonesia) menggunakan Framework

    Laravel (Studi Kasus : Defender Shooting Club Pusat, Magelang) ini memiliki

    beberapa tahapan yaitu (1) tahap analisis kebutuhan dan pengumpulan data,(2) tahap

    perancangan sistem meliputi perancangan sistem,(3) tahap pembangunan sistem,(4)

    tahap pengujian sistem.

    Analisa Kebutuhan dan Pengumpulan Data

    Perancangan Sistem

    Pembangunan Sistem

    Pengujian Sistem

    Gambar 1 Tahapan Penelitian

  • 9

    Tahapan penelitian diawali dengan analisis kebutuhan dan pengumpulan data.

    Pada tahap ini dilakukan wawancara dengan pengurus Defender Shooting Club yang

    beralamat di Jl. Bintan V Perum Laguna, Kalinegoro, Magelang. Dalam wawancara

    untuk mengumpulkan data didapatkan masalah yang ada di Defender Shooting Club

    yaitu diperlukan suatu portal dalam bentuk aplikasi yang dapat menampung data

    anggota Defender Shooting Club sehingga dalam pengelolaan data untuk kebutuhan

    Defender Shooting Club seperti registrasi anggota dan penyampaian status

    keanggotaan. Berdasarkan wawancara, maka didapatkan suatu permasalahan dan

    kebutuhan untuk pembuatan sistem. Tahap pengumpulan data dilakukan setelah

    wawancara dengan pengurus Defender Shooting Club. Data yang didapatkan berupa

    data anggota, data unit, kegiatan Defender Shooting Club dan kesekretariatan.

    Tahap selanjutnya adalah perancangan sistem, pembangunan sistem, dan

    pengujian sistem yang dilakukan dengan menggunakan metode prototyping. Metode

    prototyping dipilih karena selama proses pengembangan aplikasi terjadi komunikasi

    yang intensif dengan pengurus Defender Shooting Club. Pengembangan aplikasi

    dengan metode prototyping dilakukan secara bertahap, yaitu dengan membuat

    prototype awal, kemudian prototype tersebut akan dikembangkan menjadi aplikasi

    yang akan diperbarui menyesuaikan kebutuhan dari pengguna dari waktu ke waktu[8].

    Tahapan atau langkah-langkah yang dilakukan pada metode prototyping ditunjukkan

    pada Gambar 2.

    Gambar 2 Tahapan Metode Prototype[8]

    Proses prototyping pada penelitian ini menghasilkan dua siklus. Berdasarkan

    Gambar 2, tahapan prototyping dapat dijelaskan sebagai berikut:

    Prototyping 1

    (1) Listen to customer, yaitu melakukan wawancara dengan klien (Defender Shooting

    Club) mengenai aplikasi yang akan dibangun. Dari hasil wawancara didapat

    beberapa kebutuhan dan informasi, yaitu: (a) aplikasi yang dapat menampung data

    anggota Defender Shooting Club,(b) aplikasi dapat menampilkan seluruh data

    anggota berserta detailnya,(c) aplikasi dapat melakukan registrasi anggota baru

    Defender Shooting Club, (d) aplikasi dapat memberikan notifikasi kepada calon

  • 10

    anggota dan anggota,(e) aplikasi dapat mencetak kartu tanda anggota dengan

    format PDF,(f) aplikasi dapat melakukan pencarian berdasarkan kata kunci, id dan

    nama anggota dan (g) aplikasi dibuat responsive, yang dimana tampilan aplikasi

    akan berubah menyesuaikan lebar layar untuk mempermudah pengunjung

    mengoperasikan aplikasi di berbagai perangkat.

    (2) Build / revise mock-up, yaitu pembuatan aplikasi setengah jadi. Tahap ini diawali

    dengan membuat UML (Unified Modelling Language) berdasarkan kebutuhan

    yang telah diperoleh dari wawancara. UML bersifat scalability, yaitu objek lebih

    mudah dipakai untuk menggambarkan sistem yang besar dan komplek. UML juga

    bersifat dynamic modelling, yaitu model dapat digunakan untuk pemodelan sistem

    dinamis dan real time[9]. Diagram yang pertama dibuat adalah use case diagram.

    Use case diagram merupakan pemodelan untuk mengetahui kelakuan (behaviour)

    sistem informasi yang akan dibuat. Use case diagram mendeskripsikan sebuah

    interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat dan

    berfungsi untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan

    siapa saja yang berhak menggunakan fungsi-fungsi itu[10]. Use case diagram

    dalam aplikasi Defender Shooting Club ditunjukkan pada Gambar 3.

    Gambar 3 Use Case Diagram

    Tambah Data Unit

    Edit Data Unit

    Hapus Data Unit

    Edit Data AnggotaHapus Data Anggota

    AnggotaCek Keanggotaan

    Registrasi Anggota

    Masyarakat

    Tambah Galeri

    Edit GaleriHapus Galeri

    Tambah Info

    Edit InfoHapus Info

    Data Unit

    Verifikasi

    Data Anggota

    Galeri

    Info

    Struktur

    Administrator

    Tambah Struktu

    Edit Struktur

    Hapus Struktur

  • 11

    Gambar 3 menunjukkan use case diagram yang akan digunakan pada

    aplikasi pengelolaan data anggota Defender Shooting Club. Administrator di

    sini merupakan pengurus Defender Shooting Club yang memiliki akses penuh

    dalam mengelola data Defender Shooting Club. Anggota merupakan

    masyarakat yang sudah melakukan registrasi untuk menjadi anggota Defender

    Shootig Club dan dapat melihat informasi yang ada di Defender Shooting

    Club. Sedangkan masyarakat merupakan seseorang yang ingin menjadi

    anggota dari Defender Shooting Club.

    Alur aktifitas aktor dari awal hingga berakhirnya suatu use case

    diagram digambarkan oleh activity diagram. Activity diagram yang dibahas

    merupakan aktifitas dari administrator dalam memasukan data Defender

    Shooting Club dan aktifitas masyarakat menjadi anggota. Activity diagram

    dapat dilihat pada Gambar 4 dan Gambar 5.

    Gambar 4 merupakan diagram alur proses aplikasi pada menu data

    anggota yang dilakukan oleh administrator. Untuk melakukan proses yang ada

    di menu data anggota administrator akan melakukan proses login terlebih

    dahulu. Administrator harus memasukkan username dan password untuk

    diarahkan oleh sistem ke dalam tampilan menu data anggota. Di dalam menu

    data anggota terdapat aksi yang dapat dipilih oleh admin yaitu insert, update,

    select dan delete.

    Login Username &

    Password

    Pilih menu Data

    Anggota

    Pilih Aksi

    Logout

    Insert Update

    Select Delete

    Set Username &

    Password

    Tampil

    Dashboard

    Tampil Halaman

    Data Anggota

    Set hasil

    Insert/Update/Select/Delete

    Pengecekan Username &

    Password

    Simpan

    Database

    Apakah data valid?Tidak

    Ya

    start

    end

    DatabaseSistemAdmin

    Gambar 4 Activity Diagram Administrator

  • 12

    Gambar 5 merupakan alur proses registrasi seseorang untuk menjadi

    anggota Defender Shooting Club. Data yang diverifikasi dan memenuhi syarat

    menjadi anggota Defender Shooting Club akan disimpan di database Defender

    Shooting Club. Setelah data tersimpan maka anggota akan mendapat notifikasi

    bahwa sudah menjadi anggota Defender Shooting Club melalui email.

    Class diagram merupakan diagram yang membantu dalam visualisasi

    struktur kelas-kelas dari suatu sistem. Class diagram mendeskripsikan jenis-

    jenis objek dalam system dan berbagai macam hubungan statis yang terdapat

    di antara mereka. Di dalam diagram ini, diperlihatkan hubungan antar kelas

    dan penjelasan detail tiap -tiap kelas[8].

    Gambar 5 Activity Diagram Registrasi Anggota

    Gambar 6 Class Diagram Angggota

    end

    start

    Insert Data

    Pengecekan

    Keanggotaan

    Controller

    Verifikasi Data

    Notifikasi Email

    Simpan

    Database

    Apakah data valid?

    Tidak

    Ya

    DatabaseSistemUser

  • 13

    Gambar 6 merupakan class diagram yang digunakan dalam pembuatan

    aplikasi. Gambar tersebut menunjukan struktur class MVC (Model View

    Controller) Laravel dalam menu anggota pada aplikasi Defender Shooting

    Club dan menunjukkan relasi antar class yang terdapat pada controller menu

    anggota.

    Pada perancangan antarmuka akan dijelaskan mock-up tentang aplikasi

    yang akan dibuat. Pada Gambar 7 dan Gambar 8 adalah desain kasar pada

    bagian awal aplikasi yang akan dirancang. Berikut adalah desain kasar aplikasi

    untuk administrator Defender Shooting Club.

    Gambar 7 merupakan desain utama aplikasi yang nantinya akan

    menampilkan 7 menu yaitu menu dashboard, registrasi, data anggota, data unit

    anggota, galeri, info dan struktur organisai Defender Shooting Club. Bagian

    tengah adalah isi content dan judul content dimana administrator dapat melakukan

    eksekusi data di dalam bagian content .

    (3) Customer test drives mock-up, pada tahap ini dilakukan revisi dari prototype yang

    telah dibuat. Selanjutnya klien (Defender Shooting Club) melakukan test drive

    untuk meninjau prototype berdasarkan wawancara atau briefing yang dilakukan

    sebelumnya. Hasil test drive ditunjukkan pada prototyping 2 tahap listen to

    customer.

    Prototyping 2

    (1) Listen to customer. Pada tahap ini dilakukan briefing kedua dengan klien

    (Defender Shooting Club). Penambahan fungsi dan fitur, yaitu: (a) notifikasi

    kepada anggota jika masa aktif kartu tanda anggota telah habis dan notifikasi

    bahwa kartu tanda anggota berhasil diperpanjang, (b) cetak kartu tanda anggota

    dibagi berdasarkan cabang olahraga dan (c) pemilihan warna aplikasi yang

    sederhana.

    (2) Build / revise mock-up. Terdapat revisi dari hasil briefing kedua dengan klien

    (Defender Shooting Club) sehingga menghasilkan prototype 2.

    (3) Customer test drives mock-up. Hasil evaluasi oleh klien pada prototype 2

    menunjukan bahwa aplikasi Defender Shooting Club sudah tidak ada penambahan

    fitur lagi sehingga aplikasi siap untuk dikembangkan. Bahasa pemrograman yang

    Gambar 7 Desain Halaman Administrator Aplikasi

    Logo Option

    Menu 1

    Menu 2

    Menu 3

    Menu 4

    Menu 5

    Judul Content

    Isi Content

  • 14

    dipakai dalam pengembangan adalah PHP dengan menggunakan framework

    Laravel dan CSS framework Materialize untuk mempermudah tampilan.

    Tahap selanjutnya yaitu pembangunan sistem dan pengujian sistem yang akan

    dibahas pada bab hasil dan pembahasan.

    4 Hasil dan Pembahasan

    Hasil penelitian diimplementasikan menjadi aplikasi berbasis web yang

    mampu mengelola penyampaian informasi, registrasi keanggotaan dan berhubungan

    dengan pengdokumentasian data anggota Defender Shooting Club. Pembuatan

    aplikasi menggunakan framework Laravel yang memudahkan programer dengan

    konsep MVC (Model-View-Controller). Model berfungsi untuk mengatur tabel yang

    digunakan pada modul dan relasinya terhadap tabel lain. View berfungsi untuk

    menampilkan data berupa informasi kepengguna. Controller berfungsi untuk

    menangani request dari route dan memprosesnya untuk kemudian mengirim respons

    ke view. Laravel terdapat routing yang berguna untuk mengakses suatu halaman pada

    aplikasi melalui URL[2]. Pada aplikasi ini routing dibuat pada file web.php yang

    dapat dilihat pada Kode Program 1.

    Kode Program 1 Routing Aplikasi

    1 Route::get('/', function () { return view('user.usera');});

    2 Route::get('/homea', function () { return view('templates.partials._homea');});

    3 Auth::routes();

    4 Route::get('/home', 'HomeController@index')->name('home'); 5 Route::resource('homea', 'HomeaController'); 6 Route::get('homea', 'HomeaController@index')->name('homea'); 7 Route::get('api/homea', 'HomeaController@apiHomea')->name('api.homea'); 8 Route::get('api/homeau', 'HomeaController@apiHomeau')->name('api.homeau'); 9 Route::get('homea', 'HomeaController@showuser')->name('homea'); 10 Route::resource('registrasi', 'RegistrasiController'); 11 Route::get('registrasi', 'RegistrasiController@index')->name('registrasi'); 12 Route::resource('anggota', 'AnggotaController'); 13 Route::get('anggota', 'AnggotaController@index')->name('anggota'); 14 Route::get('api/anggota', 'AnggotaController@apiAnggota')->name('api.anggota'); 15 Route::get('export', 'AnggotaController@anggotaExport')->name('anggota.export'); 16 Route::post('import', 'AnggotaController@anggotaImport')->name('anggota.import'); 17 Route::post('downloadPDF', 'AnggotaController@downloadPDF')->name('downloadPDF'); 18 Route::resource('dataasg', 'DataasgController'); 19 Route::get('dataasg', 'DataasgController@index')->name('dataasg'); 20 Route::get('api/dataasg', 'DataasgController@apiDataasg')->name('api.dataasg'); 21 Route::get('ex', 'DataasgController@dataasgEx')->name('dataasg.ex'); 22 Route::post('im', 'DataasgController@dataasgIm')->name('dataasg.im'); 23 Route::resource('galeri', 'GaleriController'); 24 Route::get('galeri', 'GaleriController@index')->name('galeri'); 25 Route::get('api/galeri', 'GaleriController@apiGaleri')->name('api.galeri'); 26 Route::resource('info', 'InfoController'); 27 Route::get('info', 'InfoController@index')->name('info'); 28 Route::get('api/info', 'InfoController@apiInfo')->name('api.info'); 29 Route::resource('struktur', 'StrukturController'); 30 Route::get('struktur', 'StrukturController@index')->name('struktur'); 31 Route::get('api/struktur', 'StrukturController@apiStruktur')->name('api.struktur'); 32 Route::get('usera', 'InfoController@indexusera')->name('usera'); 33 Route::get('dschome', 'InfoController@indexhome')->name('dschome'); 34 Route::get('dscinfo', 'InfoController@indexuser')->name('dscinfo'); 35 Route::get('dscinfo', 'InfoController@showuser')->name('dscinfo'); 36 Route::get('dscregistrasi','InfoController@indexregistrasi')->name('dscregistrasi'); 37 Route::post('dscregistrasi', 'RegistrasiController@store'); 38 Route::get('dscgaleri', 'GaleriController@indexuser')->name('dscgaleri'); 39 Route::get('dscgaleri', 'GaleriController@showuser')->name('dscgaleri'); 40 Route::resource('dscanggota', 'DscanggotaController');

  • 15

    41 Route::get('dscanggota', 'DscanggotaController@index')->name('dscanggota'); 42 Route::get('api/dscang', 'DscanggotaController@apiDscang')->name('api.dscang'); 43 Route::get('api/dscdat', 'DscanggotaController@apiDscdat')->name('api.dscdat'); 44 Route::get('dscpengurus', 'StrukturController@indexuser')->name('dscpengurus'); 45 Route::get('dscpengurus', 'StrukturController@showuser')->name('dscpengurus');

    Kode Program 1 merupakan routing aplikasi dimana menangani request di

    URL kemudian mengarahkan aplikasi untuk memanggil halaman atau resource.

    Routing digunakan untuk mengatur URL mana yang boleh dan tidak boleh diakses

    oleh pengguna. Dalam routing mengenal yaitu GET dan POST, Laravel GET

    digunakan untuk menampilkan resource yang bisa berupa fungsi atau controller.

    Sedangkan POST pada Laravel digunakan untuk mengarahkan form ketika melakukan

    submit.

    Kode Program 1 baris 1-3 menunjukkan route yang dipakai dalam mengakses

    halaman awal pada administrator dan halaman awal pada aplikasi. Baris 4-31

    menunjukkan route yang dipakai dalam menampilkan resource dan mengarahkan

    form pada halaman administrator. Baris 31-45 menunjukkan route dalam mengakses

    resource dan form pengguna. Tampilan halaman yang diakses untuk melakukan

    registrasi oleh masyarakat ditunjukkan pada Gambar 8.

    Pada halaman ini terdapat petunjuk dan form yang harus diisi oleh masyarakat

    untuk menjadi anggota. Form diisi dengan data lengkap seperti halnya kartu tanda

    penduduk dan menggunakan huruf kapital. Jika data sudah dimasukan dengan benar

    dan melanjutkan proses registrasi maka masyarakat tinggal klik registrasi. Berikut

    akan dijelaskan kode program untuk melakukan registrasi anggota Defender Shooting

    Club pada Kode Program 2.

    Kode Prorgram 2 Model Registrasi Anggota 1. use Illuminate\Database\Eloquent\Model; 2. class Registrasi extends Model 3. {protected $fillable = ['nik', 'nama', 'ttl', 'alamat', 'pekerjaan', 'foto',

    'reg', 'emailu', 'email'];}

    Gambar 8 Form Registrasi Anggota

  • 16

    Pada Kode Program 2 merupkan model pada registrasi anggota yang berguna

    untuk memasukkan data kedalam database registrasi yang sudah disediakan. Pada

    baris 3 merupakan atribut fillable yang berguna untuk memilih data yang bisa

    disimpan kedalam database. Kemudian terdapat fungsi pada controller registrasi yang

    berguna untuk menerima data yang akan dimasukkan pada database registrasi yang

    sudah disediakan. Berikut akan dijelaskan kode program pada controller registrasi

    anggota pada Kode Program 3.

    Kode Program 3 Controller Registrasi Anggota 1. public function store(Request $request){ 2. $email = "[email protected]"; 3. $input = $request->all(); 4. $input['foto'] = null; 5. if ($request->hasFile('foto')){ 6. $input['foto']='/upload/data/'.str_slug($input['nama'],'- 7. ').'.'.$request->foto->getClientOriginalExtension(); 8. $request->foto->move(public_path('/upload/data/'), $input['foto']); 9. } 10. if (Registrasi::create($input)) { 11. Mail::to($email)->send(new OrderShippeda($email)); 12. } 13. return redirect()->route('dscregistrasi')->with('success',

    'Data berhasil dikirim, tunggu administrasi untuk memverifikasi data !');

    14. }

    Kode Program 3 merupakan kode program yang ada pada controller dari

    registrasi anggota. Pada baris 4-10 merupakan variabel data yang berguna untuk

    menampung data calon anggota. Pada baris 11-12 merupakan fungsi untuk notifikasi

    kepada administrator yang dikirim melalui email bahwa ada calon anggota yang

    sedang melakukan proses registrasi. Pada baris 13-14 merupakan notifikasi yang

    diberikan kepada calon anggota bahwa data yang dikirim berhasil disimpan dan

    diterima oleh administrator Defender Shooting Club. Pada Gambar 9 merupakan

    halaman administrator yang menampilkan data yang berhasil dikirim oleh masyarakat

    dari form registrasi anggota.

    Pada Gambar 9 menampilkan data calon anggota yang berhasil dikirim

    melalui form registrasi seperti nomor induk kependudukan, nama, alamat, nomor

    registrasi unit jika sudah mempunyai unit tembak dan email. Berikut akan dijelaskan

    Gambar 9 Tampilan Data Calon Anggota

  • 17

    kode program untuk verifikasi data anggota Defender Shooting Club pada Kode

    Program 4.

    Kode Program 4 Controller Verifikasi Data 1. public function store(Request $request) 2. { 3. $input = $request->all(); 4. $input['photo'] = null;

    5. if ($request->hasFile('photo')){ 6. $input['photo'] = '/upload/photo/'.str_slug($input['nama'], 7. '-').'.'.$request->photo->getClientOriginalExtension(); 8. $request->photo->move(public_path('/upload/photo/'), $input['photo']); 9. }

    10. if (Anggota::create($input)) { 11. Mail::to($request)->send(new OrderShipped($request)); 12. }

    13. return response()->json([ 14. 'success' => true, 15. 'message' => 'Anggota Created' 16. ]); 17. }

    Pada Kode Program 4 merupakan function store yang berguna untuk proses

    penyimpanan data kedalam database yang sudah disediakan. Pada baris 3 merupakan

    variabel data dari data yang sudah tersimpan pada data calon anggota. Pada baris 5-9

    digunakan untuk lokasi penyimpanan foto dari calon anggota. Pada baris 10-12

    merupakan respon jika data berhasil menjadi anggota maka secara otomatis akan

    mengirimkan notifikasi kepada anggota baru. Pada Gambar 10 merupakan salah satu

    contoh notifikasi yang ada pada aplikasi Defender Shooting Club.

    Gambar 10 notifikasi yang dikirim kepada anggota yang berhasil melakukan

    registrasi melalui email. Pada aplikasi Defender Shooting Club menggunakan

    mailtrap yang merupakan layanan SMTP untuk membantu dalam melakukan testing

    pengiriman email. Dengan adanya mailtrap testing pengiriman email tidak

    membutuhkan mailbox sungguhan, cukup mengatur mailtrap sebagai SMTP server

    maka semua email yang terkirim akan masuk ke mailbox mailtrap. Pada notifikasi

    terdapat informasi bahwa berhasil menjadi anggota dan data anggota dapat dilihat

    Gambar 10 Notifikasi Email

  • 18

    dengan cara klik button Defender Shooting Club. Berikut akan dijelaskan kode

    program untuk notifikasi anggota Defender Shooting Club pada Kode Program 5.

    Kode Program 5 Notifikasi Email 1. if (Anggota::create($input)) { 2. Mail::to($request)->send(new OrderShipped($request)); 3. }

    Kode Program 5 pada baris 1-3 digunakan jika data berhasil disimpan maka

    akan mengirimkan notifikasi melalui email. Pada fungsi ini akan secara otomatis

    mencari field email yang sudah ada untuk dikirimkan notifikasi. Notifikasi yang

    dikirimkan berupa template email berbentuk HTML yang dijelaskan pada Kode

    Program 6.

    Kode Program 6 Template Notifikasi Email 1. @component('mail::message') 2. # Verifikasi Calon Anggota DSC

    3. @component('mail::button',['url'=>'http://defender/public/registrasi']) 4. VERIFIKASI 5. @endcomponent

    6. Thanks,
    7. {{ config('app.name') }} 8. @endcomponent

    Kode Program 6 merupakan template email berbentuk HTML yang dikirmkan

    kepada anggota baru. Pada baris 3 terdapat component yang berisi button yang

    berfungsi untuk memindahkan halaman email anggota ke halaman aplikasi Defender

    Shooting Club. Pada Gambar 11 merupakan tampilan data anggota Defender Shooting

    Club. Pada halaman ini terdapat fitur yang bisa digunakan oleh administrator seperti

    cetak kartu anggota, ekspor impor data kedalam format excel dan hapus data anggota.

    Data anggota yang sudah tersimpan akan dicetak kartu tanda anggota oleh

    administrator dengan menggunakan fitur cetak kartu. Administrator akan memilih

    terlebih dahulu data yang akan dicetak. Administrator dapat mencetak kartu tanda

    Gambar 11 Tampilan Data Anggota

  • 19

    anggota lebih dari satu walaupun berbeda cabang yaitu tembak target, tembak reaksi

    dan berburu. seperti ditunjukkan pada Gambar 12.

    Pada Gambar 12 merupakan kartu tanda anggota yang wajib dimiliki oleh

    setiap anggota Defender Shooting Club. Kartu tanda anggota merupakan tanda bahwa

    seseorang telah menjadi anggota dan di kartu tersebut terdapat informasi seperti

    nomor induk kependudukan, nama, alamat dan masa berlaku anggota Defender

    Shooting Club. Untuk kode program pembuatan kartu tanda anggota dapat dilihat

    pada Kode Program 7.

    Kode Program 7 Cetak Kartu Anggota

    1. public function downloadPDF(Request $request){ 2. $dataanggota = array(); 3. $id = $request ['id']; 4. $jenisAG2 = Anggota::whereIn('id', $id); 5. $jenisAR2 = Anggota::whereIn('id', $id); 6. $jenisASG2 = Anggota::whereIn('id', $id); 7. 8. if ($jenisAG2->where('kta','like','%AG%')!=NULL) { 9. //$dataanggota2 = $dataanggota->get(); 10. $fotoAG = "images/api.png";} 11. if ($jenisAR2->where('kta','like','%AR%')!=NULL) { 12. //$dataanggota2 = $dataanggota->get(); 13. $fotoAR = "images/apii.png";} 14. if ($jenisASG2->where('kta','like','%ASG%')!=NULL) { 15. //$dataanggota2 = $dataanggota->get(); 16. $fotoASG = "images/apiii.png";} 17. $jenisAG = $jenisAG2->get(); 18. $jenisAR = $jenisAR2->get(); 19. $jenisASG = $jenisASG2->get(); 20. 21. $pdf=PDF::loadView('templates.partials._agpdfView', compact 22. ('jenisAG','jenisAR', 'jenisASG', 'fotoAG','fotoAR', 'fotoASG')); 23. $pdf->setPaper(array(0,0,566.93,850.39),'potrait')->setWarnings(false); 24. 25. return $pdf->stream();

    Kode Program 7 merupakan function yang berguna untuk mencetak kartu

    tanda anggota seperti pada Gambar 12. Pada baris 2-6 merupakan variabel yang

    berguna untuk menampung data yang diambil dari data anggota. Setelah data dipilih

    maka data akan disortir berdasarkan jenis seperti pada baris 8-19. Pada baris 24-27

    Gambar 12 Cetak Kartu Anggota

  • 20

    merupakan fungsi untuk mengakses view yang akan dijadikan pdf. Berikut adalah

    hasil pengujian modul administrator berbasis web yang dapat dilihat pada Tabel 1.

    Tabel 1 Hasil Pengujian Administrator

    Fungsi yang diuji Kondisi Output yang

    diharapkan

    Output yang

    dihasilkan sistem

    Status Pengujian

    Login

    Username dan

    password benar

    Sukses login Sukses login

    Valid

    Username dan

    password salah

    Gagal login Gagal login

    Verifikasi Data

    Form diisi dengan

    benar

    Sukses tambah data

    dan mengirimkan

    notifikasi

    Sukses tambah data

    dan mengirimkan

    notifikasi

    Valid

    Edit Anggota Form diisi dengan

    benar

    Sukses ubah data

    dan mengirimkan

    notifikasi

    Sukses ubah data

    dan mengirimkan

    notifikasi

    Valid

    Hapus Anggota Konfirmasi dengan

    benar

    Sukses hapus data Sukses hapus data Valid

    Cetak Kartu

    Anggota

    Pilih data dengan

    benar

    Sukses mencetak

    kartu dengan format

    pdf

    Sukses mencetak

    kartu dengan format

    pdf

    Valid

    Perpanjang Masa

    Berlaku

    Verifikasi data Sukses perpanjang

    dan mengirimkan

    notifikasi

    Sukses perpanjang

    dan mengirimkan

    notifikasi

    Valid

    Berdasarkan Tabel 1 terlihat bahwa hasil pengujian yang dilakukan terkait

    proses teknis administrator pada aplikasi Defender Shooting Club menunjukkan

    bahwa tidak terdapat masalah pada semua proses pengujian dengan status pengujian

    valid. Berikut adalah hasil pengujian modul registrasi anggota yang dapat dilihat pada

    Tabel 2.

    Tabel 2 Hasil Pengujian Registrasi Anggota

    Fungsi yang diuji Kondisi Output yang

    diharapkan

    Output yang

    dihasilkan sistem

    Status Pengujian

    Menampilkan

    landing page

    Membuka landing

    page oleh pengguna

    Sukses tampilkan

    halaman

    Sukses tampilkan

    halaman

    Valid

    Menampilkan

    halaman registrasi

    Membuka halaman

    registrasi

    Sukses tampilkan

    halaman dan cara

    registrasi

    Sukses tampilkan

    halaman dan cara

    registrasi

    Valid

    Registrasi anggota Form diisi dengan

    benar

    Sukses

    menambahkan data

    Sukses

    menambahkan data

    Valid

    Verifikasi data Notifikasi Menerima notifikasi

    melalui email

    Menerima notifikasi

    melalui email

    Valid

    Cek data anggota Mengisi id atau

    nama dengan benar

    Sukses

    menampilkan data

    anggota

    Sukses

    menampilkan data

    anggota

    Valid

    Berdasarkan Tabel 2 terlihat bahwa hasil pengujian yang dilakukan terkait

    proses teknis registrasi anggota pada aplikasi Defender Shooting Club menunjukkan

    bahwa tidak terdapat masalah pada semua proses pengujian dengan status pengujian

    valid. Hasil ini memperlihatkan bahwa antara proses perancangan yang dilakukan dan

    hasil implementasi tidak mengalami perbedaan dan sesuai dengan yang diharapkan.

    Adapun pengujian yang dilakukan dengan melibatkan anggota serta pengguna

    aplikasi dengan mengisi kuisioner pada Tabel 3.

  • 21

    Tabel 3 Hasil Pengujian Pengguna No Pertanyaan STS TS R S SS

    1 Tampilan dan huruf dapat dilihat dengan jelas 0 1 3 1 15

    2 Menu atau fitur aplikasi mudah digunakan 0 0 5 2 13

    3 Membantu memperoleh informasi seputar keanggotaan

    Defender Shooting Club 0 4 0 2 14

    4 Membantu efisiensi proses dalam melakukan registrasi anggota 0 0 1 7 12

    Tabel 3 menunjukkan hasil pernyataan pengguna pada pengujian aplikasi

    Defender Shooting Club. Jawaban yang disediakan diantaranya: STS = Sangat Tidak

    Setuju, TS = Tidak Setuju, R = Ragu-ragu, S = Setuju dan SS = Sangat Setuju. Untuk

    mengukur presentase perhitungan menggunakan skala likert. Nilai presentase yang

    dibutuhkan diantaranya: 0% - 19,99% = STS, 20% - 39,99% = TS, 40% - 59,99% =

    R, 60% - 79,99% = S, dan 80% - 100% = SS yang dapat dilihat pada Tabel 4.

    Tabel 4 Hasil Perhitungan Menggunakan Skala Likert

    No Pertanyaan Jumlaah %

    1 Tampilan dan huruf dapat dilihat dengan jelas 20 90%

    2 Menu atau fitur aplikasi mudah digunakan 20 88%

    3 Membantu memperoleh informasi seputar keanggotaan Defender

    Shooting Club 20 86%

    4 Membantu efisiensi proses dalam melakukan registrasi anggota 20 91%

    Berdasarkan hasil pengujian diatas, dapat disimpulkan bahwa tampilan dan

    huruf aplikasi Defender Shooting Club dapat dilihat dengan jelas karena responden

    menjawab sangat setuju pada pertanyaan 1. Kesimpulan bahwa menu atau fitur pada

    aplikasi mudah digunakan karena responden menjawab sangat setuju pada pertanyaan

    2. Kesimpulan bahwa aplikasi sangat membantu anggota atau masyarakat dalam

    memperoleh informasi keanggotaan karena responden menjawab sangat setuju pada

    pertanyaan 3. Kesimpulan yang terakhir memperlihatkan bahwa aplikasi membantu

    masyarakat dalam melakukan registrasi anggota karena responden menjawab sangat

    setuju pada pertanyaan 4. Hasil ini memperlihatkan bahwa proses perancangan yang

    dilakukan sudah sesuai dengan yang diharapkan oleh pengguna.

    5 Kesimpulan

    Berdasarkan penelitian yang dilakukan, aplikasi Defender Shooting Club

    berbasis web telah berhasil dibangun menggunakan bahasa pemrograman PHP dengan framework Laravel. Penggunaan framework Laravel dapat membantu

    pembangunan website dengan efisien karena fitur dan kelas-kelas yang telah

    disediakan. Laravel yang berbasis MVC membuat proses penulisan kode program

    lebih cepat dan terstruktur. Aplikasi ini mendukung penyampaian informasi yang ada

    di Defender Shooting Club, registrasi keanggotaan dan berhubungan dengan

    pengdokumentasian data anggota. Terdapat fitur yang ada pada aplikasi yaitu

    notifikasi kepada masyarakat yang berhasil menjadi anggota dan notifikasi masa

    berlaku kartu tanda anggota yang sudah habis atau berhasil diperpanjang melalui

    email.

    Untuk penelitian selanjutnya, aplikasi Defender Shooting Club berbasis web

    dapat dikembangkan dengan menambahkan fitur penjualan senapan angin ataupun

    airsoftgun sehingga mempermudah anggota atau masyarakat dalam proses membeli

    senapan angin. Pengembangan aplikasi Defender Shooting Club berbasis android juga

    dapat dibangun.

  • 22

    6 Daftar Pustaka

    [1] Defender Shooting Club. Profile Defender Shooting Club.

    http://www.defendersc.com/. Diakses 2 April 2018.

    [2] Rohi, A. 2017. Membuat Aplikasi Point of Sale dengan Laravel dan AJAX. Jakarta

    : PT Flex Media Komputindo.

    [3] Dede, H & Prada. 2010. Sistem Informasi Manajemen Keanggotaan Pada Sekolah

    Tinggi Manajemen Informatika dan Komputer Kopma UGM Berbasis Web.

    Yogyakarta : Amikom.

    [4] Henny Hendarti & Karim Haryanto. 2009. Analisis dan Perancangan Sistem

    Informasi Registrasi dan Keanggotaan Klub. Yogyakarta : Universitas Bina

    Nusantara.

    [5] Al-Bahra bin Ladjamudin. 2005. Analisis dan Desain Sistem Informasi.

    Yogyakarta : Graha Ilmu.

    [6] Stauffer, M. 2017. Laravel: Up and Running. Amerika Serikat : O’Reilly Media,

    Inc.

    [7] https://laravel.com/. Diakses 5 January 2018.

    [8] Pressman, R.S. 2001. Software Enginering : A Practitioner's Approach. Amerika

    Serikat : R.S. Pressman and Associates

    [9] UML 1.3a 1pharR S, Object Management Group Inc , March 1999.

    [10] Nugroho, A. 2010, Mengembangkan Aplikasi Basis Data Menggunakan C# + SQL

    Server. Yogyakarta : Andi Offset.

    http://www.defendersc.com/https://laravel.com/