Parsing Data – Dari Activity Ke Fragment

STEP 1 : Membuat Project

  • Buatlah project seperti biasa “File -> New -> New Project”
  • Disini saya memakai “Basic Activity”

STEP 2 : Menambahkan Build.Gradle

  • Buka file “build.gradle” di “Gradle Script->build.gradle”
  • Tambahkan source berikut
  • Kita akan menggunakan CardView dalam Fragment kita.
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:24.2.1'
        compile 'com.android.support:design:24.2.1'
        compile 'com.android.support:support-v4:24.2.1'
        compile 'com.android.support:cardview-v7:24.2.1'
    }

     STEP 3 : Membuat Fragment

  • Disini kita akan menerima data yang dikirimkan oleh “Mainactivity.java” dan data tersebut muncul di dalam Fragment kita
  • Dan kita juga akan mengisi method dari “OnCreateView()”
  • import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.TextView;
    /**
     * A simple {@link Fragment} subclass.
     */
    public class MyFragment extends Fragment {
        private TextView nameFragTxt,yearFragTxt;
        public MyFragment() {
            // Required empty public constructor
        }
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            View rootView=inflater.inflate(R.layout.fragment_my, container, false);
            nameFragTxt= (TextView) rootView.findViewById(R.id.nameTxt);
            yearFragTxt= (TextView) rootView.findViewById(R.id.yearTxt);
            String name=this.getArguments().getString("NAME_KEY").toString();
            int year=this.getArguments().getInt("YEAR_KEY");
           nameFragTxt.setText("NAME : "+name);
           yearFragTxt.setText("YEAR : "+String.valueOf(year));
            return rootView;
        }
    }

    STEP 4 : MainActivity

  • Ketika user mengklik Floating button action maka data akan dibungkus oleh si bundle tersebut
  • Ketika  Fragment bertransaksi, otomatis  FrameLayout meReplace  dengan Frgament tersebut
  • Bundle akan mengirimkan ke Fragment kita
    import android.os.Bundle;
    import android.support.design.widget.FloatingActionButton;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.EditText;
    import android.widget.Spinner;
    public class MainActivity extends AppCompatActivity {
        private EditText nameTxt;
        private Spinner launchYearSpinner;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
            //INITIALIZE VIEWS
            nameTxt = (EditText) findViewById(R.id.nameEditTxt);
            launchYearSpinner = (Spinner) findViewById(R.id.sp);
            fillYears();
            FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
            fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    sendData();
                }
            });
        }
        /*
        SEND DATA TO FRAGMENT
         */
        private void sendData() {
            //PACK DATA IN A BUNDLE
            Bundle bundle = new Bundle();
            bundle.putString("NAME_KEY", nameTxt.getText().toString());
            bundle.putInt("YEAR_KEY", Integer.valueOf(launchYearSpinner.getSelectedItem().toString()));
            //PASS OVER THE BUNDLE TO OUR FRAGMENT
            MyFragment myFragment = new MyFragment();
            myFragment.setArguments(bundle);
            nameTxt.setText("");
            launchYearSpinner.setSelection(0);
            //THEN NOW SHOW OUR FRAGMENT
            getSupportFragmentManager().beginTransaction().replace(R.id.container,myFragment).commit();
        }
        /*
        FILL YEARS IN OUR SPINNER
         */
        private void fillYears() {
            ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1);
            adapter.add("2017");
            adapter.add("2018");
            adapter.add("2019");
            adapter.add("2020");
            adapter.add("2021");
            adapter.add("2022");
            //SET ADAPTER INSTANCE TO OUR SPINNER
            launchYearSpinner.setAdapter(adapter);
        }
    }

    STEP 5 : ContentMain.xml

    <?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"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:context="net.pacul.MainActivity"
        tools:showIn="@layout/activity_main">
        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:layout_height="match_parent">
            <android.support.design.widget.TextInputLayout
                android:id="@+id/nameLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <EditText
                    android:id="@+id/nameEditTxt"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:singleLine="true"
                    android:hint= "Name" />
            </android.support.design.widget.TextInputLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="horizontal"
            android:layout_height="wrap_content">
            <TextView
                android:text="LAUNCH YEAR : "
                android:textColor="@color/colorAccent"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <Spinner
                android:id="@+id/sp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                />
            </LinearLayout>
            <FrameLayout
                android:id="@+id/container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
            </FrameLayout>
        </LinearLayout>
    </RelativeLayout>

    STEP 6 : Fragment.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="net.pacul.MyFragment">
        <android.support.v7.widget.CardView
            android:orientation="horizontal"
            android:layout_width="match_parent"
            xmlns:card_view="http://schemas.android.com/apk/res-auto"
            android:layout_margin="5dp"
            card_view:cardCornerRadius="10dp"
            card_view:cardElevation="5dp"
            android:layout_height="300dp">
            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceLarge"
                    android:text="FRAGMENT ONE"
                    android:id="@+id/fragTitle"
                    android:textStyle="bold"
                    android:textColor="@color/colorAccent"
                    android:layout_gravity="center_horizontal"
                    android:padding="5dp"
                     />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceLarge"
                    android:text="Name"
                    android:id="@+id/nameTxt"
                    android:padding="5dp"
                    />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceLarge"
                    android:text="Year"
                    android:id="@+id/yearTxt"
                    android:padding="5dp"
                    />
            </LinearLayout>
        </android.support.v7.widget.CardView>
    </RelativeLayout>

     

  • Selanjutnya Run, Hasilnya

