0% menganggap dokumen ini bermanfaat (0 suara)
57 tayangan28 halaman

Panduan Instalasi dan Pengelolaan Nilai

Modul ini membahas cara membuat web statistika untuk menampilkan dan mengelola data nilai tunggal dan data bergolong menggunakan Laravel. Langkah-langkahnya meliputi instalasi Laravel dan dependensinya, membuat model, controller dan view untuk menampilkan data nilai, serta menambah, mengubah dan menghapus data secara dinamis.

Diunggah oleh

tuderama2003
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
57 tayangan28 halaman

Panduan Instalasi dan Pengelolaan Nilai

Modul ini membahas cara membuat web statistika untuk menampilkan dan mengelola data nilai tunggal dan data bergolong menggunakan Laravel. Langkah-langkahnya meliputi instalasi Laravel dan dependensinya, membuat model, controller dan view untuk menampilkan data nilai, serta menambah, mengubah dan menghapus data secara dinamis.

Diunggah oleh

tuderama2003
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

MODUL UAS STATISTIKA

OLEH:
I PUTU TUDE RAMA PRASATYA

UNIVERSITAS PENDIDIKAN GANESHA


2023
MODUL 1
PERSIAPAN

1. Instalasi Visual Studio Code


Untuk menginstal Visual Studio Code bisa klik tautan berikut:
h7ps://code.visualstudio.com/download

2. Instalasi Laravel
Untuk instalasi Laravel bisa dilakukan di command prompt untuk windows
dan di terminal untuk mac atau linux dengan menge@kan kode:
composer create-project laravel/laravel example-app

Note: untuk example app bisa digan1 dengan nama yang anda inginkan.

Kemudian buka nama folder yang telah anda buat tadi di Visual Studio Code.
Jika berhasil maka tampilannya akan seper@ ini:

3. Minimal paham dengan basic html, css, javascript dan php


MODUL 2
DATA TUNGGAL

Ini adalah tampilan dari web statistika saya bagian data tunggal

Untuk tampilan dashboardnya saya menggunakan tailwindcss component.


Tautan untuk tailwind css component: https://tailwindcomponents.com/

Dan untuk tampilan tablenya saya menggunakan plugin data table


Tautan untuk data table: https://datatables.net/

1. Buat controller dengan nama NilaiController


php artisan make:controller NilaiController

2. Buat model dan migrasi dengan nama Nilai


php artisan make:model Nilai -m

3. Pergi ke folder database/migra@ons/create_nilai.php, kemudian salin kode


berikut
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('nilai', function (Blueprint $table) {
$table->id();
$table->integer('nilai');
$table->timestamps();
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('nilai');
}
};

4. Pergi ke .env file dan seOng agar terkoneksi ke database


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=statistika
DB_USERNAME=root
DB_PASSWORD=root
Note: jika anda menggunakan xampp maka passwordnya kosong

