• Tidak ada hasil yang ditemukan

Logika dan Algoritma Job 3

N/A
N/A
Protected

Academic year: 2018

Membagikan "Logika dan Algoritma Job 3"

Copied!
16
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM

PERCABANGAN BERSYARAT

(IF, IF-ELSE, NESTED IF)

Oleh:

Dwi Wuri Mud’mainah (3.34.13.1.06)

IK-1B

(2)

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 permasalahanpermasalahan 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 C

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

(3)

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.

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

If Kondisi Then

Proses 1

Endif

Atau

If Kondisi Then

Proses 1a Proses 1b Proses 1c ………… Proses 1n

Endif

Struktur If-Then-Else tunggal

(4)

Else

Proses 2

Endif

Struktur if else Jamak

If Kondisi Then

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

(5)

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:

Perhatian :

(6)

- 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

(7)

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:

Untuk bilangan ganjil

output (“Bilangan “,intBil,” tidak habis di bagi 2 “) output (“Karena itu termasuk sebagai bilangan Ganjil”)

Atau

Untuk bilangan genap

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

output (“Karena itu termasuk sebagai bilangan Genap”) Bentuk Pseudocode:

PROGRAM BELANJAAN DEKLARASI

Total_harga : interger Total_bayar : interger DESKRIPSI

Write (‘masukkan total harga : ‘) If (total_harga>=50000) then Potongan total_harga*5%

Total_bayar total_harga-potongan Else

Total_bayar total_harga Endif

(8)

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.

Bentuk Pseudocode:

ALGORITMA JENIS_BIL DEKLARASI

X : interger DESKRIPSI Input (X) Modulus x%2 If (modulus=0) then

Write (‘x adalah bilangan genap’) Else

(9)

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.

(10)

Bentuk pseudocode : PROGRAM TOKO_FOTOCOPY

DEKLARASI

jml_lbr:integer hrg_lbr:interger hrg_potongan:interger jml_byr:interger jns_pelanggan : char

DESKRIPSI

Write(‘Apakah anda pelanggan (Y/T) :‘) Read(jns_pelanggan)

(11)

Hrg_lbr := 65 Else

Hrg_lbr := 75 end

Else

If (jml_lbr >= 200 ) then Hrg_lbr := 70

Else

Hrg_lmr := 80

Endif

Jml_byr := jml_lbr * hrg_lbr

Hrg_potongan := (jml_lbr * 80)- jml_byr

Write (‘Jumlah lembar yang anda kopy : ‘,lbr)

Write (‘Jumlah Potongan harga : ’,hrg_potongan :8:2) Write (‘Jumlah bayar : ’,jml_byr:8:2)

7) Cobalah anda implementasikan permasalahan nomor 4, 5, dan 6 ke dalam bentuk program dengan menggunakan bahasa pemrograman C.

- Nomor 4

(12)

- Nomor 6

#include <stdio.h> main()

{

char jns_pelanggan;

int jml_lbr, jml_byr, potongan;

printf("Apakan pelanggan tetap? Y/N \n"); scanf("%c", &jns_pelanggan);

if('Y') {

printf("masukkan jumlah lembar! \n"); scanf("%d", &jml_lbr);

if(jml_lbr>=100) {

jml_byr=65*jml_lbr; }

else {

jml_byr=75*jml_lbr; };

(13)

{

printf("potongan sebesar = %d \n", potongan); printf("jumlah bayar = %d \n", jml_byr); }

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 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 C.

3. Diketahui persamaan kuadrat ax2 + bx + c = 0. Buatlah program untuk menghitung nilai-nilai akarnya dengan ketentuan nilai deskriminannya sebagai berikut :

D = b2 – 4ac

(14)

Jika D = 0, maka nilai akarnya

x1=x2=−b

2a

Jika D > 0, maka nilai akarnya

x1=−b+

D

2a

x2=−b

D

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.

VI. Jawaban

1. Proses tunggal adalah apabila hanya ada 1 proses yang akan dikerjakan jika suatu syarat terpenuhi.

Proses jamak adalah beberapa proses atau aksi yang akan dikerjakan apabila suatu syarat (kondisi) terpenuhi

(15)

3. Flowchart:

Jam_awal, jam_akhir, lama_percakapan: interger

Jml_byr, diskon, total: real

DESKRIPSI

Write(‘waktu mulai mnelpon= ‘) Read(jam_awal)

Write(‘waktu selesai menelpon= ‘) Read(jam_akhir)

Lama_percakapanjam_akhir-jam_awal If(hari libur//pukul 22.00-07.00)then Jml_byr (lama_percakapan/20)*200 Diskonjml_byr*0.03

totaljml_byr-diskon

else if(hari libur//pukul 22.00-07.00) Jml_byr (lama_percakapan/20)*200 Diskonjml_byr*0

totaljml_byr-diskon endif

write(‘total biaya telpon adalah ‘)

Pseudocode:

Write(‘masukkan nilai a= ‘) Read(a)

Write(‘masukkan nilai b= ‘) Read(b)

Write(‘masukkan nilai c= ‘) Read(c)

Write(‘akar imajiner’) Endif

(16)

Referensi

Dokumen terkait

Pada pekan ini investor selain masih akan tetap mencerna rilis kinerja perusahaan di kuartal I, juga akan memperhatikan data ekonomi awal bulan seperti inflasi

Program kerja PPL telah terlaksana dengan baik dan lancar. Kegiatan praktik mengajar di kelas dan pembuatan administrasi guru telah dapat terselesaikan sesuai dengan

Surat Ketetapan Pajak Daerah Lebih Bayar, yang selanjutnya disingkat SKPDLB, adalah surat ketetapan yang menentukan jumlah kelebihan pembayaran pajak karena jumlah

Keluarga sebagai orang terdekat dan tempat berinteraksi sosial yang pertama sebelum dimasyarakat dalam kehidupan anak dengan retardasi mental dapat membantu anak

Dari hasil penelitian didapatkan, anak yang menderita gigi berlubang karena anak lebih sering memakan makanan yang manis yang banyak mengandung gula dan tidak segera

Pertambahan peserta JKN akan meningkatkan investasi di sector kesehatan, seperti pembangunan fasilitas kesehatan, produksi obat dan alkes, dan untuk jangka panjang,

SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN MAHASISWA BERPRESTASI MENGGUNAKAN METODE AHP DAN LOGIKA FUZZY..

Terkait dengan pengelolaan perbatasan negara, masyarakat adat di kedua daerah tersebut juga memiliki masalah yang hampir sama, di mana kegiatan lintas