Sunday, January 24, 2016

Memahami Konsep MVC

  No comments
Salam Programmer Indonesia. Kali ini saya akan membahas Postingan singkat mengenai Konsep MVC, tanpa berlama lama lagi mari kita mulai membahasnya.

MVC adalah Model View Controller, konsep ini sering digunakan oleh para programmer karena konsepnya yang sederhana juga mudah dipahami oleh para programmer.

Untuk lebih jelaskan mari pahami arti dari masing masing dari Model, View dan Controller.


  • Model
Model mempunyai arti sebagai tempat memproses, meginput serta memanggil database, segala proses input, delete dan add semuanya berada dalam model.
  • View
View merupakan tempat untuk memproses tampilan user / Output, namun view juga dapat memproses seperti halnya apa yang dilakukan model.
  • Controller
Controller sendiri berfungsi sebagai perantara antara model dan view, dimana proses dari model akan diolah di controller lalu akan dikirim ke view, begitu pula sebaliknya.

Untuk lebih memahami skema nya bisa lihat gambar dibawah ini
Memahami Konsep MVC


Mungkin hanya secuil arti untuk postingan kali ini mohon maap jika postingannya kurang dapat dimengerti.

Saturday, January 23, 2016

Berkenalan Dengan Pemograman Berorientasi Objek (OOP)

  No comments
Berkenalan Dengan Pemograman Berorienasi Objek (OOP)Salam Programmer Indonesia, sudah lama saya tidak post karena adanya kesibukan tugas tugas kuliah, dikesempatan kali ini saya akan membahas mengenai Pemograman Berorientasi Objek atau yang biasa lebih terdengar OOP Programming.

OOP sendiri memiliki kepanjangan (Object Oriented Programming) merupakan sebuah teknik membuat suatu program yang dibuat atau dibangun berdasarkan objek. OOP sendiri harus membutuhkan usaha keras agar dapat memahami nya oleh sebab itu terkadang programmer memerlukan waktu lama untuk mempelajarinya hingga mahir.

Nah, walaupun saya juga masih belum mengenal lebih jauh tentang OOP tidak ada salahnya kita belajar dan berbag bersama informasi tentang OOP.

Di dalam OOP, minimal yang kita harus ketahui yakni
  1. Class
  2. Variabel
  3.  Metode
  4.  Object

Untuk penjelasan masing masingnya seperi ini
  •  Class adalah point penting dari OOP yang berisi data dan kode dengan aksi. Atau bisa kita ibaratkan sebagai Cetakan dalam program.


“ class perkenalan {  … } “
  •   Variabel adalah tempat menyimpan data yang kita inputkan.

“ public $nama;
   public $alamat; “
  • Memiliki peran menjelaskan bagaimana suatu atribut yang didefinisikan oleh class dapat beraksi.

“ function perkenalan () { … } “
  •  Object adalah unit dasar dalam OOP yang dilengkapi dengan aksi, identitas, bagian dari class namun tidak sama


