Dalam postingan kali ini saya akan menulis sebuah program transaksi dalam penjual belian barang di sebuah
"Toko Komputer Yantow" , program ini mempunyai fungsi perhitungan jual beli Barang dalam sebuah toko komputer dan menghasilkan struk dari hasil transaksi. Dan kalau Anda ada di suruh dosen menbuat sebuah program sederhana kira-kira ini bisa jadi panduan anda.Aplikasi ini saya buat ketika saya mendapatkan tugas dari dosen pada mata kuliah praktikum Pemrograman shell . Aplikasi sederhana ini yang saya buat mengggunakan pemrograman shell pada linux, tentu saja untuk menjalankanya harus melalui command prompt (shell) pada sistem operasi linux bisa untuk semua versi linux. Mungkin dari temen2 ada yang ingin belajar membuat program pada shell dan aplikasi sederhana ini cocok untuk pemula yang bisa temen2 kembangkan sendiri.
Kode aplikasi ini menggunakan pemrograman shell:
Kode aplikasi ini menggunakan pemrograman shell:
Untuk lebih jelasnya langsung saja dicoba degan mengikuti step-step berikut:
1. Program pada box No.1 adalah data dari jenis barang yang tersedia dalam "Toko Komputer Yantow"
disini nama produknya di tulis secara dinamis jadi kalau ingin menambah pilihan bisa ditambahkan dengan mengikuti syntax dibawah.
simpan dengan Nama file dbproduk.sh
dbproduk(){
kdbr[0]=0; nmbr[0]="Mouse Corsair Vengeance MMO "; hgbr[0]=1240000
kdbr[1]=1; nmbr[1]="Mouse Logitech Wireless Desktop "; hgbr[1]=541000
kdbr[2]=2; nmbr[2]="Mouse Razor Abysus "; hgbr[2]=250000
kdbr[3]=3; nmbr[3]="Prosesor intel core i3 LGA1156 "; hgbr[3]=883000
kdbr[4]=4; nmbr[4]="Prosesor AMD A-6 FM1 "; hgbr[4]=1229000
kdbr[5]=5; nmbr[5]="Hardisk Seagate 1Tb "; hgbr[5]=1138000
kdbr[6]=6; nmbr[6]="Hardisk Hitachi 500Gb "; hgbr[6]=1038000
kdbr[7]=7; nmbr[7]="Mainboard Gigabyte (LGA1156,H77,DDR3)"; hgbr[7]=1296000
kdbr[8]=8; nmbr[8]="Mainboard Asus (LGA1155,DDR3,SATA3) "; hgbr[8]=1119000
kdbr[9]=9; nmbr[9]="Monitor LG 23inch "; hgbr[9]=2543000
kdbr[10]=10; nmbr[10]="Monitor LG 40inch "; hgbr[10]=5238000
kdbr[11]=11; nmbr[11]="Powersupply Corsair 650watt "; hgbr[11]=1255000
kdbr[12]=12; nmbr[12]="VGA Asus Radeon 2GB DDR5 "; hgbr[12]=2976000
kdbr[13]=13; nmbr[13]="VGA Asus Geoforce 1024MB DDR3 "; hgbr[13]=2180000
kdbr[14]=14; nmbr[14]="Memory RAM corsair 1x4GB "; hgbr[14]=210000
kdbr[15]=15; nmbr[15]="Memory RAM corsair 2x4GB "; hgbr[15]=480000
}
kdbr[0]=0; nmbr[0]="Mouse Corsair Vengeance MMO "; hgbr[0]=1240000
kdbr[1]=1; nmbr[1]="Mouse Logitech Wireless Desktop "; hgbr[1]=541000
kdbr[2]=2; nmbr[2]="Mouse Razor Abysus "; hgbr[2]=250000
kdbr[3]=3; nmbr[3]="Prosesor intel core i3 LGA1156 "; hgbr[3]=883000
kdbr[4]=4; nmbr[4]="Prosesor AMD A-6 FM1 "; hgbr[4]=1229000
kdbr[5]=5; nmbr[5]="Hardisk Seagate 1Tb "; hgbr[5]=1138000
kdbr[6]=6; nmbr[6]="Hardisk Hitachi 500Gb "; hgbr[6]=1038000
kdbr[7]=7; nmbr[7]="Mainboard Gigabyte (LGA1156,H77,DDR3)"; hgbr[7]=1296000
kdbr[8]=8; nmbr[8]="Mainboard Asus (LGA1155,DDR3,SATA3) "; hgbr[8]=1119000
kdbr[9]=9; nmbr[9]="Monitor LG 23inch "; hgbr[9]=2543000
kdbr[10]=10; nmbr[10]="Monitor LG 40inch "; hgbr[10]=5238000
kdbr[11]=11; nmbr[11]="Powersupply Corsair 650watt "; hgbr[11]=1255000
kdbr[12]=12; nmbr[12]="VGA Asus Radeon 2GB DDR5 "; hgbr[12]=2976000
kdbr[13]=13; nmbr[13]="VGA Asus Geoforce 1024MB DDR3 "; hgbr[13]=2180000
kdbr[14]=14; nmbr[14]="Memory RAM corsair 1x4GB "; hgbr[14]=210000
kdbr[15]=15; nmbr[15]="Memory RAM corsair 2x4GB "; hgbr[15]=480000
}
2.Program dalam box No.2 ini adalah halaman awal untuk dari program yang akan tampil terlebih dahulu sebelum menu-menu lainya.
simpan dengan Nama file load.sh
#!/bin/bash
echo
clear
echo -e "#************************************************************#"
echo -e "# P R O G R A M T O K O C O M P U T E R Y A N T O W #"
echo -e "# By:Koko Yanto Simamora #"
echo -e "#************************************************************#"
echo " http.//yantow-chow.blogspot.com SlonkSlonk "
echo " Terimakasih Atas Kunjunganya "
tput cup 9 25
for (( i=1; i <= 20; i++ ))
do
if [ $i -eq 1 ];then
echo -n "W"
elif [ $i -eq 5 ]
then
echo -n "E"
elif [ $i -eq 10 ]
then
echo -n "L"
elif [ $i -eq 15 ]
then
echo -n "L"
elif [ $i -eq 20 ]
then
echo -n "C"
elif [ $i -eq 25 ]
then
echo -n "O"
elif [ $i -eq 30 ]
then
echo -n "M"
elif [ $i -eq 35 ]
then
echo -n "E"
else
echo -n "*"
fi
sleep 0.09
done
tput cup 20 40
echo
echo -n " [100%]"
echo -n " yantow-chow.blogspot.com SlonkSlonk "
echo
clear
echo -e "#************************************************************#"
echo -e "# P R O G R A M T O K O C O M P U T E R Y A N T O W #"
echo -e "# By:Koko Yanto Simamora #"
echo -e "#************************************************************#"
echo " http.//yantow-chow.blogspot.com SlonkSlonk "
echo " Terimakasih Atas Kunjunganya "
tput cup 9 25
for (( i=1; i <= 20; i++ ))
do
if [ $i -eq 1 ];then
echo -n "W"
elif [ $i -eq 5 ]
then
echo -n "E"
elif [ $i -eq 10 ]
then
echo -n "L"
elif [ $i -eq 15 ]
then
echo -n "L"
elif [ $i -eq 20 ]
then
echo -n "C"
elif [ $i -eq 25 ]
then
echo -n "O"
elif [ $i -eq 30 ]
then
echo -n "M"
elif [ $i -eq 35 ]
then
echo -n "E"
else
echo -n "*"
fi
sleep 0.09
done
tput cup 20 40
echo
echo -n " [100%]"
echo -n " yantow-chow.blogspot.com SlonkSlonk "
3. Program dalam kotak No.3 adalah Menu utama dari program tersebut yang terdiri dari (tiga) diantranya:
1. Produk >> Untuk melakukan transaksi penbelian dan ikuti perintah -perintah selanjutnya dalam mejalankanya
2. Lihat Struk >> untuk Melihat Output Struk
3. Exit >> untuk keluar
simpan dengan Nama file menu.sh
#!/bin/bash
menu(){
. load.sh;
. produk.sh;
. out.sh;
load
clear
echo "Toko Komputer Yantow"
echo "1. Produk"
echo "2. Lihat Struk"
echo "3. Exit"
echo -n "Pilihan: "; read pil
case $pil in
1) produk;;
2) clear
cat struk
read -p "Tekan Enter untuk kembali ke menu awal"
menu;;
3) out;;
*) echo "Pilihan tidak ada, silahkan ulangi inputan anda";;
esac
}
menu(){
. load.sh;
. produk.sh;
. out.sh;
load
clear
echo "Toko Komputer Yantow"
echo "1. Produk"
echo "2. Lihat Struk"
echo "3. Exit"
echo -n "Pilihan: "; read pil
case $pil in
1) produk;;
2) clear
cat struk
read -p "Tekan Enter untuk kembali ke menu awal"
menu;;
3) out;;
*) echo "Pilihan tidak ada, silahkan ulangi inputan anda";;
esac
}
4. Program dalam box No.4 ini adalah perintah untuk keluar (Exit) yang tampil di menu utama.
simpan dengan Nama file out.sh
out(){
. menu.sh
clear
echo "Apakah anda yakin akan keluar(y/n)? "; read pil
if [ $pil == "y" ]
then
exit
else
menu
fi
}
. menu.sh
clear
echo "Apakah anda yakin akan keluar(y/n)? "; read pil
if [ $pil == "y" ]
then
exit
else
menu
fi
}
5.Program yang ada pada box No.5 adalah untuk menampilakan struk dari transaksi
simpan dengan Nama file produk.sh
produk(){
. dbproduk.sh
. menu.sh
dbproduk
clear
echo -e "Kode\tNama Barang\t\t\t\tHarga Barang"
for (( x=0; x<=15; x++ ))
do
echo -e "${kdbr[x]}\t${nmbr[x]}\t${hgbr[x]}"
done
while [ $pil != "tot" ]
do
echo -n "masukkan kode barang (ketik tot untuk selesai transaksi): "; read pil
if [ $pil != "tot" ]
then
echo -n "masukkan jumlah dari produk ${nmbr[pil]}: "; read qtbr[pil]
fi
done
clear
echo "=============================================================================" >> struk
echo -e "Kode\tNama Barang\t\t\t\tHarga Barang\tQty\tTotal"
echo -e "Kode\tNama Barang\t\t\t\tHarga Barang\tQty\tTotal" >> struk
for (( x=0; x<=15; x++ ))
do
if [ ${qtbr[x]}>0 ]
then
ttbr[x]=$((hgbr[x]*qtbr[x]))
echo -e "${kdbr[x]}\t${nmbr[x]}\tRp.${hgbr[x]},-\t${qtbr[x]}\tRp.${ttbr[x]},-\t"
echo -e "${kdbr[x]}\t${nmbr[x]}\tRp.${hgbr[x]},-\t${qtbr[x]}\tRp.${ttbr[x]},-\t" >> struk
fi
total=$((total+ttbr[x]))
done
echo "Totalnya: Rp.$total,-"
echo "Totalnya: Rp.$total,-" >> struk
read -p "Tekan Enter untuk kembali ke menu awal"
menu
}
. dbproduk.sh
. menu.sh
dbproduk
clear
echo -e "Kode\tNama Barang\t\t\t\tHarga Barang"
for (( x=0; x<=15; x++ ))
do
echo -e "${kdbr[x]}\t${nmbr[x]}\t${hgbr[x]}"
done
while [ $pil != "tot" ]
do
echo -n "masukkan kode barang (ketik tot untuk selesai transaksi): "; read pil
if [ $pil != "tot" ]
then
echo -n "masukkan jumlah dari produk ${nmbr[pil]}: "; read qtbr[pil]
fi
done
clear
echo "=============================================================================" >> struk
echo -e "Kode\tNama Barang\t\t\t\tHarga Barang\tQty\tTotal"
echo -e "Kode\tNama Barang\t\t\t\tHarga Barang\tQty\tTotal" >> struk
for (( x=0; x<=15; x++ ))
do
if [ ${qtbr[x]}>0 ]
then
ttbr[x]=$((hgbr[x]*qtbr[x]))
echo -e "${kdbr[x]}\t${nmbr[x]}\tRp.${hgbr[x]},-\t${qtbr[x]}\tRp.${ttbr[x]},-\t"
echo -e "${kdbr[x]}\t${nmbr[x]}\tRp.${hgbr[x]},-\t${qtbr[x]}\tRp.${ttbr[x]},-\t" >> struk
fi
total=$((total+ttbr[x]))
done
echo "Totalnya: Rp.$total,-"
echo "Totalnya: Rp.$total,-" >> struk
read -p "Tekan Enter untuk kembali ke menu awal"
menu
}
6. Program di box No.6 adalah Tambaha pada menu awal
simpan dengan Nama file start.sh
#!/bin/bash
##Program Toko Komputer: ""
##Pemprograman Shell
##copy-rigth:
##http.//yantow-chow.blogspot.com SlonkSlonk
## Terimakasih Atas Kunjunganya
##Program Toko Komputer: ""
##Pemprograman Shell
##copy-rigth:
##http.//yantow-chow.blogspot.com SlonkSlonk
## Terimakasih Atas Kunjunganya
#include
. menu.sh
#program
menu
7. Sedangkan pada box No.7 ini menapilkan hasil akhir ataupun contoh ouput yang akan keluar
gimana kira-kira lumayan kan ? untuk membantu transaksi di toko kita hehehhe....!! :)
===============================================================================
Kode Nama Barang Harga Barang Qty Total
1 Mouse Logitech Wireless Desktop Rp.541000,- 1 Rp.541000,-
2 Mouse Razor Abysus Rp.250000,- 2 Rp.500000,-
Totalnya: Rp.1041000,-
===============================================================================
Kode Nama Barang Harga Barang Qty Total
1 Mouse Logitech Wireless Desktop Rp.541000,- 1 Rp.541000,-
2 Mouse Razor Abysus Rp.250000,- 2 Rp.500000,-
Totalnya: Rp.2082000,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
1 Mouse Logitech Wireless Desktop Rp.541000,- 2 Rp.1082000,-
3 Prosesor intel core i3 LGA1156 Rp.883000,- 2 Rp.1766000,-
Totalnya: Rp.2848000,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
0 Mouse Corsair Vengeance MMO Rp.1240000,- 2 Rp.2480000,-
1 Mouse Logitech Wireless Desktop Rp.541000,- 3 Rp.1623000,-
Totalnya: Rp.4103000,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
2 Mouse Razor Abysus Rp.250000,- 3 Rp.750000,-
3 Prosesor intel core i3 LGA1156 Rp.883000,- tot Rp.0,-
4 Prosesor AMD A-6 FM1 Rp.1229000,- 3 Rp.3687000,-
Totalnya: Rp.4437000,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
Totalnya: Rp.0,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
Totalnya: Rp.0,-
Kode Nama Barang Harga Barang Qty Total
1 Mouse Logitech Wireless Desktop Rp.541000,- 1 Rp.541000,-
2 Mouse Razor Abysus Rp.250000,- 2 Rp.500000,-
Totalnya: Rp.1041000,-
===============================================================================
Kode Nama Barang Harga Barang Qty Total
1 Mouse Logitech Wireless Desktop Rp.541000,- 1 Rp.541000,-
2 Mouse Razor Abysus Rp.250000,- 2 Rp.500000,-
Totalnya: Rp.2082000,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
1 Mouse Logitech Wireless Desktop Rp.541000,- 2 Rp.1082000,-
3 Prosesor intel core i3 LGA1156 Rp.883000,- 2 Rp.1766000,-
Totalnya: Rp.2848000,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
0 Mouse Corsair Vengeance MMO Rp.1240000,- 2 Rp.2480000,-
1 Mouse Logitech Wireless Desktop Rp.541000,- 3 Rp.1623000,-
Totalnya: Rp.4103000,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
2 Mouse Razor Abysus Rp.250000,- 3 Rp.750000,-
3 Prosesor intel core i3 LGA1156 Rp.883000,- tot Rp.0,-
4 Prosesor AMD A-6 FM1 Rp.1229000,- 3 Rp.3687000,-
Totalnya: Rp.4437000,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
Totalnya: Rp.0,-
===============================================================================Kode Nama Barang Harga Barang Qty Total
Totalnya: Rp.0,-
1. Copy kode diatas ke teks editor linux (nano,piko,gedit atau vi) dan simpan pada komputer anda atau pada flashdisk dengan nama tertera diatas .
2. Buka Shell atau command prompt pada sistem operasi Linux anda (bisa semua versi Linux) baik yang virtual.
3. Pindahkan direktori shell ke direkstori dimana anda menyimpan file tersebut menggunakan perintah cd (change directory). Misalnya apabila suatu file disimpan pada direktori Desktop maka perintahnya adalah " cd /Desktop/ " (tanpa tanda petik).
4. Ketik perintah " chmod u+x produk.sh " (tanpa tanda petik) lakukan untuk semua program yang diatas satu per satu sesuai nama file yang di simpan tersebut. Perintah ini untuk mengeksekusi file tersebut atau kalau anda melakukan modifikasi usahan confile terlebih dahulu.
5. Kalau kode tidak ada yang error, ketik perintah " ./produk.sh "lakukan untuk semua program yang diatas sesuai nama file yang di simpan tersebut(tanpa tanda petik). Perintah ini untuk mengkompile file tersebut.
6. Kalau sudah sampai tahap ini maka akan ditampilkan aplikasi Transaksi sederhana pada terminal.
NB:
Menu yang pertama Anda jalankan adalah file ./start.sh
Semua Program saling berhubungan dan ketika Anda ingin mencoba silahkan di ikuti step-step tersebut dan ketika anda sudah mencoba Anda lebih mudah untuk memahami script dalam programnya dan Anda bisa otak-atik sendiri
Cara menjalankan:
Saya akan sedikit mengulas cara menjalankan kode diatas...
Semoga sedikit pengetahuan ini dapat bermanfaat bagi temen2 yang sedang belajar pemrograman shell.. :)
kalau ada yang kurang jelas atau ada kekurangan diri aplikasi ini tolog tinggalkan comentarnya di bawah..
Komentar
Posting Komentar