• Tidak ada hasil yang ditemukan

Logika dan Algoritma Job 2

N/A
N/A
Protected

Academic year: 2018

Membagikan "Logika dan Algoritma Job 2"

Copied!
16
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM

PSEUDOCODE

Oleh:

Dwi Wuri Mud’mainah (3.34.13.1.06)

IK-1B

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

(2)

I. TUJUAN

1. Mengetahui dan menjelaskan struktur algoritma dengan pseudocode.

2. Membuat algoritma berupa pseudocode, yang melibatkan permasalahan-permasalahan sederhana.

II. ALAT DAN BAHAN

 PC minimal P-3 400 Mhz

 Min Win98, Microsoft Word III. DASAR TEORI

1. Pendahuluan

Algoritma berisi langkah-langkah penyelesaian suatu permasalahan yang akan diselesaikan dengan suatu bahasa pemrograman. Langkah-langkah tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti, karena memang tidak ada notasi baku dalam penulisan algoritma. Tiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi bahasa pemrograman secara umum.

Aturan Penulisan Algoritma

Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :

 Judul (Header)

 Kamus ( Deklarasi )

 Algoritma ( Deskripsi )

Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda kurung kurawal contoh { Komentar }. Notasi algoritmis yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.

Judul / Header

{ Merupakan bagian yang berisi judul dari suatu permasalahan yang diselesaikan berikut komentar mengenai Algoritma seperti cara kerja algoritma, Kondisi awal dan kondisi akhir dari algoritma }

Kamus / Deklarasi

{ Pada bagian ini, didefinisikan nama konstanta, nama variable, nama prosedur dan nama fungsi yang

(3)

Algoritma / Deskripsi

{ Pada bagian ini langkah-langkah penyelesaian masalah dituliskan. Semua teks yang dituliskan tidak

diantara tanda kurung kurawal akan dianggap sebagai notasi algoritma yang akan berpengaruh terhadap kebenaran Algoritma }

Contoh : singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.

Contoh :

Algoritma Luas_Kubus ← {Judul Algoritma}

{ Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan lalu mencetak hasilnya kepiranti keluaran } ← { Spesifikasi Algoritma }

Catatan :

 Untuk memisahkan antara kata dalam judul algoritma menggunakan tanda “_” bukanlah suatu keharusan. Anda dapat menuliskan LuasKubus atau Luas_Kubus. Tetapi sebaiknya anda tidak menggunakan spasi “ “ untuk memisahkan antara kata di dalam nama algoritma.

 Judul algoritma bersifat opsional, artinya boleh dituliskan, boleh juga tidak dituliskan.

Kamus (Deklarasi)

(4)

 Nama type hanya jika telah didefinisikan terlebih dahulu didalam bagian kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokkan menurut jenis nama tersebut.

Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian nama konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain / range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal “Initial State”, Kondisi akhir “ Final State” dan proses yang dilakukan).

Contoh :

Kamus

{Nama type, hanya untuk type yang bukan type dasar}

type jam : <hh,mm,ss :integer> {Type jam terdiri dari 3 masukan yaitu “hh” sebagai jam. “mm” sebagai menit dan “ss” sebagai detik}

{Nama konstanta, harus menyebutkan type dan nilai } constant phi : real = 3,14159

constant nama : string = “Alex” constant benar : boolean = true {Nama Informasi, menyebutkan type}

x,y : integer {suatu nilai yang bertype bilangan bulat} NMax : real {nilai maksimum yang bertype bilangan real} Nama : string {suatu nilai yang merupakan kumpulan character} P : point {suatu nilai pada bidang kartesian}

Cari : Boolean {suatu nilai logika}

(5)

Algoritma / deskripsi adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman procedural dapat berupa :

 Instruksi dasar seperti input/output, assignment

 Squence (runtutan)

 Analisa kasus / percabangan

 Perulangan

Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan menentukan urutan langkah pelaksanaan perintah.

Contoh :

Algoritma ( Deskripsi )

input (intC,intD) {menerima masukan 2 bilangan intC dan intD} if intC > intD then {operasi kondisional}

intMaks ← intC {intMaks di assignment oleh nilai intC} Else

intMaks ← intD {intMaks di assignment oleh nilai intD} output (intMaks) {hasil keluaran berupa bilangan intMaks}

Catatan :

Untuk kata-kata input, output, if then else, output akan dipelajari lebih mendalam dalam

Jobsheet-jobsheet selanjutnya.

Contoh lengkap algoritma dalam bentuk pseudocode :

Judul ( Header )

Algoritma maks_C_D { Judul algoritma }

