Ngoding jadi pusing karena lupa.

Breaking

Monday, November 12

November 12, 2018

Edit data from database (MySQL) PHP NATIVE


Melanjutkan catatan yang sebelumnya (Read data from database (MySQL)), maka catatan kali ini adalah tentang Update data. Untuk proses update ini menurut saya adalah proses yang sedikit lebih rumit dari pada proses CRUD lainnya (Create, Read, Delete).

Saya menganggap proses kali ini agak rumit karena ada beberapa proses yang perlu di lakukan sekaligus. Yaitu proses Read juga perlu di terapkan di dalam proses ini.


daripada kebanyakan baca yang tidak di inginkan, mending langsung cekibrot.
sebelum memulai file proses edit, saya ada sedikit merubah file dari project yg sebelumnya.

Click gambar untuk memperbesar gambar
seperti yang terlihat dari gambar diatas, saya merubah file BacaCategory.php seperti yang saya tandai dengan kotak. dengan dirubahnya a href maka link akan menjadi seperti berikut.
Click gambar untuk memperbesar gambar
perhatikan pada link yang muncul di bagian bawah, ada angka 4 di ujungnya. Angka 4 itu adalah id dari data IPA. Link tersebut muncul jika kita mengarahkan kursor ke arah link Edit / Hapus.

Apa tujuannya ?
Tujuannya adalah, supaya data yang diubah benar-benar data yang sudah dipilih.


Ok, lanjutkan dengan membuat file baru dengan nama EditCategory.php, dan tambahkan tag html seperti berikut.

Click gambar untuk memperbesar gambar


seperti pada project sebelumnya, mari kita import Database.php ke dalam file EditCategory.php ini.
Click gambar untuk memperbesar gambar

ok, saatnya menggunakan id yang sudah dibuat di pembukaan tadi. Disini saya membuat kondisi, dimana jika id ada di url, maka akan masuk kondisi ini.
Click gambar untuk memperbesar gambar
setelah itu, saya tambahkan kode, untuk mengambil data category_buku yang id nya adalah id yang tertulis di url (dalam contoh ini, idnya 4). Lalu tampung data dari category_buku ke dalam variable $data.
selanjutnya, saya pindahkan tag html ke dalam kondisi if tadi. supaya hanya tampil jika ada id di urlnya.
Click gambar untuk memperbesar gambar
kemudian saya tampilkan nama category yang di dapat berdasarkan id tadi, ke dalam form. (tujuannya, supaya kita tau apa sih data sebelumnya yang ingin kita rubah ini).

Click gambar untuk memperbesar gambar
jika kode diatas di jalankan, maka akan menampilkan seperti berikut.
Click gambar untuk memperbesar gambar
seperti yang terlihat, data IPA tampil di dalam form. tujuannya seperti yang saya jelaskan sebelumnya, yaitu sebagai pemberitahu kita, bahwa data IPA lah yang ingin kita rubah.

setelah itu, saya lanjutkan dengan menambahkan form input baru, yang berguna sebagai penampung id.
Click gambar untuk memperbesar gambar
tujuannya adalah, supaya nanti ketika button di klik, maka form ini akan mengirimkan data, nama category dan id dari category yang ingin dirubah.
oh iya, karena button belum saya beri nama, maka saya tambahkan nama, menjadi seperti berikut.
Click gambar untuk memperbesar gambar
sekaligus saya buatkan kondisi, yang mana akan masuk kondisi ini jika tombol update di klik.
lalu di dalam kondisi ini saya tambahkan query untuk update data.

Click gambar untuk memperbesar gambar
pada gambar diatas, saya memberi penunjuk. maksud dari penunjuk tersebut adalah sebagai penanda, bahwa data yang di masukkan di query berasal dari apa yang ada di dalam form input tersebut. seperti type_category yang ada di dalam query akan menampung nilai yang dimasukkan pada type_query yang di dalam form.

ok, saya lanjutkan dengan merubah sedikit codenya, supaya nanti ketika aplikasi di jalankan, dan ketika data sudah terupdate, maka akan kembali ke halaman BacaCategory, maka saya rubah seperti berikut.
Click gambar untuk memperbesar gambar

