Email @ nizar [email protected] YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN...

96
Mbolongs blog ║ Algo dan Pemrograman C++ by Nizar_aluk Penulis : Nizar_Aluk Email @ [email protected] YMessenger @ Nizar_aluk Facebook @ Nizar al varez WebBlog @ http://www.mbolongcs.co.cc

Transcript of Email @ nizar [email protected] YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN...

Page 1: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Penulis : Nizar_Aluk

Email @ [email protected]

YMessenger @ Nizar_aluk

Facebook @ Nizar al varez

WebBlog @ http://www.mbolongcs.co.cc

Page 2: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LAPORAN PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN

Disusun Oleh :

NAMA : MUHAMMAD NIZAR AL-AYUBI

NIM : 111080200304

LABORATORIUM PEMROGRAMAN

FAKULTAS TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SIDOARJO

2012

Page 3: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LABORATORIUM PEMROGRAMAN

FAKULTAS TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SIDOARJO

2012

LEMBAR PERSETUJUAN

Telah Diperiksa Dan Disetujui

Isi Laporan Ini

LAPORAN PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN

Disusun Oleh :

Nama : MUHAMMAD NIZAR AL-AYUBI

NIM : 111080200304

Mengetahui,

Koordinator pratikum

Alogoritma dan pemograman

( Ir.Rajudin )

Page 4: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

KATA PENGANTAR

Puji syukur atas kehadirat Allah SWT yang telah memberikan rahmat,

hidayah, serta inayah-Nya sehingga penyusun dapat menyelesaikan Laporan fisika

dasar ini dengan baik.

Dalam pembuatan laporan ini, penyusun tidak lepas dari bantuan berbagai

pihak. Untuk itu penyusun menyampaikan terima kasih yang sebesar-besarnya

kepada :

1. Ade Eviyanti, S.Kom, selaku Kepala Laboratorium Pemgrograman

2. Ir.Rajudin, selaku Dosen Pembimbing dalam Praktikum

3. Asisten praktikum yang telah membantu terlaksananya Praktikum

Algoritma dan Pemrograman

4. Dan Semua pihak yang telah membantu penyusunan laporan praktikum

ini, baik secara langsung maupun tidak.

Namun penyusun menyadari banyak kekurangan yang terdapat dalam

laporan ini. Untuk itu penyusun memohon maaf yang sebesar-besarnya apabila

terdapat kesalahan dalam pembuatan laporan ini. Oleh karena itu, kritik dan saran

yang bersifat membangun dari berbagai pihak, sangat penyusun harapkan demi

perkembangan penyusun kearah yang lebih baik. Semoga laporan ini bermanfaat

bagi pembaca. Amin.

Sidoarjo, Agustus 2012

Penyusun

Page 5: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

DAFTAR ISI

HALAMAN JUDUL ..............................................................................................

LEMBAR PERSETUJUAN ..................................................................................

KATA PENGANTAR .............................................................................................

DAFTAR ISI ...........................................................................................................

Lembar Asistensi Modul I ......................................................................................

Latihan Pemrograman Komputer Modul I-Input/Output & Jenis Data

1.1 Program perdana: Hello World! .................................................................

1.2 Program Tampilan Menggunakan Kode Escape .......................................

1.3 Program Contoh .........................................................................................

1.4 Program Mengisi Input ke Variabel String ................................................

1.5 Program Matematika Bilangan Bulat & Rill: Pembagian ..........................

1.6 Program Input ke Variabel bilangan: Menghitung Akar............................

1.7 Program Input ke Variabel Bilangan: Menghitung Rerata ..........................

1.8 Program Menghitung Invers ........................................................................

1.9 Kepresisian Bilangan Rill .........................................................................

1.10 Program Kombinasi Input-Output: Data Diri ...........................................

1.11 Output Menggunakan Stream: Hello World! Dalam C++ ..........................

1.12 Input String Menggunakan Stream: Program Nama ..................................

1.13 Program Input ke Variabel Bilangan: Menghitung Akar ............................

1.14 Program dengan beberapa Input: Menghitung Rerata ...............................

1.15 Tugas ..........................................................................................................

Lembar Asistensi Modul II ...................................................................................

Latihan Pemrograman Komputer Modul II-Struktur Pemrograman

Pencabangan ............................................................................................................

2.1 Pencabangan Tunggal: IF ...........................................................................

2.2 Program Contoh .........................................................................................

2.3 Pencabangan Ganda: IF-ELSE ...................................................................

2.4 Pencabangan Bertingkat: IF-ELSE-IF .......................................................

2.5 Kondisi Kombinatorial ...............................................................................

2.6 Tugas .........................................................................................................

Page 6: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Lembar Asistensi Modul III ..................................................................................

Latihan Pemrograman Komputer Modul III-Struktur Pemrograman:

Lompatan & Kalang ...............................................................................................

3.1 Pencabangan ...............................................................................................

3.2 Pencabangan Berganda: SWITCH .............................................................

3.4 Lompatan: Label dan Goto ........................................................................

3.5 Pencabangan & Lompatan Untuk Perulangan ...........................................

3.6 Kalang Bersyarat “Periksa-Jalankan”:WHILE ..........................................

3.7 Kalang Bersyarat “Jalankan-Periksa”:DO-WHILE ...................................

3.8 Tugas Program Konversi Suhu dengan Switch ..........................................

3.9 Tugas Program Perulangan ........................................................................

Lembar Asistensi Modul IV ..................................................................................

Latihan Pemrograman Komputer Modul IV-Struktur Pemrograman Kalang

4.1 Tabel Kuadrat .............................................................................................

4.2 Memutus Kalang: BREAK & CONTINUE ...............................................

4.3 Tabel Sinus .................................................................................................

4.4 Metode Numeris: Bisection ......................................................................

4.5 Kalang FOR Untuk Perulangan ................................................................

4.6 Kalang FOR Bertingkat: Tabel Perkalian .................................................

4.7 Kalang FOR Untuk Tabel Kode ASCII ....................................................

4.8 Kalang FOR Bertingkat Untuk Simulasi Bunyi Dering Telpon ...............

4.9 Variabel Larik Pada Perhitungan Nilai Rerata ..........................................

4.10 Tugas Tabel Konversi Suhu .......................................................................

4.11 Tugas Program Nilai Rerata dan Standar Deviasi.....................................

4.12 Tugas Program Menghitung Tinggi Pantulan Bola Jatuh Bebas ..............

Lembar Asistensi Modul V ....................................................................................

Latihan Pemrograman Komputer Modul V-Variabel Larik:

Matriks & Strings ...................................................................................................

5.1 Sekup Variabel Dalam Kalang FOR ..........................................................

5.2 Operasi Pada String: Kutak Katik Nama ...................................................

5.3 String Sebagai Larik Karakter: Caesar Chiper ...........................................

5.4 Tugas Program User dan Password............................................................

Page 7: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Lembar Asistensi Modul VI ...................................................................................

Latihan Pemrograman Komputer Modul VI-Fungsi ..........................................

6.1 Fungsi Untuk Memotong-motong Program ......................................................

6.2 Fungsi Untuk Mengisi dan Menampilkan Matriks ....................................

6.3 Fungsi dengan Nilai Kembalian (Return Value): Bisection .......................

6.4 Program Konversi Suhu .............................................................................

6.5 Tugas ..........................................................................................................

6.6 Sekup Variabel di dalam Fungsi ...............................................................

6.7 Pelewatan Parameter pada Pemanggilan Fungsi ........................................

6.8 Overloading, Pendefinisian Fungsi dengan Nama Sama ...........................

6.9 Nilai Default pada Parameter Fungsi .........................................................

6.10 Fungsi Penukaran Dua Buah Variabel .......................................................

6.11 Menulis ke File Teks ..................................................................................

6.12 Membaca dari File Teks .............................................................................

6.13 Tugas ..........................................................................................................

LEMBAR PENILAIAN .........................................................................................

Page 8: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LABORATORIUM PEMROGRAMAN

FAKULTAS TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SIDOARJO

2012

Lembar Asistensi

Praktikum Algoritma dan Pemrograman

Modul I

Judul : Input / Output dan Jenis data

Nama : MUHAMMAD NIZAR AL-AYUBI

Nim : 111080200304

Kelompok : 12

Dilaksanakan : 01 Agustus 2012

Mengetahui,

Dosen Praktikum

Ir.Rajudin

Asisten Praktikum

Moch Solichuddin

Page 9: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LATIHAN PEMROGRAMAN KOMPUTER

MODUL I - INPUT/OUTPUT & JENIS DATA

Program perdana: Hello World!

#include <stdio.h>

void main()

{

puts ("Hello Word!");

}

Hasil output :

Membuat program dengan menggunakan fungsi puts

Hai, nama saya…….

Saya sedang belajar memprogram memakai Bahasa C

Lumayan deh kalu sudah lancar nanti

OK, bye-bye ya.

#include <stdio.h>

main()

{

puts("Hai, nama saya Muhammad Nizar A");

puts("Saya sedang belajar memprogram memakai Bahasa C");

puts("Lumayan deh kalau sudah lancar nanti");

puts("OK, bye-bye ya.");

}

Page 10: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil output :

Program tampilan menggunakan kode escape

Membuat program berikut :

#include<stdio.h>

void main()

{

printf("1\t2\t3\t4\t5\t6\t7\t8\n");

printf("program\tkomputer\tbahasa\tc");

printf("\tdl Lab\tini\n");

printf("Saya sedang mempelajari\r");

printf ("kode escape\n");

puts("Suara apakah ini?\a");

}

