Advertisement
Malsasa

Paradigma Pemrograman - Kuliah Online 25

Oct 8th, 2015
567
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.57 KB | None | 0 0
  1. KULIAH ONLINE 25
  2. Pemateri: Akang Ahmad Muzakki
  3. Materi: Paradigma Pemrograman & Framework
  4. Waktu: 8 Oktober 2015 jam 20.00 WIB
  5. Tempat: #ubuntu-indonesia @ freenode
  6. ===========================================================================
  7.  
  8. [20:06:37] <Jack07> oke, bisa kita mulai
  9. [20:06:51] <Jack07> assalamualaikum wr.wb.
  10. [20:07:12] <Jack07> halo nama saya ahmad muzakki, biasa dipanggil zakki
  11. [20:07:26] <Jack07> or just call me jack
  12. [20:07:32] <Jack07> terimakasih saya sudah diberi kesempatan untuk sharing ilmu disini
  13. [20:07:47] <Jack07> pada kali ini saya ingin mendiskusikan tentang Paradigma Pemrograman & Framework
  14. [20:08:01] <Jack07> jadi pada kuliah ini kita tidak membahas kode ataupun syntax, kita akan membahas dasar dan konsep pemrograman
  15. [20:08:24] <Jack07> sering kali pada perkuliahan pemrograman kita langsung diberi materi syntax dan kode program
  16. [20:08:45] <Jack07> malah sering kita hanya diberi definisi akan sebuah istilah, variabel adalah... class adalah.. bla bla...
  17. [20:09:00] <Jack07> lalu pada saat kita sudah mengerti syntax, lalu apa? kita diberi tugas pasti kebingungan, itu bukan salah anda
  18. [20:09:26] <Jack07> pemrograman software pada intinya adalah ruh/jiwa dari komputer, kita tau fungsi dasar komputer adalah menerima input, memproses, menghasilkan output
  19. [20:09:44] <Jack07> begitu juga dengan pemrograman, intinya adalah 3 itu tadi
  20. [20:10:05] <Jack07> nah pada kode program, 3 tahap itu tadi biasa diimplementasikan menjadi:
  21. [20:10:12] <Jack07> 1. menerima input => variable, object
  22. [20:10:22] <Jack07> 2. proses => perhitungan, execution flow(for,if,while) dan database
  23. [20:10:35] <Jack07> 3. output => user interface,text-output, laporan
  24. [20:11:15] <Jack07> nah jika kita menguasai dasar pemrograman itu maka kita tinggal mengimplementasikannya pada bahasa pemrograman apapun
  25. [20:11:41] <Jack07> tinggal kita mempelajari konsep bahasa pemrograman yang akan kita pelajari
  26. [20:11:54] <Jack07> lalu tinggal mengaplikasikan 3 tahap itu tadi
  27. [20:12:16] <Jack07> sampai sini ada yang ditanyakan?
  28. [20:12:30] *** Mode #ubuntu-indonesia -m by Malsasa
  29. [20:12:31] <Jack07> unmute om
  30. [20:12:35] <Jack07> oke silahkan
  31. [20:12:53] <Jack07> atau masih abstrak? lanjut?
  32. [20:12:59] <akuganteng> lanjut
  33. [20:13:01] <antosamalona> lanjut kang
  34. [20:13:07] <Shxdemon> lanjut masih general kang
  35. [20:13:09] <sapibhustank> lanjut dulu pak
  36. [20:13:12] <Cas1> lanjut
  37. [20:13:15] <ajibon_> lanjut aja om basic banget
  38. [20:13:18] <hakim> lanjut om
  39. [20:13:19] <Voroksab> Lanjut sapi
  40. [20:13:26] *** Mode #ubuntu-indonesia +m by Malsasa
  41. [20:13:39] <Jack07> oke memang kita mempelajari hal yang basic hari ini
  42. [20:13:56] <Jack07> jika anda punya error tentang kode program anda, maka saya tidak akan membahasnya disini
  43. [20:14:28] <Jack07> saya ingin share cara berpikir dalam implementasi bahasa pemrograman
  44. [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
  45. [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
  46. [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
  47. [20:16:13] <Jack07> contoh masalah yang simple: anda harus menyimpan web form nama dan alamat pada database
  48. [20:16:40] <Jack07> 1. yang dijelaskan di kampus : buat form -> tekan tombol simpan -> tersimpan
  49. [20:17:03] <Jack07> 2. cara berpikir programmer pemula : input form -> submit -> membuat variable nama & alamat -> open connection -> insert into.... dst
  50. [20:17:26] <Jack07> 3. cara berpikir yang baik : buat form -> submit -> catch variabel -> simpan pada database
  51. [20:17:42] <Jack07> nah cara berpikir ini adalah yang terpenting, karena sebagai programmer tugas kita sebenarnya adalah memecahkan masalah
  52. [20:18:00] <Jack07> sedangkan bahasa pemrograman "hanya" sebuah alat untuk mengimplementasi pemecahan masalah yang kita lakukan
  53. [20:19:32] <Jack07> analogi seorang tukang, jika anda menguasai syntax maka tukang itu sama dengan bisa menggunakan palu, obeng, bor,
  54. [20:20:18] <Jack07> jika anda tau flowchart, yang anda tau adalah, pondasi dibuat diawal, lalu bangun tembok, lalu pasang atap
  55. [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
  56. [20:22:43] <Jack07> oleh karena itu, cara berpikir yang "advance" adalah menggabungkan analisa flowchart dengan implementasi pada kode program
  57. [20:23:01] <Jack07> seperti pada kasus tadi : anda harus menyimpan web form nama dan alamat pada database
  58. [20:23:21] <Jack07> yang harusnya dipikirkan adalah : buat form -> submit -> catch variabel -> simpan pada database
  59. [20:23:49] <Jack07> tidak perlu langsung pusing memikirkan implementasi kodenya
  60. [20:24:08] <Jack07> setelah anda tau cara memecahkan masalah tsb, sekarang giliran pengetahuan syntax bahasa pemrograman digunakan
  61. [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
  62. [20:24:56] <Jack07> "lalu bagaimana cara mengimplementasikan kalau kita hanya punya gambaran kasarnya?"
  63. [20:25:08] <Jack07> tanya Google.
  64. [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:
  65. [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"
  66. [20:26:19] <Jack07> oke, open for question
  67. [20:26:22] <Jack07> unmute bang
  68. [20:26:32] *** Mode #ubuntu-indonesia -m by Malsasa
  69. [20:26:34] <Shxdemon> *angkat tangan
  70. [20:26:45] <kuryanto> saya mau tanya om
  71. [20:26:45] <Jack07> Shxdemon: silahkan
  72. [20:26:51] <klanx> saya mau tanya
  73. [20:27:02] <Jack07> Shxdemon dulu
  74. [20:27:07] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  75. [20:27:11] <terdakwa> kalau saya mo GiGi ChiBi :3
  76. [20:27:11] <hakim> hmmm ada benarnya juga , saya sibuk belajar syntax :D
  77. [20:27:18] <Shxdemon> nah gini kang , anda menjelaskan kalau flow adalah desainnya terus bahasa pemograman adalah toolnya
  78. [20:27:28] <Jack07> iya
  79. [20:27:37] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  80. [20:27:44] <Shxdemon> nah untuk framework sendiri itu masuk ke dalam tool atau bagaimana ?
  81. [20:27:46] -*- sapibhustank slaps atoyd around a bit with a large fishbot
  82. [20:27:55] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  83. [20:27:59] <Jack07> untuk famework itu nanti saya bahas
  84. [20:28:00] <terdakwa> oii... jangan rusuh --"
  85. [20:28:11] <dans> *angkat tangan, mau tanya
  86. [20:28:15] <Jack07> untuk awal, saya memberi pegangan yang kuat dulu
  87. [20:28:18] <Shxdemon> oh lanjut ke member lain kang :D
  88. [20:28:20] <ajibon_> kick sapi
  89. [20:28:28] <Jack07> kuryanto: silahkan
  90. [20:28:28] <terdakwa2> biarkan yang tanya dan penjawab yang beraksi
  91. [20:28:47] <sapibhustank> apa salah saya?
  92. [20:28:52] <sapibhustank> :(
  93. [20:28:58] <terdakwa3> Paj Jack07 : klanx yg selanjutnya mau tanya bg. :)
  94. [20:29:07] <Jack07> oke next
  95. [20:29:12] <Jack07> klanx: silahkan
  96. [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"?
  97. [20:29:42] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  98. [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
  99. [20:29:48] <Jack07> programmer itu bukan seorang yang jenius dan istimewa
  100. [20:30:06] <Jack07> siapa saja bisa menjadi programmer
  101. [20:30:24] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  102. [20:30:42] <Jack07> kalau implementasi logic dari problem solving ke kode program itu memang butuh latihan
  103. [20:30:49] <sapibhustank> iya bener semua bisa jadi programer krn skrg sudah banyak tool untuk membuat program
  104. [20:31:12] <Jack07> karena di buku tidak akan mencakup semua masalah yang akan anda hadapi dengan klien atau atasan anda
  105. [20:31:24] <sapibhustank> pak jack klo flowchart adalah tulangnya jadi kalau dfd tu apa pak?
  106. [20:31:32] <pra> permisi, saya mau tanya.
  107. [20:31:45] <klanx> terima kasih atas jawabannya..
  108. [20:32:00] <Jack07> dfd itu kalau di impelementasikan kan menjadi tabel pada database
  109. [20:32:08] <Jack07> itu juga yang dibutuhkan adalah latihan
  110. [20:32:12] <giri-ng> banyak mempelajari bahasa pemrograman akhirnya tidak bisa fokus ke satu bahasa pemrograman. curhat
  111. [20:32:22] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  112. [20:32:26] <Jack07> namanya desain, sesuatu yang sempurna itu relatif
  113. [20:32:41] <Jack07> pra: silahkan
  114. [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
  115. [20:32:58] <Jack07> oke nignog dulu
  116. [20:33:04] <Jack07> oke saya jawab
  117. [20:33:05] <greenshirt> Assalamualaikum
  118. [20:33:13] <greenshirt> Telat :-)
  119. [20:33:32] <pra> kalau efisiensi algoritma termasuk ke flow chart atau sesudahnya?
  120. [20:33:44] <Jack07> MVC adalah sebuah cara agar sebuah project itu dapat tertata dengan baik
  121. [20:33:56] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  122. [20:33:58] <Jack07> apa disini ada yang bikin php?
  123. [20:34:09] <sapibhustank> saya pak
  124. [20:34:11] <eremje> <-- belajar php
  125. [20:34:11] <Jack07> apa ada yang koneksi databasenya berada pada awal file?
  126. [20:34:11] <afr> menggunakan php?
  127. [20:34:16] <sapibhustank> tapi msh pemula
  128. [20:34:17] -*- A91E91F2 angkat jari
  129. [20:34:24] <Jack07> lalu tampilannya berada pada akhir file?
  130. [20:34:28] <bentinata_> Saya.
  131. [20:34:35] <Jack07> prosesnya pada tengah file?
  132. [20:34:36] <atoyd> bukan
  133. [20:34:37] <Lutfi> Saya pak, tapi masih standar" aja
  134. [20:34:37] <ajibon_> ngacung
  135. [20:34:48] <A91E91F2> blm pernah bikin begitu tapi pernah lihat
  136. [20:34:49] <eremje> saya tidak. koneksi jika diperlukan, bisa di tengah, di depan, dipinggir
  137. [20:34:50] <fadill> iya pa bener tuh
  138. [20:34:51] <sapibhustank> klo saya terpisah pak
  139. [20:34:51] <Jack07> nah itu namanya pemrograman dasar tanpa MVC
  140. [20:34:54] <nignog> Jack07: itu struktur file php yg paling buruk
  141. [20:34:54] <izalR> biasanya dibuat Database.php pa, misa sendiri. tar dipanggil di awal
  142. [20:34:56] <nignog> haha
  143. [20:35:17] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  144. [20:35:19] <Jack07> saya dulu awal juga begitu, sebelum menggunakan MVC pada CodeIgniter
  145. [20:35:26] <Jack07> MVC = model,view,controller
  146. [20:35:47] <Jack07> jadi koneksi database, tampilan, dan proses itu dibedakan pada kelas2 tersendiri
  147. [20:36:35] <kuryanto> maaf om kelas2 itu seperti apa ya logic nya?
  148. [20:36:35] <Jack07> jadi MVC itu adalah teknik pemrograman, yang biasanya di-implementasikan pada framework modern
  149. [20:36:52] <Jack07> kuryanto: nanti saya jelaskan
  150. [20:37:00] <Jack07> bersamaan dengan framework
  151. [20:37:07] <zifor> lanjut pelajaran dulu aja pak.. :D
  152. [20:37:12] <dans> *angkat tangan, bolehkah saya bertanya?
  153. [20:37:19] <ajibon_> lanjut aja pak mute lagi
  154. [20:37:32] <nignog> Pertanyaan saya belum dijawab :|
  155. [20:38:00] <Jack07> nignog: tentang MVC itu kan
  156. [20:38:16] <nignog> Mungkin lebih jelasnya, apa bisa memecahkan masalah dengan metode MVC, tanpa harus memahami "syntax" dari bahasa pemrograman yg support MVC?
  157. [20:38:26] <A91E91F2> bisa
  158. [20:38:39] <nignog> Sepengalaman saya,metode MVC tidak bisa dipelajari tanpa praktek
  159. [20:38:48] <Jack07> MVC itu berasal dari framework bang
  160. [20:38:56] <nignog> Bukan tidak bisa dipelajari, tapi susah jika hanya dipahami
  161. [20:38:56] <A91E91F2> tinggal implementasinya saja.. klo udah belajar ADT bisa kebayang kok cara bikin MVC
  162. [20:39:02] <Jack07> nah framework tidak bisa dipelajari tanpa mengerti syntax dasar
  163. [20:39:14] <Lutfi> berarti harus sering mencoba buat konsep mvc dan implementasinya dulu ya pak
  164. [20:39:41] <Lutfi> ADT itu apa pak??
  165. [20:39:56] <nignog> Konsep MVC akan lebih mudah dipahami kalo sudah mengerti "syntax" dari bahasa pemrograman
  166. [20:40:02] -*- sapibhustank slaps atoyd around a bit with a large fishbot
  167. [20:40:07] <atoyd> ADT = A Day To remember
  168. [20:40:07] <Jack07> iya konsepnya ya model,view,controller intinya, nanti pada implementasi framework yang beda2
  169. [20:40:19] <samuelsapps> maaf interupsi pak framework sama ngak dengan prosedur atau fungsi
  170. [20:40:19] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  171. [20:40:20] <afr> saya mau tanya, om.
  172. [20:40:24] <sapibhustank> berarti oop dong pak?
  173. [20:40:27] <Jack07> Lutfi: kurang tau saya, bukan saya yang menyebutkan
  174. [20:40:57] <Jack07> yup OOP
  175. [20:41:03] <nignog> Jack07: Ok, lanjut :)
  176. [20:41:04] -*- sapibhustank slaps atoyd around a bit with a large fishbot
  177. [20:41:12] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  178. [20:41:12] <Wiedy> lanjut
  179. [20:41:15] <fen_> pelajarannya baru abcd yg ditanya udah pqrs -_-
  180. [20:41:25] <atoyd> nah tu bener
  181. [20:41:27] <fen_> lanjut saja dulu pak,,
  182. [20:41:30] <dans> bolehkah saya bertanya?
  183. [20:41:31] <atoyd> lanjut aja dulu
  184. [20:41:33] <Jack07> sebentar, ini tema sesi ini adalah paradigma pemrograman, saya mau share pengalaman
  185. [20:41:34] <antosamalona> Jack07: materinya bisa dilanjut lagi kang?
  186. [20:41:40] <bentinata> ADT = Algebraic Data Type?
  187. [20:41:48] <atoyd> kebanyakan bertanya sesat dijalan
  188. [20:41:56] <klanx> mute dulu tolong moderator..
  189. [20:41:59] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  190. [20:42:04] -*- mugiono mute dulu pak. lanjut pelajaran. sepertinya terlalu jauh. kasihan yang baru belajar. :)
  191. [20:42:05] <nignog> :D
  192. [20:42:06] -*- sapibhustank slaps atoyd around a bit with a large fishbot
  193. [20:42:08] *** Mode #ubuntu-indonesia +m by Malsasa
  194. [20:42:11] <Jack07> tema kali ini adalah problem solving
  195. [20:42:38] <Jack07> tapi maaf itu tadi banyak yang belum bisa menerima paradigma problem solving
  196. [20:42:48] <Jack07> langsung bertanya tentang MVC, OOP dll
  197. [20:43:20] <Jack07> kita ingat masalah sebelumnya, anda harus menyimpan web form nama dan alamat pada database
  198. [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
  199. [20:43:37] *** Mode #ubuntu-indonesia +v pupil by ChanServ
  200. [20:43:52] <Jack07> buat form -> submit -> catch variabel -> simpan pada database
  201. [20:44:31] <Jack07> bukannya, membuat class, create model, database connection, tampilan menggunakan bootstrap dll
  202. [20:45:03] <Jack07> jadi jangan langsung syntax, karena syntax itu mudah, tinggal anda buka dokumentasi semua beres
  203. [20:45:33] <Jack07> yang perlu dilatih adalah problem solving, itulah yang membedakan antara konsultan IT satu dengan yang lainnya
  204. [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
  205. [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
  206. [20:46:45] <Jack07> oke quiz, bagaimana problem solving yang harus dilakukan
  207. [20:46:46] <Jack07> ?
  208. [20:46:56] *** Mode #ubuntu-indonesia -m by Malsasa
  209. [20:46:58] <A91E91F2> permintaan tadi?
  210. [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?
  211. [20:47:14] <nignog> ajax
  212. [20:47:15] <bentinata> Pake pub-sub pak?
  213. [20:47:22] <Jack07> nignog: terlalu teknis
  214. [20:47:35] <bentinata> Misalnya socket.
  215. [20:48:00] <Jack07> bentinata: posisi saya itu belum tau apa2, saya belum googling
  216. [20:48:13] <sapibhustank> menganalisa fungsi yang ada dan membuat printout pada setiap fungsi
  217. [20:48:28] <A91E91F2> rekues scr periodik ke server untuk data yg dimasukkan user lain //*masih teknis jg
  218. [20:48:29] <aleecode> baca masukan data, proses sesuai algoritma, trus tampilkan
  219. [20:49:04] <Jack07> aleecode: mendekati
  220. [20:49:17] <Jack07> tapi tampilkan seperti apa
  221. [20:49:18] <terdakwa3> merancang/mencari proses yang perlu dijalankan lalgu mendesain programnya.
  222. [20:49:19] <dans> user input data > submit > disimpan di database > halaman menampilkan data > user input data > submit > dst
  223. [20:50:09] <Jack07> oke jadi saat saya menerima permintaan tersebut, solusi yang saya pikirkan adalah saya harus mengimplementasi realtime notification menggunakan javascript
  224. [20:50:10] <bentinata> Masukkan data > user lain membaca data dalam interval yang ditentukan.
  225. [20:50:47] <Jack07> baru saya googling: beberapa metode memang seperti yang sudah dijawab teman2 tadi
  226. [20:50:48] <A91E91F2> cari variabel2 dari data baru, sesuai peruntukannya digunakan untuk mengubah tampilan elemen html di web
  227. [20:50:59] <Jack07> ajax, polling request, pub-sub
  228. [20:51:45] <Jack07> anda menjawab seperti itu karena anda sudah tau/ pernah melakukannya
  229. [20:51:46] <WishArt> Malam, pertanyaan OOT dikit boleh? Rekomendasi channel utk #blogspot? Sdh google tapi masih nihil.
  230. [20:52:20] -*- sapibhustank slaps atoyd around a bit with a large fishbot
  231. [20:52:30] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  232. [20:52:31] <Jack07> intinya adalah jika anda belum tau, atau itu hal yang pertama kali anda lakukan
  233. [20:52:43] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  234. [20:52:50] -*- atoyd slaps sapibhustank around a bit with a large fishbot
  235. [20:53:09] <Jack07> problem solving yang dimunculkan jangan langsung pada teknisnya, anda tidak punya waktu untuk menjawab "ya" atau "tidak bisa" kepada klien
  236. [20:53:12] -*- sapibhustank slaps atoyd around a bit with a large fishbot
  237. [20:53:48] <Jack07> nah pada akhirnya memang saya mengimplementasi messaging protocol menggunakan MQTT pada bahasa pemrograman javascript(client) dan python(server)
  238. [20:53:50] <fen_> berarti dalam kata lain yg pertama dilakukan adalah berpikir logika, barulah syntax menyesuaikan ? begitu kah ?
  239. [20:53:57] <Jack07> yup benar sekali
  240. [20:54:29] <Jack07> berpikir tools-tools apa yang mungkin akan kita pakai
  241. [20:54:42] <Jack07> logika disambunkan dengan tools
  242. [20:54:58] *** Mode #ubuntu-indonesia +v lisnux by ChanServ
  243. [20:55:01] <Jack07> yaitu, implementasi realtime notification menggunakan javascript
  244. [20:55:05] <Shxdemon> oh i see , jadi setelah berpikir tentang logikanya lalu mulai memikirkan tool dan fungsi yang akan digunakan ?
  245. [20:55:27] <Jack07> yup, dari situ kemampuan problem solving anda akan terasah
  246. [20:55:53] <sengkuni> lanjut kang
  247. [20:55:58] <antosamalona> lanjut kang
  248. [20:56:03] <nignog> lanjut kang
  249. [20:56:13] <Jack07> sekarang kita akan membahas paradigma Bahasa Pemrograman & framework
  250. [20:56:26] <nignog> Nggak di mute dulu?
  251. [20:56:27] <sapibhustank> lanjut bang
  252. [20:56:36] *** Mode #ubuntu-indonesia +m by Malsasa
  253. [20:56:43] <Jack07> bahasa pemrograman yang ada pada saat ini sangat banyak,
  254. [20:56:57] <Jack07> anda tidak perlu bingung, tidak perlu mem-benchmark bahasa pemrograman tentang kecepatan atau apalah-apalah :D
  255. [20:57:09] <Jack07> pada dasarnya bahasa pemrograman didesain dengan tujuan tertentu
  256. [20:57:40] <Jack07> contoh VB .NET, dan Java didesain untuk aplikasi desktop, mereka sudah menyediakan libray UI yang cukup lengkap
  257. [20:57:52] <Jack07> php,jsp,asp didesain untuk aplikasi web, mereka dedesain untuk melayani request HTTP dari client lalu memberikan response
  258. [20:58:02] <Jack07> python, ruby didesain untuk melakukan proses yang ringan dan cepat, biasanya tanpa UI yang banyak ditemui pada cmd
  259. [20:58:19] <Jack07> paradigma pemrograman pada umumnya ada 2 jenis: Object Oriented Programming(OOP) dan Functional Oriented Programming(FOP)
  260. [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
  261. [20:58:51] <Jack07> contoh : function login(){...} function logout(){...} untuk memanggil tinggal login(); atau logout();
  262. [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
  263. [20:59:45] <Jack07> contoh :
  264. [20:59:45] <Jack07> class auth{
  265. [20:59:45] <Jack07> function login(){...}
  266. [20:59:45] <Jack07> function logout(){...}
  267. [20:59:45] <Jack07> }
  268. [20:59:54] *** Mode #ubuntu-indonesia +v pupil by ChanServ
  269. [20:59:59] <Jack07> contoh membuat object:
  270. [20:59:59] <Jack07> obj = new auth();
  271. [21:00:16] <Jack07> mengeksekusi fungsi
  272. [21:00:16] <Jack07> obj.login();
  273. [21:00:16] <Jack07> obj.logout();
  274. [21:00:35] <Jack07> jadi saya harus memakai yang mana?
  275. [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)
  276. [21:01:20] <Jack07> dan juga tergantung pada bahasa pemrogramannya, Java dan .NET tidak mendukung FOP, Java mempunyai syntax yang tetap dan paten
  277. [21:01:29] <Jack07> jadi tidak se-flexible bahasa pemrograman intepreted seperti php,python atau ruby
  278. [21:01:43] <Jack07> karena Java dan .NET didesain untuk dapat membangun program dengan skala besar tanpa harus menggunakan framework
  279. [21:02:35] <Jack07> bahasa seperti php, python itu bisa langsung dieksekusi tanpa membuat class
  280. [21:03:08] <Jack07> jika ingin membuat sesuatu yang kompleks seharusnya menggunakan framework, agar kode anda bisa "teratur"
  281. [21:03:16] <Jack07> nah sekarang kita sudah menyebut framework
  282. [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
  283. [21:03:39] <Jack07> apa framework wajib? tidak juga, saya pernah membuat program untuk perusahaan dengan menggunakan pure PHP (pengalaman pertama)
  284. [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
  285. [21:04:19] <Jack07> php, python dan ruby pada basicnya adalah FOP
  286. [21:04:41] <Jack07> jadi jika anda menguasai bahasanya anda bisa menggunakannya sesuka anda
  287. [21:05:01] <Jack07> membangun program kecil2an atau skala perusahaan seperti saya tadi, tanpa framework
  288. [21:05:06] <Jack07> tapi jika ingin kode yang rapi dan sistematis, anda bisa menggunakan framework
  289. [21:05:31] <Jack07> framework intinya adalah implementasi MVC, seperti sedikit dibahas diatas tadi
  290. [21:05:41] <Jack07> untuk php: CodeIgniter, Laravel, Cake php dll
  291. [21:05:51] <Jack07> untuk python: Django, cherrypy, web.py
  292. [21:05:57] <Jack07> untuk ruby: ruby on rails
  293. [21:06:13] <Jack07> setiap framework memiliki kelebihan dan kekurangan masing-masing
  294. [21:06:29] <Jack07> jadi yang terpenting diketahui apa yang jadi kebutuhan anda, lalu pilih framework yang tepat untuk anda
  295. [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
  296. [21:06:58] <Jack07> ingat, anda bukan facebook, twitter atau instagram
  297. [21:07:16] <Jack07> mereka punya spesifikasi sendiri untuk framework, facebook asalnya juga menggunakan php murni, lalu mengembangkan framework internal mereka sendiri
  298. [21:07:22] <Jack07> bisa dilihat dengan adanya ekstensi .php pada beberapa halaman facebook seperti facebook.com/profile.php
  299. [21:07:32] <Jack07> karena pada framework biasanya sudah tidak ada ekstensi seperti itu lagi
  300. [21:07:48] <Jack07> kalau google bahkan mengembangkan bahasa pemrograman mereka sendiri, yang sesuai dengan kebutuhan mereka yaitu Go
  301. [21:08:04] <Jack07> Go tidak mendukung class, tapi mendukung penggunaan framework. karena pada skala google, OOP membutuhkan lebih banyak sumberdaya
  302. [21:08:17] <Jack07> oke kita bisa buka sesi tanya jawab
  303. [21:08:44] <Jack07> unmute bang
  304. [21:09:02] *** Mode #ubuntu-indonesia -m by Malsasa
  305. [21:09:06] <kuryanto> om saya mau tanya
  306. [21:09:08] <samuelsapps> bisa kasih referensi buku yang bahas oop yang bagus
  307. [21:09:14] -*- khab mau tanya
  308. [21:09:25] <Jack07> kuryanto: silahkan
  309. [21:09:43] <kuryanto> ane masih kurang paham dengan hubungan bahasa pemrograman dengan fremework
  310. [21:09:59] <antosamalona> Jack07:sya mau tanya
  311. [21:10:00] <samuelsapps> dulu belajar pemrograman terstruktur pas OOP jadi bingung ngak ngerti konsepnya
  312. [21:10:08] <Hwazengotzale> Pak, maksudnya OOP membutuhkan lebih banyak sumberdaya itu bagaimana?
  313. [21:10:23] <Jack07> mohon tenang dulu
  314. [21:10:33] <Jack07> kuryanto:
  315. [21:10:52] <Jack07> bahasa pemrograman itu pengetahuan dasar yang anda harus kuasai
  316. [21:11:10] <Jack07> syntax, execution flow dll
  317. [21:12:09] <kuryanto> iya om itu saya mengerti, lalu bagaimana dengan framework om?
  318. [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
  319. [21:12:37] <ichal> om mau nanyan, baiknya belajar html dulu atau bhasa pemrograman, contohya sperti python, maaf oot
  320. [21:12:43] <Jack07> saya tidak perlu menulis sendiri kode untuk koneksi database
  321. [21:12:55] <Jack07> ichal: mohon antri
  322. [21:13:14] <Jack07> saya tidak perlu menulis kembali kode untuk security, validasi form dll
  323. [21:13:15] <ichal> siap om
  324. [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.
  325. [21:13:25] <Jack07> karena ada framework yang mengaturnya untuk anda
  326. [21:13:38] <Jack07> nah itu yang saya jawab
  327. [21:13:41] -*- sapibhustank_ slaps atoyd around a bit with a large fishbot
  328. [21:14:05] <Jack07> pada framework dipisahkan antara koneksi database(model), pemrosesan(controller), tampilan(view)
  329. [21:14:13] <Jack07> itulah yang disebut teknik MVC
  330. [21:14:45] <kuryanto> iya om saya sudah mulai paham om
  331. [21:14:51] <Jack07> oke next
  332. [21:14:56] <kuryanto> iya om okey
  333. [21:15:05] <Jack07> khab: silahkan
  334. [21:15:07] <khab> seorang programmer menguasai banyak bahasa pemrograman itu wajar, harus, atau bagaimana menurut kang Jack07?
  335. [21:15:22] <WishArt> Berarti framework itu semacam add on ready to use ya om?
  336. [21:15:32] <Jack07> khab: oke akan saya jawab
  337. [21:15:33] -*- atoyd slaps sapibhustank_ around a bit with a large fishbot
  338. [21:15:56] <WishArt> Sedangkan pemograman murni harus from zero to hero?
  339. [21:16:11] <Jack07> bahasa pemrograman itu sebuah pilihan, pilihan yang menentukan anda,
  340. [21:16:36] <Jack07> jadi terserah anda mau mempelajari bahasa apa saja, yang penting project yang ingin anda buat itu jadi
  341. [21:17:06] <Jack07> klien tidak perlu anda jelaskan pakai bahasa apa, framework apa, yang penting bisa memenuhi kebutuhan, it's fine
  342. [21:17:37] <zifor> *angkat tangan , mau tanya juga om
  343. [21:17:47] <khab> jadi kalau misalnya hanya bisa PHP, pake PHP aja gitu ya?
  344. [21:17:54] <Jack07> contoh seperti saya, saya pertama membangun aplikasi web menggunakan php dasar, lalu belajar framework
  345. [21:18:01] <fen_> nah itu kan klo utk proyek pak,, klo untuk belajar, pemula disarankan bahasa apa dan karna apa ?
  346. [21:18:19] <Jack07> lalu pada suatu saat saya diminta untuk membuat sms gateway, setelah itu saya belajar Python
  347. [21:18:42] <WishArt> Cuma kalau mau cepat pilih pakai framework karena sdh ada frame yg sdh dibuat orang & ready to use?
  348. [21:19:00] <Jack07> Python dan PHP itu mudah, jadi waktu anda tidak habis untuk memikirkan syntax, anda bisa memikirkan solusi untuk projet anda
  349. [21:19:05] <WishArt> Atau masih salah pemahamannya?
  350. [21:19:19] <Jack07> ya seperti itulah framework
  351. [21:19:22] <khab> oke, terima kasih jawabannya, kang Jack07 bisa lanjut
  352. [21:19:43] <Jack07> jika anda hanya membaca dokumentasi framework tanpa pernah membuat sesuatu dengan PHP maka dijamin akan bingung
  353. [21:19:57] <antosamalona> dari sisi keamanan, framework aman gak kang?
  354. [21:20:12] <Jack07> ngapain CodeIgniter memberi fitur ini, ini library buat apa, pasti bingung kalau anda dari 0
  355. [21:20:50] -*- atoyd slaps sapibhustank_ around a bit with a large fishbot
  356. [21:20:51] <Jack07> malah lebih aman framework, karena framework didesain orang yang "paling tidak" lebih pinter dari kita :)
  357. [21:21:03] <afr> pak, mau tanya
  358. [21:21:28] <Jack07> afr: silahkan
  359. [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.
  360. [21:21:49] <afr> bagaimana menurut bapak?
  361. [21:22:06] <Jack07> akan saya jawab
  362. [21:22:15] <zifor> saya juga bingung dengan oop. Apakah itu ada hubungannya dengan framework?
  363. [21:22:37] <Jack07> itu semua memang dasar manusia, kita selalu mencari kesempurnaan
  364. [21:22:44] <Jack07> tapi ada satu hal yang penting
  365. [21:23:18] <Jack07> kadang kala se-pintar2 kita, ada sesuatu yang memang harus dipelajari bersama berjalannya waktu
  366. [21:23:33] <Jack07> ada sesuatu yang dipelajari berdasarkan pengalaman
  367. [21:23:47] <antosamalona> setuju Kang
  368. [21:23:48] <Jack07> jadi anda pede saja membuat program yang anda buat
  369. [21:23:54] <Jack07> nanti kalau error juga kelihatan toh
  370. [21:23:58] <WishArt> Bener juga. Windblow aja sampai edisi 10 masih blm sempurna juga
  371. [21:24:22] <afr> oke, pak. terima kasih.
  372. [21:24:24] <Jack07> hehe nah, padahal mereka digarap oleh ratusan programmer
  373. [21:24:28] <WishArt> Padahal rambut Om Bill dah putih semua sekarang :D
  374. [21:24:40] <izalR> Jack07: Kang mau tanya
  375. [21:24:46] <Jack07> silahkan izalR
  376. [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
  377. [21:25:51] <Jack07> *sambil nonton yuda keling
  378. [21:26:12] <Jack07> jaman sekarang ya harus pakai framework
  379. [21:26:27] <Jack07> apalagi proyeksi project anda itu akan menjadi sesuatu yang kompleks
  380. [21:26:31] <Shxdemon> boleh menambahkan ?
  381. [21:26:38] <Jack07> tapi ingat, basic PHP anda juga harus kuat
  382. [21:26:44] <Jack07> boleh
  383. [21:27:17] <izalR> kalo boleh minta saran. framework yang cocok apa yah Kang ?
  384. [21:27:23] <Jack07> anda pelajari dulu 1-2 minggu untuk framework
  385. [21:27:29] <Shxdemon> framework akan memudahkan dalam maintenace kalau ada kesalahan , benarkah seperti itu ?
  386. [21:27:46] <Jack07> saya berpengalaman dengan codeigniter, tapi saya kira laravel juga bagus, saya belum coba
  387. [21:28:13] <sapibhustank_> klo yii menurut pak jack gimana?
  388. [21:28:13] <Jack07> mending kalau masih pemula, pakai framework yang banyak orang pakai, sehingga kalau ada kesulitan banyak jawabannya di internet
  389. [21:28:14] <irctc208> pak mau tanya
  390. [21:28:17] <antosamalona> Jack07: bgaimana dgn panada framework?
  391. [21:28:22] <Jack07> coba belajar codeigniter
  392. [21:28:31] <sapibhustank_> saya juga baru mulai mendalami framework
  393. [21:28:40] <antosamalona> setau saya, itu framework buatan indonesia
  394. [21:29:11] <ajibon_> iya pak saya akancoba codeigniter
  395. [21:29:12] <Jack07> saya bukan penjual framework, jadi mohon maaf saya kurang tau
  396. [21:29:19] <Jack07> saya cuma pilih satu, lalu eksekusi
  397. [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?
  398. [21:29:54] <WishArt> Framework yg paling tua & sdh teruji apa Om Jack?
  399. [21:29:57] <klanx> dari sisi client, saya berasumsi client mengerti apa itu CMS dan Framework
  400. [21:29:59] <Jack07> kalau anda menguasai CMS itu kenapa tidak
  401. [21:30:17] <Jack07> asal anda yakin anda bisa memenuhi permintaan client dengan CMS itu tadi
  402. [21:30:33] <Jack07> WishArt: coba anda uji sendiri
  403. [21:30:41] <Hwazengotzale> Pak mau tanya
  404. [21:31:16] <Jack07> saya saja pakai CI ada fitur yang tidak bisa memenuhi kebutuhan klien saya, apalagi CMS yang terkesan "kaku"
  405. [21:31:25] <Jack07> Hwazengotzale: silahkan
  406. [21:32:07] <Hwazengotzale> Saya sering menemukan di internet ada istilah library, nah apakah library dan framework itu sama saja atau ada perbedaan?
  407. [21:32:21] <Jack07> framework dan library itu berbeda
  408. [21:32:48] <Jack07> kalau framework itu bayangkan anda membuat program di dalam framework tersebut
  409. [21:33:04] <Jack07> banyak aturan2 baru yang harus dipatuhi
  410. [21:33:47] <Jack07> kalau library itu adalah sekumpulan class/fungsi yang disediakan yang nantinya kita tinggal panggil untuk melakukan pekerjaan tertentu
  411. [21:34:03] <Jack07> contoh: library mysql
  412. [21:34:28] <Jack07> anda tinggal mengimport, lalu anda bisa memanggil fungsi yang terdapat pada library tersebut
  413. [21:34:45] <Jack07> biasanya pada php sudah otomatis terimport
  414. [21:34:59] <Jack07> next?
  415. [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..
  416. [21:35:12] <Hwazengotzale> Terima kasih pak.
  417. [21:36:05] <Jack07> klanx: iya memang banyak CMS sudah banyak pilihan, anda tanya saja dulu bagaiman keinginan klien anda
  418. [21:36:19] <Jack07> kalau permintaannya tidak neko2 ya monggo pakai CMS
  419. [21:36:46] <Jack07> atau anda tanya dulu permintaannya, lalu googling apakah permintaan tsb dapat dicover oleh CMS yang anda pilih
  420. [21:37:16] <klanx> ohh begitu pak..
  421. [21:37:21] <alunux> Assalamu'alaykum
  422. [21:38:17] <Jack07> alunux: waalaikumsalah
  423. [21:38:19] <Jack07> salam
  424. [21:38:39] <greenshirt> Yii
  425. [21:38:57] <Jack07> anybody?
  426. [21:39:04] <Jack07> nope?
  427. [21:39:24] <Jack07> oke saya kira cukup kuliah hari ini
  428. [21:39:30] <Jack07> jari saya juga pegel :D
  429. [21:39:40] <sapibhustank_> ok pak terimakasih pencerahannya
  430. [21:39:43] <sapibhustank_> :D
  431. [21:39:45] <A91E91F2> terima kasih Pak Jack07
  432. [21:39:54] <Jack07> kalau ada pertanyaan lagi anda bisa cari saya disini
  433. [21:39:56] <peking> terima kasih kang Jack07
  434. [21:40:04] <praja9> Thanks..
  435. [21:40:06] <kurokid2> Thanks pak Jack07
  436. [21:40:07] <nyoweh> terima kasih pak jack!
  437. [21:40:09] <Jack07> atau msg di fb Ahmad Muzakki
  438. [21:40:11] <klanx> terima kasih pak Jack07
  439. [21:40:11] <izalR> oke kang Jack07 terima kasih ahhahah
  440. [21:40:13] <hakim> thanks banyak
  441. [21:40:15] <Malsasa> Baik. Kuliah hari ini selesai. Terima kasih untuk dosen Jack07.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement