Tutorial GUI MATLAB : Program Kasir pada Gerai Print & Fotocopy


MATLAB merupakan salah satu software yang memberikan fasilitas untuk membuat sebuah program dengan bahasa pemrograman yang mudah dipahami. Program tersebut dapat kita compile dan dijadikan bentuk portable. Fasilitas tersebut disebut Graphical User Interface (GUI) MATLAB. Dengan menggunakan MATLAB, seorang programmer dapat merancang dan menyusun sebuah program yang aplikatif dan bermanfaat bagi kehidupan sehari-hari. Pada artikel sebelumnya telah dibahas tentang dasar-dasar membuat GUI MATLAB dengan program menghitung volume.

Artikel ini akan mencoba membahas tentang tahapan perancangan dan penyusunan GUI MATLAB untuk aplikasi Program Kasir pada Gerai Print & Copy. Berikut tahapan-tahapannya :


Buka Lembar Kerja GUI MATLAB


gambar 1

Buka lembar kerja GUI MATLAB dengan tahapan Klik New - Graphical User Interface atau ketikan perintah "Guide" pada Command Windows kemudian pilih Blank GUI (default) - OK. Kemudian akan muncul tampilan sebagai berikut:

Merancang Tampilan


gambar 2

Setelah berada pada lembar kerja GUI MATLAB, rancanglah sebuah layout program kasir yang berisi tentang keterangan harga, kotak untuk input jumlah lembar, kotak untuk menampilkan harga total, kotak untuk menampilkan kembalian dan lain-lain seperti gambar berikut:

Memperindah Tampilan


gambar 3

Setelah layout dirancang dengan komplit, selanjutnya memperindah tampilan agar siapa saja dapat menjalankan program yang telah dibuat. Poin ini sangatlah penting agar program yang telah dibuat menjadi user friendly. Cara mengganti nama, memperbesar huruf, menentukan rata kanan kiri, menghapus tag "edit text" dan lainnya dapat menggunakan tab Inspector Windows dengan klik 2x object yang akan diedit. Tampilan Inspector Windows dijelaskan pada gambar 4.

Keterangan Komponen :

Kotak Putih di bawah Tulisan Hitam Putih menggunakan Edittext
Kotak Putih di bawah Tulisan Berwarna menggunakan Edittext
Kotak Putih di bawah Tulisan Total Bayar menggunakan Edittext
Kotak Putih di bawah Tulisan Jumlah Uang menggunakan Edittext
Kotak Putih di bawah Tulisan Jumlah Kembalian menggunakan Edittext
Kotak Hitung Total Bayar menggunakan Pushbutton
Kotak Hitung Kembalian menggunakan Pushbutton
Kotak Keterangan menggunakan Panel + Text
Kata/kalimat menggunakan Text


Fasilitas-fasilitas di atas seperti edittext, pushbutton, text dan lainnya terletak pada menu bar sebelaj kiri. Silahkan berkreasi sesuai kebutuhan dan tampilan.



Memasukan Rumus Kasir untuk Gerai Print & Copy

Rumus yang digunakan pada Program Kasir pada Gerai Print & Copy pada dasarnya adalah perhitungan biasa yang menggunakan operasi penjumlahan, pengurangan, perkalian ataupun pembagian. Dalam penyisipan rumus, akan lebih mudag jika tampilan lembar kerja GUI dan Inspector Windows ditempatkan bersebelahan seperti pada gambar 4.

gambar 4

Sintaks-sintaks yang digunakan akan dibagi kebeberapa tahapan sebagai berikut :

Tahap 1

Buka M-File project tersebut, kemudian cari sintaks berikut dengan cara CTRL + F :
guidata(hObject, handles);
Kemudian sisipkan sintaks berikut tepat dibawah sintaks diatas.
set(handles.pushbutton1,'Enable','off')
set(handles.pushbutton2,'Enable','off')
Maka hasil akhirnya adalah seperti berikut:
guidata(hObject, handles);
set(handles.pushbutton1,'Enable','off')
set(handles.pushbutton2,'Enable','off')

Penjelasan :

Sintaks berwarna merah 
adalah sintaks bawaan M-File.

Sintaks berwarna biru 

adalah sintaks yang digunakan untuk menonaktifkan tombol pushbutton1 atau tombol "Hitung Total Bayar" dan tombol  pushbutton2 atau tombol "Hitung Kembalian" pada gambar 3.

Tahap 2

Pada lembar kerja GUI MATLAB, Klik kanan "kotak tempat input jumlah lembar hitam putih" kemudian pilih view callback kemudian klik callback. Selanjutnya tampilan akan diarahkan pada M-File dengan sintaks berikut :
function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double
Kemudian sisipkan sintaks berikut tepat dibawah sintaks diatas.
set(handles.pushbutton1,'Enable','on')
Maka hasil akhirnya adalah seperti berikut:
function edit1_Callback(hObject, eventdata, handles)

% hObject    handle to edit1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double
set(handles.pushbutton1,'Enable','on')

Penjelasan :

Sintaks berwarna merah 
adalah sintaks bawaan M-File yang menghandle edit1 / edit_text1 / kotak tempat input jumlah lembar hitam putih

Sintaks berwarna biru 

adalah sintaks yang digunakan untuk mengaktifkan tombol pushbutton1 atau tombol "Hitung Total Bayar" pada gambar 3 setelah selesai memasukan jumlah lembar print atau fotocopy.

Tahap 3

