• Tidak ada hasil yang ditemukan

Pseudocode

Dalam dokumen ALGORITMA DAN PEMROGRAMAN PASCAL DAN C++ (Halaman 42-118)

Bab 1 ALGORITMA & PEMROGRAMAN

1.7 Pseudocode

Skema lain yang dapat digunakan untuk menyusun algoritma adalah pseudocode. Pseudocode adalah bentuk informal untuk mendeskripsikan algoritma yang mengikuti struktur bahasa pemrograman tertentu. Tujuan dari penggunaan pseudocode adalah supaya:

 Lebih mudah dibaca oleh manusia

 Lebih mudah untuk dipahami

 Lebih mudah dalam menuangkan ide/hasil pemikiran

Pseudocode sering digunakan dalam buku-buku tentang ilmu komputer ataupun publikasi ilmiah untuk menjelaskan urutan proses atau metode tertentu. Seorang programer yang ingin menerapkan algoritma tertentu, terutama yang komplek atau algoritma baru, biasanya akan memulainya dengan membuat deskripsi dalam

bentuk pseudocode. Setelah pseudocode tersebut jadi, maka langkah selanjutnya hanya tinggal meterjemahkannya ke bahasa pemrograman tertentu. Pseudocode ini biasanya disusun dalam bentuk yang terstruktur dengan pendekatan sekuensial (berurutan) dari atas ke bawah.

Algoritma yang menjelaskan tentang proses memilih calon peserta didik, sebenarnya sudah menerapkan penggunaan pseudocode. Sesungguhnya tidak ada suatu standar untuk menyusun algoritma menggunakan pseudocode.

Oleh karena pseudocode lebih cocok digunakan untuk menyusun algoritma dengan kasus yang besar dan kompleks, maka sangat dianjurkan kepada programer pemula untuk mulai menggunakan pseudocode dalam menyelesaikan masalah. Berikut adalah contoh pseudocode yang dibandingkan dengan bahasa pemrograman C++.

Tabel 6. Pseudocode

Count << “salary : “<<salary;

If totalbelanja > 500000 then Diskon  0.2 * totalbelanja Bayar  totalbelanja–diskon end if

output (bayar)

Int totalbelanja;

Totalbelanja=500001;

If (totalbelanja > 500000) {

Diskon = 0.25 * totalbelanja;

Bayar = totalbelanja – diskon;

}

Count << “bayar : “<<bayar;

Bab 2 TIPE DATA, VARIABEL, DAN KONSTANTA

2.1 Pengertian Tipe Data

Tipe sebuah objek menentukan himpunan nilai yang dapat dimilikinya dan operasi yang dapat dilakukan pada objek tersebut. Nilai-nilai yang dicakup oleh tipe tersebut dinyatakan di dalam ranah (domain) nilai. Operasi-operasi (beserta operator) yang dapat dilakukan terhadap tipe tersebut juga di definisikan .

Tipe data dapat dikelompokkan menjadi atas dua macam yaitu tipe dasar dan tipe bentukan. Tipe dasar adalah tipe yang dapat langsung dipakai, sedangkan tipe bentukan dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya.

2.2 Jenis-Jenis Tipe Data 2.2.1 Tipe Dasar

Tipe dasar sudah dikenal dalam kehidupan sehari-hari. Tipe ini sudah ada sejak zaman dahulu (predefined data type). Kita hampir setiap hari berbicara tentang angka-angka dan karakter. Dalam dunia pemrograman, yang termasuk ke dalam tipe dasar adalah: lojik, bilangan bulat, karakter, bilangan riil, dan string. Tiga tipe dasar yang pertama disebut juga tipe ordinal karena setiap konstanta nilainya dapat ditransformasi ke suatu nilai integer.

a. Bilangan Lojik Nama Tipe

Nama tipe bilangan lojik adalah boolean (diambil dari nama seorang matematikawan inggris, George Boole)

