I hope you understand the errors in my coding. I want to retrieve value from function "ambilKey()" to get the value for "hasilKey". "hasilKey" is the node of my firebase database structure.
MyPictureDatabaseFirebase:

MyPictureResultLog:

value -KkonCYNZV6BX5BmWUI not saved to variable "hasilKey". So, this code doesn't work: dbAmbilDataProduk=FirebaseDatabase.getInstance().getReference().child("DataBisnis").child(hasilKey).child("DataProduk").
public class IbuActivity extends AppCompatActivity {
private Fireb][1]aseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
private DatabaseReference mCekBisnis_Id;
private String nilaiBisnis="error";
private String hasilKey="error";
private RecyclerView mProdukList;
private DatabaseReference dbAmbilKeyPengguna;
private DatabaseReference dbAmbilDataProduk;
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ibu);
    Log.i("Aktivitas :","OnCreate");
    mAuth=FirebaseAuth.getInstance();
    cekAkunBisnis();
    //Retrieve Value hasilKey is my problem
    ambilKey();
    //Check Value
    Log.i("Result=",hasilKey);
    //Not working function ambilkey() ?????
    dbAmbilDataProduk=FirebaseDatabase.getInstance().getReference().child("DataBisnis").child(hasilKey).child("DataProduk");
    mProdukList=(RecyclerView) findViewById(R.id.ibuRvProduk);
    mProdukList.setHasFixedSize(true);
    mProdukList.setLayoutManager(new LinearLayoutManager(this));
}
private void ambilKey() {
    dbAmbilKeyPengguna=FirebaseDatabase.getInstance().getReference().child("DataPengguna").child(mAuth.getCurrentUser().getUid()).child("BisnisId");
    dbAmbilKeyPengguna.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            hasilKey=dataSnapshot.getValue(String.class);
            Log.i("ResultKeyAmbilKey=",hasilKey);
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.i("Pesan","DatabaseError");
        }
    });
}
@Override
public void onStart() {
    super.onStart();
    FirebaseRecyclerAdapter<AmbilDataProduk,ProdukViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<AmbilDataProduk, ProdukViewHolder>(
            AmbilDataProduk.class,
            R.layout.listprodukrow,
            ProdukViewHolder.class,
            dbAmbilDataProduk
    ) {
        @Override
        protected void populateViewHolder(ProdukViewHolder viewHolder, AmbilDataProduk model, int position) {
            viewHolder.setNamaProduk(model.getNamaProduk());
            viewHolder.setHargaProduk(model.getHargaProduk());
            viewHolder.setFotoProduk(getApplicationContext(),model.getFotoProduk());
        }
    };
    mProdukList.setAdapter(firebaseRecyclerAdapter);
}
public static class ProdukViewHolder extends RecyclerView.ViewHolder{
    View view;
    public ProdukViewHolder(View itemView) {
        super(itemView);
        view=itemView;
    }
    public void setNamaProduk(String namaProduk){
        TextView buNamaProduk=(TextView) view.findViewById(R.id.prowTvNama);
        buNamaProduk.setText(namaProduk);
    }
    public void setHargaProduk(String hargaProduk) {
        TextView kelolaHargaProduk=(TextView) view.findViewById(R.id.prowTvHarga);
        kelolaHargaProduk.setText("Harga : Rp."+hargaProduk);
    }
    public void setFotoProduk(final Context ctx, final String fotoProduk){
        final ImageView imageViewFotoProduk=(ImageView) view.findViewById(R.id.prowIvFoto);
        //Picasso.with(ctx).load(fotoProduk).into(imageViewFotoProduk);
        Picasso.with(ctx).load(fotoProduk).networkPolicy(NetworkPolicy.OFFLINE).into(imageViewFotoProduk, new Callback() {
            @Override
            public void onSuccess() {
            }
            @Override
            public void onError() {
                Picasso.with(ctx).load(fotoProduk).into(imageViewFotoProduk);
            }
        });
    }
}
//Cek Akun sudah Login Jika sudah login apakah sudah terdaftar / punya bisnis
private void cekAkunBisnis() {
    //CekAkunLogin
    if(mAuth.getCurrentUser()!=null){
        mCekBisnis_Id= FirebaseDatabase.getInstance().getReference().child("DataPengguna").child(mAuth.getCurrentUser().getUid()).child("BisnisId");
        mCekBisnis_Id.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                nilaiBisnis=dataSnapshot.getValue(String.class);
                //Cek sudah punya bisnis belum?
                if(!nilaiBisnis.equals("belumada")){
                    //Sudah ada
                }
                else if(nilaiBisnis.equals("error")){
                }
                else{
                    //Belum ada
                    Intent bisnisIntent=new Intent(IbuActivity.this, BisnisActivity.class);
                    //Data activitynya dilupakan
                    bisnisIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(bisnisIntent);
                    Toast.makeText(IbuActivity.this, "Selamat Datang. Silahkan Isi nama Bisnis Anda", Toast.LENGTH_SHORT).show();
                }
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {
                Toast.makeText(IbuActivity.this, "Database Error!!!", Toast.LENGTH_SHORT).show();
            }
        });
    }
    else{
        //User tidak ada
        Intent loginRegister=new Intent(IbuActivity.this, LoginRegister.class);
        loginRegister.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(loginRegister);
    }
}
//Membuat menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_tambahproduk, menu);
    return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if(item.getItemId()==R.id.actionTambahProduk){
        startActivity(new Intent(IbuActivity.this,KelolaProduk.class));
    }
    return super.onOptionsItemSelected(item);
}
}
 
     
    