Kembali ke lembar kerja GUI MATLAB. Klik kanan tombol "Hitung Total Bayar"  kemudian pilih view callback kemudian klik callback. Selanjutnya tampilan akan diarahkan pada M-File dengan sintaks berikut:
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
Kemudian sisipkan sintaks berikut tepat dibawah sintaks diatas.
global Total_Bayar
HP=str2num(get(handles.edit1,'String'));
W=str2num(get(handles.edit2,'String'));
Total_Bayar=(HP*100)+(W*250);
set(handles.edit3,'String',Total_Bayar);
set(handles.pushbutton2,'Enable','on')
Maka hasil akhirnya adalah seperti berikut:
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

global Total_Bayar
HP=str2num(get(handles.edit1,'String'));
W=str2num(get(handles.edit2,'String'));
Total_Bayar=(HP*100)+(W*250);
set(handles.edit3,'String',Total_Bayar);
set(handles.pushbutton2,'Enable','on')

Penjelasan :

Sintaks berwarna merah 
adalah sintaks bawaan M-File yang menghandle pushbutton1 / tombol "Hitung Total Bayar"

Sintaks berwarna biru 

Sintaks global Total_Bayar digunakan untuk mendefinisikan bahwa variabel Total_Bayar dapat digunakan pada seluruh fungsi callback di M-File yang sedang dikerjakan.

Sintaks HP=str2num(get(handles.edit1,'String')); digunakan untuk mendefinisikan bahwa input jumlah lembar hitam putih dapat dirubah menjadi angka dan dapat digunakan untuk perhitungan selanjutnya.

Sintaks W=str2num(get(handles.edit2,'String')); digunakan untuk mendefinisikan bahwa input jumlah lembar warna dapat dirubah menjadi angka dan dapat digunakan untuk perhitungan selanjutnya.

Sintaks Total_Bayar=(HP*100)+(W*250); digunakan untuk menghitung harga total dengan ketentuan bahwa harga perlembar hitam putih adalah 100 dan harga perlembar warna adalah 250.

Sintaks set(handles.edit3,'String',Total_Bayar); digunakan untuk menampilkan harga total pada kotak harga total atau kotak edit3 / edit_text3.

Sintaks set(handles.pushbutton2,'Enable','on') digunakan untuk menghidupkan tombol Hitung Kembalian jika proses Hitung Total Bayar telah selesai.


Tahap 4

Setelah tahap 1-3 selesai, selanjutnya adalah tahap terakhir yaitu memberikan rumus untuk menghitung kembalian dengan catatan jumlah uang yang dibayarkan harus dimasukkan terlebih dahulu.

Kembali ke lembar kerja GUI MATLAB. Klik kanan tombol "Hitung Kembalian"  kemudian pilih view callback kemudian klik callback. Selanjutnya tampilan akan diarahkan pada M-File dengan sintaks berikut:
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
Kemudian sisipkan sintaks berikut tepat dibawah sintaks diatas.
global Total_Bayar
K=str2num(get(handles.edit4,'String'));
Kembalian=K-Total_Bayar;
set(handles.edit5,'String',Kembalian);
Maka hasil akhirnya adalah seperti berikut:
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

global Total_Bayar
K=str2num(get(handles.edit4,'String'));
Kembalian=K-Total_Bayar;
set(handles.edit5,'String',Kembalian);

Penjelasan :

Sintaks berwarna merah 
adalah sintaks bawaan M-File yang menghandle pushbutton2 / tombol "Hitung Kembalian"

Sintaks berwarna biru 

Sintaks global Total_Bayar digunakan untuk mendefinisikan bahwa variabel Total_Bayar dapat digunakan pada seluruh fungsi callback di M-File yang sedang dikerjakan.

Sintaks K=str2num(get(handles.edit4,'String')); digunakan untuk mendefinisikan bahwa input jumlah uang dapat dirubah menjadi angka dan dapat digunakan untuk perhitungan selanjutnya.

Sintaks Kembalian=K-Total_Bayar; digunakan untuk menghitung kembalian dengan rumus Jumlah Uang - Total Bayar.

Sintaks set(handles.edit5,'String',Kembalian); digunakan untuk menampilkan jumlah kembalian pada kotak jumlah kembalian atau kotak edit4 / edit_text4.

Menjalankan Program

Setelah semua tahapan dikerjakan, selanjutnya adalah menjalankan program. Caranya adalah dengan klik ikon Segitiga Warna Hijau pada lembar kerja GUI MATLAB. Jika berhasil maka program akan berjalan seperti berikut :

gambar 5

Mencoba Menyelesaikan Kasus


Misalkan ada seorang pelanggan sedang melakukan fotocopy hitam putih sebanyak 100 lembar dan print warna sebanyak 24 lembar. Berapa jumlah kembalian yang dia dapatkan jika uang pelanggan tersebut adalah Rp. 20.000. Hasilnya dapat dilihat pada gambar berikut:

gambar 6

Jumlah kembalian yang pelanggan dapatkan adalah Rp. 4.000.

Demikian pembahasan singkat tentang Tutorial GUI MATLAB : Program Kasir pada Gerai Print & Fotocopy. Jika terdapat pertanyaan bisa langsung berkomentar pada kolom komentar yang telah disediakan.

Untuk pembahasan compile GUI MATLAB agar menjadi Portable akan dibahas pada artikel selanjutnya.

Artikel laiinya yang membahas tentang GUI MATLAB dapat dilihat pada tautan berikut :
Tutorial GUI MATLAB


3 Responses to "Tutorial GUI MATLAB : Program Kasir pada Gerai Print & Fotocopy"

  1. Kak Matlab itu pake bahasa pemrograman apa yah?

    ReplyDelete
  2. Kok saya mencoba terjadi error.. Variable total_bayar tidak bisa masukke perintah kembalian =k-total_bayar...

    Mohon solusinya

    ReplyDelete
    Replies
    1. error nya seperti apa kira2? bisa dicek lagi lokasi penempatan serta mungkin ada kesalahan pengetikan

      Delete