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

Sosialisasi Game Paravox oleh ESI DIY di UTDI dan Kampus-Kampus Yogyakarta: UTDI Raih Juara di Paravox Battle Campus!
Sosialisasi Game Paravox oleh ESI DIY di UTDI dan Kampus-Kampus Yogyakarta: UTDI Raih Juara di Paravox Battle Campus!

satu bulan yang lalu

Industri game di Indonesia semakin berkembang pesat, dan salah satu game terbaru yang mencuri perhatian adalah Paravox, sebuah 3v3 shooter ...

Selengkapnya
Universitas Teknologi Digital Indonesia (UTDI) Jalin Kerjasama dengan TP PKK DIY, Tanda Tangani MoU untuk Pengembangan Teknologi dan Pemberdayaan Masyarakat
Universitas Teknologi Digital Indonesia (UTDI) Jalin Kerjasama dengan TP PKK DIY, Tanda Tangani MoU untuk Pengembangan Teknologi dan Pemberdayaan Masyarakat

2 bulan yang lalu

[Yogyakarta, 17 Oktober 2024] Universitas Teknologi Digital Indonesia (UTDI) kembali memperluas jaringan kerjasamanya melalui penandatanganan MoU dengan Tim Penggerak Pemberdayaan Kesejahteraan Keluarga ...

Selengkapnya
Mahasiswa Universitas Teknologi Digital Indonesia Raih Prestasi Gemilang di Bidang Teknologi dan Olahraga
Mahasiswa Universitas Teknologi Digital Indonesia Raih Prestasi Gemilang di Bidang Teknologi dan Olahraga

2 bulan yang lalu

Mahasiswi Universitas Teknologi Digital Indonesia (UTDI), Aisyah Dita Saputri, berhasil meraih juara 2 pada kompetisi Information and Technology Festival 2024 (Intechfest 2024) Kategori ...

Selengkapnya