Ok, time for test the code.

Click gambar untuk memperbesar gambar
saya merubah data dari yang awalnya adalah IPA menjadi IPA bukan IPS, kemudian saya tekan button Update. Dan hasilnya adalah
Click gambar untuk memperbesar gambar

Yeahhhh...
Halaman berpindah ke halaman BacaCategory.php, dan data yang tadinya IPA sekarang telah berubah menjadi IPA bukan IPS.



FYI : Tahapan dalam edit memang sedikit rumit, bahkan saya saja ketika mebuat kode tersebut, mengalami beberapa kali kegagalan. Tapi tetep inget ya, apapun yang kamu pelajari, tidak akan sama sekali tidak berguna. Jadi jangan menyerah ketika menghadapi error atau hasil yang tidak sesuai.

OK, proses edit sudah selesai, Terimakasih banyak.
Jangan lupa tinggalkan kritik dan sarannya di kolom komentar ya.

Terimakasih banyak.

Sunday, November 11

November 11, 2018

HORORNYA ALGORITMA (dalam pemrograman)


Biasanya mahasiswa/i yang mengambil jurusan pemrograman akan bertemu dengan judul ini. Mungkin sebagian banyak yang sudah berekspektasi bahwa algorithm itu hal yang menakutkan dari pemrograman. Nah karena hal itulah makanya saya menulis ini.


Saya akan bercerita sebentar (mungkin akan lama).
Suatu hari ketika saya sedang berjalan sendirian, ada pengendara motor memelankan kendaraannya ketika sampai di depan saya. Dengan bahasa tubuhnya dia ingin menanyakan sesuatu kepada saya. 
maka saya pun dengan refleks berhenti dan menunggu dia bertanya.

S : saya
D : dia

D : Mas, mau tanya. tempat ini dimana ya ?
S : (saya si buta arah ini di tanyain hal begituan ?) (OMG). #didalemhati
saya memohon maaf kepadanya
S : Maaf , saya tidak tau, coba tanya sama penjual di depan sana. maaf bgt ya, saya tidak bisa membantu.
D : Oh iya ms, gk ppa.

lalu dia pun mendorong motornya perlahan (karena penjualnya dekat di depan).
saya pun melanjutkan perjalanan saya, sambil melewati dia yang sedang di jelaskan oleh penjual tersebut tentang bagaimana cara mencapai tempat yang ditanyakan itu.

ilustrasi :
si penjual memperagakan tangannya dengan lihainya seperti ular yang meliuk-liuk sambil mulutnya mengucapkan antara kanan dan kiri bergantian.
hingga saya pun berlalu dari kejadian itu.

Ok, segitu aja ceritanya.
Dari cerita itu sebenernya saya sedang memberitahukan anda dua (2) buah algorithm !

1. algorithm tentang bagaimana alur cerita dia bertanya kepada saya.
2. algorithm yang di sampaikan penjual kepada penanya. (emangnya ada ya ?)

Ok, saya bahas ya..


Algorithm itu hanya alur detail.
iya, menjelaskan sesuatu dengan detail itu sudah cukup di katakan sebagai algorithm.

jadi, 
1. saya menjelaskan bagaimana kejadian detail tentang seseorang ingin bertanya kepada saya. itu adalah algortihm bagaimana cara dia bertanya.
2. penjual menjelaskan secara detail bagaimana cara mencapai tempat yang di tuju si penanya juga adalah algortihm bagaimana cara sampai suatu tempat.

saya harap sudah sedikit mengerti tentang algorithm yg saya maksud.

Namun, dalam pemrograman tidak semudah itu !

ups, bukan tidak semudah itu, hanya saja tidak sesulit itu..
bagaimana tidak ?

ok, saya contohkan tentang algortima bagaimana cara menghapus data dari database.

1. baca data dari database
2. tentukan dari data yang sudah di baca sebelumnya, yang ingin di hapus
3. ambil data yang menjadi identitas dari data itu
4. kirimkan perintah ke database untuk menghapus data berdasarkan identitas data itu.

