Showing posts with label Belajar java netbeans. Show all posts
Showing posts with label Belajar java netbeans. Show all posts
Membuat Slider Keren Menggunakan Android Studio

Membuat Slider Keren Menggunakan Android Studio


Membuat Slider Keren Menggunakan

Android Studio


Tutorial telah diperbaharui dengan menambahkan dimens.xml 
Tutorial kali ini kita akan membuat intro slider menggunakan android studio. Intro Slider nantinya akan menampilkan beberapa slide yang bisa di geser oleh user sebelum masuk ke menu utama pada sebuah aplikasi. 


intro slider
tampilan slider yang akan dibuat

Kita akan menambahkan 2 button lewati dan lanjut, jika ditekan lewati (skip) itu artinya user tidak ingin melihat slider melainkan ingin langsung ke menu utama. Jika ditekan lanjut (next) maka slider akan tampil / menggeser sampai dengan slider terakhir baru akan ditampilkan menu utamanya. 
Langsung saja kita mulai :

1. Buat Project Baru 

  • Buat project baru pada android studio, kemudian pilih empty activity
  • Tambahkan icon pendukung pada drawable yang nantinya akan ditampilkan pada slider

2. Atur Warna 

  • Buka color.xml atur warna background, dan warna lingkaran kecil untuk perpindahan slider. Untuk warnanya bisa  anda sesuaikan sendiri dengan kode-kode warna menggunakan hexadesimal. Kemudian Tambahkan script berikut :
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>

    <!-- Screens background color-->
    <color name="bg_screen1">#800000</color>
    <color name="bg_screen2">#006400</color>
    <color name="bg_screen3">#008B8B</color>
    <color name="bg_screen4">#8A2BE2</color>

    <!-- dots inactive colors -->
    <color name="dot_dark_screen1">#FFFFF0</color>
    <color name="dot_dark_screen2">#FFFFF0</color>
    <color name="dot_dark_screen3">#FFFFF0</color>
    <color name="dot_dark_screen4">#FFFFF0</color>

    <!-- dots active colors -->
    <color name="dot_light_screen1">#A9A9A9</color>
    <color name="dot_light_screen2">#A9A9A9</color>
    <color name="dot_light_screen3">#A9A9A9</color>
    <color name="dot_light_screen4">#A9A9A9</color>

    <array name="array_dot_active">
        <item>@color/dot_light_screen1</item>
        <item>@color/dot_light_screen2</item>
        <item>@color/dot_light_screen3</item>
        <item>@color/dot_light_screen4</item>
    </array>

    <array name="array_dot_inactive">
        <item>@color/dot_dark_screen1</item>
        <item>@color/dot_dark_screen2</item>
        <item>@color/dot_dark_screen3</item>
        <item>@color/dot_dark_screen4</item>
    </array>
</resources>

3. Atur Teks yang akan ditampilkan 

  • Buka string.xml kemudian atur teks yang nantinya akan ditampilkan pada intro slider (teks button, content slider). Adapun script yang saya gunakan yaitu : 
    <resources>
        <string name="app_name">Intro Slider</string>
        <string name="title_activity_welcome">Home Screen</string>
        <string name="next">LANJUT</string>
        <string name="skip">LEWATI</string>
        <string name="start">MULAI</string>
    
        <string name="slide_1_title">KULINER</string>
        <string name="slide_1_desc">Rasakan Berbagai Kuliner yang Akan Memanjakan Lidahmu</string>
    
        <string name="slide_2_title">HOTEL</string>
        <string name="slide_2_desc">Temukan Hotel yang Nyaman Untuk Istirahat Perjalananmu</string>
    
        <string name="slide_3_title">WISATA</string>
        <string name="slide_3_desc">Destinasi Menarik Menantimu. Segera Pilih Destinasi Wisatamu</string>
    
        <string name="slide_4_title">GUIDE</string>
        <string name="slide_4_desc">Cari Guide Untuk Menemani Perjalananmu Agar  semakin asyik </string>
    
    
    </resources>

4. Atur Style dan Margin 

  • Buka Style.xml kemudian tambahkan script berikut : 
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>


