Monthly Archives: Desember 2013

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.

Iklan
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

Blog di WordPress.com.