100% menganggap dokumen ini bermanfaat (2 suara)
519 tayangan25 halaman

Contoh JSON dan API di Delphi 7

Dokumen tersebut membahas tentang JSON, web service, API, dan koneksi database MySQL menggunakan JSON dan API dalam bahasa Delphi. JSON digunakan sebagai format pertukaran data antara aplikasi Delphi dengan server, sedangkan API dipakai untuk mengakses database MySQL di server melalui permintaan HTTP. Koneksi database dilakukan secara tidak langsung melalui JSON dan API agar dapat bekerja di berbagai platform.

Diunggah oleh

Aminis Mifta Se
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (2 suara)
519 tayangan25 halaman

Contoh JSON dan API di Delphi 7

Dokumen tersebut membahas tentang JSON, web service, API, dan koneksi database MySQL menggunakan JSON dan API dalam bahasa Delphi. JSON digunakan sebagai format pertukaran data antara aplikasi Delphi dengan server, sedangkan API dipakai untuk mengakses database MySQL di server melalui permintaan HTTP. Koneksi database dilakukan secara tidak langsung melalui JSON dan API agar dapat bekerja di berbagai platform.

Diunggah oleh

Aminis Mifta Se
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Delphi JSON Web Service/API

1. JSON

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah
dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh
komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript,
Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak
bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum
digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python
dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.

JSON terbuat dari dua struktur:


1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai
objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash
table), daftar berkunci (keyed list), atau associative array.
2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini
dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua
bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun
berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan
bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.

JSON menggunakan bentuk sebagai berikut:


Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung
kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik
dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan
diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).

Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau
false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun
bertingkat.

String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda
kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter
khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan
string C atau Java.

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal
tidak digunakan.

Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda tersebut, kecuali
beberapa detil encoding yang secara lengkap dipaparkan oleh bahasa pemprograman yang
bersangkutan.

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

2. Web Service

Web service menurut [Link] mendefinisikan web service sebagai “sebuah software
aplikasi yang dapat teridentifikasi oleh URI dan memiliki interface yang didefiniskan,
dideskripsikan, dan dimengerti oleh XML dan juga mendukung interaksi langsung dengan
software aplikasi yang lain dengan menggunakan message berbasis XML melalui protokol
internet”.

Web service adalah sebuah sofware aplikasi yang tidak terpengaruh oleh platform, ia
akan menyediakan method-method yang dapat diakses oleh network. Ia juga akan
menggunakan XML untuk pertukaran data, khususnya pada dua entities bisnis yang berbeda.

Definisi lain : Web service adalah sistem software yang dirancang untuk mendukung
interopabilitas mesin-ke-mesin yang dapat berinteraksi melalui jaringan. Web service
memiliki antarmuka yang dijelaskan dalam format mesin-processable (khusus WSDL). Sistem
lain berinteraksi dengan Web service dalam cara ditentukan oleh deskripsi dengan
menggunakan pesan SOAP, biasanya disampaikan menggunakan HTTP dengan serialisasi
XML dalam hubungannya dengan Web lainnya yang terkait standar.

Dalam pengertian yang sederhana , XML Web Services dapat di definisikan sebagai
aplikasi yang diakses oleh aplikasi yang lain. Mungkin orang berpendapat itu semacam web
site, tetapi itu bukan demikian. Ada perbedaan – perbedaan yang membedakan dengan web
site.

Perbedaan tersebut dapat dilihat dibawah ini :

WEB SITE
 Memiliki web interface
 Dibuat untuk ber interaksi langsung dengan user
 Dibuat untuk bekerja pada web browser.
Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

WEB SERVICES
 Tidak memiliki interface yang bagus
 Dibuat untuk ber interaksi langsung dengan applikasi yang lain baik beda OS / Konsep
sekalipun.
 Dibuat untuk bekerja pada semua tipe client applikasi / perangkat device

Beberapa karakteristik dari web service adalah:


 Message-based
 Standards-based Programming language independent
 Platform-neutral

