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

AMD Indonesia dan STMIK AKAKOM Yogyakarta Gelar Workshop
AMD Indonesia dan STMIK AKAKOM Yogyakarta Gelar Workshop "Music, Animation & Gaming"

10 tahun yang lalu

STMIK AKAKOM Yogyakarta bekerja sama dengan AMD  (NASDAQ: AMD), salah satu produsen prosesor komputer dan kartu grafis global menyelenggarakan ...

Selengkapnya
UPT PERPUSTAKAAN ADAKAN BEDAH BUKU
UPT PERPUSTAKAAN ADAKAN BEDAH BUKU

10 tahun yang lalu

  UPT Perpustakaan STMIK AKAKOM Yogyakarta, pada tanggal 12 Juni 2015 akan mengadakan bedah buku. Bedah buku ini merupakan agenda rutin dari ...

Selengkapnya
PENGUMUMAN PKL TAHAP 2 SEMESTER GENAP 2014/2015
PENGUMUMAN PKL TAHAP 2 SEMESTER GENAP 2014/2015

10 tahun yang lalu

Diberitahukan kepada mahasiswa yang telah mendaftarkan diri untuk mengikuti PKL mandiri tahap 2 diharapkan untuk dapat mengikuti acara pembekalan pada hari ...

Selengkapnya

Teknologi Populer