Showing posts with label Pemprograman web. Show all posts
Showing posts with label Pemprograman web. Show all posts

menu posting responsive dengan css

1:26 AM Add Comment




Oke di kesempatan kali ini saya akan berbagi mengenai tips tips css . Saya akan kembali memberikan tips css kepada kawan kawan . Kali ini tipsnya apa ? kali ini saya kan memberikan tips ke kawan kawan bagaimana membuat tampilan menu posting responsive .  Jadi rensponsive itu meskipun kita lihat di berbagi ukuran dan yang kecil pun misalnya smartphone , akan tetap bagus . Oke kalo kawan kawan udah pada gak sabar ingin tau apa aja propery css yang akan disajikannya , langsung aja yok .



Pertama kita buat dulu HTML nya dulu . Sebelumnya photnya kalo mau ganti ganti aja .

<div id="pembungkus">
                <img src="http://sma-smk-puragabaya.sekolah-unggulan.com/asset/file/media/LOGO_puragabaya.png">
                <span>
                <p>
                                <b>SMK/SMA puragabaya</b>
                </p>
                <a href="#">Baca selengkapnya</a>
                </span>
</div>

Oke jika sudah, sekarang kita akan mulai design , oke sekarang buat css nya .

#pembungkus a{
                text-decoration:none;padding:5px;
                background-color: rgba(0,0,0,0.5);color:#fff;
                border-radius:5px;
}
#pembungkus a:hover{background-color:rgb(0,0,0);}
#pembungkus{
                text-align:center;
                position:relative;
                width: 300px;height:300px;
                overflow:hidden;
}
#pembungkus img{
                width:100%;
                height:100%;
}
#pembungkus:hover span{
                display:block;
}
#pembungkus span{
                line-height: 40px;font-size:20px;
                display:none;
                position:absolute;top:0;
                background-color: rgba(255,255,255,0.5);
                width:100%;height:100%;
}



Nah begitu kita mengerahkan mouse ke pada photo maka akan muncul “ baca selengkapnya “ . kenapa sih bisa gitu ? pertama saya mempunyai id pembungkus yang saya atur position=relative dan yang di span tinggal di atur position=absolute agar bisa di atur top=0 nya dan agar top =0 sesuai dengan parent elementnya atau sesuai dengan pembungkusnya .

Sebenarnya fixed juga bisa tetapi lebih tepatnya relative karena kalo fixed itu anti scroll . Bro kalo parent elementnya sama positionnya absolute bisa gak ? bisa , yang gak bisa itu kalo position parent element nya static . Jadi kalo kita tidak di atur pembungkus position relative maka top = 0 nya akan ke bagian paling atas browser bukan parent elementnya , mungkin sedikit membingungkan ? tetapi dengan terus ber experiment kalian akan terbiasa kok dengan ini .

Jadi sebenarnya sudah beres , tetapi kalo pake smartphone kan gak bisa hover , cara menaganinya tinggal kita gunakan saja query css . Kita akan ubah jika medianya ukuran maksimal lebarnya  800px maka yang bagian span akan ke bawah . Caranya gimana ? kita tinggal tambahkan ini ke bagian cssnnya

@media only screen and (max-width:800px){
                #pembungkus{
                                position:static;
                }
                #pembungkus img{
                                height:60%;
                }
                #pembungkus a{padding:0px;border-radius:0px;}
                #pembungkus span{
                                line-height:0;
                                display:block;
                                height:40%;
                                position:static;
                }
}

Jadi dengan @media only screen and (max-width:800px) , artinya jika medianya screen dan maksimal lebarnya 800px maka id id ini berjalan . Gimana lumanya bagus bukan ? mungkin kawan kawan kalo udah tau cara membuat responsive bisa membuat menu posting lebih bagus dan lebih baik dari yang saya buat .




Oke mungkin segitu saja cara membuat menu posting responesive dengan css . Semoga menambah wawasan dan juga tentunya semoga tipsnya bermanfaat . Oke sampai jumpa lagi di artikel yang lainnya yang lebih menarik dan juga lebih bermanfaat . 

Perbedaan NPM dan NPX: Memahami Package Manager di Node.js

8:06 PM Add Comment
NPM vs NPX

Dalam dunia pengembangan JavaScript, terutama saat bekerja dengan Node.js, Anda pasti sudah tidak asing lagi dengan istilah NPM dan NPX. Keduanya adalah alat yang sangat penting dalam ekosistem Node.js, tetapi memiliki fungsi dan tujuan yang berbeda. Mari kita bahas lebih dalam tentang perbedaan antara NPM dan NPX.


Apa Itu NPM?


NPM (Node Package Manager) adalah manajer paket default untuk Node.js. NPM memungkinkan pengembang untuk mengelola paket dan dependensi yang diperlukan dalam proyek mereka. Dengan NPM, Anda dapat menginstal, memperbarui, dan menghapus paket dengan mudah. Beberapa fitur utama NPM meliputi:

  • Instalasi Paket: Anda dapat menginstal paket dari registry NPM dengan perintah `npm install <nama-paket>`.
  • Manajemen Dependensi**: NPM secara otomatis mengelola dependensi proyek Anda dan menyimpannya dalam file `package.json`.
  • Script: NPM memungkinkan Anda untuk mendefinisikan skrip yang dapat dijalankan dengan perintah `npm run <nama-skrip>`.


Apa Itu NPX?


NPX adalah alat yang disertakan dengan NPM (mulai dari versi 5.2.0) yang memungkinkan Anda untuk menjalankan paket Node.js tanpa harus menginstalnya secara global. NPX sangat berguna untuk menjalankan skrip atau alat yang hanya perlu digunakan sekali atau jarang digunakan. Beberapa fitur utama NPX meliputi:


  • Menjalankan Paket Tanpa Instalasi: Dengan NPX, Anda dapat menjalankan paket yang tidak terinstal secara global dengan perintah `npx <nama-paket>`.
  • Versi Tertentu: NPX memungkinkan Anda untuk menjalankan versi tertentu dari paket tanpa mengubah dependensi proyek Anda.
  • Eksekusi Skrip: NPX dapat digunakan untuk menjalankan skrip yang ada di dalam proyek Anda dengan mudah.


Perbedaan Utama antara NPM dan NPX


1. Fungsi:

  • NPM: Digunakan untuk mengelola paket dan dependensi dalam proyek Node.js.
  • NPX: Digunakan untuk menjalankan paket Node.js tanpa harus menginstalnya secara global.


2. Instalasi:

  • NPM: Menginstal paket secara permanen dalam proyek atau secara global.
  • NPX: Menjalankan paket secara sementara tanpa menginstalnya.


3. Penggunaan:

  • NPM: Digunakan untuk menginstal dan mengelola dependensi proyek.
  • NPX: Digunakan untuk menjalankan skrip atau alat yang tidak perlu diinstal secara permanen.


Kapan Menggunakan NPM dan NPX?

Gunakan NPM ketika Anda perlu menginstal paket yang akan digunakan secara berkelanjutan dalam proyek Anda. Misalnya, jika Anda menggunakan framework seperti Express.js, Anda akan menginstalnya dengan NPM.

Gunakan NPX ketika Anda ingin menjalankan alat atau skrip sekali tanpa perlu menginstalnya secara global. Misalnya, jika Anda ingin menggunakan Create React App untuk membuat aplikasi React baru, Anda dapat menjalankannya dengan NPX tanpa harus menginstalnya terlebih dahulu.


Kesimpulan


NPM dan NPX adalah dua alat yang sangat berguna dalam pengembangan Node.js, tetapi memiliki fungsi yang berbeda. NPM digunakan untuk mengelola paket dan dependensi, sementara NPX memungkinkan Anda untuk menjalankan paket tanpa harus menginstalnya. Memahami perbedaan ini akan membantu Anda dalam mengelola proyek JavaScript dengan lebih efisien. Jadi, pastikan untuk menggunakan alat yang tepat sesuai kebutuhan proyek Anda!


Jika Anda memiliki pertanyaan atau ingin berbagi pengalaman menggunakan NPM dan NPX, jangan ragu untuk menghubungi kami. Selamat berkoding!


Apa Itu JSON-RPC? Protokol Komunikasi yang Sederhana dan Efisien

