0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan14 halaman

Kombinasi Nama dan Struktur Array Python

Dokumen ini membahas struktur dasar pemrograman Python, termasuk penggunaan array dan algoritma untuk kombinasi nama, pengisian matriks, pencarian nilai ekstrem, dan pencarian indeks. Contoh program disertakan untuk menunjukkan cara mengimplementasikan algoritma tersebut dalam Python. Materi ini ditujukan untuk mahasiswa di Fakultas Teknik Sipil dan Lingkungan Institut Teknologi Bandung.

Diunggah oleh

Abdi Septia Putra
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan14 halaman

Kombinasi Nama dan Struktur Array Python

Dokumen ini membahas struktur dasar pemrograman Python, termasuk penggunaan array dan algoritma untuk kombinasi nama, pengisian matriks, pencarian nilai ekstrem, dan pencarian indeks. Contoh program disertakan untuk menunjukkan cara mengimplementasikan algoritma tersebut dalam Python. Materi ini ditujukan untuk mahasiswa di Fakultas Teknik Sipil dan Lingkungan Institut Teknologi Bandung.

Diunggah oleh

Abdi Septia Putra
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

FAKULTAS TEKNIK SIPIL DAN LINGKUNGAN INSTITUT TEKNOLOGI BANDUNG

Struktur Dasar Python


Array
Tim Penyusun Materi WI1102 Berpikir Komputasional
Institut Teknologi Bandung © 2024

Ediansjah Zulkifli

SI-5102 Komputasi Teknik Sipil


Struktur Dasar Python

Contoh kasus, kombinasi 3 nama


❑ Tuliskan program yang menerima 3 nama, lalu menampilkan semua
kombinasi pasangan nama.

# KAMUS
Contoh keluaran:
# nama1, nama2, nama3 : string
Ali
# ALGORITMA
Budi
nama1 = input()
Caca
nama2 = input()
Ali - Budi
nama3 = input()
Ali - Caca
Budi - Caca
print(nama1, " – ", nama2)
print(nama2, " - ", nama3)
print(nama3, " – ", nama1)

10/10/2024 WI1102/Berpikir Komputasional 2


Struktur Dasar Python

Contoh kasus, kombinasi 10 nama


Tuliskan program yang menerima 10 nama, lalu menampilkan semua
kombinasi pasangan nama.
Contoh keluaran:
# KAMUS
# nama1,nama2,nama3,nama4,nama5 : string
# nama6,nama7,nama8,nama9,nama10 : string
Ali - Budi
Ali - Caca # ALGORITMA
nama1 = input()
… nama2 = input()
nama3 = input()
Ina - Jaja # … Lanjutkan sendiri
nama10 = input()
print(nama1, " – ", nama2)
print(nama2, " – ", nama3)
print(nama3, " – ", nama4)
# … Lanjutkan sendiri
print(nama10, " – ", nama1)

10/10/2024 WI1102/Berpikir Komputasional 3


Struktur Dasar Python

Bagaimana kalau…
❑ Anda diminta menampilkan semua kombinasi pasangan nama yang
mungkin dari …

100 nama ???


1000 nama ???
10000 nama ???
1000000 nama ???
….

10/10/2024 WI1102/Berpikir Komputasional 4


Struktur Dasar Python

Array / Tabel / Vektor / Larik

NMin NMin+1 NMin+2 NMin+3 NMax-2 NMax-1 NMax

Array Elemen Array, dengan


Indeks Array tipe homogen untuk
setiap elemen

• Array mendefinisikan sekumpulan (satu atau lebih) elemen bertype sama


• Setiap elemen tersusun secara terurut (kontigu) dan dapat diakses dengan menggunakan
indeks
• Dalam Python, ada beberapa cara mendeklarasikan array → dalam kuliah ini, array
didefinisikan menggunakan collection type list
10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 5
Struktur Dasar Python

Beberapa contoh kasus

10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 6


Struktur Dasar Python

Mengisi Matriks # Program IsiMatriks;


# Isi matriks dan menulis ke layar

# KAMUS
# M : matriks of integer
# NBrs, NKol : int (ukuran brs & kol)
# i, j : int (indeks)

# ALGORITMA

# deklarasi matriks
NBrs = 5; NKol = 5;
M = [[0 for j in range(NKol)] for i in range(NBrs)]

Python # Mengisi matriks ukuran NBrsxNKol


for i in range (NBrs):
for j in range (NKol):
M[i][j] = i * j

# Menuliskan isi matriks ke layar


for i in range (NBrs):
for j in range (NKol):
print(str(M[i][j])+" ", end='')
print()

10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 7


Struktur Dasar Python

Pencarian Nilai Ekstrem; (Minimum atau Maksimum)


Mencari nilai terbesar atau terkecil dari elemen suatu array
Diketahui:
Sebuah array T dengan ukuran N elemen
Nilai X (bertype sama dengan elemen T)
Buatlah program untuk menuliskan ke layar nilai terbesar dari elemen T
Asumsi: T tidak kosong (minimum 1 elemen, N > 0)

