• 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

dengan cara mengikuti aturan-aturan (IF-THEN Rules) yang telah ditetapkan pada basis pengetahuan fuzzy. 4) Defuzzyfikasi merupakan proses mengubah output fuzzy yang diperoleh

Setelah didapatkan fitur, maka selanjutnya adalah proses SVM, dari fitur tersebut bisa langsung di test apakah dikenali atau tidak dengan proses recognize , atau dimasukkan

Pengujian variable yang diuji pada sosis setelah proses pembuatan sosis dilakukan penyimpanan suhu ruang sebesar 25 o C-30 o C yaitu nilai total plate count atau TPC,

2) Proses seleksi dilakukan dengan pemangkasan data menggunakan fungsi IF dan ELSE untuk mengetahui apakah data-data nasabah tersebut memiliki jumlah transaksi atau tidak. Jika

Setelah menelusuri uraian di atas, maka dapat dipahami bahwa prestasi belajar adalah hasil atau taraf kemampuan yang telah dicapai siswa setelah mengikuti proses

Tahap pembuatan tempe selanjutnya adalah proses pemanasan atau perebusan pada biji setelah perendaman bertujuan untuk membunuh bakteri- bakteri

Didalam proses aqusisi, terdapat juga proses endorsement atau proses penambahan data polis, setelah polis diterbitkan dan diterima customer apabila nantinya customer

Setelah sudah mendapat tanda tangan dari Kepala Dinas, surat perintah tugas tersebut dibawa ke Bidang Umum untuk proses penomoran kemudian akan dibawa pegawai saat berangkat bertugas, 1