alexa-tracking
Selamat Guest, Agan dapat mencoba tampilan baru KASKUS Masih Kangen Tampilan Sebelumnya
Kategori
Kategori
Home / FORUM / All / Tech / ... / Programmer Forum /
[ASK] CARA MEMBUAT BILLING WARNET
1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/5396fd398b07e7c17f8b46d8/ask-cara-membuat-billing-warnet

[ASK] CARA MEMBUAT BILLING WARNET

Selamat malam agan", mastah", dkk yg terhormat...

sebelumnya mohon maaf kalo repost(tadi salah kamar), harusnya kesini..

Langsung saja gan, kebetulan ane lagi sedikit bingung, eh banyak deh..
ane dpet tugas dari dosen ane untuk membuat contoh aplikasi/program semacam billing warnet, dengan menggunakan BORLAND C++ BUILDER 6..


Nah maksud ane, mau minta tolong saran dan petuahnya dari agan sekalian buat rancangan beserta listing.nya...Kebetulan wawasan ane soal borland masih cetek, jadi masih agak" bingung gans ini...emoticon-Sorryemoticon-Sorry

Begitu saja gans maksud dari ane ini, mungkin ada dari agan sekalian nyang bisa bantu ane...

Terima kasih sebelumnya gans...


emoticon-I Love Indonesia (S)emoticon-I Love Kaskus (S)
Beri apresiasi terhadap thread ini Gan!
Quote:


Bingung boland-nya saja kan? Logic untuk billing warnetnya sendiri, apa sudah dibuat?
Quote:


Spoiler for seperti ini:


Nah, pengen ngisi yg Durasi itu gmna ya gan ??
ini baru tampilan awalnya saja, seterusnya semua data yg di input di tampilan diatas mu disimpen ke database...

mkasih sbelumnya gan..
Quote:


algoritma durasi:
1. jika jumlah jam < 10 maka print '0'+jam. jika jam>=10 print jam
2. jika jumlah menit < 10 maka print '0'+menit. jika menit>=10 print menit
3. antara jam dan menit print ':'

contoh 1.
jam = 1
menit = 43

output 01:43

contoh 2.
jam =2
menit =3

output 02:03


Diubah oleh a.muariffin
Quote:


trima kasih gan, tapi ane masih bingung cara ng.setnya..
kalo tampilannya pgn kya yg dbawah ini, ada yg bisa bantu untuk listingnya gmna ya gans ??

Spoiler for kaya gini:
Pake komponen TMaskEdit gan, property EditMask diisi '00:00:00;0;0', hasilnya tinggal dipotong 3 bagian: jam, menit, detik.
Quote:


yg pake TMaskEdit itu bagian yg mana saja gan ??


Quote:


kalo di gambar diatas yg pke MaskEdit itu bagian mana saja ya gan ??
kalo bisa, listing untuk yg Awal/Akhir dan Pemakaian itu gmna yaa gan ??
sekedar masukan aja ini gan. ane pernah bikin cuma lupa lagi kurang lebih spt ini
bikin aturan untuk menghitung durasi:
Code:
jml_detik / 3600 = jml_jam
(jml_detik modulus 3600) / 60 = jml_menit
jml_detik modulus 60 = jml_detik


selanjutnya untuk mem-format durasi pemakaian misalnya menggunakan if-else.kurang lebih seperti ini:

