• Tidak ada hasil yang ditemukan

2. TEORI PENUNJANG. Operasi VIII. 1 Dikutip dari wawancara dengan Bpk. Sudarsono dari humas PT. Kereta Api Persero Daerah

N/A
N/A
Protected

Academic year: 2021

Membagikan "2. TEORI PENUNJANG. Operasi VIII. 1 Dikutip dari wawancara dengan Bpk. Sudarsono dari humas PT. Kereta Api Persero Daerah"

Copied!
11
0
0

Teks penuh

(1)

2. TEORI PENUNJANG

Dalam bab ini akan diberikan pembahasan mengenai Teori Antrian yang digunakan dalam simulasi, teknik dasar pemrograman menggunakan Java dan akses database.

2.1. Teori Antrian

Antrian adalah suatu keadaan sistem pelayanan dimana waktu kedatangan (?) lebih besar daripada waktu pelayanan (µ).Contoh suatu antrian adalah pelayanan di bank, di mana waktu kedatangan nasabah (?) lebih besar daripada waktu pelayanan teller (µ), sehingga akan menyebabkan terjadinya antrian.

Dalam sistem antrian kereta api, waktu pelayanan adalah waktu yang diperlukan sebuah kereta api untuk melalui satu jalur, sedangkan waktu kedatangan adalah waktu kedatangan dari kereta yang lain untuk menggunakan jalur yang sedang digunakan.

Dalam sistem pelayanan jalur kereta api berlaku suatu aturan 1“Satu jalur kereta api hanya boleh dilalui oleh satu kereta api.” Hal ini berarti jika dalam satu jalur terdapat sebuah kereta api yang melaju dengan kecepatan x km/jam, maka tidak diperbolehkan adanya kereta api lain melaju kearah yang sama walaupun kecepatannya kurang dari x km/jam. Oleh sebab itu kereta api yang kedua harus menunggu di stasiun terdekat untuk antri mendapatkan pelayanan.

Ada beberapa macam sistem antrian yang sering digunakan, yaitu: o FCFS (First Come, First Served), pelayanan didasarkan pada waktu

kedatangan, contoh sistem: antrian loket atau kasir.

o LCFS (Last Come, First Served), contoh sistem: stack pada data minimum sistem (push - pull).

1

Dikutip dari wawancara dengan Bpk. Sudarsono dari humas PT. Kereta Api Persero Daerah Operasi VIII.

(2)

o RR (Round Robin), pelayanan diberikan untuk jangka waktu tertentu saja, kemudian dialihkan pada yang lainnya. Contoh sistem: pararel jobs pada sistem komputer.

o SPT (Shortest Processing Time First), pelayanan didahulukan untuk pekerjaan yang memakan waktu lebih sedikit.

o Priority, pelayanan didasarkan pada prioritas.

Untuk mengatasi antrian yang paling terpenting adalah menyiapkan ruang tunggu (buffer) yang memadai. Selain itu beberapa cara berikut ini juga dapat digunakan untuk mengatasi masalah antrian:

o Menambah jumlah pelayanan

Menambah jumlah pelayanan dalam topik antrian kereta api adalah dengan menambah jumlah rel yang sudah ada. Hal ini tidak efisien, karena biaya yang digunakan sangat besar.

o Mempercepat waktu pelayanan

Mempercepat waktu pelayanan berarti menambah kecepatan kereta untuk melewati jalur yang padat. Cara ini dapat menjadi salah satu alternatif mengurangi antrian, tetapi beresiko cukup tinggi.

2.2. Java

2.2.1. Pengenalan Java

Bahasa pemrograman dikenal ada 3 macam, yaitu:

? Machine Language

Machine languange adalah bahasa pemrograman mesin yang terdiri dari angka

biner 1 dan 0. Sekumpulan angka 1 dan 0 tersebut diterjemahkan sebagai suatu instruksi untuk melakukan sesuatu oleh mesin/komputer.

