Abstrak: Cara menjalankan skrip Python, variabel dan operator, perintah kendali seleksi dan perulangan.

dokumen-dokumen yang mirip
FUNGSI PADA PYTHON. def <nama_fungsi>(arg1, arg2, arg3,,argn) : <statemen-statemen>

Pertemuan3 Fungsi pada Python

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON

Pertemuan2 Percabangan & Perulangan pada Python

PERCABANGAN PADA PYTHON

STRUKTUR PEMROGRAMAN PYTHON

>>> type ("5") <'type string'> >>> a= Belajar Python >>> type a <'type string'> AP2B Dini Triasanti Struktur Pemrograman Python (Bagian 2)

MENGAPA PYTHON++? SETUP

1. Standard Library Function adalah fungsi-fungsi yang telah disediakan oleh Interpreter Python dalam file-file atau librarynya.

PERULANGAN PADA PYTHON

Chapter 1 KONSEP DASAR C

MODUL PRAKTIKUM DASAR PEMROGRAMAN DENGAN BAHASA PYTHON

PHP mendukung komentar yang digunakan pada C, C++ dan Shell Unix. Sebagai contoh:

Mengkompilasi Source Code C++ dengan g++.

1 Pengenalan IDE Python

PRAKTIKUM SISTEM OPERASI TEKNIK INFORMATIKA

Modul Praktikum Algoritma dan Pemrograman II

Dasar-dasar C/C++ Ekohariadi FT Unesa

KOTLIN, SIAPA SUKA. Dasar. P. Tamami BPPKAD Kab. Brebes

Web Programming. Pengenalan PHP

Bahasa C-M6 By Jamilah, Skom 1

SUMBER BELAJAR PENUNJANG PLPG

Pengenalan Script. Definisi HTML

Achmad Solichin.

Brigida Arie Minartiningtyas, M.Kom

C / C++ / JAVA / C# / Python?

Subrutin atau Fungsi. Praktikum 9 A. T U J U A N B. DASAR TEORI

MODUL 3 Tipe Data, Variabel Dan Konstanta Pada Php

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

P - 3 Bab 2 : Pengantar Pemrograman C

Laporan Praktikum Modul 9 Sistem Operasi

BAB 5. Kondisional Perulangan. Materi. Pengenalan Perulangan Perulangan For Perulangan While Perulangan dengan menggunakan Kondisional If

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PENGENALAN PHP DASAR

BAHASA PEMROGRAMAN C

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2

MODUL 3 DASAR-DASAR PHP

PEMROGRAMAN TERSTRUKTUR MENGGUNAKAN MATLAB

Bab 2. Dasar-Dasar Pemrograman C

BAB 1 KONSEP DASAR BAHASA C

BAB I SEKILAS TENTANG C

JAVA BASIC PROGRAMMING Joobshet

PHP Programing. M.M. Ubaidillah. Dasar-dasar PHP. merupakan bahasa pemrograman berbasis web yang memiliki kemampuan untuk memproses data dinamis.

Dasar Pemrograman Java

Writting Procedure and Function

DASAR PEMROGAMAN BAHASA PHYTON Ardiansyah

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

Algoritma dan Pemrograman

1.1 Mengenal Visual Basic (VB) 1.2 Mengenal Integrated Development Environment (IDE) VB 6

Bab 2 Editor vi 9. BAB 2 EDITOR vi TUJUAN PRAKTIKUM

MODUL VII STORED PROCEDURE

BAB IV PENGULANGAN PROSES

BAB 4 PENGENALAN BAHASA C

Pengenalan Pascal/DevPascal

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

MODUL PRAKTIKUM ALGORITMA & BAHASA PEMROGRAMAN I (BASIC) Dosen Pengasuh : Suroto, S.Kom, M.Ak

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

UNIVERSITAS SAM RATULANGI MANADO FAKULTAS TEKNIK, JURUSAN TEKNIK ELEKTRO Program Studi S-1 Teknik Informatika. Data & Ekspresi

Pemrograman PHP7 untuk Pemula

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

ELEMEN DASAR PROGRAM FORTRAN. Kuliah ke-2

