Bab3 tipe-data-control

30
Slide ke:1 Rabu 9 November 2011 NF Computer Salman El Farisi [email protected] Algoritma & Programming Bab 3: Tipe Data dan Program Control

Transcript of Bab3 tipe-data-control

Slide ke:1

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Bab 3: Tipe Data dan Program Control

Slide ke:2

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Apa Yang Akan Kita Pelajari?

Tipe data standar pada python Penggunaan For .. in, While, if, elif, dan else Program Scope

Slide ke:3

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Macam-macam Tipe Data

Python memiliki 5 buah tipe data standar yang terdiri dari:

Numbers String List Tuple Dictionary

Slide ke:4

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Tipe Data Number

Tipe data number dapat digunakan dalam operasi perhitungan matematik

Jenis tipe data number pada python:

Integer (int) → bilangan bulat (1, 2, 3, 5) Floating (float) → bilangan real (2.1, 2.2, 3.5) Complex number → bilangan imaginer (1 + 2j)

Operasi yang digunakan adalah operasi matematis (+, -, *, /, %)

Slide ke:5

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Tipe Data String

Tipe data string biasa digunakan dalam pengolahan kata / teks.

Setiap data yang bertipe string ditandai dengan tanda kutip dua (“teks”)

String merupakan kumpulan dari karakter. Dalam python setiap karakter yang ada pada String diberi nomor index dari 0. misal “Halo” → 0:'H', 1:'a', 2:'l', 3:'o'

Operasi yang digunakan adalah:

+ → menggabungkan 2 buah string * → menduplikasi string sebanyak n buah [a:n] → mengakses string dari index a sampai element ke n

Slide ke:6

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Tipe Data String

Yang harus diperhatikan dari tipe data string pada python adalah perbedaan antara elemen dan index

P Y T HT H T HO N

0 1 2 3 4 5

1 2 3 4 5 6

index

element

kata = “PYTHON”Kata[0:6] = “PYTHON” → kata dari index 0 sampai elemen ke 6Kata[0:5] = “PYTHO” → kata dari index 0 sampai elemen ke 5 (bukan sampai index 5)

Slide ke:7

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Tipe Data List

List merupakan kumpulan atau set data

Pada python, setiap data yang berada dalam satu list dipisahkan oleh tanda koma “, ”

Setiap list ditandai dengan tanda kurung siku buka dan tutup “[ ]”

Pada python, dalam satu list boleh menampung lebih dari satu tipe data

Setiap list memiliki nomor index yang dimulai dari 0

Listku = [1, 2, 3, “satu”, 3.0]

Listku[0] = 1, listku[1] = 2, listku[3] = “satu”

Slide ke:8

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Tipe Data List

Contoh index pada tipe data list

Apel Mangga Durian Jeruk Jambu Pisang

0 1 2 3 4 5

1 2 3 4 5 6

index

element

Slide ke:9

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Tipe Data Tuple

Tipe data tuple secara umum sama dengan list yaitu kumpulan data yang berada dalam satu variable

Bedanya, tuple ditandai dengan kurung tutup dan buka “( )” (parentheses) bukan kurung siku (square bracket) “[ ]”

Tuple adalah read-only list (tidak bisa diubah elemennya)

Listku = [1, 2, 3] → ubah listku[0] = 4 → bisa

Tupleku = (1, 2, 3) → ubah tupleku[0] = 4 → tidak bisa

Slide ke:10

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Tipe Data Dictionary

Dictionary merupakan hash table pada python

Yang dimaksud dengan hash table adalah kita dapat menentukan index sendiri untuk data yang akan disimpan pada list

Pada python, tipe data dictionary ditandai dengan kurung kurawal (bracket) “{ }” dan setiap datanya dipisah dengan tanda koma “, ”

Struktur data pada dictionary terdiri dari (key:value)

Key adalah index sedangkan value adalah data yang berada di index tersebut.

Contoh penulisan: dictionary = {'satu':1, 'dua': 2, 'tiga':3}

dictionary['satu'] → akan menghasilkan nilai 1

Slide ke:11

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Tipe Data Dictionary

Key ValueApel 10000Mangga 20000Jeruk 5000Durian 60000Pisang 30000

Buah = {'Apel':10000, 'Mangga':20000, 'Jeruk':5000, 'Durian':60000, 'Pisang':30000}

Buah['Jeruk'] → akan menghasilkan nilai 5000

Slide ke:12

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Apa Fungsi Dari Tipe Data

Setiap tipe data memiliki cara penanggulangannya masing – masing

Dalam melakukan implementasi algoritma, kita harus menentukan tipe data apa yang akan diproses oleh algoritma kita dan bagaimana cara memprosesnya

Slide ke:13

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Apa Output Dari Program Ini?

Program 1:

panjang = 10

lebar = 3

luas = panjang * lebar

print luas

Program 2:

panjang = 10

lebar = '3'

Luas = panjang * lebar

Print luas

Slide ke:14

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Apa Output Dari Program Ini?

Program 3:

buah = 'pisang'

sayur = 'lobak'

campur = buah + sayur

print campur

Program 4:

buah = 'durian'

hewan = 'sapi'

campur = buah[0:2] + hewan[2:4]

print campur

Slide ke:15

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Apa Output Dari Program Ini?

Program 5:

daftar_buah = ['apel', 'pisang', 'mangga']

daftar_buah[2] = 'durian'

print daftar_buah

Program 6:

daftar_buah = ('apel', 'pisang', 10000)

daftar_buah[2] = 'jambu'

print daftar_buah

Slide ke:16

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Program Control

Dalam sebuah algoritma tentunya kita akan menghadapi pilihan dan perulangan

