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.

Jumat, 13 Maret 2015

Cara upload wordpress ke hosting


Halo sobat programmer, lagi nyari tutorial cara upload wordpress ke hosting? Pasbanget nih, programmer goblog bakalan kasih cara upload wordpress ke hosting step by step, untuk memudahkan sobat semua programmer goblog juga sudah menyiapkan tutorial dalam bentuk video.

Okeh langsung saja kita simak apa saja hal hal yang akan kita butuhkan serta proses langkah demi langkah bagaimana cara upload wordpress ke hosting.
Dalam tutorial ini juga akan mencakup bagaimana melakukan setting database serta config wordpress hingga proses instalasi wordpress di hosting.

Berikut hal hal yang akan kita butuhkan dalam proses upload wordpress ke hosting.
1. Hosting -> jika anda belum memiliki hosting, anda bisa mencoba hosting gratis yang saya gunakan pada tutorial ini. silahkan daftar disini

2. Username dan password untuk login ftp dan cpanel ke hosting

3. file wordpress -> silahkan download do wordpress.org
4. Ftp client -> e.g filezilla -> https://filezilla-project.org/download.php?type=client.

Silahkan download wordpress di wordpress.org jika anda belum memilikinya, dan extract file hasil download tersebut.
Selanjutnya buka ftp client, dalam hal ini saya menggunakan filezilla untuk upload file ke ftp server.
Upload semua file hasil extract wordpress tadi kedalam folder public_html di hosting.

Tunggu hingga proses upload selesai..
Setelah proses upload selesai maka akan terlihat file file wordpress tadi di ftp client kita.

Selanjutnya kita coba kunjungin website kita.

Jika muncul tulisan Error establishing a database connection, sebetulnya hingga tahap ini wordpress telah berhasil terupload ke hosting, tetapi databasenya belum terhubung.
Mari kita buat databasenya terlebih dahulu melalui cpanel anda.

Setelah database berhasil terbuat, selanjutnya kita perlu melakukan setting di wordpress untuk menhubungkan database yang baru kita buat tadi. Edit file wp_config.php
Berikan isian berupa informasi database tadi di baris ini.


define('DB_NAME', '');

/** MySQL database username */

define('DB_USER', '');

/** MySQL database password */

define('DB_PASSWORD', '');




Setelah di edit upload file tersebut ke tempatnya semula.
Jika anda menggunakan fitur edit pada filezilla maka setelah file diedit dan disimpan filezilla akan langsung mengupload file tersebut secara otomatis.
Selanjutnya kita coba buka lagi website kita.
Yup, muncul halaman setup instalasi wordpress, karena ini merupakan wordpress yang benar benar baru maka kita diminta untuk melakukan setup terlebih dahulu.
Isi data-data yang diperlukan.

Jika proses instalasi sukses maka akan muncul notif
Success!
WordPress has been installed. Were you expecting more steps? Sorry to disappoint.

Selamat, wordpress anda sudah berhasil di upload ke hosting...

Terimakasih telah belajar bersama programmer goBlog, semoga tutorial ini dapat bermanfaat.
Jika anda menemui kesulitan, jangan ragu untuk meninggalkan pertanyaan di kolom komentar, saya akan dengan senang hati untuk membantu..
Jangan lupa kunjungi blog programmergoblog.blogspot.com untuk tutorial-tutorial pemrograman...




Kamis, 12 Maret 2015

Cara membuat sistem login sederhana dengan php

Halo sobat programmer, kembali dengan tulisan-tulisan dari programmer goblog.
Kali ini kita akan belajar cara membuat sistem login sederhana dengan PHP.
Dalam tulisan ini saya mengasumsikan bahwa anda sudah mengerti tentang konsep web server, memahami sedikit tentang html dan php.

Pada tulisan ini kita tidak akan berfokus pada bahasa pemrogramanya, kita akan lebih berfokus pada logika dan cara bekerja sistem ini.
Kita akan membuat empat file php diantaranya index.php yang akan menjadi halaman login utama, kemudian halaman home.php yang merupakan halaman yang hanya dapat diakses ketika user telah berhasil login, login-handler.php yang berfungsi untuk menangani proses login yang terjadi, dan halaman logout.php yang akan menangani proses logout.

Secara keseluruhan proses yang akan terjadi pada sistem login ini adalah sebagai berikut.

1. user mengakses index.php yang akan menampilkan form login
<html>

