Random

Debug HTML, CSS dan Javascript dengan Google Chrome

Hey Gwener's, What's Up!
Sobat sering mendesign HTML atau template untuk suatu website ataupun blog. Terkadang kita juga permencoba melihat hasil yang telah dibuat. Tentunya juga menggunakan browser. Namun terkadang hasil yang ditampilkan ternyata tidak sesuai, hal bisa saja kesalah yang telah kita buat sendiri. Untuk mencari kesalahan ini tentu kita perlu mendebug design HTML tersebut agar menemukan penyebabnya.
Sebenarnya sobat juga tidak perlu tools ataupun software tambahan untuk melakukan ini. Jika sobat sering menggunakan browser yang telah dilengkapi dengan firebug atau fitur untuk mendebug suatu halaman web sehingga bisa melihat secara detail tag HTML berserta CSS yang digunakan. Selain itu juga bisa memanipulasi javascript yang digunakan.
Google Chrome inspect element
Google Chrome adalah salah satu solusinya. Google Chrome menyediakan inspect element untuk melihat tag html beserta CSS yang diterapkan pada tag tersebut. Selain itu bisa langsung dimanipulasi dan disesuaikan untuk memperbaiki jika diperlukan. Namun yang paling penting dari Google Chrome ini adalah fasilitas untuk debug javascript.
Javasript yang diterapkan pada suatu halaman web bisa dimanipulasi menggunakan Browser Google Chrome ini. Melalui layanan console kita dapat mengubah atau membuat sebuah variable javascript dan mejalankan serta mengekseskusinya. Sehingga ketika sobat membuat sebuah library javascript bisa langsung dicoba menggunakan tools ini.
Caranya pun sangat sederhana sobat bisa langsung membuka tools ini dengan menekan tombol F12 atau dengan cara klik kanan lalu pilih menu Inspect Element, secara otomatis akan muncul window baru yang menampilkan tag dan descripsi halaman web yang sedang dibuka. Dengan tools inilah kita bisa langsung memanipulasi halaman tersebut. Mulai dari tag setiap element hingga javascript yang digunakan. Mudah kan? silahkan dicoba

8:00 AM Read more »
Belajar algoritma dan pemograman

Hey Gwener's, What's Up!
Belajar algoritma pemograman adalah suatu hal yang penting sebelum menerapkannya dalam suatu aplikasi atau program tertentu yang akan dibangun. Program tanpa algorima yang jelas akan membuat jalannya aplikasi belum tentu sesuai dengan apa yang diharapkan. Membuat alur yang tepat dan sesuai dengan target inilah tujuan dari suatu algorima.
Pernahkah sobat membuat suatu aplikasi namun tidak tahu dari mana harus memulai? tentu bukan menjadi awal yang baik. Sebuah aplikasi atau program harus mempunyai tujuan tertentu yang harus dilakukannya. Misalkan program untuk mencatat data-data pribadi. Maka yang perlu dipikirkan adalah bagaimana promgram tersebut dapat mengolah data yang diinput dan menyimpannya dalam suatu database serta menampilkan hasil sehingga program dapat berjalan dengan baik.
Algoritma pemograman
Apa manfaat algorima? sebuah algorima tentunya bertujuan menentukan alur suatu pemograman. Algoritma suatu promgram biasanya digambarkan dalam bentuk flowchart. Yakni semacam diagar alir yang mejelasakan proses -proses yang mesti dijalakan oleh suatu program tertentu.
Algoritma tidak sekedar flowchart, namun bisa menjadi lebih kompleks. Algorima mestinya dapat menjelaskan cara dan bagaimana mengeksekusi suatu proses. Sehingga mendapatkan hasil yang diharapkan. Sederhanya misalnya kita kan membuat suatu hitungan dari suatu perkalian. Maka algoritma harus dapat menjelaskan bagaimana suatu aplikasi dapat mendapatkan hasil perkalian tersebut.
Cara inilah yang dinamakan algoritma. Semua aplikasi atau pemograman pastilah memiliki algoritma. Sehingga sebelum memulainya yang perlu kita pelajari adalah algoritma pemograman tersebut. Apa dan bagaimana proses yang akan dilakukan oleh aplikasi. Demikian penjelasan algoritma ini. Semoga bermanfaat.

8:00 AM Read more »
Notepad++ untuk editor berbagai macam file

Hey Gwener's, What's Up!
Sebagai developer yang harus menguasai berbagai jenis pemograman tentu akan membutuhkan juga berbagai macam IDE yang harus digunakan. Seperti untuk android dan java kita akan membutuhkan IDE seperti Eclipse, IDE untuk develop aplikasi javaAtau menggunakan Visual Studo untuk IDE pemograman untuk .Net.
Setiap IDE ini pastinya ada yang mengguakan lisensi berbayar maupun freeware yang bisa digunakan oleh siapa saja. Jika dalam suatu PC kita harus menginstal semua IDE ini tentu akan membutuhkan space yang besar. Apalagi ketika semuanya memang dibutuhkan. Namun terkadang kita membutuhkan IDE tersebut hanya untuk mengcopile. Bagaimana jika hanya digunakan untuk mengedit file atau sebagai editor saja tidak untuk dicompile. Tentu tidak perlu menggunakan IDE seperti ini kan
Notepad ++
Jika sobat membutuhkan editor yang hanya digunakan untuk mengedit suatu file pemograman tertentu ini tools atau sofware yang bisa digunakan. Notepad++ adalah solusinya. Lebih canggih dari notepad biasa software bawaan dari windows. Notepad++ lebih memiliki banyak fitur seperti intelesense untuk setiap pemograman yang digunakan. Walaupun sebenarnya intelesense tersebut tidak begitu sensitif, namun notepad++ ini bisa digunakan untuk mengedit berbagai macam file terutama untuk pemograman.
Seperti HTML, Java ataupun .Net programing juga bisa dibangun menggunakan software ini. Notepad++ juga tersedia plugin yang bisa digunakan untuk mengkompile file yang telah dibuat. Namun lebih dari itu, notepad sangat cocok untuk sobat yang ingin memproses pemograman lebih cepat.
Nah, jika tertarik silah langsung saja dicoba aplikasi ini, Gratis kok! jadi tidak perlu khawatir tentang lisensi notepad++ ini. Semoga bermanfaat.
8:00 AM Read more »
Microsoft Remote Desktop tersedia di Play Store

Hey Gwener's, What's Up!
Sobat sering atau pernah menjadi administrator suatu server, terutama server dengan OS windows? Tentu sering melakukan remote desktop untuk mengecek dan memaintenance kesehatan server tersebut. Atau melakukan hal yang berkaitan dengan server tersebut. Remote desktop berfunsi sebagai kendali jarak jauh menggunakan suatu jaringan tertentu.
2 PC atau lebih yang terhubung dalam suatu jaringan dapat berkomunikasi satu sama lain. Salah satunya adalah remote desktop. Seperti namanya cara ini merupakan alternatif untuk menjaga keamanan server dari tangan-tangan jail, sehingga pengguna hanya dapat mengakses server atau PC tertentu melalui jaringan yang tersedia.
Remote desktop sebenarnya memiliki keuntungan tersendiri. Karena bisa diakses pada jarang jauh maka akan mempermudah pekerjaan sebagai administrator atau keperluan lainnya. Untuk memaintenance PC tidak harus langsung berhadapan dengan PC tersebut.
Microsoft Remote Desktop
Sebagai fitur yang paling sering digunakan oleh penggunanya, microsoft pun menghadirkan remote desktop client yang bisa digunakan pada gadget android yang sobat gunakan. Pernahkah membayangankan mengakses PC atau laptop sobat dari gadget yang sobat bawa sehari-hari? ya, kini hal tersebut bisa terwujud, Berkat terobosan baru dari microsoft ini.
Microsoft remote desktop ini hadir di Play Store sebagai solusi bagi pengguna yang aktif dalam mobilitasnya, sehingga dimanapun berada tetap dapat memantau perkembangan suatu PC atau server tertentu. Bisa menggunakan jaringan internet maupun jaringan wifi ataupun lokal yang tersedia. Inilah kelebihan unik dari mirosoft remote desktop untuk gadget ini.

Untuk saat ini saya sendiri baru mencoba remote desktop ini pada gadget dengan OS android saja, untuk os lain saya belum mengetahui bahkan mencobanya. Namun sejauh ini remote desktop untuk gadget android ini sangat efektif sekali dan mudah digunakan. Virtual keyboard juga disediakan sehingga semua aktvitas remote desktop seperti biasanya bisa dilakukan.
8:00 AM Read more »
CodeProject untuk mencari contoh-contoh pemograman

Hey Gwener's, What's Up!
Sebagai developer atau programer tentu kita akan membutuhkan referensi code tertentu untuk mencoba menggunakan suatu fasilitas atau library tertentu. Tak sedikit pula yang menjual contoh penerapan code tertentu secara online. Namun sebenarnya banyak referensi juga yang bisa sobat gunakan seperti Stackoverflow referensi pemograman paling valid. Namun demikian stackoverflow lebih condong ke arah yang lebih simple. Untuk mendapatkan contoh-contoh pemograman yang lebih lengkap, adakah layanan yang menyediakan secara gratis?
Tentu saja ada, Salah satunya CodeProject. Seperti namanya Code project berisi tutorial yang dilengkapi contoh code dari berbagai macam pemograman. Sama halnya media sosial, CodeProject juga meruapakan layanan berbagi antar membernya. Setiap member dapat memberikan artikel yang berkaitan dengan materi yang ingin diulas dilengkapi file penunjung seperti sample. Sehingga pembaca bisa langsung menerapkannya dan langsung mencoba.
Code Project
Apa keuntungannya menggunakan CodeProject?, karena memang layanan ini gratis jadi kita bisa mendapatkan sample yang diberikan untuk digunakan juga pada aplikasi yang sedang dibuat. Saya sendiri sering mencari contoh pemograman menggunakan code project ini. Nah, sudahkah sobat mencoba layanan ini? kalau belum silahkan langsung kunjungi website nya di www.CodeProject.com

Background saya sebagai developer .net, memang melihat code project ini kebanyakan adalah sample untuk pemograman .net, walaupun sebenarnya banyak sekali pemograman yang bisa diterapkan pada code project. Jika sobat ingin mencoba memang tidak ada salahnya, coba cari referensi yang ingin sobat gunakan menggunakan Code Project ini. Semoga bermanfaat.
8:00 AM Read more »
Stackoverflow referensi pemograman paling valid

Hey Gwener's, What's Up!
Dalam membuat suatu aplikasi dalam suatu pemograman tentu ada kalanya kita mengalami stack, dalam artian tidak tau harus melakukan apa, atau munkin tidak mengerti cara yang harus dilakukan. Mungkin banyak referensi yang bisa sobat baca baik itu melalui buku atau yang lain. Namun jika ingin mendapatkan informasi secara cepat, maka cara online adalah solusi yang tetap.
Banyak referensi pemograman yang bisa sobat gunakan untuk mendapatkan solusi terhadap masalah coding yang sobat hadapi, salah satu yang saya rekomendasikan adalah StackOverflow.com, Situs ini cukup banyak penggunanya dan telah banyak informasi yang terpecahkan dan menjadi solusi bagi yang lain.
Stack Overflow
Stack overflow merupakan sebuah komunitas online yang terdiri dari berbagai macam jenis programmer. Banyak user active yang memberikan kontribusi terhadap permasalahan yang dihadapi oleh member lain. Cara kerjanya sangat sederhana, seperti halnya social media. StackOverflow berfungsi sebagai sarana tanya jawab antar penggunanya. Tentu yang mengetahui akan suatu solusi bisa memberikan jawaban yang tepat untuk permasalahan yang dihadapai.

