Tampilkan postingan dengan label Programming. Tampilkan semua postingan
Tampilkan postingan dengan label Programming. Tampilkan semua postingan

Sabtu, 13 Juli 2024

Laravel - Log Aktifitas



Laravel adalah framework PHP yang sangat mumpuni saat ini, suatu aplikasi berbasis web menggunakan framework laravel biasanya menggunakan packages seperti spatie activity log untuk mencatat aktifitas user saat mengakses aplikasi.

Namun ketika anda membutuhkan suatu package pencatat log aktifitas yang lebih simple dan termasuk mudah digunakan, anda bisa mencoba package buatan saya yaitu https://github.com/yudhatp/laravel-activity-logs

Package ini memungkinkan kita mencatat log aktifitas user secara otomatis dengan menambahkan class middleware baru pada kernel.php seperti :

'web' => [
    ...
    \Yudhatp\ActivityLogs\Middleware\ActivityLogMiddleware::class,
    ...
],

Selasa, 20 November 2018

[Javascript] Membuat Stopwatch

Diartikel ini kita akan membuat Stopwatch menggunakan Javascript. Stopwatch yang dibuat terdapat menit, detik dan milisecond sebanyak 3 digit dan terdapat satu tombol yang berfungsi untuk memulai, berhenti dan me-reset waktunya.

Pertama
Buat file html dan strukturnya dengan 3 label dan 1 button sebagai berikut:

<html>
<head>
<title>Yudha's World</title>
</head>
<body>
<b>Yudha's World - Stopwatch</b><br>
<label><time>00</time>:</label><label><time>00</time></label>:<label><time>00</time></label>
<br>
<input type="button" id="btnStopWatch" value="start" onclick="stopwatch()"/>
</body>
</html>

Kedua
Tulis javascriptnya sebagai berikut:

<script>
//variabel
var menit = document.getElementsByTagName('label')[0];
var detik = document.getElementsByTagName('label')[1];
var mili = document.getElementsByTagName('label')[2];

var timeBegan = null
    , timeStopped = null
    , stoppedDuration = 0
    , started = null;
</script>

pada bagian ini kita baru mendeklarasikan variabel yang akan dipakai.

Ketiga
Kita buat fungsi clockRunning() setelah deklarasi variabel, kodenya sebagai berikut:

function clockRunning(){
    var currentTime = new Date()
        , timeElapsed = new Date(currentTime - timeBegan - stoppedDuration)
        , min = timeElapsed.getUTCMinutes()
        , sec = timeElapsed.getUTCSeconds()
        , ms = timeElapsed.getUTCMilliseconds();

menit.innerHTML = min > 9 ? min : "0" + min+ ":";
detik.innerHTML = sec > 9 ? sec : "0" + sec;
mili.innerHTML = ms > 99 ? ms : ms > 9 ? "0" + ms : "00" + ms;
}

fungsi clockRunning ini adalah fungsi utama pada stopwatch ini yang akan dipanggil oleh fungsi start(), pada fungsi clockRunning akan memberikan nilai dari menit, detik dan milisecond dari variabel timeElapsed dengan mengambil minutes, seconds dan miliseconds menggunakan getUTC

timeElapsed berisi nilai dari object date yang dikurangi variabel object currentTime, timeBegan dan stoppedDuration.

Karena currentTime diisi dengan date object setiap kali clockRunning di eksekusi maka variabel currentTime berisi nilai dari date saat ini seperti "Tue Nov 20 2018 09:25:59 GMT +0700" setiap kali clockRunning dipanggil sesuai setIntervalnya.

timeBegan difungsi start() juga berisi date object sehingga currentTime yang tadi berisi 09:25:59 diambil timeBegan yang sewaktu start() di eksekusi bernilai 09:24:59 misalnya maka timeElapsed adalah pengurangan dari dua object date tersebut yang nanti akan dipecah atau diformat lagi sesuai jenisnya apakah minute,seconds dan miliseconds yang ditampilkan ke label.

