• Tidak ada hasil yang ditemukan

4. IMPLEMENTASI SISTEM

N/A
N/A
Protected

Academic year: 2022

Membagikan "4. IMPLEMENTASI SISTEM"

Copied!
35
0
0

Teks penuh

(1)

Implementasi dari desain sistem yang telah dibuat terbagi ke dalam dua bagian besar, yaitu:

a. Implementasi server

b. Implementasi perangkat lunak

Penjelasan mengenai masing-masing bagian diberikan berikut ini.

4.1. Implementasi Server

Server yang dipakai untuk implementasi dan pengujian perangkat lunak pada tugas akhir ini memiliki spesifikasi sebagai berikut:

a. Processor : Intel Pentium IV 1,5 GHz b. Motherboard : Intel SWD2N

c. Memory : Visipro 384 MB SDRAM d. Storage/hard disk : Maxtor 20 GB

4.1.1. Instalasi Server

Sistem operasi yang digunakan untuk server adalah Windows XP Profesional dan diinstall pada komputer server beserta dengan modul-modul yang diperlukan seperti:

a. Apache, sebagai web server yang di dalamnya juga terdapat PHP engine.

b. MySQL, sebagai database server.

4.1.2. Konfigurasi Server

Pada server perlu dilakukan beberapa tahap konfigurasi agar server berjalan sesuai dengan desain sistem yang telah dibuat. Konfigurasi yang dilakukan antara lain:

74

(2)

4.1.2.1.Konfirgurasi Apache Web Server

Konfigurasi web server dilakukan dengan menggun file konfigurasi yang terdapat pada /apache/httpd/conf/httpd.conf. Bagian file yang perlu dikonfigurasi untuk sistem ini adalah pada bagian DocumentRoot yang diset ke /apache/htdocs/

dan nama server yaitu localhost. Bagian DocumentRoot ini digun untuk pengaksesan halaman web dengan hanya mengetikkan nama dari server.

4.1.2.2.Konfigurasi Database Server

Pada MySQL sebagai database server dibuat sebuah database baru dengan nama database: peaceCell. Di mana database peaceCell tersebut berisi tabel-tabel dengan nama dan field-field yang telah didesain sebelumnya. Gambar 4.1 menjelaskan cara pembuatan database dengan menggun phpMyAdmin yang dijalankan pada Internet Explorer.

Gambar 4.1. Pembuatan Database PeaceCell Pada Database Server

4.2. Implementasi Program

Perangkat lunak sistem merup halaman-halaman web yang diletakkan pada

direktori /apache/htdocs/peaceCell pada server. Implementasi perangkat lunak dan

(3)

proses-proses yang dilakukan dijelaskan berdasarkan poin-poin yang ada pada bagian berikut ini.

4.2.1. Koneksi Database

Koneksi ke database digunakan untuk menghubungkan perangkat lunak dengan database yang digunakan dan terdapat pada setiap halaman web yang melakukan operasi database seperti: insert, update, delete, dan lain-lain.

Segmen Program 4.1. Proses Koneksi Database

mysql_connect("localhost", "", "");

mysql_select_db("peaceCell");

4.2.2. Halaman Utama

Gambar 4.2. merupakan halaman yang pertama kali ditampilkan saat user mengakses website. Halaman ini menampilkan enam produk terbaru dan lima ringkasan berita terbaru yang disertai dengan link untuk melihat detail produk atau berita tersebut.

Gambar 4.2. Halaman Utama

(4)

Segmen Program 4.2. Proses Halaman Utama

// Produk

$query ="SELECT a.productType, a.productImageSmall, a.productSize, a.productWeight, a.vendorId, b.vendorName, a.productTimeTalk, a.productTimeStandby,a.productPrice,a.productDateAdded

FROM product as a,vendor as b WHERE a.vendorId=b.vendorId ORDER BY productDateAdded desc LIMIT 0, 6";

$hasil = m // Berita

ysql_query($query) or die("error");

$query = "SELECT newsId,newsTitle,newsDesc,newsDateAdded FROM news

WHERE newsId != 0 ORDER BY newsId desc

LIMIT 0, 5";

$hasil = mysql_query($query) or die("error");

Keterangan: Program di atas menjelaskan query untuk mengambil data produk dan berita.

4.2.3. Menu Umum

Menu ini terdapat pada sebagian besar halaman web yang ada dan dapat diakses oleh semua user yang mengunjungi website ini. Bagian dari menu umum ini adalah:

a. Home

Menu ini menampilkan halaman awal yang juga merupakan halaman yang pertama kali ditampilkan saat website ini diakses.

b. Search

Menu ini menampilkan halaman untuk mencari produk sesuai dengan spesifikasi yang diinginkan.

c. Compare

Menu ini menampilkan halaman untuk membandingkan produk yang dipilih sesuai dengan jenisnya.

d. News

Menu ini menampilkan halaman yang berisi ringkasan berita-berita.

e. Product

Menu ini menampilkan halaman berisi produk yang dijual oleh website . f. Credit Simulation

Menu ini menampilkan halaman yang berisi form untuk melakukan simulasi

pembelian secara kredit.

(5)

g. Guest Book

Menu ini menampilkan halaman yang berisi komentar-komentar dan saran- saran dari pengujung website.

h. Information

Menu ini menampilkan halaman yang berisi informasi tentang website ini, seperti cara berbelanja dengan shopping cart, cara melakukan order dan lainnya.

Gambar 4.3. Menu Umum

4.2.4. Menu Login

Menu login ini tampil apabila user tidak melakukan login. Bagian dari menu login ini adalah:

a. Login

Menu ini terdiri dari input/editbox yang harus diisi dengan username dan password member.

b. Registrasi

Menu ini menampilkan halaman registrasi yang berisi form pendaftaran bagi user guest yang ingin mendaftar menjadi member.

Gambar 4.4. Menu Login

Menu login yang tampil pada setiap halaman apabila user belum

melakukan login. Hal ini dimaksudkan untuk mempermudah user apabila user

ingin melakukan login. User dapat login dari mana saja dan kapan saja. Adapun

baris perintah proses untuk login adalah sebagai berikut.

(6)

Segmen Program 4.3. Proses Pengecekan Field kosong

if (($username == '') || ($password == ''))

{ $komentar=" Field empty, Process Login Cancel";}

Keterangan: Program di atas melakukan pemeriksaan input field yang kosong.

Untuk semua form yang membutuhkan pengecekan field kosong menggunakan segmen program 4.3 untuk mencegah agar tidak ada data yang kosong pada database, khususnya untuk informasi-informasi penting.

