Assalamu’alaikum wr.wb
Puji syukur kita panjatkan kehadirat Allah SWT, atas izinnya saya dapat menyelesaikan
laporan Komputasi tentang pemrograman menggunakan aplikasi Turbo C++, untuk memenuhi
nilai mata kuliah komputasi . Laporan ini akan membahas tetang pemograman.
Semoga dengan dibuatnya laporan ini saya dapat memenuhi tugas Komputasi, lebih
mengerti tentang pemrograman,dan dapat memberi lebih banyak informasi kepada yang
membacanya.
Addriliant Al Rasyid
Bab I
Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode
yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman.
Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan
atau 'pekerjaan' sesuai dengan keinginan si pemrogram (programmer). Untuk dapat melakukan
pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak
kasus, pengetahuan-pengetahuan lain seperti matematika.
Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling
berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah
program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda
pula. Gaya pemrograman ini biasa disebut paradigma pemrograman.
Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau teknik telah lama
diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut, agar dapat
menciptakan program yang efisien, baik dari sisi waktu berjalan (run time), atau memori.
Pemrograman Kompetitif
Pemrograman adalah bahan yang banyak digunakan di berbagai kompetisi komputer di Indonesia
maupun dunia. Di tingkat SMA, contohnya, pemrograman dipertandingkan dalam Olimpiade Sains
Nasionalsetiap tahunnya. Ketigapuluh peraih medali di Olimpiade Sains Nasional ini kemudian
menjadi Tim Olimpiade Komputer Indonesia, dan menempuh Pelatihan Nasional yang menyeleksi empat
orang wakil untuk mengikuti Olimpiade Sains Internasional bidang Informasi (International Olympiad in
Informatics) yang diadakan setiap tahunnya.
Sejarah pemrograman
Mekanisme Antikythera dari Yunani kuno adalah kalkulator menggunakan persneling dari
berbagai ukuran dan konfigurasi untuk menentukan operasi, [3] yang dilacak siklus Metonik masih
digunakan di bulan-ke-surya kalender, dan yang konsisten untuk menghitung tanggal olimpiade [4]. Al-
Jazari dibangun Automata diprogram pada tahun 1206. Salah satu sistem yang digunakan dalam
perangkat ini adalah penggunaan pasak dan Cams ditempatkan ke drum kayu di lokasi tertentu, yang
secara berurutan akan memicu tuas yang pada gilirannya dioperasikan instrumen perkusi. Output dari
perangkat ini adalah drumer kecil bermain berbagai ritme dan pola drum. [5] [6] The Jacquard Loom,
Joseph Marie Jacquard yang dikembangkan pada tahun 1801, menggunakan serangkaian karton kartu
dengan menekan lubang di dalamnya. Pola lubang pola yang mewakili alat tenun harus mengikuti
menenun kain. Alat tenun bisa menghasilkan tenun yang sama sekali berbeda dengan menggunakan
kumpulan kartu yang berbeda. Charles Babbage mengadopsi penggunaan kartu menekan sekitar tahun
1830 untuk mengendalikan Analytical Engine. Program komputer pertama ditulis untuk Analytical
Engine oleh matematikawan Ada Lovelace untuk menghitung urutan Bilangan Bernoulli. [7] Sintesis
perhitungan numerik, operasi dan output telah ditentukan, bersama dengan cara untuk mengatur dan
masukan instruksi dengan cara yang relatif mudah bagi manusia untuk hamil dan menghasilkan,
menyebabkan perkembangan modern pemrograman komputer. Pengembangan pemrograman komputer
dipercepat melalui Revolusi Industri. Pada akhir 1880-an, Herman Hollerith menemukan rekaman data
pada media yang kemudian dapat dibaca oleh mesin. Sebelum menggunakan mesin dibaca dari media, di
atas, telah untuk kontrol, bukan data. "Setelah beberapa percobaan awal dengan kertas pita, ia menetap di
kartu menekan ..." [8] Untuk memproses kartu menekan ini, pertama kali dikenal sebagai "kartu
Hollerith" dia menciptakan tabulator, dan mesin keypunch. Ketiga penemuannya dasar dari industri
pengolahan informasi modern. Pada tahun 1896 ia mendirikan Tabulating Machine Company (yang
kemudian menjadi inti dari IBM). Penambahan panel kontrol (plugboard) ke 1906 Tipe I Tabulator
Efisiensi / kinerja: jumlah sumber daya sistem program yang mengkonsumsi waktu proses, ruang
memori, perangkat bawahseperti disk, bandwidth jaringan dan bahkan sampai batas tertentu interaksi
dari pemakai): semakin sedikit, semakin baik. Ini juga termasuk pembuangan benar beberapa sumber,
seperti membersihkan file-file sementara dan tidak adanya kebocoran memori.
Reliabilitas: seberapa sering hasil dari sebuah program sudah benar. Hal ini tergantung pada
kebenaran konseptual algoritma, dan pemrograman minimisasi kesalahan, seperti kesalahan dalam
manajemen sumber daya (misalnya, buffer overflows dan ras kondisi) dan kesalahan logika (seperti
pembagian dengan nol).
Kekokohan: seberapa baik program masalah mengantisipasi bukan karena kesalahan programmer.
Ini termasuk situasi seperti salah, tidak pantas atau merusak data, tidak tersedianya sumber daya yang
dibutuhkan seperti memori, sistem operasi layanan dan koneksi jaringan, dan kesalahan pengguna.
Kegunaan: yang ergonomi sebuah program: kemudahan dengan mana seseorang dapat
menggunakan program untuk tujuan, atau dalam beberapa kasus bahkan tujuan tak terduga. Isu-isu
tersebut dapat membuat atau menghancurkan kesuksesan bahkan tanpa masalah lain. Hal ini
melibatkan berbagai tekstual, grafis dan kadang-kadang elemen-elemen perangkat keras yang
meningkatkan kejelasan, intuitif, kekompakan dan kelengkapan program antarmuka pengguna.
Portabilitas: kisaran perangkat keras komputer dan platform sistem operasi yang kode sumber dari
program dapat dikompilasi / ditafsirkan dan lari. Hal ini tergantung pada perbedaan-perbedaan dalam
fasilitas pemrograman yang disediakan oleh platform yang berbeda, termasuk hardware dan sistem
operasi sumber daya, perilaku yang diharapkan dari hardware dan sistem operasi, dan ketersediaan
platform compiler tertentu (dan kadang-kadang perpustakaan) untuk bahasa dari source code.
Kemampu-rawatan: kemudahan dengan sebuah program yang dapat dimodifikasi oleh pengembang
sekarang atau pada masa mendatang dalam rangka untuk membuat perbaikan atau penyesuaian,
memperbaiki bug dan lubang keamanan, atau disesuaikan dengan lingkungan baru. Praktek yang baik
selama pengembangan awal membuat perbedaan dalam hal ini. Kualitas ini mungkin tidak secara
langsung jelas bagi pengguna akhir tetapi dapat secara signifikan memengaruhi nasib sebuah program
jangka panjang.
Kompleksitas algoritma
Bidang akademik dan praktik teknik pemrograman komputer yang baik terutama berkaitan dengan
menemukan dan menerapkan algoritma yang paling efisien untuk suatu masalah kelas. Untuk tujuan ini,
algoritma diklasifikasikan menjadi perintah dengan menggunakan apa yang disebut notasi Big O, O (n),
yang mengungkapkan penggunaan sumber daya, seperti waktu eksekusi atau pemakaian memori, dalam
hal ukuran sebuah input. Ahli programmer yang akrab dengan berbagai mapan algoritma dan
kompleksitas masing-masing dan menggunakan pengetahuan ini untuk memilih algoritma yang paling
cocok dengan keadaan.
Metodologi
Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat lunak formal
adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan model nilai, pelaksanaan, dan
kegagalan penghapusan (debug). Terdapat banyak pendekatan yang berbeda untuk masing-masing tugas.
Salah satu pendekatan yang populer untuk analisis kebutuhan adalah Kasus Gunakan analisis.
Sangat sulit untuk menentukan apa yang paling populer bahasa pemrograman modern. Beberapa
bahasa yang sangat populer untuk jenis aplikasi tertentu (misalnya, COBOL masih kuat di pusat data
perusahaan, sering pada mainframe besar, FORTRAN dalam aplikasi teknik, bahasa scripting dalam
pengembangan web, dan C dalam aplikasi embedded), sementara beberapa bahasa teratur digunakan
untuk menulis berbagai macam aplikasi.
Metode untuk mengukur popularitas bahasa pemrograman meliputi: menghitung jumlah iklan
lowongan pekerjaan yang menyebutkan bahasa [10], jumlah buku-buku pengajaran bahasa yang dijual
(overestimates ini pentingnya bahasa baru), dan perkiraan jumlah baris yang ada kode yang ditulis dalam
bahasa (meremehkan ini jumlah pengguna bahasa bisnis seperti COBOL).
Debugging
Debugging adalah tugas yang sangat penting dalam proses pengembangan perangkat lunak,
karena program yang salah dapat memiliki konsekuensi yang signifikan bagi penggunanya. Beberapa
bahasa yang lebih rentan terhadap beberapa jenis kesalahan karena mereka tidak memerlukan spesifikasi
kompiler untuk melakukan pengecekan sebanyak bahasa lainnya. Penggunaan alat analisis statis dapat
membantu mendeteksi beberapa kemungkinan masalah.
Debug sering dilakukan dengan IDE seperti Visual Studio, NetBeans, dan Eclipse. Standalone
debugger seperti gdb juga digunakan, dan ini kurang sering menyediakan lingkungan visual, biasanya
menggunakan baris perintah.
Bab II
1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner,
contohnya 01100101100110
2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu
memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic),
contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-
kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat
simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-
kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C
yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat
Rendah.
Meskipun setiap bahasa pemrograman dibuat untuk membuat program namun setiap bahasa
dibuat dengan tujuan dan fungsi yang berbeda-beda. Misalnya untuk membuat driver hardware kita tidak
bisa menggunakan bahasa Visual Basic. Untuk membuat program berbasis sistem seperti driver kita bisa
gunakan bahasa C atau Assembly. Contohnya sistem operasi linux yang open source. Jika anda melihat
kode sumbernya anda akan menemukan bahwa linux dibuat menggunakan bahasa C. Sedangkan untuk
pemrograman desktop kita bisa menggunakan Visual Basic. Bahasa tersebut dirancang oleh Microsoft
untuk pemrograman desktop dengan tampilan GUI yang memukau.
II.3 Daftar Bahasa Pemrograman
Berikut ini adalah daftar bahasa pemrograman komputer
Aro
Ada
ALGOL
Applescript
Assembly
BASIC:
ASP
BASIC
COMAL
Visual Basic
Rincian terlihat berbeda dalam berbagai bahasa, tetapi beberapa petunjuk dasar muncul di hampir setiap bahasa:
* Input: Get data dari keyboard, file, atau beberapa perangkat lain.
* Output: Display data pada layar atau mengirim data ke file atau perangkat lain.
* Berhitung: Lakukan operasi aritmatika dasar seperti penjumlahan dan perkalian.
* Bersyarat eksekusi: Periksa kondisi tertentu dan melaksanakan urutan sesuai pernyataan.
* Pengulangan: Lakukan beberapa tindakan berulang-ulang, biasanya dengan beberapa variasi .
Banyak bahasa komputer menyediakan mekanisme untuk memanggil fungsi yang disediakan oleh
perpustakaan. Menyediakan fungsi-fungsi di perpustakaan mengikuti konvensi runtime yang sesuai
(misalnya, metode lewat argumen), maka fungsi-fungsi ini dapat ditulis dalam bahasa lainnya.
II.4 Pemrogram / Programmer
Pemrogram komputer adalah orang-orang yang menulis perangkat lunak komputer. Pekerjaan
mereka meliputi:
* Coding
* Kompilasi
* Dokumentasi
* Integrasi
* Pemeliharaan
* Persyaratan analisis
* Software arsitektur
* Software pengujian
* Spesifikasi
* Debugging
Bab III
Bahasa Pemrograman C:
III.2 Pustaka
Kelebihan Bahasa C :
Bahasa C tersedia hampir di semua jenis computer
Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer.
Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci.
Proses executable program bahasa C lebih cepat.
Dukungan pustaka yang banyak.
C adalah bahasa yang terstruktur.
Bahasa C termasuk bahasa tingkat menengah.
Kekurangan Bahasa C :
Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
Bab IV
Standarisasi
Keterangan
Baris pertama :
#include <iostream.h>
Sebagai bagian dari proses kompilator, Kompilator dari c++ menjalankan program yang
dinamakan preprosesor.Preprosesor memiliki kemampuan menambahkan dan menghapus kode
dari sumber, Pada bagian #include memberitahuakan preprosesor untuk menyertakan kode dari
iostream, Berkas iostream berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh perangkat
lunak, atau class-class yang dibutuhkan.
continu
break else For long signed switch void
e
registe typede
case default enum goto sizeof volatile
r f
const_cas
inline public throw virtual
t
Kata-kata yang dipesan tersebut di atas tidak boleh dipakai sebagai nama variable, class, enum,
macro, dan struct.
1. include <stdio.h>
int maksimum (int,int); void tulis (int);
main() int nilai 1,nilai 2,nilai maks; printf (*\n ketikkan dua bilangan bulat:); scanf("%d%d",& nilai
1,nilai 2);
nilai maks=maksimum (nilai 1,nilai 2); tulis(nilai maks); returns 0;
int maksimum(int x1,int x2) if (x1>x2) return x1; else return x2;
void tulis(int x) printf("\n hasilnya adalah :%d",x);
Untuk menyimpan suatu variabel diperlukan tempat khusus di dalam memori komputer, Besar
dan tipe dari Variabel-variabel di dalam standar program C++ dispesifikasikan sebagai berikut. [10]
Ukura
Nama Keterangan Jangkauan
n
signed: -2147483648 to
2147483647
int Bilangan bulat 4 byte
unsigned: 0 to 4294967295
signed: -2147483648 to
long int 2147483647
Integer dengan jangkauan panjang 4 byte
(long)
unsigned: 0 to 4294967295
double Bilangan cacah dengan ketelitian ganda 8 byte 1.7e +/- 308 (15 digits)
Keistimewaan
Dibandingkan dengan perangkat lunak sejenis pada masa itu, Turbo C++ memiliki beberapa
keistimewaan dibandingkan dengan yang lain. Turbo C++ membebaskan programmer dari keharusan
menuliskan program yang rumit, sebab berbasis pemrograman berorientasi objek (OOP, Object Oriented
Programming). Hal ini memungkinkan program lebih cepat dikembangkan.
Sejarah versi
Rilis pertama dari Turbo C++ pertama kali tersedia pada tahun 1988, saat MS-DOS menguasai
pasaran komputer personal. Produk ini ditembangkan dalam versi 1.0, berjalan pada OS/2 dan versi 1.01,
berjalan pada MS-DOS. Pada perkembangannya kompiler ini dapat pula digunakan untuk menghasilkan
program-program COM dan EXE, dan dipaketkan bersama Borland Turbo Assembler untuk prosesor
Intel x86.
Turbo C++ 3.0 ditembangkan pada tahun 1992, dan muncul pada saat-saat munculnya
penembangan Microsoft Windows 3.1. Turbo C++ 3.0 pada mulanya diperkenalkan sebagai kompiler
untuk sistem operasi MS-DOS yang mendukung templat, mampu digunakan untuk menghasilkan kode
aplikasi dalam modus terproteksi, dan menghasilkan kode yang ditujukan untuk prosesor-prosesor intel
sebelumnya, seperti prosesor Intel 80186.
Setelah Windows 3.1 mulai tersedia secara luas, Turbo C++ ditembangkan dengan dukungan
terhadap MS-Windows. IDE pertama yang berbasis windows adalah Turbo C++ for Windows, diikuti
dengan Turbo C++ 3.1 dan Turbo C++ 4.5. Ada anggapan mungkin saja lompatan versi dari 1.x ke versi
3.x merupakan cara untuk menyelaraskan tembang Turbo C++ dengan versi-versi Microsoft Windows.
Pada akhirnya Turbo C++ digantikan oleh Borland C++ yang lebih lengkap dan kaya akan fitur,
namun pada akhirnya menghilangkan fitur yang menjadi kesuksesan jajaran produk Turbo, seperti
kecepatan kompilasi dan fasilits dari IDE yang sangat baik.
Run Program
Membagi Jendela Turbo C++
Check Program
Save Program
Open Program
1. Komentar
Adalah bagian program yang berguna untuk memberi keterangan program atau keterangan pada fungsi
dari program, dan biasanya komentar tersebut diapit oleh tanda /* dan */, sehingga apapun yang tertulis
didalam kedua tanda tersebut tidak akan dieksekusi contoh :
2. Preprosesor Directive
Preprosesor Directive adalah persiapan penggunaan fungsi include dan macro yang nantinya akan
menggunakan file-file yang telah disediakan pada direktori include, contoh :
#include<stdio.h>
#include<string.h>
3. Global Declaration
Global declaration adalah pendeklarasian fungsi dan variable secara global, pendeklarasian ini bermaksud
bahwa semua fungsi dan variable yang ada dapat dikenal diseluruh program, contoh :
int angka;
main()
Pada contoh diatas, variable angka dapat dikenal diseluruh program maupun fungsi yang ada karena dia
termasuk kedalam variable global, hal ini akan berbeda bila dia dinyatakan sebagai variable lokal yang
hanya akan dikenal di fungsi tertentu saja, contoh :
main()
int angka;
4. Main Program
/* ---------------------------------*/
/* Program : soal1.cpp */
/* ---------------------------------*/
#include <stdio.h>
main()
luas=panjang*lebar;
keliling=2*(panjang+lebar);
Adalah tempat penulisan fungsi-fungsi yang telah dideklarasikan sebelumnya, bagian ini akan dibahas
lebih lanjut pada pembahasan fungsi dan prosedur.
Hampir semua perintah pada Turbo C diakhiri dengan tanda titik koma (;).Turbo C adalah
bahasa pemrograman yang case-sensitive yang berarti membedakan penggunaan huruf besar dan kecil.
Semua perintah standar yang dipakai dalam Turbo C misal (clrscr, printf, scanf, dll) semuanya harus
ditulis dalam huruf kecil.
Untuk memeriksa apakah program yang telah ditulis itu bisa dimengerti oleh kompiler bahasa C,
maka perlu dilakukan langkah Compile dengan cara tekan Menu Compile atau Alt+C kemudian
pilih Compile atau dengan menekan tombol Alt+F9. Jika masih ada kesalahan, maka akan diperlihatkan
· Komentar
Pada baris ke-1, ditemukan tanda /* dan pada baris 4 ditemukan tanda */. Kedua tanda tersebut
berpasangan yang berguna untuk menuliskan suatu komentar tentang program atau perintah-perintah.
Komentar tidak mempengaruhi program karena komentar tidak dijalankan seperti perintah (statement).
Komentar dengan menggunakan tanda /* berlaku sampai ditemukan tanda */. Cara lain untuk
memberikan komentar adalah dengan memberikan tanda garis miring 2 kali. Komentar dengan tanda ini
hanya berlaku pada 1 baris saja. Komentar bersifat opsional untuk mempermudah orang mengetahui
fungsi dari suatu program atau suatu algoritma.
· #include
Pada baris 6 ditemukan perintah #include “stdio.h” dan pada baris 7 terdapat perintah #include <conio.h>.
Kedua perintah tersebut digunakan untuk memanggil file header (include file) yang didalamnya terdapat
perintah, fungsi atau prototype yang bisa digunakan dalam program yan dibuat. Jika perintah #include ini
tidak ditulis, maka komputer tidak mengerti perintah-perintah yang ditulis.
· Header file
Nama file yang digunakan dalam #include seperti conio.h dan stdio.h, disebut sebagai header file karena
ditempatkan di paling atas program. Extention H berarti header. Dalam file header ini, terdapat fungsi
atau prototipe yang bisa digunakan dalam program. Sebuah file header memiliki lebih dari 1 fungsi atau
variabel global.
File header stdio.h digunakan untuk penanganan input / output standar seperti penulisan ke layar, ke file
atau pembacaan data dari keyboard atau file.
File header stdio.h digunakan untuk penanganan ke layar seperti pengaturan warna, waktu jeda (delay),
suara internal.
Masih banyak file header standar selain stdio.h dan conio.h.
· Fungsi main()
Pada baris 8 terdapat pendeklarasian fungsi main(). Fungsi ini adalah suatu fungsi khusus yang akan
dieksekusi pertama. Setiap program harus mempunyai fungsi main(). Fungsi main() diawali dengan tanda
{ yang menyatakan awal dari program dan diakhiri dengan tanda } yang menyatakan akhir dari program.
·
· Tanda ; (semikolon)
Setiap perintah harus diakhiri dengan tanda ;. Hilangnya tanda ; akan menyebabkan kesalahan kompile.
· getch()
getch() adalah suatu fungsi yang berfungsi untuk pembacaan data sebuah karakter, sehingga program
akan terdiam sampai pengguna menekan suatu tombol. Fungsi ini berada dalam file header conio.h
sehingga perintah #include “conio.h” harus dituliskan. Kalau perintah getch() tidak ditulis, maka program
akan dikerjakan dengan cepat dan eksekusi tidak dapat terlihat.
· return
return adalah perintah yang memberikan nilai kepada fungsinya. Setiap fungsi harus mempunyai nilai
kembaliannya (return value).
Kedua cara tersebut menghasilkan suatu efek yang sama yaitu memberikan nilai 65 atau karakter A ke
variabel karakter. Kalau pengisian variable ingin menggunakan karakter maka karakter yang akan dimasukan harus
diapit dengan tanda apostrof.
Ada beberapa tipe data standar yang digunakan untuk data bilangan bulat.
Tipe data untuk bilangan pecahan terdiri dari beberapa jenis yaitu :
Dalam pemrograman C, untuk variabel yang menampung data string tidak ada perintah khusus,
karena dalam bahasa C, string adalah sebuah array karakter atau sebuah pointer ke sebuah variabel char.
Cara pendeklarasian adalah :
char nama[50];
char *alamat;
Operator-Operator Perhitungan
/ c=a/b Variable c diisi dari isi variable a dibagi oleh isi variable b
++ a++ Isi variable a ditambah 1. Perintah ini sama dengan a=a+1 atau a+=1
-- b-- Isi variable a dikurang. Perintah ini sama dengan a=a-1 atau a-=1
% c=a % b Variable c diisi dari sisa pembagian variable a dibagi variable b
+= c+=a Variable c ditambah dengan isi variable a. Sama dengan c=c+a
/= c/=a Variable c dibagi dengan isi variable a. Sama dengan c=c/a
-= c-=a Variable c dikurangi dengan isi variable a. Sama dengan c=c-a
*= c*=a Variable c dikali dengan isi variable a. Sama dengan c=c*a
%= c%=a Variable c diisi dari sisa pembagian c dibagi isi variable a. Sama dengan
c=c%a
Format Kegunaan
if (expression)
Statement1;
else
Statement2;
StatementBerikutnya;
Deklarasi peubah ;
for(peubah=nilai awal ; peubah=nilai akhir ; kondisi)
{
Statement;
}
Konstruksi while
Konstruksi while merupakan perintah pengulangan yang di pakai
apabila programmer tidak mengetahui berapa kali jumlah pengulangan di lakukan, dan perintah
while ini memungkinkan statement yang ada pada konstruksinya tidak di lakukan sama sekali
jika kondisi tidak di penuhi.
Konstruksi do-while
Konstruksi do-while merupakan perintah pengulangan yang di pakai
apabila programmer tidak mengetahui berapa kali jumlah pengulangan di lakukan. perintah do-
while sedikit berbeda.dengan while karena pada perintah do-while, statement yang berada pada
konstruksinya harus di laksanakan satu kali walaupun kondisi yang ada tidak terpenuhi.
Berikut syntaxprogramnya :
Pada pemrograman C++ selalu terdapat sebuah fungsi utama atau sub-program yakni “void
main()” penamaan modul memiliki karakteristik yang sama dengan penamaan variable, dengan
fungsi program akan menjadi lebih efisien dan fleksibel.
Pada umumnya fungsi memerlukan masukan yang di namakan argument atau parameter.
Hasil akhir dari fungsi akan berupa sebuah nilai.
Bab VI
Latihan Praktikum
Latihan Printf
#include<stdio.h>
#include<conio.h>
main()
{
printf("POLITEKNIK MANUFAKTUR NEGERI BANDUNG\n");
printf("JAWA BARAT\n");
clrscr();
gotoxy(20,10); printf("JURUSAN TEKNIK PERANCANGAN MANUFAKTUR\n");
gotoxy(20,11); printf("JL.KANAYAKAN NO.21 BANDUNG");
}
Keterangan :
#indlude<stdio.h> standard input output
#include<conio.h> console input output
Clscr(); berfungsi menghilangkan data diatasnya
gotoxy
x=kolom
y=baris
main()
{
int a,b,c;
clrscr();
gotoxy(20,4); printf("PROGRAM PENJUMLAHAN");
gotoxy(20,6); printf("masukan bilangan a = ");scanf("%i",&a);
gotoxy(20,7); printf("masukan bilangan b = ");scanf("%i",&b);
c=a+b;
gotoxy(20,9); printf("HASIL = %i ",c);
gotoxy(20,11); printf("HASIL %i + %i = %i ",a,b,c);
}
Keterangan:
Scanf(); Membaca data yang diinputkan
%i Data yang di scan masuk variable a pada integer
bilangan :
ada bilangan bulat dan bilangan pecahan
bilangan bulat:
variablenya harus dideklarasikan terlebih dahulu
tipenya:
int (integer) atau bisa juga double
bedanya integer sama double
int maksimal bilangannya 32676
double miliar namun tetap bilangan bulat
contoh
int angka;
ataupun
double angka;
contoh
c=a+b
input= a,b
output= c
proses= + dan =
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
float y,b,a,x1,x2;
clrscr();
gotoxy(20,9); printf("PROGRAM AKAR\n");
gotoxy(20,11); printf("masukan bilangan y = "); scanf("%f",&y);
gotoxy(20,12); printf("masukan bilangan b = "); scanf("%f",&b);
x1=2*pow(y,2)+b;
x2=sqrt(2*y-b);
a=(x1-x2)/x2;
Keterangan:
Pow() untuk operasi pangkat
Bilangan pecahan
tipe variable digunakan ---> float();
mis:
float x;
maka --> variable x bisa diisi dengan pecahan
x=35,5;
x=45;
seleksi pada if memerlukan operator lain, operator yang selalu dilibatkan dalam proses seleksi
yaitu operator pembanding
operator pembanding > < >= <= == !=
contohnya :
a=5;b=8
if(a<=b)
{
printf("a < atau =b');
}
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int a,b;
clrscr();
gotoxy(20,4); printf("PROGRAM SELEKSI GANDA");
gotoxy(20,6); printf("masukan bilangan a = ");scanf("%i",&a);
gotoxy(20,7); printf("masukan bilangan b = ");scanf("%i",&b);
if(a>b)
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int a,b;
clrscr();
gotoxy(20,9); printf("PROGRAM SELEKSI JAMAK");
gotoxy(20,11); printf("MASUKAN NILAI a = ");scanf("%i",&a);
gotoxy(20,12); printf("MASUKAN NILA b = ");scanf("%i",&b);
if (a>b)
{printf("a>b");}
else
if (a==b)
{printf("a = b");}
else
{printf("a < b");}
selain operator pembanding ada operator lain yang digunakan opada if yaitu:
operator boolean
not !()
and &&
or ||
fungsinya adalah jika memerlukan kondisi yang lebih dari satu yang kemudian akan disambung dengan
kondisi awal
contoh
1.and &&
syaratnya: terpenuhi jika semua kondisi bernilai benar
contoh:
7<= angka <=9
jika angka lebih besar atau sama dengan 7 dan angka lebih kecil atau sama dengan 9.
2.OR ||
syaratnya : terpenuhi jika minimal salah satu kondisi bernilai benar
contoh:
if(angka>=7 || angka<=9)
{
3.NOT !()
syaratnya : terpenuhi jika kondisi bernilai kebalikannya (tidak benar ataupun tidak salah)
contoh:
if(!(angka>9))
{
pernyataan
}
latihannya
TAMPILANNYA
masukan nilai : "nilai" <enter>
nilai mutu :
Yudisium kelulusan :
untuk format karakter yang lebih dari satu kata tidak bisa pakai
maka pakai
Untuk Nama
Print Nama
1. for()
for((nilai awal;kondisi;kenaikan/penurunan nilai)
tipe variable yang dighunakan pada for harus bilangan bulat,tidak boleh bilangan pecahan
#include<stdio.h>
#include<conio.h>
main()
{
int a,x,y=0;
clrscr();
gotoxy(20,4); printf("PROGRAM PENGULANGAN");
gotoxy(20,6); printf("masukan JUMLAH PENGULANGAN = ");scanf("%i",&x);
for (a=1;a<=x;a++)
{
gotoxy(20,8+a); printf ("%i POLMAN BANDUNG \n",a);
}
for (a=x;a>=1;a--)
{
y++;
gotoxy(50,8+y); printf ("%i POLMAN BANDUNG \n",a);
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
float y,b,a,x1,x2; char lagi='y';
clrscr();
while (lagi=='y')
{
clrscr();
gotoxy(20,9); printf("PROGRAM AKAR\n");
gotoxy(20,11); printf("masukan bilangan y = "); scanf("%f",&y);
gotoxy(20,12); printf("masukan bilangan b = "); scanf("%f",&b);
x1=2*pow(y,2)+b;
x2=sqrt(2*y-b);
a=(x1-x2)/x2;
main()
{
float jamtot=0,jamlem=0,jambih=0,ul=0,ug=0,jg=0,jamnor=40;
clrscr();
gotoxy(20,4); printf("PROGRAM JAM KERJA");
gotoxy(20,6); printf("masukan jam kerja anda = ");scanf("%f",&jamtot);
jamlem=(jamtot-40);
jamnor=40;
if (jamtot>42)
{
ug=(jamnor*5000);
jamlem=(jamtot-jamnor);
jambih=(jamlem-2);
ul=(2*10000)+(jambih*5000);
jg=(ul+ug);
gotoxy(20,8); printf("jam lembur anda = %.1f",jamlem);
gotoxy(20,9); printf("jam lebih anda = %.1f",jambih);
gotoxy(20,10); printf("uang gaji anda = %.1f",ug);
gotoxy(20,11); printf("uang lembur anda = %.1f",ul);
gotoxy(20,12); printf("jumlah gaji anda = %.1f",jg);
}
if (jamtot==42)
if (jamtot==40)
{
ug=(jamnor*5000);
jamlem=(jamtot-jamnor);
ul=(jamlem*10000)+(jambih*5000);
jg=(ul+ug);
gotoxy(20,8); printf("jam lembur anda = %.1f",jamlem);
gotoxy(20,9); printf("jam lebih anda = %.1f",jambih);
gotoxy(20,10); printf("uang gaji anda = %.1f",ug);
gotoxy(20,11); printf("uang lembur anda = %.1f",ul);
gotoxy(20,12); printf("jumlah gaji anda = %.1f",jg);
}
if (jamtot<40)
{
jg=(jamtot*5000);
gotoxy(20,11); printf("jumlah gaji anda = %.1f",jg);
}
}
Array (baris/larik):
fungsinya untuk memesan tempat di memori komputer
misalnya
main()
{
int x[10],y,w;
char nama [20][10];
clrscr();
for(w=1;w<=y;w++)
{
printf("MASUKAN NAMA = ");fflush(stdin); scanf("%[^\n]",nama[w]);
printf("MASUKAN NILAI = ");scanf("%i",&x[w]);
}
clrscr();
for(w=1;w<=y;w++)
latihan array 2
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<ctype.h>
main()
{
int x,y;
clrscr();
Latihan Faktorial
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<ctype.h>
main()
{
int a,x,y=0;
float faktorial;
char lagi='y';
clrscr();
while (toupper(lagi)=='Y')
{
faktorial=1;
clrscr();
lagi=getch();
}
}
Latihan Tabel
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<ctype.h>
main()
{
int a,x,y=0;
float kuadrat,akar,rata,jumlah,jumt,jumlahkuadrat,jumlahakar,jumb,rk,ra,rj;
char lagi='y';
clrscr();
while (toupper(lagi)=='Y')
{
jumlah=0;
jumt=0;
jumlahkuadrat=0;
jumlahakar=0;
jumb=0;
rk=0;
ra=0;
clrscr();
for (a=1;a<=x;a++)
{
gotoxy(20,14+a); printf ("%i \n",a);
kuadrat=2*(pow(a,2));
gotoxy(30,14+a); printf ("%.2f \n",kuadrat);
akar=(sqrt(2*a));
gotoxy(50,14+a); printf ("%.2f \n",akar);
jumt=akar+kuadrat;
gotoxy(70,14+a); printf ("%f \n",jumt);
jumlah=jumlah+a;
rata=jumlah/a;
jumlahkuadrat=jumlahkuadrat+kuadrat;
jumlahakar=jumlahakar+akar;
jumb=jumb+jumt;
rk=jumlahkuadrat/a;
ra=jumlahakar/a;
rj=jumt/a;
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<ctype.h>
void satu();
void dua();
void tiga();
void empat();
void satu()
{
float jamtot=0,jamlem=0,jambih=0,ul=0,ug=0,jg=0,jamnor=40;
clrscr();
gotoxy(20,4); printf("PROGRAM JAM KERJA");
gotoxy(20,6); printf("masukan jam kerja anda = ");scanf("%f",&jamtot);
if (jamtot>42)
{
ug=(jamnor*5000);
jamlem=(jamtot-jamnor);
jambih=(jamlem-2);
ul=(2*10000)+(jambih*5000);
jg=(ul+ug);
gotoxy(20,8); printf("jam lembur anda = %.1f",jamlem);
gotoxy(20,9); printf("jam lebih anda = %.1f",jambih);
gotoxy(20,10); printf("uang gaji anda = %.1f",ug);
gotoxy(20,11); printf("uang lembur anda = %.1f",ul);
gotoxy(20,12); printf("jumlah gaji anda = %.1f",jg);
}
if (jamtot==42)
{jambih=0;
ug=(jamnor*5000);
jamlem=(jamtot-jamnor);
ul=(2*10000);
jg=(ul+ug);
gotoxy(20,8); printf("jam lembur anda = %.1f",jamlem);
gotoxy(20,9); printf("jam lebih anda = %.1f",jambih);
gotoxy(20,10); printf("uang gaji anda = %.1f",ug);
gotoxy(20,11); printf("uang lembur anda = %.1f",ul);
gotoxy(20,12); printf("jumlah gaji anda = %.1f",jg);
}
if (jamtot==41)
{jambih=0;
ug=(jamnor*5000);
jamlem=(jamtot-jamnor);
ul=(1*10000);
jg=(ul+ug);
gotoxy(20,8); printf("jam lembur anda = %.1f",jamlem);
gotoxy(20,9); printf("jam lebih anda = %.1f",jambih);
gotoxy(20,10); printf("uang gaji anda = %.1f",ug);
gotoxy(20,11); printf("uang lembur anda = %.1f",ul);
gotoxy(20,12); printf("jumlah gaji anda = %.1f",jg);
}
if (jamtot==40)
{
ug=(jamnor*5000);
jamlem=(jamtot-jamnor);
ul=(jamlem*10000)+(jambih*5000);
jg=(ul+ug);
gotoxy(20,8); printf("jam lembur anda = %.1f",jamlem);
gotoxy(20,9); printf("jam lebih anda = %.1f",jambih);
gotoxy(20,10); printf("uang gaji anda = %.1f",ug);
gotoxy(20,11); printf("uang lembur anda = %.1f",ul);
gotoxy(20,12); printf("jumlah gaji anda = %.1f",jg);
if (jamtot<40)
{
jg=(jamtot*5000);
gotoxy(20,11); printf("jumlah gaji anda = %.1f",jg);
}
getch();
}
void dua()
{
int a,x,y=0;
float kuadrat,akar,rata,jumlah,jumt,jumlahkuadrat,jumlahakar,jumb,rk,ra,rj;
char lagi='y';
clrscr();
while (toupper(lagi)=='Y')
{
jumlah=0;
jumt=0;
jumlahkuadrat=0;
jumlahakar=0;
jumb=0;
rk=0;
ra=0;
rj=0;
clrscr();
for (a=1;a<=x;a++)
{
gotoxy(20,14+a); printf ("%i \n",a);
kuadrat=2*(pow(a,2));
gotoxy(30,14+a); printf ("%.2f \n",kuadrat);
akar=(sqrt(2*a));
gotoxy(50,14+a); printf ("%.2f \n",akar);
jumt=akar+kuadrat;
gotoxy(70,14+a); printf ("%f \n",jumt);
jumlah=jumlah+a;
rata=jumlah/a;
gotoxy(10,32); printf("rata=%.1f",rata);
gotoxy(30,32); printf("%.1f",rk);
gotoxy(50,32); printf("%.1f",ra);
gotoxy(70,32); printf("%.1f",rj);
void tiga()
{
float a,b,c,d,x1,x2;
clrscr();
gotoxy(20,4); printf("PROGRAM ABC");
gotoxy(20,6); printf("masukan bilangan a = ");scanf("%f",&a);
gotoxy(20,7); printf("masukan bilangan b = ");scanf("%f",&b);
gotoxy(20,8); printf("masukan bilangan c = ");scanf("%f",&c);
d=pow(b,2)-4*a*c;
if (d>0)
{x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
gotoxy(20,13); printf("D = %f",d);
gotoxy(20,10); printf("x1 = %.1f",x1);
gotoxy(20,11); printf ("x2 = %.1f",x2);
}
if (d==0)
{x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
gotoxy(20,13); printf("D = %f",d);
gotoxy(20,10); printf("x1 = %.1f",x1);
gotoxy(20,11); printf ("x2 = %.1f",x2);
}
if (d<0)
{
gotoxy(20,13); printf("D = %.1f",d);
gotoxy(20,10); {printf("IMAGINER");
}
}
void empat()
{
int a,x,y=0;
float faktorial;
char lagi='y';
clrscr();
while (toupper(lagi)=='Y')
{
faktorial=1;
clrscr();
void main()
{
char lagi='y',pilih;
while (toupper(lagi)=='Y')
{
clrscr();
gotoxy(20,3);printf("MENU PILIHAN");
gotoxy(20,5);printf("1 GAJI KARYAWAN");
gotoxy(20,7);printf("2 TABEL ");
gotoxy(20,9);printf("3 RUMUS ABC");
gotoxy(20,11);printf("4 FAKTORIAL");
gotoxy(20,13);printf("5 SELESAI");
gotoxy(20,15);printf("pilihan (1-5) :");
pilih=getch();
if (pilih =='1'){satu();}
if (pilih =='2'){dua();}
if (pilih =='3'){tiga();}
if (pilih =='4'){empat();}
if (pilih =='5'){lagi='T';}
}
}
void main()
{
int kb,hs,up,uk,jt=0;
float disc,jb,jh=1,ub,tp=0,td=0;
char lagi='y';
clrscr();
while (toupper(lagi)=='Y')
{
clrscr();
if (kb==1)
{ hs=1000;
gotoxy(5,9);printf("Nama Barang : Celana Panjang ");
gotoxy(5,10);printf("Harga Satuan : Rp. %i",hs);
}
if (kb==2)
{ hs=500;
gotoxy(5,9);printf("Nama Barang : Sepatu Pria");
gotoxy(5,10);printf("Harga Satuan : Rp. %i",hs);
}
if (kb==3)
{ hs=250;
gotoxy(5,9);printf("Nama Barang : Kemeja");
gotoxy(5,10);printf("Harga Satuan : Rp. %i",hs);
}
if (jh>7000)
{
disc=(jh*0.1);
gotoxy(5,13); printf("Discount : Rp. %.0f",disc);
}
if (jh>=3000 && jh<=7000)
{
disc=(jh*0.05);
gotoxy(5,13); printf("Discount : Rp. %.0f",disc);
}
if (jh<3000)
disc=0;
gotoxy(5,13); printf("Discount : Rp. %.0f",disc);
}
ub= jh-disc;
gotoxy(5,14); printf("Uang Yang Harus Dibayar : Rp. %.0f",ub);
gotoxy(5,15); printf("Uang Pembayaran : Rp. ",up);scanf("%i",&up);
uk=up-ub;
gotoxy(5,16); printf("Pengembalian : Rp. %i",uk);
gotoxy(5,18) ; printf("-------------------------------------------------------------------------");
gotoxy(5,19); printf("TOTAL DISCOUNT : Rp. %.0f",td );
gotoxy(5,20); printf("JUMLAH TRANSAKSI : %i Kali",jt );
gotoxy(5,21); printf("TOTAL PENDAPATAN HARI INI: Rp. %.0f ",tp);
gotoxy(5,22) ; printf("-------------------------------------------------------------------------");
1 10 3
2 20 6
penulisan di C++
di deklarasinya :
untuk x misalkan :
void main()
{
int x[10][10],a,b,c; //input bilangan dan untuk pengulangan
clrscr();
void main()
{
int x[10][10],a,b,c,d; //input bilangan dan untuk pengulangan
clrscr();
for (c=1 ; c<=a ; c++) // for ini untuk barisnya, jadi harus ada kolom
{
for (d=1 ; d<=b ; d++) // for ini untuk kolom
{
printf("MASUKAN DATA X(%i,%i) : ",c,d);scanf("%i",&x[c][d]);
}
}
//output data
printf("\n\nMATRIKS (%i X %i) :\n\n",a,b);
for (c=1 ; c<=a ; c++)
{
for (d=1 ; d<=b ; d++)
{
printf("%i ",x[c][d]);
}
printf("\n");
}
void satu();
void dua();
void tiga();
int x[10][10],y[10][10],a,b,c,d;
void satu()
{
//int x[10][10],y[10][10],a,b,c,d; //input bilangan dan untuk pengulangan
clrscr();
for (c=1 ; c<=a ; c++) // for ini untuk barisnya, jadi harus ada kolom
{
for (d=1 ; d<=b ; d++) // for ini untuk kolom
{
printf("MASUKAN DATA X(%i,%i) : ",c,d);scanf("%i",&x[c][d]);
}
}
for (c=1 ; c<=a ; c++) // for ini untuk barisnya, jadi harus ada kolom
{
for (d=1 ; d<=b ; d++) // for ini untuk kolom
{
printf("MASUKAN DATA Y(%i,%i) : ",c,d);scanf("%i",&y[c][d]);
}
}
//output data
printf("\n\nMATRIKS X (%i X %i) :\n\n",a,b);
for (c=1 ; c<=a ; c++)
{
for (d=1 ; d<=b ; d++)
{
printf("%i ",x[c][d]);
}
printf("\n");
}
getch();
}
void dua()
{
clrscr();
printf("\n\nJUMLAHNYA :\n\n",a,b);
for (c=1 ; c<=a ; c++)
{
for (d=1 ; d<=b ; d++)
{
printf("%i ",x[c][d]+ y[c][d]);
}
printf("\n");
}
getch();
}
void tiga()
{
clrscr();
printf("\n\nSELISIHNYA :\n\n",a,b);
for (c=1 ; c<=a ; c++)
{
for (d=1 ; d<=b ; d++)
{
printf("%i ",x[c][d]- y[c][d]);
}
printf("\n");
}
getch();
}
{
clrscr();
gotoxy(20,3);printf("MENU PILIHAN");
gotoxy(20,5);printf("1 PROGRAM MASUKAN DATA");
gotoxy(20,6);printf("2 PROGRAM PENJUMLAHAN");
gotoxy(20,7);printf("3 PROGRAM SELISIH");
gotoxy(20,8);printf("4 SELESAI");
gotoxy(20,10);printf("pilihan (1-4) :");
pilih=getch();
if (pilih =='1'){satu();}
if (pilih =='2'){dua();}
if (pilih =='3'){tiga();}
if (pilih =='4'){lagi='T';}
Persyaratan kualitas
Apapun pendekatan pengembangan perangkat lunak mungkin, program akhir harus memenuhi
beberapa sifat mendasar. Properti berikut adalah di antara yang paling relevan:
Efisiensi / kinerja.
Reliabilitas
Kekokohan
Kegunaan
Portabilitas
Kemampu-rawatan
Kekurangan Bahasa C :
Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan
sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prosedural,
dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-
submasalah yang lebih kecil
1. Komentar
2. Preprosesor Directive
3. Global Declaration
4. Main Program