7:54 PM Add Comment


Dalam dunia pengembangan perangkat lunak, terutama ketika berurusan dengan komunikasi antara klien dan server, protokol yang efisien dan mudah digunakan sangatlah penting. Salah satu protokol yang sering digunakan adalah JSON-RPC. Mari kita bahas lebih dalam tentang apa itu JSON-RPC, bagaimana cara kerjanya, dan manfaatnya.


Pengertian JSON-RPC


JSON-RPC adalah protokol panggilan prosedur jarak jauh (Remote Procedure Call) yang menggunakan JSON (JavaScript Object Notation) untuk pertukaran data. JSON-RPC memungkinkan klien untuk mengirim permintaan ke server untuk mengeksekusi metode tertentu dan menerima respons kembali. Protokol ini dirancang untuk menjadi sederhana dan ringan, sehingga mudah diimplementasikan dalam berbagai bahasa pemrograman.


Cara Kerja JSON-RPC


JSON-RPC bekerja dengan cara mengirimkan objek JSON yang berisi informasi tentang metode yang akan dipanggil, parameter yang diperlukan, dan ID permintaan. Berikut adalah elemen-elemen utama dalam permintaan JSON-RPC:

  • jsonrpc: Versi protokol yang digunakan, biasanya "2.0".
  • method: Nama metode yang akan dipanggil pada server.
  • params: Parameter yang diperlukan oleh metode tersebut, dapat berupa array atau objek.
  • id: ID unik untuk mengidentifikasi permintaan dan mencocokkannya dengan respons.


Contoh permintaan JSON-RPC:


{

  "jsonrpc": "2.0",

  "method": "subtract",

  "params": [42, 23],

  "id": 1

}


Respons dari server juga berupa objek JSON yang berisi hasil eksekusi metode atau pesan kesalahan jika terjadi masalah.


Contoh respons JSON-RPC:


{

  "jsonrpc": "2.0",

  "result": 19,

  "id": 1

}



Manfaat JSON-RPC


  1. Sederhana dan Ringan: JSON-RPC dirancang untuk menjadi protokol yang sederhana dan mudah diimplementasikan. Ini membuatnya ideal untuk aplikasi yang memerlukan komunikasi cepat dan efisien antara klien dan server.
  2. Bahasa Agnostik: Karena menggunakan JSON, JSON-RPC dapat digunakan dalam berbagai bahasa pemrograman yang mendukung JSON, seperti JavaScript, Python, Java, dan banyak lagi.
  3. Dukungan untuk Batch Requests: JSON-RPC mendukung pengiriman beberapa permintaan dalam satu batch, yang dapat meningkatkan efisiensi komunikasi dengan mengurangi jumlah koneksi yang diperlukan.
  4. Error Handling yang Jelas: JSON-RPC memiliki mekanisme penanganan kesalahan yang terdefinisi dengan baik, sehingga memudahkan pengembang untuk menangani dan memperbaiki masalah yang terjadi selama komunikasi.


Kapan Menggunakan JSON-RPC?


JSON-RPC cocok digunakan dalam aplikasi yang memerlukan komunikasi antara klien dan server dengan overhead minimal. Ini sering digunakan dalam aplikasi web, layanan mikro, dan sistem terdistribusi di mana efisiensi dan kesederhanaan adalah prioritas utama.


Kesimpulan


JSON-RPC adalah protokol komunikasi yang sederhana dan efisien, ideal untuk aplikasi yang memerlukan pertukaran data cepat antara klien dan server. Dengan dukungan untuk berbagai bahasa pemrograman dan fitur seperti batch requests dan error handling yang jelas, JSON-RPC menjadi pilihan yang menarik bagi banyak pengembang. Jika Anda mencari solusi komunikasi yang ringan dan mudah diimplementasikan, JSON-RPC bisa menjadi pilihan yang tepat.


Semoga artikel ini membantu Anda memahami apa itu JSON-RPC dan bagaimana cara kerjanya. Jika ada pertanyaan atau pengalaman yang ingin dibagikan, jangan ragu untuk menghubungi kami. Selamat mencoba!


Apa itu ICEfaces ?

7:29 AM Add Comment



Dalam dunia pengembangan aplikasi web, berbagai framework dan teknologi telah muncul untuk memudahkan proses pengembangan dan meningkatkan pengalaman pengguna. Salah satu framework yang menarik perhatian adalah ICEfaces. Mari kita eksplorasi lebih dalam tentang apa itu ICEfaces, fitur-fiturnya, dan manfaatnya bagi para pengembang.

Apa Itu ICEfaces?


ICEfaces adalah framework open-source yang dirancang untuk membangun aplikasi web berbasis Java dengan menggunakan teknologi JavaServer Faces (JSF). ICEfaces memungkinkan pengembang untuk membuat aplikasi web yang interaktif dan responsif dengan cara yang lebih sederhana dan efisien. Framework ini mengintegrasikan komponen UI yang kaya dan mendukung pengembangan aplikasi berbasis AJAX, sehingga meningkatkan pengalaman pengguna secara keseluruhan.

Fitur Utama ICEfaces


  1. Komponen UI yang Kaya: ICEfaces menyediakan berbagai komponen UI yang siap pakai, seperti tabel, grafik, dan form input. Komponen ini dirancang untuk bekerja dengan baik dalam lingkungan JSF, memungkinkan pengembang untuk membangun antarmuka pengguna yang menarik dan fungsional.
  2. Dukungan AJAX: Salah satu fitur utama ICEfaces adalah dukungan AJAX yang kuat. Dengan menggunakan AJAX, pengembang dapat memperbarui bagian tertentu dari halaman web tanpa harus memuat ulang seluruh halaman. Ini meningkatkan responsivitas aplikasi dan memberikan pengalaman pengguna yang lebih baik.
  3. Integrasi yang Mudah: ICEfaces dapat dengan mudah diintegrasikan dengan berbagai teknologi dan framework Java lainnya, seperti Spring dan Hibernate. Ini memungkinkan pengembang untuk memanfaatkan kekuatan berbagai alat dan teknologi dalam satu aplikasi.
  4. Pengembangan Berbasis Event: ICEfaces mendukung pengembangan berbasis event, yang memungkinkan pengembang untuk menangani interaksi pengguna dengan cara yang lebih terstruktur. Ini memudahkan pengelolaan logika aplikasi dan meningkatkan keterbacaan kode.
  5. Dukungan untuk WebSocket: ICEfaces juga mendukung WebSocket, yang memungkinkan komunikasi dua arah antara server dan klien. Ini sangat berguna untuk aplikasi yang memerlukan pembaruan real-time, seperti aplikasi chat atau dashboard yang menampilkan data secara langsung.

Manfaat Menggunakan ICEfaces


  • Peningkatan Produktivitas: Dengan komponen UI yang kaya dan dukungan AJAX, ICEfaces memungkinkan pengembang untuk membangun aplikasi web dengan lebih cepat dan efisien. Ini mengurangi waktu yang dibutuhkan untuk pengembangan dan memungkinkan tim untuk fokus pada logika bisnis.
  • Pengalaman Pengguna yang Lebih Baik: Dengan kemampuan untuk memperbarui konten secara dinamis tanpa memuat ulang halaman, ICEfaces meningkatkan pengalaman pengguna secara keseluruhan. Pengguna dapat berinteraksi dengan aplikasi tanpa gangguan, yang membuat aplikasi lebih menarik dan mudah digunakan.
  • Kompatibilitas dengan Standar Java: ICEfaces dibangun di atas standar Java, sehingga pengembang yang sudah familiar dengan Java dan JSF dapat dengan mudah beradaptasi dan memanfaatkan framework ini.