3. API (Application Programming Interface)

API (Application Programming Interface) adalah sekumpulan perintah, fungsi,


komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa pemrograman
tertentu yang dapat digunakan oleh programmer saat membangun perangkat lunak.

Dalam API terdapat fungsi-fungsi atau perintah-perintah untuk menggantikan bahasa


yang digunakan dalam system calls dengan bahasa yang lebih terstruktur dan mudah
dimengerti oleh programmer.

Keuntungan menggunakan API:


Probabilitas
API dapat digunakan untuk bahasa pemrograman ataupun untuk sistem operasi mana
saja asalkan paket-paket API sudah terpasang.
Lebih Mudah Dimengerti

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti daripada bahasa
system call. Hal ini sangat penting dalam hal editing dan pengembangan.
Mudah Dikembangkan
Dengan adanya API, memudahkan programmer untuk mengembangkan suatu system.

4. Koneksi MySQL dengan JSON Parse Delphi

Data
Data

Software
Application
Data JSON Data API (PHP) Data DB MySQL
Develop With
Delphi

Data

Sesuai dengan gambar diatas, data bergerak dimulai dari Aplikasi yang dibuat oleh
Developper dengan tujuan untuk menghubungkan databasenya dan begitupula sebaliknya. Hal
ini dilakukan karena beberapa alasan yaitu :
1. Dikarenakan menggunakan webhosting gratisan, mysqlnya tidak dibukankan portnya
guna diremote melalui internet. Solusi menggunakan JSON dan API ini.
2. Dikarenakan ingin meningkatkan performa/kecepatan dalam pentransferan data yang
tinggi, maka solusinya menggunakan JSON dan API ini.
3. API ini bisa dihubungkan dengan bahasa pemrograman apapun tanpa memberikan
pembukaan port database dari MySQLnya
4. Untuk pengguna Android Studio dengan gampang mengembangkan sistem yang
mereka rancang.

Komponen yang digunakan untuk menghubungkan antara JSON dan Delphi adalah
1. Indy. Bisa juga menggunakan Synapse akan tetapi dalam projek penulis buat hanya
menggunakan Indy
2. Library [Link]. Library uLKJSON ini bisa didownload DISINI . Sebenarnya
ada 1 Library lagi yaitu menggunakan IS-WEBSTART akan tetapi dalam projek
penulis hanya menggunakan uLkJSON.

Langkah-Langkah Untuk Mengkonekkan Database dengan program


1. Desainlah Form Pada Delphi.

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

2. Untuk Komponen Indynya memiliki bebrapa settingan/sama seperti settingan


standarnya

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

3. Untuk Sttingan Formnya disesuaikan seperti gambar dan nama formnya  Form1
4. Siapkan fungsi URL encode agar tidak terjadi error dalam penginputtan,pengubahan
data. Pada bahasan kali ini penulis menggunakan fungsi dengan nama  HTTPEncode
walau ada 2 Fungsi yang penulis buat dalam projek ini
Fungsi HTTPEncode

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

Fungsi  MyEncodeUrl

Kedua fungsi ini dituliskan dibawah baris ini

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

Cara menggunakan Fungsi ini adalah sebagai berikut contohnya :


a. Misalnya ingin mengencode Data dari Editbox 1 ketikkan saja
HTTPEncode([Link]), MyEncodeUrl([Link]), begitupula dari komponen
Combobox, Listbox, dan Memo.
b. Misalnya ingin mengencode data dari field dalam database yang menggunakan
komponen AdoQuery atau komponen ZQuery (Zeos) ataupun Komponen Query
lainnya : HTTPEncode([Link](‘nama’).AsString),
MyEncodeUrl([Link](‘nama’).AsString)

5. Setelah fungsinya dibuat selanjutnya penulis mengajak pembaca untuk membuat


Databasenya dengan settingan seperti ini
Nama Database : tes_jason
Nama Tabel : datajson
Primary Key : id

