10 Juli 2009

Mau Beli Laptop Tanpa Garansi Resmi?

Indonesia mempunyai pasar yang cukup besar untuk urusan laptop. Banyak produk berbagai macam merk yang di impor masuk ke Indonesia. Karena ada saudara yang minta saran tentang membeli laptop yang cocok, oleh sebab itu aku mulai mencari referensi sebanyak mungkin tentang laptop dan sebagainya. Bukan soal merk atau spesifikasi laptop yang menjadi alasan dari saudara yang meminta bantuan padaku, tapi masalah banyaknya laptop tanpa garansi resmi yang cukup banyak beredar di pasaran.
Ada istilah laptop BM (Black Market) yang berarti laptop tersebut di impor tanpa mengikuti aturan impor yang semestinya, seperti aturan perpajakan, bea masuk, dan lain-lain. Dengan demikian laptop BM bisa lebih murah daripada laptop yang memiliki garansi resmi. Ada lagi istilah PI (Parallel Import) yang berarti laptop tidak di impor oleh badan/toko/perorangan yang tidak ditunjuk sebagai agen atau distributor resmi untuk produk yang bersangkutan.
Dengan demikian berarti laptop BM/PI pasti lebih murah dibanding laptop yang mempunyai garansi resmi. Dengan alasan ini pula yang membuat banyak pembeli tertarik untuk membeli laptop yang tanpa garansi resmi. Menguntungkan bagi pembeli dan juga penjual. Mengapa laptop BM.PI bisa lebih murah? Jelas karena tidak membayar pajak bea cukai. Selain itu pengimpor barang juga tidak perlu mendirikan jaringan service center yang luas, karena anggapan mereka kalau ada kerusakan, mereka perbaiki sendiri, atau kalau sulit diperbaiki, dikembalikan ke negara asalnya. Konsumen menunggu lama? Itulah resikonya kalau membeli barang tanpa garansi resmi.
Ada lagi istilah laptop refurbished, artinya adalah produk yang tidak memenuhi standar kualitas pabrik atau cacat produksi yang terlanjur keluar dipasaran, kemudian dikembalikan ke pabrik. Oleh pabrik tersebut diperbaiki dan bahkan di bentuk ulang bila ada cacat fisiknya. Kemudian laptop tersebut dijual lagi di pasaran dengan harga murah. Di luar negeri, produk semacam ini akan dibeli label “Refurbished” dan dijual dengan harga diskon besar, bahkan bisa mencapai 30%. Di Amerika produk refurbished dibeli label jelas dan tidak boleh dijual sebagai barang yang baru, sekalipun kelihatan baru dan ada segel dari pabrik, karena laptop refurbished bisa ada goresan, kotoran, dan bentuk kerusakan fisik lain yang tidak mempengaruhi performa.
Bagaimana membedakan laptop PI/BM/refurbished dan yang bergaransi resmi? Mudah saja, cek kartu garansinya. Tanyakan kartu garansinya ke penjual. Cek kartu garansinya, apakah dikeluarkan oleh distributor resmi atau tidak. Nomor telepon service centernya pasti tercantum disana, hubungi bila perlu. Beberapa produsen saat ini juga menyediakan registrasi serial number, registrasikan bila memang produsen menyediakan fasilitas tersebut.
Laptop dengan garansi resmi akan diterima di service center di semua kota, bahkan di seluruh dunia. Ada pengalaman teman saya yang membeli laptop Toshiba di luar negeri, ternyata baterainya rusak, kemudian dibawa ke service center di Surabaya dan baterai diganti baru dengan hanya membayar biaya administrasi. Ada pengalaman orang lain yang membeli laptop Toshiba yang tanpa garansi resmi, ketika dia pindah ke kota lain, dan dibawa ke service center, disana dikatakan bahwa barang itu barang bekas! Dengan kenyataan ini dipikirkan dulu apa kita mau membeli laptop yang tanpa garansi resmi, atau kalau tetap mau nekat juga Anda sudah tahu resikonya.

Baca selengkapnya...

07 Juli 2009

Menjalankan File dan Menunggu Sampai Ditutup

Menggunakan fungsi ShellExecuteEx mempunyai keuntungan dibanding dengan fungsi ShellExecute. Jika kita menjalankan aplikasi eksternal dari aplikasi kita dan ingin menunggu sampai aplikasi yang dijalankan ditutup baru bisa kembali ke aplikasi kita, bisa dengan menggunakan fungsi ShellExecuteEx. Kuncinya terletak pada parameter fMask. Jika flag SEE_MASK_NOCLOSEPROCESS aktif, maka saat file dijalankan parameter hProcess akan berisi handle pada file tersebut. Handle tersebut bisa digunakan untuk mengetahui apakah file yang dijalankan tersebut sudah ditutup. Supaya lebih jelas diberikan contoh program seperti dibawah ini.
var
  SEInfo: TShellExecuteInfo;
  ExitCode: DWORD;
