Saturday, September 15, 2018

Cara memperbaiki itemTap yang tidak menyala saat ada tombol didalam template listview nativescript

Cara memperbaiki itemTap yang tidak menyala saat ada tombol didalam template listview nativescript

Pada pembahasan kali ini saya akan berbagi seputar cara memperbaiki itemTap yang tidak menyala saat ada button didalam template listview. Menurut asumsi saya, penyebab utama kenapa hal ini tidak berjalan sebagaimana mestinya adalah karna si listener kebingungan, dimana didalam listview itu sendiri ada listener dengan nama itemTap, dan di dalam button ada listener dengan nama tap.

Pertanyaan utama yang akan muncul adalah, apakah hal ini bisa kita atasi? jawabannya tentu bisa, berikut adalah caranya.

Ibaratkan kita punya listview sederhana seperti ini:

<ListView items="{{ items }}" itemTap="onTap">
    <ListView.itemTemplate>
      <StackLayout>
        <Label text="{{ city }}" />
        <Button text="Button" tap="btnTap" />
      </StackLayout>
    </ListView.itemTemplate>
</ListView>

Sintak diatas masih dalam keadaan tidak bejalan dengan baik, Dan cara menyelesaikan masalah ini cukuplah mudah, caranya sederhana, kamu cukup tambahkan atribut loaded pada tag buttonnya, seperti ini :

<ListView items="{{ items }}" itemTap="onTap">
    <ListView.itemTemplate>
      <StackLayout>
        <Label text="{{ city }}" />
        <Button text="Button" tap="btnTap" loaded="btnLoaded" />
      </StackLayout>
    </ListView.itemTemplate>
</ListView>

Tunggu ini masih belum beres, tugas kamu selanjutnya adalah menghandle fungsi btnLoadednya di bagian JS-nya, caranya :

exports.btnLoaded = function (args) {
    var btn = args.object;
    btn.android.setFocusable(false);
};

Jika sudah, coba kamu test kembali apakah sekarang listenernya sudah berjalan dengan normal apa belum, seharusnya sih sudah berjalan normal. Saya mempraktikan cara ini pada nativescript 4.x. Perlu kamu ketahui, isu ini sudah ada dari nativescript yang dahulu di tahun 2015.

Mungkin saya cukupkan dulu sampai disini, semoga tulisan ini bermanfaat dan dapat membantu kamu yah :)

Cara membuat download file di nativescript dengan javascript

Cara membuat download file di nativescript dengan javascript

Pada pembahasan kali ini saya ingin berbagi cara membuat download file di nativescript. Cara membuatnya cukup mudah, disini kita memerlukan dua buah module untuk membuatnya, yaitu module file-system dan http. Untuk module file-system disini akan berfungsi untuk menyimpan file yang diambil oleh module http ke lokal memori kamu.

Pada praktiknya ini saya menggunakan nativescript 4.x, tapi cara ini masih bisa di pakai untuk kamu yang masih menggunakan nativescript 3.x, soalnya dulu sintak ini saya buat di nativescript 3. Paling jika kamu ingin menggunakannya di nativescript 3 akan ada sedikit perubahan, contohnya pada bagian sintak dialog alert, silahkan dicoba saja :)

XML VIEW
Langkah pertama buat tombol sederhana untuk mentriger fungsi downloadnya, lalu agar terlihat dinamis link filenya sekalian di sematkan pada tombol itu sendiri, berikut sintaknya :

<Button text="Download File" url="http://ex.com/haha.pdf" tap="downloadFile" />

Pada atribut "url" diatas kamu bisa juga isi dengan variabel agar semakin dinamis. Lalu atribut "tap" diatas merupakan atribut listener, diakan otomatis tertriger saat tombol di tekan.

JAVASCRIPT CONTROLLER
Langkah selanjutnya, pada sisi JS kita akan membuat sebuah fungsi sederhana dengan nama "downloadFile", berikut sintaknya :

const fs = require('file-system');
const http = require("http");

exports.download = function (args) {
    let data = args.object;

    var androidDownloadsPath = android.os.Environment.getExternalStoragePublicDirectory(android.os.Environment.DIRECTORY_DOWNLOADS).toString();

    let url = data.get("url");
    let filename = url.substring(url.lastIndexOf('/') + 1);
    let saveLocation = fs.path.join(androidDownloadsPath, filename);

    http.getFile(url, saveLocation).then(function (file) {
        alert("Successfully downloaded").then(() => { });
    }).catch(function (error) {
        alert("error occurred!").then(() => { });
    });
};

Source : https://gist.github.com/dyazincahya/8d4fce09f5249565147d85fe4ef6ee0c

KETERANGAN
Pertama, kamu load terlebih dahulu module yang kamu butuhkan dengan cara mengetikan :

const fs = require('file-system');
const http = require("http");

Kedua, untuk mengambil data url yang disematkan pada atribut "url" caranya mudah, kamu cukup ketikan sintak seperti :

let data = args.object;
let url = data.get("url");

Ketga, pada contoh ini saya menyimpan file yang sudah di download ke folder "download" yang terdapat di memori kamu. Lalu untuk mengakses folder download itu sendiri kamu bisa menggunakan sintak :

var androidDownloadsPath = android.os.Environment.getExternalStoragePublicDirectory(android.os.Environment.DIRECTORY_DOWNLOADS).toString();

Keempat, untuk mendapatkan nama file yang terdapat pada url, kamu bisa menggunakan sintak :

let filename = url.substring(url.lastIndexOf('/') + 1);

