Pages

Login Session Menggunakan SQLite Android

Sabtu, 12 Desember 2015


Assalamualaikum Wr.Wb~



Apa itu Login Session? Kalian pernah menggunakan Aplikasi Facebook yang ada di android? Atau mungkin Instagram? Ya seperti itulah kira-kira, jadi ketika kita login dan keluar dari aplikasi tanpa logout, kemudian kita ingin masuk aplikasi lagi, kita tidak perlu memasukan username dan password untuk login lagi. Intinya kita tidak perlu login berulang kali saat keluar masuk aplikasi, kecuali saat kita logout.




Nah sekarang kita ingin belajar bagaimana cara membuatnya, pertama kita buat file-file yang kita butuhkan, seperti ini
DatabaseHelper.java 
Class ini berisi perintah untuk menjalankan query seperti Create Table, Insert Data, Delete Data dan sebagainya ke Database SQLite. 
LoginActivity.java 

Class ini berisi perintah untuk login untuk masuk ke MainActivity dan cek session yang ada dalam database. 

MainActivity.java 

Class ini hanya berisi tombol logout, yang nantinya akan menghapus session, yang mengharuskan kita untuk login lagi. 

activity_login.xml 
layout dari LoginActivity 

activity_main.xml
layout dari MainActivity


  1. activity_login.xml
<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editTextUsername"
        android:layout_gravity="center_horizontal"
        android:hint="Username" />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/editTextPassword"
        android:layout_gravity="center_horizontal"
        android:hint="Password" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login"
        android:id="@+id/buttonLogin"
        android:layout_gravity="right" />
</LinearLayout>

  1. activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Logout"
        android:id="@+id/buttonLogout"
        android:layout_gravity="right" />
</LinearLayout>

  1. DatabaseHelper.java

  • SimpanData(String Username, String Password)
    Method inilah yang nantinya akan dipanggil di LoginActivity.java untuk menyimpan data username dan password yang login.
  • LihatData()
    Method ini berfungsi untuk melihat data yang ada di database.
  • HapusData()
    Method ini berfungsi untuk mengahpus semua data yang ada di database. Method inilah yang akan dipanggil ketika kita logout.

package azisuazusa.loginsession;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String DATABASE_NAME = "DB_Login";
    public static final String TABLE_NAME = "TB_Login";
    public static final String COL_1 = "Username";
    public static final String COL_2 = "Password";
    private SQLiteDatabase db;
    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);
        db = this.getWritableDatabase();
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table " + TABLE_NAME + " (Username STRING PRIMARY KEY, Password TEXT)");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);
    }
    public void SimpanData(String Username, String Password) {
        ContentValues values = new ContentValues();
        values.put(COL_1, Username);
        values.put(COL_2, Password);
        db.insert(TABLE_NAME, null, values);
    }
    public Cursor LihatData() {
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor res = db.rawQuery("Select * from " + TABLE_NAME, null);
        return res;
    }
    public void HapusData() {
        SQLiteDatabase db = this.getWritableDatabase();
        db.execSQL("delete from " + TABLE_NAME);
    }
}

  1. LoginActivity.java
    Disini untuk login kita tidak memakan database apapun, kita hanya menggunakan variable string yang berisi Username dan Password.

  • if(res.moveToNext())
    Kode ini berfungsi untuk memeriksa, apakah di dalam database ada data user yang telah login. Jika ada maka LoginActivity.java akan ditutup dan langsung masuk ke MainActivity.
  • Login()
    Method ini berisi perintah untuk login, dan di dalamnya ada MyDB.SimpanData(User, Pass); yang berfungsi untuk menyimpan data Username dan Password yang sedang login.

package azisuazusa.loginsession;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class LoginActivity extends Activity {
    Button btnLogin;
    EditText etUsername, etPassword;
    String Username = "azisu", Password = "azusa";
    DatabaseHelper MyDB;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        MyDB = new DatabaseHelper(this);
        Cursor res = MyDB.LihatData();
        if(res.moveToNext()){
            finish();
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
        }
        etUsername = (EditText) findViewById(R.id.editTextUsername);
        etPassword = (EditText) findViewById(R.id.editTextPassword);
        btnLogin = (Button) findViewById(R.id.buttonLogin);
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Login();
            }
        });
    }
    private void Login(){
        String User = etUsername.getText().toString();
        String Pass = etPassword.getText().toString();
        if(User.equals("") || Pass.equals("")){
            Toast.makeText(this, "Form Masih Kosong!", Toast.LENGTH_SHORT).show();
        }else{
            if(!User.equals(Username) || !Pass.equals(Password)){
                Toast.makeText(this, "Username atau Password Salah!", Toast.LENGTH_SHORT).show();
            }else {
                Toast.makeText(this, "Berhasil Login!", Toast.LENGTH_SHORT).show();
                MyDB.SimpanData(User, Pass);
                finish();
                Intent intent = new Intent(this, MainActivity.class);
                startActivity(intent);
            }
        }
    }
}

  1. MainActivity.java

  • MyDB.HapusData();
    Kode inilah yang berfungsi untuk menghapus semua data yang ada di database.
