Berita

Studi Kasus Menghitung Gaji Sederhana dengan Yii

12 tahun yang lalu

(oleh : Badiyanto)

Pada bagian ini akan mengajak Anda untuk membuat informasi/laporan dalam bentuk tabel serta isi dari kolom akan menampilkan hasil perhitungan. Perhitungan akan dilakukan oleh fungsi yang ditempatkan dalam model.

1. Buat tabelnya

CREATE TABLE `gaji` (
  `nip` CHAR(5) NOT NULL,
  `nama` CHAR(20) DEFAULT NULL,
  `gaji_pokok` DECIMAL(10,2) DEFAULT NULL,
  `tunjangan` DECIMAL(10,2) DEFAULT NULL,
  PRIMARY KEY (`nip`)
) ENGINE=INNODB ;

INSERT  INTO `gaji`(nip,nama,gaji_pokok,tunjangan)
VALUES ('1111','Edi','2000000.00','1200000.00'),
('1112','Udin','2050000.00','200000.00'),
('1113','ana','3000000.00','300000.00');

2. Buatlah model dan CRUD lewat gii genearator

3. Tambahkan Beberapa Funngsui berikut ke Dalam model Gaji.php

public function totalGaji()
    {
      $total=$this->gaji_pokok + $this->tunjangan;
      return $total;
    }

menghitung total gaji dengan menjumlahkan isi field tunjangan + gaji_pokok   
   

public function pajak()
    {
       $total=$this->gaji_pokok + $this->tunjangan;
       $pajak=$total * 5/100;
       return $pajak;
    }

atau Anda bisa dengan cara $pajak=totalGaji()*5/100;
menghiytung potongan pajak  misal 5%

  
 public function gajiBersih()
    {
       return $this->totalGaji() - $this->pajak();
    }
menghitung gaji bersih dengan mengurangi fungsi    $this->totalGaji() - $this->pajak()

4. Tambahkan/ubah begian view admin.php

<h1>Tabel Gaji</h1>
</div><!-- search-form -->
<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'gaji-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'nip',
        'nama',
        array(
        'name'=>'nip',
        'type'=>'raw',
        'header'=>'Gaji Pokok',
        'value'=>'CHtml::encode(number_format($data->gaji_pokok,2))',
        'htmlOptions'=>array('width'=>'','style'=>'text-align:right'),
        ),
        array(
            'name'=>'nip',
            'type'=>'raw',
            'header'=>'Tunjangan',
            'value'=>'CHtml::encode(number_format($data->tunjangan,2))',
            'htmlOptions'=>array('width'=>'','style'=>'text-align:right'),
        ),
        array(
            'name'=>'nip',
            'type'=>'raw',
            'header'=>'Jumlah Gaji',
            'value'=>'CHtml::encode(number_format($data->totalGaji(),2))',
            'htmlOptions'=>array('width'=>'','style'=>'text-align:right'),
        ),
        array(
            'name'=>'nip',
            'type'=>'raw',
            'header'=>'Pajak',
            'value'=>'CHtml::encode(number_format($data->pajak(),2))',
            'htmlOptions'=>array('width'=>'','style'=>'text-align:right'),
        ),
       
        array(
            'name'=>'nip',
            'type'=>'raw',
            'header'=>'gaji Bersih',
            'value'=>'CHtml::encode(number_format($data->gajiBersih(),2))',
            'htmlOptions'=>array('width'=>'','style'=>'text-align:right'),
        ),
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

penjelasan perintah'value'=>'CHtml::encode(number_format($data->gajiBersih(),2))', memanggilfungsi gajiBersih()

Lihat hasilnya

 


Berita Lainnya

The 8th ISRITI 2025 Dihadiri 17 Negara, Angkat Inovasi Sistem Cerdas Lanjutan untuk Masyarakat Kontemporer dan Masa Depan Teknologi
The 8th ISRITI 2025 Dihadiri 17 Negara, Angkat Inovasi Sistem Cerdas Lanjutan untuk Masyarakat Kontemporer dan Masa Depan Teknologi

3 hari yang lalu

[Yogyakarta, 11 Desember 2025] - Universitas Teknologi Digital Indonesia (UTDI) kembali menunjukkan komitmennya di dunia riset dengan menyelenggarakan The 8th International Seminar ...

Selengkapnya
Tim Vibecode UTDI Raih Juara 1 Refactory Hackathon x UKDW 2025 dengan Inovasi Developer Portal
Tim Vibecode UTDI Raih Juara 1 Refactory Hackathon x UKDW 2025 dengan Inovasi Developer Portal

9 hari yang lalu

[Yogyakarta, 9 Desember 2025] - Universitas Teknologi Digital Indonesia (UTDI) kembali mencetak prestasi gemilang di tingkat nasional. Tim mahasiswa UTDI ...

Selengkapnya
UTDI Tingkatkan Kompetensi Dosen: Pelatihan Kurikulum Terbaru dari PT Metrodata Siapkan Lulusan Future-Ready
UTDI Tingkatkan Kompetensi Dosen: Pelatihan Kurikulum Terbaru dari PT Metrodata Siapkan Lulusan Future-Ready

10 hari yang lalu

[Yogyakarta, 8 Desember 2025] – Universitas Teknologi Digital Indonesia (UTDI) memperkuat relevansi kurikulum pendidikannya melalui inisiatif pelatihan intensif bagi dosen. Bekerja sama dengan ...

Selengkapnya