Anda di halaman 1dari 15

BAB 1

PENDAHULUAN

1.1 Alasan Pemilihan Judul


Alasan kami memilih judul untuk laporan akhir praktikum algorima dan
pemrograman 1 ini adalah untuk memudahkan kita menghitung tarif pecakapan di
wartel.

1.2 Latar Belakang Masalah


Belakangan ini wartel tidak lagi menjadi sebuah tempat untuk menelpon
seseorang dalam 1 daerah (lokal) ataupun diluar daerah (interlokal). Karena pada
saat ini hampir semua orang lebih suka menelpon lewat ponsel karena selain lebih
praktis dan terhitung cukup murah juga. Tetapi kita tidak boleh melupakan peran
wartel karena sebelum maraknya penggunaan ponsel, orang-orang berkomunikasi
via telpon melalui wartel (bagi yang tidak memiliki telpon rumah).
Setiap penelpon pasti memiliki tarif yang berbeda-beda, semua itu tergantung
pada lamanya waktu bicara dan tujuan daerah penelpon tersebut lokal atau
interlokal. Semua perhitungan itu dapat dibuat dalam suatu program. Hal inilah
yang membuat kelompok kami memutuskan untuk mencoba membuat program
tarif wartel tersebut .

1.3 Dasar Teori


Bahasa C++ merupakan salah satu bahasa pemrograman dalam komputer.
Bahas ini diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboratories awal
tahun 1980-an berdasarkan C ANSI (American National Standard Institue).
Bahasa C++ merupakan pengembangan dari bahasa C yang terkenal memiliki
kemampuan dalam eksekusi yang berkecepatan tinggi dan efisien dalam
penggunaan memori. Dalam bahasa C++ terdapat :

1. Type data dan operator


Type data adalah suatu jenis nilai yang dapat dinyatakan dalam
bentuk konstanta atau variabel yang dapat digunakan untuk

1
mendefinisikan objek data yang akan dimanipulasi dalam sebuah program.
Ada 4 tipe data yaitu:
a. Type data integer(bilangan bulat)
b. Type data float(pecahan)
c. Type data char(teks)
d. Type data pointer
e. Type data Boolean
Sedangkan operator adalah symbol/kata yang dapat digunakan dalam
program untuk melakukan sesuatu operasi/manipulasi. Operator yang
biasa dipakai dalam bahasa C++ adalah :
a. Operator pengerjaan
b. Operator aritmatika
c. Operator peningkatan dan penurunan
d. Operator hubungan
e. Operator logika

2. Perintah Output dan Input


Agar suatu program dapat menerima data dan menampilkan
hasilnya maka diperlukan perintah output dan input. Perintah output
adalah suatu operasi yang biasa digunakan untuk data atau nilai keluaran
pada layar. Biasanya memakai fungsi printf( ) dan cout<<. Sedangkan
perintah input adalah operasi yang berguna untuk memasukkan data yang
selanjutnya didefinisikan sebagai data variabel. Biasanya memakai
perintah scanf( ) dan cin > >

3. Fungsi
Ada dua jenis fungsi, yaitu:
a. Fungsi Tanpa Nilai Balik (procedure)
b. Fungsi Dengan Nilai Balik (function)

2
4. Percabangan
Dalam sebuah program sering kali ditemukan sebuah kondisi-
Kondisi yang mana tiap kondisi memerlukan penanganan terpisah dan
Berbeda. Operator yang sering dan umum digunakan yaitu if dan switch.
Ada 3 jenis tipe if yaitu:
1. if tunggal
2. if-else
3. if bersarang (if nested)

5. Looping ( Perulangan )
Perintah ini digunakan untuk melakukan suatu proses secara
berulang-ulang,jika suatu kondisi dipenuhi atau sebaliknya. Biasanya
digunakan untuk beberapa hal misalnya mengulang proses perhitungan
data,mengulang proses pemasukan data,dan mengulang proses penampilan
hasil pengolahan data. Proses looping dapat dibuat menggunakan perintah
FOR bila anda sudah tahu beberapa kali anda akan mengulang satu atau
beberapa pernyataan,perintah DO...WHILE yang setiap loop dikerjakan
maka kondisi akan dicek,perintah WHILE yang prinsipnya sama dengan
perintah DO..WHILE hanya pengujian kondisinya terletak pada awal
loop,perintah BREAK digunakan untuk keluar dari suatu loop
for,do...while,while ataupun switch,perintah CONTINUE digunakan untuk
mengarahkan jalannya program ke iterasi (proses) berikutnya pada loop
yang sama.

