Galih Laras Prakoso: Pemrograman
Tampilkan postingan dengan label Pemrograman. Tampilkan semua postingan
Tampilkan postingan dengan label Pemrograman. Tampilkan semua postingan

Apa itu Node.js dan cara menginstalnya ( NPM )

JavaScript adalah bahasa yang sangat dekat sekali dengan para Web Developers. Mereka menggunakan javascript untuk membuat tampilan website semakin hidup dengan menambahkan interaksi-interaksi dan animasi yang menarik untuk berinteraksi dengan penggunanya.

Nah, semakin majunya teknologi khususnya pengembangan Javascript, kini javascript tidak hanya digunaan di front-end tetapi juga di back-end. Dengan Node.js, kini Javascript bisa menjadi bahasa pemrograman yang dapat berjalan di server-side. Sebenarnya sudah lama sih Node.js mulai dikembangkan yaitu pada tahun 2009 oleh Mas Ryan Dahl. Kalau pengen tahu lebih dalam, kamu bisa tonton video presentasinya di bawah ini :

Apa itu Node.js?

Node.js adalah sebuah Server Environment yang dikembangkan secara open-source jadi Node.js ini dapat digunakan dan dikembangkan oleh siapapun secara cuma-cuma alias gratis. Node.js ini dapat berjalan di banyak platform seperti Windows, Linux, Mac OS, Unix dsb. Intinya Node.js ini adalah server environment yang memungkinkan kita untuk dapat menggunakan Javascript di server.
Kode di atas adalah contoh sederhana untuk menjalankan server Node.js. Sangat menarik bukan? untuk tutorial membangun sesuatu dengan Node.js mungkin aku akan tulis di postingan-postingan selanjutnya untuk kali ini cara nginstalnya aja dulu ya, lagian cara nginstalnya cukup mudah kok seperti nginstal software pada umumnya. Langsung saja download Node.js installer disini : https://nodejs.org/en/ .

Setelah menginstal Node.js pada komputer kamu, sekarang kamu dapat mengakses Node.js menggunakan CMD / Terminal. Coba sekarang buka aplikasi CMD / Terminal, ketikan kode di bawah ini lalu tekan enter :
node -v
Perintah diatas akan menunjukkan versi Node.js yang terinstal pada komputermu saat ini. Sekarang coba ketikan kode di bawah ini lalu tekan enter :
npm -v
Perintah di atas akan menunjukkan versi NPM (Node package manager) yang terinstal di komputer kamu. Sekarang kamu sudah siap untuk menciptakan sesuatu yang luar biasa dengan Node.js. Selamat berkarya!

Prinsip SOLID - Penjelasan Lengkap Beserta Contohnya

Prinsip SOLID - Penjelasan Lengkap Beserta Contohnya
Setelah mempelajari tentang pemrograman berorientasi objek, sekarang saatnya kita sama-sama memahami lima buah prinsip yang akan membantu kita membuat design yang lebih baik dalam mengembangkan software.

Lima buah prinsip yang akan kita pelajari disingkat menjadi satu buah kata yaitu S.O.L.I.D. Prinsip ini dipopulerkan oleh Robert C. Martin atau yang biasa dipanggil dengan nama Uncle Bob. Jika kita mengaplikasikan masing-masing prinsip dengan tepat, maka kelima prinsip ini dapat membuat baris kode yang kita tulis semakin extendable dan easier to read.

Sebaliknya jika kita mengembangan software dengan menggunakan design yang buruk, maka baris kode yang kita tulis akan menjadi sangat kaku dan rapuh, sedikit saja kita melakukan perubahan dapat menghasilkan banyak bug. Maka dari itu, sangat penting bagi kita untuk mempelajari dan menerapkan kelima prinsip yang disebut SOLID ini.

prinsip-solid-pada-pemrograman

Oke, sebelumnya kita semua harus percaya bahwa :
Disiplin itu memang terkesan mengekang, tetapi sebenarnya dia membebaskan.
Menerapkan prinsip SOLID tentunya memerlukan disiplin yang kuat, kita yang mungkin sering berpikir bahwa disiplin itu mengekang, harus mulai merubah pola pikir kita. Karena ketika kita disiplin saat ini, itu akan membebaskan banyak masalah di masa yang akan datang.