Nah, untuk sobat developer bisa menggunakan fasilitas dari komunitas stackoverflow ini loh, jika ada masalah tentang coding ataupun masalah pemograman yang lainnya baik itu konfigurasi dan cara-cara tertentu bisa ditanyakan langsung pada member stackoverflow ini. Orang yang berkompeten dibidang tertentu akan memberikan solusi terhadap masalah yang sobat hadapi.
Saya sering menggunakan stackoverflow ketika masalah pemograman yang saya hadapi terlalu sulit untuk diselesaikan atau mungkin cara menggunakankan sesuatu tool tertentu. Kini sudah banyak pengguna stackoverflow yang senang manfaat komunitas ini. Bagaimana dengan sobat? sudah sering menggunakannya?

8:00 PM Read more »
Get graph data on facebook

Hey Gwener's, What's Up!
Mempunyai aplikasi yang dapat berinteraksi dengan media sosial tentunya sangat membantu proses promosi. Salah satu media sosial yang paling besar adalah facebook. Banyak fitur yang disediakan untuk berinteraksi dengan media sosial ini. untuk membuatnya kita perlu memiliki API facebook dengan cara Membuat aplikasi facebook untuk platfrom android.
Menggunakan Facebook sama halnya telah memiliki fitur user management, karena semua data facebook bisa digunakan untuk keperluan aplikasi maupun game. Mulai dari data diri hingga data publik bisa diakses melalui SDK. Salah satu metode yang dapat digunakan untuk mendapatkan data dari facebook ini adalah menggunakan Graph User.
Garph Facebook data
Berikut contoh penggunaan graph user.
Request request = Request.newMeRequest(session,
 new Request.GraphUserCallback() {
  @Override
  public void onCompleted(GraphUser user, Response response) {
   if (session == Session.getActiveSession()) {
    // this user GraphUser
   }
   if (response.getError() != null) {
    handleError(response.getError());
   }
  }
 });
request.executeAsync(); 
Konsepnya sederhana, yang penting session yang dimiliki telah terbuka atau Openend selanjutnya tinggal membuat request graph data sesuai kebutuhan.
8:00 AM Read more »
Collect score other friends on facebook

Hey Gwener's, What's Up!
Mengelola score pada suatu aplikasi mobile tentu akan lebih efektif jika score bisa dilihat antar penguna satu sama lain. Sehingga akan dibutuhkan API untuk berinteraksi antar aplikasi yang digunakan oleh pengguna. Jika menggunakan cara manual tentu akan membutuhkan hosting dengan API untuk score tersebut.
Seperti yang telah saya bahas sebelumnya tentang cara Publish score on facebook. Menggunakan facebook akan lebih membantu aplikasi dalam memanagement score aplikasi. Score merupakan hasil yang didapat oleh pengguna ketika mencapai pada suatu target tertentu.
Scores
Lalu bagaimana agar score ini bisa dilihat oleh pengguna lainnya. Tentu saja bisa hal ini pun telah disediakan oleh facebook. Score yang telah dipublish bisa diakses dan dibagikan ke pengguna lainnya. Hal ini dapat menimbulkan persaingan antar pengguna untuk memiliki score yang lebih tinggi. Dengan demikian, aplikasi pun menjadi lebih menarik karena setiap pengguna dapat berinteraksi melalui facebook dengan memperhatikan score yang diperoleh.
Berikut contoh script yang bisa sobat gunakan untuk mengumpulkan score dari pengguna aplikasi dari faceboook.
String fbAppID = currentActivity.getString(R.string.app_id);
final Session session = Session.getActiveSession();

Request scoresGraphPathRequest = Request.newGraphPathRequest(session,
  fbAppID + "/scores", new Request.Callback() {
   @Override
   public void onCompleted(Response response) {
    FacebookRequestError error = response.getError();
    if (error != null) {
     Gdx.app.log(TAG, error.toString());
    } else if (session == Session.getActiveSession()) {
     if (response != null) {
      GraphObject graphObject = response.getGraphObject();
      JSONArray dataArray = (JSONArray) graphObject.getProperty("data");

      ArrayList scoreboardEntriesList = new ArrayList();

      for (int i = 0; i < dataArray.length(); i++) {
       JSONObject oneData = dataArray
         .optJSONObject(i);
       int score = oneData.optInt("score");

       JSONObject userObj = oneData
         .optJSONObject("user");
       String userID = userObj.optString("id");
       String userName = userObj.optString("name");        
      }
     }
    }
   }
  });
  
scoresGraphPathRequest.executeAsync();
8:00 AM Read more »
Publish score on facebook

Hey Gwener's, What's Up!
Membuat game atau permainan dalam sebuah aplikasi tentunya akan memiliki score dengan penilian tertentu. Namun untuk menyimpan data tersebut tentunya membutuhkan database. Selain itu jika score dapat dilihat oleh pengguna lain tentu dibutuhkan pula user management. Sehingga aplikasi akan memiliki fitur ekstra.
Score memang dibutuhkan dibeberapa permainan atau aplikasi untuk menjadi daya tarik dan kesenangan tersendiri bagi penggunanya. Score akan menjadi tantangan yang akan terus ditinggkat oleh pengguna. Inilah sebenarnya yang menjadi hal penting dalam sebuah permainan. Pengelolaan score tentu sangat penting.
Score API
Untuk era lintas platfrom saat ini, memungkinkan sebuah aplikasi atau platform untuk berinterasi dengan yang lainnya. Begitu pula aplikasi mobile seperti andoid, contoh sederhanya Membuat aplikasi facebook untuk platfrom android. Kita bisa menggunakan facebook untuk melengkapi fitur aplikasi tersebut salah satunya adalah Score API. Kita dapat menyimpan atau mem-publish score pada facebook dan dapat juga dilihat oleh pengguna lainnya. Sehingga kita dapat menghemat space untuk aplikasi karena fitur tersebut sudah banyak disediakan media sosial

Cara Mem-publish score pada facebook

Untuk mempublish score difacebook tentunya sobat telah membuat aplikasi facebook terlebih dahulu seperti contoh diatas. Aplikasi facebook inilah yang akan menjadi API untuk berinteraksi dengan facebook. Dibutuhkan namespace dan Keyhash yang menjadi inditity suatu aplikasi nantinya.

Sebagai syarat utama untuk mempublish score ini dibutuhkan pula permession, setiap permission yang berbaitan dengan aktivitas publik akan membutuhkan approvel terlebih dahulu dari team facebook. Ini dilakukan untuk menjaga keamanan pengguna facebook juga, team dari facebook ini akan mereview sejauh mana permission tersebut dibutuhkan. Nah, apa permission yang paling dibutuhkan untuk publish score ini. Yakni, publish_actions. Permission ini akan dibutuhkan untuk semua aktifitas yang berkaitan dengan mempublish pada akun facebook pengguna.

Berikut cara mendapatkan permission saat dibutuhkan untuk mem-publish score
final Session session = Session.getActiveSession();
if (session != null) {

 Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(
   currentActivity, "publish_actions")
   .setDefaultAudience(SessionDefaultAudience.FRIENDS);                 
  
 session.requestNewPublishPermissions(newPermissionsRequest);
 
}
Selanjutnya untuk mempublish score kita dapat menerapkan code berikut
final Session session = Session.getActiveSession();
private void postScore(int score) {  
 if (score > 0) {
  
  // Post the score to FB (for score stories and distribution)
  Bundle fbParams = new Bundle();
  fbParams.putString("score", "" + score);
  Request postScoreRequest = new Request(Session.getActiveSession(),
    "me/scores",
    fbParams,
    HttpMethod.POST,
    new Request.Callback() {
     @Override
     public void onCompleted(Response response) {
      FacebookRequestError error = response.getError();
      if (error != null) {      
       //handleError(error);
      } else {
       // Sucess
      }
     }
    });
  
  ThreadRequestBatch requestBatch = new ThreadRequestBatch();
  requestBatch.add(postScoreRequest);         
  currentActivity.runOnUiThread(requestBatch);
 } 
}
8:00 AM Read more »
Ajak pengguna aplikasi android menggunakan Invite Facebook

Hey Gwener's, What's Up!
Membuat sebauh aplikasi seperti untuk platfrom android tentu akan menyenangkan jika banyak pengguna yang memakainya. Apalagi sudah sampai kebelahan dunia. Apakah hal ini bisa terwujud? Tentu saja bisa, banyak cara yang bisa dilakukan salah satunya melalui media promosi. Memasang iklan melalui Google Adwords juga bisa menjadi pilihan untuk mempromosikan iklan melalui Google adsense publisher.
Untuk melakukan promosi melalui media iklan seperti diatas tentu membutuhkan biaya yang tidak sedikit. Lagi pula jika aplikasi tersebut tidak berbayar tentu hanya akan mengalami kerugian saja. Oleh karena itu perlu mensiati bentuk promosi yang lain tentunya dengan biaya yang rendah bahkan gratis. Salah satu yang bisa kita manfaatkan adalah media sosial seperti facebook.
Invite using Facebook
Hampir masyarakat diseluruh dunia ini telah mengenal facebook. Karena memang sangat terkenal, inilah kesempatan yang ingin kita manfaatkan. Berbagi aplikasi melalui medai social. Facebook menyediakan fitur aplikasi yang bisa digunakan untuk mengumpulkan atau mengajak orang lain memakainya. Mungkin sobat bisa membuatnya di sini terlebih dahulu Membuat aplikasi facebook untuk platfrom android
Salah satu manfaat membuat aplikasi pada dahsboard developer facebook ini adalah, aplikasi bisa dilihat oleh semua pengguna facebook. Dan masing-masing pengguna juga bisa mengajak satu sama lain untuk menggunakan aplikasi tersebut menggunakan fitur invite. Fitur invite facebook inilah yang bisa kita gunakan untuk mengajak orang lain untuk menggunakan aplikasi facebook.

Nah, bagaimana menggunakan invite facebook ini, tentu ini yang menjadi pertanya bagi sobat. Cara memang sangat simple. Jika sobat telah menerapkan SDK facebook terlebih dahulu pada aplikasi android yang ingin memanfaatkan fitur maka akan jauh lebih mudah. Selain invite facebook kita juga bisa menggunakan sarana share seperti Sebarkan info aplikasi dengan Share on Facebook
Bundle params = new Bundle();
params.putString("message", "Come on play this game");
  
WebDialog dialog = new WebDialog.Builder(currentActivity, 
 Session.getActiveSession(), "apprequests", params).build();
dialog.show();  
Dialog diatas secara otomatis akan menampilkan teman facebook yang ada session aktif saat ini. Dialog ini akan meminta pengguna untuk mengajak teman facebooknya menggunakan aplikasi tersebut. Sehingga secara otomatis pesan ini akan tersebar kepada teman-temannya. Begitu juga dengan temannya juga bisa melakukan invite kepada yang lainnya hingga seterus. Sehingga aplikasi seperti ini akan lebih cepat tersebar dan banyak penggunanya. Nah, sudah berniat menggunakannya, Baca dulu penggunaan sessionnya di LibGDX with Login Facebook
8:00 AM Read more »
Sebarkan info aplikasi dengan Share on Facebook

