• Tidak ada hasil yang ditemukan

Maniyeni, Peter R Peracncangan Sistem Informasi Pengolahan Surat Masuk dan Surat Keluar Berbasis Web dengan CodeInteger. Salatiga : Program

N/A
N/A
Protected

Academic year: 2021

Membagikan "Maniyeni, Peter R Peracncangan Sistem Informasi Pengolahan Surat Masuk dan Surat Keluar Berbasis Web dengan CodeInteger. Salatiga : Program"

Copied!
29
0
0

Teks penuh

(1)

100

DAFTAR PUSTAKA

Abror, Muhamad. 2017. Pengertian CSS (Tujuan CSS, Fungsi CSS dan Cara

Kerja CSS). http://www.ayoksinau.com Diakses pada tanggal 9 Juli 2018

AirPutih, Tim. “Panduan Laravel PHP Framework”. 2014.

Aji, Sapto, Migunani, Fitro Nur Hakim. 2014. Rancang Bangun Sistem Informasi

Disposisi Surat Berbasis Web. Indonesian Jurnal on Networking and

Security(3), 29.

Anonim. 2018. Pengertian MYSQL beserta kekurangan dan kelebihannya. https://

http://www.teorikomputer.com . Diakses pada tanggal 20 Maret 2018

Anonim.

2014.

Pengertian

dan

Fungsi

PHP

dalam

Pemrograman

Web.https://www.duniailkom.com. Diakses pada tanggal 18 Maret 2018.

Anonim. 2013. Pengertian Database. www.termasmedia.com. Diakses pada

tanggal 20 Maret 2018.

Anonim. 2018. Website adalah…. http://www.proweb.co.id. Diakses pada tanggal

20 Maret 2018

Anonim. 2014. Standar Operasional Prosedur Pengelolaan Naskah Dinas (Surat

Masuk dan Surat Keluar). http://diskominfo.sumutprov.go.id . Diakses

pada tanggal 2 April 2018.

Anonim. 2015. E-office. http://www.integraindonesia.co.id. Diakses pada tanggal

18 Maret 2018

Dharwiyanti, Sri, and Romi Satria Wahono. "Pengantar Unified Modeling

Language (UML)." Ilmu Komputer (2003): 1-13.

Dwi, Hendraswati Enggar. 2016. Balsamiq Mockup. http://enggar.net. Diakses

pada tanggal 29 Juni 2018.

Dzacko, Haidar. “Basis Data (Database)”. 2007.

Enterprise, Jubilee. “Mengenal PHP Menggunakan Framework Laravel”. 2015.

Fauzi, Bangtar. 2016. Simbol-Simbol Flowchart. http://www.cheersupgarut.

blogspot.com. Diakses pada tanggal 24 Juni 2018.

Gunadarma, Universitas. “Analisis & Perancangan Sistem Informasi”. 2005.

Ismanto, Hadi, Mohammad Yani. “Kuliah Rekayasa Perangkat Lunak TESTING

(2)

101

Maniyeni, Peter R. 2017. Peracncangan Sistem Informasi Pengolahan Surat

Masuk dan Surat Keluar Berbasis Web dengan CodeInteger. Salatiga :

Program Diploma Universitas Kristen Satya Wacana

Mesran. 2013. Simbol-simbol Use Case. http://www.mesran.blogspot.com.

Diakses pada tanggal 29 Juni 2018.

Nugraha, Teten. "Tutorial Dasar Laravel." (2014).

Otwell,

T.

Laravel.

"Dokumentation." EUU,

2014

Disponible

en:

http://laravel.com/docs 5 (3).

Po’oe, Wandy Pratama. 2015. Sistem Informasi Disposisi Surat Berbasis Web

(Studi Kasus UPTD Pelaksana Teknik Dinas Pengembangan Sistem

Informasi dan Telematika Provinsi Sulawesi

Utara).

Manado

:

Program Diploma IV Politeknik Negeri Manado.

Raharjo, Budi. 2016. Modul Pemrograman WEB (HTML, PHP, & MYSQL) edisi

ketiga. Bandung : Modula.

Saputro, Haris. “MODUL PEMBELAJARAN PRAKTEK BASIS DATA

(MySQL)”. 2012.

Sofwan, Akhmad. "Belajar MySQL dengan Phpmyadmin." (2006).

