add validasi

This commit is contained in:
annajwasz 2025-03-13 18:56:08 +07:00
parent b43dd7ea81
commit 5284a36bc6
15 changed files with 1247 additions and 208 deletions

View File

@ -1,223 +1,223 @@
<?php <?php
namespace App\Filament\Resources; // namespace App\Filament\Resources;
use App\Filament\Resources\ListformResource\Pages; // use App\Filament\Resources\ListformResource\Pages;
use App\Models\Listform; // use App\Models\Listform;
use Filament\Forms\Form; // use Filament\Forms\Form;
use Filament\Resources\Resource; // use Filament\Resources\Resource;
use Filament\Tables; // use Filament\Tables;
use Filament\Tables\Table; // use Filament\Tables\Table;
use Filament\Forms\Components\Select; // use Filament\Forms\Components\Select;
use Filament\Forms\Components\FileUpload; // use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Section; // use Filament\Forms\Components\Section;
use Filament\Tables\Columns\TextColumn; // use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Actions\ViewAction; // use Filament\Tables\Actions\ViewAction;
use Filament\Forms\Components\ViewField; // use Filament\Forms\Components\ViewField;
use Filament\Forms\Components\TextInput; // use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Placeholder; // use Filament\Forms\Components\Placeholder;
use Illuminate\Support\Facades\Storage; // use Illuminate\Support\Facades\Storage;
class ListformResource extends Resource // class ListformResource extends Resource
{ // {
protected static ?string $model = Listform::class; // protected static ?string $model = Listform::class;
protected static ?string $navigationIcon = 'heroicon-o-clipboard-document-list'; // protected static ?string $navigationIcon = 'heroicon-o-clipboard-document-list';
protected static ?string $navigationGroup = 'Penilaian'; // protected static ?string $navigationGroup = 'Penilaian';
protected static ?string $navigationLabel = 'Form Penilaian KIP-K'; // protected static ?string $navigationLabel = 'Form Penilaian KIP-K';
protected static ?int $navigationSort = 1; // protected static ?int $navigationSort = 1;
public static function form(Form $form): Form // public static function form(Form $form): Form
{ // {
return $form // return $form
->schema([ // ->schema([
Section::make('Data Mahasiswa') // Section::make('Data Mahasiswa')
->schema([ // ->schema([
Select::make('mahasiswa_id') // Select::make('mahasiswa_id')
->relationship('mahasiswa', 'nama') // ->relationship('mahasiswa', 'nama')
->searchable() // ->searchable()
->preload() // ->preload()
->required() // ->required()
->label('Nama Mahasiswa'), // ->label('Nama Mahasiswa'),
]), // ]),
Section::make('Kepemilikan KIP') // Section::make('Kepemilikan KIP')
->schema([ // ->schema([
Select::make('kepemilikan_kip') // Select::make('kepemilikan_kip')
->options([ // ->options([
'Memiliki KIP' => 'Memiliki KIP', // 'Memiliki KIP' => 'Memiliki KIP',
'Tidak Memiliki KIP' => 'Tidak Memiliki KIP', // 'Tidak Memiliki KIP' => 'Tidak Memiliki KIP',
]) // ])
->required(), // ->required(),
]), // ]),
Section::make('Tingkatan Desil') // Section::make('Tingkatan Desil')
->schema([ // ->schema([
Select::make('tingkatan_desil') // Select::make('tingkatan_desil')
->options([ // ->options([
'Desil 1' => 'Desil 1', // 'Desil 1' => 'Desil 1',
'Desil 2' => 'Desil 2', // 'Desil 2' => 'Desil 2',
'Desil 3' => 'Desil 3', // 'Desil 3' => 'Desil 3',
'Desil 4' => 'Desil 4', // 'Desil 4' => 'Desil 4',
'Desil 5' => 'Desil 5', // 'Desil 5' => 'Desil 5',
]) // ])
->required(), // ->required(),
]), // ]),
Section::make('Upload Berkas Pendukung') // Section::make('Upload Berkas Pendukung')
->schema([ // ->schema([
FileUpload::make('berkas_sktm') // FileUpload::make('berkas_sktm')
->label('Upload SKTM') // ->label('Upload SKTM')
->helperText('Surat Keterangan Tidak Mampu dari Kelurahan/Desa') // ->helperText('Surat Keterangan Tidak Mampu dari Kelurahan/Desa')
->directory('berkas-sktm') // ->directory('berkas-sktm')
->preserveFilenames() // ->preserveFilenames()
->required() // ->required()
->acceptedFileTypes(['application/pdf']), // ->acceptedFileTypes(['application/pdf']),
FileUpload::make('berkas_ppke') // FileUpload::make('berkas_ppke')
->label('Upload PPKE') // ->label('Upload PPKE')
->helperText('Pernyataan Penghasilan Keluarga') // ->helperText('Pernyataan Penghasilan Keluarga')
->directory('berkas-ppke') // ->directory('berkas-ppke')
->preserveFilenames() // ->preserveFilenames()
->acceptedFileTypes(['application/pdf']), // ->acceptedFileTypes(['application/pdf']),
FileUpload::make('berkas_pmk') // FileUpload::make('berkas_pmk')
->label('Upload PMK') // ->label('Upload PMK')
->helperText('Pernyataan Mahasiswa Kurang Mampu') // ->helperText('Pernyataan Mahasiswa Kurang Mampu')
->directory('berkas-pmk') // ->directory('berkas-pmk')
->preserveFilenames() // ->preserveFilenames()
->acceptedFileTypes(['application/pdf']), // ->acceptedFileTypes(['application/pdf']),
FileUpload::make('berkas_pkh') // FileUpload::make('berkas_pkh')
->label('Upload PKH') // ->label('Upload PKH')
->helperText('Kartu Program Keluarga Harapan') // ->helperText('Kartu Program Keluarga Harapan')
->directory('berkas-pkh') // ->directory('berkas-pkh')
->preserveFilenames() // ->preserveFilenames()
->acceptedFileTypes(['application/pdf']), // ->acceptedFileTypes(['application/pdf']),
FileUpload::make('berkas_kks') // FileUpload::make('berkas_kks')
->label('Upload KKS') // ->label('Upload KKS')
->helperText('Kartu Keluarga Sejahtera') // ->helperText('Kartu Keluarga Sejahtera')
->directory('berkas-kks') // ->directory('berkas-kks')
->preserveFilenames() // ->preserveFilenames()
->acceptedFileTypes(['application/pdf']), // ->acceptedFileTypes(['application/pdf']),
]), // ]),
]); // ]);
} // }
public static function table(Table $table): Table // public static function table(Table $table): Table
{ // {
return $table // return $table
->columns([ // ->columns([
TextColumn::make('mahasiswa.nama') // TextColumn::make('mahasiswa.nama')
->label('Nama Mahasiswa') // ->label('Nama Mahasiswa')
->searchable() // ->searchable()
->sortable(), // ->sortable(),
TextColumn::make('kepemilikan_kip') // TextColumn::make('kepemilikan_kip')
->label('Kepemilikan KIP'), // ->label('Kepemilikan KIP'),
TextColumn::make('tingkatan_desil') // TextColumn::make('tingkatan_desil')
->label('Tingkatan Desil'), // ->label('Tingkatan Desil'),
TextColumn::make('kondisi_ekonomi') // TextColumn::make('kondisi_ekonomi')
->label('Kondisi Ekonomi'), // ->label('Kondisi Ekonomi'),
TextColumn::make('total_nilai') // TextColumn::make('total_nilai')
->label('Total Nilai') // ->label('Total Nilai')
->sortable(), // ->sortable(),
TextColumn::make('status') // TextColumn::make('status')
->badge() // ->badge()
->color(fn (string $state): string => match ($state) { // ->color(fn (string $state): string => match ($state) {
'submitted' => 'success', // 'submitted' => 'success',
'draft' => 'warning', // 'draft' => 'warning',
default => 'gray', // default => 'gray',
}), // }),
]) // ])
->defaultSort('total_nilai', 'desc') // ->defaultSort('total_nilai', 'desc')
->filters([]) // ->filters([])
->actions([ // ->actions([
ViewAction::make() // ViewAction::make()
->form([ // ->form([
Section::make('Data Mahasiswa') // Section::make('Data Mahasiswa')
->schema([ // ->schema([
TextInput::make('mahasiswa_name') // TextInput::make('mahasiswa_name')
->label('Nama Mahasiswa') // ->label('Nama Mahasiswa')
->formatStateUsing(fn ($record) => $record->mahasiswa->nama) // ->formatStateUsing(fn ($record) => $record->mahasiswa->nama)
->disabled(), // ->disabled(),
TextInput::make('kepemilikan_kip') // TextInput::make('kepemilikan_kip')
->label('Kepemilikan KIP') // ->label('Kepemilikan KIP')
->disabled(), // ->disabled(),
TextInput::make('tingkatan_desil') // TextInput::make('tingkatan_desil')
->label('Tingkatan Desil') // ->label('Tingkatan Desil')
->disabled(), // ->disabled(),
TextInput::make('kondisi_ekonomi') // TextInput::make('kondisi_ekonomi')
->label('Kondisi Ekonomi') // ->label('Kondisi Ekonomi')
->disabled(), // ->disabled(),
TextInput::make('total_nilai') // TextInput::make('total_nilai')
->label('Total Nilai') // ->label('Total Nilai')
->disabled(), // ->disabled(),
]), // ]),
Section::make('Berkas') // Section::make('Berkas')
->schema([ // ->schema([
Placeholder::make('berkas_sktm') // Placeholder::make('berkas_sktm')
->label('SKTM') // ->label('SKTM')
->content(fn ($record) => $record->berkas_sktm ? // ->content(fn ($record) => $record->berkas_sktm ?
view('filament.components.file-link', [ // view('filament.components.file-link', [
'url' => Storage::url($record->berkas_sktm), // 'url' => Storage::url($record->berkas_sktm),
'label' => 'SKTM' // 'label' => 'SKTM'
]) : // ]) :
'Tidak ada berkas' // 'Tidak ada berkas'
), // ),
Placeholder::make('berkas_ppke') // Placeholder::make('berkas_ppke')
->label('PPKE') // ->label('PPKE')
->content(fn ($record) => $record->berkas_ppke ? // ->content(fn ($record) => $record->berkas_ppke ?
view('filament.components.file-link', [ // view('filament.components.file-link', [
'url' => Storage::url($record->berkas_ppke), // 'url' => Storage::url($record->berkas_ppke),
'label' => 'PPKE' // 'label' => 'PPKE'
]) : // ]) :
'Tidak ada berkas' // 'Tidak ada berkas'
), // ),
Placeholder::make('berkas_pmk') // Placeholder::make('berkas_pmk')
->label('PMK') // ->label('PMK')
->content(fn ($record) => $record->berkas_pmk ? // ->content(fn ($record) => $record->berkas_pmk ?
view('filament.components.file-link', [ // view('filament.components.file-link', [
'url' => Storage::url($record->berkas_pmk), // 'url' => Storage::url($record->berkas_pmk),
'label' => 'PMK' // 'label' => 'PMK'
]) : // ]) :
'Tidak ada berkas' // 'Tidak ada berkas'
), // ),
Placeholder::make('berkas_pkh') // Placeholder::make('berkas_pkh')
->label('PKH') // ->label('PKH')
->content(fn ($record) => $record->berkas_pkh ? // ->content(fn ($record) => $record->berkas_pkh ?
view('filament.components.file-link', [ // view('filament.components.file-link', [
'url' => Storage::url($record->berkas_pkh), // 'url' => Storage::url($record->berkas_pkh),
'label' => 'PKH' // 'label' => 'PKH'
]) : // ]) :
'Tidak ada berkas' // 'Tidak ada berkas'
), // ),
Placeholder::make('berkas_kks') // Placeholder::make('berkas_kks')
->label('KKS') // ->label('KKS')
->content(fn ($record) => $record->berkas_kks ? // ->content(fn ($record) => $record->berkas_kks ?
view('filament.components.file-link', [ // view('filament.components.file-link', [
'url' => Storage::url($record->berkas_kks), // 'url' => Storage::url($record->berkas_kks),
'label' => 'KKS' // 'label' => 'KKS'
]) : // ]) :
'Tidak ada berkas' // 'Tidak ada berkas'
), // ),
]), // ]),
]), // ]),
Tables\Actions\EditAction::make(), // Tables\Actions\EditAction::make(),
]) // ])
->bulkActions([ // ->bulkActions([
Tables\Actions\BulkActionGroup::make([ // Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(), // Tables\Actions\DeleteBulkAction::make(),
]), // ]),
]); // ]);
} // }
public static function getPages(): array // public static function getPages(): array
{ // {
return [ // return [
'index' => Pages\ListListforms::route('/'), // 'index' => Pages\ListListforms::route('/'),
'create' => Pages\CreateListform::route('/create'), // 'create' => Pages\CreateListform::route('/create'),
'edit' => Pages\EditListform::route('/{record}/edit'), // 'edit' => Pages\EditListform::route('/{record}/edit'),
]; // ];
} // }
} //}

View File

