Aplikasi Kurir Mobile Android Sederhana Dengan Java

Aplikasi ini dibuat dengan alasan untuk memenuhi Tugas UAS pada MatKul Mobile Programming di STMIK ERESHA.

Assalamualaikum, diakhir semester 6 ini saya bikin app Kurir untuk Tugas UAS Matkul Mobile Programming. Dan seperti biasa, saya share dan post diwordpress sanbatakode.

oke, seperti biasa untuk penamaan projectnya yaitu nama + nim mahasiswa.
Project ini terdiri dari 4 activity, yaitu :
1. Menu utama (home)
2. New shipment
3. validate shipment (ini masih rancangan saja)
3. Check shipment
4. Info shipment

penjelasan singkat mengenai alur aplikasinya seperti berikut:
1. Kita pilih New shipment pada menu utama.
2. Lalu, akan muncul form input berupa data shipper dan receiver.
3. setelah semuanya diisi lengkap, kita click confirm button.
4. lalu akan muncul detail dan tarif, click validate. (ini masih rancangan saja ya)
5. tekan kembali untuk kemenu utama.
6. untuk check dan info berupa informasi data yang sudah diinput, karna berhubung aplikasi ini masih bahan belajar untuk saya, jadi hanya activity biasa saja.

Yah, karna alat dan tools yang saya punya (LAPTOP) itu pas pasan. jadi saya bikin yang simple saja.

berikut source code dan xml viewnya.

MainActivity.java

package com.nurhasan.uas_nurasan161011400130;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {
	
	Button newShipment;
	Intent intent;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		findViewById(R.id.btnNewShipp).setOnClickListener(this);
		findViewById(R.id.btnCheck).setOnClickListener(this);
		findViewById(R.id.btnInfo).setOnClickListener(this);
		
	}
	
	public void onClick(View v) {
		switch (v.getId()) {
			case R.id.btnNewShipp:
				intent = new Intent(this, NewShipmentActivity.class);
 	 	 	 	startActivity(intent);
				break;
			case R.id.btnCheck:
				intent = new Intent(this, CheckShipmentActivity.class);
				startActivity(intent);
				break;
			case R.id.btnInfo:
				intent = new Intent(this, InfoShipmentActivity.class);
				startActivity(intent);
				break;
			default:
				break;
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}

CheckShipmentActivity.java

package com.nurhasan.uas_nurasan161011400130;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class CheckShipmentActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_check_shipment);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.info_shipment, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}

NewShipmentActivity.java

package com.nurhasan.uas_nurasan161011400130;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;

public class NewShipmentActivity extends Activity {
	private Spinner shipperDistrict, receiverDistrict;
	private EditText shipperName, shipperPhone, shipperAddress;
	private EditText receiverName, receiverPhone, receiverAddress;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_new_shipment);
		
		shipperName = (EditText) findViewById(R.id.text_shippername);
		shipperPhone = (EditText) findViewById(R.id.text_shipperphone);
		shipperAddress = (EditText) findViewById(R.id.text_shipperaddress);

		receiverName = (EditText) findViewById(R.id.text_receivername);
		receiverPhone = (EditText) findViewById(R.id.text_receiverphone);
		receiverAddress = (EditText) findViewById(R.id.text_receiveraddress);		
		
		addItemOnSpinnerShipper();
	}

	public void addItemOnSpinnerShipper() {
		shipperDistrict = (Spinner) findViewById(R.id.spn_kec_shipper);
		receiverDistrict = (Spinner) findViewById(R.id.spn_kec_receiver);
		List<String> list = new ArrayList<String>();
		list.add("CIPUTAT");
		list.add("CIPUTAT TIMUR");
		list.add("PAMULANG");
		list.add("PONDOK AREN");
		list.add("SERPONG");
		list.add("SERPONG UTARA");
		
		ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, list);
		dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
		shipperDistrict.setAdapter(dataAdapter);
		receiverDistrict.setAdapter(dataAdapter);
	}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.new_shipment, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}

InfoShipmentActivity.java

package com.nurhasan.uas_nurasan161011400130;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class InfoShipmentActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_info_shipment);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.info_shipment, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}

XML File :

This slideshow requires JavaScript.

berikut screenshoot hasil run

seperti biasa, kalian bisa salin, modifikasi, dan gunakan script dan source code saya tersebut untuk belajar dan explore kemampuan coding dan programming kalian.
Terimakasih, Wassalamualaikum. See you on next post.

Face Recognition Dengan Python Menggunakan Library OpenCV

