Pemrograman Komputer

Seluruh bahasan tentang pemrograman komputer

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 11 { Mengunakan Modul }

Modul digunakan untuk mengelompokkan fungsi, variabel, dan hal-hal lain menjadi sesuatu yang lebih besar, program yang lebih powerful. Beberapa modul sudah built-in di dalam python, dan kamu bisa mendownload modul lainnya secara terpisah. Kamu akan menemukan modul untuk menulis game kamu (seperti tkinter, yang sudah build-in, dan pygame yang terpisah). Modul untuk memanipulasi gambar (seperti PIL, the Python Imaging Library), dan modul untuk menggambar 3 dimensi (seperti Panda3D).

panda3d

Modul juga bisa digunakan untuk semua hal berguna lainnya. Sebagai contoh, jika kamu mendesain game simulasi, dan kamu ingin dunia dalam game berubah serealistis mungkin, kamu bisa menghitung tanggal dan waktu saat ini menggunkan modul built-in yang bernama time:

>>> import time;

Disini, perintah import digunakan untuk memberitahu python bahwa kita ingin menggunakan modul time. Kita kemudian dapat memanggil fungsi yang tersedia di modul ini, menggunakan simbol dot. (Ingat kita menggunakan fungsi seperti saat bekerja dengan modul turtle di bab sebelumnya seperti t.forward(50) ). Sebagai contoh, disini adalah bagaimana caranya kita memanggil fungsi asctime dalam modul time :

>>> print(time.asctime())
'Mon Nov 5 12:40:27 2012'

Fungsi asctime adalah bagian dari modul time yang mengembalikan tanggal dan waktu saat ini, sebagai string.

Sekarang anggap kamu ingin meminta seseorang yang menggunakan program kamu untuk memasukkan sebuah nilai, mungkin tanggal lahirnya, atau umurnya. Kamu bisa melakukan ini dengan pernyataan print, untuk menampilkan pesan, dan modul sys (kependekan dari system), yang berisi utilitas untuk berinteraksi dengan sistem python itu sendiri. Pertama kita mengimport modul sys:

jam pasir

>>> import sys;

didalam modul sys adalah modul khusus yang disebut stdin (kependekan dari standard input), yang menyediakan fungsi yang sangat berguna disebut readline. Fungsi readline digunakan untuk membaca satu baris teks yang diketikkan pada keyboard sampai kamu menekan tombol enter. (Kita akan melihat bagaimana objek bekerja pada bab berikutnya). Untuk mengetes readline, masukkan kode ini di shell python:

>>> import sys
>>> print(sys.stdin.readline())

Jika kamu kemudian mengetikkan beberapa kata kemudian menekan enter, kata-kata itu kemudian akan dicetak ke layar. Pikirkan kembali kode yang kita tulis di bab sebelumnya, menggunakan pernyataan if :

>>> if age >= 10 and age <= 13:
        print('What is 13 + 49 + 84 + 155 + 97? A headache!')
else:
        print('Huh?')

Dari pada membuat variabel age dan memberikan nilai tertentu sebelum pernyataan if, sekarang kita bisa meminta seseorang untuk memasukkan nilainya. Tapi pertama, mari kita taruh kode tersebut dalam sebuah fungsi:

>>> def silly_age_joke(age):
        if age >= 10 and age <= 13:
                print('What is 13 + 49 + 84 + 155 + 97? A headache!')
        else:
                print('Huh?')

Sekarang kamu bisa memanggil fungsi itu dengan mengetikkan namanya, kemudian beritahu angka berapa yang akan digunakan dengan memasukkan nilainya didalam tanda kurung. Apakah ini berfungsi?

>>> silly_age_joke(9)
Huh?
>>> silly_age_joke(10)
What is 13 + 49 + 84 + 155 + 97? A headache!

Berhasil! Sekarang mari kita membuat fungsi yang menanyakan umur seseorang. (Kamu bisa menambahkan atau mengubah fungsinya sebanyak yang kamu mau.)

>>> def silly_age_joke():
         print('How old are you?')
         age = int(sys.stdin.readline())
         if age >= 10 and age <= 13:
              print('What is 13 + 49 + 84 + 155 + 97? A headache!')
         else:
              print('Huh?')

Apakah kamu memperhatikan fungsi int didalamnya, yang mengubah string menjadi angka? Kita memasukkan fungsi itu karena fungsi readline() apapun yang diketikkan seseorang sebagai string, tapi kita membutuhkan angka sehingga kita bisa membandingkannya dengan angka 10 dan angka 13. Untuk mencobanya sendiri, panggil fungsi itu tanpa parameter, dan kemudian ketikkan angka berapa umurmu sekarang? Seperti dibawah ini :

>>> silly_age_joke()
How old are you?
10
What is 13 + 49 + 84 + 155 + 97? A headache!
>>> silly_age_joke()
How old are you?
15
Huh?

Apa Yang Telah Kamu Pelajari

Dalam bab ini kamu telah mempelajari bagaimana membuat potongan kode yang bisa digunakan kembali dalam python dengan fungsi dan bagaimana menggunakan fungsi yang disediakan oleh modul. Kamu belajar bagaimana lingkup kontrol variabel apakah mereka bisa dilihat didalam atau diluar fungsi, dan bagaimana membuat fungsi menggukanan kata kunci def. Kamu juga menemukan cara bagaimana mengimport modul sehingga kamu bisa menggunkan isinya.

Iklan
Categories: Buku Komputer, Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 10 { Fungsi }

2.7. Mendaur ulang Kode Program dengan Fungsi dan Modul

Pikirkan tentang berapa banyak hal yang kamu buang setiap hari: botol air, kaleng soda, tas keripik kentang, bungkus plastik, tas belanja, koran, majalah, dan sebagainya. Sekarang bayangkan apa yang akan terjadi jika semua sampah yang baru saja dibuang di tumpukan di ujung jalan Anda, tanpa memisahkan kertas, plastik, dan kaleng.

Tentu saja, kamu mungkin mendaur ulang sebanyak mungkin, yang baik, karena tidak ada yang suka memanjat tumpukan sampah dalam perjalanan ke sekolah. Daripada menjadi tumpukan kotoran, botol-botol kaca bisa kamu daur ulang dengan dilebur dan diubah menjadi botol baru, kertas pulp menjadi kertas daur ulang, dan plastik diubah menjadi barang-barang plastik yang lebih berat. Jadi kita bisa menggunakan kembali hal-hal yang kita biasanya buang.

Dalam dunia pemrograman, reuse/penggunaan ulang adalah sama pentingnya. Jelas, program anda tidak akan hilang di bawah tumpukan sampah, tetapi jika Anda tidak menggunakan kembali sebagian dari apa yang Anda lakukan, Anda akhirnya akan menyakiti jari-jarimu karena kebanyakan mengetik. Reuse juga membuat kode Anda lebih pendek dan lebih mudah dibaca.

Seperti yang akan Anda pelajari dalam bab ini, Python menawarkan sejumlah cara yang berbeda untuk menggunakan kembali kode program yang telah dibuat.

Fig 2.7.1. Daur ulang limbah

Menggunakan Fungsi

Kamu sudah melihat salah satu cara untuk mendaur ulang kode Python. Dalam bab sebelumnya, kita menggunakan fungsi range dan list untuk membuat Python menghitung.

>>> list(range(0, 5))
[0,1,2,3,4]

Jika Anda tahu bagaimana cara menghitung, itu tidak terlalu sulit untuk membuat daftar nomor berturut-turut dengan mengetikkan mereka, tetapi semakin besar daftarnya, semakin banyak mengetik yang perlu kamu lakukan. Namun, jika kamu menggunakan fungsi, kamu dapat dengan mudah membuat daftar dengan seribu nomor.

Berikut ini adalah contoh yang menggunakan fungsi list dan fungsi range untuk menghasilkan daftar nomor:

>>> list(range(0, 1000))
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16...,997,998,999]

Fungsi adalah potongan kode program yang memberitahu Python untuk melakukan sesuatu. Mereka adalah salah satu cara untuk menggunakan ulang kode program kamu. Kamu dapat menggunakan fungsi dalam program kamu lagi dan lagi.

Ketika kamu sedang menulis program sederhana, fungsi bisa berguna. Setelah kamu mulai menulis kode yang panjang, program yang lebih rumit, seperti permainan, fungsi sangat penting (dengan asumsi Anda ingin selesai menulis program anda abad ini).

Bagian-bagian dari Fungsi

fungsi memiliki tiga bagian: nama fungsi, parameter, dan isi. Ini adalah contoh fungsi sederhana:

>>> def testfunc(myname):
        print('hello %s' % myname)

Nama fungsi diatas adalah testfunc. Ia memiliki satu parameter, myname, dan isinya adalah blok kode segera setelah baris yang dimulai dengan def (kependekan dari define/menentukan). Parameter adalah variabel yang hanya ada saat fungsi sedang digunakan.

Kamu dapat menjalankan fungsi dengan memanggil namanya, dengan menggunakan tanda kurung di sekitar nilai parameter:

>>> testfunc('Mary')
hello Mary

Fungsi bisa mengambil dua, tiga, atau sejumlah parameter, bukan hanya satu:

>>> def testfunc(fname, lname):
       print('Hello %s %s' % (fname, lname))

Dua nilai untuk parameter ini dipisahkan oleh koma:

>>> testfunc('Mary', 'Smith')
Hello Mary Smith

Kita juga bisa menciptakan beberapa variabel pertama dan kemudian memanggil fungsi beserta mereka:

>>> firstname = 'Joe'
>>> lastname = 'Robertson'
>>> testfunc(firstname, lastname)
Hello Joe Robertson

Sebuah fungsi sering digunakan untuk mengembalikan nilai, menggunakan pernyataan return. Sebagai contoh, Anda bisa menulis fungsi untuk menghitung berapa banyak uang yang kamu tabung:

>>> def savings(pocket_money, paper_route, spending):
return pocket_money + paper_route – spending

Fungsi diatas mengambil tiga parameter. Ia menambahkan dua yang pertama (pocket_money dan paper_route) dan mengurangi dengan yang terakhir (spending). Hasilnya dikembalikan dan dapat diberikan ke sebuah variabel (dengan cara yang sama kita menetapkan nilai-nilai lain untuk variabel) atau dicetak:

>>> print(savings(10, 10, 5))
15

Variabel dan Lingkupnya

Sebuah variabel yang ada di dalam tubuh fungsi tidak dapat digunakan lagi ketika fungsi telah selesai berjalan karena ia hanya ada di dalam fungsi. Dalam dunia pemrograman, ini disebut ruang lingkup/scope.

Mari kita lihat fungsi sederhana yang menggunakan beberapa variabel tetapi tidak memiliki parameter:

>>> def variable_test():
first_variable = 10
second_variable = 20
return first_variable * second_variable

Dalam contoh ini, kita membuat fungsi yang disebut variable_test, yang mengalikan dua variabel (first_variable dan second_variable) dan mengembalikan hasilnya.

>>> print(variable_test())
200

Jika kita memanggil fungsi ini menggunakan print, kita mendapatkan hasilnya: 200. Namun, jika kita mencoba untuk mencetak isi first_variable (atau second_variable, dalam hal ini) di luar blok kode dalam fungsi tersebut, kita mendapatkan pesan error:

>>> print(first_variable)
Traceback (most recent call last):
File "<pyshell#50>", line 1, in <module>
print(first_variable)
NameError: name 'first_variable' is not defined

Jika variabel didefinisikan di luar fungsi, ia memiliki ruang lingkup yang berbeda. Sebagai contoh, mari kita mendefinisikan variabel sebelum kita membuat fungsi kita, dan kemudian mencoba menggunakannya dalam fungsi:

>>> another_variable = 100
>>> def variable_test2():
first_variable = 10
second_variable = 20
        return first_variable * second_variable * another_variable

Dalam kode ini, meskipun variabel first_variable dan second_variable tidak dapat digunakan di luar fungsi, another_variable variabel (yang dibuat di luar fungsi) dapat digunakan di dalamnya. Berikut hasil dari panggilan fungsi ini:

>>> print(variable_test2())
20000

Sekarang, misalkan Anda sedang membangun sebuah pesawat ruang angkasa dari sesuatu yang ekonomis seperti kaleng-kaleng bekas. Anda pikir Anda dapat meratakan 2 kaleng seminggu untuk membuat dinding melengkung dari pesawat ruang angkasa Anda, tetapi Anda akan membutuhkan sesuatu seperti 500 kaleng untuk menyelesaikan badan pesawat. Kita dapat dengan mudah menulis fungsi untuk membantu menentukan berapa lama waktu yang dibutuhkan untuk meratakan 500 kaleng jika kita melakukan 2 kaleng seminggu.

Fig 2.7.2. Gambar alien

Mari kita membuat fungsi untuk menunjukkan berapa banyak kaleng yang kita ratakan setiap minggu sampai satu tahun. Fungsi kita akan mengambil jumlah kaleng sebagai parameter:

>>> def spaceship_building(cans):
total_cans = 0
for week in range(1, 53):
total_cans = total_cans + cans
print('Week %s = %s cans' % (week, total_cans))

