Monday, August 28, 2017

[Tutorial] Cara Menambahkan Data Ke Databases MySQL Dengan PHP

August 28, 2017 1 Comments

Assalamualaikum Warahmatullah Guys... Kembali lagi bersama gw Ramadhany si programer ganteng.... nah guys... di hari yang cerah dan indah ini.... Sekarang ane mau berbagi ilmu lagi tentang "CRUD Android With MySQL Databases".... Mau tau gimana cara membuat programnya.... Ayo ikuti langkah-langkahnya di bawah ini....👇👇


1. Pertama, buat databasenya terlebih dahulu. Buat nama databasenya mahasiswa 


2. buat table baru yaitu tb_mahasiswa, buat 4 colom tablenya, isi teblenya yaitu nim, nama, alamat       dan jurusan. Typenya semua Varchar. Lalu Save 


struktur table tb_mahasiswa


3. Buat koneksi ke database dari php ke mysql Caranya : Buat sebuah folder baru yaitu mahasiswa di folder htdocs, dan buat file dengan nama db.php. berikut kode program ke databasenya 

<?php  
// cara koneksi dari php ke mysql menggunakan object oriented (mysqli) 
$server = "localhost"; 
$user = "root"; 
$pass = "12345"; 
$dbname = "sekolah";  
$con = mysql_connect($server, $user, $pass, $dbname) or die(mysql_error("Koneksi gagal")); 
mysql_select_db($dbname) or die(mysql_error("Database tidak ditemukan"));  
// if ($con) { 
//  echo "berhasil koneksi"; 
// }else{ 
//  echo "gagal koneksi"; 
// }  
?>  

4. Setelah itu buat file baru lagi, beri nama addMahasiswa.php, berikut kode program addMahasiswa.php 