Hey Gwener's, What's Up!
Mungkin sobat sudah familiar dengan membaut aplikasi android dengan libGDX framework untuk aplikasi mobile (Java, IOS, android, html5). Terkadang pengguna juga ingin memamerkan hasil suatu aplikasi android, misalnya score yang tinggi atau temuan informasi baru yang ia dapatkan. Untuk memenuhi kebutuhan ini tentu sebuah aplikasi juga mesti terhubung dengan sebuah media sosial
Salah satu yang bisa dimanfaatkan adalah menggunakan facebook. Untuk android sendiri telah disediakan SDK bagaimana membagai informasi pada facebook. Contoh sederhana misalkan sebuah aplikasi ingin membuat sebuah postingan diwall suatu penggunakan facebook. Hal ini pun bisa dilakukan karena API yang disediakan telah memenuhi fitur ini.
Share On Facebook
Mungkin sobat memiliki pertanyaan mengapa sebuah aplikasi harus terhubung dengan media sosial seperti facebook. Tentu saja perlu, ini media sosial merupakan sarana saling berkumpul berbagai macam orang dalam dunia maya. Dengan bantuan sosial media ini kita bisa berbagi informasi satu sama lain. Inilah yang bisa kita manfaatkan untuk mengenalkan aplikasi yang kita buat kepada dunia melalui media sosial. Jadi tidak ada salahnya kita menggunakan facebook untuk membagikan informasi kepada teman-teman pengguna aplikasi tersebut.
Namun perlu diingat, facebook seperti hal nya media social lainnya tentu tidak serta merta memudahkan begitu saja sebuah aplikasi melakukan postingan ke wall sebuah pengguna. Hal itu dibatasi dengan sebuah akses atau permission. Sebelum dapat melakukan hal ini sobat harus memastikan dulu aplikasi telah mendapatkan permission yang diinginkan seperti untuk melakukan posting ke wall penggunanya. Untuk lebih jelas, silahkan dibaca pada artikel berikut Request permission with Facebook SDK

Cara Share On Facebook pada aplikasi android

Setelah mendapatkan permission untuk melakukan posting ke wall pengguna, maka kita dapat memanfaatkan fitur share on facebook ini menggunakan 2 cara. Yakni, assumsi pertama pengguna android telah menginstal aplikasi facebook dan yang kedua pengguna belum menginstal aplikasi facebook.

Share On facebook dengan Aplikasi Facebook telah terinstall pada perangkat android

Cara ini bisa dicek pada pemograman android apakah pengguna gadget tersebut telah menginstall aplikasi facebook atau tidak. Jika ditemukan kita bisa menggunakan aplikasi tersebut untuk melakukan share on facebook. Sehingga seolah-olah aplikasi kita juga terhubung dengan aplikasi facebook tersebut. Berikut selengkapnya.
String link = "http://blog.gweone.com";
String name = "All developer reference";
String caption = "Blog GweOne";
String description = "Find more information about developer here";
String picture = "http://lh5.googleusercontent.com/-7fWwEsZ_HNU/AAAAAAAAAAI/AAAAAAAAANU/y0EqE0TIivs/s46-c-k-no/photo.jpg";

if (FacebookDialog.canPresentShareDialog(currentActivity,
 FacebookDialog.ShareDialogFeature.SHARE_DIALOG)) {
 FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(
  currentActivity)
  .setLink(link)
  .setName(name)
  .setCaption(caption)
  .setPicture(picture)
  .build();

 uiHelper.trackPendingDialogCall(shareDialog.present());
}
 
Perhatikan code diatas, FacebookDialog bisa kita gunakan untuk berinteraksi dengan aplikasi facebook yang telah terinstall pada gadget pengguna android tersebut.

Share On facebook dengan Tanapa Aplikasi Facebook

Cara ini berasumsi bahwa pengguna aplikasi tidak memiliki aplikasi facebook pada gadget yang ia gunakan. Sehingga kita akan menggunakan WebDialog untuk melakukan share on facebook. Berikut contoh selengkapnya.
String link = "http://blog.gweone.com";
String name = "All developer reference";
String caption = "Blog GweOne";
String description = "Find more information about developer here";
String picture = "http://lh5.googleusercontent.com/-7fWwEsZ_HNU/AAAAAAAAAAI/AAAAAAAAANU/y0EqE0TIivs/s46-c-k-no/photo.jpg";

Bundle params = new Bundle();
params.putString("link", link);
params.putString("name", name);
params.putString("caption", caption);
params.putString("description", description);
params.putString("picture", picture);
  
WebDialog dialog = new WebDialog.Builder(currentActivity, 
 Session.getActiveSession(), currentAction, params).build();
dialog.show();   
Kedua cara diatas sebenarnya sama tujuannya untuk membagikan aktifitas pada suatu aplikasi pada facebook. Nah, bagi sobat yang ingin mencobanya juga wajib membacanya ini Membuat aplikasi facebook untuk platfrom android
8:00 AM Read more »
Request permission with Facebook SDK

Hey Gwener's, What's Up!
Dalam berinteraksi dalam sebuah aplikasi yang saling terintegrasi satu sama lain menggunakan API tertentu seperti halnya facebook tentu ada batasan atau limitasi untuk mengakses atau melakukan aksi menggunakan API tersebut. Agar batasan atau limitasi tersebut bisa dihilangkan tentu semua ini dikendalikan oleh sebuah login yang dinamakan Permission.
Permission membantu membatasi akses seseorang atau aplikasi lain terhadap suatu sumber yang menyediakan API untuk berinteraksi. Tentu tidak semua akses aplikasi bisa dilakukan. Pada dasarnya permission terdiri dari beberapa bagian seperti Read, Write atau Full Control. Dilihat dari segi kebutuhan aplikasi tentu permission ini bisa diperluas lagi agar akses yang diberikan memang sesuai dengan modul yang akan digunakan.
Request Permission facebook
Permission seperti ini pun akan kita gunakan juga ketika menggunakan Facebook untuk berinterasi dengan aplikasi yang sedang kita buat. Memang banyak API yang bisa digunakan salah satunya untuk android. Seperti Membuat aplikasi facebook untuk platfrom android. Banyak aplikasi yang menggunakan facebook untuk melakukan login sehingga aplikasi tersebut tidak perlu lagi mengelola member atau anggota aplikasi tersebut.
Facebook sebagai media sosial tersebar dan tersukses tentunya selalu memberikan invosi dalam era lintas platfrom ini. Semua data di facebook atau lebih tepatnya data pengguna facebook bisa diakses dari luar. Maksudnya digunakan untuk keperluan aplikasi lain seperti untuk aplikasi-aplikasi android ini.
Namun tidak semudah itu juga facebook memberikan akses kepada aplikasi yang ingin mengambil data atau melakukan akses tertentu terhadap data pengguna facebook. Karena semua dibatasi oleh permission. Sehingga jika ingin mendapatkan akses, maka aplikasi harus melakukan request permission sesuai kebutuhan yang akan dilakukan. Biasanya ketika request permission ini dilakukan pengguna facebook akan memberikan izin atau tidak terhadap aplikasi tersebut. Jika diberi izin maka aplikasi dapat segera melakukan aksinya

Sebagai contoh, ketika sebuah aplikasi ingin membuat postingan pada wall suatu pengguna facebook. Maka aplikasi tersebut harus memiliki akses atau permission publish_actions dari pengguna facebook tersebut. Oleh karena itu kita perlu mengecek terlebih dahulu apakah pada session yang terbentuk sudah memiliki permission tersebut sebelum melakukan aksi memposting sebuah tulisan pada wall suatu pengguna facebook.
Agar lebih jelas, saya akan coba berikan sebuah contoh penggunaan request permission pada facebook ini yang bisa diterapkan pada aplikasi yang berbasis platform android.
Session session = Session.getActiveSession();
if (session != null) {   
 
 Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(
   currentActivity, Arrays.asList(new String[]{"pubish_actions"}))
   .setDefaultAudience(SessionDefaultAudience.FRIENDS);
 session.requestNewPublishPermissions(newPermissionsRequest);
 
} 
Dengan cara diatas session yang aktif saat ini akan melakukan request permission sesaui kebutuhan aplikasi yang dibuat. Terakhir jika sobat ingin mengetahui cara login menggunakan facebook SDK silahkan baca di sini LibGDX with Login Facebook
8:00 PM Read more »
LibGDX with Login Facebook

Hey Gwener's, What's Up!
Menghubungkan aplikasi dengan menggunakan media social merupakan sebuah saran yang sangat direkomendasikan. Banyaknya media social yang muncul memungkinkan setiap aplikasi bisa dikenal oleh orang lain dengan cepat. Pengguna Facebook misalnya, hampir ada disetiap negara dan tetap berlangsung hingga saat ini, seperti tidak ada habis. Kenapa demikian? ya sebagai media social, facebook juga menghadirkan integrasi untuk menggunakan semua fitur social media yang disediakannya.
Tentu untuk mengintegrasikan media sosial seperti facebook hanya bisa dilakukan oleh developer yang memahami akan hal ini. Facebook menyediakan API dengan berbagai macam bentuk pemograman dan hampir seluruh jenis pemograman dapat diintegrasikan. Salah satunya tentu java. Tepatnya kita akan fokus pada LibGDX sebagai framework untuk aplikasi mobile (Java, IOS, android, html5)
Login with facebook

Persiapan Login Facebook

Untuk menghubungkan aplikasi dengan menggunakan facebook dibutuhkan SDK yang harus didownload terlebih dahulu. SDK ini telah disediakan oleh Facebook dan tinggal memilih pemograman yang akan digunakan. Pada contoh ini kita akan menggunakan android sebagai aplikasi yang akan dihubungkan dengan facebook.
Sebagai tahap awal pastikan sobat telah membuat aplikasi facebook sesuai deskripsi aplikasi android yang digunakan. Maksudnya adalah ini digunakan untuk berkomunikasi dengan API facebook menggunakan keyhash yang telah ditentukan sebelumnya. Untuk lebih jelasnya sobat bisa mempelajarinya dengan cara berikut Membuat aplikasi facebook untuk platfrom android

Cara Login Facebook

Inilah step dimana kita akan mencoba terhubung menggunakan facebookk. Seperti yang telah disinggung diawal kita akan menggunakan aplikasi android yang tentunya menggunakan bahasa pemograman java. Untuk membuka login session menggunakan facebook sobat bisa menggunakan code berikut.
private Session.StatusCallback sessionCallback = new Session.StatusCallback() {
 @Override
 public void call(final Session session, final SessionState state,
   final Exception exception) {
   onSessionStateChange(session, state, exception);
  
 }
};

private void onSessionStateChange(final Session session,
   SessionState state, Exception exception) { 
 if (session != null && session.isOpened()) {
  if (!state.equals(SessionState.OPENED_TOKEN_UPDATED)) {
   // Session is Openend
  }
 } 
}
Fungsi sessionCallback ini digunakan ketika pengguna aplikasi telah berhasil login menggunakan facebook. Setelah berhasil terhubung sobat bisa mengelola data dengan session facebook tersebut. Untuk membuka koneksi facebook sobat bisa lakukan dengan cara berikut
Session session = Session.getActiveSession();
if (session == null || !session.isOpened()) {
 Session.openActiveSession(currentActivity, true, sessionCallback);
}
Active Session adalah session yang sedang digunakan, kita harus memastikan bahwa session yang digunakan telah terbuka dan mendapat izin dari pengguna aplikasi tersebut. Dengan cara ini sobat sudah bisa mendapatkan session dari facebook dalam artian facebook juga telah terhubung dengan platform android melalui aplikasi yang sobat gunakan.
8:00 AM Read more »
Membuat aplikasi facebook untuk platfrom android