Pada baris pertama dari fungsi tersebut, kita membuat sebuah variabel yang disebut total_cans dan set nilainya ke 0. Kami kemudian membuat loop untuk minggu dalam setahun dan menambahkan jumlah kaleng rata setiap minggu. Ini adalah blok kode yang merupakan isi fungsi kita. Tapi ada juga blok lain kode dalam fungsi ini: dua baris terakhir, yang membentuk blok untuk loop.

Mari kita coba memasukkan fungsi yang di shell dan menyebutnya dengan nilai yang berbeda untuk jumlah kaleng:

>>> spaceship_building(2)
Week 1 = 2 cans
Week 2 = 4 cans
Week 3 = 6 cans
Week 4 = 8 cans
Week 5 = 10 cans
Week 6 = 12 cans
Week 7 = 14 cans
Week 8 = 16 cans
Week 9 = 18 cans
Week 10 = 20 cans
(continues on...)
>>> spaceship_building(13)
Week 1 = 13 cans
Week 2 = 26 cans
Week 3 = 39 cans
Week 4 = 52 cans
Week 5 = 65 cans
(continues on...)

Fungsi ini dapat digunakan kembali dengan nilai jumlah kaleng yang berbeda untuk tiap minggu, yang sedikit lebih efisien daripada mengetik ulang setiap kali Anda ingin mencobanya dengan nomor yang berbeda.

Fungsi juga dapat dikelompokkan dalam modul, yang mana Python menjadi benar-benar berguna, dibandingkan dengan hanya sedikit berguna.

 

Categories: Buku Komputer, Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 9 { Perulangan }

2.6. Perulangan

Tidak ada yang lebih buruk daripada harus melakukan hal yang sama berulang-ulang. Ada alasan mengapa beberapa orang menghitung domba ketika mereka sedang mengalami kesulitan tidur, dan itu tidak ada hubungannya dengan kekuatan luar biasa dalam menginduksi tidur  dari mamalia berbulu tersebut. Ini karena tak henti-hentinya mengulangi sesuatu jadi membosankan, dan pikiran Anda bisa menurun hingga kemudian tidur menjadi lebih mudah jika Anda tidak fokus pada sesuatu yang menarik.

Programmer tidak begitu suka mengulang sesuatu juga, kecuali mereka berusaha untuk tertidur. Untungnya, kebanyakan bahasa pemrograman memiliki apa yang disebut untuk loop/perulangan, yang mengulangi hal-hal seperti pernyataan pemrograman dan blok kode lainnya secara otomatis.

Fig 2.6.1. Domba hipnotisePada bab ini, kita akan melihat pada perulangan, serta jenis lain dari perulangan yang python tawarkan: perulangan while.

Menggunakan Perulangan

Untuk mencetak kata hello lima  kali di python, kamu bisa melakukkannya dengan cara berikut ini:

>>> print("hello")
hello
>>> print("hello")
hello
>>> print("hello")
hello
>>> print("hello")
hello
>>> print("hello")
hello

Tapi ini agak membosankan. Sebaliknya, Anda dapat menggunakan untuk perulangan untuk mengurangi jumlah yang harus diketik dan diulang, seperti ini:

>>> for x in range(0, 5):
         print('hello')

  hello
  hello
  hello
  hello
  hello

Fungsi range di dapat digunakan untuk membuat sebuah list nomor mulai dari angka yang disebut diawal hingga angka sebelum angka yang disebut terakhir. Itu mungkin terdengar sedikit membingungkan. Mari kita menggabungkan fungsi range dengan fungsi list untuk melihat persis bagaimana ini bekerja. Fungsi range tidak benar-benar membuat daftar/list nomor, melainkan mengembalikan sebuah iterator, yang merupakan jenis objek Python yang dirancang khusus untuk bekerja dengan loop. Namun, jika kita menggabungkan range dengan list, kita mendapatkan daftar nomor.

>>> print(list(range(10, 20)))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Dalam kasus perulangan for , kode di sebenarnya memberitahu Python untuk melakukan hal berikut:

  • mulai menghitung dari 0 dan berhenti sebelum mencapai 5.
  • untuk setiap angka yang kita hitung simpan nilai di variabel x.

Kemudian Python mengeksekusi blok kode print(‘hello’) . Catat bahwa terdapat 4 spasi tambahan di awal baris (jika kamu membandingkan dengan baris di atasnya). IDLE akan secara otomatis mengidentasikan ini untukmu. Ketika kita menekan [enter] setelah baris kedua, Python akan mencetak “hello” lima kali. Kita juga bisa menggunakan x dalam pernyataan print untuk menghitung kata hello:

>>> for x in range(0, 5):
        print('hello %s' % x)
hello 0
hello 1
hello 2
hello 3
hello 4

Jika kita tidak menggunakan perulangan lagi, kode kita mungkin terlihat seperti ini:

>>> x = 0
>>> print('hello %s' % x)
hello 0
>>> x = 1
>>> print('hello %s' % x)
hello 1
>>> x = 2
>>> print('hello %s' % x)
hello 2
>>> x = 3
>>> print('hello %s' % x)
hello 3
>>> x = 4
>>> print('hello %s' % x)
hello 4

Jadi dengan menggunakan loop telah benar-benar menyelamatkan kita dari menulis delapan baris tambahan kode. Programmer yang baik benci melakukan hal-hal lebih dari sekali, sehingga perulangan adalah salah satu pernyataan yang lebih populer dalam bahasa pemrograman.

Anda tidak perlu untuk tetap menggunakan fungsi range dan list ketika membuat perulangan. Anda juga bisa menggunakan list yang telah Anda buat, seperti daftar belanja dari Bab 2.3, sebagai berikut:

>>> wizard_list = ['spider legs', 'toe of frog', 'snail tongue',
               'bat wing', 'slug butter', 'bear burp']
>>> for i in wizard_list:
        print(i)
spider legs
toe of frog
snail tongue
bat wing
slug butter
bear burp

Kode ini adalah cara untuk mengatakan, “Untuk setiap item dalam wizard_list, simpan nilai dalam variabel i, dan kemudian cetak isi variabel itu.” Sekali lagi, jika kita tidak menggunakan perulangan, kita perlu melakukannya seperti ini:

Fig 2.6.2. Bekicot pemalas

>>> wizard_list = ['spider legs', 'toe of frog', 'snail tongue',
               'bat wing', 'slug butter', 'bear burp']
>>> print(wizard_list[0])
spider legs
>>> print(wizard_list[1])
toe of frog
>>> print(wizard_list[2])
snail tongue
>>> print(wizard_list[3])
bat wing
>>> print(wizard_list[4])
slug butter
>>> print(wizard_list[5])
bear burp

Jadi sekali lagi, loop telah menyelamatkan kita dari mengetik terlalu banyak.

Mari kita membuat loop lain. Ketik kode berikut ke shell. Ini seharusnya kode anda secara otomatis terindentasi untuk Anda.

>>> hugehairypants = ['huge', 'hairy', 'pants']
 >>> for i in hugehairypants:
         print(i)
         print(i)

 huge
  huge
  hairy
  hairy
  pants
  pants

Pada baris pertama, kami membuat list yang berisi ‘huge’, ‘hairy’, dan ‘pants’. Pada baris berikutnya, kita melakukan perulangan melalui item dalam daftar itu, dan setiap item kemudian disimpan ke variabel i. Kami mencetak isi dari variabel dua kali dalam dua baris berikutnya. Menekan enter pada baris kosong berikutnya memberitahu Python untuk mengakhiri blok, dan kemudian menjalankan kode dan mencetak setiap elemen dari list dua kali.

Fig 2.6.3. Celana besar berbulu

Ingat bahwa jika Anda salah memasukkan jumlah spasi, Anda akan berakhir dengan pesan kesalahan. Jika Anda memasukkan kode dengan spasi tambahan pada baris keempat, Python akan menampilkan kesalahan identasi:

>>> hugehairypants = ['huge', 'hairy', 'pants']
>>> for i in hugehairypants:
        print(i)
         print(i)

SyntaxError: unexpected indent

Seperti yang Anda pelajari dalam Bab 2.5, Python mengharapkan jumlah spasi di blok secara konsisten. Tidak peduli berapa banyak spasi yang Anda masukkan, selama Anda menggunakan jumlah yang sama untuk setiap baris baru (selain itu membuat kode lebih mudah bagi manusia untuk dibaca).

Berikut adalah contoh yang lebih rumit pada perulangan dengan dua blok kode:

>>> hugehairypants = ['huge', 'hairy', 'pants']
>>> for i in hugehairypants:
        print(i)
        for j in hugehairypants:
                print(j)

Dimana blok dalam kode ini? Blok pertama adalah perulangan for yang pertama:

hugehairypants = ['huge', 'hairy', 'pants']
for i in hugehairypants:
    print(i)                   #
    for j in hugehairypants:   # These lines are the FIRST block.
        print(j)               #

Blok kedua adalah baris print kedua pada perulangan for :

hugehairypants = ['huge', 'hairy', 'pants']
  for i in hugehairypants:
      print(i)
     for j in hugehairypants:
         print(j)              # This line is also the SECOND block.

Dapatkah Anda mencari tahu apa yang akan dilakukan kode ini?

Setelah list yang disebut hugehairypants dibuat, kita bisa mengatakan dari dua baris berikutnya yang akan diulang melalui item dalam list dan mencetaknya masing-masing. Namun, ia akan mengulang atas list itu lagi, kali ini menetapkan nilai ke variabel j, dan kemudian mencetak setiap item lagi. Kode pada baris ke 4 dan 5 masih merupakan bagian dari perualangan for, yang berarti mereka akan dieksekusi untuk setiap item saat perulangan berjalan melalui list.

Jadi, ketika kode ini berjalan, kita harus melihat huge diikuti oleh huge, hairy, pants dan kemudian hairy diikuti oleh hugehairy, pants dan sebagainya.

Masukkan kode ini ke shell Python dan lihat sendiri:

>>> hugehairypants = ['huge', 'hairy', 'pants']
  >>> for i in hugehairypants:
         print(i)
          for j in hugehairypants:
                 print(j)

  huge
    huge
    hairy
    pants
  hairy
    huge
    hairy
    pants
  pants
    huge
    hairy
    pants

Python memasuki perulangan pertama dan mencetak item dari list. Selanjutnya, memasuki perulangan kedua dan mencetak semua item dalam list. Kemudian berlanjut dengan perintah print(i), mencetak item berikutnya dalam daftar, dan kemudian mencetak daftar lengkap lagi dengan print(j).

Bagaimana tentang sesuatu yang lebih praktis daripada mencetak kata-kata konyol? Ingat perhitungan yang kita bahas dalam Bab 2 untuk menentukan berapa banyak koin emas yang akan Anda miliki pada akhir tahun jika Anda menggunakan penemuan gila kakekmu untuk menduplikasi koin? Itu tampak seperti ini:

>>> 20 + 10 * 365 − 3 * 52

Ini merupakan penemuan 20koin ditambah 10 koin magic dikalikan 365 hari dalam setahun, minus 3 koin seminggu dicuri oleh gagak.

Fig 2.6.4. gagak mencuri koin emas

Hal ini mungkin berguna untuk melihat bagaimana tumpukan koin emas Anda akan meningkat setiap minggu. Kita dapat melakukan ini dengan perulangan for yang lain, tapi pertama-tama, kita perlu mengubah nilai variabel magic_coins kami sehingga mewakili jumlah koin sihir per minggu. Itu 10 koin ajaib per hari kali 7 hari dalam seminggu, sehingga magic_coins seharusnya 70:

>>> found_coins = 20
>>> magic_coins = 70
>>> stolen_coins = 3

Kita bisa melihat harta kita meningkat setiap minggu dengan menciptakan variabel lain, yang disebut koin, dan menggunakan loop:

>>> found_coins = 20
  >>> magic_coins = 70
  >>> stolen_coins = 3
 >>> coins = found_coins
 >>> for week in range(1, 53):
         coins = coins + magic_coins - stolen_coins
         print('Week %s = %s' % (week, coins))

Jadi, jika Anda menjalankan program ini, Anda akan melihat sesuatu seperti ini:

Fig 2.6.5. magic coin dengan perulangan

Kita Berbicara Tentang Perulangan While

Perulangan for  bukan satu-satunya jenis perulangan yang bisa Anda dapat buat dalam Python. Ada juga bisa menggunakan perulangan while. Perulangan for adalah perulangan dari panjang tertentu, sedangkan perulangan while  adalah perulangan yang digunakan ketika Anda tidak tahu sebelumnya waktu yang dibutuhkan untuk menghentikan perulangan.

Bayangkan tangga dengan 20 langkah. Tangga di dalam ruangan, dan Anda tahu bahwa Anda dapat dengan mudah naik 20 langkah. Perulangan for akan menjadi seperti itu.

>>> for step in range(0, 20):
        print(step)

Sekarang bayangkan sebuah tangga naik gunung. Gunung ini benar-benar tinggi, dan Anda mungkin kehabisan energi sebelum Anda mencapai puncak, atau cuaca mungkin berubah menjadi buruk, memaksa Anda untuk berhenti. Inilah yang perulangan while akan tampak seperti.

step = 0
while step < 10000:
print(step)
if tired == True:
break
elif badweather == True:
break
else:
step = step + 1

