Selasa, 25 Oktober 2016

Analisa Strategis Sistem Informasi terhadap Keunggulan Bersaing

InilahData,- Persaingan dalam dunia usaha sekarang ini semakin ketat seiring dengan perkembangan sistem dan teknologi informasi. Perusahaan harus mampu melakukan inovasi dan terobosan baru serta menggunakan semua teknologi dan sarana yang tersedia secara maksimal untuk mempertahankan pelanggan yang dimiliki.

Sistem informasi adalah yang sering menjadi pilihan perusahaan untuk meningkatkan efesiensi dan efektifitas dalam proses bisnis, juga agar mampu memberikan nila tambah yaitu berupa competiteve advantage dalam persaingan bisnis.

Penggunaan sistem informasi tidaklah melihat dari besar atau kecilnya perusahaan, namun peran sistem informasi disini dapat memudahkan perusahaan melakukan semua kegiatan operasional menjadi lebih mudah dan cepat.

Penerapan sistem informasi akan bermanfaat jika penerapannya sesuai dengan tujuan, visi dan misi perusahaan dengan menetapkan strategi bisnis dan strategi sistem teknologi informasi.

Sehingga dibutuhkan suatu analisa berbagai faktor yang mempengaruhi terbentuknya suatu perencanaan strategi sistem atau teknologi informasi yang adaptable dan selaras dengan strategi bisnis.

Menurut Ward dan Peppard (2002), ada tiga sasaran utama dari upaya penerapan SI/TI dalam suatu perusahaan.
  1. Memperbaiki efisiensi kerja dengan melakukan otomasi berbagai proses yang mengelola informasi.
  2. Meningkatkan keefektifan manajemen dengan memuaskan kebutuhan informasi guna pengambilan keputusan.
  3. Memperbaiki daya saing atau meningkatkan keunggulan kompetitif perusahaan dengan merubah gaya dan cara berbisnis
Akan tetapi pada kenyataanya sering ditemukan jika penerapan SI/TI kurang berpengaruh terhadap peningkatan kinerja dan kesuksesan bisnis perusahaan maupun peningkatan daya saing perusahaan.

Hal tersebut terjadi akibat penerapan SI/TI yang hanya berfokus pada teknologinya saja. Oleh karena itu, cara efektif untuk mendapatkan manfaat strategis dari penerapan SI/TI adalah dengan berkonsentrasi pada kaji ulang bisnis (rethinking business) melalui analisis masalah bisnis saat ini dan perubahan lingkungannya serta mempertimbangkan TI sebagai bagian solusi.

Permasalahan lain dalam penerapan SI/TI adalah investasi SI/TI masih belum berhasil memberikan manfaat yang diharapkan kepada perusahaan (Ward and Peppard, 2002).

Pimpinan perusahaan sering dihadapkan pada kenyataan bahwa belanja modal (capital expenditure) untuk SI/TI tidak membuahkan hasil hingga nilai tertentu sesuai dengan besarnya investasi yang telah dilakukan.

Perusahaan menggunakan SI/TI untuk pengelolaan akuntansi dan keuangan, operasional pemasaran, layanan pelanggan, koordinasi antar kantor cabang, perencanaan produksi, pengendalian persediaan, mengurangi lead time, melancarkan distribusi dan lain sebagainya. Namun tidak jelas apakah penggunaan SI/TI semacam ini sudah secara nyata menghasilkan output yang lebih banyak (Robert Solow dalam McCarty, 2001).


I. STRATEGI SI DAN STRATEGI TI

Suatu strategi yang direncanakan haruslah selaras dengan strategi bisnis perusahaan sehingga strategi bisnis perusahaan yang akan men-drive strategi sistem informasi yang akan direncanakan. Strategi informasi tersebut kemudian akan men-drive strategi teknologi informasi yang akan dirancang.

Hal ini berarti harus ada kesesuaian antara strategi bisnis, strategi SI dan strategi TI. Analogi strategic alignment (Ward and Peppard, 2002) dapat dilihat pada gambar di bawah ini.



Untuk menentukan strategi SI/TI yang dapat mendukung pencapaian visi dan misi perusahaan, maka perlu pemahaman tentang strategi bisnis perusahaan.

Pemahaman tersebut mencakup penjelasan terhadap hal-hal berikut : mengapa suatu bisnis dijalankan, kemana tujuan, dan arah bisnis, kapan tujuan tersebut dicapai, bagaimana cara mencapai tujuan dan adakah perubahan yang harus dilakukan.

Jadi dalam membangun suatu strategi SI/TI, yang menjadi isu sentral adalah penyelarasan (alignment) strategi SI/TI dengan strategi bisnis perusahaan.


II. PERENCANAAN STRATEGIS SI/TI

Perencanaan strategis SI/TI merupakan proses identifikasi portofolio aplikasi SI berbasis komputer yang akan mendukung perusahaan dalam pelaksanaan rencana bisnis dan merealisasikan tujuan bisnisnya. Perencanaan strategis SI/TI mempelajari pengaruh SI/TI terhadap kinerja bisnis dan kontribusi bagi perusahaan dalam memilih langkah-langkah strategis.