Cara Memulai dengan ICEfaces


  1. Persiapan Lingkungan: Untuk memulai dengan ICEfaces, Anda perlu menyiapkan lingkungan pengembangan Java, termasuk JDK dan server aplikasi seperti Apache Tomcat atau GlassFish.
  2. Unduh ICEfaces: Kunjungi situs resmi ICEfaces untuk mengunduh versi terbaru dari framework ini. Anda juga dapat menggunakan alat manajemen proyek seperti Maven untuk mengelola dependensi.
  3. Buat Proyek Baru: Setelah mengunduh ICEfaces, buat proyek baru menggunakan IDE favorit Anda, seperti Eclipse atau IntelliJ IDEA. Pastikan untuk mengonfigurasi proyek agar menggunakan ICEfaces sebagai framework JSF.
  4. Kembangkan Aplikasi: Mulailah mengembangkan aplikasi Anda dengan menggunakan komponen UI yang disediakan oleh ICEfaces. Manfaatkan dukungan AJAX untuk meningkatkan interaktivitas aplikasi.
  5. Uji dan Deploy: Setelah selesai mengembangkan aplikasi, lakukan pengujian untuk memastikan semuanya berfungsi dengan baik. Setelah itu, Anda dapat mendepoy aplikasi ke server aplikasi pilihan Anda.

Kesimpulan


ICEfaces adalah framework yang kuat dan fleksibel untuk pengembangan aplikasi web berbasis Java. Dengan fitur-fitur seperti komponen UI yang kaya, dukungan AJAX, dan integrasi yang mudah, ICEfaces memungkinkan pengembang untuk membangun aplikasi yang interaktif dan responsif dengan lebih efisien. Jika Anda seorang pengembang Java yang mencari cara untuk meningkatkan pengalaman pengguna dalam aplikasi web Anda, ICEfaces adalah pilihan yang patut dipertimbangkan.

Dengan terus berkembangnya teknologi dan kebutuhan pengguna, ICEfaces tetap menjadi salah satu alat yang relevan dalam pengembangan aplikasi web modern.


Penulisan Komentar Pada PHP

11:30 PM Add Comment

 kalau sebelumnya saya sudah menjelaskan bagaimana cara menjalankan file/scriptphp dengan menggunakan XAMPP, pada artikel kali ini yang masih tentang dasar-dasar php saya akan menjelaskan Penulisan Komentar Pada PHP. Pada bahasa pemograman, komentar berfungsi untuk memberikan penjelasan tentang script apa yang kita tulis. Komentar juga bisa memudahkan programmer untuk mengingatkan kembali apa yang ditulis jika sewaktu-waktu mereka lupa.

Penulisan Komentar Pada PHP

Sementara itu, untuk penulisan komentar sangatlah mudah. Contohnya bisa kalian lihat dibawah ini
<?php

/*ini adalah komentar*/

?>

Seperti yang bisa dilihat, diatas merupakan contoh penulisan komentar yang mana penulisan komentar itu diawali dengan tanda garis miring ‘/’ dan tanta bintang ‘*’ dan diakhiri dengan tanda bintang ‘*’ dan slash ‘/’.


Sangat simple bukan, untuk artikel selanjutnya saya akan menjelaskan Variable dan Tipe Data Variable pada PHP maka dari itu untuk artikel penulisan komentar pada PHP saya cukupkan sekian.Terima kasih ...

Operasi file pada php

2:03 AM Add Comment
Selamat datang kawan kawan di blog saya yang sederhana ini . Sebelumnya saya mau tanya bagaimana kabarnya kawan ? mudah mudahan sehat , amin . Di artikel sebelumnya saya telah berbagi mengenai jenis jenis printerdan di artikel sebelumnya juga saya telah berbagi mengenai memecah string menjadi array dan sebaliknya mengabungkan array menjadi string .



Oke kali ini saya akan berbagi mengenai operasi file dengan php , yang di maksud operasi buka operasi kayak dokter tetapi kita akan operasi yaitu membuat file , membuka file , menulis file dan kawan kawan . Semua akan di bahas di sini . Oke lasung aja kalo gitu kita mulai

Pertama kita akan membuat file .

<?php
touch("tes.txt");
if(file_exists("tes.txt")){
echo "file sudah di buat ";
}else{
echo "file gagal di buat ";
}
?>

untuk membuat file kita mengunakan fungis touch("nama_filenya") . Bro kalo file_exists maksudnya apa ? kalo file_exists maksudnya jika file ada maka akan meng echo file sudah di buat , jadi fungsi dari file_exists adalah untuk mengecek apakah file itu ada atau tidak . Penulisanya dengan cara file_exists("nama_filenya") .

Oke sekarang kita akan coba untuk menulis file , sebelum menulis file yang pertama harus kita lakukan adalah mebuka file lalu menulisnya dan jika sudah kita tutup kembali . Oke langsung aja cara caranya gimana ?

<?php
touch("tes.txt");
if(file_exists("tes.txt")){
$buka_file=fopen("tes.txt","w");
fputs($buka_file,"wandi febriandi");
fclose($buka_file);
}else{
echo "file gagal di buat";
}
?>

Jadi untuk membuka file dengan cara fopen("nama_filenya","modenya") yang di maksud modenya adalah bisa membaca aja , menulis aja , dan kawan kawan . Bro kalo mode w itu apa ? w itu di gunakan untuk menulis file , selain w ada juga yang lain yaitu , w+ dapat membaca dan menulis file , a memungkinkan dapat menulis file , a+ dapat membaca dan juga menulis file ,  r membuka file saja , r+ membaca dan menulis file  .

Itu mengenai mode mode fopen() . lalu untuk memukan penulisan dengan cara fputs(file yang tealh di buka , "tulisanya"); . Setelah selesai kita membuka dan menulis dan yang terakhir adalah menutup filenya denngan cara fclose(file yang telah di buka ); .

Bro kalo kita ingin memasukan filenya di dalam folder gimana ? kalo ingin memasukan filenya di dalm folder mudah saja tinggal di tambah nama foldernya , contonya

<?php
touch("tes/tes.txt");
if(file_exists("tes/tes.txt")){
$buka_file=fopen("tes/tes.txt","w+");
fputs($buka_file,"wandi");
fclose($buka_file);
}else{
echo "file gagal di buat";
}
?>

Bro kok file gagal di buat ? jadi sebelum kalian tes hasilnya di browser kalian harus buat dulu folder tes nya . sebenarnya bisa sih membuat dir atau folder di php dengan fungsi mkdir() , tetapi saya akan bahas khusus saja mengenai direktori di artikel selanjutnya  .

Oke lanjut jadi tinggal ditambah tes/tes.txt selesai . Bro kalo kita akan membaca filenya di browser bisa gak ? bisa nama fungsinya adalah feof dan fgets . oke lansung aja gimana caranya

<?php
touch("tes/tes.txt");
if(file_exists("tes/tes.txt")){
$buka_file=fopen("tes/tes.txt","r");
//fputs($buka_file,"wandi");
while(!feof($buka_file)){
$kalimat = fgets($buka_file,1024);
echo $kalimat;
}
fclose($buka_file);
}else{
echo "file gagal di buat";
}
?>

!feof($buka_file) nah ini fungsinya untuk mengecek apakah pointer atau kursor berada pada akhir kalimat , dan jika sudah maka  akan berhenti . lalu kita menganbil dengan fgets($buka_file,1024); yang 1024 itu mengambil ukuran  1024 . lalu kita tampilkan dengan echo .

Oke sekarang kita akan mehapus file , caranya dengan menggunakan fungsi unlink , penulisanya adalah dengan unlink(nama_filenya) . oke langsung saja contonya

<?php
touch("tes/tes.txt");
if(file_exists("tes/tes.txt")){
unlink("tes/tes.txt");
}
?>

Oke itu dia gimana cara menbuka file , membaca file , membuat file , menulis file , menutup file , menghapus file . Semoga menambah wawasan dan juga tentunya bermanfaat  . Terimakasih telah berkenan membaca artikel ini . Sampai jumpa di artikel yang lainnya yang lebih menarik dan juga lebih bermanfaaat .

Cara mengunakan jquery

3:44 AM Add Comment




Oke lanjut kalo sebelumnya saya berbagi bahasa c dan css , sekarang saya akan berbagi mengenai cara menggunakan libarynya javascript yaitu jquery . Kalo belum tau apa itu jquery ? mari baca sini , harus baca dulu ya , kenapa bray ? karena “ tak kenal maka kenalan , kalo udah kenal pasti suka , kalo udah suka pasti belajarnya mudah ” . Oke lanjut lagi kalo kalian sekarang sudah tau apa itu jquery ? sekarang kita akan lanjut membahas cara menggunakan jquery . Sebelum kalian mulai belajar jquery , kalian download dulu jquery di jquery.com agar bisa di pakai offline . Oke kalo lanjut pertama kita panggil dulu jquerynya .