<?php  
// tambahkan koneksi ke database  
$data = array(); 
include 'db.php'; 
// cek parameter yang dikirimkan oleh android oleh methode POST 
if (isset($_POST['nim']) && isset($_POST ['nama']) && isset($_POST['alamat']) && isset($_POST['jurusan'])) { 
 // buat variable untuk menampung nilai 
 $nim   = $_POST['nim']; 
 $nama   = $_POST['nama']; 
 $alamat  = $_POST['alamat']; 
 $jurusan  = $_POST['jurusan'];  
 //buat query untuk menyimpan data ke database 
 $sql = "INSERT INTO tb_mahasiswa (nim, nama, alamat, jurusan) 
VALUES ('$nim', '$nama', '$alamat', '$jurusan')"; 
// cek apakah data berhasil di tambahkan ke database 
if ($conn->query($sql) === TRUE) { 
 $data ['status'] = '1'; 
 $data ['msg'] = 'Data berhasil di simpan'; 
 // jadikan outputnya sebagai json 
 echo json_encode($data); 
} else { 
 $data ['status'] = '0'; 
 $data ['msg'] = 'Data berhasil di simpan'; 
 // jadikan outputnya sebagai json 
 echo json_encode($data); 
$conn->close(); 
 ?> 

5. Bila sudah di buat kode programnya, silahkan cek databasenya di postman, berikut contoh gambar cek di postmannya 


6. testing web service addMahasiswa, dengan nama getMahasiswa.php. berikut kode program getMahasiswa.php 
<?php 
// tambahkan koneksi ke database 
include 'db.php';  
$sql = "SELECT * FROM  tb_mahasiswa"; 
$response = array(); 
$result = $conn ->query($sql);  
if ($result->num_rows > 0) { 
 $response['mahasiswa'] = array(); 
 while ($row = $result ->fetch_assoc()) { 
  // 
  $data = array(); 
  $data['nim'] =$row['nim']; 
  $data['nama'] =$row['nama']; 
  $data['alamat'] =$row['alamat']; 
  $data['jurusan'] =$row['jurusan']; 
  array_push($response ['mahasiswa'], $data); 
   
 } 
 $response['status'] = '1'; 
 $response['msg'] = 'Data Semua Mahasiswa'; 
 echo json_encode($response); 
    
} else { 
    $response['status'] = '0'; 
 $response['msg'] = 'Tidak Ada Semua Mahasiswa'; 
 echo json_encode($response);  
$conn->close(); 
?> 

hasil getMahasiswa.php 


Itulah sedikit penjenlasan tentang program pembuatan "CRUD Android With MySQL Databases"....
Terima kasih kepada kalian yang telah mengunjungi blog saya dan telah mengikuti tutorial saya.... Saya mohon maaf apabila ada kesalahan kata dalam penuliasan saya.... Mohon di maafkan... Sekian dari saya..... Dan SALAM PROGRAMMER 👌✌👌

Wassalamualaikum Warahmatullah 

















Sunday, August 27, 2017

[Tutorial] Membuat Aplikasi Portal Berita

August 27, 2017 3 Comments

Assalamualaikum Guys... Kembali lagi bersama gw Ramadhany si programer ganteng.... nah guys... Sekarang ane mau berbagi ilmu tentang pembuatan aplikasi protal berita menggunalkan databases.... mau tau gimana cara bikinnya??? langsung aja ikuti langkah-langkahnya....



Membuat Aplikasi Portal Berita
1. Aktifkan XAMPP nya terlebih dahulu

2. apabila anda sudah mempunyai folder data db_beritanya, maka langsung saja import file sqlnya

3. buka android studio dan buat projeck dengan nama "Portal Berita"
4. copylah android aquerinya ke android studionya ke libs, lalu di Ad Us Library, lalu ok.
5. buka layout activity_main.xml dan tambahkan 1 buah widget ListView dan berikan idnya = LvBerita


6. setelah itu, buatlah 3 buah package dan beri nama Adapter, Helper dan Model. Dan buat class didalam package seperti gambar di bawah ini

7. buat layout baru, beri nama  list_berita. Setelah itu tambahkan CardView. Lalu beri 2 widget yaitu image view dan text view. Dan beri IvGambar dan TxtJudul

8. buka class ModelBerita.java, lalu tambahkan kode seperti di bawah ini
public class ModelBerita {
    private String judul, isi, gambar;

    public String getJudul() {
        return judul;
    }

    public void setJudul(String judul) {
        this.judul = judul;
    }

    public String getIsi() {
        return isi;
    }

    public void setIsi(String isi) {
        this.isi = isi;
    }

    public String getGambar() {
        return gambar;
    }

    public void setGambar(String gambar) {
        this.gambar = gambar;
    }
}

9. buka class AdapterBerita.java, lalu tambahkan kode lengkap seperti di bawah ini
public class AdapterBerita extends BaseAdapter{
    //buat array list model berita
    ArrayList<ModelBerita> data;
    Context c;
    //buat construktor
    //agar bisa di panggil oleh activity yang menggunakan adapter
    public AdapterBerita(ArrayList<ModelBerita> data, Context c) {
        this.data = data;
        this.c = c;
    }

    // fungsi untuk menghitung banyak data
    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return position;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }
    // buatkan class untuk menampung widget yang kita gunakan
    public class ViewHolder{
        ImageView gambar;
        TextView judul;
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        View v = convertView;
        //
        if (v == null){
            //panggil layout list_berita
            LayoutInflater layoutInflater = (LayoutInflater)c.getSystemService(c.LAYOUT_INFLATER_SERVICE);
            v = layoutInflater.inflate(R.layout.list_berita, null);
            holder = new ViewHolder();
            //kenalkan widget by id
            holder.gambar = (ImageView)v.findViewById(R.id.IvGambar);
            holder.judul = (TextView)v.findViewById(R.id.TxtJudul);
            // set v nya
            v.setTag(holder);
        }else {
            holder = (ViewHolder)v.getTag();
        }
        // set deta kedalam image view dan text view
        ModelBerita modelBerita = new ModelBerita();
        holder.judul.setText(modelBerita.getJudul());
        // tampilkan gambar ke dalam image view
        Glide.with(c).load(Server.BASE_IMG + modelBerita.getGambar()).into(holder.gambar);
        // http://192.168.4.123/berita/foto_berita/nama file dati database
        // format untuk menggunakan glide : context / url / widget
        return v;
    }
}
10. dan bukalah class Server.java, lalu berikan code text di bawah ini. Bila ingin menjalankan kembali aplikasi tersebut, anda harus mengganti ip anda
public static String BASE_URL = "http://192.168.4.123/berita/";
public static String BASE_IMG =BASE_URL + "foto_berita/";

11. lalu jangan lupa tambahkan di gradle nya yaitu, dan jangan lupa di sync now tunggu hingga gradle selesai
compile 'com.github.bumptech.glide:glide:3.7.0'
dan ini contoh hasil di gradle nya
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile files('libs/android-query-full.0.26.8.jar')
    compile 'com.android.support:cardview-v7:25.1.0'
    compile 'com.github.bumptech.glide:glide:3.7.0'

}

12. setelah itu tambahkan code di MainActivity.java nya, dan tambahkan kode lengkap di bawah ini
public class MainActivity extends AppCompatActivity {
    ArrayList<ModelBerita> data;
    AQuery aQuery;
    ListView LvBerita;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // methode untuk mengenalkan
        Berita();
        // methode untuk mrnampilkan list berita
        getBerita();
        LvBerita.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                ModelBerita b = data.get(position);
                Intent a = new Intent(getApplicationContext(), DetailBerita.class);
                a.putExtra("judul", b.getJudul());
                a.putExtra("gambar", b.getGambar());
                a.putExtra("isi", b.getIsi());
                startActivity(a);
            }
        });
    }

    private void getBerita() {
        // buatkan String URL JSON getBerita.php
        String url = Server.BASE_URL + "getBerita.php";
        // buat progress dialog
        ProgressDialog pd = new ProgressDialog(this);
        pd.setTitle("Informasi");
        pd.setMessage("Sedang Mengambil Data");
        pd.setCancelable(false);
        pd.setCanceledOnTouchOutside(false);

        // kirimkan url ke server
        try {
            aQuery.progress(pd).ajax(url,String.class, new AjaxCallback<String>(){
               // ambil nilai pengembalian dari server menggunakan methode callback

                @Override
                public void callback(String url, String object, AjaxStatus status) {
                    // kita cek apakah ada nilai pengembalian atau tidak??

                    if (object != null){
                    // ambil nilai pengembalian jika ada
                        try {
                            JSONObject json = new JSONObject(object);
                            // tampung object json ke dalam string
                            String sts = json.getString("status");
                            String msg = json.getString("msg");
                            if (sts.equalsIgnoreCase("1")){
                                // ambil object yang ada pada array data
                                JSONArray jsonArray = json.getJSONArray("data");
                                // lakukan perulangan data
                                for (int a = 0; a <jsonArray.length(); a++){
                                    //ambil object yang ada dalam array object data
                                    JSONObject jsonObject = jsonArray.getJSONObject(a);
                                    //masukan data ke dalam model berita
                                    ModelBerita b = new ModelBerita();
                                    b.setJudul(jsonObject.getString("judul"));
                                    b.setGambar(jsonObject.getString("gambar"));
                                    b.setIsi(jsonObject.getString("isi_berita"));
                                    // masukan ke dalam array list
                                    data.add(b);
                                    // setelah itu panggil dadapter berita
                                    AdapterBerita adapterBerita = new AdapterBerita(data, MainActivity.this);
                                    // kemudian tampilkan kedalam listview
                                    LvBerita.setAdapter(adapterBerita);

                                }
                            }
                        }catch (Exception e){

                        }
                    }
                }
            });
        }catch (Exception e){

        }
    }

    private void Berita() {
        data = new ArrayList<>();
        aQuery = new AQuery(this);
        LvBerita = (ListView)findViewById(R.id.LvBerita);

    }
}


