Pages

Coding

Atasi penasaranmu dari coding java yang belum kamu ketahui.

Wawasan

Jadikan dirimu orang yang berwawasan agar orang lain menghargaimu.

Programmer

Tak ada programmer yang bodoh, hanya waktu dan usaha yang menjadi masalah.

Monday, April 23, 2018

WEB Service - Arsitektur REST dengan Framework Codeigniter

Hai, kali ini saya mendapat tugas membuat desain dan implementasi sistem informasi akademik sederhana menggunakan arsitektur web service Rest dan diimplementasikan menggunakan Apache, MySql, PHP dengan framework CodeIgniter. Tabel yang digunakan mahasiswa, dosen, matakuliah, dan krs. Operasi PHP ke table berupa add, edit, delete

Dalam program ini yang digunakan adalah framework Codeigniter sebagai client dan server. Bahan yang dibutuhkan sebagai berikut:

  1. Download akademik, rest_client dan rest_server dari github
  2. Dan XAMPP sebagai localhost dari program Apache HTTP Server dan  MySQL database, jika belum punya silahkan cari di google dan buka sebagai localhost

Setelah bahan sudah ada, berikut langkah pengerjaannya:
  1. Ekstrak dan taruh akademik.sql, rest_client.zip dan rest_server.zip di C:\xampp\htdocs\
  2. Kemudian buka browser dan ketik localhost/rest_client/ maka akan muncul tampilan seperti gambar disamping
  3. Selanjutnya buka tab baru dan ketik
    localhost/rest_server/ maka akan muncul tampilan seperti gambar disamping
  4. Setelah itu pada localhost XAMPP import akademik.sql terlebih dahulu untuk melakukan langkah selanjutnya














Sampai disini kita tinggal mengkonfigurasi dan mengedit coding dari Codeigniter. Caranya sebagai berikut: 


1. Buka file routes.php pada  C:\xampp\htdocs\rest_client\application\config cari dan ganti coding seperti ini $route['default_controller'] = 'mahasiswa'; . Penggantian coding tersebut bertujuan agar default tampilan controller web yang dibuka adalah dari file mahasiswa.php 
2. Setelah itu buka file routes.php pada C:\xampp\htdocs\rest_server\application\config cari dan ganti coding seperti ini $route['default_controller'] = 'mahasiswa'; .Penggantian coding tersebut bertujuan agar default tampilan controller web yang dibuka adalah dari file Mahasiswa.php yang ada pada C:\xampp\htdocs\rest_server\application\controllers
3. Pada tahapan ini kita sudah bisa membuka tampilan server - client mahasiswa dan tampilan database akademik. Selanjutnya buka file mahasiswa.php pada  C:\xampp\htdocs\rest_client\application\controllers . Ubahlah coding nama menjadi dosen, nim menjadi nama, id_jurusan/jurusan menjadi matakuliah, dan alamat menjadi krs
4. Lakukan tahapan tersebut pada file Mahasiswa.php yang ada di C:\xampp\htdocs\rest_server\application\controllers
5. Selanjutnya kita diwajibkan mengubah konfigurasi coding list.php, edit.php, dan create.php yang ada pada C:\xampp\htdocs\rest_client\application\views\mahasiswa . Ubahlah coding nama menjadi dosen, nim menjadi nama, id_jurusan/jurusan menjadi matakuliah, dan alamat menjadi krs .
6. Dan ubah data tersebut juga pada database yang ada pada localhost. Maka tampilan controller web  pada client akan seperti berikut
Tampilan Controller Client


Tampilan Edit Data


7. Sampai tahapan ini tugas kita sudah akan selesai, selanjutnya kita harus menambahkan fungsi add pada tampilan controller client. Maka kita harus membuka file list.php yang ada pada C:\xampp\htdocs\rest_client\application\views\mahasiswa . Tambahkan coding <?php echo anchor('mahasiswa/create/'.$m->nama,'Add');?> pada line akhir setelah </table> . Maka tampilan controller client akan seperti berikut
Tampilan Controller Client


 Tampilan Tambah Data

