Hasilnya : 3.
Hasilnya : banana
Indeks Negatif
Item dari List dapat diakses dengan indeks negatif yang dimulai dari akhir item, contoh:
thislist = ["apple", "banana", "cherry"]
print(thislist[-1])
Hasilnya : cherry
Jangkauan Indeks
Mengakses item dalam jangkauan tertentu dapat dilakukan dengan menuliskan indeks
awal dan diikuti dengan indeks akhir dari jangkauan. Item yang ditampilkan adalah urutan
item seperti indeks awal dan item indeks terakhir dikurangi 1. Sebagai contoh, apabila
diset indeks awal 2 dan indeks akhir 7, maka data yang ditampilkan adalah indeks no 2
sampai dengan 6 (7 - 1), contoh:
thislist =
["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])
Hasilnya : [‘cherry’, ‘orange’, ‘kiwi’]
Jangkauan item bisa diisi dengan indeks terakhir dari indeks itemnya. Sedangkan indeks
awalnya tidak ditulis, contoh:
thislist =
["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[:4])
Kode tersebut memeriksa apakah item apple terdapat dalam list. Jika apple ditemukan maka
akan mencetak Yes, ‘apple’ is in the fruits list.
Mengubah nilai item
Mengubah nilai item dapat dilakukan dengan merujuk pada nomor indeks item diikuti
dengan nilai yang baru, contoh:
thislist = ["apple", "banana", "cherry"]
thislist[1] = "blackcurrant"
print(thislist)
Hasilnya : banana dan cherry akan berubah menjadi blackcurrant dan watermelon.
Apabila nilai yang dimasukan melebihi jumlah indeksnya maka kelebihan nilai item akan
dimasukan sebagai nilai baru pada item.
Jika nilai item yang dimasukan kurang dari jumlah indeksnya maka nilai yang baru akan
mengubah nilai yang lama sesuai indeksnya, sedangkan item yang tersisa akan hilang.
Menambahkan item
Menambahkan item dapat dilakukan dengan perintah insert(). Perintah insert dilakukan
dengan menambahkan indeks dan nilai baru, contoh:
thislist = ["apple", "banana", "cherry"]
thislist.insert(2, "watermelon")
print(thislist)
Hasilnya : watermelon akan mengisi indeks ke-2 setelah banana, urutan itemnya menjadi
["apple", "banana", "watermelon", "cherry"]]
Menambahkan item di akhir list
Item baru dapat ditambahkan pada akhir list dengan perintah append(), contoh:
thislist = ["apple", "banana", "cherry"]
thislist.append("orange")
print(thislist)
Hasilnya : ["apple", "banana", "cherry",
"mango", "pineapple", "papaya"]
Menggabungkan list dengan objek iterable lain (tuple, set, dan dictionary)
Perintah extend() dapat digunakan untuk mengabungkan list dengan objek iterabel lainnya
yaitu : tuples, sets, dictionaries, dll. Berikut contoh menggabungkan list dengan tuple:
thislist = ["apple", "banana", "cherry"]
thistuple = ("kiwi", "orange")
thislist.extend(thistuple)
print(thislist)
Hasilnya : ["apple", "cherry"]
Menghapus item melalui indeks
Perintah pop() digunakan untuk menghapus item berdasarkan nomor urutannya, contoh:
thislist = ["apple", "banana", "cherry"]
thislist.pop(1)
print(thislist)
Hasilnya : ["apple", "cherry"]
Jika perintah pop() tidak diikuti dengan nomor indeks maka pop() akan menghapus item
terakhir. Perintah del juga bisa digunakan untuk menghapus berdasarkan nomor indeks,
contoh:
thislist = ["apple", "banana", "cherry"]
del thislist[0]
print(thislist)
Hasilnya : ["banana", "cherry"]
Jika perintah del hanya diikuti nama list maka akan menghapus objek list.
Membersihkan isi list
Membersihkan list dapat dilakukan dengan perintah clear(), contoh:
thislist = ["apple", "banana", "cherry"]
thislist.clear()
print(thislist)
Hasilnya : []
Perulangan dalam list
Perulangan dapat dilakukan dalam list berdasarkan item yang ada menggunakan for,
contoh :
thislist = ["apple", "banana", "cherry"]
for x in thislist:
print(x)
Hasilnya:
apple
banana
cherry
Perulangan dengan nomor indeks
Perulangan dalam list dapat pula dilakukan dengan nomor indeks menggunakan fungsi
range() dan len(), contoh :
thislist = ["apple", "banana", "cherry"]
for i in range(len(thislist)):
print(thislist[i])
Hasilnya:
apple
banana
cherry
Menggunakan loop while
Perintah perulangan dapat dilakukan dengan while serta menggunakan len() untuk
menentukan total item dari list. Hitungan dimulai dari 0 sampai dengan selesai, contoh:
thislist = ["apple", "banana", "cherry"]
i = 0
while i < len(thislist):
print(thislist[i])
i = i + 1
Hasilnya:
apple
banana
cherry
Menggunakan perulangan format singkat
Penulisan looping dapat dilakukan dengan perintah yang singkat, contoh:
thislist = ["apple", "banana", "cherry"]
[print(x) for x in thislist]
Hasilnya:
apple
banana
cherry
Mengurutkan List Ascending
Objek list mempunyai metode untuk mengurutkan agar data dari list dapat terurut menurut
huruf dan angka. Berikut contoh program untuk sorting huruf:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
Hasilnya :
['banana', 'kiwi', 'mango', 'orange', 'pineapple']
Contoh angka:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
Hasilnya :
[100, 82, 65, 50, 23]
Mengatur Fungsi Sorting
Fungsi pengurutan dapat dilakukan dengan menambahkan ketentuan khusus menggunakan
fungsi. Argumen yang digunakan adalah key = function.
Sebagai contoh apabila data list diurutkan menurut angka yang terdekat dengan 50, contoh
programnya sebagai berikut:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key = myfunc)
print(thislist)
Hasilnya:
[50, 65, 23, 82, 100]
Pengurutan Menurut Huruf Kecil Dahulu
Perintah sort() menghasilkan data terurut menurut huruf besar baru dilanjutkan ke huruf
kecil (case sensitive). Pengurutan menurut huruf kecil dahulu dapat dilakukan dengan
menambahkan perintah str.lower, contoh:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key = str.lower)
print(thislist)
Hasilnya :
['banana', 'cherry', 'Kiwi', 'Orange']
Pengurutan Terbalik
Item list dapat diurutkan secara terbalik (reverse) menggunakan perintah reserve().
Berikut contoh kode programnya:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
Hasilnya:
['cherry', 'Kiwi', 'Orange', 'banana']
Copy objek list
Terdapat beberapa cara untuk menyalin (copy) objek list yaitu menggunakan copy() dan
list(). Berikut kode program menyalin list menggunakan copy().
thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)
Hasilnya : ["apple", "banana", "cherry"]
#NOT a tuple
thistuple = ("apple")
print(type(thistuple))
Hasilnya :
<class 'tuple'>
<class 'str'>
Tipe Data Dari Item
Tipe data tuple dapat berupa string, int, dan boolean atau gabungan dari ketiganya, contoh:
tuple1 = ("apple", "banana", "cherry")
tuple2 = (1, 5, 7, 9, 3)
tuple3 = (True, False, False)
tuple1 = ("abc", 34, True, 40, "male")
Konstruktor Tuple()
Membuat tuple dapat pula dilakukan menggunakan perintah konstruktor tuple(), contoh:
thistuple = tuple(("apple", "banana", "cherry")) # note the double round-
brackets
print(thistuple)
Bila indeks awal tidak dituliskan maka pengambilan data dimulai dari indeks 0, contoh :
thistuple =
("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[:4])
Hasilnya : ('apple', 'banana', 'cherry', 'orange')
Bila indeks akhir tidak dituliskan maka pengambilan data dimulai dari indeks awal sampai
indeks terakhir, contoh :
thistuple =
("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:])
Hasilnya : ('cherry', 'orange', 'kiwi', 'melon', 'mango')
Jangkauan Dengan Indeks Negatif
Indeks negatif digunakan untuk memulai pengambilan data dari akhir urutan item, contoh:
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[-4:-1])
Hasilnya : ('orange', 'kiwi', 'melon')
print(x)
Hasilnya : ("apple", "kiwi", "cherry")
Menambahkan Item Tuple
Pada dasarnya tuple tidak dapat ditambahkan data (immutable), tetapi ada cara untuk
menambahkan data yaitu dikonversi ke list, ditambah itemnya lalu dikonversi lagi ke
tuple. Berikut contoh programnya:
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.append("orange")
thistuple = tuple(y)
Hasilnya : ('apple', 'banana', 'cherry', 'orange')
Cara yang lain adalah dengan menambahkan tuple ke dalam tuple yang lain, contoh:
thistuple = ("apple", "banana", "cherry")
y = ("orange",)
thistuple += y
print(thistuple)
print(green)
print(yellow)
print(red)
Hasilnya :
apple
banana
cherry
Menggunakan Tanda Asterisk (*)
Apabila jumlah variabel lebih sedikit dari jumlah item dalam tuple maka dapat
ditambahkan asterisk (*) pada nama variabel. Variabel dengan tanda asterisk akan diisi
dengan objek list yang berisi item-item yang belum tercakup dalam variabel. Berikut
contoh kode programnya:
fruits = ("apple", "banana", "cherry", "strawberry", "raspberry")
(green, yellow, *red) = fruits
print(green)
print(yellow)
print(red)
Hasilnya :
apple
banana
['cherry', 'strawberry', 'raspberry']
Hasilnya :
apple
['mango', 'papaya', 'pineapple']
cherry
Perulangan Dalam Tuple
Perintah for dapat digunakan untuk melakukan perulangan dalam tuple. Berikut contoh
perulangan menggunakan perinta for:
thistuple = ("apple", "banana", "cherry")
for x in thistuple:
print(x)
Hasilny:
apple
banana
cherry
Perulangan Tuple Menggunakan Indeks
Perulangan menggunakan nomor indeks dapat dilakukan dengan perintah range() dan
len(). Berikut contoh kode programnya:
thistuple = ("apple", "banana", "cherry")
for i in range(len(thistuple)):
print(thistuple[i])
Hasilnya :
apple
banana
cherry
Perulangan While
Perulangan menggunakan while memerlukan len() untuk menentukan panjang tuple.
Indeks dimulai dari 0 dan setiap perulangan indeksnya ditambah 1. Berikut contoh kode
program menggunakan while:
thistuple = ("apple", "banana", "cherry")
i = 0
while i < len(thistuple):
print(thistuple[i])
i = i + 1
Hasilnya :
apple
banana
cherry
Menggabungkan Dua Tuple
Menggabungkan dua atau lebih tuple dapat dilakukan dengan operator +. Berikut contoh
kode programnya:
tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)
Hasilnya :
('a', 'b', 'c', 1, 2, 3)
Perkalian Tuple
Untuk melipatgandakan isi dari tuple pemrogram dapat menggunakan operator *. Berikut
contoh kode programnya:
fruits = ("apple", "banana", "cherry")
mytuple = fruits * 2
print(mytuple)
Hasilnya :
('apple', 'banana', 'cherry', 'apple', 'banana', 'cherry')
III. Alat dan Bahan
1. PC / Laptop
2. Software Anaconda atau Google Colab (https://colab.research.google.com)
3. Anaconda Prompt
NIM[]
Nama[]
Email[]
choice=1
Menu Pilihan
1.Masukan Data
2.Mencari Data
3.Menampilkan Data
0.Keluar
tidak
choice !=0
ya
Selesai
Challenge3: Seorang developer diberi tugas untuk membuat penjumlahan, pengurangan, dan
perkalian matriks dua dimensi menggunakan List. Program ditampilkan dalam 4 menu
matriks : Penjumlahan, Pengurangan, Perkalian, dan Keluar. Data matrik dimasukan oleh
pengguna. Pada bagian akhir, program menampilkan hasil operasi matriks. Catat hasilnya
dalam Lembar Kerja 2.3.
Challenge4: Terdapat himpunan data harga handphone dengan dua atribut yaitu kamera dan
harga pada Tabel 2.1. Sebagai seorang developer anda diberi tugas untuk membuat aplikasi
prediksi harga pada handphone dengan kamera 9 MP dan 5 MP (H4 dan H6) menggunakan
algoritma regresi linier.
Tabel 2.1 Tabel Data Handphone dan Harga
Kamera Harga
Handphone
(MP) (jutaan)
H1 8 7
H2 2 3
H3 6 7
H4 9
H5 4 2
H6 5
H7 7 8
H8 3 3
∑ x i ( y i− y )
^ = i=1
w n
∑ x i ( x i−x)
i=1
a^ = y−w x
w^ : vektor bobot
a^ :intercept /bias
y :rata−rata y
x : rata−rata x
n : jumlah data
Objek penampung data yang digunakan adalah tuple dengan data yang sudah diisikan
langsung dalam program. Pada bagian akhir, program menampilkan hasil prediksi harga pada
H4 dan H6. Catat hasilnya dalam Lembar Kerja 2.4.
Langkah 1 : Analisis: Aplikasi memiliki input data berupa tuple yang menampung data
Tabel 2.1 (kamera dan harga). x= kamera dan y = harga. Proses program menggunakan
regresi linier untuk mendapatkan rumus prediksi regresi linier y= w
^ x+ a^ .
Urutan proses dari rumus tersebut adalah sebagai berikut:
- Hitung rata-rata x atau x
- Hitung rata-rata y atau y
n
- Hitung Sigma/Jumlah pembilang : ∑ x i ( y i− y)
i=1
n
- Hitung Sigma/Jumlah penyebut : ∑ x i (x i−x )
i=1
- Hitung w
^ dengan membagi pembilang dan penyebut
- Hitung a^ dengan rumus a^ = y−w x
- Test prediksi harga pada H4 dan H6 dengan memasukan nilai x = 9 dan x = 5.
Output : menampilkan hasil prediksi harga pada dua data tersebut.
Langkah 2 - Algoritma/Flowchart: (Gambar 2)
Mulai
hpkamera=(8,2,6,4,7,3)
hpharga=(7,3,7,2,8,3)
x1=9, x2=5
sumx, sumy, SigmaPembilang, SigmaPenyebut=0
w, a = 0
ratax = sum(hpkamera)/len(hpkamera)
ratay = sum(hpharga)/len(hpharga)
SigmaPembilang=sum(hpkamera*(hpharga-ratay))
SigmaPenyebut=sum(hpkamera*(hapkamera-ratax))
w=SigmaPembilang/SigmaPenyebut
a=ratay – w*ratax
Selesai
Challenge 5: Seorang developer diberi tugas untuk membuat aplikasi prediksi harga
handphone dengan dua variabel independent (x) dan satu variabel dependent atau (y) dengan
data sebagai berikut:
Tabel 2.2 Tabel Data Handphone dan Harga
Baterai Kamera Harga
Handphone
(MP) (jutaan)
H1 21 8 7
H2 16 2 3
H3 17 6 7
H4 14 9
H5 20 4 2
H6 24 5
H7 22 7 8
H8 18 3 3
Persamaan regresi yang digunakan adalah regresi linier berganda dengan rumus sebagai
berikut:
y=a+b1 x 1+ b2 x 2 +…+b n x n
y=variabel dependent (harga)
a=konstanta (intercept )
b=koefisien regresi
x=variabel independent ( Baterai dan Kamera)
Rumus perhitungan a, b1, b2 sebagai berikut:
a=¿ ¿
[(∑ x 2 ∑ x 1 y )−( ∑ x 2 y ∑ x 1 x 2 ) ]
2
b 1= 2
[ ( ∑ x 1 ∑ x 2 ) −( ∑ x 1 x 2 ) ]
2 2
[ ( ∑ x 12 ∑ x 2 y )−( ∑ x 1 y ∑ x 1 x 2 ) ]
b 2= 2
[ ( ∑ x 12 ∑ x 22 ) −( ∑ x 1 x 2 ) ]
Gunakan list dan tuple untuk menyimpan data pada tabel 1. Buatlah program Python tanpa
library dan menggunakan library pandas dan regression. Lakukan tes untuk prediksi harga
Handphone pada H4 dan H6. Catat Hasilnya dalam Lembar Kerja 2.5.
V. Lembar Kerja
No Kode Hasil Program
1 Lembar Kerja 2.1 Hasil Program:
Hasil Modifikasi:
Analisis:
5 Lembar Kerja 2.5 Hasil Program: