Oleh: Rony Syahputra Nasution | Agustus 26, 2009

Antara Excel, PHP dan Alur Source Code

Lagi ada kerjaan,
membuat sistem perhitungan,
katanya “Well Directional Drilling”.

Awalnya,
dikerjakan oleh Ms. Excel 2003,
di migrasi ke bahasa pemrograman,
PHP.

Tidak sengaja,
memperhatikan perbedaan antara,
konsep logika pemrograman,
di Excel dan PHP,
yang terdapat pada sebuah kolom.

Code di Excel
=IF(AND($V$6<45,$U$6=”S”,$W$6=”E”),-(I18*COS(($V$6)/57.29578)),
IF(AND($V$6<45,$U$6=”S”,$W$6=”W”),-((I18*COS(($V$6)/57.29578))),
IF(AND($V$6<45,$U$6=”N”,$W$6=”E”),(I18*COS(($V$6)/57.29578)),
IF(AND($V$6<45,$U$6=”N”,$W$6=”W”),((I18*COS(($V$6)/57.29578))),
IF(AND($V$6>=45,$U$6=”N”,$W$6=”E”),(I18*COS((90-$V$6)/57.29578)),
IF(AND($V$6>=45,$U$6=”N”,$W$6=”W”),(I18*COS((90-$V$6)/57.29578)),
IF(AND($V$6>=45,$U$6=”S”,$W$6=”E”),-(I18*COS((90-$V$6)/57.29578)),
-(I18*COS((90-$V$6)/57.29578)))))))))

Code di PHP
if(($azimuth_2 < 45) AND (strtoupper($azimuth_1 == “S”)) AND (strtoupper($azimuth_3 == “E”)))
{
 $cco_cos = number_format(-($dhd * cos($azimuth_2 / 57.29578)), 2);
}
else if(($azimuth_2 < 45) AND (strtoupper($azimuth_1 == “S”)) AND (strtoupper($azimuth_3 == “W”)))
{
 $cco_cos = number_format(-($dhd * cos($azimuth_2 / 57.29578)), 2);
}
else if(($azimuth_2 < 45) AND (strtoupper($azimuth_1 == “N”)) AND (strtoupper($azimuth_3 == “E”)))
{
 $cco_cos = number_format(($dhd * cos($azimuth_2 / 57.29578)), 2);
}
else if(($azimuth_2 < 45) AND (strtoupper($azimuth_1 == “N”)) AND (strtoupper($azimuth_3 == “W”)))
{
 $cco_cos = number_format(($dhd * cos($azimuth_2 / 57.29578)), 2);
}
else if(($azimuth_2 >= 45) AND (strtoupper($azimuth_1 == “N”)) AND (strtoupper($azimuth_3 == “E”)))
{
 $cco_cos = number_format(($dhd * cos((90 – $azimuth_2) / 57.29578)), 2);
}
else if(($azimuth_2 >= 45) AND (strtoupper($azimuth_1 == “N”)) AND (strtoupper($azimuth_3 == “W”)))
{
 $cco_cos = number_format(($dhd * cos((90 – $azimuth_2) / 57.29578)), 2);
}
else if(($azimuth_2 >= 45) AND (strtoupper($azimuth_1 == “S”)) AND (strtoupper($azimuth_3 == “E”)))
{
 $cco_cos = number_format(-($dhd * cos((90 – $azimuth_2) / 57.29578)), 2);,
}
else if(($azimuth_2 >= 45) AND (strtoupper($azimuth_1 == “S”)) AND (strtoupper($azimuth_3 == “W”)))
{
 $cco_cos = number_format(-($dhd * cos((90 – $azimuth_2) / 57.29578)), 2);
}

Sebenarnya kedua versi code diatas,
bisa diringkas,
dengan menambahkan fungsi OR.

Tapi,
untuk menghindari kesalahan,
dan QC,
biarlah panjang2 he he he ^_^.

Terlepas itu,
coba perhatikan,
bagaimana perbedaan Excel dan PHP,
dalam menerima perintah eksekusi,
dari source code,
beda yah..hehe.

Dah ah ngelanturnya,
nanti perhitungan Directional Drilling,
Ga selesai2 hehe ^_^.

 

Semoga bermanfaat.

 

Salam dari Cirebon,
Rony Syahputra N.


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

%d blogger menyukai ini: