• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Penerapan Finite State Automata pada Proses Transaksi Via ATM

N/A
N/A
Protected

Academic year: 2019

Membagikan "Institutional Repository | Satya Wacana Christian University: Penerapan Finite State Automata pada Proses Transaksi Via ATM"

Copied!
18
0
0

Teks penuh

(1)

1

Penerapan Finite State Automata Pada Proses Transaksi Via ATM

Artikel Ilmiah

Peneliti :

Azri Rishard Nendissa (672013183)

Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(2)
(3)
(4)
(5)
(6)
(7)

7 1. Pendahuluan

Teori Bahasa dan Automata merupakan salah satu bagian ilmu komputer yang didasari oleh model dan gagasan mendasar mengenai komputer. Sebagai keluaran dari automata, bahasa memungkinkan penyampaian gagasan dan pemikiran manusia, sedangkan sebagai ilmu yang juga mempelajari mengenai mesin abstrak, automata dapat membaca input berupa

string dari alphabet yang diberikan dari input file.

Salah satu contoh penerapan teori bahasa dan automata adalah dalam proses transaksi via ATM, dimana ada beberapa proses transaksi yang digunakan dalam mesin ATM ini untuk membantu manusia dalam melakukan transaksi secara otomatis. Fungsi untuk melakukan proses transaksi secara otomatis adalah mempermudah transaksi penarikan uang (tarik tunai) dan melakukan pengiriman uang secara otomatis (transfer).

Kepanjangan dari ATM ini sendiri adalah anjungan tunai mandiri, sementara singkatan dalam bahasa Inggris adalah automatic teller machine. ATM berfungsi untuk mengakses sejumlah layanan perbankan seperti menarik uang tunai, transfer dana, cek saldo, bayar tagihan kartu kredit, atau berbagai keperluan keuangan sehari-hari seperti membayar listrik, pulsa, atau tagihan lainnya. Mesin ATM terkoneksi dan terhubung dengan jaringan komunikasi sebuah bank. Mesin ATM ini memudahkan kita untuk melakukan transaksi perbankan, tanpa perlu datang ke gedung bank. Mesin atm biasanya terdapat di tempat umum, seperti mal, gedung kantor, minimarket, atau SPBU. Jenis dari ATM tersebut : (1) ATM Tunai, ATM ini merupakan jenis atm yang paling banyak disediakan oleh bank di tempat-tempat tertentu. Melalui ATM tunai ini, ada dapat melakukan transaksi tunai, seperti transaksi penarikan uang tunai. (2) ATM Non Tunai, Jenis ATM non tunai ini adalah kebalikan dari ATM tunai. Melalui ATM ini, kita tidak dapat melakukan transaksi tunai seperti penarikan uang. Karena ATM ini khusus digunakan untuk transaksi non tunai seperti transfer uang, bayar tagihan, dan lain-lain. (3) ATM Serbabisa, Jenis ATM ini adalah yang paling jarang ditemui dan disediakan oleh bank. Karena melalui ATM ini kita dapat melakukan hampir semua transaksi perbankan dari transaksi non tunai hingga setor tunai. Untuk dapat menggunakan mesin ATM, Anda harus memiliki kartu ATM terlebih dahulu. Kartu tersebut dapat berupa kartu kredit ataupun kartu debit. Setelah memiliki kartu ATM, kita perlu memiliki password. Password ini digunakan saat Anda akan melakukan transaksi di mesin atm dan berupa pin dengan kode angka 4-6 digit yang diberikan oleh bank [1]. Berdasarkan latar belakang tersebut maka dilakukan penelitian yang menerapkan Teori Bahasa dan Automata dengan konsep finite state automata

pada Proses Transaksi Via ATM.

2. Tinjauan Pusataka

Banyak penelitian tentang Penggunaan Finite State Automata, salah satu contoh

penelitian dengan judul ‘‘Penerapan Finite State Automata Pada Pemetaan Sistem Parkiran

Kendaraan Motor di Kampus UKSW Salatiga”, aplikasi ini mengajarkan bagaimana cara Finite State Automata digunakan sebagai logika dasar untuk melakukan pemetaan sistem parkiran kendaraan motor di kampus UKSW [2].

Penelitian kedua tentang penerapan atau penggunaan Finite State Auotmata, salah satu

contoh penelitian berjudul “Penerapan Teori Bahasa dan Automata untuk Mengecek Kebenaran Format SMS pada SMS Premium”, menjelaskan tentang penggunaan teori bahasa

(8)

8

Ini telah dibuktikan dengan tiga hal yang menjadi ciri-ciri algoritma yang baik telah dipenuhi oleh algoritma teori bahasa dan automata untuk pengecekan tersebut, yaitu pertama algoritma teori bahasa dan automata memberikan keluaran yang benar terhadap hasil yang diinginkan, kedua algoritma teori bahasa dan automata memberikan hasil yang pasti terhadap

