penjelasannya mantap mr.. ternyata dari 1 kasusnya pak hendrik, kalo dijabarkan bisa sampai segitu banyak ilmu yang didapat..
syukron atas ilmunya.. semoga menjadi berkah untuk semua. Aamiin.. Wassalam, -MJR- Pada 11 April 2013 12.11, Mr. Kid <[email protected]> menulis: > ** > > > kenapa bisa beda begitu ya? padahal berjalan di mesin yang sama > >> bisa jadi, untuk awal kegiatan, akan ada banyak penyesuaian dan > inisialisasi didalam sana. saya ndak tahu persis apa saja yang terjadi. > Anggap saja sebuah pengkondisian. > > > mungkin bisa dijelaskan mr.. sekalian tanya gimana cara kok tau harus > memilih script ini: > private declare function QueryPerformanceCounter Lib "kernel32.dll" (ByRef > lpPerformanceCount As LARGE_INTEGER) As Long > >> hehehehe... kalo dijawab hafalan pasti ndak terima. > kira-kira gini : > 1. waktu itu ada dua sisi, yaitu sisi makro dan sisi mikro. > Sisi makro adalah dari tahun sampai ketepatan 1 detik > Sisi mikro adalah antara 0 dan 1 detik. > Jadi, untuk menghitung waktu proses yang sangat cepat, perlu ketepatan > yang tinggi, yaitu di sisi mikro > > 2. rentang dari 0 sampai 1 detik itu bisa dipecah menjadi banyak, misal > per milidetik,mikro detik, atau nanodetik, dsb. > > 3. Biasanya, untuk sisi mikro ini akan dimulai dengan penggunaan timer > seperti : > dim dblTime as double > dbltime=timer > 'proses > dbltime=timer-dbltime > debug.print "waktu proses : " & dbltime & " detik" > Coba lihat hasilnya, ada angka didepan koma (detik) dan dibelakang koma > (bisa sampai milidetik) > Yang perlu dipahami adalah lompatan dari satu tik waktu ke tik waktu > berikutnya tidaklah per 1 milidetik, melainkan bisa mencapai 55 milidetik > > 4. Yang lebih tinggi dari timer adalah GetTickCount, hanya saja kadang > kala lompatan tik ke tik nya bisa 55 milidetik juga walau biasanya 10 > milidetik. Fungsi ini adalah fungsi WinAPI dan silakan cari di internet > tentang detil duduk perkara si GetTickCount ini. > > 5. Yang lebih tinggi lagi dari GetTickCount adalah yang sampai pada > sedekat mungkin menghitung clock komputer. > Masih ingat bukan bahwa clock komputer seperti 2.3GHz artinya ada 2.3G tik > per detik. > Jadi, jika bisa mendapatkan nilai waktu dari satu tik ke tik berikutnya > yang sangat rapat, maka pastilah harus yang mendekati frekuensi clock > komputer tadi. > Fungsi QueryPerformanceCounter adalah yang paling mendekatinya, karena > bisa sampai mencatat 1.000.000.000 tik per detiknya. > > 5. Jadi, dengan bekal keinginan untuk tahu cara membaca tik komputer > setepat mungkin, maka akan bertemulah dengan fungsi > QueryPerformanceCounter > > 6. Fungsi QueryPerformanceCounter punya teman namanya > QueryPerformanceFrequency > Karena ada Frequency nya, berarti yang dihitung bukan tik nya tapi > frekuensi per detik. > Jika diterapkan pada kasus tadi, maka yang didapat adalah nilai frekuensi > nya. > Nah kalau counternya 1000000000 tik per detik, maka kalau cara 1 diproses > sebanyak 1000 tik, maka frekuensinya 1000/1000000000 > hehehe bakal ruwet bacanya kali ya.... > > kira-kira demikianlah... > > Wassalam, > Kid. > > > > 2013/4/11 Jan Raisin <[email protected]> > >> ** >> >> >> tetap lebih cepat cara 2 mr. Kid >> >> tapi gini: >> cara 1 di atas hasilnya: cara 2 lebih cepat 8x >> cara 2 di atas hasilnya: cara 2 lebih cepat 4x >> >> kenapa bisa beda begitu ya? padahal berjalan di mesin yang sama >> os : Win7 Ultimate 32-bit >> proc : corei5 2,3Ghz >> Ram : 2GB >> excel: 2K10 >> >> mungkin bisa dijelaskan mr.. sekalian tanya gimana cara kok tau harus >> memilih script ini: >> private declare function QueryPerformanceCounter Lib "kernel32.dll" >> (ByRef lpPerformanceCount As LARGE_INTEGER) As Long >> >> Wassalam, >> >> -MJR- >> >> >> >> Pada 11 April 2013 11.35, Mr. Kid <[email protected]> menulis: >> >> ** >>> >>> >>> eh... tapi, >>> (mumpung ada yang nyoba wakakaka) >>> >>> gimana kalau posisi dibalik, >>> cara 2 di atas dan cara 1 dibawah >>> hasilnya seperti apa ya >>> >>> ty >>> >>> Wassalam, >>> Kid >>> >> > >