Hasil output :

Pada program di atas fungsi puts diganti menjadi printf (tanpa mengubah

parameternya).

Apa yang terjadi?

Page 11: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Akan menghasilkan satu baris tanpa ada perintah ganti baris

Apakah perbedaan antara puts dan printf?

Puts berfungsi untuk menampilkan suatu keluaran ke layar tetapi fungsi puts

hanya digunakan untuk menampilkan nilai string, sedangkan printf berfungsi

untuk menampilkan suatu keluaran pada layar dan menampilkan semua jenis

data.

Memperhatikan tampilan yang ada di layar. Bagaimana efek kode escape \n, \t, \r

dan \a?

\n : ganti baris baru

\t : tab

\r : pindah ke kolom paling kiri dari baris yang sama

\a : bel

Buatlah program menggunakan fungsi puts atau printf untuk menampilkan

tulisan berikut di layar: (6)

#include <stdio.h>

void main()

{

printf("Motto saya:\n");

puts("Anything you can perceive, you can achieve");

}

Hasil output :

Motto saya:

"Anything you can perceive, you can achieve"

Kode \n adalah untuk ganti baris

Page 12: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Program mengisi input ke variabel string

#include<stdio.h>

main()

{

char nama[80];

printf("Masukan nama:");

gets(nama);

printf("Halo ");

puts(nama);

printf("Betul kah,kamu si %s\n",nama);

}

Hasil ouput :

Apa arti angka 80 pada nama[80] di atas?

Angka 80 pada nama[80] artinya maksimal string (huruf) yang bisa dimasukkan

Apa kegunaan fungsi gets?

Gets digunakan untuk mendefinisikan string yang dimasukkan ke program

Mengganti baris

gets(nama);

menjadi:

scanf("%s",nama);

#include <stdio.h>

void main()

{

char nama[80];

printf("Masukkan nama: ");

gets (nama);

printf("Hallo ");

puts(nama);

printf("Betul kan, kamu si %s?\n", nama);

Page 13: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

}

Hasil Output :

Apa pula kegunaan fungsi scanf?

Scanf digunakan untuk mendefinisikan setiap input yang dimasukkan ke dalam

progam

Program matematika bilangan bulat & riil: pembagian

#include<stdio.h>

main()

{

int a=10, c;

float b=3.5, d;

c=a/b; d=a/b;

printf("a=%d\n",a);

printf("b=%f\n",b);

printf("c=%d\n",c);

printf("d=%f\n",d);

}

Hasil output :

Memperhatikan cara menginisialisasi nilai variable a dan b

Page 14: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Berapakah nilai c dan d?

c = 0.000000 dan d = 2.857143

Mengapa nilai keduanya berbeda meskipun operasinya sama?

Karena c didefinisikan bertipe int (bil. bulat) dan d bertipe float (bil. Pecahan)

Program input ke variabel bilangan: menghitung akar

#include <math.h>

#include <stdio.h>

void main()

{

int a;

float b;

printf("masukkan nilai a = ");

scanf("%d",&a);

b = sqrt(a);

printf("akar dari a=%f",b);

}

Hasil output :

Variabel a bertipe bilangan bulat. Coba masukan nilai a = 100.5

Bagaimana hasilnya? Mengapa bisa begitu?

-Hasilnya 10 atau akar dari a tetap berharga bilangan bulat.

-Karena a sudah didefinisikan bertipe int (bil bulat), maka yang di

perhatikan Cuma bilangan bulatnya saja.

Mengganti baris

scanf("%d",&a);

menjadi:

scanf("%f",&a);

Mengganti baris

printf("akar dari a = %f",b);

Page 15: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

menjadi:

printf("akar dari a = %d",b);

#include<math.h>

#include<stdio.h>

void main()

{

int a;

float b;

printf("Masukkan nilai a = ");

scanf("%f",&a);

b = sqrt (a);

printf("akar dari a = %d",b);

}

Hasil Output :

Apa yang terjadi? (1)

Mengapa harus %d, dan bukannya %f.?(2)

Akar dari a adalah 135541297, karena %d digunakan untuk mendefinisikan input

bertipe bil. bulat ke program

Apa yang terjadi? (3)

Mengapa harus %f, dan bukannya %d.?(4)

Akar dari a adalah 0, karena %f digunakan untuk mendefinisikan input bertipe bil.

pecahan ke program.

Program input ke variabel bilangan: menghitung rerata

#include<stdio.h>

main()

{

float a,b,c,rerata;

printf("Masukan nilai a,b, dan c= ");

scanf("%f %f %f",&a,&b,&c);

rerata=(a+b+c)/3;

Page 16: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

printf("Rerata=%f", rerata);

}

Hasil output :

Program menghitung invers

#include<stdio.h>

main()

{

int a;

float b,c;

printf("Masukkan a = ");

scanf("%d",&a );

b=1/a;

printf("b=1/%d=%f\n",a,b);

c=1.0/a;

printf("c=1/%d=%f\n",a,c);

}

Hasil output :

Mengapa nilai b dan c berbeda meskipun operasinya sama?

Karena b,c telah di definisikan bertipe float, jadi rumusnya harus dalam

operasi pecahan dan ini tidak terjadi pada b.

Kepresisian bilangan riil

#include <stdio.h>

void main()

{

Page 17: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

float a = 3, b;

double c;

b = 1000/a;

c = 1000/a;

printf("a = %f\n",a);

printf("b = %f\n",b);

printf("c = %f\n",c);

}

Hasil output :

Mengapa nilai b dan c berbeda meskipun operasinya sama?

Karena nilai b bertipe data pecahan dengan ketetapan data tunggal (float),

sedangkan nilai c bertipe data numerik

Pengaturan tampilan

#include <stdio.h>

void main()

{

double a=3.0,b;

b=1000.0/a;

printf("a=%f\t\t b=%f\n",a,b);

printf("a=%7.2f\t\t b =%7.2f\n",a,b);

printf("a=%+7.4f\t\t b =%+7.4f\n",a,b);

printf("a=%q\t\t\t b=%q\n",a,b);

printf("a=%e\t b=%e\n",a,b);

printf("a=%5.2e\t b =%5.2e\n",a,b);

}

Hasil output :

Page 18: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Tuliskan secara singkat maksud dari masing-masing format tadi (%f, %7.2f,

%+7.4f, %g, %e, %5.2e) (5).

%f : memanggil variable bertipe bil. pecahan

%7.2f : memanggil variable betipe bil. pecahan dengan lebar tampilan 7

digit dan ketelitian (presisi) 2 digit.

%7.4f : memanggil variable betipe bil. pecahan dengan tanda + diawali

bilangan, lebar tampilan 7 digit dan ketelitian (presisi) 4 digit.

%g : memanggil variable bertipe pecahan dengan nilai desimalnya

adalah duplikasi bilangan sebelum koma, untuk a tidak ada

%e : menyatakan bilangan ke dalam standar pangkat

%5.2e : menyatakan bilangan ke dalam standar pangkat dengan lebar

tampilan 5 digit dan ketelitian 2 digit

Program kombinasi input-output: data diri

#include <stdio.h>

void main()

{

char nama[50], progstudi[15], NIM[12];

int angkatan;

/* Mengisi data */

printf("Nama : "); gets (nama);

printf("Program studi : "); gets (progstudi);

printf("Angkatan : "); scanf("%d",&angkatan);

printf("NIM : ");scanf("%s",NIM);

Page 19: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

/* Menampikan data */

printf("\nData anda adalah :\n");

printf("%s (%s %d/%s)\n", nama,progstudi,angkatan,NIM);

}

Hasil Output :

Pesan error apakah yang muncul saat program tersebut tampil, serta bagaimana

cara membetulkannya?

Tidak ada pesan error pada program

Mengganti pemotongan baris baris ke-2 dan 3

(a) menjadi:

printf("%s (%s %d/%d)\n",nama,progStudi,angkatan,NIM);

(b) menjadi:

printf("%s (%s %d/%d)

\n",nama,progStudi,angkatan,NIM);

Manakah di antara (a) dan (b) yang memberikan pesan error, dan mengapa

bisa terjadi error? (1).

Muncul error : undefined symbol „nama‟ dan untuk membetulkannya ganti

nama menjadi Nama, pada pemotongan b terjadi error karena terjadi

pemotongan pada range fungsi printf, yaitu di dalam tanda “”.

Output menggunakan stream: Hello World! dalam C++

#include<iostream.h>

void main()

{

cout <<"Hello World!" << endl

<< "We're in C++ now";

}

Page 20: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

Apakah fungsi dari endl? (2)

Fungsi endl adalah untuk ganti baris atau sama dengan fungsi \n

Membuat program menggunakan cout untuk menampilkan tulisan yang sama

dengan program contoh no (1) pada modul 1

#include <iostream.h>

main()

{

cout << "Hai, Nama saya Silfi Irawati" << endl

<<"saya sedang belajar memprogram memakai Bahasa C++"

<< endl

<< "Lumayan deh kalau sudah lancar nanti" << endl

<< "OK, bye-bye ya.";

}

Hasil output :

Input string menggunakan stream: program nama

#include<iostream.h>

void main()

{

char nama[80];

cout<<"Masukkan nama:";

cin>>nama;

cout << "Halo " << nama << endl

<< "Betul kan, kamu si " << nama;

}

Page 21: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

Menggantikan fungsi apakah cin dan cout?

-fungsi cin menggantikan gets, scanf

-fungsi cout menggantikan puts, printf

Program input ke variabel bilangan: menghitung akar

#include <iostream.h>

#include<math.h>

void main()

{

int a;

float b;

cout << "Masukkan nilai a = ";

cin >> a;

b = sqrt (a);

cout << "akar dari a = "<< b ;

}

Hasil Output :

Bandingkan dengan program serupa pada modul 1 yang mengisikan variabel

dengan fungsi scanf. Apakah perbedaan perlakuan terhadap variabel a untuk

input menggunakan cin dalam program di atas dengan yang menggunakan

scanf (3)

?

Program dengan scanf : pemanggilan variable a dengan scanf (“%d”, &a);

Page 22: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Program dengan cin : pemanggilan variable a dengan cin >> a; lebih

simple dengan memakai cin

Program dengan beberapa input: menghitung rerata

#include <iostream.h>

void main()

{

float a, b, c, rerata;

cout << "Masukkan nilai a, b dan c = ";

cin >> a >> b >> c;

rerata = (a+b+c)/3;

cout<< "Rerata = " << rerata ;

}

Hasil Output :

Terjadi kesalahan pada input data cin dan seharusnya cin >> a >> b >> c;

1. Tugas

1. Memperbaiki Program sehingga bisa dijalankan :

#include <stdio.h>

main(){

int iPertama, iKedua;

float fHasil;

printf("Masukan Bilangan Pertama : ");

scanf("%d",&iPertama);

printf("Masukan Bilangan Kedua : ");

scanf("%d",&iKedua);

fHasil = iPertama / iKedua;

printf("Hasilnya : %f", fHasil);

}

Page 23: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

2. Buatlah program untuk menghitung Luas (L) segitiga siku-siku jika

diketahui panjang Alas (A) dan panjang Tingginya (T)

L = ½ AT

T = 0.5*A*T

A

#include <iostream.h>

void main()

{

/*DEKLARASI*/

float alas;

float tinggi;

float luas;

/*ALGORITMA*/

cout<<"Berapa alas segitiga?";

cin>>alas;

cout<<"Berapa tinggi segitiga?";

cin>>tinggi;

luas=0.5*alas*tinggi;

cout<<"luas="<<luas;

}

Page 24: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

Page 25: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LABORATORIUM PEMROGRAMAN

FAKULTAS TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SIDOARJO

2012

Lembar Asistensi

Praktikum Algoritma dan Pemrograman

Modul II

Judul : Struktur pemograman pencabangan

Nama : MUHAMMAD NIZAR AL-AYUBI

Nim : 111080200304

Kelompok : 12

Dilaksanakan : 01 Agustus 2012

Mengetahui,

Dosen Praktikum

Ir.Rajudin

Asisten Praktikum

Moch Solichuddin

Page 26: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LATIHAN PEMROGRAMAN KOMPUTER

MODUL II - STRUKTUR PEMROGRAMAN

PENCABANGAN

Pencabangan tunggal: IF

Buatlah program dibawah ini. Jika umur diisi lebih dari 60 tahun mka akan

ditampilkan komentar.

#include <iostream.h>

void main()

{ int umur;

cout << "Masukkan umurmu = ";

cin >> umur;

if (umur >= 60)

cout << "Hallo mbah"<< endl;

cout << "Salam buat Adek ya" << endl;

cout << "Jadi umurmu "<< umur << " tahun ";

}

Hasil output :

Error apakah yang muncul serta bagaimana yang benar? (1)

Karena tidak ada {} setelah if, dimana tanda itu digunakan sebagai pembatas blok

instruksi if, yang benar

if (umur >= 60){

cout << "halo mbah"<< endl;

cout << "Salam buat cucumu ya" << endl;

}

Page 27: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Buatlah Program sesuai contoh berikut :

Program Contoh

#include<iostream.h>

void main()

{

int tahun, umur;

cout << "Masukkan tahun kelahiranmu = ";

cin >> tahun;

umur = 2003-tahun;

cout << "Umurmu " << umur << " tahun\n";

if (umur < 17)

{ cout << "Kamu belum sweet seventeen\n";

cout << "Belum cukup umur\n";}

}

Hasil output :

Jalankan dan isikan tahun kelahiran 1988 dan 1975 serta nilai lain. Kesalahan

apakah yang terjadi dan bagaimana yang benar? (2)

Terjadi kesalahan logika, seharusnya jika umur = 17 atau diatas 17 ada pesan

kamu sudah dewasa

Pencabangan ganda: IF-ELSE

Buatlah program untuk menentukan apakah seseorang lulus atau tidak

menggunakan nilainya.

#include <iostream.h>

void main()

{

int N;

cout <<"Masukkan nilai(0 s/d 100) = ";

Page 28: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

cin >> N;

if (N>= 50)

cout <<"Lulus"<<endl;

else if(N < 50)

cout <<"Tidak Lulus"<<endl;

}

Hasil output :

Error apakah yang muncul waktu dicompile dan bagaimana yang benar?

Terjadi error karena setelah else tidak ada if

Pencabangan bertingkat: IF-ELSE-IF

Buatlah program untuk member nilai huruf berikut.

#include<iostream.h>

void main()

{ int N;

cout << "Masukkan nilai = ";

cin >> N;

cout << "Nilai huruf = ";

if (N >= 80)

cout << "A";

else if (N >= 60)

cout << "B";

else if (N >= 40)

cout << "C";

else if (N < 40)

cout << "D";

}

Page 29: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil output :

Mengapa hasil yang dikeluarkan tidak sesuai?

Karena tidak sesuai dengan syntax if yang digunakan dan setelah if harus dipisah

dengan else sebelum membuat perintah if baru.

Flowchart program di atas

Mulai

Masukkan

nilai N

If(N>=80)

If(N>=60)

If(N>=40)

else If(N>=40)

Selesai

Nilai huruf = A

Nilai huruf = B

Nilai huruf = C

Nilai huruf = D

ya

ya

ya

ya

tidak

tidak

tidak

Page 30: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Kondisi kombinatorial

#include<iostream.h>

void main()

{ int N;

cout << "Masukkan nilai = ";

cin >> N;

cout << "Nilai huruf = ";

if (N >= 40)

if (N >= 60)

if (N >= 80)

cout << "A";

else

cout << "B";

else

cout << "C";

else

cout << "D";

}

Hasil output :

Page 31: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Flowchart dari program di atas

Tugas

1. Program Genap Ganjil

Tulis program untuk menentukan apakah bilangan yang diinput oleh user

genap atau ganjil.

Contoh masukan :

Bilangan = 10

Contoh keluaran :

Bilangan 10 adalah genap

#include <iostream.h>

int main(){

int bil;

Mulai

Masukkan

nilai N

If(N>=80)

If(N>=60) && (N<80))

If(N>=40) && (N<60))

else If(N<=40)

Selesai

Nilai huruf = A

Nilai huruf = B

Nilai huruf = C

Nilai huruf = D

ya

ya

ya

ya tidak

tidak

tidak

Page 32: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

cout<<"Masukkan bilangan bulat yang akan

diperiksa:";cin>>bil;

//Melakukan pengecekan bilangan apakah habis di bagi

dua atau tidak

if (bil%2==0){

cout<<bil<<"adalah bilangan genap";

}else {

cout<<bil<<"adalah bilangan ganjil";

}

return 0;

}

Hasil Output :

Page 33: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LABORATORIUM PEMROGRAMAN

FAKULTAS TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SIDOARJO

2012

Lembar Asistensi

Praktikum Algoritma dan Pemrograman

Modul III

Judul : Struktur Pemrograman : Lompatan & Kalang

Nama : MUHAMMAD NIZAR AL-AYUBI

Nim : 111080200304

Kelompok : 12

Dilaksanakan : 01 Agustus 2012

Mengetahui,

Dosen Praktikum

Ir.Rajudin

Asisten Praktikum

Moch Solichuddin

Page 34: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LATIHAN PEMROGRAMAN KOMPUTER

MODUL III - STRUKTUR PEMROGRAMAN

LOMPATAN & KALANG

Pencabangan

#include<iostream.h>

void main()

{

int umur;

cout<<"Masukkan umur anda = ";

cin>>umur;

if (umur==20)

cout<<"Umur anda tepat dua puluh tahun"<<endl;

else

cout<<"Umur anda bukan dua puluh tahun"<<endl;

}

Hasil output :

Terjadi kesalahan pada bagian if (umur = 20)

Dengan memodifikasi “== “

Pencabangan berganda: SWITCH

#include <iostream.h>

void main()

{

char kategori;

float diskon;

cout << "Kategori pelanggan (A/B/C/D/E) =";

cin >> kategori;

Page 35: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

switch (kategori) {

case 'A':

diskon = 40;break;

case 'B':

diskon = 25;break;

case 'C':

case 'D':

diskon = 10;break;

default:

diskon = 0;

}

cout << "Diskon = " << diskon << "%";

}

Hasil output :

Dengan menambahkan break di setiap case

Lompatan: label dan goto

#include <iostream.h>

void main()

{

cout << "Ini Langkah pertama" << endl;

goto LABEL2;

LABEL1:

cout << "Ini Langkah kedua" << endl;

goto LABEL3;

LABEL2:

cout << "Ini Langkah ketiga" << endl;

goto LABEL1;

LABEL3:

cout << "Ini Langkah keempat" << endl;

}

Page 36: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil output :

Label dan Goto befungsi :

Label sebagai penunjuk dalam proses

