266
MEMBUAT TUPLE kosong = () tuple = (1234, 4321, “Hello”) tuple2 = 1234, 4321, “World!”

kosong = () tuple = (1234, 4321, “Hello”)

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: kosong = () tuple = (1234, 4321, “Hello”)

MEMBUAT TUPLE

• kosong = ()

• tuple = (1234, 4321, “Hello”) • tuple2 = 1234, 4321, “World!”

Page 2: kosong = () tuple = (1234, 4321, “Hello”)

MENGAKSES TUPLE

# membuat tuple

nama = (‘Restu', ‘Dewi', 'Reza')

# mengakses nilai tuple

print(nama[0]) #Restu

print(nama[1]) #Dewi

print(nama[2]) #Reza

Page 3: kosong = () tuple = (1234, 4321, “Hello”)

MEMOTONG TUPLE # Sebuah Tuple Mahasiswa

mahasiswa = (2020, "Sistem Informasi", "Universitas Mulawarman")

# lalu kita ingin potong agar ditampilkan dari indeks nomer 1 sampai 2

print("Potongan [1:3] : ", mahasiswa[1:3])

print("Potongan [2:3] : ", mahasiswa[2:3])

print("Potongan [3:3] : ", mahasiswa[3:3])

Page 4: kosong = () tuple = (1234, 4321, “Hello”)

PANJANG TUPLE

# Membuat Tuple dengan data Jumlah Hari

hari = ('Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu', 'Minggu')

# Mengambil panjang tuple hari

print(hari)

print("Jumlah hari: %d" % len(hari))

Page 5: kosong = () tuple = (1234, 4321, “Hello”)

TUPLE NESTED#Contoh:

tuple1 = "Saya", "Bisa Lulus", "Sistem Informasi"

tuple2 = "Yakin", 3.5, "tahun", "Universitas Mulawarman"

tuple3 = (tuple1, tuple2) # <- nested tuple

#tuple3 akan berisi nilai dari tuple1 dan tuple2.

print(tuple3)

print(tuple3[1])

print(tuple3[0][0],tuple3[0][2],tuple3[1][3])

Page 6: kosong = () tuple = (1234, 4321, “Hello”)

TUPLE SQUENCE UNPACKING# mula-mula kita buat tuple seperti ini

mahasiswa = 2020939, "Ratna Dewi", "Sistem Informasi", "Universitas Mulawarman"

# lalu di-unpacking

nim, nama, prodi, institusi = mahasiswa

# maka sekarang tiga variabel tersebut akan memiliki nilai

# Lakukan pemanggilan luaran data

print("NIM : ",nim)

print("Nama :",nama)

print("Prodi : ",prodi)

print("Institusi : ",institusi)

Page 7: kosong = () tuple = (1234, 4321, “Hello”)

DEMO PEMROGRAMAN TUPLE DI PYTHON

Page 8: kosong = () tuple = (1234, 4321, “Hello”)

Terima KasihStruktur Data Maple itu Mudah dan Dapat dijadikan database sementara

Page 9: kosong = () tuple = (1234, 4321, “Hello”)

Program Studi Sistem Informasi Fakultas Teknik Universitas Mulawarman

DASAR-DASAR PEMROGRAMAN

Putut Pamilih Widagdo, S.Kom., M.Kom

Struktur Pemrograman LIST

Page 10: kosong = () tuple = (1234, 4321, “Hello”)

Overview

LIST

Membuat LIST01

Pemanggilan Nilai LIST02

Menambahkan danMenghapus Nilai List

03

Operasional LIST04

LIST Multi Dimensi05

Page 11: kosong = () tuple = (1234, 4321, “Hello”)

STRUKTUR PEMROGRAMAN LISTInsert the Sub Tittle of Your Presentation

Page 12: kosong = () tuple = (1234, 4321, “Hello”)

Pengertian

LIST• List adalah struktur data pada

python yang mampu

menyimpan lebih dari satu

data, seperti array.

• List sering disebut juga array

pada bahasa pemrograman lain

• List adalah jenis data campuran

yang bisa memiliki komponen

penyusun yang berbeda-beda.

Page 13: kosong = () tuple = (1234, 4321, “Hello”)

Pengertian

LIST [2]• Sebuah list dapat dibuat

dengan menggunakan tanda

kurung siku [ ].

• Anggota list didaftar dalam

kurung siku tersebut dan

masing-masing dipisahkan oleh

tanda koma.

Page 14: kosong = () tuple = (1234, 4321, “Hello”)

Sifat-Sifat LIST• Komponen penyusunnya bisa diganti.

• Komponen penyusunya dapat dibaca dan

dimanipulasi secara langsung.

• Komponen penyusunnya bisa ditambah.

• Komponen penyusunnya dapat diambil dengan

menunjukkan indeksnya atau dengan notasi slice.

• Komponen penyusun sebuah list dapat juga

berupa list yang lain.

Page 15: kosong = () tuple = (1234, 4321, “Hello”)

nama = ["Agus", "Bambang", "Nina", "Putra"]

Membuat List di Python

list dapat diisi dengan tipe data apa saja, string, integer, float, double, boolean, object, dan sebagainya. Contoh :

laci = ["buku", 21, True, 34.12]Ada empat jenis tipe data pada list laci: "buku" adalah tipe data string; 21 adalah tipe data integer; True adalah tipe data boolean; dan 34.12 adalah tipe data float.

Page 16: kosong = () tuple = (1234, 4321, “Hello”)

Pemanggilan List di Pythonprodi =["Ilmu Komputer","Teknik Informatika","Sistem Informasi"]#pemanggilan berdasarkan indexprint(prodi[0])print(prodi[1])print(prodi[2])#Pemanggilan di potong-potong berdasarkan indexprint("Potong [0:-1] : ",prodi[0:-1])print("ditambahkan : ",prodi[:2]+["Teknik","Unmul"])#Jumlah Isi Listprint("Jumlah Isi List : ",len(prodi))

Page 17: kosong = () tuple = (1234, 4321, “Hello”)

Mengambil Nilai List

# Buat list untuk menampung nama

dosen = ["Hario", "Medi", "Bambang", "Reza", "Gubtha", "Anton", "Putut" ]

# Tampilkan isi list dosen dengan nomer indeks 3

print ("Isi Nama Dosen indeks ke-4 adalah: {}".format(dosen[3]))

# Tampilkan semua daftar dosen

print ("Jumlah Semua Dosen : ada {} orang".format(len(dosen)))

for dosen_gaul in dosen:print (dosen_gaul)

Page 18: kosong = () tuple = (1234, 4321, “Hello”)

Menambah Nilai List

• append(item) menambahkan item dari belakang.

• insert(index, item) menambahkan item dari indeks tertentu

Page 19: kosong = () tuple = (1234, 4321, “Hello”)

Mengubah Nilai List

# list mula-mulaprodi = ["Teknik Informatika", "Bahasa Coding", "Sistem Informasi", "Teknologi Informasi"]

# mengubah nilai index ke-2print("Data pertama : ", prodi)prodi[1] = "Ilmu Komputer"print("Data perubahan : ", prodi)

Page 20: kosong = () tuple = (1234, 4321, “Hello”)

Menghapus isi List

#Menghapus isi list berdasarkan indexdel variable[index]

Page 21: kosong = () tuple = (1234, 4321, “Hello”)

Operasional List Penggabungan

# Beberapa list lagu

list_lagu = [

"Cinta Luar Biasa",

"Hymne Unmul"

]

# playlist lagu favorit

playlist_favorit = [

"Kasih Sayang Kepada Orang Tua",

"Ruang Rindu"

]

# Mari kita gabungkan keduanya

semua_lagu = list_lagu + playlist_favorit

print (semua_lagu)

Page 22: kosong = () tuple = (1234, 4321, “Hello”)

Operasional List Perkalian

# playlist lagu favorit

playlist_favorit = [

"Is My Life",

"Now Loading!!!"

]

# ulangi sebanyak 5 kali

ulangi = 5

now_playing = playlist_favorit * ulangi

print (now_playing)

Page 23: kosong = () tuple = (1234, 4321, “Hello”)

List Multidimensi

# List minuman dengan 2 dimensi

list_minuman = [

["Kopi Luwak", "Soda Sedih", "Teh"],

["Jus Apel", "Jus Buah Naga", "Jus Jeruk"],

["Es Kopyor Degan", "Es Campur", "Es Teler"]

]

# Cara mengakses list multidimensi

# misalkan kita ingin mengambil "es kopyor degan"

print (list_minuman[2][0])

Page 24: kosong = () tuple = (1234, 4321, “Hello”)

# Membuat list kosong untuk menampung Super Hero

hero = []

stop = False

i = 0

# Mengisi super hero

while(not stop):

hero_baru = input("Inputkan hero yang ke-{}: ".format(i))

hero.append(hero_baru)

# Increment i

i += 1

tanya = input("Mau mengisi nama Hero lagi? (y/t): ")

if(tanya == "t"):

stop = True

# Cetak Semua super hero

print ("=" * 10)

print ("Kamu memiliki {} hero Favoritmu Yaitu : ".format(len(hero)))

for hb in hero:

print ("+ {}".format(hb))

Contoh List pada Program

Page 25: kosong = () tuple = (1234, 4321, “Hello”)

DEMO PEMROGRAMAN LISTPemrograman List di Python itu mudah

Page 26: kosong = () tuple = (1234, 4321, “Hello”)

Terima KasihDasar-Dasar Pemrograman

Page 27: kosong = () tuple = (1234, 4321, “Hello”)

http://www.free-powerpoint-templates-design.com

DASAR-DASAR PEMROGRAMAN“Struktur Pemrograman Dictionary”

Putut Pamilih Widagdo, S.Kom., M.Kom

http://www.free-powerpoint-templates-design.com

Program Studi Sistem Informasi

Fakultas Teknik

Universitas Mulawarman

Page 28: kosong = () tuple = (1234, 4321, “Hello”)

DICTIONARYStruktur Pemrograman di Python

Page 29: kosong = () tuple = (1234, 4321, “Hello”)

Overview

Pembelajaran

Dictionary

Pengertian Dictionary01

Mengakses Dictionary02

Deklarasi tambah, ubah, hapus, lihat panjang data

Manajemen Dictionary03

Demo Program Dictionary04

Page 30: kosong = () tuple = (1234, 4321, “Hello”)

• Dictionary adalah stuktur data yang bentuknya seperti kamus.

• Ada kata kunci kemudian ada nilainya. Kata kunci harus unik,

sedangkan nilai boleh diisi dengan apa saja.

• Dictionary memiliki kunci berupa teks bisa juga angka.

sedangkan list dan tuple menggunakan indeks berupa angka saja

untuk mengakses nilainya.

D e f i s i n i

Dictionary

Page 31: kosong = () tuple = (1234, 4321, “Hello”)

Deklarasi Dictionary

warna={"warna1":"Merah", "warna2":"Biru", "warna3":"Kuning"}print(warna["warna1"])#Output : Merah

#Contoh Lain Dictionary

prodi={}

prodi[1]="Ilmu Komputer"

prodi[2]="Teknik Informatika"

prodi[3]="Sistem Informasi"

print(prodi)

Output : {1: 'Ilmu Komputer', 2: 'Teknik Informatika', 3: 'Sistem Informasi'}

Page 32: kosong = () tuple = (1234, 4321, “Hello”)

Konsep

Membuat

Dictionary

Hal yang wajib ada di dalam pembuatan Dictionary adalah:• nama dictionary,• key,• value,• buka dan tutupnya menggunakan kurung kurawal.Antara key dan value dipisah dengan titik dua (:) danapabila terdapat lebih dari satu item, maka dipisahdengan tanda koma (,).

Isi dari Dictionary dapat berupa:• String• Integer• Objek• List• Tuple• Dictionary• dsb.

Page 33: kosong = () tuple = (1234, 4321, “Hello”)

Contoh Membuat Dictionarypak_dosen = {

"nama": "Muhammad Bambang",

"umur": 22,"hobi": ["Coding", "Membaca", "Traveling"],"menikah": True,"sosmed": {

"facebook": "bengbeng","twitter": "@mrbengbeng"

} }

Mari kita lihat isi dari Dictionary di atas:• nama berisi string "Muhammad Bambang"• umur berisi integer 22• hobi berisi list dari string• menikah berisi boolean True• dan sosmed berisi Dictionary

Page 34: kosong = () tuple = (1234, 4321, “Hello”)

Mengakses Dictionarypak_dosen = {

"nama": "Muhammad Bambang",

"umur": 22,

"hobi": ["Coding", "Membaca", "Traveling"],

"menikah": True,

"sosmed": {

"facebook": "bengbeng",

"twitter": "@mrbengbeng"

}

}# Mengakses isi dictionaryprint("Nama saya adalah %s" % pak_dosen["nama"])print("Facebook: %s" % pak_dosen["sosmed"]["facebook"])print("Twitter: %s" % pak_dosen["sosmed"]["twitter"])#Bisa juga menggunakan Getprint(pak_dosen.get("nama"))

Page 35: kosong = () tuple = (1234, 4321, “Hello”)

Mengubah Data Dictionary# membuat dictionary pengguna

mahasiswa = {

"nama": "Joko Santoso"

}

# cetak isi

print("Nama Mahasiswa : ", mahasiswa["nama"])

# merubah Isi data

mahasiswa["nama"] = "Rahmad Nazarifuddin"

print("Nama Mahasiswa : ", mahasiswa["nama"])

Page 36: kosong = () tuple = (1234, 4321, “Hello”)

Menghapus Data Dictionary

# membuat dictionary pengguna

mahasiswa = {

"nama": "Joko Santoso"

}

# Menghapus dengan Cara 1 :

del mahasiswa[“nama”]# Menghapus dengan Cara cara 2 :

Mahasiswa.pop[“nama”]

Page 37: kosong = () tuple = (1234, 4321, “Hello”)

Panjang Data Dictionary

# membuat dictonary

books = {

"python": "Menguasai Python dalam 8 jam",

"java": "Tutorial Belajar untuk Pemula",

"php": "Membuat aplikasi web dengan PHP"

}

# mencetak jumlah data yang ada di dalam dictionary

print("Jumlah buku dalam database : %d" % len(books))

Page 38: kosong = () tuple = (1234, 4321, “Hello”)

DEMO PEMROGRAMAN

DICTIONARY DI PYTHON

Page 39: kosong = () tuple = (1234, 4321, “Hello”)

TERIMA KASIHDictionary dalam pemrograman dasar mirip seperti tempat penyimpanan data

Page 40: kosong = () tuple = (1234, 4321, “Hello”)

Program Studi Sistem Informasi

Fakultas Teknik

DASAR-DASAR PEMROGRAMAN“Struktur Fungsi dan Prosedur Pemrograman”

Oleh : Putut Pamilih Widagdo, S.Kom., M.Kom

Page 41: kosong = () tuple = (1234, 4321, “Hello”)

Overview PembelajaranFungsi

Cara Membuat Fungsi01

Fungsi Dengan Parameter02

Fungsi Mengembalikan Nilai03

Variabel Global & Lokal04

Demo Program di Python05

Page 42: kosong = () tuple = (1234, 4321, “Hello”)

Section BreakInsert the Sub Title of Your Presentation

Page 43: kosong = () tuple = (1234, 4321, “Hello”)

PENDAHULUAN

• Masing-masing fitur pada program dapatkita buat dalam satu fungsi.• Pada saat kita membutuhkan fitur tersebut,

kita tinggal panggil fungsinya saja.

• Program yang kompleks dan memiliki banyak fitur, diharuskanmenggunakan fungsi. Mengapa harus menggunakan fungsi?Karena jika tidak menggunakannya kita akan kerepotan menuliskode programnya, coding yang banyak yang harus ditulis dan kodeakan menjadi sulit dibaca dan dirawat (maintenance).• Dengan fungsi, kita dapat memecah program besar menjadi sub

program yang lebih sederhana.

Page 44: kosong = () tuple = (1234, 4321, “Hello”)

Prosedur di Python

• Prosedur : "metode langkah demi langkah secara pasti dalam

memecahkan suatu masalah

• Perbedaan antara suatu prosedur dengan suatu fungsi dalam

sebuah program adalah masukan dan keluarannya.

• Pada prosedur, tidak ada keluaran sedangkan pada fungsi

ada keluaran yang nantinya dapat

• selanjutnya diolah lagi.

• Prosedur : Fungsi yang tidak mengembalikan nilai

Page 45: kosong = () tuple = (1234, 4321, “Hello”)

Perbedaan Prosedur dan Fungsi

Page 46: kosong = () tuple = (1234, 4321, “Hello”)

Membuat Fungsi di Python

# Membuat Fungsi

def salam():

print ("Selamat Pagi Mahasiswa Sistem Informasi

Muda")

# Pemanggilan Fungsi

salam()

#Hasil Outputnya :

Selamat Pagi Mahasiswa Sistem Informasi Muda

Page 47: kosong = () tuple = (1234, 4321, “Hello”)

Membuat Fungsi Parameter

# Membuat fungsi dengan parameter (panjang, lebar)

def luas_persegi_panjang(panjang, lebar):

luas = panjang * lebar

print ("Luas persegi panjang : %f" % luas)

# Pemanggilan fungsi luas_persegi_panjang

luas_persegi_panjang(4, 6)

Hasil Luaran:

Luas persegi : 24.000000

Page 48: kosong = () tuple = (1234, 4321, “Hello”)

Return

FungsiMengembalikanNilai

#Contoh Program kembalikan hasil fungsi

def luas_persegi(sisi):

luas = sisi * sisi

return luas

# pemanggilan fungsi luas persegi

print ("Luas persegi : %d" %

luas_persegi(8))

Hasil Luaran :

Luas persegi : 64

Page 49: kosong = () tuple = (1234, 4321, “Hello”)

VariabelGlobal & Lokal

• Variabel Global adalah variabel yang bisa diakses dari semua

fungsi, sedangkan variabel lokal hanya bisa diakses di dalam

fungsi tempat dia berada saja.

# Contoh Program membuat variabel globalnama = "Universitas Mulawarman"versi = "1.0.0"

def help():# ini variabel lokalnama = "Fakultas Teknik"versi = "1.0.2"# mengakses variabel lokalprint ("Nama: %s" % nama)print ("Versi: %s" % versi)

# mengakses variabel globalprint ("Nama: %s" % nama)print ("Versi: %s" % versi)

# memanggil fungsi help()help()

Page 50: kosong = () tuple = (1234, 4321, “Hello”)

DEMO PROGRAM PENGGUNAAN FUNGSI DI PYTHON

Page 51: kosong = () tuple = (1234, 4321, “Hello”)

Terima KasihProsedur dan Fungsi Dalam Pemrograman Dasar

Page 52: kosong = () tuple = (1234, 4321, “Hello”)

BUKU AJAR DASAR-DASAR PEMPROGRAMAN

Disusun Oleh :

Putut Pamilih Widagdo, S.Kom., M.Kom

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNIK

UNIVERSITAS MULAWARMAN

2020

Page 53: kosong = () tuple = (1234, 4321, “Hello”)

ii

DAFTAR ISI

DAFTAR ISI ................................................................................................................................... ii

DAFTAR GAMBAR ...................................................................................................................... v

DAFTAR TABEL ......................................................................................................................... vii

BAB 1 PENGENALAN ALGORTIMA DAN PEMROGRAMAN ............................................. 8

1.1. Pengertian Algoritma ................................................................................................................. 8

1.2. Bentuk Dasar Algoritma ............................................................................................................ 9

1.3. Fungsi dan Manfaat Algoritma ............................................................................................... 10

1.4. Contoh Algoritma ..................................................................................................................... 11

1.5. Pemrograman Algoritma .......................................................................................................... 12

BAB 2 FLOWCHART DAN PSEUDOCODE .......................................................................... 14

2.1. Pendahuluan Flowchart dan Pseuducode ............................................................................... 14

2.2. Flowchart ................................................................................................................................... 14

2.3. Simbol-simbol Flowchart ........................................................................................................ 15

2.4. Tahapan Membuat Flowchart .................................................................................................. 15

2.5. Pseudocode ................................................................................................................................ 16

2.6. Contoh Soal flowchart dan Pseudocode ................................................................................ 18

2.7. Pemprograman dan Console .................................................................................................... 19

2.8. Penugasan .................................................................................................................................. 20

BAB 3 BAHASA PEMPROGRAMAN PYTHON ..................................................................... 21

3.1. Pendahuluan Python ................................................................................................................. 21

3.2. Pengenalan Python .................................................................................................................... 22

3.3. Mengapa Python ....................................................................................................................... 22

3.4. Keunggulan dan Kekurangan Python ..................................................................................... 23

3.5. Proses Instalasi Python ............................................................................................................. 24

3.6. Cara Menjalankan Python ........................................................................................................ 27

3.7. Perbandingan Penulisan Code di Python ............................................................................... 28

3.8. Cara Kerja Python Interpreter dan Compiler ........................................................................ 28

BAB 4 STRUKTUR DATA PEMPROGRAMAN PYTHON .................................................... 30

4.1. Pokok Pembahasan ................................................................................................................... 30

4.2. Dasar Teori ................................................................................................................................ 30

4.3. Tipe Data .................................................................................................................................... 30

Page 54: kosong = () tuple = (1234, 4321, “Hello”)

iii

4.4. Variabel ...................................................................................................................................... 34

4.5. Operator ...................................................................................................................................... 35

4.6. Model Penulisan Program ........................................................................................................ 37

4.7. Percobaan ................................................................................................................................... 41

BAB 5 STRUKTUR PEMROGRAMAN PERCABANGAN ..................................................... 42

5.1. Struktur Pemrograman Percabangan IF ................................................................................. 42

5.2. Struktur Percabangan IF/ELSE .............................................................................................. 45

5.3. Struktur Percabangan IF / ELIF / ELSE ................................................................................ 48

BAB 6 STRUKTUR PEMROGRAMAN PERULANGAN........................................................ 52

6.1. Dasar Teori Perulangan (Looping) ......................................................................................... 52

6.2. Pemrograman Perulangan For ................................................................................................. 52

6.3. Pemrograman Perulangan while ............................................................................................. 53

BAB 7 STRUKTUR DATA LIST ............................................................................................... 56

7.1. Pengenalan Struktur Data List ................................................................................................ 56

7.2. Cara Membuat List di Python ................................................................................................. 57

7.3. Cara Pemanggilan List ............................................................................................................. 57

7.4. Operasi Dasar pada List ........................................................................................................... 58

7.5. Method dan Fungsi Build-in pada list python ....................................................................... 58

7.6. Manajemen Data List dalam Program Sederhana ................................................................ 59

7.7. Membuat List Multidimensi .................................................................................................... 63

7.8. Latihan Membuat Program List .............................................................................................. 65

BAB 8 STRUKTUR DATA TUPLE ............................................................................................ 67

8.1. Pengenalan Struktur Data Tuple ............................................................................................. 67

8.2. Cara Membuat Tuple di Python .............................................................................................. 68

8.3. Membuat Tuple Kosong .......................................................................................................... 69

8.4. Mengakses Nilai Tuple ............................................................................................................ 69

8.5. Operasi Dasar pada Tuple Python .......................................................................................... 71

8.6. Memotong Struktur Data Tuple .............................................................................................. 71

8.7. Mengambil Panjang Struktur Data Tuple .............................................................................. 72

8.8. Struktur Tuple Nested .............................................................................................................. 72

8.9. Sequence Unpacking Tuple ..................................................................................................... 73

BAB 9 STRUKTUR DATA DICTIONARY ............................................................................. 74

Page 55: kosong = () tuple = (1234, 4321, “Hello”)

iv

9.1. Pengenalan Stuktur Data Dictionary ...................................................................................... 74

9.2. Deklarasi pemrograman Dictionary di python ...................................................................... 74

9.3. Fungsi Build In pada Dictionary Python ............................................................................... 75

9.4. Method Build-In pada Dictionary Python ............................................................................. 75

9.5. Membuat Dictionary ................................................................................................................. 76

9.6. Mengakses Item Pada Dictionary ........................................................................................... 77

9.7. Menambahkan Item Pada Dictionary ..................................................................................... 79

9.8. Mengubah Item Pada Dictionary ............................................................................................ 80

9.9. Menghapus Item Pada Dictionary .......................................................................................... 80

9.10. Mengambil jumlah isi Dictionary ........................................................................................... 82

BAB 10 FUNGSI DAN PROSEDUR ......................................................................................... 83

10.1. Pengenalan Fungsi dan Prosedur di Python .......................................................................... 83

10.2. Aturan Mendefinisikan Fungsi ................................................................................................ 83

10.3. Membuat Fungsi pada Python ................................................................................................. 84

10.4. Fungsi dengan Parameter ......................................................................................................... 85

10.5. Fungsi Mengembalikan Nilai .................................................................................................. 85

10.6. Variabel Global dan Lokal ...................................................................................................... 87

10.7. Program Menggunakan Fungsi ............................................................................................... 88

DAFTAR PUSTAKA ................................................................................................................... 93

Page 56: kosong = () tuple = (1234, 4321, “Hello”)

v

DAFTAR GAMBAR

Gambar 1.1. Proses Dalam Pembuatan Program ..................................................................... 13

Gambar 1.2. Komponen Utama Komputer .............................................................................. 13

Gambar 2.1. Simbol-simbol Flowchart ................................................................................... 15

Gambar 2.2. Tahapan analisa membuat program..................................................................... 16

Gambar 2.3. Flowchart Menentukan Bilangan Ganjil atau Genap .......................................... 19

Gambar 2.4. Tampilan Editor (Kiri) dan Console (kanan) ...................................................... 19

Gambar 3.1. Logo Python ........................................................................................................ 21

Gambar 3.2. Tampilan Python.org ........................................................................................... 24

Gambar 3.3. Windows Installer Package ................................................................................. 25

Gambar 3.4. Jendela Instalasi Python ...................................................................................... 25

Gambar 3.5. Jendela Customize Python .................................................................................. 26

Gambar 3.6. Jendela Proses Instalasi ....................................................................................... 26

Gambar 3.7. Jendela Instalasi Python selesai dikerjakan ......................................................... 27

Gambar 3.8. Tampilan Awal Python........................................................................................ 27

Gambar 3.9. Contoh menjalankan perintah sederhana pada python ........................................ 27

Gambar 3.10. Deklarasi Output Python yang sederhana ........................................................... 28

Gambar 3.11. Skema Proses Interpreter ..................................................................................... 28

Gambar 3.12. Skema Proses Compiler ...................................................................................... 29

Gambar 4.1. Sistematis Pemecahan Masalah ........................................................................... 30

Gambar 4.2. Mode Interaktif .................................................................................................... 37

Gambar 4.3. Tampilan Python 3.8 ........................................................................................... 39

Gambar 4.4. Tampilan Penulisan Program .............................................................................. 39

Gambar 4.5. Tampilan menjalankan python pada command prompt ...................................... 40

Gambar 4.6. Gambar Outpus studi kasus. ................................................................................ 40

Gambar 4.7. Tampilan Python 3.8 ........................................................................................... 40

Gambar 4.8. Tampilan Penulisan Program .............................................................................. 41

Gambar 4.9. Tampilan menjalankan python pada command prompt ...................................... 41

Gambar 5.1. Logika Percabangan ............................................................................................ 42

Gambar 5.2. Contoh penggunaan percabangan kondisi True .................................................. 42

Gambar 5.3. Contoh penggunaan percabangan kondisi False ................................................. 43

Page 57: kosong = () tuple = (1234, 4321, “Hello”)

vi

Gambar 5.4. Flowchart Program Percabangan ........................................................................ 43

Gambar 5.5. Flowchart Percabangan IF – Else(Muhardian, 2018c) ........................................ 46

Gambar 5.6. Flowchart Diagram Program Grade Nilai ........................................................... 49

Page 58: kosong = () tuple = (1234, 4321, “Hello”)

vii

DAFTAR TABEL

Tabel 1.1. Contoh Algoritma dalam kehidupan sehari-hari ........................................................ 11

Tabel 4.1. Operator Aritmatika .................................................................................................... 35

Tabel 4.2. Operator Perbandingan ............................................................................................... 36

Tabel 4.3. Operator Logika .......................................................................................................... 36

Tabel 4.4. Operator Penugasan .................................................................................................... 36

Tabel 4.5. Operator Bitwise ......................................................................................................... 37

Tabel 7.1. Operasi Dasar pada List .............................................................................................. 58

Tabel 7.2. Fungsi Build in pada List............................................................................................ 58

Tabel 7.3. Method Build in pada list ........................................................................................... 59

Tabel 8.1. Operasi Dasar Tuple Python ....................................................................................... 71

Tabel 9.1. Fungsi Built-in Dictionary .......................................................................................... 75

Tabel 9.2. Method Built-in Dictionary ........................................................................................ 75

Page 59: kosong = () tuple = (1234, 4321, “Hello”)

8

BAB 1

PENGENALAN ALGORTIMA DAN PEMROGRAMAN

1.1. Pengertian Algoritma

Pengertian Algortima dalam keilmuan matematika dan ilmu komputer adalah urutan atau

langkah-langkah penghitungan atau untuk menyelesaikan suatu masalah yang ditulis secara

berurutan. Dalam pemrograman, Algoritma adalah urutan langkah-langkah logis yang menyatakan

suatu tugas dalam menyelesaikan suatu masalah yang disusun secara sistematis atau bisa juga

diartikan dengan urutan aksi-aksi yang jelas dan tidak membingungkan untuk menyelesaikan suatu

masalah. algoritma pemrograman adalah urutan atau langkah-langkah untuk menyelesaikan

masalah pemrograman komputer (Abidin, 2016). Suatu algoritma terdapat rangkaian terbatas dari

beberapa intruksi untuk menghitung suatu fungsi yang jika dieksekusi dan diproses sehingga akan

menghasilkan output, lalu berhenti pada kondisi akhir yang sudah ditentukan. Algoritma

merupakan sistem kerja komputer yang terdiri atas sekumpulan perintah terintegrasi pada

brainware, software, dan hardware. Tanpa salah satu dari tiga bagian sistem di atas, sebuah

program komputer tidak dapat dioperasikan

Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma harus sesuai dan benar,

Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang

diberikan. Secanggih apapun algoritma, kalau memberikan keluaran yang salah dan tidak sesuai

keinginan, pastilah algoritma tersebut bukanlah algoritma yang baik. Pertimbangan kedua yang

harus diperhatikan adalah memahami seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal

ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan hasil yang

hanya berupa pendekatan. Algoritma yang baik harus mampu memberikan hasil yang sedekat

mungkin dengan nilai yang sebenarnya. Ketiga adalah efisiensi algoritma. Efisiensi algoritma

dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori yang dipergunakan. Meskipun algoritma

memberikan keluaran yang benar (paling mendekati), tetapi jika harus menunggu berjam-jam

untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipergunakan, setiap

orang menginginkan hasil luaran yang cepat. Jangan sampai algoritma tersebut menghabiskan

waktu dan menghabiskan tempat.

Algoritma memiliki lima ciri utama yang saling berhubungan satu dengan lainnya.

Menurut Donald E. Knuth, adapun ciri-ciri algoritma adalah sebagai berikut:

Page 60: kosong = () tuple = (1234, 4321, “Hello”)

9

1. Ada Input, yaitu permasalahan yang dihadapi dan akan dicarikan solusinya. Algoritma

memiliki nilai nol atau lebih input (masukan).

2. Ada Proses, yaitu langkah-langkah yang harus dilakukan untuk mencapai tujuan akhir.

3. Ada Output, yaitu solusi atau tampilan akhir yang didapatkan dari suatu algoritma.

Algoritma memiliki minimal satu output.

4. Ada intruksi-intruksi yang jelas dan tidak ambigu, yaitu instrukti yang jelas dalam

algoritma sehingga tidak terjadi kesalahan dalam menghasilkan output.

5. Ada tujuan akhir yang dicapai, yaitu akhir dari program dimana program akan berhenti

ketika tujuan akhir telah tercapai.

Syarat-syarat sebuah algoritma dikatakan baik (Codeva, 2020; Eril, 2019).

Algoritma harus efisien dimana prosesnya dapat diselesaikan secepat mungkin dengan

frekeusi perhitungan yang sependek mungkin. Dengan kata lain, tidak boros sumber daya.

Algoritma yang baik harus dengan mudah diimplementasikan ke perangkat komputer.

Algoritma yang baik harus mudah dipahami. Hal ini berlaku tidak diskriminatif dimana

siapapun dapat dengan mudah memahami algoritma tersebut. Dampak buruk dari susahnya

dimengerti sebuah algoritma adalah kesulitan pengelolaan algoritma.

Akurasi tinggi adalah syarat lain dari algoritma yang baik. Mana bisa menjadi algoritma

yang digunakan secara profesional jika hasilnya tidak akurat.

Semakin umum maka semakin baik. Algoritma yang baik adalah algoritma yang berlaku

umum dan tidak terbatas pada 1 bidang spesifik. Jika bisa sampai berlaku umum, maka

algoritma tersebut mampu menyelesaikan masalah dan bermanfaat di berbagai bidang.

Algoritma yang baik memiliki langkah-langkah yang jelas dan detail. Setiap proses tepat

dan lengkap dimana tidak tanggung, penuh kejelasan, dan penuh kepastian.

Algoritma yang baik juga harus bisa dikembangkan. Bukan tidak mungkin sebuah

algoritma yang tampak sederhana bisa terus dikembangkan untuk menghasilkan hasil yang

lebih tinggi dan lebih baik hasilnya.

1.2. Bentuk Dasar Algoritma

Dalam algoritma terdapat tiga bentuk dasar yang biasa dipergunakan dalam pemrograman :

Algoritma Sekuensial (Sequence Algorithm) merupakan sebuah perintah yang dapat

tersusun dengan sistematis dan berurutan berdasarkan tahapan yang telah ditentukan oleh

Page 61: kosong = () tuple = (1234, 4321, “Hello”)

10

perancangan algoritma dalam beberapa bentuk instruksi. Banyaknya perintah yang

ditampilkan, perintah tersebut harus dikerjakan dengan berurutan dan tentunya berkaitan

dengan menyesuaikan urutan yang ada di dalam penulisannya. Dalam kata lain, apabila

ingin melakukan hal yang lain maka hendaknya harus menyelesaikan instruksi sebelumnya

dan yang sudah selesai.

Algoritma Perulangan (Looping Algorithm) merupakan sebuah perintah yang dapat

digunakan untuk mengulang beberapa banyak perintah dengan memperhitungkan syarat-

syarat tertentu. Pengulangan tersebut dapat dilakukan dengan cara berulang-ulang kali

dengan memperhitungkan syarat yang sudah ada didalamnya. Algoritma perulangan

merupakan sebuah instruksi yang digunakan untuk mengulang deretan instruksi.

Pengulangan tersebut dilakukan secara berulang-ulang sesuai dengan persyaratan yang

telah ditentukan.

Algoritma Percabangan atau Bersyarat (Conditional Algorithm); yaitu suatu perintah

yang dapat digunakan untuk memilih salah satu dari beberapa pilihan yang ada. Algoritma

yang ada juga bisa dinamakan algoritma pemilihan (Selection). Terdapat beberapa hal

penting yang perlu diperhatikan dalam menerapkan algoritma percabangan yaitu dalam

memilih berbagai instruksi yang bisa dilakukan jika kondisi sudah terpenuhi. Maka hal

tersebut diartikan bahwa hasil yang didapatkan menjadi hasil yang benar atau true. Apabila

solusi yang didapatkan sudah mendapatkan true, maka perintah yang lain bisa dikerjakan

atau dilaksanakan. Sebaliknya, apabila solusi tersebut bernilai salah maka perintah yang

ditentukan tidak dapat dilaksanakan.

1.3. Fungsi dan Manfaat Algoritma

Fungsi utama algoritma pada dasarnya adalah untuk memecahkan suatu masalah. Beberapa

fungsi dan manfaat algoritma (Maxmanroe, 2020) adalah sebagai berikut:

Membantu menyederhanakan suatu program yang rumit dan besar.

Memudahkan dalam membuat sebuah program untuk masalah tertentu.

Algoritma dapat digunakan berkali-kali untuk menyelesaikan suatu permasalahan.

Membantu memecahkan suatu permasalahan dengan logika dan sistematis.

Meminimalisir penulisan program secara berulang-ulang.

Melakukan pendekatan top-down dan divide and conquer.

Page 62: kosong = () tuple = (1234, 4321, “Hello”)

11

Memudahkan membuat program yang lebih rapih dan terstruktur sehingga lebih mudah

dipahami dan dikembangkan.

Memudahkan proses modifikasi pada program karena bisa dilakukan hanya pada satu

modul tanpa harus mengubah modiul lainnya.

Ketika terjadi kesalahan, algoritma membantu menemukannya karena alur kerja yang jelas.

Memudahkan proses dokumentasi.

1.4. Contoh Algoritma

Algoritma mengerjakan langkah-langkah untuk mengerjakan proses yang diberikan

kepadanya (program) sesuai urutan yang telah ditentukan. Dalam kegiatan sehari-hari algoritma

selalu dapat ditemukan, contoh algoritma dapat dilihat pada tabel 1.1.

Tabel 1.1. Contoh Algoritma dalam kehidupan sehari-hari

No Proses Algoritma Langkah-langkah dalam

algoritma

1 Membuat Kue Bolu Resep Kue Bolu Memasukkan telur kedalam wajan, kocok sampai mengembang, masukkan oven

2 Membuat Pakaian Seragam Pola Pakaian Seragam

Gunting kain dari pinggir kiri bawah kea rah kanan sejauh 5 cm.

3 Merakit Sepeda Motor Panduan Merakit Sepeda Motor

Sambungkan Komponen motor dengan kerangka pada motor

4 Perkuliahan Mahasiswa Jadwal Perkuliahan Pukul 06.30 : Mandi Pagi, Pukul 07.30 : Berangkat Kuliah

5 Mengisi Token Listrik Panduan Pengisian Token Listrik

Gosok Voucher, Tekan kode isi token listrik masukkan kode.

Berikut ini adalah beberapa persoalan, coba pergunakanlah notasi algoritma deskriptif untuk

menyelesaikan Algoritmanya :

1. Menjumlahkan 2 buah bilangan dan mencetak hasilnya

2. Memberikan pilihan untuk menghitung luas segitiga dan luas lingkaran

3. Menghitung rata-rata dari 3 buah data yang dimasukkan

4. Menentukan apakah umur yang di masukkan termasuk telah tua tau masih muda, dengan

aturan jika lebih kecil dari 45 masih muda dan jika umur lebih besar dari 45 sudah tua

5. Mencari Faktor Persekutuan Terbesar (FPB) dari dua buah bilangan yang dimasukkan.

Page 63: kosong = () tuple = (1234, 4321, “Hello”)

12

1.5. Pemrograman Algoritma

Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram

adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu

notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti

belajar menggunakan suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata

cara pengoperasian compiler-nya, dan bagaimana cara menghasilkan output yang sesuai. Dalam

dunia pemrograman, algoritma dipergunakan untuk membangun berbagai macam program atau

perangkat lunak. Penerapan sistem algoritma dalam pembuatan perangkat lunak dilakukan melalui

beberapa jenis bahasa pemrograman seperti bahasa pemrograman Pascal, C, C#, Python, Java,

PHP dan lain-lain. Program merupakan kumpulan pernyataan komputer yang diimplementasikan

dengan bahasa pemrograman. Beberapa pakar memberikan formula bahwa :

Program = Algoritma + Bahasa (Struktur Data)

Program dapat diartikan sebagai algoritma yang ditambahkan bahasa atau struktur data.

Sebuah program yang baik, memiliki struktur data yang baik dan sesuai. Sebaliknya, struktur data

yang buruk dengan algoritma yang baik tetap tidak akan membuat sebuah program menjadi baik.

Tanpa algoritma yang tepat, susunan sintax atau pun baris-baris kode bahasa pemrograman yang

telah dibuat tidak akan berjalan baik. Hal yang penting untuk dipahami dalam pemrograman adalah

logika manusia dalam berpikir bagaimana cara untuk memecahkan masalah pemrograman yang

akan dibuat dalam bentuk program. Sebagai contoh, banyak permasalahan matematika yang

mudah jika diselesaikan secara tertulis, tetapi cukup sulit jika diterjemahkan ke dalam

pemrograman. Algoritma dan logika pemrograman akan sangat penting dalam pemecahan suatu

permasalahan. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat

program disebut pemrograman (programming). Orang yang menulis program

disebut pemrogram (programmer). Tiap-tiap langkah di dalam program

disebut pernyataan atau instruksi. Program tersusun atas sederetan instruksi. Bila suatu instruksi

dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dilaksanakan oleh

komputer.

Page 64: kosong = () tuple = (1234, 4321, “Hello”)

13

Gambar 1.1. Proses Dalam Pembuatan Program

Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan,

piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central Processing

Unit) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi

perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah

komponen yang berfungsi menyimpan atau mengingat. Dalam memori yang tersimpan adalah

program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu

yang diolah oleh operasi-operasi). Piranti masukan dan keluaran (I/O devices) adalah alat yang

memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk

mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain : papan kunci

(keyboard), pemindai (scanner), mouse. Contoh piranti keluaran adalah, layar peraga (monitor),

pencetak (printer), projector, dan cakram.

Gambar 1.2. Komponen Utama Komputer

Page 65: kosong = () tuple = (1234, 4321, “Hello”)

14

BAB 2

FLOWCHART DAN PSEUDOCODE

2.1. Pendahuluan Flowchart dan Pseuducode

Penyampaian algoritma secara garis besar dilakukan dalam 2 bentuk yaitu tulisan dan

gambar. Algoritma yang ditampilkan dengan tulisan yaitu dengan struktur bahasa tertentu

(misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang

mirip dengan kode pemrograman yang sebenarnya, sehingga lebih tepat digunakan untuk

menggambarkan algoritma yang akan dikomunikasikan kepada programmer. Sedangkan algoritma

disajikan dengan bentuk gambar, misalnya dengan flowchart. Secara umum, pseudocode

dipergunakan untuk menjelaskan ide-ide secara informal dalam proses penyusunan algoritma.

Salah satu cara untuk menghasilkan kode pseudo adalah dengan menerangkan aturan-aturan

bahasa formal yang disesuaikan atau dikonversi dengan algoritma yang akan dikerjakan.

Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah

diketahui sejak awal.

Identifikasi masalah dan melakukan analisa merupakan langkah yang umumnya dilakukan

dalam proses pembuatan suatu program atau perangkat lunak. Dimana dalam mengidentifikasi

masalah dan menganalisanya untuk mengetahui apa yang menjadi masukan dari permasalahan,

keluaran dari permasalahan, proses dari masukan agar menjadi keluaran sebagai solusi

permasalahan. Ketika programmer berfikir tentang proses, maka programmer juga akan berfikir

parameter-parameter apa yang dipergunakan, kemudian menentukan metode atau algoritma apa

yang akan diterapkan untuk menyelesaikan masalah tersebut dan terakhir menentukan bahasa

program yang digunakan untuk membuat program.

2.2. Flowchart

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar

proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap

simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis

penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan

pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Flowchart (diagram alir)

adalah penggambaran secara grafik dari langkah- langkah pemecahan masalah yang harus diikuti

Page 66: kosong = () tuple = (1234, 4321, “Hello”)

15

oleh pemroses. Flowchart terdiri atas sekumpulan simbol, dimana masing-masing simbol

menggambarkan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan masukan (input),

pemrosesan masukan, dan diakhiri dengan menampilkan hasilnya (output).

2.3. Simbol-simbol Flowchart

Adapun symbol-simbol flowchart yang biasa dipergunakan dalam pembuatan suatu program

adalah sebagai berikut :

Gambar 2.1. Simbol-simbol Flowchart

2.4. Tahapan Membuat Flowchart

Perancangan flowchart program tidak ada acuan atau patokan yang bersifat mutlak atau

mengikat. Karena flowchart merupakan hasil pikiran dalam menganalisa suatu permasalahan

dengan algoritma untuk diselesaikan dengan program komputer. Sehingga flowchart yang

dihasilkan berbeda-beda antara satu program dengan program lainnya. Namun secara garis besar

setiap pengolahan data terdiri dari tiga kompenen yaitu Input, proses, dan Output.

Page 67: kosong = () tuple = (1234, 4321, “Hello”)

16

Gambar 2.2. Tahapan analisa membuat program

Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah :

START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani

pemecahan persoalan.

READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.

PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data

yang dibaca.

WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.

END, mengakhiri kegiatan pengolahan.

Dalam membuat suatu flowchart ada beberapa tips dan trik agar mudah dipahami :

Tingkatkan efektivitas dan efisien dengan menghindari pengulangan proses yang tidak

perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.

Dalam menjelaskan jalannya proses digambarkan dari atas ke bawah dan diberikan tanda

panah untuk memperjelas.

Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END terkadang

kesalahan dalam pembuatan flowchart lupa menyertakan hal tersebut.

2.5. Pseudocode

Pseudo berarti imitasi atau mirip atau menyerupai. Code menunjukkan kode dari program.

seudocode adalah kode yang mirip dengan instruksi kode program yang sebenarnya.

Pseudocode berbasis pada bahasa pemrograman yang sesungguhnya seperti bahasa C, C++,

Python, Pascal , sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan

dikomunikasikan kepada Programmer.

a. Gaya Penulisan Pseudocode

Kata kunci (keywords) dan kata cadangan (reserved words) ditulis dengan huruf

tebal atau kapital atau digaris bawahi dan kata-kata yang lainnya ditulis dengan

Page 68: kosong = () tuple = (1234, 4321, “Hello”)

17

huruf kecil.

Kata kunci (if, then, else, repeat, until, for, do, while) yang membentuk struktur

ditulis dengan menggunakkan huruf capital dan kata-kata yang tercantum di

dalam kamus data ditulis dengan digaris bawah.

b. Pengenalan Struktur Dasar Pseudocode

Struktur urut (sequence structure)

Struktur ini terdiri dari sebuah instruksi atau blok dari instruksi yang tidak

mempunyai perulangan atau keputusan di dalamnya. Struktur ini disebut juga

struktur urut sederhana (simple sequence structure). Struktur ini semata-mata

hanya berisi langkah-langkah yang berurut saja. Pseudocode juga menunjukkan

proses membuka atau menutup file, meninisialisasi nilai awal dan lain

sebagainya.

Contoh: Baca data jam_kerja

Hitung gaji = jam_kerja*tarif

Tampilkan gaji di monitor Atau Read jam_kerja

Let gaji = jam_kerja*tarif

Print gaji

Struktur keputusan (decision structure)

Decision structure terdiri atas :

1. If – Then If kondisi Then

tindakan

Endif

If menunjukkan awal dari blok dan Endif menunjukkan akhir dari blok.

2. If – Then – Else If kondisi Then

tindakan-1

Else

tindakan-2

Page 69: kosong = () tuple = (1234, 4321, “Hello”)

18

Endif

3. Case Select kasus

Case (nilai-1) Perform tindakan-1

Case (nilai-2) Perform tindakan-2

Case (nilai-3) Perform tindakan-3

……

Default Case Perform tindakan-n

Endselect

b. Struktur iterasi (iteration structure)

Iteration structure (struktur iterasi), ata loop structure (struktur perulangan),

atau Repetition Structure (struktur repetisi) diterapkan pada situasi suatu

instruksi atau group dari instruksi yang diproses berulangkali sampai kondisi

yangdiinginkan sudah dipenuhi.

Struktur ini terdiri atas:

1. Do

Do indeks = awal To akhir

Perform tindakan

End Do

2. Repeat

Repeat

Perform tindakan Until kondisi

3. Do - While

While kondisi Do

Perform tindakan

End While

2.6. Contoh Soal flowchart dan Pseudocode

Buatlah flowchart dan pseudocode untuk menentukan apakah suatu bilangan merupakan

bilangan ganjil atau genap :

Page 70: kosong = () tuple = (1234, 4321, “Hello”)

19

Jawaban dari Pertanyaan :

a. Flowchart

Gambar 2.3. Flowchart Menentukan Bilangan Ganjil atau Genap

b. Pseudocode

Read bilangan

If bil mod 2= 0

Then,

Write “genap”

Else

Write “ganjil”

Endif

2.7. Pemprograman dan Console

Gambar 2.4. Tampilan Editor (Kiri) dan Console (kanan)

Page 71: kosong = () tuple = (1234, 4321, “Hello”)

20

Gambar 2.4 memperlihatkan tampilan IDLE (Integrated Development and Learning

Environment) yaitu Python sebagai lingkungan belajar berisi tampilan yang menarik, bekerja pada

OS (Windows, Linux dan Mac OS X), interaktif interpreter (penterjemah) berupa kode

input/output dan error messages, multi windows, multiple file (grep) berupa search within any

windows, fiture debugger (pencari kesalahan), konfigurasi/ browsers dan dialog.

2.8. Penugasan

Buatlah flowchart dan pseudocode untuk studi kasus dibawah ini :

a. Menjumlahkan 3 buah bilangan dan mencetak hasilnya

b. Memberikan pilihan untuk menghitung luas segitiga dan luas lingkaran (pergunakan

konstanta phi)

c. Menentukan apakah umur yang dimasukkan termasuk telah tua atau masih muda,

dengan aturan jika umur lebih kecil dari 45 tahun masih muda dan jika umur lebih

besar dari 45 tahun sudah tua.

Page 72: kosong = () tuple = (1234, 4321, “Hello”)

21

BAB 3

BAHASA PEMPROGRAMAN PYTHON

3.1. Pendahuluan Python

Gambar 3.1. Logo Python

Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai

kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.

Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi

terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah

ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen

PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan

beberapa anggota tim PythonLabs pindah ke DigitalCreations. Awal pemilihan nama Python tidak

secara langsung berasal dari nama ular piton, tapi sebuah acara humor di BBC pada era 1980an

dengan judul “Monty Python’s Flying Circus“. Monty Python adalah kelompok lawak yang

membawakan acara tersebut. Kebetulan Guido van Rossum adalah penggemar dari acara ini.

Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir

Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi

non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan

dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python

sudah mencapai versi 3.8. Bahasa Pemrograman Python adalah interpreted high-level

programming language for general-purpose programming. Terjemahan bebasnya: Python adalah

bahasa pemrograman tingkat tinggi (high-level programming language), berjalan dengan

sistem interpreted, dan bisa dipakai untuk berbagai jenis tujuan (general-purpose).

Sebutan bahasa pemrograman tingkat tinggi merujuk level kedekatan sebuah bahasa

pemrograman ke kode-kode listrik yang dipakai komputer. Sebuah bahasa pemrograman disebut

sebagai bahasa pemrograman tingkat tinggi (high-level programming language) karena perintah

atau kode program yang dipakai sudah mirip dengan bahasa manusia (bahasa inggris).

Page 73: kosong = () tuple = (1234, 4321, “Hello”)

22

3.2. Pengenalan Python

Python merupakan bahasa pemrograman dinamis yang mendukung pemrograman berbasis

objek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan

dapat berjalan di berbagai platform sistem operasi. Saat ini skrip python dapat dijalankan pada

sistem berbasis : Windows, Linux / Unix, Mac OS X, OS/2, Amiga. Python didistribusikan dengan

beberapa lisensi yang berbeda dari beberapa versi. Lisensi Python tidak bertentangan baik menurut

definisi Open Source maupun General Public License (GPL). Interpreter Python dapat diperoleh

diwebsite resminya di http://www.python.org

Python merupakan bahasa pemrograman tingkat tinggi yang diracik oleh Guido van Rossum.

Python banyak digunakan untuk membuat berbagai macam program, seperti: program

CLI, Program GUI (desktop), Aplikasi Mobile, Web, IoT, Game, Program untuk Hacking, dan

lain-lain. Python juga dikenal dengan bahasa pemrograman yang mudah dipelajari, karena struktur

sintaknya rapi dan mudah dipahami.

3.3. Mengapa Python

Selain Pascal, C dan C++, Bahasa pemrograman Python saat ini juga sering disarankan

sebagai bahasa pemrograman dasar untuk pemula. Alasannya karena perintah bahasa python

sederhana, rapi dan singkat. Selain itu Python juga sebuah bahasa yang sangat powerful dengan

banyak penerapan di bidang scientist. Jika ingin membuat aplikasi “kekinian” seperti big data, data

mining, deep learning, data science hingga machine learning, bahasa Python bisa dipergunakan

untuk keperluan tersebut. Python juga mendukung multi-paradigma yaitu bisa ditulis dengan kode

program prosedural seperti di Pascal atau C dan juga mendukung pemrograman object (OOP)

seperti Java. Singkat kata Python adalah bahasa yang “komplit” untuk era modern

(Duniailkom.com, 2020).

Sisi utama yang membedakan Python dengan bahasa lain adalah dalam hal aturan penulisan

kode program. Bagi para programmer di luar python siap-siap dibingungkan dengan aturan

indentasi, tipe data, tuple, dan dictionary. Python memiliki kelebihan tersendiri dibandingkan

dengan bahasa lain terutama dalam hal penanganan modul, ini yang membuat beberapa

programmer menyukai python. Selain itu python merupakan salah satu produk yang opensource,

free, dan multiplatform.

Page 74: kosong = () tuple = (1234, 4321, “Hello”)

23

Beberapa fitur yang dimiliki Python adalah :

Memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul

siap pakai untuk berbagai keperluan.

memiliki tata bahasa yang jernih dan mudah dipelajari.

memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan

kembali dan penulisan ulang kode sumber.

Berorientasi obyek.

Memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)

modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul

tersebut dapat dibangun dengan bahasa Python maupun C/C++.

Memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa

pemrograman Java, python memiliki fasilitas pengaturan penggunaan ingatan komputer

sehingga para pemrogram tidak perlu melakukan pengaturan ingatan komputer secara

langsung.

3.4. Keunggulan dan Kekurangan Python

a. Jika dibandingkan dengan bahasa pemrograman lain, berikut keunggulan dari bahasa

pemrograman Python dan alasan kenapa harus belajar bahasa Python (Andre, 2018a):

Mudah dipelajari. Bahasa pemrograman python memiliki sedikit keyword dan struktur

yang sederhana sehingga mudah dipelajari bagi pemula.

Mudah di baca. Python mengharuskan penggunaan spasi untuk “menjorokkan” blok kode

program (indentation), sehingga kode yang ditulis lebih rapi. Dalam bahasa pemrograman

lain, indentation ini tidak diwajibkan.

Perintah yang lebih singkat. Kode program yang dipakai python jauh lebih singkat

dibandingkan dengan bahasa pemrograman lain untuk menyelesaikan masalah yang sama.

Cross-platform. Python bisa dipakai di berbagai sistem operasi, termasuk Windows, UNIX,

Linux, Mac OS, dll. Dalam mayoritas penggunaan, kode program yang ditulis tidak perlu

diubah agar bisa berjalan di sistem operasi yang berbeda.

Mendukung multi-paradigma. Python bisa ditulis dengan kode program prosedural

maupun pemrograman object (OOP).

Page 75: kosong = () tuple = (1234, 4321, “Hello”)

24

Memiliki banyak library. Library adalah sebutan untuk kode program tambahan untuk hal-

hal khusus. Berdasarkan web pypi.org, python memiliki lebih dari 140.000 library atau

packages.

Gratis. Python dikembangkan sebagai project open source dan bisa digunakan siapa saja

secara gratis

b. Beberapa kekurangan bahasa Python (Jogjaweb, 2020) antara lain :

Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman

dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa

pemrograman kompilasi seperti bahasa C.

Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu

terbaik untuk pengantar komponen performa kritis.

Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk

beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip

antarmuka untuk mereka.

Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya

secara menyeluruh.

Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan

perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman

lainnya.

3.5. Proses Instalasi Python

Proses instalasi python cukup mudah untuk tahapan awal silahkan kunjungi

https://www.python.org/ lalu kemudian pilih menu download untuk mendapatkan file instalasi.

Gambar 3.2. Tampilan Python.org

Page 76: kosong = () tuple = (1234, 4321, “Hello”)

25

Proses instalasi python pada Windows dapat dilakukan langkah-langkah sebagai berikut :

1. Pilih software Python yang diinginkan, contoh memakai python versi 3.8 yang dapat di

download pada situs https://www.python.org/ftp/python/3.8.5/python-3.8.5.exe (Boleh

menggunakan versi yang lebih tinggi atau sesuaikan dengan komputer)

Gambar 3.3. Windows Installer Package

2. Klik software python, lakukan peng-instalan pada computer dan ikuti langkah

selanjutnya :

Gambar 3.4. Jendela Instalasi Python

Page 77: kosong = () tuple = (1234, 4321, “Hello”)

26

3. Pilih direktori tujuan untuk tempat menyimpan program python, lalu klik tombol next.

Jika kita klik tombol Disk Usage maka muncul form yang berisi informasi berapa besar

kapasitas disk yang dibutuhkan/digunakan untuk menginstal python(sekitar 49 MB) :

Gambar 3.5. Jendela Customize Python

4. Jika kita klik tombol advanced, pilih compile .py ke byte code setelah instalasi, jika

tidak memilih juga tidak apa-apa. Tunggu beberapa menit selama proses instalasi

berlangsung dan tekan finish, ikuti petunjuk selanjutnya :

Gambar 3.6. Jendela Proses Instalasi

Page 78: kosong = () tuple = (1234, 4321, “Hello”)

27

Gambar 3.7. Jendela Instalasi Python selesai dikerjakan

5. Selesai instalasi, komputer Anda telah ada Python, khususnya versi 3.8 pada folder

\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python 3.8.

3.6. Cara Menjalankan Python

Klik tombol start Program Python 3.8 IDLE (Python GUI), IDLE(GUI-Integrated

Development Environment) dengan tampilan sebagai berikut :

Gambar 3.8. Tampilan Awal Python

Pada window diatas,,didalam prompt (>>>), tuliskan : print instalasi python selesai. Kemudian

interpreter merespon dengan menampilkan pada layar :

print("Instalasi Python 3.8.5 Telah Berhasil.. Hello Wolds")

Outputnya adalah sebagai berikut :

Gambar 3.9. Contoh menjalankan perintah sederhana pada python

Page 79: kosong = () tuple = (1234, 4321, “Hello”)

28

3.7. Perbandingan Penulisan Code di Python

Gambar 3.10. Deklarasi Output Python yang sederhana

3.8. Cara Kerja Python Interpreter dan Compiler

Penterjemah bahasa python menggunakan interpreter (satu per-satu pernyataan), berbeda

dengan penterjemah compiler yang menterjemahkan kode program sekaligus (blok pernyataan).

Interpreter: Interpreter tidak menghasilkan bentuk object code, tetapi hasil translasinya hanya

dalam bentuk internal, dimana program induk harus selalu ada-berbeda dengan compiler.

Gambar 3.11. Skema Proses Interpreter

Page 80: kosong = () tuple = (1234, 4321, “Hello”)

29

Compiler : Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau

bahasa assembly. Source code dan data diproses secara berbeda.

Gambar 3.12. Skema Proses Compiler

Page 81: kosong = () tuple = (1234, 4321, “Hello”)

30

BAB 4

STRUKTUR DATA PEMPROGRAMAN PYTHON

4.1. Pokok Pembahasan

1. Operator Aritmatika

2. Operator Perbandingan / Relasional

3. Operator Logika / Boolean

4. Operator Assigment (Penugasan)

5. Operator Bitwise

4.2. Dasar Teori

Struktur Data adalah struktur yang dapat menyimpan dan mengorganisasikan

sekumpulan data. Operator adalah symbol-simbol khusus yang digunakan untuk

mengoperasikan suatu nilai data (Operand). Operand adalah data-data yang akan

dioperasikan oleh operator , ada 2 macam operator, yaitu Operator Unary dan Operator

Binary. Operator Unary adalah operator yang operasinya hanya memerlukan satu buah

operand, Misalnya : a++. Sedangkan Operator Binary adalah operator yang operasinya

lebih dari satu operand Misalnya : a+b.

4.3. Tipe Data

Nilai (value) adalah hal yang paling mendasar seperti sebuah huruf, karakter khusus, atau

sebuah angka yang akan dimanipulasi oleh program untuk menghasilkan suatu tujuan.

Gambar 4.1. Sistematis Pemecahan Masalah

Beberapa tipe data pada bahasa pemrograman python, diantaranya :

1. Number

Tipe data Number merepresentasikan nilai-nilai berupa angka. Python menggolongkan

beberapa tipe data umum seperti, Integer (bilangan bulat) dan Floating-point (bilangan

Page 82: kosong = () tuple = (1234, 4321, “Hello”)

31

desimal) ke dalam tipe data Number.

Contoh :

print (100 + 200)

Output : 300

print (5.21 + 6.234)

Output : 11.443999999999999

Operator penugasan ( = ) digunakan untuk memasukkan nilai kedalam variabel. Tidak ada

hasil yang akan muncul sampai statemen selanjutnya.

tambah = 100 + 50

print (tambah)

Output : 150

kali = 100 * 50

print (kali)

Output : 5000

bagi = 50 / 5

print (bagi)

Output : 5000

Nilai dapat di masukkan kedalam beberapa variabel secara simultan.

a = b = c = 20

print (a)

print (b)

print (c)

Tipe data angka dibagi menjadi beberapa jenis lagi:

1. int (Integer): bilangan bulat, contoh 32, 22, 12, 10, dsb.

2. float: bilangan pecahan, contoh 1.3, 4.2, 22.3, dsb.

Contoh: harga = 12000 #tipe int berat = 23.12 #float jarak = 3e3 #float 3000.0, huruf e artinya eksponen 10

Page 83: kosong = () tuple = (1234, 4321, “Hello”)

32

2. String

Selain angka, python juga mampu melakukan manipulasi string, yang dapat di ekspresikan

dengan beberapa cara. Penulisan nilai string pada python menggunakan tanda petik satu

