Senin, 06 Oktober 2014

Cara mudah merapikan source code di Eclipse

Sedikit tips bagi teman-teman yang suka ngoding di Eclipse dan sedikit malas untuk merapikan kodingan. Mungkin kalau kodingannya sedikit masih enak-lahh buat dirapikan sendiri. Tapi kalau kodingannya udah ribuan? Lama-lama malas juga... Nahh supaya gampang merapikannya ternyata Eclipse sudah ada fitur untuk merapikannya.

Misal nih, gw ada beberapa baris kodingan yang sengaja tidak rapi. Tinggal di-block baris kodingan yang mau dirapikan atau kalau mau semuanya tinggal ctrl+a.



Nahh setelah di-block tinggal ke menu Source -> Format



Tadaa.... Kodingannya otomatis jadi rapih... :D





Kamis, 11 September 2014

Secarik kertas yang berisi harapan dan impian | Believe in your dreams

Udah lama banget sepertinya nggak curhat-curhat disini. Haha, maafkan kakanda ohh adinda... Apadaya kakanda sekarang lagi malas nulis apalagi curhat. Sedang sibuk dengan ketidaksibukan ini. #sambilnyanyi

Tadi tumben-tumbenan curhat di Instagram. Intinya sih bukannya mau sombong atas apa yang udah diraih, tapi pengen jadiin itu sebagai motivasi bagi adek-adek gw yang sekarang lagi kuliah supaya jangan takut bermimpi. Nggak ada yang nggak mungkin selama kita mau berdoa dan berusaha.

Ada quote yang paling berkesan saat ikutan training motivasi pas awal kuliah dan sampai sekarang masih gw ingat dan gw terapin: *dengan sedikit penambahan dan pengurangan :3

"Tulis impianmu di kertas! Biarkan pensil-pensil itu menari diatas kertas dengan ide-ide brilian kalian dan biarkan Allah yang memegang penghapusnya"

Yapp... Impian-impian dan target semuanya gw tulis di kertas. Kenapa harus dikertas? Kenapa nggak diingat aja di otak? Hmm... Karena terkadang kita lupa dengan apa yang kita targetkan. Dengan menulis semuanya dikertas otomatis tidak ada satu-pun yang terlewatkan. Kita bisa melihat daftar target dan impian kita sebelum tidur dan menargetkan dalam waktu dekat kira-kira target apa yang bisa dicoret dan capai. Terkadang kita juga nggak sadar ternyata ada target yang sudah kita capai dan belum sempat kita coret dari list target-target tersebut.

Seperti kata quote diatas 'Biarkan Allah yang memegang penghapusnya'. Terkadang tidak semua target yang kita tulis tersebut tercapai walaupun kita sudah berusaha sebisa kita. Tapi yakinlah, tidak ada usaha yang sia-sia. Mungkin Allah sudah menyiapkan sesuatu yang lebih dahsyat untuk kalian. Karena 'Allah selalu memberikan apa yang benar-benar kita butuhkan, bukan apa yang kita inginkan'.

Nggak usah jauh-jauh ngasih contoh orang-orang hebat disana. Contohnya saja saya pribadi, yaaa walaupun jauh kalau dibilang orang hebat. Masih banyak temen-temen disana yang lebih hebat dari gw pastinya. Tapi yaa setidaknya gw hebat bagi diri gw sendiri! Haha... Berikut beberapa postingan saya di Instagram,

Ohh iya jangan lupa follow akun Instagram aku ya kakaghh... :3
Disini nih -> http://instagram.com/priawadi



1. Salah satu wishlist yg melampaui target. Hehehe, awalnya nulis target 'sebelum wisuda bisa banggain IPB dgn menang lomba skala Nasional' ehh Alhamdulillah malah nggak sengaja dapat yg Internasional juga. 'Allah memberikan apa yg benar-benar kita butuhkan, bukan apa yg kita inginkan'. #certificate #international #acer #incrediblegreencontest #taiwan #taise #acerfoundation #latepost



2. Target lainnya kemarin nulis 'sebelum wisuda pengen nulis dan nerbitin buku tutorial supaya nama gw bisa terkenal setidaknya oleh orang-orang IT di Indonesia'. Yaa walaupun nggak kesampaian, udah nulis setengah gara-gara sibuk sana sini malah males ngelanjutin. Hoho... Ehh nggak jadi nulis buku malah karya gw yg ditulis di buku 'Indonesia 105 Innovations' trus skripsi gw di publish diberbagai koran maupun situs berita online kyk NGI, JPNN, Rakyat Bengkulu, Pariwara IPB, dll. Woghh... How lucky I am... :) Ada lgy nulis 'sebelum wisuda harus jalan-jalan ke luar negeri tpi bukan pakai duit pribadi'. Paper udah lolos sana-sini tpi apa daya kurang jago nyari sponsor, akhirnya nggak ada yg jadi berangkat. Ehh... Ujug2 sebelum wisuda malah kerja di Luar Negeri. Hoho... "Fabiayyi 'ala irobbikuma tukadziban (Maka nikmat Tuhanmu yg manakah yg kamu dustakan?)"