Goto digunakan untuk melompati suatu proses ke proses yang lainnya di dalam

program dan juga bisa digunakan sebagai suatu proses perbandingan

Pencabangan & lompatan untuk perulangan

#include <iostream.h>

#include <conio.h>

void main()

{

float C, F;

char tombol;

Ulangi:

cout << "Masukkan suhu dalam Celcius = ";

cin >> C;

F = 1.8*C+32;

cout << "Suhu dalam Fahrenheit = " << F

<< endl;

cout << "Apakah mau mengulangi (Y/T)?";

tombol = getch();cin>>tombol;

cout << endl;

if (tombol == 'Y' || tombol == 'y'){

goto Ulangi;}

else{

cout << "Selesai";

}

}

Page 37: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil output :

Dengan menambahkan

if (tombol == 'Y' || tombol == 'y'){

goto Ulangi;}

else{

cout << "Selesai";

}

Apakah fungsi dari getch()

Gets berfungsi untuk membaca sebuah karakter tanpa perlu menekan enter

Kalang bersyarat “periksa-jalankan” : WHILE

#include <iostream.h>

#include <conio.h>

void main()

{ char nama [80];

char tombol;

while ((tombol == 'Y')||(tombol == 'y'))

{

cout << "Masukkan nama anda = ";

cin >> nama;

cout << "Halo " << nama << endl << endl;

cout << "Apakah mau mengulangi (Y/T)?";

tombol = getch();cin >> tombol;

cout << endl << endl;

}

cout << "Selesai";

}

Page 38: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

Apa yang terjadi mengapa hasi output kosong?

Karena belum ada fungsi getch dan sebelum masuk while diberi fungsi getch

tombol:();

#include<iostream.h>

#include<conio.h>

main()

{

char nama[80];

int tombol;

while((tombol =='Y')||(tombol=='y'));

{

cout<<"Masukkan nama anda: ";

cin>>nama;

cout<<"Halo "<<nama<<endl<<endl;

cout<<"Apakah mau mengulangi(Y/T)?: ";

tombol=getch();cin>>tombol;

cout<<endl<<endl;

}

cout<<"Selesai"<<endl;

}

Hasil output :

Kalang bersyarat “jalankan- periksa”: DO-WHILE

#include <iostream.h>

#include <iostream.h>

Page 39: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

#include <conio.h>

main ()

{

char nama [80] ;

int tombol, cacah = 0;

float nilai, jumlah = 0,rerata;

cout << "Menghitung rerata nilai \n";

cout << "Masukkan nilai, "

<<"Isikan negatif jika selesai\n\n";

do {

cacah++;

cout<<"Data ke-" <<cacah<<"=";

cin>>nilai;

jumlah=jumlah + nilai;

}

while (nilai>=0);

rerata = jumlah /cacah;

cout << "\nBanyaknya data = "<<cacah;

cout << "\nJumlah = "<<jumlah;

cout << "\nRerata ="<< rerata;

}

Hasil output:

Apa fungsi instruksi cacah++ (1)

.

Adalah peningkatan dengan menambahkan nilai satu setiap kali looping

Page 40: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Dan menambahkan variabel bertipe integer dan mengganti while (cacah<i) dan i

diinputkan dari keyboard

Tugas

Menu:Program konversi suhu dengan switch

Flowchart program konversi suhu dengan switch

Page 41: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

#include <iostream.h>

#include <conio.h>

void main()

{

char menu;

Mulai

Masukkan suhu

Tampilkan Menu

Pilih menu (A,B,C,D,E,F)

Switch Menu

Case

„A‟

Case

„B‟

Case

„C‟

Case

„D‟

Case

„E‟

Case

„F‟

Konver

si C ke

F

Konver

si F ke

C

Konver

si C ke

R

Konver

si R ke

C

Konver

si F ke

R

Konver

si R ke

F

Menampilkan

tulisan eror

Selesai

Page 42: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

float suhu, celsius, fahrenheit, reamur;

cout << "Program kenversi suhu" << endl

<< "---------------------" << endl;

cout << "Masukkan suhu = ";

cin >> suhu;

cout << "\nMenu konversi suhu :" << endl

<< "A. Celsius ke Fahrenheit" << endl

<< "B. Fahrenheit ke Celsius" << endl

<< "C. Celsius ke Reamur" << endl

<< "D. Reamur ke Celsius" << endl

<< "E. Fahrenheit ke Reamur" << endl

<< "F. Reamur ke Fahrenheit" << endl;

cout << "Pilih konversi suhu = ";

cin >> menu;

switch (menu){

case 'A':

fahrenheit = 9.0/5.0*suhu + 32;

cout << suhu << " C = " << fahrenheit << " F";

break;

case 'B':

celsius = 5.0/9.0*(suhu - 32);

cout << suhu << " F = " << celsius << " C";

break;

case 'C':

reamur = 4.0/5.0*suhu;

cout << suhu << " C = " << reamur << " R";

break;

case 'D':

celsius = 5.0/4.0*suhu;

cout << suhu << " R = " << celsius << " C";

break;

case 'E':

reamur = 4.0/9.0*(suhu - 32);

cout << suhu << " F = " << reamur << " R";

break;

case 'F':

fahrenheit = 9.0/4.0*suhu + 32;

cout << suhu << " R = " << fahrenheit << " F";

break;

Page 43: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

default:

cout << "error";

break;

}

}

Hasil Output :

Program Perulangan

Buatlah program perulangan untuk menampilkan kalimat “Halo apa khabar ?”

sebanyak 5 kali. Dengan Sintaks: While, Do….While, dan For.

- Dengan Sintaks : While

#include <iostream.h>

int main(){

int C;

C=0;

while(C<5){

cout<<"Halo apa khabar?"<<endl;

C++;

}

return 0;

}

Page 44: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

-Dengan Sintaks : Do-While

#include <iostream.h>

int main(){

int C=0;

do{

cout<<"Halo apa khabar?"<<endl;

C++;

}while(C<5);

return 0;

}

Hasil Output :

- Dengan Sintaks : For

#include <iostream.h>

int main(){

int C;

for (C=0;C<5;C++){

cout<<"Halo apa khabar?"<<endl;

}

return 0;

}

Page 45: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

Page 46: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LABORATORIUM PEMROGRAMAN

FAKULTAS TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SIDOARJO

2012

Lembar Asistensi

Praktikum Algoritma dan Pemrograman

Modul IV

Judul : Struktur Pemrograman : Kalang

Nama : MUHAMMAD NIZAR AL-AYUBI

Nim : 111080200304

Kelompok : 12

Dilaksanakan : 02 Agustus 2012

Mengetahui,

Dosen Praktikum

Ir.Rajudin

Asisten Praktikum

Moch Solichuddin

Page 47: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LATIHAN PEMROGRAMAN KOMPUTER

MODUL IV - STRUKTUR PEMROGRAMAN:

KALANG

Tabel kuadrat

#include <iostream.h>

#include <iomanip.h>

void main()

{

int x=0;

cout << " x x kuadrat\n";

while (x <= 20)

cout << setw(3) << x << setw(8) << (x*x) << endl;

x++;

}

Hasil output :

Ada beberapa kesalahan, karena while tidak ada kurung kurawal buka dan tutup

while (x <= 20) }

cout << setw(3) << x << setw(8) << (x*x) << endl;

x++;

}

Page 48: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Apa guna fungsi setw( ) berfungsi membuat tampilan dalam rata kanan dengan

lebar ditentukan oleh nilai yang ada dalam kurung

Memutus kalang: BREAK & CONTINUE

#include <iostream.h>

void main()

{

int i = 0;

cout << i;

do {

i++;

cout << "- ";

if (i == 4)

continue;

cout << i;

} while (i < 10);

cout << "\nSelesai\n";

}

Hasil output :

Fungsi simbol / /

Berfungsi sebagai komentar dalam program / keterangan

Fungsi dari keyword break

Break berfungsi mengeluarkan eksekusi compiler dari struktur program setelah

suatu kondisi tertentu dipenuhi

Fungsi dari continue

Continue berfungsi melanjutkan eksekusi compiler ke blok selanjutnya setelah

suatu kondisi tertentu dipenuhi.

Page 49: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Tabel sinus

#include <stdio.h>

#include <math.h>

void main ()

{

const float PI = 3.141593;

int x = 0, x2;

float y,y2;

puts ("Tabel sinus\n--");

puts (" x sin(x) x sin(x)");

do {

y = sin (x/180.0*PI);

x2 = x+180;

y2 = sin(x2/180*PI);

printf("%4d %8.4f %4d %8.4f\n",

x,y,x2,y2);

x+= 10;

}

while (x <= 180 );

}

Hasil output :

Yang menyebabkan nilai dalam tabel salah

y = sin (x/80,0*PI)

y = sin (x2/80*PI)

Seharusnya

y = sin (x/57,2958)

y 2= sin (x/57,2958)

Page 50: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Apakah fungsi dari operator += ?

+= untuk menambahkan nilai x dengan nilai 10

Metode numeris: Bisection

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

void main()

