Membuat Aplikasi Petunjuk jalan dengan google api

Kita mungkin pernah berfikir bagaimana caranya ya membuat aplikasi seperti ojek online dengan dengan google map api. nah kali ini saya akan coba menambah wawasan kita. sebenarnya tutorial seperti banyak , hanya saja keinginan untuk menulis saja , karena sudah lama tidak menulis blog ini. 🙂 .

langsung saja berikut codenya :


<!DOCTYPE html>
<html>
<head>
<title>MENAMPILKAN PETUNJUK ARAH</title>
<meta charset="utf-8"/>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyCTzjb-g5lJmButPqyNn9y6Q1x8d3JPGyo"></script>
<script type="text/javascript">
function init(){
var service = new google.maps.DirectionsService;
var view = new google.maps.DirectionsRenderer;

var info_window = new google.maps.InfoWindow();
var zoom = 5;

var pos = new google.maps.LatLng(-3.050444,116.323242);
var options = {
'center': pos,
'zoom': zoom,
'mapTypeId': google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById('maps'), options);
view.setMap(map);
info_window = new google.maps.InfoWindow({
'content': 'loading...'
});

var result = function(){
lihat(service, view);
}

document.getElementById('lihat').addEventListener('click', result)
}

function lihat(service, view){
var start = document.getElementById('start').value;
var end = document.getElementById('end').value;

var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING
};

service.route(request, function(response, status){
if(status == google.maps.DirectionsStatus.OK){
view.setDirections(response);
}else{
window.alert('Directions request failed due to ' + status);
}
});
}

google.maps.event.addDomListener(window, 'load', init);
</script>
</head>
<body>
<input type="text" id="start" size="50" placeholder="Lokasi sekarang">
<input type="text" id="end" size="50" placeholder="Tujuan">
<button id="lihat">lihat</button>
<br><br>
<div id="maps" style="width: 800px; height: 400px;"></div>
</body>
</html>

untuk hasil bisa dilihat di bawah ini, sebagai sample kita akan menunjukkan arah dari ciputat ke blok m

Advertisements

Share Pengalaman Interview Web Programmer

Dalam Interview untuk web programmer yang paling banyak adalah algoritma, padahal dalam kasus nyata kita jarang memakai, entahlah kenapa perusahaan begitu, tapi itulah kebijakan mereka. meskipun ng semua perusahaan seperti itu, nah kali ini gw share pengalaman aja , sering menghadapi interview jadi tau beberapa kesamaan diantara perusahaan.

  1. Startup

Kalau di perusahaan startup yang sangat dibutuhkan adalah kemampuan yang luar biasa karena mereka di                   kejar target dan terbatas dengan dana investor. terkadang juga di tekan dengan deadline produk yang di                      bangun biasanya di startup kalau kita interview ng jauh-jauh dari algoritama seperti contoh:

-> Membuat Segitiga Bintang dengan bahasa pemograman yang dikuasi

-> Membuat Ketupat Bintang  dengan bahasa pemograman yang dikuasi

-> Membuat Bilangan Prima

-> Membuat Bilangan Ganjil dan Genap

-> Membuat Bilangan Fibonasi

-> Membuat Bilangan Desimal Menjadi Biner

-> Memindahkan nilai a ke b dan ke c supaya tidak bentrok.

-> Biasanya Juga ditanya apa itu class, function, abstract, contruct, inherit / Konsep OOP

-> Perbedaan Include, required, include_once, required_once

->prosedure sql, on cascade, on delete sql , dll

2. Consultan IT

Jika Konsultan biasanya lebih kepada skill Interface atau pun Pemograman Inti yang akan di pakai, karena                   mereka mengerjakan project luar, biasanya yang di test adalah

-> Membuat Layout Website

->crud Aplikasi

->aplikasi Lengkap ditentukan sesuai project yang akan di garap.

3. Perusahaan Menengah Keatas