Sekarang kita buat file dimens.xml pada direktori/ folder values dengan cara : Klik kanan pada values > New > XML > Values XML Files > Lalu beri nama dimens 
Jika sudah masukan kode-kode dibawah ini pada  dimens.xml   :
<resources>
    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
    <dimen name="fab_margin">16dp</dimen>
    <dimen name="dots_height">30dp</dimen>
    <dimen name="dots_margin_bottom">20dp</dimen>
    <dimen name="img_width_height">120dp</dimen>
    <dimen name="slide_title">30dp</dimen>
    <dimen name="slide_desc">16dp</dimen>
    <dimen name="desc_padding">40dp</dimen>
</resources>

Intro Slider hanya akan tampil satu kali yaitu ketika aplikasi sudah selesai diinstall dan dibuka pertama kali. setelah itu tidak akan tampil lagi. Namun disini kita akan menambahkan tombol pada homescreen agar bisa mengulang slider yang ditampilkan.
Untuk pengaturannya gunakan SharedPreferences (SP)
adalah mekanisme untuk menyimpan pasangan key-value untuk tipe data primitif (integer, double, string, booelan). SP cocok untuk penggunaan data kecil seperti menyimpan setting aplikasi dan informasi mengenai user interface. Data dalam shared preferences disimpan dalam device android dalam bentuk XML. Sumber http://indonesiaberkicau.com/

5. Buat Class baru

Buat kelas baru dengan nama PrefManager.java disinilah pengaturan sharedprefereces ditambahkan dengan script berikut :
package badoystudio.com.introslider;

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


public class PrefManager {
    SharedPreferences pref;
    SharedPreferences.Editor editor;
    Context _context;

    // shared pref mode
    int PRIVATE_MODE = 0;

    // Shared preferences file name
    private static final String PREF_NAME = "introslider";

    private static final String IS_FIRST_TIME_LAUNCH = "IsFirstTimeLaunch";

    public PrefManager(Context context) {
        this._context = context;
        pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
        editor = pref.edit();
    }

    public void setFirstTimeLaunch(boolean isFirstTime) {
        editor.putBoolean(IS_FIRST_TIME_LAUNCH, isFirstTime);
        editor.commit();
    }

    public boolean isFirstTimeLaunch() {
        return pref.getBoolean(IS_FIRST_TIME_LAUNCH, true);
    }

}

6. Buat Slide 

  • Kita akan membuat 4 slide dengan nama layout : slide1, slide2, slide3, slide4. Caranya yaitu klik kanan pada layout -> new -> xml -> pilih empty .
  • Tambahkan script berikut pada slide1.xml  :
<?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:background="@color/bg_screen1">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center_horizontal"
        android:orientation="vertical">

        <ImageView
            android:layout_width="@dimen/img_width_height"
            android:layout_height="@dimen/img_width_height"
            android:src="@drawable/ic_kuliner" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/slide_1_title"
            android:textColor="@android:color/white"
            android:textSize="@dimen/slide_title"
            android:textStyle="bold" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:paddingLeft="@dimen/desc_padding"
            android:paddingRight="@dimen/desc_padding"
            android:text="@string/slide_1_desc"
            android:textAlignment="center"
            android:textColor="@android:color/white"
            android:textSize="@dimen/slide_desc" />

    </LinearLayout>
</RelativeLayout>

  • Pada slide2.xml tambahkan script berikut :
<?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:background="@color/bg_screen2">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center_horizontal"
        android:orientation="vertical">

        <ImageView
            android:layout_width="@dimen/img_width_height"
            android:layout_height="@dimen/img_width_height"
            android:src="@drawable/ic_hotel" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/slide_2_title"
            android:textColor="@android:color/white"
            android:textSize="@dimen/slide_title"
            android:textStyle="bold" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:paddingLeft="@dimen/desc_padding"
            android:paddingRight="@dimen/desc_padding"
            android:text="@string/slide_2_desc"
            android:textAlignment="center"
            android:textColor="@android:color/white"
            android:textSize="@dimen/slide_desc" />

    </LinearLayout>


</RelativeLayout>
  • Slide3.xml tambahkan script berikut :
<?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:background="@color/bg_screen3">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center_horizontal"
        android:orientation="vertical">

        <ImageView
            android:layout_width="@dimen/img_width_height"
            android:layout_height="@dimen/img_width_height"
            android:src="@drawable/ic_wisata" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/slide_3_title"
            android:textColor="@android:color/white"
            android:textSize="@dimen/slide_title"
            android:textStyle="bold" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:paddingLeft="@dimen/desc_padding"
            android:paddingRight="@dimen/desc_padding"
            android:text="@string/slide_3_desc"
            android:textAlignment="center"
            android:textColor="@android:color/white"
            android:textSize="@dimen/slide_desc" />

    </LinearLayout>

