# Tugas

## Tugas Perulangan dengan For

### **Tugas 1: Membuat Daftar Produk Toko Online**

**Soal Cerita:**

Anda diminta untuk membuat daftar produk untuk sebuah toko online. Toko tersebut memiliki berbagai produk yang ingin ditampilkan dalam format yang terstruktur. Setiap produk memiliki nomor urut, nama produk, dan harga. Buatlah sebuah halaman HTML sederhana yang menampilkan daftar produk tersebut dalam sebuah tabel. Jumlah produk yang ditampilkan adalah 10, dengan nama dan harga yang sudah ditentukan. Gunakan perulangan `for` untuk mengisi tabel tersebut secara dinamis.

**Hasil Output:**

| No | Nama Produk | Harga         |
| -- | ----------- | ------------- |
| 1  | Laptop      | Rp 15.000.000 |
| 2  | Smartphone  | Rp 5.000.000  |
| 3  | Tablet      | Rp 3.000.000  |
| 4  | Kamera      | Rp 7.000.000  |
| 5  | Headphone   | Rp 1.000.000  |
| 6  | Smartwatch  | Rp 2.000.000  |
| 7  | Printer     | Rp 2.500.000  |
| 8  | Monitor     | Rp 1.800.000  |
| 9  | Keyboard    | Rp 500.000    |
| 10 | Mouse       | Rp 200.000    |

Output ini menunjukkan tabel dengan 10 produk yang terdaftar secara dinamis menggunakan perulangan `for`, lengkap dengan nomor urut, nama produk, dan harga yang telah diformat.

***

### **Tugas 2: Menampilkan Tabel Nilai Siswa**

**Soal Cerita:**

Anda diminta untuk membuat halaman HTML yang menampilkan tabel nilai siswa. Setiap siswa memiliki nama dan nilai untuk tiga mata pelajaran. Buatlah sebuah tabel yang menampilkan nama siswa, nilai mata pelajaran 1, nilai mata pelajaran 2, dan nilai mata pelajaran 3. Gunakan perulangan `for` untuk mengisi tabel tersebut secara dinamis dengan data yang telah ditentukan.

**Hasil Output:**

| Nama Siswa | Mata Pelajaran 1 | Mata Pelajaran 2 | Mata Pelajaran 3 |
| ---------- | ---------------- | ---------------- | ---------------- |
| Andi       | 85               | 90               | 88               |
| Budi       | 78               | 82               | 79               |
| Cici       | 92               | 88               | 91               |
| Dedi       | 70               | 75               | 80               |
| Evi        | 88               | 94               | 90               |

***

### **Tugas 3: Membuat Daftar Karyawan**

**Soal Cerita:**

Anda diminta untuk membuat halaman HTML yang menampilkan daftar karyawan di sebuah perusahaan. Setiap karyawan memiliki ID, nama, dan posisi. Buatlah sebuah tabel yang menampilkan ID karyawan, nama, dan posisi. Gunakan perulangan `for` untuk mengisi tabel tersebut dengan data yang telah ditentukan.

**Hasil Output:**

| ID Karyawan | Nama | Posisi      |
| ----------- | ---- | ----------- |
| 101         | Joko | Manager     |
| 102         | Sari | Developer   |
| 103         | Rudi | Designer    |
| 104         | Lina | QA Engineer |
| 105         | Tono | SysAdmin    |

***

### **Tugas 4: Menampilkan Tabel Perkalian**

**Soal Cerita:**

Anda diminta untuk membuat halaman HTML yang menampilkan tabel perkalian dari angka 1 hingga 5. Tabel harus menunjukkan hasil perkalian setiap angka dari 1 hingga 5 dengan angka-angka dari 1 hingga 10. Gunakan perulangan `for` untuk mengisi tabel tersebut secara dinamis.

**Hasil Output:**

| Angka | 1 | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 10 |
| ----- | - | -- | -- | -- | -- | -- | -- | -- | -- | -- |
| 1     | 1 | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 10 |
| 2     | 2 | 4  | 6  | 8  | 10 | 12 | 14 | 16 | 18 | 20 |
| 3     | 3 | 6  | 9  | 12 | 15 | 18 | 21 | 24 | 27 | 30 |
| 4     | 4 | 8  | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 40 |
| 5     | 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 |

***

### **Tugas 5: Menampilkan Kalender Bulanan**

**Soal Cerita:**