Hey Gwener's, What's Up!
Sebagai media sosial yang menjadi tren dari media social lainnya facebook hadir untuk memenuhi kebutuhan sosial dikalangan masyarakat tidak hanya diindonesia dibelahan dunia lainnya pun banyak pengguna aktif yang terus menggunakan facebook. Sebagai sarana berbagi dan berkomunikasi secara online tentu facebook banyak diminati terutama untuk pengguna gadget yang suka autis.
Melihat peluang ini, facebook sebenarnya dapat diintegrasikan dengan berbagai macam bahasa pemograman seperti halnya android. Banyak juga aplikasi yang bisa terhubung dengan facebook untuk memberikan data bahkan membagikan kegiatan atau aktifitas dalam aplikasi tersebut. Namun tahukah sobat bagai menggunakan facebook untuk platfrom android ini.
Facebook Connect
Pada artikel ini akan saya uraikan step by step untuk membangun aplikasi yang terintegrasi dengan facebook menggunakan platfrom android. Yang perlu kita persiapakan pertama kali adalah API dari facebook. untuk itu kita harus membuat sebuah aplikasi pada dashboard developer facebook terlebih dahulu. developer.facebook.com

Membuat Deskripsi Aplikasi

Sebelum menghubungkan facebook dengan aplikasi yang kita buat, terlebih dahulu kita harus memberikan informasi mengenai aplikasi tersebut pada facebook. Agar koneksi yang dibangun bisa saling terhubung dengan sumber yang jelas. Karena setiap aktifitas yang dilakukan akan terus dimonitor.
Buatlah sebauh aplikasi dari menu Apps -> Create App.
Create Facebook App
Berikan informasi mengenai aplikasi yang akan sobat gunakan. Assumsinya adalah dibangun diatas platfrom android. Jadi setelah berhasil membuat aplikasi ini, buka menu Settings dan pilih platform yang digunakan. Dalam hal ini kita menggunakan android.
Add Platfrom Facebook App

Menentukan Keyhash Facebook

Ada beberapa hal yang perlu sobat ketahui dalam menentukan keyhash untuk platform android ini. Keyhash berisi enckripsi yang berada pada keystore yakni sebuah signatur berisi informasi dari pembuat aplikasi android tersebut. Selama proses development aplikasi android akan membutuhkan key dari debug.keystore sementara setelah proses masuk keproduktion sobat harus menggunakan keystore yang berbebeda
Untuk menentukan keyhash ini sobat bisa mengikuti cara berikut Cara mendapatkan KeyHash untuk aplikasi android
Seletelah mendapatkan keyhash secara otomatis aplikasi sobat sudah bisa digunakan untuk terhubung dengan facebok melalui gadget android. Berikut konfigurasi selengkapnya.
Settings Facebook App
8:00 AM Read more »
Perbedaan class Game dan Screen pada Framework LibGDX

Hey Gwener's, What's Up!
Mungkin sobat sudah mulai mencoba framework mobile yang satu ini LibGDX, Let's Code with LibGDX on eclipse. Namun ada baiknya memahami terlebih dahulu struktur class dari LibGDX ini. Karena akan ada perbedaan saat menggunakan libGDX untuk develop aplikasi mobile seperti android.
Ada 2 component utama pada framework LibGDX ketika membuat sebuah game. Yakni class game dan screen. Jika sobat menggunakan LibGDX untuk membangun aplikasi android pada dasarnya sobat membuat hanya activity yang memiliki beberapa tampilan. Berbeda dengan cara mendevelop android secara langsung bisa menggunakan beberapa activity.
LibGDX Struktur class
Apa fungsi kedua komponen ini, seperti gambar diatas Game merupakan komponen utama sebuah aplikasi pada framework LibGDX ini. Game ini merupakan class yang mengimplementasi Application Listener. untuk lebih jelas perhatikan deklarasi interface tersebut seperti gambar ini.
public interface ApplicationListener {
 public void create ();

 public void resize (int width, int height);

 public void render ();

 public void pause ();

 public void resume ();

 public void dispose ();
}
Inilah fungsi utama yang terdapat dalam sebuah class game. Cukup jelas dari setiap nama fungsi diatas, kapan game ini dimulai, dipause ataupun diresume. Namun yang paling penting adalah fungsi create dan render. Fungsi create berguna untuk mendeklarasikan objek yang akan digunakan pada game tersebut. Fungsi render dieksekusi ketika ingin menampilkan hasil dari pengolahan objek tersebut.
Agar game tersebut memiliki beberapa tampilan yang berbeda. Misalkan dalam sebuah game ada intro atau splash screen kemduian tampilan game itu sendiri dan juga tampilan konfigurasi. Seperti yang telah saya sebutkan diatas pada LibGDX hanya akan terdapat satu game saja. Sehingga Game tersebut harus memiliki beberapa tampilan pula.
Inilah yang diantisipasi oleh LibGDX ini. Didalam setiap class Game terdapat fungsi screen. yang juga memiliki fungsi yang sama dengan interface diatas. Setiap screen yang aktif akan diekseskusi oleh game ini. Sehingga jika ingin menampilkan screen yang berbeda cukup mengganti screen tersebut pada class Game ini.
public abstract class Game implements ApplicationListener {
 private Screen screen;

 @Override
 public void dispose () {
  if (screen != null) screen.hide();
 }

 @Override
 public void pause () {
  if (screen != null) screen.pause();
 }

 @Override
 public void resume () {
  if (screen != null) screen.resume();
 }

 @Override
 public void render () {
  if (screen != null) screen.render(Gdx.graphics.getDeltaTime());
 }

 @Override
 public void resize (int width, int height) {
  if (screen != null) screen.resize(width, height);
 }


 public void setScreen (Screen screen) {
  if (this.screen != null) this.screen.hide();
  this.screen = screen;
  if (this.screen != null) {
   this.screen.show();
   this.screen.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
  }
 }

 public Screen getScreen () {
  return screen;
 }
}
Jadi untuk mendevelop aplikasi menggunakan LibGDX yang perlu dimulai adalah menentukan jumalah screen yang akan kita gunakan. Kemudian dekalrasikan objek pada setiap screen dan gunakan fungsi render untuk menampilkan objek sesuai dengan tampilan yang diinginkan. Setiap screen dapat berpindah dari satu ke yang lainnya dengan mengganti screen pada class Game seperti fungsi diatas.
Oke, semoga sobat bisa mengerti maksud yang saya sampaikan. Fitur lain yang bisa sobat gunakan untuk membangun aplikasi menggunakan LibGDX adalah membuat transisi/pergerakan screen yang lebih smooth menggunakan universal tweenengine. Selengkapnya ada di Cara menggunakan Universal TweenEngine pada aplikasi android dengan LibGDX
8:00 AM Read more »
Cara menggunakan Universal  TweenEngine pada aplikasi android dengan LibGDX

Hey Gwener's, What's Up!
Melihat suatu navigasi yang smooth atau halus mungkin memiliki daya tarik tersendiri bagi setiap orang. Pergerakan atau transisi suatu objek dan perpindahan frame tentu akan menarik perhatian orang lain untuk menikmati. Inilah salah satu bentuk animasi. Sobat pastilah sering menonton film atau mungkin membuat bahan presentasi. Jika kalian perhatikan perubahan frame atau scene dari satu ke yang lainnya terlihat sangat smooth sehingga hal itu seperti terjadi pergerakan yang nyata.
Nah, bisakah kita menerapkan transisi atau pergerakan yang halus ini pada aplikasi android untuk setiap perubahan layar yang ada? tentu saja bisa. Universal Tweenengin adalah salah satu solusinya. TweenEngine ini juga bisa digunakan pada framework libGDX. TweenEngin ini akan membuat tampilan aplikasi yang dibuat menjadi lebih smooth dan menarik untuk digunakan.
Universal Tween Engine

Cara menggunakan Universal Tweenengine

Pada contoh ini kita akan mencoba membuat transisi pada sebuah tampilan logo aplikasi, biasanya diletakkan pada splash screen yakni layar awal yang berisi informasi pengembang aplikasi atau tentang aplikasi secara umum.

Membuat TweenAcessor

Tahap awal membuat sebuah tween untuk sebuah objek. TweenAcessor adalah suatu metoda untuk berkomunikasi dengan tweenengine, kita kita ingin melakukan perubahan pada objek tersebut kita bisa menggunakan tweenacessor. Contoh ini kita gunakan untuk menerapkan pada Sprite yang terdapat pada LibGDX. Berikut selengkapnya
import com.badlogic.gdx.graphics.g2d.Sprite;
import aurelienribon.tweenengine.TweenAccessor;

public class SpriteAccessor implements TweenAccessor {

 public static final int ALPHA = 1;

 @Override
 public int getValues(Sprite target, int tweenType, float[] returnValues) {
  switch (tweenType) {
  case ALPHA:
   returnValues[0] = target.getColor().a;
   return 1;
  default:
   return 0;
  }
 }

 @Override
 public void setValues(Sprite target, int tweenType, float[] newValues) {
  switch (tweenType) {
  case ALPHA:
   target.setColor(1, 1, 1, newValues[0]);
   break;
  }
 }

}
Pada contoh ini kita akan memanipulasi warna sebuah sprite. Pada TweenAccessor diatas untuk berkomunikasi pada objek kita memerlukan tweenType parameter ini bisa bervariatif sesuai kebutuhan saja. Setiap tweenType yang diberikan akan memberikan efek tertentu pada objek tersebut. Inilah cara kerja dari tweenengine.

Setup Tween

Selanjutnya adalah melakukan setup tween tersebut menggunakna Universal TweenEngine.
Tween.registerAccessor(Sprite.class, new SpriteAccessor());
  manager = new TweenManager();

  TweenCallback cb = new TweenCallback() {
   @Override
   public void onEvent(int type, BaseTween source) {
    // DO NEXT WHAT YOU WANT
   }
  };
  
  
  Tween.to(sprite, SpriteAccessor.ALPHA, .8f)
   .target(1)
   .ease(TweenEquations.easeInOutQuad)
   .repeatYoyo(1, .4f)
   .setCallback(cb).setCallbackTriggers(TweenCallback.COMPLETE)
   .start(manager);
Jika memperhatikan code diatas, tahap pertama adalah mendaftarkan tweenaccessor yang telah kita buat untuk objet sprite. Selangjutnya kita membutuhkan TweenCallback. Yakni sebuah Callback yang akan dieksekusi ketika tween/transisi objek tersebut berhasil dilakukan. Selanjutnya menjalankan tween pada objek yang diinginkan dengan tween type yang telah kita tentukan sebelumnya

Oke, sekarang sobat bisa mencoba sendiri untuk membuat tween engine ini. Jangan lupa untuk membaca juga Cara membuat PagedScrollPane pada aplikasi Android menggunakan LibGDX
8:00 AM Read more »
Cara membuat PagedScrollPane pada aplikasi Android menggunakan LibGDX

Hey Gwener's, What's Up!
Jika berbicara tentang scroll tentu sobat sudah cukup familiar dengan istilah ini. Yakni sebuah metoda untuk menampilkan data pada ukuran tertentu namun berisi informasi yang banyak sehingga membutuhkan ruang yang lebih, hal ini bisa diatasi menggunakan scroll tersebut dengan cara menampilkannya secara sebagian dan berubah ketika discroll untuk melihat informasi selanjutnya.
Pada Android sendiri telah disediakan suatu scrollpane. Namun sayangnya scroll hanya fokus pada satu objek tertentu saja, namun bagaimana jika kita ingin membuat beberapa object yang menjadi satu kesatuan sehingga hanya akan bisa discroll jika terdapat beberapa object lain yang memiliki komponen yang serupa pula. Inilah yang disebut dengan istilah pagedscroll. Dengan menggabungkan beberapa objek menjadi satu kesatuan yang dianggap sebagai suatu objek tersendiri, sehingga ketika discroll objek tersebut tikak akan dipisah.
Paged Scrollpane

Apa itu PagedScroll

