membuat backdrop layout menggunakan android studio (material Design)

KetikanMD kembali lagi dengan tutorial membuat  backdrop layout pada android studio.....seperti judulnya kali ini kita akan mencoba untuk mengimplementasikan material design android yaitu Backdrop Layout....backDrop layout terdiri dari dua permukaan yaitu lapisan belakang dan lapisan depan. Lapisan belakang menampilkan tindakan dan konteks, dan lapisan depan mengontrol dan menginformasikan konten.untuk lebih jelas nya bisa baca artikel di link berikut https://material.io/components/backdrop/

ok tidak perlu lama.....pertama tama buatlah project baru dan disini kita asumsikan teman teman sudah bisa membuat project baru di Android Studio...kalau belum bisa,silahkan cari tutorialnya di google hehe

contoh tampilan yang akan kita buat seperti ini:

pertama kita akan masukkan kebutuhan icon untuk menu item dengan cara klik kanan pada drawable lalu pilih New->Vektor Asset dan pilih icon sesuai keinginan...disini kita membutuhkan dua asset,masing masing diberi nama ic_close dan ic_pilih.

seperti kita ketahui backDrop Layout terdiri dari 2 lapisan yaitu lapisan depan dan belakang,maka dari itu kita akan buat 2 layout untuk lapisan depan dan belakang,dengan cara klik kanan pada folder layout lalu pilih New->Layout resource file,untuk layout pertama kita kasih nama back_layout.xml dan untuk layout kedua kasih nama front_layout.xml.

adapun isi layout back_layout.xml seperti code dibawah
<?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="wrap_content"
    android:background="@color/colorPrimary">

        <RadioGroup
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingHorizontal="20dp"
            android:paddingVertical="10dp">
            <RadioButton
                android:id="@+id/rb_ya"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:buttonTint="@android:color/white"
                android:textColor="@android:color/white"
                android:text="YA" />
            <RadioButton
                android:id="@+id/rb_tidak"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:buttonTint="@android:color/white"
                android:textColor="@android:color/white"
                android:text="TIDAK"/>
        </RadioGroup>

</LinearLayout>


agar front_layout.xml memiliki corner radius pada sudut kiri dan kanan atas kita buat backgroundnya dengan cara kilik kanan pada drawable lalu pilih New->Drawble resource file dan berikan nama layout_bg.xml dan masukkan kode dibawah ini  kedalam file drawalbe yang kita buat tadi.
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF" />
    <corners
        android:topLeftRadius="35dp"
        android:topRightRadius="35dp" />
</shape>


adapun isi layout front_layout.xml seperti code dibawah
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/front_layout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/layout_bg">

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ketikan MD"
        android:textColor="@android:color/black"
        android:textSize="24dp"
        android:layout_centerInParent="true"/>

</RelativeLayout>


untuk code layout activity_main.xml seperti dibawah
<?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:orientation="vertical"
    android:background="@color/colorPrimary"
    tools:context=".MainActivity">

   <androidx.appcompat.widget.Toolbar
       android:id="@+id/toolbar"
       android:layout_width="match_parent"
       android:layout_height="?attr/actionBarSize"
       android:background="@color/colorPrimary"
       android:fitsSystemWindows="false"
       android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
       app:contentInsetStartWithNavigation="0dp"
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

      <RelativeLayout
          android:layout_width="match_parent"
          android:layout_height="match_parent">
          <include layout="@layout/back_layout"/>
          <include layout="@layout/front_layout"/>
      </RelativeLayout>

</LinearLayout>


Selanjutnya buat menu item didalam Directory menu (jika directory menu belum ada pada directory res, silahakan buat directory nya dengan cara klik kanan pada directory res lalu pilih  new-> Directory lalu masukkan nama direktorinya) klik kanan directory menu lalu pilih  new->Menu resource file dan berikan nama menu_item.xml. Masukkan kode dibawah kedalam menu_item.xml
<?xml version="1.0" encoding="utf-8"?>
<menu 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"
    tools:context=".MainActivity">

    <item
        android:id="@+id/action_pilih"
        android:orderInCategory="300"
        android:title="Pilih"
        android:icon="@drawable/ic_pilih"
        app:showAsAction="ifRoom"/>