<head>

 <title></title>



 <style type="text/css">



   #form{ /* #form adalah selector id untuk <div id="form" */

       min-width:200px;  /* lebar minimal */

       max-width:200px; /* lebar maksimal */

       min-height:100px; /* tinggi minimal */

       background:blue; /* warna bg */

       padding:10px; /* jarak batas luar kedalam */

       margin:0 auto; /* jarak atas 0 samping kiri kanan otomatis (bikin ketengah) */

       margin-top:100px; /* kasih jarak keatas */

   }

   input{

       width:100%;

   }

   #btn-login{

       width:auto;

       margin-top:10px;

   }



 </style>







</head>

<body>



<div id="form">

   

    <form action="login-handler.php" method="post">

        <input type="text" name="username" placeholder="username"><br>

        <input type="password" placeholder="password" name="password"><br> 

        <input id="btn-login" type="submit" value="login">

    </form>

   





</body>

</html>



<!--

 keterangan alur

1. masuk ke halaman index.php

2. klik login masuk ke halaman login-handler.php melalui <form action="login-handler.php"

3. di halaman login handler, cek login berhasil atau tidak

------------------------------ -> penjelasan selanjutn ya di halaman login-handler.php

-->


2. user menginput username beserta password pada halaman tersebut

3. sistem akan mengecek apakah username dan password sesuai, jika ya sistem akan menampilkan pesan berhasil beserta link untuk menuju halaman utama.php serta menyimpan data login pada session, jika tidak sistem akan menampilkan pesan error beserta link untuk kembali ke halaman login.

<?php

session_start(); //start session php



 $username=$_POST['username'];  // ambil kiriman dari form login (index.php) dan masukkan ke variable $username



 $password =  $_POST['password']; // ambil kiriman dari -----------sda----------------------- variable $password



  /* ------------------------------------------------------



  Berikut adalah baris kode yang digunakan untuk berinteraksi dengan database.



  --------------------------------------------------------- */

  $dbhost = 'localhost'; //alamat host mysql database

  $dbusername = 'root'; //username untuk mysql database

  $dbpassword = ''; //password untuk mysql database

  $dbdatabasename = 'login'; //nama database yang akan digunakan



  $connection = mysql_connect($dbhost,$dbusername,$dbpassword);

  if(!$connection) {  //periksa apakah koneksi berhasil, jika gagal tampilkan pesan error dan terminate program

   die("koneksi database gagal, periksa setting dan atau mysql server anda");

  }else{//jika koneksi berhasil maka lanjutkan untuk memilih database

   $db = mysql_select_db($dbdatabasename);

   if(!$db){

    die("Database dengan nama $dbdatabasename tidak ditemukan");

   }else{ //jika database ada dan terhubung dengan sukses, lanjutkan ke tahap pemeriksaan username dan password di database.

    $query = mysql_query("select * from user where username='$username' and password='$password' ");

    $jumlahUserDenganUsernameDitemukan=mysql_num_rows($query);

     if($jumlahUserDenganUsernameDitemukan>0){  // username hasil ambil dari database lebih dari 0 artinya login berhasil.

       $_SESSION['username'] = $username; // daftarkan session usrename

      echo "Login berhasil ";            // cetak tulisan login berhasil ke layar

      echo '<a href="home.php">Klik disini untuk menuju halaman utama</a>'; //cetak link untuk menuju halaman utama (home.php)

     }else{  // kalau login gagal

      echo "username atau password salah";    // cetak text ke layar

      echo '<a href="index.php">Login disini</a>';  // cetak link ke index.php agar user login terlebih darhulu.

       

    }

    

   }

  }





 

?>


4. pada halaman home.php proses yang terjadi pertama kali adalah memeriksa apakah user telah login dengan benar atau belum melalui data yang tersimpan di session, jika ya maka halaman utama.php akan tampil, jika tidak maka sistem akan menampilkan pesan yang meminta user untuk login terlebih dahulu serta menampilkan link untuk menuju halaman login.
<?php

session_start(); // daftarkan session di browser



if(isset($_SESSION['username'])){   //cek apakah ada session username  

 echo "Selamat datang ".$_SESSION['username']; // kalau session ada berarti telah login

 echo "<br>"; 

 echo '<a href="logout.php"> Logout</a>';   // cetak link untuk logut (mengarah ke logout.php)

}else{  // kalau tidak ada berarti belum login

 echo "anda harus login  untuk melihat halaman ini "; // beritahu user agar login

 echo '<a href="index.php">Login disini</a>';  //  cetak link ke halaman login (index.php) agar user login terlebih dahulu

}



?>


5. pada saat user melakukan proses logout maka sistem akan menghapus semua data yang ada di session.

<?php
session_start();  

session_destroy();   // destroy session . hapus session username yang telah di register pada saat login berhasil

