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

Diskusi Agenda, UTDI Terima Kunjungan Strategis dari Polytechnic Institute of José Caetano Marçal (IP-JCM) Timor-Leste
Diskusi Agenda, UTDI Terima Kunjungan Strategis dari Polytechnic Institute of José Caetano Marçal (IP-JCM) Timor-Leste

8 jam yang lalu

[Yogyakarta, 10 April 2026] – Universitas Teknologi Digital Indonesia (UTDI) semakin memantapkan langkahnya dalam kancah pendidikan global. Hari ini, UTDI secara resmi menerima ...

Selengkapnya
Optimalkan Kualitas Akademik, UTDI Gelar Sosialisasi Sistem Pengumpulan Soal dan Penilaian Berbasis OBE
Optimalkan Kualitas Akademik, UTDI Gelar Sosialisasi Sistem Pengumpulan Soal dan Penilaian Berbasis OBE

8 jam yang lalu

[Yogyakarta, 10 April 2026] – Universitas Teknologi Digital Indonesia (UTDI) terus melakukan langkah konkret dalam memperkuat standar pendidikan tinggi melalui implementasi kurikulum Outcome-Based ...

Selengkapnya
Cetak Sejarah Akademik, UTDI Resmi Miliki Guru Besar Baru
Cetak Sejarah Akademik, UTDI Resmi Miliki Guru Besar Baru

13 hari yang lalu

[Yogyakarta, 30 Maret 2026] – Universitas Teknologi Digital Indonesia (UTDI) kembali mencatatkan pencapaian gemilang dalam penguatan kualitas akademik. Bertempat di Ruang Sidang 1, telah ...

Selengkapnya