</menu>

lanjut ke file java MainActivity.java masukkan kode dibawah
package com.ketikanmd.backdrop;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;

import android.animation.ValueAnimator;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.TranslateAnimation;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


    private Toolbar toolbar;
    private RelativeLayout frontLayout;
    private LinearLayout backLayout;
    private TextView textView;
    private RadioButton rbYa,rbTidak;
    private RelativeLayout.LayoutParams lp;
    MenuItem itemCheck;
    boolean showBackLayout = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar=findViewById(R.id.toolbar);
        frontLayout = findViewById(R.id.front_layout);
        backLayout = findViewById(R.id.back_layout);
        textView = findViewById(R.id.text);
        rbYa = findViewById(R.id.rb_ya);
        rbTidak = findViewById(R.id.rb_tidak);
        setSupportActionBar(toolbar);
        initListener();


    }

    private void initListener(){
        rbYa.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setText("Anda pilih ya");
            }
        });

        rbTidak.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setText("Anda pilih tidak");
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_item, menu);
        itemCheck=menu.findItem(R.id.action_pilih);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();

        if (id == R.id.action_pilih) {
           dropLayout();
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    private void dropLayout() {
        showBackLayout = !showBackLayout;
        itemCheck.setIcon(ContextCompat.getDrawable(MainActivity.this, showBackLayout ? R.drawable.ic_close : R.drawable.ic_pilih));
         lp = (RelativeLayout.LayoutParams) frontLayout.getLayoutParams();
        if (showBackLayout) {
            ValueAnimator varl =ValueAnimator.ofInt(backLayout.getHeight());
            varl.setDuration(100);
            varl.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                @Override
                public void onAnimationUpdate(ValueAnimator animation) {
                    lp.setMargins(0, (Integer) animation.getAnimatedValue(), 0, 0);
                    frontLayout.setLayoutParams(lp);
                }
            });
            varl.start();
        }else {
            lp.setMargins(0, 0, 0, 0);
            frontLayout.setLayoutParams(lp);
            TranslateAnimation anim = new TranslateAnimation(0, 0, backLayout.getHeight(), 0);
            anim.setStartOffset(0);
            anim.setDuration(200);
            frontLayout.startAnimation(anim);
        }
    }
}

terakhir masuk ke directory values->styles.xml dan pastikan codenya seperti dibawah:
<resources>

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

</resources>


jika semua langkah sudah diikuti,jalankan aplikasi dan lihat hasilnya........
untuk demonya silahkan klik disini 

untuk lebih lajut silahkan ambil source code nya di github klik disini

Sekian tutorial cara membuat backDrop layout pada android studio,cukup mudah kan teman teman......silahkan dikembangkan sesuai kebutuhan










Method Concat() pada JAVA

Selain menggunakan operator +,dua buah string dapat disambung dengan menggunakan method concat().
Contoh potongan kode yang  menggunakan method concat():
/**
 *
 * @author ketikanMD
 */
public class methodConcat {
    public static void main(String[] args) {
        String kataAwal="ketikan";
        String kataAkhir="MD";
        
        //menggunakan method concat()
        String hasilSambung=kataAwal.concat(kataAkhir);
        
        //menggunakan operator +
        String hasilSambungLain=kataAwal+kataAkhir;
        
        System.out.println("hasil menggunakan method concat : "+hasilSambung);
        System.out.println("hasil menggunakan operator + : "+hasilSambungLain);
    }
}


Hasil output potongan kode diatas:

Method trim() pada JAVA

Method trim() digunakan untuk membuang karakter spasi yang terdapat di awal atau akhir dari sebuah string. Method ini biasanya digunakan untuk mengatasi data data string yang dimasukkan oleh pengguna program,yang mungkin secara tidak sengaja memasukkan karakter spasi di bagian awal atau diakhir sebuah string.
Contoh kode penggunaan method trim() sebagai berikut:
/**
 *
 * @author ketikanMD
 */
public class methodTrim {
    public static void main(String[] args) {
        //diawali dan diakhiri karakter spasi
        String kata="   ketikanMD    ";
        //membuang spasi awal dan akhir dari kata ketikanMD
        String hasil=kata.trim();
        System.out.println("kata : "+kata);
        System.out.println("hasil : "+hasil);
    }
}

