Upload
ananda-c-utama
View
34
Download
1
Embed Size (px)
DESCRIPTION
Pemrograman Terstruktur
Citation preview
PRAKTIKUM PEMROGRAMAN TERSTRUKTUR
MODUL KE - 2.
PERCABANGAN
Dosen Pembimbing :
Muhammad Tulodo Andarbeni
Nama Kelompok :
Rachmad Satria Yudha P
201010370311367
Ananda Citra Utama
201010370311363
LABORATORIUM DMAG DAN RPL
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2010/2011
I. TUJUAN
Mahasiswa memahami berbagai struktur percabangan di C yaitu if & if-else
Mahasiswa memahami berbagai struktur percabangan di C yaitu switch
II. ALAT YANG DIGUNAKAN
Computer
Turbo C++ 45
III. DASAR TEORI
IV. PROSEDUR PELAKSANAAN
Tutorial
Memaparkan flowchart percabangan dengan if-else
Membuat program sederhana menggunakan keyword if dengan kasus bilangan ganjil
if(x%2==1){
printf(bilangan ganjil);}
Melanjutkan program sebelumnya dengan menambahkan keyword else untuk kasus bilangan genap
Membuat program yang mengandung nested if
Membuat program yang mengandung if bertingkat
if(x>1000){
printf(dapat 2 permen);}
else if(x>500){
printf(dapat 1 permen);}
else{
printf(dapat 1 permen);}
Membuat program menggunakan switch untuk kasus: jika user memasukkan huruf a maka akan keluar nilai kredit anda 4, jika user memasukkan huruf b maka akan keluar nilai kredit anda 3, jika user memasukkan huruf a maka akan keluar nilai kredit anda 2
Mahasiswa mengerjakan tugas praktikum
Mahasiswa mendemokan hasil praktikum kepada asisten dan menulis laporan
V. TUGAS PRAKTIKUM
1. Buat program perhitungan biaya rekening listrik dengan tarif progresif:
Menginputkan golongan kelompok pengguna berupa karakter A, B, atau C dan jumlah pemakaian listrik bulan ini.
Menghitung biaya:
1. Jika termasuk kelompok A maka perhitungan biaya meliputi :
Abonemen
: 50000
150 kwh pertama: 2250/kwh
Selanjutnya
: 4750/kwh
Pajak
: 10% dari total
2. Jika termasuk kelompok B maka perhitungan biaya meliputi :
Abonemen
: 35000
100 kwh pertama: 1750/kwh
Selanjutnya
: 3250/kwh
Pajak
: 10% dari total
3. Jika termasuk kelompok C maka perhitungan biaya meliputi :
Abonemen
: 20000
75 kwh pertama: 1500/kwh
Selanjutnya
: 2750/kwh
Pajak
: 5% dari total
Menampilkan biaya yang harus dibayar pelanggan
Contoh:
Input: kelompok A
Pemakaian 250 kwh
Perhitungan : biaya= 50000 + 2250*150+4750*100
pajak= 10/100* biaya
total= biaya + pajak
Output: total
2. Sebuah operator seluler mempunyai dua buah program NELPON SUKA-SUKA dan NELPON HEMAT. Buatlah sebuah program yang menghitung biaya percakapan sesuai dengan pilihan-pilihan tersebut. Berikut ini adalah aturan masing-masing pilihan:
a. NELPON SUKA-SUKA
Untuk 60 detik pertama, tarif percakapan Rp. 15,-/detik
Setelah 60 detik berikutnya sampai 25 menit pertama, tarif percakapan Rp. 1,5-/ detik
Setelah 25 menit pertama sampai terakhir, tarif percakapan Rp, 3,-/detik
Input program ini berupa lama percakapan dalam satuan menit, sedangkan outputnya berupa biaya percakapan total.
b. NELPON HEMAT
Untuk 90 detik pertama, tarif percakapan Rp. 10,-/detik
Setelah 90 detik berikutnya sampai 30 menit pertama, tarif percakapan Rp. 1,-/ detik
Setelah 30 menit pertama sampai terakhir, tarif percakapan Rp, 5,-/detik
Buatlah sebuah menu pilihan yang akan digunakan untuk memilih satu diantara 2 jenis program nelpon tersebut. Yang menjadi input dari program tersebut adalah pilihan menu dan total waktu percakapan (dalam satuan detik)
Contoh Tampilan Menu :
PROGRAM NELPON SUPER MURAAAAHHHHH !!!
PILIH MENU BERIKUT
========================================
1. Nelpon SUKA_SUKA
2. Nelpon HEMAT
3. Keluar
Pilihan Anda Adalah = 1
Masukkan Total Waktu Percakapan (detik) = 71
Total Biaya Percakapan = Rp. 1065,-
3. Buatlah program yang akan meminta user memasukkan 3 angka dipisahkan :, seperti 07:15:15, angka2 ini adalah jam:menit:detik. Program akan memeriksa apakah jam, menit, detik yang diperiksa valid atau tidak. (Dalam format 24 jam)
Contoh valid 13:13:13
Contoh tidak valid 25:01:01
4.Buatlah program untuk menampilkan pilihan , Gunakan Switch
- Jika user menekan karakter a maka printf Nilai diatas 80
- Jika user menekan karakter b maka printf Nilai antara 70 s/d 79
- Jika user menekan karakter c maka printf Nilai antara 60 s/d 69
- Jika user menekan karakter d maka printf Nilai antara 50 s/d 59
VI. Analisis
1. Source Code
#include
#include
void main ()
{
char Kel,nama;
float jp;
float abon1,Aper, A150,Aper21;
float abon2,Bper, B100,Bper22;
float abon3,Cper, C75,Cper23;
float tpkj1,pajak,Tot;
float tpkj12,pajak2,Tot2;
float tpkj13,pajak3,Tot3;
abon1=50000;
Aper=2250;
A150=Aper*150;
Aper21=4750;
abon2=35000;
Bper=1750;
B100=Bper*100;
Bper22=3250;
abon3=20000;
Cper=1500;
C75=Cper*75;
Cper23=2750;
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+ PERUSAHAAN LISTRIK NEGARA +\n");
printf("+ Jl. Permata Putih 32 Malang +\n");
printf("+ (0341-464235) +\n");
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("MASUKKAN TIPE KELOMPOK ANDA : "); scanf("%c",&Kel);
if (Kel=='A'||Kel=='B'||Kel=='C')
{
printf("MASUKKAN TOTAL PENGGUNAAN (dalam Kwh) : ");scanf("%f",&jp);
clrscr();
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+ PERINGATAN!!! +\n");
printf("+ TOTAL PEMBAYARAN BULAN INI +\n");
printf("+ Bukti Pembayaran Ini Harap Disimpan +\n");
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
if (Kel=='A')
{
if (jp150)
{
tpkj1=abon1+ A150+((jp-150)*Aper21);
pajak=0.1*tpkj1;
Tot=tpkj1+pajak;
printf("TAGIHAN ANDA BULAN INI :Rp.%.2f\n",Tot);
}
}
else if (Kel=='B')
{
if (jp100)
{
tpkj12=abon2+ B100+((jp-100)*Bper22);
pajak2=0.1*tpkj12;
Tot2=tpkj12+pajak2;
printf("TAGIHAN ANDA BULAN INI :Rp.%.2f\n",Tot2);
}
}
else if (Kel=='C')
{
if (jp75)
{
tpkj13=abon3+ C75+((jp-75)*Cper23);
pajak3=0.1*tpkj13;
Tot3=tpkj13+pajak3;
printf("TAGIHAN ANDA BULAN INI :Rp.%.2f\n",Tot3);
}
}
}
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
}
Output
2. Source Code
#include
#include
void main()
{
int pilih;
float wb,biaya;
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+ PROMO MURAH KARTU GSM IM4 +\n");
printf("+ NIKMATI NELPON SEHARIAN SEPUASNYA +\n");
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+ PILIHLAH PAKET YANG ANDA INGIN PAKAI +\n");
printf("+ 1. NELPON SEPUASNYA +\n");
printf("+ 2. NELPON IRIT +\n");
printf("+ 3. EXIT +\n");
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("\nPILIH NOMER PAKET YANG ANDA INGINKAN :");
scanf("%d",&pilih);
clrscr();
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+ PROMO MURAH KARTU GSM IM4 +\n");
printf("+ NIKMATI NELPON SEHARIAN SEPUASNYA +\n");
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
switch(pilih)
{
case 1:
printf("\nKAMU MEMILIH NOMER 1 (NELPON SEPUASNYA)\n");
printf("TOTAL WAKTU NGOBROL KAMU (Detik) :");scanf("%f",&wb);
if (wb>0)
{
if (wb60) && (wb1500)
{
biaya=(15*60)+(1.5*(1500-60))+(3*(wb-1500));
printf("\nTOTAL BIAYA Rp. %.2f",biaya);
}
}
else
{
printf("\nINPUTAN ANDA SALAH!!!");
}
break;
case 2:
printf("KAMU MEMILIH NOMER 2 (NELPON IRIT)\n");
printf("TOTAL WAKTU NGOBROL KAMU (Detik) :");scanf("%f",&wb);
if (wb>0)
{
if (wb90) && (wb1800)
{
biaya=(10*90)+(1*(1800-90))+(5*(wb-1800));
printf("\nTOTAL BIAYA Rp. %.2f",biaya);
}
}
else
{
printf("\nTINPUTAN ANDA SALAH!!!");
}
break;
case 3:
default :
printf("\nCOBA LAGI");
break;
}
printf("\n++++++++++++++++++++++++++++++++++++++++++++");
printf("\n+TERIMA KASIH KARENA ANDA TELAH MEMILIH IM4+");
printf("\n++++++++++++++++++++++++++++++++++++++++++++");
}
Output
3. Source Code
#include
#include
void main()
{
float JAM,MENIT,DETIK;
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+ TESTER WAKTU +\n");
printf("+ Learning By Doing +\n");
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf(" MASUKKAN JAM = ");scanf("%f",&JAM);
printf(" MASUKKAN MENIT = ");scanf("%f",&MENIT);
printf(" MASUKKAN DETIK = ");scanf("%f",&DETIK);
clrscr();
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+ TESTER WAKTU +\n");
printf("+ Learning By Doing +\n");
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
printf("WAKTU INPUTAN %.0f JAM: %.0f MENIT: %.0fDETIK\n",JAM,MENIT,DETIK);
printf("++++++++++++++++++++++++++++++++++++++++++++\n");
if (JAM 60)
printf("JAM KURANG TEPAT, MENIT KURANG TEPAT, DETIK KURANG TEPAT");
else if (JAM >24 && MENIT60)
printf("JAM KURANG TEPAT, MENIT BETUL, DETIK KURANG TEPAT");
else if (JAM >24 && MENIT60 && DETIK