Sebagai sebuah catatan dan pengingat bagi kita dan gw pastinya:

Allah mengingatkan manusia hingga berulang sampai 31 kali dengan kalimat yang sama, dengan jumlah huruf yang sama agar manusia mudah mengingatnya dan pandai bersyukur.

????????? ????? ?????????? ????????????

"Maka nikmat Tuhan kamu yang manakah yang kamu dustakan?" (QS. Ar-Rahman [55] )

????????? ???? ????? ??? ????????????? ????? ?????????? ???????? ?????? ??? ?????????? ????? ?????????? ????????? ???????? ????

�Dan jika kamu menghitung nikmat Allah, tidaklah dapat kamu menghinggakannya. Sesungguhnya manusia itu, sangat zalim dan sangat mengingkari (nikmat Allah).� (QS. Ibrahim [14] : 34)

Gw nggak bilang itu hasil karya gw sendiri. Semua itu berkat temen-temen dan tim gw (Coffee-dev dan P-SOFT) yang selalu menjadi inspirasi bagi gw. Aku mah apa atuh, cuman butiran ceres klo tanpa kalian dan tak lupa juga buat temen-temen Ilkom 46 IPB serta omda IMBR-Bengkulu. Mungkin, gw cuman salah satu orang yang beruntung yang bisa dekat dengan orang-orang hebat seperti kalian :)

Ohh iya, bukan berarti target gw hanya sebatas itu ya. Masih banyak target-target lainnya yang kudu gw kejar! Mumpung masih muda dan ganteng :p


Selasa, 03 Juni 2014

Tutorial Install Liferay IDE di Eclipse

Berikut 'Tutorial Install Liferay IDE di Eclipse'. Adapun Minimum Requirement-nya sebagai berikut :
  • Java 5.0 JRE
  • Eclipse Indigo JavaEE(3.7.x) - ke atas
Tahap-tahapannya sebagai berikut :
2. Selanjutnya jalankan eclipse.exe
3. Setelah Eclipse-nya sudah jalan, selanjutnya ke menu Help > Install New Software...


4. Selanjutnya klik Add... dipojok kanan 


5. Selanjutnya akan ada kotak dialog seperti dibawah. Ketik Liferay IDE untuk Name. Untuk Location isikan salah satu link dibawah :


6. Klik OK
7. Setelah itu akan ada kotak dialog seperti dibawah, selanjutnya centang dan klik tombol Next


8. Setelah semua tahapan selesai, Restart Eclipse teman-teman. 
9. Untuk memastikan Eclipse IDE sudah ter-install dengan benar di Eclipse teman-teman coba kembali ke menu Help > About Eclipse dan lihat apakah ada logo Liferay IDE di Eclipse teman-teman seperti dibawah




source : http://www.liferay.com/community/wiki/-/wiki/Main/Liferay+IDE+Installation+Guide


Rabu, 07 Mei 2014

Tutorial Cara Mengganti Domain Blogspot ke Domain Sendiri (Custom Domain)

Kali ini saya ingin mencoba membuat Tutorial tentang Cara Mengganti Domain Blogspot ke Domain Sendiri (Custom Domain). Nah, kebetulan saya beli domain di rumahweb.com. Terserah teman-teman sih sebenarnya mau dimana, cari yang nyaman menurut teman-teman aja. Sebelum membeli domain harus kita perhatikan dulu, kita cuman mau membeli domain atau dengan hosting sekalian. Bedanya apa sih?

Nah kalau pake blogspot kita bisa milih cuman mau beli domain saja atau sekalian domain+hosting. Cuman beli domain dalam hal ini semua file-file blog kita disimpan di Google, jadi nggak perlu repot-repot bayar hostingan pertahun. Tapi kelemahan cuman beli domain itu kita jadi nggak bebas berkreasi, seperti bikin email sendiri, nyetting-nyetting segala macemlah yang bakalan kita dapet kalo kita beli hostingan sendiri. Tapi kalau cuman sebatas blog mah gw rasa nggak perlulah ya buat beli hostingan, apalagi lumayan merogoh kocek kalau dihitung-hitung pertahunnya dan lagi kalau beli hosting kita harus memindahkan semua artikel yang ada di blogger ke wordpress. Jadi lumayan ribet xD