Suhesti, Tyan. “WEB SERVER DAN JENISNYA”. 2014

Suparjati, D. 2000. Tata Usaha dan Kearsipan (vol. 1). Yogyakarta: Kanisius.

Zulkarnaen dan Beni Ahmad Saebani, 2012. Hukum Konstitusi. Bandung :

(3)

102

(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)

1. Surat Masuk Controller

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use DB; use File; use Auth; use View; use Validator; use App\Model\Surat; use App\Model\SuratFile; use App\Model\UserDevice; use App\Commands\SendGcm; use App\Commands\SuratFileRecognizer;

class SuratMasukController extends Controller { public function __construct()

{

$this->middleware('auth'); createSidebar();

}

public function index() {

$surats = Surat::where('jenis_surat',JENIS_SURAT_MASUK)->where(queryMySurat())->orderBy('id','desc')->get();

return view('surat_masuk.index',compact('surats')); }

public function form() {

return view('surat_masuk.form'); }

public function edit($id) {

$model = Surat::find($id); View::share('model', $model ); if (!$model->canEdit())

return redirect()->back()->with('message','Anda tidak memiliki otorisasi untuk mengedit surat

ini')->with('message_title','Otorisasi Gagal')->with('message_type','error'); return view('surat_masuk.form');

}

(18)

{

$validator = Validator::make($request->all(),Surat::$rules_surat_masuk);

if ($validator->fails()) { $msg = "";

foreach ($validator->messages()->all() as $message) { $msg .= $message ." "; } return redirect()->back()->with('message',$msg)->with('message_title','Penyimpanan Gagal')->with('message_type','error'); } $model = Surat::find($id); if (!$model->canEdit()) return redirect()->back()->with('message','Anda tidak memiliki otorisasi untuk mengedit surat

ini')->with('message_title','Otorisasi Gagal')->with('message_type','error'); $model->fill($request->except('_token','files','tanggal_disposisi','perihal_disposisi')); if (>get('waktu_kegiatan') == "" || $request->get('kegiatan') == "") { $model->is_kegiatan = 0; } else { $model->is_kegiatan = 1; } // $model->surat_flow_id = $model->surat_masuk()->first()->surat_flow_id; // $model->surat_status_id = $model->surat_masuk()->first()->surat_flow()->first()->default_status_id; if ($model->isDirty('kepada')) { $kepada = json_decode($model->kepada); if (!$kepada) $kepada = []; $tokens = UserDevice::getUsersToken($kepada); if (count($tokens['gcm'])) { $name = $model->nama_sender; $perihal = $model->perihal; $t = $tokens['gcm']; $m = "Perihal \"$perihal\""; $p = [

'title' => "Dari: $name", 'id' => $model->id,

(19)

'jenis' => 'kepada', ]; $this->dispatch(new SendGcm($t,$m,$p)); } } $model->save(); $files = $model->files()->get(); foreach ($files as $file) {

$file->surat_id = 0; $file->save(); }

$files = json_decode($request->get('files')); foreach ($files as $file) {

$surat_file = SuratFile::find($file); if ($surat_file) { $surat_file->surat_id = $model->id; $surat_file->save(); } } return redirect('surat/masuk')->with('message','Surat berhasil diubah'); }

