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.
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)Kemudian sisipkan sintaks berikut tepat dibawah sintaks diatas.
% 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')
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 doubleset(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
Kak Matlab itu pake bahasa pemrograman apa yah?
ReplyDeleteKok saya mencoba terjadi error.. Variable total_bayar tidak bisa masukke perintah kembalian =k-total_bayar...
ReplyDeleteMohon solusinya
error nya seperti apa kira2? bisa dicek lagi lokasi penempatan serta mungkin ada kesalahan pengetikan
Delete