5. Buka terminal dengan shortcut ctrl + `. ke@kan perintah dibawah untuk


melakukan migrasi
php artisan migrate

6. Pergi ke folder resource/view dan buat folder baru dengan nama nilai dan
buat file index, create, update dan salin kode berikut
a. Index
<div class="px-6">
<div class="">
<h1 class="font-poppins text-4xl font-bold mb-5 mt-
10">Data Nilai</h1>

<div class="mb-6 flex flex justify-between">


<a href="{{ route('nilai.create') }}" class="font-
poppins bg-blue-400 text-white px-5 py-2 rounded-md">Tambah nilai
baru</a>
<div>
<a href="{{ route('import') }}" class="font-
poppins bg-blue-400 text-white px-5 py-2 rounded-md">Import</a>
<a href="{{ route('export') }}" class="font-
poppins bg-blue-400 text-white px-5 py-2 rounded-md">Export</a>
</div>
</div>
<div>
@if(session()->has('success'))
<div class="font-poppins bg-green-200 text-green-
800 px-6 py-4 mt-6 rounded-lg">
{{ session('success') }}
</div>
@endif
</div>
</div>
<div class="container mx-auto width-3/5 px-12 mt-4 bg-
white py-6 rounded-md ">
<table id="myTable" class="table-auto pb-2 w-full bg-
white shadow-lg rounded-lg border border-gray-300 ">
<thead>
<tr>
<th class="font-poppins px-6 py-3 border-
b-2 border-gray-300 border-r-2 border-gray-300">No</th>
<th class="font-poppins px-6 py-3 border-
b-2 border-gray-300 border-r-2 border-gray-300">Nilai</th>
<th class="font-poppins px-6 py-3 border-
b-2 border-gray-300 border-r-2 border-gray-300">Edit Data</th>
<th class="font-poppins px-6 py-3 border-
b-2 border-gray-300">Delete Data</th>
</tr>
</thead>
<tbody>
@foreach($nilai as $dataSiswa)
<tr>
<td class="font-poppins w-12 border
border-r-2 border-b-2 px-6 py-4 text-center">{{ $loop->iteration
}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 ">{{ $dataSiswa->nilai_siswa }}</td>
<td class="font-poppins w-36 border
border-r-2 border-b-2 px-6 py-4 text-center">
<a href="{{ route('nilai.edit',
['dataSiswa' => $dataSiswa]) }}" class="font-poppins text-blue-500
hover:text-green-500 hover:font-bold">Edit</a>
</td>
<td class="font-poppins w-36 border
border-r-2 border-b-2 px-6 py-4 text-center">
<form method="post" action="{{
route('nilai.delete', ['dataSiswa' => $dataSiswa]) }}">
@csrf
@method('delete')
<button type="submit" class="font-
poppins text-red-500 hover:font-bold">Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>

b. Create
<div class="container mx-auto px-16 py-8 w-3/5">
<!-- Create Section -->
<h1 class="text-2xl font-bold text-black mb-4">Masukkan
Data Nilai</h1>
<a href="{{ route('nilai.index') }}" class="text-blue-700
font-semibold text-lg ">Kembali</a>
<form method="post" action="{{ route('nilai.store') }}"
class="bg-white p-6 rounded-lg shadow-md">
@csrf
@method('post')
<div class="mb-4">
<label for="nilai_siswa" class="block text-gray-
700 font-semibold">Nilai</label>
<input type="text" id="nilai_siswa"
name="nilai_siswa" placeholder="Contoh: 70" class="w-full p-2
border rounded">
</div>
<div class="text-center">
<button type="submit" class="bg-blue-500 hover:bg-
blue-700 text-white font-semibold py-2 px-4
rounded">Tambahkan</button>
</div>
</form>
</div>

c. Update
<div class="container mx-auto px-4 py-8 w-3/5">
<h1 class="text-2xl font-bold text-black mb-4">Edit
Nilai</h1>
<a href="{{ route('nilai.index') }}" class="text-blue-700
font-semibold text-lg ">Kembali</a>
<form method="post" action="{{ route('nilai.update',
['dataSiswa' => $dataSiswa]) }}" class="bg-white p-6 rounded-lg
shadow-md pt-10">
@csrf
@method('put')
<div class="mb-4">
<label for="nilai_siswa" class="block text-gray-
700 font-semibold">Nilai</label>
<input type="text" id="nilai_siswa"
name="nilai_siswa" placeholder="Contoh: 70" value="{{$dataSiswa-
>nilai_siswa}}" class="w-full p-2 border rounded">
</div>
<div class="text-center">
<button type="submit" class="bg-blue-500 hover:bg-
blue-700 text-white font-semibold py-2 px-4
rounded">Update</button>
</div>
</form>
</div>

7. Pergi ke folder route/web.php dan salin kode berikut untuk route nya
Route::get('/nilai', [nilaiController::class, 'index'])-
>name('nilai.index');
Route::get('/nilai/create', [nilaiController::class, 'create'])-
>name('nilai.create');
Route::post('/nilai', [nilaiController::class, 'store'])-
>name('nilai.store');
Route::get('/nilai/{dataSiswa}/edit', [nilaiController::class,
'edit'])->name('nilai.edit');
Route::put('/nilai/{dataSiswa}/update', [nilaiController::class,
'update'])->name('nilai.update');
Route::delete('/nilai/{dataSiswa}/delete', [nilaiController::class,
'delete'])->name('nilai.delete');

8. Pergi ke app/h7p/controller/NilaiController.php dan salin kode berikut


public function index(){
$nilai = Nilai::all();
return view('nilai.index',['nilai' => $nilai]);
}
public function create(){
return view('nilai.create');
}
public function store(Request $request){
$data = $request->validate([
'nilai_siswa' => 'required|numeric',
]);

Nilai::create($data);

return redirect(route('nilai.index'));
}
public function edit(Nilai $dataSiswa){
return view('nilai.edit', ['dataSiswa' => $dataSiswa]);
}
public function update(Nilai $dataSiswa, Request $request){
$data = $request->validate([
'nilai_siswa' => 'required|numeric',
]);

$dataSiswa->update($data);

return redirect(route('nilai.index'))->with('success', 'Data


berhasil terupdate');
}

public function delete(Nilai $dataSiswa){


$dataSiswa->delete();
return redirect(route('nilai.index'))->with('success','Data
berhasil terhapus');
}

9. Terakhir jalan kan perintah di bawah untuk melihat hasil yang telah kita buat
php artisan serve
MODUL 2
DATA BERGOLONG

Ini adalah tampilan dari web sta1s1ka data bergolong

1. Buat blade baru di folder resource/view dengan nama


databergolong.blade.php kemudian salin kode berikut:
<div class="px-6">
<div class="">
<h1 class="font-poppins text-4xl font-bold mb-8 mt-
10">Data Bergolong</h1>
</div>
<div class="container mx-auto width-3/5 px-12 mt-4 bg-white
py-6 rounded-md">
<table id="myTable" class="table-auto pb-2 w-full bg-
white shadow-lg rounded-lg border border-gray-300 ">
<thead>
<tr>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">No</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Nilai</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Median</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Frekuensi</th>
</tr>
</thead>
<tbody>
@foreach($scoreGroups as $dataSiswa)
<tr>
<td class="font-poppins w-12 border border-r-
2 border-b-2 px-6 py-4 text-center ">{{ $loop->iteration }}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $dataSiswa['interval']}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center">{{ $dataSiswa['mid_value']}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center">{{ $dataSiswa['frequency']}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>

2. Pergi ke app/h7p/controllers/NilaiController kemudian tambahkan fungsi


berikut
public function dataBergolong()
{
$scores = nilai::all();

// Mengambil nilai minimum dan maksimum dari skor


$minScore = $scores->min('nilai_siswa');
$maxScore = $scores->max('nilai_siswa');

// Menentukan jumlah kelas interval (bisa disesuaikan)


$jumlahKelas = 10;

// Menghitung lebar interval


$intervalWidth = ceil(($maxScore - $minScore) /
$jumlahKelas);

// Mengelompokkan data skor ke dalam kelas interval


$scoreGroups = [];
for ($i = 0; $i < $jumlahKelas; $i++) {
$lowerBound = $minScore + ($i * $intervalWidth);
$upperBound = $lowerBound + $intervalWidth - 1;
$count = $scores->whereBetween('nilai_siswa',
[$lowerBound, $upperBound])->count();

// Menyimpan data kelas interval, nilai tengah, dan


frekuensi
$scoreGroups[] = [
'interval' => "$lowerBound - $upperBound",
'mid_value' => ($lowerBound + $upperBound) / 2,
'frequency' => $count,
];
}

return view('nilai.dataBergolong', compact('scoreGroups'));


}

3. Pergi ke routes/web dan salin kode berikut


Route::get('/dataBergolong', [nilaiController::class,
'dataBergolong']);

4. Ke@kan php ar@san serve dan tambahkan /dataBergolong untuk menuju ke


tampilan webnya
MODUL 3
TABEL DISTRIBUSI FREQUENSI

Ini adalah tampilan dari web statistika table distribusi frequensi

1. Buat blade baru di folder resource/view dengan nama


distribusiFrequensi.blade.php dan salin kode berikut:
<div class="ml-16">
<div class="container mx-auto px-12">
<h1 class="font-poppins text-4xl font-bold mb-8 mt-
10">Tabel Distribusi Frekuensi</h1>
</div>
<div class="container mx-auto width-3/5 px-12 mt-4 bg-white
py-6 rounded-md">
<table id="myTable" class="table-auto pb-2 w-full bg-
white shadow-lg rounded-lg border border-gray-300 ">
<thead>
<tr>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">No</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Nilai</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Frekuensi</th>

</tr>
</thead>
<tbody>
@foreach($scoreFrequencies as $dataSiswa)
<tr>
<td class="font-poppins w-12 border border-r-
2 border-b-2 px-6 py-4 text-center ">{{ $loop->iteration }}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{
$dataSiswa['nilai_siswa']}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center">{{ $dataSiswa['count']}}</td>

</tr>
@endforeach
</tbody>
</table>
</div>

2. Pergi ke app/h7p/controllers/NilaiController.php kemudian salin kode fungsi


berikut
public function distribusiFrekuensi()
{
$scoreFrequencies = nilai::groupBy('nilai_siswa')
->selectRaw('nilai_siswa, count(*) as count')
->orderBy('nilai_siswa', 'asc')
->get()
->map(function ($item) {
return $item;
});
return view('nilai.frekuensi', compact('scoreFrequencies'));
}

3. Pergi ke routes/web.php dan salin kode berikut


Route::get('/frekuensi', [nilaiController::class,
'distribusiFrekuensi']);

4. Ke@kan php ar@san serve dan tambahkan /frekuensi untuk menuju ke


tampilan webnya
MODUL 4
TABEL CHI KUADRAT

Ini adalah tampilan website statistika table chi kuadrat

1. Import data table chi ke database kalian. Link download:


h7ps://drive.google.com/drive/folders/1sj2rJzpMZMrIetxcuwu0xGLe6ipBp7q
e?usp=drive_link

2. Buat blade baru di folder resource/view dengan nama chiKuadrat.blade.php


dan salin kode berikut:
<div class="ml-16">
<div class="container mx-auto px-12">
<h1 class="font-poppins text-4xl font-bold mb-8 mt-10
">Tabel Chi</h1>

<form action="{{route('chi')}}" method="post" >


@csrf
<input class="w-full py-2 rounded-md " type="text"
name="chi" id="chi" placeholder="3.10">
<button class="py-2 rounded-md "type
="submit">Hitung</button>
</form>
@if (session()->has('success'))
<div class=" ">
{{ session('success') }}
</div>
@endif

</div>
<div class="container mx-auto width-3/5 px-12 mt-4 bg-white
py-6 rounded-md">
<table id="myTable" class="table-auto pb-2 w-full bg-
white shadow-lg rounded-lg border border-gray-300 ">
<thead>
<tr>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Nilai Z</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Nol</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Satu</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Dua</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Tiga</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Empat</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Lima</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Enam</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Tujuh</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Delapan</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Sembilan</th>
</tr>
</thead>
<tbody>
@foreach($result as $chi)
<tr>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->z}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->nol}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->satu}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->dua}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->tiga}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->empat}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->lima}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->enam}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->tujuh}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->delapan}}</td>
<td class="font-poppins border border-r-2
border-b-2 px-6 py-4 text-center ">{{ $chi->sembilan}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>

3. Pergi ke app/h7p/controllers/NilaiController.php kemudian salin kode fungsi


berikut
public function getChiSqure()
{
$result = DB::table('tb_zed')->get();

return view('nilai.tabelChi', compact('result'));


}

public function calculateChiSqure(Request $request)


{

$chi = DB::table('tb_zed')->where('z', substr($request->chi,


0, -1))->first();
$lastChi = substr($request->chi, -1);
$result = '';

if ($lastChi === '0') {


$result = $chi->nol;
} elseif ($lastChi === '1') {
$result = $chi->satu;
} elseif ($lastChi === '2') {
$result = $chi->dua;
} elseif ($lastChi === '3') {
$result = $chi->tiga;
} elseif ($lastChi === '4') {
$result = $chi->empat;
} elseif ($lastChi === '5') {
$result = $chi->lima;
} elseif ($lastChi === '6') {
$result = $chi->enam;
} elseif ($lastChi === '7') {
$result = $chi->tujuh;
} elseif ($lastChi === '8') {
$result = $chi->delapan;
} elseif ($lastChi === '9') {
$result = $chi->sembilan;
} else {
$result = $chi->nol;
}

return back()->with('success', $result);


}

4. Pergi ke routes/web.php dan salin kode berikut


Route::get('/tabelChi', [nilaiController::class, 'getChiSqure']);
Route::post('/tabelChi', [nilaiController::class,
'calculateChiSqure'])->name('chi');

5. Ke@kan php ar@san serve dan tambahkan /tabelChi untuk menuju ke


tampilan webnya
MODUL 5
TABEL LILIEFORS

Ini adalah tampilan web statistika table liliefors

1. Buat blade baru di folder resource/view dengan nama liliefors.blade.php dan


salin kode berikut:
<div class="ml-16">
<div class="container mx-auto px-12">
<h1 class="font-poppins text-4xl font-bold mb-8 mt-10
">Tabel Liliefors</h1>
<div class="container mx-auto width-3/5 px-12 mt-4 bg-white
py-6 rounded-md">
<table id="myTable" class="table-auto pb-2 w-full bg-
white shadow-lg rounded-lg border border-gray-300 ">
<thead>
<tr>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">No</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Nilai</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Nilai Z</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Normsdist</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Probabilitas Kumulatif
empiris</th>
<th class="font-poppins px-6 py-3 border-b-2
border-gray-300 border-r-2 border-gray-300">Fx</th>
</tr>
</thead>
<tbody>
@foreach ($zScores as $scoreId => $data)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $data['scoreValue'] }}</td>
<td>{{ $data['zScore'] }}</td>
<td>{{ $data['normsdist'] }}</td>
<td>{{
$data['empiricalCumulativeProbability'] }}</td>
<td>{{ $data['fx'] }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>

2. Pergi ke app/h7p/controllers/NilaiController.php kemudian salin kode fungsi


berikut
public function liliefors()
{
$scores = nilai::all(); # sesuaikan dengan nama model
$scoresAverage = $scores->avg('nilai_siswa'); # sesuaikan dengan
nama colom nilai
$scoresSTD = DB::table('nilai_ujian') # sesuaikan dengan table
dan colom nilai
->selectRaw('SQRT(SUM(POWER(nilai_siswa - ' . $scoresAverage
. ', 2)) / (COUNT(nilai_siswa) - 1)) AS result')->first();

$sortedScores = $scores->pluck('nilai_siswa')->sort()->toArray();

$totalData = count($sortedScores);

$empiricalCumulativeProbability = [];

$cumulativeCount = 0;
foreach ($sortedScores as $value) {
$cumulativeCount++;
$empiricalCumulativeProbability[$value] = $cumulativeCount /
$totalData;
}
$zScores = [];
foreach ($scores as $score) {
$scoreValue = $score->nilai_siswa;
$zScore = ($scoreValue - $scoresAverage) / $scoresSTD-
>result;
$normsdist = $this->normsdist($zScore);
$zScores[$score->id] = [
'scoreValue' => $scoreValue,
'zScore' => number_format($zScore, 5),
'normsdist' => number_format($normsdist, 5),
'empiricalCumulativeProbability' =>
number_format($empiricalCumulativeProbability[$scoreValue], 5),
'fx' => abs($normsdist -
$empiricalCumulativeProbability[$scoreValue]),
];
}

return view('nilai.liliefors', compact('scores', 'zScores'));


}

3. Pergi ke routes/web.php dan salin kode berikut


Route::get('/liliefors', [nilaiController::class, 'liliefors'])-
>name('liliefors');

4. Ke@kan php ar@san serve dan tambahkan /liliefors untuk menuju ke tampilan
webnya
MODUL 6
TABEL UJI T

Ini adalah tampilan web statistika table

1. Buat blade baru di folder resource/view dengan nama uji.blade.php dan salin
kode berikut:
div class="ml-16">
<div class="container mx-auto px-12">
<h1 class="font-poppins text-4xl font-bold mb-8 mt-10
">Tabel Uji T</h1>
<div class="container mx-auto width-3/5 px-12 mt-4 bg-white
py-6 rounded-md">
<table id="myTable" class="table-auto pb-2 w-full bg-
white shadow-lg rounded-lg border border-gray-300 ">
<thead>
<tr>
<th>#</th>
<th>X1</th>
<th>X2</th>
</tr>
</thead>
<tbody>
@foreach ($result as $item)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $item->x1 }}</td>
<td>{{ $item->x2 }}</td>
</tr>
@endforeach

</tbody>
</table>
<table>
<thead>
<tr>

</tr>
</thead>
<tbody>

</tbody>
</table>
<div>

<tr>
<td><strong>SUM:</strong></td>
<td>X1 = {{ $sumX1 }}</td>
<td>X2 = {{ $sumX2 }}</td>
</tr>
<tr>
<td><strong>Rerata:</strong></td>
<td>X1 = {{ $averageX1 }}</td>
<td>X2 = {{ $averageX2 }}</td>
</tr>
<tr>
<td><strong>SD:</strong></td>
<td>X1 = {{ $roundedSDX1 }}</td>
<td>X2 = {{ $roundedSDX2 }}</td>
</tr>
<tr>
<td><strong>Variants:</strong></td>
<td>X1 = {{ $roundedVariance1 }}</td>
<td>X2 = {{ $roundedVariance2 }}</td>
</tr>
</div>
</div>
</div>

2. Pergi ke app/h7p/controllers/NilaiController.php kemudian salin kode fungsi


berikut
public function ujiT()
{
$result = DB::table('ttest')->get();
$sumX1 = $result->sum('x1');
$sumX2 = $result->sum('x2');
$averageX1 = $result->avg('x1');
$averageX2 = $result->avg('x2');
$SD1 = DB::table('ttest')
->selectRaw('SQRT(SUM(POWER(x1 - ' . $averageX1 . ', 2)) /
(COUNT(x1) - 1)) AS result')->first();
$SD2 = DB::table('ttest')
->selectRaw('SQRT(SUM(POWER(x2 - ' . $averageX2 . ', 2)) /
(COUNT(x2) - 1)) AS result')->first();

$roundedSDX1 = round($SD1->result, 2);


$roundedSDX2 = round($SD2->result, 2);

$variance1 = DB::table('ttest')
->selectRaw('SUM(POWER(x1 - ' . $averageX1 . ', 2)) /
(COUNT(x1) - 1) AS result')
->first();
$variance2 = DB::table('ttest')
->selectRaw('SUM(POWER(x2 - ' . $averageX2 . ', 2)) /
(COUNT(x2) - 1) AS result')
->first();

$roundedVariance1 = round($variance1->result, 2);


$roundedVariance2 = round($variance2->result, 2);

return view('nilai.uji', compact('result', 'sumX1', 'sumX2',


'averageX1', 'averageX2', 'roundedSDX1', 'roundedSDX2',
'roundedVariance1', 'roundedVariance2'));
}

3. Pergi ke routes/web.php dan salin kode berikut


Route::get('/uji-t', [nilaiController::class, 'ujiT'])->name('uji-
t');

4. Ke@kan php ar@san serve dan tambahkan /uji-t untuk menuju ke tampilan
webnya
MODUL 7
EXPORT DAN IMPORT

Ini adalah tampilan tombol export dan import data nilai

Tampilan halaman inport, pilih file excel yang ingin di import dari perangkat dan
tekan submit
Jika kita menekan tombol export maka secara otomatis akan mendownload data nilai
dengan format excel

Persiapan

1. Jalankan perintah di bawah ini pada folder Laravel sta@s@k boleh dengan
command prompt atau dengan terminal yang ada di visual studio code
composer require maatwebsite/excel

2. Pada folder config/app.php tambahkan pada method providers dan aliases


kode berikut
'providers' => [
/*
* Package Service Providers...
*/
Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]

3. Kemudian jalankan perintah berikut


php artisan vendor:publish --
provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
Export

1. Jalankan perintah dibawah untuk membuat sebuah controller yang modelnya


direferensi dari model nilai
php artisan make:export NilaiExport --model=Nilai

2. Buat blade baru di folder resource/view dengan nama export.blade.php


<table>
<thead>
<tr>
<th><b>No</b></th>
<th><b>Score</b></th>
</tr>
</thead>
<tbody>
@foreach($scores as $score)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $score->score }}</td>
</tr>
@endforeach
</tbody>
</table>

3. Pergi ke app/h7p/controllers/NilaiController kemudian tambahkan fungsi


berikut
public function export()
{
return Excel::download(new NilaiExport, 'scores.xlsx');
}

4. Pergi ke folder routes/web.php dan salin kode berikut


Route::get('export/', [nilaiController::class, 'export'])-
>name('export');

5. Tambahkan sebuah bu7on yang terhubung ke route di atas di


index.blade.php dan coba di tekan bu7on tersebut apakah berhasil
mendownload file data nilai secara otoma@s

Import

1. Jalankan perintah dibawah untuk membuat sebuah controller yang modelnya


direferensi dari model nilai
php artisan make:import NilaiImport --model=Nilai
2. Buat blade baru di folder resource/view dengan nama import.blade.php
<div class="ml-16">
<div class="container mx-auto px-12">
<div class="mt-5 px-3">
<h1 class="font-poppins text-4xl font-semibold mb-8 mt-
10">Import Data</h1>
<form action="{{ route('import') }}" method="POST"
enctype="multipart/form-data">
@csrf
<input class="form-control form-control-lg" type="file"
id="formFile" name="file">
<label for=""><i>Extension: xlxs, xlx, csv</i></label>
<br>
<button type="submit" class="font-poppins bg-blue-400
text-white px-5 py-2 rounded-md mt-6">Submit</button>
</form>
</div>
</div>
</div>

3. Pergi ke folder routes/web.php dan salin kode berikut


Route::get('import/', function () {
return view('nilai.import');
});

Route::post('import/', [nilaiController::class, 'import'])-


>name('import');

4. Pergi ke app/h7p/controllers/NilaiController kemudian tambahkan fungsi


berikut
public function import()
{
Excel::import(new ScoresImport, request()->file('file'));

return redirect('/')->with('success', 'Success Import Scores');


}

5. Pergi ke app/import/NilaiImport.php dan salin kode berikut


public function model(array $row)
{
return new Nilai([
'score' => $row[0]
]);
}
6. Tambahkan sebuah bu7on yang terhubung ke route di atas di
index.blade.php dan coba di tekan bu7on tersebut apakah berhasil menuju
halaman import

Anda mungkin juga menyukai