{

int iterasi = 0;

double xL, xC, xU, yL, yC, yU;

cout <<"Mencari akar persamaan x*x-2*x-3=0"

<<"dengan metode bisection\n"

<<"Masukkan tebakan awal bawah = ";

cin >> xL;

cout<< "Masukkan tebakan awal atas = ";

cin >> xU;

cout << "iterasi xL xC"

<< " xU yL"

<< " yC yU\n";

do{

xC = ( xL+xU)/2;

yL = xL*xL-2*xL-3;

yU = xU*xU-2*xU-3;

yC = xC*xC-2*2*xC-3;

cout << setw(5) << iterasi

<< setiosflags (ios::fixed)

<< setprecision (5)

<<setw (12) << xL

<<setw (12) << xC

<<setw (12) << xU

<<setw (12) << yL

<<setw (12) << yC

<<setw (12) << yU << endl;

if (yL*yC <= 0)

xU = xC;

else

Page 51: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

xL = xC;

iterasi ++;

}

while ((iterasi <= 50 )&& (fabs(yC)>1e-5));

cout << "Jadi akarnya adalah "<< xC;

}

Hasil outputnya:

Set presision, merupakan suatu fungsi manipulator yang digunakan untuk

mengatur jumlah digit desimal yang ingin ditampilkan.

Apa beda antara ios::fixed dan ios::scientific, mempunyai fungsi yang sama yaitu

format bilangan riil akan tetap dapat diubah dengan memanggil fungsi set atau

unset diikuti argumen ios::scientific atau ios::fixed

Kalang FOR untuk perulangan

#include <iostream.h>

void main()

{

int i;

for (i=1; i<=20; i++) {

cout << "kalang ke-" << i << endl;

}

}

Page 52: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil output :

Fungsi masing-masing bagian pada baris for

