Keunggulan dan Kekurangan Android Studio yang Perlu Dipahami

Bagi seorang programmer pasti sudah tidak asing dengan yang namanya Android Studio. Bahkan bisa saja mereka juga paham betul dengan keunggulan dan kekurangan Android Studio tersebut. Masyarakat awam juga perlu mengenal apa itu Android Studio.


Sebagian besar pengguna ponsel pintar di dunia menggunakan sistem operasi Android pada ponsel mereka. Masyarakat sudah tidak asing lagi dengan istilah Android, hanya saja mereka mungkin tidak tahu apa itu Android Studio.


Secara sederhananya Android Studio tersebut merupakan software yang digunakan untuk membuat aplikasi smartphone. Jadi aplikasi yang anda pakai di ponsel, dibuat dan dikembangkan pada Android Studio ini. oleh karena itu perannya sebenarnya sangat penting.


Mengenal Lebih Dekat Android Studio


Sebelum kita melihat apa saja keunggulan dan kekurangan Android Studio ada baiknya kita pahami terlebih dahulu bagimana cara kerja Android Studio tersebut. Android Studio ini diperkenalkan pada tahun 2013 lalu saat acara Google I/o Conference.


Android Studio ini sepenuhnya sudah diakusisi oleh Google, sehingga perkembangannya semakin pesat. Sosok dibalik pembuatan Android Studio ini adalah Jet Brains. Android Studio ini tersedia untuk beberapa platform seperti Windows, desktop Mac, dan juga Linux. 


Fungsi utama dari software ini adalah membuat, merancang, dan mengambangkan aplikasi Android. Semua aplikasi yang anda temukan di Play Store misalnya dibuat melalui Android Studio ini. Jadi jika anda ingin belajar pemrograman, maka harus paham cara menggunakan Android Studio. 


Apa Saja Keunggulan Android Studio


Saat ini memang sudah banyak bermunculan software pembuat aplikasi. Meskipun demikian tetap saja kebanyakan programmer lebih memilih menggunakan Android Studio tersebut dalam membuat aplikasi. Alasannya tentu saja karena Android Studio memiliki banyak keunggulan.


  • Terdapat Banyak Fitur Pada Emulatornya


Salah satu alasan mengapa para programmer menyukai Android Studio ini karena pada emulatornya banyak disediakan fitur yang bisa dimanfaatkan. Bisa dibilang bahwa Android Studio ini merupakan yang terbaik dalam hal emulator.


Lewat banyaknya fitur emulator ini, anda nantinya bisa melakukan uji langsung aplikasi yang dibuat pada ponsel atau juga pada smartv. Dengan demikian dapat diketahui letak kekurangan atau hal lainnya.
Menariknya lagi adalah lewat adanya emulator tersebut, anda bisa langsung membuat simulasi di perangkat keras lainnya, misalnya pada baterai, pada sensor, gps, dan yang lain. Bisa dibilang bahwa dengan kehadiran Android Studio proses kerja jadi lebih efektif. 

 

  • Bisa Digunakan Secara Tim


Membuat suatu aplikasi tentu bukan pekerjaan mudah. Dibutuhkan kreativitas , ketelitian, dan pengetahuan luas untuk membuat aplikasi yang sempurna. Oleh karena itu kebanyakan orang membuat aplikasi secara tim, sehingga hasil kerja lebih cepat dan lebih efektif.


Dengan menggunakan Android Studio, maka anda bisa mengembangkan aplikasi tersebut secara tim. Pada Android Studio terdapat layanan Github dan Subversion. Layanan ini memungkinkan anda berkolaborasi dengan orang lain dalam mengembangkan aplikasi Android tersebut.


Bisa dipastikan bahwa hasil kerja jauh lebih baik bila dikerjakan bersama orang – orang ahli. Bisa saja ada kesalahan yang luput dari perhatian anda, tetapi ditemukan oleh anggota tim. Proses kerja semakin cepat dan hasilnya juga pasti semakin maksimal. 

  • Memiliki Sistem yang Sangat Fleksibel


