Rabu, 26 Juni 2013

Menggunakan SMSLib di Linux

Jumpa lagi setelah sekian lama kita tidak bersua, umur semakin tua dan waktu kita bersama semakin tersita, apa daya manusia? Hanyalah seonggok daging dan tulang belaka, takkan bisa apa-apa tanpa bantuan yang Maha Kuasa. Cukup puisinya mari kita belajar bersama lagi ;-p Tantangan kali ini adalah kita membuat suatu aplikasi berkaitan dengan sms, penerapannya bisa untuk SMS Gateway, dsb. Bisa juga untuk membuat aplikasi "smart sms auto replay", wuiissh aplikasi apa itu? Entahlah cuman biar keliatan keren saja hehehe.. Pertama download dulu library untuk smslib. Menurut dokumentasinya, smslib ini memerlukan beberapa komponen, silahkan dibaca sendiri, salah satu komponennya adalah Java Communications Library, bisa menggunakan SUN Java Comm v2 atau v3, atau menggunakan RXTX, mari kita menggunakan RXTX saja karena RXTX bisa digunakan di sistem operasi secara luas, beda dengan Java Comm yang hanya berjalan di SO Windows saja. Silahkan download dulu komponen dari RXTX. Extract hasil dari downloadnya, kemudian kita buka directory linux dan copykan file .so sesuai dengan arsitektur linux yang kita gunakan, apakah 32bit atau 64bit, copy ke /jre/lib/i386/ untuk 32bit atau /jre/lib/x86_64/ untuk 64bit. Untuk mencoba apakah RXTX sudah berjalan mari kita buat Project Java, silahkan menggunakan IDE favorit, bisa menggunakan NetBeans, Eclipse, dsb. Buat class bernama SimpleRead dan tambahkan library RXTXcomm.jar. Isi dari class SimpleRead adalah sebagai berikut :
import gnu.io.CommPortIdentifier;
import java.util.Enumeration;

public class SimpleRead {
  public static void main(String[] ap) {
    Enumeration pList = CommPortIdentifier.getPortIdentifiers();
    while (pList.hasMoreElements()) {
      CommPortIdentifier cpi = (CommPortIdentifier) pList.nextElement();
      System.out.print("Port " + cpi.getName() + " ");
      if (cpi.getPortType() == CommPortIdentifier.PORT_SERIAL) {
        System.out.println("is a Serial Port: " + cpi);
      } else if (cpi.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
        System.out.println("is a Parallel Port: " + cpi);
      } else {
        System.out.println("is an Unknown Port: " + cpi);
      }
    }
  }
}
Kelas diatas bertujuan menampilkan port serial maupun parallel yang aktif dalam komputer kita, jalankan perintah tersebut, apabila ada error kemungkinan karena masalah hak akses, kelas tersebut berusaha menulis pada folder /var/lock/, solusinya kita tambahkan user kita pada group uucp. Tambahkan dengan mengedit file /etc/group atau dengan menggunakan perintah :
usermod -a -G uucp dicky
Perintah tersebut menambahkan user bernama dicky dalam group uucp sehingga memiliki hak akses write ke directory /var/lock/. Jalankan kelas SimpleRead, jika tidak ada error berarti RXTX sudah berjalan lancar. Selamat anda layak dapan pujian ;-p Sekarang saatnya kita membuat kelas untuk membaca sms dari perangkat yang kita gunakan, tambahkan komponen lainnya dalam project kita yaitu, smslib.jar tentu saja, Apache log4j, Apache Jakarta Commons - Net, dan JSMPP. Buat file log4j.properties di source directory dari Project kita dengan isi :
log4j.logger.smslib=DEBUG, smslib
log4j.appender.smslib=org.apache.log4j.ConsoleAppender
log4j.appender.smslib.layout=org.apache.log4j.PatternLayout
log4j.appender.smslib.layout.ConversionPattern=%-6r %d [%t] %-5p %C %x - %m%n
Kemudian dari hasil download smslib, kita bisa melihat sample dari cara membaca sms di kelas ReadMessages dari package examples.modem. Kita tinggal melihat contoh dari kelas itu kemudian sesuaikan dengan perangkat yang kita gunakan, karena saya menggunakan HP Sony Ericsson W550i maka saya ganti konfigurasi dengan :
SerialModemGateway gateway = new SerialModemGateway("modem.com7", "COM3", 115200, "Sony Ericsson", "W550i");

Minggu, 18 Maret 2012

Instalasi Apache, PHP, dan MySQL di Linux