begin
  FillChar(SEInfo, SizeOf(SEInfo), 0);
  with SEInfo do
  begin
    cbSize := SizeOf(TShellExecuteInfo);
    fMask := SEE_MASK_NOCLOSEPROCESS;
    lpVerb := PChar('open');
    lpFile := PChar('notepad.exe');
    nShow := SW_SHOWNORMAL;
  end;
  if ShellExecuteEx(@SEInfo) then
  begin
    repeat
      GetExitCodeProcess(SEInfo.hProcess, ExitCode);
    until ExitCode <> STILL_ACTIVE;
  end;
end.

Baca selengkapnya...

06 Juli 2009

Fungsi Windows API: ShellExecuteEx

Fungsi ShellExecuteEx mempunyai kegunaan yang mirip dengan fungsi ShellExecute yang disediakan Windows. Untuk menggunakan fungsi ini, tambahkan unit ShellAPI pada form yang bersangkutan. Fungsi ShellExecuteEx hanya mempunyai satu parameter yang berupa pointer ke suatu record dan mengembalikan nilai dengan tipe boolean, True jika sukses atau False jika gagal. Sintaknya bisa kita lihat dibawah ini.
function ShellExecuteEx(lpExecInfo: PShellExecuteInfo): BOOL;

Parameter pada fungsi diatas di deklarasikan sebagai berikut.
type
  PShellExecuteInfo = ^TShellExecuteInfo;
  TShellExecuteInfo = record
    cbSize: DWORD;
    fMask: ULONG;
    Wnd: HWND;
    lpVerb: PWideChar;
    lpFile: PWideChar;
    lpParameters: PWideChar;
    lpDirectory: PWideChar;
    nShow: Integer;
    hInstApp: HINST;
    lpIDList: Pointer;
    lpClass: PWideChar;
    hkeyClass: HKEY;
    dwHotKey: DWORD;
    hIcon: THandle;
    hProcess: THandle;
  end;

Deskripsi dari parameter diatas adalah sebagai berikut.
  1. cbSize. Merupakan ukuran struktur dalam byte.
  2. fMask. Flag yang menunjukkan isi dan validitas dari anggota struktur yang lain. Bisa merupakan kombinasi dari konstanta berikut.
    • SEE_MASK_CLASSNAME
    • SEE_MASK_CLASSKEY
    • SEE_MASK_IDLIST
    • SEE_MASK_INVOKEIDLIST
    • SEE_MASK_ICON
    • SEE_MASK_HMONITOR.
    • SEE_MASK_HOTKEY
    • SEE_MASK_NOCLOSEPROCESS
    • SEE_MASK_CONNECTNETDRV
    • SEE_MASK_NOASYNC
    • SEE_MASK_FLAG_DDEWAIT
    • SEE_MASK_DOENVSUBST
    • SEE_MASK_FLAG_NO_UI
    • SEE_MASK_UNICODE
    • SEE_MASK_NO_CONSOLE
    • SEE_MASK_ASYNCOK
    • SEE_MASK_NOQUERYCLASSSTORE
    • SEE_MASK_HMONITOR
    • SEE_MASK_NOZONECHECKS
    • SEE_MASK_WAITFORINPUTIDLE
    • SEE_MASK_FLAG_LOG_USAGE
  3. Wnd. Sama dengan parameter hWnd para fungsi ShellExecute.
  4. lpVerb. Sama dengan parameter Operation para fungsi ShellExecute.
  5. lpFile. Sama dengan parameter FileName para fungsi ShellExecute.
  6. lpParameters. Sama dengan parameter Parameters para fungsi ShellExecute.
  7. lpDirectory. Sama dengan parameter Directory para fungsi ShellExecute.
  8. nShow. Sama dengan parameter ShowCmd para fungsi ShellExecute.
  9. hInstApp. Jika flag SEE_MASK_NOCLOSEPROCESS aktif dan fungsi sukses dijalankan, akan berisi nilai lebih dari 32. Jika gagal akan mengembalikan kode kesalahan.
  10. lpIDList. Optional. Alamat absolut dari struktur ITEMIDLIST yang berisi daftar identifier yang unik bagi file yang di eksekusi. Parameter ini diabaikan jika flag SEE_MASK_IDLIST atau SEE_MASK_INVOKEIDLIST pada parameter fMask tidak aktif.
  11. lpClass. Optional. Nama class dari file atau GUID. Parameter ini diabaikan jika flag SEE_MASK_CLASSNAME pada parameter fMask tidak aktif.
  12. hkeyClass. Optional. Registry key untuk class file. Parameter ini diabaikan jika flag SEE_MASK_CLASSKEY pada parameter fMask tidak aktif.
  13. dwHotKey. Optional. Shortcut pada keyboard yang di asosiasikan dengan aplikasi yang bersangkutan. Parameter ini diabaikan jika flag SEE_MASK_HOTKEY pada parameter fMask tidak aktif.
  14. hIcon. Optional. Handle ke suatu icon untuk class file. Hanya digunakan untuk Windows XP dan sebelumnya, diabaikan untuk Windows Vista dan sesudahnya. Parameter ini diabaikan jika flag SEE_MASK_ICON pada parameter fMask tidak aktif.
  15. hProcess. Berisi nilai kembali berupa handle untuk aplikasi yang dijalankan, jika flag SEE_MASK_NOCLOSEPROCESS pada parameter fMask aktif.

