Friday, July 21, 2017

Custom Google Maps Android Ala Pokemon Go
Bismillah

Google maps adalah sebuah peta digital yang sangat berguna di era milenial saat ini, hampir semua orang ketika bepergian jauh saat ini selalu mengandalan Google Maps.

Pada pertengahan tahun 2016 dunia dihebohkan dengan kemunculan game Pokemon Go, dengan tekhnologi AR dan Maps , Pokemon Go menjelma menjadi sebuah game yang sangat populer kala itu.

Pada kesempatan kali ini saya akan membuat tutorial aplikasi maps ala Pokemon Go.
saya di sini sendiri menggunakan Android Studio. kita hannya bikin tampilan mapsnya saja ya ..:D
bukan gamenya.

MEMPERSIAPKAN PROJECT DEVELOPMEN
Ikuti langkah-langkah berikut untuk membuat aplikasinya


  • Buka project baru.
  • Pada saat pemilihan activity, pastikan anda memilih Maps Activity *
  • Kemudian next hingga finish
*kenapa maps activity ? karena jika kita memilih empty activity maka kita menambahkan manual untuk dependency maps. istilahnya kalau ada cara mudah kenapa harus dipersulit.

MENDAPATKAN KUNCI API

Ini adalah proses terpenting dalam pebuatan app ini, karena jika kita tidak mendapatkan key, maka maps tidak akan tampil di aplikasi.
Untuk detail selengkapnya, lihat panduan lengkap untuk mendapatkan kunci API.


PEMBUATAN UI / UX


  • Cari gambar dengan latar belakang awan, kemudian pastekan di drawable beri nama sky.

  • Selanjutnya kita  buat 2 buah xml file di folder drawable gradienmap dan gradiensky.
Funsgi dari kedua file tersebut adalah  untuk memberi efek gradien pada gambar dan maps.

  • Pada gradienmap ubah kode menjadi  seperti ini
<shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">
    <gradient        android:angle="270"        android:startColor="#ffffff"        android:endColor="#00ffffff" />
</shape>

  •  Pada gradiensky ubah menjadi sepertinini 
<shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">
    <gradient        android:angle="90"        android:startColor="#ffffff"        android:endColor="#00ffffff" />
</shape>

  • Pada activity_maps.xml ubah menjadi seperti kode dibawah ini.

DEVELOPMEN JAVA
Jika sudah membuat layoutnya selanjutanya adalah membuat di java.


Jika sudha hasilnya akan seperti dibawah ini.

Gambar Hasil
Terima Kasih..

Sunday, June 18, 2017

Realm Example with Maps Picker
Bismillah
Pada kesempatan kali ini aku akan membuat aplikasi berbasis CRUD menggunakan database REALM, sebelum membuat projek kita harus tahu apa itu realm.

realm sendiri adalah jenis database yang secara langsung akan menyimpan data ke dalam storage device. Realm adalah pengganti sejenis database store mirip sqllite. Dari segi kecepatan dibanding database ORM lainnya realm lebih unggul.

Implementasi ke dalam project


  • LAYOUT
1. conten_main tambahkan ListView
<ListView    android:id="@+id/lv"    android:layout_width="match_parent"
android:layout_height="wrap_content"></ListView> 
2. buat layout xml baru dengan nama edit_mahasiswa, kemudian pada layoutnya tambahkan beberapa komponen EditText, dan Button 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@color/colorPrimary">

    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical"        android:padding="16dp">

        <TextView            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:fontFamily="sans-serif-condensed"            android:gravity="center"            android:text="TAMBAH MAHASISWA"            android:textColor="#fff" />

        <EditText            android:id="@+id/ednama"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="5dp"            android:hint="Nama"            android:textColor="#fff"            android:textColorHint="#fff" />

        <EditText            android:id="@+id/edalamat"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="2dp"            android:hint="Alamat"            android:textColor="#fff"            android:textColorHint="#fff" />

        <Button            android:id="@+id/btnEdit"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="3dp"            android:text="Edit" />

        <Button            android:id="@+id/btnHapus"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="3dp"            android:text="Hapus" />
    </LinearLayout>
