• 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

: [email protected]

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

Penelitian ini bertujuan untuk mengembangkan Sistem Informasi Pengarsipan Surat Masuk dan Surat Keluar di SMK Batik Perbaik Purworejo menggunakan visual basic 6.0 dan

Fakultas Teknik Informatika Universitas Bhayangkara Jakarta Raya, Judul Skripsi “Perancangan Sistem Informasi Pengarsipan Data Surat Masuk Dan Surat Keluar Pada Pelayanan

Proses administrasi pengarsipan dan pengelolaan surat masuk dan keluar pada SMP Negeri 32 Pekanbaru dengan cara di atas menimbulkan beberapa masalah, seperti

Maka penulis membatasi masalah yang akan dibahas yaitu perancangan sistem informasi pengelolaan surat masuk dan surat keluar pada bagian administrasi pada Kantor

Dengan demikian perancangan sistem informasi pengarsipan surat masuk dan keluar yang akan dibangun dapat membantu dalam proses pencatatan arsip, serta dapat mengatasi

Menghapus data surat masuk pada database y n n Input Nomor surat; Alamat; Uraian; Tanggal; User; File surat Penyimpanan data surat masuk atau surat. keluar di database

BAPPEDA juga melakukan administrasi surat yang terkait dengan tugas dan fungsinya, pada dinas ini pencatatan surat yang masuk maupun yang keluar masih dilakukan

Telah dihasilkan sistem informasi pengelolaan surat masuk dan surat keluar yang dapat melakukan penyebaran perintah disposisi dari kepala dinas ke kepala bidang