Contoh penggunaannya adalah sebagai berikut.
var
  SEInfo: TShellExecuteInfo;
begin
  FillChar(SEInfo, SizeOf(SEInfo), 0);
  with SEInfo do
  begin
    cbSize := SizeOf(TShellExecuteInfo);
    lpVerb := PChar('open');
    lpFile := PChar('C:\Windows');
    nShow := SW_SHOWNORMAL;
  end;
  ShellExecuteEx(@SEInfo);
end.

Baca selengkapnya...

03 Juli 2009

Fungsi Windows API: ShellExecute

ShellExecute merupakan fungsi yang disediakan oleh Windows melalui file pustaka “shell32.dll”, dan sudah ada sejak Windows 9x. Kegunaan dari fungsi ini adalah untuk melakukan operasi terhadap suatu file atau direktori. Operasi yang dimaksud bisa bermacam-macam yang nanti akan dijelaskan. Dalam pengembangan aplikasi dengan Delphi fungsi ini juga bisa dipakai dengan menambahkan unit “ShellAPI” pada form yang mengakses fungsi tersebut. Sintaknya adalah sebagai berikut.
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters, Directory: PChar; ShowCmd: Integer): HINST;

Deskripsi dari parameter diatas adalah sebagai berikut.
  1. hWnd. Merupakan handle terhadap window yang untuk menampilkan user interface (UI) atau pesan kesalahan. Nilai bisa 0 yang berarti tidak berhubungan dengan suatu window.
  2. Operation. Merupakan string yang menggambarkan operasi yang digunakan terhadap suatu file atau direktori. Operasi yang dimaksud bisa berupa:
    • open. Membuka item yang ditentukan oleh parameter FileName. Bisa berupa file atau direktori. Item akan dibuka menggunakan aplikasi sesuai dengan ekstensi file yang di registrasikan.
    • edit. Menampilkan editor yang digunakan untuk membuka dan meng-edit file dokumen dari parameter FileName. Jika parameter yang diberikan bukan merupakan file dokumen, fungsi akan gagal dipanggil.
    • explore. Membuka direktori/folder yang diberikan oleh parameter FileName.
    • find. Membuka dialog pencarian pada direktori aktif atau pada direktori yang ditentukan oleh parameter FileName.
    • print. Mencetak file yang ditentukan oleh parameter FileName. Jika parameter yang diberikan bukan merupakan file dokumen, fungsi akan gagal dipanggil.
  3. FileName. Merupakan suatu obyek, bisa berupa file atau direktori, yang di eksekusi oleh operasi yang ditentukan oleh parameter Operation.
  4. Parameters. Jika file yang ditentukan merupakan file aplikasi yang bisa dijalankan, isi dari parameter ini digunakan sebagai parameter untuk file aplikasi yang bersangkutan.
  5. Directory. Merupakan direktori kerja default, jika tidak diisi merupakan direktori aktif.
  6. ShowCmd. Flag yang menentukan bagaimana aplikasi ditampilkan waktu dibuka. Konstanta yang bisa dipakai:
    • SW_HIDE
    • SW_MAXIMIZE
    • SW_MINIMIZE
    • SW_RESTORE
    • SW_SHOW
    • SW_SHOWDEFAULT
    • SW_SHOWMAXIMIZED
    • SW_SHOWMINIMIZED
    • SW_SHOWMINNOACTIVE
    • SW_SHOWNA
    • SW_SHOWNOACTIVATE
    • SW_SHOWNORMAL