Parsing Data dari Satu activity ke activity lainnya

  • Buka android studio nya
  • Buat activity baru yang terdiri dari file “.java” dan file “.xml”

Pada folder java ata res kalian bisa klik kanan pilih New, Pilih Activity ,lalu Empty Activity.

Pada bagian New Android Activity kalian isikin nama activity atau file java dan nama file layout (Terserah kalian ). Sebagai contoh saya akan membuat file class Activity dengan nama MainActivity2.java dan activity_main2.xml

  • Jika sudah isi data pada  “file res/values/strings.xml”

  • Setelah itu salin baris intruksi (codingan ) dibawah, untuk “activity_main.xml”  :

  • Salin untuk “Mainactivity.java” nya di bawah ini :

  • Setelah itu salin baris intruksi (codingan ) dibawah, untuk “activity_main2.xml” :

  • Salin untuk “Mainactivity2.java” nya di bawah ini :

Berikut Demo nya setelah di Run ::

Membuat Crud Sederahana Framework Laravel

Assalamualaikum disini saya akan memberikan tutorial bagaimana cara membuat Crud Sederahana Laravel, langsung saja ke tutorial nya

  • Harus sudah ada framework laravel pastinya, jika belum install Klik Disini
  • Membuat database dengan nama “crud_prakerin”
  • Ubah pada projek kalian di file”.env” menjadi

  • Jika sudah mari kita melakukan membuat migrate database dengan cara

  • Maka otomatis akan ada file user pada folder “Database”
  • Ubahlah isi file “2017_08_15_115847_user.php” yang ada didalam folder database menjadi

  • Jika sudah mari lakukan migrate lagi sehingga field field yang kita isi tadi otomatis berada di dalam table kita

  • Lanjut ke pembuatan model dengan cara

  • Menambahkan Routes dengan cara

  • Error ? karena kita belum membuat Controller, mari membuat controller dengan cara

  • Lalu cek pada command powershell “php artisan route:list” maka akan muncul sebagai berikut

  • Menambahkan isi dari file model yang kita buat tadi yang berada di folder “App” dengan nama “Pengguna.php”

  • Lanjut ke intinya yaitu membuat CRUD nya, dimulai dari pembuatan View terlebih dahulu dengan cara membuat file di folder view dengan nama “layout.blade.php”

  • Buatlah folder bernama “user” dan isi dengan file bernama “daftar_user.blade.php” untuk melihat data apa saja yang ada

  • Lanjut ke pembuatan view untuk membuat user baru dengan nama “buat_work.blade.php”

  • Jika sudah, lanjut ke pembuatan “detail_tugas.blade.php” guna melihat detail si data tersebut

  • Pembuatan view terakhir adalah “edit_tugas.blade.php” untuk mengubah data tersebut/ mengupdate nya

  • Langkah terakhir kalian tambahkan kodingan di bawah ini ke dalam “UserController.php”