Langsung saja aku akan mencoba untuk menjelaskan kelima prinsip SOLID dengan sesederhana mungkin sehingga mudah dimengerti.

#1 Single Responsibility Principle
Sebuah class harus memiliki satu, dan hanya satu alasan untuk berubah.
Satu class hanya boleh mengerjakan satu tujuan. Anti multitasking-multitasking club. Hindari menciptakan GOD Class yang mampu mengerjakan banyak hal. Semua methods dan properties harus bekerja untuk mengerjakan tujuan yang sama.

Ketika sebuah class sudah mulai mengerjakan beberapa tujuan, maka class tersebut harus dipecah menjadi class baru. Atau ketika sebuah class memiliki lebih dari satu alasan untuk berubah, maka class tersebut harus dipecah menjadi class baru.
Contoh :
Pada contoh di atas, kita dapat melihat bahwa class yang bernama GODClass benar-benar bertingkah seperti dewa. Mampu melakukan banyak hal, kelihatannya bagus, berarti dia multitalent :v wkwkwk. Gak -_- , itu melanggar prinsip yang pertama.

Misalnya suatu saat kita ingin merubah listDataHarga, cara menyajikan data dan format harga. Maka GODClass akan memiliki 3 alasan untuk berubah dan itu melanggar prinsip SOLID yang pertama karena sebuah class harus memiliki satu, dan hanya satu alasan untuk berubah.

#2 Open/Closed Principle
“Classes should be open for extension but closed for modification”
Sengaja ga saya translate karena saya susah bahasa indonesiain :D jadi aneh. Maksud dari prinsip kedua ini adalah misalnya ada sebuah tim programmer yang sedang mengerjakan sebuah aplikasi, suatu hari ada sebuah class yang ditulis oleh programmer yang bernama Paijo, nah setelah Paijo selesai menulis class-nya ada programmer lain yang bernama Suparman yang ingin menggunakan class yang dibuat oleh Paijo namun dia menginginkan ada beberapa perubahan pada class tersebut. Nah, seharusnya Suparman dapat dengan mudah meng-extend class yang dibuat oleh Paijo. Tetapi dengan catatan bahwa Suparman tidak perlu merubah class yang ditulis oleh paijo.
Contoh :
#3 Liskov Substitution Principle
“Parent classes should be easily substituted with their child classes without blowing up the application”.
 Class induk harus dapat dengan mudah digantikan dengan class turunannya tanpa menghancurkan keseluruhan aplikasi. Langsung saja kita ambil sebagai contoh misalnya :

Pada kode di atas kita bisa langsung melihat bahwa ada class induk yang bernama AlatMusik , class induk tersebut memiliki dua class turunan yang bernama Gitar dan Biola. Masing - masing dapat mengimplementasikan method berbunyi() nya sendiri-sendiri tanpa merusak atau mengotak atik class induknya sehingga hal tersebut tidak akan merusak jalannya aplikasi.

#4 Interface Segregation Principle
“A client should not be forced to use an interface, if it doesn’t need it.”
Jika kalian sudah mulai belajar PBO, pastinya kamu tidak asing dengan yang namanya interface. Yak, maksud dari prinsip yang ke empat ini sangatlah sederhana yaitu banyak interface yang memiliki tujuan spesifik lebih baik daripada hanya satu interface namun memiliki banyak tujuan. Langsung aja lihat contoh di bawah ini :
Dengan melihat contoh diatas tentunya kita bisa langsung paham bahwa contoh yang salah di atas adalah contoh yang memaksa penggunanya untuk mengimplementasikan semua method, sementara yang benar tidak.

Misalnya suatu saat pengguna hanya ingin mengimplementasikan fungsi untuk menangani ketika ada interaksi sentuhan. Masa iya dia harus mengimplementasikan fungsi lain yang tidak dia butuhkan? kan tidak efisien.

#5 Dependency Inversion
“High level modules should not depend on low-level modules, but should depend on abstraction.”
Yak, sampailah kita pada prinsip yang terakhir. Pengertian dari prinsip ini adalah bahwa class yang dikategorikan sebagai high-level class tidak boleh bergantung pada low-level class tetapi harus bergantung pada abstraksi.

