Tampilan menu utama e-Faktur

IKWAN 161021450062

fitur diskon Member

Dengan menggunakan Check Box

Fitur Report dengan Ms. Word

Bisa Print Out atau Menyimpan Data

Fitur Report dengan Ms. Excel

Bisa Print Out atau Menyimpan Data

Fitur Tanggal semi Otomatis

Dengan menggunakan Combo Box

Thursday, May 7, 2020

Cara Install Prestashop Pada Localhost XAMPP

Assalamualaikum, 
halo teman-teman pada kali ini saya akan memberikan tutorial  cara install prestashop versi 1.7 pada localhost XAMPP.

Langsung ke tata caranya ya: 
  1. Siapkan aplikasi XAMPP dan file Prestashop, disini saya pakai PHP versi 5.6.28 dan Prestashop versi 1.7.6.5
  2. File Prestashop yang telah diekstrak (jika masih dalam bentuk file .zip atau .rar) pada direktori yang telah ditentukan kemudian di pindahkan atau salin file prestashop ke folder htdocs pada direktori tempat menginstall xampp.

  1. Buka XAMPP Control Panel, kemudian klik Start pada tombol di samping Apache dan MySQL

  1. Setelah itu klik tombol Admin pada MySQL kemudian tunggu sampai browser terbuka dan tampil halaman phpMyAdmin. Kemudian buat database baru, disini saya membuat database dengan nama prestashop.
  1. Kemudian buka tab baru pada browser dan ketik alamat web http://localhost/nama_folder_prestashop , nama folder prestashop sesuaikan dengan nama folder anda tempat menyimpan file prestashop pada folder htdocs, kemudian tunggu beberapa saat sampai menampilkan halaman instalasi prestashop. Kemudian pilih Bahasa dan klik tombol Berikutnya.




  1. Kemudian centang pada bagian Saya setuju dengan syarat dan ketentuan diatas, setelah itu klik tombol Berikutnya.

  1. Jika terjadi error pada bagian Kompabilitas sistem, maka lihat Parameter PHP yang harus diset yang ditampilkan dan lihat Parameter PHP yang direkomendasikan. Kemudian lakukan dan ikuti parameter tersebut.

Cara Mengatasi Error Pada bagian Kompabilitas sistem :
  • Buka XAMPP Control Panel, kemudian klik tombol Config pada bagian Apache, kemudian pilih PHP (php.ini)
  • Kemudian tekan tombol Ctrl+F pada keyboard, lalu ketik Intl, lalu klik Find Next, setelah muncul tulisan ;extension=php_intl.dll maka hapus tanda titik koma (;) yang berada dibelakang tulisan tersebut.
  • Kemudian pada menu Find ketik realpath_cache_size, lalu klik Find Next, setelah muncul tulisan ;realpath_cache_size = 16k, maka ganti angka 16k dengan 5M dan hapus tanda titik koma (;) yang berada dibelakang tulisan tersebut.
  • Setelah selesai melakukan perubahan tadi, maka simpan perubahan tersebut dan tutup notepadnya. Kemudian kembali buka browser dan kembali ke proses instalasi prestashop tadi.

  1. Setelah melakukan troubleshooting yang mengikuti parameter rekomendasi tadi, restart dulu pada Apache dan selanjutnya klik tombol Refresh. Jika pada saat melakukan konfigurasi sesuai prosedur. Maka akan berhasil dengan tampilan seperti dibawah ini.
Kemudian klik Berikutnya.

  1. Setelah itu lakukan konfigurasi pada halaman informasi toko sampai selesai kemudian klik Berikutnya.
  1. Kemudian lakukan konfigurasi sistem untuk koneksi database, sesuaikan semua isian data dengan database pada localhost yang telah dibuat. Kemudian lakukan tes koneksi database dengan cara klik Test koneksi ke database sekarang! jika pengisian data sesuai database yang telah dibuat maka akan muncul status Berhasil terhubung ke database. Setelah itu klik Berikutnya.


  1. Setelah itu tunggu proses instalasi toko sampai selesai.
  1. Setelah proses instalasi selesai, maka akan muncul menu Kelola toko Anda dan Temukan toko Anda.
