STRUKTUR PERCABANGAN

Pada semester sebelumnya sudah dibahasa mengenai struktur percabangan atau kondisi bersyarat pada algoritma. Pada pembahasan kali ini, kita akan menerapkannya pada Bahasa Pemrograman sehingga mengahasilkan suatu program yang dapat digunakan untuk menyelesaikman permasalahan sehari-hari.

Banyak permasalahan sehari-hari yang memerlukan struktur percabangan    untuk menyelesaikannya. Misalkan seorang siswa bisa dikatakan lulus jika rata-rata nilai ujiannya lebih dari 60. Seorang peminjam buku akan dikenai denda jika terlambat mengembalikan buku pinjaman. Pelanggan listrik akan didenda jika membayar tagihan lebih dari tanggal 20. Seorang pengguna facebook bisa login ke facebook jika user dan passwordnya benar, dan masih banyak lagi yang lain. Kesemua permasalahan yang disebutkan di atas memerlukan persyaratan untuk dapat dilanjutkan dengan sejumlah aksi tertentu. Bisa dikatakan tidak ada program tanpa struktur percabangan di dalamnya.

Sebagaimana pembahasan pada algoritma, dalam bahasa pemrograman ini struktur percabangan terdiri dari beberapa macam, yaitu percabangan dengan 1 kondisi, 2 kondisi, lebih dari dua kondisi dan percabangan bersarang.

 

 

3.1. KEGIATAN BELAJAR 1PERCABANGAN 1 KONDISI

 

3.1.1. Tujuan Pembelajaran

 

Siswa  memahami  struktur  percabangan  dengan  1  kondisi  pada  bahasa  pemrograman

 

Pascal dan menggunakannya untuk menyelesaikan permasalahan sehari-hari.

 

3.1.2. Aktivitas Kegiatan belajar

 

3.1.2.1. Mengamati

 

Perhatikan permasalahan berikut.

 

  1. Sebuah Toko Baju memberlakukan diskon akhir tahun sebesar 20% untuk semua koleksi yang dijual. Namun diskon akan dinaikkan menjadi 25% jika total belanjaan lebih dari 200 ribu rupiah. Untuk itu toko tersebut membutuhkansebuah program untuk menghitung jumlah uang yang harus dibayarkan oleh pelanggan untuk baju-baju yang telah dibeli.
  2. Di sebuah perusahaan gaji pegawai teridri dari gaji pokok, tunjangan keluarga dan dikurangi

 

30 ribu untuk asuransi kesehatan pekerja. Gaji pokok tiap pekerja berbeda-beda sehingga

 

87

 

 

perlu diinputkan oleh operator, sedangkan tunjangan keluarga dihitung sama untuk semua karyawan, sebesar 10% dari gaji pokok. Khusus bagi karyawan dengan masa kerja lebih dari 20 tahun maka total gajinya akan ditambahkan dengan tunjangan pengabdian sebesar

500 ribu. Untuk itu persahaan tersebut membutuhkan program perhitungan gaji para karyawannya.

3.1.2.2.     Menanya

 

Dari hasil pengamatan di atas coba buatlah pertanyaan pertanyaan misal :

 

  1. Bagaimana algoritma kedua permasalahan di atas?

 

  1. Berapa banyak persyaratan pada kedua permasalahn di atas?

 

  1. Manakah persyaratan/kondisi pada kedua algoritma di atas?

 

  1. Bagaiamana membuat struktur percabangan di Bahasa Pascal?

 

 

 

3.1.2.3.     Mengumpulkan Informasi/Mencoba

 

Ingat  kembali  algoritma percabangan  pada  semester  1,  di  mana  dengan  pseudocode, struktur percabangan dengan satu kondisi dapat dituliskan

IF (kondisi) THEN Pernyataan1

Pernyataan 2 dst

Jika dilihat pada permasalahan di atas, pada kasus 1, setiap pembelanjaan dapat diskon sebesar

 

20% dari harga normal. Namun jika total belanjaan lebih dari 200 ribu maka diskonnya menjadi

 

