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

Universitas Teknologi Digital Indonesia (UTDI) Sukses Menyelenggarakan Wisuda Periode II T.A. 2024/2025 dengan tema Harmoni Nurani dan Digitalisasi untuk Membangun Negeri
Universitas Teknologi Digital Indonesia (UTDI) Sukses Menyelenggarakan Wisuda Periode II T.A. 2024/2025 dengan tema Harmoni Nurani dan Digitalisasi untuk Membangun Negeri

24 hari yang lalu

[Yogyakarta, 4 Oktober 2025] – Universitas Teknologi Digital Indonesia (UTDI) dengan bangga menyelenggarakan Rapat Senat Terbuka-Wisuda Diploma Tiga, Sarjana, dan Magister Periode II ...

Selengkapnya
Hari Pertama PESONA 2025 di UTDI: Semangat Baru Mahasiswa Baru Menyongsong Dunia Kampus
Hari Pertama PESONA 2025 di UTDI: Semangat Baru Mahasiswa Baru Menyongsong Dunia Kampus

satu bulan yang lalu

[Yogyakarta, 22 September 2025] – Universitas Teknologi Digital Indonesia (UTDI) menggelar hari pertama kegiatan Pengenalan Studi dan Orientasi Kampus (PESONA) 2025 sebagai rangkaian orientasi ...

Selengkapnya
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

satu bulan 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