( ' ) atau tanda petik dua ( “ ). Contohnya :

print ("Selamat Datang di Python")

print ('Selamat Datang di Python')

String literal juga dapat menggabungkan beberapa baris dalam berbagai cara. Dengan

menggunakan operator ( \n) di akhir kalimat untuk menyambung kalimat selanjutnya yang

berada di baris selanjutnya.

kalimat1 = “Saat ini saya belajar Python \n”

kalimat2 = “belajar Python Menyenangkan \n”

print (kalimat1)

print (kalimat2)

Penulisan string untuk multiple line juga dapat dilakukan dengan menggunakan tanda petik

dua atau satu sebanyak 3 kali, ( “ “ “ atau ' ' ' ).

print ('''Selamat

Datang

di Python''')

Untuk menggabungkan dua buah string atau lebih dapat dilakukan dengan dua cara.

Pertama, dengan menulis langsung dua buah string yang diapit dengan tanda kutip atau

dengan penggunaan operator tambah (+).

print ('Selamat Datang' 'di Program Python Dasar')

Output : Selamat Datangdi Program Python Dasar

print ('Selamat Datang'+'di Program Python Lanjut')

Output : Selamat Datang di Program Python Lanjut

Sebuah string, setiap karakternya dapat diindex, seperti pengindexan pada bahasa C.

Karakter pertama pada sebuah string berindex 0, karakter ke-dua berindex 1 dan

seterusnya.

Page 84: kosong = () tuple = (1234, 4321, “Hello”)

33

kalimat = “Sistem Informasi Universitas Mulawarman”

print(kalimat[0])

Output : S

print(kalimat[5])

Output : m

print(kalimat[0:5])

Output : Siste

print(kalimat[9:18])

Output : formasi U

print(kalimat[:9])

Output : Sistem In

print(kalimat[4:])

Output : em Informasi Universitas Mulawarman

3. Boolean

Tipe data boolean adalah tipe data yang hanya memiliki dua nilai

yaitu True dan False atau 0 dan 1. Penulisan True dan False, huruf pertamanya harus

kapital dan tanpa tanda petik.

Contoh:

bergerak = True

nyala = 1 #sebenarnya tipenya int, tapi bisa juga menjadi bool

4. Fungsi untuk mengubah tipe data

1. int() untuk mengubah menjadi integer;

2. long() untuk mengubah menjadi integer panjang;

3. float() untuk mengubah menjadi float;

4. bool() untuk mengubah menjadi boolean;

5. chr() untuk mengubah menjadi karakter;

6. str() untuk mengubah menjadi string.

7. bin() untuk mengubah menjadi bilangan Biner.

8. hex() untuk mengubah menjadi bilangan Heksadesimal.

9. oct() untuk mengubah menjadi bilangan okta.

Page 85: kosong = () tuple = (1234, 4321, “Hello”)

34

4.4. Variabel

Variabel merupakan simbol yang mewakili nilai tertentu. Pembuatan variabel dalam

python sangat sederhana. Berikut adalah ketentuan mengenai variabel dalam pyton,

Variabel tidak perlu dideklarasikan mempunyai tipe data tertentu

Jenis data dalam variabel dapat berubah-ubah

Penulisan variabel harus diawali dengan huruf, dan untuk karakter selanjutnya bisa

berupa huruf atau angka

Penulisan variabel tidak boleh dipisah oleh <spasi>

Untuk variabel terdiri dari 2 suku kata, dapat dipisah dengan simbol underscore ( _ )

Aturan Penulisan Variabel

1 Nama variabel boleh diawali menggunakan huruf atau garis bawah (_),

contoh: nama, _nama, namaKu, nama_variabel.

2 Karakter selanjutnya dapat berupa huruf, garis bawah (_) atau angka,

contoh: __nama, n2, nilai1.

3 Karakter pada nama variabel bersifat sensitif (case-sensitif). Artinya huruf besar dan

kecil dibedakan. Misalnya, variabel_Ku dan variabel_ku, keduanya adalah variabel

yang berbeda.

4 Nama variabel tidak boleh menggunakan kata kunci yang sudah ada dalam python

seperti if, while, for, dsb

Terdapat Statemen pada python yang tidak boleh dijadikan nama variabel :

and continue else for import not raise

assert def except from in or return

break del exec global is pass try

class elif finally if lambda print while

Menghapus Variabel

Ketika sebuah variabel tidak dibutuhkan lagi, maka kita bisa menghapusnya dengan fungsi del().

Page 86: kosong = () tuple = (1234, 4321, “Hello”)

35

Kalimat = "Belajar Coding Python Universitas Mulawarman" print kalimat #output Belajar Coding Python Universitas Mulawarman del(kalimat) print kalimat #Error karena variabel kalimat telah dihapus Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'kalimat' is not defined

Pada perintah terakhir, kita akan mandapatkan NameError. Artinya variabel kalimat tidak ada

di dalam memori atau sudah dihapus.

4.5. Operator

Operator dalam Python dibagi menjadi 3 bagian, yaitu : operator aritmatika : +, - , *, /, % operator perbandingan : >= , <= , != , > , < , == operator penugasan : *= , /= , %= , +=, -=

1. Operator Aritmatika

Operator aritmatika adalah operator yang biasa kita temukan untuk operasi matematika.

Aritmatika sendiri merupakan cabang ilmu matematika yang membahas perhitungan

sederhana, seperti kali, bagi, tambah dan kurang

Tabel 4.1. Operator Aritmatika

Operator Deskripsi Contoh Hasil

* Perkalian 7 * 3 21

/ Pembagian 7 / 3 2

% Modulus 7 % 3 1

+ Penjumlahan 7 + 3 10

- Pengurangan 7 - 3 4

2. Operator Perbandingan

Operator perbandingan dipakai untuk membandingkan 2 buah nilai, apakah nilai tersebut

sama besar, lebih kecil, lebih besar, dll. Hasil dari operator perbandingan ini adalah tipe

data boolean True atau False.

Page 87: kosong = () tuple = (1234, 4321, “Hello”)

36

Tabel 4.2. Operator Perbandingan

Operator Deskripsi Contoh Hasil

>= Lebih besar atau sama dengan 6 >= 10 FALSE

<= Lebih kecil atau sama dengan 5 <= 8 TRUE != Tidak sama dengan 9 != 10 TRUE < Lebih kecil 10 < 5 FALSE > Lebih besar 5 > 2 TRUE == Sama dengan 4 == 4 TRUE

3. Operator Logika

Operator logika adalah operator yang dipakai untuk membuat kesimpulan logis dari 2

kondisi boolean: true atau false. Dalam bahasa Python terdapat 3 operator logika:

Tabel 4.3. Operator Logika

Operator Penjelasan Contoh Hasil and True jika kedua operand bernilai True True and True True or True jika salah satu operand bernilai True True or False True not True jika operand bernilai False not False True

4. Operator Penugasan

Operator assignment adalah operator untuk memasukkan suatu nilai ke dalam variabel.

Operator ini sebenarnya sudah sering kita pakai sepanjang tutorial bahasa Python di

Duniailkom. Dalam bahasa Python, operator assignment menggunakan tanda sama dengan

( = ). Operator assignment juga memiliki variasi penulisan yang disebut sebagai operator

assignment gabungan (compound assignment). Operator assignment gabungan adalah cara

penulisan singkat operator assignment yang digabung dengan dengan operator lain.

Tabel 4.4. Operator Penugasan

Operator Contoh Sama dengan

*= x *= 100 x = x * 100

/= x /= 100 x = x / 100

%= x %= 100 x = x % 100

+= x += 100 x = x + 100

-= x -= 100 x = x – 100

Page 88: kosong = () tuple = (1234, 4321, “Hello”)

37

5. Operator Bitwise

Bitwise adalah operator khusus untuk menangani operasi logika bilangan biner dalam

bentuk bit. Bilangan biner sendiri merupakan jenis bilangan yang hanya terdiri dari 2 jenis

angka, yakni 0 dan 1. Jika nilai asal yang dipakai bukan bilangan biner, akan dikonversi

secara otomatis oleh bahasa Python menjadi bilangan biner. Misalnya 7 desimal = 0111

dalam bilangan biner. Dalam penerapannya, operator bitwise tidak terlalu sering dipakai,

kecuali anda sedang membuat program yang harus memproses bit-bit komputer. Selain itu

operator ini cukup rumit dan harus memiliki pemahaman tentang sistem bilangan biner.

Tabel 4.5. Operator Bitwise

Operator Nama Contoh Biner Hasil

(biner)

Hasil (decimal)

& And 10 & 12 1010 & 1100 1000 8 | Or 10 | 12 1010 | 1100 1110 14 ^ Xor 10 ^ 12 1010 ^ 1100 0110 6 ~ Not ~ 10 ~1010 0101 -11 (two complement) << Left shift 10 << 1 1010 << 1 10100 20 >> Right shift 10 >> 1 1010 >> 1 101 5

4.6. Model Penulisan Program

a. Contoh Program Sederhana Menggunakan Python

Modus penulisan kode python dapat dilakukan dengan dua cara, yaitu

1. Menggunakan mode interaktif

2. Menggunakan Skrip.

1. Mode Interaktif

Menggunakan mode interaktif berarti kita bekerja menggunakan Prompt interpreter atau

shell dari python. Penulisan kode python dilakukan per-statemen, contohnya,

Gambar 4.2. Mode Interaktif

Statemen “Selamat Datang Mulawarman Muda di Prodi Sistem Informasi” adalah hasil

eksekusi dari perintah “print (“Selamat Datang Mulawarman Muda di Prodi Sistem

Page 89: kosong = () tuple = (1234, 4321, “Hello”)

38

Informasi”)”. Dengan menggunakan prompt interpreter python, kita dapat melakukan uji

coba setiap statemen- statemen atau fungsi-fungsi yang ada pada Python.

2. Mode Skrip

Menggunakan skrip berarti menyusun statemen-statemen menjadi sebuah satu

kesatuan file python. Dengan membuat skrip berarti kita melakukan kompilasi file python

dengan bantuan Interpreter dari Python lewat Command Prompt (Windows) atau Terminal

(Linux/Unix). Contohnya :

Contoh Kasus 1.

program 1. belajar.py

# Program 1

print ("Selamat datang di Pemrograman Python Prodi Sistem InformasiUnmul")

print ("Coding anda berhasil di running")

Tulis skrip diatas pada Text Editor, kamudian lakukan kompilasi,

Lokasi file python : D:\python>python belajar.py

Contoh Kasus 2 :

Pada contoh kasus yang pertama yaitu membuat program menampilkan hasil penjumlahan dua buah

bilangan menggunakan tipe data dan operator pada python. Output yang akan ditampilkan adalah

sebagai berikut :

Page 90: kosong = () tuple = (1234, 4321, “Hello”)

39

Langkah-langkah pengerjaan adalah sebagai berikut :

1. Klik tombol start Program Python 3.8 app dengan tampilan sebagai berikut :

Gambar 4.3. Tampilan Python 3.8

2. Klik Menu File -> New Window lalu ketikkan listing program sebagai berikut.

# Program Contoh 2

print ("Selamat datang di Pemrograman Python Prodi Sistem Informasi Unmul")

print ("Coding anda berhasil di running")

a = 10

b = 30

hasil = a + b

print ("Hasil a + b")

print ("Hasil = %d + %d" % (a,b))

print ("Hasil = %d " % (hasil))

3. Setelah selesai mengetikkan code, langkah selanjutnya menyimpan file tersebut dengan cara

klik menu File -> Save As. Masukkan nama file dengan nama program1.py

Gambar 4.4. Tampilan Penulisan Program

4. Setelah itu menjalankan program dengan cara klik menu Run -> Run Module atau dengan

menekan tombol F5.

Page 91: kosong = () tuple = (1234, 4321, “Hello”)

40

5. Selain itu kita juga dapat menjalankan program pada command prompt dengan cara

mengetikkan D:\ > python tes.py

Gambar 4.5. Tampilan menjalankan python pada command prompt

Contoh Kasus 3 :

Pada contoh kasus yang kedua yaitu membuat program menginput dan menampilkan kalimat

menggunakan bahasa python. Output yang akan ditampilkan adalah sebagai berikut :

Gambar 4.6. Gambar Outpus studi kasus.

Langkah-langkah pengerjaan adalah sebagai berikut :

1. Klik tombol start Program Python 3.8 app dengan tampilan sebagai berikut :

Gambar 4.7. Tampilan Python 3.8

2. Klik Menu File -> New Window lalu ketikkan listing program sebagai berikut.

# Program Contoh 3

praktikum = "Dasar-Dasar Pemrograman"

nama = input("Masukkan Nama : ")

nim = input("Masukkan NIM : ")

prodi = input("Masukkan Prodi : ")

print()

print ("Praktikum : ", praktikum)

Page 92: kosong = () tuple = (1234, 4321, “Hello”)

41

3. Setelah selesai mengetikkan code, langkah selanjutnya menyimpan file tersebut dengan cara

klik menu File -> Save As. Masukkan nama file dengan nama program1.py

Gambar 4.8. Tampilan Penulisan Program

4. Setelah itu menjalankan program dengan cara klik menu Run -> Run Module atau dengan

menekan tombol F5.

5. Selain itu kita juga dapat menjalankan program pada command prompt dengan cara

mengetikkan D:\python> python program2.py

Gambar 4.9. Tampilan menjalankan python pada command prompt

4.7. Percobaan

Buatlah program dibawah ini dengan menggunakan operator :

1 Perhitungan luas dari bangun ruang kubus

2 Perhitungan volume dari bangun ruang balok

3 Perhitungan rumus fisika dari energi potensial (ep)

4 Konversi dolar ke rupiah

Page 93: kosong = () tuple = (1234, 4321, “Hello”)

42

BAB 5

STRUKTUR PEMROGRAMAN PERCABANGAN

5.1. Struktur Pemrograman Percabangan IF

Percabangan dalam pembuatan program merupakan keadaan dimana sebuah kondisi harus

terpenuhi untuk menjalankan kode program ini. Artinya jika kondisi yang telah ditentukan tidak

terpenuhi maka program tidak dapat dijalankan. Bagian kondisi berperan sebagai penentu dari

struktur percabangan yang dibuat. Jika kondisi terpenuhi akan menghasilkan nilai True, maka

kode program akan dijalankan. Jika kondisi bernilai False, maka kode program tidak akan

dijalankan. Contoh kondisi dipergunakan untuk username, password, PIN, perbandingan nilai dan

lain-lain tergantung kebutuhan sistem yang akan di program..

Gambar 5.1. Logika Percabangan

Selain percabangan, struktur ini juga disebut control flow, decision, struktur kondisi,

Struktur if. Percabangan akan mampu membuat program berpikir dan menentukan tindakan sesuai

dengan logika/kondisi yang kita berikan. Contoh Program Sederhana IF sebagai berikut :

Gambar 5.2. Contoh penggunaan percabangan kondisi True

Page 94: kosong = () tuple = (1234, 4321, “Hello”)

43

Pada contoh program yang dijelaskan pada gambar 5.2 terlihat bahwa kondisi yang telah

ditentukan bahwa nilai a lebih besar dari nilai b terpenuhi sehingga bernilai true yang kemudian

menjalankan perintah output Benar A lebih Besar dari B. Apa yang terjadi apabila program

tersebut ternyata bernilai False atau kondisi tidak terpenuhi lihat pada gambar 5.3.

Gambar 5.3. Contoh penggunaan percabangan kondisi False

Pada gambar 5.3 terlihat bahwa kondisi tidak terpenuhi sehingga proses output tidak dapat

dijalankan. Dari contoh program tersebut terlihat bahwa kondisi yang telah ditentukan wajib

terpenuhi agar program yang telah ditentukan dapat berjalan sesuai kondisi yang diinginkan oleh

sistem yang akan dibuat.

Percabangan If juga dapat dipergunakan untuk suatu kondisi dalam mengambil keputusan.

Misalkan, kalau kita tidak lulus dalam ujian, maka kita ikut remidi. Sedangkan kalau lulus tidak

perlu ikut remidi. Untuk mengetahui alur sistemnya dapat dilihat pada gambar 5.4.

Gambar 5.4. Flowchart Program Percabangan

Berdasarkan flowchart tersebut maka dapat kita buatkan coding program untuk

menyelesaikan permasalahan tersebut dengan kode sebagai berikut :

Page 95: kosong = () tuple = (1234, 4321, “Hello”)

44

if lulus == "tidak":

print("kamu harus ikut remidi")

“Jika lulus == "tidak" maka cetak teks "kamu harus ikut remidi"“ Kita menggunakan operator

relasi sama dengan (==) untuk membandingkan isi variabel lulus. Sedangkan tanda titik-dua (:)

adalah tanda untuk memulai blok kode If.

Contoh penulisan yang salah:

if lulus == "tidak": print("Kamu harus ikut remidi")

Contoh penulisan yang benar:

if lulus == "tidak": print("kamu harus ikut remidi")

Buatlah Program Berikut

Contoh Program 1. # lulus.py lulus = input("Apakah kamu lulus? [ya/tidak]: ") #kondisi pertama if lulus == "tidak": print("Kamu harus ikut ujian") #kondisi kedua if lulus == "ya": print("Selamat Anda Lulus, Naik Kelas")

Maka hasilnya Luaran (Output):

Ouput diatas dapat dilihat skema percabangan berjalan dengan baik di mana saat pengguna

menjawab tidak maka secara otomatis terlihat output : kamu harus ikut remidi. Sedangkan saat

di isi dengan ya maka sistem juga memberikan output : Selamat Anda Lulus, Naik Kelas.

Page 96: kosong = () tuple = (1234, 4321, “Hello”)

45

Contoh Program 2

# program untuk mengecek bonus dan Diskon total_belanja = input("Total belanja: Rp ") # jumlah yang harus dibayar adalah berapa total belanjaannya # tapi kalau dapat diskon akan berkurang kemudian lakukan Konversi ke Integer bayar = int(total_belanja) # jika user belanja di atas Rp.75.000 maka berikan bonus dan diskon if int(total_belanja) > 75000: print("Selamat Karena Belanja > Rp. 75.000 anda mendapat Voucher Makan & Diskon 5%") # hitung diskonnya diskon = int(total_belanja) * 5/100 #5% bayar = int(total_belanja) - diskon # cetak bukti pembayaran print("Total yang harus dibayar : Rp %s" % bayar) print("Terima kasih sudah berbelanja di Toko Kami") print("Kami Tunggu kunjungan anda selanjutnya.") Maka hasilnya Luaran (Output):

5.2. Struktur Percabangan IF/ELSE

Bagian kondisi merupakan penentu dari struktur pemrograman percabangan artinya jika kondisi

terpenuhi (bernilai True, maka kode program pada if akan dijalankan). Jika kondisi tidak terpenuhi (bernilai

false, maka kode program pada else yang akan dijalankan. Berikut adalah logika pemrogramannya :

if kondisi : # Kode program yang akan dijalankan jika kondisi bernilai True # Kode program yang akan dijalankan jika kondisi bernilai True else : # Kode program yang akan dijalankan jika kondisi bernilai False # Kode program yang akan dijalankan jika kondisi bernilai False

Page 97: kosong = () tuple = (1234, 4321, “Hello”)

46

Biar makin paham terkait percabangan If/Else berikut adalah contoh penggunaan pada saat

terdapat dua pilihan keputusan. Misalkan, jika umur diatas atau sama dengan 18 tahun boleh

membuat SIM. Sedangkan dibawah itu belum boleh.

Gambar 5.5. Flowchart Percabangan IF – Else(Muhardian, 2018c)

Maka Sourcecode Programnya adalah :

umur = input("Berapa umur anda: ") if int(umur) >= 18: print("Anda boleh membuat SIM") else: print("Anda belum boleh membuat SIM") Selain blok If, terdapat juga blok Else yang akan dieksekusi apabila kondisi umur >= 18 salah

(False). Hasil luaran (output) dari kode di atas adalah sebagai berikut:

Contoh 2 :

Studi kasus ketika nilai Ujian Akhir semester Mahasiswa memiliki standar harus lebih besar

atau sama dengan 75 akan dinyatakan Lulus Mata Kuliah Dasar-Dasar Pemrograman, maka

berikut adalah contoh program menggunakan logika percabangannya :

Page 98: kosong = () tuple = (1234, 4321, “Hello”)

47

#Program Percabangan Nilai

nilai = input(“Masukkan Nilai UAS : “)

if int(nilai) >= 75:

print(“Selamat, anda lulus Mata Kuliah Dasar-Dasar Pemrograman”)

else:

print(“Maaf, Anda Tidak Lulus silahkan mengulang tahun depan”)

Maka hasilnya Luaran (Output):

Contoh 3 :

Studi kasus ketika saya mempunyai sebuah PIN untuk dapat mengakses masuk sebuah aplikasi

maka logika pemrogramannya seperti apa contoh PIN = 8812.

#program login menggunakan PIN :

PIN = input("Masukkan PIN Anda : ")

if PIN == “8812”:

print("Selamat Datang di ATM Bank Unmul")

else:

print('Maaf, PIN Anda salah')

Maka hasilnya Luaran (Output):

Contoh 4 Login menggunakan 2 Kondisi.

Bagaimana membuat login ke suatu sistem menggunakan dua kondisi yang telah ditentukan seperti username dan password dalam suatu program.

username = input("Masukkan Username : ")

password = input("Masukkan password : ")

Page 99: kosong = () tuple = (1234, 4321, “Hello”)

48

if username == "putut" and password == "8812":

print ("Selamat Datang Pak Putut")

else :

print ("Username dan Password anda salah")

Maka hasilnya Luaran (Output):

Berdasarkan pada contoh studi kasus diatas dengan dua kondisi terlihat bahwa apabila

salah satu kondisi tidak terpenuhi (false) maka secara sistematis akan mengarah pada fungsi else.

Program dengan menggunakan 2 Kondisi hanya bisa dijalankan apabila 2 kondisi yang telah

ditentukan bernilai True. Pemanfaatan suatu kondisi pada program percabangan ini dapat

dilakukan untuk disesuaikan dengan kebutuhan yang ada dalam suatu studi kasus. Hampir di

semua program percabangan dipergunakan untuk perhitungan dan juga jumlah kondisi yang

telah ditentukan dalam mengatasi suatu permasalahan.

5.3. Struktur Percabangan IF / ELIF / ELSE

Kondisi if-elif-else adalah sebuah struktur logika percabangan yang dilakukan dengan cara

menyambung beberapa kondisi if else menjadi satu kesatuan program. Kata kunci elif artinya Else

if, fungsinya untuk membuat kondisi/logika tambahan apabila kondisi pertama tidak terpenuhi.

Jika kondisi pertama tidak terpenuhi atau bernilai False, maka kode program akan lanjut ke kondisi

elif dibawahnya secara berurutan. Jika ternyata tidak terpenuhi, akan terus lanjut ke kondisi elif

seterusnya. Hingga semua blok kode elif tidak terpenuhi maka akhir program Else yang akan

dimunculkan sebagai kondisi yang bernilai True.

if condition_1:

# Kode program yang dijalankan jika condition_1 bernilai True

# Kode program yang dijalankan jika condition_1 bernilai True

Page 100: kosong = () tuple = (1234, 4321, “Hello”)

49

elif condition_2:

# Kode program yang dijalankan jika condition_2 bernilai True

# Kode program yang dijalankan jika condition_2 bernilai True

elif condition_3:

# Kode program yang dijalankan jika condition_3 bernilai True

# Kode program yang dijalankan jika condition_3 bernilai True

else:

# Kode program yang dijalankan jika semua kondisi tidak terpenuhi

# Kode program yang dijalankan jika semua kondisi tidak terpenuhi

Contoh Suatu Studi Kasus Nilai :

Misalkan kita akan membuat program untuk menentukan grade nilai dengan flow chart sebagai

berikut:

Gambar 5.6. Flowchart Diagram Program Grade Nilai

nilai>=40

Page 101: kosong = () tuple = (1234, 4321, “Hello”)

50

Berdasarkan flowchart program grade nilai maka dapat kita buat kode untuk bahasa python

sebagai berikut :

nilai = input("Inputkan Nilai Anda : ")

if nilai >= "90":

grade = "Selamat Anda Mendapat Grade A Mantap Jiwa"

elif nilai >= "80":

grade = "Selamat Anda Mendapat Grade B+ Semangat Terus"

elif nilai >= "70":

grade = "Selamat Anda Mendapat Grade B Ayo Lebih Serius Belajar"

elif nilai >= "60":

grade = "Selamat Anda Mendapat Grade C+ Sebaiknya anda belajar lebih tekun"

elif nilai >= "50":

grade = "Selamat Anda Mendapat Grade C Perbaiki cara anda belajar nilai anda kurang"

elif nilai >= "40":

grade = "Selamat Anda Mendapat Grade D Belajar dengan serius nilai anda jelek"

else:

grade = "Anda Tidak Lulus Mengulang Tahun Depan"

print("Hasil: %s" % grade)

Maka hasilnya Luaran (Output):

Contoh 2 Penggunaan if dalam menu pilihan (Selection) Buatlah sebuah menu untuk melakukan proses pembelian pulsa atau proses cek saldo pulsa pada suatu provider sederhana. print("==============================")

print("==== Program SI-Unmul Celluler =====")

print("==============================")

Page 102: kosong = () tuple = (1234, 4321, “Hello”)

51

print("1. Cek Pulsa/Saldo")

print("2. Beli Pulsa Rp.5000")

print("3. Beli Pulsa Rp.10000")

print("==============================")

pilihan = input("Masukkan Pilihan : ")

if pilihan == "1" :

print("Sisa Pulsa/Saldo Rp. 50000")

elif pilihan == "2" :

print("Pembelian Pulsa Rp.5000")

elif pilihan == "3" :

print("Pembelian Pulsa Rp.10000")

else :

print("Pilihan anda Tidak Tersedia")

Maka hasilnya Luaran (Output):

Page 103: kosong = () tuple = (1234, 4321, “Hello”)

52

BAB 6

STRUKTUR PEMROGRAMAN PERULANGAN

6.1. Dasar Teori Perulangan (Looping)

Perulangan (looping) adalah fungsi pada bahasa pemrograman untuk menjalankan baris

kode secara berulang-ulang selama kondisi masih terpenuhi. Perulangan adalah suatu atau

serangkaian bentuk kegiatan mengulang suatu statement sampai batas yang diinginkan. Dalam

merancang perulangan pada program, setidaknya harus mengetahui 3 komponen penting dalam

menggunakan perulangan :

1. Kondisi awal perulangan.

2. Kondisi pada saat perulangan.

3. Kondisi yang harus dipenuhi agar perulangan berhenti.

Perulangan dalam bahasa pemrograman berfungsi memerintahkan komputer melakukan

sesuatu secara berulang-ulang. Terdapat dua jenis perualangan dalam bahasa pemrograman

python, yaitu perulangan dengan for dan while. Perulangan for disebut counted loop (perulangan

yang terhitung), sementara perulangan while disebut uncounted loop (perulangan yang tak

terhitung). Perbedaannya adalah perulangan for biasanya digunakan untuk mengulangi kode

yang sudah diketahui banyak perulangannya. Sementara while untuk perulangan yang memiliki

syarat dan tidak tentu berapa banyak perulangannya.

6.2. Pemrograman Perulangan For

Berbeda dengan mayoritas bahasa pemrograman lain, pada Python perulangan for lebih ke

perulangan untuk memproses array/ himpunan. Perulangan for akan dijalankan sebanyak jumlah

element yang ada di dalam variabel foo. Sepanjang perulangan, variabel i akan berisi element yang

sedang di proses. Penjelasan ini akan lebih mudah dipahami dengan contoh kode program.

Contoh Program :

# file: perulanganFor.py

ulang = 25

for i in range(ulang):

print ("Perulangan ke-"+str(i))

Page 104: kosong = () tuple = (1234, 4321, “Hello”)

53

Hasil Luaran (Output) :

Penjelasan :

Pertama kita menentukan banyak perulangannya sebanyak 10 kali

ulang = 10

Variabel i berfungsi untuk menampung indeks, dan fungsi range() berfungsi untuk membuat list

dengan range dari 0-10. Fungsi str() berfungsi merubah tipe data ineger ke string.

for i in range(ulang): print ("Perulangan ke-"+str(i)) Contoh lain menggunakan List : # berkas: perulanganFor.py ikan = ['Kerapu','Baronang','Lele','Piranha'] for isi in item: print (isi)

Hasil Luaran (Output) :

6.3. Pemrograman Perulangan while

Struktur perulangan while adalah perulangan yang melakukan pengecekan kondisi diawal

blok perulangan. Biasanya perulangan mengeksekusi jika kondisi terpenuhi (bernilai benar) dan

jika kondisi tidak terpenuhi (tidak benar) maka perulangan tidak dapat dieksekusi oleh program.

Pernyataan perulangan while merupakan instruksi perulangan yang mirip dengan perulangan for.

Page 105: kosong = () tuple = (1234, 4321, “Hello”)

54

Bentuk perulangan while dikendalikan oleh syarat tertentu, yaitu perulangan akan terus

dilaksanakan selama syarat tersebut terpenuhi.

Bentuk umum:

while(True):

# jalankan kode ini

# kode ini berada di luar perulangan while

Contoh:

# berkas: perulanganWhile.py

jawab = 'ya'

hitung = 0

while(jawab == 'ya'):

hitung += 1

jawab = input("Apakah Anda Mau Mengulang ya/tidak ? ")

print ("Total perulangan: " + str(hitung))

Atau bisa juga dengan bentuk yang seperti ini, dengan menggunakan kata kuci break

# berkas: perulanganWhile.py

jawab = 'ya'

hitung = 0

while(True):

hitung += 1

jawab = input("Apakah Anda Ingin Mengulang ya/tidak ? ")

if jawab == 'tidak':

break

print ("Total perulangan: " + str(hitung))

Pertama menentukan variabel untuk menghitung, dan menentukan kapan perulangan berhenti.

kalau pengguna menjawab tidak maka perulangan akan terhenti.

jawab = 'ya'

hitung = 0

Melakukan perulangan dengan while, kemudian menambah satu variabel hitung setiap kali

mengulang. lalu menanyakan kepada pengguna, apakah mau berhenti mengulang atau tidak?

while(jawab == 'ya'):

Page 106: kosong = () tuple = (1234, 4321, “Hello”)

55

hitung += 1

jawab = input("Apakah Anda Ingin Mengulang ya/tidak ? ")

Setelah selesai mengulang, cetak berapa kali perulangan tersebut terjadi

print ("Total perulangan: " + str(hitung))

Hasil Luaran (Output):

Page 107: kosong = () tuple = (1234, 4321, “Hello”)

56

BAB 7

STRUKTUR DATA LIST

7.1. Pengenalan Struktur Data List

Dalam bahasa pemrograman python, Struktur data List adalah struktur data pada python

yang mampu menyimpan lebih dari satu data, seperti array. List sering disebut juga array pada

bahasa pemrograman lain. List adalah jenis data campuran yang bisa memiliki komponen

penyusun yang berbeda-beda(Muhardian, 2017b). Sebuah list dapat dibuat dengan menggunakan

tanda kurung siku [ ]. Anggota list didaftar dalam kurung siku tersebut dan masing-masing

dipisahkan oleh tanda koma. Setiap elemen-elemen berurutan akan diberi nomor posisi atau

indeksnya. Indeks pertama dalam list adalah nol, indeks kedua adalah satu dan seterusnya.

Sifat-sifat list bisa didaftar seperti ini:

Komponen penyusunnya bisa diganti.

Komponen penyusunya dapat dibaca dan dimanipulasi secara langsung.

Komponen penyusunnya bisa ditambah.

Komponen penyusunnya dapat diambil dengan menunjukkan indeksnya atau notasi slice.

Komponen penyusun sebuah list dapat juga berupa list yang lain.

Contoh list :

prodi =["Informatika","Sistem Informasi","Teknologi Informasi "]

print(prodi[0])

print(prodi[1])

print(prodi[2])

Hasil Luaran (Output) :

print(prodi[0:-1])

print(prodi[:2]+["Fakultas Teknik","Unmul"])

print("Jumlah isi Prodi : ", len(prodi))

Page 108: kosong = () tuple = (1234, 4321, “Hello”)

57

Hasil Luaran (Output)

7.2. Cara Membuat List di Python

List adalah tipe data yang mudah dipergunakan dalam berbagai studi kasus dasar dalam

bahasa Python, dimana list dapat ditulis sebagai daftar nilai yang dipisahkan koma (item) antara

tanda kurung siku ([ ]). Hal penting tentang daftar adalah item dalam list tidak boleh sama jenisnya.

Membuat list sangat sederhana, tinggal memasukkan berbagai nilai yang dipisahkan koma di

antara tanda kurung siku.

Contoh :

nama = ["Agus", "Ayu", "Nina", "Putra"]

Jenis data apa saja yang boleh diisi ke dalam List

list dapat diisi dengan tipe data apa saja, string, integer, float, double, boolean, object, dan

sebagainya. Dalam penggunaan list juga bisa mencampur isinya dengan item yang berbeda tipe

datanya.

Contoh:

rak_buku = ["Buku Pemrograman Python Pemula", 21, True, 34.12]

Terdapat empat jenis tipe data pada list rak_buku :

"Buku Pemrograman Python Pemula" adalah tipe data string;

21 adalah tipe data integer;

True adalah tipe data boolean;

34.12 adalah tipe data float.

7.3. Cara Pemanggilan List

Setelah mengetahui cara membuat dan menyimpan data di dalam List, mari kita coba

mengambil datanya. List sama seperti array, list juga memiliki nomer indeks untuk mengakses

data atau isinya. Nomer indeks list selalu dimulai dari nol (0). Nomer indeks ini yang kita butuhkan

untuk mengambil isi (item) dari list.

Page 109: kosong = () tuple = (1234, 4321, “Hello”)

58

Contoh Program:

#nama list dari nama seseorang

nama = ["Agus Dermawan", "Ayu Puspita", "Nina", "Putra Wijaya"]

# Misanya kita ingin mengambil nama Ayu Puspita

# Maka indeknya adalah 1

print (nama[1])

Hasil Luaran (Output) :

7.4. Operasi Dasar pada List

List akan menjalankan semua operasi secara urutan program, sehingga dalam pemrograman

dasar sebaiknya kita memahami bagaimana operasi dasar pada list sebagai berikut :

Tabel 7.1. Operasi Dasar pada List

Python Expression Hasil Penjelasan

len([1, 2, 3, 4]) 4 Length

[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Concatenation

['Halo!'] * 4 ['Halo!', 'Halo!', 'Halo!', 'Halo!'] Repetition

2 in [1, 2, 3] True Membership

for x in [1,2,3] : print (x,end = ' ') 1 2 3 Iteration

7.5. Method dan Fungsi Build-in pada list python

Penggunaan list tentunya sudah didukung oleh method dan fungsi yang telah ada dalam

bahasa pemrograman python. Pemanfaatan method dan fungsi ini akan memudahkan seorang

programmer dalam memahami bagaimana proses pengolahan data menjadi informasi. Untuk

lebih jelasnya fungsi dan method dapat dilihat pada tabel 7.2 dan 7.3.

Tabel 7.2. Fungsi Build in pada List

Python Function Penjelasan

cmp(list1, list2) # Tidak lagi tersedia dengan Python 3

len(list) Memberikan total panjang list.

max(list) Mengembalikan item dari list dengan nilai maks.

min(list) Mengembalikan item dari list dengan nilai min.

list(seq) Mengubah tuple menjadi list.

Sumber : (Belajarpython, 2020c)

Page 110: kosong = () tuple = (1234, 4321, “Hello”)

59

Tabel 7.3. Method Build in pada list

Python Methods Penjelasan

list.append(obj) Menambahkan objek obj ke list

list.count(obj) Jumlah pengembalian berapa kali obj terjadi dalam list

list.extend(seq) Tambahkan isi seq ke list

list.index(obj) Mengembalikan indeks terendah dalam list yang muncul obj

list.insert(index, obj) Sisipkan objek obj ke dalam list di indeks offset

list.pop(obj = list[-1]) Menghapus dan mengembalikan objek atau obj terakhir dari list

list.remove(obj) Menghapus object obj from list

list.reverse() Membalik list objek di tempat

list.sort([func]) Urutkan objek list, pergunakan compare func jika diberikan

Sumber : (Belajarpython, 2020c)

7.6. Manajemen Data List dalam Program Sederhana

a. Mengambil Nilai List

Contoh Studi Kasus Perintah Program Aplikasi List Anggota suatu organisasi dengan perintah

sebagai berikut :

1. Buat sebuah list untuk menyimpan nama dosen.

2. Isi list sebanyak 6

3. Tampilkan isi list indeks nomer 3

4. Tampilkan semua teman dengan perulangan

5. Tampilkan panjang list

Tuliskan kode berikut ini

# Buat list untuk menampung nama

dosen = ["Hario", "Medi", "Bambang", "Reza", "Gubtha", "Anton", "Putut" ]

# Tampilkan isi list my_friends dengan nomer indeks 3

print ("Isi Nama Dosen indeks ke-3 adalah: {}".format(dosen[3]))

# Tampilkan semua daftar dosen IT

print ("Jumlah Semua Dosen : ada {} orang".format(len(dosen)))

for dosen_it in dosen:

print (dosen_it)

Pada kode di atas, kita menggunakan fungsi len() untuk mengambil panjang list.

Page 111: kosong = () tuple = (1234, 4321, “Hello”)

60

Hasil luaran (output) :

b. Mengubah Nilai List

List bersifat mutable, artinya isinya dapat dilakukan perubahan sesuai dengan kebutuhan sistem.

Untuk semakin memahami bagaimana melakukan manajemen data di list perhatikan contoh

program mengubah data list berikut ini :

Contoh Program :

# list mula-mula

prodi = ["Teknik Informatika", "Bahasa Coding", "Sistem Informasi", "Teknologi Informasi"]

# mengubah nilai index ke-2

print("Data pertama : ", prodi)

prodi[1] = "Rekayasa Sistem Komputer"

print("Data perubahan : ", prodi)

Hasil Luaran (Output):

c. Menambahkan Item List

Tedapat dua metode (method) atau fungsi yang bisa digunakan untuk menambahkan isi atau

item ke List:

1. append(item) menambahkan item dari belakang.

Contoh:

#list data awal program studi

prodi = ["Teknik Informatika", "Bahasa Coding", "Sistem Informasi", "Teknologi

Informasi"]

#penambahan prodi baru

Page 112: kosong = () tuple = (1234, 4321, “Hello”)

61

prodi.append("Rekayasa Sistem komputer")

print(prodi)

Hasil Luaran (Output) :

2. insert(index, item) menambahkan item dari indeks tertentu

Contoh :

#list data awal

prodi = ["Teknik Informatika", "Bahasa Coding", "Sistem Informasi", "Teknologi

Informasi"]

#penambahan prodi pada index ke 2

prodi.insert(2, "Rekayasa Sistem")

print(prodi)

Hasil Luaran (Output) :

d. Menghapus Nilai List

Perintah yang dipergunakan untuk menghapus list adalah del[index]

Contoh :

#list awal data prodi

prodi = ["Teknik Informatika", "Bahasa Coding", "Sistem Informasi", "Teknologi

Informasi"]

print("Data Awal : ", prodi)

#Penghapusan prodi Bahasa Coding pada index 1

del prodi[1]

print("Data Setelah dihapus : ", prodi)

Hasil Luaran (Output) :

Selain menggunakan perintah del, kita juga bisa menggunakan method remove() dengan

Page 113: kosong = () tuple = (1234, 4321, “Hello”)

62

paramter item yang akan dihapus.

Contoh program :

#list awal data prodi

prodi = ["Teknik Informatika", "Bahasa Coding", "Sistem Informasi", "Teknologi

Informasi"]

#Penghapusan prodi Bahasa Coding pada index 1

del prodi[1]

print(prodi)

#Penghapusan prodi Teknik Informatika

prodi.remove("Teknik Informatika")

print(prodi)

Hasil Luaran (Output) :

e. Memotong List

Contoh Program Memotong List

# Kita punya list Mobil Merk Toyota

mobil = ["Avanza", "Xenia", "Pajero", "Fortuner", "Rush", "Sigra"]

# Kita potong dari indeks ke-1 sampai ke-5

print (mobil[1:5])

Hasil Luaran (Output) :

f. Operasi List

- Penggabungan (+)

# Beberapa list lagu

list_lagu = [

"Cinta Luar Biasa",

"Hymne Unmul"

Page 114: kosong = () tuple = (1234, 4321, “Hello”)

63

]

# playlist lagu favorit

playlist_favorit = [

"Kasih Sayang Kepada Orang Tua",

"Ruang Rindu"

]

# Mari kita gabungkan keduanya

semua_lagu = list_lagu + playlist_favorit

print (semua_lagu)

Hasil Luaran (Output) :

- Perkalian (*)

# playlist lagu favorit

playlist_favorit = [

"Is My Life",

"Is Now Forever!!!"

]

# ulangi sebanyak 5 kali

ulangi = 5

now_playing = playlist_favorit * ulangi

print (now_playing)

Hasil Luaran (Output) :

7.7. Membuat List Multidimensi

Berdasarkan pada contoh-contoh yang telah kita buat hanya membuat list satu dimensi saja.

List dapat juga memiliki lebih dari satu dimensi atau disebut dengan multi dimensi. List multi

dimensi biasanya digunakan untuk menyimpan struktur data yang kompleks seperti tabel, matriks,

Page 115: kosong = () tuple = (1234, 4321, “Hello”)

64

graph, tree, dan lain-lain.

Contoh Program List 2 Dimensi :

# List minuman dengan 2 dimensi

list_minuman = [

["Kopi Luwak", "Soda Sedih", "Teh"],

["Jus Apel", "Jus Buah Naga", "Jus Jeruk"],

["Es Kopyor Degan", "Es Campur", "Es Teler"]

]

# Cara mengakses list multidimensi

# misalkan kita ingin mengambil "es kopyor degan"

print (list_minuman[2][0])

Hasil Luaran (Output) Program :

Angka dua [2][0] pada kode di atas, menujukan indeks list yang akan di akses. Indeks [2]

menandakan index kolom kebawah lalu [0] menyatakan baris kekanan. Kemudian setelah dapat

list-nya baru kita ambil isinya. Kemudian Bagaimana jika ingin menampilkan semua isi dalam list

multi dimensi ?, jawabannya yaitu Tinggal gunakan perulangan bersarang.

Contoh Program Perulangan bersarang :

# List minuman dengan 2 dimensi

list_minuman = [

["Kopi Americano", "Soda Gembira", "Teh"],

["Jus Apel", "Jus Buah Naga", "Jus Jeruk"],

["Es Kopyor Degan", "Es Campur", "Es Teler"]

]

for menu in list_minuman:

for minuman in menu:

print (minuman)

Page 116: kosong = () tuple = (1234, 4321, “Hello”)

65

Hasil Luaran (Output) :

7.8. Latihan Membuat Program List

Program Tambah Nama Pahlawan Super

# Membuat list kosong untuk menampung pahlawan Favoritmu

hero = []

stop = False

i = 0

# Mengisi super hero

while(not stop):

hero_baru = input("Inputkan Pahlawan yang ke-{}: ".format(i))

hero.append(hero_baru)

# Increment i

i += 1

tanya = input("Mau mengisi nama Pahlawan lagi? (y/t): ")

if(tanya == "t"):

stop = True

# Cetak Semua super hero

print ("=" * 10)

print ("Kamu memiliki {} Pahlawan Favoritmu Yaitu : ".format(len(hero)))

for hb in hero:

print ("+ {}".format(hb))

Page 117: kosong = () tuple = (1234, 4321, “Hello”)

66

Hasil Luaran (Output) Program :

Page 118: kosong = () tuple = (1234, 4321, “Hello”)

67

BAB 8

STRUKTUR DATA TUPLE

8.1. Pengenalan Struktur Data Tuple

Tuple dalam Python adalah stuktur data yang digunakan untuk menyimpan sekumpulan data.

Tuple bersifat immutable, artinya isi tuple tidak bisa diubah dan dihapus. Tuple dapat diisi dengan

berbagai macam nilai dan objek (Andre, 2018b; Muhardian, 2018b). Tuple adalah salah satu

struktur data di Python yang mampu menyimpan sekumpulan nilai dalam satu variabel cara

kerjanya hampir sama dengan struktur data list. Tuple menggunakan tanda kurung sedangkan list

python menggunakan tanda kurung siku (Belajarpython, 2020d). Memasukkan nilai-nilai ke dalam

tuple dipisahkan dengan koma. Untuk beberapa kebutuhan sistem, tuple memiliki kelebihan

sebagai berikut :

1. Karena tuple adalah immutable, maka iterasi pada tuple lebih cepat dibandingkan list.

2. Tuple bisa berisi anggota yang immutable yang dapat digunakan sebagai key untuk

dictionary. List tidak bisa dipakai untuk itu.

3. Kalau kita memerlukan data yang memang tidak untuk diubah, maka menggunakan tuple

bisa menjamin bahwa data tersebut akan write-protected.

Untuk semakin memperkuat pemahaman kita terhadap struktur data tuple di python maka

pokok bahasan kali ini sebagai berikut :

Cara Membuat Tuple di python

Cara Membuat Tuple Kosong

Cara Mengakses Tuple

Operasi dasar pada tuple

Melakukan pemotongan (slicing) Nilai Tuple

Mengambil panjang tuple

Struktur Tuple Nested

Unpacking Sequence Tuple

Page 119: kosong = () tuple = (1234, 4321, “Hello”)

68

8.2. Cara Membuat Tuple di Python

Cara membuat Tuple dapat dibuat dengan tanda kurung seperti ini:

tuple = (1234, 4321, 'Hello')

atau bisa juga tanpa tanda kurung :

tuple2 = 1234, 432, 'World!'

Kedua-duanya valid.

Contoh Deklarasi tuple di python lainnya :

kalimat = ("Belajar", "Python", "di", "Universitas Mulawarman")

angka = (100, 200, 300, 400)

campuran = ("Python", 200, 6.99, True)

#output

print(kalimat)

print(angka)

print(campuran)

Hasil Luaran (Output) :

Cara membedakan Perbedaan LIST dan Tuple sebagai Berikut :

kalimat= ["Belajar", "Python", "di", "Sistem Informasi"]

print(type(kalimat))

kalimat2 = ("Belajar", "Python", "di", "Sistem Informasi")

print(type(kalimat2))

Hasil Luaran (Output) :

Pada contoh diatas merupakan perbedaan list dan tuple dimana kalimat adalah stuktur data list

menggunakan [ ]. Sedangkan kalimat2 adalah struktur data tuple menggunakan ( ) untuk

membuatnya.

Page 120: kosong = () tuple = (1234, 4321, “Hello”)

69

8.3. Membuat Tuple Kosong

Apabila kita ingin membuat sebuah tuple tanpa isi, kita bisa menuliskannya seperti ini:

# Membuat tuple kosong

tuple_kosong = ()

Lalu untuk membuat Tuple yang hanya berisi satu ( ), artinya variabel tuple_kosong telah dibuat

dan siap untuk dilakukan pengolahan data.

Contoh:

# membuat tuple

tuple1 = ('Data Tuple 1')

tuple2 = "Data Tuple 2"

Jika tidak ditambahkan koma, akan bukan string.

tuple1 = ('Data Tuple 1',12500,True) # <-- tipe data tuple

tuple2 = "Data Tuple 2" # <-- ini tipe data string

tuple3 = 12000 # tipe data integer

tuple4 = 0.45 # tipe data float

print(type(tuple1))

print(type(tuple2))

print(type(tuple3))

print(type(tuple4))

Hasil Luaran (Output) :

untuk isian data tuple dapat dilakukan dengan berbagai tipe data baik itu integer, string, float,

boolean dan lain-lain. Penggunaan tuple untuk menyimpan data agar dapat diproses oleh program

yang ada dalam coding tersebut.

8.4. Mengakses Nilai Tuple

Hampir sama dengan cara kerja struktur data List, Tuple juga memiliki indeks untuk

Mengakses item di dalamnya. Indeks Tuple dan list selalu dimulai dari nol 0 hingga n sesuai

isian data di tuple.

Page 121: kosong = () tuple = (1234, 4321, “Hello”)

70

Contoh:

# membuat tuple

nama = ("Rahmad Dermawan", "Banu Sukardi", "Siska Rahmadani")

# mengakses nilai tuple

print(nama[0])

print(nama[1])

print(nama[2])

Maka hasilnya (Output):

Struktur data Tuple di python bersifat permanent sehingga untuk proses manajemen isi data

hanya bisa dilakukan dicodingan anda sedangkan untuk menghapus tuple masih bisa dapat

dilakukan menggunakan fungsi del().

Contoh percobaan ingin menambah isi tuple :

# membuat tuple

nama = ("Rahmad Dermawan", "Banu Sukardi", "Siska Rahmadani")

# Mencoba Menambahkan nilai tuple

nama[3] = "Rahmad"

print(nama[0])

print(nama[1])

print(nama[2])

Maka hasilnya (Output):

Hasilnya terjadi error dengan pesan: ‘tuple’ object does not support item assignment, yang kurang

lebih berarti: “Tuple tidak mendukung penambahan nilai baru“. Inilah perbedaan antara tipe

data Tuple dengan tipe data List.

# Melakukan penghapusan data tuple

nama = ("Rahmad Dermawan", "Banu Sukardi", "Siska Rahmadani")

Page 122: kosong = () tuple = (1234, 4321, “Hello”)

71

# Mencoba Menambahkan nilai tuple

del(nama)

print(nama[0])

Maka hasilnya (Output):

Hasilnya proses delete atau hapus variabel nama berhasil karena pada koding print(nama[0])

sudah tidak ditemukan variabel nama tersebut.

8.5. Operasi Dasar pada Tuple Python

Tuple dapat merespon semua operasi umum yang telah kita pelajari sebelumnya, Untuk

semakin memperkuat pemahaman penggunaan tuple di python berikut ini adalah tabel operasi

dasar pada tuple python .

Tabel 8.1. Operasi Dasar Tuple Python

Python Expression Hasil Penjelasan

len((1, 2, 3)) 3 Length (1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) Concatenation (‘Halo!’,) * 4 (‘Halo!’, ‘Halo!’, ‘Halo!’, ‘Halo!’) Repetition 3 in (1, 2, 3) True Membership for x in (1,2,3) : print (x, end = ‘ ‘) 1 2 3 Iteration

8.6. Memotong Struktur Data Tuple

Sama dengan proses di List pada tuple juga bisa melakukan proses pemotongan data :

Contoh Program :

# mula-mula kita punya tuple seperti ini fakultas = (123, 'Fakultas Teknik Universitas Mulawarman', 'https://ft.unmul.ac.id') # lalu kita ingin potong agar ditampilkan Nama Fakultas dan Websitenya print(fakultas[1:3]) Maka hasil luaran (Output) :

Page 123: kosong = () tuple = (1234, 4321, “Hello”)

72

Logikanya sama seperti di list sebagai berikut :

8.7. Mengambil Panjang Struktur Data Tuple

Untuk mengambil panjang atau jumlah item di dalam Tuple, kita bisa menggunakan

fungsi len().

Contoh:

# Membuat Tuple dengan data hari

hari = ('Senin', 'Selasa', 'Rabu', 'Kamis', 'Jum\'at', 'Sabtu', 'Minggu')

# Mengambil panjang tuple hari

print(hari)

print("Jumlah hari: %d" % len(hari))

Maka hasilnya (Output):

8.8. Struktur Tuple Nested

Struktur data tuple juga bisa dilakukan secara nested, artinya Tuple bisa diisi dengan tuple lainnya.

#Contoh:

tuple1 = "Saya Mahasiswa SI", "Bisa Lulus", "Cepat"

tuple2 = "Yakin", 3.5, "tahun", "Amin"

tuple3 = (tuple1, tuple2) # <- nested tuple

#tuple3 akan berisi nilai dari tuple1 dan tuple2.

print(tuple3)

print(tuple3[1])

print(tuple3[1][0])

Page 124: kosong = () tuple = (1234, 4321, “Hello”)

73

Hasil Luaran (Output):

8.9. Sequence Unpacking Tuple

Proses pembuatan Tuple bisa kita sebut sebagai packing, membuat variabel baru untuk

mengambil isi tuple yang ditentukan disebut unpacking.

# mula-mula kita buat tuple seperti ini

prodi = 828383, "Sistem Informasi", "https://si.ft.unmul.ac.id"

# lalu di-unpacking

id_prodi, nama, web = prodi

# maka sekarang tiga variabel tersebut akan memiliki nilai

# Lakukan pemanggilan luaran data

print(id_prodi)

print(nama)

print(web)

Hasil Luaran Program (Output):

Dengan melakukan upacking, isi tuple akan di-copy ke variabel yang telah kita tentukan. Lalu

dengan variabel tersebut baru kita bisa melakukan manajemen data seperti merubah isi datanya,

Karena variabel bersifat mutable.

Page 125: kosong = () tuple = (1234, 4321, “Hello”)

74

BAB 9

STRUKTUR DATA DICTIONARY

9.1. Pengenalan Stuktur Data Dictionary

Setelah kita mengenal stuktur data list yang mampu menyimpan berbagai macam data dan

kegunaan. List biasanya digunakan untuk menyimpan koleksi data dengan berbagai tipe.

Namun, list ternyata memiliki kekurangan yaitu tidak bisa menggunakan kata kunci untuk

mengakses item hanya bisa melalui indeks angka. Kekurangan ini kemudian ditutupi oleh

oleh struktur data Dictionary. Dictionary adalah stuktur data yang diibaratkan seperti seperti kamus

yang memiliki index dengan judul, penerbit, penulis sebagai pengenalnya. Ada

kata kunci kemudian ada nilainya. Kata kunci harus unik, sedangkan nilai boleh diisi dengan apa

tipe data bebas (Muhardian, 2018a).

Contoh:

mahasiswa={"nama":"Sopian Zuhri", "prodi":"Sistem Informasi"}

print("Nama : ", mahasiswa["nama"])

print("Program Studi : ", mahasiswa["prodi"])

Hasil Luaran (Output) :

Pada contoh diatas membuat sebuah Dictionary bernama mahasiswa dengan isi data nama

dan prodi. nama dan prodi adalah kunci (key) yang dipergunakan untuk mengakses nilai di

dalamnya. Inilah perbedaanya dibandingkan list dan tuple. Dictionary memiliki kunci berupa teks

bisa juga angka. sedangkan list dan tuple menggunakan indeks berupa angka saja untuk mengakses

nilainya. Dalam bahasa pemrograman lain (seperti PHP), Dictionary juga dikenal dengan

sebutan asosiatif array (Andre, 2019).

9.2. Deklarasi pemrograman Dictionary di python

Berbeda dengan list yang memakai indeks angka untuk merujuk pada isi variabel, dictionary

memakai key untuk merujuk pada isi variabelnya. Sifat kedua jenis data ini hanya berbeda dalam

beberapa hal saja. Untuk mendeklarasikan sebuah dictionary, Python memakai tanda { }.

Page 126: kosong = () tuple = (1234, 4321, “Hello”)

75

Contoh Program :

siswa={"NIS":207383, "nama":"Bayu Ramadhan", "kelas":"SMA IPA"}

print("NIS : ",siswa["NIS"])

print("Nama : ",siswa["nama"])

print("Kelas : ",siswa["kelas"])

Hasil Luaran (Output) :

9.3. Fungsi Build In pada Dictionary Python

Dictionary memiliki beberapa fungsi untuk melakukan berbagai operasi yang dibutuhkan

dalam pembuatan sistem. Selengkapnya bisa dilihat pada tabel berikut:

Tabel 9.1. Fungsi Built-in Dictionary

Fungsi Python Penjelasan

cmp(dict1, dict2) Membandingkan unsur keduanya.

len(dict) Memberikan panjang total Dictionary. Ini sama dengan jumlah item dalam Dictionary.

str(dict) Menghasilkan representasi string yang dapat dicetak dari Dictionary

type(variable) Mengembalikan tipe variabel yang lulus. Jika variabel yang dilewatkan adalah Dictionary, maka akan mengembalikan tipe Dictionary.

Sumber : (Belajarpython, 2020a; Pythonindo, 2020a)

9.4. Method Build-In pada Dictionary Python

Dictionary memiliki beberapa metode untuk melakukan berbagai operasi yang dipergunakan

untuk melakukan pengolahan data. Selengkapnya bisa dilihat pada tabel berikut:

Tabel 9.2. Method Built-in Dictionary

Method Python Penjelasan

dict.clear() Menghapus semua elemen Dictionary dict.copy() Mengembalikan salinan Dictionary dict.fromkeys() Buat Dictionary baru dengan kunci dari seq dan nilai yang disetel ke nilai. dict.get(key, default=None)

For key, nilai pengembalian atau default jika tombol tidak ada dalam Dictionary

dict.has_key(key) Mengembalikan true jika key dalam Dictionary, false sebaliknya dict.items() Mengembalikan daftar dari pasangan tuple dictionary (key, value)

Page 127: kosong = () tuple = (1234, 4321, “Hello”)

76

Method Python Penjelasan

dict.keys() Mengembalikan daftar key dictionary dict.setdefault(key, default=None)

Mirip dengan get (), tapi akan mengatur dict [key] = default jika kunci belum ada di dict

dict.update(dict2) Menambahkan pasangan kunci kata kunci dict2 ke dict dict.values() Mengembalikan daftar nilai dictionary

Sumber : (Belajarpython, 2020a; Pythonindo, 2020a)

9.5. Membuat Dictionary

Hal yang wajib ada di dalam pembuatan Dictionary adalah:

nama dictionary,

key,

value,

buka dan tutupnya menggunakan kurung kurawal.

Antara key dan value dipisah dengan titik dua (:) dan apabila terdapat lebih dari satu item,

maka dipisah dengan tanda koma (,).

Contoh satu item:

nama_dict = {

"key": "value"

}

Contoh tiga item:

nama_dict = {

"key1": "value",

"key2": "value",

"key3": "value"

}

Isi dari Dictionary dapat berupa:

String

Integer

Objek

List

Tuple

Dictionary

dsb.

Page 128: kosong = () tuple = (1234, 4321, “Hello”)

77

Contoh Program Dictionary Dosen:

dosen = {

"nama": "Putut Pamilih Widagdo, M.Kom",

"umur": 30,

"hobi": ["Coding", "Membaca", "Traveling"],

"menikah": True,

"sosmed": {

"facebook": "Putut Pamilih Widagdo",

"twitter": "@putut_cool",

"youtube": "Putut Pamilih Widagdo"

}

}

Mari kita lihat isi dari Dictionary di atas:

nama berisi string "Putut Pamilih Widagdo, M.Kom"

umur berisi integer 30

hobi berisi list dari string

menikah berisi boolean True

sosmed berisi Dictionary

Menggunakan Konstruktor

Selain menggunakan cara di atas, pembuatan dictionary juga bisa dengan menggunakan

constructor dict() dengan parameter key dan value.

Contoh:

almamater = dict(unmul="kuning", umkt="biru", untag="merah")

Maka akan menghasilkan dictionary seperti ini:

{'unmul': 'kuning', 'umkt': 'biru', 'untag': 'merah'}

9.6. Mengakses Item Pada Dictionary

Bagaimana cara mengaksesnya atau menampilkan isi dari dictionary yaitu hampir sama

seperti list tetapi kata kunci (indeks) yang digunakan bukan angka, melainkan keyword yang telah

ditentukan dalam struktur data dictionary-nya. Untuk lebih jelasnya dapat dilihat pada contoh

program berikut ini :

Contoh Program :

#Deklarasi Dictionary Dosen

dosen = {

"nama": "Putut Pamilih Widagdo, M.Kom",

Page 129: kosong = () tuple = (1234, 4321, “Hello”)

78

"umur": 30,

"hobi": ["Coding", "Membaca", "Traveling"],

"menikah": True,

"sosmed": {

"facebook": "Putut Pamilih Widagdo",

"twitter": "@putut_cool",

"youtube": "Putut Pamilih Widagdo"

}

}

# Mengakses isi dictionary

print("Nama saya adalah %s" % dosen["nama"])

print("Hobi : %s" % dosen["hobi"])

print("Twitter: %s" % dosen["sosmed"]["youtube"])

Hasil Luaran :

Selain dengan cara di atas, kita juga bisa mengambil nilai Dictionary dengan method get().

Contoh:

print(dosen.get("nama"))

Hasilnya:

Putut Pamilih Widagdo, M.Kom

Menggunakan Perulangan :

Untuk mencetak semua isi Dictionary, kita bisa menggunakan perulangan seperti ini:

# Membuat dictionary

fakultas = {

"name": "Fakultas Teknik",

"url": "https://fkti.unmul.ac.id",

"PT": "Universitas Mulawarman"

}

# Mencetak isi dictionary dengan perulangan

for key in fakultas:

print(fakultas[key])

Page 130: kosong = () tuple = (1234, 4321, “Hello”)

79

Hasilnya Luarannya (Output) :

Bentuk lain program :

# Membuat dictionary bentuk lain

fakultas = {

"name": "Fakultas Teknik",

"url": "https://fkti.unmul.ac.id",

"PT": "Universitas Mulawarman"

}

# Mencetak isi dictionary dengan perulangan

for key, val in fakultas.items():

print("%s : %s" % (key, val))

Hasilnya Luaran (Output) :

9.7. Menambahkan Item Pada Dictionary

Untuk melakukan penambahan data pada dictionary bisa menggunakan method update().

Parameternya berupa Dictionary. Selain berfungsi untuk menambahkan, method ini juga berfungsi

untuk mengubah nilai dictionary apabila kunci yang dimasukkan sudah ada didalamnya.

Contoh Program :

# membuat dictionary pengguna

mahasiswa = {

"nama": "Joko Santoso"

}

# menambahkan prodi

mahasiswa.update({"prodi": "Sistem Informasi"})

print(mahasiswa)

# menambahkan Institusi

mahasiswa.update({"Institusi": "Universitas Mulawarman"})

# menambahkan Fakultas dengan cara lain

mahasiswa ["fakultas"] = "Fakultas Teknik"

# merubah Isi data

Page 131: kosong = () tuple = (1234, 4321, “Hello”)

80

mahasiswa.update({"nama": "Fajar Handoko"})

print(mahasiswa)

Hasil Luaran (Output) Program :

9.8. Mengubah Item Pada Dictionary

Dictionary bersifat mutable, artinya nilainya dapat kita ubah-ubah. Untuk mengubah

nilai Dictionary, kita bisa lakukan seperti ini:

nama_dictionary["kunci"] = "Nilai Baru"

Contoh Program :

# membuat dictionary

dasar_pemrograman = {

"utama": "Python",

"lainnya": ["PHP","Java", "HTML"]

}

# Mencetak isi bahasa utama

print("Bahasa Utama : ", dasar_pemrograman["utama"])

# mengubah isi bahasa utama

dasar_pemrograman["utama"] = "C++"

# Mencetak isi bahasa utama

print("Bahasa Utama setelah diubah : ", dasar_pemrograman["utama"])

Hasil Luaran (Output) :

9.9. Menghapus Item Pada Dictionary

Cara untuk menghapus nilai Dictionary yaitu dengan menggunakan perintah del dan

method pop(). Method pop() adalah method yang berfungsi untuk mengeluarkan item

dari dictionary sedangkan fungsi del adalah fungsi untuk menghapus suatu variabel dari memori.

Contoh menghapus dengan del:

# membuat dictionary

dasar_pemrograman = {

Page 132: kosong = () tuple = (1234, 4321, “Hello”)

81

"utama": "Python",

"lainnya": ["PHP","Java", "HTML"]

}

# Mencetak isi semua bahasa pemrograman

print("Data Lengkap : ",dasar_pemrograman)

# Menghapus item utama

del dasar_pemrograman["utama"]

print ("Data setelah utama dihapus : ",dasar_pemrograman)

Hasil Luaran (Output) Hapus del:

Contoh menghapus dengan method pop():

# membuat dictionary

dasar_pemrograman = {

"utama": "Python",

"lainnya": ["PHP","Java", "HTML"]

}

# Mencetak isi semua bahasa pemrograman

print("Data Lengkap : ",dasar_pemrograman)

# Menghapus item utama menggunakan pop

dasar_pemrograman.pop("utama")

print ("Data setelah utama dihapus : ",dasar_pemrograman)

Hasil Luaran (Output) Hapus Pop() :

atau bila ingin menghapus semua item sekaligus dapat mempergunakan method clear().

Contoh menghapus dengan method clear():

# membuat dictionary

dasar_pemrograman = {

"utama": "Python",

"lainnya": ["PHP","Java", "HTML"]

}

# Mencetak isi semua bahasa pemrograman

print("Data Lengkap : ",dasar_pemrograman)

# Menghapus item utama menggunakan clear

dasar_pemrograman.clear()

print ("Data setelah utama dihapus : ",dasar_pemrograman)

Page 133: kosong = () tuple = (1234, 4321, “Hello”)

82

Hasil Luaran (Output) clear() :

9.10. Mengambil jumlah isi Dictionary

Untuk mengambil jumlah data atau panjang Dictionary, kita bisa menggunakan fungsi len().

Contoh :

# membuat dictonary

books = {

"python": "Menguasai Python dalam 2028 jam",

"java": "Tutorial Belajar untuk Pemula",

"php": "Membuat aplikasi web dengan PHP"

}

# mencetak jumlah data yang ada di dalam dictionary

print("Jumlah buku dalam dictionary : %d" % len(books))

Hasil Luaran (Output) :

Page 134: kosong = () tuple = (1234, 4321, “Hello”)

83

BAB 10

FUNGSI DAN PROSEDUR

10.1. Pengenalan Fungsi dan Prosedur di Python

Kebutuhan spesifikasi program yang kompleks dan memiliki banyak fitur tentunya

menjadikan pembuatan suatu program menjadi lebih efektif dan efisien. Program yang dengan

permasalahan yang kompleks seharusnya menggunakan fungsi dan prosedur yang tepat, karena

jika tidak menggunakannya dalam pembuatan program akan mengalami kesulitan saat menulis

kode programnya. Koding yang banyak yang harus ditulis dan kode akan menjadi sulit dibaca dan

dirawat (maintenance). Dengan menggunakan fungsi dan prosedur, program yang besar dapat

dipecah-pecah menjadi sub program yang lebih sederhana (Muhardian, 2017a).

Fungsi adalah blok kode terorganisir dan dapat digunakan kembali yang digunakan untuk

melakukan sebuah tindakan/action. Fungsi memberikan modularitas yang lebih baik untuk aplikasi

Anda dan tingkat penggunaan kode yang tinggi. Fungsi membuat kode program menjadi reusable,

artinya hanya di definisikan sekali saja, dan kemudian bisa digunakan berulang kali dari tempat

lain di dalam program. Fungsi memecah keseluruhan program menjadi bagian – bagian yang lebih

kecil . Dengan semakin besarnya program, maka fungsi akan membuatnya menjadi lebih mudah

diorganisir dan dimanage (Belajarpython, 2020b; Pythonindo, 2020b). Masing-masing fitur pada

program dapat dibuat dalam satu fungsi. Pada saat ingin menggunakan fitur tersebut, program

tinggal memanggil fungsinya saja. Hal ini akan dijelaskan dengan contoh-contoh program yang

untuk semakin memahami teori dasar dan hal apa saja yang harus kita ketahui tentang fungsi dan

prosedur di Python.

10.2. Aturan Mendefinisikan Fungsi

Dalam menentukan fungsi untuk menyediakan fungsionalitas yang dibutuhkan oleh

program. Berikut adalah aturan sederhana untuk mendefinisikan fungsi dengan Python

(Belajarpython, 2020b) :

Fungsi blok dimulai dengan def kata kunci diikuti oleh nama fungsi dan tanda kurung (()).

Setiap parameter masukan atau argumen harus ditempatkan di dalam tanda kurung ini.

Anda juga dapat menentukan parameter di dalam tanda kurung ini.

Pernyataan pertama dari sebuah fungsi dapat berupa pernyataan opsional - string

dokumentasi fungsi atau docstring.

Page 135: kosong = () tuple = (1234, 4321, “Hello”)

84

Blok kode dalam setiap fungsi dimulai dengan titik dua (:) dan indentasi.

Pernyataan kembali [ekspresi] keluar dari sebuah fungsi, secara opsional menyampaikan

kembali ekspresi ke pemanggil. Pernyataan pengembalian tanpa argumen sama dengan

return None.

10.3. Membuat Fungsi pada Python

Membuat fungsi pada Python dengan kata kunci def kemudian diikuti dengan nama

fungsinya. Berikut adalah sintaks yang digunakan untuk membuat fungsi:

Contoh:

def nama_fungsi():

print ("ini adalah fungsi di Python")

Sama seperti blok kode yang lain, kita juga harus memberikan identasi (tab atau spasi 2x) untuk

menuliskan isi fungsi. Setelah kita buat, kita bisa memanggilnya seperti ini:

nama_fungsi()

Sebagai contoh, coba tulis kode program berikut:

# Membuat Fungsi

def salam():

print ("Selamat Datang Mahasiswa Sistem Informasi di Kampus SInergi")

# Pemanggilan Fungsi

salam()

Hasil luaran (Output):

# Pemanggilan Fungsi 3 kali

salam()

salam()

salam()

Hasil luaran (Output):

Page 136: kosong = () tuple = (1234, 4321, “Hello”)

85

10.4. Fungsi dengan Parameter

Parameter adalah variabel yang menampung nilai untuk diproses di dalam suatu fungsi.

def fungsi(parameter):

print(parameter)

Cara pemanggilan fungsi yang memiliki parameter adalah seperti ini:

salam("Selamat Siang Mahasiswa Sistem Informasi")

"Selamat Siang Mahasiswa Sistem Informasi" adalah nilai parameter yang kita berikan. Lalu

bagaimana kalau parameternya lebih dari satu. Kita bisa menggunakan tanda koma (,) untuk

memisahnya.

Contoh Program:

# Membuat fungsi dengan parameter (panjang, lebar)

def luas_persegi_panjang(panjang, lebar):

luas = panjang * lebar

print ("Luas persegi panjang : %f" % luas)

# Pemanggilan fungsi luas_persegi_panjang

luas_persegi_panjang(4, 6)

Hasil Luaran (Output) :

10.5. Fungsi Mengembalikan Nilai

Fungsi yang tidak mengembalikan nilai biasanya disebut dengan prosedur. Namun, kadang

kita butuh hasil proses dari fungsi untuk digunakan pada proses berikutnya. Maka fungsi harus

mengembalikan nilai dari hasil pemrosesannya. Cara mengembalikan nilai adalah menggunkan

kata kunci return lalu diikuti dengan nilai atau variabel yang akan dikembalikan.

Contoh Program :

#Contoh Program kembalikan hasil fungsi

def luas_persegi(sisi):

luas = sisi * sisi

return luas

Page 137: kosong = () tuple = (1234, 4321, “Hello”)

86

# pemanggilan fungsi luas persegi

print ("Luas persegi : %d" % luas_persegi(8))

Hasil Luaran (Output) :

Pada fungsi luas_persegi(), kita melakukan print pada saat pemanggilannya. Jadi,

fungsi luas_persegi() akan bernilai sesuai dengan hasil yang dikembalikan. Sehingga kita dapat

memanfaatkannya untuk pemerosesan berikutnya.

Contoh penggunaan pengembalian nilai (Return)

# rumus: sisi x sisi

def luas_persegi(sisi):

luas = sisi * sisi

return luas

# rumus: sisi x sisi x sisi

def volume_persegi(sisi):

volume = luas_persegi(sisi) * sisi

print ("Volume Persegi = ", volume)

#pemanggilan Fungsi

luas_persegi(4)

volume_persegi(6)

Hasil Luaran (Output) :

Pada program diatas dapat dilihat pada hasil luaran def luas_persegi(sisi) dapat dipergunakan

oleh def volume_persegi(sisi) menggunakan fungsi return.

Page 138: kosong = () tuple = (1234, 4321, “Hello”)

87

10.6. Variabel Global dan Lokal

Variabel Global adalah variabel yang bisa diakses dari semua fungsi, sedangkan variabel

lokal hanya bisa diakses di dalam fungsi tempat dia berada saja. Pada Python, urutan pengaksesan

variabel (scope) dikenal dengan sebutan LGB (Local, Global, dan Build-in). Jadi program python

mulai mencari vairabel lokal terlebih dahulu, kalau ada maka itu yang digunakan. Tapi kalau tidak

ada, pencarian terus ke Global, dan Build-in. Variabel Build-in adalah variabel yang sudah ada di

dalam Python.

Contoh program:

# membuat variabel global

nama = "Universitas Mulawarman"

versi = "1.0.0"

def help():

# ini variabel lokal

nama = "Fakultas Teknik"

versi = "1.0.2"

# mengakses variabel lokal

print ("Nama: %s" % nama)

print ("Versi: %s" % versi)

# mengakses variabel global

print ("Nama: %s" % nama)

print ("Versi: %s" % versi)

# memanggil fungsi help()

help()

Hasil Luaran (Output) :

Perhatikanlah variabel nama yang berada di dalam fungsi help() dan diluar fungsi `help().

Variabel nama yang berada di dalam fungsi help() adalah variabel lokal. Jadi, saat program

memanggil fungsi help() maka nilai yang akan tampil adalah nilai yang ada di dalam fungsi help().

Cara kerjanya Python mulai mencari dari lokal, ke global, dan build-in. Kalau di tiga tempat itu

tidak ditemukan, maka biasanya akan terjadi NameError atau variabel tidak ditemukan.

Page 139: kosong = () tuple = (1234, 4321, “Hello”)

88

10.7. Program Menggunakan Fungsi

Pertama kita buat sebuah variabel global berupa list untuk menampung judul-judul buku.

# Variabel global untuk menyimpan data Buku

buku = []

Tujuan pembuatan program ini akan mampu melakukan operasi CRUD (Create, Read, Update,

dan Delete) untuk melakukan manajemen pada data buku. Maka analisa sistem ini membutuhkan

fungsi-fungsi berikut:

show_data() untuk menampilkan data dari list buku;

insert_data() untuk menambahkan data ke list buku;

edit_data() untuk mengedit data di list buku;

delete_data() untuk untuk menghapus data dari list buku.

Dimulai dari fungsi show_data():

# fungsi untuk menampilkan semua data yang ada di list buku

buku =[]

def show_data():

if len(buku) <= 0:

print ("Belum Ada data")

else:

for indeks in range(len(buku)):

print ("[%d] %s" % (indeks, buku[indeks]))

Fungsi di atas akan mengecek isi dari list buku. Jika isinya kosong (len(buku) <= 0) maka

tampilkan "Belum Ada Data". Namun, apabila ada isinya, maka tampilkan semua isinya dengan

perulangan.

# fungsi untuk menambah data pada list buku

def insert_data():

buku_baru = input("Judul Buku : ")

buku.append(buku_baru)

Fungsi di atas akan mengambil input dari user kemudian diisi ke dalam list buku dengan fungsi append(). Fungsi append() adalah fungsi untuk menambahkan item di akhir list. Selain append() ada juga prepend(). Namun, untuk kasus ini, mennggunakan append().

Page 140: kosong = () tuple = (1234, 4321, “Hello”)

89

Selanjutnya membuat fungsi edit_data():

# fungsi untuk edit data

def edit_data():

show_data()

indeks = input("Inputkan ID buku: ")

if(indeks > len(buku)):

print ("ID Buku salah")

else:

judul_baru = input("Judul baru: ")

buku[indeks] = judul_baru

Fungsi di atas akan menampilkan isi dari list buku dengan memanggil fungsi show_data() di

dalamnya. Setelah itu, sistem meminta user untuk menginputkan ID atau nomer indeks buku yang

akan diubah. Lalu kita lakukan pengecekan, jika ID yang diinputkan melebihi dari isi

list buku (indeks > len(buku)), maka tampilkan pesan "ID salah". Namun, apabila tidak

melebihi dari isi buku, maka ambil input untuk judul baru dan simpan sesuai ID-nya.

Selanjutnya membuat fungsi delete_data(): # fungsi untuk menhapus data

def delete_data():

show_data()

indeks = input("Inputkan ID buku: ")

if(indeks > len(buku)):

print ("ID salah")

else:

buku.remove(buku[indeks])

Hampir sama dengan fungsi edit_data(). Fungsi delete_data() juga harus menampilkan isi

list buku dan mengambil ID yang akan dihapus.

Kita dapat menghapus item pada list dengan fungsi remove().

Fungsi selanjutnya terdapat dua fungsi lagi yang sistem ini butuhkan: Fungsi untuk menampilkan menu Fungsi untuk keluar (sudah ada di python: exit())

# fungsi untuk menampilkan menu def show_menu(): print ("\n")

Page 141: kosong = () tuple = (1234, 4321, “Hello”)

90

print ("=== Aplikasi Perpustakaan SI Unmul ===") print ("[1] Lihat Data Buku") print ("[2] Tambah Data Buku") print ("[3] Ubah Data Buku") print ("[4] Hapus Data Buku") print ("[5] Keluar") menu = input("Masukkan Pilihan Anda : ") print ("\n") if menu == "1": show_data() elif menu == "2": insert_data() elif menu == "3": edit_data() elif menu == "4": delete_data() elif menu == "5": exit() else: print ("Pilihan anda tidak tersedia..!!") Fungsi di atas akan menampilkan menu dari 1–5, lalu memanggil fungsi-fungsi yang sudah dibuat

berdasarkan menu yang dipilih. Terakhir, kita harus membuat main loop programnya.

if __name__ == "__main__":

while(True):

show_menu()

Program akan mengulang terus-menerus sampai fungsi exit() dieksekusi. if __name__ ==

"__main__": adalah blok main di Python. Sebenarnya tanpa ini, programnya sudah bisa

dijalankan. Sehingga kode lengkapnya akan seperti ini:

PROGRAM MENGGUNAKAN FUNGSI # fungsi untuk menampilkan semua data buku =[] def show_data(): if len(buku) <= 0: print ("Belum Ada data") else: for indeks in range(len(buku)): print ("[%d] %s" % (indeks, buku[indeks]))

Page 142: kosong = () tuple = (1234, 4321, “Hello”)

91

# fungsi untuk menambah data def insert_data(): buku_baru = input("Judul Buku : ") buku.append(buku_baru) # fungsi untuk ubah data def edit_data(): show_data() indeks = int(input("Inputkan ID buku: ")) if(indeks > len(buku)): print ("ID Buku salah") else: judul_baru = input("Judul baru: ") buku[indeks] = judul_baru # fungsi untuk menghapus data def delete_data(): show_data() indeks = int(input("Inputkan ID buku: ")) if(indeks > len(buku)): print ("ID salah") else: buku.remove(buku[indeks]) # fungsi untuk menampilkan menu def show_menu(): print ("\n") print ("=== Aplikasi Perpustakaan SI Unmul ===") print ("[1] Lihat Data Buku") print ("[2] Tambah Data Buku") print ("[3] Ubah Data Buku") print ("[4] Hapus Data Buku") print ("[5] Keluar") menu = input("Masukkan Pilihan Anda : ") print ("\n") if menu == "1": show_data() elif menu == "2": insert_data() elif menu == "3": edit_data() elif menu == "4": delete_data() elif menu == "5":

Page 143: kosong = () tuple = (1234, 4321, “Hello”)

92

exit() else: print ("Pilihan anda tidak tersedia..!!") if __name__ == "__main__": while(True): show_menu() Hasil Luaran (Output) :

Selamat Anda Telah Selesai menjadi programmer python Pemula.

Page 144: kosong = () tuple = (1234, 4321, “Hello”)

93

DAFTAR PUSTAKA

Abidin, R. (2016). Pengertian Algoritma Pemrograman. Retrieved September 5, 2020, from https://teknojurnal.com/pengertian-algoritma-pemrograman/

Andre. (2018a). Tutorial Belajar Python Part 1: Pengertian Bahasa Pemrograman Python. Retrieved September 6, 2020, from https://www.duniailkom.com/tutorial-belajar-python-pengertian-bahasa-pemrograman-python/

Andre. (2018b). Tutorial Belajar Python Part 13: Tipe Data Tuple dalam Bahasa Python. Retrieved September 8, 2020, from https://www.duniailkom.com/tutorial-belajar-python-tipe-data-tuple-dalam-bahasa-python/

Andre. (2019). Tutorial Belajar Python Part 15: Tipe Data Dictionary dalam Bahasa Python. Retrieved September 8, 2020, from https://www.duniailkom.com/tutorial-belajar-python-tipe-data-dictionary-dalam-bahasa-python/

Belajarpython. (2020a). Dictionary Python. Retrieved September 8, 2020, from https://belajarpython.com/tutorial/dictionary-python

Belajarpython. (2020b). Fungsi Python. Retrieved September 8, 2020, from https://belajarpython.com/tutorial/fungsi-python

Belajarpython. (2020c). List Python. Retrieved September 8, 2020, from https://belajarpython.com/tutorial/list-python

Belajarpython. (2020d). Tuple Python. Retrieved September 8, 2020, from https://belajarpython.com/tutorial/tuple-python

Codeva. (2020). Pengertian Algoritma, Struktur dan Ciri-Ciri Pemrograman. Retrieved September 5, 2020, from https://codeva.co.id/pengertian-algoritma/

Duniailkom.com. (2020). Tutorial Belajar Bahasa Pemrograman Python Untuk Pemula. Retrieved August 27, 2020, from https://www.duniailkom.com/tutorial-belajar-bahasa-pemrograman-python-untuk-pemula/

Eril. (2019). Pengertian Apa itu Algoritma Pemrograman dan Contohnya. Retrieved September 5, 2020, from https://qwords.com/blog/apa-itu-algoritma-pemrograman/

GeeksforGeeks. (2020). Python Programming Language. Retrieved August 17, 2020, from https://www.geeksforgeeks.org/python-programming-language/

Jubilee Enterprise. (2019). Python untuk Programmer Pemula. Jakarta: Elex Media Komputindo. Jogjaweb. (2020). Sejarah Python. Retrieved September 6, 2020, from

https://jogjaweb.co.id/blog/sejarah-python Kadir, A. (2019). Logika Pemprograman Python. Jakarta: Elex Media Komputindo. Kadir, A. (2018). Dasar Pemrograman Python 3 : Panduan untuk Mempelajari Python dengan

Cepat dan Mudah Bagi Pemula. Yogyakarta: Penerbit Andi. Maxmanroe. (2020). Pengertian Algoritma: Ciri-Ciri, Fungsi, Jenis-Jenis, dan Contoh Algoritma.

Retrieved September 5, 2020, from https://www.maxmanroe.com/vid/teknologi/pengertian-algoritma.html

Muhardian, A. (2017a). Belajar Python: Memahami Fungsi dan Prosedur pada Python. Retrieved September 8, 2020, from https://www.petanikode.com/python-fungsi/

Muhardian, A. (2017b). Belajar Python: Mengenal Struktur Data List. Retrieved September 8, 2020, from https://www.petanikode.com/python-list/

Muhardian, A. (2018a). 7 Hal Dasar yang Harus diketahui Tentang Dictionary pada Python. Retrieved September 8, 2020, from https://www.petanikode.com/python-dictionary/

Muhardian, A. (2018b). Belajar Python: Apa itu Tuple dalam Python? Retrieved September 8,

Page 145: kosong = () tuple = (1234, 4321, “Hello”)

94

2020, from https://www.petanikode.com/python-tuple/ Muhardian, A. (2018c). Tutorial Dasar Python untuk Pemula. Retrieved August 17, 2020, from

https://www.petanikode.com/tutorial/python/ Petani Kode. (2020). Tutorial Dasar Python untuk Pemula. Retrieved August 17, 2020, from

https://www.petanikode.com/tutorial/python/ Pythonindo. (2020a). Dictionary. Retrieved September 8, 2020, from

https://www.pythonindo.com/dictionary/ Pythonindo. (2020b). Fungsi. Retrieved September 8, 2020, from

https://www.pythonindo.com/fungsi/ Supardi, Y. (2017). Semua Bisa Menjadi Programmer Python Basic. Jakarta: Elex Media

Komputindo. Thomas, H., Cormen, E.Leiserson, C., Ronald, L., & Rivest. (2003). Introduction to Algorithms.

McGraw-Hill. W3schools. (2020). Python Tutorial. Retrieved August 17, 2020, from

https://www.w3schools.com/python/

Page 146: kosong = () tuple = (1234, 4321, “Hello”)

MODUL PRAKTIKUM

DASAR-DASAR PEMPROGRAMAN

Disusun Oleh :

Putut Pamilih Widagdo, S.Kom., M.Kom

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNIK

UNIVERSITAS MULAWARMAN

2020

Page 147: kosong = () tuple = (1234, 4321, “Hello”)

DAFTAR ISI

DAFTAR ISI ................................................................................................................................... ii

DAFTAR GAMBAR ...................................................................................................................... v

DAFTAR TABEL .......................................................................................................................... vi

MODUL 1 PENGENALAN ALGORTIMA ................................................................................. 7

1.1. Tujuan Pembelajaran ........................................................................................................ 7

1.2. Dasar Teori ....................................................................................................................... 7

1.3. Percobaan ......................................................................................................................... 9

MODUL 2 FLOWCHART DAN PSEUDOCODE .................................................................... 10

2.1. Tujuan Pembelajaran ...................................................................................................... 10

2.2. Dasar Teori ..................................................................................................................... 10

2.3. Flowchart ........................................................................................................................ 10

2.4. Pseudocode ..................................................................................................................... 11

2.5. Pemprograman Visual dan Console ............................................................................... 14

2.6. Percobaan Tugas Mahasiswa ......................................................................................... 15

MODUL 3 PENGENALAN BAHASA PEMPROGRAMAN PYTHON................................... 16

3.1. Tujuan Pembelajaran ...................................................................................................... 16

3.2. Teori Dasar Python......................................................................................................... 16

3.3. Pengenalan Python ......................................................................................................... 17

3.4. Mengapa Python ............................................................................................................. 17

3.5. Kelebihan dan Kekurangan Python ................................................................................ 18

3.6. Proses Instalasi Python ................................................................................................... 19

3.7. Cara Menjalankan Python .............................................................................................. 22

3.8. Perbandingan Penulisan Code ........................................................................................ 23

3.9. Cara Kerja Python Interpreter dan Compiler ................................................................. 23

MODUL 4 STRUKTUR DATA PEMPROGRAMAN PYTHON .............................................. 25

4.1. Pokok Pembahasan ......................................................................................................... 25

4.2. Tujuan Pembelajaran ...................................................................................................... 25

4.3. Dasar Teori ..................................................................................................................... 25

4.4. Tipe Data ........................................................................................................................ 25

4.5. Variabel .......................................................................................................................... 29

4.6. Operator .......................................................................................................................... 30

Page 148: kosong = () tuple = (1234, 4321, “Hello”)

iii

4.7. Model Penulisan Program .............................................................................................. 31

4.8. Percobaan ....................................................................................................................... 35

MODUL 5 PERCABANGAN ..................................................................................................... 36

5.1. Struktur Percabangan (IF) .............................................................................................. 36

5.2. Struktur Percabangan If/Else ......................................................................................... 38

5.3. Struktur Percabangan IF / ELIF / ELSE ........................................................................ 40

MODUL 6 PERULANGAN ........................................................................................................ 42

4.1. Perulangan For ............................................................................................................... 42

4.2. Perulangan while ........................................................................................................... 43

MODUL 7 LIST DAN TUPLE ................................................................................................... 45

7.1. Definisi List .................................................................................................................... 45

7.2. Cara Membuat List di Python ........................................................................................ 46

7.3. Cara Pemanggilan List ................................................................................................... 46

7.4. Program Menggunakan List ........................................................................................... 47

7.5. List Multidimensi .......................................................................................................... 50

7.6. Latihan Membuat Program List .................................................................................... 52

7.7. Definisi Tuple ................................................................................................................ 52

7.8. Cara Membuat Tuple di Python ..................................................................................... 53

7.9. Membuat Tuple Kosong ................................................................................................. 53

7.10. Mengakses Nilai Tuple ............................................................................................... 54

7.11. Memotong Tuple ........................................................................................................ 54

7.12. Mengambil Panjang Tuple ......................................................................................... 54

7.13. Tuple Nested .............................................................................................................. 55

7.14. Sequence Unpacking .................................................................................................. 55

MODUL 8 DICTIONARY .......................................................................................................... 57

8.1. Definisi Dictionary ......................................................................................................... 57

8.2. Deklarasi Dictionary ...................................................................................................... 57

8.3. Membuat Dictionary ...................................................................................................... 58

8.4. Mengakses Item Pada Dictionary ................................................................................... 59

8.5. Menambahkan Item Pada Dictionary ............................................................................. 61

8.6. Mengubah Item Pada Dictionary.................................................................................... 62

8.7. Menghapus Item Pada Dictionary .................................................................................. 62

Page 149: kosong = () tuple = (1234, 4321, “Hello”)

8.8. Mengambil Panjang Dictionary ..................................................................................... 63

MODUL 9 FUNGSI DAN PROSEDUR ..................................................................................... 64

9.1. Cara Membuat Fungsi pada Python ............................................................................... 64

9.2. Fungsi dengan Parameter ............................................................................................... 65

9.3. Fungsi Mengembalikan Nilai ......................................................................................... 65

9.4. Variabel Global dan Lokal ............................................................................................ 66

9.5. Program Menggunakan Fungsi ...................................................................................... 67

DAFTAR PUSTAKA ................................................................................................................... 72

Page 150: kosong = () tuple = (1234, 4321, “Hello”)

v

DAFTAR GAMBAR

Gambar 1.1. Proses Dalam Pembuatan Program .................................................................................. 9

Page 151: kosong = () tuple = (1234, 4321, “Hello”)

DAFTAR TABEL

Tabel 4.1. Operator Aritmatika .................................................................................................... 30

Tabel 4.2. Operator Perbandingan ............................................................................................... 31

Tabel 4.3. Operator Penugasan .................................................................................................... 31

Page 152: kosong = () tuple = (1234, 4321, “Hello”)

7

MODUL 1

PENGENALAN ALGORTIMA

1.1. Tujuan Pembelajaran

a. Mampu memahami suatu masalah dan mampu mencari solusi pemecahannya dan

mampu menuangkan langkah-langkah pemecahan masalah tersebut dalam bentuk

algoritma

b. Mampu manganalisa masalah dan menerjemahkannya dalam bentuk algoritma

deskriptif

1.2. Dasar Teori

Algoritma adalah urutan langkah langkah logis yang menyatakan suatu tugas dalam

menyelesaikan suatu masalah yang disusun secara sistematis atau bisa juga diartikan dengan

urutan aksi-aksi yang jelas dan tidak rancu untuk menyelesaikan suatu masalah.

a. Ciri Algoritma

Ciri-ciri Algoritma :

1. Algoritma harus memiliki paling tidak satu keluaran

2. Masukan algoritma dapat nol (tidak ada) atau banyak masukan

3. Setelah selesai mengerjakan langkah-langkah penyelesaian masalah, algoritma

harus berhenti

4. Setiap langkah yang dibuat harus sederhana dan efektif

5. Setiap langkah dalam algoritma harus didefinisikan dengan tepat dan jelas.

b. Notasi Algoritma

Algoritma dalam penulisannya memiliki aturan penulisan sendiri yang disebut dengan

Notasi Algoritma.

Jenis-jenis Notasi Algoritma

a. Algoritma Deskriptif, yaitu langkah-langkah algoritma dengan rangkaian kalimat

deskriptif.

Contoh :

Mencari bilangan terbesar dari tiga buah bilangan yang di inputkan

Jawab!

Page 153: kosong = () tuple = (1234, 4321, “Hello”)

Kalimat deskriptif :

1. Masukkan sembarang bilangan sebanyak tiga buah

2. Ambil bilangan pertama dan set maksimum-nya sama dengan bilangan

pertama.

3. Ambil bilangan kedua dan bandingkan dengan maksimum

4. Jika bilangan kedua lebih besar dari maksimum maka ubah maksimum-

nya menjadi sama dengan bilangan kedua

5. Ambil bilangan ketiga dan bandingkan denganmaksimum

6. Jika bilangan ketiga lebih besar dari maksimum maka ubah maksimum-

nya menjadi sama dengan bilangan ketiga

7. Variable maksimum akan berisi bilangan yang terbesar dan tampilkan

hasilnya.

Algoritma deskriptif yang ditulis lebih sistematis adalah sebagai berikut : 1. Masukkan a,b,c

2. a Maks

3. Jika b > maks, kerjakan langkah ke-4. Jika tidak kerjakan langkah ke-5

4. b Maks

5. Jika c > maks, kerjakan langkah ke-6. Jika tidak kerjakan langkah ke-7

6. c Maks

7. Tulis Maks

b. Bagan alir (flowchart) yaitu algoritma menggunakan bagan alir dengan

memanfaatkan bentuk bentuk geometri.

Contoh Flowchart secara umum :

Page 154: kosong = () tuple = (1234, 4321, “Hello”)

9

Gambar 1.1. Proses Dalam Pembuatan Program

1.3. Percobaan

Berikut ini terdapat beberapa persoalan, Pergunakanlah notasi algoritma deskriptif untuk

menyelesaikannya dalam bentuk algoritma untuk pembuatan program:

1. Menjumlahkan 2 buah bilangan dan mencetak hasilnya

2. Memberikan pilihan untuk menghitung luas segitiga dan luas lingkaran

3. Menghitung rata-rata dari 3 buah data yang dimasukkan

4. Menentukan apakah umur yang di masukkan termasuk telah tua tau masih muda, dengan

aturan jika lebih kecil dari 45 masih muda dan jika umur lebih besar dari 45 sudah tua

5. Mencari Faktor Persekutuan Terbesar (FPB) dari dua buah bilangan yang dimasukkan.

Page 155: kosong = () tuple = (1234, 4321, “Hello”)

MODUL 2

FLOWCHART DAN PSEUDOCODE

2.1. Tujuan Pembelajaran

a. Mengenal dan memahami pemakaian simbol-simbol pada flowchart dan

pseudocode

b. Mampu membuat flowchart dan pseudocode untuk memecahkan masalah

c. Mampu menganalisa masalah dan menerjemahkannya kedalam bentuk flowchart

dan pseudocode

d. Mampu manganalisa masalah dan menerjemahkannya dalam bentuk flowchart dan

psuedocode

2.2. Dasar Teori

Langkah yang umumnya dilakukan dalam proses pembuatan suatu program atau

software adalah Mendefinisikan masalah dan menganalisanya. Dalam mendefinisikan

masalah dan menganalisanya ini antara lain apa masukan dari permasalahan, keluaran dari

permasalahan, proses dari masukan agar menjadi keluaran sebagai solusi permasalahan.

Ketika pemrogram berfikir tentang proses, maka pemrogram akan berfikir parameter-

parameter apa yang digunakan, kemudian menentukan metode atau algoritma apa yang akan

diterapkan untuk menyelesaikan masalah tersebut dan terakhir menentukan bahasa program

yang digunakan untuk membuat program.

2.3. Flowchart

Flow chart (diagram alir) adalah penggambaran secara grafik dari langkah- langkah

pemecahan masalah yang harus diikuti oleh pemroses. Flow chart terdiri atas sekumpulan

simbol, dimana masing-masing simbol menggambarkan suatu kegiatan tertentu. Flow chart

diawali dengan penerimaan masukan (input), pemrosesan masukan, dan diakhiri dengan

menampilkan hasilnya (output).

Page 156: kosong = () tuple = (1234, 4321, “Hello”)

11

Adapun symbol-simbol flowchart :

Gambar 2.1. Simbol-simbol Flowchart

2.4. Pseudocode

Pseudo berarti imitasi atau mirip atau menyerupai. Code menunjukkan kode dari program.

seudocode adalah kode yang mirip dengan instruksi kode program yang sebenarnya.

Pseudocode berbasis pada bahasa pemrograman yang sesungguhnya seperti bahasa C, C++,

Python, Pascal , sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan

dikomunikasikan kepada Programmer.

a. Gaya Penulisan Pseudocode

Kata kunci (keywords) dan kata cadangan (reserved words) ditulis dengan huruf

tebal atau kapital atau digaris bawahi dan kata-kata yang lainnya ditulis dengan

huruf kecil.

Kata kunci (if,then,else,repeat,until,for,do,while)yang membentuk struktur

ditulis dengan menggunakkan huruf capital dan kata-kata yang tercantum di

dalam kamus data ditulis dengan digaris bawah.

Page 157: kosong = () tuple = (1234, 4321, “Hello”)

b. Pengenalan Struktur Dasar Pseudocode

Struktur urut (sequence structure)

Struktur ini terdiri dari sebuah instruksi atau blok dari instruksi yang tidak

mempunyai perulangan atau keputusan di dalamnya. Struktur ini disebut juga

struktur urut sederhana (simple sequence structure). Struktur ini semata-mata hanya

berisi langkah-langkah yang berurut saja. Pseudocode juga menunjukkan proses

membuka atau menutup file, meninisialisasi nilai awal dan lain sebagainya.

Contoh:

Baca data jam_kerja

Hitung gaji = jam_kerja*tarif

Tampilkan gaji di monitor Atau Read jam_kerja

Let gaji = jam_kerja*tarif

Print gaji

Struktur keputusan (decision structure)

Decision structure terdiri atas :

1. IF IF Kondisi

Tindakan

2. IF - ELSE

If kondisi

else

tindakan

3. IF – ELIF - ELSE If kondisi Then

tindakan-1

elif

tindakan 2

else

tindakan-3

Page 158: kosong = () tuple = (1234, 4321, “Hello”)

13

4. Case Select kasus

Case (nilai-1) Perform tindakan-1

Case (nilai-2) Perform tindakan-2

Case (nilai-3) Perform tindakan-3

……

Default Case Perform tindakan-n

Endselect

b. Struktur iterasi (iteration structure)

Iteration structure (struktur iterasi), ata loop structure (struktur perulangan),

atau Repetition Structure (struktur repetisi) diterapkan pada situasi suatu

instruksi atau group dari instruksi yang diproses berulangkali sampai kondisi

yangdiinginkan sudah dipenuhi.

Struktur ini terdiri atas:

1. Do

Do indeks = awal To akhir

Perform tindakan

End Do

2. Repeat

Repeat

Perform tindakan Until kondisi

3. Do - While

While kondisi Do

Perform tindakan

End While

Contoh Soal

Buatlah flowchart dan pseudocode untuk menentukan apakah suatu bilangan merupakan bilangan

genap atau ganjil

Page 159: kosong = () tuple = (1234, 4321, “Hello”)

Flowchart

Gambar 2.2. Flowchart untuk Menentukan Bilangan Genap atau Ganjil

Pseudocode

Read bilangan

If bil mod 2= 0

Then,

Write “genap”

Else

Write “ganjil”

Endif

Penulisan Pseudocode sebaiknya juga mengikuti struktur penulisan bahasa pemrograman

yang akan dipergunakan dalam membuat program agar programmer tidak mengalami kesulitan

untuk memahami dan menerapkannya dalam bahasa pemrograman yang ditentukan.

2.5. Pemprograman Visual dan Console

Gambar 2.3. Tampilan Console (Kiri) dan Visual (kanan)

Page 160: kosong = () tuple = (1234, 4321, “Hello”)

15

Gambar 2.3 memperlihatkan tampilan IDLE (Integrated Development and Learning

Environment) yaitu Python sebagai lingkungan belajar berisi tampilan GUI yang menarik, bekerja

pada OS (Windows, Linux dan Mac OS X), interaktif interpreter (penterjemah) berupa kode

input/output dan error messages, multi windows, multiple file (grep) berupa search within any

windows, fiture debugger (pencari kesalahan), konfigurasi/browsers dan dialog.

2.6. Percobaan Tugas Mahasiswa

Buatlah flowchart dan pseudocode dibawah ini :

a. Menjumlahkan 4 buah bilangan dan mencetak hasilnya

b. Memberikan pilihan untuk menghitung luas segitiga dan luas lingkaran

c. Menentukan apakah umur yang dimasukkan termasuk telah tua atau masih muda,

dengan aturan jika umur lebih kecil dari 45 tahun masih muda dan jika umur lebih

besar dari 45 tahun sudah tua.

Page 161: kosong = () tuple = (1234, 4321, “Hello”)

MODUL 3

PENGENALAN BAHASA PEMPROGRAMAN PYTHON

3.1. Tujuan Pembelajaran

1. Mahasiswa dapat memahami sejarah perkembangan bahasa pemrograman Python.

2. Mahasiswa dapat mengetahui fitur-fitur penting yang terdapat pada Python.

3. Mahasiswa dapat mengetahui kelebihan dan kekurangan bahasa Python.

4. Mahasiswa dapat melakukan proses instalasi bahasa Python.

5. Mahasiswa mengerti konsep dan struktur bahasa pemrograman Python.

6. Mahasiswa mengerti konsep variabel, tipe data, dan operator pada Python.

7. Mahasiswa dapat membuat program sederhana menggunakan bahasa pemrograman

Python.

3.2. Teori Dasar Python

Gambar 3.1. Logo Python

Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai

kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.

Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi

terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah

ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen

PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan

beberapa anggota tim PythonLabs pindah ke DigitalCreations.

Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir

Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi

non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan

dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python

sudah mencapai versi 2.6.1 dan versi 3.0.

Page 162: kosong = () tuple = (1234, 4321, “Hello”)

17

Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan guido pada

acara televisi Monty Python’s Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan khas

dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python.

3.3. Pengenalan Python

Python merupakan bahasa pemrograman dinamis yang mendukung pemrograman berbasis

objek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan

dapat berjalan di berbagai platform sistem operasi. Saat ini skrip python dapat dijalankan pada

sistem berbasis : Windows, Linux / Unix, Mac OS X, OS/2, Amiga. Python didistribusikan dengan

beberapa lisensi yang berbeda dari beberapa versi. Lisensi Python tidak bertentangan baik menurut

definisi Open Source maupun General Public License (GPL). Interpreter Python dapat diperoleh

diwebsite resminya di http://www.python.org

Python merupakan bahasa pemrograman tingkat tinggi yang diracik oleh Guido van Rossum.

Python banyak digunakan untuk membuat berbagai macam program, seperti: program

CLI, Program GUI (desktop), Aplikasi Mobile, Web, IoT, Game, Program untuk Hacking, dsb.

Python juga dikenal dengan bahasa pemrograman yang mudah dipelajari, karena struktur

sintaknya rapi dan mudah dipahami.

3.4. Mengapa Python

Sisi utama yang membedakan Python dengan bahasa lain adalah dalam hal aturan penulisan

kode program. Bagi para programmer di luar python siap-siap dibingungkan dengan aturan

indentasi, tipe data, tuple, dan dictionary. Python memiliki kelebihan tersendiri dibandingkan

dengan bahasa lain terutama dalam hal penanganan modul, ini yang membuat beberapa

programmer menyukai python. Selain itu python merupakan salah satu produk yang opensource,

free, dan multiplatform.

Beberapa fitur yang dimiliki Python adalah :

memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modulmodul

siap pakai untuk berbagai keperluan.

memiliki tata bahasa yang jernih dan mudah dipelajari.

memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan

kembali dan penulisan ulang kode sumber. berorientasi obyek.

Page 163: kosong = () tuple = (1234, 4321, “Hello”)

memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)

modular, mudah dikembangkan dengan menciptakan modul-modul baru; modulmodul

tersebut dapat dibangun dengan bahasa Python maupun C/C++.

memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa

pemrograman Java, python memiliki fasilitas pengaturan penggunaan ingatan

komputer sehingga para pemrogram tidak perlu melakukan pengaturan ingatan

komputer secara langsung.

3.5. Kelebihan dan Kekurangan Python

a. kelebihan bahasa Python antara lain :

Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan

pada masa pembuatan system aplikasi meningkat.

Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible.

Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari

pencatatan kode.

Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi

menggunakan tipe objek yang telah ada

Pemrograman berorientasi objek

Pelekatan dan perluasan dalam C

Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar

secara modular

Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang

kecil

Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa

menghentikannya

Model objek universal kelas Satu

Konstruksi pada saat aplikasi berjalan

Interaktif, dinamis dan alamiah

Akses hingga informasi interpreter

Portabilitas secara luas seperti pemrograman antar platform tanpa ports

Page 164: kosong = () tuple = (1234, 4321, “Hello”)

19

Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan

melindungi kode sumber

Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI,

persistence, database, dll

b. Beberapa kekurangan bahasa Python antara lain :

Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman

dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa

pemrograman kompilasi seperti bahasa C.

Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu

terbaik untuk pengantar komponen performa kritis.

Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk

beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip

antarmuka untuk mereka.

Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya

secara menyeluruh.

Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan

perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman

lainnya.

3.6. Proses Instalasi Python

Proses instalasi python pada Windows dapat dilakukan langkah-langkah sebagai berikut :

1. Pilih software Python yang diinginkan, contoh memakai di modul ini menggunakan

python versi 3.7 yang dapat di download pada alamat situs berikut

https://www.python.org/ftp/python/3.7.4/python-3.7.4.exe. (Boleh menggunakan versi

yang lebih tinggi dan sesuaikan dengan komputer)

Page 165: kosong = () tuple = (1234, 4321, “Hello”)

Gambar 3.2. Windows Installer Package

2. Klik software python running program kemudian lakukan peng-instalan pada computer

dan ikuti langkah selanjutnya :

Gambar 3.3. Jendela Instalasi Python

3. Pilih direktori tujuan untuk tempat menyimpan program python, lalu klik tombol next.

Jika kita klik tombol Disk Usage maka muncul form yang berisi informasi berapa besar

kapasitas disk yang dibutuhkan/digunakan untuk menginstal python(sekitar 49 MB) :

Page 166: kosong = () tuple = (1234, 4321, “Hello”)

21

Gambar 3.4. Jendela Customize Python

4. Jika kita klik tombol advanced, pilih compile .py ke byte code setelah instalasi, jika

tidak memilih juga tidak apa-apa. Tunggu beberapa menit selama proses instalasi

berlangsung dan tekan finish, ikuti petunjuk selanjutnya :

Gambar 3.5. Jendela Proses Instalasi

Page 167: kosong = () tuple = (1234, 4321, “Hello”)

Gambar 3.6. Jendela Instalasi Python selesai dikerjakan

5. Selesai instalasi, komputer Anda telah ada Python, khususnya versi 3.7 pada

folder \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python

3.7. Anda juga bisa mendownload langsung package ANACONDA lalu

pergunakan IDE SPYDER untuk Python bagi beberapa komputer Package

ANACONDA termasuk berat sehingga direkomendasikan IDLE untuk spek

komputer dengan ram dan processor yang rendah.

3.7. Cara Menjalankan Python

Klik tombol start Program Python26 IDLE (Python GUI), IDLE(GUI-Integrated Development

Environment) dengan tampilan sebagai berikut :

Gambar 3.7. Tampilan Awal Python

Pada window diatas,,didalam prompt (>>>), tuliskan : print instalasi python selesai. Kemudian

interpreter merespon dengan menampilkan pada layar :

print("Instalasi Python telah Selesai.. Siap Ngoding")

Outputnya adalah sebagai berikut :

Page 168: kosong = () tuple = (1234, 4321, “Hello”)

23

Gambar 3.8. Contoh menjalankan perintah sederhana pada python

3.8. Perbandingan Penulisan Code

Gambar 3.9. Deklarasi Output Python yang sederhana

3.9. Cara Kerja Python Interpreter dan Compiler

Penterjemah bahasa python menggunakan interpreter (satu per-satu pernyataan), berbeda

dengan penterjemah compiler yang menterjemahkan kode program sekaligus (blok pernyataan).

Interpreter: Interpreter tidak menghasilkan bentuk object code, tetapi hasil translasinya hanya

dalam bentuk internal, dimana program induk harus selalu ada-berbeda dengan compiler.

Gambar 3.10. Skema Proses Interpreter

Page 169: kosong = () tuple = (1234, 4321, “Hello”)

Compiler : Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa

assembly. Source code dan data diproses secara berbeda.

Gambar 3.11. Skema Proses Compiler

Page 170: kosong = () tuple = (1234, 4321, “Hello”)

25

MODUL 4

STRUKTUR DATA PEMPROGRAMAN PYTHON

4.1. Pokok Pembahasan

1. Operator Aritmatika

2. Operator Perbandingan

3. Operator Logika

4. Operator Penugasan

5. Operator Bitwise

4.2. Tujuan Pembelajaran

1. Mahasiswa mengetahui macam-macam operator serta fungsi dan penggunaannya

2. Mahasiswa dapat menerapkan fungsi operator dalam pemrograman

4.3. Dasar Teori

Operator adalah symbol-simbol khusus yang digunakan untuk mengoperasikan

suatu nilai data (Operand). Operand adalah data-data yang akan dioperasikan oleh

operator , ada 2 macam operator, yaitu Operator Unary dan Operator Binary. Operator

Unary adalah operator yang operasinya hanya memerlukan satu buah operand, Misalnya

: a++. Sedangkan Operator Binary adalah operator yang operasinya lebih dari satu

operand Misalnya : a+b.

4.4. Tipe Data

Nilai (value) adalah hal yang paling mendasar seperti sebuah huruf, karakter khusus, atau

sebuah angka yang akan dimanipulasi oleh program.

Gambar 4.1. Sistematis Pemecahan Masalah

Page 171: kosong = () tuple = (1234, 4321, “Hello”)

Beberapa tipe data pada python, diantaranya :

1. Number

Tipe data Number merepresentasikan nilai-nilai berupa angka. Python menggolongkan

beberapa tipe data umum seperti, Integer (bilangan bulat) dan Floating-point (bilangan

desimal) ke dalam tipe data Number.

Contoh :

print (100 + 200)

Output : 300

print (5.21 + 6.234)

Output : 11.443999999999999

Operator penugasan ( = ) digunakan untuk memasukkan nilai kedalam variabel. Tidak ada

hasil yang akan muncul sampai statemen selanjutnya.

tambah = 100 + 50

print (tambah)

Output : 150

kali = 100 * 50

print (kali)

Output : 5000

bagi = 50 / 5

print (bagi)

Output : 5000

Nilai dapat di masukkan kedalam beberapa variabel secara simultan.

a = b = c = 20

print (a)

print (b)

print (c)

Tipe data angka dibagi menjadi beberapa jenis lagi:

1. int (Integer): bilangan bulat, contoh 32, 22, 12, 10, dsb.

Page 172: kosong = () tuple = (1234, 4321, “Hello”)

27

2. float: bilangan pecahan, contoh 1.3, 4.2, 22.3, dsb.

Contoh:

harga = 15000 #tipe int

berat = 28.12 #float

jarak = 3e3 #float 3000.0, huruf e artinya eksponen 10

2. String

Selain angka, python juga mampu melakukan manipulasi string, yang dapat di ekspresikan

dengan beberapa cara. Penulisan nilai string pada python menggunakan tanda petik satu (

' ) atau tanda petik dua ( “ ). Contohnya :

print ("Selamat Datang di Python")

print ('Selamat Datang di Python')

String literal juga dapat menggabungkan beberapa baris dalam berbagai cara. Dengan

menggunakan operator ( \n) di akhir kalimat untuk menyambung kalimat selanjutnya

yang berada di baris selanjutnya.

kalimat1 = “Saat ini saya belajar Python \n”

kalimat2 = “belajar Python Menyenangkan \n”

print (kalimat1)

print (kalimat2)

Penulisan string untuk multiple line juga dapat dilakukan dengan menggunakan tanda petik

dua atau satu sebanyak 3 kali, ( “ “ “ atau ' ' ' ).

print ('''Selamat

Datang

di Python''')

Untuk menggabungkan dua buah string atau lebih dapat dilakukan dengan dua cara.

Pertama, dengan menulis langsung dua buah string yang diapit dengan tanda kutip atau

dengan penggunaan operator tambah (+).

print ('Selamat Datang' 'di Program Python Dasar')

Output : Selamat Datangdi Program Python Dasar

Page 173: kosong = () tuple = (1234, 4321, “Hello”)

print ('Selamat Datang'+'di Program Python Lanjut')

Output : Selamat Datang di Program Python Lanjut

Sebuah string, setiap karakternya dapat di index, seperti pengindexan pada bahasa C.

Karakter pertama pada sebuah string berindex 0, karakter ke-dua berindex 1 dan

seterusnya.

kalimat = “Belajar Pemrograman Python Universitas Mulawarman”

print(kalimat[0])

Output : B

print(kalimat[5])

Output : a

print(kalimat[0:5])

Output : Belaj

print(kalimat[9:18])

Output : emrograma

print(kalimat[:9])

Output : Belajar P

print(kalimat[4:])

Output : jar Pemrograman Python Universitas Mulawarman

3. Boolean

Tipe data boolean adalah tipe data yang hanya memiliki dua nilai

yaitu True dan False atau 0 dan 1. Penulisan True dan False, huruf pertamnya harus

kapital dan tanpa tanda petik.

Contoh:

bergerak = True

nyala = 1 #sebenarnya tipenya int, tapi bisa juga menjadi bool

4. Fungsi untuk mengubah tipe data

1. int() untuk mengubah menjadi integer;

2. long() untuk mengubah menjadi integer panjang;

Page 174: kosong = () tuple = (1234, 4321, “Hello”)

29

3. float() untuk mengubah menjadi float;

4. bool() untuk mengubah menjadi boolean;

5. chr() untuk mengubah menjadi karakter;

6. str() untuk mengubah menjadi string.

7. bin() untuk mengubah menjadi bilangan Biner.

8. hex() untuk mengubah menjadi bilangan Heksadesimal.

9. oct() untuk mengubah menjadi bilangan okta.

4.5. Variabel

Variabel merupakan simbol yang mewakili nilai tertentu. Pembuatan variabel dalam

python sangat sederhana. Berikut adalah ketentuan mengenai variabel dalam pyton,

Variabel tidak perlu dideklarasikan mempunyai tipe data tertentu

Jenis data dalam variabel dapat berubah-ubah

Penulisan variabel harus diawali dengan huruf, dan untuk karakter selanjutnya bisa

berupa huruf atau angka

Penulisan variabel tidak boleh dipisah oleh <spasi>

Untuk variabel terdiri dari 2 suku kata, dapat dipisah dengan simbol underscore ( _ )

Aturan Penulisan Variabel

1 Nama variabel boleh diawali menggunakan huruf atau garis bawah (_),

contoh: nama, _nama, namaKu, nama_variabel.

2 Karakter selanjutnya dapat berupa huruf, garis bawah (_) atau angka,

contoh: __nama, n2, nilai1.

3 Karakter pada nama variabel bersifat sensitif (case-sensitif). Artinya huruf besar dan

kecil dibedakan. Misalnya, variabel_Ku dan variabel_ku, keduanya adalah variabel yang

berbeda.

4 Nama variabel tidak boleh menggunakan kata kunci yang sudah ada dalam python

seperti if, while, for, dsb

Page 175: kosong = () tuple = (1234, 4321, “Hello”)

Statemen yang tidak boleh dijadikan nama variabel :

and continue else for import not raise

assert def except from in or return

break del exec global is pass try

class elif finally if lambda print while

Menghapus Variabel

Ketika sebuah variabel tidak dibutuhkan lagi, maka kita bisa menghapusnya dengan fungsi del().

kata = "Belajar Coding Python Unmul"

print kata

#output Belajar Coding Python Unmul

del(kata)

print kata

#Error karena variabel kata telah dihapus

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

NameError: name 'kata' is not defined

Pada perintah terakhir, kita akan mandapatkan NameError. Artinya variabel tidak ada di dalam

memori alias sudah dihapus.

4.6. Operator

Operator dalam Python dibagi menjadi 3 bagian, yaitu : operator aritmatika : +, - , *, /, % operator perbandingan : >= , <= , != , > , < , == operator penugasan : *= , /= , %= , +=, -=

1. Operator Aritmatika

Tabel 4.1. Operator Aritmatika

Operator Deskripsi Contoh Hasil

* Perkalian 7 * 3 21

/ Pembagian 7 / 3 2

% Modulus 7 % 3 1

+ Penjumlahan 7 + 3 10

- Pengurangan 7 - 3 4

Page 176: kosong = () tuple = (1234, 4321, “Hello”)

31

2. Operator Perbandingan

Tabel 4.2. Operator Perbandingan

Operator Deskripsi Contoh Hasil

>= Lebih besar atau sama dengan 7 >= 9 FALSE

<= Lebih kecil atau sama dengan 3 <= 8 TRUE

!= Tidak sama dengan 1 != 10 TRUE

< Lebih kecil 14 < 6 FALSE

> Lebih besar 5 > 3 TRUE

== Sama dengan 4 == 4 TRUE

3. Operator Penugasan

Tabel 4.3. Operator Penugasan

Operator Contoh Sama dengan

*= x *= 100 x = x * 100

/= x /= 100 x = x / 100

%= x %= 100 x = x % 100

+= x += 100 x = x + 100

-= x -= 100 x = x – 100

4.7. Model Penulisan Program

a. Contoh Program Sederhana Menggunakan Python

Modus penulisan kode python dapat dilakukan dengan dua cara, yaitu

1. Menggunakan mode interaktif

2. Menggunakan Skrip.

Page 177: kosong = () tuple = (1234, 4321, “Hello”)

1. Mode Interaktif

Menggunakan mode interaktif berarti kita bekerja menggunakan Prompt interpreter dari

python. Penulisan kode python dilakukan per-statemen, contohnya,

Gambar 4.2. Mode Interaktif

Statemen “Selamat Belajar Dasar-Dasar Pemrograman” adalah hasil eksekusi dari perintah

“print “Selamat Belajar Dasar-Dasar Pemrograman”“. Dengan menggunakan prompt

interpreter python, kita dapat melakukan uji coba setiap statemen- statemen atau fungsi-

fungsi yang ada pada Python.

2. Mode Skrip

Menggunakan skrip berarti menyusun statemen-statemen menjadi sebuah satu

kesatuan file python. Dengan membuat skrip berarti kita melakukan kompilasi file python

dengan bantuan Interpreter dari Python lewat Command Prompt (Windows) atau Terminal

(Linux/Unix). Contohnya :

Contoh Kasus 1. program 1. belajar.py

Tulis skrip diatas pada Text Editor, kamudian lakukan kompilasi, Lokasi file python : D:\python>python belajar.py

Gambar 4.3. Tampilan Output program belajar.py

Page 178: kosong = () tuple = (1234, 4321, “Hello”)

33

Contoh Kasus 2 :

Buatlah program menampilkan hasil penjumlahan dua buah bilangan menggunakan tipe data dan

operator pada python. Output yang akan ditampilkan adalah sebagai berikut :

Langkah-langkah pengerjaan adalah sebagai berikut :

1. Klik tombol start Program Python 3.7 app dengan tampilan sebagai berikut :

Gambar 4.4. Tampilan Python 3.7

2. Klik Menu File -> New Window lalu ketikkan listing program sebagai berikut.

# Program Contoh 2

print ("Coding Anda berhasil di running")

a = 10

b = 30

hasil = a + b

print ("Hasil a + b")

print ("Hasil = %d + %d" % (a,b))

print ("Hasil = %d " % (hasil))

3. Setelah selesai mengetikkan code, langkah selanjutnya menyimpan file tersebut dengan cara

klik menu File -> Save As. Masukkan nama file dengan nama program1.py

Gambar 4.5. Tampilan Penulisan Program

Page 179: kosong = () tuple = (1234, 4321, “Hello”)

4. Setelah itu menjalankan program dengan cara klik menu Run -> Run Module atau dengan

menekan tombol F5.

Gambar 4.6. Tampilan Hasil Output

5. Selain itu kita juga dapat menjalankan program pada command prompt dengan cara

mengetikkan D:\python> python program1.py (berdasarkan file python berada di drive)

Gambar 4.7. Tampilan menjalankan python pada command prompt

Contoh Kasus 3 :

Buatlah program menginput dan menampilkan kalimat menggunakan bahasa python.

Langkah-langkah pengerjaan adalah sebagai berikut :

1. Klik tombol start Program Python 3.7 app dengan tampilan sebagai berikut :

Gambar 4.8. Tampilan Python 3.7

2. Klik Menu File -> New Window lalu ketikkan listing program sebagai berikut.

# Program Contoh 3

praktikum = "Dasar-Dasar Pemrograman"

nama = input("Masukkan Nama : ")

nim = input("Masukkan NIM : ")

prodi = input("Masukkan Prodi : ")

print()

print ("Praktikum : ", praktikum)

Page 180: kosong = () tuple = (1234, 4321, “Hello”)

35

3. Setelah selesai mengetikkan code, langkah selanjutnya menyimpan file tersebut dengan cara

klik menu File -> Save As. Masukkan nama file dengan nama program1.py

Gambar 4.9. Tampilan Penulisan Program

4. Setelah itu menjalankan program dengan cara klik menu Run -> Run Module atau dengan

menekan tombol F5.

Gambar 4.10. Tampilan Hasil Output

5. Selain itu kita juga dapat menjalankan program pada command prompt dengan cara

mengetikkan D:\python> python program2.py

Gambar 4.11. Tampilan menjalankan python pada command prompt

4.8. Percobaan

Buatlah program dibawah ini dengan menggunakan operator :

1 Perhitungan luas dari bangun ruang kubus

2 Perhitungan volume dari bangun ruang balok

3 Perhitungan rumus fisika dari energi potensial (ep)

4 Konversi dolar ke rupiah

Page 181: kosong = () tuple = (1234, 4321, “Hello”)

MODUL 5

PERCABANGAN

5.1. Struktur Percabangan (IF)

Gambar 5.1. Logika Percabangan

Selain percabangan, struktur ini juga disebut control flow, decision, struktur kondisi, Struktur if.

Percabangan akan mampu membuat program berpikir dan menentukan tindakan sesuai dengan

logika/kondisi yang kita berikan. Percabangan If digunakan saat terdapat satu pilihan keputusan.

Misalkan, kalau kita tidak lulus dalam ujian, maka kita ikut remidi. Sedangkan kalau lulus tidak

perlu ikut remidi.

Gambar 5.2. Flowchart Program Percabangan

Page 182: kosong = () tuple = (1234, 4321, “Hello”)

37

Maka kita bisa membuat kode-nya seperti ini:

if lulus == "tidak":

print("kamu harus ikut remidi")

“Jika lulus == "tidak" maka cetak teks "kamu harus ikut remidi"“ Kita menggunakan operator

relasi sama dengan (==) untuk membandingkan isi variabel lulus. Sedangkan tanda titik-dua (:)

adalah tanda untuk memulai blok kode If.

Contoh penulisan yang salah:

if lulus == "tidak": print("Kamu harus ikut remidi")

Contoh penulisan yang benar:

if lulus == "tidak": print("kamu harus ikut remidi") Perhatikan pada adanya jarak atau TAB pada codingan if yang artinya kondisi apabila terpenuhi akan menjalankan program sesuai perintah.

Buatlah Program Berikut

Contoh Program 1. # lulus.py lulus = input("Apakah kamu lulus? [ya/tidak]: ") if lulus == "tidak": print("Kamu harus ikut ujian") Output :

Pada Output diatas dapat dilihat skema percabangan berjalan dengan baik di mana saat pengguna

menjawab tidak maka secara otomatis terlihat output : kamu harus ikut remidi. Sedangkan saat

di isi dengan ya maka sistem tidak memberikan output sesuai yang ditentukan. Untuk dapat

menjalankan perintah maka ditambahkan Else yang akan dibahas sesi ini.

Page 183: kosong = () tuple = (1234, 4321, “Hello”)

Contoh Program 2

# program untuk mengecek bonus dan diskon # file: bonus.py total_belanja = input("Total belanja: Rp ") # jumlah yang harus dibayar adalah berapa total belanjaannya # tapi kalau dapat diskon akan berkurang bayar = int(total_belanja) # jika dia belanja di atas 100rb maka berikan bonus dan diskon if int(total_belanja) > 100000: print("Selamat Karena Belanja > Rp. 100.000 anda mendapat Voucher Makan ") print("dan diskon 5%") # hitung diskonnya diskon = int(total_belanja) * 5/100 #5% bayar = int(total_belanja) - diskon # cetak struk print("Total yang harus dibayar: Rp %s" % bayar) print("Terima kasih sudah berbelanja di Toko Kami") print("Kami Tunggu kunjungan anda selanjutnya.") Output :

5.2. Struktur Percabangan If/Else

Percabangan If/Else digunakan saat terdapat dua pilihan keputusan. Misalkan, jika umur diatas

atau samadengan 18 tahun boleh membuat SIM. Sedangkan dibawah itu belum boleh.

Page 184: kosong = () tuple = (1234, 4321, “Hello”)

39

Gambar 5.3. Flowchart Percabangan IF - Else

Maka Sourcecode Programnya adalah :

# cek_umur.py umur = input("Berapa umur kamu: ")

if int(umur) >= 18:

print("Kamu boleh membuat SIM")

else:

print("Kamu belum boleh membuat SIM")

Selain blok If, terdapat juga blok Else yang akan dieksekusi apabila kondisi umur >= 18 salah

(False). Hasil eksekusi dari kode di atas adalah sebagai berikut:

Page 185: kosong = () tuple = (1234, 4321, “Hello”)

5.3. Struktur Percabangan IF / ELIF / ELSE

Percabangan If/Elif/Else digunakan apabila terdapat lebih dari dua pilihan keputusan. if begini: maka ini elif begitu: maka itu else: pokoknya gitu dah! Kata kunci elif artinya Else if, fungsinya untuk membuat kondisi/logika tambahan apabila kondisi pertama salah. Contoh Program: Misalkan kita akan membuat program untuk menentukan grade nilai dengan flow chart sebagai berikut:

Gambar 5.4. Flowchard Diagram Program Grade Nilai

Nilai >= 40

Page 186: kosong = () tuple = (1234, 4321, “Hello”)

41

Maka kode programnya bisa kita buat seperti ini:

Maka hasilnya :

Page 187: kosong = () tuple = (1234, 4321, “Hello”)

MODUL 6

PERULANGAN

Perulangan dalam bahasa pemrograman berfungsi menyuruh komputer melakukan sesuatu

secara berulang-ulang. Terdapat dua jenis perualangan dalam bahasa pemrograman python, yaitu

perulangan dengan for dan while. Perulangan for disebut counted loop (perulangan yang

terhitung), sementara perulangan while disebut uncounted loop (perulangan yang tak terhitung).

Perbedaannya adalah perulangan for biasanya digunakan untuk mengulangi kode yang sudah

diketahui banyak perulangannya. Sementara while untuk perulangan yang memiliki syarat dan

tidak tentu berapa banyak perulangannya.

4.1. Perulangan For

Contoh Program :

Output :

Penjelasan :

Pertama kita menentukan banyak perulangannya sebanyak 10 kali

ulang = 10

Page 188: kosong = () tuple = (1234, 4321, “Hello”)

43

Variabel i berfungsi untuk menampung indeks, dan fungsi range() berfungsi untuk membuat list

dengan range dari 0-10. Fungsi str() berfungsi merubah tipe data ineger ke string.

for i in range(ulang):

print ("Perulangan ke-"+str(i))

Contoh lain menggunakan List :

Output :

4.2. Perulangan while

Bentuk umum: while(True): # jalankan kode ini # kode ini berada di luar perulangan while Contoh:

Atau bisa juga dengan bentuk yang seperti ini, dengan menggunakan kata kuci break

Page 189: kosong = () tuple = (1234, 4321, “Hello”)

Pertama menentukan variabel untuk menghitung, dan menentukan kapan perulangan berhenti.

kalau pengguna menjawab tidak maka perulangan akan terhenti.

jawab = 'ya'

hitung = 0

Melakukan perulangan dengan while, kemudian menambah satu variabel hitung setiap kali

mengulang. lalu menanyakan kepada pengguna, apakah mau berhenti mengulang atau tidak?

while(jawab == 'ya'): hitung += 1 jawab = input("Apakah Anda Ingin Mengulan ya/tidak ? ") Setelah selesai mengulang, cetak berapa kali perulangan tersebut terjadi print ("Total perulagan: " + str(hitung)) Hasil Luaran (Output) :

Page 190: kosong = () tuple = (1234, 4321, “Hello”)

45

MODUL 7

LIST DAN TUPLE

List adalah struktur data pada python yang mampu menyimpan lebih dari satu data, seperti array.

Pada modul ini akan membahas cara menggunakan list di Python dari yang paling sederhana

sampai yang sedikit kompleks.

Yang dipelajari pada modul List ini :

Cara Membuat List dan Mengisinya

Cara Mangambil nilai dari List

Cara Menambahkan dan Menghapus isi List

Operasi pada List

List multi dimensi

7.1. Definisi List

List sering disebut juga array pada bahasa pemrograman lain. List adalah jenis data

campuran yang bisa memiliki komponen penyusun yang berbeda-beda. Sebuah list dapat

dibuat dengan menggunakan tanda kurung siku [ ]. Anggota list didaftar dalam kurung siku

tersebut dan masing-masing dipisahkan oleh tanda koma. Sifat-sifat list bisa didaftar seperti

ini:

Komponen penyusunnya bisa diganti.

Komponen penyusunya dapat dibaca dan dimanipulasi secara langsung.

Komponen penyusunnya bisa ditambah.

Komponen penyusunnya dapat diambil dengan menunjukkan indeksnya atau dengan

notasi slice.

Komponen penyusun sebuah list dapat juga berupa list yang lain.

Contoh :

Tampilan Luaran (Output) :

Page 191: kosong = () tuple = (1234, 4321, “Hello”)

print(prodi[0:-1])

Output : ['Ilmu Komputer', 'Teknik Informatika']

print(prodi[:2]+["Fakultas Teknik","Unmul"])

Output : ['Ilmu Komputer', 'Teknik Informatika', 'Fakultas Teknik', 'Unmul']

print(len(prodi))

Output : 3

7.2. Cara Membuat List di Python

List dapat kita buat seperti membuat variabel biasa, namun nilai variabelnya diisi dengan tanda

kurung siku ([]).

Contoh :

nama = ["Agus", "Bambang", "Nina", "Putra"]

Jenis data apa saja yang boleh diisi ke dalam List?

list dapat diisi dengan tipe data apa saja, string, integer, float, double, boolean, object, dan

sebagainya. Kita juga bisa mencampur isinya.

Contoh:

laci = ["buku", 21, True, 34.12]

Ada empat jenis tipe data pada list laci:

"buku" adalah tipe data string;

21 adalah tipe data integer;

True adalah tipe data boolean;

dan 34.12 adalah tipe data float.

7.3. Cara Pemanggilan List

Setelah mengetahui cara membuat dan menyimpan data di dalam List, mari kita coba mengambil

datanya. List sama seperti array, list juga memiliki nomer indeks untuk mengakses data atau isinya.

Nomer indeks list selalu dimulai dari nol (0). Nomer indeks ini yang kita butuhkan untuk

Page 192: kosong = () tuple = (1234, 4321, “Hello”)

47

mengambil isi (item) dari list.

Contoh:

Hasil Luaran :

7.4. Program Menggunakan List

a. Mengambil Nilai List

Contoh Studi Kasus Perintah Program Aplikasi List Anggota suatu organisasi dengan perintah

sebagai berikut :

1. Buat sebuah list untuk menyimpan Anggota

2. Isi list sebanyak 6

3. Tampilkan isi list indeks nomer 3

4. Tampilkan semua teman dengan perulangan

5. Tampilkan panjang list

Tuliskan kode berikut ini

Pada kode di atas, kita menggunakan fungsi len() untuk mengambil panjang list. Hasil outputnya :

Page 193: kosong = () tuple = (1234, 4321, “Hello”)

b. Mengganti Nilai List List bersifat mutable, artinya isinya bisa kita ubah-ubah. Contoh:

Hasil Luaran Program :

c. Menambahkan Item List

Tedapat dua metode (method) atau fungsi yang bisa digunakan untuk menambahkan isi atau

item ke List:

1. append(item) menambahkan item dari belakang. Contoh:

Output :

2. insert(index, item) menambahkan item dari indeks tertentu Contoh :

Output :

Page 194: kosong = () tuple = (1234, 4321, “Hello”)

49

d. Menghapus Nilai List

Perintah yang dipergunakan untuk menghapus list adalah del[index]

Contoh :

Selain menggunakan perintah del, kita juga bisa menggunakan method remove() dengan

parameter item yang akan dihapus.

Contoh:

Hasil Luaran :

e. Memotong List

Contoh Program Memotong List

Hasil Luaran :

Page 195: kosong = () tuple = (1234, 4321, “Hello”)

f. Operasi List

- Penggabungan (+)

Hasil Luaran :

- Perkalian (*)

Hasil Luaran :

7.5. List Multidimensi

Pada contoh-contoh di atas, hanya membuat list satu dimensi saja. List dapat juga memiliki

lebih dari satu dimensi atau disebut dengan multi dimensi. List multi dimensi biasanya digunakan

untuk menyimpan struktur data yang kompleks seperti tabel, matriks, graph, tree, dan lain-lain.

Page 196: kosong = () tuple = (1234, 4321, “Hello”)

51

Contoh :

Hasil Luaran :

Angka dua [2] pada kode di atas, menujukan indeks list yang akan di akses. Kemudian setelah

dapat list-nya baru kita ambil isinya. Kemudian Bagaimana jika ingin menampilkan semua isi

dalam list multi dimensi ?, jawabannya yaitu Tinggal gunakan perulangan bersarang.

Contoh Program Perulangan bersarang :

Hasil Luaran (Output) :

Page 197: kosong = () tuple = (1234, 4321, “Hello”)

7.6. Latihan Membuat Program List

Program Tambah Nama Pahlawan Super

Hasil Luaran Program :

7.7. Definisi Tuple

Tuple dalam Python adalah stuktur data yang digunakan untuk menyimpan sekumpulan data.

Tuple bersifat immutable, artinya isi tuple tidak bisa kita ubah dan hapus. Namun, dapat kita isi

dengan berbagai macam nilai dan objek. Tuple adalah salah satu struktur data di Python yang

mampu menyimpan sekumpulan nilai dalam satu variabel.

Page 198: kosong = () tuple = (1234, 4321, “Hello”)

53

Pada pokok pembahasan Tuple kali ini

Cara Membuat Tuple

Cara Mengakses Nilai Tuple

Slicing Nilai Tuple

Cara Mengambil panjang tuple

Nested Tuple

Unpacking Sequence

7.8. Cara Membuat Tuple di Python

Cara membuat Tuple dapat dibuat dengan tanda kurung seperti ini:

tuple = (1234, 4321, 'Hello')

atau bisa juga tanpa tanda kurung :

tuple2 = 1234, 432, 'World!'

Kedua-duanya valid.

7.9. Membuat Tuple Kosong

Apabila kita ingin membuat sebuah tuple tanpa isi, kita bisa menuliskannya seperti ini:

# Membuat tuple kosong

kosong = ()

Lalu untuk membuat Tuple yang hanya berisi satu (singleton), maka kita harus manambahkan

tanda koma di belakangnnya.

Contoh:

# membuat tuple

data = ('Data 1')

data2 = "Data 2"

Jika tidak ditambahkan koma, akan bukan string.

data = ('Data 1') # <-- ini string

data2 = "Data 2" # <-- ini juga string

Page 199: kosong = () tuple = (1234, 4321, “Hello”)

7.10. Mengakses Nilai Tuple

Sama seperti list, Tuple juga memiliki indeks untuk Mengakses item di dalamnya. Indeks

Tuple dan list selalu dimulai dari nol 0.

Contoh:

Maka hasilnya:

7.11. Memotong Tuple

Sama dengan proses di List pada tuple juga bisa melakukan proses pemotongan data :

Contoh Program :

Maka hasilnya:

Logikanya sama seperti di list sebagai berikut :

7.12. Mengambil Panjang Tuple

Untuk mengambil panjang atau jumlah item di dalam Tuple, kita bisa menggunakan

fungsi len().

Page 200: kosong = () tuple = (1234, 4321, “Hello”)

55

Contoh:

Maka hasilnya :

7.13. Tuple Nested

Tuple juga bisa nested, artinya Tuple bisa diisi dengan Tuple.

#Contoh:

Hasil Luaran :

7.14. Sequence Unpacking

Proses pembuatan Tuble bisa kita sebut sebagai packing, sementara untuk mengambil

(ekstrak) seluruh isinya disebut unpacking.

Contoh :

Page 201: kosong = () tuple = (1234, 4321, “Hello”)

Hasil Luaran Program :

Dengan melakukan upacking, isi tuple akan di-copy ke variabel. Lalu dengan variabel kita bisa

melakukan apapun, seperti mengubah isinya. Karena variabel bersifat mutable.

Page 202: kosong = () tuple = (1234, 4321, “Hello”)

57

MODUL 8

DICTIONARY

Setelah kita mengenal stuktur data list yang mampu menyimpan berbagai macam hal. List biasanya

digunakan untuk menyimpan koleksi data. Namun, list ternyata memiliki kekurangan.

Kekurangannya : ia tidak bisa menggunakan kata kunci untuk mengakses itemnya. Hanya bisa

menggunakan nomer indeks saja. Kekurangn ini sudah ditutipi oleh Dictionary. Pada kesempatan

ini, kita akan belajar 7 hal dasar yang harus diketahui tentang Dictionary.

8.1. Definisi Dictionary

Dictionary adalah stuktur data yang bentuknya seperti kamus. Ada kata kunci kemudian

ada nilainya. Kata kunci harus unik, sedangkan nilai boleh diisi dengan apa saja.

Contoh:

Contoh di atas membuat sebuah Dictionary bernama fakultas dengan isi data nama dan

URL. nama dan url adalah kunci (key) yang akan kita gunakan untuk mengakses nilai di dalamnya.

Inilah perbedaanya dibandingkan list dan tuple. Dictionary memiliki kunci berupa teks bisa juga

angka. sedangkan list dan tuple menggunakan indeks berupa angka saja untuk mengakses nilainya.

Dalam bahasa pemrograman lain (seperti PHP), Dictionary juga dikenal dengan sebutan asosiatif

array.

8.2. Deklarasi Dictionary

Berbeda dengan list yang memakai indeks angka untuk merujuk pada isi variabel, dictionary

memakai key untuk merujuk pada isi variabelnya. Sifat kedua jenis data ini hanya berbeda dalam

beberapa hal saja. Untuk mendeklarasikan sebuah dictionary, Python memakai tanda { }.

Page 203: kosong = () tuple = (1234, 4321, “Hello”)

Hasil Luaran :

Bentuk Lain :

Output : {1: 'Ilmu Komputer', 2: 'Teknik Informatika', 3: 'Sistem Informasi'}

8.3. Membuat Dictionary

Hal yang wajib ada di dalam pembuatan Dictionary adalah:

nama dictionary,

key,

value,

buka dan tutupnya menggunakan kurung kurawal.

Antara key dan value dipisah dengan titik dua (:) dan apabila terdapat lebih dari satu item,

maka dipisah dengan tanda koma (,).

Contoh satu item: nama_dict = { "key": "value" }

Contoh tiga item: nama_dict = { "key1": "value", "key2": "value", "key3": "value" } Isi dari Dictionary dapat berupa:

String Integer Objek List

Page 204: kosong = () tuple = (1234, 4321, “Hello”)

59

Tuple Dictionary dsb.

Contoh:

Mari kita lihat isi dari Dictionary di atas:

nama berisi string "Muhammad Bambang" umur berisi integer 22 hobi berisi list dari string menikah berisi boolean True dan sosmed berisi Dictionary

Menggunakan Konstruktor

Selain menggunakan cara di atas, kita juga bisa membaut Dictionary dari constructor dict() dengan

parameter key dan value.

Contoh:

almamater = dict(unmul="kuning", umkt="biru", untag="merah")

Maka akan menghasilkan dictionary seperti ini:

{'unmul': 'kuning', 'umkt': 'biru', 'untag': 'merah'}

8.4. Mengakses Item Pada Dictionary

Cara mengaksesnya sama seperti list. Namaun kunci yang digunakan bukan angka,

melainkan keyword yang sudah kita tentukan di dalam Dictionary-nya.

Contoh Program :

Page 205: kosong = () tuple = (1234, 4321, “Hello”)

Hasil Luaran :

Selain dengan cara di atas, kita juga bisa mengambil nilai Dictionary dengan method get(). Contoh: print(pak_dosen.get("nama"))

Hasilnya: Anton Prafanto

Menggunakan Perulangan : Untuk mencetak semua isi Dictionary, kita bisa menggunakan perulangan seperti ini:

Page 206: kosong = () tuple = (1234, 4321, “Hello”)

61

Hasilnya Luarannya :

Kita juga bisa melakukannya seperti ini:

Hasilnya Luaran :

8.5. Menambahkan Item Pada Dictionary

Kita bisa menggunakan method update() untuk menambahkan isi ke Dictionary. Parameternya

berupa Dictionary. Selain berfungsi untuk menambahkan, method ini juga berfungsi untuk

mengubah nilai dictionary apabila kunci yang dimasukkan sudah ada di dalamnya.

Hasil Luaran Program :

Page 207: kosong = () tuple = (1234, 4321, “Hello”)

8.6. Mengubah Item Pada Dictionary

Dictionary bersifat mutable, artinya nilainya dapat kita ubah-ubah. Untuk mengubah

nilai Dictionary, kita bisa lakukan seperti ini:

nama_dic["kunci"] = "Nilai Baru"

Contoh:

Hasil Luaran :

8.7. Menghapus Item Pada Dictionary

Untuk menghapus nilai Dictionary, kita bisa menggunakan perintah del dan method pop().

Method pop() adalah method yang berfungsi untuk mengeluarkan item dari dictionary sedangkan

fungsi del adalah fungsi untuk menghapus suatu variabel dari memori.

Contoh menghapus dengan del:

Hasil Luaran Hapus del:

Page 208: kosong = () tuple = (1234, 4321, “Hello”)

63

Contoh menghapus dengan method pop():

Hasil Luaran Hapus Pop() :

atau bila kita ingin menghapus semuanya sekaligus, kita bisa menggunakan method clear().

Contoh: bahasa.clear()

8.8. Mengambil Panjang Dictionary

Untuk mengambil jumlah data atau panjang Dictionary, kita bisa menggunakan fungsi len().

Contoh :

Hasil Luaran :

Page 209: kosong = () tuple = (1234, 4321, “Hello”)

MODUL 9

FUNGSI DAN PROSEDUR

Program yang kompleks dan memiliki banyak fitur, diharuskan menggunakan fungsi.

Mengapa harus menggunakan fungsi? Karena jika tidak menggunakannya kita akan kerepotan

menulis kode programnya, coding yang banyak yang harus ditulis dan kode akan menjadi sulit

dibaca dan dirawat (maintenance). Dengan fungsi, kita dapat memecah program besar menjadi sub

program yang lebih sederhana. Masing-masing fitur pada program dapat kita buat dalam satu

fungsi. Pada saat kita membutuhkan fitur tersebut, kita tinggal panggil fungsinya saja. Hal ini akan

kita coba pada contoh program yang sudah saya sediakan di bawah. Teori dasar dan hal apa saja

yang harus kita ketahui tentang fungsi di Python.

9.1. Cara Membuat Fungsi pada Python

Fungsi pada Python, dibuat dengan kata kunci def kemudian diikuti dengan nama fungsinya.

Contoh:

def nama_fungsi():

print ("ini adalah fungsi di Python")

Sama seperti blok kode yang lain, kita juga harus memberikan identasi (tab atau spasi 2x) untuk

menuliskan isi fungsi. Setelah kita buat, kita bisa memanggilnya seperti ini:

nama_fungsi() Sebagai contoh, coba tulis kode program berikut:

Hasilnya:

Page 210: kosong = () tuple = (1234, 4321, “Hello”)

65

9.2. Fungsi dengan Parameter

Parameter adalah variabel yang menampung nilai untuk diproses di dalam fungsi. def fungsi(parameter): print(parameter) Cara pemanggilan fungsi yang memiliki parameter adalah seperti ini:

salam("Selamat siang") "Selamat siang" adalah nilai parameter yang kita berikan. Lalu bagaimana kalau parameternya lebih dari satu. Kita bisa menggunakan tanda koma (,) untuk memisahnya. Contoh Program:

Hasil Luaran: Luas persegi : 24.000000 9.3. Fungsi Mengembalikan Nilai

Fungsi yang tidak mengembalikan nilai biasanya disebut dengan prosedur. Namun, kadang kita butuh hasil proses dari fungsi untuk digunakan pada proses berikutnya. Maka fungsi harus mengembalikan nilai dari hasil pemrosesannya. Cara mengembalikan nilai adalah menggunkan kata kunci return lalu diikuti dengan nilai atau variabel yang akan dikembalikan. Contoh Program :

Hasil Luaran : Luas persegi : 64 Apa bedanya dengan fungsi luas_segitiga() yang tadi?. Pada fungsi luas_segitiga() kita

melakukan print dari hasil pemrosesan secara langsung di dalam fungsinya. Sedangkan

fungsi luas_persegi(), kita melakukan print pada saat pemanggilannya. Jadi,

fungsi luas_persegi() akan bernilai sesuai dengan hasil yang dikembalikan. Sehingga kita dapat

memanfaatkannya untuk pemerosesan berikutnya.

Page 211: kosong = () tuple = (1234, 4321, “Hello”)

Contoh penggunaan pengembalian nilai (Return)

Hasil Luaran :

Volume Persegi = 216

Pada program diatas dapat dilihat pada hasil luaran def luas_persegi(sisi) dapat dipergunakan

oleh def volume_persegi(sisi) menggunakan fungsi return.

9.4. Variabel Global dan Lokal

Variabel Global adalah variabel yang bisa diakses dari semua fungsi, sedangkan variabel lokal

hanya bisa diakses di dalam fungsi tempat dia berada saja. Pada Python, urutan pengaksesan

variabel (scope) dikenal dengan sebutan LGB (Local, Global, dan Build-in). Jadi program python

mulai mencari vairabel lokal terlebih dahulu, kalau ada maka itu yang digunakan. Tapi kalau tidak

ada, pencarian terus ke Global, dan Build-in. Variabel Build-in adalah variabel yang sudah ada di

dalam Python.

Contoh program: # membuat variabel global

Page 212: kosong = () tuple = (1234, 4321, “Hello”)

67

Hasil Luaran :

Perhatikanlah variabel nama yang berada di dalam fungsi help() dan diluar fungsi `help().

Variabel nama yang berada di dalam fungsi help() adalah variabel lokal. Jadi, saat program

memanggil fungsi help() maka nilai yang akan tampil adalah nilai yang ada di dalam fungsi help().

Cara kerjanya Python mulai mencari dari lokal, ke global, dan build-in. Kalau di tiga tempat itu

tidak ditemukan, maka biasanya akan terjadi NameError atau variabel tidak ditemukan.

9.5. Program Menggunakan Fungsi

Pertama kita buat sebuah variabel global berupa list untuk menampung judul-judul buku.

# Variabel global untuk menyimpan data Buku

buku = []

Nanti program ini akan mampu melakukan operasi CRUD (Create, Read, Update, dan Delete).

Maka kita membutuhkan fungsi-fungsi berikut:

show_data() untuk menampilkan data dari list buku;

insert_data() untuk menambahkan data ke list buku;

edit_data() untuk mengedit data di list buku;

delete_data() untuk untuk menghapus data dari list buku.

Dimulai dari fungsi show_data():

# fungsi untuk menampilkan semua data

Page 213: kosong = () tuple = (1234, 4321, “Hello”)

buku =[]

def show_data():

if len(buku) <= 0:

print ("Belum Ada data")

else:

for indeks in range(len(buku)):

print ("[%d] %s" % (indeks, buku[indeks]))

Fungsi di atas akan mengecek isi dari list buku. Jika isinya kosong (len(buku) <= 0) maka

tampilkan "BELUM ADA DATA". Namun, apabila ada isinya, maka tampilkan semua isinya

dengan perulangan.

# fungsi untuk menambah data

def insert_data():

buku_baru = input("Judul Buku : ")

buku.append(buku_baru)

Fungsi di atas akan mengambil input dari user kemudian diisi ke dalam list buku dengan fungsi append(). Fungsi append() adalah fungsi untuk menambahkan item di akhir list. Selain append() ada juga prepend(). Namun, untuk kasus ini, kita pakai append() saja. Penjelasan lengkap tentang append() dan prepend() bisa dibaca pada: Selanjutnya membuat fungsi edit_data():

Fungsi di atas akan menampilkan isi dari list buku dengan memanggil fungsi show_data() di dalamnya. Setelah itu, kita meminta user untuk menginputkan ID atau nomer indeks buku yang akan diedit. Lalu kita lakukan pengecekan, jika ID yang diinputkan melebihi dari isi list buku (indeks > len(buku)), maka tampilkan pesan "ID salah". Namun, apabila tidak melebihi dari isi buku, maka ambil input untuk judul baru dan simpan sesuai ID-nya.

Page 214: kosong = () tuple = (1234, 4321, “Hello”)

69

Selanjutnya membuat fungsi delete_data():

Hampir sama dengan fungsi edit_data(). Fungsi delete_data() juga harus menampilkan isi list buku dan mengambil ID yang akan dihapus. Kita dapat menghapus item pada list dengan fungsi remove(). Apakah sudah selesai? Belum, masih ada dua fungsi lagi yang kita butuhkan:

Fungsi untuk menampilkan menu Fungsi untuk keluar (sudah ada di python: exit())

Baik mari kita coba membuat menunya

Fungsi di atas akan menampilkan menu dari 1–5, lalu memanggil fungsi-fungsi yang sudah dibuat berdasarkan menu yang dipilih. Terakhir, kita harus membuat main loop programnya. if __name__ == "__main__": while(True): show_menu()

Page 215: kosong = () tuple = (1234, 4321, “Hello”)

Program akan mengulang terus-menerus sampai fungsi exit() dieksekusi. if __name__ == "__main__": adalah blok main di Python. Sebenarnya tanpa ini, programnya sudah bisa dijalankan. Sehingga kode lengkapnya akan seperti ini: # fungsi untuk menampilkan semua data buku =[] def show_data(): if len(buku) <= 0: print ("Belum Ada data") else: for indeks in range(len(buku)): print ("[%d] %s" % (indeks, buku[indeks])) # fungsi untuk menambah data def insert_data(): buku_baru = input("Judul Buku : ") buku.append(buku_baru) # fungsi untuk edit data def edit_data(): show_data() indeks = int(input("Inputkan ID buku: ")) if(indeks > len(buku)): print ("ID salah") else: judul_baru = input("Judul baru: ") buku[indeks] = judul_baru # fungsi untuk menghapus data def delete_data(): show_data() indeks = int(input("Inputkan ID buku: ")) if(indeks > len(buku)): print ("ID salah") else: buku.remove(buku[indeks]) # fungsi untuk menampilkan menu def show_menu(): print ("\n") print ("----------- MENU ----------") print ("[1] Show Data") print ("[2] Insert Data") print ("[3] Edit Data") print ("[4] Delete Data")

Page 216: kosong = () tuple = (1234, 4321, “Hello”)

71

print ("[5] Exit") menu = input("PILIH MENU> ") print ("\n") if menu == "1": show_data() elif menu == "2": insert_data() elif menu == "3": edit_data() elif menu == "4": delete_data() elif menu == "5": exit() else: print ("Salah pilih!") if __name__ == "__main__": while(True): show_menu() Hasil Luaran :

Selamat Anda Telah Selesai menjadi programmer python Pemula.

Page 217: kosong = () tuple = (1234, 4321, “Hello”)

DAFTAR PUSTAKA

Abidin, R. (2016). Pengertian Algoritma Pemrograman. Retrieved September 5, 2020, from

https://teknojurnal.com/pengertian-algoritma-pemrograman/ Andre. (2018a). Tutorial Belajar Python Part 1: Pengertian Bahasa Pemrograman Python.

Retrieved September 6, 2020, from https://www.duniailkom.com/tutorial-belajar-python-pengertian-bahasa-pemrograman-python/

Andre. (2018b). Tutorial Belajar Python Part 13: Tipe Data Tuple dalam Bahasa Python. Retrieved September 8, 2020, from https://www.duniailkom.com/tutorial-belajar-python-tipe-data-tuple-dalam-bahasa-python/

Andre. (2019). Tutorial Belajar Python Part 15: Tipe Data Dictionary dalam Bahasa Python. Retrieved September 8, 2020, from https://www.duniailkom.com/tutorial-belajar-python-tipe-data-dictionary-dalam-bahasa-python/

Belajarpython. (2020a). Dictionary Python. Retrieved September 8, 2020, from https://belajarpython.com/tutorial/dictionary-python

Belajarpython. (2020b). Fungsi Python. Retrieved September 8, 2020, from https://belajarpython.com/tutorial/fungsi-python

Belajarpython. (2020c). List Python. Retrieved September 8, 2020, from https://belajarpython.com/tutorial/list-python

Belajarpython. (2020d). Tuple Python. Retrieved September 8, 2020, from https://belajarpython.com/tutorial/tuple-python

Codeva. (2020). Pengertian Algoritma, Struktur dan Ciri-Ciri Pemrograman. Retrieved September 5, 2020, from https://codeva.co.id/pengertian-algoritma/

Duniailkom.com. (2020). Tutorial Belajar Bahasa Pemrograman Python Untuk Pemula. Retrieved August 27, 2020, from https://www.duniailkom.com/tutorial-belajar-bahasa-pemrograman-python-untuk-pemula/

Eril. (2019). Pengertian Apa itu Algoritma Pemrograman dan Contohnya. Retrieved September 5, 2020, from https://qwords.com/blog/apa-itu-algoritma-pemrograman/

GeeksforGeeks. (2020). Python Programming Language. Retrieved August 17, 2020, from https://www.geeksforgeeks.org/python-programming-language/

Jubilee Enterprise. (2019). Python untuk Programmer Pemula. Jakarta: Elex Media Komputindo. Jogjaweb. (2020). Sejarah Python. Retrieved September 6, 2020, from

https://jogjaweb.co.id/blog/sejarah-python Kadir, A. (2019). Logika Pemprograman Python. Jakarta: Elex Media Komputindo. Kadir, A. (2018). Dasar Pemrograman Python 3 : Panduan untuk Mempelajari Python dengan

Cepat dan Mudah Bagi Pemula. Yogyakarta: Penerbit Andi. Maxmanroe. (2020). Pengertian Algoritma: Ciri-Ciri, Fungsi, Jenis-Jenis, dan Contoh Algoritma.

Retrieved September 5, 2020, from https://www.maxmanroe.com/vid/teknologi/pengertian-algoritma.html

Muhardian, A. (2017a). Belajar Python: Memahami Fungsi dan Prosedur pada Python. Retrieved September 8, 2020, from https://www.petanikode.com/python-fungsi/

Muhardian, A. (2017b). Belajar Python: Mengenal Struktur Data List. Retrieved September 8, 2020, from https://www.petanikode.com/python-list/

Muhardian, A. (2018a). 7 Hal Dasar yang Harus diketahui Tentang Dictionary pada Python. Retrieved September 8, 2020, from https://www.petanikode.com/python-dictionary/

Muhardian, A. (2018b). Belajar Python: Apa itu Tuple dalam Python? Retrieved September 8,

Page 218: kosong = () tuple = (1234, 4321, “Hello”)

73

2020, from https://www.petanikode.com/python-tuple/ Muhardian, A. (2018c). Tutorial Dasar Python untuk Pemula. Retrieved August 17, 2020, from

https://www.petanikode.com/tutorial/python/ Petani Kode. (2020). Tutorial Dasar Python untuk Pemula. Retrieved August 17, 2020, from

https://www.petanikode.com/tutorial/python/ Pythonindo. (2020a). Dictionary. Retrieved September 8, 2020, from

https://www.pythonindo.com/dictionary/ Pythonindo. (2020b). Fungsi. Retrieved September 8, 2020, from

https://www.pythonindo.com/fungsi/ Supardi, Y. (2017). Semua Bisa Menjadi Programmer Python Basic. Jakarta: Elex Media

Komputindo. Thomas, H., Cormen, E.Leiserson, C., Ronald, L., & Rivest. (2003). Introduction to Algorithms.

McGraw-Hill. W3schools. (2020). Python Tutorial. Retrieved August 17, 2020, from

https://www.w3schools.com/python/

Page 219: kosong = () tuple = (1234, 4321, “Hello”)

LAPORAN KEGIATAN 3 AKTUALISASI PENGEMBANGAN SISTEM TRANSPARANSI NILAI PADA

MULAWARMAN ONLINE LEARNING SYSTEM (MOLS)

HALAMAN JUDUL

Disusun Oleh

Nama : Putut Pamilih Widagdo, S.Kom., M.Kom

NIP : 198608032019031006

Angkatan : XIII

NDH : 27

Unit Kerja : Prodi Sistem Informasi Fakultas Teknik

Universitas Mulawarman

Instansi : Kementerian Pendidikan dan Kebudayaan

PUSAT PELATIHAN DAN PENGEMBANGAN DAN KAJIAN DESENTRALISASI DAN OTONOMI DAERAH

LEMBAGA ADMINISTRASI NEGARA SAMARINDA

2020

Page 220: kosong = () tuple = (1234, 4321, “Hello”)

ii

DAFTAR ISI

HALAMAN JUDUL ....................................................................................................................... i

DAFTAR ISI ................................................................................................................................... ii

DAFTAR GAMBAR ..................................................................................................................... iii

BAB 1 PENDAHULUAN ............................................................................................................. 4

1.1. Latar Belakang .................................................................................................................. 4

1.2. Rumusan Masalah ............................................................................................................. 4

1.3. Tujuan Kegiatan ................................................................................................................ 5

1.4. Manfaat Kegiatan .............................................................................................................. 5

BAB 2 PELAKSANAAN KEGIATAN PENGEMBANGAN SISTEM TRANSPARANSI NILAI PADA MULAWARMAN ONLINE LEARNING SYSTEM (MOLS) ............................. 6

2.1. Konsultasi Kegiatan Pembelajaran ................................................................................... 6

a. Konsultasi dengan LP3M/Tim Pengembang MOLS ....................................................... 6

b. Konsultasi dengan Koordinator Program Studi Sistem Informasi ................................... 8

c. Konsultasi dengan Mentor ............................................................................................... 8

2.2. Melakukan Analisis dan Perancangan Sistem Transparansi Nilai. .................................. 9

2.3. Koordinasi dan Pembuatan Sistem Transparansi Nilai MOLS. ..................................... 14

2.4. Evaluasi Pembuatan Sistem Transparansi Nilai pada MOLS ......................................... 16

KESIMPULAN DAN SARAN..................................................................................................... 19

A. Kesimpulan ..................................................................................................................... 19

B. Saran ............................................................................................................................... 19

Page 221: kosong = () tuple = (1234, 4321, “Hello”)

iii

DAFTAR GAMBAR

Gambar 2.1. Koordinasi Pengembangan Fitur Mols dengan LP3M Unmul .............................. 6

Gambar 2.2. Koordinasi pengembangan MOLS sesuai kebutuhan akreditasi ........................... 7

Gambar 2.3. Koordinasi Fitur MOLS yang disesuaikan kriteria 9 IAPS 4.0 ............................ 7

Gambar 2.4. Konsultasi kegiatan aktualisasi dengan koordinator prodi sistem informasi Ibu Islamiyah, M.Kom ................................................................................................ 8

Gambar 2.5. Konsultasi dengan Mentor Ibu Ir. Budi Nining Widarti, ST., M.Eng tentang sistem transparansi nilai di MOLS ........................................................................ 9

Gambar 2.6. Koordinasi pertama Pengembangan Transparansi Nilai ..................................... 14

Gambar 2.7. Koordinasi kedua Penambahan Menu Komunikasi/Chat.................................... 14

Gambar 2.8. Sistem Transparansi Nilai di MOLS ................................................................... 15

Gambar 2.9. Menu melihat nilai mata kuliah secara lengkap .................................................. 15

Gambar 2.10. Tampilan Sistem Transparansi Nilai di Mahasiswa ............................................ 16

Page 222: kosong = () tuple = (1234, 4321, “Hello”)

4

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Penyebaran pandemi virus corona atau COVID-19 menyebabkan banyak perguruan tinggi

termasuk Universitas Mulawarman untuk menghentikan proses pembelajaran tatap muka dan

menggantinya dengan kelas daring (Online). Pelaksanaan pembelajaran blended learning akan

memberikan fleksibelitas dalam melaksanakan pembelajaran secara daring untuk dapat mengakses

perkuliahan dan bahan materi pembelajaran. Mulawarman Online Learning System (MOLS)

merupakan salah satu sarana yang disediakan oleh Universitas Mulawarman untuk memfasilitas

kegiatan pendidikan berupa pembelajaran yang dapat dikombinasikan dengan pertemuan tatap

muka secara online baik melalui meeting. Kegiatan membuat sistem/tools transparansi nilai dari

tugas yang diberikan dari penugasan dan quiz pada sistem MOLS merupakan kebutuhan akan

sistem pembelajaran yang mudah dipergunakan dan membantu dalam memberikan informasi yang

sesuai dengan kebutuhan pengguna terutama bagi dosen dan mahasiswa yang melaksanakan

pembelajaran secara daring. Dimana tingkat efektivitas dan efisiensi sistem tersebut juga akan

membantu civitas akademika program studi sistem informasi pada masa perkuliahan secara daring

saat pandemi covid 19.

Sistem transparansi nilai di MOLS dapat dipergunakan sebagai bentuk pemberian nilai,

motivasi, saran, berkomunikasi dua arah antara dosen dan mahasiswa. Nilai yang ditampilkan tetap

menjaga privasi pengguna artinya mahasiswa tidak dapat melihat nilai antar mahasiswa. Sistem

transparansi nilai akan memudahkan dosen dalam mengelola nilai akhir mahasiswa karena status

dari pengerjaan tugas, quiz, uts, uas dan afektif dapat mudah dipergunakan sehingga apabila terjadi

komplain oleh mahasiswa dosen memiiki data yang lengkap untuk mempertanggungjawabkan

nilai tersebut. Dalam proses pemberian nilai sebaiknya dosen juga memberikan komentar atau

saran yang bersifat membangun agar mahasiswa menjadi termotivasi dan lebih aktif dalam

pembelajaran secara blended learning di masa pandemi.

1.2. Rumusan Masalah

Bagaimana mengembangkan sistem transparansi nilai pada Mulawarman Online Learning

System (MOLS) yang efektif dan efisien dalam mendukung proses pembelajaran secara blended

learning pada masa pandemi covid 19.

Page 223: kosong = () tuple = (1234, 4321, “Hello”)

5

1.3. Tujuan Kegiatan

Membuat sistem transparansi nilai pada Mulawarman Online Learning system (MOLS)

untuk memudahkan dosen dalam memanajemen nilai-nlai mahasiswa dan meningkatkan kualitas

perkuliahan yang objektif, transparan, adil dan bijaksana. Sistem transparansi nilai juga membantu

memudahkan mahasiswa dalam mengetahui nilai yang diberikan dosen pengampu mata kuliah

hingga komunikasi dua arah sehingga dalam proses pembelajaran secara daring dapat terlaksana

secara efektif dan efisien.

1.4. Manfaat Kegiatan

Manfaat dari pelaksanaan kegiatan membuat sistem/tools transparansi nilai dari tugas yang

diberikan pada sistem MOLS adalah sebagai berikut :

1. Memudahkan Dosen dalam manajemen nilai-nilai mahasiswa pada mata kuliah yang

dikelola dengan baik sehingga memudahkan proses perkuliahan secara daring.

2. Sistem ini memudahkan dosen dalam pemberian nilai, motivasi, saran, berkomunikasi dua

arah secara realtime dalam proses pembelajaran secara daring di masa pandemi covid 19.

3. Memudahkan mahasiswa dalam mengetahui nilai yang diberikan oleh dosen pengampu

mata kuliah secara langsung melalui sistem di MOLS.

4. Sistem ini diharapkan mampu meningkatkan nilai-nilai akuntabilitas, transparansi,

tanggungjawab, kemandirian, kejujuran dalam proses perkuliahan secara daring bagi dosen

dan mahasiswa.

Page 224: kosong = () tuple = (1234, 4321, “Hello”)

6

BAB 2 PELAKSANAAN KEGIATAN PENGEMBANGAN SISTEM TRANSPARANSI

NILAI PADA MULAWARMAN ONLINE LEARNING SYSTEM (MOLS)

Perancangan sistem transparansi Nilai yang ada di MOLS merupakan salah satu fitur

tambahan untuk semakin meningkatkan mutu layanan dan kualitas pembelajaran secara daring.

Perancangan fitur sistem transparansi nilai merupakan hasil analisa kebutuhan terhadap

kemudahan menerapkan akuntabilitas, integritas dan transparansi dalam proses pemberian nilai.

Proses pemberian nilai yang ada di MOLS dirancang sesuai dengan standar mutu yang ada di

Universitas Mulawarman hingga kebutuhan akreditasi. Sistem penilaian yang transparan akan

memberikan rasa puas kepada dosen dan mahasiswa dalam berkomunikasi yang baik dalam proses

pembelajaran. Mengembangkan menu penilaian yang ada di MOLS agar transpran sehingga sesuai

dengan mutu pembelajaran di program studi.

2.1. Konsultasi Kegiatan Pembelajaran

a. Konsultasi dengan LP3M/Tim Pengembang MOLS

Tahapan pertama yang saya lakukan adalah melaksanakan konsultasi dengan LP3M/Tim

Pengembang MOLS Unmul terkait pengembangan sistem transparansi nilai dan tugas yang sesuai

kebutuhan mutu prodi-prodi di unmul. Pemintaan Koordinasi dengan tim Pengembang MOLS

Universitas Mulawarman dengan LP3M Universitas Mulawarman terkait penyelesaian

kekurangan fitur-fitur yang ada di MOLS untuk Peningkatan optimalisasi pembelajaran dan

kegiatan akademik.

Gambar 2.1. Koordinasi Pengembangan Fitur Mols dengan LP3M Unmul

Page 225: kosong = () tuple = (1234, 4321, “Hello”)

7

Perancangan sistem transparansi Nilai yang ada di MOLS merupakan salah satu fitur

tambahan yang sudah pernah saya sampaikan sebelumnya. Perancangan fitur ini merupakan hasil

analisa terkait kebutuhan akan kemudahan menerapkan akuntabilitas, integritas dan transparansi

dalam proses pemberian nilai. Proses pemberian nilai yang ada di MOLS dirancang sesuai dengan

standar mutu yang ada di Universitas Mulawarman hingga kebutuhan akreditasi Program Studi.

Sistem penilaian yang transparan akan memberikan rasa puas kepada mahasiswa dan dosen dalam

berkomunikasi yang baik dalam proses pembelajaran.

Gambar 2.2. Koordinasi pengembangan MOLS sesuai kebutuhan akreditasi

Gambar 2.3. Koordinasi Fitur MOLS yang disesuaikan kriteria 9 IAPS 4.0

Page 226: kosong = () tuple = (1234, 4321, “Hello”)

8

b. Konsultasi dengan Koordinator Program Studi Sistem Informasi

Setelah memahami arah pengembangan Mulawarman Online Learning Sistem (MOLS) maka

tahap selanjutnya berkonsultasi dengan koordinator program studi sistem informasi Ibu Islamiyah,

M.Kom untuk mendapatkan sumbang saran dan masukan dalam pengembangan sistem.

Gambar 2.4. Konsultasi kegiatan aktualisasi dengan koordinator prodi sistem informasi Ibu

Islamiyah, M.Kom

c. Konsultasi dengan Mentor

Setelah berkonsultasi dengan koordinator program studi sistem informasi tahapan selanjutnya

adalah berkonsultasi dengan mentor Ibu Ir. Budi Nining Widarti, ST., M.Eng. Proses konsultasi

dilakukan menggunakan media zoom meeting mengingat sedang dilaksanakan kebijakan Work

Page 227: kosong = () tuple = (1234, 4321, “Hello”)

9

From Home (WFH) oleh Universitas Mulawarman dan penyebaran virus covid di kota samarinda

sedang meningkat.

Gambar 2.5. Konsultasi dengan Mentor Ibu Ir. Budi Nining Widarti, ST., M.Eng tentang

sistem transparansi nilai di MOLS

2.2. Melakukan Analisis dan Perancangan Sistem Transparansi Nilai.

Rancangan pengembangan sistem transparansi nilai untuk penambahan pada fasilitas penilaian

yang masih kurang optimal dimana tidak ada kolom untuk komentar untuk memberikan

(Feedback) pada tugas atau pekerjaan yang dilakukan oleh Mahasiswa. Berdasarkan analisa

kebutuhan sistem maka fitur yang akan dikembangkan pada MOLS adalah sebagai berikut :

1. Fasilitas Rangkuman / Laporan Nilai mahasiswa untuk mengakomodir akuntabilitas,

integritas, dan transparansi nilai bagi dosen dan mahasiswa. Menu ini ditambahkan pada

bagian sidebar.

2. Fasilitas kolom penilaian dan komentar tugas/laporan mahasiswa agar dapat terbentuk

komunikasi antara dosen dan mahasiswa terkait tugas yang dikerjakan.

1. Rancangan (Mock Up) Fasilitas Rangkuman / Laporan Nilai Mahasiswa

- Menu Pada Sidebar Baru : Rangkuman/ Laporan Nilai

- Pengguna Sistem :

o Dosen : Menilai, Komentar.

o Mahasiswa : Mengerjakan, Melihat, Komentar.

Page 228: kosong = () tuple = (1234, 4321, “Hello”)

10

a. Tampilan Sistem Nilai Dosen

No NIM Nama Tugas 1

[nama tugas]

Tugas 2

[nama tugas]

UTS

[nama uts]

UAS

[nama uas] Quiz

Total

(Nilai Rata-

Rata)

1 202073

Fulan 80

Detail 75

Detail Belum

Dikerjakan Belum

Dikerjakan 0

Detail 31

2 202073

Jamil 78

Detail Sudah

Mengerjakan Belum

Dikerjakan Belum

Dikerjakan Tidak

Mengerjakan

15.6

3 202037

Putut Sudah

Mengerjakan

80 Detail

Belum Dikerjakan

Belum Dikerjakan

85 Detail

33

N N N N N N N N N

Keterangan :

- Sudah Mengerjakan : Apabila mahasiswa sudah mengerjakan tugas/laporan maka saat

dosen mengklik akan menuju ke halaman Penilaian dan komentar tugas/laporan mahasiswa

tersebut.

- Belum dikerjakan : dikasih Label tulisan biasa (hitam) tanpa link yang berarti mahasiswa

tersebut belum mengerjakan tugas/laporan namun masih berlaku tanggal dan jam masa

pengumpulannya

- Tidak mengerjakan : dikasih Label tulisan biasa (merah) yang berarti mahasiswa tersebut

Tidak Mengerjakan tugas/laporan yang telah melewati masa deadline pengumpulan tugas

(Terlambat). Saat diklik akan menuju ke halaman penilaian dan komentar tugas/laporan

mahasiswa tersebut untuk tetap diberikan hak penilaian namun nilainya tetap warna

(Merah). Apabila dosen ingin memberikan kesempatan untuk mahasiswa tersebut

mengumpul maka dapat dilakukan dengan edit masa penambahan tugas sehingga saat

mahasiswa tersebut mengumpulkan warnanya berubah normal (Hitam).

- Detail : Dosen dapat melakukan pengecekan penilaian dan komentar yang telah dilakukan

terhadap mahasiswa yang bersangkutan. Dosen masih bisa dapat mengubah nilai jika terjadi

kesalahan dalam penginputan nilai.

- Nilai Rata-Rata : Dosen dapat melihat rerata dari nilai mahasiswa yang telah diberikan nilai

pada mahasiswa yang bersangkutan berdasarkan total keseluruhan nilai dibagikan jumlah

penugasan.

Tugas 1 hingga Quiz hanya muncul jika Dosen melaksanakan pada proses

pembelajarannya jika tidak ada maka tidak usah dimunculkan.

Page 229: kosong = () tuple = (1234, 4321, “Hello”)

11

b. Tampilan Mahasiswa

No NIM Nama Tugas 1

[nama tugas]

Tugas 2 [nama

tugas]

UTS [nama

uts] UAS Quiz

Total

(Nilai

Rata2)

1 202033 Januar 80

Detail

Belum Dinilai Sudah

Mengerjakan

Belum

dikerjakan

[date-time]

Anda

Terlambat

20 Detail

20

Keterangan :

- Detail : Mahasiswa dapat melakukan melihat Nilai dan Komentar yang telah dilakukan oleh

dosen pengampu Mata Kuliah. Mahasiswa dapat berkomunikasi secara dua arah antara dosen

dan mahasiswa.

- Sudah Mengerjakan Namun Belum Dinilai : Apabila mahasiswa sudah mengerjakan

tugas/laporan namun belum dinilai maka saat mahasiswa dapat mengklik akan menuju ke

halaman Penilaian dan komentar tugas/laporan untuk berkomunikasi dengan dosen.

- Belum dikerjakan : Tulisan yang berarti mahasiswa tersebut belum mengerjakan

tugas/laporan namun masih dapat mengumpulkan tugas/laporannya berdasarkan deadline

tanggal dan waktu yang telah ditentukan oleh dosen yang dapat dilihat dibagian bawah

tulisan.

- Anda Terlambat : Tulisan yang berarti bahwa mahasiswa tersebut tidak mengerjakan atau

terlambat mengumpulkan tugas/laporan berdasarkan tanggal dan waktu. Tulisan dapat diklik

untuk dapat masuk ke menu detail namun tidak bsia mengumpulkan tugas tetapi bisa

melakukan komunikasi Chat dengan Dosen untuk meminta kebijakan atau solusi terkait

keterlambatan.

- Nilai Merah : Tulisan yang artinya mahasiswa yang tidak mengumpulkan tugas/laporan

hingga batas waktu yang ditentukan akhirnya diberikan nilai oleh Dosen.

- Nilai Rata-Rata : Mahasiswa dapat melihat rerata dari nilai yang telah diberikan nilai oleh

Dosen pengampu Mata Kuliah

Tugas 1 hingga Quiz hanya muncul jika Dosen melaksanakan pada

proses pembelajarannya jika tidak ada maka tidak usah dimunculkan.

Page 230: kosong = () tuple = (1234, 4321, “Hello”)

12

c. Rancangan (Mock Up) Fasilitas Penilaian dan Komentar Tugas/Laporan

- Tampilan menu detail nilai dan komentar pada Dosen

Tugas 1. Program Aplikasi Belanja Online Sederhana

(TAMPILAN DOSEN)

NIM : 202047474744

Nama : Rahmat

Prodi : Sistem Informasi

Jawaban : Berikut saya kirimkan jawaban dari Tugas yang bapak Berikan File Terlampir.

File Word :

Nilai :

Komentar :

Putut Pamilih Widagdo (09-08-2020 12:30:20)

Pesan : Semangat belajar sudah benar pada beberapa bagian tinggal direvisi.

Rahmat (09-08-2020 20:30:20)

Pesan : Baik pak Terima kasih saya akan terus bersemangat.

Komentar :

Kirim

Page 231: kosong = () tuple = (1234, 4321, “Hello”)

13

- Tampilan Menu Detail nilai dan komentar pada Mahasiswa

Tugas 1. Program Aplikasi Belanja Online Sederhana

(TAMPILAN MAHASISWA)

NIM : 202047474744

Nama : Rahmat

Prodi : Sistem Informasi

Nilai : 80

Tipe Quiz : Soal 60

Jawaban : Benar : 10

Salah : 50

Jawaban : Berikut saya kirimkan jawaban dari Tugas yang bapak Berikan File Terlampir.

File Word :

Komentar :

Putut Pamilih Widagdo (09-08-2020 12:30:20)

Pesan : Semangat belajar sudah benar pada beberapa bagian tinggal direvisi.

Rahmat (09-08-2020 20:30:20)

Pesan : Baik bapak Terima kasih saya akan terus bersemangat.

Komentar :

Sama-Sama Semangat Kirim

HANYA DIMUNCULKAN

JIKA DETAIL QUIZ DI KLIK

Page 232: kosong = () tuple = (1234, 4321, “Hello”)

14

2.3. Koordinasi dan Pembuatan Sistem Transparansi Nilai MOLS.

Setelah selesai mendesain mock up aplikasi dan analisa kebutuhan sistem MOLS maka

tahapan selanjutnya dalah melakukan koordinasi dengan tim pengembangan aplikasi MOLS yang

telah dilaksanakan pertama pada tanggal 31 Agustus 2020 dan pertemuan kedua pada 15

September 2020 melalui zoom meeting.

Gambar 2.6. Koordinasi pertama Pengembangan Transparansi Nilai

Gambar 2.7. Koordinasi kedua Penambahan Menu Komunikasi/Chat

Page 233: kosong = () tuple = (1234, 4321, “Hello”)

15

Pada Penambahan fitur transparansi nilai di Mulawarman Online Learning Sistem (MOLS)

saat ini telah dapat dipergunakan sehingga seluruh civitas akademika dapat menggunakan fasilitas

ini dengan efektif dan efisien.

Gambar 2.8. Sistem Transparansi Nilai di MOLS

Gambar 2.9. Menu melihat nilai mata kuliah secara lengkap

Page 234: kosong = () tuple = (1234, 4321, “Hello”)

16

Gambar 2.10. Tampilan Sistem Transparansi Nilai di Mahasiswa

2.4. Evaluasi Pembuatan Sistem Transparansi Nilai pada MOLS

Setelah pengembangan sistem transparansi nilai tersebut selesai dibuat dan telah

dipergunakan maka tahapan selanjutnya melakukan evaluasi pemanfaatan sistem transparansi nilai

tersebut sebagai upaya optimalisasi pembelajaran Blended learning pada MOLS untuk mata kuliah

dasar-dasar pemrograman. Berikut ini adalah hasil evaluasi pemanfaatan sistem transparansi nilai

tersebut :

Page 235: kosong = () tuple = (1234, 4321, “Hello”)

17

Page 236: kosong = () tuple = (1234, 4321, “Hello”)

18

Berdasarkan hasil evaluasi yang dilakukan terhadap penggunaan sistem transparansi nilai yang ada

di Mulawarman Online Learning Systems (MOLS) secara fungsionalitas dan pemanfaatan sudah

sangat baik. Pengembangan sistem MOLS tidak akan berhenti hanya sampai pada sistem penilaian

namun akan terus dikembangkan sesuai dengan tingkat kebutuhan civitas akademika Universitas

Mulawarman.

Page 237: kosong = () tuple = (1234, 4321, “Hello”)

19

KESIMPULAN DAN SARAN

A. Kesimpulan

Kesimpulan dari kegiatan aktualisasi membuat sistem/tools transparansi nilai dari tugas yang

diberikan dari penugasan dan quiz pada sistem Mulawarman Online Learning System (MOLS)

merupakan fasilitas sistem yang memudahkan dosen dalam peroses perkuliahan secara daring.

Sistem transparansi nilai ini dapat dipergunakan sebagai bentuk pemberian nilai, motivasi, saran,

berkomunikasi dua arah antara dosen dan mahasiswa. Nilai yang ditampilkan di MOLS tetap

menjaga privasi pengguna artinya sesama mahasiswa tidak dapat melihat nilai mahasiswa lainnya.

Sistem transparansi nilai memudahkan dosen dalam mengelola nilai akhir mahasiswa karena status

dari pengerjaan tugas, quiz, uts, uas dan afektif dapat mudah diketahui sehingga apabila terjadi

komplain oleh mahasiswa dosen memiiki data yang lengkap untuk mempertanggungjawabkan

nilai tersebut.

B. Saran

Saran pelaksanaaan kegiatan pengembangan sistem transparansi nilai pada Mulawarman

Online Learning Systems (MOLS) yaitu penggunaan sistem ini akan memudahkan dosen dan

mahasiswa dalam proses pembelajaran daring di masa pandemic covid-19. Dalam proses

pemberian nilai sebaiknya dosen juga memberikan komentar atau saran yang bersifat membangun

agar mahasiswa menjadi termotivasi dan lebih aktif dalam pembelajaran secara blended learning

di masa pandemi.

Page 238: kosong = () tuple = (1234, 4321, “Hello”)

LAPORAN KEGIATAN 4 AKTUALISASI

BATTLE CODING DASAR-DASAR PEMROGRAMAN

HALAMAN JUDUL

Disusun Oleh

Nama : Putut Pamilih Widagdo, S.Kom., M.Kom

NIP : 198608032019031006

Angkatan : XIII

NDH : 27

Unit Kerja : Prodi Sistem Informasi Fakultas Teknik

Universitas Mulawarman

Instansi : Kementerian Pendidikan dan Kebudayaan

PUSAT PELATIHAN DAN PENGEMBANGAN DAN KAJIAN DESENTRALISASI DAN OTONOMI DAERAH

LEMBAGA ADMINISTRASI NEGARA SAMARINDA

2020

Page 239: kosong = () tuple = (1234, 4321, “Hello”)

ii

DAFTAR ISI

DAFTAR ISI ................................................................................................................................... ii

DAFTAR GAMBAR ..................................................................................................................... iii

BAB 1 PENDAHULUAN ............................................................................................................. 4

1.1. Latar Belakang .................................................................................................................. 4

1.2. Rumusan Masalah ............................................................................................................. 4

1.3. Tujuan Kegiatan ................................................................................................................ 4

1.4. Manfaat Kegiatan .............................................................................................................. 5

BAB 2 PELAKSANAAN KEGIATAN BATTLE CODING UNTUK MATA KULIAH DASAR-DASAR PEMROGRAMAN DENGAN MEMANFAATKAN MULAWARMAN ONLINE LEARNING SYSTEM (MOLS) ..................................................................................... 6

2.1. Konsultasi Kegiatan Pembelajaran ................................................................................... 6

a. Konsultasi dengan Koordinator Program Studi Sistem Informasi ................................... 6

b. Konsultasi dengan Mentor ............................................................................................... 7

2.2. Membuat Standar Pelaksanaan Kegiatan Battle Coding. ................................................. 8

2.3. Kriteria Penilaian Battle Coding ....................................................................................... 8

2.4. Persiapan Pembuatan Soal Battle Coding......................................................................... 9

2.5. Pelaksanaan Battle Coding Dasar-Dasar Pemrograman ................................................. 10

2.6. Evaluasi Pelaksanaan Battle Coding .............................................................................. 12

KESIMPULAN DAN SARAN..................................................................................................... 18

A. Kesimpulan ..................................................................................................................... 18

B. Saran ............................................................................................................................... 18

LAMPIRAN .................................................................................................................................. 19

Page 240: kosong = () tuple = (1234, 4321, “Hello”)

iii

DAFTAR GAMBAR

Gambar 2.1. Konsultasi kegiatan Battle Coding dengan Koordinator prodi Sistem Informasi Ibu Islamiyah, M.Kom ............................................................................................ 7

Gambar 2.2. Konsultasi Battle Coding dengan Mentor Ibu Ir. Budi Nining Widarti, ST., M.Eng melalui zoom meeting ............................................................................................. 7

Gambar 2.3. Standar Pelaksanaan Kegiatan Battle Coding Dasar-Dasar Pemrograman ........... 8

Gambar 2.4. Skema penilaian Battle Coding ............................................................................. 8

Gambar 2.5. Bank Soal Pilihan Ganda Battle Coding ............................................................... 9

Gambar 2.6. Soal battle coding project program ....................................................................... 9

Gambar 2.7. Hasil Mengerjakan soal Battle Coding................................................................ 10

Gambar 2.8. Hasil pengerjaan soal battle coding apabila tidak lulus ...................................... 10

Gambar 2.9. Hasil Nilai Keseluruhan Peserta Battle Coding .................................................. 11

Gambar 2.10. Informasi Seleksi Pelaksanaan Battle Coding ..................................................... 11

Gambar 2.11. Seleksi tahap akhir battle coding dasar-dasar pemrograman .............................. 12

Page 241: kosong = () tuple = (1234, 4321, “Hello”)

4

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Coding adalah sekumpulan kode sesuai dengan aturan penulisan (syntax) tertentu dari

bahasa pemrograman yang dipergunakan. Seseorang yang meiliki kemampuan coding disebut

sebagai programmer atau developer program. Bahasa pemrograman python memungkinkan

peserta untuk melakukan coding secara dinamis, karena mampu mendukung object oriented, gaya

pemrograman fungsional ataupun prosedural. Kegiatan kelas battle coding untuk mata kuliah

dasar-dasar pemrograman dengan memanfaatkan Mulawarman Online Learning System (MOLS)

untuk meningkatkan semangat berkompetisi dan memotivasi mahasiswa. Pelaksanaan kegiatan

battle coding akan membantu mahasiswa agar lebih aktif dan kreatif dalam berkompetisi di bidang

dasar-dasar pemrograman. Kegiatan ini dibentuk seperti lomba dimana pesertanya adalah seluruh

mahasiswa yang mengikuti mata kuliah dasar-dasar pemrograman dengan menggunakan sistem

gugur. Bagi dosen kegiatan ini merupakan sarana untuk mencari bibit-bibit juara pemrograman

dasar serta untuk mengetahui sejauh mana tingkat pemahaman dan kompetensi siswa dalam

mempelajari dasar-dasar pemrograman.

1.2. Rumusan Masalah

Bagaimana melaksanakan kegiatan Battle coding untuk mata kuliah dasar-dasar

pemrograman dengan memanfaatkan Mulawarman Online Learning System (MOLS) agar

mahasiswa menjadi lebih aktif dan termotivasi di masa pandemi covid 19.

1.3. Tujuan Kegiatan

Melaksanakan battle coding dengan memanfaatkan Mulawarman Online Learning System

(MOLS) secara efektif dan efisien agar mahasiswa dapat lebih termotivasi dan kreatif dibidang

dasar-dasar pemrograman pada masa pandemi covid 19. Battle coding bertujuan untuk

meningkatkan semangat berkompetisi serta meningkatkan kompetensi, menumbuhkan sikap

mandiri, bertanggungjawab bagi mahasiswa dalam menngimplementasikan hasil perkuliahan

dasar-dasar pemrograman.

Page 242: kosong = () tuple = (1234, 4321, “Hello”)

5

1.4. Manfaat Kegiatan

Manfaat dari pelaksanaan kegiatan battle coding pada mata kuliah dasar-dasar pemrograman

membuat adalah sebagai berikut :

1. Meningkatkan keaktifan, kompetensi dan kreativitas mahasiswa dalam mata kuliah dasar-

dasar pemrograman.

2. Mahasiswa belajar secara mandiri dan bertanggungjawab terhadap tugas coding yang

diberikan kepadanya di mana pada masa pandemi covid 19 mahasiswa dituntut untuk

belajar mandiri.

3. Mahasiswa yang telah mengikuti battle coding membentuk karakter untuk siap mengikuti

kompetisi sejenis ditingkat lokal, nasional maupun internasional.

4. Bagi program studi sistem informasi merupakan salah satu kegiatan mahasiswa yang dapat

menunjang minat dalam bidang pemrograman.

Page 243: kosong = () tuple = (1234, 4321, “Hello”)

6

BAB 2 PELAKSANAAN KEGIATAN BATTLE CODING UNTUK MATA KULIAH

DASAR-DASAR PEMROGRAMAN DENGAN MEMANFAATKAN

MULAWARMAN ONLINE LEARNING SYSTEM (MOLS)

Coding merupakan keterampilan dalam proses menulis, menguji memperbaiki dan

memelihara kode untuk memerintahkan komputer. Battle coding merupakan kegiatan kompetisi

lomba coding antar mahasiswa program studi sistem informasi universitas mulawarman yang

mengambil mata kuliah dasar-dasar pemrograman. Kode yang dituliskan dalam bahasa

pemrograman python. Battle coding diselenggarakan untuk meningkatkan kompetensi, keaktifan,

analisa, motivasi dan kreativitas mahasiswa dalam belajar dasar-dasar pemrograman. Battle coding

di masa pandemik ini dilaksanakan menggunakan Mulawarman Online Learning System (MOLS).

2.1. Konsultasi Kegiatan Pembelajaran

a. Konsultasi dengan Koordinator Program Studi Sistem Informasi

Pelaksanaan battle coding dasar-dasar pemrograman dilakukan setelah pertemuan kuliah ke 4

agar mahasiswa telah memperoleh kompetensi dasar dalam pemrograman. Hal ini dilakukan

mengingat tidak semua mahasiswa berlatar belakang dari teknologi informasi (nasionalisme).

Tahapan awal persiapan kegiatan battle coding dengan berkonsultasi dengan koordinator program

studi sistem informasi Ibu Islamiyah, M.Kom untuk mendapatkan dukungan, sumbang saran dan

masukan dengan berkomunikasi melalui media whatsapp messenger.

Page 244: kosong = () tuple = (1234, 4321, “Hello”)

7

Gambar 2.1. Konsultasi kegiatan Battle Coding dengan Koordinator prodi Sistem Informasi

Ibu Islamiyah, M.Kom

b. Konsultasi dengan Mentor

Setelah berkonsultasi dengan koordinator program studi sistem informasi kemudian tahap

selanjutnya konsultasi dengan mentor dengan memanfaatkan zoom meeting. Setelah berkonsultasi

dengan mentor mendukung kegiatan ini karena di rasa dapat meningkatkan keaktifan dan

kreativitas mahasiswa di mana pembelajaran saat ini lebih ke arah daring.

Gambar 2.2. Konsultasi Battle Coding dengan Mentor Ibu Ir. Budi Nining Widarti, ST., M.Eng

melalui zoom meeting

Page 245: kosong = () tuple = (1234, 4321, “Hello”)

8

2.2. Membuat Standar Pelaksanaan Kegiatan Battle Coding.

Tahapan selanjutnya sebelum melaksanakan kegiatan battle coding tentunya kita

membutuhkan standar pelaksanaan kegiatan (standar mutu) agar mahasiswa dapat memahami

peraturan, tata tertib, etika pelaksanaan, penilaian, dan sistem battle coding dengan jelas.

Gambar 2.3. Standar Pelaksanaan Kegiatan Battle Coding Dasar-Dasar Pemrograman

2.3. Kriteria Penilaian Battle Coding

Buku standar pelaksanaan battle coding juga dilengkapi dengan kriteria penilaian kelas battle

coding.yang akuntabel, transparan dan bebas dari interpensi. Dengan skema penilaian yang mudah

mereka pahami dan bersifat adil maka kegiatan battle coding ini akan membuat mahasiswa

menjadi lebih semangat dan termotivasi.

Gambar 2.4. Skema penilaian Battle Coding

Page 246: kosong = () tuple = (1234, 4321, “Hello”)

9

2.4. Persiapan Pembuatan Soal Battle Coding

Untuk mempermudah proses kompetisi pertandingan battle coding maka perlu

mempersiapkan materi soal berupa pilihan ganda , essay dan project dengan berdasarkan pada

studi kasus.

Gambar 2.5. Bank Soal Pilihan Ganda Battle Coding

Gambar 2.6. Soal battle coding project program

Page 247: kosong = () tuple = (1234, 4321, “Hello”)

10

2.5. Pelaksanaan Battle Coding Dasar-Dasar Pemrograman

Pelaksanaan battle coding akhirnya dimulai Rabu, 16 September 2020 dengan total 85

peserta. Peserta akan mengerjakan soal berupa pilihan ganda, essay atau project secara mandiri

(anti korupsi) dengan batas waktu yang telah ditentukan oleh juri/dosen. Seluruh jadwal

pelaksanaan dan informasi peserta yang lulus tahap selanjutnya dan gugur dalam seleksi akan

diinformasikan di MOLS sehingga lebih transparan dan mahasiswa dapat mengetahui informasi

pelaksanaan battle coding secara jelas dan lengkap.

Gambar 2.7. Hasil Mengerjakan soal Battle Coding

Kriteria penilaian pass grade adalah Nilai >= 70 (Nilai lebih Besar atau sama dengan 70) yang

berarti jika nilai hasil mengerjakan battle coding melewati batas pass grade maka akan lulus ke

seleksi selanjutnya namun apabila belum memenuhi maka akan dinyatakan tidak lulus seleksi dan

dinyatakan gugur.

Gambar 2.8. Hasil pengerjaan soal battle coding apabila tidak lulus

Page 248: kosong = () tuple = (1234, 4321, “Hello”)

11

Setelah peserta battle coding mengerjakan soal tantangan coding maka dapat terlihat nilai-nilai

peserta yang telah mengerjakan dan tidak mengerjakan battle coding tersebut. langkah selanjutnya

tugas dosen adalah menseleksi peserta yang lulus dan tidak lulus berdasarkan kriteria penilaian

yang telah ditentukan di standar pelaksanaan kegiatan.

Gambar 2.9. Hasil Nilai Keseluruhan Peserta Battle Coding

Gambar 2.10. Informasi Seleksi Pelaksanaan Battle Coding

Page 249: kosong = () tuple = (1234, 4321, “Hello”)

12

Gambar 2.11. Seleksi tahap akhir (Final) battle coding dasar-dasar pemrograman

2.6. Proses Seleksi Final dengan tipe studi kasus

Tahapan seleksi final soal yang diberikan berupa suatu project atau program yang

bertemakan suatu studi kasus. Proses final sendiri dilaksanakan pada tanggal 23 – 24 September

2020 dengan total 23 Peserta. Berikut adalah tahapan penilaian.

Gambar 2.12. Melihat Nilai peserta mulai dari Seleksi 1 hingga 3

Page 250: kosong = () tuple = (1234, 4321, “Hello”)

13

Semua proses penilaian dilakukan menggunakan Mulawarman Online Learning System (MOLS)

untuk memudahkan dalam menentukan juara dalam kegiatan battle coding.

Gambar 2.13. Mengoreksi hasil pekerjaan Peserta Battle Coding di MOLS

Gambar 2.14. Dewan Juri/Dosen memberikan Feedback hasil pekerjaan peserta Battle Coding

Setelah dilakukan koreksi pekerjaan peserta secara menyeluruh kemudian total Nilai peserta

dirangking secara sistem melalui MOLS. Kemudian direkap dan siap untuk di umumkan kepada

para peserta battle coding.

Page 251: kosong = () tuple = (1234, 4321, “Hello”)

14

2.7. Pengumuman Juara Battle Coding Dasar-Dasar Pemrograman

Setelah melewati seleksi yang panjang akhirnya sampailah pada tahap yang ditunggu-tunggu

yaitu pengumuman pemenang battle coding dasar-dasar pemrograman yang kemudian dibagikan

melalui MOLS untuk dapat diketahui oleh peserta Battle coding :

Gambar 2.15. Pengumuman Pemenang Battle Coding Dasar-Dasar Pemrograman

Keputusan pemenang tidak bisa diganggu-gugat untuk keterangan reward pemenang dapat

dibaca pada buku panduan pelaksanaan (terlampir) yang telah dibagikan di grup kelas battle

coding. Sertifikat akan ditandatangani oleh Dosen Pengampu dan diketahui oleh koordinator

program studi Sistem Informasi Universitas Mulawarman.

2.8. Evaluasi Pelaksanaan Battle Coding

Evaluasi pelaksanaan dilakukan dengan cara menyebarkan kuesioner kepada peserta battle

coding. Evaluasi pelaksanaan akan dijadikan pertimbangan untuk terus meningkatkan kualitas

pelaksanaan battle coding di semester selanjutnya. Berdasarkan form evaluasi yang telah

disebarkan kepada peserta didapatkan 67 resonden.

Page 252: kosong = () tuple = (1234, 4321, “Hello”)

15

Page 253: kosong = () tuple = (1234, 4321, “Hello”)

16

Page 254: kosong = () tuple = (1234, 4321, “Hello”)

17

Berdasarkan hasil evaluasi yang dilakukan kegiatan pelaksanaan Battle Coding dapat disimpulkan

kegiatan ini mendapat penilaian positif dari para peserta. Kegiatan ini diharapkan dapat

meningkatkan kompetensi dan kreativitas mahasiswa dalam mata kuliah dasar-dasar

pemrograman.

Page 255: kosong = () tuple = (1234, 4321, “Hello”)

18

KESIMPULAN DAN SARAN

A. Kesimpulan

Kesimpulan kelas battle coding merupakan salah satu bentuk kegiatan aktualisasi yang

diselenggarakan untuk meningkatkan semangat berkompetisi dan memotivasi mahasiswa dalam

mata kuliah dasar-dasar pemrograman dengan menggunakan Mulawarman Online Learning

System (MOLS). Pelaksanaan kegiatan battle coding akan meningkatkan kompetensi,

menumbuhkan sikap mandiri, bertanggungjawab bagi mahasiswa dalam menngimplementasikan

hasil perkuliahan dasar-dasar pemrograman. Bagi dosen Kegiatan ini merupakan ajang untuk

mencari juara dalam pemrograman dasar dan mengetahui tingkat pemahaman dan kompetensi

mahasiswa dasar-dasar pemrograman.

B. Saran

Rekomendasi kegiatan ini dapat dipergunakan sebagai ajang peningkatan kompetensi

mahasiswa di bidang pemrograman pada masa pandemi covid 19. Kegiatan battle coding

sebaiknya diselenggarakan dengan soal-soal berdasarkan studi kasus agar peserta menjadi lebih

aktif dan berfikir kritis serta mandiri dalam menganalisis kebutuhan sistem. Sebaiknya dalam

durasi pelaksanaan lomba juga harus diperhatikan mengingat kegiatan ini berjalan secara regular

bersamaan dengan perkuliahan lainnya. Kegiatan ini sebaiknya didukung dengan reward atau

hadiah agar mahasiswa lebih terpacu dan semangat mengikuti kegiatan ini sampai selesai contoh :

souvenir, sertifikat, flashdisk, atau nilai UTS atau UAS. Reward tidak harus berbentuk uang atau

barang mewah kecuali ada sponsor kegiatan.

Page 256: kosong = () tuple = (1234, 4321, “Hello”)

19

LAMPIRAN

Page 257: kosong = () tuple = (1234, 4321, “Hello”)

PANDUAN STANDAR PELAKSANAAN

“BATTLE CODING” DASAR-DASAR PEMROGRAMAN

Putut Pamilih Widagdo, S.Kom., M.Kom

NIP 1986080302019031006

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNIK

UNIVERSITAS MULAWARMAN

2020

Page 258: kosong = () tuple = (1234, 4321, “Hello”)

ii

DAFTAR ISI

DAFTAR ISI ................................................................................................................................... ii

DAFTAR TABEL .......................................................................................................................... iii

BAB 1 STANDAR LAYANAN BATTLE CODING ................................................................... 4

1.1. Definisi ............................................................................................................................. 4

1.2. Tujuan ............................................................................................................................... 4

1.3. Ruang Lingkup ................................................................................................................. 5

1.4. Kentuan-Ketentuan ........................................................................................................... 5

BAB 2 TATA TERTIB DAN PERATURAN .............................................................................. 6

2.1. Etika dan Perilaku di Zoom .............................................................................................. 6

2.2. Etika dan Perilaku di MOLS ............................................................................................. 6

2.3. Peraturan dan Tata Tertib Peserta Battle Coding ............................................................. 6

2.4. Standar Operasional Prosedur (SOP) “Battle Coding” .................................................... 8

2.5. Skema Penilaian Battle Coding ........................................................................................ 9

2.6. Juara Battle Coding ......................................................................................................... 10

Page 259: kosong = () tuple = (1234, 4321, “Hello”)

iii

DAFTAR TABEL

Tabel 2.1. Standar Operasional Prosedur (SOP) Battle Coding ................................................... 8

Page 260: kosong = () tuple = (1234, 4321, “Hello”)

4

BAB 1

STANDAR LAYANAN BATTLE CODING

1.1. Definisi

1. Battle Coding merupakan suatu kegiatan yang dilaksanakan sebagai upaya

meningkatkan kompetensi dan kreativitas mahasiswa dalam bentuk kompetisi pada mata

kuliah dasar-dasar pemrograman.

2. Mulawarman Online Learning Systems (MOLS) merupakan fasilitas pembelajaran

secara elektronik yang disediakan oleh Universitas Mulawarman di mana proses

pembelajarannya dilaksanakan secara Online.

3. Dasar-Dasar Pemrograman adalah mata kuliah wajib pada Program Studi Sistem

Informasi Universitas Mulawarman dengan capaian pembelajaran adalah Mahasiswa

mampu menganalisa dasar-dasar pemrograman untuk merumuskan solusi algoritma

yang tepat untuk suatu permasalahan dalam bentuk program komputer

4. Dosen adalah pendidik profesional dan ilmuwan dengan tugas utama

mentransformasikan, mengembangkan, dan menyebarluaskan ilmu pengetahuan,

teknologi, dan seni melalui pendidikan, penelitian, dan pengabdian kepada masyarakat.

5. Peserta adalah mahasiswa aktif Universitas Mulawarman yang mengambil Mata Kuliah

Dasar-Dasar Pemrograman dan memiliki akun Portal Sistem Informasi Akademik (SIA)

6. Juara battle coding adalah seseorang mahasiswa maupun kelompok yang telah

memenangkan suatu perlombaan atau turnamen dengan kompetensi pada dasar-dasar

pemrograman.

1.2. Tujuan

1. Melalui standar layanan ini, diharapkan proses pelaksanaan kegiatan Battle Coding

dapat terlaksana secara optimal dan memudahkan dalam mengetahui tahapan-tahapan

yang harus dilakukan.

2. Kegiatan battle coding bertujuan untuk meningkatkan kompetensi dan kreativitas

mahasiswa dalam berkompetisi untuk mata kuliah dasar-dasar pemrograman.

3. Sebagai bahan evaluasi pemahaman mahasiswa terhadap dasar-dasar pemrograman.

Page 261: kosong = () tuple = (1234, 4321, “Hello”)

5

1.3. Ruang Lingkup

Standar layanan battle coding ini ditujukan untuk Dosen dan Mahasiswa yang melaksanakan

mata kuliah Dasar-Dasar Pemrograman di Program Studi Sistem Informasi Fakultas Teknik

Universitas Mulawarman dalam rangka peningkatan kompetensi dan kreativitas bagi

mahasiswa.

1.4. Kentuan-Ketentuan

Adapun ketentuan-ketentuan terkait dengan battle coding adalah sebagai berikut :

1. Bahan Pembelajaran untuk kegiatan ini adalah Materi yang telah diberikan pada kelas

Dasar-Dasar Pemrograman seperti bahan ajar, buku ajar, Video Pembelajaran yang telah

dibagikan.

2. Bahasa Pemrograman yang digunakan adalah Python.

3. Penilai atau dewan juri dalam kegiatan ini adalah dosen pengampu mata kuliah dasar-

dasar pemrograman.

4. Perserta adalah mahasiswa aktif yang mengambil mata kuliah dasar-dasar pemrograman

dan memiliki akun portal SIA Unmul.

5. Keputusan dosen/dewan juri adalah mutlak dan tidak dapat diganggu gugat dengan

alasan apapun.

Page 262: kosong = () tuple = (1234, 4321, “Hello”)

6

BAB 2

TATA TERTIB DAN PERATURAN

2.1. Etika dan Perilaku di Zoom

Etika dalam menggunakan zoom meeting bagi peserta juga diatur sebagai berikut :

1. Pergunakan chat untuk bertanya, atau klik icon angkat tangan

2. Matikan selalu webcam kecuali diminta untuk aktif

3. Menjawab salam atau pertanyaan yang diajukan dosen

4. Peserta Hadir tepat waktu

5. Tidak perlu menuliskan kata hadir dalam chat atau mengobrol di chat umum diluar topik

kompetisi.

6. Pergunakan bahasa yang sopan & santun dalam berkomunikasi tidak singkatan.

2.2. Etika dan Perilaku di MOLS

Etika dan perilaku dalam menggunakan Mulawarman Online Learning Systems (MOLS)

sebagai berikut :

1. Foto peserta sopan sebaiknya menggunakan almamater Universitas Mulawarman

2. Menggunakan bahasa Indonesia yang baik dan benar.

3. Berperilaku sopan dan santun saat berkomunikasi di MOLS.

4. Hadir tepat waktu dan mengisi daftar hadir yang telah disediakan.

5. Menyelesaikan dan mengumpulkan tugas sesuai batas waktu yang ditentukan.

6. Dilarang merubah isi atau memodifikasi isi bahan pembelajaran terkecuali sudah izin

dengan dosen yang bersangkutan.

2.3. Peraturan dan Tata Tertib Peserta Battle Coding

Dalam pelaksanaan battle coding agar dapat berjalan dengan lancer berikut adalah

peraturan yang harus dipatuhi oleh peserta :

1. Peserta adalah mahasiswa Aktif yang mengambil mata kuliah Dasar-Dasar

Pemrograman yang memiliki akun di portal SIA Universitas Mulawarman.

2. Peserta Wajib Mengisi Daftar Hadir Online tiap kegiatan, apabila peserta tidak mengisi

daftar hadir dianggap mengundurkan diri walaupun telah menyelesaikan tugas.

Page 263: kosong = () tuple = (1234, 4321, “Hello”)

7

3. Peserta harus berusaha mengembangkan kompetensi dan kreativitasnya secara mandiri

yang dibuktikan dengan pekerjaan dalam battle coding ini.

4. Peserta dilarang saling membantu atau bekerjasama dalam menyelesaikan tugas karena

battle coding diharapkan mampu berkompetisi bukan kerja tim terkecuali dalam topik

atau studi kasus tertentu dosen ingin membentuk tim.

5. Peserta dilarang menshare atau berbagi soal ke external dengan tujuan untuk

memudahkan mendapatkan jawaban.

6. Peserta dilarang melakukan praktek curang lainnya yang dianggap menguntungkan diri

sendiri dan merugikan peserta lainnya.

7. Peserta yang melakukan pelanggaran diatas akan mendapatkan hukuman mulai dari

sanksi ringan hingga berat yang ditetapkan oleh dewan juri. Sangksi ringan mulai dari

pengurangan skor hingga sangksi berat yaitu didiskualifikasi dari kegiatan ini.

Page 264: kosong = () tuple = (1234, 4321, “Hello”)

8

2.4. Standar Operasional Prosedur (SOP) “Battle Coding”

a. Alur Proses Pelaksanaan Battle Coding.

Tabel 2.1. Standar Operasional Prosedur (SOP) Battle Coding

Page 265: kosong = () tuple = (1234, 4321, “Hello”)

9

b. Deskripsi Tahapan Pelaksanaan Kegiatan

1. Dosen Membuat Kelas Battle Coding di MOLS dengan login menggunakan Akun

Portal SIA Universitas Mulawarman.

2. Kelas Battle Coding Telah Terbentuk di MOLS kemudian memunculkan Kode Unik

untuk diberikan kepada Peserta

3. Peserta login ke MOLS menggunakan akun portal SIA Unmul kemudian memasukan

kode unik kelas battle Coding yang diberikan oleh dosen untuk bergabung.

4. Dosen Mengetahui Jumlah peserta Battle Coding untuk kemudian mempersiapkan soal

dan strategi pelaksanaan battle coding.

5. Dosen Memberikan Informasi/ memposting soal atau tugas kepada peserta Battle

Coding di MOLS.

6. Peserta Battle Coding mulai mengerjakan soal dan tugas yang diberikan oleh Dosen

berdasarkan Batas Waktu yang telah ditentukan di MOLS

7. Proses Penilaian dilakukan secara sistematis dari MOLS dan dari Dosen untuk soal

essay dan Project Program.

8. Standar penilaian yang telah ditentukan oleh Dosen kemudian diterapkan dalam sistem

gugur di MOLS. Hasil Penilaian akan di Share ke Seluruh Peserta secara transparan

dan tercatat. Jika nilai peserta tidak memenuhi kriteria penilaian maka dosen

melakukan remove pada akun peserta battle coding yang berarti peserta gagal lanjut

ke tahap selanjutnya.

9. Kegiatan Seleksi perserta battle coding berdasarkan No 5 sampai 8 dilakukan berulang

hingga peserta seleksi menghasilkan Juara Battle Coding. Dosen menetapkan juara

dengan melihat hasil nilai yang ada di MOLS.

2.5. Skema Penilaian Battle Coding

- Peserta Perorangan / Individu

- Sistem Gugur Nilai < 70 (Disesuaikan oleh Dosen Pengampu)

- Begitu dinyatakan gugur peserta dikeluarkan dari Kelas Battle Coding untuk

memudahkan proses seleksi selanjutnya.

- Mahasiswa yang Gugur diwajibkan mengikuti UTS / UAS.

- Ketentuan Juara terdapat pada di Poin 2.6

- Keputusan Dewan Juri / Dosen Penyelenggara tidak dapat diganggu gugat.

Page 266: kosong = () tuple = (1234, 4321, “Hello”)

10

2.6. Juara Battle Coding

Berikut ini adalah hak dari juara battle coding dasar-dasar pemrograman :

a. Ranking 1 – 3 Akan mendapatkan Reward Nilai UTS / UAS = A (>=80 + Sertifikat)

b. Ranking 4 – 6 Akan Mendapatkan Reward Nilai UTS / UAS = B+ (76-79)

c. Ranking 7 – 10 Akan Mendapatkan Reward Nilai UTS / UAS = B (70-75)

d. Mahasiswa yang Menang ranking tersebut diperbolehkan tidak ikut UTS / UAS

e. Juara Battle coding tetap boleh mengikuti UTS / UAS namun dengan catatan yang

diambil adalah nilai tertinggi.