package azisuazusa.loginsession;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
    Button btnLogout;
    DatabaseHelper MyDB;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MyDB = new DatabaseHelper(this);
        btnLogout = (Button) findViewById(R.id.buttonLogout);
        btnLogout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyDB.HapusData();
                finish();
                Intent intent = new Intent(MainActivity.this, LoginActivity.class);
                startActivity(intent);
            }
        });
    }
}

  1. AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="azisuazusa.loginsession">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".LoginActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity"></activity>
    </application>
</manifest> 
 
Sekarang silahkan coba jalankan! Sekian, semoga bermanfaat. Wassalamualaikum Wr. Wb~

Mengganti Username dan Password PhpMyAdmin TeaLinux 7.0 [Rosella Tea]

Sabtu, 28 November 2015

Assalamualaikum Wr. Wb~ 

     Aku termasuk newbie sebagai pemakai OS Open Source ini. Nah beberapa minggu yang lalu aku install TeaLinux 7.0 dengan Codename Rosella Tea. Sedikit tentang TeaLinux, TeaLinuxOS adalah distro linux turunan Ubuntu yang dikembangkan oleh Dinus Open Source Community (DOSCOM) yang berorientasi pemrograman. Dengan menghadirkan filosofi, "Nikmatnya sebuah racikan", TeaLinuxOS dikembangkan secara terbuka dan bersama-sama untuk menghasilkan distro Linux pemrograman yang dikhususkan untuk dunia pendidikan.

     Setelah install ternyata memang sudah ada beberapa software yang dibutuhkan para developer, termasuk PhpMyAdmin. Nah karna ke-newbie-an aku, aku bahkan gatau apa username dan password dari PhpMyAdmin yang udah terinstall dari awal tersebut. Aku udah coba "root", "phpmyadmin", "mysql" dan  username - password default lainnya tapi tetep gabisa, apa mungkin kurang banyak yang aku coba? entahlah yang pasti aku udah putus asa saat itu. Sampai akhirnya aku coba nyari di google buat ganti username dan passwordnya. Akhirnya aku nemu caranya dan aku bagikan buat kalian sekarang.

Oke, pertama buka terminal kalian, ketikan perintah ini dan masukkan password root kalian.

sudo -s

Kedua,
sudo dpkg-reconfigure phpmyadmin

Kemudian akan muncul tampilan seperti ini di terminal kalian






Ketiga,
sudo dpkg-reconfigure mysql-server-5.5
dan akan muncul tampilan lagi untuk mereset password mysql


Terakhir,
sudo service apache2 restart

Sekarang coba kalian masuk ke localhost/phpmyadmin dengan password baru!
Sekian, semoga bermanfaat~

Wasalamualaikum Wr. Wb~

Menggerakan Object Menggunakan Keyboard [Processing]

Minggu, 15 November 2015

Assalamualaikum Wr. Wb~


     Di sekolah ku SMKN 2 Bekasi (Ciyee promosi sekolah :v ) ada yang namanya Pemrograman Grafik, software yang digunakan adalah Processing. software ini menggunakan bahasa pemrograman Java, jadi ga terlalu sulit untuk mempelajarinya. Walaupun belum lama mempelajari pelajaran ini, Tapi aku tetap ingin mencoba membagikan apa yang aku pelajarin di sekolah.

     Sekarang kita ingin membuat suatu objek lalu menggerakanya dengan keyboard. Programnya sederhana, hanya menggunakan variabel untuk posisi suatu objek, kemudian nilai variabel itu akan berubah ketika tombol keyboard ditekan. Di sini aku menggunakan tombol W untuk ke atas, A ke kiri, S ke bawah dan D ke kanan.

Silahkan copy kode di bawah ini
float x = 100, y = 100; //posisi awal
void setup(){
  size(720, 480); //ukuran window
  smooth();
  strokeWeight(2); //ketebalan garis luar
}
void draw(){
  background(240); //warna background
  ellipse(x, y, 50, 50); //posisi dan ukuran objek
  if(keyPressed){
    if((key == 'W') || (key == 'w')) y -= 10; //W untuk ke atas
    if((key == 'A') || (key == 'a')) x -= 10; //A untuk ke kiri
    if((key == 'S') || (key == 's')) y += 10; //S untuk ke bawah
    if((key == 'D') || (key == 'd')) x += 10; //D untuk ke kanan
  }
}

Selesai, kemudian klik RUN atau tekan CTRL + R!
Sekian dari aku, semoga bermanfaat!

Wassalamualaikum Wr. Wb~

PMI Peduli Bantu Sesama

Sabtu, 07 November 2015