{Menentukan nilai terbesar dari dua buah bilangan bulat, dimana nilai intC dan intD dimasukkan dari keyboard }

Kamus (Deklarasi)

Var intMaks, intC, intD : integer

{menentukan tipe variabel berupa bilangan bulat (integer)}

Algoritma ( Deskripsi )

(6)

if intC > intD then {operasi kondisional}

intMaks ← intC {intMaks di assignment oleh nilai intC} Else

intMaks ← intD {intMaks di assignment oleh nilai intD} output (intMaks) {hasil keluaran berupa bilangan intMaks}

IV. LANGKAH KERJA

1. Hidupkan komputer anda !

2. Jalankan Microsoft Word, dengan cara menekan tombol StartProgramMS Office

2007Microsoft Word. Selanjutnya tuliskan algoritma dari permasalahan berikut ini :

3. Buatlah algoritma dengan bentuk penulisan pseudocode untuk proses menghitung luas lingkaran pada bagian lembar Microsoft Word, kemudian simpan hasil kerja anda ke dalam hardisk atau disket data dengan nama file : Pseudocode

Algoritma Luas_Lingkaran

{ Menghitung luas lingkaran dengan menginputkan jari_jari dan menampilkan hasilnya }

Kamus

Var jari_jari,luas : integer Var phi = 3.14 : const float

Algoritma

input (jari_jari) {menginputkan nilai integer untuk variable jari_jari} luas ← phi * jari_jari * jari_jari {menghitung luas dengan mengkalikan phi dan jari_jari}

output (luas) {mencetak luas}

(7)

data anda dengan nama file yang sama seperti langkah ketiga.

Algoritma Keliling_Lingkaran

{ Menghitung keliling lingkaran dengan menginputkan diameter dan menampilkan hasilnya }

Kamus

Var diameter,keliling : float Var phi = 3.14 : const float

Algoritma

input (diameter) {menginputkan nilai untuk variable diameter}

keliling ← phi * diameter {menghitung keliling dengan mengkalikan phi dan diameter}

output (keliling) {mencetak keliling}

5. Buatlah algoritma dengan bentuk penulisan pseudocode untuk proses menghitung luas segitiga pada bagian lembar berikutnya dari program Microsoft Word, kemudian simpan hasil kerja anda ke dalam hardisk atau disket data anda dengan nama file yang sama seperti langkah ketiga.

Algoritma Luas_Segitiga

{ Menghitung luas segitiga dengan meninputkan alas dan tinggi, kemudian mengkalikan bilangan tersebut, dan menampilkan hasil. }

Kamus

Var alas, tinggi, luas : integer

Algoritma

input (alas, tinggi) {menginputkan nilai untuk variable alas dan tinggi} luas ← alas * tinggi / 2 {menghitung luas dengan mengkalikan alas dan tinggi kemudian dibagi 2}

(8)

6. Diketahui suatu permasalahan sebagai berikut : Analisis masalah :

Luas = √ S * (S – sisiA) * (S - sisiB ) * (S – sisiC ) dengan S = 0.5 * (sisiA+sisiB+sisiC)

Tugas anda :

Tuliskan algoritma tersebut dalam bentuk flowcharts dan pseudocode. Flowchart :

Pseudocode :

Algoritma Luas_Segitiga

{ Menghitung luas segitiga dengan menginputkan sisi-sisinya}

Kamus

luas, a, b, c : integer

Algoritma

Input (a,b,c) {menginput nilai a,b,c} S ← 0.5 x (a+b+c)

luas ← sqrt(S x(S-a)x(S-b)x(S-c)) output (luas)

sisiA

sisiB

(9)

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

Nomor 3

printf("Masukan nilai jari-jari : "); scanf("%f",&jari_jari);

luas = phi * (jari_jari * jari_jari); printf("\n");

printf("Masukan nilai diameter : "); scanf("%f",&d);

printf("Masukan nilai alas : "); scanf("%d",&a);

printf("\n");

printf("Masukan nilai tinggi : "); scanf("%d",&t);

printf("\n"); l = a * t/2;

printf("Alas : %d\nTinggi : %d\nLuas : %d",a,t,l); }

(10)

#include <stdio.h> #include <math.h> main()

{

int a, b, c, S, luas;

printf("Masukan nilai Sisi A : "); scanf("%d", &a);

printf("\n");

printf("Masukan nilai Sisi B : "); scanf("%d", &b);

printf("\n");

printf("Masukan nilai Sisi C : "); scanf("%d", &c);

S = 0.5 * (a + b + c);

luas = sqrt(S * (S-a) * (S-b) * (S-c)); printf("\n Luas segitiga : %d", luas);

}

