Images

Firebase Push Notification Menggunakan Php dan Delphi

Kali ini kita belajar menggunakan firebase untuk push notification ke Perangkat, pada umumnya berbasis android. caranya kita push data json ke alamat fcm.googleapis.com/fcm/send dengan mengirimkan auth dibagian headernya. seperti contoh dibawah: 1. Menggunakan Delphi, jangan lupa menggunakan uses JSON, system.net.httpclient 2. Menggunakan PHP
Images

Tutorial membuat Auth API menggunakan php parameter Header

Kali ini kita akan belajar membuat Auth untuk verifikasi Riquest api ke server kita. Jika teman-teman membaca artikel ini saya anggap pemahaman API teman-teman bukan basic lagi, kapan sih kita membutuhkan Auth dan apa manfaat Auth untuk API server kita. Saya tidak mampu menjelaskan panjang lebar tentang Auth itu sendiri tapi saya lebih ke teknis penggunaan Auth, disini kita akan membuat Auth yang dimana melalui parameter Header. contoh menggambil untuk mengambil parameter yang dikirimkan melalui Header menggunakan PHP: dari contoh diatas Headers parameter "Auth" maka kita tampilkan, teman-teman tinggal membuat logika untuk penanganan request tadi. teman-teman bisa membuat parameter lain yg dikirim melalui header. tadi adalah contoh untuk menerima parameter melalui Headers. sekarang kita coba untuk mengirim data ke API tadi:
Images

Manipulasi gambar yang disimpan di database bertipe blob menggunakan PHP

Berikut ini saya akan jelaskan cara menampilkan gambar dibrowser yang dimana gambar tersebut disimpan di database menggunakan tipe data blob.
disini saya menggunakan tabel dengan nama file_peg_user dan file_konten adalah nama field yang menampung gambar dengan tipe blob.
Langsung saja berikut penggalan coding php nya :

1. Langsung download gambar yang ada di database tanpa menampilkan
2. Menampilkan gambar orginal di browser
3. Resize gambar kemudian ditampilkan gambar
4. mengubah resolusi foto kemudian menampilkan gambar
5. Mengcrop gambar kemudian menampilkan gambar
Images

Tutorial Mengambil value Json dari webservice / API menggunakan idhttp pada Delphi 7

Ok, kali ini saya akan berbagi cara mengambil data dari json jika menggunakan delphi jadul, yaitu delphi 7, meski jadul hampir setiap programmer delphi masih menggunakan delphi 7 sebagai dasar pengembangan project2nya. ok tanpa basa basi berikut penggalan coding untuk delphi 7

Jangan lupa gunakan unit dan uses dari
IdHTTP,uLkJSON;
1. Mengambil Json Array
Contoh Output json

