Sunday, August 09, 2015

Pindahan

Jadi ceritanya aktivitas ngeblog saya di blog ini akan saya tutup.
Selanjutnya saya melanjutkan aktivitas ngeblog saya di www.ardhi.web.id.
Demikian harap dimaklumi, terima kasih sudah membaca postingan-postingan saya selama ini.

Monday, May 11, 2015

Web Service PHP Menggunakan Slim Framework : Membuat Web Service (Read dan Insert ke Database)

UPDATE
Terdapat bug pada tutorial ini, ketika  tabel memiliki foreign key NotORM tidak dapat melakukan select dengan benar. Saya sarankan untuk menggunakan PHP (tanpa library ORM) untuk melakukan CRUD.

Pada postingan sebelumnya saya menuliskan tentang instalasi Slim Framework. Kali ini akan saya lanjutkan dengan tutorial pembuatan web service sederhana menggunakan Slim Framework dan library NotORM.

Sebelumnya, perlu dipahami
Slim Framework --> Micro framework PHP untuk membuat rest web service.
NotORM --> Library PHP untuk mengolah data yang ada di database. Penggunaan library ini untuk membuat web service sebenarnya bukan sesuatu yang wajib, namun akan mempermudah coding daripada harus menuliskan query MySQL lewat code PHP langsung. Bisa juga menggunakan library ORM lainnya selain NotORM.

Sunday, May 10, 2015

Web Service PHP Menggunakan Slim Framework : Instalasi Slim Framework

Slim Framework sederhananya adalah micro framework PHP yang digunakan untuk membuat Restful web service. Dikatakan sebagai micro framework karena ukuran framework yang kecil dan sederhana, framework khusus untuk task tertentu (dalam hal ini untuk membuat web service).

Thursday, April 30, 2015

Mendesain Database MySQL Menggunakan MySQL Workbench : Part 2 Instalasi MySQL Workbench

Part 1 : Instalasi MySQL

Setelah MySQL terinstall langkah selanjutnya adalah menginstall MySQL Workbench melalui perintah
sudo apt-get install mysql-workbench

Perlu diketahui bahwa MySQL Workbench yang diinstall dari repository bukan merupakan versi yang terbaru. Apabila menginginkan untuk menginstall versi terbaru dapat mengunduh installernya di sini.
Ini adalah tampilan awal ketika MySQL Workbench dijalankan

Monday, April 20, 2015

Mendesain Database MySQL Menggunakan MySQL Workbench : Part 1 Instalasi MySQL

Pembuatan database MySQL dapat dilakukan dengan mudah menggunakan tool MySQL Workbench.

Tool yang dibutuhkan:
MySQL server
MySQL Workbench

Monday, March 16, 2015

Ikutan Kompas Kampus (2)

Hari Pertama (13 Maret 2015)
Setelah sebelumnya berhasil mendapatkan tiket acara Kompas Kampus, saya bersama teman-teman kos mengikuti acaranya. Ada berberapa acara yang diadakan pada hari pertama ini di antaranya adalah workshop jurnalistik dan Stand Up Comedy.
Kami mengikuti acara Stand Up Comedy yang diadakan mulai pukul 16:10. Namun pada kenyataannya kami baru masuk ke Grha Sabha pukul 16:30, alhamdulillah lancar masuknya, ga antri.

Thursday, March 12, 2015

Ikutan Kompas Kampus (1)

Setelah sekian lama, postingan curcol kembali lagi.
Ceritanya ini mau ada event Kompas Kampus di UGM tanggal 13 dan 14 Maret 2015. Beberapa acara unggulan Kompas TV seperti Stand Up Comedy mau diadain di kampus dan kita bisa ikutan nonton. 
Singkat cerita, saya juga ikutan mendaftar online sekitar akhir Februari lalu untuk bisa ikut acaranya. Setelah minggu sebelumnya membatalkan diri ikutan CSSummit 2015 yang ada Christian Sugiono & Gus Mul, saya berharap bisa sedikit mengobati ke-absenan saya di event yang ga ada kaitan sama kuliah dan coding ini.

Friday, February 06, 2015

Android - Membuat Tombol Navigasi di ActionBar

Akan dibuat sebuah aplikasi yang memiliki tombol navigasi ke Activity utama, seperti yang nampak pada video berikut

Buat project Android baru dengan 2 activity, misalnya di sini ada MainActivity dengan NextActivity.
MainActivity menjadi activity utama yang memiliki tombol Next untuk memanggil NextActivity.
Tambahkan Button di layout activity_main dengan action onClick="showNextActivity"
<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="next"
        android:id="@+id/bNext"
        android:onClick="showNextActivity"
/>

Tambahkan method showNextActivity di MainActivity.java untuk memanggil NextActivity
public void showNextActivity(View view){
        Intent intent = new Intent(this, NextActivity.class);
        startActivity(intent);
}

Selanjutnya tambahkan baris berikut di NextActivity.java pada method onCreate
//mengaktifkan tombol navigasi home
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

Ubah method onOptionsItemSelected di NextActivity.java menjadi seperti di bawah ini untuk memberikan action ke tombol navigasi agar kembali ke Activity utama
@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                finish();
        }

        return super.onOptionsItemSelected(item);
    }

source code lengkap
https://github.com/ardhiesta/android-home_navigation

Hosting Unlimited Indonesia

Thursday, December 25, 2014

Share Koneksi Internet di Ubuntu

catatan : Tutorial ini hanya berlaku di Ubuntu 14.04

Koneksi internet di laptop (konek kabel LAN) akan dishare melalui wifi (laptop dijadikan access point).

1. Install dhcp3-server dan hostapd
sudo apt-get install dhcp3-server hostapd

2. Edit file /etc/hostapd/hostapd.conf
sudo [text_editor] /etc/hostapd/hostapd.conf

ganti [text_editor] dengan nama program text editor di Ubuntu, misalnya gedit

*gedit adalah program text editor semacam notepad, belum terinstall secara default di Lubuntu. Bisa install dulu geditnya atau pakai program lain semisal leafpad yang sudah ada otomatis di Lubuntu, perintah di Lubuntu menjadi
sudo leafpad /etc/hostapd/hostapd.conf
Selanjutnya isi file /etc/hostapd/hostapd.conf seperti berikut
interface=wlan0
driver=nl80211
ssid=geekpeek
channel=1
hw_mode=g
auth_algs=1
wpa=3
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP

keterangan
geekpeek --> nama wifi
12345678 --> password wifi

Ubah nama wifi dan password wifi sesuai kebutuhan kamu, simpan file.

3. Edit file /etc/default/isc-dhcp-server
sudo [text_editor] /etc/default/isc-dhcp-server

ubah
INTERFACES=""
menjadi
INTERFACES="wlan0"

simpan file

4. Edit file /etc/dhcp/dhcpd.conf
sudo [text_editor] /etc/dhcp/dhcpd.conf

tambahkan di akhir file seperti berikut
subnet 10.10.0.0 netmask 255.255.255.0 {
        range 10.10.0.2 10.10.0.16;
        option domain-name-servers 8.8.4.4, 8.8.8.8;
        option routers 10.10.0.1;
}

simpan file

5. Edit file /etc/sysctl.conf
hilangkan tanda # di depan baris
awalnya
#net.ipv4.ip_forward = 1

ubah menjadi
net.ipv4.ip_forward = 1

6. Buat script bash, beri nama sesuka kamu. Misalnya ini saya buat file Documents/wifi.sh (file bernama wifi.sh, tersimpan di folder Documents pada directory home user linux), isi file sebagai berikut
#!/bin/bash
nmcli nm wifi off
rfkill unblock wlan
ifconfig wlan0 10.10.0.1/24
iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -o eth0 -j MASQUERADE
service isc-dhcp-server start
hostapd /etc/hostapd/hostapd.conf

Buatnya pakai text editor yah (gedit, leafpad, nano, dll). Simpan kalau sudah.

Beri akses execute ke file
chmod +x Documents/wifi.sh

Restart laptop

Untuk menjalankan tethering, ini perintahnya
sudo ~/Documents/wifi.sh

Untuk mematikan tethering, tekan Ctrl+C pada terminal yang menjalankan script bash tadi

Sumber
http://thebeautifullmind.com/2012/09/19/sharing-internet-over-wifi-between-ubuntu-and-android/