Dengan

<script src=”tempat nyimpen jquerynya dimana”></script>

Contoh

<script src="jquery.js"></script>

Oke kalo kita udah manggil jquerynya tinggal kita gunakan fungsi fungsi yang ada di jquery . Caranya gimana bray ? oke lanjut ke contohnya .

<script src="jquery.js"></script>
<script>
                $(document).ready(function(){
                                $("p").click(function(){
                                                $("#berubah").animate({width:"100%"},1000);
                                });
                });
</script>
<p>Klik ini</p>
<div id="berubah"style="width:50%;height:40px;background-color:rgb(0,255,0);"></div>

Oke kalo kalian sudah buat ini , lalu kalian lihat apa yang terjadi ? begitu kita klik maka akan berubah ukurannya selama satu detik . Oke jadi untuk menggunakan jquery dengan

$(selectornya).action()


  • Tanda dollar , untuk mendefinisikan jquery

  • (selector),untuk menunjukkan elemen yang dipilih atau dituju , seperti kalo di sana ada tag p dan yang mempunyai id berubah .

  • Action(), adalah jquery action yang akan dilakukan terhadap elemen yang dipilih . jadi kalo kita baca scriptnya gini . jika tag p di click maka yang punya id berubah akan membuat animasi lebarnya jadi 100% selama 1 detik .

Gimana kawan kawan mudah bukan menggunakan jquery itu , gak susahkan kalo kita senang belajar jquery . Oke saya akan memberi contoh satu lagi , kali ini contohnya adalah membandingkan javascript murni dengan jquey .

<script src="jquery.js"></script>
<script>
         $(document).ready(function(){
                $("p").click(function(){
                     document.getElementById('berubah').innerHTML = 'ini adalah javascript';
                });
         });
</script>
<p>Klik ini</p>
<div id="berubah"style="width:50%;height:40px;background-color:rgb(0,255,0);"></div>

Ya terlihatkan perbedaannya kan kalo kita menggunakan jquery .

Kalo di javascript murni

document.getElementById(‘berubah’)

Dengan jquery cukup

$(“berubah”)

Tapi jangan terlalu mengandalkan jquery , karena jquery juga pasti punya kelebihan dan juga  kelemahan . Oke kali kalian paham cara menggunakan jquery saya akhiri saja sampai disini kalo kalian paham . Jadi semoga bermanfaat dan menambah ilmu tentang cara menggunakan jquery . Jangan lupa like fans page kami dan bantu share artikel ini . Sampai jumpa di artikel yang lainnya tentunya yang lebih menarik dan juga lebih bermanfaat . Terimakasih telah berkenan membaca artikel ini .

Pesan saya , anggap pelajaran adalah permainan yang kita senangi , jika kita anggap pelajaran adalah permainan yang kita senangi pasti kita akan senang dan terus belajarnya . 

Membuat Reusable Input Component pada Vue 3

6:53 AM Add Comment

Halo, teman-teman! Bagi kalian yang suka ngoding dengan Vue.js, pasti tahu betapa pentingnya membuat komponen yang bisa digunakan kembali (reusable components). Salah satu komponen yang sering kita butuhkan adalah input field. Nah, kali ini kita akan belajar cara membuat reusable input component di Vue 3. Yuk, simak langkah-langkahnya!


Kenapa Harus Membuat Reusable Component?


Sebelum kita mulai, mari kita bahas sedikit tentang keuntungan dari reusable component. Dengan membuat komponen yang bisa digunakan kembali, kita bisa:

  • Menghemat Waktu: Tidak perlu menulis kode yang sama berulang kali.
  • Meningkatkan Konsistensi: Semua input field akan memiliki tampilan dan perilaku yang sama.
  • Memudahkan dalam Maintance: Jika ada perubahan, kita hanya perlu memperbarui satu komponen saja.


Langkah-Langkah Membuat Reusable Input Component


1. Buat Proyek Vue 3 Baru:

Jika kalian belum punya proyek Vue 3, kalian bisa membuatnya dengan Vue CLI. Buka terminal dan jalankan perintah berikut:


     vue create my-vue-app

     cd my-vue-app



2. Buat Komponen Input

Di dalam folder `src/components`, buat file baru bernama `ReusableInput.vue`. Ini adalah tempat kita akan mendefinisikan komponen input kita.


3. Tulis Kode untuk Komponen

Buka `ReusableInput.vue` dan tambahkan kode berikut:


     <template>

       <div class="input-group">

         <label :for="id">{{ label }}</label>

         <input

           :id="id"

           :type="type"

           v-model="inputValue"

           @input="updateValue"

           :placeholder="placeholder"

           class="form-input"

         />

       </div>

     </template>


     <script>

     export default {

       name: 'ReusableInput',

       props: {

         label: {

           type: String,

           required: true,

         },

         id: {

           type: String,

           required: true,

         },

         type: {

           type: String,

           default: 'text',

         },

         placeholder: {

           type: String,

           default: '',

         },

         modelValue: {

           type: String,

           default: '',

         },

       },

       data() {

         return {

           inputValue: this.modelValue,

         };

       },

       methods: {

         updateValue() {

           this.$emit('update:modelValue', this.inputValue);

         },

       },

       watch: {

         modelValue(newValue) {

           this.inputValue = newValue;

         },

       },

     };

     </script>


     <style scoped>

     .input-group {

       margin-bottom: 1rem;

     }

     .form-input {

       width: 100%;

       padding: 0.5rem;

       border: 1px solid #ccc;

       border-radius: 4px;

     }

     </style>


Di sini, kita membuat komponen input yang menerima beberapa props seperti `label`, `id`, `type`, `placeholder`, dan `modelValue`. Kita juga menggunakan `v-model` untuk mengikat nilai input dengan model data di komponen yang lebih tinggi.


4. Menggunakan Komponen di App.vue

Sekarang, kita akan menggunakan komponen `ReusableInput` di `App.vue`. Buka file `App.vue` dan tambahkan kode berikut:


     <template>

       <div id="app">

         <h1>Contoh Reusable Input Component</h1>

         <ReusableInput

           label="Nama"

           id="name"

           v-model="name"

           placeholder="Masukkan nama Anda"

         />

         <ReusableInput

           label="Email"

           id="email"

           type="email"

           v-model="email"

           placeholder="Masukkan email Anda"

         />

         <p>Nama: {{ name }}</p>

         <p>Email: {{ email }}</p>

       </div>

     </template>


     <script>

     import ReusableInput from './components/ReusableInput.vue';


     export default {

       name: 'App',

       components: {

         ReusableInput,

       },

       data() {

         return {

           name: '',

           email: '',

         };

       },

     };

     </script>


     <style>

     #app {

       max-width: 600px;

       margin: 0 auto;

       padding: 2rem;

       font-family: Arial, sans-serif;

     }

     </style>

Di sini, kita mengimpor komponen `ReusableInput` dan menggunakannya untuk membuat dua input field: satu untuk nama dan satu untuk email. Kita juga menampilkan nilai yang dimasukkan di bawah input.


5. **Jalankan Aplikasi**:

   - Setelah semua kode ditulis, jalankan aplikasi dengan perintah berikut:

     npm run serve


   - Buka browser dan akses `http://localhost:8080`. Kalian akan melihat aplikasi dengan dua input field yang bisa digunakan!


Kesimpulan

Nah, itu dia cara membuat reusable input component di Vue 3! Dengan komponen ini, kalian bisa dengan mudah menambahkan input field di berbagai bagian aplikasi tanpa harus menulis kode yang sama berulang kali. Semoga artikel ini bermanfaat dan bikin kalian lebih semangat ngoding dengan Vue.js! Jangan lupa untuk mampir lagi ke blog ini untuk informasi menarik lainnya! Sampai jumpa, teman-teman!


Tutorial menginstal xdebug di xampp

8:01 PM Add Comment

 

Debuging PHP

Xdebug adalah sebuah extensi PHP yang digunakan untuk memudahkan proses debugging (pemecahan masalah) dalam pengembangan aplikasi web. Xdebug memungkinkan developer untuk melakukan debugging pada kode PHP secara langsung dengan mudah dan cepat. Artikel ini akan membahas tentang cara menginstal Xdebug pada XAMPP di Windows.