6. Struktur
Struktur adalah sekumpulan variabel yang masing-masing
memiliki tipe data yang bisa berbeda (heterogen) dan dikelompokkan
hingga menjadi sebuah tipe data bentukan baru.

3
BAB II

Mulai

Loading

Cetak
Menu

Nomor a. Lokal Hitung Simpan


Piliha Tujuan Pilih b.Interlo Biaya Struct
n - Jam Awal an kal
- Jam
Akhir

Cetak Data
Selesai

4
BAB III
IMPLEMENTASI APLIKASI PROGRAM

#include<iostream.h>
#include<string.h>
using namespace std; //struct
struct Twartel
{
char nomorTujuan[12];
char chrPilihan;
int x,y,z,k,l,m,jumlah,bea;
};
const int maxWrl = 15;
int counter = 0;
int jum1,jum2;
Twartel wrl[maxWrl];

//function & procedure

void loading () //fungsi 1


{ for (int o = 0;o<=100;o+=1)
{
cout<<endl<<" loading ... "<<o<<"%";
system("cls");
}
}

void Tarif(int n) //fungsi 2

{
if (wrl[n].chrPilihan == 'a')

{
wrl[n].bea=wrl[n].jumlah*5;
cout << "Waktu bicara anda adalah = ”
<<wrl[n].jumlah<<endl;

5
cout << "Biaya penggunaan telepon adalah = Rp " <<
wrl[n].bea<<",00"<<endl;
}
else if(wrl[n].chrPilihan == 'b')
{
wrl[n].bea=wrl[n].jumlah*30;
cout << "Waktu bicara anda adalah = " <<
wrl[n].jumlah <<endl;
cout << "Biaya penggunaan telepon adalah = Rp " <<
wrl[n].bea<<",00"<<endl;

}
else
{
cout << "masukkan anda salah" << endl;
cout << "ulangi lagi" << endl;
}

void cetakMenu() //fungsi 3


{
cout<<endl<<"===========MeNu============\n"<<endl;
cout<<" 1. Isi data telpon "<<endl;
cout<<" 2. Cetak data "<<endl;
cout<<" 3. Keluar"<<endl;
cout<<""<<endl;
cout<<"Masukan pilihan: ";
}

void isiDataWrl (int n) //fungsi 4


{
int a,b,c,d,e,f,k,l,m,x,y,z;
//jam awal
cout<< "Masukkan nomor tujuan : ";
cin>>(wrl[n].nomorTujuan);

cout<<"jam awal : ";


cin>>wrl[n].x;

6
cout<< " Menit : ";
cin>>wrl[n].y;
cout<< " Detik : ";
cin>>wrl[n].z;
a=wrl[n].x;
b=wrl[n].y;
c=wrl[n].z;
//do
//{
jum1= a*3600 + b *60 + c;

//}while (a>23 && b>59 && c>59);


//cout << "masukkan salah"<<endl;

//jam akhir
cout<<endl<< "jam akhir : ";
cin>>wrl[n].k;
cout<< "Menit : ";
cin>>wrl[n].l;
cout<< "Detik : ";
cin>>wrl[n].m;
d=wrl[n].k;
e=wrl[n].l;
f=wrl[n].m;
if(jum2<jum1)
{
cout<<endl<<"Jam Salah"<<endl;
}else
{
cout<<endl<< "Pilihan : " <<endl;
cout << "a. Lokal" << endl;
cout << "b. Interlokal" << endl;
cout << "pilihan anda (huruf kecil) : ";
cin>>wrl[n].chrPilihan;
wrl[n].jumlah=jum2-jum1;
Tarif(n);
}

7
//do
//{
jum2= d*3600 + e *60 + f;

wrl[n].jumlah=jum2-jum1;
Tarif(n);
//}while ((a>23) && (b>59) && (c>59));
//cout << "masukkan salah"<<endl;
getchar();
}

void cetakDataTelpon() //fungsi 5


{
if (counter==0)
{
cout<<endl<<"data masih kosong"<<endl;
}
else
{
for(int i=0;i<counter;i++)
{
cout<<endl<<"NO["<<i+1<<"]"<<"--------------";
cout<<endl<<"Masukkan nomor Tujuan :
"<<wrl[i].nomorTujuan<<endl;
cout<<endl<<"Pilihan : "<<wrl[i].chrPilihan<<endl;
cout<<endl<<"jam awal :
"<<wrl[i].x<<":"<<wrl[i].y<<":"<<wrl[i].z<<endl;
cout<<endl<<"jam akhir :
"<<wrl[i].k<<":"<<wrl[i].l<<":"<<wrl[i].m<<endl;
cout<<endl<<"jumlah: "<<wrl[i].jumlah<<endl;

}getchar();
}

8
// main program
int main(void) //fungsi 6 ( fungsi Utama)
{

//local variabel
int pilihan;

loading();
// main looping
cout<< "I=================================I"<<endl;
cout<< "I SeLaMaT daTanG di WaRteL TINITA I"<<endl;
cout<< "I I"<<endl;
cout<<
"I=================================I"<<endl<<endl<<endl;

do
{
cetakMenu();
cin>>pilihan;
getchar();
switch(pilihan)
{
case 1 : cout<<endl<< "---Isi data telpon--"<<endl;
isiDataWrl(counter);
counter++;
break;
case 2 : cout<<endl<< "---Cetak data---"<<endl;
cetakDataTelpon();
break;
case 3 : cout<<endl<< "---Keluar dari program---
"<<endl;
cout<< "I=================================I"<<endl;
cout<< "I TERIMA KASIH I"<<endl;
cout<< "I I"<<endl;
cout<<"I=================================I"<<endl<<endl<<endl;

9
cout<<endl<< " Created BY: "<<endl;
cout<< "1. Tamara Dhagistami/08523016"<<endl;
cout<< "2. Ratya Ayu Ningtyas/08523019"<<endl;
cout<< "3. Yunita Dwi Ertanty/08523034"<<endl;
break;
defult : cout<<endl<< "pilihan tidak ada"<<endl;
}
}while (pilihan !=3); //end main loop
return 0;
}

1
0
BAB IV
SARAN DAN KRITIK

Saran :
 Untuk kakak-kakak asisten Lab cara mengajarnya hendaknya lebih
diperbaiki lagi agar mudah diterima untuk teman-teman yang memang
kurang mengerti tentang pemrograman.

Kritik :
 Buku panduan praktikum kurang detail dalam menjelaskan fungsi-fungsi
dari algoritma yang ada.

1
1
DAFTAR PUSTAKA

2008/2009. Modul praktikum Algoritma dan Pemrograman 1. Jogjakarta :


Laboraturium Algoritma dan Pemrograman 1

Web reference:
www.hatma.info
www.ilmukomputer.com

1
2
1
3
CURICULUM VITAE

Nama : Tamara Dhagistami


NIM : 08523016
Alamat Yogya : Jl. Lodadi Agung, Sleman Jogjakarta
Alamat Asal : Jl. Raden Saleh 19A Baleharjo Pacitan
Jawa Timur
No HP : 081946594472
Sekolah : TK Bustanul Atfal Pacitan (1994-1996)
SD Baleharjo 2 Pacitan (1996-2002)
SMPN 1 Pacitan (2002-2005)
MAN Pacitan (2005-2008)
Hobi : Bernyani, Menari, Mendengarkan Musik
Email : ronger_cat@yahoo.com

Nama : Ratya Ayu Ningtyas


NIM : 08523019
Alamat Yogya : Jl. Lodadi agung, Sleman Jogjakarta
Alamat Asal : Jl. Kalimantan 9 Cilacap
No HP : 085726095523
Sekolah : TK Srigunting Cilacap (1994-1996)
SD YKPP 01 Cilacap(1996-2002)
SMP Al- Irsyad Cilacap (2002-2005)
SMA Al- Irsyad Cilacap (2005-2008)
Hobi : Main Game komputer, baca komik, ngenet
Email : ranz_moedz@yahoo.com

1
4
Nama : Yunita Dwi Ertanty
NIM : 08523034
Alamat Yogya : Jl. Kimpulan 3 no 2A, Sleman Jogjakarta
Alamat Asal : Jl. Tirtaria no 8, Way Kandis Bandar Lampung
No HP : 085269898977
Sekolah : TK Al-Azhar Bandar Lampung (1994-1996)
SD Al-Azhar Bandar Lampung(1996-2002)
SMPN 29 Bandar Lampung(2002-2005)
SMAN 12 Bandar Lampung (2005-2008)
Hobi : Baca novel komedi, nonton film, makan, tidur, ngemil, dll
Email : nit_petrix@yahoo.com

1
5