Kemudian untuk sisanya kamu bisa baca sendiri pada sintak diatas.

SETTING PERMISSION
Oh iya hampir saja lupa, untuk praktiknya, kamu jangan lupa untuk mengatur permmisionnya terlebih dahulu agar file bisa tersimpan ke lokal memori, cara sederhananya kamu tinggal sematkan sintak ini ke MY_Project/app/App_Resources/Android/scr/main/AndroidManifest.xml

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

Letakan sintak diatas tepat didalam tag <manifest...> sematkan disini </manifest>.

Jika cara diatas belum berhasil, kamu bisa menggunakan bantuan plugin nativescript-permmision (https://github.com/nathanaela/nativescript-permissions).

Mungkin pembahasannya saya cukupkan sampai disini dulu, jika ada yang masih bingung bisa tanyakan saja dikolom komentar. Semoga bermanfaat yah :)






Monday, August 27, 2018

Tips memilih hosting untuk website bisnis online

Tips memilih hosting untuk website bisnis online


Di era digital ini semua serba mudah dan cepat, apa lagi untuk urusan berbisnis. dengan adanya internet bisnis bisa dilakukan secara online tanpa harus kita menjajakan secara manual dengan bertatap langsung dengan sang pembeli. Alat yang dapat membantu kamu dalam menjalankan bisnis online adalah website salah satunya, dimana dengan website kamu dapat menjangkau seluruh pengguna internet dimana pun mereka berada.

Jika berbicara soal website tentunya kita memerlukan sebuah hosting untuk mempublikasikan website yang kamu miliki. Pada pembahasan kali ini saya ingin berbagi sedikit tips untuk kamu yang ingin membeli hosting untuk website bisnis online. Ada beberapa hal yang kamu harus perhatikan ketika ingin membeli hosting, diantaranya :

DISK SPACE
Hosting itu mirip seperti laptop atau komputer, dimana ada tempat penyimpanan yang berfungsi untuk menyimpan data-data. Dalam memilih hosting perlu sekali kamu memperhatikan hal yang satu ini, karena semakin populer atau besar website bisnis online kamu, maka tempat penyimpanan yang diperlukan akan bertambah besar pula, oleh karna itu pada bagian ini kamu memerlukan hosting dengan layanan disk space unlimited kalau bisa.

SERVER UPTIME
Dalam dunia digital, setiap website yang terpublikasi di internet tidaklah selalu berjalan mulus, kadang ada waktunya down dikarenakan ada hal-hal yang tak terduga, misalnya server tempat kita hosting mati lampu atau hal lainnya. Jika terjadi down, otomatis website kita tidak dapat di akses oleh khalayak pengguna internet, jika hal terjadi otomatis akan merugikan kita sebagai pelaku bisnis online. Oleh karena itu pada bagian ini kita sangat memerlukan hosting yang memiliki server uptime yang cepat.

BANDWIDTH
Bandwidth adalah suatu nilai konsumsi transfer data. Pada bagian ini, logika sederhananya adalah, semakin banyak website kita dikunjungi orang, maka akan semakin besar pula bandwidth yang di butuhkan. Apa yang akan terjadi jika hosting kita kehabisan bandwidth? Simpelnya website kita akan down, efeknya, website kita tidak bisa di kunjungi orang. Maka dari itu kita sangat perlu hosting yang dapat menyediakan bandwidth unlimited agar website kita akan selalu UP.

FREE DOMAIN
Ini sebenarnya tidak terlalu penting, tapi jika ada hosting yang dapat menyediakan free domain ya kenapa tidak, ini dapat menghemat biaya pembelian hosting beberatus ribu.

FREE SSL
Ini penting untuk keamanan website bisnis online kamu, hampir semua pelaku bisnis online di internet banyak yang menerapkan SSL di websitenya, secara dengan terpasangnya SSL website kamu akan berjalan diatas protokol HTTPS, ini akan lebih aman dibanding dengan HTTP. Dan jika penyedia hosting menyediakan free SSL hal akan menghemat biaya pengamanan website kamu beberapa ratus ribu.

Sebenarnya banyak sekali point yang perlu kamu perhatikan, namun jika posisimu masih baru mau memulai, point-point diatas sudah mewakili semuanya, karena biasanya untuk yang baru saja memulai berbisnis online akan agak kesulitan dari segi anggaran biaya.

Saya punya rekomendasi tempat hosting yang mungkin bisa cocok dengan kamu, hampir semua point yang disebutkan diatas tersedia disana, tentunya dengan harga yang terjangkau untuk kamu yang ingin baru membangun kerajaan usaha yang berbasis online.

Niagahoster namanya, hosting yang menyediakan unlimited space, server uptime sampai 99.9%, unlimited bandwidth, domain murah ada juga free domain, free SSL dan lainnya, tentunya dengan harga yang masih ramah di kantong.

Mungkin tulisan kali ini saya cukupkan sampai disini dahulu, semoga tulisan ini bisa bermanfaat untuk kamu yang masih kebingungan dalam memilih sebuah hosting untuk berbisnis online, saya pamit unduh diri, terima kasih :)



============================
Artikel ini disponsori oleh NiagaHoster 
niagahoster

Tuesday, August 7, 2018

Contoh CURL GET dan POST di PHP

Contoh CURL GET dan POST di PHP

cURL merupakan sebuah program atau library yang berfungsi untuk mengirim atau mengambil sebuah data melalui URL. Sebelum kamu menggunakan cURL, langkah awal kamu harus menginstallnya terlebih dahulu. Pada kasus ini saya menggunakan Linux Ubuntu dan PHP 5.6.