Langkah-langkah untuk menginstal Xdebug di XAMPP di Windows adalah sebagai berikut:


Langkah 1: Download Xdebug

Pertama, download file Xdebug yang sesuai dengan versi PHP yang terpasang pada XAMPP. Anda dapat mengecek versi PHP dengan membuka localhost/phpinfo.php pada browser. Kemudian, cari dan catat versi PHP yang terpasang di XAMPP.


Selanjutnya, buka halaman download Xdebug di https://xdebug.org/download. Pilih file Xdebug yang sesuai dengan versi PHP yang terpasang di XAMPP.


Langkah 2: Pindahkan file Xdebug

Setelah mengunduh file Xdebug, ekstrak file tersebut dan pindahkan file Xdebug yang sesuai dengan versi PHP ke direktori "ext" di dalam direktori instalasi XAMPP. Direktori "ext" biasanya terletak di dalam direktori "php" pada direktori instalasi XAMPP.


Langkah 3: Konfigurasi php.ini

Buka file php.ini pada direktori "php" di dalam direktori instalasi XAMPP. Cari baris yang berisi "zend_extension" dan tambahkan baris berikut di bawahnya:


zend_extension = "<path_to_xdebug>/php_xdebug-<version>-<architecture>.dll"


Ganti "<path_to_xdebug>" dengan direktori tempat Anda menyimpan file Xdebug. Ganti "<version>" dan "<architecture>" sesuai dengan versi Xdebug yang Anda unduh.


Langkah 4: Restart Apache

Setelah mengedit file php.ini, restart Apache di XAMPP untuk memuat pengaturan baru.


Langkah 5: Verifikasi instalasi

Untuk memeriksa apakah Xdebug telah terpasang dengan benar, buka localhost/phpinfo.php pada browser. Cari bagian "Xdebug" pada halaman phpinfo.php. Jika Xdebug telah terpasang dengan benar, Anda akan melihat informasi tentang Xdebug di bagian tersebut.


Langkah 6: Konfigurasi Xdebug

Anda dapat menambahkan konfigurasi Xdebug pada file php.ini untuk mempercepat proses debugging. Beberapa konfigurasi Xdebug yang berguna adalah sebagai berikut:


xdebug.remote_enable=1

xdebug.remote_host="localhost"

xdebug.remote_port=9000


Kode di atas akan mengaktifkan debugging jarak jauh, dengan Xdebug yang berjalan pada localhost pada port 9000.


Dengan demikian, tutorial ini telah memberikan panduan tentang cara menginstal Xdebug pada XAMPP di Windows. Setelah berhasil menginstal Xdebug, Anda akan dapat melakukan debugging pada kode PHP dengan mudah dan efektif.

Mengenal Single Page Application (SPA) dan Keuntungannya

7:39 PM Add Comment

Single Page Aplication

 

Single Page Application (SPA) adalah sebuah pendekatan dalam membangun aplikasi web modern yang memungkinkan pengguna untuk berinteraksi dengan satu halaman saja, tanpa perlu memuat ulang seluruh halaman seperti pada aplikasi web tradisional. Dalam SPA, konten pada halaman akan diperbarui secara dinamis sesuai dengan interaksi pengguna, sehingga memberikan pengalaman yang lebih halus dan responsif.


Salah satu contoh dari SPA yang populer adalah Gmail. Saat pengguna mengklik pada pesan email, konten pada halaman tidak perlu dimuat ulang, melainkan diperbarui secara dinamis. Hal ini membuat aplikasi web Gmail terasa lebih responsif dan nyaman digunakan, terlebih jika dibandingkan dengan aplikasi web tradisional yang memerlukan waktu untuk memuat ulang seluruh halaman setiap kali pengguna melakukan interaksi.

Baca juga Angular framework untuk membuat Single Page Application


Keuntungan dari penggunaan pendekatan SPA antara lain:


1. Responsif dan Lebih Cepat

Dalam SPA, sebagian besar sumber daya aplikasi, seperti file CSS, JavaScript, dan gambar, dimuat hanya satu kali pada awalnya, kemudian disimpan di dalam memori browser. Saat pengguna berinteraksi dengan aplikasi, konten akan diperbarui secara dinamis tanpa perlu memuat ulang seluruh halaman. Hal ini membuat aplikasi terasa lebih responsif dan cepat.


2. Pengalaman Pengguna yang Lebih Halus

Dalam aplikasi web tradisional, pengguna harus menunggu seluruh halaman dimuat ulang setiap kali mereka melakukan interaksi, misalnya saat mengklik tautan atau tombol pada navigasi. Dalam SPA, halaman hanya dimuat satu kali pada awalnya, dan setelah itu semua interaksi akan dilakukan secara dinamis. Pengguna akan merasakan pengalaman yang lebih halus dan nyaman karena tidak perlu menunggu seluruh halaman dimuat ulang setiap kali mereka melakukan interaksi.


3. Pemeliharaan yang Lebih Mudah

Dalam SPA, sebagian besar kode aplikasi dijalankan di sisi klien (client-side), sehingga memungkinkan pengembang untuk memisahkan tugas antara sisi klien dan sisi server. Hal ini membuat pemeliharaan aplikasi lebih mudah, karena perubahan pada kode sisi klien tidak akan mempengaruhi kode sisi server. Selain itu, karena sebagian besar sumber daya aplikasi dimuat hanya satu kali pada awalnya, perubahan pada aplikasi dapat diterapkan dengan cepat dan mudah.


4. Dukungan untuk Aplikasi Mobile

SPA sangat cocok untuk digunakan dalam membangun aplikasi mobile, karena ukuran file yang relatif kecil dan pengalaman pengguna yang lebih responsif. Dalam aplikasi mobile, kecepatan dan responsifitas sangat penting, dan SPA mampu memberikan pengalaman yang lebih baik daripada aplikasi web tradisional.


Kesimpulan

Single Page Application (SPA) adalah sebuah pendekatan dalam membangun aplikasi web modern yang memungkinkan pengguna untuk berinteraksi dengan satu halaman saja, tanpa perlu memuat ulang seluruh halaman seperti pada aplikasi web.



Memahami Asynchronous dan Synchronous Programming dalam Pemrograman Javascript

5:07 AM Add Comment
Asynchronous dan Synchronous Programming

Kali ini kita akan  belajar tentang perbedaan Asynchronous dan Synchronous Programming dalam pemrograman Javascript dan bagaimana kedua metode ini mempengaruhi kecepatan eksekusi program. Asynchronous dan Synchronous adalah istilah yang sering digunakan dalam pemrograman Javascript.


Asynchronous Programming adalah pendekatan pemrograman yang tidak terikat pada input output (I/O) protocol. Ini berarti bahwa pemrograman asynchronous tidak melakukan pekerjaan secara berurutan seperti pemrograman lama. Sebaliknya, pekerjaan dilakukan secara independen dan tanpa harus menunggu proses lain selesai. Hal ini membuat waktu eksekusi menjadi lebih singkat dan cepat.


Sedangkan Synchronous Programming memiliki pendekatan yang lebih tradisional, dengan task yang dieksekusi satu per satu sesuai urutan dan prioritas. Namun, Synchronous Programming memiliki kemudahan yang tidak ditawarkan oleh Asynchronous Programming.

Baca juga Apa itu AJAX

Kedepannya, kedua pendekatan ini akan terus berkembang dan berada pada satu tujuan yang sama. Terlebih dengan semakin berkembangnya teknologi seperti Rest API. Pelajari lebih lanjut tentang Asynchronous dan Synchronous Programming dalam pemrograman Javascript!

Membuat layout menggunakan librari semantic-ui-react pada aplikasi react js