</RelativeLayout>
  • Tambahkan pula pada slide4.xml script berikut :
<?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:background="@color/bg_screen4">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center_horizontal"
        android:orientation="vertical">

        <ImageView
            android:layout_width="@dimen/img_width_height"
            android:layout_height="@dimen/img_width_height"
            android:src="@drawable/ic_guide" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/slide_4_title"
            android:textColor="@android:color/white"
            android:textSize="@dimen/slide_title"
            android:textStyle="bold" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:paddingLeft="@dimen/desc_padding"
            android:paddingRight="@dimen/desc_padding"
            android:text="@string/slide_4_desc"
            android:textAlignment="center"
            android:textColor="@android:color/white"
            android:textSize="@dimen/slide_desc" />

    </LinearLayout>

</RelativeLayout>

7. Buat Activity Baru 

Buat baru dengan nama WelcomeActivity.java dengan cara klik kanan pada package  -> New ->Activity -> Empty Activity .

8. Atur Activity 

Pada activity_welcome.xml tambahkan script untuk memodifikasi tombol lanjut dan lewati juga lingkarang kecil yang tampil pada slider yaitu sebagai berikut :
<?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"
    tools:showIn="@layout/activity_welcome">


    <android.support.v4.view.ViewPager
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <LinearLayout
        android:id="@+id/layoutDots"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dots_height"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="@dimen/dots_margin_bottom"
        android:gravity="center"
        android:orientation="horizontal"></LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:alpha=".5"
        android:layout_above="@id/layoutDots"
        android:background="@android:color/white" />

    <Button
        android:id="@+id/btn_next"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@null"
        android:text="@string/next"
        android:textColor="@android:color/white" />

    <Button
        android:id="@+id/btn_skip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="@null"
        android:text="@string/skip"
        android:textColor="@android:color/white" />

</RelativeLayout>

9. Buka WelcomeActivity.java 

Buka WelcomeActivity.java tambahkan script berikut :
Disinilah pengaturan slider, event click button, notification bar dimasukan.
package badoystudio.com.introslider;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

public class WelcomeActivity extends AppCompatActivity {

    private ViewPager viewPager;
    private MyViewPagerAdapter myViewPagerAdapter;
    private LinearLayout dotsLayout;
    private TextView[] dots;
    private int[] layouts;
    private Button btnSkip, btnNext;
    private PrefManager prefManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // mengecek lauch activity - sebelum memanggil setContentView()
        prefManager = new PrefManager(this);
        if (!prefManager.isFirstTimeLaunch()) {
            launchHomeScreen();
            finish();
        }

        // membuat transparan notifikasi
        if (Build.VERSION.SDK_INT >= 21) {
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
        }

        setContentView(R.layout.activity_welcome);

        viewPager = (ViewPager) findViewById(R.id.view_pager);
        dotsLayout = (LinearLayout) findViewById(R.id.layoutDots);
        btnSkip = (Button) findViewById(R.id.btn_skip);
        btnNext = (Button) findViewById(R.id.btn_next);


        // layout xml slide 1 sampai 4
        // add few more layouts if you want
        layouts = new int[]{
                R.layout.slide1,
                R.layout.slide2,
                R.layout.slide3,
                R.layout.slide4};

        // tombol dots (lingkaran kecil perpindahan slide)
        addBottomDots(0);

        // membuat transparan notifikasi
        changeStatusBarColor();

        myViewPagerAdapter = new MyViewPagerAdapter();
        viewPager.setAdapter(myViewPagerAdapter);
        viewPager.addOnPageChangeListener(viewPagerPageChangeListener);