Waduh, gimana sih maksudnya? maksudnya adalah setiap class tidak boleh berinteraksi secara langsung. Kenapa? karena itu akan menyebabkan terjadinya tight coupling atau keterikatan yang kuat antara kedua class tersebut. Lalu bagaimana class berkomunikasi? Menggunakan Interface. 

Dengan begitu, high-level class tidak perlu khawatir aplikasi akan rusak jika terjadi perubahan pada low-level class. Langsung saja deh lihat contohnya :

Perhatikan class ProyekBangunan yang ada pada contoh di atas. Kita bisa melihat bahwa method mulaiProyek() yang ada pada ProyekBangunan memanggil method kerja() pada setiap class yang mengimplementasikan interface PekerjaBangunan tanpa mengkhawatirkan bagaimana masing-masing pekerja melakukan pekerjaannya yang dia tahu hanya PekerjaBangunan pasti bisa kerja. Dengan begini class ProyekBangunan tidak terikat secara langsung dengan setiap class pekerja dan jika pekerja suatu saat bekerja dengan cara yang berbeda, high-level class seperti ProyekBangunan tidak perlu khawatir dengan perubahan tersebut.

Yak, kira-kira begitulah penjelasan yang bisa kusampaikan kepada teman-teman semua. Jika mungkin aku salah dalam menjelaskan tolong dikoreksi dan jika kalian ada pertanyaan jangan sungkan - sungkan untuk memulai diskusi dengan berkomentar pada kolom komentar yang berada di bawah. Semoga bermanfaat!

Tutorial pemrograman berorientasi objek #4 - Polimorfisme

tutorial-pemrograman-berorientasi-objek-4-polimorfisme-cover

Akhirnya kita sampai di bagian terakhir dari seri tutorial pemrograman berorientasi objek ini. Mungkin terdengar sangat asing bagi kamu yang baru pertama kali mendengar kata ini. Tapi tenang saja, seperti yang sudah aku janjikan sebelumnya bahwa penjelasannya akan aku buat sesederhana mungkin sehingga menjadi sangat mudah untuk dipahami.

Pada tutorial sebelumnya kita sudah sama-sama belajar tentang pewarisan dalam PBO dan kita sangat senang bahwa pewarisan membantu kita untuk memecahkan masalah. Tetapi sekarang justru permasalahan baru muncul dari pewarisan.

tutorial-pemrograman-berorientasi-objek-4-polimorfisme-ilustrasi

Perhatikan beberapa bangun datar diatas. Kita tahu bahwa bangun datar memiliki 2 kesamaan yang sangat umum yaitu sama-sama memiliki Luas dan Keliling. Lalu dimana permasalahannya?

Oke, sekarang misalnya kita menginginkan sebuah koleksi yang di dalamnya terdapat campuran 3 bangun datar di atas. Kita ingin memperlakukan semua objek yang ada dalam koleksi tersebut dengan cara yang sama.

Misalnya untuk koleksi yang di dalamnya terdapat campuran dari 3 objek di atas kita ingin menghitung luas dan keliling masing-masing objek, bagaimana kita memperlakukan 3 objek tersebut dengan cara yang sama padahal 3 objek tersebut adalah objek yang berbeda, cara menghitung keliling dan luasnya pun berbeda. Polimorfisme dapat menjadi solusi atas permasalahan di atas.

Polimorfisme
Polimorfisme diambil dari bahasa Yunani yang berarti "banyak bentuk". Dengan polimorfisme kita dapat memperlakukan campuran objek dalam sebuah koleksi dengan cara yang sama.

Polimorfisme memungkinkan kita untuk memperlakukan sebuah child class sama persis seperti parent class nya. Misalnya dalam contoh kasus di atas, lingkaran, segitiga dan persegi adalah child class dari parent class yang bernama bangun datar.

Ketika kita bisa mengimplementasikan pengukuran luas dan keliling pada parent class yaitu bangun datar, tentunya pengukuran luas dan keliling juga akan dapat di dimplementasikan kepada child class-nya yaitu lingkaran, segitiga dan persegi.

Yuk, mari kita lihat implementasinya di baris kode Java.

Seperti yang kita lihat pada contoh kodingan di atas, class Lingkaran, SegitigaSamaSisi dan Persegi adalah turunan dari class BangunDatar. BangunDatar adalah abstract class yang memiliki dua abstract method yang harus diimplementasikan oleh class turunannya yaitu hitungLuas() dan hitungKeliling().

