MySQL dan PHP

21
Kuliah Umum IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com Pengenalan Pemrograman Pengenalan Pemrograman  E-Commerce  E-Commerce  dengan PHP dan dengan PHP dan MySQL MySQL Dian Andriana [email protected] Abstrak Aplikasi perangkat lunak komputer dan Internet telah berkembang pesat pada dasaarsa ini! demiki an pul a dengan aplika si eb dan broser inte rnet maupun intran et. Apli kas i  E- Commerce telah lama berkembang diaali dengan "#I $  Electronic Data Interchange% yang tela h ber kemban g dal am lingku p int erna sional. #al am ma kal ah ini diuraik an men genai arsitektur sistem! tool dan konfigurasi yang diperlukan untuk mengimplementasi aplikasi eb e-commerce! konsideras i mas alah kea man an siste m! per an&angan dar i sisi dia gram alur apli kasi dan per an&a nga n basi s dat a! serta kod e pro gra m '(' yan g dip erlu kan unt uk implementasi aplikasi ini. #igunakan bahasa pemrograman '(' karena kemudahan dalam  pemrograman! dan kelengkapan fitur untuk mengimplementasi sistem e-commerce! kemampua n untuk cross platform, serta kemuda han untuk dep loyment  bagi pengembang aplikasi. 1. Pendahuluan #e fi ni si  E-Commerce $  Electronic Commerce% )  E-commerce mer upa kan suatu &ara  berbelan*a atau berdagang se&ara online atau dire&t selling yang memanfaatkan fasilitas Internet dimana terdapat ebsite yang dapat menyediakan layanan +  get and deliver +.  E- commerce akan merubah semua kegiatan marketing dan *uga sekaligus memangkas biaya,  biaya operasional untuk kegiatan t rading $perdagangan% . 'roses yang ada dalam E-commerce adalah sebagai berikut ) -  Lisensi Dokumen: Copyright © 2003 IlmuKomputerCom !eluruh do"umen di IlmuKomputer.Com dapat diguna"an , dimod ifi"as i dan dise# ar"an  secara #e#as untu" tu$uan #u"an "omersial %nonprofit&, dengan syarat tida" menghapus atau meru#ah atri#ut penulis dan pernyataan copyright yang diserta"an dalam setiap do"umen 'ida" diper#oleh"a n mela"u "an penuli san ulang, "ecuali menda pat"an i$in terle#ih dahulu dari IlmuKomputer.Com

Transcript of MySQL dan PHP

Page 1: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 1/21

Page 2: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 2/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

'resentasi ele&tronis $'embuatan eb site% untuk produk dan layanan.

'emesanan se&ara langsung dan tersedianya tagihan.

/tomasi a&&ount 'elanggan se&ara aman $baik nomor rekening maupun nomor KartuKredit%.

'embayaran yang dilakukan se&ara angsung $online% dan penanganan transaksi

Keuntungan yang diperoleh dengan menggunakan transaksi melalui E-commerce bagi suatu perusahaan adalah sebagai berikut )

1eningkatkan pendapatan dengan menggunakan online &hannel yang biayanya lebihmurah.

1engurangi biaya,biaya yang berhubungan dengan kertas! seperti biaya pos surat! pen&etakan! report! dan sebagainya.

1engurangi keterlambatan dengan mengunakan transfer elektronik pembayaranyang tepat aktu dan dapat langsung di&ek.

1emper&epat pelayanan ke pelanggan! dan pelayanan lebih responsif.

2

Page 3: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 3/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

ambar -. Contoh Aplikasi ",Commer&e ) 'embelian C# dengan Kartu Kredit

2. Arsitektur dan Konfigurasi Sistem

Arsitektur dasar dari aplikasi eb ini adalah arsitektur clientIserver . Artinya pemrosesanaplikasi ini di*alankan melibatkan kedua sisi yakni sisi mesin ser4er pusat dan sisi client . (alini berbeda dengan misalnya aplikasi 1i&rosoft ord yang hanya melibatkan satu sisi sa*ayaitu sisi client . Atau bagi pengguna mesin 5A6 yang hanya menggunakan sisi ser4er sa*asedangkan sisi client hanya dum# terminal sa*a yang tidak melakukan pemrosesan apapun disisi client

Server

Client

Request

Response

3

Page 4: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 4/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

ambar 2. Arsitektur Client(!erver

2.1 Stateless eb Ser!er

Untuk aplikasi E-Commerce ini e# ser4er harus dapat mengingat siapa identitas penggunayang sedang melakukan bro sing setiap halaman. 'ada dasarnya aplikasi eb dan protokol(77' adalah stateless . Artinya setiap merespon sebuah re)uest (77'! ser4er akan selesai

beker*a $complete % dan tidak melakukan pen&atatan apa yang telah dilakukan oleh penggunasebelumnya dan terhadap siapa identitas pengguna. 8er4er memperlakukan informasi

permintaan $ re)uest % se&ara serial! satu persatu pada saat re)uest masuk. 7idak ada koneksi permanen $ persistence % yang ber*alan setelah sebuah halaman telah selesai dilayani diker*akan.

