Jumat, 27 Juni 2025

Resistor

Penempatan resistor pada rangkaian lampu LED dapat dilakukan di sisi positif (anoda) atau sisi negatif (katoda) LED, dan keduanya sama-sama efektif. Resistor berfungsi untuk membatasi arus yang mengalir melalui LED, sehingga mencegah kerusakan akibat arus berlebih.

Fungsi Resistor:
Resistor adalah komponen elektronik yang menghambat aliran arus listrik. Dalam rangkaian LED, resistor digunakan untuk menurunkan tegangan yang masuk ke LED agar tidak melebihi batas aman yang direkomendasikan oleh produsen LED.

Penempatan Resistor:
- Resistor dapat dipasang sebelum atau sesudah LED, baik di sisi positif (anoda) atau negatif (katoda).
- Penting untuk diingat bahwa resistor tidak memiliki polaritas, jadi arah pemasangannya tidak berpengaruh.

Gelang Warna Resistor Cincin No. 1 sampai (3 atau 4):
HiCoMeJiKuHiBiUAP <<< Hafalkan INI

[PHP] Solusi Agar Query Dalam Query Lebih Cepat

Rabu, 05 Juni 2024

COMBOBOX & SELECT2

Cara Query Select IN yang didalamnya mengandung Tabel yang sama

 -- AKAN MUNCUL ERROR, KARENA TIDAK BISA SELECT DI TABEL YG SAMA, HARUS DIAKALI SEPERTI DIBAWAH INI:
-- 1093 - You can't specify target table 'master_qr_code' for update in FROM clause 

delete from master_qr_code where id_master_qr_code in (select a.id_master_qr_code from
master_qr_code a <<< DARI INI
left join pembelian_detail b on a.kode_batang_master_qr_code=b.kode_batang_pembelian_detail where isnull(b.nama_pembelian_detail) and a.id_jenis_transaksi=1);

delete from master_qr_code where id_master_qr_code in (select a.id_master_qr_code from
(select * from master_qr_code) a <<< MENJADI INI
left join pembelian_detail b on a.kode_batang_master_qr_code=b.kode_batang_pembelian_detail where isnull(b.nama_pembelian_detail) and a.id_jenis_transaksi=1);

Minggu, 02 Juni 2024

Install Mosquito MQTT Server pada Ubuntu 22.04

apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y
add-apt-repository ppa:mosquitto-dev/mosquitto-ppa -y
apt install mosquitto mosquitto-clients -y

nano /etc/mosquitto/mosquitto.conf
#####TAMBAHKAN DIBAGIAN PALING BAWAH FILE#####
allow_anonymous true
listener 1883
#####

service mosquitto restart
systemctl status mosquitto

#####CARA PAKAI#####
mosquitto_sub -h 127.0.0.1 -t "wapiku/status"

mosquitto_pub -h 127.0.0.1 -t "wapiku/status" -m "NAMACLIENT"

crontab -e
* * * * * mysql -u root -pPASSWORDMYSQL -h 127.0.0.1 wapiku3_3 <<< "SELECT COUNT(*) FROM wapiku3_3.kirim WHERE status_kirim='1';" &> /tmp/status
* * * * * mosquitto_pub -h MQTTSERVER -t "wapiku/status" -m "NAMACLIENT: $(tail -1 /tmp/status) | updated: $(date)"

Selasa, 17 Oktober 2023

Kamis, 26 Januari 2023

Ajax

var protocol = "http";
var host = "localhost";
var directory = "sca";

var isi_token_pengguna = getCookie("isi_token_pengguna");
var lama_sesi_login = 1; //1 hari

var isi_value_combobox = "-1";
var isi_html_combobox = "-- PILIH COMBOBOX --";

$(function () {
	$(".tanggal").datepicker({ dateFormat: "yy-mm-dd", maxDate: new Date });
});

function addZero(i) {
	if (i < 10) {
		i = "0" + i;
	}
	return i;
}

var sekarang = new Date();
var dd = addZero(sekarang.getDate());
var mm = addZero(sekarang.getMonth() + 1); //January is 0!
var yyyy = addZero(sekarang.getFullYear());
var h = addZero(sekarang.getHours());
var m = addZero(sekarang.getMinutes());
var s = addZero(sekarang.getSeconds());

var sekarang_date = yyyy + '-' + mm + '-' + dd;
var sekarang_datetime = yyyy + '-' + mm + '-' + dd + ' ' + h + ':' + m + ':' + s;

var tampungan_cc_pelanggan_lokal = [];

