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...



Tuesday, May 1, 2018

Cara mengambil data GET dari URL dengan javascript

Cara mengambil data GET dari URL dengan javascript

Sebelum ke pembahasan utama, kira-kira menurut kamu apakah yang disebut data GET itu? Ya benar, data GET merupakan sebuah data yang dikirimkan dari form lewat sebuah URL, cara ini biasanya bisa dilakukan oleh form yang mepunyai method GET. Tapi tanpa form pun untuk cara ini kamu masih tetap bisa menuliskan parameternya secara manual dengan format :

http://example-domain.com?firstname=kang&lastname=cahya

Setelah nama domain kamu harus menambahkan tanda tanya (?) dan kemudian setelahnya di iringi dengan penulisan parameter yang kamu inginkan. Jika parameter yang ingin kamu kirim lebih dari satu, kamu bisa menambahkan simbol dan (&), seperti yang terlihat pada contoh URL diatas. Disana terdapat 2 parameter GET, yaitu firstname dan lastname, sampai disini saya harap kamu dapat memahaminya.

Tapi inti dari tulisan bukanlah itu, disini saya akan membahas seputar "bagaimana cara mengambil data GET dari URL dengan javascript". Mungkin jika menggunakan PHP akan sangat sederhana untuk melakukan hal ini, kamu cukup menggunakan $_GET untuk mengambil data GET dari URL. Beda dengan javascript, disini kita tidak punya fungsi langsung (setahu saya) seperti yang tersedia pada PHP. Maka dari itu untuk melakukan hal ini kita memerlukan sebuah fungsi dimana fungsi itu kita sendiri yang buat.

SEBUAH FUNGSI

Ini adalah fungsi yang saya buat sendiri, dimana kegunaan dari fungsi ini adalah untuk mengambil data GET yang tersemat di URL. Kurang lebih seperti ini fungsinya :

function getUrlVars(param=null)
{
	if(param !== null)
	{
		var vars = [], hash;
		var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
		for(var i = 0; i < hashes.length; i++)
		{
			hash = hashes[i].split('=');
			vars.push(hash[0]);
			vars[hash[0]] = hash[1];
		}
		return vars[param];
	} 
	else 
	{
		return null;
	}
}

MENGGUNAKAN FUNGSI

Asumsikan kita sedang berada dihalaman web dengan URL seperti ini :

http://example-domain.com?firstname=kang&lastname=cahya

Lalu kamu ingin mengambil data GET yang ada di URL tersebut dengan fungsi yang telah di buat tadi. Seperti ini caranya :

var param1 = getUrlVars("firstname");
alert(param1);

var param2 = getUrlVars("lastname");
alert(param2);

Kamu cukup sebutkan nama parameternya didalam fungsi tadi, contohnya seperi pada sintak diatas, maka value dari parameter tersebut akan otomatis terambil.

LIVE CODE

Ini adalah live code yang saya posting di jsfiddle :



PENUTUP

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

Tschuss...

Sunday, April 29, 2018

Menonaktifkan spasi pada inputan dengan jquery

Menonaktifkan spasi pada inputan dengan jquery

Pada tulisan kali ini saya ingin membahas seputar jquery, dimana topik inti dari tulisan ini adalah tentang bagaimana cara menonaktifkan spasi pada inputan dengan menggunakan jquery.

GAMBARAN

Untuk membuat ini cukuplah sederhana, dimana nanti kita akan menggunakan sebuah listener yang dipadukan dengan fungsi replace. Jadi saat user mengetik, kemudian pada ketikannya itu terdapat karakter spasi maka akan kita remove dengan fungsi replace.

KODING

Untuk versi jquery yang saya gunakan adalah versi 2.2.4, kamu bisa mendapatkannya disini : https://cdnjs.com/libraries/jquery/2.2.4, jangan lupa diload terlebih dahulu sebelum menulis kode selanjutnya :

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

Kemudian disini saya punya sebuah inputan sederhana sebagai berikut :

<input id="form-input" placeholder="Type some text here...">

Lalu diikuti dengan sintak jquery seperti ini :

$("#form-input").on({
 keydown: function(e) {
   if (e.which === 32)
     return false;
  },
  keyup: function(){
   this.value = this.value.toLowerCase();
  },
  change: function() {
    this.value = this.value.replace(/\s/g, "");
    
  }
});