Seperti yang telah diungkap sebelumnya bahwa, pagedscroll merupakan metoda yang menggabungkan beberapa komponen menjadi satu kesatuan yang tidak dipisahkkan oleh scroll. Misalkan didalam objek terdiri dari sebuah rectangle yang berisi text seperti gambar diatas. Objek itu sebenarnya terdiri dari 2 bagian, jika menggunakan scrollpane biasa 2 objek tersebut akan dianggap berbeda satu sama lain. sehingga kita harus menyatukan kedua onbjek tersebut sehingga menjadi satu objek saja.

Membuat PagedScroll

Untuk menerapkan konsep diatas kita bisa menggunakan sebuah table untuk membuat beberapa objek menjadi satu kesatuan sehingga table-table tersebut akan dibedakan menjadi 1 objek yang berbeda satu sama lain terhadapa scrollpane. Pada LibGDX hal ini pun bisa diterapkan. Selengkapnya sobat bisa menggunakan kode berikut untuk mencobanya.

import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.utils.Array;
import com.esotericsoftware.tablelayout.Cell;
 
public class PagedScrollPane extends ScrollPane {
 
 private boolean wasPanDragFling = false;
 
 private Table content;
 
 public PagedScrollPane () {
  super(null);
  content = new Table();
  content.defaults().space(50);
  setWidget(content);
 }
 
 public PagedScrollPane (Skin skin) {
  super(null, skin);
  content = new Table();
  content.defaults().space(50);
  setWidget(content);
 }
 
 public PagedScrollPane (Skin skin, String styleName) {
  super(null, skin, styleName);
  content = new Table();
  content.defaults().space(50);
  setWidget(content);
 }
 
 public PagedScrollPane (Actor widget, ScrollPaneStyle style) {
  super(null, style);
  content = new Table();
  content.defaults().space(50);
  setWidget(content);
 }
 
 public void addPages (Actor... pages) {
  for (Actor page : pages) {
   content.add(page).expandY().fillY();
  }
 }
 
 public void addPage (Actor page) {
  content.add(page).expandY().fillY();
 }
 
 @Override
 public void act (float delta) {
  super.act(delta);
  if (wasPanDragFling && !isPanning() && !isDragging() && !isFlinging()) {
   wasPanDragFling = false;
   scrollToPage();
  } else {
   if (isPanning() || isDragging() || isFlinging()) {
    wasPanDragFling = true;
   }
  }
 }
 
 @Override
 public void setWidth (float width) {
  super.setWidth(width);
  if (content != null) {
   for (Cell cell : content.getCells()) {
    cell.width(width);
   }
   content.invalidate();
  }
 }
 
 public void setPageSpacing (float pageSpacing) {
  if (content != null) {
   content.defaults().space(pageSpacing);
   for (Cell cell : content.getCells()) {
    cell.space(pageSpacing);
   }
   content.invalidate();
  }
 }
 
 private void scrollToPage () {
  final float width = getWidth();
  final float scrollX = getScrollX();
  final float maxX = getMaxX();
 
  if (scrollX >= maxX || scrollX <= 0) return;
 
  Array pages = content.getChildren();
  float pageX = 0;
  float pageWidth = 0;
  if (pages.size > 0) {
   for (Actor a : pages) {
    pageX = a.getX();
    pageWidth = a.getWidth();
    if (scrollX < (pageX + pageWidth * 0.5)) {
     break;
    }
   }
   setScrollX(MathUtils.clamp(pageX - (width - pageWidth) / 2, 0, maxX));
  }
 }
 
 
}
Pada contoh ini kita akan membuat sebuah objek untuk suatu halaman dan dapat discroll ke kanan atau secara horizontal saja. Sobat bisa memanipulasinya pada fungsi addPage. Jika ingin membuat scroll secara verticall maka sobat harus membuat row baru setiap page ditambahkan pada scrollpane ini. Begitu seterusnya

Demikian cara ini semoga bermanfaat dan bisa diterapkan, untuk informasi tambahan bisa sobat membaca Cara mendapatkan KeyHash untuk aplikasi android
8:00 AM Read more »
Cara mendapatkan KeyHash untuk aplikasi android

Hey Gwener's, What's Up!
Dalam pemograman android, sebuah aplikasi dapat di integrasikan dalam berbagai macam platform seperti facebook, admob dan lain sebagainya. Biasanya setiap platform membutuhkan informasi lengkap mengenai aplikasi tersebut, Seperti nama package, nama class utama dan juga termasuk Key Hash. Pada contoh ini saya akan coba meberikan beberapa cara untuk memperoleh Key Hash pada aplikasi android yang dibangun atau dibuat menggunakan framework LibGDX. Seperti yang telah saya ulas sebelumnya libGDX framework untuk aplikasi mobile (Java, IOS, android, html5). Jadi sangat mudah memperoleh aplikasi mobile jika dikelola dengan framework ini termasuk untuk mendapatkan KeyHash ini. Baik, untuk selengkapnya kita akan mempelajari KeyHash itu seperti apa, berikut ulasannya
Key Hash

Apa itu Key Hash

KeyHash adalah sebuah kode yang telah terenkripsi yang berisi informasi mengenai package suatu aplikasi android yang terhubung dengan informasi publisher. KeyHash ini berisi informasi berupa data validity yakni waktu expire dan juga informasi dari pembuat aplikasi ini dan semuanya dienkripsi dengan code tertentu. Jika sobat sudah familiar dengan android atau membuat aplikasi android dengan menginstall SDKnya, pastinya sudah mengenal dengan file dengan ekstensi .keystore. Pada file inilah berisi informasi mengenai hardware dan informasi pembuat yang sedang sobat gunakan.
Untuk membuat keyhash pada aplikasi android memang dibutuhkan keystore ini. Jika sobat telah meng-install SDK dari android sobat akan menemukan keystore ini yang berlokasi di %User%\.android

Cara Memperoleh Key Hash

Untuk memperoleh key hash sobat bisa melakukan dengan 2 cara yakni menggunakan tool dan juga bisa secara promgramatically. Berikut selengkapnya

Menggunakan Keytool

Keytool merupakan sebuah tools yang telah disediakan java jika sobat telah menginstall java pada environtment yang sobat gunakan. Keytool ini bisa diakses menggunakan CommandLine, dengan perintah khusus untuk membuat keyhash menggunakan tools ini sobat bisa menggunakan sintax berikut.
keytool -exportcert -alias  -keystore  | openssl sha1 -binary | openssl base64
Parameter yang perlu sobat perhatikan adalah bagian Release Key. Seperti yang telah saya singgung diatas untuk mendapatkan keyhas membutuhkan keystore. Lokasi keystore yang telah sobat buat dibutuhkan untuk mengenerate keyhash ini. Selain itu adalah alias untuk key dari keystore tersebut yakni informasi mengenai pembuat aplikasi dan waktu expire key tersebut. Biasanya kedua informasi ini dibuat ketika sobat membuat key release baru.
Sebagai contoh sobat bisa menggunakan debug.keystore dengan alias androiddebugkey dengan menggunakan password android

Menggunakan Cara promgrammatically

Untuk mendapatkan keyhash secara pemograman, sobat membutuhkan emulator khusus untuk mendebug aplikasi yang akan sobat jalankan. Agar proses debug berjallan lancar saya merekomendasikan untuk menggunkan emulator genymotion karena lebih efektif. Seperti yang telah saya tulis di Genymotion untuk emulator android super cepat, saya pun lebih suka menggunakan emulator ini dibandingkan emulator bawaan dari android SDK.
Kembali pada cara mendapatkan keyhash ini secara pemogramamn. Buatlah sebuah aplikasi dengan project android yang akan didebug menggunakan emulator tersebut. Pada aplikasi tersebut letakkan code seperti contoh berikut.
public void getKeyHash(){
 try {
  PackageInfo info = getPackageManager().getPackageInfo(
    getApplicationContext().getPackageName(), 
    PackageManager.GET_SIGNATURES);
  for (Signature signature : info.signatures) {
   MessageDigest md = MessageDigest.getInstance("SHA");
   md.update(signature.toByteArray());
   String value = Base64.encodeToString(md.digest(), Base64.DEFAULT);
   Gdx.app.log("KeyHash:", value);
   }
 } catch (NameNotFoundException e) {
  Gdx.app.log("KeyHash:", e.getMessage());

 } catch (NoSuchAlgorithmException e) {
  Gdx.app.log("KeyHash:", e.getMessage());

 }
}
Perhatikan code diatas, getApplicationContext().getPackageName() bisa diganti dengan nama package aplikasi yang ingin sobat dapatkan packagenya, contoh diatas adalah untuk mendapatkan keyhash menggunakan nama package pada aplikasi yang sedang digunakan.

Demikianlah cara mendapatkan keyhash ini semoga dapat membantu bagi sobat yang membutuhkannya. Sebagai informasi tambahan sobat bisa membaca tentang Cara membuat Multi Thread menggunakan Framework LibGDX
8:00 AM Read more »
Cara membuat Multi Thread menggunakan Framework LibGDX

Hey Gwener's, What's Up!
Dalam sebuah pemograman untuk melakukan proses yang terlalu banyak bahkan harus dilakukan secara berulang-ulang tentu kita harus membagi bagian ini dalam beberapa proses yang berjalan. Inilah yang dikenal sebagai bentuk multi thread dalam dunia programing. Mutli thread membantu mengoptimalkan kinerja sebuah aplikasi pemograman untuk melakukan berbagai macam proses dalam waktu yang bersamaan.

Apa itu Thread dan Multi Thread

Secara harfiah thread dapat diartikan sebagai suatu proses utama. Dalam bahasa pemograman ini menjadi proses untuk mengeksekusi semua aktivitas dalam suatu pemograman. Proses utama dalam suatu aplikasi biasanya dikenal sebagai main thread. Disinilah proses awal suatu aplikasi akan dieksekusi. Main thread berfungsi menjalankan alur aplikasi dari awal hingga akhir.
Pada kondisi tertentu Main Thread akan melakukan proses yang begitu banyak jika terjadi proses yang berulang-ulang. Misalkan proses untuk me-Refresh data atapun memanipulasi data. Proses semacam ini biasa bisa dilakukan dibelakang aplikasi tanpa berhubungan langsung dengan UI aplikasi tersebut. Inilah yang bisa dimanfaatkan untuk membuat sebuah thread baru. Sehingga dalam suatu aplikasi akan terdiri dari beberapa thread atau proses yang berjalan. Ilustrasinya seperti gambar berikut
Multi Thread
Dengan demikian Multi thread dapat diartikan sebagai proses yang berlangsung pada suatu aplikasi yang akan dieksekusi dalam waktu yang bersamaan. Logikanya seperti ada beberapa aplikasi yang sama dijalankan untuk melakukan proses yang berbeda, namun aplikasi ini tergabung menjadi satu, inilah yang dinamakan multi thread.

Keuntungan dan kelemahan Multi Thread

Keuntungannya tentu aplikasi dapat bekerja dengan optimal, karena proses yang banyak tersebut dapat dipisahkan menjadi beberapa bagian. Pada dasarnya proses utama atau main thread sajalah yang akan berinteraksi dengan UI, sedangkan thread yang lain akan bekerja dibelakang. Sehingga logika thread yang lain tersebut sangat membantu proses main thread untuk menjalankan suatu aplikasi
Dilihat dari segi kelemahannya, tentu multi thread melakukan proses yang cukup banyak. Seperti yang saya jelasakan diatas bisa diibaratkan menjalankan beberapa aplikasi serupa namun dengan tujuan yang berbeda. Tentunya ini akan membutuhkan memori yang lebih besar. Namun jika penggunaan thread ini dimanagemen dengan baik hal ini tentu tidak akan menjadi masalah. Thread yang tidak dibutuhkan lagi dapat dihentikan dan diganti dengan thread yang baru. Sehingga memori yang digunakan juga lebih stabil.