Selain itu, perencanaan strategis SI/TI juga menjelaskan berbagai tools, teknik, dan kerangka kerja bagi manajemen untuk menyelaraskan strategi SI/TI dengan strategi bisnis, bahkan mencari kesempatan baru melalui penerapan teknologi yang inovatif (Ward & Peppard, 2002).

Gambar dibawah menunjukkan skema perencanaan strategis SI/TI





III. Model Perencanaan Strategis SI

Pendekatan metodologi versi Ward dan Peppard adalah dengan analisa kondisi investasi SI/TI dimasa lalu yang kurang bermanfaat bagi tujuan bisnis perusahaan dalam menangkap peluang bisnis untuk meningkatkan keunggulan kompetitif bagi suatu perusahaan.

Kurang optimalnya pemanfaatan investasi SI/TI lebih banyak disebabkan oleh karena perencanaan strategis SI/TI yang lebih fokus ke teknologi, bukan berdasarkan kebutuhan bisnis.



Metodologi versi ini terdiri dari tahapan masukan dan tahapan keluaran (Ward & Peppard, 2002). Tahapan masukan terdiri dari:

a) Lingkungan bisnis internal perusahaan
Merupakan strategi bisnis yang digunakan pada masa sekarang, tujuan, sumber daya, proses dan budaya perusahaan serta nilai dari bisnis itu sendiri.

b) Lingkungan bisnis eksternal perusahaan
Pada tahap ini dilakuakan analisis faktor-faktor di luar perusahaan yang mempengaruhi kinerja perusahaan, yang mencakup aspek-aspek ekonomi, industri, dan iklim bersaing perusahaan.

c) Lingkungan Internal SI/TI
Pada tahap ini akan dilakukan analisis yang mencakup kondisi SI/TI perusahaan dari perpektif bisnis saat ini bagaimana kematangannya (maturity), bagaimana kontribusi terhadap bisnis, keterampilan sumber daya manusia, sumber daya dan infrastruktur teknologi, termasuk juga bagaimana portofolio dari SI/TI yang ada saat ini.

d) Lingkungan Eksternal SI/TI
Pada tahap ini dilakukan analisis kondisi teknologi SI/TI yang berkembang saat ini yang mencakup tren teknologi dan peluang pemanfaatannya, serta penggunaan SI/TI oleh kompetitor, pelanggan dan pemasok. Dari hasil ini akan diperoleh peluang teknologi SI/TI yang dapat digunakan dalam mendukung strategi perusahaan.

Sedangkan tahapan keluaran merupakan bagian yang dilakukan untuk menghasilkan suatu dokumen perencanaan strategis SI/TI yang isinya terdiri dari :

a) Strategi bisnis SI, yang mencakup bagaimana setiap unit/fungsi bisnis perusahaan akan memanfaatkan SI/TI untuk mencapai sasaran bisnisnya, portofolio aplikasi dan gambaran arsitektur informasinya.

b) Strategi TI, yang mencakup kebijakan dan strategi bagi pengelolaan teknologi dan sumber daya manusia SI/TI.

c) Strategi manajemen SI/TI, yang mencakup elemen-elemen umum yang diterapkan melalui perusahaan untuk memastikan konsistensi penerapan kebijakan SI/TI yang dibutuhkan.


>> Future Application Portfolio, rincian yang menjelaskan usulan aplikasi yang akan digunakan perusahaan dalam waktu ke depan, untuk mengintegrasikan setiap unit dari perusahaan dan menyesuaikan perkembangan teknologi dengan perkembangan perusahaan.

>> Current Application Portfolio, rincian mengenai aplikasi system informasi yang diterapkan perusahaan saat ini, dengan melihat keuntungan dan kekuatan yang diperoleh dengan menggunakan aplikasi tersebut serta melihat dukungan aplikasi yang ada terhadap kegiatan operasional dan perencanaan strategi sistem dan teknologi.



METODE DAN TEORI ANALISIS PERENCANAAN STRATEGIS SI/TI

Beberapa teknik/metode analisis yang digunakan dalam perencanaan strategis SI/TI pada metodologi ini, mencakup :

1. Analisa Lingkungan Bisnis Internal
Tahap ini mengidentifikasi aspek internal, yang hasil dari analisa ini dapat diketahuikondisi terkini perusahaan serta strategis. Berikut hal yang berkaitan dengan analisalingkungan bisnis internal.

a. Visi, misi, strategis bisnis perusahaan

Penjabaran visi,misi, dan strategis perusahaan merupakan langkah awal dalam perancanngan strategis. Dari visi, misi dan strategi dapat terlihat arah perusahaan dimasa akan datang.

b.Analisa Porter ( Five Forces Analisys)
Model Porter untuk menganalisa posisi perusahaan dalam industri sekarang dan mengetahui kekuatan apa saja yang mempengaruhi.

c.Analisa SWOT (Sweght, Weight, Oppourtunity,Tthreat)
Analisa kekuatan dan kelemahan perusahaan dan peluang serta tantangan dimasamendatang.

d.Analisa CSF(Critical Sucsess Factor Analizy)
Analisa faktor yang mempengaruhi kesuksesan strategi perusahaan.

e.Analisa Rantai Nilai (Value Chain Analisys)
Analisa dokumen perusahaan yang berhubungan dengan kegiatan utama dan kegiatan pendukung dalam perusahaan.


