modular

Algoritma & Pemrograman – Pemrograman Modular (Praktikum)

Tujuan Praktikum:

  1. Melakukan deklarasi prosedur dan fungsi
  2. Memanggil prosedur dan fungsi
  3. Membedakan antara prosedur dan fungsi
  4. Membedakan jenis-jenis parameter dan lingkupnya
  5. Memilih jenis parameter yang tepat untuk prosedur dan fungsi yang dibuat

 

Bagian 1: Luas dan Keliling Aneka Bangun

Buatlah program menghitung luas dan keliling aneka bangun dari algoritma yang telah dibahas di kelas teori (slide minggu 10 halaman 7, dan latihan di halaman terakhir).

Simpan dengan nama 1_anekaBangun.c.

Salin kode program prosedur TampilkanPilihan di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari prosedur tersebut.

void TampilkanPilihan()

{

printf(“Pilihan: \n”);

printf(“1. Luas dan Keliling Persegi \n”);

printf(“2. Luas dan Keliling Segitiga \n”);

printf(“3. Luas dan Keliling Lingkaran \n”);

}

Pada bagian ini tidak ada inputnya, yang ada hanya outputnya yaitu akan menampilkan:

Pilihan:

  1. Luas dan Keliling Persegi
  2. Luas dan Keliling Segitiga
  3. Luas dan Keliling Lingkaran

Kegunaan dari prosedur ini adalah untuk menampilkan pilihan menu kepada user yaitu pilihan 1 untuk luas persegi, pilihan 2 untuk luas segitiga dan pilihan 3 untuk luas lingkaran

Salin kode program prosedur ProsesLingkaran di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari prosedur tersebut.

int Pilihan,S,A,T,J;

TampilkanPilihan();

printf(“\nSilahkan Pilih Menu: “);scanf(“%d”,&Pilihan);

if (Pilihan==1)

{

printf(“\nMasukkan Sisi: “);scanf(“%d”,&S);

LuasPersegi(S);

}

else if (Pilihan==2)

{

printf(“\nMasukkan Alas: “);scanf(“%d”,&A);

printf(“Masukkan Tinggi: “);scanf(“%d”,&T);

LuasSegitiga(A,T);

}

else

{

printf(“\nMasukkan Jari-jari: “);scanf(“%d”,&J);

LuasLingkaran(J);

}

}

Pada bagian ini terdapat input yaitu silahkan pilih menu, jika ingin menampilkan prosedur proses lingkaran maka user harus memilih nomor 3. Setelah itu user diminta untuk menginputkan jari-jari, setelah diinputkan maka program akan memproses luas lingkaran dan keliling lingkaran berdasarkan angka yang diinputkan user kemudian outputnya berupa hasil luas lingkaran dan keliling lingkaran.

Kegunaan dari prosedur ini adalah menampilkan hasil luas lingkaran dan keliling lingkaran berdasarkan angka yang diinputkan

Salin kode program prosedur ProsesPersegi di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari prosedur tersebut.

int Pilihan,S,A,T,J;

TampilkanPilihan();

printf(“\nSilahkan Pilih Menu: “);scanf(“%d”,&Pilihan);

if (Pilihan==1)

{

printf(“\nMasukkan Sisi: “);scanf(“%d”,&S);

LuasPersegi(S);

}

else if (Pilihan==2)

{

printf(“\nMasukkan Alas: “);scanf(“%d”,&A);

printf(“Masukkan Tinggi: “);scanf(“%d”,&T);

LuasSegitiga(A,T);

}

else

{

printf(“\nMasukkan Jari-jari: “);scanf(“%d”,&J);

LuasLingkaran(J);

}

 

}

Pada bagian ini terdapat input yaitu silahkan pilih menu, jika ingin menampilkan prosedur proses persegi maka user harus memilih nomor 1. Setelah itu user diminta untuk menginputkan sisi, setelah diinputkan maka program akan memproses luas persegi dan keliling persegi berdasarkan angka yang diinputkan user kemudian outputnya berupa hasil luas persegi dan keliling persegi.

Kegunaan dari prosedur ini adalah menampilkan hasil luas persegi dan keliling persegi berdasarkan angka yang diinputkan

