JOB SHEET 3
Disusun oleh
Nama: Arizka Hamidan D
NIM: 3.34.19.0.06
PROSES 1
B. Bentuk Pseudocodenya:
If kondisi Then
Proses 1
Else
Proses 2
Endif
Tidak
KONDISI ?
Ya
PROSES 1
KONDISI adalah ungkapan bernilai Boolean(true atau false), berikut penjelasan kedua gambar
diatas:
(a) Jika ungkapan dalam bentuk kondisi bernilai benar(TRUE) maka proses 1 yang akan
dikerjakan dan bila bernilai salah(FALSE) maka selanjutnya diluar kalang IF yang akan
dikerjakan.
STRUKTUR If-Then STUKTUR If-else Jamak
2. Nested If
Nested if atau struktur if bersyarang atau struktur if dalam if digunakan untuk menyelesaikan
masalah-masalah yang memiliki lebih dari dua cabang. Seperti halnya struktur If-Then
ataupun If-Then-Else, alternatif-alternatif dalam nested if bisa berupa alternatif hanya terdiri
dari satu proses atau aksi ( tunggal ) atau alternatif yang terdiri dari sejumlah proses atau aksi
( jamak) ataupun kombinasi antar keduanya. Berikut ini contoh flow chart untuk nested if:
Tidak
If Kondis 1 Then
KONDISI 1
If Kondisi 1 Then
Ya PROSES 1
Proses 2b
Else
Tidak
KONDISI 2
Proses 2a
Endif
Ya
PROSES 2a PROSES 2b
Catatahn : Proses atau aksi bisa
juga berupa proses atau aksi jamak
Perhatian :
Bila suatu proses atau aksi setelah If-Then atau Else perintah tidak diapit dengan begin
dan end maka hanya tepat satu proses atau aksi setelah If-Then atau Else yang diuji
berdasarkan syarat atau kondisi dalam percabangan tersebut.
Hal tersebut di atas juga berlaku pada proses implementasi ke dalam suatu bahasa
pemrograman, yang mungkin membedakan adalah sintaksis dan semantiknya.
IV. LANGKAH KERJA
1. Hidupkan computer anda!
2. Jalankan Microsoft Visio, dengan cara menekan tombol Start -> Program->MS Office 2000-
>Microsoft Visio. Selanjutnya gambarkan laj algoritma dari permasalahan berikut ini dan
simpan dalam satu nama file: Lat03.vsd
3. Jalankan Microsoft Word, dengan cara menekan tombol Start->Program->MS Office 2000-
>Microsoft Word. Selanjutnya tuliskan algoritma dari prmasalahan berikut ini dan simpan
dalam satu nama file: Lat03.doc.
4. Buatlah algoritma dengan bentuk flowcharts dan buat pula pseudocodenya untuk proses
menentukan suatu keputusan seseorang mendapatkan korting bila total pembeliannya Rp
50.000 atau lebih dimana proses memasukkan jumlah beli di masukkan dari keyboard,
selanjutnya diproses dan menghasilkan keluaran besar dan jumlah bayarnya.
PROGRAM BELANJAAN
(Discout 10% Min Belanja 50k)
DEKLARASI
total_belanja : integer
MASUKKAN
PEMBELIAN
PEMBAYARAN >=
50.000
DISKON<-
DISKON<-0
PEMBELIAN/20
PEMBAYARAN<-
PEMBELIAN-DISKON
TAMPILKAN
END
(PEMBAYARAN)
5. Buatlah algoritma dalam bentuk flowcharts dan buat pula pseudocodenya untuk proses
menentukan apakah suatu bilangan yang dimasukkan dari keyboard itu bilangan ganjil atau
genap. Hasilkan keluaran proses ini berupa tampilan sebagai berikut:
Output
Output
(“ Bilangan”,intBil,” tidak habis dibagi 2”)
(“Karena itu termasuk sebagian bilangan ganjil”)
} Untuk bilangan ganjil
Atau
Output (“Bilangan”,intBil,” habis dibagi 2”)
Output (“Karena itu termasuk sebagian bilangan gebap”) } Untuk bilangan genap
Start
Masukkan
angka
Print hasil
Stop
Pseudocode:
JENIS BILANGAN
(Menentukan Jenis Bilangan Ganjil/Genap)
Deklarasi :
p : integer
6. Suatu toko fotocopy berusaha meningkatkan layanan dengan pola sebagai berikut:
a. Jika yang mengkopy sudah terdaftar sebagai pelanggan maka akan
mendapat potongan harga/lembar kopynya Rp. 75 untuk jumlah kopy
kurang dari 100 lembar dan bila lebih dari atau sama dengan 100 lembar
diberikan potongan harga/lembar kopynya Rp. 65, untuk harga normal
perlembar/kopynya Rp. 80.
b. Jika yang mengkopy belum terdaftar sebagai pelanggan maka akan
mendapat potongan harga/lembar kopynya Rp. 70 untuk jumlah kopy lebih dari
atau sama dengan 200 lembar.
c. Hasil keluaran berupa jumlah lembar kopynya, besar potongan harga
yang diperoleh dan jumlah bayarnya.
d. Selesaikan permasalahan ini seperti metode langkah kerja no.4 (flowcharts
dan pseudocode )dan simpan ke dalam hardisk atau disket data dengan nama file
yang sama pula.
Start
Masukkan
nama
Hitung harga =
jumlah lembar *
harga per lembar
Print jumlah
harga
Stop
Pseudocode :
POROGRAM JUMLAH HARGA FOTOCOPY
(Jumlah Harga Dengan Discount Untuk Pelanggan Terdaftar)
DEKLARASI:
jml ft : integer
hrg plbr, jml discount, jml harga: integer
jns plnggn : char
DESKRIPSI :
Write : (Apakah anda pelaggan terdaftar (Y/T)? : ‘ ’, jns
plggn)
Write : (Masukkan jumlah lembar kopi : ‘ ’, jml ft)
If jns plnggn : ‘Y’ then
If (jml ft >= 100) then
hrg plbr←65
Else
hrg plbr ←75
Endif
Else
hrg plbr ←80
Endif
jml harga ← hrg plbr*jml ft
jml discount←( jml ft*80)-jml harga
Write (‘Jumlah lembar yang anda copy: ’,jml_ft)
Write (‘Jumlah Potongan harga : ’,jml_discout)
Write (‘Jumlah harga : ’,jml_harga)
1. Apa yang dimaksud dengan proses atau aksi jamak dan tunggal ? jelaskan dengan singkat
dan jelas .
Jawaban :
Proses atau aksi tunggal : hanya ada satu proses yang dikerjakan bila suatu kondisi/syarat
terpenuhi.
Proses atau aksi jamak : ada dua atau lebih proses yang dikerjakan bila suatu kondisi/syarat
terpenuhi.
2. Diketahui suatu permasalahan sistem pembayaran panggilan disuatu wartel sebagai berikut
:
a. Sistem pembayaran didasarkan pada lama percakapan ( jam akhir pembicaraan – jam awal
pembicaraan).
b. Hitunglah berapa pulsa telepon yang dipakai jika per-pulsa telepon berubah setiap 20 detik.
c. Jika pembicaraan dilakukan pada hari libur atau antara jam 10:00 malam sampai jam
07:00 pagi mendapat diskon 30% dari total pembayaran dan untuk waktu selain itu
tidak m endapatkan diskon. Hitunglah jumlah bayarnya, dengan harga per-pulsa Rp.
200,-
d. Buatlah flowcharts dan pseudocodenya serta impelentasikan permasalahan ini ke dalam
bahasa pemrograman C.
Jawaban :
Start
Masukkan
awal dan
akhir
percakapan
Print total
harga
Stop
Pseudocode :
PROGRAM WARTEL
DEKLARASI
lm_bcr : integer
hr_lbr : char
biaya,bayar : long integer
DESKRIPSI
Write (‘lamanya bicara dalam detik=
‘,lm_bcr)
Write (‘hari libur? (Y/T)=’,hr_lbr)
Biaya lm_bcr*200/20
If (hari libur==y) then
Bayar biaya * 30%
Else
if (’22.00-07.00’)
Bayar biaya * 30%
Else
Bayar biaya
endif
endif
2
3. Diketahui persamaan kuadrat ax + bx + c = 0. Buatlah program untuk menghitung nilai-
nilai akarnya dengan ketentuan nilai deskriminannya sebagai berikut :
2
D = b – 4ac
Dari nilai deskriminan yang diperoleh memiliki tiga kemungkinan berikut yang
dijadikan sebagai dasar untuk menentukan nilai akar-akarnya.
b
Jika D = 0, maka nilai akarnya x1 = x2 =
2
a
D
Jika D > 0, maka nilai akarnya x1 = - b
+ 2a
D
x2 = - b -
2a
Jika, D < 0 , maka akarnya imajiner (Tampilkan keterangan “Akar Imajiner).
Tugas anda:
Buatlah algoritma dengan bentuk flowcharts dan pseudocode serta
implementasikan permasalahan tersebut ke dalam bahasa Pascal / Bahasa C.
Start
Masukkan
a,b,c
Jika
Jika D=0 Hitung=x=1(-
D>0
Nilai D b+sqrt(d))/
Hitung=x=-b/ 2*ax2=(-
2*a b_sqrt(d))/2*a
Jika D<0
Print ´hasil
imajiner
Print hasil
Stop
Pseudocode :
DEKLARASI :
Var a,b,c,D,x1,x2
DESKRIPSI :
Read (a)
Read (b)
Read (c)
D <- b^2-4ac
If D == 0 then
x1<-b/2a
x2<-b/2a
Print(x1,x2)
If D > 0 then
x1<- (-b+(sqrt(b)/2a))
Print (x1,x2)
Else
End.
4. Berikanlah kesimpulan dari praktik yang anda lakukan di jobsheet ketiga ini .
Kesmpulan :
Pada raktek jobsheet kali ini dapat disimpulkan bahwa penggunaan if else dalam c sangat
berguna. Penggunaan if else sendiri sangat berguna dalam pembuatan program.
VI. Penutup
Demikian laporan praktikum jobsheet 3 logika dan algoritma saya buat. Apabila
terdapat kesalah dalam penulisan, mohon kritikan dan sarannya.