kalau algorithm hanya begitu, apa sih gunanya untuk di pemrograman ?


Ketika suatu saat anda ingin menghapus data dari database dengan suatu bahasa pemrograman, dan anda belum tau. maka anda akan bertanya ke suatu grup dengan pertanyaan seperti ini.
ASK, maaf, saya masih newbie, ingin bertanya, bagaimana ya caranya menghapus data dari database ini.



itulah yang terjadi jika anda tidak mengetahui algorithm.
namun jika anda mengetahui algorithma, pertanyaan anda akan berubah menjadi seperti ini.


ASK, maaf, saya sedang terkendala ketika sedang melakukan proses delete data dari database.
saya sudah berhasil membaca data dari database, lalu saya juga sudah menentukan data mana yang ingin saya hapus, dan mengambil identitasnya sebagai acuan untuk di hapus.
Namun ketika saya mengirimkan perintah ke database untuk menghapus data berdasarkan identitas itu, datanya tidak terhapus.
Mohon bantuannya teman -teman.

Dari 2 pertanyaan di atas, saya bisa bayangkan apa balasan yang anda dapatkan.


pertanyaan 1. 
=> Coba googling dulu dah.

pertanyaan 2.
Jawabannya akan beragam dan akan banyak yang memberikan respon.

KENAPA ?
karena penjawab sudah bisa menerka2 tentang suatu hal yang mngkin salah berdasarkan pertanyaan no 2. berbeda dengan no 1, penjawab akan malas untuk menjelaskan secara detail bagaimana caranya menghapus data itu.


Nah, itulah pentingnya algorithm.

apakah hanya itu ?
tentu tidak, dengan pahamnya algorithm, kita akan menjadi orang yang mendetail, dimana ketika nanti kita di dunia kerja, di beri suatu project. kita sudah membayangkan banyak hal. misalnya, data ini di dapat dari mana, lalu data ini ingin di tampilkan seperti apa, dan banyak hal lainnya..
Berbeda jika tidak mengerti algorithm, maka anda hanya akan mengangguk iya, ketika di beri suatu project (dan kemudian bingung ketika sedang mengerjakannya).




Ok, itulah algorithm menurut saya.
Silahkan tinggalkan komentar tentang pendapat saya ini.

Terimakasih banyak.

Saturday, November 10

November 10, 2018

Read data from Database (MySQL) PHP NATIVE


Setelah sebelumnya saya menulis tentang (Create / Insert data ke database), maka sekarang saya menulis tentang bagaimana cara membaca data yang sudah di masukkan ke database (Tanpa harus buka phpmyadmin).

Ok, beginilah caranya saya membaca data dari database.
1. Buat file BacaCategory.php
Click gambar untuk memperbesar gambar

2. buat tag html berbentuk table. (supaya data yang ditampilkan nampak rapi)
Click gambar untuk memperbesar gambar

3. beginilah tampilannya sampai tahap ini.
Click gambar untuk memperbesar gambar

4. sekarang saya akan mengimport / memanggil file Database.php ke dalam file ini, supaya file ini bisa berkomunikasi ke database.
Click gambar untuk memperbesar gambar

5. Ok, selanjutnya saya coba membuat query untuk membaca dari database.
Click gambar untuk memperbesar gambar

6. sekarang saya coba jalankan.
Click gambar untuk memperbesar gambar
ohyeahhhhh...
Datanya muncullll...


Iya, begitulah cara untuk membaca data dari database.

7. Baiklah, karena dari halaman ini akan ada proses Edit dan Delete, maka saya menambahkan beberapa href untuk membuat link..
Click gambar untuk memperbesar gambar


8. maka hasilnya akan seperti ini.
Click gambar untuk memperbesar gambar
saya menambahkan link Tambah, yang mana ketika link di klik, dia akan menuju kehalaman Tambah data Category..