function cc_pelanggan_lokal() {
	var data = {
		token_pengguna: isi_token_pengguna
	};
	$.ajax({
		url: protocol + "://" + host + "/" + directory + "/actions/cc_pelanggan_lokal.php?nc=" + (new Date()).getTime(),
		type: "POST",
		dataType: "json",
		data: data,
		success: function (pesan) {
			tampungan_cc_pelanggan_lokal = pesan;
			$('#id_pelanggan').typeahead('destroy');
			$('#id_pelanggan').typeahead({
				source: tampungan_cc_pelanggan_lokal,
				items: 10
			});
		},
		error: function (pesan) {
			//console.log(pesan);
			alert("ERROR: cc_pelanggan_lokal");
		}
	});
}

function cetak_faktur_penjualan(a) {
	var r = confirm("Apakah Anda yakin Mengunci, MELUNASI (Jika Tunai) & Mencetak Faktur Penjualan ID#" + a + "?");
	if (r == true) {
		//var newwindow = window.open(protocol + "://" + host + "/" + directory + "/actions/cetak_surat_jalan3.php?id=" + a + "&token_pengguna=" + isi_token_pengguna + "&nc=" + (new Date()).getTime(), 'name', 'height=560,width=812,top=70,left=550,menubar=no,location=no,directories=no,resizable=no,scrollbars=yes,toolbar=no,status=no');
		var newwindow = window.open(protocol + "://" + host + "/" + directory + "/actions/cetak_faktur_penjualan.php?id=" + a + "&token_pengguna=" + isi_token_pengguna + "&nc=" + (new Date()).getTime(), 'name', 'height=550,width=580,top=70,left=550,menubar=no,location=no,directories=no,resizable=no,scrollbars=yes,toolbar=no,status=no');
		if (window.focus) { newwindow.focus() }
	}
}

function setCookie(cname, cvalue, exdays) {
	var d = new Date();
	d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
	var expires = "expires=" + d.toUTCString();
	document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
	var name = cname + "=";
	var ca = document.cookie.split(';');
	for (var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') {
			c = c.substring(1);
		}
		if (c.indexOf(name) == 0) {
			return c.substring(name.length, c.length);
		}
	}
	return "";
}

function deleteCookie(name) {
	(function () {
		var cookies = document.cookie.split("; ");
		for (var c = 0; c < cookies.length; c++) {
			var d = window.location.hostname.split(".");
			while (d.length > 0) {
				var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + "=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=" + d.join(".") + " ;path=";
				var p = location.pathname.split("/");
				document.cookie = cookieBase + "/";
				while (p.length > 0) {
					document.cookie = cookieBase + p.join("/");
					p.pop();
				};
				d.shift();
			}
		}
	});
	document.cookie = name + "=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;";
}

if ($('#ingatkan_aku').is(':checked')) {
	var lama_sesi_login = 30; //30 Hari, masa aktif token
}

if ($('#status_penjualan_detail:checked').prop('checked') == true) {
	status_penjualan_detail = "1";
} else {
	status_penjualan_detail = "0";
}

$("#id_jenis_pembayaran").change(function () {
	if ($("#id_jenis_pembayaran").val() == "2") {
		$("#form_tempo_hari_penjualan").removeClass("sr-only");
	} else {
		$("#form_tempo_hari_penjualan").addClass("sr-only");
		$("#tempo_hari_penjualan").val(0);
	}
});

$("#tanggal_penjualan").prop("disabled", true);
$("#id_dari_combobox").append(new Option(isi_html_combobox, isi_value_combobox));
$("#id_dari_combobox").val(isi_value_combobox);
if(alfabet == 1) {
	$("#id_dari_checkbox").prop("checked", true);
} else {
	$("#id_dari_checkbox").prop("checked", false);
}

$('#tombol_buat').remove();
$('#id_pelanggan').focus();
$('#id_pelanggan').select();

$("#tombol_masuk").click(function () {
	if ($(window).width() < 768) { //KETIKA LAYAR HP/ANDROID
		var keterangan_masuk = 1;
	} else { //KETIKA LAYAR KOMPUTER
		var keterangan_masuk = 3;
	}

	var data = {
		username_pengguna: $("#username").val(),
		password_pengguna: $("#password").val(),
		lama_sesi_login: lama_sesi_login,
		keterangan_masuk: keterangan_masuk
	};
	$.ajax({
		url: protocol + "://" + host + "/" + directory + "/actions/core/masuk.php?nc=" + (new Date()).getTime(),
		dataType: "json",
		type: "POST",
		data: data,
		success: function (pesan) {
			$.each(pesan, function (i, n) {
				pesan_a = n["id_pengguna"];
				pesan_g = n["token_pengguna"];
			});
			if (pesan_a == 0) {
				alert("GAGAL LOGIN");
			} else {
				alert("SUKSES LOGIN");
				setCookie("id_pengguna", pesan_a, lama_sesi_login);
				setCookie("isi_token_pengguna", pesan_g, lama_sesi_login);
				localStorage.clear();
				localStorage.setItem("menu_pengguna", pesan_h);
				setTimeout(function () {
					location.reload();
				}, 2000);
			}
		},
		error: function (pesan) {
			alert("Terjadi Kesalahan Pada Saat Menghubungkan Dengan Server, Silahkan Coba Kembali"); //GAGAL
		}
	});
	return false;
});