Dengan begitu kita dapat menyimpan koleksi bangun datar yang isinya terdapat campuran tiga objek yakni lingkaran, segitiga dan persegi. Dan kita dapat memperlakukan tiga objek yang berbeda tersebut seperti bangun datar yaitu menghitung keliling dan luasnya.
Yee. Masalah selesai! Selamat, kamu sekarang sudah mempelajari keempat prinsip dari PBO. Jika masih ada yang kamu belum mengerti, jangan malu untuk bertanya, silahkan meninggalkan pertanyaan pada kolom komentar di bawah. Bagikan tutorial ini kepada teman-temanmu yang lain supaya mereka juga benar-benar paham PBO beserta implementasinya dalam memecahkan masalah di dunia nyata melalui pemrograman.

Tutorial pemrograman berorientasi objek #3 - Pewarisan

tutorial-pemrograman-berorientasi-objek-pewarisan-cover

Kita sudah berada di bagian ke tiga dari rangkaian tutorial pemrograman berorientasi objek ini. Kita sudah sama-sama paham dengan apa yang dimaksud dengan Enkapsulasi dan Abstraksi. Kini kita akan sama-sama memahami apa itu Pewarisan.

Kita tentunya sudah cukup familiar dengan kata "Pewarisan". Di sinetron-sinetron biasanya yang menceritakan keseruan anak-anak yang berebut warisan wkwk :D. Jadi, pasti kalian ngerti lah apa itu pewarisan dalam konteks umum.


Pewarisan dalam PBO sebenarnya ada untuk mengatasi salah satu masalah yang sangat penting. Yaitu, Dalam PBO kita akan selalu berurusan dengan banyak objek, nah objek-objek tersebut terkadang sangatlah mirip satu dengan lain, objek-objek terlihat sama namun tidak sama secara keseluruhan. :( Masa iya kita harus selalu mengetikkan kode yang sama berulang-ulang? Harusnya kan baris kode yang sama bisa di reuse (dipakai ulang).

Tenang, masalah tersebut dapat diatasi dengan Pewarisan. Dengan pewarisan kita bisa reuse logic yang sama dan menciptakan logic yang unik serta memisahnya menjadi class yang baru.

Intinya adalah, dengan pewarisan kita dapat membuat child class / class turunan yang mewarisi sifat-sifat dari parent class / class induknya. Dan tentunya, child class juga dapat mengimplementasikan keunikannya sendiri.

tutorial-pemrograman-berorientasi-objek-pewarisan-ilustrasi

Gambar di atas merupakan ilustrasi yang sangat sederhana untuk menjelaskan apa itu pewarisan. Anak tentunya akan mewarisi sifat-sifat, perilaku dsb. dari kedua orang tua. Misalnya berbicara, melihat, warna kulit, jenis rambut dll. Tetapi si anak tidak sepenuhnya sama dengan kedua orang tuanya, tetapi dia juga unik. Dia memiliki gaya berbicaranya sendiri, bentuk wajahnya sendiri, cara berjalannya sendiri dll. Kira-kira begitulah pewarisan.

Cukup sederhana bukan? karena konsep ini tentunya sudah sangat familiar dengan kita karena berkaitan dengan kehidupan sehari-hari yang kita jalani.

Oke, sekarang bagian yang paling seru, yuk coba kita implementasikan ke baris kode.
Pada contoh kodingan di atas, kita bisa melihat betapa indahnya konsep pewarisan pada PBO :D. Jadi, pada contoh kodingan di atas kita bisa langsung memahami bahwa Ayah, Ibu dan Anak adalah Manusia yang memiliki sifat / perilaku dasar yaitu berbicara().

Namun, tentunya walaupun ketiganya sama-sama manusia, mereka memiliki skill dan keunikan mereka masing-masing. Walaupun sama-sama berbicara, mereka berbicara dengan cara yang berbeda-beda.

Ayah dan Ibu tentunya memiliki skill yang berbeda. Ayah bisa memancingIkan(), sementara ibu bisa memasak() dan menyanyi(). Sementara itu, pada contoh ini ternyata kebetulan si Anak mewarisi skill yang dimiliki oleh Ayah dan Ibunya. Tetapi tetap saja si Anak memiliki cara yang unik dalam mengimplementasikan skill yang diturunkan dari Ayah dan Ibunya.

Kesimpulan...
Dengan Pewarisan kita dapat membentuk suatu hierarcy. Dengan begini, tentunya kita dapat memprogram dengan lebih efisien. Karena kita dapat me-reuse logic yang sama dan mengimplementasikan logic yang unik / berbeda pada class turunan dari parent class.
Wow, kita sudah hampir selesai memahami keempat prinsip PBO. Jika kamu merasa bingung atau ada yang belum jelas tentang materi kali ini. Jangan malu untuk meninggalkan pertanyaan pada kolom komentar yang disediakan di bawah ini.
Tutorial Selanjutnya :

Tutorial pemrograman berorientasi objek [PBO] #2 - Abstraksi

tutorial-pemrograman-berorientasi-objek-pbo-abstraksi-cover
Abstraksi adalah kelanjutan dari enkapsulasi yang sudah di jelaskan pada bagian sebelumnya dari tutorial ini.

Dalam design berorientasi objek, ketika kebutuhan program menjadi semakin kompleks, program juga akan menjadi semakin besar dan kompleks. Seperti yang sudah dijelaskan sebelumnya bahwa dalam PBO setiap tugas yang spesifik akan diberikan kepada tiap-tiap objek yang saling berkomunikasi satu sama lain. Sehingga mengurusi kode sebanyak ini terkadang menjadi sebuah masalah yang rumit dalam PBO.

Boom! abstraksi adalah solusi dari permasalahan tersebut!
Dengan menerapkan konsep abstraksi, itu berarti program hanya akan memperlihatkan mekanisme penggunaan paling sederhana untuk menggunakannya.
Konsep abstraksi menyembunyikan mekanisme yang rumit yang ada di dalam sebuah objek dan hanya akan memperlihatkan mekanisme / operasi yang relevant kepada objek yang lain.

tutorial-pemrograman-berorientasi-objek-pbo-abstraksi-ilustrasi

Sebagai ilustrasi, kita semua pasti tahu mesin pencari yang paling populer digunakan saat ini. Ketika kita mengakses halaman utama dari mesin pencari tersebut, hanya terdapat tampilan yang sangat-sangat sederhana. Cuma ada logo, input teks dan dua tombol. Tapi, apakah cara kerjanya juga sesederhana itu?

Tidak!, mesin pencari bekerja dengan sangat rumit. Banyak algoritma yang bekerja di dalam mesin pencari tersebut. Namun, untuk berinteraksi dengan pengguna, tentunya mesin pencari tidak perlu memperlihatkan kerumitan kerjanya yang ada di balik layar. Cukup memperlihatkan antarmuka sederhana yang relevan dengan penggunanya. Karena pengguna memang tidak perlu tahu secara detail bagaimana cara kerjanya yang sangat rumit itu. Yang pengguna butuhkan hanyalah hasil pencarian yang sesuai dengan keinginannya.

Oke, sangat sederhana dan mudah dipahami bukan? sekarang, supaya lebih nyantol, yuk kita main kotor-kotoran karena berani kotor itu baik :D. Mari ngoding!

Menurutku, paling enak menjelaskan PBO adalah dengan menggunakan bahasa pemrograman Java. Jadi, perhatikan contoh implementasinya berikut ini :

Contoh diatas tentunya sudah sangat menjelaskan bagaimana implementasi dari konsep Abstraksi. Pada contoh di atas terdapat class Paijo dan Ratna yang adalah turunan dari class Manusia.

Class abstrak Manusia memiliki 2 atribut private, 2 method protected (hanya bisa diakses oleh class turunannya) dan 1 method public bertipe abstract yang harus diimplementasikan oleh class turunannya, implementasinya boleh berbeda. Kita imanjinasikan bahwa memang keduanya sama-sama manusia tetapi karena daerah asal mereka berbeda tentunya cara menyapanya juga akan berbeda.

Kesimpulannya...
Class Paijo dan Ratna memanggil 2 method yang ada di Parent class yaitu getNamaLengkap() dan getUmur(). Mereka tidak perlu tahu bagaimana kedua method tersebut bekerja, begitupun objek yang berada di luar class Paijo dan Ratna tidak perlu tahu kedua method tersebut bekerja, yang diketahui oleh objek di luar Paijo dan Ratna adalah bahwa keduanya memiliki method menyapa() yang dapat dipanggil dari luar class karena method tersebut public.
Jadi, abstraksi adalah tentang memperlihatkan mekanisme pada level tertinggi untuk menggunakannya dengan menyembunyikan kompleksitas yang terjadi ketika mekanisme pada level tertinggi tersebut bekerja.
Gimana? sangat mudah dipahami bukan? atau masih bingung? Jangan malu untuk bertanya! Tinggalkan pertanyaanmu pada kolom komentar yang ada di bawah.

Tutorial selanjutnya :

Tutorial pemrograman berorientasi objek [PBO] #1 - Enkapsulasi

tutorial-pemrograman-berorientasi-objek-enkapsulasi

Oke, ini adalah bagian pertama dari rangkaian tutorial pemrograman berorientasi objek. Pada bagian pertama ini kita akan sama-sama memahami apa itu Enkapsulasi. Seperti yang sudah aku janjikan sebelumnya, aku akan mencoba untuk menjelaskan apapun dalam rangkaian tutorial ini dengan bahasa yang sangat sederhana dan mudah dimengerti.

Enkapsulasi
Mari kita mulai dengan sebuah ilustrasi sederhana :

tutorial-pemrograman-berorientasi-objek-enkapsulasi-ilustrasi

Ilustrasi di atas aku rasa sudah sangat menjelaskan apa sebenarnya enkapsulasi itu. Jadi dapat kita simpulkan secara sederhana bahwa :
Untuk berinteraksi dengan sebuah objek pada PBO, kita tidak bisa mengakses atau mengubah atribut yang bersifat private yang ada di dalam sebuah objek tersebut. Kita dapat berinteraksi dengan objek hanya melalui atribut / metode yang bersifat public.
Untuk lebih memahami lagi apa itu enkapsulasi dan bagaimana implementasinya dalam pemrograman, mari coba kita kodingkan objek "Kipas Angin" sesuai dengan ilustrasi yang sudah dijelaskan di atas.

Tenang, jangan pusing atau nyerah dulu, kalau kalian tidak familiar dengan bahasa pemrograman Java, jangan fokus ke baris kodenya yang mungkin asing buat kamu, fokus aja di baris-baris yang sengaja aku beri komentar untuk penjelasan.
"Pahami konsepnya, jangan hanya paham cara membaca dan menulis kodenya."
Oke, untuk membantu kamu memahami baris kode di atas, aku akan jelaskan beberapa bagian dari kode Java di atas :

Atribut : Properti yang dimiliki oleh sebuah class. Misalnya pada kipas angin memiliki kecepatan dan status nyala atau tidaknya kipas angin.

Konstruktor : pada kode di atas ada komentar "konstruktor". Pada java Konstruktor akan dipanggil ketika class pertama kali dibuat. Pada kode di atas kita menggunakan konstruktor untuk menginisialisasi nilai kecepatan dan status nyala atau tidaknya kipas angin.

Method : pada kode di atas pada class KipasAngin kita memiliki beberapa method yang sifatnya public sehingga method-method tersebut dapat diakses dari luar. Method yang aku maksud adalah :
power(), kecepatanPelan(), kecepatanSedang(), kecepatanKencang().

Kesimpulannya...
Jadi, kita sudah berhasil mengkodingkan Kipas Angin fisik menjadi sebuah Objek / Class pada bahasa pemrograman Java. Oke sekarang lebih jelasnya lagi :

- Atribut
Sekarang coba bayangkan atribut yang ada pada kodingan di atas adalah beberapa hal yang tidak kelihatan yang ada dalam body kipas angin. Karena tidak kelihatan secara fisik dan lokasinya secara fisik di dalam Kipas Angin (private) maka kita tidak bisa seenaknya mengakses / mengubah atribut-atribut tersebut. Kecuali kita nekat membongkar Kipas Anginnya secara paksa xD wkwk.
- Method
Sedangkan method adalah tombol-tombol yang secara fisik terlihat dari luar body kipas angin. Dengan tombol-tombol tersebut kita bisa mengubah preferensi kipas angin. Mau mematikan atau menyalakan dan mengubah kecepatan dari kipas angin tersebut.

Agar kamu lebih nyantol lagi, bayangkan enkapsulasi adalah body / casing kipas angin, yang membatasi pengguna / objek lain untuk mengakses properti yang ada di dalam body / casing kipas angin tersebut.
Gimana? Sangat-sangat mudah dipahami kan? atau masih bingung? Jangan malu-malu, langsung saja tulis pertanyaanmu pada kolom komentar di bawah ini.
Tutorial selanjutnya :
 Tutorial pemrograman berorientasi objek #2 - Abstraksi >>

Tutorial pemrograman berorientasi objek | sederhana dan mudah dimengerti

tutorial-pemrograman-berorientasi-objek
Selamat datang di blogku teman, kali ini aku akan berbagi sesuatu yang sebenarnya sudah sering dipelajari kebanyakan orang ketika mereka baru pertama kali belajar pemrograman yaitu, PBO (Pemrograman Berorientasi Objek). Terdengar asing dan mengerikan bagi orang yang baru pertama kali mendengarnya.

Walaupun kebanyakan orang sudah mempelajari PBO entah itu belajar sendiri di youtube, kampus, kursus dsb. Tetapi tetap masih kebingungan sebenarnya PBO itu apa dan implementasinya untuk mengatasi permasalahan di dunia nyata. Kebanyakan orang hanya sebatas mengetikan sintaks, menjalankannya, ketika tidak ada error maka itu berarti sudah berhasil.
https://miro.medium.com/max/582/1*-dmHYcAiphpWe6m0pcd-AA.png
Aku sendiripun sebenarnya tidak benar-benar memahami PBO ketika kuliah. Sampai akhirnya aku benar-benar tahu cara menggunakannya untuk memecahkan permasalahan ketika aku telah mengerjakan banyak sekali proyek-proyek iseng yang aku gagas sendiri.

Entah kenapa mungkin ketika di perkuliahan atau kursus, penjelasan mengenai PBO terlalu teoritis atau sulit dipahami, juga mungkin karena di kelas terlalu banyak murid sehingga pengajar tidak bisa benar-benar memastikan apakah muridnya benar-benar paham atau tidak.

Nah, berkaitan dengan masalah tersebut, aku tergerak untuk membagikan bagaimana cara memahami PBO dengan penjelasan yang sangat sederhana dan mudah dimengerti. Dan aku juga akan mempraktekkan implementasinya untuk memecahkan kasus di dunia nyata.

Kenapa harus PBO?
Sebelum aku menjelaskan lebih dalam tentang PBO, ada baiknya kalian juga mengerti kegunaannya, itu yang paling penting. Buat apa belajar sesuatu yang ga ada gunanya :). Tentunya PBO akan sangat membantu kita, kalau kalian sebelumnya belajar bahasa pemrograman seperti asembler yang prosedural, atau PHP secara prosedural, tentunya belajar PBO akan menjadi sangat berbeda. Dengan PBO kita dapat membangun sebuah aplikasi dengan membagi tugas kepada objek-objek kecil yang akan mengerjakan tugas secara spesifik.