Salin kode program prosedur ProsesSegiTiga di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari prosedur tersebut.

int Pilihan,S,A,T,J;

TampilkanPilihan();

printf(“\nSilahkan Pilih Menu: “);scanf(“%d”,&Pilihan);

if (Pilihan==1)

{

printf(“\nMasukkan Sisi: “);scanf(“%d”,&S);

LuasPersegi(S);

}

else if (Pilihan==2)

{

printf(“\nMasukkan Alas: “);scanf(“%d”,&A);

printf(“Masukkan Tinggi: “);scanf(“%d”,&T);

LuasSegitiga(A,T);

}

else

{

printf(“\nMasukkan Jari-jari: “);scanf(“%d”,&J);

LuasLingkaran(J);

}

}

Pada bagian ini terdapat input yaitu silahkan pilih menu, jika ingin menampilkan prosedur proses segitiga maka user harus memilih nomor 2. Setelah itu user diminta untuk menginputkan alas dan tinggi, setelah diinputkan maka program akan memproses luas segitiga dan keliling segitiga berdasarkan angka yang diinputkan user kemudian outputnya berupa hasil luas segitiga dan keliling segitiga.

Kegunaan dari prosedur ini adalah menampilkan hasil luas segitiga dan keliling segitiga berdasarkan angka yang diinputkan

Salin kode program fungsi LuasLingkaran di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari fungsi tersebut.

Baca Juga  Algoritma & Pemrograman - Pemrograman Modular (Praktikum)

float LuasLingkaran(int jari)

{

float luas=3.14*(jari*jari);

float keliling=2*3.14*jari;

printf(“Luas Lingkaran: %5.2f cm \n”, luas);

printf(“Keliling Lingkaran: %5.2f cm \n”, keliling);

return luas;

}

Pada bagian ini tidak terdapat input yang ada hanyalah rumus dan output, rumus untuk menghitung luas dan keliling lingkaran yang dideklarasikan sebagai tipe data float kemudian outputnya berupa hasil perhitungan luas dan keliling lingkaran.

Kegunaan dari prosedur ini adalah memproses perhitungan dari luas lingkaran dan keliling lingkaran dan menampilkan output berupa hasil luas dan keliling lingkaran

Salin kode program fungsi KelLingkaran di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari fungsi tersebut.

float LuasLingkaran(int jari)

{

float luas=3.14*(jari*jari);

float keliling=2*3.14*jari;

printf(“Luas Lingkaran: %5.2f cm \n”, luas);

printf(“Keliling Lingkaran: %5.2f cm \n”, keliling);

return luas;

}

Pada bagian ini tidak terdapat input yang ada hanyalah rumus dan output, rumus untuk menghitung luas dan keliling lingkaran yang dideklarasikan sebagai tipe data float kemudian outputnya berupa hasil perhitungan luas dan keliling lingkaran.

Kegunaan dari prosedur ini adalah memproses perhitungan dari luas lingkaran dan keliling lingkaran dan menampilkan output berupa hasil luas dan keliling lingkaran

Salin kode program fungsi LuasPersegi di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari fungsi tersebut.

float LuasPersegi(int sisi)

{

float luas=sisi*sisi;

float keliling=sisi*4;

printf(“Luas Persegi: %5.2f cm \n”, luas);

printf(“Keliling Persegi: %5.2f cm \n”,keliling);

return luas;

}

Pada bagian ini tidak terdapat input yang ada hanyalah rumus dan output, rumus untuk menghitung luas dan keliling persegi yang dideklarasikan sebagai tipe data float kemudian outputnya berupa hasil perhitungan luas dan keliling persegi.

Kegunaan dari prosedur ini adalah memproses perhitungan dari luas persegi dan keliling persegi dan menampilkan output berupa hasil luas dan keliling persegi

Salin kode program fungsi KelPersegi di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari fungsi tersebut.

float LuasPersegi(int sisi)

{

float luas=sisi*sisi;

float keliling=sisi*4;

printf(“Luas Persegi: %5.2f cm \n”, luas);

printf(“Keliling Persegi: %5.2f cm \n”,keliling);

return luas;

}

