Wednesday, April 19, 2017

Han Fast Food Code

This is the java code

package id.co.blogspot.httphanpalmbridge.palmoilreport;

import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.text.NumberFormat;




import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {


    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
    }

    @Override    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.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();

        //noinspection SimplifiableIfStatement        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }


    /**     * This 3 methods are for burger     */

    int burgerQuantity = 1;

    /**     * This method is called when the plus button is clicked     */    public void plusBurger(View view) {
        if (burgerQuantity == 20) {
            Toast.makeText(this, "You cannot have more than 20 burgers", Toast.LENGTH_SHORT).show();
            return;
        }
        burgerQuantity = burgerQuantity + 1;
        displayQuantityBurger(burgerQuantity);
    }

    /**     * This method is called when the minus button is clicked     */    public void minBurger(View view) {
        if (burgerQuantity == 1) {
            Toast.makeText(this, "At least you have 1 burger", Toast.LENGTH_SHORT).show();
            return;
        }
        burgerQuantity = burgerQuantity - 1;
        displayQuantityBurger(burgerQuantity);
    }

    /**     * This method is called in plus min methode done, and update the number viewed in screen     */    private void displayQuantityBurger(int numberOfBurger) {
        TextView quantityTextView = (TextView) findViewById(R.id.numberBurgerText);
        quantityTextView.setText("  " + numberOfBurger);
    }


    /**     * This 3 methods are for coke     */

    int cokeQuantity = 0;

    /**     * This method is called when the plus button is clicked     */    public void plusCoke(View view) {
        if (cokeQuantity == 20) {
            Toast.makeText(this, "You cannot have more than 20 cokes", Toast.LENGTH_SHORT).show();
            return;
        }
        cokeQuantity = cokeQuantity + 1;
        displayQuantityCoke(cokeQuantity);
    }

    /**     * This method is called when the minus button is clicked     */    public void minCoke(View view) {
        if (cokeQuantity == 0) {
            Toast.makeText(this, "please check your quantity", Toast.LENGTH_SHORT).show();
            return;
        }
        cokeQuantity = cokeQuantity - 1;
        displayQuantityCoke(cokeQuantity);
    }

    /**     * This method is called in plus min methode done, and update the number viewed in screen     */    //    private void displayQuantityCoke(int numberOfCoke) {
        TextView quantityTextView = (TextView) findViewById(R.id.numberCokeText);
        quantityTextView.setText("  " + numberOfCoke);


    }

    /**     * This 3 methods are for fries     */

    int friesQuantity = 0;

    /**     * This method is called when the plus button is clicked     */    public void plusFries(View view) {
        if (friesQuantity == 20) {
            Toast.makeText(this, "You cannot have more than 20 fries", Toast.LENGTH_SHORT).show();
            return;
        }
        friesQuantity = friesQuantity + 1;
        displayQuantityFries(friesQuantity);
    }

    /**     * This method is called when the minus button is clicked     */    public void minFries(View view) {
        if (friesQuantity == 0) {
            Toast.makeText(this, "please check your quantity", Toast.LENGTH_SHORT).show();
            return;
        }
        friesQuantity = friesQuantity - 1;
        displayQuantityFries(friesQuantity);
    }

    /**     * This method is called in plus min methode done, and update the number viewed in screen     */    //    private void displayQuantityFries(int numberOfFries) {
        TextView quantityTextView = (TextView) findViewById(R.id.numberFriesText);
        quantityTextView.setText("  " + numberOfFries);


    }

    /**     * This 3 methods are for ice cream     */

    int iceQuantity = 0;

    /**     * This method is called when the plus button is clicked     */    public void plusIce(View view) {
        if (iceQuantity == 20) {
            Toast.makeText(this, "You cannot have more than 20 ice", Toast.LENGTH_SHORT).show();
            return;
        }
        iceQuantity = iceQuantity + 1;
        displayQuantityIce(iceQuantity);
    }

    /**     * This method is called when the minus button is clicked     */    public void minIce(View view) {
        if (iceQuantity == 0) {
            Toast.makeText(this, "please check your quantity", Toast.LENGTH_SHORT).show();
            return;
        }
        iceQuantity = iceQuantity - 1;
        displayQuantityIce(iceQuantity);
    }

    /**     * This method is called in plus min methode done, and update the number viewed in screen     */    //    private void displayQuantityIce(int numberOfIce) {
        TextView quantityTextView = (TextView) findViewById(R.id.numberIceText);
        quantityTextView.setText("  " + numberOfIce);


    }

    /**     * This method is called when Send Bill to Email button is clicked     */
    public void sendBill(View view) {


        CheckBox extraCheeseCheckBox = (CheckBox) findViewById(R.id.extra_cheese);
        boolean hasExtraCheese = extraCheeseCheckBox.isChecked();
        //if extra cheese check box checked, value is true on hasExtraCheese variable
        CheckBox takeAwayCheckBox = (CheckBox) findViewById(R.id.take_away);
        boolean hasTakeAway = takeAwayCheckBox.isChecked();
        CheckBox memberCheckBox = (CheckBox) findViewById(R.id.member);
        boolean hasMember = memberCheckBox.isChecked();


        //to get inputed character on text field and store it to customerName        EditText nameField = (EditText) findViewById(R.id.what_is_your_name);
        String customerName = nameField.getText().toString();


        double price = calculatePrice(hasExtraCheese, hasTakeAway, hasMember);
//        displayPrice(price);
        String priceMessage = createOrderSumary(price, hasExtraCheese, hasTakeAway, hasMember, customerName);


        Intent intent = new Intent(Intent.ACTION_SEND);
        //intent.setData(Uri.parse("mailto:")); // only email apps should handle this        //intent.putExtra(Intent.EXTRA_SUBJECT, "Just Java Coffee Order for : " + customerName);        //intent.putExtra(Intent.EXTRA_TEXT,priceMessage);        //   if (intent.resolveActivity(getPackageManager()) != null) {        //     startActivity(intent);        //}        intent.setData (Uri.parse("com.whatsapp"));
        intent.setPackage("com.whatsapp");
        intent.putExtra(Intent.EXTRA_TEXT, priceMessage);
        intent.setType("text/plain");
        if (intent.resolveActivity(getPackageManager()) != null) {
            startActivity(intent);
        }
        displayMessage(priceMessage);
    }

    /**     * Calculates the price of the order based on the current quantity.     * @return the price     */    private double calculatePrice(boolean extraCheese, boolean takeAway, boolean member) {
        double burgerPrice = 5;
        double cokePrice = 1;
        double friesPrice = 3;
        double icePrice = 0.7;

        if (extraCheese){
            burgerPrice += 1;
        }
        double totalBurger = burgerQuantity * burgerPrice;
        double totalCoke = cokeQuantity * cokePrice;
        double totalFries = friesQuantity * friesPrice;
        double totalIce = iceQuantity * icePrice;
        double totalOrder = totalBurger + totalCoke + totalFries + totalIce;
        if (takeAway){
        totalOrder += 0.5;
        }
        if (member) {
        totalOrder = totalOrder * 0.9;
        }
        return totalOrder;
    }
    private String createOrderSumary(double price, boolean extraCheese, boolean takeAway, boolean member, String name){
        String extraCheeseText;
        if (extraCheese = true){
            extraCheeseText = " YES ";
        }
        else{
            extraCheeseText = " NO ";
        }
        String takeAwayText;
        if (takeAway = true){
            takeAwayText = " YES ";
        }
        else{
            takeAwayText = " NO ";
        }
        String memberText;
        if (member = true){
            memberText = " YES ";
        }
        else{
            memberText = " NO ";
        }

        String message ="Name :" + name + "\n";
        message += "Added extra cheese?(add $1) " + extraCheeseText +"\n";
        message += "You want take away?(add $0.5) " + takeAwayText +"\n";
        message += "Already member?(discount 10%) " + memberText +"\n";

        message = message + "Burger $5 : " + + burgerQuantity + " pcs \n";
        message = message + "Coke $1: " + cokeQuantity + " pcs \n";
        message = message + "Fries $3: " + friesQuantity + " pcs \n";
        message = message + "Ice $0.7: " + iceQuantity + " pcs \n";

        message = message + "Total : $ " + price + "\n";
        message = message + "Thank you";
        return message;
    }
    /**     * This method displays the string message value on the screen.     */    private void displayMessage(String message) {
        TextView messageTextView = (TextView) findViewById(R.id.order_summary);
        messageTextView.setText(message);
    }
}


**********************************************

this is the xml code

<?xml version="1.0" encoding="utf-8"?>
<ScrollView    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent">

<RelativeLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    app:layout_behavior="@string/appbar_scrolling_view_behavior"    tools:context="id.co.blogspot.httphanpalmbridge.palmoilreport.MainActivity"    tools:showIn="@layout/activity_main">

    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/appName"        android:text="Han Fast Food"        android:layout_marginTop="50dp"        android:textAllCaps="true"        android:layout_marginLeft="16dp"        android:textSize="16sp"/>

    <TextView        android:id="@+id/menu"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@id/appName"        android:layout_marginTop="16dp"        android:text="Menu"        android:layout_marginLeft="16dp"        android:textAllCaps="true"/>
<LinearLayout        android:id="@+id/burgerLinearLayout"        android:layout_below="@id/menu"        android:orientation="horizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content">
    <TextView        android:layout_width="120dp"        android:layout_height="wrap_content"        android:id="@+id/burgerText"        android:backgroundTint="@color/colorAccent"        android:text="Burger"        android:layout_marginLeft="16dp"        android:textAllCaps="true"        />
    <Button        android:layout_width="50dp"        android:layout_height="wrap_content"        android:onClick="minBurger"        android:text="-" />


    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/numberBurgerText"        android:backgroundTint="@color/colorAccent"        android:text=" 1 "        android:layout_marginLeft="16dp"        android:textAllCaps="true" />

    <Button        android:layout_width="50dp"        android:layout_marginLeft="16dp"        android:layout_height="wrap_content"        android:onClick="plusBurger"        android:text="+" />