PEMROGRAMAN BAHASA C BAB II 2.1 STRUKTUR BAHASA C

Teori Algoritma. Struktur Algoritma

BAB I PENGENALAN BAHASA C

PENGERTIAN VARIABEL, KONSTANTA DAN TIPE DATA

DASAR PHP. Oleh : Devie Rosa Anamisa

P3 Pengantar Pemrograman C

Algoritma dan Struktur Data

PENGENALAN BAHASA C. Praktikum 3

PENGENALAN PROGRAM C++

PHP (HYPERTEXT PREPROCESSOR)

M.Octaviano Pratama

Modul Praktikum Ke-2

MODUL DUA VARIABEL DAN TIPE VARIABEL

Algoritma Pemrograman 2B (Pemrograman C++)

Badiyanto, S.Kom., M.Kom. PBO java

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Fungsi : Dasar Fungsi

OPERASI PERNYATAAN KONDISI

Tipe Data, Variabel, Input/Output

BAB 5 PERULANGAN DAN ARRAY

4.1. Pernyataan Kondisi dan Perulangan Pernyataan kondisi digunakan apabila kita ingin membandingkan atau mengetahui nilai suatu objek.

Laporan Praktikum 14 (3) ( ) Metode Komputasi Matematika. Catatan Video, Bahan Relevan dan Buku Syaifudin. Syarif Abdullah (G )

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Algoritma Pemrograman 2B (Pemrograman C++)

PHP (1) Topik. Intro. Pemrograman Internet. Sekilas tentang PHP 06/11/2012

PENGGUNAAN DATA DAN VARIABEL

Krisna D. Octovhiana. 1.1 Mengenal Data dan Variabel.

2.3 Algoritma Tidak Berhubungan dengan Bahasa Pemrograman Tertentu

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

Pertemuan 2. Editor vi

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

Zaid Romegar Mair Lisensi Dokumen: Gambaran umum : Break statement

Program. Instruksi-instruksi yang diberikan kepada komputer agar dapat melaksanakan tugas-tugas tertentu

MODUL 5 JAVA SCRIPT. Sub : PENGENALAN

Transkripsi:

Dasar-Dasar Python Tujuan: Memperkenalkan Python dan sintaks dasarnya. Abstrak: Cara menjalankan skrip Python, variabel dan operator, perintah kendali seleksi dan perulangan. Memulai Python Menggunakan Mode Interaktif Anda dapat bekerja dengan Python secara interaktif dengan interpreter Python. Dalam mode interaktif kita dapat bekerja seperti saat kita bekerja dalam prompt sistem operasi. Interpreter Python bisa Anda aktifkan dengan memberi perintah pada prompt sistem operasi: $ python Interpreter Python akan menampilkan Python 1.5.2 (#1, Feb 1 2000, 16:32:16) [GCC egcs-2.91.66 19990314 +/Linux (egcs-on linux-i386 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> Tiga tanda lebih besar (>>>) adalah prompt utama Python. Untuk perintah yang masih berlanjut Python akan memberikan respon dengan tanda tiga titik (...). >>> if 1:... Untuk keluar dari prompt Python menuju prompt sistem operasi Anda bisa menekan tombol yang menghasilkan karakter akhir file, Ctrl-Z (di DOS/Windows) atau Ctrl-D (di Unix). Mode interaktif sangat bermanfaat untuk mencoba perintah-perintah Python sebelum membuat skrip. Dalam tulisan ini kita akan lebih banyak bekerja menggunakan skrip. Menggunakan Skrip Kalau Anda memakai mode interaktif saat membuat program, Anda tidak bisa menyimpannya ke dalam media penyimpanan. Untuk mengatasi ini Anda bisa membuat skrip dengan editor teks yang menghasilkan teks murni, misalnya Notepad atau vi. Aktifkan editor teks Anda dan ketikkan baris-baris perintah ini:

#! /usr/bin/python "Belajar Python..." # akhir file Beri nama skrip ini belajar.py. Skrip ini hanya akan mencetak string Belajar Python... ke layar. Untuk menjalankan skrip ini kita hanya perlu mengetikkan: $ python belajar.py pada prompt sistem operasi. Baris pertama adalah khas untuk lingkungan Unix/Linux, yaitu diberikan jika skrip ini ingin dijalankan tanpa mengetikkan interpreter yang akan menerjemahkan skrip yang bersangkutan, tentu saja setelah mengubah hak akses dari skrip tersebut menjadi executable. Baris ini tidak akan berpengaruh di sistem operasi Windows. Di contohcontoh skrip selanjutnya baris pertama akan dihapuskan untuk menghemat tempat. Baris kedua berfungsi untuk mencetak string yang diapit tanda petik. Baris ketiga adalah keterangan, atau komentar, yang tidak akan mempengaruhi jalannya program. Keterangan selalu diawali dengan tanda #. Jika interpreter menemukan tanda ini maka mulai tanda ini sampai akhir baris akan dianggap sebagai keterangan. Variabel dan Operator Membuat variabel dalam Python sangat sederhana. Anda hanya perlu mengisikan nilai pada sebuah variabel dengan tipe data yang Anda inginkan. Operator pengisian adalah tanda sama-dengan (=). Variabel dalam Python sangat dinamis. Artinya: variabel tidak perlu dideklarasikan mempunyai jenis data tertentu; jenis data variabel dapat berubah saat program berjalan. Bilangan Python mengenal beberapa jenis bilangan yaitu bilangan bulat (integer), bilangan pecahan (floating point), dan bilangan kompleks. Bilangan kompleks bisa dituliskan dengan format (real+imajinerj) atau menggunakan fungsi complex(real, imajiner). Untuk jenis data bilangan yang lain tanpa dijelaskan sudah bisa dimengerti dari contoh berikut: variabel_integer = 10 variabel_floating = 24.5 variabel_kompleks = 3+4j variabel_integer

variabel_floating variabel_kompleks Operator matematik berfungsi dengan normal di Python seperti dalam bahasa pemrograman yang lain. Ada beberapa catatan yang harus diperhatikan. Operasi pengisian beberapa variabel dengan nilai yang sama dapat dilakukan sekali jalan. Tanda () dipakai untuk mengelompokkan operasi yang harus dilakukan terlebih dahulu. Pembagian bilangan integer dengan bilangan integer akan dibulatkan ke bawah. Bilangan integer akan dikonversikan menjadi bilangan floating point dalam operasi yang melibatkan bilangan integer dan bilangan floating point. Kita tidak dapat mengkonversikan bilangan kompleks ke bilangan real (floating point atau integer); hanya bilangan mutlaknya yang bisa kita dapatkan. Contoh-contoh berikut akan memberikan gambaran pernyataan di atas. a = b = c = d = 0 'a=>',a,'b=>',b,'c=>',c,'d=>',d x = 30-10 / 2 'x=>',x y = (30-10) / 2 'y=>',y '10 / 3 =',10 / 3 '10 / 3.5 =',10 / 3.5 '8 * 12.4 =',8 * 12.4 'abs(1+9j) =',abs(1+9j) String String dapat ditulis dengan tiga cara: 1. diapit tanda petik tunggal; 2. diapit tanda petik ganda; 3. diapit tiga tanda petik tunggal atau tiga tanda petik ganda. Cara yang dipakai harus disesuaikan dengan kebutuhan. Perhatikan contoh berikut: 'dibatasi tanda petik tunggal' "dibatasi tanda petik ganda" '"petik ganda" dalam petik tunggal' "'petik tunggal' dalam petik ganda" '\'petik tunggal\' dalam petik tunggal harus menggunakan karakter

+escape' "begitu juga \"petik ganda\" dalam petik ganda" Dari contoh ini bisa dilihat bahwa kita tidak dapat mencetak tanda petik tunggal dalam string yang diapit dengan tanda petik tunggal juga. Begitu pula untuk tanda petik ganda. Tetapi kita dapat memakai apa yang disebut dengan karakter escape. Tanda ini memberitahukan pada interpreter bahwa karakter yang mengikutinya tidak diartikan sebagaimana lazimnya. Dalam contoh ini, tanda petik tidak diartikan sebagai batas string jika didahului dengan karakter escape. Perhatikan juga contoh berikut: 'Baris kalimat ini akan nampak terlalu panjang jika \ dituliskan memanjang secara lengkap.' 'karakter escape diperlukan jika ingin mencetak dibaris\n baru' """String terformat dapat dicetak dengan diapit "tiga" tanda petik tunggal maupun 'tiga' tanda petik ganda. Dengan tanda ini string akan dicetak seperti saat ia ditulis.""" Sehubungan dengan jenis data string ini terdapat operator khusus untuk string yaitu operator penggabungan (concatenation operator), yaitu +, dan operator perulangan, yaitu *. stringa = "String A" stringb = "String B" 'stringa+stringb =',stringa+stringb "'-'*20 =",'-'*20 Sifat lain yang dimiliki oleh string adalah bisa diambil sebagian dari karakter pembentuknya, karena string ini adalah array, atau deretan, karakter. Kita dapat mengambil sebagian karakter dari string ini dengan notasi slice. Namun karakter-karakter yang membentuk string ini tidak dapat diubah. stringa = "String A" 'stringa[4] =',stringa[4] 'stringa[2:6] =',stringa[2:6] List List disebut array dalam bahasa pemrograman yang lain. List adalah jenis data campuran yang bisa memiliki komponen penyusun yang berbeda-beda. Sebuah list dapat dibuat dengan dengan menggunakan tanda kurung siku, [ ]. Anggota list didaftar dalam kurung siku tersebut dan masing-masing dipisahkan oleh tanda koma. Sifat-sifat list bisa didaftar seperti ini: Komponen penyusunnya bisa diganti. Komponen penyusunya dapat dibaca dan dimanipulasi secara langsung.

Komponen penyusunnya bisa ditambah. Komponen penyusunnya dapat diambil dengan menunjukkan indeksnya atau dengan notasi slice. Komponen penyusun sebuah list dapat juga berupa list yang lain. Untuk lebih jelasnya bisa dicoba skrip berikut: x = [1,2, 'tiga', 'empat'] x[1] = x[1] + 2 x[1] = 'dua' x = x + ['tambahan', 1] 'x[2] =',x[2] 'x[1:4] =',x[1:4] y = ['Salman', 'AS'] x[0] = y Dictionary Berbeda dengan list yang memakai indeks angka untuk merujuk pada isi variabel, dictionary memakai key untuk merujuk pada isi variabelnya. Sifat kedua jenis data ini hanya berbeda dalam beberapa hal saja. Untuk mendeklarasikan sebuah dictionary, Python memakai tanda { }. d = {'nama':'salman AS', 'nilai':3} d d['nama'] Untuk mengakses anggota suatu dictionary kita memakai lambang [ ] sebagaimana halnya list. Dictionary bisa mempunyai anggota sebuah list, atau dictionary lagi. d = {'nama':'salman AS', 'nilai':3} d nama_detail = {'depan':'salman','tengah':'agus','belakang':'supriadi'} nama_detail d['nama'] = nama_detail d

d['nama']['depan'] nilai_detail = [3,4,2] d['nilai'] = nilai_detail d Tuple, Antara List dan String Terdapat satu jenis data yang khas milik Python, yaitu tuple. Jenis data ini dideklarasikan dengan tanda ( ). Anggota-anggota tuple tidak bisa diganti dan dapat berupa bilangan atau string. Tuple dapat juga berisi tuple yang lain, dictionary, maupun list. menu_file = ('New', 'Open') menu_file menu_edit = ('Save', 'Save AS') menu = (menu_file, menu_edit, 'exit', ['help']) menu menu[3][0] menu_lain = (menu_file, menu_edit, 'exit', {'faq':'faq.html', 'manual':'man.html'}) menu_lain Perintah Kendali Seleksi Satu-satunya perintah seleksi dalam Python adalah if. Format umum perintah ini adalah: if kondisi: perintah_jika_kondisi_benar elif kondisi_lain: perintah_jika_kondisi_lain_benar perintah_jika_tak_ada_kondisi_yang_benar Kita dapat mencoba seleksi dengan if ini dalam modus interaktif Python. Aktifkan interpreter Python Anda dan ketikkan baris-baris perintah ini pada prompt Python. >>> x = 4 >>> if x<5:... "%d lebih kecil dari 5" % x... elif x==5:... "%d sama dengan 5" % x...... "%d lebih besar dari 5" 4 lebih kecil dari 5 Untuk menguji kondisi kita dapat menggunakan operator ==, <, <=, >, >=, dan!=.

Sesuatu yang baru dan kita bisa perhatikan pada contoh di atas adalah cara penulisan blok-blok program. Dalam Python blok-blok perintah ditandai dengan penulisan kode program yang menjorok ke dalam. Setiap perintah yang mempunyai batas kiri yang sama dianggap sebagai satu blok. Sebisa mungkin Anda harus konsisten menggunakan karakter spasi atau karakter tabulasi untuk membuat indentasi. Jangan mencampur antara spasi dan tabulasi. Kesalahan yang sering terjadi dengan indentasi ini adalah terlihat dalam penampilan editor kita sudah lurus pada batas kiri tapi ada perbedaan dalam jumlah karakter tabulasi atau spasi. Dalam perintah pencetakan ini kita menggunakan kode pemformatan %d. Kode ini akan diganti dengan variabel yang mengikuti string, yaitu x. Antara string dan variabel dipisahkan oleh tanda %. Jika ada beberapa variabel yang akan dicetak, seluruh variabel harus dimasukkan ke dalam tanda () dan antara satu variabel dengan yang lain dipisahkan dengan tanda koma (,). Mari kita coba dengan interpreter Python. >>> x=4 >>> y=2 >>> "x berisi %d, dan y sama dengan %d" % x,y Traceback (innermost last): File "<stdin>", line 1, in? TypeError: not enough arguments for format string >>> "x berisi %d, dan y sama dengan %d" % (x,y) x berisi 4, dan y sama dengan 4 Sekarang kita terapkan seleksi ini dalam skrip yang akan memeriksa apakah suatu bilangan adalah bilangan bulat atau bukan. x = input("masukkan bilangan bulat:") if x%2: "%d adalah bilangan ganjil" % x "%d adalah bilangan genap" % x Jika dijalankan, skrip ini akan menampilkan: $ python ganjil.py Masukkan bilangan bulat:13 13 adalah bilangan ganjil $ python ganjil.py Masukkan bilangan bulat:24 24 adalah bilangan genap Kata kunci input() berfungsi untuk meminta input berupa bilangan. Bilangan ini disimpan dalam variabel x. Ekspresi x%2 akan menghasilkan 1 jika x ganjil dan 0 jika x bilangan genap. Oleh Python, 1 akan diartikan sebagai benar dan 0 akan diartikan salah. Perulangan Perulangan dengan kata kunci while mempunyai format umum sebagai berikut:

while kondisi: perintah_jika_kondisi_benar perintah_lain Perintah-perintah antara while dan else akan selalu dijalankan jika kondisi benar. Perintah-perintah di bawah else akan dijalankan jika perulangan selesai dengan normal. Yang dimaksud dengan normal di sini adalah proses perulangan tidak berhenti karena bertemu kata kunci break. x = 1 while x<5: x = x + 1 'Loop sudah selesai dikerjakan!' Jika skrip di atas ditambahkan suatu kondisi yang diikuti perintah break, maka blok perintah di bawah else tidak akan pernah dijalankan. Perhatikan perbedaannya dengan skrip berikut: x = 1 while x<5: if x==3: break x = x + 1 'Loop sudah selesai dikerjakan!' Perintah break menyebabkan dijalankannya perintah-perintah setelah blok while dan else ini. Perintah perulangan selain while adalah for. Format dasar perulangan for adalah: for variabel in objek: perintah-perintah perintah_jika_tidak_bertemu_break Langsung saja ke contoh penggunaan pernyataan for ini. for x in range(1,5): 'Perulangan selesai' Fungsi builtin range() dalam skrip ini menghasilkan bilangan 1 sampai 4. Hasilnya skrip akan mencetak bilangan dari 1 sampai 4 dan string Perulangan selesai.

Keistimewaan perulangan dengan for di Python adalah dapat memroses array. Seperti contoh di bawah ini: y = [10,20,30,40,50,60,70,80,90] for x in y: if x==50: continue if x>70: break 'Perulangan selesai' Hasil yang akan didapat jika skrip ini dijalankan: 10 20 30 40 60 70 Pernyataan continue akan menyebabkan proses berlanjut ke awal perulangan dan melewatkan perintah-perintah yang ada di antara continue dan akhir blok perulangan. Demikian akhir bagian pertama. Untuk mempelajari lebih jauh lagi tunggu bagian tutorial berikutnya. Mendeklarasikan dan Memakai Fungsi Fungsi dipakai untuk mengumpulkan beberapa perintah yang sering dipakai dalam sebuah program. Dengan memakai fungsi, program yang kita buat menjadi lebih terstruktur. Lebih mudah diikuti oleh orang lain yang membaca program kita. Dan yang paling penting adalah mempersingkat waktu yang kita perlukan untuk mengembangkan suatu perangkat lunak. Karena perangkat lunak yang kita buat, bisa jadi memakai komponen-komponen yang sama. Seperti layaknya sebuah bahasa pemrograman, Python juga memberikan fasilitas pembuatan fungsi yang sangat bagus. Konsep fungsi dalam Python sama dengan bahasa pemrograman C/C++. Python menganggap fungsi dan prosedur adalah sesuatu yang sama, dalam artian cara mendeklarasikan fungsi dan prosedur adalah sama. Hanya bedanya, kalau fungsi mengembalikan suatu nilai setelah proses sedangkan prosedur tidak. Pernyataan def dipakai untuk mendeklarasikan fungsi. Sedangkan pernyataan return dipakai untuk mengembalikan suatu nilai kepada bagian program yang memanggil fungsi. Bentuk dasar untuk mendeklarasikan fungsi adalah sebagai berikut: def nama_fungsi(arg1, arg2, arg3,...,argn): perintah-perintah return nilai_balik

Contoh implementasi yang mudah, misalnya kita ingin membuat fungsi perkalian dua bilangan bulat: def perkalian(x, y): z = x * y return z Pernyataan def mendefinisikan sebuah fungsi dengan nama perkalian. Paramaterparameter yang akan dilewatkan ke dalam fungsi didaftarkan dalam tanda kurung. Masing-masing paramater dipisahkan oleh koma (,). Baris deklarasi fungsi ini diakhiri dengan titik dua (:). Tanda ini memberitahukan pada interpreter Python bahwa baris ini masih berlanjut pada baris-baris berikutnya. Perhatikan dua baris pernyataan terindentasi yang mengikutinya. Dalam Python semua pernyataan yang diindentasi dalam satu tingkatan indentasi adalah pernyataan-pernyataan yang satu derajat. Artinya semua pernyataan tersebut akan dieksekusi sesuai dengan urutan penulisannya. Dalam kasus contoh kita, pernyataan z = x + y dan return z adalah satu tingkatan. Kedua pernyataan ini adalah anggota dari deklarasi fungsi perkalian. Keduanya akan dijalankan saat fungsi dipanggil. Untuk memanggil fungsi yang telah dibuat adalah dengan cara menyebutkan nama fungsi yang bersangkutan beserta daftar parameter yang sebenarnya: perkalian(10,8) perkalian(15,5) Dalam deklarasi fungsi, Anda juga bisa menambahkan komentar-komentar yang memberi penjelasan mengenai fungsi yang dibuat. Secara umum kita memang bisa menambahkan komentar-komentar di sembarang tempat dalam program yang kita buat. Baris-baris komentar diawali dengan karakter pagar (#). Semua karakter yang mengikuti tanda ini sampai akhir baris dianggap sebagai komentar dan tidak akan mempengaruhi jalannya progam. Akan tetapi terdapat satu gaya pemberian komentar dalam Python yang disebut dengan docstring. Biasanya dipakai untuk memberi penjelasan mengenai fungsi atau objek. Docstring diapit dengan tanda petik ganda. Komentar jenis ini hanya boleh diberikan tepat satu baris dibawah deklarasi fungsi atau objek, seperti ditunjukkan pada di bawah ini. def perkalian(x, y): "Mengalikan dua bilangan" z = x * y return z # program utama mulai di sini perkalian(10,8) perkalian(15,5)

Docstring sangat bermanfaat ketika kita ingin mendokumentasikan semua fungsi dan kelas yang telah kita buat. Karena ada beberapa perangkat lunak yang mampu membuat dokumentasi berdasarkan docstring yang ada dalam source code. Scope Variabel dalam Fungsi Untuk menjelaskan konsep scope variabel dalam fungsi, lihatlah skrip di bawah ini dan Gambar 1. # fungsi mulai di sini def swap(x, y): "Dalam fungsi:" "\tsebelum proses:" "\t\tnilai x", x "\t\tnilai y", y z = x x = y y = z "\tsetelah proses:" "\t\tnilai x", x "\t\tnilai y", y # program utama mulai di sini x = 12 y = 3 "Sebelum memanggil fungsi, x bernilai", x "Sebelum memanggil fungsi, y bernilai", y swap(x,y) "Setelah memanggil fungsi, x bernilai", x "Setelah memanggil fungsi, y bernilai", y Dalam lingkungan program utama variabel x dan y diisi dengan nilai 12 dan 3, secara berurutan. Ketika program utama memanggil fungsi swap nilai variabel ini disalin kedalam variabel x dan y dalam lingkungan fungsi, yang kebetulan sama namanya dengan nama variabel dalam progam utama. Python akan membuat alokasi memori tersendiri untuk fungsi. Karena alokasi memorinya berbeda, maka perubahan yang terjadi pada variabel dalam fungsi, katakanlah x, tidak akan mengubah variabel x yang terdapat dalam program utama. Jadi bisa dikatakan variabel x dalam fungsi swap hanya mempunyai scope dalam fungsi itu sendiri. Pernyataan ini bisa dibuktikan dengan menjalankan skrip tersebut. Hasilnya sebagai berikut. Variabel program utama tetap nilainya, meskipun variabel dalam fungsi swap berubah nilainya. Sebelum memanggil fungsi, x bernilai 12 Sebelum memanggil fungsi, y bernilai 3 Dalam fungsi: Sebelum proses: Nilai x 12 Nilai y 3 Setelah proses: Nilai x 3 Nilai y 12

Setelah memanggil fungsi, x bernilai 12 Setelah memanggil fungsi, y bernilai 3 Melewatkan Argumen dengan Kata Kunci Kalau kita perhatikan kembali fungsi perkalian sebelumnya, proses penyalinan ke variabel lokal sesuai dengan urutan deklarasi fungsi yang kita panggil. Jika fungsi perkalian kita panggil dengan memberi pernyataan perkalian(10,8), maka nilai 10 akan disalin ke variabel x dan nilai 8 ke variabel y. Kadang-kadang ini agak menyulitkan jika kita membuat fungsi dengan jumlah variabel yang cukup banyak, sementara urutannya harus tepat. Solusinya adalah dengan menyebutkan kata-kunci (keyword) yang kita pakai pada saat mendefinisikan fungsi. Kita ubah sedikit program perkalian kita agar pembahasan di bagian ini lebih jelas. Perhatikan program di bawah. def perkalian(x, y): "Mengalikan dua bilangan" z = x * y "Nilai x =",x "Nilai y =",y "x * y =",z # program utama mulai di sini perkalian(10,2) perkalian(y=15,x=5) Hasilnya: Nilai x = 10 Nilai y = 2 x * y = 20 Nilai x = 5 Nilai y = 15 x * y = 75 Dengan menyebutkan kata kunci yang kita buat saat mendeklarasikan program kita dapat mengubah urutan penyalinan argumen. Akan tetapi Anda harus berhati-hati ketika menyebutkan kata-kunci, karena tidak boleh ada duplikasi. Panggil fungsi perkalian dengan pernyataan perkalian(15,x=5), maka Anda akan mendapatkan pesan kesalahan sbb.: Traceback (innermost last): File "./listing8.py", line 13, in? perkalian(15,x=5) TypeError: keyword parameter redefined

Hasil ini menunjukkan pada kita bahwa nama x sudah dipakai. Dengan melihat pada definisi fungsi yang telah dibuat, parameter pertama adalah x dan kedua adalah y. Jadi ketika kita panggil dengan menyebutkan parameter kedua sebagai x juga akan terjadi kesalahan. Nilai Awal Argumen Dalam proses interaksi dengan pengguna program kadangkala program memberikan pilihan tertentu, yang sering disebut dengan nilai bawaan (default). Nilai awal argumen ini bisa kita berikan saat kita membuat definisi fungsi. Lihat cara mendeklarasikan nilai awal argumen ini: def login(username="guest", password="salmanas@programmer.net"): "Your username ",username "Your password ",password login() login("tamu") login("tamu", "katakunci") Sekarang proses pemanggilan fungsi tidak perlu menyebutkan argumennya secara lengkap, jika kita tidak perlu mengubah nilai default yang telah diberikan. Your username guest Your password salmanas@programmer.net Your username tamu Your password salmanas@programmer.net Your username tamu Your password katakunci Dengan membandingkan antara isi program dan hasilnya di atas, dapat kita simpulkan bahwa penyalinan argumen tetap mengikuti kaidah urutan pada saat dideklarasikan. Anda tidak diperbolehkan mendefinisikan fungsi seperti ini: def login(username="guest", password): "Your username ",username "Your password ",password Akan tetapi Anda bisa mendeklarasikan fungsi seperti potongan program berikut. def login(username, password="salmanas@programmer.net"): "Your username ",username "Your password ",password

Jadi nilai default hanya boleh diberikan kepada deretan akhir parameter. Setelah pemberian nilai default, semua parameter di belakangnya juga harus diberi nilai default. Satu catatan, nilai awal argumen akan dievaluasi pada saat dideklarasikan. Perhatikan contoh berikut. usernm="guest" passwd="salmanas@programmer.net" def login(username=usernm, password=passwd): "Your username ",username "Your password ",password usernm="tamu" passwd="oranglain@mailserver.dev" login() Hasilnya: Your username guest Your password salmanas@programmer.net Jumlah Argumen yang Berubah Terdapat dua lambang khusus dalam Python untuk menerima argumen dengan jumlah yang berubah-ubah. Lambang pertama adalah *nama_argumen. Dengan memakai lambang ini pada deklarasi fungsi, Python akan mengenali argumen selain argumen formal sebagai tuple. Lihat kode berikut ini: def guest(name, password, *hobby): "Your name :",name "Your password:",password "Hobby Anda :",hobby guest("tamu", "katakunci", "memancing", "membaca", "olahraga") Hasilnya: Your name : tamu Your password: katakunci Hobby Anda : ('memancing', 'membaca', 'olahraga') Untuk memanggil fungsi yang mempunyai deklarasi seperti ini, kita cukup memberikan daftar argumen seperti argumen biasa. Lambang kedua adalah **nama_argumen. Dengan lambang ini argumen yang diterima oleh fungsi akan dikenali sebagai dictionary. Lihat contoh berikut: def guest(name, password, **other): "Your name :",name

"Your password:",password "Lain-lain :",other guest("tamu", "katakunci", sex="laki-laki", umur=18, hobby="membaca") Hasilnya: Your name : tamu Your password: katakunci Lain-lain : {'sex': 'laki-laki', 'hobby': 'membaca', 'umur': 18} Untuk memanggil fungsi dengan deklarasi seperti ini, kita harus menyebutkan daftar argumen beserta kata-kuncinya. Jika Anda ingin menggunakan dua lambang ini secara bersamaan Anda harus mendahulukan *nama_argumen daripada **nama_argumen. def guest(name, password, *hobby, **other): "Your name :",name "Your password:",password "Hobby Anda :",hobby "Lain-lain :",other guest("tamu", "katakunci", "single", "membaca", sex="laki-laki", umur=18) Hasil eksekusi program: Your name : tamu Your password: katakunci Hobby Anda : ('single', 'membaca') Lain-lain : {'sex': 'laki-laki', 'umur': 18}