8. Tampilan controller server akan seperti gambar berikut

Dan FINISH. Tugas kita membuat Arsitektur REST dengan Framework Codeigniter sudah selesai. Kita sekarang dapat menambahkan data, mengedit data, dan  menghapus data. Data yang ada pada tampilan client akan sama dengan data yang ada pada server dan database localhost. 

Secara garis besar View pada Codeigniter adalah informasi yang di tampilkan kepada User, sebuah View secara normal adalah sebuah laman web, tetapi di Codeigniter, sebuah View bisa dibuat menjadi sebuah penggalan halaman web seperti header atau footer.

Sedangkan Controller berguna sebagai perantara antara Model, View dan berbagai resources yang dibutuhkan untuk memproses HTTP Request dan mengenerate sebuah web page. 

Tugas Arsitektur Rest Codeigniter UTS yang sudah saya selesaikan saya upload di github klik disini atau di GD client, server, dan database

 

Monday, April 9, 2018

WEB Service - Arsitektur REST Untuk Menambahkan dan Menampilkan DB

Tugas 5 kuliah Web Service  
 
Nama : M.Imam Catur T.P
NIM  : 16.01.53.0187
 
 
Buatlah program menggunakan arsitektur REST untuk menambah dan menampilkan data mahasiswa 


1. Coding tambahjson.php

<html>
<head>
<title>Rest Web Services</title>
</head>
<body>
<a href="restjson.php">Lihat Datar Mahasiswa <br/></a>
<?php
if (isset ($_POST['nim'])) {
$url = 'http://localhost/webservice/jsonmhsw.php&#8217';
$data="{\"nim\":\"".$_POST['nim']."\",\"nama\":\"".$_POST['nama']."\",\"prodi\":\"".$_POST['progdi']."\"}";
echo "datanya".$data;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
//echo "response ".$response;
curl_close($ch);
}
?>
<form method="POST" action="tambahjson.php">
<table>
<tr>
<td>NIM</td>
<td><input type="text" name="nim" id="nim"></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="nama" id="nama"></td>
</tr>
<tr>
<td>Progdi</td>
<td><input type="text" name="progdi" id="progdi"></td>
</tr>
<tr>
<tr>
<td><input type="submit" name="submit" id="submit" value="Tambah"></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>


2. Coding restjson.php

    <?php
    // Check for the path elements
    // Turn off error reporting
    error_reporting(0);

    // Report runtime errors
    error_reporting(E_ERROR | E_WARNING | E_PARSE);

    // Report all errors
    error_reporting(E_ALL);

    // Same as error_reporting(E_ALL);
    ini_set("error_reporting", E_ALL);

    // Report all errors except E_NOTICE
    error_reporting(E_ALL & ~E_NOTICE);
    $path = $_SERVER[PATH_INFO];
    if ($path != null) {
    $path_params = spliti ("/", $path);
    }
    if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    if ($path_params[1] == null) {
    $con=mysqli_connect("localhost","root","","akademik");
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $sql="SELECT nim,nama,prodi FROM mahasiswa";
    if ($result=mysqli_query($con,$sql))
    {
    // Fetch one and one row
    $arr = Array();
    while ($row=mysqli_fetch_assoc($result))
    {
    $arr[] = $row;
    }
    echo json_encode($arr);
    // Free result set
    mysqli_free_result($result);
    }
    mysqli_close($con);
    }
    else if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    if ($path_params[1] != null) {
    $con=mysqli_connect("localhost","root","","akademik");
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    $sql="SELECT nim,nama,prodi FROM mahasiswa where nim = '$path_params[1]'";
    if ($result=mysqli_query($con,$sql))
    {
    // Fetch one and one row
    $arr = Array();
    while ($row=mysqli_fetch_assoc($result))
    {
    $arr[] = $row;
    }
    echo json_encode($arr);
    mysqli_free_result($result);
    }
    mysqli_close($con);
    }
    }
    }
    ?>


