1. Bab 5 membahas subprogram dalam algoritma yang berfungsi untuk membagi pekerjaan besar menjadi bagian yang lebih kecil. 2. Ada dua jenis subprogram yaitu prosedur dan fungsi. Prosedur menghasilkan output lebih dari satu atau melakukan tindakan tertentu, sedangkan fungsi menghasilkan satu nilai. 3. Subprogram dapat menerima parameter berupa nilai atau variabel dan menggunakan parameter lokal.
Bab II membahas tentang sekuen, operator aritmatika, dan pemrograman dalam bahasa Pascal dan C. Beberapa contoh algoritma dan program yang diberikan meliputi penjumlahan bilangan bulat, perkalian bilangan bulat, konversi satuan, dan representasi bilangan bulat dalam bentuk kuotien dan sisa. Secara umum bab ini menjelaskan tentang konsep dasar algoritma dan pemrograman serta contoh-contoh penerapannya dalam bahasa Pascal dan C.
Dokumen tersebut membahas tentang fungsi dan prosedur dalam bahasa C/C++. Fungsi merupakan subrutin yang menghasilkan nilai tertentu, sedangkan prosedur adalah subrutin yang tidak menghasilkan nilai. Dokumen tersebut juga menjelaskan tentang cara penulisan dan pemanggilan fungsi serta parameter fungsi, termasuk penjelasan mengenai pemanggilan nilai dan referensi.
Fungsi adalah modul program yang mengembalikan nilai. Fungsi dapat menerima parameter dan mengembalikan hasil berupa nilai tertentu. Fungsi mirip prosedur namun harus menentukan tipe data hasil yang dikembalikan. Contoh fungsi adalah menghitung faktorial, pangkat, atau mengembalikan nilai terbesar dari dua nilai.
Ujian ini berisi soal-soal ujian dasar pemrograman Pascal yang mencakup berbagai aspek dasar bahasa Pascal seperti deklarasi variabel, konstanta, tipe data, operator, struktur kontrol, fungsi dan prosedur. Soal-soal ini dimaksudkan untuk mengetes pemahaman dasar siswa terhadap konsep-konsep kunci dalam pemrograman Pascal.
Program ini memberikan contoh penggunaan struktur perulangan dan pengkondisian dalam bahasa pemrograman Pascal. Terdapat penjelasan dan contoh kode program untuk menggunakan IF-THEN, FOR-TO-DO, WHILE-DO, REPEAT-UNTIL, serta CASE-OF dalam menyelesaikan masalah perhitungan sederhana. Program ini juga mendemonstrasikan penggunaan menu interaktif menggunakan struktur perulangan untuk memilih opsi perhitungan luas,
Bab II membahas tentang sekuen, operator aritmatika, dan pemrograman dalam bahasa Pascal dan C. Beberapa contoh algoritma dan program yang diberikan meliputi penjumlahan bilangan bulat, perkalian bilangan bulat, konversi satuan, dan representasi bilangan bulat dalam bentuk kuotien dan sisa. Secara umum bab ini menjelaskan tentang konsep dasar algoritma dan pemrograman serta contoh-contoh penerapannya dalam bahasa Pascal dan C.
Dokumen tersebut membahas tentang fungsi dan prosedur dalam bahasa C/C++. Fungsi merupakan subrutin yang menghasilkan nilai tertentu, sedangkan prosedur adalah subrutin yang tidak menghasilkan nilai. Dokumen tersebut juga menjelaskan tentang cara penulisan dan pemanggilan fungsi serta parameter fungsi, termasuk penjelasan mengenai pemanggilan nilai dan referensi.
Fungsi adalah modul program yang mengembalikan nilai. Fungsi dapat menerima parameter dan mengembalikan hasil berupa nilai tertentu. Fungsi mirip prosedur namun harus menentukan tipe data hasil yang dikembalikan. Contoh fungsi adalah menghitung faktorial, pangkat, atau mengembalikan nilai terbesar dari dua nilai.
Ujian ini berisi soal-soal ujian dasar pemrograman Pascal yang mencakup berbagai aspek dasar bahasa Pascal seperti deklarasi variabel, konstanta, tipe data, operator, struktur kontrol, fungsi dan prosedur. Soal-soal ini dimaksudkan untuk mengetes pemahaman dasar siswa terhadap konsep-konsep kunci dalam pemrograman Pascal.
Program ini memberikan contoh penggunaan struktur perulangan dan pengkondisian dalam bahasa pemrograman Pascal. Terdapat penjelasan dan contoh kode program untuk menggunakan IF-THEN, FOR-TO-DO, WHILE-DO, REPEAT-UNTIL, serta CASE-OF dalam menyelesaikan masalah perhitungan sederhana. Program ini juga mendemonstrasikan penggunaan menu interaktif menggunakan struktur perulangan untuk memilih opsi perhitungan luas,
Program tersebut menjelaskan penulisan if statement dalam bahasa C/C++ dan Java. Terdapat penjelasan tentang relational operator yang digunakan untuk mengevaluasi kondisi dalam if statement seperti ==, >, <, >=, <=, dan !=. Kemudian disertai beberapa contoh penulisan if statement dalam bentuk if-then-else dan satu baris.
Dokumen tersebut membahas struktur dan aturan penulisan bahasa pemrograman Pascal. Terdiri dari pengenalan struktur program inti dan subprogram, aturan penulisan variabel, tipe data, dan perintah dasar seperti input, output, dan komentar.
Dokumen tersebut berisi kode program C yang melakukan beberapa perhitungan dan pengkondisian sederhana seperti menentukan suhu normal atau tidak, bilangan terbesar, zodiak, kalkulator, diskon supermarket, dan menampilkan huruf."
Dokumen tersebut membahas tentang array satu dimensi dalam bahasa pemrograman Pascal dan C. Secara umum dijelaskan tentang deklarasi, membaca, mencetak, dan contoh penggunaan array satu dimensi untuk menghitung rata-rata, deviasi standar, nilai maksimum, minimum, dan modus dari sekumpulan data.
Dokumen ini membahas tentang tipe data array dalam bahasa pemrograman Pascal. Terdiri dari pengertian tipe data array, cara penggunaannya untuk array satu dimensi dan dua dimensi beserta contoh kode programnya. Tipe data array digunakan untuk menyimpan kumpulan data yang sama tipe dalam satu variabel secara efisien. Array dapat diakses menggunakan indeks dan dapat berisi satu atau dua dimensi tergantung kebutuhan
Lapopran praktikum struktur data pertemuan 1 Tipe DataAdy Achirul
Program tersebut membahas tentang tipe data dan penggunaannya dalam bahasa C++, meliputi penggunaan array, pointer, input-output, dan perulangan for. Program kedua meruputan contoh aplikasi penghitungan nilai mahasiswa berdasarkan nilai UTS, UAS, dan tugas dengan bobot masing-masing.
Dokumen tersebut membahas tentang algoritma sebagai langkah-langkah logis dan efisien untuk menyelesaikan suatu tugas di komputer secara benar dan efisien, serta menjelaskan bahwa algoritma merupakan gabungan antara seni dan teknik yang ditulis dalam bahasa pemrograman."
Ringkasan dokumen tersebut adalah: (1) menjelaskan definisi turunan dan notasi turunan fungsi matematika, (2) memberikan contoh penentuan nilai turunan suatu fungsi pada titik tertentu, dan (3) menjelaskan persamaan garis singgung dan garis normal pada grafik suatu fungsi.
The document discusses Jon Lockridge's background and career. It details that he grew up in Talladega, Alabama and served as a machine gunner in the USMC with two tours in Afghanistan. It outlines his various business ventures including founding an entertainment company called Double Nine Entertainment which does work in promotions, artist and model management, app development, and product sales at music festivals. It provides contact information for Jon Lockridge and his company.
Este documento presenta una secuencia didáctica para ambientar una clase de música con motivos medievales. Los estudiantes participarán en actividades como identificar música medieval, recrear una batalla musical divididos en grupos, y representar escenas de la vida medieval eligiendo un tema y música.
Program tersebut menjelaskan penulisan if statement dalam bahasa C/C++ dan Java. Terdapat penjelasan tentang relational operator yang digunakan untuk mengevaluasi kondisi dalam if statement seperti ==, >, <, >=, <=, dan !=. Kemudian disertai beberapa contoh penulisan if statement dalam bentuk if-then-else dan satu baris.
Dokumen tersebut membahas struktur dan aturan penulisan bahasa pemrograman Pascal. Terdiri dari pengenalan struktur program inti dan subprogram, aturan penulisan variabel, tipe data, dan perintah dasar seperti input, output, dan komentar.
Dokumen tersebut berisi kode program C yang melakukan beberapa perhitungan dan pengkondisian sederhana seperti menentukan suhu normal atau tidak, bilangan terbesar, zodiak, kalkulator, diskon supermarket, dan menampilkan huruf."
Dokumen tersebut membahas tentang array satu dimensi dalam bahasa pemrograman Pascal dan C. Secara umum dijelaskan tentang deklarasi, membaca, mencetak, dan contoh penggunaan array satu dimensi untuk menghitung rata-rata, deviasi standar, nilai maksimum, minimum, dan modus dari sekumpulan data.
Dokumen ini membahas tentang tipe data array dalam bahasa pemrograman Pascal. Terdiri dari pengertian tipe data array, cara penggunaannya untuk array satu dimensi dan dua dimensi beserta contoh kode programnya. Tipe data array digunakan untuk menyimpan kumpulan data yang sama tipe dalam satu variabel secara efisien. Array dapat diakses menggunakan indeks dan dapat berisi satu atau dua dimensi tergantung kebutuhan
Lapopran praktikum struktur data pertemuan 1 Tipe DataAdy Achirul
Program tersebut membahas tentang tipe data dan penggunaannya dalam bahasa C++, meliputi penggunaan array, pointer, input-output, dan perulangan for. Program kedua meruputan contoh aplikasi penghitungan nilai mahasiswa berdasarkan nilai UTS, UAS, dan tugas dengan bobot masing-masing.
Dokumen tersebut membahas tentang algoritma sebagai langkah-langkah logis dan efisien untuk menyelesaikan suatu tugas di komputer secara benar dan efisien, serta menjelaskan bahwa algoritma merupakan gabungan antara seni dan teknik yang ditulis dalam bahasa pemrograman."
Ringkasan dokumen tersebut adalah: (1) menjelaskan definisi turunan dan notasi turunan fungsi matematika, (2) memberikan contoh penentuan nilai turunan suatu fungsi pada titik tertentu, dan (3) menjelaskan persamaan garis singgung dan garis normal pada grafik suatu fungsi.
The document discusses Jon Lockridge's background and career. It details that he grew up in Talladega, Alabama and served as a machine gunner in the USMC with two tours in Afghanistan. It outlines his various business ventures including founding an entertainment company called Double Nine Entertainment which does work in promotions, artist and model management, app development, and product sales at music festivals. It provides contact information for Jon Lockridge and his company.
Este documento presenta una secuencia didáctica para ambientar una clase de música con motivos medievales. Los estudiantes participarán en actividades como identificar música medieval, recrear una batalla musical divididos en grupos, y representar escenas de la vida medieval eligiendo un tema y música.
The latest higher capacity gypsum powder grinding machine with ceisoAmmy Cheng
1. The document describes the HGM series gypsum powder grinding machine, which can grind materials into powders between 325-2500 mesh (5-47 microns) with capacities of 0.4-30 tons per hour.
2. The grinding machine has several advantages over other mills including higher efficiency, longer lifespan of parts, higher safety and reliability, and adjustable fineness.
3. It works by using a main motor to power rollers in grinding rings to crush materials into fine powder, which is then sent through classifiers and collectors for final processing.
Featured product barite grinding machine with ceisoAmmy Cheng
The document summarizes a barite grinding machine that can grind materials to a fineness of 150-3000 mesh. It has a capacity of 0.4-30 tons per hour and can process materials with a Mohs hardness of less than 9. The machine uses ring and rollers to grind materials into small particles and features high efficiency, long lifecycles, safety, adjustable fineness between 325-2500 mesh, and environmentally friendliness. It consists of a main mill, classifier, speed reducer, blower, and other components. The manufacturer is based in Shanghai and can provide customized quotations and solutions.
Connect The Dots by Sarah Daoudi, Ana Dorta-Duque, Alejandra Gonzalez & Julio...Brandhome
Brandhome returned to the Miami Ad School to assist the students with one of the most challenging briefings of the entire quarter.
The students were asked to brand and campaign Wharton Business School’s latest book, Beyond Advertising. The book serves as the basis for the new Wharton Future of Advertising Program. Once again we reminded the students that there is nothing as important as a solid strategic foundation for channelling their big future of advertising ideas. The students tackled the briefing with our guidance – involvement is what it’s all about – and came up with some strong creative output.
The document discusses feedback received from test audiences on a student film project. It describes how the filmmakers conducted a questionnaire with their original script to understand audience impressions and make improvements. During filming, they chose generic locations that clearly established settings. Closeup and reaction shots of the main character helped audiences understand his feelings. When peers previewed the film, they responded positively about the easy to understand story and humor. Feedback highlighted issues with sound in one scene, which the filmmakers addressed by adding background music. Most audiences felt the film deserved a PG rating due to the lack of violence or explicit language.
These are my slides from the Meetup "CSS with superpowers - SASS!" at ImmobilienScout24 on November 6, 2014.
Description:
Preprocessors for CSS have become the industry standard and you'll be reading more and more about them all over the tech community. They're named LESS, Stylus or SASS. Preprocessors make CSS more flexible, maintainable and fill in where CSS has its limits and drawbacks.
Este documento presenta un resumen de un capítulo sobre la oferta y la demanda. Explica conceptos clave como la curva de demanda, la elasticidad de la demanda y cómo la demanda de un bien puede variar con factores como el precio, el precio de otros bienes y la renta. También introduce conceptos relacionados con la curva de oferta y el precio de equilibrio.
This document outlines the production schedule and progress for an A2 media studies advanced portfolio from September 2015 to May 2016. It details the weekly plans and progress updates for researching, filming, and editing various portfolio pieces including a music video, digipack, and advert. It also includes contingency plans for anticipated problems such as rescheduling filming due to bad weather.
Tyrone Aurelio Villavicencio Pacheco es un estudiante de Ingeniería Mecánica en la Escuela Superior Politécnica del Litoral. Sus pasatiempos favoritos son los autos y viajar para conocer gente que comparte su pasión por los autos.
Este documento describe lugares de interés en el municipio español de Higuera la Real en Badajoz, Extremadura. Menciona el Parque, El Loreto, El Socorro y la Plaza de la Constitución como lugares destacados del pueblo, con esta última recomendada para iniciar una visita turística.
Praktikum ini membahas penggunaan fungsi dalam bahasa pemrograman C, termasuk cara membuat dan menggunakan fungsi, memberikan nilai keluaran fungsi, prototipe fungsi, dan cara melewatkan parameter ke fungsi. Tujuannya adalah agar mahasiswa dapat menerapkan penggunaan fungsi dalam pembuatan program C.
Fungsi merupakan bagian penting dalam pemrograman modular. Terdapat dua jenis fungsi yaitu fungsi standar dan fungsi yang dibuat pengguna. Fungsi memiliki input, proses, dan output, serta perlu memperhatikan prototipe dan definisi. Fungsi memungkinkan pembagian tugas dalam pemrograman.
Dokumen tersebut memberikan penjelasan singkat tentang operasi aritmatika, operator logika, array dan matriks dalam bahasa pemrograman C dalam 3 paragraf."
Fungsi input dan output merupakan bagian penting dalam bahasa pemrograman C. Fungsi input seperti scanf digunakan untuk membaca masukan dari pengguna sesuai format yang ditentukan, sedangkan fungsi output seperti printf digunakan untuk mencetak keluaran ke layar dengan format tertentu seperti bilangan bulat, pecahan, string, dan lain-lain.
Cara membuat fungsi dan prosedur pada javaDevandy Enda
Cara membuat fungsi dan prosedur pada Java membahas tentang perbedaan antara fungsi dan prosedur. Fungsi akan mengembalikan nilai sedangkan prosedur tidak. Keduanya dapat digunakan untuk menyederhanakan program dengan membagi program menjadi bagian-bagian lebih kecil. Contoh kode mendemonstrasikan penulisan fungsi dan prosedur serta cara memanggilnya.
Tipe data dan operator merupakan bagian penting dalam bahasa pemrograman C karena mempengaruhi setiap instruksi yang dieksekusi oleh komputer. Dokumen ini menjelaskan lima tipe data utama dalam C beserta rentang nilainya, konsep variabel dan konstanta, serta berbagai jenis operator seperti operator aritmatika, relasional, dan logika beserta contoh kode programnya.
Dokumen tersebut membahas tentang fungsi dan komputasi fungsi dalam matematika. Fungsi adalah hubungan antara nilai input dan output di mana setiap input mempunyai satu output. Dokumen tersebut juga menjelaskan tentang jenis fungsi yang dapat dan tidak dapat dihitung oleh komputer, serta contoh algoritma untuk menghitung nilai fungsi kuadrat.
Dokumen tersebut membahas tentang pengenalan bahasa C++, yang terdiri atas 4 bagian utama yaitu komentar, pengarah compiler, deklarasi, dan definisi. Juga membahas tentang operasi input/output seperti printf, scanf, dan gets serta operator-operator aritmatika dan relasional dalam C++."
Program tersebut merangkum sejarah bahasa C++ dan konsep dasarnya. C++ dikembangkan dari bahasa C oleh Bjarne Stroustrup pada tahun 1980-an dan menjadi bahasa berorientasi objek pada tahun 1990. Program C++ terdiri dari deklarasi variabel, operator, input-output, dan struktur dasar lainnya.
Teknologi komputer telah berkembang dari mesin hitung mekanik hingga komputer digital modern. Perkembangan utama meliputi penggunaan tabung vakum (1940-an), transistor (1950-an), sirkuit terintegrasi (1960-an), mikroprosesor (1970-an), dan komputer pribadi (1980-an). Komputer modern menggunakan prosesor berbasis mikrochip.
Dokumen ini membahas tentang algoritma pemilihan dan kontrol program dalam bahasa pemrograman. Terdapat beberapa kasus yang dijelaskan seperti menentukan bilangan terbesar dari dua dan tiga bilangan, menghitung akar kuadrat dari persamaan kuadrat, dan mengkonversi nilai angka menjadi nilai huruf.
Dokumen tersebut membahas tentang pengertian algoritma dan contoh-contohnya, serta simbol-simbol yang digunakan dalam membuat flowchart program. Juga dibahas tentang struktur bahasa pemrograman Pascal seperti deklarasi variabel, input output, operator, dan contoh-contoh soal algoritma sederhana.
Rangkuman tentang rangkaian resistor paralel. Rangkaian paralel resistor terdiri dari dua atau lebih resistor yang disusun secara paralel. Rumus untuk menghitung total resistansi rangkaian paralel adalah 1/Rtotal = 1/R1 + 1/R2 + ... + 1/Rn. Contoh soal menghitung total resistansi untuk beberapa rangkaian resistor paralel.
Dokumen tersebut membahas tentang perangkat lunak komputer yang terdiri atas perangkat lunak sistem dan aplikasi, dimana perangkat lunak sistem mencakup program manajemen sistem dan pengembangan sistem, sedangkan perangkat lunak aplikasi mencakup program aplikasi umum dan khusus.
Wen4D Daftar Situs Slot Gacor Gampang Maxwin Terbaru Hari IniWen4D
Wen4D adalah pilihan situs judi slot terbaik di Indonesia dan terpercaya yang menghadirkan jaminan keamanan dan kenyamanan bagi para pemain yang bergabung. Sistem game yang kami sajikan 100% fairplay di mana artinya memang tidak ada campur tangan pihak manapun yang menentukan kemenangan.
Link Alternatif : https://heylink.me/WEN4D.com/
WA 081388333722 Jual Dildo Penis IKat Pinggang Di Surabaya Codajongshopp
WA 081–388–333–722 JUAL VAGINA SENTER ELEKTRIK ALAT BANTU SEKS PRIA DI SURABAYA COD
SIAP ANTAR / COD : SURABAYA, SIDOARJO, MOJOKERTO
KUNJUNGI TOKO KAMI DI : TOKO AJONG VITALITASS JL. RAYA KLETEK NO.112 TAMAN SIDOARJO ( sebrang BRI kletek / sebelah jualan bambu )
1. BAB 5
SUB PROGRAM
Pada dasarnya, manusia adalah makhluk yang lemah dan berkemampuan terbatas. Untuk mengerjakan sesuatu hal yang besar
dan kompleks, manusia membagi pekerjaan menjadi bagian yang lebih kecil yang memungkinkan untuk di selesaikan. Bagian
yan lebih kecil dan telah diselesaikan itu disebut dengan modul. Dalam algoritma pun juga terdapat paradigma untuk membagi
pekerjaan besar menjadi pekerjaan yang lebih kecil. Prinsip ini di kenal dengan divide and conquer (bagi lalu selesaikan).
A. Prosedur (Procedure)
Prosedur di kategorikan sebagai sub (subprogram) yang menghasilkan output lebih dari satu atau hanya sekedar
melakukan tindakan tertentu.
Contoh 5.1
Buatlah prosedure untuk menukar nilai dari dua variable.
Analisis :
Untuk memindahkan posisi huruf A pada posisi huruf B dan sebaliknya, maka kita perlu tempat sementara (temp) sebelum huruf
B. Karena kita tidak bisa begitu saja menaruh huruf ke posisi B, yang akan berakibat huruf B akan “hilang”. Langkah –
langkahnya adalah sebagai berikut :
TEMP
No. Langkah Algoritma
1. Temp di isi A temp A
2. (A kosong) A di isi B A B
3. (B kosong) B di isi temp B temp
Algoritma 5.1
prosedur tukar (input/output a : integer; b : integer)
{menukar isi dua nilai a menjadi nilai b, demikian pula sebaliknya}
Deklarasi
temp : integer
Deskripsi
temp a
a b
b temp
BA
2. Translasi 5.1
Bahasa Pascal Bahasa C
program Tukar_Nilai;
uses wincrt;
var a, b : integer;
procedure tukar (var a, b : integer);
var temp : integer;
begin
temp := a;
a := b;
b := temp;
end;
begin
a := 100; b:= 50;
writeln (‘Sebelum Tukar’);
writeln (‘Isi Nilai =’,a);
writeln (‘Isi Nilai =’,b);
tukar (a,b);
writeln (‘Sesudah Tukar’);
writeln (‘Isi Nilai1 = ‘,a);
writeln (‘Isi Nilai2 = ‘,b);
end.
#include <stdio.h>
void tukar (int *a, int *b)
{ int temp;
temp = *a;
*a = *b;
*b = temp;
}
Main () {
int a = 100, b = 50;
printf(“Sebelum Tukarn”);
printf(“isi Nilai1 = %dn”,a);
printf(“isi Nilai2 = %n”,b);
tukar (&a,&b);
printf(“Sesudah Tukarn”);
printf(“Isi Nilai1 =%dn”,a);
printf(“isi Nilai2 =%dn”,b);
return 0;
}
B. Fungsi (Function)
Sebagaimana pengertian fungsi dalam matematika, fungsi dalam algoritma adalah subprogram yang menghasilkan satu
nilai. Perbedaan penulisan fungsi dalam bahaasa Pascal dan Bahasa C adalah sebagai berikut :
Karakteristik Bahasa Pascal Bahasa C
mulai dengan … keyword function tipe hasil
nilai akhir dan fungsi disimpan pada nama fungsi return(hasil akhir)
prototipe function nama(deklarasi variable
tipe_hasil;
tipe_hasil nama
(deklarasi variable)
contoh function rata(x : larik; n : integer) : real float rata(larik x, int n)
Fungsi dipanggil dengan dua cara :
1. Langsung digunakan, misalnya pada saat mencetak hasil
2. di-assign ke suatu vaiabel
Bahasa Pascal Bahasa C
writeln(‘Hasil hitung rata-rata =’,rata(A,n)); printf(“Hasil hitung rata-rata = %fn”
(A,n));
hitung_rata := rata(A,n); Hitung_rata = rata (A,n);
3. C. Parameter Dalam Subprogram
Dalam subprogram dapat dideklarasikan variable sendiri, yang nantinya akan digunakan Variabel yang dideklarasikan
dalam subprogram bersifat lokal, artinya hanya dikenal dalam procedure itu sendiri, dan tidak di kenal diluar procedure. Ada 2
jenis parameter yang dideklarasikan dalam subprogram, yaitu :
1. parameter nilai (value parameter) : variable yang dikirim tidak mengalami perubahan
sekeluar dari subprogram)
2. parameter variable (variable parameter) : variable yang dikirim tidak mengalami
perubahan sekeluar dari subprogram)
Jenis Parameter Bahasa Pascal Bahasa C
parameter nilai ----- menggunakan const
parameter variabel menggunakan var melalui pointer
Contoh 5.2
Buatlah fungsi yang menentukan nilai terbesar dari 2 bilangan bulat.
Algoritma 5.2
Fungsi maksimum2 (input a,b : integer) : integer
Deskripsi
if (a>b) then maksimum2 a
else maksimum2 b
Translasi 5.2
Bahasa Pascal Bahasa C
program nilai_maksimum_2_bilangan;
user wincrt;
var x,y : integer;
function maksimum2(a,b : integer) : integer;
begin
If (a>b) then maksimum2 : = a
Else maksimum2 := b;
end;
begin
writeln(‘Masukkan dua integer :’);
write(‘Bilangan pertama : ‘); readln(x);
write(‘Bilangan kedua : ‘); readln(y);
write(‘Nilai terbesar:’,maksimum2(x,y));
end.
#include <stdio.h>
int maksimum2(int a, int b)
{ if (a>b) return(a);
else return(b);
}
Main () {
Int x, y;
Printf(“Massukkan dua integer : n”);
Scanf(“Bilangan pertama : “);
Scanf(“%d”,&x);
Printf(“Bilangan kedua : “);
scand(“%d”,&y)
Printf(“Bilangan terbesar
:d“,maksimum2(x,y));
return 0;
}
4. Contoh 5.3
Dengan menggunakan fungsi In dan exp, buatlah fungsi untuk menghasikan nilai 𝑥 𝑦
.
Analisis :
Dengan menggunakan sifat logaritma :
In(𝑥 𝑦
) = y*In(𝑥)
exp(In(𝑥 𝑦
)) = exp(y*In(𝑥))
sehingga :
𝑥 𝑦
= exp(y*In(𝑥))
Algoritma 5.3
Fungsi Pangkat(input x,y : integer)
{Menghitung nilai dari x pangkat y}
Deskripsi
pangkat exp(y*In(x))
Translasi 5.3
Bahasa Pascal Bahasa C
Program pangkat_fungsi;
uses wincrt;
var hasil : real
a, b : integer
#include <stdio.h>
#include <math.h>
float pangkat(int x, int y)
{ return(exp(y*log(x))) }
function pangkat(x, y : integer) : real;
begin
pangkat := exp(y*ln(x));
end;
begin
writeln (‘Menghitung hasil
perpangkatan ‘);
write(‘Tulis sebuah bilangan : ‘); readln
(a);
write(‘Mau dipangkat berapa : ‘); readln
(b);
hasil := pangkat(a, b);
writeln (a,’ pangkat ‘,b,’ = ‘,hasil:6:0);
end
main() }
float hasil;
int a, b;
printf(“Menghitung hasil
perpangkatann”);
printf(“Tulis sebuah bilangan : “);
scanf(“%d”,&a)
printf(“Mau dipangkat berapa : “);
scanf(“%d”,&b)
hasil = pangkat(a, b);
printf(“%d pangkat %d =
%6.0fn”,a,b,hasil);
return 0;
}
5. Contoh 5.4
Buatlah fungsi perkalian 2 bilangan bulat dengan menggunakan operator penjumlahan.
Analisis :
a × b = a + a + a + … + a (sebanyak b kali)
Algoritma 5.4
fungsi kali(input a, b : integer) : integer
{ Menghitung hasil perkalian a dan b menggunakan Operator Penjumlahan }
Deklarasi
hasil, i : integer
Deskripsi
hasil 0
for i 1 to b do
hasil hasil + a
kali hasil
Translasi 5.4
Bahasa Pascal Bahasa C
program
Perkalian_dengan_cara_menjumlah;
{menghitung nilai dari m × n dengan cara
menjumlah : m+m+m+ … +m sebanyak n
kali}
uses wincrt;
var a, b : integer;
function kali(m, n : integer) : integer;
var i, hasil : integer;
begin
#include
int kali(int m, int n)
{ int i, hasil =0;
for (i=1;i<=n; i++)
hasil = hasil + m;
return(hasil);
}
hasil :=0;
for i:=1 to n do
hasil := hasil + m;
kali := hasil;
end
begin
write (‘Masukkan bilangan :’); readln
(a);
write (‘Akan dikali dengan ;’); readln
(b);
writeln (‘Nilai ‘,a,’ x ‘,b,’ = ‘,kali(a,b));
end
main() }
int a, b;
printf(“Masukkan bilangan : “);
scanf(“%d”,&a);
printf(“Akan dikali dengan : “);
scanf(“%d”,&b);
printf(“Nilai %d x %d =
%d”,a,b,kali(a,b));
return 0;
}
6. C. Fungsi Rekursif
Rekursif berasal dari bahasa Latin recur (re = kembali, cure : eksekusi). Fungsi rekursif adalah fungsi yang melakukan
proses perulangan dengan cara memanggil dirinya sendiri. Ini berbeda dengan versi iterative yang menggunakan perulangan for,
while maupun repeat until. Fungsi rekursif dapat dipandang sebagai sebuah “operator”. Misalkan kita lihat contoh 4.4 dimana
secara iteratif n factorial didefenisikan sebagai :
n! = 1 × 2 × 3 × … × n = ∏ 𝑖
𝑝
𝑖=1
n factorial didefinidikan secara rekursif sebagai berikut :
n! = 1 , untuk n = 0 atau n = 1
= n*(n-1)! , n > 2
Dapat dilihat ternyata pada sisi kanan terdapat operator yang sama dengan sisi kiri. Dengan demikian nilai dan factorial
baru bisa (n-1) factorial telah diperoleh. Tentu saja n factorial “lebih kompleks” disbanding dengan (n-1) factorial. Pencarian ini
berakhir bila sudah sampai pada nilai konstan, yakni telah dicapai harga n=0 atau n=1 yaitu 0!=1 atau 1!=1.
Untuk itu dapat diambil kesimpulan bahwa untuk fungsi rekursif ada 2 syarat, yaitu :
1. Kasus penyetop. Dalam kasus ini terdapat nilai konstan.
2. Kasus pemanggilan rekursif. Dalam kasus ini terdapat pemanggilan fungsi itu sendiri,
tetapi harus mengarah kepada kasus penyetop.
Contoh 5.5
buatlah fungsi factorial secara rekursif untuk mencari n!
Algoritma 5.5
Fungsi factorial(input n : integer) : longint
Deskripsi
if (n=0) or (n=1) then factorial 1
else factorial n * faktorial(n-1)
7. Translasi 5.5
Bahasa Pascal Bahasa C
program Faktorial_Fungsi_Rekursif;
uses wincrt;
var bil : integer
function factorial(N : integer):logint;
begin
if (N = 0) or (N = 1) then factorial := 1
else factorial := N * factorial(N-1);
end;
begin
write (‘ Masukkan integer n : ‘);
readln(bil);
writeln (bil.’!= ‘,kaktorial(bil)));
end.
#include <stdio.h>
long faktorial(int n)
{ if ((n==0 || (n==1)) return(1);
else return (n*faktorial(n-1));
}
main() {
int n;
long hasil;
printf(“Masukkan integer n : “);
scanf(“%d”,&n);
hasil = faktorial
printf(“Nilai %d!=%ld”, n,hasil);
return 0;
}
Contoh 5.6
Diberikan deret Fibonacci sebagai berikut :
1, 1, 2, 3, 5, 8, …
Buatlah fungsi yang mnghitung suku ke-n dari deret Fibonacci dengan menggunakan cara rekursif.
Analisis :
Suku ke-n dari deret Fibonacci diperoleh dengan rumus :
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
dengan nilai awal untuk n=1 dan n=2 berharga 1.
Algoritma 5.6
Fungsi Fibonacci (input n : integer) : integer
Deskripsi
if (n = 1) or (n = 2) then fibonacci 1
else Fibonacci fibonacci(n-1) + Fibonacci(n-2)
endif
8. Translasi 5.6
Bahasa Pascal Bahasa C
Program Deret_Fibonacci;
uses wincrt;
var I, n : integer;
function fibonacci(n : integer) : integer;
begin
if (n = 1) or (n = 2) then fibonacci :=1
else
fibonacci := Fibonacci(n-1) +
fibonacci(n-2);
end;
begin
write (‘Sampai suku ke :’);readln (n);
for I := 1 to n do write (fibonacci(i),’,’);
end
#include <stdio.h>
Int fibonacci (int n)
{ if ((n == 1) ||( n == 2)) return(1);
else return(fibonacci(n-1) + fibonacci(n-
2));
}
Main () {
Int I, n;
printf(“Sampai suku ke
:”);scanf(“%d”,&n);
for (I = 1 ; I <= n; 1++)
printf (“%d, “,Fibonacci(i)));
return
}
D. Iteratif Versus Rekursif
Dengan pengalaman memprogram, seorang programmer akan tahu, kapan mneggunakan perulangan iterative dan kapan
menggunakan perulangan rekursif. Beberapa kasus berikut akan memberikan wawasan memprogram dengan kedua versi, yaitu
versi interatif dan rekursif.
Contoh 5.7
Cetaklah satu kalimat dengan cara iterative maupun cara rekursif.
Translasi 5.7.a. Versi Iteratif
Bahsa Pascal Bahasa C
Program balik_kalimat_iteratif;
uses wincrt;
var kata : string;
procedure balik(s : string);
var i : integer;
begin
for i:=length(s) downto 1 do write(s[i])
end;
begin
kata := ‘algoritma’;
balik(kata)
end.
#include <stdio.h>
#include <string.h>
void balik(char *s)
{ int I;
for (i=strlen(s)-1 ; i>=0; i--)
putchar(s[i]);
}
main() {
char *kata = “Algoritma”;
balik(kata);
return 0;
}
9. Translasai 5.7.b. Versi Rekursif
Bahasa Pascal Bahasa C
program balik_kalimat_rekursif;
uses wincrt;
var kata : string;
procedure balik(s : string; n : integer);
begin
if (n<>0) then begin
write(s[n]);
balik(s, n-1);
end;
end;
begin
kata := ‘Algoritma’;
balik(kata, length(kata));
end.
#include <stdio.h>
#include <string.h>
void balik(char *s)
{
if (*s != ‘0’) {
balik(&s[1]);
putchar(s[0]);
}
}
main () {
char *kata = “Algoritma”;
balik(kata);
return 0;
}
Contoh 5.8
Buatlah algoritma iterative dan rekursif dan rekursif untuk menghitung gcd dari dua bilangan bulat positif.
Analisis :
Jika n ≠ 0 dan m integer non negatif, kita dapat menulis m = q.n + r untuk suatu integer non negatif q dan r dengan 0 ≤ r < n.
Contoh :
Jika n = 3, m = 16 maka 16 = 5(3) + 1, yaitu q = 5 dan r = 1.
Jika n = 10, m = 3 maka 3 = 0(10) + 3, yaitu q = 0 dan r = 3.
Untuk mencari nilai gcd dari dua integer. Kita bisa menggunakan cara menulis di atas. Misalkan kita mau cari gcd(190,34).
34 |190 190 = 5(34) + 20, r= 20
20 |34 34 = 1(20) + 14, r = 14
14 |20 20 = 1(14) + 6, r = 6
6 | 14 14 = 2(6) + 2, r = 2
Harga r ≠ 0 terakhir dicapai adalah r = 2. Inilah hasil dari gcd(190,34). Versi rekursif, gcd didefinisikan sebagai berikut :
gcd(c,d) = c, jika d = 0
= gcd(c-d, d), jika d > 0 dan c > d.
Juga berlaku hokum komunatif, gcd(c,d) = gcd(d,c).
Algoritma 5.8
Fungsi gcd(c,d : integer) : integer
Versi iteratif Versi rekursif
Deskripsi
while (d > 0) do
r c mod d
c d { menyimpan harga r terakhir
}
d r { harga r terakhir untuk
menghentikan perulangan }
endwhile
gcd c
Deskripsi
if (d=0) then gcd c
else if (c<d) then gcd gcd(d,c)
else gcd gcd(c-d, d)
10. Translasi 5.8.a Versi Iteratif
Bahasa Pascal Bahasa C
Program mencari_GCD;
uses wincrt;
var a, b, hitung : integer;
function gcd(c, d : integer) : integer;
var r : integer;
begin
while (d > 0) do begin
r := c mod d;
c := d;
d := r;
end;
gcd := c;
end;
begin { program utama }
write(‘Masukkan bilangan pertama : ‘);
readln(a);
write(‘Masukkan bilangan ke dua : ‘);
readln(b);
hitung(‘GCD dari ‘,a,’ dan ‘,b,’ =
‘,hitung);
end.
#include <stdio.h>
int gcd(int c, int d)
{ int r;
while (d > 0) {
r = c % d;
c = d;
d = r;
}
return (c);
}
main () }
int x, y, hitung;
printf(“Masukkan bilangan pertama :”);
scanf(“%d”,&x);
printf(“Masukkan bilangan kedua : “);
hitung(“%d”,&y);
printf(“gcd(%d,%d) = %dn”, x, y,
hitung);
return 0;
}
Translasi 5.8.b. Versi Rekursif
Bahasa Pascal Bahasa C
Program mencari_GCD;
uses wincrt;
var a, b, hitung : integer;
function gcd(c, d : integer) : integer;
begin
if (d=0) then gcd := c
else if (c<d) then gcd := gcd(d,c)
else gcd := gcd(c-d, d);
end;
begin { program utama }
write(‘Masukkan bilangan pertama : ‘);
readln(a);
write(‘Masukkan bilangan kedua : ‘);
readln(b);
hitung := gcd(a,b);
write(‘GCD dari ‘,a,’ dan ‘,b,’ =
‘,hitung);
end.
#include <stdio.h>
int gcd(int c, int d)
{
if (d==0) return(c);
if (c<d) return(gcd(d,c));
return(gcd(c-d, d));
}
main () {
int x, y, hitung;
printf(“Masukkan bilangan pertama : “);
scanf(“%d”,&x);
printf(“Masukkan bilangan kedua : “);
scanf(“%d”,&y);
hitung = gcd(x,y);
printf(“gcd(%d,%d) = %dn”, x, y,
hitung);
return 0;
}