StateStateState

S t a t e

Server

Client

Request

Response

Requ est Request

Response Response

Server

Client

Request

Response

Request Request

Response Response

A

B

ambar 3. 'erbandingan 8tate dalam 8istem Aplikasi) A. !tate yang kontinyu dalam aplikasides"top ! dan 9. !tateless protokol dalam aplikasi eb

Agar sebuah situs eb mempunyai memori state ! dalam hal ini aplikasi ini mampumengingat :siapa memesan apa;! beberapa informasi yang mengidentifikasi pengguna harusdikirim dengan setiap re)uest halaman eb. Informasi tersebut disimpan denganmenggunakan session

<

Page 5: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 5/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

8ession tersebut dipergunakan untuk merekam trac"ing akti4itas pengguna yang melalui

se*umlah halaman pada ebsite! misalnya pada *enis aplikasi !hopping Cart $kereta belan*a%.#irekam pula informasi identitas pengguna yang memiliki kereta belan*a tersebut.

#engan '('! untuk penggunaan session ini mula,mula dilakukan pengaturan pada file php.ini yang menun*ukkan session dimulai $ start %. #engan ini '(' akan membuat suatuidentifier unik dan file yang berkaitan! yang disimpan di ser4er $lokasinya di atur di php.inidan nilai default nya di direktori tmp%. Kemudian pada saat pengguna berkun*ung padahalaman,halaman situs eb! semua informasi 4ariabel yang dipilih oleh pengguna akandisimpan dalam file pada ser4er! dan semua s&ript yang dibutuhkan untuk mela&ak sebagaiidentifier unik.

Implementasi session dapat mempergunakan coo"ie yang disimpan pada sisi client, ataudipropagasikan melalui alamat U= .

Untuk penggunaan coo"ie, yaitu dengan passing 4ariabel melalui coo"ie yang menyimpaninformasi semua elemen barang belan*a dan harganya. >amun hal ini memiliki keterbatasanyaitu dari $ http) .nets&ape.&om ne sref std &ookie?spe&.html% mengenai spesifikasi&ookie yang hanya mengi*inkan 20 coo"ie per domain dan berukuran hanya < bytes per coo"ie . Cara lain adalah dengan memberi identitas identifier unik pada masing,masing

pengguna! suatu nilai unik yang mengidentifikasi siapa pengguna tersebut. 8ehingga padasaat pengguna menambahkan satu item pada kereta belan*a! informasi yang berkaitan denganidentifier unik tadi disimpan di komputer ser4er. ika menggunakan &ookie untuk fungsi

penyimpan informasi tadi! diperlukan membuat string unik yang akan diletakkan dalamcoo"ie ! dalam direktori di ser4er akan terdapat sebuah file yang memiliki nama yang samasebagai I# pengguna yang unik. #alam file tersebut dapat disimpan semua 4ariabel yang

berkaitan dengan pengguna. Contohnya terdapat array berisi item,item barang yangditambahkan oleh seorang pengguna ke dalam kereta belan*anya.

7erdapat keterbatasan penggunaan coo"ie, yakni bila bro ser pengguna di atur untuk menolak $ re$ect % coo"ie .

1etode lain yang dapat digunakan adalah dengan propagasi U= ! yaitu dengan mengaktifkan flag enable,trans,sid dalam konfigurasi '('! hal ini berguna agar session id akan se&araotomatis ditambahkan ke setiap relative lin" pada halaman,halaman eb setiap kali sessiontelah dimulai.

2.2 Konfigurasi Sistem dan "ool #ang Digunakan

1asalah lain dalam aplikasi ini adalah mengenai aspek keamanan dalam memperoleh

informasi dari pengguna! terutama data mengenai penggunaan kartu kredit. Informasi ini perlu di4erifikasi oleh institusi yang berkualifikasi dan memerlukan pengaturan konfigurasiserta penggunaan beberapa ma&am tool.

#alam membangun aplikasi ini dipergunakan algoritma untuk memelihara $ maintain % state ! pengambilan informasi se&ara secure terhadap kartu kredit! menggunakan kode pemrogramankhusus dan penggunaan opsi instalasi khusus.

#i ba ah ini akan dibahas mengenai teori dasar enkripsi dan sekuriti eb. Kemudian akandibahas tool mandatory untuk instalasi eb ser4er Apa&he.