3. Coding jsonmhsw.php


    <?php
    // Check for the path elements
    // Turn off error reporting
    error_reporting(0);

    // Report runtime errors
    error_reporting(E_ERROR | E_WARNING | E_PARSE);

    // Report all errors
    error_reporting(E_ALL);

    // Same as error_reporting(E_ALL);
    ini_set("error_reporting", E_ALL);

    // Report all errors except E_NOTICE
    error_reporting(E_ALL & ~E_NOTICE);
    $path = $_SERVER[PATH_INFO];
    if ($path != null) {
    $path_params = spliti ("/", $path);
    }
    if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    if ($path_params[1] == null) {
    $con=mysqli_connect("localhost","root","","akademik");
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $sql="SELECT nim,nama,prodi FROM mahasiswa";
    if ($result=mysqli_query($con,$sql))
    {
    // Fetch one and one row
    $arr = Array();
    while ($row=mysqli_fetch_assoc($result))
    {
    $arr[] = $row;
    }
    echo json_encode($arr);
    // Free result set
    mysqli_free_result($result);
    }
    mysqli_close($con);
    }
    else if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    if ($path_params[1] != null) {
    $con=mysqli_connect("localhost","root","","akademik");
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    $sql="SELECT nim,nama,prodi FROM mahasiswa where nim = '$path_params[1]'";
    if ($result=mysqli_query($con,$sql))
    {
    // Fetch one and one row
    $arr = Array();
    while ($row=mysqli_fetch_assoc($result))
    {
    $arr[] = $row;
    }
    echo json_encode($arr);
    mysqli_free_result($result);
    }
    mysqli_close($con);
    }
    }
    }
    ?>



4. Gambar Data dan Hasil
 




 

Sunday, March 18, 2018

WEB Service - Program PHP untuk menampilkan tabel format XML

Tugas 2 kuliah Web Service

Nama : M.Imam Catur T.P
NIM  : 16.01.53.0187

Dipunyai database : akademik dan tabel mahasiswa dengan field sb:

nim varchar(15)

nama varchar(150)

alamat varchar(250)

progdi varchar(10)

Buatlah program php untuk menampilkan isi tabel mahasiswa dengan format XML


 1. Coding access.php

<?php
//Koneksi
$servername = "localhost";

$username = "root";

$password = "";

$dbname = "akademik";


// Membuat konesi

$conn = new mysqli($servername, $username, $password, $dbname);

// Mengecek koneksi

 if ($conn->connect_error)

 {

    die("Connection failed: " . $conn->connect_error);

 }


$sql = "SELECT nim, nama, alamat, progdi FROM mahasiswa";

$result = $conn->query($sql);


 if ($result->num_rows > 0)

 {

  // output data masing-masing row

  $doc = new DOMDocument();

  $doc->formatOutput = true;

  $r = $doc->createElement( "akademik" );

  $doc->appendChild( $r );

  while($row = $result->fetch_assoc())

  {

   $b = $doc->createElement( "mhsw" );

   echo "<br> nim: ". $row["nim"]. " - Nama: ". $row["nama"]. " "." - Alamat: " . $row["alamat"]." - Progdi: " . $row["progdi"] . "<br>";

   echo "<br> ";

   $nim = $doc->createElement( "nim" );

   $nim->appendChild

   (

   $doc->createTextNode( $row["nim"] )

   );

   $b->appendChild( $nim );



  $nama = $doc->createElement( "nama" );

  $nama->appendChild

  (

  $doc->createTextNode( $row["nama"] )

  );

  $b->appendChild( $nama );


  $alamat = $doc->createElement( "alamat" );

  $alamat->appendChild

  (

  $doc->createTextNode( $row["alamat"] )

  );

  $b->appendChild( $alamat );


  $progdi = $doc->createElement( "progdi" );

  $progdi->appendChild

  (

  $doc->createTextNode( $row["progdi"] )

  );

  $b->appendChild( $progdi );

  $r->appendChild( $b );

    }

} else {

    echo "0 results";

}

echo $doc->saveXML();

$doc->save("akademik.xml");

$conn->close();

?>


2. Gambar data dan hasil

Gambar data file php, sql dan xml



 Gambar data di localhost