public function detail($id) {

$model = Surat::find($id); // dd($model);

if (!$model)

return redirect()->back()->with('message','Surat tidak tersedia di sistem')->with('message_type','error');

if (!$model->canSee())

return redirect()->back()->with('message','Anda tidak memiliki otorisasi untuk melihat surat

ini')->with('message_title','Otorisasi Gagal')->with('message_type','error'); return view('surat_masuk.detail',compact('model'));

}

public function save(Request $request) { $validator = Validator::make($request->all(),Surat::$rules_surat_masuk);

if ($validator->fails()) { $msg = "";

(20)

{ $msg .= $message ." "; } return redirect()->back()->with('message',$msg)->with('message_title','Penyimpanan Gagal')->with('message_type','error'); }

$model = new Surat; $model->fill($request->except('_token','files','tanggal_disposisi','perihal_disposisi')); if (>get('waktu_kegiatan') == "" || $request->get('kegiatan') == "") { $model->is_kegiatan = 0; } else { $model->is_kegiatan = 1; } $model->jenis_surat = JENIS_SURAT_MASUK; $model->uploader_id = Auth::user()->id; //$model->surat_flow_id = $model->surat_masuk()->first()->surat_flow_id; $model->surat_status_id = $model->surat_masuk()->first()->surat_flow()->first()->default_status_id; $model->uploader_id = Auth::user()->id; $model->satuan_kerja_id = Auth::user()->satuan_kerja_id; $model->save(); $kepada = json_decode($model->kepada); if (!$kepada) $kepada = []; $tokens = UserDevice::getUsersToken($kepada); if (count($tokens['gcm'])) { $name = $model->nama_sender; $perihal = $model->perihal; $t = $tokens['gcm']; $m = "Perihal \"$perihal\""; $p = [

'title' => "Dari: $name", 'id' => $model->id, 'jenis' => 'kepada', ]; $this->dispatch(new SendGcm($t,$m,$p)); } $files = json_decode($request->get('files')); foreach ($files as $file) {

(21)

if ($surat_file) { $surat_file->surat_id = $model->id; $surat_file->save(); } } return redirect('surat/masuk/form')->with('message','Surat berhasil dimasukkan'); }