string yang diberikan, dan yang ketiga adalah dengan menggunakan algoritma teori bahasa dan automata diperoleh efisiensi waktu dan memori [3].

Penelitian yang ketiga “Perancangan dan Implementasi Finite Automata pada Simulasi

Vending Machine”. Lewat rancangan state diagram berdasarkan konsep Mealy Machine

yang telah dibuat, maka aplikasi simulasi vending machine dapat dibuat, dan hasil dari setiap

input yang dipilih oleh user pada aplikasi sesuai dengan hasil rancangan tersebut [4].

Berdasarkan penelitian yang pernah dilakukan tentang teori bahasa dan automata dan

finite automata, maka akan dilakukan penelitian tentang penerapan Finite State Automata

Pada Proses Transaksi Via ATM.

Finite State Automata (FSA) disebut juga Finite Automata (FA) merupakan suatu model matematika dari suatu sistem dan yang menerima input menghasilkan output diskrit [5].

Finite State Automata memiliki state yang banyaknya berhingga (terbatas), dan dapat berpindah-pindah dari satu state ke state lain. Perubahan state ini dinyatakan dengan fungsi transisi. State adalah kondisi atau keadaan atau kedudukan. Prinsip kerja Finite State ditolak atau tidak dikenali oleh Finite State Automata itu.

Sebuah Finite State AutomataM dinyatakan dengan lima tupel, yaitu (Q , Σ , δ , S , F ),

Gambar 1 Contoh StateDiagramFinite State Automata [5]

(9)

9

Berdasarkan fungsi transisi tersebut, dapat dibuat tabel transisi seperti pada Tabel 1.

Tabel 1 Tabel Transisi Berdasarkan Gambar 1

δ 0 1

A A B

B B A

Contoh bila stringyang masuk adalah ‘1011’, maka string tersebut bergerak dari Start

ke stateA, kemudian membaca karakter ‘1’ dan berpindah ke state B, yang merupakan state tujuan dari hasil pembacaan karakter ‘1’. Kemudian string selanjutnya yang dibaca adalah

‘0’. Karena state tujuan dari pembacaan karakter ‘0’ adalah B sendiri, maka state tidak berpindah. Selanjutnya membaca karakter ‘1’. Berpindah dari state B ke state A yang merupakan state tujuan setelah membaca karakter ‘1’. Setelah itu, karakter ‘1’ dibaca dan state berpindah ke state B. Pembacaan string berhenti karena karakter sudah habis. State

terakhir yang ditempati adalah state B, dan karena state B berada dalam himpunan final state,

maka string ‘1011’ diterima oleh Finite State Automata tersebut.

NDFA (Non Deterministic Finite Automata) adalah salah satu bagian dari automata berhingga atau Finite State Automata (FSA). Pada Non Deterministic Finite Automata (NFA) dimungkinkan satu simbol menimbulkan transisi ke lebih dari satu kondisi dan memberikan beberapa kemungkinan gerakan sehingga keluarannya tidak dapat dipastikan. Selain itu dimungkinkan juga terjadinya transisi spontan atau transisi –ε [6].

NDFA (Non Deterministic Finite Automata) didefenisikan sebagai M yang merupakan sebuah koleksi dari 5 obyek (Q , Σ, s , F , ∆ ) dimana :

Q adalah sebuah himpunan hingga dari state.

Σ adalah sebuah abjad masukkan.

s adalah salah satu kedudukan di dalam Q yang ditetapkan sebagai kedudukan permulaan.

F adalah sebuah koleksi dari kedudukan-kedudukan yang diterima atau final (koleksi / himpunan dari kondisi akhir).

adalah sebuah relasi pada (Q x Σ) x Q dan dinamakan relasi transisi.

(10)

10

Gambar 2 Rangkaian NDFA (Non Deterministic Finite Automata) [6]

Rangkaian pada Gambar 2 tergolong dalam NDFA (Non Deterministic Finite Automata) karena beberapa transisi yang berasal dari satu kondisi yaitu kondisi q0 memiliki input yang sama yaitu ‘a’. Rangkaiantersebut akan menerima string ab, aab, aabaab, aba, dan abaaba, tetapi tidak akan menerima string abb dan aabb.

3. Metode dan Perancangan

Tahapan Penelitian yang digunakan dalam penelitian ini dapat dibagi ke dalam 5 (lima) tahap yaitu: (1) tahap analisis kebutuhan dan pengumpulan data, (2) tahap studi literatur, (3) tahap perancangan dan implementasi finite state automata, (4) tahap pengujian sistem, (5) tahap penulisan laporan.