Sesuai janji saya pada waktu di posting Konfigurasi Apache, PHP, dan MySQL di Windows, maka kali ini saya ingin memposting untuk instalasi di Linux. Berhubung saya menggunakan Distro Mandriva 2011, maka untuk pengguna Distro lain silahkan buat artikel sendiri ya! Emang harus gitu? Ya ga juga sih, tapi daripada kalian keluyuran ga jelas, ato ngelamun sendirian mending melakukan sesuatu yang berguna(emg ada ngelamun berjamaah? Ada donk coba kalian perhatikan di kemacetan lalu lintas, orang2 pada ngelamaun berjamaah tuh). Oke sampai mana tadi? Kebanyakan pembicaraan ga penting intisari pembicaraan jadi ga dapet. Oh iya tadi sampai melamun, langsung saja kita mulai pengaturannya.

Hal pertama sebelum dilakukan pengaturan, adalah install aplikasi terlebih dahulu. Enaknya apa dulu ya? Apache dulu deh. Oke langkah pertama buka Mandriva Linux Control Center -> Install and Remove Software Pada query ketikkan apache-base dan pilih apache-base untuk diinstall pada komputer. Ikuti langkah instalasi dan kebutuhan library. Jika proses instalasi sudah selesai silahkan jalankan servicenya dengan mengetikkan di console sebagai root :
/etc/init.d/httpd start
Documen Root defaultnya ada di var/www/html ini adalah tempat untuk meletakkan aplikasi kita. Untuk konfigurasinya ada di file /etc/httpd/conf/httpd.conf dan konfigurasi tambahannya ada id direktory /etc/http/conf.d. Untuk mengecek apakah apache sudah berjalan, buka browser kemudian coba ketikkan http://localhost pada address bar browser favorit. Jika muncul halaman bertuliskan It's Work berarti instalasi Apache sudah berhasil. Langkah selanjutnya kita instal PHP. Masuk pada Mandriva Linux Control Center -> Install and Remove Software installah apache-mod_php. Kemudian untuk mysql ya tinggal install mysql aja disitu. Jangan lupa install pula php-mysql. Simpel banget ya?

Rabu, 14 Desember 2011

Unordinary Love Story

Ketemu lagi dengan saya, setelah beberapa kali posting agak berat mengenai pemrograman mungkin kali ini agak rileks dulu ya, saya ingin posting suatu cerita, hmmm cerita apa ya? Yang paling laku aja deh, di Indonesia cerita yang laku kalo tidak cerita cinta ya cerita misteri :-p
Oke untuk cerita misteri lain kali saja, sekarang saya mau cerita tentang cinta dulu, kenapa saya yang basisnya programmer koq tiba2 pengin cerita tentang cinta? Apakah saya sedang dilanda mabuk cinta (hmm setiap hari itu mah). Tapi alasan sebenarnya saya penasaran ato bisa dibilang muak ya? Melihat acara FTV bertema cinta di "dunia pertelevisian" kita, kalo kita lihat alurnya monoton sekali, saya memang tidak pernah menonton sih, tapi kalo pas kebetulan menonton pas gonta-ganti chanel pasti FTV bertema cinta itu memiliki alur yang monoton, pertama perkenalan, trus PDKT, ntar ada konflik (biasanya salah paham), penyelesaian trus jadian dech (ending). Mungkin masalah rating dan kepopuleran bermain disini, tp apa ya harus segitunyaaa??

Mungkin ada diantara yang bilang, "Loe jangan cuman omdo, coba lu buat cerita sendiri!!", Oke saya akan buat cerita sendiri, mungkin cerita ini ga lebih bagus, tapi paling tidak bisa memberi warna pada negeri ini dengan warna yang berbeda.
Cerita ini hanya fiktif belaka, apabila ada kesamaan dengan dunia nyata itu hanya kebetulan semata.

WHAT IS LOVE?
Anto mengumpulkan keberaniannya, dia berdiri menatap Jessica yang sedang berbincang dengan Robbie di kantin kampus, tampaknya mereka baru saja menyelesaikan makan siang mereka. Anto menarik nafas panjang, kemudian berjalan menghampiri mereka. "Hi Jess, aku mau ngomong bentar ganggu ga?", "Emang mo ngomong apa? Ngomong aja lagi napa harus nanya segala?". Anto melihat Robbie dan terdiam beberapa saat, Robbie yang paham langsung bilang, "Eh Jess, kalian ngobrol dulu aja ya, aku mo ke perpus dulu. Ayo To, aku duluan ya? Jangan lupa aku pinjem catatan kuliahnya Pak Marco ya?". Anto mengangguk, kemudian setelah Robbie pergi Anto mulai bertanya kepada Jessica, cewek yang dikenalnya secara tidak sengaja di jalan, saat cewe itu kebingungan karena bannya bocor, sedangkan dia sedang terburu-buru karena ada ujian Mata Kuliah penting, dan Anto dengan sukarela meminjamkan sepeda motornya.

