Cara mudah belajar pemrograman komputer

Selasa, 31 Maret 2015

Cara Kerja GPS dan prinsip matematika yang diterapkan



Setelah beberapa waktu tidak menulis kali ini programmer goBlog kembali dengan membawa sedikit oleh-oleh dari project programming terakhir. Kali ini kita akan berkenalan dengan teknologi GPS atau global positioning sistem. Apa itu GPS? GPS adalah suatu sistem untuk menentukan suatu titik di permukaan bumi menggunakan teknologi satelit.
Yang akan kita bahas pada tulisan kali ini adalah bagaimana sebenarnya prinsip dan cara kerja GPS ini?
Sebelum kita lanjutkan, mungkin anda bertanya tanya apa hubunganya programming dengan GPS sih? well saya yakin telah menerangkan kepada anda pada tulisan sebelumnya bahwa programming bisa masuk ke segala bidang dan tidak terkecuali dengan bidang pemetaan dan geolokasi yang berkaitan erat dengan GPS.

Baiklah, lantas bagaimana prinsip kerja GPS ini? GPS mengadopsi prinsip matematika sederhana yang bernama trilateration. Mahluk apa sebenarnya trilateratrion ini, saya tidak akan menerangkan tentang pengertian dari prinsip ini, tetapi saya akan memberikan ilustrasi tentang cara kerja prinsip ini.

Kita buat sebuah permisalan. Katakanlah anda tersesat disuatu tempat pada peta datar. Bagaimana cara anda tahu dimana lokasi anda? katakanlah ada seorang teman memberitahu anda bahwa anda berada 5.52 KM dari Senayan. Apakah anda tau sekarang anda berada dimana? well, belum jelas tapi anda tahu anda berjarak 5.52 kilometer dari senayan, walaupun anda belum tahu arah selatan barat timur atau utara dari senayan. Gambarlah lingkaran dengan skala 1:100 di peta dengan titik Senayan berada di tengah tengah lingkaran tersebut dengan jari-jari skala dari 5.52 km.

Selanjutnya bayangkan ada satu lagi teman anda yang memberi tahu lokasi anda berada 10 KM dari mall kelapa gading. Gambar satu lagi lingkarang dengan cara yang sama namun kali ini titik tengah berada di mall kelapa gading dengan jari-jari lingkaran skala dari 10KM.

Apakah anda tahu dimana lokasi anda sekarang? belum? coba perhatikan kedua lingkaran yang kita buat, apakah bertemu pada titik tertentu? ya kedua lingkarang tersebut berpotongan di dua lokasi. Nah salah satu dari titik perpotongan lingkaran ini adalah lokasi anda.
Tapi bagaimana cara kita mengetahui lokasi yang mana yang merupakan lokasi kita sebenarnya? nah disinilah peran acuan ketiga.
Sekarang umpamakan ada satu lagi teman anda memberi tahu lokasi keberadaan anda adalah 10.44 KM dari museum sejarah jakarta.

Sekarang gambarlah lingkaran ketiga dengan metode yang sama dengan kedua lingkaran sebelumnya dengan titik pusat lingkaran berada di museum sejarah jakarta dan jari-jari lingkaran adalah skala dari 10.44 KM.

Apakah ketiga lingkaran tersebut berpotongan pada titik yang sama?
Jika jarak yang diberikan oleh ketiga teman anda kita asumsikan tepat, maka anda akan melihat ketiga lingkaran tersebut bertemu di suatu titik yang sama. Nah inilah lokasi anda.

Penjelasan diatas merupakan prinsip kerja dari trilateration, yang mana dapat menentukan lokasi suatu titik dengan bantuan tiga titik yang telah diketahui yaitu senayan, mall kelapa gading dan musem sejarah jakarta, Serta jarak masing masing titik ini ke lokasi keberadaan anda.

