• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA

3.2 Perancangan

3.2.1 Flowchart Aplikasi Downloader Musik

Flowchart Aplikasi downloader musik dirancang unutk memudahkan user dalam melakukan unduhan musik.

Gambar 3.2 Flowchart Aplikasi Downloader Musik

share

Gambar 3.3 Flowchart Lanjutan Aplikasi Downloader Musik

share

Gambar 3.4 Flowchart Lanjutan Aplikasi Downloader Musik

3.4 Diagram Konteks

Diagram konteks adalah diagram yang mencakup masukan-masukan dasar, sistem umum dan keluaran, diagram ini merupkan tingkatan tertinggi dalam diagram aliran data dan hanya memuat satu proses, menunjukan sistem secara keseluruhan, diagram tersebut tidak memuat penyimpanan dan penggambaran aliran data yang sederhana, proses tersebut diberi nomor nol. Semua entitas

ekternal yang ditunjukan pada diagram konteks berikut aliran data-aliran data utama menuju dan dari sistem. Berikut gambar diagram konteks :

0. Sistem aplikasi downloader music

user

Menampilkan_menu Menampilkan_hasil_pencarian

Hasil download Hasil share

Memilih_menu Kata_kunci_pencarian

Download Share

Gambar 3.5. Diagram Konteks

3.5 Data Flow Diagram

Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas. DFD merupakan alat bantu dalam menggambarkan atau menjelaskan sistem yang sedang berjalan logis untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi. Tujuan dari flow diagram yaitu memberikan indikasi mengenai bagaimana data ditransformasikan pada saat data bergerak melalui sistem dan menggambarkan fungsi-fungsi yang mentransformasikan aliran data.

Komponen – komponen data flow diagram yaitu : entitas luar, proses penyimpanan data, dan arus data.

1.0 Pencarian Lagu

user Owplus

2.0 Download

Kata kunci pencarian Kata kunci pencarian

Hasil Pencarian Menampilkan Hasil Pencarian

Download

Proses mengambil lagu

Hasil download Menampilkan hasil

download

Gambar 3.6. Data Flow Diagram (DFD)

3.6 Perancangan Antar Muka (user interface)