? Low Level Languange

Bahasa pemrograman yang setingkat diatas Machine Language karena menggunakan 1 atau 2 kata seperti add, mov atau jump. Digunakannya bahasa yang dikenal manusia itu adalah untuk mempermudah melakukan pemrograman.

(3)

? High Level Languange

Bahasa pemrograman yang sudah tinggi tingkatannya dan apabila sudah dibuat dalam satu program akan dapat dengan mudah di-trace ulang oleh penggunanya. Sebagai contoh dalam Java: System.out.println(“Hello World”); Java adalah salah satu bahasa pemrograman dengan High Level

Languange yang dikembangkan oleh Sun Microsystems. Teknik dasar

pemrograman Java memiliki kemiripan dengan bahasa pemrograman C++. Karena keduanya memiliki akar yang bisa dibilang sama. Serta pemrogramannya berorientasi pada object (object oriented programming). Java juga memiliki banyak library package yang sangat berguna dalam penulisan program.

Sebuah kompiler dari bahasa pemrograman bekerja dengan cara merubah bahasa pemrograman menjadi machine languange untuk kemudian diteruskan pada CPU untuk diproses dan dijalankan. Setiap jenis CPU memiliki machine languange yang berbeda-beda, seperti Intel menggunakan SPARC processor. Java memiliki kelebihan yaitu menterjemahkan program kedalam machine languange untuk digunakan pada “Java Virtual Machine”, sehingga Java bekerja tidak langsung pada CPU, tetapi melalui JVM.

Keuntungannya adalah Java dapat dijalankan di CPU yang berbeda-beda serta operating system yang berbeda pula, perhatikan gambar 2.1 berikut ini:

Gambar 2.1 Java Platform

JAVA Virtual Machine myProgram.java JAVA API

Hardware-Based Platform

JAVA Platform

(4)

2.2.2 Object-Oriented Programming

Ide dasar dari pemrograman berorientasi pada object adalah mengkombinasikan data dan fungsi untuk mengakses data menjadi satu kesatuan unit yang dikenal dengan nama object. Setiap object didesain sesuai dengan fungsinya masing-masing untuk mengolah data, sebagai contoh, dalam kehidupan sehari-hari yaitu dalam perkantoran, tiap pegawai memiliki fungsi masing-masing, seperti manajer, sekretaris, marketing, dan lainnya. Apabila seorang manajer memerlukan data tentang janji yang dibuatnya, maka yang harus dihubungi oleh manajer adalah object sekretaris. Jika memerlukan data-data penjualan yang dihubungi adalah object marketing.

Setiap object, tiap object memiliki fungsi masing-masing. Untuk lebih memperjelas gambaran tentang object yang berisi data dan fungsi dapat diperhatikan pada gambar 2.2 berikut:

Gambar 2.2 Contoh Object dan Fungsi

Pewarisan Hubungan Kerja Data Fungsi 1 Fungsi 2 Pegawai Data a Fungsi a Fungsi b Manajer Data b Fungsi c Fungsi d Sekretaris Data c Fungsi e Fungsi f Marketing Data d Fungsi g Fungsi h Marketing

(5)

Pada pemrograman berorientasi object data yang terdapat pada tiap

object disebut sebagai Variabel Instants, sedangkan fungsi yang dimiliki disebut

dengan Method. Setiap statement program harus diletakkan di dalam method dan setiap method berada di dalam class. Kumpulan dari class disebut dengan

package.

Pada Pemrograman berorientasi object, ada tiga karakteristik utama yang dimiliki, yaitu:

a. Encapsulation

Encaptulation adalah pengemasan variabel dan method dalam satu object,

dimana variabel tidak lagi diperlakukan sebagai data saja, melainkan mempunyai kedudukan sama dengan method, dan dapat diakses seperti

method.

b. Inheritance (pewarisan)