13. setelah itu buat activity baru untuk detail isi beritanya, buat activity DetailBerita.java. Berikut ini adalah kode lengkap DetailBerita.java
package com.example.rara.portalberita;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.webkit.WebView;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.example.rara.portalberita.Helper.Server;

public class DetailBerita extends AppCompatActivity {
    ImageView IvDitailGambar;
    WebView WvIsi;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail_berita);


        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        Set();
        // ambil data dari intent
        String judul,isi,gambar;
        judul = getIntent().getStringExtra("judul");
        isi = getIntent().getStringExtra("isi");
        gambar = getIntent().getStringExtra("gambar");
        // tampilkan data
        Glide.with(this).load(Server.BASE_IMG + gambar).placeholder(R.mipmap.ic_launcher).into(IvDitailGambar);
        // load data ke dalam web view
        WvIsi.loadData(isi,"text/html", "utf-8");
        // tampilkan judul berita
        ActionBar title = getSupportActionBar();
        title.setTitle(judul);
    }

    private void Set() {
        IvDitailGambar = (ImageView)findViewById(R.id.IvDetailGambar);
        WvIsi = (WebView)findViewById(R.id.WvDetailIsi);
    }
}

14. lalu di layout activity_detail_berita.xml tambahkan 1 buah widget image view dan beri id nya IvDetailGambar. berikut contoh codenya
<ImageView
    android:layout_width="match_parent"
    android:layout_height="180dp"
    android:scaleType="fitXY"
    android:id="@+id/IvDetailGambar"/>