Oke lanjut ke topik. Setelah teman-teman berhasil membeli domainnya. Sekarang tinggal pengaturan lagi supaya blog temen-temen yang namadomainteman.blogspot.com menjadi domainteman.com atau apalah itu domainnya. Oyya, karena saya pake layanan dari rumahweb.com jadi tutorialnya sesuai dengan settingan di rumahweb.com ya :V

Berikut tahapan-tahapannya :
1. Kita login dulu ke http://clientzone.rumahweb.com/
2. Pada dashboard pilih Domains -> Domainku



3.  Setelah itu akan ada list nama domain yang sudah teman-teman beli. Trus dikanan pilih Manage domain.



4. Selanjutnya pilih Management Tools -> Manage DNS



5. Setelah itu klik tombol Add New Record



6. Selanjutnya isi isian untuk A Records dengan IP sebagai berikut

- IP = 216.239.32.21 TTL = 14400 selanjutnya klik tombol Add Record. Setelah itu isi lagi dengan :
- IP = 216.239.34.21 TTL = 14400 selanjutnya klik tombol Add Record. Setelah itu isi lagi dengan :
- IP = 216.239.36.21 TTL = 14400 selanjutnya klik tombol Add Record. Setelah itu isi lagi dengan :
- IP = 216.239.38.21 TTL = 14400



Setelah semuanya ditambahkan, maka kalau dilihat akan seperti ini tampilannya :


7. Untuk langkah selanjutnya teman-teman login ke Blogger. Masuk ke Setelan -> Dasar. Dibagian Penerbitan klik Tambahkan Domain Khusus




8. Selanjutnya masukkan alamat domain baru teman-teman kedalam form yang disediakan, nanti akan ada 2 buah token atau apalah itu yang diperlukan untuk mendaftarkan CNAME di rumahweb tadi.



9. Setelah itu kembali lagi ke Langkah 6. Tapi Record Type-nya diganti dengan CNAME dan disesuaikan dengan token yang ada di Blogger pada Langkah Nomer 8.
- Domain = www                             Hostname = ghs.google.com           TTL = 14400
- Domain = tokenSebelahKiri       Hostname = tokenSebelahKanan   TTL = 14400



Setelah setting DNS selesai maka kembali lagi ke blogger.com dan klik tombol Simpan. Apabila tidak ada error maka tampilannya akan segera berubah menjadi seperti dibawah :


Perlu teman-teman ketahui, proses perubahan DNS memerlukan waktu paling tidak 1-24 jam. Sehingga apabila custom domain yang teman-teman setting belum bisa diakses kemungkinan prosesnya belum selesai dan teman-teman tinggal menunggu saja dengan sabar. Tapi berdasarkan pengalaman saya sendiri, setelah selesai maka saya langsung bisa mengakses halaman custom domain saya setelah selesai melakukan setting DNS. Apabila teman-teman mengalami kesulitan tinggal menghubungi Support RumahWeb.


Semoga bermanfaat :)


Kamis, 01 Mei 2014

Tutorial Membuat Aplikasi Arah Kiblat Sederhana | Tutorial Android

Untuk tutorial kali ini kita akan mencoba membuat aplikasi arah kiblat sederhana untuk android. Yang sebenarnya sudah saya gunakan dibeberapa aplikasi. Tapi untuk yang cuman aplikasi arah kiblat aja kebetulan barusan saya upload ke Google Play, linknya ada disini : Simple Qibla Locator.

Bagaimana cara membuatnya? Silahkan ikuti step by step tutorialnya :

1. Buat projek baru dengan nama 'SimpleQiblaLocator' atau terserah teman-teman.
2. Buat kode program pada 'MainActivity.java' dan jangan lupa masukkan background di folder res -> Drawable : bg_kiblat3.png karena kebetulan pada projek ini background-nya saya namain seperti itu di kodingannya.

importandroid.app.Activity;
import android.location.Criteria;
importandroid.location.Location;
importandroid.location.LocationListener;
importandroid.location.LocationManager;
import android.os.Bundle;
importandroid.content.Context;
import android.content.pm.LabeledIntent;
import android.content.res.Resources;
import android.graphics.*;
importandroid.hardware.Sensor;
importandroid.hardware.SensorEvent;
importandroid.hardware.SensorEventListener;
importandroid.hardware.SensorManager;
import android.util.Config;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;

public class Kiblat extends Activity {

    private static final String TAG = "Compass";
   
    private SensorManager mSensorManager;
    private Sensor mSensor;
    private SampleView kiblat;
    private float[] mValues;
    private double lonMosque;
       private double latMosque;
       private LocationManager lm;
    private LocationListener locListenD;