</RelativeLayout>
4. Selanjutnya untuk layout insert_mahasiswa 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@color/colorAccent"    android:orientation="vertical">

    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical"        android:padding="16dp">

        <TextView            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:fontFamily="sans-serif-condensed"            android:gravity="center"            android:text="TAMBAH MAHASISWA"            android:textColor="#fff" />

        <EditText            android:id="@+id/txtnama"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="5dp"            android:hint="Nama"            android:textColor="#fff"            android:textColorHint="#fff" />

        <EditText            android:id="@+id/txtalamat"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="2dp"            android:hint="Alamat"            android:textColor="#fff"            android:textColorHint="#fff" />
        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:id="@+id/btnCari"            android:text="Cari Alamat"/>

        <Button            android:id="@+id/btnTambah"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="3dp"            android:text="Tambah" />
    </LinearLayout>

</RelativeLayout>
5. Buat xml layout untuk membuat menampilkan isi dari lisview dengan cara menambahaan xml seperti berikut 
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">

    <TextView        android:id="@+id/txttnama"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="Aji" />

    <TextView        android:id="@+id/txttalamat"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="Kendal" />
</LinearLayout>

1. Buat sebuah project android studio, kemudin saat memilih activity pastikan untuk memilih basic activity, karena kita akan menggunakan fitur bawaan dari actvity tersesbut, yakni menggunakan floating acation button
2. Menambahkan dependency
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'    })
    compile 'com.android.support:appcompat-v7:24.2.1'    compile 'com.android.support:design:24.2.1'    //untuk library realm    compile 'io.realm:realm-android:0.87.2'    //untuk library maps    compile 'com.google.android.gms:play-services-maps:9.6.0'    compile 'com.google.android.gms:play-services:9.6.0'    compile 'com.android.support:support-v4:25.2.0'    testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

3.  Kemudian buat class BaseApp, untuk menbuat konfigurasi default dengan mengextend ke Application
package imastudio.realm;
/** * Created by Taufiq */public class MahasiswaModel {

    int idMahasiswa;
    String namaMahasiswa, alamatMahasiswa;

    public int getIdMahasiswa() {
        return idMahasiswa;
    }

    public void setIdMahasiswa(int idMahasiswa) {
        this.idMahasiswa = idMahasiswa;
    }

    public String getNamaMahasiswa() {
        return namaMahasiswa;
    }

    public void setNamaMahasiswa(String namaMahasiswa) {
        this.namaMahasiswa = namaMahasiswa;
    }

    public String getAlamatMahasiswa() {
        return alamatMahasiswa;
    }

    public void setAlamatMahasiswa(String alamatMahasiswa) {
        this.alamatMahasiswa = alamatMahasiswa;
    }

    /*konstruktor unutk berinteraksi dengan class ini    serta menambahkan data ke dalam class ini*/    public MahasiswaModel(int idMahasiswa, String namaMahasiswa, String alamatMahasiswa) {
        this.idMahasiswa = idMahasiswa;
        this.namaMahasiswa = namaMahasiswa;
        this.alamatMahasiswa = alamatMahasiswa;
    }
}
4. Pada manifest tambahkan
 <application    android:name=".BaseApp"    android:allowBackup="true"    android:icon="@mipmap/ic_launcher"    android:label="@string/app_name"    android:supportsRtl="true"
android:theme="@style/AppTheme"> 
5. Membuat kelas MahasiswaModel, fungsinya unutk melempar dan menagkan paramenter dari masing-masing data yang di store
public class MahasiswaModel {

    int idMahasiswa;
    String namaMahasiswa, alamatMahasiswa;

    public int getIdMahasiswa() {
        return idMahasiswa;
    }

    public void setIdMahasiswa(int idMahasiswa) {
        this.idMahasiswa = idMahasiswa;
    }