</LinearLayout>

    <LinearLayout        android:layout_below="@id/burgerLinearLayout"        android:id="@+id/cokeLinearLayout"        android:orientation="horizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content">
        <TextView            android:layout_width="120dp"            android:layout_height="wrap_content"            android:backgroundTint="@color/colorAccent"            android:text="Coke"            android:layout_marginLeft="16dp"            android:textAllCaps="true"            />
        <Button            android:layout_width="50dp"            android:onClick="minCoke"            android:layout_height="wrap_content"            android:text="-" />
        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:backgroundTint="@color/colorAccent"            android:text=" 0 "            android:id="@+id/numberCokeText"            android:layout_marginLeft="16dp"            android:textAllCaps="true" />
        <Button            android:layout_width="50dp"            android:onClick="plusCoke"            android:layout_marginLeft="16dp"            android:layout_height="wrap_content"            android:text="+" />
    </LinearLayout>
    <LinearLayout        android:layout_below="@id/cokeLinearLayout"        android:id="@+id/friesLinearLayout"        android:orientation="horizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content">
        <TextView            android:layout_width="120dp"            android:layout_height="wrap_content"            android:backgroundTint="@color/colorAccent"            android:text="Fries"            android:layout_marginLeft="16dp"            android:textAllCaps="true"            />
        <Button            android:layout_width="50dp"            android:onClick="minFries"            android:layout_height="wrap_content"            android:text="-" />
        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:backgroundTint="@color/colorAccent"            android:text=" 0 "            android:id="@+id/numberFriesText"            android:layout_marginLeft="16dp"            android:textAllCaps="true" />
        <Button            android:layout_width="50dp"            android:onClick="plusFries"            android:layout_marginLeft="16dp"            android:layout_height="wrap_content"            android:text="+" />
    </LinearLayout>
    <LinearLayout        android:layout_below="@id/friesLinearLayout"        android:id="@+id/iceLinearLayout"        android:orientation="horizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content">
        <TextView            android:layout_width="120dp"            android:layout_height="wrap_content"            android:backgroundTint="@color/colorAccent"            android:text="Ice Cream"            android:layout_marginLeft="16dp"            android:textAllCaps="true"            />
        <Button            android:layout_width="50dp"            android:onClick="minIce"            android:layout_height="wrap_content"            android:text="-" />
        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:backgroundTint="@color/colorAccent"            android:text=" 0 "            android:id="@+id/numberIceText"            android:layout_marginLeft="16dp"            android:textAllCaps="true" />
        <Button            android:layout_width="50dp"            android:onClick="plusIce"            android:layout_marginLeft="16dp"            android:layout_height="wrap_content"            android:text="+" />
    </LinearLayout>
    <LinearLayout        android:layout_below="@id/iceLinearLayout"        android:id="@+id/checkBoxLinearLayout"        android:orientation="vertical"        android:layout_width="match_parent"        android:layout_height="wrap_content">


        <CheckBox            android:layout_width="wrap_content"            android:id="@+id/extra_cheese"            android:layout_height="wrap_content"            android:text=" Extra Cheese "            />

        <CheckBox            android:layout_width="wrap_content"            android:id="@+id/take_away"            android:layout_height="wrap_content"            android:text=" Take Away "            />

        <CheckBox            android:layout_width="wrap_content"            android:id="@+id/member"            android:layout_height="wrap_content"            android:text=" Member "            />

        <EditText            android:layout_width="match_parent"            android:id="@+id/what_is_your_name"            android:layout_height="wrap_content"            android:inputType="textCapWords"            android:hint="Input Customer Name here"/>

        <Button            android:layout_width="wrap_content"            android:onClick="sendBill"            android:layout_height="wrap_content"            android:text="Send Bill to Email" />

        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:backgroundTint="@color/colorAccent"            android:text=" Order Summary : "            android:layout_marginLeft="16dp"            android:textAllCaps="true" />

        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/order_summary"            android:backgroundTint="@color/colorAccent"            android:text="..... "            android:layout_marginLeft="16dp"            android:textAllCaps="true" />



    </LinearLayout>


