Konfigurasi Modem HP Smart K-Touch E329 untuk Internetan di Ubuntu
Alhamdulillah di Palembang sekarang sudah ada Smart dan walaupun belum stabil sudah mendukung EVDO yang dicurigai menjadi salah satu sebab paket Telkom Speedy multispeed terealisasi di Palembang setelah lama hanya janji-janji manis. Hidup kompetisi sehat hehehe.
Nah bertepatan dengan itu setelah beberapa lama HP yang lama agak error karena akumulasi penganiayaan dari Lila
, akhirnya diputuskan untuk beli HP baru, tapi kalau bisa yang sekalian bisa berfungsi buat backup internet kalau Speedy di kantor lagi error atau kalau harus mobile, tapi tentunya dengan syarat harga yang menarik hehehe. Akhirnya jatuhlah pilihan pada K-Touch E329 dari Smart, yang walaupun dukungan hanya tersedia untuk OS tetangga, tapi sudah banyak yang review bisa jalan dengan mudah di Linux.
Akhirnya setelah beli beberapa hari, baru malam ini sempat coba-coba konfigurasi yang sebenarnya langkah-langkahnya tinggal ngikutin tulisan Pak Budi Gunawan. Notebook yang digunakan adalah laptop pinjaman buat proyek yaitu HP Compaq nc6000, laptop lawas tapi sangat tangguh
, dan OS Ubuntu 9.04.
ubuntu@harusame:~$cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=9.04 DISTRIB_CODENAME=jaunty DISTRIB_DESCRIPTION="Ubuntu 9.04" ubuntu@harusame:~$ uname -r 2.6.28-11-generic
Menurut informasi kernel standar dari Ubuntu Jaunty 9.04 (2.6.28-11-generic) belum mendukung usbserial sehingga harus diupgrade ke 2.6.28-13-generic.
ubuntu@harusame:~$ sudo apt-get install linux-image-2.6.28-13-generic ubuntu@harusame:~$ sudo apt-get install linux-headers-2.6.28-13-generic ubuntu@harusame:~$ uname -r 2.6.28-13-generic
Setelah itu kita bisa lakukan langkah konfigurasi koneksi antara modem HP dan notebook kita;
ubuntu@harusame:~$ sudo lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 003: ID 0e8d:8101 MediaTek Inc. Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub ubuntu@harusame:~$ sudo modprobe usbserial vendor=0x0e8d product=0x8101 ubuntu@harusame:~$ sudo dmesg .. [ 328.397397] usbserial: `0×0e8d' invalid for parameter `vendor' [ 547.124673] usbcore: registered new interface driver usbserial [ 547.124693] USB Serial support registered for generic [ 547.124725] usbserial_generic 2-1:1.0: generic converter detected [ 547.124838] usb 2-1: generic converter now attached to ttyUSB0 [ 547.124848] usbserial_generic 2-1:1.1: generic converter detected [ 547.124902] usb 2-1: generic converter now attached to ttyUSB1 [ 547.124912] usbserial_generic 2-1:1.2: generic converter detected [ 547.124965] usb 2-1: generic converter now attached to ttyUSB2 [ 547.124981] usbcore: registered new interface driver usbserial_generic [ 547.124983] usbserial: USB Serial Driver core
Nah kalau sudah ada tulisan seperti usb 2-1: generic converter now attached to ttyUSB2 berarti sudah berhasil terhubung USB dan serial-nya. Selanjutnya tinggal install wvdial jika belum ada, dan selanjutnya konfigurasi wvdial.conf. Perlu dibiasakan backup file yang akan diedit terlebih dahulu.
ubuntu@harusame:~$ sudo cp /etc/wvdial.conf /etc/wvdial.conf.orig ubuntu@harusame:~$ sudo nano /etc/wvdial.conf
dan khusus untuk Smart isi dengan konfigurasi berikut;
[Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Stupid Mode = yes Modem Type = Analog Modem ISDN = 0 New PPPD = yes Phone = #777 Modem = /dev/ttyUSB0 Username = CARD Password = CARD Baud = 9600
Setelah disimpan tinggal jalankan wvdial-nya
ubuntu@harusame:~$ sudo wvdial --> WvDial: Internet dialer version 1.60 --> Cannot get information for serial port. --> Initializing modem. --> Sending: ATZ OK --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 OK --> Modem initialized. --> Sending: ATDT#777 --> Waiting for carrier. ATDT#777 CONNECT --> Carrier detected. Starting PPP immediately. --> Starting pppd at Sun Jan 10 23:29:27 2010 --> Pid of pppd: 5713 --> Using interface ppp0 --> pppd: p[10]�[08]�[11]�[08] --> pppd: p[10]�[08]�[11]�[08] --> pppd: p[10]�[08]�[11]�[08] --> pppd: p[10]�[08]�[11]�[08] --> pppd: p[10]�[08]�[11]�[08] --> local IP address 10.11.33.62 --> pppd: p[10]�[08]�[11]�[08] --> remote IP address 10.17.4.28 --> pppd: p[10]�[08]�[11]�[08] --> primary DNS address 10.17.3.244 --> pppd: p[10]�[08]�[11]�[08] --> secondary DNS address 10.17.3.252 --> pppd: p[10]�[08]�[11]�[08]
Jika sudah ada tulisan CONNECT artinya sudah bisa ngenet
. Oh iya dengan settingan standar diatas saya langsung melakukan speedtest untuk melihat koneksinya.
Lumayanlah dengan modem HP dan jatah gratis 100 hari
.
OOT – Fans ePalembang.com di Facebook hari ini sudah 3000 orang :D
Pagi ini buka halaman ePalembang.com di Facebook, dan fans ePalembang pas 3000. Jadi langsung aja di capture biar tidak dikira HOAX
.

Pas 3000
Dijamin foto asli, gak mungkin photoshop, soalnya photoshop mahal, ini cuman di crop pakai GIMP yang tidak kalah keren
.
Alhamdulillah.
Tips Menggabungkan String dengan Karakter Tertentu Sebagai Pemisah/Separator di Query MySQL
Bagi teman-teman yang sudah sering mengerjakan aplikasi khususnya Sistem Informasi pasti sudah sangat sering bermain dengan fungsi-fungsi string, seperti halnya fungsi implode() di PHP yang digunakan untuk menggabungkan beberapa substring (dalam bentuk array) menjadi satu menggunakan karakter tertentu sebagai pemisahnya.
Pada beberapa kasus penggabungan string ini tidak bisa dilakukan di level bahasa pemrograman tetapi harus dilakukan atau jauh lebih efisien apabila diperoleh dari masukan hasil query-nya, seperti yang saya temukan pada pekerjaan terakhir saya menggunakan MySQL.
Dan ternyata setelah bertanya ke Om Google, tugas sebagai DBA/Dev sangat dipermudah dengan fungsi-fungsi yang telah disediakan oleh MySQL. Dua fungsi yang bisa digunakan disisi query adalah fungsi group_concat() dan concat_ws().
Tentang cara penggunaan dan letak perbedaan dari kedua fungsi diatas, lebih enak langsung kita coba dalam contoh sederhana;
Ok, pertama-tama kita buat table percobaan bernama ‘perusahaan’ dan kita isi data untuk latihan;
create table perusahaan (id int unsigned not null auto_increment primary key, perusahaan_id int unsigned not null default 0, jenis enum('Terbuka', 'Tertutup') not null, direktur varchar(25) not null default '', wakil_direktur_1 varchar(25) not null default '', wakil_direktur_2 varchar(25) not null default '', wakil_direktur_3 varchar(25) not null default '');
insert into perusahaan (perusahaan_id, jenis, direktur, wakil_direktur_1, wakil_direktur_2, wakil_direktur_3) values (1, 'Tertutup', 'Direktur AAA', 'Wakil 1 AAA', '', ''), (200, 'Terbuka', 'Direktur ZZZ', 'Wakil 1 ZZZ', '', 'Wakil 3 ZZZ'), (3, 'Tertutup', 'Direktur CCC', 'Wakil 1 CCC', 'Wakil 2 CCC', 'Wakil 3 CCC');
select * from perusahaan;
+----+---------------+----------+--------------+------------------+------------------+------------------+
| id | perusahaan_id | jenis | direktur | wakil_direktur_1 | wakil_direktur_2 | wakil_direktur_3 |
+----+---------------+----------+--------------+------------------+------------------+------------------+
| 1 | 1 | Tertutup | Direktur AAA | Wakil 1 AAA | | |
| 2 | 200 | Terbuka | Direktur ZZZ | Wakil 1 ZZZ | | Wakil 3 ZZZ |
| 3 | 3 | Tertutup | Direktur CCC | Wakil 1 CCC | Wakil 2 CCC | Wakil 3 CCC |
+----+---------------+----------+--------------+------------------+------------------+------------------+
Maka table-nya menjadi sebagai berikut
Untuk menggabungkan beberapa row menjadi satu bagian kita menggunakan fungsi group_concat(), misal kita ingin mengelompokkan nama-nama direktur berdasarkan jenis perusahaannya, maka kita bisa menggunakan query;
select jenis as 'Jenis', group_concat(direktur) as 'Nama-Nama Direktur' from perusahaan group by jenis; +----------+---------------------------+ | Jenis | Nama-Nama Direktur | +----------+---------------------------+ | Terbuka | Direktur ZZZ | | Tertutup | Direktur AAA,Direktur CCC | +----------+---------------------------+
Sedangkan untuk menggabungkan beberapa kolom dalam row yang sama, kita bisa menggunakan fungsi concat_ws(), misal disini kita akan menggabungkan Nama-nama anggota dewan direktur di setiap perusahaan, maka query-nya adalah;
select perusahaan_id as 'Kode Perusahaan', concat_ws(',', direktur, wakil_direktur_1, wakil_direktur_2, wakil_direktur_3) as 'Jajaran Direktur' from perusahaan;
+-----------------+--------------------------------------------------+
| Kode Perusahaan | Jajaran Direktur |
+-----------------+--------------------------------------------------+
| 1 | Direktur AAA,Wakil 1 AAA,, |
| 200 | Direktur ZZZ,Wakil 1 ZZZ,,Wakil 3 ZZZ |
| 3 | Direktur CCC,Wakil 1 CCC,Wakil 2 CCC,Wakil 3 CCC |
+-----------------+--------------------------------------------------+
Pada kasus percobaan kita hasil diatas terlihat ada sedikita kesalahan dimana ternyata concat_ws() juga menganggap string kosong ada dan dipisahkan dengan koma, padahal kita ingin jika string kosong itu diabaikan, misal pada perusahaan dengan kode 200 disitu hasilnya “Direktur ZZZ,Wakil 1 ZZZ,,Wakil 3 ZZZ”. Maka disini query-nya tinggal kita modifikasi sedikit dengan fungsi if() untuk merubah string kosong menjadi NULL, sehingga menjadi;
select perusahaan_id as 'Kode Perusahaan', concat_ws(',', if(direktur!='',direktur, NULL), if(wakil_direktur_1!='',wakil_direktur_1, NULL),if(wakil_direktur_2!='',wakil_direktur_2, NULL), if(wakil_direktur_3!='',wakil_direktur_3, NULL)) as 'Jajaran Direktur' from perusahaan;
+-----------------+--------------------------------------------------+
| Kode Perusahaan | Jajaran Direktur |
+-----------------+--------------------------------------------------+
| 1 | Direktur AAA,Wakil 1 AAA |
| 200 | Direktur ZZZ,Wakil 1 ZZZ,Wakil 3 ZZZ |
| 3 | Direktur CCC,Wakil 1 CCC,Wakil 2 CCC,Wakil 3 CCC |
+-----------------+--------------------------------------------------+
Nah mudah kan, tentang karakter separatornya bisa diganti-ganti sesuai dengan kebutuhan, caranya tinggal lihat aja di link dokumentasi diatas.














