Disusun oleh :
Kelompok 3
1. Kardo Simanjuntak: 5162331004
2. Ichan M Manurung : 5163331013
3. Wanjul F.Sirait : 5163331028
Puji syukur sama-sama kita ucapkan bagi Tuhan Yang Maha Kuasa, atas berkat
dan karuniaNya penulis dapat merealisasikan makalah ini dengan tepat pada waktunya.
Tujuan penulis membuat makaah ini yaitu untuk memenuhi tugas yang diberikan bapak
dosen. Makalah adalah tugas wajib dalam setiap mata kuliah termasuk mata kuliah
PEMEROGRAMAN KOMPUTER. Makalah ini ditujukan untuk mengembangkan
pengetahuan Mahasiswa atau sebagai materi tambahan yang akan dipelajari dalam
jadwal mata kuliah Aljabar teknik, sekaligus pembuatan makalah ini bermaksud untuk
mengembangkan pengetahuan mahasiswa dalam membuat suatu makalah dengan baik
dan benar. dengan adanya pembuatan suatu makalah, maka dari ini Mahasiswa menjadi
terbiasa untuk membaca terlebih dahulu sebuah buku yang akan dijadikan sebagai
sumber topik bahasan dan jikalau materi belum merasa sempurna maka mahasiswa
tersebut akan semakin mencari materi tambahan itu tepatnya bisa terdapat dari berbagai
sumber seperti ,dari internet, surat kabar, dan dari media lainnya. Dengan kebiasaan
membaca berbagai sumber, wawasan Mahasiswa akan semakin luas.
Penulis berterima kasih kepada dosen Pembina matakuliah ini yang telah
memberikan arahan dalam mengerjakan makalah ini. Dalam makalah ini kami sangat
meyakinkan bahwa isi dari makalah ini masih jauh dari yang diharapkan, oleh sebab
itu penyusun sangat mengharapkan saran dan sumbangan pemikiran yang bertujuan
untuk penyempurnaan makalah ini agar menjadi lebih baik lagi. Atas saran dan
sumbangan pemikiran yang diberikan oleh pembaca kami ucapkan terimakasih.
Kelompok 3
DAFTAR ISI
Daftar Pustaka
LAMPIRAN
BAB I
PENDAHULUAN
Pemograman dalam struktur data ada beberapa macam. Salah satunya adalah
pemograman C++. Dalam pemograman ini biasanya menggunakan berbagai variable
misalnya Struktur data, pointer, Array, Linked List, stack, queue, tree, pohon biner (binari
tree) dan graph / matrik penjajian data.
Makalah ini akan membahas variabel tersebut dimana variable mempunyai ciri
dan umum yang berbeda sesuai dengan tipe file yang di gunakan pembaca. Pemograman
ini merupakan pemograman yang berbeda dari pemograman lainnya misalnya VB, Delphi
atau Pascal namun perbedaan juga tidak begitu signifikan pada pemograman pascal.
PEMBAHASAN
Komputer pada dasarnya merupakan mesin yang tidak bisa apa-apa. Kita harus
memberikan serangkaian instruksi kepada komputer agar mesin ‘pintar’ ini dapat
memecahkan suatu masalah. Langkah-langkah yang perlu dilakukan dalam
memberikan instruksi kepada komputer untuk memecahkan masalah inilah yang
dinamakan pemrogaman komputer. Adapun langkah-langkah pemrogaman komputer
adalah sebagi berikut: mendefinisikan masalah, menentukan solusi, memilih algoritma,
menulis program, menguji program, menulis dokumentasi, serta merawat program.
Pada bahasa pemrograman tingkat tinggi, seperti Pascal dan C++, telah tersedia
jenisdata standar integer, yang merupakan jenis data untuk menyimpan bilangan bulat.
Secara algoritmik, jenis data integer tidak mempunyai batas nilai maksimum maupun
batas nilai minimum, namun tidak demikian halnya dalam implementasi pada bahasa
pemrograman. Sebagai contoh pada bahasa Turbo Pascal dan Turbo C, jenis data integer
terbesar diimplementasikan dalam 4 byte data, yang berarti membatasi nilainya dari
2147483648 sampai dengan 2147483647. Pembatasan nilai ini akan meningkatkan
efisiensi kompilator, tetapi di sisi yang lain akan membatasi perhitungan yang bisa
dilakukan. Secara praktis hal ini diatasi dengan menggunakan jenis data real (atau float
pada bahasa C) untuk melakukan perhitungan dengan bilangan bulat yang cukup besar,
akan tetapi solusinya tidak selalu memuaskan. Jenis data real seringkali tidak bisa
dipergunakan pada perhitungan yang menuntut kecermatan tinggi.
1.1 Pengertian Struktur Data
Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer
agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia
nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau
direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol.
Kata Algoritma berasal dari bahasa arab yaitu Algorism yang berarti proses
menghitung dengan angka arab. Sedangkan Algorist adalah orang yang menghitung
dengan menggunakan angka arab. Sebenarnya, Algoritma itu sendiri berasal dari nama
seorang ahli matematika dari Uzbekistan yaitu Abu Abdullah Muhammad Ibn Musa al-
Khwarizmi yang dibaca oleh orang barat menjadi Algorism.
2.1 GAMBARAN UMUM C++ DAN PASCAL
2.1.1 Gambaran Umum C++
Beberapa hal yang perlu diingat mengenai bahasa C++:
a) Komentar dalam C++ menggunakan /* … */ untuk memuat beberapa baris
sekaligus ataumenggunakan // untuk mengabaikan semua karakter di sebelah
kanannya sebanyak 1 baris.
b) Sebuah program dalam C++ harus memiliki fungsi bernama main(), fungsi ini
adalahfungsi spesial karena di situlah main program kita.
c) Dalam C++ sebenarnya juga tidak ada procedure, procedure didefinisikan
sebagai functionyang mengembalikan nilai void.
d) Setiap baris perintah harus diakhiri dengan titik koma ‘;’ kecuali yang diawali
dengan kres‘#’.
e) Blok program diawali kurung-kurawal-buka ‘{’ dan diakhiri kurung-kurawal-
tutup ‘}’.
f) Bahasa C++ juga bahasa yang case-sensitive, jadi perhatikan dalam penamaan
variabel,type, maupun pemanggilan fungsi-fungsi yang sudah ada.
g) Perintah terakhir di dalam main() yaitu return 0 digunakan untuk
mengindikasikan bahwa
h) program tersebut sukses berjalan.
sama=1; sama=true;
end;
begin { fak*=i; }
{
Prosedur proceduretambah(varx:integer); voidtambah(int*x)
} voidtambah(int&x)
}
plus:=(x>=0); } return(x>=0); return(x>=0);
begin { {
end; } }
x:=x+1; *x++; x++;
end; } }
2.2 Tipe Data , Konstanta, Variabel, & Operator
2.2.1 Tipe Data
a) Tipe Data Integer
-1.7x10s/d-1.7x10 1.7x10s/d1.7x10
Pascal C C++
Typename=string[30]; typedefcharname[31]; typedefstd::stringname;
1. UntukC,tidakada typedata
khususstring,sehinggastringdidefinisikansebagaiarray ofchar.
2. PadaPascal,name:string[30]artinyakarakterdiisidari
name[1]..name[30]sedangkandalamCcharname[31]artinya
karakterdiisidariname[0]..name[30].
3. UntukC++,untukmenggunakantypestringharusada#include<string>diawal.
4. Programharusmenggunakanstd::string.
Pascal C C++
Type typedefinttabel[11]; typedefinttabel[11];
tabel=array[0..10]of
integer;
Type typedef typedef
ofreal;
1. Formatdeklarasinya:typedef<type-elemen><nama-
type>[<banyaknyaelemen+1>];
2. PadaCdanC++ indeksarrayselaludimulaidari0.
3. Jadijikaditulisinttabel[11]artinya adatabel[0]…tabel[10].
4. Contohcara pengaksesan: tabel[2],matrix[5][29]
e) Typedataenumerasi
Pascal C C++
f) Typedatapointer
Pascal C C++
typeaddress:^integer; typedefint*address; typedefint*address;
typeaddr:^siswa; typedefsiswa*addr; typedefsiswa*addr;
Ketikakita
menggunakanPascal,kitahampirtidakperluberurusandenganpointer,tapi diC
mautidakmaukitaharusberurusandengantipedatasatuini.
SyntaxuntukdeklarasidanassigmentvariabeldalamC&C++berbedadenganPascal.
Pascal C C++
angka:integer; intangka; intangka;
floathasil; floathasil;
hasil:real;
chartabel[11]; chartabel[11];
tabel:array[0..10]ofchar; charnama[31];
std::stringnama;
nama:string[30];
angka:=10; angka=10; angka=10;
hasil:=23.98; hasil=23.98; hasil=23.98;
tabel[7]:=‘S’; tabel[7]=‘S’; tabel[7]=‘S’;
2.2.3Konstanta
Pascal C C++
atau: atau:
#definepi3.1415926 #definepi3.1415926
PadaC&C++konstantabiasaharustetap dideklarasikantype-nya.
a. #defineadalah makro,dimana
fungsinyamiripfind&replacepadatexteditor.
b. Formatnya:#define<nama><nilai>,carakerjanyaadalah
mencari<nama>di seluruhcodedanmengubahnyamenjadi<nilai>.
2.3InputdanOutput
2.3.1Output
Pascal C C++
2.3.2.Input
Pascal C C++
read(i);
cc:char; scanf(“%d”,&i); std::cin>>i;
read(f); scanf(“%f”,&f); std::cin>>f;
read(cc); scanf(“%c”,&cc); std::cin>>cc;
UntukC,perlu#include<stdio.h>diawal program.
a. UntukC,inputmenggunakanscanf(scanformatted).
Formatyangdigunakanhampirsamadenganprintf,namunsetelahstring
format,yangdiisibukannamavariabel,
melainkanpointerdariarraytersebut.Makanyauntuk
memasukkannilaidesimal(%f)kedalamvariabelfdigunakanpointerf(&f).
b. UntukC++,perlu#include<iostream>di awalprogram.
c. UntukC++,inputmenggunakanstd::cin.
2.4Operator
2.4.1OperasiBilanganBulat
Operatoryangdigunakanpadabilanganbulatdanmenghasilkanbilanganbulatjuga:
Definis Pascal C C++
Penjumla
i + + +
Penguran
han - - -
Perkalian
gan * * *
Hasilbagi div / /
Sisa bagi mod % %
Incremen inc(x); x++;atau++x x++;atau++x
xt x+a inc(x,a); x+=a;
; x+=a;
;
Decreme dec(x); x--;atau–-x; x--;atau--x;
xnt x- a dec(x,a); x-=a; x-=a;
a) Adaperbedaanantarax++dengan++xdanantara x--dengan--xmeskipunhasiL
akhirnya sama.
b) Jikadijalankan:intx=1;printf(“%d”,x++);makayangkeluaradalahangka1.Nila
ixsetelahituadalah 2.Tapijika
dijalankan:intx=1;printf(“%d”,++x);makayangkeluaradalah2.
Nilaixsetelahituadalah 2.
c) Begitujuga denganx-- dan--x.
2.4.2OperasiPecahan
Operatoryangdigunakanpadabilanganpecahandanmenghasilkanpecahanjuga:
Definisi Pascal C C++
Penjuml + + +
Pengura
ahan - - -
Perkalia
ngan * * *
Pembag
n / / /
ian
PadaC&C++,operatorpembagi‘/’
menggunakanlambangyangsama.Jika/dioperasikan
pada2buahbilanganbulat,maka
otomatismenjadioperasidiv,sedangkanjikasalahsatu operand-
nyapecahanmakaotomatismenjadioperasipembagianbiasa.
2.4.3OperasiBoolean
Operatoryangdigunakanuntukmemanipulasitrue danfalse:
Definisi Pascal C C++
Negasi Not ! !
Konjungsi And && &&
Disjungsiinklu Or || ||
Disjungsiekslu
sif Xor ^ ^
sif
2.4.4OperasiPerbandingan
Operatoryangdigunakanuntukmembandingkannilaibilangandenganbilanganlain:
Jangansampaitertukarantara operatorassignment‘=’denganoperatorpembanding‘==’.
Definisi Pascal C C++
Samadengan = == ==
Tidaksamadengan <> != !=
Kurangdari < < <
Kurangdarisama dengan <= <= <=
Lebihdari > > >
Lebihdarisamadengan >= >= >=
HaliniseringterjadipadaorangyangterbiasadenganPascaldanberalihkeC.
2.5Kondisional
2.5.1If-thendanif-then-else
Pascal C C++
if(a>b)then begin if(a>b) if(a>b)
a:=b; { {
2.5.2Caseof
Pascal C C++
1:begin...end; { {
break; break;
... ...
} }
casebulanof switch(bulan) switch(bulan)
1,3,5,7,8,10,12: { {
2: ... ...
a) Pada
end; C & C++, harus menggunakan
case2: keyword switch dancase2:
case.
b) Pada C & C++ harus digunakan perintah break karena jika tidak ada
... perintah yang ada di bawahnya.
break,switch akanmembaca sisa ...
} }
2.5.3OperatorTernary
Adacaralainuntuk menuliskanif..then..elseyaitudenganoperatorternary‘?’.
Formatnya:<kondisi>?<if-true>:<if-false>
Contoh:x=(a<b)?a:b;
jikaa =5danb=7 maka barisiniakanmenjadix= a;
tapijikaa= 10danb=5 maka barisiniakanmenjadix=b;
Barisdiatassetaradenganif(a<b){x=a;}else{x=b;};
Keunggulandariternaryadalahsingkat,tetapikelemahannyaadalahtidakbisauntukkondi
si yangagakkompleks.
2.6Pengulangan
2.6.1LoopFor
Pascal C C++
vari:integer; inti; inti;
end; } ...
2.6.2LoopWhile
}
Pascal C C++
begin { {
a) end;
Syntax while dalam C}& C++ sama persis. }
b) Format: while (<kondisi-lanjut>) {}
c) Tidak ada keyword do pada while, deretan perintah setelah while() itulah yang
akandieksekusi.
2.6.3. Loop Repeat
Pascal C C++
Repeat do do
... { {
} }
while(i<=j); while(i<=j);
RepeatuntildalamC&C++adalahdo..whiledansyntaxnyasamauntukC
maupunC++.
a) Format:do{}while(<kondisi-lanjut>);
Keyworddo..whiletidakbertindaksebagaibegin..endsehinggadiperlukan{dan}ji
kainginmengeksekusibeberapabarisperint
BAB III
PENUTUP
A. Kesimpulan
Data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang
disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol.
Pengertian data ini menyiratkan suatu nilai yang bisa dinyatakan dalam bentuk konstanta / variable.
Konstanta digunakan untuk menyatakan nilai tetap sedangkan variable digunakan dalam program
untuk menyatakan nilai yang dapat berubah-ubah selang eksekusi berlangsung.
Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer agar bisa
dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau
keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan,
suara, gambar, sinyal atau simbol.
B. Saran
Bagi pembaca di harapkan mengamalkan ilmu yang di dapat setelah membaca makalah ini.
Dan jika makalah saya ada kata – kata yang tidak berkenan di hati anda saya minta maaf
DAFTAR PUSTAKA
1. Heriyanto, Imam, Budi Raharjo (2003). Pemrograman Borland C++ Builder. Informatika
2. Bandung.. Indrajit, Richardus Eko. Manajemen Sistem Informasi dan Teknologi Informasi.
Indrajit, Richardus Eko. Kajian Strategis Analisa Cost-Benefit Investasi Teknologi Informasi. Lidya,
Leoni, rinaldi Munir (2002). Algoritama dan Pemrograman dalam Bahas Pascal dan C.
3. Informatika Bandung. Sanjaya, Dwi (2005). Asyiknya Belajar Struktur Data di Planet
C++. Elex Media
4. Komputindo. Solichin, Achmad (2003). Pemrograman Bahasa C dengan Turbo C. Materi Kuliah
Struktur Data - Tree Structure.pdf
5. Modul Praktikum “Struktur Data” Laboratorium Dasar Komputer. Program Ilmu Komputer
Universitas Sriwijaya 2006. Copyright@PIK-Unsri Maret 2006.pdf
6. IlmuKomputer.Com. Wahono, Romi Satria(2003). Cepat MahirBahasa. IlmuKomputer.Com