    public String getNamaMahasiswa() {
        return namaMahasiswa;
    }

    public void setNamaMahasiswa(String namaMahasiswa) {
        this.namaMahasiswa = namaMahasiswa;
    }

    public String getAlamatMahasiswa() {
        return alamatMahasiswa;
    }

    public void setAlamatMahasiswa(String alamatMahasiswa) {
        this.alamatMahasiswa = alamatMahasiswa;
    }

    /*konstruktor unutk berinteraksi dengan class ini    serta menambahkan data ke dalam class ini*/    public MahasiswaModel(int idMahasiswa, String namaMahasiswa, String alamatMahasiswa) {
        this.idMahasiswa = idMahasiswa;
        this.namaMahasiswa = namaMahasiswa;
        this.alamatMahasiswa = alamatMahasiswa;
    }
}
 6. Buat kelas mahasiswa
import io.realm.Realm;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
/** * Created by Taufiq */public class Mahasiswa extends RealmObject {

    @PrimaryKey    private int idMahasiswa;

    private String namaMahasiswa, alamatMahasiswa;

    public int getIdMahasiswa() {
        return idMahasiswa;
    }

    public void setIdMahasiswa(int idMahasiswa) {
        this.idMahasiswa = idMahasiswa;
    }

    public String getNamaMahasiswa() {
        return namaMahasiswa;
    }

    public void setNamaMahasiswa(String namaMahasiswa) {
        this.namaMahasiswa = namaMahasiswa;
    }

    public String getAlamatMahasiswa() {
        return alamatMahasiswa;
    }

    public void setAlamatMahasiswa(String alamatMahasiswa) {
        this.alamatMahasiswa = alamatMahasiswa;
    }
}
Disini menggunakan anotasi @PrimaryKey untuk mendeklarasikan id sebagai primary key.
@PrimaryKey
private int id;
Realm mendukung anotasi sebagai berikut :
@Required : Memberlakukan pemeriksaan untuk tidak membolehkan nilai null.
@Ignore : Kolom tidak harus disimpan.
@Index : Menambahkan index pencarian pada kolom.
@PrimaryKey : Identifikasi unik pada tiap data pada database. tetapi tidak menyediakan auto-increment 

7, Kemudian pada MainActivity tambahkan variable inisialaisasi
/*variable pada objek*/RealmHelper realmHelper;
ListView lv;
private ArrayList<MahasiswaModel> data;
private RealmHelper helper;

  •  inisialisasi pada oncreate 
realmHelper = new RealmHelper(MainActivity.this);
/*deklarasikan widaget listview*/lv = (ListView) findViewById(R.id.lv);
data = new ArrayList<>();
getData(); 


  •  kemudian pada floatingaction kita custom agar saat di klik dari floating action maka akan pindah halaman ke add mahasiswa
final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
    @Override    public void onClick(View view) {

        startActivity(new Intent(MainActivity.this,InasertMahasiswa.class));
    }
});

  •  full code dari MainActivity.java akan seperti ini 
package imastudio.realm;

import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;

import org.w3c.dom.Text;

import java.util.ArrayList;

import static imastudio.realm.R.id.fab;
import static imastudio.realm.R.id.txtalamat;
import static imastudio.realm.R.id.txtnama;

public class MainActivity extends AppCompatActivity {

    /*variable pada objek*/    RealmHelper realmHelper;
    ListView lv;
    private ArrayList<MahasiswaModel> data;
    private RealmHelper helper;

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        Toast.makeText(MainActivity.this, String.valueOf(System.currentTimeMillis()), Toast.LENGTH_LONG).show();
        /*perkenalkan class RealmHelper pada class ini*/        realmHelper = new RealmHelper(MainActivity.this);
        /*deklarasikan widaget listview*/        lv = (ListView) findViewById(R.id.lv);
        data = new ArrayList<>();

       
        /*menmpilkan data saat activity muncul*/        getData();