public function upload(Request $request) { $extension = $request->file('file')->getClientOriginalExtension();

if (isAllowedUpload($extension)) { //var_dump(); exit();

$model = new SuratFile;

$directory = public_path().'/upload/surat/'; $filename = $request->file('file')->getClientOriginalName(); $model->description = $filename; while (File::exists("upload/surat/$filename")) { $extension_pos = strrpos($filename, '.'); $filename = substr($filename, 0,

$extension_pos) . '-' . str_random(5) . substr($filename, $extension_pos); } $model->filename = $filename; $upload_success = $request->file('file')->move($directory, $filename); if( $upload_success ) { $model->save(); //$this->dispatch(new SuratFileRecognizer($model)); echo $model->id; } else { echo "ERROR-UPLOAD"; }

} else echo "ERROR-EXTENSION"; }

public function deleteUpload(Request $request) { }

(22)

2. Surat Keluar Controller

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use DB; use File; use Auth; use View; use Validator; use App\Model\Surat; use App\Model\SuratFile; use App\Model\SuratStatus; use App\Model\UserDevice; use App\Commands\SendGcm; use App\Commands\SuratFileRecognizer;

class SuratKeluarController extends Controller { public function __construct()

{

$this->middleware('auth');

createSidebar();

}

public function index() { $surats = Surat::where('jenis_surat',JENIS_SURAT_KELUAR)- >where('satuan_kerja_id',Auth::user()->satuan_kerja_id)->orderBy('id','desc')->get(); return view('surat_keluar.index',compact('surats')); }

public function me() { $surat_ids = DB::table('surat_action')- >where('activity','action')->where('user_id',Auth::user()->id)->select('surat_id')->distinct()->get(); $surat_ids = array_pluck($surat_ids,'surat_id'); $surats = Surat::where('jenis_surat',JENIS_SURAT_KELUAR)- >where('satuan_kerja_id',Auth::user()->satuan_kerja_id)->whereIn('id',$surat_ids)->orderBy('id','desc')->get();

(23)

return view('surat_keluar.me',compact('surats')); }

public function forMe() { $status = SuratStatus::where('surat_flow_id','surat_keluar')- >where('role_id_responsible',getRole())->select('id')->distinct()->get(); $status = array_pluck($status,'id'); $surats = Surat::where('jenis_surat',JENIS_SURAT_KELUAR)- >where('satuan_kerja_id',Auth::user()->satuan_kerja_id)->whereIn('surat_status_id',$status)->orderBy('id','desc')->get(); return view('surat_keluar.for_me',compact('surats')); }

public function selesai() { $surats = Surat::where('jenis_surat',JENIS_SURAT_KELUAR)- >where('satuan_kerja_id',Auth::user()->satuan_kerja_id)- >where('surat_status_id','surat_keluar_selesai')->orderBy('id','desc')->get(); return view('surat_keluar.selesai',compact('surats')); }

public function sudahDikirim() { $surats = Surat::where('jenis_surat',JENIS_SURAT_KELUAR)- >where('satuan_kerja_id',Auth::user()->satuan_kerja_id)- >where('surat_status_id','surat_keluar_sudah_dikirim')->orderBy('id','desc')->get(); return view('surat_keluar.sudah_dikirim',compact('surats')); }

public function form() {

return view('surat_keluar.form');

}

public function edit($id) {

$model = Surat::find($id);

View::share('model', $model );

(24)

return redirect()->back()->with('message','Anda tidak memiliki otorisasi untuk mengedit surat

ini')->with('message_title','Otorisasi Gagal')->with('message_type','error');

return view('surat_keluar.form');

}

public function editSave($id,Request $request) {

$validator =

Validator::make($request->all(),Surat::$rules_surat_keluar);

if ($validator->fails()) {

$msg = "";

foreach ($validator->messages()->all() as $message) {

$msg .= $message ." "; } return redirect()->back()->with('message',$msg)->with('message_title','Penyimpanan Gagal')->with('message_type','error'); } $model = Surat::find($id); if (!$model->canEdit())

return redirect()->back()->with('message','Anda tidak

memiliki otorisasi untuk mengedit surat

ini')->with('message_title','Otorisasi Gagal')->with('message_type','error'); $model->fill($request->except('_token','files','tanggal_disposisi','perihal_disposisi')); if (>get('waktu_kegiatan') == "" || $request->get('kegiatan') == "") { $model->is_kegiatan = 0; } else { $model->is_kegiatan = 1; } //$model->surat_flow_id = $model->surat_keluar()->first()->surat_flow_id; //$model->surat_status_id = $model->surat_keluar()->first()->surat_flow()->first()->default_status_id; if ($model->isDirty('kepada')) { $kepada = json_decode($model->kepada); if (!$kepada) $kepada = []; $tokens = UserDevice::getUsersToken($kepada); if (count($tokens['gcm'])) { $name = $model->nama_sender;

(25)

$perihal = $model->perihal;

$t = $tokens['gcm'];

$m = "Perihal \"$perihal\"";

$p = [

'title' => "Dari: $name",

'id' => $surat->id, 'jenis' => 'kepada', ]; $this->dispatch(new SendGcm($t,$m,$p)); } } $model->save(); $files = $model->files()->get();

foreach ($files as $file) {

$file->surat_id = 0;

$file->save();

}

$files = json_decode($request->get('files'));

foreach ($files as $file) {

$surat_file = SuratFile::find($file); if ($surat_file) { $surat_file->surat_id = $model->id; $surat_file->save(); } }

return redirect('surat/keluar')->with('message','Surat berhasil

diubah'); }

public function detail($id) {

$model = Surat::find($id);

if (!$model)

return redirect()->back()->with('message','Surat tidak

tersedia di sistem')->with('message_type','error');

if (!$model->canSee())

return redirect()->back()->with('message','Anda tidak

memiliki otorisasi untuk melihat surat

ini')->with('message_title','Otorisasi Gagal')->with('message_type','error');

return view('surat_keluar.detail',compact('model'));

}

(26)

$validator = Validator::make($request->all(),Surat::$rules_surat_keluar);

if ($validator->fails()) {

$msg = "";

foreach ($validator->messages()->all() as $message) {

$msg .= $message ." "; } return redirect()->back()->with('message',$msg)->with('message_title','Penyimpanan Gagal')->with('message_type','error'); }

$model = new Surat;

$model->fill($request->except('_token','files','tanggal_disposisi','perihal_disposisi')); if (>get('waktu_kegiatan') == "" || $request->get('kegiatan') == "") { $model->is_kegiatan = 0; } else { $model->is_kegiatan = 1; } $model->jenis_surat = JENIS_SURAT_KELUAR; $model->uploader_id = Auth::user()->id; //$model->surat_flow_id = $model->surat_keluar()->first()->surat_flow_id; $model->surat_status_id = $model->surat_keluar()->first()->surat_flow()->first()->default_status_id; $model->uploader_id = Auth::user()->id; $model->satuan_kerja_id = Auth::user()->satuan_kerja_id; $model->save(); $kepada = json_decode($model->kepada); if (!$kepada) $kepada = []; $tokens = UserDevice::getUsersToken($kepada); if (count($tokens['gcm'])) { $name = $model->nama_sender; $perihal = $model->perihal; $t = $tokens['gcm']; $m = "Perihal \"$perihal\""; $p = [

'title' => "Dari: $name",

'id' => $surat->id,

'jenis' => 'kepada',

];

(27)

}

$files = json_decode($request->get('files'));

foreach ($files as $file) {

$surat_file = SuratFile::find($file); if ($surat_file) { $surat_file->surat_id = $model->id; $surat_file->save(); } } return redirect('surat/keluar/form')->with('message','Surat berhasil dimasukkan'); }

public function upload(Request $request) {

$extension =

$request->file('file')->getClientOriginalExtension();

if (isAllowedUpload($extension)) {

//var_dump(); exit();

$model = new SuratFile;

$directory = public_path().'/upload/surat/'; $filename = $request->file('file')->getClientOriginalName(); $model->description = $filename; while (File::exists("upload/surat/$filename")) { $extension_pos = strrpos($filename, '.');

$filename = substr($filename, 0, $extension_pos) .

'-' . str_random(5) . substr($filename, $extension_pos);

} $model->filename = $filename; $upload_success = $request->file('file')->move($directory, $filename); if( $upload_success ) { $model->save(); //$this->dispatch(new SuratFileRecognizer($model)); echo $model->id; } else { echo "ERROR-UPLOAD"; }

} else echo "ERROR-EXTENSION"; }

public function deleteUpload(Request $request) { }

(28)
(29)

BIODATA PENULIS TUGAS AKHIR

Nama

: Suhaidah

Nomor Induk Mahasiswa

: 1503024

Jenis Kelamin

: Perempuan

Tempat, Tanggal Lahir

: Bekasi, 28 Juli 1997

Status

: Belum Menikah

Agama

: Islam

Asal Ijazah Sekolah

:

Nama Sekolah

Kota Sekolah

Tahun Ijazah

SDN Karang Satria 02

Bekasi

2009

SMPN 3 Tambun Utara

Bekasi

2012

SMAN 2 Tambun Utara

Bekasi

2015

Program Studi / Jurusan

: Teknik Informatika

Alamat Rumah Asal

: Jln Manggis V No.43 Rawa Kalong.

Desa Karang Satria. Kecamatan Tambun Utara.

Bekasi 17568.

No. Telpon/HP

: 089602722443

Email

: idhasuhaidah28@gmail.com

Nama Orang Tua

: Janin Romansyah – Siti Rohmah

Pekerjaan Orang Tua

: Buruh – Ibu Rumah Tangga

Judul Tugas Akhir

: Disposisi Surat Masuk dan Surat Keluar serta

Pengarsipan pada Dinas di Kabupaten Indramayu

Dosen Pembimbing

: 1. Munengsih Sari Bunga, S.Kom., M.Eng

2. Muhamad Mustamiin, S.Pd., M.Kom.

Indramayu, 30 Agustus 2018

Penulis

Suhaidah

NIM. 1503024

Referensi

Dokumen terkait

Adapula rendahnya kemandirian belajar maka akan semakin tinggi hasil belajar matematika hal ini ada beberapa faktor yang menyebabkan tingginya hasil belajar antara lain:

Dari hasil penelitian yang telah dilakukan dapat disimpulkan bahwa penelitian tindakan kelas dengan menggunakan model learning cycle 5E dalam pembelajaran akuntansi

Penelitian mengungkapkan bahwa anak yang tumbuh dengan pola pengasuhan otoritatif merasa bahwa dirinya lebih diterima dan bermakna (Liem, Cavell, &amp; Kara,

Hal ini pulalah yang melandasi sehingga setiap putusan harus berkepala “Demi Keadilan Berdasarkan Ketuhanan yang Maha Esa” sebagaimana ditegaskan dalam Pasal 197 ayat (1)

Tujuan penelitian ini adalah untuk mengetahui: pengaruh penggunaan metode TGT melalui media kartu dan roda impian, kreativitas, kemampuan analisis dan

Membangun kepercayaan dalamwaktu singkat bahwa pemilik berada di tempat yang benar dan datang kedokter hewan tepat dan sebaliknya dokter berusaha meyakinkan bahwapenyakit

1. Hendaknya bagi para pengajar khususnya program studi pendidikan agama Islam agar bisa mengambil nilai-nilai pendidikan Islam dari novel.. ini dan mengunakan hasil

Dalam rangka pengembangan perdagangan antara kedua negaral' Para Pihak akan saling memberikan kemudahan untuk berpartisipasi dalam pame r an dagang yang diadakan di