Kronologger

15 08 2007

2 hari yang lalu, ikutan signup ke kronologger.com.
Penjelasan tentang kronologger : kronologger.com adalah layanan micro-blogging, yaitu aktivitas ngeblog dengan posting-posting singkat yang menceritakan apa yang sedang Anda kerjakan; di mana; dengan siapa; mengapa; dan bagaimana kejadian atau peristiwa berlangsung. Semacam pengalaman dan observasi singkat on the spot. Jadi statusnya ‘almost real-time’. Karena micro-blogging juga dikenal dengan istilah mobile-blogging, maka posting kronologger.com akan lebih asyik dilakukan secara mobile pula; pakai ponsel atau PDA, misalnya.
monggo, silahkan daftar aja disini

Powered by ScribeFire.





Akhirnya bisa on line lagi

3 05 2007

Setelah 1 bulan kerja tanpa internet dedicated, akhirnya tanggal 1 mei kemaren udah bisa internetan lagi. Sekarang koneksinya pake speedy. ya, biarpun gak dapet ip public, tapi untuk browsing, chating, download masih lancar. karena gak bisa hosting mail server sendiri, akhirnya mail nya pindah ke google. mail saya sekarang mamadh.ooy@gmail.com

Powered by ScribeFire.





Fungsi Terbilang di SQL Server

5 03 2007

Kemaren dapet kasus untuk menampilkan terbilang dalam bahasa indonesia di Crystal Report. klo reportnya hanya 1 halaman, bisa dengan cara diproses di vb dulu, baru di lempar ke parameter field di CR. untuk report yg lebih dari 1 halaman, dan masing2x halaman mewakili record yg berbeda, terbilangnya tidak bisa di lewatkan parameter field, sebab, klo dilewatkan parameter field, antara halaman 1 dengan yg lain, terbilangnya akan sama, walaupun nilai rupiah nya berbeda.
untuk mengatasi hal tersebut, akhirnya dibuat saja fungsi terbilang di sql server. sehingga terbilangnya akan muncul di query nya.
Fungsi terbilang ini dibuat oleh mas Arif Hidayat.

CREATE FUNCTION [DBO].[TerbilangDetil] (@Nilai as decimal) 
RETURNS varchar(200) AS 
BEGIN
declare @TS varchar(200), @ST varchar(200), @S integer, @p integer, @r1 integer, @Bil varchar(200), @TP varchar(200), @hasil varchar(200)
    set @ST = Right(rTrim(Str(@Nilai + 1000)), 3)
    set @S = cast(Right(@ST, 1) as integer)
    set @p = cast(substring(@ST, 2, 1) as integer)
    set @r1 = cast(Left(@ST, 1) as integer)
    set @Bil = ‘Satu    Dua     Tiga    Empat   Lima    ‘
    set @Bil = @Bil + ‘Enam    Tujuh   Delapan Sembilan’
   
    If @S = 0
        set @TS = ”
    Else
        set @TS = rTrim(substring(@Bil, @S * 8 – 7, 8)) + ‘ ‘
       
    If @p = 0
        set @TP = @TS
    Else
        If @p = 1
            If @S = 0
                set @TP = ‘Sepuluh ‘
            Else
                If @S = 1
                    set @TP = ‘Sebelas ‘
                Else
                    set @TP = rTrim(substring(@Bil, @S * 8 – 7, 8)) + ‘ Belas ‘
        Else
            set @TP = rTrim(substring(@Bil, @p * 8 – 7, 8)) + ‘ Puluh ‘ + @TS
       
    If @r1 = 0
        set @hasil = @TP
    Else
        If @r1 = 1
            set @hasil = ‘Seratus ‘ + @TP
        Else
            set @hasil = rTrim(substring(@Bil, @r1 * 8 – 7, 8)) + ‘ Ratus ‘ + @TP
return @hasil
END