Nah prinsip dasar inilah yang kemudian diterapkan pada penentuan lokasi anda di permukaan bumi oleh GPS. Satelit GPS berperan sebagai 'teman' anda yang memberitahu jarak anda dengan satelit tersebut. Dan seperti kasus diatas, anda juga membutuhkan setidaknya 3 atau lebih satelit yang mengetahui atau dapat dijangkau oleh penerima GPS atau GPS receiver milik anda.
Seperti yang sudah kita tahu bahwa kita memerlukan setidaknya 3 Satelit yang dapat dijangkau oleh GPS Receiver kita agar dapat menentukan lokai kita dengan tepat, lalu bagaimana bisa ada tiga satelit yang dapat menjangkau kita sedangkan bumi kan berputar? ya kita harus menambah jumlah satelitnya. Setidaknya ada 24 satelit yang mengelilingi bumi untuk dapat memenuhi syarat agar minimal 4 Satelit dapat dijangkau dari setiap tempat di permukaan bumi pada setiap saat.

Pada awalnya GPS merupakan teknologi yang dikembangkan oleh militer amerika untuk keperluan militer, namun saat ini teknologi GPS sudah dapat dinikmati oleh sipil. Ada banyak sekali Teknologi GPS di dunia ini diantaranya GPS milik amerika, GLONAS dari RUSIA, dan Galielo dari Eropa dan masih banyak lagi.

Sabtu, 21 Maret 2015

Cara mendeteksi kamera tersembunyi - analisa teknis -



Akhir-akhir ini sering berseliweran artikel di sosial media tentang cara mendeteksi adanya kamera tersembunyi di suatu ruangan, untuk mencegah aktifitas kita direkam oleh pihak pihak tertentu ketika kita menginap di sebuah kamar hotel misalkan. Awalnya saya tidak tertarik untuk membaca artikel tersebut (dan memang belum membaca) tetapi kemudian salah seorang teman bertanya "mas apa bener sih bisa kaya gitu?" --menggunakan kamera handphone untuk mendeteksi kamera tersembunyi--peny.
Sebetulnya teknik ini dapat dijelaskan seperti ini, biasanya kamera seperti cctv dilengkapi dengan sensor IR atau infrared untuk dapat melihat didalam gelap. Nah inilah yang kita manfaatkan, mata kita memang tidak mampu menangkap spektrum cahaya ultraviolet atau inframerah akan tetapi teknologi kamera mampu menangkap keberadaan cahaya inframerah ini. Cara pembuktian sederhananya begini, ambil remote televisi (biasanya ada lampu di bagian depanya) ketika kita tekan tombol pada remote tersebut dan melihat ke lampu ini, kita tidak akan melihat perubahan. Namun coba arahkan kamera handphone anda dan tekan tombol pada remote sekali lagi, pada layar handphone anda akan tampak bahwa lampu pada remote tersebut menyala. Kenapa bisa begitu? karena nyala pada lampu remote tersebut adalah merupakan spektrum atau gelombang cahaya inframerah yang tidak dapat ditangkap oleh mata kita.
Jadi secara teknis ketika kita mengarahkan kamera kita ke seluruh ruangan untuk memeriksa apakah ada kamera pengintai yang terpasang atau tidak adalah teknik yang mungkin untuk dilakukan.

Namun Teknik ini tidak selamanya dapat bekerja. Ada beberapa faktor yang mempengaruhi kesuksesan teknik ini.
Pertama, tidak semua kamera pengintai dilengkapi sensor inframerah, jadi kalau tidak ada sensor inframerahnya berarti kita tidak bisa mendeteksi pancaran inframerah dari kamera tersembunyi tersebut.
Kedua, tidak semua kamera handphone dapat menangkap pancaran inframerah. Meskipun pada dasarnya sensor yang ada pada kamera digital termasuk kamera handphone pada faktanya sangat peka terhadap pancaran sinar inframerah dan bahkan dapat dikatakan sangat peka jika dibanding cahaya tampak atau cahaya yang bisa ditangkap oleh mata kita, hal ini justru bukan merupakan kelebihan dalam bidang photograpy sehingga banyak manufaktur kamera digital memasang sebuah filter untuk menghalangi masuknya spektrum cahaya inframerah kedalam sensor kamera, alhasil kamera tidak dapat menerima sensor inframerah. Walaupun teknik penghalang spektrum inframerah ini kebanyakan tidak sempurna penerapanya pada kamera murahan.
Ketiga, beberapa kamera pengintai yang memiliki fitur sensor inframerah hanya mengaktifkan sensor inframerah ketika keadaan pencahayaan dalam ruangan kurang, jadi untuk mengaktifkan sensor inframerah pada kamera pengintai ini kita harus membuat keadaan didalam ruangan menjadi gelap dengan mematikan lampu dan menutup semua sumber cahaya yang masuk baik melalui jendela maupun pintu.

