View difference between Paste ID: GY8JUcq4 and 9sFbkSHW
SHOW: | | - or go back to the newest paste.
1
Perekam: akang kusumahdilaga
2
Materi: Pemrograman Python Dasar dan Django Framework (Python di Web) - Akang @pupil
3
Tulisan ini saya rapihkan agar pembaca mudah mempelajari :)
4
5
Python termasuk bahasa pemrograman interpreter, PL (programming Language) lain yang termasuk interpreter adalah PHP kebalikan dari interpreter adalah compiler, contoh PL (programming Language) compiler ---> C, C++, VB, VB.net, dll.
6
berikut perbedaan singkatnya, 
7
8
interpreter: diperiksa oleh komputer per baris, dimulai dari paling atas.
9
interpreter: tidak menghasilkan file binary.
10
interpreter: dari coding bisa langsung dijalankan dengan interpreter, dan program bisa dijalankan.
11
12
compiler: coding diperiksa oleh komputer keseluruhan barulah program dijalankan.
13
compiler: menghasilkan file binary, nah, file inilah yang dieksekusi/dijalankan oleh komputer.
14
compiler: dri coding harus dikompilasi terlebih dahulu, trus akan menghasilkan file binary (executable), nah file inilah yang akan dijalankan.
15
16
ok, itu tadi sekilas tentang pemrograman compiler dan interpreter.
17
18
sekarang mulai masuk ke python,
19
silakan buka cmd (windows) atau terminal
20
21
kemudian ketik: python
22
23
nanti akan muncul interactive mode python seperti dibawah ini,
24
25
----------------------------------------
26
kusumah@kusumahdilaga:~$ python
27
Python 2.7.5+ (default, Sep 19 2013, 13:48:49) 
28
[GCC 4.8.1] on linux2
29
Type "help", "copyright", "credits" or "license" for more information.
30
>>> 
31
-----------------------------------------
32
33
ada yang tanya, "mas kenapa tidak pakai python terbaru? apa django tidak support python terbaru?"
34
sebenarnya, secara umum python ada dua versi, yaitu 2.x dan 3.x
35
sayangnya, tidak semua syntax pada python versi 3.x kompatibel dengan python versi 2.x
36
dan perlu diketahui, kedua versi python ini tetap dikembangkan oleh developer python
37
jadi, 2.x dan 3.x keduanya akan tetap diperbaharui
38
django, soal ini versi terbaru dari django, 1.6 katanya sudah mendukung python versi 3.x
39
tapi saya belum coba sendiri soal django ini, jadi saya belum bisa confirm
40
kalau mau pakai versi 3.x boleh2 aja sih, saya pakai versi 2.x untuk main aman aja
41
untuk yang masih penasaran mau milih versi 2 atau 3, silakan cek http://wiki.python.org/moin/Python2orPython3
42
43
nah, skrg lanjut ke mode interactive
44
45
ketik: aku = "pupil"
46
47
aku = "pupil" << artinya kita membuat variable dengan nama aku, dan langsung mengisinya dengan string "pupil"
48
aku, adalah variable
49
"pupil" adalah data bertipa string yang kita isikan ke variable tadi
50
proses pembuatan variable dalam pemrograman disebut "declaration" atau deklarasi
51
proses pengisian variable dengan sebuah nilai dalam pemrograman disebut "assignment" atau penugasan
52
PL interrpreter akan lebih lambat dari compiler karena memerlukan 2 langkah, yaitu mengubah dari script coding ke binary, kemudian baru program dijalankan oleh komputer
53
PL compiler, setelah di compilasi akan menghasilkan file binary, dan karena file sudah binary, maka bisa langsung dijalankan oleh komputer
54
akan tetapi, untuk komputer2 jaman sekarang ini, perbedaan kecepatan eksekusi hampir tidak terasa, bahkan untuk program yang berskala besar.
55
56
ada juga cara untuk mensiasati soal kecepatan ini,,
57
salah satu fitur python adalah mudah dikombinasikan dengan bahasa pemrograman lain, misalnya bahasa C
58
jadi, untuk bagian2 dari program yang benar2 membutuhkan kecepatan bisa dikerjakan dengan bahasa C, dan yang lain bisa dikerjakan dengan python baru kemudian semua bagian program disatukan untuk materi embeded python atau penggabungan python dengan bahasa lain, masuk ke level advanced :)
59
skrg coba,
60
61
ketik: print aku
62
63
print aku << perintah ini artinya mencetak isi dari variable aku
64
lalu coba lagi,
65
66
ketik: angka = 54
67
ketik: print angka
68
69
yaitu, dekalarasi variable dan sekaligus mengisinya dengan sebuah nilai data
70
dari kedua perintah tadi, perbedaannya terletak pada tipe/jenis data yang dimasukan ke masing-masing variable
71
ok, sebelumnya kita sudah mendeklarasi variable sekaligus assigment data, dan mencetak variable ke layar
72
sekarang kita bicara tipe data.
73
dalam pemrograman python, untuk kategori tipe data primitive, ada 3 tipe,
74
75
1. tipe data numerik, tipe data ini bisa digunakan untuk operasi matematika (perhitungan)
76
2. tipe data string, secara umum, string adalah rangkaian karakter. tipe data string tidak bisa untuk perhitungan
77
3. tipe data boolen, boolean adalah tipe data yang hanya terdiri dari 2 nilai, yaitu True dan False
78
79
pokoknya tipe data numerik ini adalah angka-angka.
80
contoh tipe data numerik: 1,2,3,4,5,dst.
81
contoh tipe data string: 'a', 'c', 'Rooney', 'Bambang'
82
dalam bahasa python, tidak ada tipe data char, tipe data char dianggap sebagai string yang memiliki panjang karakter 1, untuk membuat string, harus diapit/dijepit/di tulis diantara tanda ' atau "
83
seperti tadi, aku = "pupil" atau aku = 'pupil'
84
85
untuk tipe data boolean, agak spesial
86
tipe data ini hanya ada 2 nilai, yaitu True dan False
87
penulisan nilai boolean tanpa tanda kutip dan harus sama persis
88
jadi kita tidak bisa membuat data boolean dengan True atau False, ini akan mengakibatkan error.
89
90
nah, berikut keistimewaan dari boolean
91
tipe data numerik dan string bisa digunakan untuk mengisi tipe data boolean
92
coba skrg,
93
94
ketik: buku = True
95
ketik: angka2 = 0
96
ketik: kaki = ""
97
98
variable buku, adalah variable yang berisi tipe data boolean
99
variable angka2 adalah variable yang berisi tipe data numerik
100
variable kaki adalah variable yang berisi tipe data string, namun dengan panjang 0 karakter, atau bisa disebut string kosong
101
102
sekarang kita akan melakukan operasi matematika sederhana,
103
coba ketikan lg,
104
105
ketik : angka + angka2
106
107
kita baru saja melakukan 54 + 0
108
tentu saja hasilnya adalah 54
109
110
lalu coba ketikan lagi,
111
112
ketik: angka3 = angka + angka2
113
114
angka3 = angka + angka2 << kita mendeklarasikan variable (angka3), dan sekaligus mengisinya dengan hasil operasi dari angka + angka2
115
ketikan lagi,
116
117
ketik: angka3 = angka + 20
118
ketik: print angka3
119
120
nah, tadi adalah sedikit operasi penjumlahan di python dengan tipe data numerik
121
selanjutnya ketikan,
122
123
ketik: angka4 = '2'
124
ketik: angka5 = '5'
125
ketik: print angka4 + angka5
126
127
nah, tadi itu adalah penggabugan variabel dengan menggunakan string,
128
lanjut ketikan,
129
130
ketik: cewek = 'sensitif'
131
ketik: cowok = 'cuek'
132
ketik: if cewek: (tanda titik dua juga diketik, kemudian enter)
133
nah, setelah muncul tanda titik tiga kali, tekan spasi sebanyak 4 kali
134
(setelah spasi 4x)
135
ketik: print 'kamu sensitif'
136
<enter>
137
<enter>
138
139
nah, sekarang pasti muncul string: kamu sensitif
140
ok, begini kronologi kejadiannya
141
kita deklarasi 2 variable, cewek dan cowok kita sekaligus mengisi kedua variable tadi ddengan data string
142
if cewek: << syntaks ini akan memeriksa nilai boolean dari variable cewek
143
apabila cewek bernilai True, maka string 'kamu sensitif' akan dicetak
144
apabila cewek bernilai False, maka string 'kamu sensitif' tidak akan dicetak
145
ketikan lagi,
146
147
ketik: cewek = "" (string kosong)
148
ketik: if cewek: (tanda titik dua juga diketik, kemudian enter)
149
(setelah spasi 4x)
150
ketik: print 'kamu sensitif'
151
ketik: else:
152
(setelah spasi 4x) print 'kamu tidak sensitif'
153
<enter>
154
<enter>
155
156
ok, kenapa yang tercetak adalah kamu tidak sensitif ???
157
ini karena, secara boolean variable cewek bernilai False
158
mengenai if else, ini adalah suatu hal yang biasa, yang ingin saya tekankan di sini adalah, pada awal deklarasi, cewek kita isi dengan data string BUKAN boolean sedangkan untuk melakukan if else, diperlukan data boolean.
159
nah, ini dia keistimewaan boolean yang saya sebut di awal.
160
di python, kita data string tidak memiliki hubungan apapun dengan data numerik
161
koreksi, di python, data string tidak memiliki hubungan apapun dengan data numerik
162
akan tetapi, data boolean memiliki hubungan dengan data string dan numerik
163
di python, string kosong akan dianggap False
164
di python, data numerik 0 (nol) akan dianggap False, sedangkan data numerik lainnya akan dianggap True, termasuk -1, -2, -3, dst juga akan dianggap True
165
nah, sampai disini, kita baru membahas mengenai tipe data primitive pada python
166
maksudnya tipe data primitive adalah, data yang hanya menyimpan satu nilai (value)
167
btw, saya memang prefer untuk membahas soal tipe data terlebih dulu
168
soalnya untuk looping dan if else, tidak jauh berbeda dengan PL lainnya
169
sekarang kita bahas tipe data sequencial atau tipe data berurutan, yaitu tipe data yang dapat menyimpan lebih dari satu nilai (multivalue)
170
sekarang kita akan bahas: list
171
list, adalah tipe data yang menyimpan beberapa data sekaligus
172
list mirip (hanya mirip, tapi tidak sama) dengan array pada php, C, C++, dan java
173
di dalam list, kita dapat menyimpan tipe data yang berbeda, bahkan kita dapat menyimpan list di dalam list
174
berikut adalah deklarasi list:
175
coba ketikan,
176
177
ketik: daftar = [54,36,'susi','susan']
178
179
variable daftar berisi 2 data numerik dan 2 data string
180
kita juga bisa membuat list kosong, berikut deklarasinya:
181
lalu ketikan,
182
183
ketik: daftar_kosong = []
184
185
perbedaan dengan array, kalau array hanya bisa menyimpan tipe data yang sama
186
untuk mengakses data dalam list, kita menggunakan index yang dimulai dari 0
187
lanjut ketik,
188
189
ketik: print daftar[0]
190
ketik: daftar[3]
191
192
nah, begitulah sistem index untuk mengakses data pada list
193
untuk mengganti / update data pada list juga digunakan index
194
ayo ketik lagi,
195
196
ketik: daftar[0] = 10
197
198
dalam array tidak ada matriks
199
kalau array multidimensi ada
200
untuk menghapus salah satu value dalam list sama dengan update
201
kalau misal data dihapus pada index 0 maka index urutannya ikut beruba tidak?
202
setelah delete salah satu element, coba kamu print
203
204
ketik: print daftar
205
206
ok, sekarang buat list baru lagi
207
ketikan lagi,
208
209
ketik: hewan = ['kucing', 'katak', 'komodo', 'ayam', 'macan', 'singa']
210
211
nah, berapa element dalam list hewan???
212
untuk mengetahuinya, coba ketikan
213
214
ketik: len(hewan)
215
216
sekarang kita akan mengiris list hewan, ketikan
217
218
ketik: hewan[2:4]
219
ketik: print hewan[2:4]
220
221
print hewan[2:4] << dari perintah ini, apa saja yang dicetak ke layar??
222
perintah print hewan[2:4] akan mencetak element list dimulai dari index 2 dan berhenti pada index ke 4
223
print hewan[2:4] << index 2 ikut dicetak, tetapi index 4 hingga seterusnya tidak dicetak
224
jadi formatnya adalah list[x:y]
225
dimana index ke-x dan seterusnya akan dicetak atau dioperasikan sesuai perintah, namun hanya sampai satu index sebelum index ke-y
226
begitulah kita melakukan pengirisan pada list, disebut slice
227
228
ok, ini ada web bagus buat belajar python: http://www.tutorialspoint.com/python/index.htm
229
bisa belajar mandiri dari situ, trus kalau ada kesulitan kita diskusi  :)
230
kalau soal basic, perbedaan python dengan bahasa lain adalah mengenai bagaimana python menangani data
231
yang saya tahu sih, ironpyton adalah python di lingkungan .net, sedang jython adalah python di lingkungan di Java
232
233
[2:4] itu batas kang
234
['kucing', 'katak', 'komodo', 'ayam', 'macan', 'singa']
235
    0         1        2        3        4        5     = index