        btnSkip.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                launchHomeScreen();
            }
        });

        btnNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // mengecek page terakhir (slide 4)
                // jika activity home sudah tampil
                int current = getItem(+1);
                if (current < layouts.length) {
                    // move to next screen
                    viewPager.setCurrentItem(current);
                } else {
                    launchHomeScreen();
                }
            }
        });
    }

    private void addBottomDots(int currentPage) {
        dots = new TextView[layouts.length];

        int[] colorsActive = getResources().getIntArray(R.array.array_dot_active);
        int[] colorsInactive = getResources().getIntArray(R.array.array_dot_inactive);

        dotsLayout.removeAllViews();
        for (int i = 0; i < dots.length; i++) {
            dots[i] = new TextView(this);
            dots[i].setText(Html.fromHtml("&#8226;"));
            dots[i].setTextSize(35);
            dots[i].setTextColor(colorsInactive[currentPage]);
            dotsLayout.addView(dots[i]);
        }

        if (dots.length > 0)
            dots[currentPage].setTextColor(colorsActive[currentPage]);
    }

    private int getItem(int i) {
        return viewPager.getCurrentItem() + i;
    }

    private void launchHomeScreen() {
        prefManager.setFirstTimeLaunch(false);
        startActivity(new Intent(WelcomeActivity.this, MainActivity.class));
        finish();
    }

    //  viewpager change listener
    ViewPager.OnPageChangeListener viewPagerPageChangeListener = new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            addBottomDots(position);

            // mengubah button lanjut 'NEXT' / 'GOT IT'
            if (position == layouts.length - 1) {
                // last page. make button text to GOT IT
                btnNext.setText(getString(R.string.start));
                btnSkip.setVisibility(View.GONE);
            } else {
                // still pages are left
                btnNext.setText(getString(R.string.next));
                btnSkip.setVisibility(View.VISIBLE);
            }
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {

        }

        @Override
        public void onPageScrollStateChanged(int arg0) {

        }
    };

    /**
     * Making notification bar transparent
     */
    private void changeStatusBarColor() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            Window window = getWindow();
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.setStatusBarColor(Color.TRANSPARENT);
        }
    }

    /**
     * View pager adapter
     */
    public class MyViewPagerAdapter extends PagerAdapter {
        private LayoutInflater layoutInflater;

        public MyViewPagerAdapter() {
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            View view = layoutInflater.inflate(layouts[position], container, false);
            container.addView(view);

            return view;
        }

        @Override
        public int getCount() {
            return layouts.length;
        }

        @Override
        public boolean isViewFromObject(View view, Object obj) {
            return view == obj;
        }


        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            View view = (View) object;
            container.removeView(view);
        }
    }
}

10. Buka activity_main.xml

Buka activity_main.xml tambahkan script untuk membuat tombol mengulang slider yaitu sebagai berikut  berikut :
<?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"
    android:background="#E0FFFF"
    tools:context="badoystudio.com.introslider.MainActivity">

    <Button
        android:layout_width="300dp"
        android:layout_height="70dp"
        android:text="Mulai Lagi Slider"
        android:layout_below="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="43dp"
        android:id="@+id/button"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:text="Home Screen!"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />
</RelativeLayout>

 11. Tambahkan script MainActivity.java

Tambahkan script berikut untuk memberikan intent pada button mengulang slide pada MainActivity.java
package badoystudio.com.introslider;

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


public class MainActivity extends AppCompatActivity {


    Button button;

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

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                PrefManager prefManager = new PrefManager(getApplicationContext());
                prefManager.setFirstTimeLaunch(true);
                startActivity(new Intent(MainActivity.this, WelcomeActivity.class));
                finish();
            }
        });

    }
}

12. Atur AndroidManifest.xml 

Terakhir Atur WelcomeActivity sebagai launcher utama pada AndroidManifest.xml 
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="badoystudio.com.introslider">
 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".WelcomeActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW" />

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

</manifest>

Oke sampai disini sudah selesai silahkan di running menggunakan android virtual device, emulator genymotion, atau langsung di smartphone yang kamu punya. Maka akan tampil seperti dibawah ini :

Membuat Intro Slider Keren Menggunakan Android Studio
intro slider ketika di run

Silahkan dipraktekan dan dipelajari kode-kodenya ya. semoga bermanfaat.

Membuat tombol Delete dan Update dengan java Netbeans

 

Membuat tombol Delete dan Update dengan java Netbeans

Database Mysql


Welcome kerabat Jicoding, kali ini jicoding kembali lagi yang tentunya akan memberikan tutorial tutorial terkait dengan pemrograman, Pada kesempatan kali ini Jicoding akan membahas bagaimana cara Membuat tombol Delete dan Update dengan java Netbeans Database Mysql.

1. Langkah awal buka dulu netbeans kalian.
2. Buatlah sebuah project baru dengan cara klik file>New Project atau dengan kombinasi keyboard (Ctr+Shift+N)
3. Setelah itu akan mucul jendela sperti gambar dibawah ini ,Pilih Categories : Java dan Project : Java Application , Kemudian "Next"