Ok, sekian cara saya membaca data dari database.
Terimakasih banyak
Oh iya, jangan lupa tinggalkan kritik dan sarannya di kolom komentar dibawah ya...

Friday, November 9

November 09, 2018

Create data into database (MySQL) PHP Native


Sesuai judulnya Create data. Maka catatan saya kali ini adalah catatan tentang bagaimana saya menyimpan data ke dalam database Mysql.

Sebelumnya saya sudah membuat database dan juga sudah membuat project dengan nama buku, dimana saya juga sudah membuat file untuk koneksi ke databasenya. Karena catatan kali ini adalah catatan lanjutan dari yang sebelumnya, maka dari itu, pada catatan ini saya menggunakan project yang sama, yaitu project buku.


Ok, ini adalah tahapan - tahapannya :
1. Buatlah file TambahCategory.php di dalam folder buku

Click gambar untuk memperbesar gambar

2. Isikan code HTML di dalamnya. seperti berikut

Click gambar untuk memperbesar gambar

dari gambar diatas, saya akan jelaskan sedikit
<input type="text" name="nama_category" >
dari tag itu, saya membuat form dengan type inputan text, dan form tersebut saya beri nama "nama_category".
Nama form ini tidak boleh menggunakan character spasi, maka dari itu saya menggunakan character underscore.

<button type="submit" name="simpan">Simpan</button>
dengan tag yang barusan, saya mebuat button / tombol dengan type submit.
type submit ini berguna supaya ketika tombol di klik, maka data form akan di angkut dan di kirim.
dan button ini saya beri nama "simpan".

3. Panggil file Database.php ke dalam TambahCategory.php

Click gambar untuk memperbesar gambar

$conn = new Database();
pada kode diatas, saya membuat object baru dan saya masukkan ke dalam variable $conn, sehinggal $conn bisa digunakan untuk memanggil function yang ada di dalam Database.php

$db = $conn->getConnection();
seperti yang saya jelaskan sebelumnya, $conn bisa memanggil function yang ada di dalam Database.php (getConnection()). jadi saya membuat variable baru dengan nama $db dan saya masukkan hasil dari $conn->getConnection(); ke dalam variable $db ini.

4. Tangkap data yang dikirim oleh form pada no 2.

Click gambar untuk memperbesar gambar
if(@isset($_POST['simpan']))
jika ada yang mengirim dengan nama simpan. dalam kasus ini, button lah yang saya beri nama simpan, yang artinya, jika tombol simpan di klik, maka akan masuk ke dalam kondisi ini.

$q = "INSERT INTO `category_buku` (`id_category`, `nama_category`)
  VALUES (NULL, :nama_category );";
kode di atas adalah perintah SQL untuk melakukan penyimpanan data ke dalam table.
perlu di perhatikan ":nama_kategory" adalah key yang saya gunakan untuk di ganti nilainya dengan data yang di dapat dari form.

$exe = $db->prepare($q);
persiapkan query yang sudah di buat, supaya siap di jalankan.

$exe->bindValue(":nama_category", $_POST['nama_category']);
cari ":nama_category" dan ganti nilainya dengan nilai yang didapat dari form dengan nama "nama_category", disni form dengan nama "nama_category" adalah form untuk memasukkan nama kategory.

if ($exe->execute())
query sudah di persiapkan, data sudah di masukkan, saatnya di eksekusi (dijalankan).
jika ketika di jalankan berjalan dengan lancar, maka tampilkan "Sukses", namun jika ternyata tidak. maka tampilkan "Gagal".

5. Testing.
Click gambar untuk memperbesar gambar
Itu adalah table category_buku yang kosong (sebelum saya coba jalankan kode saya)

Click gambar untuk memperbesar gambar


ini adalah tampilan hasil kodingan sebelumnya. disini penulis mencoba memasukkan "IPA" ke dalam form Nama Category buku.

Click gambar untuk memperbesar gambar

lalu klik button simpan. dan setelah itu akan muncul pesan "Sukses". dalam kasus ini penulis tidak mengalami kegagalan.
Click gambar untuk memperbesar gambar
ok, selanjutnya cek ke databasenya, apakah memang benar-benar sudah tersimpan datanya.
Click gambar untuk memperbesar gambar
yey, ternyata datanya benar-benar sudah masuk ke dalam database.

Ok, sekian untuk catatan tentang bagaiman caranya menginputkan data ke dalam database Mysql.

Terimakasih banyak
Silahkan tinggalkan komentarnya, karena komentar andalah saya bisa tau dimana kekurangan saya..
Sekali lagi, terimakasih banyak.

Thursday, November 8

November 08, 2018

Persiapan CRUD PHP Native


Jadi sebelumnya saya ingin membuat catatan tentang dasar CRUD (Create Read Update Delete).
Namun ketika saya ingin memulainya, terlalu banyak jika harus di jadikan satu catatan, maka dari itu saya memecah menjadi beberapa tahap. Dan ini adalah tahap keduanya.

Wait, yang pertama mana ?
Hal yang pertama adalah, anda sudah harus wajib bisa menginstall xampp dan berjalan dengan baik (untuk pengguna windows), dan harus sudah wajib bisa menginstall apache, mysql, php,phpmyadmin (Bagi pengguna Linux).


Maka dari itu, ini adalah tahapan kedua, saya tidak terfikir untuk membuat tulisan tentang cara menginstall Xampp ataupun apache, mysql, php. karena versi mereka cepat berubah, maka untuk hal ini disarankan belajar dari sumber lain saja. (Saya sendiri sebagai penulis masih sering buka situs untuk installasi ini).

Ok, langsung aja ke inti dari judul catatan ini.
Persiapan apa saja yang dibuthkan sebenarnya pada tahap kedua ini ?
1. Membuat Database
silahkan buka phpmyadmin

Click gambar untuk memperbesar gambar

jika diminta login, loginlah, jika tidak, maka akan langsung ke halaman seperti berikut.

Click gambar untuk memperbesar gambar

Klik pada tab Database supaya form untuk membuat database muncul.

Click gambar untuk memperbesar gambar

Masukkan nama table yang ingin dibuat, lalu click create.

NOTE : penamaan tidak boleh menggunakan character spasi.

2. Membuat Table
Setelah berhasil membuat database, maka selanjutnya, akan muncul tampilan untuk membuat table seperti berikut.

Click gambar untuk memperbesar gambar

isikan nama table yang ingin dibuat, dan lanjutkan dengan click Go.

3. Menambahkan Field ke dalam Table
jika table sudah terbuat, maka akan di tampilkan tampilan untuk menambahkan field seperti ini.

Click gambar untuk memperbesar gambar
Ok, itu adalah tahapan tahapan untuk membuat database.
Dalam kasus ini, (Membuat catatan untuk CRUD PHP Native) penulis membuat 1 buah Database dengan nama "buku".
dimana di dalamnya ada 2 buah table, yaitu :
1. table "category_buku" dengan field seperti berikut :
-> id_category, int(11), primary key, auto increament
-> nama_category, varchar(25)

2. table "daftar_buku" dengan field seperti berikut :
-> id_daftar_buku, int(11), primary key, auto increament
->  id_category, int(11)
-> judul_buku, varchar(50)
-> sampul_buku, text

Berikut adalah lanjutan proses penulis untuk membuat table daftar_buku

setelah selesai pada tahapan no 3, phpmyadmin akan menampilkan halaman daftar field yang telah dibuat. jika ingin membuat table baru, biasanya penulis langsung klik link yg penulis beri tanda kotak.

Click gambar untuk memperbesar gambar
setelah itu, maka halaman akan menampilkan seperti pada tahapan no 2. disini penulis membuat table baru dengan nama "daftar_buku".

Click gambar untuk memperbesar gambar

selanjutnya sama seperti tahap no 3, yaitu memasukkan field yang akan diberikan kepada table "daftar_buku".

Click gambar untuk memperbesar gambar

iya, itulah tahapan untuk membuat database yang akan digunakan penulis untuk membuat catatan tentang CRUD PHP Native.

dan selanjutnya adalah