Cara lain selain menggunakan kamera handphone adalah dengan mencoba melakukan panggilan telephone, disebutkan dalam salah satu artikel yang saya baca jika kita tidak bisa melakukan panggilan padahal sinyal kuat maka dapat dipastikan terdapat kamera pengintai disekitar lokasi tersebut. well, saya tidak mengatakan bahwa teknik ini tidak akan berhasil, tetapi saya lebih berfikir bahwa teknik ini kurang efektif. Mengapa? Teknik ini didasari atas pancaran gelombang elektromagnetik yang dapat mengganggu jalur kominikasi telephone selular anda. Namun hal ini sangat sangat bergantung pada adanya pancaran gelombang elektromagnetik yang dihasilkan oleh kamera pengintai tersebut, biasanya ini ada pada kamera tipe wireless atau nirkabel yang memerlukan jalur transmisi udara menggunakan gelombang radio untuk mengirimkan gambar yang ditangkap oleh kamera ke penerima yang kemungkinan berada pada ruangan lain. Namun bagaimana jika ternyata perangkat kamera pengintai tersebut tidak menggunakan transmisi wireless? maksudnya kamera yang langsung menyimpan hasil rekaman pada kamera tersebut seperti pencam atau kamera mini yang sekarang sudah macam-macam bentuknya jam tangan lah, gantungan kunci lah, usb lah dll dll. Tentu saja kemungkinan teknik ini akan berhasil sangatlah kecil.

Lantas bagaimana jika ternyata menggunakan dua teknik diatas kita tidak berhasil?
Ada beberapa teknik lain yang tidak terlalu bergantung kepada teknologi, teknik ini tergantung dari kepekaan dan kemampuan kita untuk menerka dan menganalisa.
Kamera tersembuyi biasanya diletakkan ditempat-tempat strategis yang mengarah dan mencakup area luas dan terhindar dari kemungkinan tertutup secara tidak sengaja oleh target (tertutup oleh kita -red). Jadi sebisa mungkin perkirakan dimana kamera tersebut mungkin terpasang. Di sudut ruangan dan pada ketinggian yang sulit dijangkau oleh kita, lokasi menghadap kearah lokasi strategis dimana kita paling sering berada. Atau dibalik buku-buku, dibalik tanaman dalam pot, terletak pada jam dinding, disekitar bingkai foto atau lukisan. Lebih dari itu biasanya kamera ini memiliki lubang, coba periksa setiap tempat yang kita curigai, apabila terlihat lubang kecil yang mencurigakan ndan terdapat semacam kaca didalamnya, bisa jadi itu merupakan kamera pengintai kecil yang ditanam disitu.

Lalu bagaimana jika menggunakan metode-metode diatas kita tidak menemukan kamera tersembunyi, yah inilah yang sebetulnya kita harapkan bahwa memang tidak ada kamera pengintai yang terpasang di ruangan tersebut.
Bagaimana jika ternyata ada? kita dapat menutupnya dengan sesuatu sehingga menghalangi pandangan kamera terebut, baik dengan meletakkan buku atau vas bunya atau apapun yang dapat menutupi. Atau dapat dengan mudah kita buang saja kameranya, namun hal ini akan menyebabkan si pemasang kamera mengetahui bahwa mereka telah gagal.

