Saturday, December 10, 2016

Cara Mudah Merekam Tampilan Layar Komputer atau Laptop Menjadi Video

Hai sobat, ketemu lagi dengan saya lagi inh.. pada artikel kemarin, saya telah menjelaskan bagaimana cara memotong gambar atau foto menjadi bentuk lingkaran menggunakan CorelDraw. Dan kali ini saya akan menjelaskan bagaimana cara merekam tampilan layar kompter atau laptop menjadi video.

Cara Mudah Merekam Tampilan Layar PC atau Laptop Menjadi Video

Banyak sekali software perekam layar komputer atau laptop yang bisa sobat gunakan. Masing-masing aplikasi memberikan fitur dan keunggulan masing-masing. Di artikel ini, saya akan dibahas cara merekam layar komputer atau laptop menggunakan aplikasi BB Flashback. Jika sobat suka merekam sebuah tutorial atau yang lainya, aplikasi ini patut untuk dicoba karena aplikasi ini memiliki fitur yang sangat banyak.

Baca juga "Cara Agar Akun Google Tetap Aman"

Aplikasi perekam layar komputer atau laptop ada yang gratis ada juga yang berbayar, dan aplikasi ini adalah aplikasi yang berbayar, silahkan sobat bisa download aplikasinya pada link di bawah. Dengan aplikasi ini sobat bisa dengan mudah membuat video tutoral atau hanya sekedar merekam layar laptop sobat dengan mudah dan simple. Aplikasi ini juga bisa langsung mengedit video yang dibuat. Sobat bisa memperbesar atau mengecilakn video, menambahkan teks, menambahkan gambar, memberi panah panah sampai mempercepat atau memperlambat video. Semuanya ada di aplikasi ini.

Oke sekarang kita lakukan cara merekam tampilan layar PC atau laptopnya 😀👇👇
  1. Pertama buka aplikasi perekam layarnya (BB Flashback)

    Cara Mudah Merekam Tampilan Layar PC atau Laptop Menjadi Video
  2. Kemudian pilih Record your screen
  3. Akan berganti jendela, akan tampil tampilan pengaturan video, silahkan atur sesuai kebutuhan sobat.

    Cara Mudah Merekam Tampilan Layar PC atau Laptop Menjadi Video
  4. Jika pengaturanya sudah, tinggal pilih tombol record atau tombol lingkaran merah
  5. Jika sudah selesai merekam video, sobat bisa menekan tombol biru persegi atau menekan tombol Ctrl+Shift+S pada keyboard, maka akan muncul jendela untuk menyimpan atau membuang video yang telah terbuat. Sobat juga bisa langsung mengedit video setelah sobat menekan tombol save.

    Cara Mudah Merekam Tampilan Layar PC atau Laptop Menjadi Video

    Cara Mudah Merekam Tampilan Layar PC atau Laptop Menjadi Video

    Cara Mudah Merekam Tampilan Layar PC atau Laptop Menjadi Video
Nah simpel banget bukan? sobat bisa merekam layar laptop atau layar komputer sobat dengan mudah dan cepat, serta video bisa diedit dengan praktis dan cepat. Sekian artikel tentang Cara Mudah Merekam Tampilan Layar PC atau Laptop Menjadi Video semoga bermanfaat. Jika sobat suka dengan artikel ini, silahkan sobat bagikan artikel ini ke sobat lainya atau jika ada pertanyaan, sobat boleh bertanya pada kolom komentar di bawah 😃Sampai jumpa..

Thursday, December 8, 2016

Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw

Hai sobat bertemu lagi dengan saya.. 😁 Kali ini saya ada di label desain grafis nih.Pada artikel kemarin di label grafis saya telah menjelaskan tentang Perbedaan UI dan UX, kali ini saya akan menjelaskan tentang cara mudah membuat atau memotong gambar atau foto menjadi bentuk lingkaran menggunakan aplikasi CorelDraw.

Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw

Sebenarnya sudah banyak sekali tutorial di google tentang ini, tapi saya ingin berbagi juga ke sobat jika ada yang belum tahu ehehe 😀 Pertama saya juga bingung bagaimana cara memotong gambar atau foto menjadi bentuk lingkaran. Saya melihat tidak ada toolbox untuk men-select gambar atau foto berbentuk lingkaran, akhirnya saya teringat trik simple yang oke banget 😂

Baca juga "Mengantisipasi HP Android Dari Hilang dan Kemalingan"

Di artikel ini saya akan berikan dua cara mudah untuk membuat gambar atau foto menjadi bentuk lingkaran, saya pakai model sobat saya nih hehe.. berikut cara-caranya sob :

Menggunakan Effect Lens

Untuk memotong gambar atau foto menjadi bentuk lingkaran, kita bisa menggunakan efek lens, caranya seperti berikut :
  1. Pertama siapkan gambar atau foto terlebih dahulu

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  2. Selenjutnya pada menu Window → Docker → Effect → Lens, atau sobat bisa menekan shortcut keyboard Alt+F3.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  3. Akan muncul jendela lens di sisi bagian kanan.
  4. Selanjutnya buat objek lingkaran, sesuaikan ukuran yang diinginkan.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  5. Pindah gambar ke gambar atau objek yang ingin dibuat lingkaran.
  6. Pada jendela lens, pilih Magnify.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  7. Selanjutnya buat amountnya menjadi 1.0, jika ingin gambarnya lebih besar di dalam lingkaran, sobat bisa menambahkan jumlah amountnya.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  8. Lalu pilih Frozen dan gambarpun akan menempel terus ke dalam objek lingkaran.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  9. Yay gambar atau foto pun akhirnya berbentuk lingkaran 😃🎉

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
Mengunakan PowerClip

Selain menggunakan effect lens untuk membuat gambar atau foto menjadi bentuk lingkaran, sobat juga bisa mengunakan PowerClip, berikut cara pembuatanya :
  1. Siapkan gambar atau fotoa yang ingin dibuat lingkaran

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  2. Selanjutnya buat objek lingkaran, sesuaikan ukuranya.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  3. Klik gambar atau foto yang ingin dipotong
  4. Pilih menu Effect ⇢ PowerClip ⇾ Place Inside Frame, atau sobat juga bisa klik kana pada gambar atau foto lalau pilih PowerClip

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  5. Akan ada gambar pahah, arahken ke lingkaran yang sudah dibuat lalu klik

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  6. Gambar akan masuk ke dalam lingkaran, selanjutnya pilih content yang ada di dalam PowerClip.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  7. Geser sesuai keinginan.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  8. Jika sudah, pilih lock content.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
  9. Yes gambar atau foto menjadi berbentuk lingkaran.

    Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan CorelDraw
Nah, begitulah gambarnya sob, mudah bukan? Cara ini juga bisa diterapkan untuk merubah gambar atau foto menjadi bentuk lainya seperti segitiga, polygon, bintang, love dan sebagainya, tinggal kreasikan hehe.. 😁

Sampai di sini artikel tentang Cara Mudah Memotong Gambar atau Foto Menjadi Bentuk Lingkaran dengan Corel semoga bermanfaat, Jika sobat ada yang kurang jelas atau sobat suka dengan artikel ini, silahkan komentar di bawah dan share artikel ini ke sobat-sobat lainya 😃Sampai jumpa..



Monday, December 5, 2016

Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android

Hai sobat, jumpa lagi dengan saya di artikel tentang android. Kemarin saya sudah menjelaskan tentang bagaimana cara untuk membuat login session register di android menggunakan librari AQuery, dan PHP MySQL untuk sisi servernya. Dan kali ini saya akan menjelaskan bagaimana cara untuk menjalankan project android studio langsung ke perangkat atau ponsel android.

Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android

Bagi sobat yang suka dengan pemrograman android, mungkin setelah coding sebuah project di Android Studio dan ingin menjalankanya akan merasa lambat, apalagi menjalankanya di AVD (Android Virtual Device). Saat sobat menjalankan project Android Studio, jika sobat memilih emulator atau AVD, maka RAM pada PC akan otomatis berkurang karena telah digunakan oleh emulator. Menjalankan project android menggunakan avd atau emulator kadang terjadi error, atau emulatornya berjalan sangat lambat. Hal ini akan menjadi penghamat bagi kita yang sedang bekerja membuat aplikasi android.

Baca juga "Cara Mudah Merubah Tampilan Andorid Menjadi IOS/IPhone"

Menurut situs resmi di developer.android.com, persyaratan system yang dibutuhkan untuk bisa menjalankan Android Studio adalah seperti berikut ini :

Windows

  • Microsoft® Windows® 7/8/10 (32- atau 64-bit)
  • RAM minimum 3 GB, RAM yang disarankan 8 GB
  • Ruang disk minimum yang tersedia 2 GB,
  • Disarankan 4 GB (500 MB untuk IDE + 1,5 GB untuk Android SDK dan citra sistem emulator)
  • Resolusi layar minimum 1280 x 800
  • Untuk emulator akselerasi: sistem operasi 64-bit dan prosesor Intel® dengan dukungan untuk Intel® VT-x, Intel® EM64T(Intel® 64), dan fungsionalitas Execute Disable (XD) Bit

