PENYELESAIAN TRAVELLLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA HILL CLIMBING
Materi 3: Pemrograman Sekuensial - Web viewProblem: Seorang salesman akan menerima komisi...
-
Upload
truongdieu -
Category
Documents
-
view
293 -
download
3
Transcript of Materi 3: Pemrograman Sekuensial - Web viewProblem: Seorang salesman akan menerima komisi...
3. Materi 3: Pemrograman Sekuensial3.1. Sekilas Tentang Pemrograman Sekuensial
Suatu pemrograman tidaklah terlepas dari algoritma sebagai acuan untuk
membuat program. Pemrograman sekuensial merupakan runtunan (sekuensial /
sequence) satu atau lebih instruksi, yang berarti bahwa:
- Tiap instruksi dikerjakan satu per satu
- Tiap instruksi dilaksanakan tepat satu kali; tidak ada instruksi yang di ulang
- Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi
sebagaimana yang tertulis di dalam teks algoritmanya.
- Akhir dari instruksi terakhir merupakan akhir algoritma.
3.2. Contoh-contoh Pemrograman Sekuensial
1. Mencetak pesan “hello world”
Output:
2. Menghitung luas persegi panjang
Output:
3. Menghitung komisi salesman
Problem: Seorang salesman akan menerima komisi berdasarkan nilai penjualan
yang dicapai. Salesman itu mendapat komisi 5% dari hasil penjualannya.
Buatlah program untuk menghitung komisi yang didapatkan seorang salesman.
Algoritma program adalah pertama program meminta input data nama salesman
dan nilai penjualannya, kemudian program akan menghitung komisi, lalu
mencetak nama salesman dan komisi yang didapatkan.
Solving Problem: Program tersebut memerlukan tiga buah variable sebagai
berikut:
Nama variable Tipe data Keterangannama_salesman string Nama salesmannilai_penjualan long int Nilai penjualankomisi double Besar komisi yang didapatkan
Output:
4. Konversi waktu ke dalam detik
Problem: seorang pelari maraton menempuh lari yang diukur dalam satuan jam,
menit, dan detik. Buatlah program yang mengkonversikan waktu tempuh pelari
tersebut ke dalam satuan detik. (1 menit = 60 detik; i jam = 3600 detik).
Solving: rumus konversi ke dalam detik adalah: (jam*3600) + (menit *60)+detik
Source code:
Output:
3.3. Exercise
1. Buatlah sebuah program dengan spesifikasi sebagai berikut:
- Menampilkan tulisan “hello world”.
- Meminta pengguna memasukkan namanya,
- Kemudian menuliskan pesan “Senang berjumpa denganmu, <nama>”
2. Write a program that asks the user to type the price without tax of one kilogram
of tomatoes,the number of kilograms you want to buy and the tax in percent
units. The program must write the total price including taxes.
3. Write a program that asks the user to type 5 integers and writes the average of
the 5 integers. (This program can use only 2 variables).
4. Gaji yang diterima pegawai terdiri dari gaji pokok, tunjangan dan upah lembur,
besar tunjangan 15% dari gaji pokok, besar upah lembur perjam 3% dari gaji
pokok. Buatlah program untuk menghitung gaji yang diterima pegawai.
Masukan (Input). nomor pegawai, nama,gaji pegawai,jumlah jam lembur.
Keluaran (Output): Gaji pokok,tunjangan,uang lembur,total gaji
5. Sebuah proyek dikerjakan selama x hari. Buatlah program untuk mengkonversi
berapa tahun, berapa bulan, dan berapa hari proyek tersebut dikerjakan.
(diasumsikan 1 tahun = 365 hari; 1 bulan = 30 hari). Output dari program
adalah tahun, bulan, dan hari.
6. Buatlah program untuk membantu kasir swalayan untuk memisahkan pecahan
uang kembalian menjadi 50.000, 20.000, 10.000, 5.000, 2000, 1000, 500,dan
100. Contoh:
Jumlah Uang Kembali : Rp. 88800
Pecahan uang kembali:
1 Lembar 50.000
1 Lembar 20.000
1 Lembar 10.000
1 Lembar 5.000
1 Lembar 2000
1 Lembar 1000
1 Lembar 500
3 Lembar 100