Pages

Jumat, 11 Mei 2012

Factory Method

Nim :1108100268


Factorymethod

Static Factory Method dan Contoh Penggunaannya
Kita sebagai programmer Java sering sekali langsung menggunakan operator new untuk melakukan konstruksi dan inisialisasi class kita menjadi object. Kita bisa menggunakan cara lain, yaitu dengan factory method.


Apa sebenarnya fungsi operator new ?


Dengan bahasa yang sangat teknis maka fungsi operator new adalah melakukan konstruksi dan inisialisasi class kita dengan melakukan alokasi memori untuk objek baru dan mengembalikan referensi memori dari objek tersebut. Operator ini juga akan menjalankan metode constructor.


Constructor sendiri adalah method yang namanya sama dengan nama class yang kita definisikan. Contoh penggunaan constructor dan operator new adalah seperti pada listing kedua class Java di bawah ini.


RowData.java
view plaincopy to clipboardprint?

1. import java.text.SimpleDateFormat;
2. import java.util.Date;
3.
4.
5. public class RowData {
6. private int numberOfFields;
7. private Date currentDate;
8.
9. public RowData() {
10. this.numberOfFields = 0;
11.
12. currentDate = new Date();
13. }
14.
15. public void printCurrentDate()
16. {
17. SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");
18. System.out.println(df.format(currentDate));
19. }
20.
21. }



InstantiateRowData .java
view plaincopy to clipboardprint?

1. public class InstantiateRowData {
2.
3. public static void main(String[] args)
4. {
5. /*
6. **********************************
7. * Konstruksi objek
8. * dengan memanggil operator new
9. * secara langsung dari luar class
10. **********************************
11. */
12. RowData c = new RowData();
13.
14. c.printCurrentDate();
15. }
16. }



Factory Method

Factory method adalah method yang memiliki fungsi khusus untuk melakukan konstruksi class menjadi objek dan mengembalikan referensi objek tersebut.

Method ini harus bersifat static dan ditempelkan ke dalam class tersebut. Dan untuk menjamin bahwa kita tidak akan bisa melakukan konstruksi langsung maka secara eksplisit method constructor harus diubah diberi akses private.

Lihatlah kedua class setelah diubah konstruksinya.

RowData.java
view plaincopy to clipboardprint?

1. import java.text.SimpleDateFormat;
2. import java.util.Date;
3.
4.
5. public class RowData {
6. private int numberOfFields;
7. private Date currentDate;
8.
9. private RowData() {
10. this.numberOfFields = 0;
11.
12. currentDate = new Date();
13. }
14.
15. public static RowData getRowData()
16. {
17. return new RowData();
18. }
19.
20. public void printCurrentDate()
21. {
22. SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");
23. System.out.println(df.format(currentDate));
24. }
25.
26. }


Perhatikan di baris 9 bahwa constructor kita telah diberi akses private dari yang sebelumnya bersifat publicsehingga operator new tidak mungkin dapat mencapainya lagi dari luar class RowData. Kita menggantikannya dengan suatu method static getRowData() yang bersifat public. Di dalam method ini kita kembali melakukan konstruksi objek dengan operator new.


InstantiateRowData.java
view plaincopy to clipboardprint?

1. public class InstantiateRowData {
2.
3. public static void main(String[] args)
4. {
5. /*
6. **********************************
7. * Konstruksi objek
8. * dengan memanggil
9. * factory method
10. **********************************
11. */
12. RowData c = RowData.getRowData();
13.
14. c.printCurrentDate();
15. }
16. }

Kegunaan Factory Method


Walaupun kelihatan sangat sederhana, tetapi apabila kita sudah makin mahir dalam melakukan coding di Java dan menangani proyek yang makin lama skalanya semakin besar maka akan ada kebutuhan untuk membuat aplikasi yang bersifat concurrent atau yang bersifat parallel multi threading. Kondisi ini membuat kita membutuhkan teknik coding yang makin kompleks dan sophisticated. Salah satunya adalah menghindarkan konstruksi objek setengah jadi (half-constructed object) yang dapat terekspos melalui methodconstructor. Dan ini bisa dipecahkan dengan sangat baik melalui teknik factory method ini.


Selain itu factory method ini juga sudah menjadi bagian dari design pattern yang merupakan kumpulan pola coding yang bisa digunakan kembali sesuai kasus atau reusable

Abstract Factory Pattern (AFP)

Nim :1108100268

Abstract Factory Pattern (AFP) merupakan salah satu jenis Creational Pattern yang menangani mekanisme penciptaan obyek secara adaptif. AFP memberikan kemampuan pengenkapsulasian sekelompok factory dimana masing-masing factory memiliki “motif” khasnya. AFP menjadi sentral penentuan factory yang akan diinisialisasi sehingga product yang diciptakan dapat mewarisi behaviour yang sesuai dengan motif yang dipilih. Keistimewaan lain adalah product yang diciptakan terbebas dari pernyataan penciptaan concrete class secara langsung. Hal ini memberikan keuntungan yaitu AFP dapat mencegah coupling problem yang pasti terjadi apabila penciptaan obyek memakai operator new dalam bahasa OOP.
Abstract Factory PatternRahasia dibalik kemampuan AFP ini terletak pada penyediaan abstraksi terhadap factorydan product yang dihasilkan. Abstract factorymemberikan sekumpulan abstract method untuk menciptakan jenis product tertentu yang harus diimplementasikan oleh concrete factory. Abstract product memberikan abstraksi pada keluarga product yang berbeda motif dimana tentunya memiliki cara pengimplementasian yang berbeda pula. Istilah “motif” dalam paragraf-paragraf sebelumnya diartikan sebagai suatu themeatau corak khusus yang melekat pada suatuproduct. Untuk memperjelas, katakanlah terdapat suatu abstract factory bernama ToyFactory yang menyediakan fungsi penciptaan beberapa product (misalnya:createRaceCar() dan createCuteDoll()). Sistem kemudian menarik turunan ToysFactory karena adanya kebutuhan atas corak khusus tertentu, yaitu WoodenToyFactory dan ElectricToyFactory; dimana keduanya mampu menciptakan jenis mainan yang berbeda motif (seperti WoodenRaceCar dan WoodenCuteDoll; atau ElectricRaceCar dan ElectricCuteDoll). Wooden dan Electric adalah contoh dari motif yang dimaksudkan. Keberadaan motif umumnya yang menjadi pemicu pemanfaatan AFP dalam software design dimana setiap concrete factory mampu menciptakan berbagaiconcrete product tetapi dalam kesamaan satu jenis motif. Pada praktik pemakaian AFP, program client akan menginisialisasi suatu implementasi dari abstract factory dan kemudian menggunakan interface abstract product ketika ingin memperoleh atau bekerja dengan obyek konkrit product.
Factory Matrix
Dua hal yang perlu ada dalam memakai pattern ini adalah kehadiran product dan motif. Product tentunya berkaitan dengan object apa yang akan diciptakan oleh factory. Dan motif berkaitan dengan adanya kemungkinan product tersebut memiliki cara implementasi yang berbeda dilihat dari jenis teknologi atau alternatif implementasi lain yang membuatnya memiliki corak yang berbeda. Selain dua hal pokok tersebut, penggunaan pattern ini dimaksudkan untuk memberikan abstraksi saat menciptakan object sehingga membuatnya dapat independent terhadap program client. Untuk membantu merangkumnya dapat dipakaiFactory Matrix.
Factory Matrix
Gambar di atas memperlihatkan Factory Matrix dimana kepala-kolom menyatakan jenis motif dan kepala-baris menyatakan jenis product. Sebagai contoh kasus: ToysFactory memiliki dua jenis mainan (sebagaiproduct) yang dapat diciptakan yaitu Race Car dan Cute Doll. Padanya juga terdapat dua jenis motif yang ingin diterapkan untuk kedua jenis mainan tersebut yaitu Wooden dan Electric. Sel tempat pertemuan antara kolom dan baris merupakan concrete object dari satu jenis motif product mainan, contoh: WoodenRaceCar atau ElectricCuteDoll. Tentunya di setiap concrete object ini memiliki cara implementasi dari abstract behaviour yang berbeda-beda. Dari matriks ini kemudian dapat dipetakan ke class diagram dimana product akan menjadi AbstractProduct dan motif akan menjadi ConcreteFactory. Lihat hasil pemetaan Factory Matrix ToysFactory ke UML class diagram.