Di balik  keunggulan dan kekurangan Android Studio jelas software ini sangat bermanfaat. Android Studio memiliki sistem yang sangat fleksibel. Fleksibel artinya otomatisasi, manejemen dependensi, dan konfigurasi versinya dapat disesuaikan dengan keperluan anda.


Pada sistem ini, setiap varian versi nantinya disertakan juga dengan kode yang berbeda. Jadi sangat tepat digunakan untuk membuat beragam aplikasi, yang sesuai dengan kebutuhan anda. Keunggulan ini sulit ditemukan pada software pengembang lainnya. 

  • Adanya Fitur Layout Editor


Fitur layout editor juga menjadi salah satu keunggulan yang ditawarkan oleh Android Studio ini. Fitur ini membuat proses pembuatan layout jadi lebih efisien. Anda nantinya cukup melaukan drag elemen UI tersebut ke desain editor. Jadi tidak perlu lagi membuat layout XML nya.


Dengan adanya layout editor, anda bisa langsung melihat desain yang anda buat, baik dari versinya, ukuran layarnya, atau juga perangkat Android yang berbeda. Dengan kata lain, proses pembuatan aplikasi jadi semakin praktis. 

  • Cocok Digunakan Pada Semua Perangkat Android


Saat ini kebanyakan prangkat elektronik menggunakan sistem operasi Android. Google sendiri masih menjadi raja mesin pencarian, sehingga kebanyakan orang lebih menyukai perangkat Android. Ini juga lah yang menjadi salah satu alasan mengapa Android Studio lebih diminati.


Jika anda mengembangkan aplikasi lewat Android Studio, maka aplikasi tersebut nantinya bisa digunakan pada semua perangkat Android. Jika anda menggunakan software pengembang lain, belum tentu bisa dioperasikan pada perangkat Android.


Aplikasi yang dibuat lewat Android Studio ini, pasti bisa dijalankan dengan mudah pada semua perangkat Android, karena memang masih selaras. Anda bisa menerapkan di smart tv, smart watch dan perangkat lainnya. 


  • Memiliki Fitur Intelligence Code Editor


Intelligence code editor pada Android Studio merupakan salah satu fitur yang sangat bermanfaat. Lewat fitur ini, maka penulisan kode tidak lagi rumit. Intelligence code ini akan memberikan saran kode untuk anda, jadi prosesnya jadi lebih praktis.


Fitur ini juga mampu menganalisis kesalahan kode, memperkirakan kode yang akan dibuat, dan yang lainnya. Jadi kode yang dibuat pada aplikasi tersebut bisa terhindar dari kesalahan, proses penulisannya semakin cepat dan juga efektif. 


Kekurangan Software Android Studio


Terlepas dari segala kelebihan yang dimilikinya tetap saja Android Studio masih menyimpan beberapa kekurangan. Kekurangan ini sebenarnya tidak terlalu besar, karena tetap Android Studio menjadi yang terbaik dalam pembuatan aplikasi. Beberapa kekurangannya adalah sebagai berikut.


  • Proses Implementasi Cukup Panjang


Salah satu kekurangan dari Android Studio ini adalah proses implementasinya masih tergolong panjang dan sedikit rumit. Jadi pemula yang ingin menggunakannya harus belajar ekstra dan sabar dalam melakukannya. 


Walaupun anda misalnya membuat aplikasi yang sederhana, masih perlu melalui proses implementasi yang panjang. Jadi jika ingin membuat aplikasi, dibutuhkan kesungguhan saat menggunakan software Android Studio tersebut. 


  • Sulit Mendeteksi Error

Kekurangan lain dari Android Studio adalah jika saat proses pembuatan aplikasi terdapat kesalahan, maka relative sulit mendeteksi kesalahan tersebut. Saat anda sistem yang error misalnya, anda tidak langsung tahu di mana letak error tersebut.
Jadi programmer harus memeriksa secara perlahan penulisan dan kesalahan yang mereka buat. Dalam membuat aplikasi memang dibutuhkan ketelitian, jadi jika ada sistem error, maka anda harus segera memperbaikinya.


Saat ini hampir semua hal sudah memiliki aplikasi, karena aplikasi tersebut membuat kehidupan manusia jadi lebih mudah. Tidak ada salahnya belajar membuat aplikasi, karena hal ini bisa menjadi peluang bisnis untuk anda.