Mac

  • Mac® OS X® 10.10 (Yosemite) atau yang lebih baru, hingga 10.12 (macOS Sierra)
  • RAM minimum 3 GB, RAM yang disarankan 8 GB
  • Ruang disk minimum yang tersedia 2 GB,
  • Disarankan 4 GB (500 MB untuk IDE + 1,5 GB untuk Android SDK dan citra sistem emulator)
  • Resolusi layar minimum 1280 x 800
Linux
  • Desktop GNOME atau KDE
  • Telah diuji pada Ubuntu® 12.04, Precise Pangolin (distribusi 64-bit yang mampu menjalankan aplikasi 32-bit).
  • distribusi 64-bit yang mampu menjalankan aplikasi 32-bit
  • GNU C Library (glibc) 2.11 atau yang lebih baru
  • RAM minimum 3 GB, RAM yang disarankan 8 GB
  • Ruang disk minimum yang tersedia 2 GB,
  • Disarankan 4 GB (500 MB untuk IDE + 1,5 GB untuk Android SDK dan citra sistem emulator)
  • Resolusi layar minimum 1280 x 800
  • Untuk emulator akselerasi: Prosesor Intel® dengan dukungan untuk Intel® VT-x, Intel® EM64T(Intel® 64), dan fungsionalitas Execute Disable (XD) Bit, atau prosesor AMD dengan dukungan untuk AMD Virtualization™ (AMD-V™)

Nah, jika perangkat atau PC sobat tidak begitu lancar atau lama saat menjalankan atau testing project android studio di emulator, sobat bisa menjalanakanya di perangkat langsung (real device) atau di ponsel android sobat. untuk melakukanya ada hal yang harus disiapkan seperti berikut :
  1. Siapkan HP atau ponsel android, bisa milik sendiri atau minjem 😁 ini hal yang harus ada
  2. Kabel USB, saya sarankan pakai yang original agar saat proses gak putus nyambung *ehh..
  3. Driver USB sesuai merk dan type HP (jika tidak otomatis instal driver)
Jika hal-hal di atas sudah ada, sekarang untuk pengaturan pada ponselnya seperti berikut :

  1. Masuk ke pengaturan (Settings)
  2. Pilih menu tentang telepon (About Phone)

    Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android
  3. Pilih menu informasi software (Software Information)

    Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android
  4. Pada menu Build Number, silahkan sobat klik2 sebanyak 10 kali sampai muncul pemberitahuan "Anda sekarang pengembang"

    Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android
  5. Selanjutnya, kembali ke pengaturan, akan tampil menu baru yaitu menu pengaturn pengembang (Developer options), silahkan pilih.

    Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android
  6. Terakhir hidupkan menu developer option dan USB Debugging

Pengaturan pada HP atau ponsel sudah selesai, selanjutnya hubungkan antara PC atau laptop dengan hp android menggunakan kabel USB. Pada lapto sobat, klik kanan pada START windows, pilih Device Manager dan periksa apakah Driver ADB sudah teristal dengan benar atau masih ada error, jika masih ada error, silahkan sobat instal Driver ADB hp android sobat.

Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android

Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android


Selanjutnya masuk ke project Android Studio dan pilih menu Run App, akan tampil jendela yang berisi pilihan untuk menjalankan project, sobat pilih android sobat. Untuk pertama akan muncul perintah untuk mnyetujui di ponsel sobat, silhkan pilih ok pada hp lalu pilih ok pada jendela pilihan tadi. Untuk lebih jeleasnya bisa dilihat pada gambaar di bawah ini sob 😁👇👇

Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android

Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android

Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android

Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android


Sekarang, project aplikasi android sobat di Android Studio sudah bisa dijalankan di HP android sobat. Sekian artikel tentang Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android semoga bermanfaat. Jika sobat ada pertanyaan atau suka dengan artikel ini, silahkan sobat komentar di bawah atau share artikel ini 😄sampai jumpa..



Membuat Login Session Register Android PHP MYSQL Android Studio

Hai sobat, sudah setelah sekian lama meninggalkan bog ini karena tugas yang begitu banyak 😓, akhirnya sekarang saya punya kesempatan untuk lanjut membagikan pengetahuan saya di blog ini. Pada artikel kemarin saya telah menjelaskan tentang cara membuat animasi pada komponen Floating Action Button, dan kali ini saya akan melanjutkan artikel saya tentang Login Session Register pada Android mengunakan PHP dan MySQL sebagai sisi servernya.



Biasanya untuk masuk ke dalam aplikasi android, user diharuskan untuk mengisi datanya untuk bisa menggukana aplikasi android, hal tersebut biasa disebut dengan register user, Hah, setelah user memasukkan data dirinya ke dalam aplikasi, selanjutnya user diharuskan untuk mengecek kembali data yang dimiliki untuk bisa masuk ke dalam aplikasi android atau biasa disebut dengan proses login user. Jika data user ditemikan, maka user boleh mengukanakan aplikasi tersebut.

Pada peryataan diatas, maka untuk pengunaan sehari hari, user mungkin akan merasa kesulitan apabila user seperti dituntut untuk selalu melakukan login user setiap ingin menjalankan apalikasi android. Maka dari permasalahan tersebut, dalam sebuah aplikasi harus bisa menyimpan data user yang telah di cek atau login agar user tidak perlu login lagi apabiala ingin menjalankan alikasi android. Hal ini bisa dilakukan dengan menyediakan komponen dengan nama user session. Data user akan disimpan hingga user menghapusnya dari aplikasi, atau log out dari apalikasi.

Baca juga "Cara Mudah Melacak HP Android yang Hilang"

Untuk  membuat user session pada apilikasi android, kita bisa menggukanan komponen dengan nama SharePreference. Dengan menggunakan komponen ini, data user bisa disimpan dalam variable global dan dapat diakses kapanpun. Untuk membuat session pada aplikasi android, kita perlu menempatkanya dalam satu class global agar nantinya bisa diakses ke class lain yang membuatuhkan.

Pada artikel kali ini, saya akan melanjutkan artikel saya sebelumnya tentang login register mengunakan php dan mysql yang berjudul Membuat Android Login Register Mengunakan AQuery dan PHP MySQL. Juga saya akan menerapkan splash screen pada permulaan aplikasi dari artikel saya sebelumnya yang berjudul Membuat Android Welcome Screen atau Splash Sreen. Silahkan sobat coba tutorial dari artikel sebelumnya untuk membuat menerapkan tutorial yang ada di artikel ini. Oke sekarang kita mulai sob.. 😁

Membuka Project

Seperti yang sudah saya tulis di atas, saya menggunakan project dari artikel sebelumnya. Jika sudah ada, silahkan dibuka lalu lakukan langkah-langkah berikut ini.

Membuat Class SharePreference

Untuk menerapkan komponen SharePreference pada android, kita bisa letakkan pada class global. Silahkan buat class baru dengan nama SessionManager.java dan buat kodenya seperti berkut ini :


package com.example.ajisetya.loginaquery;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

import java.util.HashMap;

/**
* Created by AJISETYA on 12/5/2016.
*/

public class SessionManager {

SharedPreferences pref;
SharedPreferences.Editor editor;
Context context;
int mode = 0;

private static final String pref_name = "crudpref";
private static final String is_login = "islogin";
public static final String kunci_email = "keyemail";

public SessionManager(Context context) {
this.context = context;
pref = context.getSharedPreferences(pref_name, mode);
editor = pref.edit();
}

public void createSession(String email){
editor.putBoolean(is_login, true);
editor.putString(kunci_email, email);
editor.commit();
}

public void checkLogin(){
if (!this.is_login()){
Intent i = new Intent(context, ActivityLogin.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}else {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}

private boolean is_login() {
return pref.getBoolean(is_login, false);
}

public void logout(){
editor.clear();
editor.commit();
Intent i = new Intent(context, ActivityLogin.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}

public HashMap<String, String> getUserDetails(){
HashMap<String, String> user = new HashMap<String, String>();
user.put(pref_name, pref.getString(pref_name, null));
user.put(kunci_email, pref.getString(kunci_email, null));
return user;
}

}


Penerapan Pada Class Lain

Nah pada class SessionManager.java, kita telah membuat method-method yang dibutuhkan untuk membuat session pada aplikasi android, selanjutnya kita panggil method tadi ke dalam class lain yang membuatuhkan.

Pertama kita akan terapkan method session manager pada ActivityLogin untuk membuat session baru ketika user masuk ke dalam aplikasi android. Silahkan buka ActivityLogin.java dan lakukan langkah berikut ini :

1. Deklarasikan kode session manager ke dalam ActivityLogin, untuk kodenya seperti berikut ini :


SessionManager sessionManager;


letakkan kode tersebut di atas atau diluar method onCreate.

2. Inisialisasikan session manager ke dalam ActivityLogin, tepatnya di dalam method onCreate, untuk kodenya seperti berikut ini :


sessionManager = new SessionManager(getApplicationContext());


3. Buat session baru saat user berhasil login, caranya dengan memasukkan kode berikut ke dalam method Login()


sessionManager.createSession(logtxtEmail.getText().toString());



Penerapan pada ActivityLogin telah selesai, selanjutnya kita terapkan pada MainActivity untuk mengambil data user. Sebelumnya saya telah siapkan satu komponen TexView dan satu Button ke dalam layout activity_main.xml, kodenya seperti berikut ini :


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.ajisetya.loginaquery.MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/txtprofil"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="86dp"
android:textAppearance="@style/TextAppearance.AppCompat.Display1" />

<Button
android:text="Logout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txtprofil"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:id="@+id/btnlogout" />
</RelativeLayout>


nah, selanjutnya kita akan menampilkan data session serta memberikan aksi log out pada tombol log out, caranya deklarasikan dan inisialisasikan session manager lalu kita panggil method yang ada pada class SessionManager.java. Pada class MainActivity.java kita buat kodenya seperti berikut ini :


package com.example.ajisetya.loginaquery;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.HashMap;

public class MainActivity extends AppCompatActivity {

SessionManager sessionManager;

private TextView txtprofil;
private Button btnlogout;

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

txtprofil = (TextView)findViewById(R.id.txtprofil);
btnlogout = (Button)findViewById(R.id.btnlogout);
btnlogout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sessionManager.logout();
}
});

sessionManager = new SessionManager(getApplicationContext());
HashMap<String, String> user = sessionManager.getUserDetails();
String name = user.get(SessionManager.kunci_email);
txtprofil.setText(Html.fromHtml("<b>" + name + "</b>"));
}
}