V. PERTANYAAN / SOAL

1. Apakah kelebihan dan kekurangan dalam penuliskan algoritma dari suatu permasalahan dengan menggunakan flowcharts dan pseudocode.

Flowchart. Kelebihan :

 Mudah dibaca, karena menggunakan visualisasi. Kekurangan :

 Membutuhkan banyak tempat

 Harus menghafalkan arti dari lambang – lambang flowchart

Pseudocode. Kelebihan :

 Tidak butuh banyak tempat.

 Hampir sama dengan bahasa pemrogramman, jadi lebih mudah untuk konversinya

Kekurangan :

(11)

2. Buatlah algoritma dengan bentuk penulisan pseudocode untuk proses yang menerima sebuah bilangan, men-decrement bilangan tersebut, dan menampilkan hasil operasi!

Algoritma decrement

{Menginputkan nilai awal dan men decrement dengan mengurangi satu – satu daru angka tersebut sampai nol.}

Kamus

a : integer {suatu nilai yang berupa bilangan bulat (integer) } b = 0 : const integer

Algoritma

input (a){memberikan nilai untuk variable a.} Do {mulai melakukan proses pengulangan} Output(a){mencetakkan a}

a-- {mengurangi nilai a}

while a >= b {Berhenti sampai nilai a = b}

3. Buatlah algoritma dengan bentuk penulisan pseudocode untuk proses yang menerima dua buah bilangan, menjumlahkan kedua bilangan tersebut, lalu hasil penjumlahannya dikuadratkan, dan hasil peng-kuadratan ditampilkan!

Algoritma penjumlah_dua_bilangan

{Menginputkan dua bilangan, kemudian menjumlahkan, dan mengkuadratkan hasil dari penjumlahan tersebut.}

(12)

output (hasil)

4. Buatlah algoritma dengan bentuk penulisan pseudocode untuk proses yang menerima tiga buah bilangan dan menampilkan hasil perkalian dari ketiga bilangan tersebut!

Algoritma perkalian_tiga_bilangan

{Menginputkan tiga bilangan, kemudian mengkalikan tiga bilangan tersebut, menampilkan hasilnya.}

Kamus

a, b, c : integer Algoritma

input (a,b,c) hasil ← a * b * c output (hasil)

5. Gambarlah sebuah flowchart yang menerima lima buah bilangan dan menampilkan rata- rata dari kelima bilangan tersebut!

6. Cobalah anda implementasikan permasalahan nomor 2, 3, 4, dan 5 ke dalam bentuk program dengan menggunakan bahasa pemrograman Pascal/C.

(13)

Tampilan program :

Implementasi II – Menjumlahkan dan mengkuadratkan dua bilangan Source code :

(14)

Implementasi III – Perkalian tiga bilangan Source code :

Tampilan program :

(15)

Tampilan program :

(16)

VI. PENUTUP

Dengan mempelajari jobsheet ini, saya menjadi paham bagaimana membuat pseudocode, dan bagaimana memecahkan suatu masalah dan diterapkan pada pseudocode.

VII. DAFTAR PUSTAKA

Referensi

Dokumen terkait

Apabila supervisor akan menggunakan orientasi langsung dalam melaksanakan supervisi pengajaran, bentuk aplikasinya sebagai berikut : pertama, pada saat pertemuan

Melalui konseling kelompok klien/siswa akan memperoleh sebuah umpan balik berupa tanggapan dan pengalaman dari anggota kelompok lain dalam mengatasi permasalahan yang

Setelah melakukan pengaturan waktu siklus serta penentuan fase dari setiap lengan dengan menggunakan dua alternatif, maka didapat bahwa alternatif pertama dapat

Dari tabel diatas dapat bahwa 36 persen responden setuju bahwa pemerintah daerah sudah melakukan sosialisasi tentang program Gerakan Pembangunan Desa Mandiri dan

Jenis sampul yang digunakan dalam buku Kitab Suci TJO SOE KONG, adalah hard cover dengan laminating Flooring dan mengejar target market kelas A- B yang menginginkan

esimpulan yang terdapat dalam penulisan paper ini adalah, jenis.. menjadi 1 yaitu, pola jahitan terputus dan continue. nterrupted suturing adalah jahitan yang selalu diputus

Pada proses editing dokumentasi, tidak cukup hanya dengan menggabungkan beberapa stock video begitu saja, namun banyak unsur yang harus diperhatikan di dalam prosesnya, seperti