Android Studio merupakan salah satu software pengembang aplikasi terbaik saat ini, yang akan memudahkan segala pekerjaan anda. itu lah informasi terkait keunggulan dan kekurangan Android Studio.

Segala Sesuatu tentang Bootstrap 4 yang Perlu Front-end Developer Tahu

 

Bootstrap 4 adalah versi terbaru dari kerangka kerja front-end yang sangat populer, Bootstrap. Sebagai versi terbaru salam sebuah framework, Bootstrap 4 menawarkan berbagai kemudahan untuk pembuat desain. Apalagi mengingat perlu berulang kali menulis CSS, Bootsrap ini bisa membantu memudahkan. 

Mungkin Anda pernah mendengar tentang Bulma atau Materialize yang membuat penulisan prototipe yang sama cepat dengan Bootstrap 4. Namun keunggulan dari Bootstrap adalah, Anda bisa memilih sendiri modul yang akan digunakan. 

Ada berbagai situs web terkenal yang menjadikan Bootstrap sebagai kerangka. Sebut saja twitter yang memiliki tampilan sederhana tapi modern sehingga semakin hari semakin diminati. Begitu juga tema pada Joomla, Wordpress, dan CMS yang menggunakan Bootstrap. 

Bagi developer anyar, desain web yang responsif adalah hal sulit untuk digunakan walau memang bagi yang berpengalaman, ini bisa dengan mudah dikerjakan. Bootsrap hadir memudahkan pekerjaan para developer baru ini. Apalagi Bootstrap 4 dibangun di atas Flexbox yang membuatnya jadi lebih cerdas. 

Perbedaan Bootstrap 3 dengan Bootstrap 4: 

Terus melakukan pembaharuan, ternyata perbedaan Bootstrap terbaru dengan versi lama cukup signifikan. Mulai dari perubahan font, warna, dan lain sebagainya. Untuk lebih jelasnya, berikut ini ulasan lengkapnya: 

  • Menggunakan font default, Bootstrap 3 menggunakan ukuran 14px yang kemudian diperbaharui menjadi 16px. Dengan perubahan ini, Anda yang menggunakan Bootstrap harus segera menyesuaikan ukuran pixelnya.
  • Tidak lagi menggunakan font jenis Helvetica Neue, Helvetica, Sans-Serif, dan Arial. Yang terbaru menggunkan jenis font Sans-Serif, Arial, dan Helvetica Neue.
  • Pada Bootstrap 3, setiap class grid membutuhkan ‘col-‘ pada bagian depan. Namun untuk versi Bootrstap 4 tidak lagi membutuhkannya. Selain itu versi terbaru menambahkan satu sistem grid menjadi col-md, col-lg, col-sm, col-xl, dan col-*.
  • Ada perubahan besar yang paea Bootstrap tidak menggunakan header, kini ada pada versi terbaru ini. Selain itu, header tabel juga bisa diberi warna jadi terang (.thead-light) atau nuansa gelap (.thead-dark).

 

Kelebihan dari Bootstrap 4:

  1. Bootstrap yang lama menggunakan cara border-box ke content-box. Untuk sebagian developer, ini memang menjengkelkan karena lebih sulit dipahami dan memakan waktu yang lama. Namun dengan kerangka terbaru, yaitu border-box, ini lebih mudah digunakan.
  2. Reset CSS selama ini sudah berkembang pesat. Dalam versi Bootstrap disebut dengan Reboot. Penggunaan Reboot berbeda karena didasarkan dengan normalisasi. Ini supaya menghindari margin-top, menggunakan banyak rem unit, dan native font rendering yang lebih optimal.

Cara instal Bootstrap 4:

Tahukah Anda bahwa Bootstrap 4 bisa diunduh secara online dan juga offline? Selain itu juga bisa menggunakan bower, npm, dan composer. Namun yang perlu Anda ingat jika instal project Bootstrap 4 tergantung dengan development yang digunakan. 