Jika Anda mencoba untuk masuk dan menjalankan kode ini, Anda akan mendapatkan error. Mengapa? Kesalahan terjadi karena kita belum membuat variabel tired dan badweather. Meskipun tidak ada kode cukup di sini untuk benar-benar membuat program kerja, hal ini menunjukkan contoh dasar loop sementara.

Fig 2.6.6. Awan Mendung

Kita mulai dengan menciptakan sebuah variabel yang disebut step dengan step = 0. Selanjutnya, kita membuat perulangan while yang memeriksa apakah nilai dari variabel step kurang dari 10.000 (step <10000), yang merupakan jumlah langkah dari bawah gunung ke atas. Selama langkah kurang dari 10.000, Python akan mengeksekusi sisa kode.

Dengan print(step), kita mencetak nilai variabel dan kemudian memeriksa apakah nilai variabel tired bernilai Benar dengan if tired ==  True:. (True disebut nilai Boolean, yang akan kita pelajari di Bab 2.8.) Jika ya, kita menggunakan kata kunci break untuk keluar dari loop. kata kunci brean adalah cara melompat keluar dari loop (dengan kata lain, berhenti) segera, dan bekerja dengan baik untuk kedua perulangan while dan for. Di sini ia memiliki efek melompat keluar dari blok dan ke baris step = step + 1.

Baris elif badweather == True: memeriksa untuk melihat apakah variabel badweather  diatur ke True. Jika demikian, kata kunci break membuatnya keluar dari perulangan. Jika tidak lelah/tired atau badweather tidak True (yang lain), kita tambahkan 1 ke variabel step dengan step = step + 1, dan terus melakukan perulangan.

Jadi langkah-langkah dari perulangan while adalah sebagai berikut:

  1. Check the condition.
  2. Execute the code in the block.
  3. Repeat.

Lebih umum, perulangan while mungkin dibuat dengan beberapa kondisi, bukan hanya satu, seperti ini:

>>> x = 45
>>> y = 80
>>> while x < 50 and y < 100:
x = x + 1
y = y + 1
print(x, y)

Di sini, kita membuat variabel x dengan nilai 45 , dan variabel y dengan nilai 80. Perulangan mengecek untuk dua kondisi di: apakah x kurang dari 50 dan apakah y kurang dari 100. Sementara kedua kondisi adalah benar, baris yang mengikutinya dijalankan, menambahkan 1 untuk kedua variabel dan kemudian mencetaknya. Berikut output dari kode ini:

46 81
47 82
48 83
49 84
50 85

Dapatkah Anda mencari tahu bagaimana ini bekerja?

Kami mulai menghitung pada 45 untuk variabel x dan pada 80 untuk variabel y, dan kemudian tembahkan 1 (tambahkan 1 untuk setiap variabel) setiap kali kode dalam perulangan dijalankan. Perulangan akan berjalan selama x kurang dari 50 dan y kurang dari 100. Setelah perulangan lima kali (1 ditambahkan ke masing-masing variabel setiap kali), nilai dalam x mencapai 50. Sekarang kondisi pertama (x <50) tidak lagi benar, sehingga Python tahu untuk menghentikan perulangan.

Penggunaan umum lainnya dari perulangan while adalah untuk menciptakan loop semi-abadi. Ini adalah jenis loop yang bisa berlangsung selamanya, tetapi sebenarnya terus sampai sesuatu terjadi dalam kode untuk keluar dari itu. Berikut ini adalah contohnya:

while True:
lots of code here
lots of code here
lots of code here
if some_value == True:
break

Kondisi perulangan while hanya True, yang selalu benar, sehingga kode di blok akan selalu berjalan (dengan demikian, loop abadi). Hanya jika variabel some_value  benar Python akan keluar dari loop.

Apa Yang Telah Kamu Pelajari

Dalam bab ini, kami menggunakan perulangan untuk melakukan tugas yang berulang tanpa melakukan semua pengulangan. Kita diberitahu Python apa yang kita inginkan berulang dengan menulis tugas-tugas tersebut di dalam blok kode, yang kita masukkan ke dalam perulangan. Kami menggunakan dua jenis perulangan: perulangan for dan perulangan while, yang serupa tetapi dapat digunakan dalam cara yang berbeda. Kami juga menggunakan kata kunci break untuk menghentikan perulangan – yaitu, untuk keluar dari lingkaran.

Teka-teki Pemrograman

1. Perulangan Hello

Menurutmu apa yang akan dilakukan kode program ini? Pertama, coba tebak, lalu kemudian coba jalankan di python untuk melihat apakah tebakanmu benar.

for x in range(0, 20):
   print('hello %s', % x)
   if x < 9:
      break

2. Bilangan Genap

Buat sebuah perulangan yang mencetak angka genap sampai mencapai umur kamu sekarang, jika umur kamu berupa bilangan ganjil, cetak bilangan ganjil hingga mencapai bilangan umur kamu. Sebagai contoh, ia mungkin akan mencetak bilangan seperti dibawah ini:

2
4
6
8
10
12
14

3. Rasa Favorit Saya

Buatlah sebuah list yang berisi rasa sandwich yang berbeda-beda, seperti dibawah ini:

ingredients = ['ayam bakar', 'sapi barbeque', 'kambing guling', 'bebek goreng peking', 'sate kerbau']

Sekarang buat perulangan yang mencetak list  (termasuk angka):

1 ayam bakar
2 sapi barbeque
3 kambing guling
4 bebek goreng peking
5 sate kerbau

4. Berat badan kamu di bulan

Jika kamu berdiri di bulan sekarang, berat kamu akan berkurang 16,5% dari berat kamu di bumi. Kamu bisa menghitungnya dengan mengalikan berat badan kamu di bumi dengan 0,165.

Jika kamu bertambah 1 kilo setiap tahun selama 15 tahun kedepan, berapa berat badan kamu ketika mengunjungi bulan setiap tahunnya dan pada tahun ke 15? Tulislah sebuah program menggunakan perulangan yang mencetak berat badan kamu di bulan setiap tahunnya.

Categories: Buku Komputer, Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 8 { If dan Else }

2.5. Bertanya dengan If dan Else

Dalam pemrograman, kita sering bertanya dengan  pertanyaan ya atau tidak, dan memutuskan untuk melakukan sesuatu tergantung jawabannya. Sebagai contoh, kita mungkin bertanya, “Apakah kamu lebih tua dari 20 tahun?” dan jika jawabannya ya, akan diberikan respon “Kamu terlalu tua!”. Pertanyaan pendek ini disebut Conditions, dan kita menggabungkan kondisi dan respon menjadi statement if. Kondisi bisa lebih rumit dari satu pertanyaan, dan statement if juga bisa dikombinasikan dengan banyak pertanyaan dan respon yang berbeda tergantung jawaban tiap pertanyaan yang diberikan. Dalam bab ini kamu akan belajar bagaimana menggunakan pernyataan if untuk membuat program.

Pernyataan if

Sebuah pernyataan if mungkin ditulis dalam Python seperti ini:

>>> age = 13
>>> if age > 20:
        print('You are too old!')

Sebuah pernyataan if jika dibuat dengan keyword if, diikuti dengan sebuah kondisi dan sebuah titik dua (:), seperti dalam if age > 20:. Baris dibawah kolom haruslah sebuah blok, dan jika jawaban dari pertanyaan ini adalah ya (atau true, dalam bahasa pemrograman python), perintah dalam blok akan dijalankan. Sekarang, mari kita tinjau bagaimana menulis blok dan kondisi.

Fig 2.5.1. Gambar anjing

Blok adalah Sekelompok Pernyataan Pemrograman

Sebuah blok kode program adalah seperangkat pernyataan pemrograman yang dikelompokkan. Sebagai contoh, ketika jika usia > 20: benar, Anda mungkin ingin melakukan lebih dari sekedar mencetak “Kau terlalu tua!” Mungkin Anda ingin mencetak beberapa kalimat pilihan lain, seperti ini:

>>> age = 25
>>> if age > 20:
        print('You are too old!')
        print('Why are you here?')
        print('Why aren\'t you mowing a lawn or sorting papers?')

Blok kode ini terdiri dari tiga pernyataan print/cetak yang dijalankan hanya jika kondisi usia > 20 ditemukan. Setiap baris di blok tersebut memiliki empat spasi di awal, bila Anda membandingkannya dengan pernyataan if di atasnya. Mari kita lihat kode itu lagi, dengan spasi yang terlihat:

>>> age = 25
>>> if age > 20:
    ▯▯▯▯print('You are too old!')
    ▯▯▯▯print('Why are you here?')
    ▯▯▯▯print('Why aren\'t you mowing a lawn or sorting papers?')

Dalam Python, whitespace, seperti sebuah tab (dimasukkan ketika kamu menekan tombol [tab]) atau sebuah spasi (dimasukkan ketika kamu menekan tombol spacebar), adalah berharga. Kode yang berada pada posisi yang sama (menjorok dengan sejumlah spasi dari margin kiri) adalah dikelompokkan menjadi sebuah blok, dan ketika kamu memulai dengan baris yang baru dengan spasi lebih banyak dari sebelumnya, kamu memulai sebuah blok baru yang merupakan bagian dari blok sebelumnya, seperti ini:

Fig 2.5.2. blok kode python

Kami mengelompokkan pernyataan bersama-sama ke dalam sebuah blok karena mereka saling berhubungan. Pernyataan harus dijalankan bersama-sama. Bila Anda mengubah lekukan/identasi, Anda biasanya membuat blok baru. Contoh berikut ini menunjukkan tiga blok terpisah yang dibuat hanya dengan mengubah lekukan.

Fig 2.5.3. blok kode python 2

Di sini, meskipun blok 2 dan 3 memiliki lekukan yang sama, mereka dianggap blok yang berbeda karena ada blok dengan lekukan yang kurang (lebih sedikit spasi) di antara mereka.

Untuk itu, sebuah blok dengan empat spasi pada satu baris dan enam spasi pada berikutnya akan menghasilkan kesalahan lekukan ketika Anda menjalankannya, karena Python mengharapkan Anda untuk menggunakan jumlah spasi yang sama untuk semua baris dalam blok. Jadi jika Anda memulai blok dengan empat spasi, Anda harus secara konsisten menggunakan empat spasi untuk blok tersebut. Berikut ini adalah contohnya:

>>> if age > 20:
    ▯▯▯▯print('You are too old!')
    ▯▯▯▯▯▯print('Why are you here?')

Saya membuat spasinya terlihat jadi kamu bisa melihat perbedaanya. Perhatikan bahwa baris ketiga memiliki enam spasi alih-alih menggunakan empat spasi.

Ketika kamu menjalankan kode ini, IDLE akan menyoroti baris dimana ia tampaknya bermasalah dengan blok merah dan menampilkan penjelasan pesan SintaxError :

>>> age = 25
>>> if age > 20:
        print('You are too old!')
          print('Why are you here?')
SyntaxError: unexpected indent

Python tidak mengharapkan untuk melihat dua spasi tambahan pada awal baris print yang kedua.

Catatan:

Gunakan spasi secara konsisten untuk membuat kode Anda lebih mudah dibaca. Jika Anda mulai menulis sebuah program dan menempatkan empat spasi pada awal blok, tetap menggunakan empat spasi pada awal blok lain dalam program Anda. Juga, pastikan untuk menjorokkan setiap baris di blok yang sama dengan jumlah spasi yang sama.

Kondisi Membantu Kita Membandingkan Sesuatu

Sebuah kondisi adalah pernyataan pemrograman yang membandingkan sesuatu dan memberitahu kita apakah kriteria yang ditetapkan dalam perbandingan adalah bernilai True (yes ) atau False (no). Sebagai contoh, kondisi  age > 10, dan ini adalah cara lain untuk mengatakan “Apakah nilai dari variabel age lebih besar dari 10?” Ini juga kondisi: hair_color == ‘mauve’, yang mana adalah cara lain untuk mengatakan, “Apakah nilai variabel hair_color adalah mauve?”

Kita menggunakan simbol di Python (disebut operators) untuk membuat kondisi yang kita inginkan, seperti sama dengan, lebih besar dari, dan lebih kecil dari. Tabel 5-1 mendaftar beberapa simbol kondisi.

Fig 2.5.4. tabel simbol kondisi

Misalnya, jika Anda berusia 10 tahun, kondisi your_age == 10 akan mengembalikan nilai True/Benar, jika tidak, ia akan mengembalikan nilai  False/Salah. Jika Anda berusia 12 tahun, kondisi your_age> 10 akan mengembalikan nilai Benar.

Peringatan:
Pastikan untuk menggunakan tanda sama dengan ganda (==) ketika mendefinisikan kondisi – sama dengan.

Mari kita coba beberapa contoh. Di sini, kita menetapkan usia kita sama dengan 10 dan kemudian menulis sebuah pernyataan kondisional yang akan mencetak “Kamu terlalu tua untuk lelucon saya!” Jika umur lebih besar dari 10:

>>> age = 10
>>> if age > 10:
        print('You are too old for my jokes!')

Apa yang terjadi ketika kita mengetikkan ini di IDLE dan menekan [enter]?

Tidak ada.