"Emm ntar weekend ada acara ga? Ini aku punya voucher dari Steack Cafe yang baru buka, kalo kosong nti aku jemput". Jessica menatap Anto kemudian memegang gelas yang sudah kosong, dia memainkan sedotan di gelas tersebut, "Sorry ya To, aku lagi diet nih, ga makan daging gitu, eh tapi kamu bisa ajak Lina tuh? Katanya dari kemaren dia ngidam pengin makan banana split". "Ooh lagi diet ya, gimana kalo ke restoran yang lain aja?", Anto berusaha tersenyum. "Eh tapi kayanya malem minggu aku ga bisa dech To, ada acara apa gitu, eh udah dulu ya aku ke kelas dulu, ada kuliah", kata Jessica sambil membereskan tasnya. Sepeninggal Jessica, Anto memandang voucher discount di tangannya, pikirannya menerawang jauh.

"Eh koq cepet banget ngobrolnya Jess?", tanya Robbie melihat Jessica menyusulnya di perpus, "Tadi Anto pengin ngajakin aku jalan weekend ini, tapi aku males sih" jawab Jessika seperti sedang memikirkan sesuatu. "Anto tuh suka ama kamu, dia kan orangnya baik, kamu ga suka ya?". "Iya sih dia baik, pengertian, and bisa jadi pacar yang baik and setia juga. Tapi ga tau ya kenapa aku ga ada rasa ama dia, aku juga bingung", Jessica melihat Robbie dan melanjutkan, "Sebenernya aku pengen juga punya pacar yang baek seperti kamu, seperti Anto, tau sendiri kan gimana mantan-mantan aku? Mereka semua brengsek semua, kalo ga diselingkuhin, mereka kasar juga ama aku, tapi anehnya kenapa aku selalu jatuh cinta dengan cowo-cowo seperti itu? Kenapa aku tidak jatuh cinta aja dengan cowo-cowo seperti kalian Rob? Btw ginama kabar cewe kamu di luar kota? Koq bisa sih kamu pacaran jarak jauh gitu?". Robbie tersenyum, "Kami sudah memiliki komitmen Jess, cinta berdasarkan emosi pasti ga bakal langgeng, siapa yang menjamin emosi kamu bisa stabil? Bagaimana bisa kamu menahan godaan untuk selingkuh kalau ga ada komitmen yang kuat? Kami sudah sepakat bahwa cinta kami adalah cinta yang dianugerahkan Allah untuk kami, saat kami semakin menua dan menjadi tak secakap sekarang, cinta itu tetap ada di hati kami, karena Allah maha abadi bukan? Begitulah cinta kami". Jessica mengangguk-angguk, dalam hatinya ada kebimbangan sekarang.

Anto berjalan menelusuri trotoar bersama keponakannya, Sisca, putri kakaknya yang baru berusia 10 tahun, sambil menggenggam voucher dia mengamati sekeliling, malam minggu jalan selalu ramai, orang-orang keluar untuk menghilangkan kepenatan setelah seminggu ini bekerja atau sekolah. Makan malam bersama, nonton film, atau sekedar jalan-jalan menikmati udara malam. "Bener ya Oom, kita makan steak yang enaaak??" tanya Sisca dengan mata berbinar. "Iya, makanya kamu jangan nakal ya? Kalau ga nakal nanti Oom Anto akan sering-sering ajak kamu makan atau jalan-jalan". Sisca berjalan ceria digandeng oleh Anto.
Saat melewati Restoran Steak yang lumayan terkenal disitu jantung Anto seakan terhenti untuk 0.12 detik. Di bangku luar Restoran tersebut dia melihat Jessica, berdua dengan Albert, cowo yang terkenal sebagai geng motor di kampusnya. Mereka terlihat asyik bercanda dan makan steak, terlihat begitu mesra. Saat pandangan Anto melihat Jessica, Jessica merasa ada yang mengawasi, dia segera menyapu pandangan ke luar, saat tatapan mereka bertemu, Jessica terkejut, dia segera menunduk dan terdiam. "Ayooo Oom jalan, napa siih malah berhenti disini?", ajakan Sisca membuyarkan lamunannya, dia segera menggendong Sisca dan mencium pipinya, "Iya, iyaa, ayo sekarang cepet nanti keburu habis hahahahaa..". Anto berjalan menggendong Sisca, mereka tertawa bersama, ya, Anto sudah melepaskan sesuatu yang tidak seharusnya dia bawa, hidup ini terlalu indah untuk memanggul sesuatu yang akan jadi beban, Anto menyadari bahwa dia berhak untuk bahagia, dan dia akan membagi kebahagian itu bersama orang-orang yang dia sayangi. Sementara itu Jessica tidak melepaskan pandangannya dari Anto, sampai dia berbelok di perempatan jalan dan hilang dari pandangan. Jessica merasa emosi dan logikanya beradu di dalam dirinya.
--END--

