Pages

Sunday, September 11, 2016

Membuat Objek Singleton ( Design Pattern : Singleton )

Object Oriented Programming memiliki beberapa macam design pattern. Salah satu yang paling umum dan dikenal adalah Singleton.
Singleton adalah salah satu bagian deign pattern yang berurusan dengan cara mengatur instantiasi objek dalam aplikasi. Objek hanya di buat sekali selama aplikasi hidup.

Berikut adalah syarat untuk membuat suatu class mengikuti design pattern singleton.

1. Membuat private constructor
Private constructor menyebabkan instantiasi objek tidak bisa dilakukan dari luar class.

Class ObjectSingleton {
    // memaksa instantiasi objek di level class ini sendiri
    private ObjectSingleton(){
        // optional code
    }
}

2. Membuat static method getter object singleton
Menyediakan wadah agar class lain bisa mendapatkan objek singleton tanpa harus instantiasi objek itu sendiri dikarenakan method getter nya menggunakan static.

Class ObjectSingleton {
    private static ObjectSingleton objectSingleton;
    private ObjectSingleton(){
        // optional code
    }
    // memaksa agar hanya lewat method ini saja instantiasi 1x dan pemanggilan objek singleton.
    public static getOjectSingleton (){
       if (objectSingleton == null) {
         objectSingleton = new ObjectSingleton();
     }
}
3. Meng-override clone method
Mengantisipasi dan menghalangi cloning pada objek singleton.

// memaksa throw exception ketika ada yang mencoba meng clone ObjectSingleton.
public Object clone() throws CloneNotSupportedException {
       throw new CloneNotSupportedException();
}

4, (Optional) Membuat method getter object singleton menjadi synchronized
Jika berhadapan dengan multi thread aplikasi, makan synchronized diperlukan untuk mengantisipasi ada 2 thread yang secara bersamaan mengakses method untuk mendapatkan objek singleton.

public static synchronized getOjectSingleton (){
       if (objectSingleton == null) {
         objectSingleton = new ObjectSingleton();
     }

Design Pattern Singleton adalah salah satu pemecahan masalah masalah umum yang dihadapi dalam rekayasa perangkat lunak (Software Engineering). Implementasi Singleton dapat ditemui dalam class Connection milik Java.

Semoga sharing ini membantu kita semua.


Just collecting notes and sharing.. Please let me know if there are wrong statements in this article or a copy-paste one

Friday, November 28, 2014

Mengupas Tentang Usus Buntu

Oleh: dr. Adithia Kwee
Klikdokter.com - Usus buntu (umbai cacing) adalah sebuah organ yang bentuknya menyerupai cacing, dan merupakan perpanjangan dari sekum (bagian dari usus besar). Panjang dari usus buntu biasanya sekitar 8-10 cm namun dapat bervariasi dari 2 hingga 20 cm.
Apendisitis (radang usus buntu) merupakan sebuah prosses peradangan yang terjadi pada lapisan dalam dari apendiks (usus buntu), yang menyebar hingga ke area disekitarnya. Peradangan pada daerah ini menyebabkan rasa nyeri yang luar biasa dan dapat menyebabkan kematian jika terlambat mencari pertolongan.
Beberapa mitos yang sering terdengar mengenai apendisitis misalnya:


  1. MITOS: Makan jambu biji, atau cabai dapat menyebabkan terjadinya radang usus buntu.
FAKTA: SALAH.
Seorang rekan spesialis bedah yang sudah lebih dari sering melakukan apendectomi (operasi pengangkatan usus buntu) tidak pernah menemukan sebutir biji jambu maupun biji cabai. 


  1. MITOS: Lari setelah makan menyebabkan usus buntu.
FAKTA: SALAH.
Sama sekali tidak ada hubungannya. Sebenarnya, secara medis radang usus buntu ini terjadi karena adanya sumbatan pada lumen usus. Penyumbatan ini menyebabkan terjadinya peningkatan tekanan didalam lumen usus, sumbatan ini yang menyebabkan sekresi cairan usus menumpuk dan dimanfaatkan oleh bakteri-bakteri dalam usus yang bertumbuh subur. Bakteri ini mengaktifasi pertahanan tubuh melalui sel darah putih, maka terbentuklah pus (nanah) yang  membuat tekanan didalam usus semakin tinggi.

  1. MITOS: Usus buntu adalah salah satu organ yang tidak memiliki fungsi
FAKTA: SALAH.
Prof, Loren G. Martin dari Oklahoma State University, berpendapat bahwa usus buntu memiliki dwifungsi pada manusia, yakni:
·         Ketika manusia berupa janin di kandungan ibu
Pada usia janin 11 minggu, apendiks mengambil peran penting dalam proses mekanisme kontrol biologis. Dimana apendiks mengambil kendali dalam proses ketahanan atau mekanisme pengaturan lingkungan keseimbangan yang dinamis secara konsisten. Dimana Martin dalam penelitiannya berhasil membuktikan bahwa ditemukan sel endokrin pada janin yang berusia 11 minggu.
  ·         Ketika manusia berusia dewasa
Sementara pada tubuh manusia berusia dewasa, apendiks memiliki fungsi sebagai organ limfatik. Dalam penelitiannya pula Martin menemukan bahwa apendiks memiliki kandungan sel limfoid yang mengindikasikan kuatnya kemungkinan apendiks mengambil peran dalam mekanisme sistem imun manusia.
Setelah mengetahui penyebab dari penyakit berbahaya ini, tentunya sekarang pikiran kita jadi semakin terbuka bukan? Bagi Anda yang ingin mengetahui lebih jauh mengenai topik ini, silakan ajukan pertanyaan Anda di fitur Tanya Dokter Klikdokter.com di laman website kami.[](AK)

Just collecting notes and sharing.. Please let me know if there are wrong statements in this article or a copy-paste one.


http://id.she.yahoo.com/fakta-mitos-usus-buntu-100849447.html

Thursday, January 23, 2014

A Brief Description about JSP, Servlet and JSF

Java Server Pages (JSP)

JSP is a Java view technology running on the server machine which allows you to write template text in (the client side languages like HTML, CSS, JavaScript and so on). JSP supports the so-called taglibs which are backed by pieces of Java code with which you can control the page flow and/or output dynamically (programmatically). A well known taglib is JSTL. JSP also supports Expression Language which can be used to access backend data (actually, the attributes which are available in page, request, session and application scopes), mostly in combination with taglibs.

When a JSP is requested for the first time or when the webapp starts up, the servlet container will compile it into a class extending HttpServlet and use it during the webapp's lifetime. You can find the generated source code in the server's work directory. In for example Tomcat, it's the /work directory. On a JSP request, the servletcontainer will execute the compiled JSP class and send the generated output (usually just HTML/CSS/JS) through the webserver over network to the client side which in turn displays it in the webbrowser.

Servlets

Servlet is an Java application programming interface (API) running on the server machine which can intercept on the requests made by the client and can generate/send a response accordingly. A well known example is the HttpServlet which provides methods to hook on HTTP requests using the popular HTTP methods such as GET and POST. You can configure HttpServlets to listen on a certain HTTP URL pattern, which is configureable in web.xml, or more recently with Java EE 6, with @WebServlet annotation.

When a Servlet is requested for the first time or when the webapp starts up, the servlet container will create an instance of it and keep it in memory during webapp's lifetime. The same instance will be reused for every incoming request whose URL matches the servlet's URL pattern. You can access the request data by HttpServletRequest and handle the response by HttpServletResponse. Both objects are available as method arguments inside any of the overridden methods of HttpServlet, such as doGet() and doPost().

JSF (JavaServer Faces)

JSF is a component based MVC framework which is built on top of the Servlet API and provides components in flavor of taglibs which can be used in JSP or any other Java based view technology such as Facelets. Facelets is much more suited to JSF than JSP. It namely provides great templating capabilities such as composite components, while JSP basically only offers the for templating, so that you're forced to create custom components with raw Java code (which is a bit opaque and a lot of tedious work in JSF) when you want to replace a repeated group of components by a single component. If you can, I recommend to drop JSP and go for Facelets when you want to develop with JSF.

As being a MVC (Model-View-Controller) framework, JSF provides the FacesServlet as the sole request-response Controller. It takes all the standard and tedious HTTP request/response work from your hands, such as gathering user input, validating/converting them, putting them in model objects, invoking actions and rendering the response. This way you end up with basically a JSP or Facelets (XHTML) page for View and a Javabean class as Model. The JSF components are been used to bind the view with the model (such as your ASP.NET web control does) and the FacesServlet uses the JSF component tree to do all the work.

Just collecting notes and sharing..
Source : stackoverflow.com posted by BalusC

Thursday, October 31, 2013

Metering Configuration in Smartphone Camera

Sekedar catatan
Baru dapet info tentang "Metering" konfigurasi yang pada umumnya dimiliki kamera smartphone atau handphone.

Metering itu fungsinya untuk pengaturan Exposure nya. Apa itu exposure?
Exposure itu sendiri adalah jumlah cahaya yang digunakan untuk menerangi setiap area dalam fotografi.
exposure is the amount of light allowed to fall on each area unit of a photographic medium (photographic film or image sensor) during the process of taking a photograph
  Kan kalo pada hp, kita ga bisa ngatur Shutter Speed, Aperture, semua automatic. Nah untuk mengitung apakah terang nya segini cukup / tidak kan butuh dihitung oleh si software, si metering itu adalah jenis / metode pengitungannya.

Ini contohnya :

Center Weighted

Pada Center Weighted, zona merah adalah zona yang diperhitungkan sebagai dasar penentuan apakah keterangan ( overexposed ) atau kegelapan ( underexposed ) atau pas.



Center Weighted biasanya dipakai untuk foto orang, foto headshot, atau foto objek yang letaknya di tengah-tengah frame.

Matrix



Pada Matrix, seluruh titik pada frame digunakan untuk penentuan exposure nya. [B]Mode Matrix ini lah yang cocok untuk penggunaan sehari-hari[/B] :)

Spot



Pada spot, yang dipergunakan sebagai penentuan exposure hanyalah titik yang di tengah-tengah frame. Spot biasanya dipakai untuk foto Bulan, siluet, atau foto orang dengan keadaan background yang sangat terang ( backlit ).


Ini contoh foto bulan pakai metering spot

exposure bulannya pas, karena pada Spot, yang diitung hanya si bulannya, tidak memperhitungkan keadaan seklilingnya yang gelap.

bandingkan dengan pakai metering center weighted / matrix

bulannya menjadi keterangan / gak keliatan. Ini karena mengkompensasi sekelilingnya yang gelap, jadi si software menganggap fotonya underexposure, makanya dinaikin. Akibatnya, si bulan malah jadi overexposure.


Just collecting notes and sharing.. Please let me know if there are wrong statements in this article or a copy-paste one.

Wednesday, July 3, 2013

6 Makanan Murah Meriah Bernutrisi Tinggi Pencegah Kanker

Superfood adalah setiap jenis makanan yang mengandung nutrisi lengkap penunjang kesehatan. Sederhananya, superfood adalah makanan yang kaya akan bahan kimia tertentu yang mempromosikan perbaikan sel secara efisien, terutama bagi Anda yang memiliki aktivitas yang tinggi. Dan yang paling penting, superfood tidak harus makanan dengan harga mahal, karena di sekitar kita banyak sekali superfood yang memberikan manfaat terbaik bagi kesehatan dengan harga terjangkau. Berikut di antaranya:

Tomat

Tomat mengandung lycopene yang sangat tinggi. Lycopene merupakan antioksidan yang mendukung kesehatan prostat dan membantu mencegah penyakit kardiovaskular. Para ahli medis sering menganjurkan para pria untuk gemar mengonsumsi tomat untuk kesuburan dan umur panjang.
Kelebihan lainnya, tomat bisa menjadi makanan fleksibel yang bisa dikonsumsi dalam keadaan mentah dan dapat dihidangkan dengan makanan lain tanpa mengganggu penampilan atau cita rasa makanan tersebut.

Brokoli

Seperti halnya tomat yang mengandung nutrisi penting untuk mencegah kanker prostat dan meningkatkan kesehatan secara keseluruhan, brokoli juga diperkaya zat anti kanker yang disebut sulforaphane. Beberapa jenis kanker yang bisa dicegah dengan brokoli adalah kanker payudara, rahim, kelenjar prostat, usus, ginjal, hati dan paru-paru.
Dalam beberapa literatur disebutkan brokoli juga mengandung vitamin C dan serat makanan dalam jumlah banyak, sehingga baik untuk meningkatkan daya tahan tubuh dan menjaga kesehatan sistem pencernaan.

Kerang

Sebuah penelitian di Jepang yang di muat dalam jurnal Circulation, Januari 2006 menyebutkan, mengonsumsi kerang minimal 1-3 kali per bulan dapat mencegah serangan stroke iskemik dan serangan jantung. Kerang mengandung asam lemak omega 3 yang berperan menurunkan risiko terjadinya penyakit jantung koroner dan penyakit kardivaskular lainnya.
Kerang juga diperkaya dengan zinc yang ditengarai dapat meningkatkan produksi hormon testosteron pada pria. Hormon ini berperan penting untuk meningkatkan kesuburan pria.

Tempe

Tempe bisa dijadikan alternatif pengganti daging. Sebab, tempe merupakan bahan pangan berprotein nabati yang bernilai tinggi. 100 gram tempe mengandung 18,3 protein, sedangkan 100 gram daging mengandung 18,8 dan 100 gram telur mengandung 12,2 protein. Karena proteinnya yang hampir sama dengan daging, maka tempe bisa dijadikan pilihan tepat sebagai superfood murah meriah.

Jamur

Jamur adalah ciptaan alam yang paling unik karena mereka bukanlah tanaman sungguhan yang bahkan tidak memiliki akar. Jamur adalah anggota dari keluarga fungi. Anda tidak perlu meragukan kehebatan jamur karena semua jenis jamur mengandung kandungan gizi yang tinggi seperti selenium, vitamin B kompleks, tryptophan, tembaga, dan kalium bersamaan dengan fitonutrien. Jamur memiliki kekuatan antioksidan hebat untuk membersihkan tubuh dari radikal bebas berbahaya.

Semangka

Lebih dari 90 persen komposisi semangka terdiri dari air. Kandungan air dalam semangka diperkaya dengan vitamin dan mineral penting seperti beta karoten, lutein, zeaxanthin, kalium dan magnesium.
Beta karoten, lutein, dan zeaxanthin bekerja sama melindungi kesehatan mata dari macular degenaration, atau penurunan fungsi mata akibat bertambahnya usia. Sedangkan kalium dan magnesium membantu fungsi insulin dalam mengendalikan gula darah (mencegah diabetes).


Sumber: yahoo
Just collecting notes and sharing.. Please let me know if there are wrong statements in this article or a copy-paste one.

Thursday, May 9, 2013

Media Transfer Porotocol (MTP) pada Android v4.0 ICS keatas

Sudah lama banget pengen tulis artikel tentang MTP pada Android

Sebuah standarisasi yang ditetapkan oleh Google sebagai protocol media sharing antara PC dan Handheld Android sejak versi 4.0 release.
Sebenarnya MTP sendiri sudah muncul /diperkenalkan sejak Honeycomb, namun baru dijadikan standard semenjak versi 4.0 ICS. (Correct me if Im wrong).
Protocol ini agak berbeda dari USB Mass Storage (UMS) yang kita kenal dulu. Dimana setiap kali mencolok kabel data ke PC, kita harus memilih sebagai Mass Storage Mode.


Sebenarnya jujur, saya lebih prefer menggunakan Mass Storage Mode dibandingkan dengan MTP karena terlihat lebih mudah dan cepat. Tapi ternyata MTP lebih memiliki banyak benefit dibandingkan dengan USB Storage.
MTP adalah bagian dari custom extension PTP (Picture Transfer Protocol) yang memperbolehkan transfer file berikut "metada" nya. Jika belum tau metada, metada semacam informasi kecil yang menempel pada file. Contoh simplenya seperti file MP3 yang memiliki informasi Judul, Artist, Genre, Album, dll.

Tahun 2008, USB Implementer Forum Device melakukan standarisasi MTP sebagai tipe USB Device.
Jika anda menyadari, MP3 Player, PDA jadul sangat mungkin mereka menggunakan MTP. Kamera digital juga menggunakan PTP sebagai perantaranya. Loh, berarti ini teknologi lama dong?
Tepat, ini adalah teknologi yang lama namun baru diperkenalkan oleh Android versi 3.0 dan dijadikan standard sejak versi 4.0.




Singkatnya MTP menghentikan OEM dan operator (jika di US ato negara lain smartphone dijual dan dicustom oleh operator seluler) memberikan banyak "storage space" (sisa memory hp) tapi memberikan sedikit ruang / space untuk aplikasi.
Berikut kutipan dari Dan Morril seorang Android Engineer
We didn't do this because we wanted to use ext3 (although that is a side benefit.) We did it because we wanted to be able to merge the "public shared storage" (i.e. for music and photos) with the internal private app storage.
We got tired of seeing OEMs include many GB of internal storage for music, while users were still running out of space for apps and data. This approach lets us merge everything on one volume, which is way better. 

Intinya adalah Ia ingin storage untuk penyimpanan aplikasi dan user storage (music, video, document, foto) pada smartphone bisa saling sharing, sehingga kapasitas memori benar benar digunakan seluruhnya, tidak terpisah-pisah.

Dengan MTP, maka tidak ada lagi kapasitas (storage) yang dianggap partisi lain sehingga penggunaan jd maksimal. Android juga jadi bisa menggunakan partisi ext3 (Linux partition type) yg performanya lebih cepat.

OEM bisa menyediakan slot SDCard external untuk penambahan kapasitas. Karena itu kita sering melihat akan ada keanehan atau kerusakan jika kita menginstall aplikasi di external memory dan ini biasanya terjadi pada widget ato core aplikasi seperti monitoring dll.

Just collecting notes and sharing.. Please let me know if there are wrong statements in this article or a copy-paste one.


Sumber: http://www.androidcentral.com

IP ( Ingress Protection ) Rating

Latar Belakang:
IP57 dan IP67. Dua kode tersebut pernah saya dengar dari sebuah spesifikasi smartphone Android seperti Motorola Defy, Xperia Active, dan yang terakhir adalah hp sangat powerful saat tulisan ini ditulis yaitu Sony Xperia Z.
Sejauh yang saya tau jarang ada hp dengan sertifikasi IP57 namun memiliki hardware yang sangat high end (Xperia Z)
Ok, cukup promosinya mungkin, yang saya mao dokumentasikan disini adalah tentang sertifikasi tersebut.

IP atau Ingress Protection adalah sertifikasi suatu benda terhadap material debu dan air.
IP rating ini di develop oleh European Committee for Electro Technical Standardization (CENELEC(NEMA IEC 60529 Degrees of Protection Provided by Enclosures - IP Code) yang biasanya ditunjukkan oleh 2 atau 3 angka.
contoh: IP56, dll
Angka pertama menunjukkan rating terhadap benda/objek padat (solid objects). Sedangkan angka kedua menunjukan rating terhadap objek cair.
Angka ketiga (jika ada) menunjukkan ketahanan terhadap benturan mekanik (biasanya dihilangkan karena tidak sesuai spesifikasi IEC.

Berikut tabelnya yang saya ambil dari sumber terpercaya (tanpa diterjemahkan lagi)
IP First number - Protection against solid objects
0  No special protection
1  Protected against solid objects over 50 mm, e.g. accidental touch by persons hands.
2  Protected against solid objects over 12 mm, e.g. persons fingers.
3  Protected against solid objects over 2.5 mm (tools and wires).
4  Protected against solid objects over 1 mm (tools, wires, and small wires).
5  Protected against dust limited ingress (no harmful deposit).
6  Totally protected against dust.
IP Second number - Protection against liquids
0  No protection.
1  Protection against vertically falling drops of water e.g. condensation.
2  Protection against direct sprays of water up to 15o from the vertical.
3  Protected against direct sprays of water up to 60o from the vertical.
4  Protection against water sprayed from all directions - limited ingress permitted.
5  Protected against low pressure jets of water from all directions - limited ingress.
6  Protected against temporary flooding of water, e.g. for use on ship decks - limited ingress permitted.
7  Protected against the effect of immersion between 15 cm and 1 m.
8  Protects against long periods of immersion under pressure.

IP Third number - Protection against mechanical impacts (commonly omitted, the third number is not a part of IEC 60529)
0  No protection.
1  Protects against impact of 0.225 joule (e.g. 150 g weight falling from 15 cm height).
2  Protected against impact of 0.375 joule (e.g. 250 g weight falling from 15 cm height).
3  Protected against impact of 0.5 joule (e.g. 250 g weight falling from 20 cm height).
4  Protected against impact of 2.0 joule (e.g. 500 g weight falling from 40 cm height).
5  Protected against impact of 6.0 joule (e.g. 1.5 kg weight falling from 40 cm height).
6  Protected against impact of 20.0 joule (e.g. 5 kg weight falling from 40 cm height).
Jika dilihat, Xperia Z memiliki sertifikasi IP57 maka:
5 --->  Terlindung dari debu dalam jumlah terbatas dan aman?
7 -->   Terlindung jika ditenggelamkan / didiamkan antara 15cm - 1meter kedalaman air

Semoga informasi berguna buat saya dan juga buat pembaca.
Thanks!

Source:
http://www.engineeringtoolbox.com
http://gerranek.blogspot.com
http://www.sensorsone.co.uk

Just collecting notes and sharing..