Karena nilai yang dikembalikan oleh usia/age tidak lebih besar dari 10, Python tidak mengeksekusi (menjalankan) blok print. Namun, jika kita telah menetapkan variabel usia/age sama dengan 20, pesan akan dicetak.

Fig 2.5.5. Gambar Badut

Sekarang mari kita mengubah contoh sebelumnya dengan menggunakan  “lebih besar dari atau sama dengan” (> =) sebagai  kondisinya:

>>> age = 10
>>> if age >= 10:
        print('You are too old for my jokes!')

Kamu seharusnya melihat “You are too old for my jokes!” Dicetak ke layar karena nilai minimum adalah sama dengan 10.
Selanjutnya, mari kita coba menggunakan kondisi “sama dengan” (==):

>>> age = 10
>>> if age == 10:
        print('What\'s brown and sticky? A stick!!')

Anda akan melihat pesan “‘What’s brown and sticky? A stick!!” dicetak ke layar.

Pernyataan if-then-else

Di samping menggunakan pernyataan if untuk melakukan sesuatu ketika kondisi terpenuhi (True), kita juga dapat menggunakan pernyataan if untuk melakukan sesuatu ketika kondisi tidak terpenuhi atau bernilai salah (False). Sebagai contoh, kita bisa mencetak satu pesan ke layar jika usia Anda adalah 12 dan pesan lainnya jika usianya bukan 12 (False).

Kuncinya di sini adalah dengan menggunakan pernyataan if-then-else, yang pada dasarnya mengatakan “Jika ada sesuatu yang benar, kemudian melakukan hal ini,. Atau jika salah, lakukan itu”

Mari kita membuat pernyataan if-then-else. Masukkan berikut kode ini ke shell:

>>> print("Want to hear a dirty joke?")
Want to hear a dirty joke?
>>> age = 12
>>> if age == 12:
        print("A pig fell in the mud!")
else:
        print("Shh. It's a secret.")

A pig fell in the mud!

Kamu seharusnya akan melihat tulisan “A pig fell in the mud!”.

Karena kita sudah mengatur variabel usia sama dengan 12, dan kondisi ini menanyakan apakah usia sama dengan 12? Anda akan melihat pesan pertama tercetak di layar. Sekarang coba mengubah nilai usia ke angka selain 12, seperti ini:

>>> print("Want to hear a dirty joke?")
Want to hear a dirty joke?
>>> age = 8
>>> if age == 12:
        print("A pig fell in the mud!")
else:
        print("Shh. It's a secret.")

Shh. It's a secret.

Kali ini, kamu akan melihat pesan kedua tercetak .

Pernyataan if dan elif

Kita dapat memperpanjang pernyataan if lebih jauh dengan elif (yang merupakan kependekan else-if). Sebagai contoh, kita dapat memeriksa apakah usia seseorang adalah 10, 11, atau 12 (dan seterusnya) dan program kita melakukan sesuatu yang berbeda berdasarkan jawaban yang diberikan. Pernyataan ini berbeda dengan pernyataan if-thenelse karena dengan pernyataan elif bisa digunakan lebih dari satu pernyataan elif:

Fig 2.5.6. penyataan elif

Dalam contoh ini, jika pernyataan pada baris kedua memeriksa untuk melihat apakah nilai variabel usia sama dengan 10 di (1). Pernyataan print yang berikutnya (2) di dijalankan jika usia sama dengan 10. Namun, karena kita telah menetapkan usia sama dengan 12, komputer melompat ke pernyataan elif di depannya (3) dan memeriksa apakah nilai usia/age adalah sama dengan 11. Dalam hal ini tenyata tidak, sehingga komputer melompat ke pernyataan elif di depannya (4) untuk melihat apakah usia sama dengan 12. Maka kali ini, komputer mengeksekusi perintah cetak pada blok dibawahnya (5).

Fig 2.5.7. gambar animasi penyataan elif

Mengkombinasikan Kondisi

Kamu bisa mengkombinasikan kondisi dengan menggunakan keyword and dan or, yang menghasilkan kode program yang simpel dan lebih pendek. Disini adalah contoh penggunaan or:

>>> if age == 10 or age == 11 or age == 12 or age == 13:
print('What is 13 + 49 + 84 + 155 + 97? A headache!')
else:
print('Huh?')

Dalam kode ini, jika salah satu kondisi pada baris pertama adalah benar (dengan kata lain, jika usia 10, 11, 12, atau 13), blok kode pada baris berikutnya dimulai dengan print akan dijalankan.

Jika kondisi di baris pertama tidak benar (yang lain), Python pindah ke blok di baris terakhir, menampilkan Huh? di layar.

Untuk mengecilkan contoh ini lebih jauh, kita bisa menggunakan kata kunci and, bersama dengan operator lebih besar dari atau sama dengan (>=) dan operator kurang dari atau sama dengan (<=), sebagai berikut:

>>> if age >= 10 and age <= 13:
print('What is 13 + 49 + 84 + 155 + 97? A headache!')
else:
print('Huh?')

Di sini, jika usia lebih besar dari atau sama dengan 10 dan kurang dari atau sama dengan 13, sebagaimana didefinisikan pada baris pertama dengan jika usia >= 10 dan usia <= 13:, blok kode yang diawali dengan print pada baris berikutnya akan dijalankan. Misalnya, jika nilai age adalah 12, maka “What is 13 + 49 + 84 + 155 + 97? A headache!” akan dicetak ke layar, karena 12 adalah lebih dari 10 dan kurang dari 13.

Variabel dengan tanpa nilai — None

Sama seperti kita dapat menetapkan angka, string, dan list ke variabel, kita juga dapat menetapkan tidak ada apa-apa, atau nilai kosong, untuk variabel. Dalam Python, nilai kosong disebut sebagai None, dan itu adalah tidak adanya nilai. Dan penting untuk dicatat bahwa Tidak ada nilai berbeda dari nilai 0 karena ini adalah tidak adanya nilai, bukan adanya nilai nomor dengan nilai 0. Satu-satunya nilai yang variabel miliki ketika kita memberikan nilai kosong None adalah tidak ada apa-apa. Berikut ini adalah contohnya:

>>> myval = None
>>> print(myval)
None

Menetapkan nilai Kosong untuk variabel adalah salah satu cara untuk me-reset ke kondisi aslinya, keadaan yang kosong. Menetapkan variabel ke None juga merupakan cara untuk mendefinisikan variabel tanpa pengaturan nilainya. Anda mungkin melakukan hal ini ketika Anda tahu Anda akan membutuhkan variabel kemudian dalam program Anda, tetapi Anda ingin mendefinisikan semua variabel Anda di awal. Programmer sering mendefinisikan variabel mereka pada awal program karena menempatkan mereka di sana membuatnya mudah untuk melihat nama-nama semua variabel yang digunakan oleh serangkaian kode.

Anda dapat memeriksa bahwa hal seperti itu ada dalam sebuah pernyataan if juga, seperti dalam contoh berikut:

>>> myval = None
>>> if myval == None:
print("The variable myval doesn't have a value")

The variable myval doesn't have a value

Hal ini berguna bila Anda hanya ingin menghitung nilai variabel jika memang belum pernah dihitung.

Perbedaan String dan Angka

Input pengguna adalah apa yang seseorang masukkan melalui keyboard, apakah itu karakter, panah ditekan atau tombol enter, atau apa pun. Input pengguna datang ke Python sebagai string, yang berarti bahwa ketika anda mengetik nomor 10 pada keyboard Anda, Python menyimpan angka 10 ke dalam variabel sebagai string, bukan angka.

Apa perbedaan antara nomor 10 dan string ’10 ‘? Keduanya terlihat sama kepada kami, dengan satu-satunya perbedaan adalah bahwa satu dikelilingi oleh tanda kutip. Tetapi untuk komputer, keduanya sangat berbeda.

Sebagai contoh, misalkan kita membandingkan nilai variabel usia/age dengan nomor dalam sebuah pernyataan if, seperti ini:

>>> if age == 10:
print("What's the best way to speak to a monster?")
print("From as far away as possible!")

 

Kemudian kita mengatur variabel age menjadi angka 10 :

>>> age = 10
>>> if age == 10:
print("What's the best way to speak to a monster?")
print("From as far away as possible!")
What's the best way to speak to a monster?
From as far away as possible!

 

Seperti yang Anda lihat, pernyataan print dijalankan.

Selanjutnya, kita menetapkan age ke string ’10 ‘(dengan tanda kutip), seperti ini:

>>> age = '10'
>>> if age == 10:
print("What's the best way to speak to a monster?")
print("From as far away as possible!")

 

Di sini, kode dalam pernyataan print tidak dijalankan karena Python tidak melihat nomor dalam tanda kutip (string) sebagai angka.

Untungnya, Python memiliki fungsi ajaib yang dapat mengubah string menjadi angka dan angka ke string. Sebagai contoh, Anda dapat mengkonversi string ’10’ menjadi angka dengan int:

>>> age = '10'
>>> converted_age = int(age)

 

 

Variabel converted_age sekarang akan terus bertipe angka dengan nilai 10.

Untuk mengkonversi angka menjadi string, gunakan fungsi str:

>>> age = 10
>>> converted_age = str(age)

 

Dalam hal ini, converted_age akan memegang string 10 bukan angka 10.

Ingat bahwa pernyataan if age == 10  yang tidak mencetak apa-apa ketika variabel ditetapkan sebagai string (age = ’10 ‘)? Jika kita mengubah variabel terlebih dahulu, kita mendapatkan hasil yang sama sekali berbeda:

>>> age = '10'
>>> converted_age = int(age)
>>> if converted_age == 10:
print("What's the best way to speak to a monster?")
print("From as far away as possible!")
What's the best way to speak to a monster?
From as far away as possible!

 

Tapi dengar ini: Jika Anda mencoba untuk mengubah nomor dengan titik desimal, Anda akan mendapatkan error karena fungsi int mengharapkan integer.

>>> age = '10.5'
>>> converted_age = int(age)
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
converted_age = int(age)
ValueError: invalid literal for int() with base 10: '10.5'

 

Sebuah ValueError adalah yang Python gunakan untuk memberitahu Anda bahwa nilai yang Anda telah coba untuk digunakan tidak tepat. Untuk mengatasinya, gunakan fungsi float bukan int. Fungsi float dapat menangani angka yang bukan bilangan bulat.

>>> age = '10.5'
>>> converted_age = float(age)
>>> print(converted_age)
10.5

 

 

Anda juga akan mendapatkan ValueError jika Anda mencoba untuk mengkonversi string yang tidak mengandung angka menjadi angka:

>>> age = 'ten'
>>> converted_age = int(age)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
converted_age = int(age)
ValueError: invalid literal for int() with base 10: 'ten'

 

Apa Yang Telah Kamu Pelajari

Dalam bab ini, Anda belajar bagaimana bekerja dengan pernyataan if untuk membuat blok kode yang dijalankan hanya jika kondisi tertentu adalah benar. Anda melihat bagaimana untuk memperpanjang pernyataan if menggunakan Elif sehingga bagian yang berbeda dari kode akan dieaksekusi sebagai akibat dari kondisi yang berbeda, dan bagaimana menggunakan kata kunci else untuk mengeksekusi kodenya jika tidak ada kondisi yang bernilai benar. Anda juga belajar bagaimana untuk menggabungkan kondisi menggunakan kata kunci and dan or  sehingga Anda dapat melihat apakah nilai angkanya berada dalam kisaran tertentu, dan bagaimana mengubah string menjadi angka dengan int, str, dan float. Dan Anda menemukan bahwa tidak ada (None) memiliki makna dalam Python dan dapat digunakan untuk me-reset variabel ke kondisi awal, keadaan kosong mereka.

 

Categories: Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 7 { Modul Turtles dan Kanvas }

2.4. Menggambar dengan Turtles

Turtle (Kura-kura) di Python adalah semacam kura-kura di dunia nyata. Kita tahu kura-kura sebagai reptil yang bergerak di sekitar dengan sangat lambat dan membawa rumah di punggungnya. Dalam dunia Python, kura-kura adalah panah hitam kecil,  yang bergerak perlahan-lahan di sekitar layar. Sebenarnya, mengingat bahwa kura-kura Python meninggalkan jejak ketika bergerak di sekitar layar, itu sebenarnya kurang mirip dengan kura-kura dan lebih seperti siput.

Turtle merupakan cara yang baik untuk mempelajari beberapa dasar-dasar komputer grafis, maka dalam bab ini, kita akan menggunakan turtle Python untuk menarik beberapa bentuk grafis dan garis sederhana.

Menggunakan modul turtle pada Python

Sebuah modul dalam Python adalah cara memberikan kode yang berguna untuk digunakan kembali oleh program lain (antara lain, modul dapat berisi fungsi yang bisa kita gunakan). Kita akan belajar lebih banyak tentang modul dalam Bab 7. Python memiliki modul khusus yang disebut turtle yang bisa kita gunakan untuk belajar bagaimana komputer menggambar di layar. Modul turtle adalah cara untuk memprogram gambar vektor, yang pada dasarnya hanya menggambar dengan garis-garis sederhana, titik, dan kurva.