Code:
if (jam>10)
{
if(menit>10)
{
if(detik>10)
tulis jam:menit:detik
else
tulis jam:menit:'0'+detik
}
else
{
if(detik>10)
tulis jam:'0'+menit:detik
else
tulis jam:'0'+menit:'0'+detik
}
dst.


contoh:
==>user mulai jam 09:43:37. Saat durasi masih 0 maka:
awal=09:43:37
jml_jam=jml_menit=jml_detik=0
pemakaian: 00:00:00
jamPadaSaatIni = awal = 09:43:37

==>ketika pemakaian 1 detik:
awal=09:43:37
jml_jam=0
jml_menit=0
jml_detik=1
pemakaian: 00:00:01
jamPadaSaatIni = 09:43:38 (yaitu 09+00:43+00:37+01)

==>ketika pemakaian 130 detik, user stop:
awal=09:43:37
jml_jam=0
jml_menit=2
jml_detik=11
pemakaian: 00:02:11
akhir=09:45:48 (yaitu 09+00:43+02:37+11)

dst.

jadi waktu pemakaian selalu berubah setiap detik atau setiap periode yang ditentukan. begitupun dengan biaya.
periode updating-nya itu diset menggunakan timer. Misalkan timer diset setiap detik, maka setiap detik
program menghitung berapa nilai jam, menit, dan detik lalu ditampilan durasi pemakaian dan biaya sampai dengan saat itu.
timer baru stop ketika user berhenti.


untuk menentukan jamPadaSaatIni ( =akhir, ketika user stop) bikin 3 variabel integer masing-masing
jam, menit, dan detik. kemudian melalui timer misalnya setiap detik 3 variabel ini di update.

contoh:
awal: 10:02:59

setelah 1 detik maka:
jamPadaSaatIni = 10:03:00

detik = 59+1 = 60
supaya detik=00, agan bikin kode misalnya:

Code:
if( detik == 60) 
detik = 0;
menit += 1
dst.


kalau ga salah seperti ituemoticon-afro. agan coba-coba aja dulu. sebenernya simple kok, hanya modulus dan pembagian.
Quote:


Mantap gans,,ane coba dulu yaa..:mkasih..2thumbup
Quote:


untuk memasukkan jam emoticon-Malu (S)
Quote:


udah dicoba, tapi gbisa jlanin nya gan..
kalao bikin semacam stopwatch za gmna gan ??
jadi ga perlu pke jam awal dan jam akhir,,cukup stopwatch za nantinya...
Quote:


Kalo di C++ bisa ngambil system time ga sih?
Kalo misalnya bisa, jam awalnya pake jam dari system. (Diambil ketika user klik "mulai")
Ntar jam akhirnya jg diambil dari system ketika user klik "Stop", hasilnya tinggal dikurangin.
Gue ga terlalu paham C++ sih emoticon-Hammer
Quote:


Coba lihat help tentang DateTimeToString dan StrToDateTime.
Diubah oleh peyotpetot
Quote:


batas waktu tinggal 1 hari lagi,,semua design dah kelar,,
tinggal finishing.nya neh :
> nampilin jam[waktu]
> ngitung durasi[pemakaian]
> ngitung biaya
ngubek" listing ga sukses" gans,,
help, help...emoticon-Mewekemoticon-Mewek
Quote:


Di produk Borland, waktu menggunakan tipe TDateTime yang sebenarnya adalah bilangan floating point, dengan angka di depan koma menunjukkan tanggal dan angka di belakang koma menunjukkan waktu di hari itu.

Misal:
12345.50 --> star date 12345, dan jam 12 siang
abcde.75 --> star date abcde, jam 6 sore (18:00)
xxxxx.875 --> jam 9 malam (21:00)

jadi kalo mau tahu jarak waktu, tinggal dikurangi saja:
waktuterpakai = waktuselesai - waktumulai;

Konversi antara TEdit.Text dengan TDateTime dilakukan dengan DateTimeToString dan StrToDateTime.

Seperti saran gw kemaren ... tolong pelajari lagi help file bagian TDateTime. Tekan F1 untuk melihat help file. atau kalo mau versi online-nya juga ada di site embarcadero.

Seperti saran gw, gunakan TMaskEdit untuk meminta input waktu dari user, kemudian hasilnya langsung dikonversi ke TDateTime dengan menggunakan function StrToDateTime.

Dari situ, tinggal loe lakukan pengurangan biasa, dapat beda waktu antara mulai dan selesai. Terus dikalikan dengan harga per jam, selesai.

emoticon-Cool
Diubah oleh peyotpetot
#include<time.h>
#include<stdio.h>
#include<stddef.h>
int main() {
struct tm *ptr;
time_t tl,tl2;
int c;
lt=time(0);
ptr=localtime(&tl);
printf("AWAL-->%d:%d:%d\n",(ptr->tm_hour),(ptr->tm_minute),(ptr->tm_sec));
printf("tunggu beberapa saat lalu masukan integer: ");
scanf("%d",&c);
ltx2=time(0);
ptr=localtime(&tl2);
printf("AKHIR-->%d:%d:%d\n", (ptr->tm_hour),(ptr->tm_minute), (ptr->tm_sec));
printf("DURASI-->%.0f detik\n",difftime(tl2,tl));
return 0;
}
output:
AWAL-->jam sekarang
AKHIR-->jam selesai
DURASI--> durasi dalam detik

kalau jam saat ini ingin ditampilkan secara real time agan tinggal ambil rutin untuk menampilkan jam mulai lalu masukan ke timer dengan interval 1 detik. lalu tampilkan ke TEdit.

untuk biaya agan tinggal sesuaikan dengan durasi. semoga membantu emoticon-Smilie
Diubah oleh a.muariffin
Terima kasih agan semuanya atas bantuannya,,satu demi satu problem yg ditemuin bisa teratasi..
tapi masih ada satu lagi ganjalan neh, yaitu ng.hitung durasi, seperti dibawah ini[ini contoh program yg sya buat] :

Spoiler for :


udah sya coba beberapa cara[rumus], namun ga berhasil untuk menghitung durasi itu gan..


×
GDP Network
© 2018 KASKUS, PT Darta Media Indonesia. All rights reserved
Ikuti KASKUS di