Ke-empat
Selanjutnya setelah fungsi clockRunning, kita buat fungsi start(), stop() dan reset() 

function start() {
    if (timeBegan === null) {
        timeBegan = new Date();
    }

    if (timeStopped !== null) {
        stoppedDuration += (new Date() - timeStopped);
    }

    started = setInterval(clockRunning, 10);
}

function stop() {
    timeStopped = new Date();
    clearInterval(started);
}

function reset() {
    clearInterval(started);
    stoppedDuration = 0;
    timeBegan = null;
    timeStopped = null;
menit.innerHTML = "00"+":";
detik.innerHTML = "00";
mili.innerHTML = "00";
}


Terakhir
Kita buat fungsi bernama stopwatch() yang akan di-eksekusi ketika button atau tombol btnStopwatch di klik.

function stopwatch(){
var nama = document.getElementById("btnStopWatch").value;
if(nama == "start"){
document.getElementById("btnStopWatch").value = "stop";
start();
}else if(nama == "reset"){
document.getElementById("btnStopWatch").value = "start";
reset();
}else if(nama == "stop"){
document.getElementById("btnStopWatch").value = "reset";
stop();
}
}

kodenya sederhana, kita hanya melakukan pengecekkan terhadap value dari tombol btnStopwatch. Jika valuenya bernilai start, maka panggil fungsi start dan ubah value tombol btnStopwatch menjadi stop dan seterusnya.

Hasil Akhir



Ketika kita klik Start maka stopwatch berjalan dan teks pada tombol menjadi stop

Klik Stop, maka stopwatch berhenti dan teks pada tombol menjadi reset

Jika diklik reset maka menjadi tampilan semula dan teks pada tombol kembali menjadi start

Semoga Bermanfaat


Artikel ini dibuat oleh Yudha Tri Putra sebagai penulis artikel, diperbolehkan menyalin artikel ini secara utuh tanpa mengubah atau menambah isi artikel.

Sabtu, 03 November 2018

[VB .Net] UI Web Theme untuk Desktop


Pada artikel ini saya ingin membagikan project atau lebih tepatnya ide saya tentang suatu tampilan untuk aplikasi berbasis desktop dengan tampilan seperti web. Terdapat 2 template form yang saya sediakan saat ini yaitu Dashboard dan Table.





Proses pembuatannya sangat sederhana, cukup buat panel yang properties dock nya diatur (left,fill,bottom) dan membuat tombol dengan tipe flat dan border dengan value 0. Font yang saya gunakan yaitu Segoe UI dengan size 10.

Tampilan ketika tombol Dashboard di hover.





Disarankan teman-teman juga membaca artikel saya sebelumnya yaitu Membuat MDI Form, agar lebih mudah memahami source code dan properties yang digunakan.

Color scheme atau palette diambil dari : https://www.color-hex.com/color-palette/185
Clone atau Download Projectnya di github

Semoga Bermanfaat

Artikel ini dibuat oleh Yudha Tri Putra sebagai penulis artikel, diperbolehkan menyalin artikel ini secara utuh tanpa mengubah atau menambah isi artikel.

First Look Visual Studio 2017


Ya first look dari Visual Studio 2017 meskipun saat ini sudah November 2018 :)

Diartikel ini kita akan melihat sekilas apa sih yang ada di Visual Studio 2017 ini, mulai dari cara download, install dan penggunaannya. Semoga menjadi pertimbangan teman-teman yang mau upgrade dari Visual Studio sebelumnya (seperti saya) atau bahkan pindah dari Visual Basic 6.0.

Download Visual Studio 2017
Pertama, kita akan mendownload versi community nya, karena versi pro dari Visual Studio setahu saya mencapai harga 9 juta'an (dilihat dari official store Microsoft Indonesia).

Jalankan file setupnya kemudian tunggu sampai proses download installernya selesai.

