Powerpoint dasar pemrograman mg 15 fasilkom albaar rubhasy (revisi)

71
Modul ke: Fakultas Program Studi Review Albaar Rubhasy, S.Si., M.T.I. 15 FASILKOM Sistem Informasi Review perkuliahan 9-14

Transcript of Powerpoint dasar pemrograman mg 15 fasilkom albaar rubhasy (revisi)

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

GIVE “Masukkan

nomor polis atau

ketik 0 untuk

berhenti: ”

GET noPolis

noPolis <>

0?

STOP

N

Y

noPolis

>= 1000 AND

noPolis <=

9999?

GIVE “Masukkan ulang

nomor polis : ”

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 0 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

ulang bulan: ”

GET dueMonth

A

N

GIVE “Masukkan

tanggal: ”

GET dueDate

Y

dueMonth

= 2?

dueMonth = 4 OR

dueMonth = 6 OR

dueMonth = 9 OR

dueMonth = 11?

dueDate

>= 1 AND

dueDate <=

31?

GET dueDate

GIVE “Masukkan

ulang tanggal: ”

Y

N

N

N

C

B

Y

Y

GIVE “Masukkan

jml kecelakaan:”

GET no_accident

C

dueDate

>= 1 AND

dueDate <=

30?

GIVE “Masukkan

ulang tanggal: ”

GET dueDate

B

dueDate

>= 1 AND

dueDate <=

29?

GIVE “Masukkan

ulang 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

nama pelanggan

atau ketik ZZZ

untuk berhenti: ”

GET nama

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

num 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(val1, val2) diff(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 val1, num val2)

DECLARATIONS

num hasil

LET hasil = val1 + val2

GIVE “Hasil

Penjumlahan

antara”, val1,

“dan”,

val2,”adalah”,

hasil

return

diff(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 “Masukkan

harga produk

atau ketik 0 untuk

selesai : ”

GET harga

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 val

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.