Perbedaan Echo dan print di PHP

Untuk menampilkan output pada PHP, seringkali kita menggunakan echo – meskipun ada juga yang menggunakan print();
Perbedaan antara echo dan print adalah:
  1. print bukan merupakan “real function”: anda tidak harus menggunakan tanda kurung untuk menggunakannya.
    echo bukan merupakan function, anda tidak perlu menggunakan tanda kurung.
  2. print mereturn value 1.
    echo tidak mereturn value apapun.
<?php
$value1 = "Value 1";
$value2 = "Value 2";
echo $value1, $value2;
print undefined$value1, $value2); //menghasilkan error
//echo tidak mengembalikan suatu nilai, php mengembalikan value 1
undefined$suatu_variabel) ? echo 'true' : echo 'false'; //error
undefined$suatu_variabel) ? print 'true' : print 'false'; //dapat digunakan, meskipun tanpa tanda kurung, tapi berfungsi seperti function.
?>

Perbedaan Framework dengan CMS

Bagi para penggemar bahasa pemrograman istilah framework tentunya tidak asing. Terjemahan secara kamus adalah rangka atau kerangka. Namun secara istilah (dalam dunia programming) dapat diartikan sebagai kumpulan kelas (class), dan fungsi (function, method) yang disusun secara sistematis berdasarkan kegunaan atau fungsionalitas tertentu untuk mempermudah pembuatan atau pengembangan suatu aplikasi. Sebagian besar framework yang beredar saat ini dibangun berdasarkan Konsep OOP (Object Oriented Programming). Beberapa contoh umum kelas yang diesediakan framework adalah kelas Session, database, dan email.

Apa manfaat yang didapatkan dari penggunaan framework? Sepanjang penggunaan saya terhadap beberapa framework saya merasakan pengerjaan terhadap suatu coding menjadi lebih mudah. Selain itu kita juga menghemat waktu kerja dan penulisan kode yang panjang. Dan lebih mudah dalam pengaturan kode-kode berkas. Berkas kode ini dapat kita susun secara sistematis sesuai dengan struktur yang ditawarkan framework.

Menggunakan framework tentunya sangatlah berbeda bila dibandingkan dengan menggunakan CMS yang banyak sekali beredar di internet saat ini, baik yang berbayar maupun yang gratisan. Beberapa contoh CMS yang bisa kita gunakan (sepengetahuan saya) seperti: Mamboo, Joomla, Drupal, Wordpress, PhpBB, ZendChart, ATutor, dll.

Umumnya penggunaan CMS lebih condong kepada pemenuhan kebutuhan pengadaan aplikasi secara instan. Begitu CMS diinstalasikan, ditambah modul, komponen, plugin, dll, kita sudah bisa langsung mengatur isi aplikasi secara kebutuhan kita, tanpa harus berurusan dengan kode, kecuali bila kita menemukan bugs pada modul atau komponen tertentu. Atau singkat kata CMS adalah suatu produk jadi yang tinggal kita implementasikan saja sesuai dengan keinginan kita.

Sementara bila kita menggunakan framework sebagai dasar aplikasi berarti kita harus menuliskan kode program, memodelkan basis data, merumuskan kebutuhan klien, merancang aplikasin serta mendesain tampilan.

Perkembangan Komputer

Istilah Komputer berasal dari bahasa latin computare yang berarti alat hitung, karena awalnya komputer lebih digunakan sebagai perangkat bantu dalam hal penghitungan angka - angka sebelum akhirnya menjadi perangkat multifungsi. Komputer saat ini adalah hasil evolusi panjang dari komputer zaman dahulu, yang mulanya adalah alat mekanik dan elektronik. Berikut contoh penemuan komputer.

Abacus. Sempoa atau Abacus adalah alat kuno untuk penghitungan yang terbuat dari rangka kayu dangan sederetan poros yang berisi manik - manik yang bisa di geser. Alat ini digunakan untuk melakukan operasi aritmatika seperti penjumlahan, pengurangan, perkalian pembagian dan akar kuadrat.Muncul sekitar 5.000 Tahun yang lalu di cina dan masih digunakan di beberapa tempat hingga saat ini. Abacus dapat dianggap sebagai awal mula mesin komputasi (penghitungan). Penggunanya melakukan perhitungan dengan menggunakan biji - bijian geser yang diatur pada sebuah rak. Para pedagang di masa itu menggunakan abacus untuk menghitung transaksi perdagangan. Seiring dengan munculnya pensil dan kertas, abacus kehilangan popularitasnya.

