Tentukan algoritma untuk menemukan jumlah maksimum dalam array tertentu. [1,2,3,4]
Bagian 1: Identifikasi masalahnya
Penggunaan: Masalahnya adalah menemukan jumlah maksimum dalam array tertentu.

Bagian 2: Inisialisasi variabel
Penggunaan: Inisialisasi dua variabel, `max_so_far` dan `max_ending_here` ke 0.

```
max_so_far = 0
max_ending_di sini = 0
```

Bagian 3: Ulangi array
Penggunaan: Ulangi array dan untuk setiap elemen, lakukan hal berikut
- Tambahkan elemen saat ini ke `max_ending_here`
- Jika `max_ending_here` negatif, setel ke 0
- Jika `max_ending_here` lebih besar dari `max_so_far`, setel `max_so_far` ke `max_ending_here`

```
untuk saya dalam jangkauan(len(arr)):
    max_ending_di sini += arr[i]
    jika max_ending_here < 0:
        max_ending_di sini = 0
    elif max_so_far < max_ending_di sini:
        max_so_far = max_ending_di sini
```

Bagian 4: Kembalikan hasilnya
Penggunaan: Mengembalikan variabel `max_so_far` sebagai jumlah maksimum dalam array yang diberikan.

```
kembalikan max_so_far
```

Contoh:

Mari kita ambil array `[1,2,3,4]` yang diberikan untuk mencari jumlah maksimum di dalamnya.

Awalnya, `max_so_far` dan `max_ending_here` keduanya disetel ke 0.

Kami mengulangi array dan untuk setiap elemen, kami menambahkannya ke `max_ending_here`. Jadi, untuk elemen pertama, `max_ending_here = 1`. Untuk elemen kedua, `max_ending_here = 3` (1+2). Untuk elemen ketiga, `max_ending_here = 6` (1+2+3). Untuk elemen keempat, `max_ending_here = 10` (1+2+3+4).

Karena `max_ending_here` selalu positif, kita tidak perlu menyetelnya ke 0.

Pada setiap iterasi, kami juga memeriksa apakah `max_ending_here` lebih besar dari `max_so_far`. Karena itu, kami memperbarui `max_so_far` menjadi `max_ending_here`.

Setelah perulangan, `max_so_far` sama dengan 10, yang merupakan jumlah maksimum dalam larik tertentu. Oleh karena itu, fungsi tersebut akan mengembalikan 10 sebagai output.