Kita telah mengambil data user pada MainActivity.java, selanjutnya kita buat agar ketika user ingin menjalankan aplikasi, user tidak perlu login kembali. Untuk melakukanya, kita buat kondisi pada splashscreen. Saat membuka aplikasi, akan tampil splash screen, saat itu juga aplikasi akan mengecek data user, jika data ditemukan, maka akan membuka activity utama atau MainActivity, jika data tidak ditemukan, maka akan membuka activity Login, untuk kodenya seperti berikut ini :


package com.example.ajisetya.loginaquery;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class splashscreen extends AppCompatActivity {

SessionManager sessionManager;

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

sessionManager = new SessionManager(getApplicationContext());

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
sessionManager.checkLogin();
finish();
}
},5000);
}
}


Nah, tahap membuat session pada aplikasi android sudah selesai, untuk kode lengkapnya, silahkan bisa dibuka pada link di bawah ini sob 👇👇👇

ActivityLogin.java, ActivityRegister,java 

Sampai di sini aplikasi sudah bisa dijalankan. Untuk tampilanya seperti berikut ini 😃👇


Membuat Login Session Register Android PHP MYSQL Android Studio

Membuat Login Session Register Android PHP MYSQL Android Studio

Membuat Login Session Register Android PHP MYSQL Android Studio


Nah, jika kita menjalankan aplikasi untuk pertama kalinya, jika user belum memiliki akun maka user harus membuat terlebih dahulu atau register. Jika sudah memiliki akun, maka user tinggal login aplikasi, jika login sukses, maka session akan dibuat. Data dalam session bisa ditampilkan dimanapun. Data session tidak akan hilang, maka user bisa membuka aplikasi tanpa harus login terlebih dahulu. Jika user menghapus data session atau log out, maka data akan terhapus dan user harus login lagi untuk membuka aplikasi. Begitulah penjelasannya sob hehe 😁

Oke, sekian artikel tentang login session pada android ini, semoga membantu dan bermanfaat. Jika sobat suka dengan artikel ini, silahkan komentar atau share artikel ini ke teman lain, karena berbagi itu indah 👼😊 sampai jumpa..


Wednesday, October 5, 2016

Waktu Mustajab Untuk Berdoa

Assalamu'alaikum Warahmatullahi Wabarakaatuh

Berdoa, adalah salah satu jalan bagi manusia untuk mendekatkan diri kepada Allah, serta ibadah yang diperintahkan oleh Allah seperti dalam firmanya :

"Berdo’alah kepadaKu, niscaya akan Kuperkenankan bagimu. Sesungguhnya orang-orang yang menyombongkan diri dari menyembah-Ku akan masuk Neraka Jahannam dalam keadaan hina dina”. [Ghafir : 60].

Menurut firman firman Allah di atas adalah, doa adalah ibadah yang diperintahkan unutk manusia agar manusia memohon kepada Allah untuk dikabulkan apa yang diinginkan oleh manusia tersebut. Dan dalam ayat tersebut tertera bahwa manusia yang tidak berdoa kepada Allah adalah manusia yang sombong dan siksaannya akan sangat pedih. Manusia yang tidak berdoa kepada Allah menganggap masalahnya bisa terselesaikan oleh dirinya sendiri, padahal sebaliknya Allah lah yang melancarkan setiap urusanya.

Banyak juga manusia yang ingin dikabulkan doanya, dikabulkan urusanya, diselesaikan keperluanya. dan diringankan segala bebannya. Adalah perbuatan yang bagus jika manusia berdoa kepada Allah, maka Allah akan senang, Allah akan makin mencintai hambanya yang berdoa kepada Allah dan Allah akan mengampuni dosa-dosanya.

يا ابن آدم إنك ما دعوتني ورجوتني غفرت لك على ما كان منك ولا أبالي

“Wahai manusia, selagi engkau berdoa dan berharap kepada-Ku, aku mengampuni dosamu dan tidak aku pedulikan lagi dosamu” (HR. At Tirmidzi, ia berkata: ‘Hadits hasan shahih’)

Sungguh Allah adalah dzat yang maha pengasih lagi maha penyayang. Sesungguhnya Allah memahami keadaan manusia yang lemah dan membutuhkan. Manusi tidak pernah lepas dari keinginan. Maka untuk berdoa, waktu-waktu yang baik untuk berdoa, salah satunya yaitu waktu di hari Jumat.

Rasulullah Shallallahu’alaihi Wasallam bersabda,

أن رسول الله صلى الله عليه وسلم ذكر يوم الجمعة ، فقال : فيه ساعة ، لا يوافقها عبد مسلم ، وهو قائم يصلي ، يسأل الله تعالى شيئا ، إلا أعطاه إياه . وأشار بيده يقللها

“Rasulullah Shallallahu’alaihi Wasallam menyebutkan tentang hari  Jumat kemudian beliau bersabda: ‘Di dalamnya terdapat waktu. Jika seorang muslim berdoa ketika itu, pasti diberikan apa yang ia minta’. Lalu beliau mengisyaratkan dengan tangannya tentang sebentarnya waktu tersebut” (HR. Bukhari 935, Muslim 852 dari sahabat Abu Hurairah Radhiallahu’anhu)  

Ibnu Hajar Al Asqalani dalam Fathul Baari ketika menjelaskan hadits ini beliau menyebutkan 42 pendapat ulama tentang waktu yang dimaksud. Namun secara umum terdapat 4 pendapat yang kuat.

Pendapat pertama, yaitu waktu sejak imam naik mimbar sampai selesai shalat Jum’at, berdasarkan hadits:

هي ما بين أن يجلس الإمام إلى أن تقضى الصلاة

“Waktu tersebut adalah ketika imam naik mimbar sampai shalat Jum’at selesai” (HR. Muslim, 853 dari sahabat Abu Musa Al Asy’ari Radhiallahu’anhu).

Pendapat ini dipilih oleh Imam Muslim, An Nawawi, Al Qurthubi, Ibnul Arabi dan Al Baihaqi.

Pendapat kedua, yaitu setelah ashar sampai terbenamnya matahari. Berdasarkan hadits:

يوم الجمعة ثنتا عشرة يريد ساعة لا يوجد مسلم يسأل الله عز وجل شيئا إلا أتاه الله عز وجل فالتمسوها آخر ساعة بعد العصر

“Dalam 12 jam hari Jum’at ada satu waktu, jika seorang muslim meminta sesuatu kepada Allah Azza Wa Jalla pasti akan dikabulkan. Carilah waktu itu di waktu setelah ashar” (HR. Abu Daud, no.1048 dari sahabat Jabir bin Abdillah Radhiallahu’anhu. Dishahihkan Al Albani di Shahih Abi Daud). Pendapat ini dipilih oleh At Tirmidzi, dan Ibnu Qayyim Al Jauziyyah. Pendapat ini yang lebih masyhur dikalangan para ulama.

Pendapat ketiga, yaitu setelah ashar, namun diakhir-akhir hari Jum’at. Pendapat ini didasari oleh riwayat dari Abi Salamah. Ishaq bin Rahawaih, At Thurthusi, Ibnul Zamlakani menguatkan pendapat ini.

Pendapat keempat, yang juga dikuatkan oleh Ibnu Hajar sendiri, yaitu menggabungkan semua pendapat yang ada. Ibnu ‘Abdil Barr berkata: “Dianjurkan untuk bersungguh-sungguh dalam berdoa pada dua waktu yang disebutkan”. Dengan demikian seseorang akan lebih memperbanyak doanya di hari Jum’at tidak pada beberapa waktu tertentu saja. Pendapat ini dipilih oleh Imam Ahmad bin Hambal, Ibnu ‘Abdil Barr.