MEMASANG CURL

Langkah pertama jalankan perintah berikut pada terminal satu persatu,

Jalankan perintah ini jika pada OS kamu belum tersedia PPA dari ondrej/php

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Jika kondisi kamu belum terinstall PHP, silahkan jalankan dahulu perintah ini

sudo apt-get update
sudo apt-get install php5.6
php — version

Jika kondisinya PHP sudah terinstall silahkan langsung jalankan perintah

sudo apt-get update
sudo apt-get install php5.6-curl

cURL POST

Berikut ini adalah contoh sintak untuk cURL POST

$url = "https://example.com/jsdhfjsdhf"; 
$data = "param1=abcd&param2=abcd&param3=abcd";

$ch = curl_init(); 

curl_setopt_array($ch, [ 
    CURLOPT_URL             => $url, 
    CURLOPT_POST            => true, 
    CURLOPT_POSTFIELDS      => $data, 
    CURLOPT_RETURNTRANSFER  => true 
]); 

$return = curl_exec($ch); 
curl_close ($ch);

Sangat sederhana, kamu hanya perlu mengganti URL dan mengisi parameter yang di post pada variable $data, lalu pada variable $return merupakan response dari API yang kamu HIT.

cURL GET

Berikut ini adalah contoh sintak untuk cURL POST

$url = "https://example.com/jsdhfjsdhf?param1=abcd&param2=abcd"; 
$authorization = "Authorization: Bearer gusjf97897979gu(^*&yujh"; 

$ch = curl_init(); 

curl_setopt_array($ch, [ 
    CURLOPT_RETURNTRANSFER  => true, 
    CURLOPT_HTTPGET         => true, 
    CURLOPT_HTTPHEADER      => [$authorization], 
    CURLOPT_URL             => $url 
]); 
    
$return = curl_exec($ch); 
curl_close($ch); 

Berbeda dengan cURL POST, untuk GET ini parameter bisa kamu letakan didalam URL, lalu kita juga bisa memasukan header jika di butuhkan. Untuk response terdapat pada variable $return.

Thursday, July 5, 2018

Seputar fungsi INTERSECT dan EXCEPT di MYSQL dan Alternatif-nya

Seputar fungsi INTERSECT dan EXCEPT di MYSQL dan Alternatif-nya

Cukup kaget awalnya dengan materi ini, secara saya pribadi baru kali ini mendengar istilah INTERSECT dan EXCEPT di mysql. Karna memang selama ini saya merasa belum pernah menggunakan fungsi tersebut, untuk UNION sendiri sudah tidaklah asing mungkin.

Maksud dari INTERSECT ini merupakan sebuan fungsi yang berguna untuk menampilkan irisan dari dua tabel atau lebih. Lalu untuk EXCEPT, dari namanya sudah ketahuan, tanpa saya kasih tahu pun sudah dapat tahu apa maksudnya. Singkatnya untuk EXCEPT ini mirip seperti logika NOT IN atau mungkin fungsi LEFT JOIN.

Cara penggunaan dan syarat penggunaan fungsi INTERSECT dan EXCEPT mirip seperti UNION, dimana salah satu syaratnya ialah, jumlah dan nama field harus sama.

Misal kita punya tabel dengan nama mahasiswa dimana tabel tersebut memiliki field nama, alamat dan kelas. Maka ketika kita akan mengunakan fungsi UNION, EXCEPT, atau pun INTERSECT, tabel lawannya harus memiliki jumlah dan nama field yang sama seperti tabel mahasiswa.

Tapi jika kamu coba menggunakan fungsi EXCEPT atau INTERSECT di mysql itu tidak akan berfungsi, kenapa?

Alasannya karena fungsi EXCEPT dan INTERSECT itu bukan fungsi murni dari mysql, karna memang fungsi itu tidak ada di mysql.

Tapi kamu tak perlu kwatir, disini saya punya query alternatif untuk masalah fungsi INTERSECT atau pun EXCEPT.

ALTERNATIF INTERSECT

Inti dari fungsi inteersect ini, seperti yang sudah saya katakan tadi, yaitu untuk menampilkan irisan, dimana data yang sama atau cocok saja yang akan di tampilkan. Pada kasus ini kamu bisa menggunakan kombinasi INNER JOIN dan DISTINCT.

Disini saya punya tabel dengan nama mahasiswa dengan field :
  • id int(11) auto_increment primary key
  • nama varchar(75)
  • alamat text
  • kelas varchar(20)
Lalu untuk tabel keduanya adalah table siswa dengan filed :
  • id int(11) auto_increment primary key
  • nama varchar(75)
  • alamat text
  • kelas varchar(20)
Jika mengacu pada kedua tabel di atas, maka untuk query INTERSECT-nya kurang lebih seperti ini :

SELECT DISTINCT id, nama
FROM mahasiswa
INNER JOIN siswa USING(id)

Kamu bisa mengotak-ngati sesuai yang kamu inginkan, namun kuncinya disini ada di DISTINCT dan INNER JOIN.

ALTERNATIF EXCEPT

Pada EXCEPT ini kita masih menggunakan tabel yang di pakai di pembahasan INTERSECT, yaitu tabel mahasiswa dan siswa. Jika mengacu pada kedua tabel tersebut maka untuk alternatif query EXCEPT-nya kurang lebih seperti ini :

Versi NOT IN