2.  Analisa Lingkungan Bisnis Eksternal

Analisis lingkungan eksternal bisnis dari sebuah perusahaan terdiri dari faktor – faktor yang pada dasarnya di luar dan terlepas dari perusahaan. Faktor – faktor utama yang biasa diperhatikan adalah faktor Politik, Ekonomi, Sosial dan Teknologi (PEST). Dengan menggunakan analisa PEST ini, diharapkan dapat mengetahui faktor–faktor yang berkaitan dengan perusahaan


3.  Analisis Lingkungan Internal SI/TI

Pada tahap ini akan dianalisa kondisi SI/TI saat ini yang digunakan dalam mendukung kegiatan operasional perusahaan.

a. Struktur perusahaan SI/TI dan sumber daya
Struktur perusahaan dan sumberdaya yang dimiliki, dalam hal ini SDM.

b. Portofolio aplikasi sekarang
Aplikasi yang telah dimiliki perusahaan dimasukkan kedalam portofolio yang bergunauntuk mengetahui kondisi SI/TI pada perusahaan sekarang ini.

c. Analisa proses bisnis
Pemetaan proses bisnis kedalam suatu model yang menggambarkan arus informasiyang terjadi dalam kegiatan bisnis perusahaan.

d. Infrastruktur SI/TI ( Hardware, Software, Network)


4. Analisa Lingkungan SI/TI Eksternal.

Tahap ini mengidentifikasi perkembangan teknologi SI/TI terkini dan trend ke depan.
a. Trend teknologi SI/TIMembahas tren teknologi yang tengah berkembang, yang khususnya bisa diterapkan pada perusahaan
b. Teknologi yang sedang dipakai oleh pelanggan, pemasok, dan pesaing.
c. Peluang dan kemungkinan penggunaan teknologi untuk keunggulan dimasa mendatang.


5. Rekomendasi Strategi

a. Portofolio aplikasi dimasa mendatangPortofolio mendatang yang sesuai dengan kebutuhan perusahaan. Dari portofoliomendatang dapat terlihat prioritas investasi apa yang sebaiknya dilakukan oleh perusahaan dan aplikasi apa saja yang bsia bermanfaat bagi perusahaan dimasamendatang.
b. Infrastruktur SI/TI untuk menunjang portofolio aplikasi mendatang.
c. Kebijakan manajemen SI/TI (sumberdaya, infrastruktur, keamanan)

KESIMPULAN

Perencanaan Strategis SI/TI digunakan untuk menyelaraskan antara kebutuhan strategi bisnis dan strategi SI/TI untuk mendapatkan nilai tambah dari suatu perusahaan dari segi keunggulan kompetitif.

Proses identifikasi kebutuhan informasi Perencanaan Strategis Sistem Informasi dimulai terlebih dahulu dari lingkungan perusahaan yang memuat visi, misi, dan tujuan perusahaan, dilanjutkan kepada identifikasi terhadap lingkungan internal dan eksternal perusahaan, serta identifikasi internal dan eksternal SI/TI lingkungan perusahaan, yang kemudian proses penentuan peluang SI/TI dapat dilaksanakan ketika kebutuhan informasi yang di drive dari tujuan perusahaan telah semuanya teridentifikasi.

Hasil dari Perencanaan Strategis SI/TI ini menjawab permasalahan pemanfaatan SI/TI suatu perusahaan, adapun hasil identifikasi dari perencenaan strategis sistem informasi adalah terbentuknya portofolio aplikasi SI/TI.

Teknologi infomasi dapat membantu perusahaan dalam meningkatkan daya saingnya dengan menerapkan prinsip agility, dimana fleksibilitas diperlukan untuk menghadapi perubahan.

Dengan sikap adaptif, perusahaan dapat memanfaatkan manajemen portofolio aplikasi SI/TI untuk menciptakan efisiensi dan memaksimalkan penggunaan investasi TI, memanfaatkan informasi dari portofolio untuk menciptakan inovasi baru, serta meraih keuntungan dari fokus dan keselarasan biaya dengan tetap menjaga kompetensi inti.



Daftar pustaka :
  1. Ward, John; Peppard, Joe. 2002. Strategic Planning for Information Systems. 3th Edition. John Wiley& Sons Ltd.
  2. Wedhasmara,A. 2009. Langkah-langkah Perencanaan Strategis Sistem Informasi dengan Menggunakan Metode Ward and Peppard. Jurnal Sistem Informasi (JSI), Vol.1 No.1 April 2009, hal 14-22.
  3. Sensuse, Dana Indra; Sopryadi, Hendri. 2008. Perencanaan Strategis Sistem Dan Teknologi Informasi Pada St. Ignatius Education Center Palembang. Jurnal Ilmiah STMIK GI MDP, Vol 4 No.3 Oktober 2008, hal 9-18

Sabtu, 08 Oktober 2016

Perancangan Strategi Sistem Informasi (PSSI) MPSI116322

Perancangan Strategi Sistem Informasi
Kode MK : MPSI116322

Deskripsi Mata Kuliah
Mata kuliah ini membahas mengenai aspek-aspek dan konsep-konsep manajemen strategi dalam lingkup sistem informasi, metodologi/framework dan proses dalam penyusunan perencanaan strategis sistem informasi suatu organisasi/perusahaan.    

