Welcome to the jungle CMB Part 2


Posted by Edy Setiawan on 22 Juli 2013

"Welcome to the jungle CMB part 2 !!!"

Hay semuanya gimana puasanya sampai hari ini? Lancar? Masih semangat?. Kita jumpa lagi dengan kelanjutan cerita sebelumnya. Mau tau kelanjutannya? Simak terus Edy Setiawan punya blog. Dijamin gak batal puasanya.


Dari blog sebelumnya saya ceritakan sekilas lokasi dan tempat Camp. Nah sekarang saya ceritakan banyak tentang aktifitas menarik yang kita lakukan selama di CMB. Oupss masih inget apa itu kepanjangan CMB? Saya kasih tau lagi CMB kepanjangnya (Camp Meruvian Bogor). Jadi jangan bingung bingung lagi ya dengan kata kata CMB.


1. Bersih Bersih

Setelah sudah sampai di CMB, keadaan camp masih belum bersih “Oups... Kotor”. Yang pastinya kita bersih bersih walaupun tidak disuruh (Kesadaran orang puasa). Aktifitas Pertama kita membereskan kamar tidur dan lanjut membereskan setapak demi setapak sampai semuanya beres dengan mentoring saya sendiri selaku senior.



Membereskan kamar tidur. Si Riza dan Si Maskun terlihat semangat.



Si Prapto Susi yang pakai baju ungu dengan Mas Elvis yang lagi membereskan Dapur. Oups... lupa, ini Mas Elvis juga senior disini. Tapi cuma 2 hari saja memonitoring di CMB.



Ilham lagi beraksi membersihkan lantai. Eh teman-temannya malah bengong nonton saja. Kerja hoe kerja kerja kerja.......


2. Pasang Jaringan

Setelah 3 hari tidak ada internet. Sekarang sudah dipasang oleh pihak Bonet di CMB. Kata anak anak dunia terasa hampa tanpa internet, apalagi sudah 3 hari tidak buka mainan sejuta umat yang warnanya biru. Tidak lain lagi yaitu “Facebook”.



Bu Hani (dari Bonet) dan teknisi Bonet lagi memasa antena buat nangkap sinyal.



Mas Mbois dengan gaya cool-nya lagi akting setting-setting jaringan.


3. Bikin Meja

Di CMB yang dijadikan tempat pembelajaran anak magang, Pasti membutuhkan yang namnya “Meja”. Untuk mengirit biaya kita bikin meja pakai triplek setebal 1 inci dan kayu kaso. Hmmmm.... kita kita meja gak perlu bagus bagus, asalkan nyaman dan bisa dipakai dan yang terpenting bukan mejanya tapi ilmu yang kita dapatkan. Setuju gak? yang setuju komentar saja di blog ini.



Saya, Ilham bolang, Prapto susi, dan benny bendot semangat bikin meja.



Mbak Nita, Ilham bolang, Prapto susi, dan benny bendot semangat bikin meja.



nah ini adalah meja buatan asli 100 persen dari kami.


Masih Belum sampai sini aktifitas kita. Masih semangat walaupun puasa dan Masih ada part buka puasa, saur, sholat trawih, part bolang, cuci baju di sungai di blog selanjutnya dengan judul “Welcome to the jungle part 3”. Tunggu tanggal mainnya dan ikuti terus postingan Edy Setiawan punya blog. Dijamin gak batal puasanya.


Site Properties Cimande 3 "Personal Login" Part 1


Posted by Edy Setiawan on 18 Juli 2013

“Welcome to the jungle” !!!

Hay semuanya. Gimana puasanya? Lancar? Masih Semangat? Kalau semangat tentunya masih mengikuti lanjutan blog sebelumnya tentang fitur terbaru dari cimande 3 kan?. Nah sekarang saya share tentang implementasi dari fitur site properties kedalam cimande 3 yang akan dirilis.

Tentunya dalam fitur site properties dalam cimande 3 sudah disediakan banyak pilihan untuk user. Seperti pembahasan blog sebelumnya. Salah satunya adalah "Personal Login".

Sudah tau personal login? Kalau belum saya singung sedikit saja supaya nyambung. Personal login bayang kan saja kita login facebook,nah seperti itu. Login langsung ke home aplikasi kita.

Nah langsung saja kita menuju pembahasan. Dalam mainan keren yang namanya cimande ada sebuah konfigurasi untuk menseting site properties ini, yaitu file cimande.properties.



1. Setting

Untuk mengimplementasikan personal login, harus menseting terlebih dahulu file cimande.properties seperti dibawah ini.

site.login = false

(setting untuk menentukan login antara personal login atau corporate login)

site.login.select = false

(setting untuk menentukan ada pemilihan site setelah login berhasil atau setelah login tidak memillih site. Kalau tidak memilih site yang digunakan adalah site.default)

site.default = f34934fdkjsdfss4545d9000d0330