SELECT mhs.id 
FROM mahasiswa mhs    
WHERE mhs.id NOT IN 
(
    SELECT sw.id 
    FROM siswa sw 
    WHERE sw.id = 1
);

Versi LEFT JOIN

SELECT mhs.id 
FROM mahasiswa mhs    
LEFT JOIN siswa sw ON mhs.id = sw.id
WHERE IFNULL(sw.id, 0) != 1

Kurang lebih seperti itu, semoga kamu dapat memahaminya, dan bermanfaat ilmunya. Jadi intinya, seperti yang sudah saya katakan di awal, kalau fungsi INTERSECT dan EXCEPT itu tidak ada di MYSQL.

Mungkin pembahasan kali ini saya cukupkan sampai disini dulu, saya pamit undur diri, terima kasih.

Tschuss...

Wednesday, July 4, 2018

Cara mengatasi Network Manager yang terhapus di ubuntu

Cara mengatasi Network Manager yang terhapus di ubuntu

Network Manager terhapus, efeknya kamu tidak dapat terhubung ke jaringan internet melalui wifi atau kabel jaringan. Perangkat kamu aka terlihat polos tak berdaya. Ini adalah pengalaman yang mengenaskan yang pernah saya alami, saya secara tidak sengaja menghapus network manager saya sendiri. Sungguh malang, ditambah kejadian itu terjadi saat lagi jam kerja, dimana lagi sibuk-sibuknya dan seketika saya tidak bisa terhubung ke jaringan internet.

Tapi jangan panik, dari kejadian tersebut saya bisa mendapat ilmu yang saya tuangkan dalam tulisan ini. Tidak bisa terkoneksi internet, bingung ga bisa ngapa-ngapain. Seperti yang sudah saya bilang tadi, jangan panik, masih ada solusi untuk memecahkan masalah ini, tanpa panjang lebar kita langsung masuk saja ke topik utamanya.

HOW TO FIX

Pertama, sederhananya jika Network Manager kamu terhapus, kamu cukup langsung memasangnya lagi dengan cara mengetikan perintah berikut ini di terminal :

sudo apt-get install network-manager network-manager-gnome

Solusinya terlihat mudah, namun disini kondisi kita sedang tidak bisa terkoneksi jaringan internet sedangkan untuk melakukan instalasi mengunakan sudo, kita perlu yang namanya internet. Jadi fix cara itu tidak berguna.

Solusi paling pas untuk langkah pertama ini adalah dengan cara mengunduh package nework-manager.deb di internet menggunakan device handphone. Kamu bisa mengunduh packagenya di http://ch.archive.ubuntu.com/ubuntu/pool/main/n/network-manager/, unduh package network-manager sesuai versi perangkat ubuntu yang sedang kamu gunakan, pada kasus ini saya sendiri menggunakan ubuntu 16.04 LTS, jadi saya mengunduh network manager untuk versi ubuntu ini : http://ch.archive.ubuntu.com/ubuntu/pool/main/n/network-manager/libnm-dev_1.2.6-0ubuntu0.16.04.2_amd64.deb

Kedua, jika package sudah selesai di unduh, salin package tadi dari handphone ke perangkat ubuntu kemudian double clik package network managernya lalu ikuti langkah instalasi menggunakan tampilan GUI di ubuntu software.

Ketiga, network manager selesai di instalasi, lakukan reboot OS, tunggu sampai menyala kembali. Pada tahap ini seharusnya perangkat kamu sudah bisa terkoneksi ke jaringan internet, normal seperti sedia kala. Namun jika sampai langkah ini belum juga beres, maka terpaksa kamu harus lanjut ke cara selanjutnya.

Keempat, jika kamu memasang software network manager pihak ketiga seperti Wicd Network Manager atau semacamnya, saya sarankan untuk menghapusnya dahulu. Jika langkah ini sudah di lakukan, lanjut ke langkah berikutnya.

Kelima, lakukan restart service network manager, caranya dengan mengetikan perintah berikut di terminal :

sudo service network-manager restart

Keenam, kill network manager applet, caranya :

killall nm-applet && nm-applet &

Sudah sampai langkah ke enam seharusnya sekarang ubuntu kamu sudah bisa terhubung ke jaringan internet lagi :)

Mungkin untuk pembahasan kali ini saya cukupkan sampai disini dahulu, semoga bermanfaat ya, terima kasih.

Tschuss...

Cara memperbaiki network ubuntu wifi tidak terdeteksi

Cara memperbaiki network ubuntu wifi tidak terdeteksi

Sebelum masuk ke topik utama, saya akan sedikit menceritakan kronologi kenapa network di tempat saya tidak dapat mendeteksi wifi. Ceritanya waktu itu saya iseng nyobain aplikasi network manager untuk ubuntu dari pihak ke-3 yaitu WICD NETWORK MANAGER, pas saya pasang aplikasi itu terus saya coba pakai aplikasinya, tapi sehabis itu mendadak network manager bawaan ubuntu error, wifi yang ada di sekitar saya tidak terdeteksi. Agak sedikit panik, dan saat itu juga saya langsung buru-buru menghapus aplikasi itu, tapi network manager saya tak kunjung membaik juga, tetap tidak bisa mendeteksi wifi.

Kurang lebih seperti itu kejadiannya dan pada kasus ini saya menggunakan ubuntu 16.04 LTS. Mungkin untuk kamu yang mengalami hal yang sama seperti saya, yaitu wifi tidak terdeteksi, solusi ini mungkin cocokk buat kamu coba.

HOW TO FIX