Karakteristik yang penting dalam pembentukan object adalah Inheritence. Sebuah object dapat dibuat dengan melakukan pewarisan sifat-sifat dari suatu

object, seperti pada gambar 2.2 di mana object manajer, sekretaris dan

marketing adalah turunan dari object pegawai. Jadi sifat-sifat dasar yang dimiliki oleh pegawai dimiliki juga oleh object turunannya.

Object yang mewarisi sifat-sifat dari object atasannya bisa saja memiliki method yang tidak dimiliki oleh atasannya. Fungsi-fungsi sebagai marketing

tidak dimiliki oleh object pegawai dan object sekretaris memiliki fungsi sebagai sekretaris.

c. Polymorphism

Polymorphism adalah suatu method yang memiliki fungsi yang sama, tetapi

pemanggilan method memiliki fungsi yang berbeda, sebagai contoh: - gambar(int x, int y); : method untuk menggambar titik

- gambar(int x, int y, int r); : method untuk menggambar lingkaran - gambar(int x, int y, int x2, int y2); : method untuk menggambar garis

(6)

Beberapa hal yang mungkin dapat membingungkan adalah method dalam sebuah class dapat dijalankan oleh class lain dengan meng-create object dari class yang memiliki method tersebut, perhatikan contoh berikut ini:

public class Calculation{ Class Calculation

public int tambah(int a, int b){ Method tambah, fungsi menambah int a dan int b return (a+b); Karena public int, berarti harus ada nilai return }

public void cetak(String a){ Method untuk mencetak String a System.out.println(a); Mencetak a

} }

public class ProgramUtama{ Class ProgramUtama

Calculation cal = new Calculation(); Create object dari class Calculation public static void main(String[] args){ Main constructor

int a = cal.tambah(10,15); Tambahkan nilai 10 dan 15 cal.cetak(“” + a); Cetak Nilai tambah 10 dan 15 }

}

Contoh diatas terdiri dari 2 class, yaitu Calculation dan ProgramUtama. Class ProramUtama memiliki main constructor yang dijalankan pertama kali. Program kemudian meng-create object cal dari class Calculation untuk mendapatkan fungsi dari object cal yaitu method tambah dan method cetak.

Pada class ProgramUtama terdapat method: “public static void main(String[] args)”, method ini adalah method yang pertama kali dijalankan dalam suatu package yang di compile. Parameter “String[] args” adalah bagian yang diperlukan dalam method main. Kata “static” mengartikan bahwa main

method tidak akan mengubah object dalam class ProgramUtama. Kata “void”

mengartikan bahwa method ini tidak akan mengembalikan nilai apapun, sedangkan main sendiri harus static.

(7)

2.2.3 Access Modifier

Pada setiap method atau variabel terdapat access modifier (didepan setiap method atau variabel). Fungsi access modifier adalah memberikan autoritas untuk mengakses method atau variabel tersebut. Ada 4 (empat) macam access

modifier yaitu: default (no modifier), private, public dan protected. Fungsi access modifier didalam satu package berbeda dengan jika sebuah package diakses dari

luar package itu.

Pada tabel 2.1 berikut akan dijelaskan perbedaan fungsi access modifier untuk didalam satu package dan diluar package.

Tabel 2.1 Access Modifier

Antar Class Dalam Satu

Packages Diluar Satu Packages Access Modifier

Dapat

Diturunkan Dapat Diakses

Dapat

Diturunkan Dapat Diakses

Default (no modifier) Ya Ya Tidak Tidak

Private Tidak Tidak Tidak Tidak

Public Ya Ya Ya Ya

Protected Ya Ya Ya Tidak

Untuk mengakses sebuah package digunakan constructor import <package name>. Sebagai contoh: <import java.util.*;> artinya semua class dalam package java.util dapat diakses dari package yang sudah mengimpornya, dengan memperhatikan access modifier-nya. Letak constructor import adalah diatas constructor class.