Naaah.. begitulah cerita yang aku buat, bagaimana? hah lebih jelek? Ya gapapa yang penting beda gitu, dunia akan berwarna saat perbedaan itu saling mengisi. Ayo ditunggu tanggapannya! ^_^

Minggu, 16 Oktober 2011

Berbagai Pemikiran Saya Tentang Misteri Illahi

Lama ga update blog, maklum (sok) sibuk :-D
Mumpung hari Jumat (sok religius) pengen sekali mengeluarkan unek2 tentang apa yang terjadi dibalik kejadian di dunia ini. Tapi karena apa yang saya tulis ini mungkih hal yang sensitif sekali jadi sebelumnya perhatikan dulu ketentuan yang saya buat berikut :
Semua yang saya tulis di bawah murni dari pemikiran saya sendiri, jadi apa yang saya tulis ini mungkin tidak ada rujukannya yang valid, saya tidak bertanggung jawab apabila ada yang mengambil tulisan saya ini sebagai sumber informasi. Karena berdasarkan pemikiran saya, mungkin (bisa jadi malah pasti) SALAH. Jadi saya mohon mungkin ada yang lebih berkompeten dengan ilmu ini bisa berbagi atau mengoreksi. Kita berdiskusi disini. :-)
Oke kita mulai saja, sejak kecil saya selalu terpikirkan dengan pertanyaan2 seperti ini :
  1. Apakah takdir manusia bisa diubah? Bukankah takdir manusia sudah ditetapkan sejak ruh manusia diciptakan?
  2. Kenapa kadang orang jahat mendapatkan kehidupan yang lebih baik dari orang baik? Dimana keadilan ini?
  3. Dan pertanyaan lain yang saya lupa, mungkin kalo inget saya update lagi nanti ;-p
Pertanyaan-pertanyaan seperti itu saya selalu diskusikan dengan teman-teman dan sampai beberapa tahun belakangan belum bisa memuaskan rasa penasaran ini. Kita tahu kuasa Allah Maha Besar, saya sebagai manusia tidak akan bisa mengetahui rahasia-rahasia-Nya. Dijelaskan seperti apapun tidak akan mengerti karena kemampuan otak manusia mungkin cuma seperti debu di luasnya alam semesta jika dibandingkan dengan ilmu-Nya.
Jadi agar saya bisa memuaskan rasa penasaran itu, saya membuat pemikiran sederhana yang bisa diterima oleh otak saya ini. Oke begini pemikiran saya atas pertanyaan-pertanyaan itu, saya jabarkan satu-satu ya :

Pengenalan Ant Bagian 3

Setelah kita belajar bagaimana menambahkan library dan fungsi unit testing pada posting pengenalan ant terdahulu, kini kita coba berlatih lagi, kali ini kita belajar membuat file war, jadi latihan kali ini kita akan belajar ant dengan membuat web yang akan diupload ke server (bisa tomcat, glassfish, dsb) sehingga bisa diakses user melalui browser.

Senin, 10 Oktober 2011

Pengenalan Ant Bagian 2

Hai hai semuaa.. siap dengan hari yang menantang lagi? Kalo pak Mario Teguh punya"Salam Super" maka mari kita buat salam sendiri,, "Salam Petualang"^_^
Oke setelah pada posting terdahulu kita belajar menggunakan Ant, sekarang kita lanjut dengan materi yang agak sedikit lebih rumit lagi. Pada posting terdahulu kita hanya memiliki satu sumber kode java yang menampilkan pesan yang kita tulis pada console, tanpa adanya dependency dengan library lain. Sekarang kita akan menambahkan suatu baris kode sehingga memiliki dependency, dan kita akan menyertakan library tersebut pada paket distribusinya agar terlihat lebih rumit ;-p
Untuk itu kita perlu menambahkan fitur pada program terdahulu, diantaranya :
  1. Fitur logging.
  2. Fitur Unit Test.

Selasa, 04 Oktober 2011