1:08 AM Add Comment
Kita akan membuat layout website responsive menggunakan librari semantic-ui-react. Semantic UI adalah semacam UI frameworks yang memudahkan kita membuat website template atau style website, karena source css, javascript, dan html telah siap untuk digunakan atau diimplementasikan ke dalam project website. Dengan ui framework, kita tidak perlu lagi membuat style website dan fungsi-fungsi javascript dari awal, sangat membantu mempercepat pengembangan aplikasi yang kita buat. Librari semantic-ui-react adalah komponen-komponen react js yang dibuat menggunakan style semantic ui (semantic-ui.com). Semua dokumentasi dari setiap komponen react js bisa kita pelajari melalui website https://react.semantic-ui.com. Pada tutorial sebelumnya kita telah membuat halaman-halaman website menggunakan librari react-router-dom. Tutorial kali ini kita akan membuat layout website responsive yang sudah ada navigasi atau menu untuk menuju ke setiap halaman website. Contoh layout yang akan kita buat seperti ini https://react.semantic-ui.com/layouts/homepage Ikuti langkah-langkah berikut ini: 1. Masuk ke project react js yang telah kita buat, dan install librari semantic-ui-react.
$ cd aplikasi-reactjs
$ npm install --save semantic-ui-react
2. Install package css dari semantic ui.
$ npm install --save semantic-ui-css
3. Import semantic-ui-css di dalam file index.js: 4. Buat folder containers dan components di dalam src:
$ mkdir src/containers
$ mkdir src/components
5. Buatlah file-file berikut ini pada folder nya masing-masing: src/components/HomepageHeading.js ---- src/containers/DesktopContainer.js ---- src/containers/MobileContainer.js ---- src/containers/FooterContainer.js ---- src/containers/ResponsiveContainer.js ---- src/Router.js ---- src/pages/HomePage.js ---- src/pages/AboutPage.js ---- src/pages/ContactPage.js ---- 6. Jalankan aplikasi react js anda di localhost: $ npm start Baiklah sampai disini project react js kita sudah memiliki layout yang responsive terdiri dari navigasi, header, footer dan content setiap page. Berikut ini adalah file-file yang baru dibuat dan yang di-edit: File Baru: src/components/HomepageHeading.js src/containers/DesktopContainer.js src/containers/FooterContainer.js src/containers/MobileContainer.js src/containers/ResponsiveContainer.js
File Edit:
src/index.js src/Router.js src/pages/AboutPage.js src/pages/ContactPage.js src/pages/HomePage.js Langkah selanjutnya adalah upload hasil kerja anda ke server hosting. Ikut langkah-langkah pada tutorial bagian 2. Anda bisa melihat hasil dari tutorial ini di alamat website www.opetstudio.com. Source code tutorial di https://github.com/opetstudio/tutorial-reactjs/tree/tutorial-bagian-3. Okey, sekian tutorial cara membuat layout website react js menggunakan librari semantic-ui-react, jika ada bagian yang kurang anda mengerti, anda bisa bertanya langsung di kolom komentar. Ikuti terus seri tutorial react js dalam bahasa Indonesia untuk seri yang akan datang. Terima kasih telah membaca tutorial yang sederhana ini. Semoga bermanfaat. Salam..!!!

Implementasi react-router-dom untuk membuat pages website pada aplikasi react js

12:55 AM Add Comment
Implementasi react-router-dom untuk membuat pages website pada aplikasi react js

Tutorial ini akan membahas tentang penggunaan router pada aplikasi react js. Kita akan menggunakan librari atau package react-router-dom sebagai router. Kegunaan router adalah memisahkan komponen-komponen mana yang akan di-render berdasarkan path url yang sudah ditentukan. Contohnya path url "/home" untuk komponen "HomePage.js", path "/about" untuk "AboutPage.js", path "/contact" untuk "ContactPage.js", dan seterusnya. Ada dua tipe komponen router yang dapat kita pakai dari librari react-router-dom. Pilih salah satu komponen yaitu HashRouter atau BrowserRouter. 

Jika aplikasi react js akan diakses melalui browser, maka disarankan menggunakan BrowserRouter. Berikut ini contoh perbedaan url yang menggunakan HashRouter dan BrowserRouter: HashRouter: http://www.opetstudio.com/#/home BrowserRouter: http://www.opetstudio.com/home Terlihat perbedaannya, yang satu memakai hash, yang satunya lagi tidak memakai hash. Biasanya saya menggunakan HashRouter saat membuat aplikasi dashboard kusus untuk admin. 


Pada prakteknya nanti, anda bisa coba-coba kedua tipe router di atas. Okey, kita langsung saja implementasi librari react-router-dom pada project yang sudah kita buat pada tutorial bagian 1, dan langsung kita upload ke hosting sama seperti tutorial bagian 2. Kita akan membuat tiga halaman website yaitu halman home, about dan contact. Ikuti langkah-langkah berikut: 1. Pertama, masuk ke dalam folder project react js dan install librari atau package react-router-dom:
$ cd aplikasi-reactjs
$ npm install --save react-router-dom
option --save artinya save daftar module atau package yang telah kita install ke dalam file package.json. 2. Buatlah folder "pages" di dalam folder src:
$ mkdir src/pages
3. Buatlah file HomePage.js di dalam folder "pages" tadi, dan copy paste script di bawah ini: Save file anda tadi dengan command: ":wq!", atau save file seperti biasa jika menggunakan editor. Saya sarankan gunakan editor Visual Studio Code, biar lebih mudah. 4. Ikut step ke-2 untuk membuat file AboutPage.js dan ContactPage.js, sesuaikan nama class nya dengan nama file nya. Ganti tulisan "ini adalah halaman Home" sesuai dengan halaman masing-masing biar kelihatan perpindahan antara page. Jadi file page yang telah kita buat dan berada di dalam folder src/pages/ adalah file: HomePage.js, AboutPage.js dan ContactPage.js. 5. Buatlah satu file dengan nama "Router.js" di dalam folder src. Copy dan paste script javascript berikut: 6. Edit file src/index.js, Replace semua string "App" dengan "Router. Hasil koding nya seperti ini: 7. Implementasi react-router-dom telah selesai. Sekarang ketik command berikut untuk menjalankan aplikasi react js di localhost:
$ npm start
Akses alamat url berikut untuk membuka setiap halaman yang telah kita buat tadi: http://localhost:3000/home http://localhost:3000/about http://localhost:3000/contact Jreng..Jreng..Jreng.. Halaman-halaman website anda sudah bisa di akses menggunakan alamat url nya masing-masing karena kita telah memasang router pada aplikasi atau project react js. Saya rasa tutorial ini terlalu gampang untuk diikuti. Bukan begitu bukan? Selanjutnya, upload hasil kerja kita tadi ke hosting anda masing-masing. Ikuti langkah-langkah berikut: 1. Jalankan perintah berikut untuk build project react js:
$ npm run build
hasil build file-file source berada di dalam folder build, semuanya sudah di minify dan siap untuk diupload ke server. 2. Buka aplikasi ftp seperti WinScp, Filezilla, Transmit atau aplikasi-aplikasi ftp lainnya yang biasa anda gunakan, lalu masuk ke hosting menggunakan username dan password ftp yang telah diberikan oleh jasa penyedia hosting . Upload semua isi folder build ke folder public_html di server hosting anda. 3. Step ini sangat penting..!!!. Jangan lupa buat file .htaccess dan upload ke dalam folder public_html di server. Copy Paste script berikut ke dalam file .htaccess:
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
Setelah selesai semua proses upload, silahkan akses halaman-halaman website anda menggunakan alamat domain pribadi anda. Contoh alamat domain yang saya gunakan adalah opetstudio.com:


Baiklah sekian tutorial yang sangat singkat ini, jika ada yang kurang anda mengerti, silahkan bertanya di kolom komentar. Ikuti terus seri selanjutnya dari tutorial react js "Tutorial React Js Bahasa Indonesia", sehingga anda bisa mengerti cara membuat aplikasi website menggunakan react js. source code tutorial: https://github.com/opetstudio/tutorial-reactjs Terima kasih sudah membaca tutorial yang sederhana ini.

Konfigurasi NGINX sebagai Reverse Proxy ke lebih dari satu services multi port

12:47 AM Add Comment
NGINX
Tutorial kali ini kita akan melakukan konfigurasi NGINX sebagai Reverse Proxy ke lebih dari satu server atau host aplikasi RESTful API yang berjalan di port nya masing-masing atau multi port. Contohnya anda mempunyai lebih dari satu docker container yang berjalan di mesin komputer yang sama, dan aplikasi client hanya bisa request melalui port 80 saja, atau port 443 jika request menggunakan https. Atau mungkin hanya service biasa yang tidak di bungkus dengan docker container yang langsung berjalan di localhost atau di mesin server yang lain dengan port tertentu. Contoh ilustrasinya seperti ini:
Ilustrasi NGINX services multi port