6. Setelah databasenya dibuat, maka selanjutnya penulis mengajak kepada para pembaca
untuk membuat APInya melalui scrip PHP yang dibawah ini
File : [Link]
<?php
$user = "tesjason";
$pass = "tesjason";
$database = "tes_jason";
$host = "localhost";
$connect_db = mysql_connect($host, $user, $pass) or die("Koneksi Gagal");
mysql_select_db($database, $connect_db) or die("Database Tidak Ada");
?>

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

File : [Link]
<?php
include('[Link]');

$respon = array();

$data = mysql_query("SELECT * FROM datajason ORDER BY id");


if (mysql_num_rows($data)>0){
$respon["data"] = array();
while ($row = mysql_fetch_array($data)){
$item = array();
$item["id"] = $row["id"];
$item["nama"] = $row["nama"];
$item["alamat"] = $row["alamat"];
$item["jk"] = $row["jk"];

array_push($respon["data"], $item);
}
$respon["sukses"]=1;
} else {
$respon["sukses"]=0;
$respon["pesan"]="Data tidak ditemukan";
}
echo json_encode($respon);
?>

File : [Link]
<?php
include('[Link]');

$respon = array();
$id = $_GET['id'];

$data = mysql_query("SELECT * FROM datajason WHERE id='$id'");


if (mysql_num_rows($data)>0){
$respon["data"] = array();
while ($row = mysql_fetch_array($data)){
$item = array();
$item["id"] = $row["id"];
$item["nama"] = $row["nama"];
$item["alamat"] = $row["alamat"];
$item["jk"] = $row["jk"];

array_push($respon["data"], $item);
}
$respon["sukses"]=1;
}
else {
Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

$respon["sukses"]=0;
$respon["pesan"]="Data tidak ditemukan";
}
echo json_encode($respon);
?>

