Disusun oleh :
Adapun tujuan dari penulisan dari makalah ini adalah untuk memenuhi tugas sekaligus
Ujian Akhir Semester pada Mata Kuliah Aplikasi Teknologi Online. Selain itu, makalah ini
juga bertujuan untuk menambah wawasan tentang Pembuatan Aplikasi Online Berbasis
Web dan Penambahan API bagi para pembaca dan juga bagi penulis.
Tidak lupa saya ucapkan terimakasih kepada Bapak Eko Budi Setiawan, S.Kom., M.T,
S.IP.,M.Si., selaku Dosen Aplikasi Teknologi Online di Universitas Komputer Indonesia
yang telah memberikan tugas ini sehingga dapat menambah pengetahuan dan wawasan sesuai
dengan bidang studi yang saya tekuni.
Saya menyadari, bahwa makalah yang saya susun ini masih jauh dari kata sempurna.
Oleh karena itu, kritik dan saran yang membangun akan saya nantikan demi kesempurnaan
makalah ini.
Athian Rizki
i
DAFTAR ISI
ii
DAFTAR GAMBAR
iii
DAFTAR TABEL
iv
DAFTAR SCRIPT
Script 2.2. 1 Create database distro fashion shop ................................................................... 5
Script 2.2. 2 Create table pada database ................................................................................. 9
Script 2.2. 3 Insert into tabel produk .................................................................................... 10
Script 2.2. 4 Imsert into tabel admin .................................................................................... 11
Script 2.2. 5 Insert into tabel login Costumer / User............................................................. 11
Script 2.2. 6 Alter tabel pada database ................................................................................. 11
v
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Aplikasi Teknologi Online merupakan salah satu matakuliah yang ada di Perguruan
Tinggi Universitas Komputer Indonesia. Dimana Mahasiswa diberikan pembelajaran
mengenai pembuatan Aplikasi Online berbasis Web khususnya Mahasiswa Jurusan
Teknik Informatika. Didalam matakuliah tersebut mahasiswa diajarkan mengenai
penggunaan Bahasa pemrograman (PHP), Framework, Database, Hosting dan Domain.
Teknologi akan terus berkembang, seiring dnegan perkembangan zaman. Dengan
perkembangan teknologi maka aktivitas manusia akan lebih dipermudah. Sebgai contoh
yaitu banyaknya Online Shop yang menyediakan berbagai produk. Dengan adanya
Online Shop maka sangat memudahkan manusia dalam proses pemesanan
barang/produk. Manusia akan terus dimanjakan dengan Teknologi. Tidak perlu lagi pergi
berangkat berbelanja, sekarang sudah tersedia dalam Online Shop dan produk bisa
diantar ke rumah.
API adalah singkatan dari Application Programming Interface yaitu sebuah
software yang memungkinkan para developer untuk mengintegrasikan dan
mengizinkan dua aplikasi yang berbeda secara bersamaan untuk saling terhubung satu
sama lain..
Tujuan penggunaan dari API adalah untuk saling berbagi data antar aplikasi
yang berbeda tersebut, Tujuan penggunaan API lainnya yaitu untuk mempercepat
proses pengembangan aplikasi dengan cara menyediakan sebuah function yang terpisah
sehingga para developer tidak perlu lagi membuat fitur yang serupa.
Oleh karena itu, untuk mengikuti perkembangan zaman maka diperlukanlah
Developer untuk pembuatan Apliaksi Teknologi Online. Dan juga proses penambahan
API pada Aplikasi Berbasis Web agar bisa saling berbagi data antar aplikasi Sehingga
dalam makalah ini akan dibahas mengenai pembuatan Aplikasi Teknologi Online secara
bertahap.
1
BAB 2
PEMBAHASAN
2.1 API Rajaongkir
Pada bagian ini akan dilakukan penambahan API pada aplikasi menggunakan API
Raja ongkir yang dappat diambil melalui link berikut https://rajaongkir.com/.
Pertama buka link di atas, kemudian lakukan pendaftaran pada web tersebut untuk
mendapatkan Key API Rajaongkir. Seperti pada gambar dibawah.
Gambar 2.1. 2 Form Daftar akun rajaongkir untuk mendapatkan key API
2
Gambar 2.1. 3 Contoh pengisian form situs rajaongkir
Setelah itu, login menggunakan akun yang sudah terdaftar. Kemudian klik Akun
dan pilih Panel untuk melihat Key API yang kita dapatkan. Lalu salin Key yang sudah
didapat dan simpan Key tersebut agar tidak hilang.
3
Gambar 2.1. 5 Key API yang didapatkan pada web rajaongkir.com
Kemudian masuk ke Pilihan Province lalu klik Contoh request kemudian masuk
ke tab PHP dan salin source code yang telah disediakan oleh rajaongkir.com.’
Begitupun source code data City. Simpan source code tersebut pada file
dataprovinsi.php dan datadistrik.php.
4
Gambar 2.1. 7 Source code req. City yang disediakan rajaongkir.com
5
• Tabel admin dengan nama tabel tb_admin
Digunakan untuk menyimpan data admin beserta password yang sudah di
enskripsi dengan md5 untuk login ke halaman admin
6
• Tabel pembayaran dengan nama tabel tb_pembayaran
Digunakan untuk mengecek User/Pelanggan yang sudah melakukan
Pembayaran
7
`id2` char(3) NOT NULL,
`username` varchar(20) NOT NULL,
`nama` varchar(30) NOT NULL,
`email` varchar(50) NOT NULL,
`tlp` varchar(13) NOT NULL,
`alamat` varchar(70) NOT NULL,
`password` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
8
`ekspedisi` varchar(15) NOT NULL,
`estimasi` varchar(10) NOT NULL,
`id_pelanggan` int(5) NOT NULL,
`kodepos` varchar(10) NOT NULL,
`ongkir` int(15) NOT NULL,
`paket` varchar(100) NOT NULL,
`provinsi` varchar(100) NOT NULL,
`resi_pengiriman` varchar(20) NOT NULL,
`status_pembelian` enum('pending','proses','selesai')
NOT NULL,
`tanggal_pembelian` date NOT NULL,
`tipe` varchar(200) NOT NULL,
`totalberat` int(15) NOT NULL,
`total_pembelian` int(15) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Script 2.2. 2 Create table pada database
9
(19, 'Jam Tangan Pria Lancelot', 867300, '15', 'Jam tangan
pria Lancelot Lokal kualitas dijamin Original\r\n',
'jamlancelot.jpg'),
(21, 'Jam Tangan Wanita Alexander Cristie', 1490000, '110',
'Jam tangan Wanita Alexander Cristie Import Original
Kece\r\n', 'jamalexander.jpg'),
(22, 'Jam Tangan Wanita Viena Summer', 798000, '25', 'Jam
tangan wanita Import Original Kece\r\n', 'jamviena.jpg'),
(24, 'Topi Snapback', 22000, '100', 'Bahan berkualitas dan
nyaman dipakai\r\n', 'topisnapback.jpg'),
(25, 'Topi Jaring ', 71500, '90', 'Topi jaring pria
berkualitas harga murmer\r\n', 'topijaring.jpg'),
(26, 'Tas Dinonico Selempang Pria', 56000, '100', 'Bahan
berkualitas kece dan anti air\r\n', 'dinonicotas.jpg'),
(28, 'Tas Waistbag Soulgate As Haul', 25000, '190', 'Nyaman
dipakai pas dipinggang\r\n', 'waistbagsoulgate.jpg'),
(29, 'Tas Selempang Slinbag Buffback', 25000, '100', 'Tas
selempang bahan kain berkualitas\r\n',
'tasselempangslinbag.jpg'),
(30, 'Tas Ransel Polo Hiero', 125000, '40', 'Tas Sekolah
stylish\r\n', 'ranselpolo.jpg'),
(31, 'Tas Selempang GJuang', 20000, '90', 'Bahan kain kece
untuk pria dan wanita\r\n', 'selempanggjuang.jpg'),
(32, 'Tas Raindoz Ransel Punggung', 50000, '60', 'Tas cocok
untuk sekolah\r\n', 'tasraindoz.jpg'),
(33, 'Sepatu Wanita Sneakers Mujigae ', 159900, '50',
'Bahan berkualitas empuk dan kece\r\n',
'sneakersmujigae.jpg'),
(34, 'Sepatu Wanita Lori Sport Tosca', 159900, '55', 'Bahan
berkualitas empuk dan kece murmer', 'lorisepatu.jpg'),
(35, 'Sepatu Jipyeong Sneakers Korea', 165000, '60', 'Bahan
berkualitas kuat nyaman dipakai\r\n',
'jipyeongsepatu.jpg'),
(36, 'Sepatu Pria Import', 195000, '40', 'Bahan berkualitas
nyaman dipakai\r\n', 'sepatupriaimpor.jpg'),
(37, 'Sepatu Boots Pria Helios Original', 179000, '50',
'Bahan berkualitas jahitan rapih gratis kaos kaki\r\n',
'sepatuboots.jpg'),
(38, 'Sepatu Pria Kulit Joemen Original',85000, '100',
'Bahan nyaman dipakai\r\n', 'sepatukulit.jpg'),
(39, 'Jaket Coach Mothbless', 126500, '60', 'Bahan lembut
dan nyaman', 'jaketcoach.jpg'),
(40, 'Jaket Pria Casual Polos', 125000, '50', 'Bahan
berkualitas premium dan nyaman dipakai\r\n',
'jaketcasual.jpg'),
(41, 'Jaket Wanita Olin Button', 43000, '100', 'Bahan jenas
dan nyaman dipakai\r\n', 'jaketolinbutton.jpg'),
(42, 'Jaket Hoodie Zip Up', 88000, '65', 'Bahan berkualitas
lembut dan harga murmer', 'hoodiezipup.jpg'),
(43, 'Topi Velcro', 159000, '50', 'Topi import kualitas
dijamin Original bahan tidak panas\r\n', 'topivelcro.jpg'),
(44, 'Topi Baseball', 179000, '50', 'Topi import kualitas
dijamin Original bahan nyaman dipakai\r\n',
'topibaseball.jpg'),
(45, 'Topi Kulit', 186000, '50', 'Topi kulit asli kualitas
mantap\r\n', 'topikulit.jpg');
Script 2.2. 3 Insert into tabel produk
10
INSERT INTO `tb_admin`
(`id`,`id2`,`username`,`nama`,`email`,`tlp`,`alamat`,
`password`) VALUES
(1, `DFS`,'admin',`Athian
Rizki`,`athian.10119337@mahasiswa.unikom.ac.id`,`083107325952`,
`Majalengka`, '21232f297a57a5a743894a0e4a801fc3');
Script 2.2. 4 Imsert into tabel admin
11
2.4 Desain Tampilan Aplikasi
Aplikasi yang dibuat yaitu DISTRO FASHION SHOP, sebuah aplikasi Online
Shop yang menyediakan berbagai macam produk. Apliakasi tersebut bisa diakses oleh
siapapun namun untuk melakukan proses pembelian/tansaksi maka user/costumer harus
melakukan login terlebih dahulu agar bisa login maka User/Costumer harus melakukan
registrasi atau pembuatan akun terlebih dahulu. Dan juga bisa diakses oleh admin untuk
proses penambahan data.
<?php
12
} else {
?>
<span class="element-divider"></span>
<a href="login_form.php"><i class="fa fa-user" style="padding-
right: 10px"></i>Login</a>
<?php
}
?>
Script 2.4. 1 Menampilkan produk dan profil user
if (isset($_POST["register"])) {
if (registrasi($_POST) > 0) {
echo "<script>
13
alert('User baru ditambahkan');
document.location.href = 'login_form.php';
</script>";
} else {
echo mysqli_error($conn);
}
}?>
Script 2.4. 3 Registrasi User/Costumer baru
require '../config/functions.php';
14
if (isset($_POST["login"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
header("Location:beranda.php");
exit;
}
$error = true;
}
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.rajaongkir.com/starter/province",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
// Silahkan diisi dengan api_key dari rajaongkir.com
"key: 03fd5e28270910e0ea278755c84a6031 "
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
// Hasilnya dalam bentuk json
// kita koversi ke array
$array_response = json_decode($response, TRUE);
$dataprovinsi = $array_response['rajaongkir']['results'];
15
echo "<option value=''>-Pilih provinsi--</option>";
$id_provinsi_terpilih = $_POST['id_provinsi'];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL =>
"https://api.rajaongkir.com/starter/city?province=".$id_provinsi_terpilih,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
// Silahkan diisi dengan api_key dari rajaongkir.com
"key: 03fd5e28270910e0ea278755c84a6031 "
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
// echo $response;
// Menjadikan array dari json
$array_response = json_decode($response, TRUE);
$data_distrik = $array_response['rajaongkir']['results'];
16
tipe_distrik='".$tiap_distrik['type']."'
kodepos='".$tiap_distrik['postal_code']."'>";
echo $tiap_distrik['type']." ";
echo $tiap_distrik['city_name'];
echo "</option>";
}
}
Script 2.4. 8 Untuk request pemanggilan data City pada rajaongkir dengan Key API
$ekspedisi = $_POST['ekspedisi'];
$distrik = $_POST['distrik'];
$berat = $_POST['berat'];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.rajaongkir.com/starter/cost",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS =>
"origin=419&destination=$distrik&weight=$berat&courier=$ekspedisi",
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
// Silahkan diisi dengan api_key dari rajaongkir.com
"key: 03fd5e28270910e0ea278755c84a6031 "
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
// echo $response;
// Dijadikan ke array
$array_response = json_decode($response, TRUE);
17
$paket = $array_response['rajaongkir']['results']['0']['costs'];
// echo "<pre>";
18
Gambar 2.5. 1 Fitur login untuk Costumer/User
19
Gambar 2.5. 3 Fitur registrasi/daftar akun bagi User baru
20
Gambar 2.5. 5 Fitur menampilkan isi keranjang Costumer/User
Gambar 2.5. 6 Fitur menambah, mengurangi, dan menghapus produk pesanan sebelum checkout
21
Gambar 2.5. 7Fitur cek ongkir untuk pengiriman paket menggunakan API
22
Gambar 2.5. 9 Fitur menampilkan sukses Checkout dan Melakukan pembayaran
Gambar 2.5. 10 Fitur admin dalam menambah, mengubah dan menghapus produk
23
Gambar 2.5. 11 Fitur menambah produk oleh Admin
24
Gambar 2.5. 13 Fitur ubah data Admin
25
Gambar 2.5. 15 Fitur mengubah data Costumer/User
26
Gambar 2.5. 17 Fitur menampikan data transaksi yang dilakukan Costumer/User
27
BAB 3
PENUTUPAN
Kesimpulan
API merupakan singkatan dari Application Programming Interface yaitu sebuah software
yang memungkinkan para developer untuk mengintegrasikan dan mengizinkan dua aplikasi
yang berbeda secara bersamaan untuk saling terhubung satu sama lain.
Dalam Pembuatan Aplikasi Berbasis Web para developer banyak menggunakan API,
guna mempermudah dalam pengembangan aplikasi atau perangkat lunak yang sedang
dibangun. Dalam laporan ini telah dijelaskan bagaimana cara pembuatan API pada web
rajaongkir.com.
Dalam aplikasi yang dibuat diatas memiliki banyak fitur. Dalam pembuatan aplikasinya
membutuhkan proses CRUD (Create , Read, Update, Drop). Bahasa aplikasi yang digunakan
yaitu PHP. Dengan versi 5.6.
Didalam Implementasinya pada saat penggunaan atau pemasangan API tentulah
dibutuhkan Key agar bisa mengakses fungsi yang sudah ada. Rajaongkir.com merupakan
website yang memiliki API sehingga bisa kita gunakan dalam Aplikasi Online Shop.
Pada aplikasi yang dibuat seorang Costumer/User hanya dapat melihat data, dapat
merubah data namun hanya dalam keranjang belanja. Sedangkan Admin memiliki hak akses
seluruhnya, Admin dapat melihat menambah menghapus mengubah dan memperbarui dari
aplikasi yang dibuat.
28