Dibawah ini adalah tampilan halaman dashboard toko online yang sudah jadi.


  1. Sebelum masuk ke halaman admin, maka harus merubah nama folder admin yang berada di direktori C:\xampp1\htdocs\prestashop, atau sesuaikan nama file prestashop dengan nama folder yang dibuat sebelumnya. Setelah itu rubah nama folder admin jadi nama apa saja, yang penting tidak mudah ditebak orang lain agar aman. Disini saya memakai nama folder pabos sebagai ganti nama folder admin. Kemudian hapus folder install, karena jika tidak dihapus akan muncul error seperti pada gambar dibawah ini.

  1. Setelah step 14 selesai, selanjutnya coba refresh halaman browser tadi. Jika sudah sesuai intruksi maka tampilannya akan seperti gambar dibawah ini.
Kemudian masukan email dan password yang telah dibuat pada saat proses instalasi. Kemudian klik LOGIN.

  1. Dibawah ini adalah tampilan dashboard dari halaman administrator.

Pada halaman admin ini kita bisa mengkonfigurasi kebutuhan toko online kita sesuai kebutuhan.
Sampai disini proses instalasi Prestashop versi 1.7 telah selesai. Dan selamat berkreasi. :)
Salah dan kurangnya mohon maaf dan jika ada pertanyaan silahkan tinggalkan komentar dengan baik dan bijak. Terimakasih

Tuesday, January 7, 2020

Membuat Aplikasi Toko Baju Online Sederhana Dari Blog menjadi Aplikasi Android

Assalamualaikum wr.wb
Salam sejahtera bagi kita semua, pada kesempatan kali ini saya akan menunjukan hasil project aplikasi android sederhana saya, yang saya beri nama " Aplikasi Online Shop Sederhana". Dalam rangka memenuhi nilai Ujian Akhir Semester mata kuliah Mobile Programming STMIK Eresha.
Baiklah, tanpa berlama-lama langsung ke prosedurnya.

1. Deskripsi Project

Project ini yaitu berupa aplikasi online shop pakaian berbasis android dengan menggunakan web view dan database SQLite sebagai penyimpanan data dari akun yang akan masuk ke aplikasi atau yang akan mendaft akun login. Dimana Form utama dari aplikasi ini yaitu web atau blog dari online shop pakaian milik saya dan team yaitu "STARTUP". Yang nantinya akan muncul apabila telah berhasil login.

2. Bukti Foto Lembar Jawaban mengikuti kegiatan Ujian Tatap Muka di Kampus

B. Pembasan dan Program Aplikasi

Disini saya menggunakan android studio sebagai software pembuatan aplikasi nya.
Saya anggap disini kita sudah buka android studionya dan sudah membuat project baru nya ya.
Dibawah ini langkah-langkah pembuatannya

1.Membuat  activity_login.xml

screen shoot desain form login

SOURCE CODE - activity_login.xml :

<?xml version="1.0" encoding="utf-8"?><LinearLayout 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:id="@+id/container"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@drawable/bg"    android:gravity="center_horizontal"    android:orientation="vertical"    tools:context="com.ikwan.loginregister.LoginActivity">

    <ImageView        android:layout_width="wrap_content"        android:layout_height="127dp"        android:layout_marginTop="50dp"        app:srcCompat="@drawable/logo" />

    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:foreground="@android:color/transparent"        android:gravity="center_horizontal"        android:orientation="vertical">

        <EditText            android:id="@+id/edittext_username"            android:layout_width="190dp"            android:layout_height="40dp"            android:layout_marginTop="10dp"            android:background="#ffffff"            android:drawableLeft="@drawable/username"            android:hint="Nama Pengguna"            android:paddingLeft="2dp" />

        <EditText            android:id="@+id/edittext_password"            android:layout_width="190dp"            android:layout_height="40dp"            android:layout_marginTop="20dp"            android:background="#ffffff"            android:drawableLeft="@drawable/password"            android:hint="Kata Sandi"            android:inputType="textPassword" />
    </LinearLayout>

    <Button        android:id="@+id/button_login"        android:layout_width="190dp"        android:layout_height="40dp"        android:layout_marginTop="20dp"        android:background="#04ea00"        android:text="MASUK"        android:textColor="#ffffff" />

    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="10dp"        android:orientation="horizontal">

        <TextView            android:layout_width="wrap_content"            android:layout_height="35dp"            android:background="@android:color/holo_orange_light"            android:text="Belum Punya Akun ?"            android:textColor="@color/colorPrimary" />

        <TextView            android:id="@+id/textview_register"            android:layout_width="wrap_content"            android:layout_height="35dp"            android:background="@android:color/holo_green_light"            android:paddingLeft="10dp"            android:text="DAFTAR"            android:textColor="@color/colorPrimary"            android:textStyle="bold" />

    </LinearLayout>

