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

  

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

Salatiga

  

Agustus 2017

  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 tagihanatau 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,

  ATM Tunai, ATM ini merupakan jenis

  minimarket, atau SPBU. Jenis dari ATM tersebut : (1)

  atm yang paling banyak disediakan oleh bank di tempat-tempat tertentu. Melalui ATM tunai ini, ada dapat melakukan transaksi tunai, seperti transaksi(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 sepertibayar 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 dan automata untuk mengatasi permasalahan terhadap pengecekan format SMS premium.

  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 yang diberikan, dan yang ketiga adalah dengan menggunakan algoritma teori bahasa

  string 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 yang dipilih oleh user pada aplikasi sesuai dengan hasil rancangan tersebut [4].

  input

  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.

  (FSA) disebut juga Finite Automata (FA) merupakan suatu model

  Finite State Automata matematika dari suatu sistem dan yang menerima input menghasilkan output diskrit [5].

  memiliki state yang banyaknya berhingga (terbatas), dan dapat

  Finite State Automata

  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 adalah sebagai berikut: (1) Menerima input string, (2) Membaca (menyerap

  Automata

  ) karakter awal dengan kontrol berada pada state awal, (3) Dengan kontrol dan

  substring

  karakter awal yang telah dibaca, state akan berpindah ke state baru, (4) Proses berlanjut sampai semua string terserap habis, (5) Jika state akhir yang ditempati saat string habis tersebut berada dalam himpunan final state yang telah ditentukan, maka string tersebut diterima atau dikenali oleh Finite State Automata tersebut. Jika tidak, maka string tersebut ditolak atau tidak dikenali oleh Finite State Automata itu.

  Sebuah Finite State Automata M dinyatakan dengan lima tupel, yaitu (Q , Σ , δ , S , F ), dimana:

  Q = himpunan state Σ = himpunan alfabet masukkan δ = fungsi transisi S = initial state atau state awal F = final state atau himpunan state akhir

  Gambar 1 Contoh State Diagram Finite State Automata [5]

  Keterangan Gambar 1 : (1) Gambar lingkaran menyatakan state, (2) Label pada lingkaran adalah nama state tersebut, (3) Busur panah menyatakan transisi atau perpindahan state, (4) Gambar lingkaran yang didahului sebuah busur panah tanpa label menyatakan state awal, (5) Gambar lingkaran ganda menyatakan final state.

  Maka; Q = {A, B} ∑ = {0, 1} S = {A} F = {B} δ = Fungsi transisi δ (A, 0) = A δ (A, 1) = B δ (B, 0) = B δ (B, 1) = A Berdasarkan fungsi transisi tersebut, dapat dibuat tabel transisi seperti pada Tabel 1.

  (NFA)

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

  Σ 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 himpunan hingga dari state.

  Σ , s , F , ∆ ) dimana : Q

  NDFA (Non Deterministic Finite Automata) didefenisikan sebagai M yang merupakan sebuah koleksi dari 5 obyek (Q ,

  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) adalah salah satu bagian dari automata berhingga atau Finite State Automata (FSA). Pada Non Deterministic Finite Automata

  Tabel 1 Tabel Transisi Berdasarkan Gambar 1

  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.

  state

  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

  A, 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.

  1 A A B B B A Contoh bila string yang masuk adalah ‘1011’, maka string tersebut bergerak dari Start ke state

  δ

  Salah satu rangkaian NDFA (Non Deterministic Finite Automata) terlihat pada Gambar 1.

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

  Rangkaian pada Gambar 2 tergolong dalam NDFA (Non Deterministic Finite ) karena beberapa transisi yang berasal dari satu kondisi yaitu kondisi q memiliki

  Automata input

  yang sama yaitu ‘a’. Rangkaian tersebut akan menerima string ab, aab, aabaab, aba, dan abaaba, tetapi tidak akan menerima string abb dan aabb.

  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.

  Gambar 3 Tahapan Penelitian 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

  Pada tahap ini akan dilakukan perancangan finite state automata menggunakan

  Automata:

  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 pada proses transaksi via ATM menggunakan NDFA (Non Deterministic Finite

  automata

Automata ) yang telah dibuat; Tahap Penulisan Laporan: Dalam tahap ini dilakukan

  penulisan laporan dari tahapan penelitian yang dilakukan.

  Rancangan Proses Transaksi Via ATM Gambar 4 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.

  Tampilan Menu Transaksi Via ATM Gambar 4

  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) To mbol “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-,.

  6. Untuk nasabah yang ingin melakukan transaksi Transfer untuk dapat memasukkan Kode Bank terlebih dahulu jika ingin melakukan transfer antar Bank lain, kemudian memasukkan Kode Bank tujuan jika diperlukan, setelah itu memasukkan Nomor

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

  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}

  = { Ɛ , 0, 1}

  S = {A} F = {M} ∆ = {((A, 1)B), ((B, 1)C), ((C,

  Ɛ )C), ((C, 1)D), ((D, 1)E), ((D, 1)F), (E, 1)G), ((F, 1)H), ((G, 1)I), ((H, 1)J), ((I, 1)K), ((J, 1)L), ((K, 1)L), ((L, 1)M)}

  Untuk keterangan abjad, himpunan simbol input yang menyatakan apa yang dilakukan nasabah; ( Ɛ ) string kosong, (1) melanjutkan proses transaksi, (0) melakukan perulangan pada proses transaksi/membatalkan transaksi. Sedangkan untuk keterangan state yang menyatakan proses transaksi : (A) memasukkan kartu ATM, (B) memilih bahasa, (C) memasukkan pin, (D) memilih jenis transaksi, (E) memilih jenis transaksi transfer, (F) memilih jenis transaksi tarik tunai, (G) daftar kode bank, (H) masukkan nominal tarik tunai, (I) masukkan kode bank dan rekening tujuan, (J) mengambil uang, (K) masukkan nominal transfer, (L) proses transaksi berhasil, (M) mengambil kartu ATM.

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

  Tabel 2 Tabel Relasi transisi

  1 Ɛ

  ∆

  A Ø Ø B B Ø Ø C C C Ø D D Ø Ø

  E, F E Ø Ø G

  F Ø Ø H G Ø Ø

  I H Ø H J I Ø Ø K J Ø Ø L

  K Ø Ø L L Ø Ø M

  M Ø Ø Ø 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

  Algoritma menjelaskan tentang gambaran aplikasi yang dibuat, berguna untuk mempermudah nasabah dalam sistem transaksi ATM. Konsep aplikasi dijalankan oleh nasabah.

  Kode Program 1 Perintah Untuk Menampilkan Menu Pilih Bahasa

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

  Perintah Untuk Input Pin ATM Nasabah Kode Program 2

  Kode Program 2 merupakan perintah untuk memasukkan pin ATM nasabah sebelum melakukan transaksi selanjutnya.

  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

  Kode Program 4 merupakan perintah untuk nasabah melakukan jenis transaksi transfer antar bank atau ke bank lain.

  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 (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. [3] Sugiono, B., 2010. Penerapan Teori Bahasa dan Automata untuk Mengecek Kebenaran Format SMS pada SMS Premium, Skripsi, Salatiga: Universitas Kristen Satya Wacana.

  [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. [6] Sutopo, M., 2010,

  (NFA) ,

  Non Deterministic Finite Automata

  (diakses tanggal 10 Agustus 2017).

Dokumen yang terkait

1 BAB I PENDAHULUAN 1.1 Latar Belakang - Institutional Repository | Satya Wacana Christian University: Penerapan Pembelajaran Kooperatif Tipe Think-Pairshare (TPS) Berbantuan Media Visual dalam Upaya Meningkatkan Keaktifan dan Hasil Belajar IPA Siswa Kela

0 1 7

Institutional Repository | Satya Wacana Christian University: Penerapan Pembelajaran Kooperatif Tipe Think-Pairshare (TPS) Berbantuan Media Visual dalam Upaya Meningkatkan Keaktifan dan Hasil Belajar IPA Siswa Kelas V SDN 1 Jeruk Kecamatan Selo Kabupaten

0 0 39

Institutional Repository | Satya Wacana Christian University: Penerapan Pembelajaran Kooperatif Tipe Think-Pairshare (TPS) Berbantuan Media Visual dalam Upaya Meningkatkan Keaktifan dan Hasil Belajar IPA Siswa Kelas V SDN 1 Jeruk Kecamatan Selo Kabupaten

0 0 23

Institutional Repository | Satya Wacana Christian University: Penerapan Pembelajaran Kooperatif Tipe Think-Pairshare (TPS) Berbantuan Media Visual dalam Upaya Meningkatkan Keaktifan dan Hasil Belajar IPA Siswa Kelas V SDN 1 Jeruk Kecamatan Selo Kabupaten

0 0 35

Institutional Repository | Satya Wacana Christian University: Penerapan Pembelajaran Kooperatif Tipe Think-Pairshare (TPS) Berbantuan Media Visual dalam Upaya Meningkatkan Keaktifan dan Hasil Belajar IPA Siswa Kelas V SDN 1 Jeruk Kecamatan Selo Kabupaten

0 3 114

Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Proses Pembelajaran & Hasil Belajar IPA Melalui Model Problem-Based Learning Siswa Kelas 5 SDN Kebowan 02 Semester II Tahun 2014/2015

0 0 6

Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Proses Pembelajaran & Hasil Belajar IPA Melalui Model Problem-Based Learning Siswa Kelas 5 SDN Kebowan 02 Semester II Tahun 2014/2015

0 1 16

Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Proses Pembelajaran & Hasil Belajar IPA Melalui Model Problem-Based Learning Siswa Kelas 5 SDN Kebowan 02 Semester II Tahun 2014/2015

0 0 36

Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Proses Pembelajaran & Hasil Belajar IPA Melalui Model Problem-Based Learning Siswa Kelas 5 SDN Kebowan 02 Semester II Tahun 2014/2015

0 0 54

Institutional Repository | Satya Wacana Christian University: Perancangan dan Pembuatan Sistem untuk Mengelola Data Template MBU Menggunakan JSON (JavaScript Object Notation) dan PRPC (Pega Rules Process Commander): Studi Kasus PT. Asuransi Sinarmas

0 0 25