B

Page 6: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 6/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

2.2.1 $nkri%si Publi&'Key ( Pri!ate'Key

1esin di eb menggunakan skema keamanan 'ubli&,key 'ri4ate,key. Artinyakomputer yang akan berkomunikasi menggunakan data terenkripsi harus memiliki dua

buah kun&i untuk mengenkripsi data dan mendekripsinya. 'ertama! publi&,key tersedia bagi siapa sa*a yang ingin melakukan komunikasi terhadapnya. 8ehingga siapapunyang ingin melakukan komunikasi terhadap sebuah mesin se&ara secure akan memilikisalinan dari 'ubli& key mesin tersebut. >amun publi& key ini tidak &ukup untuk dapatmendekripsi data! masih dibutuhkan 'ri4ate key yang bersifat rahasia. 1isalnya pada

pemrosesan kartu kredit dengan sebuah bank! nasabah memiliki 'ubli& key bank tersebut dimana ia dapat melakukan dekripsi informasi! namun masih diperlukan'ri4ate key yang disimpan oleh bank tersebut! untuk dapat melakukan dekripsi data.

ambar <. 'engiriman #ata 7erenkripsi antara 'engguna dengan 8er4er ",Commer&e

2.2.2 Sertifikat

1eski masalah keamanan sudah ditangani dengan keberadaan 'ubli& key 'ri4ate key!masih ada masalah yang perlu diperhatikan yakni pesan data yang diperoleh adalah

benar dari pihak yang memiliki otorisasi! bukan dari pihak lain yang tidak berkepentingan atau yang menyalahgunakan. Untuk itu dibutuhkan pihak ketiga untuk mem4erifikasi pesan yang datang.

'esan terenkripsi yang dikirim dan diterima akan memiliki sema&am : signature ;! dan4erifikasi selan*utnya dilakukan terhadap :signature; tersebut. Untuk itu! organisasiyang akan mempergunakan komunikasi melalui eb memerlukan ker*asama denganorganisasi lain yang mengeluarkan sertifikat yang mem4erifikasi pengirim pesan./rganisasi ini pulalah yang memberikan 'ublik key dan 'ri4ate key. 8alah satu &ontohorganisasi yang menerbitkan sertifikat sekuriti adalah 5eri8ign.

2.2.) Se&ure Proto&ol

'rotokol (77' se&ara alamiah bersifat terbuka terhadap penyusupan. 'aket,paket datayang melintas melalui router Internet dapat disadap dan diba&a. >amun informasikartu kredit diinginkan agar tidak mudah terba&a. Untuk itu dibutuhkan penggunaan!ecure !oc"et *ayer atau 88 . 88 adalah protokol tambahan dimana "ey dansertifikat dari suatu situs e-commerce akan ditransfer ke bro ser atau ke ser4er lain.1elalui 88 ! bro ser akan dapat mem4erifikasi sertifikat dari situs tersebut sehinggadapat mengetahui identitas pengirim sebenarnya. 7ata &ara enkripsi ini masihmengandung kelemahan yakni pada aspek sumber daya manusia apabila kurang *u*ur!yakni apabila ter*adi akses tidak sah dilakukan oleh orang yang sudah berada dalamsistem.

Page 7: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 7/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

2.2.* $nkri%si dan "ool Sekuriti

Untuk eb ser4er Apa&he! ditambahkan modul 88 pada saat instalasinya.

Untuk dapat melakukan autorisasi kartu kredit! diperlukan sertifikat. Contoh yang paling sering digunakan adalah 5eri8ign! yang memiliki layanan 'ayflo'ro.

8etelah Apa&he dikonfigurasi dengan 88 ! maka ebsite aplikasi dapat berkomunikasidengan bro ser se&ara secure . Cirinya) U= dimulai dengan https) ! bro ser akanmen&ari 'ort <<3 dan men&ari serifikat. #alam '('! banyak fitur yang dapatdigunakan untuk dapat berhubungan dengan situs lain. 1isalnya fungsi fopen$%.

>amun fungsi,fungsi berhubungan dengan filesystem atau U= tidak mendukung beker*a dengan 88 ! sehingga diperlukan kumpulan fungsi khusus atau program diluar '('. /psi,opsi dalam '('< dapat mendukung layanan proses pembayaran.

Toko Online

Internet

User Publik 1

User Publik 2

Modem

E-Commer e Server

Modem

Server Pemroses

!"en Pemroses #artu #redit

User$Operator

Server Pemroses

Or"anisasi Penerbit Serti %ikatti

Internet

Internet

ambar B. Komunikasi Antar 8itus dalam Aplikasi ",Commer&e

2.2.+ Penggunaan Firewall

+ire all digunakan untuk melindungi *aringan lokal dari serangan luar. Ada beberapa pilihan untuk menempatkan eb ser4er )