Jadi seperti itulah kurang lebih analisis teknis bagaimana cara mendeteksi kamera tersembunyi dalam suatu ruangan baik dengan cara mengarahkan kamera handphone keseluruh ruangan, melakukan panggilan telephone, maupun dengan melakukan aksi detektif detektif-an..

Selasa, 17 Maret 2015

Tutorial membuat theme wordpress sendiri


Wordpress merupakan sebuah content management system atau CMS yang sangat populer dikalangan web developer maupun blogger, bukan hanya karena wordpress merupakan CMS gratis namun juga karena wordpress sangat-sangat fleksibel dan mudah di customisasi serta memiliki dokumentasi yang lengkap dan dukungan forum yang begitu banyak. Tentu kita juga tidak dapat mengabaikan tentang banyaknya theme wordpress dari yang gratis hingga yang berbayar, anda tidak perlu ragu dengan keindahan dan kesesuaian theme wordpress bahkan yang gratis sekalipun. Lebih dari itu kita juga bisa menggunakan segudang fungsionalitas tambahan untuk menyesuaikan kebutuhan kita, cukup dengan memasang plugin yang jumlahnya ribuan dan kebanyakan gratis.
Selain itu pandangan pribadi saya tentang wordpress ini bukan hanya tentang kemudahan dan banyaknya fitur yang dapat kita nikmati gratis tetapi juga tentang bagaimana kita ingin membuat website atau blog kita yang berbasis wordpress ini menjadi sama sekali tidak terlihat seperti dibuat dengan wordpress, itulah sebabnya saya lebih suka menyebut wordpress sebagai development framework ketimbang CMS.

Salah satu bentuk nyata dari ke-fleksibel-an si wordpress ini adalah kita dapat membuat theme wordpress sendiri, sesuka hati kita untuk berkreasi dan menuangkan imajinasi sehingga tercipta suatu website yang indah dan sesuai dengan keinginan kita.

Dalam tulisan kali ini kita akan membahas tentang tutorial membuat theme wordpress sendiri dari nol. Bagimana langkah demi langkah dalam membuat theme wordpress ini. Simak dalam tutorial berikut ini.

Sebelum kita melanjutkan, saya akan membuat beberapa asumsi:
1. Anda sudah tahu bagaimana mendownload dan menginstall wordpress
2. Anda menguasai atau setidaknya mengerti css, html, dan php
3. Anda tahu bagaimana cara membuat folder, membuat file, dan menggunakan text editor.
Jika anda belum memenuhi syarat seperti asumsi yang saya berikan diatas, anda tetap dapat meneruskan membaca tulisan ini, namun mungkin anda akan sedikit mengerutkan dahi pada beberapa istilah dalam tulisan ini. Namun jangan khawatir, saya akan berusaha untuk membuat tulisan ini agar dapat dipahami oleh anda yang mungkin pada saat ini baru ingin memulai atau memasuki dunia pemrograman web.

Pertama tentu saja anda harus mendownload file CMS wordpress dari wordpress.org dan menginstallnya di web server local seperti xampp.
Setelah terinstall buka directory dimana theme wordpress diletakkan, bisanya didalam folder htdocs (C:\xampp\htdocs\wordpress\wp-content\themes). Jika anda berada di directory yang benar maka anda akan menemukan tiga buah folder dan satu buah file index.php



Selanjutnya buatlah satu buah folder baru pada directory tersebut dan berinama dengan nama tema yang anda inginkan misalnya : themewpsaya
Lalu buka folder tersebut.



Kemudian buka text editor anda dan buat tiga file didalam folder tersebut yaitu index.php, style.css, dan functions.php
Pada file style.css copy paste kode berikut ini.


/*
Theme Name: Theme Wordpress saya
Theme URI: http://goll.in/belajarthemplate;
Author: Programmer Goblog
Author URI: http://goll.in/
Description: Ini adalah template untuk belajar membuat theme wordpress dari programmer goBlog
Version: 1.0
*/