(site default digunakan jika site.login.select bernilai false)

site.recorder = true

(setting untuk merekam setiap aktifitas)

site.virtualhost = false

(Setting agar setiap URL, domain-nya dimap dengan sitename)

Pastinya belum begitu nyambung kan tentang settingan cimande.properties diatas. Atau sudah ada bayangan?. Hmmm.. saya akan menjelaskan melalu beberapa mock up supaya bisa lebih paham.


2. Implementasi

site.login = false

Jika site.login pada cimande.properties disetting "false" maka tampilan login seperti gambar dibawah ini (personal login).



site.login.select = false

Jika site.select.login pada cimande.properties disetting "false" maka langsung redirect ke menu home dan yang digunakan adalah site.default.



site.recorder = true

Jika site.recorder pada cimande.properties disetting "true" maka setiap aktivitas save data "site_id" terisi.

Jika site.login = false maka site.default yang diisikan.



site.virtualhost = false

tidak mendukung virtual host dan sama dengan tidak perlu ada seting.

Implementasi diatas akan di masukkan kedalam cimande 3. Nah bukan hanya "Personal Login" saja. Masih ada beberapa implementasi di blog selanjutnya. Ikuti terus ya? Aku tunggu komentarmu


Welcome to the jungle CMB Part 1


Posted by Edy Setiawan on 15 Juli 2013

“Welcome to the jungle” !!!

Hay Semuanya... Camp Meruvian Bogor sudah mulai bisa ditempati nih, “Welcome to the jungle”. Sudah 3 hari ini saya selaku senior dan 10 anak magang 5 dari Kediri (SMK Plus Darusalam) dan 5 dari Palu (SMKN 3 Palu) sebagai penghuni pertama camp baru ini. Kita Berangkat hari kamis kemarin tgl 11 Juli 2013. Rencananya ketambahan 10 anak lagi dari Malang (SMK PGRI 3 Malang).

Lokasi Camp Meruvian Bogor ini berada di daerah Gunung Salak, tepatnya di daerah Cihideung (Jauh sekali dari perkotaan). Kalau Perjalanan dari Jakarta (Camp Cempaka Baru) ke Cihideung sekitar 2-3 jam. Kalau macet bisa lebih lama lagi. Pertama Kita masuk dari tol cempaka putih, kemudian keluar di tol Jagorawi ke kiri arah Sukasari. Dari sana lurus saja sampai ketemu bundaran. Belok kiri terus ngikutin ke arah the jungle. Dari situ kita ngikutin jalan menanjak keatas, lebih jelasnya jalannya saya gak inget padahal udah 2 kali kesini. Sorry kalau masalah jalan agak pelupa saya.


Singgah di PT bonet Utama, narsis dulu bersama anak magang dari Palu sebelum melanjutkan perjalanan ke CMB (Camp Meruvian Bogor).


Foto Bersama Pak Frans Thamura, Anak Magang dan Team dari Korea (International ICT Volunteer).

Tempat CMB (Camp Meruvian Bogor) sungguh bagus. Bisa menghilang sejenak dari Keramain kota jakarta yang terkenal dengan kota macet. Luasnya Ada sekitar 1.6 ha “Wow Luas”. Dengan luas segitu rencananya dimanfaatkan untuk menanam berbagai sayuran.


Peta untuk mengatur lahan pemanfaatan penanaman berbagai sayuran.

Untuk tempat tinggalnya juga luas, cukup menanampung sekitar 20 - 25 orang. Disini ada 1 kamar tidur buat cewek, 1 kamar tidur buat cowok. 1 kamar buat senior, dapur, 3 kamar mandi, 2 ruang tengah yang dibuat ruang pembelajaran anak magang dan halaman rumah yang cukup luas. Sedangkan halamam rumahnya rencananya buat TK (Taman Kanak Kanak). Maklum didareh CMB sini tempat TK yang lain jauh dari perumahan warga. Jadi gak salahnya buat TK untuk mempermudah warga menyekolahkan anak anaknya.


Kamar Tidur cukup buat 10-15 anak disetiap kamarnya.


Ruang tengah yang rencananya dibuat ruang pembelajaran anak magang. Ruang ini diperkirakan cukup menanmpung 20-25 anak.


Kamar mandi



Dapur untuk Masak.


Halaman camp dari samping kiri. Halaman ini rencananya di buat TK (Taman Kanak Kanak). Maklum didareh CMB sini tempat TK yang lain jauh dari perumahan warga. Jadi gak salahnya buat TK untuk mempermudah warga menyekolahkan anak anaknya.


Kolam samping kiri camp yang rencananya di tanam lele. Kata pak bos lumayan buat makan kita juga kalau sudah panen lele.


Sumber Mata air. Airnya jernih banged kayak di kota kelahiranku “Kota Batu”.