CREATE FUNCTION [dbo].[terbilang] (@angka as decimal(19,2)) 
RETURNS varchar (200) AS 
BEGIN
Declare @b Decimal, @r Decimal, @J Decimal, @M Decimal, @T1 Decimal, @koma1 Decimal, @koma2 Integer, @hasil varchar(200)
Declare @s_t varchar(200), @ribu varchar(200), @Juta varchar(200), @Miliar varchar(200), @tx varchar(200), @angka1 varchar(200), @tx1 varchar(200)
set @s_t = case when Len(rTrim(cast(cast(@Angka as bigint) as varchar(20)))) < 15
        then replicate(‘0′,15 – Len(rTrim(cast(cast(@Angka as bigint) as varchar(20))))) + rTrim(cast(cast(@Angka as bigint) as varchar(20)))
        else rTrim(cast(cast(@Angka as bigint) as varchar(20)))
         end
–set @z = cast(15 – Len(rTrim(cast(cast(@Angka as integer) as varchar(20)))) as varchar(20))
–+ rTrim(cast(cast(@Angka as integer) as varchar(20)))
set @r = cast(Right(@s_t, 3) as integer)
set @b = cast(substring(@s_t, 10, 3)  as integer)
set @J = cast(substring(@s_t, 7, 3)  as integer)
set @M = cast(substring(@s_t, 4, 3)  as integer)
set @T1 = cast(Left(@s_t, 3)  as integer)
set @ribu = case when @b = 0 then ‘ ‘ else case when @b = 1 then ‘Seribu’ else [dbo].TerbilangDetil(@b) + ‘Ribu’ end end
set @Juta = case when @J = 0 then ‘ ‘ else [dbo].TerbilangDetil(@J) + ‘Juta ‘ end
set @Miliar = case when @M = 0 then ‘ ‘ else [dbo].TerbilangDetil(@M) + ‘Miliar’ end
set @tx = Case
    when @Angka < 1000 –&& Ratusan
                then [dbo].TerbilangDetil(@r)
        when @Angka < 1000000 –&& Ribuan
                then @ribu + ‘ ‘ + [dbo].TerbilangDetil(@r)
        when @Angka < 1000000000 –&& Jutaan
                then [dbo].TerbilangDetil(@J) + ” + rTrim(‘Juta ‘ + @ribu) + ‘ ‘ + [dbo].TerbilangDetil(@r)
    when @Angka < 1000000000000 –&& Miliaran
                then [dbo].TerbilangDetil(@M) + ” + rTrim(‘Miliar ‘ + @Juta + @ribu) + ‘ ‘ + [dbo].TerbilangDetil(@r)
        when @Angka >= 1000000000000 –&& Trilliun
                then [dbo].TerbilangDetil(@T1) + ” + rTrim(‘Trilliun ‘ + @Miliar + @Juta + @ribu) + ‘ ‘ + [dbo].TerbilangDetil(@r)
End
set @angka1 = rTrim(cast(@Angka as varchar(20)))
set @koma1 = case when charindex(‘.’, @angka1) = 0 then 0 else cast(rTrim(substring(@angka1, charindex(‘.’,@angka1) + 1, 2)) as integer) end
set @koma2 = Len(case when charindex(‘.’,@angka1) = 0 then ‘0′ else rTrim(substring(@angka1, charindex(‘.’,@angka1) + 1, 2)) end)
If @koma1 > 0
begin
    If @koma1 < 10 And @koma2 = 1
    set @koma1 = @koma1 * 10
    set @tx1 = [dbo].TerbilangDetil(@koma1)
    set @hasil = @tx + ‘Rupiah ‘ + @tx1 + ‘Sen’
end
Else
    set @hasil = @tx + ‘Rupiah’
return (@hasil)
END

powered by performancing firefox





Apakah Microsoft Product ya yang jadi “Selimut Penenang” saya?

22 12 2006

