Anda di halaman 1dari 29

DASAR PEMROGRAMAN

JOB SHEET 3: LIST DAN TUPLE

Mata Kuliah : Dasar Pemrograman


Dosen : Mardiyono, S. Kom., M. Sc
Disusun oleh
Nama : Deny Wisnu Saputro Sukisno
NIM : 4.33.21.0.07
Kelas : TI-1A

PROGRAM STUDI TEKNOLOGI REKAYASA KOMPUTER


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
TAHUN 2022
I. Tujuan Instruksional Khusus
Setelah melakukan praktikum ini mahasiswa mampu menyelesaikan studi kasus
menggunakan objek array List dan Tuple.

II. Dasar Teori


Terdapat empat tipe data dalam pemrograman Python yang digunakan untuk menyimpan
himpunan data yaitu List, Tuple, Set, dan Dictionary. Bagian ini membahas tentang List dan
Tuple.
a. List
List digunakan untuk menyimpan banyak nilai (item) dalam variabel tunggal. List dibuat
dengan menggunakan tanda kurung kotak []. Format penulisannya sebagai berikut:
mylist = ["item1", "item2", "itemn"]
Sifat dari nilai List (item) yaitu terurut (ordered), dapat diubah (changeable), dan
membolehkan nilai yang sama (duplicate). Data dari list diurutkan dalam bentuk indeks mulai
dari [0], [1], dan seterusnya. Item dari List mempunyai urutan tertentu dan tidak berubah, jika
terdapat item baru maka item tersebut ditempatkan pada urutan terakhir. Item dari List dapat
diubah dengan cara ditambah dan dihapus setelah dibuat. Nilai yang sama dapat menjadi item
dari suatu List disebabkan setiap data mempunyai indeks yang berbeda. Contoh :
thislist = ["apple", "banana", "cherry", "apple", "cherry"]
Item dari objek thislist mempunyai item yang sama yaitu apple.
 Panjang List
Cara mengetahui panjang List atau jumlah item dalam List digunakan perintak len, contoh:
Thislist = ["apple", "banana", "cherry"]
print(len(thislist))

Hasilnya : 3.

 Tipe Data Item


Tipe data item dari List dapat berupa string, integer, dan boolean atau gabungan dari
ketiga tipe data tersebut, contoh:
list1 = ["apple", "banana", "cherry"]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]
list4 = ["abc", 34, True, 40, "male"]
 Tipe
Tipe data dari objek List dapat diketahui dengan perintah type, contoh:
mylist = ["apple", "banana", "cherry"]
print(type(mylist))

Hasilnya : <class 'list'>


 Konstruktor List
Objek List dapat dibuat menggunakan konstruktor list(), contoh:
thislist = list(("apple", "banana", "cherry")) 
print(thislist)
 Mengakses data List
Item dari List adalah terurut, data dapat diakses dengan merujuk pada nomor indeksnya,
contoh:
thislist = ["apple", "banana", "cherry"]
print(thislist[1])

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])

Hasilnya : ['apple', 'banana', 'cherry', 'orange']