function tambah_data() {
	var validasi_form = true;
	var hasil = 0;
	var pesan_hasil = "Terjadi Kesalahan Pada Saat Menghubungkan Dengan Server, Silahkan Coba Kembali";
	if ($("#id_barang").val().slice(-14).substr(0, 4) == "BRG-") { //BRG-BBGDL0009607 <<< Ambil 14 character paling belakang
		//validasi_form = true;
	} else if (validasi_form == true) {
		validasi_form = false;
		pesan_hasil = "ADA KESALAHAN PADA KODE BARANG";
	}
	if ($("#id_barang").val().slice(-16).substring(0, 2).replace(/^0+/, '') > 0) { //BRG-BBGDL0009607 <<< Ambil 2 character paling belakang
		//validasi_form = true;
	} else if (validasi_form == true) {
		validasi_form = false;
		pesan_hasil = "ADA KESALAHAN PADA SATUAN BARANG";
	}
	var r = confirm("Apakah Anda yakin input data ini?");
	if (validasi_form == true) {
		if (r == true) {
			var data = {
				id_pengguna: $("#id_pengguna").val(),
				id_pelanggan: $("#id_pelanggan").val().substr(0, 15),
				id_barang: $("#id_barang").val().substr(0, 14),
				id_satuan_barang: $("#id_barang").val().substr(14, 2),
				token_pengguna: isi_token_pengguna
			};
			$.ajax({
				url: protocol + "://" + host + "/" + directory + "/actions/pengguna_tambah.php?nc=" + (new Date()).getTime(),
				type: "POST",
				data: data,
				success: function (pesan) {
					$.each(pesan, function (i, n) {
						hasil = n["hasil"];
						pesan_hasil = n["pesan_hasil"];
					});
					if (!isNaN(hasil) && hasil > 0) {
						alert("SUKSES: " + pesan_hasil);
						setTimeout(function () {
							$.ajax({
								url: protocol + "://" + host + "/" + directory + "/actions/aa_update_ppn_permintaan_penjualan.php?id_permintaan_penjualan=" + id_permintaan_penjualan + "&nc=" + (new Date()).getTime(),
								type: "GET",
								success: function (pesan) {
									alert("JALANKAN AFTER SUKSES FUNCTION");
								},
								error: function (pesan) {
									refresh();
								}
							});
						}, 500);
					} else {
						alert("GAGAL: " + pesan_hasil);
					}
				},
				error: function (pesan) {
					if (typeof pesan !== 'undefined') {
						$.each(pesan, function (i, n) {
							hasil = n["hasil"];
							pesan_hasil = n["pesan_hasil"];
						});
					}
					alert(pesan_hasil); //GAGAL
				}
			});
		}
	} else {
		alert(pesan_hasil); //GAGAL
	}
}

$(document).ready(function () {
	$('body').off();
	$('body').on('keydown', 'input, select', function (e) {
		if (e.key === "Enter") {
			if ($(this).attr('id') == "nama_permintaan_penjualan" && $("#nama_permintaan_penjualan").val() != "") {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			} else if ($(this).attr('id') == "tempo_hari_permintaan_penjualan" && $("#tempo_hari_permintaan_penjualan").val() != "" && !isNaN($("#tempo_hari_permintaan_penjualan").val())) {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			} else if ($(this).attr('id') == "id_pelanggan" && $("#id_pelanggan").val() != "" && $("#id_pelanggan").val().includes(" == ")) {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			} else if ($(this).attr('id') == "jumlah_permintaan_penjualan_detail" && $("#jumlah_permintaan_penjualan_detail").val() > 0) {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			} else {
				var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
				focusable = form.find('input,a,select,button,textarea').filter(':visible');
				next = focusable.eq(focusable.index(this) + 1);
				if (next.length) {
					next.focus();
					next.select();
				} else {
					form.submit();
				}
				return false;
			}
		} else if (e.key === "Escape") {
			location.reload();
		}
	});
});

Minggu, 13 Februari 2022

PHP Create Array Value With Key