(a)for (i=10; i<=20; i++) { : mengurutkan angka kalang 10 samapi 20

(b)for (i=1; i<=10; i++) { : mengurutkan angka kalang 1 sampai 10

(c)for (i=1; i<=20; i=i+2) { : mengurutkan angka kalang dengan

kelipatan 2

Kalang FOR bertingkat: Tabel Perkalian

#include <iostream.h>

#include <iomanip.h>

void main ()

{

for (int i=1; i<=10; i++) {

for (int j=1; j<=i; j++) {

cout << setw (5) << i*j;

}

cout << endl;

}

}

Page 53: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil outputnya:

Kalang FOR untuk Tabel Kode ASCII

#include <iostream.h>

#include <iomanip.h>

void main ()

{

cout << "\t";

for (int i=32; i<=255; i++) {

cout << setw(3) << i << " "

<< char (i) << " ";

}

}

Hasil output :

Kelompok karakter apa yang masing-masing mempunyai kode dari 48 s/d 57, dari

65 s/d 90, dari 97 s/d 122 ?

kode dari 48 s/d 57 termasuk karakter angka 0-9

Page 54: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

kode dari 65 s/d 97 termasuk karakter huruf capital A-Z

kode dari 97 s/d 122 termasuk marakter huruf kecil a-z

Kalang FOR bertingkat untuk simulasi bunyi dering telepon

#include <iostream.h>

#include <dos.h>

int main()

{

int kring;

for (kring = 1; kring <=2; kring++) {

delay(1000);

cout << "kr";

for (int i=1; i<=20; i++) {

cout << "i";

sound(600);

delay(100);

nosound();

sound(1500);

delay(30);

nosound();

}

cout << "ng\n";

}

return 0;

}

Hasil Output:

Page 55: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

--------------------Configuration: modul6 latihan5 - Win32 Debug--------------------

Compiling...

M Nizar A(304).cpp

f:\M Nizar A(111080200304)\modul 4\M Nizar A(304).cpp (8) : error C2065:

'delay' : undeclared identifier

f:\M Nizar A(111080200304)\modul 4\M Nizar A(304).cpp (8) : error C2065:

'sound' : undeclared identifier

f:\M Nizar A(111080200304)\modul 4\M Nizar A(304).cpp (8) : error C2065:

'nosound' : undeclared identifier

Error executing cl.exe.

3 buah error apa yang terjadi ?

„delay‟ : undeclarated identifier

„sound‟ : undeclarated identifier

„nosound‟ : undeclarated identifier

Fungsi delay() ? berfungsi sebagai waktu tunda antara bunyi pertama ke bunyi

berikutnya

Fungsi sound() ? berfungsi menunjukkan besarnya frekuensi bunyi yang

dikeluarkan

Variabel larik pada perhitungan nilai rerata

Ingat kembali menghitung nilai rerata 3 nilai pada modul II. Alih-alih

menggunakan sebuah variable larik a. Error apa yang terjadi dan bagaimana yang

benar?

Error penggunaan tanda kurung (), seharusnya [] pada baris cin >> a(0) > a(1) >>

a(2);

#include <iostream.h>

main()

{

int N;

float jumlah, rerata, a[5];

cout << "banyaknya nilai = ";

cin >> N;

jumlah = 0;

Page 56: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

for (int i=0; i<N; i++) {

cout << "Nilaike-" << (i+1) << " = ";

cin >> a[i];

jumlah = jumlah+a[i];

}

rerata = jumlah/N;

cout << "Rerata = " << rerata;

}

Hasil output :

Tugas

Tabel konversi suhu

#include <stdio.h>

#include <math.h>

void main()

{

int C=0;

float F, R, K;

puts("Tabel konversi suhu\n-------------------");

puts(" C F R K");

do {

F = 9.0/5.0*C + 32;

R = 4.0/5.0*C;

K = C + 273.25;

printf("%4d %8.1f %8.1f %8.2f\n",C,F,R,K);

C += 5;

} while (C <= 100);

}

Page 57: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil output :

Perhitungan nilai rerata dan standar deviasi

#include <iostream.h>

#include <math.h>

void main()

{

int N;

float jumlah, rerata, pemb, stdrdev, a[5];

cout << "Banyaknya nilai = ";

cin >> N;

jumlah = 0;

for (int i=0; i<N; i++)

{

cout << "Nilai ke -" << (i+1) << " = ";

cin >> a[i];

jumlah += a[i];

}

rerata = jumlah/N;

pemb=0;

for(i=0; i<N; i++){

pemb += (a[i]-rerata )*(a[i]-rerata);

}

stdrdev = sqrt(pemb/(N-1));

Page 58: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

cout << "rerata = " << rerata;

cout <<"\nstandar deviasi= "<< stdrdev;

}

Hasil output :

Program menghitung tinggi pantulan bola jatuh bebas

#include <iostream.h>

#include <iomanip.h>

void main()

{

float h,h0;

cout << "\nTinggi awal = ";

cin >> h0;

cout << "Pantulan ke- \t tinggi" << endl;

h=h0;

for (int i=1; i<=50; i++){

h=h-(0.2*h);

cout << setw(5) << i

<< setiosflags(ios::showpoint | ios::fixed)

<< setprecision(3) << setw(18) << h << endl;

if (h<1)

break;

}

}

Page 59: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output:

Page 60: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LABORATORIUM PEMROGRAMAN

FAKULTAS TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SIDOARJO

2011

Lembar Asistensi

Praktikum Algoritma dan Pemrograman

Modul V

Judul : Variabel Larik: Matriks & String

Nama : MUHAMMAD NIZAR AL-AYUBI

Nim : 111080200304

Kelompok : 12

Dilaksanakan : 02 Agustus 2012

Mengetahui,

Dosen Praktikum

Ir.Rajudin

Asisten Praktikum

Moch Solichuddin

Page 61: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LATIHAN PEMROGRAMAN KOMPUTER

MODUL V - VARIABEL LARIK: MATRIKS &

STRING

Sekup variabel dalam kalang FOR

#include <iostream.h>

main()

{

int i = 5;

cout <<"di luar kalang i= " << i << endl;

for (i=1; i<=10; i++) {

cout <<" di dalam kalang i= " << i<< endl;

}

cout <<"di luar kalang i= " << i << endl;

}

Hasil Output ;

Mengganti pernyataan for di atas menjadi:

for (int i=1; i<=10; i++) {

jalankan program tersebut dan perhatikan nilai i yang ditampil-kan. Apa pengaruh

pendefinisian variabel i di dalam kalang for(1)

. Muncul error karena Multiple

declaration for „i‟.

Mengganti pernyataan for di atas dengan menghilangkan bagian inialisasi kalang

for menjadi :

for (; i<=10; i++) {

Page 62: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Apakah yang terjadi apabila tidak dilakukan inisialisasi pada kalang for(2)

.

Pengaksesan variabel dalam kalang for memakai nilai awal yang telah

didefinisikan diluar kalang for

Hasil Output :

Kalang FOR untuk mengisi dan menampilkan matriks

#include <iostream.h>

main()

{

int i,j,N = 3;

float A[5][5];

for ( i=0; i<N; i++) {

for ( j=0; j<N; j++) {

cout << "A(" << i << "," << j << ") = ";

cin >> A[i][j];

}

}

cout << "Matriks A = \n";

for ( i=0; i<N; i++) {

for ( j=0; j<N; j++) {

cout << "\t" << A[i][j];

}

cout << endl;

}

}

Page 63: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output ;

Program di atas adalah sebuah contoh program yang digunakan untuk mengisi

nilai-nilai elemen pada matriks ukuran 3x3. Modifikasi (dengan menambah atau

mengubah sekitar 3 baris saja) program tersebut agar dapat digunakan untuk

mengisi dan menampilkan matriks yang berukuran 4 baris x 5 kolom (3)

.

#include <iostream.h>

void main()

{

int N = 4;

int M = 5;

float A[5][5];

for (int i=0; i<N; i++) {

for (int j=0; j<M; j++) {

cout << "A(" << i << "," << j << ") = ";

cin >> A[i][j];

}

}

cout << "\nMatriks A = \n";

for ( i=0; i<N; i++) {

for (int j=0; j<M; j++) {

cout << "\t" << A[i][j];

}

cout << endl;

}

}

Page 64: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output ;

Menambahkan beberapa baris perintah-perintah lain pada program di atas untuk

mengisi dan menampilkan juga matriks B dengan ukuran yang sama (3x3),

kemudian menampilkan matriks C yang merupakan matriks hasil penjumlahan A

dan B. Ingatlah bahwa penjumlahan matriks dilakukan elemen demi elemen (4)

.

Kemudian dari program tersebut gantilah kalang yang digunakan untuk

menghitung matriks C sebagai penjumlahan antara A dan B menjadi perkalian

antara matriks A dan B.

#include <iostream.h>

void main()

{

int i,j,N = 3;

float A[5][5];

float B[5][5];

cout << "Masukkan Matrix A = \n";

for ( i=0; i<N; i++) {

for ( j=0; j<N; j++) {

cout << "A(" << i << "," << j << ") = ";

Page 65: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

cin >> A[i][j];

}

}

cout << "Masukkan Matrix B = \n";

for ( i=0; i<N; i++) {

for ( j=0; j<N; j++) {

cout << "B(" << i << "," << j << ") = ";

cin >> B[i][j];

}

}

cout << "Matriks A = \n";

for ( i=0; i<N; i++) {

for ( j=0; j<N; j++) {

cout << "\t" << A[i][j];

}

cout << endl;

}

cout << "Matriks B = \n";

for ( i=0; i<N; i++) {

for ( j=0; j<N; j++) {

cout << "\t" << B[i][j];

}

cout << endl;

}

cout << "Penjumlahan Matrix = \n";

for (i=0; i<N; i++) {

for (j=0; j<N; j++) {

cout << "\t" << A[i][j]+B[i][j];

}

cout << endl;

}

cout << "Perkalian Matrix = \n";

for (i=0; i<N; i++) {

for (j=0; j<N; j++) {

cout << "\t" << A[i][j]*B[i][j];

}

cout << endl;

}

}

Page 66: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output ;

Operasi pada string: Kutak-katik nama

#include <stdio.h>

#include <iostream.h>

#include <string.h>

main()

{

char nama[80], nama2[80], tulisan[80];

int panjang, posisi;

cout << "Masukkan nama = ";

gets (nama);

strcpy(tulisan,"Halo ");

cout << strcat(tulisan,nama) << endl;

if (strcmp(nama,"Fella") == 0) {

cout << "Namamu Fella kan" << endl; }

else {

Page 67: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

cout << "Namamu bukan Fella" << endl; }

panjang = strlen(nama);

cout << "panjang namamu " << panjang << endl;

posisi = strcspn(nama,"z");

if (posisi < panjang) {

cout << "Huruf z pada posisi " << posisi

<< endl; }

else {

cout << "Tidak ada huruf z nya" << endl; }

strcpy(nama2,nama);

cout << strupr(nama2) << endl;

cout << strlwr(nama2) << endl;

cout << strrev(nama2) << endl;

cout << strset(nama2,'x') << endl;

}

Hasil Output ;

Jalankan program di atas dan jelaskan kegunaan dari fungsi berikut ini: strlen(),

strcpy(), strcat(), strcmp(),strlen(), strcspn(), strupr(), strlwr(), strrev(), dan strset()

(5).

strlen() = Bentuk format strlen(const char *s)

Fungsi menghitung panjang string s

strcpy() = Bentuk format strcpy(char *dest, const char *src)

Fungsi mengkopi string src ke dest

strcat() = Bentuk format strcat (char*dest, const char*src)

Fungsi menambahkan kopian src ke bagian akhir dest

strcmp() = Bentuk format strcmp(const char*s1, const char*s2)

Fungsi melakukan perbandingan s1 dengan s2

strcspn() = Bentuk format strcspn (const char *s1, const char *s2)

Page 68: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Fungsi menemukan bagian awal string s1 yang mengandung s2

strupr() = Bentuk format strupr(const char *s)

Fungsi mengubah string menjadi huruf KAPITAL (uppercase)

strlwr() = Bentuk format strlwr(const char *s)

Fungsi mengubah string menjadi huruf biasa/kecil (lowercase)

strrev() = Bentuk format strrev(const char *s)

Fungsi membalik semua karakter string, jadi huruf terakhir

menjadi awal

strset() = Bentuk format strset(const char *s, int ch)

Fungsi menset semua karakter dalam s ke ch

Gantilah baris:

gets(nama);

menjadi:

cin >> nama;

Apakah efeknya pada waktu program dijalankan? (6)

tidak memberikan efek saat program dijalankan, artinya keduanya memiliki fungsi

yang sama. Perbedaannya gets hanya bisa digunakan untuk operasi string, tetapi

cin dapat digunakan secara umum

Hasil Output:

String sebagai larik karakter: Caesar Chiper

#include <iostream.h>

#include <stdio.h>

#include <string.h>

main()

{

char tulisan[100], terenkripsi[100];

Page 69: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

int kunci, panjang, kode;

cout << "Masukkan tulisan = ";

gets(tulisan);

cout << "Masukkan nilai kunci = ";

cin >> kunci;

panjang = strlen(tulisan);

strcpy(terenkripsi,tulisan);

for (int i=0;i<panjang;i++) {

kode = int(tulisan[i])+kunci;

if (kode < 32)

kode = kode + 95;

if (kode > 126)

kode = kode - 95;

terenkripsi[i] = char(kode);

}

cout << "Terenkripsi = " << terenkripsi << endl;

}

Hasil Output ;

Menjalankan program tersebut, masukkan sebuah tulisanb dan juga kunci untuk

mengenkripsi (bil bulat positif atau negatif). Sifat operasinya adalah dapat-balik

(reversible). Untuk mendekripsi gunakan nilai lawan dari kunci tersebut.

Bagaimana bentuk terenkripsi dari “Teknik Fisika” dengan kunci 10 (7)

?

Bentuk terenkripsi dari “Teknik Fisika ” dengan kunci 10 adalah ~ouxsu*ps}suk

Apa tulisan asli dari pesan berikut ini serta berapa nilai kunci yang dipakai untuk

mengenkripsi tulisan aslinya (8)

?

tulisan asli dari Ru|qzq#0!u}# w#q}q~0rqxq$q0S tidak dapat saya temukan!

Hilangkan baris strcpy(... di atas, apa yang terjadi (9)

?

strcpy(terenkripsi,tulisan); dihilangkan maka saat program dijalankan

muncul baris Teknik Fisika setelah baris Terenkripsi = ~ouxsu*ps}suk jika

inputnya Teknik Fisika.

Page 70: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Tugas Program User dan Password

Perbaiki program dibawah ini sehingga ketika password dimasukkan akan muncul

tanda *.

Hasil Program :

#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

char username[25],password[12];{

printf("User Name :");gets(username);

printf("Password :");

for(int i=0;i<32;i++){

password[i]=getch();

if(password[i]=='\r'){

password[i]=NULL;

break;}

if(password[i]=='\b'){

if(i!=0)printf("\b\b");

password[i]=NULL;

password[i-1]=NULL;

i-=2;

if(i<-1)i=-1;

continue;

}

printf("*");

}

if((strcmp(username,"daku")==0) &&

(strcmp(password,"tif05")==0))

{

printf("\nUsername dan password Ok !!!\n");

}

else {

printf("\n\nUsername Or password invalid !!!\n");

}

getch();

}}

Page 71: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

Page 72: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LABORATORIUM PEMROGRAMAN

FAKULTAS TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SIDOARJO

2012

Lembar Asistensi

Praktikum Algoritma dan Pemrograman

Modul VI

Judul : Fungsi

Nama : MUHAMMAD NIZAR AL-AYUBI

Nim : 111080200304

Kelompok : 12

Dilaksanakan : 02 Agustus 2012

Mengetahui,

Dosen Praktikum

Ir.Rajudin

Asisten Praktikum

Moch Solichuddin

Page 73: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

LATIHAN PEMROGRAMAN KOMPUTER

MODUL VI – FUNGSI

Fungsi untuk memotong-motong program

Menjalankan program, lalu ubah dan tambahkan perhitungan standar deviasi (1)

.

#include <iostream.h>

#include <math.h>

int N;

float jumlah, rerata, peny, stdrdev, data[100];

void Masukkan_Data()

{

cout << "Banyaknya nilai = ";

cin >> N;

for (int i=0; i<N; i++)

{

cout << "NIlai ke-" << (i+1) << " = ";

cin >> data[i];

}

}

void Hitung_Rerata() {

jumlah = 0;

for (int i=0; i<N; i++) {

jumlah = jumlah+data[i];

}

rerata = jumlah/N;

}

void Hitung_Standar_Deviasi() {

peny = 0;

for (int i=0; i<N; i++) {

peny += (data[i] - rerata)*(data[i] - rerata);

}

stdrdev = sqrt(peny/(N-1));

}

void Tampilkan_Hasil() {

cout << "Jumlah = " << jumlah << endl;

cout << "Rerata = " << rerata << endl;

Page 74: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

cout << "Standar Deviasi = " << stdrdev << endl;

}

main ()

{

Masukkan_Data();

Hitung_Rerata ();

Tampilkan_Hasil();

}

Hasil Output ;

Fungsi untuk mengisi dan menampilkan matriks

Memodifikasi program untuk dapat mengisi dan menampilkan matriks B dengan

ukuran yang sama, serta matriks C yang merupakan penjumlahan antara A dan B

(2).

#include <iostream.h>

int N=2;

float A[5][5], B[5][5], C[5][5];

void MengisiMatriksA(float A[5][5])

{

for (int i=0; i<N; i++) {

for (int j=0; j<N; j++) {

cout << "elemen " << i << "," << j << " = ";

cin >> A[i][j];

}

}

}

void MengisiMatriksB(float B[5][5])

{

for (int i=0; i<N; i++) {

for (int j=0; j<N; j++) {

cout << "elemen " << i << "," << j << " = ";

Page 75: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

cin >> B[i][j];

}

}

}

void MenjumlahMatriks(float C[5][5])

{

for (int i=0; i<N; i++) {

for (int j=0; j<N; j++) {

C[i][j] = A[i][j] + B[i][j];

}

}

}

void MenampilkanMatriksA (float A[5][5])

{

for (int i=0; i<N; i++) {

for (int j=0; j<N; j++) {

cout << "\t" << A[i][j];

}

cout << endl;

}

}

void MenampilkanMatriksB (float B[5][5])

{

for (int i=0; i<N; i++) {

for (int j=0; j<N; j++) {

cout << "\t" << B[i][j];

}

cout << endl;

}

}

void MenampilkanMatriksC (float C[5][5])

{

for (int i=0; i<N; i++) {

for (int j=0; j<N; j++) {

cout << "\t" << C[i][j];

}

cout << endl;

}

}

Page 76: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

void main()

{

cout << "Masukkan elemen matriks A\n";

MengisiMatriksA(A);

cout << "Masukkan elemen matriks B\n";

MengisiMatriksB(B);

cout << "Matriks A = \n";

MenampilkanMatriksA(A);

cout << "Matriks B = \n";

MenampilkanMatriksB(B);

cout << "Jumlah kedua matriks adalah\n";

MenjumlahMatriks(C); //jk tdk ada hslnya 0 semua

MenampilkanMatriksC(C);

}

Hasil Output ;

Fungsi dengan nilai kembalian (return value) : Bisection

Review kembali program bisection pada Modul V. Memodifikasi program

tersebut dengan menggunakan fungsi, yaitu dengan menambahkan fungsi berikut

sebelum main().

Double y(double x)

{

return ::*x-2*x-3;

}

Kemudian mengganti instruksi yang digunakan untuk menghitung nilai – nilai yL,

yC, dan yU menjadi :

Page 77: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

yL = y (xL);

yC = y(xC);

yU = y(xU);

Menjalankan dan memeriksa hasil. Program tersebut digunakan untuk persamaan

yang lain yaitu exp(x) - 2*x - 2 = 0, apakah yang harus diubah dalam program

tersebut (3)

? (akar persamaan tersebut kira-kira adalah = 1.67835).

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

double y(double x)

{

/* Untuk mencari solusi persamaan lain, kita */

/* hanya mengubah bagian dibawah ini */

return exp(x)-2*x-2;

}

main()

{ int iterasi = 0;

double xL, xC, xU, yL, yC, yU;

cout << "Mencari akar persamaan x*x-2*x-3=0"

<< " dengan metode bisection\n";

cout << "Masukkan tebakan awal bawah = ";

cin >> xL;

cout << "Masukkan tebakan awal atas = ";

cin >> xU;

cout << "iterasi xL xC"

<< " xU yL"

<< " yC yU\n";

do {

xC = (xL+xU)/2;

yL = y(xL); // memakai fungsi pada return

yC = y(xC);

yU = y(xU);

cout << setw(5) << iterasi

<< setiosflags(ios::fixed)

<< setprecision(5)

<< setw(12) << xL

<< setw(12) << xC

Page 78: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

<< setw(12) << xU

<< setw(12) << yL

<< setw(12) << yC

<< setw(12) << yU << endl;

if (yL*yC <= 0)

xU = xC;

else

xL = xC;

iterasi++;

} while((iterasi <= 50)&&(fabs(yC)>1e-5));

cout << "Jadi akarnya adalah " << xC;

}

Hasil Output ;

Program konversi suhu

#include <iostream.h>

float C_ke_F(float C);

void Mengisi_Input();

void Mengkonversi();

void Menampilkan_Hasil();

main() {

Mengisi_Input();

Mengkonversi();

Menampilkan_Hasil();

Page 79: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

}

float Suhu_C, Suhu_F; // definisikan variabel

float C_ke_F(float C) {

float F;

F = 1.8*C+32.0;

return F;

}

void Mengisi_Input() {

cout << "Isikan nilai Suhu C = "; // tampilkan tulisan

cin >> Suhu_C; // isikan nilai Suhu C

}

void Mengkonversi() {

Suhu_F = C_ke_F(Suhu_C); // hitung nilai Suhu F

}

void Menampilkan_Hasil() {

cout << "Temperatur " << Suhu_C << " C = "

<< Suhu_F << " F" << endl;

}

Hasil output :

Memindahkan keempat fungsi yang ada ke bagian bawah setelah akhir dari

program utama main() lalu kompilelah. Error apa yang muncul?(4)

a. Function 'Mengisi_Input' should have a prototype

b. Function 'Mengkonversi' should have a prototype

c. Function 'Menampilkan_Hasil' should have a prototype

Page 80: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

d. Type mismatch in redeclaration of 'Mengisi_Input()'

e. Type mismatch in redeclaration of 'Mengkonversi()'

f. Type mismatch in redeclaration of 'Menampilkan_Hasil()'

Menambahkan pendefinisian keempat fungsi tadi di atas main():

float C_ke_F(float C);

void Mengisi_Input();

void Mengkonversi();

void Menampilkan_Hasil();

Menjalankan dan menjelaskan apa guna definisi fungsi tersebut(5)

.

Kegunaan definisi fungsi tersebut adalah memberikan header baru sesuai

keinginan kita, dimana dalam header tersebut terdapat fungsi yang dapat

dipanggil. Jadi kita dapat menambahkan suatu header jika suatu compiler tidak

support terhadap fungsi yang kita gunakan.

Tugas

Membuat program untuk menghitung konversi suhu dari C ke F atau R dan

sebaliknya. Program dimulai dengan menampilkan pilihan (menu) sebagai

berikut:

Pilih konversi berikut:

A. Celcius ke Fahrenheit

B. Fahrenheit ke Celcius

C. Celcius ke Reamur

D. Reamur ke Celsius

E. Fahrenheit ke Reamur

F. Reamur ke Fahrenheit

X. Selesai

Setelah dipilih, lalu mengisikan suhu yang akan dikonversi, kemudian program

melakukan

perhitungan konversi sesuai dengan yang dipilih dan menampilkan hasilnya.

Menggunakan struktur pemrograman fungsi untuk masing-masing jenis

konversi(6).

Page 81: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

#include <iostream.h>

char pilihan;

float input, output;

float C_ke_F(float C) {

float F;

F = 9.0/5.0*C + 32.0;

return F;

}

float F_ke_C(float F) {

float C;

C = 5.0/9.0*(F - 32.0);

return C;

}

float C_ke_R(float C) {

float R;

R = 4.0/5.0*C;

return R;

}

float R_ke_C(float R) {

float C;

C = 5.0/4.0*R;

return C;

}

float F_ke_R(float F) {

float R;

R = 4.0/9.0*(F - 32);

return R;

}

float R_ke_F(float R) {

float F;

F = 9.0/4.0*R + 32;

return F;

}

void Menampilkan_Menu() {

cout << "Pilih konversi berikut :" << endl

<< "A. Celsius ke Fahrenheit" << endl

<< "B. Fahrenheit ke Celsius" << endl

<< "C. Celsius ke Reamur" << endl

Page 82: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

<< "D. Reamur ke Celsius"<< endl

<< "E. Fahrenheit ke Reamur" << endl

<< "F. Reamur ke Fahrenheit" << endl

<< "X. Selesai" << endl;

}

void Mengisi_Pilihan() {

cout << "Masukkan pilihan konversi = ";

cin >> pilihan;

}

void Mengisi_Input() {

cout << "Isikan nilai suhu = ";

cin >> input;

}

void Pilihan_Konversi() {

if ((pilihan == 'A')||(pilihan == 'a')) {

output = C_ke_F(input);

cout << "Temperatur " << input << " C = "

<< output << " F";

}

else if ((pilihan == 'B')||(pilihan == 'b')) {

output = F_ke_C(input);

cout << "Temperatur " << input << " F = "

<< output << " C";

}

else if ((pilihan == 'C')||(pilihan == 'c')) {

output = C_ke_R(input);

cout << "temperatur " << input << " C = "

<< output << " R";

}

else if ((pilihan == 'D')||(pilihan == 'd')) {

output = R_ke_C(input);

cout << "Temperatur " << input << " R = "

<< output << " C";

}

else if ((pilihan == 'E')||(pilihan == 'e')) {

output = F_ke_R(input);

cout << "Temperatur " << input << " F = "

Page 83: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

<< output << " R";

}

else if ((pilihan == 'F')||(pilihan == 'f')) {

output = R_ke_F(input);

cout << "Temperatur " << input << " R = "

<< output << " F";

}

else if ((pilihan == 'X')||(pilihan == 'x')) {

cout << "Selesai";

}

else

cout << "Tidak ada dalam menu konversi";

}

main() {

Menampilkan_Menu();

Mengisi_Pilihan();

Mengisi_Input();

Pilihan_Konversi();

}

Hasil Output:

Sekup variabel di dalam fungsi

(a) Menjalankan program dan perhatikan. Tambahkan sebaris di atas cout

dalam SebuahFungsi dengan:

(b) X = 20;

(c) int X = 20;

Apakah yang terjadi pada X untuk ketiga kasus tersebut (1)

(kasus a, b, dan

c)

a)

#include <iostream.h>

Page 84: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

int x=10;

void SebuahFungsi()

{

cout <<"Di dalam funsi, x="

<<x<<endl;

}

void main()

{

cout<<"Di dalam progam utama, x="

<< x<<endl;

SebuahFungsi();

cout<<"Keluar ke progam utama lagi,x="

<<x<<endl;

}

Hasil Output ;

b)

#include <iostream.h>

int X = 10;

void SebuahFungsi()

{

X = 20;

cout << "Di dalam fungsi, X = "

<< X << endl;

}

void main ()

{

cout << "Di dalam program utama, X = "

<< X << endl;

SebuahFungsi();

cout << "Keluar ke program utama lagi, X = "

Page 85: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

<< X << endl;

}

Hasil output :

c)