maka hasil output dari code diatas seperti ditunjukkan pada gambar di bawah:

method charAt() pada JAVA

Dalam bahasa Pemrograman Java, sebuah karakter di dalam string  bisa diambil menggunakan method charAt(). Parameter yang di lewatkan pada method tersebut adalah indeks atau posisi karakter yang akan diambil. Indeks dalam string bahasa Pemrograman Java selalu dimulai dari 0, bukan 1.

Berikut ini contoh kode yang akan menunjukkan cara kerja dari sebuah method charAt():


package chartAtMethod;

/**
 *
 * @author KetikanMD
 */
public class ChartAtMethod {

    public static void main(String[] args) {
        String kata = "KetikanMD";
        //posisi karakter dimulai dari nol
        //K=0,e=1,t=2,i=3,k=4,a=5,n=6,M=7,D=8
        System.out.println("Huruf Pertama : " + kata.charAt(0));
        System.out.println("Huruf Tengah : " + kata.charAt(4));

        
        //bisa juga dengan kode seperti dibawah
        System.out.println("Huruf Terakhir : " + "KetikanMD".charAt(8));
    }
}

Sehingga Output dari code diatas akan mendapatkan hasil seperti gambar dibawah:

Konversi Bilangan Desimal Ke Bilangan Heksadesimal pada JAVA

Untuk melakukan konversi bilangan desimal ke heksadesimal. Dalam bentuk Heksadesimal bilangan pembaginya adalah 16. Supaya algoritmanya lebih sederhana, disini kita juga akan menggunakan array untuk menyimpan tetapan penomoran pada bilangan heksadesimal. Berikut ini contoh kode program untuk melakukan konversi tersebut:

package desimalToHeksaDesimal;

/**
 *
 * @author KetikanMD
 */
class Rekursi {

    char[] listHeksa
            = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                'a', 'b', 'c', 'd', 'e', 'f'};

    void desimalToHeksa(int n) {
        if (n > 1) {
            desimalToHeksa(n / 16);
        }
        System.out.print(listHeksa[n % 16]);
    }
}

public class DesimalToHeksaDesimal {

    public static void main(String[] args) {
        Rekursi rk = new Rekursi();
        System.out.print("Bentuk heksaDesimal dari " + 1 + " :");
        rk.desimalToHeksa(1);
        System.out.println("");
        System.out.print("Bentuk heksaDesimal dari " + 18 + " :");
        rk.desimalToHeksa(18);
        System.out.println("");
        System.out.print("Bentuk heksaDesimal dari " + 200 + " :");
        rk.desimalToHeksa(200);
        System.out.println("");
        System.out.print("Bentuk heksaDesimal dari " + 1000 + " :");
        rk.desimalToHeksa(1000);
        System.out.println("");
        System.out.print("Bentuk heksaDesimal dari " + 2000 + " :");
        rk.desimalToHeksa(2000);
        System.out.println("");

    }
}

Output yang akan dihasilkan dari kode diatas seperti berikut:


Kita dapat membuktikan kebenaran dari program diatas dengan menuliskan kode dibawah:

        System.out.print("Bentuk heksaDesimal dari " + 1 + " : "
                + Integer.toHexString(1));
        System.out.println("");
        System.out.print("Bentuk heksaDesimal dari " + 18 + " : "
                + Integer.toHexString(18));
        System.out.println("");
        System.out.print("Bentuk heksaDesimal dari " + 200 + " :"
                + Integer.toHexString(200));
        System.out.println("");
        System.out.print("Bentuk heksaDesimal dari " + 1000 + " :"
                + Integer.toHexString(1000));
        System.out.println("");
        System.out.print("Bentuk heksaDesimal dari " + 2000 + " :"
                + Integer.toHexString(2000));
        System.out.println("");

Method toHexString() adalah method yang telah disediakan oleh Java didalam kelas Integer  dan digunakan untuk melakukan konversi bilangan bulat desimal ke dalam bentuk heksadesimal.