Segmen Program 4.4. Proses Pengecekan Username dan Password

$nilai=mysql_query("SELECT customerUsername, customerPassword, customerName

FROM customer

WHERE customerUsername = '$username' &&

customerPassword = '$password' ");

$hasil=mysql_num_rows($nilai);

if ($hasil==0) { $komentar="Username and Password Not Valid";}

else

{ $thasil=mysql_fetch_array($nilai);

// Update Field CustomerLastLogin

mysql_query("UPDATE customer SET customerDateLastLogin=now() WHERE customerUsername='$username'");

setcookie("memberUser",$username,time()+31536000);

setcookie("memberName",$thasil[customerName],time()+31536000);

}

Keterangan: Program di atas menjelaskan pengecekan data username dan password yang diinputkan kemudian dicocokan dengan data yang ada dalam database. Apabila data sesuai maka dilakukan update field customerDateLastLogin dan dilakukan pengesetan variabel ‘cookie’ . Segmen program ini juga digunakan untuk halaman administrator login di mana yang membedakan hanya tabel dan nama variabel cookie.

4.2.5. Halaman Register

Halaman ini diakses melalui menu login. Halaman yang digunakan

untuk melakukan pendaftaran sebagai member.

(7)

Gambar 4.5. Halaman Register

Segmen Program 4.5. Proses Pengecekan Field Numeric

If (!is_numeric($postCode) && ($postCode <0)) { $komentar="Post Code value not correct";}

Keterangan: Program di atas melakukan pemeriksaan untuk format inputan data bilangan.

Segmen Program 4.6.Proses Pengecekan Field E-Mail

if (!is_email($emailAddress))

{ $komentar="The email address not correct"; }

Keterangan: Program di atas melakukan pemeriksaan untuk format inputan alamat email.

Segmen Program 4.7. Proses Fungsi is_email

function is_email($user_email) {

$chars = "/^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$/i";

if(strstr($user_email, '@') && strstr($user_email, '.'))

{ if (preg_match($chars, $user_email)) {return true;} else {return false;}

} else { return false;}

}

Keterangan: Program di atas merupakan fungsi yang dipakai untuk melakukan

pemeriksaan format input alamat email.

(8)

Segmen Program 4.8. Proses Pengecekan Untuk Isi Field yang Kembar

$data = mysql_query("select customerUsername from customer where customerUsername = '$username'");

$hasil = mysql_num_rows($data);

If ($hasil!=0)

{$komentar="$komentar"." Username has been use, type another username";}

Keterangan: Program di atas memeriksa input data yang disimpan dengan yang ada didalam database untuk menghindari data kembar. Segmen program ini digunakan pada setiap halaman yang memiliki form pengisian data seperti registrasi agar tidak ada nama username member yang sama. Contoh lainnya adalah halaman pengisian data produk

Segmen Program 4.9. Proses Halaman Register

// Pengecekan username agar tidak ada yang kembar mysql_query("INSERT INTO customer(customerUsername,

customerPasswordcustomerName, customerBod, customerEmailAddress, customerAddress, customerPostCode, customerProvince, customerCity, customerTelephone,customerHandphone, customerDateLastLogin) VALUES ('$username','$password','$name','$date',

'$emailAddress','$address', '$postCode', '$province', '$city', '$telephone', '$handphone',now())") or die('ERROR');

$dat = mysql_query("select customerId from customer where customerUsername = '$username'");

$hasil=mysql_fetch_array($dat);

// Menyimpan favorite vendor dari member kedalam tabel personalize for($i=1;$i<=$max;$i++)

{

$namavendor="vendor$i";

$namavendor2=$HTTP_POST_VARS[$namavendor];

if ($namavendor2!='')

mysql_query("INSERT INTO personalize(customerId,vendorId) VALUES ('$hasil[customerId]','$namavendor2')")or die('SQL SALAh');

}

Keterangan: Program di atas melakukan penyimpanan data member ke dalam tabel Customer.

4.2.6. Menu Member

Menu ini tampil apabila user sudah melakukan login. Menu ini tampil

pada semua halaman yang dapat diakses melalui menu umum maupun menu

lainnya. Menu ini menggantikan menu login.

(9)

Gambar 4.6. Menu Member

Selain menu member, ada link baru yang muncul untuk apabila member sudah melakukan login yaitu link add shopping cart.

Segmen Program 4.10. Proses Cek Untuk Menu Member

if (!empty($HTTP_COOKIE_VARS["memberUser"]))