</LinearLayout>


2. activity_register.xml :
screen shoot desain form register / pendaftaran akun

SOURCE CODE - activity_register.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout 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"    android:background="@drawable/bg"    android:orientation="vertical"    android:gravity="center_horizontal"    tools:context="com.ikwan.loginregister.RegisterActivity">

    <ImageView        android:layout_width="wrap_content"        android:layout_height="127dp"        android:layout_marginTop="50dp"        app:srcCompat="@drawable/logo"/>

    <EditText        android:id="@+id/edittext_username"        android:layout_width="206dp"        android:layout_height="40dp"        android:layout_marginTop="10dp"        android:background="#ffffff"        android:drawableLeft="@drawable/username"        android:hint="Nama Pengguna"        android:paddingLeft="2dp" />

    <EditText        android:id="@+id/edittext_password"        android:layout_width="206dp"        android:layout_height="40dp"        android:layout_marginTop="20dp"        android:background="#ffffff"        android:drawableLeft="@drawable/password"        android:hint="Kata Sandi"        android:inputType="textPassword" />
        android:hint="@string/password"/>

    <EditText        android:id="@+id/edittext_cnf_password"        android:layout_width="206dp"        android:layout_height="40dp"        android:layout_marginTop="20dp"        android:background="#ffffff"        android:drawableLeft="@drawable/password"        android:hint="Konfirmasi Kata Sandi"        android:inputType="textPassword" />
        android:hint="@string/confirm_password"/>

    <Button        android:id="@+id/button_register"        android:layout_width="206dp"        android:layout_height="40dp"        android:layout_marginTop="20dp"        android:background="#04ea00"        android:text="DAFTAR"        android:textColor="#ffffff" />

    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="horizontal"        android:layout_marginTop="10dp">

        <TextView            android:layout_width="wrap_content"            android:layout_height="35dp"            android:background="@android:color/holo_orange_dark"            android:text="Sudah Punya Akun ?"            android:textColor="@color/colorPrimary" />

        <TextView            android:id="@+id/textview_login"            android:layout_width="wrap_content"            android:layout_height="35dp"            android:background="@android:color/holo_green_light"            android:paddingLeft="10dp"            android:text="MASUK"            android:textColor="@android:color/background_light"            android:textSize="16sp"            android:textStyle="bold" />

    </LinearLayout>

</LinearLayout>


3. web_activity.xml :
screen shoot desain form utama dengan web view

SOURCE CODE - 
web_activity.xml 
<?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"    tools:context=".WebActivity">


    <WebView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_alignParentTop="true"        android:layout_alignParentLeft="true"        android:layout_alignParentStart="true"        android:id="@+id/webView"
        />

    <ProgressBar        style="?android:attr/progressBarStyle"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:layout_marginTop="110dp"        android:id="@+id/progressBar2"        />

</RelativeLayout>

3. progress_bar.xml :
screen shoot desain progres bar / tampilan sat menunggu web terbuka

SOURCE CODE - progress_bar.xml :
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/relativeLayout"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#00060606">

    <ProgressBar        android:id="@+id/progressBar1"        android:layout_width="60dp"        android:layout_height="60dp"        android:layout_centerInParent="true"        android:indeterminateDrawable="@drawable/logo"        />

