Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
MEMBUAT TUPLE
• kosong = ()
• tuple = (1234, 4321, “Hello”) • tuple2 = 1234, 4321, “World!”
MENGAKSES TUPLE
# membuat tuple
nama = (‘Restu', ‘Dewi', 'Reza')
# mengakses nilai tuple
print(nama[0]) #Restu
print(nama[1]) #Dewi
print(nama[2]) #Reza
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])
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))
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])
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)
DEMO PEMROGRAMAN TUPLE DI PYTHON
Terima KasihStruktur Data Maple itu Mudah dan Dapat dijadikan database sementara
Program Studi Sistem Informasi Fakultas Teknik Universitas Mulawarman
DASAR-DASAR PEMROGRAMAN
Putut Pamilih Widagdo, S.Kom., M.Kom
Struktur Pemrograman LIST
Overview
LIST
Membuat LIST01
Pemanggilan Nilai LIST02
Menambahkan danMenghapus Nilai List
03
Operasional LIST04
LIST Multi Dimensi05
STRUKTUR PEMROGRAMAN LISTInsert the Sub Tittle of Your Presentation
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.
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.
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.
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.
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))
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)
Menambah Nilai List
• append(item) menambahkan item dari belakang.
• insert(index, item) menambahkan item dari indeks tertentu
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)
Menghapus isi List
#Menghapus isi list berdasarkan indexdel variable[index]
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)
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)
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])
# 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
DEMO PEMROGRAMAN LISTPemrograman List di Python itu mudah
Terima KasihDasar-Dasar Pemrograman
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
DICTIONARYStruktur Pemrograman di Python
Overview
Pembelajaran
Dictionary
Pengertian Dictionary01
Mengakses Dictionary02
Deklarasi tambah, ubah, hapus, lihat panjang data
Manajemen Dictionary03
Demo Program Dictionary04
• 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
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'}
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.
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
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"))
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"])
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”]
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))
DEMO PEMROGRAMAN
DICTIONARY DI PYTHON
TERIMA KASIHDictionary dalam pemrograman dasar mirip seperti tempat penyimpanan data
Program Studi Sistem Informasi
Fakultas Teknik
DASAR-DASAR PEMROGRAMAN“Struktur Fungsi dan Prosedur Pemrograman”
Oleh : Putut Pamilih Widagdo, S.Kom., M.Kom
Overview PembelajaranFungsi
Cara Membuat Fungsi01
Fungsi Dengan Parameter02
Fungsi Mengembalikan Nilai03
Variabel Global & Lokal04
Demo Program di Python05
Section BreakInsert the Sub Title of Your Presentation
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.
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
Perbedaan Prosedur dan Fungsi
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
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
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
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()
DEMO PROGRAM PENGGUNAAN FUNGSI DI PYTHON
Terima KasihProsedur dan Fungsi Dalam Pemrograman Dasar
BUKU AJAR DASAR-DASAR PEMPROGRAMAN
Disusun Oleh :
Putut Pamilih Widagdo, S.Kom., M.Kom
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS MULAWARMAN
2020
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
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
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
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
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
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
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:
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
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.
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.
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.
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
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
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.
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
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
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 :
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)
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.
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).
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.
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).
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
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
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
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
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
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
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
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
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.
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.
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().
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.
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
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
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 :
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.
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)
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
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
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 :
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.
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
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 :
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 : ")
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
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
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("==============================")
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):
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))
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.
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'):
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):
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))
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.
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)
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.
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
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
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"
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,
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)
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))
66
Hasil Luaran (Output) Program :
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
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.
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.
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")
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) :
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])
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.
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 { }.
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)
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.
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",
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])
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
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 = {
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)
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) :
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.
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):
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
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.
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.
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().
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")
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]))
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":
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.
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,
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/
MODUL PRAKTIKUM
DASAR-DASAR PEMPROGRAMAN
Disusun Oleh :
Putut Pamilih Widagdo, S.Kom., M.Kom
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS MULAWARMAN
2020
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
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
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
v
DAFTAR GAMBAR
Gambar 1.1. Proses Dalam Pembuatan Program .................................................................................. 9
DAFTAR TABEL
Tabel 4.1. Operator Aritmatika .................................................................................................... 30
Tabel 4.2. Operator Perbandingan ............................................................................................... 31
Tabel 4.3. Operator Penugasan .................................................................................................... 31
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!
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 :
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.
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).
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.
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
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
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)
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.
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.
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.
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
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)
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) :
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
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 :
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
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
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
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.
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
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;
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
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
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.
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
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
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)
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
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
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.
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.
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:
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
41
Maka kode programnya bisa kita buat seperti ini:
Maka hasilnya :
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
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
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) :
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) :
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
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 :
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 :
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 :
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.
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) :
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.
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
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().
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 :
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.
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 { }.
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
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 :
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:
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 :
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:
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 :
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:
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.
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
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
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.
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()
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")
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.
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,
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/
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
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
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
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.
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.
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
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
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
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.
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.
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.
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
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
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
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
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 :
17
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.
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.
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
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
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
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.
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.
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.
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
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
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
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
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
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
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.
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.
15
16
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.
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.
19
LAMPIRAN
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
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
iii
DAFTAR TABEL
Tabel 2.1. Standar Operasional Prosedur (SOP) Battle Coding ................................................... 8
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.
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.
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.
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.
8
2.4. Standar Operasional Prosedur (SOP) “Battle Coding”
a. Alur Proses Pelaksanaan Battle Coding.
Tabel 2.1. Standar Operasional Prosedur (SOP) Battle Coding
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.
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.