5
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
Menurut munir (2011:13) mengemukakan bahwa “Bahasa pemograman
adalah bahasa computer yang digunakan dalam menulis program.” Untuk bahasa
pemograman dibagi beberapa bagian tingkatan yaitu:
1. Bahasa Mesin (Machine Language)
Bahasa pemograman hanya dapat dimengerti oleh mesin computer yang
didalamnya terdapat Central Processing Unit (CPU) yang hanya mengenal
dua keadaan yang berlawan yaitu:
a) Bila terjadi kontak atau ada arus bernilai 1.
b) Bila tidak terjadi kontak atau arus bernila
2. Bahasa Tingkat Rendah (Low Level Langueage)
Karena banyak keterbatasan yang dimiliki bahasa mesin maka dibuatlah
simbol yang mudah diingat yang disebut dengan Mnemonic (pembantu
untuk mengingat).
Contoh : Bahasa Assembler, yang dapat menerjemahkan Mnemonic.
3. Bahasa Tingkat Menengah (Middle Level Language)
Bahasa pemograman yang menggunakan aturan gramatikal dalam
penulisan pernyataanya, mudah untuk dipahami dan memiliki intruksi-
intruksi tertntu yang dapat langsung diakses oleh computer.
Contoh : Bahasa C#
6
4. Bahasa Tingkat Tinggi (High Level Language)
Bahasa pemograman yang dalam penulisannya mudah dipahami secara
langsung.
a) Bahasa berorientasi pada prosedur (Procedure Oriented
Language)
Contoh : Fortran, Pascal, Algoritma, Cobol, Basic.
b) Bahasa berorientasi pada masalah (Problem Oriented Language)
Contoh : Report Program Generator (RPG).
Menurut Binanto (2009:1) kata program dan pemrograman dapat
diartikan sebagai berikut:
1. Mendeskripsikan instruksi-instruksi tersendiri yang biasanya disebut source
code yang dibuat oleh programmer.
2. Mendeskripsikan suatu keseluruhan bagian dari software yang executable.
3. Program merupakan himpunan atau kumpulan instruksi tertulis yang dibuat
oleh programmer atau suatu bagian executable dari suatu software.
4. Pemrograman berarti membuat program komputer. Pemrograman
merupakan suatu kumpulan urutan perintah ke komputer untuk
mengerjakan sesuatu. Perintah-perintah ini membutuhkan suatu bahasa
tersendiri yang dapat dimengerti oleh komputer.
Menurut Kurniadi (2011:267) mengemukakan bahwa “Dalam konsep
programming kode-kode program diletakkan terpisah-pisah. Tidak seperti linear
programming dimana kode-kode program dituliskan dalam satu tempat , pada
modular programming kode-kode program letaknya tersebar. Tergantung ”.
7
2.1.1. Pengertian Bahasa C
Menurut nugroho (2013:8) C# adalah “bahasa pemrograman baru yang
diciptakan oleh Microsoft (dikembangkan di bawah kepemimpinan anders
heljsberg yang notabene juga telah menciptakan berbagai macam bahasa
pemrograman termasuk Borland turbo C++ dan Borland Delphi)”. Bahasa C# juga
telah distandarisasi secara internasional oleh ECMA.
Seperti halnya bahasa pemrograman lain, C# bisa digunakan untuk
membangun berbagai jenis aplikasi berbasis windows (desktop), aplikasi berbasis
web, serta aplikasi berbasis web services.
Beberapa alasan kenapa developer memilih C#, yaitu :
1. Sederhana
C# bersifat sederhana karena bahasa ini didasarkan kepada bahasa C dan
C++.jika anda familiar dengan C dan C++, atau bahkan java, anda akan
menemukan aspek aspek yang begitu familiar seperti statement, expression,
operator, dan beberapa fungsi yang diadopsi langsung dari java, C, dan C++,
tetapi dengan berbagai perbaikan yang membuat bahasanya lebih sederhana.
2. Modern
C# adalah suatu bahasa yang modern karena memiliki beberapa fitur
seperti, exception handling, garbage collection, extensible data types, dan code
security. Adanya fitur fitur tersebut menjadikan bahasa C# sebagai bahasa
pemrograman yang modern.
8
3. Object-Oriented Language
Kunci dari bahasa pemrograman yang bersifat object-oriented language,
adalah encapsulation, inheritance, dan polymorphism. Secara sederhana, istilah-
istilah tersebut bisa didefinisikan sebagai berikut :
a. Encapsulation
Penempatan semua fungsi dalam satu paket.
b. Inheritance
Suatu cara yang terstruktur dari penggunaan ulang suatu kode-kode
pemrograman fungsi untuk menjadi sebuah program baru dan
berbentuk suatu paket.
c. Polymorphism
Kemampuan untuk mengadaptasi apa yang diperlukan untuk
dikerjakan.
4. Powerfull dan Fleksibel
C# bisa digunakan untuk membuat berbagai macam aplikasi, seperti
aplikasi pengolah kata, grafik, spreadsheets, atau bahkan membuat compiler
untuk sebuah bahasa pemrograman.
5. Efisien
C# adalah bahasa pemrograman yang mengunakan jumlah kata-kata yang
tidak terlalu banyak. C# hanya berisi kata-kata yang biasa disebut dengan
keyword. Keyword ini digunakan untuk menjelaskan berbagai macam informasi.
9
Tabel II.1. Daftar keyword pada bahasa C Sharp (C#)
Abstract As Base Bool Break
Break Case Catch Char Checked
Class Const Continue Decimal Default
Delevate Do Double Else Enum
Event Explicit Extern False Finaly
Fixed Float For Foreach
Goto If Implicit In Int
Interface Internal Is Lock Long
Namespace New Null Object Operator
Out Override Params Private Protected
Public Readonly Ref Return Sbyte
Sealed Short Sizeof Stackalloc
Static String Struct Switch This
Throw True Try Typeof Uint
Ulong Unchecked Unsafe Ushort Using
Virtual Void While
Sumber : https://www.codepolitan.com 6. Modular
Kode C# ditulis dengan pembagian masing class-class yang terdiri dari
beberapa routines yang disebut sebagai member methods. Class-class dan
metode metode ini dapat digunakan kembali oleh program atau aplikasi lain.
Menurut Kurniadi (2011:267) mengemukakan bahwa “Dalam konsep
programming kode-kode program diletakkan terpisah-pisah. Tidak seperti linear
programming dimana kode-kode program dituliskan dalam satu tempat , pada
modular programming kode-kode program letaknya tersebar. Tergantung ”.
2.1.2. Integrated Development Environtment (IDE) Pada C
Dalam mengembangkan aplikasi ataupun fungsi-fungsi lain yang berbasis
C#, kita perlu IDE (Integrated Development Environment) untuk membantu
pekerjaan kita. Di Windows kita dapat menggunakan Visual Studio
10
yangmemiliki fitur yang sangat lengkap. Akan tetapi tidak semua dari kita
memakai OS (Operating System) Windows dan memiliki kapasitas harddisk
yang memadai karena perlu diketahui Visual Studio ini sangat memakan
tempat di harddisk kita. Karena itu ada IDE alternatif Visual Studio yaitu
Xamarin Studio yang bisa dipakai lintas platform yang fiturnya menurut saya
tidak kalah hebatnya dengan Visual Studio dan lebih dari cukup untuk
membangun aplikasi C#. Selain itu ada juga tool seperti SharpDevelop namun
sepertinya hanya bisa untuk platform Windows. Mungkin bagi pengguna
yang memakai OS selain windows dapat memakai Monountuk pengganti
.NET Framework.
Sebenarnya penulis sendiri lebih suka menggunakan Sharp Develop
karena mengingat spesifikasi laptop yang memiliki processor Atom dan
dipersenjatai harddisk sebesar 18 GB, selain itu juga Sharp Develop juga
mudah digunakan oleh pemula seperti saya. Jadi kesimpulannya untuk
platform Windows kamu bisa memilih dari ketiga itu atau mau semuanya
juga terserah, akan tetapi untuk OS Mac OS X dan Linux kamu hanya
dapat memakai Xamarin Studio.
2.1.3. Struktur Kode Program Pada C
Dalam pemrograman C# (kemungkin juga berlaku untuk beberapa
pemrograman lainnya) memiliki 5 struktur dasar yang harus diingat yaitu,
1. Resource atau library
11
Struktur pertama ini merupakan pendefinisian library apa yang harus ada
pada program kita atau library apa yang kita impor.
2. Namespace
Struktur kedua ini adalah nama dari project kita.
3. Nama Class
Struktur ketiga ini berbicara tentang apa nama dari Class yang kita buat
dan bisa juga langsung diberi penanda seperti Main Class yang menandakan
bahwa Class tersebut Class utama.
4. Deklarasi Method
Struktur keempat ini merupakan pendeklarasian method sebagai awalan
untuk menjalankan method atau perintah yang ada di dalamnya, jika
didefinisikan dengan "Main" maka method tersebut yang dijalankan pertama
kali oleh compiler.
5. Method atau Command
Struktur kelima adalah method atau perintah yang kita berikan untuk di
eksekusi oleh compiler. Ketentuan dalam mendefinisikan variable Kita
13
bebas dalam menamakan variabel sesuai kehendak kita, namun tetap ada
ketentuan dalam mendefinisikan yaitu, Pertama awalan variable tidak boleh
angka. Kedua tidak boleh mengandung karakter khusus seperti $, #,%,+,- dan
sebagainya. Ketiga tidak boleh ada variabel yang memiliki spasi seperti "na
ma". Jadi kesimpulannya gunakan nama variabel yang aman seperti; nama,
nama1, nama_ , nama_depan
2.1.4. Tipe Data Pada C
Tipe data dalam C# secara sederhana digambarkan seperti pada skema
berikut,
Sumber: https://www.codepolitan.com,
Gambar II.1. Skema Tipe Data Pada Bahasa C
Pada skema diatas memang tidak ada string karena berbeda dari tipe data
diatas, jika digambarkan maka string berada diatas skema tersebut.
Yang pertama kita akan membahas tipe data primitive yang terdiri atas
numeric, character, boolean. Dan tipe data composite terdiri atas array,
13
record, image, date time, lainnya (subrange, enumerasi, dll). Berikut
merupakan tabel secara lengkap dari tipe data integral ini.
Tabel II.2. Tipe Data Integral Pada Bahasa C
Sumber: https://www.codepolitan.com
Dasar dari tipe data integral sebenarnya hanya ada empat yaitu
byte, short, int, long yang semuanya tipe data angka tanpa desimal dan
memiliki panjang cakupan angka yang berbeda. Lalu kenapa ada tipe data
char yang jelas-jelas bukan angka ? Ini dikarenakan suatu huruf oleh
komputer pada dasarnya dapat dimasukkan ke bilangan tunggal, sehingga
char akan disamakan dengan tipe data integral. Kemudian saat kita
menggunakan tipe data char maka komputer tahu untuk harus
memperlakukan char sebagai sebuah huruf, sehingga ketika kita ingin
menampilkan suatu char yang muncul adalah huruf dan bukan angka.
Contoh tipe data int selain char int a = 3400 ,byte b = 340 untuk long
dan short sama, hanya saja beda rentang seperti pada tabel yang
13
ditunjukkan. Kemudian untuk char contohnya char a = 'a' dengan
tanda petik satu, yang mana berbeda dengan string yang tanda petik dua.
Kemudian yang kedua kita berlanjut ke tipe data Floating Point dan
Decimal , berikut merupakan tabel dari tipe data tersebut.
Tabel II.3. Tipe Data Floating Point dan Decimal Pada Bahasa C
Sumber: https://www.codepolitan.com
Tipe data yang kedua ini sangat berhubungan dengan angka desimal,
sehingga jika kamu mau menggunakan angka yang memiliki koma harus
memakai tipe data ini. Contohnya double a = 1.34234 kemudian float
b = 2.321f (Untuk float belakangnya harus diberi "f") dan decimal c =
3.232m (Untuk decimal belakangnya harus diberi "m" atau "M").
Kemudian lanjut yang ketiga yaitu tipe data boolean dan string, tipe data
boolean hanya mengandung True dan False sama seperti pada bilangan
biner yang hanya memiliki nilai 1 dan 0. Contoh tipe data boolean adalah
bool a = 3 < 2 maka akan menghasilkan nilai False, namun jika
tandanya dibalik menjadi ">" akan menghasilkan nilai True. Lalu tipe data
string
seperti yang telah dijelaskan sebelumnya merupakan tipe data yang berupa
teks seperti "Hello World", "Belajar C#" dan sebagainya.
16
2.1.5. Operator Dasar Pada C
Operator dasar dalam C# terbagi atas + ,- , *, / dan %. Operator + adalah
operator pertambahan seperti int a = 3 + 4 = 7. Operator - adalah
operator pengurangan seperti int a = 5 - 4 = 1. Operator * adalah
operator perkalian seperti int a = 3 * 4 = 12. Operator / adalah operator
pembagian seperti int a = 8 / 4 = 2. Operator % adalah operator modulus
seperti int a = 5 % 4 = 1 .
2.1.6. Visual Studio 2010 C#.Net
Visual Studio 2010 C#.Net ialah satu set lengkap alat pengembangan
untuk membangun aplikasi Web ASP.NET, XML Web Services, aplikasi desktop,
dan aplikasi mobile. Visual Basic, Visual C #, dan Visual C ++ menggunakan
lingkungan pengembangan terintegrasi yang sama (IDE), yang memungkinkan
alat berbagi dan memudahkan terciptanya solusi bahasa campuran. Selain itu,
bahasa ini menggunakan fungsionalitas .
NET Framework, yang menyediakan akses ke teknologi kunci yang
mempermudah pengembangan aplikasi Web ASP dan XML Web Services.
Ada beberapa fitur baru pada micrusosft visual studio 2010 diantaranya :
1. Dynamic support
Visual C # 2010 memberikan dukungan untuk pengikatan akhir pada tipe
dinamis dengan mengenalkan tipe baru, dinamis. Penambahan ini
memungkinkan banyak skenario baru, termasuk akses yang
disederhanakan ke API COM seperti API Otomasi Kantor, ke API dinamis
seperti perpustakaan IronPython, dan ke HTML Document Object Model
(DOM)
16
2. Office Programmibility
Akses ke antarmuka COM, termasuk API Otomatisasi Kantor,
sangat ditingkatkan dengan penambahan argumen bernama dan opsional,
tipe dinamis, properti terindeks, dan pengubah ref opsional.
3. Type Equivalence Support
Anda sekarang dapat menerapkan aplikasi yang memiliki informasi
jenis yang disematkan, bukan informasi jenis yang diimpor dari Primary
Interop Assembly (PIA). Dengan informasi tipe tertanam, aplikasi Anda
dapat menggunakan jenis dari sebuah perakitan tanpa memerlukan rujukan
perakitan runtime atau Primary Interop Assembly (PIA). Jika berbagai
versi perakitan runtime diterbitkan, aplikasi yang berisi informasi tipe
tertanam dapat bekerja dengan versi yang berbeda tanpa harus dikompilasi
ulang.
4. Covariance and Contravariance
Kovarian memungkinkan pengguna menggunakan jenis yang lebih
turun dari yang ditentukan oleh parameter generik, sedangkan kontradiksi
memungkinkan pengguna menggunakan jenis turunan yang lebih rendah.
Hal ini memungkinkan konversi implisit kelas yang mengimplementasikan
varian interface dan memberikan fleksibilitas yang lebih besar untuk
mencocokkan tanda tangan metode dengan tipe delegasi varian.
Antarmuka dan delegasi varian dapat dibuat dengan menggunakan kata
kunci bahasa dan kata kunci yang baru. The .NET Framework juga
memperkenalkan variasi dukungan untuk beberapa antarmuka generik dan
delegasi yang ada
18
1. Sistem operasi yang didukung
a) Windows Server 2008 R2 (berbasis x64).
b) Windows 7 (berbasis x86 dan x64).
c) Windows Server 2008 (semua edisi berbasis x86 dan berbasis x64)
Bersama sama dengan Paket Layanan 2.
d) Windows Vista (semua x86-x64 berbasis dan edisi kecuali Starter
Edition) bersama-sama dengan Paket Layanan 2.
e) Windows Server 2003 R2 (semua edisi x86-x64 berbasis dan).
f) Windows Server 2003 (semua x86-semua x64 berbasis dan edisi)
bersama-sama dengan Paket Layanan 2.
Catatan Anda harus memiliki MSXML 6.0 diinstal untuk menerapkan
paket layanan ini pada komputer yang menjalankan Windows Server
2003. Untuk informasi selengkapnya tentang cara mendapatkan MSXML
6.0, kunjungi website Microsoft berikut:
1) Microsoft Core XML Services (MSXML) 6.0
2) Windows XP Service Pack 2 (SP2) atau versi Windows XP
3) Windows XP (semua berbasis x86 edisi kecuali edisi Starter)
bersama-sama dengan Paket Layanan 3
2. Arsitektur didukung
a. 32-bit (x86)
b. (x64) 64-bit (WOW)
3. Persyaratan perangkat keras
a. 1.6 gigahertz (GHz) atau prosesor yang lebih cepat
18
b. 1.024 MB RAM (1.5 GB jika menjalankan mesin virtual)
c. 5.5 GB ruang hard disk yang tersedia
d. Kandar keras 5.400 RPM
e. DirectX 9-mampu kartu video yang berjalan di 1.024 × 768 atau
tampilan resolusi yang lebih tinggi
2.1.7. Framework.NET
Menurut nugroho (2013:1) Framework.NET “menyediakan semua jenis
tools dan teknologi yang diperlukan untuk membangun sebuah aplikasi
terdistribusi. Penyediaan tools yang dapat digunakan secara bebas dan diterapkan
pada semua model di tingkatan yang sama pada suatu aplikasi.
Dengan menggunakan framework ini, maka bahasa-bahasa pemrograman
yang ada di dalam teknologi .NET dapat saling berkomunikasi, misalnya kode-
kode yang ditulis dalam bahasa Visual Basic dapat terkomunikasi dengan kode-
kode yang ditulis dalam bahasa C#, Framework.NET didesain untuk dapat
memenuhi beberapa tujuan berikut ini :
1. Menyediakan lingkungan kerja yang konsisten bagi bahasa
pemrograman yang berorientasin objek, baik kode objek itu disimpan
dan dieksekusi secara local, atau dieksekusi secara local tetapi
didistribusikan melalui internet atau jarak jauh.
2. Menyediaan lingkungan kerja dalam pengeksekusian kode yang dapat
meminimalisasi proses penyebaran software dan menghindari konflik
penggunaan versi software yang dibuat.
19
3. Menyediakan lingkungan kerja yag aman dalam hal pengeksekusian
kode.
4. Menyediakan lingkungan kerja yang dapat mengurangi masalah pada
persoalan perforrna dari kode atau dari lingkungan interpreternya.
5. Membuat para developer lebih mudah mengembangkan berbagai
macam jenis aplikasi yang lebih bervariasi, seperti aplikasi berbasis
windows dan aplikasi berbasis web.
6. Membangun semua komunikasi yang ada di dalam standar industri
yang memastikan bahwa semua kode aplikasi yang berbasis
Framework.NET dapat berintegrasi dengan berbagai macam kode
aplikasi lain.
Sebagai salah satu sarana untuk memenuhi kebutuhan dengan tujuan
diatas, maka berbagai macam bahasa perograman dibangun, agar dapat
digunakan dan dijalankan diatas platform Framework.NET. Beberapa bahasa
pemrograman tersebut tersedia dalam Microsoft Visual Studio.NET, yaitu : Visual
Basic, C#, J#, C++, Perl, ASP, dan lain-lain.
2.2. Peralatan Pendukung (Program) Suatu program yang baik, akan membutuhkan peralatan pendukung untuk
menunjang keberhasilan program itu sendiri dan untuk menjelaskan kepada
pengguna fungsi dari suatu aplikasi yang dapat bekerja dengan suatu bentuk
logika yang digambarkan dengan symbol-simbo. Peralatan pendukung yang
digunakan dalam pembuatan program ini adalah sebagai berikut:
20
2.2.1. Diagram Alir (Flowchart)
Menurut Kadir (2012:12) “diagram alur (flowchart) adalah suatu
standar untuk mengembangkan suatu peroses. Setiap langkah dalam
algoritma dinyatakan dengan sebuah simbol dan aliran setiap langkah
(dari suatu langkah ke langkah yang lain) dinyatakan dengan garis yang
dilengkapi panah.”
Flowchart tersebut terdiri dari tiga alur data yaitu pembacaan atau
pemasukan data (input), komputasi perhitungan terhadap data tersebut
(process) dan menampilkan hasilnya (output). Struktur standart terdiri dari
tiga komponen sebagai berikut.
1. Struktur Squence (Linear)
Diagram yang alurnya mengalir secara berurutan dari atas kebawah atau
dengan kata lain tidak adanya percabangan atau pengulangan.
2. Struktur Brancing (Bercabang)
Diagram ini terjadi atau terdapat alih kontrol berupa percabangan,
digunakan untuk meyeleksi kondisi dan menentukan pilihan proses
selanjutnya.
3. Struktur Looping (Perulangan)
Flowchart dengan struktur perulangan dan digunakan untuk mengulangi
langkah-langkah sebulumnya sampai kondisi terpenuhi.
2.2.2. HIPO
20
Menurut Jogiyanto (2007:787) “HIPO (Hierarchy plus inputoproces-
Output) merupakan metodologi yang dikembangkan dan didukung oleh
21
IBM”. Tetapi saat ini HIPO juga banyak di gunakan sebagai alat desain
dan teknik dokumentasi dalam siklus pengembangan sistem. Fungsi
utamanya adalah sebagai berikut:
1. Untuk menyediakan su atau struktur guna memahami fungsi-fungsi dari
system untuk lebih menekankan fungsi-fungsi yang harus di selesaikan
oleh program yang digunakan untuk melaksanakan fungsi tersebut.
2. Untuk menyediakan penjelasan yang jelas dari input yang harus
digunakan dan output yang dihasilkan oleh masing-masing fungsi tiap-
tiap tingkatan dari diagram-diagram HIPO.
3. Untuk menyediakan output yang tepat dan sesuai dengan kebutuhan
pemakai.
Jenis-jenis Diagram dalam paket HIPO berisi tiga jenis diagram, yaitu :
a. Daftar isi Visual/Visual Tabel of Contents (VTOC), yang terdiri dari
satu diagram hirarki atau lebih. Visual Tabel of Contents
menggambarkan seluruh program HIPO baik rinci maupun ringkasan
yang tersetuktur. Pada diagram ini nama dan nomor dari program
HIPO diidentifikasi. Struktur paket diagram dan hubungan fungsi juga
diidentifikasi dalam bentuk hirarki. Keterangan masing-masing fungsi
diberikan pada bagian penjelasan yang diikut sertakan dalam diagram
ini.
22
Sumber: https://www.codepolitan.com Gambar II.2. Visual Table of Contents
b. Diagram ringkas/Overview Diagram yaitu seri diagram fungsional.
Masing-masing diagram dihubungkan dengan salah satu fung sisistem.
Diagram ringkasan menggambarkan fungsi dan referensi utama dari
suatu sistem. Fungsi dan referensi ini di perlukan oleh program untuk
memperluas fungsi sampai uraian yang terkecil. Diagram ini berisi
input, proses dan output dari fungsi khusus.
Input pada diagram ini berisi item-item data yang dipakai oleh proses,
sedangkan proses merupakan urutan langkah-langkah yang menjelaskan
fungsi yang sedang dijalankan untuk menghasilkan suatu output. Output
berisikan item-item data yang dihasilkan dan diubah oleh proses.
Anak panah pada diagram ringkasan dari input ke proses menunjukan
hubungan antara item data di input dan langkah-langkah proses,
sedangkan anak panah dari proses ke output menunjukan hubungan
tahap-tahap proses dan item data output.
21
6
Penjelasan tentang tahap-tahap proses, item data input dan output
diberikan pada bagian extended description. Penjelasan ini juga
mengarah pada diagram yang lebih rendah, kode dan dokumentasi non-
HIPO.
Sumber: https://www.codepolitan.com, Gambar II.3. Overview Diagram
c. Diagram rincian/ detail diagram yaitu suatu seri dengan fungsional dan
masing-masing diagram dihubungkan dengan sebuah sub-fungsi
sistem. Diagram rinci merupakan diagram yang paling rendah dalam
diagram yang terdapat dalam paket HIPO. Diagram rinci berisi unsur-
unsur paket dasar. Fungsi dari diagram ini adalah menjelaskan fungsi-
fungsi khusus, menunjukan item-item output dan input yang khusus
dan menunjukan diagram rinci lainnya.