eb ser4er ditempatkan di luar dari +ire all $lihat gambar %! adapun keuntungandengan menempatkan ser4er diluar dari fire all adalah bah a eb ser4er

D

Page 8: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 8/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

mungkin sa*a men*adi sub*e&t penyerangan dari pihak luarE maka mereka + sniffer +

tidak akan dapat meningkatkan serangan berikutnya untuk merusak ser4er,ser4er lainnya. #engan kata lain eb ser4er tidak akan dapat keuntungan dari segalama&am bentuk pelindungan yang di usahakan fire all .

ambar . eb 8er4er di uar +ire all

eb ser4er di dalam fire all $lihat gambar D%. ika diterapkan seperti ini! perludikonfigurasi fire all men*adi akan mele atkan transaksi pada 7C' port F0! ataudengan membolehkan se&ara langsung mele atkan paket maupun denganmenggunakan mekanisme proGy. Keuntungan dari menempatkan eb ser4er di dalam

fire all yaitu fire all akan memblok akses dari luar yang menggunakan layananInternet lainnya! seperti 7elnet! H7'. 7etapi apabila penyusup +sniffer+ tersebutmenggunakan kesalahan dari program C I s&ript! mereka akan mempunyai akses tak terbatas ke *aringan lokal.

ambar D. eb 8er4er yang #iletakkan #i dalam +ire all

'ilihan ketiga! yang paling baik! yaitu menggunakan dua fire all ) satu untuk melindungi *aringan internal lokal dan yang satunya lagi untuk melindungi ebser4er $lihat gambar F%.

F

Page 9: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 9/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

ambar F. ebser4er yang #iletakkan di Antara Internal +ire all dan E ternal +ire all

2.2., Pay-loPro dan yber&ash

Untuk penggunaan 5eri8ign untuk pemrosesan kartu kredit! diperlukan instalasi pustaka kode $ code li#rary % yang diperoleh dari 5eri8ign. 8elan*utnya dikompilasiulang dengan '(' sehingga akan dapat mengenali fungsi,fungsi tersebut $fungsi,fungsi pfpro% . Hungsi,fungsi tersebut akan memproses permintaan $ re)uest % dan akanmengembalikan *a aban $ response&. 8etelah itu response tersebut akan dibandingkandengan kode yang telah diketahui! setelah itu akan diketahui apakah transaksi tersebutsukses atau tidak.

8elain 'ayHlo'ro! dapat *uga digunakan Cyber&ash! yang diinstal sebagai pustaka li#rary pada '(' $fungsi,fungsi &yber&ash%.

2.2./ 0 L

1erupakan akronim dari fungsi,fungsi pustaka Client U= . Kode pustaka inidipergunakan untuk berkomunikasi melalui Internet menggunakan sembarang protokoldi sisi la an. Kode ini mendukung opher! 7elnet! dan (77'8. Untuk dapatmenggunakan fungsi ini! konfigurasi instalasi '(' harus menyertakan flag ith,&url.

2.) Pemrosesan Kartu Kredit

'emrosesan kartu kredit dilakukan oleh perusahaan yang khusus untuk itu! terdapat beberapanama perusahaan yang &ukup dikenal! namun semuanya memiliki kesamaan &ara ker*a. 1ula,

mula dikirim permintaan re)uest dengan informasi kartu kredit) nomor! tanggal kadaluarsa!alamat! dan sebagainya! dan kemudian perusahaan tersebut akan mengirimkan kodekembalian sebagai respon. Kode '(' di sini adalah berfungsi untuk membandingkan kodeyang diterima dengan nilai yang didapat sebelumnya dari agen pemrosesan. Untuk aplikasiini dipergunakan Authori enet.&om sebagai pemroses kartu kredit.

). an&angan A%likasi E-Commerce

ambaran aplikasi e-commerce akan diuraikan sebagai berikut. 1ula,mula aplikasi akanmenampilkan daftar barang yang tersedia. alu pengguna dapat memilih beberapa item yangingin dibeli. 'ada saat pengguna memilih suatu item barang! identitas barang tersebut di&atat!

J

Page 10: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 10/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

dan selan*utnya user dapat melan*utkan berbelan*a memilih item yang lain. 8er4er

mengingat item apa sa*a yang telah dipesan. 'ada saat pengguna melan*utkan bro sing!ser4er memelihara trac" pengguna tersebut dan pengguna tersebut dapat melakukan chec" out terhadap item,item yang telah dipesan.

Untuk dapat melaksanakan hal ini! digunakan metode untuk memelihara state seperti yangtelah dibahas di bagian sebelum ini.

).1 an&angan Layar