(11)

11

Tahapan Penelitian pada Gambar 3, dapat dijelaskan sebagai berikut, Tahap Analisis Kebutuhan dan Pengumpulan Data: Pada tahap ini dilakukan analisis terkait dengan sistem yang dilakukan pada proses transaksi via ATM; Tahap Studi Literatur: Dalam tahap ini dilakukan pengumpulan data dari jurnal-jurnal terkait, buku, serta sumber mengenai pembahasan terkait penelitian tersebut; Tahap Perancangan dan Implementasi Finite State Automata: Pada tahap ini akan dilakukan perancangan finite state automata menggunakan NDFA (Non Deterministic Finite Automata); Tahap Pengujian Sistem: Pada tahap terakhir ini dilakukan pengujian terhadap penerapan finite state automata pada proses transaksi via ATM menggunakan NDFA (Non Deterministic Finite Automata) yang telah dibuat. Pengujian dilakukan dengan evaluasi terhadap keseluruhan perancangan finite state automata pada proses transaksi via ATM menggunakan NDFA (Non Deterministic Finite Automata) yang telah dibuat; Tahap Penulisan Laporan: Dalam tahap ini dilakukan penulisan laporan dari tahapan penelitian yang dilakukan.

(12)

12

Pada Gambar 4 terlihat Proses Transaksi Via ATM yang menampilkan segala kemungkinan yang terjadi dalam proses transaksi yang ditunjukkan menggunakan

state/kondisi yang terjadi pada Finite State Automata.

Gambar 4 Tampilan Menu Transaksi Via ATM

Keterangan Gambar 4: (1) Pilihan Menu Jenis Transaksi oleh Nasabah, (2) Nasabah dapat memilih Menu Transfer jika ingin melakukan proses Transaksi Transfer antar Bank , (3) Nasabah dapat memilih Menu Tarik Tunai untuk melakukan proses Penarikan Uang, (4)

Tombol “TEKAN CANCEL UNTUK PEMBATALAN” dapat digunakan Nasabah jika ingin

membatalkan proses Transaksi.

4. Hasil dan Pembahasan

Rancangan state diagram pada proses transaksi via ATM dapat dilihat pada Gambar 5, yang menjelaskan tentang proses transaksi via ATM berdasarkan sistem atau tahap yang dilakukan oleh user/nasabah. Berikut adalah sistem atau tahap yang dilakukan oleh user/nasabah untuk melakukan proses transaksi, yaitu:

1. Masukkan Kartu ATM. 2. Pilih Bahasa.

3. Masukkan PIN.

4. Memilih Jenis Transaksi.

5. Nasabah yang ingin melakukan transaksi Tarik Tunai untuk dapat melakukan proses penarikan dengan nilai maksimum Rp. 5.000.000-,.

(13)

13

Rekening Tujuan, barulah memasukkan Nominal yang ingin di transfer dengan nilai maksimum Rp. 5.000.000-,.

7. Proses transaksi berhasil dan Nasabah dapat mengambil Kartu ATM.

Gambar 5 State Diagram Sistem Transaksi Via ATM

State diagram pada Gambar 5 dinyatakan dalam 13 tupel, yaitu:

Q = {A, B, C, D, E, F, G, H, I, J, K, L, M}

(14)

14

Relasi transisi dapat dipetakan dalam tabel, menjadi seperti pada Tabel 2.

Tabel 2 Tabel Relasi transisi

Tabel 2 menjelaskan tentang perpindahan state apabila ada input yang masuk. Misalnya pada state A mendapat input 1 maka akan berpindah ke state B, sesuai Gambar 5. Begitu seterusnya untuk cara membaca transisi dari state yang lain. Perpindahan state akan bernilai Ø (bahasa kosong) apabila tiap input yang masuk tidak sesuai. Misalnya state C apabila mendapat input Ɛ (string kosong), maka akan bernilai Ø (bahasa kosong), begitu juga pada contoh state H mendapat input 0 maka akan melakukan perulangan sampai data yang diinput telah sesuai baru akan mendapat input 1 agar berpindah ke state J. Begitu juga seterusnya untuk state yang lain, yang mendapat input tidak sesuai.

Algoritma transaksi nasabah pada ATM adalah sebagai berikut:

Nasabah yang ingin melakukan transaksi 1 Masukkan kartu ATM

2 Memilih Bahasa 3 Memasukkan PIN 4 Memilih jenis transaksi

5 Jika nasabah ingin melakukan transfer uang, maka nasabah memilih menu transfer

6 Selanjutnya nasabah melihat daftar kode bank sebelum melakukan transfer ke rekening tujuan 7 Memasukkan kode bank dan rekening tujuan