Habis ngeblog artikel dari detikportal tentang “Selimut Penenang”, sempet merenung juga. Selama ini, dalam dunia kerja madhi, biasa menggunakan microsoft product. Dari OS, Office Application, IDE, Database Server. memang ada sih beberapa aplikasi yg udah gak pake microsoft product, misal nya firefox, thunderbird, yahoo messenger. tapi aplikasi2x tadi cuman jadi pendukung saja dari kerjaan sehari-hari.
beberapa hari ini, dimilis yg madhi ikuti juga lagi sering membahas teknologi alternatif pengganti microsoft product. dari milis warnet sampe milis pemrograman. dari situ akhirnya jadi timbul pertanyaan, apakah selama ini, microsoft product telah menjadi “selimut penenang” buat saya?
klo dilihat, rasanya seperti itu. misalnya dalam database, madhi merasa sreg sekali jika menggunakan ms access or sql server, sampai2x membuat modul agar dengan 1 perintah, bisa kerja di ke2 db tadi. kemudian, IDE. kalo gak pake visual studio, rasanya gak enak..hehehe..
kayaknya kok jadi terbatasi oleh teknologi tersebut ya? apa mungkin sekarang udah saat nya untuk membuang “selimut penenang” tersebut ya?
IYA, saat nya untuk membuang selimut itu, tapi kayaknya bertahap dulu, tidak bisa langsung membuang semuanya.
semoga madhi diberi kekuatan untuk bisa membuang “selimut penenang”. amin…

powered by performancing firefox





Singkirkan “Selimut Penenang”

18 12 2006

detikPORTAL: Partner [Layanan Premium dari detikCOM]

Jakarta, Anak-anak memiliki “selimut penenang” sebelum tidur. Sementara kita yang sudah dewasa mungkin juga memiliki ”selimut penenang” ketika menjalani hidup. Boleh jadi “selimut penenang” kita adalah pekerjaan kita, jabatan kita, posisi dan status kita saat ini.

Tiga dari empat anak saya memiliki kebiasaan yang unik sebelum tidur. Anak yang pertama, sebelum tidur harus menggigit ujung bantal. Anak kedua, harus diselimuti dengan kasur lipat. Sementara si bungsu memiliki kebiasaan harus memegang kain lap untuk ditempelkan di pipi. Kemana pun mereka pergi, harus membawa “selimut” tersebut. Kami menyebutnya “selimut penenang”.

Apabila sebelum tidur mereka tidak menemukan “selimut penenang” itu, dipastikan anak saya akan sulit tidur dan tidak akan bisa tidur nyenyak. Ketiga anak saya itu tidak peduli “selimut penenang” itu, kusut, kumel, mengeluarkan aroma tak sedap, dan kotor. Tapi entah kenapa, mereka justeru bisa tidur nyenyak bila tidur ditemani “selimut penenang” yang sudah tidak layak pakai itu. Kami yang melihat dan melayani mereka terkadang merasa ‘risih’ dengan tingkah polah anak kami.

Saya masih ingat ketika kasur lipat yang sudah sangat tidak layak pakai saya buang, anak kedua saya sangat marah. Dia sulit tidur malam itu. Dia tidak bisa saya ajak bicara. Dia tutup pintu kamarnya. Semalaman dia menangis.

Keesokan harinya, saya meminta maaf kepada anak saya dan kemudian saya katakan “kamu sekarang sudah kelas empat. Apakah kamu tidak malu kalau temen-temen sekolah tahu kamu tidur harus pakai kasur butut? Kamu setiap bulan harus ke dokter boleh jadi karena kasur lipat yang lecek itu. Bapak yakin kamu akan tambah sehat tanpa kasur lipat itu.”

Malam berikutnya anak saya masih agak gelisah sebelum tidur. Namun akhirnya kebiasaan itu berangsur dilupakan. Dan yang sangat saya syukuri, tiga tahun sudah kasur lipat itu saya buang dan tiga tahun pula saya sudah tidak lagi mengantar anak saya ke dokter.

