INDONESIA)
185610032
YOGYAKARTA
2023
SKRIPSI
INDONESIA)
Diajukan sebagai salah satu syarat untuk menyelesaikan studi jenjang strata
satu (S1)
Program Sarjana
Disusun Oleh
SEPTIAN RIFKI ALFAJRIN
185610032
PROGRAM SARJANA
YOGYAKARTA
2023
i
UJIAN SKRIPSI
Telah diperiksa dan disetujui untuk diujikan di hadapan Dewan Penguji Skripsi
Sumiyatun,S.Kom,.M.Cs.
NIDN:
ii
HALAMAN PENGESAHAN
SKRIPSI
INDONESIA)
Yogyakarta,….................
Mengetahui
Ketua Program Studi Sistem Informasi
iii
PERNYATAAN KEASLIAN SKRIPSI
Dengan ini saya menyatakan bahwa Laporan Skripsi ini tidak terdapat
Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau
pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara
tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
iv
HALAMAN PERSEMBAHAN
Bapak, Ibu, Kakak dan seluruh keluarga yang selalu mendoakan saya, selalu
memberi nasihat dan semangat agar saya diberi kemudahan dan kelancaran dalam
Teman-teman yang selalu mendukung saya dan selalu memberi semangat serta
nasihat.
v
MOTTO
(penulis).
(Gus Mus).
vi
DAFTAR ISI
SKRIPSI ...................................................................................................................
SKRIPSI .................................................................................................................. i
UJIAN SKRIPSI ................................................................................................... ii
HALAMAN PENGESAHAN SKRIPSI ............................................................ iii
PERNYATAAN KEASLIAN SKRIPSI ............................................................. iv
HALAMAN PERSEMBAHAN ........................................................................... v
MOTTO ................................................................................................................ vi
DAFTAR ISI ........................................................................................................ vii
DAFTAR GAMBAR ............................................................................................. x
DAFTAR TABEL ............................................................................................... xii
KATA PENGANTAR ........................................................................................ xiii
ABSTRAK ........................................................................................................... xv
ABSTRACT ....................................................................................................... xvii
BAB 1 PENDAHULUAN ..................................................................................... 1
1.1 Latar Belakang ....................................................................................... 1
1.2 Rumusan Masalah .................................................................................. 2
1.3 Ruang Lingkup ....................................................................................... 3
1.4 Tujuan Penelitian ................................................................................... 3
1.5 Manfaat Penelitian ................................................................................. 3
1.6 Sistematika Penulisan ............................................................................ 3
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI .................................... 5
2.1 Tinjauan Pustaka ................................................................................... 5
2.2 Landasan Teori ....................................................................................... 7
2.2.1 Aspirasi ............................................................................................ 7
2.2.2 Browser ............................................................................................ 7
2.2.3 PHP ................................................................................................... 7
2.2.4 MySQL ............................................................................................. 8
2.2.5 Framework Laravel .......................................................................... 8
BAB III ANALISIS DAN PERANCANGAN SISTEM ................................... 10
3.1 Analisis Sistem .......................................................................................... 10
vii
3.2 Analisis Kebutuhan .................................................................................. 10
3.2.1 Pengguna Sistem ........................................................................... 10
3.2.2 Kebutuhan Input ........................................................................... 10
3.2.3 Kebutuhan Output ........................................................................ 11
3.2.4 Perangkat Keras ............................................................................ 11
3.2.5 Perangkat Lunak........................................................................... 11
3.3 Prosedur dan Pengumpulan Data ......................................................... 11
3.4 Analisis dan Perancangan Sistem ......................................................... 12
3.4.1 Konsep Model View Controller (MVC) ...................................... 12
3.4.2 Use Case ......................................................................................... 13
3.4.3 Class Diagram .............................................................................. 14
3.4.4 Activity Diagram .......................................................................... 16
3.4.5 Relasi Tabel .................................................................................. 19
3.5 Perancangan Antar Muka ....................................................................... 22
BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM ......................... 29
4.1 Implementasi Sistem ................................................................................ 29
4.1.1 Koneksi Database ................................................................................... 29
4.1.2 Proses Insert Data Admin ...................................................................... 30
4.1.3 Proses Menampilkan Data Admin .................................................... 31
4.1.4 Menampilkan Data Admin Dihalaman Web ....................................... 32
4.1.5 Proses Hapus Admin .............................................................................. 33
4.1.6 Proses Ubah Data Admin ....................................................................... 34
4.1.7 Proses Input Data Berita ....................................................................... 35
4.1.8 Proses Menampilkan Data Berita ......................................................... 36
4.1.9 Proses Menampilkan Data Berita Dihalaman Web......................... 37
4.1.10 Proses Hapus Data Berita .................................................................... 38
4.1.11 Proses Ubah Data Berita ...................................................................... 39
4.1.12 Proses Input Data Komentar ............................................................... 40
4.1.13 Proses Hapus Komentar ...................................................................... 41
4.1.14 Lihat Balasan Komentar ...................................................................... 42
4.1.15 Route Cotroller ..................................................................................... 43
4.2 Pembahasan Sistem.................................................................................. 44
viii
4.2.1 Login Admin ........................................................................................... 44
4.2.2 Home Admin ........................................................................................... 45
4.2.3 Tambah Data User ................................................................................. 45
4.2.4 Daftar Data User .................................................................................... 46
4.2.5 Tambah Data Berita ............................................................................... 46
4.2.6 Daftar Data Berita .................................................................................. 47
4.2.7 Daftar Data Komentar Aspirasi ............................................................ 47
4.2.8 Daftar Data Masukan Aspirasi ............................................................. 48
4.2.9 Tampilan Halaman Home Mahasiswa ................................................. 48
4.2.10 Halaman News ...................................................................................... 49
4.2.11 Halaman Kontak .................................................................................. 49
4.2.12 Halaman Masukan Aspirasi ................................................................ 50
BAB V PENUTUP .............................................................................................. 51
5.1 Kesimpulan ........................................................................................... 51
5.2 Saran ...................................................................................................... 51
DAFTAR PUSTAKA .......................................................................................... 52
LAMPIRAN ......................................................................................................... 53
ix
DAFTAR GAMBAR
x
Gambar 4.15 Lihat Balasan Komentar...................................................... 43
Gambar 4.16 Login Admin ......................................................................... 44
Gambar 4.17 Home Admin ......................................................................... 45
Gambar 4.18 Tambah Data User ............................................................... 46
Gambar 4.19 Daftar Data User .................................................................. 46
Gambar 4.20 Tambah Data Berita ............................................................ 46
Gambar 4.21 Daftar Data Berita ................................................................ 47
Gambar 4.22 Daftar Data Komentar Aspirasi ......................................... 47
Gambar 4.23 Daftar Data Masukan Aspirasi ........................................... 48
Gambar 4.24 Tampilan Halaman Home Mahasiswa ............................... 48
Gambar 4.25 Halaman News ...................................................................... 49
Gambar 4.26 Halaman Kontak .................................................................. 49
Gambar 4.27 Halaman Masukan Aspirasi ................................................ 50
xi
DAFTAR TABEL
xii
KATA PENGANTAR
Puji syukur saya panjatkan kepada Allah SWT yang telah memberikan
Penulisan ini saya mendapat dukungan dan bantuan dari berbagai pihak, maka
pada kesempatan kali ini saya ucapkan banyak terima kasih kepada :
ilmunya.
xiii
Disadari bahwa dalam karya tulis ini masih terdapat kekurangan. Oleh
karena itu, kritik dan saran yang membangun dari segala pihak sangat dibutuhkan.
Semoga karya tulis ini bermanfaat dan dapat memberi inspirasi terhadap pembaca.
Yogyakarta, ..........…
xiv
ABSTRAK
Aspirasi adalah keinginan yang sangat kuat yang ditandai dengan usaha
meraih sesuatu hal yang dipandang lebih tinggi dan lebih bernilai dari sekarang,
dalam pengertian yang lain Aspirasi adalah harapan perubahan yang lebih baik
dengan tujuan untuk meraih keberhasilan dimasa depan.
Pada era modern saat ini , zaman sudah semakin maju, apalagi di dunia IT
salah satu nya adalah informasi web berbasis online, dengan adanya haltersebut
tentunya di tunjang dengan bahasa pemrogaman yang di pakai unuk membuat
sistem informasi berbasis, salah satunya adalah framework laravel. Framawork
laravel adalah satu-satunya framework yang membantu Anda untuk
memaksimalkan penggunaan PHP di dalam proses pengembangan website, salah
satunya adalah untuk menunjang sistem informasi asprasi mahasiswa
Berdasarkan penelitian yang penulis teliti di HMJSI, pihak HMJSI
merasakan kurangnya kinerja yang disebabkan oleh kurangnya data masukan.
Atau aspirasi dari mahasiswa yang diterima dan tidak terkelola secara terstruktur.
Oleh karenanya penulis berinisiatif untuk membuat wadah bagi mahasiswa untuk
menyalurkan aspirasi dan masukannya supaya mudah dalam proses pengolahan
data.
xv
ABSTRACT
xvi
BAB 1
PENDAHULUAN
Terciptanya suatu tata kelola perguruan tinggi yang baik salah satunya
aspirasi maupun kritakan yang mereka tunjukan untuk perguruan tinggi. Untuk
pelayaan yang lebih baik bagi mahasiswa hendak nya memiliki suatu sistem yang
Teknologi Digitar Indonesia memiliki banyak mahasiswa dan tentu akan banyak
sistem informasi.
awal sampai semester akhir, penyampaian aspirasi, keluhan, dan masukan belum
1
2
terkomputerisasi, oleh karena itu HIMASI selaku salah satu lembaga mahasiswa
kurang dalam kinerjanya, karna kinerja HIMASI itu sendiri salah satunya adalah
mahasiswa tingkat fakultas yang mempunyai tugas pokok menetapkan pola dasar
banyak fitur modern yang sangat membantu developer dalam membuat aplikasi.
saran,masukan, aspirasi.
Tujuan yang ingin dicapai dalam penelitian ini adalah menghasilkan aplikasi
Manfaat dari penelitian ini adalah aplikasi ini dapat digunakan mahasiswa
1. BAB I PENDAHULUAN
Penulisan.
Pada bab ini menjelaskan Tinjauan Pustaka dan Dasar Teori yang
Pada bab ini berisi Implementasi dan Uji Coba Sistem yang membahas
implementasi dari metode yang digunakan beserta kelebihan dan kekurangan yang
5. BAB V PENUTUP
Pada bab ini berisi Kesimpulan yang berisi jawaban dari pertanyaan
penelitian yang dinyatakan dalam perumusan masalah, dan Saran yang berisikan
faremwork Laravel.
Online Rakyat (Lapor!) Pada Dinas Komunikasi Dan Informatika Kota Bandung.
5
Tabel 2.1 Perbandingan Daftar Pustaka
2.2.1 Aspirasi
tujuan untuk keberhasilan pada masa yang akan datang”. Selain itu aspirasi
menurut Hurlock diartikan sebagai “keinginan yang sangat kuat yang ditandai
dengan usaha untuk meraih suatu hal yang dipandang lebih tinggi dan lebih
bernilai dari keadaan sekarang” . Dari kedua pendapat tersebut, dapat disimpulkan
aspirasi adalah harapan atau keinginan yang kuat untuk meraih sesuatu perubahan
yang lebih bernilai dari saat ini dan merujuk pada perubahan positif dimasa
datang.
2.2.2 Browser
2.2.3 PHP
didesain khusus untuk aplikasi web. PHP dapat disisipkan diantara bahasa
Hypertext Markup Language (HTML) dan karena bahasa Server side, maka
adalah “hasil jadi” dalam bentuk HTML, dan kode PHP tidak akan terlihat
(Sutarman,2003).
2.2.4 MySQL
MySQL adalah salah satu jenis database server yang sangat terkenal
istilah seperti tabel, baris, dan kolom tetap digunakan. Pada MySQL sebuah
database mengandung beberapa tabel, tabel terdiri dari sejumlah baris dan kolom
(Sutarman, 2003).
tepat agar website menjadi optimal. Untuk itu dibutuhkan framework yang dapat
framework PHP MVC yang dikembangkan oleh Taylor Otwell pada tahun 2011.
aplikasi untuk menyediakan sintaks yang ekspresif, jelas dan menghemat waktu.
jauh tentang penelitian secara lebih mendalam. Tahap ini bertujuan memberikan
gambaran yang jelas terhadap sistem yang akan dibangun dan menjabarkan
diharapkan pengembangan sistem yang baru akan dapat berjalan sesuai dengan
keinginan.
1. Admin
2. Mahasiswa
1. Data mahasiswa
2. Data aspirasi
1. Informasi Aspirasi
10
11
2. Informasi Berita
3. PhpMyadmin
5. Laravel Versi 9
Agar mencapai prosedur kerja yang baik pada penelitian ini maka, penulis
survei lapangan mendapatkan informasi yang lebih detail dengan cara wawancara
daripermasalahan yang ada, maka diperlukan suatu rancangan sistem yang dapat
menggambarkan secara garis besar seluruh sistem dan dapat mempermudah dalam
Model View Controller atau yang dapat disingkat MVC adalah sebuah
pola arsitektur dalam membuat sebuah aplikasi dengan cara memisahkan kode
a. Model
b. View
c. Controller
sistem yang dibuat dan mendeskripsikan sebuah interaksi antara satu atau lebih
aktor dengan sistem yang dibuat serta digunakan untuk mengetahui fungsi apa
saja yang berhak menggunakan fungsi - fungsi tersebut. Rancangan Use konteks
Class diagram adalah salah satu jenis diagram berbentuk struktur pada
model UML. Diagram ini menggambarkan struktur, atribut, kelas, hubungan dan
metode dengan sangat jelas dari setiap objeknya.Diagram kelas memberikan data
Pada proses activity diagram ini, admin menambahkan data berita yang
terdiri yang nantinya akan di simpan pada halaman admin aspirasi mahasiswa,
selain itu di dalamproses ini admin juga bisa mngedit data jika ada data yang
tersimpn tidaksempurna atau ada perubahan kata kata pada data dan bisa
sudah di sediakan form nya oleh sistem, sehingga pada proses ini mahasiswa
Basis data merupakan salah satu komponen yang sangat penting dalam
data. Dengan adanya relasi antar tabel diharapkan dapat mempermudah dalam
pembuatan program berdasarkan tabel - tabel yang telah ada. Rancangan relasi
1. Tabel Admin
Tabel admin digunakan untuk menyimpan data admin. Tabel ini berisi atribut
Primary Key
id_admin int (11)
(Auto Increment)
2. Tabel Berita
Tabel berita digunakan untuk menyimpan data berita. Tabel ini berisi atribut
Primary Key
id_berita int (11)
(Auto Increment)
Tabel ini berisi atribut beserta tipe data yang dapat dilihat pada Tabel 3.3
Primary Key
id_komentar_aspirasi int (11)
(Auto Increment)
Tabel ini berisi atribut beserta tipe data yang dapat dilihat pada Tabel 3.4
Primary Key
id_balasan komentar int (11)
(Auto Increment)
dengan sistem. Rancangan antarmuka terdiri dari input dan output. Untuk
Pada Gambar 3.8 adalah rancangan login dari admin, dari rancangan
tersebut pertama kali admin mengunjungi web admin untuk verikasi / login
admin, seperti gambar 3.9 adalah rancangan dari home admin web botique, yang
Dari home rancangan web admin menu yang pertama adalah tambah
admin, pada menu ini di gunakan untuk mengelola data admin, dan juga bisa
admin, rancangan ini nantinya , setelah melakukan tambah data admin akan
masuk ke daftar lihat data admin, dari halaman ini admin juga dapat bisa
Pada gambar 3.12 adalah rancangan untuk tambah data berita, pada
berita.
data berita, rancangan ini nantinya , setelah melakukan tambah data berita akan
masuk ke daftar lihat data berita, dari halaman ini admin juga dapat bisa
Pada gambar 3.14 adalah rancangan untuk lihat data aspirasi pada
aspirasinya.
data beritas , pada rancangan ini nanti nya mahasiswa bisa melakukan aspirasinya
keterangan aspirasi.
28
halaman ini berisi tentan informasi no telepon, maps dan alamat nya.
BAB IV
analisis dan perancangan sistem yang telah dibuat pada bab 3 sebelumnya, maka
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=aspirasi
DB_USERNAME=root
DB_PASSWORD=
Pada gambar 4.1 adalah potonganscript koneksi database, fungsi script ini
adalah di gunakan sebagai penghubung proses input data dan output data, di
laravel koneksi database akan automatic di create oleh program laravel ketika
membuat project di laravel, untuk nama kokesinya adalah .env, sehingga di dalam
29
30
Pada gambar 4.2 adalah potongan script proses input tambah data
admindari proses ini nanti nya akan masuk dan di simpan ke database aspirasi
dengan nama table nya adalah user dari proses tersebut terdapat field username,
Pada gambar 4.3 adalah potongan script proses menampilkan data admin
hasil inputan pada gambar 4.3, data tersebut akan di tampilkan di halaman web
untuk proses nya adalah memanggil query database pada table admin, untuk
menampilkan di halaman web, potongan scriptnya ada pada gambar 4.5 dibawah
ini.
32
<td>
<form action="{{
route('admin.destroy',$a->user_id) }}" method="POST">
@csrf
@method('DELETE')
<button type="submit"
class="btn btn-danger">Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
Pada tampilan gambar 4.5 adalah proses hapus data admin pada halaman
admin, proses hapus ini berfungsi sebagai hapus data admin jika data tersebut
reject/rusak ataupun tidak sesuai dan dalam penghapusan kelas tersebut per
$userData = $request-
>only(["name","username","password"]);
$userData['password'] = Hash::make($userData['password']);
User::find($id)->update($userData);
return redirect()->route('admin.lihat_user')
->with('success','user has been update
successfully.');
}
Untuk proses mengubah data seperti potongan script pada gambar 4.6, dari
fungsi script tersebut adalah mengubah data adminpada saat ada kesalahan input
misalkan username dan nama admin yang terdapat pada data admintersebut,
sehingga memudah admin dalam proses data tanpa menginputkan data dari awal
lagi.
35
$request->validate([
'foto' =>
'required|image|mimes:jpg,png,jpeg,gif,svg|max:2048',
]);
$input = $request->all();
if ($image = $request->file('foto')) {
$destinationPath = 'images/';
$image->move($destinationPath, $profileImage);
$input['foto'] = "$profileImage";
Berita::create($input);
return redirect()->route('admins.index')
Pada gambar 4.9 adalah potongan script proses input tambah data berita ,
dari proses ini nanti nya akan masuk dan di simpan ke database aspirasi dengan
nama table nya adalah berita dari proses tersebut terdapat field nama_berita,
$berita=Berita::orderBy('id_berita','desc')->paginate(10);
return view('admin.lihat_berita',compact('berita'));
Terlihat pada gambar 4.8 pada potongan script proses menaampilkan data
berita , data tersebut akan di tampilkan di halaman web untuk proses nya adalah
memanggil query database pada table berita, untuk menampilkan di halaman web,
@csrf
@method('DELETE')
<button type="submit"
class="btn btn-danger">Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
Pada tampilan gambar 4.9 adalah pada potangan script tersebut memanggil
admin , dari data yang di tampilkan adalah nama berita , tanggal berita, gambar
$berita = Berita::find($id)->delete();
return redirect()->route('admins.index')
->with('success','Berita deleted
successfully');
Untuk proses mengubah data seperti proses hapus data berita pada
halaman admin, proses hapus ini berfungsi sebagai hapus data beritajika data
tersebut reject/rusak ataupun tidak sesuai dan dalam penghapusan kelas tersebut
$request->validate([
]);
$berita = Berita::find($id);
$berita->update($request->all());
return redirect()->route('admins.index')
Potongan script pada gambar 4.11, dari fungsi script tersebut adalah
mengubah data berita pada saat ada kesalahan input misalkan Nama Berita , yang
terdapat pada data berita tersebut, sehingga memudahkan admin dalam proses data
$request->validate([
'id_berita' => 'required',
'nim' => 'required',
'nama_mahasiswa' => 'required',
'tgl_aspirasi' => 'required',
'ket_aspirasi' => 'required',
]);
$id=$request->id_berita;
News::create($request->all());
return redirect()->route('depan.show',$id)
->with('success','Komentar Aspirasi
created successfully.');
Pada gambar 4.12 adalah potongan script proses input tambah data news,
dari proses ini nanti nya akan masuk dan di simpan ke database aspirasi dengan
nama table nya adalah komentar_aspirasi dari proses tersebut terdapat field
return redirect()->route('depan.create')
->with('success','Berita deleted
successfully');
}
Pada tampilan gambar 4.13 adalah proses hapus data komentar aspirasi,
proses hapus ini berfungsi sebagai hapus data komentar aspirasi jika data tersebut
tersebut.
42
$data=DB::table('balasan_komentar')
->join('komentar_aspirasi',
'balasan_komentar.id_komentar_aspirasi', '=',
'komentar_aspirasi.id_komentar_aspirasi')
-
>where('balasan_komentar.id_komentar_aspirasi', $id)
->get();
return view('admin.detail_balasan_komentar')->with('data',
$data);
}
Pada gambar 4.14 adalah potongan script proses lihat detail balasan
#berita
Route::resource('admins', BeritaController::class);
#home depan
Route::get('/', function () {
return view('depan.index');
});
#news
Route::resource('depan', NewsController::class);
#home
Route::get('home', [HomeDepanController::class, 'index'])-
>name('depan.home');
#contact
Route::get('index_contact', [KontakController::class,
'index_contact'])->name('index_contact');
#masukan aspirasi
Route::resource('masukan',
MasukanAspirasiController::class);
#balasan komentar
Route::resource('balasan',
BalasanKomentarController::class);
Route::resource('balasan_depan',
BalasanKomentarDepanController::class);
Pada gambar 4.15 adalah potongan script proses route dai laravel, fungsi
dari desain sistem yang telah dirancang dan dibuat serta yang telah dibahas dalam
Pada Gambar 4.16 tampilan diatas adalah login untuk admin aspirasi
mahasiswa, halaman pertama yang di buka pada saat menjalankan web aspirasi
Pada Gambar 4.17 adalah tampilan setelah login yaitu halaman home
admin , dari halaman ini admin bisa membuka menu yang tersedia yaitu tambah
data user , lihat data user, tambah berita,lihat data berita,lihat data komentar
Pada gambar 4.18 adalah tampilan dari tambah user , dari tampilan
konfirmasi password.
Pada gambar 4.19 adalah tampilan dari daftar user, tampilan berisi nama
Pada gambar 4.20 adalah tampilan dari tambah berita, dari tampilan
tersebut terdapat menu inputan yaitu nama berita,keterangan berita dan gambar.
47
Pada gambar 4.21 adalah tampilan dari daftar berita, tampilan berisi nama
berita,tanggal berita , keterangan berita dan gambar, serta terdapat tombol hapus
dan ubah.
Pada gambar 4.22 adalah tampilan dari daftar Komentar aspirasi , dari
tampilan tersebut terdapat kolom nama mahasiswa , nim, nama berita, tanggal
Pada gambar 4.23 adalah tampilan dari daftar ekstra, tampilan berisi nama
mahasiswa , nim, nama berita, tanggal aspirasi , keterangan aspirasi serta terdapat
tombol hapus.
Pada gambar 4.24 adalah tampilan dari home di halaman web nya
Pada gambar 4.25 adalah tampilan halaman news, pada halaman ini
mahasiswa bisa melihat berita , sekaligus bisa memberikan komentar pada berita.
Pada gambar 4.26 adalah tampilan dari halaman kontak , pada tampilan ini
Pada gambar 4.27 adalah tampilan dari masukan spirasi, di halaman ini
tersedia.
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan implementasi dan hasil uji coba dari aplikasi sistem informasi
telah dibangun pada penelitian ini, maka dapat di ambil kesimpulan bahwa :
5.2 Saran
menggunakan framework Laravel dari segi tampilan web yang masih sederhana.
framework lainnya.
51
DAFTAR PUSTAKA
Yogyakarta.
Semarang, Semarang.
Pasundan, Bandung.
Sutarman, 2003. “Membangun Aplikasi Web dengan PHP dan MySQL”, Graha
Ilmu, Yogyakarta.
52
LAMPIRAN
1. Ketentuan Kelususan
2. Catatan Penguji
3. Catatan Kelulusan
LISTING
Database
--
-- Database: `aspirasi`
--
-- --------------------------------------------------------
--
-- Table structure for table `balasan_komentar`
--
CREATE TABLE `balasan_komentar` (
`id_balasan_komentar` int(10) UNSIGNED NOT NULL,
`id_komentar_aspirasi` char(25) COLLATE utf8mb4_unicode_ci
NOT NULL,
`keterangan_balasan` char(25) COLLATE utf8mb4_unicode_ci
NOT NULL,
`waktu` char(100) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `balasan_komentar`
--
-- --------------------------------------------------------
--
-- Table structure for table `berita`
--
--
-- Dumping data for table `berita`
--
-- --------------------------------------------------------
--
-- Table structure for table `failed_jobs`
--
--
-- Table structure for table `komentar_aspirasi`
--
--
-- Dumping data for table `komentar_aspirasi`
--
-- --------------------------------------------------------
--
-- Table structure for table `migrations`
--
--
-- Dumping data for table `migrations`
--
-- --------------------------------------------------------
--
-- Table structure for table `password_resets`
--
-- --------------------------------------------------------
--
-- Table structure for table `personal_access_tokens`
--
-- --------------------------------------------------------
--
-- Table structure for table `test`
--
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`user_id`, `name`, `username`,
`password`, `created_at`, `updated_at`) VALUES
(2, 'admin', 'admin',
'$2y$10$hKskQPTPY89o1ZMqZBRF6utUAAfaLLNY1WNIaxi1KuqLaOyV.wXA
e', '2022-07-17 12:00:47', '2022-07-17 12:00:47');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `balasan_komentar`
--
ALTER TABLE `balasan_komentar`
ADD PRIMARY KEY (`id_balasan_komentar`);
--
-- Indexes for table `berita`
--
ALTER TABLE `berita`
ADD PRIMARY KEY (`id_berita`);
--
-- Indexes for table `failed_jobs`
--
ALTER TABLE `failed_jobs`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);
--
-- Indexes for table `komentar_aspirasi`
--
ALTER TABLE `komentar_aspirasi`
ADD PRIMARY KEY (`id_komentar_aspirasi`);
--
-- Indexes for table `migrations`
--
ALTER TABLE `migrations`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `password_resets`
--
ALTER TABLE `password_resets`
ADD KEY `password_resets_email_index` (`email`);
--
-- Indexes for table `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `personal_access_tokens_token_unique`
(`token`),
ADD KEY
`personal_access_tokens_tokenable_type_tokenable_id_index`
(`tokenable_type`,`tokenable_id`);
--
-- Indexes for table `test`
--
ALTER TABLE `test`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`user_id`),
ADD UNIQUE KEY `users_username_unique` (`username`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `balasan_komentar`
--
ALTER TABLE `balasan_komentar`
MODIFY `id_balasan_komentar` int(10) UNSIGNED NOT NULL
AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT for table `berita`
--
ALTER TABLE `berita`
MODIFY `id_berita` int(10) UNSIGNED NOT NULL
AUTO_INCREMENT, AUTO_INCREMENT=23;
--
-- AUTO_INCREMENT for table `failed_jobs`
--
ALTER TABLE `failed_jobs`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `komentar_aspirasi`
--
ALTER TABLE `komentar_aspirasi`
MODIFY `id_komentar_aspirasi` int(10) UNSIGNED NOT NULL
AUTO_INCREMENT, AUTO_INCREMENT=22;
--
-- AUTO_INCREMENT for table `migrations`
--
ALTER TABLE `migrations`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=12;
--
-- AUTO_INCREMENT for table `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `test`
--
ALTER TABLE `test`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `user_id` bigint(20) UNSIGNED NOT NULL
AUTO_INCREMENT, AUTO_INCREMENT=3;
COMMIT;
Route.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\UserController;
use App\Http\Controllers\BeritaController;
use App\Http\Controllers\NewsController;
use App\Http\Controllers\KontakController;
use App\Http\Controllers\HomeDepanController;
use App\Http\Controllers\MasukanAspirasiController;
use App\Http\Controllers\BalasanKomentarController;
use App\Http\Controllers\BalasanKomentarDepanController;
/*
|-----------------------------------------------------------
---------------
| Web Routes
|-----------------------------------------------------------
---------------
|
| Here is where you can register web routes for your
application. These
| routes are loaded by the RouteServiceProvider within a
group which
| contains the "web" middleware group. Now create something
great!
|
*/
#users
Route::get('admin', [UserController::class, 'index_login']);
Route::post('login', [UserController::class,
'login_action'])->name('login.action');
Route::get('tambah_user', [UserController::class,
'tambah_user'])->name('tambah_user');
Route::get('lihat_user', [UserController::class,
'lihat_user'])->name('admin.lihat_user');
Route::post('hapus', [UserController::class, 'destroy'])-
>name('admin.destroy');
Route::get('admin/{id}', [UserController::class, 'edit'])-
>name('admin.edit');
Route::put('admin/{id}', [UserController::class, 'update'])-
>name('admin.update');
Route::delete('admin/{id}', [UserController::class,
'destroy'])->name('admin.destroy');
Route::post('proses_tambah_user', [UserController::class,
'proses_tambah_user'])->name('proses_tambah_user');
Route::get('logout', [UserController::class, 'logout'])-
>name('logout');
#berita
Route::resource('admins', BeritaController::class);
#home depan
Route::get('/', function () {
return view('depan.index');
});
#news
Route::resource('depan', NewsController::class);
#home
Route::get('home', [HomeDepanController::class, 'index'])-
>name('depan.home');
#contact
Route::get('index_contact', [KontakController::class,
'index_contact'])->name('index_contact');
#masukan aspirasi
Route::resource('masukan',
MasukanAspirasiController::class);
#balasan komentar
Route::resource('balasan',
BalasanKomentarController::class);
Route::resource('balasan_depan',
BalasanKomentarDepanController::class);
BeritaController.php
<?php
namespace App\Http\Controllers;
use App\Models\Berita;
use Illuminate\Http\Request;
class BeritaController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('admin.tambah_berita');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'nama_berita' => 'required',
'foto' =>
'required|image|mimes:jpg,png,jpeg,gif,svg|max:2048',
'tgl_berita' => 'required',
'ket_berita' => 'required',
]);
$input = $request->all();
if ($image = $request->file('foto')) {
$destinationPath = 'images/';
$profileImage = date('YmdHis') . "." . $image-
>getClientOriginalExtension();
$image->move($destinationPath, $profileImage);
$input['foto'] = "$profileImage";
}
Berita::create($input);
return redirect()->route('admins.index')
->with('success','Berita has been
created successfully.');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Berita $berita
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$berita = Berita::findOrFail($id);
return view('admin.edit_berita', ['berita' =>
$berita]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request,$id)
{
$request->validate([
'nama_berita' => 'required',
$berita->update($request->all());
return redirect()->route('admins.index')
->with('success','Berita has been
update successfully.');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$berita = Berita::find($id)->delete();
return redirect()->route('admins.index')
->with('success','Berita deleted
successfully');
}
}
BalasaKomentarController.php
<?php
namespace App\Http\Controllers;
use App\Models\Komentar;
use App\Models\News;
use DB; //import fungsi query builder
use Illuminate\Http\Request;
class BalasanKomentarController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('admin.balasan_komentar');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show(Komentar $komentar,$id)
{
$data=DB::table('balasan_komentar')
->join('komentar_aspirasi',
'balasan_komentar.id_komentar_aspirasi', '=',
'komentar_aspirasi.id_komentar_aspirasi')
-
>where('balasan_komentar.id_komentar_aspirasi', $id)
->get();
return view('admin.detail_balasan_komentar')-
>with('data', $data);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$komentar_aspirasi = News::findOrFail($id);
return view('admin.balasan_komentar',
['komentar_aspirasi' => $komentar_aspirasi]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$request->validate([
'id_komentar_aspirasi' => 'required',
'keterangan_balasan' => 'required',
'waktu' => 'required',
]);
$id=$request->id_komentar_aspirasi;
Komentar::create($request->all());
return redirect()->route('balasan.show', $id)
->with('success','Balasan Komentar
created successfully.');
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$komentar = Komentar::find($id)->delete();
return redirect()->route('balasan.show',$id)
->with('success','Berita deleted
successfully');
}
}
MasukanAspirasiController.php
<?php
namespace App\Http\Controllers;
use App\Models\News;
use Illuminate\Http\Request;
use DB; //import fungsi query builder
class MasukanAspirasiController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$news=DB::table('komentar_aspirasi')
->get();
return view('admin.lihat_masukan_aspirasi')-
>with('news', $news);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('depan.masukan_aspirasi');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'id_berita' => 'required',
'nim' => 'required',
'nama_mahasiswa' => 'required',
'tgl_aspirasi' => 'required',
'ket_aspirasi' => 'required',
]);
News::create($request->all());
return redirect()->route('masukan.create')
->with('success','Komentar Aspirasi
created successfully.');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$news = News::find($id)->delete();
return redirect()->route('masukan.index')
->with('success','Masukan Komentar
deleted successfully');
}
}