Laporan DKP Kelompok 1 SISKOM 2012
-
Upload
eladoktarizo -
Category
Documents
-
view
495 -
download
9
Transcript of Laporan DKP Kelompok 1 SISKOM 2012
1
LAPORAN PRAKTIKUM
DASAR KOMPUTER DAN PEMROGRAMAN
2012
DISUSUN OLEH :
1. BAGUS LINGGA TUDANTO (NIM 21120110110033)
2. ANGGI ANUGRAHA PUTRA (NIM 21120111120001)
3. ELAD OKTARIZO (NIM 21120111120002)
KELOMPOK 1
MOBILE SYSTEM & SOFTWARE LABORATORY
JURUSAN TEKNIK SISTEM KOMPUTER FAKULTAS TEKNIK
UNIVERSITAS DIPONEGORO
SEMARANG
2012
2
KATA PENGANTAR
Puji syukur kehadirat Allah SWT atas segala limpahan rahmat serta
nikmat-Nya sehingga sampai saat ini masih diberikan kesempatan untuk menuntut
ilmu di Universitas Diponegoro dan dapat menyelesaikan laporan praktikum ini.
Semoga salawat dan salam tetap tercurah kepada Nabi Muhammad SAW yang
senantiasa kita nantikan syafa‟at Beliau di hari akhir nanti
Laporan ini disusun sebagai persyaratan dalam mengikuti Praktikum Dasar
Komputer dan Pemrograman 2012. Adapun isi dari laporan praktikum terdiri atas
laporan praktikum Hardware dan Sistem Operasi, Dasar Pemrograman Delphi 1,
Delphi 2, C#1, C#2, Java I, Java 2 dan PHP. Selain itu pada disertakan juga tugas
pendahuluan, serta makalah tugas akhir praktikum sebagai lampiran.
Tak lupa Penulis ucapkan terima kasih kepada :
1. Bapak Rinta Krida Lukmana ST. MT. selaku dosen mata kuliah Dasar
Komputer dan Pemrograman.
2. Nor Tjahja Moekti selaku koordinator Praktikum Dasar Komputer dan
Pemrograman 2011.
3. Seluruh asisten Praktikum Dasar Komputer dan Pemrograman 2012 yang
dengan sabar telah membimbing Penulis dan rekan-rekan dalam
menyelesaikan laporan ini.
4. Seluruh teman-teman yang membantu penulis, serta
5. Berbagai pihak yang terlibat yang tidak dapat penulis tuliskan satu persatu.
Dalam penyusunan laporan praktikum ini, penulis menyadari bahwa
laporan ini jauh dari kesempurnaan. Oleh sebab itu segala kritik dan saran yang
membangun amat Penulis harapkan demi kemajuan individu dan bersama.
Semoga laporan ini dapat berguna bagi siapapun yang membacanya.
Semarang, Juni 2012
Kelompok 1
3
DAFTAR ISI
Halaman Cover.............................................................................................................
Halaman Pengesahan ...................................................................................................
Kata Pengantar ............................................................................................................ i
Daftar Isi..................................................................................................................... ii
Daftar Gambar ........................................................................................................... iv
Daftar Tabel .......................................................................................................... xvii
Abstrak .................................................................................................................. xviii
BAB I PENDAHULUAN
1.1. Latar Belakang ............................................................................................. 1
1.2. Tujuan .......................................................................................................... 1
1.3. Manfaat ........................................................................................................ 2
1.4. Sistematika Penulisan .................................................................................. 2
BAB II Pengenalan Hardware, Linux, dan Windows
2.1. Tujuan .......................................................................................................... 5
2.2. Dasar Teori................................................................................................... 5
2.3. Analisa dan Pembahasan............................................................................ 24
2.4. Kesimpulan ................................................................................................ 86
BAB III Dasar Pemrograman Delphi I
3.1. Tujuan ........................................................................................................ 88
3.2. Dasar Teori................................................................................................. 88
3.3. Analisa dan Pembahasan.......................................................................... 101
3.4. Kesimpulan .............................................................................................. 140
BAB IV Dasar Pemrograman Delphi II
4.1. Tujuan ...................................................................................................... 141
4.2. Dasar Teori............................................................................................... 141
4.3. Analisa dan Pembahasan.......................................................................... 148
4.4. Kesimpulan .............................................................................................. 171
BAB V Dasar Pemrograman C# I
5.1. Tujuan ...................................................................................................... 172
5.2. Dasar Teori............................................................................................... 173
4
5.3. Analisa dan Pembahasan.......................................................................... 180
5.4. Kesimpulan .............................................................................................. 215
BAB VI Dasar Pemrograman C# II
6.1. Tujuan ...................................................................................................... 216
6.2. Dasar Teori............................................................................................... 217
6.3. Analisa dan Pembahasan.......................................................................... 224
6.4. Kesimpulan .............................................................................................. 249
BAB VII Dasar Pemrograman Java I
7.1. Tujuan ...................................................................................................... 251
7.2. Dasar Teori............................................................................................... 251
7.3. Analisa dan Pembahasan.......................................................................... 269
7.4. Kesimpulan .............................................................................................. 281
BAB VIII Dasar Pemrograman Java II
8.1. Tujuan ...................................................................................................... 282
8.2. Dasar Teori............................................................................................... 282
8.3. Analisa dan Pembahasan.......................................................................... 287
8.4. Kesimpulan .............................................................................................. 304
BAB IX Dasar Pemrograman PHP
9.1. Tujuan ...................................................................................................... 305
9.2. Dasar Teori............................................................................................... 305
9.3. Analisa dan Pembahasan.......................................................................... 311
9.4. Kesimpulan .............................................................................................. 336
BAB X PENUTUP
10.1. Kesimpulan ..................................................................................................
10.2. Saran ............................................................................................................
Daftar Pustaka ..............................................................................................................
LAMPIRAN (Makalah Tugas Akhir)
5
DAFTAR GAMBAR
Gambar 2.1 Screenshot Struktur Kerja Komputer ................................................................ 6
Gambar 2.2 Screenshot Motherboard ................................................................................... 25
Gambar 2.3 Screenshot Processor ......................................................................................... 26
Gambar 2.4 Screenshot RAM ............................................................................................... 27
Gambar 2.5 Screenshot Harddisk .......................................................................................... 28
Gambar 2.6 Screenshot SATA .............................................................................................. 29
Gambar 2.7 Screenshot ATA ................................................................................................ 30
Gambar 2.8 Screenshot VGA Card ....................................................................................... 30
Gambar 2.9 Screenshot Monitor ........................................................................................... 31
Gambar 2.10 Screenshot Keyboard....................................................................................... 32
Gambar 2.11 Screenshot Mouse ........................................................................................... 32
Gambar 2.12 Screenshot Pemasangan Heatsink ................................................................... 34
Gambar 2.13 Screenshot Pemasangan RAM ........................................................................ 35
Gambar 2.14 Screenshot Pemasangan Motherboard ............................................................ 35
Gambar 2.15 Screenshot Pemasangan Kabel ........................................................................ 36
Gambar 2.16 Screenshot Pemasangan VGA Card ................................................................ 36
Gambar 2.17 Screenshot Pemasangan Sound Card .............................................................. 37
Gambar 2.18 Screenshot Pemasangan Drive ........................................................................ 38
Gambar 2.19 Screenshot pemasangan Optical Drive ............................................................ 39
Gambar 2.20 Screenshot Pemasangan Power Supply ........................................................... 40
Gambar 2.21 Screenshot Pengujian ...................................................................................... 40
Gambar 2.22 Screenshot Starting Windows ......................................................................... 41
Gambar 2.23 Screenshot Pemilihan Bahasa, Waktu, lay out Keyboard ............................... 41
Gambar 2.24 Screenshot Install Windows ............................................................................ 42
Gambar 2.25 Screenshot Memulai Set Up ............................................................................ 42
6
Gambar 2.26 Screenshot Persetujuan Lisensi ....................................................................... 42
Gambar 2.27 Screenshot Tipe Installasi................................................................................ 43
Gambar 2.28 Screenshot Tempat Penyimpanan Installasi .................................................... 43
Gambar 2.29 Screenshot Partisi Disk ................................................................................... 44
Gambar 2.30 Screenshot Proses Install ................................................................................. 44
Gambar 2.31 Screenshot Memberi Nama User..................................................................... 45
Gambar 2.32 Screenshot Pengaturan Pengaman ................................................................... 45
Gambar 2.33 Screenshot Pengaturan Product Key ............................................................... 46
Gambar 2.34 Screenshot Pilihan Proteksi Komputer ............................................................ 46
Gambar 2.35 Screenshot Pengaturan Zona Waktu ............................................................... 47
Gambar 2.36 Screenshot Pemilihan Lokasi Komputer ......................................................... 47
Gambar 2.37 Screenshot Akhir Pengaturan Windows .......................................................... 47
Gambar 2.38 Screenshot Tampilan Desktop Windows ....................................................... 48
Gambar 2.39 Screenshot Pilihan Bahasa Untuk Komputer Pada Linux ............................... 48
Gambar 2.40 Screenshot Starting Installation Linux ............................................................ 49
Gambar 2.41 Screenshot Pilihan Bahasa Untuk Installasi .................................................... 49
Gambar 2.42 Screenshot Pemilihan Lokasi Waktu............................................................... 50
Gambar 2.43 Screenshot Konfigurasi Keyboard I ................................................................ 50
Gambar 2.44 Screenshot Konfigurasi Keyboard II ............................................................... 51
Gambar 2.45 Screenshot Konfigurasi Keyboard III ............................................................. 51
Gambar 2.46 Screenshot Konfigurasi Jaringan ..................................................................... 51
Gambar 2.47 Screenshot Zona Waktu ................................................................................. 52
Gambar 2.48 Screenshot Pilihan Partisi Disk ....................................................................... 52
Gambar 2.49 Screenshot Pengaturan Partisi Disk................................................................. 53
Gambar 2.50 Screenshot Pilihan Pembuatan Partisi Baru .................................................... 53
Gambar 2.51 Screenshot Pengaturan Partisi ......................................................................... 54
7
Gambar 2.52 Screenshot Membuat Partisi Baru ................................................................... 54
Gambar 2.53 Screenshot Ukuran Partisi ............................................................................... 55
Gambar 2.54 Screenshot Tipe Partisi Primary ...................................................................... 55
Gambar 2.55 Screenshot Lokasi Partisi Disk ........................................................................ 56
Gambar 2.56 Screenshot Menyudahi Partisi Primary ........................................................... 56
Gambar 2.57 Screenshot Partisi Baru I ................................................................................. 57
Gambar 2.58 Screenshot Partisi Baru II ................................................................................ 57
Gambar 2.59 Screenshot Ukuran Partisi Disk....................................................................... 58
Gambar 2.60 Screenshot Tipe Partisi Disk ........................................................................... 58
Gambar 2.61 Screenshot Pengaturan Partisi Disk................................................................. 59
Gambar 2.62 Screenshot Cara Menggunakan Partisi Disk ................................................... 59
Gambar 2.63 Screenshot Selesai Pengaturan Partisi ............................................................. 60
Gambar 2.64 Screenshot Mengakhiri Pengaturan Partisi ..................................................... 60
Gambar 2.65 Screenshot Perubahan Nama Pengguna Baru ................................................. 61
Gambar 2.66 Screenshot Nama Pengguna Akun .................................................................. 61
Gambar 2.67 Screenshot Password Baru Pengguna ............................................................. 62
Gambar 2.68 Screenshot Verifikasi Password ...................................................................... 62
Gambar 2.69 Screenshot Mengenskripsi Direktori ............................................................... 62
Gambar 2.70 Screenshot Pengisian HTTP Proxy ................................................................. 63
Gambar 2.71 Screenshot Persetujan Instalasi ....................................................................... 63
Gambar 2.72 Screenshot Instalasi ......................................................................................... 63
Gambar 2.73 Screenshot Persetujuuan Pengaturan Waktu ke UTC ..................................... 63
Gambar 2.74 Screenshot Istalasi Selesai ............................................................................... 64
Gambar 2.75 Screenshot Starting Ubuntu ............................................................................. 64
Gambar 2.76 Screenshot Desktop Linux .............................................................................. 64
Gambar 2.77 Screenshot MD Kelompok .............................................................................. 65
8
Gambar 2.78 Screenshot MD Nama ..................................................................................... 65
Gambar 2.79 Screenshot MD NIM ....................................................................................... 66
Gambar 2.80Screenshot CD Kelompok ................................................................................ 66
Gambar 2.81 Screenshot CD Nama ...................................................................................... 67
Gambar 2.82 Screenshot CD NIM ........................................................................................ 67
Gambar 2.83 Screenshot CD ................................................................................................. 68
Gambar 2.84 Screenshot Tree ............................................................................................... 68
Gambar 2.85 Screenshot Date ............................................................................................... 69
Gambar 2.86 Screenshot CLS Sebelum Dijalankan ............................................................. 70
Gambar 2.87 Screenshot CLS Setelah Dijalankan ................................................................ 70
Gambar 2.88 Screenshot DIR ............................................................................................... 71
Gambar 2.89 Screenshot Time .............................................................................................. 72
Gambar 2.90 Screenshot Terminal Linux ............................................................................. 72
Gambar 2.91 Screenshot Masukkan Password Terminal ...................................................... 73
Gambar 2.92 Screenshot Masuk Dorektori ........................................................................... 73
Gambar 2.93 Screenshot Perintah Masuk Direktori Home ................................................... 73
Gambar 2.94 Screenshot Perintah masuk Home ................................................................... 74
Gambar 2.95 Screenshot Membuat Folder Kelompok 1 ....................................................... 74
Gambar 2.96 Screenshot Folder Pada Explorer .................................................................... 74
Gambar 2.97 Screenshot Masuk Folder ................................................................................ 75
Gambar 2.98 Screenshot Membuat Folder Anggi................................................................. 75
Gambar 2.99 Screenshot Folder Anggi Pada Explorer ......................................................... 75
Gambar 2.100 Screenshot Masuk folder Anggi .................................................................... 76
Gambar 2.101 Screenshot Buat folder NIM ......................................................................... 76
Gambar 2.102 Screenshot Folder NIM Pada Explorer ......................................................... 76
Gambar 2.103 Screenshot Masuk Folder NIM ..................................................................... 76
9
Gambar 2.104 Screenshot Perintah Memanggil Aplikasi Nano .......................................... 77
Gambar 2.105 Screenshot Tampilan Nano ........................................................................... 77
Gambar 2.106 Screenshot Pengisian Biodata ....................................................................... 77
Gambar 2.107 Screenshot Nano Setelah Disimpan .............................................................. 78
Gambar 2.108 Screenshot Nano ............................................................................................ 78
Gambar 2.109 Screenshot File .txt Pada Explorer ................................................................ 78
Gambar 2.110 Screenshot Terminal ...................................................................................... 79
Gambar 2.111 Screenshot Motherboard ............................................................................... 80
Gambar 2.112 Screenshot Prosessor ..................................................................................... 80
Gambar 2.113 Screenshot VGA ............................................................................................ 81
Gambar 2.114 Screenshot RAM ........................................................................................... 81
Gambar 2.115 Screenshot Power Supply .............................................................................. 81
Gambar 2.116 Screenshot Casing ......................................................................................... 82
Gambar 2.117 Screenshot hard Disk ..................................................................................... 82
Gambar 2.118 Screenshot Optical Drive .............................................................................. 83
Gambar 2.119 Screenshot Sound Card ................................................................................. 83
Gambar 2.120 Screenshot Heatsink ...................................................................................... 83
Gambar 2.121 Screenshot Perintah Hidden File Menggunakan Atribut I ............................ 84
Gambar 2.122 Screenshot Perintah Hidden File Menggunakan Atribut II ........................... 85
Gambar 3.1 Screenshot Tampilan Console Delphi ............................................................... 88
Gambar 3.2 Screenshot Items Delphi.................................................................................... 91
Gambar 3.3 Screenshot Tampilan Running Program Delphi................................................ 91
Gambar 3.4 Screenshot Source Code Program 1 .................................................................. 101
Gambar 3.5 Screenshot Runnign Program 1 ......................................................................... 102
Gambar 3.6 Screenshot Source Code Program 2 .................................................................. 102
Gambar 3.7 Screenshot Penggunaan Variabel ..................................................................... 103
10
Gambar 3.8 Screenshot Source Code Program 3 .................................................................. 104
Gambar 3.9 Screenshot Penggunaan Konstanta ................................................................... 104
Gambar 3.10 Screenshot Source Code Program 4 ................................................................ 105
Gambar 3.11 Screenshot Penggunaan Variabel Char ........................................................... 106
Gambar 3.12 Screenshot Source Code Program 5 ................................................................ 106
Gambar 3.13 Screenshot Penggunaan String ........................................................................ 107
Gambar 3.14 Screenshot Source Code Program 6 ................................................................ 108
Gambar 3.15 Screenshot Penggunaan Operasi Aritmatika ................................................... 108
Gambar 3.16 Screenshot Source Code Program 7 ................................................................ 109
Gambar 3.17 Screenshot Pengunaan Logika ........................................................................ 110
Gambar 3.18 Screenshot Source Code Program 8 ................................................................ 110
Gambar 3.19 Screenshot Penggunaan Operasi And ............................................................. 111
Gambar 3.20 Screenshot Source Code Program 9 ................................................................ 112
Gambar 3.21 Screenshot Penggunaan Operasi Or ................................................................ 112
Gambar 3.22 Screenshot Source Code Program 10 .............................................................. 113
Gambar 3.23 Screenshot Penggunaan Operasi Xor .............................................................. 114
Gambar 3.24 Screenshot Source Code Program 11 .............................................................. 114
Gambar 3.25 Screenshot Penggunaan Operasi Input ............................................................ 115
Gambar 3.26 Screenshot Source Code Program 12 .............................................................. 116
Gambar 3.27 Screenshot Penggunaan Statement If .............................................................. 117
Gambar 3.28 Screenshot Source Code Program 13 .............................................................. 118
Gambar 3.29 Screenshot Penggunaan Statement Case 1 ...................................................... 118
Gambar 3.30 Screenshot Penggunaan Statement Case 2 ...................................................... 119
Gambar 3.31 Screenshot Source Code Program 14 .............................................................. 120
Gambar 3.32 Screenshot Penggunaan Statement for ............................................................ 120
Gambar 3.33 Screenshot Source Code Program 15 .............................................................. 121
11
Gambar 3.34 Screenshot Penggunaan Statement down to .................................................... 122
Gambar 3.35 Screenshot Source Code Program 16 .............................................................. 122
Gambar 3.36 Screenshot Penggunaan Statement While ....................................................... 123
Gambar 3.37 Screenshot Source Code Program 17 .............................................................. 124
Gambar 3.38 Screenshot Penggunaan Statement Repeat ...................................................... 124
Gambar 3.39 Screenshot Source Code Program 18 dan Compile Operator ......................... 125
Gambar 3.40 Screenshot Source Code 1 Program Luas Bangun Datar ................................ 127
Gambar 3.41 Screenshot Source Code 2 Program Luas Bangun Datar ................................ 128
Gambar 3.42 Screenshot Source Code 3 Program Luas Bangun Datar ................................ 128
Gambar 3.43 Screenshot Source Code 4 Program Luas Bangun Datar ................................ 129
Gambar 3.44 Screenshot running awal Program Luas Bangun Datar .................................. 130
Gambar 3.45 Screenshot Program Luas Bangun Datar Inputan Awal 1............................... 130
Gambar 3.46 Screenshot Program Luas Bangun Datar Menu 1 ........................................... 130
Gambar 3.47 Screenshot Program Luas Bangun Datar (Hitung Lagi / Tidak) ..................... 131
Gambar 3.48 Screenshot Program Luasa Bangun Datar Inputan Awal 2 ............................. 131
Gambar 3.49 Screenshot Program Luas Bangun Datar Menu 2 ........................................... 132
Gambar 3.50 Screenshot Program Luas Bangun Datar Inputan Awal 3............................... 132
Gambar 3.51 Screenshot Program Luas Bangun Datar Menu Keluar Program ................... 133
Gambar 3.52 Screenshot Program Luas Bangun Datar (Input/Tidak) .................................. 133
Gambar 3.53 Screenshot Source Code 1 Program Luas Balok ............................................. 135
Gambar 3.54 Screenshot Source Code 2 Program Luas Balok ............................................. 136
Gambar 3.55 Screenshot Running Awal Program Luas Balok ............................................. 136
Gambar 3.56 Screenshot Running 2 Program Luas Balok ................................................... 137
Gambar 3.57 Screenshot Running 3 Program Luas Balok ................................................... 137
Gambar 3.58 Screenshot Running 4 Program Luas Balok ................................................... 137
Gambar 3.59 Screenshot Running 5 Program Luas Balok ................................................... 138
12
Gambar 3.60 Screenshot Running 6 Program Luas Balok ................................................... 138
Gambar 4.1 Screenshot Source Code Program 1 .................................................................. 149
Gambar 4.2 Screenshot Running Program 1 ......................................................................... 149
Gambar 4.3 Screenshot Source Code Program 2 .................................................................. 151
Gambar 4.4 Screenshot Running Program 2 Ketika Angka Ditemukan ............................... 151
Gambar 4.5 Screenshot Running Program 2 Ketika Angka Tidak Ditemukan .................... 151
Gambar 4.6 Screenshot Source Code Program 3 a .............................................................. 153
Gambar 4.7 Screenshot Source Code Program 3 (lanjutan) ................................................. 153
Gambar 4.8 Screenshot Runnign Program 3 ......................................................................... 153
Gambar 4.9 Screenshot Source Code Program 4 a ............................................................... 157
Gambar 4.10 Screenshot Source Code Program 4 (lanjutan) ............................................... 157
Gambar 4.11 Screenshot Source Code Program 4 (lanjutan) .............................................. 158
Gambar 4.12 Screenshot Running Program 4 ....................................................................... 158
Gambar 4.13 Screenshot Running Program 4 ....................................................................... 158
Gambar 4.14 Screenshot Source Code Porgram 5 ................................................................ 161
Gambar 4.15 Screenshot Sourcce Code Program 5 (lanjutan) .............................................. 161
Gambar 4.16 Screenshot Source Code Program 5 (lanjutan) ............................................... 162
Gambar 4.17 Screenshot Running Program 5 ....................................................................... 162
Gambar 4.18 Screenshot Running Program 5 ....................................................................... 162
Gambar 4.19 Screenshot Tampilan Program Tugas 1 .......................................................... 164
Gambar 4.20 Screenshot Running Program Tugas 1 (lanjutan) .......................................... 164
Gambar 4.21 Screenshot Running Program Tugas 1 (lanjutan) ........................................... 165
Gambar 4.22 Screenshot Running Program Tugas 1 (lanjutan) ........................................... 165
Gambar 4.23 Screenshot Running Program Tugas 2 ............................................................ 167
Gambar 4.24 Screenshot Running Program Tugas 2(lanjutan) ............................................ 167
Gambar 4.25 Screenshot Running Program Tugas 2 (lanjutan) ........................................... 168
13
Gambar 4.26 Screenshot Running Program Tugas 3 ............................................................ 169
Gambar 4.27 Screenshot Running Program Tugas 3 (lanjutan) ........................................... 169
Gambar 4.28 Screenshot Running Program Tugas 3 (lanjutan) ........................................... 170
Gambar 5.1 Screenshot Installasi C# Tahap 1 ...................................................................... 175
Gambar 5.2 Screenshot Installasi C# Tahap 2 ...................................................................... 175
Gambar 5.3 Screenshot Installasi C# Tahap 3 ...................................................................... 176
Gambar 5.4 Screenshot Installasi C# Tahap 4 ...................................................................... 176
Gambar 5.5 Screenshot Installasi C# Tahap 5 ..................................................................... 177
Gambar 5.6 Screenshot Source Code Program 1 .................................................................. 180
Gambar 5.7 Screenshot Running Program 1 ......................................................................... 180
Gambar 5.8 Screenshot Source Code Program 2 .................................................................. 182
Gambar 5.9 Screenshot Running Program 2 ......................................................................... 182
Gambar 5.10 Screenshot Source Code Porgram 3 ................................................................ 183
Gambar 5.11 Screenshot Running Program 3 ....................................................................... 183
Gambar 5.12 Screenshot Source Code Program 4 ................................................................ 184
Gambar 5.13 Screenshot Running Program 4 ....................................................................... 185
Gambar 5.14 Screenshot Source Code Program 5 ................................................................ 186
Gambar 5.15 Screenshot Running Program 5 ....................................................................... 186
Gambar 5.16 Screenshot Source Code Program 6 ................................................................ 188
Gambar 5.17 Screenshot Running Program 6 Jika Alas dan Tinngi <>0 ............................. 189
Gambar 5.18 Screenshot Running Program 6 Jika Alas dan Tinggi = 0 .............................. 189
Gambar 5.19 Screenshot Source Code program 7 ................................................................ 191
Gambar 5.20 Screenshot Running Program 7 jika Nilai > 80 .............................................. 191
Gambar 5.21 Screenshot Running Program 7 jika Nilai < 80 .............................................. 192
Gambar 5.22 Screenshot Source Code Program 8 ................................................................ 194
Gambar 5.23 Screenshot Running Program 8 ....................................................................... 194
14
Gambar 5.24 Screenshot Source Code Program 9 ................................................................ 195
Gambar 5.25 Screenshot Running Program 9 ....................................................................... 196
Gambar 5.26 Screenshot Source Code Program 10 .............................................................. 197
Gambar 5.27 Screenshot Running Porgram 10 ..................................................................... 197
Gambar 5.28 Screenshot Source Code Program 11 .............................................................. 199
Gambar 5.29 Screenshot Running Program 11 ..................................................................... 199
Gambar 5.30 Screenshot Source Code Program Latihan 1 ................................................... 203
Gambar 5.31 Screenshot Running Program Latihan 1.......................................................... 204
Gambar 5.32 Screenshot Source Code Program Latihan 2 ................................................... 205
Gambar 5.33 Screenshot Running Program Latihan 2.......................................................... 206
Gambar 5.34 Screenshot Source Code Program Latihan 3 ................................................... 207
Gambar 5.35 Screenshot Running Program Latihan 3.......................................................... 208
Gambar 5.36 Screenshot Source Code Program Studi Kasus 1 ............................................ 210
Gambar 5.37 Screenshot Running Program Studi Kasus 1................................................... 210
Gambar 5.38 Screenshot Source Code Program Studi Kasus 2 ............................................ 213
Gambar 5.39 Screenshot Running Program Studi Kasus 2................................................... 213
Gambar 5.40 Screenshot Running Program Studi Kasus 2 jika Form Kosong .................... 213
Gambar 6.1 Screenshot Source Code Program Latihan Array Dimensi 1 ........................... 223
Gambar 6.2 Screenshot Running Program Latihan Array Dimensi 1 ................................... 223
Gambar 6.3 Screenshot Source Program Latihan Array Dimensi 2 ..................................... 224
Gambar 6.4 Screenshot Running Program Latihan Array Dimensi 2 ................................... 225
Gambar 6.5 Screenshot Source Code Program Latihan Array Perulangan .......................... 226
Gambar 6.6 Screenshot Running Program Latihan Array Perulangan ................................. 226
Gambar 6.7 Screenshot Source Code Program Penjumlahan Matriks .................................. 228
Gambar 6.8 Screenshot Running Program Penjumlahan Matriks ........................................ 228
Gambar 6.9 Screenshot Source Code Program Latihan Queue ............................................ 230
15
Gambar 6.10 Screenshot Running Program Latihan Queue ................................................. 230
Gambar 6.11 Screenshot Source Code Latihan Stack ........................................................... 231
Gambar 6.12 Screenshot Running Program Latihan Stack ................................................... 232
Gambar 6.13 Screenshot Source Code Program Pengurutan Data Secara
Ascending .............................................................................................................................. 233
Gambar 6.14 Screenshot Running Program Pengurutan Data Secara Ascending ................ 234
Gambar 6.15 Screenshot Source Code Program Pengurangan Matriks ................................ 237
Gambar 6.16 Screenshot Running Program Pengurangan Matriks ...................................... 238
Gambar 6.17 Screenshot Coding Program Menambah Mengurang Data dgn
Queue .................................................................................................................................... 241
Gambar 6.18 Screenshot Running Program Menambah Mengurang Data dgn
Queue .................................................................................................................................... 242
Gambar 6.19 Screenshot Coding Program Menambah Menghapus Data Dgn Stack ........... 245
Gambar 6.10 Screenshot Running Program Menambah Mengurang Data dgn
Stack ...................................................................................................................................... 246
Gambar 6.21 Screenshot Coding Program Mengurutkan Data Secara Descending ............. 248
Gambar 6.22 Screenshot Running Program Mengurutkan Data Secara Descending ........... 248
Gambar 7.1 Screenshot Source Code Program Output ......................................................... 259
Gambar 7.2 Screenshot Runing Program Output .................................................................. 260
Gambar 7.3 Screenshot Source Code Input Output .............................................................. 261
Gambar 7.4 Screenshot Running Input Output ..................................................................... 261
Gambar 7.5 Screenshot Source Code If Else ........................................................................ 263
Gambar 7.6 Screenshot Running If Else ............................................................................... 263
Gambar 7.7 Screenshot Source Code Switch Case ............................................................... 265
Gambar 7.8 Screenshot Running Switch Case ...................................................................... 265
Gambar 7.9 Screenshot Source Code Program For .............................................................. 267
Gambar 7.10 Screenshot Running Program For ................................................................... 267
16
Gambar 7.11 Screenshot Source Code While ....................................................................... 270
Gambar 7.12 Screenshot Running While .............................................................................. 270
Gambar 7.13 Screenshot Source Code Program latihan 1 .................................................... 272
Gambar 7.14 Screenshot Running Program Latihan 1.......................................................... 272
Gambar 7.15 Screenshot Source Code Program Latihan 2 If Then Else ............................. 274
Gambar 7.16 Screenshot Running Program Latihan 2 If Then Else .................................... 274
Gambar 7.17 Screenshot Source Code Program Latihan 2 Switch Case .............................. 277
Gambar 7.18 Screenshot Running Program Altihan 2 Switch Case ..................................... 277
Gambar 7.19 Screenshot Source Code Program Latihan 3 For ............................................ 278
Gambar 7.20 Screenshot Running Program Latihan 3 For ................................................... 279
Gambar 7.21 Screenshot Source Code Program Latihan 3 While ........................................ 280
Gambar 7.22 Screenshot Running Program Latihan 3 While ............................................... 280
Gambar 8.1 Screenshot Source Code Program 1 .................................................................. 287
Gambar 8.2 Screenshot Running Program 1 ......................................................................... 287
Gambar 8.3 Screenshot Source Code Program 2 .................................................................. 288
Gambar 8.4 Screenshot Running Program 2 ......................................................................... 289
Gambar 8.5 Screenshot Source Code Program 3 .................................................................. 290
Gambar 8.6 Screenshot Running Program 3 ......................................................................... 290
Gambar 8.7 Screenshot Source Code Program 4 .................................................................. 292
Gambar 8.8 Screenshot Running Program 4 ......................................................................... 292
Gambar 8.9 Screenshot Source Code Program 5 .................................................................. 294
Gambar 8.10 Screenshot Running Program 5 ....................................................................... 294
Gambar 8.11 Screenshot Source Code Program 6 ................................................................ 295
Gambar 8.12 Screenshot Running Program 6 ....................................................................... 295
Gambar 8.13 Screenshot Source Code Program 7 ................................................................ 297
Gambar 8.14 Screenshot Running Program 7 ....................................................................... 297
17
Gambar 8.15 Screenshot Source Code Program 8 ................................................................ 299
Gambar 8.16 Screenshot Runnign Program 8 ....................................................................... 299
Gambar 8.17 Screenshot Source Code Program 9 ................................................................ 301
Gambar 8.18 Screenshot Running Program 9 ....................................................................... 301
Gambar 8.19 Screenshot Source Code Ptogram Studi Kasus ............................................... 303
Gambar 8.20 Screenshot Running Program Studi Kasus...................................................... 303
Gambar 9.1 Screenshot set up APPserv ................................................................................ 307
Gambar 9.2 Screenshot Source Code Program Menampilkan Kata ..................................... 311
Gambar 9.3 Screenshot Running Program Menampilkan Kata ............................................ 311
Gambar 9.4 Screenshot Source Program Menampilkan Nama Buah ................................... 314
Gambar 9.5 Screenshot Running Program Menampilkan Nama Buah ................................ 314
Gambar 9.6 Screenshot Source Code Program Menampilkan Angka 1-100 ........................ 315
Gambar 9.7 Screenshot Running Program Menampilkan Angka 1-100 .............................. 316
Gambar 9.8 Screenshot Source Code Program Array Menampilkan Nama Kota ................ 316
Gambar 9.9 Screenshot Running Program Array Menampilkan Nama Kota ....................... 317
Gambar 9.10 Screenshot Source Code Program menampilkan Biodata Kelompok ............. 318
Gambar 9.11 Screenshot Running Program Menampilkan Biodata Kelompok ................... 320
Gambar 9.12 Screenshot Source Code Program Memasukkan Identitas .............................. 321
Gambar 9.13 Screenshot Running Program Menampilkan Identitas .................................... 322
Gambar 9.14 Screenshot Source Code Program Menampilkan Identitas ............................. 322
Gambar 9.15 Screenshot Running Program Menampilkan Identitas .................................... 323
Gambar 9.16 Screenshot Source Code Program File Data Praktikan 1 ................................ 324
Gambar 9.17 Screenshot Running Program File Data Praktikan 1 ....................................... 325
Gambar 9.18 Screenshot Source Code Program File Data Praktikan 2 ................................ 325
Gambar 9.19 Screenshot Running Program File Data Praktikan 2 ....................................... 326
Gambar 9.20 Screenshot Source Code Program file Data Praktikan 3 ................................. 326
18
Gambar 9.21 Screenshot Running Program File Data Praktikan 3 ....................................... 327
Gambar 9.22 Screenshot Source Code Menampilkan Data Praktikan .................................. 327
Gambar 9.23 Screenshot Running Program Menampilkan Data Praktikan .......................... 327
Gambar 9.24 Screenshot Source Code Menampilkan menu Studi kasus ............................. 332
Gambar 9.25 Screenshot Tampilan Menu Tentang Kelompok Studi Kasus ........................ 334
Gambar 9.26. Screenshot Tampilan Menu Anggota 1 .......................................................... 334
Gambar 9.27 Screenshot Tampilan Menu Anggota 2 ........................................................... 335
Gambar 9.28 Screenshot Tampilan Menu Anggota 3 ........................................................... 335
19
DAFTAR TABEL
Tabel 3.1Tipe Bilangan Bulat ............................................................................................... 94
Tabel 3.2 Tipe bilangan rill ................................................................................................... 95
Tabel 3.3 Operasi Aritmatika ................................................................................................ 96
Tabel 3.4 Operasi Relasional ................................................................................................ 97
Tabel 9.1 Harga Buah ........................................................................................................... 312
20
ABSTRAK
Perkembangan teknologi yang begitu pesat, telah memudahkan
kehidupan manusia. Salah satu teknologi yang perkembangannya begitu pesat
adalah komputer. Kini, hampir semua kegiatan manusia dimudahkan dengan
adanya alat ini. Berbagai pekerjaan seperti mengetik, menonton tv, hingga
melakukan berbagai perhitungan yang rumit dapat dikerjakan melalui
perangkat ini. Namun, kehadiran komputer tidak akan berarti jika tidak
dilengkapi adanya berbagai program komputer. Komputer hanyalah alat untuk
menjalankan program aplikasi itu. Program tersebut dibuat dengan berbagai
macam bahasa pemrograman, antara lain C1, C2, PHP dan lain-lain.
Pada praktikum ini dibahas tentang Hardware dan Sistem Operasi,
Dasar Pemrograman Delphi I, Delphi II, C#I, C#II, Java I, Java II dan PHP
yang merupakan Bahasa Pemrograman yang sering digunakan untuk membuat
program yang sering kita gunakan dalam kehidupan sehari-hari.
Kata kunci : Delphi 1, Delphi II, C#i, C#II, Java I, Java II, PHP
21
BAB 1
PENDAHULUAN
1.1 Latar Belakang Pelaksanaan Praktikum
Perkembangan teknologi yang begitu pesat, telah memudahkan kehidupan
manusia. Salah satu teknologi yang perkembangannya begitu pesat adalah
komputer. Kini, hampir semua kegiatan manusia dimudahkan dengan adanya alat
ini. Berbagai pekerjaan seperti mengetik, menonton tv, hingga melakukan
berbagai perhitungan yang rumit dapat dikerjakan melalui perangkat ini. Namun,
kehadiran komputer tidak akan berarti jika tidak dilengkapi adanya berbagai
program komputer. Komputer hanyalah alat untuk menjalankan program aplikasi
itu. Program tersebut dibuat dengan berbagai macam bahasa pemrograman, antara
lain C1, C2, PHP dan lain-lain.
Dengan semakin rumitnya permasalahan yang muncul di masyarakat,
maka pembuatan program aplikasi menjadi semakin berkembang sehingga
program aplikasi yang dibuat pun menjadi semakin canggih. Selain komputer,
internet saat ini menjadi salah satu teknologi yang sangat penting. Kita dapat
bertukar informasi dan melakukan komunikasi jarak jauh melalui media ini.
Untuk itu, agar dapat bertahan dalam era globalisasi ini, kita perlu menguasai
berbagai teknologi ini.
1.2 Tujuan Praktikum
Tujuan yang akan dicapai dari Praktikum Dasar Komputer dan
Pemrograman 2011 yaitu :
1. Mampu menjelaskan definisi Personal Computer serta bagian –
bagian penyusun Personal Computer.
2. Mampu memasang, merakit serta mengkoneksikan komponen –
komponen penyusun Personal Computer menjadi suatu sistem yang
terintegrasi.
3. Untuk mengetahui system operasi Internal Command dan External
command dalam DOS (Disk Operating System) pada Windows dan
Terminal dalam Linux
22
4. Praktikan mengenal Borland Delphi sebagai tool untuk membuat
program
5. Praktikan mengerti konsep dari array dan record serta cara
pengaplikasiannya.
6. Mengenal bahasa pemrograman C#
7. Mengenal bahasa pemrograman Java
8. Mengenal bahasa pemrograman PHP
1.3 Metode Pengumpulan Data
Dalam Penyusunan Laporan Praktikum Dasar Komputer dan
Pemrograman 2011 ini, penyusun memperoleh data – data dari praktikum di
laboratorium yang digabungkan dengan materi – materi tambahan dari
referensi – referensi seperti modul praktikum.
1.4 Sistematika Penulisan Laporan Praktikum
Laporan Praktikum Dasar Komputer dan Pemrograman 2012 ini
disusun dengan sistematika penulisan sebagai berikut :
1. Bab I Pendahuluan
Bab I berisi tentang latar belakang serta tujuan dari praktikum ini
dilakukan dan juga metode penelitian yang digunakan untuk
menyelesaikan setiap laporan praktikum.
2. Bab II Hardware Dan Sistem Operasi
Bab II berisi tujuan, metode percobaan, pembahasan system info
pada komputer, menampilkan cara merakit sebuah PC secara virtual
menggunakan software Cisco - IT Essentials virtual Desktop PC &
laptop. Pada bagian akhir terdapat kesimpulan dari laporan bab II
ini.
3. Bab III Dasar Pemrograman Delphi I
Bab III berisi tujuan, metode percobaan, pembahasan Cara membuat
Program sederhana . Dan Pada bagian akhir terdapat kesimpulan dari
laporan bab III ini.
23
4. Bab IV Dasar Pemrograman Delphi II
Bab IV berisi tujuan, metode percobaan, pembahasan Cara membuat
Program sederhana menggunakan Array . Dan Pada bagian akhir
terdapat kesimpulan dari laporan bab III ini.
5. Bab V Pemrograman C#1
Bab V berisi tujuan, metode percobaan, pembahasan source code
pada C#1, dan pembahasan component-component yang terdapat
dalam C#1. Pada laporan ini terdapat juga pembuatan aplikasi
sederhana menggunakan pemrograman C#1. Pada bagian akhir
terdapat kesimpulan dari laporan bab V ini.
6. Bab VI Pemrograman C#2
Bab VI berisi tujuan, metode percobaan, mendefinisikan fungsi,
prototipe, parameter dan argumen, array, larik dan lain-lainnya.
Hasil percobaan menampilkan fungsi array, larik dimensi banyak,
contoh-contoh dari modul. Analisa pembahasan menjelaskan satu
per satu setiap listing dan menerangkan fungsinya. Dan juga
kesimpulan dari laporan VI ini.
7. Bab VII Pemrograman Java I
Bab VII berisi tujuan, metode percobaan, analisa dan pembahasan
tiap-tiap Komponen Java. Hasil percobaan menampilkan Program
Sederhana. Selain itu juga terdapat analisa pembahasan beberapa
Komponen-komponen pada java. Hasil percobaan menampilkan
semua yang dilakukan saat praktikum dan data-data yang terdapat
dalam modul. Kesimpulan disertakan di akhir bab.
8. Bab VIII Pemrograman Java 2
Bab VIII berisi tujuan, data percobaan, analisa dan pembahasan tiap-
tiap Komponen Java Termmasuk Array. Analisisnya tentang
penyelesaian Program sederhana dan kesimpulan dilampirkan di
akhir bab.
24
9. Bab IX Pemrograman PHP
Bab IX berisi tujuan, data percobaan, analisa dan pembahasan tiap-
tiap data percobaan. Analisisnya tentang fungsi (function) dan
kegunaanya serta aplikasinya dalam program sederhana.
10. Bab X Penutup
Bab X berisi kesimpulan dari seluruh praktikum yang telah
dijalankan dan saran dari Praktikum Dasar Komputer dan
Pemrograman 2012 ini.
11. Daftar Pustaka
Daftar Pustaka berisi referensi yang digunakan untuk menyelesaikan
laporan ini.
12. Lampiran
25
BAB II
HARDWARE DAN SISTEM OPERASI
2.1 Tujuan
1. Untuk mengenal dan mengetahui komputer dan perangkat-perangkat
yang menyusun komputer.
2. Dapat melakukan perakitan dan mengetahui fungsi dari masing-
masing perangkat yang meyusun komputer.
3. Dapat melakukan instalasi Sistem Operasi .
4. Untuk mengetahui system operasi Internal Command dan External
command dalam DOS (Disk Operating System) pada Windows dan
Terminal dalam Linux
2.2 Dasar Teori
2.2.1 Pengertian Komputer
Komputer dapat diartikan sebagai suatu alat elektronik
yang mampu menerima input, mengolah input (proses),
memberikan informasi serta bekerja secara otomatis sehingga
keberadaan komputer sekarang ini sangat membantu dalam kerja
manusia seiring dengan perkembangan zaman yang mebutuhkan
sistem informasi yang tepat dan cepat.
Tujuan pokok dari sistem komputer adalah mengolah data
untuk menghasilkan informasi sehingga perlu didukung oleh
elemen-elemen yang terdiri dari perangkat keras (hardware),
perangkat lunak (software), dan brainware.
Struktur komputer dapat didefinisikan sebagai cara-cara
dari tiap komponen saling terkait. Struktur sebuah komputer secara
sederhana, dapat digambarkan dalam diagram blok pada gambar di
bawah ini.
26
Gambar 2.1 Struktrur Kerja Komputer
Komputer terdiri atas perangkat keras (hardware) dan
perangkat lunak (software) yang mempunyai fungsi khusus dalam
suatu sistem kerja komputer. Software atau perangkat lunak,
merupakan program-program komputer yang berguna untuk
menjalankan suatu pekerjaan sesuai dengan yang dikehendaki,
antara lain:
a) Sistem Operasi
Adalah software yang berfungsi untuk mengaktifkan seluruh
perangkat yang terpasang pada komputer sehingga masing-
masingnya dapat saling berkomunikasi.
b) Program Utility
Program utility berfungsi untuk membantu atau mengisi
kekurangan/kelemahan dari sistem operasi.
c) Program aplikasi
Merupakan program yang khusus melakukan suatu pekerjaan
tertentu, seperti program gaji pada suatu perusahaan.
d) Bahasa Pemrograman
Merupakan software yang khusus digunakan untuk membuat
program komputer.
Sedangkan fungsi komputer didefinisikan sebagai masing-
masing komponen sebagai bagian dari struktur. Adapun fungsi dari
27
masing-masing komponen dalam struktur di atas adalah sebagai
berikut :
1. Input Device
Adalah perangkat keras komputer yang berfungsi sebagai alat
untuk memasukan data atau perintah ke dalam komputer.
2. Output Device
Adalah perangkat keras komputer yang berfungsi untuk
menampilkan keluaran sebagai hasil pengolahan data. Keluaran
dapat berupa hard-copy (ke kertas), soft-copy (ke monitor),
ataupun berupa suara.
3. I/O Ports
Bagian ini digunakan untuk menerima ataupun mengirim data ke
luar sistem. Peralatan input dan output di atas terhubung melalui
port ini.
4. CPU (Central Processing Unit)
CPU merupakan otak sistem komputer, dan memiliki dua bagian
fungsi operasional, yaitu: ALU (Arithmetical Logical Unit)
sebagai pusat pengolah data, dan CU (Control Unit) sebagai
pengontrol kerja komputer.
5. Memori
Memori terbagi menjadi dua bagian yaitu memori internal dan
memori eksternal. Memori internal berupa RAM (Random Access
Memory) yang berfungsi untuk menyimpan program yang kita
olah untuk sementara waktu, dan ROM (Read Only Memory)
yaitu memori yang hanya bisa dibaca dan berguna sebagai
penyedia informasi pada saat komputer pertama kali dinyalakan.
6. Data Bus
Adalah jalur-jalur perpindahan data antar modul dalam sistem
komputer. Karena pada suatu saat tertentu masing-masing saluran
hanya dapat membawa 1 bit data, maka jumlah saluran
menentukan jumlah bit yang dapat ditransfer pada suatu saat.
Lebar data bus ini menentukan kinerja sistem secara keseluruhan.
28
Sifatnya bidirectional, artinya CPU dapat membaca dan menerima
data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32,
atau 64 jalur paralel.
7. Address Bus
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada
proses transfer data. Pada jalur ini, CPU akan mengirimkan
alamat memori yang akan ditulis atau dibaca. Address bus
biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.
8. Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses
ke Data Bus dan Address Bus. Terdiri atas 4 samapai 10 jalur
paralel.
2.2.2 Komponen Komputer
Komputer merupakan gabungan dari beberapa komponen
yang saling terintegrasi. Jika salah satu tidak berjalan akan
mempengaruhi komponen lain, tapi kadang juga berpengaruh pada
komponen lain.
Komputer memiliki beberapa komponen berikut :
1. Mainboard / Motherboad
merupakan papan induk atau main board dimana semua divice
dipasang mulai dari processor, memory, slot-slot untuk ekspansi,
dan lain-lain. Mainboard tidak kalah penting dengan prosesor
karena mainboard adalah rangkaian pembuluh darah dan jaringan
urat syaraf pada komputer. Jika mainboard yang kurang baik
maka akan mengakibatkan tidak maksimalnya kinerja peripheral
lain.
2. CPU
CPU ( Central Procssin Unit ) istilah lainnya adalah prosesor
(pengolah data) adalah sebagai otak komputer yang berfungsi
sebagai kendali utama komputer. Komponen CPU terbagi
beberapa macam, yaitu sebagai berikut:
29
a. Unit kontrol yang mengatur jalannya program.
b. Register berfungsi untuk menyimpan data dan instruksi
yang sedang diproses.
c. ALU adalah unit yang bertugas untuk melakukan operasi
aritmatika dan operasi logika berdasarkan instruksi yang
telah ditentukan.
3. RAM ( Random Acces Memory )
RAM ( Random Access Memory ) adalah memori yang digunakan
sebagai media penyimpanan data sementara yang sedang
dikerjakan oleh komputer.
4. Hard Disk
Hard Disk adalah media penyimpanan yang memiliki kapasitas
yang sangat besar untuk menyimpan data berupa informasi dan
dokumen
5. SATA
SATA ( Serial ATA ) adalah revolusi baru cara pemasangan
hardisk dengan hanya satu devices dalam satu ports SATA. Serial
ATA adalah sebuah antarmuka penyimpanan untuk
menghubungkan host bus adapter untuk perangkat penyimpanan
massal seperti hard disk drive dan optical drive. Mulai pada tahun
2004, SATA host adapter terintegrasi ke hampir semua
motherboard modern, baik itu desktop maupun laptop.
6. ATA
ATA (AT Attachment) adalah standar penyimpanan utama untuk
menghubungkan ke PC. ATA menggantikan teknologi terdahulu
seperti MFM, RLL, dan ESDI. ATA saat ini bersaing dengan
SCSI. ATA adalah spesifikasi untuk memasang hard drive ke bus
AT. Spesifikasi AT telah diperpanjang untuk mencakup
penyimpanan lainnya, seperti CD / DVD drive, tape drive, dan
drive Zip dengan Advanced Technology Attachment Packet
Interface (ATAPI) penambahan spesifikasi.
30
7. VGA
VGA adalah Video Grapich Card / Kartu grafis / kartu video
adalah kartu ekspansi yang berfungsi untuk menciptakan dan
menampilkan tampilan-tampilan di layar
8. Monitor
Monitor adalah alat menampilkan hasil pengolahan data ( output
). Monitor komputer juga dijelaskan sebagai Perangkat output
yang menampilkan aksara dan/atau gambar, baik diam atau
bergerak, yang diproses/diperintahkan dari CPU melalui media
input.
9. Keyboard
Keyboard adalah alat memasukan karakter yang akan diproses.
Papan ketik (bahasa Inggris: keyboard) atau peranti untuk
mengetik atau memasukkan huruf, angka, atau simbol tertentu ke
perangkat lunak atau sistem operasi yang dijalankan oleh
komputer.
10. Mouse
Mouse bekerja dengan menangkap gerakan menggunakan bola
yang menyentuh permukaan keras dan rata. Mouse yang lebih
modern sudah tidak menggunakan bola lagi, tetapi menggunakan
sinar optikal untuk mendeteksi gerakan. Selain itu, ada pula yang
sudah menggunakan teknologi nirkabel, baik yang berbasis radio,
sinar inframerah, maupun bluetooth.
2.2.3 SISTEM OPERASI
Sistem operasi atau operating sistem adalah sekumpulan
perintah atau instruksi dari program-program yang berfungsi
sebagai Interface antara Brainware dan Hardware, dalam mengatur
semua pengoperasian dasar komputer. Semua program lain
memerlukan sistem operasi untuk bekerja. Tanpa adanya sistem
operasi, komputer hanya akan menjadi tumpukan Hardware yang
tidak berguna.
31
Dalam dunia komputer ada banyak sistem operasi yang
telah dikembangkan yaitu UNIX, GNU/Linux, Ms. Windows, SUN
Solaris dan BSD. Masing-masing sistem operasi tersebut
mempunyai ciri dalam memanagemen hardware.
1. Microsoft Windows
Microsoft windows merupakan sebuah sistem operasi yang
berbasis GUI ( Graphical User Interface ) yang dikembangkan oleh
Microsoft Corporation. Ada banyak versi Windows yang ada,
mulai dari Windows 1.0; Windows 2.0; Windows 3.0; Windows
3.11;sampai Windows 95 dan 98, Windows ME, Windows XP,
yang dipergunakan untuk keperluan desktop / keperluan sehari-
hari, Windows Vista, Windows 7, Windows 2000 Server dan 2003
Server untuk keperluan sebagai server.
2. Linux
Linux merupakan sebuah sistem operasi free-software dan
open source. free-software yang dimaksud disini adalah freedom-
software bukannya software free dalam arti gratis, meskipun
hampir semua free-software adalah gratis.konsep free-software
pada awalnya muncul dari seorang hacker bernama Richall
Stallman. Pada tahun 1985 Stallman mendirikan free-software
foundation untuk mendukung proyek GNU (GNU’s Not Unix)
proyek ini bertujuan untuk menciptakan sebuah sistem operasi
handal yang sepenuhnya gratis.
2.2.4 COMMAND PROMPT
1. Membuat direktori
Ketik MD Nama Direktori yang dibuat
Contoh : ketik MD Kelompok (untuk membuat direktori kelompok)
32
2. Memasuki / turun ke suatu direktori atau sub-direktori
Ketik CD nama direktori yang telah dibuat
Contoh : ketik CD kelompok (untuk masuk ke direktori kelompok)
3. Naik satu tingkat / level :
ketik CD..
Contoh : ketik CD..dari C:\Kelompok untuk kembali ke C:\
Ketik CD..dari C:\Kelas\WINDOWS untuk kembali ke
C:\Kelompok
4. Menghapus sebuah Direktori
[RD] [drive] [path:\] [Nama Direktori]
Ketik RD C:\Kelompok\WINDOWS untuk menghapus sub-
direktori WINDOWS dari C:\Kelompok
5. Menampilkan daftar isi direktori dalam bentuk bagan
ketik C:\Kelas\WINDOWS>tree
Pada direktori WINDOWS harus memiliki sub-direktori agar dapat
dimunculkan dalam bentuk bagan.
6. DATE
berfungsi untuk melihat atau mengisikan tanggal yang berlaku pada
BIOS computer.
Rumus : DATE ( mm – dd – year )
7. DEL
adalah perintah yang digunakan untuk menghapus suatu atau
beberapa file sekaligus.
DEL merupakan singkatan dari DELETE yang terjemahannya
berati menghapus.
Rumus : DEL [ drive : ] [ path ] [ nama file ]
Contoh penggunaan :
33
DEL TUGAS.DOC
Menghapus file yang bernama TUGAS.DOC
DEL B:\ *.DOC
8. CLS
berfungi untuk membersihkan tampilan pada layar monitor.
Rumus : CLS
9. COPY
berfungsi untuk membuat salinan suatu file atau beberapa file
sekaligus.
Rumus : COPY [ drive sumber ] [ nama file ] [drive tujuan]
[nama file]
Contoh penggunaan : COPY A: FORMAT.COM C :>
Menyalin file FORMAT.COM dari drive A ke drive B dengan
nama yang sama.
COPY TUGAS1.DOC LATIHAN.DOC
Menyalin file TUGAS1.DOC menjadi LATIHAN.DOC pada
drive atau direktori yang sama.
10. DIR
Memperlihatkan daftar isi dari sebuah media penyimpanan
Rumus : DIR [ drive : ] [ path ] [ filename ] [ syntax ]
[ drive : ] drive dimana tempat media penyimpana itu berada,
misalnya DIR A:
[ path ] [ filename ] menyatakan direktori, dan / file yang ingin
dilihat
Contoh :
DIR A:\TUGAS
Artinya perintah untuk menampilkan file-file yang terdapat pada
sub direktori TUGAS
DIR A:\*.DOC
34
Artinya untuk menampilkan file-file yang berekstension DOC
saja.
Contoh-contoh diatas dapat juga menyatakan syntax.
Syntax :
/P menampilkan daftar isi per layar.
/W menampilkan daftar isi melebar kekanan.
/A menampilkan direktori:
/AD menampilkan file-file sistem operasi.
/AS menampilkan file-file yang beratribut Read-Only.
/AH menampilkan file-file yang disenbunyikan.
/O menampilkan daftar isi file secara berurutan berdasarkan
/ON berdasarkan nama-nama file yang ada.
/OE berdasarkan ekstension file
/OS berdasarkan besarnya size file.
/OD berdasarkan tanggal pembuatannya (yang terdahulu
diutamakan).
Contoh :
DIR A:\TUGAS
Artinya perintah untuk menampilkan file-file yang terdapat pada
sub direktori TUGAS dan tampilannya berhenti per 1 layar
sampai anda menekan tombol apapun (kecuali anda menekan
tombol esc)
DIR A:\*.DOC /OS
Artinya untuk menampilkan file-file yang berekstension DOC
saja. Dengan urutan berdasarkan besa kecilnya file tersebut (size
file paling kecil berada paling atas)
DIR /OD
Artinya menampilkan file-file berurutan berdasarkan tanggal
pembuatannya.
35
11. PROMPT
Berfungsi untuk merubah tampilan DOS prompt
Rumus : PROMPT [ text ] [ special character ]
[ text ] : satu atau beberapa huruf yang akan muncul sebagai
prompt DOS [ special character ]
$Q untuk menampilkan simbol sama dengan ( = )
$$ untuk menampilkan simbol dollar ( $ )
$T untuk menampilan waktu yang berlaku pada komputer anda
$D untuk menampilkan tanggal yang berlaku pada komputer
anda
$P untuk menampilkan drive dan path yang berlaku ( :\ )
$N untuk menampilkan drive yang berlaku
$G untuk menampilkan simbol lebih besar (>)
$L untuk menampilkan simbol lebih kecil (<)
$_ untuk memberikan jarak / spasi 1 baris
Contoh penggunaan :
Ketik PROMPT $P$G maka tampilan prompt yang muncul
dilayar monitor A:\
12. REN
Befungsi untuk mengubah suatu nama file. Yang yang perlu
diperhatikan adalah yang dirubah hanya nama file nya saja,
ekstension file tidak boleh dirubah.
Rumus : REN [drive : ] [path] [nama file] [nama file baru]
Contoh penggunaan :
REN TUGAS.DOC LATIHAN.DOC
Artinya mengganti nama file TUGAS.DOC menjadi
LATIHAN.DOC.
13. TIME
Berfungsi untuk melihat / mengisikan waktu yang berlaku pada
BIOS komputer
36
Rumus : TIME (hour : minute : seconds) atau jam : menit : detik
Jika anda menyetujui waktu yang tampak di monitor, maka anda
hanya cukup menekan enter saja tanpa perlu mengisi.
14. TYPE
Berfungsi untuk menampilkan karakter text hanya pada file-file
yang berekstension .TXT
Rumus : TYPE [ nama file .TXT]
15. VER
Berfungsi untuk mengetahui versi DOS yang digunakan pada
komputer anda
Rumus : VER
16. DOS External Command
Melaksanakan seluruh perintah-perintah berikut ini diperlukan
program eksekusi yang berekstensi COM atau EXE.
17. CHKDSK
Berfungsi untuk melihat kondisi media penyimpanan yang kita
pakai
Rumus : CHKDSK [drive:]
Jika kita menjalankan program ini, akan ditampilkan antara lain
kemampuan kapasitas penyimpanan media tersebut, jumlah file
yang ada, jumlah area yang masih kosong dan volume. Jika
terdapat partisi/track disket yang rusak (found lost chain),
informasi tersebut juga ditampilkan. Untuk melakukan perbaikan,
anda ulangi CHKDSK diatas namun kali ini tambahkan dengan
syntax/F (atau fixed). Kemudian akan muncul pesan : Convert
lost chain to file (Y/N) maka jawablah Y. Ini dimaksudkan agar
program ini menyimpan data yang berada pada partisi/track yang
rusak ke dalam sebuah atau beberapa file (namanya
37
FILE0001.CHK dst) dan diletakkan pada partisi/track yang baik,
sehingga anda dapat mengakses data tersebut.
Informasi yang ditampilkan CHKDSK pada paragraph pertama
adalah yang paling penting anda perhatikan, dengan urutan-
urutannya sbb :
Baris ke-1 : total daya tamping disket atau hard disk.
Baris ke-2 : jumlah file yang disembunyikan (jika ada)
Baris ke-3 : jumlah direktori yang ada
Baris ke-4 : jumlah file yang ada
Baris ke-5 : jumlah byte yang rusak (bad sector) jika
ditemukan ada
Baris ke-6 : jumlah byte tersisa yang bias dipakai
Apabila baris ke-2 dan baris ke-5 tidak ditemukan, mak jumlah
barisnya hanya ada 4.
Pada versi DOS 6, Microsoft membeli lisensi salah satu utility
dari PC-Tools dan merubah namanya menjadi SCANDISK, walau
tetap menyediakan CHKDSK. Perbedaan dengan CHKDSK
adalah proses pengecekkan ditampilakn pad layar monitor dan
pada akhir pemakaian, SCANDISK akan menampilkan hasil
pemeriksaan dalam data statistic mengenai kondisi fisik hard disk
atau disket.
18. DISKCOPY
Menyalin seluruh isi disket sam persis ke disket lainnya
Rumus : Diskcopy [drive sumber] [drive tujuan]
Contoh : Diskcopy A : B :
Setelah itu akan muncul pesan seperti berikut ini :
Insert SOURCE diskette in drive A : ( artinya masukkan disket
sumber di drive A)
Insert TARGET diskette in drive B : (artinya masukkan disket
target di drive B)
38
Press any key when ready… (artinya tekan sembarang tombol
untuk melanjutkan)
Jika prose pengcopyan disket berjalan dengan lancer, akan
muncul pesan :
Copy Complete.
Copy another disk ? (Y/N) ?
Maka yang harus anda lakukan adalah :
Tekan Y agar program mengulang kembali proses diatas.
Tekan N untuk mengakhiri perintah DISKCOPY dan anda akan
kembali ke DOS prompt.
Program ini hanya berlaku untuk disket berkapasitas dan ukuran
media yang sama pula dan tidak berlaku pada selain itu misalnya
harddisk, CD-ROM dsb.
Peringatan :
Apabila pada disket target terdapat sector yang rusak, DOS tidak
akan memberitahukannya kepada anda (kecuali jika anda
menggunakan MS DOS versi 6 ke atas).
19. FORMAT
Berfungsi untuk membuat track pad suatu media penyimpanan
agar media tersebut dapat difungsikan/dipakai
Rumus : FORMAT [drive :] [/S] [/V] [/Q] [/U] [/4]
/S menyertakan system operasi DOS pada media yang
diformat.
/V menuliskan nama label volume dari media yang diformat
/Q format akan dilaksanakan lebih cepat ( Quick Format)
/4 format disket 5,25” 360 KB pada drive 5,25” 1,2 MB
Contoh penggunaan :
FORMAT A : memformat disket yang terdapat di drive A
FORMAT A : /S memformat disket pada drive A berikut
system operasinya.
39
20. LABEL
Berfungsi untuk menampilkan label atau merubah nama label
pada disk
Rumus : LABEL [drive:]
Contoh : Ketik LABEL A:\ (Enter) maka pada layar monitor akan
muncul tampilan :
Volume in drive A is none
Volume Serial Number is 3F68-1AFF
Volume label (11 characters, ENTER for none) ?
Volume in drive A is none menandakan media pada drive A tidak
memiliki label. Kecuali anda pernah menuliskan nama disini pada
perintah FORMAT, maka kata “none” akan diisi dengan nama
anda.
Volume serial number adalah serial angka yang diberikan oleh
computer.
Volume label adalah baris dimana anda menuliskan label nama
dengan panjang maksimum 11 huruf, setelah itu tekan Enter.
21. MOVE
Berfungsi untuk memindahkan suatu file ke lokasi lain yang
berbeda
Rumus : MOVE [drive-1 : nama file] [drive-2 : nama file]
Syntax : /Y maka tampilan konfirmasi akan ditampilkan.
Contoh : MOVE LATIHAN.DOC A:\TUGAS.DOC
Memindahkan file LATIHAN.DOC ke drive A sekaligus
mengganti namanya menjadi TUGAS.DOC
Program-program external command lainnya antara lain ialah :
DEFRAG.EXE
GRAPHIC.COM
QBASIC.COM
ATTRIB.EXE
/?
40
Pada umumnya gunakan [Nama perintah] /? Untuk menampilkan
bantuan penjelasan (help). Tampilkan akan diberikan dalam
bahasa Inggris. Contoh : COPY /? Akan menampilkan penjelasan
perintah COPY
2.2.5 TERMINAL
Perintah-perintah Linux kita ketikkan di shell. Shell menyediakan
interface dan akses ke lingkungan Linux, shell menerima perintah
dari user dan mengintepretasikannya ke system Linux. Ada banyak
Shell di Linux yang kita gunakan adalah BASH (Bourne Again
Shell). Shell lainnya adalah C Shell dan Korn Shell.
Perintah di Linux mempunyai format sebagai berikut :
<perintah> <option> <objek> misalnya adalah ls -1/home. Pada
perintah ini ls adalah perintah untuk melisting isi direktori,
kemudian optionnya yaitu –a untuk menampilkannya dalam format
long dan objek yang dikenal perintah tersebut yaitu /home.
Untuk mendapatkan bantuan atau petunjuk tentang suatu perintah
di linux bisa dengan beberapa cara misalnya :
man <perintah> untuk melihat manual perintah tersebut
<perintah> -h untuk melihat help dari perintah tersebut
<perintah> --help untuk melihat help ( panjang ) dari perintah
tersebut
Info <perintah> untuk melihat informasi tentang perintah tersebut
Apropos <kata_kunci> untuk melihat perintah apa saja yang
berhubungan dengan kata kunci yang kita berikan.
1. Print Working Directory
Untuk mengetahui direktori kerja kita saat ini kita bias
menggunakan perintah pwd.
budi@lebdosari:~$ pwd
/home/budi
41
2. List
Untuk mendaftar isi sebuah direktori, kita menggunakan
perintah ls. Contohnya sebagai berikut, opsi -1 adalah untuk
menampilkannya dalam format panjang :
budi@lebdosari:~$ ls -1
total 8
drwx----- 3 budi user 4096 Sep 12 02:41 Desktop
-rw-r--r-- 1 budi budi 0 Oct 12 22:32 daftar
drwxr-xr-x 2 budi user 4096 Oct 12 22:09 data
Hasil perintah menampilkan 3 buah objek yaitu 2 direktori dan
1 file. Pada kolom pertama ditampilkan permission file, kolom
kedua adalah jumlah links, kolom ketiga adalah pemilik
file/direktori, kolom kelima adalah grup dari pemilik, kolom
keenam adalah ukuran file, kolom ketujuh adalah waktu
terakhir modifikasi, kolom kedelapan adalah nama file. Swlain
ls -1 ada beberapa opsi lagi untuk ls misalnya ls –a, ls –b, ls –
F.
3. Make Directory
Untuk membuat sebuah direktori baru, menggunakan perintah
mkdir.
budi@lebdosari:~$ ls
desktop daftar data
budi@lebdosari:~$ ls
desktop daftar data praktikum
Setelah mendapat perintah mkdir praktikum sekarang di
direktori tersebut terdapat 4 objek.
4. Remove
Untuk menghapus sebuah file , menggunakan perintah rm.
budi@lebdosari:~$ ls
desktop daftar data prktikum
42
budi@lebdosari:~$ rm daftar
budi@lebdosari:~$ ls
desktop data praktikum
File daftar kita hapus jadi hanya terdapat 3 objek dalam
direktori.
5. Remove Directory
Untuk menghapus sebuah direktori, menggunakan rmdir.
Untuk bisa dikenai perintah ini sebuah direktori haruslah
kosong.
budi@lebdosari:~$ ls
desktop data praktikum
budi@lebdosari:~$ rmdir praktikum
budi@lebdosari:~$ ls
desktop data
Sekarang hanya tersisa 2 objek dalam direktori, yaitu desktop
dan data.
6. Change Directory
Untuk berpindah antar direktori, kita menggunakan perintah cd
budi@lebdosari:~$ ls pwd
/home/budi
budi@lebdosari:~$ cd/usr/src
budi@lebdosari:/usr/src$ pwd
/usr/src
Sebelumnya berada pada /home/budi dan kemudian pindah ke
/usr/src.
7. Touch
Perintah sederhana untuk membuat sebuah file kosong
berukuran 0 b.
budiyono@lebdosari:~/data2$ ls
43
nilai
budi@lebdosari:~/data2$ touch chrono
budi@lebdosari:~/data 2$ ls
chrono nilai
8. Copy
Untuk mengcopy sebush file atau direktori dari direktori asal
ke direktori tujuan menggunakan perintah cp.
budi@lebdosari:~$ ls
desktop data data2
budi@lebdosari:~$ cd data
budi@lebdosari:~/data$ ls
nilai
budi@lebdosari:~/data$ cp nilai /home/budi/data2
budi@lebdosari:~/data$ cd../data2
budi@lebdosari:~/data2$ ls
nilai
Contoh untuk mengcopy file nilai dari directori data1 ke
direktori data2.
9. Move
Untuk memindahkan sebuah file, menggunakan perintah mv.
Contoh memindah file nilai dari data2 ke data.
budi@lebdosari:~$ ls
desktop data data2
budi@lebdosari:~$ cd data2
budi@lebdosari:~/data2$ cd..
chrono nilai
budi@lebdosari:~/data2$ mv nilai../data
budi@lebdosari:~/data2$ cd..
budi@lebdosari:~$ cd data
budi@lebdosari:~/data$ ls
44
nilai
Perintah ini juga dapat untuk mengganti nama sebuah file,
caranya yaitu menggunakan mv tanpa berpindah direktori,
Misalnya kita akan merename nilai pad direktori data menjadi
score :
budi@lebdosari:~/data$ ls
nilai
budi@lebdosari:~/data$ mv nilai score
budi@lebdosari:~/data$ ls
score
budi@lebdosari:~/data$
Sekarang pada direktori data2 terdapat sebuah file kosong
bernama chrono.
10. Find
Perintah find kita gunakan untuk mencari sebuah file atau
direktori, formatnya adalah find <path> nama yang dicari.
budi@lebdosari:~/data2$ find chrono
chrono
budi@lebdosari:~/data2$
45
2.3 Analisa dan Pembahasan
2.3.1 Komponen Komputer
1. Mainboard
Gambar 2.2 Motherboard
Banyak pabrik yang menawarkan Mainboard dengan segala
kelebihannya, tetapi kita dapat memilih sesuai dengan isi
kantong atau kemampuan dana yang tersedia. Mainboard yang
beredar di pasaran memiliki variasi yang sangat banyak
ragamnya, sehingga sebelum memilih atau membeli mainboard
perlu beberapa pertimbangan antara lain:
• Apakah MB tersebut dapat menunjang komponen lain,
seperti VGA, Modem, TV Toner dan lain-lain yang berkaitan
dengan operasional komputer.
• Jika pertimbangan harga, maka fasilitas internal board atau
onboard yang ada di dalamnya sebaiknya yang dipilih. Hal ini
dapat menghemat biaya seperti VGA, Soundcard, Modem dan
LAN cards, tetapi tidak semua jenis MB menggabungkan
fasilitas-fasilitas tersebut dalam satu paket MB.
• Perhatikan berapa banyak slot PCI yang tersedia, apakah ada
atau tidak. Jika komponen onboard mengalami masalah, agar
dapat digantikan dengan komponen eksternalnya.
Pemilihan paket MB yang baik adalah dari produsen yang
menyertakan spesifikasinya, sehingga akan mudah di kemudian
hari jika ingin ditingkatkan kinerjanya. Perhatikan dalam
spesifikasi MB tersebut utamanya pada kemampuan Processor
Support, Memory support, Expansion Slots, Power Supply &
46
Management, Graphics System, On-board I/O port , Hardware
monitoring dan komponen lain yang tersedia pada MB tersebut.
Pada keterangan yang diberikan atas MB bersangkutan adalah
pada Processor support hingga xx Gega, dan clock scheme yang
terpasang, juga tentang Memory support juga dijelaskan jumlah
slotsnya dan maksimum memory yang dapat dipasang. Tingkat
kebutuhan pada komputer sangat bervariasi, namun pada
dasarnya dapat dikelompokkan menjadi kebutuhan untuk
perkantoran dan perorangan. Untuk kegiatan perkantoran terdiri
atas : Kebutuhan untuk database kepegawaian, analisa data
penelitian, dan geographics sedangkan untuk perorangan segi
hiburan lebih dominan. Untuk itu spesifikasi komponen yang
dibutuhkan sangat berbeda. Untuk komputer perorangan lebih
mengutamakan hardware yang dapat mensuport video graphics
dan RAM yang tinggi, disamping multimedia yang lebih
menonjol ketimbang untuk kebutuhan kantor. Untuk itu MB
yang harus dipilih pada komputer perorangan adalah yang
memiliki slot VGA AGP yang bagus (8 atau 16x), dan memiliki
chache memory board tinggi.
2. Prosesor
Gambar 2.2 Processor
Semakin tinggi kemampuan processor yang dipilih semakin
mahal harganya. Tidak cukup itu, yang menjadi pertimbangan
adalah apakah MB dapat mensuport? Hal ini jauh lebih penting,
sebab Main Board adalah yang lebih menentukan. Jenis
processor dimulai dari 8086/8087-XT hingga Pentium IV-2.8
47
GB dan banyak produsen yang mengeluarkan produk ini
diantaranya: Intel Pentium, IBM, AMD, CYRICS dan masih
banyak lagi semua memiliki kelebihan dan kekurangan, juga
mempunyai pasar yang berbeda. Hanya di Asia khususnya di
Indonesia semua produk ini bisa masuk dan diterima. Intel yang
beredar dalam pasaran, banyak ragamnya ada yang
menggunakan BOX atau TRAY (kodian). Jika diperhatikan ada
perbedaan harga meski menurut pengakuan pedagang kedua
barang tersebut tidak berbeda kualitas, alasan mereka untuk
biaya box diperlukan tambahan harga 5 s/d 7 US$. Pemilihan
processor dapat disesuaikan dengan kebutuhan dasar kita,
apakah untuk kegiatan yang memerlukan kecepatan tinggi atau
tidak. Jika kebutuhan terbatas pada kegiatan administrasi, seperti
pengetikan dan pembuatan tabel-tabel sederhana, maka
komputer yang diperlukan tidak lagi yang berkecepatan tinggi,
barangkali cukup Pentium 2 atau 3 saja bahkan kalau perlu
Pentium 1 sudah mencukupi. Terkadang kita kalau bertanya
kepada pedagang mereka memberi saran yang menyesatkan.
Kalau dana yang tersedia cukup tidaklah menjadi masalah, tetapi
kalau dana yang terbatas maka akan mubazir. Untuk memilih
processor, beberapa pertimbangan yang harus dilakukan yaitu :
• Seberapa besar kebutuhan data yang akan kita olah
• Seberapa lama waktu yang diperlukan untuk
menyelesaikan satu pekerjaan tersebut, dan
• Seberapa banyak dana yang tersedia untuk itu
3. RAM
Gambar 2.3 RAM
48
Pemilihan jenis dan besarnya RAM juga tergantung dari
MB yang ada, apakah dapat mensuport atau tidak. Setiap MB
memiliki batas maksimum dalam pemakaian RAM. Ini dapat
dilihat dari spesifikasi dari MB tersebut. RAM yang ada di
pasaran sangat bervariasi baik jenis maupun kemampuan
besarnya, demikian juga harga yang ditawarkan. Dari berbagai
macam dan jenis tersebut pada dasarnya dijamin sepanjang
hidup. Ada yang perlu diperhatikan dalam pemilihan jenis RAM
ini, pertama jumlah chipsnya dan kedua pabrik yang
mengeluarkan, sedangkan untuk harga relatif sama. Untuk
meningkatkan kinerja komputer khususnya yang aplikasinya
berbasis Windows, maka peran RAM sangatlah menentukan
khususnya dalam kecepatan akses program sehingga dapat
menjalankan lebih dari satu perintah program. Misalnya untuk
membuka dua aplikasi sekaligus Word dan Excel secara
bersama-sama, atau mengetik sambil mendengarkan lagu dan
lain sebagainya, maka peran RAM sangat menentukan.
4. Hard Disk
Gambar 2.4 Harddisk
Pada hard disk yang berkecepatan rendah (5400 rpm)
biasanya harganya lebih murah dibanding dengan yang
berkecepatan tinggi yaitu 7200 rpm, meski dengan jumlah
kapasitas yang sama. Untuk hard disk yang berkecepatan tinggi
lebih sering dijumpai pada pengguna server untuk jaringan
(Network). Sedang untuk yang berkecepatan rendah biasanya
49
digunakan pada komputer pribadi dirumah-rumah atau dikantor
yang tidak menggunakan jaringan. Keuntungan menggunakan
yang berkecepatan tinggi adalah untuk akses program maupun
menyimpan data lebih cepat, tetapi dalam tanda kutip bahwa
beda antara keduanya tidak terlalu mencolok, sehingga tidak
dapat dilihat dengan jelas bedanya.
Hard disk yang ada pada saat ini terdiri atas (1) Modified
Frequency Modulation (MFM) dan (2) Run Length Limited
(RLL). Hard disk dengan teknik MFM memakai 17 sektor per
track, sedangkan teknik RLL menggunakan 26 sektor per
tracknya dengan demikian dapat lebih banyak menyimpan
informasi juga.
Pada teknik RLL juga diperlukan permukaan yang berkualitas
tinggi.
Pertimbangan untuk memilih hard disk :
1. Sebesar apa data yang akan kita koleksi
2. Sejauh mana kebutuhan kita dalam mengkoleksi data?
3. Komputer yang akan dibeli atau yang kita miliki mempunyai
spesifikasi seperti apa. Ini penting karena beberapa komputer
lama ada keterbatasan dalam membaca hard disk yang memiliki
kemampuan besar
4. Usahakan membeli yang baru, mengingat kekuatan hard disk
sangat ditentukan oleh waktu jam pakai.
5. SATA
Gambar 2.5 SATA
50
SATA menawarkan beberapa keunggulan menarik
dibandingkan antarmuka paralel ATA (PATA) yang lebih tua:
mengurangi kabel yang tebal dan mengurangi biaya (berkurang
dari delapan puluh kabel ke tujuh), lebih cepat dan lebih efisien
dalam hal transfer data, dan fitur hot swapping
6. ATA
Gambar 2.6 ATA
ATA (AT Attachment) adalah standar penyimpanan utama
untuk menghubungkan ke PC. ATA menggantikan teknologi
terdahulu seperti MFM, RLL, dan ESDI. ATA saat ini bersaing
dengan SCSI. ATA adalah spesifikasi untuk memasang hard
drive ke bus AT. Spesifikasi AT telah diperpanjang untuk
mencakup penyimpanan lainnya, seperti CD / DVD drive, tape
drive, dan drive Zip dengan Advanced Technology Attachment
Packet Interface (ATAPI) penambahan spesifikasi.
7. VGA
Gambar 2.7 VGA Card
Graphic adapter ini sering diminati para maniak game,
dimana tuntutan graphic pada jenis permainan tertentu sangat
51
menuntut tingginya resolusi graphic adapter ini, sehingga tidak
heran harga yang ditawarkanpun sangat tinggi. Untuk ukuran 32
MB saja harganya mencapai 500 ribuan, sementara untuk
kebutuhan normal 8-16 MB harganya berkisar 150-175 ribuan.
Tetapi ini tergantung dari pabrik yang mengeluarkan produk ini.
Produsen pembuat graphics adapter berlomba-lomba dengan
menampilkan kemampuannya, baik yang 3D maupun yang
lainnya. Semua ini adalah untuk mendukung fasilitas komputer
yang ada, tinggal pilihan pada kita seberapa besarkah.
8. Monitor
Gambar 2.8 Monitor LCD
Jenis monitor yang ada juga mengalami perkembangan
teknologi yang luar biasa, dimana pada awalnya monitor
menggunakan dua warna (B/W) pada saat ini sudah berkembang
hingga LCD. Banyaknya jenis maupun merk yang beredar di
pasaran memudahkan bagi pemakai untuk menyesuaikan tingkat
kebutuhan dan kondisi kantong yang ada. Bagi yang ingin
menikmati tampilan bagus dengan resolusi yang tinggi dapat
menggunakan jenis LCD yang harganya mencapai US$ 495,
sedang bagi yang tidak menuntut hal di atas dapat
memperolehnya dengan harga US$ 88. Untuk ukuran 15”
hampir semua merk seperti LG, SPC, Samsung, GTC, maupun
Philips ditawarkan dengan harga yang relatif sama. Ada pula
beberapa merk monitor yang ada meski dengan kemampuan
52
resolusi sama menawarkan harga yang lebih rendah seperti
Advance, Casper dan masih banyak lagi.
9. Keyboard
Gambar 2.9 Keyboard
Jenis keyboard pada saat ini mulai dikembangkan dengan
multimedia yang ada, dimana pada keyboard terdapat tombol-
tombol multimedia yang dapat digunakan seperti power down,
cd player dan connect internet. Perubahan ini sangat signifikan
pada dunia IT yang terus menerus berinovasi, agar pasar terus
berkembang, dimana sebelum tahun 90an keyboard masih
sangat terbatas fasilitasnya. Saat ini sudah berkembang begitu
pesat, sehinga sampai pada jenis wireless. Untuk keyboard jenis
ini kemampuan tangkapnya pada radius 5-7 m dalam open room
atau ruangan terbuka.
10. Mouse
Gambar 2.10 Mouse
Mouse juga berkembang dengan pesat, mulai dari yang
tanpa kabel wireless hingga yang berjenis optik. Beberapa
perusahaan ada yang mengeluarkan produk secara 2in1 (yaitu
keyboard dan mouse) ada pula yang mengeluarkan 3in1 yaitu
plus speaker. Dari segi harga memang lebih murah, tetapi ada
juga kelemahannya yaitu pada kualitas suara kurang bagus.
53
2.4.2 Perakitan Komponen Piranti Komputer
tahapan proses perakitan komponen komputer terdiri dari :
1. Pemasangan Prosessor
2. Pemasangan heatsink
3. Pemasangan RAM
4. pemasangan motherboard ke casing
5. pemasangan kabel ke motherboard
6. pemasangan VGA Card
7. pemasangan sound card
8. pemasangan drive
9. pemasangan optical drive
10. pemasangan power suply
1. Pemasangan Prosessor
prosesor lebih mudah dipasang sebelum motherboard dipasang pada
casing. Cara pemasangan prosessor antara lain :
a. Buka pengunci socket prosessor pada motherboard
b. Perhatikan prosessor dan periksa socket prosessor pada
motherboard. Lihat tanda pada prossesor dan cocokan pada socket
agar pemasangan tidak terbalik.
c. Masukan dan pasang prosessor pada lubang-lubang socket dengan
tepat hingga prosessor tepasang dengan sempurna pada
motherboard.
d. Apabila ada sesuatu yang menghambat dalam pemasangan
prosessor pada socket jangan dipaksa, lebih baik dilepas kembali
dan periksa kembali kalau ada kesalahan pemasangan.
e. Setelah prosessor terpasang dengan sempurna,pasang kembali
engunci socket ke posisi semula.
2. Heatsink adalah pendingin yang terbuat dari aluminium / tembaga
yang sudah dirancang untuk dapat mendinginkan CPU, biasanya
heatsink digunakan untuk mendinginkan prosessor, chipset, dan mouse
54
pad pada motherboard. Heatsink bekerja untuk membuang panas yang
dihasilkan prosessor lewat konduksi panas dari prosessor ke heatsink.
untuk mengoptimalkan panas, maka heatsink harus dipasang rapat
pada bagian atas prosessor dengan memberikan thermal paste pada
chip prosessor. Therma paste berguna untuk membantu kontak antara
permukaan chip prosessor dengan headsink dibawah kipas. Paste
pengantar panas tersebut akan menjaga kontak CPU dengan kipas
sehingga prosessor akan leih terjaga. Langkah pemasangan heatsink
prosessor adalah sebagai berikut :
a. sebelum heatsink dipasang berikan thermal paste pada chip
prosessor.
b. Perhatikan posisi kabel daya untuk kipas dengan lokasi konektor
dayanya, kondisikan agar konektor daya tidak bersinggungan
dengan kipas.
c. Pasang heatsink sesuai dengan pengait pada socket prosessor
dengan benar.
d. Sambungkan kabel daya ke motherboard.
e. Konektor daya untuk kipas biasanya memiliki 3 PIN dan biasanya
PINnya tertulis FAN
Gambar 2.12 Screenshot Pemasangan Heatsink
3. RAM dipasang secara slot pada motherboard, hanya pasang dan
hidupkan komputer untuk menguji RAM yang telah terpasang.
Langkah pemasangan RAM pada motherboard adalah sebagai berikut :
a. buka pengunci pada masing-masing ujung slot pada motherboard.
55
b. Masukan RAM pada slot dengan melihat tanda cekungan yang
diberikan, tekan dengan kuat sehingga penguncinya akan menutup
dengan sendirinya.
c. Jika terjadi masalah pada pemasangan, periksa kembali kedudukan
RAM.
Gambar 2.13 Screenshot Pemasangan RAM
4. Cara pemasangan motherboard pada casing adalah sebagai berikut :
a. siapkan casing terlebih dahulu
b. masukan dan pasang motherboard ke casing dan atur penempatan
sesuai dengan lubang-lubang yang telah ada di casing dan
motherboard.
c. Tempatkan motherboard sehingga port pada motherboard sesuai
dengan kedudukannya.
d. Pasang sekrup pengunci pada setiap lubang yang telah ada.
Gambar 2.14 Screenshot Pemasangan motherboard ke casing
5. setelah motherboard terpasang di casing secara pas, selanjutnya pasang
kabel I/O pada casing dan panel pada casing, langkah-langkah
pemasngan kabel ke motherboard adalah sebagai berikut :
56
a. pasang kabel I/O pada slot / port yang sudah ada padamotherboard
b. perhatikan nama pada kabel dan cocokan dengan yang ada di
motherboard
Gambar 2.15 Screenshot Pemasangan Kabel ke motherboard
6. Sebelum pemasangan VGA card, kenali dulu tipe VGA card yang akan
digunakan. Teliti bahwa VGA card tersebut sudah support dengan
motherboard yang tersedia. Langka-langkah pemasangan VGA adalah
sebagai berikut :
a. perhatikan pada motherboard adanya slot VGA sesuai dengan PCI,
AGP, PCA express
b. jika sudah diketahui jenis slot yang digunakan, pasang VGA card
yang sudah tersedia.
c. Sesuaikan port VGA dengan case CPU untuk tempat memasang
VGA card
d. Untuk menguatkan pemasangan VGA, maka kuatkan dengan
obeng / sejenisnya
e. Cek kembali apakah VGA card telah terpasang dengan benar
Gambar 2.17 Screenshot Pemasangan VGA Card
57
7. sebelum pemasangan sound card, kenali dulu tipe sound card yang
akan digunakan. Teliti bahwa sound card tersebut sudah support
dengan motherboard yang tersedia. Langka-langkah pemasangan
sound card adalah sebagai berikut :
a. jika sudah diketahui jenis slot yang digunakan, pasang sound card
yang sudah tersedia.
b. Sesuaikan port sound card dengan case CPU untuk tempat
memasang sound card
c. Untuk menguatkan pemasangan sound card, maka kuatkan dengan
obeng / sejenisnya
d. Cek kembali apakah sound card telah terpasang dengan benar
Gambar 2.18 Screenshot Pemasangan Sound Card
8. Beberapa casing yang menggunakan sistem bracket yang dapat dilepas
untuk memudahkan pemasangan drive atau harddisk, berikut cara
menghubungkan harddisk ke motherboard :
a. masukan drive ke ruang untuk drive pada casing, sesuaikan posisi
ruang sekrup pada casing dan pasang sekrup agar drive tertahan
pada casing
b. hubungkan konektor kabel ke drive dan konektor kabel ke
motherboard, perhatikan terdapat dua tipe kabel IDE yaitu kabel
40-wire yang digunakan untuk harddidk dan kabel 34-wire
digunakan untuk flopy disk drive
c. pastikan pemasangan kabel tidak boleh terbalik.
58
Gambar 2.19 Pemasangan Drive
9. seperti halnya hardidsk, optical drive juga menggunakan jumper untuk
posisi master dan slave. Atur jamper tersebut pada posisi yang
diinginkan. Apabila hanya terdapat satu harddisk maka jumper berada
pada posisi master. Seandainya terdapat dua buah harddisk pada
sebuah komputer dan keduanya diaktifkan, maka satu harddisk
dijadikan master dan yang lainnya diatur pada posisi slave, berikut cara
pemasangan optical drive :
a. untuk memasang optical drive biasanya kita perlu melepas panel
depan casing terlebih dahulu, / tergantung jenis dan model casing
yang digunakan.
b. Pasanglah optical drive pada panel yang telah terbuka dengan
benar.
c. Pemasangan kabel data IDE dari optical drive ke motherboard
sama dengan pemasangan harddisk.
d. Pasang konektor optical drive dan ujung satunya ke motherboard
pada konektor yang bertuliskan CD.
e. Jangan lupa untuk selalu merapikan kabe-kabel tersebut agar tidak
saling terkait, jika perlu ikatlah agar lebih rapi.
59
Gambar 2.20 Pemasangan Optical Drive
10. cara pemasangan power supply adalh sebagai berikut :
a. masukan dan letakkan power supply pada rak dibagian belakang
casing, pasang pengunci ke 4 buah sekrup yang tersedia
b. hubungkan kabel daya dari power supply ke motherboard,
kemudian juga sambungkan kabel-kabel daya ke harddisk, optical
drive dan flopy jika ada.
c. Jika casing menggunakan kipas pendingin, maka hubungkan ke
catu daya atau ke motherboard sesuai dengan yang dimiliki.
d. Mengecek dan memasang kabel daya.
1. kabel daya untuk motherboard, berukuran paling besar
dibandingkan dengan kabel daya lainnya. Cari konektor kabel
ini pada motherboard, biasanya konektor tersebut diletakkan di
samping prosessor. Hubungkan
2. kabel daya untuk prosessor berbentuk segi empat kecil dengan
4 lubang konektor didalamnya, biasanya dipasang disamping
konektor, cari konektor lalu hubungkan.
3. Kabel daya untuk harddisk dipasang disamping kabel data pada
harddisk.
60
Gambar 2.21 Pemasangan Power Suply
11. Pengujian
Setelah memasang semua komponen pada PC kemudian
dilanjutkan dengan menghidupkan monitor lalu unit sistem. Program
FOST dari BIOS secara otomatis akan mendeteksi hardware yang
terpasang dikomputer.
Gambar 2.22 Pengujian
61
2.4.3 Instalasi Windows
1. Starting Windows
Gambar 2.23 screenshot Starting Windows
Setelah setting konfigurasi di virtual box kemudian mulai
menjalankan proses instalasi
2. Pemilihan Bahasa, waktu dan dan lay out keyboard
Gambar 2.24 screenshot Pemilihan Bahasa, waktu dan lay out keyboard
Setelah tampilan animasi starting windows berakhir, maka akan
segera melakukan instalasi windows 7 mulai dari pemilihan bahasa,
konfigurasi waktu dan lay out pada keyboard. Pilihlah sesuai dengan
yang diinginkan. setelah selesai lanjutkan pada jendela berikutnya.
62
3. Install Windows
Gambar 2.25 screenshot install windows
Pada jendela selanjutnya klik install windows untuk melanjutkan
penginstalan.
4. Memulai Set Up
Gambar 2.26 screenshot memulai Set Up
Selanjutnya set up akan segera dimulai. Tunggu proses berikut
sampai selesai dan ikuti langkah selanjutnya
5. persetujuan Lisensi
Gambar 2.27 screenshot Persetujuan Lisensi
63
pada jendela selanjutnya berikutnya yang muncul adalah jendela
persetujuan lisensi dan harus menyetujui persetujuan dengan memberi
tanda centang pada “ i accept the license terms “. Kemudian klik next
6. Tipe Instalasi
Gambar 2.28 screenshot Tipe Instalasi
Pada jendela selanjutnya kita dapat memilih tipe instalasi yang
diinginkan. Tipe instalasi upgrade dan custom. Upgrade digunakan untuk
mereka yang telah menggunakan windows vista yang sudah terinstal SP1
(service pack 1). Dan bagi yang baru akan menginstal windows 7 dapat
memilih custom
7. Pilihan Tempat Penyimpanan Windows
Gambar 2.29 screenshot Tempat Penyimpanan Instalasi
64
Pada jendela selanjutnya kita diharuskan untuk membuat partisi
seperti gambar dengan memilih new, dan menuliskan besar partisi yang
ingin kta buat. Setelah itu klik “apply”.
Gambar 2.30 screenshot patisi disk
Selanjutnya akan muncul tampilan seperti gambar dibawah ini, dan pilih “next”
untuk melanjutkan ke tahap selanjutnya.
8. Proses Instalasi
Gambar 2.31 screenshot Proses Install
Menunggu proses instalasi sampai selesai, maka set up secara
otomatis akan me restart komputer dengan sendirinya, dan akan kembali
booting seperti semula. Pada saat bersamaan windows akan mulai meng
update seperti registry dsb. Pada langkah selanjutnya windows kana
65
memulai pelayanan (service) pada komputer untuk melanjtkan instalasi.
Setelah persiapan selesai maka jendela instalasi sebelumnya akan tampil
kembali untuk menyelesaikan langkah-langkah instalasi.
9. Memberi Nama User
Gambar 2.32 screenshot Memberi Nama User
Jendela yang muncul setelah konfigurasi selesai adalah jendela
konfigurasi user mulai dari User Name, Compuer Name, Password,
Product Key, Windows Update, Waktu dan Jaringan.
10. Pengaturan Pengaman
Gambar 2.33 screenshot Pengaturan Pengaman
Selanjutnya melakukan konfigurasi password untuk keamanan
login. Jika perlu password ketikan password nya dua kali atau kosongkan
saja jika tidak ingin mempassword user.
66
11. Pengaturan Product Key
Gambar 2.34 screenshot Pengaturan Product Key
pada jendela berikutnya memasukan product key windows yang
terdapat pada box namun kita tetap dapat menggunakan windows jika
tidak ingin menggunakan trial.
12. Pilihan Proteksi Komputer
Gambar 2.35 screenshot Pilihan Proteksi Komputer
Pada langkah selanjutnya memilih jenis konfigurasi untuk
keamanan seperti automatic update dan sebaiknya memilih “user
recomended setting”
67
13. Pengaturan Waktu
Gambar 2.36 screenshot Pengaturan Zona Waktu
Pada jendela selanjutnya melakukan konfigurasi waktu dan tanggal
yang sesuai dengan waktu sekarang.
14. Pilihan Lokasi komputer
Gambar 2.37 screenshot Pemilihan Lokasi Komputer
Jika komputer yang digunakan sudah terkoneksi dalam jaringan,
maka dapat memilih salah satu jaringan yang digunakan pada saat itu
misalnya Home Network, Public Network, Work Network.
15. Akhir Pengaturan Windows
Gambar 2.38 screenshot Akhir Pengaturan Windows
68
Setelah melewati semua yang dibutuhkan windows, akan
dilanjutkan untuk menerapkan konfigurasi tadi dan tunggu proses sampai
selesai.
16. Tampilan Desktop Windows
Gambar 2.39 screenshot Tampilan Desktop windows
Selanjutnnya kita dapat memasuki jendela utama windows 7.
2.4.4 Instalasi Linux
1. Pemilihan Bahasa Untuk Komputer Pada Linux
Gambar 2.40 screenshot Pilihan Bahasa Untuk komputer pada Linux
Pilihan awal penginstalan, setelah itu komputer akan loading
sampai muncul seperti pada Gambar 2.36. setelah itu pilihlah bahasa yang
ingin dipakai untuk pengoperasian komputer. [ENTER].
69
2. Starting Instalation Linux
Gambar 2.41 screenshot starting Installation Linux
`setelah pemilihan bahasa yang diinginkan kemudian akan muncul
Gambar 2.37 dibawah ini, dapat dilihat bahwa da beberapa pilihan namun
juka ingin langsung menginstall tanpa mencoba tampilan lain maka bisa
memilih Install Ubuntu [ENTER]
3. Pihan Bahasa Untuk Instalasi
Gambar 2.42 screenshot Pilihan Bahasa Untuk Proses Instalasi
Setelah install ubuntu akan disajikan beberapa pilihan bahasa yang
ingin digunakan setelah instalasi selesai [ENTER]
70
4. Pemilihan Lokasi Waktu
Gambar 2.43 screenshot Pemilihan Lokasi waktu
Tahapan selanjutnya adalah memilih waktu berdasarkan lokasi
sesuai daerah yang ditempati.
5. Konfigurasi Keyboard
Gambar 2.44 screenshot Konfigurasi keyboard
Menentukan lay out keyboard yang digunakan sesuai standar
internasional keyboard lay out yaitu USA [ENTER]
71
Gambar 2.45 screenshot Konfigurasi keyboard
Gambar 2.46 screenshot Konfigurasi keyboard
6. Konfigurasi Jaringan
Gambar 2.47 screenshot konfigurasi Jaringan
Langkah selanjutnya adalah membuat sebuah hostname yang
berfungsi untuk mengidentifikasi komputer anda apabila memasuki sebuah
jaringan. Lalu tekan [CONTINUE]
72
7. Konfigurasi Zona Waktu
Gambar 2.48 screenshot Zona Waktu
Pada tahap ini kita diminta untuk menentukan zona waktu sesuai
dengan daerah tempat kita berada.
8. Pengaturan Partisi Disks
Gambar 2.49 screenshot Pengaturan Partisi Disk
Apabila ingin menentukan partisi secara leluasa yang akan dibuat
serta menentukan kapasitas masing-masing partisinya, maka pilih manual.
73
Gambar 2.50 screenshot Pengaturan Partisi Disk
Arahkan pilihan ke tipe harddisk yang terdeteksi seperti gamabr
2.48 dibawah ini [ENTER]
Gambar 2.51 screenshot Pilihan Membuat Partisi Baru
Pilih [yes] untuk membuat partisi baru yang masih kosong.
74
Gambar 2.52 screenshot Pengaturan Partisi
Pilih partisi yang masih kosong lalu tekan [ENTER]
Gambar 2.53 screenshot Membuat Partisi baru
Pilih “create new partition” untuk membuat partisi baru.
75
Gambar 2.54 screenshot Ukuran Partisi
Tentukan besar kapasitas partisi.
Gambar 2.55 screenshot Tipe Partisi Primary
76
Gambar 2.56 screenshot Lokasi Partisi
Tentukan lokasi partisi pada Primary Partition Untuk pilihan
“beginning” partisi diletakkan awal harddisk, demikian juga untuk partisi-
partisi lainnya.
Gambar 2.57 screenshot Menyudahi Partisi Primary
77
Setiap selesai membuat partisi pilih “Done setting up the partition”,
setelah itu buat lagi partisi selanjutnya.
Gambar 2.58 screenshot Partisi Baru
Setelah membuat partisi yang pertama, maka selanjutnya membuat
partisi yang kedua
Gambar 2.59 screenshot Partisi baru
Kemudian buat partisi baru kembali dengan memilih “create a new
partition”
78
Gambar 2.60 screenshot Ukuran Partisi
Tentukan kapasitas partisi yang diinginkan
Gambar 2.61 screenshot Tipe Partisi
Pilih tempat partisi, karena tadi sudah menggunakan tipe primary
maka untuk partisi yang kedua menggunkan tipe partisi logical.
79
Gambar 2.61 screenshot Pengaturan partisi
Gambar 2.62 screenshot cara penggunaan partisi
80
Gambar 2.63 screenshot Selesai mengatur partisi
Gambar 2.64 screenshot Mengakhiri pengaturan partisi
Setelah pengaturan semua partisi selesai, maka akhiri pengaturan
dengan memilih “finish partitioning and write changes to disk”
81
9. Konfigurasi Akun dan Password
Gambar 2.65 screenshot Perubahan Nama Pengguna Baru
Masukkan nama lengkap pengguna, pilih “continue” untuk
melanjutkan.
Gambar 2.66 screenshot Nama Pengguna Akun
Tentukan user untuk akun pengguna.
82
Gambar 2.67 screenshot Password Baru Pengguna
Selanjutnya tentuka password untuk akun pengguna
Gambar 2.68 screenshot Verifikasi Pasword
Masukan password yang sama dengan sebelumnya untuk verifikasi
password.
Gambar 2.69 screenshot Mengenskripsi Direktori
Langkah selanjutnya pilih “yes” untuk menkonfigurasi direktori
untuk enskripsi file yang tersimpan tetap terjaga
83
Gambar 2.70 screenshot Pengisian HTTP Proxy
Pengisian HTTP Proxy jika ada, bila tidak lanjutkan dengan
memilih “continue”.
10. Instalasi paket-paket Linux Ubuntu
Gambar 2.71 screenshot Persetujuan Instalasi
Gambar 2.72 screenshot Instalasi
Tunggu proses instalasi sampai selesai.
Gambar 2.73 screenshot Persetujuan Pengaturan Waktu ke UTC
84
Pada akhir instalasi kita diminta untuk menetujui kembali zona
waktu untuk komputer, jika ingin men set up ulang pilih “yes” jika tidak
pilih “no”
Gambar 2.74 screenshot I instalasi Selesai
Setelah itu kita harus me restast instalasi Linux yang telah kita
proses, pilih “continue” untuk melanjutkannya.
Gambar 2.75 screenshot Starting Ubuntu
Setelah itu kita tinggal menunggu loading ubuntu.
Gambar 2.76 screenshot Dekstop Linux
Setelah semua selesai, baru kita dapat menggunakan Linux Ubuntu
85
2.4.5 Perintah-perintah MS-DOS
1. Perintah MD
Berfungsi untuk membuat suatu direktori.
Rumus : MD [nama directory yang akan dibuat]
Contoh : Ketik MD kelompok1 untuk membuat direktori
kemudian tekan Enter.
Gambar 2.77 Screenshot MD kelompok
Gambar 2.78 Screenshot MD nama
86
Gambar 2.79 Screenshot MD nim
Setelah perintah MD dimasukkan, ternyata berjalan sesuai perintah.
2. Perintah CD
Berfungsi untuk memasukkan/turun ke suatu direktory atau sub
direktori.
Rumus : CD [nama direktory yang telah dibuat]
Contoh : Ketik CD kelompok1 untuk turun satu tingkat ke sub
direktori.
Gambar 2.80 Screenshot CD kelompok
87
Gambar 2.81 Screenshot CD nama
Gambar 2.82 Screenshot CD nim
Setelah perintah CD dimasukkan, ternyata berjalan sesuai perintah.
3. Perintah CD..
Berfungsi untuk naik satu level /tingkat dari suatu direktori.
Rumus : CD..
Contoh : ketik CD.. dari C:\Users\RINGGAS\kelompok1>cd..
untuk kembali ke C:\Users\RINGGAS>
88
Gambar 2.83 Screenshot CD..
Setelah perintah CD.. dimasukkan, ternyata berjalan sesuai perintah.
4. Perintah tree
Berfungsi untuk melihat sub-direktori yang telah dibuat dengan
system pohon.
Rumus : TREE
Ketik TREE pada C:\Users\RINGGAS\kelompok1>
Maka akan tampak sub-direktori yang ada dalam direktori
Guspan
Contoh :
C:\Users\RINGGAS\kelompok1>tree
Folder PATH listing
Volume serial number is 00000200 E8C6:0158
Gambar 2.84 Screenshot tree
89
Setelah perintah TREE dimasukkan, ternyata berjalan sesuai
perintah.
5. Perintah DATE
Berfungsi untuk melihat atau mengisikan tanggal yang berlaku pada
BIOS komputer.
Rumus : Date (mm-dd-yy) atau bulan- tanggal-tahun. Jika Anda
menyetujui tanggal yang ditampilkan layar monitor, maka Anda
cukup menekan tombol Enter saja tanpa perlu mengisi.
Contoh : C:\Users\RINGGAS\kelompok1>date The current date is : 31/03/2012
Enter the new date : <dd-mm-yy>
Setelah perintah CLS.. dimasukkan, ternyata berjalan sesuai perintah.
Gambar 2.85 Screenshot Date
Setelah perintah date dimasukkan, ternyata berjalan sesuai
perintah.
6. Perintah CLS
Berfungsi untuk membersihkan tampilan layar pada monitor.
Rumus : CLS. Ketik CLS (Clear Screen) di akhir sebuah Command
Prompt. Contoh : C:\Users\RINGGAS\kelompok1>>cls
90
Gambar 2.86 Screenshot CLS sebelum dijalankan
Gambar 2.87 Screenshot CLS setelah dijalankan
Setelah perintah CLS.. dimasukkan, ternyata berjalan sesuai perintah.
7. Perintah DIR
Berfungsi untuk melihat daftar isi dari suatu media penyimpanan.
Rumus : DIR [drive:][path][filename][syntax]
[drive] drive dimana isi media penyimpanan tersebut berada,
misalnya DIR D:
[path][filename] menyatakan direktori,dan/atau file yang
ingin dilihat.
Contoh : Ketik
91
C:\Users\RINGGAS\kelompok1>DIR
Volume in drive C has no label
Volume Serial Number is E8C6-0158
Directory of C:\Users\RINGGAS\kelompok1
31/03/2012 12:03 <DIR> .
31/03/2012 12:03 <DIR> ..
31/03/2012 12:10 <DIR> Anggi
31/03/2012 12:14 <DIR> Bagus
31/03/2012 12:17 <DIR> Elad
0 File(s) 0 bytes
5 Dir(s) 43.758.727.168 bytes free
C:\Users\RINGGAS\kelompok1>
Gambar 2.88 Screenshot DIR
Setelah perintah DIR dimasukkan, ternyata berjalan sesuai
perintah.
8. Perintah TIME
Berfungsi untuk melihat atau mengisikan tanggal yang berlaku
pada BIOS komputer.
Rumus : TIME (hour-minute-second) atau bulan- tanggal-
tahun. Jika kita menyetujui tanggal yang ditampilkan layar monitor,
maka kita cukup menekan tombol Enter saja tanpa perlu mengisi.
Contoh : C:\Users\Asus\kelompok_11>time The current time is : 12:20:52,92
Enter the new time:_
92
Gambar 2.89 Screenshot TIME
Setelah perintah TIME dimasukkan, ternyata berjalan sesuai
perintah.
9. Operasi Terminal
Tampilan terminal awal dibuka, kemudian ketikan perintah
“sudo su” untuk masuk ke login
Gambar 2.90 Screenshot Terminal linux
Kemdian setelah terminal masuk ke login, setelah
itu masukkan password untuk masuk ke super user. [enter]
93
Gambar 2.91 Screenshot Masukkan Password
Gambar 2.92 Screenshot Masuk direktori
Setelah masuk direktory, kemudian dilanjutkan
denganmengetikkan perintah “cd home” untuk masuk ke direktory
home. [enter]
Gambar 2.93 Screenshot Perintah masuk direktory home
Sekarang kita sudah berada di direktory home, kemudian
untuk membuat folder baru dengan mengetikkan “mkdir nama
folder”. Misal “mkdir klmpk1”. [enter]
94
Gambar 2.94 Screenshot Perintah Masuk home
Gambar 2.95 Screenshot Membuat folder klmpk1
Pada home telah muncul folder yang telah dibuat tadi.
Yaitu folder “kelmpk1”
Gambar 2.96 Screenshot Folder pada explorer
Selanjutnya masuk ke folder kelompok1 dengan
mengetikkan cd klmpk1. [enter]
95
Gambar 2.97 Screenshot Masuk Folder
Buat folder baru di dalam folder kelompok1 tersebut.
Dengan mengetikkan perintah mkdir anggi. [enter]
Gambar 2.98 Screenshot Membuat folder anggi
Maka akan terlihat folder baru yang bernama anggi didalam
folder kelompok1 satu tersebut jika dilihat melalui explorer.
Gambar 2.99 Screenshot Folder anggi pada eksplorer
Lanjutkan melakukan perintah membuat folder tersebut
sampai folder nim yaitu 21120111120001 pada folder anggi.
96
Gambar 2.100 Screenshot Masuk folder anggi
Gambar 2.101 Screenshot Buat folder Nim
Gambar 2.102 Screenshot Folder nim pada ekplorer
Gambar 2.103 Screenshot Masuk folder nim
97
Kemudian setelah masuk folder nim, maka biodata berupa
.txt, dengan mengetikan perintah nano perintah biodata_anggi.txt.
[enter]
Gambar 2.104 Screenshot Perintah Memanggil aplikasi nano
Masukkan biodata yang ingin diisikan.
Gambar 2.105 Screenshot Tampilan nano
Masukkan biodata yang ingin diisikan. Disini berupa nama, nim,
no hp, dan email.
Gambar 2.106 Screenshot Pengisian biodata
Kemudian klik ^X untuk save. [enter]
98
Gambar 2.107 Screenshot Nano setelah disimpan
Gambar 2.108 Screenshot Nano
Maka akan muncul pada ekplorer biodata anggi didalam folder nim
yaitu 21120111120001. Ulangi langkah dari awal apabila ingin
membuat biodata berikutnya.
Gambar 2.109 Screenshot File .txt pada ekplorer
99
Gambar 2.110 Screenshot Terminal
2.4 STUDI KASUS
Tipe Kasus 1 : Komponen Komputer
Identifikasi Masalah:
Teman Anda telah membeli sebuah motherboard dengan merek ASROCK
dengan seri X5TREME 3:
CPU socket = LGA 1336
CHIPSET = X 58
SLOT RAM = 6X DDR3
Intergrated Graphics = N/A
Intergrated Audio = VIA VT2020 AUDIO CODEC 7.1 CH HD
Intergrated Lan = Realtek gigabyte lan
Expansion slot = 3 X PCI X16
2X PCI
1X PCIe X1
2 X SATA 3 6Gb/s
6 X SATAII 3Gb/s
Bantu teman anda dalam menentukan komponen yang lain agar dapat
menjadi personal komputer yang dapat digunakan
Solusi :
Motherboard :
RAMPAGE III Extreme LGA 1336, Intel X58, QPI 6.4 GT/s, DDR
3 Triple Channel, 4x PCI Express, 16x2.0, SATA III, USB 3.0, Firewire,
Audio.
100
Kami memilih ini karena CPU socket yang digunakan LGA 1336,
dan kami merasa motherboard yang kami pilih cocok dengan socket yang
tersedia.
Gambar 2.111 Motherboard
Prossesor :
Intel Core i7 960 (Box) 3.2 GHz, QPI 4.8, HT, 8 MB Cache,
LGA1366
Kami memilih Intel Core i7 920 karena memiliki socket LGA 1366
dan cocok dengan socket yang tersedia.
Gambar 2.112 prosessor
VGA :
Asus GTX 560 Ti DIRECTCU II TOP 1280Mb 320Bit DDR5.
Kami memilih VGA ini karena sesuai dngan kebutuhan mahasiswa
yang hobby nge-game, dan kemampuan VGA ini dalam menjalankan
game cukup memadai.
101
Gambar 2.113 VGA
RAM :
CORSAIR Dominator GT (CMT12GX3M3A2000C9)
(i7/1355,Triple Chanel 4GB DDR3 PC3-16000 Ultimate Performance .
RAM yang kami pilihkan ini merupakan RAM yang memiliki
kapasitas yang cukup besar.
Gambar2. 114 RAM
Power Supply :
CORSAIR AX 1200W
Menggunakan power supply 1200 w kami rasa cukup cocok jika
disesuaikan dengan motherboard dan juga kebutuhan.
Gambar 2.115 power supply
102
Cashing :
Cooler Master HAF -X RC-942-KKN Full Tower
Casing ini dilengkapi dengan Cooler master yang befungsi untuk
mengurangi panas pada CPU pada saat digunakan, dan juga casing ini
merupakan casing yang cocok dengan piranti yang ada didalamnya.
Gambar 2.116 Cashing
Hard Disk :
WDC SATA III Caviar Black 1 TB 64Mb
Kapasitas harddisk yang kami pilihkan disini cukup besar,
mengingat yang mau disimpan mahasiswa itu banyak sekali, jadi untuk
mengatasi kekurangan kapasitas dalam penyimpanan, kami memilihkan
harddisk 1 terabyte
Gambar 2.117 Hardsisk
Optical Drive :
Lite On DVDRW Sata 24x OEM
Untuk memudahkan dalam pembacaan perangkat
penyimpan berupa kaset, maka kami pilihkan DVD RW sata 24x
OEM, yang dapat membaca semua jenis kaset, mulai dari VCD,
VCD RW, dll.
103
Gambar 2.118 Optical Drive
Sound Card :
Sound Blaster X-Fi Xtreme
Untuk menambah performa suara, kami menambahkan
Sound Blaster X-Fi Xtreme karena memiliki PCIe X1.
Gambar 2.119 Sound Card
Heatshink : V8 GT
Menggunakan heatsink V8 GT untuk mengantisipasi panas yang
ditimnbulkan oleh panas prosesor yang harus bekerja dengan performa tinggi.
Gambar 2.120 Heatshink
104
Tipe Kasus 2 : Hidden folder menggunakan CMD
Identifikasi Masalah : menyembunyikan dan memunculakan file
Solusi :
Dalam beberapa masalah tertentu tentang folder dapat terhidden biasanya
disebabkan oleh virus. Berikut cara menyembunyikan dan menapilkan file atau
folder tersebut.
1. Menyembunyikan folder anggi, dengan cara mengetikkan perintah
Attrib +s +h /s /d
Keterangan :
Tanda + pada +s +h untuk menghilangkan
Perintah /s untuk identitas file
Perintah /d untuk identitas folder
Gambar 2.121 Perintah Hidden File dengan Menggunakan Atribut
2. Menampilkan file yang terhidden, dengan mengetikkan perintah attrib
–s –h /s /d
Keterangan : Tanda – pada –s –h untuk menampilkan
105
Gambar 2.122 Perintah Hidden File dengan Menggunakan Atribut
106
1.5. KESIMPULAN
1. Komputer adalah suatu perangkat elektronik yang mampu menerima
input, mengolah input (proses), memberikan informasi, serta bekerja
secara otomatis. Adapun elemen elemen yang meyusun komputer terdiri
perangkat keras (hardware), perangkat lunak (software), dan pengguna
komputer (brainware).
2. DOS (Disk Operating System) merupakan sistem operasi yang pertama
kali dibuat oleh Microsoft dengan berbasiskan tampilan karakter teks.
Perintah-perintah yang terdapat dalam DOS terbagi dalam dua kategori
besar yaitu :
a. Internal Command adalah perintah-perintah yang telah tersimpan
dalam memori komputer pada saat pembacaan DOS selesai.
Contoh : date, del, cls, copy, copy con, dir, prompt, ren, time, type, ver.
b. External Command adalah pelaksanaan seluruh perintah-perintah yang
diperlukan program eksekusi yang berektensi COM atau EXE.
Contoh : chkdsk, diskcopy, format, label, move.
3. Windows adalah salah satu system operasi yang berbasis GUI. Karena
berbasis GUI (Graphical User Interface), Windows memiliki tampilan
lebih menarik. Selain itu, pengoperasian Windows juga lebih mudah .
4. Perbedaan Windows dan Linux
5.
PERBEDAAN WINDOWS LINUX
1.Awal
Perkembangannya.
Berkembang dari dunia
Mikro yang serba
personal.
Berkembang dari dunia
UNIX dengan segala
personal multitasking dan
multiusernya. Linux
dirancang dengan
karakteristik server atau
workstation high end.
107
2.Hak Atas
Kekayaan
Intelektual
Lisensi merupakan
syarat mutlak
menggunakannya.
Berlisensi gratis dan
mendorong penggunanya
untuk menyebarluaskan
perangkat lunak tersebut.
3.Kelengkapan
Program
Tidak menyediakan
banyak program setelah
diinstal, seperti Internet
Explorer, Media Player,
Notepad,dll.
Akan banyak ditemui
setelah diinstal, seperti :
Office Suite,Multimedia,
Internet,3D,Games,
Utility.
4.Konfigurasi
sistem
Sudah siap pakai Perlu menyunting file
secara manual melalui
command prompt.
5. Sistem File
Menggunakan FAT dan
NTFS.Tidak
membedakan
penggunaan huruf besar
atau kecil.
Menggunakan
ext2,ext3,reiserfs,xfs,ifs.M
embedakan penggunaan
huruf besar dan kecil.
6. Menangani Crash
Stabil.Apabila terjadi
crash dapat dimatikan
dengan mudah dengan
menekan Ctrl+Esc.
Merestart komputer
dengan cara menekan
Ctrl+Alt+Backspace
108
BAB III
Pemrograman Delphi Bagian I
3.1 Tujuan
1. Praktikan memahami struktur bahasa pemrograman pascal
2. Praktikan mengenal Borland Delphi sebagai tool untuk membuat
program
3. Praktikan dapat membuat program pascal sederhana menggunakan
Borland Delphi.
3.2 Dasar Teori
3.2.1 Pengenalan Borland Delphi
1. Borland Delphi
Borland Delphi merupakan sebuah alat pengembangan aplikasi-
aplikasi untuk sistem operasi Microsoft Windows. Delphi sangat
berguna dan mudah digunakan untuk membuat program berbasis
GUI (Graphical user interface) atau console (mode teks)
Gambar 3.1 screenshoot tampilan console delphi
Kelebihan yang dapat diambil ketika seorang pengembang
perangkat lunak menggunakan program Borland Delphi adalah :
A. Delphi mendukung pemrograman berorientasi objek (Object
Oriented Programing/OOP)
B. Pengembangan aplikasi secara cepat (Rapid Application
Development/RAD)
109
C. Menggunakan bahasa tingkat tinggi
D. Hasil dari proses kompilasi berupa sebuah file yang dapat
dieksekusi (executable file) sehingga lebih mudah dalam
pendistribusian program dan mengurangi banyaknya file
pendukung
E. Delphi menyediakan banyak sekali komponen yang dapat
digunakan. Selain itu banyak juga komponen yang bersunber
dari pihak ketiga yang biasana disertai dengan dokumentasi,
source code dan lain-lain. Komponen dari pihak ketiga bisa
yang komersil / freee
F. Mendukung banyak database server (MySQL, SQL Server,
Interbase, Oracle, dll) sehingga mempermdah dalam
membuat aplikasi database.
2. Bahasa Pemrograman Delphi
Pascal adalah bahasa dasar yang digunakan delphi. Bahasa
pascal diembangkan pada tahun1970 oleh professor Niklaus Wirth
di Politeknik Zurich, Swiss. Nama pascal diambil dari nama
seorang matematikawan Prancis yang bernama blaise Pascal.
Untuk memulai pemrograman dalam bahasa pascal, terlebih
dahulu kita harus mengetahui dulu struktur program dari bahasa
tersebut. Berikut adalah kerangka umum yang digunakan oleh
program pascal.
Program <judul program>
Uses <daftar unit>
<bagian deklarasi>
Begin
<statemen-statemen>
End.
<judul program> biasanya sama dengan nama program,
perhatikan contoh kode berikut :
Program contoh ;
110
<daftar unit> berisi daftar unit yang akan digunakan
dalam program. Unit merupakan suatu modul program yang
terpisah dan digunakan untuk menyimpan roses-proses tertentu
yang berkaitan. Untuk membatasi unit yang satu dengan unit yang
lainnya, digunakan tanda koma (,). Berikut contoh penggunaanya :
Uses Win32CRT, windows, SysUtils;
<bagian deklarasi> berisi macam-macam deklarasi
yang dibutuhkan oleh program, yang meliputi hal-hal berikut :
a. Deklarasi tipe data
b. Deklarasi konstanta
c. Deklarasi variabel
d. Deklarasi prosedur
e. Deklarasi fungsi
f. Deklarasi label
Berikut ini contok bentuk deklarasi
{deklarasi tipe data}
Tipe
Larik = array [1..100] of integer;
{deklarasi konstanta}
Cons;
N = 100;
{deklarasi prosedur};
Prosedur contoh {s: string};
Begin
Writeln (s)
End
{deklarasi fungsi}
Function kuadrat (a: integer): integer,
Begin
Kuadrat : “ a*a/;
End
{deklarasi label}
Label BARIS;
111
3.2.2 Program Hello Siskom
Setelah mengetahui struktur program dalam pascal, sekarang kita
akan menggunakan dalam program sederhana. Kita akan membuat
program console yang sederhana. Gunakan Console Aplication untuk
memulai membuat program baru.
Gambar 3.2 screenshoot items delphi
Progran program1;
Uses
Win32CRT;
Begin
ClrScr;
Writeln („selamat datang di praktikum dkp
2012‟);
Readln;
End.
simpan program tersebut dengan nama progran 1 degna ekstensi
.pas. periksa program diatas dengan kompilasi, tekan CTRL + F9 dan
untuk menjalankan program tekan F9 maka hasil yang akan didapat
adalah sebagai berikut.
Gambar 3.3 screenshoot tampilan compilasi delphi
112
3.3.3 Elemen Dasar Pascal
1. Variabel
Variabel adalah suatu pengenal yang didefenisikan oleh program
untuk menyimpan nilai atau data tertentu yang dibutuhkan dalam
program pada saat program sedang bejalan. Hal yang perlu
diperhatikan adalah tipe data dari variabel yang dideklarasian
haruslah sama dengan data atau nilai yang akan dimasukkan
kedalamnya. Berikut adalah bentuk umum dari pendeklarasian
variabel.
Var
NamaVariabel : tipe data;
Perhatikan contoh pendeklarasisn variabel dibawah ini
Var
x : integer ; {variabel x dengan tipe
integer}
nama : stirng [25; {variabel Nama dengan tipe
string}
x, y, z ; integer; {variabel x, y,z dengan tipe
integer}
untuk lebih mengetahui kegunaan variabel dalam program,
perhatikan contoh berikut.
program progra2;
uses
win32CRT;
var
nama : string [25];
kelompok : integer;
begin
Clrscr;
Write („nama : „);
Readln (nama);
Writeln;
Write („saya‟, nama, „anggota kelompok‟,
kelompok‟;
Readln;
End
113
Adapun aturan penamaan variabel dalam pascal adalah sebagai
berikut:
a. Tidak mengandung spasi
b. Tidak mengandung simbol
c. Tidak diawali dengan angka
d. Tidak menggunakan kata kunci yang terdapat pada pascal (for,
while, do dsb)
2. Konstanta
Berbeda dengan variabel, nilai konstanta tidak dapat diubah,
berikut bentuk umum pendeklarasiannya.
Const
NamaKonstanta1 = nilai_konstanta1;
NamaKonstanta2 = nilai_konstanta2;
Contoh
Const
MYPI = 3,1416
MAX RECORD = 100;
Berikut contoh prnggunaan dan menggunakan konstanta
Program program3
Uses
Win32CRT;
Const
Namaku = „Nama Kelompok‟;
Begin
Clrscr;
Write („saya‟ , namaku)‟
Readln;
End
3. Tipe Data Dasar
A. Tipe Bilangan Bulat
Tabel 3.1 tipe bilangan bulat
Tipe data Ukuran (byte) Rentang nilai
ShortInt 1 -128 -127
Integer 2 -32.768 – 32.768
LongInt 4 -2.147.483.648 – 2.147.438.640
Byte 1 0 – 255
Word 2 0 – 65.535
114
B. Tipe Data Rill
Tabel 3.2 tipe bilangan rill
Tipe data Ukuran (byte) Digit penting Rentang nilai
Real 6 11 -12 2.9*10-39
–
1,7*10-38
Single 4 7 – 8 1.5*10-45
–
3.4*1038
Double 8 15 – 16 5.0*10-324
–
1.7*10308
Extended 10 19 – 20 3.4*10-4932
–
1.1*104932
Comp 8 19 - 20 9.2*10-18
–
9.2*1018
C. Tipe Karakter
Tipe ini digunakan untuk mempresentasikan nilai-nilai
yang bertipe karakter, misalnya „A‟, „a‟, „$‟, „ „ dan sebagainya.
Berikut adalah contoh program yang menggunakan
variabel dengan tipe chart.
Program progra4;
Uses
Win32CRT
Var
Huruf1, huruf2 : char;
Beegin
Huruf1 := „A‟,
Huruf2 := „4‟;
Writeln (huruf1, huruf2);
End
D. Tipe String
Tipe string merupakan kumpulan dari karakter yang
terangkai menjadi satu kata. Contoh penggunaannya adalah
sebagai berikut.
Program program5;
Uses
Win32CRT;
Var
Stirng1, string2, stirng(6);
Begin
Stirng1 := „SISKOM‟;
String2 := „Sistem Komputer‟;
Writeln := (string1);
Writeln :=(srting2);
End.
115
E. Tipe Logika
Tipe Logika (bolean) merupakan tipr yang hanya memiliki
dua buah nilai, yaitu benar (true) atau salah (false). Berikut
contoh pendeklarasian
Var
saya, kamu: boolean;
Contoh pemberian nilai pada variabel sebagai berikut. Saya := true;
Kamu := false;
3.3.4 Operator dalam Pascal
Operator didefenisikan sebagai sesuatu yang digunakan untuk
melakukan operasi-operasi tertentu, misalnya operasi aritmatika,
penggunaan string dan lainnya.
1. Operator Aritmatika
Tabel 3.3 tabel operasi aritmatika
Operator Jenis Operasi Ripe Operand Tipe hasil Contoh
+ Penjumlahan Integer,
real
Integer,
real
a + b
- Pengurangan Integer,
real Integer,
real
x – 1
* Perkalian Integer,
real Integer,
real
a * b
/ Pembagian Integer,
real
real 5 / 3
Div Pembagian
untuk
bilangan
bulat
Integer Integer 10 div
4
Mod Sisa bagi Integer Integer 10 mod
3
116
Contoh program yang menggunakan operasi aritmatika
Program program6;
Uses
Win32CRT;
Const
X = 10;
Y = 3;
Begin
ClrScr
Writeln („x + y‟=‟ , x +y);
Writeln („x - y‟=‟ , x - y);
Writeln („x * y‟=‟ , x * y);
Writeln („x / y‟=‟ , x / y);
Writeln („x div y‟=‟ , x div y);
Writeln („x mod y‟=‟ , x mod y);
End.
2. Operator Logika
A. Operasi not
Program program7;
Uses
Win32CRT;
Var
A : boolean;
Begin
ClrScr;
A := false;
A := not A;
Writeln (A);
Readln;
End
B. Operasi and
Program program8;
Uses
Win32CRT
Begin
ClrScr;
Writeln („true and true = „ , true and true);
Writeln („true and false = ‟ , true and false);
Writeln („false and true= ‟ , false and true);
Writeln („false and false= ‟ , false and false);
Readln;
End.
117
C. Operator or
Program program9;
Uses
Win32CRT
Begin
ClrScr;
Writeln („true or true = „ , true or true);
Writeln („true or false = ‟ , true or false);
Writeln („false or true= ‟ , false or true);
Writeln („false or false= ‟ , false or false);
Readln;
End.
D. Operasi xor
Program program10;
Uses
Win32CRT
Begin
ClrScr;
Writeln („true xor true = „ , true xor true);
Writeln („true xor false = ‟ , true xor false);
Writeln („false xor true= ‟ , false xor true);
Writeln („false xor false= ‟ , false xor false);
Readln;
End.
3. Operator Relasional
Tabel 3.4 operasi relasional
Operator Arti Contoh
= Sama dengan A = 3
< > Tidak sama dengan A < > 3
< Lebih kecil A < 1
> Lebih besar A > 1
< = Lebih keil sama dengan A <= B
>= Lebih besar sama dengan A >= B
3.3.5 Input Output
Untuk membaca masukan dari keyboard, kita menggunakan
readln dalam ascal. Berikut contoh program yang meneeerima
masukan dari keyboard.
118
Program program11;
Uses
Win32CRT
Var
A, B : integer;
Begin
ClrScr;
Writeln („menghitung luas persegi panjang‟);
Writeln („‟);
Write („nilai panjang = ‟); readln (A);
Write („nilai lebaar =‟); readln (B);
Writeln („luas = ‟ , A * B);
Readln;
End.
3.3.6 Pengkondisian
1. Statemen if
program Program12;
uses
win32CRT;
var
NA, NUTS, NUAS: real;
NI : char;
begin
ClrScr;
write(„Masukkan Nilai UTS : ‟); readln(NUTS);
writeln;
write(„Masukkan Nilai UAS : ‟); readln(NUAS);
writeln;
NA := (0.6 * NUAS) + (0.4 * NUTS);
if (NA >= 80) then begin
NI := „A‟;
end else if (NA >= 70) then begin
NI := „B‟;
end else if (NA >= 50) then begin
NI := „C‟;
end else if (NA >= 30) then begin
NI := „D‟;
end else begin
NI := „E‟;
end;
writeln („Nilai Akhir : ‟, NA);
writeln („Indeks : ‟, NI);
readln;
end.
2. Statemen case
119
program Program13;
uses
win32CRT;
var
hari : integer;
begin
ClrScr;
write(„masukkan nomor hari (1..7) ‟);
readln(hari);
wrriteln;
case (hari) of
1 : write („Hari Minggu‟);
2 : write („Hari Senin‟);
3 : write („Hari Selasa‟);
4 : write („Hari Rabu‟);
5 : write („Hari Kamis‟);
6 : write („Hari Jumat‟);
7 : write („Hari Sabtu‟);
else write („angka yang anda masukkan
salah‟);
end;
readln;
end.
3.3.7 Pengulangan
A. Statemen for 1. For to do
program Program14;
uses
win32CRT; var
i : integer;
begin
ClrScr;
for i:=0 to 5 do
writeln(i);
readln;
end.
2. For downto do program Program15;
uses
win32CRT;
var
i : integer;
begin
ClrScr;
for i:=5downto 0 do begin
writeln(i);
end;
readln;
end.
120
B. Statemen while
program Program16;
uses
win32CRT;
var
i : integer;
begin
ClrScr;
i := 1;
while (i <=5) do begin
writeln („Praktikum DKP‟);
i := i+1;
end;
readln;
end.
C. Statemen repeat
program Program17;
uses
win32CRT;
var
i : integer;
begin
ClrScr;
i := 1;
repeat
writeln („Praktikum DKP‟);
i := i+1; u
ntil (i > 5);
readln;
end.
121
3.3 Analisa dan Pembahasan
3.3.1 Program Sederhana Console
Program yang dibuat untuk percobaan kali ini berbasis console.
Cara membuat program dengan console yaitu : File > New > Other >
Console Application.
1. Program Selamat Datang
Program_kelompok1_program1;
uses
SysUtils;
begin
writeln(„selamat datang di Praktikum DKP 2012‟);
readln;
end.
Gambar 3.4 screenshoot Source code program 1
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
122
Gambar 3.5 screenshoot program selamat datang
Program ini berfungsi untuk menampilkan suatu output berupa tulisan
pada layar monitor.
3.3.2 Variabel
Program_kelompok1_program2;
uses
SysUtils;
var
nama:string[25];
klmpk:integer;
begin
write(„nama : ‟);
readln(nama);
write(„kelompok : ‟);
readln(klmpk);
writeln;
write(„Saya ‟,nama, „anggota kelompok ‟,klmpk);
readln;
end.
Gambar 3.6 screenshoot Source code program 2
123
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
String[25] : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe string dengan panjang maksimal
25 karakter.
Integer : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe integer untuk bilangan bulat.
Write : Digunakan untuk menampilkan dan menginput
informasi ke monitor.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.7 screenshoot penggunaan variabel
Program ini digunakan untuk menampilkan kembali input yang telah
kita tuliskan pada program tersebut.
3.3.3 Konstanta
Program Kelompok1_Program3;
const
namaku = „Nama Kelompok‟;
begin
writeln(„Saya ‟,namaku);
readln;
end.
124
Gambar 3.8 screenshoot Source code program 3
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Const : Menerangkan bahwa program tersebut menggunakan
konstanta dengan nilai yang sudah ditetapkan.
Write : Digunakan untuk menampilkan dan menginput informasi ke
monitor
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.9 screenshoot kegunaan konstanta
Program ini berfungsi untuk menampilkan suatu output dengan nilai
konstanta yang telah diinput sebelumnya.
125
3.3.4 Tipe Karakter Char
Program Kelompok1_Program4;
uses
SysUtils;
var
huruf1,huruf2:char;
begin
huruf1:=„A‟;
huruf2:=„4‟;
writeln(huruf1,huruf2);
readln;
end.
Gambar 3.10 screenshoot Source code program 4
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Char : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe karakter.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
126
Gambar 3.11 screenshoot penggunaan variabel char
Program ini berfungsi untuk menampilkan tulisan berupa karakter
pada layar monitor. Ketika dimasukkan huruf1:=‟A‟ dan huruf2:=‟4‟
maka akan tampil tulisan A4 pada layar.
3.3.5 Tipe String
Program Kelompok1_Program5;
uses
SysUtils;
var
string1,string2:string[6];
begin
string1:=„SISKOM‟;
string2:=„Sistem Komputer‟;
writeln(string1);
writeln(string2);
readln;
end.
Gambar 2.12 screenshoot Source code program 5
127
Program Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
String[6] : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe string dengan panjang maksimal 6
karakter.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.13 screenshoot penggunaan string
Program ini berfungsi untuk menampilkan tulisan berbasi variabel
string yang dibatasi hanya sampai 6 karakter saja. Oleh karena itu
tidak semua tulisan dapat tampil karena hanya 6 karakter saja yang
diperbolehkan untuk tampil pada output.
3.3.6 Operasi Aritmatika
Program Kelompok1_Program6;
uses
SysUtils;
const
x=10;
y=3;
begin
writeln(„x + y = ‟, x + y);
writeln(„x - y = ‟, x - y);
writeln(„x * y = ‟, x * y);
writeln(„x / y = ‟, x / y);
writeln(„x div y = ‟, x div y);
writeln(„x mod y = ‟, x mod y);
128
readln;
end.
Gambar 3.14 screenshoot Source code program 6
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Const : Menerangkan bahwa program tersebut menggunakan
konstanta dengan nilai yang sudah ditentukan.
+ - * / div mod : Operasi Aritmatika
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.15 screenshoot penggunaan operasi aritmatika
Program ini digunakan jika ingin menggunakan operasi aritmatika di
dalam program. Seperti misalnya penambahan, pengurangan,
perkalian, dll.
129
3.3.7 Tipe Logika
Program Kelompok1_Program7;
uses
SysUtils;
var
A:boolean;
begin
A:=false;
A:=not A;
writeln(A);
readln;
end.
Gambar 3.16 screenshoot Source code program 7
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Boolean : Menerangkan bahwa program menggunakan variabel
boolean (true or false).
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
130
Gambar 3.17 screenshoot penggunaan logika
Program ini digunakan apabila ingin menampilkan hasil yang
berkebalikan dengan nilai dari variabel yang telah dimasukkan.
Contoh seperti pada program di atas, diberikan nilai A:=false
kemudian diberikan kembali nilai A:=not A yang akan menghasilkan
output TRUE.
3.3.8 Operator And
Program Kelompok1_Program8;
uses
SysUtils;
begin
writeln(„true and true = ‟, true and true);
writeln(„true and false = ‟, true and false);
writeln(„false and true = ‟, false and true);
writeln(„false and false = ‟, false and false);
readln;
end.
Gambar 3.18 screenshoot Source code program 8
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
131
And : Operator logika menyatakan perbandingan. And
digunakan apabila diinginkan keluaran dengan hasil true
dimana inputan-inputannya kedua duanya harus bernilai
true. Jika salah satu bernilai true maka hasil keluaran akan
bernilai false.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.19 screenshoot pengunaan operator and
Program ini berfungsi untuk menampilkan output berdasarkan hasil
perbandingan AND dari dua macam input (true – false) yang
dimasukkan sebelumnya.
3.3.9 Operator Or
Program Kelompok1_Program9;
uses
SysUtils;
begin
writeln(„true or true = ‟, true or true);
writeln(„true or false = ‟, true or false);
writeln(„false or true = ‟, false or true);
writeln(„false or false = ‟, false or false);
readln;
end.
132
Gambar 3.20 screenshoot Source code program 9
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Or : Operator logika menyatakan perbandingan. Or digunakan
apabila diinginkan keluaran dengan hasil true dimana
inputan-inputannya salah satu bernilai true dan false atau
kedua-duanya true.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.21 screenshoot penggunaan operator or
Program ini berfungsi untuk menampilkan output berdasarkan hasil
perbandingan OR dari dua macam input (true – false) yang
dimasukkan sebelumnya.
3.3.10 Operator Xor
Program Kelompok1_Program10;
133
uses
SysUtils;
begin
writeln(„true xor true = ‟, true xor true);
writeln(„true xor false = ‟, true xor false);
writeln(„false xor true = ‟, false xor true);
writeln(„false xor false = ‟, false xor false);
readln;
end.
Gambar 3.22 screenshoot Source code program 10
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Xor : Operator logika menyatakan perbandingan. Xor
digunakan apabila diinginkan keluaran dengan hasil true
dimana salah satu inputannya harus bernilai true. Meskipun
kedua inputan bernilai true maka hasil keluaran akan tetap
bernilai false.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
134
Gambar 3.23 screenshoot penggunaan operator xor
Program ini berfungsi untuk menampilkan output berdasarkan hasil
perbandingan XOR dari dua macam input (true – false) yang
dimasukkan sebelumnya.
3.3.11 Input Output
Program Kelompok1_Program11;
uses
SysUtils;
var
A,B:integer;
begin
writeln(„Menghitung Luas Persegi Panjang‟);
writeln(„‟);
write(„Nilai Panjang = ‟);readln(A);
write(„Nilai Lebar = ‟);readln(B);
writeln(„Luas = ‟,A*B);
readln;
end.
Gambar 3.24 screenshoot Source code program 11
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
135
Integer : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe integer untuk bilangan bulat.
Write : Digunakan untuk menampilkan dan menginput
informasi ke monitor.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.25 screenshoot penggunaan operasi input
Program ini digunakan apabila diinginkan untuk memasukkan data
dari keyboard dan ditampilkan pada monitor.
3.3.12 Statement If
Program Kelompok1_Program12;
uses
SysUtils;
var
NA,NUTS,NUAS:real;
NI:char;
begin
write(„Masukkan Nilai UTS : ‟);readln(NUTS);
writeln;
write(„Masukkan Nilai UAS : ‟);readln(NUAS);
writeln;
NA:=(0.6*NUAS)+(0.4*NUTS);
if (NA >= 80) then begin
NI:=„A‟;
end else if (NA >= 70) then begin
NI:=„B‟;
end else if (NA >= 50) then begin
NI:=„C‟;
end else if (NA >= 30) then begin
NI:=„D‟;
136
end else begin
NI:=„E‟;
end;
writeln(„Nilai Akhir : ‟,NA);
writeln(„Indeks : ‟,NI);
end.
Gambar 3.26 screenshoot Source code program 12
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Char : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe karakter.
Real : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe bilangan real.
If – then : Suatu statemen kondisional jika banyak pilihan
kemungkinan yang akan terjadi.
Write : Digunakan untuk menampilkan dan menginput
informasi ke monitor.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
137
Gambar 3.27 screenshoot penggunaan statement if
Program ini akan menampilkan suatu hasil dari perhitungan nilai UTS
dan UAS serta memberikan indeks nilai berdasarkan statemen if –
then. Jika nilai diatas 80, maka nilai A, jika nilai diatas 70 maka nilai
B, dst.
3.3.13 Statement Case
Program Kelompok1_Program13;
uses
SysUtils;
var
hari:integer;
begin
write(„Masukkan nomor hari (1..7) : ‟);
readln(hari);
writeln;
case (hari) of
1 : write („Hari Minggu‟);
2 : write („Hari Senin‟);
3 : write („Hari Selasa‟);
4 : write („Hari Rabu‟);
5 : write („Hari Kamis‟);
6 : write („Hari Jumat‟);
7 : write („Hari Sabtu‟);
else write(„Angka yang anda masukkan salah‟);
end;
readln;
end.
138
Gambar 3.28 screenshoot Source code program 13
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Integer : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe bilangan bulat.
Case – of : Suatu statemen kondisional jika banyak pilihan
kemungkinan yang akan terjadi.
Write : Digunakan untuk menampilkan dan menginput
informasi ke monitor.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.29 screenshoot penggunaan statement case 1
139
Gambar 3.30 penggunaan statement case 2
Fungsi dari program ini hampir sama dengan program yang
menggunakan statemen if – then. Program ini akan menampilkan
suatu hasil dari pilihan yang kita input. Apabila kita memilih 1, maka
tampil „Hari Minggu‟, apabila kita memilih 2, maka tampil „Hari
Senin, sampai pada pilihan 7 yaitu „Hari Sabtu”. Apabila pilihan kita
tidak tertera, maka program akan menampilkan tulisan kesalahan.
3.3.14 Statement For
Program Kelompok1_Program14;
uses
SysUtils;
var
i:integer;
begin
for i:=0 to 5 do
writeln(i);
readln;
end.
140
Gambar 3.31 screenshoot Source code program 14
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Integer : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe bilangan bulat.
For-to-do : Menerangkan bahwa program akan menuliskan suatu
nilai yang berurutan secara meningkat dari nilai terkecil
hingga terbesar dan sampai nilai yang telah ditentukan.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.32 screenshoot penggunaan statement for
Program ini akan menampilkan nilai 0 dan terus meningkat sampai
dengan 5 secara berurutan.
141
3.3.15 Statement Down to do
Program Kelompok1_Program15;
uses
SysUtils;
var
i:integer;
begin
for i:=0 downto 5 do begin
writeln(i);
end;
readln;
end.
Gambar 3.33 screenshoot Source code program 15
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program
tersebut.
Integer : Menerangkan bahwa program tersebut
menggunakan variabel dengan tipe bilangan bulat.
For-downto-do : Menerangkan bahwa program akan menuliskan
suatu nilai yang berurutan secara menurun dari nilai
terbesar hingga nilai terkecil dan sampai nilai yang
telah ditentukan.
Writeln : Digunakan untuk menampilkan output ke monitor
dan memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
142
Gambar 3.34 screenshoot penggunaan statement down to do
Program ini akan menampilkan nilai 5 dan terus menurun sampai
dengan 0 secara berurutan.
3.3.16 Statement While
Program Kelompok1_Program16;
uses
SysUtils;
var
i:integer;
begin
i:=1;
while (i <= 5) do begin
writeln(„Praktikum DKP‟);
i:=i+1;
end;
readln;
end.
Gambar 3.35 screenshoot Source code program 16
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
143
Integer : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe bilangan bulat.
While-do : Menerangkan bahwa program akan menuliskan suatu
nilai yang sama secara terus menerus sampai ketika
jumlah nilai sudah mencapai target yang ditetapkan.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.36 screenshoot penggunaan statement while
Program ini akan menampilkan tulisan „Praktikum DKP‟ secara
berulang dari nilai i:=1 dan terus bertambah secara bertahap dengan
rumus i:=i+1 sampai state dimana nilai i <= 5.
3.3.17 Statement Repeat
Program Kelompok1_Program17;
uses
SysUtils;
var
i:integer;
begin
i:=1;
repeat
writeln(„Praktikum DKP‟);
i:=i+1;
until (i > 5);
readln;
end.
144
Gambar 3.37 Source code program 17
Program : Menerangkan nama program.
Uses : Menerangkan unit yang digunakan program tersebut.
Integer : Menerangkan bahwa program tersebut menggunakan
variabel dengan tipe bilangan bulat.
Repeat : Menerangkan bahwa program akan menuliskan suatu
nilai yang sama secara terus menerus hingga mencapai
jumlah target yang ditetapkan.
Writeln : Digunakan untuk menampilkan output ke monitor dan
memberikan satu enter setelahnya.
Readln : Digunakan untuk membaca masukan dari user.
Gambar 3.38 screenshoot penggunaan statement repeat
Program ini akan menampilkan tulisan „Praktikum DKP‟ secara
berulang dimulai dari i:=1 dan terus bertambah secara bertahap
dengan rumus i:=i+1 sampai pada akhirnya nilai i > 5.
145
3.3.18 Program Mengalikan Dua Bilangan Bulat dengan Operator (+)
program kelompok1_program18;
uses
SysUtils;
var
a,b,c,i:integer;
begin
writeln('masukkan bil 1: ');
readln(a);
writeln('masukkan bil 2: ');
readln(b);
begin
for i:=1 to b do
c:=c+a;
end;
writeln('hasil kali: ',c);
readln;
end.
Gambar 3.39 screenshoot source code dan compile operator
3.3.19 Program Mencari Luas Bangun Datar
Source code
program luas_bangun_datar;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a,b,c,d,j,m : integer;
h : char;
label k;
const
n = 2;
146
begin
k: writeln ('Program Menghitung Luas Bangun Datar');
writeln ('- - - - - - - - - - - - - - - - - - - ');
writeln ('');
writeln ('pilih menu berikut dengan menekan tombol
[1..3]');
writeln ('[1] Luas Persegi Panjang');
writeln ('[2] Luas Segitiga') ;
writeln ('[3] Keluar Program');
writeln ('');
writeln ('Masukkan Pilihan Anda : ');readln(a);
if (a=1)then begin
writeln ('Anda memilih program penghitung -Luas Persegi
Panjang-');
writeln ('');
writeln ('Masukkan panjang persegi panjang :
');readln(b);
writeln ('Masukkan lebar persegi panjang :
');readln(c);
d := b*c;
writeln ('Maka Luas Persegi Panjang tersebut adalah :
',d);
writeln ('');
writeln ('Mau menghitung lagi
[Ya(y)/tidak(n)?');readln(h);
writeln ('');
writeln
('"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""');
if (h='n') then begin
exit;
end else goto k;
end else if (a=2)then begin
writeln ('Anda memilih program penghitung -Luas
Segitiga-');
writeln ('');
writeln ('Masukkan sisi pertama segitiga :
');readln(b);
writeln ('Masukkan sisi kedua segitiga : ');readln(c);
writeln ('Masukkan sisi ketiga segitiga : ');readln(d);
j := (b+c+d) div n;
m :=(j*(j-b)*(j-c)*(j-d));
writeln ('Maka Luas Segitiga tersebut adalah :
',sqrt(m));
writeln ('');
writeln ('Mau menghitung lagi
[Ya(y)/tidak(n)?');readln(h);
writeln ('');
writeln
('"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""');
if (h='n') then begin
exit;
end else goto k;
end else if(a=3)then begin
writeln ('Anda Akan Keluar Dari Program Menghitung
Luas Bangun Datar');
147
writeln ('');
writeln ('apa anda yakin?? [Ya(y)/tidak(n)]');readln
(h);
writeln ('');
writeln
('"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""');
if (h='y') then begin
exit;
end else goto k;
end;
end.
Gambar 3.40 Screenshot souce code #1 program luas_bangun_datar
Pada source code ini diterangkan nama program yang dibuat yaitu
“luas_bangun_datar” , penggunaan library SysUtils , pendeklarasian
variabel yaitu a,b,c,d,j,m dengan tipe data integer , h dengan tipe data
char , label k , dan konstanta n adalah 2 . Kemudian penulisan source
code setelah struktur begin . Label “k” diletakkan di awal source code
untuk memanggilnya . Source code awal yaitu tampilan yang akan
ditampilkan pada awal ketika program dijalankan seperti yang sudah
ditetapkan dalam modul dengan menggunakan writeln.
148
Gambar 3.41 Screenshot source code #2 program luas_bangun_datar
Setelah tampilan awal program sudah dibuat tinggal membuat
bagaimana program bekerja . Pada source code ini , dijelaskan ketika
input awal adalah 1 maka program akan menuju perhitungan luas
persegi panjang yang ditandai dengan tulisan “Anda memilih program
penghitung -Luas Persegi Panjang-” yang kemudian diminta untuk
memasukkan panjang dan lebar persegi panjang. Lalu masukan data
tersebut akan diolah sesuai dengan rumus luas persegi panjang yaitu
yang kemudian hasilnya akan dioutputkan pada tampilan
program yang kemudian akan ditanya untuk menghitung program lagi
atau tidak , jadi ketika inputan adalah “n” maka program akan
langsung exit dan sebaliknya ketika inputan adalah “y” maka program
akan berlanjut ke awal program ketika program dijalankan dengan
bantuan label ”k” .
Gambar 3.42 Screenshot source code #3 program luas_bangun_datar
149
Pada source code ini , dijelaskan ketika input awal adalah 2 maka
program akan menuju perhitungan luas segitiga yang ditandai dengan
tulisan “Anda memilih program penghitung -Luas Segitiga-” yang
kemudian diminta untuk memasukkan sisi pertama, kedua dan ketiga
pada segitiga . Lalu masukan data tersebut akan diolah sesuai dengan
rumus luas segitiga umumnya yaitu √ ( )( )( )
dimana
yang kemudian hasilnya akan dioutputkan pada tampilan
program yang kemudian akan ditanya untuk menghitung program lagi
atau tidak, jadi ketika inputan adalah “n” maka program akan
langsung exit dan sebaliknya ketika inputan adalah “y” maka program
akan berlanjut ke awal program ketika program dijalankan dengan
bantuan label ”k”.
Gambar 3.43 Screenshot source code #4 program luas_bangun_datar
Pada source code ini , dijelaskan ketika input awal adalah 3 maka
program akan menuju menu keluar program yang ditandai dengan
outputan “Anda Akan Keluar Dari Program Menghitung Bangun
Datar ” lalu akan diminta untuk meyakinkan untuk keluar program
dengan outputan “apa anda yakin?? [Ya(y)/Tidak(n)]” jadi ketika
inputan adalah “y” maka program akan langsung exit dan sebaliknya
ketika inputan adalah “n” maka program akan berlanjut ke awal
program ketika program dijalankan dengan bantuan label ”k”.
150
Gambar 3.44 Screenshot awal program luas_bangun_datar (running)
Hasil program awal dari source code yang telah dituliskan yang
sudah sesuai dengan tampilan yang diminta oleh modul yang
kemudian diminta untuk memilih menu luas persegi panjang atau luas
segitiga atau keluar dari program .
Gambar 3.45 Screenshot program luas_bangun_datar inputan awal 1
Ketika inputan awal adalah 1 maka program akan masuk ke menu
untuk menghitung luas persegi panjang yang kemudian diminta untuk
memasukkan besar dari panjang persegi panjang .
Gambar 3.46 Screenshot program luas_bangun_datar (menu luas persegi panjang)
151
Setelah dimasukkan besar panjang persegi panjang selanjutnya
akan diminta besar lebar persegi panjang , yang kemudian akan
otomatis menampilkan hasil nya dan akan muncul bersamaan
permintaan untuk menghitung lagi atau tidak .
Gambar 3.47 Screenshot program luas_bangun_datar (hitung lagi atau tidak)
Apabila pada permintaan untuk menghitung lagi atau tidak ,
diinputkan “y” maka program akan lanjut ke awal program .
Gambar 3.48 Screenshot program luas_bangun_datar inputan awal 2
Ketika inputan awal adalah 2 maka program akan masuk ke menu
untuk menghitung segitiga yang kemudian diminta untuk memasukkan
besar sisi pertama dari segitiga .
152
Gambar 3.49. Screenshot program luas_bangun_datar (menu segitiga)
Setelah dimasukkan besar sisi pertama selanjutnya akan diminta
besar sisi kedua dan ketiga dari segitiga , yang kemudian akan otomatis
menampilkan hasil nya dan akan muncul bersamaan permintaan untuk
menghitung lagi atau tidak .
Gambar 3.50 Screenshot program luas_bangun_datar inputan awal 3
Ketika inputan awal adalah 3 maka program akan masuk ke menu
keluar program yang kemudian akan ditandai dengan outputan “Anda
Akan Keluar Dari Program Menghitung Bangun Datar ” lalu akan
diminta untuk meyakinkan untuk keluar program dengan outputan “apa
anda yakin?? [Ya(y)/Tidak(n)]”
153
Gambar 3.51 Screenshot program luas_bangun_datar (menu keluar program)
Ketika diinputkan “y” maka program akan otomatis keluar .
Gambar 3.52 Screenshot program luas_bangun_datar (input tidak)
Ketika diinputkan “n” maka program akan menuju ke awal
program ketika dijalankan .
154
4. Program Mencari Luas Bangun Ruang
Source code luas balok
program luas_balok;
uses
SysUtils;
var
a,b,c,d : integer;
h : char;
label k;
const
e=2;
begin
k:writeln ('- - - - - - - - WELCOME ON OUR PROJECT - -
- - - - - --');
writeln ('-:::::: Program Penghitung Luas Permukaan
Balok ::::::-');
writeln ('- - - - - - - - - - - - - - - - - - - - - - -
- - - - -');
155
writeln ('- Rumus Permukaan Luas Balok adalah
L=2(p.l+p.t+l.t) --');
writeln ('- - - - - - - - - - - - - - - - - - - - - - -
- - - - -');
write ('Masukkan Panjang Balok : ');readln(a);
writeln ('');
write ('Masukkan Lebar Balok : ');readln(b);
writeln ('');
write ('Masukkan Tinggi Balok : ');readln(c);
writeln ('');
d:= e*((a*b)+(a*c)+(b*c));
writeln ('Maka Luas Permukaan Balok tersebut adalah '
,d);
writeln ('_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _');
writeln ('');
write ('Mau menghitung lagi [(y)] atau keluar program
[(n)] ?');readln(h);
writeln ('');
writeln ('');
if (h='n') then begin
exit;
end else goto k;
end.
Gambar 3.53 Screenshot souce code #1 program luas_balok
Pada source code ini diterangkan nama program yang dibuat yaitu
“luas_balok” , penggunaan library SysUtils , pendeklarasian variabel
yaitu a,b,c,d dengan tipe data integer , h dengan tipe data char , label k ,
dan konstanta e adalah 2 . Kemudian penulisan source code tampilan
awal program setelah struktur begin . Label “k” diletakkan di awal
source code untuk memanggilnya . Pada tampilan awal program akan
diminta memasukkan panjang , lebar , dan tinggi balok .
156
Gambar 3.54 Screenshot source code #2 program luas_balok
Setelah tampilan awal program sudah dibuat tinggal membuat
bagaimana program bekerja . Pada source code ini , dijelaskan ketiga
inputan akan diolah sesuai rumusnya yaitu ( ) yang
kemudian akan dioutputkan pada tampilan program . Lalu otomatis
muncul pertanyaan “menghitung lagi [(y)] atau keluar program [(n)] ?”
yang apabila diinputkan “y” program akan melanjut ke awal program
dengan bantuan label “k” dan sebaliknya apabila diinputkan “n”
program akan otomatis keluar .
Gambar 3.55 Screenshot awal program luas_balok (running)
Merupakan tampilan awal program ketika akan di jalankan , disini
digunakan write dan writeln serta kata-kata dan tanda baca sekehendak
pembuat program untuk membuatnya tampak lebih menarik . Ketika
program dijalankan , program akan otomatis meminta inputan yaitu
besar panjang balok .
157
Gambar 3.56 Screenshot #2 program luas_balok
Setelah besar panjang balok diinputkan maka diminta untuk
menginputkan lebar balok .
Gambar 3.57 Screenshot #3 program luas_balok
Setelah besar lebar balok diinputkan maka diminta untuk menginputkan
tinggi balok .
Gambar 3.58 Screenshot #4 program luas_balok
Ketika ketiga inputan diterima maka data akan langsung diolah kedalam
rumus yang sudah dituliskan dalam source code nya yang kemudian
158
akan keluar kedalam outputnya. Lalu otomatis akan muncul pertanyaan
mau menghitung lagi atau tidak .
Gambar 3.59 Screenshot #5 program luas_balok
Apabila diinputkan karakter “y” maka program akan melanjut ke
bagian awal program dengan bantuan label “k” pada sourcecode nya
Gambar 3.60 Screenshot #6 program luas_balok
Apabila diinputkan karakter “n” maka program akan otomatis keluar .
159
160
3.4 Kesimpulan
Delphi adalah sebuah IDE Compiler untuk bahasa pemrograman
Pascal dan lingkungan pengembangan perangkat lunak yang digunakan untk
merancang suatu aplikasi program. IDE (Integrated Development
Environment) adalah program komputer yang memiliki beberapa fasilitas
yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE
adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun
perangkat lunak. Pembuatan program menggunakan Delphi 7 dapat dikatakan
tidak terlalu sulit karena telah mendukungan interface yang memudahkan user
dalam menggunakannya. Delphi berbasis bahasa pemrograman Pascal,
dengan perbaharuan pada pustaka/library salah satunya untuk
mengakomodasi fitur pembuatan Graphical User Interface.
Beberapa program disusun dalam bentuk console dan beberapa
menggunakan visual application. Untuk tipe console, program tidak
memerlukan pustaka Graphics dan pustaka-pustaka visual lainnya karena
pada tipe ini, program tidak menampilkan GUI seperti form, panel, dsb.
Pendeklarasian tipe program terletak setelah pendeklarasian nama program.
Praktikan juga membuat program dengan tipe visual. Pada tipe ini, GUI akan
ditampilkan sehingga diperlukan pemanggilan beberapa pustaka pendukung
seperti Graphics, Windows, Forms, dsb. Setiap unit visual akan
dideklarasikan tipe dan prosedurnya dalam source code agar terbentuk system
interkoneksi dengan unit lain. Dari berbagai pembuatan tipe aplikasi,
praktikan telah sukses mengompilasi seluruh program dan Delphi 7
merupakan salah satu IDE Compiler yang dapat mengkompilasi program
menjadi single executable (aplikasi portable), memudahkan distribusi dan
meminimalisir masalah.
161
BAB IV
Pemrograman Delphi BagianII
4.1. Tujuan
1. Praktikan mengerti konsep dari array dan record serta cara
pengaplikasiannya.
2. Praktikan paham dengan penggunaan pemilihan dan perulangan dalam
memanipulasi array.
3. Praktikan mengerti konsep Queue dan Stack dalam array.
4.2. Dasar Teori
4.2.1 Array
Array adalah suatu struktur variabel yang terdiri dari sejumlah elemen
yang memiliki tipe data yang sama. Elemen-elemen array tersusun
secara sekuensial dalam memory computer. Array dapat berupa satu
dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi (multi
dimensi). Array itu :
1. Array : a finite ordered set of homogenous elements
2. Elemen-elemen array tersusun secara berderet dan dapat diakses
secara random di dalam memori.
3. Array memiliki alamat yang besebelahan/ berdampingan
tergantung lebar tipe datanya.
4. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
5. Elemen-elemen array bertipe data sama dan bisa berisi nilai yang
sama atau berbeda-beda. terdapat beberapa array diantaranya :
a. Array Satu Dimensi
Array Satu Dimensi tidak lain adalah kumpulan elemen-elemen
identik yang tersusun dalam satu baris. Elemen-elemen tersebut
memiliki tipe data yang sama, tetaoi isi dari elemen tersebut
boleh berbeda.
162
b. Array Dua Dimensi
Array Dua Dimensi sering digambarkan sebagai sebuah
matriks, merupakan perluasan dari array satu dimensi. Jika
array satu dimensi hanya terdiri dari sebuah baris dan beberapa
kolom elemen, maka array dua dimensi terdiri dari beberapa
baris dan beberapa kolom elemen yang bertipe sama.
c. N- Array
N-array artinya masih banyak lagi array array yang diatas dua
dimensi.
Pengaksesan Elemen Array :
- Elemen-elemen array dapat diakses oleh program
menggunakan suatu indeks tertentu secara random ataupun
berurutan.
- Pengisian dan pengambilan nilai pada indeks tertentu dapat
dilakukan dengan mengeset nilai atau menampilkan nilai
pada indeks yang dimaksud.
4.2.2 RECORD
Sebuah record merupakan koleksi satuan data yang heterogen, yakni
terdiri dari berbagai type. Satuan data tersebut sering disebut sebagai
field dari record. Field dipanggil dengan menggunakan namanya
masing-masing. Suatu field dapat terdiri atas beberapa subfield.
Sebagai Contoh, data personalia dari seorang pegawai suatu
perusahaan di Amerika Serikat,merupakan sebuah record yang dapat
terdiri dari berbagai field, dan subfield seperti berikut ini:
1. NOMOR-JAMINAN-SOSIAL
2. NAMA, yang terdiri atas: NAMA-BELAKANG NAMA-
DEPAN NAMA-TENGAH
3. ALAMAT, terdiri atas: JALAN NOMOR RUMAH NAMA-
JALAN KOTA NEGARA-BAGIAN KODE-POS program
sensus_penduduk
163
4.2.3 Metode pengurutan data
Metode pengurutan data atau lebih dikenal dengan Sorting, yaitu suatu
proses yang dilakukan terhadap sekumpulan data data yang
sebelumnya masih acak/ tidak terurut, menjadi data yang terurut.
Sorting terdiri dari dua jenis Sorting Descending (Pengurutan Atas
Bawah) dan Sorting Ascending (Pengurutan Bawah Atas).
Sebagai contoh : 1,2,3,4,5,6,7,8,9,10 --> Ascending
10,9,8,7,6,5,4,3,2,1 --> Descending Beberapa metode pengurutan
data/Sorting terdiri atas beberapa jenis :
1. Bubble Sort Pengurutan ini melakukan penukaran data dengan
tepat disebelahnya secara terus menerus sampai bisa dipastikan
dalam suatu perulangan tertentu tidak ada lagi perubahan. Nama
lain dari pengurutan ini yaitu Pengurutan Gelembung (metode
gelembung)
2. Selection Sort Metode pengurutan data selanjutnya yaitu Selection
Sort. Pada algoritma selection sort mencari elemen yang tepat
untuk diletakkan di posisi yang telah diketahui dan meletakkannya
di posisi tersebut setelah data tersebut ditemukan. Selection sort ini
membandingkan elemen yang saat ini dengan suatu elemen yang
berikutnya hingga elemen yang terakhir. Apabila ditemukan
elemen lain yang lebih kecil dari elemen yang saat ini maka dicatat
posisinya dan kemudian ditukar.
3. Insertion Sort Algoritma pengurutan ini memilah data yang
diurutkan menjadi dua bagian. Yang belum terurut (meja pertama)
dan yang telah diurut (meja kedua). Elemen yang pertama diambil
dari bagian array yang belum diurutkan, kemudian diletakkan pada
posisi sesuai dengan bagian lain dari array yang telah diurutkan.
Langkah tersebutdiulang hingga tidak ada lagi elemen yang tersisa
pada meja pertama yang belum terurut.
4. Heap Sort Merupakan satu bentuk dari selection sort yang
memiliki kompleksitas algoritma O(n log(n) ) yang menggunakan
struktur data heap. Heap sort bekerja dengan menentukan elemen
164
terbesar (atau terkecil) dari sebuah susunan elemen, dan diletakkan
pada akhir (atau awal) dari daftar tersebut.
5. Radix Sort Radix sort merupakan suatu algoritma pengurutan yang
dilakukan tanpa melakukan perbandingan antardata yang dijadikan
sebagai input. Radix dapat diartikan sebagai posisi dalam angka.
Pada sistem decimal, radix adalah digit dalam angka decimal.
6. Shell Sort Algoritma ini sama cara kerjanya dengan Insertion Sort,
yaitu dengan membandingkan elemen elemen dengan jarak
tertentu.
7. Quick Sort Pengurutan ini berprinsip pada devide dan conquer.
Devide adalah suatu langkah memilah masalah menjadi sub-
masalah dalam proses rekursi, sedangkan conquer proses
menyelesaikan sub masalah tersebut, kemudian dilakukan
pendekatan terhadap masalah utama. Prinsip kerja pada dasarnya
membagi atau memartisi sekumpulan data menjadi dua bagian data
sehingga elemen yang ke -1 berada tepat pada posisinya, dimana
semua elemen yang nilainya kecil dari pada elemen ke-1 akan
terletak disebelah kiri, sedangkan yang nilai lebih besar terletak
disebelah kanan.
8. Merge Sort Merge sort merupakan salah satu teknik sorting yang
mengurutkan suatu data dengan cara penggabungan. Merge sort
juga menggunakan proses divide dan conquer pada rekursi.
165
4.2.4 QUEUE
Jika diartikan secara harafiah, queue berarti antrian, queue merupakan
salah satu contoh aplikasi dari pembuatan double linked list yang
cukup sering kita temui dalam kehiduypan sehari-hari, misalnya saat
Anda mengantri di loket untuk membeli tiket. Istilah yang cukup
sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue.
Dalam suatu antrian, yang dating terlebih dahulu akan dilayani lebih
dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian
adalah dequeue. Walaupun berbeda implementasi, struktur data queue
setidaknya harus memiliki operasi-operasi sebagai berikut :
- EnQueue Memasukkan data ke dalam antrian
- DeQueue Mengeluarkan data terdepan dari antrian
- Clear Menghapus seluruh antrian
- IsEmpty Memeriksa apakah antrian kosong
- IsFull Memeriksa apakah antrian penuh Queue ( Antrian )
merupakan kumpulan daya yang seolah – olah terihat seperti ada data
yang diletakkan disebelah data yang lainnya . Queue memiliki sifat
FIFO(First In First Out)
Macam-macam queue :
1. Queue dengan Linear Array Linear Array adalah suatu array yan
dibuat seakan – akan merupakan suatu garis lurus dengan satu
pintu masuk dan satu pintu keluar .
2. Queue dengan Circular Array Circular Array merupakan suatu
array yang dibuat seakan – akan merupakan sebuah lingkaran
dengan titik awal an titik akhir saling bersebelahan jika array
dalam keadaan kosong .
3. Queue dengan Double Lingked List Merupakan Queue yang
menggunakan Double Lingked List yang dapat menghemat
memori dalam pengerjaan nya seperti pengertian Double Lingked
List sebelumnya. Implementasi Queue dengan Linear Array
Linear Array Linear array adalah suatu array yang dibuat seakan-
166
akan merupakan suatu garis lurus dengan satu pintu masuk dan
satu pintu keluar.
4.2.5 STACK
Stack adalah suatu bentuk khusus dari linear list di mana operasi
penyisipan dan penghapusan atas elemen-elemennya hanya dapat
dilakukan pada satu sisi saja yang disebut sebagai “TOP”.
Ada empat operasi dasar yang didefinisikan pada stack, yaitu :
167
1. CREATE : Operator ini berfungsi untuk membuat sebuah stack
kosong .
2. ISEMPTY : Operator ini berfungsi untuk menentukan apakah
suatu stack adalah stack kosong. Operasinya akan bernilai
boolean
3. PUSH : Operator ini berfungsi untuk menambahkan satu
elemen ke dalam stack.
4. POP : Operator ini berfungsi untuk mengeluarkan satu elemen
dari dalam stack.
5.
6.
7.
8.
9.
Repeat
Mulai
Masukan X
kekolom
terakhir
output
Keluaran X
kolom
pertama
Push Pop Keluar
Prosedur
Push
Prosedur
Pop
end
168
4.3. Analisa Dan Pembahasan
4.3.1. Percobaan ke 1 (Menjalankan 5 Program)
1. Program Mengakses Elemen Array
Source Code program :
program kelompok1_program1;{judul program}
{$APPTYPE CONSOLE}
Uses {deklarasi unit yang akan digunakan}
SysUtils;
{nama unit yang sesuai dengan aplikasi yang kita
gunakan}
const
max = 26;
{menyatakan nilai yang tidak akan berubah}
var
A: array[1..max] of char; {deklarasi dengan array
dari 1 sampai max yang bernilai 26}
C: char; {deklarasi bahwa data yang dimasukkan
adalah huruf}
i: integer; {menyatakan bahwa i bernilai bilangan
bulat}
begin
{mengisikan elemen array}
C:= 'a';{C diisi dengan karakter pertama}
i := 1;
while (i <= max) do begin
A[i]:= C;
inc(C);
inc(i);
end;
{menampilkan nilai yang terdapat pada setiap elemen
array}
for i:=1 to max do begin
write ((A[i]), '');
end;
readln;
169
end.
Gambar 4.1 screenshot source code program
Gambar 4.2 screenshot tampilan program 1
Program ini digunakan untukmengurutkan secara teratur
suatu nilai. Seperti contoh diatas, program ini mengurutkan
huruf dari a sampai z
2. Program Mencari Data dalam Array
Source coden program :
program kelompok1_program2;{nama program}
{$APPTYPE CONSOLE}
Uses
{memilih deklarasi unit yang akan kitagunakan}
170
SysUtils;
{deklarasi unit yang sesuai dengan aplikasi yang
akan kita gunakan}
const
{menyatakan bahwa data bernilai tetap sesuai
dengan yang ditentukan}
A: array[1..5] of integer = (23,45,22,71,34);
var
i, x, indeks: integer; {menyatakan bahwa data
bernilai bulat}
begin
{membaca array}
write ('masukan nilai yang akan dicari: ');
readln (x);
indeks:= 0;
{mengurutkan array}
for i:=0 to 5 do begin {loop pencarian indeks}
if A[i]=x then begin
{kondisi fungsi yang digunakan untuk mencari
nilai yang telah dimasukkan}
indeks := i;
{ proses diatas akan memproses angka yang telah
diinput untuk dicari letakna berdasarkan indeks
array yang telah di susun pada konstanta }
break;
end;
end;
writeln(x, ' ditemukan pada indeks ke-',
indeks);
readln;
end.
171
Gambar 4.3 screenshot source code program 2
Gambar 4.4 screenshot tampilan program 2 jika angka ditemukan
Gambar 4.5 screenshot tampilan program 2 jika angka tidak diitemukan
Program ini digunakan untuk mencari indeks tehadap data
yang telah ditentukan. Pada program ini telah dimasukkan
indeks dengan urutran 1 sampai 5 tetapi angkanya bervariasi.
Apabila kita melakukan pencarian diluar angka yang tersedia,
maka bilangan itu akan berada pada indeks 0.
172
3. Program Mengurutkan Data dalam Array
Source code program :
program kelompok1_program3;{nama program}
{$APPTYPE CONSOLE}
Uses {memilih deklarasi unit yang akan
kitagunakan}
SysUtils; {deklarasi yang cocok kita gunakan dalam
aplikasi}
const
ArraySize = 5; {penentuan nilai konstanta}
Type {pendeklarasian tipe}
Range = 1..ArraySize;
NumbersArray = ARRAY[Range] OF INTEGER;
Var {pendeklarasian variabel}
Numbers :NumbersArray;
I, J , Pot :integer;
Begin
{membaca array}
for I := 1 to ArraySize do
begin
write('Masukkan angka #', I,': ');
readln(Numbers[I])
end;
{mengurutkan array}
for I := 1 to ArraySize-1 do { outer loop }
begin
for J := I+1 to ArraySize do { inner loop }
begin
if Numbers[I] > Numbers[J] then {fungsi untuk
mengurutkan array dari yang terbesar ke yang
terkecil}
begin
Pot := Numbers[J];
Numbers[J] := Numbers[I];
Numbers[I] := Pot
end
end { akhir inner loop }
173
end; { akhir outer loop }
writeln;
writeln('Angka yang diurutkan : ');
for I := 1 to ArraySize do
writeln(Numbers[I]);
readln;
end.
Gambar 4. 6 screenshoot sourecode program 3
Gambar 4. 7 screenshoot sourecode program 3
Gambar 4. 8 screenshoot tampil program 3
174
Program ini digunakan untuk mengurutkan data yang telah
ddimasukkan, pada program ini data akan diurutkan dari yang
terkecil ke yang terbesar.
4. Program Queue
Source code Program Queue:n
program kelompok1_program4;{nama program}
{$APPTYPE CONSOLE}
Uses {memilih deklarasi unit yang akan kita
digunakan }
SysUtils;{deklarsi yang kita gunakan}
const max = 5; {deklarasi nilai konstanta}
type tumpukan = array[1..10] of char;{
pendeklarasian tipe baru array sebagai Tumpukan yang
akan digunakan sebagai penyimpan masukan berukuran
max elemen, dengan tipe nilai char, agar baik angka
maupun karakter dapat tersimpan }
type stack=record { deklarasi tipe}
nilai:tumpukan;
depan:integer;
belakang:integer;
isi:0..max;
end;
var
antrian:stack; {deklarari variabel}
procedure PUSH(var antrian:stack; x:char);{prosedur
push}
{ antrian sebagai record untuk setiap masukan yang
tersimpan dan x sebagai variabel penyimpan sementara
nilai masukan }
begin
{kondisi fungsi jika jumlah maksimal}
if antrian.isi=max then
175
write('antrian penuh'); { statement diatas
digunakan apabila semua elemen antrian yang tersedia
sudah terpenuhi }
else
begin
if antrian.belakang=max then
antrian.belakang:=1
else
antrian.belakang:=antrian.Belakang+1;
antrian.nilai[antrian.belakang]:=x;
antrian.isi:=antrian.isi+1;
end;
end;
procedure POP(var antrian:stack; x:char);{prosedur
pop}
begin
{pengkondisian fungsi jika nilainya 0}
if antrian.isi=0 then
write('antrian kosong')
{ statement diatas digunakan untuk memberitahukan
bahwa elemen antrian masih kosong }
else
begin
{ pengkondisian fungsi untuk mengeluarkan nilai
array dan mengeluarkan nilai yang pertama
dimasukkan }
if antrian.depan=max then
antrian.depan:=1
{statement di atas akan menginstruksikan field
depan sebagai penunjuk lokasi untuk fungsi pop,
kembali ke posisi penyimpanan pertama, apabila
penunjuk lokasi berada di posisi akhir. Proses
ini akan menciptakan siklus perulangan hingga
semua lokasi dalam antrian terisi}
else
if antrian.depan <= max then
antrian.depan:=antrian.depan+1;
x:=antrian.nilai[antrian.depan];
antrian.nilai[antrian.depan]:=' ';
176
antrian.isi:=antrian.isi-1;
end;
end;
var i, pilih :integer;
x:char;
begin
repeat
writeln;
writeln('1. push');
writeln('2. pop');
writeln('0. selesai');
writeln('Pilihan Anda : ');
readln(pilih);
if pilih<>0 then
case pilih of
1: begin
{memasukkan nilai}
write('Nilai yang dimasukan : ');readln(x);
PUSH(antrian,x);
for i:=1 to max do { loop untuk memasukkan
nilai hingga max }
write(antrian.nilai[i],' ');
writeln;
end;
2: begin
{memasukkan nilai}
x:=' ';
POP(antrian,x);
writeln;
writeln('data keluaran = ',x);
for i:=1 to max do { loop untuk mengeluarkan
nilai hingga habis }
write(antrian.nilai[i],' ');
writeln;
end; {akhir loop}
{ untuk indeks perulangan sebanyak max kali,
program akan menampilkan setiap nilai yang
tersimpan dalam array nilai }
end;
177
until pilih=0;
end.
Gambar 4. 9 screenshoot sourcecode program 4
Gambar 4. 10 screenshoot sourcecode program 4
178
Gambar 4. 11 screenshoot sourcecode program 4
Gambar 4. 12 screenshoot tampilan program 4
Gambar 4. 13 screenshoot tampilan program 4
Pada program ini dilakukan penambahan suatu elemen di
salah satu ujung (ujung depan) dan apabila ada pengambilan
akan diambil paada ujung lainnya (ujung belakang) yang
menggunakan prinsip FIFO (first in first out.)
179
5. Program Stack
Source code Program Stack:
program kelompokok1_program5;{nama program}
{$APPTYPE CONSOLE}
Uses {memilih deklarasi program}
SysUtils;{deklarasi program yang kita gunakan}
const max = 5; {deklarasi conts}
type Tumpukan=array[1..10] of char;
{pendeklarasian tipe baru array sebagai Tumpukan
yang akan digunakan sebagai penyimpan masukan
berukuran max elemen, dengan tipe nilai char, agar
baik angka maupun karakter dapat tersimpan}
type tumpuk=record {deklarasi tipe}
nilai : Tumpukan;
depan : integer;
belakang : integer;
isi : 0..max;
end;
var
antrian : tumpuk; {deklarasi variabel}
procedure PUSH(var antrian : tumpuk; x: char);
{prosedur push}
{antrian sebagai record untuk setiap masukan yang
tersimpan dan x sebagai variabel penyimpan
sementara nilai masukan}
Begin
{pengkondisian fungsi jika jumlah maksimal}
if antrian.isi=max then
write('antrian penuh')
else
begin
{pengkondisian fungsi untuk memasukan nilai array
dan mengatur posisi masukan nilai array}
180
if antrian.belakang=max then
antrian.belakang:=max
else
antrian.belakang:=antrian.isi+1;
antrian.nilai[antrian.belakang]:=x;
antrian.isi:=antrian.isi+1;
end;
end;
procedure POP(var antrian : tumpuk; x: char);
begin
if antrian.isi=0 then
write('antrian kosong')
else
begin
antrian.belakang:=antrian.isi;
x:=antrian.nilai[antrian.belakang];
antrian.nilai[antrian.belakang]:=' ';
antrian.isi:=antrian.isi-1;
end;
end;
{pengkondisian fungsi untuk memasukan nilai array
dan mengatur posisi masukan nilai array}
var i, pilih : integer;
x: char;
begin
repeat
writeln;
writeln('1. PUSH');
writeln('2. POP');
writeln('0. Keluar');
Writeln('masukan nilai pilihan anda :');
readln(pilih);
if pilih <>0 then
case pilih of
1: begin
write('nilai yang dimasukan : ');readln(x);
PUSH(antrian,x);
for i :=1 to max do
write(antrian.nilai[i],'');
181
writeln;
end;
2: begin
x:=' ';
POP(antrian,x);
writeln('data keluaran = ', x);
for i:=1 to max do
write(antrian.nilai[i],' ');
writeln;
end;
end;
until pilih = 0;
end.
Gambar 4. 14 screenshoot sourcecode program 5
Gambar 4. 15 screenshoot sourcecode program 5
182
Gambar 4. 16 screenshoot sourcecode program 5
Gambar 4. 17 screenshoot tampilan program 5
Gambar 4. 18 screenshoot tampilan program 5
Pada program ini penambahan dan pengambilan data hanya
dilakukan di satu sisi yang disebut top (puncak). Dengan kata lain
apabila dilakukan penambahan pada satu ujung, maka pengambilan
juga dilakukan pada ujng yang sama.
183
Tugas
Tugas 1
program tugas1;
uses
SysUtils; {penggunaan library SysUtils}
Var
{pendeklarasian variabel}
data : array[1..100]of integer;
i,n,jum :integer;
rata : real;
h: char;
label k;
begin
k: writeln('- Program Rata-Rata -');
write ('Banyaknya nilai?? : '); readln(n); {permintaan
menginputkan banyaknya nilai yang akan diinputkan}
for i:=1 to n do {perlakuan untukinput pertama sampai
sejumlah n}
begin
write('Data',i,':');{permintaan menginputkan data
sejumlah n}
read(data[i]);
jum:=jum+data[i];{penjumlahan nilai yang telah
diinputkan}
rata :=jum div n; {pembagian hasil penjumlahan dengan
n}
end;
write ('Maka Rata-Rata nya adalah ',rata);{output
program}
writeln ('');
writeln ('');
goto k; {kembali ke bagian awal program (ke label k)}
end. {program berakhir}
Penjelasan Program 1
Pada saat Program ini di run , pertama kali yang akan muncul adalah
- Program Rata-Rata –
Banyaknya nilai?? :
Dari sini otomatis diminta untuk menginputkan banyaknya nilai
yang akan dihitung untuk selanjutnya diminta untuk menginputkan
masing-masing nilai tersebut,
semisal kita mengisikan nya dengan angka 5 maka selanjutnya
diminta untuk menginputkan kelima nilainya .
setelah kelima nilai diinputkan maka otomatis program akan memproses
kelima inputan data tersebut dengan menjumlahkannya yang kemudian
184
dibagi dengan 5 , maka didapat hasil rata-ratanya yang keluar mengikuti
output tampilan
Maka Rata-Rata nya adalah
Setelah didapat output tersebut maka program langsung kembali ke
bagian awal program dengan bantuan label k .
Sreenshot program
Gambar 4. 19 screenshoot tampilan program
Gambar 4. 20 screenshoot tampilan program
185
Gambar 4. 21 screenshoot tampilan program
Gambar 4. 22 screenshoot tampilan program
Tugas ke 2
program tugas2;
uses
SysUtils; {penggunaan library SysUtils}
const
MAX =10; {konstanta max adalah 10}
Var
{pendeklarasian variabel}
data : array[1..MAX]of integer; {array berisi data 1
sampai 10}
i,N :integer;
rata : real;
label k;
begin
k: writeln('- Program Nilai Tertinggi -');
writeln('Masukkan nilai nilainya : ');
for i:=1 to MAX do {perlakuan untuk input pertama sampai
kesepuluh}
begin
write('Nilai ke',i,':'); {permintaan meminta input
kesepuluh nilai}
read(data[i]);
186
end;
N:=data[1];
for i:=2 to MAX do {perlakuan untuk input kedua sampai
kesepuluh}
begin
if data[i]>N then N:=data[i]; {membandingkan data yang
paling besar}
end;
write ('Maka nilai tertingginya adalah ',N); {output
program}
writeln ('');
writeln('');
goto k; {menuju ke awal program}
end.
Penjelasan program .
Pada saat Program ini dirun , pertama kali yang akan muncul adalah
- Program Nilai Tertinggi –
Masukkan nilai nilainya :
Nilai ke1 :
Nah dari sini diminta untuk menginputkan sepuluh inputan angka sembarang yang
akan dibandingkan untuk mencari nilai yang paling besar dari sepuluh nilai
tersebut .
Setelah menginputkan ke sepuluh nilai tersebut maka akan otomatis muncul nilai
tertingginya yang mengikuti output
Maka nilai tertingginya adalah
Setelah didapat output tersebut maka program langsung kembali ke bagian awal
program dengan bantuan label k .
187
Sreenshot program
Gambar 4. 23 screenshoot tampilan program
Gambar 4. 24 screenshoot tampilan program
188
Gambar 4. 25 screenshoot tampilan program
Tugas ke 3 program Kelompok1_tugas3; {nama program}
uses
SysUtils; {pemanggilan pustaka}
const
h='pqrst'; {pendeklarasian huruf yang akan disortir}
n='PQRST'; {dalam huruf kecil maupun capital}
var
s:string; {s sebagai variabel penyimpan input kata}
i,j:integer; {i dan j sebagai indeks perulangan}
A:array[1..100] of integer; {array penyimpan jumlah
suatu huruf pada s}
begin
write('Masukkan kata : ');readln(s);
for i:=1 to Length(s) do begin {outer loop}
for j:=1 to Length(h) do begin {inner loop}
if (s[i]=h[j]) or (s[i]=n[j]) then A[j]:=A[j]+1;
{jumlah total suatu huruf yang ditemukan pada s
akan disimpan dalam array dengan indeks yang
bersesuaian dengan huruf tertentu}
189
end; {akhir inner loop}
end; {akhir outer loop}
writeln('Pada kata ',s,' ditemukan :');
for j:=1 to Length(h) do begin
{output program}
writeln(j,'. Huruf ',n[j],' sebanyak ',A[j]);
end;
readln;
end. {mengakhiri program}
Penjelasan program
Yang akan pertama muncul pada tampilan programnya adalah kata “masukkan
kata”. Setelah memasukkan kata yang akan diurutkan. Maka dengan menekan
enter, kata yang ingin diurutkan akan diurutkan berdasarkan inputan yang
tersedia. Apabila kaata yang dimasukkan tetapi tidak terdapat pada inputan, maka
kata tersebut tidak akan terdefenisi.
screenshot program
Gambar 4. 26 screenshoot tampilan program
Gambar 4. 27 screenshoot tampilan program
190
Gambar 4. 28 screenshoot tampilan program
191
4.4. Kesimpulan
1. Array, queue, record dan stack termasuk kedalam penggolongan istilah
kata pemograman yang berbeda beda.
2. Array merupakan struktur yang terdiri dari sejumlah elemen yang
memiliki tipe data yang sama. Elemen-elemen array tersusun secara
sekuensial dalam memory computer.
3. Record merupakan koleksi satuan data yang heterogen, yakni terdiri dari
berbagai type. Satuan data tersebut sering disebut sebagai field dari record.
Field dipanggil dengan menggunakan namanya masing-masing.
4. Queue merupakan salah satu contoh aplikasi dari pembuatan double linked
list yang cukup sering kita temui dalam kehidupan sehari-hari.
5. Stack suatu bentuk khusus dari linear list di mana operasi penyisipan dan
penghapusan atas elemen-elemennya hanya dapat dilakukan pada satu sisi
saja.
192
BAB 5
PEMROGRAMAN C# BAGIAN I
5.1. Tujuan
1. Mengenal bahasa pemrograman C#
2. Memahami struktur dasar pemrograman C#
3. Memahami penyelesaian operasi aritmatika pada C#
4. Memahami penyelesaian operasi input/output pada C#
5. Memahami berbagaima cara mengoperasi percabangan pada C#
6. Memahami berbagaima cara mengoperasi perulangan pada C#
193
5.2. Dasar Teori
5.2.1. Pengenalan Pemrograman C# dan Instalasi
5.2.1.1. Sejarah C#
Pada akhir 1990 an, Microsoft membuat program Visual
J++ sebagai langkah percobaan penggunaan Java pada
system operasi Windows. Namun karena terlibat masalah
dengan Sun Micro system selaku pemeilik hak cipta bahasa
pemrograman Java maka program tersebut dihentikan.
Sebagai gantinya Microsoft mengembangkan C# dengan
merekrut Anders Helsberg mantan karyawan Borland
Delphi yang membuat bahasa Turbo Pascal, Borland Delphi
dan juga mendesain Windows Foundation Classes (WFC)
yang digunakan dalam J++. C# pertama kali diperkenalkan
pertama kali pada bulan Juli 2000 sebagai bahasa
berorientasi objek yang menjadi bahasa pemrograman
utama dalam pengembangan platform Microsoft . NET
Framework.
5.2.1.2. Bahasa Pemrograman C#
C# (C sharp) merupakan bahasa pemrograman berorientasi
objek yang didukung oleh Microsoft .NET Framework.
Microsoft .NET Framework merupakan perantara agar
aplikasi dengan bahasa pemrograman yang didukung dapat
berkomunikasi dengan system operasi yang beroperasi pada
computer yang digunakan. Sehingga dapat berjalan di
operasi baik system operasi windows maupun sistem
operasi yang lain seperti Mac OS, LINUX, serta system
operasi berbasis UNIX lainnya. Bahasa pemrograman C#
banyak digunakan untuk membangun aplikasi web, aplikasi
desktop, aplikasi Zune, aplikasi permainan (Desktop,
XBOX) dan berbagai jenis aplikasi lainnya.
Kelebihan bahasa C# :
194
1. Termasuk bahasa pemrograman .NET dengan demikian
user dapat menggunakan komponen-komponen yang
dibangun dengan bahasa pemrograman .NET lainnya
(integrasi antar bahasa).
2. Memiliki language integrated query (LINQ) yang
merupakan sintaks query yang dapat digunakan pada
setiap kumpulan data.
3. Windows presentation foundation (WPF) dapat
digunakan untuk membuat tampilan aplikasi dengan
creative.
4. Microsoft memberikan IDE (software pembuat
program) secara gratis, yaitu Microsoft Visual Studio
Express Edition. IDE inilah yang akan digunakan untuk
membangun aplikasi C#.
5.2.1.3. Instalasi C#
C# yang dibangun dalam praktikum ini menggunakan
Visual Studio 2010 Express Edition. Adapun screenshoot
instalasi di bawah ini merupakan screenshoot instalasi
Visual Studio Express Edition (khusus untuk bahasa C#)
yang diinstal via web. Berikut tahapan instalasi C# tersebut.
1. Download lah terlebih dahulu installer Visual Studio
Express Edition (dapat menggunakan link di bawah ini)
http://www.microsoft.com/visualstudio/en-
us/products/2010-editions/visual-csharp-express
2. Setelah itu akan muncul tahapan instalasi di bawah ini
saat meng klik fie yang telah didownload. Hilangkan
tanda pada pilihan “Yes, send information about my
setup experiences to Microsoft Corporation”. Kemudian
klik “Next”.
195
Gambar 5.1 Screenshoot instalasi C# tahap 1
3. Berikan tanda pada pilihan “I have read and accept the
licence terms”, kemudian klik “Next”.
Gambar 5.2Screenshoot instalasi C# tahap 2
4. Hilangkan tanda pada tahapan berikutnya dikarenakan
saat ini belum memerlukan fitur tersebut. Kemudian
klik “Next”.
196
Gambar 5.3Screenshoot instalasi C# tahap 3
5. Langsung klik “Install”.
Gambar 5.4Screenshoot instalasi C# tahap 4
6. Tunggu hingga instalasi selesai. Setelah itu, Visual
Studio 2010 Express Edition C# siap untuk digunakan.
197
Gambar 5.5Screenshoot instalasi C# tahap 5
5.2.2. Variabel dan Tipe Data
Variabel adalah suatu tempat untuk meyimpan data. Contoh apabila
user ingin menghitung volume balok, maka nilai panjang, lebar,
tingggi dan volume dari perhitungan tersebut dapat disimpan di
dalam variabel. Deklarasi variable adalah sebuah perintah agar
komputer menyediakan variable yang akan dipakai
5.2.3. Operator dalam C#
Di dalam bahasa pemrograman, terdapat beberapa macam operator
yang akan sering digunakan, yaitu sebagai berikut :
1. Assignment operator
Operator ini merupakan operator yang ada pada bahasa C yang
berupa perintah penugasan untuk melakukan sebuah operasi
pada variabel.
2. Mathematical operator
Operator ini digunakan untuk operasi-operasi yang berhubungan
dalam perhitungan (aritmatika). Operator yang termasuk ke
dalam kategori ini adalah „*‟ (perkalian), „/‟ (pembagian), „%‟
(sisa pembagian bulat), „+‟ (penjumlahan), „-‟ (pengurangan).
3. Relational operator
198
4. Operasi relasional adalah operator binary yang akan bekerja
antara dua nilai. Operator ini tidak seperti operator matematika
yang menghitung bilangan, tetapi operator ini akan menguji satu
nilai terhadap nilai lainnya.
5. Logical operator
Operator logika digunakan untuk melakukan perbandingan
antara suatu nilai data dengan data lainnya. Hasil dari operator
ini menghasilkan nilai boolean, yaitu Not (Tidak), And (Dan),
Or (Atau), Xor (Eksklusif Or).
Dalam sub bab ini, akan dijelaskan mengenai program yang
menggunakan operator aritmatika / matematika dan operator
assignment saja, seperti dalam perhitungan volume balok pada
contoh sebelumnya. Untuk contoh program menggunakan operator-
operator lain (Relational operator dan Logical operator) akan dibahas
pada sub bab berikutnya.
5.2.4. Input Output
Fungsi Console.WriteLine() atau Console.Write() dalam bahasa C#
yaitu untuk menampilkan informasi ke layar. Di dalam C#, terdapat
conversion specifier yang digunakan untuk menampilkan informasi
yang niainya tidak pasti. Nilai yang menggantikan conversion
specifier disebut dengan argument.
5.2.5. Pengkondisian
Di dalam sub bab inilah, operator-operator yang tadi belum
dijelaskan akan dijelaskan (yaitu operator relasional dan operator
logika). Adapun pengkondisian disini terbagi menjadi 2 bagian,
yakni pemrograman dengan menggunakan if ( ) dan switch ( ).
1. Perintah if ( )
Statemen if biasanya digunakan untuk kondisi jawaban yang
memerlukan satu/beberapa pilihan. Kode program biasanya akan
dieksekusi jika kondisi tertentu terpenuhi. Jika tidak maka tidak
akan tereksekusi/error.
199
2. Perintah switch ( )
Statemen switch lebih dikhususkan pada kondisi majemuk
dengan beberapa persyaratan, seperti tidak bisa digunakan untuk
kondisi yang mempunya nilai rentang dan kondisi dengan nilai
pecahan.
5.2.6. Perulangan
Perulangan yang akan dibahas disini terdiri dari 3 macam perintah,
yaitu sebagai berikut :
1. Perintah for ( )
Digunakan untuk perulangan dengan jumlah yang ditentukan
terlebih dahulu dari nilai kecil kebesar (Increasing). Bentuk
Umum : For variabel_kontrol := nilai_awal To nilai_akhir Do
Statement;
Perintah for downto Digunakan untuk perulangan dengan
jumlah yang ditentukan terlebih dahulu dari nilai besar ke kecil
(Decreasing). Bentuk Umum : For variabel_kontrol:= nilai_awal
Down To nilai_akhir Do Statement;
2. Perintah while ( )
While digunakan untuk pengulangan instruksi, yang umumnya
dibatasi dengan suatu kondisi. Selama kondisi tersebut TRUE,
maka pengulangan terus dilakukan. Loop akan berhenti, bila
kondisi FALSE, atau program keluar dari blok while melalui
exit atau break.
3. Perintah do while ( )
Digunakan untuk perulangan sebanyak sampai sudah terpenuhi
kriteria yang ditentukan.
Bentuk Umum : While ungkapan_logika Do Statement;
200
5.3. Analisa dan Pembahasan
5.3.1. Program Hello Siskom
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace Kelompok1_Program1
{
class Program
{
static void Main(string[] args)
{
//menampilkan output pada layar
Console.WriteLine("Hello Siskom...");
}
}
}
Gambar 5.6 Screenshot Source code program 1
Gambar 5.7 Screenshot Hasil program 1
201
Program ini akan memiliki output tampilan tulisan pada layar
komputer seperti pada contoh yang muncul tulisan “Hello Siskom
pada layar komputer.
5.3.2. Program dengan Variabel dan Tipe Data
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace Kelompok1_Program2
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan konstanta
int panjang, lebar, tinggi, volume;
panjang = 10;
lebar = 5;
tinggi = 2;
volume = panjang * lebar * tinggi;
//menampilkan output berdasarkan variabel
dan konstanta yang telah ditentukan
Console.WriteLine("Volume Balok = "
+volume);
}
}
}
202
Gambar 5.8 Screenshot Source code program 2
Gambar 5.9 Screenshot Hasil program 2
Output dari program ini adalah menampilkan hasil sebuah hitungan,
yang pada contoh terdapat hasil dari hitungan volume balok dengan
nilai konstanta yang telh ditentukan.
5.3.3. Program Aritmatika
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace Kelompok1_Program3
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan konstanta
203
float r, keliling;
const float Pi = 3.14F;
r = 7;
keliling = 4*Pi*r;
//menampilkan output berdasarkan variabel
dan konstanta yang telah ditentukan
Console.WriteLine("Keliling Lingkaran =
{0}", + keliling);
}
}
}
Gambar 5.10 Screenshot Source code program 3
Gambar 5.11 Screenshot Hasil program 3
Program ini memiliki keluaran hasil hitungan sederhana seperti
halnya program 2 dengan nilai konstanta yang telah ditentukan, dan
yang akan keluar nantinya adalah hasil dari hitungan tersebut.
5.3.4. Program Input Output
5.3.4.1. Tanpa TryParse
using System;
204
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace Kelompok1_Program4
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel string
string input, input2;
//masukkan input yg kemudian akan
ditampilkan pada output
input = Console.ReadLine();
input2 = Console.ReadLine();
//menampilkan output berdasarkan
input yang dimasukkan sebelumnya
Console.WriteLine("Nama\t= {0}
\nNIM\t= {1}", input, input2);
}
}
}
Gambar 5.12 Screenshot Source code program 4
205
Gambar 5.13Hasil program 4
Program ini bergubna untuk menampilkan kembali hasil inputan
yang telah dituliskan sebelumnya. Seperti yang terdapat pada contoh
inputan yang dimasukkan adalah nama dan NIM, dan yang menjadi
keluarannya juga nama dan NIM tadi.
5.3.4.2. Dengan TryParse
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace Kelompok1_Program5
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel bertipe float
dan string
float alas, tinggi, luas;
string input;
//proses memasukkan input yang
kemudian akan ditampilkan pada output
Console.Write("Masukkan Alas\t: ");
input = Console.ReadLine();
//TryParse mengubah nilai input
(string) menjadi float
float.TryParse(input, out alas);
206
Console.Write("Masukkan Tinggi\t: ");
input = Console.ReadLine();
//TryParse mengubah nilai input
(string) menjadi float
float.TryParse(input, out tinggi);
luas = (alas * tinggi) / 2;
//menampilkan output berdasarkan
input yang telah dimasukkan
sebelumnya
Console.WriteLine("Luas Segitiga\t:
{0}", luas);
}
}
}
Gambar 5.14 Screenshot Source code program 5
Gambar 5.15 Screenshot Hasil program 5
Program ini berguna untuk menampilkan hasil dari perhitungan yang
menggunakan rumus aritmatika. Dalam program sudah tersedia
207
rumus yang akan digunakan untuk mendapatkan hasil dari
perhitungan tersebut. Seperti pada contoh diatas. Kita akan mencari
nilai luas segitiga, kita Cuma tinggal memasukkan nilai komponen
yang akan kita cari, dan outputnya adalah hasil dari perhitungan
angka yang kita masukkan tadi.
5.3.5. Program Pengkondisian
5.3.5.1. Program If
1. Program If (I)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace Kelompok1_Program6
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan tipe
data
float alas, tinggi, luas;
string input;
//proses memasukkan input yang
kemudian akan ditampilkan pada
output
Console.Write("Masukkan Alas\t:
");
input = Console.ReadLine();
float.TryParse(input, out alas);
Console.Write("Masukkan Tinggi\t:
");
input = Console.ReadLine();
208
float.TryParse(input, out tinggi);
//pengkondisian apabila alas dan
tinggi bernilai lebih dari 0
if (alas > 0 && tinggi > 0)
{
luas = (alas * tinggi) / 2;
Console.WriteLine("Luas
Segitiga\t: {0}", luas);
}
//pengkondisian apabila nilai alas
dan tinggi tidak lebih tinggi dari
0
else
{
Console.WriteLine("Alas dan
tinggi harus lebih besar dari
nol");
}
}
}
}
Gambar 5.16 Screenshot Source code program 6
209
Gambar 5.17 Screenshot Hasil program 6 jika alas dan tinggi <> 0
Gambar 5.18 Screenshot Hasil program 6 jika alas = 0
Program ini berfungsi untuk menghitung luas segitiga. Luas
segitiga itu sendiri dapat dihitung apabila input alas dan
tinggi lebih dari 0, apabila input alas atau tinggi sama
dengan 2, maka luas segitiga tidak dapat dihitung.
2. Program If (II)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Kelompok1_Program7
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan tipe
data
210
float UTS, UAS;
string input;
//proses memasukkan input yang
kemudian akan ditampilkan pada
output
Console.Write("Masukkan Nilai
UTS\t: ");
input = Console.ReadLine();
float.TryParse(input, out UTS);
Console.Write("Masukkan Nilai
UAS\t: ");
input = Console.ReadLine();
float.TryParse(input, out UAS);
//penyataan pengkondisian apabila
nilai UTS dan UAS lebih besar atau
sama dengan 80
if (UTS >= 80 && UAS >= 80)
{
Console.WriteLine("Mahasiswa
Mendapat Nilai A");
}
//penyataan pengkondisian apabila
nilai UTS lebih besar atau sama
dengan 80 dan nilai UAS lebih
kecil atau sama dengan 80 atau
apabila nilai UTS lebih kecil atau
sama dengan 80 dan nilai UAS lebih
besar atau sama dengan 80
else if (UTS >= 80 && UAS <= 80 ||
UTS <= 80 && UAS >= 80)
{
Console.WriteLine("Mahasiswa
Mendapat Nilai B");
}
//pernyataan pengkondisian apabila
kondisi tidak sesuai denga yang
telah disebutkan diatas
211
else
{
Console.WriteLine("Sebaiknya
Anda Belajar Lagi");
}
}
}
}
Gambar 5.19 Screenshot Source code program 7
Gambar 5.20 Screenshot Hasil program 7 jika nilai > 80
212
Gambar 5.21 Screenshot Hasil program 7 jika nilai < 80
Program ini berfungsi untuk mencari indeks nilai seorang
mahasisa yang didapat dari jumlah nilai UTS dan UAS yang
mereka dapatkan. Apabila semua nilai UTS dan nilai UAS
memiliki nilai diatas 80, maka indeks nilai adalah A. Apabila
salah satu dari nilai UTS atau nilai UAS memiliki nilai diatas
80 dan dibawah 80, maka indeks nilai adalah B. Apabila nilai
UTS dan nilai UAS memiliki nilai dibawah 80, maka akan
tampil tulisan “Sebaiknya Anda Belajar Lagi”.
5.3.5.2. Program Switch
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace Kelompok1_Program8
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan tipe data
bertipe string
string nilai;
//proses memasukkan input yang
kemudian akan ditampilkan pada output
213
Console.Write("Masukkan Nilai [A-
E]\t: ");
nilai = Console.ReadLine();
//proses pengkondisian apabila nilai
yang dimasukkan adalah A, B, C, D, E,
atau yang lainnya
switch (nilai)
{
case"A": Console.WriteLine("Nilai
Anda\t: {0} (Sempurna)", nilai);
break;
case"B": Console.WriteLine("Nilai
Anda\t: {0} (Sangat Baik)", nilai);
break;
case"C": Console.WriteLine("Nilai
Anda\t: {0} (Baik)", nilai);
break;
case"D": Console.WriteLine("Nilai
Anda\t: {0} (Cukup)", nilai);
break;
case"E": Console.WriteLine("Nilai
Anda\t: {0} (Kurang)", nilai);
break;
default:
Console.WriteLine("Nilai yang Anda
Masukkan Salah");
break;
}
}
}
}
214
Gambar 5.22 Screenshot Source code program 8
Gambar 5.23 Screenshot Hasil program 8
Program ini berfungsi untuk mengetahui indeks nilai dari input
yang dimasukkan antara A-E. Apabila input A, maka akan
keluar nilai „Sempurna‟, apabila input B, maka akan keluar
nilai „Sangat Baik‟, apabila input C, maka akan keluar
nilai„Baik‟, apabila input D, maka akan keluar nilai „Cukup‟,
dan apabila input E, maka akan keluar nilai „Kurang‟. Apabila
input bukan A-E, maka akan keluar tulisan “Nilai yang Anda
Masukkan Salah”.
5.3.6. Program Perulangan
5.3.6.1. Program For
using System;
using System.Collections.Generic;
using System.Linq;
215
using System.Text;
//nama program
namespace Kelompok1_Program9
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan tipe data
int n;
//pernyataan kondisi perulangan untuk
menampilkan data sebanyak mulai dari
1 sampai kurang dari 10
for (n = 1; n < 10; n++)
Console.WriteLine("Welcome in C#");
}
}
}
Gambar 5.24 Screenshot Source code program 9
216
Gambar 5.25 Screenshot Hasil program 9
Program ini akan memiliki outputan “welcome to c#” sesuai
dengan jumlah perulangan yang ingin kita buat, pada
program ini, outputnya dimulai dari satu, dan berakhir pada
jumlah yang kurang dari 10.
5.3.6.2. Program While
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace Kelompok1_Program9
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan konstanta
int angka;
angka = 10;
//pernyataan kondisi perulangan yang
terus mengeluarkan nilai konstanta
secara berurutan dari besar ke kecil
dimulai dari 10 sampai nilai lebih
dari 0
while (angka > 0)
{
Console.WriteLine("Angka Sekarang\t:
{0}", angka);
angka--;
217
}
}
}
}
Gambar 5.26 Screenshot Source code program 10
Gambar 5.27 Screenshot Hasil program 10
Program ini memiliki output pengurutan nilai dadri yang
terbesar ke yang terkecil, kita Cuma memasukkan nilai yang
kita urutkan, dan dia akan terurut sendiri dari nilai yang kita
masukkan tersebut sampai 1.
5.3.6.3. Program Do While
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
218
namespace Kelompok1_Program11
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan tipe data
int number;
string input;
//proses memasukkan input yang
kemudian akan ditampilkan pada output
input = Console.ReadLine();
//mengubah tipe string menjadi
integer
int.TryParse(input, out number);
//pernyataan kondisi perulangan yang
terus mengeluarkan nilai konstanta
secara berurutan dari besar ke kecil
dimulai dari angka yang diinput
sampai angka lebih dari 0
do
{
Console.WriteLine("{0}", number);
number--;
}
while (number > 0);
}
}
}
219
Gambar 5.28Source code program 11
Gambar 5.29Hasil program 11
Program ini berfungsi untuk menampilkan urutan nilai dari
besar ke sampai kecil dari nilai yang anda input, dengan syarat
nilai yang diinput harus lebih besar dari 0. Pada program ini
dimasukkan nilai 10, maka program akan terus menampilkan
nilai secara berurutan dari 10 dan terus menurun sampai nilai
lebih dari 0, yaitu 1.
5.3.7. Tugas Praktikum
5.3.7.1. Latihan
1. Program Switch Menghitung Volume Balok, Kubus,
dan Kerucut
using System;
using System.Collections.Generic;
using System.Linq;
220
using System.Text;
//nama program//
namespace Kelompok1_ProgramLatihan1
{
class Program
{
static void Main(string[] args)
{// pendeklarasian variabel dan konstanta//
int j,l,p,s,t,x;
int panjang, lebar;
double vb, vk, vc;
string jenis;
double phi = 3.14;
// pendeklarasian menu//
MENU:
System.Console.WriteLine("VOLUME ");
System.Console.WriteLine("[1]. Balok");
System.Console.WriteLine("[2]. Kubus");
System.Console.WriteLine("[3]. Kerucut");
System.Console.WriteLine("Masukkan Pilihan
");
x= int.Parse(System.Console.ReadLine());
System.Console.WriteLine();
switch (x)// pengkondisian jika memilih MENu
dengan pilihan 1,2,atau 2//
{
case 1://jika memilih 1 maka melakukan
proses Volume Balok//
System.Console.WriteLine("[1]. Volume
Balok");
jenis = "Balok";
System.Console.WriteLine("Masukan panjang =
");//memasukkan inputan panjang//
p = int.Parse(System.Console.ReadLine());
//menerima inputan panjang//
System.Console.WriteLine("Masukan lebar =
");//memasukkan inputan lebar//
221
l = int.Parse(System.Console.ReadLine());
System.Console.WriteLine("Masukan tinggi =
");//memasukkan inputan//
t = int.Parse(System.Console.ReadLine());
//menerima inputan tinggi//
vb = p * l * t;//rumus volume balok//
System.Console.WriteLine("volume " + jenis +
" adalah " + vb);//menampilkan hasil volume
balok//
Console.ReadLine();
Console.Clear();
goto MENU;//proses kembali ke MENU untuk
menentukan pilihan kembali//
break;
case 2://jika memilih 2 maka melakukan
proses Volume Kubus//
System.Console.WriteLine("[2]. Volume
Kubus");
jenis = "Kubus";
System.Console.WriteLine("Masukan panjang
sisi nya = ");//memasukkan inputan panjang//
s = int.Parse(System.Console.ReadLine());
//menerima inputan panjang//
vk = s * s * s;//rumus volume kubus//
System.Console.WriteLine("Volume" + jenis +
" adalah " + vk);//menampilkan hasil volume
Kubus//
System.Console.ReadLine();
Console.Clear();
goto MENU;//proses kembali ke MENU untuk
menentukan pilihan kembali//
break;
case 3:
222
//jika memilih 3 maka melakukan proses
Volume Kerucut//
System.Console.WriteLine("[3]. Volume
Kerucut");
jenis = "Kerucut";
System.Console.WriteLine("Masukan panjang =
");
p = int.Parse(System.Console.ReadLine());
System.Console.WriteLine("Masukan jari-jari
= ");//memasukkan inputan jari-jari//
j = int.Parse(System.Console.ReadLine());
//menerima inputan jari-jari//
System.Console.WriteLine("Masukan tinggi =
");//memasukkan inputan tinggi//
t = int.Parse(System.Console.ReadLine());
//menerima inputan tinggi//
vk = phi * j * j * t / 3;
//rumus volume kerucut//
System.Console.WriteLine("volume" + jenis +
" adalah " + vk);//menampilkan hasil volume
kerucut//
System.Console.ReadLine();
Console.Clear();
goto MENU;//proses kembali ke MENU untuk
menentukan pilihan kembali//
break;
default:
System.Console.WriteLine("Tidak ada pilihan
selain 1/2/3");
goto MENU;//proses kembali ke MENU untuk
menentukan pilihan kembali//
break;
}
}
}
}
223
Gambar 5.30 Screenshot Source code program latihan 1
224
Gambar 5.31 Screenshot Hasil program latihan 1
Pada program ini, akan ada output dengan
menampilkan 3 menu, yaitu : balok, kubus, dan
kerucut, kita bisa memilih program mana yang ingin
kita jalankan lebih dulu, dan apabila kita sudah selesai
dan ingin mencari lagi kita bisa memilih lagi program
yang ingin kita jalankan, tetapi harus sesuai dengan
nomor pilihan yang tersedia. Apabila itdak, maka
program tidak akan bisa dijalankan.
2. Output Program
Source code program :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program//
namespace Kelompok18_ProgramLatihan2
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan tipe
data//
int n, j;
225
//pernyataan kondisi perulangan
sebanyak 10 kali dimulai dari 0
sampai kurang dari 10 secara
menurun//
for (n = 0; n < 10; n++)
{
//pernyataan kondisi
perulangan sebanyak 11 kali
dimulai dari 0 sampai sama
dengan n secara mendatar//
for (j = 0; j <= n; j++)
{
Console.Write("#");
}
Console.Write("\n");
}
}
}
}
Gambar 5.32 Screenshot Source code program latihan 2
226
Gambar 5.33 Screenshot Hasil program latihan 2
Output dari program ini adalah tampilan c#1 secara
berurutan dari yang paling atas 1 buah, sampai ke yang
paling bawah, yaitu 10 buah output tulisan C#1.
3. Program Bilangan Prima Antara 0-100
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program//
namespace Kelompok18_ProgramLatihan3
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan tipe
data//
int i, j, counter;
Console.WriteLine("Bilangan Prima
Antara 0-100 : ");
//digunakan untuk membagi bilangan
ke-, dengan 1 hingga bilangan
prima//
for (i = 1; i <= 100; i++)
{
counter = 0;
227
for (j = 2; j <= Math.Sqrt(i);
j++)
{
//apabila nilai bilangan i
dibagi j sama denga 0, maka
bilangan bukan bilangan
prima tersebut tidak
ditampilkan di output//
if (i % j == 0)
{
counter++;
}
}
//bilangan i dibagi j yang
tidak menghasilkan angka 0
akan ditampilkan pada output
karena merupakan bilangan
prima//
if (counter == 0)
{
Console.Write("{0} ", i);
}
}
}
}
}
Gambar 5.34 Screenshot Source code program latihan 3
228
Gambar 5.35 Screenshot Hasil program latihan 3
Program ini berfungsi untuk mencari dan mencetak semua
bilangan prima yang ada diantara nilai 0 sampai dengan 100.
5.3.7.2. Studi Kasus
1. Program Menebak Tanggal Lahir
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program//
namespace Kelompok18_StudiKasus1
{
class Program
{
static void Main(string[] args)
{
//pendeklarasian variabel dan tipe data//
int ans, ttl;
//proses input nama dan tanggal lahir untuk
ditebak nantinya//
Console.Write ("Nama anda : ");
string nama = Console.ReadLine();
rep:
{
Console.Clear();
Console.Write("Nama anda : {0}", nama);
Console.Write("\nTanggal lahir anda : ");
int.TryParse((Console.ReadLine()), out ttl);
if (ttl < 1 || ttl > 31)
229
{
Console.Write("Input salah (tanggal 1 -
31)\nTekan enter untuk mencoba lagi");
Console.ReadLine();
goto rep;
}
}
Console.Write ("Tekan sembarang tombol untuk
memulai permainan");
Console.ReadLine();
A :
{
//proses input dan menebak tanggal lahir
yang sudah diinput sebelumnya//
Console.Clear();
Console.WriteLine("Tebak tanggal lahir {0}",
nama);
Console.Write("Tanggal berapa {0} lahir ? ",
nama);
int.TryParse((Console.ReadLine()), out ans);
if (ans != ttl)
{
if (ans >= 1 && ans <= 31)
{
//jika tebakan salah//
Console.Write("Maaf tebakan anda
salah\nTekan enter untuk mencoba lagi");
Console.ReadLine();
}
goto A;
}
}
//jika tebakan benar//
Console.WriteLine("Selamat, tebakan anda
benar...!!!");
Console.ReadLine();
}
}
}
230
Gambar 5.36 Screenshot Source code program studi kasus 1
Gambar 5.37 Screenshot Hasil program studi kasus 1
231
Program ini merupakan program yang berfungsi untuk
menampilkan tebakan tanggal lahir seseorang. Pada awalnya,
kita perlu memasukkan inputan sesuai dengan yang
diperintahkan program, selanjutnhya program akan mulai
menjalankan tebakan yang inputannya sudah kita masukkan
sebelumnya.
2. Windows Form Application
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication4Kelompok1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object
sender, EventArgs e)
{
if (textBox1.Text == "")//kondisi
untuk textBox1 jika tidak terisi sama sekali
{
errorProvider1.SetError(textBox1, "input tidak
valid");
232
MessageBox.Show("Input Tidak
Valid");//Kotak pesan yang akan muncul jika
kolom textBox1 tidak terisi
}
if (textBox2.Text == "")// kondisi
untuk textBox2 jika tidak terisi sama sekali
{
errorProvider2.SetError(textBox2, "input tidak
valid");
MessageBox.Show("Input Tidak
Valid");// Kotak pesan yang akan muncul jika
kolom textBox1 tidak terisi
}
if (textBox3.Text == "")// kondisi
untuk textBox3 jika tidak terisi sama sekali
{
errorProvider3.SetError(textBox3, "input tidak
valid");
MessageBox.Show("Input Tidak
Valid");// Kotak pesan yang akan muncul jika
kolom textBox1 tidak terisi
}
else
{
MessageBox.Show("Selamat Input
Anda Berhasil ! \nNama\t:" + textBox1.Text +
"\nNIM \t:" + textBox2.Text +"\nshift\t:" +
textBox3.Text + "\nNIM \t:" + textBox2.Text
);//Menampilkan keseluruhan
input dari Nama,NIM,Kelas dan Shift bersamaan
MessageBox.Show("Mau Coba
Lagi?", "Question", MessageBoxButtons.OKCancel,
MessageBoxIcon.Question);//untuk mengulang
program (looping)
}
}
233
}
}
Gambar 5.38 Source code program studi kasus 2
Gambar 5.39 Hasil program studi kasus 2
Gambar 5.40 Hasil program studi kasus 2 jika form kosong
Program ini digunakan untuk form/isian yang apabila salah satu atau
semua isian tidak diisi, maka program tersebut akan muncul
peringatan yang mengharuskan isi untuk diisi keseluruhannya. Jika
234
form semuanya telah terisi maka akan ditampilkan isi inputan pada
messagebox.
235
5.4 KESIMPULAN
1. Bahasa pemrograman C#1 adalah bahasa yang dikembangkan oleh
Microsoft yang menggunakan bahasa tingkat tinggi dan lebih kompleks
daripada bahasa C.
2. Semua komponen yang yang ada pada bahasa C#1 belum tentu ada pada
bahasa pemrograman C.
3. Pemrograman C# dapat dilakukan dengan menggunakan program Visual
Studio.
4. Pada C# dapat digunakan beberapa contoh penggunaan variabel,
konstanta, dan fungsi yang lebih lengkap dibandingkan dengan Delphi 7.
5. Pemrograman C# dapat menggunakan tampilan console application
maupun windows form application.
6. C# menyediakan fungsi perulangan seperti for, while, do while.
7. C# juga menyediakan fungsi pengkondisian seperti, if dan switch case.
8. Bahasa C mungkin akan terasa lebih sulit jika tanpa dipelajari terlebih
dahulu, tidak seperti bahasa Pascal yang lebih mudah dimengerti.
236
BAB VI
PEMROGRAMAN C# BAGIAN II
6.1 Tujuan
1. Mengenal dan memahami fungsi array (larik) dan kegunaannya serta
dapat membuat program dengan menggunakan array.
2. Praktikan dapat mengenal dan memahami penggunaan queue pada
program serta dapat mengaplikasikannya pada program.
3. Praktikan dapat mengenal dan memahami penggunaan stack pada
program serta dapat mengaplikasikannya pada program.
237
6.2 Dasar Teori
6.2.1 Array
Array adalah sebuah struktur data yang terdiri atas banyak
variabel dengan tipe data sama, di mana masing-masing elemen
variabel mempuynyai nilai indeks. Setiap elemen array mampu
untuk menyimpan satu jenis data (variabel). Array bisa dikatakan
memiliki dimensi, baik satu, dua, ataupun tiga, atau bahkan lebih.
Hal ini tergantung pada representasi data yang dimilikinya, array
dimensi satu mewakili suatu bentuk vektor, array dimensi dua
mewakili suatu matriks, dan array berdimensi tiga mewakili bentuk
ruang.
Variabel array dideklarasikan dengan mencantumkan tipe dan nama
variabel yang akan diikuti dengan banyaknya lokasi memori yang
akan dibuat. Contoh penulisan array c adalah seperti berikut :
Int c[5];
Perlu diperhatikan bahwa c secara otomatis akan menyediakan lokasi
memori sesuai dengan yang dideklarasikan, di mana nomor indeks
selalu dimulai dari 0. Nilai suatu variabel array dapat juga
diinisialisasi secara langsung pada saat deklarasi, misalnya :
Int c[5]={-45, 0, 6, 72, 1543};
Berarti setiap lokasi memori dan variabel array c langsung diisi
dengan nilai-nilai yang dituliskan di dalam tanda kurung kurawal.
Contoh berikut adalah deklarasi variabel array dengan sekaligus
mengisi setiap lokasi memorinya dengan nilai 0 :
Int x[5]= {0};
Banyaknya lokasi memori dapat secara otomatis disediakan sesuai
dengan banyaknya nilai yang akan dimasukkan, seperti contoh
berikut yang tentunya membuat variabel array dengan 10 lokasi
memori
Int x[]= {10, 15, 12, 5, 13, 9, 6, 17, 25, 31};
238
6.2.2 Array dengan perulangan
Untuk menampilkan semua nilai pada array kita dapat
menggunalan fungsi perulangan untuk menyingkat penulisan source
codenya. Perulangan sendiri adalah teknik pemrograman, di mana
suatu proses akan diulang terus-menerus sampai tercapai suatu
kondisi yang diinginkan.
6.2.3 Queue
Queue adalah salah satu bentuk struktur data yang juga
merepresentasikan linked list. Di mana yang berbeda dalam queue
tersebut adalah cara menambah data dan mengambil data. Sesuai
dengan namanya yaitu queue atau antrian, data yang dimasukkan
dari belakang (insertAtBack), sehingga data yang pertama kali
dimasukkan berada pada node pertama, dan data yang dimasukkan
terakhir juga akan berada pada node yang terakhir. Di mana untuk
pengambilan proses pengambilan datanya, yang diambil adalah data
pertama, dan setelah data pertama diambil maka node yang berisi
data pertama tersebut akan di-null kan, sehingga posisi node pertama
akan berpindah pada node setelah node pertama tersebut. Proses ini
biasa disebut mdengan FIFO atau First In First Out. Dari data pada
tabel di bawah ini, data yang pertama masuk adalah data “a” dan
ketika diinputkan data lagi maka akan berada di node berikutya yaitu
di node ke – 2.
6.2.4 Stack
Stack adalah salah satu bentuk struktur data yang juga
merepresentasikantumpukan data. Di mana yang berbeda dalam
stack tersebut adalah cara menambah data dan mengambil data.
Sesuai dengan namanya yaitu stack atau tumpukan, data yang
dimasukkan pertama berada pada tumpukan paling bawah, sehingga
untuk data yang dimasukkan terakhir berada di tumpukan paling
atas. Ketika kita ingin melakukan pengambilan data, proses
239
pengambilan datanya, yang diambil adalah data yang berada pada
tumpukan paling atas, dan setelah itu baru data yang ada di
tumpukan di bawahnya. Proses ini biasanya disebut dengan LIFO
atau Last In First Out. Data “D” merupakan data yang pertama kali
dimasukkan dan data “A” merupakan data yang terakhir dimasukkan
dan berada di tumpukan paling atas.
6.2.5 Pengurutan data (Sorting)
Sorting adalah proses di mana data diurutkan sesuai dengan
kaidah atau aturan tertentu. Ada beberapa algoritma untuk
melakukan sorting, di antaranya adalah :
1. Bubble sort
Algoritma beroperasi sebagai berikut :
Elemen pertama dibandingkan dengan elemen kedua, bila
elemen kedua lebih kecil maka kedua elemen tersebut
ditukar.
Elemen kedua dan ketiga dibandingkan, bila elemen ketiga
lebih kecil daripada elemen kedua, maka elemen tersebut
ditukar.
Proses terus berlangsung dengan elemen ketiga dan elemeen
keempat, dan seterusnya sampai akhir deretan tercapai.
Bila tak ada lagi yang ditukarkan, algoiritma berhenti. Bila
terjadi pertukaran secara berurutan, proses akan diulang.
Sehingga akhirnya semua elemen tersusun, tidak ada
pertukaran lagi dan algoritma berhenti.
2. Selection sort
Algoritma beroperasi sebagai berikut :
Memilih elemen maksimum / minimum dari larik, lalu
menempatkan elemen tersebut pada awal / akhir larik.
Larik yang telah ditempati elemen maksimum / minimum
tersebut diisolasi dan tidak disertakan pada proses
selanjutnya.
240
Ada dua algoritma untuk selection sort yaitu elemen
maksimum sebagai basis pengurutan dan elemen minimum
sebagai basis pengurutan.
Operasi elemen hanya dilakukan sekali saja pada setiap
langkah.
3. Insertion sort
Algoritma beroperasi sebagai berikut :
Sembarang elemen diambil dari data yang belum terurut.
Data pertama dibandingkan dengan data kedua. Apabila data
kedua lebih kecil maka data kedua tersebut disisipkan di
depan data pertama.
Lakukan terus sampai data yang belum terurut tersebut habis.
4. Shell sort
Disebut juga diminishing increment sort
Pengurutan dilakukan setiap k elemen dengan metode
pengurutan sisip
Nilai k akan berkurang pada setiap langkah pengurutan
Nilai k disebut juga increment
5. Merge sort
Metode ini banyak digunakan untuk mengurutkan dua atau lebih
tabel yang sudah terurutkan menjadi satu tabel yang terurutkan
juga.
6. Quick sort
Metode ini dalam melakukan pengurutan data menggunakan
babak-babak dengan panjang spasi tertentu.
Ketika kita memasukkan data dalam jumlah besar, dapat
melakukan sortir data, mulai dari ascending atau urut dari nilai yang
paling kecil dan descending atau urut dari nilai yang paling besar.
6.2.6 Matriks
Matriks biasanya dinotasikan dengan huruf besar A, B, C dan
sebagainya. Elemen-elemen di dalam matriks sering disebut dengan
entri dari matriks. Entri ini biasanya merupakan bilangan riil atau
241
kompleks. Entri dari matriks pada umumnya dinotasikan dengan
[A]ji yang menyatakan matriks A yang berada pada baris ke j dan
kolom ke i.
Dua matriks A=[aij] dan B=[bij] dikatakan sama , ditulis A=B
jika A dan B berukuran sama dan entri yang seletak sama yaitu aji=bji
untuk setiap j dan i. Jika dua matriks A dan B berukuran sama ,
penjumlahan A dan B didefinisikan sebagai beriut :
A+B = [aji+ bji]
Sifat dasar dari operasi penjumlahan dan perkalian matriks dengan
skalar adalah sebagai berikut :
(A + B) + C = A + (B + C)
A + 0 = 0 + A = A
A + (-A) = (- A) + A = 0
A + B = B + A
k(A + B) = kA + kB
(k+ l)A = kA + lA
(kl)A = k (lA)
Ada beberapa jenis matriks, diantaranya adalah :
1. Suatu matriks dengan banyak baris = banyak kolom = n disebut
matriks bujur sangkar berukuran n. Barisan entri a11, a22, .....,
ann disebut diagonal utama dari matriks bujur sangkar.
2. Matriks diagonal adalah matriks bujur sangkar yang semua
elemen diagonal utamanya adalah nol.
3. Matriks identitas adalah matriks diagonal yang entri pada
diagonal utamanya adalah 1.
4. Matriks segitiga adalah matriks bujur sangkar yang semua entri
di bawah diagonal utama = 0
1 2 3
0 5 3
0 0 8
5. Matriks segitiga bawah adalah matriks bujur sangkar yang semua
entri di atas diagonal utama = 0
242
1 0 0
2 5 0
1 0 8
243
6.3. Analisa dan Pembahasan
6.3.1. Array 1 dimensi
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace latihanArray1dimensikelompok1
{
//kelas program
Class Program
{
Static void Main(string[] args)
{
//deklarasi array
int[] array = { 1, 2, 3 };
//menampilkan program pada layar
System.Console.WriteLine("datanya adalah " + array[0]);
}
}
}
Gambar 6.1 Screenshot tampilan coding program Latihan Aray Dimensi 1
Gambar 6.2 Screenshot Tampilan program Latihan Array 1 Dimensi
244
Keluaran dari program ini adalah menampilkan angka 1,
karena pada program ini yang dipanggil adalah array dengan indeks ke-
0.
6.3.2 Array 2 dimensi
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace latihanArray2dimensikelompok1
{
//kelas program
Class Program
{
//awal memulai program
Static void Main(string[] args)
{
//deklarasi array
int[,] array = new int[2, 2];
array[0, 0] = 2;
//perintah menampilan program di layar
System.Console.WriteLine("datanya adalah " + array[0,
0]);
}
}
}
Gambar 6.3 Screenshot coding program latihan Array 2dimensi
245
Gambar 6.4 Tampilan running program array 2 dimensi
Pada program ini akan keluar tampilan angka 2, karena
indeks array yang dipanggil pada program ini adalah indeks ke-[0,0].
6.3.3 Array dengan perulangan
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace latihanArrayperulangankelompok1
{
//kelas program
classProgram
{
//awal memulai program
Static void Main(string[] args)
{
//deklarasi array
int[,] matriks = newint[2, 2];
//penjabaran deklarasi array
matrik[0, 0] = 12;
matrik[0, 1] = 30;
matrik[1, 0] = 45;
matrik[1, 1] = -9;
//perintah untuk melakukan looping
for (int i = 0; i < 1; i++)
{
for (int j = 0; j < 2; j++)
{
//perintah untuk menampilkan program dilayar
System.Console.Write(matrik[i, j] + " ");
}
}
System.Console.WriteLine("");
for (int i = 1; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
System.Console.Write(matrik[i, j] + " ");
}
246
}
System.Console.WriteLine("");
}
}
}
Gambar 6.5 Screenshot coding program Latihan Array Pengulangan
Gambar 6.6Tampilan running program latihan array perulangan
Gambar diatas adalah contoh keluaran dari program
pengulangan array. pada lokasi baris dan kolom 0 diisi dengan nilai
12, baris 0 dan kolom 1 diisi dengan nilai 30, baris 1 dan kolom 0
diisi dengan nilai 45, dan terakhir baris 1 dan kolom 1 diisi dengan
nilai -9.
6.3.4 Penjumlahan matriks
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace ConsoleApplicationkelompok1
{
247
classProgram
{
//perintah memulai program tanpa tipe
Private static int kolom;
Static void Main(string[] args)
{
//deklarasi program
int baris = 2, kolom = 2;
int[,] matriks1 = newint[baris, kolom];
int[,] matriks2 = newint[baris, kolom];
int[,] hasil = newint[baris, kolom];
//perintah untuk menampilkan program dilayar
Console.WriteLine("Input Matriks1 :");
//perintah untuk melakukan looping
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
//deklarasi matriks
matriks1[b, k] = 2;
Console.Write(matriks1[b, k] + " ");
}
Console.WriteLine();
}
Console.WriteLine("Input Matriks2 :");
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
matriks2[b, k] = 4;
Console.Write(matriks2[b, k] + " ");
}
Console.WriteLine();
}
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
//hasil dari dekrasi matriks
hasil[b, k] = matriks1[b, k] + matriks2[b, k];
}
}
Console.WriteLine("Hasil Penjumlahan Matriks :");
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
Console.Write(hasil[b, k] + " ");
}
Console.WriteLine();
}
}
}
}
248
Gambar 6.7 Screenshot program penjumlahan matriks
Gambar 6.8 Screenshot Tampilan running program penjumlahan matriks
249
Keluaran dari program ini aadalah hasil dari penjumlahan
matriks. pada lokasi baris dan kolom matriks1 diisi dengan nilai 2,
baris dan kolom matriks2 diisi dengan nilai 4. Hasil Penjumlahan
Matriks akan dihasilkan dari penambahan kedua matriks tersebut.
6.3.5 Queue
//library system
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
//nama program
namespace latihan_stackdanqueuekelompok1
{
//kelas program
classProgram
{
///perintah untuk memulai program
staticvoid Main(string[] args)
{
//perintah untuk menampilkan program dilayar
Console.WriteLine("Enter in a string");
//perintah untuk membaca statement
string s1 = Console.ReadLine();
Console.WriteLine(" ");
//deklarasi queue
Queue q1 = newQueue();
//perintah melakukan looping
for (int i = 0; i < s1.Length; i++)
{
q1.Enqueue(s1.Substring(i, 1));
if (i == s1.Length - 1)
{
//perintah untuk menampilkan hasil queue
Console.WriteLine("hasil menggunakan metode queue");
for (i = 0; i < s1.Length; i++)
{
char y = Convert.ToChar(q1.Dequeue());
Console.WriteLine(y);
}
Console.WriteLine(" ");
}
}
}
250
}
}
Gambar 6.9 Screenshot coding program latihan queue
Gambar 6.10 Screenshot Tampilan running program latihan queue
Keluaran dari program ini adalah mengurutkan inputan dari
yang paling awal dimasukkan sampai ke yang paling terakhir
dimasukkan, jika Anda masukkan inputan pertama sampai terakhir,
missal: abcde, maka setelah di proses inputan pertama akan duluan
dikeluarkan.
6.3.6 Stack
//library system
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
//nama program yang akan dijalankan
251
namespace latihan_stackdanqueuekelompok1
{
//kelas program
classProgram
{
//perintah untuk emamulai program
staticvoid Main(string[] args)
{
//perintah untuk emnampilkan hasil program dilayar
Console.WriteLine("Enter in a string");
//perintah untuk membaca statement
string s1 = Console.ReadLine();
Console.WriteLine(" ");
//deklarasi stack
Stack st = newStack();
Console.WriteLine("hasil menggunakan metode stack");
//perintah melakukan looping
for (int i = 0; i < s1.Length; i++)
{
st.Push(s1.Substring(i, 1));
//pengkondisian
if (i == s1.Length - 1)
{
for (i = 0; i < s1.Length; i++)
{
Char x = Convert.ToChar(st.Pop());
Console.WriteLine(x);
}
}
}
}
}
}
Gambar 6.11 Screenshot coding program latihan stack
252
Gambar 6.12Tampilan running program latihan stack
Pada program ini keluarannya adalah urutan data mulai dari
yang terakhir dimasukkan sampai yang pertama kali dimasukan.
Kebalian dari program queue.
6.3.7 Pengurutan data secara ascending
Ketika kita memasukkan data dalam jumlah besar, dapat melakukan
sortir data, mulai dari ascending atau urut dari nilai yang paling kecil
dan descending atau urut dari nilai yang paling besar.
//library system
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
/nama program
namespace latihan_bublesortkelompok1
{
//kelas program
classProgram
{
//perintah untuk memulai program dengan tipe string
staticvoid Main(string[] args)
{
//perintah untuk menampilkan hasil program dilayar
Console.Write("Masukkan banyak elemen array = ");
//perintah untuk membaca statement
int n = Convert.ToInt32(Console.ReadLine());
int[] array_sort = newint[n];
perintah untuk melakukan loping
for (int i = 0; i < n; i++)
{
Console.Write("Elemen ke-" + (i + 1) + "=");
253
//perintah untuk membaca statement
array_sort[i]=Convert.ToInt32(Console.ReadLine());
}
for (int j = 1; j <= n - 1; j++)
{
for (int k = 0; k <= n - 2; k++)
{
//deklarasi pengkondisian
if (array_sort[k] > array_sort[k + 1])
{
//deklarasi temp dengan menggunakan tipe data integer
int temp = array_sort[k]; array_sort[k] = array_sort[k
+ 1];
array_sort[k + 1] = temp;
}
}
}
Console.WriteLine("");
Console.WriteLine("tampilkan data secara ascending");
for (int i = 0; i < n; i++)
{
Console.WriteLine(array_sort[i]);
}
//perintah membaca kunci / rumus yang terdapat dalam
program
Console.ReadKey(true);
}
}
}
Gambar 6.13 Screenshot coding program pengurutan data secara ascending
254
Gambar 6.14 Screenshot Tampilan running program pengurutan data secara
ascending
Keluaran dari program diatas adalah penguruta program
dari yang terkecil sampai ke yang terbesar, tidak seperti queue dan
stack yang datanya diurutkan dari urutan masuknya data.
6.4 Tugas Praktikum
6.4.1 Pengurangan matriks
//library system
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace Pengurangan_Matriks_Kelompok1
{
//kelas program
class Program
{
//perintah untuk memulai program dengan tipe data
string
static void Main(string[] args)
{
//deklarasi baris dan kolom
int baris = 3, kolom = 3;
int[,] matriks1 = new int[baris, kolom];
int[,] matriks2 = new int[baris, kolom];
int[,] matriks3 = new int[baris, kolom];
int[,] hasil = new int[baris, kolom];
Console.WriteLine("Input Matriks1: ");
//perintah untuk emlakukan looping
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
255
{
//deklarasi matriks
matriks1[b, k] = 4;
//perintah utnuk emnampilakn program
dilayar
Console.Write(matriks1[b, k] + " ");
}
Console.WriteLine();
}
Console.WriteLine("Input Matriks2: ");
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
//dklarasi matriks2
matriks2[b, k] = 6;
Console.Write(matriks2[b, k] + " ");
}
Console.WriteLine();
}
Console.WriteLine("Input Matriks3: ");
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
//deklarasi matriks3
matriks3[b, k] = 7;
Console.Write(matriks3[b, k] + " ");
}
Console.WriteLine();
}
Console.WriteLine("Hasil: ");
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
hasil[b, k] = matriks1[b, k] -
matriks2[b, k] - matriks3[b, k];
}
}
Console.WriteLine("Hasil Pengurangan matriks:
");
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
//perintah untuk menampilkan hasil
dari pencarian pada program ke layar.
Console.Write(hasil[b, k] + " ");
}
Console.WriteLine();
}
256
Console.ReadLine();
}
}
}
257
Gambar 6.15 Screenshot Tampilan coding program pengurangan matriks
258
Gambar 6.16 Screenshot Tampilan running program pengurangan matriks
Apda program diatas, dapat kita lihat, keluaran dari
programnya adalah pengurangan matriks. pada lokasi baris dan
kolom matriks1 diisi dengan nilai 9, baris dan kolom matriks2 diisi
dengan nilai 2, baris dan kolom matriks3 diisi dengan nilai 6. Hasil
Pengurangan Matriks akan dihasilkan dari pengurangan 3 matriks
tersebut.
6.4.2 Menghapus dan Menambah Data dengan Queue
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
//nama program//
namespace Latihan2_kelompok25
{
class Program
{
static void Main(string[] args)
{
//pernyataan variabel dan queue//
int num = 0;
Queue isi = new Queue();
do
{
//menampilkan menu utama//
Console.WriteLine("");
Console.WriteLine("Pilihan \n 1 untuk
menambah data \n 2 untuk menghapus data \n 3 untuk
menampilkan data \n 4 untuk keluar dari program");
Console.WriteLine("Masukkan pilihan:");
string pilihan = Console.ReadLine();
259
//pengkondisian apabila nilai yang
dimasukkan antara 1-4//
switch (pilihan)
{
case "1":
//menambahkan nilai string ke
dalam queue//
Console.WriteLine("Masukkan data
string:");
string s1 = Console.ReadLine();
Console.WriteLine("");
isi.Enqueue(s1);
num = 0;
break;
case "2":
//mengeluarkan nilai queue
apabila nilai = 0//
if (isi.Count == 0)
{
Console.WriteLine("Tidak ada
data yang bisa dihapus");
}
//mengeluarkan nilai yang
pertama masuk pada queue//
else
{
string hasil_stack =
(string)isi.Dequeue();
}
num = 0;
break;
case "3":
//menampilkan data pada queue//
{
Console.WriteLine("Datanya
adalah");
foreach (string d in isi)
{
string hasil = d;
Console.WriteLine(d);
}
}
num = 0;
break;
case "4":
//keluar program//
num = 1;
break;
default:
{
foreach (string d in isi)
{
string hasil = d;
Console.WriteLine(d);
num = 0;
260
}
}
break;
}
}
while (num == 0);
}
}
}
261
Gambar 6.17 Screenshot coding program Menghapus Menambah Data dengan
Queue
262
Gambar 6.18 Screenshot running program Menghapus dan Menambah Data dengan Queue
Pada program diatas dapat kita lihat hasil
keluarannya.Hasilnya diurutkan berdasarkan data yang duluan di
masukkan sehingga jika melalukan penghapusan data maka data
yang pertama dimasukkan akan duluan di hapus.
6.4.3 Menghapus dan Menambah Data dengan Stack
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; //nama program// namespace Latihan3_kelompok1 { class Program { static void Main(string[] args) { //pernyataan variabel dan stack// int num = 0;
263
Stack isi = new Stack(); do { //menampilkan menu utama// Console.WriteLine(""); Console.WriteLine("Pilihan \n 1 untuk menambah data \n 2 untuk menghapus data \n 3 untuk menampilkan data \n 4 untuk keluar dari program"); Console.WriteLine("Masukkan pilihan:"); string pilihan = Console.ReadLine(); //pengkondisian apabila nilai yang dimasukkan antara 1-4// switch (pilihan) { case "1": //menambahkan nilai string ke dalam stack// Console.WriteLine("Masukkan data string:"); string s1 = Console.ReadLine(); Console.WriteLine(""); isi.Push(s1); num = 0; break; case "2": //mengeluarkan nilai stack apabila nilai = 0// if (isi.Count == 0) { Console.WriteLine("Tidak ada data yang bisa dihapus"); } //mengeluarkan nilai yang terakhir masuk pada stack// else { string hasil_stack = (string)isi.Pop(); } num = 0; break; case "3": //menampilkan data pada queue// { Console.WriteLine("Datanya adalah"); foreach (string d in isi) { string hasil = d; Console.WriteLine(d); } } num = 0; break; case "4": //keluar program// num = 1;
264
break; default: { foreach (string d in isi) { string hasil = d; Console.WriteLine(d); num = 0; } } break; } } while (num == 0); } } }
265
Gambar 6.19 Screenshot coding program Menghapus dan Menambah Data
dengan Stack
266
Gambar 6.20 Screenshot running program Menghapus dan Menambah Data dengan Stack
Keluaran dari program ini adalh pengurutan data
berdasarkan data yang terakhir di masukkan sehingga jika melalukan
penghapusan data maka data yang terakhir dimasukkan akan duluan
di hapus.
6.4.4 Menghapus dan Mengurutkan Data secara Descending
//library system
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//nama program
namespace MengurutkanDataDescendingkelompok1
{
//kelas program
class Program
{
//perintah untuk memulai program dengan tipe
data string
static void Main(string[] args)
{
267
//perintah untuk menampilkan program ke
layar
Console.Write("Masukkan banyak elemen array
= ");
//perintah program untuk membaca statement
int n = Convert.ToInt32(Console.ReadLine());
//deklarasi aray
int[] array_sort = new int[n];
//perintah untuk melakukan looping
for (int i = 0; i < n; i++)
{
Console.Write("Elemen ke-" + (i + 1) + " = ");
//deklarasi array
array_sort[i] =
Convert.ToInt32(Console.ReadLine());
}
for (int j = 1; j <= n - 1; j++)
{
for (int k = 0; k <= n - 2; k++)
{
//perintah pengkondisian program
if (array_sort[k] < array_sort[k + 1]){
int temp = array_sort[k];
array_sort[k] = array_sort[k + 1];
array_sort[k + 1] = temp;
}
}
}
Console.WriteLine("");
Console.WriteLine("Diurutkan secara
Descending");
for (int i = 0; i < n; i++)
{
//perintah untuk menampilkan deklarasi
array pada layar
Console.WriteLine(array_sort[i]);
}
//perintah untuk membaca kunci atau rumus
Console.ReadKey(true);
}
}
}
268
Gambar 6.21 Screenshot coding program Mengurutkan Data secara Descending
Gambar 6.22 Screenshot running program Mengurutkan Data secara Descending
Program diatas berfungsi untuk mengurutkan data dari yang
terbesar ke yang terkecil, bukan dengan cara mengurutkan data dari
yang pertama dimasukkan.
269
6.5 Kesimpulan
1. Bahasa pemrograman C# merupakan sebuah bahasa pemrograman
yang berorientasi objek yang dikembangkan oleh Microsoft sebagai
bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman
ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-
aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa
pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain)
dengan beberapa penyederhanaan.
2. Array adalah sebuah struktur data yang terdiri atas banyak variabel
dengan tipe data yang sama, dimana masing-masing elemnen variabel
mempunyai nilai indeks.
3. Array dengan perulangan menggunakan fungsi for. Perulangan adalah
teknik pemrograman di mana suatu proses akan diulang terus-menerus
sampai kondisi yang diinginkan.
4. Queue adalah salah satu bentuk struktur data yang juga
merepresentasikan linked list yang prosesnya disebut FIFO (First In
First Out).
5. Stack adalah salah satu bentuk struktur data yang juga
merepresentasikan tumpukan data yang prosesnya disebut LIFO (Last
In First Out).
6. Pengurutan data secara ascending dilakukan dari data yang bernilai
paling kecil ke terbesar, sedangkan pengurutan data secara descending
dilakukan dari data yang bernilai paling besar ke terkecil.
7. Pengurutan data (sorting) dapat dilakukan dengan berbagai metode,
antara lain bubble sort, selection sort, insertion sort, shell sort, merge
sort, ataupun quick sort.
8. Bahasa C# harus mencakup pengecekan jenis (type checking) yang
kuat, pengecekan larik (array), pendeteksian terhadap percobaan
terhadap penggunaan Variabel-variabel yang belum diinisialisasikan,
270
portabilitas kode sumber, dan pengumpulan sampah (garbage
collection) secara otomatis.
271
BAB VII
PEMROGRAMAN JAVA BAGIAN I
7.1 Tujuan
1. Memahami dasar-dasar pemrograman java
2. Memahami pernyataan penyeleksian kondisi IF-THEN-ELSE pada java
3. Memahami pernyataan penyeleksian kondisi SWITCH-CASE pada java
4. Memahami pernyataan perulangan WHILE dan DO…WHILE pada java
5. Memahami pernyataan perulangan FOR pada java
7.2 Dasar Teori
7.2.1 Pengenalan Pemrograman Java dan Instalasi
a. Sejarah Java
Java dipelopori oleh James Gosling, Patrick Naughton, Chris
Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc
pada tahun 1991. Mereka membutuhkan kurang lebih 18 bulan
untuk membuat versi pertamanya. Bahasa ini pada awalnya disebut
―Oak‖ tapi kemudian diubah menjadi ―Java‖ pada tahun 1995
karena nama Oak telah dijadikan hak cipta dan digunakan sebagai
bahasa pemrograman lainnya. Antara pembuatan Oak pada musim
gugur 1992 hingga diumumkan ke publik pada musim semi 1995,
banyak orang yang terlibat dalam desain dan evolusi bahasa ini.
Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, dan Tim
Lindholm merupakan kontributor kunci yang mematangkan
prototipe aslinya. Java Modern Java telah digunakan dalam banyak
hal dan telah membuktikan keberadaannya pada abad ke 21. Saat
ini, Java digunakan bermacam jenis aplikasi seperti aplikasi
embedded, aplikasi keuangan, desktop, simulasi pesawat,
272
pemrosesan citra, game, aplikasi perusahaan terdistribusi yang
disebut J2EE dan masih banyak lagi. Java Virtual Machine (JVM)
Java Virtual Machine merupakan aplikasi sederhana yang ditulis
dalam bahasa C untuk mengeksi program yang ditulis dalam
bahasa Java. Pada saat kompilasi (perubahan dari bahasa tingkat
tinggi ke bahasa lebih rendah), program tersebut diubah menjadi
KODE BYTE. Kemudian pada saat eksekusi, JVM membaca kode
byte tersebu dan mengubahnya menjadi bahasa mesin yang
dimengerti oleh sistem operasi tempat program tersebut dijalankan.
Karena JVM sangat bergantung pada platformnya (bahasa mesin
merupakan bahasa level rendah yang hanya dimengerti oleh suatu
mesin tertentu, misalnya Intel, tapi tidak dapat dimengerti oleh
mesin lain, seperti Macintosh), byte code ini dapat dibuat untuk 77
terbebas dari kungkungan platform tertentu. Code byte yang
dihasilkan dalam proses kompilasi bahasa Java akan selalu sama
untuk setiap sistem operasi atau jenis mesinnya, tetapi JVM akan
mengubah kode byte tersebut menjadi bahasa mesin tujuannya.
Just In Time Compiler (JIT) Meskipun Java didesain untuk
diinterpretasi, secara teknis tidak ada yang menghalangi Java untuk
dikompilasi menjadi bahasa mesin seperti bahasa-bahasa
pemrograman lainnya. Sun menyediakan kompiler Just In Time
Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa
mesinnya pada saat yang bersamaan dengan eksekusinya.
Walaupun demikian, pendekatan JIT ini menghasilkan kemampuan
yang lebih dibandingkan dengan interpretasi biasa.
b. Kelebihan dari Java
Keuntungan yang Anda dapat dari Java
Mulai dengan cepat: Java merupakan bahasa pemrograman
berorientasi objek, mudah dipelajari, terutama untuk
programmer yang sudah menguasai C atau C++
Tulis lebih sedikit program: Jumlah kelas, jumlah metode,
dll, menunjukkan bahwa program yang ditulis dalam
273
bahasa pemrograman Java memiliki jumlah 4 kali lipat
lebih kecil dari program sama yang ditulis dalam bahasa
C++
Tulis program lebih baik: Bahasa pemrograman Java
menganjurkan praktek membuat program yang baik, dan
automatic garbage collection membantu Anda untuk
menghindari kebocoran memori. Orientasi objeknya,
arsitektur komponen JavaBeans, dan jangkauannya yanga
luas, API yang mudah diperluas, memungkinkan Anda
menggunakan kode yang ada.
Membuat program dengan lebih cepat: Bahasa
pemrograman Java lebih mudah dari C++, pemrograman
akan menjadi 2 kalilipat lebih cepat, dengan jumlah baris
yang jauh lebih sedikit.
Menghindari kebergantungan pada platform tertentu: Anda
dapat menjalankan program Anda pada banyak platform
dengan TIDAK menggunakan library yang ditulis spesifik
untuk platform tertentu.
Tulis sekali, jalankan di mana saja: Karena aplikasi yang
ditulis dalam bahasa Java dikompilasi ke dalam kode byte
yang bebas platform, aplikasi yang ditulis dapat jalan
secara konsisten pada platform apa saja.
Distribusikan software Anda dengan mudah: Dengan Java
Web Start, pengguna program Anda akan dapat
menggunakan aplikasi Anda dengan mudah. Sistem
pengecekan versi otomatis pada saat program dimulai
menjamin pengguna Anda selalu menjalankan versi terkini.
Apabila versi baru tersedia, Java Web Start akan melakukan
instalasi secara otomatis.
274
7.2.2. If Else
Pernyataan if merupakan salah satu pernyataan percabangan
padaJava,
Seperti biasa, perintah1 dan perintah2 bisa berbentuk blok yang
terdiri dari beberapa perintah. Pernyataan if merupakan bentuk
percabangan 2 arah. Bagian else yang terdiri dari kata "else"
danperintah2 tidak selalu harus ada. Perhatikan bahwa baik
perintah1 dan perintah2 bisa merupakan pernyataan if itu sendiri.
Pertama-tama, komputer tidak peduli bagaimana Anda memformat
paragraf dan indentasi dari pernyataan if tersebut. Java akan
menganggap else terkait dengan if terdekat, else di program di atas
akan dianggap bagian dari pernyataan jika y> 0, padahal yang kita
maksud adalah else jika x > 0.
Kedua pernyataan tersebut memiliki arti yang berbeda. Jika x <=
0,pada kode pertama Java tidak mencetak apa-apa ke layar,
sedangkan kode kedua java akan mencetak "perintah2".
Dengan kata lain perintah tersebut lebih seperti percabangan 3
arah. Komputer akan mengeksekusi hanya salah satu dari perintah
1, perintah 2, atau perintah 3. Komputer akan mengevaluasi
kondisi_pertama, jika true, maka perintah1 dieksekusi sementara
perintah 2 dan perintah 3 diabaikan. Jika false, maka
kondisi_keduaakan dievaluasi. Jika true, maka perintah2 akan
dieksekusi danperintah3 diabaikan. Jika false, maka hanya
perintah3 saja yang dieksekusi. Kita bahkan dapat membentuk
pernyataan if-else ini menjadi percabangan N arah,
Contoh berikut ini adalah mengurutkan 3 bilangan dari kecil
kebesar. Misalnya kita mempunyai 3 variabel a,b dan c. Bilangan
yang paling kecil adalah bilangan yang lebih kecil dari kedua
bilangan yang lain. Sekarang mari kita rangkai logika untuk
menentukan urutan bilangan dari kecil ke besar. Mula-mula kita
cek apakah alebih kecil dari b dan c, yaitu dengan pernyataan
if (a < b && a <c)
275
Jika a betul merupakan bilangan terkecil, maka kita uji apakah
blebih kecil dari c dengan perintah
if (b < c)
Jika a bukan bilangan terkecil, maka b atau c, salah satunya bisa
merupakan bilangan terkecil. Kita hanya perlu membandingkan
apakah b lebih kecil dari c dengan
if (b < c)
Jika b lebih kecil dari c, berarti kita tahu bahwa b adalah bilangan
terkecil. Tetapi kita belum tahu apakah bilangan terkecil berikutnya
adalah a atau c, sehingga kita harus menguji lagi dengan
if (a < c)
Jika a lebih kecil dari c, maka urutannya adalah b, a, c. Jika
tidak,maka urutannya adalah b, c, a.
Demikian halnya apabila jika b > c, maka kita bisa tentukan
urutanbilangannya.
Logika di atas bisa juga dituangkan dengan cara lain, yaitu melihat
urutannya. Pertama kita cek apakah a < b. Jika ya, kita tahu bahwa
urutannya pasti a terlebih dahulu baru b. Kemudian kita lihat
apakah c berada di sebelah kiri a atau disebelah kanan b atau di
tengah tengah.Demikian seterusnya jika urutannya b terlebih
dahulu baru a. Switch case
Penyataan percabangan kedua yang dimiliki Java adalah
switch.Pernyataan switch lebih jarang digunakan, tetapi sering
bermanfaat apabila kita ingin menuliskan percabangan multi arah.
Di sini pernyataan switch akan mencari nilai ekspresi yang
sesuai dengan nilai-nilai yang didaftarkan pada pernyataan
case.Jika salah satu nilai ditemui, maka program akan melompat
kecabang case tersebut dan melakukan perintah yang terdapat
disana. Jika tidak ditemui, maka program akan melompat ke
perintah yang terdapat pada pernyataan default.Pernyataan
break di atas sebetulnya tidak harus selalu ada. Tetapi,perintah
break di sini memerintahkan komputer agar segera keluar dari
276
blok switch apabila perintah tersebut telah selesai dilaksanakan.
Apabila perintah break tidak diberikan, maka program akan terus
mengeksekusi perintah lain meskipun sudah berada di luar nilai
yang tertera dalam pernyataan casenya.
Salah satu aplikasi di mana pernyataan switch berguna adalah
untuk memproses menu. Menu memiliki beberapa pilihan dan user
akan diminta untuk memilih suatu pilihan. Kita dapat
menggunakan switch untuk menginstruksikan komputer untuk
melakukan tugas tertentu sesuai dengan menu yang dipilih oleh
user. Jika Anda ingat pernyataan main() pada program Java,
pernyataan main memiliki parameter String[] args,di mana
args merupakan argumen yang diberikan pada saat program
dijalankan melalui konsol. Biasanya argumen yang diberikan
berupa opsi bagaimana program harus dilaksanakan. Di sini
pernyataan switch juga berguna untuk memilih bagaimana program
akan berjalan.Jika Anda terbiasa atau pernah bergaul dengan
Linux, maka tidak asing untuk menemukan perintah pada Linux
seperti "ls -l" atau "tarxfz blabla". Di sini ls atau tar adalah nama
program dan "-l" atau"xfz blabla" adalah argumen yang diberikan
pada saat program dijalankan.
7.2.3. For
Kita akan membahas bentuk perulangan lain, yaitu perulangan
for.Setiap bentuk perulangan for dapat diubah menjadi bentuk
perulangan
While dengan fungsi yang sama tanpa mengubah alur program.
Tetapi tergantung dari permasalahan yang akan kita pecahkan,
menulis program dengan for akan membuat alur program lebih
mudah dipahami. Misalnya, kita akan menghitung
1+2+3+4+5+...+100. Di sini perulangan while memiliki 3
komponen penting, yaitu inisialisasi, yaitu memberikan nilai awal
suatu variabel, suatu_kondisi_variabel, yaitu pengujian bahwa
perulangan akan terus dilakukan selama kondisi ini bernilai true,
277
dan terakhir update_variabel, yaitu instruksi mengubah nilai
kondisi variabel untuk membatasi perulangan sehingga akan
selesai suatu saat, tidak berulang terus menerus. Pada perulangan
for,ketiga komponen ini dirangkai menjadi satu dalam bentuk
for (inisialisasi_variabel; kondisi_variabel; update_variabel)
perintah
atau jika perintah merupakan blok yang terdiri dari banyak
perintah,dapat dituliskan juga dalam bentuk
for (inisialisasi_variabel; kondisi_variabel; update_variabel) {
banyak_perintah
}
Di sini inisialisasi variabel bisa berupa apa saja yang berbentuk
perintah.
7.2.4. While
Pernyataan while telah diperkenalkan pada bagian sebelumnya.
Perulangan while memiliki bentuk
while (suatu_kondisi)
perintah
perintah
bisa juga berupa blok yang berisi kumpulan perintah-perintahdi
antara { dan }. Perintah ini disebut juga dengan inti perulangan.
Inti perulangan akan terus dieksekusi selama suatu_kondisi
bernilai true. suatu_kondisi ini disebut juga penguji
perulangan.
Pernyataan do ... while
Kadang-kadang akan lebih mudah menulis perulangan jika penguji
perulangan dilakukan di akhir badan perulangan. Dalam hal ini
badan perulangan akan dieksekusi terlebih dahulu tanpa
memperdulikan apakah suatu kondisi bernilai true atau false.
Pengujian dilakukan diakhir setelah suatu kondisi didapat dalam
eksekusi perulangan pertama kali. Pernyataan do ... while pada
dasarnya merupakan pernyataan while terbalik, Atau apabila
278
perintah berbentuk blok kumpulan perintah-perintah, Perlu diingat
bahwa pernyataan do ... while diakhiri dengan tanda ; di akhir
while.Contoh sederhana adalah program bermain game, di mana
game akan menanyakan apakah user ingin bermain lagi.
279
7.3 Analisa dan Pembahasan
7.3.1 Program Output
Kegunaan dari program ini adalah untuk menampilkan tulisan dilayar
melalui inputan yang kita masukkan, apabila kita menuliskan “selamat
datang” di inputan, maka yang tampil di layar juga tulisan “selamat
datang”.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package program.output.kelompok1;
/**
*
* @author OKTARIZO
*/
public class ProgramOutputKelompok1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
System.out.println(“Kami Kelompok 1 Praktikum
DKP");
System.out.println (“selamat datang di
pemrograman JAVA Bagian 1”); //System.out.println
digunakan untuk menampilkan tulisan disertai jeda 1
enter setelahnya
}
}
Gambar 7.1 screenshot sourcecode program output
280
Gambar 7.2 screenshot running program output
7.3.2 Input Output
Pada program ini, hasil dari keluaran nantinya adalah sebuah nama
yang di inputkan oleh user, tapi nama itu yang mengisinya adalah user,
akan ada teks untuk menanyakan nama ketika program dijalankan.
package program.input.output.kelompok1;
/**
*
* @author OKTARIZO
*/
import java.io.*; //library yang akan digunakan
public class ProgramInputOutputKelompok1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
// peirintah untuk menampilkan hasil input
dilayar
System.out.print("Siapa Nama Anda ? ");
//kelas untuk membaca string
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
//deklarasi variabel nama
String nama = null;
//try {..} perintah yang ingin dijalankan pada
situasi yang “mungkin” tidak berhasil
//catch {..} perintah yang akan dilakukan
apabila kesalahan di tangkap
try {
281
nama = br.readLine(); //membaca inputan nama
}catch (IOException ioe){
System.out.println("Kesalahan IO");
System.exit(1);
}
//menampilkan output dari data yang diinput
System.out.println("Selamat datang "+nama+ "
!");
}
}
Gambar 7.3 screenshot sourcecode input output
Gambar 7.4 screenshot Running input output
7.3.3 If Else
Program ini bekerja untuk membaca nilai yang sudah ada dalam
deklarasi nilai, program akan mengecek nilai tersebut pada semua
kondisi, apakah nilai itu masuk pada kondisi pertama atau yang lain,
setelah itu nilai akan ditampilkan sesuai dengan kondisi yang sesuai.
282
package program.pkgif.pkgelse.kelompok1;
/**
*
* @author OKTARIZO
*/
public class ProgramIfElseKelompok1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//menampilkan informasi di layar
System.out.println("Program menentukan nilai
anda");
//deklarasi variabel nilai dengan diberi nilai
75
int nilai = 75;
//pengkondisian if
//jika nilai antara 80-100
if (nilai >= 80 && nilai <= 100)
//menampilkan tulisan untuk kondisi pertama
System.out.println("Nilai anda A (Sangat
baik)");
//jika nilai antara 70-79
else if (nilai >= 70 && nilai < 80)
//menampilkan tulisan untuk kondisi kedua
System.out.println("Nilai anda B (Baik)");
//jika nilai antara 60-69
else if (nilai >=60 && nilai < 70)
//menampilkan tulisan untuk kondisi ketiga
System.out.println("Nilai anda C (Cukup
Baik)");
//jika nilai antara 45-59
else if (nilai >=45 && nilai < 60)
//menampilkan tulisan untuk kondisi keempat
283
System.out.println("Nilai anda D
(Kurang)");
//jika nilai 1-44
else if (nilai > 0 && nilai < 45)
//menampilkan tulisan untuk kondisi kelima
System.out.println("Nilai anda E (Sangat
Kurang)");
else //jika nilai tidak memenuhi kondisi di
atas
System.out.println("Nilai anda terlalu
rendah, silahkan belajar lagi");
}
}
Gambar 7.5 screenshot sourcecode if else
Gambar 7.6 screenshot running program if else
284
7.3.4 Switch Case
pada program ini akan dilakukan pengecekan sebuah bilangan, apakah
bilangan tersebut bilangan ganjil atau bilangan genap. Bilangan yang
akan di cek adalah bilangan yang sudah ada pada deklarasi nilai pada
program. Program tinggal menentukan letak bilangan tersebut, ganjil
atau genapnya.
package program.pkgswitch.pkgcase.kelompok1;
/**
*
* @author OKTARIZO
*/
public class ProgramSwitchCaseKelompok1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//deklarasi variabel bilangan dengan diberi
nilai -1 dan deklarasi variabel sisa dengan tipe
integer
int bilangan = -1;
int sisa;
//menampilkan informasi
System.out.println("Program menentukan bilangan
ganjil dan genap");
//melakukan perhitungan dimana sisa adalah
bilangan modulus 2
sisa = bilangan % 2;
//pengkondisian dengan mencocokan nilai pada
sisa
switch (sisa){
//jika sisa bernilai 1 maka merupakan
bilangan ganjil
case 1:
System.out.println("Angka "+bilangan+"
adalah bilangan ganjil");
//jika sisa bernilai 0 maka merupakan
bilangan genap
285
case 0:
System.out.println("Angka "+bilangan+"
adalah bilangan genap");
//jika sisa bernilai -1 maka merupakan
bilangan ganjil
case -1:
System.out.println("Angka "+bilangan+"
adalah bilangan ganjil");
}
}
}
Gambar 7.7 screenshot sourcecode switch case
Gambar 7.8 screenshot running switch case
7.3.5 For
Program ini melakukan perulangan pada nilai i yang pertama dan
mengalikan dengan setiap nilai j, misal (ixj) 1x1 , 1x2 , dst sampai
1x12. Kemudian menampilkan hasil perkalian dari bilangan tersebut.
Program kembali melakukan perulangan pada nilai i selanjutnya dan
286
mengalikan dengan setiap nilai j. Kemudian menampilkan hasil
perkalian. Program akan terus mengulang hingga i=12
package program.pkgfor.kelompok1;
/**
*
* @author OKTARIZO
*/
public class ProgramForKelompok1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//menampilkan informasi
System.out.println("Program menampilkan tabel
perklaian \n");
//perulangan outer loop
for (int i = 1; i <= 12; i++)
{
//perulangan inner loop
for (int j = 1; j <= 12; j++)
{
//menampilkan hasil perkalian dari 1
nilai dari i(outer loop) dengan 12 nilai dari j(inner
loop)
System.out.print(i*j + " ");
}
System.out.println("");
}
}
}
287
Gambar 7.9 screenshot sourcecode for
Gambar 7.10 screenshot running for
7.3.6 While
Kegunaan dari rogram ini adalah untuk menghitung rata-rata dari setiap
nilai yang diinputkan. Program akan meminta kita untuk memasukkan
beberapa bilangan, Perulangan terjadi terus menerus hingga pada suatu
kondisi tertentu, pada program ini yaitu dengan memasukkan angka nol
(0), maka proses penginputan akan berakhir. Setelah itu akan
ditampilkan berapa jumlah bilangan yang kita masukkan dan rata-rata
dari bilangan tersebut.
package program.pkgwhile.kelompok1;
import java.io.*;
/**
*
* @author OKTARIZO
*/
public class ProgramWhileKelompok1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
288
//deklarasi variabel
double jumlah = 0;
double bilangan = 0;
int n = 0;
//membaca string
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
//deklarasi variabel string
String strbilangan = null;
//menampilkan informasi
System.out.print("Masukkan bilangan pertama :
");
//membaca inputan yang disimpan dalam variabel
strbilangan untuk sementara
try {
strbilangan = br.readLine();
} catch (IOException ioe) {
System.out.println("Kesalahan IO, program
berhenti");
System.exit(1);
}
//mengubah input menjadi double agar bisa
diproses lebih lanjut
bilangan = Double.parseDouble(strbilangan);
while (bilangan != 0) {
jumlah += bilangan; //sama dengan : jumlah
= jumlah + bilangan
n++; //sama dengan : n = n+1
//menampilkan informasi untuk meminta inputan
System.out.print("Masukkan bilangan berikutnya
(atau 0 untuk mengakhiri) : ");
//membaca inputan yang disimpan dalam variabel
strbilangan untuk sementara
try {
strbilangan = br.readLine();
289
} catch (IOException ioe) {
System.out.println("Kesalahan IO, program
berhenti");
System.exit(1);
}
//mengubah input menjadi double agar bisa
diproses lebih lanjut
bilangan = Double.parseDouble(strbilangan);
}
//hitung rata-rata
double ratarata = jumlah /n;
//cetak hasilnya ke layar
//jika n adalah 0 maka menjalankan statement1
if (n == 0)
{
//statement1
System.out.println("Data kosong, rata-rata
tidak bisa dihitung");
}
//jika n bukan 0 atau kondisi false maka
menjalankan statement2
else
{
//statement2
System.out.println("Anda memasukkan " + n + "
data");
System.out.println("Rata-rata bilangan yang
dimasukkan adalah " + ratarata);
}
}
}
290
Gambar 7.11 screenshot sourcecode while
Gambar 7.12 screenshot running program while
291
7.4 Latihan Praktikum
1. Program Untuk menampilkan nama melalui Inputan
Pada program ini, menampilkan sesuatu dilayar apabila kita memasukan
sebuah inputan, pada program ini perintahnya yaitu disuruh untuk
memasukkan nama, ketika nama kita masukkan, maka nanti akan ada
tampilan di layar, yaitu nama yang kita masukkan tadi.
import java.io.*;//library untuk kinpit output
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//menampilkan informasi
System.out.print("Masukkan nama Anda : ");
//membaca string
BufferedReader br = new BufferedReader
(new InputStreamReader(System.in));
//deklarasi variabel
String nama = null;
try {
//meminta inputan
nama = br.readLine();
} catch(IOException ioe) {
//menampilkan data yang diinput
System.out.println("Kesalahan IO pada saat menanyakan
nama Anda");
//perintah untuk mengakrihi program
System.exit(1);
}
System.out.println("Nama anda adalah " + nama);
}
}
292
Gambar 7.13 screenshot sourcecode program latihan 1
Gambar 7.14 screenshot runing program latihan 1
2. Program Untuk menampilkan nilai ujian dengan inputan Angka
a. If Then Else
Pada program ini kita akan diminta untuk memasukkan inputan berupa
nilai, setelah kita memasukkan inputan, program akan mengecek kondisi
dari nilai yang kita masukkan tadi, dimana posisi nilai yang kita
masukkan, setelah pengecekan selesai, akan ada output “nilai anda.....”
yang dilanjutkan dengan variabel nilai yang dimasukkan. Sebagai
contoh apabila kita memasukkan nilai 90, maka akan muncul tampilan
“nilai anda adalah A”.
package program.latihan2.pkgif.then.pkgelse;
import java.io.*;
/**
*
* @author OKTARIZO
*/
public class ProgramLatihan2IfThenElse {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//deklarasi variabel
293
int nilai = 0;
//menampilkan informasi
System.out.println("Program nilai ujian
\nMasukkan nilai ujian anda = ");
//membaca string
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String strnilai = null;
try {
//meminta input
strnilai = br.readLine();
}catch (IOException ioe){
System.out.println("Kesalahan IO, Program
berhenti");
System.exit(1);
}
//konversi string ke integer
nilai = Integer.parseInt(strnilai);
//pengkondisian
//kondisi1 jika nilai di antara 80-100
if (nilai >= 80 && nilai <= 100){
//menampilkan informasi1
System.out.println("Nilai anda A");
}
//kondisi2 jika nilai antara 70-79
else if (nilai >= 70 && nilai < 80){
//menampilkan informasi2
System.out.println("Nilai anda B");
}
//kondisi3 jika nilai antara 50-69
else if (nilai >= 50 && nilai < 70){
//menampilkan informasi3
System.out.println("Nilai anda C");
294
}
//kondisi4 jika nilai antara 35-49
else if (nilai >= 35 && nilai < 50){
//menampilkan informasi4
System.out.println("Nilai anda D");
}
//kondisi5 jika nilai kurang dari 35
else if (nilai < 35){
//menampilkan informasi5
System.out.println("Nilai anda E");
}
}
}
Gambar 7.15 screenshot sourcecode program latihan 2 if then else
Gambar 7.16 screenshot running program latihan 2 if then else
295
b. Switch Case
Sama seperti program sebelumnya, pada program ini kita juga akan
diminta untuk meng input sebuah nilai, dan akan dilakukan pengecekan
oleh program. Setelah itu akan ditampilkan hasil dari pengecekan
tersebut berupa variabel A,B,C,D
package program.latihan.pkg2.pkgswitch.pkgcase.kel1;
import java.io.*;
/**
*
* @author OKTARIZO
*/
public class ProgramLatihan2SwitchCaseKel1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//deklarasi variabel
int nilai = 0;
//menampilkan informasi
System.out.println("Program nilai ujian
\nMasukkan nilai ujian anda = ");
//membaca string
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String strnilai = null;
try {
//meminta input
strnilai = br.readLine();
}catch (IOException ioe){
System.out.println("Kesalahan IO, Program
berhenti");
System.exit(1);
}
//konversi string ke integer
nilai = Integer.parseInt(strnilai);
//pengkondisian if
if (nilai >=80 && nilai <=100)
296
{
nilai=1;
}
else if (nilai >=70 && nilai < 80)
{
nilai=2;
}
else if (nilai >=50 && nilai < 70)
{
nilai=3;
}
else if (nilai >=35 && nilai < 50)
{
nilai=4;
}
else if (nilai < 35)
{
nilai=5;
}
//pengkondisian switch
switch (nilai)
{
case 1:
System.out.println("Nilai anda A");
break;
case 2:
System.out.println("Nilai anda B");
break;
case 3:
System.out.println("Nilai anda C");
break;
297
case 4:
System.out.println("Nilai anda D");
break;
case 5:
System.out.println("Nilai anda E");
break;
}
}
}
Gambar 7.17 screenshot sourcecode program latihan 2 switch case
Gambar 7.18 screenshot running program latihan 2 switch case
298
3. Program Pengulangan
a. For
Program ini berungsi untuk menampilkan jumlah angka sesuai dengan
angka yang kita masukkan dan nilai 0 (nol) sebagai awalan nya. Sebagai
contoh, apabila kita memasukkan angaka 19, maka akan tampil urutan
angk dari 0-19 secara berurutan.
import java.util.Scanner; //deklarasi input output
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//perintah untuk menampilkan inputan dilayar
System.out.print("Masukkan sebuah angka : ");
Membaca string
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int i;
//perintah perulangan
for(i=0;i<=a;i++)
{
//menampilkan hasil dilayar
System.out.print(" "+i+"");
}
System.out.println("");
}
}
Gambar 7.19 screenshot sourcecode program latihan 3 for
299
Gambar 7.20 screenshot running program latihan 3 for
b. While
Sama seperti program sebelumnya, program ini juga berfungsi untuk
mengurutkan bilangan yang kita input, dan dimulai dari angka 0 (nol)
sebagai awalan.
import java.util.Scanner; //library input output
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//menampilkan input dilayar
System.out.print("Masukkan sebuah angka : ");
//membaca string
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int i=0;
//perintah untuk perulangan
while(i<=a)
{
//perintah untuk menampilkan input ke layar
System.out.print(" "+i+"");
i++;
}
System.out.println("");
}
}
300
Gambar 7.21 screenshot sourcecode program latihan 3 while
Gambar 7.22 screenshot running program latihan 3 while
301
7.5 Kesimpulan
1. Dalam Java terdapat beberapa operator yaitu operator hitung, operator
relasi, operator penurunan dan penaikan serta operator ukuran.
2. Operator Relasi pada pemrograman Java dapat dilakukan dengan
menggunakan AND dan OR.
3. Untuk mendapatkan input string dari keyboard dapat menggunakan
fungsi BufferedReader.
4. Penyeleksian kondisi pada bahasa pemrograman Java dilakukan
dengan menggunakan statemen If dan Switch.
5. Statemen if-else merupakan perluasan dari statemen if. Dalam
statemen ini terdapat dua atau lebih kondisi dimana bila kondisi
pertama tidak terpenuhi, maka proses akan lari kepadav kondisi yang
kedua atau dan seterusnya.
302
BAB VIII
PEMROGRAMAN JAVA BAGIAN 2
8.1. Tujuan
1. Mengetahui penggunaan Array dalam pemrograman Java serta
penggunaannya.
2. Mengetahui dan mengimplementasikan perulangan pada Array.
3. Mengetahui konsep Queue pada pemrograman Java.
4. Mengetahui konsep Stack pada pemrograman Java.
8.2. Dasar Teori
8.2.1. Array
Array adalah sekumpulan variabel yang mempunyai tipe data yang
sama. Array mempunyai anggota. Anggota himpunan array sebagai
elemen yang mempunyai nomor indeks lokasi. Nomor indeks lokasi
adalah tempat atau posisi data berada. Java mempunyai nomor
indeks dari 0 (nol).
Sebuah array akan menyimpan beberapa item data yang
mempunyai tipe data sama didalam memori yang berdekatan, yang
kemudian di bagi menjadi beberapa slot. Variabel array adalah
sebuah lokasi tertentu yang memiliki satu nama sebagai identifier,
akan tetapi ia dapat menyimpan lebih dari sebuah nilai (value).
Pendeklarasian array dalam Java :
a. Pendekatan array satu dimensi
b. Pendekatan array dua dimensi
berbagai macam variabel dengan menggunakan tipe data
primitif. Dalam pendeklarasian variabel, kita sering menggunakan
sebuah tipe data beserta nama variabel atau identifier yang unik.
Apabila kita ingin menggunakan variabel tersebut, kita akan
303
memanggil dengan nama identifier-nya. Sebagai contoh, kita
memiliki tiga variabel dengan tipe data int yang memiliki identifier
berbeda untuk tiap variabel.
int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;
Seperti yang dapat Anda perhatikan pada contoh di
atas, kode tersebut akan sia-sia karena harus menginisialisasi dan
menggunakan setiap variabel padahal sebenarnya variabel-
variabel tersebut digunakan untuk tujuan yang sama. Pada
bahasa pemrograman Java maupun di bahasa pemrograman yang
lain, terdapat sebuah kemampuan untuk menggunakan satu
variabel yang dapat menyimpan beberapa data dan
memanipulasinya dengan lebih efektif. Tipe variabel inilah yang
disebut sebagai array.
Gambar 8.1 Contoh dari Integer Array
Sebuah array akan menyimpan beberapa item data
yang memiliki tipe data sama didalam sebuah blok memori
yang berdekatan yang kemudian dibagi menjadi beberapa ruang.
Array adalah sebuah variabel/sebuah lokasi tertentu yang
memiliki satu nama sebagai identifier, namun identifier ini dapat
menyimpan lebih dari sebuah nilai.
1. Pendeklarasian larik satu dimensi
Merupakan sebuah variabel yang menyimpan sekumpulan data
yang memiliki tipe sama dan elemen yang akan diakses hanya
melalui 1 indeks atau subskrip.
304
Bentuk umum pendeklarasian:
nama_array[jumlah_eleman];
2. Pendeklarasian larik dua dimensi
Merupakan sebuah variabel yang menyimpan sekumpulan data
yang memiliki tipe sama dan elemen yang akan diakses melalui 2
indeks atau subskrip yaitu indeks baris dan indeks kolom.
Bentuk umum pendeklarasian:
nama_array[jumlah_eleman_baris][jumah_eleme_kolom];
8.2.2. Queue
Queue atau Antrian adalah struktur data yang terdiri dari
item dalam urutan tertentu. Antrian memiliki dua ujung yaitu ujung
depan dan belakang. Item selalu dimasukkan dari belakang antrian
dan selalu dikeluarkan dari depan antrian. Operasi memasukkan
dan mengeluarkan item dari dalam antrian sering disebut dengan
Enqueue dan Dequeue.
Suatu item yang ditambahkan di belakang antrian tidak bisa
dihapus sebelum item di depannya dihapus. Analoginya seperti
antrian ketika akan menabung di bank, nasabah akan dilayani
dalam urutan ketika mereka datang.
Gambar 8.2 Source code program 1
305
Pada pemrograman Java, agar dapat menggunakan Queue
perlu digunakan kelas Queue dan LinkedList. Untuk membuat
objek Queue pada java menggunakan syntax sebagai berikut :
Queue objekqueue = new LinkedList();
Untuk memasukkan nilai pada objek yang telah dibuat
tersebut (objekqueue) dapat digunakan method offer().
Objekqueue.offer(objek_yang_hendak_dimasukkan);
Untuk mendapatkan panjang antrian dapat digunakan
method size().
Objekqueue.size();
Untuk mengambil nilai (tidak menghapus) dari objek queue
dapat digunakan method peek(). Method ini akan menampilkan
nilai dari objek queue yang pertama kali dimasukkan. Seperti
antrian pada kehidupan nyata, jika nilai yang pertama dimasukkan
tidak dihapus, method peek() akan tetap menampilkan objek yang
pertama kali dimasukkan dengan method offer().
Objekqueue.peek();
Sedangkan untuk mengambil dan menghapus antrian
terdepan pada objek queue digunakan method poll(). Method ini
akan mengembalikan nilai null jika pada antrian tidak ada nilainya.
Dengan method offer, dimasukkan 3 buah nilai berturut-
turut yaitu Satu, Dua dan Tiga pada objek „antrian‟. Method size()
akan menampilkan nilai ukuran queue. Kemudian untuk
menampilkan isi seluruhnya dari objek Antrian dapat
menggunakan System.out.println() dengan menyebutkan objeknya.
Kemudian menggunakan method poll() akan mendapatkan nilai
sekaligus menghapusnya pada antrian terdepan. Sehingga jika
ditampilkan sekali lagi isi keseluruhan dari objek Antrian, isinya
akan berkurang yaitu „Satu‟ yang merupakan nilai yang pertama
kali dimasukkan menggunakan method offer().
306
8.2.3. Stack
Stack atau disebut juga Tumpukan terdiri dari kumpulan
item yang disusun sedemikian rupa sehingga satu item ditumpuk di
atas item lainnya, mirip seperti tumpukan boks. Hanya item paling
atas yang bisa diakses pada suatu saat.
Item tersebut bisa diambil dari tumpukan dengan method
yang disebut pop(). Item paling bawah hanya bisa diambil jika
semua item di atasnya telah diambil dari tumpukan. Dengan kata
lain, kita hanya dapat mengakses data pada tumpukan teratas.
Untuk menambahkan item pada tumpukan dilakukan dengan
method push().
307
8.3. Analisa dan Hasil Percobaan
8.3.1. Latihan 1
package kelompok1;
public class Kelompok1_Latihan1 {
public static void main(String[] args) {
// TODO code application logic here
// Pendeklarasian jumlah array sama dengan 4
dalam tipe String
String[] kelompok = new String[4];
// Pendeklarasian data array
kelompok[0] = "Kelompok 1";
kelompok[1] = "Anggi Anugraha";
kelompok[2] = "Bagus Lingga Tudanto";
kelompok[3] = "Elad Oktarizo";
// Pernyataan perulangan untuk menampilkan array
dari jumlah 0 sampai kurang dari 4
for(int i = 0; i < 4; i++) {
System.out.println(kelompok[i]);
}
}
}
Gambar 8.1 ScreenShootSource code program 1
Gambar 8.2 Screenshoot Hasil program 1
308
Program ini merupakan program sederhana untuk menampilkan data
dari array yang telah ditentukan sebelumnya. Data pada array adalah
“Kelompok 1”, “Anggi Anugraha” , “Bagus Lingga Tudanto” dan
“Elad Oktarizo”.
8.3.2. Latihan 2
package kelompok1;
public class Kelompok1_Latihan2 {
public static void main(String[] args) {
// TODO code application logic here
// Pendeklarasian jumlah array sama dengan 10
dalam tipe String
String[] x = new String[10];
// Pernyataan perulangan array dari jumlah 0
sampai kurang dari 10
for(int i = 0; i < 10; i++) {
x[i] = "Kelompok 1";
}
// Pernyataan perulangan untuk menampilkan array
for(int i = 0; i < 10; i++) {
System.out.println(x[i]);
}
}
}
Gambar 8.3 Screenshoot Source code program 2
309
Gambar 8.4 Screenshoot Hasil program 2
Program ini merupakan program perulangan array yang akan
menampilkan data array yang telah dideklarasikan sebelumnya
sebanyak yang telah ditentukan. Pada program ini ditentukan array
akan melakukan pengulangan hingga berjumlah 10 kali.
8.3.3. Latihan 3
package kelompok1;
import java.util.*;
import java.io.*;
public class Kelompok18_Java2_Latihan3 {
public static void main(String[] args) {
// TODO code application logic here
// Pendeklarasian jumlah array sama dengan 4
dalam tipe String
String[] kelompok = new String[4];
for(int i = 0; i < 4; i++) {
System.out.println("Masukkan data ke-" + i +
" : ");
// Pernyataan input output menggunakan
BufferedReader
BufferedReader reader = new
BufferedReader(new
InputStreamReader(System.in));
// Proses pembacaan input dengan metode
BufferedReader
try {
String rd = null;
rd = reader.readLine();
310
kelompok[i] = rd;
}
catch(IOException ex) {
System.out.println(ex);
}
}
// Pernyataan perulangan untuk menampilkan array
dari jumlah 0 sampai kurang dari 4
for(int i = 0; i < 4; i++) {
System.out.println(kelompok[i]);
}
}
}
Gambar 8.5 Screenshoot Source code program 3
Gambar 8.6 Screenshoot Hasil program 3
Program ini merupakan program untuk menampilkan data dari array
yang diinput oleh user. Program ini digunakan untuk membaca input
dan menampilkan input yang berisi nama kelompok dan nama
anggota.
311
8.3.4. Latihan 4
package kelompok1;
import java.util.*;
import java.io.*;
public class Kelompok1_Latihan4 {
public static void main(String[] args) {
// TODO code application logic here
// Pendeklarasian jumlah array sama dengan 12
dalam tipe String
String[] bulan = new String[12];
for(int i = 0; i < 12; i++) {
System.out.print("Masukkan bulan ke-" +
(i+1) + " : ");
// Pernyataan input output menggunakan
BufferedReader
BufferedReader reader = new
BufferedReader(new
InputStreamReader(System.in));
// Proses pembacaan input dengan metode
BufferedReader
try {
String rd = null;
rd = reader.readLine();
bulan[i] = rd;
}
catch(IOException ex) {
System.out.println(ex);
}
}
// Pernyataan perulangan untuk menampilkan array
dari jumlah 0 sampai kurang dari 3
for(int i = 0; i < 12; i++) {
System.out.println("Bulan ke-" + (i+1) + "
adalah bulan " + bulan[i]);
}
}
}
312
Gambar 8.7 Screenshoot Source code program 4
Gambar 8.8 Screenshoot Hasil program 4
Program ini merupakan program untuk menampilkan data dari array
yang diinput oleh user. Program ini digunakan untuk membaca input
dan menampilkan input yang berisi nama bulan dalam 1 tahun.
313
8.3.5. Latihan 5
package kelompok1;
import java.util.*;
import java.io.*;
public class Kelompok1_Latihan5 {
public static void main(String[] args) {
// TODO code application logic here
// Pendeklarasian jumlah array sama dengan 5
dalam tipe Integer
int[] angka = new int[5];
for(int i = 0; i < 5; i++) {
System.out.print("Masukkan angka ke-" +
(i+1) + " : ");
// Pernyataan input output menggunakan
BufferedReader
BufferedReader reader = new
BufferedReader(new
InputStreamReader(System.in));
// Proses pembacaan input dengan metode
BufferedReader
try {
String x = null;
x = reader.readLine();
angka[i] = Integer.parseInt(x);
}
catch(IOException ex) {
System.out.println(ex);
}
}
// Proses untuk mengambil dan menampilkan data
terbesar yang diinput
int x = angka [0];
for(int i = 1; i < 5; i++) {
// Apabila x lebih kecil dari nilai angka,
maka nilai angka akan disimpan ke x dan x
akan menampilkan nilai yang terbesar
if(x < angka[i]) {
x = angka[i];
314
}
}
System.out.println("Angka terbesar adalah : " +
x);
}
}
Gambar 8.9 Screenshoot Source code program 5
Gambar 8.10 Screenshoot Hasil program 5
Program ini berfungsi untuk menginput 5 buah data bilangan dalam
array dan kemudian program ini akan menampilkan bilangan
terbesar dari data yang telah diinput.
8.3.6. Latihan 6
public class Kelompok1 {
public static void main(String[] args) {
// Pendeklarasian array dengan tipe data string
sekaligus isi dari array
315
String[][]A={{"21120111110001","Anggi
Anugraha"},{"21120111110002","Elad Oktarizo"}};
// Looping untuk membentuk matriks 2 dimensi
for(intbaris=0;baris<A[0].length;baris++)
for(intkolom=0;kolom<A[0].length;kolom++)
{
//Menampilkan isi array berdasarkan indeksnya
System.out.println(A[0][0]+"\t\t\t"+A[1][0]);
System.out.println(A[0][1]+"\t\t\t"+A[1][1]);
}
}
}
Gambar 8.11 Screenshoot Source code program 6
Gambar 8.12 Screenshoot Hasil program 6
Program ini merupakan program untuk menampilkan NIM dan nama
anggota kelompok yang telah dideklarasikan sebelumnya dalam
bentuk matriks 2 dimensi.
8.3.7. Latihan 7
package kelompok1;
import java.io.*;
public class Kelompok1_Latihan7 {
public static void main(String[] args) throws
IOException {
//Membaca input dengan BufferReader
316
BufferedReader in= new BufferedReader (new
InputStreamReader (System.in));
String [][] data = new String [1][4];
// Looping untuk memasukkan array
for (int i = 0; i < data.length; i++){
System.out.print("Nama 1 : ");
// Mengambil input dan membaca input
data[i][0]=in.readLine();
System.out.print("NIM 1 : ");
data[i][1]=in.readLine();
System.out.print("Nama 2 : ");
data[i][2]=in.readLine();
System.out.print("NIM 2 : ");
data[i][3]=in.readLine();
System.out.println();
}
// Menampilkan array
System.out.println();
System.out.println("Tampilan NIM dan Nama");
//Menampilkan array dengan looping
for (int i=0; i<data.length; i++){
// Menampilkan array dengan indeks
System.out.println(data[i][1]+"\t\t"+data
[i][3]);
// Menampilkan array dengan indeks
System.out.println(data[i][0]+"\t"+data[i
][2]);
System.out.println();
}
}
}
317
Gambar 8.13 Screenshoot Source code program 7
Gambar 8.14 Screenshoot Hasil program 7
Program ini merupakan program untuk menampilkan NIM dan nama
anggota kelompok yang diinputoleh user dalam bentuk matriks 2
dimensi.
8.3.8. Latihan 8
package kelompok1;
import java.io.*;
import java.util.*;
public class Kelompok1_Latihan8 {
public static void main(String[] args) {
// Deklarasi variabel x dengan tipe data integer
Integer x;
// Membaca input dengan BufferReader
318
BufferedReader in = new BufferedReader(new
InputStreamReader(System .in));
// Pendeklarasian fungsi queue
Queue nama = new LinkedList();
// Meminta inputan
System.out.print("Masukkan jumlah data : ");
try {
// Looping jumlah anggota
x = Integer.parseInt(in.readLine());
System.out.println("Nama Anggota : ");
for (int i = 0; i < x; i++)
{
System.out.print((i+1) + ". ");
nama.offer(in.readLine());
}
}
catch (IOException ex) {
System.out.println(ex);
}
// Menampilkan data input berdasarkan input
queue
x = nama.size();
System.out.println("\nData yang Anda masukkan" +
"\nJumlah Data : " + x + "\nNama Anggota :");
for (int i = 0; i < x; i++)
{
System.out.println((i+1) + ". " +
nama.poll());
}
}
}
319
Gambar 8.15 Screenshoot Source code program 8
Gambar 8.16 Screenshoot Hasil program 8
Program ini merupakan program untuk menginput dan menampilkan
data array yang telah diinput oleh user sebelumnya. Pada contoh
program diminta untuk memasukkan dua buah data pada array.
8.3.9. Latihan 9
package kelompok1;
import java.io.*;
import java.util.*;
public class Kelompok1_Latihan9 {
public static void main(String[] args) {
320
// deklarasi stack
Stack kotor = new Stack();
Stack bersih = new Stack();
for (int i = 1; i <= 5; i++)/*Looping stack*/
{
// Proses memasukkan data pada stack
kotor.push("piring " + i);
}
// Menampilkan jumlah piring sebelum dicuci
System.out.println("SEBELUM DICUCI" + "\nJumlah
piring kotor : " + kotor.size()
+ "\nJumlah piring bersih : " +
bersih.size()
+ "\nTumpukan piring kotor :");
for (int i = 1; i <= 5; i++)
{
// Proses mengeluarkan data pada stack
System.out.println(kotor.peek());
bersih.push(kotor.pop());
}
// Menampilkan jumlah piring setelah dicuci dan
diambil
System.out.println("\nSETELAH DICUCI" +
"\nJumlah piring kotor : " + kotor.size()
+ "\nJumlah piring bersih : " + bersih.size
+ "\nTumpukan piring bersih :");
for (int i = 4; i >= 0; i--)
{
System.out.println(bersih.elementAt(i));
}
}
}
321
Gambar 8.17 Screenshoot Source code program 9
Gambar 8.18 Screenshoot Hasil program 9
Program ini merupakan program sederhana untuk menjelaskan
fungsi pemakaian dari stack. Dimana pada program menampilkan
urutan masukan dari akhir ke awal (5 sampai 1) dan mengeluarkan
data dari awal ke akhir (1 ke 5) berdasarkan prinsip LIFO.
322
8.4. Tugas Praktikum
8.4.1. Studi Kasus
package studi.kasus.kelompok1;
import java.util.*;
/**
*
* @author OKTARIZO
*/
public class StudiKasusKelompok1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Stack s = new Stack(); //deklarasi variabel stack
Integer[] set = new Integer[100]; /*deklarasi
variabel array*/
System.out.println("Nilai akhir array :");
for(int j=0;j<100;j++) //perulangan
{int g = 0;set[j] = j+1; /*deklarasi variabel integer
dan input nilai untuk variabel array*/
for(int a=1;a<=100;a++)//perulangan tingkat dua
{
if(set[j] % a==0) /*metode modulasi untuk
mengecek nilai variabel yang prima*/
{g++;/*penghitung jumlah modulasi yang hasilnya
0*/}
}
if(g==2) /*pengkondisian jika nilai hasil modulasi 0
ada 2 maka nilai adalah bilangan prima*/
{
s.push(set[j]); set[j] = 0; /*input nilai variabel
stack dari nilai pengkondisian variabel array*/
}
323
System.out.print(set[j]+" ");
}
//pencetakan nilai dalam variabel stack dan array
System.out.println("\nNilai dalam stack :");
System.out.println(s);
}
}
Gambar 8.19 Screenshoot Source code program studi kasus
Gambar 8.20 Screenshoot Hasil program studi kasus
Program ini merupakan program untuk menampilkan bilangan
komposit dan bilangan prima secara terpisah.
324
8.5. Kesimpulan
1. Java merupakan bahasa pemrograman berorientasi objek, mudah
dipelajari, terutamauntuk programmer yang sudah menguasai C atau
C++.
2. Proses memasukkan input pada Java dapat dilakukan dengan beberapa
cara. Cara yang paling biasa digunakan adalah dengan metode input
output atau metode scanner. Untuk dapat menggunakan kedua metode
itu, kita harus memanggil library yang sesuai dengan metode yang akan
digunakan.
3. Array adalah sebuah struktur data yang terdiri atas banyak variabel
dengan tipe data yang sama, dimana masing-masing elemnen variabel
mempunyai nilai indeks.
4. Array dengan perulangan menggunakan fungsi for. Perulangan adalah
teknik pemrograman di mana suatu proses akan diulang terus-menerus
sampai kondisi yang diinginkan.
5. Queue adalah salah satu bentuk struktur data yang juga
merepresentasikan linked list yang prosesnya disebut FIFO (First In
First Out).
6. Stack adalah salah satu bentuk struktur data yang juga
merepresentasikan tumpukan data yang prosesnya disebut LIFO (Last
In First Out).
325
BAB IX
DASAR PEMROGRAMAN PHP
9.1. Tujuan
1. Praktikan mampu memahami dasar pemrograman PHP.
2. Praktikan mampu memahami cara kerja bahasa pemrograman PHP.
3. Praktikan mampu mengimplementasikan pemrograman PHP
dalam
pembuatan website.
9.2. Dasar Teori
8.2.4. Pengenalan PHP
PHP atau PHP Hypertext Preprocessor adalah sebuah bahasa
pemrograman web berbasis server (server side) yang mampu
menerjemahkan kode php dari kode web dengan ekstensi .php,
sehingga menghasilkan tampilan website yang dinamis di sisi
client (browser).
Dengan PHP, kita dapat menjadikan halaman HTML menjadi
lebih powerful dan bisa dipakai sebagai aplikasi lengkap. PHP
awalnya dikembangkan oleh seorang programmer bernama
Rasmus Lerdorf pada tahun 1995, namun semenjak itu
selalum dikembangkan oleh kelompok independen yang
disebut Group PHP dan kelompok ini juga mendefinisikan
standar de facto untuk PHP karena tidak ada spesifikasi
formal. Saat ini, perkembangannya dipimpin oleh Andi
Gutmans dan Zeev Suraski.PHP bersifat opensource artinya
merupakan aplikasi perangkat lunak bebas yang dirilis di
bawah lisensi PHP.Oleh karena itu, bahasa pemrograman ini
banyak dipakai oleh banyak orang. Setiap kode PHP akan di
eksekusi oleh runtime PHP, hasilnya adalah kode PHP yang
dinamis tergantung script PHP yang dituliskan. PHP dapat
digunakan di banyak server web, sistem operasi dan platform.
326
Selain itu, digunakan juga di sistem manajemen database
relasional (RDBMS). Semuanya diperoleh secara gratis, dan Grup
PHP menyediakan kode sumber lengkap bagi pengguna untuk
membangun, menyesuaikan dan mengutak-atik sesuai fungsi yag
mereka inginkan.
8.2.5. Instalasi PHP
Seperti yang dijelaskan di atas, bahwa bahasa pemrograman
PHP berjalan pada sisi server (server-side) sehingga
membutuhkan sebuah penerjemah (parser) PHP di
server.Penerjemah tersebut di antaranya adalah Apache dan IIS.
Sedangkan editor yang digunakan untuk menuliskan kode PHP
dapat berupa editor apa saja seperti Dreamweaver, Bluefish,
Eclipse, Emacs, Geany, jEdit, Netbeans IDE, Vim, Notepad++,
dan yang paling sederhana adalah notepad bawaan
windows.Karena di jalankan pada sebuah server, tentu saja
kita membutuhkan sebuah server dan pastinya tidak
memungkinkan membeli server web yang besar.Tetapi tidak
usah bingung karena kita bisa menjadikan komputer pribadi
menjadi server local dengan bantuan aplikasi seperti Appserve,
LAMP dan XAMPP.Aplikasi tersebut sudah all in one, artinya
yang dibutuhkan untuk menjalankan kode PHP sudah ada
semuanya pada satu aplikasi. Di sini kita akan menggunakan
Appserv dan editornya menggunakan Notepad++.
Cara instalasi Appserv adalah sebagai berikut :
1. Klik dua kali aplikasi appserv-win32-2.5.10.exe
2. Kemudian klik next
327
Gambar 9.1 Screenshot Setup Appserv
3. Klik next terus hingga nanti diminta untuk mengisikan
password
database MySQL. Hal ini dikarenakan kode PHP dapat berinteraksi
dengan database sehingga biasanya dalam sebuah aplikasi
parser PHP sudah disertakan aplikasi database.
8.2.6. Penulisan Kode PHP
Tidak seperti halaman HTML biasa, kode PHP tidak akan
diberikan oleh server secara langsung ketika ada permintaan dari
client (browser), namun melalui pemrosesan dari sisi server,
makanya PHP disebut skrip server-side.Dengan adanya kode
PHP, sebuah halaman web bisa melakukan banyak hal dinamis,
seperti mengakses database, membuat gambar, membaca dan
menulisi file, dan sebagainya. Hasil pengolahan akhir kode PHP
akan dikembalikan lagi dalam bentuk kode HTML. Penulisan kode
PHP haruslah ditulis dalam sebuah tag PHP yaitu :
Tag Standar : Tag Pembuka ( <?php ) , Tag Penutup ( ?> )
Tag Pendek : Tag Pembuka ( <? ) , Tag Penutup ( ?> )
328
Perlu diingat, jika ingin menggunakan tag pendek, harus mengatur
konfigurasi PHP dalam file php.ini dan yang harus di ubah dengan
salah satu alternatif sebagai berikut:
a. Short_open_tag = on
b. Short_open_tag = true
c. Short_open_tag = yes
8.2.7. Variabel dan Tipe Data
Di semua bahasa pemrograman, dikenal adanya kata variabel.
Apakah variabel itu dan mengapa peranannya dalam dunia
pemrograman sangan penting ?.Variabel merupakan sebuah istilah
yang menyatakan sebuah tempat yang digunakan untuk
menampung nilai-nilai tertentu di mana nilai di dalamnya bisa
berubah-ubah.Variabel sangat penting karena tanpa variabel, kita
tidak bisa menyimpan nilai tertentu untuk diolah. Bagaimana cara
menuliskan variabel di PHP ?. Di PHP, variabel dikenali
dengan adanya tanda dollar ($) yang kemudian bisa diikuti
dengan angka, huruf, dan underscore. Namun variabel tidak
dapat mengandung spasi.Untuk dapat mendefinisikan variabel,
kita hanya perlu menuliskannya maka otomatis variabel dikenali
oleh penerjemah
8.2.8. Pengkondisian
IF statement di atas hanya menampilkan satu alternatif solusi,
sehingga jika kondisi IF tidak terpenuhi, tidak ada aksi apapun dan
blok kode aksi akan dilewati.
If (kondisi){
Aksi;
}
Jika terdiri dari beberapa kondisi atau lebih dari 2 digunakan :
if(kondisi){
Aksi;
}else{
329
Aksi 2;
}
8.2.9. Switch dan Case
Statement untuk pengaturan alur program berikutnya adalah switch.
Salah satu keuntungan switch adalah Kita bisa langsung
mengevaluasi satu statement dan memerintahkan aksi dalam
jumlah yang lebih banyak. Sintak nya :
switch(ekpresi){
case kondisi 1: aksi 1; break;
case kondisi 2: aksi 2; break;
case kondisi n: aksi n; break;
default : aksi jika tidak ada yang cocok
}
Kelebihan switch adalah alternatif tindakan yang diambil bisa
langsung banyak tanpa harus menulis IF..ELSE secara
bertingkat yang sulit dibaca.Jangan lupa menuliskan break; untuk
keluar dari switch ketika aksi dilakukan.
8.2.10. Perulangan
Perbedaan komputer dengan manusia adalah komputer mampu
disuruh untuk melakukan pekerjaan yang sama berulang-ulang
tanpa pernah merasa capek. Untuk memberikan perintah agar
komputer melakukan perintah berulang-ulang, kita bisa
menggunakan perintah loop. Loop dalam PHP terbagi menjadi 3
bentuk.
1. FOR
Sintaks penulisan FOR statement adalah sebagai berikut :
for(kondisi awal; kondisi akhir; perintah){
aksi;
}
2. While
Sintaks penulisan WHILE statement adalah sebagai berikut :
while(kondisi){
aksi;
330
perubahan kondisi;
}
3. Do .. While
Sintak DO…WHILE merupakan salah satu statement perulangan
yang hampir sama dengan WHILE akan tetapi kondisinya
berada pada akhir sintak. Sintaks penulisan DO..WHILE
statement adalah
sebagai berikut :
do{
aksi;
perubahan kondisi;
}while(kondisi);
8.2.11. Array
Sebuah bahasa pemrograman umumnya memiliki variabel
berjenis
array. Array (dalam bahasa Indonesia diterjemahkan sebagai
larik)
merupakan variabel yang di dalamnya mengandung nilai-nilai
lain.
8.2.12. Function
Di pemrograman juga ada istilah fungsi/function. Fungsi
membuat proses pemrograman bisa lebih efisien karena aksi-aksi
tertentu bisa ditulis dalam satu kali fungsi yang nantinya bisa
dipanggil jika diperlukan.Sebuah fungsi dapat menerima nilai,
memprosesnya kemudian mengembalikan nilai barunya. Secara
fisik, fungsi merupakan blok kode yang bisa dipanggil nantinya.
331
9.3.Analisa Dan Pembahasan
9.3.1. Latihan 1
Buatlah program dengan bahasa pemrograman PHP yang
menampilkan kelompok kalian masing-masing.
Nama file : latihan1.php
<html>
<head>
<title>Kelompok 1</title>//nama program
</head>
<body>//awal perintah
<?php
echo "Kelompok 1";//output kalimat
?>
</body>//penutup perintah
</html>
Gambar 9.2 Screenshot source code menampilkan kata
Gambar 9.3 Screenshot program menampilkan kata
332
9.3.2. Latihan 2
Buatlah program dengan bahasa pemrograman PHP yang
menampilkan harga buah di mana kondisinya adalah sebagai
berikutdan disertakan tabel buahnya:
Tabel 9.1 Tabel Buah
Nama Buah Harga
Apel 1500
Semangka 3000
Durian 10000
Pisang 500
Dan buah yang di pilih adalah buah Pisang
Nama file : latihan2.php
<html>
<head>
<title>Tabel Buah</title>//nama program
</head>
<body>
<table border="1">//tebal tabel
<tr>//masuk ke tabel
<td> Buah</td>//masuk baris 1 kolom 1
<td> Harga</td>//masuk baris 1 kolom 2
</tr>
<tr>
<td>Apel</td>//masuk pada baris 2 kolom 1
<td>1500</td>//masuk pada baris 2 kolom 2
</tr>
<tr>
<td>Semangka</td>//masuk pada baris 3 kolom 1
<td>3000</td>//masuk pada baris 3 kolom 2
</tr>
<tr>
<td>Durian</td>// masuk pada baris 4 kolom 1
<td>10000</td>// masuk pada baris 4 kolom 2
333
</tr>
<tr>
<td>Pisang</td>//masuk ada baris 5 kolom 1
<td>500</td>// masuk pada baris 5 kolom 2
</tr>
</table>// membuat perintah diatas dimasukkan dalam
tabel
<br />//menambah 1 enter
<hr />//menambah enter dengan garis
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="post" enctype="multipart/form-data">
Nama Buah : <input type="text" name="kdbuah" size="10"
/>//input yang dimasukkan berdasarkan tabel disediakan
<input type="submit" value="Kirim" />// mengirim input
untuk dicocokkan
</form>
<?php
if (isset ($_POST[kdbuah])) {
switch ($_POST[kdbuah]) {
case "Pisang" : echo "harga 500"; break;
default : echo "pilihan salah";
}
} // apabila pilihan yang dimasukkan adalah pisang ,
maka akan muncul harga 500 , apabila tidak sesuai ,
maka akan muncul pilihan salah
?>
</body>
</html>
334
Gambar 9.4 Screenshot sourcecode program menampilkan nama buah
Gambar 9.5 Screenshot program menampilkan nama buah
9.3.3. Latihan 3
Buatlah program yang menampilkan perulangan angka
menggunakan
FOR statemen dari 1 – 50, tetapi angka 27 tidak ditampilkan
(dilewati).NB : gunakan fasilitas sintak continue dan break.
Nama file : latihan3.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>For Statement</title>
</head>
335
<body>
<?php
for ($i=1; $i<=50; $i++) {
if ($i==27) {
continue;
} else {
echo $i."<br />";
}
}//diatas adalah untuk menampilkan angka 1 samapai 100
dimana angka dimulai dari angka 1 lalu dengan batas
kurang 50 dan dilakukan penambahan hingga mencapai
kondisi yang diinginkan
?>
</body>
</html>
Gambar 9.6 Screenshot sourcecode menampilkan angka 1 - 100
336
Gambar 9.7 Screenshot program menampilkan angka 1 -100
9.3.4. Latihan 4
Buatlah program yang menampilkan 5 kota di Indonesia
menggunakan array dan perulanngan FOR.
Nama file : latihan4.php
Gambar 9.7 Screenshot sourcecode program array menampilkan nama
kota
337
Gambar 9.8 Screenshot program array menampilkan nama kota
9.3.5. Latihan 5
Buatlah program dengan fasilitas function (fungsi) dengan nama
fungsi ‗identitas_kelompok„ yang apabila fungsi tersebut
dipanggil akan menampilkan Nama Kelompok, Nama Anggota
dan NIM, serta jurusan kalian.
Nama file : latihan5.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
</head>
<title>kelompok1_latihan5</title>//nama program
</head>
<body>
<?php
Function
identitas_kelompok($kelompok,$nama_anggota,$NIM,$Jurusa
n){
echo"Kelompok :".$kelompok;
echo"Nama Anggota :".$nama_anggota;
338
echo"NIM :".$NIM;
echo"Jurusan :".$Jurusan;
}//membuat fungsi yang dimana terdapat bebefapa
parameter yaitu kelompok, nama annggota , NIM , dan
jurusan
echo identitas_kelompok("1<br>","Bagus Lingga T. ,
Anggi Anugraha P. , Elad
Okktarizo<br>","211201101410033 , 21120111140080 ,
21120111120002<br>","Teknik Sistem
Komputer<br>");//menampilkan statement yang terdapat
dalam parameter dan statement pada fungsi tersebut
?>
</body>
</html>
Gambar 9.9 Screenshot sourcecode program menampilkan biodata kelompok
Gambar 9.10 Screenshot program menampilkan biodata kelompok
9.3.6. Latihan 6
Buatlah program form input biodata Anda dengan isian NIM,
Nama, Nama Kelompok, TTL, Alamat Kos, Golongan Darah,
Jurusan, Hobi, dan Motto pada file biodata.php dan hasilnya di
339
tampilkan pada file hasil biodata.php disesuaikan dengan isian
biodata tersebut.
9.3.1.1. Identtitas
Nama file : biodata.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Kelompok 1 - Latihan 6_1</title>
</head>
<body>
<title>Kelompok 1 - Latihan 6</title>
<table align=center ><form
action="latihan6_hasilbiodata.php" method="post">
<tr>
<td >Nama</td><td>:</td><td><input type="textarea"
name="nama" maxlength="25" size="30"></td>
</tr>
<tr><td>NIM</td><td>:</td><td><input type="textarea"
maxlength="14" name="nim" size="14"></td>
</tr>
<tr><td>Nama Kelompok</td><td>:</td><td><textarea
cols="30" rows="3" name="kel"
maxlength="75"></textarea></td>
</tr>
<tr><td>TTL</td><td>:</td><td><textarea cols="30"
rows="3" name="ttl" maxlength="75"></textarea></td><td>
</tr>
<tr><td>Alamat Kos</td><td>:</td><td><textarea
cols="30" rows="3" name="kos"
maxlength="75"></textarea></td><td>
</tr>
<tr><td>Golongan Darah</td><td>:</td><td><textarea
cols="30" rows="3" name="gol"
maxlength="75"></textarea></td><td>
</tr>
340
<tr><td>Jurusan</td><td>:</td><td><textarea cols="30"
rows="3" name="jur" maxlength="75"></textarea></td><td>
</tr>
<tr><td>Hobi</td><td>:</td><td><textarea cols="30"
rows="3" name="hobi"
maxlength="75"></textarea></td><td>
</tr>
<tr><td>Motto</td><td>:</td><td><textarea cols="30"
rows="3" name="motto"
maxlength="75"></textarea></td><td>
</tr>
<tr><td></td><td></td><td align=center><input
type="submit" name="kirim" value="Save"></td>
</tr>
</body>
</html>
Gambar 9.11 Screenshot sourcecode program memasukan identitas
341
Gambar 9.12 Screenshot program menampilkan identitas
9.3.1.2. Hasil Identitas
Nama file : hasil biodata.php
<html>
<head><olink rel="stylesheet" href="" type="css/text">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Kelompok 1 - Latihan 6_2</title>
</head>
<body>
<?
// Pengambilan data dan variabel dari file latihan
6_biodata.php //
$nama=$_POST['nama'];
$nim=$_POST['nim'];
$namakel=$_POST['kel'];
$ttl=$_POST['ttl'];
$kos=$_POST['kos'];
$gol=$_POST['gol'];
$jur=$_POST['jur'];
$hobi=$_POST['hobi'];
$motto=$_POST['motto'];
// Menampilkan output berdasarkan data yang diambil
dari file sebelumnya //
echo"Nama : ".$nama."<br>";
342
echo"NIM : ".$nim."<br>";
echo"Nama Kelompok : ".$namakel."<br>";
echo"TTL : ".$ttl."<br>";
echo"Alamat Kos : ".$kos."<br>";
echo"Golongan Darah : ".$gol."<br>";
echo"Jurusan : ".$jur."<br>";
echo"Hobi : ".$hobi."<br>";
echo"Motto : ".$motto."<br>";
?>
<a href='latihan6.php'>back</a>
</body>
</html>
Gambar 9.13 Screenshot sourcecode program menampilkan identitas
Gambar 9.14 T Screenshot program menampilkan identitas
343
9.3.7. Latihan 7
Buatlah file yang isinya adalah deskripsi kalian, 1 file untuk 1
praktikan dan 1 file utama yang memanggil file deskripsi kalian
menggunakan include. Jumlah file deskripsi disesuaikan.
File 1 :
Nama file : latihan7_file1
<html>
<head><olink rel="stylesheet" href="" type="css/text">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Kelompok 1 - Latihan 7_Praktikan 1</title>
</head>
<body>
<?php
// Menampilkan output yang akan diletakkan pada file
latihan7_index //
echo"Nama : Bagus Lingga Tudanto<br>";
echo"NIM : 21120110110033<br>";
echo"Kelompok : 1<br>";
?>
</body>
</html>
Gambaar 9.15 Screenshot sourcecode program file data praktikan 1
344
Gambar 9.16 Screenshot program menampilkan data praktikan 1
File 2 :
Nama file : latihan7_file2
<html>
<head><olink rel="stylesheet" href="" type="css/text">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Kelompok 1 - Latihan 7_Praktikan 2</title>
</head>
<body>
<?php
// Menampilkan output yang akan diletakkan pada file
latihan7_index //
echo"Nama : Anggi Anugraha Putra<br>";
echo"NIM : 21120111120001<br>";
echo"Kelompok : 1<br>";
?>
</body>
</html>
345
Gambar 9.17 Screenshot sourcecode pada file data praktikan 2
Gambar 9.18 Screenshot program menampilkan data praktikan 2
File 3 :
Nama file : latihan7_file3
<html>
<head><olink rel="stylesheet" href="" type="css/text">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Kelompok 1 - Latihan 7_Praktikan 2</title>
</head>
<body>
<?php
// Menampilkan output yang akan diletakkan pada file
latihan7_index //
echo"Nama : Elad Oktarizo<br>";
echo"NIM : 21120111120002<br>";
346
echo"Kelompok : 1<br>";
?>
</body>
</html>
Gambar 9.19 Screenshot sourcecode pada file data praktikan 3
Gambar 9.20 Screenshot program menampilkan data praktikan 3
Tampilan Semua Data
<html>
<head><olink rel="stylesheet" href="" type="css/text">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Kelompok 1 - Latihan 7_Index</title>
</head>
<body>
<?php
echo"Deskripsi Kelompok<br>";
echo"<br>";
include("latihan7s1.php");
347
echo"<br>";
include("latihan7s2.php");
echo
"<br>";
include ("latihan7s3.php");
?>
</body>
</html>
Gambar 9.21 Screenshot sourcecode program menampilkan data praktikan
Gambar 9,22Screenshot program menampilkan data praktikan ,1,2 dan 3
348
9.4.Tugas Praktikum
9.4.1. Studi kasus
Buatlah sebuah program untuk menampilkan indentis kelompok
di mana terdapat menu :
a. Tentang kelompok
Menu‗tentang kelompok„ berisi deskripsi kelompok.
b. Anggota 1
Menu‗anggota 1„ berisi biodata anggota 1 secara lengkap (terserah
Anda)
c. Anggota 2
Menu ‗anggota 2„ berisi biodata anggota 2 secara lengkap
seperti
anggota 1.
Menu tersebut, jika di klik akan menampilkan sebuah isi tetapi
dalam halaman yang sama. Halaman-halaman dan menu tersebut
dibuat dalam satu halaman dengan nama indentias_kelompok.php
Nama file : studikasus.php
<html>
<html xmlns="http://www.w3.org/1999/xhtml"><style
type="text/css">body {
background-image: url(3dwallpaper40.jpg);
background-repeat: no-repeat;
}
</style>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Identitas Kelompok 1</title>
</head>
<body>
<!-- pembuatan 3 tombol beserta pengkondisian saat
tombol di klik -->
<p align='center'><a
href="?studikasus=deskripsi">Tentang Kelompok 1
</a> | <a
href="?studikasus=anggota">Praktikan 1
349
</a> | <a
href="?studikasus=anggota1">Praktikan 2
</a> | <a
href="?studikasus=anggota2">Praktikan 3
</a></p>
<?php
if ($_GET[studikasus]=="anggota"){
?>
<hr />
<tr>
<td><br />Nama Anggota 1</td>
<td>:</td>
<td>Bagus Lingga Tudanto</td>
</tr>
<hr />
<tr>
<td><br />NIM Anggota</td>
<td>:</td>
<td>21120110110033</td>
</tr>
<hr />
<tr>
<td><br />Kelompok</td>
<td>:</td>
<td>1</td>
</tr>
<hr />
<tr>
<td><br />Asal</td>
<td>:</td>
<td>Semarang</td>
</tr>
<hr />
<tr>
<td><br />No HP</td>
<td>:</td>
<td>085640588526</td>
</tr>
<hr />
350
<?php
} else if($_GET[studikasus]=="anggota1"){
?>
<hr/>
<tr>
<td><br />Nama Anggota 2</td>
<td>:</td>
<td>Anggi Anugraha Putra</td>
</tr>
<hr />
<tr>
<td><br/>NIM Anggota</td>
<td>:</td>
<td>21120111120001</td>
</tr>
<hr />
<tr>
<td><br />Kelompok</td>
<td>:</td>
<td>1</td>
</tr>
<hr />
<tr>
<td><br />Asal</td>
<td>:</td>
<td>Padang</td>
</tr>
<hr />
<tr>
<td><br />No HP</td>
<td>:</td>
<td>085363000470</td>
</tr>
<hr />
<?php
} else if($_GET[studikasus]=="anggota2"){
?>
351
<hr/>
<tr>
<td><br />Nama Anggota 3</td>
<td>:</td>
<td>Elad Oktarizo</td>
</tr>
<hr />
<tr>
<td><br/>NIM Anggota</td>
<td>:</td>
<td>21120111120002</td>
</tr>
<hr />
<tr>
<td><br />Kelompok</td>
<td>:</td>
<td>1</td>
</tr>
<hr />
<tr>
<td><br />Asal</td>
<td>:</td>
<td>Padang</td>
</tr>
<hr />
<tr>
<td><br />No HP</td>
<td>:</td>
<td>085274479193</td>
</tr>
<hr />
<?php
}else {
echo "<p align='center'>kami adalah kelompok 1
praktikum DKP SISKOM 2012 yang terdiri dari 3 orang
anggota, yaitu : bagus lingga tudanto, anggi anugraha
putra, dan elad oktarizo</p>";
352
echo "<p align='center'>sebagai kelompok 1 kami
juga akan berusaha untuk menjadi NOMOR 1</p>";
echo "<p align='center'>siapa yang menghalangi,
akan kami hadapi :)</p>";
}
?>
<body>
</body>
</html>
353
Gambar 9.23 Screenshot source code menampilkan menu
354
Gambar 9.24 Screenshot pada menu “Tentang Kelompok”
Gambar 9.26 Screenshot Tampilan menu “Anggota1”
355
Gambar 9.27 Screenshot Tampilan menu “Anggota 2”
Gambar 9.28 Screenshot Tampilan menu “Anggota 3”
356
9.5.Kesimpulan
1. PHP atau PHP Hypertext Preprocessor adalah sebuah bahasa
pemrograman web berbasis server (server side) yang mampu
menerjemahkan kode php dari kode web dengan ekstensi .php,
sehingga menghasilkan tampilan website yang dinamis di sisi
client (browser).
2. Di PHP, variabel dikenali dengan adanya tanda dollar ($) yang
kemudian bisa diikuti dengan angka, huruf, dan underscore.
3. Dalam bahasa pemrograman PHP, ada 2 kode program yang
digunakan untuk penyeleksian suatu kondisi yaitu IF dan While
4. Statement if merupakan statement yang penting dan pasti
terdapat
di semua bahasa pemrograman. Statement ini berguna untuk
membuat percabangan berdasarkan kondisi tertentu , jika kondisi
IF tidak terpenuhi, tidak ada aksi apapun dan blok kode aksi akan
dilewati. Untuk bisa membuat alternatif terdiri dari 2 buah, Kita
bisa menggunakan IF..ELSE..
5. Statement untuk pengaturan alur program berikutnya adalah switch.
Salah satu keuntungan switch adalah Kita bisa langsung
mengevaluasi satu statement dan memerintahkan aksi dalam
jumlah yang lebih banyak.
6. Loop dalam PHP terbagi menjadi 3 bentuk yaitu for, while , dan do
while.
7. Array (dalam bahasa Indonesia diterjemahkan sebagai larik)
merupakan variabel yang di dalamnya mengandung nilai-nilai
lain.
8. Di pemrograman juga ada istilah fungsi/function. Fungsi
membuat proses pemrograman bisa lebih efisien karena aksi-
aksi tertentu bisa ditulis dalam satu kali fungsi yang nantinya
bisa dipanggil jika diperlukan.Sebuah fungsi dapat menerima
nilai, memprosesnya kemudian mengembalikan nilai barunya.
357
Secara fisik, fungsi merupakan blok kode yang bisa dipanggil
nantinya.
9. 2Sebuah halaman web sering kali memproses nilai yang
diperoleh dari halaman lainnya. Untuk itu PHP harus mampu
mem-parsing variabel antar halaman. Ada banyak cara untuk
mem-parsing variabel antar halaman. Salah satunya adalah
dengan via URL.
10. Form dalam pemrograman HTML dikenal dengan adanya tag
<form> dan ditutup dengan tag </form>. Di dalam tag pembuka
<form> diikuti dengan atribut action dan method. Action
menjelaskan ke halaman yang digunakan untuk memproses input,
sementara method digunakan untuk mengatur cara mem-parsing
konten.
11. Di dalam bahasa pemrograman PHP, ada sintak yang berfungsi
sebagai pemanggil halaman di dalam sebuah halaman yang
aktif. Sintak tersebut adalah include dan require. Fungsi dari
keduanya sama yaitu memanggil halaman, tetapi perbedaannya
yaitu jika include apabila terjadi kesalahan atau error akan
kesalahan tersebut akan ditampilkan sebagai warning dan script
kode tetap di eksekusi.
12. Sedangkan require, jika ada kesalahan atau error maka kesalahan
tersebut akan ditampilkan sebagai fatal error dan script kode
akan berhenti diproses
358
LAMPIRAN
MAKALAH TUGAS AKHIR
Makalah Tugas Akhir
Praktikum Dasar Komputer dan Pemrograman
PROGRAM BILLING SEDERHANA
Bagus Lingga Tudanto (21120110110033)
Jurusan Sistem Komputer, Fakultas Teknik, Universitas Diponegoro
Jl. Prof. Sudharto, Tembalang, Semarang, Indonesia
Abstrak - Perkembangan Teknologi saat ini amatlah sangat cepat.
Maka kebutuhan akan barang elektronik seiring naik dengan perkembangan
teknologi tersebut. Untuk itu manusia perlu menciptakan alat untuk
membantunya dalam melakukan tugas – tugas yang membebaninya. Dengan
alat elektronik tersebut, manusia kan terbantu sedikit meringankan beban
pekerjaannya. Bukan hanya dalam perangkat keras saja tapi juga perangkat
lunaknya. Manusia akan sangat perlu suatu printah –perintah yang dapat
menghubungkan keinginanya dengan computer ataupun mesin sekalipun.
Perintah perintah itu diterjemahkan dalam bahasa – bahasa yang dimengerti
mesin. Bahasa manusia merupakan bahasa tingkat tinggi yang tidak dimengerti
oleh mesin, sedangkan bahasa yang dimengerti mesin adalah bahasa tingkat
rendah yaitu bahasa assemble. Salah satu bahasa mesin adalah JAVA.
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James
Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian
dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis
yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih
sederhana serta dukungan rutin-rutin aras bawah yang minimal. Saat ini java
merupakan bahasa pemrograman yang paling populer digunakan, dan secara
luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak
aplikasi ataupun aplikasi berbasis web.
Kata kunci : Bahasa Pemograman, Bahasa JAVA, Billing Sederhana
359
BAB I
PENDAHULUAN
1.1. LatarBelakang
Era modern dimana semua sudah memasuki teknologi
canggih,Hampir semua kegiatan manusia pada saat ini melibatkan teknologi
Komputer mulai dari skala personal sampai dengan skala Perusahaan besar.
Seiring dengan itu lahirlah bahasa pemrograman.dengan bermacam-macam
jenis ragamnya . Salah satunya adalah JAVA dimana bahasa pemrograman
ini lebih kompleks dan memiliki fitur yang luar biasa dan dapat
diaplikasikan dalam berbagai platform , termasuk platform untuk telepon
genggam .JAVA juga memiliki fitur GUI untuk memudahkan penggunanya
dalam menyelesaikan suatu masalah .
1.2. Tujuan
Adapun tujuan dari penulisan makalah ini adalah untuk memenuhi
tugas praktikum Dasar Komputer dan Pemrograman yang diberikan asisten
kepada praktikan. Mengimplementasikan ilmu – ilmu yang di dapat dalam
praktikum praktikum sebelumnya. Mengetahui lebih jauh tentang program
JAVA dan menerapkannya untuk membuat program sedehana.
1.3. Pembatasan Masalah
Dalam pembuatan makalah ini batasan- batasan membahas tentang
program JAVA dan GUI-nya dalam aplikasinya di Program Billing
Sederhana
360
1.4. Sistematika Penulisan
I. PENDAHULUAN
1.1 Latar Belakang
1.2 Tujuan
1.3 Pembatasan Masalah
1.4 Metode Penulisan
1.5 Sistematika Penulisan
II. DASAR TEORI
2.1 Sejarah Visual Basic
2.2 Pemahaman GUI pada Java
2.3 Fungsi GUI
III. ALGORITMA DAN FLOWCHART
3.1 Algoritma Program
3.2 Flowchart
IV. ANALISA DAN PEMBAHASAN
4.1 Source Code
4.2 Tampilan Program
V. PENUTUP
5.1 Kesimpulan
5.2 Saran
361
BAB II
DASAR TEORI
2.1. Sejarah Perkembangan Java
Bahasa pemrograman Java terlahir dari The Green Project, yang
berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992.
Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini
dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill
Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu
hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand
Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup
dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan
sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch
screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7"
(Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel
tertarik ditambah beberapa orang dari proyek The Green Project. Mereka
memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton
Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat
dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga
ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja
dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih
merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal
untuk membuat perambah Java pertama yang dinamai Web Runner,
terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis
pertama, Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber
Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk
pemberitaan pertama kali pada surat kabar San Jose Mercury News pada
362
tanggal 23 Mei 1995. Sayang terjadi perpecahan di antara mereka suatu hari
pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari
pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun
Microsystems bersama Marc Andreessen, membentuk Netscape.
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela
ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai
untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar
dengan merek dagang tersebut, sehingga diambil nama penggantinya
menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung
dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau
Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa
(bahasa Inggris untuk Jawa adalah Java).
2.2. Pemahaman GUI pada Java
GUI atau kepanjangan dari Graphical User Interface merupakan
salah satu model interaksi antara manusia dan komputer. Selain GUI, ada
juga model yang lain seperti Character User Interface (CUI) yang sering
kita kenal dengan command line. Dari sisi kenyamanan (attitude), kedua
model ini memiliki fungsinya masing-masing. Fungsi CUI biasanya adalah
administrator sistem berbasis sistem operasi LINUX. Bagi mereka, CUI
dirasakan lebih nyaman dibandingkan dengan GUI, bahkan setelah GUI
pada LINUX berkembang dengan pesat, mereka tetap bertahan untuk
menggunakan CUI. Pengguna GUI biasanya adalah mereka yang sudah
terbiasa dengan sistem operasi Windows.
GUI atau Graphical Unit Interface, merupakan perangkat pertama
untuk mengendalikan fungsi-fungsi suatu software, dan membuat pengguna
mudah untuk memahami bagaimana menggunakan software tersebut. Kita
dapat mengasumsikan bahwa GUI merupakan sebagai bagian dari suatu
software yang pertama kali ditangkap mata (secara interface). Dimana suatu
software akan kelihatan bagus, jika GUI tersebut tampak menarik. Hal ini
termasuk untuk GUI sistem pengenal suara,GUI ini diperlukan agar orang
awam mudah dalam mempelajari dan menggunakan sistem tersebut. Untuk
363
lebih kenal dekat dengan GUI, anda dapat perhatikan pada komputer
masing-masing yang mana telah dibalut oleh GUI. Contoh saja Sistem
Operasi Windows anda atau pun Linux, memiliki tampilan yang disesuaikan
dengan cara penggunaan sistem.
2.3. Fungsi GUI
Dari pemahaman tentang GUI sebelumnya, fungsi-fungsi GUI
dalam dunia teknologi dan informasi saat ini sangat beragam. Berikut
beberapa fungsi dari penggunaan GUI dalam dunia Iptek khususnya
komputer :
(1). Pointing device dengan perangkat berupa mouse
(2). Memiliki fungsi sebagai plug and play, yang mana memudahkan user
dalam menginstall dan uninstall hardware/sofware (sinkronisasi)
(3). Membuat software-software yang menuntut aplikasi dalam komputer
user yang dapat digunakan untuk kegiatan user dalam proses seperti menulis
text, spreadsheet. sound, graphic dan lain-lain
(4). Untuk digunakan dalam pembuatan System Operasi sebagai User
friendly dan ergonomis
(5). Pembuatan website
(6). Opensource software/hardware atau pengembang aplikasi-aplikasi
skala besar lainnya.
JAVA GUI sendiri secara umum sama dengan pemahaman GUI
sendiri, namun disini GUI pada JAVA adalah salah satu dari fasilitas Java
dalam mengembangkan suatu aplikasi dengan memberikan suatu interface
yang nantinya akan disesuaikan dengan kebutuhan suatu aplikasi, baik skala
kecil dan besar. Intinya, GUI pada Java adalah komponen-komponen
penyempurna dalam sebuah sistem, seperti komponen navigasi, graphic,
interface desktop, komponen menu, sinkronisasi antar interface dan
semuanya itu dirancang dengan penelitian yang baik, dimana nantinya
aplikasi tersebut dapat dengan mudah dioperasikan user. Banyak sudah
aplikasi yang telah Java kembangankan dengan menggunakan GUI sebagai
nilai penggunaan dan nilai jual. Software perangkat lunak dan keras juga
364
termasuk di dalamnya. Java GUI adalah program pengembangan suatu user
interface dengan mengetengahkan graphic sebagai penghubung user dengan
sistem, sehingga mudah dalam implementasi aplikasi sistem tersebut.
365
BAB III
ALGORITMA
3.1. AlgoritmaPseudocode
Mencentang checkbox menu yang telah dipesan .
Mengisikan jumlah pesanan ke text field di samping menu pesanan .
Menekan button Total untuk menampilkan harga total tiap pesanan dan
harga total untuk dibayar .
Memasukkan uang yang dibayarkan .
Menekan button Kembalian untuk mendapati uang kembaliannya .
Menekan button Mulai Baru untuk menghapus semua yg telah diinputkan
dan dioutputkan .
Menekan button Keluar untuk exit dari program tersebut .
3.2. Algoritma Flowchart
366
Gambar 1 Flowchart Program
367
BAB IV
ANALISA DAN PEMBAHASAN
4.1. Source Code Program
Kelas struk.java :
/**
*
* @author RINGGAS
*/
public class struk extends javax.swing.JFrame {
/** Creates new form struk */
public struk() {
initComponents();
}
/** This method is called from within the
constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The
content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed"
desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
cbAyam = new javax.swing.JCheckBox();
368
tfAyam = new javax.swing.JTextField();
hargaAyam = new javax.swing.JTextField();
cbBangka = new javax.swing.JCheckBox();
cbJawa = new javax.swing.JCheckBox();
cbMedan = new javax.swing.JCheckBox();
tfBangka = new javax.swing.JTextField();
tfJawa = new javax.swing.JTextField();
tfMedan = new javax.swing.JTextField();
hargaBangka = new
javax.swing.JTextField();
hargaJawa = new javax.swing.JTextField();
hargaMedan = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
cbRamen = new javax.swing.JCheckBox();
tfRamen = new javax.swing.JTextField();
hargaRamen = new javax.swing.JTextField();
cbSoda = new javax.swing.JCheckBox();
tfSoda = new javax.swing.JTextField();
hargaSoda = new javax.swing.JTextField();
cbCampur = new javax.swing.JCheckBox();
cbTeh = new javax.swing.JCheckBox();
cbJeruk = new javax.swing.JCheckBox();
tfCampur = new javax.swing.JTextField();
tfTeh = new javax.swing.JTextField();
tfJeruk = new javax.swing.JTextField();
hargaCampur = new
javax.swing.JTextField();
hargaJeruk = new javax.swing.JTextField();
hargaTeh = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
cbKerupuk = new javax.swing.JCheckBox();
tfKerupuk = new javax.swing.JTextField();
369
hargaKerupuk = new
javax.swing.JTextField();
tfTotal = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
tfUang = new javax.swing.JTextField();
tfSusuk = new javax.swing.JTextField();
butTotal = new javax.swing.JButton();
butSusuk = new javax.swing.JButton();
butBaru = new javax.swing.JButton();
butKeluar = new javax.swing.JButton();
// Coding diatas digunakan sebagai :
// Penginisialisasian komponen-komponen dalam
form java
setDefaultCloseOperation(javax.swing.WindowConstan
ts.EXIT_ON_CLOSE);
setTitle("TUGAS AKHIR PRAKTIKUM DKP");
setBackground(new java.awt.Color(255, 204,
204));
setForeground(java.awt.Color.black);
// Coding diatas digunakan sebagai :
// Memberi title pada program
jLabel1.setFont(new java.awt.Font("Times
New Roman", 3, 16)); // NOI18N
jLabel1.setForeground(new
java.awt.Color(51, 51, 51));
jLabel1.setText("BILLING -KEDAI MIE-");
jLabel2.setFont(new java.awt.Font("Times
New Roman", 3, 14));
jLabel2.setText("* MAKANAN");
370
jLabel3.setFont(new
java.awt.Font("Tahoma", 2, 10));
jLabel3.setText("BANYAKNYA");
jLabel4.setFont(new java.awt.Font("Times
New Roman", 2, 10));
jLabel4.setText("HARGA (Rp ,-)");
cbAyam.setFont(new java.awt.Font("Tahoma",
1, 10));
cbAyam.setText("Mie Ayam (Rp7000,-)");
cbAyam.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbAyamActionPerformed(evt);
}
});
tfAyam.setEditable(false);
tfAyam.setFont(new java.awt.Font("Times
New Roman", 1, 10));
tfAyam.setHorizontalAlignment(javax.swing.JTextFie
ld.CENTER);
tfAyam.setText(" ");
tfAyam.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tfAyamActionPerformed(evt);
}
371
});
tfAyam.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfAyamKeyTyped(evt);
}
});
hargaAyam.setEditable(false);
hargaAyam.setFont(new java.awt.Font("Times
New Roman", 1, 11));
hargaAyam.setHorizontalAlignment(javax.swing.JText
Field.CENTER);
cbBangka.setFont(new
java.awt.Font("Tahoma", 1, 10));
cbBangka.setText("Mie Bangka (Rp9000,-)");
cbBangka.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbBangkaActionPerformed(evt);
}
});
cbJawa.setFont(new java.awt.Font("Tahoma",
1, 10));
cbJawa.setText("Mie Jawa (Rp8500,-)");
cbJawa.addActionListener(new
java.awt.event.ActionListener() {
372
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbJawaActionPerformed(evt);
}
});
cbMedan.setFont(new
java.awt.Font("Tahoma", 1, 10));
cbMedan.setText("Mie Medan (Rp9000,-)");
cbMedan.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbMedanActionPerformed(evt);
}
});
tfBangka.setEditable(false);
tfBangka.setFont(new java.awt.Font("Times
New Roman", 1, 10));
tfBangka.setHorizontalAlignment(javax.swing.JTextF
ield.CENTER);
tfBangka.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tfBangkaActionPerformed(evt);
}
});
tfBangka.addKeyListener(new
java.awt.event.KeyAdapter() {
373
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfBangkaKeyTyped(evt);
}
});
tfJawa.setEditable(false);
tfJawa.setFont(new java.awt.Font("Times
New Roman", 1, 10));
tfJawa.setHorizontalAlignment(javax.swing.JTextFie
ld.CENTER);
tfJawa.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tfJawaActionPerformed(evt);
}
});
tfJawa.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfJawaKeyTyped(evt);
}
});
tfMedan.setEditable(false);
tfMedan.setFont(new java.awt.Font("Times
New Roman", 1, 10));
tfMedan.setHorizontalAlignment(javax.swing.JTextFi
eld.CENTER);
374
tfMedan.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tfMedanActionPerformed(evt);
}
});
tfMedan.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfMedanKeyTyped(evt);
}
});
hargaBangka.setEditable(false);
hargaBangka.setFont(new
java.awt.Font("Times New Roman", 1, 11));
hargaBangka.setHorizontalAlignment(javax.swing.JTe
xtField.CENTER);
hargaJawa.setEditable(false);
hargaJawa.setFont(new java.awt.Font("Times
New Roman", 1, 11));
hargaJawa.setHorizontalAlignment(javax.swing.JText
Field.CENTER);
hargaMedan.setEditable(false);
hargaMedan.setFont(new
java.awt.Font("Times New Roman", 1, 11));
375
hargaMedan.setHorizontalAlignment(javax.swing.JTex
tField.CENTER);
jLabel5.setFont(new java.awt.Font("Times
New Roman", 3, 14));
jLabel5.setText("* MINUMAN");
cbRamen.setFont(new
java.awt.Font("Tahoma", 1, 10));
cbRamen.setText("Mie Ramen (Rp10000,-)");
cbRamen.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbRamenActionPerformed(evt);
}
});
tfRamen.setEditable(false);
tfRamen.setFont(new java.awt.Font("Times
New Roman", 1, 10));
tfRamen.setHorizontalAlignment(javax.swing.JTextFi
eld.CENTER);
tfRamen.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tfRamenActionPerformed(evt);
}
});
376
tfRamen.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfRamenKeyTyped(evt);
}
});
hargaRamen.setEditable(false);
hargaRamen.setFont(new
java.awt.Font("Times New Roman", 1, 11));
hargaRamen.setHorizontalAlignment(javax.swing.JTex
tField.CENTER);
cbSoda.setFont(new java.awt.Font("Tahoma",
1, 10));
cbSoda.setText("Soda (Rp4000,-)");
cbSoda.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbSodaActionPerformed(evt);
}
});
tfSoda.setEditable(false);
tfSoda.setFont(new java.awt.Font("Times
New Roman", 1, 10));
tfSoda.setHorizontalAlignment(javax.swing.JTextFie
ld.CENTER);
377
tfSoda.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfSodaKeyTyped(evt);
}
});
hargaSoda.setEditable(false);
hargaSoda.setFont(new java.awt.Font("Times
New Roman", 1, 11));
hargaSoda.setHorizontalAlignment(javax.swing.JText
Field.CENTER);
cbCampur.setFont(new
java.awt.Font("Tahoma", 1, 10));
cbCampur.setText("Es Campur (Rp5000,-)");
cbCampur.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbCampurActionPerformed(evt);
}
});
cbTeh.setFont(new java.awt.Font("Tahoma",
1, 10));
cbTeh.setText("Teh [Panas/Es] (Rp2500,-
)");
cbTeh.addActionListener(new
java.awt.event.ActionListener() {
378
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbTehActionPerformed(evt);
}
});
cbJeruk.setFont(new
java.awt.Font("Tahoma", 1, 10));
cbJeruk.setText("Lemontea (Rp5000,-)");
cbJeruk.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbJerukActionPerformed(evt);
}
});
tfCampur.setEditable(false);
tfCampur.setFont(new java.awt.Font("Times
New Roman", 1, 10));
tfCampur.setHorizontalAlignment(javax.swing.JTextF
ield.CENTER);
tfCampur.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfCampurKeyTyped(evt);
}
});
tfTeh.setEditable(false);
379
tfTeh.setFont(new java.awt.Font("Times New
Roman", 1, 10));
tfTeh.setHorizontalAlignment(javax.swing.JTextFiel
d.CENTER);
tfTeh.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfTehKeyTyped(evt);
}
});
tfJeruk.setEditable(false);
tfJeruk.setFont(new java.awt.Font("Times
New Roman", 1, 10));
tfJeruk.setHorizontalAlignment(javax.swing.JTextFi
eld.CENTER);
tfJeruk.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfJerukKeyTyped(evt);
}
});
hargaCampur.setEditable(false);
hargaCampur.setFont(new
java.awt.Font("Times New Roman", 1, 11));
hargaCampur.setHorizontalAlignment(javax.swing.JTe
xtField.CENTER);
380
hargaJeruk.setEditable(false);
hargaJeruk.setFont(new
java.awt.Font("Times New Roman", 1, 11));
hargaJeruk.setHorizontalAlignment(javax.swing.JTex
tField.CENTER);
hargaTeh.setEditable(false);
hargaTeh.setFont(new java.awt.Font("Times
New Roman", 1, 11));
hargaTeh.setHorizontalAlignment(javax.swing.JTextF
ield.CENTER);
jLabel6.setFont(new java.awt.Font("Times
New Roman", 3, 14));
jLabel6.setText("* TAMBAHAN");
cbKerupuk.setFont(new
java.awt.Font("Tahoma", 1, 10));
cbKerupuk.setText("Kerupuk (Rp1000,-)");
cbKerupuk.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cbKerupukActionPerformed(evt);
}
});
tfKerupuk.setEditable(false);
tfKerupuk.setFont(new java.awt.Font("Times
New Roman", 1, 10));
381
tfKerupuk.setHorizontalAlignment(javax.swing.JText
Field.CENTER);
tfKerupuk.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfKerupukKeyTyped(evt);
}
});
hargaKerupuk.setEditable(false);
hargaKerupuk.setFont(new
java.awt.Font("Times New Roman", 1, 11));
hargaKerupuk.setHorizontalAlignment(javax.swing.JT
extField.CENTER);
tfTotal.setEditable(false);
tfTotal.setFont(new java.awt.Font("Times
New Roman", 3, 18));
tfTotal.setHorizontalAlignment(javax.swing.JTextFi
eld.CENTER);
jLabel7.setFont(new
java.awt.Font("Tahoma", 1, 11));
jLabel7.setText("Uang (Rp,-)");
tfUang.setFont(new java.awt.Font("Times
New Roman", 3, 18)); // NOI18N
382
tfUang.setHorizontalAlignment(javax.swing.JTextFie
ld.CENTER);
tfUang.addKeyListener(new
java.awt.event.KeyAdapter() {
public void
keyTyped(java.awt.event.KeyEvent evt) {
tfUangKeyTyped(evt);
}
});
tfSusuk.setEditable(false);
tfSusuk.setFont(new java.awt.Font("Times
New Roman", 3, 18)); // NOI18N
tfSusuk.setHorizontalAlignment(javax.swing.JTextFi
eld.CENTER);
butTotal.setFont(new java.awt.Font("Times
New Roman", 1, 14));
butTotal.setText("TOTAL HARGA");
butTotal.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
butTotalActionPerformed(evt);
}
});
butSusuk.setFont(new java.awt.Font("Times
New Roman", 1, 14));
butSusuk.setText("KEMBALIAN");
383
butSusuk.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
butSusukActionPerformed(evt);
}
});
butBaru.setFont(new java.awt.Font("Times
New Roman", 1, 12));
butBaru.setForeground(new
java.awt.Color(51, 0, 255));
butBaru.setText("MULAI BARU");
butBaru.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
butBaruActionPerformed(evt);
}
});
butKeluar.setFont(new java.awt.Font("Times
New Roman", 1, 12));
butKeluar.setForeground(new
java.awt.Color(255, 0, 51));
butKeluar.setText("KELUAR");
butKeluar.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
butKeluarActionPerformed(evt);
}
});
384
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout
.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.LEADING)
.addComponent(jLabel5)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.LEADING)
.addComponent(jLabel2,
javax.swing.GroupLayout.PREFERRED_SIZE, 85,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbRamen)
.addComponent(cbMedan)
.addComponent(cbJawa)
.addComponent(cbBangka)
.addComponent(cbAyam)
.addComponent(cbSoda)
.addComponent(cbCampur)
.addComponent(cbTeh)
385
.addComponent(cbJeruk))
.addGap(42, 42, 42)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.LEADING, false)
.addComponent(tfKerupuk,
javax.swing.GroupLayout.Alignment.TRAILING, 0, 0,
Short.MAX_VALUE)
.addComponent(tfJeruk)
.addComponent(tfTeh)
.addComponent(tfCampur)
.addComponent(tfSoda,
0, 0, Short.MAX_VALUE)
.addComponent(jLabel3,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(tfMedan,
javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(tfRamen,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, 51,
Short.MAX_VALUE)
.addComponent(tfAyam,
javax.swing.GroupLayout.DEFAULT_SIZE, 39,
Short.MAX_VALUE)
.addComponent(tfBangka)
386
.addComponent(tfJawa,
javax.swing.GroupLayout.DEFAULT_SIZE, 33,
Short.MAX_VALUE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.LEADING, false)
.addComponent(hargaKerupuk)
.addComponent(hargaJeruk)
.addComponent(hargaTeh)
.addComponent(hargaCampur)
.addGroup(layout.createSequentialGroup()
.addGap(30, 30,
30)
.addComponent(jLabel4))
.addComponent(hargaMedan,
javax.swing.GroupLayout.DEFAULT_SIZE, 111,
Short.MAX_VALUE)
.addComponent(hargaAyam,
javax.swing.GroupLayout.DEFAULT_SIZE, 111,
Short.MAX_VALUE)
.addComponent(hargaJawa,
javax.swing.GroupLayout.DEFAULT_SIZE, 111,
Short.MAX_VALUE)
.addComponent(hargaBangka,
javax.swing.GroupLayout.DEFAULT_SIZE, 111,
Short.MAX_VALUE)
.addComponent(hargaRamen,
javax.swing.GroupLayout.DEFAULT_SIZE, 111,
Short.MAX_VALUE)
.addComponent(hargaSoda)))
.addComponent(jLabel6)
.addGroup(layout.createSequentialGroup()
387
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.LEADING, false)
.addComponent(butSusuk,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(cbKerupuk,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(32, 32, 32)
.addComponent(jLabel7))
.addComponent(butTotal,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGap(23, 23, 23)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.TRAILING)
.addComponent(tfSusuk,
javax.swing.GroupLayout.PREFERRED_SIZE, 170,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfTotal,
javax.swing.GroupLayout.PREFERRED_SIZE, 170,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfUang,
javax.swing.GroupLayout.PREFERRED_SIZE, 170,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_S
IZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(81, 81, 81)
388
.addComponent(butBaru,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.RELATED, 42, Short.MAX_VALUE)
.addComponent(butKeluar,
javax.swing.GroupLayout.PREFERRED_SIZE, 106,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(75, 75, 75))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG, layout.createSequentialGroup()
.addContainerGap(124, Short.MAX_VALUE)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 178,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(113, 113, 113))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout
.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(25, 25, 25)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel3)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.RELATED)
389
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(hargaAyam,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfAyam,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbAyam))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(tfBangka,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(hargaBangka,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbBangka))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
390
.addComponent(tfJawa,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(hargaJawa,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbJawa))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(tfMedan,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(hargaMedan,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbMedan))
.addGap(6, 6, 6)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(tfRamen,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
391
.addComponent(hargaRamen,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbRamen))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.UNRELATED)
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(tfSoda,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(hargaSoda,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbSoda))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(cbCampur)
.addComponent(tfCampur,
javax.swing.GroupLayout.PREFERRED_SIZE,
392
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(hargaCampur,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(cbTeh)
.addComponent(tfTeh,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(hargaTeh,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(cbJeruk)
.addComponent(tfJeruk,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
393
.addComponent(hargaJeruk,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.UNRELATED)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(tfKerupuk,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(hargaKerupuk,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbKerupuk))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(tfTotal,
javax.swing.GroupLayout.PREFERRED_SIZE, 29,
javax.swing.GroupLayout.PREFERRED_SIZE)
394
.addComponent(butTotal,
javax.swing.GroupLayout.PREFERRED_SIZE, 42,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(14, 14, 14)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(tfUang,
javax.swing.GroupLayout.PREFERRED_SIZE, 23,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.Component
Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(tfSusuk,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(butSusuk))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.G
roupLayout.Alignment.BASELINE)
.addComponent(butBaru)
.addComponent(butKeluar))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_S
IZE, Short.MAX_VALUE))
);
395
jLabel1.getAccessibleContext().setAccessibleName("
BILLING -KEDAI MIE-");
pack();
}// </editor-fold>
// Coding diatas digunakan sebagai :
// Pengaturan properties pada komponen-
komponen dalam form java
private void
cbAyamActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbAyam.isSelected() == true){
tfAyam.setEditable(true);
}
else {
tfAyam.setEditable(false);
tfAyam.setText("");
}
}
private void
cbBangkaActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbBangka.isSelected() == true){
tfBangka.setEditable(true);
}
else {
tfBangka.setEditable(false);
tfBangka.setText("");
}
396
}
private void
cbJawaActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbJawa.isSelected() == true){
tfJawa.setEditable(true);
}
else {
tfJawa.setEditable(false);
tfJawa.setText("");
}
}
private void
cbMedanActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbMedan.isSelected() == true){
tfMedan.setEditable(true);
}
else {
tfMedan.setEditable(false);
tfMedan.setText("");
}
}
private void
cbRamenActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbRamen.isSelected() == true){
tfRamen.setEditable(true);
}
397
else {
tfRamen.setEditable(false);
tfRamen.setText("");
}
}
private void
cbSodaActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbSoda.isSelected() == true){
tfSoda.setEditable(true);
}
else {
tfSoda.setEditable(false);
tfSoda.setText("");
}
}
private void
cbCampurActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbCampur.isSelected() == true){
tfCampur.setEditable(true);
}
else {
tfCampur.setEditable(false);
tfCampur.setText("");
}
}
398
private void
cbTehActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbTeh.isSelected() == true){
tfTeh.setEditable(true);
}
else {
tfTeh.setEditable(false);
tfTeh.setText("");
}
}
private void
cbJerukActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbJeruk.isSelected() == true){
tfJeruk.setEditable(true);
}
else {
tfJeruk.setEditable(false);
tfJeruk.setText("");
}
}
private void
cbKerupukActionPerformed(java.awt.event.ActionEven
t evt) {
if (cbKerupuk.isSelected()==true){
tfKerupuk.setEditable(true);
}
399
else {
tfKerupuk.setEditable(false);
tfKerupuk.setText("");
}
}
// Coding diatas digunakan sebagai :
// Coding dimana apabila checkbox menu di
centang , mengaktifkan text field agar dapat
diedit untuk mengisikan jumlah pesanan
private void
tfAyamKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
private void
tfBangkaKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
400
if(!boleh){evt.setKeyChar((char)0);}
}
private void
tfJawaKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
private void
tfMedanKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
private void
tfRamenKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
401
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
private void
tfSodaKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
private void
tfCampurKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
private void
tfTehKeyTyped(java.awt.event.KeyEvent evt) {
402
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
private void
tfJerukKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
private void
tfKerupukKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
403
private void
tfUangKeyTyped(java.awt.event.KeyEvent evt) {
char[] x=new
char[]{'0','1','2','3','4','5','6','7','8','9'};
boolean boleh=false;
for(int i=0;i<x.length;i++){
if(x[i]==evt.getKeyChar()){
boleh=true;break;}
}
if(!boleh){evt.setKeyChar((char)0);}
}
// Coding diatas digunakan sebagai :
// Pengaturan pada textfield agar hanya
menerima inputan berupa angka ketika
textfield bisa diedit
private void
butTotalActionPerformed(java.awt.event.ActionEvent
evt) {
if (cbAyam.isSelected() == true){
int a = Integer.parseInt(tfAyam.getText())
* 7000;
hargaAyam.setText(""+a);}
else{ hargaAyam.setText("0");
tfAyam.setText("-");
}
if (cbBangka.isSelected() == true){
int b =
Integer.parseInt(tfBangka.getText()) * 9000;
hargaBangka.setText(""+b);}
else{ hargaBangka.setText("0");
404
tfBangka.setText("-");}
if (cbJawa.isSelected() == true){
int c = Integer.parseInt(tfJawa.getText())
* 8500;
hargaJawa.setText(""+c);}
else{ hargaJawa.setText("0");
tfJawa.setText("-");}
if (cbMedan.isSelected() == true){
int d =
Integer.parseInt(tfMedan.getText()) * 9000;
hargaMedan.setText(""+d);}
else{ hargaMedan.setText("0");
tfMedan.setText("-");}
if (cbRamen.isSelected() == true){
int e =
Integer.parseInt(tfRamen.getText()) * 10000;
hargaRamen.setText(""+e);}
else{ hargaRamen.setText("0");
tfRamen.setText("-");}
if (cbSoda.isSelected() == true){
int f = Integer.parseInt(tfSoda.getText())
* 4000;
hargaSoda.setText(""+f);}
else{ hargaSoda.setText("0");
tfSoda.setText("-");}
if (cbCampur.isSelected() == true){
int g =
Integer.parseInt(tfCampur.getText()) * 5000;
hargaCampur.setText(""+g);}
else{ hargaCampur.setText("0");
tfCampur.setText("-");}
if (cbTeh.isSelected() == true){
405
int h = Integer.parseInt(tfTeh.getText())
* 2500;
hargaTeh.setText(""+h);}
else{ hargaTeh.setText("0");
tfTeh.setText("-");}
if (cbJeruk.isSelected() == true){
int i =
Integer.parseInt(tfJeruk.getText()) * 5000;
hargaJeruk.setText(""+i);}
else{ hargaJeruk.setText("0");
tfJeruk.setText("-");}
if (cbKerupuk.isSelected() == true){
int j =
Integer.parseInt(tfKerupuk.getText()) * 1000;
hargaKerupuk.setText(""+j);}
else{ hargaKerupuk.setText("0");
tfKerupuk.setText("-");}
int k =
Integer.parseInt(hargaAyam.getText()) +
Integer.parseInt(hargaBangka.getText())+
Integer.parseInt(hargaJawa.getText())+
Integer.parseInt(hargaMedan.getText())+
Integer.parseInt(hargaRamen.getText())+
Integer.parseInt(hargaSoda.getText())+
Integer.parseInt(hargaCampur.getText())+
Integer.parseInt(hargaTeh.getText()) +
406
Integer.parseInt(hargaJeruk.getText()) +
Integer.parseInt(hargaKerupuk.getText());
tfTotal.setText("Rp"+k+",-");
}
// Coding diatas digunakan sebagai :
// Pengaturan untuk tombol TOTAL HARGA yaitu
menghitung harga tiap pesanan dan jumlah
total harganya serta menampilkannya kedalam
textfield nya masing-masing
private void
butSusukActionPerformed(java.awt.event.ActionEvent
evt) {
int k =
Integer.parseInt(hargaAyam.getText()) +
Integer.parseInt(hargaBangka.getText())+
Integer.parseInt(hargaJawa.getText())+
Integer.parseInt(hargaMedan.getText()+
Integer.parseInt(hargaRamen.getText()))+
Integer.parseInt(hargaSoda.getText())+
Integer.parseInt(hargaCampur.getText())+
Integer.parseInt(hargaTeh.getText()) +
407
Integer.parseInt(hargaJeruk.getText()) +
Integer.parseInt(hargaKerupuk.getText());
int l =
Integer.parseInt(tfUang.getText());
int m = l - k;
if(l >= k){
tfSusuk.setText("Rp" +m+",-");
}
else{
tfSusuk.setText("Uangnya Kuraaaaaaaang
!!!");}
}
// Coding diatas digunakan sebagai :
// Pengaturan untuk tombol KEMBALIAN yaitu
menghitung uang kembalian yang didapat dari
uang yang diisikan yang dikurangi dengan
total harga
private void
butBaruActionPerformed(java.awt.event.ActionEvent
evt) {
tfUang.setText("");
tfSusuk.setText("");
tfTotal.setText("");
tfNama.setText("");
if (cbAyam.isSelected() == true){
cbAyam.setSelected(false);
tfAyam.setEditable(false);
tfAyam.setText("");
408
hargaAyam.setText("");
}
else {tfAyam.setText("");
hargaAyam.setText("");}
if (cbBangka.isSelected() == true){
cbBangka.setSelected(false);
tfBangka.setEditable(false);
tfBangka.setText("");
hargaBangka.setText("");
}
else{tfBangka.setText("");
hargaBangka.setText("");}
if (cbJawa.isSelected() == true){
cbJawa.setSelected(false);
tfJawa.setEditable(false);
tfJawa.setText("");
hargaJawa.setText("");
}
else{tfJawa.setText("");
hargaJawa.setText("");}
if (cbMedan.isSelected() == true){
cbMedan.setSelected(false);
tfMedan.setEditable(false);
tfMedan.setText("");
hargaMedan.setText("");
}
else {tfMedan.setText("");
hargaMedan.setText("");}
if (cbRamen.isSelected() == true){
cbRamen.setSelected(false);
tfRamen.setEditable(false);
tfRamen.setText("");
hargaRamen.setText("");
409
}
else{tfRamen.setText("");
hargaRamen.setText("");}
if (cbSoda.isSelected() == true){
cbSoda.setSelected(false);
tfSoda.setEditable(false);
tfSoda.setText("");
hargaSoda.setText("");
}
else{tfSoda.setText("");
hargaSoda.setText("");}
if (cbCampur.isSelected() == true){
cbCampur.setSelected(false);
tfCampur.setEditable(false);
tfCampur.setText("");
hargaCampur.setText("");
}
else{tfCampur.setText("");
hargaCampur.setText("");}
if (cbTeh.isSelected() == true){
cbTeh.setSelected(false);
tfTeh.setEditable(false);
tfTeh.setText("");
hargaTeh.setText("");
}
else{tfTeh.setText("");
hargaTeh.setText("");}
if (cbJeruk.isSelected() == true){
cbJeruk.setSelected(false);
tfJeruk.setEditable(false);
tfJeruk.setText("");
hargaJeruk.setText("");
}
410
else{tfJeruk.setText("");
hargaJeruk.setText("");
}
if (cbKerupuk.isSelected() == true){
cbKerupuk.setSelected(false);
tfKerupuk.setEditable(false);
tfKerupuk.setText("");
hargaKerupuk.setText("");
}
else{tfKerupuk.setText("");
hargaKerupuk.setText("");
}
}
// Coding diatas digunakan sebagai :
// Pengaturan ketika tombol MULAI BARU di klik ,
akan mengeset semua aksi yg telah dilakukan
sebelumnya .
private void
dataActionPerformed(java.awt.event.ActionEvent
evt) {
System.out.println("-------------------
RUMAH MAKAN MIE-------------------");
Tanggal tgl = new Tanggal();
System.out.println("Pada :
"+tgl.getTanggal());
System.out.println("Pelanggan : "+
tfNama.getText());
System.out.println("Membeli : ");
if (cbAyam.isSelected() == true){
411
System.out.println(tfAyam.getText()+" porsi
mie ayam seharga Rp" +hargaAyam.getText()+",-");
}
if (cbBangka.isSelected() == true){
System.out.println(tfBangka.getText()+"
porsi mie bangka seharga Rp"
+hargaBangka.getText()+",-");
}
if (cbJawa.isSelected() == true){
System.out.println(tfJawa.getText()+" porsi
mie jawa seharga Rp" +hargaJawa.getText()+",-");
}
if (cbMedan.isSelected() == true){
System.out.println(tfMedan.getText()+" porsi
mie medan seharga Rp" +hargaMedan.getText()+",-");
}
if (cbRamen.isSelected() == true){
System.out.println(tfRamen.getText()+" porsi
mie ramen seharga Rp" +hargaRamen.getText()+",-");
}
if (cbSoda.isSelected() == true){
System.out.println(tfSoda.getText()+" soda
seharga Rp" +hargaSoda.getText()+",-");
}
if (cbCampur.isSelected() == true){
System.out.println(tfCampur.getText()+" es
campur seharga Rp" +hargaCampur.getText()+",-");
}
if (cbTeh.isSelected() == true){
System.out.println(tfTeh.getText()+" Teh
seharga Rp" +hargaTeh.getText()+",-");
}
if (cbJeruk.isSelected() == true){
412
System.out.println(tfJeruk.getText()+"
Lemontea seharga Rp" +hargaJeruk.getText()+",-");
}
if (cbKerupuk.isSelected() == true){
System.out.println(tfKerupuk.getText()+"
Kerupuk seharga Rp" +hargaKerupuk.getText()+",-");
}
System.out.println("");
System.out.println("Total Harga :
" +tfTotal.getText()+"");
System.out.println("Uang yang dibayarkan :
Rp" +tfUang.getText()+",-");
System.out.println("Kembalian :
" +tfSusuk.getText()+"");
System.out.println("------------------------
------------------------------");
System.out.println("");
System.out.println("::Terima kasih atas
kunjungannya::");
System.out.println("");
}
// Coding diatas digunakan sebagai :
// Pengaturan ketika tombol STRUK di klik , akan
menampilkan sajian yang telah dibeli
private void
simpanActionPerformed(java.awt.event.ActionEvent
evt) {
jTable1.setValueAt(tfNama.getText(),
baris, 0);
jTable1.setValueAt(tfTotal.getText(),
baris, 1);
413
jTable1.setValueAt(tfUang.getText(),
baris, 2);
jTable1.setValueAt(tfSusuk.getText(),
baris, 3);
baris++;
}
// Coding diatas digunakan sebagai :
// Pengaturan ketika tombol SIMPAN di klik , akan
menyimpan data nama , total harga , uang ,
kembalian kedalam table
private void
hapusActionPerformed(java.awt.event.ActionEvent
evt) {
baris--;
jTable1.setValueAt("", baris, 0);
jTable1.setValueAt("", baris, 1);
jTable1.setValueAt("", baris, 2);
jTable1.setValueAt("", baris, 3);
}
// Coding diatas digunakan sebagai :
// Pengaturan ketika tombol HAPUS di klik akan
menghapus data dalam tabel
private void
butKeluarActionPerformed(java.awt.event.ActionEven
t evt) {
System.exit(0);
}
// Coding diatas digunakan sebagai :
414
// Pengaturan ketika tombol KELUAR di klik , akan
meng-exit-kan program
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new
Runnable() {
public void run() {
new struk().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton butBaru;
private javax.swing.JButton butKeluar;
private javax.swing.JButton butSusuk;
private javax.swing.JButton butTotal;
private javax.swing.JCheckBox cbAyam;
private javax.swing.JCheckBox cbBangka;
private javax.swing.JCheckBox cbCampur;
private javax.swing.JCheckBox cbJawa;
private javax.swing.JCheckBox cbJeruk;
private javax.swing.JCheckBox cbKerupuk;
private javax.swing.JCheckBox cbMedan;
private javax.swing.JCheckBox cbRamen;
private javax.swing.JCheckBox cbSoda;
private javax.swing.JCheckBox cbTeh;
private javax.swing.JTextField hargaAyam;
private javax.swing.JTextField hargaBangka;
private javax.swing.JTextField hargaCampur;
415
private javax.swing.JTextField hargaJawa;
private javax.swing.JTextField hargaJeruk;
private javax.swing.JTextField hargaKerupuk;
private javax.swing.JTextField hargaMedan;
private javax.swing.JTextField hargaRamen;
private javax.swing.JTextField hargaSoda;
private javax.swing.JTextField hargaTeh;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JTable jTable1;
private javax.swing.JButton simpan;
private javax.swing.JButton data;
private javax.swing.JButton hapus;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField tfAyam;
private javax.swing.JTextField tfBangka;
private javax.swing.JTextField tfCampur;
private javax.swing.JTextField tfJawa;
private javax.swing.JTextField tfJeruk;
private javax.swing.JTextField tfKerupuk;
private javax.swing.JTextField tfMedan;
private javax.swing.JTextField tfNama;
private javax.swing.JTextField tfRamen;
private javax.swing.JTextField tfSoda;
private javax.swing.JTextField tfSusuk;
private javax.swing.JTextField tfTeh;
private javax.swing.JTextField tfTotal;
private javax.swing.JTextField tfUang;
416
// End of variables declaration
}
// Coding diatas digunakan sebagai :
// Pendeklarasian variabel untuk masing masing
komponen form yang telah digunakan .
Kelas Tanggal.java :
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
/**
*
* @author RINGGAS
*/
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class Tanggal {
public String getTanggal() {
DateFormat dateFormat = new
SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
return dateFormat.format(date);
}
}
417
4.2. Tampilan Program
Gambar 2 Tampilan awal
Gambar 3 Tampilan mengisi nama dan memilih menu
418
Gambar 4 Tampilan mengisi jumlah pesanan
Gambar 5 Tampilan menekan tombol TOTAL HARGA
419
Gambar 6 Tampilan mengisi uang yang dibayarkan
Gambar 7 Tampilan setelah menekan tombol KEMBALIAN
420
Gambar 8 Tampilan setelah menekan tombol STRUK
Gambar 9 Tampilan setelah menekan tombol SIMPAN
421
Gambar 10 Tampilan sebelum menekan tombol HAPUS
Gambar 10 Tampilan setelah menekan tombol HAPUS
BAB V
422
PENUTUP
5.1. Kesimpulan
1. GUI sangat jelas kaitanya dengan kegiatan penggunaan suatu aplikasi
dalam komputer yang sering digunakan.
2. GUI mempermudah user dalam penggunaannya, dengan tampilan yang
friendly seta ergonomis, user dengan mudah dapat menyesuaikan aplikasi-
aplikasi .
3. GUI membantu didalam interface yang dapat dipahami penggunaannya.
Sehingga antara user dan sistem, tidak terjadi misscommuncation dalam
menerapkan sistem komputerisasi.
5.2. Saran
1. Kuasai dulu bahasa JAVA agar lebih mudah dipahami, penggunaan GUI
pun lebih mudah digunakan .
2. Gunakan JDK versi terbaru agar softwarenya lebih up to date.
423
DAFTAR PUSTAKA
JENI ebook pdf – GUI (Graphical User Interface)
http://id.wikipedia.org/wiki/Java
Kannedy , Eko Kurniawan ,Pemrograman GUI Menggunakan Java dan
NetBeans .2000
424
BIOGRAFI PENULIS
Bagus Lingga Tudanto ( 21120110110033 )
Anak bungsu dari lima bersaudara ini lahir dari pasangan
suami-istri Ignatius Sudarto - Bernadine Sri Hastuti di sebuah
kota di Jawa Tengah yaitu Surakarta pada 25 April 1992 .
Riwayat Pendidikannya adalah TK Santa Theresia Semarang , SD Marsudirini
Gedangan Semarang , SMP Negeri 6 Semarang , SMA Negeri 6 Semarang dan
ketika makalah ini dibuat sedang menempuh pendidikan sebagai Mahasiswa
Fakultas Teknik S1 Sistem Komputer di Universitas Diponegoro
Pembimbing
Andhika Dewanta
NIM 21120110130073
Semarang, 28 Juni 2012
Mengetahui
KoordinatorPraktikum
Noer Tjahja Moekthi P.
NIM L2N009024
425
Makalah Tugas Akhir
Praktikum Dasar Komputer dan Pemrograman
(Babo) Hitung Nilai Gizi Makanan Anda
Anggi Anugraha Putra (21120111120001)
Jurusan Sistem Komputer, Fakultas Teknik, Universitas Diponegoro
Jl. Prof. Sudharto, Tembalang, Semarang, Indonesia
Abstrak – Komputer dan gizi belakang ini menjadi sorotan pemerhati IT,
dimana para pemerhati gizi berusaha membuat suatu program/software mengenai gizi
untuk tujuan tertentu, seperti perhitungan kandungan zat gizi, konsultasi gizi,
pengolahan data dan lain-lain.
Memilih makanan dan melakukan perhitungan kalori dengan tangan dapat
berlangsung cukup lama. Nutrisi perangkat lunak dapat membuat sesuatu lebih
mudah. Dengan program gizi perangkat lunak Anda dapat memilih makanan yang
biasa Anda makan dan menyesuaikan ukuran porsi makanan dalam kelompok
makanan yang berbeda untuk di makan dengan rasio makronutrien yang
diinginkan.
Kebanyakan perangkat lunak program gizi datang dengan database ribuan
makanan. Anda dapat memilih makanan yang Anda makan dengan klik mouse
dan kemudian menyesuaikan ukuran porsi. Anda dapat memasukkan semua
makanan Anda akan makan di makan. Perangkat lunak ini akan menghitung
jumlah kalori serta jumlah protein, karbohidrat, lemak, vitamin dan mineral.
Program Hitung Nilai Gizi Makanan (Babo) perangkat lunak akan
memungkinkan anda untuk memilih makanan yang anda makan dan kemudian
melaporkan nilai gizi dari makanan yang anda pilih.
426
BAB I
PENDAHULUAN
1.1. Latar Belakang
Berawal dari tahun 1970 ketika professor Niklaus Wirth
mengembangkan Bahasa Pascal di Politeknik Zurich, Swiss. Salah satu
Perkembangan itu adalah Bahasa Pemrograman Dhelpi. Yang hasilnya,
Bahasa Pemrograman Dhelpi sudah banyak digunakan pada saat ini. Dhelpi
mendukung pemrograman berbasis Objek, menggunakan bahasa tingkat
tinggi yang yang memungkinkan terjadinya perkembangan secara cepat
(Rapid Aplication Development / RAD). Bahasa Pemrograman Delphi
cukup banyak mendukung server DataBase seperti MySQL, Oracle, SQL
Server dll ygng mempermudah dalam membuat Program yang
menggunakan Database. Ketika Kompilasi program, filenya berupa
executable yang dapat dieksekusi.
Dalam kehidupan sehari-hari kita di zaman sekarang ini kita temukan,
bahwa kita sudah dimudahkan dengan adanya program komputer dalam
melakukan aktifitas kita dalam pekerjaan, termasuk didalam bidang
pembayaran. Salah satu contohnya adalah untuk menhitung nilai gizi
makanan (Babo). Proagram ini memudahkan kita untuk menghitung nilai
gizi makanan yang kita makan secara cepat dibandingkan menghitung
secara manual yang memerlukan waktu relatif lama.
Dengan program gizi perangkat lunak anda dapat memilih makanan
yang biasa anda makan dan menyesuaikan ukuran porsi makanan dalam
kelompok makanan yang berbeda untuk di makan dengan rasio
makronutrien yang diinginkan.
427
1.2. Tujuan
a. Sebagai Tugas Praktikum Dasar Komputer Dan Pemrograman Untuk
menerapkan ilmu yang didapat oleh praktikan selama praktikum
khususnya Pemrograman Delphi.
b. Lebih mengetahui tentang Pemrograman Dhelpi dan Menerapkannya
dengan program sederhana yang dibuat oleh praktikan.
c. Program Babo untuk membantu menhitung nilai gizi makanan dengan
cepat dan mudah.
1.3. Pembatasan Masalah
Dalam pembuatan makalah ini batasan-batasan membahas tentang
program bahasa Delphi dalam aplikasinya di Perhitungan Nilai Gizi
Makanan.
1.5. Sistematika Penulisan
BAB PENDAHULUAN berisi latar belakang masalah, rumusan
masalah, tujuan penulisan, manfaat, batasan masalah, serta sistematika
penulisan.
BAB DASAR TEORI membahas mengenai Mengenal Borland
Delphi 7, Sejarah Borland Delphi 7, dan Kelebihan Borland Delphi
7.
BAB ALGORITMA menguraikan metode yang digunakan dalam
pembuatan program SCENERY, disajikan dalam bentuk Pseudocode
dan Bagan Alir atau Flowchart.
428
BAB ANALISA DAN PEMBAHASAN berisi tentang analisa dan
pembahasan teknis mengenai pengolahan data yang dilakukan oleh
program Babo.
BAB PENUTUP menyajikan kesimpulan dan saran berdasarkan bab
hasil analisa dan pembahasan agar dapat memberikan gambaran
konsep pengembangan program SCENERY.
429
BAB II
DASAR TEORI
2.1. Mengenal Borland Delphi 7
Delphi adalah sebuah bahasa pemrograman visual di lingkungan
windows ( under windows) yang menggunakan bahasa pascal sebagai
Compiler. Keberadaan bahasa pemrograman Delphi tidak bisa dipisahkan
dari bahasa Turbo pascal yang diluncurkan pada tahun 1983 oleh Borland
International Incorporation. Turbo pascal memang dirancang untuk
dijalankan pada operasi DOS (Disk Operating System) yang merupakan
sistem operasi yang banyak digunakan pada saat ini. Seiring dengan
perkembangan zaman, dimana sistem operasi mulai bergeser ke sistem
operasi windows, maka borland International merilis Turbo Pascal for
windows yang dijalankan dibawah sistem operasi windows 3.X.
2.2. Sejarah Borland Delphi 7
pada tahun 1992 muncul bahasa pemrograman baru bernama
Borland Pascal 7 yang merupakan penggabungan dari Turbo Pascal dan
Turbo pascal for windows. Namun ternyata bahasa pemrograman baru
tersebut ternyata masih sulit di gunakan. Trend penggunaan bahasa
pemrograman visual untuk membangun sebuah aplikasi telah mendorong
Borland membuat bahasa pemrograman baru pada tahun 1995
diperkenalkan kepengguna komputer sebuah bahasa pemrograman visual
yang berbasis bahasa pascal. Bahasa pemrograman baru tersebut diberi
nama Borland Delphi setahun kemudian versi ke dua dari delphi dilempar
kepasaran.
Penggunaan delphi dapat mempersingkat waktu pemrograman,
karena anda tidak perlu lagi menuliskan kode program yang rumit dan
panjang untuk menggambar, meletakkan dan mengatur komponen. Selain
itu anda dapat menyusun aplikasi yang lebih interaktif. Delphi menyediakan
430
cukup banyak pilihan komponen interface aplikasi, antara lain berupa
tombol menu, drop down, ataupun menu pop up, kotak text, radio button,
check box, dan sebagainya. Bahkan ada berbagai mascam komponen Skin
tampilan yang beragam yang disediakan oleh beberapa vendor lainnya,
seperti, SUIPack, Sxskincomponents, dan lain sebagainya. Anda tinggal
memilih komponen yang dibutuhkan dengan klik mouse, mengatur
tampilannya kemudian menuliskan sedikit kode program, maka aplikasi
anda siap dijalankan.
Delphi 7.0, versi terbaru yang dikeluarkan oleh Borland, memiliki
support yang sangat tinggi terhadap data base-data base yang sudah terkenal
(seperti MS Accsses, Paradox, Foxpro, Dbase, Oracce, dan lain sebagainya),
dan dilengkapi dengan objek-objek yang baru sehingga memudahkan
pembuatan database maupun program lainnya (Game, Utility dan lainnya).
2.3 Kelebihan Borland Delphi 7
Borland delphi 7.0 merupakan pilihan bagi sebagian kalangan
programmer untuk membuat aplikasi. Hal ini disebabkan kelebihan yang
ada pada borland delphi 7.0 berikut ini beberapa kelebihan borlan delphi 7.0
antara lain :
1. Berbasis Objek Oriented programming, seperti bagian yang ada pada
program dipandang sebagai suatu objek yang mempunyai sifat-sifat yang
dapat diubah dan diatur , sehingga kita dapat membuat tampilan sebuah
program dengan desain kita sendiri tanpa harus membuat codding yang
panjang.
2. Suatu file EXE, setelah anda merancang program pada IDE Delphi akan
mengkomplikasinya pada sebuah file executable tunggal. Program yang
anda buat dapat langsung didistribusikan dan dijalankan pada komputer
lain tanpa perlu menyertakan file lain, kecuali file yang beretensi *.exe
atau Applikasi tersebut membutuhkan file lain seperti database, koneksi
atau file pendukung lainnya.
3. Borland delphi 7.0 hadir bersama borland Kylix 3 yang berbasis Linux,
bila ingin berganti flattform dari Windows ke Linux maka aplikasi yang
431
dibuat di Delphi dapat dijalankan di Kylix 3 yang dikarenakan kedua
produk tersebut merupakan produk Borland.
4. Pengembangan aplikasi secara cepat (Rapid Application Development
/RAD)
5. Menggunakan bahasa tingkat tinggi
6. Delphi menyediakan banyak sekali komponen yang banyak digunakan.
Selain itu banyak juga komponen yang bersumber dari pihak ketiga yang
biasanya disertai dengan dokumentasi, source code dan lain-lain.
432
BAB III
ALGORITMA
3.1. Algoritma Pseudocode
DEKLARASI
total1,protein,lemak,karbo,kalsium,posfor,besi,vita,vitb,vit
c: real;
ALGORITMA
If(jika checkbox bernilai benar)
then begin
jenis makanan ← jenis makanan+kandungan gizi;
(Maka akan hasil akan menampilkan jumlah nilai gizi checkbox
yang bernilai benar)
else if (jika checkbox bernilai salah)
then begin jenis makanan ← jenis makanan-kandungan gizi;
(akan megurangi nilai jumlah gizi)
end;
Mencentang checkbox jenis makanan yang disediakan
Menekan tombol button ok untuk menampilkan hasil nilai gizi makanan
yang dicentang
Menekan tombol button reset untuk mengulangi dan menghapus semua
perhitungan nilai gizi makanan
433
3.2. Algoritma Flowchart
434
BAB IV
ANALISA DAN PEMBAHASAN
4.1. Source Code Program
unit asd;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
Tform1 = class(TForm)
Panel1: TPanel;
Label3: TLabel;
Bevel2: TBevel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Label1: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Label13: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label15: TLabel;
Label21: TLabel;
Label24: TLabel;
435
Label14: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label22: TLabel;
Label23: TLabel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
Button2: TButton;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
CheckBox9: TCheckBox;
CheckBox10: TCheckBox;
CheckBox11: TCheckBox;
CheckBox12: TCheckBox;
Button1: TButton;
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
procedure CheckBox5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure CheckBox6Click(Sender: TObject);
procedure CheckBox7Click(Sender: TObject);
procedure CheckBox8Click(Sender: TObject);
procedure CheckBox9Click(Sender: TObject);
procedure CheckBox10Click(Sender: TObject);
procedure CheckBox11Click(Sender: TObject);
procedure CheckBox12Click(Sender: TObject);
private
{ Private declarations }
436
public
{ Public declarations }
end;
var
Form1: TForm1;
total1,protein,lemak,karbo,kalsium,posfor,besi,vita,vitb,vitc
: real;(Variabel yang digunakan)
implementation
{$R *.dfm}
procedure Tform1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked=true then begin (Jika bernilai benar akan
menampilkan jumlah nilai gizi)
total1:=total1+83;
protein:=protein+2;
lemak:=lemak+0.1;
karbo:=karbo+19.1;
kalsium:=kalsium+11;
posfor:=posfor+56;
besi:=besi+1;
vita:=vita+0;
vitb:=vitb+0.11;
vitc:=vitc+17;
end
else if CheckBox1.Checked=false then begin (Jika bernilai salah
maka akan menampilkan kurang dari jumlah nilai gizi)
total1:=total1-83;
protein:=protein-2;
lemak:=lemak-0.1;
karbo:=karbo-19.1;
kalsium:=kalsium-11;
posfor:=posfor-56;
besi:=besi-1;
vita:=vita-0;
vitb:=vitb-0.11;
437
vitc:=vitc-17;
end;
end;
(Ulangi sampai jenis makanan berikutnya)
procedure Tform1.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked=true then begin
total1:=total1+41;
protein:=protein+2.5;
lemak:=lemak+2.5;
karbo:=karbo+5;
kalsium:=kalsium+50;
posfor:=posfor+45;
besi:=besi+1;
vita:=vita+200;
vitb:=vitb+0.08;
vitc:=vitc+2;
end
else if CheckBox2.Checked=false then begin
total1:=total1-41;
protein:=protein-2.5;
lemak:=lemak-2.5;
karbo:=karbo-5;
kalsium:=kalsium-50;
posfor:=posfor-45;
besi:=besi-1;
vita:=vita-200;
vitb:=vitb-0.08;
vitc:=vitc-2;
end;
end;
procedure Tform1.CheckBox3Click(Sender: TObject);
begin
438
if CheckBox3.Checked=true then begin
total1:=total1+345;
protein:=protein+22.2;
lemak:=lemak+1.2;
karbo:=karbo+62.9;
kalsium:=kalsium+125;
posfor:=posfor+320;
besi:=besi+7;
vita:=vita+157;
vitb:=vitb+0.64;
vitc:=vitc+6;
end
else if CheckBox3.Checked=false then begin
total1:=total1-345;
protein:=protein-22.2;
lemak:=lemak-1.2;
karbo:=karbo-62.9;
kalsium:=kalsium-125;
posfor:=posfor-320;
besi:=besi-7;
vita:=vita-157;
vitb:=vitb-0.64;
vitc:=vitc-6;
end;
end;
procedure Tform1.CheckBox4Click(Sender: TObject);
begin
if CheckBox4.Checked=true then begin
total1:=total1+68;
protein:=protein+7.8;
lemak:=lemak+4.6;
karbo:=karbo+1.6;
kalsium:=kalsium+124;
posfor:=posfor+63;
besi:=besi+1;
vita:=vita+0;
vitb:=vitb+0.06;
vitc:=vitc+0;
439
end
else if CheckBox4.Checked=false then begin
total1:=total1-68;
protein:=protein-7.8;
lemak:=lemak-4.6;
karbo:=karbo-1.6;
kalsium:=kalsium-124;
posfor:=posfor-63;
besi:=besi-1;
vita:=vita-0;
vitb:=vitb-0.06;
vitc:=vitc-0;
end;
end;
procedure Tform1.CheckBox5Click(Sender: TObject);
begin
if CheckBox5.Checked=true then begin
total1:=total1+302;
protein:=protein+18.2;
lemak:=lemak+25;
karbo:=karbo+0;
kalsium:=kalsium+14;
posfor:=posfor+200;
besi:=besi+2;
vita:=vita+810;
vitb:=vitb+0.03;
vitc:=vitc+0;
end
else if CheckBox5.Checked=false then begin
total1:=total1-302;
protein:=protein-18.2;
lemak:=lemak-25;
karbo:=karbo-0;
kalsium:=kalsium-14;
posfor:=posfor-200;
besi:=besi-2;
vita:=vita-810;
vitb:=vitb-0.03;
440
vitc:=vitc-0;
end;
end;
procedure Tform1.Button2Click(Sender: TObject);
begin
edit2.Text:=floattostr(total1);
edit3.Text:=floattostr(protein);
edit4.Text:=floattostr(lemak);
edit5.Text:=floattostr(karbo);
edit6.Text:=floattostr(kalsium);
edit7.Text:=floattostr(posfor);
edit8.Text:=floattostr(besi);
edit9.Text:=floattostr(vita);
edit10.Text:=floattostr(vitb);
edit11.Text:=floattostr(vitc);
end;
procedure Tform1.Button1Click(Sender: TObject);
begin
CheckBox1.Checked:=false;
CheckBox2.Checked:=false;
CheckBox3.Checked:=false;
CheckBox4.Checked:=false;
CheckBox5.Checked:=false;
CheckBox6.Checked:=false;
CheckBox7.Checked:=false;
CheckBox8.Checked:=false;
CheckBox9.Checked:=false;
CheckBox10.Checked:=false;
CheckBox11.Checked:=false;
CheckBox12.Checked:=false;
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='';
441
Edit7.Text:='';
Edit8.Text:='';
Edit9.Text:='';
Edit10.Text:='';
Edit11.Text:='';
end;
procedure Tform1.CheckBox6Click(Sender: TObject);
begin
if CheckBox6.Checked=true then begin
total1:=total1+207;
protein:=protein+18.8;
lemak:=lemak+14;
karbo:=karbo+0;
kalsium:=kalsium+11;
posfor:=posfor+120;
besi:=besi+3;
vita:=vita+30;
vitb:=vitb+0.08;
vitc:=vitc+0;
end
else if CheckBox6.Checked=false then begin
total1:=total1-207;
protein:=protein-18.8;
lemak:=lemak-14;
karbo:=karbo-0;
kalsium:=kalsium-11;
posfor:=posfor-120;
besi:=besi-3;
vita:=vita-30;
vitb:=vitb-0.08;
vitc:=vitc-0;
end;
end;
procedure Tform1.CheckBox7Click(Sender: TObject);
begin
if CheckBox7.Checked=true then begin
total1:=total1+130.7;
442
protein:=protein+2.16;
lemak:=lemak+0;
karbo:=karbo+28.62;
kalsium:=kalsium+3.02;
posfor:=posfor+0.43;
besi:=besi+1.5;
vita:=vita+0;
vitb:=vitb+0;
vitc:=vitc+0;
end
else if CheckBox7.Checked=false then begin
total1:=total1-130.7;
protein:=protein-2.16;
lemak:=lemak-0;
karbo:=karbo-28.62;
kalsium:=kalsium-3.02;
posfor:=posfor-0.43;
besi:=besi-1.5;
vita:=vita-0;
vitb:=vitb-0;
vitc:=vitc-0;
end;
end;
procedure Tform1.CheckBox8Click(Sender: TObject);
begin
if CheckBox8.Checked=true then begin
total1:=total1+154;
protein:=protein+16.6;
lemak:=lemak+9.2;
karbo:=karbo+0;
kalsium:=kalsium+11;
posfor:=posfor+124;
besi:=besi+1;
vita:=vita+0;
vitb:=vitb+0.09;
vitc:=vitc+0;
end
443
else if CheckBox8.Checked=false then begin
total1:=total1-154;
protein:=protein-16.6;
lemak:=lemak-9.2;
karbo:=karbo-0;
kalsium:=kalsium-11;
posfor:=posfor-124;
besi:=besi-1;
vita:=vita-0;
vitb:=vitb-0.09;
vitc:=vitc-0;
end;
end;
procedure Tform1.CheckBox9Click(Sender: TObject);
begin
if CheckBox9.Checked=true then begin
total1:=total1+162;
protein:=protein+12.8;
lemak:=lemak+11.5;
karbo:=karbo+0;
kalsium:=kalsium+54;
posfor:=posfor+180;
besi:=besi+3;
vita:=vita+900;
vitb:=vitb+0.1;
vitc:=vitc+0;
end
else if CheckBox9.Checked=false then begin
total1:=total1-162;
protein:=protein-12.8;
lemak:=lemak-11.5;
karbo:=karbo-0;
kalsium:=kalsium-54;
posfor:=posfor-180;
besi:=besi-3;
vita:=vita-900;
vitb:=vitb-0.1;
vitc:=vitc-0;
444
end;
end;
procedure Tform1.CheckBox10Click(Sender: TObject);
begin
if CheckBox10.Checked=true then begin
total1:=total1+129;
protein:=protein+20;
lemak:=lemak+4.8;
karbo:=karbo+0;
kalsium:=kalsium+20;
posfor:=posfor+150;
besi:=besi+2;
vita:=vita+150;
vitb:=vitb+0.05;
vitc:=vitc+0;
end
else if CheckBox10.Checked=false then begin
total1:=total1-129;
protein:=protein-20;
lemak:=lemak+4.8;
karbo:=karbo-0;
kalsium:=kalsium-20;
posfor:=posfor-150;
besi:=besi-2;
vita:=vita-150;
vitb:=vitb-0.05;
vitc:=vitc-0;
end;
end;
procedure Tform1.CheckBox11Click(Sender: TObject);
begin
if CheckBox11.Checked=true then begin
total1:=total1+75;
protein:=protein+16.1;
lemak:=lemak+0.7;
445
karbo:=karbo+0.1;
kalsium:=kalsium+32;
posfor:=posfor+200;
besi:=besi+1.8;
vita:=vita+0;
vitb:=vitb+0.08;
vitc:=vitc+0;
end
else if CheckBox11.Checked=false then begin
total1:=total1-75;
protein:=protein-16.1;
lemak:=lemak-0.7;
karbo:=karbo-0.1;
kalsium:=kalsium-32;
posfor:=posfor-200;
besi:=besi-1.8;
vita:=vita-0;
vitb:=vitb-0.08;
vitc:=vitc-0;
end;
end;
procedure Tform1.CheckBox12Click(Sender: TObject);
begin
if CheckBox12.Checked=true then begin
total1:=total1+191;
protein:=protein+13.8;
lemak:=lemak+3.8;
karbo:=karbo+14.1;
kalsium:=kalsium+210;
posfor:=posfor+250;
besi:=besi+1;
vita:=vita+200;
vitb:=vitb+0.05;
vitc:=vitc+0;
end
else if CheckBox12.Checked=false then begin
total1:=total1-191;
protein:=protein-13.8;
446
lemak:=lemak-3.8;
karbo:=karbo-14.1;
kalsium:=kalsium-210;
posfor:=posfor-250;
besi:=besi-1;
vita:=vita-200;
vitb:=vitb-0.05;
vitc:=vitc-0;
end;
end;
end.
447
4.2. Tampilan Program
Gambar 1.2 Hasil tampilan awal program
448
Gambar 1.2 Hasil running setelah memilih makanan
449
BAB V
PENUTUP
5.1. Kesimpulan
1. Delphi 7 merupakan salah satu software yang digunakan untuk
membuat suatu program dengan menggunakan bahasa pemrograman
secara console maupun visual berbasis bahasa Pascal.
2. Bahasa delphi merupakan bahasa pemrograman yang cukup mudah
untuk dipahami cara penggunaannya
3. Dalam suatu pemrograman dibutuhkan suatu susunan yang terstruktur
sehingga program tersebut dapat dijalankan dengan lancar.
4. Algoritma dan Flowchart merupakan proses untuk menentukan alur
program yang mendukung agar bahasa pemrograman menjadi
terstruktur.
5. Program Menghitung Nilai Gizi Makanan (Babo) ini bisa
mempermudah setiap orang mengetahui nilai gizi makanannya.
5.2. Saran
1. Apabila mau membuat program, rencanakan dulu model dari program
yang mau dibuat jauh-jauh hari supaya waktu yang dibutuhkan dalam
pembuatan codingnya tidak terlalu tergesa-gesa.
2. Gunakan bahasa yang dirasa mudah untuk dipahami.
450
DAFTAR PUSTAKA
Andris Faisal : Ilmu Tambahan/belajar_IT Mengenal Borland Delphi 7.0.html
Detik Kampung 1. Sejarah Perkembangan Delphi.html
Wikipedia.com
Modul Praktikum Dasar Komputer dan Pemrograman Sistem Komputer 2012
Daftar Komposisi Bahan Makanan Indonesia
451
Makalah Tugas Akhir
Praktikum Dasar Komputer dan Pemrograman
PROGRAM PENJUALAN TIKET KERETAWISATA
Elad Oktarizo (21120111120002)
Jurusan Sistem Komputer, Fakultas Teknik, Universitas Diponegoro
Jl. Prof. Sudharto, Tembalang, Semarang, Indonesia
Abstrak – Pada era globalisasi seperti yang kita rasakan pada zaman
sekarang ini, menuntut kita untuk mengerti dengan terperkembangan teknologi
itu, kita sebagai objek nya terpaksa harus mengikuti perkembangan itu dengan
menggunakan barang-barang atau alat elektronik yang berteknologi itu yang
salah satu tujuannya adalah untuk memudahkan kita dalam beraktivitas
sehari-hari. Sudah banyak kita temukan alat elektronik yang kita temukan
yang meruapakan karya manusia untuk keperluan kita sehari-hari. Alat-alat
itu bukan hanya alat berbentuk fisik, tetapi juga alat berupa program yang kita
gunakan melalui perangkat yang salah satunya dinakan sebagai komputer,
sedangkan program itu sendiri sering kita dengar dengan sebutan Software.
Tapi, hanya menggunakan software saja tidak cukup, manusia akan terus
berusaha mewujudkan apa yang dia inginkan dengan menghubungkan
Software tersebut dengan mesin atau komputer, menterjemahkan dalam
bahasa yang dimengerti oleh mesin atau komputer. Hasilnya sampai saat
sekarang ini, sudah banyak kita temukan bahasa-bahasa yang sudah
diterjemahkan ke bahasa mesin, salahsatunya adalah pemrograman bahasa
Dhelpi yang berbasis Pascal.
Pascal merupakan bahasa dasar yang digunakan Delphi. Bahasa Pascal
dikembangkan pada tahun 1970 oleh professor Niklaus Wirth di Politeknik
Zurich, Swiss. Sampai saat ini sudah banyak kita temukan program dan
aplikasi yang diciptakan menggunakan bahasa Dhelpi dengan alasan bagi
sebagian orang bahasa pemrograman Dhelpi ini cukup mudah untuk dipahami.
Program Penjualan Tiket Kereta Wisata yang dibuat menggunakan Bahasa
Pemrograman Delphi juga mudah untuk digunakan. Operator penjualan hanya
452
perlu memasukkan data pembeli seperti Nama, Alamat, No. Hp/Telepon serta
tanggal pembelian tiketnya. Setelah itu operator bisa menentukan jenis class
gerbong Cuma dengan meng Klik pilihannya saja dan akan keluar berapa
harganya dengan otomatis. Kemudian program akan mengeluarkan
perhitungan pembayarannya seperti halnya pembayaran di supermarket.
453
BAB I
PENDAHULUAN
1.4. Latar Belakang
Berawal dari tahun 1970 ketika professor Niklaus Wirth
mengembangkan Bahasa Pascal di Politeknik Zurich, Swiss. Salah satu
Perkembangan itu adalah Bahasa Pemrograman Dhelpi. Yang hasilnya,
Bahasa Pemrograman Dhelpi sudah banyak digunakan pada saat ini. Dhelpi
mendukung pemrograman berbasis Objek, menggunakan bahasa tingkat
tinggi yang yang memungkinkan terjadinya perkembangan secara cepat
(Rapid Aplication Development / RAD). Bahasa Pemrograman Delphi
cukup banyak mendukung server DataBase seperti MySQL, Oracle, SQL
Server dll yang mempermudah dalam membuat Program yang
menggunakan Database. Ketika Kompilasi program, filenya berupa
executable yang dapat dieksekusi.
Dalam kehidupan sehari-hari kita di zaman sekarang ini kita temukan,
bahwa kita sudah dimudahkan dengan adanya program komputer dalam
melakukan aktifitas kita dalam pekerjaan, termasuk didalam bidang
pembayaran. Salah satu contohnya adalah untuk pembayaran tiket kereta
yang mau kita keli. Program Penjualan Tiket Kereta Wisata ini akan
mempermudah Operator untuk menentukan berapa biaya yang akan dibayar
oleh pembeli. Dan akan dilakukan perhitungan secara otomatis seperti
halnya pembayaran ketika kita membayar di kasir
1.5. Tujuan
Adapun maksud dan tujuan dari penulisan makalah ini adalah
a. Sebagai Tugas Praktikum Dasar Komputer Dan Pemrograman Untuk
menerapkan ilmu yang didapat oleh praktikan selama praktikum
khususnya Pemrograman Delphi.
b. Lebih mengetahui tentang Pemrograman Dhelpi dan Menerapkannya
dengan program sederhana yang dibuat oleh praktikan.
454
1.6. Pembatasan Masalah
Dalam pembuatan makalah ini batasan-batasan membahas tentang
program bahasa Delphi dalam aplikasinya di Program Penjualan Tiket
Kereta Wisata.
1.7. Sistematika Penulisan
Adapun sistematika penulisan laporan praktikum adalah sebagai berikut :
HALAMAN COVER
BAB I PENDAHULUAN
1.1. Latar Belakang
1.2. Tujuan
1.3. Pembatasan Masalah
1.4. Sistematika Penulisan
BAB II DASAR TEORI
2.1 Mengenal Borland Delphi 7
2.2 Sejarah Borland Delphi 7
2.3 Kelebihan Borland Delphi 7
BAB III ALGORITMA
3.1. Algoritma Program
3.2. Flowchart
BAB IV ANALISA DAN PEMBAHASAN
4.1. Source Code Program
4.2. Tampilan Program
BAB V PENUTUP
5.1. Kesimpulan
5.2. Saran
DAFTAR PUSTAKA
455
BAB II
DASAR TEORI
2.3. Mengenal Borland Delphi 7
Delphi adalah sebuah bahasa pemrograman visual di lingkungan
windows ( under windows) yang menggunakan bahasa pascal sebagai
Compiler. Keberadaan bahasa pemrograman Delphi tidak bisa dipisahkan
dari bahasa Turbo pascal yang diluncurkan pada tahun 1983 oleh Borland
International Incorporation. Turbo pascal memang dirancang untuk
dijalankan pada operasi DOS (Disk Operating System) yang merupakan
sistem operasi yang banyak digunakan pada saat ini. Seiring dengan
perkembangan zaman, dimana sistem operasi mulai bergeser ke sistem
operasi windows, maka borland International merilis Turbo Pascal for
windows yang dijalankan dibawah sistem operasi windows 3.X.
2.4. Sejarah Borland Delphi 7
pada tahun 1992 muncul bahasa pemrograman baru bernama
Borland Pascal 7 yang merupakan penggabungan dari Turbo Pascal dan
Turbo pascal for windows. Namun ternyata bahasa pemrograman baru
tersebut ternyata masih sulit di gunakan. Trend penggunaan bahasa
pemrograman visual untuk membangun sebuah aplikasi telah mendorong
Borland membuat bahasa pemrograman baru pada tahun 1995
diperkenalkan kepengguna komputer sebuah bahasa pemrograman visual
yang berbasis bahasa pascal. Bahasa pemrograman baru tersebut diberi
nama Borland Delphi setahun kemudian versi ke dua dari delphi dilempar
kepasaran.
Penggunaan delphi dapat mempersingkat waktu pemrograman,
karena anda tidak perlu lagi menuliskan kode program yang rumit dan
panjang untuk menggambar, meletakkan dan mengatur komponen. Selain
itu anda dapat menyusun aplikasi yang lebih interaktif. Delphi menyediakan
cukup banyak pilihan komponen interface aplikasi, antara lain berupa
tombol menu, drop down, ataupun menu pop up, kotak text, radio button,
456
check box, dan sebagainya. Bahkan ada berbagai mascam komponen Skin
tampilan yang beragam yang disediakan oleh beberapa vendor lainnya,
seperti, SUIPack, Sxskincomponents, dan lain sebagainya. Anda tinggal
memilih komponen yang dibutuhkan dengan klik mouse, mengatur
tampilannya kemudian menuliskan sedikit kode program, maka aplikasi
anda siap dijalankan.
Delphi 7.0, versi terbaru yang dikeluarkan oleh Borland, memiliki
support yang sangat tinggi terhadap data base-data base yang sudah terkenal
(seperti MS Accsses, Paradox, Foxpro, Dbase, Oracce, dan lain sebagainya),
dan dilengkapi dengan objek-objek yang baru sehingga memudahkan
pembuatan database maupun program lainnya (Game, Utility dan lainnya).
2.4 Kelebihan Borland Delphi 7
Borland delphi 7.0 merupakan pilihan bagi sebagian kalangan
programmer untuk membuat aplikasi. Hal ini disebabkan kelebihan yang
ada pada borland delphi 7.0 berikut ini beberapa kelebihan borlan delphi 7.0
antara lain :
7. Berbasis Objek Oriented programming, seperti bagian yang ada pada
program dipandang sebagai suatu objek yang mempunyai sifat-sifat yang
dapat diubah dan diatur , sehingga kita dapat membuat tampilan sebuah
program dengan desain kita sendiri tanpa harus membuat codding yang
panjang.
8. Suatu file EXE, setelah anda merancang program pada IDE Delphi akan
mengkomplikasinya pada sebuah file executable tunggal. Program yang
anda buat dapat langsung didistribusikan dan dijalankan pada komputer
lain tanpa perlu menyertakan file lain, kecuali file yang beretensi *.exe
atau Applikasi tersebut membutuhkan file lain seperti database, koneksi
atau file pendukung lainnya.
9. Borland delphi 7.0 hadir bersama borland Kylix 3 yang berbasis Linux,
bila ingin berganti flattform dari Windows ke Linux maka aplikasi yang
dibuat di Delphi dapat dijalankan di Kylix 3 yang dikarenakan kedua
produk tersebut merupakan produk Borland.
457
10. Pengembangan aplikasi secara cepat (Rapid Application Development
/RAD)
11. Menggunakan bahasa tingkat tinggi
12. Delphi menyediakan banyak sekali komponen yang banyak digunakan.
Selain itu banyak juga komponen yang bersumber dari pihak ketiga yang
biasanya disertai dengan dokumentasi, source code dan lain-lain.
13. Mendukung banyak database server (MySQL, SQL Server, interbase,
Oracle Dll) sehingga dapat mempermudah dalam membuat aplikasi data
base.
458
BAB III
ALGORITMA
3.3. Algoritma Pseudocode
Mengisikan nama pembeli ke teks edit Nama pembeli
Meng Klik Date times picker untuk memilih tanggal pembelian
Mengisikan alamat pembeli ke teks edit Alamat untuk mendata alamat
pembeli
Mengisikan no. HP / Telp ke teks edit no. HP/ Telp untuk mencatat
nomor yang bisa dihubungi
Mencentang check box untuk menentukan kelas gerbong kereta
Menekan button Lakukan Pembayaran untuk perintah melakukan
pembayaran
Mengisikan nominal pada edit teks Pembayaran untuk memasukkan
uang yang kita bayarkan
Menekan button Bayar untuk melakukan pembayaran dan mengetahui
jumlah kembalian uang jikalau uang kita berlebih
Menekan button Cetak Tiket untuk mencetak data yang telah
dimasukkan
Menekan button simpan data untuk menyimpan data yang telah di
inputkan
Menekan button lihat data untuk melihat kembali data yang telah
disimpan
Menekan button kembali untuk kembali ke menu awal (pengisian data)
Menekan button Hapus untuk menghapus data yang telah dimasukkan /
memulai baru untuk pembeli selanjutnya.
Menekan button keluar untuk keluar dari program tersebut.
459
3.4. Algoritma Flowchart
Gambar 1.1 Diagram flowchart program
460
BAB IV
ANALISA DAN PEMBAHASAN
4.3. Source Code Program
a. Unit 1 (Tugas_Akhir_DKP.pas)
unit TugasAkhirDKP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Panel1: TPanel;
Caa: TCheckBox;
Cab: TCheckBox;
Cac: TCheckBox;
Cba: TComboBox;
Cbb: TComboBox;
Cbc: TComboBox;
Eaa: TEdit;
Eab: TEdit;
Eaf: TEdit;
Eae: TEdit;
Ead: TEdit;
Eac: TEdit;
Taa: TButton;
Tab: TButton;
Tac: TButton;
461
Bevel2: TBevel;
Button1: TButton;
Label7: TLabel;
Edit1: TEdit;
Label8: TLabel;
DateTimePicker1: TDateTimePicker;
Label9: TLabel;
Edit2: TEdit;
Label10: TLabel;
Edit3: TEdit;
Button2: TButton;
Bevel3: TBevel;
Bevel4: TBevel;
Bevel1: TBevel;
procedure CaaClick(Sender: TObject);
procedure CbaChange(Sender: TObject);
procedure CabClick(Sender: TObject);
procedure CbbChange(Sender: TObject);
procedure CacClick(Sender: TObject);
procedure CbcChange(Sender: TObject);
procedure TacClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TaaClick(Sender: TObject);
procedure TabClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit3;
462
{$R *.dfm}
{mendeskripsikan apabila kita menKlik pada Check Box dan
Menentukan jumlah tiket yang akan dipesan, maka akan keluar
jumlah biaya yang harus kita bayar}
procedure TForm1.CaaClick(Sender: TObject);
begin
if Caa.Checked=true then
Cba.Enabled:=true
else
Cba.Enabled:=false;
Cba.Text:='0';
Eaa.Text:='0';
if Caa.Checked=true then
Eaa.Enabled:=true
else
Eaa.Enabled:=false;
if Caa.Checked=true then
Taa.Visible:=true
else
Taa.Visible:=false;
end;
{mendeskripsikan apabila yang kita klik Check Box untuk kelas
executive, maka berapa jumlah tiket yang kita pilih akan
dikalikan dengan 45000 (harga tiket)}
procedure TForm1.CbaChange(Sender: TObject);
var
jumlah,harga : integer;
begin
jumlah:=StrToInt (Cba.Text);
harga:=jumlah*45000;
Eaa.Text:=IntToStr (harga);
end;
{mendeskripsikan apabila kita menKlik pada Check Box dan
Menentukan jumlah tiket yang akan dipesan, maka akan keluar
jumlah biaya yang harus kita bayar}
463
procedure TForm1.CabClick(Sender: TObject);
begin
if Cab.Checked=true then
Cbb.Enabled:=true
else
Cbb.Enabled:=false;
Cbb.Text:='0';
Eab.Text:='0';
if Caa.Checked=true then
Eab.Enabled:=true
else
Eab.Enabled:=false;
if Cab.Checked=true then
Taa.Visible:=true
else
Taa.Visible:=false;
end;
{mendeskripsikan apabila yang kita klik Check Box untuk kelas
bisnis, maka berapa jumlah tiket yang kita pilih akan
dikalikan dengan 30000 (harga tiket)}
procedure TForm1.CbbChange(Sender: TObject);
var
jumlah,harga : integer;
begin
jumlah:=StrToInt (Cbb.Text);
harga:=jumlah*30000;
Eab.Text:=IntToStr (harga);
end;
procedure TForm1.CacClick(Sender: TObject);
begin
if Cac.Checked=true then
Cbc.Enabled:=true
else
Cbc.Enabled:=false;
Cbc.Text:='0';
Eac.Text:='0';
464
if Cac.Checked=true then
Eac.Enabled:=true
else
Eac.Enabled:=false;
if Cac.Checked=true then
Taa.Visible:=true
else
Taa.Visible:=false;
end;
{mendeskripsikan apabila yang kita klik Check Box untuk kelas
ekonomi, maka berapa jumlah tiket yang kita pilih akan
dikalikan dengan 15000 (harga tiket)}
procedure TForm1.CbcChange(Sender: TObject);
var
jumlah,harga : integer;
begin
jumlah:=StrToInt (Cbc.Text);
harga:=jumlah*15000;
Eac.Text:=IntToStr (harga);
end;
procedure TForm1.TacClick(Sender: TObject);
begin
Caa.Checked:=false;
Cba.Text:='0';
Cab.Checked:=false;
Cbb.Text:='0';
Cac.Checked:=false;
Cbc.Text:='0';
Eac.Text:='0';
Ead.Text:='0';
Eae.Text:='0';
Eaf.Text:='0';
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
end;
465
{mendeskripsikan apabila kita menekan Button “Lakukan
Pembayaran” maka akan ditampilkan jumlah biaya yang harus
kita bayar dari tiket yang kita pesan}
procedure TForm1.Button1Click(Sender: TObject);
var
executive,bisnis,ekonomi, total : integer;
begin
executive:=StrToInt(Eaa.Text);
bisnis:=StrToInt(Eab.Text);
ekonomi:=StrToInt(Eac.Text);
total:=executive+bisnis+ekonomi;
Ead.text:=IntToStr(total);
end;
{mendeskripsikan ketika kita menekan Button Bayar, sebelum
menekan button tersebut kita diharuskan untuk memasukkan
jumlah nominal yang akan kita bayarkan, setelah itu baru
tekan button tersebut, maka apabila uang kita ada
kembaliannya, akan ditampilkan di kotak kembalian}
procedure TForm1.TaaClick(Sender: TObject);
var
total,bayar,kembalian : integer;
begin
total:=StrToInt(Ead.Text);
bayar:=StrToInt(Eae.Text);
kembalian:=bayar-total;
Eaf.Text:=IntToStr(kembalian);
End;
end.
466
b. Unit 2 (File Unit2.pas)
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Panel1: TPanel;
Panel2: TPanel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
467
{mendeskripsikan apabila tombol cetak tiket ditekan maka
akan tampil form baru yang didalamnya terdapat tampilan
data-data yang sebelumnya kita masukkan}
procedure TForm2.Button1Click(Sender: TObject);
begin
form2.hide;
end;
end.
c. Unit 3 (File Unit3.pas)
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Panel1: TPanel;
Panel2: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
468
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit4;
{$R *.dfm}
{mendeskripsikan apabila button2 : simpan data diklik, maka
data – data yang dimasukkan di awal akan tersimpan secara
otomatis, dan kita bisa mengulang kembali pengisian data
pembeli dengan men klik button1 : OK dan setelah beberapa
data tersimpan dan kita ingin melihat data tersebut, maka
bisa dengan men klik buuton3 : lihat data dan semua data
yang telah dimasukkan akan ditampilkan kembali}
procedure TForm2.Button1Click(Sender: TObject);
begin
form2.Hide;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
form4.listbox1.items.add('nama pembeli :' + Label1.Caption);
form4.listbox1.items.add('Tanggal pembelian :' +
Label5.Caption);
form4.ListBox1.Items.add('alamat pembeli :' +
label2.Caption);
form4.listBox1.Items.add('No. HP / Telp :' +
Label3.Caption);
469
form4.ListBox1.Items.Add('total :' + label4.caption);
form4.ListBox1.Items.Add('');
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
form2.Hide;
form4.Show;
end;
end.
470
4.4. Tampilan Program
Gambar 1.2 Hasil running awal program
Gambar 1.3 Tampilan setelah mengisi Data Pembeli Tiket
471
Gambar 1.4 Tampilan setelah mengisi kelas Gerbong
Gamnar 1.5 Setelah klik tombol „Lakukan Pembayaran‟
472
Gambar 1.6 Tampilan setelah memasukkan pembayaran dan Klik tombol „Bayar‟
Gambar 1.7 Tampilan Form2 (Hasil Tiket)
473
Gambar 1.8 Tampilan Form3 (Hasil penyimpanan data Tiket)
474
BAB V
PENUTUP
5.3. Kesimpulan
6. Delphi 7 merupakan salah satu software yang digunakan untuk
membuat suatu program dengan menggunakan bahasa pemrograman
secara console maupun visual berbasis bahasa Pascal.
7. Bahasa delphi merupakan bahasa pemrograman yang cukup mudah
untuk dipahami cara penggunaannya
8. Dalam suatu pemrograman dibutuhkan suatu susunan yang terstruktur
sehingga program tersebut dapat dijalankan dengan lancar.
9. Algoritma dan Flowchart merupakan proses untuk menentukan alur
program yang mendukung agar bahasa pemrograman menjadi
terstruktur.
10. Program Penjualan Tiket Kereta Wisata ini bisa mempermudah operator
dalam melayani pelanggan.
5.4. Saran
3. Apabila mau membuat program, rencanakan dulu model dari program
yang mau dibuat jauh-jauh hari supaya waktu yang dibutuhkan dalam
pembuatan codingnya tidak terlalu tergesa-gesa.
4. Gunakan bahasa yang dirasa mdah untuk dipahami.
475
DAFTAR PUSTAKA
Andris Faisal : Ilmu Tambahan/belajar_IT Mengenal Borland Delphi 7.0.html
Detik Kampung 1. Sejarah Perkembangan Delphi.html
Wikipedia.com
Modul Praktikum Dasar Komputer dan Pemrograman Sistem Komputer 2012
476
BIOGRAFI PENULIS
Seorang Anak yang bernama Elad Oktarizo lahir di
kota solok Sumatera Barat pada tanggal 6 Oktober 1993.
Anak ke-2 dari 3 bersaudara yang terdiri dari 1 orang saudara
laki-laki dan 1 orang saudara perempuan. Penulis yang
merupakan pemuda berdarah Minang Kabau menghabiskan
masa kecil di Kota solok. Riwayat pendidikan penulis dimulai
dari pendidikan Sekolah Dasar di SD N 10 VI Suku Kota Solok Sumatera Barat
pada tahun 1999 , setelah itu penulis melanjutkan pendidikan di SMP N 3 Kota
Solok pada tahun 2005 dan tamat pada tahun 2008, setelah itu penulis
melanjutkan pendidikan lagi ke SMA N 3 Kota Solok. Dan Alhamdulillah
sekarang ini penulis sedang menjalani rutinitas sebagai mahasiswa di Universitas
Diponegoro Semarang.
Pembimbing
Agus Subkhi Hermawan
NIM L2N009038
Mengetahui
Koordinator Praktikum
Noer Tjahja Moekthi P.
NIM L2N009024