4. Selanjutnya beri nama pada aplikasi kalian dan hapus centang pada bagian "Create main Class" lalu klik Finish.

5. Pada library kalian klik kanan pilih"Add Library" dan akan muncul jendela library, cari dan pilih "My SQL JDBC Driver" lalu tekan "Add Library"

6. Setelah kita menambahkan sebuah library, langkah selanjutnya klik kanan pada source packages, pilih new > jFrame Form. Berinama sesuai dengan keinginan anda disini saya beri nama "Utama" lalu klik Finish.


7. Tambahkan 4 buah tombol(jButton), 4 buah textbox(jTextField), 4 buah label(jLabel) dan 1 buah Tabel(jTable) yang ada di palette swing controls dan susun seperti gambar di bawah ini.

9. Atur Propertiesnya sperti gambar dibawah ini:

Swing Controls
Properties
Value
jLabel1
jLabel2
jLabel3
jLabel4
Text
Text
Text
Text
NIM
Nama
Alamat
Tanggal Lahir
jTextField1
jTextField2
jTextField3
jTextField4
enabled
enabled
enabled
enabled
Hilangkan centang
Hilangkan centang
Hilangkan centang
Hilangkan centang
jButton1
jButton2
jButton3
jButton4
Text
Text
Text
Text
Tambah
Edit
Hapus
Batal


10. Setelah itu kita buat java class koneksinya untuk mengkoneksikan ke database. klik kanan pada source packages, pilih new >Java Class. berinama "koneksi" dan Finish

11. Copas scrip ini tepat di atas "public class koneksi {"
import com.mysql.jdbc.Driver;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


12. Copas scrip ini tepat di bawah "public class koneksi {"
private static Connection koneksi;
   
    public static Connection GetConnection() throws SQLException{
        if (koneksi == null){
            new Driver();
            koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/akademik","root","");
        }
        return koneksi;
    } 

 
13. Setelah itu selesai, kalian kembali ke Utama.java pilih sourch, masukkan scrip ini diatas tulisan "public class Utama extends javax.swing.JFrame {"


import com.mysql.jdbc.Statement;
import com.sun.imageio.stream.StreamCloser;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
import javax.swing.table.DefaultTableModel;


14. Copas di bawah tulisan "public class Utama extends javax.swing.JFrame {"
 private void datatable() {
        DefaultTableModel tbl = new DefaultTableModel();
        tbl.addColumn("NIM");
        tbl.addColumn("Nama");
        tbl.addColumn("Alamat");
        tbl.addColumn("Tanggal Lahir");
        jTable1.setModel(tbl);
        try {
            Statement statement = (Statement) koneksi.GetConnection().createStatement();
            ResultSet res = statement.executeQuery("select * from mhs");
            while (res.next())
            {
               tbl.addRow(new Object[] {
                    res.getString("nim"),
                    res.getString("nama"),
                    res.getString("alamat"),
                    res.getString("tanggal_lahir"),
                });
                jTable1.setModel(tbl);
            }
        }catch (Exception e){
            JOptionPane.showMessageDialog(rootPane, "salah");
        }
    }
   
    private void clear(){
        jTextField1.setText("");
        jTextField2.setText("");
        jTextField3.setText("");
        jTextField4.setText("");
    }
   
    private void enabled(){
        jTextField1.enable(true);
        jTextField2.enable(true);
        jTextField3.enable(true);
        jTextField4.enable(true);
        jTextField1.requestFocus();
    }
   
    private void desabled(){
        jTextField1.enable(false);
        jTextField2.enable(false);
        jTextField3.enable(false);
        jTextField4.enable(false);

    }


15. Selanjutnya kalian Kembali ke form desain kemudian klik dua kali tombol tambah, masukkan script ini
         if (jButton1.getText() == "Tambah"){
            enabled();
            clear();
            jButton1.setText("Simpan");
            jButton2.setEnabled(false);
            jButton3.setEnabled(false);
        }else {
            String nim = jTextField1.getText();
            String nama = jTextField2.getText();
            String alamat = jTextField3.getText();
            String ttl = jTextField4.getText();

            try {
                Statement statement = (Statement) koneksi.GetConnection().createStatement();
                statement.executeUpdate("insert into mhs values ('"+nim+"','"+nama+"','"+alamat+"','"+ttl+"');");
                statement.close();
                JOptionPane.showMessageDialog(null, "Data berhasil disimpan");
                datatable();
                clear();
                desabled();
                jButton1.setText("Tambah");
                jButton2.setEnabled(true);
                jButton3.setEnabled(true);
            }catch (Exception t){
                JOptionPane.showMessageDialog(null, "Data gagal disimpan");
            }
        }