</RelativeLayout>

Selanjutnya menambahkan permission internet  seperti ini <uses-permission android:name="android.permission.INTERNET"/> pada file manifest agar aplikasi bisa terhubung ke internet 

3. manifest.xml :


<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.ikwan.loginregister">
    <uses-permission android:name="android.permission.INTERNET"/>
    <application        android:usesCleartextTraffic="true"        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="UAS IKWAN 161021450062"        android:roundIcon="@mipmap/ic_launcher_round"        android:supportsRtl="true"        android:theme="@style/AppTheme">
        <activity android:name=".WebActivity" />
        <activity android:name=".RegisterActivity" />
        <activity android:name=".LoginActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Setelah semua file xml telah dibuat, maka selanjutnya membuat file activity java nya.

1. LoginActivity.java :
screen shoot source code login.java

SOURCE CODE 
LoginActivity.java
package com.ikwan.loginregister;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class LoginActivity extends AppCompatActivity {
    EditText mTextUsername;
    EditText mTextPassword;
    Button mButtonLogin;
    TextView mTextViewRegister;
    DatabaseHelper db;
    ViewGroup progressView;
    protected boolean isProgressShowing = false;

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



        db = new DatabaseHelper(this);
        mTextUsername = (EditText)findViewById(R.id.edittext_username);
        mTextPassword = (EditText)findViewById(R.id.edittext_password);
        mButtonLogin = (Button)findViewById(R.id.button_login);
        mTextViewRegister = (TextView)findViewById(R.id.textview_register);
        mTextViewRegister.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {
                Intent registerIntent = new Intent(LoginActivity.this,RegisterActivity.class);
                startActivity(registerIntent);
            }
        });

        mButtonLogin.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {
                String user = mTextUsername.getText().toString().trim();
                String pwd = mTextPassword.getText().toString().trim();
                Boolean res = db.checkUser(user, pwd);
                if(res == true)
                {
                    Intent HomePage = new Intent(LoginActivity.this,MyEresha.class);
                    startActivity(HomePage);

                }
                else                {
                    Toast.makeText(LoginActivity.this,"Login Error",Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

    public void showProgressingView() {

        if (!isProgressShowing) {
            View view=findViewById(R.id.progressBar1);
            view.bringToFront();
        }
    }

    public void hideProgressingView() {
        View v = this.findViewById(android.R.id.content).getRootView();
        ViewGroup viewGroup = (ViewGroup) v;
        viewGroup.removeView(progressView);
        isProgressShowing = false;
    }
}

2. RegisterActivity.java
screen shoot source code register.java
SOURCE CODE - RegisterActivity.java
package com.ikwan.loginregister;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class RegisterActivity extends AppCompatActivity {
    DatabaseHelper db;
    EditText mTextUsername;
    EditText mTextPassword;
    EditText mTextCnfPassword;
    Button mButtonRegister;
    TextView mTextViewLogin;

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

        db = new DatabaseHelper(this);
        mTextUsername = (EditText)findViewById(R.id.edittext_username);
        mTextPassword = (EditText)findViewById(R.id.edittext_password);
        mTextCnfPassword = (EditText)findViewById(R.id.edittext_cnf_password);
        mButtonRegister = (Button)findViewById(R.id.button_register);
        mTextViewLogin = (TextView)findViewById(R.id.textview_login);
        mTextViewLogin.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {
                Intent LoginIntent = new Intent(RegisterActivity.this,LoginActivity.class);
                startActivity(LoginIntent);
            }
        });

        mButtonRegister.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {
                String user = mTextUsername.getText().toString().trim();
                String pwd = mTextPassword.getText().toString().trim();
                String cnf_pwd = mTextCnfPassword.getText().toString().trim();

                if(pwd.equals(cnf_pwd)){
                    long val = db.addUser(user,pwd);
                    if(val > 0){
                        Toast.makeText(RegisterActivity.this,"You have registered",Toast.LENGTH_SHORT).show();
                        Intent moveToLogin = new Intent(RegisterActivity.this,LoginActivity.class);
                        startActivity(moveToLogin);
                    }
                    else{
                        Toast.makeText(RegisterActivity.this,"Registeration Error",Toast.LENGTH_SHORT).show();
                    }

                }
                else{
                    Toast.makeText(RegisterActivity.this,"Password is not matching",Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

Kemudian kita buat DatabaseHelper sebagai penghubung sekaligus membuat database yang akan di pakai oleh aplikasi ini.

3. DatabaseHelper.java :
package com.ikwan.loginregister;
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 ="register.db";
    public static final String TABLE_NAME ="registeruser";
    public static final String COL_1 ="ID";
    public static final String COL_2 ="username";
    public static final String COL_3 ="password";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);
    }

    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL("CREATE TABLE registeruser (ID INTEGER PRIMARY  KEY AUTOINCREMENT, username TEXT, password TEXT)");
    }

    @Override    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        sqLiteDatabase.execSQL(" DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(sqLiteDatabase);
    }

    public long addUser(String user, String password){
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put("username",user);
        contentValues.put("password",password);
        long res = db.insert("registeruser",null,contentValues);
        db.close();
        return  res;
    }

    public boolean checkUser(String username, String password){
        String[] columns = { COL_1 };
        SQLiteDatabase db = getReadableDatabase();
        String selection = COL_2 + "=?" + " and " + COL_3 + "=?";
        String[] selectionArgs = { username, password };
        Cursor cursor = db.query(TABLE_NAME,columns,selection,selectionArgs,null,null,null);
        int count = cursor.getCount();
        cursor.close();
        db.close();

        if(count>0)
            return  true;
        else            return  false;
    }
}