4. Membuat Koneksi dari PHP ke Database yang telah dibuat.
ok, buatlah sebuah folder dengan nama "buku" di dalam htdocs jika menggunakan xampp.

Click gambar untuk memperbesar gambar

NOTE : mkdir (make dir / buat folder). subl buku (perintah untuk membuka folder buku dengan sublime text editor).

karena penulis tidak menggunakan xampp, dan letak localhost penulis adalah /var/www/html/ maka penulis membuat folder di dalam folder tersebut...

jika sudah, buka folder buku tadi dengan text editor kesayangan. (penulis menggunakan sublime).

lalu buatlah folder baru di dalam folder buku tadi, dengan nama "config". dan buatlah file Database.php di dalam folder config tadi.

Click gambar untuk memperbesar gambar


Isikan kodenya sesuai seperti gambar diatas. Kecuali untuk $user dan $pasw.
$user biasanya di isi dengan root saja, dan $pasw di kosongkan saja (jika pengguna windows) atau seusuaikan dengan settingan mysql yg sudah di install.

Ok, sekarang buatlah file index.php di dalam folder "buku".

Click gambar untuk memperbesar gambar


dan isikan seperti gambar.
File index.php ini sementara hanya digunakan untuk melakukan uji coba, apakah Database.php bisa benar-benar terhubung dengan database yang sudah dibuat.

jika di jalankan "localhost/buku" seharusnya yang nampil seperti ini.


Click gambar untuk memperbesar gambar

Ok, sekian dulu untuk persiapan membuat CRUD dengan PHP Native

Silahkan tinggalkan kritik dan saran di kolom komentar dibawah.
Terimakasih banyak.

Wednesday, November 7

November 07, 2018

MVC pada CodeIgniter

Sesuai dengan judul, saya ingin mengulas tentang apa itu MVC pada CodeIgniter.
MVC atau yang kalau di sebutkan dengan kepanjangannya adalah Model View Controller adalah nama folder yg ada di dalam framework CodeIgniter itu sendiri.


Ok, mungkin anda akan mengeluh, kenapa saya menyebutkan itu adalah nama folder. Fakta memang kalau di dalam framework CodeIgniter ada 3 buah folder tersebut. Ini buktinya.

Click gambar untuk memperbesar gambar

Nah, bener kan.
Namun MVC yang sering di sebut - sebut pada CodeIgniter itu bukanlah membahas tentang folder !
MVC yang dibahas pada CodeIgniter adalah metode penempatan kode jika ingin menggunakan CI dengan baik dan benar.

NOTE : Nulis CodeIgniter itu kepanjangan, jadi saya akan singkat jadi CI aja.

Pada CI untuk menampilkan data dari database ke suatu halaman di bagi menjadi 3 bagian. Ya udah jelas itu adalah Model View Controller, yang mana
Model berguna untuk komunikasi ke database.
View berguna untuk menampilkan data
Controller adalah mak comblang untuk Model dan View.
Cek gambar ini dulu deh.

Click gambar untuk memperbesar gambar
Sesuai kan dengan penjelasan saya yang sebelumnya.

1. Model adalah sebagai komunikator dengan database yang artinya, Controller tidak secara langsung berkomunikasi dengan database jika ingin mengambil data ataupun mengisi data ke database.
2. View digunakan untuk menampilkan data yang sudah di ambil oleh Controller melalui Model.
3. Controller adalah penghubung / mak comblang.

NOTE : untuk kasus Controller, pada CI ketika kita mengakses url, url kita arahkan pada file Controller. dimana ketika file controller di panggil, dia akan menarik data dari Model yang kemudia di letakkan data tersebut ke dalam View dan kemudia Controller meload / memuat View dan di tampilkan pada browser !

Atas alasan tersebutlah kenapa saya buat Controller yang berada di dalam Monitor dan bukan View.

Ok, sekilas tentang MVC pada CI saya cukupkan sampai disini..

Silahkan kirim kritik dan sarannya pada kolom komentar dibawah ya..

Terimakasih banyak