File : [Link]
<?php
include('[Link]');
$id = $_GET['id'];
$nama = $_GET['nama'];
$alamat = $_GET['alamat'];
$jk = $_GET['jk'];
$respon = array();
$hasil = mysql_query("INSERT INTO datajason (id,nama,alamat, jk) VALUES
('$id','$nama', '$alamat','$jk')");
if ($hasil){
$respon["sukses"]=1;
$respon["pesan"]="Data Berhasil Disimpan!";
}
else {
$respon["sukses"]=0;
$respon["pesan"]="Penyimpanan Gagal!";
}
echo json_encode($respon);
?>

File : [Link]
<?php
include('[Link]');
$id = $_GET['id'];
$nama = $_GET['nama'];
$alamat = $_GET['alamat'];
$jk = $_GET['jk'];
$respon = array();
$hasil = mysql_query("UPDATE datajason SET nama='$nama',alamat='$alamat',
jk='$jk' WHERE id='$id'");
if ($hasil){
$respon["sukses"]=1;
$respon["pesan"]="Pengubahan Data Berhasil";
}
else {
$respon["sukses"]=0;
$respon["pesan"]="Pengubahan Data Gagal";
}
echo json_encode($respon);
Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

?>

File : [Link]
<?php
include('[Link]');
$id = $_GET['id'];
$respon = array();
$hasil = mysql_query("DELETE FROM datajason WHERE id='$id'");
if ($hasil){
$respon["sukses"]=1;
$respon["pesan"]="Delete Berhasil";
}
else {
$respon["sukses"]=0;
$respon["pesan"]="Delete Gagal";
}
echo json_encode($respon);
?>

Seluruh File PHP yang dibuat ini dibuat dan diletakkan pada folder Publik Web ataupun
htdoc/folder public Localhostnya. Dengan contoh pengalamatan dari projek yang penulis buat
seperti ini : C:\xampp\htdocs\tesjson . Disini penulis menggunakan XAMPP sebagai tool
engine dan databasenya.

7. Setelah membuat file phpnya, bisa diteskan pada bagian URL dimasing-masing
browsernya seperti ini.
URL Menampilkan seluruh data dari dalam database jika datanya ada maka akan
tampil seperti dibawah ini. URLnya seperti ini [Link]

Untuk URL simpan formatnya seperti ini :


[Link]
u&jk=Laki-Laki
Pesan yang ditampilkan saat Link diatas dijalankan :

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

Setelah simbol tanda tanya “ ? “ pada link diatas itu merupakan query yang harus dilakukan
untuk mengentrikan value yang diminta oleh coding phpnya karena menggunakan method GET
selain GET ada juga method yang sering digunakan yaitu method POST akan tetapi ddalam
projeknya penulis menggunakan method GET.
id, nama, alamat, jk adalah variabel untuk menampung value yang dientrikan sementara data
setelah sama dengan itu isi dari valuenya.

Untuk URL Ubah formatnya hampir sama dengan URL ubah dengan fromat URL :
[Link]
u&jk=Laki-Laki
Pesan yang ditampilkan saat Link diatas dijalankan :

Untuk URL Hapus formatnya seperti ini :


[Link]
Pesan yang ditampilkan saat Link diatas dijalankan :

Untuk URL Cari data formatnya hampir sama dengan hapus, seperti ini :
[Link]

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

Jika diperhatikan diatas Link yang penulis buat menggunakan Localhost dikarenakan
laptop penulis, penulis jadikan sebagai web server, disini penulis ajak kepada pembaca
menggunakan milik sendiri saja dalam artian jangan langsung menyewa sebuah server atau
membuat sebuah web hosting gratisan.
Pada link diatas terdapat angka 69 dimana laptop penulis port webnya menggunakan angka
69. Mengapa demikian? Itu dikarenakan laptop penulis ada yang memakai port defaultnya web
yaitu 80. Jadi jika pembaca tidak ada kendala dalam port 80 maka sanagat disarankan
menggunakan port defaultnya saja dan otomatis link akan terubah menjadi seperti ini
Contoh : [Link]

8. Jika sudah selesai membuat file-file APInya maka penulis mengajak kepada para
pembaca untuk kembalilah ke coding delphinya. Disini penulis memfokuskan ke
coding prosedur yang akan digunakan pada projeknya nanti
Pendeklarasian Prosedur pada delphi, dimana penulis menggunakan prosedur privat

Prosedur Buat Tabel

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

Pada coding diatas berguna untuk membuat tabel mirip seperti tabel yang ada didalam
databse akan tetapi pembuatannya menual coding karena menggunakan komponen String Grid.

Prosedur Kondisi Awal dan Proses

Kondisi Awal dan Proses ini adalah hendel inputan kosong maupan hendel editan
kosong yang difokuskan disini adalah EdID (Inputan id) dan cmbJK (Inputan Jenis Kelamin)
Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

Prosedur Bersih

Prosedur Bersih ini digunakan untuk membersihkan komponen yang di gunakan saja
dimulai dari EdNama sampai cmbJK.

Selain prosedur diatas ada beberapa coding agar projek dibuat berjalan lancar. Codingnya
sebagai berikut :
Coding Button On/OFF atau Refresh Data :

Coding Form Show :

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

5. Cara Menampilkan Data dari MySQL Menggunakan JSON, MySQL, dan Delphi
Pada projek yang penulis buat kali ini, cara menampilkan Data dari MySQL
menggunakan JSON tertulis pada prosedur Tampil
Berikut ini Coding Prosedur Tampil:
procedure [Link];
var
i : Integer;
begin
//Hendel Error jika Server Nati
try
get_url := [Link]('[Link]
except
[Link]('Servernya Mati.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Koneksi...',MB_ICONERROR);
exit;
end;

//Hendel Error jika URL tidak bisa diterjermahkan JSON


try
js := [Link](get_url) as TlkJSONObject;
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);
exit;
end;

//Hendel Error apabila Datanya kosong


try
sts := StrToInt(VarToStr([Link]['sukses'].Value));
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

exit;
end;
if sts <> 1 then begin
[Link]('Datanya Kosong.'+#13+
'Silahkan Menunggu Datanya Diinput Oleh Admin!!!','Informasi Data
Kosong...',MB_ICONEXCLAMATION);
exit;
end;

//Baca data json dengan label data yang terdapat pada coding PHPnya
js:= TlkJSONObject([Link]['data']);
//Sesuaikan julmlah baris Grid dengan banyaknya data dari databasenya
[Link] := [Link] + 1;

//Meload data ke Memo, Listbox dan Grid


for i := 0 to [Link] - 1 do begin
//Load Data Ke Grid
[Link][0,i+1] := IntToStr(i+1)+'.';
[Link][1, i + 1] := VarToStr([Link][i].Field['id'].Value);
[Link][2, i + 1] := VarToStr([Link][i].Field['nama'].Value);
[Link][3, i + 1] := VarToStr([Link][i].Field['alamat'].Value);
[Link][4, i + 1] := VarToStr([Link][i].Field['jk'].Value);
end;

[Link];
end;

Berikut ini Coding Button Simpan :


procedure [Link](Sender: TObject);
begin
if Length([Link]) = 0 then begin
Beep;
[Link]('Id Tidak Boleh Kosong!'+#13+
'Silahkan Diisi!!!','Informasi Kosong...',MB_ICONERROR);
[Link];
end
else if Length([Link]) = 0 then begin
Beep;
[Link]('Jenis Kelamin Tidak Boleh Kosong!'+#13+
'Silahkan Dipilih!!!','Informasi Kosong...',MB_ICONERROR);
[Link];
end
else begin
//Hendel Error jika Server Nati
try
{

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

[Link]
mu&jk=Laki-Laki
}
get_url :=
[Link]('[Link]
a='+HTTPEncode([Link])+'&alamat='+HTTPEncode([Link])+'&jk='+H
TTPEncode([Link])+'');
except
[Link]('Servernya Mati.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Koneksi...',MB_ICONERROR);
exit;
end;

//Hendel Error jika URL tidak bisa diterjermahkan JSON


try
js := [Link](get_url) as TlkJSONObject;
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);
exit;
end;

//Hendel Error apabila Datanya kosong


try
sts := StrToInt(VarToStr([Link]['sukses'].Value));
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);
exit;
end;
if sts = 1 then begin
//Menampilkan Pesan Dari API Server Jika Berhasil
MessageDlg(VarToStr([Link]['pesan'].Value), mtInformation, [mbOK], 0);
Bersih;
[Link];
tampil;
[Link];
end
else begin
//Menampilkan Pesan Dari API Server Jika Gagal
MessageDlg(VarToStr([Link]['pesan'].Value), mtError, [mbOK], 0);
end;
end;

end;

Berikut ini Coding Button Ubah :

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

procedure [Link](Sender: TObject);


begin
if Length([Link]) = 0 then begin
Beep;
[Link]('Id Tidak Boleh Kosong!'+#13+
'Silahkan Diisi!!!','Informasi Kosong...',MB_ICONERROR);
[Link];
end
else if Length([Link]) = 0 then begin
Beep;
[Link]('Jenis Kelamin Tidak Boleh Kosong!'+#13+
'Silahkan Dipilih!!!','Informasi Kosong...',MB_ICONERROR);
[Link];
end
else begin
//Hendel Error jika Server Nati
try
{

[Link]
u&jk=Laki-Laki
}
get_url :=
[Link]('[Link]
a='+HTTPEncode([Link])+'&alamat='+HTTPEncode([Link])+'&jk='+H
TTPEncode([Link])+'');
except
[Link]('Servernya Mati.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Koneksi...',MB_ICONERROR);
exit;
end;

//Hendel Error jika URL tidak bisa diterjermahkan JSON


try
js := [Link](get_url) as TlkJSONObject;
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);
exit;
end;