<?php
    $array = array();
    $array['{name}'] = "Agustian Romy Ariansyah";
    $array['{detail.country}'] = "Indonesia";
    $array['{detail.age}'] = "32";
    print_r($array);
    /*
    Array
    (
        [{name}] => Agustian Romy Ariansyah
        [{detail.country}] => Indonesia
        [{detail.age}] => 32
    )
    */
    echo $array['{name}']; //Agustian Romy Ariansyah
    echo count($array); //3
    echo implode(array_keys($array)); //{name}{detail.country}{detail.age}
?>

PHP String Replace All From Array

<?php
    $string = "My name is {name}. I live in {detail.country} and age is {detail.age}";
    
    $array = array(
        '{name}' => 'Agustian Romy Ariansyah',
        '{detail.country}' => 'Indonesia',
        '{detail.age}' => '32'
    );
    
    $result = str_replace(array_keys($array), array_values($array), $string);
    
    echo $string; //My name is Agustian Romy Ariansyah. I live in Indonesia and age is 32
?>


<?php
    $string = "My name is {name}. I live in {detail.country} and age is {detail.age}";
    
    $array = array(
        'name' => 'Agustian Romy Ariansyah',
        'detail' => array(
            'country' => 'Indonesia',
            'age' => '32'
        )
    );

    foreach($array as $key => $value) {
        if(is_array($value)) {
            foreach($value as $key2 => $value2) {
                $string = str_replace("{".$key.".".$key2."}", $value2, $string);
            }
        } else {
            $string = str_replace("{".$key."}", $value, $string);
        }
    }
    
    echo $string; //My name is Agustian Romy Ariansyah. I live in Indonesia and age is 32
?>

Kamis, 04 Juli 2019

Review Action Camera KOGAN 4K UltraHD WiFi 100% ASLI/ORIGINAL

[Kogan Action Camera 4K UltraHD WiFi]
Pembelian di toko : https://www.tokopedia.com/kardelshop88
Link BarangNya (Saya beli 2x di toko ini, yg hitam pny saya, yg putih pny temen kantor titip beli, semuaNya OK) : https://www.tokopedia.com/kardelshop88/kogan-action-camera-4k-ultrahd-16mp-wifi-hitam

[MicroSD 64 GB SanDisk Ultra MicroSDXC UHS-I Speed UP TO 80 MB/s]
Pembelian di toko : https://www.tokopedia.com/ntlshop
Link barangNya : https://www.tokopedia.com/ntlshop/micro-sd-sandisk-ultra-64gb-speed-80mbps





Sabtu, 08 September 2012

Cara Install Apache Tomcat

Download aplikasi di http://tomcat.apache.org Pilih salah satu pada bagian Core .zip atau .tar.gz

Setting Environment Variables:
WINDOWS
JAVA_HOME
C:\Program Files\Java\jdk1.7.0_06

CATALINA_HOME
C:\apache-tomcat-7.0.29

PATH
%PATH%;%JAVA_HOME%\bin;%CATALINA_HOME%\bin

LINUX
vi /etc/bash.bashrc

export JAVA_HOME=\opt\java
export CATALINA_HOME=\opt\tomcat
export PATH=$PATH:$JAVA_HOME\bin:$CATALINA_HOME\bin

Rabu, 21 Desember 2011

Cara Jika Lupa Nomer Handphone/Ponsel Sendiri

Lupa nomer ponsel sendiri, itulah hal yang paling sering aku alami. Karena, seringnya gonta-ganti kartu seluler, makanya sangat repot untuk mengingat semua nomer yang aku punya. Disini saya akan berbagi dengan kalian semua tentang cara mengetahui nomer handphone atau ponsel kita sendiri. Cukup kerikkan kode-kode dibawah ini pada posisi siaga pada handphone sesuai dengan provider yang anda gunakan.

Minggu, 04 Desember 2011

Membagi/Meneruskan Koneksi Internet Pada Ubuntu

Tutorial ini sebenarnya hanya meneruskan sending request data (mengirim permintaan data) dari ethernet yang kita setting sebagai output menuju ke ethernet yang kita setting sebagai input. Setelah diterima oleh input, maka request data akan diolah dan dikembalikan kepada output dalam bentuk received request data (penerimaan permintaan data). Kurang lebih seperti itulah gambarannya.

Contoh kasus:
Saya ingin membagi koneksi internet yang saya dapatkan dari ethernet WiFi pada Laptop dengan menggunakan "Gedung C Hotspot" sebagai sumbernya menuju ke ethernet LAN pada Laptop sebagai keluarannya agar PC Lab yang terhubung dengan laptop saya bisa juga menerima koneksi internet.

