Workshop Red Carpet Python Programming Class 1

  • Published on
    29-Oct-2015

  • View
    82

  • Download
    2

DESCRIPTION

Python Programing

Transcript

Workshop Red Carpet Python Programming Class 1Author:jimmyromanticdevil(Python Software Engineer from Void-Labs Developer Team)Apa itu python ??Python adalah sebuah bahasa pemrogramman yang mudah di pelajari dan ampuh. Python memiliki struktur data tingkat tinggi yang efisien dan pendekatan terhadap pemrogramman beroientasi object(OOP) yang sederhana namun efektif. sintak python yang elegan dan typing dinamika,bersama-sama dengan sifatnya yang terinterpreter ,menjadikan python bahasa yang ideal untuk pemrogramman scripting dan rapid application development dalam berbagai bidang dan hampir semua platfrom.

Python adalah salah satu bahasa pemrogramman tingkat tinggi yang bersifat intrepreter,interaktif,object oriented dan dapat beroprasi di hampir semua platfrom ,seperti keluarga UNIX,Mac,Windows ,OS/2,ataupun yang lain.sebagai bahasa tinggat tinggi python termasuk salah satu bahasa pemrogramman yang mudah di pelajari karena syntaks yang jelas dan elegan, di kombinasikan dengan penggunaan module-module siap pakai dan struktur data tingkat tinggi yang efisien.Asal Python ??Nama Python berasal dari salah satu acara komedi tahun 70-an yang disiarkan oleh BBC. Menurut pembuat bahasa Python, Guido van Rossum (http://www.python.org/~guido/), nama Python dipakai untuk memberikan suatu nama yang unik, pendek, dan sedikit misterius. Oleh karena itu Python sama sekali tidak berhubungan dengan salah satu reptil buas.

Python lahir pada tahun 1991 di ciptakan oleh Guido Van Rossum. sejak di luncurkan sebagai public domain pada tahun 1992 ,bahasa pemrogramman ini berkembang dengan dukungan komunitas pengguna dan pengembang seperti Python Softwar Activity,Internet newsgroup,comp.lang.python dan organisasi informal lainnya.

Python merupakan bahasa pemrogramman yang freeware tidak ada batasan dalam penyalinannya atau mendistribusikannya.Paket python terdiri atas source code,debugger dan profiler,fungsi sistem,GUI(antar muka pengguna grafis) dan basis datanya.Kegunaan PythonPython dapat digunaka untuk pemrogramman yang memerlukan dinamisme tinggi. Waktu pengembangan yang cepat, Aplikasi skala besar yang yang memerlukan orientasi object dan juga fleksibelitas yang tinggi . python bisa di gunakan untuk membuat banyak aplikasi ,mulai dari aplikasi perkantoran,aplikasi web,simulasi yang memerlukan tingkat tinggi ,Administrasi sistem operasi.

Kelebihan python adalah mudah di gunakan dan merupakan bahasa pemrogramman yang menawarkan jauh lebih banyak struktur dan dukungan pada program besar di bandingkan yang di milik oleh shell.di sisi lain,python juga menawarkan lebih banyak pengecekan kesalahan di bandingkan C dan merupakan bahasa pemrogramman tingkat tinggi yang built-in seperti di list dan dictionary yang fleksibel.yang memerlukan waktu berhari-hari untuk di implementasikan secara efisien dalam C.di karenakan type datanya yang lebih umum.,python dapat di aplikasikan ke ruang lingkup permasalahan yang jauh lebih luas di bandingkan awk dan bahkan perl.

Python memungkinkan kita untuk membagi-bagi program menjadi modul-modul yang dapat di gunakan kembali dalam program python lainnya.python mempunyai koleksi besar modul-modul standar yang dapat anda gunakan sebagai dasar bagi program atau sebagai contoh untuk awal mempeljari cara memprogram dengan python. terdapat juga modul build-in yang menyediakan Fasilitas,seperti I/O file,system call,socket,dan bahkan antarmka untuk GUI toolkit seperti tkinter.

Python adalah bahasa di interpretasi ,sehingga dapat menghemat cukup banyak waktu dalam proses pengembangan program karena tidak adanya tahap kompilasi dan linking .python juga memungkinkan kita untuk menulis program yang sangat ringkas dan terbaca. program yang di tuliskan dengan pytohn biasanya lebih singkat di banding perdananya dalam C/C++ karena beberapa alasan berikut: Tipe data tingkat tinggi memungkinkan kita untuk mengekspresikan operasi yang kompleks dengan hanya satu statement.. Pengelompokan statement di lakukukan dengan indentitas dan bukan dengan kurung-kurawal buka/tutup. Tidak di perlukan adanya pendeklarasian variabel ataupun argumen.

1.kelebihan : tidak ada tahap kompilasi dan penyambungan(link) keuntungan : kecepatan perubahan pada masa pembuatan sistem aplikasi 2.kelebihan : tidak ada deklarasi tipe data keuntungan : program menjadi lebih sederhana ,singkat dan lebih fleksibel. 3.kelebihan : management memori otomatis keuntungan : kumpulan sampah memori sehingga dapat menghindari pencatatan code. 4.kelebihan : tipe data dan operasi tinggkat tinggi. keuntungan : kecepatan pembuatan sistem aplikasi mengunakan tipe obyek yang telah ada. 5.kelebihan : pemrogramman berorientasi object. keuntungan : pengstrukturan kode dan pengunaaan kembali integrasi c++ 6.kelebihan : pelekatan dan perluasan dalam C keuntungan : integrasi C,sistem bahasa campuran 7.kelebihan : kelas modul , eksepsi keuntungan : dukungan pemrogramman skala besar secara modular. 8.kelebihan : pemuatan dinamis modul C. keuntungan : ekstensi yang sederhana serta berkas biner yang lebih kecil 9.kelebihan : pemuatan kembali secara dinamis modul python keuntungan : memodifikasi aplikasi tanpa menghentikannya 10.kelebihan :model object universal kelas 1 keuntungan : Fewer restriction dan spesial case rules 11.kelebihan : interaksi , dinamis alamiah keuntungna : incrimentas development and testing 12.kelebihan : akses hingga informasi intrepreter keuntungan : metaprogramming , introspetive object. 13.kelebihan : prtabilitas secara luas keuntungan : pemrogramman antar platform tanpa ports 14.kelebihan :kompilasi untuk portable kode byte keuntungna : kecepatan eksekusi , melindungi kode sumber 15.kelebihan : antarmuka terpasang untuk pelayanan keluar keuntungan : perangkat bantu ,GUI,persistence , database,dan lain sebagainya.

Secara jujur , python merupakan gabungan dari berbagai kelebihan yang di bawah dari bahasa pemrogramman lainnya,termausk element dari C,C++,Module-3,ABC,Icon Dan lainnya.Resource Python ??Python memilik sebuah website resmi ,yaitu http://www.python.org yang berisis segala sesuatu yang berhubungan dengannya,dan seharusnya menjadi tempat persinggahan pertama bagi para pythonia.

Untuk memeproleh source code dari interpreter python silah mengambilnya dari http://www.python.org sedangkan source code terbaru ya g berada dalam versi pengembangnya bisa di ambil dari http://python.sourceforge.net melalui anonymouse CVS.

Untuk memperoleh dokumentasi - dokumentasi python ,silahkan mengunjungi http://www.python.org/doc/ dokumentasi tersedia untuk di baca dan di download dalam berbagai format.

Berita terbaru , buku - buku python , mailing list , mirror download site , FAQ lengkap , ataupun masalah seputar lisensi , juga bisa anda peroleh dari website resmi python tersebut .silahkan membaca lampiran tentang python di internet untuk lebih lengkapnya.Operator PythonOperator digunakan untuk melakukan operasi pada satu atau lebih dari suatu nilai,nilai-nilai pada operasi di sebut operan , misalnya pada operasi - operasi penjumlahan 1+2 , nilai 1 dan 2 disebut operan. Operator aritmatika Operator aritmatika di gunakan untuk operasi - operasi dasar p-enjumlahan,pengurangan dan perkalian.Tabel operator sebagai berikut : OperasiOperatorContoh

Pemangkatan**5 ** 2 == 25

Perkalian*2 * 3 == 6

Pembagian/12/3 == 4

Penyimpanan dari Pembagian%14 % 3 == 2

Penjumlahan+1+2 == 3

Pengurangan-2-1 == 1

Operator bitwish operator bitwise di gunakan untuk operasi- operasi bilangan biner.Tabel operator sebagai berikut : OperatorOperasiContoh

a&band11(1011 binari) & 13(1101 binari) = 9(1001 binari)

albor11(1011 binari) & 13(1101 binari) = 15(1111 binari)

a^bXor11(1011 binari) & 13(1101 binari) = 6(010 binari)

~anot~11 hasilnya - 12 (desminal)

a bshift right11(1011 binari) >> 2 = 2(10 binari)

Operator Perbandingan operator perbandingan di gunakan pada struktur control seperti if,elif,dimana di lakukan perbandingan antara dua nilai .Tabel operator sebagai berikut : OperatorOperasiContoh

a == bsama denganTrue jika a sama dengan b

a!=btidak sama denganTrue jika a tidak sama dengan b

abtidak sama denganTrue jika a tidak sama dengan b

a blebih besar dariTrue jika a lebih besar dari b

a=blebih besar atau sama denganTrue jika a lebih besar atau sama dengan b

a in b True jika a sama dengan b

not inTrue jika a tidak sama dengan b ( tipe data sequeance )

isidentitas object

is notnegatif dari identitas object

Operator Logika OperatorOperasiContoh

a and bAndTrue jika a dan b bernilai True

a or borTrue jika salah satu atau keduanya a,b bernilai True.

a xor bXorTrue jika salah satu a atau b bernilai True . tetapi False jika keduanya bernilai true .

not anotTrue jika a bernilai tidak true

Tipe data numerikAda empat macam tipe data numerik yaitu Plain,Integer,long integer,floating point dan bilangan kompleks.float(bilangan real) jika di implementasikan dalam C adalah double,float pada python memiliki range data sebesar 2.14e-10, .001, 10, 1E3. Plain integer jika di implementasikan dalam C adalah tipe data long, dan pada python memilik range data sebesar 1234,12345678940L (atau l) , sedangkan Long integer tidak memiliki batas range data yang membatasi hanya resource pada sistem.TIpe data komplek, 1j,2+3j, 4+5j(di akhiri J atau j) .tanda + di gunakan untuk memisahkan bilangan real dan bilangan imajiner yang sebagian atau keduanya adala ( tipe data float) Operator Tipe data Numerik Sintaks ekspresi tidak jauh berbeda dari yang umum . Operator +,-,*,/ , bekerja pada hampir semua bahasa pemrogramamman lain(pascal atau C),tanda kurung dapat di gunakan untuk pengelompokkan abs(x) : bilangan absolut x int(x) : x di ubah ke bilangan integer long(x) : x di ubah ke bilangan long integer float(x) : c di ubah ke bilangan float x % y : penyimpanan dari x/y divmod(x,y) : tuple (x/y,x%y) x **y : x pangkat y [pow(x,y)]

Python merupakan bahasa yang dinamis dan bersifat interpreter. Source code tidak mendeklarasikan jenis variabel atau parameter atau method.Hal ini membuat kode menjadi pendek dan fleksibel.Cara terbaik untuk melihat bagaimana kode Python bekerja adalah dengan menjalankan interpreter Python dan tulis code-codenya di interpreter python. Jika Anda pernah memiliki pertanyaan seperti "apa yang terjadi jika saya menambahkan int ke daftar?".anda hanya cukup mengetikkan code di ke interpreter Python dan lihat apa yang terjadi. code Python tidak menyatakan jenis variabel - hanya menetapkan value dan jalankan. Python menimbulkan kesalahan runtime jika kode mencoba untuk membaca dari sebuah variabel yang belum diberi nilai. Seperti C + + dan Java, Python adalah sensitifcase sehingga "a" dan "A" adalah variabel yang berbeda. Akhir baris menandai akhir dari sebuah pernyataan, sehingga tidak seperti C + + dan Java, Python tidak memerlukan tanda titik koma di akhir setiap pernyataan. Anda dapat menyertakan titik koma pada akhir pernyataan Python (mungkin hanya karena kebiasaan), tapi itu bukan gaya terbaik. Komentar dimulai dengan '#' .

jimmyromanticdevil@jimmyromanticdevil:~$ python #jalankan interpreter python Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> a = 10 #set sebuah variabel di session interpreter >>> a # print/cetak value a 10 >>> a+2 12 >>> a = 'hi' #set kembali nilai a jadi 'hi' >>> a 'hi' >>> len(a) #panggil fungsi len di dalam string 2 >>> foo(a) #panggil fungsi lain yang tidak ada di dalam module . ini tidak akan menimbulkan error Traceback (most recent call last): File "", line 1, in NameError: name 'foo' is not defined >>> exit Use exit() or Ctrl-D (i.e. EOF) to exit ## type ctrl-d untuk exit (ctrl-z untuk Windows) >>>

File source Python menggunakan ekstensi ".py". Dengan program python di file hello.py, cara termudah untuk menjalankannya adalah dengan perintah shell "python hello.py jimmy" - loading dan jalankan kode di hello.py, lewat argumen baris perintah "jimmy". Berikut adalah program python hello.py sangat sederhana:

#!/usr/bin/python # import modules di sini -- sys adalah module yang paling standar import sys # set dan kumpulkan code kita di fungsi main() def main(): print 'Hello '+sys.argv[1]+' have a nice day !!' # Command line args ada di sys.argv[1], sys.argv[2] ..

# Standard boilerplate yang di terapkan python untuk memanggil fungsi main() untuk memulai program if __name__ == '__main__': main()

~/worksop/redcarpet$ python hello.py regina Hello regina have a nice day !! ~/worksop/redcarpet$ chmod +x hello.py #berikan hak akses executable dengan perintah chomd +x ~/worksop/redcarpet$ ./hello.py jimmy # ini untuk memberitahukan bahwa kita ingin menjalankan file hello.py yang terletak pdi direktory aktif. Hello jimmy have a nice day !!

Statement dalam file python, atau "modul", melakukan satu kali dalam setup-nya -pernyataan-pernyataan/statement dijalankan dari atas ke bawah pada saat pertama kali modul yang diimport, pengaturan variabel dan fungsi. Sebuah modul python dapat dijalankan secara langsung - seperti di atas "python hello.py jimmy". Bila file python dijalankan secara langsung, variabel "__name__" khusus diatur ke "__main__". Oleh karena itu, sangat harus untuk memiliki common boilerplate if __name__ ==... seperti yang ditunjukkan di atas main(). berfungsi bila modul dijalankan secara langsung, tetapi tidak ketika modul diimpor oleh beberapa modul lain.Fungsi PythonSebuah program yang besar biasanya disusun atas sejumlah fungsi. Sebuah fungsi berisi sejumlah pernyataan yang dikemas dengan sebuah nama. Selanjutnya nama ini dapat dipanggil beberapa kali dalam program dan tentu saja cara ini dapat mengurangi duplikasi kode. Alasan lain pembuatan fungsi adalah untuk membuat suatu program agar dapat dipecah menjadi sejumlah bagian yang dapat dikelola dengan lebih mudah oleh pemrogram daripada kalau hanya berupa satu bagian kode yang besar. Sebagai gambaran kita bisa saja membuat sejumlah fungsi, misalnya fungsi_a(), fungsi_b(), dan fungsi_c(). Selanjutnya kita bisa menyusun program dengan susunan sebagai berikut:

# Program utama fungsi_a() fungsi_b() fungsi_c()

Dengan cara seperti itu kita bisa berkonsentrasi untuk menuliskan terlebih dahulu fungsi_a() secara detail, jika penulisan fungsi tersebut sudah selesai kita bisa berkonsentrasi ke fungsi berikutnya. Begitu seterusnya sampai seluruh kode dituliskan. Pendefinisian fungsi pada python dan Format umum definisi suatu fungsi pada python adalah seperti berikut :

def nama_fungsi(arg1, arg2, ...): "string dokumentasi" #bersifat opsional [pernyataan_penyataan] [return nilai_balik ] ---------------Contoh Code----------------------------- >>> def maks(a, b): ... "Memperoleh bilangan terbesar dari a dan b" ... if a > b: ... return a ... else: ... return b ... >>>

Pada contoh diatas, fungsi dikatakan memiliki 2 buah parameter, masing-masing bernama a dan b. Hal paling pertama yang harus di lakukan dalam membuat function/fungsi adalah dengan "def" yaitu mendefinisikan fungsi dengan parameter di dalam tanda kurung dan kode indentasi. Baris pertama dari suatu fungsi dapat berupa string fungsi("inistring") dan juga dapat berupa angka/integer seperti pada contoh di atas maks(angka1,angka2) dan return a,return b yaitu mengembalikan nilai suatu fungsi. - Baris yg berisi "Memperoleh bilangan terbesar dari a dan b" digunakan untuk keperluan dokumentasi - Pernyataan if a > b: return a else: return b Digunakan untuk memperoleh bilangan terbesar. Kalau nilai a lebih besar daripada nilai b maka fungsi diakhiri melalui return dengan nilai balik berupa a. Untuk keadaan sebaliknya nilai balik berupa b. setelah pendefinisian fungsi dilakukan, kita bisa memanggil fungsi tersebut. Contoh: >>> maks(5, 7) 7 >>> maks(7, 5) 7 >>> Indentasi (indentation)Indentasi (penulisan teks yang menjorok ke kanan) memegang peranan penting dalam penulisan pernyataan pada Python, karena indentasi digunakan sebagai blok kode pada pernyataan seperti class,fungsi,if, while, dan for Salah satu fitur python yang tidak biasa di python adalah indentasi spasi dari sepotong kode mempengaruhi artinya. Sebuah blok logic dari pernyataan seperti membuat sebuah fungsi harus memiliki lekukan yang sama, diatur skema dalam lekukan parents fungsinya atau "if" atau apa pun itu. Jika salah satu baris dalam kelompok memiliki lekukan yang berbeda, itu ditandai sebagai kesalahan sintaks. Menggunakan spasi Python terasa sedikit aneh pada awalnya, tetapi itu logis.dan juga hindari mengunakan tab untuk file python, karena mereka sangat menyulitkan skema Indentation python. jadi gunakan spasi dalam editor anda untuk spasi bukan tab.VARIABELVariabel adalah suatu nama yang digunakan untuk menyimpan nilai, dan nilai yang ada di dalamnya bisa diubah. Variabel pada Python tidak perlu dideklarasikan. Pada bahasa seperti C, pendeklarasian digunakan untuk menentukan tipe data yang hendak disimpan kedalam variabel. Hal seperti ini tidak diperlukan pada Python. Kita bisa langsung memberikan suatu nilai pada variabel seperti yang telah kita praktekan sebelumnya. contoh: a = 5 x = "Python"

a dan x merupakan variabel. Sering dikatakan sebagai a diisi dengan nilai 5 dan x diisi dengan nilai "Python", walaupun sebenarnya yang terjadi adalah variabel a merujuk ke objek bilangan 5 atau variabel x merujuk ke objek string "Python"String PythonPython memiliki class built-in string bernama "str" dengan banyak fitur berguna (ada juga modul lama bernama "string" yang Anda tidak harus menggunakan).Literal string dapat di awali dan di tutup dengan tanda kutip ganda atau tunggal, meskipun tanda kutip tunggal yang lebih umum digunakan.dan juga backslash escapes bekerja dengan cara yang biasa dalam literal dikutip baik single dan double - misalnya (\n\'\").Sebuah string literal dapat dikutip ganda pada saat string mengandung tanda kutip tunggal(misalnya 'i don't know' pada code (print "i don't know") dan juga pada string yang dikutip tunggal dapat berisi tanda kutip ganda.misalnya string ('I "love" you' pada code print "i \"love\" you")) Sebuah string literal dapat span dengan multiple lines,namun harus ada backslash \ di akhir setiap baris untuk menghindari literal String baris baru di dalam tanda kutip tiga,. "" "" atau''', memungkinkan multiple line dalam teks.

string kosong : ' ' atau " " string dengan panjang satu : 'a' atau "a" string biasa : 'halo apa kabar' string panjang : """halo apa kabar semua """

String python bersifat "immutable" yang berarti mereka tidak dapat diubah setelah mereka dibuat. Karena string tidak dapat diubah, kita bisa membuat 'string baru'.Jadi misalnya ekspresi ('halo' 'disana') mengambil 2 string 'halo' dan 'disana' dan membuat sebuah string baru 'halodisana'.

Karakter dalam sebuah string dapat diakses menggunakan standar sintaks [], dan seperti Java dan C, Python pengindeksan menggunakan berbasis nol , jadi jika str 'halo' str [1] adalah 'e' dan str [0] adalah h. Jika indeks di luar batas untuk string, Python menimbulkan kesalahan. Gaya Python (seperti Perl) yang di mana dia akan berhenti jika tidak dapat memberitahu apa yang harus dilakukan, daripada membuat nilai menjadi default value.Sintaks "slice" juga bekerja untuk mengekstrak substring apapun dari sebuah string. ada juga fungsi len atau len(string) fungsi ini mengembalikan/memberitahukan panjang string. Pada sintaks[] dan len () fungsi benar-benar bekerja pada setiap sequence type string, lists, dll. Python mencoba untuk membuat operasi yang bekerja secara konsisten di berbagai jenis. jadi contoh jangan menggunakan "len" sebagai nama variabel untuk menghindari pemblokiran dari fungsi len (). Operator '' dapat menggabungkan dua string. Perhatikan pada kode di bawah ini bahwa variabel tidak mengunakan pra-deklarasi - hanya cukup menetapkan dan selesai.

a = 'hai' print a[0] output: h print a[1] output: a print a[2] output: i print len(a) output: 3 print a + ' cantik!!' output: hi cantik !! pi = 3.14 teks = 'value dari phi adalah ' + pi #ini tidak akan bekerja alias error text = 'value dari phi adalah ' + str(pi)#ini adalah code yang betul

Pada angka, operator standarnya adalah, + , /, * bekerja dengan cara biasa dan sama seperti bahasa programman lainnya.Tidak ada + + operator, tapi +=, -=, dll ada. Jika Anda ingin pembagian integer, hal yang benar harus di lakukan dengan menggunakan 2 garis miring - misalnya 6 // 5 adalah 1 atau 6/5 adalah 1

Pada "print" mencetak satu atau lebih item python diikuti oleh baris baru.dan ada juga yang di namakan string escapes \b , \t , \n , \a , \r dan juga print secara multiple line beberapa contoh print dengan python.

print 'saya' output:saya a = 'python' print 'saya suka ',python output: saya suka python print 'saya suka ' + python output: saya suka python dan a = "File:\\Beginner" a1 = "File:" "\\" "Beginner" a2 = a1 + \ "\\tst.py" print "ini adalah file path:", a print "ini adalah file path:", a1 print "ini adalah file path:", a2 a3 = "saya mempunyai 'single' quotes" print a3 a6 = "saya mempunyai\t\t\ttigakali\t\t\ttabs" a7 = "saya mempunyai \t\v\tvertical tab" a8 = "saya mempunyai \t\a\tBELL,bisa kah kau mendengarnya" print a6 print a7 print a8 a9 = "saya mempunyai BACK\bSPACE" a10 = "saya mempunyai BACKK\bSPACE dan sebuah \nNEWLINE dan \rLINEFEED" a11 = "saya mendapat FORM\fFEED!" print a9 print a10 print print a11 a12 = """ ini adalah multiple lines saya "mencintai" python karena python itu 'bagus' ini garis baru dari apa yang sy tulis ini juga """ print a12 maka akan menghasilkan output: ini adalah file path: File:\Beginner ini adalah file path: File:\Beginner ini adalah file path: File:\Beginner\tst.py saya mempunyai 'single' quotes saya mempunyaitigakalitabs saya mempunyai vertical tab saya mempunyai BELL,bisa kah kau mendengarnya saya mempunyai BACSPACE saya mempunyai BACKSPACE dan sebuah LINEFEEDdan

saya mendapat FORM FEED!

ini adalah multiple lines saya "mencintai" python karena python itu 'bagus' ini garis baru dari apa yang sy tulis

STRING METHODBerikut adalah beberapa method string yang paling umum. Sebuah method adalah seperti fungsi, tapi berjalan "pada" objek. Jika variabel s adalah string, maka kode s.lower() menjalankan method lower() pada objek string.contoh a = 'JIMMY' a.lower() maka outputnya adalah 'jimmy' .suatu objek adalah salah satu ide dasar yang membentuk Object Oriented Programming, OOP). Berikut adalah beberapa metode string yang paling umum: - s.lower(),s.upper () - mengembalikan versi huruf kecil atau huruf besar dari string - s.strip () - mengembalikan sebuah string dengan spasi dihapus dari awal dan akhir - s.isalpha () / s.isdigit () / s.isspace () - Tes jika semua karakter string berada di berbagai karakter class. - s.startswith ('other'), s.endswith ('other') - tes apakah string dimulai atau berakhir dengan string lain yang diberikan - s.find ('other') - mencari string lain yang diberikan (bukan reguler ekspresi) dalam s, dan mengembalikan indeks pertama di mana ia dimulai atau -1 jika tidak ditemukan - s.replace ('lama', 'baru') - mengembalikan sebuah string di mana semua kejadian dari 'lama' telah diganti atau di replace dengan 'baru' - s.split ('pembatas') - mengembalikan daftar substring dipisahkan oleh pembatas yang diberikan. Pembatas bukanlah ekspresi reguler, hanya sebuah teks. contoh 'aaa, bbb, ccc '.split(',')-> [' aaa ',' BBB ',' ccc ']. - s.join (list) - kebalikan dari split (), bergabung dengan elemen dalam daftar yang diberikan bersama-sama menggunakan string sebagai pembatas. misalnya '---'.join(['aaa', 'BBB', 'ccc']) -> aaa---BBB---ccc

STRING SLICES

Pada string python seperti halnya string pada C,dapat di akses pada indeksnya,tetapi TIDAK BISA di lakukan perubahan pada indeks tertentu. sebagai catatan bahwa indeks string pada python bisa berupa bilangan positif atau negatif , dengan aturan indeks negatif di hitung mundur dari kanan,mulai dari satu . karena di string python mendukung adanya irisan inilah yang di sebut 'string slices' yang di tandai dengan notasi s[awal:akhir] , di mana awal sebuah string adalah bilangan 0.jika kita menghilangkan nilai awal , maka string akan di iris dari paling awal sampai akhir-1.sebaliknya jika kita menghilangkan nilai akhir , maka stirng akan di iris dari awal sampai akhir.selain itu perlu di perhatikan bahwa nilai awal dan akhir bisa berupa nilai negatif.

>>> s = 'halo' >>> s[0:4] 'halo' >>> s[1:3] 'al' >>> s[1:] 'alo' >>> s[:3] 'hal'

Untuk nilai awal dan akhir yang berupa bialngan negatif ,cara termudah untuk mengingatnya adalah sebagai berikut:

- untuk nilai awal , nilai negatif kita anggap saja nilai positif,tetapi di hitung dari kanan mulai dari satu. - untuk nilai akhir , nilai negatif kita anggap saja nilai posotof,tetapi di hitung mundur dari kanan mulai dari satu. >>> s = 'halo' >>> s[-1:] 'o' >>> s[-3] 'h' >>> s[-3:-2] 'a'

Pada point-point di atas kita telah mengetahui bahwa string tidak bisa diubah pada indks tertentu,sesuai sifatnya yang immutable, kita juga telah mengetahui bahwa suatu string mendukung irisan dan dengan kemampuan ini kita akan mendapatkan suatu string yang seolah-olah di ubah pada indeks tertentu.

>>> s = 'halo' >>> s1 = 'H' + s[1:] >>> s1 'Halo'

String % Python memiliki ( printf ) - seperti fasilitas untuk memasukan sebuah string layaknya pada C/C++. Operator String % mengambil type format string pada printf contoh pada bagian kiri ( %d int, %s itu string, %f / %g itu floating point), dan nilai-nilai ada dalam tupel di sebelah kanan(tupel dibuat dari nilai-nilai yang dipisahkan oleh koma, biasanya dikelompokkan dalam kurung):

>>> text = "%s dan %s mempunyai %d sepeda motor yang di pake untuk %s motor" % ('asto','hardi',4,'balapan') >>> text 'asto dan hardi mempunyai 4 sepeda motor yang di pake untuk balapan motor' >>>

if,elif,else StatementPernyataan yang digunakan untuk pengambilan keputusan dalam python berupa if, Pernyataan tersebut memilik format lengkap sebagai berikut:

if kondisi_1: pernyataan_pernyataan_1 elif kondisi_2: pernyataan_pernyataan_2 elif kondisi_3: pernyataan_pernyataan_3 else kondisi_n: pernyataan_pernyataan-n if kondisi_1,elif kondisi_2,elif kondisi_3,else kondisi_n berupa suatu ekspresi yang menghasilkan nilai logika (benar atau salah) -------------------Contoh Code dijalankan pada modus interaktif---------------------------- >>> x = 5 >>> y = 100 >>> terbesar = x >>> if terbesar < y: ... terbesar = y ... >>> print "terbesar = %s \n" %terbesar terbesar = 100 >>>

Python tidak menggunakan {} untuk menyertakan blok kode untuk Penggunaan if/loop/fungsi dll. Sebaliknya, Python menggunakan titik dua (:) dan indentasi /spasi untuk pernyataan kelompok.Tes boolean untuk if tidak perlu dalam tanda kurung (perbedaan besar dari C++/Java), dan dapat memiliki *elif* dan *else*.Nilai apapun dapat digunakan sebagai if-test. pada "nol" nilai-nilai semua dihitung sebagai false:Tidak ada,0,string kosong,list kosong, dictionary kosong. Ada juga tipe Boolean dengan dua nilai: True dan False (jika dikonversi ke int, ini adalah 1 dan 0). Python memiliki operasi perbandingan yang biasa: ==, =, =. Tidak seperti Java dan C.Operator boolean bisa juga di eja seperti * and *, * or *, * not * (Python tidak menggunakan gaya C & & | |!).

matakuliah = 'matematika' # matematika,fisika nilai = 70 #100,80,50 if nilai >=100 or nilai>=80 : if matakuliah == 'matematika': print 'anda mendapat nilai A dalam mata kuliah matematika' elif matakuliah == 'fisika': print 'anda mendapat nilai A dalam mata kuliah Fisika' elif nilai >=70 and matakuliah=='matematika': print 'anda mendapat nilai B dalam mata kuliah matematika' elif nilai >=70 and matakuliah=='fisika': print 'anda mendapat nilai B dalam mata kuliah fisika' else: print 'nilai dan matakuliah tidak ada'

LISTPython memiliki built-in yang bagus yang bernama "List".python menyediakan satu tipe yang berfungsi sebagai kumpulan berbagai data dengan tipe yang berbeda,dan di sajikan dalam suatu urutan itu lah yang di sebut dengan List.List umum ditulis dalam tanda kurung siku [] dan antara elemen didalamnya ditulis pemisah berupa koma [1,3,5,7,9]. List bekerja sama dengan string - menggunakan len() fungsi dan tanda kurung siku [] untuk mengakses data, dengan elemen pertama pada indeks 0.list merupakan suatu bentuk struktur data yang bisa mengandung sejumlah elemen dengan tipe yang berbeda-beda dan memungkinkan penambahan atau pengurangan elemen-elemennya, contoh pengunaan list :

list kosong : L=[] list dengan tiga elemen dengan tipe bilangan : L = [1,2,3] list dengan tiga elemen dengan tipe berbeda beda : L = [1,'2',3+4j] list di dalam list : L = [1,2,[1,2]] nama = ['asto','hardi','regina'] print nama[0] outputnya : asto print nama[1] outputnya : hardi print nama[2] outputnya : regina nama[2] = 'ayhu wulandari' print nama[2] outputnya : ayhu wulandari print len(nama) outputnya : 3

Hal - hal yang perlu di perhatikan : - seperti halnya string , list bisa di akses melalui indeksnya. - kita juga bisa melakukan operasi irisan(slices) seperti halnya pada string. - list adalah object yang mutable , dalam pengertian dapat di ubah pada data indeks tertentu.

Contoh Code list pada Modus Interaktif elemen didalam list dapat diakses menggunakan indeks, contoh: >>> a = [1,3,5,7,9] >>> a[0] 1 >>> a[3] 7 >>>

mengubah data pada list, contoh: >>> daftar = ["A","b","C","d"] >>> daftar[2] = "zzz" >>> daftar ["A","b","zzz","d"]

untuk mengetahui jumlah elemen di dalam list kita dapat menggunakan fungsi len(), contoh: >>> d = [1,2,3,4,5,7] >>> len(d) 6 >>> d = [1,"A",["X","Y"]] >>> len(d) 3 >>>

untuk menghapus elemen dalam list kita bisa menggunakan fungsi del(), contoh: >>> d = [4,5,6,7,8] >>> del(d[2]) >>> d [4,5,7,8]

untuk menambah elemen dalam list kita bisa menggunakan fungsi append(), contoh: >>> d = [9,8,7,6] >>> d.append(7) >>> d [9,8,7,6,7] >>> anda juga dapat mengunakan method slice di list >>> list = ['a','b','c','d'] >>> list[1:-1] ['b', 'c'] >>> list[0:2] ['a', 'b'] >>> list ['a', 'b', 'c', 'd'] >>>

Metoda lain yang dapat beroperasi dalam struktur data list adalah sbb: count(x) - menghitung frekuensi x pada list append(x) - menambahkan x di akhir list

extend(l) - menambahkan elemen-elemen dalam list l ke akhir list index(x) - memperoleh index dari nilai x yang pertama kali dijumpai pada list pop([i]) - menghapus elemen yang terletak pada index i, dan memberikan nilai balik berupa nilai elemen tersebut.Jika tidak ada argumen, elemen yang dihapus adalah elemen yang paling belakang remove(x) - menghapus elemen x yang dijumpai pertama kali pada list reverse() - membalikkan urutan list sort([f]) - mengurutkan elemen-elemen dalam list. Jika fungsi f disertakan, pengurutan akan dilakukan dengan menggunakan fungsi tersebut

Mengenal fungsi lain yang dapat beroperasi dalam struktur list: range(), berguna untuk membentuk list dengan elemen bertipe integer yang bersifat urut dari suatu nilai ke suatu nilai. contoh:

>>> r = range(3,8) >>> r [3,4,5,6,7] >>> r = range(8) >>> r [0,1,2,3,4,5,6,7] >>> r = range(1,11,2) >>> r [1,3,5,7,9] >>> r = range(10,1,-1) >>> r [10,9,8,7,6,5,4,3,2] >>>

xrange(), berguna seperti range(). Namun fungsi ini hanya ditujukan untuk digunakan pada pernyataan for (tidak bermanfaat kalau digunakan diluar for) contoh:

>>> x = xrange(1,10,2) >>> for bil in x: ... print bil ... 1 3 5 7 9 >>>

FOR statement / FOR and IN Python *for* dan *in* adalah konstruksi yang sangat berguna, dan kegunaan pertama dari mereka bisa kita lihat pada penerapannya di List.pada saat mengunakan *for*- for var in list - ini adalah cara mudah untuk melihat setiap elemen dalam daftar (atau koleksi lainnya). Jangan menambah atau menghapus dari daftar selama iterasi. for [variable] in list]: [pernyataan_pernyataan_1] else: [pernyataan_pernyataan_2]

Bagian [pernyataan_pernyataan_1] akan dijalankan sebanyak nilai elemen dalam [list]. Dalam hal ini untuk setiap iterasi (1 putaran eksekusi pada [pernyataan_pernyataan_1], [variable] akan bernilai sama dengan salah satu elemen dalam [list]. Bagian [pernyataan-pernyataan_2] akan dijalankan terakhir. angka = [1, 2, 3, 4] for i in angka: print i, outputnya : 1 2 3 4

For *in* adalah cara mudah untuk menguji apakah suatu elemen ditampilkan dalam daftar (atau koleksi lainnya) - value in collection - tes jika nilai tersebut ada dalam koleksi, True or false. nama = ['jimmy', 'regina', 'ayhu'] if 'jimmy' in nama: print 'nama jimmy ada !!' else: print 'nama jimmy tdk ada' Konstruksi for/in sangat umum digunakan dalam kode Python dan bekerja pada tipe data selain list,jadi anda hanya harus menghafal sintaks mereka. Anda mungkin memiliki kebiasaan dari bahasa lain di mana Anda mulai secara manual iterasi di atas, di mana dengan Python Anda hanya harus mengunakan for/in.Anda juga dapat mengunakan for/in untuk bekerja pada string. String bertindak seperti list karakter, sehingga untuk ch in s:print ch mencetak semua karakter dalam sebuah string.Contoh lain for/in :

>>> for i in [2, 1, 4, 3]: ... print i ... 2 1 4 3 >>>

contoh lain mengunakan else: >>> for i in [2, 1, 4, 3]: ... print i ... else: ... print "akhir dari loop menggunakan for" ... 2 1 4 3 akhir dari loop menggunakan for >>>

While Statement/Pernyataan whilepernyataan while berguna untuk menangani pengulangan terhadap suatu proses. Misalnya kita bisa menggunakan while untuk menuliskan "Python" seratus kali, atau menampilkan bilangan ganjil dari 1 sampai dengan 1001. while-loop, dan *break* dan * continue * bekerja sebagai pernyataan dalam C + + dan Java.for/in loop memecahkan kasus umum dari iterasi setiap elemen dalam daftar, tetapi while-loop memberikan total kontrol atas angka-angka indeks.

Format penulisan While loop while [kondisi]: [pernyataan_pernyataan_1] else: [pernyataan_pernyataan_2] Berikut Contoh-Contoh While loop: >>> penambah = 1 >>> while penambah >>

contoh menggunakan else di While loop: >>> bil = 1 >>> while bil >>

Perulangan Tanpa Henti >>> while 1: ... print "saya mencintaimu" ... saya mencintaimu saya mencintaimu saya mencintaimu (diulang terus menerus)

Break statement/Pernyataan Breakpernyataan break berguna untuk mengakhiri suatu pengulangan pada pernyataan for maupun while. Selain itu pernyataan ini membuat bagian else (jika ada) pada for atau while tidak akan dijalankan.contoh:

>>> for i in [1, 2, 3, 4, 5]: ... if i == 3: ... break ... print i ... else: ... print "akhir for" ... 1 2 >>>

Membuat pengulangan for diakhiri ketika i bernilai sama dengan 3. Akibatnya nilai yang ditampilkan hanya sebatas pada 2. Selain itu terlihat juga bahwa bagian else tidak dijalankan. Contoh berikutnya adalah penggunaan break untuk menghentikan pencarian terhadap nama orang yang mengandung suatu penggalan nama tertentu pada daftar nama begitu sebuah nama ditemukan mengandung string tersebut.

#!/usr/bin/python

daftar_nama = [ "regina", "ayhu", "asto", "ardhe", "jimmy" ] dicari = raw_input("penggalan nama yang ingin dicari: ") index = 0 ketemu = False while index >> for i in [1, 2, 3, 4, 5]: ... if i == 3: ... continue ... print i ... else: ... print "akhir for" ... 1 2 4 5 akhir for >>> membuat print i (dalam hal ini i bernilai 3) tidak dieksekusi.

Pass statement/Pernyataan PassPython menyediakan pernyataan pass yang berarti "tidak melakukan apa-apa". pernyataan ini biasa diberikan pada pernyataan yang mengharuskan keeradaan suatu pernyataan, padahal kita sebenarnya tidak memerlukannya. Contoh:

>>> if 4 > 3: ... pass ... else: ... print "kondisi bernilai salah" ... >>>

Workshop Red Carpet Python Programming Contact NewsWorkshop Red Carpet Python Programming Class 2Author:jimmyromanticdevil(Python Software Engineer from Void-Labs Developer Team)DictionaryKey/value yang Efisien dari struktur data Python .hash table atau disebut "dict"/"dictionary". berfungsi seperti layaknya kamus. Di dalam kamus kita mencari suatu arti berdasarkan kata kunci. Di dalam dictionary kita juga menggunakan kunci untuk mendapatkan suatu nilai . Isi dict dapat ditulis sebagai serangkaian kunci: pasangan nilai dalam kurung kurawal {} .misalnya dict = {key1: value1, key2: value2, ... }.

Untuk mencari atau mengatur nilai dalam dict menggunakan tanda kurung siku, misalnya dict ['foo'] mencari nilai untuk value 'foo' di dalam dictionary. String, angka, dan tupel bekerja sebagai kata kunci, dan jenis nilai apapun dapat menjadi value.jika kita Mencari sebuah nilai yang tidak ada dalam dict maka python akan menampilkan KeyError .Dalam kehidupan sehari-hari kita sering menemukan kasus di mana kita harus mencari data berdasarkan suatu kata kunci.seperti halnya mencari persamaan suatu kata di kamus.kita mungkin akan mencari informasi seseorang di dalam database berdasarkan nama recordnya.untuk itu python meyediakan suatu tipe yang berupa kumpulan data,sama seperti halnya list dan tuple .tetapi di sajikan dalam bentuk yang tidak berurutan.tipe ini mungkin sangat berguna bagi anda .Contoh pengunaan disctionary:

dictionary kosong : d = {} dictionary dengan satu item : d = { 'bahasa' : 'python'} dictionary dengan dua item : d = { 1: 'halo','bahasa' : 'python'} dictionary di dalam dictionary : d = {'bahasa':'python','penemu':'Guido Van Rossum'} contoh code : ## pada saat membuat sebuah dictionary dapat di awali dengan dictionary kosong {} ## dan store/masukan data ke dalam dictionary bisa di lakukan seperti ini: ## dict[key] = value-untuk-keynya print '------1-------' dict = {} dict['a'] = 'alpha' dict['b'] = 'bravo' dict['c'] = 'charly' print dict ## {'a': 'alpha', 'c': 'charly', 'b': 'bravo'} print '-------------'

print '------2------' print dict['a'] ## value adalah 'alpha' dict['a'] = 6 ## masukan key/value baru ke dalam dictionary dict['d'] = 'ini data baru' ## print dict['d'] ## valuenya adalah 'ini data baru'

print '------3------' print dict['a'] ## value adalah 6 print dict['b'] ## value adalah bravo print dict['c'] ## value adalah charly print dict['d'] ## value adalah ini data baru

print '------4-------' if 'a' in dict:print 'a ada dalam dict' ## check apakah a ada dalam dict ### print dict['z'] ## akan terjadi KeyError karena z tidak ada dalam key/dict if 'z' in dict: print dict['z'] ## cara menghindari terjadinya KeyError print dict.get('z') ## None (di samping KeyError)

Hal-Hal yang perlu di perhatikan : - dictionary di akses dengan key atau kata kunci dan bukannya dengan indeks berupa bilangan, walaupun kunci di dalam dictionary bisa berupa bilangan.

Format dictionary : variabel = {kunci: nilai, kunci: nilai, ...} contoh: >>> d = {'a':'alpha'} >>> d['a'] 'alpha' - untuk menambah data baru,anda bisa langsung melakukan pemberian nilai key yang belum pernah ada . - pada dictionary ,urutan tidak di perhatikan . python bahkan melakukan pemberian posisi secara acak untuk mempercepat pencarian. - seperti halnya list,dictionary adalah tipe yang mutable sehingga kita bisa mengubah nilai sebuah key dalam dictionary. - sebagai tipe yang mutable , dictionary memiliki panjang yang bisa berubah - ubah. - dictionary adalah sebuah pemetaan, fungsi seperti penggabungan dan irisan tidak akan berlaku. - pada berbagai bahasa , dictionary di sebua juga associative array,atau has table.secara teknis , dictionary adalah sebuah table refrensi object yang tidak terurut(unordered talbe of object refrence) contoh lain dictionary: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta {'korea',: 'saranghae', 'jepang': 'aishiteru'} >>>

memperoleh nilai melalui kunci: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta['jepang'] 'aishiteru' >>> ucapan_cinta['makassar'] Traceback (most recent call last): File "", line 1, in ? KeyError: 'makassar' >>>

mengetahui jumlah kunci kita bisa menggunakan len(), contoh: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> len(ucapan_cinta) 2 >>>

untuk memperoleh daftar kunci kita bisa menggunakan metoda keys(), contoh: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta.keys() ['korea', 'jepang'] >>>

untuk memperoleh daftar nilai kita bisa menggunakan metoda values(), contoh: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta.values() ['saranghae', 'aishiteru'] >>>

untuk memperoleh pasangan kunci dan nilai kita bisa menggunakan metoda items(), contoh: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta.items() [('korea', 'saranghae'), ('jepang', 'aishiteru')] >>>

untuk memeriksa keberadaan suatu kunci kita bisa menggunakan fungsi has_key(), contoh: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta.has_key('jepang') False >>> ucapan_cinta.has_key('korea') True >>>

cara lain memperoleh nilai melalui fungsi get(), contoh: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta.get('jepang') >>> ucapan_cinta.get('korea') 'saranghae' >>> mengubah data menggunakan fungsi update(), contoh: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta.update({"jepang":"ayangayangku"}) >>> ucapan_cinta {'korea': 'saranghae', 'jepang': 'ayangayangku'} >>>

menambah data menggunakan fungsi update(), contoh: Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta.update({"makassar":"kusayangki"}) >>> ucapan_cinta {'korea': 'saranghae', 'jepang': 'aishiteru', 'makassar': 'kusayangki'} >>>

menyalin dictionary dengan menggunakan fungsi copy(), perhatikan 2 contoh dibawah ini: x = ucapan_cinta Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> x = ucapan_cinta >>> ucapan_cinta["makassar"] = "kusayangki" >>> ucapan_cinta {'korea': 'saranghae', 'jepang': 'aishiteru', 'makassar': 'kusayangki'} >>> x {'korea': 'saranghae', 'jepang': 'aishiteru', 'makassar': 'kusayangki'} >>>

Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> x = ucapan_cinta.copy() >>> ucapan_cinta["makassar"] = "kusayangki" >>> ucapan_cinta {'korea': 'saranghae', 'jepang': 'aishiteru', 'makassar': 'kusayangki'} >>> x {'korea': 'saranghae', 'jepang': 'aishiteru'} >>>

menghapus data dengan del() Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> del(ucapan_cinta['korea']) >>> ucapan_cinta {'jepang': 'aishiteru'} >>> menghapus semua data dengan clear() Code: >>> ucapan_cinta = {"korea": "saranghae", "jepang": "aishiteru"} >>> ucapan_cinta.clear() >>> ucapan_cinta {} >>>

TUPLEMasih berhubungan dengan tipe yang bisa mnenampung koleksi berbagai tipe data,kita kaan berkenalan dengan tuple yang sangat banyak persamaannya dengan list.di sini anda akan di ajak untuk melihat perbandingan antara list dan tubple dan menerapkannya ke dalam program yang anda buat.contoh pengunaan tuple:

Format Tuple : variable = (elemen1, elemen2)

Tuple kosong : t = () Tuple dengan satu elemen : t = (1,) Tuple dengan tiga elemen dengan tipe bilangan : t = (1,2,3) , t = 1,2,3 Tuple dengan tiga elemen dengan tipe berbea- beda : t = ('1',2,3+4j) Tuple di dalam tupple : t = (1,2(1,2)) hal hal yang perlu di perhatikan: - berbeda halnya dengan list yang di batasi kurung siku,tuple di batasi dengan tanda kurung biasa. - Tuple adalah object yang immutable . dengan kata lain, kita tidak bisa mengubah sebagian data tuple melalui indeksnya. hal ini serupa dengan string dan berbeda dengan list. - Tuple memiliki panjang yang tetap dan tidak bisa di ubah ubah tanpa membuat tuple baru - Untuk tuple dengna satu elemen.perhatikan bahwa kita akan menambahkan sebuah (,) setelah item pertama dan sebelum tanda kurung tutup. - Tuple juga mendukung indeks dan irisan. - Salah satu alasan untuk mengunakan tuple, dan tidak mengunakan list adalah karena tuple menyediakan integrasi yang lebih baik karena tuple adalah object yang immutable.beberapa built-in memerlukan tuple dan bukan list.

Contoh lain tuple: Code: t = (12345, "jimmykeren")

fungsi2 untuk pengolahan tuple hampir sama dengan list dan dictionary yang sudah saya bahas sebelumnya. Seperti mengetahui jumlah elemen dengan menggunakan len() contoh: Code: >>> t = (1, 4, 2, 6, 7) >>> len(t) 5 >>>

mengakses elemen tuple indeks atau irisan dapat dikenakan pada tuple untuk memperoleh sebuah elemen atau beberapa elemen didalamnya. contoh: Code: >>> t = (1, 2, 3, 4, 5) >>> t[0] 1 >>> t[1] 2 >>> t[2:4] (3, 4) >>>

Operator pada tuple semua operator yang diterapkan pada list dapat digunakan pada tuple, perhatikan contoh dibawah: Code: >>> t = (1, 2, 3, 4, 5) >>> t + (7, 8) (1, 2, 3, 4, 5, 7, 8) >>> (1, 2) * 3 (1, 2, 1, 2, 1, 2) >>>

Socket PythonUntuk pembuatan aplikasi jaringan, Python menyediakan modul-modul untuk mempermudah para pembuat program, sehingga para pemrogram lebih memfokuskan diri pada cara kerja dari programnya tersebut dan yang akan dibahas adalah penggunaan modul socket.Socket adalah teknologi dasar untuk perangkat lunak pemrograman untuk berkomunikasi pada TCP / IP jaringan. soket A memberikan titik akhir komunikasi dua arah untuk mengirim dan menerima data dengan soket yang lain. koneksi Socket biasanya berjalan antara dua komputer yang berbeda pada LAN atau di Internet, tetapi mereka juga dapat digunakan untuk komunikasi interprocess pada satu komputer.Penggunaan socket programming memungkinkan adanya komunikasi antara client dan server. Salah satu contoh sederhana penggunaan socket programming adalah pembuatan program untuk chatting. Program tersebut sebenarnya merupakan bentuk aplikasi berupa komunikasi antara client dan server. Ketika seorang user (client) melakukan koneksi ke chat server, program akan membuka koneksi ke port yang diberikan, sehingga server perlu membuka socket pada port tersebut dan "mendengarkan" koneksi yang datang. Socket sendiri merupakan gabungan antara host-adress dan port adress. Dalam hal ini socket digunakan untuk komunikasi antara client dan server.

Soket merupakan fasilitas IPC (Inter Proses Communication) untuk aplikasi jaringan. Agar suatu soket dapat berkomunikasi dengan soket lainnyanya, maka soket butuh diberi suatu alamat unik sebagai identifikasi. Alamat soket terdiri atas Alamat IP dan Nomer Port. Contoh alamat soket adalah 192.168.29.30: 3000, dimana nomer 3000 adalah nomer portnya. Alamat IP dapat menggunakan alamat Jaringan Lokal (LAN) maupun alamat internet. Jadi soket dapat digunakan untuk IPC pada LAN maupun Internet.Penggambaran cara bagaimana client dan server berkomunikasi akan saya berikan melalui contoh script yang sangat sederhana berikut:

--------------------ServerCode---------------------------------------- #Simple TCP Socket import socket import *

HOST = '' PORT = 23456 ADDR = (HOST, PORT) ssock = socket(AF_INET, SOCK_STREAM) #Buat socket INET dengan protocol TCP ssock.bind(ADDR)# bind addres ke server port ssock.listen(5)# mendengarkan koneksi while True: print 'Menunggu Koneksi dari client' c,addr=ssock.accept()## # Menerima koneksi yang datang # Untuk menerima data yang dikirim dari server digunakan method recv(bufsize) untuk socket stream dan recvfrom(bufsize) data = c.recv(1024) #Statement di atas akan mengembalikan data yang dikirimkan oleh client. print data print 'Mendapatkan koneksi dari', addr c.send('Makasih atas koneksinya Client')# Setelah koneksi diterima, server mengirim pesan c.close() ----------------------------------------------------------------------- --------------------Client Code---------------------------------------- from socket import * HOST = '' PORT = 23456 ADDR = (HOST,PORT) csock = socket(AF_INET, SOCK_STREAM)# membuat sebuah TCP socket csock.connect(ADDR) # connect ke server pada port csock.send('halo server!')#kirim pesan ke server data = csock.recv(1024)#terima pesan dari server print data#tampilkan pesan dari sever csock.close() #close socket -----------------------------------------------------------------------

Simple Code untuk Chat Client dan serverPenggunaan socket programming memungkinkan adanya komunikasi antara client dan server.Salah satu contoh sederhana penggunaan socket programming adalah pembuatan program untuk chatting.Program tersebut sebenarnya merupakan bentuk aplikasi berupa komunikasi antara client dan server.Ketika seorang user(client) melakukan koneksi ke chat server,program akan membuka koneksi ke port yang diberikan, sehingga server perlu membuka socket pada port tersebut dan mendengarkan koneksi yang datang.Socket sendiri merupakan gabungan antara host-adress dan port adress.Dalam hal ini socket digunakan untuk komunikasi antara client dan server.Penggambaran cara bagaimana client dan server berkomunikasi akan saya berikan melalui contoh script yang sangat sederhana berikut::

----------------------------Server Code--------------------------------- from socket import * from time import time, ctime

ipaddres = '' port = 23456 addres = (ipaddres, port)

tcpsocket = socket(AF_INET, SOCK_STREAM) tcpsocket.bind(addres) tcpsocket.listen(5)

while 1: print "Menunggu koneksi dari client" tcpcli, addr = tcpsocket.accept() print "connected from:", addr while 1: data = tcpcli.recv(1024) if not data : break print data data1 = raw_input(">>") if data1 == "q;t": break tcpcli.send(data1) tcpcli.close() tcpsocket.close() ------------------------------------------------------------------------ ------------------------------Client Code------------------------------- from socket import * ipaddreses = '' port = 23456 addres = (ipaddreses, port) tcpsocket = socket(AF_INET, SOCK_STREAM) tcpsocket.connect(addres) while 1: data = raw_input("msg>>") if not data : break tcpsocket.send(data) data = tcpsocket.recv(1024) if not data: break print data tcpsocket.close() -------------------------------------------------------------------------

(AF_INET, SOCK_STREAM) digunakan untuk memilih protokol jaringan yang digunakan.Protokol yang sering digunakan dalam internet adalah TCP dan UDP.Dalam hal ini saya memilih menggunakan TCP (Transmission Control Protocol).Bisa juga digunakan protokol UDP (User Datagram Prototocol).TCP bersifat connection oriented dan relieable, sedangkan UDP bersifat connectionless.TCP mempunyai kemampuan untuk melakukan verifikasi dan mengirimkan ulang data yang hilang. ipaddreses = '' .ipaddreses yang digunakan kali ini adalah ipaddreses local (localhost).Jika program ini dijalankan di internet, ipaddreses ini bisa juga diisi dengan nama domain ataupun alamat IPnya.Dalam lingkup lokal komputer kita, selain menggunakan IP tersebut(127.0.0.1), bisa juga diisi dengan 'localhost'. port = 23456.Sebenarnya alamat port ini bisa berupa nomor, misalnya 2323,7551,7552,dsb atau bisa juga berupa symbolic service name. Pada program server, cara untuk membentuk socket meliputi protokol,peer port dsb dilakukan dengan cara dan alamat yang sama.Listen digunakan untuk "mendengarkan" koneksi yang datang ke port tersebut. Client akan melakukan looping terus menerus selama server masih aktif mendengarkan koneksi dan akan berhenti ketika data tidak ada 'if not data : break' atau program di cancel secara paksa .Ketika user mengetikkan input string, maka akan dibaca sebagai pesan dan kemudian dikirimkan ke server.Kemudian server yang menerima masukan itu mengirimkannya kembali ke client, ketika data tidak ada 'if not data : break' atau program di cancel secara paksa, maka looping di server untuk mengirimkan data ke client juga akan berhenti.

Ok mungkin cukup untuk Module class 2 pada Workshop Red Carpet Python Programming.Sekaligus penutup Workshop Red carpet Python Programming ..selanjutnya...Happy Research & happy coding... kl ada salah kata atau kurang lebihnya mohon di maafkan Happy Coding dan Happy Research ... salam hangat Dari Penulis sekaligus pemateri 'jimmyromanticdevil aka jimmydeadc0de(void-labs) or real name Rahmat Ramadhan irianto' beserta Para Team Advence System Solution sebagai Panitia Workshop ..Good Luck untuk semua...

Recommended

View more >