Contoh dalam bahasa pemrograman PHP :

Terlihat pada contoh diatas penyelesaian masalah penjumlahan terlihat lebih sederhana dengan menggunakan metode prosedural dibandingkan dengan PBO. Tetapi untuk mengatasi masalah yang lebih kompleks, tentunya menggunakan PBO akan jauh lebih efisien karena pemecahan masalah tidak dilakukan dalam satu file yang panjang dan susah dimengerti. Pemecahan masalah dilakukan dengan membagi setiap tugas-tugas spesifik menjadi objek-objek dengan atribut dan fungsinya masing-masing. Masih bingung? wkwk. Oke langsung praktek saja. :D

Aku akan membagi penjelasan mengenai PBO menjadi beberapa bagian, yang perlu kalian lakukan hanya mengikuti dan memahami setiap penjelasan yang singkat dan sederhana. Harapanku ketika kalian selesai mengikuti tutorial ini adalah kalian dapat memahami betul apa itu PBO dan bagaimana mengimplementasikan nya untuk memecahkan permasalahan yang kalian akan hadapi di dunia nyata.

Pada dasarnya, PBO memiliki empat prinsip. Klik link dibawah ini untuk menuju ke prinsip yang pertama.
GALIH LARAS PRAKOSO
-
Yogyakarta, Indonesia

SEND ME A MESSAGE