Friday, January 27, 2012

SMS Tidak Terkirim Pada Blackberry

Dari tanggal 15-27 Januari 2012 saat tulisan ini dibuat, saya mengalami kesulitan dalam mengirim SMS di Blackberry saya.

Awal-awal bisa SMS tanpa masalah, tapi entah dari kapan SMS mulai susah dilakukan, bahkan telp pun susah. Asumsi awal saya adalah :
1. Sinyal yang buruk. Berhubung sinyal 3 sangat buruk di gedung kantor yang baru dan juga di lantai dasar rumah saya
Tapi setelah saya lihat, sinyal bar yang ada di BB saya ternyata full namun tetap tidak bisa mengirim SMS., Alhasil setelah mengecek ternyata pulsa yang habis (maklum kebanyakan komunikasi via BBM).
Setelah melakukan isi ulang ternyata juga masih ERROR! tidak bisa mengirim SMS.

Menurut pengalaman saya, yang pertama adalah SMS Center yang mungkin berubah. Berikut list SMS Center yang ada:

(1) Three [Hutchinson] : +6289644000001
(2)
Axis [Lippo Tel] : +628315000032
(3)
XL [Excelcomindo] : +62818445009
(4)
Simpati & Kartu As [Telkomsel] : +6281100000
(5)
Mentari [Indosat] : +62816124
(6)
IM3 [Indosat] : +62855000000

Namun setelah dilakukan pengecekan, SMS Center telah benar. Berarti penyebabnya adalah BB itu sendiri!
Setelah menelaah, ternyata kesalahan terdapat pada DATA CODING dan NETWORK TO SEND OVER, harus merujuk masing-masing ke "7 bit" dan "Circuit Switched" atau "Circuit Switched Preferred".
Option tsb bisa dilihat di  Messages - logo bb - option.

Semoga info ini membantu.
Maksud hati hanya mao sharing yang saya tau kok dan mendokumentasikannya :D

Saturday, January 14, 2012

Common Keyword OOP (Static, Final, Abstract)

Di java dan C# (karena cuman didalam bahasa itu yang saya tau), terdapat keyword:

final menunjukkan bahwa class/method/variable yang dideclare dengan keyword final tidak dapat di override ataupun diubah valuenya (khusus untuk variable). Keyword final tidak dapat digabungkan dengan keyword abstract, karena sifatnya bertentangan (compile-error).

Karakteristik final:
- Biasanya digunakan untuk deklarasi konstan digabungkan dengan static keyword. Contoh: public static final MOVE = 1;
- Pengubahan value terhadap variable final; override dan overloading method; pewarisan/inheritance final class akan terjadi compile-error.

abstract menunjukkan bahwa class/method (agak lupa abstract variable ada di C# apa tidak) bersifat abstrak yang memaksa subclass / child nya untuk mengimplementasi method/class tersebut, jika tidak maka akan terjadi compile-error.

Karakteristik abstract:
- Harus di-implemen / di override oleh subclass / child nya, jika tidak akan compile error.
- Untuk abstract class, memiliki karakteristik yang serupa dengan interface tapi tidak sama.
- Tidak ada abstract variable dalam Java. (CMIIW)
- abstract class dapat memiliki konkrit method (tidak abstract), ini merupakan salah satu pembeda dengan interface.

Dahulu saya paling kesulitan memahami static keyword, namun beruntung sekarang saya sudah cukup paham tentang static, sebelum itu anda harus paham istilah dibawah ini:

instance = representasi/contoh/bentuk dari blueprint yang ada. Contohnya seperti Budi adalah representasi dari Manusia.
instantiate = istilah dari pembuatan untuk 1 instance.

static menunjukkan bahwa class/method/variable yang didefinisikan sebagai static hanya memiliki 1 instance untuk semua. Contohnya adalah dalam pembuatan object X terhadap class HURUF (1 atau lebih object), hanya akan ada 1 instance static method/variable yang dibuat/digenerate untuk 1 object tersebut. Method/variable static tsb adalah milik class HURUF, bukan milik object X, sehingga semua object akan mengakses 1 instance static yang sama milik class HURUF.
static sangat sering digunakan

Karakteristik static:
static keyword sering digabungkan dengan final untuk pembuatan konstan.
- Class dapat bersifat static, namun setiap member class harus bersifat static (mengikuti aturan dan fungsi dari static keyword), tidak mungkin bukan class yang hanya ada 1 instance dalam JVM, tetapi member class nya bisa lebih dari 1 instance?
- static metod tidak dapat mengakses non-static method/variable.
- static method dapat mengakses static method/variable.
- Untuk mengakses non-static method/variable, harus melakukan instantiate terlebih dahulu.

Prinsip diatas sesuai dengan fungsi dari static keyword. Bukankah sangat aneh bahwa 1 instance yang konkrit (static) memiliki instance yang tidak konkrit / belum jelas? untuk mengaksesnya maka harus dilakukan instantiated terlebih dahulu.
 
Semoga informasi ini berguna untuk anda.

Jika ada salah, mohon koreksinya :)
Maksud hati hanya mao sharing yang saya tau kok :D