Pilihan dan perulangan dalam sebuah bahasa pemrograman direpresentasikan dengan menggunakan program control

Contoh program control: if, else, elif

Contoh perulangan: for..in, while

Slide ke:17

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Conditional

If (kondisi)

//perintah yang akan dieksekusi

elif (kondisi lain)

//perintah yang akan dieksekusi

else

//perintah yang akan dieksekusi apabila tidak ada kondisi yang memenuhi

Setiap perintah yang akan dieksekusi setelah statement if, elif, atau else harus diberi indent (jarak dengan menggunakan tab)

Slide ke:18

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Conditional

uang = 100000

uang = uang – 50000

if(uang < 50000):

Print “Yaaahhh..” //harus diberi jarak 1 tab

else:

Print “Horeeee..” //harus diberi jarak 1 tab

Program ini akan menghasilkan tulisan

“Horeeee..” karena nilai uang == 50000

Slide ke:19

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Conditional

uang = 100000

uang = uang – 50000

if(uang < 50000)

Print “Yaaahhh..”

Elif (uang == 50000)

Print “Hmmmm..”

Else

Print “Horeeee..”

Program ini akan menghasilkan tulisan

“Hmmm..” karena nilai uang == 50000

Slide ke:20

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Perulangan (for x in y)

For x in y :

Diguakan untuk menelusuri list / tuple / dictionary

Perulangan akan selesai apabila hasil penelusuran sudah sampai pada akhir list

Setiap element yang berada di list y akan di copy ke variable x

Setelah menuliskan for .. in .. harus diakhiri dengan tanda titik dua “:”

Setiap perintah yang akan dieksekusi setelah tulisan for.. in.. harus diberi indent (jarak dengan menggunakan tab)

Slide ke:21

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Perulangan

daftar_buah = ['apel', 'mangga', 'jeruk']

For buah in daftar_buah:

if(buah == 'apel'): //jarak 1 tab dari for

Print “Merah”, //jarak 1 tab dari if

elif(buah == 'mangga'):

Print 'Hijau', //jarak 1 tab dari elif

elif(buah == 'jeruk'):

Print 'Kuning', //jarak 1 tab dari elif

Output: Merah Hijau Kuning

Slide ke:22

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Perulangan (while)

While (kondisi) :

Perulangan dengan kondisi tertentu

Akan berakhir jika kondisi tidak lagi memenuhi

While (n < 3) akan berakhir jika nilai n sudah mencapai 3

Setelah penulisah while harus diakhiri dengan tanda titik dua “:”

Setiap perintah yang akan dieksekusi setelah statement while harus diberi jarak 1 tab

Perhatian: apabila salah memberikan kondisi bisa terjadi infinite loop (perulangan tanpa akhir)

Slide ke:23

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Perulangan (while)

N = 0

While (n < 3):

Print 'kurang dari 3'

N = n + 1 //jangan lupa nilai n harus ditambah 1

Akan menghasilkan tulisan:

Kurang dari 3

Kurang dari 3

Kurang dari 3

Slide ke:24

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Perulangan (while)

N = 0

While (n < 3):

Print 'kurang dari 3'

Apa yang terjadi jika nilai n tidak pernah di tambah?

Program akan menghasilkan tulisan

Kurang dari 3

Kurang dari 3

Kurang dari 3

….

Sampai tak terbatas (mungkin sampai hang :))

Hal ini terjadi karena kondisi n < 3 selalu terpenuhi :D

Slide ke:25

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Blok Program

Blok program adalah batasan dalam eksekusi program

Blok program pada python ditandai dengan jarak 1 tab

Kegunaan dari blok program adalah untuk memisahkan antara rangkaian perintah yang satu dengan rangkaian perintah yang lainnya

Slide ke:26

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Blok Program

While (n < 3):

if(n < 3):

Print “kurang dari 3”

N = n + 1

if(n == 3):

print “sama dengan 3”

print “program selesai :)”

blok while

blok if n < 3

blok if n == 3

Ketika n < 3, maka perintah yang berada di dalam blok n == 3 tidak akan dieksekusiBegitu juga sebaliknya, apabila n == 3 maka perintah pada blok n < 3 tidak dieksekusi

Slide ke:27

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Blok Program

While (n < 3):

if(n < 3):

Print “kurang dari 3”

N = n + 1

if(n == 3):

print “sama dengan 3”

print “program selesai :)”

Program ini akan menghasilkan error karena setelah if tidak ada jarak 1 tab. Sehingga blok if n == 3 dianggap tidak ada

Slide ke:28

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Blok Program

While (n < 3):

if(n < 3):

Print “kurang dari 3”

N = n + 1

if(n == 3):

Program ini juga akan menghasilkan error karena tidak ada perintah sama sekali setelah kondisi if n == 3. lalu, bagaimana caranya jika ingin membuat blok kosong? Gunakan kata kunci 'pass'

Slide ke:29

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Blok Program

While (n < 3):

if(n < 3):

Print “kurang dari 3”

N = n + 1

if(n == 3):

Pass

Program ini tidak akan error karena ada kata kunci pass di dalam blok program n == 3. kata kunci pass berguna ketika kita tidak ingin melakukan apa-apa

Slide ke:30

Rabu 9 November 2011NF ComputerSalman El [email protected]

Algoritma & Programming

Apa Output Dari Program Ini?

Harga = {'apel':1000, 'mangga':1500, 'jeruk':3000}

Uang = 5000

While (uang > 0):

if(uang > 2000):

Print 'Mangga',

Uang = uang – harga['mangga']

if(uang <= 2000):

Print 'Apel',

Uang = uang – harga['apel']

Print uang