        /*event pada FAB*/        final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {

                startActivity(new Intent(MainActivity.this,InasertMahasiswa.class));
            }
        });

        lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override            public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
                return false;
            }
        });

        /*event ketika listview diklik*/        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override            public void onItemClick(AdapterView<?> adapterView, View view, final int i, long l) {

                /*model mahasiswa diambil dengan variable d sesuai posisi*/                final MahasiswaModel d = data.get(i);

                /*menampilkan dialog*/                /*perkenalkan diaog ke dalam actiity ini*/                final Dialog dialog = new Dialog(MainActivity.this);
                dialog.setContentView(R.layout.edit_mahasiswa);

                /*deskripsikan widget*/                final EditText edalamat = (EditText) dialog.findViewById(R.id.edalamat);
                final EditText ednama = (EditText) dialog.findViewById(R.id.ednama);
                Button btntambah = (Button) dialog.findViewById(R.id.btnEdit);
                Button btnhapus = (Button) dialog.findViewById(R.id.btnHapus);

                /*menampilkan data ke dalam EditText*/                ednama.setText(d.getNamaMahasiswa());
                edalamat.setText(d.getAlamatMahasiswa());

                /*event pada tombol hapus*/                btnhapus.setOnClickListener(new View.OnClickListener() {
                    @Override                    public void onClick(View view) {
                        realmHelper.deleteData(d.idMahasiswa);
                        dialog.dismiss();
                        getData();
                    }
                });

                /*event pada tombol edit*/                btntambah.setOnClickListener(new View.OnClickListener() {
                    @Override                    public void onClick(View view) {
                        String nama = ednama.getText().toString();
                        String alamat = edalamat.getText().toString();
                        realmHelper.updateData(d.idMahasiswa, nama, alamat);
                        dialog.dismiss();
                        getData();
                    }
                });

                dialog.show();
            }
        });
    }


    /*method mengambil data*/    private void getData() {
        try {
            data = realmHelper.findAll();
        } catch (Exception e) {

        }

        /*memasukan data ke dalam ListVuiew*/        try {
            CustomAdapter adapter = new CustomAdapter(this, data);
            lv.setAdapter(adapter);
        } catch (NullPointerException e) {

        }
    }

    @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);
    }

    @Override    protected void onRestart() {
        super.onRestart();
        getData();
    }
}


  • Kemudain pada InsertMahasiswa.xml tambahkan kode berikut . silahkan di lihat di pada komentar kode untuk mengtahui fungsinya. disini kita juga menambahkan sebuah maps utnuk mengambil lokasinya .

package imastudio.realm;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import com.google.android.gms.common.GooglePlayServicesRepairableException;
import com.google.android.gms.location.places.Place;
import com.google.android.gms.location.places.ui.PlacePicker;

/** * Created by Taufiq on 5/29/2017. */
public class InasertMahasiswa extends AppCompatActivity {
    
    
    RealmHelper realmHelper;
    private static final int PLACE_PICKER_REQUEST =101 ;
    EditText edNama,edAlamat;
    Button btAlamat, btInput;

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

        realmHelper = new RealmHelper(InasertMahasiswa.this);
        setView();
        btAlamat.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                // membuat Intent untuk Place Picker                // membuat Intent untuk Place Picker                PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
                try {
                    //menjalankan place picker                    startActivityForResult(builder.build(InasertMahasiswa.this), PLACE_PICKER_REQUEST);


                } catch (GooglePlayServicesRepairableException e) {
                    e.printStackTrace();
                } catch (GooglePlayServicesNotAvailableException e) {
                    e.printStackTrace();
                }
            }

        });
        btInput.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                /*simpan data dengan memenggil method addMahasiswa*/                String nama = edNama.getText().toString();
                String alamat = edAlamat.getText().toString();
                realmHelper.addMahasiswa(nama, alamat);
                Intent a = new Intent(InasertMahasiswa.this,MainActivity.class);

                startActivity(a);


            }
        });
    }

    private void setView() {
        edAlamat =(EditText)findViewById(R.id.txtalamat);
        edNama =(EditText)findViewById(R.id.txtnama);
        btAlamat =(Button)findViewById(R.id.btnCari);
        btInput =(Button)findViewById(R.id.btnTambah);
    }
    
    // code untuk membuat maps picker    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // menangkap hasil balikan dari Place Picker, dan menampilkannya pada TextView        if (requestCode == PLACE_PICKER_REQUEST) {
            if (resultCode == RESULT_OK) {
                Place place = PlacePicker.getPlace(data, this);
                String toastMsg = String.format(
                        "Place: %s \n" +
                                "Alamat: %s \n" +
                                "Latlng %s \n", place.getName(), place.getAddress(), place.getLatLng().latitude + " " + place.getLatLng().longitude);
                edAlamat.setText(toastMsg);

            }
        }
    }

}

Oke saya kira cukup sekian ..
untuk source codenya nya bagi mau bisa request ke Email saya
taufiqhidayaht@gmail.com



Wednesday, May 10, 2017

Go Digital untuk UMKM Indonesia
Bismillah

Indonesia dengan jumlah penduduk terbanyak nomer 4 di Dunia dan dengan potensi alam yang berlimpah, mulai dari dasar laut hingga udara. tak heran indonesia adalah incaran bagi dunia untuk mengeksplorasi alam serta menjadikan indonesia market yang menggiurkan.

Apakah kita hannya diam dan menjadi konsumen pemain luar ?

Menurut pandangan saya, beberapa tahun belakangan ini banyak anak muda yang sudah mulai sadar tentang pentingnya enterpreneur.  yang dimulai dari bisnis UMKM atau yang lebih terkenal dengan istilah Startup (Kata yang sedang naik daun untuk perusahaan yang baru merintis di awal ) hingga yang sudah mendaftar P.T. Jenis-jenis UMKM juga sangat beragam mulai dari produk pertanian, kuliner, jasa hingga product digital.

Di zaman milenium ini perkembanan tekhnologi juga sangt berkembang sangat cepat, hampir setiap hari saya melihat penemuan dan inovasi terhadap tekhnologi serta adanya penjualan yang terus meningkat. Smartphone misalnya, penjualannya barang ini pertumbuhannya sangat  meningkat drastis dan dengan harga yang terjangkau. Maka tah heran juga pengguna smartphone di Indonesia adalah terbannyak di dunia,  dengan 2 kali lipat dari jumlah penduduk Indonesia sendiri, berarti 1 orang bisa memiliki 2 atau lebih smartphone.

Dengan banyaknya pengguna smartphone, sehingga masyarakat indonesia pasti sering mengakses internet. dari situ akan muncul istilahnya peluang bisnis. Kita lihat sekarang pergerakan ekonomi sangat cepat dan orang-orang juga di tuntut cepat, sehingga kadang masyarakat tidak ada waktu untuk beli secara on the spot atau datang ke tempat. 

Untuk anak perkotaan daerah JABODETABEK atau daerah yang sudah ada Go-Jek misalnya, disitu kadang kita sering dimanjakan dengan berbagai fasilitas jasa yang ditawarkan, bukan hannya mempermudah tapi juga bisa menghemat waktu consumen dan anti ribet untuk memesan berbagai keperluannya. Atau pemesanana tiket, jika di jaman sebelum intenet merakyat , dulu saat bepergian kita harus pergi ke tempat jasa travel untuk memesan tiket. dan sekarang sudah banyak sekali situs penyedia pembelian tiket secara online , hannya dengan satu jari tiket sudah ada di  tangan tanpa harus pergi ke tempat penjuaan tiket.

Dengan berbagai kemajuan dan kemudahan ini, para UMKM di Indonesia juga harus memanfaatakan momen ini,  dan sudah waktunya bagi mereka untuk GO DIGITAL, jika kita terus mengandalkan pasar offline, maka pendapatan kita masih  kurang dan customer yang di jangkau hannya masyarakat yang datang di tempat. Tapi, jika kita sudah memasarkan product kita secara online omzet serta  customer akan kita dapatkan lebih dari jualan secara offline.