8etiap halaman pada aplikasi ini memiliki tombol yang memungkinkan pengguna untuk langsung melakukan chec"out . 'ada halaman yang menampilkan daftar barang terdapatkumpulan form yang memungkin pengguna untuk memberi indikasi item mana yang akandibeli. 8etiap item dapat ditentukan se&ara lebih spesifik sesuai *enis barang yang ada!misalnya untuk aplikasi toko furniture online terlebih dahulu ditentukan *enis furniture me*a!terdiri atas me*a bulat! me*a kotak! me*a tulis! dan sebagainya. Horm untuk pemesananmenggunakan kotak teks untuk *umlah pesanan! dan tombol :/rder;! yang pada &ontoh me*atadi di&antumkan untuk masing,masing *enis me*a.

8elan*utnya ditampilkan satu halaman yang berisi daftar semua item yang sedang beradadalam kereta belan*a $ shopping cart %. (alaman ini memungkinkan pengguna untuk menambah atau mengurangi *umlah item yang dipesan! dan menghapus suatu item pesanan.

'ada akhir proses pemesanan! ditampilkan halaman yang mengumpulkan informasi pengguna! preferensi! dan halaman untuk memulai pemrosesan kartu kredit. (alaman ini *ugamenun*ukkan pesan bila ada kesalahan informasi atau terdapat penolakan autorisasi kartukredit oleh agen pemroses.

8elan*utnya! setelah transaksi selesai diproses! terdapat tanda terima transaksi yangmengkonfirmasi pesanan dan menyampaikan nomor id pesanan kepada pengguna.

ang penting diperhatikan untuk pengembangan aplikasi e,&ommr&e adalah informasi nomor kartu kredit dan informasi personal lainnya harus aman dan tidak mudah dilihat oleh orangyang tidak berhak.

-0

Page 11: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 11/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

Mulai

Pili& #ata"ori

Pili& Item

Simpan Identitas Item

'i&at (a%tar Pesanan

Cetak (a%tar Pesanan

Edit (a%tar )umla& Pesanan

C&e k Out

Masukkan *omor #artu #redit

Selesai

+alidasi #artu#redit ole& Pi&ak

#eti"a

Cetak ,ukti *omor Pemesanan

ambar J. #iagram Alir 'enggunaan Aplikasi E-Commerce

--

Page 12: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 12/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

ambar -0. =an&angan ayar (alaman #epan Contoh eb E-Commerce

ambar --. =an&angan ayar (alaman Contoh #aftar 9arang

-2

Page 13: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 13/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

ambar -2. =an&angan ayar (alaman Contoh #aftar 'esanan

ambar -3. =an&angan ayar (alaman Contoh 'emrosesan Kartu Kredit

-3

Page 14: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 14/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

).2 an&angan asis Data

Pesanan

Id-user Id-alamatId-statusTotal-&ar"aId-pen"iriman,ia.a-kirimT&n-e/p-kartu,ln-e/p-kartu#ode-0enis-kartuT"l-buat

Id-Pesanan

User

emailnama

Id-user

!lamat

Id-user !lamat !lamat2#otaProp#odePos*e"araTelepon1a/

Id-alamat )enis-#artu

)enis-#artu

#ode-0enis-kartu

Pen"iriman

Pen"irimanPer-Order Per-Item

Id-pen"iriman

Status

Status

Id-status

Item

#ode-Re"ister #ode-'okasi)umla&

ar"a

Id-Pesanan#ode-#ata"ori*omor-,aran"

ambar -<. =an&angan 9asis #ata Aplikasi eb E-Commerce

7abel utama yang digunakan dalam aplikasi ini adalah tabel 'esanan! yang men&atat order pemesanan. 7abel,tabel lain berelasi dengan tabel ini. 7abel 'esanan menyimpan informasiid?user! id?alamat! dan semua informasi yang dibutuhkan untuk pembayaran. 7abel 'esananini memiliki relasi one-to-many dengan tabel Item yang berisi informasi item,item barangyang terdapat dalam sebuah order. Informasi mengenai pengguna dan alamat penggunadipisahkan! seorang pengguna dapat didentifikasi dari alamat e-mail yang dimilikinya! danalamat terdiri atas alamat kantor dan rumah. 7abel 'engiriman berisi informasi opsi yangdiberikan untuk pengiriman barang. 1isalnya terdapat pilihan menggunakan U'8! #( !7IKI! 'os! dan sebagainya. 7abel 8tatus berisi &atatan mengenai status pesanan! yaitu dapat

berupa status dikembalikan $ #ac"ordered %! dikirim $ shipped %! atau dibatalkan $cancelled %.7erdapat pula tabel enis?Kartu untuk menyimpan informasi *enis kartu kredit seperti 5isa!1aster&ard! dan sebagainya.

7abel -. 7abel Alamat-ield 3enis Kosong $kstra Keterangan

Id?Alamat Int$--% 7idak Auto?in&rement '=I1A=K"Id?User 5ar&har$<0% 7idak K"Alamat 5ar&har$<0% aAlamat2 5ar&har$<0% aKota 5ar&har$<0% a'rop 5ar&har$<0% aKode'os 5ar&har$-0% a

>egara 5ar&har$20% a7elepon 5ar&har$20% aHaG 5ar&har$20% a

-<

Page 15: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 15/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

7abel 2. 7abel enis?Kartu

-ield 3enis Kosong $kstra KeteranganKode? enis?K artu

Char$3% 7idak

enis?Kartu 5ar&har$30% 7idak

7abel 3. 7abel 'esanan-ield 3eni

sKosong Defaul

t$kstra Keterangan

Id?pesanan dou ble

7idak Auto? in&rement

'=I1A=K"

Id?user Int

$--%

7idak K"

Id?alamat Int$--%

7idak

Id?status 7inyint$<%

7idak

7otal?harga #ou ble

7idak :0.00;

Id?pengiriman 7inyint$<%

7idak

9iaya?kirim #ou ble

7idak :0.00;

7ahun?eGp?kartu Int$--%

7idak

9ulan?eGp?kartu 7inyint$<%

7idak

Kode?*enis?kartu Char$3%

7idak

7gl?buat 7imestamp$-<%

a

7abel <. 7abel 'engiriman-ield 3enis Kosong Defaul

t$kstra Keterangan

Id?'engiriman

7inyint$<% 7idak Auto? in&rement

'=I1A=K"

'engiriman 5ar&har $20%

7idak

'er?/rder #ouble 7idak :0.00;'er?Item #ouble 7idak :0.00;

-B

Page 16: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 16/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

7abel B. 7abel 8tatus

-ield 3enis Kosong $kstra KeteranganId?8tatus 7inyint$<% 7idak Auto? in&rement

'=I1A=K"

8tatus 5ar&har $20%

7idak

7abel . 7abel User -ield 3enis Kosong $kstra KeteranganId?User int$--% 7idak Auto?

in&rement'=I1A= K"

email 5ar&har $2BB%

7idak U>ILU"

nama 5ar&har$F0% 7idak

7abel D. 7abel Item-ield 3enis Kosong KeteranganId?pesanan double 7idak '=I1A=

K"Kode?Katagori 7inyint$<% 7idak '=I1A=

K" >omor?9arang #ouble 7idak '=I1A=

K"Kode?=egister 5ar&har$20% aKode? okasi 5ar&har$20% a

umlah Int$--% 7idak (arga #ouble 7idak

).) Keamanan 4omor Kartu Kredit dalam asis Data

>omor kartu kredit tidak disimpan di dalam basis data! karena dapat mengurangi keamanan.'erangkat komputer dapat dinilai sebagai suatu alat yang tidak aman! karena dapat diaksesoleh orang lain. 9ila digunakan I8' $Internet 8er4i&e 'ro4ider% untuk hosting eb site ini!tentunya akan sangat diragukan keamanannya! karena I8' menggunakan shared server yangdigunakan se&ara bersama! meskipun telah menggunakan konfigurasi secure server yangdita arkan oleh I8' tersebut. >omor kartu kredit yang tersimpan dalam basis data akan dapatdiakses oleh orang lain yang mempunyai akses terhadap mesin ser4er. uga tidak ada

kebutuhan untuk menyimpan nomor kartu kredit dalam bentuk apapun. ang diperlukan olehaplikasi ini adalah mem4alidasi nomor tersebut sa*a! dan segera menghapusnya dari memorisetelah selesai. ika nomor kartu kredit ini tidak pernah dituliskan ke hardisk! akan men*adisangat aman karena akan terhindar dari kemungkinan pen&urian oleh yang tidak berhak.

-

Page 17: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 17/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

Server E-Commer eToko Online

User $ Pembeli

!"en Pemroses #artu #redit

*omor #artu #reditTan""al #adaluarsa*ama

!lamatdsb3

*omor #artu #reditTan""al #adaluarsa*ama

!lamatdsb3

#ode#embalian

Membandin"kan kodekembalian den"an kode

.an" sebelumn.a diperole&dari !"en Pemroses

#on%irmasi,ukti Pemesanan

apus data kartu kreditsetela& proses selesai

dilakukan

ambar -B. Komunikasi Antar 8itus dan 'enghapusan Informasi Kartu 8etelah 'roses8elesai

*. Kode Program

'emrograman untuk aplikasi e-commerce ini diimplementasikan dengan '('. Hungsi,fungsiutama yang dipergunakan dalam kode program di sini adalah fungsi yang berhubungandengan session dan fungsi yang berkaitan dengan pustaka &U= .

Konsep pemrograman berorientasi ob*ek digunakan dalam kode program ini. #igunakan sifatinheritance, yakni *ika sebuah kelas class me arisi properti dan metode $ properties and methods % dari kelas induk parent class ! ia memiliki akses terhadap semua metode dan

properti dari induknya. #an sebuah aplikasi dapat dibangun dengan memperluas e tending sebuah kelas berdasarkan kelas lain yang telah ada.

*.1 -ungsi Session

Hungsi session?register$% digunakan untuk menyatakan memulai session! sekaligusdidefinisikan 4ariabel apa sa*a yang akan disimpan dalam session. Hungsi session?register$%diletakkan pada baris pertama program! karena fungsi ini mengirim coo"ies yang merupakansalah satu tipe dari (77' header. ika suatu tipe header dikirim setelah teks dikirim ke

bro ser akan mengakibatkan error.

MNsession?register$O4ar-P%EQ4ar- R Onilai-PENS

-D

Page 18: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 18/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

'ada aktu diakses pertama kali! halaman tersebut akan memulai session. Akan dikirim

coo"ie atau session id yang akan ditambahkan ke dalam relative lin" . 'erintah session.register akan memerintahkan '(' untuk melakukan pen&arian 4ariabel Q4ar- padafile session. ika ada! 4ariabel tersebut akan tersedia availa#le se&ara global! atau dapat puladiakses melalui array Q(77'?8"88I/>?5A=8. 8etelah halaman tersebut diproses! nilaiterakhir dari 4ariabel yang terdaftar akan dituliskan ke file session.

Hungsi,fungsi yang digunakan untuk session ini )

8ession?destroy$% ) fungsi untuk menonaktifkan session dan semua 4ariabel yang berkaitan dengannya.

8ession?unregister$% ) fungsi untuk menghapus nilai dari suatu 4ariabel dalam filesession.

8ession?set?sa4e?handler$% ) fungsi yang memungkinkan untuk mengatur sendirimetode penyimpanan $ storing %! pengambilan $retrieving %! dan penulisan $ riting % session handler .