Berikut Demo nya setelah di Run

Sekian tutorial dari saya Wassalamualaikum

Laravel 5

Assalamualaikum disini saya akan memberikan tutorial cara menginstall Framework Laravel

Sebelum menginstall laravel mari kita ketahui Laravel itu apa sih ?

Laravel adalah sebuah framework PHP yang paling populer di kalangan programmer web. Laravel dibangun dengan beberapa komponen dari framework Symfony yang terkenal itu, sehingga memiliki landasan yang kuat dengan kode teruji dan handal.

Bahan yang wajib di download adalah

Jika composer sudah di download maka kita lanjut ke proses penginstalan

  • Buka CMD arahkan directory CMD ke “xampp/htdocs”
  • Ketikkan source ini ke CMD nya


berikut ini adalah beberapa depedency yang dibutuhkan laravel 5 ketika instalasi, tapi tenang kara composer akan mendownload semua depedency ini secara otomatis ketika anda menginstall laravel 5

  • Jika semua sudah di lakukan, Maka kita akan mencoba mengakses project tersebut
  • Pertama, buka CMD, arahkan direktori CMD ke Nama Projek Mu
  • Lalu Tuliskan perintah ini “php artisan serve”
  • Maka akan muncul seperti ini “Laravel development server started on http://localhost:8000/”
  • Buka web browser anda dengan mengetikkan localhost:8080
  • Maka akan muncul seperti ini
  • Selamat Framework Laravel anda sudah bisa di akses
  • Sekarang kita akan menambahkan URl / ROUTES dan mengganti Tulisan “Laravel 5” Menjadi Hello World
  • Pertama Kalian Menuju ke folder Resources -> Views
  • Lalu Buat file baru di direktori tersebut dengan nama “hallo.blade.php”
  • Berikut Source Kode nya
  • Kemudian Kalian Menuju folder app->Http->routes.php
  • Tambahkan kode berikut
  • Jika Sudah kalian bisa mengakses dengan cara localhost:8080/hallo
  • Maka akan muncul seperti ini
  • Taraaa, Selesai sudah menambahkan routes dan mengubah menjadi Hello World

Sekian Tutorial dari saya untuk Framework Laravel  5 ini, kurang lebihnya mohon maaf disini Agung Prabowo

Wassalamualaikum…….. 🙂

Pengkapsulan OOP

A.Pengertian
Enkapsulasi (encapsulation) adalah sebuah metoda untuk mengatur struktur
class dengan cara menyembunyikan alur kerja dari class tersebut. Struktur class yang dimaksud adalah property dan method. Dengan enkapsulasi,
kita bisamembuat pembatasan akses kepada property dan method, sehinggahanya
property dan method tertentu saja yang bisa diakses dari luar class. Enkapsulasi
juga dikenal dengan istilah ‘information hiding’. Dengan enkapsulasi, kita bisa memilih property dan method apa saja yang boleh
diakses, dan mana yang tidak boleh diakses. Dengan menghalangi kode program
lain untuk mengubah property tertentu, class menjadi lebih terintegrasi, dan
menghindari kesalahan ketika seseorang ‘mencoba’ mengubahnya. Programmer yang
merancang class bisa menyediakan property dan method khusus yang memang
ditujukan untuk diakses dari
luar.

B. Access Modifier
Untuk membatasi hak akses kepada property dan method di dalam sebuah class, ObjekOriented Programming menyediakan 3 kata kunci, yakni Public, Protected dan Private. Kata kunci ini diletakkan sebelum nama property atau sebelum nama method.