Anak-anak memiliki “selimut penenang” sebelum tidur. Sementara kita yang sudah dewasa mungkin juga memiliki “selimut penenang” ketika menjalani hidup. Boleh jadi “selimut penenang” kita adalah pekerjaan kita, jabatan kita, posisi, dan status kita saat ini.

Coba renungkanlah. Apa yang anda takutkan hilang saat ini? Apakah yang anda takutkan hilang itu justeru membuat anda sering sakit? Membuat orang lain merendahkan anda? Orang lain di dekat anda merasa risih dengan itu? Apakah yang anda takutkan hilang itu justru membuat anda tidak percaya diri? Kalau sebagian besar pertanyaan itu jawabannya adalah YA, itulah “selimut penenang” anda.

Saatnya anda membuang “selimut penenang” itu. Sebab boleh jadi, itulah yang membuat anda terlena dengan kondisi saat ini. Membuat anda nyaman padahal sesungguhnya hal itu mendatangkan penyakit dan menyebabkan anda kurang percaya diri. Membuat anda enggan berpetualang mencoba hal-hal yang baru, menghambat kreativitas dan menjadikan hidup anda monoton.

“Selimut penenang” menghantarkan anda tertidur di saat orang lain berlomba menyongsong perubahan yang begitu cepat. “Selimut penenang” telah membuat anda nyaman dan nikmat sehingga anda enggan berlomba meraih prestasi yang lebih tinggi. “Selimut penenang” hanya akan menjadikan anda merasakan nikmat sesaat. Untuk itu, singkirkanlah segera ’selimut penenang’ sebelum anda digilas oleh zaman yang terus berubah tanpa bisa dihentikan.

Keterangan Penulis:
Jamil Azzaini adalah Senior Trainer dan penulis buku Best Seller KUBIK LEADERSHIP; Solusi Esensial Meraih Sukses dan Kemuliaan Hidup.

powered by performancing firefox





Yahoo! Messenger 8.1

5 12 2006

Buat yang mau download Y!M 8.1, bisa download disini

powered by performancing firefox





Multiple DB Engine (Part 2)

15 11 2006

Bulan kemaren kan posting ttg SQL Dump, terus sekarang mau nyoba manfaatin sql dump tsb untuk export import atau sinkronisasi data. enak sih, tinggal panggil SP, terus hasilnya di save ke file text. nanti di db yg akan di sinkronisasi, tinggal execute perintah2x yang ada di file text tadi.
masalahnya, sql dump hanya support untuk insert statement aja. untuk update statement tidak bisa. masalah lain adalah, SP Sql Dump ini hanya bisa dibuat dan di execute di SQL Server, tidak bisa di MS Access. akhirnya bikin dumper sendiri deh..8D
Dumper ini dibuat di visual basic 6.0. udah ditest dengan db SQL Server dan MS Access. hasilnya, procedure ini bisa handle 2 jenis database tersebut.
Procedure dumper ini memang tidak menghasilkan sql statement. yang dihasilkan adalah table definition dan data dalam table tersebut dalam bentuk yg terpisahkan dengan karakter tertentu. Katakter yang dipake adalah |.
Procedure dumpernya sebagai berikut:
Public Sub GenInsert(tField As String, tTable As String, tKondisi As String, Optional tForce As Boolean = False)
Dim RsGen As New ADODB.Recordset, I As Integer
RsGen.Open “select ” & IIf(tField <> “”, tField, “*”) & ” from ” & tTable & IIf(tKondisi <> “”, ” where ” & tKondisi, “”), ConnAPP, adOpenForwardOnly, adLockPessimistic, adCmdText
Open NamaFile For Append As #1
Print #1, “Table:” & tTable
Print #1, “Field:”;
For I = 0 To RsGen.Fields.Count – 1
  If I <> RsGen.Fields.Count – 1 Then
    Print #1, IIf(RsGen.Fields(I).Properties(4), “PK:”, “”) & RsGen.Fields(I).Name & “;” & RsGen.Fields(I).Type & “|”;
  Else
    Print #1, IIf(RsGen.Fields(I).Properties(4), “PK:”, “”) & RsGen.Fields(I).Name & “;” & RsGen.Fields(I).Type & “|”
  End If
