-> jalankan logstash :
- nyalakan elasticsearch dengan masuk folder bin elastic (elasticsearch-2.4.0)
- siapkan index/tabel di elastic index : "index_test", type : type_test
- masuk ke folder bin logstash -f nama_file.conf (logstash-5.6.0)
- untuk format data dalam nama_file.conf :
input {
jdbc {
jdbc_driver_library => "mysql-connector-java-5.1.36.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/nama_table_test?useSSL=false"
jdbc_user => "root"
jdbc_password => "root"
jdbc_fetch_size => 1000000
jdbc_page_size => 1000000
statement => " select * query yang disesuaikan dengan db
"
type => "type_test"
}
CREATE TABLE mahasiswa (
id_mahasiswa int(10),
nama_mahasiswa varchar(255)
);
insert into mahasiswa(id_mahasiswa, nama_mahasiswa)values(1001, 'Budi');
insert into mahasiswa(id_mahasiswa, nama_mahasiswa)values(1002, 'Aris');
insert into mahasiswa(id_mahasiswa, nama_mahasiswa)values(1003, 'Panji');
CREATE TABLE matakuliah (
id_matakuliah int(10),
nama_matakuliah varchar(255)
);
insert into matakuliah(id_matakuliah, nama_matakuliah)values(101, 'Struktur Data');
insert into matakuliah(id_matakuliah, nama_matakuliah)values(102, 'Rangkaian Digital');
insert into matakuliah(id_matakuliah, nama_matakuliah)values(103, 'Aljabar Linear');
CREATE TABLE nilai (
id_nilai int(10),
id_mahasiswa int(10),
id_matakuliah int(10),
nilai int(10)
);
insert into nilai(id_nilai, id_mahasiswa, id_matakuliah, nilai)values(1000001, 1001, 101, 85);
insert into nilai(id_nilai, id_mahasiswa, id_matakuliah, nilai)values(1000002, 1001, 102, 75);
insert into nilai(id_nilai, id_mahasiswa, id_matakuliah, nilai)values(1000003, 1001, 103, 70);
insert into nilai(id_nilai, id_mahasiswa, id_matakuliah, nilai)values(1000004, 1002, 101, 69);
insert into nilai(id_nilai, id_mahasiswa, id_matakuliah, nilai)values(1000005, 1002, 102, 55);
insert into nilai(id_nilai, id_mahasiswa, id_matakuliah, nilai)values(1000006, 1002, 103, 90);
insert into nilai(id_nilai, id_mahasiswa, id_matakuliah, nilai)values(1000007, 1003, 101, 73);
insert into nilai(id_nilai, id_mahasiswa, id_matakuliah, nilai)values(1000008, 1003, 102, 81);
insert into nilai(id_nilai, id_mahasiswa, id_matakuliah, nilai)values(1000009, 1003, 103, 61);
// query menentukan lulus
select
m.nama_mahasiswa,
mk.nama_matakuliah,
n.nilai,
if(n.nilai > 70, 'Lulus', 'Tidak Lulus') ket_lulus
from nilai n
join mahasiswa m on m.id_mahasiswa = n.id_mahasiswa
join matakuliah mk on mk.id_matakuliah = n.id_matakuliah
;
cara up / deploy ke cpannel :
=> untuk upload data project harus di compress ke zip, terus dari file manajer upload dan pastikan posisi folder nya di public_html
=> pastikan folder source code / project di folder 'public_html'
=> buat database dengan mengakses tab database->database mysql, dan buat database
=> untuk import table dengan cara buka database dari phpmyadmin dan import dari tabel yang kita punya dan sudah di dump ke mysql
=> untuk pointing masuk ke tab domain dan pilih domain, di sana bisa create new domain atau yang sudah ada tinggal edit, pastikan untuk arah nya ke project public (laravel juga ke folder public)
-> Limit kata dengan css : style="white-space: nowrap;overflow:hidden;text-overflow:ellipsis;max-width: 600px;"
-> untuk text atau tombol posisi ditengah-tengah antara div atau class : style="margin: auto;"
-> memunculkan dropodown di depan panel body :
-> Modulus adalah sisa pembagian antara 2 variabel, dalam pemrograman php bisa di implementasi sebagai berikut :
<?php
$a = 15;
$b = 5;
//menjumlahkan variabel a dengan variabel b
echo $a % $b;
?>
-> Menampilkan angka dan membuat kondisi di tiap kelipatan menggunakan php :
<?php foreach(range(1, 100) as $number) { if ($number % 3 != 0 && $number % 5 != 0) { echo $number . '<br>'; continue; } if ($number % 3 == 0) echo 'Indra'; if ($number % 5 == 0) echo 'Wulida'; // if ($number % 10 == 0) echo 'Ramdan'; echo '<br>'; }
?>
-> Menampilkan angka ganjil genap dan keterangannya menggunakan php :
<?php
for($no=1;$no<=25;$no++)
{
if($no % 2 == 0)
{ $hasil = $no % 2; echo "$no = Bilangan Genap<br> $hasil <br>";} // {echo "$no = Bilangan Genap<br>";}
else
{echo "$no = Bilangan Ganjil<br>";}
}
?>
-> Membuat dan menampilkan bilangan fibocci :
<?php
// siapkan 2 angka awal
$angka_sebelumnya=0;
$angka_sekarang=1;
//tampilkan 2 angka awal
echo "$angka_sebelumnya $angka_sekarang";
echo "<br>";
for ($i=0; $i<10; $i++)
{
// hitung angka yang akan ditampilkan
$output = $angka_sekarang + $angka_sebelumnya;
echo " $output";
-> Melakukan perulangan dan penyusunan dari terbesar sampai terkecil dengan menggunakan php :
<?php for($i=1;$i<=9;$i++) { for($k=$i;$k<=9;$k++) { echo $k; } echo "<br>"; }
?>
-> fungsi untuk string php :
<?php $data = " harga cabe merah sekarang Rp. 75.000"; $hanya_angka = intval($data); //angka diawal muncul, jika tidak 0
$pattern = '/([^0-9]+)/'; $angka_replace = preg_replace($pattern,'',$data); $replace_string = str_replace(" harga cabe merah sekarang Rp. ","",$data);; echo $replace_string;
$data = " No telp 02123456 an Bambang Pamungkas RpTag:749570 RpAdm:2500 TotalBayar Rp 750.250 segera dibayar ya !"; $no_tlp = substr($data, 9,8); $no_tlp = substr($data, 9,8); $replace_string1 = str_replace(" No telp 02123456 an Bambang Pamungkas RpTag:", "", $data); $replace_string2 = str_replace(" RpAdm:2500 TotalBayar Rp 750.250 segera dibayar ya !", "", $replace_string1); $RpTag =$replace_string2;
echo $RpTag;
?>
-> Melihat Perbandingan Antara 2 buah tanggal dengan php :
<?php // xample perbandingan antara 2 tanggal $a = new DateTime("2014-05-20 04:21:03"); $b = new DateTime("2014-07-12 13:32:45"); $perbandingan = $a->diff($b);
echo $perbandingan->days." Hari ". $perbandingan->h. " Jam ". $perbandingan->i. " Menit ".$perbandingan->s. " Detik";
?>
-> Menghilangkan banyak spasi / spasi ganda dengan php :
<?php
$teks = "saya ingin makan sate"; $menghilangkan_banyak_spasi = $teks; // hasil : saya ingin makan sate $menghilangkan_banyak_spasi = trim($teks); // hasil : saya ingin makan sate
-> cek golang sudah terinstall ketik di cmd/console jika berhasil muncul (go version go1.8.3 windows/amd64) :
go version
-> Start project :
1. buat project di folder C:\Go\src
2. buat project folder dan file nya, contoh :
file C:\Go\src\lat\hello.go
script :
package main
import "fmt"
func main() { fmt.Println("Hello, Indra WR .")
}
-> ketik di command line/console :
PS C:\Go\src\lat> go run .\hello.go
-> console untuk masuk ke folder go path :
cd %GOPATH%\src\belajar-golang
-> Pemisah string :
fmt.Println("hello", "world!", "how", "are", "you")
Outputnya: hello world! how are you.
-> Untuk Memanggil param :
var firstName string = "Indra "
fmt.Printf("halo %s %s!\n", firstName)
-> Kode kode tertentu :
%s = ruang untuk nanti nya membuat string.
+ = untuk penggabungan string atau concatenate
\n = untuk memunculkan baris baru di akhir
-> untuk duplikasi type data (:=)
// menggunakan var, tanpa tipe data, menggunakan perantara "="
var firstName = "john"
// tanpa var, tanpa tipe data, menggunakan perantara ":="
lastName := "wick"
-> di golang semua variabel harus dipakai, klo tidak di pakai dia akan error, adapun keyword supaya dianggap command di golang yaitu memakan under score (_):
func main() { var first, second, third string first, second, third = "satu", "dua", "tiga"
=> tanda ` (backtick) untuk mencetak string sesuai dengan penulisan script : var message = `Nama saya "John Wick".
Salam kenal.
Mari belajar "Golang".`
-> buat folder oracle->oracledev di C: (default)
-> pass : orcl
-> Open control panel -> administrative tools -> services -> the restart all the services starting with Oracle
===== Implement To Php =======
-> Install Oracle client (Download sesuai bit di php, tambahkan environment variabel)
-> Buka comment (;) di baris extension=oci8_12c (Untuk Membuka oci8, bisa dilihat di php info)
-> Contoh Script kecil php Untuk cek sudah konek oracle atau belum :
<?php
if ($c = oci_connect("SYSTEM", "orcl", "//localhost:1521/XE")) {
echo "Successfully connected to Oracle.";
oci_close($c);
} else {
$err = oci_error();
echo "Oracle Connect Error " . $err['text'];
}
?>
->
=> jika data atau id duplikat terus, cek struktur database takutnya ada increment(id) yang sudah di booking, cara lihat nya di dump struktur nya ja, terus lihat paling bawah biasa nya seperti ini (") ENGINE = InnoDB AUTO_INCREMENT = 2147483647 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;"), terus kita reset autoincrement dengan cara ("ALTER TABLE nama_tabel AUTO_INCREMENT = 23146906/increment id terakhir;").
=> mode groupby untuk mysql(jika masih bawaan/default system) :
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
=> remote server db dengan menggunakan terminal dan host , username , password : mysql -u nama_user -p -h 192.168.ip.public -P3306
- kemudian panggil setiap penambahan data/rows/form untuk refresh class dan pemasangan style:
initializeSelect2();
-> auto count per baris => jquery : var $row = $(this).closest('tr.row-permohonan');
var idRow = +$row.find('.permohonan-disetujui-laki-laki').data('permohonan'); var permohonanDisetujuiLakilaki = +$row.find('.permohonan-disetujui-laki-laki').val(); view : <td><input class="width-input permohonan-disetujui-laki-laki" type="number" name="permohonan-disetujui-laki-laki[]" data-permohonan = "1" value="<?php echo set_value('permohonan_disetujui_laki',($lalin_izinkunjungan) ? $lalin_izinkunjungan[0]['permohonan_disetujui_laki'] : '0'); ?>"></td>
-> sum per class yang sama => var permohonanDisetujuiPerempuanAll = 0; $('.permohonan-disetujui-perempuan').each(function(){ permohonanDisetujuiPerempuanAll += parseFloat($(this).val()); });
-> sum param => $('.jumlah-permohonan-all').val( parseInt(permohonanDisetujuiPerempuanAll) + parseInt(permohonanDitolakPerempuanAll) );
-> pemanggilan value berdasarkan class/id => $( "#jadwal_kegiatan" ).val();
-> pemanggilan value berdasarkan class/id part II => var total = 0; $('input#sidik-laki').each(function() { var num = parseInt(this.value, 10); if (!isNaN(num)) { total += num; } });
-> request data per 5 detik sekali => setInterval(function(){ // masukan fungsi }) }, 5000);
-> memberi waktu tampil => setTimeout(function() { your_func(); }, 5000);
-> public static void createSubmitChatPaket(Long id_chat, String pesan, Long paket_id, Boolean checkChat, String file) throws IOException {
-> dropdown berantai -> view : <select name="prov" id="prov" class="form-control prov">
<option value="0">- Pilih Provinsi -</option>
@foreach($provs as $i=>$prov)
<option value="{{ $prov->kota_id }}">{{ $prov->nama }}</option>
@endforeach
</select>
<div class="col-md-4">
<select name="kab" id="kab" class="form-control kab">
</select>
</div>
-> jquery : $('.prov').on('change',function(e){
var prov = e.target.value;
$.get('/ajax-prov-kab?id='+prov, function(data){
$('.kab').empty();
$('.kab').append('<option value="0">Pilih Kota/Kab.</option>');
$.each(data,function(index,subcatObj){
$('.kab').append('<option value="'+subcatObj.id_kab+'">'+subcatObj.nama+'</option>');
});
});
-> get data berdasarkan data yang di select -> var idProv = $(".prov option:selected").text();
-> kondisi if di jquery -> if ($(".prov option:selected").val() != 0 && typeof $(".prov option:selected").val() != 'undefined') { $("#wilayah-1").val($(".prov option:selected").text()); }else{ $("#wilayah-1").val("Pilih Wilayah"); }
-> memanggil hanya bulan dan hari di jquery -> var datePeriodeVal = parseInt($( ".date-periode-val" ).val()); $('.date-periode').datepicker({ format: "yyyy-mm-dd", autoclose: true, startDate: new Date(new Date().getFullYear(), datePeriodeVal, 1), endDate: new Date(new Date().getFullYear(), datePeriodeVal + 1, 0), });
-> auto action class js baris row : $('.row-permohonan :input').change();
-> cara mengambil data url form : var formAction = $('.save').attr("action");
-> replace form action url : $('.save').attr('action', formAction+"/edit");
-> refresh page function : location.reload();
-> redirect page : var url = window.location.href+'?val='+valueDate; console.log(url); window.location.href = url;
-> pemotongan string => var exists = http://localhost/log/lbim/doklanintalkim/form/lalin_paspor48/4?val=2019-12-14;
exists.replace(exists.slice(-15), "?val=2019-12-14"); ----ganti url;
-> animasi sebelum succes get data ajax : beforeSend: function () { $('.loading').show(); }, success: function(getData){ $('.loading').fadeOut("slow"); projustitia = getData; }
-> blink text di jquery : $('.validation').fadeOut(500);
$('.validation').fadeIn(500);
-> input form hanya number dan tidak bisa awal dengan angka 0 : function allowNumbersOnly(e) {
var code = (e.which) ? e.which : e.keyCode;
if (code > 31 && (code < 48 || code > 57)) {
e.preventDefault();
}
}
$('#jumlah').on('input', function(e) {
$("#jumlah").val($("#jumlah").val().replace(/^0/g,''));
});
view : <td><input id="jumlah" type="text" name="jumlah" class="form-control input-sm" onkeypress="allowNumbersOnly(event)" value="1"/></td>
-> validasi size dan file type untuk file upload :
$('.attachment').bind('change', function() {
var countError = 0;
$('.error-image').fadeOut(500);
$('.error-image-extention').fadeOut(500);
var fileSize = document.getElementById("attachment").files[0];
var sizeInMb = (fileSize.size/1024)/1024;
var sizeLimit= 5;
if (sizeInMb > sizeLimit) {
countError = 1;
$('.error-image').fadeIn(500);
$('.error-image-extention').fadeOut();
}
var filename = $("#attachment").val();
var extension = filename.replace(/^.*\./, '');
if (extension == filename) {
extension = '';
} else {
extension = extension.toLowerCase();
}
switch (extension) {
case 'pdf':
case 'doc':
case 'docx':
break;
=> replace image menggunakan jquery (harus memakai id) :
$('#icon-image').attr('src', '/public/files/image/komoditas/'+data.icon);
=> link menggunakan a href ke fungsi js :
<a href="javascript:cekTotalMhs(666);">'.$counting_universitases->count_total_mhs.'</a>
=> onclick js ketika di klik :
$("#cari").click(function(){
$('.loading').show();
var prov = $( ".prov" ).val();
});
=> membuat getaran di perangkat dengan jquery :
https://googlechrome.github.io/samples/vibration/?fbclid=IwAR3QN59WacUcKQhxTIAMCIrEO0xq4wI8yP9X-d7ApupgzF-uGD5GWN2wrjE
=> cara membuat count / jumlah dari name yang sama :
var totalProduk = $('[name=button-delete]').length;
=> menghapus id chart untuk replace dengan chart baru :
<html><div id="graph"></div></html>
<script>$('#graph').empty();</script>
=> mengambil data berdasarkan name form :
$('input[name=phone_number]').val();
=> replace data dengan enkrip saat sebelum post data :
jQuery('.save').submit(function(){
var isiKonten = tinymce.get('isi_konten').getContent();
var isiKontenE = htmlEscape(isiKonten);//ini fungsi encode
tinymce.get('isi_konten').setContent(isiKontenE);
});
=> validasi sebelum submit data :
$(function() {
$('.btnLogin').click(function(e) {
$('.notifSalahEmail').hide();
e.preventDefault();
var email = $('.email').val();
});
});
=> fokus class jika ada validasi :
$( ".validate")[0].scrollIntoView();
OR
$('html, body').animate({
scrollTop: $(".nama_template").offset().top
}, 0);
=> deteksi jika tekan tombol enter aksi jquery (press enter key on jquery)
function someFunction(){//do stuff}
$(document).ready(function(){//Load City by State
$('#billing_state_id').live('change', someFunction);
$('#click_me').live('click',function(){//do something
someFunction();});});
var data =[{"Id":10004,"PageName":"club"},{"Id":10040,"PageName":"qaz"},{"Id":10059,"PageName":"jjjjjjj"}];
$.each(data,function(i, item){
alert(data[i].PageName);});
$.each(data,function(i, item){
alert(item.PageName);});
- cara menghapus data array json dengan looping dan delete :
-> solusi string ada spesial karakter tanda kutip atau petik, harus menggunakan
decode (btoa) dan endcode (atob), contoh :
decode :
sendParam(\'' + btoa(item.nama_produk)+ '\')
encode :
$('#namaProduk').val(atob(nama_produk));
-> // parsing object to array untuk kebutuhan cek data yang dikirim json ke controller
var dataIdMahasiswaFromDb = [{id:1,mahasiswa_id:"163"},{id:2,mahasiswa_id:"167"},{id:3,mahasiswa_id:"164"},{id:4,mahasiswa_id:"168"},{id:5,mahasiswa_id:"169"},{id:6,mahasiswa_id:"170"},{id:7,mahasiswa_id:"172"}]