Contoh:
N = 10; T berisi: [9,12,30,-1,0,4,-1,3,30,14] maka nilai terbesar = 30
N = 8; T berisi: [1, 3, 5, 8, -12, 90, 3, 5] maka nilai terbesar = 90

10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 8


Struktur Dasar Python

Flowchart:
{ Inisialisasi, max diisi
elemen ke-0 }
max  T[0]
Pencarian Nilai Ekstrem

{ Loop dari indeks ke-1 }


i1
Pseudocode:
loop ...
false { inisialisasi max dgn elemen ke-0 }
i<N
max  T[0]

true i traversal [1..N-1]


{ ganti kalau ketemu nilai T[i]>max }
true false if (T[i]>max) then
T[i] > max
max  T[i]

...
{ ganti nilai max } { Next elmt array }
max  T[i] ii+1

10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 9


Struktur Dasar Python

Nilai Ekstrem
# Program MaxArray
# Mencari nilai terbesar pada array

# KAMUS
# N : int
# T : array [0..N-1] of int
# i : int
# max : int

# ALGORITMA
N = 10 # assign N dengan ukuran T
# Asumsi: pengisian array sudah dibuat

Python
# Tetap harus dibuat untuk mengetes program

# Mencari nilai maksimum


max = T[0] # init max dgn elemen pertama

# Pencarian dimulai dari elemen ke-2


for i in range(1,N):
# jika ada elemen > max, ganti nilai max
if (T[i] > max):
max = T[i]

# Cetak nilai terbesar


print ("Nilai terbesar = " + str(max))

10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 10


Struktur Dasar Python

Searching; Mencari Indeks Pertama Kemunculan Nilai


Searching adalah proses yang penting dalam pemrosesan tabel karena sering dilakukan
terhadap sekumpulan data yang disimpan dalam tabel
Diketahui:
Sebuah array T dengan ukuran N elemen
Nilai X (bertype sama dengan elemen T)

Buatlah program untuk menuliskan ke layar indeks pertama di T di mana X ditemukan


Asumsikan: Array tidak kosong (minimum 1 elemen, N > 0)

Contoh:
• N = 10; T berisi: [9,12,30,-1,0,4,-1,3,30,14]; X = -1 maka X ditemukan pertama kali di
indeks 3
• N = 8; T berisi: [1, 3, 5, 8, -12, 90, 3, 5]; X = 0 maka X tidak ditemukan di T
10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 11
Struktur Dasar Python

{ Inisialisasi }

Nilai ekstrim
found  false

{ Elemen pertama array }


i0

Pseudocode:
loop
...
false (i<N) and
(found=false) i  0
found  false
true
Flowchart:

while (i<N) and (found=false) do


if (T[i] = X) then
false true found  true
T[i] = X
else { T[i]  X }
i  i + 1
{ i>=N or found=true }
{ Next elmt array } { X ditemukan }
ii+1 found  true ...

10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 12


Struktur Dasar Python

# Program SearchArray

Searching #
#
#
Mencari indeks di mana X ditemukan pertama kali di T
KAMUS
N : int; ukuran T
# T : array [0..N-1] of int
# i, X : int
# found : bool; menentukan X sdh ditemukan/belum

# ALGORITMA
# Asumsi: input array sudah dibuat; N terdefinisi

# Membaca nilai yang dicari, yaitu X


X = int(input())

# Pencarian dimulai dari elemen ke-2

Python i = 0
found = False # found = False; X belum ditemukan
while (i < N and found == False):
if (T[i] == X):
found = True # found = True; X sudah ditemukan
else:
i = i + 1 # hanya increment jika X belum ditemukan
# i = N atau found = True

# Cetak Hasil
if (found == True): # X ditemukan di T
print (str(X) + " ditemukan di indeks ke-" + str(i))
else: # found = False; X tidak ditemukan di T
print (str(X) + " tidak ditemukan")

10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 13


Struktur Dasar Python
print("Masukkan Jumlah Data:")

Sort & Rata-rata


iNumber = int(input())
print("Masukkan Nilai-nilai Array Sesuai Jumlah Data:")
ArrInt = [0 for i in range(iNumber)]

# Mengisi array dari pembacaan nintilai


# dari keyboard
for i in range(0,iNumber):
ArrInt[i] = int(input())

Python sum = 0.0


# Melakukan Sorting (Ascending)
for i in range(0,iNumber):
sum = sum + ArrInt[i]
# Program Sort for j in range(i,iNumber):
# Mengisi array dengan nilai dari pengguna if (ArrInt[i] >= ArrInt[j]):
# Melakukan sort iTemp = ArrInt[i]
ArrInt[i] = ArrInt[j]
# KAMUS ArrInt[j] = iTemp
# iNumber : int --> Jumlah Data
# ArrInt : array [0..9] of int rataRata = sum / iNumber
# iTemp : int print(" ")
print("Hasil sort (ascending):")
# ALGORITMA for i in range(0,iNumber):
# Deklarasi array ArrInt dan print(ArrInt[i])
# mengisinya dengan nilai default 0

10.10.2024 SI-5102 KOMPUTASI TEKNIK SIPIL - EZ SLIDE 14

Anda mungkin juga menyukai