Skip to main content

Ringkasan Kuliah Online Ubuntu Indonesia

KULIAH ONLINE 25
Pemateri: Akang Ahmad Muzakki
Materi: Paradigma Pemrograman & Framework
Waktu:  8 Oktober 2015 jam 20.00 WIB
Tempat: #ubuntu-indonesia @ freenode
===========================================================================

[20:06:37] <Jack07> oke, bisa kita mulai
[20:06:51] <Jack07> assalamualaikum wr.wb.
[20:07:12] <Jack07> halo nama saya ahmad muzakki, biasa dipanggil zakki
[20:07:26] <Jack07> or just call me jack
[20:07:32] <Jack07> terimakasih saya sudah diberi kesempatan untuk sharing ilmu disini
[20:07:47] <Jack07> pada kali ini saya ingin mendiskusikan tentang Paradigma Pemrograman & Framework
[20:08:01] <Jack07> jadi pada kuliah ini kita tidak membahas kode ataupun syntax, kita akan membahas dasar dan konsep pemrograman
[20:08:24] <Jack07> sering kali pada perkuliahan pemrograman kita langsung diberi materi syntax dan kode program
[20:08:45] <Jack07> malah sering kita hanya diberi definisi akan sebuah istilah, variabel adalah... class adalah.. bla bla...
[20:09:00] <Jack07> lalu pada saat kita sudah mengerti syntax, lalu apa? kita diberi tugas pasti kebingungan, itu bukan salah anda
[20:09:26] <Jack07> pemrograman software pada intinya adalah ruh/jiwa dari komputer, kita tau fungsi dasar komputer adalah menerima input, memproses, menghasilkan output
[20:09:44] <Jack07> begitu juga dengan pemrograman, intinya adalah 3 itu tadi
[20:10:05] <Jack07> nah pada kode program, 3 tahap itu tadi biasa diimplementasikan menjadi:
[20:10:12] <Jack07> 1. menerima input => variable, object
[20:10:22] <Jack07> 2. proses => perhitungan, execution flow(for,if,while) dan database
[20:10:35] <Jack07> 3. output => user interface,text-output, laporan
[20:11:15] <Jack07> nah jika kita menguasai dasar pemrograman itu maka kita tinggal mengimplementasikannya pada bahasa pemrograman apapun
[20:11:41] <Jack07> tinggal kita mempelajari konsep bahasa pemrograman yang akan kita pelajari
[20:11:54] <Jack07> lalu tinggal mengaplikasikan 3 tahap itu tadi
[20:12:16] <Jack07> sampai sini ada yang ditanyakan?
[20:12:30] *** Mode #ubuntu-indonesia -m by Malsasa
[20:12:31] <Jack07> unmute om
[20:12:35] <Jack07> oke silahkan
[20:12:53] <Jack07> atau masih abstrak? lanjut?
[20:12:59] <akuganteng> lanjut
[20:13:01] <antosamalona> lanjut kang
[20:13:07] <Shxdemon> lanjut masih general kang
[20:13:09] <sapibhustank> lanjut dulu pak
[20:13:12] <Cas1> lanjut
[20:13:15] <ajibon_> lanjut aja om basic banget
[20:13:18] <hakim> lanjut om
[20:13:19] <Voroksab> Lanjut sapi
[20:13:26] *** Mode #ubuntu-indonesia +m by Malsasa
[20:13:39] <Jack07> oke memang kita mempelajari hal yang basic hari ini
[20:13:56] <Jack07> jika anda punya error tentang kode program anda, maka saya tidak akan membahasnya disini
[20:14:28] <Jack07> saya ingin share cara berpikir dalam implementasi bahasa pemrograman
[20:14:45] <Jack07> kesalahan programmer pemula adalah, pada saat dihadapkan masalah adalah dia ingin langsung mengetik sesuatu pada keyboard dan ingin memecahkan masalah dengan cara berpikir langsung pada kode program
[20:15:16] <Jack07> programmer yang baik yang dipikirkan bukan mengacu pada kode program secara langsung, tapi dia ingin memecahkan masalah dengan solusi yang logis dulu. baru dipikirkan cara mengimplementasikan pada kode program
[20:15:50] <Jack07> mungkin kita juga mendapat materi kuliah di kampus tentang desain sistem, tapi kekurangan pada materi perkuliahan adalah tidak menjelaskan cara menyambungkan antara teori dan implementasi, yang biasanya hanya digambarkan dengan flowchart
[20:16:13] <Jack07> contoh masalah yang simple: anda harus menyimpan web form nama dan alamat pada database
[20:16:40] <Jack07> 1. yang dijelaskan di kampus : buat form -> tekan tombol simpan -> tersimpan
[20:17:03] <Jack07> 2. cara berpikir programmer pemula : input form -> submit -> membuat variable nama & alamat -> open connection -> insert into.... dst
[20:17:26] <Jack07> 3. cara berpikir yang baik : buat form -> submit -> catch variabel -> simpan  pada database
[20:17:42] <Jack07> nah cara berpikir ini adalah yang terpenting, karena sebagai programmer tugas kita sebenarnya adalah memecahkan masalah
[20:18:00] <Jack07> sedangkan bahasa pemrograman "hanya" sebuah alat untuk mengimplementasi pemecahan masalah yang kita lakukan
[20:19:32] <Jack07> analogi seorang tukang, jika anda menguasai syntax maka tukang itu sama dengan bisa menggunakan palu, obeng, bor,
[20:20:18] <Jack07> jika anda tau flowchart, yang anda tau adalah, pondasi dibuat diawal, lalu bangun tembok, lalu pasang atap
[20:21:13] <Jack07> nah hal terpenting yang sering dilupakan adalah bagaimana dengan skill dasar (syntax dll) anda bisa membangun rumah yang sudah digambarkan oleh flowchart
[20:22:43] <Jack07> oleh karena itu, cara berpikir yang "advance" adalah menggabungkan analisa flowchart dengan implementasi pada kode program
[20:23:01] <Jack07> seperti pada kasus tadi : anda harus menyimpan web form nama dan alamat pada database
[20:23:21] <Jack07> yang harusnya dipikirkan adalah :  buat form -> submit -> catch variabel -> simpan  pada database
[20:23:49] <Jack07> tidak perlu langsung pusing memikirkan implementasi kodenya
[20:24:08] <Jack07> setelah anda tau cara memecahkan masalah tsb, sekarang giliran pengetahuan syntax bahasa pemrograman digunakan
[20:24:33] <Jack07> atau pada masalah yang lebih kompleks, anda tidak harus tau syntax atau library yang akan digunakan untuk memecahkan masalah, yang terpenting anda sudah memecahkan masalah dengan solusi yang anda buat
[20:24:56] <Jack07> "lalu bagaimana cara mengimplementasikan kalau kita hanya punya gambaran kasarnya?"
[20:25:08] <Jack07> tanya Google.
[20:25:20] <Jack07> andaikan saya seorang yang sama sekali tidak pernah bersentuhan dengan bahasa pemrograman, atau saya programmer yang baru mengalami masalah diatas, yang saya lakukan adalah:
[20:25:36] <Jack07> open google "How to create web form", "How to submit form", "How to catch variable in php/django/rubyonrails", "How to save record in mysql/postgree/etc"
[20:26:19] <Jack07> oke, open for question
[20:26:22] <Jack07> unmute bang
[20:26:32] *** Mode #ubuntu-indonesia -m by Malsasa
[20:26:34] <Shxdemon> *angkat tangan
[20:26:45] <kuryanto> saya mau tanya om
[20:26:45] <Jack07> Shxdemon: silahkan
[20:26:51] <klanx> saya mau tanya
[20:27:02] <Jack07> Shxdemon dulu
[20:27:07] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:27:11] <terdakwa> kalau saya mo GiGi ChiBi :3
[20:27:11] <hakim> hmmm ada benarnya juga , saya sibuk belajar syntax :D
[20:27:18] <Shxdemon> nah gini kang , anda menjelaskan kalau flow adalah desainnya terus bahasa pemograman adalah toolnya
[20:27:28] <Jack07> iya
[20:27:37] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:27:44] <Shxdemon> nah untuk framework sendiri itu masuk ke dalam tool atau bagaimana ?
[20:27:46] -*- sapibhustank slaps atoyd around a bit with a large fishbot
[20:27:55] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:27:59] <Jack07> untuk famework itu nanti saya bahas
[20:28:00] <terdakwa> oii... jangan rusuh --"
[20:28:11] <dans> *angkat tangan, mau tanya
[20:28:15] <Jack07> untuk awal, saya memberi pegangan yang kuat dulu
[20:28:18] <Shxdemon> oh lanjut ke member lain kang :D
[20:28:20] <ajibon_> kick sapi
[20:28:28] <Jack07> kuryanto: silahkan
[20:28:28] <terdakwa2> biarkan yang tanya dan penjawab yang beraksi
[20:28:47] <sapibhustank> apa salah saya?
[20:28:52] <sapibhustank> :(
[20:28:58] <terdakwa3> Paj Jack07 : klanx yg selanjutnya mau tanya bg. :)
[20:29:07] <Jack07> oke next
[20:29:12] <Jack07> klanx: silahkan
[20:29:21] <klanx> pak jack saya mau bertanya,saya hampir 2 tahun mengenal programming,jujur sampai saat ini saya hanya menguasai dasar nya saja..problem solving saya hanya sebatas tampilan atau user inteface bukan flowchart spt pak jack sampaikan.. logic / alur programming tidak begitu baik..apakah saya layak dsb "calon programmer"?
[20:29:42] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:29:45] <kuryanto> iya om terimakasih, saya mau tanya om bagaimana ya om kita belajar tentang pembuatan flowchat nya itu ya om, cara belajar yang benar itu bagaimana gitu om
[20:29:48] <Jack07> programmer itu bukan seorang yang jenius dan istimewa
[20:30:06] <Jack07> siapa saja bisa menjadi programmer
[20:30:24] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:30:42] <Jack07> kalau implementasi logic dari problem solving ke kode program itu memang butuh latihan
[20:30:49] <sapibhustank> iya bener semua bisa jadi programer krn skrg sudah banyak tool untuk membuat program
[20:31:12] <Jack07> karena di buku tidak akan mencakup semua masalah yang akan anda hadapi dengan klien atau atasan anda
[20:31:24] <sapibhustank> pak jack klo flowchart adalah tulangnya jadi kalau dfd tu apa pak?
[20:31:32] <pra> permisi, saya mau tanya.
[20:31:45] <klanx> terima kasih atas jawabannya..
[20:32:00] <Jack07> dfd itu kalau di impelementasikan kan menjadi tabel pada database
[20:32:08] <Jack07> itu juga yang dibutuhkan adalah latihan
[20:32:12] <giri-ng> banyak mempelajari bahasa pemrograman akhirnya tidak bisa fokus ke satu bahasa pemrograman. curhat
[20:32:22] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:32:26] <Jack07> namanya desain, sesuatu yang sempurna itu relatif
[20:32:41] <Jack07> pra: silahkan
[20:32:44] <nignog> Menurut om Jack sendiri, metode MVC yg sering digunakan untuk desain program, apakah termasuk tool? Sedangkan untuk memahami MVC, setidaknya kita harus bisa menguasai (secara praktek) dengan bahasa pemrograman tertentu yg support MVC
[20:32:58] <Jack07> oke nignog dulu
[20:33:04] <Jack07> oke saya jawab
[20:33:05] <greenshirt> Assalamualaikum
[20:33:13] <greenshirt> Telat :-)
[20:33:32] <pra> kalau efisiensi algoritma termasuk ke flow chart atau sesudahnya?
[20:33:44] <Jack07> MVC adalah sebuah cara agar sebuah project itu dapat tertata dengan baik
[20:33:56] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:33:58] <Jack07> apa disini ada yang bikin php?
[20:34:09] <sapibhustank> saya pak
[20:34:11] <eremje> <-- belajar php
[20:34:11] <Jack07> apa ada yang koneksi databasenya berada pada awal file?
[20:34:11] <afr> menggunakan php?
[20:34:16] <sapibhustank> tapi msh pemula
[20:34:17] -*- A91E91F2 angkat jari
[20:34:24] <Jack07> lalu tampilannya berada pada akhir file?
[20:34:28] <bentinata_> Saya.
[20:34:35] <Jack07> prosesnya pada tengah file?
[20:34:36] <atoyd> bukan
[20:34:37] <Lutfi> Saya pak, tapi masih standar" aja
[20:34:37] <ajibon_> ngacung
[20:34:48] <A91E91F2> blm pernah bikin begitu tapi pernah lihat
[20:34:49] <eremje> saya tidak. koneksi jika diperlukan, bisa di tengah, di depan, dipinggir
[20:34:50] <fadill> iya pa bener tuh
[20:34:51] <sapibhustank> klo saya terpisah pak
[20:34:51] <Jack07> nah itu namanya pemrograman dasar tanpa MVC
[20:34:54] <nignog> Jack07: itu struktur file php yg paling buruk
[20:34:54] <izalR> biasanya dibuat Database.php pa, misa sendiri. tar dipanggil di awal
[20:34:56] <nignog> haha
[20:35:17] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:35:19] <Jack07> saya dulu awal juga begitu, sebelum menggunakan MVC pada CodeIgniter
[20:35:26] <Jack07> MVC = model,view,controller
[20:35:47] <Jack07> jadi koneksi database, tampilan, dan proses itu dibedakan pada kelas2 tersendiri
[20:36:35] <kuryanto> maaf om kelas2 itu seperti apa ya logic nya?
[20:36:35] <Jack07> jadi MVC itu adalah teknik pemrograman, yang biasanya di-implementasikan pada framework modern
[20:36:52] <Jack07> kuryanto: nanti saya jelaskan
[20:37:00] <Jack07> bersamaan dengan framework
[20:37:07] <zifor> lanjut pelajaran dulu aja pak.. :D
[20:37:12] <dans> *angkat tangan, bolehkah saya bertanya?
[20:37:19] <ajibon_> lanjut aja pak mute lagi
[20:37:32] <nignog> Pertanyaan saya belum dijawab :|
[20:38:00] <Jack07> nignog: tentang MVC itu kan
[20:38:16] <nignog> Mungkin lebih jelasnya, apa bisa memecahkan masalah dengan metode MVC, tanpa harus memahami "syntax" dari bahasa pemrograman yg support MVC?
[20:38:26] <A91E91F2> bisa
[20:38:39] <nignog> Sepengalaman saya,metode MVC tidak bisa dipelajari tanpa praktek
[20:38:48] <Jack07> MVC itu berasal dari framework bang
[20:38:56] <nignog> Bukan tidak bisa dipelajari, tapi susah jika hanya dipahami
[20:38:56] <A91E91F2> tinggal implementasinya saja.. klo udah belajar ADT bisa kebayang kok cara bikin MVC
[20:39:02] <Jack07> nah framework tidak bisa dipelajari tanpa mengerti syntax dasar
[20:39:14] <Lutfi> berarti harus sering mencoba buat konsep mvc dan implementasinya dulu ya pak
[20:39:41] <Lutfi> ADT itu apa pak??
[20:39:56] <nignog> Konsep MVC akan lebih mudah dipahami kalo sudah mengerti "syntax" dari bahasa pemrograman
[20:40:02] -*- sapibhustank slaps atoyd around a bit with a large fishbot
[20:40:07] <atoyd> ADT = A Day To remember
[20:40:07] <Jack07> iya konsepnya ya model,view,controller intinya, nanti pada implementasi framework yang beda2
[20:40:19] <samuelsapps> maaf interupsi pak framework sama ngak dengan prosedur atau fungsi
[20:40:19] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:40:20] <afr> saya mau tanya, om.
[20:40:24] <sapibhustank> berarti oop dong pak?
[20:40:27] <Jack07> Lutfi: kurang tau saya, bukan saya yang menyebutkan
[20:40:57] <Jack07> yup OOP
[20:41:03] <nignog> Jack07: Ok, lanjut :)
[20:41:04] -*- sapibhustank slaps atoyd around a bit with a large fishbot
[20:41:12] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:41:12] <Wiedy> lanjut
[20:41:15] <fen_> pelajarannya baru abcd yg ditanya udah pqrs -_-
[20:41:25] <atoyd> nah tu bener
[20:41:27] <fen_> lanjut saja dulu pak,,
[20:41:30] <dans> bolehkah saya bertanya?
[20:41:31] <atoyd> lanjut aja dulu
[20:41:33] <Jack07> sebentar, ini tema sesi ini adalah paradigma pemrograman, saya mau share pengalaman
[20:41:34] <antosamalona> Jack07: materinya bisa dilanjut lagi kang?
[20:41:40] <bentinata> ADT = Algebraic Data Type?
[20:41:48] <atoyd> kebanyakan bertanya sesat dijalan
[20:41:56] <klanx> mute dulu tolong moderator..
[20:41:59] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:42:04] -*- mugiono mute dulu pak. lanjut pelajaran. sepertinya terlalu jauh. kasihan yang baru belajar. :)
[20:42:05] <nignog> :D
[20:42:06] -*- sapibhustank slaps atoyd around a bit with a large fishbot
[20:42:08] *** Mode #ubuntu-indonesia +m by Malsasa
[20:42:11] <Jack07> tema kali ini adalah problem solving
[20:42:38] <Jack07> tapi maaf itu tadi banyak yang belum bisa menerima paradigma problem solving
[20:42:48] <Jack07> langsung bertanya tentang MVC, OOP dll
[20:43:20] <Jack07> kita ingat masalah sebelumnya, anda harus menyimpan web form nama dan alamat pada database
[20:43:34] <Jack07> pada masalah diatas memang masalah simple, yang mungkin sering kali disebutkan pada banyak tutorial, tapi itu adalah gambaran bagaimana cara memecahkan masalah dan mengimplementasikannya
[20:43:37] *** Mode #ubuntu-indonesia +v pupil by ChanServ
[20:43:52] <Jack07> buat form -> submit -> catch variabel -> simpan  pada database
[20:44:31] <Jack07> bukannya, membuat class, create model, database connection, tampilan menggunakan bootstrap dll
[20:45:03] <Jack07> jadi jangan langsung syntax, karena syntax itu mudah, tinggal anda buka dokumentasi semua beres
[20:45:33] <Jack07> yang perlu dilatih adalah problem solving, itulah yang membedakan antara konsultan IT satu dengan yang lainnya
[20:45:54] <Jack07> selama ini saya selalu melakukan hal itu, saat negosiasi dengan klien dengan segudang permintaan yang aneh-aneh, tugas anda yang paling berat adalah menerjemahkan permintaan dia pada sebuah program
[20:46:25] <Jack07> contoh masalah yang saya alami: klien saya ingin tampilan pada website berubah berdasarkan data yang di input oleh user lain secara real time tanpa reload halaman
[20:46:45] <Jack07> oke quiz, bagaimana problem solving yang harus dilakukan
[20:46:46] <Jack07> ?
[20:46:56] *** Mode #ubuntu-indonesia -m by Malsasa
[20:46:58] <A91E91F2> permintaan tadi?
[20:47:12] <Jack07> klien saya ingin tampilan pada website berubah berdasarkan data yang di input oleh user lain secara real time tanpa reload halaman, solusinya?
[20:47:14] <nignog> ajax
[20:47:15] <bentinata> Pake pub-sub pak?
[20:47:22] <Jack07> nignog: terlalu teknis
[20:47:35] <bentinata> Misalnya socket.
[20:48:00] <Jack07> bentinata: posisi saya itu belum tau apa2, saya belum googling
[20:48:13] <sapibhustank> menganalisa fungsi yang ada dan membuat printout pada setiap fungsi
[20:48:28] <A91E91F2> rekues scr periodik ke server untuk data yg dimasukkan user lain //*masih teknis jg
[20:48:29] <aleecode> baca masukan data, proses sesuai algoritma, trus tampilkan
[20:49:04] <Jack07> aleecode: mendekati
[20:49:17] <Jack07> tapi tampilkan seperti apa
[20:49:18] <terdakwa3> merancang/mencari proses yang perlu dijalankan lalgu mendesain programnya.
[20:49:19] <dans> user input data > submit > disimpan di database > halaman menampilkan data > user input data > submit > dst
[20:50:09] <Jack07> oke jadi saat saya menerima permintaan tersebut, solusi yang saya pikirkan adalah saya harus mengimplementasi realtime notification menggunakan javascript
[20:50:10] <bentinata> Masukkan data > user lain membaca data dalam interval yang ditentukan.
[20:50:47] <Jack07> baru saya googling: beberapa metode memang seperti yang sudah dijawab teman2 tadi
[20:50:48] <A91E91F2> cari variabel2 dari data baru, sesuai peruntukannya digunakan untuk mengubah tampilan elemen html di web
[20:50:59] <Jack07> ajax, polling request, pub-sub
[20:51:45] <Jack07> anda menjawab seperti itu karena anda sudah tau/ pernah melakukannya
[20:51:46] <WishArt> Malam, pertanyaan OOT dikit boleh? Rekomendasi channel utk #blogspot? Sdh google tapi masih nihil.
[20:52:20] -*- sapibhustank slaps atoyd around a bit with a large fishbot
[20:52:30] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:52:31] <Jack07> intinya adalah jika anda belum tau, atau itu hal yang pertama kali anda lakukan
[20:52:43] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:52:50] -*- atoyd slaps sapibhustank around a bit with a large fishbot
[20:53:09] <Jack07> problem solving yang dimunculkan jangan langsung pada teknisnya, anda tidak punya waktu untuk menjawab "ya" atau "tidak bisa" kepada klien
[20:53:12] -*- sapibhustank slaps atoyd around a bit with a large fishbot
[20:53:48] <Jack07> nah pada akhirnya memang saya mengimplementasi messaging protocol menggunakan MQTT pada bahasa pemrograman javascript(client) dan python(server)
[20:53:50] <fen_> berarti dalam kata lain yg pertama dilakukan adalah berpikir logika, barulah syntax menyesuaikan ? begitu kah ?
[20:53:57] <Jack07> yup benar sekali
[20:54:29] <Jack07> berpikir tools-tools apa yang mungkin akan kita pakai
[20:54:42] <Jack07> logika disambunkan dengan tools
[20:54:58] *** Mode #ubuntu-indonesia +v lisnux by ChanServ
[20:55:01] <Jack07> yaitu, implementasi realtime notification menggunakan javascript
[20:55:05] <Shxdemon> oh i see , jadi setelah berpikir tentang logikanya lalu mulai memikirkan tool dan fungsi yang akan digunakan ?
[20:55:27] <Jack07> yup, dari situ kemampuan problem solving anda akan terasah
[20:55:53] <sengkuni> lanjut kang
[20:55:58] <antosamalona> lanjut kang
[20:56:03] <nignog> lanjut kang
[20:56:13] <Jack07> sekarang kita akan membahas paradigma Bahasa Pemrograman & framework
[20:56:26] <nignog> Nggak di mute dulu?
[20:56:27] <sapibhustank> lanjut bang
[20:56:36] *** Mode #ubuntu-indonesia +m by Malsasa
[20:56:43] <Jack07> bahasa pemrograman yang ada pada saat ini sangat banyak,
[20:56:57] <Jack07> anda tidak perlu bingung, tidak perlu mem-benchmark bahasa pemrograman tentang kecepatan atau apalah-apalah :D
[20:57:09] <Jack07> pada dasarnya bahasa pemrograman didesain dengan tujuan tertentu
[20:57:40] <Jack07> contoh VB .NET, dan Java didesain untuk aplikasi desktop, mereka sudah menyediakan libray UI yang cukup lengkap
[20:57:52] <Jack07> php,jsp,asp didesain untuk aplikasi web, mereka dedesain untuk melayani request HTTP dari client lalu memberikan response
[20:58:02] <Jack07> python, ruby didesain untuk melakukan proses yang ringan dan cepat, biasanya tanpa UI yang banyak ditemui pada cmd
[20:58:19] <Jack07> paradigma pemrograman pada umumnya ada 2 jenis: Object Oriented Programming(OOP) dan Functional Oriented Programming(FOP)
[20:58:38] <Jack07> Functional oriented adalah pemrograman yang berbasis pada function/method, jadi file kode anda berisi fungsi-fungsi yang siap untuk dieksekusi kapanpun anda inginkan
[20:58:51] <Jack07> contoh : function login(){...} function logout(){...} untuk memanggil tinggal login(); atau logout();
[20:59:21] <Jack07> Object Oriented Programming intinya adalah pemrograman yang berdasarkan pada class, class ini berisi function/method, jadi jika anda ingin menggunakan fungsi pada suatu kelas, maka anda harus membuat object dari class tersebut
[20:59:45] <Jack07> contoh :
[20:59:45] <Jack07> class auth{
[20:59:45] <Jack07>         function login(){...}
[20:59:45] <Jack07>         function logout(){...}
[20:59:45] <Jack07> }
[20:59:54] *** Mode #ubuntu-indonesia +v pupil by ChanServ
[20:59:59] <Jack07> contoh membuat object:
[20:59:59] <Jack07> obj = new auth();
[21:00:16] <Jack07> mengeksekusi fungsi
[21:00:16] <Jack07> obj.login();
[21:00:16] <Jack07> obj.logout();
[21:00:35] <Jack07> jadi saya harus memakai yang mana?
[21:00:56] <Jack07> tergantung dari project yang anda buat, jika project anda dengan skala besar dengan kompleksitas tinggi maka anda seharusnya menggunakan OOP untuk memudahkan nanti pada eksekusi library anda atau library luar (import,include)
[21:01:20] <Jack07> dan juga tergantung pada bahasa pemrogramannya, Java dan .NET tidak mendukung FOP, Java mempunyai syntax yang tetap dan paten
[21:01:29] <Jack07> jadi tidak se-flexible bahasa pemrograman intepreted seperti php,python atau ruby
[21:01:43] <Jack07> karena Java dan .NET didesain untuk dapat membangun program dengan skala besar tanpa harus menggunakan framework
[21:02:35] <Jack07> bahasa seperti php, python itu bisa langsung dieksekusi tanpa membuat class
[21:03:08] <Jack07> jika ingin membuat sesuatu yang kompleks seharusnya menggunakan framework, agar kode anda bisa "teratur"
[21:03:16] <Jack07> nah sekarang kita sudah menyebut framework
[21:03:23] <Jack07> apa sih framework? ya seperti yang dibahas diatas, kalau ingin membuat kode program dengan skala besar dan kompleks "sebaiknya" menggunakan framework
[21:03:39] <Jack07> apa framework wajib? tidak juga, saya pernah membuat program untuk perusahaan dengan menggunakan pure PHP (pengalaman pertama)
[21:03:55] <Jack07> tapi ya gitu, kodenya hanya saya yang bisa membaca, hanya saya yang tau alur eksekusinya, kompleks dan gak karuan jadinya hehe
[21:04:19] <Jack07> php, python dan ruby pada basicnya adalah FOP
[21:04:41] <Jack07> jadi jika anda menguasai bahasanya anda bisa menggunakannya sesuka anda
[21:05:01] <Jack07> membangun program kecil2an atau skala perusahaan seperti saya tadi, tanpa framework
[21:05:06] <Jack07> tapi jika ingin kode yang rapi dan sistematis, anda bisa menggunakan framework
[21:05:31] <Jack07> framework intinya adalah implementasi MVC, seperti sedikit dibahas diatas tadi
[21:05:41] <Jack07> untuk php: CodeIgniter, Laravel, Cake php dll
[21:05:51] <Jack07> untuk python: Django, cherrypy, web.py
[21:05:57] <Jack07> untuk ruby: ruby on rails
[21:06:13] <Jack07> setiap framework memiliki kelebihan dan kekurangan masing-masing
[21:06:29] <Jack07> jadi yang terpenting diketahui apa yang jadi kebutuhan anda, lalu pilih framework yang tepat untuk anda
[21:06:44] <Jack07> tidak perlu berargumen, ooh facebook pakai php, ooh instagram pakai Django, ooh.. twitter pakai ruby on rails,  jadi saya harus ikut menggunakan framework tersebut
[21:06:58] <Jack07> ingat, anda bukan facebook,  twitter atau instagram
[21:07:16] <Jack07> mereka punya spesifikasi sendiri untuk framework, facebook asalnya juga menggunakan php murni, lalu mengembangkan framework internal mereka sendiri
[21:07:22] <Jack07> bisa dilihat dengan adanya ekstensi .php pada beberapa halaman facebook seperti facebook.com/profile.php
[21:07:32] <Jack07> karena pada framework biasanya sudah tidak ada ekstensi seperti itu lagi
[21:07:48] <Jack07> kalau google bahkan mengembangkan bahasa pemrograman mereka sendiri, yang sesuai dengan kebutuhan mereka yaitu Go
[21:08:04] <Jack07> Go tidak mendukung class, tapi mendukung penggunaan framework. karena pada skala google, OOP membutuhkan lebih banyak sumberdaya
[21:08:17] <Jack07> oke kita bisa buka sesi tanya jawab
[21:08:44] <Jack07> unmute bang
[21:09:02] *** Mode #ubuntu-indonesia -m by Malsasa
[21:09:06] <kuryanto> om saya mau tanya
[21:09:08] <samuelsapps> bisa kasih referensi buku yang bahas oop yang bagus
[21:09:14] -*- khab mau tanya
[21:09:25] <Jack07> kuryanto: silahkan
[21:09:43] <kuryanto> ane masih kurang paham dengan hubungan bahasa pemrograman dengan fremework
[21:09:59] <antosamalona> Jack07:sya mau tanya
[21:10:00] <samuelsapps> dulu belajar pemrograman terstruktur pas OOP jadi bingung ngak ngerti konsepnya
[21:10:08] <Hwazengotzale> Pak, maksudnya OOP membutuhkan lebih banyak sumberdaya itu bagaimana?
[21:10:23] <Jack07> mohon tenang dulu
[21:10:33] <Jack07> kuryanto:
[21:10:52] <Jack07> bahasa pemrograman itu pengetahuan dasar yang anda harus kuasai
[21:11:10] <Jack07> syntax, execution flow dll
[21:12:09] <kuryanto> iya om itu saya mengerti, lalu bagaimana dengan framework om?
[21:12:18] <Jack07> setelah program anda dapat melakukan sesuatu, seperti contoh pada php murni tadi, anda berpikir ada jalan lain sehingga saya tidak bersusah payah menulis semua kode yang berantakan seperti ini
[21:12:37] <ichal> om mau nanyan, baiknya belajar html dulu atau bhasa pemrograman, contohya sperti python, maaf oot
[21:12:43] <Jack07> saya tidak perlu menulis sendiri kode untuk koneksi database
[21:12:55] <Jack07> ichal: mohon antri
[21:13:14] <Jack07> saya tidak perlu menulis kembali kode untuk security, validasi form dll
[21:13:15] <ichal> siap om
[21:13:20] <Lutfi> iya saya juga masih kurang paham hub. pemrograman dengan framework.. Soalnya setau saya framework selama ini digunakan untuk memudahkan kita dalam membuat aplikasi, seperti fungsonal web dan sebagainya.
[21:13:25] <Jack07> karena ada framework yang mengaturnya untuk anda
[21:13:38] <Jack07> nah itu yang saya jawab
[21:13:41] -*- sapibhustank_ slaps atoyd around a bit with a large fishbot
[21:14:05] <Jack07> pada framework dipisahkan antara koneksi database(model), pemrosesan(controller), tampilan(view)
[21:14:13] <Jack07> itulah yang disebut teknik MVC
[21:14:45] <kuryanto> iya om saya sudah mulai paham om
[21:14:51] <Jack07> oke next
[21:14:56] <kuryanto> iya om okey
[21:15:05] <Jack07> khab: silahkan
[21:15:07] <khab> seorang programmer menguasai banyak bahasa pemrograman itu wajar, harus, atau bagaimana menurut kang Jack07?
[21:15:22] <WishArt> Berarti framework itu semacam add on ready to use ya om?
[21:15:32] <Jack07> khab: oke akan saya jawab
[21:15:33] -*- atoyd slaps sapibhustank_ around a bit with a large fishbot
[21:15:56] <WishArt> Sedangkan pemograman murni harus from zero to hero?
[21:16:11] <Jack07> bahasa pemrograman itu sebuah pilihan, pilihan yang menentukan anda,
[21:16:36] <Jack07> jadi terserah anda mau mempelajari bahasa apa saja, yang penting project yang ingin anda buat itu jadi
[21:17:06] <Jack07> klien tidak perlu anda jelaskan pakai bahasa apa, framework apa, yang penting bisa memenuhi kebutuhan, it's fine
[21:17:37] <zifor> *angkat tangan , mau tanya juga om
[21:17:47] <khab> jadi kalau misalnya hanya bisa PHP, pake PHP aja gitu ya?
[21:17:54] <Jack07> contoh seperti saya, saya pertama membangun aplikasi web menggunakan php dasar, lalu belajar framework
[21:18:01] <fen_> nah itu kan klo utk proyek pak,, klo untuk belajar, pemula disarankan bahasa apa dan karna apa ?
[21:18:19] <Jack07> lalu pada suatu saat saya diminta untuk membuat sms gateway, setelah itu saya belajar Python
[21:18:42] <WishArt> Cuma kalau mau cepat pilih pakai framework karena sdh ada frame yg sdh dibuat orang & ready to use?
[21:19:00] <Jack07> Python dan PHP itu mudah, jadi waktu anda tidak habis untuk memikirkan syntax, anda bisa memikirkan solusi untuk projet anda
[21:19:05] <WishArt> Atau masih salah pemahamannya?
[21:19:19] <Jack07> ya seperti itulah framework
[21:19:22] <khab> oke, terima kasih jawabannya, kang Jack07 bisa lanjut
[21:19:43] <Jack07> jika anda hanya membaca dokumentasi framework tanpa pernah membuat sesuatu dengan PHP maka dijamin akan bingung
[21:19:57] <antosamalona> dari sisi keamanan, framework aman gak kang?
[21:20:12] <Jack07> ngapain CodeIgniter memberi fitur ini, ini library buat apa, pasti bingung kalau anda dari 0
[21:20:50] -*- atoyd slaps sapibhustank_ around a bit with a large fishbot
[21:20:51] <Jack07> malah lebih aman framework, karena framework didesain orang yang "paling tidak" lebih pinter dari kita :)
[21:21:03] <afr> pak, mau tanya
[21:21:28] <Jack07> afr: silahkan
[21:21:33] <afr> saya pemula di dunia pemrograman. seringkali saya tidak percaya diri dengan kode yang saya tulis karena saya merasa kodenya belum sempurna. ada standar yang perlu dipenuhi, ada pola yang lebih efisien, dan sebagainya.
[21:21:49] <afr> bagaimana menurut bapak?
[21:22:06] <Jack07> akan saya jawab
[21:22:15] <zifor> saya juga bingung dengan oop. Apakah itu ada hubungannya dengan framework?
[21:22:37] <Jack07> itu semua memang dasar manusia, kita selalu mencari kesempurnaan
[21:22:44] <Jack07> tapi ada satu hal yang penting
[21:23:18] <Jack07> kadang kala se-pintar2 kita, ada sesuatu yang memang harus dipelajari bersama berjalannya waktu
[21:23:33] <Jack07> ada sesuatu yang dipelajari berdasarkan pengalaman
[21:23:47] <antosamalona> setuju Kang
[21:23:48] <Jack07> jadi anda pede saja membuat program yang anda buat
[21:23:54] <Jack07> nanti kalau error juga kelihatan toh
[21:23:58] <WishArt> Bener juga. Windblow aja sampai edisi 10 masih blm sempurna juga
[21:24:22] <afr> oke, pak. terima kasih.
[21:24:24] <Jack07> hehe nah, padahal mereka digarap oleh ratusan programmer
[21:24:28] <WishArt> Padahal rambut Om Bill dah putih semua sekarang :D
[21:24:40] <izalR> Jack07: Kang mau tanya
[21:24:46] <Jack07> silahkan izalR
[21:25:48] <izalR> kebetulan ane baru di tawarin buat bikin online shopping. nah ane udah agak paham sih mengenai oop ini. lebih baik pake framwork (sambil belajar) atau php murni ?, ini kalo jadi project pertama sya sih hahaha
[21:25:51] <Jack07> *sambil nonton yuda keling
[21:26:12] <Jack07> jaman sekarang ya harus pakai framework
[21:26:27] <Jack07> apalagi proyeksi project anda itu akan menjadi sesuatu yang kompleks
[21:26:31] <Shxdemon> boleh menambahkan ?
[21:26:38] <Jack07> tapi ingat, basic PHP anda juga harus kuat
[21:26:44] <Jack07> boleh
[21:27:17] <izalR> kalo boleh minta saran. framework yang cocok apa yah Kang ?
[21:27:23] <Jack07> anda pelajari dulu 1-2 minggu untuk framework
[21:27:29] <Shxdemon> framework akan memudahkan dalam maintenace kalau ada kesalahan , benarkah seperti itu ?
[21:27:46] <Jack07> saya berpengalaman dengan codeigniter, tapi saya kira laravel juga bagus, saya belum coba
[21:28:13] <sapibhustank_> klo yii menurut pak jack gimana?
[21:28:13] <Jack07> mending kalau masih pemula, pakai framework yang banyak orang pakai, sehingga kalau ada kesulitan banyak jawabannya di internet
[21:28:14] <irctc208> pak mau tanya
[21:28:17] <antosamalona> Jack07: bgaimana dgn panada framework?
[21:28:22] <Jack07> coba belajar codeigniter
[21:28:31] <sapibhustank_> saya juga baru mulai mendalami framework
[21:28:40] <antosamalona> setau saya, itu framework buatan indonesia
[21:29:11] <ajibon_> iya pak saya akancoba codeigniter
[21:29:12] <Jack07> saya bukan penjual framework, jadi mohon maaf saya kurang tau
[21:29:19] <Jack07> saya cuma pilih satu, lalu eksekusi
[21:29:25] <klanx> sepengalaman/sepengetahuan pak jack, kira" client dapat menerima kah proyek yg dibuat itu dengan CMS bkn dengan framework bagi seorang newbie yang baru menerima project?
[21:29:54] <WishArt> Framework yg paling tua & sdh teruji apa Om Jack?
[21:29:57] <klanx> dari sisi client, saya berasumsi client mengerti apa itu CMS dan Framework
[21:29:59] <Jack07> kalau anda menguasai CMS itu kenapa tidak
[21:30:17] <Jack07> asal anda yakin anda bisa memenuhi permintaan client dengan CMS itu tadi
[21:30:33] <Jack07> WishArt: coba anda uji sendiri
[21:30:41] <Hwazengotzale> Pak mau tanya
[21:31:16] <Jack07> saya saja pakai CI ada fitur yang tidak bisa memenuhi kebutuhan klien saya, apalagi CMS yang terkesan "kaku"
[21:31:25] <Jack07> Hwazengotzale: silahkan
[21:32:07] <Hwazengotzale> Saya sering menemukan di internet ada istilah library, nah apakah library dan framework itu sama saja atau ada perbedaan?
[21:32:21] <Jack07> framework dan library itu berbeda
[21:32:48] <Jack07> kalau framework itu bayangkan anda membuat program di dalam framework tersebut
[21:33:04] <Jack07> banyak aturan2 baru yang harus dipatuhi
[21:33:47] <Jack07> kalau library itu adalah sekumpulan class/fungsi yang disediakan yang nantinya kita tinggal panggil untuk melakukan pekerjaan tertentu
[21:34:03] <Jack07> contoh: library mysql
[21:34:28] <Jack07> anda tinggal mengimport, lalu anda bisa memanggil fungsi yang terdapat pada library tersebut
[21:34:45] <Jack07> biasanya pada php sudah otomatis terimport
[21:34:59] <Jack07> next?
[21:35:09] <klanx> tapi pak jack, untuk ukuran e-commerce, banyak betebaran kaya presta,woocommerce,dll.. kalau membuat spt itu jg dengan framework akan menguras waktu dan tenaga..
[21:35:12] <Hwazengotzale> Terima kasih pak.
[21:36:05] <Jack07> klanx: iya memang banyak CMS sudah banyak pilihan, anda tanya saja dulu bagaiman keinginan klien anda
[21:36:19] <Jack07> kalau permintaannya tidak neko2 ya monggo pakai CMS
[21:36:46] <Jack07> atau anda tanya dulu permintaannya, lalu googling apakah permintaan tsb dapat dicover oleh CMS yang anda pilih
[21:37:16] <klanx> ohh begitu pak..
[21:37:21] <alunux> Assalamu'alaykum
[21:38:17] <Jack07> alunux: waalaikumsalah
[21:38:19] <Jack07> salam
[21:38:39] <greenshirt> Yii
[21:38:57] <Jack07> anybody?
[21:39:04] <Jack07> nope?
[21:39:24] <Jack07> oke saya kira cukup kuliah hari ini
[21:39:30] <Jack07> jari saya juga pegel :D
[21:39:40] <sapibhustank_> ok pak terimakasih pencerahannya
[21:39:43] <sapibhustank_> :D
[21:39:45] <A91E91F2> terima kasih Pak Jack07
[21:39:54] <Jack07> kalau ada pertanyaan lagi anda bisa cari saya disini
[21:39:56] <peking> terima kasih kang Jack07
[21:40:04] <praja9> Thanks..
[21:40:06] <kurokid2> Thanks pak Jack07
[21:40:07] <nyoweh> terima kasih pak jack!
[21:40:09] <Jack07> atau msg di fb Ahmad Muzakki
[21:40:11] <klanx> terima kasih pak Jack07
[21:40:11] <izalR> oke kang Jack07 terima kasih ahhahah
[21:40:13] <hakim> thanks banyak
[21:40:15] <Malsasa> Baik. Kuliah hari ini selesai. Terima kasih untuk dosen Jack07.