Fig 2.4.1. modul turtle pythonMari kita lihat bagaimana turtle bekerja. Pertama buka shell Python dengan mengeklik ikonnya di desktop (atau jika kamu menggunakan Ubuntu, pilih Applications > Programming > IDLE). Kemudian beritahu Python untuk menggunakan turtle dengan mengimport modul turtle, seperti berikut ini :

>>> import turtle

Mengimpor sebuah modul memberitahu Python bahwa kamu ingin menggunakannya.

Catatan :

Jika kamu menggunakan Ubuntu dan kamu mendapatkan error pada saat ini, kamu mungkin perlu untuk menginstall tkinter. Untuk melakukannya, buka Ubuntu Software Center dan ketik python-tk dalam box pencarian. “Tkinter – Writing TK Applications with Python” seharusnya tampil di window. Klik Install untuk menginstal paket ini.

Membuat sebuah Kanvas

Sekarang kita telah mengimpor modul turtle, kita harus membuat sebuah kanvas — Ruang kosong untuk menggambar, seperti kanvas seorang seniman. Untuk melakukkannya, kita memanggil fungsi Pen dari modul turtle, yang secara otomatis membuat sebuah kanvas. Masukkan ini ke shell Pyhton :

>>> t = turtle.Pen()

Kamu seharusnya akan melihat kotak kosong (kanvas), dengan anak panah di tengah, seperti ini :

Fig 2.4.2. kanvas pada turtle python

Anak panah di tengah layar adalah turtle (kura-kura), dan kamu benar — ia tidak mirip kura-kura. Jika jendela Turtle tampil dibelakan jendela shell Python, kamu akan menemukan tampaknya ia tidak akan bekerja dengan benar. Ketika kamu meletakkan kursor mouse di atas jendela Turtle, kursor itu akan berubah menjadi jam pasir seperti ini :

Fig 2.4.3. kanvas pada turtle python tidak bekerja dengan benar

Ini bisa terjadi kareana beberapa alasan: kamu tidak memulai shell dari icon di desktop (Jika kamu menggunakan Windows atau Mac), kamu mengeklik IDLE (GUI Python) di start menu windows, atau IDLE tidak terinstal dengan benar. Cobalah untuk keluar dan merestart shell dari ikon pada desktop. Jika itu juga gagal, cobalah gunakan consol Python dari pada menggunakan shell, seperti berikut ini:

  • Di Windows, pilih Start > All Programs, dan dalam group Python 3.2, klik Python (command line).
  • Di Mac OS X, klik ikon Spotlight pada pojok kanan atas di layar dan masukkan Terminal di kotak input. Kemudian masukkan python ketika terminal telah terbuka.
  • Di Ubuntu, buka terminal dari menu Applications kamu dan masukkan python.

Menggerakkan Kura-Kura (Turtle)

Kamu mengirim instruksi ke turtle dengan menggunakan fungsi yang tersedia pada variabel t yang baru saja kita buat, sama seperti menggunakan fungsi pen di modul turtle. Sebagai contoh instruksi forward memberitahu turtle untuk maju kedepan. Untuk memberitahu turtle agar maju sejauh 50 pixel, masukkan perintah berikut :

Fig 2.4.4. moving turtle

t.forward(50)

Kamu seharusnya melihat sesuatu seperti ini :

Fig 2.4.5. moving turtle execution

Kura-kura telah maju sejauh 50 piksel. Piksel adalah satu titik di layar – elemen terkecil yang bisa ditampilkan. Segala sesuatu yang kamu lihat di monitor terbuat dari piksel, titik segiempat yang sangat kecil. Jika kamu bisa memperbesarnya di kanvas dan garis yang digambar oleh kura-kura, kamu akan bisa melihat anak panah yang mewakili perjalanan kura-kura adalah sekelompok piksel. Itu adalah grafis komputer sederhana.

Fig 2.4.6. turtle piksel

Sekarang kita akan memberitahu kura-kura untuk berbelok ke kiri 90 derajat dengan perintah berikut:

t.left(90)

Jika kamu belum belajar tentang derajat, ini adalah bagaimana memahami tentang mereka. Bayangkan kamu sedang berdiri di tengah sebuah lingkaran.

  • arah kamu menghadap adalah 0 derajat.
  • jika kamu mengulurkan tangan kiri kamu, itu adalah 90 derajat ke kiri.
  • jika kamu mengulurkan tangan kanan kamu, itu adalah 90 derajat ke kanan.

Kamu bisa melihat 90 derajat ini berputar ke kiri atau ke kanan disini:

Fig 2.4.7.putaran 90 derajat

Jika kamu terus mengelilingi lingkaran ke kanan dari mana lengan kanan menunjuk, 180 derajat adalah tepat di belakang Anda, 270 derajat adalah arah lengan kiri menunjuk, dan 360 derajat kembali di mana Anda mulai, derajat pergi dari 0-360. Derajat dalam lingkaran penuh, saat memutar ke kanan, dapat dilihat di sini secara bertahap 45 derajat:

Fig 2.4.8.derajat dalam kelipatan 45 derajat

Ketika kura-kura Python berbelok ke kiri, ia memutar ke arah yang baru (sama seperti jika Anda berbalik arah ke arah lengan kamu yang menunjuk 90 derajat ke kiri).

Perintah t.left (90)  membuat anak panah menunjuk ke atas (sejak anak panah itu dimulai dengan menunjuk ke kanan):

Fig 2.4.9.memutar 90 derajat ke kanan

Catatan:

Ketika kamu memanggil t.left (90), itu sama seperti memanggil t.right (270). Hal ini juga berlaku untuk memanggil t.right (90), yang sama dengan t.left (270). Bayangkan saja lingkaran itu dan ikuti bersama dengan derajat.

Sekarang kita akan menggambar persegi. Tambahkan kode berikut ke baris yang telah kamu ketikkan:

>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)

Kura-kura kamu seharusnya menggambar persegi dan sekarang harus menghadap ke arah yang sama ketika itu dimulai:

Fig 2.4.10.menggambar persegi dengan turtle

Untuk menghapus kanvas, masukkan reset. Ini membersihkan kanvas dan menempatkan kura-kura kembali pada posisi awal.

>>> t.reset()

Kamu juga bisa menggunakan clear, yang hanya membersihkan layar dan membiarkan kura-kura tetap pada posisi terakhirnya.

>>> t.clear()

Kita juga dapat membuat kura-kura memutar ke kanan atau bergerak ke belakang. Kita dapat menggunakan up untuk mengangkat pena dari halaman (dengan kata lain, memberitahu kura-kura untuk berhenti menggambar), dan down untuk memulai menggambar lagi. Fungsi-fungsi ini ditulis dengan cara yang sama seperti yang lain yang telah kita gunakan.

Mari kita coba menggambar lainnya menggunakan beberapa perintah ini. Kali ini, kita akan meminta kura-kura menggambar dua garis. Masukkan kode berikut:

>>> t.reset()
>>> t.backward(100)
>>> t.up()
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.down()
>>> t.forward(100)

Pertama, kita menghapus ulang kanvas dan memindahkan kura-kura kembali ke posisi awal dengan t.reset(). Selanjutnya, kita meminta kura-kura bergerak mundur 100 piksel dengan t.backward (100), dan kemudian menggunakan t.up() untuk mengambil pena dan berhenti menggambar.

Fig 2.4.11.menarik pena kura-kura keatas

Kemudian, dengan perintah t.right(90), kita memutar kura-kura ke kanan 90 derajat untuk menunjuk ke bawah, ke arah bawah layar, dan dengan t.forward (20), kita bergerak maju 20 piksel. Tidak ada yang ditarik karena penggunaan perintah pada baris ketiga. Kami memutar ke kiri 90 derajat untuk menghadap ke kanan dengan perintah t.left (90), dan kemudian dengan perintah down, kami memberitahu kura-kura untuk menempatkan pena kembali dan mulai menggambar lagi. Akhirnya, kita menarik garis ke depan, sejajar dengan baris pertama yang kita buat, dengan t.forward (100). Dua garis paralel telah kita buat akhir tampak seperti ini:

Fig 2.4.12.menggambar 2 garis sejajar dengan turtle

Apa Yang Telah Kamu Pelajari

Dalam bab ini, kamu belajar bagaimana menggunakan modul turtle Python. Kami menggambar beberapa garis sederhana, menggunakan secara bergantian perintah left dan right dan forward dan backward. Anda menemukan cara untuk menghentikan penyu dari gambar menggunakan up, dan mulai menggambar lagi dengan down. Anda juga menemukan bahwa kura-kura memutar menurut derajat putaran.

Teka-teki Pemrograman

Cobalah menggambah beberapa dari bentuk berikut ini dengan turtle.

#1. Persegi Panjang

Buat kanvas baru menggunakan fungsi Pen dari modul turtle dan kemudian menggambar persegi panjang.

#2. Segitiga

Buat kanvas lain, dan kali ini, menggambar segitiga. Lihat kembali diagram lingkaran dengan derajat  untuk mengingatkan diri sendiri ke arah mana kura-kura harus memutar menggunakan derajat.

#3.  Kotak tanpa sudut

Menulis sebuah program untuk menggambar empat baris yang ditampilkan di sini (ukuran tidak penting, hanya bentuk):

Fig 2.4.13.menggambar kotak tanpa sudut dengan turtle

Categories: Pemrograman Komputer, Python | Tag: | 1 Komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 6 { Quiz : String, list, tuple, dan map }

Dibawah ini adalah beberapa percobaan yang bisa kamu coba sendiri.

#1. Favorit

Buatlah daftar hobi favorit Anda dan memberikan list/daftar dalam nama variabel game. Sekarang buat list/daftar makanan favorit Anda dan beri nama variabelnya dengan makanan. Gabungkan dua list tersebut dan simpan hasilnya dalam variabel favorit. Akhirnya, cetak variabel favorit.

#2. Menghitung Pejuang

Jika ada 3 bangunan dengan 25 ninja yang bersembunyi di setiap atap dan 2 terowongan dengan 40 samurai bersembunyi di dalam setiap terowongan, berapa banyak ninja dan samurai di sekitar tempat tersebut yang akan melakukan pertempuran? (Anda dapat melakukan ini dengan satu persamaan di shell Python.)

#3. Ucapan Selamat Datang

Buat dua variabel: satu yang menunjuk ke nama pertama Anda dan satu yang menunjuk ke nama belakang Anda. Sekarang buat string dan gunakan penampung untuk mencetak nama Anda dengan pesan menggunakan dua variabel, seperti “Halo, Dina Mariana!”

Categories: Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 5 { Tuple dan Map }

Tuple

Tuple mirip dengan sebuah list yang menggunakan tanda kurung (), seperti contoh dibawah ini:

>>> fibs = (0, 1, 1, 2, 3)
>>> print(fibs[3])
2

diatas kita mendefinisikan variabel fibs yang berisi angka 0,1,1,2 dan 3. Kemudian seperti sebuah list, kita mencetak item pada posisi index ke 3 dalam tuple menggunakan print(fibs[3]).

Perbedaan utama antara list dan tuple adalah sekali kamu membuat tuple, kamu tidak dapat mengubah isinya lagi. Sebagai contoh, jika kita mencoba untuk menggati nilai pertama dari tuple fibs dengan angka 4, kita akan mendapatkan pesan error.

>>> fibs[0] = 4
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    fibs[0] = 4
TypeError: 'tuple' object does not support item assignment

Mengapa kamu harus menggunakan tuple daripada list? Pada dasarnya karena akan sangat berguna jika menggunakan sesuatu yang kamu tahu tidak akan pernah berubah. Jika kamu membuat sebuah tuple dengan dua elemen di dalamnya, akan selalu ada dua elemen itu di dalamnya.

Maps pada Python tidak Akan Membantu Anda Menemukan Jalan

Dalam Python, sebuah map (juga disebut sebuah dict, kependekan dari dictionary) adalah kumpulan sesuatu, seperti list dan tuple. Perbedaan antara maps dan lists atau tuples adalah dalam map setiap item memiliki sebuah key yang terhubung dengan sebuah value/nilai.

Sebagai contoh, katakanlah kita punya daftar orang dan olah raga favorit mereka. Kita bisa menaruh informasi ini dalam list python, dengan nama orang diikuti olah raga favorit mereka, seperti :

>>> favorite_sports = ['Ralph Williams, Football',
                   'Michael Tippett, Basketball',
                   'Edward Elgar, Baseball',
                   'Rebecca Clarke, Netball',
                   'Ethel Smyth, Badminton',
                   'Frank Bridge, Rugby']

Jika saya bertanya padamu apa olah raga favorit Rebecca Clarke, kamu dapat mencarinya dengan melihat list tersebut dan menemukan jawabannya adalah netball. Tapi bagaimana jika list berisi 100 (atau lebih) orang?

Fig 2.3.10. maps pythonSekarang jika ketika kita menyimpan informasi yang sama di map, dengan nama orang sebagai key dan olah raga favoritnya sebagai nilainya, kode pythonnya akan tampak seperti berikut ini :

>>> favorite_sports = {'Ralph Williams' : 'Football',
                   'Michael Tippett' : 'Basketball',
                   'Edward Elgar' : 'Baseball',
                   'Rebecca Clarke' : 'Netball',
                   'Ethel Smyth' : 'Badminton',
                   'Frank Bridge' : 'Rugby'}