Lazada Indonesia

Monday, December 22, 2014

Terima Kasih Ibu - Belajar tentang Arti Seorang Ibu dari Mas Toni Blank

Ibu, sosok yang sangat besar jasanya bagi setiap insan manusia.
Kasih sayangnya diabadikan dalam sebuah lagu,
"..tak terhingga sepanjang masa...
hanya memberi.. tak harap kembali..
bagai sang surya menerangi dunia..."

Begitu pula bagi mas Toni Blank yang mencurahkan isi hatinya tentang sosok seorang ibu.
 

"Ibu adalah yang melahirkan, yang membesarkan...", kata mas Toni.
Menurut mas Toni, kasih sayang ibu mengisi suatu generasi.

Kita semua pasti punya banyak momen kenangan bersama ibu, tak terkecuali mas Toni.
Mas Toni sewaktu kecil berangkat sekolah diantar oleh ibu, sampai di sekolah ibunya pulang. Walau berangkatnya masih diantar ibu, Mas Toni pulang dari sekolah sudah berani sendiri.
Kita pun begitu, semasa kecil mungkin juga suka diantar ibu ke sekolah.
Atau ketika main sering dicari ibu, disuruh pulang.
Atau sering kena omel ibu kalau nakal.

Masakan ibu...
Kita pasti setuju dengan cerita mas Toni, selalu ada masakan favorit buatan ibu.
Mas Toni suka gudeg dan pecel buatan ibunya.
Walaupun di warung-warung ataupun restoran banyak masakan yang lebih wah dari masakan ibu, tetap ga bisa mengalahkan kerinduan kita akan masakan ibu yang sederhana namun merindukan.
Sering kali ibu tak menyediakan cemilan yang wah, hanya ketela singkong dan pisang rebus seperti halnya yang dialami mas Toni, namun tetap nikmat disantap bersama keluarga.

Kita pasti pernah disuruh oleh ibu membantu kegiatan di rumah.
Seperti mas Toni yang pernah disuruh ibunya membantu di sawah.
Sempatkanlah walau sejenak untuk membantu ibu.
Menyapu lantai, mengelap perabot, ataupun mengantarkan ibu pergi berbelanja janganlah dianggap sebagai sesuatu yang memberatkan.
Ibu kita mengalami benyak hal yang berat untuk melahirkan, mendidik kita hingga besar.

Dongeng dari ibu...
Teringat kita di waktu kecil, sebelum tidur ibu selalu menceritakan berbagai kisah dongeng.
Ada di kancil yang mencuri ketimun, ada Timun Mas yang dikejar raksasa, atau dongeng dari daerah lain yang melegenda.
Di sana diselipkan berbagai pesan bijak ibu yang ingin anaknya menerapkan berbagai hal baik.
Demikian pula yang dialami mas Toni, yang dalam setiap cerita ibunya diberikan pesan untuk selalu berbuat baik dan menyebarkan cinta kepada sesama.

Ibu sering memberikan hal-hal kecil yang membahagiakan, demikian menurut mas Toni.
Ibu tidak pernah mengikat, yang mereka ikat hanyalah cinta yang nyata, cinta yang pasti, bukan cinta mati atau cinta yang lain.
Iya, demikian murninya cinta seorang ibu :)

Pernah bilang ibu jahat?
Ketika kita dimarahi ibu karena kenakalan kita, atau hal yang lain, mungkin kita pernah bilang demikian.
Namun kata mas Toni, ibu tidak jahat.
Ibu hanya menuntut sebuah nilai (yang baik dari diri kita), tidak pernah menuntut uang yang banyak (materi) dari kita untuk menunjukkan bahwa kita mampu.
Begitu kan, ibu tidak pernah menuntut, ibu hanya memberi...

Terharu, mas Toni jadi bener ngomongnya waktu mbahas sosok ibu ini.

Sudahkah kita mencintai ibu seperti mas Toni ini, walaupun kondisi mas Toni sekarang kejiwaannya terganggu, namun cinta ibu masih teringat dengan jelas oleh mas Toni.

Sunday, December 21, 2014

Pemrograman Android - Menambahkan Icon ke EditText