Untuk menjemput para customer online  adalah dengan menggunakan internet, internet adalah media untuk saling terhubung. kita bisa terhubung melalui berbagai media untuk saling bertukar info, berkawan, berjulualan dan masih banyak lagi manfaat dari internet. 

Bagaimana cara berjualan di era digital ini dengan internet ? 
sekarang sudah banyak sekelai cara untuk bisa jualan secara online misalnya dengan berjualan di social media, pemasangan iklan atau menggunakan platform  E-Commerce, sebut saja OLX, Bukalapak, FJB Kaskus, Elvenia dan masih banyak lagi. 
Kemudahan yang ditawarkan paltform E-Commerce adalah kita bisa menjual barang, mendapatkan banyak pengunjung, karena platform yang terkenal akan banyak mendatangkan banyak 
pengunjungnya. hannya kelemahannya kita banyak saingan jika kita menggunakan platform tersebut. 

Untuk mengatasi hal tersebut saya biasanya membuat situs jualan online sendiri.  kelebihannya dengan menggunakan situs sendiri menurut saya, 
Tanpa Saingan karena kita lah yang mengelola sendiri.
Customer Service yang bisa kita kelola sehingga kita bisa memberikan ciri khas sendiri saat menyapa para customer, misalnya seperti di toko online Sale Stok, toko online ini mempunyai ciri khas dalam pelayanan ke customer dengan memanggil SIS untuk para customer wanitanya. 
Brand Product kita akan dikenal, baik product maupun nama domain kita, sebut saja men's republik, tokopedia, nah dengan nama brand yang sesuai domain maka kita sudah bisa memunculkan brand kita sendiri.

Untuk membuat toko online pun sangat mudah.

  • Mempersiapkan Domain dan Hosting

sudah saya sempat singgung diatas, karena kita akan membuat toko online sehingga kita perlu yang namanya domain dan hosting. Saya sarankan anda memilih domain dan "Web Hosting Indonesia di IDCloudHost karena ini adalah salah satu  Hosting Murah Indonesia” yang sangat cocok harganya untuk bisnis UMKM  kita. Dan pastikan untuk penamaan domain bisa membuat dikenang dan membuat unik ditelinga masyarakat.
  • Menyiapkan Wordpress dan Menyiapkan Template
Keuntungan kita menggunakan wordpress, kita tidak perlu tenaga ahli IT untuk membuat toko online,  hannya ikuti langkah-langkahnya, toko online kita akan terpampang.
Langkah selanjutnya adalah menginstal Theme untuk toko online Anda. salah satu theme wordpress.
  • Menginstal Plugin
Agar toko online kita jalan kita perlu instal plugin namanya WooCommerce . 
jika sudah toko online masih dalam 50%, karena plugin ini hannya sebagai perantara agar kita bisa mudah untuk mengupload barang kita.


mudah bukan ? 
Sekian postingan kali ini, semoga bermanfaat dan pastikan untuk pembelian domain dan hosting percayakan hannya di IDCloudHost  "Web Hosting Indonesia” "Hosting Murah Indonesia"


Monday, October 24, 2016

System Requirement Android untuk Training IDN Mengajar
Bismillah



Untuk sekolah yang mengundang kami mengajar training Android di Sekolah  SMK masing- masing, bagi peserta, baik guru/siswa yang ikut training selama 5 hari dimohon untuk memperhatikan hal-hal berikut, terkait Hardware dan Software

Persayaratan System :

Windows
- Microsoft Windows 7/8/10 (32 atau 64 bit)
- RAM minimum 4 GB, Rekomendasi 8 GB RAM
- Disk kosong 500 MB
- Sedikitnya 16 GB untuk Android SDK, Emulator system images, and
- Java Development Kit (JDK) 8 

