Sunday, November 27, 2016

Design Pattern - Interpreter

Pada post ini, saya akan membahas tentang salah satu Design Pattern yaitu Interpreter. Sebelumnya, apa itu "design pattern"? Design pattern adalah suatu bentuk solusi untuk menyelesaikan masalah yang sering kali dijumpai ketika mengembangkan suatu perangkat lunak, terutama yang menggunakan Object Oriented Programming (OOP) dalam proses pembuatannya, Dalam sejarahnya, sangat banyak design pattern yang dikembangkan untuk menyelsaikan beragam masalah. Salah satu yang paling populer adalah kumpulan design pattern yang dirancang oleh Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides pada  tahun 1994 yang ditulis dalam sebuah buku berjudul Design Patterns - Elements of Reusable Object-Oriented Software. Dalam buku tersebut, ada dua puluh tiga macam jenis design pattern yang memiliki ciri-ciri dan kegunaan masing-masing, salah satunya adalah design pattern "Interpreter".

A.  Penjelasan Singkat

 Interpreter adalah salah satu jenis design pattern yang cara kerjanya adalah menerjemahkan (interpreting) suatu kalimat atau ekspresi menjadi sebuah masukkan yang akan menghasilkan perilaku tertentu. Design pattern ini digunakan dalam sistem yang dimana menerjemahkan suatu kalimat menjadi sangat vital dalam fungsi kerjanya, seperti dalam penrjemahan perintah SQL, dimana inputnya merupakan sebuah kalimat utuh.

B. Contoh Struktur (Class Diagram) yang Digunakan

Untuk lebih jelasnya, kita akan mencoba membuat sebuah struktur program sebuah interpreter sederhana dan mengimplementasikannya menjadi sebuah program jadi dalam bahasa Java. Disini akan digunakan contoh dari Tutorialspoint (di sini). Struktur program yang akan kita buat dalam bentuk class diagram dapat dilihat sebagai berikut:



























Dalam contoh tersebut kita akan membuat sebuah program sederhana yang dapat menerjemahkan expresi logika "or" dan "and" Kelas utama dalam program ini adalah kelas InterpreterPatternDemo yang didalamnya terdapat fungsi main dari program ini. Kelas tersebut akan menggunakan kelas Expression, TerminalExpression, OrExpression, dan AndExpression. Kelas TerminalExpression, OrExpression, dan AndExpression merupakan turunan dari kelas Expression.

C. Source Code

Untuk source code yang digunakan dalam contoh ini dapat dilihat di sini atau dari sumbernya di Tutorialspoint (di sini)

D. Contoh Output

Dari source code pada link di atas, akan dihasilkan output sebagai berikut:


(Catatan: dalam contoh ini, input dan aturan dalam "or dan "and" sudah di-hardcode dalam program)

Sumber:
- https://www.tutorialspoint.com/design_pattern
- https://www.tutorialspoint.com/design_pattern/interpreter_pattern.htm


Wednesday, November 2, 2016

Struktur Kerja JNE In More Depth


Pada post yang sebelumnya (di sini), sudah dibahas mengenai visi-misi, organigram, dan SOP yang digunakan oleh JNE. Pada post saya kali ini, saya akan membahas tentang sistem informasi yang sudah dan dapat digunakan oleh JNE dan teknologi informasi yang sudah dan dapat digunakan.

A. Sistem Informasi yang Digunakan
Sistem informasi yang digunakan terbagi kedalam dua kelompok besar, yaitu Operating Support System dan Management Support System

1. Operating Support System

Operating Support System adalah sistem informasi yang digunakan untuk mendukung keperluan operasional suatu perusahaan. Operating Support System dibagi lagi menjadi beberapa bagian sebagai berikut:

a. Transaction Process System

JNE dalam melakukan transaksi menggunakan form pengiriman bernama AWB yang dicetak dari komputer. Form AWB berisikan informasi yang berkaitan dengan barang dan pengiriman. Selain itu data AWB juga masuk dalam sistem Cash Register untuk menyimpan data transaksi perharinya per petugas konter.

b. Enterprise Control System

JNE selain memiliki kantor cabang per kotanya, juga memiliki kios kios kecil yang ikut menerima dan menyerahkan kiriman barang dari dan ke pelanggan. Untuk melayani hal tersebut, Sistem JNE yang dimiliki oleh kios-kios kecil juga ikut terhubung oleh kantor cabang JNE pada setiap kota.

c. Process Control System

JNE memiliki system informasi yang mengelola barang, transaksi, dan informasi pengiriman yaitu My Orion. My Orion ini digunakan baik oleh petugas maupun pelanggan. Pelanggan dapat mengetahui informasi pengiriman barang melalui situs resmi JNE yang terhubung dengan My Orion. Transaksi yang terjadi perhari dikumpulkan terlebih dahulu untuk kemudian dimasukkan ke My Orion oleh petugas.

2. Management Support System

Managament Support System adalah sistem informasi yang digunakan untuk menunjang keperluan manajemen perusahaan. Management Support System juga dibagi menjadi beberapa bagian sebagai berikut:

a. Management Information System

JNE memiliki My Orion yang menyimpan informasi berguna seperti aktifitas pengiriman barang dari berbagai cabang sehingga dapat digunakan untuk mengukur kinerja dari suatu cabang maupun satu keseluruhan JNE itu sendiri, informasi ini tentunya bias dilihat oleh direktur-direktur dikantor pusat maupun pengurus dikantor cabang itu sendiri.

b. Decision Support System

Karena My Orion dapat menyimpan aktifitas pengiriman barang dan dapat mengukur kinerja dari suatu cabang maupun JNE secara keseluruhan, maka informasi dalam My Orion dapat digunakan sebagai bahan evaluasi perusahaan dan pengambilan keputusan suatu perusahaan. Contohnya dengan penutupan cabang merugikan ataupun pembukaan cabang baru.

c. Information Reporting System
Untuk keperluan pelaporan, My Orion juga dapat digunakan untuk melaporkan proses kegiatan kirim mengirim barang. Sementara untuk keperluan pelaporan pada proses  kerja internal perusahaan, JNE masih menggunakan berbagai jenis form dalam bentuk fisik.

d. Excecutive Information System
Untuk Excecutive Information Sysrem, JNE dapat menggunakan sistem yang memungkinkan setiap bidang kerja pada kantor pusat untuk dapat memantau kinerja setiap kantor cabang

C. Teknologi Informasi yang Digunakan
Untuk mendukung sistem informasi di atas, tentunya harus digunakan pula teknologi yang sesuai. Berikut adalah daftar perangkat yang dapat dan sudah digunakan oleh sistem informasi milik JNE:

1. Teknologi masukan (Input Technology)
a. Barcode Scanner
Untuk memindai barcode yang tercetak pada AWB, sehingga informasi pada suatu paket dapat dicari tanpa perlu memasukkan informasi ke computer secara manual (mengetik)

b. Mouse dan Keyboard
Untuk memasukkan input pada Personal Computer (PC) milik Counter

c. Sistem Point of Sales (POS)
Sistem Point of Sales dapat digunakan juga untuk sistem ini sebagai alternatif untuk semakin memudahkan proses transaksi.

2. Teknologi Pengeluaran (Output Technology)
a. Printer
Untuk mencetak berbagai jenis form yang digunakan, termasuk form AWB pada konter

3. Teknologi Perangkat Lunak (Software Technology)
a. My Orion
Merupakan sistem informasi utama yang dimiliki oleh JNE untuk memonitor proses pengiriman paket

b. Microsoft Excel (atau software spreadsheet lainnya)
Untuk pengganti sementara My Orion pada konter jika konter tidak dapat mengakses My Orion pada waktu itu

c. Database Management System (DBMS)
Digunakan untuk membuat database dan mengontrol transaksi data pada database


3. Teknologi Penyimpanan (Storage Technology)
a. Server
Untuk menyimpan data database perusahaan

4. Teknologi Komunikasi  ( Telecomunication Technology)
a. Telepon
b. Email
c. Internet

5. Unit Pemrosesan (Processing Machine/CPU)
a. System Unit

Sumber:
http://dionbarus.com/wp-content/uploads/2014/04/SOP-JNE.pdf