Konversi Bilangan Desimal Ke Bilangan Biner pada JAVA

Tutorial kali ini kita akan mengimplementasikan fungsi rekursi untuk membuat program yang bisa konversi bilangan desimal ke dalam bentuk biner. 

Berikut ini contoh program yang dapat mengonversi bilangan desimal ke bentuk biner  secara rekursif:

package desimalToBiner;

/**
 *
 * @author KetikanMD
 */
class Rekursi {

    void DesimalToBiner(int n) {
        if (n > 1) {
            DesimalToBiner(n / 2);
        }
        System.out.print(n % 2);
    }
}

public class DesimalToBiner {

    public static void main(String[] args) {
        Rekursi rk = new Rekursi();
        for (int i = 1; i <= 5; i++) {
            System.out.print("Bentuk Biner dari " + i + " :");
            rk.DesimalToBiner(i);
            System.out.println("");
        }

    }
}

Program di atas akan menghasilkan output seperti berikut:

Anda dapat membuktikan kebenaran dari program diatas dengan menggunakan method  toBinaryString() yang terdapat pada kelas Integer, seperti kode yang terlihat pada kode berikut:

   System.out.println("-----------------------");
        System.out.println("contoh Biner");
        for (int i = 1; i <= 5; i++) {
            System.out.println("Bentuk Biner dari " + i + " :"
                    + Integer.toBinaryString(i));

        }

Output yang akan diperoleh dari kode diatas akan sama persis dengan hasil kode yang sebelumnya


Catatan Nolsatu : Kelas Orientasi


Setelah ditunggu-tunggu beberapa bulan akhirnya kelas pertama nolsatu dibuka dengan batch ke 9. Alhamdulillah saya terpilih sebagai salah satu peserta training kelas nolsatu.

Berdasarkan situs aslinya nolsatu.id mengenai bagian 'tentang kami' menjelaskan :

“NolSatu hadir sebagai usaha untuk merespon masalah bersama yaitu banyak lulusan TI atau profesional TI yang kemampuannya kurang sementara perusahaan-perusahaan membutuhkan profesional TI terbaik dengan kemampuan terkini. Selain itu, perkembangan TI global berlangsung sangat cepat dan kemampuan profesional TI disarankan selaras dengan perkembangan tersebut. Profesional TI diharapkan dapat membantu perusahaan dalam mengadopsi TI terkini untuk mendorong proses bisnis perusahaan. Imbal balik bagi profesional TI dari proses ini adalah penghasilan yang cukup dan kesejahteraan yang baik yang diberikan oleh perusahaan. “

Setelah masuk ke group telegram langsung di berikan tugas pertama salah satunya mengirim public key melalui email untuk akses SSH gateway.
kita juga diberitahu untuk mempelajari terlebih dahulu materi linux dan network fundamental secara mandiri.

Oke, nantikan catatan belajar saya di kelas nolsatu selanjutnya…..semoga teman-teman bisa belajar dari catatan ini


Logo kelas Nol Satu

Penggunaan tanda kurung dalam Ekspresi pada JAVA

Pada saat menuliskan ekspresi , biasakan untuk menggunakan tanda kurung pada ekspresi yang ingin dilakukan terlebih dahulu. Sebagai contoh, perhatikan contoh ekspresi berikut ini:

int a=3, b= 4;

int hasil=a+b*2;

Ekspresi ini mula-mula akan mengalikan b dengan nilai 2, kemudian menambahkannya dengan nilai a. Hal ini disebabkan karena operator * memiliki prioritas yang lebih tinggi dibandingkan dengan operator +, Melalui penulisan seperti ini, ekspresi di atas akan menghasilkan nilai 11. Namun, apabila maksud anda adalah jumlah a dan b dikali 2, maka seharusnya anda menggunakan tanda kurung, seperti yang terlihat dibawah ini.

int hasil= (a + b) * 2;

Melalui penulisan seperti ini, ekspresi di atas akan menghasilkan nilai 14.



Pembuatan tabel perkalian menggunakan FOR pada JAVA


Perulangan FOR adalah perulangan yang dilakukan bila anda mengetahui dengan pasti berapa kali perulangan harus dilakukan. Loop while…. Dan do...while dapat digunakan untuk perulangan yang tidak diketahui kapan berhentinya.bentuk dasar dari perintah ini adalah:

for(i=nilai_awal; i=nilai_akhir;i++){
statement;
}

Berikut ini adalah contoh penggunaan statement for dalam pembuatan tabel perkalian.
package perkalian;

/**
 *
 * @author ketikanMD
 */
public class Perkalian {

    public static void main(String[] args) {

        //membuat header tabelnya
        String tabelnya = " Tabel Perkalian \n";
        tabelnya += "------------------------------\n";

        //cetak tubuh tabel
        for (int i = 1; i <= 9; i++) {
            tabelnya += i + " | ";
            for (int j = 1; j <= 9; j++) {
                //menampilkan angka dan pengaturan
                if (i * j < 10) {
                    tabelnya += " " + i * j;
                } else {
                    tabelnya += " " + i * j;

                }
            }
            tabelnya += "\n";
        }
        //menampilkan hasilnya
        System.out.println(tabelnya);
    }

}



Hasil run:

Tutorial membuat Sliding Navigation Menu Android Studio

Pada artikel kali ini ketikanMD akan memberikan tutorial bagaimana membuat Sliding Navigation Menu pada Android Studio.Dimana Sliding Navigation ini sebagai pengganti dari menu Navigation Drawer pada Android.Berhubung tutorial ini sangat panjang maka ketikanMD membuatkan tutorial dalam bentuk video yang akan akan diunggah ke channel youtube ketikanMD sendiri dan jangan lupa untuk subscribe ya......

Adapun di Artikel kali ini ketikanMD hanya akan menampilkan screen shoot hasil akhir dari tutorial yang telah diunggah ke youtube...Kalian bisa melihat tutorialnya dengan mengklik link dibawah untuk mengikuti tutorialnya .....


Untuk mengikuti tutorial di youtube silahkan klik tombol dibawah

File yang dibutuhkan untuk mengikuti tutorial di youtube silahkan klik tombol dibawah  
download[4]

Cara membuat Scheduled Backup pada PROXMOX VE 5.3


Kali ini ketikanMD akan membuat tutorial tentang scheduled backup pada proxmox VE 5.3, jadi fungsi dari schedule backup yakni dilihat dari katanya saja kita sudah tahu apa fungsinya…..yaaaap benar,yaitu melakukan backup sacara terjadwal .. langsung saja ke tutorialnya.

1. Buka proxmox VE melalui web browser dengan memasukkan alamat url sebagai contoh  https://192.168.1.1:8006

2. Pilih “Datacenter” pada bagian sebelah kiri panel pada tampilan proxmox, terus klik tab  “Backup” dan klik tombol “add”.
3.Maka akan tampil kotak dialog “Create: Backup Job ” seperti terlihat pada gambar dibawah.
1.      pilih Node (misal node1 ).
2.      Pilih tujuan dari penyimpanan melakukan backup (local).
3.      Pilih hari dari minggu(e.g. select all days for a daily backup).
4.      Pilih  Start Time (misal 20:10).
5.      pilih Selection Mode: Include selected VMs.
6.      masukkan Email address.
7.      kirim Email notifications pilihan  Always atau  On failure only.
8.      pilih Compression (misal GZIP).
9.      Pilih  Mode: Snapshot.
10.  pastikan backup job adalah  Enabled.


4. Hasil dari pembuatan backup schdule terlihat seperti gambar



http://www.resepkuekeringku.com/2014/11/resep-donat-empuk-ala-dunkin-donut.html http://www.resepkuekeringku.com/2015/03/resep-kue-cubit-coklat-enak-dan-sederhana.html http://www.resepkuekeringku.com/2014/10/resep-donat-kentang-empuk-lembut-dan-enak.html http://www.resepkuekeringku.com/2014/07/resep-es-krim-goreng-coklat-kriuk-mudah-dan-sederhana-dengan-saus-strawberry.html http://www.resepkuekeringku.com/2014/06/resep-kue-es-krim-goreng-enak-dan-mudah.html http://www.resepkuekeringku.com/2014/09/resep-bolu-karamel-panggang-sarang-semut-lembut.html