Website Development Fundamental Table of Contents
TABLE OF CONTENTS
3
CHAPTER 1
8
INTRODUCTION TO HTML Website introduction HTML Introduction
8 8 10
HTML Editor
10
Make A Simple HTML Page
11
Preview Your HTML Page
13
Tags for text
14
Tags for Multimedia
15
CHAPTER 2
18
HTML AND EXERCISE
18
Making table
18
Pengaturan List
20
Making form
21
Header, Content,dan Footer
24
Header
25
Content
25
Footer
26
Sidebar
26
Latihan
26
CHAPTER 3
28
CSS AND LAYOUT CSS Selector, Property dan Value
28
Class dan ID
32
Tag div dan span
35
CHAPTER 4 PHP
28 28
38 38
Website Development Fundamental
Table of Contents PHP
38
Tipe Data
40
Variabel
42
Operator
42
Array
45
iving Value to Variable And Array
45
Pemrosesan Form
47
CHAPTER 5
50
PERCABANGAN DAN LOOPING
50
Kondisional
50
Kondisi IF
50
Kondisi If … Else
51
Kondisi If…elseif…else
51
Kondisi If bertingkat
52
Pernyataan PHP Switch
53
Operator Ternary “?:”
54
Perulangan/looping
55
Perulangan While
55
Perulangan do … while
56
Perulangan for
56
Perulangan foreach
57
Mengontrol Aliran Perulangan
57
Break
57
Continue
58
Exit atau Die
59
CHAPTER 6
60
FUNGSI DAN REVIEW PHP
60
Fungsi
60
Argumen Fungsi (Variabel Lokal dan Global)
61
Return
63
Fungsi Rekursif
64
CHAPTER 7
66
DATABASE DAN MYSQL
66
Pemahaman Basis Data
66
Relasional Database Management System
67
MySQL
67
Tipe-tipe Data MySQL
68 Website Development Fundamental
Table of Contents
CHAPTER 8 DDL, DML, MYSQL EXERCISE Data Definition Language
72 72 72
DDL yang berhubungan dengan basis data
72
DDL yang berhubungan dengan tabel
73
Integrity Constraint
74
Data Manipulation Language
75
Fungsi Agregat
76
Klausa Where
77
Klausa Lain
77
MySQL Exercise
77
Membuat Database di PHPMyAdmin
79
Export dan Import Database di PHPMyAdmin
80
CHAPTER 9 PHP-MYSQL CONNECTION PHP-MySQL Connection Connecting MySQL Database With Site Generate MySQL Query from PHP Insert Data With PHP
CHAPTER 10 PHP-MYSQL CONNECTION (2) Edit Data
82 82 82 83 84 85
88 88 88
Halaman Tabel Data
88
Form editproduk.php
89
File proses_edit_produk.php
90
Delete Data
91
Halaman Tabel Data
91
File proses_delete_produk.php
91
CHAPTER 11 PHP-MYSQL CONNECTION AND SESSION Session
94 94 94
Memulai Session
94
Membuat Variable Session
94
Membaca Varible Session
96
Mendelete Variable Session
97
Mengakhiri Session
98
Website Development Fundamental
Table of Contents Login
98
File login.php dan logout.php File proseslogin.php
98 99
Penambahan pada seluruh file
CHAPTER 12
100
102
PRODUCT ETALASE WEBSITE: LAYOUT Layout
102 102
Style.css
104
Header.php
104
Toko.php
105
Footer.php
106
File Lain
106
CHAPTER 13
108
PRODUCT ETALASE WEBSITE: FRAMEWORK[1] Framework
108 108
File Dasar
109
CHAPTER 14
112
PRODUCT ETALASE WEBSITE: FRAMEWORK[2] Display Table
112 112
User
112
Produk
112
Latihan
114
Website Development Fundamental
Table of Contents
Website Development Fundamental
Website Development Fundamental Chapter 1 Introduction to HTML
Website introduction Sekarang internet sudah menjadi salah satu bagian penting di dunia. Informasi sudah semakin mudah tersebar, begitu banyak website baru yang bermunculan setiap waktunya. Sekarang kebutuhan akan adanya pengembang website sangat dibutuhkan.
Chapter 1: Introduction to HTML Tentunya salah satu tujuan dari website adalah agar dapat memberikan informasi, entah itu berkaitan dengan bisnis ataupun sekedar informasi. Untuk itu pasti pembuat ingin agar websitenya dikunjungi banyak orang. Web-web yang banyak dikunjungi misalnya Google.com, facebook.com, detik.com, dan sebagainya pada awalnya merupakan website sederhana namun memiliki fungsi dan konten yang menarik sehingga akhirnya dapat berkembang. Sebelum mulai membuat halaman website, kita perlu mengetahui bagaimana suatu website bekerja. Pada saat sebuah website diakses melalui jaringan internet, ada dua sisi yang bekerja, yaitu klien dan server. Klien adalah orang yang mengakses website melalui browser. Ketika klien mengetikkan alamat website (URL) pada browser, komputer klien tersebut akan mengirimkan permintaan (HTTP request) ke alamat server yang sesuai dengan alamat website. Lalu server akan memberi respon (HTTP response) dengan mengirimkan sejumlah data ke komputer klien. Data tersebut diterjemahkan oleh browser dalam bentuk teks, gambar, video, suara, dll. Dari penjelasan di atas, terdapat beberapa istilah yang perlu dibahas: 1.
Internet merupakan jaringan global yang menghubungkan suatu jaringan komputer dengan jaringan komputer lainya di seluruh dunia. TCP/IP menjadi protokol penghubung antara jaringan-jaringan yang beragam di seluruh dunia untuk dapat berkomunikasi.
2.
Protokol adalah aturan standar yang digunakan untuk berkomunikasi pada jaringan komputer. Hypertext Transfer Protocol (HTTP) adalah protokol untuk World Wide Web (WWW).
3.
URL (Universal Resource Locator) berfungsi untuk menunjukkan alamat dari sebuah resource di internet. URL dapat dianalogikan sebagai alamat rumah. Setiap URL yang unik akan mengantarkan kita ke rumah yang berbeda-beda. Resource yang ditunjuk URL dapat berupa file teks, html, css, javascript, flash, video, mp3, dll. URL memiliki struktur seperti ini:
Chapter 1: Introduction to HTML pemrograman server-side (PHP, ASP, Ruby, ColdFusion, NodeJS, dll) dan seputar database (misal: MySQL, Oracle, Mongo, dll). Hasil dari pemrosesan bahasa pemrogaman tersebut disusun oleh web designer dalam bentuk HTML, CSS dan Javascript yang dikirim ke komputer klien.
HTML Introduction Hypertext Markup Language (HTML) adalah bahasa yang digunakan untuk membuat suatu website. Bahasa ini akan diterjemahkan oleh browser sehingga tampil website yang kita kunjungi. Dua poin penting dalam HTML adalah adanya tag dan style. Tag merupakan penanda untuk membuat suatu tampilan atau suatu fungsi. Sementara style adalah adalah keterangan tambahan yang menentukan tampilan dari website itu. Adapula javascript yang akan membuat tampilan menjadi semakin menarik. Akan tetapi javascript tidak akan dipelajari pada pelatihan ini. Jika Anda tertarik mempelajari javascript dan desain web, Anda dapat mengikuti pelatihan Modern Web Design.
HTML Editor Untuk membuat file HTML, semua computer yang sudah memiliki operating system pasti sudah tersedia alatnya yaitu notepad. Namun penggunaan notepad akan kurang efektif karena tidak tersedianya berbagai fitur seperti library dan browser-test. Oleh karena itu kita menggunakan berbagai pilihan, yaitu notepad ++, Adobe Dreamweaver CS 4 dan Netbeans 6.8.
[1] Notepad ++ Merupakan text editor seperti notepad namun memiliki berbagai kelebihan seperti formatting yang lebih mudah dan juga library yang mengenali bahasa HTML dan juga PHP. Notepad ++ akan digunakan di awal ketika penulisan file HTML masih sederhana.
Chapter 1: Introduction to HTML
[2] Adobe Dreamweaver CS4 Merupakan text editor yang sangat baik karena dilengkapi dengan library yang sangat lengkap sehingga akan memudahkan developer. Selain itu editor ini juga memiliki browser-test sehingga akan memudahkan developer untuk langsung mengecek kompatibilitas halaman HTML yang dibuat pada browser seperti Internet Explorer, Mozila Firefox, Google Chrome, Safari, dan Opera.
[3] Netbeans Merupakan text editor yang cukup advance, namun memiliki library yang sangat lengkap sehingga cock digunakan ketika membangun website yang menggunakan pemrograman yang agak rumit.
Chapter 1: Introduction to HTML
judul halaman web isi halaman web Lalu menyimpannya dengan file extension .html, misal contoh1.html. Kita pelajari lebih lanjut contoh di atas. 1.
Tag Tag adalah komponen dalam html untuk menginformasikan pada browser untuk memberikan efek tertentu. Tag ditandai dengan <…>…. Terdiri dari tag pembuka (<…>) dan tag penutup (). Ada pula tag yang hanya satu, awalan dan akhiran menjadi satu.
2.
Tag Setiap file html harus memiliki tag ini agar dapat dikenal sebagai html oleh browser.
3.
Tag Berisi informasi tentang situs itu seperti title, meta data, dan informasi lainnya.
4.
Tag Adalah komentar yang tidak akan muncul pada pengunjung.
5.
Tag body Merupakan isi halaman web yang dilihat pengunjung.
File di atas merupakan file HTML sederhana, namun sekarang ada standard dalam penulisan file HTML seperti di bawah ini. Simpan dengan nama contoh2.html
Chapter 1: Introduction to HTML
judul halaman web <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" />
isi halaman web
Bagian awal, yaitu tiga baris pertama merupakan sebuah DTD atau Document Type Definitions yang mendefinisikan versi XHTML maupun HTML yang kita gunakan. DTD tersebut mutlak harus ada pada sebuah file atau dokumen XHTML namun versi yang kita gunakan bisa mana saja tergantung kebutuhan. Sedangkan meta adalah penjelasan tantang suatu elemen di file HTML. Contoh penggunaan meta dalam tag head sebagai berikut :
[judul halaman Anda] <meta name="keywords" content="[kata kunci halaman Anda]" /> <meta name="description" content="[deskipsi situs Anda]" /> <meta name="author" content="[Pembuat]" />
Preview Your HTML Page Kita buka browser, misalnya chrome atau firefox. Lalu kita buka file contoh1.html dan contoh2.html. Kita pun dapat membukanya langsung dengan membuka kedua file tersebut langsung dari windows explorer. Maka akan tampil keluaran seperti ini :
Chapter 1: Introduction to HTML
Baik untuk contoh1.html dan contoh2.html, karena secara tampilan contoh1 dan contoh2.html adalah sama.
Tags for text Seperti telah dijelaskan di atas bahwa tag HTML dapat memberikan efek tertentu pada tampilan. Sekarang kita akan coba langsung untuk membuat file HTML yang memiliki berbagai tag. Penjelasan bisa dilihat langsung hasilnya. Pertama buat file seperti index.html, lalu tambahkan satu per satu baris mulai (9) dan preview setiap Anda melakukan perubahan agar dapat mengetahui arti dari setiap tag. Perlu diketahui bahwa arti dari
adalah break line, atau ganti baris.
Tags For Text tulisan tebal tulian miring tulisan bergasir bawah <s>tulisan dicoret
gabungan Tes <sup>superscripts
Tes <sub>subscripts
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15)
Chapter 1: Introduction to HTML
ukuran ukuran ukuran ukuran maksimum biru biru merah merah hijau hijau heading 1 heading 2 heading 3 heading 4 heading 5 heading 6
(20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (37) (39)
Hal yang perlu diperhatikan ada pada baris (13). Pada baris ini digunakan tag bertumpuk. Tag yang harus pertama kali ditutup adalah adalah tag yang terakhir dibuat, bukan tag yang pertama kali dibuat. Pada baris (17) telah diperkenalkan adanya style. Style ada bermacam-macam, pada contoh adalah size dan color. Pada style color bisa dilihat bahwa penulisan color bisa dua macam yaitu menggunakan kata-kata dan juga menggunakan kode. Kata-kata hanya terdapat untuk warna-warna yang umum. Bila Anda menginginkan color yang lebih banyak, maka Anda dapat menggunakan kode warna berupa #xxyyzz. Pada kode ini, x, y, dan z dapat bernilai 0-9 atau A-F. xx adalah intensitas untuk warna merah, yy untuk warna hijau, dan zz untuk warna biru. Anda bisa mencoba sendiri kreasi warna anda. Apa beda heading dan font size? Heading digunakan untuk struktur dari teks, misal h1 untuk judul, h2 untuk subjudul, h3 untuk sub-subjudul dst. Sementara font size hanya untuk ukuran saja. Tags yang lain dapat dilihat lebih lanjut di http://www.w3schools.com/tags/
Chapter 1: Introduction to HTML gambar, kita harus menggunakan atribut src (singkatan dari source). Nilai atribut src tersebut adalah URL dari gambar yang ingin ditampilkan. Sintaks untuk mendefinisikan gambar adalah Misalnya kita ingin menampilkan gambar koala.jpg. Pertama, pastikan di mana gambar berada. Jika berada satu folder dengan file HTML, maka alamat gambar untuk atribut src adalah nama file koala.jpg itu sendiri. Jika berada dalam suatu folder images, maka alamatnya menjadi /images/koala.jpg. Alamat gambar harus sesuai dengan lokasi penyimpanan file gambar. Untuk mengubah ukuran gambar, kita dapat mengatur lebar dan tinggi sesuai dengan yang kita inginkan (satuan pixel). Menampilkan video di HTML tidaklah mudah. Kita harus menggunakan beberapa trik agar video tersebut dapat tampil di semua browser (Internet Explorer, Chrome, Firefox, Safari, Opera) dan di semua jenis device (PC, Mac , iPad, iPhone). Solusi terbaik untuk menampilkan video adalah dengan tag di HTML 5 + + <embed>. Elemen HTML 5 akan mencoba menjalankan video. Jika gagal, elemen akan dicoba. Jika masih gagal, barulah elemen <embed> digunakan. Berikut adalah contoh menampilkan contohvideo.mp4. Tes video <source src="contohvideo.mp4" type="video" />
Chapter 1: Introduction to HTML
Sekarang kita akan mencoba memasukkan video dari youtube menggunakan tag <iframe>. 1. 2. 3. 4. 5.
Pertama kita harus mencari video youtube yang ingin dimasukkan. Cari tombol “Embed” di bawah video. Apabila ada tulisan bahwa embed code tidak tersedia, silahkan mencari video lain. Tentukan berbagai parameter video yang ingin ditampilkan, seperti misalnya ukuran. Salin kode <iframe> yang muncul dan taruh di dalam tag body file HTML Anda. Preview file Anda.
Website Development Fundamental Chapter 2 HTML and Exercise
Making table Pada saat ingin membuat table pada html, kita memakai tag . Sebuah tabel terdiri atas baris-baris (tag ) dan masing-masing baris berisi sel-sel data (tag ). td merupakan singkatan dari "table data". Setiap tag dapat diisi dengan teks, tautan, gambar, tabel lain, form, dll. Namun, jika kita ingin memasukkan kepala tabel, kita gunakan tag , yaitu singkatan dari table header. Misalnya kita ingin membuat tabel seperti ini.
Tabel di atas mengandung 4 baris dan masing-masing baris berisi 3 data. Jadi, tabel tersebut mengandung 4 tag dan di dalam tag masing-masing berisi 3 tag , kecuali untuk kepala tabel berisi 3 tag . Banyaknya tag dalam suatu baris merepresentasikan banyaknya kolom dalam baris tersebut. Dengan demikian, kita dapat menampilkan tabel di atas dengan skrip berikut:
Chapter 2: HTML and Exercise
kepala kolom 1 kepala kolom 2 kepala kolom 3 baris 1 kolom 1 baris 1 kolom 2 baris 1 kolom 3 baris 2 kolom 1 baris 2 kolom 2 baris 2 kolom 3 baris 3 kolom 1
Chapter 2: HTML and Exercise
baris 3 kolom 3
Untuk membuat kolom atau baris gabungan, kita dapat menggunakan atribut colspan pada tag dan atribut rowspan pada tag . Ukuran spasi (jarak antar) sel diatur oleh atribut cellspacing sedangkan ukuran padding (jarak dalam) sel diatur oleh atribut cellpadding. Kita juga dapat menaruh gambar di dalam sebuah sel tabel dengan memasukkan tag di dalam tag seperti berikut ini.
Pengaturan List Di dalam HTML, terdapat dua jenis list, yaitu ordered list (memiliki urutan) dan unordered list (tanpa urutan). Berikut adalah contohnya: Ordered list: 1. Teks pertama 2. Teks kedua 3. Teks ketiga
Unordered list:
Cara penggunaan tag dan tag Contoh membuat list
Teks Teks Teks
Chapter 2: HTML and Exercise
Kota Kuburan Kota Mayat Kota Maut Nama-nama kota pulau Serem : Kota Setan Kota Ember Kota Kuburan Kota Mayat Kota Maut Untuk tag
Setelah dicoba akan muncul tampilan seperti ini:
Chapter 2: HTML and Exercise
o
Buat skrip PHP dengan nama proses.php Buku Tamu Buku Tamu '; echo 'Nama Anda: '.$nama.' '; echo 'Alamat Anda: '.$alamat.' '; ?>
Chapter 4: PHP Dari file bukutamu.html, kita memilih metoda post untuk mengambil data dan file php yang digunakan untuk memroses data adalah proses.php. Dari file HTML ini pun, kita meminta user untuk memasukkan dua data yaitu nama dan alamat (perhatikan nilai atribut name pada tag input). Data nama dan alamat akan dibuat sebagai variabel $nama dan $alamat dalam PHP. Jika user mengklik kirim, maka data dikirim dan halaman proses.php akan dijalankan oleh browser. Di file proses.php, perintah extract($_POST); digunakan untuk mengakuisisi (mengambil) data yang dikirim oleh form tadi (dalam contoh ini datanya adalah nama dan alamat) dan mengubahnya secara otomatis menjadi variabel $nama dan $alamat (variabel dalam PHP didahului oleh tanda $). Perhatikan juga, penulisan POST dalam extract($_POST) harus menggunakan huruf kapital semua. Akhirnya, perintah echo menampilkan data yang didapat tadi ke browser. Kita juga dapat menggunakan metoda get pada contoh di atas. Perhatikanlah perbedaannya dan jangan lupa, ubahlah perintah extract($_POST) menjadi extract($_GET).
Comm
Website Development Fundamental Chapter 5 Percabangan Dan Looping
Kondisional Seringkali saat kita membuat program, kita perlu melakukan operasi yang bergantung pada suatu kondisi. Pernyataan kondisional dapat digunakan untuk melakukan operasi-operasi yang berbeda ketika diberikan kondisi-kondisi yang berbeda juga.
Kondisi IF Kondisi ini dapat diartikan sebagai berikut : Jika kondisinya terpenuhi atau bernilai true maka lakukan operasi program if (kondisi){ operasi program; } Berikut contohnya, $b){ echo $a.' lebih besar daripada '.$b;
Chapter 5: Percabangan Dan Looping Variabel $a diberi nilai 10 dan $b diberi nilai 5. Karena kondisi if pertama ($a > $b) tepenuhi, maka operasi program dijalankan (mencetak ke layar).
Kondisi If … Else Kondisi ini dapat diartikan sebagai berikut : Jika kondisinya terpenuhi atau bernilai true maka lakukan operasi1, jika tidak terpenuhi atau bernilai false maka lakukan operasi2 if (kondisi){ operasi1; } else { operasi2; } Berikut contohnya, $b){ echo $a.' lebih besar daripada '.$b; } else{ echo $a.' tidak lebih besar daripada '.$b; } ?> Variabel $a diberi nilai 10 dan $b diberi nilai 5. Karena kondisi if pertama ($a > $b) tepenuhi, maka program akan mencetak “10 lebih besar daripada 5” ke layar. Akan tetapi, jika kita berikan nilai variabel $a yang kurang dari atau sama dengan $b, maka program akan mencetak string $a.' tidak lebih besar daripada '.$b.
Kondisi If…elseif…else Kondisi yang disediakan memiliki berbagai kemungkinan sehingga pernyataan yang
Chapter 5: Percabangan Dan Looping
operasi1; } elseif (kondisi2){ operasi2; } elseif(kondisi3){ operasi3; } else { operasi4; } Perlu diperhatikan bahwa else yang terakhir merupakan alternatif yang dilakukan apabila kondisi if dan elseif yang sebelumnya tidak terpenuhi. Pengecekan dari kondisi bersifat berurutan, jadi kondisi pertama yang akan dicek lebih dulu dan seterusnya. Berikut contohnya, 80){ $grade = 'A'; echo 'Bagus sekali !!! nilai akhir kamu '.$grade; } elseif ($nilai>=60){ $grade = 'B'; echo 'Lumayan !!! nilai akhir kamu '.$grade; } elseif ($nilai>=30){ $grade = 'C'; echo 'Tingkatkan !!! nilai akhir kamu '.$grade; } else { $grade = 'D'; echo 'Belajar lebih keras !!! nilai akhir kamu '.$grade; } ?>
Kondisi If bertingkat
Chapter 5: Percabangan Dan Looping
=18){ echo 'Selamat datang'; } else{ echo 'Anda wanita di bawah 18 tahun.'; } } ?> Variabel $gender diberi nilai “wanita” dan $usia diberi nilai 17. Karena kondisi if pertama ($gender == “pria”) tidak tepenuhi, maka program akan lanjut ke kondisi else pertama. Kemudian, program akan memeriksa kondisi if yang berada di dalam kondisi else pertama. Begitu selanjutnya sehingga program akan mencetak 'Anda wanita di bawah 18 tahun.'.
Pernyataan PHP Switch Pernyataan switch mirip dengan kondisi if namun lebih singkat dalam penulisannya dan biasa digunakan apabila kondisinya memiliki banyak kemungkinan dan tidak bertingkat. switch (ekspresi) { case 'nilai_ekspresi_1' : pernyataan_1; break; case 'nilai_ekspresi_2' : pernyataan_2; break; case 'nilai_ekspresi_3' : pernyataan_3; break; …. case 'nilai_ekspresi_n'; pernyataan_n; break; } Berikut contohnya,
Chapter 5: Percabangan Dan Looping
case 1 : echo 'Sekarang bulan Januari'; break; case 2 : echo 'Sekarang bulan Februari'; break; case 3 : echo 'Sekarang bulan Maret'; break; case 4 : echo 'Sekarang bulan April'; break; case 5 : echo 'Sekarang bulan Mei'; break; case 6 : echo 'Sekarang bulan Juni'; break; case 7 : echo 'Sekarang bulan Juli'; break; case 8 : echo 'Sekarang bulan Agustus'; break; case 9 : echo 'Sekarang bulan September'; break; case 10 : echo 'Sekarang bulan Oktober'; break; case 11 : echo 'Sekarang bulan November'; break; case 12 : echo 'Sekarang bulan Desember'; break; default : echo 'Bulan tidak valid'; break; } ?> Pertama, kita memiliki variabel $bulan yang akan dievaluasi. Lalu nilai dari variabel $bulan dibandingkan dengan nilai pada setiap kasus (case) di dalam pernyataan switch. Jika program menemukan nilai yang sama, maka program akan melakukan operasi yang ditunjuk kasus tersebut, yaitu mencetak 'Sekarang bulan April'. Perintah break digunakan untuk mencegah program menjalankan kasus selanjutnya secara otomatis sehingga program akan langsung keluar dari pernyataan switch. Kondisi default dijalankan jika tidak ada kasus yang sesuai dengan variabel yang diberikan.
Operator Ternary “?:” Operator ternary adalah operator yang memiliki fungsi dan cara kerja yang sama dengan struktur percabangan if. Bentuk dari operator ternary adalah sebagai berikut : kondisi ? pernyataan1_jika _benar : pernyataan2_jika _salah ; Contoh, 70) ? 'Lulus' : 'Tidak Lulus'; echo 'Status kita adalah '.$status;
Chapter 5: Percabangan Dan Looping Variabel $nilai diberi nilai 80. Karena kondisi ($nilai > 70) tepenuhi, maka variabel $status diberi nilai ‘Lulus’. Lalu program akan mencetak 'Status kita adalah Lulus' ke layar.
Perulangan/looping Perulangan dipakai apabila kita ingin melakukan perintah/pernyataan yang berulangulang dan memiliki pola tertentu. Dengan perulangan kita dapat menyingkat penulisan sekaligus membuat konten website menjadi lebih dinamis. Dalam setiap perulangan diperlukan adanya kondisi agar perulangan berjalan dan kondisi untuk mengakhiri perulangan tersebut.
Perulangan While Perulangan while memiliki syntax sebagai berikut. while (kondisi) { Blok pernyataan } While bisa diartikan : Selama kondisi ini terpenuhi, maka lakukan perintah berikut. Contoh, masukkan ke dalam tag '; $i++; } ?> Kondisi awalnya adalah $i=1 dan kondisi untuk membatasi perulangan berada di dalam pernyataan ($i <= 10). Perlu diingat bahwa $i++ adalah operator increment yang menambahkan 1 pada variabel $i.
Chapter 5: Percabangan Dan Looping
Perulangan do … while Mirip dengan while, namun perulangan ini akan melakukan perintah dulu, sebelum mengecek kondisi perulangan. do { Blok pernyataan } while (kondisi); Berikut contohnya, '; $i++; } while ($i <= 10); ?>
Perulangan for Perulangan for memiliki sintaks sebagai berikut for(nilaiAwal;kondisi;increment) { Blok pernyataan } Berbeda dengan while, operator increment $i++ berada di dalam tanda kurung setelah for. Berikut contohnya. '; } ?>
Chapter 5: Percabangan Dan Looping
Perulangan foreach Foreach digunakan untuk melakukan perulangan pada sebuah nilai array. Sintaksnya sebagai berikut: foreach(variabelarray as $value){ operasi program; } Contohnya sebagai berikut, '; } ?> Setiap elemen dari $a otomatis akan dibaca sebagai $v mulai dari elemen yang pertama hingga elemen terakhir. Hasilnya adalah seluruh isi dari $a dicetak.
Mengontrol Aliran Perulangan Aliran perulangan dalam struktru seperti apapun dapat kita kendalikan. Dikendalikan dalam hal ini artinya adalah kita bebas menentukan apakah sebuah perulangan akan tetap diteruskan jika kondisi yang diinginkan tercapai atau keluar dari perulangan tersebut. Untuk dapat keluar dari perulangan jika memang diinginkan seperti itu, ada dua buah perintah yang dapat di gunakan :
Break Perintah break adalah perintah untuk keluar dari loop kemudian program akan meneruskan sintaks program setelah loop tersebut.
Chapter 5: Percabangan Dan Looping Pada perulangan berikut, setelah nilai variabel $i mencapai nilai 7, maka program diinginkan untuk keluar dari perulangan. Maka sintkasnya dengan menggunakan perintah break akan menjadi seperti dibawah ini : '; if ($i==7) break; } ?> Cara kerja sintaks di atas hampir sama dengan cara kerja sebelumnya. Namun kali ini ada sebuah kondisi, jika nilai variabel $i sama dengan 7, maka diharapakan program tidak melanjutkan perulangan for lagi meskipun kondisi pada parameter kedua masih dipenuhi. Maka hasil akhir dari sintaks di atas adalah browser akan menampilkan angka 1 sampai 7 saja.
Continue Perintah continue merupakan perintah untuk melewati semua sintaks yang ada hingga akhir perulangan. Jika kondisi benar maka perulangan akan dilakukan lagi sebaliknya jika salah perulangan akan terhenti. Contoh : Pada perulangan berikut, program diinginkan untuk tidak menampilkan variabel $i jika nilainya sama dengan 5. Maka sintaksnya dengan menggunakan perintah continue akan menjadi seperti dibawah ini : '; } ?> Cara kerja sintaks di atas adalah sama seperti pada perulangan for umumnya. Namun kali ini diharapkan program melewatkan sintaksnya jika nilai variabel $i sama dengan
Chapter 5: Percabangan Dan Looping kembali dijalankan dnegan nilai variabel $i telah bertambah (karena blok pernyataan sebelumnya dianggap telah dijalankan). Maka hasil akhir dari sintaks di atas adalah browser akan menampilkan angka 1 sampai 10 namun angka 5 tidak akan ditampilkan.
Exit atau Die Perintah exit atau die adalah perintah untuk keluar dari suatu bagian program dan menampilkan pesan. Perintah exit ekivalen dengan die. Namun secara harfiah, die biasa digunakan untuk mengindikasikan terjadinya error. Jika kita tidak ingin menampilkan pesan, kita dapat mengosongkan parameter pada perintah exit atau die. Contoh : Pada perulangan berikut, setelah nilai variabel $i mencapai nilai 7, maka program diinginkan untuk keluar. '; if($i==7) exit("Keluar dari program"); } ?>
'; if($i==7) die("Keluar dari program"); } ?>
Website Development Fundamental Chapter 6 Fungsi Dan Review PHP
Fungsi adalah suatu struktur dalam pemrograman – dengan menggunakan metode PHP – yang dapat digunakan untuk mengelompokkan program sehingga pada program tersebut akan dipecah menjadi bentuk – bentuk program kecil yang dikelompokkan dengan menggunakan program utama. Untuk melakukan pengelompokkan program tersebut, yang diperlukan hanyalah memanggil nama fungsi yang bersesuaian.
Fungsi Sebelum membuat fungsi, kita harus mengetahui terlebih dahulu proses apa saja yang akan dilaksanakan oleh fungsi tersebut. Kemudian barulah dibuat sintaksnya dan dikelompokkan dalam sebuah nama tertentu, yang nantinya untuk mempergunakan fungsi itu kembali cukup dengan memanggil nama fungsi tersebut. Penamaan fungsi selalu ditandai dengan adanya kurung buka dan kurung tutup pada akhir nama fungsi. Berikut ini struktur penulisan fungsi : function nama_fungsi() { Blok pernyataan; Return; } Pada format diatas terdapat function yang menyatakan bahwa kita sedang membuat
Chapter 6: Fungsi Dan Review PHP Sebuah contoh kecil, jika kita ingin membuat sebuah kata kata pembuka yang sama pada semua halaman web kita, maka akan sangat membuang waktu dan tenaga jika kita menuliskannya satu demi satu dan menuliskan skrip yang sama. Untuk itu sebaiknya gunakan function. Yang kita harapkan adalah kata kata seperti berikut : Selamat Datang di Website Kami Kontak Kami Di Sini Maka dengan menggunakan fungsi sintaksnya akan menjadi seperti berikut ini : function katapembuka() { echo 'Selamat Datang di Website Kami '; echo 'Kontak Kami Di Sini '; return; } Dengan sintaks diatas, maka kata pembuka seperti pada contoh akan dapat ditampilkan berulang kali tanpa harus menuliskan kembali sintaksnya, namun cukup dengan menuliskan katapembuka(); Pemberian nama fungsi tidak sama dengan pemberian nama variabel. Nama pada fungsi tidak bersifat case sensitive. Untuk diperhatikan bahwa nama fungsi katapembuka(), KataPembuka(), KATAPEMBUKA(), atau kataPEMBUKA() adalah sama. Maka sebaiknya jangan pernah memakai nama yang sama untuk pembuatan fungsi yang berbeda.
Argumen Fungsi (Variabel Lokal dan Global) Argumen fungsi adalah variabel yang digunakan di dalam fungsi sebagai input bagi fungsi tersebut. Contoh: Akan dibuat sebuah fungsi yang dapat mengalikan dua buah bilangan yang menjadi
Chapter 6: Fungsi Dan Review PHP
echo 'argumen pertama adalah '.$a.' '; echo 'argumen kedua adalah '.$b.' '; echo 'Jika dikalikan menjadi '.$hasilkali; } Jika kita memanggil fungsi teresbut dengan sintaks seperti ini kali(5,4); echo ' '; kali(2,3); echo $hasilkali; //$hasilkali tidak dapat diakses Pada contoh di atas terlihat adanya variabel $hasilkali yang digunakan untuk menyimpan hasil perkalian argumen fungsi. Variabel ini merupakan variabel lokal; kita tidak dapat mengakses variabel tersebut di luar fungsi kali(). Namun, jika kita mendefinisikan suatu variabel global maka ia bisa diakses di manapun, baik di dalam atau di luar fungsi sekalipun. Contoh: Akan dibuat sebuah fungsi yang dapat menjumlahkan dua buah bilangan yang menjadi inputnya. Fungsi ini juga mengandung dua buah variabel global, yaitu $penulis dan $jumlah. Variabel $penulis diambil dari luar fungsi, sedangkan variabel $jumlah dapat diakses di luar fungsi. $penulis = 'Rizky'; function tambah($a,$b){ global $penulis,$jumlah; echo 'Fungsi ini dibuat oleh: '.$penulis.' '; $jumlah = $a+$b; echo 'argumen pertama adalah '.$a.' '; echo 'argumen kedua adalah '.$b.' '; echo 'Jika dijumlahkan menjadi '.$jumlah.' '; } Jika kita memangil fungsi tersebut dengan sintaks seperti ini
Chapter 6: Fungsi Dan Review PHP Contoh argumen yang lain, yaitu yang bertipe array. Contoh : Akan dibuat sebuah fungsi yang dapat mencari jumlah dari semua angka pada sebuah array yang bertipe bukan string. Sintaksnya adalah sebagai berikut : function penambahanArray($arrayInput){ for($i=0;$i<sizeof($arrayInput);$i++){ $hasil += $arrayInput[$i]; } echo 'Jumlahnya adalah '.$hasil; } Jika kita memangil fungsi tersebut dengan sintaks seperti ini $input = array(1,2,3,4,5); penambahanArray($input); Hasilnya adalah browser akan menampilkan 15 yang merupakan hasil penjumlahan angka-angka yang merupakan isi dari array input.
Return Perintah return digunakan jika kita menghendaki nilai suatu fungsi dikembalikan ke program utama untuk disimpan ke dalam suatu variabel atau diproses lagi. Misal kita ubah fungsi tambah pada contoh di atas menjadi : function tambah($a,$b){ return ($a+$b); } Lalu kita memanggil fungsi tambah dengan input yang berbeda dan hasilnya disimpan pada dua buah variabel yaitu $x dan $y. Kemudian dua buah vaiabel ini akan kita jumlahkan lagi. Maka sintaksnya untuk persoalan diatas adalah : $x = tambah(10,5);
Chapter 6: Fungsi Dan Review PHP Dengan adanya perintah return, maka hasil dari fungsi tambah dapat kita simpan ke dalam variabel yang lain, lalu kembali ke program utama sampai fungsi tersebut dipanggil kembali. Hasil sintaks di atas adalah browser akan menampilkan kalimat “jumlah total keseluruhan adalah 30”.
Fungsi Rekursif Dalam menyelesaikan masalah terkadang kita membutuhkan pemanggilan fungsi di dalam fungsi. Jika nama fungsi yang dipanggil berbeda dengan fungsi yang memanggil, itu masih wajar. Namun mungkinkah untuk memanggil fungsi di dalam fungsi itu sendiri? Sangat mungkin! Itulah yang disebut fungsi rekursif. Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri dalam prosedurnya. Fungsi rekursif dapat dikondisikan untuk memanggil dirinya sendiri terus menerus sampai suatu kondisi terpenuhi. Seperti halnya kita meletakkan kaca di depan kaca yang lain, tentu akan didapati suatu imaji yang berulang seolah-olah tak hingga. Contoh : Kita ambil sebuah contoh kasus dalam matematika yaitu prinsip faktorial. Faktorial adalah perkalian yang didefinisikan seperti berikut: 1!(baca: satu faktorial) = 1 2!(baca: dua faktorial) = 2 x 1 3!(baca: tiga faktorial) = 3 x 2 x 1 4!(baca: empat faktorial) = 4 x 3 x 2 x 1 ... n!(baca: n faktorial) = n x (n-1) x .. x 3 x 2 x 1 Akan dibuat sebuah fungsi untuk menghitung nilai faktorial tersebut. Banyak cara yang bisa dilakukan, bisa dengan loop ataupun dengan rekursif. Kita coba selesaikan kasus ini dengan fungsi rekursif, yaitu fungsi yang memanggil dirinya sendiri. function faktorial($input){ if($input==1) return 1; return ($input*faktorial($input-1)); }
Chapter 6: Fungsi Dan Review PHP Setelah itu barulah masuk ke pernyataan rekursif karena kita sudah memiliki kepastian bahwa jika input bernilai satu maka loop akan terhenti. Untuk memnggil fungsi tersebut, kita perlu menambahkan sintaks yang mencetak keluaran fungsi. $x=10; echo 'Nilai dari faktorial '.$x.' adalah '.faktorial($x);
Website Development Fundamental Chapter 7 Database dan MySQL
Pemahaman Basis Data Basis data adalah kumpulan data yang tersimpan dalam tabel-tabel. Dan tabel-tabel disusun berdasarkan baris dan kolom. Basis data telah menjadi bagian dalam hampir setiap kehidupan manusia. Tanpa basis data, pekerjaan kita tidak terstruktur dengan baik. Basis data banyak digunakan untuk pengolahan data pada perpustakaan, sekolah, kantor pemerintahan, bank, dan masih banyak lagi. Di dunia internet, search engines, online shopping (toko online) dan setiap website yang menyediakan banyak data tidak akan berkerja tanpa menggunakan basis data. Tujuan utama pengelolaan data dalam basis data adalah agar kita dapat memperoleh atau menemukan kembali data dengan mudah dan cepat. Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan seperti berikut : o o o o o o
Kecepatan dan kemudahan Efisiensi ruang penyimpanan Keakuratan Ketersediaan Kelengkapan Keamanan
Chapter 7: Database dan MySQL
Relasional Database Management System Relasional Database Management System (RDBMS) merupakan sekumpulan data yang disimpan sedemikian rupa sehingga mudah diambil informasinya bagi pengguna dan saling berhubungan. RDBMS merupakan suatu paket perangkat lunak yang kompleks digunakan untuk memanipulasi basis data. Ada tiga prinsip dalam RDBMS : 1.
Data Definition Mendefinisikan jenis data yang akan dibuat (dapat berupa angka atau huruf), cara relasi data, validasi data dan lainnya.
2.
Data Manipulation Data yang telah dibuat dan didefinisikan tersebut akan dilakukan beberapa pengerjaan, seperti menyaring data, melakukan proses query, dsb
3.
Data Control Bagian ini berkenaan dengan cara mengendalikan data, seperti siapa saja yang bisa melihat isi data, bagaimana data bisa digunakan oleh banyak user, dsb
Semua operasi input dan output yang berhubungan dengan basis data harus menggunakan RDBMS. Bila pemakai akan mengakses basis data, RDBMS menyediakan penghubung (interface) antara pemakai dengan database. Hubungan pemakai dengan basis data dapat dilakukan dengan dua cara : o o
Secara interaktif menggunakan bahasa pertanyaan (query language). Dengan menggunakan program aplikasi.
MySQL MySQL merupakan basis data yang bersifat open source sehingga banyak digunakan di dunia. Walaupun gratis, MySQL tetap berkualitas dan sudah cukup memberikan performa yang memadai.
Chapter 7: Database dan MySQL 1.
Menggunakan console/command line atau PHP, kita harus hafal perintahperintah dalam MySQL. Interface yang digunakan hanya text-based.
2.
Menggunakan PHPMyAdmin, dapat diakses dengan alamat http://alamatwebsite/phpmyadmin. Apabila digunakan localhost maka alamatnya http://localhost/phpmyadmin. Penggunaan PHPMyadmin lebih mudah digunakan karena menggunakan interface yang lebih mudah dipahami.
Tipe-tipe Data MySQL MySQLmengenal beberapa tipe data antara lain :
[1] Tipe Data Numerik MySQL dapat menerima masukan berupa angka-angka yang dibagi atas integer (angka tanpa pecahan) dan floating-point (angka dengan pecahan). Pada tipe ini kita dapat menambahkan atribut berikut: o o o
PRIMARY KEY atau indeks yang unik AUTO_INCREMENT, yaitu dapat otomatis mengurutkan angka UNSIGNED, berarti angka tidak boleh negatif
Chapter 7: Database dan MySQL Tipe Data Numerik 1.
TINYINT Integer dengan range yang sangat kecil yaitu –128 sampai 127 atau 0 sampai 255 jika UNSIGNED, besarnya 1 byte.
2.
SMALLINT Integer dengan range yang kecil yaitu –32768 sampai 32767 atau 0 sampai 65535 jika UNSIGNED. Besarnya 2 byte.
3.
MEDIUMINT Integer dengan range yang sangat kecil yaitu – 8388608 sampai 8388607 atau 0 sampai 16777216 jika UNSIGNED. Besarnya 3 byte.
4.
INT Integer dengan range yang normal yaitu – 2147483648 sampai 2147483647 atau 0 sampai 4294967295 jika UNSIGNED. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 4 byte.
5.
BIGINT Integer dengan range yang sangat besar yaitu –263 sampai 263-1 atau 0 sampai 264-1 jika UNSIGNED. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 8 byte.
6.
FLOAT Floating-point dengan range kecil yaitu antara +1.175494351E-38 sampai +3.402823466E+38 serta dengan single presisi. Harga default NULL jika bisa atau 0 jika NOT NULL. Tempat penyimpanan 4 byte.
7.
DOUBLE Floating-point dengan range besar yaitu antara +2.22507385072014E308 sampai +1.7976931348623157E308 serta dengan double presisi. Harga default NULL jika bisa atau 0 jika NOT NULL. Tempat penyimpanan 8 byte.
8.
DECIMAL(M,D) atau NUMERIC(M,D) Floating-point yang tersimpan sebagai string (1 byte untuk setiap digit, tanda desimal, atau tanda ’-‘). Range harga sama seperti DOUBLE. Tempat penyimpanan sebesar M byte. Jika D diisi 0 berarti tidak punya nilai desimal.
Chapter 7: Database dan MySQL
[2] Tipe Data Karakter/String Merupakan deretan huruf yang membentuk kata yang diapit oleh tanda petik (‘’) atau tanda petik gkita (“”). Tipe data karakter/string ini terdiri dari beberapa tipe: 1.
CHAR(M) Karakter dengan panjang 0 sampai M byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat peyimpanan M byte.
2.
VARCHAR Variabel karakter dengan panjang 0 sampai M byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan M+1 byte.
3.
TINYTEXT Teks berukuran kecil dengan panjang 0 sampai 28-1 byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 1 byte.
4.
TEXT Teks yang normal dengan panjang 0 sampai 216-1 byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 2 byte.
5.
MEDIUMTEXT Teks berukuran sedang dengan panjang 0 sampai 224-1 byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 3 byte.
6.
LONGTEXT Teks berukuran besar dengan panjang 0 sampai 232-1 byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 4 byte.
7.
ENUM(“harga1”,”harga2”,…) Berarti kolom hanya boleh diisi dengan salah satu dari harga yang ada. Harga default adalah NULL jika bisa atau harga1 jika NOT NULL. Tempat penyimpanan adalah 1 byte untuk enumerasi dengan anggota 1 sampai 255 dan 2 byte untuk enumerasi dengan anggota 256 sampai 65535.
Chapter 7: Database dan MySQL sampai 8, 2 byte untuk set dengan anggota 9 sampai 16, 3 byte untuk set dengan anggota 17 sampai 24, 4 byte untuk set dengan anggota 25 sampai 32, atau 8 byte untuk set dengan anggota 33 sampai 64. Tipe data char() dan varchar() pada prinsipnya sama. Yang menjadi perbedaannya adalah pada jumlah memori yang dibutuhkan untuk penyimpanan. Memori penyimpanan yang dibutuhkan tipe data char() bersifat statis, besarnya tergantung pada berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Sebaliknya, tipe data varchar() besar memori penyimpanan tergantung terhadap berapa karakter yang digunakan ditambah 1 byte yang berisi data jumlah karakter yang digunakan.
[3] Tipe Data Waktu Merupakan data yang berisi tanggal (date) dan jam (time). Tipe data waktu ini terdiri dari beberapa tipe: 1.
DATE Untuk kolom tanggal dengan format YYYY-MM-DD dan range antara “100001-01” sampai “9999-12-31”. Harga default adalah NULL jika bisa atau “0000-00-00” jika NOT NULL. Tempat penyimpanan 3 byte.
2.
TIME Untuk kolom jam dengan format hh:mm:ss atau -hh:mm:ss untuk harga negatif. Range harga antara “-838:59:59” sampai “838:59:59”. Harga default adalah NULL jika bisa atau “00:00:00” jika NOT NULL. Tempat penyimpanan 3 byte.
3.
DATETIME Gabungan antar hari dan jam dengan format YYYY-MM-DD hh:mm:ss dan range antar “1000-01-01 00:00:00” sampai “9999-12-31 23:59:59”. Harga default adalah NULL jika bisa atau “0000-00-00 00:00:00” jika NOT NULL. Tempat penyimpanan 8 byte.
4.
TIMESTAMP Hampir sama dengan DATETIME tapi dengan format YYYYMMDDhhmmss dan range antara 19700101000000 sampai suatu saat di tahun 2037. Harga default adalah hari dan jam saat itu. Tempat penyimpanan 4 byte.
Website Development Fundamental Chapter 8 DDL, DML, MySQL Exercise
Untuk memakai MySQL, query-query (SQL) dimasukkan secara text-based atau webbased. Secara text-based, kita dapat menggunakan command line atau PHP sedangkan web-based menggunakan phpmyadmin (http://localhost/phpmyadmin). Sebelum memakainya, jangan lupa untuk mengaktifkan MySQL pada XAMPP Control Panel! Pada dasarnya, data suatu website disimpan dalam basis data yang tersusun atas tabel-tabel. Berikut adalah penjelasan query-query SQL yang dapat kita gunakan untuk mendefinisikan atau memanipulasi tabel dan basis data.
Data Definition Language Data Definition Language (DDL) adalah query SQL yang berhubungan dengan pendefinisian basis data atau struktur tabel.
DDL yang berhubungan dengan basis data Mengetahui daftar basis data SHOW databases;
Membuat basis data
Chapter 8: DDL, DML, MySQL Exercise
USE nama_basisdata;
Menghapus basis data DROP DATABASE nama_basisdata;
DDL yang berhubungan dengan tabel Mengetahui daftar tabel SHOW tables;
Membuat tabel CREATE TABLE nama_tabel ( nama_kolom_1 definisi_data, nama_kolom_2 definisi_data, ...., nama_kolom_n definisi_data, );
definisi_data dapat diisi dengan: type(length) [NOT NULL | NULL] [AUTO_INCREMENT] [PRIMARY KEY]
Mengetahui struktur tabel DESC nama_tabel;
Menambahkan kolom pada tabel (secara default kolom akan ditempatkan pada kolom terakhir ALTER TABLE nama_tabel ADD nama_kolom tipe_data;
Chapter 8: DDL, DML, MySQL Exercise
ALTER TABLE nama_tabel ADD nama_kolom tipe_data AFTER nama_kolom;
Menambahkan kolom pertama pada tabel ALTER TABLE nama_tabel ADD nama_kolom tipe_data FIRST;
Menghapus kolom tertentu ALTER TABLE nama_tabel DROP nama_kolom;
Mengganti nama atau tipe data kolom tententu ALTER TABLE nama_tabel CHANGE nama_kolom_lama nama_kolom_baru tipe_data;
Mengganti nama tabel. RENAME nama_tabel_lama TO nama_table_baru;
Menghapus tabel DROP TABLE nama_tabel;
Integrity Constraint Integrity constraint atribut pada query pembuatan table (CREATE TABLE) yang memberikan keterangan pembatas pada suatu kolom. Beberapa macam integrity constraint: o
not null, untuk membatasi bahwa data pada kolom tersebut tidak boleh kosong
o
unique, untuk membatasi bahwa data pada kolom tersebut harus unik, yaitu
Chapter 8: DDL, DML, MySQL Exercise o
default, untuk memberikan nilai awal data pada kolom tersebut
Data Manipulation Language Data Manipulation Language (DML) adalah query SQL yang berhubungan dengan pengolahan data dalam suatu tabel. Manipulasi data pada dasarnya terdiri atas memasukkan, membaca, mengubah, dan menghapus data. Keempat operasi tersebut sering disingkan menjadi CRUD (Create, Read, Update, Delete). Query SQL untuk CRUD adalah sebagai berikut. Operasi
SQL
Create
INSERT
Read (Retrieve)
SELECT
Update
UPDATE
Delete (Destroy)
DELETE
Memasukkan data (pada semua kolom) INSERT INTO nama_tabel VALUES(nilai_kolom_1,nilai_kolom_2,..,nilai_kolom_n);
Memasukkan data (pada kolom tertentu) INSERT INTO nama_tabel (nama_kolom_A,nama_kolom_B,..,nama_kolom_C) VALUES(nilai_kolom_A,nilai_kolom_B,..,nilai_kolom_C);
Melihat isi tabel (semua kolom) SELECT * FROM nama_tabel WHERE kondisi;
Chapter 8: DDL, DML, MySQL Exercise
SELECT nama_kolom_1,nama_kolom_2,...,nama_kolom_n FROM nama_tabel WHERE kondisi;
Mengubah data UPDATE nama_tabel SET nama_kolom_1 = nilai_kolom_1, nama_kolom_2 = nilai_kolom_2, ..., nama_kolom_n = nilai_kolom_n WHERE kondisi;
Menghapus data DELETE FROM nama_tabel WHERE kondisi;
Fungsi Agregat MySQL juga menyediakan fungsi-fungsi agregat. Fungsi ini digunakan untuk menghitung hasil tampilan. Karena sifatnya untuk ditampilkan, maka fungsi ini tergolong dalam query SELECT. Fungsi agregat pada MySQL dan kegunaannya Operasi
SQL
sum()
Menghitung jumlah ekspresi numerik
avg()
Menghitung rata-rata ekspresi numerik
min()
Menghitung angka minimal ekspresi numerik
max()
Menghitung angka maksimal ekspresi numerik
count()
Menghitung jumlah non-null ekspresi
Chapter 8: DDL, DML, MySQL Exercise
SELECT SELECT SELECT SELECT SELECT SELECT
sum(nama_kolom) FROM nama_tabel; avg(nama_kolom) FROM nama_tabel; min(nama_kolom) FROM nama_tabel; max(nama_kolom) FROM nama_tabel; count(nama_kolom) FROM nama_tabel; count(*) FROM nama_tabel;
Klausa Where Pada query SELECT, kita dapat menambahkan beberapa klausa setelah WHERE. Ini berfungsi untuk membatasi data yang ingin kita tampilkan. Tabel Klausa WHERE pada MySQL dan kegunaannya Operasi
SQL
or
Menampilkan data yang bernilai benar pada salah satu dari dua kondisi yang diberikan
and
Menampilkan data yang bernilai benar pada kedua kondisi yang diberikan
not
Menampilkan data yang bernilai salah pada kondisi yang diberikan
between
Menampilkan data yang nilainya berada di antara nilai pembatas yang diberikan
in
Menampilkan data yang nilainya ada dalam daftar yang diberikan
like
Menampilkan data yang nilainya sesuai format yang diberikan
is null
Menampilkan data yang nilainya tidak kosong
Klausa Lain Ada beberapa klausa lain yang dapat kita tambahkan pada query SELECT, setelah klausa WHERE. Tabel Klausa lain pada MySQL dan kegunaannya Nama Klausa
Kegunaan
Chapter 8: DDL, DML, MySQL Exercise
MySQL Exercise Kita akan membuat sebuah toko baju. Oleh karena itu kita harus membuat database dengan nama “tokobaju” dan tabel-tabel yang dibutuhkan. Table “produk” Field
Type
Length
Index
id
INT
4
primary key
nama
VARCHAR
200
jenis_produk
VARCHAR
200
gambar
VARCHAR
50
harga
INT
9
stok
INT
4
keterangan
TEXT
auto increment
NULL
Table “user” Field
Type
Length
Index
id
INT
4
primary key
username
VARCHAR
20
password
PASSWORD
20
role
VARCHAR
200
auto increment
Table “penjualan” Field
Type
Length
Index
id
INT
4
primary key
id_user
INT
4
tgl_pemesanan
DATE
auto increment
Chapter 8: DDL, DML, MySQL Exercise Table penjualan_produk Field
Type
Length
id_penjualan
INT
4
id_produk
INT
4
jumlah
INT
4
Index
Membuat Database di PHPMyAdmin 1.
Pada halaman awal (http://localhost/phpmyadmin), masukkan nama database yang akan dibuat di “create new database”, collation biarkan default. Click “create”. Agar lebih mudah nantinya, jangan pernah gunakan spasi untuk nama di MySQL
2.
Setelah database terbuat, kita akan ditanya untuk membuat table. Masukkan nama table yang akan dibuat. Masukkan berapa field/kolom yang akan dibuat.
3.
Beri nama setiap field/kolom, tipe variabelnya, dan length. Pada bagian index, kita harus menentukan salah satu field/kolom sebagai primary key. Primary Key merupakan kolom kunci yang digunakan sebagai penanda agar pengambilan data dapat lebih mudah. Biasanya yang diset sebagai primary key adalah nomor induk, NIM, NIP, atau sebagainya. Atribut index lain yang digunakan adalah unique. Bila kolom kita set unique, maka kolom tersebut tidak boleh ada data yang memiliki nilai yang sama, misalnya username. Bagian lain dapat ditinggal secara default.
4.
Setelah table pertama dibuat, kita dapat menambahkan table lain atau mengedit table yang sudah ada.
Hal-hal lain yang perlu diperhatikan dalam PHPMyAdmin 1.
Apabila kita melakukan suatu aksi, kita dapat melihat perintah yang berada di atas di bawah tab.
2.
Apabila kita ingin melakukan query dengan melakukan textbased query, kita dapat menekan tab SQL dan mengetikkan query yang akan dilakukan.
Chapter 8: DDL, DML, MySQL Exercise
Export dan Import Database di PHPMyAdmin Kadang-kadang kita butuh backup database yang telah kita buat, baik untuk disimpan maupun untuk dibagikan ke rekan kerja. Backup database dapat dilakukan dengan cara export. Setelah itu, kita dapat membukanya kembali dengan cara import.
[1] Export Klik nama database yang ingin di-eksport di sidebar sebelah kiri 1. 2. 3.
Klik tab Eksport Pilih table mana saja yang ingin di-eksport. Secara default semua table sudah terpilih. Pilih format file dan pilihan lainnya sesuai keinginan kita, lalu klik tombol “Go”.
[2] Import Buat (atau pilih) database sesuai dengan nama database yang telah di-eksport 1. 2.
Jika sudah masuk ke database tersebut, klik tab Import Upload file hasil export lalu klik tombol “Go”
Chapter 8: DDL, DML, MySQL Exercise
Website Development Fundamental Chapter 9 PHP-MySQL Connection
Untuk membuat halaman yang dinamis, kita bisa menggunakan database. Dengan mengkoneksikan database dengan PHP maka kita dapat menampilkan konten yang digenerate dari database.
PHP-MySQL Connection Penggunaan MySQL pada PHP memerlukan beberapa langkah. Langkah pertama yang harus dilakukan adalah mengkoneksikan antara MySQL dengan PHP. Setelah koneksi terjadi, kita harus memilih database yang akan digunakan. Baru setelah itu kita dapat melakukan berbagai perintah SQL di dalam skrip PHP. Untuk mengkoneksi antar PHP dan MySQL, kita membutuhkan perintah yang sudah ada dalam PHP, yaitu mysql_connect('server database', 'mysql user', 'mysql password') Berikut contoh penggunaannya.
Chapter 9: PHP-MySQL Connection Perlu diketahui bahwa server database yang digunakan adalah localhost, user dari database adalah root, sementara passwordnya adalah ‘’ yakni kosong atau tanpa password. Di kemudian hari kita dapat membuat user baru dengan password yang baru. Kita memasukkan perintah mysql_connect ke dalam variable $conn, lalu menjalankannya. Kondisi if adalah untuk memastikan bahwa database dapat terhubung, perhatikan tanda “!=” di dalamnya. Apabila database tidak terhubung, maka akan tampil “Tidak bisa terkoneksi : …”. Apabila perintah koneksi berjalan dengan baik maka akan tampil “Koneksi berhasil”. Perintah mysql_close($conn) adalah untuk menutup koneksi dengan database.
Connecting MySQL Database With Site Setelah kita mengkoneksi dengan database, kita harus memilih database yang akan digunakan. Pemilihan ini menggunakan perintah mysql_select_db('database yang akan dipakai', 'koneksi yang digunakan') Berikut contohnya
Chapter 9: PHP-MySQL Connection Database yang akan digunakan adalah database tokobaju, dan menggunakan koneksi sebelumnya. Penggunaan if sama seperti sebelumnya yaitu memberitahu apabila database tokobaju tidak dapat digunakan, maka PHP akan memberitahukannya.
Generate MySQL Query from PHP Setelah kita memilih database, kita dapat menjalankan perintah MySQL (text-based mySQL query). Untuk menjalankan perintah mysql kita gunakan sintaks : mysql_query('perintah yang dijalankan') Kita dapat mengambil data dari database menggunakan perintah : mysql_fetch_array(query pengambilan data) Berikut contoh penggunaannya. (simpan dengan nama tabel_produk.php) id
Chapter 9: PHP-MySQL Connection
Stok Keterangan
Tambah data Perintah di atas akan mengambil data dari tabel produk. Perulangan while digunakan untuk mengambil data dari $result dan memasukkanya ke dalam array $row lalu menampilkannya emnggunakan perintah echo. Kita dapat menggunakan perintah SQL lain sesuai keperluan. Dengan menggunakan berbagai klausa seperti where dan lain-lain, kita dapat memanipulasi data yang akan ditampilkan.
Insert Data With PHP Sekarang kita akan memasukkan data menggunakan PHP. Langkah pertama yang akan kita lakukan adalah membuat form pengisian. Berikut adalah form pengisian sederhana. Simpan dengan nama formpengisianproduk.html. Perlu diperhatikan bahwa action dari form ini mengarah kepada isiproduk.php. Isiproduk.php adalah sebuah file yang lain yang digunakan untuk memasukkan data. Berikut isi dari isiproduk.php.
Chapter 9: PHP-MySQL Connection
`gambar`, `harga`, `stok`, `keterangan` ) VALUES ( NULL, '$nama', '$jenis_produk', NULL, '$harga', '$stok', '$keterangan');"); } if (!$result) { die ('Pemasukkan data gagal ' . mysql_error()); } header("Location: tabel_produk.php"); ?> 1.
File isiproduk.php dimulai dengan koneksi database.
2.
Setelah koneksi database terpenuhi, maka file ini akan mengambil data $_GET dari file formpengisianproduk.html. Perlu diketahui bahwa method yang digunakan pada formpengisianproduk.html adalah get, maka data akan disimpan dalam $_get. Penggunaan if($_GET) adalah untuk memastikan bahwa file isiproduk.php mendapatkan kiriman data dengan method get.
3.
Data-data dari $_GET akan disimpan ke dalam variable-variable yang lebih mudah dituliskan.
4.
Kita akan membuat MySQL query yang akan dimasukkan ke dalam $result. Perhatikan bahwa penulisan MySQL sesuai dengan perintah apabila kita memasukkan di dalam PHPmyAdmin.
5.
If(!$result) digunakan untuk memberitahu apabila data gagal dimasukkan.
6.
Apabila data berhasil dimasukkan maka, kita akan diberi diberitahu dan diberi pilihan untuk memasukkan data kembali.
Website Development Fundamental Chapter 10 PHP-MySQL Connection (2)
Koneksi antara PHP dengan MySQL dapat menjadikan administrator ataupun user dapat memasukkan data dengan menggunakan halaman .php. Penggunaan perintah/query yang dimasukkan ke dalam PHP dapat membantu pemasukkan data tersebut dengan lebih mudah dan teratur.
Edit Data Pengeditan data pada MySQL menggunakan cara yang mirip dengan pemasukkan data. Pertama kita butuh form halaman pengeditan. Setelah itu diperlukan file untuk memproses pengeditan data.
Halaman Tabel Data Pada halaman tabel_produk.php kita perlu menambahkan sedikit sintaks berikut. ">edit Tambahkan baris atas di dalam perulangan while(mysql_fetch_array($row=$result)). Penambahan baris ini pada tabel data dimaksudkan agar kita mengarahkan tombol edit yang bersesuaian dengan data yang sebaris. Apabila kita ingin mengubah data ke-
Chapter 10: PHP-MySQL Connection (2)
Form editproduk.php Buat file berikut dan simpan dengan nama editproduk.php Nama Jenis Harga Stok Keterangan
Chapter 10: PHP-MySQL Connection (2)
Bila Anda perhatikan, baris-baris pertama muncul $id = $_GET['id']; mengacu pada file sebelumnya (tabel data) yaitu pada baris yang kita tambahkan. Pengambilan id tersebut diperlukan agar data yang diubah sesuai dengan yang tadi kita edit. Lalu pada baris permulaan form, bisa dilihat bahwa action yang biasanya kosong, sekarang mengacu pada file lain. Apabila action-nya kosong maka aksi yang dilakukan mengacu pada file itu sendiri. Namun apabila action diberi nilai sebuah file lain, maka file lain tersebut akan dieksekusi apabila ada aksi pada halaman ini. File lain tersebut (proses_edit_produk.php) digunakan untuk menjalankan pengubahan data pada mySQL.
File proses_edit_produk.php File berikut akan menjalankan perintah UPDATE pada MySQL sehingga pengubahan data dapat berjalan. Nilai-nilai perubahan data mengacu pada file sebelumnya (editproduk.php).
Chapter 10: PHP-MySQL Connection (2) Perlu diperhatikan bahwa syntax penulisan header(“Location: tabel_produk.php”) tidak boleh didahului oleh tag html lainnya. Sehingga kita tidak boleh menampilkan (echo) tulisan lain di file ini. Apabila hal tersebut dilanggar, maka fungsi header akan error.
Delete Data Penghapusan data pada MySQL menggunakan cara yang mirip dengan pengubahan data. Pertama kita butuh aksi yang menuju proses penghapusan. Setelah itu diperlukan file untuk memproses penghapusan data.
Halaman Tabel Data Seperti pada pengubahan data, kita perlu menambahkan beberapa baris pada file tabel_produk.php (namanya sesuai dengan pekerjaan Anda). " onclick="return confirm('Apakah anda yakin ingin menghapus ?')">delete Tambahkan baris di atas pada perulangan while( mysql_fetch_array ($row= $result)). Perlu diperhatikan adanya tambahan onclick, penambahan ini merupakan javascript yang dapat digunakan untuk memastikan bahwa user akan menghapus data yang memiliki id bersesuaian. Karena pada dasarnya penghapusan data tidaklah memiliki peringatan. Kita dapat pula membuat peringatan dengan cara lain, misalnya menambahkan file perantara antara file ini dengan file yang mengeksekusi proses hapus.
File proses_delete_produk.php File berikut merupakan file untuk mengeksekusi perintah MySQL untuk menghapus data.
Chapter 10: PHP-MySQL Connection (2)
{ header("Location: tabel_produk.php"); }else{ echo 'error'; } ?>
Chapter 10: PHP-MySQL Connection (2)
Website Development Fundamental Chapter 11 PHP-MySQL Connection and Session
Session merupakan data sementara yang dapat membantu web developer untuk menjaga keamanan dan mengurangi kerja server. Session akan menyimpan data sampai session tersebut dihentikan atau ketika user menutup browsernya.
Session Memulai Session Sebelum kita dapat membuat variable session dan menyimpan nilai nilai yang dibutuhkan, pertama-tama kita harus mempersiapkan server agar dapat menangani session. Untuk itu kita perlu untuk memulai operasi session pada server. Untuk memulai operasi session pada server kita dapat menuliskan perintah sebagai berikut : session_start();
Membuat Variable Session Setelah kita memulai session maka kita dapat membuat variable session yang dapat menyimpan sementara nilai yang kita perlukan di server. Untuk membuat variable
Chapter 11:PHP-MySQL Connection and Session Contoh : Pada contoh di bawah ini kita akan membuat beberapa variable session yang diset pada halaman pertama. Kemudian kita akan membaca variable session tersebut pada halaman berikutnya Untuk page1.php halaman ?> berikut adalah hasil dari eksekusi page1.php.
Gambar 11.1 Hasil Eksekusi Session Page1.php
2 ';
Chapter 11:PHP-MySQL Connection and Session
Membaca Varible Session untuk membaca variable session kita dapat menggunakan syntax $_SESSION['nama_index']; Contoh : Pada contoh dibawah ini kita akan membaca variable session yang telah kita buat sebelumnya. Untuk page2.php '; echo $_SESSION['warna'].' '; echo $_SESSION['binatang'].' '; echo date('Y m d H:i:s', $_SESSION['time']).' '; echo 'halaman 3 '; ?> berikut adalah hasil dari eksekusi page2.php.
Chapter 11:PHP-MySQL Connection and Session
Mendelete Variable Session Setelah kita membuat variable session, kita mungkin ingin mendelete variable tersebut untuk tujuan tertentu. Misalnya, ketika user login ke halaman website kita maka user akan diberi sebuah variable session untuk identifikasi. Selanjutnya ketika user tersebut logout, maka identifikasi ini perlu dihapus dari server untuk menjamin privasi dan keamanan. Berikut adalah syntax yang digunakan untuk mendelete variable session : unset($_SESSION['index']); Contoh : Pada contoh dibawah ini kita akan mencoba untuk mendelete variable session. Kemudian kita akan mengecek apakah variable session tersebut masih ada atau tidak.
Gambar 11.3 Hasil Eksekusi Session Page3.php Untuk page3.php session_start();
Chapter 11:PHP-MySQL Connection and Session
else echo 'variable session warna sudah terhapus'; echo 'halaman 1 ';
Mengakhiri Session Setelah kita selesai menangani session, maka kita dapat mengkahirinya. Sebagai catatan, ketika kita mengakhiri session maka seluruh nilai yang tersimpan pada variable session akan terhapus semua. Berikut adalah syntax yang digunakan untuk mendelete variable session : session_destroy();
Login Penggunaan session dapat memperkuat keamanan web kita dengan menggunakan data session yang disimpan di dalam server. Apabila kita login kita dapat mengakses data-data yang disediakan. Untuk memulai session kita perlu menuliskan Di awal setiap file yang dibuat. Perlu diperhatikan bahwa perintah ini harus ditempatkan benar-benar di awal setiap file, sebelum perintah-perintah lain.
File login.php dan logout.php File berikut merupakan file untuk melakukan pengisian data login. Username
Chapter 11:PHP-MySQL Connection and Session
File logout.php: login untuk masuk kembali'. ?> Perlu diperhatikan adanya session_destroy(); pada file logout.php adalah untuk melakukan log out sehingga kita dapat melakukan logout dengan mengarahkan user pada file logout.php.
File proseslogin.php File berikut merupakan file untuk memproses pencocokan username dan password yang dimasukkan dengan database yang ada.
Chapter 11:PHP-MySQL Connection and Session
?> File ini akan mengambil data yang sesuai dengan masukkan user. Apabila data user tersebut ada, maka user akan diberi akses untuk mengakses datanya. File ini dapat diberi tambahan dengan menggunakan role yang ada. Apabila role dari user adalah admin, maka user tersebut dapat mengakses segalanya, namun apabila rolenya hanya customer, maka user hanya dapat mengakses bagian tertentu saja.
Penambahan pada seluruh file Tambahkan kode berikut pada seluruh file. Jika seluruh file adalah php seperti pada proses_delete_produk.php, maka penulisan kode berikut harus disesuaikan. Pada bagian paling awal file Pada bagian paling akhir dari file login untuk masuk.'; } ?> Penambahan ini bertujuan untuk menjaga agar user yang tidak berkepentingan tidak dapat mengakses data yang tidak berhak user tersebut lihat.
Chapter 11:PHP-MySQL Connection and Session
Website Development Fundamental Chapter 12 Product Etalase Website: Layout
Untuk membuat sebuah website, kita harus membuat tata letak dari website terlebih dahulu. Tata letak dari website biasanya terdiri atas header, content, link navigasi, dan footer. Pada pertemuan tentang CSS dulu telah dibahas bagaimana membuat tata letak dengan menggunakan CSS. Pada sesi ini kita akan menggunakan PHP dan CSS untuk dapat membuat tata letak.
Layout Pertama-tama kita harus membuat halaman yang ingin kita tampilkan, baru setelahnya kita potong-potong per bagian. Misalnya kita ingin membuat layout seperti pada dokumen HTML berikut. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Home <style> body{ margin: 0px; } #container { margin: 0 auto; width: 960px;
Chapter 11:Product Etalase Website: Layout
} #header h1{ color:#fff; } #menu { width: 960px; height: 30px; background-color:#333; } #content { width: 960px; min-height: 400px; background-color: #CCC; } #footer { color:#fff; text-align:center; width: 960px; height: 60px; background-color: #333; } .clear { clear:both; } a.menu { color:#fff; display: block; width: 100px; height: 28px; float:left; text-decoration:none; text-align: center; font-weight: bold; border: 1px solid #222; } a.menu:hover { background-color: #669; } iframe { border: none; width: 960px; }
Chapter 11:Product Etalase Website: Layout
Selamat datang /* tampilkan tabel produk Anda */ Perlu diperhatikan bahwa pada bagian content kita hanya tinggal menampilkan tabel produk kita. Untuk memasukkan konten PHP ke file PHP lain, kita dapat menggunakan fungsi include(). Fungsi include() mengambil semua konten di dalam file yang ditentukan dan memasukkannya ke file PHP dimana fungsi tersebut berada.
Style.css Kita akan memotong file di atas menjadi beberapa bagian. Perhatikan CSS yang berada di dalam tag <style>. body{ … border: none; width: 960px;} Silakan potong CSS tersebut lalu buat menjadi file baru dan save dengan nama style.css. Untuk menggunakan CSS tersebut, kita dapat menggunakan tag pada halaman utama.
Header.php Tuliskan file berikut dan save dengan nama header.php
Chapter 11:Product Etalase Website: Layout
mysql_select_db("tokobaju", $conn); ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> File header.php di atas merupakan bagian atas dari halaman utama. Untuk dapat menggunakannya, kita gunakan fungsi include('header.php');.
Toko.php Tuliskan file berikut dan save dengan nama toko.php
Chapter 11:Product Etalase Website: Layout
?> Selamat datang di toko Anda
Dengan penggunaan metode ini kita dapat membuat halaman yang dinamis hanya menggunakan satu file saja yaitu toko.php.
Footer.php Anda bisa juga memisahkan footer menjadi file lain bernama footer.php lalu memasukkannnya dengan fungsi include('footer.php');.
File Lain File-file lain yang dapat digunakan adalah sebagai berikut: 1. 2. 3. 4. 5. 6.
tabel_produk.php: file untuk menampilkan tabel produk formpengisianproduk.php, isiproduk.php: file untuk mengisi data produk editproduk.php, proses_edit_produk.php: file untuk mengubah data produk proses_delete_produk.php: file untuk menghapus data produk login.php, proseslogin.php: file untuk login logout.php: file untuk logout
Chapter 11:Product Etalase Website: Layout
Website Development Fundamental Chapter 13 Product Etalase Website: Framework[1]
Penggunaan framework merupakan cara yang baik untuk membangun sebuah Content Management System. Terdapat banyak sekali framework yang dapat digunakan, baik yang gratis maupun yang berbayar. Beberapa contoh framwork adalah Codeigniter dan symfony. Pada pelatihan ini, digunakan framework sederhana bernama CL yang dibuat oleh Ratno P. Sulistyono. Framework ini akan diberikan saat pelatihan.
Framework Dalam Framework terdapat model, controller, dan view. Kelompok file tersebut merupakan komponen dari framework agar dapat bekerja dengan baik. 1.
View Merupakan file-file yang digunakan untuk menampilkan halaman yang dilihat oleh user atau visitor.
2.
Controller Merupakan file-file yang digunakan untuk mengatur alamat-alamat dalam framework kita, agar file file kita dapat tertata rapi namun dapat diakses dengan mudah.
3.
Model Merupakan file-file yang digunakan untuk berkoneksi dengan database, seperti insert, select,edit, delete dan lainnya.
Chapter 13:Product Etalase Website: Framework[1]
File Dasar Untuk dapat menggunakan framework ini, kita harus memahami fungsi dari masingmasing file. 1.
Config.php Merupakan file yang digunakan untuk mendefinisikan keperluan dasar dari framework. Kita dapat mendefinisikan nama database, user, password, dan lainnya dalam file ini. Selain itu file ini juga medefinisikan alamat dari framework kita seperti
2.
.htaccess Merupakan file untuk konfigurasi framework. Digunakan khususnya untuk meredirect pengunjung.
3.
Framework/application.php Basis kelas untuk framework sederhana yang digunakan.
4.
Framework/func.php Fungsi-fungsi untuk mendukung framework sederhana yang digunakan.
5.
Folder Files Folder untuk menyimpan file-file yang diunggah oleh user.
6.
Folder Images Folder untuk menyimpan gambar-gambar yang diunggah oleh user.
7.
Folder CSS Folder Untuk menyimpan CSS style yang digunakan pada framework ini.
8.
Application/View/layout.php Merupakan file layout dari toko kita. Pada bagian atas terdapat
array( "index/index"=>"Home","index/login"=>"Login"), "admin"=>array( "index/index"=>"Home",
Chapter 13:Product Etalase Website: Framework[1]
"user"=>array( "index/index"=>"Home", "index/control_panel"=>"Control Panel", "index/logout"=>"Logout") ); if($user = $_SESSION['data_user']){ $menu = $arr_menu[$user['role']]; } else { $menu = $arr_menu['public']; } ?> Bagian awal di atas, ketika pendefinisian array, adalah bagian yang mendefinisikan link yang dapat dikunjungi oleh pengunjung ketika dia masuk ke halaman home setelah login. Apabila role-nya admin, maka pengunjung bisa melihat berbagai halaman. Kita bisa menambahkan sendiri pilihan terhadap masing-masing role. Setelah itu, bagian kondisi if adalah untuk mengecek apakah pengunjung sudah login. Apabila sudah, maka menu yang ditampilkan sesuai dengan rolenya, namun apabila belum login, maka yang ditampilkan adalah menu public. <style> .../*Isi sesuai dengan style Anda, atau link ke file CSS */ Bagian ini merupapakan bagian layout yang sebelumnya sudah dibuat. Judul yang akan ditampilkan akan sesuai dengan halaman yang sedang ditunjukkan, hal tersebut terlihat dalam di dalam tag title. Lalu menu yang ditampilkan sesuai dengan role-nya yaitu mengambil array yang sebelumnya sudah didefinisikan. Lalu main content yang ditampilkan sesuai dengan halaman yang sedang dibuka. 9.
Application/View/index/ File-file dalam folder “view/index/“ merupakan file untuk menampilkan view dasar dari web kita, seperti misal dashboard, tampilan login, dan lain-lain yang bersifat umum seperti misalnya privacy policy, about, contact us yang dapat ditambahkan sendiri.
10. Application/Controller/index.php Merupakan controller untuk halaman awal framework yaitu index.php yang merupakan halaman home. Perlu diingat, nantinya setiap kita menambahkan halaman baru di framework, kita harus menambahkan $this->loadModel("model_... "); Titik-titik yang kosong diisi dengan nama halaman yang nantinya ditambahkan. Berikut contohnya ketika kita menambahkan halaman produk di framework kita. loadModel("model_user");
Website Development Fundamental Chapter 14 Product Etalase Website: Framework[2]
Penanganan CL framework relatif mudah karena hanya menambahkan file-file yang diperlukan berdasarkan file-file yang sudah ada. Oleh karena itu kita akan coba menambahkan file-file yang diperlukan untuk membuat framework kita dapat berfungsi optimal.
Display Table Sebelumnya, kita telah mempelajari menampilkan table dengan menggunakan PHP dan MySQL, pada kesempatan ini kita aakan menampilkan table dengan memanfaatkan fungsi-fungsi yang sudah ada pada framework.
User Kita harus memastikan bahwa terdapat table user di database cl_framework kita. Model, Controller, dan view dari penampilan user telah dibuat.
Produk Kita harus memastikan bahwa terdapat table produk di database cl_framework kita. Model, Controller, dan view dari penampilan produk tidak akan terlalu berbeda dengan file-file pada user. 1.
Buat file produk.php pada folder Application\controller, yang memiliki isi
Chapter 14:Product Etalase Website: Framework[2]
cek_keamanan(array("admin","user")); Ubah function simpan_tambah menjadi seperti berikut. function simpan_tambah() { cek_keamanan(array("admin")); // simpan file yang diupload ke folder files $namafile = "files/".date("d.m.Y.h.i.s").$_FILES['gambar']['name']; move_uploaded_file($_FILES['gambar']['tmp_name'],$namafile ); // siapkan data yg disimpan dalam database $data['nama'] = $_POST['nama']; $data['harga'] = $_POST['harga']; $data['jenis_produk'] = $_POST['jenis_produk']; $data['gambar'] = $namafile; $data['stok'] = $_POST['stok']; $data['keterangan'] = $_POST['keterangan']; $this->model_produk->insert($data); $this->redirect(); } Ubah function simpan_ubah menjadi seperti berikut. function simpan_ubah($var) { cek_keamanan(array("admin")); $namafile = "files/".date("d.m.Y.h.i.s").$_FILES['gambar']['name']; move_uploaded_file($_FILES['gambar']['tmp_name'],$namafile ); // siapkan data yg disimpan dalam database $data['nama'] = $_POST['nama']; $data['harga'] = $_POST['harga']; $data['jenis_produk'] = $_POST['jenis_produk']; $data['gambar'] = $namafile; $data['stok'] = $_POST['stok'];
Chapter 14:Product Etalase Website: Framework[2]
} 2.
Buat file model_produk.php pada folder application\model\. Salin dari file model_user.php. Ubah semua kata user menjadi produk. Hilangkan function ambil_berdasar_username function ambil_berdasar_username($username){ $sql = "SELECT * FROM ".$this->tabel." WHERE username='$username'"; return $this->query($sql,true); } Anda dapat juga membuat funsi search pada model ini, dengan menggunakan query MySQL yang telah diajarkan.
3.
Buat folder produk di application\view\. Dalam application\view\produk , kita buat file form.php, dan index.php. File form adalah file untuk membuat tampilan form pengisian data atau form pengubahan data. Anda dapat menyalin dari file pada user, namun tentunya dengan menyesuaikan tampilan form, tampilan table, dan juga mengubah kata user menjadi produk.
4.
Pada view\layout.php, jangan lupa untuk menambahkan ada array link yang dapat dikunjungi oleh user ber-role admin. "produk/index"=>"Daftar Produk",
Latihan 1. 2.
Buat controller, model, dan view untuk menampilkan tabel penjualan. Buat fungsi search yang mencari nama produk yang mengandung kata tertentu (%kata%)