jangan lupa !! taruh widget image viewnya dibawah code ini
<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:layout_collapseMode="pin"
    app:popupTheme="@style/AppTheme.PopupOverlay" />
15. buka manifests nya, lalu tambahkan 2 code lagi
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
16. langkah terakhir, jalankan aplikasi tersebut

halaman menu utama

tampilan detail

Perkenalan MySQL

August 27, 2017 0 Comments


Assalamualaikum….. Selamat siang Guys…. Kembali lagi bersama saya Ramadhany si Programer Ganteng….. kali ini saya akan membagi sedikit ilmu tentang Perkenalan MySQL
MySQL adalah sebuah perangkat lunak iasm manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithreadmulti-user
MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta iasm atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael “Monty” Widenius
Relational Database Management System
MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu iasm database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL ias sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.

Keistimewaan MySQL

MySQL memiliki beberapa keistimewaan, antara lain :
  1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
  2. Open Source.MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.
  3. Multiuser’. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
  4. Performance tuning’. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
  5. Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
  6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
  7. Keamanan. MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
  8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
  9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
  10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
  11. Antar Muka. MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
  12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
  13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle
Demikian yang bisa saya sampaikan pada siang hari ini….Apabila ada kata-kata yang kurang baik, mohon di maafkan… Karena saya masih dalam tahap pembelajaran…. Semoga bermanfaat bagi kita semua Aminn….. Wassalaikiumsalam Warahmatullah

Pengertian Android Bagi Yang Belum Tau

August 27, 2017 8 Comments


Assalamualaikum Guys... Kembali lagi bersama gw Ramadhany si programer ganteng.... nah guys... sekarang ane mau jelasin tentang pengertian android bagi yang belum tau... Sudah ane jelasin semua di bawah..... 





Android – Sistem Operasi dari Google
kini mulai merambah ke Indonesia.
Sejak pertama kali masuk dengan HTC Magic pada 2009, saat ini sudah puluhan merek hape Android serentak menyerbu Indonesia… Tapi sebenarnya apa sih kelebihan dari Android…???
Saya coba menjawab, tapi hanya berdasarkan pendapat pribadi dan
pengalaman saya memakai hape Android belum lama ini… Keunggulan pertama menurut saya…
– mahal (untuk vendor yang premium)
Yups… mahal memang relatif. Tapi jika teman2 membandingkan hape ber-OS Android dengan hape ber-OS lainnya yang mempunyai fitur yang persis sama, maka teman2 pasti bisa
mengetahui bahwa harga jual hape ber-OS Android relatif lebih murah karena kecanggihannya dibanding hape ber-OS lain.
Mengapa bisa begitu ???
Hal ini tidak lepas dari langkah Google meng-gratis-kan Android OS untuk dipergunakan secara bebas oleh semua jenis dan merek vendor hape.
Oleh karena itu harga jualpun bisa ditekan oleh vendor.
Keunggulan kedua sekaligus yang terpenting adalah :
  • Sistem Operasi Terbuka Sistem operasi terbuka ini membuat Google membebaskan semua orang untuk menjadi developer bagi OS ini dan tentu saja gratis. Jadi semua orang bisa menciptakan aplikasi, menjualnya di Android Market dan mendownloadnya baik secara gratis maupun berbayar di Android Market.
Hal ini menyebabkan potensi akan
keanekaragaman aplikasi-aplikasi yang tersedia untuk Android akan
semakin besar di masa mendatang.
  • Sebagai catatan hingga saat ini saja aplikasi yang tersedia buat Android sudah ada sekitar 30.000 aplikasi dan sebagian besar gratiss…tiss..tiss… dan pastinya akan semakin bertambah seiring dengan waktu. Jadi kesimpulan yang bisa saya tarik mengenai kelebihan Android adalah ketersediaan aplikasi terutama yang gratis.
Selanjutnya, aplikasi apa aja yang harus
dimiliki hape Android..???
Nah ini juga sekali lagi merupakan
pendapat pribadi saya, jika ada yang
ingin menambahkan silakan ditulis di
kolom komentar, sekalian bisa sharing antar sesama pengguna Android, key
bro…???

Sekian Dari saya.... apa bila ada kesalahan kata-kata mohon di maafkan.... karena saya masih dalam tahap pembelajaran... Wassalamualaikum Warahmatullah Wabarakatuh 👌👌