</RelativeLayout>
</ScrollView>

********************************************************************

Cheers ^^

Sunday, January 22, 2017

Review Nanas Honi Sunpride 2017 Jan 720



created by Mr.Han - www.hanpalmbridge.blogspot.com

Nanas Honi Sunpride 2017 Jan

Hi Guys



This time I made a review about pineapple that sold in modern market in Indonesia.



Hope you enjoy it



Cheers^^







 created by Mr.Han - www.hanpalmbridge.blogspot.com

Friday, December 25, 2015

Palm Tree harvest time

created by Mr.Han - www.hanpalmbridge.blogspot.com

Hi Bro!

Somebody asked me, what is the best time for harvesting palm oil, so that he can predict the price.


well, in Indonesia and Malaysia, harvesting for palm tree is everyday..
pardon me please?

yes im not typo..

Please imagine that huge number of oil come out from plantation. We need to deliver the fresh fruit buches everyday.

But yes, we have peak season, that is in March to June in 2015 and i think will remain the same on 2016.

will the price going down at that time of period? because of over supply? i guess so.

But the more important is the news at that period. News drive price better than any factor.

Cheers ^^


Friday, December 11, 2015

If all you need is a Big Swing

When you get challenge from company to build or open new market in the new area, what would you do?

Basicly 3 realistic options are a head.

1. Reject that challenge
2. Accept with non agresive action plan
3. Give them the biggest swing

Lets talk about the 3rd option

BIG SWING

1. Doing the market research, and make sure the demand is there by proven data
2. Doing the project planning, completed with how much investment, people, time, and support needed.
3. Present your proposal, and if it approved, then you need to work on it.
4. You need to achieve the nearest and visible goal in 3 months, and improve the achievement every 3 months.
5. Don't look back, look forward and focus. Give everything you have.

Success will be only state of mind

Cheers 🍻

Tuesday, December 8, 2015

4P now become 4C in Marketing ?

This afternoon I have been told that big company never use 4P anymore.

Instead they use:

Product --> Customer
Price --> Cost
Promotion --> Communication
Place --> Convenient

Customer is our new form of product. Anything we have that might be make our customer satisfy are becoming our products. We sell them to our customers.

Talk further about pricing will direct to the price war. Therefore we should go deep to minimize our cost. But not only that, cost and communication have a great relationship with perseption.

How we put the perseption correctly can result better cost and better communication.

In the end, place nowadays have become anywhere and anyhow that can create convenient to customers.

By the way this 4C also applied to how company interact with their employees.

Cheers^^

Friday, November 13, 2015

Thursday, November 12, 2015

Saturday, June 27, 2015

RBDPO - RBD Palm Oil

Palm Oil is the first derivative product come out from the CPO process.
Yield around 94%, the rest is PFAD at 5% yield.

Yield can be vari based on quality of CPO.

Palm oil after production is liquid, but if you put in cool room under 25 celciuss, it will start to form cloud crystal.
The quality is still the same, only form is changed.

Palm oil is widely use as raw material of shortening, margarine, condense krimer, soap, etc.

Pricing of palm oil consider very close to cpo price since they have very close relation (94% of cpo is palm oil).

Cheers^^

Hydrogenated Palm Stearin

Simply understanding of hydrogenated palm stearin is rbd palm stearin get mixed with hydrogen, so the melting point is lower than normal, and it makes the shape very very solid and hard as rock.

HPS is used in oleochemical industry to make a lot of products such as food, personal care, etc


HPS delivery should using isotank with heater, otherwise your tank will become rock :)

Locally in Indonesia, not many plant make this product.

Price consider very competitive to import product.

Cheers^^

Powder Fat Optima 100

Powder fat from its name mean fats (from vegetables) in powder form.