Anda diminta untuk membuat halaman HTML yang menampilkan kalender untuk satu bulan. Misalkan bulan yang ditampilkan adalah bulan Agustus dengan 31 hari. Buatlah sebuah tabel yang menampilkan setiap tanggal dalam bulan tersebut. Gunakan perulangan `for` untuk mengisi tabel dengan tanggal-tanggal dari 1 hingga 31.

**Hasil Output:**

| 1  | 2  | 3  | 4  | 5  | 6  | 7  |
| -- | -- | -- | -- | -- | -- | -- |
| 8  | 9  | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |    |    |    |    |

Tabel di atas menunjukkan kalender bulan Agustus dengan 31 hari, diatur dalam format tabel dengan minggu dari hari pertama sampai terakhir bulan.

***

## Tugas Perulangan dengan `while`

### Tugas 1: Menampilkan Deret Fibonacci

**Soal:** Tampilkan deret Fibonacci hingga nilai ke-10 menggunakan perulangan `while`. Deret Fibonacci dimulai dari 0 dan 1, dan setiap angka berikutnya adalah jumlah dari dua angka sebelumnya.

**Hasil Output:**

```makefile
Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
```

***

### Tugas 2: Menampilkan Semua Bilangan Ganjil dari 1 hingga 50

**Soal:** Gunakan perulangan `while` untuk menampilkan semua bilangan ganjil dari 1 hingga 50. Pastikan untuk memisahkan setiap bilangan dengan koma.

**Hasil Output:**

```yaml
Bilangan Ganjil: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49
```

***

### Tugas 3: Menghitung Total Pembelian dengan Diskon

**Soal:** Hitung total pembelian dari 5 item dengan harga yang berbeda. Gunakan perulangan `while` untuk menghitung total pembelian dengan diskon 10% untuk setiap item. Tampilkan hasil akhir setelah diskon.

**Hasil Output:**

| Item                               | Harga Asli | Harga Setelah Diskon |
| ---------------------------------- | ---------- | -------------------- |
| Item 1                             | 100.00     | 90.00                |
| Item 2                             | 200.00     | 180.00               |
| Item 3                             | 300.00     | 270.00               |
| Item 4                             | 400.00     | 360.00               |
| Item 5                             | 500.00     | 450.00               |
| **Total Pembelian Setelah Diskon** | **-**      | **1350.00**          |

***

### Tugas 4: Menampilkan Matriks Segitiga Kiri Atas

**Soal:** Gunakan perulangan `while` untuk menampilkan pola segitiga kiri atas dengan karakter asterisk (\*) dalam format berikut:

**Hasil Output:**

```markdown
*
**
***
****
*****
```

### Tugas 5: Menampilkan Deret Kuadrat Angka

**Soal:** Gunakan perulangan `while` untuk menampilkan deret kuadrat angka dari 1 hingga 10. Tampilkan setiap angka beserta hasil kuadratnya dalam format tabel HTML.

**Hasil Output:**

| Angka | Kuadrat |
| ----- | ------- |
| 1     | 1       |
| 2     | 4       |
| 3     | 9       |
| 4     | 16      |
| 5     | 25      |
| 6     | 36      |
| 7     | 49      |
| 8     | 64      |
| 9     | 81      |
| 10    | 100     |

Tabel ini menunjukkan angka dari 1 hingga 10 serta kuadratnya masing-masing.

## Tugas Perulangan dengan `do-while`

### Tugas 1: Menampilkan Deret Angka Prima

**Soal:** Gunakan perulangan `do-while` untuk menampilkan deret angka prima dari 1 hingga 50. Tampilkan setiap angka prima dalam format tabel HTML.

**Contoh Output:**

| Angka Prima |
| ----------- |
| 2           |
| 3           |
| 5           |
| 7           |
| 11          |
| 13          |
| 17          |
| 19          |
| 23          |
| 29          |
| 31          |
| 37          |
| 41          |
| 43          |
| 47          |

***

### Tugas 2: Menampilkan Bulan dalam Setahun

**Soal:** Gunakan perulangan `do-while` untuk menampilkan nama bulan dalam setahun dalam format tabel HTML. Bulan dimulai dari Januari hingga Desember.

**Contoh Output:**

| Bulan     |
| --------- |
| Januari   |
| Februari  |
| Maret     |
| April     |
| Mei       |
| Juni      |
| Juli      |
| Agustus   |
| September |
| Oktober   |
| November  |
| Desember  |

***

### Tugas 3: Menghitung Jumlah Total Penjualan

**Soal:** Gunakan perulangan `do-while` untuk menghitung total penjualan dari 5 produk dengan harga yang berbeda. Tampilkan total penjualan setelah diskon 5% untuk setiap produk dalam format tabel HTML.