Antarmuka (User Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka (User Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditentukan suatu solusi. Berikut adalah rancangan antarmuka pada aplikasi pembuatan musik downloader :

Gambar 3.5 Rancangan Aplikasi Splash Screen

Gambar 3.6 Rancangan Menu Utama Aplikasi Downloader Musik

Gambar 3.7 List Lagu Top Trending

Gambar 3.8 List Lagu New Single

Gambar 3.8 List Lagu Internasonal Hits

BAB IV

IMPLEMENTASI SISTEM

4.1 Pengertian Implementasi Sistem

Setelah dianalisis dan dirancang secara rinci dan teknologi telah diseleksi serta dipilih. Tiba saatnya, aplikasi untuk diimplementasikan. Implementasi sistem adalah langkah-langkah atau prosedur yang dilakukan dalam menyelesaikan desain aplikasi yang telah disetujui, untuk menguji, meng-install, dan memulai sistem baru atau aplikasi yang diperbaiki untuk menggantikan aplikasi yang lama, sedangkan tahap implementasi sistem merupakan tahap meletakan aplikasi agar siap dioperasikan.

Tahap impelementasi sistem terdiri dari langkah-langkah sebagai berikut, yaitu menerapkan rencana implementasi, melakukan kegiatan impelementasi, dan tindak lanjut implementasi. Implementasi Pembuatan Aplikasi Musik Downloader Menggunakan Android Studio ini dilakukan menggunakan bahasa pemograman Java, dan XML. Aplikasi Java, dan XML dijalankan pada Operating System Windows 10. Pada sistem ini pengakasesan sistem dibedakan menjadi dua bagian, yaitu bagian user, dalam bagian ini adalah user dapat menggunakan aplikasi secara penuh baik untuk melakukan download, share, dan search musik.

4.1.2 Implementasi Tampilan Antarmuka Pengguna

Implementasi dari aplikasi musik downloader terdiri dari beberapa form yang mempunyai kegunaan masing-masing.

a. Splashscreen

Splashscreen merupakan tampilan awal dari aplikasi musik downloader.

Berikut tampilan splashscreen :

Gambar 4.1 Tampilan Awal Aplikasi Musik Downloader

b. Menu Utama Aplikasi Musik Downloader

Pada Menu Utama terdapat 4 menu pilihan yang dapat dipilih oleh user yaitu menu Trending Top, New Single, International Hits, dan Indonesia Hits.

Gambar 4.2 Tampilan Awal Aplikasi Musik Downloader

c. Menu Top Trending

Pada Menu ini user dapat melakukan unduhan (download) dan share musik yang lagi trending.

Gambar 4.3 Tampilan Menu Top Trending

d. Menu Downloader Top Trending

Pada Menu ini user dapat melakukan unduhan (download) dan share musik yang lagi trending.

Gambar 4.4 Tampilan Download Menu Top Trending

e. Menu Download Succes

Musik yang telah berhasil didownload akan masuk ke perangkar handphone.

Gambar 4.5 Tampilan Download Menu Top Trending

f. Menu New Single

Pada Menu ini user dapat melakukan unduhan (download) untuk lagu-lagu terbaru.

Gambar 4.6 Tampilan Download Menu New Single

g. Menu Download

Jika seorang user ingin melakukan unduhan pada aplikasi. Maka user dapat menekan tombol download

Gambar 4.7 Tampilan Tombol Download

h. Menu Internasional Hits

Pada Menu ini user dapat melakukan unduhan (download) dan share musik untuk jenis lagu Internasional.

Gambar 4.8 Tampilan Menu International Hits

i. Menu Indonesia Hits

Pada Menu ini user dapat melakukan unduhan (download) dan share musik untuk jenis lagu Indonesia.

Gambar 4.8 Tampilan Menu Indonesia Hits

j. Menu Search

Pada Menu ini user dapat melakukan pencarian lagu. Yang berguna untuk memudahkan user mencari lagu yang diinginkan.

Gambar 4.9 Tampilan Menu pencarian lagu

k. Lanjutan Menu Search

Pada menu search user dapat melakukan pencarian lagu Internasional maupun lagu Indonesia.

Gambar 4.10 Tampilan Menu pencarian lagu lanjutan

l. Tampilan Jenis Lagu

Jika user melakukan pencarian lagu berdasarkan penyanyi, akan muncul beberapa jenis lagu yang dapat dipilih oleh user.

Gambar 4.11 Tampilan pencarian berdasarkan penyanyi

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Pembuatan aplikasi musik downloader ini memudahkan user untuk melakukan unduhan, sharing, dan pencarian lagu.

2. Pada aplikasi musik downloader terdiri dari 4 jenis lagu, yaitu Trending Top, New Single, Internasional Hits, dan Indonesia Hits.

3. User dapat melakukan pencarian lagu berdasarkan judul lagu atau berdasarkan penyanyi.

4. Untuk menjalankan aplikasi dibutuhkan koneksi ke internet

5.2 Saran

1. Diharapkan pengembangan aplikasi selanjutnya dapat menambahkan fitur-fitur lagu lebih lengkap.

2. Senantiasa menjaga dan memperbaharui aplikasi agar user tidak merasa bosan untuk melakukan downloader musik.

3. Kiranya aplikasi ini dapat digunakan secara optimal agar hasil yang diharapkan dapat terwujud.

DAFTAR PUSTAKA

Anisyah, 2000. Analisa dan Desain Sistem Informasi. Yogyakarta: Penerbit Andi.

Jogiyanto, H.M., 2005. Analisa dan Desain Sistem Informasi : Pendekatan Terstruktur Teori dan Praktik Aplikasi Bisnis, Yogyakarta : Andi.

Rizky Dhanta, 2009. Pengantar Ilmu Komputer, Surabaya:Indah.

Safaat, Naruddin. 2011. Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung:Informatika.

Septiadi, Nugraha, 2016. Perancangan Aplikasi Pemutar Musik Beserta Penampil Lirik Musik Berbasis Android, Semarang : Universitas Stikubank.

http://www.academia.edu, 2012, Pengertian dan Simbol Flowchart.

LAMPIRAN

List<IndexList> indexLists;

Context context;

public IndexAdapter(List<IndexList> indexLists, Context context) {

public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

View view =

public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {

IndexList indexList = indexLists.get(position);

final String titleSong, singerSong;

holder.download.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

AlertDialog.Builder builder = new

object.getString("m4aURL");

protected Map<String, String>

holder.share.setOnClickListener(new View.OnClickListener() {

by "+ singerSong +"\nKlik link ini untuk download\n\n"+urlDownloadCopy;

@Override

public int getItemCount() { return indexLists.size();

}

public class MyViewHolder extends RecyclerView.ViewHolder {

public IndexList(String singer, String songId, String title) {

public void setSinger(String singer) { this.singer = singer;

}

public String getSongId() { return songId;

}

public void setSongId(String songId) {

this.songId = songId;

public class MainActivity extends AppCompatActivity {

ProgressBar loading;

RecyclerView recyclerView;

Button reload;

ImageView imgSearch;

List<IndexList> indexLists = new ArrayList<>();

IndexAdapter indexAdapter;

LinearLayoutManager mLayoutManager;

String type;

TextView titleHeader;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

type = getIntent().getStringExtra("type");

loading = findViewById(R.id.loading);

recyclerView = findViewById(R.id.recyclerView);

reload = findViewById(R.id.reload);

imgSearch = findViewById(R.id.imgSearch);

titleHeader = findViewById(R.id.titleHeader);

imgSearch.setOnClickListener(new View.OnClickListener() {

recyclerView.setLayoutManager(mLayoutManager);

generateSongOne();

}else if(type.equalsIgnoreCase("two")){

generateSongTwo();

}else if(type.equalsIgnoreCase("three")){

generateSongThree();

}else if(type.equalsIgnoreCase("four")){

generateSongFour();

}

private void generateSongOne(){

loading.setVisibility(View.VISIBLE);

reload.setVisibility(View.GONE);

recyclerView.setVisibility(View.GONE);

StringRequest stringRequest = new

"Silahkan periksa jaringan internet anda!", Toast.LENGTH_SHORT).show();

indexLists.add(indexList);

RetryPolicy mRetryPolicy = new DefaultRetryPolicy(0, DefaultRetryPolicy.DEFAULT_MAX_RETRIES,

DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);

stringRequest.setRetryPolicy(mRetryPolicy);

}

private void generateSongTwo(){

loading.setVisibility(View.VISIBLE);

reload.setVisibility(View.GONE);

recyclerView.setVisibility(View.GONE);

StringRequest stringRequest = new

"Silahkan periksa jaringan internet anda!", Toast.LENGTH_SHORT).show();

RecyclerView.LayoutManager

RetryPolicy mRetryPolicy = new DefaultRetryPolicy(0, DefaultRetryPolicy.DEFAULT_MAX_RETRIES,

DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);

stringRequest.setRetryPolicy(mRetryPolicy);

}

private void generateSongThree(){

loading.setVisibility(View.VISIBLE);

reload.setVisibility(View.GONE);

recyclerView.setVisibility(View.GONE);

StringRequest stringRequest = new

StringRequest(Request.Method.POST,

"Silahkan periksa jaringan internet anda!", Toast.LENGTH_SHORT).show();

recyclerView.setItemAnimator(new

RetryPolicy mRetryPolicy = new DefaultRetryPolicy(0, DefaultRetryPolicy.DEFAULT_MAX_RETRIES,

DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);

stringRequest.setRetryPolicy(mRetryPolicy);

}

private void generateSongFour(){

loading.setVisibility(View.VISIBLE);

reload.setVisibility(View.GONE);

recyclerView.setVisibility(View.GONE);

StringRequest stringRequest = new

if(response.equalsIgnoreCase("") ||

"Silahkan periksa jaringan internet anda!", Toast.LENGTH_SHORT).show();

} catch (JSONException e) {

RetryPolicy mRetryPolicy = new DefaultRetryPolicy(0, DefaultRetryPolicy.DEFAULT_MAX_RETRIES,

DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);

stringRequest.setRetryPolicy(mRetryPolicy);

}

@Override

public void onRequestPermissionsResult(int requestCode,

@NonNull String[] permissions, @NonNull int[] grantResults) {

123);

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

classpath 'com.android.tools.build:gradle:3.1.2' delete rootProject.buildDir }

public class Search extends Activity {

EditText searchInput;

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.search);

searchInput = findViewById(R.id.inputSearch);

searchInput.requestFocus();

searchInput.setOnKeyListener(new View.OnKeyListener() {

import android.widget.ImageView;

public class SearchResult extends Activity { TextView valueSearch;

ImageView imgSearch;

RecyclerView recyclerView;

ProgressBar loading;

Button btnReload;

String searchValue;

List<IndexList> indexLists = new ArrayList<>();

IndexAdapter indexAdapter;

LinearLayoutManager mLayoutManager;

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.search_result);

searchValue = getIntent().getStringExtra("value");

valueSearch = findViewById(R.id.valueSearch);

imgSearch = findViewById(R.id.imgSearch);

loading = findViewById(R.id.loading);

recyclerView = findViewById(R.id.recyclerView);

btnReload = findViewById(R.id.reload);

if(searchValue.toUpperCase().length() > 20){

valueSearch.setText(searchValue.toUpperCase().substring(0, 20)+"..");

}else{

valueSearch.setText(searchValue);

}

mLayoutManager = new

LinearLayoutManager(getApplicationContext());

recyclerView.setLayoutManager(mLayoutManager);

btnReload.setOnClickListener(new View.OnClickListener() {

imgSearch.setOnClickListener(new View.OnClickListener() {

private void searchSong(final String query){

recyclerView.setVisibility(View.GONE);

loading.setVisibility(View.VISIBLE);

btnReload.setVisibility(View.GONE);

StringRequest stringRequest = new

"Silahkan cek koneksi internet anda!", Toast.LENGTH_SHORT).show();

}else{

public void onErrorResponse(VolleyError error) {

public class SplashScreen extends Activity { @Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.splash);

// This method will be executed once the

package="com.desi.mymusic">

<uses-permission

android:icon="@drawable/headphones"

android:label="@string/app_name"

android:roundIcon="@drawable/headphones"

android:supportsRtl="true"

android:theme="@style/AppTheme">

<activity android:name=".SplashScreen"

android:theme="@style/AppTheme.NoTitle">

<activity android:name=".MainActivity"

android:launchMode="singleTask"/>

<activity android:name=".Search"

android:launchMode="singleTask"

android:windowSoftInputMode="stateVisible"/>

<activity android:name=".SearchResult"

android:launchMode="singleTask"/>

<activity android:name=".Menu"

android:launchMode="singleTask"/>

</application>

</manifest>

Dokumen terkait