//Hendel Error apabila Datanya kosong


try
sts := StrToInt(VarToStr([Link]['sukses'].Value));
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);
exit;
end;
if sts = 1 then begin
Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

//Menampilkan Pesan Dari API Server Jika Berhasil


MessageDlg(VarToStr([Link]['pesan'].Value), mtInformation, [mbOK], 0);
Bersih;
[Link];
tampil;
[Link];
end
else begin
//Menampilkan Pesan Dari API Server Jika Gagal
MessageDlg(VarToStr([Link]['pesan'].Value), mtError, [mbOK], 0);
end;
end;
end;

Berikut ini Coding Button Hapus :


procedure [Link](Sender: TObject);
begin
if Length([Link]) = 0 then begin
Beep;
[Link]('Id Tidak Boleh Kosong!'+#13+
'Silahkan Diisi!!!','Informasi Kosong...',MB_ICONERROR);
[Link];
end
else if Length([Link]) = 0 then begin
Beep;
[Link]('Jenis Kelamin Tidak Boleh Kosong!'+#13+
'Silahkan Dipilih!!!','Informasi Kosong...',MB_ICONERROR);
[Link];
end
else begin
//Hendel Error jika Server Nati
try
{
[Link]
}
get_url := [Link]('[Link]

except
[Link]('Servernya Mati.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Koneksi...',MB_ICONERROR);
exit;
end;

//Hendel Error jika URL tidak bisa diterjermahkan JSON


try
js := [Link](get_url) as TlkJSONObject;
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);