echo "adnda telah logout dari applikasi";  //  notifi user bahwa telah keluar (logout)
echo "<br>";
echo '<a href="index.php">Klik disini untuk kemabali ke halaman login</a>'; // cetak link untuk user kembali ke halaman logina
?>


Jangan lupa untuk membuat database dengan nama login dengan field "username" dan "password".

Mengapa kita perlu belajar pemrograman komputer

Mengapa kita perlu belajar pemrograman komputer


Halo sobat programmer, ketemu lagi dengan programmer goblog.
Kali ini kita akan membahas kenapa sih kita perlu belajar pemrograman komputer?
Seseorang pernah berkata "Every child in this country should learn how to code, becouse it's teach you how to think" siapa yang mengatakan? steve job. Well meskipun saya bukan salah satu penggemar beliau tetapi saya setuju dengan pemikiran ini.
Pemrograman komputer tidak hanya sekedar tentang belajar membuat aplikasi komputer ini tentang bagaimana kita berfikir, bagaimana kita memecahkan permasalahan dengan langkah langkah yang masuk akal. Terlebih lagi ketika kita merupakan orang yang bergelut di dunia teknologi baik itu mahasiswa ilmu komputer ataupun bidang terkait maupun orang yang belajar secara otodidak untuk masuk ke dunia teknologi.
Pemrograman merupakan bidang ilmu yang sangat luas pengaplikasianya, tidak hanya terbatas bagi mereka para programmer tetapi ini merupakan hal paling mendasar yang perlu kita kenal dan pelajari apabila kita memutuskan untuk masuk ke dunia teknologi.
Mengapa saya katakan demikian? selain alasan pertama tadi bahwa kita perlu belajar pemrograman komputer untuk melatih bagaimana cara kita berfikir dan menyelesaikan masalah, melainkan juga karena fakta bahwa setiap perangkat teknologi merupakan komputer yang bisa kita program. Ah saya mau jadi hacker aja ngapain belajar pemrograman. Ah saya mau jadi database administrator aja lah jadi gak harus belajar pemrograman. Ah saya mau jadi ahli jaringan komputer aja lah gak perlu tau apa itu mahluk yang namanya pemrograman. atau ah saya kuliah di bidang robotik dan elektro, ngapain saya harus pusing-pusing dengan pemrgoraman. Well anda mungkin benar, tetapi mari pertimbangkan hal ini. Perangkat apa yang anda ingin hack ketika anda menjadi seorang hacker? perangkat apa yang mengolah data digital atau database, RDBMS? perangkat jaringan hampir semuanya komputer --well kecuali kabel--. Robotik? elektro? anda fikir jauh dari komputer?
Semua hal diatas merupakan komputer, mulai dari hal simple seperti kalkulator sampai smartphone anda merupakan komputer. Router board, server, microprocessor? semuanya bisa di program, dan memang harus di program untuk dapat bekerja, bahkan robot dengan microrocessor nya perlu di program.
anda mungkin akan tetap menjadi ahli robot, ahli jaringan, hacker handal, admin database cakap tanpa harus mempelajari dan masuk ke dunia pemrograman komputer, tetapi mari pertimbangakan hal ini. bayangkan ketika anda menjadi seorang hacker dan ternyata anda memerlukan keahlian untuk menulis program untuk dapat masuk ke sebuah sistem, atau simpel nya anda harus bisa menulis kode program untuk dijadikan sebagai backdoor. Atau anda terpaksa harus mengkalibrasi ulang perangkat jaringan komputer anda dengan menambal beberapa celah keamanan pada perangkat lunak yang terintegrasi dengan router anda, atau anda harus memprogram microcontroller robot anda supaya bisa bergerak sesuai dengan kemampuan anda tanpa tergantung program yang ditulis oleh orang lain? Akan sangat mudah dan menyenangkan apabila anda tau bagaimana cara menulis sebuah program, atau setidaknya anda mengerti bagaimana program tersebut bekerja.

Nah itulah sobat sedikit pandangan dan pendapat saya tentang mengapa kita perlu belajar pemrgoraman komputer. Jika anda mempunyai alasan lain mengenai kenapa kita perlu belajar pemrograman komputer jangan ragu untuk menuliskan pendapat anda tersebut pada kolom komentar dibawah. Dan apabila anda merasa sependapat dengan saya tentang mengapa kita perlu belajar pemrograman komputer jangan sungkan untuk membagikan tulisan ini melalui tombol share media sosial dibawah ini.
Terimakasih telah meluangkan waktu untuk membaca tulisan ini, semoga dapat memberikan manfaat dan motivasi kepada sobat semua yang saat ini mungkin sedang belajar untuk memasuki dunia teknologi.
Keep calm and stay coding...