Sepangalaman saya untuk di test pemograman hampir ng ada, karena yang mereka lihat adalah attitude bukan    skill , biasanya kalau attitudenya baik , bisa langsung di proses.

[share] Berbagi Pengetahuan tantang VPS

Berbicara tentang web pasti kita akan terpikir tentang hostingan. penyedia hosting di indonesia cukup banyak diantaranya adalah dapurhosting, rumahweb, dewaweb, idwebhost, allnetspace dll. jika kita membelinya kita langsung disediakan paket cpanel yang langsung dipakai.

Berbeda dengan vps , vps adalah virtual private security. kalau boleh di bilang vps adalah sebuah ruangan, yang kita dizinkan menginstall apapun disana, dalam bentuk versi command line. bisa juga versi xampp versi kosong. disini lah tantangannya memakai vps, serta merta kita harus mengerti command linux, karena sintak vps sama dengan linux mau itu ubuntu atau centos ataupun debian.

beberapa penyedia vps diantara : digitalocean, cloudekilat, dewaweb, rumah hosting go daddy dll. anda bisa membeli paket perbulan untuk belajar-belajar supaya bisa menguasi seutuhnya ilmu web programming.

semoga membantu 🙂

 

[Trik] berbagai fitur email pada library laravel

Kali ini kita akan berbagi ilmu tentang beberapa tentang email pada library laravel, karena sebernarnya saya pengguna laravel.

diantara library mail nya adalah sbb:

  1. sendgrid mail.
  2. zoho mail.
  3. redis mail. [biasanya bawaan dari laravel]
  4. mail chimp, mail jet, new relic dll

disini saya akan menerapkan sendgrid laraval.

cara penerapan nya cukup mudah, pertama anda buat account di sendgrid bisa lewat link berikut klik

yang terpenting anda mempunyai akun di sana terlebih dahulu dan pilih bagian sendgrid email api, anda akan dapatkan info seperti berikut:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=username_sendgrid
MAIL_PASSWORD=password_email
MAIL_ENCRYPTION=TLS

anda masukkan ke .env laravel anda code yang di bold diatas.

kemudian di bagian controller anda tinggal menggunakan [ use MAIL ] di bawah namespace dari controllernya.

selanjutnya tinggal input code email dari laravel seperti di bawah ini:


$user = array(
'email'=> 'email tujuan',
'name'=> 'nama tujuan'
);

$data = array(
'email'=>'data email yang akan dikirim',
'name'=> 'data nama yang akan dikirim'
);

Mail::send('nama_folder.nama_file_php',$datas , function($message) use ($users){
$message->to($users['email'],$users['name'])->subject('Isi Subject');

SEMOGA BERMANFAAT 🙂

[Trik] berbagai SMS API dengan PHP dan MYSQL

Sudah Cukup Lama tidak menulis lagi di blog di karena kan kesibukan dan hal penting lainnya.

sudah banyak keinginan untuk menulis lagi di blog TOPIDESTA.

Sekarang saya coba berbagi ilmu tentang sms api dengan PHP.

beberapa contoh di internet diantaranya adalah:

  1. nexmo sms API.
  2. twilio sms API
  3. sinch sms API
  4. facebook SMS API
  5. zenziva sms API
  6. dll

kalau penulis biasanya menggunakan zenziva sms API dan facebook sms API. karena lebih mudah dan cocok untuk pemula, tapi untuk beberapa perusahaan besar sudah memiliki API sendiri.

contoh code dari zenziva:


$hp = $_POST['no_hp'];

$userkey = "key_anda"; // ini didapat setelah kita mendaftar di websitenya, posisinya di API setting.
$passkey = "pass_anda";
$nohp = $hp;
$message = rand(0000,9999);
$url = "https://reguler.zenziva.net/apps/smsapi.php";
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $url);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'userkey='.$userkey.'&passkey='.$passkey.'&nohp='.$nohp.'&pesan='.urlencode($message));
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
curl_setopt($curlHandle, CURLOPT_POST, 1);
$results = curl_exec($curlHandle);
curl_close($curlHandle);