kemudian simpan.
Sampai pada tahap ini theme wordpress yang anda buat telah ada di sistem wordpress, anda dapat melihatnya melelui halaman admin pada menu Appearance -> themes. Kemudian kita coba aktifkan dengan click pada tombol activate diatas themes wordpress anda tadi.



Setelah anda mengaktifkan theme tadi coba buka website anda. Muncul halaman kosong? Yup karena kita memang belum menambahkan apapun pada theme kita tadi. Untuk mengujinya silahkan edit pada file index.php dan isi dengan konten html standar.

<html>
<head>
<title>Ini Template wordpress saya</title>
</head>
<body>
<h1>JUDUL WEBSITE SAYA</h1>
<p>Belajar bersama programmer goblog</p>
</body>
</html>



Sekarang buka lagi website anda. Sudah ada yang muncul? berarti theme anda sudah aktif. Sekarang kita bisa melanjutkan ke tahap selanjutnya.



Buka kembali file index.php dan tempatkan kode ini <?php wp_head();?> tepat dibawah tag <title>...</title>
Dan tambahkan kode <?php wp_footer();?> tepat diatas tutup tag </body>



Setelah itu anda kan melihat perubahan pada website anda yaitu munculnya menu bar pada bagian atas website anda. Seperti terlihat pada gambar dibawah ini.



Nah, sampai disini kita telah memiliki ide dasar tentang bagaimana cara membuat theme wordpress sendiri. Pada tulisan selanjutnya kita kan membahas lebih lanjut tentang bagaimana cara mebuat theme wordpress sendiri termasuk tentang bagaimana menampilkan menu, menampilkan post, menampilkan sidebar widget dll. So follow gplus Programmer goBlog untuk agar tidak ketinggalan info tulisan tersebut.

Senin, 16 Maret 2015

Pengertian Object Oriented Programming (OOP)

Object Oriented Programming (OOP)



Mahluk apa sih ini OOP?
Object oriented programming adalah sebuah metode atau pendekatan atau bisa juga kita katakan cara pandang programmer dalam membuat program komputer. Apa pula maksudnya ini.
Banyak sekali pengertian dari object oriented programming ini, namun saya lebih memilih untuk mengartikan object oriented programming ini sebagai sebuah cara pandang atau konsep dalam pemrograman yang memandang segala hal sebagai class dan object. Selain tentu saja tidak mengabaikan segala bentuk kelebihan object oriented programming itu sendiri seperti inheritance, encapsulation, Polimorfism, dan abstraction. Yup kita tidak perlu mengerti apa benda-benda ini terlebih dahulu pada tahap ini, tetapi kita akan membahas terlebih dahulu apa itu class dan apa itu object.

Seperti kebanyakan orang mengatakan class adalah sebuah blue print. Lantas apa maksudnya class sebagai blue print?
Saya akan memberikan sebuah penggambaran goBlog untuk hal satu ini.
Bayangkan anda seorang kontraktor perumahan, dimana anda menjual berbagai tipe rumah entah itu 45 58 dll dll.
Untuk tujuan tersebut anda membuat beberapa rancangan atau gambar untuk rumah tipe 45, nah gambar rancangan ini bisa kita katakan sebagai blue print.
Dari blue print ini kita bisa membuat puluhan bahkan ratusan rumah yang sama berdasarkan rancangan gambar blue print kita tadi ini. Nah gambar itu yang kita sebut blue print, sedangkah rumah yang dibangun berdasarkan rancangan tersebut yang kita namakan object.
Nah selain object dan class ada satu mahluk yang perlu kita ketahui yang berhubungan erat dengan mereka berdua ini. Pada contoh diatas kita memiliki berbagai macam tipe rumah untuk membangun sebuah perumahan, dan tentunya kita memiliki lebih dari satu class atau blue print rumah, bisa tipe 45 bisa tipe 38 dll dll dll. Nah kumpulan dari blue print- blue print ini bisa kita sebut sebagai modul. Jadi mahluk satu ini yang bernama modul bisa kita artikan sebagai kumpulan beberapa class yang saling terhubung untuk membentuk sebuah applikasi, well atau dalam contoh diatas kumpulan beberapa gambar rancangan rumah untuk membentuk suatu perumahan.