Cara penggunaan Multi Thread pada java

Baik java maupun pemograman yang lain, sebenarnya menggunakan konsepnya sama dalam hal menerapkan fungsi thread ini. Setiap thread yang ada pada multi thread juga dapat berinteraksi satu sama lainnya. Berikut beberapa cara untuk mengeksekusi thread menggunakan java, yakni memanfaatkan fitur interface Runnable.
new Thread(new Runnable(){
 @Overide
 public void run(){
  while(true){
   // Do stuf
  }
 } 
}).start();
Sekilas proses thread bisa dieksekusi dengan cara diatas. Proses run menjadi proses utama pada thread tersebut. Sehingga kita dapat mengeksekusi proses yang berulang dalam fungsi tersebut.

Cara penggunaan Multi Thread pada framework LibGDX

Inilah konsep yang ingin saya jelaskan, dari beberapa contoh diatas beserta penjelasannya saya harap sobat cukup mengerti dengan Thread ataupun multi thread. Penggunaan thread pada framework LibGDX memang sedikit berbeda namun tetap menggunakan interface yang sama yakni Runnable.
Jika sobat pernah mencoba membuat aplikasi android menggunakan LibGDX seperti artikel libGDX framework untuk aplikasi mobile (Java, IOS, android, html5), tentu kita membuat thread dengan cara diatas sobat akan mengalami sedikit kendala. Hal ini dikarenakan pada android hanya mengeksekusi satu main thread saja pada framework LibGDX ini.
Namun untuk mengatasi hal tersebut thread tersebut bisa di post menggunakan fungsi postRunnable. Selngkapnya seperti contoh berikut.
Gdx.app.postRunnable(new Runnable()
{
 @Override
 public void run() {
  //Do Stuf
 };
});
Gdx merupakan variable yang class yang digunakan untuk berinteraksi dengan framework LibGDX ini. Sehingga secara otomatis Proses Runnable ini akan dieksekusi dalam suatu thread yang berbeda pula.
Nah, dari beberapa penjelasan diatas, apakah sobat sudah cukup mengerti mengenai multi thread ini?. Jika sudah kenapa tidak mencoba membuat aplikasi menggunakan framework LibGDX ini, lihat disini Let's Code with LibGDX on eclipse
8:00 AM Read more »
Cara menggunakan InputHandler pada Framework LibGDX

Hey Gwener's, What's Up!
Dalam membuat sebuah aplikasi, Inputhandler merupakan bagian dari interaksi yang harus dikelola dan disediakan oleh pengembangan sebagai bentuk interaksi antara aplikasi dan penggunnya. Inputhandler ini juga telah disediakan oleh Framework LibGDX. Kita bisa memanipulasi event baik pada screen maupun pada tombol yang digunakan sebagai interaksi nantinya.
Input Processor LibGDX

Apa itu Input Handling

Mengenai defenisi Input Handling tentu secara harfiah dapat diartikan sebagai bentu pengelolaan ataupun menagemen dari input yang diberikan. Namun lebih spesifik disini, input handling merupakan cara memanipulasi event yang diberikan oleh pengguna seperti jika berbicara mobile yakni touch screen, keyboard, sound volume, screen orientasi dan lain sebagainya. Berbagai macam interaksi inilah yang mesti dikelola dengan memberikan tindakan yang sesuai pada sebuah aplikasi yang dijalankan.
LibGDX telah menyediakan dan memberikan sebuah interface sehingga mempermudah developer untuk mengelola event yang akan digunakan. Kita bisa menggunakan interface InputProcessor, Interface ini berisi fungsi dari setiap event input yang ada pada mobile seperti yang telah saya jelaskan diatas.

Implementasi InputProcessor

Sebagai contoh kita akan memanipulasi event touch screen pada aplikasi mobile. Umumnya interaksi akan dilakukan pada even ini. Untuk lebih mempermudah touch screen akan bisa dilakukan pada semua titik screen. Perhatikan code berikut ini.
public class InputHandler implements InputProcessor {
 //...
 @Override
 public boolean touchDown(int screenX, int screenY, int pointer, int button) {
  Gdx.app.log("Input Handler", "user is touch the app");
  return true;
 }

 @Override
 public boolean touchUp(int screenX, int screenY, int pointer, int button) {
  Gdx.app.log("Input Handler", "user is touch lose from the app");
  return true;
 }
 //...
}
Dari code diatas kita akan fokus pada 2 fungsi interface yakni touchDown dan touchUp. Maksud fungsi ini adalah ketika seorang pengunkan melakukan touch (Tap) pada perangkat mobilenya maka fungsi touchDown akan tereksekusi. event ini akan berlansung sekali saja walaupun touch yang pengguna lakukan dalam waktu yang lama. Kemudian, ketika touch tersebut dilepas fungsi selanjutnya akan tereksekusi yakni touchUp dan sama halnya dengan touchDown fungsi inipun dieksekusi hanya sekali.
Perlu diingat bahwa setiap event yang diberikan akan mengeksekusi sesuai dengan fungsi yang digunakan dan ini berlaku jika dilakukan berulang-ulang kali pada setiap event tersebut.

Stage sebagai InputHandler dari LibGDX

Jika contoh diatas kita ingin membuat input handler secara kustom, namun sebenarnya input handler ini telah disediakan oleh LibGDX. InputHandler ini dinamakan Stage, tak sekedar input handler saja bisa digunakan untuk menggambar sebuah tombol ataupun objek lain yang akan digunakan sebagai input atau yang disebut sebagai Actor.
Stage akan membuat semua actor yang terigistrasi akan di draw pada screen aplikasi tersebut. Setiap actior juga bisa memiliki event handler yang berbeda dan diconfigurasi sesuai keinginan developer. Event handler yang akan diekseskusi adalah event yang terdapat pada setiap actor jika ada. Contohnya adalah event tombol play, tombol play sebagai actor akan didraw dan ditampilkan pada screen sehingga ketika pengguna menekan tombol ini maka event yang ada pada tombol (actor) play ini akan tereksekusi dengan sendirinya.

Cara Menggunakan Stage sebagai InputHandler

Berikut akan saya berikan contoh untuk menggunakan Stage sebagai InputHandler seperti yang saya jelaskan diatas.
 Stage stage = (Stage)Gdx.input.getInputProcessor();  
 stage.addListener( new InputListener(){
  @Override
  public boolean touchDown(InputEvent event, float x, float y,
   Gdx.app.log("Stage", "hey you touch the screen");
   return true;
  }    
  
 });
 
 TextureRegion playTexture = new TextureRegion();
 ImageButtonStyle playStyle = new ImageButtonStyle();
 playStyle.imageUp = new TextureRegionDrawable(playTexture);
 playStyle.imageDown = new TextureRegionDrawable(playTexture);
 
 playButton = new ImageButton(playStyle);
 playButton.setWidth(29);
 playButton.setHeight(16);
 
 playButton.addListener(new InputListener(){
  @Override
  public boolean touchDown(InputEvent event, float x, float y,
    int pointer, int button) {
   Gdx.app.log("Play", "Hey you run this app");
   return super.touchDown(event, x, y, pointer, button);
  }
  
 });
 
 stage.addActor(playButton);
Perhatikan code diatas, cukup jelas bahwa ada 2 event touchDown yang terregistrasi, yakni pada stage dan pada tombol play. Sehingga hal ini akan tereksekusi secara berurutan. Berikut alurnya.
  • Jika tombol play di tekan oleh penggunakan makan event touchDown pada tombol play akan dieksekusi terlebih dahulu selanjutnya event touchDown pada Stage
  • Jika touch hanya dilakukan diluar dari tombol play makan yang akan dieksekusi adalah event touchDown pada Stage
  • Hal ini akan berlaku untuk seterusnya
Nah, bagaimana sudah cukup mengenal inputhandler dari libGDX ini. selanjutnya sobat bisa membaca tentang Let's Code with LibGDX on eclipse
8:00 AM Read more »
Load texture from url menggunkan LibGDX Framework

Hey Gwener's, What's Up!
Berkaitan dengan artikel sebelumnya berbicara tentang texture, Draw TextureRegion with LibGDX tentunya sobat mungkin masih memiliki kendala ketika ingin mendapatkan image dari url. Pada contoh artikel sebelumnya saya memberikan image yang diload dari file internal project saja.
Pada dasarnya tetap menggunakan InputStream yang diarahkan ke url yang ingin kita tuju. Untuk mendapatkan ini maka kita memerlukan konektifitas internet. untuk itu kita bisa menggunakan org.apache.http.impl.client.DefaultHttpClient, class ini secara otomatis mendeteksi koneksi http yang disupport oleh perangkat atau emulator yang digunakan.
Image from url

Deklarasi InputStream

Sebagai contoh kita mendeklarasikan sebuah input stream menggunakan HttpClient ini. seperti contoh berikut ini.
        String url = "http://URL_YOUR_IMAGE";
 DefaultHttpClient client = new DefaultHttpClient();
 HttpGet request = new HttpGet(url);
 HttpResponse response = client.execute(request);
 HttpEntity entity = response.getEntity();
 int imageLength = (int)(entity.getContentLength());
 InputStream is = entity.getContent();
Selanjutnya adalah mendapatkan Byte[] array dari input stream ini. Cara ini sangat sederhana seperhalnya membaca stream pada umumunya. Kita cukup melakukan loop untuk membaca input stream tersebut.
 byte[] imageBlob = new byte[imageLength];
 int bytesRead = 0;
 while (bytesRead < imageLength) {
  int n = is.read(imageBlob, bytesRead, imageLength - bytesRead);
  if (n <= 0)
   ; // do some error handling
  bytesRead += n;
 }
Byte[] Array inilah yang kita gunakan untuk membentuk Texture ini. Namun untuk membentuk Texture ini kita membutuhkan Pixmap. Sehingga array tersebut bisa dikonversi.

Texture from Pixmap

Untuk melakukan konversi sobat bisa melakukan dengan cara berikut.
 Pixmap pixmap = new Pixmap(textureBytes, 0, textureBytes.length);
 Texture gdxTexture = new Texture(pixmap);
 gdxTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
 pixmap.dispose();
Byte[] Array yang didapat sebelumnya digunakan pada Pixmap tersebut sehingga bisa digunakan sebagai parameter untuk membentuk Texture ini.

Final Class Texture from Url

Seletah menelaah 3 cara diatas maka sebenernarnya kita sudah bisa membuat Texture dari url. Untuk lebih memberikan lokalisasi maka code diatas bisa kita gabungkan dalam sebuah class. Seperti contoh berikut.
import java.io.IOException;
import java.io.InputStream;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureFilter;

public class UrlTexture {
    private final String url;
    private Texture texture;
    private volatile byte[] textureBytes;

    public UrlTexture(String url, Texture tempTexture) {
        this.url = url;
        texture = tempTexture;
        downloadTextureAsync();
    }

    private void downloadTextureAsync() {
        Gdx.app.postRunnable(new Runnable() {
            @Override
            public void run() {
                textureBytes = downloadTextureBytes();
            }
        });
    }