Komponen EditText akan jadi lebih menarik jika ditambahkan icon ke dalamnya, caranya seperti yang diuraikan dalam video berikut

Friday, November 07, 2014

Menampilkan Image dari Internet ke ImageView Android

UPDATE
Metode ini sudah tidak bisa dipakai

Gambar yang terdapat di suatu URL akan ditampilkan ke dalam ImageView.
Buat layout dengan sebuah ImageView di dalamnya untuk menampilkan image
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
    android:id="@+id/a">

    <!-- komponen ImageView untuk menampilkan image dari internet -->
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

</RelativeLayout>
Di dalam MainActivity tambahkan class DownloadImageTask yang meng-extends AsyncTask untuk mendownload image dari internet
    private class DownloadImageTask extends AsyncTask {
        ImageView bmImage;

        public DownloadImageTask(ImageView bmImage) {
            this.bmImage = bmImage;
        }

        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            Bitmap mIcon11 = null;
            try {
                InputStream in = new java.net.URL(urldisplay).openStream();
                mIcon11 = BitmapFactory.decodeStream(in);
            } catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return mIcon11;
        }

        protected void onPostExecute(Bitmap result) {
            bmImage.setImageBitmap(result);
        }
    }
Panggil DownloadImageTask di dalam method OnCreate dengan menambahkan URL gambar yang akan ditampilkan
new DownloadImageTask((ImageView) findViewById(R.id.imageView)).execute("http://i1-news.softpedia-static.com/images/news2/Guake-Review-463465-4.jpg");
Source code lengkap MainActivity akan menjadi seperti ini
MainActivity.java
package ardhi.com.simpleimageviewer;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import java.io.InputStream;


