Membahas Teknologi Informasi Software , Masalah dan penyelesaian masalah atau solusi
Membuat CRUD CSV Menggunakan Python
Read Write File CSV Menggunakan Python
Berikut adalah cara read write file CSV menggunakan Phyton :
1. Buat file csv : data.csv
NO,NAMA,ALAMAT
NO,NAMA,TELEPON
1,Bambang,081234
2,Richard,08712333
3,Bapak Budi,08733311
4,Jokowi Dodo,0851231
catatan : gunakan tanda petik untuk kata yang mengandung koma, seperti gelar
contoh :
1,"Bambang, S.Kom",Bandung
2. Buat file phyton : bacacsv.py
import csv
with open('data.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=",")
print(csv_reader)
for row in csv_reader:
print(row)
Output :
Catatan : Untuk format bisa disesuaikan dengan csv file
# membaca CSV dengan dlimiter tab
csv.reader(csv_file, delimiter="\t")
# membaca CSV dengan dlimiter titik dua :
csv.reader(csv_file, delimiter=":")
# membaca CSV dengan dlimiter titik koma ;
csv.reader(csv_file, delimiter=";")
3. Parsing File CSV di Python : parse_dic.py
3.1. Parsing CSV menjadi List
contoh 1 :
import csv
contacts = []
with open('data.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=",")
for row in csv_reader:
contacts.append(row)
print(contacts)
Output :
[['NO', 'NAMA', 'TELEPON'], ['1', 'Bambang', '081234'], ['2', 'Richard', '08712333'], ['3', 'Bapak Budi', '08733311'], ['4', 'Jokowi Dodo', '0851231']]
Contoh 2 :
import csv
contacts = []
with open('data.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=",")
for row in csv_reader:
contacts.append(row)
labels = contacts.pop(0)
print(labels)
print(contacts)
Output :
#isi list labels:
['NO', 'NAMA', 'TELEPON']
# isi list contacts:
[['1', 'Bambang', '081234'], ['2', 'Richard', '08712333'], ['3', 'Bapak Budi', '08733311'], ['4', 'Jokowi Dodo', '0851231']]
Contoh 3 :
import csv
contacts = []
with open('data.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=",")
for row in csv_reader:
contacts.append(row)
labels = contacts.pop(0)
#print(labels)
#print(contacts)
print(f'{labels[0]} \t {labels[1]} \t\t {labels[2]}')
print("-"*34)
for data in contacts:
print(f'{data[0]} \t {data[1]} \t {data[2]}')
Output :
3.2. Parsing CSV menjadi Dictionary
Contoh 1 :
import csv
contacts = []
with open('data.csv') as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
contacts.append(row)
print(contacts)
Output :
[OrderedDict([('NO', '1'), ('NAMA', 'Bambang'), ('TELEPON', '081234')]), OrderedDict([('NO', '2'), ('NAMA', 'Richard'), ('TELEPON', '08712333')]), OrderedDict([('NO', '3'), ('NAMA', 'Bapak Budi'), ('TELEPON', '08733311')]), OrderedDict([('NO', '4'), ('NAMA', 'Jokowi Dodo'), ('TELEPON', '0851231')])]
Contoh 2 :
import csv
contacts = []
with open('data.csv') as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
contacts.append(row)
print("NO \t NAMA \t\t TELEPON")
print("-" * 32)
for data in contacts:
print(f"{data['NO']} \t {data['NAMA']} \t {data['TELEPON']}")
Output :
4. Write file csv : tulis_csv_list.py
4.1. Menulis Data List ke CSV
import csv
with open('data.csv', mode='a') as csv_file:
# membuat objek writer
writer = csv.writer(csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
# menulis baris ke file CSV
writer.writerow(["5", "Dian", "021100022"])
writer.writerow(["6", "Meli", "0214444432"])
print("Writing Done!")
Output :
jalankan kemudian jalan kan juga file parse_dic.py
4.2. Menulis Data Dictionary ke CSV
import csv
with open('data.csv', mode='a') as csv_file:
# menentukan label
fieldnames = ['NO', 'NAMA', 'TELEPON']
# membuat objek writer
writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
# menulis baris ke file CSV
writer.writeheader()
writer.writerow({'NO': '10', 'NAMA': 'Via Vallen', 'TELEPON': '02109999'})
writer.writerow({'NO': '11', 'NAMA': 'M. Andi', 'TELEPON': '02148488888'})
print("Writing Done!")
Output :
jalankan kemudian jalan kan juga file parse_dic.py
Read File XML Menggunakan Python
Read File JSON Menggunakan Python
Read Write File Menggunakan Python
Berikut adalah cara read write menggunakan phyton
1. Buat direktori : file-io, lalu buat file text.txt dan bacafile.py.
file-io/
├── bacafile.py
└── text.txt
2. Setelah itu, buka file text.txt , kemudian isi dengan teks tersebut:
Belajar programming Phyton
Membaca file text dengan Phyton
3. Buka file bacafile.py kemudian tambahkan script :
3.1. Contoh 1 : List
# buka file
filetext = open("text.txt", "r")
# baca isi file
print filetext.readlines()
# tutup file
filetext.close()
Output berupa list, karena menggunakan method readlines().
# buka file
filetext = open("text.txt", "r")
# baca isi file
text = filetext.readlines()
# cetak baris pertama
print text[0]
# cetak baris kedua
print text[1]
# tutup file
filetext.close()
Hasil Output :
Belajar programming Phyton
Membaca file text dengan Phyton
# buka filefiletext = open("text.txt", "r")# baca isi filetext = filetext.readlines()# cetak isi file dengan perulanganfor teks in text:print teks# tutup filefiletext.close()
Output :
3.4. Contoh 4 : membaca semua file
# buka file
filetext = open("text.txt", "r")
# baca isi file
text = filetext.read()
# cetak isi file
print text
# tutup file
filetext.close()
Output :
4. Menulis File : tulisbio.py
4.1. Contoh 1 : Buat file
print "Program Biodata"
print "============="
# Ambil input dari user
nama = raw_input("Nama: ")
umur = input("Umur: ")
alamat = raw_input("Alamat: ")
# format teks
teks = "Nama: {}\nUmur: {}\nAlamat: {}".format(nama, umur, alamat)
# buka file untuk ditulis
filebio = open("biodata.txt", "w")
# tulis teks ke file
filebio.write(teks)
# tutup file
filebio.close()
Output :
File tercipta : biodata.txt
Ada dua method yang bisa kita gunakan untuk menulis file
- write(): parameternya teks (string)
- writelines(): parameternya teks dalam bentuk list.
teks = "Daftar Buah"
teks_list ["Apel", "Jeruk", "Anggur", "Duren"]
f = open("file.txt", "w")
f.write(teks)
f.writelines(teks_list)
5. Menyisipkan ( Append ) : insertbiodata.py
print "Program Biodata"
print "============="
# Ambil input dari user
nama = raw_input("Nama: ")
umur = input("Umur: ")
alamat = raw_input("Alamat: ")
# format teks
teks = "\nNama: {}\nUmur: {}\nAlamat: {}\n---".format(nama, umur, alamat)
# buka file untuk ditulis
filebio = open("biodata.txt", "a")
# tulis teks ke file
filebio.write(teks)
# tutup file
filebio.close()
Output :
Buka biodata.txt
6. Read Write File
print "Program Biodata"
print "=============="
# buka file untuk dibaca dan ditulis
filebio = open("biodata.txt", "r+")
teks = filebio.read()
# cetak isi file
print teks
# Ambil input dari user
nama = raw_input("Nama: ")
umur = input("Umur: ")
alamat = raw_input("Alamat: ")
# format teks
teks = "\nNama: {}\nUmur: {}\nAlamat: {}\n---".format(nama, umur, alamat)
# tulis teks ke file
filebio.write(teks)
# tutup file
filebio.close()
with open("dokumen.txt", "r") as dok:print dok.read()
8. Menggunakan Exception
try:
f = open("file.txt","r")
except IOError as err:
print "Terjadi kesalahan: {}".format(err)
output : jika terjadi errror maka akan ditampilkan pesan
Terjadi kesalahan: [Errno 2] No such file or directory: 'file.txt'
Membuat CRUD Menggunakan Spring Hibernate - IV [ Delete ]
Pada artikel ini merupakan lanjutan dari artikel : Membuat CRUD Menggunakan Spring Hibernate - I [ Read ]
Berikut adalah cara membuat CRUD menggunakan Spring Hibernate :
1. Tambahkan Method Save pada class BukuDAO.java
public void delete(int id);
2. Tambahkan method save() pada BukuDAOImpl.java
@Override
public void delete(int id) {
Buku buku = getBukuById(id);
hibernateTemplate.delete(buku);
}
3. Buat controller dari sebuah java class : DeleteController.java
package Controller;
import Dao.BukuDAO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.ui.ModelMap;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class DeleteController implements Controller{
private BukuDAO bukuDAO;
public void setBukuDAO(BukuDAO bukuDAO){
this.bukuDAO = bukuDAO;
}
@Override
public ModelAndView handleRequest(HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {
int id = Integer.parseInt(hsr.getParameter("id"));
bukuDAO.delete(id);
ModelMap map = new ModelMap();
map.addAttribute("allbuku", bukuDAO.getBuku());
return new ModelAndView("read", map);
}
}
4. Edit file dispatcher-servlet.xml
<bean name="/delete.htm" class="Controller.DeleteController">
<property name="bukuDAO" ref="BukuDAO"/>
</bean>
5. Tambahkan link pada file read jsp (/project-name/mapping-name)
<a href="/SpringHibernateCrud/delete.htm?id=${buku.id}">Delete</a>
6. Klik kanan project kemudian clean, lalu run
Membuat CRUD Menggunakan Spring Hibernate - III [ Update ]
Pada artikel ini merupakan lanjutan dari artikel : Membuat CRUD Menggunakan Spring Hibernate - I [ Read ]
Berikut adalah cara membuat CRUD menggunakan Spring Hibernate :
1. Tambahkan Method Save pada class BukuDAO.java
public Buku getBukuById(int id);
2. Tambahkan method save() pada BukuDAOImpl.java
@Override
public Buku getBukuById(int id) {
return hibernateTemplate.get(Buku.class, id);
}
3. Buat sebuah Controller dari “Java Class” : ByIdController.java
package Controller;
import Dao.BukuDAO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.ui.ModelMap;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class ByIdController implements Controller{
private BukuDAO bukuDAO;
public void setBukuDAO(BukuDAO bukuDAO){
this.bukuDAO = bukuDAO;
}
@Override
public ModelAndView handleRequest(HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {
int id = Integer.parseInt(hsr.getParameter("id"));
ModelMap map = new ModelMap();
map.addAttribute("buku", bukuDAO.getBukuById(id));
return new ModelAndView("update", map);
}
}
4. Tambahkan pada file “dispatcher-servlet.xml”
<bean name="/byid.htm" class="Controller.ByIdController">
<property name="bukuDAO" ref="BukuDAO"/>
</bean>
5. Edit file BukuDAO.java
public void updateBuku(Buku buku);
6. Implementasikan method tadi pada BukuDAOImpl.java
@Override
public void updateBuku(Buku buku) {
hibernateTemplate.merge(buku);
}
7. Buat sebuah controller dari “Simple Form Controller”, klik kanan package Controller --> Other --> Spring Framework --> Simple Form Controller --> lalu klik Next, Beri nama pada bagian “Class Name” kemudian klik Finish.
package Controller;
import Dao.BukuDAO;
import Model.Buku;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
public class UpdateController extends SimpleFormController {
private BukuDAO bukuDAO;
public void setBukuDao(BukuDAO bukuDAO) {
this.bukuDAO = bukuDAO;
}
public UpdateController() {
//Initialize controller properties here or
//in the Web Application Context
setCommandClass(Buku.class);
setCommandName("update");
//setSuccessView("successView");
//setFormView("formView");
}
@Override
protected void doSubmitAction(Object command) throws Exception {
throw new UnsupportedOperationException("Not yet implemented");
}
//Use onSubmit instead of doSubmitAction
//when you need access to the Request, Response, or BindException objects
@Override
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response,
Object command, BindException errors) throws Exception {
Buku buku = (Buku) command;
bukuDAO.updateBuku(buku);
ModelMap map = new ModelMap();
map.addAttribute("allbuku", bukuDAO.getBuku());
return new ModelAndView("read", map);
}
}
8. Buat file JSP, disini saya menamakannya update.jsp
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form:form method="POST" action="/SpringHibernateCrud/update.htm" commandName="update">
<table>
<tr>
<td>ID</td>
<td>:</td>
<td>
<input type="text" value="${buku.id}" disabled>
<input type="hidden" name="id" value="${buku.id}">
</td>
</tr>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type="text" name="nama" value="${buku.nama}"></td>
</tr>
<tr>
<td>Harga</td>
<td>:</td>
<td><input type="text" name="harga" value="${buku.harga}"></td>
</tr>
<tr>
<td colspan="3"><input type="submit" name="simpan" value="Simpan"></td>
</tr>
</table>
</form:form>
</body>
</html>
9. Tambahkan pada file “dispatcher-servlet.xml”
<bean name="/update.htm" class="Controller.UpdateController">
<property name="bukuDao" ref="BukuDAO"/>
<property name="formView" value="update"/>
<property name="successView" value="read"/>
</bean>
10. Tambahkan link pada halaman read file jsp
<
a
href
=
"/SpringHibernateCrud/byid.htm?id=${buku.id}"
>Update</
a
>
11. Clean project kemudian Run