#include <iostream.h>

int X = 10;

void SebuahFungsi()

{

X = 20;

int X = 20;

cout << "Di dalam fungsi, X = "

<< X << endl;

}

void main ()

{

cout << "Di dalam program utama, X = "

<< X << endl;

SebuahFungsi();

cout << "Keluar ke program utama lagi, X = "

<< X << endl;

}

Page 86: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

Pelewatan parameter pada pemanggilan fungsi

#include <iostream.h>

void Gandakan(int A, int *B, int &C)

{

A = A*2;

*B = *B*2;

C = C*2;

}

main()

{

int X = 1, Y = 10, Z = 6;

cout << "Sebelum fungsi Gandakan dipanggil\n"

<< "X = " << X << endl

<< "Y = " << Y << endl

<< "Z = " << Z << endl;

Gandakan(X, &Y, Z);

cout << "Setelah fungsi Gandakan dipanggil\n"

<< "X = " << X << endl

<< "Y = " << Y << endl

<< "Z = " << Z << endl;

}

Page 87: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output ;

Variabel manakah yang akan diubah nilainya ketika dijadikan parameter yang

dilewatkan pada fungsi Gandakan (2)

.

variabel Y dan Z, variabel X tidak termasuk karena pemanggilan variabel X tidak

diawal simbol ampersand (&) dan penulisan variabel dalam fungsi tidak diawali