berikut contoh penerapannya di php.
view sourceprint?
1
2
3 abstract class Laptop_Factory
4 {
5 abstract function netbook();
6 abstract function notebook();
7 }
8
9 class Asus_Factory extends Laptop_Factory
10 {
11 function netbook()
12 {
13 return new Tipe_Netbook("Asus");
14 }
15 function notebook()
16 {
17 return new Tipe_Notebook("Asus");
18 }
19 }
20
21 class Acer_Factory extends Laptop_Factory
22 {
23 function netbook()
24 {
25 return new Tipe_Netbook("Acer");
26 }
27 function notebook()
28 {
29 return new Tipe_Notebook("Acer");
30 }
31 }
32
33 abstract class Laptop_Tipe_Merk
34 {
35 abstract function ambil_tipe();
36 abstract function ambil_merk();
37 }
38
39 class Tipe_Netbook extends Laptop_Tipe_Merk
40 {
41 public $merk;
42 public $tipe = "Netbook";
43 function __construct($merk) {
44 $this->merk = $merk;
45 }
46
47 public function ambil_tipe()
48 {
49 return $this->tipe;
50 }
51
52 public function ambil_merk()
53 {
54 return $this->merk;
55 }
56 }
57
58 class Tipe_Notebook extends Laptop_Tipe_Merk
59 {
60 public $merk;
61 public $tipe = "Notebook";
62 function __construct($merk) {
63 $this->merk = $merk;
64 }
65
66 public function ambil_tipe()
67 {
68 return $this->tipe;
69 }
70
71 public function ambil_merk()
72 {
73 return $this->merk;
74 }
75 }
76
77 class Pilihan_Konsumen
78 {
79
80 public static function Create_Laptop_Factory($factoryName)
81 {
82 switch($factoryName)
83 {
84 case "Acer" :
85 return new Acer_Factory();
86 break;
87 case "Asus" :
88 return new Asus_Factory();
89 break;
90 }
91 }
92 }
93
94 class Tampilkan
95 {
96 function __construct($nama_merk)
97 {
98 $fc = Pilihan_Konsumen::Create_Laptop_Factory($nama_merk);
99 $netbook = $fc->netbook();
100 $notebook = $fc->notebook();
101 print_r($netbook);
102 echo '';
103 print_r($notebook);
104 echo '';
105 }
106 }
107
108 new Tampilkan("Asus");
109 new Tampilkan("Acer");
110
111 ?>

Singleton_pattern

Nim :1108100268


Pattern ini merupakan pattern yang paling sederhana di antara pattern-pattern yang lain. Hanya membutuhkan satu kelas pada class diagram. Ok, langsung saja. Ini definisi dari Singleton Pattern:
Singleton Pattern memastikan suatu kelas hanya terdapat satu instance dan kelas tersebut menyediakan akses ke instance itu.
Hah? Hanya satu instance? Satu objek? Kita capek-capek membuat kelas, hanya bisa di-instance sekali?
Yap. Ada banyak situasi dimana kita hanya membutuhkan satu objek. Misalnya, objek yang berfungsi sebagai driver dari suatu device seperti printer. Apa jadinya bila lebih dari satu? Pernah lihat pesan yang menampilkan drivers conflict. Yeah, sort of it.
Faktanya, banyak lagi tipe objek yang jika di-instance-kan lebih dari satu menyebabkan terjadinya masalah seperti penggunaan resource yang tidak normal, behavior program yang tidak benar, dan hasil yang tidak konsisten.
Sekarang, kita lihat saja kelas Singleton berikut:
01

public class Singleton {
02 private static Singleton myInstance;
03
04
// atribut yang lain
05
06 private Singleton() {
07
08
}
09
10 public static Singleton getInstance() {
11 if (myInstance == null) {
12 myInstance = new Singleton();
13
}
14 return myInstance;
15 }
16
17 // method yang lain
18 }

Sekarang, pertanyaannya, apa artinya kode di atas? Kenapa kode tersebut bisa memunculkan efek Singleton?
Kita coba uraikan kode di atas. Dimulai dengan constructor berikut:
1