Main ingredients is rbd palm stearin.
Process with physical processing machine, added some anitoxidant such as lechitine, aging time around 3 days - 5 days.


Powder fats pieces not really small, around 1mm diametre.

Application of this optima 100 (powder fat without lechitine) is for cow and lamb feed combination.
It provides energy to them.

Pricing compared from product made in Malaysia still better.

Quality : Iso, Halal, Kosher, etc

Cheers ^^

Cocoa Butter Substitute ( CBS )

Dewasa ini banyak sekali produk makanan dan confectionary yang menggunakan bahan dasar coklat compound. 

Coklat compound kemudian akan di leleh kan dan diaplikasikan ke produk jadi sebagai coating, filling, maupun sebagai dressing.

Bahan coklat semakin hari semakin terbatas dan berharga tinggi, oleh karena itu, banyak bakers dan chocolatier mulai melirik bahan pengganti coklat.

Apichoc dan Apikote adalah 2 brand dari bahan pengganti coklat.
Penggunaan bahan ini sebagai pengganti coklat akan mengurangi banyak sekali cost namun memberikan hasil makanan yang sama enak dan sama indah nya.

Bahan baku Apichoc dan Apikote adalah minyak kelapa sawit, yang sudah dikenal luas sebagai minyak masak, mengandung banyak vitamin dan rendah kolesterol. Penggunaan nya aman, halal dan sesuai dengan standard RSPO.

Thursday, March 19, 2015

Market 19 Mar 2015

Mdex 19 Mar 2015 13.50
Apr 2201+6 ($598.4)
May 2205 +4 ($599.5)
Jun 2198 +4 ($597.6)
Jul 2189 +8 ($595.1)

Idr 12.990/13.000
Myr 3.6780/3.6790

PL = $627.5 +7.5
PO =$625 +7.5
PS =$620 
PFAD =$600 

Tender astra dumai 8635 dumai 

Ccno 12.800
Cpko 12.280

Wednesday, March 18, 2015

Market 18 Mar 2015

Mdex Open 18 Mar 2015 09.32
Apr 2145 -4 ($580.8)
May 2151 +3 ($582.4)
Jun 2141 +2 ($579.7)
Jul 2128 +3 ($576.2)

Idr 13.165/13.175
Myr 3.6930/3.6940

PL = $625 
PO =$622.5 
PS =$620 
PFAD =$600 

Tender astra dumai 8675 wd
Kumai 8592 rii

Monday, March 16, 2015

Market 16 Mar 2015

Mdex Open 16 Mar 2015 11.02
Apr 2188 -59 ($590.4)
May 2186 -62 ($589.8)
Jun 2177 -59 ($587.4)
Jul 2158 -51 ($582.3)

Idr 13.240/13.250
Myr 3.7060/3.7070

PL = $635 +2.5 (Rp 8407) per 13 mar 
PO =$632.5 +2.5 (Rp 8374)
PS =$630 -2.5 (Rp 8341)
PFAD =$605 -5 (Rp 8010)

bmd ended -36 -38 -37 (2199) H2215 L2172 = 50354 lots. oln apr 630/620 mj 620/612.50 jas 597.50/592.50 ond 590/585 cpo mar 607.50 apr 610/602.50 mj 615/607.50 jas 607.50 ond 600 WTI 44.40 -0.44 by MJ

Friday, March 13, 2015

Market 13 Mar 2015

Mdex Open 13 Mar 2015 11.02
Mar 
Apr 2234 -5 ($604.6)
May 2237 -6 ($605.7)
Jun 2226 -5 ($602.7)

Idr 13.190/13.200
Myr 3.6930/3.6940

PL = $635 -7.5 (Rp 8375)
PO =$632.5 -7.5 (Rp 8342)
PS =$635 -5 (Rp 8375)
PFAD =$610 -5 (Rp 8045)

Tender astra 8890 dumai wni ($612.7)
Ccno 12.850
Cpko 13.265
Curah 9250

Thursday, March 12, 2015

Market 12 Mar 2015

Mdex Open 12 Mar 2015 09.32
Mar 
Apr 2270 -8 ($615.6)
May 2268 -8 ($615.1)
Jun 2253 -9 ($611.0)

Idr 13.190/13.200
Myr 3.6870/3.6880

PL = $642.5 +0 (Rp 8475)
PO =$640 +0 (Rp 8440)
PS =$640 +2.5 (Rp 8440)
PFAD =$615 +5.0 (Rp 8110)

Tender astra 8875 dumai npl ($611.2)
Ccno?
Cpko?
Curah?