Next
If RsGen.RecordCount <> 0 Then
  Do While Not RsGen.EOF
    For I = 0 To RsGen.Fields.Count – 1
      If I <> RsGen.Fields.Count – 1 Then
        Print #1, IIf(IsNull(RsGen(I)), “NULL”, RsGen(I)) & “|”;
      Else
        Print #1, IIf(IsNull(RsGen(I)), “NULL”, RsGen(I)) & “|”
      End If
    Next
    RsGen.MoveNext
  Loop
End If
Close #1
RsGen.Close
End Sub

Hasil file Dumper, di baca dengan menggunakan procedure yang lain. dalam procedure yg berfungsi membaca, terdapat pengecheckan data. kalau data sudah ada, data diupdate, klo belum ada, maka data akan di insert.
Procedure bacanya sebagai berikut:
Public Sub ReadText(StrTXT As String)
On Error Resume Next
Dim I As Integer
If Left(StrTXT, 6) = “Table:” Then
  tTable = Mid(StrTXT, 7)
ElseIf Left(StrTXT, 6) = “Field:” Then
  ReDim tVField(30)
  Sep Mid(StrTXT, 7)
  TIndex = IndArray
  ReDim tField(TIndex)
  For I = 0 To TIndex – 1
    tField(I) = tVField(I)
  Next
Else
  ReDim tVField(TIndex)
  Sep StrTXT
    tWhere = ” where “
    For I = 0 To TIndex – 1
      If Left(tField(I), 3) = “PK:” Then
        tWhere = tWhere + Mid(Left(tField(I), InStr(1, tField(I), “;”, vbTextCompare) – 1), 4) & ” = ” & CheckType(Mid(tField(I), InStr(1, tField(I), “;”, vbTextCompare) + 1), tVField(I)) & ” and “
      End If
    Next
    tWhere = Left(tWhere, Len(tWhere) – 4)
    Set RsCari = ConnAPP.Execute(“select * from ” & tTable & tWhere)
 InStr(1, tField(0), “;”, vbTextCompare) + 1), tVField(0)))
    If RsCari.RecordCount <> 0 Then
      StrSQL = “update ” & tTable & ” set “
      For I = 0 To TIndex – 1
        StrSQL = StrSQL + IIf(Left(tField(I), 3) <> “PK:”, Left(tField(I), InStr(1, tField(I), “;”, vbTextCompare) – 1), Mid(Left(tField(I), InStr(1, tField(I), “;”, vbTextCompare) – 1), 4)) & ” = ” & CheckType(Mid(tField(I), InStr(1, tField(I), “;”, vbTextCompare) + 1), tVField(I)) & “, “
      Next
      StrSQL = Left(StrSQL, Len(StrSQL) – 2)
      StrSQL = StrSQL + tWhere ‘” where ” & Left(tField(0), InStr(1, tField(0), “;”, vbTextCompare) – 1) & ” = ” & CheckType(Mid(tField(0), InStr(1, tField(0), “;”, vbTextCompare) + 1), tVField(0))
      ConnAPP.Execute StrSQL
    Else
      StrSQL = “insert into ” & tTable & ” (“
      For I = 0 To TIndex – 1
        StrSQL = StrSQL + IIf(Left(tField(I), 3) <> “PK:”, Left(tField(I), InStr(1, tField(I), “;”, vbTextCompare) – 1), Mid(Left(tField(I), InStr(1, tField(I), “;”, vbTextCompare) – 1), 4)) & “, “
      Next
      StrSQL = Left(StrSQL, Len(StrSQL) – 2)
      StrSQL = StrSQL + “) values (“
      For I = 0 To TIndex – 1
        StrSQL = StrSQL + CheckType(Mid(tField(I), InStr(1, tField(I), “;”, vbTextCompare) + 1), tVField(I)) & “, “
      Next
      StrSQL = Left(StrSQL, Len(StrSQL) – 2)
      StrSQL = StrSQL + “)”
      ConnAPP.Execute StrSQL
    End If