**Contoh Output:**

| Produk    | Harga Awal | Harga Setelah Diskon |
| --------- | ---------- | -------------------- |
| Produk 1  | Rp. 500    | Rp. 475              |
| Produk 2  | Rp. 300    | Rp. 285              |
| Produk 3  | Rp. 450    | Rp. 427.5            |
| Produk 4  | Rp. 700    | Rp. 665              |
| Produk 5  | Rp. 250    | Rp. 237.5            |
| **Total** |            | **Rp. 2090**         |

***

### Tugas 4: Menampilkan Rentang Bilangan Genap

**Soal:** Gunakan perulangan `do-while` untuk menampilkan rentang bilangan genap dari 2 hingga 20 dalam format tabel HTML.

**Contoh Output:**

| Bilangan Genap |
| -------------- |
| 2              |
| 4              |
| 6              |
| 8              |
| 10             |
| 12             |
| 14             |
| 16             |
| 18             |
| 20             |

***

### Tugas 5: Menampilkan Deret Kuadrat Angka

**Soal:** Gunakan perulangan `do-while` untuk menampilkan deret kuadrat angka dari 1 hingga 5. Tampilkan setiap angka dan hasil kuadratnya dalam format tabel HTML.

**Contoh Output:**

| Angka | Kuadrat |
| ----- | ------- |
| 1     | 1       |
| 2     | 4       |
| 3     | 9       |
| 4     | 16      |
| 5     | 25      |

## Tugas Perulangan dengan `foreach`

### **Tugas 1: Menampilkan Daftar Nama Mahasiswa**

**Soal:** Gunakan perulangan `foreach` untuk menampilkan daftar nama mahasiswa yang disimpan dalam sebuah array. Tampilkan nama-nama mahasiswa tersebut dalam format daftar berurutan.

**Contoh Output:**

1. Ahmad
2. Budi
3. Chandra
4. Dian
5. Erwin

***

### **Tugas 2: Menghitung Jumlah Nilai Mata Pelajaran**

**Soal:** Anda memiliki array yang berisi nilai-nilai dari beberapa mata pelajaran. Gunakan perulangan `foreach` untuk menghitung total nilai dari semua mata pelajaran dan tampilkan hasilnya.

**Contoh Output:**

| Mata Pelajaran  | Nilai   |
| --------------- | ------- |
| Matematika      | 80      |
| Bahasa Inggris  | 85      |
| Fisika          | 90      |
| Kimia           | 88      |
| Biologi         | 82      |
| **Total Nilai** | **425** |

***

### **Tugas 3: Menghitung Harga Total Belanjaan**

**Soal:** Anda memiliki array yang berisi daftar harga beberapa barang belanjaan. Gunakan perulangan `foreach` untuk menghitung total harga belanjaan, kemudian tambahkan pajak sebesar 10%. Tampilkan total harga setelah pajak.

**Contoh Output:**

| Barang        | Harga       |
| ------------- | ----------- |
| Beras         | 50.000      |
| Gula          | 20.000      |
| Minyak Goreng | 30.000      |
| Tepung        | 15.000      |
| Susu          | 25.000      |
| **Total**     | **154.000** |

***

### **Tugas 4: Menampilkan Detail Produk dengan Diskon**

**Soal:** Anda memiliki array yang berisi daftar produk dan harga aslinya. Gunakan perulangan `foreach` untuk menampilkan nama produk, harga asli, dan harga setelah diskon 20%. Tampilkan hasilnya dalam format tabel.

**Contoh Output:**

| Produk     | Harga Asli | Harga Setelah Diskon |
| ---------- | ---------- | -------------------- |
| Laptop     | 10.000.000 | 8.000.000            |
| Smartphone | 5.000.000  | 4.000.000            |
| Headphone  | 1.000.000  | 800.000              |
| Mouse      | 200.000    | 160.000              |
| Keyboard   | 500.000    | 400.000              |

***

### **Tugas 5: Menampilkan Hasil Ujian Siswa**

**Soal:** Anda memiliki array asosiatif yang berisi nama siswa dan nilai ujian mereka. Gunakan perulangan `foreach` untuk menampilkan nama setiap siswa beserta status lulus/tidak lulus berdasarkan nilai minimal 75.

**Contoh Output:**

| Nama Siswa | Nilai | Status      |
| ---------- | ----- | ----------- |
| Andi       | 78    | Lulus       |
| Budi       | 65    | Tidak Lulus |
| Citra      | 85    | Lulus       |
| Dedi       | 70    | Tidak Lulus |
| Evi        | 90    | Lulus       |