Baiklah, kita akan membuat NGINX berfungsi sebagai reverse proxy seperti gambar di atas. Server yang kita gunakan untuk menjalankan nginx menggunakan operating system Linux Ubuntu.  Ikuti langkah-langkah berikut ini: 1. Install nginx di server linux ubuntu:
$ sudo apt-get install nginx
2. Buatlah file konfigurasi baru di dalam folder sites-available:
$ sudo vi /etc/nginx/sites-available/api.example.com.conf
3. Copy paste script berikut ke dalam file /etc/nginx/sites-available/api.example.com.conf
server {
 keepalive_timeout 30;
 # SSL configuration
 listen 443 ssl default_server;
 listen [::]:443 ssl default_server;
 server_name api.example.com;
 ssl_certificate /etc/nginx/ssl/certificate.crt;
 ssl_certificate_key /etc/nginx/ssl/certificate.key;
 ssl_session_cache    shared:SSL:10m;
 ssl_session_timeout  10m;
 # application-a
 location /application-a {
  include /etc/nginx/global/include.request.conf;
  rewrite ^/application-a(/.*) $1 break;
  proxy_pass http://127.0.0.1:8881;
 }
 # application-b
 location /application-b {
  include /etc/nginx/global/include.request.conf;
  rewrite ^/application-b(/.*) $1 break;
  proxy_pass http://127.0.0.1:8882;
 }
 # application-c
 location /application-c {
  include /etc/nginx/global/include.request.conf;
  rewrite ^/application-c(/.*) $1 break;
  proxy_pass http://127.0.0.1:8883;
 }
 location / {
  try_files $uri $uri/ =404;
 }
 access_log /etc/nginx/logs/access.log;
 error_log  /etc/nginx/logs/error.log;
}

server {
 listen 80 default_server;
 listen [::]:80 default_server;
 server_name    api.example.com;
 rewrite        ^ https://$server_name$request_uri? permanent;
}
Ganti api.example.com dengan nama domain anda. Jika tidak punya nama domain, ganti dengan ip public server anda. 4. Buat file /etc/nginx/global/include.request.conf
$ sudo mkdir /etc/nginx/global
$ sudo vi /etc/nginx/global/include.request.conf
5. Copy paste script berikut ke dalam file /etc/nginx/global/include.request.conf
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
6. Buat file /etc/nginx/ssl/certificate.crt dan /etc/nginx/ssl/certificate.key sehingga bisa di akses melalui https.
$ sudo mkdir /etc/nginx/ssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/certificate.key -out /etc/nginx/ssl/certificate.crt
7. Aktifkan konffigurasi di atas dengan membuat softlink di folder /etc/nginx/sites-enable
$ sudo ln -s /etc/nginx/sites-available/api.example.com.conf /etc/nginx/sites-enabled/
8. Reload konfigurasi nginx
$ sudo systemctl reload nginx
Okey, sekarang aplikasi RESTful API anda yang terdiri dari beberapa aplikasi dengan port nya masing-masing atau multi port, bisa di akses melalui port 80 atau 443. Seperti contoh berikut: https://api.example.com/application-a/.... https://api.example.com/application-b/.... https://api.example.com/application-c/.... Port nya tidak perlu disertakan pada alamat url, karena secara default akan mengakses ke port 80 untuk http dan ke port 443 untuk https. Sekian tutorial kali ini, semoga tutorial ini bisa sedikit membantu anda memanfaatkan NGINX sebagai proxy untuk aplikasi backend multi port sehingga bisa diakses dari satu port saja. Jika ada pertanyaan atau bagian tutorial yang kurang jelas atau anda mengalami kesulitan saat mengikuti langkah-langkah di atas, silahkan bertanya lewat kolom komentar. Terima kasih sudah mampir di blog yang sangat sederhana ini. Semoga sukses.

Type Conversion javascript

12:26 AM Add Comment
Type Conversion javascript

Type Conversion adalah sebuah cara untuk merubah type data pada javascript, misalkan merubah type data string menjadi number atau sering disebut conversion. Conversi ke String
let angka=12;//type data Number
let ubah = String(angka);// "12"
console.log(typeof ubah); // type data menjadi String

let cek = true; //type data boolean
let ubah2= String(cek);//"true"
console.log(ubah2);
atau bisa menggunakan cara yang kedua yaitu menggunakan fungsi toString();
let num=12;//type Number
let ubah =  num.toString();
console.log(typeof ubah);// "String"
Conversi ke Number
let text ="123";//String
let ubah = Number(text);
console.log(typeof ubah);//Number

let cek =true;//boolean
let ubah1 =Number(cek);// 1
console.log(typeof ubah1);//Number
nilai true dan false kalau di konversi dengan Number menjadi 1(true) dan 0(false). cara kedua menggunakan fungsi parseInt dan parseFloat, parseInt digunakan untuk merubah menjadi bilangan bulat sedangkan parseFloat digunakan untuk merubah kebilangan pecahan.

  
let num="12.12";//string
let bulat = parseInt(num); //hasil 12
console.log(typeof bulat);// Number

let pecahan=parseFloat(num);//hasil 12.12
console.log(typeof pecahan);//Number
Conversi ke Boolean
console.log(Boolean(1));//true
console.log(Boolean(0));//false
console.log(Boolean("story"));//true
console.log(Boolean(""));//false
sekian cara konversi type data pada javascript, ada tantangan buat teman-teman silahkan dijawab untuk melatih pemahaman teman-teman.
"" + 2 + 3
"" - 4 + 5
true + true
12 / "3"
"5" * "5"
7 + 8 + "px"
"$" + 1 + 12
"5" - 4
"12px" - 8
12 / 0
"  -12\n" + 5
"  -14\n" - 3
null + 3
undefined + 3

TUTORIAL CARA HOSTING REACT JS

11:39 PM Add Comment
Tutorial kali ini kita akan belajar cara hosting react js atau cara upload ke hosting apache. Biasa nya jasa penyedia hosting yang ada di pasaran, adalah hosting apache yang terdiri dari database mysql, aplikasi php dan web server apache, atau kalau anda sudah mahir biasanya menggunakan vps (virtual private server) atau server dengan teknologi cloud computing.

Biasanya saya menggunakan vultr.com. Jika anda ingin menggunakan vps atau cloud computing, atau server cloud, tapi kurang tahu caranya, anda bisa menghubungi saya. Baiklah mungkin anda memilih menggunakan hosting apache, karena lebih mudah dan lebih praktis karena aplikasi-aplikasi yang dibutuhkan yaitu mysql, php dan apache sudah diinstall dan siap digunakan tanpa harus config sana sini. Silahkan anda pilih jasa-jasa penyedia hosting seperti rumahweb, niaga hoster, dewa web, nusantara host, dan masih banyak lagi situs-situs penyedia hosting lainnya. 

Kunjungi situs penyedia hosting yang anda inginkan, ikuti langkah-langkah untuk berlangganan di sana, pilihlah nama domain yang ter-keren, dan jangan lupa untuk membayar hosting tersebut, biar nantinya diaktifkan oleh admin nya, sehingga nama domain ter-keren yang anda pilih tadi bisa diakses dari browser anda, contohnya www.namadomainterkeren.com. Okeh, kembali ke project anda. Ikuti langkah-langkah berikut untuk membuat project anda bisa dibuka melalui nama domain yang sudah anda pilih.

Langkah langkah cara hosting React JS

1. Lihat script atau command apa saja yang tersedia di dalam project anda.
$ cd aplikasi-reactjs
$ cat package.json
 

 2. Di bagian field scripts, disitu ada command start, build, test dan eject. Command yang kita akan gunakan adalah command build, yaitu untuk bundling source dari project react js kita, yang telah di minify sehingga menjadi sangat ringan, dan siap untuk diupload ke server hosting.