Saya senang berada di bogor. Karena mengingatkan ku pada masa kecil yang hidup di kampung. Suana sama persis sama di kampung tapi lebih bagusan kampung saya jelasnya yang berada di kota Batu. Mumpung masih libur kuliah, boleh lah sebulan mengurus junior di Bogor. Hitung hitung belajar jadi pemimping.

Tunggu selanjutnya blog tentang "Aktifitas 3 Hari Pertama dari CMB (Camp Meruvian Bogor). Oke sampai ketemu di blog selanjutnya. Kutunggu komentar dari anda !!.

Index, Search, Query dan Display Menggunakan Lucene


Posted by Edy Setiawan on 31 Agustus 2012

Dalam Blog kali ini membahas bagaimana index, query, search dan displaya menggunakan lucene dengan kasus sederhana. nah ikuti langkah2 berikut

1. Index

Untuk kasus sederhana ini, kita akan membuat indeks dalam-memori dari beberapa string.

Directory index = new RAMDirectory();
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_35, analyzer);

IndexWriter w = new IndexWriter(index, config);
addDoc(w, "Aliber is the best");
addDoc(w, "Aliber delpoy using tomcat dan jetty");
addDoc(w, "Alber creared by sturts2");
addDoc(w, "Inaicta is Indonesia ICT Award");
w.close();
addDoc() takes a string and adds it to the index:

private static void addDoc(IndexWriter w, String value) throws IOException {
    Document doc = new Document();
    doc.add(new Field("title", value, Field.Store.YES, Field.Index.ANALYZED));
    w.addDocument(doc);
  }
}

addDoc () mengambil String dan adds pada indeks: 

private static void addDoc(IndexWriter w, String value) throws IOException {
    Document doc = new Document();
    doc.add(new Field("title", value, Field.Store.YES, Field.Index.ANALYZED));
    w.addDocument(doc);
  }
}

3. Query

Query membaca dari string dan memparse string tersebut sehingga Query tersebut bisa jalan.

String querystr = args.length > 0 ? args[0] : "Aliber";
Query q = new QueryParser(Version.LUCENE_35, "title", analyzer).parse(querystr);

2. Search

Query dibuat Searcher untuk mencari indeks. Kemudian instantiate TopScoreDocCollector untuk melakukan pencarian dengan dibatasi 10 hits per page.

int hitsPerPage = 10;
IndexReader reader = IndexReader.open(index);
IndexSearcher searcher = new IndexSearcher(reader);
TopScoreDocCollector collector = TopScoreDocCollector.create(hitsPerPage, true);
searcher.search(q, collector);
ScoreDoc[] hits = collector.topDocs().scoreDocs;

4. Display

Disini digunakan untuk menampilkan hasil dari hasil Query

System.out.println("Found " + hits.length + " hits.");
for(int i=0;i<hits.length;++i) {
      int docId = hits[i].doc;
      Document d = searcher.doc(docId);
      System.out.println((i + 1) + ". " + d.get("title"));
}

Nah dari kode - kode diatas berikut saya gabingkan menjadi satu class java "LuceneDemo.java". Dibawah ini full source code.

import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopScoreDocCollector;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.Version;

import java.io.IOException;

public class LuceneDemo {
  public static void main(String[] args) throws IOException, ParseException {
    // 0. Specify the analyzer for tokenizing text.
    //    The same analyzer should be used for indexing and searching
    StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_35);

    // 1. create the index
    Directory index = new RAMDirectory();

    IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_35, analyzer);

    IndexWriter w = new IndexWriter(index, config);
    addDoc(w, "Aliber is the best");
    addDoc(w, "Aliber delpoy using tomcat dan jetty");
    addDoc(w, "Alber creared by sturts2");
    addDoc(w, "Inaicta is Indonesia ICT Award");
    w.close();

    // 2. query
    String querystr = args.length > 0 ? args[0] : "lucene";

    // the "title" arg specifies the default field to use
    // when no field is explicitly specified in the query.
    Query q = new QueryParser(Version.LUCENE_35, "title", analyzer).parse(querystr);

    // 3. search
    int hitsPerPage = 10;
    IndexReader reader = IndexReader.open(index);
    IndexSearcher searcher = new IndexSearcher(reader);
    TopScoreDocCollector collector = TopScoreDocCollector.create(hitsPerPage, true);
    searcher.search(q, collector);
    ScoreDoc[] hits = collector.topDocs().scoreDocs;
    
    // 4. display results
    System.out.println("Found " + hits.length + " hits.");
    for(int i=0;i

Main | Next page »

Profile

Edy Setiawan

[email protected] (email)

+62 8569 397 0398 (whatsapp)

ydesetiawan (line)

(Developer) by

My Certificate

Special Mention Winner INAICTA 2012

Nominator INAICTA 2012

Merid Award INAICTA 2011

Nominator INAICTA 2011

Indonesia Mobile Application Contest 2011

Mobile Aplication Festival 2011

Indonesia OpenSource Award 2010