Assalamualaikum, pada kesempatan ini saya akan mem-Post mengenai Tugas matakuliah Kecerdasan Buatan. dan bidang yang saya ambil adalah Computer Vision.

Tugas ini dilakukan secara berkelompok, dan daftar anggota kelompok saya adalah

  1. Nurhasan (diriku sendiri)
  2. Yoga Prasetio
  3. Dony Septiandi

FYI, Face recognition itu sudah banyak dipakai sekarang, misalnya saat kita mau Unlock smartphone yang support menggunakan face recognition. moreless, aplikasi yang kami coba gunakan seperti itu, hanya saja ini menggunakan sebuah Gambar.

 

Jadi, ini hanya mendeteksi sebuah Face (wajah) pada sebuah gambar saja. It’s Simple memang. Dan saya menggunakan Python (yang saya pahami) dan menggunakan OpenCV. untuk referensinya kami ambil dari documentation OpenCV menggunakan python dan dari Realpython untuk source codenya.

untuk install library opencv caranya mudah, cukup dengan ketik reg spasi

Pip install opencv-python

bagi yang sudah terbiasa dengan python, perintah tersebut adalah command yang sering dipakai kalau mau install library. oh iya, untuk versi python yang digunakan adalah Python 3.6.

berikut source codenya :

import cv2

cascPath = "haarcascade_frontalface_default.xml"

faceCascade = cv2.CascadeClassifier(cascPath)

#nama file gambar
img = cv2.imread("BlackWidow-HawkEye.jpg")

#mengubah ke hitam putih
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = faceCascade.detectMultiScale(
	gray,
	scaleFactor=1.2,
	minNeighbors=5,
	minSize=(30,30),
)

#Membuat persegi diwajah
for (x, y, w, h) in faces:
    cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)

font                   = cv2.FONT_HERSHEY_SIMPLEX
textPosition		   = (100,250)
fontScale              = 1
fontColor              = (255,255,255)
lineType               = 2

#Menampilkan jumlah wajah yang ditemukan
cv2.putText(img,"Found {0} faces!".format(len(faces)), 
    textPosition, 
    font, 
    fontScale,
    fontColor,
    lineType)

cv2.imshow("Faces found", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Berikut hasil Run programnya:

Dari hasil run diatas. kalau wajah pada gambar tidak menghadap kedepan, maka opencv tidak bisa mendeteksinya. Oke, sekian postinganya. Dan seperti biasa, kalian bisa gunakan source code tersebut untuk belajar. Terimakasih, Wassalamualaikum.

Aplikasi Kuliner Makanan Mobile Android Sederhana dengan Java

Postingan ini sebagai salah satu tugas UTS Mahasiswa STMIK ERESHA pada Mata Kuliah Mobile Programming Semester 6.

Hallo Friends, semester 6 ini ada Matakuliah Mobile programming. Dan seperti biasa dengan Dosen yang sama ya itu Pak Agus Suharto, maka untuk Tugas dan Nilai UTS membuat project aplikasi dan diposting ke WordPress ini.

Untuk Toolsnya masih menggunakan Eclipse (saya pakai yang 2018-09 (4.9.0)), dan untuk Eclipse ini hanya bisa sampai Targetnya Lollipop atau android 5.1. Continue reading

Instalasi Slackware 14.2 untuk Server

Pada Seri Instal Linux yang pertama saya akan menggunakan Slackware versi 14.2 untuk dijadikan sebagai server. Proses dan tahapan instal saya lakukan dengan Host Slackware 14.2 Desktop dilaptop dan untuk versi servernya saya menggunakan Virtualbox.

Untuk Info tambahan, Slackware linux merupakan salah satu distribusi Linux tertua yang masih aktif dan menjadi base dari beberapa distribusi linux lainnya seperti Zenwalk, Porteus, Salix OS dan Slax (sampai versi Slax 7 ). Continue reading

Aplikasi Mini Perpus dengan VB.Net

Assalamualaikum, hai gan. Ane balik posting lagi nih, disemester 4 ini cuma bisa 2 postingan aja. beda sama semester lalu. But, it’s oke. Pada kesempatan ini, ane mau post tentang Tugas Uas Mata Kuliah Pemprograman 1.

Sama seperti pos sebelum ini,(liat postingan sebelumnya) programnya menggunakan VB.net dengan berbasis web menggunakan ASPX.net. Program saya tentang mini perpus untuk pinjam buku. Berikut daftar file aspxnya / vbnya .

Continue reading