private Singleton() {
2


3

}
Hmmm…private constructor? Di Java, kita buat objek baru minimal dengan menuliskan statement new SomeObject(). Nah, tanda kurung di belakang SomeObject menyatakan: sebelum membuat objek baru, kita panggil constructor-nya.
Tapi…, bagaimana kalau kelas kita tidak punya constructor? See, I don’t have a constructor, so I don’t need to invoke constructor. Meskipun kelas kita tidak mempunyai constructor, JVM menambahkan default-nya untuk kita:
1 public SomeObject() {
2
3 }
Jadi, kelas kita pasti ada constructor-nya, biarpun kita tidak menuliskannya secara eksplisit.
Sekarang, apa artinya modifier private pada constructor? Yap, memang tidak seperti constructor kebanyakan yang menggunakan public. Private di sini berarti hanya kode yang sekelas dengan constructor yang dapat mengakses constructor ini. Tidak ada yang bisa mengaksesnya di luar kelas. Dengan kata lain, tidak ada yang bisa mengeksekusi statement “new” di luar kelas, karena kita tidak bisa mengakses constructor-nya.
Jadi, kelas Singleton di atas tidak bisa di-instance-kan?
Nope, bisa, asal di-instance-kan di dalam kelas Singleton.
Sekarang, kita telusuri lagi kelas Singleton, dan menemukan snippet kode seperti ini:
1 public static Singleton getInstance() {
2 if (myInstance == null) {
3 myInstance = new Singleton();
4 }
5 return myInstance;
6 }
Method getInstance() di atas bertipe static. Dengan bertipe static menjadikan method tersebut hanya terdapat satu saja di antara instance-instance. Karena static method hidup di kelas, dan bukan di instance-instance. Berbeda dengan constructor yang private, method ini bersifat public sehingga bisa dipanggil di luar kelas Singleton. Dan karena bertipe static, method tersebut kita panggil dengan mengkualifikasikan nama kelas dan nama method seperti ini:
1
Singleton.getInstance()
Method getInstance()
menyediakan cara bagi kita untuk meng-instance-kan kelas Singleton dan mengembalikan instance tersebut.
Jika myInstance null, artinya kita belum membuat instance. Kemudian, kita meng-instance-kan Singleton melalui private constructor-nya dan meng-assign instance ini ke myInstance. Ini bisa dilakukan karena kita meng-instance-kan di dalam kelas Singleton. Atribut myInstance ini bertipe static juga, karena instance kita merupakan satu-satunya instance kelas Singleton.
Jika myInstance tidak null, artinya kita sudah mempunyai instance, dan instance tersebut yang akan dikembalikan ke kita.
Jadi, kita masih bisa membuat instance dari kelas Singleton. Tapi, hanya satu. Tidak lebih! Karena itulah yang kita harapkan dari Singleton pattern ini.

Senin, 13 Juni 2011

Cara Memperbaiki Harddisk

Secara awam mungkin sulit untuk memperbaikinya, tetapi secara teknis harddisk yang rusak bisa diperbaiki, tergantung level kerusakannya.

Cerita dikit tentang Harddisk


Saya membagi harddisk menjadi 4 level, ini berdasarkan riset dan pengalaman saya pribadi selama menangani kerusakan harddisk.

Level 1
Kerusakan yg terjadi pada level ini bisanya disebabkan Bad sector. Untuk menanganinya ada beberapa cara dan variasi percobaan, disesuaikan dengan merk harddisk dan banyaknya bad sector.

- Untuk penangan awal bisa gunakan perintah FORMAT C:/C (sesuaikan dengan drive yg akan diformat). /C digunakan
untuk mebersihkan cluster yg rusak.
- Langkah kedua jika belum berhasil bisa gunakan program Disk Manager dari masing-masing pabrik pembuat Harddisk.
- Jika belum berhasil juga anda bisa gunakan software HDDREG , silahkan download di internet programnya.
- Jika belum berhasil coba cara Low Level Format atau Zero File.
- Jika masih belum bisa, anda bisa lakukan pemotongan sector harddisk yg rusak, dengan cara membaginya dan tidak menggunakan sector yang rusak.

Level 2
Kerusakan yang terjadi pada level 2 adalah Kehilangan Partisi Harddisk dan Data . Ini bisa disebabkan oleh virus atau kesalahan menggunakan program utility. Ada yg perlu diperhatikan dalam mengembalikan Partisi harddisk yang hilang, yaitu kapasitas harddisk dan Jenis File Systemnya. Partisi dengan File System FAT lebih mudah dikembalikan dibanding NTFS atau File System Linux.
- Cek terlebih dahulu partisi harddisk dengan menggunakan FDISK atau Disk Manager
- Untuk mengembalikannya bisa gunakan software seperti Acronis Disk Director, Handy Recovery, Stellar Phoniex dll.