Jika indeks awal tidak ditulis maka item yang ditampilkan dimulai dari indeks ke-0 yaitu
apple, dan berakhir pada indeks 4-1 (3) yaitu orange.
Sebaliknya bila indeks akhir tidak ditulis maka pengambilan data dimulai dari indeks awal
sampai indeks terakhir, contoh:
thislist =
["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:])
Hasilnya : ['cherry', 'orange', 'kiwi', 'melon', 'mango']
Pengambilan data dimulai dari indeks 2 (cherry) sampai indeks terakhir yaitu mango.
 Jangkauan Indeks Negatif
Indeks negatif digunakan apabila pengambilan data dimulai dari akhir list, contoh:
thislist =
["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[-4:-1])

Hasilnya : ['orange', 'kiwi', 'melon']


 Mengecek Keberadaan suatu data
Untuk memeriksa keberadaan suatu item dalam suatu list digunakan perintah in, contoh:
thislist = ["apple", "banana", "cherry"]
if "apple" in thislist:
  print("Yes, 'apple' is in the fruits list")
Hasilnya : Yes, 'apple' is in the fruits list
 Mengubah nilai item
Mengubah nilai item dapat dilakukan dengan menuliskan nilai baru pada indeks item yang
akan diubah, contoh:
thislist = ["apple", "banana", "cherry"]
thislist[1] = "blackcurrant"
print(thislist)
Hasilnya : ['apple', 'blackcurrant', 'cherry']
 Mengecek Keberadaan suatu data/item
Keberadaan suatu data/item dari suatu list bisa dicek menggunakan in, contoh:
thislist = ["apple", "banana", "cherry"]
if "apple" in thislist:
  print("Yes, 'apple' is in the fruits list")

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 akan berubah menjadi blackcurrant


 Mengubah nilai item dengan nilai jangkauan
Pengubahan item dapat dilakukan dalam jangkauan tertentu dengan menuliskan indeks
awal dan indeks akhir jangkauan. Nilai item yang diubah dimulai dari indeks awal sampai
dengan indeks akhir - 1, contoh:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "mango"]
thislist[1:3] = ["blackcurrant", "watermelon"]
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", "orange"]


 Menggabungkan dua list
Dua buah list dapat digabung menjadi satu dengan perintah extend(), contoh:
thislist = ["apple", "banana", "cherry"]
tropical = ["mango", "pineapple", "papaya"]
thislist.extend(tropical)
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", "banana", "cherry", "kiwi", "orange"]


 Menghapus item
Menghapus dilakukan menggunakan perintah remove() diikuti dengan nilai item yang
akan dihapus, contoh:
thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")
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']

Berikut contoh program untuk sorting angka:


thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
Hasilnya :
[23, 50, 65, 82, 100]
 Mengurutkan List Descending
Pengurutan dari besar ke kecil dapat dilakukan dengan menambahkan perinyah reverse =
True, contoh huruf:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
Hasilnya :
['pineapple', 'orange', 'mango', 'kiwi', 'banana']

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"]

Berikut kode program menyalin list menggunakan list():


thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist)
Hasilnya : ["apple", "banana", "cherry"]
 Menggabungkan dua objek list
Beberapa cara untuk menggabungkan objek list meliputi +, append(), dan extend(). Contoh
kode program menggunakan +:
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]

list3 = list1 + list2


print(list3)
Hasilnya : ['a', 'b', 'c', 1, 2, 3]

Contoh kode program menggunakan append():


list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
for x in list2:
  list1.append(x)
print(list1)

Hasilnya : ['a', 'b', 'c', 1, 2, 3]


Contoh kode program menggunakan extend():
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1)

Hasilnya : ['a', 'b', 'c', 1, 2, 3]


b. Tuple
Tuple adalah objek yang dapat menampung banyak item dalam satu variabel. Sifat dari
himpunan tuple adalah terurut dan tidak bisa diubah. Tanda yang digunakan dalam tuple yaitu
kurung bulat (round brackets). Berikut contoh penulisan tuple:
thistuple = ("apple", "banana", "cherry")
print(thistuple)

Hasil : ('apple', 'banana', 'cherry')


 Item dari Tuple
Item dari tuple bersifat terurut, tidak dapat diubah, dan membolehkan nilai yang sama.
Data dari tuple diberi urutan nomor (terindeks) dimulai dari indeks [0], [1], dan
seterusnya.
 Terurut (ordered)
Tuple bersifat terurut (ordered) yaitu setiao item memiliki nilai urutan tertentu yang tidak
dapat diubah.
 Tidak Dapat Diubah
Item dari tuple tidak dapat diubah artinya data item tidak bisa diganti, ditambah, atau
dihapus setelah tuple dan nilainya dibuat.
 Membolehkan data yang sama