Ranah nilai

Bilangan lojik hanya mengenal dua buah nilai: benar (true) atau salah (false). Istilah “bilangan” pada

“bilangan lojik” dikarenakan kita dapat menyatakan

“benar” dengan angka 1 dan “salah” dengan angka 0 (atau sebaliknya, bergantung konvensi yang kita buat).

Konstanta

Karena ranah nilai tipe boolean hanya beranggotakan dua buah nilai, maka konstanta (constant) yang terdapat pada tipe ini adalah true dan false.

Operasi

Operasi-operasi yang dapat dilakukan terhadap tipe boolean dikenal dengan operasi logika atau operasi boolean. Operasi logika menghasilkan nilai true atau false. Operator logika yang umum digunakan untuk operasi logika adalah: not, and, or, dan xor.

Jika a dan b adalah peubah (variabel) yang bertipe boolean, maka hasil operasi a dan b dengan ke empat operator boolean tersebut diberikan oleh masing-masing tabel (yang disebut tabel kebenaran – truth table) berikut tabelnya:

A not a

True false False true

A b a and b a or b a xor b True true true true false True false false true true False true false true true False false false false false

Cara mengingat hasil operasi dengan operator boolean sangat mudah. Ingatlah bahwa operasi dengan operator and hanya akan bernilai benar bila a dan b keduanya bernilai benar. Operasi dengan operator or hanya akan bernilai salah bila a dan b keduanya bernilai salah. Sedangkan operasi dengan operator xor akan bernilai benar bila a dan b saling berlawanan nilai kebenarannya.

Contoh operasi logika: misalkan X, Y, dan Z adalah peubah bertipe boolean, X bernilai true, Y bernilai false , dan Z bernilai true, maka:

Operasi logika Hasil (x and y) or z true x and (y or z) true not (x and z) false (y xor z) and y false

b. Bilangan Bulat

Bilangan bulat sudah umum digunakan dalam kehidupan sehari-hari. Bilangan bulat adalah bilangan yang tidak mengandung pecahan desimal, misalnya 34,8, 1203, 0, -17, 34567892901, dan sebagainya.

Nama tipe

Nama tipe bilangan bulat adalah integer.

Ranah nilai

Secara teoritis, tipe bilangan bulat mempunyai ranah nilai yang tidak terbatas. Rentang nilainya adalah dari minus tidak terhingga sampai plus tidak terhingga. Tetapi, di dalam komputer tipe integer mempunyai ranah nilai yang terbatas. Ranah nilai tipe integer pemrograman bergantung pada mesin (komputer) dan kompilator yang digunakan. Pada kompilator pascal yang digunakan pada komputer 16 bit, rentang nilai integer 16 bit adalah dari -32768 sampai +32767. Kompilator ini menyediakan empat macam tipe untuk integer, yaitu byte, shortint, word, integer, dan longint. Rentang nilai untuk tipe tersebut adalah:

Tipe Rentang Nilai Format

Byte 0 ... 255 Unsigned 8-bit

Shortint -128 ... 127 Signed 8-bit

Word 0 ... 65535 Unsigned 16-bit

Integer -32768 ... 32767 Signed 16-bit Longint -2147483648 ... 2147483647 Signed 32-bit

Dalam bahasa C, hanya ada dua macam tipe untuk integer yaitu char dan int. Tipe char berukuran 1 byte, sedangkan int adalah tipe integer yang secara tipikal mencerminkan ukuran alami dari integer pada kebanyakan mesin. Selain dua tipe tersebut, terdapat beberapa macam qualifier yang dapat diterapkan pada tipe int, yaitu short dan long, sehingga kedua tipe ini dapat divariasikan menjadi short int dan long int. Qualifier short dan long memberikan panjang yang berbeda pada tipe int; int normalnya berukuran yang natural pada mesin tertentu.