Mesin Buatan Charles Babbage. Banyaknya kesalahan perhitungan dengan manual menginspirasikan seorang ilmuan yaitu Charles Babbage untuk menemukan mesin hitung mekanik sehingga dapat mengurangi kesalahan perhitungan. mesin mekanik sangat baik dalam mengerjakan tugas yang sama berulang kali tanpa kesalahan. sedangkan matematika membutuhkan repetisi sederhana dari suatu langkah - langkah tertentu. Masalah tersebut kemudian berkembang hingga menempatkan mesin mekanik. Kemudian babbage mendapat inspirasi dari perkembangan mesin hitung yang dikerjakanoleh wilhem Schickard, blaise pascal, dan gottfried leibniz. Charles Babbage mengusulkan suatu mesin untuk melakukan perhitungan persamaan differensial yang muncul pada tahun 1822. Mesin tersebut dinamakan mesin differensial.Dengan menggunakan tenaga uap, mesin tersebut dapat menyimpan program dan dapat melakukan kalkulasi serta mencetak hasilnya secara otomatis. Setelah bekerja dengan mesin differensial selama sepuluh tahun, babbage terinspirasi untuk memulai membuat komputer generasi purpose (multifungsi) pertama, yang di sebut analitycal engine.Atas sumbangan penemuan yang sangat besar ini maka Charles Babbage disebut bapak komputer modern.

Mesin Analitik (Analitical Engine)
Setelah Penemuan oleh bapak Charles Babbage, tidak ada penemuan baru yang dianggap berarti terhadap perkembangan dunia komputer. Sampai dengan munculnya ilmuan bernama Howard H.Aiken (1900-1973), seorang insinyur Harvard yang bekerja dengan IBM, berhasil memproduksi kalkulator elektronik untuk untuk US Navy. Kalkulator tersebut berukuran panjang setengah lapangan bola kaki dan memiliki rentang kabel sepanjang 500 mil. The Harvard-IBM Automatic Sequence Controlled Calculator (ASCC), atau Mark I, merupakan komputer relai elektronik. Ia menggunakan sinyal elektromagnetik untuk menggerakkan komponen mekanik. Mesin tersebut beroprasi dengan lambat (membutuhkan 3-5 detik untuk setiap perhitungan) dan tidak fleksibel (urutan kalkulasi tidak dapat di ubah). Kalkulator tersebut dapat melakukan perhitungan aritmatik dasar dan persamaan yang lebih kompleks. Komputer ini sesungguhnya merupakan dambaan Charles Babbage. Generasi Komputer.
Generasi Komputer
Komputer di bagi dalam beberapa generasi berdasarkan sejarah perkembangannya. Pada setiap generasi dibedakan berdasarkan kemampuan teknologinya untuk melakukan serangkaian proses (capability), makin rendah biaya operasionalnya (efficiency) dan makin mudah menggunakannya (user friendly). Berikut beberapa perkembangan generasi komputer.