OSX
- Mac OS X 10.8.5 atau yang lebih tingggi up to El-Capitan
- RAM minimum 4 GB, Rekomendasi RAM 8 GB
- Disk kosong 500 MB
- Sedikitnya 16 GB untuk Android SDK, emulator system images, dan caches
- Java Development Kit (JDK) 8

GNU/LINUX
- GNOME atau KDE atau Unity Desktop pada Ubuntu atau Fedora
- Minimum RAM 4 GB, Rekomendasi RAM 8 GB
- Disk kosong 500 MB
- Sedikitnya 16 GB untuk Android SDK, emulator system images, dancaches
- Java Development Kit (JDK) 8


Setelah persyaratan system sudah terpenuhi, selanjutnya bagi peserta diwajibkan untuk menginstal tools apliksi untuk membangun aplikasi di Android

Download 

Genymotion (Untuk virtual device) (Optional) -> 
https://www.genymotion.com/download/ jika belum punya akun silahkan untuk membuat akun terlebih dahulu (untuk windows pilih download with virtual box)

Langkah installsi :
Anda bisa mengunjungi situs resmi untuk instalasi android studio.
Untuk memilih jenis OS klik pada pilihan diatas


  1. Pastikan perangkan PC terkoneksi ke jaringan internet
  2. Install JDK terlebih dahulu
  3. Install Android Studio
  4. Setelah proses installasi selesai, maka akan ada proses download plugin.

Instalasi Genymotion
  1. Instal genymotion
  2. Login dahulu dengan akun yang sudah dibuat tadi
  3. klik tombol tambah dan kemudian pilih tombol tambah
  4. pilih perangkat sesuai kebutuhan 
Terima Kasih. 

Untuk Contact Person  bisa hubungi kontak dibawah ini jika ada kendala :

Aji Setya           : WA/ Telegram (087700633786)
Taufiq Hidayah : WA/ Telegram (083878710816)
Farid Savarudin: WA/ Telegram (082217343233)

Thursday, October 6, 2016

Assalamu'alaikum IOS
Bismillah..


Alhamdulilah pada minggu ini dapat kesempatan dari IMA Studio untuk mengikuti training IOS Dasar, walaupun hari pertama agak ketinggalan saat training, karena ada acara ke Batan, dan ikut trainingnya setelah setelah sholat Dhuhur. 
But , pada hari pertama udah bisa nampilin "Assalamu'alaikum" pada IOS, Pengenalan tools dan mendesain di storyboard...

setelah selesai training dan selesai solat Maghrib, aku googling - googling dulu dan tanya ke teman tentang materi hari pertama, biar esok harinya tidak ketinggalan.. haha
Step by step akhirnya tahu tentang tool dan struktur code swift ( in basic) . 

jika ingin ke halaman lain biasanya di Android  harus membuat Intent 

Intent i = new Intent(this, Detail.class);
        startActivity(i);
maka pada Swift 
Ios
hannya drag and drop untuk pindah ke halaman lain. 

Simple ?   I Think  so..
But i still knowing the basic, so this is my opinion ketika pertama kali kenalan dengan Xcode.. 
jika sudah mengenal bahasa visual (VB atau Delphi )  dan Pemrograman Android mungkin agak mirip-mirip dikit ,

Strength IOS Developer 
Menjadi IOS developer di Indonesia sepertinya masih sedikit persaingan ..
Simple configuration & easy to use


Weakness dari IOS developer adalah pada sisi User dan Budget.
User, di Indoesia pengguna IOS kebanyakan dari kalangan menengah keatas dan kebanyakan pengguna mobile di Indonesia adalah Android user 
Budget,  dari sisi budget untuk menjadi IOS developer juga dituntut untuk develop dan testing menggunakan Apple product ( MAC dan IOS ) dan disamping budget untuk develop yang gede. Untuk publish aplikasi kita ke AppStore juga menguras budget.

My Opion.

Learn and Learn..