1. Public
Ketika sebuah property atau method dinyatakan sebagai public, maka seluruh kodeprogram di luar class bisa mengaksesnya, termasuk class turunan. Berikut adalah contohpenulisan public property dan public method dalam PHP.

2. Protected
Jika sebuah property atau method dinyatakan sebagai protected, berarti property atau method tersebut tidak bisa diakses dari luar class, namun bisa diakses oleh class itu sendiri atau turunan class tersebut.
Apabila kita mencoba mengakses protected property atau protected method dari luar class, akan menghasilkan error, seperti contoh berikut ini:

Dalam contoh diatas, pemanggilan property $pemilik dan method hidupkan_laptop() dariluar class akan menghasilkan error. Walaupun akses level protected tidak bisa diakses dariluar class, namun bisa diakses dari dalam class itu sendiri.

3. Private
Hak akses terakhir dalam konsep enkapsulasi adalah private. Jikasebuah property atau method di-set sebagai private, maka satu-satunya yang bisa mengakses adalah class itu sendiri. Class lain tidak bisa mengaksesnya, termasuk class turunan. Akses level private sering digunakan untuk menyembunyikan property dan method agar tidak bisa diakses di luar class.

Sebagai contoh, berikut adalah hasil yang di dapat jika kita mengakses property dan method dengan level private:

Tutorial Membuat API dengan JWT dan Codeigniter

Pengertian API (Application Programming Interface)

Antarmuka pemrograman aplikasi (Application Programming Interface/API) adalah sekumpulan perintah, fungsi, dan protocol yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk system operasi tertentu. API memungkinkan programmer untuk menggunakan fungsi standar untuk berinteraksi dengan system operasi.

Membuat Database

Tutorial Membuat REST API dengan Codeigniter dan JWT