Pada bagian ini tidak terdapat input yang ada hanyalah rumus dan output, rumus untuk menghitung luas dan keliling persegi yang dideklarasikan sebagai tipe data float kemudian outputnya berupa hasil perhitungan luas dan keliling persegi.

Kegunaan dari prosedur ini adalah memproses perhitungan dari luas persegi dan keliling persegi dan menampilkan output berupa hasil luas dan keliling persegi

Salin kode program fungsi LuasSegiTiga di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari fungsi tersebut.

float LuasSegitiga(int Alas, int Tinggi)

{

float luas=(Alas*Tinggi)/2;

float miring=sqrt((Alas*Alas)+(Tinggi*Tinggi));

float keliling=Alas+Tinggi+miring;

printf(“Luas Segitiga: %5.2f cm \n”, luas);

printf(“Keliling Segitiga: %5.2f cm \n”, keliling);

return luas;

}

Pada bagian ini tidak terdapat input yang ada hanyalah rumus dan output, rumus untuk menghitung luas dan keliling segitiga yang dideklarasikan sebagai tipe data float kemudian outputnya berupa hasil perhitungan luas dan keliling segitiga.

Kegunaan dari prosedur ini adalah memproses perhitungan dari luas segitiga dan keliling segitiga dan menampilkan output berupa hasil luas dan keliling segitiga

Salin kode program fungsi KelSegiTiga di sini. Jelaskan input dan outputnya (jika ada), serta kegunaan dari fungsi tersebut. (Asumsi: segitiga yang dihitung kelilingnya adalah segitiga siku-siku, dengan sisi miring dihitung dengan rumus Phytagoras)

float LuasSegitiga(int Alas, int Tinggi)

{

float luas=(Alas*Tinggi)/2;

float miring=sqrt((Alas*Alas)+(Tinggi*Tinggi));

float keliling=Alas+Tinggi+miring;

printf(“Luas Segitiga: %5.2f cm \n”, luas);

Baca Juga  Algoritma & Pemrograman - Pengulangan (Praktikum)

printf(“Keliling Segitiga: %5.2f cm \n”, keliling);

return luas;

}

Pada bagian ini tidak terdapat input yang ada hanyalah rumus dan output, rumus untuk menghitung luas dan keliling segitiga yang dideklarasikan sebagai tipe data float kemudian outputnya berupa hasil perhitungan luas dan keliling segitiga.

Kegunaan dari prosedur ini adalah memproses perhitungan dari luas segitiga dan keliling segitiga dan menampilkan output berupa hasil luas dan keliling segitiga

 

Jelaskan hasil running program!

1

Dimana program menampilkan menu yang dapat dilih user dan menampilkan pesan input berupa “Silahkan Pilih Menu: ” saya misalkan “3” kemudian program kembali menampilkan pesan input berupa “Masukkan jari-jari: ”, saya misalkan 17. Setelah itu program memproses perhitungan berdasarkan angka yan sudah diinputkan user kemudian menampilkan hasil output berupa “Luas Lingkaran: 907.46 cm dan Keliling Lingkaran: 106.76 cm. Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan kode program system (“PAUSE”).

 

Bagian 2: Luas dan Keliling Aneka Bangun (2)

Pecah program anekaBangun.c menjadi 2 bagian.

  • Bagian pertama berisi semua deklarasi fungsi dan prosedur. Simpan dengan nama h
  • Bagian kedua adalah program utama (main) yang telah dihilangkan semua deklarasi fungsi dan prosedurnya. Tambahkan #include “libAnekaBangun.h” di bagian atas kode program. Simpan dengan nama c

 

Salin kode program libAnekaBangun.h di sini.

void TampilkanPilihan()

{

printf(“Pilihan: \n”);

printf(“1. Luas dan Keliling Persegi \n”);

printf(“2. Luas dan Keliling Segitiga \n”);

printf(“3. Luas dan Keliling Lingkaran \n”);

}

float LuasPersegi(int sisi)

{

float luas=sisi*sisi;

float keliling=sisi*4;

printf(“Luas Persegi: %5.2f cm \n”, luas);

printf(“Keliling Persegi: %5.2f cm \n”,keliling);

return luas;

}

float LuasSegitiga(int Alas, int Tinggi)