Nah kalau sudah sedikit tergambar di otak kita apa itu object apa itu class apa itu modul dan sudah kita mengerti --walaupun sedikit-- tentang bagaimana mahluk mahluk itu saling berkaitan, maka selanjutnya kita akan membahas tentang kelebihan yang ada pada object oriented programming ini.

1. Inheritance
Inhritance adalah sebuah kemampuan untuk memperluas class yang sudah ada. Maksudnya begini katakanlah kita memiliki sebuah rancangan rumah untuk tipe 36 yang memiliki 2 kamar dan satu kamar mandi. Sedang kita ingin membuat tipe rumah yang sama namun memiliki 2 kamar dan 2 kamar mandi. Maka kita bisa menurunkan sifat rancangan yang telah ada tadi untuk menjadi sebuah class baru atau tipe rumah baru. Dalam object orinted programming, class yang menjadi acuan disebut sebagai parent class dan class yang menuruni sifat sifat dari class parent ini disebut sebagai child class. Jadi kesimpulanya adalah inheritance dapat diartikan sebagai kemampuan untuk menurunkan sifat dari class induk ke class anak.

Contoh lain agar kita lebih mengerti konsep dari inherintance ini adalah sebagai berikut.
Bangkan kita memiliki sebuah class bernama manusia dan kita tahu bahwa sifat atau kemampuan dari manusia adalah seperti berbicara, makan, minum, berjalan, dan memiliki beberapa properti seperti kaki, tangan, nama.
Nah kita akan membuat sebuah class turunan yang akan mempunyai semua sifat dan kemampuan serta atribut dari class manusia ini dengan berbagai penambahan sifat dan kemampuan serta atribut. Katakanlah class anakan ini kita namakan mahasiswa.
Mahaiswa merupakan turunan dari class manusia yang memiliki nama, bisa makan, bisa berjalan, bisa berbicara dan bisa minum, serta memiliki atribut sama seperti manusia tangan kaki dll.
Tetapi dalam kasus ini kita memiliki atribut tambahan selain nama, yaitu NPM dan semester.
Serta seorang mahasiswa ini tidak hanya bisa berbicara, berjalan, makan, minum tetapi juga memiliki kemampuan tambahan misalkan mengerjakan tugas.
Untuk membuat class mahasiswa dengan kemampuan seperti diatas, kita tidak perlu menulis ulang apa yang dimiliki class manusia, tetapi kita tinggal menurunkan sifat sifat dan atribut dari class manusia ke class mahasiswa dengan penambahan sifat dan atribut yang tidak dimiliki oleh class manusia.

2. Encapsulation
Mahluk apa pula ini..
en-capsul-ation, pengartian goBlog nya pengkapsulan. Bayangkan sebuah kapsul ehh atau tabung emm atau kotak nasi deh :D.
Yup seperti kotak nasi, encapsulasi adalah sebuah metode atau konsep untuk membungkus kumpulan property dan kemampuan (behavior) dari sebuah class dan menjaganya untuk tetap menjadi sebuah satu kesatuan yang utuh, lebih dari itu encapsulation bertujuan untuk melindungi hal hal tersebut. Melindungi dari apa? Katakanlah kita memiliki sebuah class yang berisi behavior dan property yang tidak ingin sembarang class dari program kita untuk mengakses datanya, kita bisa menambahkan proteksi atau perlindungan terhadap property dan behavior ini dengan memanfaatkan kemampuan dari object oriented yang kita sebut sebagai encapsulation ini.