16. Setelah kita beri koding untuk tombol tambah selanjutnya klik dua kali tombol Edit, copas script ini
        if (jButton2.getText() == "Edit"){
            enabled();
            jTextField1.enable(false);
            jButton2.setText("Simpan");
            jButton1.setEnabled(false);
            jButton3.setEnabled(false);
            jTextField1.requestFocus();
        }else {
            String nim = jTextField1.getText();
            String nama = jTextField2.getText();
            String alamat = jTextField3.getText();
            String ttl = jTextField4.getText();

            try {
                Statement statement = (Statement) koneksi.GetConnection().createStatement();
                statement.executeUpdate("UPDATE mhs " + "SET " + "nama = '" +nama+ "'," + "alamat = '" +alamat+ "'," + "tanggal_lahir = '" +ttl+ "'" + "WHERE " + "nim = '" +nim+ "';");
                statement.close();
                JOptionPane.showMessageDialog(null, "Data berhasil rubah");
                clear();
                desabled();
                jButton2.setText("Edit");
                jButton1.setEnabled(true);
                jButton3.setEnabled(true);
            }catch (Exception t){
                JOptionPane.showMessageDialog(null, "Data gagal disimpan");
            }
            datatable();
        }

17.copas scrips berikut untuk tombol hapus;
        String nim = jTextField1.getText();
        try {
            Statement statement = (Statement) koneksi.GetConnection().createStatement();
            statement.executeUpdate("delete from mhs where nim= ('"+nim+"');");
            clear();
            desabled();
            datatable();
            JOptionPane.showMessageDialog(null, "Data berhasil dihapus");
        }catch (Exception t) {
            JOptionPane.showMessageDialog(null, "Data gaagl dihapus");
        }


18. Copas script berikut untuk tombol batal;
        {
            clear();
            desabled();
            jButton1.setText("Tambah");
            jButton2.setText("Edit");
            jButton1.setEnabled(true);
            jButton2.setEnabled(true);
            jButton3.setEnabled(true);
        }


19. Langkah terakhir kita kembali ke form desain, klik kanan pada tabel pilih "Events>Mouse>Mouse Clicked. Copas scrip dibawah ini
        int row = jTable1.getSelectedRow();
        jTextField1.setText((String)jTable1.getValueAt(row, 0));
        jTextField2.setText((String)jTable1.getValueAt(row, 1));
        jTextField3.setText((String)jTable1.getValueAt(row, 2));
        jTextField4.setText((String)jTable1.getValueAt(row, 3)); 


20. coba RUN Project dengan menekan (F6) atau klik sumbol run pada aplikasi blnetbeans.

Selesai. Cukup mudahh bukan.?
Semoga artikel diatas bisa membantu dan mempermudah kalian yhhh .. salam coding dari Jicoding..
Terimakasih telah berkunjung.

BELAJAR JAVA NETBEANS - CARA MEMBUAT CLASS BARU DI NETBEANS

BELAJAR JAVA NETBEANS - CARA MEMBUAT CLASS BARU DI NETBEANS


Welcome kerabat jicoding, kali ini jicoding akan membagikan tutorial bagaiman si caranya  memebuat class dalam netbeans. "DASAR-DASAR JAVA NETBEANS - BELAJAR PEMROGRAMAN JAVA UNTUK PEMULA". 
Berikut adalah langkah-langkah nya .. let's go.
1. Langkah pertama kalian buka netbeans kalian masing-masing.
2. Kemudian kalian buat sebuah project baru, caranya pilih "File >> New Project" sampai tampil seperti gambar berikut:
  

3. Selanjutnya akan tampil seperti ini:
 
Isi nama project sesuai dengan keinginan anda, dan jangan lupa isi lokasi penempatan project nya. Dan non ceklis pada main class nya.. setelah itu klik finish.

4. Maka akan tampil seperti pada gambar dibawah ini:

5. Kita sudah berhasil membuat project Sekarang kita buat class baru pada project yang telah dibuat . Cara-nya klik kanan bagian "<default package>" kemudian pilih "New --> Java Class".

6.  Akan tampil seperti ini:
Isi nama class sesuai keinginan kalian. Pada tutorial ini saya beri nama "Latihan_class", selanjutnya klik "Finish"

7. Horee stelah langkah langkah di atas di lakukan dengan baik maka kita telah berhasil membuat class pada project netbeans. 
 Terimakasih , semoga artikel diatas bisa membantu kalian semua.. 

Membuat Tombol Simpan Di Netbeans


Membuat Tombol Simpan Di Netbeans


Wellcome guys, kembali lagi di jicoding, kali ini jicoding akan memberikan tutorial bagaimana cara membuat tombol simpan dari netbeans ke dalam database MYSQL.
OKE langsung saja kita bahas bagaimana caranyanya.. let's go...

1. Pertama tama kalian buat sebuah database di dlam MYSQL, beri nama sesuai dengan yang anda inginkan. Kemudian di dalam database yang telah anda buat tadi, silahkan anda buat 1 table dengan nama terserah kalian. Pada tutorial ini saya membuat sebuah databse dengan nama"dbcontoh", dan  tabel dengan nama "tb_siswa";

2.Langkah kedua, Didalam tabel "tb_siswa" buatlah 3 Field dengan spesifikasi berikut:
-id -->jenis(varchar) -->ukuran(15) --> primery key
-nama -->jenis(varchar) -->ukuran(25)
-alamat -->jenis(varchar) -->ukuran(40)
 
3. Setelah selesai membuat database kalian bisa buka Netbean.
4. Kemudian buatlah project baru dengan nama terserah anda. Di tutorial ini saya beri nama "koneksi_mysql".

5. Selanjutnya setelah selesai membuat project dengan, kemudian di dalamnya buatlah class baru dengan nama "koneksi".
Untuk kalian yang belum mengerti bagaimana si memebuat sebuah class di dlam project netbeans, kalian bisa lihat tutorial berikut "Cara Membuat Class Baru di Java Netbeans". Setelah memebuat class langkah selanjutnya kalian buat form baru dengan nama "form_siswa".
Dan bagi belum bisa membuat sebuah form kalian jiga bisa lihat tutorial berikut tentang "Cara Membuat Form Baru di Java Netbeans".

Setelah kalian sampain ke langkah 5 ini kalian akan lihat hasilnya sebagai berikut:
6. Setelah itu, silahkan anda tambahkan sebuah komponen library "MySQL JDBC Driver" dengan cara klik kanan folder "Libraries" dan pilih "Add Library...";
7. Untuk langkah selanjutnya kalian klik kanan pada library. kemudian pilih "MySQL JDBC Driver", setelah itu kemudian klik "Add Library"
8. Pada langkah delapan ini kalian tambahkan library "MySQL JDBC Driver",  nanti akan tampak hasilnya seperti inii:
9. Selanjutnya di class "koneksi", kalian copas kode berikut:


Dan akan tampak hasilnya seperti ini:

10. Kemudain Buka form anda yaitu "Form_Siswa" dan desain form anda seperti ini:
11. Setelah itu di form "Form_Siswa" anda bisa klik "Source", di bagian atas "public class Form_Siswa extends javax.swing.JFrame {" copas code berikut:
Seperti ini:

12. Pada bagian bawah "public class Form_Siswa extends javax.swing.JFrame {"kalian ketik kode ini:


13. Setelah selesai,buatlah method yang berguna untuk Menampilkan isi database di "jTable1", copas kode berikut:

Akan tampak seperti ini:

14. Langkah berikutnya kalian buat lagi method untuk Menghapus text di setiap TextField, copas kode berikut:
Akan terlihat seperti gambar dibawah ini:

15. double klik pada button "Simpan", dan pilih seperti gambar dibawah:
16. Kemudian untuk koding simpan kalian bisa kopas kode berikut:


Hasil akan seperti ini:

17. Kemudian dauble klik pada tombol reset , dan kopas kode berikut:

18. selsai..
Setelah ke 17 langkah diatas di lakukan dengan benar maka anda sudah dapat membuat tombol simpan ke MYSQL dengan menggunakan java netbeans..  silahkan jalankan aplikasinya. Good luck.. 
Terimakasih , semoga artikel diatas bisa membantu kalian..