Daftar Pustaka / Referensi
  1. Ward, John dan Joe Peppard. Strategic Planning for Information Systems 3rd Edition. John Wiley & Sons, Inc. 2003
  2. Cassidy, Anita. A Practical Guide to Information Systems Strategic Planning 2nd Edition. Auerbach Publications. 2005
  3. Turban, Efraim. et al. Information Technology for Management: Advancing Sustainable, Profitable Business Growth, 9th edition. John Wiley & Sons, Inc. 2013
Silabus/Materi :
  1. Pengantar Manajemen Strategi
  2. Teknologi Informasi & Implikasinya Pada Strategi Bisnis
  3. Analisa Strategis Sistem Informasi
  4. Pemilihan Strategi Sistem Informasi
  5. Implementasi Strategi Sistem Informasi
  6. IT Sourcing
  7. Implementasi IT Outsourcing
  8. Pengelolaan Strategi Sistem Informasi
  9. Implementasi Pengelolaan Strategi Sistem Informasi
  10. Pengembangan Pengelolaan Pengetahuan

Integrasi Aplikasi Enterprise MPTI117314

Integrasi Aplikasi Enterprise
Kode MK : MPTI117314

Deskripsi Mata Kuliah
  1. Matakuliah ini akan menjelaskan konsep, metode dan arsitektur dalam perancangan serta implementasi Teknologi Informasi pada skala enterprise.
  2. Matakuliah ini akan membantu memberi pemahaman khusus tentang peran Service Oriented Architectures (SOA) dan perkembangannya dalam analisa kebutuhan, perancangan dan penerapannya pada skala enterprise.
  3. Selain itu matakuliah ini juga membahas arsitektur/teknologi yang dapat langsung diterapkan dalam platform yang berbeda-beda, mendukung teknologi berbasis komponen, berbasis service dan sistem terdistribusi.
Kompetensi Mata Kuliah
Setelah menyelesaikan matakuliah ini, diharapkan mahasiswa akan:
  1. Dapat menjelaskan arsitektur enterprise, mengerti dan mengenal kapan dan dimana arsitektur enterprise dapat diterapkan,
  2. Mampu menjelaskan Service Oriented Architecture
  3. Mengembangkan suatu arsitektur berbasis layanan (service) dengan teknologi web service.

Silabus / Materi
1. Silabus dan Pengantar Arsitektur Aplikasi Sistem Enterprise
  • Pengertian Arsitektur Aplikasi Sistem Enterprise
  • Enterprise Software & Enterprise Application
  • Tantangan Enterprise Application
  • Pengukuran Enterprise Application
2. Distributed Information Systems
  • Evolusi Enterprise Application
  • Layering
  • Transactions
  • Middleware
3. Teknik-teknik Enterprise Architecture
  • Organizing business logic, 
  • Mapping to relational database, 
  • Web presentation, 
  • Concurrency, 
  • Session, 
  • Distribution strategies.
4. Service Oriented Architecture dan Enterprise Application  Integration
  • From middleware to Application Integration
  • EAI Middleware
  • Web Technologies for Application Integration
  • Software Architecture
  • Service Oriented Arsitektur:
  1.  Definisi
  2.  Kelebihan
  3.  Tingkat ketergantungan
5. Arsitektur dan Framework
  • .NET
  • J2EE
6. Database for Enterprise
  • JDBC - java
  • LINQ - .net
7.  XML Technology 1
  • Aturan dan Sintaks
  • Well Formed XML dan Valid XML
  • DTD
8.   XML Technology 2
  • XML Schema
  • Xpath
9.  Web Service
  • Apa itu Web Service
  • Keunggulan dan Kegunaan Web Service
  • Pengembangan dan Evolusi Web Service
  • XML-RPC
10. Web Service Technologies 1
  • SOAP dan UDDI
11.  Web Service Technologies 2
  •  WSDL
12.  Implementasi WS pada .NET
  • OOP pada .NET
  • Database
  • Tipe Data WS
13.  REST Web Services
  • Overview
  • Implementasi

Mata Kuliah eBusiness MPSI116311

Mata kuliah eBusines
Kode MK : MPSI116311

Deskripsi Mata KuliahMata kuliah ini mempelajari tentang aspek-aspek yang ada di dalam e-Business, meliputi teori dasar e-Business, transaksi e-Business, aspek keamanan e-Business, infrastruktur e-Business, manajemen e-Business serta strategi dalam e-Business.

Kompetensi Mata Kuliah
Mahasiswa dapat memahami aspek-aspek dasar pada konsep e-Business, membedakan antara bisnis biasa (konvensional) dengan e-Commerce, sehingga mampu menerapkannya dalam bidang teknologi dan bidang usaha.

Silabus / Materi :
1. Konsep e-Business dan e-Commerce 
- Definisi e-Business dan e-Commerce
- Transformasi E-Commerce menuju E-Business
- 10 Kaidah E-Business

2. Tipe dan Jenis E-Business 
- User-user dalam e-Business dan e-Commerce
- Jenis-jenis e-Business
- Karakter Tiap Jenis e-Business
- Transaksi e-Business