3. Polymorphism
Polymorphism dari segi bahasa bisa kita artikan sebagai banyak bentuk. Well, lantas apa hubunganya dengan pemrograman? lebih spesifik lagi apa hubunganya dengan object oriented programming??
Ok bayangkan seperti ini.
Sebuah operasi penjumlahan angka 3 + 4
Secara otomatis program akan mengerti dan menjumlahkan angka ini dan memberikan hasilnya.
Sekarang bayangkan jika angka tadi kita ganti dengan tulisan misal nama+saya
Duh gimana cara menjumlahkan tulisan? well hasilnya bukan dijumlahkan melainkan digabungkan menjadi namasaya. Nah beda kan bentuknya. Lah ini mah di bahasa pemrograman yang bukan object oriented juga bisa kali...
itu tadi tujuanya untuk penggambaran seperti apa sih yang namanya banyak bentuk itu.
Sekarang ingat di penjelasan diatas disebutkan soal inheritance? nah dengan memanfaatkan poplymorphism ini kita bisa merubah sebuah sifat atau kemampuan atau behavior dari class induk dengan metode override, jadi konsepnya kita menurunkan sifat dari parent class tetapi juga merubah sedikit perilakunya ketika pada child class, sehingga hasilnya meskipun class anak atau child ini menuruni sifat bapaknya tetapi dia memiliki kemampuan yang berbeda dari bapaknya.

4.Abstraction
Weh mahluk apa pula ini??? Mahluk gaib maksudnya astral?
Abstraction adalah sebuah penggambaran umum dari object. hah apa kamsudnya?
Begini, ketika saya mengatakan "saya menulis diatas meja"
Anda bisa mengerti dan membayangkan sendiri saya sedang menulis diatas meja. Tetepi meja yang saya gunakan mungkin berbeda dengan apa yang anda bayangkan, apakah mejanya bulat? kotak? kakunya empat? atau kakinya satu di tengah? meja plastik atau meja kayu?
Tidak penting seperti apa bentuk meja yang saya gunakan, yang terpenting anda tahu saya menulis diatas sebuah meja dan saya yakin anda sudah sering melihat berbagai bentuk meja. Nah inti yang ingin saya sampaikan tentang abstraction ini adalah mengambil sebuah intisari berdasarkan esensi tanpa memperdulikan ketidak sesuaian yang tidak berguna, penting meja ngapain berdebat tentang berapa kakinya atau bagaimana bentuknya. Jadi abstraction bisa kita katakan sebagai sebuah penggambaran umum tentang ide dasar tanpa mempertimbangkan sesuatu yang tidak relefan atau tidak penting terhadap ide dasar tersebut.

Tertarik ingin tahu seperti apa pengamplikasian OOP pada pemrograman php? Cek tulisan sebelumnya tentang Object Oriented Programming (oop) di php pada artikel ini.
Oke sobat, itulah tadi sebuah gambaran umum tentang pengertian object oriented programming.

Jika anda sependapat dengan saya atau merasa tercerahkan oleh tulisan ini, jangan ragu untuk berbagi pengetahuan kepada sesama dengan membagikan tulisan ini melalui tombol media sosial dibawah ini.
Dan apabila anda memiliki pemikiran atau penjelasan yang berbeda dengan cara yang saya tuliskan, jangan pernah ragu untuk meninggalkan jejak anda pada kolom komentar dibawah ini.

Sabtu, 14 Maret 2015

object oriented programming atau oop di php



Halo sobat programmer, pernah mendengar istilah OOP atau object oriented programming? Well kalau sudah pernah dengar kita lanjutkan.
Kebanyakan ketika kita mendengar OOP kita akan langsung teringat java atau C++ atau c#. kalau java sudah tidak asing lagi memang, karena mengusung konsep pemrograman berbasis objek atau oop. Nah kalau object oriented programming atau oop di php bagaimana? Bisakah?
Bisa, dan kali pada tulisan kali ini programmer goBlog bakal mengajak anda untuk berkenalan seperti apa bentuk dari oop di php.