Jika fungsi berhasil dijalankan, akan mengembalikan nilai integer lebih besar dari 32. Jika gagal, akan mengembalikan kode kesalahan sebagai berikut:
  • 0
  • ERROR_FILE_NOT_FOUND
  • ERROR_PATH_NOT_FOUND
  • ERROR_BAD_FORMAT
  • SE_ERR_ACCESSDENIED
  • SE_ERR_ASSOCINCOMPLETE
  • SE_ERR_DDEBUSY
  • SE_ERR_DDEFAIL
  • SE_ERR_DDETIMEOUT
  • SE_ERR_DLLNOTFOUND
  • SE_ERR_FNF
  • SE_ERR_NOASSOC
  • SE_ERR_OOM
  • SE_ERR_PNF
  • SE_ERR_SHARE

Contoh penggunaannya:
Membuka aplikasi tertentu.
ShellExecute(0, ‘open’, ‘notepad.exe’, nil, nil, SW_SHOWNORMAL);
Explore direktori/folder tertentu.
ShellExecute(0, ‘explore’, ‘C:\Windows’, nil, nil, SW_SHOWNORMAL);
Edit file dokumen.
ShellExecute(0, ‘edit’, ‘C:\textfile.txt’, nil, nil, SW_SHOWNORMAL);
Menampilkan dialog pencarian pada direktori tertentu.
ShellExecute(0, ‘find’, ‘C:\Windows\system’, nil, nil, SW_SHOWNORMAL);
Mencetak file dokumen.
ShellExecute(0, ‘print’, ‘C:\textfile.txt’, nil, nil, SW_SHOWNORMAL);

Baca selengkapnya...

01 Juli 2009

Akses Internet Unlimited dengan Mobi

Operator telepon seluler berbasis CDMA Mobile-8 tampaknya tidak mau ketinggalan dengan operator lain dalam rangka akses internet unlimited, walaupun sebenarnya ketinggalan juga nih. Ini ditandai dengan diluncurkan produk Mobi. Berbeda dengan paket Mobi sebelumnya yang di bundling dengan modem, yang ini cuma kartu perdana saja. Dengan begini semakin banyak juga pilihan untuk akses internet yang terjangkau untuk semua rakyat, termasuk yang di pinggiran kota seperti saya ini.
Paket yang disediakan ada 4:
  • Rp. 50.000 (up to 125 Kbps) quota 500 MB setelah itu 64 Kbps
  • Rp. 100.000 (up to 1024 Kbps) quota 1.5 GB setelah itu 64 Kbps
  • Rp. 150.000 (up to 3.1 Mbps) quota 2.5 GB setelah itu 128 Kbps
  • Rp. 250.000 (up to top speed) quota 3.5 GB setelah itu 256 Kbps

Tapi sayangnya dari 4 paket tersebut hanya 1 saja yang bisa dinikmati diluar area Jakarta dan sekitarnya saja. Tapi lumayan buat internetan dengan biaya murah, cuma Rp. 50.000 jadi. Selain itu hanya bisa dinikmati di area Jakarta dan sekitarnya karena jaringan EVDO yang bisa mencapai kecepatan maksimal sampai 3.1 Mbps. Bagi yang pernah coba bisa sharing pengalamannya.
Pertama kali kita mesti beli kartu perdana Mobi dulu di counter Mobile-8, bisa ditebus dengan harga Rp. 75.000 (termasuk untuk akses internet unlimited bulan pertama), selanjutnya dengan melakukan isi ulang senilai Rp. 50.000 tiap bulan, katanya sih bisa akses internet unlimited. Selanjutnya adalah mendaftarkan kartu perdana tersebut seperti layaknya kartu perdana lain, ini bisa dibantu oleh operator yang melayani kita di counter Mobile-8. Langkah terakhir adalah dengan mengirimkan SMS ke 777, yang kemudian akan kita dapatkan kiriman balasan berupa username dan password yang digunakan untuk akses internet.
REG<spasi>UNL50 (untuk paket Rp. 50.000)
REG<spasi>UNL100 (untuk paket Rp. 100.000)
REG<spasi>UNL150 (untuk paket Rp. 150.000)
REG<spasi>UNL250 (untuk paket Rp. 250.000)

Informasi ini sudah sejak pertengahan Juni 2009 aku dapat, tapi baru bisa direalisasikan akhir Juni. Di website Mobile-8 sendiri belum terdapat informasi tentang akses unlimited ini, jadi cukup menyesatkan. Diluar itu akses internet cukup baik, jika dibanding dengan yang aku pakai sebelumnya dari Starone. Tidak bisa membandingkan dengan yang lain, karena pilihan yang sangat terbatas di tempatku. Selamat mencoba mumpung belum terlalu banyak yang tahu…

Baca selengkapnya...