Pertama, hapus wicd network manager, caranya :

sudo apt-get purge wicd*

Kedua, lakukan restart service network manager, caranya :

sudo service network-manager restart

Ketiga, kill network manager applet, caranya :

killall nm-applet && nm-applet &

Dan seharusnya sekarang ubuntu kamu sudah bisa mendeteksi wifi lagi :)

Mungkin cukup sekian untuk postingan kali ini, semoga materinya bermanfaat, terima kasih.


Sunday, May 13, 2018

Cara mudah memformat flashdisk dengan terminal di ubuntu

Cara mudah memformat flashdisk dengan terminal di ubuntu

Pada tulisan kali ini saya akan sedikit membahas seputar cara memformat flashdisk dengan terminal diubuntu. Cara ini bisa menjadi cara andalan jika flashdisk kamu tidak bisa di format dengan cara yang biasa. Cara biasa yang di maksud itu adalah, dengan melakukan klik kanan pada device flashdisk kamu lalu klik format.

Dibeberapa kondisi, kadang cara memformat flashdisk dengan cara biasa kadang suka tidak berhasil. Cara satu ini adalah solusi baik untuk kamu yang ingin memformat isi flashdisk kamu. Caranya cukup mudah dan cepat untuk di praktikan. Pada praktik ini disini saya menggunakan UBUNTU 16.04. Baiklah kita langsung saya ke pokok pembahasan.

STEP BY STEP

Pertama, buka terminal, cara cepat kamu bisa menekan CTRL+ALT+T

Kedua, ketikan perintah sudo fdisk -l atau df -h untuk melihat device yang ada. Pada gambar dibawah ini flashdisk saya memiliki udev dengan nama /dev/sdb1.

Cara mudah memformat flashdisk dengan terminal di ubuntu

Ketiga, jika nama udev sudah diketahui, lalukan umount pada flashdisk kamu dengan mengetikan perintah sudo umount /dev/sdb1.

Keempat, jika flashdisk sudah di umount, kamu bisa langsung memformatnya dengan cara mengetikan perintah sudo mkfs.vfat /dev/sdb1.

Kelima, tunggu sampai proses selesai, dan hasilnya flashdisk kamu menjadi bersih kembali.

Mungkin tulisan kali ini saya cukupkan sampai disini dulu, semoga bermanfaat, terima kasih.
Tshcuss...

Monday, May 7, 2018

Cara mudah membuat USB bootable di ubuntu

Cara mudah membuat USB bootable di ubuntu

Tidaklah sulit untuk membuat USB bootable di ubuntu, karena dari OS-nya sendiri sudah menyediakan aplikasi bawaan untuk melakukan hal tersebut. Sebenarnya ada dua cara untuk membuat USB bootable di ubuntu, pertama pakai terminal dan yang kedua aplikasi aplikasi. Seperti yang tertera pada judul disini saya akan berbagi cara mudahnya saja, maka dari itu disini saya akan membahas yang bagian menggunakan aplikasinya saja.

Untuk praktiknya saya menggunakan ubuntu 16.04 Unity dan jangan lupa pula siapkan iso file yang ingin di bootable. Tanpa lama-lama lagi kita langsung masuk ke pokok pembahasannya saja.

STEP BY STEP

Pertama, cari aplikasi dengan nama startup disk, seperti yang ada pada gambar di atas.

 Cara mudah membuat USB bootable di ubuntu

Kedua, Jika aplikasi di buka, akan terlihat pada gambara di atas ini. Kemudian disana akan terbaca flashdisk yang ingin kamu jadikan bootable, pilih salah satu jika flashdisk terbaca lebih dari satu. lalu untuk mencari file .iso kamu bisa tekan tombol other.

Cara mudah membuat USB bootable di ubuntu

Ketiga, jika semua sudah oke, tinggal klik tombol make startup disk. Biasanya akan muncul konfirmasi, klik saja yes.

Cara mudah membuat USB bootable di ubuntu
Keempat, tunggu proses sampai selesai. Agak lumayan lama prosesnya sekitar 5 sampai 10 menit.

Cara mudah membuat USB bootable di ubuntu

Kelima, jika sudah beres, klik Quit saja, dan sekarang kamu bisa melihat hasilnya seperti ini

Cara mudah membuat USB bootable di ubuntu

Cukup sampai disini dulu, semoga bermanfaat, tschuss...


Cara mudah instal LIBXL di ubuntu

Cara mudah instal LIBXL di ubuntu

LIBXL merupakan sebuah library yang dapat memudahkan kita dalam mengolah data berupa spreadsheet atau yang lebih kita kenal dengan excel. LibXL dapat membaca dan menulis file Excel tanpa menggunakan Microsoft Excel dan .NET framework atau aplikasi spreadsheet lainnya. Fitur yang ada di LIBXL mudah digunakan dan kuat untuk pemrosesan data dalam skala besar.

LibXL dapat membantu aplikasi kamu dalam mengekspor dan mengimpor data ke atau dari file Excel. Library ini dapat digunakan dalam bahasa pemrograman seperti C, C++, C#, Delphi, Fortran dan lainnya. Mendukung format biner Excel 97-2003 (xls) dan format xml Excel 2007-2016 (xlsx / xlsm). Mendukung platform Unicode dan 64-bit. Library ini mendukung OS seperti linux, widows dan mac.

Barusan adalah sedikit intermezo seputar libxl, nah dipembahasan kali ini saya ingin membahas seputar cara instal library libxl di linux, karena sebelumnya saya sempat kesulitan untuk memasang libxl di linux, cari tutorial sana sini masih belum berhasil dan pada akhirnya berhasil juga.