25%, maka hal ini dapat dinyatakan dalam algoritma sebagai berikut.

 

Pertama  tentukan  semua  variabel  terlebih,  dahulu.  Ada  hargaTotalBelanja,  prosentase diskon (skala 1-100), besar diskon, dan TotalBayar. Selanjutnya dibuat algoritma berikut.

 

 

Algoritma DiskonBaju

 

Variabel hargaNormal, ProsenDiskon,:integer

 

BesarDiskon, hargaAkhir:bilangan real

 

1)  READ TotalBelanja

 

2)  ProsenDiskon=20

 

3)  IF (TotalBelanja>=200000) THEN

 

4)              ProsenDiskon=25

 

5)  BesarDiskon=(ProsenDiskon/100)*TotalBelanja

 

6)  TotalBayar=TotalBelanja-BesarDiskon

 

7)  WRITE TotalBayar

 

8)  END

 

Mengapa data harga normal, prosen diskon dengan besar diskon dan harga akhir mempunyai tipe data yang berbeda? Hal ini dikarenakan, dalam perhitungan besar diskon melibatkan operasi / yang akan menghasilkan bilangan real, sedangkan harga akhir hasil mengurangkan harga normal (integer) dengan harga diskon (real) sehingga menghasilkan bilangan real juga.

Selanjutnya algoritma di atas  akan dikonveris  ke  dalam  bahasa  pemrograman  Pascal. Karena pseudocode yang kita bahas adalah pseudocode berbasis Pascal, maka tidak ada perubahan yang berarti. Dalam bahasa pascal, struktur percabangand engan 1 kondisi dituliskan,

if (kondisi) then

 

Pernyataan; Jika pernyataan lebih dari satu maka dituliskan

if (kondisi) then

 

Begin Pernyataan1; Pernyataan2;

dst;

 

end;

 

Sekarang kita lihat bagaimana menyajikan algoritma di atas dalam bahasa Pascal.

 

Program DiskonBaju; Uses crt;

var hargaNormal, ProsenDiskon:integer; BesarDiskon, hargaAkhir: real;

Begin

 

Clrscr;

 

write(Masukkan total harga pembelian: ‘ );

 

readln( TotalBelanja); ProsenDiskon:=20;

if (TotalBelanja>=200000) then

 

ProsenDiskon:=25; BesarDiskon=(ProsenDiskon/100)*TotalBelanja; TotalBayar=TotalBelanja-BesarDiskon;

writeln(‘Total harga yang harus dibayar adalah : ‘, TotalBayar:6:2);

 

end.

 

 

 

 

Untuk permasalahan kedua kita tinggalkan untuk diskusi pada LKS berikut.

 

 

LEMBAR KERJA SISWA

 

  1. Perhatikan kembali permasalahan kedua

 

Di sebuah perusahaan gaji pegawai teridri dari gaji pokok, tunjangan keluarga dan dikurangi

 

30 ribu untuk asuransi kesehatan pekerja. Gaji pokok tiap pekerja berbeda-beda sehingga perlu diinputkan oleh operator, sedangkan tunjangan keluarga dihitung sama untuk semua karyawan, sebesar 10% dari gaji pokok. Khusus bagi karyawan dengan masa kerja lebih dari 20 tahun maka total gajinya akan ditambahkan dengan tunjangan pengabdian sebesar

500  ribu.  Untuk  itu  persahaan  tersebut  membutuhkan  program  perhitungan  gaji  para karyawannya.

  1. Buatlah algoritma dalam bentuk pseudocode menggunakan struktur perulangan dengan

 

1 kondisi, dengan input: nama karyawan, gaji pokok, masa kerja dan outputnya adalah total gaji karyawan tersebut.

  1. Tuliskan kode pemrograman dalam bahasa Pascal dengan ketentuan sebagai berikut: Format input:

Nama karyawan : ………………… Besar Gaji Pokok:………………… Masa Kerja:………………………… FormatOutput:

Total gaji karyawan bernama Nama_KaryawansebesarRp ……,00.

 

  1. Kompilasi program yang sudah kalian buat hingga berhasil dijalankan

 

