Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Membuat API untuk Mengisi Field Lain Berdasarkan Field Tertentu di PHPMaker 2019
Mengingat Kembali Posisi Item Menu di Sidebar Saat Halaman Dimuat Berikutnya
Import Data dan Quick Actions Link Sekarang Bisa Dinamis pada PHPMaker 2019

Mudahnya Membuat API untuk Mengisi Field Lain Berdasarkan Field Tertentu di PHPMaker 2019

Jum, 12 Juli 2019 oleh Masino Sinaga 11 Komentar

Sejak versi 2019, PHPMaker memperkenalkan fitur baru yaitu REST API yang memungkinkan Web Developer untuk melakukan fungsi CRUD (Cread, Read, Update, dan Delete) untuk object Table pada Aplikasi Web yang dihasilkannya.

REST API di PHPMaker 2019 diimplementasikan berdasarkan halaman List, View, Add, Edit, dan Delete untuk setiap object Table yang dibangkitkan olehnya. Beberapa aksi dasar yang didukung oleh API adalah add (Create), list / view (Read), edit (Update), delete (Delete), login (Authenticate User, jika fitur Security diaktifkan), dan file (Get file content).

Selengkapnya bisa Anda baca-baca dari topik REST API yang sudah disediakan pada menu Help PHPMaker 2019. Jadi, jangan pernah bosan untuk membuka menu Help di PHPMaker, ya!

Lanjut ke topik semula. Dalam tulisan ini, kita tidak akan membahas API built-in (bawaan) PHPMaker tersebut di atas. Tapi, kita akan mencoba membuat sendiri penanganan API yang bersifat kostum sesuai kebutuhan.

Kita sebagai Web Developer juga dapat membuat aksi-aksi API yang baru, dengan menulis sedikit kode PHP yang berisi penanganan API. Cukup letakkan kodenya pada bagian Global Code di bawah Server Events dari project PHPMaker (silahkan baca juga topik Server Events and Client Scripts dari menu Help PHPMaker).

Kita akan membahas betapa mudah dan cepatnya membuat API sendiri, di mana balikannya dapat digunakan untuk mengisi nilai pada field UnitPrice, berdasarkan nilai yang dipilih pada field ProductID dari table products melalui file demo project yang sudah disediakan oleh PHPMaker 2019.

Dalam hal ini, sebenarnya kita akan mengimplementasikan fitur Auto Fill, tapi dengan cara yang berbeda. Kita tidak akan menggunakan fitur Auto Fill bawaan asli PHPMaker 2019 tersebut. Ini salah satu fleksibilitas yang disediakan oleh PHPMaker 2019, bahwa tidak selamanya kita harus menggunakan fitur statis Auto Fill.

Oleh karena itu, pastikan sekali lagi kita menonaktifkan fitur Auto Fill dari panel Lookup Table dari table orderdetails pada file demo project tersebut.

Setelah fitur Auto Fill tadi kita nonaktifkan, maka cukup lakukan dua langkah utama berikut.

  1. Pertama, kita menulis sedikit kode PHP berupa penanganan API yang bersifat kostum (sesuai kebutuhan). Karena kode PHP, maka kita akan menulisnya di bagian Server Events, lebih tepatnya di dalam Global Code, yaitu sebagai berikut:

    $API_ACTIONS["getUnitPriceByProductID"] = function(Request $request, Response $response) {
        $productId = Param("ProductID"); // Ambil nilai masukan dari _GET atau $_POST
        if ($productId !== NULL) 
            Write(ExecuteScalar("SELECT UnitPrice FROM products WHERE ProductID = " . AdjustSql($productId))); // Kembalikan nilai field sebagai sebuah String
    };
    

    Perhatikanlah kode PHP di atas. Kita menulis penanganan API dengan nama getUnitPriceByProductID, di mana balikannya berupa nilai UnitPrice yang akan dikembalikan berdasarkan parameter ProductID. Cukup sederhana kode di atas, dan seharusnya tidak terlalu sulit untuk kita pahami.

  2. Kedua, kita akan menulis kode jQuery yang akan memanggil penanganan API yang sudah kita tulis pada langkah pertama tadi, berdasarkan event change milik control Select atau Combobox. Untuk itu, letakkan kode ini pada bagian Startup Script milik halaman Add dari table orderdetails:

    $("#x_ProductID").change(function() { 
        var url = ew.API_URL, action = "getUnitPriceByProductID", id = encodeURIComponent($(this).val());
        $.get(url + "?action=" + action + "&ProductID=" + id, function(res) { // Ambil respon dari aksi kostum API
            if (res)
                $("#x_UnitPrice").val(res); // Tampilkan hasilnya ke field tujuan, yaitu UnitPrice
        });
    });
    

    Kode tersebut akan memanggil API yang bernama getUnitPriceByProductID jika Pengguna Akhir Aplikasi Web yang dihasilkan oleh PHPMaker 2019 memilih salah satu nilai pada field ProductID yang menggunakan control Select atau Combobox. Nilai balikan dari API tadi akan ditampilkan pada field UnitPrice.

Ini hanya contoh sederhana saja. Tentu kita bisa mengembangkannya sesuai kebutuhan. Misalnya, kita ingin mengisi field lain berdasarkan hasil perhitungan dengan rumus tertentu yang kita tentukan, sebelum hasilnya ditampilkan ke field tujuan.

Selanjutnya, generate ulang semua file script seperti biasa menggunakan PHPMaker 2019. Lalu jalankan Aplikasi Web yang dihasilkannya melalui browser, dan bukalah menu Order Details. Sekarang silahkan coba tambah data Order Details baru. Saat kita memilih salah satu nilai pada field ProductID, maka nilai di field UnitPrice akan otomatis terisi.