End If
End Sub

Private Function CheckType(Tipe As String, tValue As String) As String
Select Case Tipe
  Case “200″, “202″
    CheckType = BP(tValue)
  Case “11″
    If tValue = “0″ Or LCase(tValue) = “false” Then
      CheckType = SQLBool(False)
    Else
      CheckType = SQLBool(True)
    End If
  Case “7″, “135″
    CheckType = BP(Format(tValue, FMasking))
  Case Else
    CheckType = TS(tValue)
End Select
If LCase(tValue) = “null” Then CheckType = “NULL”
End Function

Private Sub Sep(kata As String, Optional Krit As String = “|”)
Dim tPos As Integer, tempPos As Integer
IndArray = 0
tPos = 1
tempPos = 1
tPos = InStr(tempPos, kata, Krit, vbTextCompare)
If tPos > 1 Then
  tPos = 2
  While tPos <> 1
    tPos = InStr(tempPos, kata, Krit, vbTextCompare)
    If tPos <> 0 Then
      tVField(IndArray) = Mid(kata, tempPos, tPos – tempPos)
      IndArray = IndArray + 1
    Else
      tPos = 1
      tVField(IndArray) = Mid(kata, tempPos)
    End If
    tempPos = tPos + 1
  Wend
ElseIf tPos = 0 Then
  tVField(IndArray) = kata
End If
End Sub

Semoga bermanfaat…8D

powered by performancing firefox





Hypermart Suck…

11 11 2006

Pernah denger isu klo toko swalayan sengaja memanipulasi harga, antara harga yg melekat di rak dengan harga yang ada dikomputer. dulu ada berita, harga barang yg ada di rak lebih murah dari pada yg ada dikomputer, sehingga orang akan tertarik untuk membeli. karena macam barang yang dibeli banyak, orang akan kesulitan untuk mengingat harga-harga barang yang dibeli tadi. jadi orang suka gak nyadar klo harga setelah sampai kasir berbeda dan lebih mahal, walaupun hanya selisih 300-1000 rupiah saja.
nah, kemaren madhi main ke hypermart di matos. ada barang yang harganya jadi jauh lebih murah. barangnya yaitu sensor cahaya untuk otomatis lampu di luar rumah. waktu puasa kemaren, harganya 30 ribu, kemaren itu harganya tertulis di papan harga jadi 10 ribu (aslinya 9.900, dibulatkan jadi 10.000 ). kebetulan lagi butuh untuk ngelengkapi yang ada dirumah, madhi beli aja 2 biji. abis gitu cari barang2x lain utk keperluan sehari-hari.
setelah nyampe kasir, karena antri dan sibuk mengeluarkan barang dari troly, madhi tidak memperhatikan display yang ada di kasir. ketika struk belanja di cetak, iseng coba madhi liat. klo di hypermart kan biasanya ada informasi anda berhemat x rupiah. informasi itu lumayan gede tulisannya dibanding tulisan item barang yang di beli. waktu madhi liat, disana cuman tertulis, anda berhemat 26000 rupiah. padahal jelas2x, dari sensor cahaya tadi seharusnya berhemat 40 ribu rupiah. langsung aja coba dilihat lebih teliti, terutama item sensor tadi. ternyata benar, yang tertulis disana adalah 19.900, bukan 9.900.
langsung aja tanya ke bagian informasi. mereka bilang harga yang tertera di struk benar 19.900. kemudian mereka cek di counter alat 2x listrik. setelah mereka cek, mereka memastikan bahwa harganya 19.900. madhi bilang ke petugas, di sana kan tertulis 9.900, kenapa bisa jadi 19.900. ternyata petugasnya bilang, harga yang 19.900 ada dibaliknya…toenk…dan petugas bilang lagi, klo yang 9.900 itu untuk yang alat listrik berupa stop kontak, bukan sensor cahaya…
karena penasaran, madhi samperin lagi ke counter tadi, ternyata emang bener, harga yang 19.900 ada di baliknya..weleh…gak cuman itu. dicounter tadi ternyata sudah ada beberapa orang yang lagi marah 2x karena sebab yang sama…petugas yg stand by disekitar counter cuman bisa diem, gak bisa kasih penjelasan..udah gitu abis orang yang marah tadi pergi, baru deh petugas itu nyap-nyap dengan petugas yang lain.
Hampir aja madhi puter papan informasi nya, supaya yang terlihat oleh calon pembeli adalah harga yang mahal. tapi gak jadi..hihihi..dari pada ribut entar…8D

