Bagaimana logika nya ya kak?

Misal ada kegiatan dengan nama dan jumlah bobotnya (AB=3, AC=5, AD=2, AE=8) = 18

lalu di bagi rata secara ber urut ke tiap karyawan. misal ada 2 karyawan.

Si A = AB 1 s.d 3 AC 1 s.d 5 AD 1 = 9

Si B = AD 2 AE 9 = 9

kurang lebih begini, klo di terapkan dalam programman PHP bagaimana ya kak.

Terimakasih banyakk

avatar frs456456
@frs456456

1 Kontribusi 0 Poin

Diperbarui 2 tahun yang lalu

Tanggapan

Sesuaikan judul dengan pertanyaan kamu ya. Baca aturan main cara membuat judul yang baik

iya baik kak

silahkan diganti ya judulunya yang sesuai

1 Jawaban:

<div>Selamat Mencoba :)</div><pre>&lt;?php $events = [ [ 'nama' =&gt; 'AB', 'bobot' =&gt; 3, ], [ 'nama' =&gt; 'AC', 'bobot' =&gt; 5, ], [ 'nama' =&gt; 'AD', 'bobot' =&gt; 2, ], [ 'nama' =&gt; 'AE', 'bobot' =&gt; 8, ] ]; function getTotalBobot($items){ $total_bobot = 0; if(count($items) &lt; 1) return $total_bobot; foreach ($items as $item) { if(isset($item['bobot'])) $total_bobot += $item['bobot']; } return $total_bobot; } $jumlah_karyawan = 2; $total_semua_bobot = getTotalBobot($events); $bobot_per_karyawan = $total_semua_bobot / $jumlah_karyawan; $result = []; echo "&lt;pre&gt;"; for($i = 0; $i &lt; $jumlah_karyawan; $i++){ $result[$i] = []; foreach($events as $key =&gt; $event){ $tmp_total = getTotalBobot($result[$i]);

    if($tmp_total &amp;lt; $bobot_per_karyawan &amp;amp;&amp;amp; $event[&#039;bobot&#039;] &amp;gt; 0){
        if($event[&#039;bobot&#039;] + $tmp_total &amp;gt; $bobot_per_karyawan){
            $sisa = $event[&#039;bobot&#039;] - ($bobot_per_karyawan - $tmp_total);
            if($event[&#039;bobot&#039;] - $sisa &amp;gt; 0){
                $result[$i][] = [
                    &#039;nama&#039; =&amp;gt; $event[&#039;nama&#039;],
                    &#039;bobot&#039; =&amp;gt; $event[&#039;bobot&#039;] - $sisa,
                ];
                $events[$key][&#039;bobot&#039;] = $sisa;
            }
        }else{
            $result[$i][] = $event;
            $events[$key][&#039;bobot&#039;] = 0;
        }   
    }
}

}

print_r($result);</pre>

avatar driyan
@driyan

193 Kontribusi 109 Poin

Dipost 2 tahun yang lalu

Tanggapan

Terimakasih banyak Kak. sangat membantu sekali

Login untuk ikut Jawaban