exit;
end;

//Hendel Error apabila Datanya kosong


try
sts := StrToInt(VarToStr([Link]['sukses'].Value));
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);
exit;
end;
if sts = 1 then begin
//Menampilkan Pesan Dari API Server Jika Berhasil
MessageDlg(VarToStr([Link]['pesan'].Value), mtInformation, [mbOK], 0);
Bersih;
[Link];
tampil;
[Link];
end
else begin
//Menampilkan Pesan Dari API Server Jika Gagal
MessageDlg(VarToStr([Link]['pesan'].Value), mtError, [mbOK], 0);
end;
end;
end;

Berikut ini Coding Edit ID Pada Event Change Agar Tidak Terjadi Redudansi Data :
procedure [Link](Sender: TObject);
var
i : Integer;
begin
if Length([Link]) <> 0 then begin
//Hendel Error jika Server Nati
try
get_url := [Link]('[Link]

except
[Link]('Servernya Mati.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Koneksi...',MB_ICONERROR);
exit;
end;

//Hendel Error jika URL tidak bisa diterjermahkan JSON


try
js := [Link](get_url) as TlkJSONObject;
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);


exit;
end;

//Hendel Error apabila Datanya kosong


try
sts := StrToInt(VarToStr([Link]['sukses'].Value));
except
[Link]('Web Servis Gagal Diterjemahkan.'+#13+
'Silahkan Hubungi Admin!!!','Informasi Terjemah...',MB_ICONERROR);
exit;
end;
if sts = 1 then begin
[Link]('Datanya Sudah Ada!'+#13+
'Silahkan Inputkkan Data Yang Lain!!!','Informasi Data
Kosong...',MB_ICONEXCLAMATION);
kondisi_proses;
//Baca data json dengan label data yang terdapat pada coding PHPnya
js:= TlkJSONObject([Link]['data']);
//Sesuaikan julmlah baris Grid dengan banyaknya data dari databasenya
[Link] := [Link] + 1;

//Meload data ke Memo, Listbox dan Grid


for i := 0 to [Link] - 1 do begin
//Load Data Ke Editbox Memo dan Combo
[Link]:=VarToStr([Link][i].Field['nama'].Value);
[Link];
[Link];
[Link](VarToStr([Link][i].Field['alamat'].Value));
[Link]:=VarToStr([Link][i].Field['jk'].Value);

//Load Data Ke Grid


[Link][0,i+1] := IntToStr(i+1)+'.';
[Link][1, i + 1] := VarToStr([Link][i].Field['id'].Value);
[Link][2, i + 1] := VarToStr([Link][i].Field['nama'].Value);
[Link][3, i + 1] := VarToStr([Link][i].Field['alamat'].Value);
[Link][4, i + 1] := VarToStr([Link][i].Field['jk'].Value);
end;

[Link];
end
else begin
kondisi_awal;
Bersih;
tampil;
end;
end;
end;

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]
Delphi JSON Web Service/API