{ // Tampilakan menu Member dan link add shopping cart }

Keterangan: Program di atas melakukan pemeriksaan hak akses untuk member.

4.2.7. Menu Vendor

Menu ini tampil pada semua halaman. Melalui menu ini user dapat menampilkan produk sesuai dengan jenis vendor yang dipilih.

Gambar 4.7. Menu Vendor

Segmen Program 4.11. Proses Menu Vendor

// Memilih semua jenis vendor dari tabel vendor.

$query=mysql_query("SELECT vendorId,vendorName

FROM vendor

ORDER BY vendorName asc") or die("ERROR");

Keterangan: Program di atas melakukan query untuk mengambil jenis vendor.

4.2.8. Menu Top Order

Menu ini tampil pada setiap halaman yang menampilkan lima produk

yang paling banyak terjual. Melalui menu ini user dapat menampilkan detail

produk sesuai dengan tipe produk yang dipilih.

(10)

Gambar 4.8. Menu Top Order

Segmen Program 4.12. Proses Menu Top Order

// Memilih 5 produk yang paling banyak terjual dari tabel detailOrd

$query=mysql_query("SELECT SUM(detailOrdQty) as total, b.detailProductId, c.productType

FROM detailOrd as a,detailProduct as b,product as c WHERE a.detailProductId=b.detailProductId &&

b.productType=c.productType

GROUP BY productType ORDER BY total desc LIMIT 0,5") or die("ERROR");

Keterangan: Program di atas melakukan query untuk mengambil lima produk yang paling laku terjual.

4.2.9. Menu Top Hit

Menu ini tampil pada setiap halaman yang menampilkan lima produk yang paling sering diakses oleh pengunjung website. Melalui menu ini user dapat menampilkan detail produk sesuai dengan tipe produk yang dipilih.

Gambar 4.9. Menu Top Hit

Segmen Program 4.13. Proses Menu Top Hit

// Memilih 5 produk yang paling sering diakses dari tabel product

$query=mysql_query("SELECT productHit,productType

FROM product

ORDER BY productHit desc LIMIT 0,5") or die("ERROR");

Keterangan: Program di atas melakukan query untuk mengambil lima produk

yang paling sering diakses.

(11)

4.2.10. Menu News Search

Menu ini tampil pada halaman dan dapat diakses melalui menu umum news dan detailNews. Menu ini digunakan untuk mencari berita-berita sesuai dengan bulan, tahun dan kata kunci yang diinginkan.

Gambar 4.10. Menu News Search

4.2.11. Halaman News

Halaman ini berisi ringkasan berita-berita selama tahun ini. Jika halaman ini diakses melalui menu umum maka halaman ini menampilkan semua berita tahun ini, tetapi apabila menggunakan menu search news maka ditampilkan berita sesuai dengan spesifikasi yang diinginkan.

Gambar 4.11. Halaman News

Segmen Program 4.14. Proses View News Melalui Menu Umum

$query = "SELECT newsId,newsTitle,newsDesc,newsDateAdded FROM news WHERE YEAR(newsDateAdded)=YEAR(now())ORDER BY newsId desc

LIMIT $indexId,$nilaiAwal";

(12)

Keterangan: Program di atas melakukan query untuk menampilakan ringkasan berita tahun ini.

Segmen Program 4.15. Proses Pengecekan Bulan, Tahun dan Keyword

if (($month!="") && ($year!="")) {

$str1="&&(MONTHNAME(newsDateAdded)='$month'

&&YEAR(newsDateAdded)='$year')";

}elseif ($month!="") {

$str1="&&(MONTHNAME(newsDateAdded)='$month')";

}

elseif ($year!="") {

$str1=" && ( YEAR(newsDateAdded)='$year') "; } if ($str1=="")

{if($keywor }

d==""){ $keyword="$%^";}

Keterangan: Program di atas melakukan pengecekan filter untuk query pencarian data news berdasarkan bulan, tahun dan kata kunci.

Segmen Program 4.16. Proses News Melalui Menu News Search

$hasil1=mysql_query("SELECT COUNT(newsId) as jum FROM news WHERE (newsDesc LIKE '%$keyword%' ||

newsTitle LIKE '%$keyword%') $str1 ") or die("ERROR");

Keterangan: Program di atas melakukan query pencarian data news berdasarkan bulan, tahun dan kata kunci.

Segmen Program 4.17 Proses Pengecekan Halaman

$temp=$nilai1[jum]/$nilaiAwal;$jumhal=ceil($temp);

if ($indexId=='') {

$indexId=0;$indexIdPrev=0;$indexIdNext=$nilaiAwal;

$page=($indexId/$nilaiAwal)+1;

}

if ($next=='true') {

$indexIdNext=$indexId+$nilaiAwal; $page=($indexId/$nilaiAwal)+1;

if($indexId>0)

{ $indexIdPrev=$indexId-$nilaiAwal;}

}

elseif ($back=='true')

{

$page=($indexId/$nilaiAwal)+1;

if($indexId>=0)

{ $indexIdPrev=$indexId-

$nilaiAwal;$indexIdNext=$indexId+$nilaiAwal;}

}

elseif ($backDetail==true) {

$indexId=$index;$indexIdNext=$indexId+$nilaiAwal;

$page=($indexId/$nilaiAwal)+1;

(13)

if($indexId>=0)

{$indexIdPrev=$indexId-$nilaiAwal;}

else{$indexIdPrev=0;}

}

elseif ($goto==true) {

$indexId=($temphal-1)*$nilaiAwal;

$indexIdNext=$indexId+$nilaiAwal;

$page=($indexId/$nilaiAwal)+1;

if($indexId>=0) { $indexIdPrev=$indexId-$nilaiAwal;}

else { $indexIdPrev=0;}

}

Keterangan: Program di atas menjalankan proses untuk memeriksa halaman yang diakses. Segmen program ini digunakan untuk semua halaman website yang menampilkan data dalam jumlah banyak seperti hasil search news, search product, view news, dan view product untuk menunjukan pada user posisi halaman yang sedang diakses.

4.2.12. Halaman Search Product

Halaman ini digunakan untuk mencari produk yang sesuai dengan spesifikasi yang dipilih. Halaman ini dapat diakses melalui menu utama.

Gambar 4.12. Gambar Halaman Search Product

4.2.13. Halaman Search Result

Halaman ini menampilakan data produk, hasil dari pencarian sesuai

dengan spesifikasi yang dipilih.

(14)

Gambar 4.13. Halaman Search Result

Segmen Program 4.18. Proses Pengecekan Jenis Vendor

if ($s2==""){$strQuery2="";}else{$strQuery2="&& vendorId='$s2'";}

Keterangan: Program di atas melakukan pengecekan filter query untuk jenis vendor.

Segmen Program 4.19. Proses Pengecekan Kisaran Harga

if ($s3=='null'){ $strQuery3=""; }

elseif($s3=='1'){ $strQuery3="&& productPrice<1000000";}

elseif($s3=='12'){$strQuery3=" && productPrice>1000000 &&

productPrice<2000000";}

elseif($s3=='24')

{ $strQuery3="&& productPrice<4000000 && productPrice>2000000";}

elseif($s3=='4'){ $strQuery3="&& productPrice>4000000";}

Keterangan: Program di atas melakukan pengecekan filter query untuk kisaran harga.

Segmen Program 4.20. Proses Pengecekan Jenis Feature

for($i=1;$i<=$max;$i++) {

$namafeature="feature$i";

if (isset($rhs))$namafeature2=$HTTP_POST_VARS[$namafeature];

else $namafeature2=$HTTP_GET_VARS[$namafeature];

if ($namafeature2!='') {

if ($strQuery=="") { $strQuery="featureId='$namafeature2'";}

else {$strQuery=$strQuery."|| featureId='$namafeature2'";}

$kirimStr=$kirimStr."&feature$i=$namafeature2";

} }

Keterangan: Program di atas melakukan pengecekan filter query untuk jenis

feature.

(15)

Segmen Program 4.21. Proses Query Search Product

$hasil = mysql_query("SELECT DISTINCT a.productType, `productPrice`,

`productSize`, `productWeight`, `productImageSmall`,

`productImageLarge`,

`productTimeTalk`,`productTimeStandby`,`productNetwork`,`productS creen`, `productSummary`,`productDateAdded`,`vendorId`

FROM product as a,productFeature as b

WHERE (a.productType=b.productType $strQuery2 $strQuery3) &&

($strQuery) ORDER BY `productDateAdded` DESC LIMIT $indexId,$nilaiAwal") or die("ERROR");

Keterangan: Program di atas melakukan query pencarian data produk berdasarkan jenis vendor,kisaran harga dan jenis feature.

4.2.14. Halaman Compare

Halaman ini digunakan untuk membanding produk yang diinginkan sesuai dengan tipe produk yang diinginkan. Halaman ini diakses melalui menu utama. Yang pertama dilakukan adalah memilih jenis vendor dari produk yang mau di bandingkan.

Gambar 4.14. Halaman Compare

4.2.15. Halaman Compare Result

Halaman ini menampilkan hasil perbandingan produk dari tipe produk

yang dipilih sesuai dengan jenis vendor. Segmen program 4.12 dilakukan

sebanyak produk yang mau dibandingkan. Minimum dua produk.

(16)

Gambar 4.15. Halaman Compare Result

Segmen Program 4.22. Proses Query Compare Product

$hasilProduct1 = mysql_query(" SELECT`productType` ,`productPrice`,

`productSize`, `productWeight`, `productImageSmall`,

`productImageLarge`, `productTimeTalk`, `productTimeStandby`,

`productNetwork`, `productScreen`, `productSummary`,

`productDateAdded`, productRingtone, productPhonebook, a.vendorId, b.vendorName

FROM `product` as a, vendor as b

WHERE `productType` ='$p1' && a.vendorId=b.vendorId");

$nilaiProduct1=mysql_fetch_array($hasilProduct1);

Keterangan: Program di atas melakukan query untuk menampilkan hasil dari perbandingan produk.

4.2.16. Halaman Product

Halaman ini diakses melalui menu umum dan menampilkan semua data

produk. Apabila user member sudah melakukan login maka data yang tampil

adalah produk dengan tipe vendor yang disukai oleh member tersebut. Halaman

product juga dapat diakses melalui menu vendor sehingga menampilkan produk

yang sesuai dengan vendor yang dipilih.

(17)

Gambar 4.16. Halaman Product

Segmen Program 4.23. Proses Query Product Umum

$hasil=mysql_query("SELECT DISTINCT a.productType, `productPrice`,

`productSize`, `productWeight`, `productImageSmall`,

`productImageLarge`,

`productTimeTalk`,`productTimeStandby`,`productNetwork`,`productSc reen`, `productSummary`,`productDateAdded`,`vendorId`

FROM product as a ORDER BY `productDateAdded` DESC

LIMIT $indexId,$nilaiAwal") or die("ERROR");

Keterangan: Program di atas melakukan query untuk menampilkan produk.

Segmen program ini juga digunakan untuk menampilkan halaman view order dan view account credit yang diakses melalui menu member. Namun yang membedakan adalah tabel dan filter data yang ditampilkan berdasarkan member yang melakukan login.

Segmen Program 4.24. Proses Pengecekan Jenis Vendor Favorit Member

$prsnQuery=mysql_query("SELECT vendorId FROM personalize WHERE customerId='$t'");

$jum=mysql_num_rows($prsnQuery);

$loop=1;

$strQuery="";

While ($hasilPrsnQuery=mysql_fetch_array($prsnQuery)) {

$tempHasil=$hasilPrsnQuery[vendorId];

if ($loop==1) {$strQuery=$strQuery."vendorId=$tempHasil";}

else{$strQuery=$strQuery."|| vendorId=$tempHasil";}$loop++;

}

Keterangan: Program di atas melakukan proses pemeriksaan jenis vendor yang disukai oleh member.

Segmen Program 4.25. Proses Query Product Untuk Member

if (!empty($HTTP_COOKIE_VARS["memberUser"]))

(18)

{

$hasil=mysql_query("SELECT DISTINCT a.productType, `productPrice`,

`productSize`, `productWeight`, `productImageSmall`,

`productImageLarge`, `productTimeTalk`, `productTimeStandby`,

`productNetwork`, `productScreen`,

`productSummary`,`productDateAdded`,`vendorId`

FROM product as a

WHERE $strQuery

ORDER BY `productDateAdded` DESC

LIMIT $indexId,$nilaiAwal") or die("ERROR");

}

Keterangan: Program di atas melakukan query untuk menampilkan produk sesuai dengan vendor favorite member.

Segmen Program 4.26. Proses Query Product Sesuai Jenis Vendor

if (isset($id)) {

$hasil=mysql_query("SELECT DISTINCT a.productType, `productPrice`,

`productSize`, `productWeight`, `productImageSmall`,

`productImageLarge`, `productTimeTalk`, `productTimeStandby`,

`productNetwork`, `productScreen`,

`productSummary`,`productDateAdded`,`vendorId`

FROM product as a

WHERE vendorId=$id

ORDER BY `productDateAdded` DESC

LIMIT $indexId,$nilaiAwal") or die("ERROR");

}

Keterangan: Program di atas melakukan query untuk menampilkan produk sesuai dengan jenis vendor.

4.2.17. Halaman Detail Product

Halaman ini menampilkan data produk yang dipilih secara jelas. Melalui halaman ini juga diberikan link add shopping cart dan link credit simulation.

Segmen Program 4.27. Proses Query Detail Product

$query = "SELECT productType, productImageLarge, productSize,

productWeight, vendorId,productTimeTalk, productTimeStandby,productPrice,productDateAdded,

productSummary,productScreen,productNetwork,productRingtone, productPhonebook, productBox

FROM product as a

WHERE a.productType='$id'";

$hasil = mysql_query($query) or die("ERROR");

Keterangan: Program di atas melakukan query untuk menampilkan detail product.

Segmen program ini juga digunakan untuk semua halaman yang menampilkan

detail data seperti halaman detail news, detail customer order dan detail account

(19)

credit. Juga digunakan pada halaman administrator untuk menampilkan detail data.

Gambar 4.17. Halaman Detail Product

4.2.18. Halaman Add Shopping Cart

Halaman ini digunakan oleh member untuk memilih warna dari produk

yang dimasukan ke shopping cart. Pada halaman Add Shopping Cart, juga

ditampilkan data detail produk seperti pada halaman detail product dengan

menggunakan segmen program 4.20. Pilihan warna diberikan apabila stok produk

masih ada.

(20)

Gambar 4.18. Halaman Add Shopping Cart

Segmen Program 4.28. Proses Filter Warna Produk

<?

$query2="SELECT `productType`,`detailProductColor`,`detailProductId`

,`detailProductStock`

FROM `detailProduct` WHERE productType='$id'";

$hasil2=mysql_query("$query2");

?>

<select name="menu2" onChange="MM_jumpMenu('self',this,0)">

<option selected value="addShopCart.php?id=<? echo"$id";?>">

---</option>

<?

while ($nilai2=mysql_fetch_array($hasil2)) { if($nilai2[detailProductStock]>0) {

?>

<option value="shopCart.php?id=<? echo"$nilai2[detailProductId]";?>"

>

<? echo"$nilai2[detailProductColor]";?></option>

<?

} }

?>

Keterangan: Program di atas menjalankan proses untuk menampilkan warna pilihan dari produk yang stoknya masih tersedia.

Segmen Program 4.29. Proses Pengecekan Hak Akses

function chek() {

global $HTTP_COOKIE_VARS;

if (!isset($HTTP_COOKIE_VARS["adminUser"])) { exit; } }

Keterangan: Program di atas digunakan untuk memeriksa hak akses dari tiap-tiap

halaman.

(21)

4.2.19. Halaman Shopping Cart

Shopping cart menyimpan daftar belanja member. Setiap member mempunyai shopping cart masing-masing.

Gambar 4.19. Halaman Shopping Cart

Segmen Program 4.30. Proses Penambahan Produk Di Shopping Cart

if (isset($HTTP_GET_VARS["id"])) {

$get=mysql_query("SELECT a.detailProductId,b.productType FROM shoppingCart as a, product as b, detailProduct as c

WHERE customerId='$hasilcari[customerId]' && a.detailProductId='$id' &&

a.detailProductId=c.detailProductId && b.productType=c.productType");

$jumGet=mysql_num_rows($get);

if ($jumGet==0) {

mysql_query("INSERT INTO shoppingCart ( shoppingCartQty, shoppingCartDateAdded, customerId, detailProductId)

VALUES ('1',now(),'$hasilcari[customerId]','$id')");

} else {

$hasilget=mysql_fetch_array($get);

$warning="$hasilget[productType]&nbsp;already in shopping cart";}

}

Keterangan: Program di atas melakukan query untuk menambah produk pada tabel shopping cart.

Segmen Program 4.31. Proses Query Shopping Cart

$nilai=mysql_query("SELECT shoppingCartQty, shoppingCartDateAdded, b.detailProductId, customerId, c.productPrice, c.productType, d.vendorName, a.detailProductColor, a.detailProductStock

FROM shoppingCart as b, detailProduct as a , product as c, vendor as d

WHERE customerId='$hasilcari[customerId]' &&

a.detailProductId=b.detailProductId &&

a.productType=c.productType && c.vendorId=d.vendorId ORDER BY shoppingCartDateAdded asc");

$jum=mysql_num_rows($nilai);

(22)

Keterangan: Program di atas menjalankan proses untuk menampilkan data shopping cart.

Segmen Program 4.32. Proses Remove Shopping Cart Data

$temp="scdelete$hasil[detailProductId]";

$temp=$HTTP_POST_VARS[$temp];

if ($temp!='') {

mysql_query("DELETE FROM shoppingCart

WHERE customerId='$hasilcari[customerId]' &&

detailProductId='$hasil[detailProductId]'");

}

Keterangan: Program di atas menjalankan proses menghapus data dari shopping cart yang pilih.

Segmen Program 4.33. Proses Update Quantity Shopping Cart

$temp="scqty$hasil[detailProductId]";

$temp=$HTTP_POST_VARS[$temp];

if ((is_numeric($temp)) && ($temp>0)) {

if ($temp > $hasil[detailProductStock]) {

if ($hasil[detailProductStock]==0)

{

$warning=$warning."$hasil[vendorName] $hasil[productType]

$hasil[detailProductColor] remove from shopcart, stock is empty !<br>";

mysql_query("DELETE FROM shoppingCart

WHERE customerId='$hasilcari[customerId]' &&

detailProductId='$hasil[detailProductId]'");

} else

{

$warning=$warning."Stok $hasil[vendorName]

$hasil[productType] $hasil[detailProductColor] is not available !<br>";

mysql_query("UPDATE shoppingcart

SET shoppingCartQty='$hasil[detailProductStock]'

WHERE customerId='$hasilcari[customerId]' &&

detailProductId='$hasil[detailProductId]'");

}

}else {

mysql_query("UPDATE shoppingCart SET shoppingCartQty='$temp'

WHERE customerId='$hasilcari[customerId]' &&

detailProductId='$hasil[detailProductId]'");

} }else

{

$warning="Shopping Cart Quantity $hasil[vendorName] $hasil[productType]

$hasil[detailProductColor] Value NOT VALID !";

}

Keterangan: Program di atas menjalankan proses untuk mengedit quantity pada

shopping cart.

(23)

Segmen Program 4.34. Proses Delete All Item

mysql_query("DELETE FROM shoppingCart

WHERE customerId='$hasilcari[customerId]' ");

$warning="Delete All Item In Shopping Cart, DONE";

Keterangan: Program di atas menjalankan proses untuk mengedit quantity pada shopping cart.

4.2.20. Halaman Delivery and Payment Data

Halaman ini berisi form yang harus diisi oleh member untuk melengkapi data pembelian. Data tersebut nantinya dibagi menjadi dua yaitu delivery data untuk disimpan ke dalam database dan payment data yang digunakan untuk memproses validasi kartu kredit secara virtual. Ada dua cara pembayaran yang dapat digunakan yaitu tranfer rekening dan kartu kredit.

Segmen Program 4.35. Proses Menyimpan Data Order dan Detail Order Metode Transfer

mysql_query("INSERT INTO `ord` ( `customerId`,`customerName`,

`customerAddress`,`customerPostCode`, `customerProvince`,

`customerCity`, `customerTelephone`, `customerHandphone`,

`customerEmailAddress`,

`delName`, `delAddress`, `delPostCode`, `delProvince`, `delCity`,

`datePurchased`,

`ordDelivery`,ordPayment,accountName,accountNumber)

VALUES ('$idCust', '$name', '$address', '$postCode', '$province', '$city','$telephone','$handphone','$emailAddress','$delName','$del Address','$delPostCode','$delProvince','$delCity',now(),'N','T','$

transfer_name','$transfer_accountnumber')");

$nilaiOrd=mysql_query("SELECT ordId FROM ord WHERE customerId='$idCust' ORDER BY ordId desc LIMIT 0,1");

$jumOrd=mysql_num_rows($nilaiOrd);

$hasilOrd=mysql_fetch_array($nilaiOrd);

$nilaiSc=mysql_query("SELECT shoppingCartQty, b.detailProductId, customerId, c.productPrice FROM shoppingCart as b,

detailProduct as a , product as c

WHERE customerId='$idCust' && a.detailProductId=b.detailProductId

&&a.productType=c.productType ");

$jumSc=mysql_num_rows($nilaiSc);

while($hasilSc=mysql_fetch_array($nilaiSc)) {

mysql_query("INSERT INTO `detailord` (`detailOrdQty`,

`detailOrdFinalPrice`, `ordId`, `detailProductId`)

VALUES ('$hasilSc[shoppingCartQty]', '$hasilSc[productPrice]', '$hasilOrd[ordId]', '$hasilSc[detailProductId]')");

mysql_query("UPDATE detailProduct

SET detailProductStock = detailProductStock-

$hasilSc[shoppingCartQty]

WHERE detailProductId='$hasilSc[detailProductId]'");

}

mysql_query("DELETE FROM shoppingCart

(24)

WHERE customerId='$idCust'");

Keterangan: Program ini melakukan penyimpanan data order untuk metode pembayaran secara transfer ke dalam database.

Gambar 4.20. Halaman Delivery and Payment Data

Segmen Program 4.36. Proses Penyimpanan Data Delivery Sementara Metode Kartu Kredit

session_start();

session_register("idCust","name","address","emailAddress","postCode","cit y","province","telephone","handphone","delName","delAddress","delPostCode

","delCity","delProvince");

Keterangan: Program di atas melakukan penyimpanan data pengiriman order

sebelum disimpan ke dalam database.

(25)

Segmen Program 4.37. Proses Encryption Payment Data Metode Kartu Kredit

$ccNumber="$cc1"."$cc2"."$cc3"."$cc4";

$temp=strlen("$ccNumber");

$s="";

for ($i=0;$i<$temp;$i++) {

$x=substr("$ccNumber","$i",1); $x=ord("$x");

$x=$x+1;$s.=chr($x);

}

$s=strrev("$s");

Keterangan: Program di atas melakukan melakukan proses enkripsi terhadap data nomor kartu kredit member.

4.2.21. Halaman Proses Validasi Kartu Kredit

Halaman ini digunakan untuk memeriksa validasi dari kartu kredit yang digunakan untuk pembayaran. Halaman ini mengakses database bank.

Segmen Program 4.38. Koneksi Database Bank

mysql_connect("localhost","","") or die("Koneksi server Gagal");

mysql_select_db("bank") or die("Koneksi database error)");

Keterangan: Program di atas melakukan koneksi ke server localhost dan dihubungkan ke database bank.

Segmen Program 4.39. Proses Decryption Payment Data

$temp=strlen("$number");

$number=strrev("$number");

for ($i=0;$i<$temp;$i++) {

$x=substr("$number","$i",1);

$x=ord("$x");

$x=$x-1;

$s.=chr($x);

}

Keterangan: Program di atas melakukan dekripsi terhadap data nomor kartu kredit member.

Segmen Program 4.40. Proses Pengecekan Validasi Kartu Kredit

$cc="false";

$query=mysql_query("SELECT

`ccNumber`,`ccName`,`ccLimit`,`ccExpire`,`ccType` FROM `creditcard");

while($nilai=mysql_fetch_array($query)) {

if (($s==$nilai[ccNumber])&& ($amount<=$nilai[ccLimit]) &&

($type==$nilai[ccType]) && ($expire==$nilai[ccExpire])) {

(26)

$y1=substr("$expire",2,2);$y2=date(y);

if ($y1>$y2) { $cc="true"; }

elseif ($y1==$y2)

{$m1=substr("$expire",0,2); $m2=date(m);

if($m1>=$m2){$cc="true"; }

}

} }

Keterangan: Program di atas melakukan pengecekan data kartu kredit member terhadap data yang ada pada database bank.

Segmen Program 4.41. Proses Pencatatan Transaksi Kartu Kredit

if ($cc=="true")

{ mysql_query("UPDATE creditcard

SET ccLimit=ccLimit-$amount

WHERE ccNumber='$s'") or die("sql die");

mysql_query("INSERT INTO customerTransaction (ccNumber,dateTransaction, descTransaction, amountTransaction)

VALUES ('$s',now(),'PeaceCell','$amount')") or die("SQL SALAH");

header("location:

http://localhost/peaceCell/cekValidation.php?valid=1");

}

elseif ($cc=="false") {

header("location: ://localhost/peaceCell/cekValidation.php?valid=0");

}

Keterangan: Program di atas melakukan penyimpanan data transaksi kartu kredit ke dalam database bank.

4.2.22. Halaman Proses Confirm Payment

Halaman ini digunakan untuk memeriksa hasil dari proses validasi kartu kredit yang sudah dilakukan sebelumnya dan proses penyimpanan data order.

Segmen Program 4.42. Proses Cek Hasil Validasi Kartu Kredit

if($valid==1) {

// Lakukan Proses Penyimpanan data order ketabel ord dan detailOrd $valid="Order Process Succes";

header("location:konfirmOrder.php?valid=$valid");

}

elseif ($valid==0) {

$valid="Order Process Failed";

header("location:konfirmOrder.php?valid=$valid");

}

Keterangan: Program di atas melakukan proses pemerikasaan validasi kartu kredit

yang dipakai untuk melakukan pembayaran.

(27)

Segmen Program 4.43. Proses Insert Data Order Untuk Metode Pembayaran Kartu Kredit

session_start();

mysql_query("INSERT INTO `ord` ( `customerId`, `customerName`,

`customerAddress`, `customerPostCode`, `customerProvince`,`customerCity`,

`customerTelephone`, `customerHandphone`, `customerEmailAddress`,

`delName`, `delAddress`, `delPostCode`, `delProvince`, `delCity`,

`datePurchased`, `ordDelivery`,`ordPayment`)

VALUES('$idCust','$name','$address','$postCode','$province','$city','$tel ephone','$handphone','$emailAddress','$delName','$delAddress','$delPostCo de','$delProvince','$delCity',now(),'N', 'C')");

Keterangan: Program di atas melakukan query penyimpanan data order untuk metode pembayaran dengan kartu kredit ke dalam database.

Segmen Program 4.44. Proses Insert Data Detail Order Untuk Metode Pembayaran Kartu Kredit

// Mengambil OrderId dari order yang baru disimpan

$nilaiOrd=mysql_query("SELECT ordId FROM ord WHERE customerId='$idCust' ORDER BY ordId desc LIMIT 0,1");

$jumOrd=mysql_num_rows($nilaiOrd);

$hasilOrd=mysql_fetch_array($ni // Mengambil Isi Shopping Cart

laiOrd);

$nilaiSc=mysql_query("SELECT shoppingCartQty, b.detailProductId, customerId, c.productPriceFROM shoppingCart as b, detailProduct as a , product as c

WHERE customerId='$idCust' && a.detailProductId=b.detailProductId

&&

a.productType=c.productType ");

$jumSc=mysql_num_rows($nilaiSc);

// Memindah Isi shopping cart Ke Order Detail,update stok dan delete shopping cart

while($hasilSc=mysql_fetch_array($nilaiSc))

{

mysql_query("INSERT INTO `detailord` (`detailOrdQty`,

`detailOrdFinalPrice`, `ordId`, `detailProductId`)

VALUES ('$hasilSc[shoppingCartQty]', '$hasilSc[productPrice]', '$hasilOrd[ordId]',

'$hasilSc[detailProductId]')");

mysql_query("UPDATE detailProduct

SET detailProductStock=detailProductStock-

$hasilSc[shoppingCartQty]

WHERE detailProductId='$hasilSc[detailProductId]'");

}

mysql_query("DELETE FROM shoppingCart WHERE customerId='$idCust'");

Keterangan: Program di atas melakukan query penyimpanan data detail order

untuk metode pembayaran dengan kartu kredit ke dalam database.

(28)

4.2.23. Menu Administrator

Menu administrator tampil berdasarkan status login. Ada dua status dari administrator yaitu administrator system yang bertugas untuk menangani maintenace data web dan administrator order yang menangani order customer dan shopping cart.

Gambar 4.21. Menu Administrator System

Gambar 4.22. Menu Administrator Order

4.2.24. Halaman Add Product

Halaman ini digunakan untuk menambah data produk baru oleh

administrator system.

(29)

Gambar 4.23. Halaman Add Product

Segmen Program 4.45. Proses Upload Picture

$imgalt=(isset($HTTP_POST_VARS['imgalt']))?$HTTP_POST_VARS['imgalt']:$img alt;

$image_name = (strlen($imgalt)) ? $HTTP_POST_VARS['imgalt'] :

$HTTP_POST_FILES['imageSmall']['name'];

$image_type = (strlen($imgalt)) ? $HTTP_POST_VARS['image_type'] :

$HTTP_POST_FILES['imageSmall']['type'];

$imgdesc = str_replace('"', '&amp;quot;', $HTTP_POST_VARS['imgdesc']);

$imgtype = explode(".",$image_name);

$imgtype = " ".$imgtype[count($imgtype)-1]." ";

if (!ereg(strtolower($imgtype), strtolower($fileupload_allowedtypes))) { die (fatal_error($txt[110])); }

if (strlen($imgalt))

{ $pathtofile = $fileupload_realpath."/".$imgalt;

$image = $HTTP_POST_VARS['image'];

} else {

$pathtofile = $fileupload_realpath."/".$image_name;

$image = $HTTP_POST_FILES['imageSmall']['tmp_name'];

}

// memastikan agar file tidak ada yang sama, di rename

$i = 1;

$pathtofile2 = $pathtofile;

$tmppathtofile = $pathtofile2;

$img2_name = $image_name;

$imgdata = $image_name;

while (file_exists($pathtofile2))

{ $pos = strpos($tmppathtofile, '.'.trim($imgtype));

$pathtofile_start = substr($tmppathtofile, 0, $pos);

$pathtofile2 = $pathtofile_start.'_'.zeroise($i++, 2).'.'.trim($imgtype);

(30)

$img2_name = explode('/', $pathtofile2);

$img2_name =

$img2_name[count($img2_name)-1];

$setnew='true';

}

if($setnew=='true')$imgdata = $img2_name;

if (file_exists($pathtofile) && !strlen($imgalt)) {

$i = explode(" ",$fileupload_allowedtypes);

$i = implode(", ",array_slice($i, 1, count($i)-2));

move_uploaded_file($image, $pathtofile2) or die(fatal_error($txt[109]));

$imgalt='true';

}

if (!strlen($imgalt))

{ move_uploaded_file($image, $pathtofile) die(fatal_error($txt[111]));

}

$image_small=$imgdata;

Keterangan: Program di atas melakukan proses upload gambar.

Segmen Program 4.46. Fungsi Untuk Mengeluarkan Nilai Nol

function zeroise($number,$threshold) { $l=strlen($number);

if ($l<$threshold)

for ($i=0; $i<($threshold-$l); $i=$i+1) { $number='0'.$number;}

return($number);

}

Keterangan: Program di atas merupakan fungsi untuk mengeluarkan nilai nol.

Segmen Program 4.47. Proses Add Product

mysql_query("INSERT INTO

product(productType,vendorId,productPrice,productSize,

productWeight,productImageSmall,productImageLarge,productTimeTalk, productTimeStandby,productNetwork,productScreen,productRingtone,

productPhonebook,productSummary,productBox,productDateAdded, productHit)

VALUES('$productType','$select','$productPrice','$productSize', '$productWeight','$image_small','$image_large','$productTimeTalk', '$productTimeStandby','$productNetwork','$productScreen',

'$productRingtone', '$productPhonebook','$productSummary', '$box',now(),'0')") or die('ERROR');

Keterangan: Program di atas melakukan query penyimpanan data product.

Segmen program ini juga digunakan untuk semua penambahan data yang dilakukan oleh administrator system. Perbedaannya terletak pada tabelnya.

Halaman yang menggunakan segmen program 4.46 adalah halaman add customer,

add customer credit, add feature, add vendor, add news, add admin.

(31)

Segmen Program 4.48. Proses Add ProductFeature

$dat = mysql_query("select productType from product where productType =

$productType'");

$hasil=mysql_fetch_array($dat);

for($i=1;$i<=$max;$i++) {

$namafeature="feature$i";

$namafeature2=$HTTP_POST_VARS[$namafeature];

if ($namafeature2!='')

mysql_query("INSERT INTO productFeature(productType,featureId) VALUES ('$hasil[productType]','$namafeature2')")

or die(ERROR);

}

Keterangan: Program di atas melakukan query penyimpanan data product feature

4.2.25. Halaman Search Product

Halaman ini bertujuan mempermudah administrator system untuk mencari barang yang diedit datanya. Hasilnya ditampilkan pada halaman view product.

Gambar 4.24. Halaman Search Product

Segmen Program 4.49. Proses Query Search ProductFeature

if ($vendor!=""){ $str=" && vendorId='$vendor' ";}

$query = "SELECT`productType`, `productPrice`, `productSize`,

`productWeight`, `productImageSmall`, `productImageLarge`

,`productTimeTalk`, `productTimeStandby`, `productNetwork`,

`productScreen`, `productSummary`, `productDateAdded`,

`vendorId`

FROM `product`

WHERE productType LIKE '%$type%' $str ORDER BY `productDateAdded` DESC LIMIT $indexId,$nilaiAwal";

$hasil = mysql_query($query) or die("ERROR");

Keterangan: Program di atas menjalankan query untuk mencari data product

berdasarkan nama dan jenis vendor. Segmen program ini juga digunakan untuk

semua halaman search data yang dilakukan oleh administrator system dan order,

perbedaannya terletak pada tabelnya. Halaman yang menggunakan segmen

program 4.49 adalah halaman search customer, search customer credit, search

news, search customer order.

(32)

4.2.26. Halaman View Product

Halaman ini berfungsi untuk menampilkan semua data produk dan menampilkan hasil search product.

Gambar 4.25. Halaman View Product

Segmen Program 4.50. Proses Query View Product

$query = "SELECT `productType`, `productPrice`, `productSize`,

`productWeight`, `productImageSmall`, `productImageLarge`,

`productTimeTalk`, `productTimeStandby`, `productNetwork`,

`productScreen`, `productSummary`, `productDateAdded`, `vendorId`

FROM `product`

ORDER BY `productDateAdded` DESC

LIMIT $indexId,$nilaiAwal";

$hasil = mysql_query($query) or die("ERROR");

Keterangan: Program di atas menjalankan query untuk menampilkan data product .

Segmen program ini juga digunakan untuk menampilkan semua halaman view data yang diperlukan oleh administrator system dan order. Perbedaannya terletak pada tabelnya. Halaman yang menggunakan segmen program 4.50 adalah halaman view customer, view customer credit, view feature, view vendor, dan view customer order.

4.2.27. Halaman Edit Product

Halaman ini berfungsi untuk mengubah data produk yang dilakukan oleh

administrator system.

(33)

Gambar 4.26. Halaman Edit Product Segmen Program 4.51. Proses Query Edit Product

mysql_query("UPDATE product SET vendorId='$vendor',productPrice='$price', productSize='$productSize',productWeight='$productWeight',productT imeTalk='$productTimeTalk',

productTimeStandby='$productTimeStandby',

productNetwork='$productNetwork',productScreen='$productScreen', productSummary='$productSummary',productBox='$box'

WHERE productType='$id3' ") or die('ERROR');

Keterangan: Program di atas menjalankan query untuk mengedit data product.

Segmen program ini juga digunakan untuk mengubah data oleh administrator system dan order, perbedaannya terletak pada tabelnya. Halaman yang menggunakan segmen program 4.51 adalah halaman edit customer credit status, edit vendor, edit feature, edit news, edit admin, dan edit delivery order status.

Segmen Program 4.52. Proses Query Edit Product Feature

mysql_query("DELETE FROM productFeature

WHERE productType='$id3'")or die('ERROR');

for($i=1;$i<=$max;$i++) {

(34)

$namafeature="feature$i";

$namafeature2=$HTTP_POST_VARS[$namafeature];

if ($namafeature2!='')

mysql_query("INSERT INTO productFeature(productType,featureId) VALUES ('$id3','$namafeature2')")or die('ERROR');

}

Keterangan: Program di atas menjalankan query untuk mengedit data product feature.

4.2.28. Halaman Search Report Order

Halaman ini digunakan untuk melihat laporan order secara periode tertentu oleh administrator order. Hasilnya ditampilkan pada halaman report order.

Gambar 4.27. Halaman Search Report Order

4.2.29. Halaman Report Order

Halaman ini menampilkan hasil dari search report order. Laporan order yang ditunjukan berbeda dengan customer order di mana laporan order menampilkan jumlah tiap-tiap produk yang terjual dalam periode tertentu dan jumlah total order.

Gambar 4.28. Halaman Report Order

Segmen Program 4.53. Proses Query Report Order

$hasil=mysql_query("SELECT SUM(b.detailOrdQty*b.detailOrdFinalPrice) as total,

(35)

SUM(b.detailOrdQty) as jum, b.detailProductId, c.productType, d.vendorId,e.vendorName,c.detailProductColor

FROM ord as a,detailOrd as b,detailProduct as c,product as d, vendor as e WHERE a.datePurchased between '$date1' and '$date2' &&

a.ordId=b.ordId&& b.detailProductId=c.detailProductId &&

c.productType=d.productType && d.vendorId=e.vendorId GROUP BY b.detailProductId ")or die("ERROR");

Keterangan: Program di atas menjalankan query untuk menampilkan report order.

4.2.30. Link Delete Shopping Cart

Link ini digunakan untuk administrator order untuk menghapus data pada tabel shopping cart untuk member yang sudah tidak aktif lagi atau tidak mengunjungi website lebih dari tiga bulan.

Segmen Program 4.54. Proses Delete Shopping Cart

$hasil=mysql_query("SELECT customerId FROM customer

WHERE customerDaTeLastLogin<= DATE_SUB(NOW(), INTERVAL 3 MONTH)") or die("sqlSalah");

Keterangan: Program di atas menjalankan query untuk menghapus data shopping

cart dari member yang tidak aktif.

Referensi

Dokumen terkait

Anak memiliki sikap berpetualang (adventurousness) yang kuat. Anak akan banyak memperhatikan, membicarakan atau bertanya tentang berbagai hal yang sempat dilihat

Berdasarkan hasil perhitungan dari tabel dan grafik diatas, maka hasil dari debit air yang akan mengalir ke turbin untuk memutar turbin dipengaruhi dengan

Ketergantungan energi detektor menunjukan respon detektor terhadap perubahan energi berkasi radiasi yang mengenainya. Yang mana energi radiasi disebut juga kualitas

Hasil uji DMRT 5% pada parameter berat polong kering sawah per sampel yang tertera pada Tabel 4 menunjukkan bahwa perlakuan konsentrasi 100 ml/L air MOL bonggol

Guru Guo : “Bagus, hal ini sama saja dengan ayat tadi bahwa manusia yang telah memilih kepada yang baik, yaitu agama Khonghucu lalu didekap sekokoh-kokohnya artinya diyakini dan

Berdasarkan beberapa pendapat tersebut menunjukkan bahwa layanan bimbingan kelompok dapat menjadi salah satu cara untuk meningkatkan perilaku asertif siswa dalam upaya

Unlike physical goods, services cannot be stored therefore it is more likely the service organisation will be using chase or demand management strategy rather than a

Untuk bisa mempersiapkan diri Anda dengan sangat baik saat akan mengikuti wawancara penting, yakinkan bahwa Anda menghindari kesalahan- kesa- lahan berikut yang bisa menghalangi