contoh diatas kita bisa pakai untuk validasi no hp seperti web kelas atas, atau pun bisa untuk promo-promo tertentu.

dari code diatas anda akan mendapatkan sms kode dari rand(00000,99999) yang kita buat tadi.

selamat mencoba , 🙂

CRUD PHP dan XML 2.0

> View.php


<?php
require('simplexml.class.php');
//delete
if($_GET['act']=='hapus'){
$product = simplexml_load_file('product.xml');
$id = $_GET['id'];
$index = 0;
$i= 0;
foreach($product->product as $produk){
if($produk->id_produk == $id){
$index = $i;
break;
}
$i++;
}
unset($product->product[$index]);
file_put_contents('product.xml',$product->asXml());

}
//end of delete

$product = simplexml_load_file('product.xml');
$json = json_encode($product);
$array = json_decode($json,TRUE);
$jumlah = count($array);
$no=1;
echo"<a href='add.php'> <button>add</button> </a> <br><br>";
echo "<table border=0 width=100% style='padding:15px; border:1px solid #000;'> ";
echo "<tr bgcolor='#ccc'> <td>No</td> <td>Nama</td> <td>Harga</td> <td>Edit</td> <td>Hapus</td></tr> ";
foreach($product->product as $produk ){
if(($no%2)==0){
$warna="#ccc";
}else{
$warna="#fff";
}
echo "<tr bgcolor='$warna'><td>".$no."</td>";
echo "<td>".$produk->name."</td>";
echo "<td>".$produk->price."</td>";
echo "<td><a href='edit.php?id=".$produk->id_produk."'> <button>Edit</button></a></td>";
echo "<td><a href='index.php?act=hapus&id=".$produk->id_produk."'><button>Delete</button></a></td></tr>";
$no++;
}
echo" </table>";
?>

> add.php


<?php
if($_POST['save']){
require('simplexml.class.php');
$products = simplexml_load_file('product.xml');
$product = $products->addChild('product');
$product->addChild('id_produk',$_POST['id_produk']);
$product->addChild('name',$_POST['name']);
$product->addChild('price',$_POST['price']);
file_put_contents('product.xml',$products->asXml());
header('location:index.php');
}
?>
<form method="POST">
<p> ID <input type="text" name="id_produk"></p>
<p> Nama <input type="text" name="name"></p>
<p> Harga <input type="text" name="price"></p>
<input type="submit" value="Simpan" name="save"></p>
</form>

> Edit.php


<?php
require('simplexml.class.php');
$products = simplexml_load_file('product.xml');
if($_POST['save']){

foreach($products->product as $product){
if($product->id_produk == $_POST['id_produk']){
$product->name = $_POST['name'];
$product->price = $_POST['price'];
break;
}
}
file_put_contents('product.xml',$products->asXml());
header('location:index.php');
}
foreach($products->product as $product){
if($product->id_produk == $_GET['id']){
$id = $product->id_produk;
$name = $product->name;
$price = $product->price;
break;
}

}
?>
<form method="POST">
<p> ID <input type="text" name="id_produk" value="<?php echo $id; ?>" readonly="readonly"> </p>
<p> Nama <input type="text" name="name" value="<?php echo $name; ?>"></p>
<p> Harga <input type="text" name="price" value="<?php echo $price; ?>"></p>
<input type="submit" value="Simpan" name="save"></p>
</form>

>product.xml

<?xml version="2.0" encoding="utf-8"?>
<products>
 <product>
 <id_produk> 1 </id_produk>
 <name> Gula </name>
 <price>200000</price>
 </product>
 <product>
 <id_produk>2</id_produk>
 <name>minyak</name>
 <price>10000</price>
 </product>

<product><id_produk>3</id_produk><name>sabun</name><price>10000</price></product><product><id_produk>4</id_produk><name>mie instant</name><price>45789</price></product></products>

> Hasil

xml

Advertisements