Minggu, 28 Juli 2019

Cara Mengatasi LOAD_FILE() Bernilai NULL Pada MySql


Penggunaan LOAD_FILE() umumnya digunakan untuk memasukkan data berupa file/gambar pada kolom tabel bertipe data BLOB. Namun seringkali pengguna MySql yang belum pengalaman penggunaan data bertipe BLOB kesulitan untuk memasukkan data yang berupa file tersebut.
Untuk mencoba berhasil tidaknya akses file biasanya menggunakan tes query SELECT LOAD_FILE(<path>). Misalnya:

SELECT LOAD_FILE(‘/home/user/Picture/fotoku.jpg’);


Jika ditemukan nilai NULL pada hasil/keluaran query diatas, sedangkan file tersebut memang ada (sesuai path), maka perlu di ketahui ada beberapa hal yang (umumnya) menyebabkan panggilan LOAD_FILE() bernilai NULL. Untuk itu maka:

  • Pastikan File tersebut berlokasi di komputer/host server (lokasi MySql Servert terinstall)

  • Harus mempunyai hak akses untuk membuka atau membaca file tersebut.

  • Ukuran/size File tidak melebihi “max_allowed_packet”. Untuk Melihat nilai max_allowed_packet yang sedang dipakai:
SHOW VARIABLES LIKE 'max_allowed_packet';

Hasil:
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| max_allowed_packet | 4194304  |
+--------------------+----------+
  • Jika pada sistem variable secure_file_priv yang digunakan untuk memberikan hak akses pada lokasi yang sudah ditentukan, sudah di set tidak kosong, maka hendaknya file diload dari lokasi tersebut. Untuk melihat apakah secure_file_priv sudah diset atau belum:
SHOW VARIABLES LIKE 'secure_file_priv';

Contoh Hasil:
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| secure_file_priv | /data/ |
+------------------+--------+

Jika cara-cara yang berhubungan diatas setelah dicoba namun masih belum berhasil (mungkin karena masih belum benar-benar faham). Maka cobalah cara berikut:

Letakkan sebuah file pada /var/lib/mysql misal:
$ sudo cp ~/fotoku.jpg /var/lib/mysql/gambar
#Mengcopy file fotoku.jpg dari /home/user ke /var/lib/mysql/gambar

kemudian coba load file di mysql

SELECT LOAD_FILE(‘/var/lib/mysql/gambar/fotoku.jpg’);

Taraaa…

Semoga berhasil

Sabtu, 20 Juli 2019

Perbedaan Dan Contoh Penggunaan Procedure Dan Fungsi Pada Pemrogaman Gambas

Procedure dan Fungsi merupakan bagian dari perintah program yang dapat berisi kumpulan perintah-perintah program sebagai referensi/rujukan dengan tujuan efisiensi penulisan (menghindari pengulangan penulisan kode program).
Terlepas dari kesamaan dan perbedaan penulisan pada masing-masing bahasa, perlu ditegaskan bahwa perbedaan antara Procedure dan Fungsi adalah:

Procedure
Tidak mengembalikan nilai, artinya hanya menjalankan perintah-perintah yang ada didalam (procedure)nya saja.
Contoh1:

Public Sub Main()

TesProcedure
‘Bisa juga ditulis dengan TesProcedure()

End

Sub TesProcedure()

Dim a As Byte

Print “Ini Procedure”
a = 20 + 5
Print a

End

Hasil:
Ini Procedure
25

Contoh 2:

Public Sub Main()

TesProcedure("Ini Prosedure", 3)

End

Sub TesProcedure(Teks As String, Nilai As Byte)
Dim a As Byte
a = Byte * 6
Print Teks;; a

End

Hasil:
Ini Prosedure 18

Program diatas artinya Sub Main memanggil procedure TesProcedure untuk menjalankan perintah-perintah yang ada didalamnya.

Fungsi
Mengembalikan nilai, artinya perintah-perintah yang ada dilamnya berujung pada pengembalian nilai, walaupun beberapa perintah didalamnya tidak berhubungan dengan nilai yang dikembalikan. Pengembalian nilai pada Fungsi ditandai dengan deklarasi tipe data yang dikembalikan (pada nama fungsi) dan perintah “Return” didalamnya.

Contoh 3:

Public Sub Main()

Dim z As Byte = 7
Dim b As Short

b = 2000 + TesFungsi()
Print TesFungsi() + z
Print b

End

Sub TesFungsi() As Short

Dim a As Byte

Print “Ini Fungsi”
a = 20 + 5
Print a
Return a

End

Hasil:
Ini Fungsi
25
32
2025

Contoh 4:

Public Sub Main()

Dim Kata As String = “Contoh Fungsi Kedua”
Dim Angka as Byte = 6

‘Procedure diberi nilai parameter “Contoh Fungsi Kedua” dan 6
Print TesFungsi(Kata, Angka) + 10

End

Sub TesFungsi(Teks As String, Nilai as Byte) As Short

Dim a As Byte

Print Teks
a = Nilai + 5
Return a

End

Hasil:
Contoh Fungsi Kedua
21

Kesimpulan:
  • Procedure hanya menjalakan perintah yang didalamnya
  • Fungsi Menjalankan perintah didalamnya dan mempunyai nilai yang dikembalikan yang ditandai dengan “Return”
  • Fungsi harus di deklarasikan tipe data yang dikembalikan
  • Pemanggilan Fungsi ditandai/diakhiri dengan “()” seperti NamaFungsi() atau NamaFungsi(1, 2)
  • Pemanggilan Procedure tidak perlu ditandai “()” jika tidak ada nilai parameter. Contoh: NamaProcedure, NamaProcedure(), NamaProcedure(1,2)

Semoga bermanfaat