Short umumnya 16 bit, long 32 bit, dan int salah satu dari 16 bit atau 32 bit. Tiap-tiap kompilator bahasa C bebas memilih ukuran integer yang cocok untuk perangkat kerasnya dengan batasan hanya pada short dan int paling sedikit 16 bit, long paling sedikit 32 bit, short tidak lebih panjang dari int, dan int tidak lebih panjang dari long.

Qualifier signed menyebabkan nilai integer yang dipakai

nilai integer selalu positif atau nol. Ekivalensi antara tipe integer di dalam kompilator Turbo Pascal dan kompilator Turbo C dinyatakan dalam tabel berikut:

Pascal Rentang Nilai C

Byte 0 ... 255 unsigned char

Shortint -128 ... 127 signed char

Word 0 ... 65535 unsigned int

Integer -32768 ... 32767 int, short int Longint -2147483648 ... 2147483647 long int

Sebagai contoh, misalkan dua buah peubah X dan Y masing-masing dideklarasikan bertipe byte dan integer dalam bahasa Pascal:

var X : byte;

Y : integer;

Dengan mendeklarasikan X bertipe byte sedangkan Y bertipe integer, maka peubah X tidak dapat dioperasikan untuk nilai-nilai diatas 255 atau dibawah 0. Begitu juga peubah Y tidak dapat menampung nilai di atas 32767.

Pemilihan implementasi bilangan bulat ke dalam tipe-tipe integer yang berbeda lebih disebabkan pada faktor penghematan memori. Sebagai contoh, tipe word hanya membutuhkan 2 type memori, sedangkan integer membutuhkan 4 byte memori.

Tipe bilangan bulat adalah tipe yang memiliki keterurutan. Ini artinya, bila sebuah nilai bilangan bulat diketahui, nilai sebelumnya (predecessor) dan nilai sesudahnya (successor) dapat ditentukan. Contonya, predecessor dari 8 adalah 7, sedangkan succesor-nya adalah 9. Secara formal keterurutan itu didefinisikan sebagai berikut: jika a adalah peubah bertipe bilangan bulat, maka predecessor (a) = a-1, dan successor (a) = a+1.

c. Bilangan Riil

Bilangan riil adalah bilangan yang mengandung pecahan desimal, misalnya 3.65, 0.0003, 29.0, 2.60240000E-6, .24, dan lain-lain. Semua konstanta bilangan riil harus mengandung “.” (titik). Konstanta “18” dianggap sebagai bilangan bulat, tetapi “18.0” dianggap sebagai bilangan riil.

Bilangan riil dapat juga dituliskan dengan notasi E yang artinya perpangkatan sepuluh. Misalnya, 2.60240000E-6 artinya 2.60240000 x 10¯⁶. Baik tipe bilangan bulat maupun tipe bilangan riil, keduanya dinamakan juga tipe numerik (numeric=angka).

Nama Tipe

Nama tipe bilangan bulat adalah real (beberapa literatur menyebutnya floating point)

Ranah Nilai

Sebagaimana halnya pada tipe bilangan bulat, secara teoritis tipe bilangan riil memiliki ranah nilai yang tidak terbatas. Rentang nilainya adalah dari minus tidak hingga sampai plus tidak hingga.

Di dalam komputer, tipe real mempunyai rentang nilai yang terbatas, bergantung pada processor dan kompilator yang digunakan. Di dalam kompilator Pascal misalnya, tipe real dapat direpresentasikan ke dalam empat macam tipe, yaitu real, single, double, dan extended. Rentang nilai positif untuk ke empat tipe tersebut adalah:

Tipe Rentang Nilai Format

Byte 2.9 x 10¯³⁹ ... 1.7 x 10¯³⁸ 6 byte Single 1.5 x 10¯⁴⁵ ... 3.4 x 10³⁸ 4 byte Double 5.0 x 10¯³ ²⁴ ... 1.7 x 10 ³°⁸ 8 byte Extended 3.4 x 10¯⁴⁹³² ... 1.1 x 10⁴⁹³² 10 byte