Jawab :

 

  1. Algoritma dalam pseudocode

 

Algoritma GajiKaryawan

 

Variabel ………………………………….

 

…………………………………

 

1)  READ ……….

 

2)  READ ……….

 

3)  READ ……….

 

4)  Tunj_Keluarga = ……………….

 

5)  Total_Gaji = ……………………..

 

6)  IF (…………..) THEN

 

7)         Total_Gaji=Total_Gaji + ……….

 

8)  WRITE ………………..

 

9)  END

 

  1. Kode pemrograman dengan bahasa Pascal

 

Program …………………………………………………….. Var …………………………………………………………….

.......................................................................

 

................................................................... begin

writeln(‘PROGRAM GAJI KARYAWAN’);

 

Write (‘……………………………………………….’); readln(………………………………); write(‘………………………………………………..’); readln(………………………………); write(‘………………………………………………..’); readln(………………………………);

...................:= 0.1 *…………………….;

 

...................:= …………………………..+ …………………………;

 

if (……………………..>=20) then

 

.............................:=..............................+ …………………….

 

writeln(‘Total gaji karyawan bernama ‘,…………………,’sebesar Rp. ‘, ……………….. : ….. : ….);

 

readln;

 

end.

 

 

 

  1. Kompilasi kode program yang sudah dibuat dengan Free Pascal. Perbaiki hingga kode kalian berhasil.

 

 

  1. Perhatikan masalah berikut:

 

Sebuah persewaan komik memberikan batas waktu menyewa adalah 3 hari dengan biaya sewa per tiap buku adalah Rp1.500,00. Jika peminjam terlambat maka dikenakan denda sebesar Rp 1000,00 per buku per hari. Buatlah program persewaan buku tersebut dengan format tampilan programsebagai berikut.

PROGRAM PERSEWAAN BUKU

 

Nama Peminjam              : ………………………………………… Jumlah Buku                    : ………………………………………… Lama Pengembalian (hari)    : ……….

Biaya Sewa                      : ………………………………………… Biaya Denda                     : ………………………………………… Total yang harus dibayar : ………………………………………..

Ingat, kalian hanya boleh menggunakan percabangan dengan 1 kondisi saja, yaitu bentuk

 

IF THEN saja, tidak boleh yang lain. Jawab:

Kalian dapat menggunakan bantuan kode berikut, yaitu dengan mengsisi titik-titik yang tersedia, atau sialakan boleh menggunakan ide sendiri jauh lebih baik.

 

 

Program…………………………………………………………. Var ………………………………………………………………..

........................................................................

 

............………………………………………………….. Begin

Writeln(………………………………………………………………………….); Write( …………………………………………………………………………); readln(………………………………..); write(……………………………………………………………………………); readln(…………………………………); write(……………………………………………………………………………); readln(…………………………………);

biaya_sewa:= ………………………* ……………………………..;

 

denda:=0;

 

if (lama_kembali>3) then denda:=…………….*…………………*1000;

total_bayar:=……………………….+ …………………………; writeln(……………………………………………………………); writeln(……………………………………………………………); writeln(……………………………………………………………); readln;

End.

 

 

 

  1. Permasalahan berikut diambil dari buku semester 1 Bab 2, pada LKS Kegiatan belajar 1.

 

Subsidi biaya pendidikan diberikan oleh pemerintah kepada semua penduduk dengan besaran 50 ribu tiap anak tiap bulannya, yang hanya diberikan kepada semua keluarga yang memiliki anak usia sekolah (6-17 tahun). Bagi keluarga yang kurang mampu, subsidi dinaikkan menjadi 60 ribu per bulan ditambah dengan bantuan sosial sebesar 100 ribu per bulan. Ukuran keluarga tidak mampu dilihat dari  penghasilan dan besarnya konsumsi listrik tiap bulan. Keluarga dikatakan kurang mampu jika penghasilannya kurang dari 1 juta per bulan dan konsumsi listrik kurang dari 100 ribu per bulan.