Kesalahan yang udah dibuat oleh pihak hypermart:

  1. Ada 2 harga yang berbeda, untuk jenis-jenis barang yang berbeda pula, tapi yang mudah terlihat dengan jelas hanya 1 harga dan celakanya harga itu adalah harga yang lebih murah.
  2. Peletakan barang antara jenis barang yang murah dan barang yang mahal, di campur aduk jadi 1. madhi yakin, petugas yang stand by di sekitar counter, klo kita ambil acak barang yang ada di counter tersebut, pasti tidak bisa langsung menentukan bahwa barang yang diambil adalah yang harga 9.900 atau yang harga 19.900. seharusnya, klo memang barangnya beda harganya, dibuat 2 informasi harga yg keduanya terlihat, dan secara fisik barang juga diletakkan di tempat yang berbeda.
  3. Sarana cek harga memang tersedia, dan lumayan canggih, tapi hanya tersedia sedikit dan peletakannya tidak eye catching. masak beli barang di counter alat elektronik, cek harganya ada counter makanan ringan…8D
  4. Dengan melihat respon dari pihak informasi yang menegaskan harga barang tersebut adalah 19.900 dan banyaknya customer yang mengalami hal serupa, ada gelagat bahwa pihak hypermart sengaja melakukan hal tersebut (pengaburan informasi). seharusnya sebagai retailer skala besar, mereka tidak memperlakukan customer seperti itu. retailer menengah saja (contohnya indomaret) jika terdapat kasus seperti itu, harga yang dipakai adalah harga yang terendah.

powered by performancing firefox





100 Hari…

7 11 2006

Hari ini 100 hari meninggal nya ibu. Sampai sekarang kadang masih suka gak percaya. Tapi tetep harus ikhlas.
Semoga dosa-dosa nya di ampuni Allah SWT, amalan-amalanya di terima Allah SWT dan mendapatkan tempat yang layak di sisi-Nya. Amin…
Buat semua Blogger, mohon sambung do’a nya ya.

Hujan ingatkan aku
Tentang satu rindu
Di masa yang lalu
Saat mimpi masih indah bersamamu

Terbayang satu wajah penuh cinta penuh kasih
Terbayang satu wajah penuh dengan kehangatan
kau ibu Oh Ibu

Allah Ijinkanlah aku bahagiakan dia
Meski dia tak tau
Biarkanlah aku berarti untuk dirinya
Oh Ibu

(taken from Satu Rindu-Opick ft. Amanda)

powered by performancing firefox





Bersyukur Cermin Hidup Mulia

4 11 2006

detikPORTAL: Partner [Layanan Premium dari detikCOM]

Jakarta, Sukses dan mulia adalah dua kata yang tak terpisahkan Secara sederhana, sesorang dikatakan sukses bila telah memiliki 4-ta yang tinggi. Empat Ta itu adalah harta, tahta, kata, cinta. Orang dikatakan sukses bila memperoleh Empat Ta itu karena expertise (keahlian, core competence, prestasi) yang dimilikinya, fair, tidak melanggar etika serta ajaran agama.