1etode session handler yang dipilih adalah yang mana*emen session berdasarkan file-#ased . >amun metode ini tidak sesuai digunakan untuk lingkungan ter&luster $ clustered environment % dimana beberapa mesin beker*a se&ara bersama untuk melayani satu situs!untuk lingkungan seperti ini tidak dapat menggunakan local filesystem .

8ession?en&ode$%) fungsi untuk menuliskan 4ariabel ke dalam basis data! 4ariabel tersebutharus terlebih dahulu diubah formatnya ke dalam format yang dimengerti oleh basis data.Hungsi session?en&ode berguna untuk mengubah format ini.

Qstr R session?en&ode$string%8ession?de&ode$% ) fungsi untuk membalik proses encoding di atas! sehingga 4ariabeldikembalikan kedalam representasi '('.

*.2 -ungsi'fungsi &0 L

Untuk aplikasi ini diperlukan komunikasi dengan layanan 4alidasi kartu kredit! dilakukandengan fungsi &U= . Cara ker*anya adalah mula,mula fungsi ini akan mengirim pesan yang

secure melalui (77'8! dan layanan yang mem4alidasi kartu kredit tersebut akanmengembalikan response! yang kemudian diproses lebih lan*ut dengan '('.

Hungsi &U= yang digunakan )

Curl?init$% ) fungsi ini mengembalikan nilai integer yang serupa dengan nilai identifier kembalian yang dikembalikan oleh mysTl?&onne&t$% atau pointer file yangdikembalikan oleh fopen$%. 'ada kasus seperti ini disebut dengan &U= handle! atau&h. 'ada argument tunggal pada fungsi ini diberikan U= yang akan diakses.