Pengenalan Ant Bagian 1

Halo para penyuka tantangan semuanya! Sekarang saya akan mengajak untuk mengenal "Ant", emg perlu kenalan ama semut? Udah aku pites tadi hehehe.. Kalo kalian sering menggunakan NetBeans untuk coding paling tidak mengerti kalo buildnya menggunakan Ant suatu program build-tool dari Apache. Dengan fitur otomatis di IDE kita tidak perlu mengerti script Ant untuk mendistribusikan code-code Java yang kita buat. Tinggal menekan tombol, jadi deh file .jar atau .war yang akan kita berikan ke client. Tapi sekarang bagi yang belum kenal dengan Ant mari kita belajar bersama untuk mengenal Ant ini.

Minggu, 27 Maret 2011

Bermain Virtual Host

Oke teman2 lama tidak bertemu sekarang mari kita bermain virtual host. Background dari saya membuat posting ini adalah karena membutuhkan suatu server yang bisa menampung banyak aplikasi web, sedangkan framework yang digunakan adalah symfony yang merekomendasikan agar jangan menaruh aplikasi di web root, terpaksa menggunakan virtual host.

Langkah pertama edit file httpd.conf sebagai berikut :
NameVirtualHost *:80
<VirtualHost *:80>
      ServerName www.latihan.com
      DocumentRoot "C:/latihan/web"
      DirectoryIndex index.php
      <Directory "C:/latihan/web">
        AllowOverride All
        Allow from All
      </Directory>
      Alias /sf C:/latihan/lib/vendor/symfony/data/web/sf
      <Directory "C:/latihan/lib/vendor/symfony/data/web/sf">
        AllowOverride All
        Allow from All
      </Directory>
</VirtualHost>
Keterangan : baris Alias s/d terakhir adalah konfigurasi pada symfony, jika tidak menggunakan symfony bisa dihilangkan.

Untuk windows edit file "C:\WINDOWS\system32\drivers\etc\host", sedangkan di linux pada /etc/hosts, tambahkan :

127.0.0.1       localhost
127.0.0.1       www.latihan.com

Sabtu, 11 Desember 2010

Pengenalan Spring Security

Suatu hari Ciplus ditelefon Pak Paijo, manager PT XXX, salah seorang client yang telah meneken kontrak mengembangkan aplikasi berbasis web pada sistem akuntansi di perusahaannya, bulan lalu aplikasi tersebut telah diinstall pada komputer2 di perusahannya. "Halo saya mau komplain ini!" kata beliau di seberang telefon, "Busyet mo komplain aja pake ngrokok segala, mana rokok murahan lagi!" batin Ciplus menahan batuk karena asap yang keluar dari gagang telepon, "Maaf pak tolong rokoknya dimatikan dulu", kata Ciplus dengan sopan. "Oke, saya matikan, tapi tolong kamu kesini sebentar, ini kenapa data pembukuan perusahaan bisa kacau gini? Kamu kesini sekarang, benerin ini program kamu!", kata beliau dengan tegas. "Tapi pak ini kan hari minggu, ini juga baru jam 2 pagi, bagaimana kalau nanti agak siang kira pas jam makan siang bapak, jadi saya bisa nebeng makan gratis?", kata Ciplus. "Yaudah nanti jam 13.00 kamu kesini, nanti saya minta Jessica, pembantu saya, untuk masak tempe goreng dan sambal saja seperti makanan kamu sehari-hari", "Oalah niat mo makan enak saja susah bener, gimana tubuh bisa berisi kalau makanan kurang gizi terus begini".

Jam 12.30 akhirnya Ciplus berangkat, "Bisa abis makan siang kalo berangkat telat", batin Ciplus sambil lari ngejar angkot, soalnya sopir angkotnya rada gokil, suka mainin penumpang, dicegat disini eh berhentinya 50 meter didepan, terus dikasih waktu 5 detik kalau ga naik bakal ditinggal. Singkat cerita sampailah Ciplus di kantor Pak Paijo dengan terengah-engah, maklum harus oper angkot tiga kali. Aplikasi tersebut ditrace ga ada errornya, sepertinya aplikasinya baik2 saja, kenapa datanya bisa berubah? Akhirnya setelah menyewa detektif swasta diketahui bahwa penyebabnya adalah Steven, OB di kantor tersebut, yang sering bermain-main dengan komputer perusahaan. Bagaimana bisa Steven, Office Boy, bisa mengubah data-data seenaknya? Ternyata aplikasi tersebut tidak diberi modul hak akses, jadi semua orang bisa menggunakan aplikasi tersebut.

