Jump to content
faridKJ

Pengiraan Peratusan Kedatangan Pelajar...urgent

Recommended Posts

ok..aku perlukan bantuan semua programmer PHP yg ada kat sini...

aku tgh wat projek pasal kedatangan pelajar kat kolej aku..

skang group aku tgh pening kepala mcm maner nk kira peratusan ketidakhadiran pelajar..

sistem kitorang nih kene kira secara automatik dari database kedatangan pelajar sama ada pelajar x hadir 5%,10% dan 15% daripada 100% kehadiran..

kire nyer kalu dalam satu semester untuk satu subjek ader 42 kali kelas tp pelajar x datang sebanyak 4 atau 5 kali...

so kene kira peratusan ketidakhadiran pelajar tuh ar....

so harap ader programmer PHP yg dapat membantu group aku....

Share this post


Link to post
Share on other sites

Aku bukanlah pandai PHP pun tapi rasanya ni takda kaitan dengan PHP. Ni masalah dengan pengiraan, tak kira language apa pun, cara pengiraan tu yang penting.

Katakan nak kira kehadiran seorang pelajar yang ambil 20 mata pelajaran. Jumlah kehadiran harus dalam 20 kelas tu adalah 20 kali, bermakna tak hadir sebanyak 4 kali. Nak kira ketidak hadiran dia senang je:

jumlah % ketidak hadiran = (jumlah tidak hadir / jumlah harus hadir) * 100

Contoh:

jumlah % tidak hadir = (4 / 20) * 100

jumlah % tidak hadir = (1 / 5) * 100

jumlah % tidak hadir = 20%

Cuma bahagian ni aku tak faham:

sistem kitorang nih kene kira secara automatik dari database kedatangan pelajar sama ada pelajar x hadir 5%,10% dan 15% daripada 100% kehadiran..

Kenapa mesti ada nilai peratus tertentu sahaja? Kenapa nilai peratus tu bukan pengubahsuai?

Untuk bahagian nak ambil data daripada DB tu kena tengok juga apa jenis DB yang kau gunakan. Tapi aku rasa kau mesti guna mysql. Dan PHP ada documentation pasal mysql ni (DB lain ada juga). Rajin-rajin buka PHP.net untuk rujukan.

Ni pendapat aku la, pada yang pakar kiranya silap harap perbetulkan B)

Edited by SHiDi

Share this post


Link to post
Share on other sites

nak tanya,

ko dah buat berapa table

untuk sistem student attendance ko ni???

ko kata "kene kira secara automatik dari database kedatangan pelajar"

kalau gitu aku anggap struktur table ko mcm ni

Kelas_1

nama, 1,2,., 50

ali , ada,ada,takde,ada, ..., ...

jadi kalau nak kira berapa kali tak datang???

mcm payah pulak nak kira

tukar laa

Kelas_1

nama, jumlah_wajib_datang, kedatangan

ali, 1, ada

ali, 2, takde

....

jadi kalau nak kira satu aje student

tak datang berapa kali

select nama, count(*) as tak_datang
from Kelas_1
where nama = 'ali' 
and kedatangan = 'takde'
katakan hasilnya dapat 5 kali kalau nak kira peratusan
...
$result=mysql_query($sql) or die (mysql_error()."<hr>$sql<hr>");
$bil_tak_datang=mysql_num_rows($result);
$bil_wajib_datang=50;

$peratusan= (bil_tak_datang/$bil_wajib_datang) * 100;

tapi ni untuk satu student

kalau ramai ...

kena pandai kembangkan idea ni laa

kalau ko nak kira terus dari sql pun boleh

asalkan ko tahu mcm mana nak dapatkan

bilangan student tak hadir kelas

kalau tak payah tu. :lol:

macam mana pun, ko kena bagitau

mcm mana ko buat table,

barapa banyakk ko buat table

ada medan2 yg terlibat

lebih baik, bagi data sample ker

jadi dari situ, kita orang boleh semak

sama ada boleh dapatkan peratusan dari sql

ataupun kena pakai kiraan matematik php.

takkan nak kira peratusan ko tak geti nak buat.

atau pihak kolej ko ada formula tertentu mcm mana

nak buat kiraaan :D

Share this post


Link to post
Share on other sites

kira konsep dia macam nie la:

Table Student & Table Kedatangan (related)

Dalam Table Kedatangan ada 4 column.

Col 1 --> BilHadir

Col_2 --> BilTakHadir

Col_3 --> JumlahHadir (constant - Col_2)

Col 4 --> PeratusKehadiran (Col_3 / constant x 100)

Dapat la % kedatangan.

Betul ke macam nie konsep dia?

:D

Edited by PowerRootTongkatAli_GS

Share this post


Link to post
Share on other sites

Aku bukanlah pandai PHP pun tapi rasanya ni takda kaitan dengan PHP. Ni masalah dengan pengiraan, tak kira language apa pun, cara pengiraan tu yang penting.