Di dalam bahasa C, hanya ada dua tipe untuk bilangan riil, yaitu float dan double; float adalah bilangan riil berpresisi tunggal (single-precision), sedangkan double adalah bilangan riil berpresisi ganda (double-precision).

Qualifer long dapat digunakan untuk menghasilkan ukuran tipe bilangan riil yang berbeda; long double menspesifikasikan tipe bilangan riil yang berpresisi-extended.

d. Karakter

Yang termasuk ke dalam karakter adalah semua huruf abjad, semua tanda baca, angka „0‟, „1‟, ..., „9‟, dan karakter-karakter khusus seperti „&‟, „^‟, „%‟, „#‟, „@‟, dan sebagainya. Karakter kosong (null) adalah karakter yang panjangnya nol, dan lambangnya dengan “.

Nama Tipe

Nama tipe untuk karakter adalah char.

Ranah Nilai

Ranah karakter adalah semua huruf di dalam alfabet („a‟ ... „z‟, „A‟ ... „Z‟), angka desimal (0 .. 9), tanda baca („.‟, „:‟, „!‟, „?‟, „.‟, dan lain-lain), operator aritmatika („+‟, „-„, „*‟, „/‟), dan karakter-karakter khusus seperti

(„$‟,‟#‟, „@‟, „^‟, „~‟, dan lain-lain). Daftar karakter buku yang lengkap dapat dilihat didalam buku-buku yang memuat tabel ASCII.

Konstanta

Konstanta karakter harus diapit oleh tanda petik tunggal. Contoh konstanta karakter misalnya:

„h‟ „y‟ „.‟ „ „ „p‟ „+‟ „9‟

„0‟ „$‟

Hati-hati menuliskan bahwa „9‟ adalah karakter, tetapi 9 adalah integer!

Operasi

Operasi yang dapat dilakukan pada tipe karakter adalah operasi perbandingan. Operator perbandingan yang berlaku untuk tipe karakter adalah:

= (sama dengan)

≠ (tidak sama dengan)

< (lebih kecil)

> (lebih besar)

≥ (lebih besar atau sama dengan)

Seperti halnya pada tipe bilangan bulat, tipe karakter juga mempunyai keterurutan (successor dan predecessor) yang ditentukan oleh cara pengodeannya di dalam komputer, misalnya pengodean ASCII. Karena adanya keterurutan tersebutlah maka kita dapat mendefinisikan operator <, ≤, >, dan ≥ pada tipe karakter. Operasi dengan operator perbandingan menghasilkan nilai boolean.

Misalnya, bila a dan b adalah peubah bertipe karakter, maka operasi a < b akan menghasilkan nilai benar atau salah bergantung pada keterurutan harga a dan b pada sistem pengodeannya.

Contoh:

„a‟ = „a‟ (hasil true)

„T‟ = „t‟ (hasil false)

„y‟ ≠ „Y‟ (hasil true)

„m‟ < „z‟ (hasil true)

„Q‟ > „Z‟ (hasil false)

e. String

String adalah untaian karakter dengan panjang tertentu. String sebenarnya bukan tipe dasar murni karena ia disusun dari elemen-elemen bertipe karakter. Namun,

karena tipe string sering dipakai dalam pemrograman, maka string dapat diperlakukan sebagai tipe dasar.

Nama Tipe

Nama tipe string adalah string Ranah Nilai

Ranah nilai untuk tipe string adalah deretan karakter yang telah didefinisikan pada ranah karakter.

Konstanta

Semua konstanta string harus diapit oleh tanda petik tunggal. Contoh-contoh konstanta string misalnya:

„BANDUNG‟

„ganesha‟

„Jl. Pahlawan No. 76‟

„Jurusan Teknik Informatika‟

„ ...‟

„ABCD765‟

„K7685302‟

„m‟

String kosong (null) adalah string yang panjangnya nol, dan dilambangkan dengan “. Dengan kata lain, string kosong sama dengan karakter kosong.

Operasi

Operasi terhadap data bertipe string didefinisikan dua macam:

1. Operasi Penyambungan (Concatenation) Operator: +

Operator “+” yang dimaksudkan di sini berarti penyambungan. Bila a dan b adalah peubah bertipe string, maka a + b sama dengan ab.

Contoh :

„Teknik‟+„INFORMATIKA‟=„TeknikINFORMATIKA‟

„Teknik‟+ „INFORMATIKA‟ = „Teknik INFORMATIKA‟

„aaa‟ + „bbb‟ + „cc‟ = „aaa bbbcc‟

„1‟ + „2‟ = „12‟ dan „2‟ + „1‟ = „21‟ (namun 1 + 2 = 3, mengapa?) 2. Operasi Perbandingan

Operator:

= (sama dengan)

≠ (tidak sama dengan)

< (lebih kecil)

> (lebih besar)

≤ (lebih kecil atau sama dengan)

≥ (lebih besar atau sama dengan)

Operasi perbandingan, seperti halnya pada karakter, menghasilkan nilai boolean (true atau false). Bila dua string dibandingkan, maka yang terjadi adalah perbandingan elemen-elemen karakter dari kedua string pada posisi yang sama.

Contoh:

„abcd‟ = „abc‟ (hasil: false)

„aku‟ < „AKU‟ (hasil: true)

String yang disusun oleh gabungan numerik dan karakter sering dinamakan alfanumerik. Misalnya

„K7685302‟, „D5432AB‟, dan sebagainya.

2.2.2 Tipe Bentukan

tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram (user defined type data). Tipe bentukan disusun oleh satu atau lebih tipe dasar. Ada dua macam tipe bentukan:

1. Tipe dasar yang diberikan nama dengan nama tipe baru

Kadang-kadang pemrograman ingin memberi nama baru terhadap tipe dasar yang sudah dikenal. Alasan pemberian nama baru mungkin agar nama baru tersebut

lebih “akrab” dan lebih mudah diinterpretasi oleh orang yang membaca teks algoritma.

Kita dapat memberi nama baru untuk tipe dasar tersebut dengan kata kunci type. Ranah nilai, cara menulis konstanta, dan operasi-operasi terhadap tipe baru tersebut tidak berubah, tetap sama dengan tipe dasar aslinya.

Contoh: type bilangan bulat: integer

Bilangan bulat adalah tipe bilangan bulat yang sama saja dengan tipe integer. Apabila kita mempunyai sebuah peubah (variabel) yang bernama P dan bertipe bilangan bulat, peubah p tersebut sama saja bertipe integer.

2. Tipe terstruktur

Tipe terstuktur adalah tipe yang berbentuk rekaman (record). Rekaman disusun oleh satu atau lebih field. Tipe field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya.

Nama rekaman ditentukan sendiri oleh pemrogram.

Field 1 Field 2 Field 3 ... Field N

Gambar 7. tipe terstruktur dengan N buah Field

Contoh-contoh dibawah ini memperlihatkan bagaimana mendefenisikan tipe bentukan untuk tipe terstuktur

a. Titik dalam koordinat kartesian dinyatakan sebagai (x, y), dengan x adalah nilai absis dalam arah sumbu X dan Y adalah nilai ordinat dalam arah sumbu Y. Kita dapat mendefinisikan titik sebagai tipe bentukan baru dengan x dan y sebagaimana nama field-nya.

X Y

Cara menuliskan tipe Titik:

Type Titik : record < X : real, Y : real >

Atau

Type Titik : record < X, Y : real>

Kata kunci record menyatakan bahwa titik adalah tipe terstruktur. Jika di deklarasikan p adalah peubah (variable) bertipe titik, maka cara mengacu tiap field pada p adalah:

P.x P.y

Tipe Titik di definisikan sebagai berikut:

Nama tipe : Titik Ranah nilai : (real, real) Contoh konstanta : <2.7, 13.2>

<-1.4, -6.5>

<3.034, -10.12>

Operasi : operasi aritmatika bilangan riil terhadap x dan y operasi perbandingan terhadap x dan y

b. Bilangan kompleks adalah bilangan yang dapat dinyatakan sebagai a+bi dengan a dan b riil sedangkan i=√-1. Misalkan 4.0 + 3.8i, 9.4 – 2.5i, dan sebagaimana. Kita dapat menyatakan sebuah bilangan kompleks sebagai tipe rekaman dengan a dan b sebagai nama field-nya.

a b

Cara menuliskan tipe kompleks:

Type kompleks: record <a:real, b:real>

Jika dideklarasikan k adalah peubah bertipe kompleks, maka cara mengacu tiap field pada K adalah:

K.a K.b

Definisi tipe kompleks sebagai berikut:

Nama tipe : kompleks Ranah nilai : (real, real)

Contoh konstanta : <4.0, 3.8>, <9.4, 2.5>, <23.034, -100.0>

Operasi : - Operasi aritmetik bilangan riil terhadap a dan b

- Operasi perbandingan terhadap masing-masing field

c. Didefinisikan tipe terstruktur yang mewakili tanggal dalam kalender masehi. Hari dinyatakan sebagai tanggal (dd), bulan (mm), dan tahun (yy), misalnya 10-08-1999.

dd mm yy

Cara menuliskan tipe tanggal:

Type tanggal : record

<dd : integer, {1 ... 31}

mm : integer, {1 ... 12}

yy : integer { > 0 }

>

Jika D adalah peubah bertipe tanggal, maka cara mengacu tiap field:

D. dd D. mm D.yy

Tipe tanggal didefinisikan sebagai berikut:

Nama tipe : tanggal

Ranah nilai : sesuai ranah masing-masing field Contoh konstanta : <12, 7, 1997>, <31, 12, 1980>, <29, 2,

1980>

Operasi : - operasi aritmetik bilangan bulat terhadap tiap field.

- operasi perbandingan terhadap masing-masing field

d. Didefinisikan tipe terstruktur yang mewakili jam.

Jam dinyatakan sebagai jam (hh), menit (mm), dan detik (ss), contohnya 12:45:10 (jam 12 lewat 45 menit lewat 10 detik). Misalkan tipe bentukan tersebut diberi nama jam.

dd mm yy

Cara menuliskan tipe jam:

Type jam : record

<hh : integer, {0 ... 23}

mm : integer, {0 ... 59}

yy : integer {0 ... 59}

>

Jika J adalah peubah bertipe jam, maka cara mengacu tiap field:

J. hh J. mm J.ss

Tipe jam didefinisikan sebagai berikut:

Nama tipe : jam

Ranah nilai : sesuai ranah masing-masing field

Contoh koonstanta : <12, 45, 10>, <23, 12, 19>, <9, 17, 8>

Operasi : - Operasi aritmetik bilangan bulat terhadap tiap field

- Operasi perbandingan terhadap masing-masing field

e. Tipe terstruktur untuk jadwal kereta api. Jadwal keberangkatan kereta api terdiri atas informasi nomor kereta api (NoKA), kota asal (KotaAsal), kota tujuan (KotaTujuan), jam berangkat (JamBerangkat), dan jam tiba (JamTiba).

Cara menuliskan tipe jadwal_KA:

Type jadwal_KA : record

<NoKA : string, KotaAsal : string, JamBerangkat : Jam, KotaTujuan : string,

JamTiba : Jam

>

Jika JKA adalah peubah bertipe Jadwal_KA, maka cara mengacu tiap-tiap field:

JKA. NoKA JKA. KotaAsal JKA. JamBerangkat JKA. JamBerangkat. hh JKA. JamBerangkat. mm JKA. JamBerangkat. ss JKA. KotaTujuan

JKA. JamTiba. hh JKA. JamTiba. mm JKA. JamTiba. ss

Tipe Jadwal_KA didefinikan sebagai berikut:

Nama tipe : Jadwal_KA

Ranah nilai : sesuai ranah masing-masing field

Contoh konstanta : <‟KA01‟, „Jakarta‟, <17, 2, 0>,

„Semarang‟, <05, 54, 0> ><‟KA24‟>,

„Bandung‟, <9, 40, 12>, „Solo‟, <14, 10, 50> >

Operasi : sesuai operasi untuk masing-masing tipe field.

f. NilMhs adalah nama tipe terstruktur yang menyatakan nilai ujian seorang mahasiswa untuk suatu mata kuliah (MK) yang ia ambil. Data setiap mahasiswa adalah NIM (Nomor Induk Mahasiswa), nama mahasiswa, kode mata kuliah yang ia ambil, dan nilai mata kuliah tersebut.

NIM NamaMhs KodeMK Nilai

Cara menuliskan tipe NilMhs:

Type NilMhs : record

< NIM : integer, {Nomor Induk Mahasiswa}

Nama : string, {nama mahasiswa}

KodeMK : string, {kode mata kuliah}

Nilai : char {indeks nilai MK (A/B/C/D/E)}

Jika didefinisikan M adalah peubah bertipe NilMhs, maka cara mengacu tiap field pada rekaman M adalah:

M. NIM M. NamaMhs M. KodeMK M. Nilai

Tipe NilaiMhs didefinisikan sebagai berikut:

Nama Tipe : NilMhs

Ranah nilai : sesuai ranah masing-masing field Contoh konstanta: <13596001, „Amir Ali‟,‟FI32A‟,‟A‟>

<13597010,‟Wati Siregar‟,‟MA211‟,‟C‟>

Operasi : - Operasi aritmetik bilangan bulat terhadap NIM

- Operasi string terhadap NamaMhs, KodeMK, Nilai

g. Contoh berikut menyajikan struktur tipe bentukan yang cukup kompleks. Misalkan kita ingin menyimpan data nilai-nilai mata kuliah yang diambil setiap mahasiswa. Data yang disimpan di dalam struktur rekaman sebagai berikut:

1. NIM (Nomor Induk Mahasiswa) 2. NamaMhs (nama mahasiswa)

3. Mata kuliah yang diambil mahasiswa tersebut, yang terdiri atas:

 Kode mata kuliah

 Nama mata kuliah

 Nilai mata kuliah

Cara menuliskan tipe mata kuliah:

Type MataKuliah : record

< KodeMK : string, {kode mata kuliah}

NamaMK : string, {nama mata kuliah}

Nilai : {indeks nilai MK (A/B/C/D/E)}

>

Type NilMhs : record

<NIM : string, {Nomor Induk Mahasiswa}

NamaMhs : string, {nama mahasiswa}

MK : MataKuliah

>

2.3 Pengertian Variabel Data pada C++ tersusun dari:

 Variabel

 Konstanta

Variabel digunakan dalam program untuk menyimpan suatu nilai, nilai yang ada padanya dapat diubah selama eksekusi program berlangsung. Sementara konstanta adalah kebalikan variabel yang sudah memilih ketetapan dan nilainya tidak dapat diubah (statis) selama eksekusi program berlangsung.

Untuk menggunakan variabel pada C++, kita harus mendeklarasikan tipe data yang akan digunakan. Sintaks penulisan deklarasi variabel adalah dengan menuliskan tipe data yang akan digunakan diikuti dengan identifier yang benar. Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih dahulu. Pengertian deklarasi disini berarti yang disimpan didalamnya.

Bentuk pendefinisian variabel:

Tipe daftar_variabel

Perhatikan contoh cara mendeklarasikan variabel dalam bahasa C++

Int a;

Float b;

Char kata;

Jika akan menggunakan tipe data yang sama untuk beberapa identifier maka dapat dituliskan dengan menggunakan tanda koma, contoh

Int a, b, c;

Float d, e, f;

2.4 Pengertian Konstanta

Setiap konstanta yang bertipe bilangan riil harus ditulis dengan tanda titik desimal. Contoh konstanta bertipe bilangan riil misalnya:

0.78 -14.2376 7.654000+E8 0.0 5 99.0

2.5 Pengetian Identifier atau Pengenalan

Identifier adalah untaian satu atau lebih huruf, angka, atau garis bawah ( _ ), panjang dari identifier, tidak terbatas, walaupun untuk beberapa kompiler hanya 32 karakter pertama saja yang dibaca sebagai identifier (sisanya diabaikan). Identifier harus selalu diawali dengan huruf atau garis bawah ( _ ).

Identifier adalah suatu nama yang bisa dipakai dalam pemrograman untuk menyatakan:

 Variabel

Ketentuan lainnya yang harus diperhatikan dalam menentukan identifier adalah tidak boleh menggunakan key word dari bahasa C++, di bawah ini adalah key word dalam C++:

Asm auto Bool Break Case

Catch char Class Const Const_ca

st

Namespace new Operato r

Private Protected Public Register Reinterp

r et_cast

Return Short Signed Sizeof Static Static_ca

st Struct

Switch Templat

e This Throw True

Try Typedef Typeid Typenam

e

Union Unsigned Using Virtual Void volatile Wchar_t

Sebagai tambahan, represetasi alternatif dari operator, tidak dapat digunakan sebagai identifier.

Contoh:

and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor,xor_eq

Catatan: bahasa C++ adalah bahasa yang “case sensitive”. Ini berarti identifier yang dituliskan dengan huruf kapital akan dianggap berbeda dengan identifier yang sama tetapi dituliskan dengan huruf kecil, sebagai contoh: variabel RESULT tidak sama dengan variabel result ataupun variabel Result.

2.6 Pengertian Operasi atau Operator

Operasi terhadap bilangan bulat ada dua macam, yaitu operasi aritmatika dan operasi perbandingan.

Operator yang digunakan pada masing-masing operasi

disebut operator aritmatika dan operator perbandingan (atau operator relasional).

a. Operasi Aritmatika

Operasi aritmatika terhadap bilangan bulat dengan sembarang operator aritmatika menghasilkan nilai yang bertipe bilangan bulat juga. Operator aritmatika yang didefinisikan pada bilangan bulat adalah:

+ (tambah) - (kurang)

* (kali) div (bagi)

mood (sisa hasil bagi)

operator div (div=divide) adalah operator bagi yang memberikan hasil pembagian berupa bilangan bulat, sedangkan mod (mod=modulo) memberikan sisa hasil bagi.

Contoh-contoh operasi aritmatika bilangan bulat beserta hasil operasinya:

3+10 (hasil 13) 87-31 (hasil 56) 5*10 (hasil 50) 10 div 3 (hasil 3)

10 mod 3 (hasil 1) 20 div 5 (hasil 4) 20 mod 5 (hasil 0)

Objek yang dioperasikan disebut operand. Misalnya pada operasi a+b, masing-masing a dan b adalah operand, sedangkan “+” adalah operatornya. Semua operator diatas membutuhkan dua buah operand dalam pengoperasiannya, sehingga mereka disebut juga operator biner. Khusus

Objek yang dioperasikan disebut operand. Misalnya pada operasi a+b, masing-masing a dan b adalah operand, sedangkan “+” adalah operatornya. Semua operator diatas membutuhkan dua buah operand dalam pengoperasiannya, sehingga mereka disebut juga operator biner. Khusus

Dalam dokumen ALGORITMA DAN PEMROGRAMAN PASCAL DAN C++ (Halaman 42-118)

Dokumen terkait