Itulah waktu yang mustajab unutk berdoa di hari Jumat, ada beberapa waktu mustajab lainya yang akan dijelaskan pada artikel berikutnya. Sekian artikel tentang Waktu Mustajab Untuk Berdoa, semoga bermanfaat. Wassalamu ‘alaikum Warahmatullahi Wabarakaatuh

Sunday, September 25, 2016

Aplikasi Login Register Session, CRUD PHP MySQL Android Studio - Final

Hai sobat, video di bawah ini adalah hasil terakhir dari pembuatan Aplikasi Login Register Session, CRUD PHP MySQL di Android Studio. Semuanya dijadikan satu mulai dari splashscreen, login dan register, recyclerview, animasi Floating Action Button dan lainya






Saturday, September 24, 2016

Animasi Tampil dan Menghilang Floating Action Button Android Studio

Hai sobat, kembali di tutorial android. Pada artikel sebelumnya yang berjudul Membuat Animasi Floating Action Button, telah dijelaskan bagaimana cara membuat animasi pada objek Floating Action Button di Android Studio dan hasilnya akan sama seperti yang ada di aplikasi Hangout. Pada artikel kali ini, akan dijelaskan bagaimana membuat animasi tampil dan menghilang pada objek Floating Action Button di Android Studio, bagaimana caranya, berikut langkah-langkah pembuatanya.


Salah satu komponen yang menarik dari Material Design adalah Floating Action Button. Tombol ini biasanya memiliki sifat mengambang di atas objek agar lebih mudah dan fleksibel dalam penggunaannya. Tapi pada beberapa kasus, saat diterapkan diatas objek data seperti RecyclerView, ListView atau objek lainya, kadang mengambil beberapa ruang dalam satu layar, untuk menghindari hal ini, kita butuh menyembunyikannya saat dibutuhkan dan menampilkannya kembali jika ingin digunakan lagi.

Untuk membuat animasi tampil dan menghilang pada objek Floating Action Button, kita bisa mengunakan hide() atau show() pada objek Flaoting Action Button. Untuk penerapanya bisa sobat lihat pada kode berikut ini

Menampilkan animasi saat Floating Action Button tampil


FloatingActionButton mfab = (FloatingActionButton)findViewById(R.id.fab);
mfab.show();


Menampilkan animasi saat Floating Action Button disembunyikan



FloatingActionButton mfab = (FloatingActionButton)findViewById(R.id.fab);
mfab.hide();


Pada kode di atas, pertama kita dekarasikan objek Floating Action Button pada view dan asat kita ingin menampilkan animasi tombol muncul, kita hanya cuku memberikan event fab.show(). Saat kita ingin menampilkan animasi dan menyembunyikan tombol, tinggal memberikan event fab.hide().

animasi tampil dan sembunyi mengecil atau pop up otomatis ada di versi terbaru dari Support Library (22.2.1). Jadi akan lebih mudah dalam menggunakannya. Tampilannya akan seperti berikut ini


Dan sekeian artikel tentang Membuat Animasi Tampil dan Menghilang pada Floating Action Button, semoga bermanfaat.

Wednesday, September 21, 2016

Manusia Tamak Yang Tidak Pernah Kenyang dan Puas

Salah satu nikmat Allah Subhanahu wa Ta’ala bagi seorang hamba ketika Allah Subhanahu wa Ta’ala memberikan karunia cinta kepada ilmu, mencintai ilmu agama, sebab ketika seorang telah mempelajari ilmu agama tersebut kemudian masuk ke dalamnya, maka dia tidak akan kenyang. Oleh karena itu nabi menjelaskan dalam hadis yang diriwayatkan oleh Anas bin Malik ra, Rasulullah Shallallahu ‘alaihi Wa Sallam bersabda, ada 2 orang yang tidak pernah kenyang, orang yang rakus tidak akan kenyang selama lamanya, orang yang rakus mencari ilmu dan orang yang rakus mencari dunia, dua perkara ini sama sekali tidak akan kenyang selama lamanya.


Maka rakus kepada dunia adalah  yang tercela, adapun yang terpuji adalah orang yang mencari ilmu, dari sumber ilmu seperti kitab Al Quran atau hadis. Oleh karena itu, kita harus melihat diri kita, apakah kita termasuk bagian dari orang yang disebut oleh Rasulullah Shallallahu ‘alaihi Wa Sallam. Siapa yang dikehendaki Allah Subhanahu wa Ta’ala maka Allah pahamkan tentang agama ini. Dia terus belajar dan belajar tapi tidak pernah puas, ketika dia tidak puas dan terus belajar maka akan ada kebaikan dari Allah Subhanahu wa Ta’ala. Di samping mempelajarinya dia juga mengamalkannya, karena buah dari ilmu adalah beramal dan kita mempraktikkan ilmu yang dipunya.

Jika haus akan dunia, Rasulullah Shallallahu ‘alaihi Wa Sallam bersabda, tidak ada yang bisa memenuhi mulut anak adam kecuali masuk ke liang lahat. Adapun ilmu adalah sebaik baik bekal menuju Allah Subhanahu wa Ta’ala, terutama ilmu dari Rasulullah Shallallahu ‘alaihi Wa Sallam yang dibawakan oleh Allah dalam kitabnya dan disampaikan Rasulullah Shallallahu ‘alaihi Wa Sallam dalam hadisnya. Rasulullah Shallallahu ‘alaihi Wa Sallam bersabda, aku tinggalkan bagi kalian dua perkara, apabila kalian pegang teguh keduanya maka kalian tidak akan sesat selamanya, yaitu Al Quran dan sunah Nabi

Para ulama berkata: Cinta dunia itu pangkal segala kesalahan dan pasti merusak agama ditinjau dari berbagai sisi:


  • Mencintai dunia akan mengakibatkan mengagungkannya, padahal di sisi Allah Ta’ala dunia sangat remeh. Adalah suatu dosa terbesar mengagungkan sesuatu yang dianggap remeh.
  • Allah Ta’ala telah melaknat, memurkai dan membenci dunia, kecuali yang ditunjukan kepada-Nya.
  • Orang yang cinta dunia pasti menjadikan tujuan akhir dari segalanya. Ia pun berusaha semampunya akan mendapatkannya.
  • Mencintai dunia akan menghalangi seorang hamba dari aktivitas yang bermanfaat untuk kehidupan di akherat. Ia akan sibuk dengan apa yang dicintainya.
  • Mencintai dunia menjadikan dunia sebagai harapan terbesar seorang hamba.
  • Pecinta dunia adalah manuia dengan adzab yang paling berat. Mereka disiksa di tiga negeri, di dunia, di barzakh dan di akherat.
  • Orang yang rindu dan cinta kepada dunia sehingga ia mengutamakannya dari pada akherat adalah amakhluk yang paling bodoh, dungu dan tidak berakal