Proses instalasi libxl di linux cukup panjang, tapi tenang, di tulisan ini saya sudah buat semuanya jadi ringkas tanpa ribet. Cukup satu, dua tiga kali aksi instalasi beres, asal kamu dapat pastikan perangkat kamu terhubung dengan internet.

Requirement instalasi
  • Ubuntu 16.04 64bit
  • PHP5.6 from ondrej/php ppa
  • Libxl 3.8.0
  • unzip, wget, dan
  • sudo access 
Cara ini bisa kamu coba untuk ubuntu versi tebaru 18.04.

INSTALASI

Pertama, salin kode di bawah ini, lalu simpan dengan ekstensi .sh . Pada bagian LIBXL_VERSION dan LIBXL_ARCHIVE_VERSION kamu bisa sesuaikan versinya dengan versi libxl yang ingin kamu instal. Agar mudah kamu bisa download langsung kode-nya di akun gist saya di : https://gist.github.com/dyazincahya/f3bc2497e6fc476a689b2827eb49d849


TMP_DIR=/tmp

# LibXL params
LIBXL_VERSION=3.8.0
LIBXL_ARCHIVE_VERSION=3.8.0.0
LIBXL_INSTALL_PATH="/opt/libxl-$LIBXL_VERSION"
LIBXL_URL="http://www.libxl.com/download"
LIBXL_ARCHIVE="libxl-lin-$LIBXL_VERSION.tar.gz"


# PHP params
PHP_VERSION=5.6
PHP_CONFIG=`which php-config$PHP_VERSION`
PHPIZE=`which phpize$PHP_VERSION`
PHP_MODS_AVAILABLE_PATH=/etc/php/$PHP_VERSION/mods-available
PHPENMOD="phpenmod -v $PHP_VERSION"

# php_excel params
PHP_EXCEL_URL=https://github.com/Gerst20051/php_excel/archive/Excel-1.0.2.1-PHP5.zip
#https://github.com/Gerst20051/php_excel/archive/Excel-1.0.2.1-PHP5.zip #OLD_VERSION
PHP_EXCEL_ARCHIVE_DIR=php_excel-Excel-1.0.2.1-PHP5

set -e