@ -0,0 +1,641 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\ParameterResource\Pages;
use App\Filament\Resources\ParameterResource\RelationManagers;
use App\Models\Parameter;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Radio;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Fieldset;
use Filament\Forms\Components\Card;
use Filament\Forms\Components\Placeholder;
use Filament\Forms\Components\Textarea;
class ParameterResource extends Resource
{
protected static ?string $model = Parameter::class;
protected static ?string $navigationIcon = 'heroicon-o-clipboard-document-list';
protected static ?string $navigationLabel = 'Form Penilaian KIP-K';
protected static ?string $navigationGroup = 'Penilaian';
protected static ?int $navigationSort = 1;
public static function form(Form $form): Form
{
return $form
->schema([
Section::make('Data Mahasiswa')
->schema([
Select::make('mahasiswa_id')
->relationship('mahasiswa', 'nama')
->searchable()
->preload()
->required()
->label('Nama Mahasiswa')
->disabled(fn ($context) => $context === 'view'),
]),
Section::make('Kepemilikan KIP')
->schema([
Radio::make('kepemilikan_kip')
->options([
'Memiliki KIP' => 'Memiliki KIP',
'Tidak Memiliki KIP' => 'Tidak Memiliki KIP',
])
->required()
->inline()
->reactive()
->disabled(fn ($context) => $context === 'view'),
FileUpload::make('berkas_kip')
->label('Bukti Kepemilikan KIP')
->disk('berkas')
->directory('kip')
->visibility('public')
->preserveFilenames()
->downloadable()
->openable()
->acceptedFileTypes(['application/pdf'])
->visible(fn (callable $get) => $get('kepemilikan_kip') === 'Memiliki KIP')
->required(fn (callable $get) => $get('kepemilikan_kip') === 'Memiliki KIP')
->disabled(fn ($context) => $context === 'view'),
]),
Section::make('Tingkatan Desil')
->schema([
Radio::make('terdata_dtks')
->options([
'Terdata' => 'Terdata',
'Tidak Terdata' => 'Tidak Terdata',
])
->required()
->inline()
->reactive()
->disabled(fn ($context) => $context === 'view'),
FileUpload::make('berkas_dtks')
->label('Bukti Terdata di DTKS')
->disk('berkas')
->directory('dtks')
->visibility('public')
->preserveFilenames()
->downloadable()
->openable()
->acceptedFileTypes(['application/pdf'])
->visible(fn (callable $get) => $get('terdata_dtks') === 'Terdata')
->required(fn (callable $get) => $get('terdata_dtks') === 'Terdata')
->disabled(fn ($context) => $context === 'view'),
Select::make('tingkatan_desil')
->options([
'Desil 1' => 'Desil 1',
'Desil 2' => 'Desil 2',
'Desil 3' => 'Desil 3',
'Desil 4' => 'Desil 4',
'Desil 5' => 'Desil 5',
])
->required()
->disabled(fn ($context) => $context === 'view'),
]),
Section::make('Upload Berkas Bukti Bantuan Pemerintah')
->schema([
Hidden::make('kondisi_ekonomi')
->default('Cukup Mampu'),
FileUpload::make('berkas_1')
->label('Berkas Bukti 1')
->disk('berkas')
->directory('ekonomi')
->visibility('public')
->preserveFilenames()
->downloadable()
->openable()
->acceptedFileTypes(['application/pdf'])
->required()
->disabled(fn ($context) => $context === 'view'),
FileUpload::make('berkas_2')
->label('Berkas Bukti 2 (Opsional)')
->disk('berkas')
->directory('ekonomi')
->visibility('public')
->preserveFilenames()
->downloadable()
->openable()
->acceptedFileTypes(['application/pdf'])
->disabled(fn ($context) => $context === 'view'),
FileUpload::make('berkas_3')
->label('Berkas Bukti 3 (Opsional)')
->disk('berkas')
->directory('ekonomi')
->visibility('public')
->preserveFilenames()
->downloadable()
->openable()
->acceptedFileTypes(['application/pdf'])
->disabled(fn ($context) => $context === 'view'),
]),
Section::make('Status Orang Tua')
->schema([
Grid::make(2)
->schema([
Fieldset::make('Status Ayah')
->schema([
Radio::make('status_ayah')
->options([
'Hidup' => 'Hidup',
'Wafat' => 'Wafat',
])
->required()
->inline()
->reactive()
->disabled(fn ($context) => $context === 'view'),
FileUpload::make('bukti_wafat_ayah')
->label('Bukti Kematian Ayah')
->disk('berkas')
->directory('wafat')
->visibility('public')
->preserveFilenames()
->downloadable()
->openable()
->acceptedFileTypes(['application/pdf'])
->visible(fn (callable $get) => $get('status_ayah') === 'Wafat')
->required(fn (callable $get) => $get('status_ayah') === 'Wafat')
->disabled(fn ($context) => $context === 'view'),
]),
Fieldset::make('Status Ibu')
->schema([
Radio::make('status_ibu')
->options([
'Hidup' => 'Hidup',
'Wafat' => 'Wafat',
])
->required()
->inline()
->reactive()
->disabled(fn ($context) => $context === 'view'),
FileUpload::make('bukti_wafat_ibu')
->label('Bukti Kematian Ibu')
->disk('berkas')
->directory('wafat')
->visibility('public')
->preserveFilenames()
->downloadable()
->openable()
->acceptedFileTypes(['application/pdf'])
->visible(fn (callable $get) => $get('status_ibu') === 'Wafat')
->required(fn (callable $get) => $get('status_ibu') === 'Wafat')
->disabled(fn ($context) => $context === 'view'),
]),
]),
// Hidden::make('status_orang_tua')
// ->default('Kedua Orang Tua Masih Hidup'),
]),
Section::make('Status Validasi')
->schema([
Radio::make('status')
->options([
'belum_validasi' => 'Belum Validasi',
'valid' => 'Valid',
'tidak_valid' => 'Tidak Valid',
])
->required()
->default('belum_validasi')
->reactive(),
Textarea::make('alasan_tidak_valid')
->label('Alasan Tidak Valid')
->placeholder('Masukkan alasan mengapa data tidak valid...')
->rows(3)
->required(fn (callable $get) => $get('status') === 'tidak_valid')
->visible(fn (callable $get) => $get('status') === 'tidak_valid'),
])
->visible(fn ($context) => $context === 'view'),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('mahasiswa.nama')
->label('Nama Mahasiswa')
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('kepemilikan_kip')
->label('Kepemilikan KIP')
->badge()
->color(fn (string $state): string => match ($state) {
'Memiliki KIP' => 'success',
'Tidak Memiliki KIP' => 'danger',
}),
Tables\Columns\TextColumn::make('terdata_dtks')
->label('Terdata DTKS')
->badge()
->color(fn (string $state): string => match ($state) {
'Terdata' => 'success',
'Tidak Terdata' => 'danger',
}),
Tables\Columns\TextColumn::make('tingkatan_desil')
->label('Tingkatan Desil')
->badge()
->color(fn (string $state): string => match ($state) {
'Desil 1' => 'success',
'Desil 2' => 'success',
'Desil 3' => 'warning',
'Desil 4' => 'warning',
'Desil 5' => 'danger',
default => 'gray',
}),
Tables\Columns\TextColumn::make('kondisi_ekonomi')
->label('Kondisi Ekonomi')
->badge()
->color(fn (string $state): string => match ($state) {
'Sangat Kurang Mampu' => 'success',
'Kurang Mampu' => 'warning',
'Cukup Mampu' => 'danger',
default => 'gray',
}),
Tables\Columns\TextColumn::make('status_orang_tua')
->label('Status Orang Tua')
->badge()
->color(fn (string $state): string => match ($state) {
'Kedua Orang Tua Wafat' => 'success',
'Salah Satu Orang Tua Wafat' => 'warning',
'Kedua Orang Tua Masih Hidup' => 'danger',
default => 'gray',
}),
Tables\Columns\TextColumn::make('total_nilai')
->label('Total Nilai')
->sortable(),
Tables\Columns\TextColumn::make('status')
->label('Status Validasi')
->badge()
->color(fn (string $state): string => match ($state) {
'valid' => 'success',
'tidak_valid' => 'danger',
'belum_validasi' => 'warning',
default => 'gray',
}),
Tables\Columns\TextColumn::make('created_at')
->label('Tanggal Dibuat')
->dateTime('d M Y H:i')
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->label('Terakhir Diperbarui')
->dateTime('d M Y H:i')
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->defaultSort('created_at', 'desc')
->filters([
Tables\Filters\SelectFilter::make('kepemilikan_kip')
->options([
'Memiliki KIP' => 'Memiliki KIP',
'Tidak Memiliki KIP' => 'Tidak Memiliki KIP',
]),
Tables\Filters\SelectFilter::make('terdata_dtks')
->options([
'Terdata' => 'Terdata',
'Tidak Terdata' => 'Tidak Terdata',
]),
Tables\Filters\SelectFilter::make('tingkatan_desil')
->options([
'Desil 1' => 'Desil 1',
'Desil 2' => 'Desil 2',
'Desil 3' => 'Desil 3',
'Desil 4' => 'Desil 4',
'Desil 5' => 'Desil 5',
]),
Tables\Filters\SelectFilter::make('kondisi_ekonomi')
->options([
'Sangat Kurang Mampu' => 'Sangat Kurang Mampu',
'Kurang Mampu' => 'Kurang Mampu',
'Cukup Mampu' => 'Cukup Mampu',
]),
Tables\Filters\SelectFilter::make('status_orang_tua')
->options([
'Kedua Orang Tua Wafat' => 'Kedua Orang Tua Wafat',
'Salah Satu Orang Tua Wafat' => 'Salah Satu Orang Tua Wafat',
'Kedua Orang Tua Masih Hidup' => 'Kedua Orang Tua Masih Hidup',
]),
Tables\Filters\SelectFilter::make('status')
->options([
'belum_validasi' => 'Belum Validasi',
'valid' => 'Valid',
'tidak_valid' => 'Tidak Valid',
]),
])
->actions([
Tables\Actions\Action::make('validasi')
->label('Validasi')
->icon('heroicon-o-clipboard-document-check')
->color('success')
->form([
Section::make('Data Mahasiswa')
->schema([
Select::make('mahasiswa_id')
->relationship('mahasiswa', 'nama')
->disabled()
->dehydrated(false),
]),
Section::make('Kepemilikan KIP')
->schema([
Radio::make('kepemilikan_kip')
->options([
'Memiliki KIP' => 'Memiliki KIP',
'Tidak Memiliki KIP' => 'Tidak Memiliki KIP',
])
->disabled()
->dehydrated(false),
FileUpload::make('berkas_kip')
->label('Bukti Kepemilikan KIP')
->disk('berkas')
->directory('kip')
->visibility('public')
->downloadable()
->openable()
->disabled()
->dehydrated(false),
]),
Section::make('Tingkatan Desil')
->schema([
Radio::make('terdata_dtks')
->options([
'Terdata' => 'Terdata',
'Tidak Terdata' => 'Tidak Terdata',
])
->disabled()
->dehydrated(false),
FileUpload::make('berkas_dtks')
->label('Bukti Terdata di DTKS')
->disk('berkas')
->directory('dtks')
->visibility('public')
->downloadable()
->openable()
->disabled()
->dehydrated(false),
Select::make('tingkatan_desil')
->options([
'Desil 1' => 'Desil 1',
'Desil 2' => 'Desil 2',
'Desil 3' => 'Desil 3',
'Desil 4' => 'Desil 4',
'Desil 5' => 'Desil 5',
])
->disabled()
->dehydrated(false),
]),
Section::make('Upload Berkas Bukti Bantuan Pemerintah')
->schema([
FileUpload::make('berkas_1')
->label('Berkas Bukti 1')
->disk('berkas')
->directory('ekonomi')
->visibility('public')
->downloadable()
->openable()
->disabled()
->dehydrated(false),
FileUpload::make('berkas_2')
->label('Berkas Bukti 2')
->disk('berkas')
->directory('ekonomi')
->visibility('public')
->downloadable()
->openable()
->disabled()
->dehydrated(false),
FileUpload::make('berkas_3')
->label('Berkas Bukti 3')
->disk('berkas')
->directory('ekonomi')
->visibility('public')
->downloadable()
->openable()
->disabled()
->dehydrated(false),
]),
Section::make('Status Orang Tua')
->schema([
Grid::make(2)
->schema([
Fieldset::make('Status Ayah')
->schema([
Radio::make('status_ayah')
->options([
'Hidup' => 'Hidup',
'Wafat' => 'Wafat',
])
->disabled()
->dehydrated(false),
FileUpload::make('bukti_wafat_ayah')
->label('Bukti Kematian Ayah')
->disk('berkas')
->directory('wafat')
->visibility('public')
->downloadable()
->openable()
->disabled()
->dehydrated(false),
]),
Fieldset::make('Status Ibu')
->schema([
Radio::make('status_ibu')
->options([
'Hidup' => 'Hidup',
'Wafat' => 'Wafat',
])
->disabled()
->dehydrated(false),
FileUpload::make('bukti_wafat_ibu')
->label('Bukti Kematian Ibu')
->disk('berkas')
->directory('wafat')
->visibility('public')
->downloadable()
->openable()
->disabled()
->dehydrated(false),
]),
]),
]),
Section::make('Status Validasi')
->schema([
Radio::make('status')
->options([
'belum_validasi' => 'Belum Validasi',
'valid' => 'Valid',
'tidak_valid' => 'Tidak Valid',
])
->required()
->default('belum_validasi')
->reactive(),
Textarea::make('alasan_tidak_valid')
->label('Alasan Tidak Valid')
->placeholder('Masukkan alasan mengapa data tidak valid...')
->rows(3)
->required(fn (callable $get) => $get('status') === 'tidak_valid')
->visible(fn (callable $get) => $get('status') === 'tidak_valid'),
]),
])
->action(function (array $data, $record): void {
$record->update([
'status' => $data['status'],
'alasan_tidak_valid' => $data['status'] === 'tidak_valid' ? $data['alasan_tidak_valid'] : null,
]);
})
->modalSubmitActionLabel('Simpan Status Validasi')
->fillForm(fn ($record) => [
'mahasiswa_id' => $record->mahasiswa_id,
'kepemilikan_kip' => $record->kepemilikan_kip,
'berkas_kip' => $record->berkas_kip,
'terdata_dtks' => $record->terdata_dtks,
'berkas_dtks' => $record->berkas_dtks,
'tingkatan_desil' => $record->tingkatan_desil,
'berkas_1' => $record->berkas_1,
'berkas_2' => $record->berkas_2,
'berkas_3' => $record->berkas_3,
'status_ayah' => $record->status_ayah,
'bukti_wafat_ayah' => $record->bukti_wafat_ayah,
'status_ibu' => $record->status_ibu,
'bukti_wafat_ibu' => $record->bukti_wafat_ibu,
'status' => $record->status,
'alasan_tidak_valid' => $record->alasan_tidak_valid,
]),
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListParameters::route('/'),
'create' => Pages\CreateParameter::route('/create'),
'edit' => Pages\EditParameter::route('/{record}/edit'),
];
}
protected function mutateFormDataBeforeCreate(array $data): array
{
// Tentukan status orang tua berdasarkan status ayah dan ibu
if ($data['status_ayah'] === 'Wafat' && $data['status_ibu'] === 'Wafat') {
$data['status_orang_tua'] = 'Kedua Orang Tua Wafat';
} elseif ($data['status_ayah'] === 'Wafat' || $data['status_ibu'] === 'Wafat') {
$data['status_orang_tua'] = 'Salah Satu Orang Tua Wafat';
} else {
$data['status_orang_tua'] = 'Kedua Orang Tua Masih Hidup';
}
// Tentukan kondisi ekonomi berdasarkan jumlah berkas
$berkasCount = 0;
if (!empty($data['berkas_1'])) $berkasCount++;
if (!empty($data['berkas_2'])) $berkasCount++;
if (!empty($data['berkas_3'])) $berkasCount++;
if ($berkasCount >= 3) {
$data['kondisi_ekonomi'] = 'Sangat Kurang Mampu';
} elseif ($berkasCount >= 2) {
$data['kondisi_ekonomi'] = 'Kurang Mampu';
} else {
$data['kondisi_ekonomi'] = 'Cukup Mampu';
}
return $data;
}
protected function mutateFormDataBeforeSave(array $data): array
{
// Tentukan status orang tua berdasarkan status ayah dan ibu
if ($data['status_ayah'] === 'Wafat' && $data['status_ibu'] === 'Wafat') {
$data['status_orang_tua'] = 'Kedua Orang Tua Wafat';
} elseif ($data['status_ayah'] === 'Wafat' || $data['status_ibu'] === 'Wafat') {
$data['status_orang_tua'] = 'Salah Satu Orang Tua Wafat';
} else {
$data['status_orang_tua'] = 'Kedua Orang Tua Masih Hidup';
}
// Tentukan kondisi ekonomi berdasarkan jumlah berkas
$berkasCount = 0;
if (!empty($data['berkas_1'])) $berkasCount++;
if (!empty($data['berkas_2'])) $berkasCount++;
if (!empty($data['berkas_3'])) $berkasCount++;
if ($berkasCount >= 3) {
$data['kondisi_ekonomi'] = 'Sangat Kurang Mampu';
} elseif ($berkasCount >= 2) {
$data['kondisi_ekonomi'] = 'Kurang Mampu';
} else {
$data['kondisi_ekonomi'] = 'Cukup Mampu';
}
return $data;
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\ParameterResource\Pages;
use App\Filament\Resources\ParameterResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateParameter extends CreateRecord
{
protected static string $resource = ParameterResource::class;
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\ParameterResource\Pages;
use App\Filament\Resources\ParameterResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditParameter extends EditRecord
{
protected static string $resource = ParameterResource::class;
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\ParameterResource\Pages;
use App\Filament\Resources\ParameterResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
class ListParameters extends ListRecords
{
protected static string $resource = ParameterResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@ -0,0 +1,32 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Symfony\Component\HttpFoundation\StreamedResponse;
class PdfViewController extends Controller
{
public function show(Request $request)
{
$path = $request->query('path');
if (!$path) {
abort(404);
}
// Ambil file dari storage
$fullPath = storage_path('app/public/' . $path);
if (!file_exists($fullPath)) {
abort(404);
}
// Return file sebagai response dengan header yang sesuai
return response()->file($fullPath, [
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'inline; filename="' . basename($path) . '"'
]);
}
}

155
app/Models/parameter.php Normal file
View File

@ -0,0 +1,155 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Support\Facades\Storage;
class parameter extends Model
{
use HasFactory;
protected $guarded = [];
protected $appends = [
'berkas_kip_url',
'berkas_dtks_url',
'berkas_1_url',
'berkas_2_url',
'berkas_3_url',
'bukti_wafat_ayah_url',
'bukti_wafat_ibu_url',
];
protected $fillable = [
'mahasiswa_id',
'kepemilikan_kip',
'berkas_kip',
'terdata_dtks',
'berkas_dtks',
'tingkatan_desil',
'berkas_1',
'berkas_2',
'berkas_3',
'status_ayah',
'bukti_wafat_ayah',
'status_ibu',
'bukti_wafat_ibu',
'status',
'alasan_tidak_valid',
];
public function getBerkasKipUrlAttribute()
{
return $this->berkas_kip ? asset('berkas/' . $this->berkas_kip) : null;
}
public function getBerkasDtksUrlAttribute()
{
return $this->berkas_dtks ? asset('berkas/' . $this->berkas_dtks) : null;
}
public function getBerkas1UrlAttribute()
{
return $this->berkas_1 ? asset('berkas/' . $this->berkas_1) : null;
}
public function getBerkas2UrlAttribute()
{
return $this->berkas_2 ? asset('berkas/' . $this->berkas_2) : null;
}
public function getBerkas3UrlAttribute()
{
return $this->berkas_3 ? asset('berkas/' . $this->berkas_3) : null;
}
public function getBuktiWafatAyahUrlAttribute()
{
return $this->bukti_wafat_ayah ? asset('berkas/' . $this->bukti_wafat_ayah) : null;
}
public function getBuktiWafatIbuUrlAttribute()
{
return $this->bukti_wafat_ibu ? asset('berkas/' . $this->bukti_wafat_ibu) : null;
}
public function mahasiswa(): BelongsTo
{
return $this->belongsTo(Mahasiswa::class);
}
protected static function boot()
{
parent::boot();
static::saving(function ($parameter) {
// Tentukan status orang tua berdasarkan status ayah dan ibu
if ($parameter->status_ayah === 'Wafat' && $parameter->status_ibu === 'Wafat') {
$parameter->status_orang_tua = 'Kedua Orang Tua Wafat';
$parameter->nilai_status_orang_tua = 0.35;
} elseif ($parameter->status_ayah === 'Wafat' || $parameter->status_ibu === 'Wafat') {
$parameter->status_orang_tua = 'Salah Satu Orang Tua Wafat';
$parameter->nilai_status_orang_tua = 0.25;
} else {
$parameter->status_orang_tua = 'Kedua Orang Tua Masih Hidup';
$parameter->nilai_status_orang_tua = 0.15;
}
// Hitung jumlah berkas yang diupload
$berkasCount = 0;
if (!empty($parameter->berkas_1)) $berkasCount++;
if (!empty($parameter->berkas_2)) $berkasCount++;
if (!empty($parameter->berkas_3)) $berkasCount++;
// Tentukan kondisi ekonomi dan nilai berdasarkan jumlah berkas
if ($berkasCount >= 3) {
$parameter->kondisi_ekonomi = 'Sangat Kurang Mampu';
$parameter->nilai_kondisi_ekonomi = 0.4;
} elseif ($berkasCount >= 2) {
$parameter->kondisi_ekonomi = 'Kurang Mampu';
$parameter->nilai_kondisi_ekonomi = 0.3;
} else {
$parameter->kondisi_ekonomi = 'Cukup Mampu';
$parameter->nilai_kondisi_ekonomi = 0.3;
}
// Hitung total nilai
$totalNilai = 0;
// Nilai dari Kepemilikan KIP
if ($parameter->kepemilikan_kip === 'Memiliki KIP') {
$totalNilai += 0.6;
} else {
$totalNilai += 0.4;
}
// Nilai dari Tingkatan Desil
switch ($parameter->tingkatan_desil) {
case 'Desil 1':
$totalNilai += 0.35;
break;
case 'Desil 2':
$totalNilai += 0.25;
break;
case 'Desil 3':
$totalNilai += 0.20;
break;
case 'Desil 4':
$totalNilai += 0.15;
break;
case 'Desil 5':
$totalNilai += 0.05;
break;
}
// Tambahkan nilai kondisi ekonomi
$totalNilai += $parameter->nilai_kondisi_ekonomi;
// Tambahkan nilai status orang tua
$totalNilai += $parameter->nilai_status_orang_tua;
$parameter->total_nilai = $totalNilai;
});
}
}

View File

@ -60,6 +60,13 @@
'report' => false, 'report' => false,
], ],
'berkas' => [
'driver' => 'local',
'root' => storage_path('app/berkas'),
'url' => env('APP_URL').'/storage/berkas',
'visibility' => 'public',
],
], ],
/* /*
@ -75,6 +82,7 @@
'links' => [ 'links' => [
public_path('storage') => storage_path('app/public'), public_path('storage') => storage_path('app/public'),
public_path('berkas') => storage_path('app/berkas'),
], ],
]; ];

View File

@ -0,0 +1,22 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::table('parameters', function (Blueprint $table) {
$table->text('alasan_tidak_valid')->nullable();
});
}
public function down()
{
Schema::table('parameters', function (Blueprint $table) {
$table->dropColumn('alasan_tidak_valid');
});
}
};

View File

@ -0,0 +1,86 @@
<?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('parameters', function (Blueprint $table) {
$table->id();
$table->foreignId('mahasiswa_id')->constrained('mahasiswas')->cascadeOnDelete();
// Untuk Kriteria 1: Kepemilikan KIP
$table->enum('kepemilikan_kip', ['Memiliki KIP', 'Tidak Memiliki KIP']);
//bukti terdata di kip
$table->string('berkas_kip')->nullable();
//terdata di dtks
$table->enum('terdata_dtks', ['Terdata', 'Tidak Terdata']);
//bukti terdata di dtks
$table->string('berkas_dtks')->nullable();
// Untuk Kriteria 2: Tingkatan Desil
$table->enum('tingkatan_desil', [
'Desil 1',
'Desil 2',
'Desil 3',
'Desil 4',
'Desil 5'
]);
// Untuk Kriteria 3: Kondisi Ekonomi
$table->enum('kondisi_ekonomi', ['Sangat Kurang Mampu', 'Kurang Mampu', 'Cukup Mampu']);
// Berkas untuk Kondisi Ekonomi
$table->string('berkas_1')->nullable(); // Untuk semua kondisi
$table->string('berkas_2')->nullable(); // Untuk Kurang Mampu & Sangat Kurang Mampu
$table->string('berkas_3')->nullable(); // Untuk Kurang Mampu & Sangat Kurang Mampu
// $table->string('berkas_pkh')->nullable(); // Khusus Sangat Kurang Mampu
// $table->string('berkas_kks')->nullable(); // Khusus Sangat Kurang Mampu
// Untuk Kriteria 4: Status Orang tua
$table->enum('status_orang_tua', [
'Kedua Orang Tua Wafat',
'Salah Satu Orang Tua Wafat',
'Kedua Orang Tua Masih Hidup'
]);
// Detail status orang tua
$table->enum('status_ayah', ['Hidup', 'Wafat'])->default('Hidup');
$table->enum('status_ibu', ['Hidup', 'Wafat'])->default('Hidup');
// Bukti kematian orang tua
$table->string('bukti_wafat_ayah')->nullable();
$table->string('bukti_wafat_ibu')->nullable();
// // Untuk menyimpan nilai perhitungan
$table->decimal('nilai_kepemilikan_kip', 10, 7)->default(0);
$table->decimal('nilai_tingkatan_desil', 10, 7)->default(0);
$table->decimal('nilai_kondisi_ekonomi', 10, 7)->default(0);
$table->decimal('nilai_status_orang_tua', 10, 7)->default(0);
$table->decimal('total_nilai', 10, 7)->default(0);
// Status form
// $table->enum('status', ['draft', 'submitted'])->default('draft');
$table->enum('status', ['belum_validasi', 'valid','tidak_valid'])->default('belum_validasi');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('parameters');
}
};

View File

@ -0,0 +1,909 @@
SISTEM PENDUKUNG KEPUTUSAN PENERIMA KIP
KULIAH MAHASISWA POLITEKNIK NEGERI JEMBER
DENGAN MENGGUNAKAN METODE SMARTER
BERBASIS WEB
PROPOSAL TUGAS AKHIR
oleh
Annajwa Shohibuzzahro
NIM E31222691
PROGRAM STUDI MANAJEMEN INFORMATIKA
JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK NEGERI JEMBER
2024
SISTEM PENDUKUNG KEPUTUSAN PENERIMA KIP
KULIAH MAHASISWA POLITEKNIK NEGERI JEMBER
DENGAN MENGGUNAKAN METODE SMARTER
BERBASIS WEB
PROPOSAL TUGAS AKHIR
sebagai salah satu syarat untuk memperoleh gelar Ahli Madya (A.Md)
di Program Studi Manajemen Informatika
Jurusan Teknologi Informasi
oleh
Annajwa Shohibuzzahro
NIM E31222691
PROGRAM STUDI MANAJEMEN INFORMATIKA
JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK NEGERI JEMBER
2024
i
DAFTAR ISI
Halaman
DAFTAR ISI ........................................................................................................... ii
DAFTAR GAMBAR ............................................................................................. iv
DAFTAR TABEL.................................................................................................... v
BAB 1. PENDAHULUAN ..................................................................................... 1
1.1 Latar Belakang ......................................................................................... 1
1.2 Rumusan Masalah .................................................................................... 3
1.3 Batasan Masalah ....................................................................................... 3
1.4 Tujuan ....................................................................................................... 4
1.5 Manfaat..................................................................................................... 4
BAB 2. TINJAUAN PUSTAKA............................................................................. 5
2.1 Tinjauan Pustaka....................................................................................... 5
2.1.1 Penelitian Terdahulu.......................................................................... 5
2.1.2 State Of The Art ................................................................................ 7
2.2 Landasan Teori ......................................................................................... 8
2.2.1 Sistem ................................................................................................ 8
2.2.2 Sistem Pendukung Keputusan........................................................... 8
2.2.3 Kartu Indonesia Pintar Kuliah (KIPK).............................................. 9
2.2.4 Tingkatan Desil ................................................................................. 9
2.2.5 Metode SMARTER ........................................................................... 9
2.2.6 Flowchart ........................................................................................ 12
2.2.7 Use Case Diagram .......................................................................... 13
2.2.8 MySQL............................................................................................ 13
2.2.9 Hypertext Processor (PHP) ............................................................. 14
2.2.10 Website ............................................................................................ 14
2.2.11 Framework Laravel......................................................................... 14
BAB 3. METODE KEGIATAN ............................................................................ 15
3.1 Tempat dan Waktu Pelaksanaan ............................................................. 15
3.2 Alat dan Bahan ....................................................................................... 15
3.3 Metode Pengumpulan Data .................................................................... 16
ii
3.3.1 Studi literatur................................................................................... 16
3.3.2 Observasi......................................................................................... 16
3.3.3 Wawancara ...................................................................................... 17
3.4 Metode Kegiatan .................................................................................... 17
3.4.1 Metode Waterfall ............................................................................. 17
3.4.2 Algoritma Sistem ............................................................................ 19
3.4.3 Use Case Diagram .......................................................................... 21
3.4.4 Activity Diagram............................................................................. 22
3.4.5 Algoritma Metode SMARTER ....................................................... 25
3.5 Pelaksanaan Kegiatan ............................................................................. 28
DAFTAR PUSTAKA ............................................................................................ 29
iii
DAFTAR GAMBAR
Halaman
Gambar 3. 1 Tahapan Metode Waterfall (Presman, 2012) .................................... 17
Gambar 3. 2 Flowchart Sistem.............................................................................. 19
Gambar 3. 3 Use Case ........................................................................................... 21
Gambar 3. 4 Activity Diagram Mahasiswa........................................................... 22
Gambar 3. 5 Activity Diagram Admin.................................................................. 23
Gambar 3. 6 Activity Diagram Pengelola ............................................................. 24
Gambar 3.7 Flowchart metode SMARTER .......................................................... 25
Gambar 3. 8 Mockup dashboard user sebagai Admin .......................................... 26
Gambar 3. 9 Mockup dashboard user sebagai Pengelola...................................... 27
Gambar 3. 10 Mockup umum user sebagai Mahasiswa........................................ 27
iv
DAFTAR TABEL
Halaman
Tabel 2.1 State Of The Art ...................................................................................... 7
Tabel 2.2 Flowchart............................................................................................... 12
Tabel 2.3 Use Case ................................................................................................ 13
Tabel 3.1 Pelaksanaan Kegiatan............................................................................ 28
v
BAB 1. PENDAHULUAN
1.1 Latar Belakang
Pendidikan merupakan salah satu aspek fundamental dalam kehidupan
manusia yang berperan penting dalam mengembangkan potensi suatu individu
dalam kehidupan sehari-hari. Pendidikan bukan hanya menjadi kebutuhan, tetapi
pendidikan juga merupakan hak asasi manusia yang harus dipenuhi oleh setiap
warga negara. Seperti halnya yang telah di tetapkan pada Pasal 31 ayat (1) UUD
1945 menyatakan bahwa “Setiap warga negara berhak mendapatkan
Pendidikan.”(Sujatmoko, n.d.). Usaha pemerintah dalam mewujudkan pasal
tersebut adalah dengan melalui berbagai kebijakan program pemerintah yang
bertujuan untuk memudahkan akses pendidikan untuk warga negara salah satunya
yaitu Program Indonesia Pintar (PIP).
Program Indonesia Pintar (PIP) merupakan salah satu kebijakan pemerintah
dalam upaya pemerataan pendidikan bantuan berupa uang tunai, perluasan akses,
dan kesempatan belajar dari pemerintah yang diberikan kepada peserta didik yang
berasal dari keluarga miskin atau rentan miskin untuk membiayai pendidikan, yang
sesuai dengan isi Intruksi Presiden No. 7 Tahun 2014 pada poin ketiga yaitu
“Pembiayaan pelaksanaan Program Simpanan Keluarga Sejahtera, Program
Indonesia Pintar, dan Program Indonesia Sehat dibebankan pada Anggaran
Pendapatan dan Belanja Daerah serta sumber lain yang tidak mengikat yang
pelaksanaannya sesuai dengan ketentuan peraturan perundang undangan”.
Pemerintah telah berupaya keras dalam menggiatkan Program Indonesia Pintar
(PIP) untuk memenuhi hak setiap warga negara dalam memperoleh layanan
pendidikan, yakni melalui Kartu Indonesia Pintar (KIP) yang diluncurkan oleh
pemerintah di bawah naungan Kementerian Pendidikan dan Kebudayaan (Rohaeni
& Saryono, 2018).
1
2
Kartu Indonesia Pintar (KIP) terdiri dari dua jenis yaitu KIP Sekolah yang
ditujukan kepada peserta didik tingkat Sekolah Dasar hingga Sekolah Menengah
Atas, dan KIP Kuliah yang ditujukan bagi lulusan SMA sederajat dengan dana
bantuan pendidikan serta biaya hidup yang disesuaikan dengan wilayah pendidikan.
KIP ditujukan pada peserta didik yang kurang mampu dalam membiayai
pendidikannya, tetapi di beberapa perguruan tinggi termasuk Politeknik Negeri
Jember penerima KIP Kuliah belum sepenuhnya tepat sasaran karena metode
seleksi calon penerima KIPK menggunakan metode manual yang rawan terjadinya
human error sehingga dapat mengakibatkan ketidaktepatan penerima KIP Kuliah.
Terdapat mahasiswa yang berhak mendapatkan KIPK tetapi mereka tidak
mendapatkan haknya, sehingga tidak dapat melanjutkan pendidikan hingga akhir
atau bahkan mencari kegiatan lain yang menghasilkan uang sehingga fokus belajar
mereka terbagi.
Berdasarkan permasalahan diatas, maka dibangun sebuah sistem pendukung
keputusan yang dapat digunakan oleh panitia pemilihan penerima KIP Kuliah untuk
menentukan siswa yang benar-benar layak mendapatkan bantuan KIP Kuliah
tersebut guna untuk meminimalisir terjadinya hal-hal yang tidak diinginkan. Maka
penulis melakukan penelitian dengan judul “Sistem Pendukung Keputusan
Penerima KIP Kuliah Mahasiswa Politeknik Negeri Jember dengan Menggunakan
Metode SMARTER Berbasis Web”.
Metode Simple Multy Attribute Rating Technique Exploiting Rank
(SMARTER) merupakan salah satu metode yang digunakan dalam mengolah data
yang membantu sistem pendukung keputusan dengan multikriteria yang akan
menghasilkan perangkingan kelayakan penerima KIP Kuliah berupa layak,
dipertimbangkan dan tidak layak.
3
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah saya jelaskan diatas, maka terdapat
rumusan permasalahan yang mana sebagai berikut :
1. Bagaimana cara untuk menentukan mahasiswa yang layak pendapatkan KIP
Kuliah?
2. Bagaimana menerapkan metode Simple Multy Attribute Rating Technique
Exploiting Rank (SMARTER) dalam sistem pendukung keputusan penerima
KIP Kuliah Mahasiswa Politeknik Negeri Jember?
3. Bagaimana hasil penerapan sistem pendukung keputusan penerima KIP
Kuliah mahasiswa Politeknik Negeri Jember dengan menggunakan metode
Simple Multy Attribute Rating Technique Exploiting Rank (SMARTER) ?
1.3 Batasan Masalah
Berdasarkan permasalahan tersebut maka terdapat batasan masalah pada
penelitian ini adalah sebagai berikut:
1. Sistem pendukung keputusan penerima KIP Kuliah ini dikembangkan
berbasis website.
2. Penelitian ini menggunakan metode perhitungan Simple Multy Attribute
Rating Technique Exploiting Rank (SMARTER).
3. Sistem pendukung keputusan digunakan untuk mempermudah pengambilan
keputusan penentu penerima KIP Kuliah mahasiswa Politeknik Negeri
Jember.
4. Menghasilkan ouput mahasiswa yang layak, dipertimbangkan dan tidak layak
mendapatkan KIP Kuliah.
5. Parameter kriteria yang digunakan dalam proses perhitungan menggunakan
metode SMARTER terdiri dari kriteria kepemilikan KIP Sekolah, kriteria
tingkatan desil, dan kriteria kondisi ekonomi.
4
1.4 Tujuan
Berdasarkan rumusan masalah diatas, tujuan yang ingin dicapai dalam
penelitian ini adalah sebagai berikut:
1. Membuat sistem pendukung keputusan yang digunakan untuk menentukan
penerima KIP Kuliah mahasiswa Politeknik Negeri Jember.
2. Menerapkan metode Simple Multy Attribute Rating Technique Exploiting
Rank (SMARTER) sebagai metode yang dapat digunakan pada sistem
pendukung keputusan penerima KIP Kuliah mahasiswa Politeknik Negeri
Jember.
3. Mengetahui hasil penerapan sistem pendukung keputusan penerima KIP
Kuliah mahasiswa Politeknik Negeri Jember menggunakan metode Simple
Multy Attribute Rating Technique Exploiting Rank (SMARTER).
1.5 Manfaat
Berdasarkan tujuan diatas, diharapkan hasil dari penelitian ini dapat memiliki
manfaat seperti berikut:
1. Panitia seleksi KIP Kuliah Politeknik Negeri Jember lebih mudah dalam
menyeleksi calon mahasiswa penerima KIP Kuliah tanpa melihat data
mahasiswa secara berulang.
2. Dapat mengetahui penerapan metode Simple Multy Attribute Rating
Technique Exploiting Rank (SMARTER) untuk memberikan rekomendasi
calon mahasiswa yang layak menerima KIP Kuliah.
BAB 2. TINJAUAN PUSTAKA
2.1 Tinjauan Pustaka
2.1.1 Penelitian Terdahulu
Dalam penyusunan tugas akhir berjudul “Sistem Pendukung Keputusan
Penerima KIP Kuliah Mahasiswa Politeknik Negeri Jember dengan Menggunakan
Metode SMARTER Berbasis Web” ini diperlukan referensi dari beberapa sumber
pustaka yang digunakan sebagai pembanding antara penelitian yang sudah
dilakukan dengan penelitian yang akan direncanakan agar menjadi lebik baik.
Berikut beberapa tinjauan pustaka yang saya gunakan sebagai pembanding:
a. Rancang Bangun Sistem Seleksi Penentuan Penerima Bantuan KIP Kuliah di
STMIK Muhammadiyah Paguyangan Brebes Menggunakan Metode SAW.
Pada penelitian tersebut mengambil objek penelitian seleksi penentuan
penerima bantuan KIPK di STMIK Muhammadiyah paguyuban dengan
menggunakan metode SAW dengan tujuan dapat mendapatkan keakuratan data
berdasarkan tingkat akurasi kelayakan calon penerima KIPK melalui sistem
pendukung keputusan yang dibuatnya sebagai solusi dari permasalahan mekanisme
pemilihan calon penerima bantuan secara manual. Pada penelitian tersebut
menggunakan beberapa parameter atau kriteria seperti: penghasilan orang tua,
tahun lulus, potensi akademik, yatim/piatu, organisasi, pekerjaan orang tua,
tanggungan orang tua, dan jumlah anggota keluarga. Pada penelitian ini output yang
akan dihasilkan berupa desktop.
b. Sistem Pendukung Keputusan Pemilihan Ekstrakurikuler Pada Siswa Di
MAN 3 Banyuwangi Menggunakan Metode Simple Multy Attribute Rating
Technique Exploiting Rank Berbasis Web (Ananda Zakia Syahfitri, Politeknik
Negeri Jember, Manajemen Informatika, Jember, 2024).
Pada penelitian tersebut mengambil objek pemilihan ekstrakurikuler pada
siswa di MAN 3 Banyuwangi dengan menggunakan metode Simple Multy Attribute
5
6
Rating Technique Exploiting Rank Berbasis Web dengan tujuan dapat menjadi
solusi dari permasalahan siswa yang merasa bingung dan kesulitan dalam
menentukan ekstrakurikuler yang sesuai dengan minat dan potensinya dengan
memberikan sistem yang memberikan keputusan pada siswa MAN 3 Banyuwangi
dalam memilih ektrakurikuler mana yang sesuai dengan minat dan potensi mereka.
Sistem ini dibangun dengan menggunakan beberapa parameter kriteria yaitu minat,
bakat, pengalaman, prestasi, dan fasilitas. Dengan menggunakan 10 jenis alternatif
ekstrakurikuler yaitu: futsal, tenis meja, Badminton, Catur, Taekwondo, seni Lukis,
seni tari, teater, dan jurnalis yang menghasilkan output nilai akhir tertinggi
merupakan ekstrakurikuler yang paling direkomendasikan untuk siswa. Pada
penelitian ini metode SMARTER memiliki akurasi sebesar 85% dari 20 data uji.
7
2.1.2 State Of The Art
Pada tugas akhir yang berjudul “Sistem Pendukung Keputusan Penerima KIP
Kuliah Mahasiswa Politeknik Negeri Jember Dengan Menggunakan Metode
SMARTER Berbasis Web” terdapat sebuah perbandingan dengan karya tulis ilmiah
sebelumnya yang disajikan dalam table State Of The Art sebagai berikut:
Tabel 2. 1 State Of The Art Zakia Annajwa
Nama Tri Wahyuni Wulandari Ananda
Penulis dkk. Syahfitri Shohibuzzahro
Judul Rancang Bangun Sistem Sistem Pendukung Sistem Pendukung
Seleksi Penentuan Keputusan Pemilihan Keputusan Penerima
Penerima Bantuan KIP Ekstrakurikuler Pada KIP Kuliah
Kuliah di STMIK Siswa di MAN 3 Mahasiswa
Muhammadiyah Banyuwangi Politeknik Negeri
Paguyangan Brebes Menggunakan Jember
Menggunakan Metode Metode SMARTER Menggunakan
SAW. Berbasis Web Metode SMARTER
Berbasis Web
Objek KIP Kuliah Ekstrakurikuler KIP Kuliah
Studi STMIK MAN 3 Banyuwangi Politeknik Negeri
Kasus Muhammadiyah Jember
Paguyangan Brebes
Metode SAW SMARTER SMARTER
Kriteria Penghasilan orang tua, minat, bakat, kepemilikan KIP
tahun lulus, potensi pengalaman, Sekolah, tingkatan
akademik, yatim/piatu, prestasi, dan fasilitas desil, dan tingkat
organisasi, pekerjaan kemampuan.
orang tua, tanggungan
orang tua, jumlah
anggota keluarga.
Tahun 2023 2024 2024
8
2.2 Landasan Teori
2.2.1 Sistem
Menurut Romney, et al (2015:1) dalam jurnal Accounting Information
System, menyatakan bahwa sistem adalah serangkaian dua atau lebih komponen
yang saling terkait dan berinteraksi untuk mencapai suatu tujuan. Menurut Mulyadi
(2016:1) dalam jurnal Sistem Akuntansi, menyatakan bahwa sistem adalah
kelompok unsur yang erat berhubungan satu dengan lainnya, yang berfungsi
bersama-sama untuk mencapai tujuan tertentu. Menurut Subri (2016) dalam jurnal
Sistem Informasi Manajemen, menyatakan bahwa sistem adalah suatu kumpulan
atau himpunan dari unsur, komponen, atau variable yang terorganisasi, saling
berinteraksi, saling tergantung satu sama lain, dan terpadu. Berdasarkan para ahli
diatas dapat disimpulkan bahwa sistem merupakan sekumpulan komponen yang
saling berinteraksi dan bergantung satu sama lain yang bekerja secara terorganisasi
untuk mencapai suatu tujuan tertentu.
2.2.2 Sistem Pendukung Keputusan
Sistem pendukung keputusan adalah sistem yang digunkan untuk dapat
mengambil keputusan pada situasi terstruktur dan tidak terstruktur, dimana
seseorang tidak mengetahui secara pasti bagaimana seharusnya sebuah keputusan
dibuat (Tuban, 2001). Sistem pendukung keputusan bertujuan untuk memberikan
perkiraan dan mengarahkan pengguna dalam pengambilan keputusan dengan lebih
baik melalui proses dalam memperoleh informasi dengan menggunakan model
pengambilan keputusan (Galuh Andika et al., 2019). Sistem pendukung keputusan
merupakan sistem informasi bersifat interaktif yang menyediakan informasi,
pemodelan, dan manipulasi data berbasisi computer untuk membantu dalam proses
pengambilan keputusan (Cahyati et al., 2021). Berdasarkan beberapa penjelasan
diatas dapat disimpulkan bahwa sistem pendukung keputusan merupakan sistem
yang dapat memberikan suatu informasi berupa saran atau rekomendasi dalam
pengambilan keputusan yang paling efisien atau paling baik pada suatu
permasalahan melalui proses pengolahan data.
9
2.2.3 Kartu Indonesia Pintar Kuliah (KIPK)
Kartu Indonesia Pintar merupakan implementasi dari Program Indonesia
Pintar (PIP) yaitu merupakan program pemerintah yang diluncurkan untuk
mengatasi masalah yang terjadi karena banyaknya ditemukan kasus siswa yang
masih usia sekolah namun tidak mendapatkan haknya karena keterbatasan biaya
(N. Eni Rohaeni & Oyon Saryono, 2018). Kartu Indonesia Pintar terbagi menjadi 2
yaitu: KIP Sekolah yang ditujukan kepada peserta didik SMA atau sederajat dan
KIP Kuliah yang ditujukan kepada peserta didik yang telah lulus dari SMA atau
sederajat yang digunakan sebagai peningkatan akses pndidikan dengan
memberikan bantuan dana kepada siswa dari keluarga kurang mampu agar mereka
dapat melanjutkan pendidikan hingga ke jenjang yang lebih tinggi. Dengan adanya
KIP, diharapkan tidak ada lagi anak-anak Indonesia yang terhambat pendidikannya
karena masalah ekonomi, sehingga bisa mengurangi kemiskinan dan meningkatkan
kualitas hidup masyarakat secara keseluruhan.
2.2.4 Tingkatan Desil
Seluruh rumah tangga yang ada di Indonesia dalam Basis Data Terpadu dapat
dikelompokkan ke dalam kelompok yang disebut desil. Desil merupakan kelompok
per-sepuluhan sehingga seluruh rumah tangga terbagi ke dalam 10 desil. Desil 10
merupakan rumah tangga di Indonesia yang memiliki penghasilan tertinggi 10%
dari seluruh rumah tangga yang ada, begitu sebaliknya rumah tangga yang masuk
kedalam desil 1 yaitu rumah tangga yang paling miskin atau berpenghasilan
terendah 10% dari seluruh rumah tangga yang ada di Indonesia (Basis Data
Terpadu, 2013). Dalam penelitian ini berfokus pada kelompok desil terendah yang
terdaftar dalam Data Terpadu Kesejahteraan Sosial (DTKS) yang layak
mendapatkan KIP Kuliah.
2.2.5 Metode SMARTER
Metode Simple Multy Attribute Rating Technique Exploiting Rank merupakan
salah satu metode yang digunakan dalam mengolah data yang membantu sistem
pendukung keputusan. Pada tahun 1977 metode SMART (Simple Multy Attribute
10
Rating Technique) hadir kemudian dikembangkan menjadi metode SMARTS
(Simple Multy Attribute Rating Technique Swing). Pada tahun 1994 Edward dan
Baron mengubahnya menjadi SMARTER (Simple Multy Attribute Rating
Technique Exploiting Rank) yang merupakan hasil dari modifikasi metode
SMARTS.
Dalam metode SMARTER, bobot dihitung menggunakan rumus pembobotan
Rank Order Centroid (ROC) pada setiap kriteria dan sub kriteria. Metode
pembobotan ini menggunakan rentang nilai antara 0 hingga 1, yang memudahkan
dalam perhitungan dan perbandingan nilai setiap alternatif. ROC didasarkan pada
tingkat kepentingan atau prioritas dari setiap kriteria. Teknik ini memberikan bobot
pada setiap kriteria sesuai dengan urutan peringkat yang diberikan berdasarkan
tingkat prioritas yang telah ditentukan.
Langkah-langkah perhitungan metode Simple Multy Attribute Rating
Technique Exploiting Rank (SMARTER) adalah sebagai berikut:
a. Menentukan Kriteria dan Tingkatan Prioritas
Dalam sistem pendukung keputusan, kriteria digunakan untuk menentukan faktor-
faktor yang utama bagi pengguna dalam memilih alternatif yang sesuai. Penetapan
kriteria yang digunakan dan tingkatan prioritas pada pemilihan penerima KIPK di
Politeknik Negeri Jember telah ditentukan oleh admin dan pengelola yang terdiri
dari kepemilikan KIP Sekolah, Tingkatan desil dan Tingkat kemampuan dengan
menyertakan bukti bukti dokumen yang terlampir.
b. Menentukan Sub Kriteria dan Tingkatan Prioritas
Dalam sistem pendukung keputusan, sub kriteria digunakan untuk memecah
kriteria utama menjadi komponen yang lebih spesifik untuk mengukur pentingnya
faktor-faktor dalam memilih alternatif. Penetapan sub kriteria dan tingkatan
prioritas ditentukan berdasarkan setiap kriteria yang digunakan.
c. Pembobotan ROC Setiap Kriteria dan Sub Kriteria
Pada metode SMARTER untuk menghitung bobot kriteria dan sub kriteria adalah
menggunakan teknik Rank Order Centoid (ROC) yang didasarkan pada urutan
tingkat prioritas.
11
d. Menghitung Hasil Akhir Nilai Utility
Nilai utility merupakan nilai yang digunakan untuk memperkirakan hasil
perhitungan dari pilihan alternatif yang berbeda. Nilai utility digunakan untuk
acuan pada nilai akhir penentuan sistem pendukung keputusan.
e. Perangkingan Setiap Alternatif
Perangkingan didapatkan dari hasil perhitungan metode SMARTER dengan
mengurutkan hasil nilai akhir yang telah diproses. Nilai akhir tertinggi menyatakan
bahwa mahasiswa tersebut paling layak menerima bantuan KIPK.
12
2.2.6 Flowchart
Flowchart merupakan media perancangan yang biasa digunakan dalam
pembangunan suatu sistem yang berupa suatu grafik yang disertai alur atau
langkah-langkah dari suatu program. Flowchart memiliki beberapa simbol dan
kegunaanya, ditnjukkan pada tabel 2.2:
Tabel 2. 2 Flowchart
No. Nama Simbol Keterangan
1 Terminal Digunakan untuk menunjukkan titik
awal dan akhirnya alur program
2 Flow Digunakan untuk menghubungkan
antar simbol dan memberikan arah
3 Process aliran proses dari satu langkah ke
4 Decision langkah berikutnya.
5 Connector Digunakan untuk menunjukkan
6 Output/Input langkah atau aktifitas dalam suatu
7 Document proses.
Digunakan untuk mengambil
keputusan dari dua alternatif yang
diberikan yaitu “true” atau “false”.
Digunakan untuk menghubungkan
bagian- bagian dari flowchart yang
terpisah.
Merupakan operasi input atau output
yang digunakan untuk memasukkan
data atau mencetak hasil.
Digunakan untuk mencetak hasil
output berbentuk dokumen atau
laporan.
13
2.2.7 Use Case Diagram
Use Case diagram digunakan untuk menggambarkan fungsionalitas dari
sistem. Diagram ini untuk memodelkan perilaku suatu sistem yang dibutuhkan serta
diharapkan pengguna (Firman et al., 2016) atau dapat diartikan sebagai diagram
yang digunakan untuk mengilustrasikan kebutuhan suatu sistem. Use Case
Diagram memiliki beberapa simbol pada tabel 2.3.
Tabel 2. 3 Use Case Nama Keterangan
No. Simbol
1 Actor Digunakan sebagai pemeran atau user
yang akan menjalankan sistem.
2 Use Case Digunakan untuk menunjukkan suatu
3 fungsi yang dimiliki sistem.
4
5 <<include>> Association Digunakan sebagai penghubung atau
6 <<extend>>
relasi antar actor dengan use case.
Generalization Digunakan sebagai penghubung atau
relasi antar actor dengan use case yang
memiliki persamaan.
Include / Uses Digunakan untuk menghubungkan
fungsionalitas yang disediakan oleh
usecase lainnya.
Extend Digunakan untuk menghubungkan
suatu use case menggunakan
fungsionalitas dari use case lainnya
jika suatu kondisi terpenuhi.
2.2.8 MySQL
Menurut Michael Widenius yang merupakan salah satu pencipta MySQL
mengatakan bahwa MySQL merupakan sistem manajemen basis data relasional
open-source yang memungkinkan pengelolaan basis data secara efisien dan
14
mendukung berbagai macam aplikasi. MySQL adalah perngakat lunak yang
berfungsi sebagai sistem manajemen basis data relasional atau yang biasa disebut
dengan Relational Database Management System (RDBMS). Sistem ini
menggunakan Structured Query Language (SQL) untuk mengelola dan
memaniputasi data dalam basis data.
2.2.9 Hypertext Processor (PHP)
Hypertext Processor merupakan salah satu bahasa pemrograman yang
digunakan untuk menerjemahkan kode program basis data menjadi kode mesin
yang dapat dimengerti oleh komputer yang bersifat server_side yang ditambahkan
ke HTML (Supono, 2018). PHP juga dapat diartikan sebagai Bahasa pemrograman
yang digunakan untuk membuat website dinamis dan interaktif yang akan diproses
didalam server dan hasilnya dikirim ke browser user dalam bentuk website.
2.2.10 Website
Website adalah sebuah media yang berisi halaman-halaman yang berisi
informasi yang bisa diakses lewat jalur internet dan dapat dinikmati secara global
(seluruh dunia). Sebuah website pada dasarnya adalah barisan kode-kode yang
berisi kumpulan perintah, yang kemudian diterjemahkan melalui sebuah browser
(Sarwono, 2015:2).
2.2.11 Framework Laravel
Pada April 2011 Taylor Otwell pertama kali menemukan framework PHP
yang up-to-date dengan versi PHP yaitu framework laravel. Laravel merupakan
kerangka kerja pemrograman yang berbasis open source yang memudahkan
penggunaan dan dokumentasi yang lengkap menjadi salah satu faktor mengapa
laravel menjadi primadona dalam beberapa tahun terakhir (Mulyadi, 2015). Laravel
juga menjadi salah satu framework yang dapat membantu pengembang untuk
memaksimalkan penggunaan PHP didalam proses pengembangan website. Selain
itu, Laravel juga memiliki beberapa fitur unggulan, seperti kerangka engine,
routing, dan modularity.
BAB 3. METODE KEGIATAN
3.1 Tempat dan Waktu Pelaksanaan
Dalam penyusunan tugas akhir yang berjudul “Sistem Pendukung Keputusan
Pemilihan Penerima KIP Kuliah Mahasiswa Dengan Menggunakan Metode Simple
Multy Attribute Technique Exploiting Rank Berbasis Web” dilaksanakan di
Politeknik Negeri Jember selama 6 (enam) bulan.
3.2 Alat dan Bahan
3.2.1 Alat
Dalam penyusunan tugas akhir ini diperlukan alat-alat yang membantu
penyusunan tugas akhir yaitu terdiri dari perangkat keras (hardware) dan perangkat
lunak (software).
a. Perangkat Keras (Hardware)
1) Manufacture : Lenovo
2) Type : Lenovo K14 Gen 1
3) Processor : Intel Core i5-1145G7
4) Random Access Memory (RAM) : 8192 (8 GB)
5) Storage : 512GB SSD W10 Pro - 8GB
b. Perangkat Lunak (Software)
1) Operating System : Windows 10
2) Software Document : Microsoft Word, Microsoft Excel
3) Software Programming : Visual Studio Code
4) Browser : Microsoft Edge, Google Chrome
5) Local Server : Xampp
15
16
3.2.2 Bahan
Bahan yang dibutuhkan pada penelitian ini meliputi data berupa kriteria dan
bobot yang merupakan parameter penting dalam penelitian ini. Data tersebut
didapatkan dari hasil wawancara dengan narasumber terkait atau user dan juga
website KIP Kuliah pemerintah.
3.3 Metode Pengumpulan Data
Metode pengumpulan data merupakan teknik atau prosedur yang digunakan
untuk mengumpulkan data yang dibutuhkan dalam penelitian yang berjudul
“Sistem Pendukung Keputusan Penerima KIP Kuliah Mahasiswa Politeknik Negeri
Jember dengan Menggunakan Metode Simple Multy Attribute Rating Technique
Exploiting Rank Berbasis Web” yang dilakukan dengan beberapa tahap sebagai
berikut:
3.3.1 Studi literatur
Studi literatur adalah metode pengumpulan data dengan cara menelaah
berbagai sumber pustaka yang relavan dengan topik penelitian yang diambil. Studi
literatur dilakukan untuk memahami teori dan konsep dasar yang relevan yang
dapat digunakan sebagai referensi dalam pengerjaan tugas akhir ini.
3.3.2 Observasi
Oberservasi merupakan metode pengumpulan data dengan cara mengamati
langsung objek atau situasi yang sedang diteliti. Dalam penelitian ini, observasi
yang dilakukan untuk mengamati langsung bagaimana proses seleksi penerima KIP
Kuliah yang dilakukan di Politeknik Negeri Jember dan juga kriteria yang
digunakan dalam proses penilaian. Observasi ini bertujuan untuk peneliti agar dapat
mengidentifikasi kebutuhan-kebutuhan yang harus dipenuhi oleh sistem pendukung
keputusan yang akan dibuat agar sistem berjalan sesuai tujuan.
17
3.3.3 Wawancara
Wawancara merupakan metode pengumpulan data dengan cara tanya jawab
langsung dengan narasumber yang memiliki pengetahuan dengan topik penelitian
dan juga calon user sistem. Dalam penelitian ini, wawancara dilakukan betujuan
untuk menggali informasi yang lebih mendalam tentang proses seleksi dan kriteria
penerima KIP Kuliah dari pihak yang terlibat langsung, seperti staff administrasi
kemahasiswaan atau panitia seleksi penerima KIP Kuliah. Wawancara ini juga
penting untuk memvalidasi data yang telah diperoleh dari observasi dan studi
literatur dengan cara mengkonfirmasikan data-data yang ditemukan sebelumnya.
3.4 Metode Kegiatan
3.5.1 Metode Waterfall
Metode yang digunakan dalam pengerjaan pengembangan sistem yang akan
dibuat pada tugas akhir ini adalah metode waterfall. Metode waterfall merupakan
model pengembangan perangkat lunak yang terbagi menjadi beberapa tahap atau
aliran yang berurutan dan saling terkait seperti halnya air terjun yang mengalir dari
ketinggian ke daratan dan tidak akan terjadi sebaliknya. Metode waterfall
merupakan metode sistematis dengan menyelesaikan tahapan satu kemudian dapat
melanjutkan ke tahapan selanjutnya.
Gambar 3. 1 Tahapan Metode Waterfall (Presman, 2012)
18
a. Tahap requirement
Pada Tahap requirement, dilakukan analisis kebutuhan dari sistem yang akan
dibangun. Dengan melalui komunikasi antara pengembang dan user agar dapat
membangun sistem yang diharapkan. Komunikasi tersebut yang akan
menghasilkan informasi berupa pengumpulan data yang dapat digunakan sebagai
acuan dalam pengembangan sistem pendukung keputusan pemilihan penerima KIP
Kuliah mahasiswa Politeknik Negeri Jember yang membutuhkan data kriteria dan
sub kriteria yang telah ditentukan oleh panitia pemilihan penerima KIP Kuliah atau
staff kemahasiswaan di Politeknik Negeri Jember. Data-data tersebut dapat
didapatkan melalui studi literatur, wawancara, dan observasi di Politeknik Negeri
Jember.
b. Tahap design
Tahap design merupakan tahap merancang dan desain sistem yang bertujuan
untuk memberikan gambaran mengenai sistem yang dikerjakan dan membantu
dalam mengambarkan keseluruhan rancangan sistem. Tahap perancangan desain
sistem meliputi Use Case Diagram, Activity Diagram, Design Mock Up, dan
struktur database.
c. Tahap implementation
Tahap implementation merupakan tahap implementasi menerjemahkan
desain yang telah dibuat kedalam kode program sehingga semua perintah yang
dibutuhkan dapat terbaca dalam sistem dari start sampai end dengan menggunakan
tools Visual Studio Code.
d. Tahap verification
Tahap verification merupakan tahap kegiatan uji coba acceptence testing
dengan memastikan bahwa sistem yang dibangun telah sesuai kebutuhan dan
system testing yaitu memastikan bahwa semua bagian sistem bekerja dengan benar.
Uji coba sistem dilakukan oleh user sistem yaitu panitia pemilihan penerima KIPK
Politeknik Negeri Jember dan Mahasiswa calon penerima KIPK dengan tujuan
untuk memastikan kesesuaian sistem dengan kebutuhan dan juga mengindentifikasi
dan memperbaiki bug.
19
e. Tahap Maintenance
Tahap Maintenance merupakan tahap terakhir yang ada di metode waterfall
yaitu tahap pemeliharaan. Dengan diperbarui yang berguna untuk memastikan
kelangsungan fungsionalitas seperti perbaikan bug, pembaruan sistem, dan
pengelolaan data.
3.5 Perancangan Sistem
3.5.1 Algoritma Sistem
Algoritma sistem merupakan langkah-langkah cara kerja sistem atau alur
proses program yang digambarkan dengan flowchart berikut:
Gambar 3. 2 Flowchart Sistem
20
Pada Gambar 3.2 di atas menggambarkan alur sistem yang dimulai dari
halaman login yang dapat digunakan untuk 3 user yaitu mahasiswa, admin, dan
pengelola. Mahasiswa dapat melakukan verifikasi akun yang kemudian dapat
dialihkan ke halaman beranda kemudian menginputkan formular. User admin dapat
melakukan CRUD data mahasiswa, CRUD data kriteria, CRUD data subkriteria,
dan CRUD formulir, kemudian admin dapat memvalidasi data alternatif yang telah
diinputkan mahasiswa sebelumnya yang akan dilanjutkan pada perhitungan metode
SMARTER yang kemudian dapat menghasilkan rangking serta penginputan kuota
oleh admin dan pengelola yang menghasilkan hasil penerimaan. Bukti diterima
dapat dicetak guna untuk verifikasi terhadap mahasiswa yang menerima dengan
orang tua.
21
3.5.2 Use Case Diagram
Gambar 3. 3 Use Case
Pada Gambar 3.3 menunjukkan gambaran fungsional sistem yang terdiri dari
3 aktor yaitu mahasiswa, admin dan pengelola yaitu wakil direktur 3 Politeknik
Negeri Jember. Mahasiswa dapat mengakses dan mengisi formulir data mahasiswa
serta dapat melihat hasil akhir penerima KIPK yang juga dapat diakses oleh admin
dan pengelola. Admin mendapatkan hak akses mengolah data mahasiswa,
mengolah data kriteria dan subkriteria, melakukan serta mengelola perhitungan
SMARTER, mengelola hasil penilaian dan validasi data mahasiswa. Sedangkan
pengelola hanya memiliki hak akses melihat data kriteria dan subkriteria, data
mahasiswa, dan hasil penilaian serta pengelola juga mendapatkan hak akses
mengelola kuota penerima KIPK.
22
3.5.3 Activity Diagram
Activity Diagram merupakan diagram yang mengambarkan alur kerja atau
aktifitas dari sebuah sistem yang akan digunakan pada sistem ini adalah sebagai
berikut:
a. Activity Diagram Mahasiswa
Gambar 3. 4 Activity Diagram Mahasiswa
Pada Gambar 3.4 merupakan activity diagram mahasiswa yang diawali
dengan membuka website kemudian sistem menampilkan halaman login dan
register. Terdapat button login, jika mahasiswa memiliki akun maka mahasiswa
dapat melakukan proses login dengan menginputkan username dan password.
Sebaliknya, jika siswa belum memiliki akun, maka dialihkan ke halaman register
untuk pendaftaran akun terlebih dahulu dengan menginputkan nama, uname dan
23
password, kemudian melakukan proses login kembali. Sistem akan memvalidasi
dengan mengecek apakah inputan sesuai atau tidak, jika sesuai akan dialihkan ke
halaman dashboard dan dapat menginputkan formulir, dan jika tidak sesuai maka
akan melakukan proses login kembali.
b. Activity Diagram Admin
Gambar 3. 5 Activity Diagram Admin
Pada Gambar 3.5 merupakan activity diagram admin yang diawali dengan
membuka website kemudian sistem menampilkan halaman login dengan
menginputkan username dan password sistem akan memvalidasi dengan mengecek
apakah inputan sesuai atau tidak, jika sesuai akan dialihkan ke halaman dashboard.
Admin dapat melakukan CRUD data mahasiswa, data kriteria, data subkriteria.
Selanjutnya semua data akan disimpan oleh sistem yang kemudian dilalukan
24
perhitungan SMARTER sehingga dapat menghasilkan hasil akhir perangkingan
penerimaan KIPK mahasiswa.
c. Activity Diagram Pengelola
Gambar 3. 6 Activity Diagram Pengelola
Pada Gambar 3.6 merupakan activity diagram admin yang diawali dengan
membuka website kemudian sistem menampilkan halaman login dengan
menginputkan username dan password sistem akan memvalidasi dengan mengecek
apakah inputan sesuai atau tidak, jika sesuai akan dialihkan ke halaman dashboard.
Pengelola dapat menginputkan kuota penerima KIPK yang kemudian diproses oleh
sistem menghasilkan nilai akhir penentu mahasiswa penerima KIPK.
25
3.5.4 Algoritma Metode SMARTER
Algoritma perhitungan metode Simple Multy Attribute Rating Technique
Exploiting Rank dapat digambarkan dengan flowchart sebagai berikut:
Gambar 3.7 Flowchart metode SMARTER
Pada Gambar 3.7 menggambarkan alur sistem metode SMARTER yang
dimulai dengan menentukan kriteria dan sub kriteria berserta tingkat prioritas yang
telah ditetapkan oleh panitia pemilihan KIP Kuliah atau staff kemahasiswaan
Politeknik Negeri Jember yaitu dengan kriteria atau parameter yang terfokus
kepada kepemilikan KIP Sekolah, Tingkatan Desil dan Kondisi Ekonomi.
26
Kemudian kriteria-kriteria tersebut dipecah menjadi sub kriteria agar pembobotan
yang dilakukan lebih spesifik dengan pembobotan yang menggunakan metode Rank
Order Centroid (ROC). Hasil dari pembobotan tersebut digunakan untuk mencari
nilai ultility yang didapatkan dari hasil kali bobot kriteria dengan subktiteria
sehingga seluruh nilai utility dapat dijumlahkan untuk menentukan hasil akhir
perhitungan seberapa layak mahasiswa tersebut untuk mendapatkan KIP Kuliah.
3.5.5 Mockup
Mockup merupakan gambaran yang digunakan untuk menunjukan desain
antarmuka pengguna yang dilengkapi dengan elemen-elemen visualnya sebagai
berikut:
Gambar 3. 8 Mockup dashboard user sebagai Admin
Pada gambar 3.8 terdapat rancangan design mockup dengan user sebagai
admin yang dilengkapi dengan beberapa fitur dan tampilan pada navbar terdapat
pilihan beberapa option yang akan menampilkan data master yang berisi data
kriteria dan subkriteria, data mahasiswa, data formulir dan informasi user. Terdapat
data perhitungan yang merupakan tempat perhitungan data.
27
Gambar 3. 9 Mockup dashboard user sebagai Pengelola
Pada gambar 3.9 terdapat rancangan design mockup dengan user sebagai
pengelola Dimana pengelola hanya dapat melihat data master yang berisi data
kriteria dan subkriteria, data mahasiswa, data formulir dan informasi user. Terdapat
data perhitungan yang merupakan tempat perhitungan data. Pengelola dapat
menginputkan kuota pada bagian data perhitungan.
Gambar 3. 10 Mockup umum user sebagai Mahasiswa
Pada gambar 3.10 terdapat rancangan design mockup dengan user sebagai
mahasiswa dimana mahasiswa dapat menginputkan formulir yang akan diteruskan
pada proses validasi oleh admin. Mahasiswa juga dapat melihat hasil perangkingan
atau hasil dari seleksi data dari inputan seluruh mahasiswa.
28
3.5 Pelaksanaan Kegiatan
Dalam proses penyusunan tugas akhir ini terdapat jadwal pelaksanaan untuk
merencanakan estimasi waktu pengerjaan dalam menyelesaikan sistem yang akan
dikembangkan dengan mengikuti langkah-langkah metode waterfall sebagai acuan
dalam pengembangan sistem. Berikut adalah tabel jadwal pelaksanaan kegiatan:
Tabel 3. 1 Pelaksanaan Kegiatan
No. Pelaksanaan Kegiatan 2024 - 2025
Des Jan Feb Mar April Mei
1 Tahap Requirement
2 Tahap Design
3 Tahap Implementation
4 Tahap Verification
5 Tahap Maintenance
29
DAFTAR PUSTAKA
Dasar, K. K. (2011). Sistem informasi akuntansi. Konsep-konsep Dasar Sistem
Informasi Akuntansi, 3(1), 1-32.
Haris Saputro (2012). Modul Pembelajaran Praktek Basis Data (MySQL)
Kementerian Pendidikan dan Kebudayaan Republik Indonesia. (n.d.). Pelajari dan
pahami tahapan pendaftaran KIP Kuliah. Pusat Layanan Pembiayaan
Pendidikan. https://puslapdik.kemdikbud.go.id/pelajari-dan-pahami-
tahapan-pendaftaran-kip-kuliah/
Kementerian Pendidikan dan Kebudayaan Republik Indonesia. (n.d.). KIP Kuliah.
Lembaga Layanan Pendidikan Tinggi Wilayah VIII.
https://lldikti8.kemdikbud.go.id/kip-kuliah/
Kholisah, S. N. (2024) Sistem Pendukung Keputusan Penerima Permohonan
Penyesuaian UKT Bagi Mahasiswa Politeknik Negeri Jember
Mahkamah Konstitusi Republik Indonesia. (2022). Resume perkara nomor
21/PUU-XX/2022 tentang BHP dan SIDIKNAS.
Mustakim, S.T. M.Kom. (2018) Simple Multi attribute Rating Technique Exploiting
Ranks (SMARTER) research Organization of Predatech UIN Sultan Syarif
Kasim Riau
Nur, M., Nurdin, N., & Ulva, A. F. (2023). Sistem Pendukung Keputusan Penentuan
Penerima KIP-Kuliah Menggunakan Metode SMART. Sisfo: Jurnal Ilmiah
Sistem Informasi, 7(2), 82-96.
Pratiwi, H. (2016). Sistem Pendukung Keputusan. Yogyakarta: deepublish, 49-57.
Pressman, R.S. (2012). Rekayasa Perangkat Lunak: Pendekatan Praktisi.
Yogyakarta: Penerbit Andi.
Rohaeni, N. E., & Saryono, O. (2018). Number 1 Indonesian Journal of Education
Management and Administration Review (Vol. 2).
Romney M.B., & Steinbart, P.J. (2015). Accounting information systems (edisi ke-
10). New Jersey: Prentice-Hall Inc.
Sujatmoko, E. (n.d.). Hak Warga Negara Dalam Memperoleh Pendidikan.
Wulandari, T. W. (2023). Rancang Bangun Sistem Seleksi Penentuan Penerima
Bantuan KIP Kuliah di STMIK Muhammadiyah Paguyangan Brebes
30
Menggunakan Metode SAW. Jurnal Teknik Informatika dan Sistem
Informasi, 3(1), 8-14.

View File

@ -0,0 +1,40 @@
SURAT KUASA
Yang bertanda tangan di bawah ini:
Nama : Suryadi
Umur : 55 Tahun
NIK : 3510051408700006
Alamat : Jl. Raya Muncar H. Abdurrozzaq Selatan Pabbrik Panggung RT/RW
01/01, Desa Kedungrejo Kec. Muncar Kab. Banyuwangi
Adalah ayah kandung dari:
Nama : M. Alvalent Shaufan Nazhif
Umur : 16
No Paspor : E6787944
Memberikan kuasa kepada:
Nama : Ilyas Pasaribu
Umur : 28 tahun
No Paspor : E2161918
Pendidikan : Mahasiswa Pasca Sarjana Universitas Al-Azhar
Untuk menjadi wali dari anak saya guna pengurusan visa. Demikian surat kuasa ini dibuat dengan
sungguh-sungguh untuk dipergunakan semestinya.
Palembang, 15 Febuari 2025 Yang menerima kuasa
Yang memberi kuasa
Suryadi Ilyas Pasaribu

View File

@ -0,0 +1,27 @@
@php
$url = $url instanceof \Closure ? $url($record ?? null) : $url;
// Dapatkan path file dari URL
$path = str_replace('/storage/berkas/', '', $url);
@endphp
@if($url)
<div class="w-full">
<div class="border border-gray-300 rounded-lg overflow-hidden bg-white">
<embed
src="{{ asset('berkas/' . $path) }}"
type="application/pdf"
width="100%"
height="800px"
class="w-full"
/>
</div>
<div class="mt-2 flex justify-end">
<a href="{{ $url }}" class="text-primary-600 hover:text-primary-500 flex items-center" target="_blank">
<span class="mr-2">Download PDF</span>
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"/>
</svg>
</a>
</div>
</div>
@endif

View File

@ -1,7 +1,25 @@
<?php <?php
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\PdfViewController;
Route::get('/', function () { Route::get('/', function () {
return view('welcome'); return view('welcome');
}); });
Route::get('/view-pdf', [PdfViewController::class, 'show'])->name('pdf.view');
// Route untuk mengakses file PDF langsung
Route::get('/storage/berkas/{path}', function ($path) {
$fullPath = storage_path('app/berkas/' . $path);
if (!file_exists($fullPath)) {
abort(404);
}
return response()->file($fullPath, [
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'inline; filename="' . basename($path) . '"'
]);
})->where('path', '.*');

View File

@ -0,0 +1,909 @@
SISTEM PENDUKUNG KEPUTUSAN PENERIMA KIP
KULIAH MAHASISWA POLITEKNIK NEGERI JEMBER
DENGAN MENGGUNAKAN METODE SMARTER
BERBASIS WEB
PROPOSAL TUGAS AKHIR
oleh
Annajwa Shohibuzzahro
NIM E31222691
PROGRAM STUDI MANAJEMEN INFORMATIKA
JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK NEGERI JEMBER
2024
SISTEM PENDUKUNG KEPUTUSAN PENERIMA KIP
KULIAH MAHASISWA POLITEKNIK NEGERI JEMBER
DENGAN MENGGUNAKAN METODE SMARTER
BERBASIS WEB
PROPOSAL TUGAS AKHIR
sebagai salah satu syarat untuk memperoleh gelar Ahli Madya (A.Md)
di Program Studi Manajemen Informatika
Jurusan Teknologi Informasi
oleh
Annajwa Shohibuzzahro
NIM E31222691
PROGRAM STUDI MANAJEMEN INFORMATIKA
JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK NEGERI JEMBER
2024
i
DAFTAR ISI
Halaman
DAFTAR ISI ........................................................................................................... ii
DAFTAR GAMBAR ............................................................................................. iv
DAFTAR TABEL.................................................................................................... v
BAB 1. PENDAHULUAN ..................................................................................... 1
1.1 Latar Belakang ......................................................................................... 1
1.2 Rumusan Masalah .................................................................................... 3
1.3 Batasan Masalah ....................................................................................... 3
1.4 Tujuan ....................................................................................................... 4
1.5 Manfaat..................................................................................................... 4
BAB 2. TINJAUAN PUSTAKA............................................................................. 5
2.1 Tinjauan Pustaka....................................................................................... 5
2.1.1 Penelitian Terdahulu.......................................................................... 5
2.1.2 State Of The Art ................................................................................ 7
2.2 Landasan Teori ......................................................................................... 8
2.2.1 Sistem ................................................................................................ 8
2.2.2 Sistem Pendukung Keputusan........................................................... 8
2.2.3 Kartu Indonesia Pintar Kuliah (KIPK).............................................. 9
2.2.4 Tingkatan Desil ................................................................................. 9
2.2.5 Metode SMARTER ........................................................................... 9
2.2.6 Flowchart ........................................................................................ 12
2.2.7 Use Case Diagram .......................................................................... 13
2.2.8 MySQL............................................................................................ 13
2.2.9 Hypertext Processor (PHP) ............................................................. 14
2.2.10 Website ............................................................................................ 14
2.2.11 Framework Laravel......................................................................... 14
BAB 3. METODE KEGIATAN ............................................................................ 15
3.1 Tempat dan Waktu Pelaksanaan ............................................................. 15
3.2 Alat dan Bahan ....................................................................................... 15
3.3 Metode Pengumpulan Data .................................................................... 16
ii
3.3.1 Studi literatur................................................................................... 16
3.3.2 Observasi......................................................................................... 16
3.3.3 Wawancara ...................................................................................... 17
3.4 Metode Kegiatan .................................................................................... 17
3.4.1 Metode Waterfall ............................................................................. 17
3.4.2 Algoritma Sistem ............................................................................ 19
3.4.3 Use Case Diagram .......................................................................... 21
3.4.4 Activity Diagram............................................................................. 22
3.4.5 Algoritma Metode SMARTER ....................................................... 25
3.5 Pelaksanaan Kegiatan ............................................................................. 28
DAFTAR PUSTAKA ............................................................................................ 29
iii
DAFTAR GAMBAR
Halaman
Gambar 3. 1 Tahapan Metode Waterfall (Presman, 2012) .................................... 17
Gambar 3. 2 Flowchart Sistem.............................................................................. 19
Gambar 3. 3 Use Case ........................................................................................... 21
Gambar 3. 4 Activity Diagram Mahasiswa........................................................... 22
Gambar 3. 5 Activity Diagram Admin.................................................................. 23
Gambar 3. 6 Activity Diagram Pengelola ............................................................. 24
Gambar 3.7 Flowchart metode SMARTER .......................................................... 25
Gambar 3. 8 Mockup dashboard user sebagai Admin .......................................... 26
Gambar 3. 9 Mockup dashboard user sebagai Pengelola...................................... 27
Gambar 3. 10 Mockup umum user sebagai Mahasiswa........................................ 27
iv
DAFTAR TABEL
Halaman
Tabel 2.1 State Of The Art ...................................................................................... 7
Tabel 2.2 Flowchart............................................................................................... 12
Tabel 2.3 Use Case ................................................................................................ 13
Tabel 3.1 Pelaksanaan Kegiatan............................................................................ 28
v
BAB 1. PENDAHULUAN
1.1 Latar Belakang
Pendidikan merupakan salah satu aspek fundamental dalam kehidupan
manusia yang berperan penting dalam mengembangkan potensi suatu individu
dalam kehidupan sehari-hari. Pendidikan bukan hanya menjadi kebutuhan, tetapi
pendidikan juga merupakan hak asasi manusia yang harus dipenuhi oleh setiap
warga negara. Seperti halnya yang telah di tetapkan pada Pasal 31 ayat (1) UUD
1945 menyatakan bahwa “Setiap warga negara berhak mendapatkan
Pendidikan.”(Sujatmoko, n.d.). Usaha pemerintah dalam mewujudkan pasal
tersebut adalah dengan melalui berbagai kebijakan program pemerintah yang
bertujuan untuk memudahkan akses pendidikan untuk warga negara salah satunya
yaitu Program Indonesia Pintar (PIP).
Program Indonesia Pintar (PIP) merupakan salah satu kebijakan pemerintah
dalam upaya pemerataan pendidikan bantuan berupa uang tunai, perluasan akses,
dan kesempatan belajar dari pemerintah yang diberikan kepada peserta didik yang
berasal dari keluarga miskin atau rentan miskin untuk membiayai pendidikan, yang
sesuai dengan isi Intruksi Presiden No. 7 Tahun 2014 pada poin ketiga yaitu
“Pembiayaan pelaksanaan Program Simpanan Keluarga Sejahtera, Program
Indonesia Pintar, dan Program Indonesia Sehat dibebankan pada Anggaran
Pendapatan dan Belanja Daerah serta sumber lain yang tidak mengikat yang
pelaksanaannya sesuai dengan ketentuan peraturan perundang undangan”.
Pemerintah telah berupaya keras dalam menggiatkan Program Indonesia Pintar
(PIP) untuk memenuhi hak setiap warga negara dalam memperoleh layanan
pendidikan, yakni melalui Kartu Indonesia Pintar (KIP) yang diluncurkan oleh
pemerintah di bawah naungan Kementerian Pendidikan dan Kebudayaan (Rohaeni
& Saryono, 2018).
1
2
Kartu Indonesia Pintar (KIP) terdiri dari dua jenis yaitu KIP Sekolah yang
ditujukan kepada peserta didik tingkat Sekolah Dasar hingga Sekolah Menengah
Atas, dan KIP Kuliah yang ditujukan bagi lulusan SMA sederajat dengan dana
bantuan pendidikan serta biaya hidup yang disesuaikan dengan wilayah pendidikan.
KIP ditujukan pada peserta didik yang kurang mampu dalam membiayai
pendidikannya, tetapi di beberapa perguruan tinggi termasuk Politeknik Negeri
Jember penerima KIP Kuliah belum sepenuhnya tepat sasaran karena metode
seleksi calon penerima KIPK menggunakan metode manual yang rawan terjadinya
human error sehingga dapat mengakibatkan ketidaktepatan penerima KIP Kuliah.
Terdapat mahasiswa yang berhak mendapatkan KIPK tetapi mereka tidak
mendapatkan haknya, sehingga tidak dapat melanjutkan pendidikan hingga akhir
atau bahkan mencari kegiatan lain yang menghasilkan uang sehingga fokus belajar
mereka terbagi.
Berdasarkan permasalahan diatas, maka dibangun sebuah sistem pendukung
keputusan yang dapat digunakan oleh panitia pemilihan penerima KIP Kuliah untuk
menentukan siswa yang benar-benar layak mendapatkan bantuan KIP Kuliah
tersebut guna untuk meminimalisir terjadinya hal-hal yang tidak diinginkan. Maka
penulis melakukan penelitian dengan judul “Sistem Pendukung Keputusan
Penerima KIP Kuliah Mahasiswa Politeknik Negeri Jember dengan Menggunakan
Metode SMARTER Berbasis Web”.
Metode Simple Multy Attribute Rating Technique Exploiting Rank
(SMARTER) merupakan salah satu metode yang digunakan dalam mengolah data
yang membantu sistem pendukung keputusan dengan multikriteria yang akan
menghasilkan perangkingan kelayakan penerima KIP Kuliah berupa layak,
dipertimbangkan dan tidak layak.
3
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah saya jelaskan diatas, maka terdapat
rumusan permasalahan yang mana sebagai berikut :
1. Bagaimana cara untuk menentukan mahasiswa yang layak pendapatkan KIP
Kuliah?
2. Bagaimana menerapkan metode Simple Multy Attribute Rating Technique
Exploiting Rank (SMARTER) dalam sistem pendukung keputusan penerima
KIP Kuliah Mahasiswa Politeknik Negeri Jember?
3. Bagaimana hasil penerapan sistem pendukung keputusan penerima KIP
Kuliah mahasiswa Politeknik Negeri Jember dengan menggunakan metode
Simple Multy Attribute Rating Technique Exploiting Rank (SMARTER) ?
1.3 Batasan Masalah
Berdasarkan permasalahan tersebut maka terdapat batasan masalah pada
penelitian ini adalah sebagai berikut:
1. Sistem pendukung keputusan penerima KIP Kuliah ini dikembangkan
berbasis website.
2. Penelitian ini menggunakan metode perhitungan Simple Multy Attribute
Rating Technique Exploiting Rank (SMARTER).
3. Sistem pendukung keputusan digunakan untuk mempermudah pengambilan
keputusan penentu penerima KIP Kuliah mahasiswa Politeknik Negeri
Jember.
4. Menghasilkan ouput mahasiswa yang layak, dipertimbangkan dan tidak layak
mendapatkan KIP Kuliah.
5. Parameter kriteria yang digunakan dalam proses perhitungan menggunakan
metode SMARTER terdiri dari kriteria kepemilikan KIP Sekolah, kriteria
tingkatan desil, dan kriteria kondisi ekonomi.
4
1.4 Tujuan
Berdasarkan rumusan masalah diatas, tujuan yang ingin dicapai dalam
penelitian ini adalah sebagai berikut:
1. Membuat sistem pendukung keputusan yang digunakan untuk menentukan
penerima KIP Kuliah mahasiswa Politeknik Negeri Jember.
2. Menerapkan metode Simple Multy Attribute Rating Technique Exploiting
Rank (SMARTER) sebagai metode yang dapat digunakan pada sistem
pendukung keputusan penerima KIP Kuliah mahasiswa Politeknik Negeri
Jember.
3. Mengetahui hasil penerapan sistem pendukung keputusan penerima KIP
Kuliah mahasiswa Politeknik Negeri Jember menggunakan metode Simple
Multy Attribute Rating Technique Exploiting Rank (SMARTER).
1.5 Manfaat
Berdasarkan tujuan diatas, diharapkan hasil dari penelitian ini dapat memiliki
manfaat seperti berikut:
1. Panitia seleksi KIP Kuliah Politeknik Negeri Jember lebih mudah dalam
menyeleksi calon mahasiswa penerima KIP Kuliah tanpa melihat data
mahasiswa secara berulang.
2. Dapat mengetahui penerapan metode Simple Multy Attribute Rating
Technique Exploiting Rank (SMARTER) untuk memberikan rekomendasi
calon mahasiswa yang layak menerima KIP Kuliah.
BAB 2. TINJAUAN PUSTAKA
2.1 Tinjauan Pustaka
2.1.1 Penelitian Terdahulu
Dalam penyusunan tugas akhir berjudul “Sistem Pendukung Keputusan
Penerima KIP Kuliah Mahasiswa Politeknik Negeri Jember dengan Menggunakan
Metode SMARTER Berbasis Web” ini diperlukan referensi dari beberapa sumber
pustaka yang digunakan sebagai pembanding antara penelitian yang sudah
dilakukan dengan penelitian yang akan direncanakan agar menjadi lebik baik.
Berikut beberapa tinjauan pustaka yang saya gunakan sebagai pembanding:
a. Rancang Bangun Sistem Seleksi Penentuan Penerima Bantuan KIP Kuliah di
STMIK Muhammadiyah Paguyangan Brebes Menggunakan Metode SAW.
Pada penelitian tersebut mengambil objek penelitian seleksi penentuan
penerima bantuan KIPK di STMIK Muhammadiyah paguyuban dengan
menggunakan metode SAW dengan tujuan dapat mendapatkan keakuratan data
berdasarkan tingkat akurasi kelayakan calon penerima KIPK melalui sistem
pendukung keputusan yang dibuatnya sebagai solusi dari permasalahan mekanisme
pemilihan calon penerima bantuan secara manual. Pada penelitian tersebut
menggunakan beberapa parameter atau kriteria seperti: penghasilan orang tua,
tahun lulus, potensi akademik, yatim/piatu, organisasi, pekerjaan orang tua,
tanggungan orang tua, dan jumlah anggota keluarga. Pada penelitian ini output yang
akan dihasilkan berupa desktop.
b. Sistem Pendukung Keputusan Pemilihan Ekstrakurikuler Pada Siswa Di
MAN 3 Banyuwangi Menggunakan Metode Simple Multy Attribute Rating
Technique Exploiting Rank Berbasis Web (Ananda Zakia Syahfitri, Politeknik
Negeri Jember, Manajemen Informatika, Jember, 2024).
Pada penelitian tersebut mengambil objek pemilihan ekstrakurikuler pada
siswa di MAN 3 Banyuwangi dengan menggunakan metode Simple Multy Attribute
5
6
Rating Technique Exploiting Rank Berbasis Web dengan tujuan dapat menjadi
solusi dari permasalahan siswa yang merasa bingung dan kesulitan dalam
menentukan ekstrakurikuler yang sesuai dengan minat dan potensinya dengan
memberikan sistem yang memberikan keputusan pada siswa MAN 3 Banyuwangi
dalam memilih ektrakurikuler mana yang sesuai dengan minat dan potensi mereka.
Sistem ini dibangun dengan menggunakan beberapa parameter kriteria yaitu minat,
bakat, pengalaman, prestasi, dan fasilitas. Dengan menggunakan 10 jenis alternatif
ekstrakurikuler yaitu: futsal, tenis meja, Badminton, Catur, Taekwondo, seni Lukis,
seni tari, teater, dan jurnalis yang menghasilkan output nilai akhir tertinggi
merupakan ekstrakurikuler yang paling direkomendasikan untuk siswa. Pada
penelitian ini metode SMARTER memiliki akurasi sebesar 85% dari 20 data uji.
7
2.1.2 State Of The Art
Pada tugas akhir yang berjudul “Sistem Pendukung Keputusan Penerima KIP
Kuliah Mahasiswa Politeknik Negeri Jember Dengan Menggunakan Metode
SMARTER Berbasis Web” terdapat sebuah perbandingan dengan karya tulis ilmiah
sebelumnya yang disajikan dalam table State Of The Art sebagai berikut:
Tabel 2. 1 State Of The Art Zakia Annajwa
Nama Tri Wahyuni Wulandari Ananda
Penulis dkk. Syahfitri Shohibuzzahro
Judul Rancang Bangun Sistem Sistem Pendukung Sistem Pendukung
Seleksi Penentuan Keputusan Pemilihan Keputusan Penerima
Penerima Bantuan KIP Ekstrakurikuler Pada KIP Kuliah
Kuliah di STMIK Siswa di MAN 3 Mahasiswa
Muhammadiyah Banyuwangi Politeknik Negeri
Paguyangan Brebes Menggunakan Jember
Menggunakan Metode Metode SMARTER Menggunakan
SAW. Berbasis Web Metode SMARTER
Berbasis Web
Objek KIP Kuliah Ekstrakurikuler KIP Kuliah
Studi STMIK MAN 3 Banyuwangi Politeknik Negeri
Kasus Muhammadiyah Jember
Paguyangan Brebes
Metode SAW SMARTER SMARTER
Kriteria Penghasilan orang tua, minat, bakat, kepemilikan KIP
tahun lulus, potensi pengalaman, Sekolah, tingkatan
akademik, yatim/piatu, prestasi, dan fasilitas desil, dan tingkat
organisasi, pekerjaan kemampuan.
orang tua, tanggungan
orang tua, jumlah
anggota keluarga.
Tahun 2023 2024 2024
8
2.2 Landasan Teori
2.2.1 Sistem
Menurut Romney, et al (2015:1) dalam jurnal Accounting Information
System, menyatakan bahwa sistem adalah serangkaian dua atau lebih komponen
yang saling terkait dan berinteraksi untuk mencapai suatu tujuan. Menurut Mulyadi
(2016:1) dalam jurnal Sistem Akuntansi, menyatakan bahwa sistem adalah
kelompok unsur yang erat berhubungan satu dengan lainnya, yang berfungsi
bersama-sama untuk mencapai tujuan tertentu. Menurut Subri (2016) dalam jurnal
Sistem Informasi Manajemen, menyatakan bahwa sistem adalah suatu kumpulan
atau himpunan dari unsur, komponen, atau variable yang terorganisasi, saling
berinteraksi, saling tergantung satu sama lain, dan terpadu. Berdasarkan para ahli
diatas dapat disimpulkan bahwa sistem merupakan sekumpulan komponen yang
saling berinteraksi dan bergantung satu sama lain yang bekerja secara terorganisasi
untuk mencapai suatu tujuan tertentu.
2.2.2 Sistem Pendukung Keputusan
Sistem pendukung keputusan adalah sistem yang digunkan untuk dapat
mengambil keputusan pada situasi terstruktur dan tidak terstruktur, dimana
seseorang tidak mengetahui secara pasti bagaimana seharusnya sebuah keputusan
dibuat (Tuban, 2001). Sistem pendukung keputusan bertujuan untuk memberikan
perkiraan dan mengarahkan pengguna dalam pengambilan keputusan dengan lebih
baik melalui proses dalam memperoleh informasi dengan menggunakan model
pengambilan keputusan (Galuh Andika et al., 2019). Sistem pendukung keputusan
merupakan sistem informasi bersifat interaktif yang menyediakan informasi,
pemodelan, dan manipulasi data berbasisi computer untuk membantu dalam proses
pengambilan keputusan (Cahyati et al., 2021). Berdasarkan beberapa penjelasan
diatas dapat disimpulkan bahwa sistem pendukung keputusan merupakan sistem
yang dapat memberikan suatu informasi berupa saran atau rekomendasi dalam
pengambilan keputusan yang paling efisien atau paling baik pada suatu
permasalahan melalui proses pengolahan data.
9
2.2.3 Kartu Indonesia Pintar Kuliah (KIPK)
Kartu Indonesia Pintar merupakan implementasi dari Program Indonesia
Pintar (PIP) yaitu merupakan program pemerintah yang diluncurkan untuk
mengatasi masalah yang terjadi karena banyaknya ditemukan kasus siswa yang
masih usia sekolah namun tidak mendapatkan haknya karena keterbatasan biaya
(N. Eni Rohaeni & Oyon Saryono, 2018). Kartu Indonesia Pintar terbagi menjadi 2
yaitu: KIP Sekolah yang ditujukan kepada peserta didik SMA atau sederajat dan
KIP Kuliah yang ditujukan kepada peserta didik yang telah lulus dari SMA atau
sederajat yang digunakan sebagai peningkatan akses pndidikan dengan
memberikan bantuan dana kepada siswa dari keluarga kurang mampu agar mereka
dapat melanjutkan pendidikan hingga ke jenjang yang lebih tinggi. Dengan adanya
KIP, diharapkan tidak ada lagi anak-anak Indonesia yang terhambat pendidikannya
karena masalah ekonomi, sehingga bisa mengurangi kemiskinan dan meningkatkan
kualitas hidup masyarakat secara keseluruhan.
2.2.4 Tingkatan Desil
Seluruh rumah tangga yang ada di Indonesia dalam Basis Data Terpadu dapat
dikelompokkan ke dalam kelompok yang disebut desil. Desil merupakan kelompok
per-sepuluhan sehingga seluruh rumah tangga terbagi ke dalam 10 desil. Desil 10
merupakan rumah tangga di Indonesia yang memiliki penghasilan tertinggi 10%
dari seluruh rumah tangga yang ada, begitu sebaliknya rumah tangga yang masuk
kedalam desil 1 yaitu rumah tangga yang paling miskin atau berpenghasilan
terendah 10% dari seluruh rumah tangga yang ada di Indonesia (Basis Data
Terpadu, 2013). Dalam penelitian ini berfokus pada kelompok desil terendah yang
terdaftar dalam Data Terpadu Kesejahteraan Sosial (DTKS) yang layak
mendapatkan KIP Kuliah.
2.2.5 Metode SMARTER
Metode Simple Multy Attribute Rating Technique Exploiting Rank merupakan
salah satu metode yang digunakan dalam mengolah data yang membantu sistem
pendukung keputusan. Pada tahun 1977 metode SMART (Simple Multy Attribute
10
Rating Technique) hadir kemudian dikembangkan menjadi metode SMARTS
(Simple Multy Attribute Rating Technique Swing). Pada tahun 1994 Edward dan
Baron mengubahnya menjadi SMARTER (Simple Multy Attribute Rating
Technique Exploiting Rank) yang merupakan hasil dari modifikasi metode
SMARTS.
Dalam metode SMARTER, bobot dihitung menggunakan rumus pembobotan
Rank Order Centroid (ROC) pada setiap kriteria dan sub kriteria. Metode
pembobotan ini menggunakan rentang nilai antara 0 hingga 1, yang memudahkan
dalam perhitungan dan perbandingan nilai setiap alternatif. ROC didasarkan pada
tingkat kepentingan atau prioritas dari setiap kriteria. Teknik ini memberikan bobot
pada setiap kriteria sesuai dengan urutan peringkat yang diberikan berdasarkan
tingkat prioritas yang telah ditentukan.
Langkah-langkah perhitungan metode Simple Multy Attribute Rating
Technique Exploiting Rank (SMARTER) adalah sebagai berikut:
a. Menentukan Kriteria dan Tingkatan Prioritas
Dalam sistem pendukung keputusan, kriteria digunakan untuk menentukan faktor-
faktor yang utama bagi pengguna dalam memilih alternatif yang sesuai. Penetapan
kriteria yang digunakan dan tingkatan prioritas pada pemilihan penerima KIPK di
Politeknik Negeri Jember telah ditentukan oleh admin dan pengelola yang terdiri
dari kepemilikan KIP Sekolah, Tingkatan desil dan Tingkat kemampuan dengan
menyertakan bukti bukti dokumen yang terlampir.
b. Menentukan Sub Kriteria dan Tingkatan Prioritas
Dalam sistem pendukung keputusan, sub kriteria digunakan untuk memecah
kriteria utama menjadi komponen yang lebih spesifik untuk mengukur pentingnya
faktor-faktor dalam memilih alternatif. Penetapan sub kriteria dan tingkatan
prioritas ditentukan berdasarkan setiap kriteria yang digunakan.
c. Pembobotan ROC Setiap Kriteria dan Sub Kriteria
Pada metode SMARTER untuk menghitung bobot kriteria dan sub kriteria adalah
menggunakan teknik Rank Order Centoid (ROC) yang didasarkan pada urutan
tingkat prioritas.
11
d. Menghitung Hasil Akhir Nilai Utility
Nilai utility merupakan nilai yang digunakan untuk memperkirakan hasil
perhitungan dari pilihan alternatif yang berbeda. Nilai utility digunakan untuk
acuan pada nilai akhir penentuan sistem pendukung keputusan.
e. Perangkingan Setiap Alternatif
Perangkingan didapatkan dari hasil perhitungan metode SMARTER dengan
mengurutkan hasil nilai akhir yang telah diproses. Nilai akhir tertinggi menyatakan
bahwa mahasiswa tersebut paling layak menerima bantuan KIPK.
12
2.2.6 Flowchart
Flowchart merupakan media perancangan yang biasa digunakan dalam
pembangunan suatu sistem yang berupa suatu grafik yang disertai alur atau
langkah-langkah dari suatu program. Flowchart memiliki beberapa simbol dan
kegunaanya, ditnjukkan pada tabel 2.2:
Tabel 2. 2 Flowchart
No. Nama Simbol Keterangan
1 Terminal Digunakan untuk menunjukkan titik
awal dan akhirnya alur program
2 Flow Digunakan untuk menghubungkan
antar simbol dan memberikan arah
3 Process aliran proses dari satu langkah ke
4 Decision langkah berikutnya.
5 Connector Digunakan untuk menunjukkan
6 Output/Input langkah atau aktifitas dalam suatu
7 Document proses.
Digunakan untuk mengambil
keputusan dari dua alternatif yang
diberikan yaitu “true” atau “false”.
Digunakan untuk menghubungkan
bagian- bagian dari flowchart yang
terpisah.
Merupakan operasi input atau output
yang digunakan untuk memasukkan
data atau mencetak hasil.
Digunakan untuk mencetak hasil
output berbentuk dokumen atau
laporan.
13
2.2.7 Use Case Diagram
Use Case diagram digunakan untuk menggambarkan fungsionalitas dari
sistem. Diagram ini untuk memodelkan perilaku suatu sistem yang dibutuhkan serta
diharapkan pengguna (Firman et al., 2016) atau dapat diartikan sebagai diagram
yang digunakan untuk mengilustrasikan kebutuhan suatu sistem. Use Case
Diagram memiliki beberapa simbol pada tabel 2.3.
Tabel 2. 3 Use Case Nama Keterangan
No. Simbol
1 Actor Digunakan sebagai pemeran atau user
yang akan menjalankan sistem.
2 Use Case Digunakan untuk menunjukkan suatu
3 fungsi yang dimiliki sistem.
4
5 <<include>> Association Digunakan sebagai penghubung atau
6 <<extend>>
relasi antar actor dengan use case.
Generalization Digunakan sebagai penghubung atau
relasi antar actor dengan use case yang
memiliki persamaan.
Include / Uses Digunakan untuk menghubungkan
fungsionalitas yang disediakan oleh
usecase lainnya.
Extend Digunakan untuk menghubungkan
suatu use case menggunakan
fungsionalitas dari use case lainnya
jika suatu kondisi terpenuhi.
2.2.8 MySQL
Menurut Michael Widenius yang merupakan salah satu pencipta MySQL
mengatakan bahwa MySQL merupakan sistem manajemen basis data relasional
open-source yang memungkinkan pengelolaan basis data secara efisien dan
14
mendukung berbagai macam aplikasi. MySQL adalah perngakat lunak yang
berfungsi sebagai sistem manajemen basis data relasional atau yang biasa disebut
dengan Relational Database Management System (RDBMS). Sistem ini
menggunakan Structured Query Language (SQL) untuk mengelola dan
memaniputasi data dalam basis data.
2.2.9 Hypertext Processor (PHP)
Hypertext Processor merupakan salah satu bahasa pemrograman yang
digunakan untuk menerjemahkan kode program basis data menjadi kode mesin
yang dapat dimengerti oleh komputer yang bersifat server_side yang ditambahkan
ke HTML (Supono, 2018). PHP juga dapat diartikan sebagai Bahasa pemrograman
yang digunakan untuk membuat website dinamis dan interaktif yang akan diproses
didalam server dan hasilnya dikirim ke browser user dalam bentuk website.
2.2.10 Website
Website adalah sebuah media yang berisi halaman-halaman yang berisi
informasi yang bisa diakses lewat jalur internet dan dapat dinikmati secara global
(seluruh dunia). Sebuah website pada dasarnya adalah barisan kode-kode yang
berisi kumpulan perintah, yang kemudian diterjemahkan melalui sebuah browser
(Sarwono, 2015:2).
2.2.11 Framework Laravel
Pada April 2011 Taylor Otwell pertama kali menemukan framework PHP
yang up-to-date dengan versi PHP yaitu framework laravel. Laravel merupakan
kerangka kerja pemrograman yang berbasis open source yang memudahkan
penggunaan dan dokumentasi yang lengkap menjadi salah satu faktor mengapa
laravel menjadi primadona dalam beberapa tahun terakhir (Mulyadi, 2015). Laravel
juga menjadi salah satu framework yang dapat membantu pengembang untuk
memaksimalkan penggunaan PHP didalam proses pengembangan website. Selain
itu, Laravel juga memiliki beberapa fitur unggulan, seperti kerangka engine,
routing, dan modularity.
BAB 3. METODE KEGIATAN
3.1 Tempat dan Waktu Pelaksanaan
Dalam penyusunan tugas akhir yang berjudul “Sistem Pendukung Keputusan
Pemilihan Penerima KIP Kuliah Mahasiswa Dengan Menggunakan Metode Simple
Multy Attribute Technique Exploiting Rank Berbasis Web” dilaksanakan di
Politeknik Negeri Jember selama 6 (enam) bulan.
3.2 Alat dan Bahan
3.2.1 Alat
Dalam penyusunan tugas akhir ini diperlukan alat-alat yang membantu
penyusunan tugas akhir yaitu terdiri dari perangkat keras (hardware) dan perangkat
lunak (software).
a. Perangkat Keras (Hardware)
1) Manufacture : Lenovo
2) Type : Lenovo K14 Gen 1
3) Processor : Intel Core i5-1145G7
4) Random Access Memory (RAM) : 8192 (8 GB)
5) Storage : 512GB SSD W10 Pro - 8GB
b. Perangkat Lunak (Software)
1) Operating System : Windows 10
2) Software Document : Microsoft Word, Microsoft Excel
3) Software Programming : Visual Studio Code
4) Browser : Microsoft Edge, Google Chrome
5) Local Server : Xampp
15
16
3.2.2 Bahan
Bahan yang dibutuhkan pada penelitian ini meliputi data berupa kriteria dan
bobot yang merupakan parameter penting dalam penelitian ini. Data tersebut
didapatkan dari hasil wawancara dengan narasumber terkait atau user dan juga
website KIP Kuliah pemerintah.
3.3 Metode Pengumpulan Data
Metode pengumpulan data merupakan teknik atau prosedur yang digunakan
untuk mengumpulkan data yang dibutuhkan dalam penelitian yang berjudul
“Sistem Pendukung Keputusan Penerima KIP Kuliah Mahasiswa Politeknik Negeri
Jember dengan Menggunakan Metode Simple Multy Attribute Rating Technique
Exploiting Rank Berbasis Web” yang dilakukan dengan beberapa tahap sebagai
berikut:
3.3.1 Studi literatur
Studi literatur adalah metode pengumpulan data dengan cara menelaah
berbagai sumber pustaka yang relavan dengan topik penelitian yang diambil. Studi
literatur dilakukan untuk memahami teori dan konsep dasar yang relevan yang
dapat digunakan sebagai referensi dalam pengerjaan tugas akhir ini.
3.3.2 Observasi
Oberservasi merupakan metode pengumpulan data dengan cara mengamati
langsung objek atau situasi yang sedang diteliti. Dalam penelitian ini, observasi
yang dilakukan untuk mengamati langsung bagaimana proses seleksi penerima KIP
Kuliah yang dilakukan di Politeknik Negeri Jember dan juga kriteria yang
digunakan dalam proses penilaian. Observasi ini bertujuan untuk peneliti agar dapat
mengidentifikasi kebutuhan-kebutuhan yang harus dipenuhi oleh sistem pendukung
keputusan yang akan dibuat agar sistem berjalan sesuai tujuan.
17
3.3.3 Wawancara
Wawancara merupakan metode pengumpulan data dengan cara tanya jawab
langsung dengan narasumber yang memiliki pengetahuan dengan topik penelitian
dan juga calon user sistem. Dalam penelitian ini, wawancara dilakukan betujuan
untuk menggali informasi yang lebih mendalam tentang proses seleksi dan kriteria
penerima KIP Kuliah dari pihak yang terlibat langsung, seperti staff administrasi
kemahasiswaan atau panitia seleksi penerima KIP Kuliah. Wawancara ini juga
penting untuk memvalidasi data yang telah diperoleh dari observasi dan studi
literatur dengan cara mengkonfirmasikan data-data yang ditemukan sebelumnya.
3.4 Metode Kegiatan
3.5.1 Metode Waterfall
Metode yang digunakan dalam pengerjaan pengembangan sistem yang akan
dibuat pada tugas akhir ini adalah metode waterfall. Metode waterfall merupakan
model pengembangan perangkat lunak yang terbagi menjadi beberapa tahap atau
aliran yang berurutan dan saling terkait seperti halnya air terjun yang mengalir dari
ketinggian ke daratan dan tidak akan terjadi sebaliknya. Metode waterfall
merupakan metode sistematis dengan menyelesaikan tahapan satu kemudian dapat
melanjutkan ke tahapan selanjutnya.
Gambar 3. 1 Tahapan Metode Waterfall (Presman, 2012)
18
a. Tahap requirement
Pada Tahap requirement, dilakukan analisis kebutuhan dari sistem yang akan
dibangun. Dengan melalui komunikasi antara pengembang dan user agar dapat
membangun sistem yang diharapkan. Komunikasi tersebut yang akan
menghasilkan informasi berupa pengumpulan data yang dapat digunakan sebagai
acuan dalam pengembangan sistem pendukung keputusan pemilihan penerima KIP
Kuliah mahasiswa Politeknik Negeri Jember yang membutuhkan data kriteria dan
sub kriteria yang telah ditentukan oleh panitia pemilihan penerima KIP Kuliah atau
staff kemahasiswaan di Politeknik Negeri Jember. Data-data tersebut dapat
didapatkan melalui studi literatur, wawancara, dan observasi di Politeknik Negeri
Jember.
b. Tahap design
Tahap design merupakan tahap merancang dan desain sistem yang bertujuan
untuk memberikan gambaran mengenai sistem yang dikerjakan dan membantu
dalam mengambarkan keseluruhan rancangan sistem. Tahap perancangan desain
sistem meliputi Use Case Diagram, Activity Diagram, Design Mock Up, dan
struktur database.
c. Tahap implementation
Tahap implementation merupakan tahap implementasi menerjemahkan
desain yang telah dibuat kedalam kode program sehingga semua perintah yang
dibutuhkan dapat terbaca dalam sistem dari start sampai end dengan menggunakan
tools Visual Studio Code.
d. Tahap verification
Tahap verification merupakan tahap kegiatan uji coba acceptence testing
dengan memastikan bahwa sistem yang dibangun telah sesuai kebutuhan dan
system testing yaitu memastikan bahwa semua bagian sistem bekerja dengan benar.
Uji coba sistem dilakukan oleh user sistem yaitu panitia pemilihan penerima KIPK
Politeknik Negeri Jember dan Mahasiswa calon penerima KIPK dengan tujuan
untuk memastikan kesesuaian sistem dengan kebutuhan dan juga mengindentifikasi
dan memperbaiki bug.
19
e. Tahap Maintenance
Tahap Maintenance merupakan tahap terakhir yang ada di metode waterfall
yaitu tahap pemeliharaan. Dengan diperbarui yang berguna untuk memastikan
kelangsungan fungsionalitas seperti perbaikan bug, pembaruan sistem, dan
pengelolaan data.
3.5 Perancangan Sistem
3.5.1 Algoritma Sistem
Algoritma sistem merupakan langkah-langkah cara kerja sistem atau alur
proses program yang digambarkan dengan flowchart berikut:
Gambar 3. 2 Flowchart Sistem
20
Pada Gambar 3.2 di atas menggambarkan alur sistem yang dimulai dari
halaman login yang dapat digunakan untuk 3 user yaitu mahasiswa, admin, dan
pengelola. Mahasiswa dapat melakukan verifikasi akun yang kemudian dapat
dialihkan ke halaman beranda kemudian menginputkan formular. User admin dapat
melakukan CRUD data mahasiswa, CRUD data kriteria, CRUD data subkriteria,
dan CRUD formulir, kemudian admin dapat memvalidasi data alternatif yang telah
diinputkan mahasiswa sebelumnya yang akan dilanjutkan pada perhitungan metode
SMARTER yang kemudian dapat menghasilkan rangking serta penginputan kuota
oleh admin dan pengelola yang menghasilkan hasil penerimaan. Bukti diterima
dapat dicetak guna untuk verifikasi terhadap mahasiswa yang menerima dengan
orang tua.
21
3.5.2 Use Case Diagram
Gambar 3. 3 Use Case
Pada Gambar 3.3 menunjukkan gambaran fungsional sistem yang terdiri dari
3 aktor yaitu mahasiswa, admin dan pengelola yaitu wakil direktur 3 Politeknik
Negeri Jember. Mahasiswa dapat mengakses dan mengisi formulir data mahasiswa
serta dapat melihat hasil akhir penerima KIPK yang juga dapat diakses oleh admin
dan pengelola. Admin mendapatkan hak akses mengolah data mahasiswa,
mengolah data kriteria dan subkriteria, melakukan serta mengelola perhitungan
SMARTER, mengelola hasil penilaian dan validasi data mahasiswa. Sedangkan
pengelola hanya memiliki hak akses melihat data kriteria dan subkriteria, data
mahasiswa, dan hasil penilaian serta pengelola juga mendapatkan hak akses
mengelola kuota penerima KIPK.
22
3.5.3 Activity Diagram
Activity Diagram merupakan diagram yang mengambarkan alur kerja atau
aktifitas dari sebuah sistem yang akan digunakan pada sistem ini adalah sebagai
berikut:
a. Activity Diagram Mahasiswa
Gambar 3. 4 Activity Diagram Mahasiswa
Pada Gambar 3.4 merupakan activity diagram mahasiswa yang diawali
dengan membuka website kemudian sistem menampilkan halaman login dan
register. Terdapat button login, jika mahasiswa memiliki akun maka mahasiswa
dapat melakukan proses login dengan menginputkan username dan password.
Sebaliknya, jika siswa belum memiliki akun, maka dialihkan ke halaman register
untuk pendaftaran akun terlebih dahulu dengan menginputkan nama, uname dan
23
password, kemudian melakukan proses login kembali. Sistem akan memvalidasi
dengan mengecek apakah inputan sesuai atau tidak, jika sesuai akan dialihkan ke
halaman dashboard dan dapat menginputkan formulir, dan jika tidak sesuai maka
akan melakukan proses login kembali.
b. Activity Diagram Admin
Gambar 3. 5 Activity Diagram Admin
Pada Gambar 3.5 merupakan activity diagram admin yang diawali dengan
membuka website kemudian sistem menampilkan halaman login dengan
menginputkan username dan password sistem akan memvalidasi dengan mengecek
apakah inputan sesuai atau tidak, jika sesuai akan dialihkan ke halaman dashboard.
Admin dapat melakukan CRUD data mahasiswa, data kriteria, data subkriteria.
Selanjutnya semua data akan disimpan oleh sistem yang kemudian dilalukan
24
perhitungan SMARTER sehingga dapat menghasilkan hasil akhir perangkingan
penerimaan KIPK mahasiswa.
c. Activity Diagram Pengelola
Gambar 3. 6 Activity Diagram Pengelola
Pada Gambar 3.6 merupakan activity diagram admin yang diawali dengan
membuka website kemudian sistem menampilkan halaman login dengan
menginputkan username dan password sistem akan memvalidasi dengan mengecek
apakah inputan sesuai atau tidak, jika sesuai akan dialihkan ke halaman dashboard.
Pengelola dapat menginputkan kuota penerima KIPK yang kemudian diproses oleh
sistem menghasilkan nilai akhir penentu mahasiswa penerima KIPK.
25
3.5.4 Algoritma Metode SMARTER
Algoritma perhitungan metode Simple Multy Attribute Rating Technique
Exploiting Rank dapat digambarkan dengan flowchart sebagai berikut:
Gambar 3.7 Flowchart metode SMARTER
Pada Gambar 3.7 menggambarkan alur sistem metode SMARTER yang
dimulai dengan menentukan kriteria dan sub kriteria berserta tingkat prioritas yang
telah ditetapkan oleh panitia pemilihan KIP Kuliah atau staff kemahasiswaan
Politeknik Negeri Jember yaitu dengan kriteria atau parameter yang terfokus
kepada kepemilikan KIP Sekolah, Tingkatan Desil dan Kondisi Ekonomi.
26
Kemudian kriteria-kriteria tersebut dipecah menjadi sub kriteria agar pembobotan
yang dilakukan lebih spesifik dengan pembobotan yang menggunakan metode Rank
Order Centroid (ROC). Hasil dari pembobotan tersebut digunakan untuk mencari
nilai ultility yang didapatkan dari hasil kali bobot kriteria dengan subktiteria
sehingga seluruh nilai utility dapat dijumlahkan untuk menentukan hasil akhir
perhitungan seberapa layak mahasiswa tersebut untuk mendapatkan KIP Kuliah.
3.5.5 Mockup
Mockup merupakan gambaran yang digunakan untuk menunjukan desain
antarmuka pengguna yang dilengkapi dengan elemen-elemen visualnya sebagai
berikut:
Gambar 3. 8 Mockup dashboard user sebagai Admin
Pada gambar 3.8 terdapat rancangan design mockup dengan user sebagai
admin yang dilengkapi dengan beberapa fitur dan tampilan pada navbar terdapat
pilihan beberapa option yang akan menampilkan data master yang berisi data
kriteria dan subkriteria, data mahasiswa, data formulir dan informasi user. Terdapat
data perhitungan yang merupakan tempat perhitungan data.
27
Gambar 3. 9 Mockup dashboard user sebagai Pengelola
Pada gambar 3.9 terdapat rancangan design mockup dengan user sebagai
pengelola Dimana pengelola hanya dapat melihat data master yang berisi data
kriteria dan subkriteria, data mahasiswa, data formulir dan informasi user. Terdapat
data perhitungan yang merupakan tempat perhitungan data. Pengelola dapat
menginputkan kuota pada bagian data perhitungan.
Gambar 3. 10 Mockup umum user sebagai Mahasiswa
Pada gambar 3.10 terdapat rancangan design mockup dengan user sebagai
mahasiswa dimana mahasiswa dapat menginputkan formulir yang akan diteruskan
pada proses validasi oleh admin. Mahasiswa juga dapat melihat hasil perangkingan
atau hasil dari seleksi data dari inputan seluruh mahasiswa.
28
3.5 Pelaksanaan Kegiatan
Dalam proses penyusunan tugas akhir ini terdapat jadwal pelaksanaan untuk
merencanakan estimasi waktu pengerjaan dalam menyelesaikan sistem yang akan
dikembangkan dengan mengikuti langkah-langkah metode waterfall sebagai acuan
dalam pengembangan sistem. Berikut adalah tabel jadwal pelaksanaan kegiatan:
Tabel 3. 1 Pelaksanaan Kegiatan
No. Pelaksanaan Kegiatan 2024 - 2025
Des Jan Feb Mar April Mei
1 Tahap Requirement
2 Tahap Design
3 Tahap Implementation
4 Tahap Verification
5 Tahap Maintenance
29
DAFTAR PUSTAKA
Dasar, K. K. (2011). Sistem informasi akuntansi. Konsep-konsep Dasar Sistem
Informasi Akuntansi, 3(1), 1-32.
Haris Saputro (2012). Modul Pembelajaran Praktek Basis Data (MySQL)
Kementerian Pendidikan dan Kebudayaan Republik Indonesia. (n.d.). Pelajari dan
pahami tahapan pendaftaran KIP Kuliah. Pusat Layanan Pembiayaan
Pendidikan. https://puslapdik.kemdikbud.go.id/pelajari-dan-pahami-
tahapan-pendaftaran-kip-kuliah/
Kementerian Pendidikan dan Kebudayaan Republik Indonesia. (n.d.). KIP Kuliah.
Lembaga Layanan Pendidikan Tinggi Wilayah VIII.
https://lldikti8.kemdikbud.go.id/kip-kuliah/
Kholisah, S. N. (2024) Sistem Pendukung Keputusan Penerima Permohonan
Penyesuaian UKT Bagi Mahasiswa Politeknik Negeri Jember
Mahkamah Konstitusi Republik Indonesia. (2022). Resume perkara nomor
21/PUU-XX/2022 tentang BHP dan SIDIKNAS.
Mustakim, S.T. M.Kom. (2018) Simple Multi attribute Rating Technique Exploiting
Ranks (SMARTER) research Organization of Predatech UIN Sultan Syarif
Kasim Riau
Nur, M., Nurdin, N., & Ulva, A. F. (2023). Sistem Pendukung Keputusan Penentuan
Penerima KIP-Kuliah Menggunakan Metode SMART. Sisfo: Jurnal Ilmiah
Sistem Informasi, 7(2), 82-96.
Pratiwi, H. (2016). Sistem Pendukung Keputusan. Yogyakarta: deepublish, 49-57.
Pressman, R.S. (2012). Rekayasa Perangkat Lunak: Pendekatan Praktisi.
Yogyakarta: Penerbit Andi.
Rohaeni, N. E., & Saryono, O. (2018). Number 1 Indonesian Journal of Education
Management and Administration Review (Vol. 2).
Romney M.B., & Steinbart, P.J. (2015). Accounting information systems (edisi ke-
10). New Jersey: Prentice-Hall Inc.
Sujatmoko, E. (n.d.). Hak Warga Negara Dalam Memperoleh Pendidikan.
Wulandari, T. W. (2023). Rancang Bangun Sistem Seleksi Penentuan Penerima
Bantuan KIP Kuliah di STMIK Muhammadiyah Paguyangan Brebes
30
Menggunakan Metode SAW. Jurnal Teknik Informatika dan Sistem
Informasi, 3(1), 8-14.