Popular posts from this blog

Cara Atasi Error “[-5 - No address associated with hostname]“

Cara atas laporan error "[-5 - No address associated with hostname]" pada saat anda melakukan cek update pada sistem Ubuntu atau viarian GNU/Linux lainnya sangatlah mudah.    Untuk singkatnya silakan anda ikuti langkah-langkah berikut ini : Buka aplikasi terminal Terminal, ketik perintah "update-manager" (tanpa tanda kutip) lalu tekan Enter Aplikasi Update-Manager akan terbuka, lalu klik tombol "Settings" kemudian lihat bagian tab Ubuntu Software Klik bagian "Download From..." dan pilih Other. Pilihlah IP address United States -> 76.73.4.58 Terakhir silakan tutup atau reload dan sistem anda akan kembali meload paket-paket yang diperbaharui   Saya menggunakan tips ini pada sistem Ubuntu 12.04 LTS dan berhasil mengatasi laporan error "[-5 - No adress associated with host]" pada saat mengecek update sistem. Sekian pembahasan singkat ini. Semoga bermanfaat. Salam open source. sumber dan adaptasi test bebas:

CARA INSTALL WINBOX DI MACOS BIGSUR

Saat ini saya dan rekan-rekan tim AKHTARNET sedang mengembangkan pemasangan wifi RT/RW Net di lingkungan masyarakat sekitar. Timbullah kebutuhan untuk menggunakan Winbox sebagai manajemen Mikrotik. Namun, secara umum Winbox lumrah terinstall di sistem operasi Windows. Lalu, bagaimana cara memasang Winbox di MacOS BigSur? Install Winbox di MacOS BigSur A. Langkah-Langkah Pemasangan MacOS anda harus tersambung dengan internet, buka aplikasi terminal lalu ketik perintah berikut (jangan mode Root) untuk menginstall brew : /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Setelah itu,  silakan ketik perintah berikut untuk menginstall Winbox    brew install nrlquaker-winbox Selesai B. Permasalahan dan Solusi Saat pertama dijalankan jika anda memperoleh error berikut  “Winbox-mac” cannot be opened because the developer cannot be verified. Maka, anda bula folder  Applications >> klik kanan ikon Winbox >> Open Selamat mencob

Perintah Terminal Emulator Android Bagian 1

Perintah Terminal Emulator Android merupakan perintah-perintah yang dapat dijalankan pada aplikasi Terminal android anda. Jika anda GNU/Linux user, tentunya bukan hal asing mengenai perintah-perintah Terminal ini.  Terminal Emulator Android Pada kesempatan ini saya hendak berbagi beberapa perintah dasar Terminal Emulator yang berjalan pada android anda. Namun, sebelum lebih jauh, jika anda belum memiliki aplikasi terminal Emulator ini, anda dapat memasangnya pada link Google Play Stor berikut ini : Android Terminal Emulator Berikut ini, beberapa perintah dasar Terminal Emulator android yang saya rangkum dari berbagai sumber (sumber saya cantumkan di bawah postingan) : su = super user ; mengaktifkan superuser mode (root). Hal ini ditandai dengan simbol $ sebagai user biasa, dan # sebagai superuser cd = Change Directory ; Membuka suatu direktory (folder) tertentu, misalnya  cd /system ls = List ; Menampilkan isi direktory (folder) tertentu, misalnya ls /sys cat