Sintak utamanya ada pada fungsi keydown dan change, dimana saat ada perubahan maka fungsi itu akan secara otomatis berjalan, lalu saat inputan yang dimasukan mengandung spasi maka fungsi itu akan otomatis menghapusnya. Disana saya juga menambahkan fungsi keyup dimana saat inputan dimasukan maka semua karakter akan berubah menjadi huruf kecil, jika kamu ingin merubahnya menjadi hurup besar caranya kamu cukup ubah bagian "toLowerCase()" menjadi "toUpperCase()".

Agar tampilah inputan tidak terlihat polos, kita bisa tambahkan sedikit rias dengan CSS, kurang lebih seperti ini, bagian ini bersifat optional, kamu tidak tambahkan pun tidak jadi masalah.

input {
  border: 3px solid #9E9E9E;
  border-radius: 5px;
  height: 45px;
  width: 450px;
  font-size: 24px;
  color: #212121;
  margin: 25px 0px 0px 25px;
  padding: 15px;
}

 

Diatas merupakan gambar inputan yang sudah kita beri CSS.

DEMO & FULL KODE




PENUTUP

Mungkin tulisan ini saya cukupkan sampai disini, semoga bermanfaat.
Tschuss...

Thursday, April 26, 2018

Berkenalan dengan "Snaps" sebuah universal Linux package

 Berkenalan dengan "Snaps" sebuah universal Linux package

Snaps merupakan sebuah (bisa dibilang platform) yang menyediakan berbagai macam paket aplikasi untuk LINUX. Snaps ini adalah sebuah "Universal Linux Package", kenapa saya katakan universal? Karena banyak distro linux yang sudah dia dukung, seperti ubuntu, debian, fedora, arch dan lain-lain, lengkapnya kamu bisa lihat disini.

Berkenalan dengan "Snaps" sebuah universal Linux package

Untuk melalukan pemasangan aplikasi menggunakan snaps sangatlah mudah, caranya hampir sama seperti kita menggunakan perintah bawaan masing-masing distro. Untuk penerapannya sendiri, disini saya menggunakan distro linux "UBUNTU". Sekarang mari kita coba mulai :

INSTALASI

Snaps merupakan aplikasi pihak ketiga, maksudnya bukan aplikasi bawaan dari distro yang dipakai, jadi sebagai langkah awal untuk menggunakan snaps, disini kita akan coba melakukan pemasangan snaps-nya terlebih dahulu. Ketikan perintah berikut pada terminal untuk melakukan instalasi :

sudo apt update
sudo apt install snapd

CEK APLIKASI TERINSTAL

Kamu juga bisa melihat aplikasi apa yang sudah kamu pasang menggunakan snaps, caranya ketikan perintah berikut :

sudo snap list

MENCARI APLIKASI YANG TERSEDIA

Untuk mencari tahu apakah paket yang kamu ingin pasang itu tersedia atau tidak, untuk mengeceknya kamu bisa ketikan perintah :

sudo snap find <nama paket aplikasi>

Untuk bagian ini sebenarnya ada cara lain. Caranya kamu bisa mengunjungi langsung store dari snaps itu sendiri disini : https://snapcraft.io/store

Berkenalan dengan "Snaps" sebuah universal Linux package


MEMASANG APLIKASI

Cara memasang aplikasi menggunakan snaps cukup mudah, cukup dengan perintah seperti ini saja :

sudo snap install <nama paket aplikasi>

MEMPERBAHARUI APLIKASI

Saat ada pembaharuan aplikasi kamu juga dapat memperbaharuinya dengan mudah, caranya dengan mengetikan perintah :

sudo snap refresh <nama paket aplikasi>

Jika kamu tidak mau ribet karena harus memperbaharui apliakasi satu per satu, dengan snaps kamu bisa memperbaharui semua apliaksi sekaligus, caranya :

sudo snap refresh

REVERT VERSI APLIKASI

Kasusnya jika kamu sudah terlanjur memperbaharui aplikasi ke versi terbaru tapi kamu ingin mengembalikannya ke versi yang sebelumnya, kamu bisa menggunakan perintah :

sudo snap revert <nama paket aplikasi>

MENGHAPUS APLIKASI

Untuk menghapus aplikasi disnaps, kamu cukup ketikan perintah :

sudo snap remove <nama paket aplikasi>

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

Tschuss...