Data dari tuple dapat memiliki nilai yang sama (duplicate), contoh:
thistuple = ("apple", "banana", "cherry", "apple", "cherry")
print(thistuple)
Hasilnya : ('apple', 'banana', 'cherry', 'apple', 'cherry')
 Panjang Tuple
Perintah yang digunakan untuk menentukan panjang tuple atau jumlah item di dalam tuple
adalah len(), contoh :
thistuple = ("apple", "banana", "cherry")
print(len(thistuple))
Hasilnya : 3
 Membuat Ttuple Dengan Satu Item
Tuple dapat diisi dengan satu nilai/item dengan cara menambahkan koma (,) setelah item
tersebut, apabila tidak ditambahkan koma maka Python tidak mengenalinya sebagai tuple.
Berikut contoh penulisan kode programnya:
thistuple = ("apple",)
print(type(thistuple))

#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)

 Mengakses Item Tuple


Item dari tuple dapat diakses menggunakan urutan indeksnya dalam kurung kotak, contoh:
thistuple = ("apple", "banana", "cherry")
print(thistuple[1])
Hasilnya : banana
 Indeks negatif
Indeks negatif dapat digunakan untuk mengakses item yang dimulai dari akhir item.
Indeks -1 adalah posisi akhir item sedangkan -2 adalah item dengan posisi dua terakhir,
contoh:
thistuple = ("apple", "banana", "cherry")
print(thistuple[-1])
Hasilnya : cherry
 Jangkauan Dengan Indeks
Indeks dapat ditentukan dalam bentuk jangkauan diawali dengan indeks awal/mulai dan
indeks akhir. Indeks pertama bernilai [0] dan indeks akhir tidak termasuk (not included).
Berikut contoh kode programnya:
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:5])
Hasilnya : ('cherry', 'orange', 'kiwi')

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')

 Memeriksa Keberadaan Item


Item pada tuple dapat diperiksa keberadaannya menggunakan perintah in, contoh:
thistuple = ("apple", "banana", "cherry")
if "apple" in thistuple:
  print("Yes, 'apple' is in the fruits tuple")

Hasilnya : Yes, 'apple' is in the fruits tuple


 Mengubah Nilai Tuple
Nilai tuple tidak dapat diubah, namun apabila nilai tuple akan diubah maka dikonversi
dulu dalam bentuk list lalu dilakukan perubahan data selanjutnya dikonversi lagi ke bentuk
tuple. Berikut contoh kode programnya:
x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x = tuple(y)

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)

Hasilnya : ('apple', 'banana', 'cherry', 'orange')


 Menghapus Item
Tuple tidak dapat diubah datanya, maka dari itu item dari tuple tidak dapat dihapus. Untuk
menghapus data item maka harus dikonversi dulu ke list, kemudian hapus itemnya setelah
itu dikonversi lagi ke tuple. Berikut contoh kode programnya:
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.remove("apple")
thistuple = tuple(y)

Hasilnya : ('banana', 'cherry')


Cara yang lain adalah menghapus objek tuple dengan perintah del, contoh:
thistuple = ("apple", "banana", "cherry")
del thistuple
print(thistuple) #this will raise an error because the tuple no longer
exists

Hasilnya objek tuple sudah terhapus.


 Unpacking Tuple
Tuple yang sudah dibuat dan diisikan nilainya atau itemnya maka proses ini disebut
dengan packing tuple. Namun kita dapat mengambil nilai dari item menggunakan variable
dengan metode unpacking, contohnya:
fruits = ("apple", "banana", "cherry")

(green, yellow, red) = fruits

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']

Tanda asterisk juga dapat diberikan pada variabel di tengah, contohnya:


fruits = ("apple", "mango", "papaya", "pineapple", "cherry")
(green, *tropic, red) = fruits
print(green)
print(tropic)
print(red)

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)

tuple3 = tuple1 + tuple2


print(tuple3)

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

IV. Langkah Kerja / Percobaan