Installasi
Saat proses instalasi, kita bisa memilih komponen apa saja yang mau kita install. Banyak sekali pilihannya bahkan saya juga baru tahu sampai ada pilihan untuk Pyhton dan Node.js. Install sesuai kebutuhan saja, karena saya sekarang fokus ke desktop development, maka saya hanya memilih .Net Desktop Development

Pada pojok kanan bawah, tertera berapa GB free space diharddisk yang akan dibutuhkan, untuk desktop development saja membutuhkan sekitar 3.16 GB. Pilih Download all, then Install kemudian klik tombol Install.



Proses berikutnya menunggu download selesai, 783 MB tidak terlalu besar ya :)


Setelah download selesai, selanjutnya menunggu proses install sekitar 255 package!. Tidak lama hanya sekitar 8-10 menit seingat saya.


Selesai, maka kita akan diminta restart windows, lakukan restart dengan klik tombol Restart.



First Look
Petama kali Visual Studio 2017 dijalankan, maka tampil welcome screen seperti ini. Bisa sign-in untuk publish code ke git dan lainnya. Bisa di abaikan dengan pilih Not now, maybe later


Berikutnya melakukan development setting di awal, bisa memilih style bahasa pemrograman default dan theme dari IDE atau code editornya. Klik tombol Start Visual Studio untuk memulai ngoding di versi 2017 ini.

Masuk tahap preparing, ini juga sebentar kok tidak sampai 2 menit.


Tampilan IDE
Tampilan awal IDE, terasa ada yang berbeda?



Tampilan ketika membuat Project baru, menurut saya ada yang berbeda dibagian yang saya beri kotak putih dibagian location dan memilih target versi frameworknya.


Test membuat Button dan Label.


Pada code editor terdapat Light Bulb yang menampilkan syntax jika di klik.




Dan ketika mencoba menjalankan program maka terdapat Diagnostic Tools. Karena saya belum pernah mencoba Visual Studio 2015, saya tidak tahu apakah fitur ini sudah ada sebelumnya.


Hello World dari Visual Studio 2017 :)


Semoga Bermanfaat

Artikel ini dibuat oleh Yudha Tri Putra sebagai penulis artikel, diperbolehkan menyalin artikel ini secara utuh tanpa mengubah atau menambah isi artikel.

Rabu, 31 Oktober 2018

[VB .Net] Membuat MDI Form



MDI atau Multiple-Document interface adalah interface (tampilan) suatu dokumen pada aplikasi yang dapat dimunculkan secara bersamaan dan setiap window ditampilkan pada window nya masing-masing yang biasanya terdapat di Desktop Programming.

Pada VB 6, seingat saya sangat mudah membuat MDI Form atau membuat suatu window sebagai MDI Parent atau childnya. Berbeda pada VB .Net, ada cara tertentu membuat MDI Form ini. Pada artikel ini kita akan mempelajari cara membuat MDI Form di VB .Net.

Pertama
Buka Visual Studio, pada artikel ini saya menggunakan Visual Studio 2012. Buat project baru terlebih dahulu kemudian pada submenu Visual Basic,  pilih Windows Form Application



Atur properties Form1 yang akan menjadi MDI Parent dengan isMdiContainer = True



Buat atau tambahkan komponen MenuStrip dengan cara klik Toolbox, cari menustrip lalu drag atau seret ke Form1.


Buat Menu seperti pada gambar berikut :
Menu Child
    - Form Kedua


Ke Toolbox lagi, tambahkan komponen Panel.



Diproperties Panel, set Dock menjadi Fill


Maka Form1 akan terlihat seperti berikut:


Terlihat panel akan memenuhi isi form1, dipanel tersebut akan terisi form MDI Childnya.

Kedua
Buat form selanjutnya dengan cara klik kanan pada project, pilih Add -> Windows Form, beri nama Form2.



Double klik Form2 sehingga masuk ke kode Form_Load, ketikkan kode berikut :

TopLevel = False
Form1.Panel1.Controls.Add(Me)
Ketiga
Kembali ke Form1, double klik menu Form Kedua, ketikkan kode berikut :

Form2.Show()