install_libxl() {
    echo "Installing LIBXL v$LIBXL_VERSION"
    wget -O $TMP_DIR/$LIBXL_ARCHIVE $LIBXL_URL/$LIBXL_ARCHIVE
    tar zxvf $TMP_DIR/$LIBXL_ARCHIVE --directory $TMP_DIR
    sudo mkdir -p $LIBXL_INSTALL_PATH
    sudo cp -r $TMP_DIR/libxl-$LIBXL_ARCHIVE_VERSION/* $LIBXL_INSTALL_PATH
}

install_phpexcel_extension() {
    echo "Download and compling PHP_EXCEL extension for libxl"
    wget -O $TMP_DIR/php_excel.zip $PHP_EXCEL_URL
    if [ -d $TMP_DIR/$PHP_EXCEL_ARCHIVE_DIR ]; then
        # REMOVE eventual previous buils
        rm -r $TMP_DIR/$PHP_EXCEL_ARCHIVE_DIR/*
    fi
    unzip -o $TMP_DIR/php_excel.zip -d $TMP_DIR
    cd $TMP_DIR/$PHP_EXCEL_ARCHIVE_DIR/
    eval "$PHPIZE"
    ./configure --with-php-config=$PHP_CONFIG --with-libxl-incdir=$LIBXL_INSTALL_PATH/include_c/ --with-libxl-libdir=$LIBXL_INSTALL_PATH/lib64/ --with-excel=$LIBXL_INSTALL_PATH
    make
    #make test
    echo "Installing php extension (need sudo)"
    sudo make install
    echo "Install succeed, please add extension=excel.so in your php.ini"
}

register_php_extension() {
    echo "Registering available extension in $PHP_MODS_AVAILABLE_PATH/excel.ini" 
    echo "extension=excel.so" > $TMP_DIR/excel.ini
    sudo cp $TMP_DIR/excel.ini $PHP_MODS_AVAILABLE_PATH/excel.ini 
    cmd="sudo $PHPENMOD excel"
    echo "Activating: $cmd";
    eval $cmd;
}


install_libxl;
install_phpexcel_extension;
register_php_extension;

echo "Install successfull" 
echo "Optionally you can restart your fpm daemon"
echo "to reflect changes:"
echo "   sudo service php$PHP_VERSION-fpm restart";

Kedua, jika cara pertama sudah selesai di lakukan, selanjutnya tinggal jalankan file .sh tadi dengan cara mengetikan perintah berikut pada terminal. Disini saya meletakan file .sh nya di folder Download dengan nama install_libxl_php5.6.sh

Perintah untuk masuk ke folder Download

cd ~/Download

Perintah untuk mengeksekusi file install_libxl_php5.6.sh

sudo ./install_libxl_php5.6.sh

Ketiga, proses instalasi cukup memakan waktu dikarenakan ada proses download didalamnya, semua tergantung koneksi di tempat masing-masing. Tunggu sampai proses selesai, jika tidak terjadi masalah maka libxl sudah bisa langsung kamu pakai.

Mungkin cukup sekian dulu untuk pembahasan kali ini, semoga bermanfaat, tschuss...




Saturday, May 5, 2018

RawGit layanan CDN gratis untuk developer

RawGit layanan CDN gratis untuk developer

Bagi kamu para developer, tentunya tidak asingdengan yang namanya CDN.
Content Delivery Network atau yang biasa kita kenal dengan CDN merupakan sebuah sistem jaringan server untuk mendistribusikan konten (seperti : CSS & JS) yang ada dalam sebuah app/web ke berbagai pengguna diberbagai belahan dunia agar konten yang dikirim diterima lebih cepat. CDN diperuntukkan untuk app/web yang penggunanya dari berbagai belahan dunia. source

Pasti diantara kamu pernah menggunakan CDN untuk menghosting konten seperti css, js dan lainnya agar cepat saat diakses. Salah satu CDN yang populer saat ini adalah maxcdn.com dimana banyak open source populer di hosting disana, contohnya seperti bootstrap, jquery, ionicicon dan lainnya.

Nah pada tulisan ini saya ingin berbagi info tentang layanan CDN gratis yang mungkin kamu dapat gunakan nanti, karna akhir-akhir ini saya lumayan sering menggunakan layanan ini, salah satunya file-file js dan css di blog ini saya sudah menggunakan CDN tersebut.

Namanya RawGit, CDN ini cukup unik, kenapa? Layanan ini terbilang sangat sederhana, karena kita tidak perlu melakukan registrasi untuk menggunakan RawGit, kamu cukup letakan URL yang berasal dari repositori github, dan bum, seketika URL CDN kamu dengan otomatis tergenerate dan bisa langsung kamu pakai.

Hasil generate dari RawGit akan ada 2 tipe URL CDN, pertama CDN untuk production dan yang kedua development. Hal ini sepertinya tidak perlu saya jelaskan panjang lebar, tentunya sebagai sesama developer pasti kamu paham akan kedua hal tersebut.
Lalu timbul sedikit pertanyaan:
Bagaimana jika kita menggunakan repositori selain dari github?
Jawab : Untuk saat ini kebetulan dia hanya mendukung github saja, tapi tidak tahu untuk kedepannya, bisa jadi kedepannya ada pengembangan baru dengan mendukung yang lainnya seperti bitbucket, gitlab dan lainnya.
PRAKTIK

Barusan saya sudah cerita banyak, nah sekarang kita akan coba praktik mengunakan RawGit, caranya :

Pertama, push source kamu ke github.com atau ke gist.github.com, pada praktik kali ini saya akan menggunakan gist.github.com

Kedua, setelah source di push, maka kita harus membuka source yang tadi di push dalam bentuk raw, caranya buka source yang barusan di push, setelah di buka biasanya akan ada tombol raw pada bagian pojok atas kanan, seperti gambar di bawah ini

RawGit layanan CDN gratis untuk developer

Setelah tombol raw di klik, pada address bar browser, kita akan mendapatkan link raw source yang barusan kita push, ini link source milik saya

https://gist.githubusercontent.com/dyazincahya/9ecfa81d87af2bc2e36a6e9566fb67bf/raw/7c1aa38032f0f0c2c2fa0b3e09855daedc228ebf/k4ng_sitemap.js

Ketiga, link raw sudah kita dapatkan, buka https://rawgit.com, kemudian salin link raw kalian pada kolom inputan yang tersedia, setelah URL disalin, seketika akan muncul URL CDN untuk development dan production.

RawGit layanan CDN gratis untuk developer

Bagaimana, cukup mudah bukan?

Karena RawGit ini sebuah open source, kamu sebagai developer bisa juga ikut berkontribusi untuk mengembangkan RawGit, atau kamu juga bisa menghosting RawGit di tempat hosting kamu sendiri. Untuk sourcenya sendiri kamu bisa dapatkan di https://github.com/rgrove/rawgit

Mungkin tulisan ini saya cukupkan dulu sampai disini, semoga bermanfaat, tschuss...


Membuat sitemap sederhana ala kang-cahya di blogger

Membuat sitemap sederhana ala kang-cahya di blogger

Sitemap merupakan kumpulan semua judul konten yang disajikan dalam format list atau lainnya, dimana di masing-masing judul itu mempunyai link yang terhubung langsung dengan halaman yang bersangkutan. Sitemap ini berfungsi sebagai peta yang menunjukan segala hal yang ada di website tersebut, seperti ini contohnya : https://www.kang-cahya.com/p/sitemap-page.html

Membuat sitemap sederhana ala kang-cahya di blogger

Dalam pembahasan kali ini saya ingin membahas sedikit seputar cara membuat sitemap di blogger, sitemap ala kang-cahya, dimana bentuk sitemapnya nanti akan berupa list yang dikelompokan berdasarkan kategori, seperti yang nampak pada gambar di atas.

INSTALASI SITEMAP

Cara memasang sitemap di blogger sangatlah mudah, caranya :

Pertama, login ke blogger.com, lalu masuk ke menu halaman/page, klik tombol buat halaman baru.

Kedua, pada bagian judul ketikan "sitemap" atau apa bebas namanya terserah kamu. Tapi untuk blog saya sendiri pada bagian judul saya beri nama "Sitemap Page".

Ketiga, pada bagian badan konten, disana terdapat dua opsi untuk mode penulisan kontennya, yaitu compose dan html. Kita pilih opsi html.

Membuat sitemap sederhana ala kang-cahya di blogger

Keempat, salin kode dibawah ini ke badan konten


<style>
 #toc {
     width: 100%;
     margin: 5px auto;
     border-left: 1px solid #2AAF63;
 }

 .labl {
     color: #FF5F00;
     font-weight: bold;
     margin: 0 -5px;
     padding: 9px 0 10px 30px;
     background: #2AAF63;
     border: 1px solid #2AAF63;
     display: block;
 }

 .labl a {
     text-decoration: none;
     color: #FFFFFF;
     font-family: 'Roboto', sans-serif;
 }

 .labl {
     text-transform: uppercase;
 }

 .new {
     color: #E91E63;
     font-weight: bold;
     font-style: italic;
     font-family: 'Roboto', sans-serif;
 }

 .postname {
     font-weight: normal;
     background: #FFFFFF;
     margin-left: 35px;
     color: #415A6B;
 }

 .postname li {
     border-bottom: #415A6B 1px dotted;
     margin-right: 5px;
     padding: 7px 0 3px 0;
 }

 .postname li a {
     text-decoration: none;
     font-family: 'Roboto', sans-serif;
     color: #415A6B;
 }
</style>

<div id="toc">
 <script src="https://cdn.rawgit.com/dyazincahya/9ecfa81d87af2bc2e36a6e9566fb67bf/raw/52def2eea6302cf8a43f51ce268bfd78e6ae41e0/k4ng_sitemap.js" type="text/javascript"></script>
 <script src="https://www.kang-cahya.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=loadtoc"></script>
</div>

Pada bagian ini <script src="https://www.kang-cahya.com/feeds/posts/default, silahkan ganti URL kang-cahya.com degan URL blog kamu sendiri.

Kelima, jika sintak diatas sudah disalin, kamu bisa langsung simpan lalu publish. Disini ada satu bagian kode lagi, tapi ini sifatnya optional, tidak wajib. Kode ini berfungsi untuk menyembunyikan kolom komentar pada halaman sitemap. Sekali lagi, kode ini bersifat optional. Jika kamu ingin menggunakannya, kamu bisa meletakan kode ini tepat di bawah kode sitemap

<style type="text/css">
 #comments {display:none;}
</style>

Jika semua sudah dilakukan, kamu tinggal lihat hasilnya.

Mungkin tulisan ini saya cukupkan dulu sampai disini, semoga bermanfaat, tschuss...

Wednesday, May 2, 2018

Perbandingan konsumsi RAM dikeluarga UBUNTU

Perbandingan konsumsi RAM dikeluarga UBUNTU

Bulan april kemarin UBUNTU resmi merilis pembaharuan terbarunya, yaitu 18.04 yang diberi nama "Bionic Beaver". Ini adalah tahun keduanya ubuntu dimana di pembaharuan terbarunya sudah tidak menggunakan DE (desktop environment) unity. Saat ini ubuntu hanya merilis OS-nya dengan tumpuan satu DE, yaitu GNOME.

Lalu bagaimana dengan pemakaian RAM dengan DE GNOME? Apakah masih sama besarnya saat menggunakan UNITY? Untuk pemakaian RAM saat OS pertama kali dinyalakan akan memakan RAM sekitar 1.2 GB untuk GNOME.

Masih terbilang cukup besar, tapi kamu tidak perlu kwatir, jika kamu masih ingin menggunakan UBUNTU tapi dengan konsumsi RAM yang rendah, disini saya punya beberapa distro alternative yang masih serumpun dengan ubuntu. Saya harap dengan adanya tulisan ini dapat mempermudah kamu dalam menentukan pilihan OS yang cocok untuk perangkat kamu.

Ada beberapa OS alternative keluarga ubuntu yang dapat kamu gunakan, seperti :
  • Ubuntu Original (GNOME)
  • Kubuntu
  • Lubuntu
  • Xubuntu
  • Ubuntu MATE
  • Ubuntu Budgie
Lalu untuk konsumsi RAM-nya, disini saya punya sebuah grafik chart seputar RAM yang di pakai oleh masing-masing OS.

Berikut ini adalah spesifikasi komputer yang di pakai untuk test OS-nya :
  • ASUS X456UQK 
  • Partisi hardisk 10GB
  • RAM 4GB
  • Swap 0GB
  • Prosesor intel i7-7500U Generasi-7 (2.70GHzx4)
Perbandingan konsumsi RAM dikeluarga UBUNTU
https://live.amcharts.com/2YxYm/

Bagaimana? apakah kamu sudah menemukan gambaran kira-kira OS manakah yang cocok untuk perangkat kamu?

Melihat dari grafik diatas, jika kita coba urutkan dari yang kecil sampai yang terbesar maka urutannya akan menjadi seperti ini :
  • Lubuntu (228 MiB)
  • Xubuntu (361 MiB)
  • Kubuntu  (376 MiB)
  • Ubuntu MATE (922 MiB)
  • Ubuntu Budgie (1.1 GiB)
  • Ubuntu Original (1.2 GiB)
 Jika perangkat kamu jadul banget RAM-nya gak nyentuh 1 GB, kamu bisa menggunakan Lubuntu, Lubuntu next, Xubuntu, atau Kubuntu. Untuk RAM kisaran 2 GB kamu bisa menggunakan Ubuntu MATE atau Ubuntu Budgie, tapi tidak ada salahnya juga jika kamu ingin menggunakn Lubuntu, Lubuntu next, Xubuntu, atau Kubuntu. Kisaran RAM 4 GB atau lebih semuanya oke, semuanya tergantung pribadi masing-masing cocoknya sama yang mana.

Mungkin pembahasan kali ini saya cukupkan dulu sampai disini, semoga bermanfaat untuk kamu.

Tschuss...