Ambil contoh jika Anda ingin mengembangkan website menggunakan NodeJs, maka yang paling tepat adalah instao menggunakan bower dan npm. Nah, berikut ini langkah menambahkan Bootstrap 4 dalam pekerjaan Anda:

  1. Pastikan Anda sudah membuat direktori terbaru dan mengunduh Bootrstap dari website resminya. Setelah sudah selesai diunduh, Anda akan mendapatkan versi zip yang di dalamnya terdiri dari banyak folder. Nah, file inilah yang nantinya perlu Anda ekstrak ke dalam folder project supaya bisa digunakan.
  2. Pastikan semua folder zip sudah diekstrak sehingga nantinya akan mendapat susunan direktori yang lengkap.
  3. Buka teks editor dan buat file index.html dan diisikan beberapa kode. Jangan lupa, gunakan juga file Bootstrap dan library yang lainnya.
  4. Dengan begitu, Bootstrap sudah bisa digunakan untuk mengembangkan website.

Cara instal secara online:

Sebelum Anda menginstal Bootstrap 4 secara online, Anda perlu tahu bahwa dengan cara ini mempengaruhi kecepatan website. Jika tidak masalah, Anda bisa menggunakan CDN jika berminat instal secara online. 


Buka perintah: 


<script src=”https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js”></script>


Dan nantinya file Bootstrap 4 akan tersalin dalam website untuk bisa digunakan oleh class dan fungsi yang lainnya.

Langkah-langkah menggunakan Bootstrap:

Yang terbaik dari menggunakan Bootstrap adalah waktu menjadi lebih singkat dan tidak perlu kesulitan mengetik banyak kode program. Selain itu, Anda hanya perlu menggunakan class-class  yang terletak dalam file Bootstrap. 


Apabila Anda ingin menggabungkan class dengan class lainnya, hanya perlu menambahkan class tabel yang dikombinasikan oleh class lainnya. Anda tidak perlu khawatir karena sudah tersedia beberapa class yang dipersiapkan untuk membuat tabel. Berikut selengkapnya:

  • ‘.table’ untuk menjelaskan atau membuat tabel yang biasa. Hasilnya hanya akan berupa lapisan kecil dan pembatas secara mendatar. Kodenya adalah <table class=”table”>.
  • ‘.table-bordered’ adalah class yang digunakan untuk memasukkan border dalam table. Untuk mencobanya, Anda bisa membuat kode <table class=”table table-bordered”>.
  • ‘.table-stripped’ adalah class yang akan membuat table jadi warna yang berbeda di setiap baris. Kode untuk yang satu ini adalah  <table class=”table table-sripped”>.
  • ‘.table-hover’ adalah class yang memanfaatkan hover pada table. Namun efek ini baru terlihat saat mouse diletakkan pada class. Kode untuk yang satu ini adalah <table class=”table table-hover”>.

Mengatur tampilan gambar dengan Bootstrap:

Dengan framework ini, Anda jadi bisa membuat gambar yang responsif atau thumbnail. Class yang digunakan pada Bootstrap 4 adalah ‘.img-circle’, ‘.img-responsive’, ‘.img-rounded’, ‘.img-thumbnail’. Dengan adanya gambar, website Anda akan jauh lebih menarik. 

  • ‘.img-circle’ adalah class yang digunakan untuk menambahkan gambar yang berbentuk lingkaran.
  • ‘.img-responsive’ adalah class yang memungkinkan untuk membuat gambar jadi bisa dibuka dalam berbagai jenis resolusi layar.
  • ‘.img-rounder’ adalah class yang digunakan untuk membuat efek melingkar atau melengkung pada gambar.
  • ‘.img-thumbnail’ adalah class yang digunakan untuk menambahkan gambar thumbnail melalui Bootstrap.

Cara membuat tombol dengan Bootstrap