Terakhir
Jalankan program, klik menu Form Kedua maka hasilnya Form2 akan berada didalam Form1



Jika Form2 dimaximize, maka akan memenuhi isi Form1, tepatnya Panel pada Form1



Semoga Bermanfaat


Artikel ini dibuat oleh Yudha Tri Putra sebagai penulis artikel, diperbolehkan menyalin artikel ini secara utuh tanpa mengubah atau menambah isi artikel.

Minggu, 02 September 2018

[ASP .NET C#] Generate Captcha


Diartikel ini kita akan belajar cara generate captcha untuk keperluan pengecekkan saat login apakah dilakukan manusia atau bot dan sebagainya menggunakan ASP .Net dan bahasa C#. Disini saya menggunakan Visual Studio 2012 saat membuatnya, pastikan versi visual studio yang teman-teman gunakan minimal versinya sama atau diatasnya.

Sabtu, 04 Agustus 2018

[PHP + MySQL + JQuery] Chained Combobox

Update 18 November 2018

Pada artikel ini kita akan belajar bagaimana mendapatkan data dari suatu pilihan di listbox atau combobox dan menampung data tersebut ke listbox lainnya (biasa disebut Chained Combobox) tanpa mereload page tsersebut dengan xmlhttprequest sehingga antara listbox atau combobox tersebut saling terhubung satu sama lainnya. Dengan xmlhttprequest, kita bisa merequest data, menerima data dari server tanpa mereload atau merefresh halaman, xmlhttprequest juga digunakan untuk mengirim data ke server melalui background tanpa proses submit.

Studi kasus atau contoh nyata paling umum adalah ketika kita membuat sebuah form, kemudian ada input untuk memilih Kecamatan dan Kelurahan. Nah, pilihan kelurahan akan tergantung atau tehrubung pada pilihan kecamatan yang dipilih. Untuk melakukan hal tersebut tanpa melakukan reload atau memilih secara manual, kita perlu menggunakan JQuery dan fungsi xmlhttprequest, sedangkan data yang diterima akan berupa JSON.

Minggu, 13 Mei 2018

[Javascript] Mengukur Jarak di Google Maps dengan MeasureTool


Pada artikel ini kita akan membuat sebuah halaman google maps untuk mengukur jarak antara satu lokasi dengan lokasi lainnya menggunakan library javascript milik zhenyanghua bernama MeasureTool.

Persiapan
Download Library MeasureTool terlebih dahulu, download hanya file MeasureTool.min.js.

[PHP + MariaDB] Login dengan PDO


Diartikel ini, kita akan membuat form login dengan PHP dan MariaDB menggunakan PDO (PHP Data Objects).

Persiapan Data
Pertama kita buat dahulu tabelnya, anggap saja kita buat tabel dengan nama tb_login seperti berikut :



ditabel tb_login kita mempunyai 2 field yaitu username sebagai primary dan password. Keduanya bertipe varchar dan tidak boleh null. Untuk data pada tabel bisa di isi bebas, pada contoh ini saya mempunyai data username admin dan password nya adm1234.

Kamis, 31 Agustus 2017

[PHP + MySQL] Menampilkan Data Polyline Google Maps API



Pada artikel sebelumnya [PHP + MySQL]membuat peta lokasi dengan google maps api, kita sudah belajar bagaimana cara membuat peta dan menampilkan marker di google maps API dari database.Sekarang kita akan belajar bagaimana cara menampilkan data Polyline google maps dari database MySQL, tentu kita tetap menggunakan PHP sebagai bahasa pemrograman dari sisi server-sidenya.

Persiapan Data
Buat tabel dengan nama "data_polyline" seperti berikut. Ditabel ini kita buat 3 kolom atau field yaitu id_polyline, lat_long dan keterangan. Pada field lat_long inilah kita menyimpan data polyline dengan format data JSON.

Sabtu, 26 Agustus 2017

[PHP + TCPDF] Custom Header dan Footer



Di artikel ini kita akan belajar bagaimana cara membuat custom Header dan Footer di TCPDF seperti menambahkan logo,judul dan lainnya. Secara default, header dan footer di TCPDF hanya berupa line atau garis dan page number, sehingga jika kita ingin mengubahnya maka perlu "me-replace" atau melakukan penurunan class (extends) fungsi header dan footer yang sudah ada dengan kode kita sendiri.

Catatan:
Pastikan anda sudah mendownload library TCPDF nya kemudian siapkan gambar sample yang akan dijadikan logo.Misal "logo.jpg", gambar yang dijadikan logo harus berupa jpg, tidak bisa berupa png.Pada contoh ini, data pada laporan statis, tidak mengambil dari database..

Pertama
Buat file *.php baru (karena TCPDF adalah libarary untuk PHP, maka kita menggunakan bahasa pemrograman PHP tentu saja :D ) dengan nama laporan.php. Maka folder dan filenya akan terlihat sebagai berikut :

Rabu, 12 April 2017

[PHP+MySQL] Menampilkan Data Ke Dalam Table



Di artikel sebelumnya kita sudah belajar cara membuat tabel statis menggunakan boostrap , pada artikel ini kita akan melanjutkannya agar data dalam tabel menjadi dinamis. Sebelum anda mengikuti tutorial ini, ada baiknya anda membaca tutorial cara membuat tabel statis menggunakan boostrap terlebih dahulu atau pastikan anda sudah mendownload bootstrap versi 4 dan menaruhnya pada folder template.

[PHP+MySQL] Mencegah SQL Injection pada Form Login

(image source :www.sitepoint.com)


SQL Injection adalah tehnik menginjeksi (memasukkan) kode SQL atau SQL Command kedalam SQL Statement melalui field input atau URL suatu website. Kode SQL yang diinject akan berdampak langsung pada database website tersebut, misalnya mem-bypass autentikasi login, melakukan drop table atau mengubah data.

Mengapa bisa begitu? karena kode SQL yang diinject juga akan ikut dijalankan bersamaan dengan SQL Command atau query yang sudah ada.

Biasanya SQL injection terjadi akibat programmer tidak atau kurang memperhatikan input yang didapat dari suatu field atau parameter. Di artikel ini kita akan mempelajari cara mencegah tehnik SQL injection, khususnya mem-bypass autentikasi pada form login. Pada artikels ederhana ini, saya menggunakan PHP 7.0.9, jadi sesuaikan versi PHP yang anda gunakan terlebih dahulu :) .