Untuk source yang lebih jelasnya seperti ini
<?php class perkenalan { public $nama; public $alamat; function sapaan() { echo "Selamat Datang $this->nama"; } function perkenalkandiri() { echo "nama saya adalah $this->nama dan saya beralamat di $this->alamat"; }
?>

Didalam OOP programming kita juga dikenalkan dengan yang namanya “ $this-> “ nah keyword ini hanya ada di pemograman OOP saja. Fungsinya ini untuk mengambil data yang ada dari variabel.

Dalam source diatas kita belum menampilkan hasilnya oleh sebab itu kita tambah kode setelah } sebelum?> jadi seperti ini
<?php class perkenalan { public $nama; public $alamat; function sapaan() { echo "Selamat Datang $this->nama"; } function perkenalkandiri() { echo "nama saya adalah $this->nama dan saya beralamat di $this->alamat"; } $hello = new perkenalan();$hello->nama = "Rangga Tech";$hello->alamat = "Kota Bandung";$hello->sapaan();echo "<br>";$hello->perkenalkandiri(); 
?>

Dalam source tersebut kita menambahkan kode
$hello = new perkenalan();
Dimana kode ini digunakan untuk memanggil class perkenalan, dan jangan lupa buatlah objek yang tidak sama dengan yang lain lihat ini “ $hello “.

Nah, Untuk menginput data kita akan mendeklarasikan kodenya seperti ini
$NamaObject -> property = nilai;

Dalam kode diatas kita membuat seperti ini
$hello -> nama = “ Rangga Tech “;
$hello -> alamat = “ Kota Bandung “;
Dikode ini dapat diartikan kita akan menginputkan/ mengisi variable public $nama atau public $alamat dengan suatu nilai “ Rangga Tech “ atau “ Kota Bandung”.

Untuk menampilkan outputnya kita dapat menggunakan kode
$NamaObject -> function();

Maka akan kita tulis seperti ini
$hello -> sapaan();
$hello -> perkenalkandiri();

Jika diartikan kita akan memanggil function sapaan() dan function perkenalkandiri() dimana dalam fungsi tersebut terdapat $this -> nama dan $this->alamat yang sudah kita isikan datanya. Maka jika kita jalankan nanti di monitor akan tampak seperti ini
Pemograman Berorienasi Objek (OOP)
OOP 


Thanks to : http://blog.phpindonesia.com/2016/01/memahami-implementasi-php-object.html


Sunday, January 10, 2016

Kelebihan dan kekurangan metode sorting

  No comments

Kelebihan dan Kekurangan metode sorting

Salam Programmer Indonesia, Postingan kali ini akan melanjutkan membahas postingan dari Sorting Data Pascal , Hari ini masalah yang akan dibahas yakni mengenai Kelebihan dan Kekurangan dari tiap metode sorting.

A. BUBBLE SORTING
1. KELEBIHAN
  • Metode ini merupakan yang paling simple
  • Metode ini mudah dipahami algoritmanya

2. KEKURANGAN
Meskipun simple metode ini merupakan metode pengurutan yang paling tidak efisien. Pada saat pengurutan data yang sangat besar akan mengalami kelambatan yang luar biasa, atau dengan kata lain kinerja memburuk cukup signifikan.

B. SELECTION SORTING
1. KELEBIHAN
  • Algoritma ini sangat rapat dan mudah untuk diimplementasikan
  • Operasi pertukarannya hanya dilakukan sekali saja
  • Waktu pengurutan dapat lebih ditekan
  • Mudah menggabungkannya kembali
  • Kompleksitas selection relative lebih kecil

2. KEKURANGAN
Sulit untuk membagi masalah.

C. INSERTION SORTING
1. KELEBIHAN
  • Sederhana dalam penerapannya.
  • Mangkus dalam data yang kecil.
  • Jika list sudah terurut atau sebagian terurut maka Insertion Sort akan lebih cepat dibandingkan dengan Quicksort.
  • Mangkus dalam data yang sebagian sudah terurut.
  • Lebih mangkus dibanding Bubble Sort dan Selection Sort.
  • Loop dalam pada Inserion Sort sangat cepat, sehingga membuatnya salah satu algoritma pengurutan tercepat pada jumlah elemen yang sedikit.
  • Stabil.

2. KEKURANGAN
  • Banyaknya operasi yang diperlukan dalam mencari posisi yang tepat untuk elemen larik.
  • Untuk larik yang jumlahnya besar ini tidak praktis.
  • Jika list terurut terbalik sehingga setiap eksekusi dari perintah harus memindai dan mengganti seluruh bagian sebelum menyisipkan elemen berikutnya.
  • Membutuhkan waktu O(n2) pada data yang tidak terurut, sehingga tidak cocok dalam pengurutan elemen dalam jumlah besar.


Salam Programmer Indonesia, postingan mengenai Kelebihan dan Kekurangan metode sorting mohon maap apabila postingannya kurang dimengerti, disini saya hanya berniat berbagi dan bukan untuk menggurui.
Terimakasih


Salam Programmer Indonesia

Saturday, January 9, 2016

Sorting Data Pascal

  No comments
Sorting Data Pascal

Salam Programmer Indonesia, kali ini saya akan membahas tentang sorting, mungkin postingan kali ini agak sedikit meloncat dari permasalahan program sebelumnya, namun ini pun sangat berguna dalam program pascal.

A.                 PENGERTIAN SORTING DATA


Sorting merupakan suatu proses untuk menyusun kembali humpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa digunakan dalam suatu proses sorting:

1.                 Urut naik (ascending)

Mengurutkan dari data yang mempunyai nilai paling kecil sampai paling besar

2.                 Urut turun (descending)

Mengurutkan dari data yang mempunyai nilai paling besar sampai paling kecil.

B.                 TUJUAN SORTING DATA


Data yang terurut mudah untuk dicari, mudah untuk diperiksa, dan mudah untuk dibetulkan jika terdapat kesalahan. Data yang terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut tidak diperlukan lagi. Selain itu, dengan mengurutkan data maka kita semakin mudah untuk menyisipkan data atapun melakukan penggabungan data.

C.                  METODE SORTING DATA

Metode-metode sorting meliputi:

1.                 Bubble Sort (Metode Gelembung)

Bubble Sort adalah metode pengurutan data dengan prinsip: data di lokasi/indeks I dibandingkan dengan data lain di lokasi/indeks sebelahnya I+1, apabila terdapat ketidakcocokan data, maka data di lokasi I tersebut akan ditukar dengan data di lokasi I+1. Maka secara perlahan, data akan bergerak menuju ke lokasi yang tepat. Dari sifat inilah, istilah bubble yang artinya gelembung diambil. Seperti gelembung dalam minuman soda, yang perlahan bergerak naik ke atas.

Disajikan contoh cara kerjanya, untuk 5 buah data yaitu 4, 5, 1, 3, 2. Pengurutan dimulai dari lokasi pertama (I adalah 1), dan dibandingkan dengan lokasi sebelahnya (I+1 adalah 2). Karena data 4 dan 5 sudah berada pada urutan yang cocok, maka tidak terjadi pertukaran. Kemudian dicek data lokasi berikutnya (I adalah 2) dengan lokasi sebelahnya (I+1 adalah 3), ternyata data 5 dan 1 tidak cocok, maka ditukar. Lokasi berikutnya (I adalah 3) dibandingkan dengan lokasi sebelahnya (I+1 adalah 4), ternyata data 5 dan 3, tidak cocok lagi, maka ditukar lagi. Demikian seterusnya, dikerjakan sampai dipastikan bahwa semua data ada pada lokasi yang cocok, yang dilakukan dengan cara sudah tidak ada lagi pertukaran yang dilakukan. Berikut adalah proses perubahan data untuk contoh data 4, 5, 1, 3, 2 tersebut:
1.      Perulangan Pertama (First Pass)
4 5 1 3 2 (cocok)
4 5 1 3 2 (tukar 5 dan 1) 4 1 5 3 2
4 1 5 3 2 (tukar 5 dan 3) 4 1 3 5 2
4 1 3 5 2 (tukar 5 dan 2) 4 1 3 2 5

2.      Perulangan Kedua (Second Pass)
4 1 3 2 5 (tukar 4 dan 1) 1 4 3 2 5
1 4 3 2 5 (tukar 4 dan 3) 1 3 4 2 5
1 3 4 2 5 (tukar 4 dan 2) 1 3 2 4 5
1 3 2 4 5 (cocok)

3.      Perulangan Ketiga (Third Pass)
1 3 2 4 5 (cocok)
1 3 2 4 5 (tukar 3 dan 2) 1 2 3 4 5
1 2 3 4 5 (cocok)
1 2 3 4 5 (cocok)

4.      Perulangan Keempat (Fourth Pass)
1 2 3 4 5 (cocok)
1 2 3 4 5 (cocok)
1 2 3 4 5 (cocok)
1 2 3 4 5 (cocok)

 Pada waktu Perulangan Keempat, sudah tidak terjadi pertukaran lagi (semua sudah cocok), maka sudah dapat dipastikan bahwa semua data sudah berada di lokasi yang tepat.


2.                 Selection Sort (Metode Seleksi)


Cara kerja metode ini didasarkan pada pencarian elemen dengan nilai terkecil. kemudian dilakukan penukaran dengan elemen ke-I. Secara singkat metode ini bisa dijelaskan sebagai berikut. Pada langkah pertama, dicari data yang terkecil dari data pertama sampai terakhir. Kemudian data tersebut kita tukar dari data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding dengan data lain. Pada langkah kedua, data terkecil kita cari mulai dari data kedua sampai data terakhir. Data terkecil yang kita peroleh kita tukar dengan data kedua. Demikian seterusnya sampai seluruh data terurut.
1.      Proses Pertama
i = 1    2     3     4   5   6
     22  10  15   3   8   2
Pembanding         Posisi
22 > 10                  2
10 < 15                  2
10 > 3                    4
3 < 8                      4
3 > 2                      6
Posisi data ke-1 (22) = 6
Tukar data ke-1 dengan data ke-6
      2   10   15   3   8   22

2.      Proses Kedua

i = 1    2     3     4   5   6
     2    10   15   3   8   22
Pembanding          Posisi
10 < 15                  2
10 > 3                    4
3 < 8                      4
3 < 22                    4
Posisi data ke-2 (10) = 4
Tukar data ke-1 dengan data ke-4
      2   3   15   10   8   22                                  

3.                 Insertion Sort (Metode Penyisipan)

 
Pengurutan dilakukan dengan cara membandingkan data ke-I (dimana I dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya. Jika ditemukan data yang lebih kecil maka data tersebut disisipkan ke depan sesuai posisi yang seharusnya.
1.      Proses Pertama
i = 1    2     3     4   5   6
     22  10  15   3   8   2
Temp    cek                geser
10       temp<22     data ke-1 -> posisi 2

Temp  menempati  posisi  ke-1

10   22   15   3  8   2

2.      Proses Kedua

i = 1    2     3     4   5   6
     10  22  15   3   8   2
Temp    cek                geser
15       temp<22     data ke-2 -> posisi 3
            Temp>10

Temp  menempati  posisi  ke-2


10  15   22   3  8   2

Sekian pembahasan kali ini, mohon maap jika postingannya kurang dimengerti untuk pertanyaan lebih lanjut boleh dikolom komentar. 

Terimakasih


Salam Programmer Indonesia