Karena tombol adalah komponen penting dalam sebuah website, maka Bootstrap juga menyediakan class untuk menambah tombol yang berfungsi sekaligus menarik. Ada berbagai variasi tombol yang bisa dipilih, tapi awalnya Anda hanya perlu menggunakan class ‘btn’.
Berikut adalah variasi class tombol yang ada pada Bootstrap:

  • ’.btn-default’ adalah class yang menjadikan tombol default berwarna abu-abu.
  • ‘.btn-sucsess’ adalah class yang dibuat untuk pemberitahuan setelah selesai memasukkan atau memproses suatu program.
  • ‘.btn-primary’ adalah class yang digunakan untuk menjadikan tombol berwarna biru. Umumnya terjadi pada tombol untuk login
  • ‘.btn-warning’ adalah class yang digunakan untuk membuat tombol yang memperingati jika terjadi sesuatu. Umumnya, tombol berwarna kuning.
  • ‘.btn-info’ adalah class yang membuat tombol jadi warna biru muda
  • ‘.btn-danger’ adalah class yang membuat tombol jadi terlihat warna merah.
  • ‘.btn’ adalah class yang digunakan untuk membuat tombol secara standar dengan warna abu-abu kehitaman.

 

Selain bisa digunakan untuk membuat tombol dan menambah gambar, Bootstrap 4 juga bisa diandalkan untuk membuat class panel, class peringatan, dan lain sebagainya. Karena banyaknya class yang ada, tidak heran jika Bootstrap  4 banyak diminati dan ditunggu.

Cara Menghubungkan Database Firebase dengan Codeigniter

 


Sebelumnya pada postingan Cara Membuat dan Menghubungkan Firebase dengan Project Android Studio telah dijelaskan cara membuat project firebase dan menghubungkannya dengan Android Studio.

Sekarang yang akan dibahas adalah Cara Menghubungkan Database Firebase dengan Project Codeigniter. Sebelum itu silahkan buat project firebase terlebih dahulu, caranya bisa di lihat pada postingan Cara Membuat dan Menghubungkan Firebase dengan Project Android Studio.

Jika sudah punya project firebase di akun google kalian, silahkan tambahkan library firebase di project Codeigniter kalian, dengan menggunakan Composer.


composer require eelkevdbos/firebase-php dev-master



Untuk controller silahkan buat seperti berikut :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

use Firebase\Firebase;

class CFirebase extends CI_Controller {

public function __construct()
{
parent::__construct();
$this->load->model('Mdata');

}
public function index()
{
$this->load->view('firebase');

}
public function add_data()
{
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "0",
"tipe" => "0",
];
$a = $fb->push('/data', $d);
echo json_encode($a);

}
public function get_data()
{
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$a = $fb->get('/data');
echo json_encode($a);

}
public function update_data()
{
$key = $this->input->get("key");
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "1",
"tipe" => "0",
];
$a = $fb->update('/data/'.$key, $d);
echo json_encode($a);

}
public function delete_data()
{
$key = $this->input->get("key");
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "1",
"tipe" => "0",
];
$a = $fb->delete('/data/'.$key, $d);
echo json_encode($a);

}
}



Jangan lupa untuk mengganti "YOUR_FIREBASE_URL" dan "YOUR_FIREBASE_SECRET", sesuai dengan firebase kalian.

Penjelasan Kode

Add Data

Kode untuk menambah data terletak pada method :
public function add_data(){
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "0",
"tipe" => "0",
];
$a = $fb->push('/data', $d);
echo json_encode($a);
 }

Pada kode di atas program akan menambahkan data kedalam database firebase menggunakan fungsi "push" dimana data yang ditambahkan berupa data array dengan nama variabel "$d". Nantinya data yang ditambahkan akan memiliki key tersendiri.





Get Data

public function get_data()
{
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$a = $fb->get('/data');
echo json_encode($a);

}



Kode di atas menginstruksikan untuk mengambil semua data yang ada pa Path "/data" sehingga nantinya akan mengembalikana data berupa JSON.





Update Data

public function update_data()
{
$key = $this->input->get("key");
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "1",
"tipe" => "0",
];
$a = $fb->update('/data/'.$key, $d);
echo json_encode($a);

}



Kode di atas menginstruksikan untuk mengupdate data menggunakan perintah update. Dimana terdapat variabel "$key" yang berfungsi untuk menentukan data mana yang akan diubah.

Delete Data

public function delete_data()
{
$key = $this->input->get("key");
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "1",
"tipe" => "0",
];
$a = $fb->delete('/data/'.$key, $d);
echo json_encode($a);

}



