Anda di halaman 1dari 12

ILAPORAN

PRAKTIKUM ALGORITMA DAN PEMROGRAMAN


SEMESTER GENAP 2019/2020

PERTEMUAN 07
PENGOLAHAN STRING

DISUSUN OLEH:
John Julius Pattikaihatu (71190496)

PROGRAM STUDI INFORMATIKA


FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS KRISTEN DUTA WACANA
YOGYAKARTA
2020
BAGIAN 1: MATERI PRAKTIKUM
Tuliskan materi praktikum yang sudah dibahas di pertemuan ini. Gunakan kalimat anda sendiri, jangan
copy-paste dari modul atau slide kuliah.

• Pengantar String
String pada Python adalah tipe data yang memuat satu karakter atau lebih karakter yang diapit
oleh tanda petik tunggal (‘) atau tanda petik (“). Dalam bahasa pemrograman Python, deklarasi
suatu string tidak dibedakan penggunaan tanda petik atau tanda petik tunggal.
• Pengaksesan String dan Manipulasi String
Untuk menulis string kit dapat membuatnya dengan menggunakan variable. Contohnya :

Kita dapat mengakses string dengan cara memanggil nama variabelnya atau juga dapat diambil
dari indeks string tersebut. Indeks pada string biasanya akan dimulai dari 0 dan harus bilangan
bulat, bukan bilangan pecahan. Contohnya :
S a y a

[0] [1] [2] [3]


• Operator dan Metode String
➢ Operator in
Didalam string kita dapat memeriksa kalimat dari suatu variable dengan menggunakan
operator in. Hasil dari operator ini berupa nilai True/False. Contohnya:

➢ Fungsi len
Untuk menghitung jumlah karakter kalimat, bahasa pemrograman python menyediakan
menyediakan fungsi len.
➢ Traversing String
Kita dapat menampilkan string huruf demi huruf menggunakan loop yang dapat dilakukan
dengan perulangan while dan for contohnya:

Gambar 1 (Gambar diambil dari https://www.techbeamers.com/iterate-strings-python/)

Gambar 2 (Gambar diambil dari https://www.techbeamers.com/iterate-strings-python/)

➢ String slice
String python mendukung slicing untuk membuat substring. String pada python tidak bisa
diubah atau bersifat immutable. Dengan slicing kita dapat membuat substring yang baru
dari sumber string

Gambar 3 (Gambar ini diambil dari https://medium.com/@masbe/belajar-manipulasi-string-pada-python-9539a70ad62e)

Berikut adalah beberapa method string:

❖ capitalize()
❖ center()
❖ count()
❖ decode()
❖ encode()
❖ endswith()
❖ expandtabs()
❖ find()
❖ index()
❖ isallnum()

➢ Operator (*) dan (+) pada String


Pada umumnya tidak dapat melakukan operasi matematika pada string, walaupun string
tersebut berupa angka. Tetapi operator tambah (+) dapat berlaku sesama string, walaupun
tidak seperti yang dilakukan pada operasi matematika. Pada operator tambah (+) dalam
operasi string, operator tambah (+) dapat diasumsikan sebagai penggabungan antara dua
string atau lebih. Contohnya :

Operator perkalian (*) juga berlaku dalam operasi string, tetapi tidak dapat melakukan
perkalian string antar string, melainkan string dengan integer. Operator perkalian ini di
analogikan dengan penggandaan string, Misalnya :

• Pasrsing String
Ini adalah cara dimana kita dapat mengubah bagian-bagian dari string unutk mendapat bagian
yang kita inginkan dalam string. Contohnya:

Disini string akan di pisah berdasarkan spasi dan akan menjadi token. Dana kita mencari token
yang ada angkanya dan kemudian kita pisahkan lagi dengan spilit kemudian disusun ulang
tokem-tokennya.
BAGIAN 2: JAWABAN SOAL LATIHAN MANDIRI
Tuliskan jawaban dari soal-soal latihan mandiri yang ada di modul praktikum. Sertakan
capture/screenshot dari hasil pekerjaan anda. Yang perlu anda isi di bagian ini adalah:

1. Source code jawaban (jika pertanyaan dalam bentuk program)


2. Capture/screenshot saat dijalankan dan hasilnya
3. Jelaskan alur/langkah dari source code tersebut

Latihan 7.1

Buatlah sebuah program yang dapat mendeteksi apakah suatu kata adalah anagram dari kata lainnya
atau bukan! Anagram adalah kata yang dibolak-balik susunan hurufnya sama. Misal: mata anagram
dengan atma, maat, taam, tama, dsb.

Source Code:
def Anagram(kata1, kata2):
kata1 = ''.join(sorted(kata1))
kata2 = ''.join(sorted(kata2))
if kata1 == kata2:
print("Anagram")
else:
print("Bukan anagram")
kata1 = input("Masukkan kata: ")
kata2 = input("masukkan kata: ")
Anagram(kata1,kata2)

Screenshoot:

Langkah-langkah:

1. Fungsi anagram dengan parameter kata1 dan kata2


2. Kata1 untuk menggabungkan string yang diurutkan
3. Kata2 unutk menggabungkan string yang diurutkan
4. Percabgan if kata1 sama dengan kata2
5. Maka akan mencetak anagram
6. Percabgan else jika if gagal
7. Akan mencetak bukan anagram
8. Meminta input user dari kata1
9. Meminta input user dari kata2
10.Pemanggilan fungsi angram dengan parameternya

Latihan 7.2

Buatlah suatu program yang dapat menghitung frekuensi kemunculan suatu kata yang ada pada String.
Misal terdapat kalimat "Saya mau makan. Makan itu wajib. Mau siang atau malam saya wajib makan".
Ditanyakan kata "makan". Output: makan ada 3 buah

Source Code:
def frekuensimuncul(kalimat):
kalimat = kalimat.lower()
hitung = kalimat.count(kata.lower())
print(kata,'ada',hitung,'buah')

kalimat = input("Masukkan kalimat : ")


kata = input("Kata yang ingin dicari frekuensinya : ")
frekuensimuncul(kalimat)

Screenshoot:

Langkah-langkah:

1. Fungsi frekuensimuncul dengan parameter kalimat


2. Mengubah string dalam kalimat menjadi huruf kecil
3. Menghitung huruf kecil dalam string yang dicari dalam variable kata
4. Mencetak kata yang ingin dicari dan jumlahnya
5. Meminta input kalimat dari user
6. Meminta input kata yang ingin dicari
7. Memanggil fungsi frekuensimunculdengan parameter kalimat

Latihan 7.3

Buatlah suatu program yang dapat menghapus semua spasi yang dobel pada sebuah string! Misal: "saya
tidak suka memancing ikan " Output: "saya tidak suka memancing ikan"
Source code:
def spasiBerlebih(string):
remove = " ".join(string.split())
print(remove)
string = "saya tidak suka memancing ikan "
spasiBerlebih(string)

Screenshoot:

Langkah-langakah:

1. Fungsi spasiBerlebih dengan parameter string


2. Variable remove untuk menggabungkan string yang di split
3. Mencetak variable remove
4. String yang berisi saya tidak suka memancing ikan
5. Pemanggilan fungsi spasiBerlebih dengan parameter string

Latihan 7.4

Buatlah suatu program mengetahui kata terpendek dan terpanjang dari suatu kalimat yang diinputkan!
Misal: "red snakes and a black frog in the pool" Output: terpendek: a, terpanjang: snakes

Source code:
def panjangpendek(string):
length = len(string)
pendek = panjang = 0
min_length = length
indeks_min = max_length = indeks_max = 0
while panjang <= length:
if (panjang < length) and (string[panjang] != " "):
panjang += 1
else:
length2 = panjang - pendek
if length2 < min_length:
min_length = length2
indeks_min = pendek
if length2 > max_length:
max_length = length2
indeks_max = pendek
panjang += 1
pendek = panjang
kata_min = string[indeks_min : indeks_min + min_length]
kata_max = string[indeks_max : max_length + indeks_max]
print("Terpendek :",kata_min)
print("Terpanjang :",kata_max)
string = input("Masukkan string: ")
panjangpendek(string)

Screenshoot:

Langkah-langkah:

1. Fungsi panjangpendek dengan parameter string


2. Menghitung Panjang string dengan variable length
3. Variable pendek dan Panjang bernilai 0
4. Membuat variable min_lenght dengan nilai 0
5. Membuat variable indeks_min , max_lenght dan indeks_max bernilai 0
6. Perulangan while Panjang lebih besar sama dengan length
7. Percabangan if Panjang lebih kecil dari length dan indeks string Panjang tidak sama spasi
8. Maka Panjang akan ditambah 1 selama perulangan
9. Percabgan else jika if gagal
10. Membuat variable length2 untuk hasil pengurangan Panjang dan pendek
11. Percabgan if lenght2 lebih kecil dari min_lenght
12. Min_lenght akan sama dengan lenght2
13. Indeks)min akan sama dengan pendek
14. Percabangan if length2 lebih besar max_lenght
15. Max_lenght akan sama dengan lenght2
16. Indeks_max akan sama dengan pendek
17. Panjang akan ditambah 1
18. Pendek sama dengan panjang
19. Variable kata_min untuk mengambil indeks pada string yang pendek
20. Variable kata_max unutk mengambil indeks pada string yang panjang
21. Mencetak terpendek
22. Mencetak terpanjang
23. Meminta input string dari user
24. Memanggil fungsi panjangpendek dengan parameter string
BAGIAN 3: SOAL-SOAL YANG DIBUAT SENDIRI
Pada bagian ini anda harus membuat tiga soal beserta jawaban dan penjelasannya. Ketiga soal tersebut
diambil dari materi yang telah dibahas pada pertemuan ini. Anda bisa membuat soal yang mudah,
sedang atau sulit.

Soal 1

Buatlah program yang dapat membalikan suatu string yang di inputkan user.

Source code:
def reverse(kalimat):
index = 1
while index <= len(kalimat):
print(kalimat[-index],end='')
index += 1
kalimat = input('Masukan kalimat yang ingin di reverse: ')
reverse(kalimat)

Screenshoot:

Langkah-langkah:

1. Membuat fungsi reverse dengan parameter kalimat


2. Membuat variable index dengan nilai 1
3. Perulangan while index lebih kecil sama dengan panjangnya kalimat
4. Maka cetak kalimat dengan index min(atau diprint dari dari ujung)
5. Selama perulangan while akan ditambah 1
6. Variable kalimat untuk meminta input user
7. Pemanggilan fungsi reverse dengan parameter kalimat

Soal 2

Buatlah sebuah program yang dapat menghitung jumlah huruf besar dan spasi dalam string.

Source code :
def hitung(string):
hurufBesar = 0
spasi = string.count(' ')
for i in string:
if (i.isupper()):
hurufBesar += 1
print('Jumlah huruf besar: ',hurufBesar)
print('Jumlah spasi: ',spasi)
string = input('Masukan kalimat: ')
hitung(string)
Screenshoot:

Langkah-langkah:

1. Membuat fungsi hitung dengan parameter string


2. Membuat variable hurufBesar bernilai 0
3. Variable spasi menggunakan method count() untuk menghitung spasi pada string
4. Perulangan for i dalam string
5. Percabangan if i menggunakan method isupper untuk check apakah didalam string ada huruf
besar
6. Variable hurufBesar akan ditambah 1 selama perulangan berlangsung
7. Mencetak huruf besar
8. Mencetak spasi
9. Variable string meminta input user
10. Pemanggilan fungsi hitung dengan parameter string

Soal 3

Buatlah sebuah program yang dapat mengidentifikasi huruf dari inputan user.

Source code:
def karakter(alfabet):
if alfabet >= 'a' and alfabet <= 'z' or alfabet >= 'A' and alfabet <=
'Z':
print(alfabet, 'adalah alfabet')
else:
print(alfabet, 'bukan alfabet')
alfabet = input('Masukan Huruf: ')
karakter(alfabet)

Screenshoot:

Langkah-langkah:

1. Membuat fungsi karakter dengan parameter alfabet


2. Percabangan if alfabet lebih besar sama dengan ‘a’ dan lebih kecil sam dengan ‘z’ atau lebih
besar sama dengan ‘A’ dan lebih kecil sama dengan ‘Z’
3. Maka akan mencetak alfabet
4. Percabagan else jika if gagal
5. Maka akan mencetak bukan alfabet
6. Variable alfabet untuk meminta input user
7. Memanggil fungsi karakter dengan parameter alfabet
BAGIAN 4: CREDITS / REFERENSI / DAFTAR PUSTAKA
Pada bagian ini tuliskan referensi-referensi yang anda gunakan dalam menyusun laporan praktikum ini.
Referensi bisa berupa buku, website atau sumber-sumber lainnya. Jika anda meminta bantuan dari
teman anda, tuliskan nama dan NIM teman anda di sini (supaya anda terhindar dari plagiasi).

• Modul Algoritma dan Pemograman FTI UKDW 2020


• https://www.pythonindo.com/cara-mudah-membalikkan-string-di-python/
• Rizky Chandra Wijaya (71190443)
• Gerald Danda Parongko (71190458)
• Yosia Dwi Mahardika (71190468)
• Kevin Josua Jason The (71180315)
• Yoganica Tedjosantoso (71190473)

Anda mungkin juga menyukai