Slide ke:1 Rabu 9 November 2011 NF Computer Salman El Farisi [email protected] Algoritma & Programming Bab 3: Tipe Data dan Program 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