Download semua yang diperlukan
· Framework Codeigniter 3.1.5 (https://codeigniter.com/download)
· Library PHP-JWT  (https://github.com/firebase/php-jwt)
· Library REST Server (https://github.com/chriskacerguis/codeigniter-restserver)

1. Buka controller , buat file baru namanya ‘Api.php’ , dan jangan pedulikan controller bawaan yang telah kita download tadi.

2.Lalu buat model dengan nama M_api.php

3.Percobaan untuk mendapatkan token

pertama buat data dumping pada user , kedua masukan username dan password pada postman untuk mendapatkan data json dan token , dan ketiga coba.

Dan kita mendapatkan token nya, Sekian Dari Postingan Saya kurang lebih nya maaf Terima Kasih

 

Data Manipulation Language

DML (Data Manipulation Language) berfungsi untuk memanipulasi database seperti: menambah data, merubah/mengganti data dan menghapus data. Perintah pda DML tidak terkait dengan struktur dan metadata dari obyek yang berada pada tabel database

1. Menambah Data
Syntax Nya :

Insert into <nama_tab>
[(field….)] values (data…..)
Contoh Nya :

njaypng

2. Menampilkan Data

Syntax Nya :

Select*from <nama_table>
Contoh Nya :

screenshot_5png

3. Mengubah Data
Syntax nya : Update <nama_tab>set <field>=<data>
[,<field>=<data>,…..] where <kondisi>
Contoh Nya :

screenshot_6png

4. Menghapus Data
Syntax Nya : Delete <nama_tab> where <kodisi>

Contoh Nya :

screenshot_7png
  • Commit -> Untuk
    menyimpan
    perubahan
    data ke
    table
  • Rollback -> Untuk
    membatalkan
    perubahan
    data

Langsung Kita Praktekan Saja

    1. Buatlah Database bernama db_latihan
    2. Jika sudah copy kan sql dibawah ini melalui command

  1. Sekarang kita implementasikan semua perintah yang sudah di jelaskan di atas

Pertama, kita akan mencoba perintah DML UPDATE (data sudah ada) . Kita akan coba merubah alamat dari PT Adi Sarana yang terdapat pada table costumer dengan syntax

Kedua,

kita akan mencoba perintah DML INSERT (data sudah ada) . Kita akan coba menambah tanggal lahir Joko Subagyo pada table employees dengan syntax

Ketiga, 

kita akan mencoba perintah DML DELETE (data sudah ada) . Kita akan coba menghapus data no telpon dari Tokyo Traders pada table suppliers dengan syntax
Terakhir,

kita akan mencoba perintah DML UPDATE (data sudah ada) . Kita akan coba merubah discount pada table order detail dengan syntax

Relasi Nya Seperti Ini :

screenshot_10png

Mengenal Elemen Android Studio

Assalamualaikum
Disini saya ingin memberi sedikit membahas elemen UI android studio
Dimulai Dari Layout Android Studio

  • LinearLayout
  • LinearLayout adalah
    sekelompok tampilan yang menyejajarkan semua anak dalam satu arah, secara
    vertikal atau horizontal. Anda bisa menetapkan arah layout dengan atribut”android:orientation”
linearlayout_1png

Semua anak LinearLayout akan ditumpuk satu sama lain, jadi daftar
vertikal hanya akan memiliki satu anak per baris, seberapa pun lebarnya, dan
daftar horizontal hanya akan setinggi satu baris (tinggi anak yang tertinggi,
ditambah pengisi). LinearLayout akan mengikuti margin antara anak dan gravity
(sejajar kanan, tengah, atau kiri) setiap anak. Contoh program :

Output Nya Dengan Orientasi Yang Berbeda

horipng            screenshot_1png

  • RelativeLayout
  • RelativeLayout
    adalah turunan ViewGrup. Sesuai namanya, tiap elemen UI dalam RelativeLayout
    akan disusun relative terhadap container atau terhadap elemen UI yang lain.

screenshot_2png

Posisi relative
terhadap container. Elemen UI dapat diatur supaya diletakkan diposisi tertentu,
relative terhadap container dengan atribut berikut:

  • android:layout_alignParentTop : nilai true berarti elemen UI diletakkna
    rata terhadap sisi atas Relative-Layout. Jika tidak ada atribut yang mengatur
    peletakkan elemen UI secara vertical maka elemen UI diletakkan rata atas
  • android:layout_alignParentLeft
    : nilai true berarti elemen UI diletakkna rata terhadap sisi kiri
    Relative-Layout. Jika tidak ada atribut yang mengatur peletakkan elemen UI
    secara horizontal maka elemen UI diletakkan rata kiri
  • android:layout_alignParentRight
    : nilai true berarti elemen UI diletakkan rata sisi kanan RelativeLayout
  • android:layout_alignParentBotton
    : nilai true berarti elemen UI diletakkan rata sisi bavah RelativeLayout
  • android:layout_centerHorizontal
    : nilai true berarti elemen UI diletakkan tepat di tengah relative terhadap
    lebar RelativeLayout
  • android:layout_centerVertical
    : nilai true berarti elemen UI diletakkan tepat di tengah relative terhadap
    tinggi RelativeLayout
  • android:layout_centerParent
    : nilai true berarti elemen UI diletakkan tepat di tengah relative terhadap
    tinggi dan lebar RelativeLayout. Atribut ini juga menggunakan kombinasi
    android:layout_centerHorizontal dan android:layout_centerVertical.

Output Nya :

screenshot_3png

 

  • Table Layout
  • TableLayout pada layout.xml terdiri dari baris dan kolom seperti yang ada pada tag table HTML.Disini saya akan membuat tampilan yang terdiri dari widget editText,TextView dan Button. Dan juga sebelumnya kita bisa membuat rancanganya terlebih dahulu.

 Seperti gambar berikut

Rancangan Table Layout

Buat Layout XML nya Sebagai berikut :
Berikut Adalah Hasilnya

screenshot_4png