Untuk mengobati penyakit tamak dari hati seseorang, Ibnu Qudamah dalam kitab Mukhtashar al-Qashidin mengungkapkan bahwa obat ini terdiri dari tiga unsur:sabar, ilmu, dan amal. Secara keseluruhan terangkum dalam hal-hal berikut ini:

  • Ekonomis dalam kehidupan dan arif dalam membelanjakan harta.
  • Jika seseorang bisa mendapatkan kebutuhan yang mencukupinya, maka dia tidak perlu gusar memikirkan masa depan, dan harus merasa yakin bahwa dia pasti akan mendapatkan rezeki dari Allah.
  • Hendaknya mengetahui bahwa qana`ah itu adalah kemuliaan karena sudah merasa tercukupi, dan dalam kerakusan dan tamak itu ada kehinaan.
  • Membandingkan antara kehidupan Yahudi dan Nasrani yang tenggelam dalam kenikmatan dengan kehidupan para nabi dan orang shalih. Siapakah di antara mereka yang mulia di sisi Allah Ta’ala.
  • Dia harus mengerti bahwa menumpuk harta itu bisa menimbulkan dampak yang kurang baik



Sekian artikel tentang Manusia Yang Tidak Pernah Kenyang dan Puas, semoga bermanfaat.

Tuesday, September 20, 2016

Keutamaan Bulan Ramadhan

Bulan Ramadhan, adalah bulan yang penuh dengan rahmat dan ampunan. Pada bulan Ramadhan, amal kebaikan umat Islam akan dibalas dengan berkah yang melimpah, pahala yang didapat akan dilipat gandakan. Pada bulan Ramadhan kita melaksanakan salah satu rukun Islam yaitu berpuasa. Jika kita menjalani puasa dengan sempurna, maka saat Hari Raya Idul Fitri kita akan bersih dari dosa seperti bayi yang baru lahir. Maka dari pada itu, kita sebagai umat Islam yang beriman sebaiknya memanfaatkan kesempatan yang sangat berharga ini dengan melakukan kegiatan yang bermanfaat dan tidak melewatkan bulan yang penuh rahmat ini dengan kegiatan yang sia-sia.


Bulan Ramadhan hanya 30 hari, maka gunakan waktu sebaik baiknya. Barang siapa yang mendapati ramadhan teteapi tidak menggunakan kesempatan yang berharga itu dengan sebaik baiknya, maka dosanya tidak akan diampuni oleh Allah. Orang yang menganggap bulan ramadhan seperti bulan bulan biasa, dengan sikap yang biasa biasa saja dan menyia-nyiakannya, maka akan dijauhkan dari surga dan akan dimasukkan ke dalam neraka.

Karena mulianya bulan ramadhan, maka jadikan bulan ini sebagai ladang pahala bagi kita. Dengan melakukan pekerjaan yang baik dan memperbanyak ibadah, maka kita akan mendapatkan rahmat, pahala, bahkan ampunan yang berlimpah.

Baca juga "Langkah Menuju Sukses"

Umar bin Khattab pernah berkata bahwa beliau sangat membenci melihat umat Islam tidak melakukan pekerjaan apa pun, tidak melakukan pekerjaan yang menghasilkan manfaat di dunia maupun di akhirat. Kita harus menjauhi hal itu, apalagi di dalam bulan Ramadhan.

Abdullah bin mashut mengatakan bahwa beliau tidak pernah  menyesal terhadap sesuatu seperti penyesalan karena terbenamnya matahari yang berarti berkurangnya umur tetapi amal tidak bertambah. Sesungguhnya Allah akan membuat manusia menjadi sibuk melakukan hal yang tidak bermanfaat atau sibuk melakukan pekerjaan dunia ketika manusia itu telah melupakan Allah. Itu adalah tanda bahwa Allah telah berpaling dari manusia tersebut.

Karena ramadhan hanya sementara, hanya ada setahun sekali, dan kita tidak tahu apa kita bisa mendapatkan kesempatan melakukan sesuatu yang bermanfaat dan lebih baik di tahun yang akan datang, maka kita harus menggunakannya dengan sebaik baiknya. Agar lebih semangat dalam beribadah dan melakukan pekerjaan yang lebih baik, berikut ini adalah keutamaan-keutamaan dalam bulan ramadhan :


  • Bulan diturunkanya Al Quran
  • Amal shaleh yang berlipat ganda
  • Bulan penuh keberkahan 
  • Ramadhan bulan pengampunan dosa
  • Pintu surga dibuka sedangkan pintu neraka ditutup
  • Bulan yang mendidik untuk mencapai ketakwaan
  • Terdapat malam Lailatul Qadar




Dan itu adalah keutamaan-keutamaan bulan Ramadhan, semoga dengan mengetahuinya kita bisa lebih meningkatkan ibadah kita kepada Allah. Sekian artikel tentang Keutamaan Bulan Ramadhan, semoga bermanfaat.

Saturday, September 10, 2016

Menampilkan Data MySQL ke Aplikasi Android menggunakan RecyclerView, CardView dan AQuery

Hai sobat, pada artikel kemarin yang berjudul Membuat Android Register dan Login Menggunakan AQuery dan MySQL, telah dijelskan cara membuat register dan login menggunakan kode AQuery untuk berinteraksi dengan server. Dan pada artikel kali ini, akan membahas tentang cara menampilkan data dari database MySQL ke dalam aplikasi android menggunakan RecyclerView, CardView dan AQuery.


Dalam sebuah aplikasi, perlu adanya tampilan data yang dimunculkan guna memberikan informasi kepada pengguna. Cara untuk menampilkan data di android juga bermacam-macam, Dan ada banyak sumber yang diambil untuk dijadikan sumber data informasi tersebut, salah satunya yaitu data dari database MySQL.

Untuk mengambil data dari MySQL, perlu adanya web service agar aplikasi bisa berinteraksi dengan server. Bisa menggunakan AQuery, Voley, maupun Retrofit. Dan di artikel kali ini menggunakan AQuery sebagai penghubung aplikasi dengan server.

Pada artikel kali ini menggunakan project aplikasi pada artikel sebelumnya yang berjudul Membuat Android Register dan Login Menggunakan AQuery dan MySQL, jika sobat belum membuatnya, silakan bisa dilihat di sini

Membuat File Server

Di dalam database, buat tabel baru dengan nama tbl santri dan buat strukturnya seperti berikut ini


Sebelum masuk ke dalam pembuatan aplikasi, terlebih dahulu membuat untuk kode di sisi servernya. Buat file php dengan nama tampil.php, untuk kodenya seperti berikut ini


<?php
include 'db.php'; // konek database
$hasil = mysql_query("SELECT * FROM tblsantri") or die(mysql_error()); // query sql
$response = array();

//jika data nya ada atau lebih dari 0
if(mysql_num_rows($hasil)> 0){

$response['result']= "true" ;
$response['msg']="Data ditemukan";
$response["data"] = array();

// fungsi perulangan
while ($row = mysql_fetch_array($hasil)) {

$pl = array();

$pl["nim"] = $row["nim"];
$pl["nama"] = $row["nama"];
$pl["bidang"] = $row["bidang"];

array_push($response["data"], $pl);

}

echo json_encode($response);

} else {
$response['result']= "false" ;
$response['msg']="maaf,terjadi kesalahan";
}

?>


Membuat Tampilan

Buka project yang sudah dibuat dan buka directory layout, tambahkan layout baru dengan nama list_santri.xml, layout ini berfungsi untuk menampung data per item nantinya. Untuk kodenya seperti berikut ini


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp">

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

<TextView
android:id="@+id/maintxtnim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nim"
android:textSize="14dp" />

<TextView
android:id="@+id/maintxtnama"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama"
android:textSize="20dp" />

<TextView
android:id="@+id/maintxtbidang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bidang"
android:textSize="14dp" />

</LinearLayout>

</android.support.v7.widget.CardView>

</RelativeLayout>


Selanjutnya pada content_main.xml, tambahka object recyclerview di dalamnya, kodenya seperti berikut ini.


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".Activity.MainActivity"
tools:showIn="@layout/activity_main">

<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recycler"/>

</RelativeLayout>


Membuat Activity

Untuk menampilkan data santri, kita perlu untuk membuat modelnya terlebih dahulu, caranya dengan membuat package baru dengan nama Model dan buat class baru di dalamnya dengan nama ModelSantri.java. Untuk kodenya seperti berikut ini


package com.blogsetyaaji.pesantrenidn.Model;

import com.blogsetyaaji.pesantrenidn.BaseApp;

/**
* Created by AJISETYA on 9/6/2016.
*/
public class ModelSantri{
private String nim, nama, bidang;

public String getNim() {
return nim;
}

public void setNim(String nim) {
this.nim = nim;
}

public String getNama() {
return nama;
}

public void setNama(String nama) {
this.nama = nama;
}

public String getBidang() {
return bidang;
}

public void setBidang(String bidang) {
this.bidang = bidang;
}
}


Di sini data akan ditampilkan di dalam objek recyclerview, maka membutuhkan adapter. Buat package baru dengan nama Adapter dan buat class baru dengan naa AdapterSantri.java dan buat kodenya seperti berikut ini


package com.blogsetyaaji.pesantrenidn.Adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.blogsetyaaji.pesantrenidn.BaseApp;
import com.blogsetyaaji.pesantrenidn.Model.ModelSantri;
import com.blogsetyaaji.pesantrenidn.R;

import java.util.ArrayList;

/**
* Created by AJISETYA on 9/9/2016.
*/
public class AdapterSantri extends RecyclerView.Adapter<AdapterSantri.ViewHolder>{

private ArrayList<ModelSantri> santri;
Context context;

public AdapterSantri(Context context, ArrayList<ModelSantri> santri) {
this.santri = santri;
this.context = context;
}

@Override
public AdapterSantri.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_santri, null);

return new ViewHolder(v);
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.nim.setText(String.valueOf(santri.get(position).getNim()));
holder.nama.setText(String.valueOf(santri.get(position).getNama()));
holder.bidang.setText(String.valueOf(santri.get(position).getBidang()));
}

@Override
public int getItemCount() {
return santri.size();
}

public class ViewHolder extends RecyclerView.ViewHolder {
TextView nim, nama, bidang;

public ViewHolder(View itemView) {
super(itemView);
nim = (TextView)itemView.findViewById(R.id.maintxtnim);
nama = (TextView)itemView.findViewById(R.id.maintxtnama);
bidang = (TextView)itemView.findViewById(R.id.maintxtbidang);
}
}


}


Selanjutnya kita tampilkan recyclerview di dalam MainActivity. Buka MainActivity.java dan buat kodenya seperti berikut ini


package com.blogsetyaaji.pesantrenidn.Activity;

import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.support.v7.widget.helper.ItemTouchHelper;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.androidquery.callback.AjaxCallback;
import com.androidquery.callback.AjaxStatus;
import com.blogsetyaaji.pesantrenidn.Adapter.AdapterSantri;
import com.blogsetyaaji.pesantrenidn.BaseApp;
import com.blogsetyaaji.pesantrenidn.Helper.Helper;
import com.blogsetyaaji.pesantrenidn.Model.ModelSantri;
import com.blogsetyaaji.pesantrenidn.R;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class MainActivity extends BaseApp {

private RecyclerView recyclerView;
private ArrayList<ModelSantri> santris;
private AdapterSantri adapterSantri;
private Paint p = new Paint();
public TextView nim;

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

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});

santris = new ArrayList<>();
recyclerView = (RecyclerView) findViewById(R.id.recycler);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
nim = (TextView) findViewById(R.id.maintxtnim);

ambilData();



}



private void ambilData() {
/*kirim data ke server*/
String URL = Helper.BASE_URL + "tampil.php";
Map<String, String> param = new HashMap<>();

/*menampilkan progressbar saat mengirim data*/
ProgressDialog pd = new ProgressDialog(context);
pd.setIndeterminate(true);
pd.setCancelable(false);
pd.setInverseBackgroundForced(false);
pd.setCanceledOnTouchOutside(false);
pd.setTitle("Info");
pd.setMessage("Mengambil data");
pd.show();

try {
/*format ambil data*/
aQuery.progress(pd).ajax(URL, param, String.class, new AjaxCallback<String>() {
@Override
public void callback(String url, String object, AjaxStatus status) {
/*jika objek tidak kosong*/
if (object != null) {
try {
JSONObject jsonObject = new JSONObject(object);
String result = jsonObject.getString("result");
String msg = jsonObject.getString("msg");
if (result.equalsIgnoreCase("true")) {
Helper.pesan(context, msg);
JSONArray jsonArray = jsonObject.getJSONArray("data");
for (int a = 0; a < jsonArray.length(); a++) {
JSONObject object1 = jsonArray.getJSONObject(a);
ModelSantri santri = new ModelSantri();
santri.setNim(object1.getString("nim"));
santri.setNama(object1.getString("nama"));
santri.setBidang(object1.getString("bidang"));
santris.add(santri);
adapterSantri = new AdapterSantri(context, santris);
recyclerView.setAdapter(adapterSantri);
}
} else {
Helper.pesan(context, msg);
}
} catch (JSONException e) {
Helper.pesan(context, "Error convert data json");
}
}
}
});
} catch (Exception e) {
Helper.pesan(context, "Gagal mengambil data");
}
}

}


Menjalankan Program

Jika sudah, jalankan programnya dengan memilih menu Run ‘app’. Maka tampilan akhirnya akan seperti berikut ini



Konsepnya hampir sama dengan membuat register dan login, dengan menggunakan AQuery, maka data akan dikirim ke server dan server akan memberikan respon lalu respon dimasukkan ke dalam adapter untuk ditampilkan di recycler view.

Sekian artikel tentang Menampilkan Data MySQL menggunakan RecyclerView dan CardView, semoga bermanfaat. Nantikan artikel menarik lainya.


Tidak Jenuh Saat Menunggu





Tidak ada orang yang suka menunggu, ada pun yang suka pasti akan ada perasaan jenuh. Saat menunggu sesuatu, seseorang akan melakukan hal yang bisa membuat dia lupa waktu atau mengabaikan waktu. Ada yang menunggu sembari melihat sekeliling, ada yang menunggu sembari duduk santai, ada yang menunggu sembari bermain game, mendengarkan musik, membaca, mengobrol atau hal lainya yang bisa melenyapkan waktu lebih cepat.

Saat menunggu kadang orang melakukan hal lain untuk membuat dia tidak merasa jenuh atau bosan. Melakukan sesuatu hal sembari menunggu adalah baik karena orang tersebut mungkin tidak akan cepat merasa bosan. Tapi bagaimana jika seseorang tersebut saat menunggu dia tidak mengingat sesuatu hal yang sebenarnya paling bisa membuat dia tidak bosan. Hal tersebut adalah berzikir kepada Allah.

Berzikir dapat membuat seseorang menjadi tenang dan damai, dzikir dapat membuat seorang muslim dekat dengan Allah, dan berzikir dapat menambah amal dari seorang yang melakukannya. Jadi kenapa saat kita menunggu sesuatu kita sebaiknya berzikir?

Baca juga "Cara Memasak Mie Instan dengan Aman dan Benar"

Sebenarnya proses menunggu adalah sebagian dari siksa, apalagi jika waktunya sangat lama. Hal tersebut bisa membuat seseorang menjadi bosan, membuat menjadi jenuh, membuat seseorang menjadi tidak semangat, hingga membuat seseorang menjadi marah. Jadi, dengan berzikir orang akan merasa tenang dan tenteram. Orang yang membasahi bibirnya dengan berzikir tidak akan merasakan siksaan yang disebabkan karena menunggu.

Saat seorang berzikir saat dia menunggu sesuatu, orang tersebut akan bisa melalui waktu dengan baik, karena dia melakukan hal yang baik. Tanpa dia sadari, dengan berzikir saat menunggu bisa membuat dia lupa akan waktu yang harus dia lalui.

Berzikir juga memiliki manfaat lainya yang sangat luar biasa bagi orang yang melakukannya. Tsabit bin al-Banant RA. pernah berkata kepada muridnya, “Saya tahu kapan Allah SWT mengingat saya“ dan muridnya bertanya kepada beliau “Bagaimana Anda mengetahui hal itu?” dan jawab beliau adalah “Apabila saya mengingat-Nya, Dia pasti mengingat saya,”. Dari situ kita bisa mengerti, Allah mengetahui apa yang kita perbuat adalah hal yang membuat seseorang ingat kepada Allah, maka Allah akan melihat dan memberi ganjaran baik kepada orang yang berzikir.

Manfaat berzikir kepada Allah sangat luar biasa. Rasulullah pernah bersabda, ”Orang yang berzikir kepada Allah di tengah orang –orang yang lalai adalah seperti pohon hijau di tengah pohon-pohon yang kering. Orang yang berzikir kepada Allah di tengah orang-orang yang lalai adalah seperti orang yang berjuang di tengah orang-orang yang lari dari medan perang.” Rasulullah shallallahu alaihi wasallam juga pernah ditanya,”Amalan apa yang paling utama?” Beliau menjawab,”Engkau mati sementara lisanmu basah karena zikir kepada Allah ’Azza wa jalla.”


Terlalu luar biasa manfaat berzikir, jika dilakukan saat seseorang sedang menunggu, maka nanti akan mendapatkan hal baik dan balasan yang baik pula. Sekian artikel tentang Saat Menunggu, semoga bermanfaat dan menjadi ispirasi bagi kita semua agar lebih mendekatkan diri kepada Allah

Thursday, September 8, 2016

Membuat Android Register dan Login Mengunakan AQuery dan MySQL

Hai sobat, bersama lagi di artikel tentang android, pada artikel kemarin yang berjudul Membuat Welcome Screen / Splash Screen pada aplikasi android, telah dijelaskan bagaimana cara membuat tampilan s[lash screen pada aplikasi android di mana tampilan tersebut berguna untuk menahan sementara aplikasi ke activity utama. Dan pada artikel kali ini, akan dijelskan bagaimana cara membuat aplikasi login dan register menggunakan AQuery (Android Query) dan php MySQL sebagai servernya. Untuk membuatnya, berikut langkah-langkahya.


Dalam pembuatan aplikasi di dalam artikel ini, masih menggunakan project pada artikel sebelumnya yang berjudul Membuat Tampilan Splash Screen Android. Fugsinya adalah untuk menahan sementara activity utama dan menampilkan brand dari apalikasi tersebut.

Membuat MySQL Database dan Script PHP

Pertama buat database baru, di sini saya memberi nama app_pesantren. Buat tabel baru dengan nama user, strukturnya seperti berikut ini.


Setelah membuat database baru, selanjutnya buat koneksinya menggunakan script php seperti di bawah ini


<?php

$server ="localhost"; // server nya

$username = "root"; //username nya

$password =""; //password nya


$database ="app_pesantren"; //nama database

mysql_connect($server, $username, $password) or die("Koneksi tidak ada"); //untuk koneksi nya

mysql_select_db($database) or die("Database tidak ditemukan"); //memilih database
?>


Jika koneksi telah kita buat, kemudian lanjut lagi membuat script untuk memasukkan data user baru ke dalam database. Kodenya seperti berikut ini


<?php
include 'db.php'; //memanggil file db.php

//mengecek variabel
if(isset($_POST["email"]) && isset ($_POST["password"]))
{
$password = $_POST['password'];
$email= $_POST['email'];

//perintah SQL untuk memasukan data
$query = "INSERT INTO user (email,password) VALUES ('$email','$password')";
$hasil = mysql_query($query);
if($hasil)
{
$response["result"]= true ;
$response["msg"]= "Register berhasil, silakan login";
echo json_encode($response);
}
else {
$response['result']= false ;
$response['msg']="maaf,terjadi kesalahan";
echo json_encode($response);
}
}else{
$response['result']= false ;
$response['msg']="maaf, data salah";
echo json_encode($response);
}
?>



Jika script untuk memasukkan user ke dalam database selesai, selanjutnya adalah membuat script untuk login user. Kodenya seperti berikut ini


<?php
include "db.php"; //memanggil fungsi koneksi di file db.php

//deklarasi
$email =$_POST['email'];
$password=$_POST['password'];
$passwordd = md5($password);
$response = array();

//perintah SQL untuk meampilkan data
$query = "SELECT * FROM user WHERE email ='$email' AND password='$password'";
$hasil = mysql_query($query);

//jika data nya ada atau lebih dari 0
if(mysql_num_rows($hasil)> 0){
$response['result']= true ;
$response['msg']="login berhasil";
echo json_encode($response);

} else {
$response['result']= false ;
$response['msg']="maaf,terjadi kesalahan";
echo json_encode($response);
echo $email, $password;
}
?>


Ketiga file tadi disimpan dan di masukkan ke dalam folder dengan nama app_pesantren, dan folder tadi dimasukkan ke dalam folder server lokal atau htdoccs (local server)
Jika semuanya sudah, maka struktur filenya seperti berikut ini


Membuat Android Register dan Login Mengunakan AQuery dan MySQL

maaf sob, itu nama folder sedikit salah, maklum project lama 😅

Membuat Project Android

Di artikel kali ini akan menggunakan project pada artikel sebelumnya, jika sobat belum membuat sebelumnya, sobat bisa membuka artikel sebelumnya di sini.

Dalam membuat tampilan register dan login, di sini menggunakan Material EditText, untuk bisa menggunakannya, kita harus mengistal library dependencies - nya terlebih dahulu. Buka build:grandle (module) dan masukkan kode di bawah ini


compile 'com.rengwuxian.materialedittext:library:2.1.4'


tambahkan dua activity baru dengan nama RegisterActivity dan LoginActivity. Lalu pada tampilan layoutnya, buat tampilanya seperti berikut ini


<?xml version="1.0" encoding="utf-8"?>
<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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Activity.RegisterActivity">

<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/logo"
android:layout_centerHorizontal="true"
android:id="@+id/bglogo"
android:layout_marginTop="20dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login User"
android:textSize="26dp"
android:layout_below="@id/bglogo"
android:layout_centerHorizontal="true"
android:id="@+id/textView"/>

<com.rengwuxian.materialedittext.MaterialEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email"
app:met_baseColor="#2e8ece"
app:met_primaryColor="#fc1e94"
app:met_errorColor="#f22a37"
app:met_floatingLabel="highlight"
app:met_iconLeft="@mipmap/ic_email"
android:layout_below="@id/textView"
android:layout_marginTop="55dp"
android:id="@+id/regtxtEmail"/>

<com.rengwuxian.materialedittext.MaterialEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
app:met_baseColor="#2e8ece"
app:met_primaryColor="#fc1e94"
app:met_errorColor="#f22a37"
app:met_floatingLabel="highlight"
app:met_iconLeft="@mipmap/ic_password"
android:layout_below="@id/regtxtEmail"
android:layout_marginTop="1dp"
android:id="@+id/regtxtPassword1"/>

<com.rengwuxian.materialedittext.MaterialEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
app:met_baseColor="#2e8ece"
app:met_primaryColor="#fc1e94"
app:met_errorColor="#f22a37"
app:met_floatingLabel="highlight"
app:met_iconLeft="@mipmap/ic_password"
android:layout_below="@id/regtxtPassword1"
android:layout_marginTop="1dp"
android:id="@+id/regtxtPassword2"/>

<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Register"
android:layout_below="@id/regtxtPassword2"
android:layout_marginTop="10dp"
android:id="@+id/regbtnRegister"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/regbtnRegister"
android:text="Login"
android:layout_alignParentRight="true"
android:textSize="20sp"
android:layout_marginTop="20dp"
android:id="@+id/reglblLogin"/>

</RelativeLayout>



<?xml version="1.0" encoding="utf-8"?>
<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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Activity.LoginActivity">

<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/logo"
android:layout_centerHorizontal="true"
android:id="@+id/bglogo"
android:layout_marginTop="20dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login User"
android:textSize="26dp"
android:layout_below="@id/bglogo"
android:layout_centerHorizontal="true"
android:id="@+id/textView"/>

<com.rengwuxian.materialedittext.MaterialEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email"
app:met_baseColor="#2e8ece"
app:met_primaryColor="#fc1e94"
app:met_errorColor="#f22a37"
app:met_floatingLabel="highlight"
app:met_iconLeft="@mipmap/ic_email"
android:layout_below="@id/textView"
android:layout_marginTop="70dp"
android:id="@+id/logtxtEmail"/>

<com.rengwuxian.materialedittext.MaterialEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
app:met_baseColor="#2e8ece"
app:met_primaryColor="#fc1e94"
app:met_errorColor="#f22a37"
app:met_floatingLabel="highlight"
app:met_iconLeft="@mipmap/ic_password"
android:layout_below="@id/logtxtEmail"
android:layout_marginTop="1dp"
android:id="@+id/logtxtPassword"/>

<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login"
android:layout_below="@id/logtxtPassword"
android:layout_marginTop="10dp"
android:id="@+id/logbtnLogin"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/logbtnLogin"
android:text="Register"
android:layout_alignParentRight="true"
android:textSize="20sp"
android:layout_marginTop="20dp"
android:id="@+id/loglblRegister"/>

</RelativeLayout>


Pada dua tampilan tersebut, untuk texkbox menggunakan Material EditText agar tampilanya lebih sesuai standar model material design. Untuk penjelasan lebih tentang material edittext bisa sobat baca di sini.

Mengistal Library

Karena dalam project ini menggunakan AQuery untuk berinteraksi dengan server maka harus terlebih dahulu mengistal librarynya. Pertama sobat download terlebih dahulu librarynya di sini.



Selanjutnya sobat salin library tersebut lalu masuk ke dalam project.



Di dalam menu jendela project, sobat ganti dari Android ke Project. Cari directory lib dan tempel library tadi ke dalam directory library.



Setelah menempel library tadi, selanjutnya klik kanan pada linrary dan pilih Add as Library.



Pengistalan lbrary AQuery berhasil, sekarang lanjut ke tahap berikutnya.

Membuat Activity

Selanjutnya buat class baru dengan nama BaseApp, fungsinya sebagai penyimpan pengaturan objek atau method yang sering digunakan dalam class lain sehinga nantinya tidak perlu deklarasi di tiap-tiap class Untuk kodenya sperti berikut ini


package com.blogsetyaaji.pesantrenidn;

import android.content.Context;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.animation.AlphaAnimation;

import com.androidquery.AQuery;

/**
* Created by AJISETYA
*/
public class BaseApp extends AppCompatActivity {
public Context context;
public AQuery aQuery;
public AlphaAnimation BtnAnimasi = new AlphaAnimation(1F, 0.1F);

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
aQuery = new AQuery(context);
}
}

Selanjutnya, buat package baru dengan nama Helser dan buat class baru di dalamnya dengan nama Helper. Fungsi dari class ini adalah untuk menampung fungsi yang nantinya akan digunakan di banyak activity. Dalam class helper, akan dimasukkan beberapa fungsi seperti fungsi untuk menampilkan toast, fungsi mengecek email, fungsi mengecek kesamaan password dan lainya. Untuk kodenya seperti berikut ini


package com.blogsetyaaji.pesantrenidn.Helper;

import android.content.Context;
import android.widget.EditText;
import android.widget.Toast;

import com.blogsetyaaji.pesantrenidn.BaseApp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* Created by AJISETYA
*/
public class Helper extends BaseApp {

/*alamat utama, silahkan disesuaikan dgn ip sobat dan nama folder sobat*/
public static String BASE_URL = "http://192.168.154.2/app_pesantren/";

/*fungsi cek kesamaan text*/
public static boolean isCompare(EditText et1, EditText et2){
String a = et1.getText().toString();
String b = et2.getText().toString();
/*jika a sama dengan b*/
if (a.equals(b)){
return false;
}else{
return true;
}
}

/*fungsi untuk menampilkan pesan*/
public static void pesan (Context c, String msg){
Toast.makeText(c,msg,Toast.LENGTH_LONG).show();
}

/*fungsi untuk mengecek apakah isian kosong*/
public static boolean isEmpty(EditText editText){
/*jika banyak huruf lebih dari 0*/
if (editText.getText().toString().trim().length() > 0){
/*tidak dikembalikan*/
return false;
}else {
/*kembalikan*/
return true;
}
}

// validasi untuk inputan email
public static boolean isEmailValid(EditText email) {
boolean isValid = false;
String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
CharSequence inputStr = email.getText().toString();

Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);

if (matcher.matches()) {
isValid = true;
}
return isValid;
}
}

Seteah membuat class helper, selanjutnya membuat activity. Buat package baru dengan nama activity dan masukkan semua activity ke dalam package activity. Lalu buka SplashScreen.java dan ubah tujuan intent ke LoginActivity.class, untuk lebih jelasnya bisa sobat lihat kode di bawah ini


package com.blogsetyaaji.pesantrenidn.Activity;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.blogsetyaaji.pesantrenidn.R;

public class SplashScreen extends AppCompatActivity {

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

/*handler untuk menahan activity sementara*/
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
/*mulai activity ke MainActivity setelah 5 detik*/
startActivity(new Intent(getApplicationContext(),LoginActivity.class));
finish();
}
/*durasi 5000ms*/
},5000);
}

@Override
public void onBackPressed() {
return;
}
}

Setelah mengubah activity SplasScreen, buka RegisterActivity.java dan buat kodenya seperti berikut ini


package com.blogsetyaaji.pesantrenidn.Activity;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.PersistableBundle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.androidquery.callback.AjaxCallback;
import com.androidquery.callback.AjaxStatus;
import com.blogsetyaaji.pesantrenidn.BaseApp;
import com.blogsetyaaji.pesantrenidn.Helper.Helper;
import com.blogsetyaaji.pesantrenidn.R;
import com.rengwuxian.materialedittext.MaterialEditText;

import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Text;

import java.util.HashMap;
import java.util.Map;

public class RegisterActivity extends BaseApp {

private MaterialEditText regtxtEmail, regtxtPassword1, regtxtPassword2;
private TextView reglblLogin;
private Button regbtnRegister;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
setupView();
reglblLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.startAnimation(BtnAnimasi);
startActivity(new Intent(context, LoginActivity.class));
}
});
regbtnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
registerUser();
}
});
}

private void registerUser() {
regtxtEmail.setError(null);
regtxtPassword1.setError(null);
regtxtPassword2.setError(null);
/*check keberadaan teks*/
if (Helper.isEmpty(regtxtEmail)) {
regtxtEmail.setError("Email masih kosong");
regtxtEmail.requestFocus();
} else if (Helper.isEmailValid(regtxtEmail)) {
regtxtEmail.setError("Format email salah");
regtxtEmail.requestFocus();
} else if (Helper.isEmpty(regtxtPassword1)) {
regtxtPassword1.setError("Password masih kosong");
regtxtPassword1.requestFocus();
} else if (Helper.isEmpty(regtxtPassword2)) {
regtxtPassword2.setError("Konfirmasi password masih kosong");
regtxtPassword2.requestFocus();
/*check kesamaan password*/
} else if (Helper.isCompare(regtxtPassword1, regtxtPassword2)) {
regtxtPassword2.setError("Password tidak cocok");
regtxtPassword2.requestFocus();
} else {
/*kirim data ke server*/

/*alamat url http://192.168.154.2/app_pesantren/register.php*/
String URL = Helper.BASE_URL + "register.php";

/*menampung nilai*/
Map<String, String> param = new HashMap<>();
param.put("email", regtxtEmail.getText().toString());
param.put("password", regtxtPassword1.getText().toString());

/*menampilkan progressbar saat mengirim data*/
ProgressDialog pd = new ProgressDialog(context);
pd.setIndeterminate(true);
pd.setCancelable(false);
pd.setInverseBackgroundForced(false);
pd.setCanceledOnTouchOutside(false);
pd.setTitle("Info");
pd.setMessage("Sedang menambah data");
pd.show();

try {
/*format ambil data*/
aQuery.progress(pd).ajax(URL, param, String.class, new AjaxCallback<String>() {
@Override
public void callback(String url, String object, AjaxStatus status) {
/*jika objek tidak kosong*/
if (object != null) {
try {
JSONObject jsonObject = new JSONObject(object);
String result = jsonObject.getString("result");
String msg = jsonObject.getString("msg");

/*jika result adalah benar, maka pindah ke activity login dan menampilkan pesan dari server,
serta mematikan activity*/
if (result.equalsIgnoreCase("true")) {
startActivity(new Intent(context, LoginActivity.class));
Helper.pesan(context, msg);
finish();
} else {
Helper.pesan(context, msg);
}

} catch (JSONException e) {
Helper.pesan(context, "Error convert data json");
}
}
}
});
} catch (Exception e) {
Helper.pesan(context, "Gagal mengambil data");
}
}
}

/*pengenalan objek*/
private void setupView() {
regtxtEmail = (MaterialEditText) findViewById(R.id.regtxtEmail);
regtxtPassword1 = (MaterialEditText) findViewById(R.id.regtxtPassword1);
regtxtPassword2 = (MaterialEditText) findViewById(R.id.regtxtPassword2);
regbtnRegister = (Button) findViewById(R.id.regbtnRegister);
reglblLogin = (TextView) findViewById(R.id.reglblLogin);
}

}

Selanjutnya buka LoginActivity.java dan buat kodenya seperti berikut ini


package com.blogsetyaaji.pesantrenidn.Activity;

import android.app.ProgressDialog;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;

import com.androidquery.callback.AjaxCallback;
import com.androidquery.callback.AjaxStatus;
import com.blogsetyaaji.pesantrenidn.BaseApp;
import com.blogsetyaaji.pesantrenidn.Helper.Helper;
import com.blogsetyaaji.pesantrenidn.R;
import com.rengwuxian.materialedittext.MaterialEditText;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class LoginActivity extends BaseApp {

private MaterialEditText logtxtEmail, logtxtPassword;
private TextView loglblRegister;
private Button logbtnLogin;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
setupView();
loglblRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.startAnimation(BtnAnimasi);
startActivity(new Intent(getApplicationContext(), RegisterActivity.class));
}
});

logbtnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
loginUser();
}
});
}

private void loginUser() {
logtxtEmail.setError(null);
logtxtPassword.setError(null);
/*check kebaradan teks*/
if (Helper.isEmpty(logtxtEmail)) {
logtxtEmail.setError("Email masih kosong");
logtxtEmail.requestFocus();
} else if (Helper.isEmpty(logtxtPassword)) {
logtxtPassword.setError("Password masih kosong");
logtxtPassword.requestFocus();
} else {
/*kirim data ke server*/
String URL = Helper.BASE_URL + "login.php";
Map<String, String> param = new HashMap<>();
param.put("email", logtxtEmail.getText().toString());
param.put("password", logtxtPassword.getText().toString());

/*menampilkan progressbar saat mengirim data*/
ProgressDialog pd = new ProgressDialog(context);
pd.setIndeterminate(true);
pd.setCancelable(false);
pd.setInverseBackgroundForced(false);
pd.setCanceledOnTouchOutside(false);
pd.setTitle("Info");
pd.setMessage("Login");
pd.show();

try {
/*format ambil data*/
aQuery.progress(pd).ajax(URL, param, String.class, new AjaxCallback<String>() {
@Override
public void callback(String url, String object, AjaxStatus status) {
/*jika objek tidak kosong*/
if (object != null) {
try {
JSONObject jsonObject = new JSONObject(object);
String result = jsonObject.getString("result");
String msg = jsonObject.getString("msg");
if (result.equalsIgnoreCase("true")) {
startActivity(new Intent(context, MainActivity.class));
Helper.pesan(context, msg);
finish();
} else {
Helper.pesan(context, msg);
}
} catch (JSONException e) {
Helper.pesan(context, "Error convert data json");
}
}
}
});
} catch (Exception e) {
Helper.pesan(context, "Gagal mengambil data");
}
}
}

private void setupView() {
logtxtEmail = (MaterialEditText) findViewById(R.id.logtxtEmail);
logtxtPassword = (MaterialEditText) findViewById(R.id.logtxtPassword);
logbtnLogin = (Button) findViewById(R.id.logbtnLogin);
loglblRegister = (TextView) findViewById(R.id.loglblRegister);
}
}


Pada ke dua class dia atas, mengunakan konsep yang sama yaitu mengecek terlebih dahulu keberadaan teks, lalu menghubungkan dan menampung variable dengan server, selanjutnya mengirim nilai ke server. Jika result atau respon adalah benar, maka pindah activity dan proses interaksi dengan server berhasil.

Memberikan Izin Mengakses Internet

Kerena aplikasi mengambil data dari server internet, maka aplikasi membuatuhkan izin untuk mengakses internet. Untuk menambahkan izin, kita ubah pada file Android Manifest.xml. Silahkan tambahkan kode berikut di atas tag <application>


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


Menjalankan Program

Jika sudah, aplikasi bisa dijalankan dengan memilih menu Run ‘app’. Tampilan spalsh screen akan tampil pertama kali selama 5 detik, selanjutnya masuk ke activity Login. Jika user belum ada, pilih rester dan masukkan data user untuk proses login selanjutnya.



Untuk artikel selanjutnya, akan dijelaskan pembuatan aplikasi CRUD menggunakan PHP danMySQL sebagai sisi servernya. Sekian artikel tentang membuat aplikasi Register dan Login Android Menggunakan AQuery dan PHP MySQL sebagai Servernya.

Silahkan share dan ikuti blog ini jika sobat suka dengan artikel ini. Dan juga apabila sobat memiliki pertanyaan, kritik, saran, dan komentar, silahkan tulis di kolom komentar. Sampai jumpa di tutorial selanjutnya, sampai jumpa...