Katakan nak kira kehadiran seorang pelajar yang ambil 20 mata pelajaran. Jumlah kehadiran harus dalam 20 kelas tu adalah 20 kali, bermakna tak hadir sebanyak 4 kali. Nak kira ketidak hadiran dia senang je:

jumlah % ketidak hadiran = (jumlah tidak hadir / jumlah harus hadir) * 100

Contoh:

jumlah % tidak hadir = (4 / 20) * 100

jumlah % tidak hadir = (1 / 5) * 100

jumlah % tidak hadir = 20%

Cuma bahagian ni aku tak faham:

Kenapa mesti ada nilai peratus tertentu sahaja? Kenapa nilai peratus tu bukan pengubahsuai?

Untuk bahagian nak ambil data daripada DB tu kena tengok juga apa jenis DB yang kau gunakan. Tapi aku rasa kau mesti guna mysql. Dan PHP ada documentation pasal mysql ni (DB lain ada juga). Rajin-rajin buka PHP.net untuk rujukan.

Ni pendapat aku la, pada yang pakar kiranya silap harap perbetulkan B)

ohh pasal yg tuh sebab polisi kolej kitorang, kalau student tuh x dtg hingga 15% drpd 100% kedatangan die org, student tuh kene halang dr amik exam...

pasal tuh ar ader percentage...

Share this post


Link to post
Share on other sites

ohh pasal yg tuh sebab polisi kolej kitorang, kalau student tuh x dtg hingga 15% drpd 100% kedatangan die org, student tuh kene halang dr amik exam...

pasal tuh ar ader percentage...

tapi kan faridKJ,

macam mana pun kita org nak tahu juga

mcm mana group ko buat database

dan berapa table terlibat dalam kiraan peratusan

table ko mcm PowerRootTongkatAli_GS punya cara ker???

Share this post


Link to post
Share on other sites

nak tanya,

ko dah buat berapa table

untuk sistem student attendance ko ni???

ko kata "kene kira secara automatik dari database kedatangan pelajar"

kalau gitu aku anggap struktur table ko mcm ni

Kelas_1

nama, 1,2,., 50

ali , ada,ada,takde,ada, ..., ...

jadi kalau nak kira berapa kali tak datang???

mcm payah pulak nak kira

tukar laa

Kelas_1

nama, jumlah_wajib_datang, kedatangan

ali, 1, ada

ali, 2, takde

....

jadi kalau nak kira satu aje student

tak datang berapa kali

select nama, count(*) as tak_datang
from Kelas_1
where nama = 'ali' 
and kedatangan = 'takde'
katakan hasilnya dapat 5 kali kalau nak kira peratusan
...
$result=mysql_query($sql) or die (mysql_error()."<hr>$sql<hr>");
$bil_tak_datang=mysql_num_rows($result);
$bil_wajib_datang=50;

$peratusan= (bil_tak_datang/$bil_wajib_datang) * 100;

tapi ni untuk satu student

kalau ramai ...

kena pandai kembangkan idea ni laa

kalau ko nak kira terus dari sql pun boleh

asalkan ko tahu mcm mana nak dapatkan

bilangan student tak hadir kelas

kalau tak payah tu. :lol:

macam mana pun, ko kena bagitau

mcm mana ko buat table,

barapa banyakk ko buat table

ada medan2 yg terlibat

lebih baik, bagi data sample ker

jadi dari situ, kita orang boleh semak

sama ada boleh dapatkan peratusan dari sql

ataupun kena pakai kiraan matematik php.

takkan nak kira peratusan ko tak geti nak buat.

atau pihak kolej ko ada formula tertentu mcm mana

nak buat kiraaan :D

thanxx..

kitorang dh try satu cara and dpt gk result cume kitorang x tau mcm maner plak ngan pihak kolej kitorang..

so nnti aku cuba tunjuk kat korang mcm maner stuktur database tuh

Share this post


Link to post
Share on other sites

ohh pasal yg tuh sebab polisi kolej kitorang, kalau student tuh x dtg hingga 15% drpd 100% kedatangan die org, student tuh kene halang dr amik exam...

pasal tuh ar ader percentage...

OIC. Camtu kena ada tambahan IF statement. Senang jek.

Untuk table structure, aku rasa abang PowerRootTongkatAli_GS punya memang dah power dah pun, (abang amin007 punya power gak, cuma aku prefer PowerRootTongkatAli_GS punya :P):

Dalam Table Kedatangan ada 4 column.

Col 1 --> BilHadir

Col_2 --> BilTakHadir

Col_3 --> JumlahHadir (constant - Col_2)

Col 4 --> PeratusKehadiran (Col_3 / constant x 100)