Komputer Generasi I. Awal Mula diciptakan komputer adalah pada saat terjadinya Perang Dunia II, negara - negara yangf terlibat dalam perang tersebut berusaha mengembangkan komputer untuk mengeksploitasi potensi strategis yang dimiliki komputer. Hal ini meningkatkan pendanaan pengembangan komputer serta mempercepat kemajuan teknologi komputer. Pada tahun 1941, Konrad Zuse, seorang insinyur Jerman membangun sebuah komputer Z3 , untuk mendesain pesawat terbang dan peluru kendali. pihak sekutu juga membuat kemajuan lain dalam pengembangan komputer. Tahun 1943, pihak inggris menyelesaikan komputer pemecah kode rahasia yang dinamakan Colossus untukmemecahkan kode rahasia yang digunakan jerman. Perkembangan Komputer Generasi I diawali dengan terciptanya komputer yang disebut Electronic Numerical Integrator and Computer (ENIAC). Komputer ini dibuat oleh pemerintah Amerika Serikat yang bekerja sama dengan university of Pennysylvania pada tahun 1946. ENIAC terdiri atas 18.000 tabung vakum, 70.000 resistor, dan 5 juta titik solder.
Merupakan mesin yang sangat besar dan membutuhkan daya sebesar 160 kW. Komputer ini dirancang oleh John P.Eckert (1919-1995) dan John W.Mauchly (1907-1980). ENIAC merupakan komputer serbaguna (general purpose computer) yang bekerja 1000 kali lebih cepat dibanding Mark 1.
Pertengahan 1940-an, John Von Neumann (1903-1957) bergabung dengan tim University Of Pennysylvania dalam usaha membangun konsep desain komputer 40 tahun mendatang masih dipakai dalam teknik komputer. Von Neumann mendesain Electronic Discrete Variable Automatic Comnputer (EDVAC) pada tahun 1945 dengan sebuah memori untuk menampung baik program atau pun data. Teknik ini memungkinkan komputer untuk berhenti pada suatu saat dan kemudian melanjutkan pekerjaannya kembali. Kunci utama arsitektur Von Neumann adalah unit pemrosesan sentral (Central processor unit/ CPU), yang memungkinkan seluruh fungsi komputer dikoordinasikan melalui satu sumber tunggal. Tahun 1951, UNIVAC I (Universal Automatic Computer I) yang di buat oleh Remington Rand, menjadi komputer komersial pertama yang memanfaatkan model arsitektur Von Neumann. UNIVAC dimiliki oleh Badan Sensus Amerika Serikat dan General Electric. Salah satuhasil mengesankan komputer UNIVAC, yaitu prediksi kemenangan Eisenhower dalam pemilihan presiden Amerika Serikat pada tahun 1952. Komputer Generasi I memiliki ciri khas, yakni instruksi operasi dibuat secara spesifik untuk satu tugas tertentu. Setiap komputer memiliki program kode-biner masing - masing yang berbeda yang disebut "Bahasa Mesin"(Machine Language). Hal ini menyebabkan komputer sulit untuk diprogram dan membatasi kecepatannya. Berikut Karakteristik komputer Generasi I secara umum. 1) Sirkuitnya Menggunakan Tabung Hampa. Penggunaan Tabung Hampa tersebut yang membuat ukuran komputer pada masa tersebut berukuran sangat besar. 2) Komputer mempunyai silinder magnetik untuk menyimpan data. 3) Programnya hanya bisa dibuat menggunakan bahasa mesin. 4) Instruksi operasi dibuat secara spesifik untuk tugas tertentu. 5) Menggunakan Konsep Stored Program dengan memori utamanya adalah Magnetic Core Storage. 6) Menggunakan Simpanan Luar Magnetic Tape dan Magnetic Disk. 7) Ukuran fisik komputer besar, memerlukan ruang yang luas. 8) Suhunya cepat panas, sehingga diperlukan pendingin. 9) Prosesnya kurang cepat. 10) Daya simpannya kecil. 11) Membutuhkan daya listrik yang besar.
Beberapa komputer yang termasuk komputer generasi pertama adalah EDSAC, ACE, SEC, Havard Mark II, Havard Mark III, UNIVAC, dan lain sebagainya.

Komputer Generasi Kedua Bahasa mesin yang digunakan adalah bahasa assembly. Dalam bahasa assembly digunakan kode-kode berupa singkatan yang menggantikan kode biner. Komputer mampu mendesain produk, menghitung daftar gaji, mencetak data sehingga komputer generasi kedua ini sukses di pasaran. Ciri-ciri: 1) Ukuran fisik lebih kecil dibanding komputer generasi pertama karena telah menggunakan transistor pada sirkuitnya 2) Menggunakan memori yang cukup besar 3) Telah menggunakan media penyimpanan luar berbentuk removable disk seperti megnetic disk dan magnetic tape 4) Penggunaan aplikasinya lebih luar 5) Proses operasinya lebih cepat 6) Penggunaan daya lebih kecil 7) Program yang dibuat dapat menggunakan bahasa tingkat tinggi seperti FORTAN, COBOL, dan ALGOL.
Beberapa contoh dari komputer generasi kedua adalah IBM 7080, IBM 1400, UNIVAC SS90, UNIVAC III, PDP-1, PDP-8, Burroghts 200, dan lain sebagainya.


#Tobe Continue

Seputar PDO


Kali ini Kamar muka mau nge'bahas tentang PDO. Apa sih PDO itu? yarp... dari singkatannya PDO adalah PHP Data Objek. laah...!!! trus apa bedanya sma PHP biasa?

sepintas tidak ada bedanya, menurut saya sih PDO itu lebih memberikan 1 tingkat level keamanan. misalnya, mengantisipasi adanya SQL Injection yg biasa dilakukan oleh tangan2 jail (Hacker). haallaaah... apalah itu. pokoke PDO itu bla..bla..blaa... deh...!!!

dibawah ini adalah contoh query insert. bisa dilihat klw sintak nya menggunakan PHP biasa.


<?php
$host = "localhost";
$user = "root";
$password = ""; //password agan
$database_name = "makan";
 mysql_connect($host, $user, $password);
 mysql_select_db($database_name);