{

float luas=(Alas*Tinggi)/2;

float miring=sqrt((Alas*Alas)+(Tinggi*Tinggi));

float keliling=Alas+Tinggi+miring;

printf(“Luas Segitiga: %5.2f cm \n”, luas);

printf(“Keliling Segitiga: %5.2f cm \n”, keliling);

return luas;

}

float LuasLingkaran(int jari)

{

float luas=3.14*(jari*jari);

float keliling=2*3.14*jari;

printf(“Luas Lingkaran: %5.2f cm \n”, luas);

printf(“Keliling Lingkaran: %5.2f cm \n”, keliling);

return luas;

}

Salin kode program 2_anekaBangun.c di sini.

#include <stdio.h>

#include <math.h>

#include “libAnekaBangun.h”

main()

{

int Pilihan,S,A,T,J;

TampilkanPilihan();

printf(“\nSilahkan Pilih Menu: “);scanf(“%d”,&Pilihan);

if (Pilihan==1)

{

printf(“\nMasukkan Sisi: “);scanf(“%d”,&S);

LuasPersegi(S);

}

else if (Pilihan==2)

{

printf(“\nMasukkan Alas: “);scanf(“%d”,&A);

printf(“Masukkan Tinggi: “);scanf(“%d”,&T);

LuasSegitiga(A,T);

}

else

{

printf(“\nMasukkan Jari-jari: “);scanf(“%d”,&J);

LuasLingkaran(J);

}

 

}

Jelaskan hasil running program!

2

Dimana program menampilkan menu yang dapat dilih user dan menampilkan pesan input berupa “Silahkan Pilih Menu: ” saya misalkan “2” kemudian program kembali menampilkan pesan input berupa “Masukkan Alas: ”, saya misalkan 4 kemudian kembali menampilkan pesan input berupa “Masukkan Tinggi: ”, saya misalkan 3. Setelah itu program memproses perhitungan berdasarkan angka yan sudah diinputkan user kemudian menampilkan hasil output berupa “Luas Segitiga: 6.00 cm dan Keliling Segitiga: 12.00 cm. Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan kode program system (“PAUSE”).

 

Bagian 3: Library math.h

Bahasa pemrograman C memiliki banyak library standar, salah satunya adalah math.h. Beberapa fungsi yang ada pada math.h dapat dilihat pada tabel berikut.

Nama Fungsi Kegunaan
abs Menghitung nilai absolut dari bilangan integer
fabs Menghitung nilai absolut dari bilangan riil.
fmax Mengembalikan nilai yang terbesar di antara dua bilangan riil
fmin Mengembalikan nilai yang terkecil di antara dua bilangan riil
exp Menghitung e pangkat nilai yang dimasukkan sebagai parameter
sqrt Menghitung akar pangkat dua
pow Menghitung pangkat bilangan

 

Buatlah program yang memanggil library math.h, kemudian memanfaatkan paling tidak tiga fungsi yang telah dijelaskan pada tabel di atas.

Baca Juga  Pemrograman Object - Inheritance dan Polymorphism

Simpan dengan nama 3_cobaMath.c.

Salin kode program di sini.

#include <stdio.h>

#include <math.h>

main()

