Tutorial Lengkap Pemrograman PHP dan Database

php-logoBelajar pemrograman PHP memang gampang gampang susah. Gampangnya karena PHP sudah menyediakan banyak fitur termasuk koneksi database yang lengkap dan fungsi fungsi seperti mysql_query() atau mysql_fetch_array() adalah dua fungsi database yang paling sering kita temui di aplikasi PHP MySQL.

Walaupun fungsi PHP cukup lengkap untuk membuat aplikasi database, namun banyaknya jenis database yang berbeda juga memerlukan cara dan fungsi yang berbeda. Hal lain yang bikin ribet adalah perbedaan versi PHP serta fitur yang disertakan dalam seitap bundle PHP berbeda (misalkan antara XAMPP dan Wamp). Secara default bundle XAMPP atau sejenisnya juga hanya mengaktfikan dukungan ke satu database saja. Ditambah lagi level error reporting yagn berbeda beda juga membuat file php bisa berjalan lancar di satu server dan kadang error di server yang lain.

Masalah lain yang dihadapi bagi pemula di pHP adalah gaya koding PHP yang berbeda beda antar programer dan antar framework. Ini juga menyulitkan proses belajar bagi pemula. Hal ini belum ditambah lagi dengan kombinasi javacript dan jQuery kedalam aplikasi. Melihat permasalahan diatas, maka saya berencana membuat 11 tutorial yang terbagimenjadi dua bagian yaitu pemrograman database dengan PHP dan berbagai teknik pemrogramannya.

Teknik CRUD database di PHP

  1. Teknik CRUD php dengan MySQL
  2. Pemrograman PHP dengan MySQLi
  3. pemrograman database PHP dengan PDO
  4. Pemrograman database dengan ORM

Sementara itu, untuk teknik pemrogramannya adalah sebagai berikut

Teknik pemrograman di PHP

Teknik pemrograman struktural

Teknik ini mengacarkan teknik dasar pemrograman php yang sudah dilakukan selama tahun tahun. Teknik ini adalah teknik paling dasar dari PHP

Teknik pemrograman Prosedural

Teknik pemrograman dengan menyusun kode kedalam fungsi fungsi,  kemudian fungsi yang dibuat dipanggil di halaman yang membutuhkannnya. Teknik ini sedikit lebih baik daripada teknik struktural karena sudah mengenal prinsip guna ulang.

teknik pemrogaman OOP

Pemrograman berbasis Object. Teknik ini akan mengajarkan teknik membuat program PHP dengan menggunakan Class yang sangat berbeda dengan pendekatan struktural. OOP ini adalah basis dari semua library dan Framework PHP. Artinya, jika anda menguasai OOP maka mempelajari framework harusnya jauh lebih mudah.

teknik pemrograman MVC

MVC adalah model pemrograman yang memisahkan antara model (sumber data/struktur data), view( Tampilan/thema/visual) dan conroller( logika program). Jika anda memakai COdeIgniter, anda sudah memakai teknik ini.

Teknik pemrograman HMVC

Teknik ini adalah kelanjutan dari teknik MVC, pada teknik HMVC, modul dibuat dalam satu folder, berbeda dengan MVC murni yang justru meletakan kode program berdasarkan strukturnya , HMVC meletakan modul/komponen folder kedalam satu folder sehingga modul tersebut bisa dipakai di aplikasi lain dengan mudah.

Persiapan

Karena ini adalah pemrograman web,maka diharapkan anda sudah paham dengan HTML,CSS dan javascript. Selain itu diharapkan anda sudah menginstall XAMPP atau paket Apache, PHP dan MySQL.

Saya sendiri memakai OS Windows 8.1, XAMPP 1.8.3,editor Notepad++, IDE Aptana dan Interface aplikasi menggunakan twitter bootstrap 3. Namun demikian, anda tidak perlu sama persis seperti konfigurasi dikomputer saya. Jika script tidak berjalan, maka yang perlu anda perhatikan adalah konfigurasi php.ini. Materi konfigurasi php.ini bisa anda baca disini.

Tutorial Android JSON Webservice PHP MySQL

Artikel ini melanjutkan artikel sebelumnya tentang JSON. Dalam artikel sebelumnya telah dibahas tentang format JSON dan bagaimana membuat data JSON dari tabel MySQL dengan PHP. Dalam artikel ini, kita akan menampilkan data JSON tadi kedalam Listview seperti tampak dibawah ini.

Sekenario

Kita akan menampilkan data JSON ke dalam Listview. Jika item di klik maka akan menampilkan detail datanya.

Demo Webservice JSON Android PHP MySQL
Demo Webservice JSON Android PHP MySQL
Untuk membuat program ini minimal dibutuhkan 4 file yaitu

  1. event.java
  2. eventAdapter.java
  3. ListEventActivity.java
  4. EventDetailActivity.java

    Dari penamaannya saja, anda sudah paham masing masing file java diatas kan?Bagi yang belum memahami Custom listview, saya sarankan anda membaca artikel saya yang berjudul custom Listview sehingga anda paham dengan konsep customAdapter.

    Kode mengambil event dari server

    List<NameValuePair> params = new ArrayList<NameValuePair>();
    		JSONObject json = jParser.makeHttpRequest(VIEW_EVENT_URL, "GET", params);
    		Log.d("JSON", json.toString());
    		// when parsing JSON stuff, we should probably
    		// try to catch any exceptions:
    		try {
    			arrayevent = json.getJSONArray("list_event");
    
    			// looping through all posts according to the json object returned
    			for (int i = 0; i < arrayevent.length(); i++) {
    				JSONObject event = arrayevent.getJSONObject(i);
    				listevent.add(new
    				 Event(BitmapFactory.decodeResource(getResources(),
    				 R.drawable.jadwal), 
    				 event.getString("eventID"), 
    				 event.getString("judul"),
    				 event.getString("tanggal"),
    				 event.getString("jam"),
    				 event.getString("lokasi"))); // end of add					
    			}
    
    		} catch (JSONException e) {
    			e.printStackTrace();
    		}
    		

    menampilkan data di listview

    
    		EventAdapter adapter = new EventAdapter(this, listevent);
    		lvEvent.setAdapter(adapter);
    

    .

    mengaktifkan onItemClick

    lvEvent.setOnItemClickListener(new OnItemClickListener() {
    
    			@Override
    			public void onItemClick(AdapterView<?> parent, View view,
    					int position, long id) {
    
    				// getting values from selected ListItem
    				String eventID = ((TextView) view.findViewById(R.id.tveventID))
    						.getText().toString();
    
    				// Starting new intent
    				Intent in = new Intent(getApplicationContext(),
    						EventDetailActivity.class);
    				// sending idnama_kasus to next activity
    				in.putExtra("eventID", eventID);
    
    				// starting new activity and expecting some response back
    				startActivityForResult(in, 100);
    
    			}
    		});
    

    Perhatikan saat user mengklik listitem, eventID akan di kirim ke halaman EventDetailActivity
    Di halaman event detail activity, parameter eventID dipakai untuk mengambil
    data detail dari webservice dan menampilkannya di TextView

    Download source code

    Topik ini memang cukup komplek dan jika kode ditulis semua, maka artikel ini menjadi sangat panjang. Oleh karena itu, silahkan anda mendowload source codenya dan mencobanya sendiri. Download disini

    Happy Coding!