Selanjutnya buat activity baru dengan nama WebActivity, dimana activity ini akan ditambahkan menu web view yang nantinya akan menampilkan halaman web dari toko baju "STARTUP"..

4. WebActivity.java :
screen shoot source code web.java

SOURCE CODE - WebActivity.java

package com.ikwan.loginregister;

import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;

public class WebActivity extends AppCompatActivity {
    WebView webView;
    ProgressBar bar;


    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.web_activity);
        webView = (WebView) findViewById(R.id.webView);
        bar=(ProgressBar) findViewById(R.id.progressBar2);
        webView.setWebViewClient(new myWebclient());
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("https://startup-store.blogspot.com/");


    }

    public class myWebclient extends WebViewClient{
        @Override        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            bar.setVisibility(View.GONE);
        }

        @Override        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }

        @Override        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return super.shouldOverrideUrlLoading(view, url);
        }
    }

    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if((keyCode==KeyEvent.KEYCODE_BACK) && webView.canGoBack()){
            webView.goBack();
            return true;
        }

        return super.onKeyDown(keyCode, event);
    }
}
Setelah semua selesai maka coba Run aplikasi nya, jika tidak terdapat error maka tampilannya akan seperti hasil screen shoot dibawah ini, dengan langsung diinstall ke HP android :

TAMPILAN FORM LOGIN


TAMPILAN FORM REGISTER


LOGIN DENGAN AKUN BELUM TERDAFTAR


FORM REGISTER JIKA MEMASUKAN KONFIRMASI KATA SANDI YANG TIDAK SAMA

JIKA BERHASIL MENDAFTAR

SETELAH BERHASIL LOGIN DAN MENGGU TAMPILAN WEB

TAMPILAN WEB UTAMA TOKO BAJU "STARTUP"
Agar lebih jelas melihat penggunaan aplikasi ini silahkan tonton video berikut ini :


Untuk icon-icon di desain aplikasinya bisa disesuaikan dengan keinginan dan kebutahan masing-masing.
Sekian rangkaian pembuatan Aplikasi Toko Baju Online ini telah selesai. Kurang dan salahnya mohon dimaafkan. Terimakasih telah mampir di blog sederhana ini.
Wassalamuaikum wr.wb
Sampai jumpa di project-projetc berikutnya.