Sabtu, 25 Maret 2017

[Bootstrap] Membuat Tabel


Diartikel sebelumnya kita sudah belajar cara menggunakan bootstrap , diartikel ini kita akan belajar cara menampilkan atau membuat tabel yang berisi data statis menggunakan Bootstrap :) .

Pertama, buka kembali file coba.html diartikel sebelumnya atau buat file baru dengan nama bebas,tapi pastikan letak file dan folder berada di htdocs seperti berikut (pada folder template, berisi sub-folder js dan css bootstrap):


[Bootstrap] Cara menggunakan Bootstrap



Berikut adalah tutorial cara menggunakan Bootstrap untuk pemula. Bagi anda yang belum tahu, Bootstrap adalah sebuah front-end framework, atau framework untuk tampilan suatu website (yang biasanya terdiri dari HTML CSS dan JS) yang mudah digunakan, responsif dan sangat populer.

Bootstrap bisa di-install menggunakan package manager seperti composer, NuGet dan lainnya. Bootstrap juga bisa dipanggil atau digunakan secara langsung dengan Bootstrap CDN dan Bootstrap tentu bisa digunakan secara offline dengan melakukan download file-file Bootstrap.

Untuk mendownload Bootstrap versi terbaru (v4 alpha), buka link https://v4-alpha.getbootstrap.com/getting-started/download/ , kemudian klik tombol Download Bootstrap pada bagian Bootstrap CSS and JS.


Minggu, 19 Februari 2017

(C) 2018. Diberdayakan oleh Blogger.

Categories

Followers