Int &url?init $ string urlV%

Q&&?&ompany?url Rhttps) se&ure.pro&ess.site transa&t.dllNeGpRfooW&ardtypeRbar

Q&h R &url?init$Q&&?&ompany?url%E

-F

Page 19: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 19/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

Hungsi ini akan memulai session &U= . 'anggilan pada U= ini tidak akan berfungsi

hingga fungsi &url?eGe& dieksekusi.Curl?setopt$% ) sebelum komunikasi U= dieksekusi! perlu diset salah satu opsi &U=yaitu opsi CU= /'7?="7U=>7=A>8H"=. /psi ini untuk mengembalikan hasildari re)uest https ke dalam 4ariabel '('.

Curl?setopt$Q&h! CU= /'7?="7U=>7=A>8H"=! -%E

Curl?eGe&$% ) fungsi ini untuk mengeksekusi transfer. 8ebuah argumen digunakan yaitu berasal dari hasil kembalian fungsi &url?init$% dan digunakan pula pengesetan opsi,opsi lain.

9ool &url?eGe& $int &h%

Curl?&lose$%) fungsi ini menutup koneksi &U= menggunakan &url handle )

5oid &url?&lose $int &h%

Kumpulan fungsi,fungsi ini yang men*alankan transaksi dan mengembalikan hasil kedalam 4ariabel Qdata.