Kamis, 03 November 2011

Mengembalikan Boot Loader Ubuntu 10.04 Yang Hilang

Suatu ketika laptop kesayanganku, yang didalamnya sudah terinstall 2 OS, yaitu: Windows 7 Ultimate dan Ubuntu 10.04, tiba-tiba tidak bisa masuk kedalam booting windows dan linux. Aku kurang tahu penyebabNya apa, tapi itu dikarenakan menginstall driver sound card external. Setelah meminta untuk merestart, maka saat itulah aku tidak bisa masuk kedalam OS baik windows maupun Ubuntu dan selalu merestart sendiri dan begitu seterusnya. Atau bisa juga disebabkan karena menginstall Ubuntu terlebih dahulu, lalu menginstall windows, maka ubuntu kita akan hilang. Oleh karena itu, aku mau membagikan cara untuk mengembalikan boot loader Ubuntu 10.04 yang hilang.

Minggu, 30 Oktober 2011

Penjadwalan Tugas Dengan Cron Jobs

Cron Jobs biasanya digunakan untuk mengatur penjadwalan tugas pada server. Sering digunakan untuk mengotomatisasikan pemeliharaan sistem atau administrasi. Namun, juga bisa digunakan untuk pengembangan aplikasi web. Ada banyak situasi ketika sebuah aplikasi web mungkin perlu untuk menjalankan tugas-tugas tertentu secara berkala.

Definisi
Pertama mari kita membiasakan diri kita dengan istilah yang terkait dengan subjek ini.
"Cron" adalah pekerjaan yang berbasis penjadwalan waktu di Unix, seperti sistem operasi (Linux, FreeBSD, Mac OS, dll). Pekerjaan atau tugas itu disebut sebagai "Cron Jobs". Daemon adalah program yang berjalan di sepanjang waktu pada sistem operasi, daemon bertanggung jawab untuk meluncurkan pekerjaan cron sesuai dengan jadwal yang sudah ditentukan. Jadwal berada dalam sebuah file konfigurasi bernama "crontab". Itulah di mana semua tugas dan waktu mereka terjadwalkan.

CodeIgniter dan HTML Base Tag

Dalam CodeIgniter, terdapat base_url yang dijadikan sebagai dasar pada link. Maka dapat dipermdah dengan menggunakan HTML Tag dibawah ini. Contoh base_url pada codeigniter adalah
$config['base_url'] = "http://www.agustianra.co.cc/";

Belajar hal baru setiap hari. Ini bukanlah hal yang baru tapi baru bagi saya.
CARA I:
<?php echo base_url() . 'css/styles.css'; ?>

Alternatifnya adalah menggunakan tag dasar HTML, yang terus terang pertama kali saya mendengar hal seperti tag.

Cara Transfer & Cek Pengiriman Pulsa Smart, Fren, SmartFren dan HePi

SMART <-> SMART
SMARTFREN <-> SMARTFREN
SMART <-> SMARTFREN
SMARTFREN <-> FREN
FREN <-> FREN
HEPI <-> HEPI
HEPI <- FREN

Transfer Pulsa:
Format: KIRIM<titik>NOMOR TUJUAN<titik>JUMLAH PULSA
Contoh: KIRIM.03133203078.100000
Kirim Ke: 879

Bagaimana Cara Menampilkan Record Database Pada MySQL Hanya Satu Kali Ketika Ada Data Ganda?


Misalkan database saya terlihat seperti ini :

id | id_member | hobi
-----------------------------------
1 | 67 | golf
2 | 33 | reading
3 | 67 | baseball
4 | 67 | golf


Saya ingin menampilkan daftar hobi member dengan id_member 67 pada halaman.

Setting Port Forwarding Modem ADSL


Setting port forwarding pada modem ADSL berguna ketika Anda ingin membuat web hosting, remote computer via internet, game online host, dan lain-lain.

Hal pertama yang perlu diketahui adalah Anda harus mempunyai IP Public alias IP Statis (IP Tetap/Tidak berubah-ubah) dari ISP Anda. Untuk mengetahui apakah kita mempunyai IP Static atau tidak ialah dengan cara menyambungkan kita ke internet lalu cek IP Public Anda melalui website http://www.ipgue.com/ lalu catat IP yang muncul pada website tersebut. Setelah itu putuskan koneksi Anda dari internet, lalu sambungkan lagi dan coba cek kembali dengan cara yang sama diatas. Jika hasilnya sama maka IP Anda merupakan IP Statis. Jika tidak sama maka IP Anda merupakan IP Dinamis alias tidak tetap/selalu berubah-ubah.