$ npm run build
Tunggu sampai selesai. Hasil build nya berada di dalam folder build. 3. Upload hasil build tadi ke dalam hosting yang telah kita beli dari situs penyedia hosting tadi. Buka aplikasi ftp anda lalu upload ke dalam publc folder. Biasanya nama foldernya adalah www atau public_html. Upload semua isi dari folder build tadi ke dalam folder public di hosting anda. Jangan lupa hapus file home.htm dari dalam folder public_html jika ada.  


 4. Jika telah selesai anda upload semua source yang ada di dalam folder build tadi, maka aplikasi react js anda sudah bisa di akses dari nama domain yang anda telah daftarkan tadi. Untuk tutorial ini, saya menggunakan nama domain "opetstudio.com". Silahakn akses http://www.opetstudio.com untuk melihat hasilnya. Jika anda telah berhasil, share alamat domain ter-keren anda tadi di kolom komentar. Jika ada yang kurang jelas, silahakan bertanya di kolom komentar, saya akan membantu anda sampai bisa. Ikuti terus seri tutorial "Tutorial React Js Bahasa Indonesia". Tutorial yang berikutnya, kita akan membuat router di dalam project react js kita, sehingga kita bisa membuat halaman-halaman di dalam website kita tadi, seperti halaman home, halaman about, halaman contact dan lain-lain. Sekian tutorial kali ini, source code nya ada di dalam https://github.com/opetstudio/tutorial-reactjs Terima kasih sudah membaca tutorial yang sederhana ini. Semoga bermanfaat.

tutorial bootstrap # memahami layout pada bootstrap

1:24 PM Add Comment
memahami layout pada bootstrap



memahami layout pada bootstrap

layout merupakan hal yang sangat penting dalama pembuatan website, maka dari itu kita harus paham dulu agar bisa membuat layout yang responsif.coba temen-temen bayangkan kalau website/blog yang temen-teman kunjungi itu tidak responsif pasti langsung di closs atau cari alternatif lain yang lebih nyaman digunakan.dengan layout yang responsif akan membuat user betah berkunjung di website. layout yang respinsif adalah website yang kita buat bisa beradaptasi dengan device yang user gunakan.layout yang kita pelajari saat ini menggunakan framework, yaitu framework bootstrap.

layout yang paling dasar diboostrap adalah class container, container adalah pembungkus semua element.

class container terbagi menjadi dua:
1. container
2. container-fluid

Baca juga membuat segitiga dengan javascript

class container akan membuat layout berada di tegah-tegah atau hanya 80% saja dari browser.

cara mnggunakanya

<div class="container">
//content
</div>

class container-fluid akan membuat layout berada 100% ukuran browser atau full layar

cara menggunakannya

<div class="container-fluid">
//content
</div>

dalam satu halaman web bisa saja digunakan dua-duanya sesuai kebutuhan.

selanjutnya class row, class row sama seperti row/baris pada tabel pada umumnya.

class col sama seprti colum tabel pada umunya, row dan col selalu berdampingan penggunanya.

<div class="container">
<div class="row">
<div class="col">
1 of 2
</div>
<div class="col">
2 of 2
</div>
</div>
</div>

perlu di perhatikan layout pada framework boostrap itu terbagi menjadi 12 collum

terdapat juga beberapa pilihan class grid

Small untuk ukuran layar ≥576px dengan nama classnya sm, class sm bisa diisi 1-12

<div class="row">
<div class="col-sm-12">
//content
</div>
</div>

Medium untuk ukuran layar ≥768px dengan nama class md, class md sama juga bisa diisi 1-12

<div class="row">
<div class="col-md-12">
//content
</div>
</div>

Large untuk ukuran layar ≥992px dengan nama class lg, class lg sama juga bisa diisi 1-12

<div class="row">
<div class="col-lg-12">
//content
</div>
</div>

Extra large untuk layar ≥1200px dengan nama class xl, class xl juga bisa diisi -12

<div class="row">
<div class="col-xl-12">
//content
</div>
</div>

class grid bisa di kombinasikan penggunaanya tergantung dari website target pengguna website temen-teman

<div class="row">
<div class="col-xl-12 col-md-8">content</div>
</div>

terdapat satu class keren yaitu class offset, class ini digunakan jika kamu ingin membuang beberapa collum sebelunya.

<div class="row">
<div class="col-md-4">col-md-4</div>
<div class="col-md-4 offset-md-4">col-md-4 .offset-md-4</div>
</div>

silahkan lihat documentasinya klik disini

artikel ini hanya membahas pengenalnya saja

 

Kenalan dengan Progressive Web Apps(PWA)

10:16 AM Add Comment
Kepanjangan dari PWA adalah Progressive Web Apps. lantar apa itu pengertian dari Progressive Web Apps ??

Apa itu Progressive Web Apps(PWA)  ?


Progressive Web Apps adalah sebuah metode untuk membuat sebuah webiste berjalan,terlihat, dan terasa seperti aplikasi native pada umumnya, tetapi merupakan situs web yang sudah di optimized untuk dijalankan dimobile. meskipun seperti aplikasi native kita tidak perlu mendownload di app store, cukup dengan membuka webiste yang sudah teroptimized beberapa  detik nanti akan muncul pop-up untuk mengijinkan apakah web tersebut diizinkan dipasang di HOME. meskipun sudah terpasang dihome pwa tetap berjalan di atas browser dan pwa yang baik harus bisa berjalan meskipun di jaringan 3G dan offline, juga memiliki fitur offline caching,background syncing dan push notifications dengan menggunakan service worker. apa itu service worker ? service worker adalah sebuah aplikasi file javascript yang berjalan di background dan tidak dapat berintarksi langsung dengan halaman website maupun tidak bisa mengakses DOM Secara langsung tetapi dapat berkomunikasi melalui messages (Post Messages). pwa harus menggunakan service worker karena service worker bertindak sebagai proxy server diantara web app, browser dan jaringan(bila tersedia). pada load pertama kali service worker akan mendownload content webiste tersebut dan di simpan dicache browser. dengan demikian jika mengakses lagi dapat memuat website tersebut lebih cepat karena tinggal mengambil data dari cache browser yang disimpan tadi. Dengan cara ini website akan bisa diakses secara offline atau sedang mengalami sinyal yang buruk. Perusahan yang sudah menerapkan pwa pada website mereka
alibaba pwa
Alibaba
trivago pwa
trivago
Instagram pwa
Instagram
twiter pwa
Twitter
dan masi banyak lagi website keren yang sudah menggunakan pwa. dengan menggunakan pwa akan memberikan pengalam kepada user yang membuka website kita sebagai berikut : => Reliable  proses load website akan lebih cepat user tidak lagi melihat downasaur bahkan dalam jaringan yang sangat buruk sekalipun. => fast dengan respon yang cepat dapat mencegah user meninggalkan website kita karena 53% user akan meninggakan webiste kita jika dalam 3 menit webiste kita tidak memberikan respon apapun atau malah muncul downasaur. => Engaging karena pwa terlihat seperti aplikasi native pada umunya maka akan memberikan user  experience yang sangat mendalam. hal yang perlu di perhatikan dalam pembuatan pwa: Service Worker service worker bertindak sebagai proxy server diantara web app, browser dan jaringan(bila tersedia). pada load pertama kali service worker akan mendownload content webiste tersebut dan di simpan dicache browser. dengan demikian jika mengakses lagi dapat memuat website tersebut lebih cepat karena tinggal mengambil data dari cache browser yang disimpan tadi. Dengan cara ini website akan bisa diakses secara offline atau sedang mengalami sinyal yang buruk. Manifest File manifest File adalah file JSON config yang mencakup tentang informasi dari aplikasi seperti jenis icon yang akan disimpan dilayar ketika diisntall, tema,dan nama pendek dari aplikasi. HTTPS service worker memerlukan https untuk tujuan keamanan.karena service worker memiliki kemampuan untuk memodifikasi respon disisi client dan dapat mencegah request jaringan, semua komunikasi antara browser dan jaringan perlu di dienkripsi.
alat yang dibutuhkan untuk membuat pwa:
  1. Chrome 52 atau di atasnya
  2. Web Server for Chrome, atau server web pilihan Anda
  3. Text Editor
  4. Pengetahuan dasar tentang HTML, CSS, JavaScript, dan Chrome DevTools
setelah pwa selesai di bagun jangan lupa testing dengan developer tools => audits semoga bermanfaat