    private byte[] downloadTextureBytes() {
        try {
         
         DefaultHttpClient client = new DefaultHttpClient();
         HttpGet request = new HttpGet(url);
         HttpResponse response = client.execute(request);
         HttpEntity entity = response.getEntity();
         int imageLength = (int)(entity.getContentLength());
         InputStream is = entity.getContent();

         byte[] imageBlob = new byte[imageLength];
         int bytesRead = 0;
         while (bytesRead < imageLength) {
             int n = is.read(imageBlob, bytesRead, imageLength - bytesRead);
             if (n <= 0)
                 ; // do some error handling
             bytesRead += n;
         }
         
            return imageBlob;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

    public Texture getTexture() {
        if (textureBytes != null)
            processTextureBytes();
        return texture;
    }

    private void processTextureBytes() {
        try {
            Pixmap pixmap = new Pixmap(textureBytes, 0, textureBytes.length);
            Texture gdxTexture = new Texture(pixmap);
            gdxTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
            texture = gdxTexture;
            pixmap.dispose();
        } catch (Throwable t) {
            t.printStackTrace();
        } finally {
            textureBytes = null;
        }
    }
}
8:00 AM Read more »
Draw TextureRegion with LibGDX

Hey Gwener's, What's Up!
pada artikel sebelumnya saya telah menjelaskan mengenai framework LibGDX seperti contoh pembuatannya di Let's Code with LibGDX on eclipse. Kali ini kita akan coba membawa membaca resource image menggunakan LibGDX ini.
Pada umumnya seorang designer akan membuat spesifikasi resource secara terpisah dalam artian memiliki banyak file resource seperti image. Contohnya misalkan kita membuat sebuah game yang membutuhkan tomobol Play dan Re-Play. Kedua tombol ini biasanya akan dibisa dalam 2 file image yang berbeda, betul kan? namun sebenarnya sobat cukup menggabungkannya dalam satu file saja, kemudian dapat membedakannya menggunakan titik koordinat region. Setiap file gambar pastinya akan mempunya ukuran dimensi tertentu yakni ukuran width dan hight. Untuk lengkapnya perhatikan gambar berikut ini.
Texture Region
Berdasarkan gambar diatas kita akan mencoba mengambil bagian Region yang berada didalam texture tersebut. Sekali lagi perlu diketahui texture tersebut kita umpamakan sebagai gambar dan region adalah objek didalam suatu gambar yang akan kita ambil. Untuk mendapatkannya tentu kita perlu mengetahui titik kordinat pada region ini. Titik tersebut berupa koordinat (X,Y) dimana titik pusat (0,0) berada pada bagian atas kanan. Sehingga kita dapat menghitung sendiri menggunakan dimensi ukuran gambar, atau jika sobat menggunakan design seharusnya titik koordinat region ini bisa sobat dapatkan dengan sendirinya.
Dengan memanfaatkan Texture region ini sebenarnya kita telah terbantu sehingga file resource yang kita gunakan cukup pada satu image/texture saja dan untuk mengambil bagian tertentu kita menggunakan Texture Region ini.

Texture Region Pada LibGDX

Dengan memahami konsep diatas maka kita telah bisa memanfaatkan Texture Region pada framework LIbGDX. Caranyapun cukup sederhana. kita akan load sebuah file pada internal project dan mengambil bagian tertentu yang merupakan region dari gambar tersebut. Berikut contoh code yang bisa sobat gunakan.
   // load file image on internal project LibGDX
   Texture imageTexture= new Texture(Gdx.files.internal("data/photo.jpg"));
   // x, y, width, heigth
   TextureRegion logo = new TextureRegion(imageTexture, 0, 0, 50, 50);
Contoh diatas kita akan menarik region pada titik (0,0) dengan ukuran (50 x 50) yakni panjang dan lebar region yang akan kita gunakan. Ini konsepnya seperti kita akan men-select suatu object jika menggunakan mouse, pada titik tertentu kita akan tarik sesuai ukuran yang kita gunakan. Nah, dengan cara yang sama inilah kita akan mendapatkan texture region seperti contoh diatas.

Draw Texture Region Pada LibGDX

Selanjutnya adalah menggambar object dari texture region diatas untuk ditampilkan pada ui interface. Masih menggunakan LibGDX ini kita bisa memanfaatkan SpriteBatch untuk menambilkan object tersebut. Selengkapnya seperti code berikut
   SpriteBatch batcher = new SpriteBatch();
   batcher.draw(logo, 30, 30, 50, 50);
Dengan cara ini kita akan menampilkan object pada screen di titik (30, 30) dengan ukuran dimensi yang sama yakni (50 x 50). Jadi sobat sudah cukup paham dengan hal ini. Nah, coba menggunakan berbagai macam texture region yang berada pada image yang sama. Inillah salah satu kecanggihan framewok LibGDX ini, dapatkan segara dan cari tau di libGDX framework untuk aplikasi mobile (Java, IOS, android, html5)
8:00 AM Read more »
Let's Code with LibGDX on eclipse

Memulai code dengan LibGDX
Hey Gwener's, What's Up!
Inilah saat yang telah ditunggu, memulai untuk membuat aplikasi dengan framework canggih ini, LibGDX!. Ya, framework ini dikhususkan untuk developer aplikasi mobile, kenapa mobile? karena libGDX sangat mensupport berbagai macam platfrom mobile, seperti Android, IOS, Blackberry, HTML bahkan desktop pun bisa. Kenapa bisa bigetu? LibGDX Dibangun diatas Java oleh karenanya bisa digunakan diberbagai platfrom. Karena java termasuk platfrom yang disupport diberbagai macam OS dekstop maupun mobile.
Baik, mungkin itu sedikit perkenalan LibGDX ini. Jika sobat mengikuti beberapa artikel sebelumnya saya telah menjelaskan bagaimana membuat project menggunakan LibGDX ini menggunakan eclipse. Sampai terakhir pada Import Project LibGDX generator pada eclipse. Disini kita akan membuat sebuah sample aplikasi untuk memulai.

Hello word aplikasi

Sebagai dasar aplikasi untuk memulai maka kita akan mencoba untuk membuat aplikasi dengan tampilan helloword. Seperti gambar dashboard diatas. Class utama project libGDX berada pada project -core. Inilah inti dari class yang digunakan. Semua platfrom akan memanggil atau reference ke class tersebut.
Class utama ini berfungsi untuk memulai dan mengotrol alur dari aplikasi yang akan dibuat. Tentu ini menjadi tugas developer untuk melakukannya. Inilah kenapa kita perlu mencoba framework ini dengan aplikasi yang cukup sederhana seperti hello word.

Struktur Utama

Sebelum memulai ada baiknya kita mengenali dulu struktur class utama yang akan digunakan. Class utama ini menggunakan implement dari interface ApplicationListener. Interface ini terdiri dari bagian yang menentukan kapan membuat object dan kapan menampilkan. Berikut struktur interface ini.
public interface ApplicationListener { 
 public void create ();
 public void resize (int width, int height);
 public void render ();
 public void pause ();
 public void resume ();
 public void dispose ();
}
Dari struktur diatas rasanya sudah cukup jelas fungsi dari class utama ini. Semua diatur menggunakan interface ini sehingga alurnya menjadi cukup jelas.

Samples

Berikut contoh class utama yang bisa digunakan untuk mencoba framework ini.
public class Gweone extends ApplicationAdapter {
 SpriteBatch batch;
 Texture img;
 
 @Override
 public void create () {
  batch = new SpriteBatch();
  img = new Texture("badlogic.jpg");
 }

 @Override
 public void render () {
  Gdx.gl.glClearColor(1, 0, 0, 1);
  Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
  batch.begin();
  batch.draw(img, 0, 0);
  batch.end();
 }
}
Pada contoh diatas, kita mencoba untuk menampilkan gambar dari libGDX. seperti yang dijelaskan diatas setiap fungsi interface memiliki peran tersendiri. Seperti fungsi create digunakan untuk mendeklarasikan object sedangkan fungsi render digunakan untuk menampilkan object yang telah dideklarasikan tersebut.

Inilah code sederhana yang bisa kita pelajari untuk menggunakan LibGDX ini. Untuk selanjut kita mencoba membuat dan memahami fitur libGDX pada artikel selanjutnya. Jika sobat belum mengetahui framework ini bisa baca di libGDX framework untuk aplikasi mobile (Java, IOS, android, html5)
8:00 AM Read more »
Import Project LibGDX generator pada eclipse

Import Project Eclipse
Hey Gwener's, What's Up!
Setup yang dibuat menggunakan LibGDX akan membuat file-file project secara otomatis dan akan langsung membuat file konfigurasi menggunakan IDE yang digunakan pada saat konfigurasi setup. Upz.. sobat bingung maksudnya? LibGDX merupakan sebuah framework dan artikel ini merupakan lanjutan beberapa informasi untuk memulai menggunakan framework ini. Oke, untuk mempersingkat sobat bisa baca tentang memulainya dari Once Setup untuk LibGDX menggunakan eclipse .
File hasil generator LibGDX inilah yang sudah teringetrasi dengan semua lintas platform baik android, ios, html maupun untuk desktop. setiap project telah dimanipulasi sedimikian rupa sehingga tidak perlu konfigurasi lagi untuk melanjutkan aplikasi yang akan kita buat.
Jika saat setup project LibGDX ini sobat mencetang eclipse sebagai IDE yang digunakan, maka tahapan selanjutnya adalah mengimport project hasil generator setup tersebut kedalam workspace yang sobat gunakan pada eclipse ini. Berikut selengkapnya.

Cara Import Project pada eclipse

Cara ini sebenarnya cukup sederhana. Buka eclipse dan gunakan workspace yang ingin sobat gunakan. pilih menu File -> Import
Import Project Existing Eclipse
Pada menu general pilihlah Import Exsisting Project

Import Project LibGDX on Eclipse
Untuk setiap project LibGDX yang telah digenerate, importlah semua itu. Jika sobat mencentang semua subproject pada LibGDX setup UI maka akan terdapat 5 macam project. 1 project utama dan 4 project untuk masing-masing platform. Setiap project platform telah terhubung dengan project utama. Inilah hebat LibGDX, project utama tersebut akan diubah sesuai dengan platform yang digunakan. Sehingga kita tida perlu lagi membuat untuk setiap platform nya cukup pada project utama saja.

demikianlah semoga bermanfaat, baca artikel menarik ini Keren, bisa mencoba gadget dari apple dengan emulator ipadian
8:00 AM Read more »
Once Setup untuk LibGDX menggunakan eclipse

Download setup LibGDX
Hey Gwener's, What's Up!
Baik saya tidak basa basi lagi, jika sobat belum mengerti maksud dari artikel ini maka sebaiknya membaca artikel berikut terlebih dahulu libGDX framework untuk aplikasi mobile (Java, IOS, android, html5). Ya, pada aritkel ini kita akan mencoba membuat sebuah aplikasi menggunakan LibGDX
Langkah awal yang perlu sobat lakukan adalah download setup file dari situs http://libgdx.badlogicgames.com/download.html. File setup ini hanya terdiri satu file saja. Untuk pembuatan project diharuskan sobat memiliki koneksi internet, karena kita melakukan generate akan mendownload file yang dibutuhkan selama setup ini berlangsung.
Baik, pastikan sobat telah melakukan instalasi sesuai pada artikel sebelumnya. Ini akan berguna untuk proses pembuatan aplikasi selanjutnya.

Cara melakukan Setup LibGDX

Perlu diketahui bahwa LibGDX dibangun diatas java. Oleh karena itu, diperlukan java IDE terinstall di PC ataupun laptop yang sobat gunakan.
  • Buka file Setup
    Setup LibGDX
    Seperti gambar diatas sobat bisa mengisi sesuai dengan kebutuhan sobat, Nama, Package dan nama class game yang akan digunakan. yang perlu diisi adalah lokasi android sdk yang sudah terinstal di PC sobat. ini digunakan untuk jenis aplikasi android nantinya. Pada setup diatas juga terlihat Sub Project, ini digunakan untuk mengkonversi aplikasi ini ke berbagai macam platform. plihlah sesuai dengan yang sobat inginkan.
  • Tahap terakhir adalah mengintegrasikan LibGDX dengan ide yang digunakan. Dalam hal ini adalah eclipse. Oleh karena itu kita bisa melakukan konfigurasi lanjutan yang lebih advance pada setup UI diatas. seperti gambar dibawah ini, centang IDE yang ingin sobat integrasikan.
    Advance Setup LibGDX
8:00 AM Read more »
libGDX framework untuk aplikasi mobile (Java, IOS, android, html5)

LibGDX framework
Hey Gwener's, What's Up!
Sudah mengenalkah sobat tentang framework? jika belum, ada baiknya memahaminya di Membangun aplikasi dengan framework. Framework pada dasarnya mempermudah dalam membuat suatu aplikasi. Namun terkadang framework hanya bisa digunakan pada suatu pemograman saja. Misalnya untuk .Net, java maupun IOS.
Pada bahasan kali kita akan fokus pada aplikasi mobile yang berbasis java. Namun bisa digunakan untuk berbagai macam platfrom seperti Android, IOS, Blackberry maupun desktop. Berbeda dengan framework pada umumnya. Ini adalah LibGDX sebuah terobosan untuk multi platfrom framework

Apa itu LibGDX

LibGDX adalah sekumpulan library yang berbasis java. Seperti yang telah kita ketahui java merupakan platform yang disupport di berbagai macam OS, bahkan hampir kesuluran OS menyediakan fitur ini. Oleh karena itu LibGDX hadir sebagai inovasi untuk menyimbangkan berbagai macam OS.
Pernahkan sobat membuat sebuah aplikasi namun tidak dapat digunakan pada OS ataupun platform yang lain?, Nah, LibGdx ini adalah solusi yang tepat untuk membantu sobat dalam melakukan konversi aplikasi untuk berbagai lintas platfrom. LibGDX berisi sekumpulan library yang dibangun diatas java. Semua kelengkapan seperti IO dan UI juga disediakan oleh LibGDX. Sehingga sobat tidak perlu membuat sebuah framework lagi untuk aplikasi mobile maupun desktop.
Karena berbasis java LibGDX tentunya hanya bisa digunakan pada IDE yang support java seperti eclipse. Sudah mencoba IDE ini? jika belum silahkan pelajari di Eclipse, IDE untuk develop aplikasi java. eclipse sendiri bisa dilengkapi dengan berbagai macam plugin sehingga sangat cocok dengan LibGdx untuk membuat aplikasi lintas platfrom.

Memulai Menggunakan LibGDX

Beberapa hal yang perlu dipersiapkan sebelum menggunakan LibGDX akan kita ulas selengkapnya disini.
  1. Install IDE
    Seperti yang telah disinggung diatas, IDE yang paling cocok adalah menggunakan eclipse. sobat bisa langsung mendownload IDE secara gratis dari situs resminya.
  2. Install Plugin Android
    Jika berkaitan dengan mobile, tentu tidak asing menggunakan android. Namun dengan eclipse kita membutuhkan plugin untuk mengintegrasikan IDE dengan SDK dari android ini. Selengkapnya sobat bisa membaca petunjuk instalasi di Develop android apps dengan Eclipse menggunakan ADT
  3. Install Plugin IOS
    IOS juga banyak digunakan aplikasi mobile. Namun kita memerlukan plugin ekternal untuk menggunakan fitur ini, yakni RoboVM, sebagai open source untuk membuat native aplikasi berbasis IOS. langsung saja sobat bisa menginstal dengan cara Robovm alternatif xcode untuk membuat aplikasi IOS
Sebelum melanjutkan ketahap selanjutnya pastikan sobat telah melakukan tahapan diatas dengan benar sehingga kita bisa memulai membuat aplikasi dengan framework LibGDX ini. Nantikan artikel selanjutnya untuk tutorial framework ini.
8:00 AM Read more »
Membangun aplikasi dengan framework

Framework aplikasi
Hey Gwener's, What's Up!
Dalam membuat program maupun suatu aplikasi tentu ada hal dasar yang perlu dibuat. Biasanya ini sudah distandarkan. Misalkan membuat input output dalam bentuk stream. Cara ini sudah sangat umum. Nah, standarisasi inilah yang bisa dibuat untuk dijadikan framework.

Apa itu Framework

Framework merupakan sekumpulan library suatu pemograman yang distandarkan. Hal ini berarti library tersebut bisa digunakan berkali-kali untuk tujuan yang sama pula. Pada setiap bahasa pemograman bisa dibuat suatu framework tertentu yang berbeda satu sama lain namun bisa saja memiliki fungsi yang sama.
Framework dapat membantu mempermudah proses development suatu aplikasi. Kumpulan library yang terdapat di framework harus lah dapat di-reuse atau digunakan kembali. Framework biasanya berisi inti dari suatu aplikasi. Framework bertugas menjalankan dan mengontrol sistem dan alur aplikasi secara keseluruhan. Hal yang paling mendasar dari satu framework adalah managemen log atau aktifitas dari aplikasi. Biasanya selalu disediakan fitur ini untuk setiap framework ini

Menggunakan Framework

Untuk menggunakan framework biasanya diperlukan sebuah IDE ataupun tools. Seperti yang dijelaskan diatas untuk setiap bahasa pemograman tentu memiliki framework yang berbeda. Oleh karena itu juga menggunakan IDE yang berbeda pula sesuai dengan kebutuhan yang digunakan.
Apa saja IDE yang digunakan untuk membuat aplikasi untuk berbagai macam pemograman. Berikut rangkuman beberapa IDE yang paling umum digunakan.
  • .Net Framework
    Jika sobat sudah familiar dengan .Net tentu sudah tidak asing menggunakan IDE ini. Ya, Visual Studio merupakan IDE yang paling canggih dari .Net. Semua aplikasi berbasis .Net bisa dibangun menggunakan IDE ini. Uniknya lagi banyak berbagai macam fitur yang bisa digunakan dengan IDE. Untuk selengkapnya sobat bisa mempelajarinya di Cara membuat Visual Studio online untuk cloud project
  • IOS
    Saya sendiri belum pernah menggunakan bahasa pemograman untuk OS yang satu ini. Namun berdasarkan informasi yang saya peroleh, untuk membuat aplikasi berbasis IOS bisa menggunakan tools XCode. Sayangnya tools ini hanya bisa digunakan pada Mac book saja atau laptop dengan OS yang disupport tersebut. Namun sebagai alternatif sobat bisa menggunakan plugin ini Robovm alternatif xcode untuk membuat aplikasi IOS
  • Java
    Java adalah pemograman yang paling pepuler saat ini, Google sendiri telah merelease OS berbasis java dan linux ini dengan nama Android. untuk java sendiri banyak IDE yang bisa sobat gunakan. Namun yang paling populer digunakan adalah eclipse. Eclipse tools yang sangat ringan selain itu juga terdapat banyak plugin yang bisa digunakan untuk tujuan tertentu. Nah, untuk lebih lengkapnya bisa sobat baca pada artikel ini Eclipse, IDE untuk develop aplikasi java

Contoh Framework

Sobat adalah developer .Net? tentunya sudah familiar dengan framework. .Net sendiri adalah sebuah framework namun masih bersifat general. Contoh yang lebih kompleks adalah pengolahan database dari .Net, yakni entity framework. Framework ini berisi sekumpulan pengolahan data baik untuk database maupun objek. Teknologi yang dikembangkan dibangun diatas Linq, yakni sebuah fitur canggih untuk manipulasi sebuah collection data. Sobat bisa mencoba salah satu framework ini dengan tools berikut Aplikasi untuk testing Linq dan Lamda Expression
8:00 AM Read more »
3 emulator khusus untuk pengguna gadget mobile

Mobile Emulator
Hey Gwener's, What's Up!
Banyaknya muncul berbagai macam gadget sangat memeriahkan pasar gadget di berbagai tempat dibelahan dunia ini. Mulai dari fitur yang sederhana sampai dengan fitur yang sangat canggih. Pihak pabrikan pun berlomba-lomba untuk memberikan inovasi seiring meningkatnya kebutuhan dikalangan konsumen. Perkembangan teknologi ini menuntut untuk membuat orang melakukan sesuatu lebih praktis.
Dari berbagai macam gadget yang bermunculan dipasaran, bisa dikategorikan terdapat 3 OS mobile yang paling banyak diminati. Tentunya di dengan alasan yang berbeda pula. Nah, sobat penggila gadget yang mana?. Hari gini tidak punya gadget? apa kata dunia!. Ini mungkin istilah yang bisa menggambarkan bagaimana maraknya pengguna gadget.
Memiliki gadget mungkin sudah menjadi tren, Namun untuk memperoleh berbagai macam gadget dari OS tentu akan menjadi kendala di kalangan tertentu. Karena setiap gadget saat ini memiliki harga yang meroket sekali. Tentu mungkin kita hanya bisa memiliki salah satu diantaranya saja. Nah, untuk itu perlu berkecil hati. Sebelum memilih gadget yang sobat inginkan, ada baiknya sobat mencoba terlebih dahulu menggunakan emulator khusus gadget ini.
Mau tau emulator dan fitur apa saja yang bisa sobat dapatkan. Ini artikel selengkapnya

Kumpulan Emulator Mobile

  1. Android
    Bisa dibilang popularitas gadget ini diindonesia sangat meningkat, jika sobat mengunjungi toko elektronik maka yang paling banyak berjejeran adalah gadget dengan OS android ini. Namun adakah emulator yang bisa kita gunakan? tentu saja ada. Jika sobat adalah developer android, tentu tidak asing lagi. Langsung saja, emulator ini telah disediakan langsung dari ADT yang memang dikhususkan untuk developer aplikasi android. Ini selengkapnya Mencoba gadget android dengan emulator dari ADT
    Hanya saja emulator dari ADT ini masih banyak dikomplain dikalangan developer. Hal ini dikarenakan proses loading yang lama serta lambat. Tidak jelas penyebabnya walaupun spesifikasi PC sudah bagus juga tidak membuat emulator ini bisa berjalan dengan baik.
    Sebagai bentuk alternatif, emulator lainpun bisa sobat gunakan yakni Genymotion. Genymotion untuk emulator android super cepat. Kelebihannya genymotion ini juga bisa diintegrasikan dengan IDE pemogramanan seperti eclipse. Berbeda dengan ADT, genymotion lebih cepat karena dibuat menggunakan virtual machine, sehingga performance jauh lebih baik. Sebagai developer, ini bisa sobat manfaatkan untuk mencoba aplikasi android yang sobat gunakan karena memang sangat praktis.
  2. IOS
    Jika berbicara dengan IOS pasti sudah menjadi keinginan dibanyak kalangan untuk memiliki gadget dengan brand terkenal ini. Bentuk design yang elegan menjadi primadona bagi penggunanya. Namun, sebenarnya sobat juga tetap dapat menggunakan gadget dengan OS ini secara virtual tentunya menggunakan emulator khusus.
    Keren, bisa mencoba gadget dari apple dengan emulator ipadian, adalah salah satu emulator terbaik untuk IOS khusus pengguna Windows tentunya. Emulator ini sangat ringan dan bisa langsung digunakan bahkan tanpa konfigurasi yang berarti. Mau mencoba? silah download sekarang. Gratis!

Demikian informasi berkaitan dengan emulator canggih ini. Banyak yang bisa sobat manfaatkan menggunakan emulator khususnya sebagai developer. Nah, saya tunggu response sobat untuk mencoba emulator ini dengan memberikan komentar pada artikel ini tentunya
8:00 AM Read more »