Berbicara soal oop kita pasti tidak akan terlepas dari yang namanya class dan object, pada tulisan ini kita akan membahas tentang dua mahluk ini, tentang bagaimana penulisan class oop di php, bagaimana penulisan variable, bagaimana penulisan method (atau jika dalam php kita mengenalnya dengan function).
Pada tulisan ini kita akan membuat sebuah aplikasi bernama TestApp yang akan memiliki dua tiga class yaitu class utama, class manusia, dan class mahasiswa.

Nah langsung saja, kita buat file php dengan nama oop.php

Lalu kita akan deklarasikan nama applikasinya.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php

$app = new TestApp;
$app->run();

class TestApp{
 function run(){
  $mahasiswaJono = new mahasiswa();
  $mahasiswaJono->setNama("jono");
  $mahasiswaJono->setUmur(30);
  $mahasiswaJono->setSemester(8);

  $mahasiswaJoni = new mahasiswa();
  $mahasiswaJoni->setNama("Joni");
  $mahasiswaJoni->setUmur(24);
  $mahasiswaJoni->setSemester(5);

  echo "Nama Mahasiswa: ".$mahasiswaJono->getNama()."<br>";
  echo "Umur: ".$mahasiswaJono->getUmur()."<br>";
  echo "Semester: ".$mahasiswaJono->getSemester()."<br>";
  echo "---------------------------------<br>";
  
  echo "Nama Mahasiswa: ".$mahasiswaJoni->getNama()."<br>";
  echo "Umur: ".$mahasiswaJoni->getUmur()."<br>";
  echo "Semester: ".$mahasiswaJoni->getSemester()."<br>";

 }
}

class manusia{
 var $nama;
 var $umur;

 function setNama($nama){
  $this->nama = $nama;
 }

 function getNama(){
  return $this->nama;
 }

 function setUmur($umur){
  $this->umur = $umur;
 }

 function getUmur(){
  return $this->umur;
 }
}


class mahasiswa extends manusia{
 var $semester;

 function setSemester($semester){
  $this->semester = $semester;
 }

 function getSemester(){
  return $this->semester;
 }
}
?>


Keseluruhan penjelasan dari contoh aplikasi diatas adalah seperti ini,
Dua baris pertama adalah untuk membuat suatu object dari class TestApp yang merupakan class utama kita, dan menamakanya object $app, pada baris dua kita memanggil method atau fungsi run() untuk dijalankan pertama kali.

Pada class TestApp berisi satu buah method yang bernama run().
Didalam method utama kita ini akan terjadi proses sebagai berikut.
1. Buat object baru bernama $mahasiswaJono yang merupakan instance dari class mahasiswa.
2. Set nama mahasiswa untuk object jono melalui method setNama();
3. Set umur mahasiswa untuk object jono melalui method setUmur();
4. Set semester mahasiswa untuk object jono melalui method setSemester();

Proses yang sama juga terjadi untuk object mahasiswa joni.

Pada class manusia berisi dua variable yaitu $nama yang dideklarasikan dengan var $nama dan variable $umur yang merupakan atribut atribut yang pasti ada pada manusia.
Class ini juga memiliki tingkah atau kelakuan melalui empat method masing masing untuk mengambil dan mengisi nilai untuk variable nama dan umur.

Sedangkan untuk class mahasiswa merupakan class turunan dari class manusia yang memiliki atribut semester serta method setSemester dan getSemester. Karena class mahasiswa merupakan turunan dari class manusia jadi secara otomtis class ini memiliki atribut serta method milik class orang tuanya yaitu class manusia.
Inilah kenapa kita dapat memberikan nilai nama, umur melalui object yang merupakan instance dari class mahasiswa --- $mahasiswaJono->setNama("jono");

Ya begitulah kira-kira gambaran umum tentang bagaimana bentuk dan konsep object oriented programming atau oop di php.

Jika sobat memiliki pertanyaan pertanyaan terkait oop di php jangan ragu untuk meninggalkan pertanyaan tersebut di kolom komentar dibawah ini, saya akan dengan senang hati untuk mencoba menjawab.

Popular Posts

Recent Posts

Unordered List

Pages

Kunjungan

Diberdayakan oleh Blogger.