2.2.4 Thread

Dalam package java.lang terdapat sebuah class penting yang digunakan dalam simulasi ini, yaitu Thread. Sebagai contoh untuk memberikan gambaran kegunaan dari class Thread yaitu seseorang yang sedang menerima telepon tetapi ia sedang mencatat dalam memonya dan juga menunggui sebuah mesin fotocopy didepannya. Proses yang dilakukan oleh orang tersebut disebut multiple task karena ia melakukan lebih dari satu tugas dalam waktu bersamaan.

(8)

Suatu program umum hanya dapat melakukan satu pekerjaan dalam satu waktu disebut dengan sequential access, sebaliknya Java memiliki kemampuan untuk melakukan multiple task dengan class Thread nya. Untuk dapat menggunakan fasilitas ini, sebuah class dapat meng-implement atau meng-extends

class Thread dalam package java.lang. Untuk menjalankan Thread, suatu class

harus memiliki method run(). Apabila method ini dijalankan, maka object dari

class tersebut dapat berdiri independent tanpa menunggu perintah dari object

lainnya.

2.2.5 Graphical User Interface

Graphical User Interface (GUI) adalah sebuah tampilan yang digunakan

untuk berinteraksi dengan pengguna software. Dalam Java, package dari GUI dapat ditemukan pada javax.Swing atau java.AWT. Java menyediakan sebuah tampilan GUI yang cukup menarik dan mudah digunakan, karena sudah di buat dalam package-package yang di dalamnya terdapat banyak object-object yang dapat digunakan dengan mudah.

Untuk dapat menampilkan GUI, sebuah object harus meng-implement atau meng-extends Jframe dari package javax.swing dan untuk memberikan

Action Handling (menangkap tindakan yang dilakukan oleh pengguna) method

dalam java.AWT dapat digunakan.

2.2.6 Java Database Connectivity (JDBC)

Untuk melakukan koneksi antara Java dan database digunakan JdbcOdbcDriver. Berikut adalah 8 prosedur sederhana untuk melakukan koneksi pada database:

a) Keluarkan Driver Class dengan menggunakan method Class.forName

Class c = Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

b) Create object Connection dari java.sql dan lakukan koneksi dengan menggunakan method DriverManager.getConnection()

String dbURL = “Jdbc:Odbc:<ODBC data source name>”;

Connection con = DriverManager.getConnection(dbURL, name, pass);

c) Create object Statement dan gunakan method createStatement

(9)

d) Create object ResultSet dari java.sql dan gunakan method dari Statement yaitu executeQuery() untuk mendapatkan data dari database

ResultSet rS = stmt.executeQuery(“SELECT * FROM MyTable”);

e) Ambil data yang terdapat dalam ResultSet f) Tutup ResultSet

g) Tutup Statement h) Tutup Connection

Penting untuk dilakukan yaitu melakukan method Connection.close agar integrity data dapat dijaga dengan baik.

2.3. Database System

Penyimpanan data-data dapat dilakukan dengan beberapa cara, antara lain dengan cara langsung menyimpan dan mengenskrip data pada sebuah file. Kelemahan terbesar adalah diperlukan suatu proses pengambilan seluruh data sebelum data akan dipilah untuk kemudian dirubah atau dihapus. Metode lain untuk melakukan penyimpanan data adalah menggunakan suatu sistem database di mana proses pencarian/perubahan data dapat dilakukan dengan mudah hanya dengan menggunakan satu query.

Database adalah sekumpulan koleksi data serta media penyimpanannya

dan sistem manajemen database yaitu DBMS (Database Management System) yang mengontrol penyimpanan, pengambilan dan pengguna data. Untuk mengakses data dalam sistem database, ada beberapa software yang sering digunakan, antara lain: Microsoft Access, Sysbase, Oracle, Informix dan Microsoft SQL Server.

Keuntungan yang didapatkan dengan menggunakan sistem database antara lain:

- Data dapat di digunakan oleh lebih dari satu pengguna (shared)

- Ada standarisasi sistem sehingga data dapat dipertukarkan antar sistem operasi melalui DBMS.

(10)

- Keutuhan data dapat dijaga dalam artian data yang diakses oleh banyak pengguna diatur oleh DBMS dan dijamin integritas dan sinkronisasi perubahan datanya.

Salah satu keuntungan paling besar dengan penggunaan database adalah proses

sharing data di mana data dapat diakses langsung oleh lebih dari satu pengguna.

Dalam database dikenal istilah SQL, yaitu semacam bahasa pemrograman sederhana untuk melakukan proses dalam database, dikenal juga dengan sebutan query. Berikut adalah beberapa query yang digunakan dalam SQL

? SELECT

Digunakan untuk mengambil data dari sebuah tabel, bentuk query-nya:

SELECT <fields name> FROM <table name>

contoh penggunaan:

SELECT * FROM MyTable

SELECT Name, Address FROM MyTable

? INSERT

Digunakan untuk menambahkan data dalam sebuah tabel, bentuk query-nya:

INSERT INTO <table name> (fields name) VALUES (fields values)

contoh penggunaan:

INSERT INTO MyTable (Name, Address, Phone) VALUES (‘Alfred’, ’Ad 23’, Null)

? UPDATE

Digunakan untuk merubah data dalam sebuah tabel, bentuk query-nya:

UPDATE <table name> SET <field name> WHERE <clause>

contoh penggunaan:

UPDATE MyTable SET Name = ‘Andrew’ WHERE Id = ‘2312’

? DELETE

Digunakan untuk menghapus data dalam sebuah tabel, bentuk query-nya:

DELETE FROM <table name> WHERE <clause>

contoh penggunaan:

DELETE FROM MyTable WHERE Id = ‘123’

? WHERE

Digunakan untuk memilah data, bentuk query-nya:

(11)

Statement WHERE digunakan dengan penggabungan dengan statement lain, perhatikan contoh pada statement UPDATE dan DELETE

Gambar

Gambar 2.1 Java Platform
Gambar 2.2 Contoh Object dan Fungsi
Tabel 2.1 Access Modifier

Referensi

Dokumen terkait

Imajući to u vidu, oslanjajući se na postojeće teorijsko-metodo- loške i empirijske rezultate, u ovom radu se analizi- raju efikasnosti poslovanja, finansijske performanse i

Pendidikan karakter yang ditanamkan pada anak sejak usia dini, tidak dapat dilaksanakan oleh guru di lembaga pendidikan anak usia dini saja, tetapi orang tua

Kebanyakan proses komunikasi interpersonal orang tua yang memiliki tingkat pendidikan menengah terhadap anak mengenai pendidikan seks dapat dikatakan lebih terbuka

Keanekaragaman Reptil Untuk Pengembangan Ekowisata Pada Hutan Pegunungan Bawah Di Kompleks Gunung Bulusaraung Taman Nasional Bantimurung Bulusaraung.. Dibawah bimbingan

Jika dengan tiga teknik yang digunakan tersebut didapatkan data yang berbeda, maka peneliti akan melakukan diskusi lebih lanjut kepada subjek yang bersangkutan atau

Adanya pengaruh antara kompetensi pedagogik terhadap kinerja guru, ini sejalan dengan hasil penelitian yang dilakukan oleh Beni Habibi (2013) bahwa kompetensi

Näiden kahden kaupunkiseudun kasvusopimus- ja INKA-haun valmistelua tarkastelemalla saadaan rakennettua kuvaa näistä uusista sopimusinstrumenteista sekä niiden vastaanotosta

Peranan notaris dalam pembuatan akta pembagian harta suarang di Minangkabau terbilang masih sedikit dikarenakan adanya kedudukan lain yang lebih tinggi dari Notaris yaitu