Assalamualaikum Wr.Wb~

     Kali ini aku ingin mengajak kalian semua untuk peduli terhadap sesama. Atau kalian memang sudah peduli terhadap sesama? Atau ingin peduli tapi bingung gimana caranya? Yaa sebenarnya ada banyak cara untuk menunjukan kepedulian kita terhadap sesama tapi jika kalian bingung, di Indonesia ada PMI (Palang Merah Indonesia)! Pernah dengarkan? Pasti dong! Atau ada sebagian kecil dari organisasi ini di sekolah-sekolah yang disebut PMR (Palang Merah Remaja).

     Disini aku akan jelasin sedikit tentang apa itu PMI, PMI atau Palang Merah Indonesia adalah sebuah organisasi perhimpunan nasional di Indonesia yang bergerak dalam bidang sosial kemanusiaan. PMI selalu mempunyai tujuh prinsip dasar Gerakan Internasional Palang Merah dan Bulan sabit merah yaitu kemanusiaan, kesamaan, kesukarelaan, kemandirian, kesatuan, kenetralan, dan kesemestaan. Sampai saat ini PMI telah berada di 33 PMI Daerah (tingkat provinsi) dan sekitar 408 PMI Cabang (tingkat kota/kabupaten) di seluruh Indonesia. Palang Merah Indonesia tidak memihak golongan politik, ras, suku ataupun agama tertentu. Palang Merah Indonesia dalam pelaksanaannya juga tidak melakukan pembedaan tetapi mengutamakan korban yang paling membutuhkan pertolongan segera untuk keselamatan jiwanya.

     Nah udah jelas kan? Atau masih kurang? Yaampun masa mau dijelasin panjang lebar, hari gini gatau PMI? Kemana aja kak?

     PMI menyediakan kemudahan bagi masyarakat yang peduli terhadap sesama untuk memberi bantuan. Nah di sini kita bisa menyalurkan bantuan dengan mudah. Misalnya kita ingin mendonorkan darah, kita bisa datang ke UUD(Unit Donor Darah) terdekat, hingga saat ini PMI telah mendirikan UUD sebanyak 1 UDD Pusat di Jakarta dan 211 UDD di 210 Kabupaten/Kota. Pelayanan darah yang dilaksanakan oleh UDD PMI meliputi pengerahan dan pelestarian donor, pengambilan darah, pengolahan komponen darah, uji saring infeksi, penyimpanan dan pendistribusian darah ke Bank Darah RS (BDRS) atau Rumah Sakit (RS).

     PMI juga memberikan penghargaan untuk DDS(Donor Darah Sukarela) yang telah memberikan atau mendonorkan darahnya sebanyak 15 kali, 30 kali, 50 kali, 75 kali dan 100 kali. Khusus untuk DDS 100 kali, PMI bekerjasama dengan Departemen Sosial memberikan penghargaan berupa Satyalancana Kebaktian Sosial yang disematkan langsung oleh Presiden RI. Wah pasti keren kan kalo bisa dapetin penghargaan itu, tapi inget! Tujuan kita mendonorkan darah bukan untuk mendapatkan penghargaan tapi untuk membantu sesama.

     Bukan hanya donor darah, PMI juga menyediakan layanan donasi untuk kalian yang ingin memberikan bantuan berupa dana. Kebetulan saat ini PMI sedang menjalankan program Bulan Dana 2015/2016 atau bisa disebut juga Bulan Dana PMI. Program ini merupakan ajakan untuk membantu dan peduli sesama dengan mendonasikan dananya sehingga lebih banyak masyarakat yang mebutuhkan terbantu.

     Nah bagi kalian yang ingin mendonasikan dana bisa ditransfer melalui bank-bank sebagai berikut: 
  • Bank BCA Kantor Cabang Utama Thamrin Nomo Rekening : 206-38-1794-5 atas nama PMI DKI JAKARTA Panitia Bulan Dana PMI Provinsi DKI Jakarta.
  • Bank MANDIRI Kantor Cabang Kramat Raya Nomor Rekening : 123-00-17091945 atas nama PMI DKI JAKARTA Panitia Bulan Dana PMI Provinsi DKI Jakarta.
  • Bank DKI Kantor Cabang Utama Juanda Nomor Rekening : 101-03-17094-7 atas nama PMI DKI JAKARTA Panitia Bulan Dana PMI Provinsi DKI Jakarta.
     Ada juga program-program PMI lainnya seperti bantuan dapur umum di lapangan saat terjadi bencana, pelayanan kesehatan, pelayanan ambulan, pelayanan dukungan psikososial bagi korban terdampak bencana, pelayanan pemulihan hubungan keluarga, pembinaan generasi muda dan relawan, pengolahan air bersih, dan sosialisasi atau diseminasi kepalangmerahan.

     Bagaimana? Semoga kalian jadi tertarik atau tergugah hatinya untuk membantu dan peduli sesama, Ayo peduli bantu sesama! Sekian dari aku, semoga bermanfaat! kurang lebihnya mohon maaf, Wassalamualaikum Wr. Wb.