Sama halnya seperti update data, kode di atas juga menggunakan "$key" untuk menentukan data tertentu yang ingin di hapus. Jika ingin menghapus semua data dalam path silahkan ganti kode menjadi "$a = $fb->delete('/data/', $d);".

CARA MUDAH UPLOAD FILE DI CODEIGNITER

 


Proses upload seringkali dibutuhkan dalam pengelolaan website, seperti upload file berupa gambar user, kelengkapan berkas, file postingan dan lain sebagainya. Framework tidak lupa memberikan fungsi atau library yang memudahkan development dalam mengupload file.

Berikut akan kita buat sebuah web sederhana untuk mengupload file menggunakan Codeigniter.

1. Buat folder baru di folder root dengan nama asset.





2. Buat sebuah view dengan nama upload.php isi dengan kode di bawah ini.

<!DOCTYPE html>
<html>
<head>
<title>Upload file</title>
</head>
<body>
<form method="post" action="upload/aksi" enctype="multipart/form-data">
<input type="file" name="file">
<br>
<button>upload</button>
</form>
</body>
</html>



3. Buat sebuah Controller baru dengan nama Upload.php isi dengan kode di bawah ini.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Upload extends CI_Controller {


public function index()
{
$this->load->view("upload");
}
public function aksi()
{
$config['upload_path'] = './asset/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = 2024;
$config['encrypt_name'] = TRUE;
$config['file_name'] = "sembarang";

$this->load->library('upload');
$this->upload->initialize($config);

if (!$this->upload->do_upload('file')) {
$error = array('error' => $this->upload->display_errors());
$ar = array('result'=>'error', 'data'=>$error);
echo json_encode($ar);
} else {
$data = array('image_metadata' => $this->upload->data());
$nama = $data['image_metadata']['file_name'];
$tipe = explode('.', $nama);
$ret = array(
'nama_file'=> $nama,
'tipe_file'=>$tipe[1]
);
$ar = array('result'=>'success', 'file'=>$ret);
echo json_encode($ar);
}
}
}




4. Silahkan jalankan aplikasi dan lihat hasilnya.

Penjelasan kode


$config['upload_path'] = './asset/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = 2024;
$config['encrypt_name'] = TRUE;


Kode di atas merupakan konfigurasi dari file yang akan di upload.

  • upload_path adalah lokasi atau folder dimana file upload akan di tempatkan.
  • Pada bagian "allowed_types" merupakan jenis file yang dapat di upload, untuk mengizinkan semua jenis file silahkan isi dengan '*'.
  • max_size, batas maksimal ukuran file yang di upload.
  • encrypt_name, membuat nama file otomatis dengan menggunakan kode unik



Baca Juga : Menampilkan Gambar Sebelum di Upload dengan Javascript 

 

 

 

Menampilkan Data dari Database Kedalam DataTables di Codeigniter

 


DataTables merupakan sebuah library javascript yang mempermudah kita dalam menampilkan data kedalam bentuk table. Penggunaannya yang sangat simple dan memiliki banyak fitur membuat datatables banyak digunakan.

Pada postingan kali ini kita akan mencoba menampilkan data dari database kedalam table menggunakan DataTables dan framework Codeigniter 3. Langsung saja ikuti langkah-langkah di bawah.

1. Buat struktur database yang akan ditampilkan.





2. Hubungkan Codeigniter dengan database yang akan ditampilkan, caranya masuk ke application -> config -> database.php lalu masukkan atur sesuai database kalian contohnya seperti dibawah.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'cmsku',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);




3. Buat view dengan nama coba.php kemudian isi dengan kode di bawah :

<!DOCTYPE html>
<html>
<head>
<title>Coba Data Tables</title>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.6/css/jquery.dataTables.css">

<!--Import jQuery before export.js-->
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>


<!--Data Table-->
<script type="text/javascript" src=" https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>
</head>
<body>
<table id="tabelku" class="display" style="width:100%">
<thead>
<tr>
<th>No</th>
<th>Judul</th>
<th>Isi</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>


</tbody>
</table>