8 Masukkan nominal transfer Rp. 5.000.000-, 9 Transaksi Berhasil

10 Jika nasabah ingin melakukan transaksi tarik tunai, maka nasabah memilih menu tarik tunai 11 Masukkan nominal penarikan Rp. 5.000.000-.

12 Ambil uang

13 Silahkan mengambil kartu ATM

(15)

15

Kode Program 1 Perintah Untuk Menampilkan Menu Pilih Bahasa

Kode Program 1 merupakan perintah yang digunakan untuk menampilkan pemilihan bahasa.

Kode Program 2 Perintah Untuk Input Pin ATM Nasabah

(16)

16

Kode Program 3 Perintah Untuk Memilih Jenis Transaksi

Kode Program 3 merupakan perintah untuk memilih jenis transaksi yang diinginkan oleh nasabah.

Kode Program 4 Perintah Untuk Memilih Jenis Transaksi Transfer

(17)

17

Kode Program 5 Perintah Untuk Memilih Jenis Transaksi Tarik Tunai

Kode Program 5 merupakan perintah untuk nasabah melakukan jenis transaksi tarik tunai sesuai dengan jumlah maksimal penarikan Rp. 5.000.000-,.

Program dibuat menggunakan bahasa pemrograman NetBeans IDE dan merupakan program dengan tampilan sederhana yaitu console application. Konsep program dirancang berdasarkan transaksi ATM, yang dilakukan untuk nasabah.

5. Simpulan

Berdasarkan hasil penelitian, dan implementasi finite state automata pada transaksi via ATM yang dilakukan dapat diambil kesimpulan bahwa : (1) Finite state automata digunakan sebagai logika dasar untuk melakukan proses transaksi via ATM; (2) Proses transaksi yang dilakukan adalah membagi tiap sistem ke dalam bentuk state sehingga memudahkan penyelesaian sistem; (3) Aplikasi yang dibuat dalam bentuk algoritma dan console application yang merupakan gambaran dari aplikasi yang dibuat untuk menjelaskan proses transaksi via ATM.

6. Daftar Pustaka

[1] Abadi Rizki, 2016. Mesin ATM : Jenis-Jenis Dan Cara Aman Menggunakannya

https://www.cermati.com/artikel/mesin-atm-jenis-jenis-dan-cara-aman-menggunakannya (diakses tanggal 10 Agustus 2017).

[2] Pelupessy, J. A., Pakereng, M A I., November 2016. Penerapan Finite State Automata

Pada Pemetaan Sistem Parkiran Kendaraan Motor di Kampus UKSW Salatiga.

(18)

18

[4] Irawan, J. Ch., Pakereng, M. A. I., Somya, R., Perancangan dan Implementasi Finite Automata pada Simulasi Vending Machine, Skripsi, Salatiga: Universitas Kristen Satya Wacana.

[5] Utdirartatmo, F., 2001. Teori Bahasa dan Otomata. Yogyakarta: J & J Learning.

Gambar

Gambar 1 Contoh State Diagram Finite State Automata [5]
Tabel 1 Tabel Transisi Berdasarkan Gambar 1
Gambar 2 Rangkaian NDFA (Non Deterministic Finite Automata) [6]
Gambar 4 Rancangan Proses Transaksi Via ATM
+4

Referensi

Dokumen terkait

Finite state automata can be used to make a Non-deterministic Finite Automata (NDFA) model, so it can detect anomalous condition or malfunction on switch.. Using this

Finite State Automata digunakan untuk mengatasi kemungkinan yang terjadi didalam sistem serta mempermudah pemain dalam melakukan permainan ini. Permasalahan yang ada ialah masih

permasalahan yang ada, terkait dengan proses penerapan Finite State Automata pada Pencarian Rute Terpendek Perjalanan Mahasiswa dari Rumah ke kampus UKSW Salatiga;

finite state automata digunakan untuk memudahkan dalam memetakan setiap proses dari pergantian desktop background ke

Dari hasil pengujian sistem yang berupa observasi , bahwa dengan menggunakan Finite state automata dapat digunakan oleh pelatih maupun pemain dalam mengetahui pola

Penelitian yang dilakukan menghasilkan akurasi sistem diagnosa Anorexia Nervosa Menggunakan Finite State Automata sesuai dengan hasil diagnosa sistem pakar dan dapat

Finite State Automata (FSA) dengan model Non Deterministic Finite State Automata (NDFA), dimana dari gejala-gejala yang ada akan menghasilkan suatu simpulan hasil

Berdasarkan hasil penelitian, dan pembahasan yang dilakukan ditarik kesimpulan sebagai berikut (1) Finite State Automata dapat diimplementasikan dalam program deteksi