Buatlah program dengan Bahasa Pascal dengan struktur percabangan dengan 1 kondisi, dengan format input dan output sebagai berikut.

Input:

 

Nama Kepala Keluarga                                 : ……………………………………………….. Jumlah anak usia sekolah (6-17 tahun)        : ………………………………………………. Penghasilan per bulan                                  : ………………………………………………. Konsumsi listrik tiap bulan                             : ……………………………………………….

 

 

Output:

 

Besar Subdisidi Pendidikan               : ………………………………………………………… Besar bantuan Sosial                        :…………………………………………………………

Untuk  membuat  program  ini,  kalin  bisa  membuka  lagi  algoritma  pada  pembahasan semester lalu sehingga dengan mudah menerapkannya pada bahasa Pascal. Jalankan program sampai berhasil.

 

 

3.1.2.4. Mengasosiasikan

 

Dari  LKS  yang  telah  kalian  kerjakan  buatlah  kesimpulan  mengenai  bagaimna  penerapan struktur percabangan dengan satu kondisi pada bahasa Pascal?

 

 

3.1.2.5. Mengkomunikasikan

 

Presentasikan jawaban kalian di depan kelas, diskusikan hasilnya dengan kelompok lain.

 

 

 

3.1.3. Rangkuman

Struktur  percabangan  dengan  satu  kondisi  pada  Bahasa  Pascal  mempunyai  sintaks sebagai berikut.

 

if (kondisi) then

 

Pernyataan; Jika pernyataan lebih dari satu maka dituliskan

if (kondisi) then

 

Begin Pernyataan1; Pernyataan2;

dst;

 

end;

 

 

 

3.1.4. Tugas

 

2.1.4. Tugas

 

  1. Di suatu daerah ada kebijakan khusus mengenai pembayaran pajak bumi dan bangunan. Setiap pencatatn pembayaran pajak dicatat setiap tahun, dan dicatat apakah pembayar pajak selalu tepat waktu atau tidak. Jika tahun lalu pembayar pajak tidak terlambat membayar dan saat pembayaran juga tidak terlambat maka dia akan mendapat keringanan potongan sebesar 10% dari nilai pajak ditambah potongan tunai Rp 10000,00. Buatlahgkaprogram dengan Bahasa pascal untuk menyelesaikan permasalahan di atas. Inputnya adalah nama pelanggan, besar pajak yang harus dibayar, status pembayaran tahun lalu (terlambat atau tidak) dan outputnya adalah Total Besar Pajak yang harus dibayar.
  2. Telusuri algoritma berikut.

 

 

Program KondisiAngka

 

Var a,b,c :integer

 

Begin readln(a,b,c);

IF (a mod b=0) THEN

 

a:=b;

 

IF (b mod c=1) THEN B:=c+1;