Sementara mulia ditandai dengan seberapa aktif seseorang berbagi 4-ta yang telah dimilikinya. Sebagian harta yang dimiliki akan dibagikan untuk orang lain yang kehidupannya belum beruntung secara materi. Jabatan (tahta) yang diduduki akan dimanfaatkan seoptimal mungkin untuk memberikan manfaat dan nilai kepada semua stakeholder. Ilmu (kata) yang dimiliki akan dibagikan kepada siapapun yang siap menampungnya. Nama baik dan popularitas (cinta) yang disandangnya tidak dimanfaatkan untuk kepentingan pribadi akan tetapi untuk kepentingan yang lebih luas.

Dalam suasana lebaran, biasanya orang berlomba berbagi 4-ta kepada kerabat, tetangga dan mitra kerja. Dari berkirim sms, kartu lebaran, parchel, berkunjung ke rumah, berdiskusi dan memberikan angpoy kepada keponakan. Semua itu merupakan cerminan bahwa hidup anda menuju kemuliaan.

Agar tradisi berbagi sebagai cerminan hidup mulia itu terus membudaya setelah lebaran, kita perlu memiliki sikap bersyukur. Apapun yang telah dikaruniakan Sang Pencipta kepada kita haruslah disyukuri. Bukti syukur ditandai dengan memanfaatkan secara optimal apa yang diberikan Tuhan kepada kita.

Untuk memberikan ilustrasi sederhana bagaimana kita bersyukur, saya paparkan perumpamaan. Saya memiliki jaket branded yang sangat berkualitas. Suatu saat, jaket itu saya berikan kepada sahabat karib saya. Menerima jaket itu, dia menangis haru bahkan sampai memeluk saya erat-erat dalam jangka waktu yang lama. Pertanyaan saya, apakah dia sudah bersyukur?

Sebagian anda pasti menjawab ”ya, dia sudah bersyukur.” Saya ajukan pertanyaan lain, ”setelah tiga tahun saya bersama, ternyata sahabat saya tidak pernah memakai jaket pemberian saya, nah apakah dia bersyukur? Tentu anda menjawab ”dia kurang bersyukur.”

Bersyukur tidak sekedar ucapan dan air mata semata. Bersyukur harus dibuktikan dengan aksi nyata berupa memanfaatkan apa yang telah diberikan kepada kita. Termasuk pemberian Allah kepada kita. Bila kita mengaku bersyukur kepada Allah maka kita harus memanfaatkan secara optimal pemberian-Nya kepada kita.

Penglihatan, pendengaran, akal, tubuh yang sempurna, alam semesta dan semua isinya adalah pemberian Sang Khalik kepada kita. Bila Anda ingin disebut sebagai hamba yang bersyukur maka manfaatkanlah semua itu dengan optimal. Tidak hanya berhenti pada ucapan ”Alhamdulillah, puji Tuhan” dan sebagainya.

Salah satu bentuk aksi bersyukur adalah anda selalu berbagi 4-ta yang anda miliki kepada pihak lain yang memerlukan. Berbagi 4-ta menjadi aktifitas harian anda, tidak hanya waktu lebaran saja. Orang-orang besar dunia dan para pelaku sejarah yang namanya tetap dikenang baik hingga sekarang adalah mereka yang senang berbagi 4-ta.

Semakin banyak anda bersyukur, semakin banyak nikmat yang akan ditambahkan oleh-Nya kepada Anda. Dan, semakin banyak anda berbagi 4-ta, akan semakin mulialah hidup anda.

Keterangan Penulis:
Jamil Azzaini adalah Senior Trainer dan penulis buku Best Seller KUBIK LEADERSHIP; Solusi Esensial Meraih Sukses dan Kemuliaan Hidup.

powered by performancing firefox