3. Trend e-Business
- Trend-trend utama yang mengarahkan kepada E-Business (studi kasus: web e-commerce)

4. Sistem Informasi e-Business 
- Tantangan pembangunan Sistem Informasi E-Business
- Tahap-tahap pembentukan Sistem Informasi E-Business
- Metode Daur Hidup Pembangunan Sistem Informasi E-Business

5. Strategi Iklan Online Melalui Internet
- Web Advertising
- Metode Beriklan Secara Online
- Beberapa Topik Khusus Iklan

6. Jenis dan Konsep Pembayaran
- Macam-macam pembayaran dalam dunia e-Commerce
- Pihak-pihak yang terlibat dalam pembayaran
- Sistem kerja kartu kredit

7. Web Usability
- Susunan Navigasi
- Fungsi pencarian (search)
- Penulisan Isi (content)
- Desain Grafis
- Penulisan font (keterbacaan)

8. Value Chain 
- Konsep Value Chain
- Struktur Value Chain dalam E-Business
- Arsitektur E-Business

9. Supply Chain Management (SCM)
- Manajemen e-Supply Chain
- Masalah dan solusi dalam E-Supply
- Solusi rantai pasokan internal
- Kolaborasi perdagangan

10. Mobile Commerce (M-Commerce)
- Terminologi M-Commerce
- Karakteristik dan Keunggulan M-Commerce
- M-Commerce Hardware
- M-Commerce Software
- Aplikasi Finansial pada Ponsel

11. Keamanan Dalam e-Commerce
- Cybercrime
- Cyberlaw
- Pembahasan Keamanan
  •  Tujuan dasar Keamanan
  •  Konsep dasar yang berkaitan dengan keamanan e-Commerce
  •  Jenis-jenis Keamanan
  •  Perlindungan
12. Aspek Hukum, Etika dan Dampak Sosial dari E-Commerce 
- Etika dalam e-Commerce
- Privacy
- Hak Cipta Kekayaan Intelektual

Jumat, 23 September 2016

Database Anggota Titik SQL

Berikut ini adalah skrip database anggota :

Skrip anggota.sql

-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jul 03, 2013 at 05:42
-- Server version: 5.1.41
-- PHP Version: 5.3.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `anggota`
--

-- --------------------------------------------------------

--
-- Table structure for table `member`
--