IF ((b mod 2=0) AND (c mod 2 =1) THEN C:=20;

writeln(a,b,c);

readln; END.

 

 

 

  1. Tentukan output dari program di atas jika a=44, b=22, c =3

 

  1. Tentukanlah satu contoh inputan sehingga nilai a,b, dan c tidak berubah, jika bisa.

 

  1. Cari permasalahan  yang  ada  di  sekitarmu  yang  dapat  diselesaikan  ke  dalam  bentuk percabangan 1 kondisi. Buatlah program dengan bahasa Pascal untuk menyelesaikannya.

 

 

3.1.5. Uji Kompetensi

 

  1. A. Pilihan Ganda

 

  1. Format penulisan struktur percabangan dengan 1 kondisi di dalam pascal adalah …

 

  1. if (kondisi) then

 

Pernyataan;

 

  1. if (kondisi) do

 

Pernyataan;

 

  1. if (kondisi) Pernyataan;
  2. for(kondisi)then

 

Pernyataan;

 

  1. for (kondisi) do

 

Pernyataan;

 

  1. Perhatikan potongan kode program berikut. diskon:=0;

if harga>500000 then

 

diskon := harga*0.05;

 

hargatotal:=harga-diskon;

 

 

 

 

Jika kita menginputkan harga sebesar 500000 maka nilai harga total menjadi ..

 

a. 475000
b. 500000
c. 25000
d. 0
e. 525000

 

  1. Diberikan potongan kode program berikut.

 

p:=4;

q := 7;

if (p>q) then p=p-q;

writeln(p);

Keluaran dari algoritma di atas adalah ….

a. 4
b. 7
c. 3
d. -3
e. 11

 

  1. Perhatikan potongan kode program berikut. if bil<=3 then

write(‘bagus’);

 

if bil>=3 then

 

write(‘biasa’);

 

Jika sebelumnya diberikan nilai bil := 3 maka outputnya adalah .. a.  error

  1. Bagus c.  Biasa
  2. Bagusbiasa

 

  1. Tidak muncul apa apa

 

 

 

  1. Perhatikan potongan kode program berikut.

Hasil:=b+c; If a>b then begin

 

 

 

 

 

 

 

end;

c:=a; b:=a; a:=c;

 

 

hasil:=a-b;

 

Jika sebelumnya diberikan nilai a:=9 dan b:=3 maka outputnya adalah … a.  6

  1. -6 c.  9 d.  3 e.  12
  2. B. Essay

 

  1. Buatlah program, dimana user diminta menginputkan 3 bilangan dan outputnya adalah bilangan terbesar!

 

 

 

3.2.  KEGIATAN BELAJAR 2PERCABANGAN DENGAN 2 KONDISI

 

3.2.1. Tujuan Pembelajaran

 

Sisiwa memahami algoritma percabangan dengan dua kondisi

 

3.2.2. Aktivitas Kegiatan Belajar

 

3.2.2.1. Mengamati

 

Perhatikan kedua source codeberikut : Kode Program 1

Program DiskonBaju;

 

var hargaNormal, ProsenDiskon:integer; BesarDiskon, hargaAkhir: real;

Begin

 

write(Masukkan total harga pembelian: ‘ );

 

readln( TotalBelanja); ProsenDiskon:=20;

if (TotalBelanja>=200000) then

 

ProsenDiskon:=25; BesarDiskon=(ProsenDiskon/100)*TotalBelanja; TotalBayar=TotalBelanja-BesarDiskon;

writeln(‘Total harga yang harus dibayar adalah : ‘, TotalBayar:6:2);

 

end.

 

 

 

 

Kode Program 2

 

Program DiskonBaju;

 

var hargaNormal, ProsenDiskon:integer; BesarDiskon, hargaAkhir: real;

Begin

 

write(Masukkan total harga pembelian: ‘ );

 

readln( TotalBelanja);

 

if (TotalBelanja>=200000) then

 

ProsenDiskon:=25

 

Else

 

ProsenDiskon:=25; BesarDiskon=(ProsenDiskon/100)*TotalBelanja; TotalBayar=TotalBelanja-BesarDiskon;

writeln(‘Total harga yang harus dibayar adalah : ‘, TotalBayar:6:2);

 

 

end.

 

 

 

 

 

 

3.2.2.2. Menanya

 

Dari kedua source code diatas buat lah pertanyaanseperti :

 

  1. Adakah perbedaan antara 2 source code diatas ?

 

  1. Apakah kedua source code tersebut jika dibuat program akan menghasilkan output yang sama?
  2. Manakah yang lebih baik di antara kode di atas?

 

  1. Kode 1 menggunakan percabnagan dengan 1 kondisi sedangkan kode 2 menggunakan percabangan dengan dua kondisi, mengapa disebut demikian?
  2. Bagaimana format penulisan percabangan 2 kondisi dalam Bahasa pascal?

 

  1. Bagaimna cara kerja dari percabangan 2 kondisi?

 

 

 

 

3.2.2.3. Mengumpulkan Infromasi/Mencoba

 

Pada dasarnya program di atas adalah program untuk menyelesaikan permasalahan yang sama, hanya beda dalam penyajian saja. Hal ini sebagaimna pembahasan pada semester 1, bahwa ada percabngan dengan 1 kondisi, 2 kondisi atau lebih.

Pada percabangan 1 kondisi, ketika kondisi dipenuhi maka proses tertentu akan dijalankan, jika  tidak  maka  tidak  dilakukan  apa-apa.  Padahal  dalam  kehidupann  nyata,  permasalahan seringkali terjadi melibatkan dua kondisi. Misalkan “Jika nilai lebih besar 60 maka lulus, jiak tidak, maka tidak lulus”; “Jika rajin belajar maka naik kelas, jika tidak maka tinggal kelas”; “Jika bobot truk>=100 ton maka tidak boleh lewat, jika kurang dari itu boleh lewat”. Kenyatannya seperti itu dalam kehidupan sehari-hari sehingga percabangan dengan dua kondisi lebih banyak digunakan. Seperti halnya pada contoh di atas, sebenarnya mempunyai dua kondisi, jika total belanja <200 ribu maka diskonnya 20% jika lebih besar atau sama dengan 200 ribu maka diskonnya menjadi

25%. Oleh karena itu pada percabangan dengan 1 kondisi pernyataan

 

Prosendiskon:=20

 

diletakkan sebelum struktur if then, karena digunakan sebagai nilai default dari prosen diskon. Hal ini dapat disjajikan dalam bentuk yang lebih cocok menggunakan struktur if then else sebagai bentuk percabangan dengan dua kondisi.

Dalam percabangan 2 kondisi ini digunakan struktur if then else. Format penulisannya hampir sama dengan percabangan 1 kondisi bedanya di tambah dengan else.

Bentuk umum penulisan if then else sebagai berikut : If (syarat) then

Pernyataan1

 

 

 

else

 

Pernyataan2;

 

 

Sintaks di atas jika hanya menggunakan pernyataan tunggal untuk setiap syarat. Jika pernyataan lebih dari satu untuk tiap syarat, maka dapat ditambahkan begin dan end seperti berikut.

 

 

If (syarat1) then begin

Pernyataan1; Pernyataan2;

end

 

 

else

 

 

begin

Pernyataan3; Pernyataan4;

 

End;

 

Cara kerja nya bisa dijelaskan melalui gambar flowchart berikut :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bentuk flowchart seperti di atas sudah kita pelajari pada semester sebelumnya. Agar lebih jelas kerjakan LKS berikut secara berkelompok.

 

LEMBAR KERJA SISWA

 

  1. Toko buah membuat suatu promo jika pembeli membeli apel lebih dari 2 kg dan jeruk lebih dari 3 kg maka akan mendapat diskon sebesar 10%, pelanggan yang tidak membeli apel lebih dari 2 kg dan jeruk 3 kg maka hanya mendapatkan diskon 5%. Harga untuk 1 kg jeruk adalah 10000 sedangkan harga untuk 1 kg apel adalah 15000.
  2. Dari permasalahan tersebut kode programnya menggunakan pascal!

 

  1. Jelaskan cara kerja if di dalam program tersebut!

 

Jawab

 

 

  1. Kode Program program diskonbuah; var……………………………………: real;

………………………………………..: integer;

 

begin

 

write(‘Jumlah jeruk : ‘); readln(………..); write(‘Jumlah apel  : ‘); readln(…………);

……………. := ……………………….;

 

…………….. := ……………………….;

 

…………….. :=….…………………….;

 

if (…………….) and (………………) then

 

……………..:= ………………….

 

 

else

 

 

………………..:= …………………;

 

 

…………………….:=………………………;

 

write(‘Total uang yang harus dibayar adalah : ‘, total:8:2);

 

readln;

 

end.

 

 

 

 

  1. Penjelasan:

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

………………………………………………………………………………………………………………..

 

 

  1. Perhatikan kedua source berikut

 

Kode Program 1

 

program uji1;

 

var test : integer;

 

begin

 

write(‘masukkan input : ‘);

 

readln(test);

 

if test<=5 then

 

writeln(‘bilangan Anda kurang dari atau sama dengan 5’);

 

if test>5 then

 

writeln(‘bilangan Anda lebih besar 5’);

 

readln;

 

end.

 

 

 

 

Kode Program 2

 

 

 

program uji2;

 

var test : integer;

 

begin

 

write(‘masukkan input : ‘);

 

readln(test);

 

if test<=5 then

 

writeln(‘bilangan Anda kurang dari atau sama dengan 5’);

 

 

else

 

 

writeln(‘bilangan Anda lebih besar 5’);

 

 

 

 

end.

readln;

 

 

 

 

  1. Inputkan bilangan 3, telusuri dengan source code 1 b. Inputkan bilangan 3, telusuri dengan source code 2
  2. Apakah hasil keduanya sama? Lantas apa perbedaan keduanya? Manakah yang lebih  efektif?   Lihat   berapa   kali   harus   memeriksa   syarat,   jika   banyaknya pemeriksaan lebih sedikit maka berarti lebih efektif.

jawab

 

  1. Hasil penelusuran source code 1

 

………………………………………………………………………………………………………………….

 

 

  ………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
b. Hasil penelusuran source code 2
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
c. Penjelasan
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….
  ………………………………………………………………………………………………………………….

 

 

  1. Buatlah program dengan struktur percabangan dengan dua kondisi untuk permasalahan berikut. (permasalahan ini diambil pada LKS semester sebelumnya)

Pembayaran gaji karyawan di Perusahaan X terdiri dari 3 komponen utama, gaji Pokok, Tunjangan masa kerja (TMK), dan tunjunagan keluarga (TK). TMK dihitung berdasarkan masa kerja, jika masa kerja >10 tahun maka TMKnya adalah 500 ribu jika kurang dari itu TMK 100 ribu. Tunjangan keluarga dilihat dari status, Menikah atau Belum Menikah, jika sudah menikah maka tunjangannya dihitung sebagai berikut

Tunjangan Istri=10% x Gaji Pokok

 

Tunjangan Anak=banyakanak x 2,5% xGajiPokok

 

Tunjangan Keluarga=Tunjangan Istri+Tunjangan Anak

 

Sehingga gaji Totalnya adalah Gaji Pokok + Tunjangan masa kerja + Tunjnagan Keluarga Jika belum menikah maka Tunjangan Keluarga diganti dengan nama TabunganBerkeluarga sebesar 5% x Gaji Pokok, sehingga total penerimaan gaji adlah gaji Pokok + Tunjangan Masa kerja + Tabungan Berkeluarga.

Kompilasi program yang sudah kalian buat hingga berhasil.

 

 

 

 

3.2.2.4. Mengasosiasikan

 

Berdasarkan hasil pembahasan dan pengerjaan LKS kalian, apa yang dapat kalian simpulkan mengenai struktur percabangan dengan dua kondisi dengan Bahasa Pascal. Jelaskan perbedannya dengan satu kondisi, mana yang lebih sering digunakan?

 

 

3.2.2.5. Mengkomunikasikan

 

Presentasikan jawaban kalian di depan kelas, diskusikan dengan kelompok/teman kalian yang lain.

 

 

 

3.2.3. Rangkuman

 

Bentuk umum struktur percabnagan dengan dua kondisi menggunakan bahasa Pascal adalah sebagai berikut

If (syarat) then

 

 

 

 

else

Pernyataan1

 

 

 

Pernyataan2;

 

 

untuk pernyataan tunggal pada tiap syarat, atau

 

If (syarat1) then begin

Pernyataan1; Pernyataan2;

end

 

 

else

 

begin Pernyataan3; Pernyataan4;

 

End;

 

Untuk pernyataan lebih dari satu untuk tiap syarat.

 

 

 

3.2.4. Tugas

 

  1. Diberikan masalah berikut

 

Kategori/Kelas Bisnis Ekonomi
Dewasa Rp 100.000,- Rp 100.000,-
Anak Rp 50.000,- Rp 50.000,-
Infant Rp 5.000,- Rp 5000,-

 

Di sebuah loket stasiun menyediakan tiket untuk dua kereta api, bisnis dan ekonomi. Harga tiket masing-masing kereta adalah sebagai berikut

 

 

Dari masalah di atas dibuatkan sebuah program untuk menentukan harga tiket, di mana masukan terdiri dari jenis kereta api yang dipilih, jumlah tiket yang dipesan, terdiri dari tiket dewasa, anak-anak, dan infant. Keluarannya adalah besar uang yang harus dibayar.

Tidak berhenti di sini, program juga meminta input berapa besar uang yang dibayarkan dan mencetak besar kembalian.Buatlah program dengan Bahasa Pascal

  1. Carilah permasalahan di sekitarmu yang dapat diselesaikan dengan membuat program yang memuat struktur percabangan dengan dua kondisi.

 

3.2.5. Uji Kompetensi

 

  1. A. Pilihan ganda

 

  1. Jika seorang  pegawai  mempunyai  masa  kerja  lebih  dari  5  tahun  maka  dia  akan mendapatkan tambahan gaji sebesar 500000 sedangkan untuk yang lainnya mendapat tambahan gaji 200000

Penulisan struktur percabangan yang sesuai dengan masalah diatas adalah …

 

  1. if masakerja<=5 then tambahan:=500000;

else

 

tambahan := 200000;

 

  1. if masakerja<=5 then tambahan:=200000; else

tambahan := 500000;

 

  1. if masakerja>=5 then tambahan:=500000; else

tambahan := 200000;

 

  1. if masakerja<5 do tambahan:=500000; else

tambahan := 200000;

 

  1. if masakerja>5 do tambahan:=500000;

else

 

tambahan := 200000;

 

 

 

  1. Perhatikan potongan kode program berikut :

 

if (masakerja>=5) and (gajitotal>3000000) then pajak := gajitotal*0.1;

 

 

else

 

pajak := gajitotal*0.05;

 

gajibersih := gajitotal-pajak;

 

Jika Agus sudah bekerja di perusahaan tersebut selama 4,5 tahun dan dikarenakan dia banyak lembur sehingga gajitotalnya pada bulan ini adalah 3500000 maka gaji bersih yang

diterima agus adalah ….

 

a. 3482500
b. 3325000
c. 3150000
d. 3500000
e. 3000000

 

 

  1. Perhatikan potongan kode program berikut if 10<=a<=20 then

write(‘bilangan diantara 10 sampai 20’);

 

if 21<=a<=40 then

 

write(‘bilangan diantara 21 sampai 40’); Jika nilai a adalah 9 maka outputnya adalah … a.  bilangan diantara 10 sampai 20

  1. bilangan diantara 21 sampai 40 c.  program error
  2. tak ada yang terjadi

 

  1. muncul output bilangan diantara 10 sampai 20 dan bilangan diantara 21 sampai 40

 

 

 

  1. Perhatikan potongan program berikut

 

if(1 <= peringkat) and (peringkat<= 4) then beasiswa:=1000000;

else

 

if status = ‘kurang mampu’ then

 

beasiswa := 500000;

 

Tono selalu mendapat peringkat 1 di kelasnya dan dia adalah siswa kurang mampu maka

total beasiswa yang di dapat adalah …

a. 1500000
b. 1000000
c. 750000
d. 500000
e. 0
  1. Perhatikan potongan algoritma berikut.

 

Readln(a);

 

 

Readln(b);

 

if ((a mod 2 =1) or (b mod a=0 ) then begin

c:=a+b d:=a-b end;

else begin c:=2*a+b d:=2*b-a end;

writeln(c,’ dan ’, d);

 

Apa keluaran berturut-turut c dan dan jika diberikan a=4 dan b = 10 a.  24 dan 16

  1. 14 dan 6 c.  14 dan -6 d.  24 dan 4 e.  8 dan 2

 

 

 

Essay

 

  1. Buatlah program untuk menentukan kelulusan berdasarkan rata-rata nilai UAN yang terdiri dari matematika, bahasa indonesia, bahasa inggris. Siswa dinyatakan lulus jika Rata-ratanya lebih besar sama dengan 60 dan tidak ada nilai yang kurang dari 50.

 

 

Author: Admin

Leave a Reply

Your email address will not be published. Required fields are marked *