Minggu, 08 Maret 2015

4 tips bagaimana cara memperpanjang umur baterai laptop


Bagaimana cara memperpanjang umur baterai laptop.

Halo lagi..
Banyak dari kita yang kurang paham tentang bagaimana merawat baterai agar dapat bertahan lebih lama sebelum benar-benar tidak dapat digunakan lagi. Fakta bahwa baterai yang umum digunakan pada laptop sekarang ini adalah baterai dengan jenis lithium ion dan seperti jennis baterai lainya, akan tetap berkurang kemampuan atau kapasitas penyimpananya seiring berjalanya waktu dan berapa kali baterai tersebut di charge.
Berikut ada beberapa langkah-langkah yang dapat diambil untuk memperpanjang umur baterai.

1. Jaga temperatur baterai agar tidak lebih dari 60 derajad Celcius pada saat pemakaian. Musuh utama dari baterai berjenis lithium ion adalah panas, semakin panas temperatur atau suhu baterai semakin pendek umur baterai tersebut.
Hal ini berkaitan erat dengan mitos bahwa kita seharusnya mencabut baterai ketika menggunakan laptop untuk waktu yang lama. Sebagian dari kita mungkin berasumsi bahwa baterai akan rusak karena terus menerus di charge, namun fakta sesungguhnya bukanlah hal tersebut melaikan sekali lagi berkaitan dengan suhu. Ketika kita menggunakan laptop pada suhu diatas 60 derajad ini akan juga berpengarus terhadap suhu baterai yang sekali lagi musuh utamanya adalah panas. Jadi jika pada saat kita menggunakan laptop untuk pekerjaan yang berat seperti bermain game yang mengakibatkan suhu laptop meningkat diatas 60 derajad celcius maka kita harus melepas baterai tersebut, namun apabila termperatur laptop tidak lebih dari 60 derajad celcius maka baterai harus tetap berada atau terpasang pada laptop. Bagaimana dengan mitos bahwa baterai akan kelebihan muatan karena terus terusan ter charge? kita tidak perlu mengkhawatirkan hal ini karena pada umumnya laptop telah terpasang pengendali charger dimana akan memotong arus yang masuk ke baterai setelah baterai mencapai kapasitas 100% dan mengalihkan daya yang masuk melalui charger langsung ke sistem daya laptop sehinga kita tidak perlu khawatir akan terjadi kelebihan charge atau overcharge pada baterai laptop kita.

2. Apabila kita tidak akan menggunakan laptop atau baterai untuk jangka waktu yang cukup lama, cara terbaik untuk menyimpan baterai ini adalah dengan mengisi dayanya hingga 40-50% kemudian menyimpannya ditempat yang kering dan dingin dengan suhu berkisar antara 0-10 derajad celcius namun tidak kurang dari 0 derajad, dan perlu diperhatikan juga baterai harus terhindar dari cairan. Baterai yang tidak digunakan dalam jangka waktu yang lama sedang daya terisi 100% atau dibawah 5% lebih berpotensi untuk memperpendek umur baterai tersebut.

3. Usahakan menghindari menggunakan baterai hingga daya yang tersimpan kurang dari 5%, charge laptop anda ketika daya sedang berada pada level 20-30%, hal ini berkaitan dengan umur baterai yang hanya dapat di charge kurang lebih 500kali, 500 kali disini tidak berarti 500 kali kita memasang charger ke laptop tetapi 500 kali daya digunakan dari 100% ke <5%. Contohnya begini, ketika laptop anda telah terisi daya 100% kemudian anda menggunakanya hingga 50% kemudian dihari berikutnya anda mencharge laptop hingga kembali dengan daya 100% dan menggunakanya lagi ini akan tetap dihitung satu kali proses charging.

4. Lakukan deep-charge beberapa waktu sekali. Deep-charge? adalah sebuah ungkapan untuk mewakili suatu proses penggunaan baterai dari daya 100% hingga dibawah 5% dan melakukan proses charging hingga 100% lagi. LOh kok gitu? Bertentangan dengan tips nomor tiga dong? sama sekali tidak, hal ini justru berkaitan erat dengan hal tersebut. seiring penggunaanya pengukur level atau tingkat daya dan kapasitas baterai akan kekurangan keakuratanya, Kita tentu pernah menjumpai laptop tiba-tiba meti padahal baterai masih 40%. Hal ini diakibatkan oleh kesalahan sistem pengukuran atau penunjuk level kapasitas baterai, yang tampak 40% padahal kapasitas sebenarnya dari daya baterai tersebut jauh kurang dari itu, hal inilah yang mengakibatkan kita melakukan proses charge pada baterai setelah mencapai level dibawah 5%. Bagaimana mulai terlihat hubunganya dengan tips nomor tiga? baik, lantas bagaimana cara kita mengembalikan keakuratan pengukur level daya baterai ini? caranya dengan melakukan proses deep-charge tadi.