    //for finding north direction
    private final SensorEventListener mListener = newSensorEventListener() {
        public voidonSensorChanged(SensorEvent event) {
            if (Config.DEBUG) Log.d(TAG,
                     "sensorChanged ("+ event.values[0] + ", " + event.values[1] + ", " + event.values[2] + ")");
            mValues = event.values;
            if (kiblat != null) {
                kiblat.invalidate();
            }
        }

        public voidonAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };

       @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
        mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
        kiblat = new SampleView(this);
        setContentView(kiblat);
       
        // for calling the gps
        LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        Location loc = lm.getLastKnownLocation("gps");
       
     // ask the Location Manager to send us location updates
        locListenD = new DispLocListener();
        lm.requestLocationUpdates("gps", 30000L, 10.0f, locListenD);
       
        locListenD = new DispLocListener();
        lm.requestLocationUpdates("gps", 30000L, 10.0f, locListenD);       
       }     
  
       //finding kabahlocation
    private double QiblaCount(double lngMasjid, double latMasjid) {
       doublelngKabah=39.82616111;
              doublelatKabah=21.42250833;
              doublelKlM=(lngKabah-lngMasjid);
              double sinLKLM= Math.sin(lKlM*2.0*Math.PI/360);
              double cosLKLM= Math.cos(lKlM*2.0*Math.PI/360);
              double sinLM = Math.sin(latMasjid *2.0 * Math.PI/360);
              double cosLM =  Math.cos(latMasjid *2.0 * Math.PI/360);
              double tanLK = Math.tan(latKabah*2*Math.PI/360);
              double denominator= (cosLM*tanLK)-sinLM*cosLKLM;
             
              double Qibla;
              double direction;
             
              Qibla = Math.atan2(sinLKLM, denominator)*180/Math.PI;
              direction= Qibla<0 ? Qibla+360 : Qibla;
              return direction;
      
       }

    //resume location update when we are resume
       @Override
    protected void onResume()
    {
        if (Config.DEBUG) Log.d(TAG, "onResume");
        super.onResume();

        mSensorManager.registerListener(mListener, mSensor,
                SensorManager.SENSOR_DELAY_GAME);
    }

       //stop location update when we are stop
    @Override
    protected void onStop()
    {
        if (Config.DEBUG) Log.d(TAG, "onStop");
        mSensorManager.unregisterListener(mListener);
        super.onStop();
    }

    private class SampleView extends View {
        private Paint   mPaint = new Paint();
        private Path    mPath = new Path();
        private boolean mAnimate;
             

        public SampleView(Context context) {
            super(context);

            // Construct a wedge-shaped path
            mPath.moveTo(0, -100);
            mPath.lineTo(20, 120);
            mPath.lineTo(0, 100);
            mPath.lineTo(-20, 120);
            mPath.close();
        }

        //make an arrow for pointing direction
       
        protected void onDraw(Canvas canvas) {
            Paint paint = mPaint;
           
            this.setBackgroundResource(R.drawable.bg_kiblat3);
           
            paint.setAntiAlias(true);
            paint.setColor(Color.RED);
            paint.setStyle(Paint.Style.FILL_AND_STROKE);

            int w = canvas.getWidth();
            int h = canvas.getHeight();
            int cx = w / 2;
            int cy = h / 2;
           float Qibla=(float) QiblaCount(lonMosque,latMosque);
         //   float Qiblat = mValues [0] + Qibla;
            canvas.translate(cx, cy);
            if (mValues != null) {
                canvas.rotate(-(mValues[0]+ Qibla));
            }
            canvas.drawPath(mPath, mPaint);
        }

        @Override
        protected void onAttachedToWindow() {
            mAnimate = true;
            if (Config.DEBUG) Log.d(TAG, "onAttachedToWindow. mAnimate=" + mAnimate);
            super.onAttachedToWindow();
        }

        @Override
        protected voidonDetachedFromWindow() {
            mAnimate = false;
            if (Config.DEBUG) Log.d(TAG, "onDetachedFromWindow. mAnimate=" + mAnimate);
            super.onDetachedFromWindow();
        }
   
            }
   
    private class DispLocListener implements LocationListener {
       public voidonLocationChanged(Location loc) {
       // update TextViews
        latMosque = loc.getLatitude();
        lonMosque = loc.getLongitude();
       }
      
       public voidonProviderDisabled(String provider) {
       }
      
       public voidonProviderEnabled(String provider) {
       }
      
       public voidonStatusChanged(String provider, int status, Bundle extras) {
       }
    }
}


3. Jangan lupa tambahin Permission di AndroidManifest.xml

   <uses-permission android:name="android.permission.ACCESS_LOCATION"/>
   <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
   <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
   <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

   <uses-permission android:name="android.permission.INTERNET" />

4. RUN dan lihat hasilnya





Popular Posts