symbol bintang (*)

Overloading, pendefinisian fungsi dengan nama sama

#include <iostream.h>

float HitungLuas(float R)

{

return 3.14159*R*R;

}

float HitungLuas(float P, float L)

{

return P*L;

}

main()

{

float Radius, Luas, Panjang, Lebar;

cout << "Radius lingkaran = ";

cin >> Radius;

cout << "Panjang segiempat = ";

cin >> Panjang;

cout << "Lebar segiempat = ";

cin >> Lebar;

Luas = HitungLuas(Radius);

Page 88: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

cout << "Luas lingkaran = " << Luas << endl;

Luas = HitungLuas(Panjang, Lebar);

cout << "Luas segiempat = " << Luas << endl;

}

Apakah yang menyebabkan terjadinya error pada program di atas? (3)

.

Yang menyebabkan adalah pada script

float HitungLuas(float R);

Dan

return float P*L;

Di ubah menjadi

float HitungLuas(float R)

Dan

return P*L;

Mengapa tidak terjadi error ketika 2 buah fungsi menggunakan nama yang sama?

(4).

tidak terjadi error karena 2 fungsi yang digunakan meskipun menggunakan nama

yang sama tetapi memiliki parameter yang berbeda.

Hasil Output :

Nilai default pada parameter fungsi

#include <iostream.h>

void Keterangan(int N = 10)

{

if (N >= 8)

Page 89: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

cout << "Nilai " << N << " itu bagus\n";

else if (N < 5)

cout << "Nilai " << N << " itu parah\n";

else

cout << "Nilai " << N << " itu cukupan\n";

}

main()

{

int Nilai;

Keterangan();

cout << "Masukkan nilai = ";

cin >> Nilai;

Keterangan(Nilai);

}

Hasil Output ;

Apakah yang menyebabkan terjadinya error pada program di atas? (5)

.

Pada script di sini mengalami kesalahan

void Keterangan(int N : 10)

Dirubah menjadi

void Keterangan(int N = 10)

Mengapa tidak terjadi error ketika fungsi di atas dipanggil tanpa mengisikan

parameternya? (6)

tidak terjadi error ketika parameter fungsi tidak diisikan karena pada fungsi

tersebut

sudah ada nilai default, sehingga saat parameter fungsi tidak diisi maka program

akan

menggunakan nilai default itu.

Page 90: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Fungsi penukaran dua buah variabel

#include <iostream.h>

void Tukarkan(int Angka1, int Angka2)

{

int temp = Angka1;

Angka1 = Angka2;

Angka2 = temp;

}

main()

{

int X = 1, Y = 99;

cout << "Sebelum ditukarkan";

cout << "\nX = " << X << ", Y = " << Y;

Tukarkan(X, Y);

cout << "\nSetelah ditukarkan";

cout << "\nX = " << Y << ", Y = " << X;

}

Mengapa nilai X dan Y tidak bertukaran pada program di atas, dan bagaimana

cara memperbaikinya (7)

.

Pada program Dibawah ini diganti dengan ;

cout << "\nX = " << X << ", Y = " << Y;

Menjadi

cout << "\nX = " << Y << ", Y = " << X;

Hasil Output ;

Mencoba program sorting di bawah ini, dengan masih menggunakan fungsi

Tukarkan di atas.

#include <iostream.h>

Page 91: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

void Tukarkan(int Angka1, int Angka2) {

int temp = Angka1;

Angka1 = Angka2;

Angka2 = temp;

}

void Cetak(int D[])

{

for(int i=0; i< 6; i++)

cout << D[i] << " ";

cout << endl;

}

void main()

{

int Data[6] = {10, 3, 5, 20, 15, 7};

cout << "Sebelum disortir:\n";

Cetak(Data);

cout << "Proses sortir:\n";

for (int i=0;i<5;i++) {

for (int j=4;j>=i;j--) {

if(Data[j+1] < Data[j]) {

Tukarkan (Data [j], Data[j+i]);

Cetak(Data);

}

cout << "-------\n";

}

}

}

Page 92: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output ;

Menulis ke file teks

#include <stdio.h>

#include <string.h>

#include <iostream.h>

main()

{

char namafileoutput[] = "filesaya.txt";

char teks[80];

FILE *fout;

fout = fopen(namafileoutput, "w");

cout << "Ketikkan teks yang akan ditulis "

<< "ke file, akhiri dengan END\n";

while (1) {

gets(teks);

if (strcmp(teks,"END") == 0)

break;

strcat(teks,"\n");

Page 93: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

fputs(teks, fout);

}

fclose(fout);

cout << "Selesai" << endl;

}

Hasil output :

Membaca dari file teks

#include <stdio.h>

#include <string.h>

#include <iostream.h>

main()

{

char namafileinput[] = "filesaya.txt";

char teks[80];

FILE *fin;

fin = fopen(namafileinput, "rt");

cout << "Isi file " << namafileinput << endl;

while (1) {

if (fgets(teks, 80, fin)==NULL) {

break;

}

cout << teks;

}

fclose(fin);

cout << "Selesai" << endl;

}

Page 94: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil output :

Tugas :

Fungsi adalah subprogram yang menerima data masukan atau parameter inputan,

kemudian melakukan beberapa proses, kemudian mengembalikan nilai hasil

proses untuk digunakan oleh proses yang memanggil fungsi tersebut.

Buatlah Program dengan menggunakan fungsi, program untuk menghitung luas

persegi.

#include <iostream.h>

float LuasPersegi( float sisi){

return (sisi*sisi);

}

main(){

float S;

float HASIL;

cout<<"Masukkan sisi persegi:";cin>>S;

//Memanggil fungsi LuasPersegi

HASIL=LuasPersegi(S);

//Menampilkan hasil yang didapatkan

cout<<"Luasnya="<<HASIL;

return 0;

}

Page 95: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

Hasil Output :

Page 96: Email @ nizar aluk@yahoo.com YMessenger @ Nizar aluk ... · PDF fileALGORITMA DAN PEMROGRAMAN ... Alogoritma dan pemograman ... Latihan Pemrograman Komputer Modul I-Input/Output &

Mbolong‟s blog ║ Algo dan Pemrograman C++ by Nizar_aluk

KARTU ASISTENSI

PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

FAKULTAS TEKNIK JURUSAN INFORMATIKA

UNIVERSITAS MUHAMMADIYAH SIDOARJO

NAMA : MUHAMMAD NIZAR AL-AYUBI

NIM : 111080200304

Mengetahui,

Dosen Praktikum

Ir.Rajudin

Asisten Praktikum

Moch Solichuddin

No Judul Praktikum Tanggal

Praktikum

Tanggal

Asistensi

Catatan

Asisten Nilai

1.

2.

3.

4.

5.

6.

Input/Output & Jenis Data

Struktur Pemrograman:

Percabangan

Struktur Pemrograman:

Lompataan & Kalang

Struktur Pemrograman:

Kalang

Variabel Larik :matriks dan

strings

Struktur Pemrograman:

Fungsi

01 Agustus 2012

01 Agustus 2012

01 Agustus 2012

02 Agustus 2012

02 Agustus 2012

02 Agustus 2012