6. Data Penulis
1. Nama : Jean Riko Kurniawan Putra, [Link]
2. Blog : [Link]
3. Facebook : [Link]
Fanpage : [Link]
4. BBM : 54B5758E
5. WA/SMS/Line : 087790319305
6. Telegram : @Yamiriko

7. Link Unduh Source Coding Full


Single Link Download
No. Hosting Link
1 Google Drive [Link]
2 Kutucugum [Link]
3 Partagora [Link]
4 Diskokosmiko [Link]
5 Copiapop [Link]
6 Kumpulbagi [Link]

Jean Riko Kurniawan Putra, [Link] Delphi Anime Lover | Riko Software Delphi Anime Lover
[Link]

Common questions

Didukung oleh AI

Using a local development server like XAMPP without proper security measures can lead to various risks, such as exposure to unauthorized users if network access is not restricted, lack of encryption which makes data vulnerable to interception, and the possibility of spreading malware or unauthorized scripts through misconfigured settings. Developers should ensure only trusted access, use encryption, and maintain regular updates .

URIs are used to identify web services, while XML is employed for defining service interfaces and facilitating interoperability. XML ensures that web services can describe, define, and understand interfaces across different systems, supporting machine-to-machine interaction through XML-based messages over internet protocols .

Web services differ from traditional websites in that they do not primarily focus on user interface design, rather they are built for direct interaction with other applications across different operating systems and concepts. Traditional websites have a web interface designed for direct user interaction via web browsers, whereas web services typically work with various applications and devices without a graphical interface .

APIs provide the advantage of language and system neutrality, allowing developers to use them across different programming environments and operating systems. APIs offer a structured, understandable interface, making system calls more accessible and simplifying software development and modification, facilitating seamless integration of various systems and components .

HTTPEncode in Delphi applications is significant for converting data input (from components like EditBox, ListBox, etc.) into a format suitable for URLs, preventing errors during data manipulation or retrieval in web requests. This encoding ensures that special characters are correctly represented in URLs, thus preserving data integrity during transmission in API requests or database interactions .

Web services' architectural flexibility allows them to operate independently of underlying platforms, which is achieved through standards-based messaging (like XML and SOAP) and web protocols (such as HTTP). This design ensures compatibility across diverse operating systems and programming languages, enabling different systems to communicate without dependency on platform-specific implementations .

Using libraries like uLkJSON in Delphi enhances API-based projects by providing tools for efficient JSON data manipulation, reducing development time and complexity. It offers standardized methods for parsing and generating JSON, ensuring data consistency and integrity across different modules. However, reliance on third-party libraries also necessitates thorough security and compatibility checks to avoid vulnerabilities and integration issues .

The primary purpose of using JSON and API for connecting MySQL with software applications is to facilitate data exchange and improve data transfer performance, particularly when the MySQL port is not open for remote access due to hosting limitations or when aiming to enhance the speed of data transfer. JSON and API allow the integration of different programming languages without needing to open database ports .

The TlkJSON component in Delphi applications is utilized for parsing and handling JSON data. It aids in translating JSON strings into workable data structures within the application, enabling developers to process data received through web services or APIs effectively. This component streamlines reading and interpreting JSON data for further application logic or display purposes .

Using the GET method over POST for API transactions can expose data in URLs, which is visible in browser history, server logs, and can be cached, making it unsuitable for sensitive information. GET limits on URL length can restrict data transmission, whereas POST is more secure for sending large amounts of data or sensitive information due to its ability to encapsulate data within the body of the request .

Anda mungkin juga menyukai