Studi Kasus Aplikasi Input Data Mahasiswa Berbasis List
Challenge1: Sebuah projek aplikasi dibangun menggunakan pemrograman Python. Aplikasi
ini dapat menyimpan dan mencari data mahasiswa berupa NIM, Nama, dan Email. Objek
yang digunakan untuk menampung data adalah List. Aplikasi juga dapat menampilkan semua
data.
Penyelesaian Challenge1:
Langkah 1 : Analisis: Aplikasi mempunyai tiga input data (NIM, Nama, dan Email),
Terdapat menu input pilihan yaitu menyimpan, mencari dan menampilkan data. Terdapat tiga
proses program yaitu menyimpan, mencari dan menampilkan data. Output berupa tampilan
data yang telah diisi atau hasil pencarian data. Aplikasi diuji dengan memasukan data
mahasiswa kelas anda NIM, Nama, dan Email sejumlah 10 orang. Cek hasil input dan
pencarian datanya.
Langkah 2 - Algoritma/Flowchart: (Gambar 1)
Langkah 3 - Kode Program:
Langkah 4 - Testing:
- Coba menu pilihan 1  Memasukan Data 10 mahasiswa kelas anda. Catat Hasilnya
dalam Lembar Kerja 2.1.
- Coba menu pilihan 2  Memasukan salah satu NIM mahasiswa yang benar,
Memasukan NIM mahasiswa yang salah. Catat Hasilnya dalam Lembar Kerja 2.1.
- Coba menu pilihan 3  Menampilkan Data. Catat Hasilnya dalam Lembar Kerja
2.1.
- Coba menu pilihan 0  Keluar dari progam. Catat Hasilnya dalam Lembar Kerja
2.1.
Mulai

NIM[]
Nama[]
Email[]
choice=1

Menu Pilihan
1.Masukan Data
2.Mencari Data
3.Menampilkan Data
0.Keluar

tidak
choice !=0

ya

choice ==1 Masukan Data

choice ==2 Mencari Data

choice ==3 Menampilkan Data

Selesai

Gambar 1. Flowchart Program Challenge1


Challenge2: Modifikasi program Challenge1 dengan menambahkan menu Mengubah dan
Menghapus Data. Uji program anda dan Catat hasilnya dalam Lembar Kerja 2.2.

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

Rumus regresi linier adalah sebagai berikut: y= w


^ x+ a^

∑ 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

Hitung Prediksi harga data x1


Hitung Prediksi harga data x2

Cetak Prediksi Harga x1


Cetak Prediksi Harga x2

Selesai

Gambar 2. Flowchart Program Regresi Linier Tuple


Langkah 3 – Kode Program:
Anda juga dapat menggunakan list dari tuple untuk menampung data tabel serta librari panda
dan regresi linier untuk menyederhanakan program.
Langkah 4 - Testing:
- Jalankan kedua program pada langkah 3 dan Catat Hasilnya dalam Lembar Kerja
2.4.
- Analisis kedua program pada langkah 3 tuliskan dalam Lembar Kerja 2.4.

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:

2 Lembar Kerja 2.2 Hasil Program:

Hasil Modifikasi:

3 Lembar Kerja 2.3 Hasil Program:

4 Lembar Kerja 2.4 Hasil Program:

Analisis:
5 Lembar Kerja 2.5 Hasil Program:

VI. Tugas Praktik


1. Kerjakan semua challenge 1.1 s.d 1.5.
2. Analisis perbedaan pada regresi linier sederhana dan berganda (menurut input, proses,
dan hasilnya).
VII. Kesimpulan
Mengetahui fungsi tuple dan list serta dapat mengimplementasikannya atau
mempraktekkannya secara langsung serta dapat mencari solusi jika terdapat langkah-
langkah yang salah.
VIII. Referensi
1. https://w3schools.com
2. https://medium.com/kelompok1/analisis-regresi-linear-sederhana-pada-python-
16974504e10c

Anda mungkin juga menyukai