CREATE TABLE IF NOT EXISTS `member` (
  `id` tinyint(4) unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
  `alamat` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=23 ;

--
-- Dumping data for table `member`
--

INSERT INTO `member` (`id`, `nama`, `alamat`) VALUES
(1, 'Akhmad Dharma Kasman', 'Jalan Serua Bojongsari No. 16'),
(2, 'Kresna Abimanyu', 'Jln. Diponegoro'),
(3, 'Giampaolo Pazzini', 'Jalan Kasuari 25'),
(4, 'Ricardo Montolivo', 'Jalan Margonda Depok 23'),
(5, 'Stephan El Sharawy', 'Jalan Bungur 2 No. 39'),
(7, 'Antonio Nocerino', 'Kebayoran Lama Jalan Mangga 12'),
(17, 'Dewi Retno Wulan', 'Pamulang Surya Kencana');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Bikin JSON dengan PHP dan MySQL

InilahData, - Sama seperti XML, JSON tidak menggantikan peran database, tetapi menjadi sarana pertukaran data yang diambil dari database. Sekarang mari kita lihat bagaimana cara membuat bentuk-bentuk JSON dengan bahasa pemograman PHP agar terhubung ke database MySQL.

Pada PHP versi 5.2 telah terdapat fungsi untuk membuat JSON, yaitu fungsi json_encode( ). Adapun bentuk penulisannya sebagai berikut :

string json_encode ( mixed $value [, int $options= 0 ] )

Keterangan :
  • $value adalah nilai yang akan di encode menjadi string JSON
  • $option, ada beberapa pilihan, yaitu JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_FORCE_OBJECT. Adapun nilai defaultnya adalah 0.
Contohnya dalam skrip PHP :

<?php
 $arr = array ('a' = >1, 'b' = >2,'c' = >3,'d' = >4,'e' = >5);
echo json_encode($arr);
?> 

Skrip tersebut akan menghasilkan

{"a":1,"b":2,"c":3,"d":4,"e":5,}

Selanjutnya, kita akan membuat JSON dengan mengambil data dari database "anggota" yang adan buat dulu sebelumnya (ambil databasenya di sini anggota.sql ) dan kita akan menggunakan fungsi json_encode( ). Berikut skripsnya :

Skrip anggotajson.php

<?php
//koneksi ke database
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "anggota";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

//query ambil data member
$sql     = "SELECT * FROM member";
$q     = mysql_query($sql) or die(mysql_error());

//buat variabel $rows sebagai array
$rows = array();
while ($r = mysql_fetch_assoc($q)) {
    $rows[] = $r;
}
$data = "{member:".json_encode($rows)."}";
echo $data;
?>



Sekarang coba jalankan skrip anggotajson.php, maka hasilnya akan terlihat seperti pada gambar di bawah ini :

Ambil data dari database MySQL dengan JSON

Selain menggunakan fungsi json_encode( ), kita juga bisa membuat JSON secara manual dengan menggunakan PHP. Membuat JSON secara manual, yang terpenting adalah kita harus tahu penempatan setiap elemen. Selain itu, membuat JSON secara manual kadang kita perlukan bilamana tidak semua field akan kita ambil dari database, berbeda ketika fungsi json_encode( ) kita gunakan, maka semua field dari tabel akan terambil semua.

Mari kita modifikasi skrip anggotajson.php sebelumnya untuk membuat JSON secara manual :

Skrip anggotajson.php (modifikasi)

<?php
//koneksi ke database
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "anggota";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

$sql = "SELECT * FROM member";
$q     = mysql_query($sql) or die(mysql_error());

//buka json
$json  = '{"member": [';
// bikin looping untuk data array yang di fetch
while ($row = mysql_fetch_array ($q)) {
$json .= '{"id":"'.$row[id].'","nama":"'.$row['nama'].'"},';
}

// untuk menghilangkan koma diakhir array
$json = substr($json,0,strlen($json)-1);

//lengkapi penutup format JSON
$json .= ']}';


// tampilan json
echo $json;

?> 

Sekarang coba jalankan lagi skrip anggotajson.php yang telah kita modifikasi (tanpa menggunakan fungsi json_encode( ). Jika hasilnya sama seperti pada gambar di atas, maka skrip modifikasi kita telah berhasil.

Apa Itu JSON ? Ini Contoh Format JSON

InilahData, - XML bukanlah satu-satunya sarana untuk pertukaran data, kini telah hadir JSON sebagai format baru untuk pertukaran data. XML mukin lebih dulu populer dibanding JSON, tapi sebenarnya jika diadu, JSON lebih unggul dari XML. Mulai dari kecepatan, penulisan yang lebih gampang dan coding untuk parsing yang lebih ringkas dan sederhana.

JSON (JavaScript Object Notation) sendiri adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dan lain-lain. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data.

Berikut ini adalah contoh sebuah konversi data xml ke dalam format JSON :

{
    "contact":[
    {   
        "name":"Ahmad Asyhadi",
        "company":"PT Kenali Media",
        "address":"Jl Lingkar Selatan No.12",
        "city":"Jambi",
        "state":"Indonesia",
        "zip":"36125",
        "phone":"0532908080800",
        "email":"redaksi@kenali.co"
    }
              ]
}



Struktur Penulisan JSON

Kalau dilihat dari informasi skrip JSON di atas, Anda bisa melihat dua buah tanda yang penting dalam penulisan JSON, yaitu { } dan [ ].

Tanda kurung kurawal ( { } ) menandakan JSONObject dan tanda kurang kotak ( [ ] ) menandakan JSONArray.

Berikut penjelasan lebih lanjut mengenai struktur JSON.

JSON terbut dari dua struktur :
  • Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar kunci (keyed listI) atau associative array.
  • Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list) atau urutan (sequence).
Struktur-struktur data tersebut dikenal sebagai struktur data universal. Pada dasarnya, semua bahasa pemograman modern mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian, karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.

JSON menggunakan bentuk sebagai berikut :
  • Object adalah sepasang nama/nilai yang tidak terurutkan. Object dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma). Ilustrasinya lihat pada gambar di bawah ini.
Bentuk Penulisan JSON Object
  • Array adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh tanda koma (,). Ilustrasinya bisa dilihat pada gambar di bawah ini.
Bentuk Penulisan JSON Array
  • Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat. Ilustrasinya bisa dilihat pada gambar di bawah ini.
Bentuk Penulisan Value
  • String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java. Ilustrasinya bisa dilihat pada gambar di bawah ini.
Bentuk Penulisan String
  • Angka sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan. Ilustrasinya bisa dilihat pada gambar di bawah ini. 
Bentuk Penulisan Angka

Kamis, 22 September 2016

Cara Mudah Bikin File XML, Praktek Yuk!

InilahData, -  Untuk men-generate file XML dari database MySQL, sebelumnya kita akan membuat sebuah databasenya, misalnya "anggota" dan tabelnya "member" dengan dua field yaitu "id" dan "nama".

Untuk membuatnya, aktifkan Xampp, lalu bukalah phpmyadmin di browser dengan alamat http://localhost/phpmyadmin/, kemudian isikan pada bagian Create new database: anggota, lalu klik tombol Create. Lihat gambar di bawah ini :

Membuat database "anggota" melalui phpMyadmin

Kemudian klik pada tab SQL, lalu pada bagian Run SQL Query, tuliskan query untuk membuat tabel "member" dan isi datanya 2 record. Adapun isi query-nya :