Kita menggunakan titik dua (:) untuk memisahkan kunci/key dari nilai/value nya, dan tiap kunci dan nilai dikelilingi tanda petik tunggal. Perhatikan, juga, item-item dalam map tertutup oleh tanda kurung kurawal ({}), bukan tanda kurung atau braket persegi ([ ]).

Hasilnya adalah sebuah map (setiap kunci memetakan nilai tertentu), seperti dalam tabel 3.1 dibawah ini.

Fig 2.3.11. Tabel maps olah raga favorit tiap orangSekarang untuk mendapatkan olah raga favorit Rebecca Clarke, kita mengakses map favorite_sport menggunakan namanya sebagai kunci, seperti :

>>> print(favorite_sports['Rebecca Clarke'])
Netball

Dan jawabannya adalah netball. Untuk menghapus nilai dari dalam mapm gunakan kuncinya. Sebagai contoh, Disini adalah bagaiman menghapus Ethel Smyth:

>>> del favorite_sports['Ethel Smyth']
>>> print(favorite_sports)
{'Rebecca Clarke': 'Netball', 'Michael Tippett': 'Basketball', 'Ralph
 Williams': 'Football', 'Edward Elgar': 'Baseball', 'Frank Bridge': 'Rugby'}

Untuk mengganti nilai dalam map, kita juga menggunakan kuncinya :

>>> favorite_sports['Ralph Williams'] = 'Ice Hockey'
>>> print(favorite_sports)
{'Rebecca Clarke': 'Netball', 'Michael Tippett': 'Basketball', 'Ralph
 Williams': 'Ice Hockey', 'Edward Elgar': 'Baseball', 'Frank Bridge': 'Rugby'}

Kita mengganti olah raga favorit Footbal dengan Ice Hockey dengan menggunakan kunci Ralph Williams.

Seperti yang kamu lihat, bekerja dengan map seperti bekerja dengan list dan tuple, kecuali kamu tidak bisa menggabungkan map dengan tanda operator  plus (+). Jika kamu mencoba untuk melakukannya, kamu akan mendapatkan pesan error :

>>> favorite_sports = {'Rebecca Clarke': 'Netball',
                   'Michael Tippett': 'Basketball',
                   'Ralph Williams': 'Ice Hockey',
                   'Edward Elgar': 'Baseball',
                   'Frank Bridge': 'Rugby'}
>>> favorite_colors = {'Malcolm Warner' : 'Pink polka dots',
                   'James Baxter' : 'Orange stripes',
                   'Sue Lee' : 'Purple paisley'}
>>> favorite_sports + favorite_colors
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'

Apa Yang Telah Kamu Pelajari

Dalam bab ini, Anda belajar bagaimana menggunakan string Python untuk menyimpan teks, dan bagaimana menggunakan list dan tuple untuk menangani beberapa item. Anda melihat bahwa item dalam list dapat diubah, dan Anda dapat menggabungkan salah satu list dengan list yang lain, tetapi nilai-nilai dalam sebuah tuple tidak bisa berubah. Anda juga belajar bagaimana menggunakan map untuk menyimpan nilai dengan kunci yang mengidentifikasi mereka.

 

Categories: Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 4 { Lists }

Lists Lebih Powerful Daripada String

“Kaki laba-laba, kaki katak, mata kadal, sayap kelelawar, mentega siput, dan ketombe ular” tidak cukup daftar belanja normal (kecuali jika Anda kebetulan menjadi penyihir), tapi kami akan menggunakannya sebagai contoh pertama kami mengenai perbedaan antara string dan list.

Fig 2.3.7.gambar penyihirKita bisa menyimpan daftar item ini dalam variabel wizard_list menggunakan string seperti dibawah ini :

>>> wizard_list = 'spider legs, toe of
 frog, eye of newt, bat wing, slug butter, snake dandruff'
>>> print(wizard_list)
spider legs, toe of frog, eye of newt, bat wing, slug butter, snake dandruff

Tapi kita juga bisa membuat daftar, semacam objek Python ajaib yang dapat kita manipulasi. Inilah item ini akan terlihat ketika ditulis sebagai list:

>>> wizard_list = ['spider legs', 'toe of frog', 'eye of newt',
               'bat wing', 'slug butter', 'snake dandruff']
>>> print(wizard_list)
['spider legs', 'toe of frog', 'eye of newt', 'bat wing', 'slug butter',
 'snake dandruff']

Membuat list membuat kita mengetik sedikit lebih banyak dari pada saat membuat string, tetapi list lebih berguna daripada string karena ia bisa dimanipulasi. Sebagai contoh, kita bisa mencetak item ketiga dalam wizard_list (eye of newt) dengan mengetikkan posisinya di dalam list (called the index position) didalam square brackets ([]), seperti ini :

>>> print(wizard_list[2])
eye of newt

Hah? Bukankah item ketiga dalam list? Ya, tapi list mulai dari posisi indeks 0, sehingga item pertama dalam daftar adalah 0, yang kedua adalah 1, dan yang ketiga adalah 2. Yang mungkin tidak membuat banyak arti untuk manusia, tetapi tidak untuk komputer.

Kita juga dapat mengubah item dalam daftar jauh lebih mudah daripada yang kita bisa dalam sebuah string. Mungkin bukan mata kadal tapi kami membutuhkan lidah siput. Berikut adalah bagaimana kita akan melakukannya dengan daftar:

>>> wizard_list[2] = 'snail tongue'
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'snake dandruff']

Ini mengatur item dalam posisi indeks 2, sebelumnya mata kadal (eye of newt), menjadi lidah siput (snail tongue).

Pilihan lain adalah untuk menunjukkan subset dari item dalam daftar. Kami melakukan ini dengan menggunakan titik dua (:) di dalam brackets persegi. Misalnya, masukkan berikut ini untuk melihat item ketiga sampai kelima dalam daftar (satu set brilian untuk bahan sandwich):

Fig 2.3.8.Mata kelelawar

>>> print(wizard_list[2:5])
['snail tongue', 'bat wing', 'slug butter']

Menulis [2:5] sama seperti mengatakan, “Tunjukkan item dari posisi index 2 sampai (tapi tidak termasuk) index 5” – atau dalam kata lain, item ke 2, 3, dan 4.

List juga bisa digunakan untuk menyimpan beberapa item, seperti angka :

>>> some_numbers = [1, 2, 5, 10, 20]

mereka juga bisa menangani kumpulan string:

>>> some_strings = ['Which', 'Witch', 'Is', 'Which']

Juga bisa gabungan dari string dan angka:

>>> numbers_and_strings = ['Why', 'was', 6, 'afraid', 'of', 7,
'because', 7, 8, 9]
>>> print(numbers_and_strings)
['Why', 'was', 6, 'afraid', 'of', 7, 'because', 7, 8, 9]

Bahkan List juga dapat menyimpan List lainnya :

>>> numbers = [1, 2, 3, 4]
>>> strings = ['I', 'kicked', 'my', 'toe', 'and', 'it', 'is', 'sore']
>>> mylist = [numbers, strings]
>>> print(mylist)
[[1, 2, 3, 4], ['I', 'kicked', 'my', 'toe', 'and', 'it', 'is', 'sore']]

Contoh List-dalam-list ini menciptakan tiga variabel: numbers dengan empat angka, strings dengan delapan string, dan mylist menggunakan numbers dan strings. List ketiga (mylist) hanya memiliki dua elemen karena ia berisi nama variabel, bukan isi dari variabel.

Menambahkan Item ke dalam List

Untuk menambahkan item ke dalam list, kita menggunakan fungsi append. Sebuah fungsi adalah potongan kode program yang memberitahu python untuk melakukan sesuatu. Dalam kasus ini, append menambahkan sebuat item ke akhir dari sebuah list.

Sebagai contoh untuk menambahkan sebuah bear burp (Saya yakin ini adalah sesuatu) kedalam daftar belanja wizard_list, untuk melakukannya :

>>> wizard_list.append('bear burp')
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'snake dandruff', 'bear burp']

Kamu bisa menambahkan lebih banyak item magis ke dalam wizard_list dengan cara yang sama, seperti ini:

>>> wizard_list.append('mandrake')
>>> wizard_list.append('hemlock')
>>> wizard_list.append('swamp gas')

Sekarang wizard_list akan berisi item seperti ini :

>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'snake dandruff', 'bear burp', 'mandrake', 'hemlock', 'swamp gas']

Wizard jelas siap digunakan untuk mengerjakan sihir yang serius!

Menghapus Item dari dalam List

Untuk menghapus item dari sebuah list, gunakan perintah del (kependengan dari delete). Sebagai contoh, untuk menghapus item ke enam dari list wizard_list, yaitu snake dandruff, lakukan seperti ini:

>>> del wizard_list[5]
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'bear burp', 'mandrake', 'hemlock', 'swamp gas']

Catatan :

Ingat posisinya dimulai dari nol (0), jadi wizard_list[5] sebenarnya mereferensi item ke enam dalam list

Dan ini adalah cara untuk menghapus item yang baru saja kita tambahkan (mandrake, hemlock, and swamp gas) :

>>> del wizard_list[8]
>>> del wizard_list[7]
>>> del wizard_list[6]
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter', 'bear burp']

Operasi Aritmatika pada List

Kita dapat menggabungkan list dengan menambahkan mereka, seperti menambahkan nomor, menggunakan tanda plus (+). Misalnya, kita memiliki dua daftar: List1, berisi angka 1 sampai 4, dan List2, mengandung beberapa kata. Kita dapat menambahkan mereka menggunakan fungsi print dan tanda +, seperti:

>>> list1 = [1, 2, 3, 4]
>>> list2 = ['I', 'tripped', 'over', 'and', 'hit', 'the', 'floor']
>>> print(list1 + list2)
[1, 2, 3, 4, 'I', 'tripped', 'over', 'and', 'hit', 'the', 'floor']

Kita juga bisa menambahkan dua list dan memberikan hasilnya ke dalam variabel lain.

>>> list1 = [1, 2, 3, 4]
>>> list2 = ['I', 'ate', 'chocolate', 'and', 'I', 'want', 'more']
>>> list3 = list1 + list2
>>> print(list3)
[1, 2, 3, 4, 'I', 'ate', 'chocolate', 'and', 'I', 'want', 'more']

Dan kita bisa mengalikan sebuah list dengan angka. Sebagai contoh, mengalikan list1 dengan 5, kita menulis list1 * 5 :

>>> list1 = [1, 2]
>>> print(list1 * 5)
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]

Ini sebenarnya mengatakan Python untuk mengulang List1 lima kali, sehingga 1, 2, 1, 2, 1, 2, 1, 2, 1, 2.

Di sisi lain, pembagian (/) dan pengurangan (-) hanya memberikan kesalahan, seperti dalam contoh ini:

>>> list1 / 20
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    list1 / 20
TypeError: unsupported operand type(s) for /: 'list' and 'int'

>>> list1 - 20
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    list1 - 20
TypeError: unsupported operand type(s) for -: 'list' and 'int'

Tapi mengapa? Nah, menggabungkan list dengan + dan mengalikan list dengan * adalah operasi yang cukup sederhana. Konsep-konsep ini juga masuk akal di dunia nyata. Sebagai contoh, jika saya harus menyerahkan dua kertas daftar belanja dan berkata, “Tambahkan kedua daftar ini,” Anda mungkin menulis semua item pada lembar kertas lain, dari ujung ke ujung. Hal yang sama mungkin benar jika saya berkata, “Kalikan daftar ini dengan 3.” Anda bisa membayangkan menulis daftar semua item dalam daftar tiga kali pada lembar kertas lain.

Tapi bagaimana Anda akan membagi daftar? Sebagai contoh, mempertimbangkan bagaimana Anda akan membagi daftar enam angka (1 sampai 6) menjadi dua. Berikut adalah tiga cara yang berbeda:
[1,2,3]                         [4,5,6]
[1]                               [2,3,4,5,6]
[1,2,3,4]                     [5,6]

Akankah kami membagi daftarnya di tengah, memotongnya setelah item pertama, atau hanya memilih beberapa tempat acak dan membaginya disana? Tidak ada jawaban yang sederhana, dan ketika Anda meminta Python untuk membagi list/daftar, tidak tahu apa yang harus dilakukan. Itulah mengapa ia merespon dengan kesalahan.

Fig 2.3.9. aritmatika listHal yang sama terjadi jika kamu menambahkan apapun selain sebuah list dengan list lainnya. Kamu tidak bisa melakukannya juga. Sebagai contoh, ini adalah apa yang terjadi ketika kita mencoba menambahkan list1 dengan 50:

>>> list1 + 50
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    list1 + 50
TypeError: can only concatenate list (not "int") to list

Mengapa kita mendapatkan error di sini? Nah, apa artinya untuk menambahkan 50 ke dalam daftar/list? Apakah ini berarti menambah 50 untuk setiap item? Tapi bagaimana jika item tersebut bukan angka? Apakah ini berarti menambahkan angka 50 pada akhir atau awal daftar?

Dalam pemrograman komputer, perintah harus bekerja dengan cara yang persis sama setiap kali Anda memasukkan mereka. Bahwa komputer bodoh melihat setiap hal hanya dalam warna hitam dan putih. Mintalah untuk membuat keputusan yang rumit, dan ia pasti angkat tangan dengan menampilkan kesalahan.

Categories: Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 3 { Strings }

2.3. Strings, Lists, Tuples, dan Maps

Dalam Bab 2.2, kita melakukan beberapa perhitungan dasar dengan Python, dan Anda belajar tentang variabel. Dalam bab ini, kami akan bekerja dengan beberapa item lain dalam program Python: string, list, tuple, dan map. Anda akan menggunakan string untuk menampilkan pesan dalam program Anda (seperti pesan dalam permainan “Get Ready” dan “Game Over”). Anda juga akan menemukan bagaimana daftar, tuple, dan map yang digunakan untuk menyimpan koleksi sesuatu hal.

Strings

Dalam istilah pemrograman, biasanya kita menyebut teks sebagai string. Ketika Anda memikirkan string sebagai kumpulan huruf, istilah string menjadi masuk akal. Semua huruf, angka, dan simbol dalam buku ini bisa jadi string. Untuk itu, nama Anda bisa jadi string, juga alamat Anda. Bahkan, program Python pertama kita buat di Bab 1 menggunakan string: “Hello World”.

Fig 2.3.1. gorilla

Membuat String

Pada Python, kita membuat sebuah string dengan meletakkan tanda kutip di sekitar teks. Sebagai contoh, kita bisa mengambil variabel fred dan menggunakannya untuk melabeli string, seperti ini:

fred = “Mengapa gorila memiliki lubang hidung besar? Jari besar!!”

Kemudian, untuk melihat apa yang di dalam variabel fred, kita bisa mengetikkan print(fred), seperti ini:

>>> print(fred)
Why do gorillas have big nostrils? Big fingers!!

Anda juga dapat menggunakan tanda kutip tunggal untuk membuat string, seperti ini:

>>> fred = 'What is pink and fluffy? Pink fluff!!'
>>> print(fred)
What is pink and fluffy? Pink fluff!!

Namun, jika Anda mencoba untuk memasukkan lebih dari satu baris teks  string menggunakan tanda kutip tunggal (‘) atau kutip ganda (“) atau jika Anda mulai dengan satu jenis kutipan dan mencoba untuk mengakhiri dengan tanda kutip yang lain, Anda akan mendapatkan pesan kesalahan di shell Python misalnya, masukkan baris berikut:

>>> fred = "How do dinosaurs pay their bills?

Kamu akan melihat hasil seperti ini :

SyntaxError: EOL while scanning string literal

Ini adalah pesan kesalahan yang mengeluhkan tentang sintaksnya karena Anda tidak mengikuti aturan untuk mengakhiri string dengan tanda kutip tunggal atau ganda.

Sintaks berarti penataan dan urutan kata dalam kalimat, atau dalam kasus ini, penataan dan urutan kata-kata dan simbol-simbol dalam sebuah program. Jadi SyntaxError berarti bahwa Anda melakukan sesuatu dalam urutan yang tidak Python harapkan, atau Python mengharapkan sesuatu yang tidak kamu cantumkan. EOL berarti akhir-dari-line, sehingga sisa dari pesan kesalahan memberitahu pada Anda bahwa Python telah mencapai akhir baris dan tidak menemukan kutipan ganda untuk menutup string.

Untuk menggunakan lebih dari satu baris teks dalam string Anda (disebut string multiline), gunakan tiga tanda kutip tunggal (”’), dan kemudian tekan enter antara barisnya, seperti ini:

>>> fred = '''How do dinosaurs pay their bills?
With tyrannosaurus checks!'''

Sekarang mari kita mencetak isi fred untuk melihat apakah ini bekerja:

>>> print(fred)
How do dinosaurs pay their bills?
With tyrannosaurus checks!

Menangani Masalah pada String

Sekarang perhatikan contoh string berikut ini, yang menyebabkan Python untuk menampilkan pesan error:

>>> silly_string = 'He said, "Aren't can't shouldn't wouldn't."'
SyntaxError: invalid syntax

