Pemrograman Berorientasi Objek "Pengenalan JAVA"
-
Upload
asnita-meydelia-c-k -
Category
Education
-
view
363 -
download
0
description
Transcript of Pemrograman Berorientasi Objek "Pengenalan JAVA"
LAPORAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
Modul 1
Pengenalan Java I
UNTUK MEMENUHI TUGAS MATAKULIAH
PRAKTEK PEMROGRAMAN BERORIENTASI OBJEK
yang dibina oleh Bapak Azhar Ahmad Smaragdina, S.Pd, M.Pd
oleh :
Asnita Meydelia Catur K. (130533608143)
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MALANG
AGUSTUS 2014
1 S1 Pend. Teknik Informatika 2013 OFF E
TUJUAN
Tujuan dari praktikum PBO ini adalah untuk :
1. Mahasiswa mampu menginstalasi java beserta konfigurasinya
2. Mahasiswa mampu melakukan kompilasi dari program yang sudah dibuat.
3. Mahasiswa mampu mengidentifikasi struktur dasar dari program java.
4. Mahasiswa mampu membedakan antara lain: java literal, tipe data dasar, tipe data
variabel dan operator.
DASAR TEORI
1. Instalasi dan Konfigurasi
Instalasi Program
Jalankan setup program java (contoh = jdk-6u14-windows-i586.exe)
Muncul dialog awal instalasi JDK
2 S1 Pend. Teknik Informatika 2013 OFF E
Tekan Accept untuk menerima persetujuan lisensi dari Sun.
Pilih semua fitur yang kita inginkan pada langkah Custom Setup
Tekan next untuk melanjutkan. Perhatikan bahwa folder instalasi adalah di
C:\Program Files\Java\jdk1.6.0_05
Keluar progress dialog untuk instalasi JDK. Tunggu hingga selesai.
3 S1 Pend. Teknik Informatika 2013 OFF E
Setelah selesai melakukan instalasi JDK akan dilanjutkan dengan instalasi JRE seperti
terlihat pada gambar di bawah. Lanjutkan dengan mengklik tombol Next.
Akan keluar progress dialog untuk instalasi JRE.
Klik tombol Finish.
4 S1 Pend. Teknik Informatika 2013 OFF E
Konfigurasi
Set environment variable, %PATH%.
Klik Start pada sistem Windows Anda
Klik kanan icon My Computer, pilih Properties
Pada dialog System Properties
Klik tab Advanced | Environment Variables
Cari variable Path.
5 S1 Pend. Teknik Informatika 2013 OFF E
Pada bagian System variables dan klik Edit.
Tambahkan satu nilai pada Variable Value yaitu folder binary instalasi JDK. contoh =
C:\Program Files\Java\jdk1.6.0_05\bin
Perhatikan pada gambar bahwa antar satu path/folder yang satu dengan path yang lain
kita pisahkan dengan tanda titik koma (;)
Klik tombol OK
Selesai
Untuk memverifikasi apakah program java kita sudah terinstal dengan baik, maka kita
dapat mengecek versi java yang telah terinstal dengan cara masuk ke command prompt
(Windows+r > cmd). Kemudian kita ketikkan java –version atau javac –version. Maka
akan muncul versi program java yang terinstal di komputer kita.
2. Kompilasi Program
Untuk mengeksekusi sebuah program Java, maka terdapat langkah-langkah yang harus
dilakukan:
1) Masuk ke Command Prompt (Windows+R)
2) Masuk ke direktori tempat penyimpanan file.java
3) Ketikkan javac namafile.java
4) Apabila tidak terjadi eror, lanjutkan dengan mengetikkan java namafile untuk
menjalankan program java.
6 S1 Pend. Teknik Informatika 2013 OFF E
Struktur Dasar Program Java
public class HelloPTI{
public static void main(String []args){
System.out.println("Hello Pendtium...");
}
}
Baris pertama code public class HelloPTI menandakan nama class yaitu
HelloPTI. Dalam Java, semua code seharusnya ditempatkan di dalam deklarasi class.
Sebagai tambahan, class menggunakan access modifier public, yang mengidentifikasikan
class kita mempunyai akses bebas ke class lain dari package yang lain pula (package
merupakan kumpulan dari class-class).
Baris berikutnya yaitu kurung kurawal ({) menandakan awal blok. Setelah itu
pada baris selanjutnya terdapat code static void main(String []args) yang
mengindikasikan nama suatu method dalam class HelloPTI yang bertindak sebagai
method utama. Method utama adalah titik awal dari suatu program Java. Semua program
kecuali applet pada program Java dimulai dengan method utama. Sedangkan code
System.out.println(" ") digunakan untuk menampilkan teks yang diapit oleh tanda
double pute (“...”). Dua baris terakhir yang terdiri dari dua kurung kurawal menandakan
akhir dari blok method main dan secuah class.
Petunjuk penulisan program Java:
a. Program java yang dibuat harus selalu diakhiri dengan ekstensi namafile.java
b. Nama File seharusnya sesuai/sama dengan nama class public nya. Sebagai contoh,
jika nama class public Anda adalah Hello, Anda harus menyimpan file tersebut
dengan nama Hello.java
3. Operator dalam Pemrograman Java
Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi,
operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas
yang pasti sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih
dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
Berikut adalah dasar operator aritmatika yang dapat digunakan untuk membuat
suatu program dalam Java :
7 S1 Pend. Teknik Informatika 2013 OFF E
Bahasa Pemrograman Java mengidentifikasikan 8 tipe data primitif. Mereka
diantaranya adalah boolean, char, byte, short, int, long, double dan float.
Tipe data boolean diwakili oleh dua pernyataan yaitu true atau false. Tipe data
char (karakter) diwakili oleh satu unicode. Tipe data ini mempunyai ciri dimana dia harus
berada dalam single quote („..‟). Sedangkan String bukan merupakan tipe data primitif.
String mewakili tipe data yang terdiri dari beberapa karakter. String harus dituliskan
dalam tanda double quote (“ “).
Tipe-tipe data integral memiliki bentuk default int. Anda dapat mengubahnya ke
dalam bentuk long dengan menambahkan huruf L atau l. Tipe data integral memiliki
range sebagai berikut :
Tipe data floating point memiliki double sebagai tipe data defaultnya. Tipe data
floating point memiliki range sebagai berikut :
8 S1 Pend. Teknik Informatika 2013 OFF E
LATIHAN
1. Latihan 1
Nama Program : Struktur dasar penulisan program Java
Kode Program
Hasil Eksekusi
Deskripsi program :
1. Program ini merupakan program untuk menampilkan kalimat “Hello Pendtium”
2. Pada program ini menggunakan Kelas “HelloPTI” yang dideklarasikan
sebagai public yang bertujuan agar dapat diakses melalui compiler lain.
3. Method yang digunakan pada program tersebut adalah public static
void main (String []args){
4. Static pada method main berarti metodh main tidak mengubah atau
menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat
dikatakan berdiri sendiri dan tidak terikat dengan objek.
5. Dalam method main selalu menggunakan parameter String[] args, di
mana args hanyalah sebuah nama dari objek array dari String.
6. Progam ini memiliki objek yang dideklarasikan dengan list
“System.out.println(“Hello Pendtium”);”.
System.out.println disini berfungsi memanggil objek yang ada pada
system untuk ditampilkan.
9 S1 Pend. Teknik Informatika 2013 OFF E
Kesimpulan:
1. Program Java selalu memiliki Kelas, Method, dan Objek.
2. Kelas dapat dideklarasikan dengan menggunakan public class agar dapat
di compile dengan program lainnya.
3. Begitupula dengan Method, Method juga dapat dideklarasikan dengan
pernyataan public static void main(String []args)
4. Dalam method main selalu menggunakan parameter String[] args
5. Untuk menampilkan objek yang ada di dalam kelas dapat menggunakan list
“System.out.println”
2. Latihan 2
Nama Program : Contoh Perhitungan
Kode Program :
10 S1 Pend. Teknik Informatika 2013 OFF E
Hasil Eksekusi :
Deskripsi program :
1. Program ini merupakan program Aritmatika yang berisi perhitungan penambahan,
pengurangan, perkalian, pembagian serta modulus/sisa pembagian.
2. Pada program ini menggunakan Kelas “AritmatikaDemo” yang
dideklarasikan sebagai public yang bertujuan agar dapat diakses melalui
compiler lain.
3. Method yang digunakan pada program tersebut adalah public static void
main (String []args){
4. Static pada method main berarti metodh main tidak mengubah atau
menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan
berdiri sendiri dan tidak terikat dengan objek.
5. Dalam method main selalu menggunakan parameter String[] args, di mana
args hanyalah sebuah nama dari objek array dari String.
6. Progam ini memiliki objek yang mendeklarasikan angka yang akan dihitung.
7. Program ini juga menggunakan tipe data berupa int (untuk data-data angka yang
tidak mengandung angka dibelakang koma seperti i=37, j=42) dan double
(tipe data yang mempresentasikan data-data bilangan yang mengandung angka di
belakang koma seperti x=27.475, y=7.22).
8. Untuk melakukan perhitungan digunakan Operator Aritmatika, yaitu :
penambahan (+) , pengurangan (-), perkalian (*), pembagian (/), dan modulus (%)
11 S1 Pend. Teknik Informatika 2013 OFF E
Kesimpulan:
1. Program Java selalu memiliki Kelas, Method, dan Objek.
2. Kelas dapat dideklarasikan dengan menggunakan public class agar dapat di
compile dengan program lainnya.
3. Begitupula dengan Method, Method juga dapat dideklarasikan dengan pernyataan
public static void main(String []args)
4. Dalam method main selalu menggunakan parameter String[] args
5. Untuk menampilkan objek yang ada di dalam kelas dapat menggunakan list
“System.out.println”
6. Dalam Program terdapat tipe data, untuk bilangan bulat menggunakan tipe data
int sedangkan untuk bilangan Riil menggunakan tipe data double.
7. Dalam Perhitungan selalu menggunakan operator Aritmatika diantaranya
penambahan (+), pengurangan (-), perkalian (*), pembagian (/) serta modulus atau
sisa pembagian (%)
12 S1 Pend. Teknik Informatika 2013 OFF E
3. Latihan 3
Nama Program : Operator Relasi
Kode Program :
13 S1 Pend. Teknik Informatika 2013 OFF E
Hasil Eksekusi :
Deskripsi Program :
1. Program ini merupakan program Relasi yang akan membandingkan dua nilai.
Jika benar program akan menuliskan true dan apabila salah program akan
menuliskan false.
2. Pada program ini menggunakan Kelas “RelasiDemo” yang dideklarasikan
sebagai public yang bertujuan agar dapat diakses melalui compiler lain.
3. Method yang digunakan pada program tersebut adalah public static
void main (String []args){
4. Static pada method main berarti metodh main tidak mengubah atau
menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat
dikatakan berdiri sendiri dan tidak terikat dengan objek.
5. Dalam method main selalu menggunakan parameter String[] args, di
mana args hanyalah sebuah nama dari objek array dari String.
6. Progam ini memiliki objek yang mendeklarasikan angka yang akan dihitung.
7. Untuk mendeklarasikan angka tersebut, program ini juga menggunakan tipe
data berupa int karena data yang akan dihitung berupa bilangan bulat. Seperti
int i=37, int j=42, int k=42;
8. Untuk melakukan perbandingan digunakan Operator Relasi, yaitu : lebih besar
dari (>), lebih besar atau sama dengan (>=), lebih kecil dari (<), lebih kecil atau
sama dengan (<=), sama dengan (=), dan tidak sama dengan (!=).
14 S1 Pend. Teknik Informatika 2013 OFF E
Kesimpulan :
1. Program Java selalu memiliki Kelas, Method, dan Objek.
2. Kelas dapat dideklarasikan dengan menggunakan public class agar dapat
di compile dengan program lainnya.
3. Begitupula dengan Method, Method juga dapat dideklarasikan dengan
pernyataan public static void main(String []args)
4. Dalam method main selalu menggunakan parameter String[] args
5. Untuk menampilkan objek yang ada di dalam kelas dapat menggunakan list
“System.out.println”
6. Dalam Program terdapat tipe data, untuk bilangan bulat menggunakan tipe data
int.
7. Untuk membandingkan dua nilai dapat menggunakan Operator Relasi.
Operator Relasi tersebut diantaranya adalah lebih besar dari (>), lebih besar
atau sama dengan (>=), lebih kecil dari (<), lebih kecil atau sama dengan (<=),
sama dengan (=), dan tidak sama dengan (!=).
4. Latihan 4
Nama Program : Operator Kondisi
Kode Program :
Hasil Eksekusi :
15 S1 Pend. Teknik Informatika 2013 OFF E
Deskripsi Program :
1. Program ini merupakan program Perhitungan Score yang menggunakan
Operator Kondisi. Operator Kondisi tersebut akan mengevaluasi pernyataan
Benar atau Salah.
2. Dalam program ini menggunakan operator kondisi “if-else” . jika kondisi
bernilai benar, maka pernyataan-1 akan dikerjakan dan jika tidak memenuhi
syarat maka akan mengerjakan pernyataan-2”
3. Pada program ini menggunakan Kelas “operatorKondisi” yang
dideklarasikan sebagai public yang bertujuan agar dapat diakses melalui
compiler lain.
4. Method yang digunakan pada program tersebut adalah public static
void main (String []args){
5. Static pada method main berarti metodh main tidak mengubah atau
menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat
dikatakan berdiri sendiri dan tidak terikat dengan objek.
6. Dalam method main selalu menggunakan parameter String[] args, di
mana args hanyalah sebuah nama dari objek array dari String.
7. Program ini menggunakan tipe data int dan char karena objek nya berupa
angka/bilangan bulat dan huruf. Pendeklarasiannya adalah :
int score=0;
char answer='a';
8. Kemudian untuk mengetahui Score yang di hasilkan menggunakan list
if (answer=='a')
score=10;
else
score=0;
Jika jawaban “a” maka nilai=10, dan jika jawaban selain “a” maka nilai=0
16 S1 Pend. Teknik Informatika 2013 OFF E
Kesimpulan :
1. Program Java selalu memiliki Kelas, Method, dan Objek.
2. Kelas dapat dideklarasikan dengan menggunakan public class agar dapat
di compile dengan program lainnya.
3. Begitupula dengan Method, Method juga dapat dideklarasikan dengan
pernyataan public static void main(String []args)
4. Dalam method main selalu menggunakan parameter String[] args
5. Untuk menampilkan objek yang ada di dalam kelas dapat menggunakan list
“System.out.println”
6. Selain tipe data berupa int (bilangan bulat) juga terdapat tipe data char (tipe
data karakter)
7. Untuk mengevaluasi pernyataan Benar atau Salah di gunakan Operator
Kondisi. Operator Kondisi terdapat if, if-else, nested if, if-else majemuk dan
juga switc case.
17 S1 Pend. Teknik Informatika 2013 OFF E
TUGAS PRAKTIKUM
1. Tugas Praktikum 1
Nama Program : Program menghitung Luas Permukaan Kubus
Kode Program :
Hasil eksekusi :
Deskripsi program :
1. Program ini merupakan program untuk menghitung Luas Permukaan Kubus
yang menggunakan Operator Aritmatika.
2. Pada program ini menggunakan Kelas “LPkubus” yang dideklarasikan
sebagai public yang bertujuan agar dapat diakses melalui compiler lain.
3. Method yang digunakan pada program tersebut adalah public static
void main (String []args){
4. Static pada method main berarti metodh main tidak mengubah atau
menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat
dikatakan berdiri sendiri dan tidak terikat dengan objek.
5. Dalam method main selalu menggunakan parameter String[] args, di
mana args hanyalah sebuah nama dari objek array dari String.
18 S1 Pend. Teknik Informatika 2013 OFF E
6. Tipe data yang digunakan dalam program ini adalah tipe data int (tipe data
untuk bilangan bulat) untuk mendeklarasikan sisi kubus. Pendeklarasiannya
adalah :
int s=4;
7. Kemudian untuk menampilkan sisi kubus tersebut menggunakan list
System.out.println("s="+s);
8. Kemudian program menghitung Luas Permukaan Kubus dengan
menggunakan operasi Aritmatika 6*(s*s) dan langsung di tampilkan
hasilnya melalui syntax
System.out.println("Luas Permukaan Kubus");
System.out.println("L="+(6*(s*s)));
2. Tugas Praktikum 2
Nama Program : Program Konversi Suhu
Kode Program :
Hasil Eksekusi :
19 S1 Pend. Teknik Informatika 2013 OFF E
Deskripsi Program :
1. Program ini merupakan program Konversi Suhu yang menggunakan Operator
Aritmatika.
2. Pada program ini menggunakan Kelas “KonversiSuhu” yang
dideklarasikan sebagai public yang bertujuan agar dapat diakses melalui
compiler lain.
3. Method yang digunakan pada program tersebut adalah public static
void main (String []args){
4. Static pada method main berarti metodh main tidak mengubah atau
menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat
dikatakan berdiri sendiri dan tidak terikat dengan objek.
5. Dalam method main selalu menggunakan parameter String[] args, di
mana args hanyalah sebuah nama dari objek array dari String.
6. Tipe data yang digunakan dalam program ini adalah tipe data int (tipe data
untuk bilangan bulat) untuk mendeklarasikan suhu dalam satuan Celcius dan
menggunakan tipe data double (tipe data bilangan yang mengandung angka di
belakang koma / bilangan Riil) yang digunakan untuk mendeklarasikan suhu
dalam satuan Fahrenheit, Kelvin dan Reamur. Pendeklarasiannya adalah :
int celcius=78;
double reamur;
double farenheit;
double kelvin;
7. Kemudian untuk meng-konversi suhu dari Celcius ke satuan lainnya
menggunakan rumus
reamur=celcius+0.8;
farenheit=(celcius*1.8)+32;
kelvin=celcius+273;
8. Setelah suhu dalam Celcius di konversi ke satuan Reamur, Farenheit dan
Kelvin, suhu tersebut akan di tampilkan menggunakan syntax
System.out.println("Celcius = "+celcius);
System.out.println("Reamur = "+reamur);
System.out.println("Farenheit = "+farenheit);
System.out.println("Kelvin = "+kelvin);
20 S1 Pend. Teknik Informatika 2013 OFF E
TUGAS RUMAH
1. Tugas Rumah 1
Nama Program : Program Luas Selimut Tabung
Kode Program :
Hasil eksekusi :
Deskripsi program :
1. Program ini merupakan program menghitung Luas Selimut Tabung. Program ini
menggunakan Operator Aritmatika.
2. Pada program ini menggunakan Kelas “STabung” yang dideklarasikan sebagai
public yang bertujuan agar dapat diakses melalui compiler lain.
3. Method yang digunakan pada program tersebut adalah public static void
main (String []args){
4. Static pada method main berarti metodh main tidak mengubah atau
menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan
berdiri sendiri dan tidak terikat dengan objek.
5. Dalam method main selalu menggunakan parameter String[] args, di mana
args hanyalah sebuah nama dari objek array dari String.
21 S1 Pend. Teknik Informatika 2013 OFF E
6. Tipe data yang digunakan dalam program ini adalah tipe data int (tipe data
untuk bilangan bulat) untuk mendeklarasikan jari-jari tabung = r dan tinggi tabung
= t. Dalam program ini juga menggunakan tipe data double (tipe data bilangan
yang mengandung angka di belakang koma / bilangan Riil) yang digunakan untuk
mendeklarasikan phi = 3,14
Pendeklarasiannya adalah :
double phi=3.14;
int r=20;
int t=28;
7. Kemudian program akan menampilkan variabel-variabel yang telah di
deklarasikan tersebut
System.out.println("phi="+phi);
System.out.println("r="+r);
System.out.println("t="+t);
8. Setelah itu program akan menghitung serta menampilkan hasil untuk Luas
Selimut Tabung
System.out.println("Luas Selimut Tabung");
System.out.println("LS = 2*phi*r = "+((2*phi*r)*t));
22 S1 Pend. Teknik Informatika 2013 OFF E
2. Tugas Rumah 2
Nama Program : Program Data Diri / Biodata
Kode Program :
Hasil Eksekusi :
23 S1 Pend. Teknik Informatika 2013 OFF E
Deskripsi Program :
1. Program ini merupakan program Data Diri atau sering disebut dangan Biodata.
2. Pada program ini menggunakan Kelas “biodata” yang dideklarasikan sebagai
public yang bertujuan agar dapat diakses melalui compiler lain.
3. Method yang digunakan pada program tersebut adalah public static void
main (String []args){
4. Static pada method main berarti metodh main tidak mengubah atau
menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan
berdiri sendiri dan tidak terikat dengan objek.
5. Dalam method main selalu menggunakan parameter String[] args, di mana
args hanyalah sebuah nama dari objek array dari String.
6. Tipe data yang digunakan dalam program ini adalah tipe data string. String adalah
tipe data untuk teks yang merupakan gabungan huruf, angka, whitespace (spasi),
dan berbagai karakter. Tipe data String disini untuk mendeklarasikan Nama, NIM,
Tempat Lahir, Tanggal Lahir, serta Jenis Kelamin
Pendeklarasiannya adalah :
String nama = "Asnita Meydelia C K";
String NIM = "130533608143";
String tempat = "Kediri";
String tlahir = "30 Mei 1995";
String jkelamin = "P";
7. Kemudian program akan menampilkan data-data yang telah di deklarasikan
tersebut dengan syntax
System.out.println("Nama : "+nama);
System.out.println("NIM : "+NIM);
System.out.println("Tempat Lahir : "+tempat);
System.out.println("Tanggal Lahir : "+tlahir);
System.out.println("Jenis Kelamin : "+jkelamin);
24 S1 Pend. Teknik Informatika 2013 OFF E
KESIMPULAN
a. Program Java memiliki Struktur Kelas, Method, dan Objek.
b. Kelas dapat dideklarasikan dengan menggunakan public class agar dapat di compile
dengan program lainnya.
c. Begitupula dengan Method, Method juga dapat dideklarasikan dengan pernyataan public
static void main(String []args)
d. Dalam method main selalu menggunakan parameter String[] args
e. Untuk menampilkan objek yang ada di dalam kelas dapat menggunakan list
“System.out.println”
f. Literal merupakan suatu nilai yang dituliskan pada kode sumber Java. Literal pada java
dapat dibedakan menjadi :
Literal Bilangan
Literal Karakter
Literal Boolean
Literal String
g. Tipe data dasar yang terdapat pada Java diantaranya ;
Tipe bilangan Bulat (byte, short, int, dan long)
Tipe bilangan Titik Mengambang (float dan double)
Tipe data Karakter (char)
Tipe data Boolean (untuk menentukan True atau False)
h. Variabel merupakan sebuah tempat untuk menyimpan data. Bentuk Pendeklarasian
variabel yaitu : tipe namaVar. Setelah variabel di deklarasikan, variabel tersebut dapat
diberi nilai dengan cara melakukan inisialisasi. Inisialisasi tersebut dapat menggunakan
operator =. Penulisan inisialisasi variabel : variabel = nilai;
i. Dalam Java terdapat beberapa Operator yaitu ;
Operator Aritmatika
Operator penambahan dan pengurangan
Operator penugasan
Operator perbandingan
Operator Logika
Operator bit
25 S1 Pend. Teknik Informatika 2013 OFF E
DAFTAR RUJUKAN
1. Anonymous, Joe. 2013. Online : http://javaprogkomp.blogspot.com/2013/04/tipe-
data-dan-variabel-di-java.html. (diakses pada tanggal 01 September 2014, pukul
21:57)
2. Kadir, Abdul. 2003. Dasar Pemograman Java 2. Yogyakarta: Penerbit Andi.
3. Prasetyo, Didik Dwi. 2007. 150 Rahasia Pemrograman. Bojonegoro : PT. Elex Media
Komputindo.