{

void TampilkanPilihan()

{

printf(“Pilihan: \n”);

printf(“1. Luas dan Keliling Persegi \n”);

printf(“2. Luas dan Keliling Segitiga \n”);

printf(“3. Luas dan Keliling Lingkaran \n”);

}

float LuasPersegi(int sisi)

{

float luas=pow(sisi,2);

float keliling=sisi*4;

float nilaiterbesar,nilaiterkecil;

printf(“Luas Persegi: %5.2f cm \n”, luas);

printf(“Keliling Persegi: %5.2f cm \n”,keliling);

nilaiterbesar= fmax(luas,keliling);

nilaiterkecil= fmin(luas,keliling);

printf(“—————————————————————————-\n”);

printf(“Nilai terbesar diantara nilai luas dan keliling yang dihasilkan adalah %5.2f\n”, nilaiterbesar);

printf(“Nilai terkecil diantara nilai luas dan keliling yang dihasilkan adalah %5.2f\n”, nilaiterkecil);

return luas;

}

float LuasSegitiga(int Alas, int Tinggi)

{

float luas=(Alas*Tinggi)/2;

float miring=sqrt(pow(Alas,2)+pow(Tinggi,2));

float keliling=Alas+Tinggi+miring;

float nilaiterbesar,nilaiterkecil;

printf(“Luas Segitiga: %5.2f cm \n”, luas);

printf(“Keliling Segitiga: %5.2f cm \n”, keliling);

nilaiterbesar= fmax(luas,keliling);

nilaiterkecil= fmin(luas,keliling);

printf(“—————————————————————————-\n”);

printf(“Nilai terbesar diantara nilai luas dan keliling yang dihasilkan adalah %5.2f\n”, nilaiterbesar);

printf(“Nilai terkecil diantara nilai luas dan keliling yang dihasilkan adalah %5.2f\n”, nilaiterkecil);

return luas;

}

float LuasLingkaran(int jari)

{

float luas=3.14*pow(jari,2);

float keliling=2*3.14*jari;

float nilaiterbesar,nilaiterkecil;

printf(“Luas Lingkaran: %5.2f cm \n”, luas);

printf(“Keliling Lingkaran: %5.2f cm \n”, keliling);

nilaiterbesar= fmax(luas,keliling);

nilaiterkecil= fmin(luas,keliling);

printf(“—————————————————————————-\n”);

printf(“Nilai terbesar diantara nilai luas dan keliling yang dihasilkan adalah %5.2f\n”, nilaiterbesar);

printf(“Nilai terkecil diantara nilai luas dan keliling yang dihasilkan adalah %5.2f\n”, nilaiterkecil);

return luas;

}

 

int Pilihan,S,A,T,J;

TampilkanPilihan();

printf(“\nSilahkan Pilih Menu: “);scanf(“%d”,&Pilihan);

if (Pilihan==1)

{

printf(“\nMasukkan Sisi: “);scanf(“%d”,&S);

LuasPersegi(S);

}

else if (Pilihan==2)

{

printf(“\nMasukkan Alas: “);scanf(“%d”,&A);

printf(“Masukkan Tinggi: “);scanf(“%d”,&T);

LuasSegitiga(A,T);

}

else

{

printf(“\nMasukkan Jari-jari: “);scanf(“%d”,&J);

LuasLingkaran(J);

}

system (“pause”);

 

}

Jelaskan hasil running program!

3

Dimana program menampilkan menu yang dapat dilih user dan menampilkan pesan input berupa “Silahkan Pilih Menu: ” saya misalkan “1” kemudian program kembali menampilkan pesan input berupa “Masukkan Sisi: ”, saya misalkan 5. Setelah itu program memproses perhitungan berdasarkan angka yan sudah diinputkan user kemudian menampilkan hasil output berupa “Luas Persegi: 25.00 cm dan Keliling Persegi: 20.00 cm” serta output berupa “Mana Nilai terbesar dan Mana Nilai terkecil dari Luas dan Keliling”. Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan kode program system (“PAUSE”).

Apa saja library standar C yang Anda ketahui? Mana yang pernah Anda gunakan?

Library standar C yang saya ketahui: stdlib.h, stdio.h, math.h, conio.h, iostream.h

Yang pernah saya gunakan: stdio.h dan math.h

 

Kesimpulan

Apa saja yang Anda pelajari dari praktikum ini? Kesimpulan apa yang bisa Anda tarik?

Yang saya pelajari dari praktikum ini adalah:

  • Mampu mendeklarasikan prosedur dan fungsi
  • Mampu memanggil prosedur dan fungsi
  • Mampu membedakan antara prosedur dan fungsi
  • Mampu membedakan jenis-jenis parameter dan lingkupnya
  • Mampu memilih jenis parameter yang tepat untuk prosedur dan fungsi yang dibuat

Kesimpulan yang dapat saya tarik dari praktikum kali ini adalah dengan memahami prosedur dan fungsi serta parameter dan ruang lingkupnya maka suatu permasalahan yang besar dalam program dapat dibagi ke dalam masalah yang lebih kecil sehingga mempermudah dalam melakukan penyelesaian masalah.

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

[lockercat]

 

[/lockercat]

6 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.