Q&h R &url?init$Qauthori e?net?url%E&url?setopt$Q&h! CU= ?="7U=>7=A>8H"=! -%EQdata R &url?eGe&$Q&h%E&url?&lose$Q&h%E

+. Hasil dan Pembahasan

'rototipe ini dibangun menggunakan perangkat lunak open source serta memilikikarakteristik cross-platform . #ari hasil diskusi dengan pengguna! diperoleh masukanmengenai kebutuhan pengguna akan perangkat lunak e-commerce ! namun spesifik pada suatu

produk tertentu! serta kebutuhan untuk memperkaya fungsi,fungsi multimedia sehinggase&ara 4isual lebih menarik.

#iperlukan ker*a sama dengan supplier distributor produk komersil untuk dapatmena arkan produk,produknya melalui e-commerce . uga *asa kurir diperlukan untuk dapatmelakukan layanan antar kepada konsumen dengan &epat.

9agi lembaga penelitian atau lembaga pendidikan! perlu *uga memperhatikan masalah (KIdalam layanan e-commerce untuk produk,produk karya intelektual! misalnya untuk layanane, commerce dalam situs eb digital li#rary . #iperlukan ker*asama dengan pemilik hak intelektual tersebut untuk mena arkan produk,produk karya intelektual tersebut se&arakomersil.

#alam sebuah seminar mengenai e-commerce di 9andung dikemukakan bah a faktor terpenting dalam aplikasi e-commerce adalah delivery . Adanya sistem distribusi multi level mar"eting *uga diinformasikan dapat memotong *alur deli4ery supaya lebih &epat sampai ketangan konsumen

-J

Page 20: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 20/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

,. Kesim%ulan'engembangan aplikasi e-commerce bagi sebuah perusahaan lembaga merupakan prosesyang &ukup kompleks. 1elibatkan beberapa organisasi situs dalam penanganan sekuriti danotorisasi.

'erangkat lunak aplikasi e-commerce dalam dunia bisnis dapat mendukung pemotonganrantai distribusi sehingga konsumen dapat memperoleh suatu produk dengan harga yang lebihmurah. enis antarmuka eb dipilih dengan pertimbangan fleksibilitas implementasi

perangkat lunak ini yang dapat dilakukan di *aringan intranet maupun internet! kemudahanuntuk deployment ! serta kemampuan cross platform .

#alam makalah ini telah diuraikan mengenai arsitektur sistem! tool dan konfigurasi yangdiperlukan untuk mengimplementasi aplikasi eb e-commerce ! konsiderasi masalahkeamanan sistem! peran&angan dari sisi diagram alur aplikasi dan peran&angan basis data!serta kode program '(' yang diperlukan untuk implementasi aplikasi ini.

Daftar Pustaka

-. http) .mysTl.&om23 http) .php.net3. reenspan! ay! and 9ulger!9rad! O1y8L '(' #atabase Appli&ationP! 1W7 9ooks!

Hoster City CA U8A! 200-.

<. Hery 8os anto! O",Commer&e dengan memanfaatkan 8istem /perasi inuGP.

20

Page 21: MySQL dan PHP

8/16/2019 MySQL dan PHP

http://slidepdf.com/reader/full/mysql-dan-php 21/21

Kuliah Umum IlmuKomputer.ComCopyright © 2003 IlmuKomputer.Com

iografi Penulis

Dian Andriana . ahir di 8urabaya! -0 anuari -JD3. 8etelah dua tahundi 81U> B 8urabaya! menamatkan 81U di 81U ' II - 9andungtahun -JJ-. 1enyelesaikan program 8- di urusan 7eknik InformatikaInstitut 7eknologi 9andung pada tahun -JJD. 8aat ini beker*a sebagai

peneliti pada instansi embaga Ilmu 'engetahuan Indonesia $ I'I%!tepatnya di 'usat 'enelitian Informatika. Kompetensi pada bidang8oft are "ngineering! #atabase dan eb "ngineering. 9erpengalamanmengembangkan 8istem Informasi aplikasi database under indo sdan inuG.

2-