Rabu, 30 Desember 2020
Senin, 28 Desember 2020
Cara mengatur Permision folder di htdocs Linux Mint dan Ubuntu
Cara 1 :
// Membuka folder sebagai root, ketikkan pada Terminal : gksu nemo // Linux Mint gksudo nautilus // Ubuntu
Cara 2 :
1. anda harus tau dulu nama pengguna yg akan diberikan hak akses untuk ke htdocs. jika sobat belum tau, silahkan buka terminal, lalu ketikkan :
Buka Terminal dan ketik:
$ who am i
$ sudo chown -R namauser:namauser /opt/lampp/htdocs
2. dan tahap berikutnya, modifikasi file httpd.conf, ketikkan di terminal :
sudo gedit /opt/lampp/etc/httpd.conf
3. setelah text editornya terbuka cari :
User daemon // Linux Mint User nobody // Ubuntu
Ganti menjadi :
User robbie // Linux Mint User robbie // Ubuntu
4.Selanjutnya simpan, dan logout/restart lagi system operasinya.
ciri program / Aplikasi / software yang baik
// 1.High Performance
Software yang dibuat mempunyai performance yang tinggi, walaupun digunakan oleh beberapa user. // 2.Mudah digunakan Software yang dibut harus ‘easy to use’ yaitu mudah digunakan sehingga tidak membutuhkan proses yang lama untuk seorang user untuk mempelajarinya // 3.Mempunyai Penampilan yang baik Software yang dibuat harus memiliki interface/ antar muka yang menarik sehingga user tidak merasa bosan // 4.Reability Kehandalan sejauh mana suatu software dapat diharapkan melakukan fungsinya sesuai dengan ketelitian yang diperlukan. // 5.Mampu beradaptasi Seharusnya software mampu beradaptasi dengan perubahan-perubahan teknologi yang ada. // 6.Interobility Software yang dibuat seharusnya mampu berinteraksi denan aplikasi lain // 7.Mobility Software yang dibuat dapat berjalan diberbagai sistem operasi.
Cara Reset Nilai Auto Increment MySQL
1. Alter Table
/* Menggunakan perintah ALTER TABLE yaitu mengubah struktur auto increment. Dengan cara ini Anda cukup menentukan nilai auto increment yang akan direset. */ ALTER TABLE nama_tabel AUTO_INCREMENT = 0; ALTER TABLE nama_tabel AUTO_INCREMENT = 55; // 2. Truncate Table /* Dengan perintah TRUNCATE, semua data akan dihapus dan field dengan auto increment akan direset kembali. */ TRUNCATE TABLE nama_tabel; // 3. Mengahapus Field Auto Increment & Membuatnya Kembali /* Dengan cara ini Anda harus menghapus field PRIMARY KEY AUTO_INCREMENT, kemudian membuat kembali field tersebut. Pertama, hapus dahulu field dengan PRIMARY KEY AUTO_INCREMENT dengan perintah berikut : */ // Menghapus Field Auto Increment ALTER TABLE nama_tabel DROP nama_field; // Membuat Kembali Field dengan Auto Increment ALTER TABLE nama_tabel ADD nama_field INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
Export data MySQL multiple table ke Excel dengan PHP
<?php
mysql_connect("localhost","root",""); mysql_select_db("pmb_eksport"); $select = "SELECT pmb.kodereg, password, npassword, pmb.tahun165, pmb.nama, kelamin, tempatlahir, tanggallahir, agama, alamat, kota, rt, rw, kodepos, propinsi, email, foto FROM pmb left join pmbform_jurusan on pmb.kodereg=pmbform_jurusan.kodereg left join pmbreg on pmb.kodereg=pmbreg.kodereg where pmbform_jurusan.status='1'"; $export = mysql_query ( $select ) or die ( "Sql error : " . mysql_error( ) ); $fields = mysql_num_fields ( $export ); for ( $i = 0; $i < $fields; $i++ ) { $header .= mysql_field_name( $export , $i ) . ","; } while( $row = mysql_fetch_row( $export ) ) { $line = ''; foreach( $row as $value ) { if ( ( !isset( $value ) ) || ( $value == "" ) ){ $value = ","; } else { $value = str_replace( '"' , '""' , $value ); $value = '"' . $value . '"' . ","; } $line .= $value; } $data .= trim( $line ) . "\n"; } $data = str_replace( "\r" , "" , $data ); header("Content-type: application/vnd.ms-excel"); header("Content-disposition: csv" . date("Y-m-d") . ".csv"); header( "Content-disposition: filename=report.csv"); print "$header\n$data"; exit;
Macam-macam Algoritma Sorting dan Implementasi dengan PHP
Algoritma Sorting merupakan algoritma yang menempatkan elemen list pada urutan tertentu. Urutan yang paling sering digunakan ialah urutan numerikal dan urutan lexicographical. Sorting yang efisien sangat dibutuhkan untuk mengoptimisasi penggunaan dari algoritma lain seperti pencarian dan penggabungan yang membutuhkan list terurut untuk berjalan dengan sempurna, yang juga sering digunakan untuk Canonicalisisasi data dan menghasilkan output yang dapat dibaca manusia. (Wikipedia)
1. Buble Sort
Merupakan algoritma pengurutan paling tua dengan metode pengurutan paling sederhana. Pengurutan yang dilakukan dengan membandingkan masing-masing item dalam suatu list secara berpasangan, menukar item jika diperlukan, dan mengulaginya sampai akhir list secara berurutan, sehingga tidak ada lagi item yang dapat ditukar.
Implementasi dengan PHP
echo "//bubble sortn"; $data=array(6,5,3,1,8,7,2,4); function bubble_sort($data){ $n=count($data); for ($i = 0;$i<$n;$i++){ for ($j = $n-1;$j>$i;$j--){ if ($data[$j] < $data[$j-1]){ $dummy=$data[$j]; $data[$j]=$data[$j-1]; $data[$j-1]=$dummy; } } } return $data; } print_r(bubble_sort($data));
2. Insertion Sort
Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.
Implementasi dengan PHP
echo "//insertion sortn";
$data=array(6,5,3,1,8,7,2,4);
function insertion_sort($data){
$n=count($data);
for ($i = 1;$i<$n;$i++){ for ($k = $i; $k>0; $k--) {
if($data[$k]<$data[$k-1]){
$dummy=$data[$k];
$data[$k]=$data[$k-1];
$data[$k-1]=$dummy;
}
}
}
return $data;
}
print_r(insertion_sort($data));
3. Selection Sort
Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
Implementasi dengan PHP
echo "//selection sortn"; $data=array(6,5,3,1,8,7,2,4); function selection_sort($data){ $n=count($data); for ($i = 0;$i<$n;$i++){ $k = $i; for ($j = $i+1;$j<$n;$j++){ if ($data[$j] < $data[$k]) $k = $j; } $dummy=$data[$i]; $data[$i]=$data[$k]; $data[$k]=$dummy; } return $data; } print_r(selection_sort($data));
4. Shell Sort
Merupakan algoritma yang stau jenis dengan insertion sort, dimana pada setiap nilai i dalam n/i item diurutkan. Pada setiap pergantian nilai, i dikurangi sampai 1 sebagai nilai terakhir.
Implementasi dengan PHP
echo "//shell sortn"; $data=array(6,5,3,1,8,7,2,4); function shell_sort($data){ $n=count($data); $k=0; $gap[0]=(int) ($n / 2); while($gap[$k]>1){ $k++; $gap[$k]=(int)($gap[$k-1]/2); } for($i=0;$i<=$k;$i++){ $step=$gap[$i]; for($j=$step;$j<$n;$j++){ $temp=$data[$j]; $p=$j-$step; while($p>=0 && $temp<$data[$p]){ $data[$p+$step]=$data[$p]; $p=$p-$step; } $data[$p+$step]=$temp; } } return $data; } print_r(shell_sort($data));
5. Merge Sort
Algoritma dirumuskan dalam 3 langkah berpola divide-and-conquer. Berikut menjelaskan langkah kerja dari Merge sort.
- Divide : Memilah elemen – elemen dari rangkaian data menjadi dua bagian.
- Conquer : Conquer setiap bagian dengan memanggil prosedur merge sort secara rekursif
- Kombinasi : Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian.
IMPLEMENTASI
echo "//merge sortn"; $data=array(6,5,3,1,8,7,2,4); function merge_sort ($data){ if (count($data) <= 1 ) return $data; $left = merge_sort(array_splice($data,floor(count($data) / 2))); $right = merge_sort($data); $result = array(); while (count($left) > 0 && count($right) > 0){ if ($left[0] <= $right[0]) array_push($result, array_shift($left)); else array_push($result, array_shift($right)); } while (count($left) > 0) array_push($result, array_shift($left)); while (count($right) > 0) array_push($result, array_shift($right)); return $result; } print_r(merge_sort($data));
6. Quick Sort
Algoritma ini berdasar pada pola divide-and-conquer. Berbeda dengan merge sort, algoritma ini hanya mengikuti langkah – langkah sebagai berikut :
- Divide
Memilah rangkaian data menjadi dua sub-rangkaian A[p…q-1] dan A[q+1…r] dimana setiap elemen A[p…q-1] adalah kurang dari atau sama dengan A[q] dan setiap elemen pada A[q+1…r] adalah lebih besar atau sama dengan elemen pada A[q]. A[q] disebut sebagai elemen pivot. Perhitungan pada elemen q merupakan salah satu bagian dari prosedur pemisahan.
- Conquer
Mengurutkan elemen pada sub-rangkaian secara rekursif. Pada algoritma quicksort, langkah ”kombinasi” tidak di lakukan karena telah terjadi pengurutan elemen – elemen pada sub-array.
IMPLEMENTASI
echo "//quick sortn"; $data=array(6,5,3,1,8,7,2,4); function quick_sort($data) { if(!count($data)) return $data; $pivot= $data[0]; $low = $high = array(); $n = count($data); for($i=1; $i < $n; $i++) { if($data[$i] <= $pivot) { $low [] = $data[$i]; } else { $high[] = $data[$i]; } } return array_merge(quick_sort($low), array($pivot), quick_sort($high)); } print_r(quick_sort($data));
7. Heap Sort
Heap sort adalah sorting yang menggunakan struktur data heap, dengan nilai parent selalu lebih besar dari pada nilai childnya.
Algoritma :
- Buat suatu heap.
- Ambil isi dari root masukkan kedalam sebuah array.
- Hapus element root dengan mempertahankan properti heap.
- Ulangi sampai tree menjadi kosong
IMPLEMENTASI
echo "//heap sortn"; $data=array(6,5,3,1,8,7,2,4); function build_heap(&$data, $i, $t){ $tmp_var = $data[$i]; $j = $i * 2 + 1; while ($j <= $t) { if($j < $t) if($data[$j] < $data[$j + 1]) { $j = $j + 1; } if($tmp_var < $data[$j]) { $data[$i] = $data[$j]; $i = $j; $j = 2 * $i + 1; } else { $j = $t + 1; } } $data[$i] = $tmp_var; } function heap_sort(&$data) { $init = (int)floor((count($data) - 1) / 2); for($i=$init; $i >= 0; $i--){ $count = count($data) - 1; build_heap($data, $i, $count); } for ($i = (count($data) - 1); $i >= 1; $i--) { $tmp_var = $data[0]; $data[0] = $data[$i]; $data[$i] = $tmp_var; build_heap($data, 0, $i - 1); } } heap_sort($data); print_r($data);
Kamis, 24 Desember 2020
Langkah Koneksi Aplikasi Fingerspot Personnel dengan Cloud Fingerspot.IO
1. Masuk ke aplikasi Fingerspot Personnel
2. Pilih Menu Pengaturan
3. Pilih Sub Menu Umum
4. Pilih Cloud
5. Klik Tombol Akun Cloud
6. Muncul tampilan Tambah Akun lalu Input Nama Akun Fingerspot.iO
Langkah mengetahui Nama Akun Cloud Fingerspot.iO (Menu Bahasa Indonesia) :
a. Masuk ke akun web Fingerspot.iO Anda dilink http://fingerspot.io/customer/quick_guide
b. Pilih Icon Gerigi Yang Ada Disebelah Kanan Atas
c. Klik Pengaturan Umum
d. Pilih Profil Perusahaan
e. Lihat pada Kolom Email
Langkah mengetahui Nama Akun Cloud Fingerspot.iO (Menu Bahasa English) :
a. Masuk ke akun web Fingerspot.iO Anda dilink http://fingerspot.io/customer/quick_guide
b. Pilih Icon Gerigi Yang Ada Disebelah Kanan Atas
c. Klik Global Settings
d. Pilih Company Profile
e. Lihat pada Kolom Email
7. Pilih Server Cloud Fingerspot.iO lalu pada kolom URL Server akan muncul otomatis https://api.fingerspot.io/
8. Input API Key
Langkah mengetahui API Key Cloud Fingerspot.io (Menu Bahasa Indonesia) :
a. Masuk ke akun web Fingerspot.iO Anda dilink http://fingerspot.io/customer/quick_guide
b. Pilih Icon Gerigi Yang Ada Disebelah Kanan Atas
c. Klik Pengaturan Umum
d. Pilih API SDK
e. Lihat pada Kolom API Key Untuk API SDK
Langkah mengetahui API Key Cloud Fingerspot.io (Menu Bahasa English) :
a. Masuk ke akun web Fingerspot.iO Anda dilink http://fingerspot.io/customer/quick_guide
b. Pilih Icon Gerigi Yang Ada Disebelah Kanan Atas
c. Klik Global Settings
d. Pilih API
e. Lihat pada Kolom API Key For API SDK
8. Tekan Keyboard Panah Bawah untuk Menyimpan
9. Lalu Tutup Tampilan Tambah Akun
10. Lalu Masuk Kembali ke Menu Pengaturan
11. Pilih Sub Menu Mesin
12. Input Settingan Koneksi Mesin Ke Fingerspot.iO
Data Mesin Belum Di Input :
a. Tekan Keyboard Panah Bawah
b. Input SN Mesin Absensi
c. Pilih Type Mesin Absensi
d. Input Nama Mesin Absensi
e. Input No. Mesin Terserah Yang Penting Antar Mesin Tidak Sama
f. Pilih Jenis Koneksi Web
g. Input Cloud ID Sesuai dengan No. Mesin atau Cloud ID yang ada di Mesin Absensi atau Cloud ID yang di daftarkan pada Cloud Fingerspot.iO
h. Input Nama Akun Email Anda yang ada di Cloud Fingerspot.iO
i. Setelah Input Nama Akun Email maka akan Muncul Otomatis Nama Cloud, API Key
j. Tekan Keyboard Panah Bawah untuk Menyimpan
Data Mesin Sudah Diinput :
a. Pilih Jenis Koneksi Web
b. Kosongkan Cloud ID (Tidak Perlu Diinput)
c. Input Nama Akun Email Anda di Fingerspot.iO
d. Setelah Input Nama Akun Email maka akan Muncul Otomatis Nama Cloud, API Key
e. Tekan Keyboard Panah Bawah untuk Menyimpan
13. Lalu dan setelah settingan diatas, download online bisa dilakukan
chrome://flags/#allow-insecure-localhost
chrome://flags/#allow-insecure-localhost
Selasa, 22 Desember 2020
Senin, 21 Desember 2020
Seeting Server untuk Laravel 5.8
1. Server Requirements
- PHP >= 7.1.3
- BCMath PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
Setting Configuration Server Php7.3
https://solutech.id/2019/07/03/cara-install-laravel-5-8/
Rabu, 02 Desember 2020
solusi cara mengatasi code error konversi dan migrasi PHP 5 ke PHP 7
berikut adalah salah satu cara mengatasi error code yang terjadi saat migrasi PHP 5 ke PHP 7 terutama ketika aplikasi sdh diupload ke hosting, sementara penyedia layanan hosting menggunakan PHP 7 dan aplikasi Anda menggunakana PHP 5:
Caranya:
1. Download file: parser-php-version.php
2. Taruh file tersebut di folder utama (public_html)
3. Buka file koneksi.php
4. Lakukan include file:parser-php-version.php pada file koneksi php seperti berikut:
- <?php
- include "parser-php-version.php"; //Konversi dan migrasi PHP version
- $server = "localhost";
- $username = "####";
- $password = "####";
- $database = "####";
- function anti_injection($data){
- return $filter;
- }
- function average($arr){
- }
- function cek_session_admin(){
- $level = $_SESSION[level];
- if ($level != 'superuser' AND $level != 'kepala'){
- echo "<script>document.location='index.php';</script>";
- }
- }
- function cek_session_guru(){
- $level = $_SESSION[level];
- if ($level != 'guru' AND $level != 'superuser' AND $level != 'kepala'){
- echo "<script>document.location='index.php';</script>";
- }
- }
- function cek_session_siswa(){
- $level = $_SESSION[level];
- if ($level == ''){
- echo "<script>document.location='index.php';</script>";
- }
- }
- ?>