Anda di halaman 1dari 5

Mata Kuliah : Praktek Logika & Algoritma

Kelompok : INFOKOM Politeknik Negeri Semarang


Pengampu : Handoko, M. Kom
No Jobs : 3 ( Tiga )
Pokok Bahasan : Percabangan Bersyarat ( if-then, if-then-else, nested if )

I. Tujuan Instruksional Khusus :


Setelah Menyelesaikan praktek ini mahasiswa dapat :
1. Menjelaskan tentang algoritma percabangan bersyarat (if-then, if-then-else, nested if) dalam dalam
bentuk flowcharts ataupun pseudocode.
2. Membuat algoritma dalam bentuk flowcharts dan pseudocode yang melibatkan permasalahan-
permasalahan percabangan dimana komputer harus melakukan pemilihan untuk menuju ke
salah satu cabang berdasarkan kondisi tertentu.
3. Mengimplementasikan algoritma yang telah dibuat ke dalam bahasa pemrograman dengan
menggunakan bahasa Pascal.

II. Alat dan Bahan


 PC minimal P-3 400 Mhz
 Min Win98 , Microsoft Visio, Microsoft Word, Turbo Pascal Versi 7.0 dan Disket Data

III. Dasar Teori:


Salah satu proses didalam suatu program adalah proses seleksi atau kondisional. Dalam bahasa C
ada beberapa antara lain :
1. If_Then
2. If-Then-Else
3. nested if

1. If-Then dan If-Then-Else


Struktur diagram alir dan pseudocode adalah sebagai berikut :
Bentuk pseudocodenya : Bentuk pseudocodenya :
Tidak if kondisi Then if kondisi Then
Kondisi ? Tidak
Proses 1 Kondisi ? Proses 1
Endif Else
Ya Proses 2
Ya Proses 2 Endif
Proses 1
Proses 1

(a)
(b)

KONDISI adalah ungkapan bernilai boolean (true atau false), berikut penjelasan kedua gambar
diatas :
(a) jika ungkapan dalam kondisi bernilai benar (true) maka proses 1 yang akan dikerjakan
dan bila bernilai salah (false) maka selanjutnya diluar kalang IF yang akan dikerjakan.
Jobsheet 03 14
(b) jika ungkapan dalam kondisi bernilai benar (true) maka proses 1 yang akan dikerjakan
dan bila bernilai salah (false) maka proses 2 yang akan dikerjakan.

Proses 1 atau proses 2 dalam struktur If –Then dan If-Then-Else dapat berupa proses tunggal
ataupun jamak seperti gambaran berikut ini :

Struktur If-Then Struktur If-Then-Else tunggal Struktur if else Jamak


If Kondisi Then If Kondisi Then If Kondisi Then
Proses 1a
Proses 1 Proses 1
Proses 1b
Endif Else Proses 1c
Proses 2 …………
Endif Proses 1n
Atau Else
If Kondisi Then Proses 2a
Proses 1a Proses 2b
Proses 1b Proses 2c
Proses 1c …………
………… Proses 2n
Proses 1n Endif
Endif

Keterangan :
 Kondisi dapat berupa ekspresi relasional atau logika
 Kata tunggal berarti hanya ada satu proses atau aksi yang dikerjakan bila suatu syarat
dari kondisi terpenuhi,
 Kata jamak berarti ada dua atau lebih proses atau aksi yang dikerjakan bila suatu syarat
dari kondisi terpenuhi,
 Untuk percabangan If-Then-Else tidak selalu harus semuanya proses atau aksi tunggal
semua atau proses atau aksi jamak semua, akan tetapi bisa kombinasi antara keduanya
tergantung dari permasalahannya.

Untuk menyeleksi kondisi tersebut perlu tanda-tanda operasi (pembanding) seperti tabel berikut
ini:
Macam operator yang terlibat dalam proses seleksi :
Operator Relasi Operator Logika
Tanda Arti Tanda Arti
= sama dengan AND DAN ( logical AND )
≠ tidak sama dengan OR ATAU ( logical OR )
≥ lebih besar atau sama dengan NOT BUKAN ( logical NOT )
≤ lebih kecil atau sama dengan XOR Keduanya atau lebih tidak
sama
> lebih besar dari
< lebih kecil dari

Jobsheet 03 15
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:

Bentuk umum nested if :


Tidak
Kondisi 1 If Kondisi1 Then
If Kondisi1 Then
Proses 2b
Ya Proses 1 Else
Proses 2a
Endif
Else
Tidak Proses 1
Kondisi 2
Endif

Ya catatan : Proses atau aksi bisa juga


berupa proses atau aksi jamak.
Proses 2a Proses 2b

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 komputer anda !
2. Jalankan Microsoft Visio, dengan cara menekan tombol StartProgramMS Office
2000Microsoft Visio. Selanjutnya gambarkanlah 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 permasalahan 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

Jobsheet 03 16
50.000 atau lebih, dimana proses memasukkan jumlah beli di masukkan dari keyboard,
selanjutnya diproses dan menghasilkan keluaran besar diskon dan jumlah bayarnya.
5. Buatlah algoritma dengan bentuk flowcharts dan buat pula pseudocodenya untuk proses
menentukan apakah suatu bilangan yang dimasukkan dari keyboard itu bilangan ganjil
atau genap. Hasil keluaran proses ini berupa tampilan sebagai berikut :

output (“Bilangan “,intBil,” tidak habis di bagi 2 “)


output (“Karena itu termasuk sebagai bilangan Ganjil”)
Atau
} Untuk Bilangan
Ganjil

output (“Bilangan “,intBil,” habis di bagi 2 “)


output (“Karena itu termasuk sebagai bilangan Genap”) } Untuk Bilangan
Genap

Buatlah flowchart di bagian lembar Microsoft Visio dan pseudocode pada lembar
Microsoft Word, kemudian simpan hasil kerja anda, dimana flowchartnya anda
masukkan dalam dokumen word di jadikan satu di samping dari pseudocodenya dan
simpan ke dalam hardisk atau disket data dengan nama file yang sama.
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.

7. Cobalah anda implementasikan permasalahan nomor 4, 5, dan 6 ke dalam bentuk


program dengan menggunakan bahasa pemrograman Pascal.

V. Pertanyaan / Soal
1. Apa yang dimaksud dengan proses atau aksi jamak dan tunggal ? jelaskan dengan singkat dan
jelas .
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

Jobsheet 03 17
selain itu tidak mendapatkan diskon. Hitunglah jumlah bayarnya, dengan harga
per-pulsa Rp. 200,-
d. Buatlah flowcharts dan pseudocodenya serta impelentasikan permasalahan ini ke
dalam bahasa pemrograman Pascal.
3. Diketahui persamaan kuadrat ax2 + bx + c = 0. Buatlah program untuk menghitung nilai-nilai
akarnya dengan ketentuan nilai deskriminannya sebagai berikut :
D = b2 – 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 =
2a
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.
4. Berikanlah kesimpulan dari praktik yang anda lakukan di jobsheet ketiga ini .

Jobsheet 03 18

Anda mungkin juga menyukai