Panjang banget ya ceritanya? Intinya apa sih? Ya intinya security itu penting dalam sebuah aplikasi yang dikembangkan, bisa juga diberikan tingkatan hak akses, sehingga user yang tidak berhak tidak bisa mengakses modul atau mengubah data. Kalau intinya cuma itu kenapa harus dikasih prolog yang panjang? Blog saya ini mengusung tema cerita dalam segala hal, jadi intinya biar beda lah ama blog-blog pada umumnya hehehehe... Satu lagi pertanyaan, kenapa itu nama pembantu dan OB keren-keren begitu? Pak Paijo ini orang kaya dia ga mau cari pembantu orang lokal, maunya pembantu import. Cerita ini fiktif belaka, nama pemeran pun diubah juga biar lebih fiktif lagi.

Kita bisa mengembangkan modul keamanan kita sendiri, tapi bagi para pengguna Spring, kita bisa menggunakan framework Spring Security untuk mempermudah pekerjaan kita. Kali ini saya ingin berbagi pengalaman menggunakan Spring Security, jadi posting kali ini adalah pengenalan Spring Security. Lain kali saya akan berbagi pengalaman untuk menggunakan Spring Security ini di tingat yang lebih lanjut. Kalo ada teman-teman yang sudah master, boleh lah berbagi ilmunya. Oke saatnya kita serius :-p

Rabu, 03 Maret 2010

Koneksi Internet dengan Modem USB dan SMART di Linux [RESOLVED]

Hmm mau curhat lagi nich, lg seneng2nya beli modem baru nich^_^ Bundle dgn kartu SMART, Modem ZTE 2627. Sayang sekali produsennya cuma memberi support pada OS Windows dan Mac. Sedih juga padahal aku kan pemakai Mandriva, pengin juga kan internetan dengan OS kesayangan, apalagi internet broadband dari SMART ini lumayan cepet, murah lagi, cuman signalnya ga begitu stabil. Dari promosinya yang mencapai 3.1 Mbps pengalaman aku paling banter kisaran 900 Mbps itupun jarang banget, tapi keseluruhan aku sangat puas, trims SMART semoga pelayananmu lebih baik lagi.

OK cukup promosinya skrg kembali ke masalah awal, gimana cara menggunakan modem ini pada Linux ya? Bantuan dari teman-teman semua sangat berarti buat aku, plis bantu aku. Dari googling sana-sini sudah kucoba semampu aku cara mengkoneksikan modem ini. Berikut langkah2 yang telah aku lakukan.

Minggu, 21 Februari 2010

Menggunakan Framework Code Igniter

Hai semua, setelah berbagai kesibukan yang saya lakukan maka saatnya meluangkan waktu untuk sharing pengalaman dalam blog saya ini. Hmm kali ini saya mau sharing pengalaman aja belajar php dengan Code Igniter. Setelah berhasil menginstall apache server dalam komputer saatnya kita manfaatkan ya. Apa gunanya diinstall kalo tidak dipakai hehe ;-p.

Pertama kita download dulu Code Igniter disitus resminya. Baca dulu penjelasan disitu mengenai apa itu Code Igniter, MVC, dan istilah2 lainnya. Download compressed file-nya dan extract di folder "htdocs". Namai ulang sesuai keinginan, hmm kasih nama "dicky" saja (narsis mode on hehe), sehingga bisa diakses melalui url "http://localhost/dicky". Buka dulu file konfigurasi config.php dalam folder "dicky/system/aplikasi/config" dan ubah nilai dari $config['base_url'] sehingga menjadi :

$config['base_url'] = "http://localhost/dicky";

Simpan perubahan, jalankan apache server, buka browser, dan pergi ke urll "http://localhost/dicky", jika berhasil maka akan tampil seperti gambar di bawah ini :


OK sekarang framework sudah berjalan dengan baik, saatnya membuat modul sendiri. Code Igniter menggunakan arsitektur MVC, lain kali saya akan bahas arsitektur ini, atau kalian bisa cari2 dulu artikel tentang MVC yang tersebar dimana-mana hehe. Pada posting ini kita belum menggunan model, jadi kita buat dulu controllernya. Buat file dengan nama "coba.php" dan simpan dalam folder "dicky/application/controllers/". Isikan file tersebut seperti dibawah ini :

<?php
class Coba extends Controller {
function Coba() {
parent::Controller();
}

function tampil($nama) {
$data['nama_kamu'] = $nama;
$this->load->view("coba", $data);
}
}
?>