<script type="text/javascript">
$(document).ready(function(){
let RefTable = {
init() {
RefTable.table=$('#tabelku').DataTable({

bSort : true,
destroy : true,
iDisplayLength : 10,
processing : true,
serverSide : true,
order : [],
ajax : {
"url" : "<?php echo base_url()?>Coba/load",
"type" : "POST",
},

});

$("body").on("click", "[data-action]", function(e) {
e.preventDefault();

let action = $(this).data("action");
if (action === "edit") {
//aksi edit disini
}
});
}

}
RefTable.init();

});

</script>





</body>
</html>



4. Buat Model dengan nama DataModel.php lalu isi dengan kode dibawah

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class DataModel extends CI_Model {

var $table = 'postingan a';//nama tabel

var $column_order = array(null,'a.tanggal',null); //order berdasarkan

var $column_search = array('a.judul_postingan, a.tanggal', 'a.isi'); //cari berdasarkan

var $select_column = array('a.*'); //select all
var $order = array('a.tanggal' => 'desc'); // default order


public function __construct()
{
parent::__construct();
$this->load->database();
}

private function _get_datatables_query()
{
$this->db->select($this->select_column);
$this->db->from($this->table);
$i = 0;

foreach ($this->column_search as $item) // loop column
{
if($_POST['search']['value']) // if datatable send POST for search
{

if($i===0) // first loop
{
$this->db->group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND.
$this->db->like($item, $_POST['search']['value']);
}
else
{
$this->db->or_like($item, $_POST['search']['value']);
}

if(count($this->column_search) - 1 == $i) //last loop
$this->db->group_end(); //close bracket
}
$i++;
}

if(isset($_POST['order'])) // here order processing
{
$this->db->order_by($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
}
else if(isset($this->order))
{
$order = $this->order;
$this->db->order_by(key($order), $order[key($order)]);
}
}

function get_datatables()
{

$this->_get_datatables_query();
if($_POST['length'] != -1)
$this->db->limit($_POST['length'], $_POST['start']);
$query = $this->db->get();
return $query->result();
}

function count_filtered()
{
$this->_get_datatables_query();
$query = $this->db->get();
return $query->num_rows();
}

public function count_all()
{
$this->db->from($this->table);
return $this->db->count_all_results();
}
}





Silahkan sesuaikan baris berikut sesuai dengan database kalian.

var $table = 'postingan a';//nama tabel

var $column_order = array(null,'a.tanggal',null); //order berdasarkan

var $column_search = array('a.judul_postingan, a.tanggal', 'a.isi'); //cari berdasarkan

var $select_column = array('a.*'); //select all
var $order = array('a.tanggal' => 'desc'); // default order



5. Buat Controller dengan nama Coba.php lalu isi dengan kode dibawah

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Coba extends CI_Controller {

public function __construct()
{
parent::__construct();
$this->load->model('DataModel');

}

public function index()
{
$this->load->view('coba');
}

public function load()
{

$data = array();

$tampil = $this->DataModel->get_datatables();

$no = $_POST['start'];

foreach ($tampil as $key => $r) {
$no++;
$row = array();
$row[] = $no;
$row[] = $r->judul_postingan;
$row[] = $r->isi;
$row[] = $r->status;
$row[] = '<a href="javascript:; type="button" class="btn btn-xs yellow btn-outline btn-edit tooltips " title="Edit" data-action="edit" data-id="'.$r->id_postingan.'"><i class="fa fa-edit"></i> Edit</a>
';
$data[] = $row;
}

$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->DataModel->count_all(),
"recordsFiltered" => $this->DataModel->count_filtered(),
"data" => $data,
);

echo json_encode($output);
}
}




6. Hasil running akan tampak seperti gambar dibawah ini :





REST API CLIENT DENGAN RETROFIT 2 ANDROID STUDIO

 


Jika sebelumnya saya lebih banyak menggunakan volley untuk rest api client, maka kali ini kita akan menggunakan library berbeda yaitu Retrofit 2.

Pada tutorial kita akan mencoba mengambil data berformat JSON dengan menggunakan retrofit.

Silahkan ikuti langkah-langkah di bawah ini :

