Berita

Studi Kasus Menghitung Gaji Sederhana dengan Yii

11 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

UTDI dan Universiti Pendidikan Sultan Idris Malaysia Teken MoU untuk Perkuat Kolaborasi Internasional
UTDI dan Universiti Pendidikan Sultan Idris Malaysia Teken MoU untuk Perkuat Kolaborasi Internasional

9 hari yang lalu

[Yogyakarta, 1 September 2025] – Universitas Teknologi Digital Indonesia (UTDI) resmi menandatangani MoU dengan Universiti Pendidikan Sultan Idris (UPSI) Malaysia sebagai langkah strategis ...

Selengkapnya
UTDI dan Dinas Pariwisata Bantul Implementasikan Kerja Sama melalui Aplikasi BETI SEKEBON
UTDI dan Dinas Pariwisata Bantul Implementasikan Kerja Sama melalui Aplikasi BETI SEKEBON

15 hari yang lalu

[Yogyakarta, 17 Agustus 2025] – Universitas Teknologi Digital Indonesia (UTDI) bersama Dinas Pariwisata Kabupaten Bantul resmi mengimplementasikan kerja sama strategis dalam bidang digitalisasi ...

Selengkapnya
LLDIKTI Wilayah V Lakukan Kunjungan Silaturahmi ke UTDI, Dorong Strategi Leapfrogging untuk Peningkatan Kualitas Pendidikan
LLDIKTI Wilayah V Lakukan Kunjungan Silaturahmi ke UTDI, Dorong Strategi Leapfrogging untuk Peningkatan Kualitas Pendidikan

15 hari yang lalu

[Yogyakarta, 27 Agustus 2025] – Universitas Teknologi Digital Indonesia (UTDI) menerima kunjungan silaturahmi dari Kepala LLDIKTI Wilayah V beserta jajaran, dalam rangka memperkuat ...

Selengkapnya