Untuk viewnya buat file dengan nama "coba.php" dan simpan dalam folder "dicky/system/application/views". Isikan seperti dibawah ini :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Start Of Web</title>
</head>
<body>
<h1>Hai <?php echo $nama_kamu; ?>, selamat belajar CI.</h1>
</body>
</html>


Oke sekarang buka browser dan ketikkan url "http://localhost/dicky/index.php/coba/tampil/Siti". Jika berhasil maka akan tampil halaman dengan tampilan "Hai Siti, selamat belajar CI".

Jika kita perhatikan ada hal yang mengganggu di url tersebut, yaitu adanya index.php dalam penulisan url. Saya heran kenapa Developer CI tidak menghilangkan saja ya? Ada yang tahu jawabannya? ;-)
Untuk menyingkirkan string "index.php" tersebut biar enak untuk dilihat silahkan tunggu posting berikutnya.

Jumat, 20 November 2009

AspectJ di Netbeans 6.7

Aku kali ga posting aneh2 lagi, tapi mo sharing aja nich, sapa tau ada temen2 yang bisa bantu, bantuannya makasih banget dech.

Ceritanya aku lagi belajar AspectJ nich, lumayan dapat mainan baru Aspect Oriented Programming, masalahnya aku pake IDE NetBeans 6.7, plugin AspectJ buat seri ini ga ada, adanya versi sebelumnya, kalaupun nekat di pake ga bakalan mau. Mungkin ada yang punya solusi?

Nah sambil nunggu solusi dari temen2 sekalian aku coba buat manual aja dari IDE NetBeans tersebut, gimana biar mau aku obrak-abrik aja ant scriptnya, setelah beberapa jam baca sana baca sini, googling, akhirnya lumayan dapat pencerahan

Senin, 16 November 2009

Pengantar Java Web Start

Alkisah ada seorang programmer di suatu perusahaan yang ditugaskan untuk membuat suatu aplikasi desktop berbasis multi user. Dengan gagah berani programmer itu menjalankan tugasnya dengan penuh tanggung jawab demi perusahaan yang telah membayarnya. Setelah selesai aplikasi tersebut ditunjukkan kepada manager bagian. "Hmmm bagus-bagus, OK sekarang silahkan diinstall pada seluruh karyawan.", "OK boss 36 computer client dalam waktu sehari semua beres". Akhirnya Programmer itu menjalankan tugasnya dan kembali untuk mengerjakan tugas berikutnya.

Beberapa minggu kemudian saat sedang sibuknya mengerjakan tugas dari client, programmer tersebut mendapat telefon dari bagian marketing. "Mas Programmer, ini tolong programnya ditambah ini, trus yang ini kalau bisa begini, begitu dan seterusnya...", "OK segera dikerjakan", mas programmer melakukan modifikasi sourcenya meng-compile, kemudian didistribusikan ke 36 client tersebut satu-persatu. Besoknya lagi ditelfon lagi, "Maaaas programmer ini tolong tambahkan modul buat menghitung bla bla bla...". Modifikasi lagi, compile, pergi ke ke 36 client satu-satu diinstall lagi. Mending kalo usernya cantik-cantik, lha ini galak-galak gini, "Gimana sich loe, gua lagi sibuk nich, installnya besok aja, lagian gua juga hari ini ga make!!", Programmer menjawab, "Lah mumpung saya disini mbak, besok saya harus balik lagi, jadi ini sekalian", "Halah itu mah derita loe.. kacian dech jadi programmer!!". Cape deeech.. inilah derita jadi satu-satunya programmer di perusahaan, "Ya Tuhan berilah kesabaran dan solusi", setelah berdoa dia
browsing2 di internet dan menemukan Java Web Start. "Ya Tuhan engkau benar-benar mengabulkan doa orang yang teraniaya.."

Kisah diatas hanya fiktif belaka, jika ada kemiripan ya itu urusan loe hehe.. Ga usah protes ga usah didebat, yang penting kita ambil hikmah dari cerita dia atas aja.

Dari cerita dia atas, kita butuh solusi gimana ya biar kita bisa menciptakan aplikasi yang agile tanpa harus bersusah payah bolak-balik ke client. Kalau berbasis web sih kita tinggal modifikasi di sisi server, client yang tinggal menggunakan web browser, ga masalah biarpun client ada di ujung dunia sekalipun. Pendekatan ini bisa diterapkan dengan Java Web Start.

Selasa, 29 September 2009

Makna Cinta Sejati

Bila telapak tanganmu berkeringat, jantungmu berdetak cepat, suaramu bagai tersangkut, itu bukan cinta tapi suka.

