powerpoint dasar pemrograman mg 15 fasilkom albaar rubhasy
Post on 18-Jul-2015
290 Views
Preview:
TRANSCRIPT
Modul ke:
Fakultas
Program Studi
Review
Albaar Rubhasy, S.Si., M.T.I.
15FASILKOM
Sistem Informasi
Review perkuliahan 9-14
Outline Perkuliahan
• Review Struktur Kendali
• Review Teknik Modularisasi
• Jawaban Studi Kasus 1
• Jawaban Studi Kasus 2
Review Struktur KendaliDasar Pemrograman
Tiga Struktur Dasar
• Struktur merupakan unit dasar dalampemrograman
• Jenis-jenis struktur dasar:
– Sequence
– Selection
– Loop
Sequence Structure
• Pada sequence structure, serangkaian tindakan dilakukansecara berurutan
• Misal: setelah tindakan A dilanjutkan dengan tindakan B, C, D, dst.
Selection Structure
• Pada selection structure, ada suatu decision yang harus dievaluasi.
• Berdasarkan hasil evaluasi, satu dari dua tindakan akandieksekusi.
Loop Structure
• Pada loop structure, suatutindakan akan dilakukansecara terus-menerusselama kondisi masih valid
Strukturisasi Program dengan Input Dasar
• Input dasar / “priming input” / “priming feed” pernyataan yang ditambahkan untukmemperoleh nilai dari input pertama
• Input dasar penting untuk menghasilkanprogram yang terstruktur dan fungsional(sesuai dengan kebutuhan yang dimaksud)
Program tidakterstruktur
Terstrukturtapi tidakfungsional
Fungsional, tapi tidakterstruktur
Terstrukturdanfungsional, tapi memilikikelemahandalam input
Terstruktur, fungsional sesuaidengankebutuhan
Mengenali Struktur
• Cara untuk membuat program terstrukturadalah dengan mengenali struktur
• Cek apakah program terdiri dari ketiga jenisstruktur:
– Sequence
– Selection
– Loop
Struktur dengansequence dan selection
Struktur dengan loop dan di dalam loop ada selection
Program tidakterstruktur
Program terstrukturdenganmemisahkanstatement J
Review Teknik ModularisasiDasar Pemrograman
Memahami Sub Program (Method)
• Method merupakan modul program yang teridiri dari serangkaian pernyataan yang menjalankan suatu tugas
• Method dapat dipanggil dari program ataumethod lain
• Suatu program dapat memiliki banyak method, dan setiap method dapat dipanggil berkali-kali
• Penamaan method berbeda pada setiapbahasa pemrograman, tapi biasanya miripdengan penamaan variabel
• Method terdiri dari method header (bagiandeklaratif) dan method body. Baris terakhirpada method body merupakan return statement
• Variabel dan konstanta yang dideklarasikandalam method header berlaku secara lokal di dalam method tersebut
Hal Penting Mengenai Method
Terkadang beberapa bagian dari program mengakses data yang sama. Ketika method harusberbagi data, data dapat masuk ke dalammethod dan dikembalikan (return) ke luarmethod. Beberapa hal yang harus diperhatikan:
• Nama method
• Data & tipe data yang dikirim ke method
• Data & tipe data yang keluar dari method
Jawaban Studi Kasus 1Dasar Pemrograman
Nomor 1
Chocolate Delights Candy Company memproduksi berbagai jenispermen. Rancang flowchart dan pseudocode untuk suatuprogram yang dapat menerima data: nama permen (missal: “chocolate covered blueberries”), harga per kg, dan banyaknyapermen yang terjual per bulan. Tampilkan data item jika permenmerupakan best-selling item. Kriteria best-selling item: penjualanlebih dari 1000 kg per bulan.
START
DECLARATIONS
string candy_name
num price
num amount_sold
string quit = “ZZZ”
GIVE “Masukkan
nama permen
atau ketik ZZZ
untuk berhenti: ”
GET
candy_name
candy_name
<> quit?
STOP
NGIVE “Masukkan
harga per kg: ”GET price
GIVE “Masukkan
jumlah penjualan
per bulan: ”
GET
amount_sold
amount_sold
> 1000?
Y
GIVE “Permen”,
candy_name,
”BEST-SELLING
ITEM”
Y NGIVE “Masukkan
nama permen
atau ketik ZZZ
untuk berhenti: ”
GET
candy_name
Nomor 2
XYZ merupakan perguruan tinggi kecil di wilayah timur. Rancangflowchart dan pseudocode untuk suatu program yang dapatmenerima data mahasiswa berikut: NIM, nama depan & belakang, jurusan, dan IPK. Tampilkan data mahasiswa jika IPK di bawah 2.00.
START
DECLARATIONS
string NIM
string firstName
string lastName
string stdMajor
string IPK
string quit = “ZZZ”
GIVE “Masukkan
NIM atau ketik ZZZ
untuk berhenti: ”
GET NIM
NIM <>
quit?
STOP
N
GIVE “Masukkan
Nama Depan Mhs: ”
GET
firstName
Y GIVE “Masukkan
Nama Blkg Mhs: ”
GET
firstName
GIVE “Masukkan
Nama Jurusan : ”
GET
stdMajor
GIVE “Masukkan
IPK: ”
GET IPK
IPK <
2.00?
GIVE “Data Mahasiswa:
”, NIM, fistName,
lastName, stdMajor, IPK
Y
GIVE “Masukkan
NIM atau ketik ZZZ
untuk berhenti: ”
GET NIM
N
Nomor 3
The Summerville Telephone Company merupakan sebuahperusahaan telekomunikasi. Perusahaan tersebut akanmembebani pelanggan Rp 100 per menit untuk panggilan di luararea pelanggan untuk durasi lebih dari 20 menit. Selain itu, biayapanggilannya adalah Rp 300 per menit. Rancang flowchart danpseudocode untuk suatu program yang dapat menerima data panggilan telepon: kode area pelanggan (tiga digit), nomortelepon pelanggan (tujuh digit), kode area panggilan (tiga digit), nomor telepon panggilan (tujuh digit), dan durasi panggilandalam menit. Tampilkan nomor pelanggan, nomor panggilan, danbiaya untuk panggilan tersebut.
START
DECLARATIONS
string areaCode
string callerNo
string destCode
string destNo
num duration
num price
num total
string quit = “ZZZ”
GIVE “Masukkan
kode area atau
ketik ZZZ untuk
berhenti: ”
GET
areaCode
areaCode
<> quit?
STOP
N
GIVE “Masukkan
Nmr Telp Cust: ”
GET callerNo
Y GIVE “Masukkan
Kode Area Tujuan: ”
GET
destCode
GIVE “Masukkan
Nmr Telp Tujuan: ”
GET destNo
GIVE “Masukkan
durasi panggilan: ”
GET duration
areaCode <>
destCode AND
duration > 20?
SET price = 100
SET price = 300
GIVE “Masukkan
kode area atau
ketik ZZZ untuk
berhenti: ”
GET
areaCode
LET total =
price * duration
GIVE “Rincian
biaya panggilan
Anda:”, callerNo,
destNo, total
Y
N
Nomor 4
Drive-Rite Insurance Company memproduksi polis asuransi untukkendaraan. Rancang flowchart dan pseudocode untuk suatuprogram yang dapat menerima data polis asuransi: nomor polis, nama belakang nasabah, nama depan nasabah, jatuh tempo premi (tanggal, bulan dan tahun), dan jumlah kecelakaan dalamtiga tahun terakhir. Nomor polis harus di antara 1000 s/d 9999. Bulan harus di antara 1 s/d 12 dan tanggal harus disesuaikandengan bulannya (missal: taggal valid di bulan Januari adalah 1 s/d 31 dan bulan Febrari adalah 1 s/d 29). Tampilkan data polis jika data polis sudah benar.
START
DECLARATIONS
num noPolis
string lastName
string firstName
num dueDate
num dueMonth
num dueYear
num no_accident
string quit = “ZZZ”
GIVE “Masukkan
nomor polis atau
ketik 0 untuk
berhenti: ”
GET noPolis
noPolis <>
quit?
STOP
N
Y
noPolis
>= 1000 AND
noPolis <=
9999?
GIVE “Masukkan nomor
polis atau ketik ZZZ
untuk berhenti: ”
GET noPolis
N
GIVE “Masukkan
nama belakang:”
GET lastName
Y
GIVE “Masukkan
nama depan: ”
GET firstName
GIVE “Masukkan
tahun: ”
GET dueYearA
GIVE “Masukkan
nomor polis atau
ketik ZZZ untuk
berhenti: ”
GET noPolis
GIVE “Rincian polis : ”,
noPolis, lastName,
firstName, dueDate,
dueMonth, dueYear,
no_accident
GIVE “Masukkan
bulan: ”
dueMonth
>= 1 AND
dueMonth <=
12?
GET dueMonth
GIVE “Masukkan
bulan: ”
GET dueMonth
A
N
GIVE “Masukkan
tanggal: ”
GET dueDate
Y
dueDate =
2?
dueDate = 4 OR
dueDate = 6 OR
dueDate = 9 OR
dueDate = 11?
dueDate
>= 1 AND
dueDate <=
31?
GIVE “Masukkan
tanggal: ”
GET dueDate
Y
N
N
N
C
B
Y
Y
GIVE “Masukkan
jml kecelakaan:”
GET no_accident
C
dueDate
>= 1 AND
dueDate <=
30?
GIVE “Masukkan
tanggal: ”
GET dueDate
B
dueDate
>= 1 AND
dueDate <=
29?
GIVE “Masukkan
tanggal: ”
GET dueDate
Y
N
Y
N
Nomor 5
The Barking Lot adalah perusahaan yang bergerak di bidang jasapenitipan anjing. Rancang flowchart dan pseudocode untuk suatuprogram yang dapat menerima data: No KTP dan nama pemilikanjing; serta ras, usia, dan berat anjing. Masukkan juga data terkait berapa lama dititipkannya anjing. Biaya jasa penitipan per minggunya adalah sebagai berikut: Rp 500.000 untuk anjingdengan bobot di bawah 30 kg, Rp 750.000 untuk bobot 30 s/d 60, Rp 1.000.000 untuk bobot 61 s/d 100 kg, dan Rp 1.250.000 untukbobot di atas 100 kg. Tampilkan data yang telah diinput sertarincian tagihan yang harus dibayar pemilik anjing.
START
DECLARATIONS
string KTP
string nama
string ras
num usia
num berat
num lama
num tarif
num total
string quit = “ZZZ”
GIVE “Masukkan
nomor KTP atau
ketik ZZZ untuk
berhenti: ”
GET KTP
KTP <>
quit?
STOP
N
GIVE “Masukkan
Nama Pelanggan: ”
GET nama
GIVE “Masukkan
Ras Anjing: ”
GET ras
GIVE “Masukkan
Usia Anjing: ”
GET usia
GIVE “Masukkan
Bobot Anjing (kg): ”
GET berat
GIVE “Masukkan
Lama Penitipan : ”
GET lama
A
Y
GIVE “Masukkan
nomor KTP atau
ketik ZZZ untuk
berhenti: ”
GET KTP
GIVE “Rincian
tagihan: ”, KTP,
nama, ras, usia,
berat, lama, total
A
berat <
30?
N
berat <
61?
berat <
100?
N
N
SET tarif = 500000
SET tarif = 750000
SET tarif = 1000000
SET tarif = 1250000
Y
Y
Y
LET total = tarif * lama
Nomor 6
Rick Hammer adalah seorang tukang kayu yang ingin memilikiaplikasi untuk menghitung harga meja berdasarkan pesananpelanggan. Harga meja didasarkan pada: panjang dan lebar mejadalam cm, tipe kayu, dan jumlah laci. Perhitungan harga mejaadalah sebagai berikut:
– Biaya minimum untuk seluruh meja adalah Rp 2.000.000
– Jika luas meja di melebihi 1 m2, tambah Rp 500.000
– Jika jenis kayu mahoni tambah Rp 1.500.000; kayu ek tambah Rp1.250.000. Untuk kayu pinus tidak dikenakan biaya tambahan
– Untuk setiap laci, dikenakan biaya tambahan sebesar Rp 300.000
Rancang flowchart dan pseudocode untuk suatu program yang dapat menerima data nomor pesanan, nama pelanggan, panjang& lebar meja pesanan, tipe kayu, dan banyaknya laci. Tampilkandata yang dimasukkan dan harga akhir dari meja yang dipesan.
START
DECLARATIONS
string nama
num panjang
num lebar
num jenisKayu
num banyakLaci
num luas
num tarif
string namaKayu
string quit = “ZZZ”
GIVE “Masukkan
nama pelanggan
atau ketik ZZZ
untuk berhenti: ”
GET nama
nama <>
quit?
STOP
N
GIVE “Masukkan
Panjang Meja: ”
GET panjang
GIVE “Masukkan
Lebar Meja: ”
GET lebar
GIVE “Pilih jenis
kayu (0=Pinus,
1=Mahoni, 2=Ek) : ”
GET
jenisKayu
GIVE “Masukkan
Jumlah Laci: ”
GET
banyakLaci
A
Y
GIVE “Masukkan
nomor KTP atau
ketik ZZZ untuk
berhenti: ”
GET KTP
GIVE “Rincian
pemesanan meja:
”, nama, panjang,
lebar, luas,
namaKayu, tarif
LET luas = panjang * lebar
A
luas > 1?
SET tarif = 2000000 SET tarif = 2500000
jenisKayu
= 1?
jenisKayu
= 2?
LET tarif = tarif + 1250000 LET tarif = tarif + 1500000
LET tarif = tarif + (banyakLaci * 300000)
SET namaKayu = “MAHONI”SET namaKayu = “EK”SET namaKayu = “PINUS”
Y
Y
Y
N
N
N
Nomor 7
Sebuah perusahaan ingin mendorong karyawannya untukmenghemat energy dengan mengurangi penggunaan kendaraanpribadi. 10% karyawan tinggal di Wonder Lake dan 30% karyawantinggal di Woodstock. Perusahaan menginginkan karyawan yang tinggal di kedua wilayah untuk mengendarai kendaraan bersamaketika bekerja. Rancang flowchart dan pseudocode untuk suatuprogram yang dapat menerima data karyawan (nama dan tempattinggal) serta tampilkan karyawan yang menjadi kandidat carpool. Data karyawan akan diminta terus hingga dimasukkan suatusentinel value.
START
DECLARATIONS
string nama
string domisili
num MAX = 5
num counter1
num counter2
string kandidat1
string kandidat2
domisili
<> 0?
STOP
SET counter1 = 0
GIVE “Pilih
domisili
(1=Wonder Lake,
2=Woodstrock,
0=Selesai):”
GET domisili
SET counter2 = 0
domisili
= 1?
BA
GIVE “Pilih
domisili
(1=Wonder Lake,
2=Woodstrock,
0=Selesai):”
GET domisili
N
N
Y
Y
A
counter1
<= MAX?
GIVE
“Masukkan
Nama”
GET nama
LET kandidat1 =
kandidat1 . nama
LET counter1 =
counter1 + 1
GIVE “Kandidat
Carpool Wonder
Lake”, kandidat1
GIVE “Carpool
Wonder Lake
Sudah Penuh”
YN
B
counter2
<= MAX?
GIVE
“Masukkan
Nama”
GET nama
LET kandidat2 =
kandidat2 . nama
LET counter2 =
counter2 + 1
GIVE “Kandidat
Carpool Wood
stock”, kandidat2
GIVE “Carpool
Woodstock Sudah
Penuh”
YN
Nomor 8
Diana Lee, seorang supervisor pada sebuah perusahaanmanufaktur. Ingin mengetahui siapa saja karyawan yang berperandalam meningkatkan produksi tahun ini jika dibandingkan dengantahun lalu. Karyawan-karyawan ini akan diberikan sertifikatpenghargaan dan bonus. Rancang flowchart dan pseudocodeuntuk suatu program yang dapat menerima data karyawan (namadepan & belakang karyawan serta produksi unit tahun ini & produksi unit tahun lalu). Tampilkan data karyawan, performance (apakah produksi meningkat dari tahun sebelumnya?), danbonus. Rincian bonus adalah sebagai berikut:
– 1000 unit atau kurang, bonus Rp 250.000
– 1001 s/d 3000 unit, bonus Rp 500.000
– 3001 s/d 6000 unit, bonus Rp 1.000.000
– 6001 unit atau lebih, bonus Rp 2.000.000
START
DECLARATIONS
string firstName
string lastName
num currentProd
num lastProd
num performance
num bonus
string quit = “ZZZ”
firstName
<> quit?
STOP
GIVE “Masukkan
Nama Depan
atau ketik “ZZZ”
untuk selesai:”
GET
firstName
GET
lastName
N
YGIVE
“Masukkan
Nama Blkg: ”
GET
currentProd
GIVE
“Masukkan
Produksi
Tahun Ini: ”
GET lastProd
GIVE
“Masukkan
Produksi
Tahun Lalu: ”
LET performance =
currentProd – lastProd
Performance
<= 1000?
Performance
<= 3000?
Performance
<= 6000?
SET bonus = 250000
SET bonus = 500000
SET bonus = 1000000
SET bonus = 2000000
GIVE “Masukkan
Nama Depan
atau ketik “ZZZ”
untuk selesai:”
GET
firstName
GIVE “”Data
Bonus: ”,
firstName,
lastName,
performance,
bonus
Y
Y
Y
N
N
N
Jawaban Studi Kasus 2Dasar Pemrograman
Nomor 1
Buat flow chart untuk program yang dapat menjalankan fungsiaritmatika. Program dapat menerima 2 (dua) variabel numerikyang diinput oleh pengguna. Lempar kedua variabel tersebut kemethod bernama sum() dan diff(). Buat flow chart untuk keduamethod: sum() untuk penjumlahan dan diff() untuk pengurangandua bilangan. Setiap method berfungsi untuk menghitung danmenampilkan hasilnya. Berikan pilihan kepada pengguna apakahingin melakukan penjumlahan atau pengurangan, dan berikanpilihan untuk mengulangi penghitungan hingga pengguna sudahtidak ingin melakukan penghitungan dengan cara memasukkansentinel value.
START
DECLARATIONS
num val1
num val2
num choice
GIVE “Pilih
penghitungan
(1=Penjumlahan,
2=Pengurangan,
0=Selesai) : ”
GET choice
choice<> 0?
STOP
N
Y
choice=1?
sum(choice, val1, val2) diff(choice, val1, val2)
Y N
GIVE “Pilih
penghitungan
(1=Penjumlahan,
2=Pengurangan,
0=Selesai) : ”
GET choice
GIVE
“Masukkan
Angka
Pertama”
GET val1
GIVE
“Masukkan
Angka
Kedua”
GET val2
sum(num choice, num val1, num val2)
DECLARATIONS
num hasil
LET hasil = val1 + val2
GIVE “Hasil
Penjumlahan
antara”, val1,
“dan”,
val2,”adalah”,
hasil
return
diff(num choice, num val1, num val2)
DECLARATIONS
num hasil
LET hasil = val1 - val2
GIVE “Hasil
Pengurangan
antara”, val1,
“dan”,
val2,”adalah”,
hasil
return
Nomor 2
Buat flow chart untuk program yang dapat menghitung hargaakhir dari transaksi penjualan. Program dapat menerima data: harga produk, komisi penjualan (dalam %), dan diskon pelanggan(dalam %). Buat method calculatePrice() untuk menghitung hargaakhir yang nilainya dikembalikan ke program utama. calculatePrice() membutuhkan tiga parameter: harga produk, rate komisi (%), dan rate diskon (%). Rumus untuk menghitung hargaakhir adalah: harga asli produk, ditambah besaran komisi, dikurangi besaran diskon. Besaran diskon dihitung setelahpenjumlahan antara harga asli produk dengan besaran komisi. Berikan pilihan kepada pengguna untuk melakukan penghitunganulang hingga pengguna menginput sebuah sentinel value.
START
DECLARATIONS
num harga
num komisi
num diskon
num total
GIVE “Masukkan
harga produk
atau ketik 0 untuk
selesai : ”
GET harga
harga<> 0?
STOP
N
Y
LET total = calculatePrice(harga, komisi, diskon)
GIVE “Pilih
penghitungan
(1=Penjumlahan,
2=Pengurangan,
0=Selesai) : ”
GET choice
GIVE
“Masukkan
Komisi”
GET komisi
GIVE
“Masukkan
Diskon”
GET dison
GIVE “Harga
Akhir Transaksi
adalah: Rp”, total
num calculatePrice(num harga, num komisi, num diskon)
DECLARATIONS
num hargaAkhir
LET hargaAkhir= harga + (harga * komisi)
– (harga + (harga * komisi))*diskon
return hargaAkhir
Nomor 3
Buat flow chart untuk program yang dapat menghitung pangkatdua dan pangkat tiga dari sebuah bilangan. Program dapatmenerima sebuah bilangan yang diinput oleh pengguna, danbilangan tersebut dilempar ke method bernama square() untukmenghitung pangkat dua dari bilangan, dan cube() untukmenghitung pangkat tiga dari bilangan. Setiap method berfungsiuntuk menghitung dan menampilkan hasilnya. Input terusbilangan hingga pengguna menginput angka 0 (nol).
START
DECLARATIONS
num val
num choice
GIVE “Pilih
penghitungan
(1=Pangkat Dua,
2=Pangkat Tiga,
0=Selesai) : ”
GET choice
choice<> 0?
STOP
N
Y
choice=1?
square(val) cube(val)
Y N
GIVE “Pilih
penghitungan
(1=Pangkat Dua,
2=Pangkat Tiga,
0=Selesai) : ”
GET choice
GIVE
“Masukkan
Angka”
GET val1
square(num val)
DECLARATIONS
num hasil
LET hasil = val * val
GIVE “Pangkat
Dua dari ”,val,”
adalah: ”, hasil
return
cube(num val)
DECLARATIONS
num hasil
LET hasil = val*val*val
GIVE “Pangkat
Tiga dari ”,val,”
adalah: ”, hasil
return
Nomor 4
Buat flow chart untuk program untuk menghitung total nilaiinvestasi. Program dapat menerima data nilai investasi dan rata-rata pengembangan investasi per tahun (dalam %). Buat duamethod terpisah yang berfungsi untuk menghitung total nilaiinvestasi dalam setahun (rumus: nilai investasi ditambah besaranpengembangan investasi), dan menampilkan hasil penghitungantotal nilai investasi. Berikan pilihan kepada pengguna untukmelakukan penghitungan ulang hingga pengguna menginputsebuah sentinel value.
START
DECLARATIONS
num dana
num rate
GIVE “Masukkan
dana investasi
atau ketik 0 untuk
selesai: ”
GET dana
choice<> 0?
STOP
N
Y
calcGrowth(dana, rate)
GIVE “Masukkan
dana investasi
atau ketik 0 untuk
selesai: ”
GET dana
GIVE “Masukkan
Rata-rata
Pengembangan
Investasi per Tahun”
GET rate
calcGrowth(num dana, num rate)
DECLARATIONS
num hasil
num total
LET hasil = dana * rate
return
printGrowth(num hasil, num total)
GIVE “Hasil
pengembangan
investasi anda
adalah : Rp ”,
hasil, “Total dana
investasi anda
adalah : Rp ”,
total
return
printGrowth(hasil, total)
LET total = dana + hasil
Nomor 5Buat flow chart dari sebuah program yang bertujuan untukmenghitung gaji mingguan. Ada dua metode untuk menghitung gajimingguan: (1) gaji mingguan dihitung sebagai 1/52 dari gaji tahunankaryawan, dan (2) gaji mingguan dihitung berdasarkan perkalianantara jumlah jam kerja per minggu dan gaji per jam. Program dapatmemberikan pilihan kepada pengguna metode mana yang dipilihdalam menghitung gaji mingguan. Jika dipilih metode (1) maka harusdiinput oleh pengguna berapa gaji tahunan karyawan, dan jika dipilihmetode (2) harus diinput berapa jumlah jam kerja per minggu dan gajiper jamnya. Buat method computeWeeklySalary()untuk memberikanpilihan metode penghitungan gaji mingguan. Nilai dari pilihandikembalikan ke program utama dan dilakukan penghitungan gajimingguan berdasarkan metode penghitungan gaji mingguan pilihanpengguna. Setelah dilakukan penghitungan, tampilkan hasilnya. Berikan pilihan kepada pengguna untuk melakukan penghitunganulang hingga pengguna menginput sebuah sentinel value.
START
DECLARATIONS
string nama
num gajiPerTahun
num jamKerja
num gajiPerJam
num hasil
num choice
string quit = “ZZZ”
nama <>
quit?
STOP
N
Y
LET choice = computeWeeklySalary()
GIVE “Masukkan
nama atau ketik
ZZZ untuk
selesai:”
GET nama
choice = 1?
LET hasil =
gajiPerTahun/52
LET hasil =
gajiPerJam*jamKerja
GIVE “Masukkan
Gaji Per Jam: “
GIVE “Masukkan
Jam Kerja: “
GET gajiPerJam
GET jamKerja
GIVE “Masukkan
Gaji Per Tahun: “
GET gajiPerTahun
GIVE “Masukkan
nama atau ketik
ZZZ untuk
selesai:”
GET nama
GIVE “Gaji Per
Minggu adalah:
Rp”, hasil
Y N
num computeWeeklySalary()
DECLARATIONS
num choice
return (choice)
GIVE “Pilih
metode
penghitungan gaji
(1=Tahunan,
2=Harian):”
GET choice
Nomor 6
Buat flow chart dari sebuah program yang bertujuan untukmenghitung luas dari sebuah segi empat. Pengguna diberikanpilihan apakah ingin menghitung luas persegi atau persegipanjang. Pilihan dijalankan oleh method rectangle() danmengembalikan nilai pilihan pengguna ke program utama. Berdasarkan pilihan pengguna, input satu nilai numerik jikapengguna memilih menghitung luas persegi dan input dua nilainumerik jika pengguna memilih menghitung luas persegi panjang. Setelah dilakukan penghitungan luas, tampilkan hasilnya. Berikanpilihan kepada pengguna untuk melakukan penghitungan ulanghingga pengguna menginput sebuah sentinel value.
START
DECLARATIONS
string nama
num val1
num val2
num luas
num choice
string lanjut
lanjut <>
“N”?
STOP
N
Y
LET choice = rectangle()
GIVE “Program
Menghitung Segi
Empat. Lanjut?
(Y/N): ”
GET lanjut
choice = 1?
LET luas = val1 * val1 LET luas = val1 * val2
GIVE “Masukkan
Panjang: “
GIVE “Masukkan
Lebar: “
GET val1
GET val2
GIVE “Masukkan
Sisi Persegi: “
GET val1
GIVE “Program
Menghitung Segi
Empat. Lanjut?
(Y/N): ”
GET lanjut
GIVE “Luas segi
empat adalah:”,
luas
Y N
num rectangle()
DECLARATIONS
num choice
return (choice)
GIVE “Pilih 1
untuk hitung luas
persegi dan 2
untuk hitung luas
persegi panjang:”
GET choice
Terima KasihAlbaar Rubhasy, S.Si., M.T.I.
top related