1. Persiapkan data yang akan di ambil contohnya disini saya menggunakan data biasa yang saya tulis sendiri dalam format JSON.


{
"id" : 123456,
"nama" : "coding rakitan",
"umur" : 23,
"username" : "coding_rakitan"
}




2. Buka project yang ini di implementasikan penggunaan retrofit 2.

3. Buka build.gradle (Module: app) kemudian tambahkan dependencies berikut kemudian klik sync now.

// Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.1.0'

// JSON Parsing
implementation 'com.google.code.gson:gson:2.6.1'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'


4. Tambahkan izin penggunaan internet pada AndroidManifest.xml

...
<uses-permission android:name="android.permission.INTERNET"/>
...


Dan tambahkan pula code android:usesCleartextTraffic="true" kedalam tag aplication di AndroidManifest.xml.

...
<application
...
android:usesCleartextTraffic="true"
>
...


5. Buat sebuah package baru dengan nama "data" yang akan menampung 3 calass seperti DataModel, RetrofitClient, dan APIService.





6. Isi DataModel seperti berikut :

public class DataModel {
@SerializedName("id")
@Expose
private Integer id;

@SerializedName("nama")
@Expose
private String nama;

@SerializedName("umur")
@Expose
private Integer umur;

@SerializedName("username")
@Expose
private String username;



public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getNama() {
return nama;
}

public void setNama(String nama) {
this.nama = nama;
}

public Integer getUmur() {
return umur;
}

public void setUmur(Integer umur) {
this.umur = umur;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}
}




7. Isi RetrofitClient seperti berikut :

public class RetrofitClient {
private static Retrofit retrofit = null;
private static final String IP = "192.168.43.140";
public static final String BASE_URL = "http://" +IP + "/retrofit/";

public static Retrofit getClient() {
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}


Catatan : Ganti ip dengan ip atau domain server kalian.

8. Isi APIService seperti berikut :

public interface APIService {
@GET("data.json")
Call<DataModel> getData();
}



9. Sekarang kode sudah bisa dijalankan pada activity ataupun class lain untuk mengambil data json. Sebagai contoh penggunaan pada MainActivity seperti berikut :

public class MainActivity extends AppCompatActivity {

Call<DataModel> data;
APIService apiService;

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

apiService = RetrofitClient.getClient().create(APIService.class);


data = apiService.getData();
data.enqueue(new Callback<DataModel>() {
@Override
public void onResponse(Call<DataModel> call, Response<DataModel> response) {
Log.d("DataModel", ""+new Gson().toJson(response.body()));
if (response.isSuccessful()){

Toast.makeText(MainActivity.this, "success", Toast.LENGTH_SHORT).show();
}else{
Log.d("errt", ""+response.errorBody());
Toast.makeText(MainActivity.this, ""+response.errorBody(), Toast.LENGTH_SHORT).show();
}
}

@Override
public void onFailure(Call<DataModel> call, Throwable t) {
Log.d("DataModel", ""+t.getMessage());
Toast.makeText(getApplicationContext(), "Error : " + t.getMessage(), Toast.LENGTH_LONG).show();
}
});

}
}



Pada kode di atas menginstruksikan program untuk menampilkan respon JSON pada log maka anda bisa melihat hasilnya pada logchat seperti berikut :





Inilah Cara Login ke Server dengan Putty

 


Putty merupakan aplikasi opern-sorce yang berguna untuk melakukan remote access, seperti RLogin, SSH dan Telnet. Salah satu keunggulan menggunakan putty kita dapat menjalankan command ke server.

Berikut Cara Login ke Server dengan Putty

1. Buka aplikasi Putty





2. Isi Host Name (or IP address) dengan ip hosting kalian, sedangkan port isi 22, conection type pilih SSH





3. Selanjutnya akan tampil seperti gambar berikut, isi login as dengan username hosting kemudian masukkan juga password.





Catatan : Selama mengisi password tidak akan ada karakter yang muncul. 

4. Apabila muncul tampilan seperti gambar dibawah menandakan aplikasi sudah siap digunakan untuk mengirm perintah command ke server.





Catatan : Putty dapat digunakan bersama WinSCP yaitu aplikasi management file yang mirip dengan FileZilla.