Bila tanganmu tak dapat berhenti memegang dan menyentuhnya, itu bukan cinta tapi nafsu.

Bila kamu menginginkannya karena kamu tau dia akan selalu ada disampingmu, itu bukan cinta tapi kesepian.

Bila kamu menerima cintanya karena tidak mau menyakiti hatinya, itu bukan cinta tapi kasihan.

Bila kamu bersedia memberi semua yg kamu sukai demi dia, itu bukan cinta tapi kemurahan hati.

Bila kamu bangga dan ingin memamerkan ke semua orang, itu bukan cinta tapi kemujuran.

Bila kamu mengatakan pada dia bahwa ia satu-satunya hal yang kamu pikirkan, itu bukan cinta tapi gombal.

Kamu mencintai dia...ketika kamu menerima kesalahan dia, karena itu adalah bagian dari kepribadiannya...ketika kamu rela memberikan hatimu, kehidupanmu, bahkan kematianmu.
Cinta adalah pengorbanan, mencintai berarti memberi diri.
Cinta adalah kematian egoisme dan egosentrisme.
Kadang menyakitkan, tapi itulah cinta.
Itulah harga yang harus dibayar untuk sebuah cinta.

Cinta yang sebenarnya adalah ketika kamu menitikkan air mata...masih peduli terhadapnya adalah ketika dia tak mempedulikanmu dan kamu masih menunggunya dengan setia....adalah ketika dia mulai mencintai orang lain dan kamu masih bisa tersenyum dan berkata 'aku turut berbahagia utkmu'.

Minggu, 27 September 2009

Menulis Java Code dan HTML di Blogger

Artikel ini menjelaskan cara menuliskan tulisan atau syntax html atau code lain dalam Blogger. Sebab jika kita ingin menuliskan karakter-karakter misal > atau tanda petik maka akan dianggap sebagai script HTML. Jika kamu sudah membaca tulisan saya di posting sebelumnya yaitu Konfigurasi Apache Web Server, PHP, dan MySQL, dapat dilihat bahwa ada kotak dalam saya menjelaskan penulisan konfigurasi. Bagaimana cara membuatnya? Mari kita ikuti bersama hehe...

Sesuai dengan prinsip saya, kalau bisa susah kenapa harus cari yang mudah, hehe.. Prinsip ini dapat dilihat pada postingan saya sebelumnya, ini prinsip dalam belajar loch.. tapi kalo untuk pelayanan masyarakat ataupun berhubungan dengan keefektifan bekerja jangan menggunakan prinsip ini. Ingat Itu!!

Konfigurasi Apache Web Server, PHP, dan MySQL

Bagi yang tertarik belajar bahasa pemrograman PHP, tool utama yang harus disiapkan adalah menginstall webserver terlebih dahulu, sekarang ada tool yang bernama XAMPP yang bisa didownload dengan gratis. XAMPP ini merupakan paket yang terdiri dari Apache Webserver, PHP, dan MySQL. Tool ini sangat praktis karena kita bisa langsung menginstall ketiga software tersebut dan langsung bisa digunakan tanpa harus berpusing ria memikirkan konfigurasi untuk mengintegrasiskan ketiga software tersebut.

Tapi bagi kita yang mungkin ingin menginstall sendiri ketiga software tersebut, butuh kerja lebih agar dapat berhasil, kali aja kita kan butuh tantangan, bukankah hidup ini perjuangan? hehe..(quote from Dewa), jadi jangan asal enak aja, bisa juga kita ingin mengupgrade salah satu software ke seri yang terbaru, misal kita ingin mengganti MySQL dengan versi yang lebih baru, maka kita cukup mengupgrade MySQL-nya saja tanpa harus mengganti semuanya dengan menginstall XAMPP yang lebih baru. Keuntungan lain dengan menginstall sendiri adalah kita bisa belajar konfigurasi dari masing-masing software tersebut, hal ini berguna jika kita ingin menambahkan konfigurasi lanjutan jika kita sudah semakin mahir.

Jumat, 25 September 2009

Mukadimah

Pertama-tama saya mengucapkan Selamat Idul Fitri 1430 H Mohon Maap Lahir dan Batin. Lebaran kali ini saya ingin memanage blog ini dengan lebih serius (emg maksudnya serius gmn?hehe), paling enggak blog ini berguna buat saya pribadi, misalnya ada rekan-rekan yang mau berbagi pengalaman dan mau berteman dengan saya melalui blog maka saya mengucapkan terima kasih yang sebesar-besarnya.

Sekian dulu kata pengantar ini, saatnya mencari topik buat ngisi ni blog, umm ada saran???