3.4 Perancangan Sistem
3.4.5 Use Case Diagram
Tujuan pemodelan use case ini untuk mendapatkan dan menganalisis informasi persyaratan yang cukup untuk mempersiapkan model yang mengkomunikasikan apa yang diperlukan dari perspektif pengguna, tetapi bebas dari detail spesifik tentang bagaimana sistem akan dibangun dan diimplementasikan.
Adapun langkah-langkah pemodelan use case dalam penelitian ini adalah sebagai berikut :
Gambar 3.12 Use Case Package Sistem Pemesanan Tiket Bioskop Mobile
Keterangan gambar 3.12 :
Pengguna dari sistem adalah admin atau customer. Customer akan menggunakan sistem untuk memesan tiket melalui mobile device, sedangkan Admin bertanggung jawab untuk mengelola data pada website.
Gambar 3.13 Use Case Pemesanan Tiket pada Mobile Device
Keterangan gambar 3.13
Customer dapat melihat film yang sedang tayang dan memesan tiket bioskop, ataupun mengatur profile pribadi seperti pengubahan password dan melihat detail transaksi.
Gambar 3.14 Use Case Mengelola Data pada Website
Keterangan gambar 3.14 :
Admin dapat melakukan pengelolaan data pada website berupa pengelolaan data film dan bioskop, serta pengelolaan member.
3.4.6 Activity Diagram
Untuk menunjukkan aktifitas dari beberapa bagian dari struktur organisasi yang terlibat di dalam sistem. Didalam activity diagram ini terdapat tiga proses kegiatan sistem yang akan dirancang.
Berikut akan dijelaskan activity diagram proses sistem yang akan dirancang.
1. Cari Lokasi
Gambar 3.15 Activity Diagram Cari Lokasi
2. Activity Diagram Cari Film and Trailer Movie
Gambar 3.16 Activity Diagram View Movie and Trailer Movie
3. Melakukan Proses Beli Tiket Film
User Sistem
Input Judul FIlm
pilih kota
pilih bioskop
tentukan tanggal
Tentukan jam Simpan data pemesanan
Gambar 3.17 Activity Diagram Beli Ticket
4. Melakukan Pembayaran
Gambar 3.18 Activity Diagram Melakukan Pembayaran
3.4.7 Class Diagram
Untuk menunjukkan kelas-kelas objek dan hubungan yang terlibat dalam use case. Seperti DFD, class diagram adalah model logis yang berevolusi menjadi model fisik dan akhirnya menjadi sebuah sistem informasi yang berguna.
<<controller>>Window:Movie
Gambar 3.19 Class Diagram Ticketing System
3.4.8 Sequence Diagram
Diagram Sequence digunakan untuk menunjukkan komunikasi dinamis antara objek-objek selama eksekusi suatu pekerjaan (Pressman, 2010). Diagram Sequence menunjukkan urutan sementara dimana pesan-pesan dikirim diantara objek-objek untuk menyelesaikan pekerjaan tersebut. Diagram sequence dapat digunakan untuk menunjukkan interaksi-interaksi pada suatu use case atau pada suatu skanario dari suatu sistem perangkat lunak.
1. Melakukan Login
Gambar 3.20 Sequence Diagram Melakukan Login
Skenario 3.20 :
a. Admin membuka aplikasi dan memilih menu Login.
b. Asisten jaga mengisi username dan password
c. Dilakukan pengecekan kesesuaian data user dengan kata username dan password yang ada dalam database.
2. Melakukan Pencarian
Gambar 3.21 Sequence Diagram Melakukan Pencarian
Skenario 3.21 :
a. Admin membuka aplikasi dan memilih menu pencarian.
b. Jika admin ingin melakukan pencarian berdasarkan Product, maka : 1. Admin memilih kategori pencarian berdasarkan Product.
2. Admin mengisi Product yang ingin dicari.
3. Aplikasi menampilkan Product sesuai inputan admin.
c. Jika admin ingin melakukan pencarian berdasarkan Schedule, maka : 1. Admin memilih kategori pencarian berdasarkan Schedule.
2. Admin mengisi Schedule yang ingin dicari.
3. Aplikasi menampilkan Schedule sesuai inputan admin.
d. Jika admin melakukan pencarian berdasarkan SeatClass, maka : 1. Admin memilih kategori pencarian berdasarkan SeatClass.
2. Admin mengisi SeatClass yang ingin dicari.
3. Aplikasi menampilkan SeatClass sesuai inputan admin.
e. Jika admin melakukan pencarian berdasarkan Place, maka : 1. Admin memilih kategori pencarian berdasarkan Place.
2. Admin mengisi Place yang ingin dicari.
3. Aplikasi menampilkan Place sesuai inputan Admin.
3. Merubah Password
Gambar 3.22 Sequence Diagram Merubah Password
Skenario 3.22 :
a. Admin membuka aplikasi dan memilih menu Merubah Password.
b. Admin menginput password lama (Old Password), password baru (New Password) dan konfirmasi password baru (Confirm New Password).
c. Dilakukan pengiriman data ke database untuk dilakukan pengecekan password lama.
d. Jika password lama sesuai maka password lama diganti password baru.
4. Modifikasi Data
Gambar 3.23 Sequence Diagram Modifikasi Data
Skenario 3.23 :
a. Admin membuka aplikasi dan memilih menu Modifikasi Data.
b. Admin menginput data yang ingin dimasukkan berdasarkan kategori Product, Schedule, SeatClass, SeatPosition, dan Place.
c. Sistem mengecek kevaliditasan data yang dimasukkan.
d. Setelah data tersebut dinyatakan valid, sistem akan menyimpan dan menampilkan status pesan berhasil diubah.
BAB 4
PERANCANGAN DAN IMPLEMENTASI SISTEM
4.1 Pengertian Implementasi Sistem
Implementasi sistem adalah suatu proses untuk menempatkan sistem informasi baru ke dalam sistem yang sudah ada (sistem lama). Pada kesempatan ini saya akan membahas tahapan dalam melakukan implementasi sistem informasi. Ada 4 tahap dalam implementasi sistem, yaitu membuat dan menguji basis data dan jaringan, membuat dan menguji program, memasang dan menguji sistem baru, serta mengirim sistem baru ke dalam sistem lama.
Implementasi sistem adalah langkah-langkah atau prosedur-prosedur yang dilakukan dalam menyelesaikan desaian sistem yang telah disetujui, untuk menguji, menginstal dan memulai sistem baru atau sistem yang diperbaiki untuk menggantikan sistem yang lama. Implementasi yang telah sesuai harus diuji coba sehingga dapat diketahui kehandalan dari sistem yang ada telah sesuai dengan apa yang diinginkan.
Tujuan implementasi sistem ini adalah :
1. Menyelesaikan desain sistem yang ada dalam dokumen desain sistem yang disetujui, menyusun dokumen baru atau dokumen-dokumen yang diperbaiki.
2. Menulis, menguji dan mendokumentasikan program-program dan prosedur prosedur yang diperbaiki oleh desain sistem yang disetujui.
3. Memastikan bahwa user dapat mengoperasikan sistem baru.
4. Memperhitungkan bahwa sistem memenuhi permintaan user yaitu dengan menguji sistem secara menyeluruh.
5. Memastikan bahwa konversi sistem yang baru berjalan secara benar yaitu dengan merencanakan, mengontrol dan melakukan instalasi sistem baru secara benar.
4.2 Perancangan Sistem
Setelah analisis sistem dilakukan, selanjutnya membuat suatu tahap perancangan sistem. Dimana perancangan sistem digambarkan mengenai rancangan sistem yang akan dibangun sebelum dilakukan pengkodean kedalam suatu bahasa pemrograman. Dalam perancangan suatu sistem tidak terlepas dari analisis, karena dari hasil analisis sistem baru dapat dibuat suatu perancangan sistem.
4.3 Tujuan Perancangan Sistem
Tujuan dari pembuatan perancangan sistem ini adalah untuk mengatasi kekurangan-kekurangan yang ada pada sistem sebelumnya yang sedang berjalan sehingga dapat menghasilkan informasi yang lebih mudah didapatkan dalam menunjang proses penjualan tiket, efisien serta efektif.
4.4 Implementasi Tampilan Antarmuka Aplikasi
Implementasi antar muka berguna sebagai tampilan bagi pengguna sistem.
Tujuan implementasi tampilan Antarmuka Aplikasi ini adalah untuk menerapkan perancangan yang telah dilakukan terhadap sistem sehingga user dapat memberi masukan demi berkembangnya sistem yang telah dibangun.
Implementasi tampilan dari aplikasi terdiri dari beberapa form disetiap bagiannya. Form tersebut mempunyai fungsi-fungsinya sendiri. Form tersebut akan berjalan berurutan sesuai dengan sistem yang telah dibuat :
a. Splash Screen
Splash screen adalah tampilan pertama program yang muncul sementara sebelum masuk ke menu utama. Berikut tampilan Splash Screen Aplikasi :
Gambar 4.1 Tampilan Splash Screen
b. Form Login
Halaman login adalah tampilan awal ketika member memasuki aplikasi mobile pemesanan tiket bioskop. Halaman login terdapat dua buah textbox no.hp dan password. textbox no.hp berguna untuk memasukkan nomor hp member dan textbox password untuk memasukan password pengguna dan tombol login untuk memeriksa apakah member berhak menggunakan aplikasi ini. Jika login berhasil maka aplikasi akan menampilkan halaman menu.
Gambar 4.2 Tampilan Login
c. Form Daftar
Form daftar digunakan untuk User yang belum mempunyai akun untuk login ke Aplikasi. User yang ingin mendaftarkan diri harus mengisi beberapa data diri mereka yang kemudian akan tersimpan ke dalam database. Berikut Tampilan Form Daftar Aplikasi :
Gambar 4.3 Tampilan Daftar
d. Form Movie
Pada halaman ini user dapat melihat film, gambar, dan video dari suatu film.
Lalu juga terdapat deskripsi dari film tersebut, yang menjelaskan cerita singkat tentang film yang sedang ditayangkan, serta video trailer film yang menunjukkan pemutaran singkat film di bioskop tersebut. Berikut adalah tampilan layar halaman movie :
Gambar 4.4 Tampilan Layar Halaman Movie
e. Form About atau Tampilan Utama
Form about adalah tampilan awal Aplikasi setelah halaman movie yang berisi bagian-bagian utama untuk mengetahui keseluruhan isi Aplikasi. Dalam Form Menu Utama terdapat empat menu utama yaitu Menu Movie, Menu Ticket, Menu Rate, dan Menu Info. Berikut adalah tampilan menu utama :
Gambar 4.5 Tampilan Menu Utama
f. Form Menu Movie
Form Menu Movie untuk mengetahui jadwal film dan melakukan proses pemesanan. Pada halaman info movie terdapat dua yaitu Now Playing dan Coming Soon. Di menu Now Playing akan ditampilkan film-film yang sedang tayang pada saat itu, dan Coming soon adalah film yg akan segera tayang pada saat itu. Pada setiap film akan ditampilkan gambar, judul film, dan genre film. Member dapat memilih setiap film dengan menekan pada daftar film yang tersedia dan aplikasi akan menampilkan halaman yang berisi dari detail film yang dipilih oleh member. Berikut adalah tampilannya :
Gambar 4.6 Tampilan Form Menu Movie
g. Form Tampilan Tiket
Tampilan halaman tiket untuk mengecek pemesanan yang telah dilakukan oleh user sebelumnya dan sebagai tanda bukti pemesanan tiket pada proses pembayaran selanjutnya. Berikut adalah tampilan tiket tersebut :
Gambar 4.7 Tampilan Aplikasi Menu Tiket
h. Form Tampilan Rate
Tampilan halaman rate untuk user melakukan penilaian pelayanan kepada pihak bioskop dengan tiga pilihan kepuasan yaitu Puas, Biasa aja, serta Kurang Puas.
Berikut ini tampilan menu rate :
Gambar 4.8 Tampilan Menu Rate
i. Form Tampilan Info
Tampilan halaman info sebagai bantuan user dalam mengoperasikan aplikasi, agar tidak mengalami kesulitan saat menjalankannya. Berikut ini tampilan Menu Info Aplikasi :
Gambar 4.9 Tampilan Aplikasi Menu Info
j. Form Pemesanan
Pada halaman pesanan akan ditampilkan ketika member memilih jadwal film.
Halaman ini menampilkan denah dari studio film tersebut dan member dapat memilih tempat duduk yang ia inginkan. Tempat duduk yang sudah terisi akan ditandai sehingga member tidak dapat memilih kembali tempat duduk tersebut. Kemudian member dapat memilih pesan pada menu sehingga aplikasi akan menampilkan halaman detail pesanan.
Gambar 4.10 Halaman Pemesanan
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil pembahasan yang telah dilakukan dan berdasarkan hasil penelitian yang sudah dilakukan menghasilkan beberapa simpulan sebagai berikut :
1. Aplikasi pemesanan tiket bioskop mobile dapat mempersingkat waktu yang diperlukan untuk pemesanan tiket bioskop, sehingga aplikasi pemesanan tiket bioskop mobile yang telah dibuat dapat membantu calon pembeli untuk memesan tiket bioskop.
2. Aplikasi pemesanan tiket bioskop mobile dapat menampilkan denah tempat duduk sebuah studio/theater ketika melakukan proses pemesanan tiket bioskop, sehingga pengguna dapat secara langsung memilih nomor kursi yang pengguna inginkan.
3. Aplikasi pemesanan tiket bioskop mobile tidak hanya berguna untuk melakukan proses pemesanan tiket bioskop saja tetapi aplikasi ini juga dapat menampilkan informasi seperti lokasi bioskop, harga tiket setiap bioskop, menampilkan informasi film yang sedang ditayangkan, dan menampilkan informasi film segera tayang. Dengan ditampilkannya informasi yang lengkap calon pembeli dapat lebih mudah menentukan film apa yang pembeli ingin saksikan.
5.2 Saran
Berdasarkan hal-hal yang telah dicapai dalam pembuatan aplikasi ini, diperoleh beberapa saran yaitu :
1. Pada hari-hari libur nasional, tiket bioskop mengalami kenaikan harga.
Aplikasi yang telah dibuat belum menyediakan fitur penanganan terhadap kenaikan harga pada hari libur tersebut. Untuk ke depannya, sebaiknya aplikasi dikembangkan lagi sehingga pengguna dapat mengganti harga pada hari-hari tertentu dengan mudah.
2. Aplikasi yang dibuat hanya dapat berjalan pada system operasi android, sebaiknya aplikasi dikembangkan sehingga dapat digunakan oleh berbagai macam system operasi mobile lainnya.
3. Diharapkan adanya transaksi pembelian online langsung dengan melakukan pembayaran ke Bank dimana sistem sinkron langsung ketika pelanggan sudah melakukan proses pembayaran.
4. Pembuatan desain laporan pada aplikasi yang dibuat masih sederhana sehingga diharapkan laporan dapat dikembangkan menjadi lebih bagus.
5. Diharapkan aplikasi ini dapat diimplementasikan dengan baik sesuai dengan prosedur yang ada.
DAFTAR PUSTAKA
Akhmad Dharma Kasman.2015.Aplikasi Pemesanan Tiket Online Berbasis Web
Dan Android.Cirebon.CV.ASFA Solution
Bambang, H. (2003). Esensi-Esensi Bahasa Pemrograman Java.
Bandung: Informatika Bandung.
E. Kendall, Kenneth dan Julie, 2003, Analisis Sistem dan Perancangan Sistem, Penerbit PT. Prenhallindo, Jakarta.
Habibi G., dkk, 2012. Aplikasi Pemesanan Tiket Nonton Bioskop Berbasis Android. Jurnal Teknik Informatika, Vol.1, September 2012
Imbar, R.V. & S, Bernard Renaldy. (2006). Pemrograman Web Commerce dengan
Oracle & ASP Bandung: Informatika Bandung.
Jogiyanto HM., 2009, Analisis dan Desain Sistem Informasi, Penerbit Andi, Yogyakarta.
Kadir, A. (2004). Dasar Pemrograman Web Dinamis dengan JSP. ANDI.
Pugh, E., & Gradecki, J. D. (2004). Professional Hibernate. Wiley Publishing.
Rickyanto, I. (2004). Pemrograman Web dengan Java Servlet. ANDI
Suria O., 2013. Pembangunan Sistem Reservasi Film Dan Ruang Pada Bioskop Mini
Berbasis Web dan Android. Skripsi Teknik Informatika.
Tim EMS.2015.Pemrograman Android Dalam Sehari.Jakarta.PT.Elex Media.
Witono T. dan Susanto R., 2012. Aplikasi Pemesanan Tiket Bioskop Berbasis Mobile.
Jurnal Teknik Informatika, Vol.7, No.143, September 2012, 143-151.
Yakub. 2012. Pengantar Sistem Informasi.Yogyakarta : Graha ilmu.
LISTING PROGRAM
extends RecyclerView.Adapter<JadwalAdapter.ViewHolder> { Context context;
List<Jadwal> mValues;
OnJadwalClickedListener onJadwalClickedListener;
public JadwalAdapter(Context context, OnJadwalClickedListener onJadwalClickedListener, List<Jadwal> items) {
this.context = context;
mValues = items;
this.onJadwalClickedListener = onJadwalClickedListener;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.jadwal_row, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) { final Jadwal jadwal = mValues.get(position);
holder.studio.setText(""+jadwal.getStudio());
double amount = Double.parseDouble(jadwal.getHarga());
DecimalFormat formatter = new DecimalFormat("#,###");
holder.harga.setText(formatter.format(amount) + "\n/orang");
holder.jam.setText(jadwal.getJam());
holder.tanggal.setText(jadwal.getTanggal());
holder.mView.setOnClickListener(v -> {
public int getItemCount() { return mValues.size();
}
class ViewHolder extends RecyclerView.ViewHolder { View mView;
public interface OnJadwalClickedListener { void onJadwalClicked(Jadwal jadwal);
extends RecyclerView.Adapter<MoviesAdapter.ViewHolder> { Context context;
List<Movie> mValues;
OnMovieClickedListener onMovieClickedListener;
int view;
public MoviesAdapter(Context context, OnMovieClickedListener onMovieClickedListener, List<Movie> items,int view) {
this.context = context;
mValues = items;
this.view = view;
this.onMovieClickedListener = onMovieClickedListener;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext())
.inflate(this.view, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) { final Movie movie = mValues.get(position);
public class ViewHolder extends RecyclerView.ViewHolder { public View mView;
public ImageView mMovieImage;
public ViewHolder(View view) { super(view);
mView = view.findViewById(R.id.movie_grid_item);
mMovieImage = view.findViewById(R.id.movie_grid_item_image);
} }
public interface OnMovieClickedListener { void onMovieClicked(Movie movie);
import java.util.List;
public class SeatAdapter extends RecyclerView.Adapter<SeatAdapter.ViewHolder>
{
Context context;
List<Seat> mValues;
OnseatClickListener onMovieClickedListener;
public SeatAdapter(Context context, OnseatClickListener onMovieClickedListener, List<Seat> items) {
this.context = context;
mValues = items;
this.onMovieClickedListener = onMovieClickedListener;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.seat_layout, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) { final Seat seat = mValues.get(position);
holder.mSeat.setText(Utils.getSeatNumber(seat.getNumber()));
if(seat.isBooked()){
holder.mView.setOnClickListener(new View.OnClickListener() { @Override
@Override
public int getItemCount() { return mValues.size();
}
class ViewHolder extends RecyclerView.ViewHolder { View mView;
public interface OnseatClickListener { void onSeatClicked(int position);
extends RecyclerView.Adapter<TiketAdapter.ViewHolder> { Context context;
List<Tiket> mValues;
public TiketAdapter(Context context, List<Tiket> items) { this.context = context;
mValues = items;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.tiket_row, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) { final Tiket tiket = mValues.get(position);
holder.title.setText(tiket.getMovie());
holder.kursi.setText(tiket.getKursi());
holder.jam.setText(tiket.getJam());
holder.tanggal.setText(tiket.getTanggal());
holder.studio.setText(""+tiket.getStudio());
double amount = tiket.getHarga();
DecimalFormat formatter = new DecimalFormat("#,###");
holder.harga.setText("Rp. " + formatter.format(amount));
}
@Override
public int getItemCount() { return mValues.size();
}
class ViewHolder extends RecyclerView.ViewHolder { TextView title;
import com.squareup.picasso.Picasso;
List<TrailerResult> mValues;
OnMovieClickedListener onMovieClickedListener;
public TrailerAdapter(Context context, OnMovieClickedListener onMovieClickedListener, List<TrailerResult> items) {
this.context = context;
mValues = items;
this.onMovieClickedListener = onMovieClickedListener;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.trailer_row, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) { final TrailerResult trailerResult = mValues.get(position);
Picasso.get().load("https://img.youtube.com/vi/"+
trailerResult.getKey() + "/mqdefault.jpg") .into(holder.mMovieImage);
Log.d("tes","https://img.youtube.com/vi/"+ trailerResult.getKey() +
"/mqdefault.jpg");
holder.mView.setOnClickListener(v -> { if (onMovieClickedListener != null)
onMovieClickedListener.onMovieClicked(trailerResult);
});
holder.mTrailerText.setText(trailerResult.getName());
}
@Override
public int getItemCount() { return mValues.size();
}
class ViewHolder extends RecyclerView.ViewHolder { View mView;
}
public interface OnMovieClickedListener { void onMovieClicked(TrailerResult result);
}
public static final String server = "http://rockerdx.online/";
//public static final String server_testing =
"http://192.168.1.189:80/android_api/";
private static TiketApiInterface sMasharaService;
public static TiketApiInterface getTiketApiClient() { if (sMasharaService == null) {
OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.connectTimeout(2, TimeUnit.MINUTES);
httpClientBuilder.readTimeout(2, TimeUnit.MINUTES);
httpClientBuilder.writeTimeout(2, TimeUnit.MINUTES);
if (BuildConfig.DEBUG) {
sMasharaService = retrofit.create(TiketApiInterface.class);
}
return sMasharaService;
}
public interface TiketApiInterface { @FormUrlEncoded
@POST("login.php")
Call<UserResponse> authenticate(@Field("email") String email,
@Field("password") String password);
@FormUrlEncoded @POST("register.php")
Call<UserResponse> registration(@Field("email") String email,
@Field("password") String password, @Field("name") String name);
}
private static String TAG = SessionManager.class.getSimpleName();
// Shared Preferences SharedPreferences pref;
Editor editor;
Context _context;
// Shared pref mode int PRIVATE_MODE = 0;
// Shared preferences file name
private static final String PREF_NAME = "RockerLogin";
private static final String KEY_IS_LOGGEDIN = "isLoggedIn";
private static final String KEY_NAME = "nameUser";
private static final String KEY_EMAIL = "emailUser";
private static final String KEY_IMAGE = "imageUser";
public SessionManager(Context context) { this._context = context;
pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
editor = pref.edit();
}
public String getId(){
return pref.getString(KEY_EMAIL,"null");
}
public String getImage(){
Log.d("tes","get image from " + getId());
return pref.getString(getId(),"null");}
public void setImage(String image){
editor.putString(getId(), image);
Log.d("tes","set image from " + getId());
Log.d("Tes","imageset" + image);
editor.commit();
}
public void setLogin(boolean isLoggedIn,String name,String hp,String image) {
editor.putBoolean(KEY_IS_LOGGEDIN, isLoggedIn);
saveData(name,hp);
public void setLogin(boolean isLoggedIn) {
editor.putBoolean(KEY_IS_LOGGEDIN, isLoggedIn);
editor.commit();
Log.d(TAG, "User login session modified!");
}
public boolean isLoggedIn() {
return pref.getBoolean(KEY_IS_LOGGEDIN, false);
}
private void saveData(String name,String email){
editor.putString(KEY_NAME, name);
temp.setName(pref.getString(KEY_NAME,"Unknown"));
temp.setEmail(pref.getString(KEY_EMAIL,""));
temp.setImage(pref.getString(KEY_IMAGE,""));
return temp;
import android.graphics.drawable.ColorDrawable;
public static String LOG_TAG = "rocker";
public static void animateBackground(final View view, int colorTo, int duration){
ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), color, colorTo);
colorAnimation.setDuration(duration); // milliseconds colorAnimation.addUpdateListener(animator ->
view.setBackgroundColor((int) animator.getAnimatedValue()));
colorAnimation.start();
}
public static String getSeatNumber(int pos){
int index =pos%10;
String[] seats = {"A","B","C","D","E","F","G","H","I","J"};
double x = pos/10;
return seats[index]+(int)x;
}
public static List<Movie> getComingSoon(){
List<Movie> movies = new ArrayList<>();
Movie movie = new Movie();
movie.setId("299536");
movie.setNamaMovies("Avengers: Infinity War");
movie.setBackdrop("/bOGkgRGdhrBYJSLpXaxhXVstddV.jpg");
movie.setPoster("/7WsyChQLEftFiDOVTGkv3hFpyyt.jpg");
movie.setOverview("As the Avengers and their allies have continued to protect the world from threats too large for any one hero to handle, a new danger has emerged from the cosmic shadows: Thanos. A despot of intergalactic infamy, his goal is to collect all six Infinity Stones, artifacts of
unimaginable power, and use them to inflict his twisted will on all of reality. Everything the Avengers have fought for has led up to this moment - the fate of Earth and existence itself has never been more uncertain.");
movie.setRating("8.3");
movie.setBackdrop("/3P52oz9HPQWxcwHOwxtyrVV1LKi.jpg");
movie.setPoster("/to0spRl1CMDvyUbOnbb4fTk3VAd.jpg");
movie.setOverview("Wisecracking mercenary Deadpool battles the evil and powerful Cable and other bad guys to save a boy's life.");
movie.setRating("7.6");
movie.setRelease("2018-05-15");
movies.add(movie);
movie = new Movie();
movie.setId("345940");
movie.setNamaMovies("The Meg");
movie.setBackdrop("/ibKeXahq4JD63z6uWQphqoJLvNw.jpg");
movie.setPoster("/xqECHNvzbDL5I3iiOVUkVPJMSbc.jpg");
movie.setOverview("A deep sea submersible pilot revisits his past fears in the Mariana Trench, and accidentally unleashes the seventy foot ancestor of the Great White Shark believed to be extinct.");
movie.setRating("6.3");
movie.setRelease("2018-08-09");
movies.add(movie);
movie = new Movie();
movie.setId("v");
movie.setNamaMovies("Mission: Impossible - Fallout");
movie.setBackdrop("/5qxePyMYDisLe8rJiBYX8HKEyv2.jpg");
movie.setPoster("/AkJQpZp9WoNdj7pLYSj1L0RcMMN.jpg");
movie.setOverview("When an IMF mission ends badly, the world is faced with dire consequences. As Ethan Hunt takes it upon himself to fulfil his original briefing, the CIA begin to question his loyalty and his motives. The IMF team find themselves in a race against time, hunted by assassins while trying to prevent a global catastrophe.");
movie.setRating("7.5");
movie.setRelease("2018-07-25");
movies.add(movie);
movie = new Movie();
movie.setId("284054");
movie.setNamaMovies("Black Panther");
movie.setBackdrop("/b6ZJZHUdMEFECvGiDpJjlfUWela.jpg");
movie.setPoster("/uxzzxijgPIY7slzFvMotPv8wjKA.jpg");
movie.setOverview("King T'Challa returns home from America to the reclusive, technologically advanced African nation of Wakanda to serve as his country's new leader. However, T'Challa soon finds that he is challenged for the throne by factions within his own country as well as without. Using powers reserved to Wakandan kings, T'Challa assumes the Black Panther mantel to join with girlfriend Nakia, the queen-mother, his princess-kid sister, members of the Dora Milaje (the Wakandan 'special forces') and an American secret agent, to prevent Wakanda from being dragged into a world war.");
movie.setRating("7.3");
public class Jadwal implements Parcelable { @SerializedName("id")
@Expose
private String id;
@SerializedName("harga") @Expose
private String harga;
@SerializedName("jam") @Expose
private String jam;
@SerializedName("tanggal") @Expose
private String tanggal;
@SerializedName("studio") @Expose
public void setTanggal(String tanggal) { this.tanggal = tanggal;
}
public Integer getStudio() { return studio;
}
public void setStudio(Integer studio) { this.studio = studio;
public void writeToParcel(Parcel dest, int flags) { dest.writeString(this.id);
public Jadwal() {
this.studio = (Integer) in.readValue(Integer.class.getClassLoader());
}
public static final Parcelable.Creator<Jadwal> CREATOR = new Parcelable.Creator<Jadwal>() { @SerializedName("data") @Expose
private List<Jadwal> data = null;
private List<Jadwal> data = null;