CREATE TABEL `member`(
`id`  tinyint(4) unsigned NOT NULL auto_increment PRIMARY KEY,
`nama`  varchar(200) collate utf8_unicode_ci NOT NULL
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO `member` (`nama`) VALUES (`Ahmad Asyhadi`), (`Joko Prihatin`);

Untuk jelasnya, silahkan lihat gambar di bawah ini :

Query untuk membuat tabel member beserta datanya

Selanjutnya, kita buatkan skrip php untuk menghasilkan file xml, kita namakan "anggota.php". Dan file ini disimpan ke dalam folder htdocs di xampp Anda.

Skrip anggota.php

<?php
//koneksi database mysql
$dbhost = "localhost";
$dbuser    = "root";
$dbpass    = "";
$dbname    = "anggota";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

//query ambil data member
$sql = "SELECT * FROM member";
$q     = mysql_query($sql) or die(mysql_error());
 

//buat elemen root
$xml = "<memberlist>";


//Ambil data dari database dan diletakkan ke dalam elemen root
while($r = mysql_fetch_array($q)){
  $xml .= "<member>";
  $xml .= "<id>".$r['id']."</id>"; 
  $xml .= "<nama>".$r['nama']."</nama>";
  $xml .= "</member>"; 
}
$xml .= "</memberlist>";


//instansiasi objek SimpleXMLElement
$sxe = new SimpleXMLElement($xml);
$sxe->asXML("member.xml");
?>


Apabila skrip anggota.php dijalankan, maka akan menghasilkan file "member.xml" yang struktur dokumen XML-nya dapat dilihat pada gambar di bawah ini :

Hasil skrip anggota.php membentuk file member.xml   

Bikin XML dengan PHP dan MySQL

InilahData, - Database memang merupakan standar penyimpanan data bagi para web programmer. Namun bagaimana jika kita ingin menggunakan data tersebut untuk keperluan dan aplikasi lain ? Struktur file XML bisa jadi jawabannya.

SimpleXML Parser PHP
Struktur file XML atau dokumen XML memang tidak bisa menggantikan peran database. Tetapi dengan dokumen XML, kita bisa mengolah menjadi sebuah data yang dapat disimpan ke dalam database, khususnya database MsSQL. Dan jika data pada database MySQL ingin digunakan pada platform Android, tentu kita harus mengubahnya ke dalam bentuk XML terlebih dahulu.

Untuk membuat dan memanipulasi data XML, kita akan menggunakan sebuah class dari PHP 5 yang bernama SimpleXML. Sebenarnya pada PHP5, ada beberapa class yang bisa digunakan untuk memparsing data XML, diantaranya ada DOM Functions, DOM XML Functions. Tetapi melihat simplisitas dari SimpleXML, maka teknik ini bisa jadi pilihan.

Struktur Penulisan Dokumen XML. Simak Disini!

InilahData, - Karena XML bersifat mudah untuk dibaca dan ditulis baik oleh manusia maupun komputer, maka XML merupakan sebuah format yang dapat digunakan untuk pertukaran data (interchange) antar aplikasi dan platform yang berbeda (platform independent). Metode deskripsi data  XML (self describing) membuatnya menjadi pilihan efektif untuk bisnis ke bisnis, solusi antar jaringan, e-business, dan aplikasi terdistribusi. XML juga bersifat dapat diperluas (extensible), dapat digunakan pada semua bahasa pemograman, dan datanya dapat ditransfer dengan mudah melalui protokol standar internet seperti HTTP tanpa dibatasi oleh firewall.

Berikut ini adalah contoh sebuah struktur dokumen XML.

Struktur dokumen XML (Klik gambar untuk memperbesar)
Penjelasan :
  • Baris pertama adalah deklarasi standar header yang mendefinisikan versi XML dan karakter encoding yang digunakan dalam dokumen XML. Dalam dokumen ini, XML mengacu pada versi 1.0 dan menggunakan standar encoding karakter set ISO-8859-1 (Latin-1/West European)
  • Baris selanjutnya menggambarkan elemen induk (root) dokumen "<email>...</email>", sebagaimana kita menyebut bahwa "Dokumen ini adalah sebuah Email".
  • Kemudian pada baris ke 3-6 menggambarkan elemen anak (clild) dari elemen induk dokumen.
Tag pada dokumen XML bersifat case sensitif dimana tag pembuka dan tag penutup harus ekivalen. Seperti contoh tag pembuka "<email>" harus ditutup dengan tag "</email>".

Apa itu XML ? Baca Disini!

InilahData, - XML terletak pada inti Web Service yang digunakan untuk mendeskripsikan data. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.

XML adalah singkatan dari eXtensibel Markup Language. Bahasa markup adalah sekumpulan aturan-aturan yang mendefinisikan suatu sintaks yang digunakan untuk menjelaskan dan mendeskripsikan teks atau data dalam sebuah dokumen melalui penggunakan tag. Bahasa markup populer lainnya adalah HTML yang menggambarkan kepada browser web tentang bagaimana menampilkan format teks, data, dan grafik ke layar komputer ketika sedang mengunjungi sebuah situs web.

XML dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada Februari 1998. Teknologi yang digunakan pada XML sebenarnya bukan teknologi baru, tapi merupakan turunan dari SGML yang telah dikembangkan pada awal 80-an dan telah banyak digunakan pada dokumentasi teknis proyek-proyek berskala besar. Ketika HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting pada SGML dan dengan berpedoman pada pengembangan HTML menghasilkan markup language yang tidak kalah hebatnya dengan SGML.

Berikut ini adalh contoh sebuah dokumen XML untuk informasi contact person:

<?xml version="1.0" encoding="ISO-8859-1"?>
<contact>
<name>Ahmad Asyhadi</name>
<company>PT Kenali Media</company>
<address>Jl. Lingkar Selatan No.12</address>
<city>Jambi</city>
<state>Indonesia</state>
<zip>36129</zip>
<phone>074177733</phone>
<email>redaksi@kenali.co</email>
</contact>


Perhatikan bagaimana mudahnya untuk mengerti tentang makna informasi dan struktur yang ada pada dokumen XML tersebut, sehingga juga akan mudah bagi komputer untuk mengerti dokumen XML ini.

Seperti halnya HTML, XML juga menggunakan elemen yang ditandai dengan tag pembuka (diawal dengan '<' dan diakhiri dengan '>'), tag penutup (diawali dengan '</' diakhiri dengan '>') dengan atribut elemen (parameter yang dinyatakan dalam tag pembuka misal <form name="isidata">). Hanya bedanya, HTML mendefenisikan dari awal tag dan atribut yang dipakai di dalamnya, sedangkan pada XML kita bisa menggunakan tag dan atribut sesuai kehendak kita. Berikut adalah tampilan dokumen XML contact person apabila dijalankan pada sebuah browser. Lihat gambar di bawah ini.

Tampilan dokumen XML pada browser

Rabu, 21 September 2016

PHP dan MySQL Sebagai Web Service, Ini Penjelasan Sederhananya

InilahData, - Selama ini mungkin Anda pernah atau bahkan sering mendengar mengenai Web Service. Sebenarnya apakah Web Service itu ? Samakah Web Service dengan Website ?

Web Service ternyata sangat berbeda dengan website. Perbedaan yang paling terlihat adalah Website dibuat untuk memiliki tampilan atau user interface yang bagus sedangkan Web Service tidak memiliki tampilan. Mengapa Web Service tidak memiliki tampilan (user interface) ?

Hal ini dikarenakan Web Service tidak dibuat untuk berinteraksi langsung dengan user. Sesuai dengan kata service yang ada namanya, Web Service hanya menyediakan service atau layanan. Layanan tersebutlah yang kemudian akan digunakan atau dipanggil oleh aplikasi lainnya. Dengan demikian, yang akan menjadi interface adalah aplikasi yang memanggilnya bukan Web Service itu sendiri.

Beberapa contoh implementasi Web Service adalah sistem login seperti yang ada di Kaskus, atau Detik.com.

Jika Anda mengunjungi Kaskus, maka Anda akan menjumpai sistem login yang dapat menggunakan akun Facebook, Yahoo maupun Twitter.

Dengan kata lain, Anda dapat bergabung dalam komunitas forum Kaskus atau istilah kerennya Kaskuser hanya dengan memiliki akun FB, Yahoo atau Twitter tanpa harus registrasi di dalam Kaskus nya sendiri.

Contoh lain implementasi Web Service adalah di bagian komentar Detik.com. Setiap kali kita akan mengisi komentar di Detik.com, kita bisa menggunakan akun FB kita.

Nah... yang menjadi pertanyaan adalah, kok bisa ya kita masuk ke dalam sistem Kaskus maupun Detik.com menggunakan akun lain seperti FB, Yahoo maupun Twitter? Ya... ini karena FB, Yahoo dan Twitter menyediakan service yang memungkinkan sistem lain menggunakan akun mereka untuk login. Dan... kebetulan Kaskus dan Detik.com ini memanfaatkan service tersebut. Dalam kasus ini, FB, Yahoo, dan Twitter dikatakan bertindak sebagai server sedangkan Kaskus dan Detik.com bertindak sebagai client. Lihat gambar di bawah ini.

Login di Detik.com menggunakan teknologi web service


Contoh lain, buat Anda yang memang sudah memiliki perangkat ponsel Android, mungkin sudah pernah menginstall aplikasi semacam detik.com, kompas.com atau vivanews.com, dimana Anda bisa melihat berita dari situs detik.com di ponsel Android Anda.

Pertanyaannya ? Apakah portal-portal tersebut dalam membuat aplikasi portal versi Android juga membuat database/data beritanya? Apakah mereka melakukan pengimputan data berita dua kali ? yaitu versi web dan versi android ?

Jawabannya sudah pasti tidak, karena mereka pasti telah menggunakan layanan web service untuk pertukaran data pada dua versi aplikasi yang mereka buat.

Detik Portal dilihat melalui ponsel Android

Jadi apakah Web Service itu ? secara singkat Web Service adalah aplikasi yang dibuat agar dapat dipanggil atau diakses oleh aplikasi lain melalui internet dengan menggunakan format pertukaran data sebagia format pengiriman pesan. Adapun yang biasa dipakai adalah format pertukaran data dengan XML dan JSON.

Lalu, bagaimana caranya memanggil atau memanfaatkan sebuah Web Service ? sebuah web service dapat dipanggil oleh aplikasi lain dengan menggunakan bantuan HTTP (Hypertext Transfer Protocol). Web service juga memungkinkan untuk dipanggil dengan menggunakan protocol lain seperti SMTP (Simple Mail Transfer Protocol), namun yang paling umum digunakan HTTP.

Karena web service menggunakan protokol HTTP, tentu PHP sebagai bahasa pemograman web menjadi salah satu kekuatan dalam bahasa pemograman yang mengelola web service. Meski banyak teknik dan metode untuk menghasilkan web service dengan PHP.

[****]