$query = "insert into piring (id,primer,lauk,minum) values ('001','Nasi', 'kerupuk','air_putih')";
 hasil = mysql_query($query);
if($hasil){ 
    echo "Makanan telah disiapkan"; 
}else{ 
    echo "Error! gagal menyaji makanan:".mysql_error(); 
}

Ok...!!! sekarang kita sulap ke PDO, contohnya kya gini sih. (kalo gak salah)

 <?php
$host = "localhost";
$user = "root";
$password = ""//password agan
$database_name = "makan";
$pdo = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
try{
$query = $pdo->prepare("insert into piring (id,primer,lauk,minum)
values (:id,:primer,:lauk,:minum)");
$dataSiswa = array(
':id' => '001',
':primer' => 'nasi',
':lauk' => 'kerupuk',
':minum' => 'air_putih'
);
$query->execute($dataSiswa);
  echo "Makanan telah disiapkan";
}catch(PDOException $e){
 echo "Error! gagal menyaji makanan:".$e->getMessage(); 
}

Ok Next. Query insert telah di lakukan, sekarang menampilkan data.

<?php
$host = "localhost";
$user = "root";
$password = ""; //password agan
$database_name = "makan";
 mysql_connect($host, $user, $password);
 mysql_select_db($database_name);
$query = mysql_query("select * from piring");
while($piring = mysql_fetch_array($query)){
  echo $piring['id'];
    echo $piring['primer'];
 echo $piring['lauk'];
 echo $piring['minum']
}

Nah... jika menggunakan PDO, contohnya kya gini. (Mudamudahan gak salah sih)

<?php
$host = "localhost";
$user = "root";
$password = ""; //Password agan
$database_name = "makan";
$pdo = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ));
$query = $pdo->prepare("select * from piring");
$query->execute();
while($piring = $query->fetch()){
 echo $piring['id'];
 echo $piring['primer'];
 echo $piring['lauk'];
 echo $piring['minum'];
}


Ok lanjut lagi... sekarang untuk mengedit data yg telah di buat.

<?php
$host = "localhost";
$user = "root";
$password = ""; //Password agan
$database_name = "makan";
 mysql_connect($host, $user, $password);
 mysql_select_db($database_name);
$query = "update piring set primer = 'bubur',lauk = 'garam',minum='kopi' where id='001'";
$hasil = mysql_query($query);
if($hasil){ 
 echo "Menu makanan diganti";
}else{ 
 echo "Error! gagal mengganti menu makanan".mysql_error();
}


Nah.. di ubah lagi ke PDO (Sekali lagi SEMOGA)

 <?php
$host = "localhost";
$user = "root";
$password = ""; //password agan
$database_name = "makan";
$pdo = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
try{
$query = $pdo->prepare("update piring set primer=:primer, lauk=:lauk, minum=:minum where id=:id");
$data = array(
 ':primer' => 'bubur',
 ':lauk' => 'garam',
 ':minum' => 'kopi',
 ':id' => '001'
);
$query->execute($data);
 echo "Menu makanan diganti";
}catch(PDOException $e){
 echo "Error! gagal mengganti menu makanan:".$e->getMessage();
}

Terakhir, menghapus data yg diinput

 <?php
$host = "localhost";
$user = "root";
$password = ""; //Password agan
$database_name = "makan";
mysql_connect($host, $user, $password);
mysql_select_db($database_name);
$id = "001";
$hasil = mysql_query("delete from piring where id='".$id."'");
if($hasil){
 echo "Makanan habis";
}else{
 echo "Makanannya gak habis:".mysql_error();
}

Sedangkan jika menggunakan PDO akan menjadi:

<?php
$host = "localhost";
$user = "root";
$password = ""; //password agan
$database_name = "makan";
$pdo = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
try{
$query = $pdo->prepare("delete from piring where id=:id");
$query->execute(array(
 ':id' => '001'
));
 echo "Makanan habis";
}catch(PDOException $e){
 echo "Makanannya gak habis".$e->getMessage();
}

Keuntungan Menggunakan PDO
Beberapa manfaat yang dapat diperoleh dari menggunakan PDO. Pertama PDO membantu mencegah SQL injection, PDO secara otomatis akan mengquote inputan user. Kedua PDO bisa digunakan untuk mengakses beberapa database berbeda. Jika hari ini kita menggunakan database MySQL, pada saat berganti database ke PostgreSQL maka tidak perlu lagi mengubah kode yang sudah dibuat. Yang ketiga PDO sudah mendukung database transaction. Yang keempatPDO lebih cepat bila dibandingkan dengan menggunakan fungsi mysql_query.

#Tobe Continue