Cuma aku cadangkan cuma store Bilangan Tak Hadir sahaja dalam table. Yang lain, kehadiran penuh simpan dalam file config supaya senang nak diubah dari semasa ke semasa. Untuk jumlah kehadiran dan peratus kehadiran, memandangkan nilainya akan berubah ubah, elok jangan disimpan dalam DB. Biar di generate dan re-calculate setiap masa. Dan untuk Bilangan Hadir tak perlu juga simpan rasanya, cuma re-calculate juga setiap masa.

Struktur aku cadangkan:

Table: pelajar

Columns: id_pelajar(PK), nama_pelajar

dan

Table: kelas

Columns: id_kelas(PK), nama_kelas

dan

Table: kehadiran_pelajar

Columns: id_pelajar (FK), id_kelas(FK), jumlah_tidak_hadir

Kenapa guna dua FK kat kehadiran_pelajar dan tiada PK? Sebab dalam table ni tak boleh ada unique key memandangkan ada 1 pelajar akan ambil 2 atau lebih kelas, tetapi rujukan tetap diperlukan.

Sekadar cadangan B)

Edited by SHiDi

Share this post


Link to post
Share on other sites

tapi kan faridKJ,

macam mana pun kita org nak tahu juga

mcm mana group ko buat database

dan berapa table terlibat dalam kiraan peratusan

table ko mcm PowerRootTongkatAli_GS punya cara ker???

x same mcm dier nyer..

tp lebih kurang mcm yg ko tunjuk tu,yg first tuh..

kelas_1 yg mane akan ader list nama pelajar untuk kelas tu..

so dlm kelas_1 tuh, bile pelajar yg tak hadir so dlm collum kehadiran die kosong ar..

so mmg ar susah skit tp kitorang dh dpt pertusan tu cuma nk tunjuk dpn supervisor dulu sama dpt terima @ tak...

nnti aku tunjuk mcm maner pengiraan kitorang tuh ok.. thanxx.

OIC. Camtu kena ada tambahan IF statement. Senang jek.

Untuk table structure, aku rasa abang PowerRootTongkatAli_GS punya memang dah power dah pun, (abang amin007 punya power gak, cuma aku prefer PowerRootTongkatAli_GS punya :P):

Cuma aku cadangkan cuma store Bilangan Tak Hadir sahaja dalam table. Yang lain, kehadiran penuh simpan dalam file config supaya senang nak diubah dari semasa ke semasa. Untuk jumlah kehadiran dan peratus kehadiran, memandangkan nilainya akan berubah ubah, elok jangan disimpan dalam DB. Biar di generate dan re-calculate setiap masa. Dan untuk Bilangan Hadir tak perlu juga simpan rasanya, cuma re-calculate juga setiap masa.

Struktur aku cadangkan:

Table: pelajar

Columns: id_pelajar(PK), nama_pelajar

dan

Table: kelas

Columns: id_kelas(PK), nama_kelas

dan

Table: kehadiran_pelajar

Columns: id_pelajar (FK), id_kelas(FK), jumlah_tidak_hadir

Kenapa guna dua FK kat kehadiran_pelajar dan tiada PK? Sebab dalam table ni tak boleh ada unique key memandangkan ada 1 pelajar akan ambil 2 atau lebih kelas, tetapi rujukan tetap diperlukan.

Sekadar cadangan B)

hmm..

struktur database kitorang ngan yg ko cadangkan tuh ader persamaan gak ar..

ader table student, table subjek, table student attendance..

tp dlm student attendance nyer table lebih kurang yg mcm aku terangkan dkt bro amin007..

and dh dpt gak ar carik peratusan tuh..

so nnti kitorang akan tunjukkan mcm maner kitorang dpt carik biler dh dpt pelepasan dr supervisor kitorang...

Share this post


Link to post
Share on other sites

x same mcm dier nyer..

tp lebih kurang mcm yg ko tunjuk tu,yg first tuh..

kelas_1 yg mane akan ader list nama pelajar untuk kelas tu..

so dlm kelas_1 tuh, bile pelajar yg tak hadir so dlm collum kehadiran die kosong ar..

so mmg ar susah skit tp kitorang dh dpt pertusan tu cuma nk tunjuk dpn supervisor dulu sama dpt terima @ tak...

nnti aku tunjuk mcm maner pengiraan kitorang tuh ok.. thanxx.

hmm..

struktur database kitorang ngan yg ko cadangkan tuh ader persamaan gak ar..

ader table student, table subjek, table student attendance..

tp dlm student attendance nyer table lebih kurang yg mcm aku terangkan dkt bro amin007..

and dh dpt gak ar carik peratusan tuh..

so nnti kitorang akan tunjukkan mcm maner kitorang dpt carik biler dh dpt pelepasan dr supervisor kitorang...

ala, siap nak mintak kelepasan dari supervisor :D

bagilah data olok2 pun boleh,

kurang2 kita org tahu berapa banyak medan yg ada

jangan laa bagi data betul-betul

aku pun tak bagi data betul2 jika ada masalah :P

Edited by amin007

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...