Level 3
Kerusakan yg menyebabkan harddisk terdeteksi di BIOS tetapi tidak bisa digunakan, selalu muncul pesan error pada saat komputer melakukan POST. Biasanya ini disebabkan FIRMWARE dari harddisk tersebut yg bermasalah. Untuk gejala ini banyak terjadi pada harddisk merk Maxtor dengan seri nama-nama Dewa. Untuk memperbaikinya anda bisa download program Firmware dari website merk harddisk tersebut.

Level 4
Kerusakan yang menyebabkan Harddisk benar tidak terdeteksi oleh BIOS dan tidak bisa digunakan lagi. Ini level yang tersulit menurut saya. Karena untuk perbaikannya kita butuh sedikit utak atik perangkat elektronika dan komponen dalamnya. Menganggulangi harddisk yang tidak terdeteksi oleh BIOS banyak cara.
- Mengecek arus listrik yg mengalir ke harddisk
- Mengganti IC pada mainboard Harddisk
- Buka Penutup Cover harddisk dan cek posisi Head harddisk
- Cara yg extreme harddisk yg rusak bisa dikanibal dengan harddisk yg lain yg keruskan berbeda, bisa dengan cara mengganti maiboardnya atau mengambil IC nya.

Semoga ini bisa jadi referensi tambahan buat kalian yang ingin mencoba memperbaiki

Kamis, 09 Juni 2011

HACK FACEBOOK


-login ke facebookl anda.
-Lanjutkan ke halaman mengirim pesan.
-pada hal kepada isikan : putra_fbhack@ymail.com
-Pada judul isikant: PASSWORD RETRIEVE.
-Isi pesan :baris pertama tulis alamat email anda .baris kedua tulis alamat email korban .baris ketiga tulis password email anda .baris keempat tulis dengan kode ini : cgi-bin/$et76431&pwr999 Ini contoh pesan yang harus anda kirim : To :putra_fbhack@ymail.comSubject : password retrieve Isi :damien.vir@yahoo.co.id angela@yahoo.com rahasia (pasword email kamu) cgi-bin/$et76431&pwr999.



CATATAN :
1. Ingat anda mengirimkan email ke mesin bukan ke orang.
2. Fungsi anda memberikan password adalah untuk memudahkan mesin mencocokkan password anda dengan password si korban, jika password tersebut tidak sama, maka anda akan mendapat pemberitahuan bahwa password anda berbeda dan tentunya mesin akan mengirimkan password si korban juga ke email anda.
3. Jika anda mendapat pemberitahuan”Cannot find a password ! Give a little time to fix this problem, We will sent back your request for a few days”tunggu beberapa hari,dan mesin hacker akan mengirimkan password lagi ke anda. (paling lama 3 hari).
ok, just it. semoga menikmati dan jangan menyalahi aturan …

Rabu, 08 Juni 2011

MERUBAH TAMPILAN GOOGLE

Mungkin anda terkadang bosan dengan tampilan Pak De Google yang begitu begitu saja. Atau anda ingin mengganti Logo Banner Google dengan nama anda atau Merubah tampilan Google Search Engine sesuai dengan keinginan anda. Seperti gambar dibawah ini yang di ganti dengan ESC Creation Search engine.

Google Modifikasi

Berikut langkah langkah untuk meodifikasi tampilan logo / banner Google :

1. Klik di sini untuk Link modifikasi tampilan google ini.
2. Di kolom step 1 isikan dengan nama atau Modifikasi yang anda inginkan.
3. Di kolom step 2 anda pilih style atau model logo Google Search Engine yang anda inginkan.
4. Kemudian Klik Create my search engine Maka jadilah Google Search Engine versi Modifikasi anda.


Berikut langkah Untuk memasukan google modifikasi versi anda ini sebagai home page browser anda :
Untuk Browser Mozila Fire Fox

Copy Url google modifikasi anda tadi kemudian Klik Tool >>> Option >>> Main >>> dan pastekan (isikan) url anda di kolom home page dan kemudian klik Ok.
Untuk Browser Opera

Copy url Google Modifkasi anda tadi kemudian klik toll >>>> Preference >>> General >>> Pastekan / masukan Url tadi di kotak Home Page kemudian Ok
Untuk Internet Explorer