public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        new DownloadImageTask((ImageView) findViewById(R.id.imageView)).execute("http://i1-news.softpedia-static.com/images/news2/Guake-Review-463465-4.jpg"); //memanggil class DownloadImageTask untuk menampilkan image dari url yang dimasukkan
    }

    //class untuk mendownload image dan menampilkannya ke imageView, menggunakan asynchronous task
    private class DownloadImageTask extends AsyncTask {
        ImageView bmImage;

        public DownloadImageTask(ImageView bmImage) {
            this.bmImage = bmImage;
        }

        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            Bitmap mIcon11 = null;
            try {
                InputStream in = new java.net.URL(urldisplay).openStream();
                mIcon11 = BitmapFactory.decodeStream(in);
            } catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return mIcon11;
        }

        protected void onPostExecute(Bitmap result) {
            bmImage.setImageBitmap(result);
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
Tambahkan permission ke AndroidManifest
<uses-permission android:name="android.permission.INTERNET"/>
Sehingga AndroidManifest akan menjadi seperti ini
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ardhi.com.simpleimageviewer" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="ardhi.com.simpleimageviewer.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <uses-permission android:name="android.permission.INTERNET"/> <!-- permission untuk mengakses internet -->
    </application>

</manifest>
Hasil ketika dijalankan adalah sebagai berikut

Project lengkap (dibuat menggunakan Android Studio 0.8.14) dapat diclone dari
https://github.com/ardhiesta/Simple-Image-Viewer

sumber
http://stackoverflow.com/questions/2471935/how-to-load-an-imageview-by-url-in-android

Monday, November 03, 2014

Kapan

Tumben ni ga bikin postingan tutorial, ya ga apa-apa sekali-sekali post curcol *asal masih lebih banyak postingan tutorialnya.
Pagi ini saya memulai sesuatu yang sudah lama tak saya lakukan.
Saya masih berpegang teguh bahwa sesuatu yang baik namun berat itu ga akan terasa berat lagi kalau kita (memaksa) menjadikannya sebagai bagian dari kebiasaan.
Dan mulai pagi ini mencoba kembali memulai membiasakan hal yang baik itu.

Curcolan ini terkait dengan sebuah pertanyaan, "kapan"?
Haha, saya yakin teman-teman sudah mengerti arah tujuan yang dimaksud pertanyaan itu.
Namun saya belum akan membahas itu, mari kita tengok hal lain yang lebih mendesak untuk saat ini yaitu tesis.

Sekarang saat yang krusial dan saya belum memantapkan hati memilih tema.
Hambatan klise yang itu-itu saja menurut saya, intinya bingung.
Kapan harus memulai.

Cara terbaik untuk menyelesaikan suatu masalah sudah jelas, yaitu dengan menyelesaikannya :v
Mungkin teman-teman yang sedang bergelut dengan tugas akhir, skripsi, ataupun tesis pasti mengalami.
Bingung dengan tema yang mau diangkat,
belum tahu harus memulai dari mana,
atau yang lebih parah : blank.

Hal yang seharusnya tidak perlu dialami sebenarnya, karena kebingungan yang demikian tidak akan terjadi kalau kita serius.

Ada pula yang mengalami hambatan karena memikirkan yang tidak perlu.
Misalnya milih tema A, kemudian karena berpikir "sepertinya bikin programnya susah", trus galau.

Sedikit banyak saya mengalami itu.

Mari kita memulai untuk menyingkirkan pikiran-pikiran yang menghambat itu, mulai dari sekarang.

Banyak cara kalau kita mau berusaha.
Menulis (tugas akhir, skripsi, atau tesis) sebenarnya bukanlah tentang membuat sebuah kesempurnaan, namun tentang kesungguhan.

Kapan?
Sekarang.
Mohon do'a teman-teman agar saya bisa menyelesaikan tesis saya, 8 bulan lagi.

Sunday, November 02, 2014

Membuat Java Webapps dengan Maven + Struts + Hibernate (bagian 2)

2. Membuat Database

Selanjutnya buat database di MySQL dengan mendesainnya terlebih dulu menggunakan MySQL Workbench.
Klik menu File → New Model
Kemudian tambahkan EER Diagram
Tambahkan table
Klik kanan pada table yang muncul, pilih Edit 'table'
Kemudian ubah nama table
Tambahkan kolom-kolom beserta tipe datanya dengan membuka tab Columns
Berikut rancangan tabel-tabel yang digunakan, beserta nama kolom, tipe data, serta relasinya
Untuk bikin relasi one to many, cari ikon kayak gini ya

Postingan belum selesai, tunggu update selanjutnya yah...
bagian 1 : Membuat Project Java Web Maven
bagian 2 : Membuat Database

Friday, October 31, 2014

Membuat Java Webapps dengan Maven + Struts + Hibernate (bagian 1)

Dalam tutorial ini akan dibuat aplikasi ToDo yang menyimpan agenda.
Tools yang digunakan :
Eclipse Luna + Apache Maven 3.2.3
Lubuntu 14.04 64 bit
JDK 7
MySQL Workbench


*tutorial ini masuk kategori menengah, disarankan sebelum mencoba sudah mengetahui dasar Java

1. Membuat Project Java Web Maven

Atur dulu Maven yang digunakan oleh Eclipse. Saya tidak menggunakan Maven bawaan dari Eclipse, namun menggunakan Maven 3.2.3 yang diinstall terpisah. Klik Window → Preferences, kemudian pilih Maven → Instalations, tambahkan Maven 3.2.3 yang diinstall terpisah
Kemudian buat project maven Java webapp, langkah-langkahnya adalah sebagai berikut
Klik menu File → New → Other
Pilih Maven Project

Ikuti wizard
Ikuti pilihan default

Pilih maven-archtype-webapp

Selanjutnya isi parameter, akhiri dengan Finish

Keterangan
Group Id : gampangnya ini “nama dasar” package di project
Artifact Id : nama project
Version : versi aplikasi yang dibangun
Package : Group Id dengan Artifact Id digabung membentuk Package
penjelasan di atas adalah versi saya sendiri, kalau kurang jelas bisa googling :3.

Tambahkan dependency berikut ke pom.xml
<dependency>
 <groupId>org.apache.logging.log4j</groupId>
 <artifactId>log4j-core</artifactId>
 <version>2.0.2</version>
</dependency>
<dependency>
 <groupId>org.apache.struts</groupId>
 <artifactId>struts2-core</artifactId>
 <version>2.3.16.3</version>
</dependency>
Tambahkan plugin berikut ke pom.xml, di dalam <build>
<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-war-plugin</artifactId>
 <version>2.4</version>
</plugin>
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
 <version>3.2</version>
 <configuration>
  <!-- put your configurations here -->
    </configuration>
</plugin>
Sehingga pom.xml akan menjadi seperti berikut ini
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.todo</groupId>
  <artifactId>ToDoWebApps</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>ToDoWebApps Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-core</artifactId>
  <version>2.0.2</version>
 </dependency>
 <dependency>
     <groupId>org.apache.struts</groupId>
     <artifactId>struts2-core</artifactId>
     <version>2.3.16.3</version>
 </dependency>
  </dependencies>
  <build>
    <finalName>ToDoWebApps</finalName>
    <plugins>
     <plugin>
   <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-war-plugin</artifactId>
     <version>2.4</version>
  </plugin>
  <plugin>
         <groupId>org.apache.tomcat.maven</groupId>
         <artifactId>tomcat7-maven-plugin</artifactId>
         <version>2.2</version>
       </plugin>
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>3.2</version>
           <configuration>
             <!-- put your configurations here -->
           </configuration>
        </plugin>
    </plugins>
  </build>
</project>

Kemudian buat file log4j.xml di src/main/resources
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
     
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
       </layout>
    </appender>
  
    <!-- specify the logging level for loggers from other libraries -->
    <logger name="com.opensymphony">
        <level value="DEBUG" />
    </logger>
 
    <logger name="org.apache.struts2">
         <level value="DEBUG" />
    </logger>
   
   <!-- for all other loggers log only info and above log messages -->
     <root>
        <priority value="INFO"/>
        <appender-ref ref="STDOUT" />
     </root>
     
</log4j:configuration> 

Postingan ini belum selesai ya, tunggu update selanjutnya...

bagian 1 : Membuat Project Java Web Maven
bagian 2 : Membuat Database
Lazada Indonesia

Monday, September 22, 2014

Membuat Project Android Menggunakan Android Studio

Android Studio adalah tool (yang masih relatif baru) dari Google yang mengintegrasikan IDE dengan Android SDK. Tidak seperti Android Developer Tools (ADT), Android SDK menggunakan gradle (http://www.gradle.org/) sebagai build system-nya.
Gradle ini seperti Maven (http://maven.apache.org), akan mendownloadkan (secara otomatis) library-library tambahan yang dibutuhkan developer untuk membuat aplikasi Android, untuk itu kalau kita pakai Android Studio wajib mengkoneksikan komputer ke internet.
Selengkapnya tentang Android Studio dan cara instalasinya bisa lihat di
Berikut ini panduan singkat membuat project Android menggunakan Android Studio

1. Klik Start a new Android Studio project 

2. Isi Application name, Company Domain (ini akan menjadi nama package), dan tentukan Project location

3. Tentukan device target dan Minimum SDK

4. Tambahkan Activity template, misalnya pilih Blank Activity.

5. Isi Activity Name untuk memberi nama activity, Layout Name untuk nama file .xml yang memuat layout activity dan Title untuk judul activity. Kemudian klik tombol Finish.


Lazada Indonesia

Friday, September 19, 2014

Memperbaiki Rendering Problem Android Studio 0.8.9

Saat membuat layout Activity menggunakan Android Studio 0.8.9 setelah menambahkan elemen EditText didapatkan error
Rendering Problems. 
Exception raised during rendering: java.lang.System.arraycopy(|CI|CII)V
Seperti yang muncul pada gambar berikut

Untukmengatasinya, cukup dengan mengganti versi SDK yang dipakai untuk rendering layout dari versi 20 ke versi lain, misalnya 19.
Seperti yang tampak pada gambar di bawah ini pada bagian yang diberi kotak merah.

Demikian post singkat saya kali ini, semoga bermanfaat ^_^

Thursday, September 04, 2014

Mengubah Default Pilihan OS di Grub2 (Bootloader Linux)

Pilihan OS default di grub bootloader biasanya diarahkan ke Ubuntu (entry paling atas).
gambar diambil dari http://yogieza.files.wordpress.com/2010/01/grub-boot-loader.jpg

Pilihan tersebut dapat dimodifikasi agar begitu komputer dihidupkan, grub akan otomatis memilih OS selain Ubuntu. Misalnya pada contoh gambar di atas Windows XP dijadikan sebagai OS yang dipilih secara default.

Caranya adalah sebagai berikut :
1. Edit file /etc/default/grub, misalnya dengan editor nano
sudo nano /etc/default/grub

2. Cari baris yang memuat GRUB_DEFAULT=0
Ganti angka 0 menjadi angka urutan OS di tampian grub yang hendak dijadikan default. Cara menghitung angka urutan entry OS di grub adalah dimulai dari entry yang paling atas dengan nilai 0, lihat contoh pada gambar di bawah ini untuk lebih jelasnya

GRUB_DEFAULT=0
diganti menjadi
GRUB_DEFAULT=4
*4 adalah urutan entry Windows XP pada grub yang dijadikan contoh

3. Simpan file tersebut kemudian update konfigurasi grub dengan perintah
sudo update-grub
Selesai, reboot untuk melihat hasilnya :)

** Tutorial ini telah ditest di Ubuntu 14.04

Tuesday, August 26, 2014

SEMINASIK 2014

Hai-hai para mahasiswa dan mahasiswi
dan juga para dosen

Jangan sampai melewatkan acara
Seminar Nasional Ilmu Komputer (SEMINASIK) 2014
yang bertemakan “The Opportunities and Challenges In Computational Intelligence, Big Data, and Cybernetics”
bisa buat nambah ilmu dan bahkan teman-teman bisa jadi pemakalahnya

Ini dia para Keynote Speakernya
Febriliyan Samopa, S.Kom., M.Kom., Dr.Eng
Institut Teknologi Sepuluh Nopember
 

Yudho Giri Sucahyo, S.Kom., M.Kom., Ph.D
Universitas Indonesia
 

Aina Musdholifah, S.Kom., M.Kom., Ph.D
Universitas Gadjah Mada


Catat Jadwalnya ya
Sabtu, 18 Oktober 2014
07.00 – 17.00 WIB

bertempat di Ruang A106 dan Gedung Pascasarjana Lt.4, FMIPA Universitas Gadjah Mada

Untuk teman-teman mahasiswa yang memiliki penelitian, silakan dikirim papernya.
Bapak-ibu dosen juga sangat kami harapkan partisipasinya melalui paper yang dikirimkan.

Template jurnal dapat diunduh di http://seminasik.fmipa.ugm.ac.id

Susunan acara dapat dilihat di https://docs.google.com/file/d/0B-G4HJeMdaOaSXA5SVl1VWVuOUk/edit

Untuk informasi lebih lanjut dapat menghubungi
Panitia SEMINASIK 2014
Gedung Pascasarjana FMIPA Lt.4 Universitas Gadjah Mada
Yogyakarta 55281

e-mail : seminasik@ugm.ac.id
Contact person :
Pingky Leo Lede (085253820232)
Ida Maratul Khamidah (085642807903)
Nurul Hayaty (083867132727)

Friday, August 15, 2014

Tutorial Sederhana Mempercantik Tabel HMTL dengan DataTables

DataTables adalah library Javascript yang dapat dipergunakan untuk mempercantik tampilan tabel di suatu halaman web.
Sebagai contoh, berikut ini adalah sebuah file php yang menampilkan data record-record dari suatu table di database mysql tanpa menggunakan library DataTables.

Data yang ditampilkan pada contoh di atas diambil dari database information_schema di tabel USER_PRIVILEGES, source codenya adalah sebagai berikut ini
file grid_plain.php
<html>
    <head>
        <title>Coba DataTable</title>
    </head>
    <body>
        <?php 
            $con=mysqli_connect("localhost","root","","information_schema");

            // Check connection
            if (mysqli_connect_errno()) {
                echo "Failed to connect to MySQL: " . mysqli_connect_error();
            }

            $result = mysqli_query($con,"SELECT * FROM USER_PRIVILEGES");
        ?>
        <table border="1">
            <thead>
                <tr>
                    <th>GRANTEE</th>
                    <th>TABLE_CATALOG</th>
                    <th>PRIVILEGE_TYPE</th>
                    <th>IS_GRANTABLE</th>
                </tr>
            </thead>
            <tbody>
                <?php 
                    while($row = mysqli_fetch_array($result)) {
                        echo "<tr>";
                        echo "<td>" . $row['GRANTEE'] . "</td>";
                        echo "<td>" . $row['TABLE_CATALOG'] . "</td>";
                        echo "<td>" . $row['PRIVILEGE_TYPE'] . "</td>";
                        echo "<td>" . $row['IS_GRANTABLE'] . "</td>";
                        echo "</tr>";
                    }
                ?>
            </tbody>
        </table>
        <?php
            mysqli_close($con);
        ?>
    </body>
</html>
Halaman tersebut dapat dipoles dengan library DataTables sehingga menjadi seperti di bawah ini

Caranya cukup mudah, yaitu dengan menambahkan file-file berikut ke script
jquery.dataTables.css
jquery-1.11.1.min.js
jquery.dataTables.min.js

Tambahkan file-file yang dibutuhkan tersebut ke halaman php, sebalumnya copy terlebih dahulu ke htdocs, sebagai contoh sederhana saya copy ketiganya ke folder yang sama di mana saya menyimpan file grid_plain.php.
Kita akan membuat halaman index.php yang merupakan modifikasi dari grid_plan.php. Load file-file tersebut dengan menambahkan script berikut ke source code berikut sebelum </head>
<!-- DataTables CSS -->
<link rel="stylesheet" type="text/css" href="jquery.dataTables.css">
<!-- jQuery -->
<script type="text/javascript" charset="utf8" src="jquery-1.11.1.min.js"></script>
<!-- DataTables -->
<script type="text/javascript" charset="utf8" src="jquery.dataTables.js"></script>
Kemudian ubah
<table border="1">
menjadi
<table id="table_id" class="display">
Terakhir, sebelum </body> tambahkan
<script type="text/javascript">
$(document).ready( function () {
$('#table_id').DataTable();
});
</script>
Source code lengkap index.php adalah sebagai berikut
<html>
    <head>
        <title>Coba DataTable</title>
        <!-- DataTables CSS -->
        <link rel="stylesheet" type="text/css" href="jquery.dataTables.css">
        <!-- jQuery -->
        <script type="text/javascript" charset="utf8" src="jquery-1.11.1.min.js"></script>
        <!-- DataTables -->
        <script type="text/javascript" charset="utf8" src="jquery.dataTables.js"></script>
    </head>
    <body>
        <?php 
            $con=mysqli_connect("localhost","root","","information_schema");

            // Check connection
            if (mysqli_connect_errno()) {
                echo "Failed to connect to MySQL: " . mysqli_connect_error();
            }

            $result = mysqli_query($con,"SELECT * FROM USER_PRIVILEGES");
        ?>
        <table id="table_id" class="display">
            <thead>
                <tr>
                    <th>GRANTEE</th>
                    <th>TABLE_CATALOG</th>
                    <th>PRIVILEGE_TYPE</th>
                    <th>IS_GRANTABLE</th>
                </tr>
            </thead>
            <tbody>
                <?php 
                    while($row = mysqli_fetch_array($result)) {
                        echo "<tr>";
                        echo "<td>" . $row['GRANTEE'] . "</td>";
                        echo "<td>" . $row['TABLE_CATALOG'] . "</td>";
                        echo "<td>" . $row['PRIVILEGE_TYPE'] . "</td>";
                        echo "<td>" . $row['IS_GRANTABLE'] . "</td>";
                        echo "</tr>";
                    }
                ?>
            </tbody>
        </table>
        <script type="text/javascript">
            $(document).ready( function () {
                $('#table_id').DataTable();
            });
        </script>
        <?php
            mysqli_close($con);
        ?>
    </body>
</html>
Selesai, tampilan tabel akan menjadi seperti yang ada di screenshot
Apabila tampilan masih kurang bagus, dapat dimodifikasi file css nya (jquery.dataTables.css)
Sumber
http://www.datatables.net
Source code :
https://github.com/ardhiesta/datatables

CATATAN:
Fitur paging yang tersedia di DataTables masih sederhana, semua record diambil sehingga kurang efisien untuk jumlah record yang terlalu besar

Lazada Indonesia
ardhi.web.id. Powered by Blogger.