Pada baris pertama, kami mencoba untuk membuat sebuah string (didefinisikan pada variabel silly_string) diapit oleh tanda kutip tunggal, tetapi juga mengandung campuran tanda kutip tunggal dalam can`t, shouldn`t, dan wouldn`t, serta tanda kutip ganda. Berantakan!

Ingat bahwa Python sendiri tidak secerdas manusia, sehingga python melihat semua itu sebagai string yang berisi He said, “Aren, diikuti oleh sekelompok karakter lain yang tidak diharapkan. Ketika Python melihat tanda kutip (baik tunggal atau ganda kutipan), mereka mengharapkan string untuk mulai mengikuti tanda pertama dan string diakhiri setelah tanda kutip yang cocok berikutnya (baik tunggal atau ganda) pada baris tersebut. Dalam hal ini, awal string adalah kutip tunggal menandai sebelum He, dan akhir dari string, sejauh pengetahuan Python, adalah single quote setelah n di Aren. IDLE menyoroti titik di mana terjadi hal-hal yang tidak beres:

Fig 2.3.2. invalid sintaks pada stringBaris terakhir IDLE memberitahu kita  jenis kesalahan apa yang terjadi-dalam hal ini, kesalahan sintaks.

Menggunakan tanda kutip ganda bukannya tanda kutip tunggal masih menghasilkan error:

>>> silly_string = "He said, "Aren't can't shouldn't wouldn't.""
SyntaxError: invalid syntax

Di sini, Python melihat string dibatasi oleh tanda kutip ganda, yang mengandung huruf He Said, (dan spasi). Semuanya setelah string tersebut (dari Aren’t) menyebabkan kesalahan:

Fig 2.3.3. invalid sintaks pada string 2

Ini karena, dari perspektif Python, semua hal ekstra hanya tidak seharusnya berada di sana. Python mencari kutipan yang cocok berikutnya dan tidak tahu apa yang ingin Anda lakukan dengan apa pun yang diikuti tanda kutip itu pada baris yang sama.

Solusi untuk masalah ini adalah string multiline, yang kita pelajari sebelumnya, menggunakan tiga tanda kutip tunggal (”’), yang memungkinkan kita untuk menggabungkan tanda kutip ganda dan tunggal dalam string kami tanpa menyebabkan kesalahan. Bahkan, jika kita menggunakan tiga tanda kutip tunggal, kita dapat menempatkan setiap kombinasi tanda kutip tunggal dan ganda dalam string (selama kita tidak mencoba untuk menempatkan tiga tanda kutip tunggal di sana). Ini adalah versi string kita yang bebas dari kesalahan :

Fig 2.3.4. menangani kesalahan pada string

silly_string = '''He said, "Aren't can't shouldn't wouldn't."'''

Tapi tunggu, masih ada lagi. Jika Anda benar-benar ingin menggunakan tanda kutip tunggal atau ganda untuk mengelilingi string di Python, bukannya tiga tanda kutip tunggal, Anda dapat menambahkan backslash (\) sebelum setiap tanda kutip dalam string. Ini disebut escaping. Ini adalah cara untuk mengatakan ke Python, “Ya, saya tahu saya memiliki kutipan dalam string saya, dan saya ingin Anda mengabaikan mereka sampai Anda melihat akhir kutipan.”

Escaping string dapat membuat mereka sulit untuk dibaca, jadi mungkin lebih baik menggunakan string multiline. Namun, Anda mungkin akan menemukan potongan kode yang menggunakan escaping, jadi ada baiknya untuk mengetahui mengapa backslashes ada.

Berikut adalah beberapa contoh bagaimana escaping bekerja:

>>> single_quote_str = 'He said, "Aren\'t can\'t shouldn\'t wouldn\'t."'
>>> double_quote_str = "He said, \"Aren't can't shouldn't wouldn't.\""
>>> print(single_quote_str)
He said, "Aren't can't shouldn't wouldn't."
>>> print(double_quote_str)
He said, "Aren't can't shouldn't wouldn't."

Menyisipkan nilai ke dalam String

Jika Anda ingin menampilkan pesan menggunakan isi dari variabel, kamu dapat menyisipkan nilainya dalam string menggunakan %s, yang berfungsi sebagai penanda untuk menampilkan nilai yang ingin  kamu tambahkan nanti. Sebagai contoh, agar Python menghitung atau menyimpan jumlah poin yang kamu dapatkan dalam sebuah game, dan kemudian menambahkannya ke kalimat seperti “Saya mendapat %s poin, ” gunakan %s dalam kalimat di tempat poin, dan kemudian memberitahu Python nilainya, seperti ini:

>>> myscore = 1000
>>> message = 'I scored %s points'
>>> print(message % myscore)
I scored 1000 points

Di sini, kita membuat variabel myscore  dengan nilai 1000 dan variabel message  dengan string yang berisi kata-kata “I scored %s points” di mana %s adalah sebuah tempat untuk jumlah poin. Pada baris berikutnya, kita memanggil print(message) dengan simbol % untuk memberitahu Python untuk menggantikan %s dengan nilai yang tersimpan dalam variabel myscore. Hasilnya adalah  mencetak pesan ini : I scored 1000 points. Kita tidak perlu menggunakan variabel untuk mendapatkan nilainya. Kita bisa melakukan contoh yang sama dengan hanya menggunakan print(message % 1000).

Kita juga dapat melewatkan nilai yang berbeda untuk placeholder %s, menggunakan variabel yang berbeda, seperti dalam contoh ini:

>>> joke_text = '%s: a device for finding furniture in the dark'
>>> bodypart1 = 'Knee'
>>> bodypart2 = 'Shin'
>>> print(joke_text % bodypart1)
Knee: a device for finding furniture in the dark
>>> print(joke_text % bodypart2)
Shin: a device for finding furniture in the dark

Di sini, kita membuat tiga variabel. Yang pertama, joke_text, termasuk string dengan penanda  %s. Variabel lainnya adalah bodypart1 dan bodypart2. Kita dapat mencetak variabel joke_text, dan sekali lagi menggunakan operator % untuk menggantinya dengan isi dari variabel bodypart1 dan bodypart2 untuk menghasilkan pesan yang berbeda.

Fig 2.3.5. Menyisipkan nilai dalam stringAnda juga dapat menggunakan lebih dari satu placeholder dalam sebuah string, seperti ini:

>>> nums = 'What did the number %s say to the number %s? Nice belt!!'
>>> print(nums % (0, 8))
What did the number 0 say to the number 8? Nice belt!!

Bila menggunakan lebih dari satu placeholder, pastikan untuk membungkus nilai-nilai pengganti dalam kurung, seperti yang ditunjukkan dalam contoh. Urutan nilai adalah urutan di mana mereka akan digunakan dalam string.

Menggandakan String

Apa hasilnya 10 dikalikan dengan 5? Jawabannya adalah 50, tentu saja. Tapi apa hasilnya 10 dikalikan dengan a ? Berikut jawabannya Python:

>>> print(10 * 'a')
aaaaaaaaaa

Python programmer mungkin menggunakan pendekatan ini untuk memperderetkan string dengan jumlah tertentu ketika menampilkan pesan di shell, misalnya. Bagaimana mencetak huruf di shell (pilih File ▸ New Window, dan masukkan kode berikut):

spaces = ' ' * 25
print('%s 12 Butts Wynd' % spaces)
print('%s Twinklebottom Heath' % spaces)
print('%s West Snoring' % spaces)
print()
print()
print('Dear Sir')
print()
print('I wish to report that tiles are missing from the')
print('outside toilet roof.')
print('I think it was bad wind the other night that blew them away.')
print()
print('Regards')
print('Malcolm Dithering')

Setelah Anda mengetik kode tersebut ke jendela shell, pilih File ▸ Save As. Beri nama file Anda dengan myletter.py.

Catatan :

Mulai sekarang, ketika Anda melihat Save As: somefilename.py atas serangkaian kode program, Anda sudah tahu bahwa Anda perlu untuk memilih File ▸ New Window, masukkan kode ke jendela yang muncul, dan kemudian menyimpannya seperti yang kita lakukan dalam contoh diatas.

Pada baris pertama dari contoh ini, kita menciptakan ruang variabel dengan mengalikan karakter spasi sebesar 25. Kami kemudian menggunakan variabel yang dalam tiga baris berikutnya untuk menyelaraskan teks di sebelah kanan shell. Anda dapat melihat hasil dari statement print tersebut sebagai berikut:

Fig 2.3.6. mencetak string yang digandakan

Selain menggunakan perkalian untuk penyelarasan, kami juga dapat menggunakannya untuk mengisi layar dengan pesan yang mengganggu. Coba contoh ini untuk diri sendiri:

>>> print(1000 * 'snirt')
Categories: Buku Komputer, Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 2 { Perhitungan dan Variabel }}

2.2. Perhitungan dan Variabel

Sekarang Anda memiliki Python yang telah terinstal dan tahu bagaimana untuk memulai shell Python, Anda siap untuk melakukan sesuatu dengan itu. Kita akan mulai dengan beberapa perhitungan sederhana dan kemudian pindah ke variabel. Variabel adalah cara menyimpan hal-hal dalam program komputer, dan mereka dapat membantu Anda menulis program yang berguna.

Menghitung dengan Python

Biasanya, ketika diminta untuk mencari perkalian dari dua angka seperti 8 × 3,57, Anda akan menggunakan kalkulator atau pensil dan kertas. Nah, bagaimana menggunakan shell Python untuk melakukan perhitungan Anda? Mari kita coba.

Mulai shell Python dengan mengklik dua kali ikon IDLE pada desktop Anda atau, jika Anda menggunakan Ubuntu, dengan mengklik ikon IDLE dalam menu Aplikasi. Saat diminta, masukkan persamaan ini:

>>> 8 * 3.57
28.56

Perhatikan bahwa ketika memasukkan perhitungan perkalian dengan Python, Anda menggunakan tanda bintang (*) bukan tanda perkalian (×).

Bagaimana kalau kita mencoba persamaan yang sedikit lebih berguna?

Misalkan Anda menggali di halaman belakang Anda dan mengungkap sekantong 20 koin emas. Keesokan harinya, Anda menyelinap ke ruang bawah tanah dan memasukkan koin ke dalam mesin replikasi bertenaga uap penemuan kakekmu (Untungnya, Anda hanya dapat memasukkan 20 koin ke dalamnya). Anda mendengar suara mendesing dan meletus dan, beberapa jam kemudian, keluar 10 koin lain berkilauan.

Berapa banyak uang yang akan Anda miliki di peti harta karun Anda jika Anda melakukan ini setiap hari selama satu tahun? Di atas kertas, persamaan mungkin terlihat seperti ini:

10 × 365 = 3650
20 + 3650 = 3670

Tentu, itu cukup mudah untuk melakukan perhitungan ini pada kalkulator atau di atas kertas, tapi kita bisa melakukan semua perhitungan tersebut dengan shell Python juga. Pertama, kita kalikan 10 koin dengan 365 hari dalam setahun untuk mendapatkan 3650. Selanjutnya, kita tambahkan aslinya 20 koin untuk mendapatkan 3670.

>>> 10 * 365
3650
>>> 20 + 3650
3670

Sekarang, bagaimana jika gagak bintik emas mengkilap duduk di kamar tidur Anda, dan setiap minggu berhasil mencuri tiga koin? Berapa banyak uang anda yang akan hilang pada akhir tahun? Berikut adalah cara perhitungan ini terlihat di shell:

>>> 3 * 52
156
>>> 3670 − 156
3514

Pertama, kita kalikan 3 koin dengan 52 minggu per tahun. Hasilnya adalah 156. Kami kurangi jumlah itu dari jumlah koin kami (3670), yang mengatakan kepada kita bahwa kita akan memiliki 3514 koin yang tersisa pada akhir tahun.

Ini adalah program yang sangat sederhana. Dalam buku ini, Anda akan belajar bagaimana untuk memperluas ide-ide untuk menulis program yang lebih berguna.

Operator Pada Python

Anda dapat melakukan perkalian, penambahan, pengurangan, dan pembagian di shell Python, dan operasi matematika lain yang kita tidak akan masuk ke sekarang. Simbol dasar yang digunakan oleh Python untuk melakukan operasi matematika disebut operator, seperti yang tercantum dalam Tabel 2-1.

Fig 2.2.1. Tabel Operator Dasar PhytonGaris miring (/) digunakan untuk pembagian karena mirip dengan baris baris yang akan Anda gunakan saat menulis. Misalnya, jika Anda memiliki 100 bajak laut dan 20 tong besar dan Anda ingin menghitung berapa banyak perompak Anda bisa bersembunyi di setiap barel, Anda bisa membagi 100 bajak laut sebesar 20 barel (100 ÷ 20) dengan memasukkan 100 / 20  di shell Python. Hanya ingat bahwa garis miring  yang digunakan adalah yang atasnya menuju ke kanan (\).

Fig 2.2.2. ilustrasi bajak laut dalam tong

Urutan Operasi

Kami menggunakan kurung dalam bahasa pemrograman untuk mengontrol urutan operasi. Operasi adalah segala sesuatu yang menggunakan operator. Perkalian dan pembagian memiliki tatanan yang lebih tinggi dibandingkan penambahan dan pengurangan, yang berarti bahwa mereka dilakukan pertama. Dengan kata lain, jika Anda memasukkan persamaan dengan Python, perkalian atau pembagian dilakukan sebelum penambahan atau pengurangan.

Misalnya, dalam persamaan berikut, angka 30 dan 20 dikalikan terlebih dahulu, dan nomor 5 akan ditambahkan ke hasil mereka.

>>> 5 + 30 * 20
605

Persamaan ini adalah cara lain untuk mengatakan, “kalikan 30 dengan 20, dan kemudian tanbahkan dengan 5.” Hasilnya adalah 605. Kita dapat mengubah urutan operasi dengan menambahkan tanda kurung di sekitar dua angka pertama, seperti:

>>> (5 + 30) * 20
700

Hasil persamaan ini adalah 700 (bukan 605) karena kurung memberitahu Python untuk melakukan operasi di dalam kurung terlebih dahulu, dan kemudian melakukan operasi di luar kurung. Contoh ini mengatakan “tambahkan 5 dengan 30, dan kemudian kalikan hasilnya dengan 20.”

Fig 2.2.3. ilustrasi kalkulatorTanda kurung dapat bersarang, yang berarti bahwa boleh terdapat kurung di dalam tanda kurung, seperti ini:

>>> ((5 + 30) * 20) / 10
70.0

Dalam kasus ini, Python mengevaluasi kurung terdalam terlebih dahulu, kemudian yang luar, dan kemudian operator pembagian di bagian akhirnya. Dengan kata lain, persamaan ini mengatakan, “menambahkan 5 dengan 30, kemudian kalikan hasilnya dengan 20, dan membagi hasilnya dengan 10.” Inilah yang terjadi:

  • Menambahkan 5 dengan 30 memberikan 35.
  • Mengalikan 35 dengan 20 memberikan 700.
  • Membagi 700 dengan 10 memberikan jawaban akhir dari 70.

Jika kita tidak menggunakan tanda kurung, hasilnya akan sedikit berbeda:

>>> 5 + 30 * 20 / 10
65.0

Dalam kasus ini, 30 pertama kali dikalikan dengan 20 (mengahilkan 600), dan kemudian 600 dibagi dengan 10 (menghasilkan 60). Akhirnya, ditambahkan 5 untuk mendapatkan hasil 65.

Peringatan :

Ingat bahwa perkalian dan pembagian selalu dikerjakan sebelum penambahan dan pengurangan, kecuali tanda kurung digunakan untuk mengontrol urutan operasi.

Variabel adalah Seperti Label

Kata variabel dalam pemrograman menggambarkan tempat untuk menyimpan informasi seperti nomor, teks, daftar nomor dan teks, dan sebagainya. Cara lain untuk melihat variabel adalah bahwa hal itu seperti sebuah label untuk sesuatu.

Misalnya, untuk membuat sebuah variabel bernama fred, kita menggunakan tanda sama dengan (=) dan kemudian memberitahu Python informasi apa yang harus variabel labeli. Di sini, kita menciptakan variabel fred dan memberitahu Python bahwa variabel fred digunakan untuk memberi label pada angka 100 (perhatikan bahwa ini tidak berarti variabel lain tidak dapat memiliki nilai yang sama):

>>> fred = 100

Untuk mengetahui nilai variabel, ketikkan print dalam shell, diikuti dengan nama variabel dalam kurung, seperti ini:

>>> print(fred)
100

Kita juga dapat memberitahu Python untuk mengubah variabel fred sehingga melabeli sesuatu yang lain. Sebagai contoh, berikut adalah cara untuk mengubah fred melabeli ke angka 200:

>>> fred = 200
>>> print(fred)
200

Pada baris pertama, kita mengatakan bahwa fred melabeli angka 200. Pada baris kedua, kita bertanya fred melabeli apa, hanya untuk mengkonfirmasi perubahan. Python mencetak hasil pada baris terakhir.

Kita juga bisa menggunakan lebih dari satu label (lebih dari satu variabel) untuk item yang sama:

>>> fred = 200
>>> john = fred
>>> print(john)
200

Dalam contoh ini, kita mengatakan Python bahwa kita ingin nama (atau variabel) john untuk melabeli hal yang sama seperti fred dengan menggunakan tanda sama antara john dan fred.

Tentu saja, fred mungkin bukan nama yang sangat berguna untuk variabel karena kemungkinan besar tidak menceritakan apa-apa tentang variabel digunakan untuk apa. Mari kita sebut number_of_coins variabel kita bukan fred, seperti ini:

>>> number_of_coins = 200
>>> print(number_of_coins)
200

Hal ini membuat jelas bahwa kita sedang berbicara tentang 200 koin.

Nama variabel dapat terdiri dari huruf, angka, dan karakter garis bawah (_), tetapi mereka tidak dapat dimulai dengan nomor. Anda dapat menggunakan apapun dari huruf tunggal (seperti a) untuk kalimat panjang untuk nama variabel. (Variabel tidak dapat berisi spasi, jadi gunakan garis bawah untuk memisahkan kata.) Kadang-kadang, jika Anda melakukan sesuatu yang cepat, nama variabel pendek adalah yang terbaik. Nama yang Anda pilih harus tergantung pada betapa berartinya Anda memerlukan nama variabel itu.

Sekarang Anda tahu cara membuat variabel, mari kita lihat bagaimana menggunakannya.

Menggunakan Variabel

Ingat persamaan kami untuk mencari tahu berapa banyak uang yang Anda memiliki pada akhir tahun jika secara ajaib anda bisa membuat uang logam baru dengan penemuan gila kakekmu di ruang bawah tanah? Kami memiliki persamaan ini:

>>> 20 + 10 * 365
3670
>>> 3 * 52
156
>>> 3670 - 156
3514

Kita bisa mengubah ini menjadi satu baris kode:

>>> 20 + 10 * 365 − 3 * 52
3514

Sekarang, bagaimana jika kita mengubah angka ke dalam variabel? Coba masukkan berikut ini:

>>> found_coins = 20
>>> magic_coins = 10
>>> stolen_coins = 3

Entri ini menciptakan variabel found_coins, magic_coins, dan stolen_coins.

Sekarang, kita bisa memasukkan kembali persamaannya seperti ini:

>>> found_coins + magic_coins * 365 - stolen_coins * 52
3514

Anda dapat melihat bahwa ini memberi kita jawaban yang sama. Jadi siapa yang peduli, kan? Ah, tapi inilah keajaiban variabel. Bagaimana jika Anda tetap orang-orangan sawah di jendela Anda, dan gagak mencuri hanya dua koin bukannya tiga? Ketika kita menggunakan variabel, kita hanya dapat mengubah variabel untuk memegang nomor baru, dan itu akan berubah di mana-mana ia digunakan dalam persamaan. Kita dapat mengubah variabel stolen_coins ke 2 dengan memasukkan ini:

Fig 2.2.4. ilustrasi burung mengambil koin emas

>>> stolen_coins = 2

Kita kemudian dapat meng-copy dan paste persamaan untuk menghitung jawaban lagi, seperti:

1. Pilih teks untuk menyalin dengan mengklik dengan mouse dan menyeret dari awal sampai akhir baris, seperti yang ditunjukkan di sini:

Fig 2.2.5. pilih teks untuk dicopy pada IDLE
2. Tahan tombol ctrl dan tekan C untuk menyalin teks yang dipilih. (Anda akan melihat ini sebagai ctrl-C dari sekarang.)
3. Klik prompt baris terakhir (setelah stolen_coins = 2).
4. Tahan tombol ctrl dan tekan V untuk paste teks yang dipilih. (Anda akan melihat ini sebagai ctrl-V dari sekarang.)
5. Tekan enter untuk melihat hasil yang baru:

Fig 2.2.6. tekan enter untuk melihat hasilnya pada IDLE

Bukankah itu jauh lebih mudah daripada mengetik ulang seluruh persamaan? pasti.

Anda dapat mencoba mengubah variabel lainnya, dan kemudian copy (ctrl-C) dan paste (ctrl-V) perhitungan untuk melihat efek dari perubahan Anda. Misalnya, jika Anda memukul sisi penemuan kakekmu pada saat yang tepat, dan meludah keluar 3 koin tambahan setiap kali, Anda akan menemukan bahwa Anda berakhir dengan 4661 koin di akhir tahun:

>>> magic_coins = 13
>>> found_coins + magic_coins * 365 - stolen_coins * 52
4661

Tentu saja, menggunakan variabel untuk persamaan sederhana seperti ini masih hanya sedikit berguna. Ia belum benar-benar berguna. Untuk saat ini, hanya perlu ingat bahwa variabel adalah cara pelabelan hal sehingga Anda dapat menggunakannya nanti.

Apa Yang Telah Kamu Pelajari

Dalam bab ini Anda belajar bagaimana melakukan persamaan sederhana dengan menggunakan operator Python dan bagaimana menggunakan tanda kurung untuk mengontrol urutan operasi (urutan Python mengevaluasi bagian dari persamaan). Kami kemudian menciptakan variabel untuk  melabeli nilai dan menggunakan variabel dalam perhitungan kami.

Categories: Buku Komputer, Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Blog di WordPress.com.