[
{
"id_user": "19",
"NAMA": "Risman Arisandi",
"NIP": "198907252020101001"
},
{
"id_user": "18",
"NAMA": "Vivi",
"NIP": "198907252020101002"
},
{
"id_user": "17",
"NAMA": "Aidan",
"NIP": "198907252020101003"
},
{
"id_user": "16",
"NAMA": "Ulan",
"NIP": "198907252020101004"
}
]
Code Delphi
2. Mengambil Json Object dan Object berarray
 Contoh Output json
{
"sukses": "1",
"data":[{
"id_user": "19","NAMA": "Risman Arisandi","NIP": "198907252020101001"},{"id_user": "18","NAMA": "Vivi","NIP": "198907252020101002"},{"id_user": "17","NAMA": "Aidan","NIP": "198907252020101003"},{"id_user": "16","NAMA": "Ulan","NIP": "198907252020101004"}}
Code Delphi
Images

Cara Upload menggunakan Filezilla ke Sourceforge.net

Sourceforge.net adalah salah satu marketplace aplikasi-aplikasi, disana kita dengan mudah mempublikasikan aplikasi kita ke pengguna. dimana gratis disana juga pengguna dapat dengan mudah menemukan aplikasi kita.

dan mengapa saya mebuat konten ini, karna mengunggah aplikasi atau source aplikasi di sourceforge agak sulit, karna sering terjadi gagal upload, dengan menggunakan filezilla mengunggah project kita ke sourceforge lebih mudah. ok langsung saja.

1. Install dan download Filezilla, jika sudah dibuka, masukan akun anda di filezilla seperti gambar dibawah


2. pada kotak merah 1 isi
host : sftp://frs.sourceforge.net
username : username_anda
password : password_anda
port : 22

kemudian klik quickconnect

3. setelah berhasil login, pada bagian remote site isi : /home/pfs/project/nama_project
jangan lupa mengisi sesuai nama project anda seperti contoh gambar dibawah


pada kolom kotak 4, adalah direktori project anda di simpan. anda tinggal masukan file project anda dibagian ini dengan cara upload atau drag ke bagian ini.

Sekian, begitulah penjelasan singkat dari saya, bagaimana cara mengupload project menggunakan filezilla ke sourceforge.net
Salam.
Images

Tutorial Mengambil value Json dari webservie / API menggunakan NetHttpClient Delphi

Sebelumnya saya sudah membagikan cara menggunakan rest untuk mengambil value json dari webservice. nah kali ini saya akan membahas menggunakan komponen NethttpClient pada delphi untuk mengambil value json dari webservice.

berikut kelebihan dari NetHttpClient dibanding Komponen Rest di delphi
1. Penggunaan Coding lebih simple
2. Penggunaan Realtime dapat dilakukan dan lebih simple
3. Respon langsung di proses dan lebih cepat.

Berikut contoh code nya, oh iya untuk sampel kita pakai json webservice dari jsonplaceholder.typecode.com

1. Mengambil Json Array Method Get
Contoh Output Json

[ { "userId": 1, "id": 1, "title": "quidem molestiae enim" }, { "userId": 1, "id": 2, "title": "sunt qui excepturi placeat culpa" }, { "userId": 1, "id": 3, "title": "omnis laborum odio" }, { "userId": 1, "id": 4, "title": "non esse culpa molestiae omnis sed optio" }]

Code Delphi
2. Mengambil Json Object Method Get
Contoh Output Json
{ "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"}
Code Delphi
3. Mengambil Json Object Method Post
Contoh Output Json (karna outputnya responnya di batasi kita pakai seadanya saja)
{ "userId": 1, "id": 1
}
Code Delphi
4. Mengambil Json Array menggunakan looping
Contoh Output Json
[ { "userId": 1, "id": 1, "title": "quidem molestiae enim" }, { "userId": 1, "id": 2, "title": "sunt qui excepturi placeat culpa" }, { "userId": 1, "id": 3, "title": "omnis laborum odio" }, { "userId": 1, "id": 4, "title": "non esse culpa molestiae omnis sed optio" }]
Code delphi
5. Mengambil Json Object dan Array
Contoh Output Json
{"status":"informasi",
"message":"berhasil",
"data":[
{ "userId": 1, "id": 1, "title": "quidem molestiae enim" }, { "userId": 1, "id": 2, "title": "sunt qui excepturi placeat culpa" }, { "userId": 1, "id": 3, "title": "omnis laborum odio" }, { "userId": 1, "id": 4, "title": "non esse culpa molestiae omnis sed optio" }]}
Code delphi

Refrensi lain bisa liat disini
https://stackoverflow.com/questions/9608794/delphi-accessing-json-objects-within-a-json-array
https://gist.github.com/adilsoncarvalho/94e7d8bafe3821199993b2dda691beb3

Contoh Codenya disini : Download
Images

Tutorial Mengambil value Json dari webservie / API menggunakan RestClient Delphi

sebelum masuk ke pembahasan saya cerita sedikit manfaat dari topik kali ini. sebelumnya saya menggunakan komponen Rest untuk mengambil data Json yg ada di webservise. sebelum saya tahu metode ini saya mengunakan banyak komponen agar data json bisa saya tampilkan ke aplikasi, dan itu sangat boros resource dan besarnya file aplikasi. biasanya untuk mengambil data json dari webservice saya butuh setidaknya 6 komponen yang hampir saya tidak tahu fungsinya masing2 yg disediakan dari Restdebugger


sekarang sudah tidak perlu lagi menggunakan banyak2 komponen. cukup RestRequest dan RestClient.

1. Mengambil JSONValue / JSONObject
contoh output dari json

{ "id_user": "6", "NAMA": "Risandy Ka", "STATUS": "Aku Berada di rumah", "LATITUDE": "", "LONGITUDE": "", "TANGGAL": "2019-08-01 22:56:10" }
Code Delphi :
procedure TFMain.Button1Click(Sender: TObject);
var
        jsn : TJSONObject;
begin
     DM.RESTClient_status.BaseURL := 'http://localhost/aplikasi/peg_status.php?act=onestatus&id_status=222';
      DM.RestRequest_status.ExecuteAsync();
      Sleep(2000);
      jsn := DM.RESTResponse_status.JSONValue as TJSONObject;
      Memo1.Text := jsn.Values['STATUS'].Value;
      TabControl_home.TabIndex := 3;
end;
 2. Mengambil JSONarray
ini jika json nya berbentuk array atau lebih dari 1 data
contoh outputnya
[{ "id_user": "6", "NAMA": "Risandy Ka", "STATUS": "Aku Berada di rumah", "LATITUDE": "", "LONGITUDE": "", "TANGGAL": "2019-08-01 22:56:10" },{ "id_user": "6", "NAMA": "Risandy Ka", "STATUS": "Dalam perjalanan", "LATITUDE": "", "LONGITUDE": "", "TANGGAL": "2019-08-01 22:56:10" },{ "id_user": "6", "NAMA": "Risandy Ka", "STATUS": "Lagi di kampus", "LATITUDE": "", "LONGITUDE": "", "TANGGAL": "2019-08-01 22:56:10" }] 
Code Delphi :
procedure TFMain.Button1Click(Sender: TObject);
var
       id_user, NAMA, STATUS, LATITUDE, LONGITUDE, TANGGAL, URL : string;
       JSN: TJSONObject;
       JSNarry : TJSONArray;
 begin
       JSNarry := DM.RESTResponse_status.JSONValue as TJSONArray;
       for i := 0 to  JSNarry.Count  do
       begin
                 JSN := JSNarry.Items[i] as TJSONObject;
                 id_user     := JSN.Values['id_user'].Value;
                 NAMA        := JSN.Values['NAMA'].Value;
                 STATUS      := JSN.Values['STATUS'].Value;
                 LATITUDE    := JSN.Values['LATITUDE'].Value;
                 LONGITUDE   := JSN.Values['LONGITUDE'].Value;
                 TANGGAL     := JSN.Values['TANGGAL'].Value;
               
Add_status(id_user, NAMA, STATUS, LATITUDE, LONGITUDE, TANGGAL, LV);
         end;
  end;
diatas adalah cara menggunakan komponen rest. berikut jika ingin menggunakan TNetHTTPClient dan IHTTPRespon menampilkan output json

Contoh output json nya jika menggunakan mode post
[
    {
    "id_user":"13",
    "id_fb":null,
    "NAMA":"VIVI PRATIWI",
    "EMAIL":"viri@gmail.com"
  }
]
jika digunakan di browser tidak akan tampil harus jadi menggunakan restdebugger untuk mengetahui outputnya


code webservice phpnya
elseif ($act=='login1'){ $EMAIL = $_POST['EMAIL'];  $NAMA = $_POST['NAMA'];  $data = mysql_query("SELECT id_user, id_fb, NAMA, EMAIL FROM peg_user WHERE EMAIL='$EMAIL' and NAMA='$NAMA'"); if (mysql_num_rows($data)>0){  while ($row = mysql_fetch_assoc($data)){  $respon[] = $row; } else { echo json_encode($respon,JSON_PRETTY_PRINT); }
nah untuk mengambil value json nya di delphi :
procedure TFMain.Button1Click(Sender: TObject);
var
      idh : TNetHTTPClient;
      params: TStringList;
      s, strjsn : string;
      httpresult : IHTTPResponse ;
      jo: TJSONObject;
      jv, jvl:TJSONValue;
begin
          idh := TNetHTTPClient.Create(self);
          try
              params:=tstringlist.Create;
              params.AddPair('EMAIL',edt_EMAIL.Text);
              params.AddPair('NAMA',edt_NAMA.Text);
              httpresult := idh.Post('http://rasoftware.net/aplikasi/service_nugo/peg_user.php?act=login1', params);
          finally
              idh.Free;
          end;
    strjsn:=httpresult.ContentAsString();
    jvl := tjsonobject.ParseJSONValue(strjsn);
    If jvl is tjsonarray then
    for jv in (jvl as TJSONArray) do
    begin
      if jv is tjsonobject then
        begin
        jo := jv as tjsonobject;
        s := jo.GetValue<string>('id_user');
        edt_id_user.Text:= s;
        end;
    end;
end;
ingat contoh tadi jika json nya array. jika bukan array tinggal disesuaikan saja.
sekian sharing saya. jika ada penambahan saya akan ubah dilain waktu.
Images

Cara menambahkan VertScroll pada GridLayout / FlowLayout Delphi FMX

Coding Delphi nya

procedure TForm1.FormResize(Sender: TObject);
var
ctrl : TControl;
begin
  if FlowLayout1.controlsCount > 0 then
  begin
    ctrl := FlowLayout1.controls [FlowLayout1.controlsCount - 1];
    FlowLayout1.height := ctrl.position.y + ctrl.height ; //+ ... // allow for margins and padding if needed.
  end;
end;

Struktur Komponen yang digunakan


Jangan lupa set properties FlowLayout / Gridlayout pada Align : Top

contoh codenya disini : Download

Images

RESTClient Json ke Listview Code Manual

Berikut cara menggunakan RESTClient tanpa menggunakan TogelDesignMode.

contoh coding memanggil json webservice dari restclient

RESTClient1.BaseURL := 'http://localhost/esurat/surat_masuk.php?act=tampil'; RestRequest1.ExecuteAsync();

untuk mengisi data json yg sudh di ambil restclient ke listview sebagai berikut:

procedure TForm1.Button2Click(Sender: TObject);
Var
        i : integer;
        item : TListViewItem;
        txt : TListItemText;
        img : TListItemImage;
begin
  for i := 1 to  FDMemTable1.RecordCount do
  begin
      item := ListView1.Items.Add;
      with item do
      begin
           txt := TListItemText(Objects.FindDrawable('Text1'));
           txt.Text := FDMemTable1.FieldByName('PENGIRIM').AsString;;
           txt.Font.Size := 11;
           txt.Font.Style := [TFontStyle.fsBold];
 
           txt := TListItemText(Objects.FindDrawable('Text2'));
           txt.Text := FDMemTable1.FieldByName('TANGGAL_SURAT').AsString;;
           txt.Font.Size := 11;
           txt.Font.Style := [TFontStyle.fsBold];
      end;
      FDMemtable1.Next;
  end;
end;
Images

Menampilkan file PDF dari database Mysql ke website

sebelumnya saya sudah pernah buat postingan tentang menyimpan gambar ke database mysql dan menampilkannya di web. disini nah kali ini saya berbagi menampilkan pdf dari database mysql ke web.

<?php
// CONECT DATABASE
include('koneksi.php'); 

$id = $_GET['id'];
$sqll="SELECT * FROM `file_attachment` WHERE `id`='$id'";
$query=mysql_query($sqll) or die(mysql_error());
$result=mysql_fetch_array($query);
$content=$result['file_content'];
?>
<object data="data:application/pdf;base64,<?php echo base64_encode($content); ?>" type="application/pdf" style="height:98%;width:100%"></object>

untuk penggunaan nya tinggal panggil sesuai url nya http://localhost/web1/download.php?id=6
nanti akan tampil seperti ini


done.
Images

Penggunaan fetch_array dan fetch_assoc pada php

beberapa waktu lalu saya sedang mengulik webservice php agak bisa diakses dari project android
dan ternyata penggunaan fetch_array dan fetch_assoc berbeda
fetch_array menampilkan data array dan name_field sedangkan fetch_assoc hanya menampilkan name_field saja.

sebagai contoh saya perlihatkan hasil dari fetch_array dan fetch_assoc menggunakan restdebugger

1. fetch_array
dalam kotak merah data yg ditampikan berdasarkan urutan array. jadi kita bisa menggunakan berdasarkan array atau name_field.

2. fetch_assoc

nah untuk assoc sendiri hanya menampilkan name_field saja.

sekian penjelasan singkat penggunaan fetch_array dan fetch_assoc pada php.

Images

Tutorial Setting SDK Manager untuk built apk Android di aplikasi Delphi

hai langsung saja ya tanpa basa basi.
disi saya menggunakan aplikasi Delphi 10.2 (Tokyo) saat tutorial ini dibuat. Pada aplikasi Delphi belum ada pengaturan yg diubah dan belum ada komponen tambahan.

untuk membuat aplikasi andorid pertama-tama kita harus download dulu API andorid di aplikasi Andorid SDK Manager, disini saya hanya download API terakhir Android 9


selanjutnya buka aplikasi Delphi nya, nanti dibagian SDK Manager belum ke setting menggunakan lib API yg sudah di download tadi. sebelum ke set akan muncul peringatan seperti gambar dibawah

Selanjutnya tinggal kita ganti saja bagian yg ada icon tanda peringatanya

Setelah menyesuaikan folder API SDK yg kita download tadi. jadi seperti ini.

Nah Sekarang sudah bisa buat aplikasi Android delphi. Mudah bukan. ^_^
Images

Info Komponen dan ebook untuk belajar Delphi android

1. RealThinClient SDK
Delphi components for building reliable cross-platform HTTP(S)
Clients, Servers, Routers, Proxies, Load Balancers & more …



2. Tutorial Delphi Firemonkey