├── LICENSE
├── README.md
├── index.php
└── kurs.php
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Bachors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Kurs-API
2 |
Just for fun. cURL beberapa website BANK di indonesia untuk mendapatkan KURS harga jual dan beli dollar ke rupiah and return ARRAY or JSON :)
3 | Install:
4 |
5 |
6 | // include kurs.php
7 | require("kurs.php");
8 | Example call function and return ARRAY:
9 |
10 | Menampilkan semua daftar nama BANK
11 |
12 |
13 | $data = bank();
14 |
15 | Menampilkan KURS berdasarkan nama BANK
16 |
17 |
18 |
19 | $data = kurs("bca");
20 |
21 | Atatu menampilkan KURS dari semua BANK
22 |
23 |
24 |
25 | $data = kurs("all");
26 | Convert ARRAY to JSON:
27 |
28 |
29 | echo json_encode($data);
30 |
31 |
32 |
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 |
26 |
--------------------------------------------------------------------------------
/kurs.php:
--------------------------------------------------------------------------------
1 | $bank,
25 | "status" => "offline",
26 | "kurs" => array()
27 | );
28 | return $arrai;
29 | }
30 |
31 | // ternyata website yd di curl sedang online
32 | else{
33 | curl_close($ch);
34 | $dom = new DOMDocument;
35 | $dom->loadHTML($content);
36 | $rows = array();
37 | foreach ($dom->getElementsByTagName('tr') as $tr) {
38 | $cells = array();
39 | foreach ($tr->getElementsByTagName('td') as $r) {
40 | $cells[] = $r->nodeValue;
41 | }
42 | $rows[] = $cells;
43 | }
44 |
45 | $jual = preg_replace('/\s+/', '', $rows[$td][$field1]);
46 | $beli = preg_replace('/\s+/', '', $rows[$td][$field2]);
47 |
48 | if(substr($jual, -3) == ".00"){
49 | $jual = str_replace(".00", "", $jual);
50 | }else if(substr($jual, -3) == ",00"){
51 | $jual = str_replace(",00", "", $jual);
52 | }
53 |
54 | if(substr($beli, -3) == ".00"){
55 | $beli = str_replace(".00", "", $beli);
56 | }else if(substr($beli, -3) == ",00"){
57 | $beli = str_replace(",00", "", $beli);
58 | }
59 |
60 | $search = array(",", ".");
61 | $replace = array("", "");
62 | $jual = str_replace($search, $replace, $jual);
63 | $beli = str_replace($search, $replace, $beli);
64 |
65 | $arrai = array(
66 | "bank" => $bank,
67 | "status" => "online",
68 | "kurs" => array(
69 | "mata_uang" => "USD",
70 | "jual" => $jual,
71 | "beli" => $beli
72 | )
73 | );
74 | return $arrai;
75 | }
76 | }
77 |
78 | function curl(){
79 |
80 | $data = array();
81 | $data[] = ["bank" => "bi", "url" => "http://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspx", "td" => "31", "field1" => "2", "field2" => "3"];
82 | $data[] = ["bank" => "bca", "url" => "http://www.bca.co.id/id/Individu/Sarana/Kurs-dan-Suku-Bunga/Kurs-dan-Kalkulator", "td" => "2", "field1" => "1", "field2" => "2"];
83 | $data[] = ["bank" => "permata", "url" => "https://www.permatabank.com/kurs/", "td" => "1", "field1" => "4", "field2" => "3"];
84 | $data[] = ["bank" => "bni", "url" => "http://www.bni.co.id/informasivalas.aspx", "td" => "14", "field1" => "1", "field2" => "2"];
85 | $data[] = ["bank" => "bri", "url" => "http://www.bri.co.id/rates", "td" => "22", "field1" => "2", "field2" => "1"];
86 | $data[] = ["bank" => "bukopin", "url" => "http://www.bukopin.co.id/", "td" => "3", "field1" => "2", "field2" => "1"];
87 | $data[] = ["bank" => "danamon", "url" => "http://www.danamon.co.id/Home/AboutDanamon/FXRates/tabid/272/language/id-ID/Default.aspx", "td" => "1", "field1" => "2", "field2" => "1"];
88 | $data[] = ["bank" => "mandiri", "url" => "http://www.bankmandiri.co.id", "td" => "3", "field1" => "3", "field2" => "2"];
89 | $data[] = ["bank" => "ekonomi", "url" => "https://www.bankekonomi.co.id/1/2/home/kurs-mata-uang", "td" => "2", "field1" => "2", "field2" => "1"];
90 | $data[] = ["bank" => "mega", "url" => "https://www.bankmega.com/treasury.php", "td" => "3", "field1" => "2", "field2" => "1"];
91 | $data[] = ["bank" => "mybank", "url" => "http://www.maybank.co.id/kurs/pages/kurs.aspx", "td" => "11", "field1" => "2", "field2" => "1"];
92 | $data[] = ["bank" => "bankjatim", "url" => "http://www.bankjatim.co.id/id/informasi/informasi-lainnya/kurs", "td" => "3", "field1" => "3", "field2" => "2"];
93 | $data[] = ["bank" => "btn", "url" => "http://www.btn.co.id/id/content/BTN-Info/Info/Kurs-Valuta-Asing", "td" => "1", "field1" => "1", "field2" => "2"];
94 | $data[] = ["bank" => "bjb", "url" => "http://www.bankbjb.co.id/id/corporate-website/rate-dan-biaya/kurs-valas.html", "td" => "8", "field1" => "2", "field2" => "1"];
95 | $data[] = ["bank" => "bankmuamalat", "url" => "http://www.bankmuamalat.co.id/kurs", "td" => "2", "field1" => "3", "field2" => "4"];
96 | $data[] = ["bank" => "banksinarmas", "url" => "http://banksinarmas.com/id/i.php?id=charges-atm", "td" => "11", "field1" => "2", "field2" => "1"];
97 | $data[] = ["bank" => "bankaltim", "url" => "http://www.bankaltim.co.id/kurs", "td" => "7", "field1" => "1", "field2" => "2"];
98 |
99 | /* Sobat bisa menambahkan lagi daftar bank yang akan di cURL ^^
100 | $data[] = ["bank" => "nama bank", "url" => "url bank yang akan di cURL", "td" => "array td ke", "field1" => "array field ke di dalam td (jual)", "field2" => "array field ke di dalam td (beli)"];
101 | */
102 |
103 | return $data;
104 |
105 | }
106 |
107 | function bank(){
108 |
109 | $curl = curl();
110 |
111 | $data = array();
112 |
113 | foreach($curl as $cr){
114 | $url_kurs = 'http://'.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI].'?bank='.$cr['bank'];
115 | $data['data'][] = array(
116 | "bank" => $cr['bank'],
117 | "url_kurs" => $url_kurs
118 | );
119 | }
120 |
121 | $data['data'][] = array(
122 | "bank" => "all",
123 | "url_kurs" => 'http://'.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI].'?bank=all'
124 | );
125 |
126 | return $data;
127 |
128 | }
129 |
130 | function kurs($bank = ""){
131 |
132 | $curl = curl();
133 |
134 | $data = array(
135 | "date" => date("d/m/Y")
136 | );
137 |
138 | foreach($curl as $cr){
139 | if($cr['bank'] == $bank){
140 | $data['data'][] = ayoCurl($cr['bank'], $cr['url'], $cr['td'], $cr['field1'], $cr['field2']);
141 | }else if($bank == "all"){
142 | $data['data'][] = ayoCurl($cr['bank'], $cr['url'], $cr['td'], $cr['field1'], $cr['field2']);
143 | }
144 | }
145 |
146 | return $data;
147 |
148 | }
149 |
--------------------------------------------------------------------------------