Oke sobat, semoga tulisan ini dapat bermanfaat. Anda boleh membagikan artikel ini melalui tombol share dibawah ini, dan jika ada pertanyaan silahkan tinggalkan pada kolom komentar dibawah.

Minggu, 01 Maret 2015

Perbedaan IP pada komputer dengan ip yang terdeteksi oleh server atau website



Ip kita yang bener yang di cmd atau yang di whatismyip? kok bisa beda ya?
Pertanyaan ini saya temukan disebuah forum diskusi di facebook.
Saya sedikit membaca beberapa komentar atas pertanyaan tersebut ada yang menyebutkan ip local vs ip public, ada yang menyebutkan yang di cmd itu ip dhcp, ada yang menyebutkan ip yang betul yang di cmd dll dll.
Jawaban jawaban tersebut semuanya benar.
Kok bisa begitu? ip nya beda lho yang di cmd dan di whatismyip. kan katanya ip itu angka unik yang mewakili alamat setiap perangkat yang komputer yang terhubung ke internet, kalau unik harusnya cuma ada satu dong. kok ini dua??

Untuk menjelaskan hal tersebut kita simak uraian berikut ini.
IP terbagi menjadi dua kategori, IP local dan IP publik.
Nah, mahluk apa mereka berdua ini?
Seperti penjelasan sebelumnya bahwa IP merupakan alamat unik untuk setiap perangkat yang terhubung ke internet. IP ini terdiri dari 32 bit angka biner yang tebagi kedalam empat segmen dan dipisahkan tanda titik (contoh : 114.124.32.93).
Karena ip merupakan angka unik yang hanya boleh dimiliki satu perangkat pada jaringan internet, maka didirikan suatu badan organisasi untuk mengatur alokasi ip  Internet Assigned Numbers Authority (IANA). IP inilah yang kemudian kita kenal dengan ip publik.
Oleh karena jumlah perangkat yang terhubung ke internet semakin bertambah dan regulasi untuk memperoleh ip publik ini semakin diperketat, maka ditemukanlah sebuah metode untuk membagi IP publik ini untuk dapat digunakan beberapa komputer atau perangkat yang ingin terhubung ke internet. NAT atau network address transilation merupakan metode yang paling banyak digunakan.
Lantas bagaimana bentuk atau cara kerja dari metode ini?

Perhatikan simulasi pada gambar dibawah ini --abaikan topologi nya--



Katakanlah operator A hanya diberi 1 IP publik dan operator B juga hanya diberi 1 IP publik, lantas bagaimana komputer atau perangkat yang menggunakan jasa operator tersebut untuk dapat terkoneksi ke jaringan internet sedangkan operator hanya memiliki satu IP?
Untuk mengatasi hal tersebut disinilah peran NAT. Operator dapat memberikan IP sesukanya terhadap komputer atau perangkat yang menggunakan jasa internet dari Operator atau provider tersebut, ip inilah yang kemudian kita kenal dengan ip local. ip local yang berada dibalik NAT tidak dapat diketahui oleh perangkat diluar jaringan operator A, inilah kenapa operator bisa memberikan IP sesukanya (tentu demi tujuan penjelasan sederhana kita mengacuhkan aturan pembagian class dll dll) kepada komputer atau perangkat di jaringan local tanpa harus khawatir akan berbenturan dengan ip yang sudah ada di internet, karena pada dasarnya ip yang mereka berikan tidak akan terdeteksi di internet, yang akan terdeteksi hanya IP publik yang dimiliki oleh si operator.
Hal ini menjelaskan kenapa ip di CMD pada pertanyaan awal kita tadi dengan ip pada whatismyip berbeda, karena ip pada CMD merupakan IP local pemberian operator sedang ip yang muncul pada whatismyip merupakan ip public milik si operator.

penggunaan kata operator adalah untuk menyatakan internet service provider atau penyedia jasa layanan internet (dapat diibaratkan operator telepon selular yang saat ini menyediakan service internet)

Popular Posts

Recent Posts

Unordered List

Pages

Kunjungan

Diberdayakan oleh Blogger.