masalah Pemilihan Processor, berdasarkan benchmark elemen-elemen algoritma Greedy-nya adalah:
a. Himpunan kandidat: himpunan hardware yang terdiri dari
Processor, Memory dan Graphic card b.
Himpunan solusi: Kombinasi Processor , Memory dan Graphic card dengan Benchmark terbaik namun dengan total harga yang
tidak melebihi budget maksimum c.
.Fungsi seleksi: Seleksi Processor, Memory dan Graphic card agar mendapat performa optimum dan tidak melebihi budget maksimum
yang tersedia d.
Fungsi obyektif: Budget maksimum yang tersedia.
2.7 Sekilas Tentang Bahasa Pemrograman C
Bahasa C merupakan bahasa pemrogranam tingkat menengah.Pada tahun 1972 bahasa C pertama kali dirancang oleh Dennis M. Ritchie di Bell Laboratories.
Pada tahun 1978 Dennis dan Brian W. Kerninghan mempublikasikan bahasa C melalui The C Programing Language sehingga bahasa C dikenal banyak orang.
Pada tahun 1989 akhirnya bahasa C distandarisasi ANSI American National Standard Institude sehingga menjadi bahasa pemrograman standar hingga saat
ini.Kompilernya dapat dibuat pada platform yang berbeda.
Universitas Sumatera Utara
includestdio.h Int main {
printf“Selamat Datang di Dev C++”; getch ;
}
Penjelasan dari kode program diatas adalah : 1.
Pada baris pertama terdapat include stdio.h, bagian ini disebut
preprocessor directive yang artinya bagian yang digunakan untuk mengikut-sertakan berkas-berkas file headerlibrary yang berisi fumgsi-
fungsi yang ada pada program yang akan dibuat pada baris-baris bawahnya. File yang diikutsertakan bernama stdio.h yang terletak disuatu
direktori pada instalasi Dev C++. 2.
Pada baris selanjutnya terdapat int main . Inimerupakan judul fungsi utama program yang bernama fungsi main yang menggembalikan nilai
berupa integer bilangan bulat negatif ataupun positif. Fungsi main ini adalah fungsi yang wajib ada di setiap kode program yang ditulis
menggunakan bahasa C. Tanda { merupakan awal program.
3.
Pada baris berikutnya terdapat printf“Selamat Datang di Dev C++”;.
Hal ini merupakan perintah untuk menampilkan output dilayar monitor berupa tulisan “Selamat Datang di Dev C++” tanpa tanda kutip. Perintah
untuk menampilkan tulisan ke layar disebut dengan fungsi printf yang
menerima masukan berupa kalimat yang ingin ditampilkan. Tanda titik
Universitas Sumatera Utara
koma harus selalu dituliskan untuk member tanda akhir dari suatu baris perintah.
4.
Pada baris berikutnya terdapat getch ;, digunakan untuk menghentikan
layar tampilan sejenak sampaipengguna menekan tombol yanga ada pada keyboard. Jadi fungsinya adalah menunggu penekanan tombol tertentu dan
kemudian program akan mati terminated. 5.
Baris terakhir berisi } yang berarti akhir dari program.
Bahasa C disebut juga bahasa pemrograman tersturktur, fungsioanal karena
strukturnya menggunakan
fungsi-fungsi sebagai
bagian subroutinemodule.Fungsi selain fungsi utama disebut subroutinemoduledan
ditulis setelah library. Jika fungsi-fungsi diletakkan pada file pustaka librarydan akan dipakai di suatu program, maka nama file header-nya harus
dilibatkan dalam program menggunakan preprocessordirective include.
Suatu program C minimal harus memiliki fungsi main. Tanpa fungsi itu
maka program C tidak akan dapat dieksekusi, walau dapat dikompilasi. Struktur program bahasa C adalah sebagai berikut :
preposessor directive
Void main {
statement; preposessor directive
int main{
statement;
Universitas Sumatera Utara
Statement adalah suatu baris intruksiperintah tertentu.Statement menyebabkan suatu tindakan dilakukan oleh komputer.Sedangkan preprossesor
directive adalah bagian yang berisi pengikutsertaan file atau berkas-berkas fungsi maupun pendefinisian konstanta atau fungsi makro tertentu.
Tabel 2.1 Tabel contoh statement
IntruksiStatement Tindakan
A = bc ; Menghitung
printf“Antonius Rahmat C”; Menampilkan literal string
scanf“f”,Celcius; Menerima input data
IfN0printf“negatif”; Mengendalikan proses
2.7.1 Identifier, Keywords dan Tipe Data Pada Bahasa C
Suatu program harus menyimpan nlai-nilai tertentu pada memorinya untuk digunakan selama pemrosesan komputasi program.Ukuran tempat penyimpanan
statement; statement;
} statement;
statement;
}
Gambar 2.5 Struktur Program C
Universitas Sumatera Utara
sangat bergantung pada besar memori yang disediakan oleh kompiler program tersebut. Bahasa C juga harus menyimpan nilai-nilai yang dimasukkan pengguna
agar bias diproses lebih lanjut didalam memori.Untuk menyimpan nilai-nilai itu dibutuhkan suatu penamaan yang unik agar tidak terjadi kerancuan dengan
program lain yang sama-sama berjalan diatas sistem operasi yang ada.
Tabel 2.232 Keywords pada C
Auto Double
Int Switch
Break Else
Long Typedef
Case Enum
Register Union
Char Extern
Return Unsigned
Const Float
Short Void
Continue For
Signed Volatile
Default Goto
Sizeof While
Do If
Static Struct
Semua identifier digunakan untuk menyimpan data pada memori komputer untuk keperluaan komputasi.Penyimpanan data tentu tidak bisa dilakukan tanpa
mengetahui secara pasti seberapa kemampuan suatu identifier untuk menyimpan data.Jenis dan ukurannya disebut tipe data.Tipe data diatur dan dikelompokkan
menjadi dua, yaitu tipe data numerik dan tipe data non-numerik. 1. Tipe data numerik
Tipe data ini mampu menampung semua nilai numeric mulai dari bilangan
Universitas Sumatera Utara
bulat dan pecahan.Tipe data numerik dibagi menjadi beberapa jenis.Nama tipe data numerik yang dikenal di dalam bahasa C, yaitu tipe data bilangan
bulat dan tipe data pecahan.
Tabel 2.3 Ukuran tipe data bilangan bulat
Type Length
Range
short int 16 bits
-32,768 to 32, 767 Unsigned int
32 bits 0 to 4,294,967,295
Int 32 bits
-2,147,483,648 to 2,147,483,648 unsigned long
32 bits 0 to 4,294,967,295
Enum 16 bits
-2,147,483,648 to 2,147,483,648 Long
32 bits -2,147,483,648 to 2,147,483,648
Tabel 2.4 Tipe data bilangan pecahan
Type Length
Range
Float 32 bits
3.4 x 10-38 to 3.4 x 10+38 Double
64 bits 1.7 x 10-308 to 1.7 x 10+308
long double 64 bits
3.4 x 10-4932 to 3.4 x 10+4932
2. Tipe data non-numerik Tipe data non-numerik mampu menampung semua nilai non-numerik,
misalnya karakter dan pointer.
Universitas Sumatera Utara
Tabel 2.5 Tipe data non-numerik
Type Length
Range
Near pointer 32 bits
Not applicable Far pointer
32 bits Not applicable
Unsigned char 8 bits
0 to 255 Char
8 bits -128 to 127
Yang perlu diperhatikan mengenai tipe data adalah nama dan range ukuran yang bias ditampung oleh tipe data tersebut. Hal ini sangat penting
mengigat ukuran sangat menentukan seberapa nilai yang bias dimasukkan ke dalam tipe data tersebut. Misalnya, tipe data char tidak akan dapat menerima
nilai lebih dari 127. Jika dipaksa untuk dimasuki nilai 130 misalnya, maka nilai yang disimpan akan menjadi tidak sesuai lagi sehingga nilainnya tidak bias
diprediksi. Fungsi yang digunakan untuk mengetahui ukuran suatu tipe data tertentu
adalah fungsi
sizeoffnamatipedata .
Misalnya:
sizeoffint
akan menghasilkan 32.
2.7.2 Escape Character dan Operator pada Bahasa C
Pada bahasa c terdapat beberapa karakter khusus yang diperlakukan secara spesial untuk tujuan tertentu sesuai dengan fungsi karakter khusus tersebut. Karakter
Universitas Sumatera Utara
khusus sering disebut escape character , yang diawali dengan karakter “\” tanpa
tanda kutip. Beberapa karakter khusus pada bahasa C adalah :
Tabel 2.6 Tabel Karakter Khusus
Karakter Escape Arti
\a Bunyi bel speaker komputer
\b Mundur satu spasi backspace
\f Ganti halaman from feed
\n Ganti baris baru new line
\r Ke kolom pertama baris yang sama carriage return
\t Tabulasi horizontal
\v Tabulasi vertikal
\0 Nilai kosong null
\ ’
Karakter petik tunggal \
” Karakter petik ganda
\\ Garis miring terbaik back slash
Tabel 2.7 Tabel Operator
Operator category Operation
Arithmetic + -
Logical concatenation | | ~ | | true false
Universitas Sumatera Utara
String concatenation +
Increment, decrement ++ --
Shift Relational
== = = = Assignment
= += - = = = = | = = = = Member access
. Indexing
[ ] Cast
Conditional ?;
Delegate concatenation and removal
+ -
Object creation New C
Type information as is sizeof typeof
Overflow exception control Checked unchecked
Indiriction and Address - [ ]
2.8Dev C++
DEV C++ adalah software opensource yang banyak digunakan oleh para
programmer untuk membuat program dengan bahasa pemograman C++ atau C. Banyak yang memilih DEV C++ karena ukurannya yang kecil dan ringan
Universitas Sumatera Utara
sehingga tidak memakan banyak space ruang pada hardisk maupun memori komputer.Meskipun Software DEV C++ ukurannya kecil, namun DEV C++ sudah
dilengkapi dengan compiler sekaligus debugger sebagai beberapa fitur dalam program yang sangat diperlukan dalam membuat program.
Gambar 2.6 Tampilan Awal Dev C++
Untuk membuat halaman lembar kerja baru di Dev C++ baru caranya adalah sebagai berikut:
1. Pilih menu File
2. Kemudian klik New
3. Pilih dan klik Source File hingga muncul file baru yang siap ditulisi kode
program C.
Universitas Sumatera Utara
Gambar 2.7 Membuat halaman kerja baru di Dev C++
Dan untuk membuat project baru yaitu dengan cara sebagai berikut : 1. Pilih menu file
2. Kemudian klik New
3. Klik Project dan kemudian akan keluar window seperti dibawah ini, lalu
klik console Applicationdan ok.
Universitas Sumatera Utara
Gambar 2.8 Membuat projek baru di Dev C++
Setelah anda selesai membuat kode programnya, simpanlah program tersebut dengan langkah-langkah berikut ini :
1. Pilih menu File
2. KlikSave dan pilihlah tempat penyimpanan file yang anda inginkan dan
beri nama misalnya contoh.c. 3.
Untuk menjalankan program yang sudah di buat atau di simpan yaitu tekan F9 atau klik menu execute lalu pilih compile.
Agar kita tidak kesulitan dalam memahami serta menggunakan kontrol - kontrol atau komponen
– komponen yang terdapat dalam Dev C++ 6.0. Serta kita tidak akan mengalami kesulitan yang berarti untuk membuat suatu
Aplikasi yang baru nanti.
Universitas Sumatera Utara
Beberapa jendela area kerje Dev C++ : 1.
Title Bar
Baris judul yang akan menampilkan file project serta nama dokumen yang sedang aktif
2. Menu Bar
Baris menu yang terdiri dari 10 menu utama, masing - masing memiliki sub menu dan perintah lengkap dengan shorcut key.
3. Standar Toolbar
Baris ini mempunyai fungsi yang sama dengan tool Standar pada umumnya seperti fungsi untuk menyimpan, mengcopy, menambah menu tampilan program,
mengatur tampilan program dan masih banyak lagi. 4.
Toolbar Builde Merupakan toolbar yang berfungsi untuk menjalankan atau mengexecute program
yang telah Anda buat. 5.
Workspace Pane Lembar yang berfungsi untuk melihat sub - sub project yang telah kita bangun,.
Lembar ini memiliki 3 bagian untuk melihat sub - sub project yaitu Class View, Resources View, File View.
6. Output Pane
Lembar ini berfungsi untuk menampilkan informasi kompiler dari program yang telah Anda buat, dan menampilkan setiap kesalahan dalam pembuatan Aplikasi.
7. Kontrol MFC Microsoft Foundation Class
Universitas Sumatera Utara
Toolbar yang berisi semua komponen - komponen yang memiliki banyak fungsi untuk membangun suatu aplikasi pemrograman Visual.
Universitas Sumatera Utara
BAB 3
ANALISIS DAN PERANCANGAN PROGRAM
3.1 Analisis Algoritma Greedy Lintasan Terpanjang.