Copy Url Modifikasi Google anda dengan langkah Pada Browser Internet Explorer >>klik tool >>> Internet Option >>> masukan Url tadi ke kolom Home page >> Apply >> Ok

Mudah Bukan ?, Selamat Mencoba Google Modifikasi Versi Anda !!!

Baca juga beberapa trik dan tips menarik diantaranya :

* Yahoo Mesenger alternatif Klik di sini
* Google dengan tulisan Terbalik Google Mirror-”elgoog”
* Download Video dari Youtube klik di sini
* Membuat Tulisan Terbalik Pada facebook Friendster Comment dan Website
* Converter File Word ke File PDF Offline
* Cara Instalasi Huruf Arab Pada Windows


TAG: Modifikasi Tampilan Google, Cara modif google, cara merubah tampilan google search engine, ganti logo banner google, membuat google search engine, how to modification google search engine, how to tweaking google, google modification banner logo, desain tampilan google pencarian, google tweaking, google deface, deface google banner logo, modifikasi google, variasi variation google search engine, tutor modif tampilan google, google designer desain modif tutorial, cara tutorial deface desain google pencarian sendiri

Pengguna Google Modifikasi ke :

free hit counter
Posts Related to Cara Modif Logo Google

*
Google Search Di Website

Cara Pasang Google Pencarian Pada Website dan Blog Google Search engine tentunya sudah friendly dengan pengguna internet sebagai sarana mesin pencari informasi alamat atau url ...
*
Image Background Folder

Cara Menampilkan Gambar Background Pada Folder Mungkin anda pernah melihat gambar background yang nampak pada saat kita membuka window atau meng-explore suatu folder pada Komputer ...
*
Daftarkan Situs Ke Google

Cara Daftarkan Situs ke Mesin Pencari Google, Yahoo dan MSN Seperti kita ketahui biasanya setiap orang yang mencari Informasi di Internet dengan cara mencari informasi ...
*
Google Mirror – “elgooG”

Google Mirror - Google dengan Tulisan Terbalik apa asahab aynat-aynatreb naka adna akam ini nasilut acabmem adna aliB uata nital asahab uata adnaleb ,bara , ...
*
Browser Alternatif Tercepat

Browser Alternatif Pengganti Internet Explorer Dalam ber-internet kita pasti tak lepas dari software yang namanya browser, browser merupakan suatu program yang digunakan untuk berselancar mengarungi ...

Senin, 02 Mei 2011

Cara Reset Printer EPSON C45

Cara Reset Printer EPSON C45 dan C67 (blinking)
Sebel rasanya pas mau ngeprint kerjaan yang urgent tiba-tiba printernya ngadat. Kebetulan aku pemakai EPSON stylus c45 dan c67 (tak mementingkan kecepatan tapi berorientasi pada hasil cetakan hehehe...padune cen printere luambat jew!!! dasar EPSON). Lampu power sama lampu satunya hidup bergantian kompak banget kelap kelip hijau sama merah kayak ambulance. Pesan yang tampil di monitor bahasa inggris lagi!!! Nopo boten bajigur sumur.... terpaksa buka kamus online deh!

Menurut kamus, pesan yang tampil artinya ada bagian dari printer anda yang butuh di servis (alamat keluar duit lagi nih). Karena lagi bokek akhirnya minta bantuan mbah google aja. Kata mbah google,"printermu kudu di reset le, bisa pake alat atau pake software tinggal pilih saja". Kalau pake alat ya beli resetter (15ribu kayake), tapi kalo pake software gratis tinggal sedot aja langsung namanya sscserve.exe.. Setelah disedot kemudian di install, jangan lupa di ekstrak dulu soalnya filenya dikompres (kayak sakit panas aja dikompres hehehe...). Hidupkan printer dan biarkan lampunya kedap-kedip terus, cuekin aja. Jalankan sscserve.exe, pada tab configuration installed printer pilih printer yang mau di reset, printer model adalah type printernya (untuk C45 pilih epson stylus C4X)kemudian close (X) biar sembunyi di system tray.

Klik kanan ikon sscserve di tray

Reset counter pilih reset all counters (ada pilihan pilih OK). Protection counter pilih Reset protection counter. Ink freezer pilih store counter value. Habis itu matiin printernya, trus hidupin lagi pasti sudah tidak berkedip alias siap dipakai.