Keren, ‘kan? Hanya dengan sedikit kode di atas saja, fitur Auto Fill bisa kita implementasikan secara lebih dinamis sesuai kebutuhan.

Yang lebih menyenangkannya adalah, PHPMaker sudah menyediakan framework seperti di atas, yang memungkinkan Pengguna Akhir menampilkan data berdasarkan event yang terjadi di sisi Client (Pengguna Akhir) dari Aplikasi Web yang kita hasilkan. Data yang ditampilkan tersedia melalui API yang sudah kita definisikan menggunakan kode di sisi Server Events, sedangkan trigger event-nya dilakukan dari sisi Client.

Kesimpulan: Dengan membuat penanganan API yang bersifat kostum dengan menggunakan PHPMaker seperti di atas, kita bisa mengatasi beberapa permasalahan klasik yang sering terjadi di Aplikasi Web. Misalnya, kita ingin menampilkan nilai tertentu berdasarkan nilai yang terpilih di suatu field, dimana hasilnya berasal dari pemanggilan Query ke Database berdasarkan parameter atau kondisi tertentu sesuai kebutuhan business-logic.

Betapa mudah, cepat, dan menyenangkan sekali bukan bekerja dengan PHPMaker 2019?

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, PHPMaker API, PHPMaker Indonesia, REST API, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com dan ilovephpmaker.com.

Mengingat Kembali Posisi Item Menu di Sidebar Saat Halaman Dimuat Berikutnya
Import Data dan Quick Actions Link Sekarang Bisa Dinamis pada PHPMaker 2019

Komentar

  1. john mengatakan

    Ming, 14 Juli 2019 pada 5:29 am

    Trima Kasih pa sdh bahas API sukses slalu

    Balas
    • Masino Sinaga mengatakan

      Sen, 15 Juli 2019 pada 8:57 am

      Sama-sama. 🙂

      Balas
  2. andika mengatakan

    Sen, 15 Juli 2019 pada 2:12 pm

    yang di tunggu akhirnya di bahas juga, terima kasih pak masino
    lebih keren lagi, jika bahas fitur rest api phpmaker 2019 bisa di koneksikan dengan aplikasi lain, seperti phpmaker dengan phpreportmaker.

    Sepertinya fitur rest api ini ada untuk bisa di koneksikan dengan aplikasi DBappmaker. semoga nanti di bahas juga pak ya, hehe…

    Balas
    • Masino Sinaga mengatakan

      Jum, 19 Juli 2019 pada 11:57 am

      Hehe, semoga ya.

      Balas
  3. tri pramudiyanto mengatakan

    Kam, 18 Juli 2019 pada 5:15 pm

    Pak Masino, saya ada rencana untuk membeli lisensi PHPMaker. Apakah bisa dibantu?

    Balas
    • Masino Sinaga mengatakan

      Jum, 19 Juli 2019 pada 11:59 am

      Bisa. Klik artikel ini untuk info lebih lanjut.

      Balas
  4. Ahmad Hidayat mengatakan

    Kam, 28 November 2019 pada 9:12 pm

    Saya mau buat grafik di phpmaker2020, saya aktifikan pane database dan klik report, tapi tab grafik tidak tampil, yang tampil hanya tab table saja. MInta tolong, gimana tu Mas?

    Balas
  5. hari mengatakan

    Sel, 7 Januari 2020 pada 11:18 am

    apa di phpmaker bisa digunakan untuk mengisi field textbox berdasarkan tabel dari database yang lain,atau biasa disebut restaAPI

    Balas
    • Masino Sinaga mengatakan

      Kam, 16 Januari 2020 pada 11:24 am

      Bisa. Kan sudah dijelaskan di artikel yang di atas?

      Balas
  6. dany tri mengatakan

    Sab, 11 Juli 2020 pada 7:20 pm

    Selamat malam Pak Masino,
    Saat ini saya lagi mencoba Api phpmaker. Bagus mudah dan cepat.
    Permasalahannya jquery nya di viewsouce kan muncul.
    Dan betul setelah saya coba caller api nya langsung tanpa login di browser request nya diterima dan menampilkan data.
    Saya ada ide menambahkan token untuk auth nya…
    Mungkin Pak Masino ada ide lain ?

    Balas
    • Masino Sinaga mengatakan

      Ming, 2 Agustus 2020 pada 7:05 pm

      Sudah baca Authenticate User with JWT (JSON Web Token) pada topik REST API dari menu Help di PHPMaker?

      Balas

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

Pos-pos Terbaru

  • Begini Mudahnya Mengubah Lebar Modal Dialog di PHPMaker 2022
  • Item Menu Tetap Aktif Meskipun Sedang Menampilkan Halaman Tambah, Ubah, Tampilkan, Cari di PHPMaker 2022
  • Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Alasan AlwaysUseEnglishUSLocale Sebaiknya Aktif di Masino Extensions untuk PHPMaker 2022
  • MasinoInputMask18 Extension, Autoformat Angka dengan Fitur Lebih Kaya di PHPMaker 2022

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Masino Sinaga pada Project Stock Inventory untuk PHPMaker 2022 Sekarang Sudah Bisa Didownload
  • Stanislaus Ariyanto pada Project Stock Inventory untuk PHPMaker 2022 Sekarang Sudah Bisa Didownload
  • Masino Sinaga pada Mudahnya Mendapatkan Info Pengguna Setelah Login di Aplikasi Web dari PHPMaker
  • irwan pada Mudahnya Mendapatkan Info Pengguna Setelah Login di Aplikasi Web dari PHPMaker
  • Masino Sinaga pada Ini Dia Fitur-Fitur yang Terdapat di Masino Extensions untuk PHPMaker 2022

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2021 | WordPress | Catat masuk | Kembali ke atas